Searching with Non-deterministic Actions: AND-OR search trees

 In some problem domains, actions can have non-deterministic effects, meaning that the outcome of an action is uncertain. In such cases, a search algorithm needs to reason about all possible outcomes of an action to determine whether it is a good choice or not.

AND-OR search trees are a common way to represent non-deterministic search problems. In an AND-OR search tree, the nodes represent states of the world, and the edges represent actions. Each action can have multiple outcomes, which are represented as children of the action node. An AND node represents a state in which all of its children must be satisfied, while an OR node represents a state in which at least one of its children must be satisfied.

To search an AND-OR search tree, we need to use a search algorithm that can handle both AND nodes and OR nodes. One such algorithm is called the alpha-beta pruning algorithm, which is an extension of the minimax algorithm used in game playing. The alpha-beta algorithm is a depth-first search algorithm that searches through the tree, keeping track of two values: alpha and beta. Alpha represents the best score that the MAX player can achieve at that node or above, while beta represents the best score that the MIN player can achieve at that node or above.

As the search proceeds, the alpha and beta values are updated based on the values returned by the child nodes. If the alpha value becomes greater than or equal to the beta value, then the search can be pruned, since we know that the parent node will never choose this branch. The alpha-beta algorithm can significantly reduce the search space of the AND-OR search tree, leading to faster search times

Comments

Popular posts from this blog

OpenSolaris and Linux virtual memory and address space structures

Tagged architectures and multi-level UNIX

Tying top-down and bottom-up object and memory page lookups with the actual x86 page translation and segmentation