| Algorithm 1. Genetic programming. |
| 1: Objective function = PCC(M, D) |
| 2: Encode the solution into a tree (string) |
| 3: Generate the initial population |
| 4: Set crossover (pc) and mutation (pm) probabilities |
| 5: While (t < Max. of generations) |
| 6: Parents selection |
| 7: Crossover with pc |
| 8: Mutation with pm |
| 9: Evaluate offspring |
| 10: Update t = t + 1 |
| 11: End While |
| 12: Decode the results and visualization |