Artificial Intelligence 1. General Problem Solving On Computers that - - PowerPoint PPT Presentation

artificial intelligence
SMART_READER_LITE
LIVE PREVIEW

Artificial Intelligence 1. General Problem Solving On Computers that - - PowerPoint PPT Presentation

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?


slide-1
SLIDE 1

What? Why? How? Summary References

Artificial Intelligence

  • 1. General Problem Solving

On Computers that Set Out to Solve Everything J¨

  • rg Hoffmann

Summer Term 2012

  • rg Hoffmann

Artificial Intelligence 1/31

slide-2
SLIDE 2

What? Why? How? Summary References

Beating Kasparov is great . . .

  • rg Hoffmann

Artificial Intelligence 2/31

slide-3
SLIDE 3

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?

  • rg Hoffmann

Artificial Intelligence 3/31

slide-4
SLIDE 4

What? Why? How? Summary References

Agenda

1

What?

2

Why?

3

How?

4

Summary

  • rg Hoffmann

Artificial Intelligence 4/31

slide-5
SLIDE 5

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.

  • rg Hoffmann

Artificial Intelligence 6/31

slide-6
SLIDE 6

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 . . .

  • rg Hoffmann

Artificial Intelligence 7/31

slide-7
SLIDE 7

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?

  • rg Hoffmann

Artificial Intelligence 8/31

slide-8
SLIDE 8

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?

  • rg Hoffmann

Artificial Intelligence 9/31

slide-9
SLIDE 9

What? Why? How? Summary References

Natural Language Sentence Generation

S:e NP:r1 ↓ VP:e sleeps V:e N:r1 rabbit NP:r1 the N:r1 white N:r1 * S:e VP:e sleeps V:e rabbit NP:r1 the N:r1 white {sleep(e,r1)} {white(r1)} {rabbit(r1)}

Input: Tree-adjoining grammar, intended meaning. Output: Sentence expressing that meaning.

  • rg Hoffmann

Artificial Intelligence 10/31

slide-10
SLIDE 10

What? Why? How? Summary References

Generating Business Process Templates at SAP

Create CQ Check CQ Consistency Check CQ Completeness Check CQ Approval Status Decide CQ Approval Submit CQ Mark CQ as Accepted Create Follow- Up for CQ Archive CQ

Approval: Necessary Approval: not Necessary

Input: SAP-scale model of behavior of activities on Business Objects, process endpoint. Output: Process template leading to this point.

  • rg Hoffmann

Artificial Intelligence 11/31

slide-11
SLIDE 11

What? Why? How? Summary References

Automatic Hacking

Router Firewall DB Server Workstation

DMZ SENSITIVE USERS

Web Server Application Server Internet Attacker

Input: Network configuration, location of sensible data. Output: Sequence of exploits giving access to that data.

  • rg Hoffmann

Artificial Intelligence 12/31

slide-12
SLIDE 12

What? Why? How? Summary References

Planning!

Router Firewall DB Server Workstation

DMZ SENSITIVE USERS

Web Server Application Server Internet Attacker

Planning Domain Definition Language (PDDL) → Planning System

Create CQ Check CQ Consistency Check CQ Completeness Check CQ Approval Status Decide CQ Approval Submit CQ Mark CQ as Accepted Create Follow- Up for CQ Archive CQ Approval: Necessary Approval: not Necessary Router Firewall DB Server Workstation DMZ SENSITIVE USERS Web Server Application Server Internet Attacker

  • rg Hoffmann

Artificial Intelligence 13/31

slide-13
SLIDE 13

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!

  • rg Hoffmann

Artificial Intelligence 15/31

slide-14
SLIDE 14

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!

  • rg Hoffmann

Artificial Intelligence 16/31

slide-15
SLIDE 15

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?

  • rg Hoffmann

Artificial Intelligence 17/31

slide-16
SLIDE 16

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!

  • rg Hoffmann

Artificial Intelligence 19/31

slide-17
SLIDE 17

What? Why? How? Summary References

(My) Research in General Problem Solving

Representation languages (20%) Algorithms (40%) Implementation (20%) Experiments (10%) Applications (10%)

  • rg Hoffmann

Artificial Intelligence 20/31

slide-18
SLIDE 18

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%)

  • rg Hoffmann

Artificial Intelligence 21/31

slide-19
SLIDE 19

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

  • f 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

  • f 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%)

  • rg Hoffmann

Artificial Intelligence 22/31

slide-20
SLIDE 20

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%)

  • rg Hoffmann

Artificial Intelligence 23/31

slide-21
SLIDE 21

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%)

  • rg Hoffmann

Artificial Intelligence 24/31

slide-22
SLIDE 22

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?

  • rg Hoffmann

Artificial Intelligence 25/31

slide-23
SLIDE 23

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?”

  • rg Hoffmann

Artificial Intelligence 27/31

slide-24
SLIDE 24

What? Why? How? Summary References

Hoffmann vs. DFKI

My research is very foundations-oriented. I do applications, but only a small part of my time (cf. earlier). DFKI is (much) more applications-oriented. Nevertheless, we all do AI and share many of the same problems and techniques! You’ll learn the basics about (some of) these in the present lecture.

  • rg Hoffmann

Artificial Intelligence 28/31

slide-25
SLIDE 25

What? Why? How? Summary References

A Note on Terminology

The term General Problem Solving was introduced by Newell and Simon (1963), then forgotten. However, several areas today follow its approach: Separate the problem description from the strategy how to solve it. Develop technology targeted at solving any problem. General Game Playing, Planning, SAT, CP, Theorem Proving. Nobody except me uses “General Problem Solving” quite yet . . .

Michael Thielscher: “General Intelligence” Hector Geffner: “Model-based Approach to Autonomous Behavior”

. . . so don’t expect to find this term in the literature.

  • rg Hoffmann

Artificial Intelligence 29/31

slide-26
SLIDE 26

What? Why? How? Summary References

Last Slide

Thanks for listening. Need a night-time read? Everything You Always Wanted to Know About Planning (But Were Afraid to Ask) http://www.loria.fr/~hoffmanj/papers/ki11.pdf

  • rg Hoffmann

Artificial Intelligence 30/31

slide-27
SLIDE 27

What? Why? How? Summary References

References I

Allen Newell and Herbert Simon. GPS, a program that simulates human thought. In

  • E. Feigenbaum and J. Feldman, editors, Computers and Thought, pages 279–293.

McGraw-Hill, 1963.

  • rg Hoffmann

Artificial Intelligence 31/31