Intro To Artificial Intelligence Search: Ahmed Ezzat Labib Helwan University
Intro To Artificial Intelligence Search: Ahmed Ezzat Labib Helwan University
SEARCH
AHMED EZZAT LABIB
HELWAN UNIVERSITY
SEARCH STRATEGIES
• INFORMED SEARCH:
➢ STRATEGIES THAT KNOW WHETHER ONE NON-GOAL STATE IS “MORE PROMISING” THAN
ANOTHER ARE CALLED INFORMED SEARCH OR HEURISTIC.
HEURISTIC SEARCH.
3
4 SEARCH
➢ UNIFORM-COST SEARCH
➢ DEPTH-FIRST SEARCH
➢ DEPTH-LIMITED SEARCH
5
BREADTH-FIRST SEARCH
➢ GENERATE CHILDREN OF A STATE, QUEUEINGFN ADDS THE CHILDREN TO THE END OF THE
OPEN LIST
➢ LEVEL-BY-LEVEL SEARCH
➢ ORDER IN WHICH CHILDREN ARE INSERTED ON OPEN LIST IS ARBITRARY
➢ IN TREE, ASSUME CHILDREN ARE CONSIDERED LEFT-TO-RIGHT UNLESS SPECIFIED
DIFFERENTLY.
• BREADTH-FIRST SEARCH
➢ IS A FIFO QUEUE, I.E., NEW SUCCESSORS GO AT END, EXPAND SHALLOWEST UNEXPANDED
NODE.
BREADTH-FIRST SEARCH
7
BREADTH-FIRST SEARCH
B
S
C
G
D
E
F
H
Queue is Empty
Output: A B S C G D E F H
BREADTH-FIRST SEARCH - PSEUDOCODE
unmark all vertices
choose some starting vertex x
mark x
list L = x
tree T = x
while L nonempty
choose some vertex v from front of list
visit v
for each unmarked neighbor w
mark w
add it to end of list
add edge vw to T
ANALYSIS
➢ ASSUME GOAL NODE AT LEVEL D WITH CONSTANT BRANCHING FACTOR B
➢ SPACE COMPLEXITY
➢ AT MOST MAJORITY OF NODES AT LEVEL D + MAJORITY OF NODES AT LEVEL D+1 = O(BD+1)
➢ FEATURES
➢ SIMPLE TO IMPLEMENT
➢ COMPLETE
➢ FINDS SHORTEST SOLUTION (NOT NECESSARILY LEAST-COST UNLESS ALL OPERATORS HAVE EQUAL COST)
BREADTH-FIRST SEARCH - EXAMPLE
BREADTH-FIRST SEARCH - EXAMPLE
DEPTH-FIRST SEARCH
➢ QUEUEINGFN ADDS THE CHILDREN TO THE FRONT OF THE OPEN LIST
➢ NET EFFECT
➢ FOLLOW LEFTMOST PATH TO BOTTOM, THEN BACKTRACK
• SPACE COMPLEXITY
➢ ONLY NEED TO SAVE ONE SET OF CHILDREN AT EACH LEVEL
➢ 1 + B + B + … + B (M LEVELS TOTAL) = O(BM)
➢ FOR PREVIOUS EXAMPLE, DFS REQUIRES 118KB INSTEAD OF 10 PETABYTES FOR D=12 (10 BILLION TIMES
LESS)
• BENEFITS
➢ MAY NOT ALWAYS FIND SOLUTION
➢ SOLUTION IS NOT NECESSARILY SHORTEST OR LEAST COST
➢ IF MANY SOLUTIONS, MAY FIND ONE QUICKLY (QUICKLY MOVES TO DEPTH D)
➢ SIMPLE TO IMPLEMENT
➢ SPACE OFTEN BIGGER CONSTRAINT, SO MORE USABLE THAN BFS FOR LARGE PROBLEMS
SEARCH COMPLEXITY
16 SEARCH COMPLEXITY
OBSERVATIONS:
• BREADTH-FIRST HAS THE ADVANTAGE THAT IT WILL ALWAYS FIND THE ROUTE (IF ONE
EXISTS) WITH THE LEAST NUMBER OF INTERMEDIATE STATES, BUT AT THE EXPENSE OF
HAVING TO KEEP ON THE OPEN EVERY PATH WITH THIS NUMBER OF STEPS.
• IF B IS THE BRANCHING FACTOR AND M IS THE NUMBER OF LINKS IN THE PATH, THE OPEN
NEEDS TO STORE BM PATHS, WHICH IS QUITE LARGE. (SPACE COMPLEXITY IS
EXPONENTIAL)
• DEPTH-FIRST CAN BE USED TO REDUCE THE MEMORY REQUIREMENTS OF SEARCH. (SPACE
COMPLEXITY IS LINEAR)
• IT EXPLORES ONE PATH AT A TIME.
COMPARISON OF SEARCH TECHNIQUES
DFS BFS
Complete N Y
Optimal N N
Heuristic N N
Time bm bd+1
Space bm bd+1
UNIFORM-COST SEARCH
Initialization: { [ S , 0 ] }
Iteration1: { [ S->A , 1 ] , [ S->G , 12 ] }
Iteration2: { [ S->A->C , 2 ] , [ S->A->B , 4 ] , [ S->G , 12] }
Iteration3: { [ S->A->C->D , 3 ] , [ S->A->B , 4 ] , [ S->A->C->G , 4 ] , [ S->G , 12 ] }
Iteration4: { [ S->A->B , 4 ] , [ S->A->C->G , 4 ] , [ S->A->C->D->G , 6 ] , [ S->G , 12 ] }
Iteration5: { [ S->A->C->G , 4 ] , [ S->A->C->D->G , 6 ] , [ S->A->B->D , 7 ] , [ S->G , 12 ] }
Iteration6 gives the final output as S->A->C->G.
UNIFORM-COST SEARCH
• REPORT: A PSEUDOCODE (OR IN ANY PROGRAMMING LANGUAGE) FOR
UNIFORM-COST SEARCH
• DEADLINE: 27/10/2023