public void FitnessTestCrazy4() { ModelHelper.SetBpmModel(new BpmModel.Builder(ModelHelper.GetBpmModel()).SetAlpha(0.0).Build()); var fitness = new BpmnFitness(false); var genome0 = "<PI;AND(SEQ(a2;a6);SEQ(a3;a7));PO>".ParseBpmGenome(); var f0 = fitness.Evaluate(genome0) as BpmSolution; Debug.WriteLine(f0.Fitness); }
public void FitnessTest() { ModelHelper.SetBpmModel(new BpmModel.Builder(ModelHelper.GetBpmModel()).SetAlpha(0.0).Build()); var fitness = new BpmnFitness(false); // start var genome1 = "<PI;SEQ(a1;SEQ(SEQ(a3;a1;a6);a1);XOR(v[1,5];a8;a7);a1);PO>".ParseBpmGenome(); var f1 = fitness.Evaluate(genome1) as BpmSolution; Debug.WriteLine(f1.Fitness); // move a1 down var genome2 = "<PI;SEQ(SEQ(SEQ(a1;a3;a1;a6);a1);XOR(v[1,5];a8;a7);a1);PO>".ParseBpmGenome(); var f2 = fitness.Evaluate(genome2) as BpmSolution; Debug.WriteLine(f2.Fitness); // remove SEQ var genome3 = "<PI;SEQ(SEQ(a1;a3;a1;a6;a1);XOR(v[1,5];a8;a7);a1);PO>".ParseBpmGenome(); var f3 = fitness.Evaluate(genome3) as BpmSolution; Debug.WriteLine(f3.Fitness); // remove SEQ var genome4 = "<PI;SEQ(a1;a3;a1;a6;a1;XOR(v[1,5];a8;a7);a1);PO>".ParseBpmGenome(); var f4 = fitness.Evaluate(genome4) as BpmSolution; Debug.WriteLine(f4.Fitness); // remove a1 var genome5 = "<PI;SEQ(a1;a3;a1;a6;a1;XOR(v[1,5];a8;a7));PO>".ParseBpmGenome(); var f5 = fitness.Evaluate(genome5) as BpmSolution; Debug.WriteLine(f5.Fitness); // remove a1 var genome6 = "<PI;SEQ(a1;a3;a1;a6;XOR(v[1,5];a8;a7));PO>".ParseBpmGenome(); var f6 = fitness.Evaluate(genome6) as BpmSolution; Debug.WriteLine(f6.Fitness); // remove a1 var genome7 = "<PI;SEQ(a1;a3;a6;XOR(v[1,5];a8;a7));PO>".ParseBpmGenome(); var f7 = fitness.Evaluate(genome7) as BpmSolution; Debug.WriteLine(f7.Fitness); Assert.IsTrue(f1.Fitness == f2.Fitness); Assert.IsTrue(f2.Fitness == f3.Fitness); Assert.IsTrue(f3.Fitness == f4.Fitness); Assert.IsTrue(f4.Fitness < f5.Fitness); Assert.IsTrue(f5.Fitness < f6.Fitness); Assert.IsTrue(f6.Fitness < f7.Fitness); }
public void FitnessBestSolutionTest() { ModelHelper.SetBpmModel(new BpmModel.Builder(ModelHelper.GetBpmModel()).SetAlpha(0.0).Build()); var fitness = new BpmnFitness(false); var genome0 = "<PI;AND(SEQ(a2;a6);SEQ(a3;XOR(v[1,5];a8;a7)));PO>".ParseBpmGenome(); var f0 = fitness.Evaluate(genome0) as BpmSolution; Debug.WriteLine(f0.Fitness); Assert.IsTrue(f0.Fitness == 5333.41); }
public void FitnessSimilar2() { ModelHelper.SetBpmModel(new BpmModel.Builder(ModelHelper.GetBpmModel()).SetAlpha(0.0).Build()); var fitness = new BpmnFitness(false); var genome0 = "<PI;SEQ(a1;a3;a6;XOR(v[1,5];a8;a7));PO>".ParseBpmGenome(); var f0 = fitness.Evaluate(genome0) as BpmSolution; Debug.WriteLine(f0.Fitness); var genome1 = "<PI;SEQ(a1;a3;a6;XOR(v[1,5];a8;XOR(v[1,5];a8;a7)));PO>".ParseBpmGenome(); var f1 = fitness.Evaluate(genome1) as BpmSolution; Debug.WriteLine(f1.Fitness); Assert.AreEqual(f0.Fitness, f1.Fitness); }
public void FitnessTestCrazy2() { ModelHelper.SetBpmModel(new BpmModel.Builder(ModelHelper.GetBpmModel()).SetAlpha(0.0).Build()); var fitness = new BpmnFitness(false); var genome0 = "<PI;AND(SEQ(a2;a6);SEQ(a3;XOR(v[1,5];a8;a7)));PO>".ParseBpmGenome(); var f0 = fitness.Evaluate(genome0) as BpmSolution; Debug.WriteLine(f0.Fitness); var genome1 = "<PI;SEQ(a1;SEQ(a1;a6;a3;XOR(v[1,5];a6;a7));a3;XOR(v[1,5];a8;a7);XOR(v[1,3];));PO>" .ParseBpmGenome(); var f1 = fitness.Evaluate(genome1) as BpmSolution; Debug.WriteLine(f1.Fitness); Assert.IsTrue(f0.Fitness > f1.Fitness); }
public void FitnessSimilar1() { ModelHelper.SetBpmModel(new BpmModel.Builder(ModelHelper.GetBpmModel()).SetAlpha(0.0).Build()); var fitness = new BpmnFitness(false); var genome0 = "<PI;SEQ(SEQ(a2);a6;SEQ(a3;XOR(v[1,5];a8;a7)));PO>".ParseBpmGenome(); var f0 = fitness.Evaluate(genome0) as BpmSolution; Debug.WriteLine(f0.Fitness); var genome1 = "<PI;SEQ(a2;a6;a3;XOR(v[1,5];a8;a7));PO>".ParseBpmGenome(); var f1 = fitness.Evaluate(genome1) as BpmSolution; Debug.WriteLine(f1.Fitness); var genome2 = "<PI;AND(SEQ(AND(a2);a6);SEQ(AND(a3);XOR(v[1,5];AND(a8);a7)));PO>".ParseBpmGenome(); var f2 = fitness.Evaluate(genome2) as BpmSolution; Debug.WriteLine(f2.Fitness); Assert.IsTrue(f0.Fitness == f1.Fitness); Assert.IsTrue(f1.Fitness == f2.Fitness); }
public void FitnessSimilarPaperGenome() { ModelHelper.SetBpmModel(new BpmModel.Builder(ModelHelper.GetBpmModel()).SetAlpha(0.05).Build()); var fitness = new BpmnFitness(false); var genome0 = "<PI;AND(SEQ(a2;a6);SEQ(a3;XOR(v[1,5];a8;a7)));PO>".ParseBpmGenome(); var f0 = fitness.Evaluate(genome0) as BpmSolution; Debug.WriteLine(f0.Fitness); var genome1 = "<PI;AND(SEQ(a1;a6);SEQ(a4;XOR(v[1,5];a8;a7)));PO>".ParseBpmGenome(); var f1 = fitness.Evaluate(genome1) as BpmSolution; Debug.WriteLine(f1.Fitness); var genome2 = "<PI;AND(SEQ(a1;a5);SEQ(XOR(v[1,3];a4;a3);XOR(v[1,5];a8;a7)));PO>".ParseBpmGenome(); var f2 = fitness.Evaluate(genome2) as BpmSolution; Debug.WriteLine(f2.Fitness); var genome3 = "<PI;AND(SEQ(a1;a5);SEQ(a4;XOR(v[1,5];a8;a7)));PO>".ParseBpmGenome(); var f3 = fitness.Evaluate(genome3) as BpmSolution; Debug.WriteLine(f3.Fitness); var genome4 = "<PI;AND(SEQ(XOR(v[1,2];a1;a2);a5);SEQ(XOR(v[1,4];a3;a4);XOR(v[1,5];a8;a7)));PO>" .ParseBpmGenome(); var f4 = fitness.Evaluate(genome4) as BpmSolution; Debug.WriteLine(f4.Fitness); Assert.IsTrue(f0.Fitness > f1.Fitness); Assert.IsTrue(f1.Fitness > f2.Fitness); Assert.IsTrue(f2.Fitness > f3.Fitness); Assert.IsTrue(f3.Fitness > f4.Fitness); }
public void FitnessTestMasse() { string[] array = { "<PI;SEQ(a1;SEQ(XOR(v[1,5];a5;a6);a4;AND(a6;a6;a1;XOR(v[1,4];a8;a7));a6);XOR(v[1,2];SEQ(AND(a7;AND(a7;a7;a7);a7));AND(AND(a1);a5;a1;a1)));PO>", "<PI;SEQ(a1;a3;a6;SEQ(XOR(v[1,5];a8;a7);a4));PO>", "<PI;SEQ(a4;SEQ(a2;a5;XOR(v[1,5];a8;SEQ(a7;a4)));a5;a5);PO>", "<PI;AND(SEQ(a3;a1;a6);SEQ(SEQ(a2;SEQ(a3;a6;a2;XOR(v[1,5];a8;a7));a2;a4);a3;a2;XOR(v[1,4];a1)));PO>", "<PI;SEQ(a3;SEQ(a1;AND(XOR(v[1,5];a8;a7));a5;a3));PO>", "<PI;SEQ(a2;SEQ(SEQ(SEQ(a6;a4;a5;a2);a4;a1;a6);a2;a2);a2;AND(SEQ(AND(SEQ(a3;a2;a5);a5;XOR(v[1,5];a8;a7));a3);a6));PO>", "<PI;SEQ(a3;SEQ(a1;a6;a4;SEQ(SEQ(AND(a1;a1;a6;a2));a6;a1));XOR(v[1,5];a8;a7));PO>", "<PI;SEQ(SEQ(a1;AND(a6;a3;a3;XOR(v[1,5];a4;SEQ(a3;a5;a7)));SEQ(a4;a5;a1;a4);a3);SEQ(AND(SEQ(a4;XOR(v[1,3];a7;a2);a4;XOR(v[1,1];a7)));SEQ(a5)));PO>", "<PI;SEQ(a3;a2;a6;AND(a6;XOR(v[1,1];SEQ(AND(a7;a7;a7;a7);a7);XOR(v[1,5];a8;AND(a7;a7;a7;a7)));a6));PO>", "<PI;SEQ(SEQ(a1);a5;a3;XOR(v[1,4];a7;XOR(v[1,5];SEQ(XOR(v[1,5];a8);SEQ(a4;a8;a3));a7)));PO>", "<PI;SEQ(a4;a2;a6;AND(XOR(v[1,5];a8;a7);a6;AND(SEQ(a1;a5))));PO>", "<PI;SEQ(a1;a3;XOR(v[1,3];a5;a5);AND(XOR(v[1,5];a8;a7);AND(a5;SEQ(a3;a4;a5;AND(a6;a1;a2));a1);a2;AND(a1;SEQ(a5;a5;a6);XOR(v[1,3];a7;a3))));PO>", "<PI;AND(a1;a3;SEQ(a1;a5;a3;XOR(v[1,5];a8;a7));XOR(v[1,4];XOR(v[1,4];a2;SEQ(a1;AND(a3;a5;a4);AND(a3;a6);a4))));PO>", "<PI;SEQ(SEQ(XOR(v[1,4];a4;a3);XOR(v[1,5];SEQ(a1;a5;a8);AND(a1;SEQ(a1);SEQ(a7;a1;a6;a6);a2));AND(a2;a4;a4));a2);PO>", "<PI;AND(a3;SEQ(a2;a6;XOR(v[1,5];SEQ(XOR(v[1,5];a4;a4));a4);XOR(v[1,5];a8;SEQ(a7;a6;XOR(v[1,3];a6);a6)));a2);PO>", "<PI;SEQ(XOR(v[1,2];a3;a3);a1;SEQ(a6;AND(a3);XOR(v[1,5];SEQ(SEQ(a8);XOR(v[1,5];a1;a5));AND(a7));a4));PO>", "<PI;SEQ(a1;SEQ(XOR(v[1,5];a5;a6);a4;AND(a6;a6;a1;XOR(v[1,5];a8;a7));a6);XOR(v[1,2];SEQ(AND(a7;AND(a7;a7;a7);a7));AND(AND(a1);a5;a1;a1)));PO>", "<PI;AND(a4;SEQ(SEQ(a4);a1;SEQ(AND(XOR(v[1,5];a8;a7);a6);a6;a4);a5));PO>", "<PI;SEQ(SEQ(a1;SEQ(AND(XOR(v[1,4];a4);a5;a4;XOR(v[1,1];a4;a6));SEQ(a6;a4;AND(a1;a1);a1);a3);a3;SEQ(a2;a3));SEQ(SEQ(a4;XOR(v[1,5];a8;a7);AND(a1;a5;a5;a4);SEQ(a4)));a6;SEQ(AND(SEQ(a5;SEQ(a2));a2;a6;AND(a6;a4;a1;a6));a6));PO>", "<PI;SEQ(a4;SEQ(a2;AND(SEQ(AND(a5;a6);a6);a6;SEQ(XOR(v[1,5];a5;a7);a4));a6;XOR(v[1,3];a7));a1);PO>", "<PI;AND(SEQ(SEQ(a3;XOR(v[1,5];a1;SEQ(a2;a7;a5)));AND(a2;a5);SEQ(AND(SEQ(a4;a4;a2;a6);AND(a4))));a3;SEQ(SEQ(a4;a1;AND(SEQ(a6);SEQ(a5;a6);a5;a6);a6);SEQ(a2;a1;XOR(v[1,2];a7;a4)));a2);PO>", "<PI;SEQ(a3;AND(SEQ(a1;SEQ(a5;XOR(v[1,5];a8;a7);a4));AND(a1;a2;a1;a2));a1);PO>", "<PI;SEQ(SEQ(a2;AND(a6;a4));a3;XOR(v[1,3];a5;a6);XOR(v[1,5];a8;a7));PO>", "<PI;SEQ(a1;SEQ(a5;a4;a5);AND(a5;a1;a5;XOR(v[1,5];a8;SEQ(a7;a1;a5;SEQ(a6;a3;a6)))));PO>", "<PI;SEQ(a4;SEQ(a1;XOR(v[1,3];a5;a6);SEQ(a2;a4;XOR(v[1,5];XOR(v[1,5];a8;a8);a7);SEQ(a4;a1;a3;a5))));PO>", "<PI;SEQ(a3;SEQ(a1;a5);SEQ(SEQ(a5;AND(a4;a5));SEQ(XOR(v[1,5];a8;a7);AND(a2;a5;a1;a6));XOR(v[1,5];XOR(v[1,5];SEQ(a5;a2;a6))));a4);PO>", "<PI;SEQ(a3;AND(a2;SEQ(a1;SEQ(AND(a5;a5);XOR(v[1,3];a5));SEQ(a6;a5;a4;XOR(v[1,5];a8;a7)));a2));PO>", "<PI;SEQ(a3;AND(XOR(v[1,3];a1;SEQ(AND(a2;a1;a2;a2);a2));a1);a1;XOR(v[1,5];SEQ(AND(a5;a8);a6;a8;a5);SEQ(a5;SEQ(XOR(v[1,3];a7));SEQ(a7;a7;a4))));PO>", "<PI;SEQ(a2;SEQ(XOR(v[1,3];a6;a6);a4;a2;XOR(v[1,5];a8;a7)));PO>", "<PI;AND(a1;AND(SEQ(a1;AND(AND(a3);SEQ(a3;a6;a4);a6;a3);a6;a3));a3;AND(SEQ(XOR(v[1,1];a4;XOR(v[1,2];a3;a3));SEQ(a1;a6;a3);a5;XOR(v[1,5];a8;a7))));PO>", "<PI;SEQ(a2;a5;AND(a3;a3);SEQ(a3;a6;a5;SEQ(XOR(v[1,5];XOR(v[1,5];a8;a7);a7))));PO>", "<PI;SEQ(a3;AND(a1;XOR(v[1,4];XOR(v[1,4];a7);a1);XOR(v[1,5];AND(XOR(v[1,5];a8);a2;a2);XOR(v[1,4];a7));a2);SEQ(a2;a5;a6);XOR(v[1,5];a8;a7));PO>", "<PI;SEQ(a3;SEQ(XOR(v[1,3];a1;a1));a5;AND(a4;AND(SEQ(SEQ(a2;a2;a5;a5);XOR(v[1,5];a8;a7);a4);a5;a5;SEQ(a3;XOR(v[1,2];a7;a3);SEQ(a6;a2;a4;a6)));a1;a5));PO>", "<PI;AND(AND(a4;a2;a4);a3;SEQ(a4;XOR(v[1,1];a1;a2);XOR(v[1,4];a6);AND(AND(AND(a2;a4;a2;a3);XOR(v[1,4];a7;a6);XOR(v[1,4];a7));a5));SEQ(a3;a1;a5;AND(SEQ(a3;XOR(v[1,5];a8;a7));AND(a5;a2);XOR(v[1,5];SEQ(a8);a7))));PO>", "<PI;SEQ(a2;SEQ(a3;AND(a5;XOR(v[1,5];a8;SEQ(a6;a7;a3)));a5;XOR(v[1,1];a7));AND(a4);a1);PO>", "<PI;SEQ(a1;SEQ(XOR(v[1,3];a6;a6);a4);a4;XOR(v[1,5];AND(a8;a8;SEQ(a8);a8);a7));PO>", "<PI;SEQ(a4;a1;a6;SEQ(a1;AND(SEQ(a4;a3;AND(a3;a3;a6;a5);XOR(v[1,5];a8;a7));a2;XOR(v[1,1];XOR(v[1,1];a7;a7)));a1));PO>", "<PI;AND(a3;SEQ(a2;a5;a4;AND(a2;SEQ(XOR(v[1,5];a8;a7);a5;a6;a3);a6));a1);PO>", "<PI;SEQ(a3;a2;a6;SEQ(XOR(v[1,5];a8;SEQ(a7;SEQ(a6;a4;a5;a1);a3;a2));a6;a6));PO>", "<PI;SEQ(a3;a1;AND(AND(SEQ(a5;XOR(v[1,5];a8;a7));a5;XOR(v[1,4];a7);AND(a5))));PO>", "<PI;SEQ(XOR(v[1,2];a2;AND(AND(AND(a2);AND(a4;a1);SEQ(a3;a1;a6));a3));a3;a5;AND(AND(SEQ(a2;a1;a1;a4);a1;a4;a1);a1;SEQ(a1;XOR(v[1,5];a8;a7);a3;a5);AND(SEQ(a1;SEQ(a6;a2));a6)));PO>", "<PI;AND(a2;AND(a4;SEQ(SEQ(a3);a2;a6);SEQ(a2));SEQ(AND(a3;XOR(v[1,5];SEQ(a2;a6;a3;a8);SEQ(a3;a7)));a4);a3);PO>", "<PI;SEQ(a2;SEQ(a5;a3;XOR(v[1,1];a7;a6));XOR(v[1,5];AND(a2;XOR(v[1,5];SEQ(a4;a2;a5;a1);a5);a2);a7));PO>", "<PI;AND(SEQ(a4;SEQ(a1;a5;a5);SEQ(XOR(v[1,1];a7;XOR(v[1,5];a8;a7));SEQ(a1;a6)));a1;a4;AND(a1;XOR(v[1,1];a2;a3);SEQ(a1;a6)));PO>", "<PI;SEQ(a4;a1;a6;SEQ(XOR(v[1,5];a8;a7);XOR(v[1,1];a5;a3);SEQ(a6;a4;a2;a1)));PO>", "<PI;SEQ(a1;SEQ(a5;SEQ(a3));XOR(v[1,5];a8;SEQ(a7;a1;a4)));PO>", "<PI;SEQ(a3;AND(AND(a2;XOR(v[1,5];a8;a1);a1;a2);a2;SEQ(a2;a5;XOR(v[1,5];a8;XOR(v[1,1];a7;a7))));a2;a5);PO>", "<PI;AND(SEQ(SEQ(SEQ(a1;a3;a6);a1;XOR(v[1,5];a8;AND(a7;a7;a7));AND(a5;XOR(v[1,4];a7;a4)));a5;SEQ(a2;SEQ(a5;a4;SEQ(a2;a6);XOR(v[1,1];a6));a2));SEQ(XOR(v[1,5];AND(a1);SEQ(a2;AND(a3))));a1);PO>", "<PI;AND(SEQ(SEQ(a2;a3);a5;XOR(v[1,5];XOR(v[1,5];SEQ(a8);SEQ(a8;a7;a5));a7));a3;a3;AND(a1));PO>", "<PI;SEQ(a4;XOR(v[1,5];SEQ(a1;SEQ(a8));SEQ(a1;SEQ(a6;a7;a3;SEQ(a7;a6));a2));a5);PO>", "<PI;AND(AND(a1;a1;AND(a4;a4;SEQ(a2;a3;SEQ(a5));a4));a4;a3;SEQ(SEQ(a1;SEQ(a3;a5);XOR(v[1,5];XOR(v[1,5];a8;a8);a7));a6));PO>", "<PI;SEQ(SEQ(a1;a3;a5);a4;AND(a1;AND(XOR(v[1,5];a8)));XOR(v[1,5];SEQ(a8;a8;a1);a7));PO>", "<PI;SEQ(a3;a2;AND(a5;a6;SEQ(XOR(v[1,3];a5);XOR(v[1,3];a7)));AND(AND(XOR(v[1,5];SEQ(a8;a6;a8);XOR(v[1,1];a7;a7));a5);SEQ(a5;a4);XOR(v[1,2];AND(SEQ(a7;a6);a7;a7;AND(a5;a6;a5;a5)))));PO>", "<PI;SEQ(a2;AND(a6;a4;a6);SEQ(a5;a4);AND(a1;AND(a4;a5;a6;a6);XOR(v[1,2];a7;XOR(v[1,5];a8;a7))));PO>", "<PI;AND(SEQ(SEQ(XOR(v[1,4];SEQ(a3;a1;a7;a6));a3;XOR(v[1,5];XOR(v[1,5];a5;a8);a7);a3);a2;a3);AND(AND(a1;a1;a2);XOR(v[1,1];a3;a2);a4;SEQ(a1));SEQ(a3;a1;a6;a6));PO>", "<PI;AND(SEQ(a1;a4;a6;SEQ(XOR(v[1,5];XOR(v[1,5];a8;a7);AND(a7;a7;a7))));a3;SEQ(a2;a5;a3);a3);PO>", "<PI;AND(XOR(v[1,1];a4);a2;AND(a3;SEQ(SEQ(AND(a2;a4);SEQ(a3;a2;a5;a2);XOR(v[1,5];a8;a7));AND(a4;XOR(v[1,2];a3);a2;AND(a5));a4);a4));PO>", "<PI;SEQ(a2;a3;SEQ(AND(a5;a5;a6;a6);a5;XOR(v[1,5];a8;a7);a1);XOR(v[1,4];a1));PO>", "<PI;SEQ(AND(a4);SEQ(SEQ(a3;a2);AND(SEQ(AND(a5);XOR(v[1,5];a8;a7);SEQ(a6;a4;a1);AND(a5;a3;a5)));SEQ(SEQ(XOR(v[1,5];a8;a7);a5);a1;a4);a3);a1);PO>", "<PI;AND(a2;AND(a2;AND(a2;a2;a4;a1));SEQ(a2;a6;a4;XOR(v[1,5];a8;a7));a3);PO>", "<PI;SEQ(a1;a6;a3;SEQ(a1;SEQ(a6);XOR(v[1,1];SEQ(a7;XOR(v[1,1];a7;a6));XOR(v[1,5];a8;a7));a2));PO>", "<PI;AND(SEQ(a1;a5;SEQ(a4;SEQ(AND(a4;a4);SEQ(a3;a1);AND(a6;a5));SEQ(a4;XOR(v[1,5];a8;a7)));a2);SEQ(a3;AND(a2;a2;AND(a2;a2;a1;XOR(v[1,5];a8)))));PO>", "<PI;SEQ(a1;AND(a6;a3;SEQ(a5;a3;XOR(v[1,5];a8;a7)));a4;XOR(v[1,1];XOR(v[1,1];a6)));PO>", "<PI;SEQ(a1;a3;a6;AND(a6;SEQ(SEQ(a5;a4;a4;a5);XOR(v[1,5];a8;AND(a7;a7;a7)));a2));PO>", "<PI;SEQ(a2;a6;a3;AND(SEQ(a6;a2;a5);AND(AND(AND(a1;a1);a1;a1;XOR(v[1,5];a8;a7));a5;a1;a2)));PO>", "<PI;SEQ(SEQ(AND(a2);a3;a1;a5);a5;XOR(v[1,2];a7;XOR(v[1,5];AND(a8;AND(a8;a8;a8;a8));a7)));PO>", "<PI;SEQ(AND(a1);SEQ(a4;AND(a2;XOR(v[1,2];a1;XOR(v[1,3];a2));XOR(v[1,5];SEQ(a8;a1;a6);a7));a1;a6);a1;AND(AND(a1)));PO>", "<PI;SEQ(a3;SEQ(a1;a6;SEQ(XOR(v[1,5];SEQ(a8);a7);a5;a6));a1);PO>", "<PI;SEQ(SEQ(a1;a6;a4;SEQ(a2;a5;a3));SEQ(AND(a2;XOR(v[1,4];XOR(v[1,4];a7;a7);a6);a1);XOR(v[1,5];a8;XOR(v[1,1];a7;a7));AND(a4;a5)));PO>", "<PI;SEQ(a1;a6;a4;XOR(v[1,5];a8;AND(AND(a7;a7;a7);a7)));PO>", "<PI;AND(AND(a1;AND(a3);a1);SEQ(AND(SEQ(a1);a1;AND(a3;SEQ(a1;a6;a3;a5);SEQ(a3);XOR(v[1,5];a4));a2);SEQ(a3;a2;SEQ(a6;a5;a1);a1);SEQ(a4;SEQ(AND(a4;a3);a3;a3;a3));AND(XOR(v[1,5];SEQ(a8;a4);a7)));SEQ(a3);a3);PO>", "<PI;SEQ(a3;SEQ(a2;a5;AND(a5;a1;SEQ(SEQ(a5;a4);XOR(v[1,5];a8;a7));SEQ(a2;a6;a3));a5);XOR(v[1,1];a7);a1);PO>", "<PI;SEQ(AND(AND(a2;SEQ(a3;a2);SEQ(a2;SEQ(a4;a5);a3;AND(a6;a5;a5;a5)));SEQ(a3;a1);a4);SEQ(SEQ(a4;a2);a5);a6;XOR(v[1,5];a8;a7));PO>", "<PI;AND(SEQ(a1;SEQ(a5);a4;SEQ(a5;XOR(v[1,5];a8;AND(a7;a7;a7));a1));a1);PO>", "<PI;SEQ(a1;a4;AND(a6;AND(a5;AND(a6);XOR(v[1,5];a8;a7));SEQ(a6;SEQ(XOR(v[1,1];a7);AND(a6;a1;a2;a4);a6;a2);AND(a6;XOR(v[1,2];a6;a4);AND(a5;a2;a2);XOR(v[1,4];a5))));AND(AND(a6;a5;a5;a6);SEQ(XOR(v[1,2];XOR(v[1,2];a7);a6);a6;a2;a4)));PO>", "<PI;SEQ(a3;a2;a5;XOR(v[1,5];a8;AND(a7)));PO>", "<PI;SEQ(SEQ(a3;a1;a6;a6);AND(a2;AND(a1;a5;a2));SEQ(XOR(v[1,5];AND(a8);a7);a4));PO>", "<PI;AND(AND(AND(AND(SEQ(a2;a4;a5));a4));SEQ(SEQ(a1;a3);SEQ(SEQ(a6;a1);SEQ(a5;a4;XOR(v[1,5];a8;a7));a4;a5);a6;a6);a3);PO>", "<PI;SEQ(SEQ(a1;a5;a4;a6);AND(a4;a1;AND(AND(a1;AND(a4;a2;a4);a3;XOR(v[1,1];a7;a1));AND(a1);a4));a5;AND(SEQ(a4;a6);SEQ(XOR(v[1,5];a8);a3);a1;AND(XOR(v[1,5];a8;a7);SEQ(a2;a5;AND(a5));a6;a6)));PO>", "<PI;SEQ(a2;a6;a3;AND(a4;SEQ(SEQ(XOR(v[1,5];a8;a7);SEQ(a5;a5;a2;a1);a6;a5);AND(XOR(v[1,1];a3;a5);AND(a1;a3);a6;a3);a3;SEQ(a6;AND(a6;a5;a4);a5;AND(a6;a6;a1;a2)));a1;a2));PO>", "<PI;SEQ(a3;SEQ(a2;AND(a6);SEQ(a6;AND(a6));XOR(v[1,5];a8;a7)));PO>", "<PI;SEQ(SEQ(a3;a2;a5;XOR(v[1,5];AND(a8);a7));a5;a6;SEQ(AND(a4)));PO>", "<PI;AND(a3;SEQ(SEQ(a1;AND(a3;AND(a4;a6;a4);a6;a6);a3);a5;a1;SEQ(XOR(v[1,5];a8;SEQ(a7;a3));a3;a1;a5));a1;a2);PO>", "<PI;SEQ(a2;a4;a5;XOR(v[1,5];a8;a7));PO>", "<PI;SEQ(a4;a1;a5;XOR(v[1,3];AND(AND(a7;a7;a7;a7));AND(a3;a6;a5;XOR(v[1,5];a8;a7))));PO>" }; foreach (var s in array) { var g = s.ParseBpmGenome(); var so = new BpmnFitness().Evaluate(g) as BpmSolution; Debug.WriteLine(so.EvaluationTime + "\t" + s); } }