Chapter 3:Solving Problems by Searching
and Constraint Satisfaction Problem
By RINESH S
Contents
• Problem Solving by Searching
• Problem Solving Agents
• Problem Formulation
• Search Strategies
• Avoiding Repeated States
• Constraint Satisfaction Search
Solving Problems by Searching
• Reflex agent is simple
– base their actions on
– a direct mapping from states to actions
– but cannot work well in environments
• which this mapping would be too large to store
• and would take too long to learn
• Hence, goal-based agent is used
Problem-solving agent
• Problem-solving agent
– A kind of goal-based agent
– It solves problem by
• finding sequences of actions that lead to desirable
states (goals)
– To solve a problem,
• the first step is the goal formulation, based on the
current situation
Goal formulation
• The goal is formulated
– as a set of world states, in which the goal is
satisfied
• Reaching from initial state goal state
– Actions are required
• Actions are the operators
– causing transitions between world states
– Actions should be abstract enough at a certain
degree, instead of very detailed
– E.g., turn left VS turn left 30 degree, etc.
Problem formulation
• The process of deciding
– what actions and states to consider
• E.g., driving Amman Zarqa
– in-between states and actions defined
– States: Some places in Amman & Zarqa
– Actions: Turn left, Turn right, go straight,
accelerate & brake, etc.
Search Strategies
problem
• Start
• Find out all (n -1)! Possible solutions, where n
is the total number of cities. Determine the
minimum cost by finding out the cost of each
of these (n -1)! solutions. Finally, keep the one
with the minimum cost.
• end
Problem-Solving Agents
• agents whose task is to solve a particular problem
(steps)
– goal formulation
• what is the goal state
• what are important characteristics of the goal state
• how does the agent know that it has reached the goal
• are there several possible goal states
– are they equal or are some more preferable
– problem formulation
• what are the possible states of the world relevant for solving the
problem
• what information is accessible to the agent
• how can the agent progress from state to state
Example
From our Example
1. Formulate Goal
- Be In Amman
2. Formulate Problem
- States : Cities
- actions : Drive Between Cities
3. Find Solution
- Sequence of Cities : ajlun – Jarash - Amman
Our Example
1. Problem : To Go from Ajlun to Amman
2. Initial State : Ajlween
3. Operator : Go from One City To another .
4. State Space : {Jarash , Salat , irbed,……..}
5. Goal Test : are the agent in Amman.
6. Path Cost Function : Get The Cost From The Map.
7. Solution : { {Aj Ja Ir Ma Za Am} , {Aj Ir Ma Za Am} …. {Aj Ja Am} }
8. State Set Space : {Ajlun Jarash Amman}
Example: Romania
• On holiday in Romania; currently in Arad.
• Flight leaves tomorrow from Bucharest
• Formulate goal:
• be in Bucharest
–
• Formulate problem:
– states: various cities
– actions: drive between cities
• Find solution:
• sequence of cities, e.g., Arad, Sibiu, Fagaras, Bucharest
–
Example: Romania
Single-state problem formulation
A problem is defined by four items:
initial state e.g., "at Arad"
1. actions or successor function S(x) = set of action–state pairs
– e.g., S(Arad) = {<Arad Zerind, Zerind>, … }
2. goal test, can be
– explicit, e.g., x = "at Bucharest"
– implicit, e.g., Checkmate(x)
3. path cost (additive)
– e.g., sum of distances, number of actions executed, etc.
– c(x,a,y) is the step cost, assumed to be ≥ 0
• A solution is a sequence of actions leading from the initial state to a goal
state
Example problems
• Toy problems
– those intended to illustrate or exercise various
problem-solving methods
– E.g., puzzle, chess, etc.
• Real-world problems
– tend to be more difficult and whose solutions
people actually care about
– E.g., Design, planning, etc.
Toy problems
• Example: vacuum world
Number of states: 8
Initial state: Any
Number of actions: 4
left, right, suck,
noOp
Goal: clean up all dirt
Goal states: {7, 8}
Path Cost:
Each step costs 1
The 8-puzzle
The 8-puzzle
• States:
– a state description specifies the location of each of the
eight tiles and blank in one of the nine squares
• Initial State:
– Any state in state space
• Successor function:
– the blank moves Left, Right, Up, or Down
• Goal test:
– current state matches the goal configuration
• Path cost:
– each step costs 1, so the path cost is just the length of
the path
The 8-queens
• There are two ways to formulate the
problem
• All of them have the common followings:
– Goal test: 8 queens on board, not attacking to
each other
– Path cost: zero
The 8-queens
• (1) Incremental formulation
– involves operators that augment the state
description starting from an empty state
– Each action adds a queen to the state
– States:
• any arrangement of 0 to 8 queens on board
– Successor function:
• add a queen to any empty square
The 8-queens
• (2) Complete-state formulation
– starts with all 8 queens on the board
– move the queens individually around
– States:
• any arrangement of 8 queens, one per column in the
leftmost columns
– Operators: move an attacked queen to a row, not
attacked by any other
The 8-queens
• Conclusion:
– the right formulation makes a big difference to
the size of the search space
Avoiding repeated states
• for all search strategies
– There is possibility of expanding states
• that have already been encountered and expanded
before, on some other path
– may cause the path to be infinite loop forever
– Algorithms that forget their history
• are doomed to repeat it
Avoiding repeated states
• Three ways to deal with this possibility
– Do not return to the state it just came from
• Refuse generation of any successor same as its parent
state
– Do not create paths with cycles
• Refuse generation of any successor same as its ancestor
states
– Do not generate any generated state
• Not only its ancestor states, but also all other expanded
states have to be checked against
Constraint Satisfaction Search