Solving Double Digest Problem by Genetic Algorithm

Download Report

Transcript Solving Double Digest Problem by Genetic Algorithm

Solving Double Digest
Problem by Genetic
Algorithm
Marek Kukačka & Zdeněk Pátek
Double Digest Problem (DDP)
• Input:
– ΔA – fragment lengths from the complete digest with enzyme A
– ΔB – fragment lengths from the complete digest with enzyme B
– ΔAB – fragment lengths from the complete digest with both A
and B
• Output:
– A – location of the cuts in the restriction map for the enzyme A
– B – location of the cuts in the restriction map for the enzyme B
• Double Digest Problem is NP - complete
Genetic Algorithm (GA)
Mutation
• Swap mutation
• Insert mutation
Crossover
• One-point crossover
Selection
• Inverse Tournament Selection
while (populationSize > N) do
select individuals X1, X2 from population randomly
if fitness(X1) > fitness(X2)
remove X2 from population
else
remove X1 from population
Results – Random DDPs (1)
Results – Random DDPs (2)
Results – Random DDPs (3)
Results – Random DDPs (4)
Results – Random DDPs (5)
Custom DDPs (1)
• 1. Custom DDP (moderate)
A: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
B: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
AB: 1, 2, 3, 4, 5, 4, 2, 6, 1, 6, 2, 4, 5, 4, 3, 2, 1
• 2. Custom DDP (easy)
A: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
B: 1, 10, 1, 10, 1, 10, 1, 10, 1, 10
AB: 1, 10, 1, 1, 9, 1, 2, 8, 1, 3, 7, 1, 4, 6
Custom DDPs (2)
• 3. Custom DDP (hard)
A: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
B: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
AB: 1, 2, 3, 4, 2, 3, 6, 2, 5, 5, 3, 6, 3, 5, 5, 2, 6, 3, 2, 4, 3, 2, 1
• 4. Custom DDP (weird)
A: (1, 3) 100
B: (2, 2) 100
AB: (1, 1, 2) 100
Results – 1. Custom DDP
NO_EXP
NO_FAILS
POP_SIZE
MUT_PROB
MUT_RATIO
CRS_PROB
AVG_GEN
BEST_GEN
AVG_MRS
BEST_MRS
20
167
100
0.5
0.1
0.5
466
74
93479
14634
20
44
100
0.5
0.5
0.5
500
176
100111
34963
20
50
100
0.5
0.9
0.5
366
39
73356
7833
20
47
100
0.9
0.1
0.1
310
68
39691
8661
20
12
100
0.9
0.5
0.1
322
63
41253
7988
20
12
100
0.9
0.9
0.1
252
40
32233
5156
20
45
100
1
0.1
0
292
53
29224
5300
20
14
100
1
0.5
0
351
108
35193
10799
20
17
100
1
0.9
0
342
59
34233
5900
20
100
300
0.5
0.1
0.5
494
160
296817
95966
20
38
300
0.5
0.5
0.5
475
96
285085
57797
20
41
300
0.5
0.9
0.5
258
41
155408
24636
20
11
300
0.9
0.1
0.1
346
60
133189
23174
20
4
300
0.9
0.5
0.1
278
65
107046
24861
20
5
300
0.9
0.9
0.1
271
53
104279
20279
20
24
300
1
0.1
0
258
45
77502
13499
20
3
300
1
0.5
0
175
54
52618
16199
20
8
300
1
0.9
0
274
46
82377
13800
20
66
500
0.5
0.1
0.5
536
241
536578
241216
20
11
500
0.5
0.5
0.5
353
106
353710
105502
20
17
500
0.5
0.9
0.5
271
67
271012
67416
20
4
500
0.9
0.1
0.1
365
56
233966
35731
20
0
500
0.9
0.5
0.1
153
38
98060
24225
20
3
500
0.9
0.9
0.1
254
48
162812
30849
20
10
500
1
0.1
0
371
58
185819
28997
20
6
500
1
0.5
0
152
65
75997
32497
20
13
500
1
0.9
0
153
47
76572
23499
Results – 2. Custom DDP
NO_EXP
NO_FAILS
POP_SIZE
MUT_PROB
MUT_RATIO
CRS_PROB
AVG_GEN
BEST_GEN
AVG_MRS
BEST_MRS
20
27
100
0.5
0.1
0.5
449
51
89878
10241
20
39
100
0.5
0.5
0.5
428
63
85575
12454
20
28
100
0.5
0.9
0.5
394
18
78904
3533
20
9
100
0.9
0.1
0.1
365
49
46757
6336
20
14
100
0.9
0.5
0.1
317
40
40647
5082
20
11
100
0.9
0.9
0.1
271
30
34842
3788
20
6
100
1
0.1
0
321
56
32164
5600
20
4
100
1
0.5
0
398
33
39883
3300
20
9
100
1
0.9
0
200
36
20044
3600
20
10
300
0.5
0.1
0.5
378
60
227068
35700
20
21
300
0.5
0.5
0.5
356
49
214179
29489
20
12
300
0.5
0.9
0.5
239
43
143611
25985
20
3
300
0.9
0.1
0.1
155
34
59652
13112
20
3
300
0.9
0.5
0.1
200
37
77161
14169
20
2
300
0.9
0.9
0.1
134
27
51464
10347
20
0
300
1
0.1
0
121
20
36568
6000
20
3
300
1
0.5
0
133
48
40153
14399
20
8
300
1
0.9
0
232
22
69717
6600
20
2
500
0.5
0.1
0.5
272
56
272415
55772
20
9
500
0.5
0.5
0.5
300
67
300331
67080
20
9
500
0.5
0.9
0.5
228
50
228515
49822
20
0
500
0.9
0.1
0.1
163
21
104541
13191
20
1
500
0.9
0.5
0.1
91
40
58355
25586
20
5
500
0.9
0.9
0.1
81
33
52147
21092
20
0
500
1
0.1
0
115
11
57923
5499
20
1
500
1
0.5
0
113
19
56698
9499
20
4
500
1
0.9
0
140
18
70272
9000
Results – 3. Custom DDP
NO_EXP
NO_FAILS
POP_SIZE
MUT_PROB
MUT_RATIO
CRS_PROB
AVG_GEN
BEST_GEN
AVG_MRS
BEST_MRS
20
200
100
0.5
0.1
0.5
UNSOLVABLE
20
200
100
0.5
0.5
0.5
UNSOLVABLE
20
200
100
0.5
0.9
0.5
UNSOLVABLE
20
200
100
0.9
0.1
0.1
UNSOLVABLE
20
126
100
0.9
0.5
0.1
558
112
71456
14164
20
178
100
0.9
0.9
0.1
365
112
46973
14407
20
200
100
1
0.1
0
UNSOLVABLE
20
200
100
1
0.5
0
UNSOLVABLE
20
200
100
1
0.9
0
UNSOLVABLE
20
200
300
0.5
0.1
0.5
UNSOLVABLE
20
200
300
0.5
0.5
0.5
UNSOLVABLE
20
200
300
0.5
0.9
0.5
UNSOLVABLE
20
161
300
0.9
0.1
0.1
724
439
278213
169016
20
54
300
0.9
0.5
0.1
491
100
188838
38022
20
199
300
0.9
0.9
0.1
466
179
178930
68642
20
200
300
1
0.1
0
20
123
300
1
0.5
0
481
185
144537
55499
20
152
300
1
0.9
0
372
89
111836
26699
20
200
500
0.5
0.1
0.5
20
82
500
0.5
0.5
0.5
541
20
110
500
0.5
0.9
0.5
533
261
541227
261369
189
533523
189694
20
86
500
0.9
0.1
0.1
338
109
216641
69882
20
26
500
0.9
0.5
0.1
345
109
221109
69757
20
16
500
0.9
0.9
0.1
343
90
219688
57656
20
139
500
1
0.1
0
564
228
282066
113995
20
50
500
1
0.5
0
365
109
182769
54498
20
76
500
1
0.9
0
371
130
185519
64999
UNSOLVABLE
UNSOLVABLE