MASSACHUSETTS INSTITUTE of TECHNOLOGY Department of Electrical Engineering and Computer Science 6.034 Artificial Intelligence Fall, 2010

Total Page:16

File Type:pdf, Size:1020Kb

MASSACHUSETTS INSTITUTE of TECHNOLOGY Department of Electrical Engineering and Computer Science 6.034 Artificial Intelligence Fall, 2010 MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science 6.034 Artificial Intelligence Fall, 2010 Recitation 2, Thursday September 23 Search Me! Prof. Bob Berwick 1. Difference between Various Search Strategies: Uninformed search, and a bit more The most important data structure in the search algorithm is the queue Q, the list of partial paths. To make things efficient, we may also use a list of nodes already examined, via an extended list E. A partial path is a path from the start node to some node X, in reverse order, e.g., (X B A S) The head of a partial path is the most recent node of the path, e.g., X. Let S be the start node and G be the goal node. Here is a simple, uninformed search algorithm: 1: Initialize Q with partial path ((S)) as only entry2: while Q is not empty do 3: Pick some path N from Q 4: if head(N)=G, then 5: return N (we’ve reached the goal) 6: end if 7: remove N from Q 8: for all children c in head(N) not in E do 9: extend the partial path N to c 10: end for 11: Add these extensions of N somewhere in Q 12: end while 13: Signal failure Two operations on Q primarily determine the search strategy: • Step 3: Which path to extend? Strategy of picking element(s) N from Q. • Step 11: How should the newly extended paths be added to Q? Strategy for adding path extensions from node(s) N.1 Search Strategy N Add extensions of N to Q Depth-first First element Front of Q Breadth-first First element End of Q Best-first Best by heuristic value Anywhere in Q Hill-Climbing (no backup) First element Replace Q with sorted extensions of N Hill-Climbing (w/backup) First element Front of Q, sorted by heuristic value Beam (width k, no backup) Best k by heuristic value Anywhere in Q All basic search methods, except for some so called informed/heuristic search methods (like best-first search and beam search), pick the first partial path in Q. As we will see, the most variation is in where the extended paths are inserted (and in some cases, also how). 1Note that in ‘classical’ algorithms terminology, the paths added to Q, or the enqueued items, are called the ‘open list’; the extended list is called the ‘closed list.’ A further note on the extended list. This is a lousy implementation. Most often space is allocated in the node itself to keep a mark, which makes adding to the extended list and checking whether a node is there a constant time operation. Alternatively, a hash table may be used for efficient detection. In any case, the incremental space cost of an extended list will be proportional to the number of nodes in the worst case, which can be very high. To implement the searches w/o backtracking, we simply add If, in addition, we use an extended list E, then the only difference is that (1) we add head(N) to E after N is extended; and (2) after we remove N from Q, we first check whether head(N) is in E. If head(N) is in E, then we continue at the top of the while loop without extending N. Otherwise, we continue with the remaining steps of the while loop (extending N and adding extensions to Q). To implement a search method without backtracking/backups (BT), instead of adding all the extensions of Depth-fiN to Q, only onerst is added. Let’s try out DFS; BFS; Hill-climb w/backup, ie, backtracking. DFS: pickPick firstfirst element ofof QQ;; add Add path path extensions extensions to to front front of of Q Q Step Q Extended list 1 (S) 2 (A S) (B S) S 3 Q Visited C 3 (C A S) (D A S) (B S) A, S 5 1 (S) S 2 G 4 (D A S) (B S) C, A, S A 2 5(A S) (B(G S) D A S) (B S) A, B, D,S C, A, S 4 1 D 3 6(C A S)Success (D A S)- (Bpop S) list C,D,B,A,SG, D, C, A, S S w/G 4 (D A S) (B S) C,D,B,A,S B 5 Added(G D A pathsS) (B S)underlined.G,C,D,B,A,S Why didn’t we add (C D A S) in Step 5? Added paths in blue We showYour the turn partial – BFS: paths pick in reversedfirst element order; of theQ; addhead extensions is the first tonode. end of Q. Step Q Extended list 1 (S) 2 (A S) (B S) S 3 (B S)(C A S)(D A S) A, S 4 [what happens now?] 5 6 Hill-climbing, with backup. (So this is a little bit informed!) Pick firstHill-climbing element of Q. Add path(with extensions backup) (sorted by heuristic value) to front of Q. Heuristic value is a measure of the ‘goodness’ of the path, e.g., an estimate of how far to go, as the crow flies; or in some other terms if not a map. (We will see this a bit later how to work this into optimal search.)Pick Notefirst element that hillof Q;- climbing Add path extensions only looks (sorted at by next heuristic locally value) bestto front step. of Q (We tack the heuristic value to the front of the list, to 3 keep track; note sorting. What if no backup?) C 5 Q Visited 2 G Step Q Extended list A 1 (10 S) S 4 1 (10 S) 2 (2 A S) (3 B S) A,B,S D 2 (2 A S) (3 B S) S S 3 (1 C A S) (4 D A S) (3 B S) C,D,B,A,S 1 3 (1C A S) (4 D A S) (3 B S) A, S B 4 (4 D A S) (43 B(4 S D) A S) (3 B S) C, A, S C,D,B,A,S 5 (0 G D A S5) (3(0 B G S D) A S) (3 B S)D, C, A, S G,C,D,B,A,S Heuristic Values 6 Success G, D, C, A, S A=2 C=1 S=10 B=3 D=4 G=0 Added paths in blue; heuristic value of head is in front. We show the partial paths in reversed order; the head is the first node. Best-first search: idea is to use an evaluation function for each node, an estimate of its ‘desirability’, and then expand most desirable unexpanded node along the entire ‘fringe’. Step Q Extended list 1 (10 S) 2 (2 A S) (3 B S) S 3 (1C A S) (3 B S) (4 D A S) A, S 4 (3 B S) (4 D A S) C, A, S 5 (0 G B S) (4 D A S) B, C, A, S 6 Success G, B, C, A, S Cost and Performance of Various Search Strategies (branching factor = b, depth = d) Worst case time = proportional to # nodes visited Worst case space= proportional to maximum length of Q Fewest Guaranteed Search Strategy Worst Time Worst Space Nodes? to find path? Depth-first (with backup) bd+1 bd No Yes Breadth-first bd+1 bd Yes Yes Hill-Climbing (no backup) d b No No Hill-Climbing (with backup) bd+1 bd No Yes Best-first bd+1 bd No Yes Beam (beam width k, no backup) kd kb No No How could we combine the space efficiency of DFS with BFS? (BFS guaranteed to find path to goal with minimum number of nodes.) Answer: Iterative Deepening Search (IDS) – search DFS, level by level, until we run out of time. Let’s see. Counting Nodes in a Tree Why is (bd+1 – 1)/(b-1) the number of nodes in a tree? (branching factor = b, depth = d) If each node has b immediate descendents: o o o o b Then Level 0 (the root) has 1 node. Level 1 has b nodes. Level 2 has b * b = b2 nodes. Level 3 has b2* b = b3 nodes. … Level d has bd-1* b = bd nodes. So the total number of nodes is: 2 3 4 d N = 1 + b + b + b + b + … + b 2 3 4 d d+1 bN = b + b + b + b + … + b + b Subtracting: (b – 1)N = bd+1 – 1 N = bd+1 – 1 b – 1 So we could do this to implement iterative deepening search (IDS): 1: Initialize Dmax=1. (The goal node is of unknown depth d) 2: Do 3: DFS from S for fixed depth Dmax 4: If found a goal node, depth d ≤ Dmax then exit 5: Dmax = Dmax + 1 Cost is: O(b1+b2+…+bL)=O(bL) where L= length to goal. But isn’t IDS wasteful because we repeat searches on the different iterations? No. For example, suppose b=10 and d=5. Then the total # number of nodes N we look at for in each case is: N(IDS) ≈ db+ (d–1)b2+ … + b5 = 123,450, while for BFS the # of nodes is appro: N(BFS) ≈ b + b2 + … + b5 = 111,110, or only about 10% less. Most of the time is spent at depth d. So, IDS is asymptotically optimal; because ‘most’ of the time is spent in the fringe of the search tree.
Recommended publications
  • A Branch-And-Price Approach with Milp Formulation to Modularity Density Maximization on Graphs
    A BRANCH-AND-PRICE APPROACH WITH MILP FORMULATION TO MODULARITY DENSITY MAXIMIZATION ON GRAPHS KEISUKE SATO Signalling and Transport Information Technology Division, Railway Technical Research Institute. 2-8-38 Hikari-cho, Kokubunji-shi, Tokyo 185-8540, Japan YOICHI IZUNAGA Information Systems Research Division, The Institute of Behavioral Sciences. 2-9 Ichigayahonmura-cho, Shinjyuku-ku, Tokyo 162-0845, Japan Abstract. For clustering of an undirected graph, this paper presents an exact algorithm for the maximization of modularity density, a more complicated criterion to overcome drawbacks of the well-known modularity. The problem can be interpreted as the set-partitioning problem, which reminds us of its integer linear programming (ILP) formulation. We provide a branch-and-price framework for solving this ILP, or column generation combined with branch-and-bound. Above all, we formulate the column gen- eration subproblem to be solved repeatedly as a simpler mixed integer linear programming (MILP) problem. Acceleration tech- niques called the set-packing relaxation and the multiple-cutting- planes-at-a-time combined with the MILP formulation enable us to optimize the modularity density for famous test instances in- cluding ones with over 100 vertices in around four minutes by a PC. Our solution method is deterministic and the computation time is not affected by any stochastic behavior. For one of them, column generation at the root node of the branch-and-bound tree arXiv:1705.02961v3 [cs.SI] 27 Jun 2017 provides a fractional upper bound solution and our algorithm finds an integral optimal solution after branching. E-mail addresses: (Keisuke Sato) [email protected], (Yoichi Izunaga) [email protected].
    [Show full text]
  • AI-KI-B Heuristic Search
    AI-KI-B Heuristic Search Ute Schmid & Diedrich Wolter Practice: Johannes Rabold Cognitive Systems and Smart Environments Applied Computer Science, University of Bamberg last change: 3. Juni 2019, 10:05 Outline Introduction of heuristic search algorithms, based on foundations of problem spaces and search • Uniformed Systematic Search • Depth-First Search (DFS) • Breadth-First Search (BFS) • Complexity of Blocks-World • Cost-based Optimal Search • Uniform Cost Search • Cost Estimation (Heuristic Function) • Heuristic Search Algorithms • Hill Climbing (Depth-First, Greedy) • Branch and Bound Algorithms (BFS-based) • Best First Search • A* • Designing Heuristic Functions • Problem Types Cost and Cost Estimation • \Real" cost is known for each operator. • Accumulated cost g(n) for a leaf node n on a partially expanded path can be calculated. • For problems where each operator has the same cost or where no information about costs is available, all operator applications have equal cost values. For cost values of 1, accumulated costs g(n) are equal to path-length d. • Sometimes available: Heuristics for estimating the remaining costs to reach the final state. • h^(n): estimated costs to reach a goal state from node n • \bad" heuristics can misguide search! Cost and Cost Estimation cont. Evaluation Function: f^(n) = g(n) + h^(n) Cost and Cost Estimation cont. • \True costs" of an optimal path from an initial state s to a final state: f (s). • For a node n on this path, f can be decomposed in the already performed steps with cost g(n) and the yet to perform steps with true cost h(n). • h^(n) can be an estimation which is greater or smaller than the true costs.
    [Show full text]
  • CAP 4630 Artificial Intelligence
    CAP 4630 Artificial Intelligence Instructor: Sam Ganzfried [email protected] 1 • http://www.ultimateaiclass.com/ • https://moodle.cis.fiu.edu/ • HW1 out 9/5 today, due 9/28 (maybe 10/3) – Remember that you have up to 4 late days to use throughout the semester. – https://www.cs.cmu.edu/~sganzfri/HW1_AI.pdf – http://ai.berkeley.edu/search.html • Office hours 2 • https://www.cs.cmu.edu/~sganzfri/Calendar_AI.docx • Midterm exam: on 10/19 • Final exam pushed back (likely on 12/12 instead of 12/5) • Extra lecture on NLP on 11/16 • Will likely only cover 1-1.5 lectures on logic and on planning • Only 4 homework assignments instead of 5 3 Heuristic functions 4 8-puzzle • The object of the puzzle is to slide the tiles horizontally or vertically into the empty space until the configuration matches the goal configuration. • The average solution cost for a randomly generated 8-puzzle instance is about 22 steps. The branching factor is about 3 (when the empty tile is in the middle, four moves are possible; when it is in a corner, two; and when it is along an edge, three). This means that an exhaustive tree search to depth 22 would look at about 3^22 = 3.1*10^10 states. A graph search would cut this down by a factor of about 170,000 because only 181,440 distinct states are reachable (homework exercise). This is a manageable number, but for a 15-puzzle, it would be 10^13, so we will need a good heuristic function.
    [Show full text]
  • 4 Beyond Classical Search
    BEYOND CLASSICAL 4 SEARCH In which we relax the simplifying assumptions of the previous chapter, thereby getting closer to the real world. Chapter 3 addressed a single category of problems: observable, deterministic, known envi- ronments where the solution is a sequence of actions. In this chapter, we look at what happens when these assumptions are relaxed. We begin with a fairly simple case: Sections 4.1 and 4.2 cover algorithms that perform purely local search in the state space, evaluating and modify- ing one or more current states rather than systematically exploring paths from an initial state. These algorithms are suitable for problems in which all that matters is the solution state, not the path cost to reach it. The family of local search algorithms includes methods inspired by statistical physics (simulated annealing)andevolutionarybiology(genetic algorithms). Then, in Sections 4.3–4.4, we examine what happens when we relax the assumptions of determinism and observability. The key idea is that if an agent cannot predict exactly what percept it will receive, then it will need to consider what to do under each contingency that its percepts may reveal. With partial observability, the agent will also need to keep track of the states it might be in. Finally, Section 4.5 investigates online search,inwhichtheagentisfacedwithastate space that is initially unknown and must be explored. 4.1 LOCAL SEARCH ALGORITHMS AND OPTIMIZATION PROBLEMS The search algorithms that we have seen so far are designed to explore search spaces sys- tematically. This systematicity is achieved by keeping one or more paths in memory and by recording which alternatives have been explored at each point along the path.
    [Show full text]
  • Heuristic Search Viewed As Path Finding in a Graph
    ARTIFICIAL INTELLIGENCE 193 Heuristic Search Viewed as Path Finding in a Graph Ira Pohl IBM Thomas J. Watson Research Center, Yorktown Heights, New York Recommended by E. J. Sandewall ABSTRACT This paper presents a particular model of heuristic search as a path-finding problem in a directed graph. A class of graph-searching procedures is described which uses a heuristic function to guide search. Heuristic functions are estimates of the number of edges that remain to be traversed in reaching a goal node. A number of theoretical results for this model, and the intuition for these results, are presented. They relate the e])~ciency of search to the accuracy of the heuristic function. The results also explore efficiency as a consequence of the reliance or weight placed on the heuristics used. I. Introduction Heuristic search has been one of the important ideas to grow out of artificial intelligence research. It is an ill-defined concept, and has been used as an umbrella for many computational techniques which are hard to classify or analyze. This is beneficial in that it leaves the imagination unfettered to try any technique that works on a complex problem. However, leaving the con. cept vague has meant that the same ideas are rediscovered, often cloaked in other terminology rather than abstracting their essence and understanding the procedure more deeply. Often, analytical results lead to more emcient procedures. Such has been the case in sorting [I] and matrix multiplication [2], and the same is hoped for this development of heuristic search. This paper attempts to present an overview of recent developments in formally characterizing heuristic search.
    [Show full text]
  • Cooperative and Adaptive Algorithms Lecture 6 Allaa (Ella) Hilal, Spring 2017 May, 2017 1 Minute Quiz (Ungraded)
    Cooperative and Adaptive Algorithms Lecture 6 Allaa (Ella) Hilal, Spring 2017 May, 2017 1 Minute Quiz (Ungraded) • Select if these statement are true (T) or false (F): Statement T/F Reason Uniform-cost search is a special case of Breadth- first search Breadth-first search, depth- first search and uniform- cost search are special cases of best- first search. A* is a special case of uniform-cost search. ECE457A, Dr. Allaa Hilal, Spring 2017 2 1 Minute Quiz (Ungraded) • Select if these statement are true (T) or false (F): Statement T/F Reason Uniform-cost search is a special case of Breadth- first F • Breadth- first search is a special case of Uniform- search cost search when all step costs are equal. Breadth-first search, depth- first search and uniform- T • Breadth-first search is best-first search with f(n) = cost search are special cases of best- first search. depth(n); • depth-first search is best-first search with f(n) = - depth(n); • uniform-cost search is best-first search with • f(n) = g(n). A* is a special case of uniform-cost search. F • Uniform-cost search is A* search with h(n) = 0. ECE457A, Dr. Allaa Hilal, Spring 2017 3 Informed Search Strategies Hill Climbing Search ECE457A, Dr. Allaa Hilal, Spring 2017 4 Hill Climbing Search • Tries to improve the efficiency of depth-first. • Informed depth-first algorithm. • An iterative algorithm that starts with an arbitrary solution to a problem, then attempts to find a better solution by incrementally changing a single element of the solution. • It sorts the successors of a node (according to their heuristic values) before adding them to the list to be expanded.
    [Show full text]
  • Fast and Efficient Black Box Optimization Using the Parameter-Less Population Pyramid
    Fast and Efficient Black Box Optimization Using the Parameter-less Population Pyramid B. W. Goldman [email protected] Department of Computer Science and Engineering, Michigan State University, East Lansing, 48823, USA W. F. Punch [email protected] Department of Computer Science and Engineering, Michigan State University, East Lansing, 48823, USA doi:10.1162/EVCO_a_00148 Abstract The parameter-less population pyramid (P3) is a recently introduced method for per- forming evolutionary optimization without requiring any user-specified parameters. P3’s primary innovation is to replace the generational model with a pyramid of mul- tiple populations that are iteratively created and expanded. In combination with local search and advanced crossover, P3 scales to problem difficulty, exploiting previously learned information before adding more diversity. Across seven problems, each tested using on average 18 problem sizes, P3 outperformed all five advanced comparison algorithms. This improvement includes requiring fewer evaluations to find the global optimum and better fitness when using the same number of evaluations. Using both algorithm analysis and comparison, we find P3’s effectiveness is due to its ability to properly maintain, add, and exploit diversity. Unlike the best comparison algorithms, P3 was able to achieve this quality without any problem-specific tuning. Thus, unlike previous parameter-less methods, P3 does not sacrifice quality for applicability. There- fore we conclude that P3 is an efficient, general, parameter-less approach to black box optimization which is more effective than existing state-of-the-art techniques. Keywords Genetic algorithms, linkage learning, local search, parameter-less. 1 Introduction A primary purpose of evolutionary optimization is to efficiently find good solutions to challenging real-world problems with minimal prior knowledge about the problem itself.
    [Show full text]
  • Backtracking / Branch-And-Bound
    Backtracking / Branch-and-Bound Optimisation problems are problems that have several valid solutions; the challenge is to find an optimal solution. How optimal is defined, depends on the particular problem. Examples of optimisation problems are: Traveling Salesman Problem (TSP). We are given a set of n cities, with the distances between all cities. A traveling salesman, who is currently staying in one of the cities, wants to visit all other cities and then return to his starting point, and he is wondering how to do this. Any tour of all cities would be a valid solution to his problem, but our traveling salesman does not want to waste time: he wants to find a tour that visits all cities and has the smallest possible length of all such tours. So in this case, optimal means: having the smallest possible length. 1-Dimensional Clustering. We are given a sorted list x1; : : : ; xn of n numbers, and an integer k between 1 and n. The problem is to divide the numbers into k subsets of consecutive numbers (clusters) in the best possible way. A valid solution is now a division into k clusters, and an optimal solution is one that has the nicest clusters. We will define this problem more precisely later. Set Partition. We are given a set V of n objects, each having a certain cost, and we want to divide these objects among two people in the fairest possible way. In other words, we are looking for a subdivision of V into two subsets V1 and V2 such that X X cost(v) − cost(v) v2V1 v2V2 is as small as possible.
    [Show full text]
  • Artificial Intelligence 1: Informed Search
    Informed Search II 1. When A* fails – Hill climbing, simulated annealing 2. Genetic algorithms When A* doesn’t work AIMA 4.1 A few slides adapted from CS 471, UBMC and Eric Eaton (in turn, adapted from slides by Charles R. Dyer, University of Wisconsin-Madison)...... Outline Local Search: Hill Climbing Escaping Local Maxima: Simulated Annealing Genetic Algorithms CIS 391 - Intro to AI 3 Local search and optimization Local search: • Use single current state and move to neighboring states. Idea: start with an initial guess at a solution and incrementally improve it until it is one Advantages: • Use very little memory • Find often reasonable solutions in large or infinite state spaces. Useful for pure optimization problems. • Find or approximate best state according to some objective function • Optimal if the space to be searched is convex CIS 391 - Intro to AI 4 Hill Climbing Hill climbing on a surface of states h(s): Estimate of distance from a peak (smaller is better) OR: Height Defined by Evaluation Function (greater is better) CIS 391 - Intro to AI 6 Hill-climbing search I. While ( uphill points): • Move in the direction of increasing evaluation function f II. Let snext = arg maxfs ( ) , s a successor state to the current state n s • If f(n) < f(s) then move to s • Otherwise halt at n Properties: • Terminates when a peak is reached. • Does not look ahead of the immediate neighbors of the current state. • Chooses randomly among the set of best successors, if there is more than one. • Doesn’t backtrack, since it doesn’t remember where it’s been a.k.a.
    [Show full text]
  • Module 5: Backtracking
    Module-5 : Backtracking Contents 1. Backtracking: 3. 0/1Knapsack problem 1.1. General method 3.1. LC Branch and Bound solution 1.2. N-Queens problem 3.2. FIFO Branch and Bound solution 1.3. Sum of subsets problem 4. NP-Complete and NP-Hard problems 1.4. Graph coloring 4.1. Basic concepts 1.5. Hamiltonian cycles 4.2. Non-deterministic algorithms 2. Branch and Bound: 4.3. P, NP, NP-Complete, and NP-Hard 2.1. Assignment Problem, classes 2.2. Travelling Sales Person problem Module 5: Backtracking 1. Backtracking Some problems can be solved, by exhaustive search. The exhaustive-search technique suggests generating all candidate solutions and then identifying the one (or the ones) with a desired property. Backtracking is a more intelligent variation of this approach. The principal idea is to construct solutions one component at a time and evaluate such partially constructed candidates as follows. If a partially constructed solution can be developed further without violating the problem’s constraints, it is done by taking the first remaining legitimate option for the next component. If there is no legitimate option for the next component, no alternatives for any remaining component need to be considered. In this case, the algorithm backtracks to replace the last component of the partially constructed solution with its next option. It is convenient to implement this kind of processing by constructing a tree of choices being made, called the state-space tree. Its root represents an initial state before the search for a solution begins. The nodes of the first level in the tree represent the choices made for the first component of a solution; the nodes of the second level represent the choices for the second component, and soon.
    [Show full text]
  • A. Local Beam Search with K=1. A. Local Beam Search with K = 1 Is Hill-Climbing Search
    4. Give the name that results from each of the following special cases: a. Local beam search with k=1. a. Local beam search with k = 1 is hill-climbing search. b. Local beam search with one initial state and no limit on the number of states retained. b. Local beam search with k = ∞: strictly speaking, this doesn’t make sense. The idea is that if every successor is retained (because k is unbounded), then the search resembles breadth-first search in that it adds one complete layer of nodes before adding the next layer. Starting from one state, the algorithm would be essentially identical to breadth-first search except that each layer is generated all at once. c. Simulated annealing with T=0 at all times (and omitting the termination test). c. Simulated annealing with T = 0 at all times: ignoring the fact that the termination step would be triggered immediately, the search would be identical to first-choice hill climbing because every downward successor would be rejected with probability 1. d. Simulated annealing with T=infinity at all times. d. Simulated annealing with T = infinity at all times: ignoring the fact that the termination step would never be triggered, the search would be identical to a random walk because every successor would be accepted with probability 1. Note that, in this case, a random walk is approximately equivalent to depth-first search. e. Genetic algorithm with population size N=1. e. Genetic algorithm with population size N = 1: if the population size is 1, then the two selected parents will be the same individual; crossover yields an exact copy of the individual; then there is a small chance of mutation.
    [Show full text]
  • On the Design of (Meta)Heuristics
    On the design of (meta)heuristics Tony Wauters CODeS Research group, KU Leuven, Belgium There are two types of people • Those who use heuristics • And those who don’t ☺ 2 Tony Wauters, Department of Computer Science, CODeS research group Heuristics Origin: Ancient Greek: εὑρίσκω, "find" or "discover" Oxford Dictionary: Proceeding to a solution by trial and error or by rules that are only loosely defined. Tony Wauters, Department of Computer Science, CODeS research group 3 Properties of heuristics + Fast* + Scalable* + High quality solutions* + Solve any type of problem (complex constraints, non-linear, …) - Problem specific (but usually transferable to other problems) - Cannot guarantee optimallity * if well designed 4 Tony Wauters, Department of Computer Science, CODeS research group Heuristic types • Constructive heuristics • Metaheuristics • Hybrid heuristics • Matheuristics: hybrid of Metaheuristics and Mathematical Programming • Other hybrids: Machine Learning, Constraint Programming,… • Hyperheuristics 5 Tony Wauters, Department of Computer Science, CODeS research group Constructive heuristics • Incrementally construct a solution from scratch. • Easy to understand and implement • Usually very fast • Reasonably good solutions 6 Tony Wauters, Department of Computer Science, CODeS research group Metaheuristics A Metaheuristic is a high-level problem independent algorithmic framework that provides a set of guidelines or strategies to develop heuristic optimization algorithms. Instead of reinventing the wheel when developing a heuristic
    [Show full text]