Click to edit Master title style
1
Click to edit Master title style
2
Hill Climbing Algorithm: Introduction
2
 It 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.
 It has a time complexity of O(∞) but a space complexity of O(b).
 It is also a technique which is used for optimizing the mathematical problems. Like in the
case of TSP.
 It is also called greedy local search as it only looks to its good immediate neighbor state and
not beyond that.
 Hill Climbing is mostly used when a good heuristic is available. The process of continuous
improvement of the current state of iteration can be termed as climbing. This explains why the
algorithm is termed as a hill-climbing algorithm.
 In this algorithm, we don't need to maintain and handle the search tree or graph as it only
keeps a single current state.
Click to edit Master title style
3 3
Features of Hill Climbing:
A hill-climbing algorithm has four main features:
 Greedy approach: This means that it moves in a direction in which the cost
function is optimized. The greedy approach enables the algorithm to establish local
maxima or minima.
 No Backtracking: A hill-climbing algorithm only works on the current state and
succeeding states (future). It does not look at the previous states.
 Feedback mechanism: The algorithm has a feedback mechanism that helps it
decide on the direction of movement (whether up or down the hill). The feedback
mechanism is enhanced through the generate-and-test technique.
 Incremental change: The algorithm improves the current solution by
incremental changes.
Click to edit Master title style
4 4
Various regions in the state
space landscape
A state-space diagram consists of various regions that can be explained as
follows:
 Local maximum: A local maximum is a solution that surpasses other
neighboring solutions or states but is not the best possible solution.
 Global maximum: This is the best possible solution achieved by the
algorithm.
 Current state: This is the existing or present state.
 Flat local maximum: This is a flat region where the neighboring
solutions attain the same value.
 Shoulder: This is a plateau whose edge is stretching upwards.
Click to edit Master title style
5 5
State-space Diagram for Hill Climbing
A state-space diagram provides a graphical representation of
states and the optimization function. If the objective function is the
y-axis, we aim to establish the local maximum and global
maximum.
If the cost function represents this axis, we aim to establish the
local minimum and global minimum.
The following diagram shows a simple state-space diagram. The
objective function has been shown on the y-axis, while the state-
space represents the x-axis.
Click to edit Master title style
6 6
Types of Hill Climbing
Algorithm
=> Simple hill Climbing
=> Steepest-Ascent hill-climbing
=> Stochastic hill Climbing
Click to edit Master title style
7 7
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:
o Less time consuming
o Less optimal solution and the solution is not guaranteed
Click to edit Master title style
8 8
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.
Click to edit Master title style
9 9
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.
Click to edit Master title style
1010
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 there be a state A such that any successor of the current state will be better than it.
Step 3: For each operator that applies to the current state:
o Apply the new operator and generate a new state.
o Evaluate the new state.
Step 4:
o If it is goal state, then return it and quit, else compare it to the A.
o If it is better than A, then set new state as A.
o If the A is better than the current state, then set current state to A.
Step 5: Exit.
Click to edit Master title style
1111
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.
Click to edit Master title style
1212
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.
Click to edit Master title style
1313
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.
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: This impediment can be solved by going in different
directions at once.
Click to edit Master title style
1414
Simulated Annealing
 A hill-climbing algorithm which never makes a move towards a lower value
guaranteed to be incomplete because it can get stuck on a local maximum. And if
algorithm applies a random walk, by moving a successor, then it may complete
but not efficient.
 Simulated Annealing is an algorithm which yields both efficiency and
completeness.
 In mechanical term Annealing is a process of hardening a metal or glass to a
high temperature then cooling gradually, so this allows the metal to reach a low-
energy crystalline state.
 The same process is used in simulated annealing in which the algorithm picks
a random move, instead of picking the best move. If the random move improves
the state, then it follows the same path. Otherwise, the algorithm follows the path
which has a probability of less than 1 or it moves downhill and chooses another
path.
Click to edit Master title style
1515
Applications of Hill Searching
The hill-climbing algorithm can be applied in the following areas:
1) Marketing:
A hill-climbing algorithm can help a marketing manager to develop the best marketing
plans. This algorithm is widely used in solving Traveling-Salesman problems. It can help
by optimizing the distance covered and improving the travel time of sales team members.
The algorithm helps establish the local minima efficiently.
2) Robotics:
Hill climbing is useful in the effective operation of robotics. It enhances the coordination of
different systems and components in robots.
3) Job Scheduling:
The hill climbing algorithm has also been applied in job scheduling. This is a process in
which system resources are allocated to different tasks within a computer system. Job
scheduling is achieved through the migration of jobs from one node to a neighboring
node. A hill-climbing technique helps establish the right migration route.
Click to edit Master title style
1616
Conclusion
 Hill climbing is a very resourceful technique used in solving huge
computational problems. It can help establish the best solution for
problems. This technique has the potential of revolutionizing optimization
within artificial intelligence.
 In the future, technological advancement to the hill climbing technique
will solve diverse and unique optimization problems with better advanced
features.
Click to edit Master title style
17
Thank You!

AI_ppt.pptx

  • 1.
    Click to editMaster title style 1
  • 2.
    Click to editMaster title style 2 Hill Climbing Algorithm: Introduction 2  It 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.  It has a time complexity of O(∞) but a space complexity of O(b).  It is also a technique which is used for optimizing the mathematical problems. Like in the case of TSP.  It is also called greedy local search as it only looks to its good immediate neighbor state and not beyond that.  Hill Climbing is mostly used when a good heuristic is available. The process of continuous improvement of the current state of iteration can be termed as climbing. This explains why the algorithm is termed as a hill-climbing algorithm.  In this algorithm, we don't need to maintain and handle the search tree or graph as it only keeps a single current state.
  • 3.
    Click to editMaster title style 3 3 Features of Hill Climbing: A hill-climbing algorithm has four main features:  Greedy approach: This means that it moves in a direction in which the cost function is optimized. The greedy approach enables the algorithm to establish local maxima or minima.  No Backtracking: A hill-climbing algorithm only works on the current state and succeeding states (future). It does not look at the previous states.  Feedback mechanism: The algorithm has a feedback mechanism that helps it decide on the direction of movement (whether up or down the hill). The feedback mechanism is enhanced through the generate-and-test technique.  Incremental change: The algorithm improves the current solution by incremental changes.
  • 4.
    Click to editMaster title style 4 4 Various regions in the state space landscape A state-space diagram consists of various regions that can be explained as follows:  Local maximum: A local maximum is a solution that surpasses other neighboring solutions or states but is not the best possible solution.  Global maximum: This is the best possible solution achieved by the algorithm.  Current state: This is the existing or present state.  Flat local maximum: This is a flat region where the neighboring solutions attain the same value.  Shoulder: This is a plateau whose edge is stretching upwards.
  • 5.
    Click to editMaster title style 5 5 State-space Diagram for Hill Climbing A state-space diagram provides a graphical representation of states and the optimization function. If the objective function is the y-axis, we aim to establish the local maximum and global maximum. If the cost function represents this axis, we aim to establish the local minimum and global minimum. The following diagram shows a simple state-space diagram. The objective function has been shown on the y-axis, while the state- space represents the x-axis.
  • 6.
    Click to editMaster title style 6 6 Types of Hill Climbing Algorithm => Simple hill Climbing => Steepest-Ascent hill-climbing => Stochastic hill Climbing
  • 7.
    Click to editMaster title style 7 7 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: o Less time consuming o Less optimal solution and the solution is not guaranteed
  • 8.
    Click to editMaster title style 8 8 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.
  • 9.
    Click to editMaster title style 9 9 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.
  • 10.
    Click to editMaster title style 1010 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 there be a state A such that any successor of the current state will be better than it. Step 3: For each operator that applies to the current state: o Apply the new operator and generate a new state. o Evaluate the new state. Step 4: o If it is goal state, then return it and quit, else compare it to the A. o If it is better than A, then set new state as A. o If the A is better than the current state, then set current state to A. Step 5: Exit.
  • 11.
    Click to editMaster title style 1111 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.
  • 12.
    Click to editMaster title style 1212 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.
  • 13.
    Click to editMaster title style 1313 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. 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: This impediment can be solved by going in different directions at once.
  • 14.
    Click to editMaster title style 1414 Simulated Annealing  A hill-climbing algorithm which never makes a move towards a lower value guaranteed to be incomplete because it can get stuck on a local maximum. And if algorithm applies a random walk, by moving a successor, then it may complete but not efficient.  Simulated Annealing is an algorithm which yields both efficiency and completeness.  In mechanical term Annealing is a process of hardening a metal or glass to a high temperature then cooling gradually, so this allows the metal to reach a low- energy crystalline state.  The same process is used in simulated annealing in which the algorithm picks a random move, instead of picking the best move. If the random move improves the state, then it follows the same path. Otherwise, the algorithm follows the path which has a probability of less than 1 or it moves downhill and chooses another path.
  • 15.
    Click to editMaster title style 1515 Applications of Hill Searching The hill-climbing algorithm can be applied in the following areas: 1) Marketing: A hill-climbing algorithm can help a marketing manager to develop the best marketing plans. This algorithm is widely used in solving Traveling-Salesman problems. It can help by optimizing the distance covered and improving the travel time of sales team members. The algorithm helps establish the local minima efficiently. 2) Robotics: Hill climbing is useful in the effective operation of robotics. It enhances the coordination of different systems and components in robots. 3) Job Scheduling: The hill climbing algorithm has also been applied in job scheduling. This is a process in which system resources are allocated to different tasks within a computer system. Job scheduling is achieved through the migration of jobs from one node to a neighboring node. A hill-climbing technique helps establish the right migration route.
  • 16.
    Click to editMaster title style 1616 Conclusion  Hill climbing is a very resourceful technique used in solving huge computational problems. It can help establish the best solution for problems. This technique has the potential of revolutionizing optimization within artificial intelligence.  In the future, technological advancement to the hill climbing technique will solve diverse and unique optimization problems with better advanced features.
  • 17.
    Click to editMaster title style 17 Thank You!