Introduction To Artificial Intelligence State Space Search: Gregory Adam
This document provides an introduction to state space search techniques used in artificial intelligence. It discusses blind state space searches like breadth-first search, depth-first search, and uniform cost search which explore the state space without using heuristics. It also discusses heuristic state space searches like ordered searching and A* search which use heuristics to guide the search. The document explains state space representations and algorithms for different search techniques.
Introduction To Artificial Intelligence State Space Search: Gregory Adam
This document provides an introduction to state space search techniques used in artificial intelligence. It discusses blind state space searches like breadth-first search, depth-first search, and uniform cost search which explore the state space without using heuristics. It also discusses heuristic state space searches like ordered searching and A* search which use heuristics to guide the search. The document explains state space representations and algorithms for different search techniques.
Gregory Adam Contents • Intro • Theory – State Space Search • Blind State Space Search ( 3 algorithms) • Heuristic State Space Search ( 2 algorithms) • Example
Most of the material used ( except the examples) comes from
“The Handbook of Artificial Intelligence – Volume I” (Avron Barr & Edward A Feigenbaum)
Introduction to Artificial Intelligence 2
What • Part of Computer Science concerned with designing intelligent computer systems • Systems exibiting the characteristics we associate with intelligence in human behaviour
Introduction to Artificial Intelligence 3
Areas • The areas are not distinct – most are interrelated • Problem Solving – Puzzles – Play games, eg chess – Symbolic integration of mathematical formulas – Some programs can improve their performance with experience • Logical reasoning – Prove assertions (theorems) by manipulating a database of facts • Language – Understanding of natural language – Translation – Eg Spelling checker • Programming – Write computer programs based on a description
Introduction to Artificial Intelligence 4
Areas – cont’d • Learning – Learning from examples • Expertise (aka Expert Systems) – User interacts with an Expert System via a dialogue – Expert feeds knowledge • Robotics and vision – Manipulate robot devices (mostly in industrial applications to perform repetitive tasks) – Recognize objects and shadows in visual scenes • Systems and languages – Time-sharing, list processing, and interactive debugging were developed in the AI research
Introduction to Artificial Intelligence 5
Search • Components of search systems – Database : describes the current task domain and the goal – Set of operators: transform one state to another – Eg in the 8 puzzle: UP, DOWN, LEFT, RIGHT – Control strategy : decides what to do next • Definition – Find a finite sequence of operators transforming the initial state to a goal state • Reasoning – Forward : Transform original state to a goal state – Backward: Transform a goal state to the original state
Introduction to Artificial Intelligence 6
Search • State Space and Problem Reduction – State space • An operator produces exactly one new state – Problem reduction • An operator produces a set of subproblems, each of which have to be solved • Eg – Tower of Hanoi – Integrate (f(x) + g(x)) dx » Integrate f(x) dx » Integrate g(x) dx » Add the results
Introduction to Artificial Intelligence 7
Search - problem representation • State Space: State space graph
Introduction to Artificial Intelligence 8
Search - problem representation • AND/OR Graph – Horizontally connected edges (here marked in red) represent AND nodes – For AND nodes, each of the nodes have to be solved – Eg • problem reduction • Games (eg chess)
Introduction to Artificial Intelligence 9
Search – Blind Search • The Blind search algorithms following • Breadth First Search • Depth First Search • Uniform Cost Search – Assume the State Space graph is a Directed Tree • The Heuristic search algorithms following • Ordered Search • A* An optimal search for an optimal solution – Assume the State Space graph is a General Graph
Introduction to Artificial Intelligence 10
Search • General graph consists of – Nodes or points – Arcs or edges connecting two nodes
Introduction to Artificial Intelligence 11
Search • Arcs can be – Undirected
or
– Directed
Introduction to Artificial Intelligence 12
Search • Undirected graph – Contains only undirected arcs • Directed graph or digraph – Contains only directed arcs • Mixed graph – Contains both directed and undirected arcs
Introduction to Artificial Intelligence 13
Search • In a directed graph (containing only directed arcs) • The indegree of a node – Is the number of arcs terminating in that node • The outdegree of a node – Is the number of arcs starting in that node
Introduction to Artificial Intelligence 14
Search • A Directed tree – Is an acyclic digraph • Which has one node called the root – The root node has indegree zero, and • All other nodes have indegree one
Introduction to Artificial Intelligence 15
Search – Blind State Space Search Breadth-First Search • Expands nodes in their proximity from the root (or start) node • Expands all nodes of depth n before expanding nodes of depth n+1 • Guaranteed to find the shortest possible solution
Introduction to Artificial Intelligence 16
Search – Blind State Space Search Breadth-First Search
Introduction to Artificial Intelligence 17
Search – Blind State Space Search Breadth-First Search - Algorithm 1. Put the start node on a list, called OPEN, of unexpanded nodes 2. If OPEN is empty, no solution exists 3. Remove the first node, n, from OPEN and put it in a list, called CLOSED, of expanded nodes 4. Expand node n. If it has no successors, go to (2) 5. Place all successors of n at the end of the OPEN list 6. If any of the successors of n is a goal node, a solution has been found. Otherwise go to (2)
Introduction to Artificial Intelligence 18
Search – Blind State Space Search Breadth-First Search - Algorithm Newly expanded nodes are added to the end of the list
Introduction to Artificial Intelligence 19
Search – Blind State Space Search Depth-First Search • Expands most recent (deepest) nodes first – Here abcdea first
Introduction to Artificial Intelligence 20
Search – Blind State Space Search Depth-First Search - Algorithm 1. Put the start node on a list, called OPEN, of unexpanded nodes 2. If OPEN is empty, no solution exists 3. Remove the first node, n, from OPEN and put it in a list, called CLOSED, of expanded nodes 4. Expand node n. If it has no successors, go to (2) 5. If the depth of node n is greater than the maximum depth, go to (2) 6. Place all successors of n at the beginning of OPEN list 7. If any of the successors of n is a goal node, a solution has been found. Otherwise go to (2)
Introduction to Artificial Intelligence 21
Search – Blind State Space Search Depth-First Search • Newly expanded nodes are added at the beginning of the list
Introduction to Artificial Intelligence 22
Search – Blind State Space Search Uniform Cost Search • The Breadth-First search can be generalized slightly to solve to problem of finding the cheapest path from a start node to a goal state • A non-negative cost is associated with each arc joining two nodes • The cost of a solution is then the sum of all the costs along the path
Introduction to Artificial Intelligence 23
Search – Blind State Space Search Uniform Cost Search
Introduction to Artificial Intelligence 24
Search – Blind State Space Search Uniform Cost Search - Algorithm 1. Put the start node on a list, called OPEN, of unexpanded nodes 2. If OPEN is empty, no solution exists 3. Select from OPEN a node i such that TotalCost(i) is minimum. If several nodes qualify choose i to be a goal node if there is one, otherwise choose among them arbitrarily. 4. Remove node i from OPEN and place it on a list CLOSED of expanded nodes 5. If node i is a goal node, a solution has been found 6. Expand node i, if it has no successors go to (2) 7. For each successor node j of I – Compute TotalCost(j) = TotalCost(i) + Cost(j) – Add node j to the OPEN list 8. Go to (2)
Introduction to Artificial Intelligence 25
Search – Blind State Space Search Uniform Cost Search • If we associate the cost of node i to node j with – -1 • the Uniform Cost Search becomes a Depth-First Search • Since TotalCost of the node = - Depth of the node –1 • the Uniform Cost Search becomes a Breadth-First Search • Since TotalCost of the node = Depth of the node
Introduction to Artificial Intelligence 26
Search – Blind State Space Search Bidirectional Search • The algorithms so far use forward reasoning, ie moving from the start node towards a goal node
• In some cases we could use backward reasoning, ie moving
from the goal state to the start state
Introduction to Artificial Intelligence 27
Search – Blind State Space Search Bidirectional Search • Forward and backward reasoning can be combined into a technique called bidirectional search • The idea is to replace a single search graph – which is likely to grow exponentially – by two smaller graphs – One starting from the initial state and searching forward – One starting from the goal state and searching backward The search terminates when the two graphs intersect
Introduction to Artificial Intelligence 28
Search – Blind State Space Search Bidirectional Search • A bidirectional version of the Uniform Cost Search, guaranteed to find the shortest solution path, is due to Pohl (1969, 1971) • Empirical data for randomly generated graphs expanded only ¼ as many nodes as unidirectional search
Introduction to Artificial Intelligence 29
Search – Limiting the search • The amount of time and space is critical to find a solution – Heuristics – Relaxing the requirement • Any (fast) solution, but not necessarily the best
Introduction to Artificial Intelligence 30
Search - Heuristics • In blind search the number of nodes can be extremely large – The order of expanding the nodes is arbitrary – Blind search does not use any properties of the problem being solved – Result is the combinatorial explosion • Information about a particular problem can help to reduce the search – The question then is: how to search the given space efficiently
Introduction to Artificial Intelligence 31
Search - Heuristics • Heuristic information – Additional information beyond that which is built into the state and operator definitions • Heuristic search – A search method using that heuristic information – Whether or not the method is foolproof • Most of the programs were written for a single domain – heuristics were closely intertwined in the program and not accessible for study and adaptation to new problems Introduction to Artificial Intelligence 32 Search - Heuristics • Heuristic search – Strategy to limit (drastically) the search for solutions in large problem spaces • Ways of using heuristic information – Which node(s) to expand first instead of expanding is a strictly depth-first or breadth-first manner – When expanding a node, decide which successors to generate instead of blindly generate all successors at one time – Which nodes not to expand at all (pruning)
Introduction to Artificial Intelligence 33
Search – Heuristics Ordered or Best-Fit Search • Addresses only the first point – Which node to expand first – Expands fully – The idea is to expand the node that seems most promising – The promise of a node can be defined in several ways • Estimate its distance to the goal node • Estimate the length of the entire path – In all cases the measure of promise of a node is estimated by calling an evaluation function
Introduction to Artificial Intelligence 34
Search – Heuristics Ordered or Best-Fit Search • The basic algorithm is given by Nilsson (1971) • The evaluation function f* is defined so that the more promising a node is, the smaller is the value of f* – Estimates its distance to the goal node
• The node selected for expansion is the one at
which f* is minimum • The search space is assumed to be a general graph Introduction to Artificial Intelligence 35 Ordered or Best-Fit Search - Algorithm 1. Put the start node s on a list called OPEN of unexpanded nodes. Calculate f*(s) and associate its value with node s 2. If OPEN is empty, exit with failure; no solution exists 3. Select from OPEN a node i such that f*(i) is minimum. If several nodes qualify choose i to be a goal node if there is one, otherwise choose among them arbitrarily. 4. Remove node i from OPEN and place it on a list CLOSED of expanded nodes 5. If i is a goal node, exit with success; a solution has been found
(continued on next slide)
Introduction to Artificial Intelligence 36
Ordered or Best-Fit Search - Algorithm 6. Expand node i 7. For each successor node j of i a. Calculate f*(j) b. If j is neither in list OPEN or list CLOSED, add it to OPEN. Attach a pointer back from j to its predecessor i c. If j was already on OPEN or CLOSED, compare the f* value just calculated with the previously calculated value d. If the new value is lower i. Substitute it for the old value ii. Point j back to i instead of to its previously found predecessor iii. If j was on the CLOSED list, move it back to OPEN 8. Go to (2)
Introduction to Artificial Intelligence 37
A* Optimal search for an optimal solution
• Ordered search looked only at the promise of the node, not
necessarily at the minimum cost or path • We can change f* slightly to find a minimum cost solution • f*(n) = g*(n) + h*(n) – g*(n) estimates the minimum cost of the start node to n – h*(n) estimates the minimum cost of n to the goal • h* – is the carrier of heuristic information – Should never overestimate the cost • h*(n) <= h(n)
Introduction to Artificial Intelligence 38
Example – Breadth-First Search • Given a number of amounts, try to find a combination of amounts that matches another amount • Example – We have 10, 20, 30, 40, ….., 100 – Find all combinations that produce eg 120 • We use Breadth-First search, ie find first those with a minimum of depth – more likely
Introduction to Artificial Intelligence 39
Total number of combinations
Introduction to Artificial Intelligence 40
Heuristics • Heuristic information – Sort amounts in ascending sequence – For each index • Calculate minimum sum ahead • Calculate maximum sum ahead • Heuristic search – Prune as soon as possible
Introduction to Artificial Intelligence 41
Heuristics • Construction of Min/Max sum ahead
Introduction to Artificial Intelligence 42
Heuristics
Introduction to Artificial Intelligence 43
Heuristics • Formula to calculate how many nodes are going to be pruned
Introduction to Artificial Intelligence 44
Heuristics • Sign Reversal : try to prune as early as possible • Decrease the gaps between minimum sum ahead and maximum sum ahead as soon as possible • Make sure the number with the highest absolute value is at the front