search algorithms in intelligent agents presented by h. joshi and j. mcadams {hmjoshi, jamcadams}...
TRANSCRIPT
Search Algorithms in Intelligent Agents
Presented by
H. Joshi and J. McAdams
{hmjoshi, jamcadams} @ualr.edu
CPSC7321 – Distributed OS Final Presentation
© 2003 UALR
Outline Introduction Search Algorithms
Traditional Heuristic Asynchronous Algorithm Comparison
Semantic Search Conclusion Demo
Introduction
Current Algorithms Text Based File Name Based Frame Based – NLP
Semantic Search
Traditional Search Algorithms
Breadth-First
Depth-First
Depth-First, Iterative Deepening
Bidirectional
Breadth-First
1
4 5 6 7
2 3
8 9 10 11 12 13 14 15
Depth-First
11 1
2 3
1 1
2 2 3
4 5
1 1
2 2 3
4 3 5
6 7
1 1
2 2 3
4 3 5
6 4 7
1 1
2 2 3
4 3 5
6 4 7 5
1 1
2 2 3
4 3 5 6
6 4 7 5 8 9
1 1
2 2 3
4 3 5 6
6 4 7 5 8 7 9
1 1
2 2 3
4 3 5 6
6 4 7 5 8 7 9 8
1 1
2 2 3 9
4 3 5 6 10 11
6 4 7 5 8 7 9 8
1 1
2 2 3 9
4 3 5 6 10 10 11
6 4 7 5 8 7 9 8 12 13
1 1
2 2 3 9
4 3 5 6 10 10 11
6 4 7 5 8 7 9 8 12 11 13
1 1
2 2 3 9
4 3 5 6 10 10 11
6 4 7 5 8 7 9 8 12 11 13 12
1 1
2 2 3 9
4 3 5 6 10 10 11 13
6 4 7 5 8 7 9 8 12 11 13 12 14 15
1 1
2 2 3 9
4 3 5 6 10 10 11 13
6 4 7 5 8 7 9 8 12 11 13 12 14 14 15
1 1
2 2 3 9
4 3 5 6 10 10 11 13
6 4 7 5 8 7 9 8 12 11 13 12 14 14 15 15
Depth-First, Iterative Deepening1 1Pass 1
1 1
2 2 3 9
Pass 2
1 1
2 2 3 9
4 3 5 6 10 10 11 13
Pass 3
1 1
2 2 3 9
4 3 5 6 10 10 11 13
6 4 7 5 8 7 9 8 12 11 13 12 14 14 15 15
Pass 4
Heuristic Search Algorithms Generate and Test Hill-Climbing Best-First A* Iterative Deepening A* Beam Means-Ends Constraint
Generate and Test
Solution Set
Problem
Solution Set
Problem Generate Solution
Solution Set
Problem Generate Solution Is Match?
Solution Set
Problem Generate Solution Is Match?
No
Solution Set
Problem Generate Solution Is Match?
Solution Set
Problem Generate Solution Is Match?
Solution Set
Problem Generate Solution Is Match? ResultYes
Solution Set
Problem Generate Solution Is Match? ResultYes
No
Hill-Climbing
A
B CD
E
1 2
4
145
3
Case 1
Path Taken:
3
Initial Node: AGoal Node: E
A
B CD
E
1 2
4
145
3
Case 1
Path Taken: A - B
3
Initial Node: AGoal Node: E
A
B CD
E
1 2
4
145
3
Case 1
Path Taken: A - B - D
3
Initial Node: AGoal Node: E
A
B CD
E
1 2
4
145
3
Case 1
Path Taken: A - B - D - C
3
Initial Node: AGoal Node: E
A
B CD
E
1 2
4
145
3
Case 1
Path Taken: A - B - D - C - E
3
Initial Node: AGoal Node: E
A
B CD
E
1 2
4
145
3
Case 1
Path Taken: A - B - D - C - EOptimal Path: A - C - E
3
Initial Node: AGoal Node: E
A
B CD
E
1 2
4
145
3
Case 2
Path Taken:
2
A
B CD
E
1 2
4
145
3
Case 2
Path Taken: A - B
2
A
B CD
E
1 2
4
145
3
Case 2
Path Taken: A - B - D
2
A
B CD
E
1 2
4
145
3
Case 2
Path Taken: A - B - D - A
2
A
B CD
E
1 2
4
145
3
Case 2
Path Taken: A - B - D - AOptimal Path: A - C - E
2
Best-First1
C
1 1
C
2
A
3
F
1 1
C
2 2
A
3
F
5
B
4
G
1 1
C
2 2
A
3 4
F
5 3
B
4
G
7
R
6
H
1 1
C
2 2
A
3 4
F
9
J
8
V
5 3
B
4
G
7
R
6
H
1 1
C
2 2
A
3 4
F
9
J
8
V
5 3
B
4 5
G
7
R
6
H
11
C
10
T
1 1
C
2 2
A
3 4
F
9
J
8
V
5 3
B
4 5
G
7
R
6
H
11 6
C
10
T
1 1
C
2 2
A
3 4
F
9
J
8
V
5 3
B
4 5
G
7
R
6 7
H
11 6
C
10
T
1 1
C
2 2
A
3 4
F
9 8
J
8
V
5 3
B
4 5
G
13
N
12
Q
7
R
6 7
H
11 6
C
10
T
1 1
C
2 2
A
3 4
F
9 8
J
8
V
5 3
B
4 5
G
13 9
N
12
Q
7
R
6 7
H
11 6
C
10
T
1 1
C
2 2
A
3 4
F
9 8
J
8
V
5 3
B
4 5
G
13 9
N
12 10
Q
7
R
6 7
H
11 6
C
10
T
1 1
C
2 2
A
3 4
F
9 8
J
8
V
5 3
B
4 5
G
13 9
N
12 10
Q
7 11
R
6 7
H
11 6
C
10
T
1 1
C
2 2
A
3 4
F
9 8
J
8
V
5 3
B
4 5
G
13 9
N
12 10
Q
7 11
R
6 7
H
11 6
C
10 12
T
1 1
C
2 2
A
3 4
F
9 8
J
8 13
V
5 3
B
4 5
G
13 9
N
12 10
Q
15
E
14
A
7 11
R
6 7
H
11 6
C
10 12
T
1 1
C
2 2
A
3 4
F
9 8
J
8 13
V
5 3
B
4 5
G
13 9
N
12 10
Q
15
E
14 14
A
7 11
R
6 7
H
11 6
C
10 12
T
1 1
C
2 2
A
3 4
F
9 8
J
8 13
V
5 3
B
4 5
G
13 9
N
12 10
Q
15 15
E
14 14
A
7 11
R
6 7
H
11 6
C
10 12
T
A*
A
EFG
DBH
C
f(n) = 17g(n) = 0h(n) = 17A
EFG
DBH
C
H A
EFG
DB
CA
EFG
DBH
C
f(n) = 17g(n) = 0h(n) = 17
f(n) = 19g(n) = 1h(n) = 18
f(n) = 11g(n) = 1h(n) = 10
A
EFG
DBH
C
A C
EFG
DBH
A B
EFG
DH
C
H A
EFG
DB
CA
EFG
DBH
C
f(n) = 17g(n) = 0h(n) = 17
f(n) = 19g(n) = 2h(n) = 17
f(n) = 19g(n) = 1h(n) = 18
f(n) = 11g(n) = 1h(n) = 10
f(n) = 2g(n) = 2h(n) = 0
Asynchronous Search Algorithms
Asynchronous Dynamic Programming
Learning Real-Time A*
Real-Time Multi-agent
Asynchronous Dynamic Programming
Init -1
C -1
A -1
D -1
B -1
Goal 0
2
5
12
34
3
Cycle 1
Init -1
C -1
A -1
D 5
B 3
Goal 0
2
5
15
34
3
1
Cycle 2
Init -1
C 6
A 7
D 4
B 3
Goal 0
2
5
15
34
3
1
Cycle 3
Init 9
C 5
A 7
D 4
B 3
Goal 0
2
5
15
34
3
1
Cycle 4
Init 8
C 5
A 7
D 4
B 3
Goal 0
2
5
15
34
3
1
Cycle 5
Learning Real-Time A*
Init
B
A3
4
Cycle 1
Init
B
A3
4D
C4
5
Cycle 2
Init
A5
4D
C4
5F
E4
3
B
Cycle 3
Init
B
A
5
4
D
C4
5F
E4
3
H
G1
3
J
I4
2
Cycle 4
Init
B
A
5
2
D
C4
5F
E4
3
H
G1
3
J
I4
2
Goal0
L
K2
1
Cycle 5
Features For Comparison Latency of the network affecting search process Searching for semantically correct information Relevance of the information Order of complexity of an algorithm Suitable for Text, graphics, audio, video (multimedia) contents
Does the algorithm consider aging of information and outdated/obsolete information
Distributiveness of an algorithm
Algorithm ComparisonAlgorithm Time Memory Complete Optimal
Breadth-First O(bd) O(bd) Yes Yes
Depth-First O(bd) O(d) No No
Depth-First Iterative-Deepening O(bd) O(d) Yes Yes
Bidirectional O(bd/2) O(bd/2) Yes Yes
Hill-Climbing O(bd) O(1) – O(bd) No No
Best-First O(bd) O(bd) Yes No
A* O(bd) O(bd) Yes Yes
Iterative-Deepening-A* O(bd) O(d) Yes Yes
Beam Search O(nd) O(nd) No No
Means-Ends O(bd) O(bd) No No
Generate and Test O(((bd!)/((bd-d)!))/2) O(d) Yes No
Asynchronous Dynamic O(bd) O(1) Yes Yes
Learning Real-Time A* O(bd) O(bd) Yes Yes
Real-Time A* O(bd) O(bd) Yes No
Semantic Intelligent Search Agent
Conclusion
Having the right tool for the job
Meaningful searching
Demo and Questions