Lecture 2: Problem Solving - Ahmed...
Transcript of Lecture 2: Problem Solving - Ahmed...
![Page 1: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/1.jpg)
Intro to Artificial Intelligence
Lecture 2: Problem Solving
Ahmed Sallam { :// .:// . .
}
![Page 2: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/2.jpg)
Goal
• The theory and technology of building agents that can plan ahead to solve problems
• These problems characterized by having many states.
• Example: navigation problem where there are many states and you need to pick the right choice now and in all the following states streaming together a sequence of actions that guarantee to reach the goal.
![Page 3: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/3.jpg)
Not covered• Navigation in fog is a different problem where
the environment is partially observable and the possible paths are unknown .
![Page 4: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/4.jpg)
![Page 5: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/5.jpg)
Problem
• Find a route from Arad to Bucharest
![Page 6: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/6.jpg)
Problem definition
1. Initial state
2. Actions (state) -> {action1 ,action2 ,action3, …. }
3. Result (state, action) -> new state
4. GoalTeast (state) -> T / F
5. PathCost ( … ) -> cost
In this problem, the cost of the path is sum of the costs of Individual steps. So we need step cost function.
StepCost( , , ) -> cost #it may be number of KM or number of minuts
![Page 7: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/7.jpg)
Problem definition
• After every action we separate states out into 3 parts:▫ End of the paths (Frontier states)▫ Explored states▫ Unexplored states
![Page 8: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/8.jpg)
Solution
1. TreeSearch(problem)2. 3. frontiers={initial}4. 5. loop:6. if frontier is empty: return Fail 7. 8. path = frontiers.remove() //choose frontier9. s=path.end10. 11. if s is a goal: return path // test goal12. 13. for a in actions(s): //expand the path14. path.end(result(s,a) )15. frontiers.add(path)
![Page 9: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/9.jpg)
![Page 10: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/10.jpg)
Breadth First Search• Shortest path first search
A
Z
O
T
L
M
D
S
R
C
F
P
B
G
U
V
I
N
H
E
86
98
142
92
87
85
90
211
101
138
97
146
99
80
151
140
75
71
118
111
70
75
120
2
2
3
4
2
2
4
3
3
3
2
4
1
1
1
A
CB
ED GF
![Page 11: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/11.jpg)
Enhance Solution
1. GraphSearch(problem)2. 3. frontiers={initial}; explored={}4. 5. loop:6. if frontier is empty: return Fail 7. 8. path = frontiers.remove() //choose frontier9. s=path.end; explored.add(s)10. 11. if s is a goal: return path // test goal12. 13. for a in actions(s): //expand the path14. if result(s,a) ∉ explored and path.end(result(s,a)) ∉ frontiers15 path.end(result(s,a)) //add to the end of the path16. frontiers.add(path)
To avoid repeated paths we replace the tree search by a graph search
![Page 12: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/12.jpg)
Breadth First Search cont.
• Shortest path first search
A
Z
O
T
L
M
D
S
R
C
F
P
B
G
U
V
I
N
H
E
86
98
142
92
87
85
90
211
101
138
97
146
99
80
151
140
75
71
118
111
70
75
120
2
2
3
4
2
2
4
3
3
3
2
4
1
1
1
![Page 13: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/13.jpg)
BFS and Brute-force1. GraphSearch(problem)2. 3. frontiers={initial}; explored={}4. 5. loop:6. if frontier is empty: return Fail 7. 8. path = frontiers.remove() //choose frontier9. s=path.end; explored.add(s)10. 11. if s is a goal: return path // test goal12. 13. for a in actions(s): //expand the path14. if result(s,a) ∉ explored and path.end(result(s,a)) ∉ frontiers15. path.end(result(s,a))16. frontiers.add(path)
• Why we test the goal (line 11) after choosing the frontier , not after expanding the path???
• Does Breadth first search require this order? • It depends on what “shortest” means, if it means length we can
enhance this order to terminate after expanding. However, if it means the distance, this order becomes important.
• So the answer here is No, BFS don’t need this order and we can test the goal directly after expanding.
![Page 14: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/14.jpg)
Uniform-Cost Search• Cheapest first search
A
Z
O
T
L
M
D
S
R
C
F
P
B
G
U
V
I
N
H
E
86
98
142
92
87
85
90
211
101
138
97
146
99
80
151
140
75
71
118
111
70
75
120
146
229
299
374
220
239
418
317
366
460
291
455
75
140
118
![Page 15: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/15.jpg)
UCS and Brute-force1. GraphSearch(problem)2. 3. frontiers={initial}; explored={}4. 5. loop:6. if frontier is empty: return Fail 7. 8. path = frontiers.remove() //choose frontier9. s=path.end; explored.add(s)10. 11. if s is a goal: return path // test goal12. 13. for a in actions(s): //expand the path14. if result(s,a) ∉ explored and path.end(result(s,a)) ∉ frontiers15. path.end(result(s,a))16. frontiers.add(path)
• Again: Why we test the goal (line 11) after choosing the frontier , not after expanding the path???
• Does Uniform-Cost search require this order? • Yes, this order is important here.
![Page 16: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/16.jpg)
Depth First Search• longest path first search
A
Z
O
T
L
M
D
S
R
C
F
P
B
G
U
V
I
N
H
E
86
98
142
92
87
85
90
211
101
138
97
146
99
80
151
140
75
71
118
111
70
75
120
2
2
3
4
4
4
4
3
3
5
3
4
11
1
![Page 17: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/17.jpg)
![Page 18: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/18.jpg)
Optimality
• Which algorithm is optimal with respect to the frontiers Selection Criteria ?
Breadth first Cheapest first Depth first
5
3 2
2
4 2
![Page 19: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/19.jpg)
Memory• Depth First search is not optimal, why we still using it?
▫ Because it saves the memory when we have a large tree.
Breadth first Cheapest first Depth first
123...n
123...n
123...n
![Page 20: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/20.jpg)
Completeness• Does Depth First guaranty to find a solution? (Completeness)
▫ No, because the solution depends on the problem space. In other words, if the problem has an infinite space then Depth First could miss the right path forever.
Infinite space
Depth first
![Page 21: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/21.jpg)
![Page 22: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/22.jpg)
Refereeing to the Uniform-Cost Search
• In uniform-cost search the searching contour with respect to the cost (distance) looks as following:
s G
![Page 23: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/23.jpg)
The Idea• If we have some more information about the
distance between S and G we can direct the search toward the goal.
• This known as: Greedy best-first search
s G
![Page 24: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/24.jpg)
The Idea cont.
• Greedy best-first search depends on estimated distance between S and the goal.
• This would result to accept a longer path under some conditions.
• Can we can combine the benefits of Uniform-Cost search and Greedy best first search ?
s G
![Page 25: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/25.jpg)
A* search (best estimated total path cost first)
• Combines the benefits of Uniform-Cost search and Greedy best first search with a new search function f=g+h.▫ g(path)=path cost▫ h(path)=estimated distance to the goal.
• Benefits: ▫ Minimizing ‘g’ keep the path cheap.▫ Minimizing ‘h’ keep focus on finding the goal.
s xg hG
![Page 26: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/26.jpg)
A* search• best estimated total path cost first)
A
Z
O
T
L
M
D
S
R
C
F
P
B
G
U
V
I
N
H
E
86
98
142
92
87
85
90
211
101
138
97
146
99
80
151
140
75
71
118
111
70
75
120
2
2
3
4
2
2
4
3
3
3
2
4
1
1
1
h
![Page 27: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/27.jpg)
A* search• Best estimated total path cost first)• F=g+h
A
Z
O
T
L
M
D
S
R
C
F
P
B
G
U
V
I
N
H
E
86
98
142
92
87
85
90
211
101
138
97
146
99
80
151
140
75
71
118
111
70
75
120
291+380=671
220+193=413
239+178=417
418+0=418
317+98=415
366+160=426
455+160=615
75+374=449
140+253=393
118+329=447
h
450+0=450
![Page 28: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/28.jpg)
A* analysis• Does A* always find the lost cost path?
YesNo, depends on the problem No, depends on h
• Lowest cost only if h(s)< true cost (s->g)• This means ‘h’ never overestimate distance to the goal • ‘h’ in this called optimistic• Also ‘h’ is admissible to find the lowest cost path.
![Page 29: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/29.jpg)
![Page 30: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/30.jpg)
Vacuum cleaner world
2 * 28
![Page 31: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/31.jpg)
Vacuum cleaner state space
• Goal formulation: intuitively, we want all the dirt cleaned up. Formally, the goal is { state 7, state 8 }.
• Problem formulation: we already know what the set of all possible states is. The actions/operators are "move left", "move right", and "vacuum".
![Page 32: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/32.jpg)
Why we need search techniques?
• Power (On / Off / Sleep)• Camera (On /Of)• Brush Height (1, 2, 3, 4, 5)
• States=10 * 210 * 3 * 2 * 5 (Large state space)
J
![Page 33: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/33.jpg)
Sliding blocks puzzle
• h1= no. of misplaced blocks
• h2=
![Page 34: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/34.jpg)
Sliding blocks puzzle
Which one is admissible ?
h1= no. of misplaced blocksh2=
h1< h2 , thus h2 expand fewer pathes
![Page 35: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/35.jpg)
Where is the Intelligence ?
• The intelligence if the agent was able to automatically find a good heuristic function.
• e.g. the agent know that: a block can move from A to B▫ If (A adjacent to B) ▫ If (B is blank)
• h1= no. of misplaced blocks• h2=∑ .
h2
h1
![Page 36: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/36.jpg)
Where is the Intelligence ? cont.
• So heuristic rules can be derived automatically from the formal description of the problem.
• A good heuristic would be ▫ h = max (h1, h2)
• h1= no. of misplaced blocks• h2=∑ .
![Page 37: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/37.jpg)
![Page 38: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/38.jpg)
Problem-solving works when:
• Fully Observable• Discrete• Deterministic • Static
![Page 39: Lecture 2: Problem Solving - Ahmed Sallamsallamah.weebly.com/uploads/6/9/3/5/6935631/ai-2015-f-02.pdf · Intro to Artificial Intelligence Lecture 2: Problem Solving ... that can plan](https://reader031.fdocuments.net/reader031/viewer/2022020214/5b1510207f8b9a467c8d85a3/html5/thumbnails/39.jpg)
Implementation
• Path can be represented by data structure “Node”
s x G
StateActions
CostParent
GXG230
X
XSX170
S
SNull
0Null