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

Problem Graphs Matching Hill Climbing

Hill climbing is a local search algorithm that starts with an initial solution and iteratively moves to a neighboring solution which has a better value of the objective function until a local optimum is reached. It can get stuck in local optima and does not consider the global picture. Variants like stochastic hill climbing introduce randomness to avoid local optima. Hill climbing is useful for optimization problems when the search space is large and memory is limited.

Uploaded by

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

Problem Graphs Matching Hill Climbing

Hill climbing is a local search algorithm that starts with an initial solution and iteratively moves to a neighboring solution which has a better value of the objective function until a local optimum is reached. It can get stuck in local optima and does not consider the global picture. Variants like stochastic hill climbing introduce randomness to avoid local optima. Hill climbing is useful for optimization problems when the search space is large and memory is limited.

Uploaded by

Raghu Somu
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 32

Problem Graph

• A problem graph in artificial intelligence (AI) is a graphical


representation of a problem or task that an AI system is trying to
solve.

• 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 from S to G.
• A fringe, a data structure used to store all the possible states.
Matching
• Matching is the process of comparing two or more structures to discover their
likenesses or differences.
• The match fails if the patterns differ in any aspect.
• For example,
• Match between the two character strings acdebfba and acdebeba fails on an
exact match since the strings differ in the sixth character positions
Uses
• Controls the sequence of operations
• Identification or classification of objects
• To determine the best of a number of different alternatives
• Retrieve items from a database

• It is an essential operation in various diverse programs like


• Speech Recognition, Natural Language Understanding, Vision, Learning,
Automated reasoning, Planning, Automatic programming, and Expert systems
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 best
solution to the problem (Peak of a mountain).
• It terminates when it reaches a peak value where no neighbor has a
higher value.
• 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.
• In this algorithm, we don't need to maintain and handle the search
tree as it only keeps a single current state.
• Use- Used in optimization of mathematical problems.
Features of Hill Climbing:
• 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.
Different regions in the state space landscape:
• Local Maximum: Local maximum is a state which is better than its
neighbor states.
• 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.
State-space Diagram for Hill Climbing:

List of possible states that an algorithm can reach


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 search space and explore other paths as well. However Hill climibing
algorithm does not support back tracking of states.
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.

States containing same value


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.
Types of Hill Climbing Algorithm

• Simple hill Climbing


• Steepest-Ascent hill-climbing
• Stochastic hill Climbing
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.
• Simulated Annealing is an algorithm which yields both efficiency and completeness.
• 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.
Applications

Where the current state allows for an accurate evaluation function,


Network-Flow, Travelling Salesman problem, 8-Queens problem,
Integrated Circuit design, etc.

Robotics for coordination among multiple robots in a team.


Difference
Local search
• If the path to the goal does not matter, we might consider a different class of
algorithms that do not worry about paths at all.
Local search algorithms
Local search algorithms operate using a single current node and generally move only to
neighbors of that node.
• Local search algorithms ease up on completeness and optimality in the interest of
improving time and space complexity.
• Although local search algorithms are not systematic, They have two key advantages:
1. They use very little memory (usually a constant amount), and
2. They can often find reasonable solutions in large or infinite (continuous) state spaces.

• Useful for solving pure optimization problems, which aims to find the best state
according to an objective function.
Hill Climbing on 8 puzzle problem 1
Hill climbing using a heuristic measurement
(Number of misplaced tiles) 2
3
4
Goal state Start state 5
Hill Climbing on 8 puzzle problem 1
Hill climbing using a heuristic measurement
(Number of misplaced tiles) 2
3
Goal state Start state 4

Possible actions
Local Maxima
Goal state
Hill Climbing is NOT complete.
Hill Climbing is NOT optimal.
• Why use local search?
• Low memory requirements – Usually constant
• Effective – Can often find good solutions in extremely large state spaces

• Randomized variants of hill climbing can solve many of the drawbacks in practice.
Types of Hill Climbing Algorithm
• Simple hill Climbing
• Steepest-Ascent hill-climbing
• Stochastic hill Climbing
Simple Hill Climbing
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.
• Less time consuming
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
Steepest-Ascent hill climbing
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.
Example: Travelling salesman problem
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.
1 2

Limitations in Hill Climbing Algorithm


3 3

You might also like