public void FitnessTestCrazy1() { 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));PO>".ParseBpmGenome(); var f1 = fitness.Evaluate(genome1) as BpmSolution; Debug.WriteLine(f1.Fitness); Assert.IsTrue(f0.Fitness > f1.Fitness); }
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 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 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); }