sessions 1 & 2 introduction to ai; planning & search cse 592 applications of artificial...

145
Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Upload: emerald-garrison

Post on 29-Dec-2015

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Sessions 1 & 2Introduction to AI;Planning & Search

Sessions 1 & 2Introduction to AI;Planning & Search

CSE 592

Applications of Artificial Intelligence

Henry Kautz

Winter 2003

Page 2: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

What is Intelligence?What is Artificial Intelligence?

What is Intelligence?What is Artificial Intelligence?

Page 3: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

What is Artificial Intelligence?

• The study of the principles by which natural or artificial machines manipulate knowledge:– how knowledge is acquired– how goals are generated and

achieved– how concepts are formed– how collaboration is achieved

Page 4: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

. . . Exactly what the computer provides is the ability not to be rigid and unthinking but, rather, to behave conditionally. That is

what it means to apply knowledge to action: It means to let the

action taken reflect knowledge of the situation, to be sometimes this way, sometimes that, as

appropriate. . . .

-Allen Newell

Page 5: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

• Classical AIDisembodied Intelligence

• Autonomous SystemsEmbodied Intelligence

Page 6: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Classical AI

• The principles of intelligence are separate from any hardware / software / wetware implementation– logical reasoning– probabilistic reasoning– strategic reasoning– diagnostic reasoning

• Look for these principles by studying how to perform tasks that require intelligence

Page 7: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Success Story: Medical Expert Systems

• Mycin (1980) – Expert level performance in diagnosis of

blood infections• Today: 1,000’s of systems

– Everything from diagnosing cancer to designing dentures

– Often outperform doctors in clinical trials– Major hurdle today – non-expert part –

doctor/machine interaction

Page 8: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Success Story:Chess

I could feel – I could smell – a

new kind of intelligence across

the table- Kasparov

•Examines 5 billion positions / second

•Intelligent behavior emerges from brute-force search

Page 9: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Autonomous Systems

• In the 1990’s there was a growing concern that work in classical AI ignored crucial scientific questions:– How do we integrate the components of

intelligence (e.g. learning & planning)?– How does perception interact with reasoning?– How does the demand for real-time

performance in a complex, changing environment affect the architecture of intelligence?

Page 10: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

• Provide a standard problem where a wide range of technologies can be integrated and examined

• By 2050, develop a team of fully autonomous humanoid robots that can win against the human world champion team in soccer.

Page 11: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

courtesy JPL

Started: January 1996Launch: October 15th, 1998Experiment: May 17-21

Page 12: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Speed & CapacitySpeed & Capacity

Page 13: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Not Speed Alone…Not Speed Alone…

• Speech Recognition

• “Word spotting” feasible today

• Continuous speech – rapid progress

• Turns out that “low level” signal not as ambiguous as we once thought

• Translation / Interpretation / Question-answering

• Very limited progress

The spirit is willing but the flesh is weak. (English)

The vodka is good but the meat is rotten. (Russian)

Page 14: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Varieties of KnowledgeVarieties of Knowledge

What kinds of knowledge required to understand –

• Time flies like an arrow.

• Fruit flies like a banana.

• Fruit flies like a rock.

Page 15: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

1940's - 1960's: Artificial neural networks • McCulloch & Pitts 1943

1950's - 1960's: Symbolic information processing• General Problem Solver – Simon & Newell• "Weak methods“ for search and learning• 1969 - Minsky's Perceptrons

1940’s – 1970’s: Control theory for adaptive (learning) systems• USSR – Cybernetics – Norbert Weiner• Japan – Fuzzy logic

1970's – 1980’s: Expert systems • “Knowledge is power" – Ed Feigenbaum• Logical knowledge representation• AI Boom

1985 – 2000: A million flowers bloom• Resurgence of neural nets – backpropagation• Control theory + OR + Pavlovian conditioning = reinforcement learning• Probabilistic knowledge representation – Bayesian Nets – Judea Pearl• Statistical machine learning

2000’s: Towards a grand unification• Unification of neural, statistical, and symbolic machine learning• Unification of logic and probabilistic KR• Autonomous systems

Historic Perspective

Historic Perspective

Page 16: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

… In sum, technology can be controlled especially if it is

saturated with intelligence to watch over how it goes, to keep accounts, to prevent errors, and

to provide wisdom to each decision.

-Allen Newell

Page 17: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Course MechanicsCourse Mechanics

Topics• What is AI?• Search, Planning, and Satisfiability• Bayesian Networks• Statistical Natural Language Processing• Decision Trees and Neural Networks• Data Mining: Pattern Discovery in Databases• Planning under Uncertainty and Reinforcement Learning• Autonomous Systems Case Studies• Project Presentations

Assignments• 4 homeworks• Significant project & presentation

Information• http://www.cs.washington.edu/education/courses/592/03wi/

Page 18: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Planning & SearchPlanning & Search

Search – the foundation for all work in AI

• Deduction

• Probabilistic reasoning

• Perception

• Learning

• Game playing

• Expert systems

• Planning

R&N Ch 3, 4, 5, 11

Page 19: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

19

Planning• Input

– Description of set of all possible states of the world (in some knowledge representation language)

– Description of initial state of world– Description of goal– Description of available actions

• May include costs for performing actions

• Output– Sequence of actions that convert the initial state into

one that satisfies the goal– May wish to minimize length or cost of plan

Page 20: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Classical Planning

• Simplifying assumptions– Atomic time– Actions have deterministic effects – Agent knows complete initial state of the world– Agent knows the effects of all actions– States are either goal or non-goal states, rather

than numeric utilities or rewards– Agent is sole cause of change

• All these assumptions can be relaxed, as we will see by the end of the course…

Page 21: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Example: Route

Planning

Example: Route

Planning

Input:

• State set

• Start state

• Goal state test

• Operators

Output:

Page 22: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Example: Robot Control (Blocks World)

Example: Robot Control (Blocks World)

Input:

• State set

• Start state

• Goal state test

• Operators (and costs)

Output:

Page 23: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Implicitly Generated Graphs• Planning can be viewed as finding paths in a graph, where the graph is

implicitly specified by the set of actions

• Blocks world:

– vertex = relative positions of all blocks

– edge = robot arm stacks one block

stack(blue,red)

stack(green,red)

stack(green,blue)

stack(blue,table)

stack(green,blue)

How many states for K

blocks?

Page 24: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

24

Missionaries and Cannibals

• 3 missionaries M1, M2, M3• 3 cannibals C1, C2, C3• Cross in a two person boat, so that

missionaries never outnumber cannibals on either shore

• What is a state? How many states? M1 M2 M3

C1 C2 C3

Page 25: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

STRIPS Representation

• Description of initial state of worldSet of propositions that completely describes a world

{ (block a) (block b) (block c) (on-table a) (on-table b) (clear a) (clear b) (clear c) (arm-empty) }

• Description of goal (i.e. set of desired worlds)Set of propositions that partially describes a world

{ (on a b) (on b c) }

• Description of available actions

Page 26: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

How Represent Actions?

• World = set of propositions true in that world• Actions:

– Precondition: conjunction of propositions– Effects: propositions made true & propositions made

false (deleted from the state description)

operator: stack_B_on_R

precondition: (on B Table) (clear R)

effect: (on B R) (:not (clear R))

Page 27: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Action Schemata

(:operator pickup :parameters ((block ?ob1)) :precondition (:and (clear ?ob1) (on-table ?ob1)

(arm-empty)) :effect (:and (:not (on-table ?ob1))

(:not (clear ?ob1)) (:not (arm-empty))

(holding ?ob1)))

• Compact representation of a large set of actions

Page 28: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Search AlgorithmsSearch Algorithms

Backtrack Search1. DFS 2. BFS / Dijkstra’s Algorithm3. Iterative Deepening4. Best-first search5. A*

Constraint Propagation1. Forward Checking2. k-Consistency3. DPLL & Resolution

Local Search1. Hillclimbing2. Simulated annealing3. Walksat

Page 29: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Depth First Search

a

b

d e

c

f g h

• Maintain stack of nodes to visit• Evaluation

– Complete?

– Time Complexity?

– Space Complexity?Not for infinite spaces

O(b^d)

O(d)

Page 30: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Breadth First Search

a

b c

d e f g h

• Maintain queue of nodes to visit• Evaluation

– Complete?

– Time Complexity?

– Space Complexity?Yes

O(b^d)

O(b^d)

Page 31: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Iterative Deepening Search

• DFS with limit; incrementally grow limit• Evaluation

– Complete?

– Time Complexity?

– Space Complexity?Yes

O(b^d)

O(d)b

d e

c

f g h

a

b c

a

Page 32: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Dijkstra’s Shortest Path Algorithm

• Like breadth-first search, but uses a priority queue instead of a FIFO queue:– Always select (expand) the vertex that has a lowest-

cost path from the initial state

• Correctly handles the case where the lowest-cost path to a vertex is not the one with fewest edges– Handles actions planning with costs, with same

advantages / disadvantages of BFS

Page 33: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Pseudocode for Dijkstra

• Initialize the cost of each vertex to • cost[s] = 0;• heap.insert(s);• While (! heap.empty())

n = heap.deleteMin()

For (each vertex a which is adjacent to n along edge e)

if (cost[n] + edge_cost[e] < cost[a]) then

cost [a] = cost[n] + edge_cost[e]

previous_on_path_to[a] = n;

if (a is in the heap) then heap.decreaseKey(a)

else heap.insert(a)

Page 34: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Important Features

• Once a vertex is removed from the head, the cost of the shortest path to that node is known

• While a vertex is still in the heap, another shorter path to it might still be found

• The shortest path itself from s to any node a can be found by following the pointers stored in previous_on_path_to[a]

Page 35: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Edsger Wybe Dijkstra (1930-2002)Edsger Wybe Dijkstra (1930-2002)

• Invented concepts of structured programming, synchronization, weakest precondition, and semaphores

• 1972 Turing Award

• “In their capacity as a tool, computers will be but a ripple on the surface of our culture. In their capacity as intellectual challenge, they are without precedent in the cultural history of mankind.”

Page 36: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Heuristic Search

• A heuristic is:– Function from a state to a real number

• Low number means state is close to goal• High number means state is far from the goal

Designing a good heuristic is very important!

(And often hard! Later we will see how

some heuristics can be created automatically)

Page 37: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

An Easier Case

• Suppose you live in Manhattan; what do you do?

52nd St

51st St

50th St

10th A

ve

9th A

ve

8th A

ve

7th A

ve

6th A

ve

5th A

ve

4th A

ve

3rd A

ve

2nd A

ve

S

G

Page 38: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Best-First Search

• The Manhattan distance ( x+ y) is an estimate of the distance to the goal– a heuristic value

• Best-First Search– Order nodes in priority to minimize estimated distance

to the goal h(n)

• Compare: BFS / Dijkstra– Order nodes in priority to minimize distance from the

start

Page 39: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Best First in Action

• Suppose you live in Manhattan; what do you do?

52nd St

51st St

50th St

10th A

ve

9th A

ve

8th A

ve

7th A

ve

6th A

ve

5th A

ve

4th A

ve

3rd A

ve

2nd A

ve

S

G

Page 40: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Problem 1: Led Astray

• Eventually will expand vertex to get back on the right track

52nd St

51st St

50th St

10th A

ve

9th A

ve

8th A

ve

7th A

ve

6th A

ve

5th A

ve

4th A

ve

3rd A

ve

2nd A

ve

S G

Page 41: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Problem 2: Optimality

• With Best-First Search, are you guaranteed a shortest path is found when– goal is first seen?

– when goal is removed from priority queue (as with Dijkstra?)

Page 42: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Sub-Optimal Solution• No! Goal is by definition at distance 0: will be

removed from priority queue immediately, even if a shorter path exists!

52nd St

51st St

9th A

ve

8th A

ve

7th A

ve

6th A

ve

5th A

ve

4th A

veS

G

(5 blocks)

h=2

h=1h=4

h=5

Page 43: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Synergy?

• Dijkstra / Breadth First guaranteed to find optimal solution

• Best First often visits far fewer vertices, but may not provide optimal solution

– Can we get the best of both?

Page 44: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

A* (“A star”)

• Order vertices in priority queue to minimize• (distance from start) + (estimated distance to goal)

• f(n) = g(n) + h(n)

• f(n) = priority of a node• g(n) = true distance from start• h(n) = heuristic distance to goal

Page 45: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Optimality• Suppose the estimated distance (h) is

always less than or equal to the true distance to the goal– heuristic is a lower bound on true distance– heuristic is admissible

• Then: when the goal is removed from the priority queue, we are guaranteed to have found a shortest path!

Page 46: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Problem 2 Revisited

52nd St

51st St

9th A

ve

8th A

ve

7th A

ve

6th A

ve

5th A

ve

4th A

ve

S

G

(5 blocks)

50th St

vertex g(n) h(n) f(n)

52nd & 9th 0 5 5

Page 47: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Problem 2 Revisited

52nd St

51st St

9th A

ve

8th A

ve

7th A

ve

6th A

ve

5th A

ve

4th A

ve

S

G

(5 blocks)

50th St

vertex g(n) h(n) f(n)

52nd & 4th 5 2 7

51st & 9th 1 4 5

Page 48: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Problem 2 Revisited

52nd St

51st St

9th A

ve

8th A

ve

7th A

ve

6th A

ve

5th A

ve

4th A

ve

S

G

(5 blocks)

50th St

vertex g(n) h(n) f(n)

52nd & 4th 5 2 7

51st & 8th 2 3 5

50th & 9th 2 5 7

Page 49: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Problem 2 Revisited

52nd St

51st St

9th A

ve

8th A

ve

7th A

ve

6th A

ve

5th A

ve

4th A

ve

S

G

(5 blocks)

50th St

vertex g(n) h(n) f(n)

52nd & 4th 5 2 7

51st & 7th 3 2 5

50th & 9th 2 5 7

50th & 8th 3 4 7

Page 50: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Problem 2 Revisited

52nd St

51st St

9th A

ve

8th A

ve

7th A

ve

6th A

ve

5th A

ve

4th A

ve

S

G

(5 blocks)

50th St

vertex g(n) h(n) f(n)

52nd & 4th 5 2 7

51st & 6th 4 1 5

50th & 9th 2 5 7

50th & 8th 3 4 7

50th & 7th 4 3 7

Page 51: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Problem 2 Revisited

52nd St

51st St

9th A

ve

8th A

ve

7th A

ve

6th A

ve

5th A

ve

4th A

ve

S

G

(5 blocks)

50th St

vertex g(n) h(n) f(n)

52nd & 4th 5 2 7

51st & 5th 5 0 5

50th & 9th 2 5 7

50th & 8th 3 4 7

50th & 7th 4 3 7

Page 52: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Problem 2 Revisited

52nd St

51st St

9th A

ve

8th A

ve

7th A

ve

6th A

ve

5th A

ve

4th A

ve

S

G

(5 blocks)

50th St

vertex g(n) h(n) f(n)

52nd & 4th 5 2 7

50th & 9th 2 5 7

50th & 8th 3 4 7

50th & 7th 4 3 7

DONE!

Page 53: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

What Would Dijkstra Have Done?

52nd St

51st St

9th A

ve

8th A

ve

7th A

ve

6th A

ve

5th A

ve

4th A

ve

S

G

(5 blocks)

50th St

49th St

48th St

47th St

Page 54: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Proof of A* Optimality

• A* terminates when G is popped from the heap.

• Suppose G is popped but the path found isn’t optimal:

priority(G) > optimal path length c

• Let P be an optimal path from S to G, and let N be the last vertex on that path that has been visited but not yet popped.

There must be such an N, otherwise the optimal path would have been found.

priority(N) = g(N) + h(N) c

• So N should have popped before G can pop. Contradiction.

S

N

Gnon-optimal path to G

portion of optimal path found so far

undiscovered portion of shortest path

Page 55: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

What About Those Blocks?

• “Distance to goal” is not always physical distance• Blocks world:

– distance = number of stacks to perform

– heuristic lower bound = number of blocks out of place

# out of place = 1, true distance to goal = 3

Page 56: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

3-Blocks State Space Graph

ABCh=2

CABh=3

BACh=2

ABCh=1

CBAh=3

ACBh=2

BCAh=1

BCAh=3

CBAh=3

CABh=3

ACBh=3

BACh=2

ABCh=0

start goal

Page 57: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

3-Blocks Best First Solution ABC

h=2

CABh=3

BACh=2

ABCh=1

CBAh=3

ACBh=2

BCAh=1

BCAh=3

CBAh=3

CABh=3

ACBh=3

BACh=2

ABCh=0

start goal

Page 58: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

3-Blocks BFS Solution

ABCh=2

CABh=3

BACh=2

ABCh=1

CBAh=3

ACBh=2

BCAh=1

BCAh=3

CBAh=3

CABh=3

ACBh=3

BACh=2

ABCh=0

expanded, but not in solution

start goal

Page 59: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

3-Blocks A* Solution

ABCh=2

CABh=3

BACh=2

ABCh=1

CBAh=3

ACBh=2

BCAh=1

BCAh=3

CBAh=3

CABh=3

ACBh=3

BACh=2

ABCh=0

expanded, but not in solution

start goal

Page 60: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Maze Runner Demo

Page 61: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Other Real-World Applications

• Routing finding – computer networks, airline route planning

• VLSI layout – cell layout and channel routing• Production planning – “just in time” optimization• Protein sequence alignment• Many other “NP-Hard” problems

– A class of problems for which no exact polynomial time algorithms exist – so heuristic search is the best we can hope for

Page 62: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Importance of Heuristics

D IDS A*(h1) A*(h2) 2 10 6 6 4 112 13 12 6 680 20 18 8 6384 39 2510 47127 93 3912 364404 227 7314 3473941 539 11318 3056 36324 39135 1641

• h1 = number of tiles in the wrong place

• h2 = sum of distances of tiles from correct location

7 2 3

8 5

4 1 6

Page 63: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

A* STRIPS Planning

• Is there some general way to automatically create a heuristic for a given set of STRIPS operators?

1. Count number of false goal propositions in current stateAdmissible?

2. Delete all preconditions from actions, solve easier relaxed problem (why easier?), use lengthAdmissible?

3. Delete negative effects from actions, solve easier relaxed problem, use lengthAdmissible?

Page 64: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Planning as A* Search

• HSP (Geffner & Bonet 1999), introduced admissible “ignore negative effects” heuristic

• FF (Hoffman & Nebel 2000), used a modified non-admissible heuristic– Often dramatically faster, but usually non-optimal

solutions found

– Best overall performance AIPS 2000 planning competition

Page 65: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Search AlgorithmsSearch Algorithms

Backtrack Search1. DFS 2. BFS / Dijkstra’s Algorithm3. Iterative Deepening4. Best-first search5. A*

Constraint Propagation1. Forward Checking2. k-Consistency3. DPLL & Resolution

Local Search1. Hillclimbing2. Simulated annealing3. Walksat

Page 66: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Guessing versus InferenceGuessing versus Inference

All the search algorithms we’ve seen so far are variations of guessing and backtracking

But we can reduce the amount of guesswork by doing more reasoning about the consequences of past choices

• Example: planning a trip

Idea:• Problem solving as constraint

satisfaction• As choices (guesses) are made,

propagate constraints

Page 67: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Map ColoringMap Coloring

Page 68: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

CSPCSP

• V is a set of variables v1, v2, …, vn

• D is a set of finite domains D1, D2, …, Dn

• C is a set of constraints C1, C2, …, Cm

Each constraint specifies a restriction over joint values of a subset of the variables

E.g.:

v1 is Spain, v2 is France, v3 is Germany, …

Di = { Red, Blue, Green} for all i

For each adjacent vi, vj there is a constraint Ck

(vi,vj) { (R,G), (R,B), (G,R), (G,B), (B,R), (B,G) }

Page 69: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

VariationsVariations

• Find a solution that satisfies all constraints

• Find all solutions

• Find a “tightest form” for each constraint(v1,v2) { (R,G), (R,B), (G,R), (G,B), (B,R), (B,G) }

(v1,v2) { (R,G), (R,B), (B,G) }

• Find a solution that minimizes some additional objective function

Page 70: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Chinese Dinner Constraint Network

Soup

Total Cost< $30

ChickenDish

Vegetable

RiceSeafood

Pork Dish

Appetizer

Must beHot&Sour

No Peanuts

No Peanuts

NotChow Mein

Not BothSpicy

Page 71: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Exploiting CSP StructureExploiting CSP Structure

Interleave inference and guessing

• At each internal node:

• Select unassigned variable

• Select a value in domain

• Backtracking: try another value– Branching factor?

• At each node:

• Propagate Constraints

Page 72: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Running Example: 4 QueensRunning Example: 4 Queens

Variables:

Q1 {1,2,3,4}

Q2 {1,2,3,4}

Q3 {1,2,3,4}

Q3 {1,2,3,4}

Q

Q

Q

Q

Q1 Q2

1 3

1 4

2 4

3 1

4 1

4 2

Constraints:

Page 73: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Constraint CheckingConstraint Checking

Q

Q

x

Q x

x

Q x

x x

Q x x

Q

x

x

Q x

Q

x

x Q

Q x x

Q x

x x

x Q x

Q x x x

Takes 5 guesses to determine first guess was wrong

Page 74: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Forward CheckingForward Checking

x

x

x

Q x x x

x x

Q x x

x x x

Q x x x

Q x x

x x

x x

Q x x x

Q x x

x x x

x Q x

Q x x x

Takes 3 guesses to determine first guess was wrong

When variable is set, immediately remove inconsistent values from domains of other variables

Page 75: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Arc ConsistencyArc Consistency

x

x

x

Q x x x

x

x

x

Q x x x

x

x

x x

Q x x

x x

x x

x x

Q x x

Iterate forward checking

Propagations:

1. Q3=3 inconsistent with Q4 {2,3,4}

2. Q2=1 and Q2=2 inconsistent with Q3 {1}

Inference alone determines first guess was wrong!

Page 76: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Huffman-ClowesLabelingHuffman-ClowesLabeling

++++

++-

Page 77: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Waltz’s Filtering: Arc-Consistency

Waltz’s Filtering: Arc-Consistency

•Lines: variables

•Conjunctions: constraints

•Initially Di = {+,-, , )

•Repeat until no changes:

Choose edge (variable)

Delete labels on edge not consistent with both endpoints

Page 78: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

No labeling!No labeling!

                                                       

Page 79: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Path ConsistencyPath Consistency

Path consistency (3-consistency):• Check every triple of variables• More expensive!• k-consistency:

• n-consistency: backtrack-free search

1

| | k-tuples to check

Worst case: each iteration eliminates 1 choice

| || | iterations

| || | steps! (But usually not this bad)

k

k

V

D V

D V

Page 80: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Variable and Value SelectionVariable and Value Selection

• Select variable with smallest domain– Minimize branching factor

– Most likely to propagate: most constrained variable heuristic

• Which values to try first?– Most likely value for solution

– Least propagation! Least constrained value

• Why different?– Every constraint must be eventually satisfied

– Not every value must be assigned to a variable!

• Tie breaking?– In general randomized tie breaking best – less likely

to get stuck on same bad pattern of choices

Page 81: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

CSPs in the real world

• Scheduling Space Shuttle Repair

• Transportation Planning

• Computer Configuration– AT&T CLASSIC Configurator

• #5ESS Switching System

• Configuring new orders: 2 months 2 hours

Page 82: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

CPGomes - AAAI00

Quasigroup Completion Problem (QCP)

Quasigroup Completion Problem (QCP)

Given a partial assignment of colors (10 colors in this case), can the partial quasigroup (latin square) be completed so we obtain a full quasigroup?

Example:

32% preassignment

(Gomes & Selman 97)

Page 83: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

CPGomes - AAAI00

QCP Example Use: Routers in Fiber Optic Networks

QCP Example Use: Routers in Fiber Optic Networks

Dynamic wavelength routing in Fiber Optic Networks can be directly mapped into the Quasigroup Completion Problem.

(Barry and Humblet 93, Cheung et al. 90, Green 92, Kumar et al. 99)

•each channel cannot be repeated in the same input port (row constraints);• each channel cannot be repeated in the same output port (column constraints);

CONFLICT FREELATIN ROUTER

Inp

ut

po

rts

Output ports

3

1

2

4

Input Port Output Port

1

2

43

Page 84: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

CPGomes - AAAI00

QCP as a CSPQCP as a CSP

• Variables -

• Constraints -

}...,,2,1{, njix

....,,2,1,;,, njijicellofcolorjix

....,,2,1);,,...,2,

,1,

( ninixix

ixalldiff

....,,2,1);,,...,,2

,,1

( njjnxj

xj

xalldiff

)2(nO

)(nO

row

column

Page 85: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Hill Climbing

• Idea– Always choose best child,

no backtracking

• Evaluation– Complete?

– Space Complexity?

– Complexity of random restart hillclimbing, with success probability P

Page 86: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Simulated Annealing / Random Walk• Objective: avoid local minima• Technique:

– For the most part use hill climbing– Occasionally take non-optimal step– Annealing: Reduce probability (non-optimal) over time

• Comparison to Hill Climbing– Completeness?– Speed?– Space Complexity?

Time

Temperature

Objective

Page 87: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Backtracking with Randomized Restarts

• Idea:– If backtracking algorithm does not find solution quickly, it

is like to be stuck in the wrong part of the search space• Early decisions were bad!

– So kill the run after T seconds, and restart• Requires randomized heuristic, so choices not always the same

– Why does it often work?• Many problems have a small set of “backdoor” variables – guess them on a

restart, and your are done! (Andrew, Selman, Gomes 2003)

– Completeness?

Page 88: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Demos!

• N-QueensBacktracking vs. Local Search

• Quasigroup CompletionRandomized Restarts

• Travelling SalesmanSimulated Annealing

Page 89: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

ExerciseExercise

Peer interviews: Real-world constraint satisfaction problems

1. Break into pairs2. 7 minute interview – example of needing to

solve a CSP type problem (work or life). Interviewer takes notes:

• Describe problem• What techniques actually used• Any techniques from class that could have been used?

3. Switch roles4. A few teams present now5. Hand in notes (MSR – have someone collect

and mail to me at dept)

Page 90: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Planning as CSP• Phase 1 - Convert planning problem in a CSP

• Choose a fixed plan length• Boolean variables

– Action executed at a specific time point

– Proposition holds at a specific time point

• Constraints – Initial conditions true in first state, goals true in final state

– Actions do not interfere

– Relation between action, preconditions, effects

• Phase 2 - Solution Extraction• Solve the CSP

Page 91: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

91

Planning Graph Representation of CSP

PropositionInit State

ActionTime 1

PropositionTime 1

ActionTime 2

Precondition constraints

Effect constraints

Page 92: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Constructing the planning graph…

• Initial proposition layer– Just the initial conditions

• Action layer i– If all of an action’s preconditionss are in i-1– Then add action to layer I

• Proposition layer i+1– For each action at layer i– Add all its effects at layer i+1

Page 93: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

93

Mutual Exclusion

• Actions A,B exclusive (at a level) if– A deletes B’s precondition, or – B deletes A’s precondition, or – A & B have inconsistent preconditions

• Propositions P,Q inconsistent (at a level) if– All ways to achieve P exclude all ways to achieve Q

• Constraint propagation (arc consistency)– Can force variables to become true or false– Can create new mutexes

Page 94: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

94

Solution Extraction

• For each goal G at last time slice N:

• Solve( G, N )

• Solve( G, t ):CHOOSE action A making G true @t that is not

mutex with a previously chosen action

If no such action, backtrack to last choice point

For each precondition P of A:Solve(P, t-1)

Page 95: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

95

Graphplan

• Create level 0 in planning graph

• Loop– If goal contents of highest level (nonmutex)– Then search graph for solution

• If find a solution then return and terminate

– Else Extend graph one more level

A kind of double search: forward direction checks necessary

(but insufficient) conditions for a solution, ...

Backward search verifies...

Page 96: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Dinner Date

Initial Conditions: (:and (cleanHands) (quiet))

Goal: (:and (noGarbage) (dinner) (present))

Actions:(:operator carry :precondition

:effect (:and (noGarbage) (:not (cleanHands)))(:operator fire :precondition

:effect (:and (noGarbage) (:not (paper)))(:operator cook :precondition (cleanHands)

:effect (dinner))(:operator wrap :precondition (paper)

:effect (present))

Page 97: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Planning Graph noGarb

cleanH

paper

dinner

present

carry

fire

cook

wrap

cleanH

paper

0 Prop 1 Action 2 Prop 3 Action 4 Prop

Page 98: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Are there any exclusions? noGarb

cleanH

paper

dinner

present

carry

noopfire

noopcook

wrap

cleanH

paper

0 Prop 1 Action 2 Prop 3 Action 4 Prop

Page 99: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Do we have a solution? noGarb

cleanH

paper

dinner

present

cleanH

paper

0 Prop 1 Action 2 Prop 3 Action 4 Prop

carry

noopfire

noopcook

wrap

Page 100: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Extend the Planning Graph noGarb

cleanH

paper

dinner

present

noopcarry

noopfire

noopcook

noopwrap

noop

cleanH

paper

noGarb

cleanH

paper

dinner

present

0 Prop 1 Action 2 Prop 3 Action 4 Prop

carry

noopfire

noopcook

wrap

Page 101: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

One (of 4) Solutions noGarb

cleanH

paper

dinner

present

noopcarry

noopfire

noopcook

noopwrap

noop

cleanH

paper

noGarb

cleanH

paper

dinner

present

0 Prop 1 Action 2 Prop 3 Action 4 Prop

carry

noopfire

noopcook

wrap

Page 102: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Search AlgorithmsSearch Algorithms

Backtrack Search1. DFS 2. BFS / Dijkstra’s

Algorithm3. Iterative Deepening4. Best-first search5. A*

Constraint Propagation1. Forward Checking2. k-Consistency3. DPLL & Resolution

Local Search1. Hillclimbing2. Simulated annealing3. Walksat

Page 103: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Representing Knowledge in Propositional Logic

Representing Knowledge in Propositional Logic

R&N Chapter 7

Page 104: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Basic Idea of LogicBasic Idea of Logic

By starting with true assumptions, you can deduce true conclusions.

Page 105: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

TruthTruth

Francis Bacon (1561-1626) No pleasure is comparable to the standing upon the vantage-ground of truth.

Thomas Henry Huxley (1825-1895) Irrationally held truths may be more harmful than reasoned errors.

John Keats (1795-1821) Beauty is truth, truth beauty; that is allYe know on earth, and all ye need to know.

Blaise Pascal (1623-1662) We know the truth, not only by the reason, but also by the heart.

François Rabelais (c. 1490-1553) Speak the truth and shame the Devil.

Daniel Webster (1782-1852) There is nothing so powerful as truth, and often nothing so strange.

Page 106: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Propositional LogicPropositional Logic

Ingredients of a sentence:1. Propositions (variables)2. Logical Connectives , , ,

literal = a variable or a negated variable

• A possible world assigns every proposition the value true or false

• A truth value for a sentence can be derived from the truth value of its propositions by using the truth tables of the connectives

• The meaning of a sentence is the set of possible worlds in which it is true

Page 107: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Truth Tables for ConnectivesTruth Tables for Connectives

0 0

0 1

1 0

1 1

0 0

0 1

1 0

1 1

0 0

0 1

1 0

1 1

0

1

Page 108: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Special Syntactic FormsSpecial Syntactic Forms

• General PL:

((q r) s)) (s t)• Conjunction Normal Form (CNF)

( q r s ) ( s t)

Set notation: { ( q, r, s ), ( s, t) }

empty clause () = false

• Binary clauses: 1 or 2 literals per clause

( q r) ( s t)

• Horn clauses: 0 or 1 positive literal per clause

( q r s ) ( s t)

(qr) s (st) false

Page 109: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Satisfiability, Validity, & EntailmentSatisfiability, Validity, & Entailment

• S is satisfiable if it is true in some world

• Example:

• S is unsatisfiable if it is false all worlds

• S is valid if it is true in all worlds

• S1 entails S2 if wherever S1 is true S2 is true

Page 110: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Reasoning TasksReasoning Tasks

• Model finding

KB = background knowledge

S = description of problem

Show (KB S) is satisfiable

A kind of constraint satisfaction

• Deduction

S = question

Prove that KB S

Two approaches:1. Rules to derive new formulas from old (inference)

2. Show (KB S) is unsatisfiable

Page 111: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

InferenceInference

• Mechanical process for computing new sentences

• Resolution

{ (p ), ( p ) } R ( )

• Correctness

If S1 R S2 then S1 S2

• Refutation Completeness:

If S is unsatisfiable then S R ()

Page 112: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

ResolutionResolution

( A H)

(M A)

( H) (I H)

( M)

( M I)(I)(A)

(M)

()

If the unicorn is mythical, then it is immortal, but if it is not mythical, it is a mammal. If the unicorn is either immortal or a mammal, then it is horned.

Prove: the unicorn is horned.

M = mythical

I = immortal

A = mammal

H = horned

Page 113: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

New Variable TrickNew Variable Trick

Putting a formula in clausal form may increase its size exponentially

But can avoid this by introducing dummy variables(abc)(def) {(ad),(ae),(af),

(bd),(be),(bf), (cd),(ce),(cf) }

(abc)(def) {(gh),(abcg),(ga),(gb),(gc), (defh),(hd),(he),(hf)}

Dummy variables don’t change satisfiability!

Page 114: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

DPLLDavis Putnam Loveland Logmann

DPLLDavis Putnam Loveland Logmann

• Model finding: Backtrack search over space of partial truth assignments

DPLL( wff ):

Simplify wff: for each unit clause (Y)

Remove clauses containing Y

if no clause left then return true (satisfiable)

Shorten clauses contain Y

if empty clause then return false

Choose a variable

Choose a value (0/1) – yields literal X

if DPLL( wff, X ) return true (satisfiable)

else return DPLL(wff, X)

Page 115: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

DPLLDavis Putnam Loveland Logemann

DPLLDavis Putnam Loveland Logemann

• Backtrack search over space of partial truth assignments

DPLL( wff ):

Simplify wff: for each unit clause (Y)

Remove clauses containing Y

if no clause left then return true (satisfiable)

Shorten clauses contain Y

if empty clause then return false

Choose a variable

Choose a value (0/1) – yields literal X

if DPLL( wff, X ) return true (satisfiable)

else return DPLL(wff, X)

unit propagation

= arc consistency

Page 116: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Horn TheoriesHorn Theories

Recall the special case of Horn clauses:

{ ( q r s ), ( s t) }

{ ((qr) s ), ((st) false) }

Many problems naturally take the form of such if/then rules

• If (fever) AND (vomiting) then FLU

Unit propagation is refutation complete for Horn theories

• Good implementation – linear time!

Page 117: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

CPGomes - AAAI00

DPLLDPLL

• Developed 1962 – still the best complete algorithm for propositional reasoning

• State of the art solvers use:

Smart variable choice heuristics

“Clause learning” – at backtrack points, determine minimum set of choices that caused inconsistency, add new clause

Limited resolution (Agarwal, Kautz, Beame 2002)

Randomized tie breaking & restarts

• Chaff – fastest complete SAT solver

Created by 2 Princeton undergrads, for a summer project!

Superscaler processor verification

AI planning - Blackbox

Page 118: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

CPGomes - AAAI00

ExerciseExercise

• How could we represent the Quasigroup Completion Problem as a Boolean formula in CNF form?

(take 10 minutes to sketch solution)

Page 119: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

CPGomes - AAAI00

WalkSatWalkSat

Local search over space of complete truth assignments

With probability P: flip any variable in any unsat clause

With probability (1-P): flip best variable in any unsat clause

Like fixed-temperature simulated annealing

• SAT encodings of QCP, N-Queens, scheduling

• Best algorithm for random K-SAT

Best DPLL: 700 variables

Walksat: 100,000 variables

Page 120: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Random 3-SAT

Random 3-SAT sample uniformly from

space of all possible 3-clauses

n variables, l clauses

Which are the hard instances? around l/n = 4.3

Page 121: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Random 3-SAT

Varying problem size, n

Complexity peak appears to be largely invariant of algorithm backtracking algorithms

like Davis-Putnam local search procedures

like GSAT

What’s so special about 4.3?

Page 122: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Random 3-SAT

Complexity peak coincides with solubility transition

l/n < 4.3 problems under-constrained and SAT

l/n > 4.3 problems over-constrained and UNSAT

l/n=4.3, problems on “knife-edge” between SAT and UNSAT

Page 123: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Real-World Phase Transition Phenomena

Many NP-hard problem distributions show phase transitions - job shop scheduling problems TSP instances from TSPLib exam timetables @ Edinburgh Boolean circuit synthesis Latin squares (alias sports scheduling)

Hot research topic: predicting hardness of a given instance, & using hardness to control search strategy (Horvitz, Kautz, Ruan 2001-3)

Page 124: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Logical Reasoning about Time &

Change

AKA

Planning as Satisfiability

Salvidor Dali, Persistance of Memory

Page 125: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

ActionsActions

We want to relate changes in the world over time to actions associated with those changes

How are actions represented?

1. As functions from one state to another

2. As predicates that are true in the state in which they (begin to) occur

Page 126: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Actions as Functions: “Situation Calculus”

Actions as Functions: “Situation Calculus”

On(cat, mat, S0)

Happy(cat, S0) On(cat, mat, kick(S0)) Happy(cat, kick(S0))

Happy(cat, pet(kick(S0)))

Branching time:

kickpet

kick

kick

pet

pet

S0

Page 127: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Actions as Predicates:“Action Calculus”

Actions as Predicates:“Action Calculus”

On(cat, mat, S0) Happy(S0)

Kick(cat, S0) On(cat, mat, S1) Happy(CAT99, S1)

Pet(CAT99, S1) On(CAT99, MAT37, S2) Happy(CAT99, S2)

Linear time:

kick pet

S0 S1 S2

Page 128: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Relating Actions to Preconditions & Effects

Relating Actions to Preconditions & Effects

Strips notation:Action: Fly( plane, start, dest )Precondition: Airplane(plane), City(start), City(dest),

At(plane, start)Effect: At(plane, dest), At(plane, start)

Pure strips: no negative preconditions!

Need to represent logically:• An action requires it’s predications• An action causes it’s effects• Interfering actions do not co-occur• Changes in the world are the result of actions.

Page 129: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Preconditions & EffectsPreconditions & Effects

plane, start, dest, s . Fly(plane, start, dest, s) [ At(plane, start, s)

Airplane(plane,s) City(start) City(dest) ]

• Note: state indexes on predicates that never change not necessary.

plane, start, dest, s . Fly(plane, start, dest, s) At(plane, dest, s+1)

• In action calculus, the logical representation of “requires” and “causes” is the same!

• Not a full blown theory of causation, but good enough…

Page 130: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Interfering ActionsInterfering Actions

Want to rule out:

Fly( PLANE32, NYC, DETROIT, S4) Fly( PLANE32, NYC, DETROIT, S4)

Actions interfere if one changes a precondition or effect of the other

They are mutually exclusive – “mutex”

p, c1, c2, c3, c4, s . [Fly(p, c1, c2, s) (c1 c3 c2 c4) ]

Fly(p, c3, c4, s)

(Similar for any other actions Fly is mutex with)

Page 131: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Explanatory AxiomsExplanatory Axioms

• Don’t want world to change “by magic” – only actions change things

• If a proposition changes from true to false (or vice-versa), then some action that can change it must have occurred

plane, start, s . [ Airplane(plane) City(start) At(plane,start,s) At(plane,city,s+1) ] dest . [ City(dest) Fly(plane, start, dest, s) ]

plane, dest, s . [ Airplane(plane) City(start) At(plane,dest,s) At(plane,dest,s+1) ] start . [ City(start) Fly(plane, start, dest, s) ]

Page 132: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

The Frame ProblemThe Frame Problem

General form of explanatory axioms:[ p(s) p(s+1) ] [ A1(s) A2(s) … An(s) ]

As a logical consequence, if none of these actions occurs, the proposition does not change

[A1(s) A2(s) … An(s) ] [ p(s) p(s+1) ]

This solves the “frame problem” – being able to deduce what does not change when an action occurs

Page 133: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Frame Problem in AIFrame Problem in AI

• Frame problem identified by McCarthy in his first paper on the situation calculus (1969)

667 papers in researchindex !

• Lead to a (misguided?) 20 year effort to develop non-standard logics where no frame axioms are required (“non-monotonic”)

7039 papers!

• 1990 - Haas and Schubert independently pointed out that explanatory axioms are pretty easy to write down

Page 134: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Planning as SatisfiabilityPlanning as Satisfiability

• Idea: in action calculus assert that initial state holds at time 0 and goal holds at some time (in the future):

• Axioms Initial s . Goal(s)

• Any model that satisfies these assertions and the axioms for actions corresponds to a plan

• Bounded model finding, i.e. satisfiability testing:

1. Assert goal holds at a particular time K

2. Ground out (instantiate) the theory up to time K

3. Try to find a model; if so, done!

4. Otherwise, increment K and repeat

Page 135: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Reachability AnalysisReachability Analysis

• Problem: many irrelevant propositions, large formulas

• Reachability analysis: what propositions actually connect to initial state or goal in K steps?

• Graphplan’s plan graph computes reachable set!

• Blackbox (Kautz & Selman 1999)

• Run graphplan to generate plan graph• Translate plan graph to CNF formula• Run any SAT solver

Page 136: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Translation of Plan GraphTranslation of Plan Graph

Fact Act1 Act2

Act1 Pre1 Pre2

¬Act1 ¬Act2

Act1

Act2

Fact

Pre1

Pre2

Page 137: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Improved EncodingsImproved Encodings

Translations of Logistics.a:

STRIPS Axiom Schemas SAT

• 3,510 variables, 16,168 clauses

• 24 hours to solve

STRIPS Plan Graph SAT(Blackbox)

• 2,709 variables, 27,522 clauses

• 5 seconds to solve!

Page 138: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Model-Based DiagnosisModel-Based Diagnosis

Idea:

• Create a logical model of the correct functioning of a device

• When device is broken, observations + model is inconsistent

• Create diagnosis by restoring consistency

Page 139: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Simplified KBSimplified KB

Knowledge Base:SignalValueA ValveAok ValveAopenSignalValueB ValveBok ValveBopenSignalValueC ValveCok ValveCopen ValveAopen EngineHasFuelValveBopen EngineHasFuelValveCopen EngineHasOxyEngineHasFuel EngineHasOxy EngineFires

Normal Assumptions:ValveAok, ValveBok, ValveCok

Direct Actions (cannot fail):SignalValveA, SignalValveB, SignalValveC

Observed: EngineFires

Page 140: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Diagnosis: 1Diagnosis: 1

Knowledge Base:SignalValueA ValveAok ValveAopenSignalValueB ValveBok ValveBopenSignalValueC ValveCok ValveCopen ValveAopen EngineHasFuelValveBopen EngineHasFuelValveCopen EngineHasOxyEngineHasFuel EngineHasOxy EngineFires

Normal Assumptions:ValveAok, ValveBok, ValveCok

Direct Actions (cannot fail):SignalValveA, SignalValveB, SignalValveC

Observed: EngineFires Inconsistent by Unit

Propagation

Page 141: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Diagnosis: 2Diagnosis: 2

Knowledge Base:SignalValueA ValveAok ValveAopenSignalValueB ValveBok ValveBopenSignalValueC ValveCok ValveCopen ValveAopen EngineHasFuelValveBopen EngineHasFuelValveCopen EngineHasOxyEngineHasFuel EngineHasOxy EngineFires

Normal Assumptions:ValveAok, ValveBok, ValveCok

Direct Actions (cannot fail):SignalValveA, SignalValveB, SignalValveC

Observed: EngineFires Still Inconsistent

Page 142: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Diagnosis: 3Diagnosis: 3

Knowledge Base:SignalValueA ValveAok ValveAopenSignalValueB ValveBok ValveBopenSignalValueC ValveCok ValveCopen ValveAopen EngineHasFuelValveBopen EngineHasFuelValveCopen EngineHasOxyEngineHasFuel EngineHasOxy EngineFires

Normal Assumptions:ValveAok, ValveBok, ValveCok

Direct Actions (cannot fail):SignalValveA, SignalValveB, SignalValveC

Observed: EngineFires Consistency Restored!

Diagnosis: Valve A and Valve B broken (double fault)

Page 143: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Diagnosis: 4Diagnosis: 4

Knowledge Base:SignalValueA ValveAok ValveAopenSignalValueB ValveBok ValveBopenSignalValueC ValveCok ValveCopen ValveAopen EngineHasFuelValveBopen EngineHasFuelValveCopen EngineHasOxyEngineHasFuel EngineHasOxy EngineFires

Normal Assumptions:ValveAok, ValveBok, ValveCok

Direct Actions (cannot fail):SignalValveA, SignalValveB, SignalValveC

Observed: EngineFires

A different way to restore consistency

Diagnosis: Valve C broken (single fault)

Page 144: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Diagnostic Engine for NASA’s Deep Space One

•2,000 variable CNF formula

•Real-time planning and diagnosis

Page 145: Sessions 1 & 2 Introduction to AI; Planning & Search CSE 592 Applications of Artificial Intelligence Henry Kautz Winter 2003

Beyond LogicBeyond Logic

• Often you want most likely diagnosis rather than all possible diagnoses

• Can assign probabilities to sets of fault, and search for most likely way to restore consistency

• But suppose observations and model of the device are also uncertain?

• Next: Probabilistic Reasoning in Bayesian Networks