2 Overview Defining a problem Types of solutions The different algorithms to achieve these solutionsConclusionQuestions and Answers Session
3 Defining a problem A problem is well defined for an agent to solve if: There exists a state space, this is a set of all possible states an agent can be in.Within the state space there exists an initial state and a goal state.There exists a set of actions which an agent can take to progress from one state to anotherThere exists at least one path from the initial state to the goal state, that is to say, there exists a sequence of actions by which the agent, parting from the initial state, can assume a number of states that lead to the goal state. (Implicit from points 1 to 3)There exists a goal test, this is, a means which allows the agent to know it has achieved, or not, the goal stateThere exists a cost associated to each path, this is, a numeric value which allows the agent to compare the optimality between two, or more, paths to the goal state.There exists a cost associated with each action, from these in a sequence of actions, one derives the path cost (For problems with more than one solution)
4 Types of solutions There are two types of solutions: A solution in which, alongside the goal, the path is also a constituent of the solution.Ex: What is the shortest path between reuter A and reuter B in network X?A solution which is only the goal, that is to say, the path which leads to the solution is irrelevant.Ex: What is the minimum number of moves needed to win a chess match?
5 Types of solutionsSolutions of the first kind, the ideal algorithms are path finding algorithms, these are algorithms which explore the state-space systematically, keeping points along the path in memory. Solutions of the second kind, are typically solutions to optimization problems and have solution searching algorithms based simply on the current state. They occupy less memory and can, given enough time, find solutions which would not be possible in path finding algorithms, due to memory constraints.
6 Path Finding algorithms There are 2 types of path finding algorithms:Uniformed search algorithmsThese search strategies just generate successors and analyze whether or not the new state is the goal state.Informed search algorithmsThese search strategies have a former knowledge of which non-goal states are more promising.
7 Greedy Best-First Search This algorithm has the following basic process:Each node has an f(n) = h(n).Select the node with the lowest f(n)If f(n) > 0 then expand the node repeat the processElse if f(n) = h(n) == 0, then it is the goal-node
11 A* SearchA* search is optimal if h(n) is an admissible heuristic, that is to say, it never overestimates the cost of the solution.
12 A* Search Disadvantages of A* Search Exponential growth in the number of nodes (memory can fill up quickA* must search all the nodes within the goal contourDue to memory or time limitations, suboptimal goals may be the only solutionSometimes a better heuristic may not be admissable
13 Memory bounded heuristic search In order to reduce the memory footprint of the previous algorithms, some algorithms attempt to take further advantages of Heuristics to improve performance:Iterative-Deepening A* (IDA*) SearchRecursive Best-First Search (RBFS)SMA*
14 Memory bounded heuristic search To deal with the issue of exponential memory growth in A*, Iterative deepening A * (IDA*) was created. This practically the same as the normal iterative deepening algorithm, except that it
15 IDA* SearchThe IDA* is basically the iterative deepening first depth search, but with the cutoff at f = g+h
16 SMA* SearchIt follows like A* search, however when memory reaches it’s limit, the algorithm drops the worst node.
17 Recursive Best-First Search (RBFS) The Recursive best-first search works by:Keeping track of options along the fringeIf the current depth-first exploration becomes more expensive of best fringe option, back up to fringe and but update node costs along the way
19 Effective Branching Factor, b* The branching factor is such that if a uniform tree of depth d contains N+1 nodes, then: N+1 = 1 + b* + (b*)2 + … + (b*)d The closer b* is to 1, the better the heuristic.
20 How to come up with new Admissible Heuristics Simplify problem by reducing restrictions on actions.This is called a relaxed problemThe cost of optimal solution to relaxed problem is an admissible heuristic for original problem, because it is always less expensive than the solution to the original problem
21 Pattern DatabasesPattern databases made by storing patterns which have actions that are statistically favorable.Ex:Chess plays in certain states of the board
22 Local Search algorithms They only keep track of the current solution (state)Utilize methods to generate alternate solution candidatesThey use a small amount of memoryCan find acceptable solutions in infinite search spaces
24 Simulated AnnealingSelect some initial guess of evaluation function parameters: x0Evaluate evaluation function, E(x0)=vCompute a random displacement, x’0The Monte Carlo eventEvaluate E(x’0) = v’If v’ < v; set new state, x1 = x’0Else set x1 = x’0 with Prob(E,T)This is the Metropolis stepRepeat with updated state and temp