Self-Assembling Hyper-heuristics: a proof of concept German Terrazas [email_address] Dario Landa-Silva and Natalio Krasnog...
Outline <ul><li>Automated design of self-assembly Wang tiles </li></ul><ul><li>Self-assembly Heuristics </li></ul><ul><ul>...
Automated Design of  Self-Assembly Wang Tiles <ul><li>Self-Assembly (SA): complex structures are formed from many autonomo...
Wang tiles system Target structure Fixed  T , Fixed  M   Q1: Is it possible to make an automated design of tiles capable o...
Self-Assembly Heuristics + 5 Execution threads (sequences of low level heuristics) by random walk (currently) Assembled he...
Q2: Is it possible to automatically design the correct assembly of a heuristic, the execution threads of which optimise a ...
Execution Threads Analysis <ul><li>Execution thread analysis sheds light on  patterns of low level heuristics  inherent  t...
Test Case: TSP <ul><li>Problem instances: (easy to solve symmetric TSP instances) </li></ul><ul><ul><li>Geographical dista...
1.  COLLECT N_execution_threads 2.  for EACH execution thread { 3.   APPLY to a COP instance 4.  } <ul><li>way to  generat...
5.  FILTER BEST_execution_threads 6.  APPLY MSA (e.g. Muscle) 7.  ANALYSE patterns of heuristics 2-exchange A T 1-city ins...
Q: How reliable are these combinations ? Generate 300  Template-based execution thread RND execution thread evaluate 100 t...
Conclusions <ul><li>Three components of stochasticity </li></ul><ul><ul><li>Random distribution of low level heuristics ac...
References <ul><li>Automated Self-Assembling Programming . L. Li, P. Siepmann, J. Smaldon, G. Terrazas and N. Krasnogor. I...
Thank you
Upcoming SlideShare
Loading in...5
×

Self-Assembling Hyper-heuristics: a proof of concept

534

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
534
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Self-Assembling Hyper-heuristics: a proof of concept

  1. 1. Self-Assembling Hyper-heuristics: a proof of concept German Terrazas [email_address] Dario Landa-Silva and Natalio Krasnogor submitted to the 9th international conference on Artificial Evolution (EA'09)
  2. 2. Outline <ul><li>Automated design of self-assembly Wang tiles </li></ul><ul><li>Self-assembly Heuristics </li></ul><ul><ul><li>Model </li></ul></ul><ul><ul><li>Hypothesis </li></ul></ul><ul><ul><li>Methodology </li></ul></ul><ul><li>Execution threads analysis </li></ul><ul><li>Test case </li></ul><ul><ul><li>Travelling Salesman Problem </li></ul></ul><ul><ul><li>Execution threads analysis </li></ul></ul><ul><li>Conclusions </li></ul>2
  3. 3. Automated Design of Self-Assembly Wang Tiles <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. </li></ul><ul><li>Self-assembly Wang Tiles System </li></ul><ul><ul><li>Set of tiles square in shape and coloured edges </li></ul></ul><ul><ul><li>2D square lattice </li></ul></ul><ul><ul><li>Matrix M and temperature T </li></ul></ul><ul><ul><li>Random walk, edge-to-edge (local) interactions: </li></ul></ul><ul><li>if M[ci, cj] > T </li></ul><ul><li> then Stick </li></ul><ul><ul><ul><ul><li>else Bounce off </li></ul></ul></ul></ul>M = colour-colour strength matrix Wang tiles 3
  4. 4. Wang tiles system Target structure Fixed T , Fixed M Q1: Is it possible to make an automated design of tiles capable of obtaining a particular supra-structure by means of SA? A1: Yes. 4
  5. 5. Self-Assembly Heuristics + 5 Execution threads (sequences of low level heuristics) by random walk (currently) Assembled heuristic
  6. 6. Q2: Is it possible to automatically design the correct assembly of a heuristic, the execution threads of which optimise a given problem instance ? Q3: If Q2 is yes, is it possible to apply the same methodology to a different problem ? Execution threads analysis + Assembled heuristics characterisation + Evolutionary design Methodology Solving NP-complete problems in the tile assembly model . Y. Brun (SubsetSum) Constant-Size Tileset for Solving an NP-Complete Problem in Nondeterministic Linear Time . Y. Brun (SubsetSum) Reducing Tileset Size: 3-SAT and Beyond . Y. Brun (3-SAT) 6 Combinatorial Optimisation Problems Self-assembly Heuristics Low Level Heuristic Assembled heuristics
  7. 7. Execution Threads Analysis <ul><li>Execution thread analysis sheds light on patterns of low level heuristics inherent to an emergent assembled heuristic </li></ul><ul><li>Q: are there “common” combinations of heuristics among the execution threads ? </li></ul><ul><li>Q: If yes, how reliable are these combinations ? </li></ul>1. COLLECT N_execution_threads 2. for EACH execution thread { 3. APPLY to a COP instance 4. } 5. FILTER BEST_execution_threads 6. APPLY MSA (e.g. Muscle) 7. ANALYSE patterns of heuristics 8. GEN TEMPLATE_execution_threads 9. GEN RND_execution_threads 10. for EACH execution thread { 11. APPLY to a COP instance 12. } 13. TEMPLATE vs. RND 7
  8. 8. Test Case: TSP <ul><li>Problem instances: (easy to solve symmetric TSP instances) </li></ul><ul><ul><li>Geographical distance </li></ul></ul><ul><ul><ul><li>Groetschel 16-city (ulysses16) </li></ul></ul></ul><ul><ul><ul><li>Groetschel 22-city (ulysses22) </li></ul></ul></ul><ul><ul><li>2D Euclidean distance </li></ul></ul><ul><ul><ul><li>Eilon 51-city (eil51) </li></ul></ul></ul><ul><ul><ul><li>Eilon 76-city (eil76) </li></ul></ul></ul><ul><ul><ul><li>Krolak 100-city (kroA100) </li></ul></ul></ul>n-city insertion : selects sub-tour of size n and inserts randomly between two consecutive cities (n=1) n-exchange : selects n links for removal and insertion (n=2) <ul><li>Low level heuristics </li></ul>8
  9. 9. 1. COLLECT N_execution_threads 2. for EACH execution thread { 3. APPLY to a COP instance 4. } <ul><li>way to generated different lengths systematically </li></ul><ul><li>generate structures similar to the ones of SA tiles sim </li></ul><ul><li>percolation cluster on 2D square lattice </li></ul><ul><li>P in (0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9) </li></ul><ul><li>heuristics uniformly distributed </li></ul><ul><li>Execution threads </li></ul>9 IN IN IN OUT OUT OUT
  10. 10. 5. FILTER BEST_execution_threads 6. APPLY MSA (e.g. Muscle) 7. ANALYSE patterns of heuristics 2-exchange A T 1-city insertion e76_ 0.72490706 _T1 ATTTAATTTATTATATTTATTTTTTTTTATATTATATAATTTAATATAAAAAAATA e76_ 0.88475836 _T2 ATTATTTATATTTATATATAAAATAATTTTTTTTAATATTTAATATA e76_ 0.96840148 _T3 TATATTTAAAATATATAAATTAATATTAAA e76_ 1.03159851 _T4 TATAAAAAAAATATTTATTTTTTTTTTATAAA e76_ 1.13197026 _T5 TATATATATTATAAAATATATTATAAAAAAATAA Q: Are there “common” combinations of heuristics among the execution threads ? A: Yes, there are common combinations  template execution thread 0-11# TATA #7-12# TATA #3-8# TTT #4-4# TAAA #1-10# AAAA #6-7# TATA #......... 10 TATA TATA TTT TAAA AAAA TATA AAA
  11. 11. Q: How reliable are these combinations ? Generate 300 Template-based execution thread RND execution thread evaluate 100 times RND ET length N evaluated 100 times Template-based ET length N evaluated 100 times 11 8. GEN TEMPLATE_execution_threads 9. GEN RND_execution_threads 10. for EACH execution thread { 11. APPLY to a COP instance 12. } 13. TEMPLATE vs. RND
  12. 12. Conclusions <ul><li>Three components of stochasticity </li></ul><ul><ul><li>Random distribution of low level heuristics across the lattice </li></ul></ul><ul><ul><li>Random walk for execution threads collection </li></ul></ul><ul><ul><li>Stochastic nature of low level heuristics </li></ul></ul><ul><li>Computational expensive, parallelisation needed </li></ul><ul><li>Yes it is possible to visualise patterns of heuristics (MSA) </li></ul><ul><li>Best execution threads are not totally reliable compared to randomly generated execution threads (due to stochastic application of heuristics) </li></ul><ul><li>Individual assessment of patterns of heuristics </li></ul><ul><li>Increase the diversity of low level heuristics </li></ul><ul><li>Reduce the number of stochastic components </li></ul><ul><ul><li>Fix the distribution of low level heuristics </li></ul></ul><ul><ul><li>Fix the way execution threads are collected </li></ul></ul><ul><li>Multiple evaluations of collected execution threads </li></ul><ul><li>Try different instance problems, e.g. asymmetric TSP, knapsack </li></ul>12
  13. 13. References <ul><li>Automated Self-Assembling Programming . L. Li, P. Siepmann, J. Smaldon, G. Terrazas and N. Krasnogor. In N. Krasnogor, S. Gustafson, D. Pelta, and J. L. Verdegay, editors, Systems Self-Assembly: Multidisciplinary Snapshots. Elsevier, 2008. </li></ul><ul><li>Evolving Tiles for Automated Self-Assembly Design . G. Terrazas, M. Gheorghe, G. Kendall and N.Krasnogor. In IEEE Congress on Evolutionary Computation, pages 2001–2008. IEEE Press, 2007. </li></ul><ul><li>Memetic algorithms: The polynomial local search complexity theory perspective . N. Krasnogor and J.E. Smith. Journal of Mathematical Modelling and Algorithms , 7:3-24, 2008. </li></ul><ul><li>A Domain-Specific Language for Programming in the Tile Assembly Model . D. Doty and M. J. Patitz, 2009. Electronic access at http://arxiv.org/abs/0903.0889 </li></ul><ul><li>Solving NP-complete problems in the tile assembly model . Y. Brun. Theor. Comput. Sci., 395(1):31–46, 2008. </li></ul><ul><li>Constant-Size Tileset for Solving an NP-Complete Problem in Nondeterministic Linear Time . Y. Brun. In 13th International Meeting on DNA Computing, volume 4848 of Lecture Notes in Computer Science, pages 26–35. Springer, 2008. </li></ul><ul><li>Reducing Tileset Size: 3-SAT and Beyond . Y. Brun. In 14th International Meeting on DNA Computing, page 178, Prague, Czech Republic, June 2008. </li></ul><ul><li>Sequence Alignment as a Method for Human Activity Analysis in Space and Time . N. Shoval and M. Isaacsonm. In Annals of the Association of American Geographers, 97(2) 282–297, 2007. </li></ul><ul><li>Bioinformatics and handwriting/speech recognition: unconventional applications of similarity search tools . K. Jensen and G. Stephanopoulos. In Fourth Singapore-MIT Alliance Conference on Molecular Engineering of Biological and Chemical Systems, 2005. </li></ul><ul><li>Activity pattern analysis by means of sequence-alignment methods . Wilson W. C. Environment and Planning A 30(6) 1017 – 1038, 1998. </li></ul>13
  14. 14. Thank you
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×