0% found this document useful (0 votes)
39 views21 pages

Intro To Artificial Intelligence Search: Ahmed Ezzat Labib Helwan University

Here is pseudocode for uniform-cost search in a handwritten format: Uniform-Cost Search(problem) closed := empty set open := priority queue with only the initial state and its cost while open is not empty current := node with lowest cost from open if current is goal state then return current remove current from open, add to closed for each successor of current if successor is not in closed g := cost from start to successor priority := g if successor not in open add successor to open at priority g else if g < priority of successor in open update priority of successor in open to g return failure

Uploaded by

ARTS -أرطس
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views21 pages

Intro To Artificial Intelligence Search: Ahmed Ezzat Labib Helwan University

Here is pseudocode for uniform-cost search in a handwritten format: Uniform-Cost Search(problem) closed := empty set open := priority queue with only the initial state and its cost while open is not empty current := node with lowest cost from open if current is goal state then return current remove current from open, add to closed for each successor of current if successor is not in closed g := cost from start to successor priority := g if successor not in open add successor to open at priority g else if g < priority of successor in open update priority of successor in open to g return failure

Uploaded by

ARTS -أرطس
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

INTRO TO ARTIFICIAL INTELLIGENCE

SEARCH
AHMED EZZAT LABIB
HELWAN UNIVERSITY
SEARCH STRATEGIES

• SEARCH STRATEGIES DIFFER ONLY IN QUEUINGFUNCTION


• FEATURES BY WHICH TO COMPARE SEARCH STRATEGIES
• COMPLETENESS (ALWAYS FIND SOLUTION)
• COST OF SEARCH (TIME AND SPACE)
• COST OF SOLUTION, OPTIMAL SOLUTION
• MAKE USE OF KNOWLEDGE OF THE DOMAIN
• “UNINFORMED SEARCH” VS. “INFORMED SEARCH”
SEARCH BROAD CATEGORIES
• UNINFORMED SEARCH (BLIND SEARCH):
➢ THE TERM MEANS THAT THE STRATEGIES HAVE NO ADDITIONAL INFORMATION ABOUT
STATES BEYOND THAT PROVIDED IN THE PROBLEM DEFINITION.
➢ ALL THEY CAN DO IS GENERATE SUCCESSORS AND DISTINGUISH A GOAL STATE FROM A
NON-GOAL STATE.

• 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

• COMPONENTS OF THE UNINFORMED SEARCH:


➢ OPEN A DATA STRUCTURE THAT HOLDS ALL THE STATES THAT WE WANT TO
EXPLORE
➢ EXPANDING THE STATE IS THE PROCESS OF APPLYING OPERATORS ON THIS STATE
TO GENERATE NEW STATES
➢ THE OPEN WILL CONTAIN PATHS FROM THE START STATE TO THE CURRENT STATE.
➢ ALL SEARCH STRATEGIES ARE DISTINGUISHED BY THE ORDER IN WHICH NODES
ARE EXPANDED.
UNINFORMED SEARCH STRATEGIES

• UNINFORMED STRATEGIES USE ONLY THE INFORMATION AVAILABLE IN THE


PROBLEM DEFINITION.
➢ BREADTH-FIRST SEARCH

➢ UNIFORM-COST SEARCH

➢ DEPTH-FIRST SEARCH

➢ DEPTH-LIMITED SEARCH

➢ ITERATIVE DEEPENING 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

➢ TIME COMPLEXITY (MEASURED IN #NODES GENERATED)


1 (1ST LEVEL ) + B (2ND LEVEL) + B2 (3RD LEVEL) + … + BD (GOAL LEVEL) + (BD+1 – B) = O(BD+1)

➢ THIS ASSUMES GOAL ON FAR RIGHT OF LEVEL

➢ SPACE COMPLEXITY
➢ AT MOST MAJORITY OF NODES AT LEVEL D + MAJORITY OF NODES AT LEVEL D+1 = O(BD+1)

➢ EXPONENTIAL TIME AND SPACE

➢ 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

➢ BFS EMULATES FIFO QUEUE

➢ DFS EMULATES LIFO STACK

➢ NET EFFECT
➢ FOLLOW LEFTMOST PATH TO BOTTOM, THEN BACKTRACK

➢ EXPAND DEEPEST NODE FIRST


DEPTH-FIRST SEARCH
ANALYSIS
• TIME COMPLEXITY
➢ IN THE WORST CASE, SEARCH ENTIRE SPACE
➢ GOAL MAY BE AT LEVEL D BUT TREE MAY CONTINUE TO LEVEL M, M>=D
➢ O(BM)
➢ PARTICULARLY BAD IF TREE IS INFINITELY DEEP

• 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

• EXPAND THE CHEAPEST UNEXPANDED NODE


• PRIORITY QUEUE ORDERED BY PATH COST G(N)
• EQUIVALENT TO BREADTH-FIRST SEARCH, IF ALL STEP COSTS ARE EQUAL
UNIFORM-COST SEARCH
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

• THE REPORT MUST BE IN A HAND WRITTEN FORMAT

You might also like