self-assembling hyper-heuristics: a proof of concept

14
Self-Assembling Hyper- Self-Assembling Hyper- heuristics: a proof of heuristics: a proof of concept concept German Terrazas German Terrazas [email protected] [email protected] Dario Landa-Silva and Natalio Krasnogor Dario Landa-Silva and Natalio Krasnogor submitted to the 9th international conference on Artificial Evolution (EA'09)

Upload: german-terrazas

Post on 16-Apr-2017

749 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Self-Assembling Hyper-heuristics: a proof of concept

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)

Page 2: Self-Assembling Hyper-heuristics: a proof of concept

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

Page 3: Self-Assembling Hyper-heuristics: a proof of concept

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

Page 4: Self-Assembling Hyper-heuristics: a proof of concept

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

Page 5: Self-Assembling Hyper-heuristics: a proof of concept

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

Page 6: Self-Assembling Hyper-heuristics: a proof of concept

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

Page 7: Self-Assembling Hyper-heuristics: a proof of concept

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

Page 8: Self-Assembling Hyper-heuristics: a proof of concept

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

Page 9: Self-Assembling Hyper-heuristics: a proof of concept

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

Page 10: Self-Assembling Hyper-heuristics: a proof of concept

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

Page 11: Self-Assembling Hyper-heuristics: a proof of concept

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

Page 12: Self-Assembling Hyper-heuristics: a proof of concept

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

Page 13: Self-Assembling Hyper-heuristics: a proof of concept

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

Page 14: Self-Assembling Hyper-heuristics: a proof of concept

Thank youThank you