|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| JWOrder | Line # 42 | 27 | 4 | 92,5% |
0.925
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
| (101) | |||
| Result | |||
|
0.875
|
org.sat4j.minisat.AbstractM2Test.testJNH22
org.sat4j.minisat.AbstractM2Test.testJNH22
|
1 PASS | |
|
0.875
|
org.sat4j.minisat.AbstractM2Test.testJNH10
org.sat4j.minisat.AbstractM2Test.testJNH10
|
1 PASS | |
|
0.875
|
org.sat4j.minisat.AbstractM2Test.testJNH34
org.sat4j.minisat.AbstractM2Test.testJNH34
|
1 PASS | |
|
0.875
|
org.sat4j.minisat.AbstractM2Test.testJNH33
org.sat4j.minisat.AbstractM2Test.testJNH33
|
1 PASS | |
|
0.875
|
org.sat4j.minisat.AbstractM2Test.testJNH31
org.sat4j.minisat.AbstractM2Test.testJNH31
|
1 PASS | |
|
0.875
|
org.sat4j.minisat.AbstractM2Test.testJNH28
org.sat4j.minisat.AbstractM2Test.testJNH28
|
1 PASS | |
|
0.875
|
org.sat4j.minisat.AbstractM2Test.testJNH5
org.sat4j.minisat.AbstractM2Test.testJNH5
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT12
org.sat4j.minisat.AbstractM2Test.testAim50SAT12
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH49
org.sat4j.minisat.AbstractM2Test.testJNH49
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT13
org.sat4j.minisat.AbstractM2Test.testAim50SAT13
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH50
org.sat4j.minisat.AbstractM2Test.testJNH50
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT14
org.sat4j.minisat.AbstractM2Test.testAim50SAT14
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testHole6
org.sat4j.minisat.AbstractM2Test.testHole6
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT15
org.sat4j.minisat.AbstractM2Test.testAim50SAT15
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testHole7
org.sat4j.minisat.AbstractM2Test.testHole7
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT8
org.sat4j.minisat.AbstractM2Test.testAim50SAT8
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testHole8
org.sat4j.minisat.AbstractM2Test.testHole8
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT9
org.sat4j.minisat.AbstractM2Test.testAim50SAT9
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testHole9
org.sat4j.minisat.AbstractM2Test.testHole9
|
3 FAIL | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT10
org.sat4j.minisat.AbstractM2Test.testAim50SAT10
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT11
org.sat4j.minisat.AbstractM2Test.testAim50SAT11
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH41
org.sat4j.minisat.AbstractM2Test.testJNH41
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT4
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT4
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH42
org.sat4j.minisat.AbstractM2Test.testJNH42
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT5
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT5
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH43
org.sat4j.minisat.AbstractM2Test.testJNH43
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT6
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT6
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH44
org.sat4j.minisat.AbstractM2Test.testJNH44
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT7
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT7
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH45
org.sat4j.minisat.AbstractM2Test.testJNH45
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT16
org.sat4j.minisat.AbstractM2Test.testAim50SAT16
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH46
org.sat4j.minisat.AbstractM2Test.testJNH46
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT1
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT1
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH47
org.sat4j.minisat.AbstractM2Test.testJNH47
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT2
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT2
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH48
org.sat4j.minisat.AbstractM2Test.testJNH48
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT3
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT3
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT5
org.sat4j.minisat.AbstractM2Test.testAim50SAT5
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT4
org.sat4j.minisat.AbstractM2Test.testAim50SAT4
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT7
org.sat4j.minisat.AbstractM2Test.testAim50SAT7
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT6
org.sat4j.minisat.AbstractM2Test.testAim50SAT6
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT1
org.sat4j.minisat.AbstractM2Test.testAim50SAT1
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT3
org.sat4j.minisat.AbstractM2Test.testAim50SAT3
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50SAT2
org.sat4j.minisat.AbstractM2Test.testAim50SAT2
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH23
org.sat4j.minisat.AbstractM2Test.testJNH23
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH24
org.sat4j.minisat.AbstractM2Test.testJNH24
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH21
org.sat4j.minisat.AbstractM2Test.testJNH21
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH19
org.sat4j.minisat.AbstractM2Test.testJNH19
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH20
org.sat4j.minisat.AbstractM2Test.testJNH20
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH17
org.sat4j.minisat.AbstractM2Test.testJNH17
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH18
org.sat4j.minisat.AbstractM2Test.testJNH18
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH15
org.sat4j.minisat.AbstractM2Test.testJNH15
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH16
org.sat4j.minisat.AbstractM2Test.testJNH16
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH13
org.sat4j.minisat.AbstractM2Test.testJNH13
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH14
org.sat4j.minisat.AbstractM2Test.testJNH14
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH11
org.sat4j.minisat.AbstractM2Test.testJNH11
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH12
org.sat4j.minisat.AbstractM2Test.testJNH12
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH9
org.sat4j.minisat.AbstractM2Test.testJNH9
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH40
org.sat4j.minisat.AbstractM2Test.testJNH40
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH39
org.sat4j.minisat.AbstractM2Test.testJNH39
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH38
org.sat4j.minisat.AbstractM2Test.testJNH38
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH37
org.sat4j.minisat.AbstractM2Test.testJNH37
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH36
org.sat4j.minisat.AbstractM2Test.testJNH36
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH35
org.sat4j.minisat.AbstractM2Test.testJNH35
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH32
org.sat4j.minisat.AbstractM2Test.testJNH32
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH30
org.sat4j.minisat.AbstractM2Test.testJNH30
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH29
org.sat4j.minisat.AbstractM2Test.testJNH29
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH27
org.sat4j.minisat.AbstractM2Test.testJNH27
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH26
org.sat4j.minisat.AbstractM2Test.testJNH26
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH25
org.sat4j.minisat.AbstractM2Test.testJNH25
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testIi12
org.sat4j.minisat.AbstractM2Test.testIi12
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testIi15
org.sat4j.minisat.AbstractM2Test.testIi15
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testIi11
org.sat4j.minisat.AbstractM2Test.testIi11
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT8
org.sat4j.minisat.AbstractM2Test.testAim50UNSAT8
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testIi1
org.sat4j.minisat.AbstractM2Test.testIi1
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testIi2
org.sat4j.minisat.AbstractM2Test.testIi2
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH6
org.sat4j.minisat.AbstractM2Test.testJNH6
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH8
org.sat4j.minisat.AbstractM2Test.testJNH8
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH7
org.sat4j.minisat.AbstractM2Test.testJNH7
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH2
org.sat4j.minisat.AbstractM2Test.testJNH2
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH1
org.sat4j.minisat.AbstractM2Test.testJNH1
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH4
org.sat4j.minisat.AbstractM2Test.testJNH4
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testJNH3
org.sat4j.minisat.AbstractM2Test.testJNH3
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testIi22
org.sat4j.minisat.AbstractM2Test.testIi22
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testIi21
org.sat4j.minisat.AbstractM2Test.testIi21
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testIi24
org.sat4j.minisat.AbstractM2Test.testIi24
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testIi23
org.sat4j.minisat.AbstractM2Test.testIi23
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testIi17
org.sat4j.minisat.AbstractM2Test.testIi17
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testIi16
org.sat4j.minisat.AbstractM2Test.testIi16
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testIi20
org.sat4j.minisat.AbstractM2Test.testIi20
|
1 PASS | |
|
0.775
|
org.sat4j.minisat.AbstractM2Test.testIi18
org.sat4j.minisat.AbstractM2Test.testIi18
|
1 PASS | |
|
0.725
|
org.sat4j.minisat.AbstractM2Test.testIi13
org.sat4j.minisat.AbstractM2Test.testIi13
|
1 PASS | |
|
0.725
|
org.sat4j.minisat.AbstractM2Test.testIi14
org.sat4j.minisat.AbstractM2Test.testIi14
|
1 PASS | |
|
0.725
|
org.sat4j.minisat.AbstractM2Test.testIi8
org.sat4j.minisat.AbstractM2Test.testIi8
|
1 PASS | |
|
0.725
|
org.sat4j.minisat.AbstractM2Test.testIi9
org.sat4j.minisat.AbstractM2Test.testIi9
|
1 PASS | |
|
0.725
|
org.sat4j.minisat.AbstractM2Test.testIi10
org.sat4j.minisat.AbstractM2Test.testIi10
|
1 PASS | |
|
0.725
|
org.sat4j.minisat.AbstractM2Test.testIi4
org.sat4j.minisat.AbstractM2Test.testIi4
|
1 PASS | |
|
0.725
|
org.sat4j.minisat.AbstractM2Test.testIi5
org.sat4j.minisat.AbstractM2Test.testIi5
|
1 PASS | |
|
0.725
|
org.sat4j.minisat.AbstractM2Test.testIi6
org.sat4j.minisat.AbstractM2Test.testIi6
|
1 PASS | |
|
0.725
|
org.sat4j.minisat.AbstractM2Test.testIi7
org.sat4j.minisat.AbstractM2Test.testIi7
|
1 PASS | |
|
0.725
|
org.sat4j.minisat.AbstractM2Test.testIi3
org.sat4j.minisat.AbstractM2Test.testIi3
|
1 PASS | |
| 1 | /* | |
| 2 | * SAT4J: a SATisfiability library for Java Copyright (C) 2004-2006 Daniel Le Berre | |
| 3 | * | |
| 4 | * Based on the original minisat specification from: | |
| 5 | * | |
| 6 | * An extensible SAT solver. Niklas E?n and Niklas S?rensson. Proceedings of the | |
| 7 | * Sixth International Conference on Theory and Applications of Satisfiability | |
| 8 | * Testing, LNCS 2919, pp 502-518, 2003. | |
| 9 | * | |
| 10 | * This library is free software; you can redistribute it and/or modify it under | |
| 11 | * the terms of the GNU Lesser General Public License as published by the Free | |
| 12 | * Software Foundation; either version 2.1 of the License, or (at your option) | |
| 13 | * any later version. | |
| 14 | * | |
| 15 | * This library is distributed in the hope that it will be useful, but WITHOUT | |
| 16 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | |
| 17 | * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more | |
| 18 | * details. | |
| 19 | * | |
| 20 | * You should have received a copy of the GNU Lesser General Public License | |
| 21 | * along with this library; if not, write to the Free Software Foundation, Inc., | |
| 22 | * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 23 | * | |
| 24 | */ | |
| 25 | ||
| 26 | package org.sat4j.minisat.orders; | |
| 27 | ||
| 28 | import java.util.ArrayList; | |
| 29 | import java.util.Collections; | |
| 30 | import java.util.List; | |
| 31 | ||
| 32 | import org.sat4j.minisat.core.ILits23; | |
| 33 | ||
| 34 | /* | |
| 35 | * Created on 16 oct. 2003 | |
| 36 | */ | |
| 37 | ||
| 38 | /** | |
| 39 | * @author leberre Heuristique du prouveur. Changement par rapport au MiniSAT | |
| 40 | * original : la gestion activity est faite ici et non plus dans Solver. | |
| 41 | */ | |
| 42 | public class JWOrder extends VarOrder<ILits23> { | |
| 43 | ||
| 44 | private static final long serialVersionUID = 1L; | |
| 45 | ||
| 46 | 156150537 |
private int computeWeight(int var) { |
| 47 | 156150537 | final int p = (var << 1); |
| 48 | 156150537 | int pos2 = lits.nBinaryClauses(p); |
| 49 | 156150537 | int neg2 = lits.nBinaryClauses(p ^ 1); |
| 50 | 156150537 | int pos3 = lits.nTernaryClauses(p); |
| 51 | 156150537 | int neg3 = lits.nTernaryClauses(p ^ 1); |
| 52 | 156150537 | long weight = (pos2 * neg2 * 100 + pos2 + neg2) * 5 + pos3 * neg3 * 10 |
| 53 | + pos3 + neg3; | |
| 54 | 156150537 | assert weight <= Integer.MAX_VALUE; |
| 55 | 156150537 | if (weight == 0) { |
| 56 | 10 | int pos = lits.watches(p).size(); |
| 57 | 10 | int neg = lits.watches(p ^ 1).size(); |
| 58 | 10 | weight = pos + neg; |
| 59 | } | |
| 60 | 156150537 | return (int) weight; |
| 61 | } | |
| 62 | ||
| 63 | /* | |
| 64 | * (non-Javadoc) | |
| 65 | * | |
| 66 | * @see org.sat4j.minisat.VarOrder#setLits(org.sat4j.minisat.Lits) | |
| 67 | */ | |
| 68 | 104 |
@Override |
| 69 | public void setLits(ILits23 lits) { | |
| 70 | 104 | super.setLits(lits); |
| 71 | } | |
| 72 | ||
| 73 | /* | |
| 74 | * (non-Javadoc) | |
| 75 | * | |
| 76 | * @see org.sat4j.minisat.IHeuristics#init() | |
| 77 | */ | |
| 78 | 104 |
@Override |
| 79 | public void init() { | |
| 80 | 104 | super.init(); |
| 81 | 104 | List<ValuedLit> v = new ArrayList<ValuedLit>(order.length); |
| 82 | ||
| 83 | 25669 | for (int i = 1; i < order.length; i++) { |
| 84 | 25565 | ValuedLit t = new ValuedLit(order[i],computeWeight(order[i]>> 1)); |
| 85 | 25565 | v.add(t); |
| 86 | } | |
| 87 | 104 | Collections.sort(v); |
| 88 | // System.out.println(v); | |
| 89 | 25669 | for (int i = 0; i < v.size(); i++) { |
| 90 | 25565 | ValuedLit t = v.get(i); |
| 91 | 25565 | order[i + 1] = t.id; |
| 92 | 25565 | int index = t.id >> 1; |
| 93 | 25565 | varpos[index] = i + 1; |
| 94 | 25565 | activity[t.id >> 1] = t.count; |
| 95 | } | |
| 96 | 104 | lastVar = 1; |
| 97 | ||
| 98 | } | |
| 99 | ||
| 100 | /* | |
| 101 | * (non-Javadoc) | |
| 102 | * | |
| 103 | * @see org.sat4j.minisat.core.VarOrder#updateActivity(int) | |
| 104 | */ | |
| 105 | 156124972 |
@Override |
| 106 | protected void updateActivity(int var) { | |
| 107 | 156124972 | activity[var] = computeWeight(var); |
| 108 | } | |
| 109 | ||
| 110 | 0 |
@Override |
| 111 | public String toString() { | |
| 112 | 0 | return "Jeroslow-Wang static like heuristics updated when new clauses are learnt"; //$NON-NLS-1$ |
| 113 | } | |
| 114 | } | |
|
||||||||||