Heuristic Search

25
1 HEURISTIC SEARCH Surma Mukhopadhyay

description

OR 3

Transcript of Heuristic Search

  • HEURISTIC SEARCHSurma Mukhopadhyay

  • HEURISTIC SEARCHDefinition: 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 & HeuristicsThe 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.

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

  • Steps: Though heuristics do not have certain specific steps to follow, but it roughly involves-SearchingLearningEvaluatingjudgingRe-searchingRe-learningRe-apprisingprobing

  • Tabu SearchTabu 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.

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

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

  • Presentation By DiagramThe steps of heuristics can be arranged as follows:Start with OPEN holding the initial state .

    Pick the best node on OPEN

  • Continue :3)Generate its successors .

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

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

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

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

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

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

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

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

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