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

3_Search Algorithms Lecture Notes

The document discusses search algorithms in Artificial Intelligence, detailing their importance and various types, including uninformed and informed search strategies. It outlines key concepts such as problem-solving agents, search spaces, and properties of search algorithms like completeness and optimality. Additionally, it describes specific algorithms like Breadth-First Search, Depth-First Search, and Uniform-Cost Search, highlighting their advantages, disadvantages, and complexities.

Uploaded by

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

3_Search Algorithms Lecture Notes

The document discusses search algorithms in Artificial Intelligence, detailing their importance and various types, including uninformed and informed search strategies. It outlines key concepts such as problem-solving agents, search spaces, and properties of search algorithms like completeness and optimality. Additionally, it describes specific algorithms like Breadth-First Search, Depth-First Search, and Uniform-Cost Search, highlighting their advantages, disadvantages, and complexities.

Uploaded by

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

Artificial Intelligence(23CP307T)

Search Algorithms in Artificial Intelligence

Course Coordinator: Dr. Sidheswar Routray


Course Faculty: Dr. Rajeev Kumar Gupta, Dr. Pooja Shah, Dr. Shantanu Roy
Department of Computer Science & Engineering
School of Technology
1/28/2025 1
Search Algorithms in Artificial Intelligence

• Search algorithms are one of the most important areas of Artificial Intelligence.
This topic will explain all about the search algorithms in AI.

Problem-solving agents:
• In Artificial Intelligence, Search techniques are universal problem-solving
methods.
• Rational agents or Problem-solving agents in AI mostly used these search
strategies or algorithms to solve a specific problem and provide the best result.
• Problem-solving agents are the goal-based agents and use atomic
representation. In this topic, we will learn various problem-solving search
algorithms.

1/28/2025 2
Search Algorithm Terminologies:
Search: Searching is a step by step procedure to solve a search-problem in a given search
space. A search problem can have three main factors:
Search Space: Search space represents a set of possible solutions, which a system may
have.
Start State: It is a state from where agent begins the search.
Goal test: It is a function which observe the current state and returns whether the
goal state is achieved or not.
Search tree: A tree representation of search problem is called Search tree. The root of the
search tree is the root node which is corresponding to the initial state.
Actions: It gives the description of all the available actions to the agent.
Transition model: A description of what each action do, can be represented as a transition
model.
Path Cost: It is a function which assigns a numeric cost to each path.
Solution: It is an action sequence which leads from the start node to the goal node.
Optimal Solution: If a solution has the lowest cost among all solutions.
1/28/2025 3
Properties of Search Algorithms:

• Following are the four essential properties of search algorithms to compare the
efficiency of these algorithms:
Completeness: A search algorithm is said to be complete if it guarantees to return a solution
if at least any solution exists for any random input.
Optimality: If a solution found for an algorithm is guaranteed to be the best solution (lowest
path cost) among all other solutions, then such a solution for is said to be an optimal
solution.
Time Complexity: Time complexity is a measure of time for an algorithm to complete its
task.
Space Complexity: It is the maximum storage space required at any point during the search,
as the complexity of the problem.

1/28/2025 4
Types of search algorithms
• Based on the search problems we can classify the search algorithms into
uninformed (Blind search) search and informed search (Heuristic search)
algorithms.

1/28/2025 5
Uninformed/Blind Search:
• The uninformed search does not contain any domain knowledge such as closeness,
the location of the goal.
• It operates in a brute-force way as it only includes information about how to
traverse the tree and how to identify leaf and goal nodes.
• Uninformed search applies a way in which search tree is searched without any
information about the search space like initial state operators and test for the goal,
so it is also called blind search.
• It examines each node of the tree until it achieves the goal node.
It can be divided into five main types:
• Breadth-first search
• Uniform cost search
• Depth-first search
• Iterative deepening depth-first search
• Bidirectional Search

1/28/2025 6
Informed Search
• Informed search algorithms use domain knowledge.
• In an informed search, problem information is available which can guide the search.
Informed search strategies can find a solution more efficiently than an uninformed
search strategy. Informed search is also called a Heuristic search.
• A heuristic is a way which might not always be guaranteed for best solutions but
guaranteed to find a good solution in reasonable time.
• Informed search can solve much complex problem which could not be solved in
another way.
An example of informed search algorithms is a traveling salesman problem.
• Greedy Search
• A* Search

1/28/2025 7
1. Breadth-first Search:

• Breadth-first search is the most common search strategy for traversing a tree or
graph. This algorithm searches breadthwise in a tree or graph, so it is called
breadth-first search.
• BFS algorithm starts searching from the root node of the tree and expands all
successor node at the current level before moving to nodes of next level.
• The breadth-first search algorithm is an example of a general-graph search
algorithm.
• Breadth-first search implemented using FIFO queue data structure.

1/28/2025 8
Example:
• In the below tree structure, we have shown the traversing of the tree using BFS
algorithm from the root node S to goal node K. BFS search algorithm traverse in
layers, so it will follow the path which is shown by the dotted arrow, and the
traversed path will be:
S---> A--->B---->C--->D---->G--->H--->E---->F---->I---->K

1/28/2025 9
Time Complexity: Time Complexity of BFS algorithm can be obtained by the number of nodes traversed in
BFS until the shallowest Node. Where the d= depth of shallowest solution and b is a node at every state.
T (b) = 1+b2+b3+.......+ bd= O (bd)
Space Complexity: Space complexity of BFS algorithm is given by the Memory size of frontier which is
O(bd).
Completeness: BFS is complete, which means if the shallowest goal node is at some finite depth, then BFS
will find a solution.
Optimality: BFS is optimal if path cost is a non-decreasing function of the depth of the node.

Advantages:
• BFS will provide a solution if any solution exists.
• If there are more than one solutions for a given problem, then BFS will provide the minimal solution
which requires the least number of steps.
Disadvantages:
• It requires lots of memory since each level of the tree must be saved into memory to expand the next
level.
• BFS needs lots of time if the solution is far away from the root node.

1/28/2025 10
2. Depth-first Search
• Depth-first search is a recursive algorithm for traversing a tree or graph data structure.
• It is called the depth-first search because it starts from the root node and follows each
path to its greatest depth node before moving to the next path.
• DFS uses a stack data structure for its implementation.
• The process of the DFS algorithm is similar to the BFS algorithm.
Example:
• In the below search tree, we have shown the flow of depth-first search, and it will
follow the order as:
• Root node--->Left node ----> right node.
• It will start searching from root node S, and traverse A, then B, then D and E, after
traversing E, it will backtrack the tree as E has no other successor and still goal node is
not found. After backtracking it will traverse node C and then G, and here it will
terminate as it found goal node.

1/28/2025 11
1/28/2025 12
Completeness: DFS search algorithm is complete within finite state space as it will expand
every node within a limited search tree.
Time Complexity: Time complexity of DFS will be equivalent to the node traversed by the
algorithm. It is given by:
T(n)= 1+ n2+ n3 +.........+ nm=O(nm)
Where, m= maximum depth of any node and this can be much larger than d (Shallowest
solution depth)
Space Complexity: DFS algorithm needs to store only single path from the root node,
hence space complexity of DFS is equivalent to the size of the fringe set, which is O(bm).
Optimal: DFS search algorithm is non-optimal, as it may generate a large number of steps
or high cost to reach to the goal node.

1/28/2025 13
Advantage:
• DFS requires very less memory as it only needs to store a stack of the
nodes on the path from root node to the current node.
• It takes less time to reach to the goal node than BFS algorithm (if it
traverses in the right path).
Disadvantage:
• There is the possibility that many states keep re-occurring, and there is
no guarantee of finding the solution.
• DFS algorithm goes for deep down searching and sometime it may go to
the infinite loop.

1/28/2025 14
3. Depth-Limited Search Algorithm:
• A depth-limited search algorithm is similar to depth-first search with a predetermined
limit. Depth-limited search can solve the drawback of the infinite path in the Depth-
first search. In this algorithm, the node at the depth limit will treat as it has no
successor nodes further.
• Depth-limited search can be terminated with two Conditions of failure:
• Standard failure value: It indicates that problem does not have any solution.
• Cutoff failure value: It defines no solution for the problem within a given depth limit.
Advantages:
• Depth-limited search is Memory efficient.
Disadvantages:
• Depth-limited search also has a disadvantage of incompleteness.
• It may not be optimal if the problem has more than one solution.

1/28/2025 15
1/28/2025 16
Completeness: DLS search algorithm is complete if the solution is
above the depth-limit.
Time Complexity: Time complexity of DLS algorithm is O(bℓ).
Space Complexity: Space complexity of DLS algorithm is O(b×ℓ).
Optimal: Depth-limited search can be viewed as a special case of DFS,
and it is also not optimal even if ℓ>d.

1/28/2025 17
4. Uniform-cost Search Algorithm:
• Uniform-cost search is a searching algorithm used for traversing a weighted tree or
graph.
• This algorithm comes into play when a different cost is available for each edge.
• The primary goal of the uniform-cost search is to find a path to the goal node which
has the lowest cumulative cost.
• Uniform-cost search expands nodes according to their path costs form the root
node.
• It can be used to solve any graph/tree where the optimal cost is in demand.
• A uniform-cost search algorithm is implemented by the priority queue.
• It gives maximum priority to the lowest cumulative cost. Uniform cost search is
equivalent to BFS algorithm if the path cost of all edges is the same.

1/28/2025 18
Advantages:
• Uniform cost search is optimal because at every state the path with the least cost is
chosen.
Disadvantages:
• It does not care about the number of steps involve in searching and only concerned
about path cost. Due to which this algorithm may be stuck in an infinite loop.

1/28/2025 19
Completeness:
• Uniform-cost search is complete, such as if there is a solution, UCS will find it.
Time Complexity:
• Let C* is Cost of the optimal solution, and ε is each step to get closer to the goal
node. Then the number of steps is = C*/ε+1. Here we have taken +1, as we start from
state 0 and end to C*/ε.
• Hence, the worst-case time complexity of Uniform-cost search is O(b1 + [C*/ε])/.
Space Complexity:
• The same logic is for space complexity so, the worst-case space complexity of
Uniform-cost search is O(b1 + [C*/ε]).
Optimal:
• Uniform-cost search is always optimal as it only selects a path with the lowest path
cost.

1/28/2025 20
5. Iterative deepening depth-first Search:
• Iterative Deepening Depth-First Search (IDDFS) is a graph traversal and search
algorithm that combines the depth-limiting properties of Depth-Limited Search (DLS)
and the completeness of Breadth-First Search (BFS).
• It is particularly useful when the depth of the solution is unknown.
Key Characteristics of IDDFS:
• Depth-Limited: Searches only up to a fixed depth limit in each iteration.
• Iterative Deepening: Gradually increases the depth limit and repeats the search.
• Complete: Guaranteed to find a solution if one exists.
• Optimal: Produces an optimal solution if the cost of every step is uniform.

How IDDFS Works:


• Start with a depth limit of 0.
• Perform Depth-First Search (DFS) up to the current depth limit.
• If the goal is not found, increment the depth limit and repeat.
• Continue until the goal is found or all nodes are explored.

1/28/2025 21
Example:
• Following tree structure is showing the
iterative deepening depth-first search.
• IDDFS algorithm performs various
iterations until it does not find the goal
node. The iteration performed by the
algorithm is given as:
1'st Iteration-----> A
2'nd Iteration----> A, B, C
3'rd Iteration------>A, B, D, E, C, F, G
4'th Iteration------>A, B, D, H, I, E, C, F, K, G
In the fourth iteration, the algorithm will
find the goal node.

1/28/2025 22
6. Bidirectional Search
• In normal graph search using BFS/DFS we begin our search in one direction usually
from source vertex toward the goal vertex, but what if we start search from both
direction simultaneously.
• Bidirectional search is a graph search algorithm which find smallest path from source
to goal vertex. It runs two simultaneous search –

 Forward search from source/initial vertex toward goal vertex


 Backward search from goal/target vertex toward source vertex

• Bidirectional search replaces single search graph(which is likely to grow


exponentially) with two smaller sub graphs – one starting from initial vertex and
other starting from goal vertex.
• The search terminates when two graphs intersect.

1/28/2025 23
• Suppose we want to find if there exists a path from vertex 0 to vertex 14. Here we
can execute two searches, one from vertex 0 and other from vertex 14.
• When both forward and backward search meet at vertex 7, we know that we have
found a path from node 0 to 14 and search can be terminated now.
• We can clearly see that we have successfully avoided unnecessary exploration.

1/28/2025 24
1/28/2025 25
Informed Search Algorithms
• 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. 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.

1/28/2025 26
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.
Pure Heuristic Search:
• Pure heuristic search is the simplest form of heuristic search algorithms. It
expands nodes based on their heuristic value h(n). It maintains two lists, OPEN
and CLOSED list. In the CLOSED list, it places those nodes which have already
expanded and in the OPEN list, it places nodes which have yet not been expanded.
• On each iteration, each node n with the lowest heuristic value is expanded and
generates all its successors and n is placed to the closed list. The algorithm
continues unit a goal state is found.
• In the informed search we will discuss two main algorithms which are given below:
 Best First Search Algorithm(Greedy search)
 A* Search Algorithm

1/28/2025 27
1.) 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.

1/28/2025 28
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.
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.

1/28/2025 29
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.

1/28/2025 30
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.

1/28/2025 31
Solution
Here, we are using two lists which are OPEN and CLOSED Lists. Following are the
iteration for traversing the above example.

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

1/28/2025 32
Example:
Consider the following example (graph) with heuristic function value h(n) which
illustrate the greedy Best-first search. Note that in the following example, heuristic
function is defined as h(n) = straight line distance from n to goal

1/28/2025 33
Solution:
Step1: initially OPEN list start with start state ‘A’ and CLOSED list with empty.
Step2: Children of A={C[25], B[32] D[35]}, so OPEN={C[25], B[32], D[35]} therefore
Best=C, so expend C node next.
Step3: Children of C={E[19],F[17]}, so OPEN={F[17],E[19], B[32], D[35]} therefore
Best=F, so expend node F next.
Step4: Children of F={G[0]}, therefore OPEN= {G[0], E[19], B[32], D[35]} Best=G, this is
a goal node so Stop.
Finally, we got the shortest path: A→C→F→G and cost is 44.

1/28/2025 34
2.) 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. This search algorithm expands less search tree and provides
optimal result faster.
• A* algorithm is similar to UCS except that it uses g(n)+h(n) instead of g(n).
• In A* search algorithm, we use search heuristic as well as the cost to reach the
node. Hence we can combine both costs as following, and this sum is called as
a fitness number.

1/28/2025 35
• 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.

1/28/2025 36
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
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.

1/28/2025 37
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.
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.

1/28/2025 38
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.

1/28/2025 39
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.

1/28/2025 40
Example:
Let’s us consider the following graph to understand the working of A* algorithm. The
numbers written on edges represent the distance between the nodes. The numbers
written on nodes represent the heuristic value. Find the most cost-effective path to
reach from start state A to final state J using A* Algorithm.

1/28/2025 41
Solution:
Step-1:
• We start with node A.
• Node B and Node F can be reached from node A.
• A* Algorithm calculates f(B) and f(F).
• Estimated Cost f(n) = g(n) +h(n) for Node B and Node F is:
• f(B) = 6+8=14
• f(F) = 3+6=9
• Since f(F) < f(F), so it decides to go to node F.
• → Closed list (F) Path- A →F
Step-2:
• Node G and Node H can be reached from node F.
• f(G) = (3+1)+5=9
• f(H) = (3+7) +5=13
• Since f(G) < f(H), so it decides to go to node G.
• → Closed list (G) Path- A→F→G
1/28/2025 42
Solution:
Step-3:
• Node I can be reached from node G.
• f(I)=(3+1+3)+1=8;
• It decides to go to node I.
• → Closed list (I). Path- A→F→G→I

Step-4:
• Node E, Node H and Node J can be reached from node I.
• f(E) = (3+1+3+5) + 3 =15
• f(H) = (3+1+3+2) + 3 = 12
• f(J) = (3+1+3+3) +0 = 10
• Since f(J) is least, so it decides to go to node J.
• → Closed list (J)
• Shortest Path - A→F→G→I→J
• Path Cost is 3+1+3+3=10

1/28/2025 43
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)<="" li="">
Complete: A* algorithm is complete as long as:
Branching factor is finite.
Cost at every action is fixed.
Optimal: A* search algorithm is optimal if it follows below two conditions:
Admissible: the first condition requires for optimality is that h(n) should be an
admissible heuristic for A* tree search. An admissible heuristic is optimistic in nature.

1/28/2025 44
Consistency: Second required condition is consistency for only A* graph-search.
If the heuristic function is admissible, then A* tree search will always find the least
cost path.
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)

1/28/2025 45
Hill Climbing Algorithm in Artificial Intelligence
• Hill climbing algorithm is a local search algorithm which continuously moves in
the direction of increasing elevation/value to find the peak of the mountain or
best solution to the problem. It terminates when it reaches a peak value where
no neighbor has a higher value.
• Hill climbing algorithm is a technique which is used for optimizing the
mathematical problems. One of the widely discussed examples of Hill climbing
algorithm is Traveling-salesman Problem in which we need to minimize the
distance traveled by the salesman.
• It is also called greedy local search as it only looks to its good immediate
neighbor state and not beyond that.
• A node of hill climbing algorithm has two components which are state and
value.
• Hill Climbing is mostly used when a good heuristic is available.
• In this algorithm, we don't need to maintain and handle the search tree or
graph as it only keeps a single current state.
1/28/2025 46
Features of Hill Climbing:
Following are some main features of Hill Climbing Algorithm:
Generate and Test variant: Hill Climbing is the variant of Generate and Test method.
The Generate and Test method produce feedback which helps to decide which
direction to move in the search space.
Greedy approach: Hill-climbing algorithm search moves in the direction which
optimizes the cost.
No backtracking: It does not backtrack the search space, as it does not remember
the previous states.

1/28/2025 47
State-space Diagram for Hill Climbing:
• The state-space landscape is a graphical representation of the hill-climbing
algorithm which is showing a graph between various states of algorithm and
Objective function/Cost.
• On Y-axis we have taken the function which can be an objective function or
cost function, and state-space on the x-axis. If the function on Y-axis is cost
then, the goal of search is to find the global minimum and local minimum. If
the function of Y-axis is Objective function, then the goal of the search is to
find the global maximum and local maximum.

1/28/2025 48
Different regions in the state space landscape:
Local Maximum: Local maximum is a state which is better than its neighbor states,
but there is also another state which is higher than it.
Global Maximum: Global maximum is the best possible state of state space
landscape. It has the highest value of objective function.
Current state: It is a state in a landscape diagram where an agent is currently
present.
Flat local maximum: It is a flat space in the landscape where all the neighbor states
of current states have the same value.
Shoulder: It is a plateau region which has an uphill edge.

1/28/2025 49
Types of Hill Climbing Algorithm:
• Simple hill Climbing:
• Steepest-Ascent hill-climbing:
• Stochastic hill Climbing:

1/28/2025 50
1. Simple Hill Climbing:
• Simple hill climbing is the simplest way to implement a hill climbing algorithm. It
only evaluates the neighbor node state at a time and selects the first one which
optimizes current cost and set it as a current state. It only checks it's one successor
state, and if it finds better than the current state, then move else be in the same
state. This algorithm has the following features:
• Less time consuming
• Less optimal solution and the solution is not guaranteed
Algorithm for Simple Hill Climbing:
Step 1: Evaluate the initial state, if it is goal state then return success and Stop.
Step 2: Loop Until a solution is found or there is no new operator left to apply.
Step 3: Select and apply an operator to the current state.
Step 4: Check new state:
If it is goal state, then return success and quit.
Else if it is better than the current state then assign new state as a current state.
Else if not better than the current state, then return to step2.
Step 5: Exit.
1/28/2025 51
2. Steepest-Ascent hill climbing
• The steepest-Ascent algorithm is a variation of simple hill climbing algorithm.
• This algorithm examines all the neighboring nodes of the current state and selects one
neighbor node which is closest to the goal state. This algorithm consumes more time as
it searches for multiple neighbors
Algorithm for Steepest-Ascent hill climbing:
Step 1: Evaluate the initial state, if it is goal state then return success and stop, else make
current state as initial state.
Step 2: Loop until a solution is found or the current state does not change.
• Let SUCC be a state such that any successor of the current state will be better than it.
• For each operator that applies to the current state:
• Apply the new operator and generate a new state.
• Evaluate the new state.
• If it is goal state, then return it and quit, else compare it to the SUCC.
• If it is better than SUCC, then set new state as SUCC.
• If the SUCC is better than the current state, then set current state to SUCC.
Step 5: Exit.
1/28/2025 52
3. Stochastic hill climbing:
• Stochastic hill climbing does not examine for all its neighbor before moving. Rather,
this search algorithm selects one neighbor node at random and decides whether to
choose it as a current state or examine another state.
Problems in Hill Climbing Algorithm:
1. Local Maximum: A local maximum is a peak state in the landscape which is better
than each of its neighboring states, but there is another state also present which is
higher than the local maximum.
Solution: Backtracking technique can be a solution of the local maximum in state space
landscape. Create a list of the promising path so that the algorithm can backtrack the
search space and explore other paths as well.

1/28/2025 53
3. Stochastic hill climbing:
2. Plateau: A plateau is the flat area of the search space in which all the neighbor
states of the current state contains the same value, because of this algorithm does
not find any best direction to move. A hill-climbing search might be lost in the plateau
area.
Solution: The solution for the plateau is to take big steps or very little steps while
searching, to solve the problem. Randomly select a state which is far away from the
current state so it is possible that the algorithm could find non-plateau region.

1/28/2025 54
3. Ridges: A ridge is a special form of the local maximum. It has an area which is
higher than its surrounding areas, but itself has a slope, and cannot be reached in
a single move.
Solution: With the use of bidirectional search, or by moving in different directions,
we can improve this problem.

1/28/2025 55

You might also like