naturalnumberlistmembershipdemo2.java

来自「Java版的SAT求解器」· Java 代码 · 共 71 行

JAVA
71
字号
package positronic.satisfiability.demos;import java.util.List;import positronic.satisfiability.elements.BooleanLiteral;import positronic.satisfiability.elements.Conjunction;import positronic.satisfiability.elements.IProblem;import positronic.satisfiability.naturalnumber.INaturalNumber;import positronic.satisfiability.naturalnumberlist.INaturalNumberList;import positronic.satisfiability.naturalnumber.NaturalNumber;import positronic.satisfiability.naturalnumberlist.NaturalNumberList;import positronic.satisfiability.naturalnumberlist.NaturalNumberListFixer;import positronic.satisfiability.naturalnumberlist.NaturalNumberListMembership;import positronic.satisfiability.naturalnumber.NaturalNumberUnequalizer;import positronic.satisfiability.solutions.PartialSolution;/** * <p>Title: NaturalNumberListMembershipDemo2</p> * <p>Description: TBS</p> * <p>Copyright (c) 2005</p> * <p>Company: Positronic Software</p> * @author Kerry Michael Soileau * @version 1.0 */public class NaturalNumberListMembershipDemo2{  public static void main(String[] args) throws Exception  {    INaturalNumber string1=new NaturalNumber("string1");    INaturalNumber string2=new NaturalNumber("string2");    INaturalNumberList bsl=new NaturalNumberList("slist",new INaturalNumber[]      {        new NaturalNumber(11),        new NaturalNumber(15),        new NaturalNumber(14),        new NaturalNumber(4),        new NaturalNumber(7),        new NaturalNumber(6)      });    //The list must have given values    IProblem fix=new NaturalNumberListFixer(bsl);    //Both strings must occur in the list    IProblem bslm1=new NaturalNumberListMembership(string1,bsl);    IProblem bslm2=new NaturalNumberListMembership(string2,bsl);    //The two strings must be different    IProblem diff=new NaturalNumberUnequalizer(string1,string2);    //Combine all of the IProblems into a single IProblem    IProblem problem=new Conjunction(bslm1,bslm2,fix,diff);    problem.sort();    System.out.println(problem);    //Solve the IProblem    List s=PartialSolution.solveList(problem);    if(s!=null && s.size()>0)    {      for(int i=0;i<s.size();i++)        System.out.println(s.get(i));      BooleanLiteral.interpret(s);      System.out.println("bsl = "+bsl);       System.out.println("String1 = "+string1);      System.out.println("String2 = "+string2);    }    else      System.out.println("No solution.");  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?