Vous êtes sur la page 1sur 25

HEURISTIC SEARCH

Surma Mukhopadhyay

HEURISTIC SEARCH
Definition:
Heuristic searches are step by step
procedures that are repeated until a
satisfactory solution is found.
The main significance of heuristic search
is that it is faster and cheaper.

A heuristic is a method that :


A) Might not always find best solution.
B) But is guaranteed to find good solution
in reasonable time.
C) By sacrificing completeness it
increases efficiencies.

Main Usefulness :
The main usefulness of heuristic is in solving tough
problems which
* could not be solved in any other way.
* solutions take an infinite time or very long time
to compute.

Some other usefulness of heuristics


are :
Finding ways to retrieve.
Interpret information in the fly.
Developing methods lead to a
computational or general solution.

Algorithms & Heuristics


The similarity between algorithms and
heuristics
is :
Both of them are step-by-step
procedures.
But the main difference between the two is :
Steps are repeated in heuristics which
is
unlike algorithms.
6

Application
Heuristics are applied for ill structured
problems where we can not apply other
search methods.
But we can also apply heuristics for
well structured complex problem.

Difficulty to use :
The main difficulty in using heuristics is
they are specific for each problems i.e.
they are not general to every problem.

Drawbacks :
The main drawback of heuristics is that
individual frequently adopt it without being
aware of them.

Types : based on measurement


Heuristics can be quantitative.
e.g. In DSS model it was used to solve a
complex integer problem.
Heuristics may be qualitative.
e.g. It plays a major role by providing
knowledge to expert systems.

10

Steps: Though heuristics do not


have certain specific steps to
follow, but it roughly involves

Searching
Learning
Evaluating
judging

Re-searching
Re-learning
Re-apprising
probing

11

Tabu Search
Tabu search heuristic is an iterative process
which is based on intelligence search
strategies to reduce the search for high
quality solutions in computer problem
solving.

12

Genetic Algorithm
Genetic algorithm which is interrelated with
heuristics is a set of randomly generated
solutions and recombine pairs of them to
produce off-spring.

13

When to use ?
The input data are limited or inexact.
Optimization model can not be used as for complex
reality.
Reliable and exact algorithm is not available.
It is possible to improve the efficiency of the
optimization process.
Symbolic rather than numerical processing is
involved.
Quick decision must be made .
Computerization is not feasible.
14

Presentation By Diagram
The steps of heuristics can be arranged as follows:
1) Start with OPEN holding the initial state .

2)

Pick the best node on OPEN

15

Continue :
3)Generate its successors .

16

4) For each successor Do


If it has not been generated before evaluate it add it to OPEN and record
its parent.
If it has been generated before change the parent if this new path is better
and in that case update the cost of getting to any successor nodes.

5) If a goal is found or no more nodes left in OPEN, quit, else return to


2.
17

Advantages

Simple to understand.
Easier to implement and explain.
Save formulation time.
Save computer programming and storage
requirements.
Save computational time and thus real time
in decision making.
Often produce multiple acceptable solution.
18

Continue :
Usually it is possible to state a theoretical
or empirical measure of the solution
quality.
Incorporate intellegence to guide the
search.
It is possible to apply efficient heuristics to
models that could be solved with
mathematical programming.
19

Disadvantages
An optimal solution can not be guaranteed.
There may be too many exceptions to the
rules.
Sequential decision choices may fail to
anticipate the future consequences of each
choice.
The interdependencies of one part pf a
system can sometime have a profound
influence on the whole system.
20

Classification
Construction heuristics :
These method builds
a feasible solution by adding components
one at a time until a feasible solution is
obtained.

21

Continue.
Improvement Heuristics :
These method start
with a feasible solution and attemt to
successfully improve on it.

22

Continue.
Mathematical Programming:
This method
is applied to less constrained models in
the hope of obtaining information about an
optimum to the original one.

23

Continue.
Decomposition:
This approach involves
solving a program in stages.
Partitioning:
This methods involves dividing a
problem up into smaller, solvable pieces and
then resembling the solutions to the pieces.
24

Conclusion
. Heuristic programming is characterized
by programs that are self-learning; they
get better with experience. Heuristic
programs do not always reach the very
best result but usually produce a good
result. Many expert systems use heuristic
programming.

25