Author: | Wolfgang Scherer |
---|
Contents
Boolean problem:
( a0 ∨ a1 ∨ a2 ) ∧ ( b0 ∨ b1 ∨ b2 ) ∧ ( c0 ∨ c1 ∨ c2 ) ∧ ( d0 ∨ d1 ∨ d2 ) ∧ ( e0 ∨ e1 ∨ e2 ) ∧ ( ¬a0 ∨ ¬e1 ) ∧ ( ¬a0 ∨ ¬e2 ) ∧ ( ¬a1 ∨ ¬e0 ) ∧ ( ¬a1 ∨ ¬e2 ) ∧ ( ¬a2 ∨ ¬e0 ) ∧ ( ¬a2 ∨ ¬e1 ) ∧ ( ¬b0 ∨ ¬c1 ) ∧ ( ¬b0 ∨ ¬c2 ) ∧ ( ¬b1 ∨ ¬c0 ) ∧ ( ¬b1 ∨ ¬c2 ) ∧ ( ¬b2 ∨ ¬c0 ) ∧ ( ¬b2 ∨ ¬c1 ) ∧ ( ¬c0 ∨ ¬d1 ) ∧ ( ¬c0 ∨ ¬d2 ) ∧ ( ¬c1 ∨ ¬d0 ) ∧ ( ¬c1 ∨ ¬d2 ) ∧ ( ¬c2 ∨ ¬d0 ) ∧ ( ¬c2 ∨ ¬d1 ) ∧ ( ¬d0 ∨ ¬e1 ) ∧ ( ¬d0 ∨ ¬e2 ) ∧ ( ¬d1 ∨ ¬e0 ) ∧ ( ¬d1 ∨ ¬e2 ) ∧ ( ¬d2 ∨ ¬e0 ) ∧ ( ¬d2 ∨ ¬e1 )
Clause vectors:
[ 1 1 1 _ _ _ _ _ _ _ _ _ _ _ _ ] [ _ _ _ 1 1 1 _ _ _ _ _ _ _ _ _ ] [ _ _ _ _ _ _ 1 1 1 _ _ _ _ _ _ ] [ _ _ _ _ _ _ _ _ _ 1 1 1 _ _ _ ] [ _ _ _ _ _ _ _ _ _ _ _ _ 1 1 1 ] [ 0 _ _ _ _ _ _ _ _ _ _ _ _ 0 _ ] [ 0 _ _ _ _ _ _ _ _ _ _ _ _ _ 0 ] [ _ 0 _ _ _ _ _ _ _ _ _ _ 0 _ _ ] [ _ 0 _ _ _ _ _ _ _ _ _ _ _ _ 0 ] [ _ _ 0 _ _ _ _ _ _ _ _ _ 0 _ _ ] [ _ _ 0 _ _ _ _ _ _ _ _ _ _ 0 _ ] [ _ _ _ 0 _ _ _ 0 _ _ _ _ _ _ _ ] [ _ _ _ 0 _ _ _ _ 0 _ _ _ _ _ _ ] [ _ _ _ _ 0 _ 0 _ _ _ _ _ _ _ _ ] [ _ _ _ _ 0 _ _ _ 0 _ _ _ _ _ _ ] [ _ _ _ _ _ 0 0 _ _ _ _ _ _ _ _ ] [ _ _ _ _ _ 0 _ 0 _ _ _ _ _ _ _ ] [ _ _ _ _ _ _ 0 _ _ _ 0 _ _ _ _ ] [ _ _ _ _ _ _ 0 _ _ _ _ 0 _ _ _ ] [ _ _ _ _ _ _ _ 0 _ 0 _ _ _ _ _ ] [ _ _ _ _ _ _ _ 0 _ _ _ 0 _ _ _ ] [ _ _ _ _ _ _ _ _ 0 0 _ _ _ _ _ ] [ _ _ _ _ _ _ _ _ 0 _ 0 _ _ _ _ ] [ _ _ _ _ _ _ _ _ _ 0 _ _ _ 0 _ ] [ _ _ _ _ _ _ _ _ _ 0 _ _ _ _ 0 ] [ _ _ _ _ _ _ _ _ _ _ 0 _ 0 _ _ ] [ _ _ _ _ _ _ _ _ _ _ 0 _ _ _ 0 ] [ _ _ _ _ _ _ _ _ _ _ _ 0 0 _ _ ] [ _ _ _ _ _ _ _ _ _ _ _ 0 _ 0 _ ] a a a b b b c c c d d d e e e 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
Satoku matrix without requirements update
Row update for selection row s00 , 1st pass
Row update for selection row s00 , 2nd pass
Row update for selection row s00 , 3rd pass
Row update for selection row s00 , 4th pass
Row update for selection row s00 , 6th pass
Row update for selection row s00 , 7th pass
Row update for selection row s00 , 8th pass
Row update for selection row s00 , 9th pass
Row update for selection row s01
Row update for selection row s02
Row update for selection row s10
Row update for s11
Row update for selection row s12
Satoku Statistics | |
---|---|
satisfiable | True |
init clauses | 29 |
init variables | 0 |
init rows | 63 |
clauses | 29 |
variables | 0 |
rows | 63 |
cells | 3969 |
clauses deleted | 0 |
row kills | 0 |
duplicate kills | 0 |
zero changes | 600 |
soft changes | 300 |
zero update passes | 0 |
row update passes | 2 |
superset update passes | 1 |
zero updates | 0 |
row updates | 30 |
superset updates | 63 |
max zero updates | 0 |
max row updates | 15 |
max superset updates | 63 |
pending zero updates | 0 |
pending row updates | 0 |
pending superset updates | 0 |
row checks | 72 |
row merges | 147 |
message |
When all redundancies are fully encoded in 2-SAT constraints.
Satoku Statistics | |
---|---|
satisfiable | True |
init clauses | 65 |
init variables | 0 |
init rows | 135 |
clauses | 65 |
variables | 0 |
rows | 135 |
cells | 18225 |
clauses deleted | 0 |
row kills | 0 |
duplicate kills | 0 |
zero changes | 1320 |
soft changes | 660 |
zero update passes | 0 |
row update passes | 2 |
superset update passes | 1 |
zero updates | 0 |
row updates | 30 |
superset updates | 135 |
max zero updates | 0 |
max row updates | 15 |
max superset updates | 135 |
pending zero updates | 0 |
pending row updates | 0 |
pending superset updates | 0 |
row checks | 63 |
row merges | 291 |
message |
Full encoding of 10 3-SAT clauses.
Satoku Statistics | |
---|---|
satisfiable | True |
init clauses | 280 |
init variables | 0 |
init rows | 570 |
clauses | 280 |
variables | 0 |
rows | 570 |
cells | 324900 |
clauses deleted | 0 |
row kills | 0 |
duplicate kills | 0 |
zero changes | 11340 |
soft changes | 5670 |
zero update passes | 0 |
row update passes | 2 |
superset update passes | 1 |
zero updates | 0 |
row updates | 60 |
superset updates | 570 |
max zero updates | 0 |
max row updates | 30 |
max superset updates | 570 |
pending zero updates | 0 |
pending row updates | 0 |
pending superset updates | 0 |
row checks | 123 |
row merges | 1196 |
message |
The increase in row merges is almost linear:
10 clauses:
// rows 200 // zero changes 19800 // row updates 400 // superset updates 189 // row checks 811 // row merges 1049
20 clauses:
// rows 800 // zero changes 319200 // row updates 1600 // superset updates 779 // row checks 3221 // row merges 4309
40 clauses:
// rows 3200 // zero changes 5116800 // row updates 6400 // superset updates 3159 // row checks 12841 // row merges 17429
11 clauses:
// rows 76 // zero changes 2812 // row updates 152 // superset updates 73 // row checks 327 // row merges 379
29 clauses, 11 variables:
// rows 58 // zero changes 1624 // row updates 116 // superset updates 52 // row checks 243 // row merges 292
a = b = c = d = !f = g = h = p = q = r
10 clauses:
// rows 240 // zero changes 28560 // row updates 480 // superset updates 231 // row checks 972 // row merges 1358
20 clauses:
// rows 880 // soft changes 386320 // row updates 1760 // superset updates 861 // row checks 3542 // row merges 5128
40 clauses:
// rows 3360 // zero changes 5641440 // row updates 6720 // superset updates 3321 // row checks 13482 // row merges 19868
// rows 240 // |:TIM:| processed : [2013-10-29 19:48:52.164039] step: [0:00:00.041764] total: [0:00:00.214489] // rows 880 // |:TIM:| processed : [2013-10-29 19:49:10.427168] step: [0:00:00.329501] total: [0:00:02.982316] | rows: 880 / 240 = 3.66666666667 | time: 2.982316 / 0.214489 = 13.9042841358 // rows 3360 // |:TIM:| processed : [2013-10-29 19:50:12.472748] step: [0:00:05.101761] total: [0:00:46.632018] | rows: 3360 / 880 = 3.81818181818 | time: 46.632018 / 2.982316 = 15.6361760457 Input factor | Time factor -------------+------------ 3.6 | 13 = n^2 3.8 | 15 = n^2
Copyright
Copyright (C) 2013, Wolfgang Scherer, <Wolfgang.Scherer@gmx.de>. See the document source for conditions of use under the GNU Free Documentation License.