Self-Assembling Hyper-heuristics: a proof of concept

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Self-Assembling Hyper-heuristics: a proof of concept - Presentation Transcript

    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. Outline
      • Automated design of self-assembly Wang tiles
      • Self-assembly Heuristics
        • Model
        • Hypothesis
        • Methodology
      • Execution threads analysis
      • Test case
        • Travelling Salesman Problem
        • Execution threads analysis
      • Conclusions
      2
    3. Automated Design of Self-Assembly Wang Tiles
      • Self-Assembly (SA): complex structures are formed from many autonomous components interacting with one another. There is no master plan nor external influences.
      • Self-assembly Wang Tiles System
        • Set of tiles square in shape and coloured edges
        • 2D square lattice
        • Matrix M and temperature T
        • Random walk, edge-to-edge (local) interactions:
      • if M[ci, cj] > T
      • then Stick
            • else Bounce off
      M = colour-colour strength matrix Wang tiles 3
    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. Self-Assembly Heuristics + 5 Execution threads (sequences of low level heuristics) by random walk (currently) Assembled heuristic
    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. Execution Threads Analysis
      • Execution thread analysis sheds light on patterns of low level heuristics inherent to an emergent assembled heuristic
      • Q: are there “common” combinations of heuristics among the execution threads ?
      • Q: If yes, how reliable are these combinations ?
      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. Test Case: TSP
      • Problem instances: (easy to solve symmetric TSP instances)
        • Geographical distance
          • Groetschel 16-city (ulysses16)
          • Groetschel 22-city (ulysses22)
        • 2D Euclidean distance
          • Eilon 51-city (eil51)
          • Eilon 76-city (eil76)
          • Krolak 100-city (kroA100)
      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)
      • Low level heuristics
      8
    9. 1. COLLECT N_execution_threads 2. for EACH execution thread { 3. APPLY to a COP instance 4. }
      • way to generated different lengths systematically
      • generate structures similar to the ones of SA tiles sim
      • percolation cluster on 2D square lattice
      • P in (0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9)
      • heuristics uniformly distributed
      • Execution threads
      9 IN IN IN OUT OUT OUT
    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. 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. Conclusions
      • Three components of stochasticity
        • Random distribution of low level heuristics across the lattice
        • Random walk for execution threads collection
        • Stochastic nature of low level heuristics
      • Computational expensive, parallelisation needed
      • Yes it is possible to visualise patterns of heuristics (MSA)
      • Best execution threads are not totally reliable compared to randomly generated execution threads (due to stochastic application of heuristics)
      • Individual assessment of patterns of heuristics
      • Increase the diversity of low level heuristics
      • Reduce the number of stochastic components
        • Fix the distribution of low level heuristics
        • Fix the way execution threads are collected
      • Multiple evaluations of collected execution threads
      • Try different instance problems, e.g. asymmetric TSP, knapsack
      12
    13. References
      • 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.
      • 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.
      • 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.
      • 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
      • Solving NP-complete problems in the tile assembly model . Y. Brun. Theor. Comput. Sci., 395(1):31–46, 2008.
      • 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.
      • Reducing Tileset Size: 3-SAT and Beyond . Y. Brun. In 14th International Meeting on DNA Computing, page 178, Prague, Czech Republic, June 2008.
      • 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.
      • 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.
      • Activity pattern analysis by means of sequence-alignment methods . Wilson W. C. Environment and Planning A 30(6) 1017 – 1038, 1998.
      13
    14. Thank you

    + German TerrazasGerman Terrazas, 6 months ago

    custom

    276 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 276
      • 276 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 7
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories