Examples of Learner


Examples of statechum.analysis.learning.Learner

    {
      initial.plus.addAll(evalData.labelDetails.getSPlus());initial.minus.addAll(evalData.labelDetails.getSMinus());
    }
    simulator.setNextElement(nextElement);

    Learner learner2 = null;

    if (logFileName.contains(Configuration.LEARNER.LEARNER_BLUEFRINGE_DEC2007.name()))
    {// have to patch the learner.
     
      learner2 = new RPNIUniversalLearner(null,new LearnerEvaluationConfiguration(null,null,evalData.config,null,null))
View Full Code Here

Examples of statechum.analysis.learning.Learner

    public static void main(String[] args) {
        QSMTool tool = new QSMTool();
        tool.loadConfig(args[0]);
        if (tool.showLTL) {
            Learner l = new RPNIUniversalLearner(null, tool.learnerInitConfiguration);
            LTL_to_ba ba = new LTL_to_ba(tool.learnerInitConfiguration.config, tool.learnerInitConfiguration.getLabelConverter());
            if (ba.ltlToBA(tool.learnerInitConfiguration.ifthenSequences, l.init(tool.sPlus, tool.sMinus), true,
                    GlobalConfiguration.getConfiguration().getProperty(GlobalConfiguration.G_PROPERTIES.LTL2BA))) {
                try {
                    LearnerGraph graph = Transform.ltlToIfThenAutomaton(ba.getLTLgraph().pathroutines.buildDeterministicGraph());
                    DirectedSparseGraph gr = graph.pathroutines.getGraph();
                    PathRoutines.convertPairAssociationsToTransitions(gr, graph, tool.learnerInitConfiguration.config,tool.learnerInitConfiguration.getLabelConverter());
View Full Code Here

Examples of statechum.analysis.learning.Learner

      config.setMinCertaintyThreshold(2);
      //config.setAskQuestions(false);
      //config.setKlimit(2);
      //config.setLearnerScoreMode(Configuration.ScoreMode.KTAILS);
      config.setLearnerScoreMode(Configuration.ScoreMode.CONVENTIONAL);
      Learner l = new AccuracyTrackerDecorator(new RPNIUniversalLearner(null,new LearnerEvaluationConfiguration(null,null,config,null,null))
      {
        @Override
        public Pair<Integer,String> CheckWithEndUser(
            @SuppressWarnings("unused"LearnerGraph model,
            List<Label> question, @SuppressWarnings("unused") int valueForNoRestart,
            @SuppressWarnings("unused") List<Boolean> acceptedElements,
            @SuppressWarnings("unused") PairScore pairBeingMerged,
            @SuppressWarnings("unused") final Object [] moreOptions)
        {
          questionNumber.addAndGet(1);
          return new Pair<Integer,String>(graph.paths.tracePathPrefixClosed(question),null);
        }
      }
      , graph);
      sMinus = rpg.getAllSequencesPercentageInterval(1);

      learn(l,sMinus);
      result = result + l.getResult();
    }
View Full Code Here

Examples of statechum.analysis.learning.Learner

      //config.setKlimit(2);
      //config.setLearnerScoreMode(Configuration.ScoreMode.KTAILS);
      config.setLearnerScoreMode(Configuration.ScoreMode.CONVENTIONAL);
      LearnerEvaluationConfiguration evaluationConfiguration = new LearnerEvaluationConfiguration(null,null,config,null,null);
      evaluationConfiguration.setLabelConverter(experiment.getLabelConverter());
      Learner l = new AccuracyTrackerDecorator(new RPNIUniversalLearner(null,evaluationConfiguration)
      {
        @Override
        public Pair<Integer,String> CheckWithEndUser(
            @SuppressWarnings("unused"LearnerGraph model,
            List<Label> question, @SuppressWarnings("unused") int valueForNoRestart,
            @SuppressWarnings("unused") List<Boolean> acceptedElements,
            @SuppressWarnings("unused") PairScore pairBeingMerged,
            @SuppressWarnings("unused") final Object [] moreOptions)
        {
          questionNumber.addAndGet(1);
          return new Pair<Integer,String>(graph.paths.tracePathPrefixClosed(question),null);
        }
      }
      , graph);
      sMinus = rpg.getAllSequencesPercentageInterval(1);

      learn(l,sMinus);
      result = result + l.getResult();
    }
View Full Code Here

Examples of statechum.analysis.learning.Learner

          innerLearner = new RPNIUniversalLearner(PickNegativesVisualiser.this, conf);
        else
              innerLearner = new RPNIUniversalLearner(PickNegativesVisualiser.this, conf);// at this point ifthenSequences will always be null.
       
        innerLearner.addObserver(PickNegativesVisualiser.this);
        Learner mainDecorator = new AutoAnswers(innerLearner);
        if (conf.labelDetails != null)
          mainDecorator = new SmtLearnerDecorator(mainDecorator,conf.labelDetails);
            if (whomToNotify != null) whomToNotify.threadStarted();
            LearnerGraph graph = mainDecorator.learnMachine(sPlus, sMinus);
            if (graph != null)
            {
              DirectedSparseGraph learnt = graph.pathroutines.getGraph();
              if(conf.config.isGenerateTextOutput())
                OutputUtil.generateTextOutput(learnt,"textOutput.txt");
View Full Code Here

Examples of statechum.analysis.learning.Learner

          innerLearner = new RPNIUniversalLearner(PickNegativesVisualiser.this, conf);
        else
              innerLearner = new RPNIUniversalLearner(PickNegativesVisualiser.this, conf);// at this point ifthenSequences will always be null.
       
        innerLearner.addObserver(PickNegativesVisualiser.this);
        Learner mainDecorator = new AutoAnswers(innerLearner);
        if (conf.labelDetails != null)
          mainDecorator = new SmtLearnerDecorator(mainDecorator,conf.labelDetails);
            if (whomToNotify != null) whomToNotify.threadStarted();
            LearnerGraph graph = mainDecorator.learnMachine(sPlus, sMinus);
            if (graph != null)
            {
              try
              {
                DirectedSparseGraph learnt = graph.pathroutines.getGraph();
View Full Code Here

Examples of statechum.analysis.learning.Learner

    // now sanity checking on the plus and minus sets
    for(String [] path:plus)
      assert AbstractOracle.USER_ACCEPTED == expected.paths.tracePathPrefixClosed(AbstractLearnerGraph.buildList(Arrays.asList(path),testConfig,converter));
    for(String [] path:minus)
      assert AbstractOracle.USER_ACCEPTED != expected.paths.tracePathPrefixClosed(AbstractLearnerGraph.buildList(Arrays.asList(path),testConfig,converter));
    Learner l = new RPNIUniversalLearner(null,new LearnerEvaluationConfiguration(null,null,testConfig,null,null))
    {
      @Override
      public Pair<Integer,String> CheckWithEndUser(
          @SuppressWarnings("unused"LearnerGraph model,
          List<Label> question, @SuppressWarnings("unused") int responseForNoRestart,
          @SuppressWarnings("unused") List<Boolean> acceptedElements,
          @SuppressWarnings("unused") PairScore pairBeingMerged,
          @SuppressWarnings("unused"final Object [] moreOptions)
      {
        return new Pair<Integer,String>(expected.paths.tracePathPrefixClosed(question),null);
      }
    };
    testConfig.setLearnerIdMode(IDMode.POSITIVE_NEGATIVE);
    ByteArrayOutputStream logStream = new ByteArrayOutputStream();
    RecordProgressDecorator recorder = new RecordProgressDecorator(l,logStream,1,testConfig,useZip);
    Collection<List<Label>> testSet = new LinkedList<List<Label>>();
    recorder.writeLearnerEvaluationData(new LearnerEvaluationConfiguration(expected, testSet, testConfig, null, null));
    LearnerGraph learntStructureA = recorder.learnMachine(buildSet(plus,testConfig,converter), buildSet(minus,testConfig,converter));
   
    //System.out.println("compression rate: "+recorder.getCompressionRate());
    //System.out.println(logStream.toString()+"============");
    //System.out.println(logStream.toByteArray().length);
    LearnerGraph learntMachineNoRejects = new LearnerGraph(testConfig);
    AbstractPathRoutines.removeRejectStates(learntStructureA,learntMachineNoRejects);
    Assert.assertNull(WMethod.checkM(learntMachineNoRejects, expected));
   
    switch(kind)
    {
      case RECORDERTEST_SS:
      {// matching two simulators
        final LearnerSimulator
          simulator = new LearnerSimulator(new ByteArrayInputStream(logStream.toByteArray()),useZip,converter),
          simulator2 = new LearnerSimulator(new ByteArrayInputStream(logStream.toByteArray()),useZip,converter);
       
        LearnerEvaluationConfiguration eval1 = simulator.readLearnerConstructionData(testConfig);
        Assert.assertNull(WMethod.checkM(expected, eval1.graph));
        Assert.assertEquals(testSet, eval1.testSet);
        Assert.assertEquals(expected.config, testConfig);
        LearnerEvaluationConfiguration eval2 = simulator2.readLearnerConstructionData(testConfig);
        Assert.assertNull(WMethod.checkM(expected, eval2.graph));
        Assert.assertEquals(testSet, eval2.testSet);
        Assert.assertEquals(expected.config, testConfig);
       
        new Test_LearnerComparator(simulator,simulator2,true).learnMachine(buildSet(plus,testConfig,converter), buildSet(minus,testConfig,converter));
        break;
      }
     
      case RECORDERTEST_SL:
      {// now a simulator to a learner
        final LearnerSimulator simulator = new LearnerSimulator(new ByteArrayInputStream(logStream.toByteArray()),useZip,converter);
        LearnerEvaluationConfiguration eval1 = simulator.readLearnerConstructionData(testConfig);
        Assert.assertNull(WMethod.checkM(expected, eval1.graph));
        Assert.assertEquals(testSet, eval1.testSet);
        Assert.assertEquals(expected.config, testConfig);
 
        Learner learner2 = new RPNIUniversalLearner(null,new LearnerEvaluationConfiguration(null,null,expected.config,null,null))
        {
          @Override
          public Pair<Integer,String> CheckWithEndUser(
              @SuppressWarnings("unused"LearnerGraph model,
              List<Label> question, @SuppressWarnings("unused") int responseForNoRestart,
              @SuppressWarnings("unused") List<Boolean> acceptedElements,
              @SuppressWarnings("unused") PairScore pairBeingMerged,
              @SuppressWarnings("unused"final Object [] moreOptions)
          {
            return new Pair<Integer,String>(expected.paths.tracePathPrefixClosed(question),null);
          }
        };
        new Test_LearnerComparator(learner2,simulator,true).learnMachine(buildSet(plus,testConfig,converter), buildSet(minus,testConfig,converter));
        break;
      }

      case RECORDERTEST_LL:
      {// now two learners
        Learner learnerA = new RPNIUniversalLearner(null,new LearnerEvaluationConfiguration(null,null,testConfig,null,null))
        {
          @Override
          public Pair<Integer,String> CheckWithEndUser(
              @SuppressWarnings("unused"LearnerGraph model,
              List<Label> question, @SuppressWarnings("unused") int responseForNoRestart,
              @SuppressWarnings("unused") List<Boolean> acceptedElements,
              @SuppressWarnings("unused") PairScore pairBeingMerged,
              @SuppressWarnings("unused"final Object [] moreOptions)
          {
            return new Pair<Integer,String>(expected.paths.tracePathPrefixClosed(question),null);
          }
        };
        Learner learnerB = new RPNIUniversalLearner(null,new LearnerEvaluationConfiguration(null,null,testConfig,null,null))
        {
          @Override
          public Pair<Integer,String> CheckWithEndUser(
              @SuppressWarnings("unused"LearnerGraph model,
              List<Label> question, @SuppressWarnings("unused") int responseForNoRestart,
View Full Code Here

Examples of statechum.analysis.learning.Learner

    public static void main(String[] args) {
        QSMTool tool = new QSMTool();
        tool.loadConfig(args[0]);
        if (tool.showLTL) {
            Learner l = new RPNIUniversalLearner(null, tool.learnerInitConfiguration);
            LTL_to_ba ba = new LTL_to_ba(tool.learnerInitConfiguration.config, tool.learnerInitConfiguration.getLabelConverter());
            if (ba.ltlToBA(tool.learnerInitConfiguration.ifthenSequences, l.init(tool.sPlus, tool.sMinus), true,
                    GlobalConfiguration.getConfiguration().getProperty(GlobalConfiguration.G_PROPERTIES.LTL2BA))) {
                try {
                    LearnerGraph graph = Transform.ltlToIfThenAutomaton(ba.getLTLgraph().pathroutines.buildDeterministicGraph());
                    DirectedSparseGraph gr = graph.pathroutines.getGraph();
                    PathRoutines.convertPairAssociationsToTransitions(gr, graph, tool.learnerInitConfiguration.config,tool.learnerInitConfiguration.getLabelConverter());
View Full Code Here

Examples of statechum.analysis.learning.Learner

                    innerLearner = new ErlangOracleLearner(ErlangOracleVisualiser.this, conf);
                } else {
                    innerLearner = new ErlangOracleLearner(ErlangOracleVisualiser.this, conf);// at this point ifthenSequences will always be null.
                }
                innerLearner.addObserver(ErlangOracleVisualiser.this);
                Learner mainDecorator = new AutoAnswers(innerLearner);
                if (conf.labelDetails != null) {
                    mainDecorator = new SmtLearnerDecorator(mainDecorator, conf.labelDetails);
                }
                if (whomToNotify != null) {
                    whomToNotify.threadStarted();
                }
                LearnerGraph initGraph = mainDecorator.init(sPlus, sMinus);
                initGraph.getLayoutOptions().showNegatives = false;
                LearnerGraph graph = mainDecorator.learnMachine();
                if (graph != null) {
                    DirectedSparseGraph learnt = graph.pathroutines.getGraph();
                    if (conf.config.isGenerateTextOutput()) {
                        OutputUtil.generateTextOutput(learnt, "textOutput.txt");
                    }
View Full Code Here

Examples of statechum.analysis.learning.Learner

    // now sanity checking on the plus and minus sets
    for(String [] path:plus)
      assert AbstractOracle.USER_ACCEPTED == expected.paths.tracePathPrefixClosed(AbstractLearnerGraph.buildList(Arrays.asList(path),testConfig,converter));
    for(String [] path:minus)
      assert AbstractOracle.USER_ACCEPTED != expected.paths.tracePathPrefixClosed(AbstractLearnerGraph.buildList(Arrays.asList(path),testConfig,converter));
    Learner l = new RPNIUniversalLearner(null,new LearnerEvaluationConfiguration(null,null,testConfig,null,null))
    {
      @Override
      public Pair<Integer,String> CheckWithEndUser(
          @SuppressWarnings("unused"LearnerGraph model,
          List<Label> question, @SuppressWarnings("unused") int responseForNoRestart,
          @SuppressWarnings("unused") List<Boolean> acceptedElements,
          @SuppressWarnings("unused") PairScore pairBeingMerged,
          @SuppressWarnings("unused"final Object [] moreOptions)
      {
        return new Pair<Integer,String>(expected.paths.tracePathPrefixClosed(question),null);
      }
    };
    testConfig.setLearnerIdMode(IDMode.POSITIVE_NEGATIVE);
    ByteArrayOutputStream logStream = new ByteArrayOutputStream();
    RecordProgressDecorator recorder = new RecordProgressDecorator(l,logStream,1,testConfig,useZip);
    Collection<List<Label>> testSet = new LinkedList<List<Label>>();
    recorder.writeLearnerEvaluationData(new LearnerEvaluationConfiguration(expected, testSet, testConfig, null, null));
    LearnerGraph learntStructureA = recorder.learnMachine(buildSet(plus,testConfig,converter), buildSet(minus,testConfig,converter));
   
    //System.out.println("compression rate: "+recorder.getCompressionRate());
    //System.out.println(logStream.toString()+"============");
    //System.out.println(logStream.toByteArray().length);
    LearnerGraph learntMachineNoRejects = new LearnerGraph(testConfig);
    AbstractPathRoutines.removeRejectStates(learntStructureA,learntMachineNoRejects);
    Assert.assertNull(WMethod.checkM(learntMachineNoRejects, expected));
   
    switch(kind)
    {
      case RECORDERTEST_SS:
      {// matching two simulators
        final LearnerSimulator
          simulator = new LearnerSimulator(new ByteArrayInputStream(logStream.toByteArray()),useZip,converter),
          simulator2 = new LearnerSimulator(new ByteArrayInputStream(logStream.toByteArray()),useZip,converter);
       
        LearnerEvaluationConfiguration eval1 = simulator.readLearnerConstructionData(testConfig);
        Assert.assertNull(WMethod.checkM(expected, eval1.graph));
        Assert.assertEquals(testSet, eval1.testSet);
        Assert.assertEquals(expected.config, testConfig);
        LearnerEvaluationConfiguration eval2 = simulator2.readLearnerConstructionData(testConfig);
        Assert.assertNull(WMethod.checkM(expected, eval2.graph));
        Assert.assertEquals(testSet, eval2.testSet);
        Assert.assertEquals(expected.config, testConfig);
       
        new Test_LearnerComparator(simulator,simulator2,true).learnMachine(buildSet(plus,testConfig,converter), buildSet(minus,testConfig,converter));
        break;
      }
     
      case RECORDERTEST_SL:
      {// now a simulator to a learner
        final LearnerSimulator simulator = new LearnerSimulator(new ByteArrayInputStream(logStream.toByteArray()),useZip,converter);
        LearnerEvaluationConfiguration eval1 = simulator.readLearnerConstructionData(testConfig);
        Assert.assertNull(WMethod.checkM(expected, eval1.graph));
        Assert.assertEquals(testSet, eval1.testSet);
        Assert.assertEquals(expected.config, testConfig);
 
        Learner learner2 = new RPNIUniversalLearner(null,new LearnerEvaluationConfiguration(null,null,expected.config,null,null))
        {
          @Override
          public Pair<Integer,String> CheckWithEndUser(
              @SuppressWarnings("unused"LearnerGraph model,
              List<Label> question, @SuppressWarnings("unused") int responseForNoRestart,
              @SuppressWarnings("unused") List<Boolean> acceptedElements,
              @SuppressWarnings("unused") PairScore pairBeingMerged,
              @SuppressWarnings("unused"final Object [] moreOptions)
          {
            return new Pair<Integer,String>(expected.paths.tracePathPrefixClosed(question),null);
          }
        };
        new Test_LearnerComparator(learner2,simulator,true).learnMachine(buildSet(plus,testConfig,converter), buildSet(minus,testConfig,converter));
        break;
      }

      case RECORDERTEST_LL:
      {// now two learners
        Learner learnerA = new RPNIUniversalLearner(null,new LearnerEvaluationConfiguration(null,null,testConfig,null,null))
        {
          @Override
          public Pair<Integer,String> CheckWithEndUser(
              @SuppressWarnings("unused"LearnerGraph model,
              List<Label> question, @SuppressWarnings("unused") int responseForNoRestart,
              @SuppressWarnings("unused") List<Boolean> acceptedElements,
              @SuppressWarnings("unused") PairScore pairBeingMerged,
              @SuppressWarnings("unused"final Object [] moreOptions)
          {
            return new Pair<Integer,String>(expected.paths.tracePathPrefixClosed(question),null);
          }
        };
        Learner learnerB = new RPNIUniversalLearner(null,new LearnerEvaluationConfiguration(null,null,testConfig,null,null))
        {
          @Override
          public Pair<Integer,String> CheckWithEndUser(
              @SuppressWarnings("unused"LearnerGraph model,
              List<Label> question, @SuppressWarnings("unused") int responseForNoRestart,
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.