Problem Solving Agents
So Far… Traditional AI begins with some simple premises: An intelligent agent lives in a particular environment. An intelligent agent has goals that it wants to achieve. The environment in which an agent is expected to operate has a large effect on what sort of behaviors it will need and what we should expect it to be able to do.
Chapter 3 : Problem Solving by Searching “In which we see how an agent can find a sequence of actions that achieves its goals when no single action will do.” Such agents must be able to: Formulate a goal Formulate the overall problem Find a solution
Last time I gave you this problem Three missionaries and three cannibals Want to cross a river using one canoe. Canoe can hold up to two people. Can never be more cannibals than missionaries on either side of the river. Aim: To get all safely across the river without any missionaries being eaten.
Problem Solving Agents Formulate goal: get everyone across the river Formulate problem: states: various combinations of people on either side of the river actions: take the canoe (with some people) across the river restrictions: certain combinations of people are “illegal” Find solution: sequence of canoe trips that get everybody (safely) across the river
Last time I gave you this problem Five missionaries and five cannibals Want to cross a river using one canoe. Canoe can hold up to three people. Can never be more cannibals than missionaries on either side of the river. Aim: To get all safely across the river without any missionaries being eaten.
Problem Solving Agents Example: Traveling in Romania On holiday in Romania; currently in Arad. Flight leaves tomorrow from Bucharest
Problem Solving Agents Example: Traveling in 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
Problem Solving Agents Formulate goal: get the set of rooms clean Formulate problem: states: various combinations of dirt and vacuum location actions: right, left, suck, no-op Find solution: sequence of actions that cause all rooms to be clean
Appropriate environment for Searching Agents Observable?? Deterministic?? Episodic?? Static?? Discrete?? Agents?? Yes Either
Problem Types Deterministic, fully observable single-state problem Agent knows exactly which state it will be in Solution is a sequence Non-observable conformant problem Agent may have no idea where it is Solution (if any) is a sequence Nondeterministic and/or partially observable contingency problem percepts provide new information about current state solution is a tree or policy often interleave search, execution Unknown state space exploration problem ( “online” )
Problem Types Example: vacuum world Start in #5. Solution?? [Right, Suck]
Problem Types Deterministic, fully observable single-state problem Agent knows exactly which state it will be in Solution is a sequence Non-observable conformant problem Agent may have no idea where it is Solution (if any) is a sequence Nondeterministic and/or partially observable contingency problem percepts provide new information about current state solution is a tree or policy often interleave search, execution Unknown state space exploration problem ( “online” )
Problem Types Conformant, start in {1,2,3,4,5,6,7,8} Solution??
Problem Types Conformant, start in {1,2,3,4,5,6,7,8} e.g., Right goes to {2,4,6,8}. [Right, Suck, Left, Suck]
Problem Types Deterministic, fully observable single-state problem Agent knows exactly which state it will be in Solution is a sequence Non-observable conformant problem Agent may have no idea where it is Solution (if any) is a sequence Nondeterministic and/or partially observable contingency problem percepts provide new information about current state solution is a tree or policy often interleave search, execution Unknown state space exploration problem ( “online” )
Problem Types Contingency, start in #5 Murphy’s Law: Suck can dirty a clean carpet Local Sensing: dirt, location only. Solution?? [Right, if dirt then Suck]
Problem Types Deterministic, fully observable single-state problem Agent knows exactly which state it will be in Solution is a sequence Non-observable conformant problem Agent may have no idea where it is Solution (if any) is a sequence Nondeterministic and/or partially observable contingency problem percepts provide new information about current state solution is a tree or policy often interleave search, execution Unknown state space exploration problem “online” search
Single-State Problem Formulation For the time being, we are only interested in the single-state problem formulation A problem is defined by four items: initial state e.g., “at Arad” successor function S(x) = set of action-state pairs e.g., S(Arad) = { <Arad Zerind, Zerind>, …} goal test, can be explicit, e.g., x = “at Bucharest” implicit, e.g., NoDirt(x) 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
Single-State Problem Formulation A solution is a sequence of actions leading from the initial state to a goal state
Problem Formulation Example: vacuum cleaner world state space graph States?? Actions?? Goal test?? Path cost??
Problem Formulation States?? Integer dirt and robot locations (ignore dirt amounts) Actions?? Left, Right, Suck, NoOp Goal test?? No dirt Path cost?? 1 per action (0 for NoOp)
Example: the 8-puzzle States?? Actions?? Goal test?? Path cost??
Example: The 8-puzzle States?? 9!/2 integer locations of tiles (ignore intermediate positions) Actions?? Move blank left, right, up, down Goal test?? = goal state (given) Path cost?? 1 per move Note: optimal solution of n-Puzzle family is NP-hard (although 8-Puzzle is NP-complete)
Why do we look at “toy” problems. Real world is absurdly complex state space must be abstracted for problem solving (Abstract) state = set of real states (Abstract) action = complex combination of real actions e.g., “Arad Zerind” represents a complex set of possible route, detours, rest stops, etc. For guaranteed realizability, any real state “in Arad” must get to some real state “in Zerind” (Abstract) solution = set of real paths that are solutions in the real world each abstract action should e “easier” than the original problem!
Last time I gave you this problem Three missionaries and three cannibals Want to cross a river using one canoe. Canoe can hold up to two people. Can never be more cannibals than missionaries on either side of the river. Aim: To get all safely across the river without any missionaries being eaten.
Original Problem Solution Send over 2 Cannibals Send one Cannibal back Send over 2 Missionaries Send one Cannibal and one Missionary back Send over 2 cannibals Send one cannibal back
Revised problem Five missionaries and five cannibals Want to cross a river using one canoe. Canoe can hold up to three people. Can never be more cannibals than missionaries on either side of the river. Aim: To get all safely across the river without any missionaries being eaten. States?? Actions?? Goal test?? Path cost??
Revised Problem Solution Send over 3 Cannibals Send 1 Cannibal back Send over 2 Cannibals Send over 3 Missionaries Send one Cannibal and one Missionary back Send one Cannibal back Send over 3 cannibals Send one cannibal back Send over 2 cannibals