[6152] | 1 | # Copyright 2006 by Sean Luke and George Mason University |
---|
| 2 | # Licensed under the Academic Free License version 3.0 |
---|
| 3 | # See the file "LICENSE" for more information |
---|
| 4 | |
---|
| 5 | # |
---|
| 6 | # The following is an example of Inter-subpopulation exchange |
---|
| 7 | # within the same process, using three subpopulations, |
---|
| 8 | # with the GP Ant example. In the example below, we've set |
---|
| 9 | # up three subpopulations, and the exchange is as follows: |
---|
| 10 | # subpop 0 sends inds to subpops 1 and 2, subpop 1 sends |
---|
| 11 | # inds to subpop 2, and subpop 2 sends inds to subpop 0. |
---|
| 12 | # All three subpops start exchanging immediately (after |
---|
| 13 | # population initialization) and thereafter send every two |
---|
| 14 | # generations. They exchange 3 individuals each. |
---|
| 15 | # |
---|
| 16 | # If you're looking instead for multi-process, network island |
---|
| 17 | # models, see the 3-Island and 8-Island examples |
---|
| 18 | # |
---|
| 19 | |
---|
| 20 | parent.0 = ../app/ant/ant.params |
---|
| 21 | |
---|
| 22 | pop.subpops = 3 |
---|
| 23 | |
---|
| 24 | pop.subpop.0 = ec.Subpopulation |
---|
| 25 | pop.subpop.0.size = 200 |
---|
| 26 | pop.subpop.0.species = ec.gp.GPSpecies |
---|
| 27 | pop.subpop.0.species.fitness = ec.gp.koza.KozaFitness |
---|
| 28 | pop.subpop.0.species.ind = ec.gp.GPIndividual |
---|
| 29 | pop.subpop.0.duplicate-retries = 100 |
---|
| 30 | pop.subpop.0.species.ind.numtrees = 1 |
---|
| 31 | pop.subpop.0.species.ind.tree.0 = ec.gp.GPTree |
---|
| 32 | pop.subpop.0.species.ind.tree.0.tc = tc0 |
---|
| 33 | pop.subpop.0.species.pipe = ec.breed.MultiBreedingPipeline |
---|
| 34 | pop.subpop.0.species.pipe.generate-max = false |
---|
| 35 | pop.subpop.0.species.pipe.num-sources = 2 |
---|
| 36 | pop.subpop.0.species.pipe.source.0 = ec.gp.koza.CrossoverPipeline |
---|
| 37 | pop.subpop.0.species.pipe.source.0.prob = 0.9 |
---|
| 38 | pop.subpop.0.species.pipe.source.1 = ec.breed.ReproductionPipeline |
---|
| 39 | pop.subpop.0.species.pipe.source.1.prob = 0.1 |
---|
| 40 | |
---|
| 41 | pop.subpop.1 = ec.Subpopulation |
---|
| 42 | pop.subpop.1.size = 200 |
---|
| 43 | pop.subpop.1.species = ec.gp.GPSpecies |
---|
| 44 | pop.subpop.1.species.fitness = ec.gp.koza.KozaFitness |
---|
| 45 | pop.subpop.1.species.ind = ec.gp.GPIndividual |
---|
| 46 | pop.subpop.1.duplicate-retries = 100 |
---|
| 47 | pop.subpop.1.species.ind.numtrees = 1 |
---|
| 48 | pop.subpop.1.species.ind.tree.0 = ec.gp.GPTree |
---|
| 49 | pop.subpop.1.species.ind.tree.0.tc = tc0 |
---|
| 50 | pop.subpop.1.species.pipe = ec.breed.MultiBreedingPipeline |
---|
| 51 | pop.subpop.1.species.pipe.generate-max = false |
---|
| 52 | pop.subpop.1.species.pipe.num-sources = 2 |
---|
| 53 | pop.subpop.1.species.pipe.source.0 = ec.gp.koza.CrossoverPipeline |
---|
| 54 | pop.subpop.1.species.pipe.source.0.prob = 0.9 |
---|
| 55 | pop.subpop.1.species.pipe.source.1 = ec.breed.ReproductionPipeline |
---|
| 56 | pop.subpop.1.species.pipe.source.1.prob = 0.1 |
---|
| 57 | |
---|
| 58 | pop.subpop.2 = ec.Subpopulation |
---|
| 59 | pop.subpop.2.size = 200 |
---|
| 60 | pop.subpop.2.species = ec.gp.GPSpecies |
---|
| 61 | pop.subpop.2.species.fitness = ec.gp.koza.KozaFitness |
---|
| 62 | pop.subpop.2.species.ind = ec.gp.GPIndividual |
---|
| 63 | pop.subpop.2.duplicate-retries = 100 |
---|
| 64 | pop.subpop.2.species.ind.numtrees = 1 |
---|
| 65 | pop.subpop.2.species.ind.tree.0 = ec.gp.GPTree |
---|
| 66 | pop.subpop.2.species.ind.tree.0.tc = tc0 |
---|
| 67 | pop.subpop.2.species.pipe = ec.breed.MultiBreedingPipeline |
---|
| 68 | pop.subpop.2.species.pipe.generate-max = false |
---|
| 69 | pop.subpop.2.species.pipe.num-sources = 2 |
---|
| 70 | pop.subpop.2.species.pipe.source.0 = ec.gp.koza.CrossoverPipeline |
---|
| 71 | pop.subpop.2.species.pipe.source.0.prob = 0.9 |
---|
| 72 | pop.subpop.2.species.pipe.source.1 = ec.breed.ReproductionPipeline |
---|
| 73 | pop.subpop.2.species.pipe.source.1.prob = 0.1 |
---|
| 74 | |
---|
| 75 | exch = ec.exchange.InterPopulationExchange |
---|
| 76 | |
---|
| 77 | exch.subpop.0.select = ec.select.TournamentSelection |
---|
| 78 | exch.subpop.0.mod = 2 |
---|
| 79 | exch.subpop.0.start = 0 |
---|
| 80 | exch.subpop.0.size = 3 |
---|
| 81 | exch.subpop.0.num-dest = 2 |
---|
| 82 | exch.subpop.0.dest.0 = 1 |
---|
| 83 | exch.subpop.0.dest.1 = 2 |
---|
| 84 | |
---|
| 85 | exch.subpop.1.select = ec.select.TournamentSelection |
---|
| 86 | exch.subpop.1.mod = 2 |
---|
| 87 | exch.subpop.1.start = 0 |
---|
| 88 | exch.subpop.1.size = 3 |
---|
| 89 | exch.subpop.1.num-dest = 1 |
---|
| 90 | exch.subpop.1.dest.0 = 2 |
---|
| 91 | |
---|
| 92 | exch.subpop.2.select = ec.select.TournamentSelection |
---|
| 93 | exch.subpop.2.mod = 2 |
---|
| 94 | exch.subpop.2.start = 0 |
---|
| 95 | exch.subpop.2.size = 3 |
---|
| 96 | exch.subpop.2.num-dest = 1 |
---|
| 97 | exch.subpop.2.dest.0 = 0 |
---|
| 98 | |
---|