Download Introduction to Artificial Intelligence and Search problems

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Minimax wikipedia , lookup

Embodied cognitive science wikipedia , lookup

Genetic algorithm wikipedia , lookup

Computer Go wikipedia , lookup

Collaborative information seeking wikipedia , lookup

Stemming wikipedia , lookup

Transcript
Artificial Intelligence
Lesson 1
1
About
• Lecturers: Prof. Sarit Kraus, Mr. Ariel Rosenfeld
• TA: Ariel Rosenfeld: [email protected]
– Write 89-570 in the header.
• (almost) All you need can be found on the
course website:
– http://u.cs.biu.ac.il/~rosenfa5/
– Artificial Intelligence - a modern
approach (3rd edition)
– How to get it?
2
Course Requirements 1
•
•
•
•
•
The grade is comprised of 70% exam and 30% exercises.
3 programming exercises will be given. Work individually.
All the exercises are counted for the final grade.
10% each.
Exercises will be written in C++ or JAVA only. It should
be compiled and run on planet machine, and will be
submitted via “submit”. Be precise!
– Details will be provided in the following tirgulim!
3
Course Requirements 2
• Exercises are not hard, but work is required. Plan your
time ahead!
• When sending me mail please include the course number
(89-570) in the header, to pass the automatic spam filter.
• You will be required to participate in a few AI
experiments.
– Chats.
– Lab experiments (e.g., robots).
– Participation is MANDATORY!
4
Course Schedule (Tentative)
• Lesson 1:
– Introduction
– Transferring a general problem to a graph
search problem.
• Lesson 2
– Uninformed Search (BFS, DFS etc.).
• Lesson 3
– Informed Search (A*,Best-First-Search etc.).
5
Course Schedule – Cont.
• Lesson 4
– Local Search (Hill Climbing, Genetic
algorithms etc.).
• Lesson 5
– “Search algorithms” chapter summary.
• Lesson 6-7
– Game-Trees: Min-Max & Alpha-Beta
algorithms.
6
Course Schedule – Cont.
• Lesson 8-9
– Planning: STRIPS algorithm
• Lesson 10-11-12
– Learning: Decision-Trees, Neural Network,
Naïve Bayes, Bayesian Networks and more.
• Lesson 13: Robotics
• Lesson 14
– Questions and exercise.
7
AI – Alternative Definitions
• Elaine Rich and Kevin Knight: AI is the study of how to
make computers do things at which, at the moment, people
are better.
• Stuart Russell and Peter Norvig: [AI] has to do with
smart programs, so let's get on and write some.
• Claudson Bornstein: AI is the science of common sense.
• Douglas Baker: AI is the attempt to make computers do
what people think computers cannot do.
• Astro Teller: AI is the attempt to make computers do what
they do in the movies.
8
Examples
https://www.youtube.com/watch?v=3EQA679D
FRg
https://www.youtube.com/watch?v=8RWo8LCg
JPc
https://www.youtube.com/watch?v=qv6UVOQ0
F44
https://www.youtube.com/watch?v=mSh67zb0Z
m4
Practical problems – Scheduling
http://www.airplanegame.us/air-traffic-chiefflight-control-games/?play=game
So what is AI all about?
• We will talk about it in the lecture…
• But…
11
Are we there yet?
12
AI & Search
• "The two most fundamental concerns of AI
researchers are knowledge representation and
search”
• “knowledge representation … addresses the
problem of capturing in a language…suitable for
computer manipulation”
• “Search is a problem-solving technique that
systematically explores a space of problem
states”.Luger, G.F. Artificial Intelligence: Structures and Strategies for
Complex Problem Solving
13
Solving Problems with Search
Algorithms
• Input: a problem P.
• Preprocessing:
– Define states and a state space
– Define Operators
– Define a start state and goal set of states.
• Processing:
– Activate a Search algorithm to find a path from
start to one of the goal states.
14
Example - Missionaries & Cannibals
http://www.novelgames.com/en/spg
ames/missionaries/
Example - Missionaries & Cannibals
State space – [M,C,B]
Initial State – [3,3,1]
Goal State – [0,0,0]
Operators – adding or subtracting the
vectors [1,0,1], [2,0,1], [0,1,1], [0,2,1] or
[1,1,1]
• Path – moves from [3,3,1] to [0,0,0]
• Path Cost – river trips
•
•
•
•
• http://www.plastelina.net/game2.html
• http://www.youtube.com/watch?v=W9NEWxabGmg
16
Let’s try a more difficult one…
17
18
Breadth-First-Search Pseudo code
• Intuition: Treating the graph as a tree and scanning topdown.
• Algorithm:
BFS(Graph graph, Node start, Vector Goals)
1. L make_queue(start)
2. While L not empty loop
1.
n  L.remove_front()
2.
If goal (n) return true
3.
S  successors (n)
4.
L.insert(S)
3. Return false
19
Breadth-First-Search Attributes
• Completeness – yes (b  , d  )
• Optimality – yes, if graph is unweighted.
• Time Complexity:
O(b d )
• Memory Complexity: O(b d )
– Where b is branching factor and d is the
solution depth
20
Exam Q
• 2015 B
21
Artificial Intelligence
Lesson 2
22
Uninformed Search
• Uninformed search methods use only
information available in the problem
definition.
–
–
–
–
–
23
Breadth First Search (BFS)
Depth First Search (DFS)
Iterative DFS (IDA)
Bi-directional search
Uniform Cost Search (a.k.a. Dijkstra alg.)
Depth-First-Search Pseudo code
DFS(Graph graph, Node start, Vector Goals)
1. L make_stack(start)
2. While L not empty loop
2.1 n  L.remove_front()
2.2 If goal (n) return true
2.3 S  successors (n)
2.4 L.insert(S)
3. Return false
24
Depth-First-Search Attributes
• Completeness – No. Infinite loops or
Infinite depth can occur.
• Optimality – No.
m
O
(
b
)
• Time Complexity:
• Memory Complexity: O (bm )
– Where b is branching factor and m is the
2
maximum depth of search tree
• See water tanks example
3
4
25
1
5
Limited DFS Attributes
• Completeness – Yes, if d≤l
• Optimality – No.
• Time Complexity: O(bl )
– If d<l, it is larger than in BFS
• Memory Complexity:
O(bl )
– Where b is branching factor and l is the
depth limit.
26
Depth-First Iterative-Deepening
0
1,3,
9
12
14
8,20
7,17c
5,13
c
4,10
11
2,6,16
15
c
18
19
21
The numbers represent the order generated by DFID
27
22
Iterative-Deepening Attributes
• Completeness – Yes
• Optimality – yes, if graph is un-weighted.
• Time Complexity:
O(( d )b  (d  1)b 2  ...  (1)b d )  O(b d )
• Memory Complexity: O ( db)
– Where b is branching factor and d is the maximum
depth of search tree
28
State Redundancies
• Closed list - a hash table which holds the
visited nodes.
– Prevent re-exploring of nodes.
– Hold solution path from start to
goal
Closed List
• For example BFS:
Open List (Frontier)
29
Duplicate Pruning
• Do not enter the father of the current state
– With or without using closed-list
• Using a closed-list, check the closed list before
entering new nodes to the open list
• Using a stack, check the current branch and stack
status before entering new nodes
30
Bi-directional Search
• Search both from initial state to goal state.
• Operators must be symmetric.
S
31
G
Bi-directional Search Attributes
• Completeness – Yes, if both directions use BFS
• Optimality – yes, if graph is un-weighted and both
directions use BFS.
d /2
O
(
b
)
• Time and memory Complexity:
• Pros.
– Cuts the search tree by half (at least theoretically).
• Cons.
– Frontiers must be constantly compared.
32
Minimum cost path
• General minimum cost path-search
problem:
– Find shortest path form start state to one of the
goal states in a weighted graph.
– Path cost function is g(n): sum of weights from
start state to goal.
33
Uniform Cost Search
• Also known as Dijkstra’s algorithm.
• Expand the node with the minimum path
cost first.
• Implementation: priority queue.
34
Example of Uniform Cost Search
• Assume an example tree with different edge costs, represented by
numbers next to the edges.
a
2
1
c
b
1
f
Notations for this example:
generated node
expanded node
35
2
gc
1
dc
2
ec
Example of Uniform Cost Search
2
Closed list:
36
Open
list:
a
0
a
1
Example of Uniform Cost Search
a
2
1
c
b
1
2
a
Closed list:
37
Open
list:
b
2
c
1
1
2
Example of Uniform Cost Search
a
2
1
c
b
1
2
a
c
Closed list:
38
Open
list:
b
2
d
2
e
3
1
dc
2
ec
Example of Uniform Cost Search
a
2
1
c
b
1
f
2
gc
a
c
b
d
2
e
3
f
3
1
dc
Closed list:
39
Open
list:
g
4
2
ec
Example of Uniform Cost Search
a
2
1
c
b
1
f
2
gc
a
c
b
e
3
f
3
g
4
Closed list:
40
Open
list:
1
dc
d
2
ec
Example of Uniform Cost Search
a
2
1
c
b
1
f
2
gc
a
c
f
3
g
4
Closed list:
41
Open
list:
b
1
dc
d
e
2
ec
Example of Uniform Cost Search
a
2
1
c
b
1
f
2
gc
a
Closed list:
42
Open
list:
g
4
c
b
2
1
dc
d
e
ec
f
Example of Uniform Cost Search
a
2
1
c
b
1
f
2
gc
a
Closed list:
43
Open
list:
c
b
2
1
dc
d
e
ec
f
g
Uniform Cost Search Attributes
• Completeness: yes, for positive weights
• Optimality: yes
c / e 
)
• Time & Memory complexity: O(b
– Where b is branching factor, c is the optimal solution cost
and e is the minimum edge cost (each operator cost at
least e).
– UCS uses cost path and not length path, therefore, the ‘d’
term is not used here.
44
Informed Search
• Incorporate additional measure of a
potential of a specific state to reach the
goal.
• A potential of a state to reach a goal is
measured through a heuristic function h(n).
• An evaluation function is denoted f(n).
45
Best First Search Algorithms
• Principle: Expand node n with the best
evaluation function value f(n).
• Implement via a priority queue
• Algorithms differ with definition of f :
– Greedy Search: f (n)  h(n)
– A*:
f ( n)  g ( n )  h ( n )
– IDA*: iterative deepening version of A*
– Etc’
46
Exercise
• Q: Does a Uniform-Cost search be considered as
a Best-First algorithm?
• A: Yes. It can be considered as a Best-First
algorithm with evaluation function f(n)=g(n).
• Q: In what scenarios IDS outperforms DFS?,
BFS?
• A:
– IDS outperforms DFS when the search tree is a lot
deeper than the solution depth.
– IDS outperforms BFS when BFS run out of memory.
47
Exercise – Cont.
• Q: Why do we need a closed list?
• A: Generally a closed list has two main functionalities:
– Prevent re-exploring of nodes.
– Hold solution path from start to goal (DFS based algorithms have
it anyway).
• Q: Does Breadth-FS find optimal path length in general?
• A: No, unless the search graph is un-weighted.
• Q: Will IDS always find the same solution as BFS given
that the nodes expansion order is deterministic?
• A: Yes. Each iteration of IDS explores new nodes the same
order a BFS does.
48