Unit 2 L2

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 48

Noida Institute of Engineering and Technology, Greater

Noida

Informed Search Algorithms

Unit: 02

Introduction to Search

B Tech 3rd Sem


Alka Singh
CSE(AIML)
1
August 4, 2024
Informed Search Algorithms
• So far we have talked about the uninformed
search algorithms which looked through search
space for all possible solutions of the problem
without having any additional knowledge about
search space.
• But informed search algorithm contains an
array of knowledge such as how far we are
from the goal, path cost, how to reach to goal
node, etc. This knowledge help agents to
explore less to the search space and find more
efficiently the goal node.
August 4, 2024 2
Continue…
• The informed search algorithm is more useful for large
search space. Informed search algorithm uses the idea
of heuristic, so it is also called Heuristic search.
• Heuristics function: Heuristic is a function which is
used in Informed Search, and it finds the most
promising path. It takes the current state of the agent
as its input and produces the estimation of how close
agent is from the goal. The heuristic method, however,
might not always give the best solution, but it
guaranteed to find a good solution in reasonable time.
Heuristic function estimates how close a state is to the
goal.
August 4, 2024 3
Continue…
• It is represented by h(n), and it calculates the cost of
an optimal path between the pair of states. The
value of the heuristic function is always positive.
• Admissibility of the heuristic function is given as:
h(n) <= h*(n)
Here h(n) is heuristic cost, and h*(n) is the estimated cost.
Hence heuristic cost should be less than or equal to the
estimated cost.
• In the informed search we will discuss two main
algorithms which are given below:
Best First Search Algorithm(Greedy search)
A* Search Algorithm
August 4, 2024 4
Best-first Search Algorithm (Greedy Search)
• Greedy best-first search algorithm always selects the
path which appears best at that moment. It is the
combination of depth-first search and breadth-first
search algorithms. It uses the heuristic function and
search. Best-first search allows us to take the
advantages of both algorithms. With the help of
best-first search, at each step, we can choose the
most promising node. In the best first search
algorithm, we expand the node which is closest to
the goal node and the closest cost is estimated by
heuristic function, i.e.
f(n)= h(n). Where, h(n)= estimated cost from node
n to the goal.
August 4, 2024 5
Continue…
• The greedy best first algorithm is implemented by
the priority queue.
Best first search algorithm:
• Step 1: Place the starting node into the OPEN list.
• Step 2: If the OPEN list is empty, Stop and return
failure.
• Step 3: Remove the node n, from the OPEN list which
has the lowest value of h(n), and places it in the
CLOSED list.
• Step 4: Expand the node n, and generate the
successors of node n
August 4, 2024 6
Continue…
• Step 5: Check each successor of node n, and find
whether any node is a goal node or not. If any
successor node is goal node, then return success and
terminate the search, else proceed to Step 6.
• Step 6: For each successor node, algorithm checks
for evaluation function f(n), and then check if the
node has been in either OPEN or CLOSED list. If the
node has not been in both list, then add it to the
OPEN list.
• Step 7: Return to Step 2.

August 4, 2024 7
Continue…
Advantages:
• Best first search can switch between BFS and DFS by
gaining the advantages of both the algorithms.
• This algorithm is more efficient than BFS and DFS
algorithms.
Disadvantages:
• It can behave as an unguided depth-first search in
the worst case scenario.
• It can get stuck in a loop as DFS.
• This algorithm is not optimal.

August 4, 2024 8
Continue…
Example:
• Consider the below search problem, and we will
traverse it using greedy best-first search. At each
iteration, each node is expanded using evaluation
function f(n)=h(n) , which is given in the below table.

August 4, 2024 9
Continue…

August 4, 2024 10
Continue…

• In this search example, we are using two lists which


are OPEN and CLOSED Lists. Following are the iteration for
traversing the above example.

August 4, 2024 11
Continue…

August 4, 2024 12
Continue…

Expand the nodes of S and put in the CLOSED list


Initialization: Open [A, B], Closed [S]
Iteration 1: Open [A], Closed [S, B]
Iteration 2: Open [E, F, A], Closed [S, B]
: Open [E, A], Closed [S, B, F]
Iteration 3: Open [I, G, E, A], Closed [S, B, F]
: Open [I, E, A], Closed [S, B, F, G]
Hence the final solution path will be: S----> B----->F----> G

August 4, 2024 13
Continue…
• Time Complexity: The worst case time complexity of
Greedy best first search is O(bm).
• Space Complexity: The worst case space complexity
of Greedy best first search is O(bm). Where, m is the
maximum depth of the search space.
• Complete: Greedy best-first search is also
incomplete, even if the given state space is finite.
• Optimal: Greedy best first search algorithm is not
optimal.

August 4, 2024 14
A* Search Algorithm

• A* search is the most commonly known form of best-


first search.
• It uses heuristic function h(n), and cost to reach the
node n from the start state g(n).
• It has combined features of UCS and greedy best-first
search, by which it solve the problem efficiently.
• A* search algorithm finds the shortest path through the
search space using the heuristic function.
August 4, 2024 15
A* Search Algorithm

• A* algorithm is similar to UCS except that it uses g(n)


+h(n) instead of g(n).
• A* search algorithm use search heuristic as well as the
cost to reach the node. Hence we can combine both
costs and this sum is called as a fitness number.

August 4, 2024 16
Continue…

• At each point in the search space, only those node is


expanded which have the lowest value of f(n), and
the algorithm terminates when the goal node is
found.

August 4, 2024 17
Continue…
Algorithm of A* search:
• Step1: Place the starting node in the OPEN list.

• Step 2: Check if the OPEN list is empty or not, if the list is


empty then return failure and stops.
• Step 3: Select the node from the OPEN list which has the
smallest value of evaluation function (g+h), if node n is goal
node then return success and stop, otherwise

August 4, 2024 18
Continue…
• Step 4: Expand node n and generate all of its successors, and
put n into the closed list. For each successor n', check whether
n' is already in the OPEN or CLOSED list, if not then compute
evaluation function for n' and place into Open list.
• Step 5: Else if node n' is already in OPEN and CLOSED, then it
should be attached to the back pointer which reflects the
lowest g(n') value.
• Step 6: Return to Step 2.

August 4, 2024 19
Continue…

Advantages:
• A* search algorithm is the best algorithm than other
search algorithms.
• A* search algorithm is optimal and complete.

• This algorithm can solve very complex problems

August 4, 2024 20
Continue…

Disadvantages:
• It does not always produce the shortest path as it
mostly based on heuristics and approximation.
• A* search algorithm has some complexity issues.

• The main drawback of A* is memory requirement as


it keeps all generated nodes in the memory, so it is
not practical for various large-scale problems.

August 4, 2024 21
Continue…
Example:
• In this example, we will traverse the given graph
using the A* algorithm. The heuristic value of all
states is given in the below table so we will calculate
the f(n) of each state using the formula f(n)= g(n) +
h(n), where g(n) is the cost to reach any node from
start state.
• Here we will use OPEN and CLOSED list.
August 4, 2024 22
Continue…
Problem:

August 4, 2024 23
Continue…
Solution:

August 4, 2024 24
Continue…
• Initialization: {(S, 5)}
• Iteration1: {(S--> A, 4), (S-->G, 10)}
• Iteration2: {(S--> A-->C, 4), (S--> A-->B, 7), (S--
>G, 10)}
• Iteration3: {(S--> A-->C--->G, 6), (S--> A-->C--->D,
11), (S--> A-->B, 7), (S-->G, 10)}
• Iteration 4 will give the final result, as S--->A---
>C--->G it provides the optimal path with cost 6.

August 4, 2024 25
Continue…
Points to remember:
• A* algorithm returns the path which occurred first,
and it does not search for all remaining paths.
• The efficiency of A* algorithm depends on the quality
of heuristic.
• A* algorithm expands all nodes which satisfy the
condition f(n).

August 4, 2024 26
Continue…
Complete: A* algorithm is complete as long as:
Branching factor is finite.
Cost at every action is fixed.
Time Complexity: The time complexity of A* search algorithm
depends on heuristic function, and the number of nodes
expanded is exponential to the depth of solution d. So the
time complexity is O(b^d), where b is the branching factor.
Space Complexity: The space complexity of A* search
algorithm is O(b^d)

August 4, 2024 27
Informed Search vs. Uninformed Search
INFORMED SEARCH UNINFORMED SEARCH
It uses knowledge for the searching It doesn’t use knowledge for searching
process. process.
It finds solution slow as compared to
It finds solution more quickly.
informed search.
It is highly efficient. It is mandatory efficient.
Cost is low. Cost is high.
It consumes less time. It consumes moderate time.
It provides the direction regarding the No suggestion is given regarding the
solution. solution in it.
It is more lengthy while
It is less lengthy while implementation.
implementation.
Greedy Search, A* Search, Graph Depth First Search, Breadth First
Search Search
08/04/24 28
Generate and Test algorithm

The generate and test algorithm is as follows :


1.Generate a possible solutions.
2. Test to see if this is the actual solution.
3. If the solution has been found, quit else go to step 1.

August 4, 2024 29
MCQ

• Q1. What is the other name of informed search


strategy?
a) Simple search
b) Heuristic search
c) Online search
d) None of the mentioned

August 4, 2024 30
MCQ
• Q2. Which search uses the problem specific
knowledge beyond the definition of the problem?
a) Informed search
b) Depth-first search
c) Breadth-first search
d) Uninformed search
• Answer: a
• Informed search can solve the problem beyond the
function definition, So does it can find the solution
more efficiently.

August 4, 2024 31
MCQ

• Q3. What is the heuristic function of greedy best-first


search?
a) f(n) != h(n)
b) f(n) < h(n)
c) f(n) = h(n)
d) f(n) > h(n)
• Answer: c

August 4, 2024 32
MCQ

• Q4. Which search is complete and optimal when h(n)


is consistent?
a) Best-first search
b) Depth-first search
c) Both Best-first & Depth-first search
d) A* search
• Answer: d

August 4, 2024 33
MCQ

• Q5. Which is used to improve the performance of heuristic


search?
a) Quality of nodes
b) Quality of heuristic function
c) Simple form of nodes
d) None of the mentioned
• Answer: b

August 4, 2024 34
MCQ
• Q6. Which search method will expand the node that is closest to the goal?
a) Best-first search
b) Greedy best-first search
c) A* search
d) None of the mentioned
• Answer: b

August 4, 2024 35
MCQ
• Q7. A heuristic is a way of trying ___________
a) To discover something or an idea embedded in a program
b) To search and measure how far a node in a search tree seems to be
from a goal
c) To compare two nodes in a search tree to see if one is better than
another
d) All of the mentioned
• Answer: d

August 4, 2024 36
MCQ

• Q8. A* algorithm is based on ___________


a) Breadth-First-Search
b) Depth-First –Search
c) Best-First-Search
d) Hill climbing
• Answer: c

August 4, 2024 37
MCQ
• Q9. The search strategy the uses a problem specific knowledge is
known as ___________
a) Informed Search
b) Best First Search
c) Heuristic Search
d) All of the mentioned
• Answer: d

August 4, 2024 38
MCQ

• Q10. Uninformed search strategies are better than


informed search strategies.
a) True
b) False
• Answer: b

August 4, 2024 39
MCQ
• Q11. Best-First search is a type of informed search, which
uses _____ to choose the best next node for expansion.
a) Evaluation function returning lowest evaluation
b) Evaluation function returning highest evaluation
c) Evaluation function returning lowest & highest evaluation
d) None of them is applicable
• Answer: a

August 4, 2024 40
MCQ
• Q12. Best-First search can be implemented using the
following data structure.
a) Queue
b) Stack
c) Priority Queue
d) Circular Queue
• Answer: c

August 4, 2024 41
MCQ
• Q13. Heuristic function h(n) is ________
a) Lowest path cost
b) Cheapest path from root to goal node
c) Estimated cost of cheapest path from root to goal node
d) Average path cost
• Answer: c

August 4, 2024 42
MCQ
• Q14 . Greedy search strategy chooses the node for
expansion in ___________
a) Shallowest
b) Deepest
c) The one closest to the goal node
d) Minimum heuristic cost
• Answer: c

August 4, 2024 43
MCQ
• Q15. What is the space complexity of Greedy search?
a) O(b)
b) O(bl)
c) O(m)
d) O(bm)
• Answer: d

August 4, 2024 44
MCQ
• Q16. What is the evaluation function in greedy
approach?
a) Heuristic function
b) Path cost from start node to current node
c) Path cost from start node to current node + Heuristic
cost
d) Average of Path cost from start node to current node
and Heuristic cost
• Answer: a
August 4, 2024 45
MCQ
Q 17. What is the evaluation function in A* approach.

a) Heuristic function

b) Path cost from start node to current node

c) Path cost from start node to current node + Heuristic


cost

d) Average of Path cost from start node to current node


and Heuristic cost

Answer: c
August 4, 2024 46
References

• American Association for Artificial Intelligence (AAAI),


Welcome to AI Topics, 2003, http://www.aaai.org/AITopics/ --
a Web-based library.
• George Luger,
Artificial Intelligence: Structures and Strategies for Complex P
roblem Solving, Fourth Edition
Addison-Wesley, 2002 -- a well-respected introduction to
artificial intelligence, as witnessed by its being in its fourth
edition.
• Peter Norvig, AI on the Web,
August 4, 2024 47
http://aima.cs.berkeley.edu/ai.html -- a list of over 800 links
August 4, 2024 48

You might also like