initConfiguration.config.setUseConstraints(false);// do not use if-then during learning (refer to the explanation above)
System.out.println(new Date().toString()+" Graph loaded: "+initialPTA.getStateNumber()+" states, adding at most "+ initConfiguration.config.getHowManyStatesToAddFromIFTHEN()+" if-then states");
Transform.augmentFromIfThenAutomaton(initialPTA, null, ifthenAutomata, initConfiguration.config.getHowManyStatesToAddFromIFTHEN());// we only need to augment our PTA once (refer to the explanation above).
System.out.println(new Date().toString()+" if-then states added, now "+initialPTA.getStateNumber()+" states");
WekaDataCollector dataCollector = PairQualityLearner.createDataCollector(ifDepth);
// Run the learner that will find out how to select the correct pairs.
LearnerThatCanClassifyPairs learnerOfPairs = new PairQualityLearner.LearnerThatUpdatesWekaResults(initConfiguration,referenceGraph,dataCollector,initialPTA);
LearnerGraph actualAutomaton = learnerOfPairs.learnMachine(new LinkedList<List<Label>>(),new LinkedList<List<Label>>());
// final weka.classifiers.trees.J48 classifier = new weka.classifiers.trees.J48();