What? Why? How? Summary References Artificial Intelligence 1. General Problem Solving On Computers that Set Out to Solve Everything J¨ org Hoffmann Summer Term 2012 J¨ org Hoffmann Artificial Intelligence 1/31
What? Why? How? Summary References Beating Kasparov is great . . . J¨ org Hoffmann Artificial Intelligence 2/31
What? Why? How? Summary References Beating Kasparov is great . . . but how to play Mau-Mau?? You (and your brother/sister/little nephew) are better than Deep Blue at everything – except playing Chess. Is that (artificial) “Intelligence”? How to build machines that automatically solve new problems? J¨ org Hoffmann Artificial Intelligence 3/31
What? Why? How? Summary References Agenda What? 1 Why? 2 How? 3 Summary 4 J¨ org Hoffmann Artificial Intelligence 4/31
What? Why? How? Summary References General Problem Solving Write one program that can solve all problems. ∃ X ∈ { algorithms } : ∀ Y ∈ { “ problems ′′ } : X “ solves ′′ Y Write one program that can solve a large class of problems. J¨ org Hoffmann Artificial Intelligence 6/31
What? Why? How? Summary References General Game Playing Write one program that can play all (2-player, 0-sum, . . . ) games. Describe “game” in a declarative language (based on logics). Variables (board position/cards), operators (moves), win/loss. Chess, but also R¨ auberschach, and Backgammon, and . . . J¨ org Hoffmann Artificial Intelligence 7/31
What? Why? How? Summary References Planning Write one program that can solve all planning problems. What is a “planning problem”? Variables: x with finite number of possible values D ( x ) ; state gives value to each variable (e.g., x = 1 ). Actions: precondition (some variable values); effect (changes to some variable values); e.g., action “increment x : pre x = 1 , eff x := 2 ”. Initial state: What the world is like now (e.g., x = 1 ). Goal: What we want the world to change into (some variable values, e.g., x = 2 ). Plan: Sequence of actions achieving the goal. Here? J¨ org Hoffmann Artificial Intelligence 8/31
What? Why? How? Summary References Example: FreeCell image credits: GNOME Project (GNU General Public License) Variables: card positions ( position Jspades=Qhearts ). Actions: card moves ( move Jspades Qhearts freecell4 ). Initial state: start configuration. Goal: all cards “home”. Plan? J¨ org Hoffmann Artificial Intelligence 9/31
What? Why? How? Summary References Natural Language Sentence Generation S:e {sleep(e,r1)} NP:r1 ↓ VP:e S:e V:e NP:r1 VP:e sleeps the N:r1 V:e NP:r1 white rabbit sleeps N:r1 the N:r1 white N:r1 * {white(r1)} {rabbit(r1)} rabbit Input: Tree-adjoining grammar, intended meaning. Output: Sentence expressing that meaning. J¨ org Hoffmann Artificial Intelligence 10/31
What? Why? How? Summary References Generating Business Process Templates at SAP Approval: Necessary Approval: Decide CQ not Approval Necessary Create CQ Submit CQ Check CQ Check CQ Completeness Consistency Mark CQ as Accepted Create Follow- Up for CQ Check CQ Approval Status Archive CQ Input: SAP-scale model of behavior of activities on Business Objects, process endpoint. Output: Process template leading to this point. J¨ org Hoffmann Artificial Intelligence 11/31
What? Why? How? Summary References Automatic Hacking DMZ Web Server Application Server Internet Router Firewall Attacker Workstation DB Server SENSITIVE USERS Input: Network configuration, location of sensible data. Output: Sequence of exploits giving access to that data. J¨ org Hoffmann Artificial Intelligence 12/31
What? Why? How? Summary References Planning! DMZ Web Server Application Server Internet Router Firewall Attacker Workstation DB Server SENSITIVE USERS Planning Domain Definition Language (PDDL) �→ Planning System Approval: DMZ Necessary Web Server Application Server Approval: Decide CQ not Approval Create CQ Necessary Internet Router Firewall Submit CQ Check CQ Check CQ Completeness Consistency Mark CQ as Accepted Attacker Create Follow- Workstation Up for CQ Check CQ Approval DB Server Status Archive CQ SENSITIVE USERS J¨ org Hoffmann Artificial Intelligence 13/31
What? Why? How? Summary References General Game Playing Chess, but also R¨ auberschach, and Backgammon, and . . . Your generic “Game Companion”. Advantage (for you) easier to beat than Deep Blue . . . The prize of generality is efficiency! J¨ org Hoffmann Artificial Intelligence 15/31
What? Why? How? Summary References Planning (some new problem) describe problem in planning language �→ use off-the-shelf solver (its solution) Any problem that can be formulated as finding a path in a large transition system (language, SAP, hacking, . . . ) Don’t write the C++ code, just describe the problem! Don’t maintain the C++ code, maintain the description! J¨ org Hoffmann Artificial Intelligence 16/31
What? Why? How? Summary References General Problem Solving, Pros and Cons Powerful: In some applications (e. g., SAP) generality is absolutely necessary. Quick and comfortable: Get a solution up-and-running in no time; adapt it easily. Intelligence: Determine automatically how to solve a complex problem effectively! (the ultimate goal, no?!) Efficiency loss: Without any domain-specific knowledge about Chess, you don’t beat Kasparov . . . Trade-off between automatic-and-general vs. manualwork-but-effective. How to make fully automatic algorithms effective? J¨ org Hoffmann Artificial Intelligence 17/31
What? Why? How? Summary References Combinatorial Search We are solving hard problems ( NP -hard is the “easy case”) Enumerate all possibilities . . . Search guidance = ⇒ detect and exploit problem structure! J¨ org Hoffmann Artificial Intelligence 19/31
What? Why? How? Summary References (My) Research in General Problem Solving Representation languages (20%) Algorithms (40%) Implementation (20%) Experiments (10%) Applications (10%) J¨ org Hoffmann Artificial Intelligence 20/31
What? Why? How? Summary References (My) Research in General Problem Solving Representation languages (20%) PDDL, Logic, . . . Hierarchies of generality (add/drop features). Computational complexity: How hard are these problems? Expressive power: Which problems can be represented compactly? Which language features can increase that set? Modeling: How does the model affect solver performance? How can we support the design of “good” models? Algorithms (40%) Implementation (20%) Experiments (10%) Applications (10%) J¨ org Hoffmann Artificial Intelligence 21/31
What? Why? How? Summary References (My) Research in General Problem Solving Representation languages (20%) Algorithms (40%) Search guidance: Lower bound functions h enable us to prune parts of the search space. Tractable fragments: Automatically relax input problem X into tractable class Y, solve Y to obtain lower bound h for X. Performance analysis: How does problem structure affect the quality of the bound h ? Can we detect this automatically? Expressive power: Can method A efficiently represent the perfect lower bound whenever method B can? Implementation (20%) Experiments (10%) Applications (10%) J¨ org Hoffmann Artificial Intelligence 22/31
What? Why? How? Summary References (My) Research in General Problem Solving Representation languages (20%) Algorithms (40%) Implementation (20%) Data structures: Clever coding can easily account for a factor 10 in performance. Planning systems are big: I did > 100000 lines C during my PhD. Experiments (10%) Applications (10%) J¨ org Hoffmann Artificial Intelligence 23/31
What? Why? How? Summary References (My) Research in General Problem Solving Representation languages (20%) Algorithms (40%) Implementation (20%) Experiments (10%) Across domains: Assess general value of technique ( > 50 benchmark domains in Planning: FreeCell, Sokoban, airport ground-traffic, printer control, elevator control, . . . ) Plannning competition: Win the IPC! Applications (10%) J¨ org Hoffmann Artificial Intelligence 24/31
What? Why? How? Summary References (My) Research in General Problem Solving Representation languages (20%) Algorithms (40%) Implementation (20%) Experiments (10%) Applications (10%) Automatic hacking: More accurate models, more effective algorithms, integration in industrial tool, . . . Verification: Finding error states in software is a planning problem; program synthesis is, too. Intelligent user interfaces: Plan recognition? J¨ org Hoffmann Artificial Intelligence 25/31
What? Why? How? Summary References Summary General problem solving has a big vision: (some new problem) describe problem �→ use off-the-shelf solver (solution competitive with a human-made specialized program) Beating humans at coming up with clever solution methods! Strict methodology: algorithm design, analysis, evaluation. “Does there always exist a unique minimal set of conjunctions C so that adding C to the description renders the optimal delete-relaxation lower bound h + perfect?” J¨ org Hoffmann Artificial Intelligence 27/31
Recommend
More recommend