SlideShare a Scribd company logo
1 of 62
Download to read offline
INCREMENTAL SEARCH
AI Frontiers 2018
PROBLEM STATEMENT
Given a potentially inaccurate map of the environment, 

navigate from S to G
PROBLEM STATEMENT
Given a potentially inaccurate map of the environment, 

navigate from S to G
PROBLEM STATEMENT
• Proactive approach:
• Take uncertainty into account during planning. Computationally
expensive
• Reactive approach:
• Plan optimistically and replan if necessary. Computationally cheaper
HIGH LEVEL OPERATIONS
Case 1: 

Assume given map is accurate
(and the map is accurate)
HIGH LEVEL OPERATIONS
1. Input: Map of the environment
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path. If path is blocked, update the map and
go to step 3
HIGH LEVEL OPERATIONS
1. Input: Map of the environment
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path. If path is blocked, update the map and
go to step 3
HIGH LEVEL OPERATIONS
1. Input: Map of the environment
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path. If path is blocked, update the map and
go to step 3
HIGH LEVEL OPERATIONS
1. Input: Map of the environment
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path If path is blocked, update the map and
go to step 3
HIGH LEVEL OPERATIONS
1. Input: Map of the environment
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path If path is blocked, update the map and
go to step 3
HIGH LEVEL OPERATIONS
1. Input: Map of the environment
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path If path is blocked, update the map and
go to step 3
HIGH LEVEL OPERATIONS
1. Input: Map of the environment
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path If path is blocked, update the map and
go to step 3
HIGH LEVEL OPERATIONS
Case 2: 

Assume given map is inaccurate
HIGH LEVEL OPERATIONS
1. Input: Optimistic map (assume there are no obstacles)
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path. If path is blocked, update the map and
go to step 3
HIGH LEVEL OPERATIONS
1. Input: Optimistic map (assume there are no obstacles)
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path. If path is blocked, update the map and
go to step 3
HIGH LEVEL OPERATIONS
1. Input: Optimistic map (assume there are no obstacles)
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path. If path is blocked, update the map and
go to step 3
HIGH LEVEL OPERATIONS
1. Input: Optimistic map (assume there are no obstacles)
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path. If path is blocked, update the map and 

go to step 3
HIGH LEVEL OPERATIONS
1. Input: Optimistic map (assume there are no obstacles)
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path. If path is blocked, update the map and 

go to step 3
HIGH LEVEL OPERATIONS
1. Input: Optimistic map (assume there are no obstacles)
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path. If path is blocked, update the map and 

go to step 3
HIGH LEVEL OPERATIONS
1. Input: Optimistic map (assume there are no obstacles)
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path. If path is blocked, update the map and 

go to step 3
HIGH LEVEL OPERATIONS
1. Input: Optimistic map (assume there are no obstacles)
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path. If path is blocked, update the map and 

go to step 3
HIGH LEVEL OPERATIONS
1. Input: Optimistic map (assume there are no obstacles)
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path. If path is blocked, update the map and 

go to step 3
HIGH LEVEL OPERATIONS
1. Input: Optimistic map (assume there are no obstacles)
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path. If path is blocked, update the map and 

go to step 3
HIGH LEVEL OPERATIONS
1. Input: Optimistic map (assume there are no obstacles)
2. Discretize the search space
3. Find a shortest path to the goal
4. Move along path. If path is blocked, update the map and 

go to step 3
Instead of searching for a shortest path from
scratch, reuse information from the previous
search to speed up the current search
INCREMENTAL SEARCH
First search Second search
reusing information 

from the first search
...
INCREMENTAL SEARCH
• Generally, there are two classes of algorithms:
• Algorithms that improve heuristics:
• AA* [Koenig & Likhachev, AAMAS ’05]
• MT-AA* [Koenig, Likhachev & Sun, AAMAS ’07]
• GAA* [Sun, Koenig &Yeoh, AAMAS ’08]
• ...
• Algorithms that transform search trees:
• G-FRA* [Sun,Yeoh & Koenig, AAMAS ’10]
• FRA* [Sun,Yeoh & Koenig, IJCAI ’09]
• ...
INCREMENTAL SEARCH
• Generally, there are two classes of algorithms:
• Algorithms that improve heuristics:
• AA* [Koenig & Likhachev, AAMAS ’05]
• MT-AA* [Koenig, Likhachev & Sun, AAMAS ’07]
• GAA* [Sun, Koenig &Yeoh, AAMAS ’08]
• ...
• Algorithms that transform search trees:
• G-FRA* [Sun,Yeoh & Koenig, AAMAS ’10]
• FRA* [Sun,Yeoh & Koenig, IJCAI ’09]
• ...
BACKGROUND: A*
• Maintains three values for each cell s
• g(s): cost from start to s
• h(s): estimated cost from s to goal
• f(s) = g(s) + h(s): estimated cost from start to goal
• Maintains two lists
• CLOSED: Contains expanded cells (i.e., cells whose shortest path from
start is known)
• OPEN: Priority queue that contains generated cells
BACKGROUND: A*
1 5

2
1 6

2
0 7

6
1 8

2
1 4

2
1 5

2
1 6

2
1 7

2
1 4

2
1 5

2
1 6

2
1 2

2
1 3

2
1 4

2
1 5

2
1 1

2
1 2

2
1 3

2
1 4

2
1 4

2
1 3

2
0 2

2 S
1 0

2 G
while(goal ∉ CLOSED)
{
s = argmins∈OPEN f(s)
move s to CLOSED
for all neighboring cells c of s
{
if(c ∉ OPEN ∪ CLOSED)
set g(c) and f(c)
add c to OPEN
else if(c ∈ OPEN)
update g(c) and f(c)
}
}
A
E
D
C
B
G
F
1 2 3 4 5 6 7
g h

f f = g + h CLOSEDOPEN parent pointers
BACKGROUND: A*
1 5

2
1 6

2
0 7

6
1 8

2
1 4

2
1 5

2
1 6

2
1 7

2
1 4

2
1 5

2
1 6

2
1 2

2
1 3

2
1 4

2
1 5

2
1 1

2
1 2

2
1 3

2
1 4

2
1 4

2
1 3

4
0 2

2 S
1 0

2 G
while(goal ∉ CLOSED)
{
s = argmins∈OPEN f(s)
move s to CLOSED
for all neighboring cells c of s
{
if(c ∉ OPEN ∪ CLOSED)
set g(c) and f(c)
add c to OPEN
else if(c ∈ OPEN)
update g(c) and f(c)
}
}
A
E
D
C
B
G
F
1 2 3 4 5 6 7
g h

f f = g + h CLOSEDOPEN parent pointers
BACKGROUND: A*
1 5

2
1 6

2
0 7

6
1 8

2
2 4

6
1 5

2
1 6

2
1 7

2
1 4

2
1 5

2
1 6

2
1 2

2
1 3

2
1 4

2
1 5

2
1 1

2
1 2

2
1 3

2
1 4

2
2 4

6
1 3

4
0 2

2 S
1 0

2 G
while(goal ∉ CLOSED)
{
s = argmins∈OPEN f(s)
move s to CLOSED
for all neighboring cells c of s
{
if(c ∉ OPEN ∪ CLOSED)
set g(c) and f(c)
add c to OPEN
else if(c ∈ OPEN)
update g(c) and f(c)
}
}
A
E
D
C
B
G
F
1 2 3 4 5 6 7
g h

f f = g + h CLOSEDOPEN parent pointers
BACKGROUND: A*
3 5

8
1 6

2
0 7

6
1 8

2
2 4

6
3 5

8
1 6

2
1 7

2
1 4

2
1 5

2
1 6

2
1 2

2
1 3

2
1 4

2
1 5

2
1 1

2
1 2

2
1 3

2
1 4

2
2 4

6
1 3

4
0 2

2 S
1 0

2 G
while(goal ∉ CLOSED)
{
s = argmins∈OPEN f(s)
move s to CLOSED
for all neighboring cells c of s
{
if(c ∉ OPEN ∪ CLOSED)
set g(c) and f(c)
add c to OPEN
else if(c ∈ OPEN)
update g(c) and f(c)
}
}
A
E
D
C
B
G
F
1 2 3 4 5 6 7
g h

f f = g + h CLOSEDOPEN parent pointers
BACKGROUND: A*
3 5

8
4 6

10
0 7

6
1 8

2
2 4

6
3 5

8
4 6

10
1 7

2
4 4

8
5 5

10
1 6

2
6 2

8
5 3

8
6 4

10
1 5

2
7 1

8
6 2

8
7 3

10
1 4

2
2 4

6
1 3

4
0 2

2 S
8 0

8 G
while(goal ∉ CLOSED)
{
s = argmins∈OPEN f(s)
move s to CLOSED
for all neighboring cells c of s
{
if(c ∉ OPEN ∪ CLOSED)
set g(c) and f(c)
add c to OPEN
else if(c ∈ OPEN)
update g(c) and f(c)
}
}
A
E
D
C
B
G
F
1 2 3 4 5 6 7
g h

f f = g + h CLOSEDOPEN parent pointers
BACKGROUND: A*
3 5

8
4 6

10
0 7

6
1 8

2
2 4

6
3 5

8
4 6

10
1 7

2
4 4

8
5 5

10
1 6

2
6 2

8
5 3

8
6 4

10
1 5

2
7 1

8
6 2

8
7 3

10
1 4

2
2 4

6
1 3

4
0 2

2 S
8 0

8 G
while(goal ∉ CLOSED)
{
s = argmins∈OPEN f(s)
move s to CLOSED
for all neighboring cells c of s
{
if(c ∉ OPEN ∪ CLOSED)
set g(c) and f(c)
add c to OPEN
else if(c ∈ OPEN)
update g(c) and f(c)
}
}
A
E
D
C
B
G
F
1 2 3 4 5 6 7
g h

f f = g + h CLOSEDOPEN parent pointers
INCREMENTAL SEARCH
• Generally, there are two classes of algorithms:
• Algorithms that improve heuristics:
• AA* [Koenig & Likhachev, AAMAS ’05]
• MT-AA* [Koenig, Likhachev & Sun, AAMAS ’07]
• GAA* [Sun, Koenig &Yeoh, AAMAS ’08]
• ...
• Algorithms that transform search trees:
• G-FRA* [Sun,Yeoh & Koenig, AAMAS ’10]
• FRA* [Sun,Yeoh & Koenig, IJCAI ’09]
• ...
ALGORITHM 1: AA*
• Adaptive A* (AA*) [Koenig & Likhachev, AAMAS ’05]
• Uses standard A* searches
• Updates h-values to make them more informed, i.e. better estimates
• Speeds up the A* searches
ALGORITHM 1: AA*
Main idea:
g(s) + cost(s, goal) ≥ g(goal)

cost(s,goal) ≥ g(goal) - g(s)

hnew(s) = g(goal) - g(s)
s
goalstart
g(goal)
cost(s,goal)g(s)
ALGORITHM 1: AA*
3 5

8
4 6

10
2 4

6
3 5

8
4 6

10
4 4

8
5 5

10
6 2

8
5 3

8
6 4

10
7 1

8
6 2

8
7 3

10
2 4

6
1 3

4
0 2

2 S
8 0

8 G
while(goal ∉ CLOSED)
{
s = argmins∈OPEN f(s)
move s to CLOSED
for all neighboring cells c of s
{
if(c ∉ OPEN ∪ CLOSED)
set g(c) and f(c)
add c to OPEN
else if(c ∈ OPEN)
update g(c) and f(c)
}
}
A
E
D
C
B
G
F
1 2 3 4 5 6 7
g h

f f = g + h CLOSEDOPEN parent pointers
ALGORITHM 1: AA*
3 5

8
4 6

10
2 4

6
3 5

8
4 6

10
4 4

8
5 5

10
6 2

8
5 3

8
6 4

10
7 1

8
6 2

8
7 3

10
2 4

6
1 3

4
0 2

2 S
8 0

8 G
while(goal ∉ CLOSED)
{
s = argmins∈OPEN f(s)
move s to CLOSED
for all neighboring cells c of s
{
if(c ∉ OPEN ∪ CLOSED)
set g(c) and f(c)
add c to OPEN
else if(c ∈ OPEN)
update g(c) and f(c)
}
}
A
E
D
C
B
G
F
1 2 3 4 5 6 7
g h

f f = g + h CLOSEDOPEN parent pointers
ALGORITHM 1: AA*
3 5

8
4 6

10
2 4

6
3 5

8
4 6

10
4 4

8
5 5

10
6 2

8
5 3

8
6 4

10
7 1

8
6 2

8
7 3

10
2 4

6
1 3

4
0 2

2 S
8 0

8 G
while(goal ∉ CLOSED)
{
s = argmins∈OPEN f(s)
move s to CLOSED
for all neighboring cells c of s
{
if(c ∉ OPEN ∪ CLOSED)
set g(c) and f(c)
add c to OPEN
else if(c ∈ OPEN)
update g(c) and f(c)
}
}
A
E
D
C
B
G
F
1 2 3 4 5 6 7
g h

f f = g + h CLOSEDOPEN parent pointers
ALGORITHM 1: AA*
3 5

8
4 6

10
2 4

6
3 5

8
4 6

10
4 4

8
5 5

10
6 2

8
5 3

8
6 4

10
7 1

8
6 2

8
7 3

10
2 4

6
1 3

4
0 2

2 S
8 0

8 G
while(goal ∉ CLOSED)
{
s = argmins∈OPEN f(s)
move s to CLOSED
for all neighboring cells c of s
{
if(c ∉ OPEN ∪ CLOSED)
set g(c) and f(c)
add c to OPEN
else if(c ∈ OPEN)
update g(c) and f(c)
}
}
A
E
D
C
B
G
F
1 2 3 4 5 6 7
g h

f f = g + h CLOSEDOPEN parent pointers
ALGORITHM 1: AA*
2 5

7
1 6

7
2 7

9
1 4

5
0 5

5 S
1 6

7
2 7

9
2 5

7
3 6

9
7 2

9
4 3

7
3 4

7
4 5

9
6 1

7
5 2

7
4 3

7
5 4

9
3 4

7
2 3

5
3 2

5
7 0

7 G
1 2 3 4 5 6 7
2 5

7
1 6

7
2 7

9
1 6

7
0 5

5 S
1 6

7
2 7

9
2 5

7
3 6

9
7 2

9
4 3

7
3 4

7
4 5

9
6 1

7
5 2

7
4 3

7
5 4

9
3 6

9
2 7

9
7 0

7 G
A
E
D
C
B
G
F
1 2 3 4 5 6 7
Adaptive A* A*
ALGORITHM 1: AA*
• Results:
• Up to 20% faster than A* on grids with Manhattan distance as
h-values
• Typically, the worse the h-values, the larger the speedup
• Well-suited for high dimensional search spaces, where h-values
are often bad
ALGORITHM 1: AA*
Other algorithms in this class:
• MT-AA* [Koenig, Likhachev & Sun, AAMAS ’07]
• Extension to search paths when the target moves
• GAA* [Sun, Koenig &Yeoh, AAMAS ’08]
• Extension to handle decreasing costs
• Applied to control the robotic arm at the International Space Station by
the Canadian Space Agency [Belghith, Kabanza & Hartman, AIS ’10]
• Trea-AA* [Hernandez, Sun, Koenig & Meseguer, AAMAS ’11]
• Extension to speed up the search by reusing search trees
INCREMENTAL SEARCH
• Generally, there are two classes of algorithms:
• Algorithms that improve heuristics:
• AA* [Koenig & Likhachev, AAMAS ’05]
• MT-AA* [Koenig, Likhachev & Sun, AAMAS ’07]
• GAA* [Sun, Koenig &Yeoh, AAMAS ’08]
• ...
• Algorithms that transform search trees:
• G-FRA* [Sun,Yeoh & Koenig, AAMAS ’10]
• FRA* [Sun,Yeoh & Koenig, IJCAI ’09]
• ...
ALGORITHM 2: G-FRA*
• Generalized Fringe-Retrieving A* (G-FRA*) 

[Sun,Yeoh & Koenig, AAMAS ’08]
• Uses standard A* searches
• Identifies portions of the search tree of the previous search that
can be reused
• Starts the search with these portions
BACKGROUND: A*
3 5

8
4 6

10
2 4

6
3 5

8
4 6

10
4 4

8
5 5

10
6 2

8
5 3

8
6 4

10
7 1

8
6 2

8
7 3

10
2 4

6
1 3

4
0 2

2 S
8 0

8 G
while(goal ∉ CLOSED)
{
s = argmins∈OPEN f(s)
move s to CLOSED
for all neighboring cells c of s
{
if(c ∉ OPEN ∪ CLOSED)
set g(c) and f(c)
add c to OPEN
else if(c ∈ OPEN)
update g(c) and f(c)
}
}
A
E
D
C
B
G
F
1 2 3 4 5 6 7
g h

f f = g + h CLOSEDOPEN parent pointers
BACKGROUND: A*
3 5

8
4 6

10
2 4

6
3 5

8
4 6

10
4 4

8
5 5

10
6 2

8
5 3

8
6 4

10
7 1

8
6 2

8
7 3

10
2 4

6
1 3

4
0 2

2 S
8 0

8 G
while(goal ∉ CLOSED)
{
s = argmins∈OPEN f(s)
move s to CLOSED
for all neighboring cells c of s
{
if(c ∉ OPEN ∪ CLOSED)
set g(c) and f(c)
add c to OPEN
else if(c ∈ OPEN)
update g(c) and f(c)
}
}
A
E
D
C
B
G
F
1 2 3 4 5 6 7
g h

f f = g + h CLOSEDOPEN parent pointers
BACKGROUND: A*
3 5

8
4 6

10
2 4

6
3 5

8
4 6

10
4 4

8
5 5

10
6 2

8
5 3

8
6 4

10
7 1

8
6 2

8
7 3

10
2 4

6
1 3

4
0 2

2 S
8 0

8 G
while(goal ∉ CLOSED)
{
s = argmins∈OPEN f(s)
move s to CLOSED
for all neighboring cells c of s
{
if(c ∉ OPEN ∪ CLOSED)
set g(c) and f(c)
add c to OPEN
else if(c ∈ OPEN)
update g(c) and f(c)
}
}
A
E
D
C
B
G
F
1 2 3 4 5 6 7
g h

f f = g + h CLOSEDOPEN parent pointers
BACKGROUND: A*
3 5

8
4 6

10
2 4

6
3 5

8
4 6

10
4 4

8
5 5

10
6 2

8
5 3

8
6 4

10
7 1

8
6 2

8
7 3

10
2 4

6
1 3

4
0 2

2 S
8 0

0 G
C3 C4
D2 D3 D4
E3
F2 F3 F4
C6
D6
E6
F6
C5
D5
E5E2
while(goal ∉ CLOSED)
{
s = argmins∈OPEN f(s)
move s to CLOSED
for all neighboring cells c of s
{
if(c ∉ OPEN ∪ CLOSED)
set g(c) and f(c)
add c to OPEN
else if(c ∈ OPEN)
update g(c) and f(c)
}
}
A
E
D
C
B
G
F
1 2 3 4 5 6 7
g h

f f = g + h CLOSEDOPEN parent pointers
C3 C4
D2 D3 D4
E2 E3
F2 F3 F4
C6
D6
E6
F6
C5
D5
E5
C3
C4
D2
D3
D4
E2
E3F2
F3
F4
C6
D6
E6
F6
C5
D5
E5
C3
C4
D2
D3
D4
E2
E3F2
F3
F4
C6
D6
E6
F6
C5
D5
E5
C3 C4
D2 D3 D4
E2 E3
F2 F3 F4
C6
D6
E6
F6
C5
D5
E5
ALGORITHM 2: G-FRA*
4 6

10
0 7

6
1 8

2
3 5

8
4 6

10
1 7

2
4 4

8
5 5

10
1 6

2
6 2

8
5 3

8
6 4

10
1 5

2
7 1

8
6 2

8
7 3

10
1 4

2
8 0

0 G
A
E
D
C
B
G
F
1 2 3 4 5 6 7
C3 C4
D2 D3 D4
E2 E3
F2 F3 F4
C6
D6
E6
F6
C5
D5
E5
High-level pseudocode:
1. Identify reusable portion of the
search tree
2. Remove the unreusable portion
3. Add the cells in the fringe to the
OPEN list
4. Restart the search
ALGORITHM 2: G-FRA*
0 7

6
4 6

10
0 7

6
0 7

6
3 5

8
4 6

10
4 4

8
5 5

10
6 2

8
5 3

8
6 4

10
7 1

8
6 2

8
7 3

10
0 7

6
0 7

6
0 7

6
8 0

0 G
C3 C4
D2 D3 D4
C6
D6
E6
F6
C5
D5
E5
A
E
D
C
B
G
F
1 2 3 4 5 6 7
High-level pseudocode:
1. Identify reusable portion of the
search tree
2. Remove the unreusable portion
ALGORITHM 2: G-FRA*
0 7

6
4 6

10
0 7

6
3 5

8
4 6

10
4 4

8
5 5

10
6 2

8
5 3

8
6 4

10
7 1

8
6 2

8
7 3

10
0 7

6
0 7

6
0 7

6
8 0

0 G
C3 C4
D2 D3 D4
C6
D6
E6
F6
C5
D5
E5E3
A
E
D
C
B
G
F
1 2 3 4 5 6 7
High-level pseudocode:
1. Identify reusable portion of the
search tree
2. Remove the unreusable portion
3. Add the cells in the fringe to the
OPEN list
ALGORITHM 2: G-FRA*
0 7

6
4 6

10
0 7

6
3 5

8
4 6

10
4 4

8
5 5

10
6 2

8
5 3

8
6 4

10
7 1

8
6 2

8
7 3

10
0 7

6
0 7

6
0 7

6
8 0

0 G
C3 C4
D2 D3 D4
C6
D6
E6
F6
C5
D5
E5
High-level pseudocode:
1. Identify reusable portion of the
search tree
2. Remove the unreusable portion
3. Add the cells in the fringe to the
OPEN list
4. Restart the search
E3
A
E
D
C
B
G
F
1 2 3 4 5 6 7
ALGORITHM 2: G-FRA*
0 7

6
4 6

10
0 7

6
3 5

8
4 6

10
4 4

8
5 5

10
6 2

8
5 3

8
6 4

10
7 1

8
6 2

8
7 3

10
0 7

6
0 7

6
0 7

6
8 0

0 G
C3 C4
D2 D3 D4
C6
D6
E6
F6
C5
D5
E5E3
A
E
D
C
B
G
F
1 2 3 4 5 6 7
High-level pseudocode:
1. Identify reusable portion of the
search tree
2. Remove the unreusable portion
3. Add the cells in the fringe to the
OPEN list
4. Restart the search
ALGORITHM 2: G-FRA*
• Results:
• Up to one order of magnitude faster than GAA*
• Typically, the larger the reusable portion of the search tree, the
faster the algorithm
• Well suited for problems that change only slightly between
search iterations
ALGORITHM 2: G-FRA*
Other algorithms in this class:
• FRA* [Sun,Yeoh & Koenig, IJCAI ’07]
• Optimized version of G-FRA* for navigation in 2D grids
• D* [Stentz, ICRA ’94], D* Lite [Koenig & Likhachev, AAAI ’02]
• Applied to the navigation of the Mars rovers
• Applied to the navigation of UGVs in the DARPA Urban Challenge
• MT-D* Lite [Sun,Yeoh & Koenig, AAMAS ’10]
• Combination of D* Lite and G-FRA* to speed up the search
SUMMARY
• Incremental search algorithms
• Reuses information to speed up the search
• Useful when one needs to search repeatedly for shortest paths
in a graph
• Often applied to robotics applications for autonomous
navigation

More Related Content

What's hot

Presentation - Bi-directional A-star search
Presentation - Bi-directional A-star searchPresentation - Bi-directional A-star search
Presentation - Bi-directional A-star searchMohammad Saiful Islam
 
Lecture 21 problem reduction search ao star search
Lecture 21 problem reduction search ao star searchLecture 21 problem reduction search ao star search
Lecture 21 problem reduction search ao star searchHema Kashyap
 
PR3 MODIS_VIIRS_Geo_Error_Trend_with_Kalman_Filter.pptx
PR3 MODIS_VIIRS_Geo_Error_Trend_with_Kalman_Filter.pptxPR3 MODIS_VIIRS_Geo_Error_Trend_with_Kalman_Filter.pptx
PR3 MODIS_VIIRS_Geo_Error_Trend_with_Kalman_Filter.pptxgrssieee
 
Cross-Validation and Big Data Partitioning Via Experimental Design
Cross-Validation and Big Data Partitioning Via Experimental DesignCross-Validation and Big Data Partitioning Via Experimental Design
Cross-Validation and Big Data Partitioning Via Experimental Designdans_salford
 
Helicopter rotor tip vortex diffusion
Helicopter rotor tip vortex diffusionHelicopter rotor tip vortex diffusion
Helicopter rotor tip vortex diffusionMichael Patterson
 
Lecture 14 Heuristic Search-A star algorithm
Lecture 14 Heuristic Search-A star algorithmLecture 14 Heuristic Search-A star algorithm
Lecture 14 Heuristic Search-A star algorithmHema Kashyap
 
TRB 2014 - Automatic Spatial-temporal Identification of Points of Interest in...
TRB 2014 - Automatic Spatial-temporal Identification of Points of Interest in...TRB 2014 - Automatic Spatial-temporal Identification of Points of Interest in...
TRB 2014 - Automatic Spatial-temporal Identification of Points of Interest in...Sean Barbeau
 
1984 Article on An Application of AI to Operations Reserach
1984 Article on An Application of AI to Operations Reserach1984 Article on An Application of AI to Operations Reserach
1984 Article on An Application of AI to Operations ReserachBob Marcus
 
Example of iterative deepening search & bidirectional search
Example of iterative deepening search & bidirectional searchExample of iterative deepening search & bidirectional search
Example of iterative deepening search & bidirectional searchAbhijeet Agarwal
 
Estimation of Signal Models for Aerospace and Industrial Applications slides
Estimation of Signal Models for Aerospace and Industrial Applications slidesEstimation of Signal Models for Aerospace and Industrial Applications slides
Estimation of Signal Models for Aerospace and Industrial Applications slidesAnirban Krishna Bhattacharyya
 

What's hot (18)

Astar algorithm
Astar algorithmAstar algorithm
Astar algorithm
 
Presentation - Bi-directional A-star search
Presentation - Bi-directional A-star searchPresentation - Bi-directional A-star search
Presentation - Bi-directional A-star search
 
Game Paper
Game PaperGame Paper
Game Paper
 
Lecture 21 problem reduction search ao star search
Lecture 21 problem reduction search ao star searchLecture 21 problem reduction search ao star search
Lecture 21 problem reduction search ao star search
 
A* Algorithm
A* AlgorithmA* Algorithm
A* Algorithm
 
PR3 MODIS_VIIRS_Geo_Error_Trend_with_Kalman_Filter.pptx
PR3 MODIS_VIIRS_Geo_Error_Trend_with_Kalman_Filter.pptxPR3 MODIS_VIIRS_Geo_Error_Trend_with_Kalman_Filter.pptx
PR3 MODIS_VIIRS_Geo_Error_Trend_with_Kalman_Filter.pptx
 
Cross-Validation and Big Data Partitioning Via Experimental Design
Cross-Validation and Big Data Partitioning Via Experimental DesignCross-Validation and Big Data Partitioning Via Experimental Design
Cross-Validation and Big Data Partitioning Via Experimental Design
 
Spatial SQL
Spatial SQLSpatial SQL
Spatial SQL
 
Helicopter rotor tip vortex diffusion
Helicopter rotor tip vortex diffusionHelicopter rotor tip vortex diffusion
Helicopter rotor tip vortex diffusion
 
Heuristic search
Heuristic searchHeuristic search
Heuristic search
 
Lecture 14 Heuristic Search-A star algorithm
Lecture 14 Heuristic Search-A star algorithmLecture 14 Heuristic Search-A star algorithm
Lecture 14 Heuristic Search-A star algorithm
 
A* algorithm
A* algorithmA* algorithm
A* algorithm
 
TRB 2014 - Automatic Spatial-temporal Identification of Points of Interest in...
TRB 2014 - Automatic Spatial-temporal Identification of Points of Interest in...TRB 2014 - Automatic Spatial-temporal Identification of Points of Interest in...
TRB 2014 - Automatic Spatial-temporal Identification of Points of Interest in...
 
1984 Article on An Application of AI to Operations Reserach
1984 Article on An Application of AI to Operations Reserach1984 Article on An Application of AI to Operations Reserach
1984 Article on An Application of AI to Operations Reserach
 
Example of iterative deepening search & bidirectional search
Example of iterative deepening search & bidirectional searchExample of iterative deepening search & bidirectional search
Example of iterative deepening search & bidirectional search
 
Lwrb ms
Lwrb msLwrb ms
Lwrb ms
 
A* Search Algorithm
A* Search AlgorithmA* Search Algorithm
A* Search Algorithm
 
Estimation of Signal Models for Aerospace and Industrial Applications slides
Estimation of Signal Models for Aerospace and Industrial Applications slidesEstimation of Signal Models for Aerospace and Industrial Applications slides
Estimation of Signal Models for Aerospace and Industrial Applications slides
 

Similar to Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-lecture 2: Incremental Search

AI3391 ARTIFICIAL INTELLIGENCE UNIT II notes.pdf
AI3391 ARTIFICIAL INTELLIGENCE UNIT II notes.pdfAI3391 ARTIFICIAL INTELLIGENCE UNIT II notes.pdf
AI3391 ARTIFICIAL INTELLIGENCE UNIT II notes.pdfAsst.prof M.Gokilavani
 
AI-04 Production System - Search Problem.pptx
AI-04 Production System - Search Problem.pptxAI-04 Production System - Search Problem.pptx
AI-04 Production System - Search Problem.pptxPankaj Debbarma
 
Heuristic Searching Algorithms Artificial Intelligence.pptx
Heuristic Searching Algorithms Artificial Intelligence.pptxHeuristic Searching Algorithms Artificial Intelligence.pptx
Heuristic Searching Algorithms Artificial Intelligence.pptxSwagat Praharaj
 
Heuristic approach optimization
Heuristic  approach optimizationHeuristic  approach optimization
Heuristic approach optimizationAng Sovann
 
Informed Search Techniques new kirti L 8.pptx
Informed Search Techniques new kirti L 8.pptxInformed Search Techniques new kirti L 8.pptx
Informed Search Techniques new kirti L 8.pptxKirti Verma
 
HEURISTIC SEARCH and other technique.pptx
HEURISTIC SEARCH and other technique.pptxHEURISTIC SEARCH and other technique.pptx
HEURISTIC SEARCH and other technique.pptxrakeshkumar12020604
 
FADML 10 PPC Solving NP-Hard Problems.pdf
FADML 10 PPC Solving NP-Hard Problems.pdfFADML 10 PPC Solving NP-Hard Problems.pdf
FADML 10 PPC Solving NP-Hard Problems.pdfYelah1
 
2-Heuristic Search.ppt
2-Heuristic Search.ppt2-Heuristic Search.ppt
2-Heuristic Search.pptMIT,Imphal
 
Artificial intelligence topic for the btech studentCT II.pptx
Artificial intelligence topic for the btech studentCT II.pptxArtificial intelligence topic for the btech studentCT II.pptx
Artificial intelligence topic for the btech studentCT II.pptxbharatipatel22
 
Artificial Intelligence_Searching.pptx
Artificial Intelligence_Searching.pptxArtificial Intelligence_Searching.pptx
Artificial Intelligence_Searching.pptxRatnakar Mikkili
 
Jarrar.lecture notes.aai.2011s.ch4.informedsearch
Jarrar.lecture notes.aai.2011s.ch4.informedsearchJarrar.lecture notes.aai.2011s.ch4.informedsearch
Jarrar.lecture notes.aai.2011s.ch4.informedsearchPalGov
 
Heuristic Searching: A* Search
Heuristic Searching: A* SearchHeuristic Searching: A* Search
Heuristic Searching: A* SearchIOSR Journals
 
Searching Informed Search.pdf
Searching Informed Search.pdfSearching Informed Search.pdf
Searching Informed Search.pdfDrBashirMSaad
 
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)Vissarion Fisikopoulos
 
Heuristic Search Techniques {Artificial Intelligence}
Heuristic Search Techniques {Artificial Intelligence}Heuristic Search Techniques {Artificial Intelligence}
Heuristic Search Techniques {Artificial Intelligence}FellowBuddy.com
 
AI3391 Session 10 A searching algorithm.pptx
AI3391 Session 10 A searching algorithm.pptxAI3391 Session 10 A searching algorithm.pptx
AI3391 Session 10 A searching algorithm.pptxAsst.prof M.Gokilavani
 
AIMA_ch3_L2-complement.ppt kjekfkjekjfkjefkjefkjek
AIMA_ch3_L2-complement.ppt kjekfkjekjfkjefkjefkjekAIMA_ch3_L2-complement.ppt kjekfkjekjfkjefkjefkjek
AIMA_ch3_L2-complement.ppt kjekfkjekjfkjefkjefkjekpavan402055
 
A* and Min-Max Searching Algorithms in AI , DSA.pdf
A* and Min-Max Searching Algorithms in AI , DSA.pdfA* and Min-Max Searching Algorithms in AI , DSA.pdf
A* and Min-Max Searching Algorithms in AI , DSA.pdfCS With Logic
 

Similar to Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-lecture 2: Incremental Search (20)

AI3391 ARTIFICIAL INTELLIGENCE UNIT II notes.pdf
AI3391 ARTIFICIAL INTELLIGENCE UNIT II notes.pdfAI3391 ARTIFICIAL INTELLIGENCE UNIT II notes.pdf
AI3391 ARTIFICIAL INTELLIGENCE UNIT II notes.pdf
 
AI-04 Production System - Search Problem.pptx
AI-04 Production System - Search Problem.pptxAI-04 Production System - Search Problem.pptx
AI-04 Production System - Search Problem.pptx
 
Heuristic Searching Algorithms Artificial Intelligence.pptx
Heuristic Searching Algorithms Artificial Intelligence.pptxHeuristic Searching Algorithms Artificial Intelligence.pptx
Heuristic Searching Algorithms Artificial Intelligence.pptx
 
Heuristic approach optimization
Heuristic  approach optimizationHeuristic  approach optimization
Heuristic approach optimization
 
Informed Search Techniques new kirti L 8.pptx
Informed Search Techniques new kirti L 8.pptxInformed Search Techniques new kirti L 8.pptx
Informed Search Techniques new kirti L 8.pptx
 
HEURISTIC SEARCH and other technique.pptx
HEURISTIC SEARCH and other technique.pptxHEURISTIC SEARCH and other technique.pptx
HEURISTIC SEARCH and other technique.pptx
 
FADML 10 PPC Solving NP-Hard Problems.pdf
FADML 10 PPC Solving NP-Hard Problems.pdfFADML 10 PPC Solving NP-Hard Problems.pdf
FADML 10 PPC Solving NP-Hard Problems.pdf
 
2-Heuristic Search.ppt
2-Heuristic Search.ppt2-Heuristic Search.ppt
2-Heuristic Search.ppt
 
DAA Notes.pdf
DAA Notes.pdfDAA Notes.pdf
DAA Notes.pdf
 
Artificial intelligence topic for the btech studentCT II.pptx
Artificial intelligence topic for the btech studentCT II.pptxArtificial intelligence topic for the btech studentCT II.pptx
Artificial intelligence topic for the btech studentCT II.pptx
 
Artificial Intelligence_Searching.pptx
Artificial Intelligence_Searching.pptxArtificial Intelligence_Searching.pptx
Artificial Intelligence_Searching.pptx
 
Jarrar.lecture notes.aai.2011s.ch4.informedsearch
Jarrar.lecture notes.aai.2011s.ch4.informedsearchJarrar.lecture notes.aai.2011s.ch4.informedsearch
Jarrar.lecture notes.aai.2011s.ch4.informedsearch
 
Heuristic Searching: A* Search
Heuristic Searching: A* SearchHeuristic Searching: A* Search
Heuristic Searching: A* Search
 
Searching Informed Search.pdf
Searching Informed Search.pdfSearching Informed Search.pdf
Searching Informed Search.pdf
 
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
 
Heuristic Search Techniques {Artificial Intelligence}
Heuristic Search Techniques {Artificial Intelligence}Heuristic Search Techniques {Artificial Intelligence}
Heuristic Search Techniques {Artificial Intelligence}
 
AI3391 Session 10 A searching algorithm.pptx
AI3391 Session 10 A searching algorithm.pptxAI3391 Session 10 A searching algorithm.pptx
AI3391 Session 10 A searching algorithm.pptx
 
AIMA_ch3_L2-complement.ppt kjekfkjekjfkjefkjefkjek
AIMA_ch3_L2-complement.ppt kjekfkjekjfkjefkjefkjekAIMA_ch3_L2-complement.ppt kjekfkjekjfkjefkjefkjek
AIMA_ch3_L2-complement.ppt kjekfkjekjfkjefkjefkjek
 
Rai practical presentations.
Rai practical presentations.Rai practical presentations.
Rai practical presentations.
 
A* and Min-Max Searching Algorithms in AI , DSA.pdf
A* and Min-Max Searching Algorithms in AI , DSA.pdfA* and Min-Max Searching Algorithms in AI , DSA.pdf
A* and Min-Max Searching Algorithms in AI , DSA.pdf
 

More from AI Frontiers

Divya Jain at AI Frontiers : Video Summarization
Divya Jain at AI Frontiers : Video SummarizationDivya Jain at AI Frontiers : Video Summarization
Divya Jain at AI Frontiers : Video SummarizationAI Frontiers
 
Training at AI Frontiers 2018 - LaiOffer Data Session: How Spark Speedup AI
Training at AI Frontiers 2018 - LaiOffer Data Session: How Spark Speedup AI Training at AI Frontiers 2018 - LaiOffer Data Session: How Spark Speedup AI
Training at AI Frontiers 2018 - LaiOffer Data Session: How Spark Speedup AI AI Frontiers
 
Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-Lecture 1: Heuristi...
Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-Lecture 1: Heuristi...Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-Lecture 1: Heuristi...
Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-Lecture 1: Heuristi...AI Frontiers
 
Training at AI Frontiers 2018 - Ni Lao: Weakly Supervised Natural Language Un...
Training at AI Frontiers 2018 - Ni Lao: Weakly Supervised Natural Language Un...Training at AI Frontiers 2018 - Ni Lao: Weakly Supervised Natural Language Un...
Training at AI Frontiers 2018 - Ni Lao: Weakly Supervised Natural Language Un...AI Frontiers
 
Training at AI Frontiers 2018 - Udacity: Enhancing NLP with Deep Neural Networks
Training at AI Frontiers 2018 - Udacity: Enhancing NLP with Deep Neural NetworksTraining at AI Frontiers 2018 - Udacity: Enhancing NLP with Deep Neural Networks
Training at AI Frontiers 2018 - Udacity: Enhancing NLP with Deep Neural NetworksAI Frontiers
 
Training at AI Frontiers 2018 - Lukasz Kaiser: Sequence to Sequence Learning ...
Training at AI Frontiers 2018 - Lukasz Kaiser: Sequence to Sequence Learning ...Training at AI Frontiers 2018 - Lukasz Kaiser: Sequence to Sequence Learning ...
Training at AI Frontiers 2018 - Lukasz Kaiser: Sequence to Sequence Learning ...AI Frontiers
 
Percy Liang at AI Frontiers : Pushing the Limits of Machine Learning
Percy Liang at AI Frontiers : Pushing the Limits of Machine LearningPercy Liang at AI Frontiers : Pushing the Limits of Machine Learning
Percy Liang at AI Frontiers : Pushing the Limits of Machine LearningAI Frontiers
 
Ilya Sutskever at AI Frontiers : Progress towards the OpenAI mission
Ilya Sutskever at AI Frontiers : Progress towards the OpenAI missionIlya Sutskever at AI Frontiers : Progress towards the OpenAI mission
Ilya Sutskever at AI Frontiers : Progress towards the OpenAI missionAI Frontiers
 
Mark Moore at AI Frontiers : Uber Elevate
Mark Moore at AI Frontiers : Uber ElevateMark Moore at AI Frontiers : Uber Elevate
Mark Moore at AI Frontiers : Uber ElevateAI Frontiers
 
Mario Munich at AI Frontiers : Consumer robotics: embedding affordable AI in ...
Mario Munich at AI Frontiers : Consumer robotics: embedding affordable AI in ...Mario Munich at AI Frontiers : Consumer robotics: embedding affordable AI in ...
Mario Munich at AI Frontiers : Consumer robotics: embedding affordable AI in ...AI Frontiers
 
Arnaud Thiercelin at AI Frontiers : AI in the Sky
Arnaud Thiercelin at AI Frontiers : AI in the SkyArnaud Thiercelin at AI Frontiers : AI in the Sky
Arnaud Thiercelin at AI Frontiers : AI in the SkyAI Frontiers
 
Anima Anandkumar at AI Frontiers : Modern ML : Deep, distributed, Multi-dimen...
Anima Anandkumar at AI Frontiers : Modern ML : Deep, distributed, Multi-dimen...Anima Anandkumar at AI Frontiers : Modern ML : Deep, distributed, Multi-dimen...
Anima Anandkumar at AI Frontiers : Modern ML : Deep, distributed, Multi-dimen...AI Frontiers
 
Wei Xu at AI Frontiers : Language Learning in an Interactive and Embodied Set...
Wei Xu at AI Frontiers : Language Learning in an Interactive and Embodied Set...Wei Xu at AI Frontiers : Language Learning in an Interactive and Embodied Set...
Wei Xu at AI Frontiers : Language Learning in an Interactive and Embodied Set...AI Frontiers
 
Sumit Gupta at AI Frontiers : AI for Enterprise
Sumit Gupta at AI Frontiers : AI for EnterpriseSumit Gupta at AI Frontiers : AI for Enterprise
Sumit Gupta at AI Frontiers : AI for EnterpriseAI Frontiers
 
Yuandong Tian at AI Frontiers : Planning in Reinforcement Learning
Yuandong Tian at AI Frontiers : Planning in Reinforcement LearningYuandong Tian at AI Frontiers : Planning in Reinforcement Learning
Yuandong Tian at AI Frontiers : Planning in Reinforcement LearningAI Frontiers
 
Alex Ermolaev at AI Frontiers : Major Applications of AI in Healthcare
Alex Ermolaev at AI Frontiers : Major Applications of AI in HealthcareAlex Ermolaev at AI Frontiers : Major Applications of AI in Healthcare
Alex Ermolaev at AI Frontiers : Major Applications of AI in HealthcareAI Frontiers
 
Long Lin at AI Frontiers : AI in Gaming
Long Lin at AI Frontiers : AI in GamingLong Lin at AI Frontiers : AI in Gaming
Long Lin at AI Frontiers : AI in GamingAI Frontiers
 
Melissa Goldman at AI Frontiers : AI & Finance
Melissa Goldman at AI Frontiers : AI & FinanceMelissa Goldman at AI Frontiers : AI & Finance
Melissa Goldman at AI Frontiers : AI & FinanceAI Frontiers
 
Li Deng at AI Frontiers : From Modeling Speech/Language to Modeling Financial...
Li Deng at AI Frontiers : From Modeling Speech/Language to Modeling Financial...Li Deng at AI Frontiers : From Modeling Speech/Language to Modeling Financial...
Li Deng at AI Frontiers : From Modeling Speech/Language to Modeling Financial...AI Frontiers
 
Ashok Srivastava at AI Frontiers : Using AI to Solve Complex Economic Problems
Ashok Srivastava at AI Frontiers : Using AI to Solve Complex Economic ProblemsAshok Srivastava at AI Frontiers : Using AI to Solve Complex Economic Problems
Ashok Srivastava at AI Frontiers : Using AI to Solve Complex Economic ProblemsAI Frontiers
 

More from AI Frontiers (20)

Divya Jain at AI Frontiers : Video Summarization
Divya Jain at AI Frontiers : Video SummarizationDivya Jain at AI Frontiers : Video Summarization
Divya Jain at AI Frontiers : Video Summarization
 
Training at AI Frontiers 2018 - LaiOffer Data Session: How Spark Speedup AI
Training at AI Frontiers 2018 - LaiOffer Data Session: How Spark Speedup AI Training at AI Frontiers 2018 - LaiOffer Data Session: How Spark Speedup AI
Training at AI Frontiers 2018 - LaiOffer Data Session: How Spark Speedup AI
 
Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-Lecture 1: Heuristi...
Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-Lecture 1: Heuristi...Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-Lecture 1: Heuristi...
Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-Lecture 1: Heuristi...
 
Training at AI Frontiers 2018 - Ni Lao: Weakly Supervised Natural Language Un...
Training at AI Frontiers 2018 - Ni Lao: Weakly Supervised Natural Language Un...Training at AI Frontiers 2018 - Ni Lao: Weakly Supervised Natural Language Un...
Training at AI Frontiers 2018 - Ni Lao: Weakly Supervised Natural Language Un...
 
Training at AI Frontiers 2018 - Udacity: Enhancing NLP with Deep Neural Networks
Training at AI Frontiers 2018 - Udacity: Enhancing NLP with Deep Neural NetworksTraining at AI Frontiers 2018 - Udacity: Enhancing NLP with Deep Neural Networks
Training at AI Frontiers 2018 - Udacity: Enhancing NLP with Deep Neural Networks
 
Training at AI Frontiers 2018 - Lukasz Kaiser: Sequence to Sequence Learning ...
Training at AI Frontiers 2018 - Lukasz Kaiser: Sequence to Sequence Learning ...Training at AI Frontiers 2018 - Lukasz Kaiser: Sequence to Sequence Learning ...
Training at AI Frontiers 2018 - Lukasz Kaiser: Sequence to Sequence Learning ...
 
Percy Liang at AI Frontiers : Pushing the Limits of Machine Learning
Percy Liang at AI Frontiers : Pushing the Limits of Machine LearningPercy Liang at AI Frontiers : Pushing the Limits of Machine Learning
Percy Liang at AI Frontiers : Pushing the Limits of Machine Learning
 
Ilya Sutskever at AI Frontiers : Progress towards the OpenAI mission
Ilya Sutskever at AI Frontiers : Progress towards the OpenAI missionIlya Sutskever at AI Frontiers : Progress towards the OpenAI mission
Ilya Sutskever at AI Frontiers : Progress towards the OpenAI mission
 
Mark Moore at AI Frontiers : Uber Elevate
Mark Moore at AI Frontiers : Uber ElevateMark Moore at AI Frontiers : Uber Elevate
Mark Moore at AI Frontiers : Uber Elevate
 
Mario Munich at AI Frontiers : Consumer robotics: embedding affordable AI in ...
Mario Munich at AI Frontiers : Consumer robotics: embedding affordable AI in ...Mario Munich at AI Frontiers : Consumer robotics: embedding affordable AI in ...
Mario Munich at AI Frontiers : Consumer robotics: embedding affordable AI in ...
 
Arnaud Thiercelin at AI Frontiers : AI in the Sky
Arnaud Thiercelin at AI Frontiers : AI in the SkyArnaud Thiercelin at AI Frontiers : AI in the Sky
Arnaud Thiercelin at AI Frontiers : AI in the Sky
 
Anima Anandkumar at AI Frontiers : Modern ML : Deep, distributed, Multi-dimen...
Anima Anandkumar at AI Frontiers : Modern ML : Deep, distributed, Multi-dimen...Anima Anandkumar at AI Frontiers : Modern ML : Deep, distributed, Multi-dimen...
Anima Anandkumar at AI Frontiers : Modern ML : Deep, distributed, Multi-dimen...
 
Wei Xu at AI Frontiers : Language Learning in an Interactive and Embodied Set...
Wei Xu at AI Frontiers : Language Learning in an Interactive and Embodied Set...Wei Xu at AI Frontiers : Language Learning in an Interactive and Embodied Set...
Wei Xu at AI Frontiers : Language Learning in an Interactive and Embodied Set...
 
Sumit Gupta at AI Frontiers : AI for Enterprise
Sumit Gupta at AI Frontiers : AI for EnterpriseSumit Gupta at AI Frontiers : AI for Enterprise
Sumit Gupta at AI Frontiers : AI for Enterprise
 
Yuandong Tian at AI Frontiers : Planning in Reinforcement Learning
Yuandong Tian at AI Frontiers : Planning in Reinforcement LearningYuandong Tian at AI Frontiers : Planning in Reinforcement Learning
Yuandong Tian at AI Frontiers : Planning in Reinforcement Learning
 
Alex Ermolaev at AI Frontiers : Major Applications of AI in Healthcare
Alex Ermolaev at AI Frontiers : Major Applications of AI in HealthcareAlex Ermolaev at AI Frontiers : Major Applications of AI in Healthcare
Alex Ermolaev at AI Frontiers : Major Applications of AI in Healthcare
 
Long Lin at AI Frontiers : AI in Gaming
Long Lin at AI Frontiers : AI in GamingLong Lin at AI Frontiers : AI in Gaming
Long Lin at AI Frontiers : AI in Gaming
 
Melissa Goldman at AI Frontiers : AI & Finance
Melissa Goldman at AI Frontiers : AI & FinanceMelissa Goldman at AI Frontiers : AI & Finance
Melissa Goldman at AI Frontiers : AI & Finance
 
Li Deng at AI Frontiers : From Modeling Speech/Language to Modeling Financial...
Li Deng at AI Frontiers : From Modeling Speech/Language to Modeling Financial...Li Deng at AI Frontiers : From Modeling Speech/Language to Modeling Financial...
Li Deng at AI Frontiers : From Modeling Speech/Language to Modeling Financial...
 
Ashok Srivastava at AI Frontiers : Using AI to Solve Complex Economic Problems
Ashok Srivastava at AI Frontiers : Using AI to Solve Complex Economic ProblemsAshok Srivastava at AI Frontiers : Using AI to Solve Complex Economic Problems
Ashok Srivastava at AI Frontiers : Using AI to Solve Complex Economic Problems
 

Recently uploaded

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 

Recently uploaded (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-lecture 2: Incremental Search

  • 2. PROBLEM STATEMENT Given a potentially inaccurate map of the environment, 
 navigate from S to G
  • 3. PROBLEM STATEMENT Given a potentially inaccurate map of the environment, 
 navigate from S to G
  • 4. PROBLEM STATEMENT • Proactive approach: • Take uncertainty into account during planning. Computationally expensive • Reactive approach: • Plan optimistically and replan if necessary. Computationally cheaper
  • 5. HIGH LEVEL OPERATIONS Case 1: 
 Assume given map is accurate (and the map is accurate)
  • 6. HIGH LEVEL OPERATIONS 1. Input: Map of the environment 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path. If path is blocked, update the map and go to step 3
  • 7. HIGH LEVEL OPERATIONS 1. Input: Map of the environment 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path. If path is blocked, update the map and go to step 3
  • 8. HIGH LEVEL OPERATIONS 1. Input: Map of the environment 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path. If path is blocked, update the map and go to step 3
  • 9. HIGH LEVEL OPERATIONS 1. Input: Map of the environment 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path If path is blocked, update the map and go to step 3
  • 10. HIGH LEVEL OPERATIONS 1. Input: Map of the environment 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path If path is blocked, update the map and go to step 3
  • 11. HIGH LEVEL OPERATIONS 1. Input: Map of the environment 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path If path is blocked, update the map and go to step 3
  • 12. HIGH LEVEL OPERATIONS 1. Input: Map of the environment 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path If path is blocked, update the map and go to step 3
  • 13. HIGH LEVEL OPERATIONS Case 2: 
 Assume given map is inaccurate
  • 14. HIGH LEVEL OPERATIONS 1. Input: Optimistic map (assume there are no obstacles) 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path. If path is blocked, update the map and go to step 3
  • 15. HIGH LEVEL OPERATIONS 1. Input: Optimistic map (assume there are no obstacles) 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path. If path is blocked, update the map and go to step 3
  • 16. HIGH LEVEL OPERATIONS 1. Input: Optimistic map (assume there are no obstacles) 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path. If path is blocked, update the map and go to step 3
  • 17. HIGH LEVEL OPERATIONS 1. Input: Optimistic map (assume there are no obstacles) 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path. If path is blocked, update the map and 
 go to step 3
  • 18. HIGH LEVEL OPERATIONS 1. Input: Optimistic map (assume there are no obstacles) 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path. If path is blocked, update the map and 
 go to step 3
  • 19. HIGH LEVEL OPERATIONS 1. Input: Optimistic map (assume there are no obstacles) 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path. If path is blocked, update the map and 
 go to step 3
  • 20. HIGH LEVEL OPERATIONS 1. Input: Optimistic map (assume there are no obstacles) 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path. If path is blocked, update the map and 
 go to step 3
  • 21. HIGH LEVEL OPERATIONS 1. Input: Optimistic map (assume there are no obstacles) 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path. If path is blocked, update the map and 
 go to step 3
  • 22. HIGH LEVEL OPERATIONS 1. Input: Optimistic map (assume there are no obstacles) 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path. If path is blocked, update the map and 
 go to step 3
  • 23. HIGH LEVEL OPERATIONS 1. Input: Optimistic map (assume there are no obstacles) 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path. If path is blocked, update the map and 
 go to step 3
  • 24. HIGH LEVEL OPERATIONS 1. Input: Optimistic map (assume there are no obstacles) 2. Discretize the search space 3. Find a shortest path to the goal 4. Move along path. If path is blocked, update the map and 
 go to step 3
  • 25. Instead of searching for a shortest path from scratch, reuse information from the previous search to speed up the current search INCREMENTAL SEARCH First search Second search reusing information 
 from the first search ...
  • 26. INCREMENTAL SEARCH • Generally, there are two classes of algorithms: • Algorithms that improve heuristics: • AA* [Koenig & Likhachev, AAMAS ’05] • MT-AA* [Koenig, Likhachev & Sun, AAMAS ’07] • GAA* [Sun, Koenig &Yeoh, AAMAS ’08] • ... • Algorithms that transform search trees: • G-FRA* [Sun,Yeoh & Koenig, AAMAS ’10] • FRA* [Sun,Yeoh & Koenig, IJCAI ’09] • ...
  • 27. INCREMENTAL SEARCH • Generally, there are two classes of algorithms: • Algorithms that improve heuristics: • AA* [Koenig & Likhachev, AAMAS ’05] • MT-AA* [Koenig, Likhachev & Sun, AAMAS ’07] • GAA* [Sun, Koenig &Yeoh, AAMAS ’08] • ... • Algorithms that transform search trees: • G-FRA* [Sun,Yeoh & Koenig, AAMAS ’10] • FRA* [Sun,Yeoh & Koenig, IJCAI ’09] • ...
  • 28. BACKGROUND: A* • Maintains three values for each cell s • g(s): cost from start to s • h(s): estimated cost from s to goal • f(s) = g(s) + h(s): estimated cost from start to goal • Maintains two lists • CLOSED: Contains expanded cells (i.e., cells whose shortest path from start is known) • OPEN: Priority queue that contains generated cells
  • 29. BACKGROUND: A* 1 5
 2 1 6
 2 0 7
 6 1 8
 2 1 4
 2 1 5
 2 1 6
 2 1 7
 2 1 4
 2 1 5
 2 1 6
 2 1 2
 2 1 3
 2 1 4
 2 1 5
 2 1 1
 2 1 2
 2 1 3
 2 1 4
 2 1 4
 2 1 3
 2 0 2
 2 S 1 0
 2 G while(goal ∉ CLOSED) { s = argmins∈OPEN f(s) move s to CLOSED for all neighboring cells c of s { if(c ∉ OPEN ∪ CLOSED) set g(c) and f(c) add c to OPEN else if(c ∈ OPEN) update g(c) and f(c) } } A E D C B G F 1 2 3 4 5 6 7 g h
 f f = g + h CLOSEDOPEN parent pointers
  • 30. BACKGROUND: A* 1 5
 2 1 6
 2 0 7
 6 1 8
 2 1 4
 2 1 5
 2 1 6
 2 1 7
 2 1 4
 2 1 5
 2 1 6
 2 1 2
 2 1 3
 2 1 4
 2 1 5
 2 1 1
 2 1 2
 2 1 3
 2 1 4
 2 1 4
 2 1 3
 4 0 2
 2 S 1 0
 2 G while(goal ∉ CLOSED) { s = argmins∈OPEN f(s) move s to CLOSED for all neighboring cells c of s { if(c ∉ OPEN ∪ CLOSED) set g(c) and f(c) add c to OPEN else if(c ∈ OPEN) update g(c) and f(c) } } A E D C B G F 1 2 3 4 5 6 7 g h
 f f = g + h CLOSEDOPEN parent pointers
  • 31. BACKGROUND: A* 1 5
 2 1 6
 2 0 7
 6 1 8
 2 2 4
 6 1 5
 2 1 6
 2 1 7
 2 1 4
 2 1 5
 2 1 6
 2 1 2
 2 1 3
 2 1 4
 2 1 5
 2 1 1
 2 1 2
 2 1 3
 2 1 4
 2 2 4
 6 1 3
 4 0 2
 2 S 1 0
 2 G while(goal ∉ CLOSED) { s = argmins∈OPEN f(s) move s to CLOSED for all neighboring cells c of s { if(c ∉ OPEN ∪ CLOSED) set g(c) and f(c) add c to OPEN else if(c ∈ OPEN) update g(c) and f(c) } } A E D C B G F 1 2 3 4 5 6 7 g h
 f f = g + h CLOSEDOPEN parent pointers
  • 32. BACKGROUND: A* 3 5
 8 1 6
 2 0 7
 6 1 8
 2 2 4
 6 3 5
 8 1 6
 2 1 7
 2 1 4
 2 1 5
 2 1 6
 2 1 2
 2 1 3
 2 1 4
 2 1 5
 2 1 1
 2 1 2
 2 1 3
 2 1 4
 2 2 4
 6 1 3
 4 0 2
 2 S 1 0
 2 G while(goal ∉ CLOSED) { s = argmins∈OPEN f(s) move s to CLOSED for all neighboring cells c of s { if(c ∉ OPEN ∪ CLOSED) set g(c) and f(c) add c to OPEN else if(c ∈ OPEN) update g(c) and f(c) } } A E D C B G F 1 2 3 4 5 6 7 g h
 f f = g + h CLOSEDOPEN parent pointers
  • 33. BACKGROUND: A* 3 5
 8 4 6
 10 0 7
 6 1 8
 2 2 4
 6 3 5
 8 4 6
 10 1 7
 2 4 4
 8 5 5
 10 1 6
 2 6 2
 8 5 3
 8 6 4
 10 1 5
 2 7 1
 8 6 2
 8 7 3
 10 1 4
 2 2 4
 6 1 3
 4 0 2
 2 S 8 0
 8 G while(goal ∉ CLOSED) { s = argmins∈OPEN f(s) move s to CLOSED for all neighboring cells c of s { if(c ∉ OPEN ∪ CLOSED) set g(c) and f(c) add c to OPEN else if(c ∈ OPEN) update g(c) and f(c) } } A E D C B G F 1 2 3 4 5 6 7 g h
 f f = g + h CLOSEDOPEN parent pointers
  • 34. BACKGROUND: A* 3 5
 8 4 6
 10 0 7
 6 1 8
 2 2 4
 6 3 5
 8 4 6
 10 1 7
 2 4 4
 8 5 5
 10 1 6
 2 6 2
 8 5 3
 8 6 4
 10 1 5
 2 7 1
 8 6 2
 8 7 3
 10 1 4
 2 2 4
 6 1 3
 4 0 2
 2 S 8 0
 8 G while(goal ∉ CLOSED) { s = argmins∈OPEN f(s) move s to CLOSED for all neighboring cells c of s { if(c ∉ OPEN ∪ CLOSED) set g(c) and f(c) add c to OPEN else if(c ∈ OPEN) update g(c) and f(c) } } A E D C B G F 1 2 3 4 5 6 7 g h
 f f = g + h CLOSEDOPEN parent pointers
  • 35. INCREMENTAL SEARCH • Generally, there are two classes of algorithms: • Algorithms that improve heuristics: • AA* [Koenig & Likhachev, AAMAS ’05] • MT-AA* [Koenig, Likhachev & Sun, AAMAS ’07] • GAA* [Sun, Koenig &Yeoh, AAMAS ’08] • ... • Algorithms that transform search trees: • G-FRA* [Sun,Yeoh & Koenig, AAMAS ’10] • FRA* [Sun,Yeoh & Koenig, IJCAI ’09] • ...
  • 36. ALGORITHM 1: AA* • Adaptive A* (AA*) [Koenig & Likhachev, AAMAS ’05] • Uses standard A* searches • Updates h-values to make them more informed, i.e. better estimates • Speeds up the A* searches
  • 37. ALGORITHM 1: AA* Main idea: g(s) + cost(s, goal) ≥ g(goal)
 cost(s,goal) ≥ g(goal) - g(s)
 hnew(s) = g(goal) - g(s) s goalstart g(goal) cost(s,goal)g(s)
  • 38. ALGORITHM 1: AA* 3 5
 8 4 6
 10 2 4
 6 3 5
 8 4 6
 10 4 4
 8 5 5
 10 6 2
 8 5 3
 8 6 4
 10 7 1
 8 6 2
 8 7 3
 10 2 4
 6 1 3
 4 0 2
 2 S 8 0
 8 G while(goal ∉ CLOSED) { s = argmins∈OPEN f(s) move s to CLOSED for all neighboring cells c of s { if(c ∉ OPEN ∪ CLOSED) set g(c) and f(c) add c to OPEN else if(c ∈ OPEN) update g(c) and f(c) } } A E D C B G F 1 2 3 4 5 6 7 g h
 f f = g + h CLOSEDOPEN parent pointers
  • 39. ALGORITHM 1: AA* 3 5
 8 4 6
 10 2 4
 6 3 5
 8 4 6
 10 4 4
 8 5 5
 10 6 2
 8 5 3
 8 6 4
 10 7 1
 8 6 2
 8 7 3
 10 2 4
 6 1 3
 4 0 2
 2 S 8 0
 8 G while(goal ∉ CLOSED) { s = argmins∈OPEN f(s) move s to CLOSED for all neighboring cells c of s { if(c ∉ OPEN ∪ CLOSED) set g(c) and f(c) add c to OPEN else if(c ∈ OPEN) update g(c) and f(c) } } A E D C B G F 1 2 3 4 5 6 7 g h
 f f = g + h CLOSEDOPEN parent pointers
  • 40. ALGORITHM 1: AA* 3 5
 8 4 6
 10 2 4
 6 3 5
 8 4 6
 10 4 4
 8 5 5
 10 6 2
 8 5 3
 8 6 4
 10 7 1
 8 6 2
 8 7 3
 10 2 4
 6 1 3
 4 0 2
 2 S 8 0
 8 G while(goal ∉ CLOSED) { s = argmins∈OPEN f(s) move s to CLOSED for all neighboring cells c of s { if(c ∉ OPEN ∪ CLOSED) set g(c) and f(c) add c to OPEN else if(c ∈ OPEN) update g(c) and f(c) } } A E D C B G F 1 2 3 4 5 6 7 g h
 f f = g + h CLOSEDOPEN parent pointers
  • 41. ALGORITHM 1: AA* 3 5
 8 4 6
 10 2 4
 6 3 5
 8 4 6
 10 4 4
 8 5 5
 10 6 2
 8 5 3
 8 6 4
 10 7 1
 8 6 2
 8 7 3
 10 2 4
 6 1 3
 4 0 2
 2 S 8 0
 8 G while(goal ∉ CLOSED) { s = argmins∈OPEN f(s) move s to CLOSED for all neighboring cells c of s { if(c ∉ OPEN ∪ CLOSED) set g(c) and f(c) add c to OPEN else if(c ∈ OPEN) update g(c) and f(c) } } A E D C B G F 1 2 3 4 5 6 7 g h
 f f = g + h CLOSEDOPEN parent pointers
  • 42. ALGORITHM 1: AA* 2 5
 7 1 6
 7 2 7
 9 1 4
 5 0 5
 5 S 1 6
 7 2 7
 9 2 5
 7 3 6
 9 7 2
 9 4 3
 7 3 4
 7 4 5
 9 6 1
 7 5 2
 7 4 3
 7 5 4
 9 3 4
 7 2 3
 5 3 2
 5 7 0
 7 G 1 2 3 4 5 6 7 2 5
 7 1 6
 7 2 7
 9 1 6
 7 0 5
 5 S 1 6
 7 2 7
 9 2 5
 7 3 6
 9 7 2
 9 4 3
 7 3 4
 7 4 5
 9 6 1
 7 5 2
 7 4 3
 7 5 4
 9 3 6
 9 2 7
 9 7 0
 7 G A E D C B G F 1 2 3 4 5 6 7 Adaptive A* A*
  • 43. ALGORITHM 1: AA* • Results: • Up to 20% faster than A* on grids with Manhattan distance as h-values • Typically, the worse the h-values, the larger the speedup • Well-suited for high dimensional search spaces, where h-values are often bad
  • 44. ALGORITHM 1: AA* Other algorithms in this class: • MT-AA* [Koenig, Likhachev & Sun, AAMAS ’07] • Extension to search paths when the target moves • GAA* [Sun, Koenig &Yeoh, AAMAS ’08] • Extension to handle decreasing costs • Applied to control the robotic arm at the International Space Station by the Canadian Space Agency [Belghith, Kabanza & Hartman, AIS ’10] • Trea-AA* [Hernandez, Sun, Koenig & Meseguer, AAMAS ’11] • Extension to speed up the search by reusing search trees
  • 45. INCREMENTAL SEARCH • Generally, there are two classes of algorithms: • Algorithms that improve heuristics: • AA* [Koenig & Likhachev, AAMAS ’05] • MT-AA* [Koenig, Likhachev & Sun, AAMAS ’07] • GAA* [Sun, Koenig &Yeoh, AAMAS ’08] • ... • Algorithms that transform search trees: • G-FRA* [Sun,Yeoh & Koenig, AAMAS ’10] • FRA* [Sun,Yeoh & Koenig, IJCAI ’09] • ...
  • 46. ALGORITHM 2: G-FRA* • Generalized Fringe-Retrieving A* (G-FRA*) 
 [Sun,Yeoh & Koenig, AAMAS ’08] • Uses standard A* searches • Identifies portions of the search tree of the previous search that can be reused • Starts the search with these portions
  • 47. BACKGROUND: A* 3 5
 8 4 6
 10 2 4
 6 3 5
 8 4 6
 10 4 4
 8 5 5
 10 6 2
 8 5 3
 8 6 4
 10 7 1
 8 6 2
 8 7 3
 10 2 4
 6 1 3
 4 0 2
 2 S 8 0
 8 G while(goal ∉ CLOSED) { s = argmins∈OPEN f(s) move s to CLOSED for all neighboring cells c of s { if(c ∉ OPEN ∪ CLOSED) set g(c) and f(c) add c to OPEN else if(c ∈ OPEN) update g(c) and f(c) } } A E D C B G F 1 2 3 4 5 6 7 g h
 f f = g + h CLOSEDOPEN parent pointers
  • 48. BACKGROUND: A* 3 5
 8 4 6
 10 2 4
 6 3 5
 8 4 6
 10 4 4
 8 5 5
 10 6 2
 8 5 3
 8 6 4
 10 7 1
 8 6 2
 8 7 3
 10 2 4
 6 1 3
 4 0 2
 2 S 8 0
 8 G while(goal ∉ CLOSED) { s = argmins∈OPEN f(s) move s to CLOSED for all neighboring cells c of s { if(c ∉ OPEN ∪ CLOSED) set g(c) and f(c) add c to OPEN else if(c ∈ OPEN) update g(c) and f(c) } } A E D C B G F 1 2 3 4 5 6 7 g h
 f f = g + h CLOSEDOPEN parent pointers
  • 49. BACKGROUND: A* 3 5
 8 4 6
 10 2 4
 6 3 5
 8 4 6
 10 4 4
 8 5 5
 10 6 2
 8 5 3
 8 6 4
 10 7 1
 8 6 2
 8 7 3
 10 2 4
 6 1 3
 4 0 2
 2 S 8 0
 8 G while(goal ∉ CLOSED) { s = argmins∈OPEN f(s) move s to CLOSED for all neighboring cells c of s { if(c ∉ OPEN ∪ CLOSED) set g(c) and f(c) add c to OPEN else if(c ∈ OPEN) update g(c) and f(c) } } A E D C B G F 1 2 3 4 5 6 7 g h
 f f = g + h CLOSEDOPEN parent pointers
  • 50. BACKGROUND: A* 3 5
 8 4 6
 10 2 4
 6 3 5
 8 4 6
 10 4 4
 8 5 5
 10 6 2
 8 5 3
 8 6 4
 10 7 1
 8 6 2
 8 7 3
 10 2 4
 6 1 3
 4 0 2
 2 S 8 0
 0 G C3 C4 D2 D3 D4 E3 F2 F3 F4 C6 D6 E6 F6 C5 D5 E5E2 while(goal ∉ CLOSED) { s = argmins∈OPEN f(s) move s to CLOSED for all neighboring cells c of s { if(c ∉ OPEN ∪ CLOSED) set g(c) and f(c) add c to OPEN else if(c ∈ OPEN) update g(c) and f(c) } } A E D C B G F 1 2 3 4 5 6 7 g h
 f f = g + h CLOSEDOPEN parent pointers
  • 51. C3 C4 D2 D3 D4 E2 E3 F2 F3 F4 C6 D6 E6 F6 C5 D5 E5
  • 54. C3 C4 D2 D3 D4 E2 E3 F2 F3 F4 C6 D6 E6 F6 C5 D5 E5
  • 55. ALGORITHM 2: G-FRA* 4 6
 10 0 7
 6 1 8
 2 3 5
 8 4 6
 10 1 7
 2 4 4
 8 5 5
 10 1 6
 2 6 2
 8 5 3
 8 6 4
 10 1 5
 2 7 1
 8 6 2
 8 7 3
 10 1 4
 2 8 0
 0 G A E D C B G F 1 2 3 4 5 6 7 C3 C4 D2 D3 D4 E2 E3 F2 F3 F4 C6 D6 E6 F6 C5 D5 E5 High-level pseudocode: 1. Identify reusable portion of the search tree 2. Remove the unreusable portion 3. Add the cells in the fringe to the OPEN list 4. Restart the search
  • 56. ALGORITHM 2: G-FRA* 0 7
 6 4 6
 10 0 7
 6 0 7
 6 3 5
 8 4 6
 10 4 4
 8 5 5
 10 6 2
 8 5 3
 8 6 4
 10 7 1
 8 6 2
 8 7 3
 10 0 7
 6 0 7
 6 0 7
 6 8 0
 0 G C3 C4 D2 D3 D4 C6 D6 E6 F6 C5 D5 E5 A E D C B G F 1 2 3 4 5 6 7 High-level pseudocode: 1. Identify reusable portion of the search tree 2. Remove the unreusable portion
  • 57. ALGORITHM 2: G-FRA* 0 7
 6 4 6
 10 0 7
 6 3 5
 8 4 6
 10 4 4
 8 5 5
 10 6 2
 8 5 3
 8 6 4
 10 7 1
 8 6 2
 8 7 3
 10 0 7
 6 0 7
 6 0 7
 6 8 0
 0 G C3 C4 D2 D3 D4 C6 D6 E6 F6 C5 D5 E5E3 A E D C B G F 1 2 3 4 5 6 7 High-level pseudocode: 1. Identify reusable portion of the search tree 2. Remove the unreusable portion 3. Add the cells in the fringe to the OPEN list
  • 58. ALGORITHM 2: G-FRA* 0 7
 6 4 6
 10 0 7
 6 3 5
 8 4 6
 10 4 4
 8 5 5
 10 6 2
 8 5 3
 8 6 4
 10 7 1
 8 6 2
 8 7 3
 10 0 7
 6 0 7
 6 0 7
 6 8 0
 0 G C3 C4 D2 D3 D4 C6 D6 E6 F6 C5 D5 E5 High-level pseudocode: 1. Identify reusable portion of the search tree 2. Remove the unreusable portion 3. Add the cells in the fringe to the OPEN list 4. Restart the search E3 A E D C B G F 1 2 3 4 5 6 7
  • 59. ALGORITHM 2: G-FRA* 0 7
 6 4 6
 10 0 7
 6 3 5
 8 4 6
 10 4 4
 8 5 5
 10 6 2
 8 5 3
 8 6 4
 10 7 1
 8 6 2
 8 7 3
 10 0 7
 6 0 7
 6 0 7
 6 8 0
 0 G C3 C4 D2 D3 D4 C6 D6 E6 F6 C5 D5 E5E3 A E D C B G F 1 2 3 4 5 6 7 High-level pseudocode: 1. Identify reusable portion of the search tree 2. Remove the unreusable portion 3. Add the cells in the fringe to the OPEN list 4. Restart the search
  • 60. ALGORITHM 2: G-FRA* • Results: • Up to one order of magnitude faster than GAA* • Typically, the larger the reusable portion of the search tree, the faster the algorithm • Well suited for problems that change only slightly between search iterations
  • 61. ALGORITHM 2: G-FRA* Other algorithms in this class: • FRA* [Sun,Yeoh & Koenig, IJCAI ’07] • Optimized version of G-FRA* for navigation in 2D grids • D* [Stentz, ICRA ’94], D* Lite [Koenig & Likhachev, AAAI ’02] • Applied to the navigation of the Mars rovers • Applied to the navigation of UGVs in the DARPA Urban Challenge • MT-D* Lite [Sun,Yeoh & Koenig, AAMAS ’10] • Combination of D* Lite and G-FRA* to speed up the search
  • 62. SUMMARY • Incremental search algorithms • Reuses information to speed up the search • Useful when one needs to search repeatedly for shortest paths in a graph • Often applied to robotics applications for autonomous navigation