Lecture 7
Lecture 7
Initial state:
Any state can be designated as the initial state.
Successor function:
This generates the legal states that result from trying the
three actions (Left, Right, and Suck).
Problem Formulation:
Goal test:
This checks whether all the squares are clean.
Path cost:
Each step costs 1, so the path cost is the
number of steps in the path.
Vacuum Agent Function
Vacuum World State Space Graph:
Problem Statement:
We are given 2 jugs, a 4 liter one and a 3-
liter one. Neither has any measuring markers
on it.
There is a pump that can be used to fill the
jugs with water.
How can we get exactly 2 liters of water in to
the 4-liter jugs?
Problem Formulation:
The state space for this problem can be defined as
{ ( i ,j ) i = 0,1,2,3,4 j = 0,1,2,3}
Fill a jug: Fill one of the jugs completely from the water supply.
Pour water from one jug to another: Transfer water from one jug to another,
either until the first jug is empty or the second jug is full.
Search Techniques:
This can be formulated as a search problem where:
State: The amount of water in Jug 1 and Jug 2 (represented as a pair, e.g., (3, 0)
means Jug 1 has 3 liters and Jug 2 has 0 liters).
Initial State: (0, 0), both jugs are empty.
Goal State: (2, x), where Jug 1 has 2 liters (x can be any amount in Jug 2).
You can use Breadth-First Search (BFS) or Depth-First Search (DFS) to explore all
possible states. Alternatively, A* with a heuristic that estimates how close you are
to the 2 liters in Jug 1 can also be applied.
Solution Example:
1. Fill Jug 2: (0, 3)
Now Jug 1 has exactly 2 liters, and you have reached the goal.
Production Rules:
Sr. Current State Next State Descriptions
1 (x,y) if x < 4 (4,y) Fill the 4 gallon jug
2 (x,y) if x < 3 (x,3) Fill the 3 gallon jug
3 (x,y) if x > 0 (x – d, y) Pour some water out of the 4 gallon jug
4 (x,y) if y > 0 (x, y – d) Pour some water out of the 3 gallon jug
5 (x,y) if y > 0 (0, y) Empty the 4 gallon jug
6 (x,y) if y > 0 (x 0) Empty the 3 gallon jug on the ground
7 (x,y) if x + y > = 4 (4, y – (4 – x)) Pour water from the 3 gallon jug into the
and y > 0 4 gallon jug until the 4 gallon jug is full
8 (x,y) if x + y > = 3 (x – (3 – x), 3) Pour water from the 4 gallon jug into the
and x > 0 3 gallon jug until the 3 gallon jug is full
9 (x,y) if x + y < = 4 (x + y, 0) Pour all the water from the 3 gallon jug
and y > 0 into the 4 gallon jug
10 (x,y) if x + y < = 3 (0, x + y) Pour all the water from the 4 gallon jug
and x > 0 into the 3 gallon jug
11 (0, 2) (2, 0) Pour the 2 gallons from 3 gallon jug into
the 4 gallon jug
12 (2, y) (0, y) Empty the 2 gallons in the 4 gallon jug
on the ground
Possible Solutions:
Solution 1
Solution 2
Solution 3
Analysis of Solution:
We see that, when there is no limit for water
prevails then solution is the most efficient.
When water is limited then Solution 2 is the
best suited.
In no way solution 3 is good, Because it
requires 8 steps for solution and wastes 5
liters of water.