HEURISTIC SEARCH by pptfiles

VIEWS: 5 PAGES: 25

									HEURISTIC SEARCH

  Surma Mukhopadhyay




                       1
      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.



                                            2
  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.




                                           3
        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.




                                                     4
      Some other usefulness of
          heuristics are :
• Finding ways to retrieve.
• Interpret information in the fly.
• Developing methods lead to a
  computational or general solution.




                                       5
     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.




                                                7
           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.




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




                                                9
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        •   Re-searching
•   Learning         •   Re-learning
•   Evaluating       •   Re-apprising
•   judging          •   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
                                          20
  influence on the whole system.
             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

								
To top