To prevent spam users, you can only post on this forum after registration, which is by invitation. If you want to post on the forum, please send me a mail (h DOT m DOT w DOT verbeek AT tue DOT nl) and I'll send you an invitation in return for an account.

I think ETM code have some problem

in code \src\org\processmining\plugins\etm file line 78 //Now store ALL the best trees double bestFitness = population.get(0).getFitness(); for (EvaluatedCandidate candidate : population) { if (candidate.getFitness() == bestFitness) { bestResults.add(candidate.getCandidate()); } else { break; } } do you want get a best trees? but I think you just get the first tree,and then you are break;


  • hverbeekhverbeek Posts: 627

    No, assuming that the candidates are sorted on fitness in descending order, you get all best results. The break applies for the first candidate that does not have the best fitness, but then all best results are already added.

    Kind regards,


  • he set the first tree is bestFitness value,and then he loop the population to Calculation the bestFitness,when it is equal to the bestFitness is add it,but does not it will stop,so I think it always add the first tree is stop the loop
  • hverbeekhverbeek Posts: 627
    No, if the first three trees all have the same fitness value, they will all be added, and the loop stops at the fourth tree, as it has another (lower) fitness value.
  • you mean is that we only take the value of the first few trees, but why don't sorted on fitness and take the largest Fitness tree,that is better
  • hverbeekhverbeek Posts: 627
    They ARE sorted on fitness. The best results are those process trees which DO have the largest fitness.
Sign In or Register to comment.