0% found this document useful (0 votes)
167 views

AI - Problem Solving by Searching

The document discusses different approaches to problem solving, including the classical and intelligent agent approaches. The classical approach uses a generate-and-test method, trying solutions until a correct one is found. For the intelligent agent approach, problems are represented as graphs like state spaces or AND/OR graphs. Solving a problem then becomes a matter of searching the graph to find a path from the start to a goal state. Different search methods like depth-first, breadth-first, and heuristic searches are discussed for intelligently exploring the problem space.

Uploaded by

Adi Angel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
167 views

AI - Problem Solving by Searching

The document discusses different approaches to problem solving, including the classical and intelligent agent approaches. The classical approach uses a generate-and-test method, trying solutions until a correct one is found. For the intelligent agent approach, problems are represented as graphs like state spaces or AND/OR graphs. Solving a problem then becomes a matter of searching the graph to find a path from the start to a goal state. Different search methods like depth-first, breadth-first, and heuristic searches are discussed for intelligently exploring the problem space.

Uploaded by

Adi Angel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 28

PROBLEM SOLVING AND SEARCH

Classical Approach
 The classical approach takes hit and trial
method to have solution of a problem.

 The intelligent species use this approach to


solve problems at hand.

 It is also called a generate and test approach.

 There is a process of solution generation.


Classical Approach
 Then the solution is verified.

 If found correct it is adopted and we finish.

 Otherwise we discard the solution and pick a


new solution to verify.

 This process iterates until we pick a correct


solution.
Representing a problem for solution.
 Problems generally represented as graphs

 Problem solving ~ searching a graph

 Two representations

(1) State space (usual graph)


(2) AND/OR graph
What is State Space?
 State space = Directed graph
 Nodes ~ Problem situations
 Arcs ~ Actions, legal moves

 Problem = ( State space, Start, Goal condition)


 Note: several nodes may satisfy goal condition

 Solving a problem ~ Finding a path


 Problem solving ~ Graph search
 Problem solution ~ Path from start to a goal node
Intelligent Agent’s approach
 Intelligent agents are supposed to maximize the
performance measure.

 This can be achieved by adopting a goal.

 Goals help organize behavior by limiting the


objectives that the agent is trying to achieve.
 Goal formulation is based on the current
situation and the agent’s performance measure
(It is the first step in problem solving).
Intelligent Agent’s approach
 Goal could be a set of states.

 The agent’s task is to find out which sequence


of actions will get it to a goal state.

 Problem representation is the process of


deciding what sorts of actions and states to
consider, given a goal.
Intelligent Agent’s approach
 An agent with several immediate options of
unknown value can decide what to do by first
examining different possible sequences of
actions that lead to a states of known value,
and then choosing the best sequence.

 Looking for such a sequence is called Search.

 A searching algorithm takes a problem as input


and returns solution in the form of action
sequence.
A problem from blocks world

Find a sequence of robot moves to re-arrange blocks


Blocks world state space
Start

Goal
Examples of representing problems
in state space
 Blocks world planning
 8-puzzle, 15-puzzle
 8 queens
 Travelling salesman
 Set covering

How can these problems be represented by graphs?

Propose corresponding state spaces


8-puzzle
State spaces for optimisation
problems
 Optimisation: minimise cost of solution

 In blocks world:
actions may have different costs
(blocks have different weights, ...)

 Assign costs to arcs


 Cost of solution = cost of solution path
More complex examples
 Making a time table
 Production scheduling
 Grammatical parsing
 Interpretation of sensory data
 Modelling from measured data
 Finding scientific theories that account for
experimental data
SEARCH METHODS
 Uninformed techniques:
systematically search complete graph,
unguided
 Informed methods:
Use problem specific information to guide
search in promising directions
 What is “promising”?
 Domain specific knowledge
 Heuristics
Basic search methods - uninformed

 Depth-first search
 Breadth-first search
 Iterative deepening
Informed, heuristic search

 Best-first search
 Hill climbing, steepest descent
 Algorithm A*
 Beam search
 Algorithm IDA* (Iterative Deepening A*)
 Algorithm RBFS (Recursive Best First
Search)
Direction of search
 Forward search: from start to goal

 Backward search: from goal to start

 Bidirectional search

 In expert systems:
Forward chaining
Backward chaining
Depth-first search
Properties of depth-first search
program
 Is not guaranteed to find shortest solution first
 Susceptible to infinite loops (should check for
cycles)
 Has low space complexity: only proportional to
depth of search
 Only requires memory to store the current path
from start to the current node
 When moving to alternative path, previously
searched paths can be forgotten
Iterative deepening search
 Depth-limited search may miss a solution if
depth-limit is set too low

 This may be problematic if solution length not


known in advance

 Idea: start with small MaxDepth and increase


MaxDepth until solution found
Breadth-first search

•Guaranteed to find shortest solution first


•best-first finds solution a-c-f
•depth-first finds a-b-e-j
A breadth-first search program
 Breadth-first search completes one level
before moving on to next level
 Has to keep in memory all the competing paths
that aspire to be extended to a goal node
 A possible representation of candidate paths:
list of lists
 Easiest to store paths in reverse order;
then, to extend a path, add a node as new
head (easier than adding a node at end of list)
Candidate paths as list of lists

a
b c
d e f g

[[[c,a],
[d,b,a],
[[ [a] ][d,b,a],
[b,a], initial
[e,b,a],
[c,a] list[f,c,a],
][e,b,a]of candidate
after [g,c,a]
] expanding
after ] paths
a
expanding b

On each iteration: Remove first candidate path,


extend it and add extensions at end of list
Complexity of basic search methods

For simpler analysis consider state-space as a tree


Uniform branching b
Solution at depth d

Number of nodes at level n : bn


Time and space complexity orders

Shortest
solution
Time Space guaranteed

Breadth-first bd bd yes
Depth-first bdmax dmax no
Iterative deepening bd d yes
That’s All
Thank You
28

You might also like