Transcript ppt
Agents and Uninformed Search
ECE457 Applied Artificial Intelligence
Spring 2007
Lecture #2.5
Rational Agents
Sensors
Actions
Environment
Percepts
Simple reflex agent
Model-based agent
Goal-based agent
Utility-based agent
Learning agent
Actuators
Agent
Program
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 2
Simple Reflex Agent
Environment
Percepts
Actions
Actuators
Sensors
Current
State
Selected
Action
If-then
Rules
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 3
Simple Reflex Agent
Dune II (1992) units were
simple reflex agents
Harvester rules:
ECE457 Applied Artificial Intelligence
IF at refinery AND not empty
THEN empty
IF at refinery AND empty
THEN go harvest
IF harvesting AND not full
THEN continue harvesting
IF harvesting AND full
THEN go to refinery
IF under attack by infantry
THEN squash them
R. Khoury (2007)
Page 4
Model-Based Agent
Environment
Percepts
Actions
Actuators
Sensors
Current
State
Previous
perceptions
Selected
Action
World changes
Impact of actions
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
If-then
Rules
Page 5
Goal-Based Agent
Environment
Percepts
Actions
Actuators
Sensors
Current
State
Previous
perceptions
State if I do
action X
Selected
Action
World changes
Goal
Impact of actions
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 6
Utility-Based Agent
Environment
Percepts
Actions
Actuators
Sensors
Current
State
Previous
perceptions
State if I do
action X
Happiness in
that state
World changes
Selected
Action
Utility
Impact of actions
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 7
Learning Agent
Environment
Percepts
Actions
Actuators
Sensors
Performance Element
Critic
Feedback
Knowledge
Changes
Learning
Problem
Element Learning Goals Generator
ECE457 Applied Artificial Intelligence
Performance
standard
R. Khoury (2007)
Page 8
Properties of the Environment
Fully observable vs. partially observable
Deterministic vs. stochastic vs. strategic
Waits for agent vs. goes on without agent vs. timer
Discrete vs. continuous
Independent episodes vs. series of events
Static vs. dynamic vs. semi-dynamic
Controlled by agent vs. randomness vs. multiagents
Episodic vs. sequential
See everything vs. hidden information
Finite distinct states vs. uninterrupted sequence
Single agent vs. cooperative vs. competitive
Alone vs. team-mates vs. opponents
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 9
Properties of the Environment
Crossword Puzzle
Monopoly
Fully observable, stochastic, sequential, static,
discrete, competitive multi-agent
Driving a car
Fully observable, deterministic, sequential, static,
discrete, single-agent
Partially observable, stochastic, sequential,
dynamic, continuous, cooperative multi-agent
Assembly-line inspection robot
Fully observable, deterministic, episodic, dynamic,
continuous, single-agent
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 10
Well-Defined Problems
Initial state
Set of actions
Goal test
Move blank left, right, up or
down, provided it does not
get out of the game
Are the tiles in the “goal
state” order?
Concept of cost
Each action costs 1
Path cost is the sum of
actions
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 11
Well-Defined Problems
Travelling salesman problem
Initial state
Am I in the initial city after
having visited every city?
Concept of cost
ECE457 Applied Artificial Intelligence
Move to an unvisited city
Goal test
Any city
Set of actions
Find the shortest round trip to visit
each city exactly once
Action cost: distance between cities
Path cost: total distance travelled
R. Khoury (2007)
Page 12
Properties of Search Algos.
Completeness
Optimality
Is the algorithm guaranteed to find the best goal
node, i.e. the one with the cheapest path cost?
Time complexity
Is the algorithm guaranteed to find a goal node, if
one exists?
How many nodes are generated?
Space complexity
What’s the maximum number of nodes stored in
memory?
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 13
Breath-First Search
Explores each node of each level in order
Complete if b finite & optimal if cost constant
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 14
Breath-First Search
Worst case: goal is last node of depth d
Number of generated nodes:
b+b²+b³+…+bd+(bd+1-b) = O(bd+1)
Space & time complexity: all generated nodes
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 15
Uniform-Cost Search
Explore the node with the cheapest
path cost first
Condition: No zero-cost or negative-cost
edges.
Minimum cost of an action is є
Complete and optimal
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 16
Uniform-Cost Search
Worst case: goal has path cost C*, all other actions
have minimum cost of є
Depth explored before taking action C*: C*/є
Number of generated nodes: O(bC*/є)
Space & time complexity: all generated nodes
є
C*
є
є
є
ECE457 Applied Artificial Intelligence
є
є
є
є
є
є
R. Khoury (2007)
є
є
є
є
Page 17
є
Depth-First Search
Explores an entire branch first
Removes branch from memory after exploration
Complete if m finite & not optimal
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 18
Depth-First Search
Worst case for space: goal is last node of first branch
After that, we start deleting nodes
Number of generated nodes: b nodes at each of m levels
Space complexity: all generated nodes = O(bm)
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 19
Depth-First Search
Worst case for time: goal is last node of last branch
Number of nodes generated:
b nodes for each node of m levels (entire tree)
Time complexity: all generated nodes O(bm)
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 20
Depth-Limited Search
Depth-First Search with depth limit l
Avoids problems of Depth-First Search
when trees are unbounded
Depth-First Search is Depth-Limited
Search with l =
Complete, if l > d
Not optimal
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 21
Depth-Limited Search
Worst case for space: goal is last node of first branch
After that, we start deleting nodes
Number of generated nodes: b nodes at each of l levels
Space complexity: all generated nodes = O(bl)
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 22
Depth-Limited Search
Worst case for time: goal is last node of last branch
Number of nodes generated:
b nodes for each node of l levels (entire tree to depth l)
Time complexity: all generated nodes O(bl)
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 23
Iterative Deepening Search
Depth-First Search with increasing depth limit l
Repeat depth-limited search over and over, with
l=l+1
Avoids problems of Depth-First Search when
trees are unbounded
Avoids problem of Depth-Limited Search when
goal depth d > l
Complete , if b is finite
Optimal, if path cost is equal to depth
Guaranteed to return the shallowest goal
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 24
Depth-Limited Search
Worst case for space: goal is last node of first branch
After that, we start deleting nodes
Number of generated nodes: b nodes at each of d levels
Space complexity: all generated nodes = O(bd)
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 25
Depth-Limited Search
Worst case for time: goal is last node of last branch
Number of nodes generated:
b nodes for each node of d levels (entire tree to depth d)
Time complexity: all generated nodes O(bd)
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 26
Depth Searches
Depth-first Depth-limited Iterative
search
search
deepening search
Depth
limit
m
l
d
Time
complexity
O(bm)
O(bl)
O(bd)
Space
complexity
O(bm)
O(bl)
O(bd)
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 27
Summary of Searches
Breath- Uniform Depth Depth- Iterative
first
Cost
-first limited deepening
Complete
Yes1
Yes1
No4
No5
Yes1
Optimal
Yes2
Yes3
No
No
Yes2
Time
O(bd+1) O(bC*/є) O(bm)
O(bl)
O(bd)
Space
O(bd+1) O(bC*/є) O(bm) O(bl)
O(bd)
1: Assuming b finite (common in trees)
2: Assuming equal action costs
3: Assuming all costs є
ECE457 Applied Artificial Intelligence
4: Unless m finite (uncommon in trees)
5: Unless l precisely selected
R. Khoury (2007)
Page 28
Summary / Example
Going from Arad to Bucharest
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 29
Summary / Example
Initial state
Action
Move to a neighbouring city, if a road
exists.
Goal test
Being in Arad
Are we in Bucharest?
Cost
Move cost = distance between cities
Path cost = distance travelled since Arad
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 30
Summary / Example
Breath-First Search
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 31
Summary / Example
Uniform-Cost Search
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 32
Summary / Example
Depth-First Search
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 33
Summary / Example
Depth-Limited Search, l = 4
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 34
Summary / Example
Iterative Deepening Search
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 35
Repeated
States
Example: 8-puzzle
left
left
right
down
ECE457 Applied Artificial Intelligence
down
left
R. Khoury (2007)
up
down
Page 36
Repeated States
Unavoidable in problems where
Actions are reversible
Multiple paths to the same state are
possible
Can greatly increase the number of
nodes in a tree
Or even make a finite tree infinite!
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 37
Repeated States
A
A
B
B
B
C
C
C
C
C
D
E
D D D D D D D D
EEEEEEEE EEEEEEEE
ECE457 Applied Artificial Intelligence
Each state
generates a
single child twice
26 different
states
225 leaves
(i.e. state Z)
Over 67M nodes
in the tree
R. Khoury (2007)
Page 38
Repeated States
Maintain a closed list of visited states
Closed list (for expanded nodes) vs. open
list (for fringe nodes)
Detect and discard repeated states upon
generation
Increases space complexity
ECE457 Applied Artificial Intelligence
R. Khoury (2007)
Page 39