Title: Artificial Intelligence 15381
1 Artificial Intelligence 15-381
- Introduction to AI Search Methods I
- Jaime Carbonell
- jgc_at_cs.cmu.edu
- 28 August 2001
2Todays Topics
- Are we in the right class?
- What exactly is AI, anyway?
- AI searchknowledgelearning
- AI application areas
- Course Outline
- Administration and grading ?
- Basic search methods
3What is AI Some Quick Answers
- From the Media AI is
- What socially-inept superhackers do
- The opposite of natural stupidity
- Building useful idiot-savant programs
- Deep Blue (IBMs chess program)
- Robots with feelings (Spielberg)
4What is AI Some Quick Answers (cont.)
- From Academia AI is
- modeling aspects of human cognition by computer
- the study of solving ill-formed problems
- "nothing more" than advanced algorithms research
- cool stuff! Machine learning, data mining,
speech, language, vision, web agentsand you can
actually get paid a lot for having fun! - what other CS folks dont yet know how to do,
and we AIers arent always too sure either
5Operationally Speaking, AI is
- Applied Cognitive Science
- Computational models of human reasoning
- Problem solving
- Scientific thinking
- Models of non-introspective mental processes
- Language comprehension, language learning
- Human memory organization (STM, LTM)
6Operationally Speaking, AI is
- Knowledge Engineering
- Codify human knowledge for specific tasks
- E.g. Medical diagnosis, Machine Translation
- Central in 1970s 80s?just one lecture here
- Problem-Solving Methods
- How to encode and use knowledge to find answer
- E.g. HS, MEA, A, Logic resolution
- Always at the very core of AI?many lectures
7Operationally Speaking, AI is
- Machine Learning
- Learning as the hallmark of intelligencebut it
is already practical in multiple applications - E.g. D-trees, rule-induction, reinforcement,
NNets - Discredited in 1960s? Vibrant core in 1990s
- Applications data text mining, speech,
robotics - Most active research area in AI? many lectures
8AI Application Areas
- Rule-Based Expert Systems
- Medical Diagnosis MYCIN, INTERNIST, PUFF
- CSP Scheduling ISIS, Airline scheduling
- Data Mining
- Financial Fraud detection, credit scoring
- Sales Customer preferences, inventory
- Science NASA galaxy DB, genome analysis
9AI Application Areas (cont.)
- Language Processing
- Speech dictation, HCI
- Language Machine Translation
- ML NLP Fact Extraction
- ML words Information Retrieval
- Robotics
- Machine Vision
- Mobile Robots agents
- Manipulation
10AI-Based Problem Solving
- State-Space ltS, S0, SGj, Oigt
-
- S0 Initial State
- SG Goal State (to achieve)
- Oi Operators O S gt S
11AI-Based Problem Solving (cont.)
- State-Space Navigation
- Forward Search BFS, DFS, HS,
- Backward Search BFS-1, Backchaining,
- Bi-Directional Search BFS2,
- Goal Reduction Island-S, MEA
- Transformation S ? S
- Abstraction S ? SA MEA (SA)
- Analogy If Sim(P,P) then Sol(P)? Sol(P)
12More on the State Space
- Useful Functions
- Succ(si) sk oj(si) sk
- Reachable(si) Usk Succ (si)
- Succ-1(si) sk oj(sk) si)
- Reachable-1(si) Usk (Succ-1)(si)
- s-Path(sa0, san) (sa0, sa1,, san)
- such that for all sa1 exists oj(sai) sai1
- o-Path(sa0, san) (oj0, oj1,, ojn-1)
- such that for all sa1 exists oj(sai) sai1
13More on the State Space (cont.)
- Useful Concepts
- Solution o-Path(s0, sG) or s-Path
- Cost(Solution) ?cost(oj) (often cost(oj) 1)
- P is solvable if at least one o-Path(s0, sG)
exists - Solutions may be constructed forward, backward or
any which way - State spaces may be finite, infinite, implicit or
explicit
14Zero-Knowledge Search
- Simple Depth-First Search
- DFS(Scurr, Sgoal, S-queue)
- IF Scurr Sgoal, SUCCESS
- ELSE Append(Succ(Scurr), S-queue)
- IF Null(S-queue), FAILURE
- ELSE DFS(First(S-queue), Sgoal, Trail(S-queue))
15Depth First Search
1
SI
2
7
3
8
5
4
SG
6
16DFS (cont.)
- Problems with DFS
- Deep (possibly infinite) rat holes
- ? depth-bounded DFS, D max depth
- Loops Succ(Succ(..Succ(S))) S
- ? Keep s-Path and always check Scurr
- Non-Optimality Other paths may be less costly
- ? No fix here for DFS
- Worst-case time complexity (O(bmax(D,d))
17DFS (cont.)
- When is DFS useful?
- Very-high solution density
- Satisficing vs. optimizing
- Memory-limited search O(d) space
- Solution at Known-depth (then Dd)
18Zero Knowledge Search (cont.)
- Simple Breadth-First Search
- BFS(Scurr, Sgoal, S-queue)
- IF Scurr Sgoal, SUCCESS
- ELSE Append(Succ(Scurr), S-queue)
- IF Null(S-queue), FAILURE
- ELSE BFS(Last(S-queue), Sgoal,
All-But-Last(S-queue))
19Breadth-First Search
1
4
3
2
11
10
9
8
7
6
5
12
SG
20Simple BFS cont.
- Problems with BFS
- Loops Succ(Succ(Succ(S)))S
- Pseudo-loops Revisiting old states off-path
- ? Keep full visited prefix tree
- Worst case time complexity O(bd)
- Worst case space complexity O(bd)
- When is BFS Useful?
- Guarantee shortest path
- Very sparse solution space (better if some
solution is close to SI)
21Zero Knowledge Search (cont.)
- Backwards Breadth-First Search
- BFS(Scurr, Sinit, S-queue)
- IF Scurr Sinit, SUCCESS
- ELSE Append(Succ-1(Scurr), S-queue)
- IF Null(S-queue), FAILURE
- ELSE BFS(Last(S-queue), Sinit,
All-But-Last(S-queue))
22Backwards Breadth-First Search
9
SI
8
7
6
5
4
3
2
1
SG
23Backward-BFS (cont.)
- Problems with Backward-BFS
- All the ones for BFS
- Succ(Scurr) must be invertible Succ-1(Scurr)
- When is Backward-BFS useful?
- In general, same as BFS
- If backward branchingltforward branching
24Bi-Directional Search
- Algorithm
- Initialize Fboundary Sinit
- Initialize Bboundary Sgoal
- Initialize treef Sinit
- Initialize treeb Sgoal
- For every Sf in Fboundary
- IF Succ(Sf) intersects Bboundary
- THEN return APPEND(Path(treef), Path-1(treeb))
- ELSE Replace Sf by Succ(Sf) UPDATE (treef)
- 6. For every Sb in Bboundary
- IF Succ(Sb) intersects Fboundary
- THEN return APPEND(Path(treef),
Path-1(treeb)) - ELSE Replace Sb by Succ-1(Sb) UPDATE
(treeb) - 7. o to 5.
- Note wheres the bug?
25Bi-Directional Breadth-First Search
1
SI
3
4
8
9
10
11
12
13
7
5
6
2
SG
26Bi-Directional Search (cont.)
- Problems with Bi-BFS
- Loops Succ(Succ(Succ(S))) S
- Loops Succ-1(Succ-1( Succ-1(S)))) S
- Pseudo-loops Revisiting old states off-path
- ? Keep full visited prefix treef, trees
- Succ(Scurr)must be invertible Succ-1(Scurr)
- When is Bi-BFS useful?
- Space and time complexity
- O(bfd/2) O(bbd/2) O(bd/2) if bf bb
27Island-Driven BFS
- Definition
- An island is a state known a-priori to be on the
solution path between Sinit and Sgoal. - If there are k sequential islands
- BFS(Sinit, S-(goal)
- APPEND(BFS(Sinit, Sk1), BFS(Sk1, Sk2),BFS(SIk,
Sgoal)) - Upper bound complexity O(kmaxi0kbdki,ki1)
- Complexity if islands are evenly spaced
- O((k1)bd/(k1))
-
28Island-Driven Search
1
SI
SIsland
SG