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

Post on 29-Dec-2015

215 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Sessions 1 & 2Introduction to AI;Planning & Search

Sessions 1 & 2Introduction 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?

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

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

• Classical AIDisembodied Intelligence

• Autonomous SystemsEmbodied Intelligence

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

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

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

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?

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

courtesy JPL

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

Speed & CapacitySpeed & Capacity

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)

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.

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

… 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

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/

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

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

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…

Example: Route

Planning

Example: Route

Planning

Input:

• State set

• Start state

• Goal state test

• Operators

Output:

Example: Robot Control (Blocks World)

Example: Robot Control (Blocks World)

Input:

• State set

• Start state

• Goal state test

• Operators (and costs)

Output:

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?

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

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

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

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

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

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)

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)

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

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

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)

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]

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

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)

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

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

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

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

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

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

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?

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

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!

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

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

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

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

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

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

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!

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

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

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

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

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

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

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

Maze Runner Demo

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

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

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?

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

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

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

Map ColoringMap Coloring

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

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

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

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

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:

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

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

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!

Huffman-ClowesLabelingHuffman-ClowesLabeling

++++

++-

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

No labeling!No labeling!

                                                       

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

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

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

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)

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

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

Hill Climbing

• Idea– Always choose best child,

no backtracking

• Evaluation– Complete?

– Space Complexity?

– Complexity of random restart hillclimbing, with success probability P

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

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?

Demos!

• N-QueensBacktracking vs. Local Search

• Quasigroup CompletionRandomized Restarts

• Travelling SalesmanSimulated Annealing

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)

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

91

Planning Graph Representation of CSP

PropositionInit State

ActionTime 1

PropositionTime 1

ActionTime 2

Precondition constraints

Effect constraints

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

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

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)

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

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

Planning Graph noGarb

cleanH

paper

dinner

present

carry

fire

cook

wrap

cleanH

paper

0 Prop 1 Action 2 Prop 3 Action 4 Prop

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

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

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

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

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

Representing Knowledge in Propositional Logic

Representing Knowledge in Propositional Logic

R&N Chapter 7

Basic Idea of LogicBasic Idea of Logic

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

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.

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

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

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

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

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

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

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

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!

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)

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

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!

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

CPGomes - AAAI00

ExerciseExercise

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

(take 10 minutes to sketch solution)

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

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

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?

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

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)

Logical Reasoning about Time &

Change

AKA

Planning as Satisfiability

Salvidor Dali, Persistance of Memory

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

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

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

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.

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…

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)

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

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

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

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

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

Translation of Plan GraphTranslation of Plan Graph

Fact Act1 Act2

Act1 Pre1 Pre2

¬Act1 ¬Act2

Act1

Act2

Fact

Pre1

Pre2

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!

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

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

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

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

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)

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)

Diagnostic Engine for NASA’s Deep Space One

•2,000 variable CNF formula

•Real-time planning and diagnosis

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

top related