Date post: | 29-Dec-2015 |
Category: |
Documents |
Upload: | emerald-garrison |
View: | 215 times |
Download: | 2 times |
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