Agents and Uninformed Search ECE457 Applied Artificial Intelligence Spring 2007 Lecture #2.5
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 2 Rational Agents Simple reflex agent Model-based agent Goal-based agent Utility-based agent Learning agent Environment Percepts Actions SensorsActuators Agent Program
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 3 Simple Reflex Agent Environment PerceptsActions Sensors Actuators Selected Action Current State If-then Rules
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 4 Simple Reflex Agent Dune II (1992) units were simple reflex agents Harvester rules: 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
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 5 Model-Based Agent Environment PerceptsActions Sensors Actuators Selected Action Current State Previous perceptions Impact of actions World changes If-then Rules
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 6 Goal-Based Agent Environment PerceptsActions Sensors Actuators Selected Action Current State Goal Previous perceptions Impact of actions World changes State if I do action X
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 7 Utility-Based Agent Environment PerceptsActions Sensors Actuators Selected Action Current State Utility Previous perceptions Impact of actions World changes State if I do action X Happiness in that state
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 8 Learning Agent Environment PerceptsActions Sensors Actuators Problem Generator Learning Element Feedback Performance standard Changes Knowledge Learning Goals Performance Element Critic
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 9 Properties of the Environment Fully observable vs. partially observable See everything vs. hidden information Deterministic vs. stochastic vs. strategic Controlled by agent vs. randomness vs. multiagents Episodic vs. sequential Independent episodes vs. series of events Static vs. dynamic vs. semi-dynamic Waits for agent vs. goes on without agent vs. timer Discrete vs. continuous 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 10 Crossword Puzzle Fully observable, deterministic, sequential, static, discrete, single-agent Monopoly Fully observable, stochastic, sequential, static, discrete, competitive multi-agent Driving a car Partially observable, stochastic, sequential, dynamic, continuous, cooperative multi-agent Assembly-line inspection robot Fully observable, deterministic, episodic, dynamic, continuous, single-agent Properties of the Environment Fully observable, deterministic, sequential, static, discrete, single-agent Fully observable, stochastic, sequential, static, discrete, competitive multi-agent Fully observable, deterministic, episodic, dynamic, continuous, single-agent Partially observable, stochastic, sequential, dynamic, continuous, cooperative multi-agent
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 11 Well-Defined Problems Initial state Set of actions Move blank left, right, up or down, provided it does not get out of the game Goal test 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 12 Well-Defined Problems Travelling salesman problem Find the shortest round trip to visit each city exactly once Initial state Set of actions Goal test Concept of cost Any city Move to an unvisited city Am I in the initial city after having visited every city? Action cost: distance between cities Path cost: total distance travelled
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 13 Properties of Search Algos. Completeness Is the algorithm guaranteed to find a goal node, if one exists? Optimality Is the algorithm guaranteed to find the best goal node, i.e. the one with the cheapest path cost? Time complexity 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 14 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 15 Breath-First Search Worst case: goal is last node of depth d Number of generated nodes: b+b²+b³+…+b d +(b d+1 -b) = O(b d+1 ) Space & time complexity: all generated nodes
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 16 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 17 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(b C*/є ) Space & time complexity: all generated nodes C* є єє єє єєєє єє єєєє
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 18 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 19 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 20 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(b m )
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 21 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 22 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 23 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(b l )
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 24 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 25 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 26 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(b d )
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 27 Depth Searches Depth-first search Depth-limited search Iterative deepening search Depth limit mld Time complexity O(b m )O(b l )O(b d ) Space complexity O(bm)O(bl)O(bd)
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 28 Summary of Searches Breath- first Uniform Cost Depth -first Depth- limited Iterative deepening CompleteYes 1 No 4 No 5 Yes 1 OptimalYes 2 Yes 3 No Yes 2 TimeO(b d+1 )O(b C*/є )O(b m )O(b l )O(b d ) SpaceO(b d+1 )O(b C*/є )O(bm)O(bl)O(bd) 1: Assuming b finite (common in trees) 2: Assuming equal action costs 3: Assuming all costs є 4: Unless m finite (uncommon in trees) 5: Unless l precisely selected
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 29 Summary / Example Going from Arad to Bucharest
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 30 Summary / Example Initial state Being in Arad Action Move to a neighbouring city, if a road exists. Goal test Are we in Bucharest? Cost Move cost = distance between cities Path cost = distance travelled since Arad
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 31 Summary / Example Breath-First Search
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 32 Summary / Example Uniform-Cost Search
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 33 Summary / Example Depth-First Search
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 34 Summary / Example Depth-Limited Search, l = 4
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 35 Summary / Example Iterative Deepening Search
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 36 Repeated States leftdown left right down left up Example: 8-puzzle
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 37 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 38 Repeated States Each state generates a single child twice 26 different states 2 25 leaves (i.e. state Z) Over 67M nodes in the tree A B C D E A BB CCCC DDDDDDDD EEEEEEEEEEEEEEEE
ECE457 Applied Artificial Intelligence R. Khoury (2007)Page 39 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