Search can be defined as the systematic examination of states to find the path from a root state to the goal state. The search space is defined as the set of possible states and the connecting operators.
For a problem to be solvable through search, it must be a well-defined problem:
1. It should have an initial state
2. Operators or successor functions must be present (for any state x returns s(x), the set of states reachable from x with one action)
3. A State space must be present (all states reachable from initial by any sequence of actions)
4. A Path must be identifiable (sequence through the state space)
5. A Path cost must be identifiable (function that assigns a cost to a given path. Cost of a path is the sum of the costs of individual actions along the path)
6. A Goal test must be identifiable (a test to determine if the goal state has been reached).
Leave a comment below if you found this explanation helpful.