Towards the Design of Heuristics by Means of Self-Assembly

495 views

Published on

Presented at Developments in Computational Models 2010, Edinburgh, UK

Published in: Education, Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
495
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Towards the Design of Heuristics by Means of Self-Assembly

  1. 1. Towards the Design of Heuristics by Means of Self-Assembly<br />German Terrazas<br />gzt@cs.nott.ac.uk<br />Dario Landa-Silva<br />NatalioKrasnogor<br />DCM 2010<br />Edinburgh, UK<br />
  2. 2. Outline<br /><ul><li>Hyper-heuristics
  3. 3. Self-assembly Wang tiles & Automated Evolutionary Design
  4. 4. Self-assembly Heuristics</li></ul>Model<br />Hypothesis<br />Methodology<br /><ul><li>Execution Threads Analysis
  5. 5. Proof of Concept:</li></ul>The Travelling Salesman Problem<br /><ul><li>Conclusions</li></ul>2<br />
  6. 6. Hyper-heuristics<br /><ul><li>Definition: Search methodologies that select and combine low-level heuristics to solve hard computational problems
  7. 7. Characteristics: domain-independent strategies, operate in space of heuristics
  8. 8. Aim: manufacture unknown heuristics which are fast, well performing and widely applicable
  9. 9. How it works:</li></ul>Feedback<br />Feedback<br />120<br />fast & well performing<br />selects <br />& <br />combines<br />Hyper-heuristics<br />Space of low-level heuristics<br />Space of solutions<br />3<br />
  10. 10. Self-Assembly Wang Tiles system<br /><ul><li>Self-Assembly (SA): complex structures are formed from many autonomous components interacting with one another. There is no master plan nor external influences.
  11. 11. Self-assembly Wang Tiles System</li></ul>Set of tiles square in shape and coloured edges<br />2D square lattice<br />Matrix M and temperature T<br />Random walk, edge-to-edge (local) interactions:<br />ifM[ci, cj]>T<br />then Stick<br />else Bounce off<br />Wang tiles<br />M = colour-colour strength matrix<br />4<br />
  12. 12. Automated Design of Self-Assembly Wang Tiles<br />Wang tiles system<br />Target structure<br />Fixed T, Fixed M<br />Q1: Is it possible to make an automated design of tiles capable of obtaining a particular supra-structure by means of SA?<br />A1: Yes.<br />5<br />
  13. 13. Assembled heuristic<br />Execution threads<br />(sequences of low level heuristics) by random walk (currently)<br />Self-Assembly Heuristics<br />+<br />6<br />
  14. 14. Combinatorial Optimisation Problem<br />HOW TO <br />COMBINE ?<br />Low-level<br /> heuristics<br />Q2: Is it possible to automatically design an assembly of heuristics, the execution threads of which find high quality solutions to a given COP ?<br />Q3: If Q2 is yes, is it possible to apply the same methodology to a different COP ?<br />P<br />R<br />O<br />B<br />L<br />E<br />M<br /><br />Execution <br />Threads <br />Analysis <br />1<br />Execution Threads<br />Assembled Heuristics<br />Assembled <br />Heuristics <br />Characterisation <br />2<br />Morphology of Assemblies<br />Evolutionary <br />Design<br />3<br />ASSEMBLIES FOR <br />7<br />
  15. 15. Execution Threads Analysis<br /><ul><li>GOAL: To shed light on patterns of low level heuristics inherent to emergent assembled heuristics
  16. 16. Q1:are there “common” combinations of heuristics among the execution threads ?
  17. 17. Q2: If yes, how reliable are these combinations ?</li></ul> 1. COLLECT N_execution_threads<br /> 2. for EACH execution thread {<br /> 3. APPLY to a COP instance<br /> 4. }<br /> 5. FILTER BEST_execution_threads *<br /> 6. APPLY MSA (e.g. Muscle)<br /> 7. ANALYSE patterns of heuristics<br /> 8. GEN common_execution_thread *<br />9. GEN RND_execution_threads +<br />10. for EACH (* and +) {<br />11. APPLY to a COP instance<br />12. }<br />13.Assessment<br />8<br />
  18. 18. Proof of Concept: sTSP<br /><ul><li>Problem instance: symmetric instance of 100 cities distributed on Euclidean space (KroA100)
  19. 19. Low level heuristics:</li></ul>2-EXCHANGE: randomly selects 2 edges for removal and insertion<br />1-CITY INSERTION: randomly selects subtour of size 1 and inserts it elsewhere in the tour<br />ARBITRARY INSERTION: removes a random subtourS and reinserts each city of S in the cheapest way<br />INVER-OVER: removes a random subtourS and reinserts S inverted<br />2-OPT: eliminates and reconnects the two edges that best minimise the length of the tour<br />3-OPT: eliminates and reconnects the three edges that best minimise the length of the tour<br />OR-OPT: in turns eliminates and inserts subtours of three, two and one consecutive cities that best minimises the length of the tour <br />NODE INSERTION: removes and reinserts the city which best minimises the length of the tour<br />9<br />
  20. 20. 1. COLLECT N_execution_threads<br /> 2. for EACH execution thread {<br /> 3. APPLY to a COP instance<br /> 4. }<br /><ul><li>Execution threads
  21. 21. way to explore different lengths systematically
  22. 22. generate structures similar to the ones of SA Wang tiles
  23. 23. percolation cluster on 2D square lattice
  24. 24. low-level heuristics are uniformly distributed</li></ul>OUT<br />IN<br />IN<br />OUT<br />OUT<br />IN<br />10<br />
  25. 25. Q1: Are there “common” combinations of heuristics among the execution threads ?<br /> 5. FILTER BEST_execution_threads<br /> 6. APPLY MSA (e.g. Muscle)<br /> 7. ANALYSE patterns of heuristics<br />A<br />T<br />2-EXCHANGE<br />1-CITY INSERTION<br />F<br />NODE INSERTION<br />C<br />2-OPT<br />ET1 EDEDGAGAGACFCAC<br />ET2 GGDDDGDDHA<br />ET3 ETHEEGCGTGCDC<br />ET4 TDGDGGGDDATD<br />ET5 FTFTTFAGCCCGCT<br />D<br />3-OPT<br />G<br />ARBITRARY INSERTION<br />E<br />OR-OPT<br />H<br />INVER-OVER<br />Local search strategies<br />A1: Yes, there are common combinations common execution thread<br />11<br />
  26. 26. 8. GEN common_execution_threads<br />9. GEN RND_execution_threads<br />10. for EACH execution thread {<br />11. APPLY to a COP instance<br />12. }<br />13.Assessment<br />Q2: How reliable are these combinations ?<br />For each (ETi / CET)<br /> Generate 300 copies<br /> Generate 300 RND execution thread<br /> Evaluate copies & RND 10 times<br />300 RND ETs evaluated 10 times<br />300 RND ETs evaluated 10 times<br />300 ET2 copies <br />evaluated <br />10 times<br />300 CET copies evaluated <br />10 times<br />Arrangements not considered in the ET collection<br />12<br />
  27. 27. Conclusions<br /><ul><li>Three components of stochasticity
  28. 28. Random distribution of low level heuristics across the lattice
  29. 29. Random walk for execution threads collection
  30. 30. Stochastic nature of some low-level heuristics
  31. 31. Computational expensive, hence parallelisation needed
  32. 32. There are common combinations of heuristics (MSA) among top ETs
  33. 33. Common combinations are reliable (comparing to RND)
  34. 34. CETs are competitive with collected ETs
  35. 35. Common combinations are :
  36. 36. Local search strategies
  37. 37. Beneficial to achieve good solutions
  38. 38. Reduce the number of stochastic components
  39. 39. Fix the distribution of low level heuristics
  40. 40. Fix the way execution threads are collected
  41. 41. Multiple evaluations of collected execution threads
  42. 42. Try different instance problems, e.g. asymmetric TSP, knapsack</li></ul>13<br />
  43. 43. Thank you<br />

×