200 likes | 207 Views
This course covers the fundamentals of AI planning techniques, including STRIPS planning, planning terminology, and pruning the search space. Students will also explore various project topics related to planning, robotics, perception, machine learning, uncertainty, and natural language.
E N D
Planning to Learn, Learning to Plan CS251: Intro to AI/Lisp II
Announcements • Quiz • A Review of AI Planning Techniques • Reading for next time: Cognitive model for planning • Allegro for Windows • Project deadline I CS251: Intro to AI/Lisp II
What is planning? “Figuring out what to do next” • Wumpus agent already does that with: • First-order logic • Resolution • Shortcomings • Default values • Efficiency CS251: Intro to AI/Lisp II
Why do we need planners? CS251: Intro to AI/Lisp II
STRIPS Planning • State space search • Just like the search we saw last quarter • “It’s all in the operators” • What does a STRIPS operator look like? CS251: Intro to AI/Lisp II
STRIPS Operators At(here), Path(here, there) Go(there) At(there), At(here) CS251: Intro to AI/Lisp II
Planning Terminology I • STRIPS ops • Action description • Precondition • Effect / Postconditions / Add & Delete • Operator schemata • When is operator oapplicable in situation s? CS251: Intro to AI/Lisp II
Planning Terminology II • The final frontier of planning: space • State (situation) space • Plan space • Plan space is populated by __________ • Operators • Refine by eliminating plans from the set of plans under consideration • Modify plans by messing with them CS251: Intro to AI/Lisp II
Planning in Plan Space • NOAH planner (Sacerdoti 1975) was first partial-order planner • In state space, solution is a path • Series of operators • In plan space, series of plan transformations • Examples: Expand detail, adding ordering constraints CS251: Intro to AI/Lisp II
Pruning the Search Space • Cutting down the search space • Means-end analysis • Prioritize goals • Identify interactions • Parallelism • Abstraction levels • Different approaches • Early: NOAH, ABSTRIPS (Sacerdoti 1973) CS251: Intro to AI/Lisp II
A Problem in Plan Space • The goal: Getting milk, banana and a drill and heading home • Actions: • Go: From here to there • Buy: We’ve got money • Good things to know • Hardware stores sell drills • Supermarkets sell milk and bananas CS251: Intro to AI/Lisp II
Getting Started • Start with an initial plan Start At(Home) Sells(SM, Banana) Sells(SM, Milk) Sells(HWS, Drill) Have(Milk) Have(Banana) Have(Drill) At(Home) Finish CS251: Intro to AI/Lisp II
Next Step Start At(s) Sells(s, Bananas) At(s) Sells(s, Milk) At(s) Sells(s, Drill) Buy(Milk) Buy(Bananas) Buy(Drill) Have(Drill) Have(Milk) At(Home) Have(Banana) Finish CS251: Intro to AI/Lisp II
What have we got? • Protection • Need to have drill • Buy drill achieves Have(Drill) • If we mess with drill buying, then … • When doesn’t it matter? CS251: Intro to AI/Lisp II
And after that... Start At(SM) Sells(SM, Bananas) At(HWS) Sells(HWS, Drill) At(SM) Sells(SM, Milk) Buy(Milk) Buy(Bananas) Buy(Drill) Have(Drill) Have(Milk) At(Home) Have(Banana) Finish CS251: Intro to AI/Lisp II
What’s the problem? • Need to: • Go from home to hardware store • Go from home to supermarket • Pick one and then... CS251: Intro to AI/Lisp II
Interactive Problems • Big red arrows are protected links • Protected from … threats • Change the ordering • The problem in the abstract • Suppose S1 achieves c for S2 • Now S3 comes along and clobbers c CS251: Intro to AI/Lisp II
Project topics • Planning • Build a planner from scratch: (AB)STRIPS, NOAH • Explore current planners • Robotics • Investigate reactive planning: write a series of RAPs • “Build” a robot using subsumption CS251: Intro to AI/Lisp II
Project Topics II • Perception • Explore audio perception • Write an object recognizer (Pepsi cans in Wayne’s World) • Machine learning • Look at data mining (name & email from newsgroup sigs) CS251: Intro to AI/Lisp II
Project Topics III • Uncertainty • Build a system that constructs Bayesian networks • Look at HMMs in speech recognition • Natural language • Write a story generator • Tell jokes CS251: Intro to AI/Lisp II