self-assembling hyper-heuristics: a proof of concept
TRANSCRIPT
Self-Assembling Hyper-Self-Assembling Hyper-heuristics: a proof of heuristics: a proof of
conceptconcept
German TerrazasGerman [email protected]@nottingham.ac.uk
Dario Landa-Silva and Natalio KrasnogorDario Landa-Silva and Natalio Krasnogor
submitted to the 9th international conference on Artificial Evolution (EA'09)
OutlineOutline Automated design of self-assembly Wang tilesAutomated design of self-assembly Wang tiles
Self-assembly HeuristicsSelf-assembly Heuristics ModelModel HypothesisHypothesis MethodologyMethodology
Execution threads analysisExecution threads analysis Test caseTest case
Travelling Salesman ProblemTravelling Salesman Problem Execution threads analysisExecution threads analysis
ConclusionsConclusions
22
Automated Design of Automated Design of Self-Assembly Wang TilesSelf-Assembly Wang Tiles
Self-Assembly (SA): complex structures are formed from many Self-Assembly (SA): complex structures are formed from many autonomous components interacting with one another. There is autonomous components interacting with one another. There is no master plan nor external influences.no master plan nor external influences.
Self-assembly Wang Tiles SystemSelf-assembly Wang Tiles System Set of tiles square in shape and coloured edgesSet of tiles square in shape and coloured edges 2D square lattice2D square lattice MatrixMatrix M M and temperature and temperature TT Random walk, edge-to-edge (local) interactions:Random walk, edge-to-edge (local) interactions:
ifif M[ci, cj]M[ci, cj] >> TT then then StickStick
else else Bounce offBounce off
M = colour-colour strength matrixM = colour-colour strength matrix
Wang tilesWang tiles
33
Wang tiles systemWang tiles system Target structureTarget structure
Fixed Fixed TT, Fixed , Fixed MM Q1: Is it possible to make an Q1: Is it possible to make an
automated design of tiles automated design of tiles capable of obtaining a capable of obtaining a particular supra-structure by particular supra-structure by means of SA?means of SA?
A1: Yes.A1: Yes.
44
Self-Assembly HeuristicsSelf-Assembly Heuristics
output
Heuristicinputinput
Execution threads(sequences of low level heuristics) by random walk (currently)
Self-assembly Wang tile
inputinput
output
Self-assembly Heuristic
+
Assembled heuristic
outputoutput
input
output
55
CombinatorialOptimisationProblems
Self-assembly Heuristics
Low Level
Heuristic
Assembled heuristics
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 modelSolving NP-complete problems in the tile assembly model. Y. Brun (SubsetSum). Y. Brun (SubsetSum)Constant-Size Tileset for Solving an NP-Complete Problem in Nondeterministic Linear TimeConstant-Size Tileset for Solving an NP-Complete Problem in Nondeterministic Linear Time. Y. Brun . Y. Brun (SubsetSum)(SubsetSum)Reducing Tileset Size: 3-SAT and BeyondReducing Tileset Size: 3-SAT and Beyond. Y. Brun (3-SAT). Y. Brun (3-SAT)
66
Execution Threads AnalysisExecution Threads Analysis
Execution thread analysis sheds light on Execution thread analysis sheds light on patterns of low level heuristicspatterns of low level heuristics inherent to an inherent to an emergent assembled heuristicemergent assembled heuristic
Q: are there “common” combinations of Q: are there “common” combinations of heuristics among the execution threads ?heuristics among the execution threads ?
Q: If yes, how reliable are these Q: If yes, how reliable are these combinations ?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
77
Test Case: TSPTest Case: TSP Problem instances: (easy to solve symmetric TSP instances)Problem instances: (easy to solve symmetric TSP instances)
Geographical distanceGeographical distanceGroetschel 16-city (ulysses16)Groetschel 16-city (ulysses16)Groetschel 22-city (ulysses22)Groetschel 22-city (ulysses22)
2D Euclidean distance2D Euclidean distanceEilon 51-city (eil51)Eilon 51-city (eil51)Eilon 76-city (eil76)Eilon 76-city (eil76)Krolak Krolak 100-city100-city (kroA100) (kroA100)
7
8
4
2
5
6
1
3
7
8
4
2
5
6
1
3
7
8
4
2
5
6
1
3
n-city insertionn-city insertion: selects sub-tour of size : selects sub-tour of size nn and and inserts randomly between two consecutive inserts randomly between two consecutive cities (n=1)cities (n=1)
n-exchangen-exchange: selects : selects nn links for removal links for removal and insertion (n=2)and insertion (n=2)
Low level heuristicsLow level heuristics
887
8
4
2
5
6
1
3
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 threadsExecution threads
99
K L
D
C
A
B
E
J
I H F
G
K L
D
C
A
B
E
J
I H F
G
K L
D
C
E
A
B
I H F
G
J
L
D
C
E
A
BK
J
I H F
G
IN
IN
IN
OUT
OUT
OUT
5. FILTER BEST_execution_threads
6. APPLY MSA (e.g. Muscle)
7. ANALYSE patterns of heuristics
2-exchangeAT 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
TATA
TATA
TTT
TAAA
AAAA
TATA
AAA
Q: Are there “common” combinations of Q: Are there “common” combinations of heuristics among the execution threads ?heuristics among the execution threads ?
A: Yes, there are common combinations A: Yes, there are common combinations template execution threadtemplate execution thread0-11#TATA#7-12#TATA#3-8#TTT#4-4#TAAA#1-10#AAAA#6-7#TATA#.........
1010
1.35
1.4
1.45
1.5
1.55
1.6
1.65
1.7
1.75
75 81 84 84 85 86 87 88 89 90
Execution Thread Length
<D
ista
nce
to O
PT
>
Template generated
RND Generated
1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
75 81 84 84 85 86 87 88 89 90 90 91 92 93 94 94 95 95 96 96 97 98 98 99 100 100 102 103 105 107
E xecution T hread Length
T emplate gen er ated
RND Gen erated
Q: How reliable are these combinations ?Q: How reliable are these combinations ?
Generate 300 Template-based execution threadRND execution thread
evaluate 100 times
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
RND ET length N evaluated 100 times
Template-based ET length N evaluated 100 times
1111
ConclusionsConclusions Three components of stochasticityThree components of stochasticity
Random distribution of low level heuristics across the latticeRandom distribution of low level heuristics across the lattice Random walk for execution threads collectionRandom walk for execution threads collection Stochastic nature of low level heuristicsStochastic nature of low level heuristics
Computational expensive, parallelisation neededComputational expensive, parallelisation needed Yes it is possible to visualise patterns of heuristics (MSA)Yes it is possible to visualise patterns of heuristics (MSA) Best execution threads are not totally reliable compared to randomly Best execution threads are not totally reliable compared to randomly
generated execution threads (due to stochastic application of heuristics)generated execution threads (due to stochastic application of heuristics)
Individual assessment of patterns of heuristicsIndividual assessment of patterns of heuristics Increase the diversity of low level heuristicsIncrease the diversity of low level heuristics Reduce the number of stochastic componentsReduce the number of stochastic components
Fix the distribution of low level heuristicsFix the distribution of low level heuristics Fix the way execution threads are collectedFix the way execution threads are collected
Multiple evaluations of collected execution threadsMultiple evaluations of collected execution threads Try different instance problems, e.g. asymmetric TSP, knapsackTry different instance problems, e.g. asymmetric TSP, knapsack
1212
ReferencesReferences 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.
1313
Thank youThank you