On Self-Avoiding Walks across n-Dimensional Dice and Combinatorial
Optimization: An IntroductionFranc Brglez
Computer Science Raleigh, NC, USA
Version: Sun Sep 22 05:58:27 EDT 2013
Back to contents slide 2
Contents• The fable-- About Gretel and Hansel searching for keys (and about Joker hiding the keys)
• Summary and conclusions
• Notation and definitions-- Combinatorial problem: defined by function and (concatenated) coordinate type(s) The folding problem examples: under plan A, plan B, and plan C-- coordinate neighborhood(s) defined by coordinate type(s)-- a self-avoiding walk (SAW): a sequence of steps that chain a unique set of pivot coordinates
• Global search under SAW and experimental results -- protein folding on rectangular lattice in 2D
• Appendix-- Experiments with SAW in progress: graph {VC, Clique, IS, LA}, labs, Golomb ruler, maxsat, npp, jobs, ...
Back to contents slide
The Fable (about Gretel, Hansel, and Joker who keeps hiding the keys)
3
-- Joker disguises the first set of keys as labeled tickets in two urns: Gretel and Hansel search for keys by retrieving them from the respective urns until each finds a ticket whose label represent the combination for the lock on the door to their apartment.
-- Once Gretel and Hansel open doors to their apartments, each steps onto a platform (or a face) of a huge platonic solid (polyhedron) -- so they think at first ...
-- In fact, Joker replaced each urn not with a polyhedron but with a hyperhedron (same number of faces, different face adjacency structure) and hid another set of keys, this time under the labeled tickets, attached to face centers of each hyperhedron.
-- Joker asks Gretel and Hansel to search for keys by walking their respective hyperhedrons, from face-to-face, until they find the real key to their apartment.
Back to contents slide
Gretel, Hansel, and Joker (invisible but omnipresent)
4
Majoring in Computer Science
Majoring in Land Surveying
Both are returning to their adjacent apartments (after a party)
Back to contents slide
Joker replaces locks on doors and posts two urns with clues
5
Gretel takes the ticket from the urn and if she does not succeed in opening the door, she puts the ticket into her handbag and retrieves another ticket. We say that Gretel is sampling contents of the urn without replacement: the probability of Gretel finding the correct ticket on trial k follows uniform distribution, given k remaining tickets: probability is 1/k, mean value is (k + 1)/2, and variance is (k2 − 1)/12.
Gretel and Hansel discover not only that locks have been changed on both apartment doors with punch-key locks but also that mats that hid the keys were replaced with two urns, each containing a set 36 tickets. Each ticket has a printed label with
five digits in the format xx.yy:z (xx.yy is a binary/ternary coordinate, z is a value)
(2^2)*(3^2) = 36 unique coordinates!Only one label opens Gretel’s door, and only one opens Hansel’s door. The two sets are identical.
Who gets in first?
The point of the fable so far: we learn that in a search scenarios such as described here, one can improve the chance of first success by dynamically reducing the search space after each trial. In the average case, Gretel’s search, even with handbag of limited capacity, always requires fewer trials than Hansel’s.
Hansel, who had a few drinks at the party, takes the ticket and if he does not succeed in opening the door, returns the ticket to the urn. We say that Hansel is sampling contents of the urn with replacement: the probability of Hansel finding the correct ticket on trial k follows geometric distribution: probability is (1/n)(1 − (1/n))k−1, mean value is n, and variance is n2(1 − (1/n)).
HanselGretel
Back to contents slide
On entering respective apartments, each steps onto what appears as a platonic solid, but only Joker knows what it is ...
6
00.00:2
00.10:9
01.00:6
00.01:2
10.00:5
Gretel’s Entry
00.00:2
00.10:9
01.00:6
00.01:2
10.00:5
Hansel’s Entry(1) Upon entry, both are standing on a flat platform (a face) of an object, with four adjacent faces sloping downwards -- and all they can see is the label of the face on which they are standing and the four labels on the adjacent faces. Each object has 36 faces with 36 labels taken from each urn, respectively.(2) Joker asks them to walk from face-to-face and search for the label that hides the key to their real door (the key is now under the label). He gives them one, and only one, clue about the label: the label with value of ‘1’ or ‘less than 1’ has the key.
Back to contents slide
Only Joker has a global view of this object: a hyperhedron
7
Joker creates this view as follows:
-- He moves inside the hyperhedron, finds the center of the face, and attaches one end of a string to the center and attaches the other string to the center of the adjacent face.
-- He repeats the process for all faces and thus creates a graph; in this case an undirected graph with 36 faces and 84 edges. Note that the polyhedron with 36 faces, with each face having only 4 neighbors, has 72 edges total!
-- He also assigns function values to each coordinate: his choice of values is expected to confound Gretel and Hansel in their search.
-- To represent this graph in the plane, he defines a distance between the coordinates assigned to each label and makes a projection of the graph as a layered graph.
-- This graph (now a Hasse graph) is not visible to Gretel and Hansel, however, the graph enables Joker to trace each step they would make during their search.
2 4 6 8 10
01
23
45
6
vertices and labels are ordered L -> R by function values (for coordType=BT, vertex distribution at each rank may depend on coordInit)
Has
se ra
nk d
ista
nce
from
the
initi
al c
oord
inat
e (th
e bo
ttom
ver
tex)
00.00:2
00.10:9 01.00:6 10.00:5 00.01:2
10.01:9 00.20:9 00.02:9 01.10:7 10.10:4 11.00:2 01.01:2 00.11:2
11.10:9 00.21:9 00.12:9 10.02:8 01.20:8 10.20:3 01.02:3 11.01:2 10.11:1 01.11:1
11.20:9 11.02:9 01.21:9 00.22:9 10.12:7 01.12:4 11.11:2 10.21:2
11.21:9 11.12:9 10.22:6 01.22:5
11.22:9
function = BT.index.2|V| = 36, |E| = 84
Back to contents slide
Tracing the self-avoiding walk by Gretel
8
2 4 6 8 10
01
23
45
6
vertices and labels are ordered L -> R by function values (for coordType=BT, vertex distribution at each rank may depend on coordInit)
Has
se ra
nk d
ista
nce
from
the
initi
al c
oord
inat
e (th
e bo
ttom
ver
tex)
00.00:2
00.10:9 01.00:6 10.00:5 00.01:2
10.01:9 00.20:9 00.02:9 01.10:7 10.10:4 11.00:2 01.01:2 00.11:2
11.10:9 00.21:9 00.12:9 10.02:8 01.20:8 10.20:3 01.02:3 11.01:2 10.11:1 01.11:1
11.20:9 11.02:9 01.21:9 00.22:9 10.12:7 01.12:4 11.11:2 10.21:2
11.21:9 11.12:9 10.22:6 01.22:5
11.22:9
Walk Chainschain 0 = solid bluechain 1 = dotted redchain 2 = solid greenchain ? = etc...
Under Hamiltonian walk, Gretel takes 5 steps to find Hansel's key and 23 steps her own key.
Serial number for Gretel's key: 10.11:1
Gretel is a computer science major and remembers a lecture about Hamiltonian walks in graphs. She knows that she is standing on one of 36 faces and that if she associates each face with a vertex in a graph and the edges between adjacent faces with edges in this graph, she can compute and remember the path that visits each face only once. In the worst case, she will take 35 steps to find the key. The procedure she uses to compute the coordinates for each step in the Hamiltonian walk is not as simple to explain as the procedure used by Hansel and explained next. Suffice it to say that function values associated with each coordinate have no role in determining the Hamiltonian path in the graph. An example of Gretel’s walk, as traced by Joker, is shown on left. She takes 5 steps to find Hansel’s key and needs to continue for a total of 23 steps before finding her key. The first step, from 00.00:2 to 00.00:6, is a deliberate step in this Hamiltonian walk – a step that Hansel would never have taken from this starting position for reasons we explain next.
Back to contents slide
Tracing the self-avoiding walk by Hansel
9
Hansel’s major is land surveying and takes the hint about function values seriously. He devises a few rules before starting the walk: (1) mark the face from where the walk starts with an easy-to-spot token; later on in the paper, we call this face the initial pivot. (2) probe each adjacent face that has not yet been marked and write its value on a list. (3) select the adjacent face with the smallest value, step on this face, call it a current pivot, and mark it with a new token. If there are several faces with the same value, make a random selection. (4) repeat step (2) from the current pivot until reaching the target value. The process of marking the pivots during the walk with tokens makes this walk self-avoiding. Hansel can run into a problem with these rules in two cases: (1) he runs out of tokens,(2) the walk is trapped. In either case, Hansel restarts the walk from a new face. Hansel can find the ticket that hides his pass-key in 3 steps or less from many initial positions. What we show is likely his longest walk: 10 steps.
Serial number for Hansel's key: 01.11:1
2 4 6 8 10
01
23
45
6
vertices and labels are ordered L -> R by function values (for coordType=BT, vertex distribution at each rank may depend on coordInit)
Has
se ra
nk d
ista
nce
from
the
initi
al c
oord
inat
e (th
e bo
ttom
ver
tex)
00.00:2
00.10:9 01.00:6 10.00:5 00.01:2
10.01:9 00.20:9 00.02:9 01.10:7 10.10:4 11.00:2 01.01:2 00.11:2
11.10:9 00.21:9 00.12:9 10.02:8 01.20:8 10.20:3 01.02:3 11.01:2 10.11:1 01.11:1
11.20:9 11.02:9 01.21:9 00.22:9 10.12:7 01.12:4 11.11:2 10.21:2
11.21:9 11.12:9 10.22:6 01.22:5
11.22:9
function = BT.index.2|V| = 36, |E| = 84
B-neighbors
T-neighbors
Back to contents slide
Notation and definitions
10
-- Combinatorial problem: defined by function and (concatenated) coordinate type(s) the folding problem: examples under plan A, plan B, and plan C
-- coordinate neighborhood(s) defined by coordinate type(s)
-- a self-avoiding walk (SAW): a sequence of steps that chain a unique set of pivot coordinates
Back to contents slide
A combinatorial problem example (the folding problem, 2D)
11
-- defined by function value(s) and (concatenated) coordinate type(s)
coordinate: concatenation of type B(inary) and type T(ernary)1100101001.221101211bbwwbwbwwb.ccrrlrcrr
b b w b b bw w w w1 1 0 1 1 10 0 0 0 c c
rrl
rcrr
Two-color configuration (L=10, weight=5)
Conformation in 2D(rectangular lattice)
Function value: negative sum ofb2b bonds = -4
Back to contents slide
A combinatorial problem example (the folding problem)
12
Input: a fixed configuration -- a binary coordinate of length L and weight W Search for minimum energy confirmation in E (function value): return a best-value conformation as a ternary coordinate of length L - 1
Input: a fixed conformation -- a ternary coordinate of length L - 1, weight WmaxSearch for minimum energy configuration in E (function value): return a best-value configuration as a binary coordinate of length L and weight <= Wmax
-- under plan A, plan B, and plan C plan A (the traditional folding problem formulation)
plan B (aka as the inverse folding problem formulation)
plan C (ours may well be the first results under this formulation)Input: a random configuration AND a random conformation, i.e. a binary coordinate of length L and weight Wmax and a ternary coordinate of length L - 1Search for minimum energy E (function value): return a best-value configuration AND conformation as a best-value binary coordinate of length L and weight <= Wmax AND a best-value ternary coordinate of length L - 1
Back to contents slide
Coordinate neighborhood(s) defined by coordinate type(s)
13
2 4 6 8 10
01
23
45
6
vertices and labels are ordered L -> R by function values (for coordType=BT, vertex distribution at each rank may depend on coordInit)
Has
se ra
nk d
ista
nce
from
the
initi
al c
oord
inat
e (th
e bo
ttom
ver
tex)
00.00:2
00.10:9 01.00:6 10.00:5 00.01:2
10.01:9 00.20:9 00.02:9 01.10:7 10.10:4 11.00:2 01.01:2 00.11:2
11.10:9 00.21:9 00.12:9 10.02:8 01.20:8 10.20:3 01.02:3 11.01:2 10.11:1 01.11:1
11.20:9 11.02:9 01.21:9 00.22:9 10.12:7 01.12:4 11.11:2 10.21:2
11.21:9 11.12:9 10.22:6 01.22:5
11.22:9
B-neighbors
T-neighbors
The Hasse graph is the one introduced by Joker to trace walks by Gretel and Hansel.Labels in this graph are a concatenation of binary coordinates and ternary coordinates, a total of
(2^2) * (3^2) = 36 Each binary coordinate has always a neighborhood of 2 (dotted edges).Each ternary coordinate has always a neighborhood that varies from 2 to 4 (dotted edges).For example, the coordinate 00.00 has 2 binary and 2 ternary neighbors; the coordinate 10.11 has 2 binary and 4 ternary neighbors.
Probe the neighborhoodbefore makingthe next step!(crawl before you walk)
Back to contents slide
Coordinate neighborhood(s) defined by coordinate type(s)
14
% func.BT.neighb.saw foldHP2 1100101001.21101111iB iT coordB.coordT yBest n p coordT yNA NA 1100101001.21101111 +8 0 1 21101111 +8 4 NA 1100001001.21101111 +8 1 2 21101111 +8 9 NA 1100101000.21101111 +8 2 3 21101111 +8 0 NA 0100101001.21101111 +8 3 4 21101111 +8 1 NA 1000101001.21101111 +8 4 5 21101111 +8 6 NA 1100100001.21101111 +8 5 6 21101111 +8NA 4 1100101001.21101111 +8 6 7 21102111 +9NA 4 1100101001.21101111 +8 7 8 21100111 +9NA 6 1100101001.21101111 +8 8 9 21101121 +8NA 6 1100101001.21101111 -2 9 10 21101101 -2NA 0 1100101001.21101111 -2 10 11 11101111 +4NA 2 1100101001.21101111 -2 11 12 21201111 +8NA 2 1100101001.21101111 -2 12 13 21001111 +8NA 3 1100101001.21101111 -2 13 14 21111111 +5NA 5 1100101001.21101111 -4 14 15 21101211 -4*NA 5 1100101001.21101111 -4 15 16 21101011 -2NA 7 1100101001.21101111 -4 16 17 21101112 +8NA 7 1100101001.21101111 -4 17 18 21101110 +8NA 1 1100101001.21101111 -4 18 19 22101111 +8NA 1 1100101001.21101111 -4 19 20 20101111 +8
1100101001.21101211 -4 <-- the next step to take
In this example, L = 10 and there are (2^10)*(3^9) = 20,155,392
coordinates -- we cannot show them in a Hasse graph -- we can only observe the probing of neighborhood from a table such as shown here.Indices iB and iT that address values in binary and ternary coordinates are always randomly permuted in order to prevent biasing the order of choices for best function value y. Function values y > 0 represent not only unfeasible conformations but also the relative level of unfeasibility. The counters n and p report the size of the neighborhood and the number probes to find each value of yBest.The probing of 19 neighbors of an initial pivot coordinate 1100101001.21101111 leads, in this example -- and in a single step, to an optimal conformation with a target energy of -4
1100101001.21101211 -4
(probing under plan C ... the most general case)
Back to contents slide
A self-avoiding walk (SAW): Hamiltonian of length 24 − 1
15
-- a sequence of steps that chain a unique set of pivot coordinates
x--->
y
--->
(a)
0000:7
-2 -1 0 1-2
-1
0
1
0100:11 1000:15 1100:3
0001:8 0101:12 1001:0 1101:4
0010:9 0110:13 1010:1 1110:5
0011:10 0111:14 1011:2 1111:6
1 2 3 4 5 6
01
23
4
fileBase = n=4−B_index_hamilton−0110−walk0(This image created in R by plot_hasse)
vertices and labels are ordered L −> R by function values (for coordType=B, vertex distribution at each rank is binomial)
Has
se ra
nk d
ista
nce
from
the
botto
m fa
ce o
f the
dic
e
●
● ● ● ●
● ● ● ● ● ●
● ● ● ●
●
0110:13
0111:14 0100:11 0010:9 1110:5
0101:12 0011:10 0000:7 1111:6 1100:3 1010:1
1000:15 0001:8 1101:4 1011:2
1001:0
Walk Chainschain 0 = solid bluechain 1 = dotted redchain 2 = solid greenchain ? = etc...
Two sides of the same coin: an instance in 2-D in a unit cell, subsets of points on a grid in a lattice, versus an instance of a Hamiltonian walk of the same length in a Hasse graph defined by dimension 4 (wrt to base 2). The walk in the unit cell is contiguous only with respect to coordinates defined in the lattice. Similarly, the walk in Hasse graphs is contiguous only with respect to coordinates defined in the Hasse graph.
Back to contents slide
A self-avoiding walk (SAW): Hamiltonian of length 42 − 1
16
-- a sequence of steps that chain a unique set of pivot coordinates
(b)L
R
U
DR
RU
D
U
R
U
R
RU
L
L = leftR = rightU = upD = down
1.0 1.5 2.0 2.5 3.0 3.5 4.0
01
23
45
6
fileBase = n=2−Q_index_hamilton−00−walk0(This image created in R by plot_hasse)
vertices and labels are ordered L −> R by function values (for coordType=Q, vertex distribution at each rank depends on coordInit)
Has
se ra
nk d
ista
nce
from
the
botto
m fa
ce o
f the
dic
e
●
● ●
● ● ●
● ● ● ●
● ● ●
● ●
●
00:11
10:15 01:12
02:13 20:3 11:0
03:14 30:7 21:4 12:1
31:8 22:5 13:2
32:9 23:6
33:10
Walk Chainschain 0 = solid bluechain 1 = dotted redchain 2 = solid greenchain ? = etc...
Two sides of the same coin: an instance in 3-D in a unit cell, subsets of points on a grid in a lattice, versus an instance of a Hamiltonian walk of the same length in a Hasse graph defined by dimension 2 (wrt to base 4). The walk in the unit cell is contiguous only with respect to coordinates defined in the lattice. Similarly, the walk in Hasse graphs is contiguous only with respect to coordinates defined in the Hasse graph.
Back to contents slide
A self-avoiding walk (SAW): Hamiltonian of length 33 − 1
17
-- a sequence of steps that chain a unique set of pivot coordinates
(c)
C C
C
L
LCL
LU
C
L
L
C
L
C
L
CU
C
L
L
LC C
LL
C
C = continueL = leftU = up 1 2 3 4 5 6 7
01
23
45
6
fileBase = n=3−T_index_hamilton−000−walk0(This image created in R by plot_hasse)
vertices and labels are ordered L −> R by function values (for coordType=T, vertex distribution at each rank depends on coordInit)
Has
se ra
nk d
ista
nce
from
the
botto
m fa
ce o
f the
dic
e
●
● ● ●
● ● ● ● ● ●
● ● ● ● ● ● ●
● ● ● ● ● ●
● ● ●
●
000:17
100:26 010:20 001:18
020:23 011:21 002:19 200:8 110:2 101:0
021:24 012:22 210:11 201:9 120:5 111:3 102:1
022:25 220:14 211:12 202:10 121:6 112:4
221:15 212:13 122:7
222:16
Walk Chainschain 0 = solid bluechain 1 = dotted redchain 2 = solid greenchain ? = etc...
Two sides of the same coin: an instance in 3-D in a unit cell, subsets of points on a grid in a lattice, versus an instance of a Hamiltonian walk of the same length in a Hasse graph defined by dimension 3 (wrt to base 3). The walk in the unit cell is contiguous only with respect to coordinates defined in the lattice. Similarly, the walk in Hasse graphs is contiguous only with respect to coordinates defined in the Hasse graph.
Back to contents slide
A self-avoiding walk (SAW): example of “Hansel’s walk”
18
-- a sequence of steps that chain a unique set of pivot coordinatesProbing from the initial pivot
11.10:9
the “best-value” neighbor is a T-neighbor
11.11:2followed by a B-neighbor
10.11:1which turns up the Gretel’s key, so Hansel needs to continue the walk. Here, Hansel would reach his target in two steps if he choose 00.11:2 as the next pivot. However, by random choice, his next pivot is a T-neighbor
10.21:2from where he needs to continue the walk for 7 more steps until reaching the pivot with target value that also turns up his key:
01.11:1
Serial number for Hansel's key: 01.11:1
2 4 6 8 10
01
23
45
6
vertices and labels are ordered L -> R by function values (for coordType=BT, vertex distribution at each rank may depend on coordInit)
Has
se ra
nk d
ista
nce
from
the
initi
al c
oord
inat
e (th
e bo
ttom
ver
tex)
00.00:2
00.10:9 01.00:6 10.00:5 00.01:2
10.01:9 00.20:9 00.02:9 01.10:7 10.10:4 11.00:2 01.01:2 00.11:2
11.10:9 00.21:9 00.12:9 10.02:8 01.20:8 10.20:3 01.02:3 11.01:2 10.11:1 01.11:1
11.20:9 11.02:9 01.21:9 00.22:9 10.12:7 01.12:4 11.11:2 10.21:2
11.21:9 11.12:9 10.22:6 01.22:5
11.22:9
function = BT.index.2|V| = 36, |E| = 84
B-neighbors
T-neighbors
Back to contents slide
Global search under SAW and Summary of experiments
19
Global search under SAW (any function, any coordinates) -- complete pseudo code -- detail: procedure coordUpdate.saw
Summary of experiments (the protein folding problem, 2D) -- For L = 10, weight = 2, 3, 4, 5, 10 -- For L = 20, weight = 10** -- For L = 24, weight = 10** -- For L = 25, weight = 9**
** Also featuring significantly improved solutions versus the solutions reported in [20]
Back to contents slide
SAW in context of global search (1): details in the paper
20
All concepts in this pseudo code have been informally introduced by Gretel, Hansel, and Joker earlier.
Back to contents slide
SAW in context of global search (2): details in the paper
21
All concepts in this pseudo code have been informally introduced by Gretel, Hansel, and Joker earlier.
Back to contents slide
L = 10, w = 2,3,4 under plan C; 1000 initial coordinates
22
walkLengthmedian mean stdev max 1000 843.6 695.5 2336
probesPerStepmedian mean stdev 10.8 11.3 2.12
beyond_target uniq_solutions 0 813
weight = 2: 0000010010energy = -1: 222212110
weight = 2energy = -1
Histogram of x
x
Frequency
0 500 1000 1500 2000
050
100
150
200
250
300
350
walkLength
frequency
weight = 3: 0010001001energy = -2: 222211011
weight = 3energy = -2
Histogram of x
x
Frequency
0 500 1000 1500 2000
0200
400
600
walkLength
walkLengthmedian mean stdev max 39 33.8 580.7 2353
probesPerStepmedian mean stdev 13 13.1 1.61
beyond_target uniq_solutions 0 511
frequency
weight = 4: 0011001001energy = -3: 222211011
weight = 4energy = -3
Histogram of x
x
Frequency
0 500 1000 1500 2000
0200
400
600
800
walkLength
walkLengthmedian mean stdev max 26 104.1 290.7 2017
probesPerStepmedian mean stdev 14 14.7 1.47
beyond_target uniq_solutions 95 204
frequency
Back to contents slide
L = 10, w = 4,5,10 under plan C; 1000 initial coordinates
23
weight = 4: 1001001001energy = -4: 211011011
Histogram of x
x
Frequency
0 2000 4000 6000
050
100
150
200
250
300
weight = 4energy = -4
walkLength
walkLengthmedian mean stdev max 797.5 1074.3 965.7 7433
probesPerStepmedian mean stdev 14 13.9 0.82
beyond_target uniq_solutions 0 2
frequency
weight = 5: 1100101001energy = -4: 221101211
Histogram of x
x
Frequency
0 500 1000 15000
200
400
600
800
weight = 5energy = -4
walkLength
walkLengthmedian mean stdev max 37.5 73.1 131.0 1755
probesPerStepmedian mean stdev 15.8 16.0 1.27
beyond_target uniq_solutions 0 51
frequency
weight = 10: 1111111111energy = -4: 222121102
Histogram of x
x
Frequency
0 100 200 300 400 500 600 700
0200
400
600
800
1000 weight = 10
energy = -4
walkLength
walkLengthmedian mean stdev max 2 4.3 24.6 689
probesPerStepmedian mean stdev 22.0 21.2 4.47
beyond_target uniq_solutions 0 197
frequency
Back to contents slide
L = 10, w = 4 under plan C; 1000 initial coordinates
24
weight = 4: 1001001001energy = -4: 211011011
Histogram of x
x
Frequency
0 2000 4000 6000
050
100
150
200
250
300
weight = 4energy = -4
walkLength
walkLengthmedian mean stdev max 797.5 1074.3 965.7 7433
probesPerStepmedian mean stdev 14 13.9 0.82
beyond_target uniq_solutions 0 2
frequency
Important observations for this case:
-- only two unique solutions (from 1000 initial coordinates)
-- walkLength has almost certainly geometric distribution
-- the average walkLength to reach one of the two solutions under Hamiltonian walk = 0.25 ∗ (210 ∗ 39 − 1) = 5,038,848
-- the average walkLength to reach one of the two solutions under the “Hansel’s walk”, also a SAW, is 1,074.3
Back to contents slide
L = 20, from reference, to equivalent, to better solutions
25
statistics are based on 1000 random initial coordinates
d
dll
u
ru
rd
u ur
r
l
l
u
dd
r
12
34
5
678
9
10100110100101100101 dlluruluurdrdrurddl
valueBest = -9bbSize = 16
Plan A
12
34
56 7
8
9
20
020
10
1
0
0
1
0 1 0 0
2
2
0
0
10010101001010011011 2002010100101002200
valueBest = -9bbSize = 20
Plan C
<walkLength> = 1.5088e+4 (worst-case = (109/1000)*(2^20)*(3^19) = 1.328404e14
12
3
4 5 6
78 9
10
2 0
02
011
01
10
101
10
112
10011101001010010011 2002011011010110112
valueBest = -10bbSize = 16
Plan C
Back to contents slide
L = 24, from reference, to equivalent, to better solutions
26
statistics are based on 1000 random initial coordinates
110010010010010010010011 rdruruluuurululdldrdddl
valueBest = -9bbSize = 21
1 2
3
4
5
6
7
8
9
d l
l
u
r
u
rr
l
u
d
dr
u
u
d
d
u
u
drl
l
Plan A
101001011000000100100111 21011210221102101101120
valueBest = -9bbSize = 25
12
34
56
78
9
2
0
0
1
2
1 1
1
0
1
1
0
1
1
2
222
11
0
10
Plan C
<walkLength> = 1.9391e+4 (worst-case = (875/1000)*(2^24)*(3^23) = 1.382028e+18e+18
Plan C
valueBest = -11bbSize = 25
81
2 34
679510
2
1
02
1
1
2
0
2
0
1
0
0
0
1
1
01
0
0
0
0
0
111000010010100101001001 21220021001010010100100
11
Back to contents slide
L = 25, from reference, to equivalent, to better solutions
27
statistics are based on 1000 random initial coordinates
... based on the sample size of 62 rather than 1000
Text
<walkLength> = 1.243210e+6 (worst-case = (11/62)*(2^25)*(3^24) = 1.681361e+18)
1001000010010101001001001 211021120110120100100100
0
1
1
0
0
1 0
0
1
21
1
0
2 10
2
1
01
2 1
0
06
8
1
23
45
7
910
valueBest = -10bbSize = 28
Plan C
0000010000100101001100111 202011200210220100210020
2
3
1
0
0
0
0 0
0
1
4
56
78
2
10
2
1
0
1
0
022
2
2
2 1
20
valueBest = -8bbSize = 30
Plan C
0010011000011000011000011 lurulurulldlulddrdddruuu
d
l
u
rd
d
u
u
u
d
d u
d l
1
23
4
5 6
7
8
l
u
r
r
l
u
u
r
ll
valueBest = -8bbSize = 20
Plan A
Back to contents slide 28
Conclusions and Future Work-- Our experiments with a SAW solver raise the expectation that the solution of the protein folding problem, where the chain configuration and its confirmation are optimized simultaneously, may be feasible at an acceptable cost. -- Experiments on protein folding problem are being planned also for triangular and hexagonal grids in 2- and 3-dimensions.-- We are refining SAW solvers to scale to very large problems in a number of different domains under different coordinate types: -- low autocorrelation binary sequence (labs, aka in physics as the aperiodic one-dimensional Ising spin system with long range 4-spin interactions) -- graph {vertex cover, clique, independent set, linear arrangement, ...} -- optimal Golomb ruler (ogr) -- maxsat -- parsimony -- number partitioning problem (npp) -- job scheduling problem (jobs) -- cryptography -- etc