import choco.Problem; import choco.Constraint; import choco.Solver; import choco.Solution; import choco.ContradictionException; import choco.integer.IntVar; //import choco.search.AssignVar; import choco.search.AbstractGlobalSearchSolver; import choco.search.AbstractGlobalSearchLimit; import choco.integer.search.*; import java.io.*; import java.lang.*; import java.util.*; public class NDIT { public static void main(String[] args) throws Exception,ContradictionException,FileNotFoundException,IOException { int noFiles = args.length; long ms1 = System.currentTimeMillis(); Dict d = new Dict(); Tree t1 = new Tree(args[0],d); Tree t2 = new Tree(args[1],d); Tree t3 = new Tree(args[2],d); // the supertree t1 + t2 Problem pb = new Problem(); int m = d.size(); UMatrix um = new UMatrix(m-1,pb,d,false); t1.softBreakUp(um); t2.softBreakUp(um); t3.softXbreakUp(um); ArrayList S1 = um.getTriples(t1); ArrayList S2 = um.getTriples(t2); ArrayList S3 = um.getTriples(t3); ArrayList S4 = new ArrayList(); for (int i=0;i