0% found this document useful (0 votes)
16 views

Search Algorithms in AI

The document discusses search algorithms in artificial intelligence, outlining their importance in helping agents achieve tasks through structured problem-solving. It categorizes search algorithms into uninformed (e.g., Depth First Search, Breadth First Search, Uniform Cost Search) and informed algorithms (e.g., Greedy Search, A* Tree Search, A* Graph Search), detailing their strategies, advantages, and disadvantages. The article emphasizes the role of heuristics in informed searches and provides examples to illustrate how different algorithms operate.

Uploaded by

Sajid Hussain
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Search Algorithms in AI

The document discusses search algorithms in artificial intelligence, outlining their importance in helping agents achieve tasks through structured problem-solving. It categorizes search algorithms into uninformed (e.g., Depth First Search, Breadth First Search, Uniform Cost Search) and informed algorithms (e.g., Greedy Search, A* Tree Search, A* Graph Search), detailing their strategies, advantages, and disadvantages. The article emphasizes the role of heuristics in informed searches and provides examples to illustrate how different algorithms operate.

Uploaded by

Sajid Hussain
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

13/01/2025, 21:31 Search Algorithms in AI - GeeksforGeeks

Courses @90% Refund Data Science Data Science Projects Data Analysis Data Visualization Machine Learni

Search Algorithms in AI
Last Updated : 22 Mar, 2023

Artificial Intelligence is the study of building agents that act rationally. Most of
the time, these agents perform some kind of search algorithm in the
background in order to achieve their tasks.

A search problem consists of:


A State Space. Set of all possible states where you can be.
A Start State. The state from where the search begins.
A Goal State. A function that looks at the current state returns
whether or not it is the goal state.
The Solution to a search problem is a sequence of actions, called the plan
that transforms the start state to the goal state.
This plan is achieved through search algorithms.

Types of search algorithms:

There are far too many powerful search algorithms out there to fit in a single
article. Instead, this article will discuss six of the fundamental search
algorithms, divided into two categories, as shown below.

Note that there is much more to search algorithms than the chart I have
provided above. However, this article will mostly stick to the above chart,
https://www.geeksforgeeks.org/search-algorithms-in-ai/ 1/17
13/01/2025, 21:31 Search Algorithms in AI - GeeksforGeeks

exploring the algorithms given there.

Uninformed Search Algorithms:

The search algorithms in this section have no additional information on the


goal node other than the one provided in the problem definition. The plans to
reach the goal state from the start state differ only by the order and/or length
of actions. Uninformed search is also called Blind search. These algorithms can
only generate the successors and differentiate between the goal state and non
goal state.

The following uninformed search algorithms are discussed in this section.

1. Depth First Search


2. Breadth First Search
3. Uniform Cost Search

Each of these algorithms will have:

A problem graph, containing the start node S and the goal node G.
A strategy, describing the manner in which the graph will be traversed to
get to G.
A fringe, which is a data structure used to store all the possible states
(nodes) that you can go from the current states.
A tree, that results while traversing to the goal node.
A solution plan, which the sequence of nodes from S to G.

Depth First Search:


https://www.geeksforgeeks.org/search-algorithms-in-ai/ 2/17
13/01/2025, 21:31 Search Algorithms in AI - GeeksforGeeks

Depth-first search (DFS) is an algorithm for traversing or searching tree or


graph data structures. The algorithm starts at the root node (selecting some
arbitrary node as the root node in the case of a graph) and explores as far as
possible along each branch before backtracking. It uses last in- first-out
strategy and hence it is implemented using a stack.

Example:

Question. Which solution would DFS find to move from node S to node G
if run on the graph below?

Solution. The equivalent search tree for the above graph is as follows. As DFS
traverses the tree “deepest node first”, it would always pick the deeper branch
until it reaches the solution (or it runs out of nodes, and goes to the next
branch). The traversal is shown in blue arrows.

https://www.geeksforgeeks.org/search-algorithms-in-ai/ 3/17
13/01/2025, 21:31 Search Algorithms in AI - GeeksforGeeks

Path: S -> A -> B -> C -> G

= the depth of the search tree = the number of levels of the search tree.
= number of nodes in level .

Time complexity: Equivalent to the number of nodes traversed in DFS.

Space complexity: Equivalent to how large can the fringe get.

Completeness: DFS is complete if the search tree is finite, meaning for a


given finite search tree, DFS will come up with a solution if it exists.
Optimality: DFS is not optimal, meaning the number of steps in reaching
the solution, or the cost spent in reaching it is high.

https://www.geeksforgeeks.org/search-algorithms-in-ai/ 4/17
13/01/2025, 21:31 Search Algorithms in AI - GeeksforGeeks

Breadth First Search:

Breadth-first search (BFS) is an algorithm for traversing or searching tree or


graph data structures. It starts at the tree root (or some arbitrary node of a
graph, sometimes referred to as a ‘search key’), and explores all of the
neighbor nodes at the present depth prior to moving on to the nodes at the
next depth level. It is implemented using a queue.

Example:
Question. Which solution would BFS find to move from node S to node G if run
on the graph below?

Solution. The equivalent search tree for the above graph is as follows. As BFS
traverses the tree “shallowest node first”, it would always pick the shallower
branch until it reaches the solution (or it runs out of nodes, and goes to the
next branch). The traversal is shown in blue arrows.

Path: S -> D -> G

https://www.geeksforgeeks.org/search-algorithms-in-ai/ 5/17
13/01/2025, 21:31 Search Algorithms in AI - GeeksforGeeks

= the depth of the shallowest solution.


= number of nodes in level .
Time complexity: Equivalent to the number of nodes traversed in BFS
until the shallowest solution.
Space complexity: Equivalent to how large can the fringe get.
Completeness: BFS is complete, meaning for a given search tree, BFS
will come up with a solution if it exists.

Optimality: BFS is optimal as long as the costs of all edges are equal.

Uniform Cost Search:

UCS is different from BFS and DFS because here the costs come into play. In
other words, traversing via different edges might not have the same cost. The
goal is to find a path where the cumulative sum of costs is the least.

Cost of a node is defined as:

cost(node) = cumulative cost of all nodes from root


cost(root) = 0

Example:
Question. Which solution would UCS find to move from node S to node G if
run on the graph below?

Solution. The equivalent search tree for the above graph is as follows. The cost
of each node is the cumulative cost of reaching that node from the root. Based
https://www.geeksforgeeks.org/search-algorithms-in-ai/ 6/17
13/01/2025, 21:31 Search Algorithms in AI - GeeksforGeeks

on the UCS strategy, the path with the least cumulative cost is chosen. Note
that due to the many options in the fringe, the algorithm explores most of them
so long as their cost is low, and discards them when a lower-cost path is found;
these discarded traversals are not shown below. The actual traversal is shown
in blue.

Path: S -> A -> B -> G


Cost: 5

Let = cost of solution.


= arcs cost.

Then effective depth

Time complexity: , Space complexity:

Advantages:

UCS is complete only if states are finite and there should be no loop with
zero weight.
UCS is optimal only if there is no negative cost.

Disadvantages:

Explores options in every “direction”.


https://www.geeksforgeeks.org/search-algorithms-in-ai/ 7/17
13/01/2025, 21:31 Search Algorithms in AI - GeeksforGeeks

No information on goal location.

Informed Search Algorithms:

Here, the algorithms have information on the goal state, which helps in more
efficient searching. This information is obtained by something called a
heuristic.
In this section, we will discuss the following search algorithms.

1. Greedy Search
2. A* Tree Search
3. A* Graph Search

Search Heuristics: In an informed search, a heuristic is a function that


estimates how close a state is to the goal state. For example – Manhattan
distance, Euclidean distance, etc. (Lesser the distance, closer the goal.)
Different heuristics are used in different informed algorithms discussed below.

Greedy Search:

In greedy search, we expand the node closest to the goal node. The
“closeness” is estimated by a heuristic h(x).

Heuristic: A heuristic h is defined as-


h(x) = Estimate of distance of node x from the goal node.
Lower the value of h(x), closer is the node from the goal.

Strategy: Expand the node closest to the goal state, i.e. expand the node with
a lower h value.

Example:

Question. Find the path from S to G using greedy search. The heuristic values
h of each node below the name of the node.

https://www.geeksforgeeks.org/search-algorithms-in-ai/ 8/17
13/01/2025, 21:31 Search Algorithms in AI - GeeksforGeeks

Solution. Starting from S, we can traverse to A(h=9) or D(h=5). We choose D,


as it has the lower heuristic cost. Now from D, we can move to B(h=4) or
E(h=3). We choose E with a lower heuristic cost. Finally, from E, we go to
G(h=0). This entire traversal is shown in the search tree below, in blue.

Path: S -> D -> E -> G

Advantage: Works well with informed search problems, with fewer steps to
reach a goal.
Disadvantage: Can turn into unguided DFS in the worst case.

A* Tree Search:

https://www.geeksforgeeks.org/search-algorithms-in-ai/ 9/17
13/01/2025, 21:31 Search Algorithms in AI - GeeksforGeeks

A* Tree Search, or simply known as A* Search, combines the strengths of


uniform-cost search and greedy search. In this search, the heuristic is the
summation of the cost in UCS, denoted by g(x), and the cost in the greedy
search, denoted by h(x). The summed cost is denoted by f(x).

Heuristic: The following points should be noted wrt heuristics in A* search.

Here, h(x) is called the forward cost and is an estimate of the distance of
the current node from the goal node.
And, g(x) is called the backward cost and is the cumulative cost of a node
from the root node.
A* search is optimal only when for all nodes, the forward cost for a node
h(x) underestimates the actual cost h*(x) to reach the goal. This property of
A* heuristic is called admissibility.

Admissibility:

Strategy: Choose the node with the lowest f(x) value.

Example:

Question. Find the path to reach from S to G using A* search.

Solution. Starting from S, the algorithm computes g(x) + h(x) for all nodes in
the fringe at each step, choosing the node with the lowest sum. The entire
https://www.geeksforgeeks.org/search-algorithms-in-ai/ 10/17
13/01/2025, 21:31 Search Algorithms in AI - GeeksforGeeks

work is shown in the table below.

Note that in the fourth set of iterations, we get two paths with equal summed
cost f(x), so we expand them both in the next set. The path with a lower cost
on further expansion is the chosen path.

Path h(x) g(x) f(x)

S 7 0 7

S -> A 9 3 12

S -> D 5 2 7

S -> D -> B 4 2+1= 7


3

S -> D -> E 3 2+4= 9


6

S -> D -> B -> C 2 3+2= 7


5

S -> D -> B -> E 3 3+1= 7


4

S -> D -> B -> C -> G 0 5+4= 9


9

S -> D -> B -> E -> G 0 4+3= 7


7

Path: S -> D -> B -> E -> G

https://www.geeksforgeeks.org/search-algorithms-in-ai/ 11/17
13/01/2025, 21:31 Search Algorithms in AI - GeeksforGeeks

Cost: 7

A* Graph Search:

A* tree search works well, except that it takes time re-exploring the
branches it has already explored. In other words, if the same node has
expanded twice in different branches of the search tree, A* search might
explore both of those branches, thus wasting time
A* Graph Search, or simply Graph Search, removes this limitation by adding
this rule: do not expand the same node more than once.
Heuristic. Graph search is optimal only when the forward cost between two
successive nodes A and B, given by h(A) – h (B), is less than or equal to the
backward cost between those two nodes g(A -> B). This property of the
graph search heuristic is called consistency.

Consistency:

Example:

Question. Use graph searches to find paths from S to G in the following graph.

the Solution. We solve this question pretty much the same way we solved last
question, but in this case, we keep a track of nodes explored so that we don’t
re-explore them.

https://www.geeksforgeeks.org/search-algorithms-in-ai/ 12/17
13/01/2025, 21:31 Search Algorithms in AI - GeeksforGeeks

Path: S -> D -> B -> E -> G


Cost: 7

Get IBM Certification and a 90% fee refund on completing 90% course in
90 days! Take the Three 90 Challenge today.

Master Machine Learning, Data Science & AI with this complete program and
also get a 90% refund. What more motivation do you need? Start the
challenge right away!

Comment More info Advertise with us Next Article


Uninformed Search Algorithms in AI

Similar Reads
Artificial Intelligence Tutorial | AI Tutorial
Artificial Intelligence (AI) refers to the simulation of human intelligence in machines that are programmed to
think and act like humans. It involves the development of algorithms and computer programs that can perfor…

7 min read

What is Artificial Intelligence?


What is Artificial Intelligence? In today's rapidly advancing technological landscape, AI has become a
household term. From chatbots and virtual assistants to self-driving cars and recommendation algorithms, th…

15+ min read


https://www.geeksforgeeks.org/search-algorithms-in-ai/ 13/17
13/01/2025, 21:31 Search Algorithms in AI - GeeksforGeeks

History of AI
The term Artificial Intelligence (AI) is already widely used in everything from smartphones to self-driving cars.
AI has come a long way from science fiction stories to practical uses. Yet What is artificial intelligence and…

7 min read

Types of AI

Agents in Artificial Intelligence


In artificial intelligence, an agent is a computer program or system that is designed to perceive its
environment, make decisions and take actions to achieve a specific goal or set of goals. The agent operates…

11 min read

Problem Solving in AI

Search Algorithms in AI
Artificial Intelligence is the study of building agents that act rationally. Most of the time, these agents
perform some kind of search algorithm in the background in order to achieve their tasks. A search problem…

10 min read

Uninformed Search Algorithms in AI


Uninformed search algorithms are a class of search algorithms that do not have any additional information
about the problem other than what is given in the problem definition. They are also known as blind search…

8 min read

Informed Search Algorithms in Artificial Intelligence


Informed search algorithms, also known as heuristic search algorithms, are an essential component of
Artificial Intelligence (AI). These algorithms use domain-specific knowledge to improve the efficiency of the…

10 min read

Local Search Algorithm in Artificial Intelligence


Local search algorithms are essential tools in artificial intelligence and optimization, employed to find high-
quality solutions in large and complex problem spaces. Key algorithms include Hill-Climbing Search,…

4 min read

Adversarial Search Algorithms in Artificial Intelligence (AI)


Adversarial search algorithms are the backbone of strategic decision-making in artificial intelligence, it
enables the agents to navigate competitive scenarios effectively. This article offers concise yet…

15+ min read


https://www.geeksforgeeks.org/search-algorithms-in-ai/ 14/17
13/01/2025, 21:31 Search Algorithms in AI - GeeksforGeeks

Constraint Satisfaction Problems (CSP) in Artificial Intelligence


Constraint Satisfaction Problems (CSP) play a crucial role in artificial intelligence (AI) as they help solve
various problems that require decision-making under certain constraints. CSPs represent a class of problem…

14 min read

Knowledge, Reasoning and Planning in AI

Learning in AI

Generative AI

Corporate & Communications Address:


A-143, 7th Floor, Sovereign Corporate
Tower, Sector- 136, Noida, Uttar Pradesh
(201305)

Registered Address:
K 061, Tower K, Gulshan Vivante
Apartment, Sector 137, Noida, Gautam
Buddh Nagar, Uttar Pradesh, 201305

Advertise with us

Company Languages
About Us Python
Legal Java
In Media C++
Contact Us PHP
Advertise with us GoLang
GFG Corporate Solution SQL
Placement Training Program R Language

https://www.geeksforgeeks.org/search-algorithms-in-ai/ 15/17
13/01/2025, 21:31 Search Algorithms in AI - GeeksforGeeks
GeeksforGeeks Community Android Tutorial
Tutorials Archive

DSA Data Science & ML


Data Structures Data Science With Python
Algorithms Data Science For Beginner
DSA for Beginners Machine Learning
Basic DSA Problems ML Maths
DSA Roadmap Data Visualisation
Top 100 DSA Interview Problems Pandas
DSA Roadmap by Sandeep Jain NumPy
All Cheat Sheets NLP
Deep Learning

Web Technologies Python Tutorial


HTML Python Programming Examples
CSS Python Projects
JavaScript Python Tkinter
TypeScript Web Scraping
ReactJS OpenCV Tutorial
NextJS Python Interview Question
Bootstrap Django
Web Design

Computer Science DevOps


Operating Systems Git
Computer Network Linux
Database Management System AWS
Software Engineering Docker
Digital Logic Design Kubernetes
Engineering Maths Azure
Software Development GCP
Software Testing DevOps Roadmap

System Design Inteview Preparation


High Level Design Competitive Programming
Low Level Design Top DS or Algo for CP
UML Diagrams Company-Wise Recruitment Process
Interview Guide Company-Wise Preparation
Design Patterns Aptitude Preparation
OOAD Puzzles
System Design Bootcamp
Interview Questions

School Subjects GeeksforGeeks Videos


Mathematics DSA
Physics Python
Chemistry Java
Biology C++
https://www.geeksforgeeks.org/search-algorithms-in-ai/ 16/17
13/01/2025, 21:31 Search Algorithms in AI - GeeksforGeeks
Social Science Web Development
English Grammar Data Science
Commerce CS Subjects
World GK

@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved

https://www.geeksforgeeks.org/search-algorithms-in-ai/ 17/17

You might also like