<p>A successor function is a function that generates a next state from the current state, plus the choices that affect state changes. In e.g. the 8 queens problem, a state might be the location of 5 queens so far, the choice might be where to put the next queen, and the successor function would return the resulting state with 6 queens on the board.</p>

<p>Typically a solver will store/cache a current state, make a choice, and use the successor function to discover what the next state is. Then it may call the heuristic function on the next state and make a decision whether to continue that search deeper into the search tree (or recursion) or try another choice at the current state.</p>

CC BY-SA 4.0
2018-11-23T16:29:32.060Z
2018-11-23T16:29:32.060Z
Neil Slater
<p>In Constraint Satisfaction Problems (CSPs), a <a href="https://www.cpp.edu/%7Eftang/courses/CS420/notes/CSP.pdf#page=2" rel="nofollow noreferrer">state</a> is any data structure that supports</p>
<ul>
<li>a successor function,</li>
<li>a heuristic function, and</li>
<li>a goal test.</li>
</ul>
<p>In this context, what is a <em>successor function</em>?</p>

<terminology><definitions><search><constraint-satisfaction-problems>
What is a successor function (in CSPs)?
Abbas Ali
# What is a successor function (in CSPs)?

(Asked by: username_0 on 2018-11-23)

In Constraint Satisfaction Problems (CSPs), a [state](https://www.cpp.edu/%7Eftang/courses/CS420/notes/CSP.pdf#page=2) is any data structure that supports

* a successor function,
* a heuristic function, and
* a goal test.

In this context, what is a *successor function*?

**Tags:** terminology, definitions, search, constraint-satisfaction-problems


---

## 1 answers

### Answer by username_1 on 2018-11-23. Score: 1 | Accepted answer

A successor function is a function that generates a next state from the current state, plus the choices that affect state changes. In e.g. the 8 queens problem, a state might be the location of 5 queens so far, the choice might be where to put the next queen, and the successor function would return the resulting state with 6 queens on the board.

Typically a solver will store/cache a current state, make a choice, and use the successor function to discover what the next state is. Then it may call the heuristic function on the next state and make a decision whether to continue that search deeper into the search tree (or recursion) or try another choice at the current state.


---

