State space search

State space search is a process used in the field of computer science, including artificial intelligence (AI), in which successive configurations or states of an instance are considered, with the intention of finding a goal state with a desired property.

Problems are often modelled as a state space, a set of states that a problem can be in. The set of states forms a graph where two states are connected if there is an operation that can be performed to transform the first state into the second.

State space search often differs from traditional computer science search methods because the state space is implicit: the typical state space graph is much too large to generate and store in memory. Instead, nodes are generated as they are explored, and typically discarded thereafter. A solution to a combinatorial search instance may consist of the goal state itself, or of a path from some initial state to the goal state.

Representation

In state space search, a state space is formally represented as a tuple , in which:

  • is the set of all possible states;
  • is the set of possible action, not related to a particular state but regarding all the state space;
  • is the function that establish which action is possible to perform in a certain state;
  • is the function that return the state reached performing action in state
  • is the cost of performing an action in state . In many state spaces is a constant, but this is not true in general.

Examples of State-space search algorithms

According to Poole and Mackworth, the following are uninformed state-space search methods, meaning that they do not have any prior information about the goal's location.[1]

Some algorithms take into account information about the goal node's location in the form of a heuristic function[2]. Poole and Mackworth cite the following examples as informed search algorithms:

gollark: Yes. Also working: wscat, the node.js `ws` package's client, and Firefox on my phone; it's probably *somewhat* on Firefox's end, but I imagine it might be some weird interaction between the server and client.
gollark: As I said, if this is somehow a webserver issue, I'm hoping caddy 2 will fix it, so I'm reading the docs to prepare for an upgrade to that.
gollark: Its internal HTTP logs, which I figured out how to get it to dump, do appear to show it doing *something*, but I don't understand them enough to say what.
gollark: The really weird thing is that Firefox didn't actually seem to be *sending* any request or whatever for the websockets. Nothing appears in devtools, wireshark didn't show anything websocket-looking (although I am not very good at using it, I think it was working because it showed the regular HTTP requests), mitmproxy didn't say anything either, and the webserver logs don't show it.
gollark: I've decided to just update caddy and see if that helps, since I am a bit overdue for switching to v2.

See also

References

  • Stuart J. Russell and Peter Norvig (1995). Artificial Intelligence: A Modern Approach. Prentice Hall.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.