bitstringlistdisjointerdemo.java

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

JAVA
54
字号
package positronic.satisfiability.demos;

import java.util.List;

import positronic.satisfiability.bitstringlist.BitStringList;
import positronic.satisfiability.bitstringlist.BitStringListDisjointer;
import positronic.satisfiability.bitstringlist.BitStringListFixer;
import positronic.satisfiability.bitstringlist.IBitStringList;
import positronic.satisfiability.elements.BooleanLiteral;
import positronic.satisfiability.elements.Conjunction;
import positronic.satisfiability.elements.IProblem;
import positronic.satisfiability.solutions.PartialSolution;
/**
 * <p>Title: BitStringListDisjointerDemo</p>
 * <p>Description: TBS</p>
 * <p>Copyright (c) 2005</p>
 * <p>Company: Positronic Software</p>
 * @author Kerry Michael Soileau
 * @version 1.0
 */

public class BitStringListDisjointerDemo /** @todo Test this thoroughly */
{
  public static void main(String[] args) throws Exception
  {
    IBitStringList slm=new BitStringList("y",
    		new boolean[][]{
        {true,false,false},
        {true,true,false},
        {false,true,false},
      });

    IBitStringList bsl=new BitStringList("slist",
    		new boolean[][]{
    		{false,true,false},
      });

    IProblem problem=new Conjunction(
    		new BitStringListFixer(slm),
    			new BitStringListFixer(bsl),
    				new BitStringListDisjointer(bsl,slm));

    System.out.println(problem);
    List s=PartialSolution.solveList(problem);
		if(s!=null && s.size()>0)
    {
      BooleanLiteral.interpret(s);
    	System.out.println("slm= "+slm);
    	System.out.println("bsl= "+bsl);
    }
    else
      System.out.println("No solution.");
  }
}

⌨️ 快捷键说明

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