-
Notifications
You must be signed in to change notification settings - Fork 2
GA Script Notes
Below is a sample set of results that were obtained from the simple_ga.py script using 5 iterations. Preceding these results, are the water splitting solutions obtained from the paper.
Paper's Solutions
LiVo3
NaSbO3
MgTaO2N
CaGeO3
CaSnO3
CaTaO2N
SrGeO3
SrSnO3
SrTaO2N
YTaON2
AgNbO3
SnTiO3
CsNbO3
BaGaO2F
BaInO2F
BaSnO3
BaTaO2N
LaTiO2N
LaTaON2
PbGaO2F
Iteration 1
"CaGeO3" : 713,
"SrSnO3" : 834,
"LiVO3" : 3506,
"BaSnO3" : 1384,
"BaGaO2F" : 884,
"MgTaO2N" : 353,
"YTaON2" : 576,
"PbGaO2F" : 4034,
"SrGeO3" : 711,
"LaTaON2" : 588,
"BaInO2F" : 415,
"SrTaO2N" : 359,
"BaTaO2N" : 220,
"CaSnO3" : 591,
"CsNbO3" : 2599,
"LaTiO2N" : 2245,
"SnTiO3" : 3797,
"NaSbO3" : 2126,
"AgNbO3" : 2004,
"CaTaO2N" : 315
Iteration 2
"SrSnO3" : 2119,
"CaGeO3" : 3560,
"LiVO3" : 2562,
"BaSnO3" : 942,
"BaGaO2F" : 72,
"MgTaO2N" : 2650,
"YTaON2" : 3627,
"PbGaO2F" : 333,
"SrGeO3" : 3415,
"LaTaON2" : 3884,
"BaInO2F" : 346,
"SrTaO2N" : 2498,
"BaTaO2N" : 280,
"CaSnO3" : 2956,
"CsNbO3" : 3074,
"SnTiO3" : 894,
"LaTiO2N" : 4116,
"CaTaO2N" : 2320
Iteration 3
"NaSbO3" : 655,
"AgNbO3" : 1492,
"LiVO3" : 2826,
"BaSnO3" : 256,
"MgTaO2N" : 493,
"YTaON2" : 443,
"PbGaO2F" : 245,
"SrGeO3" : 4853,
"LaTaON2" : 307,
"BaInO2F" : 2127,
"SrTaO2N" : 542,
"BaTaO2N" : 416,
"CaSnO3" : 3832,
"CsNbO3" : 1565,
"SnTiO3" : 4783,
"CaGeO3" : 4473,
"LaTiO2N" : 621,
"SrSnO3" : 2152,
"CaTaO2N" : 684
Iteration 4
"CaGeO3" : 554,
"SrSnO3" : 855,
"LiVO3" : 1968,
"BaSnO3" : 796,
"BaGaO2F" : 2609,
"MgTaO2N" : 2803,
"AgNbO3" : 975,
"PbGaO2F" : 3937,
"SrGeO3" : 982,
"NaSbO3" : 1547,
"LaTaON2" : 3148,
"SrTaO2N" : 1133,
"BaTaO2N" : 1322,
"CaSnO3" : 877,
"BaInO2F" : 4513,
"CsNbO3" : 1630,
"SnTiO3" : 237,
"YTaON2" : 4070,
"LaTiO2N" : 503,
"CaTaO2N" : 2754
Iteration 5
"SrSnO3" : 2428,
"CaGeO3" : 4334,
"BaSnO3" : 314,
"BaGaO2F" : 1,
"MgTaO2N" : 1561,
"YTaON2" : 227,
"PbGaO2F" : 437,
"SrGeO3" : 4612,
"LaTaON2" : 164,
"BaInO2F" : 320,
"SrTaO2N" : 807,
"BaTaO2N" : 129,
"CaSnO3" : 2476,
"CsNbO3" : 4723,
"SnTiO3" : 271,
"LaTiO2N" : 3423,
"AgNbO3" : 5555,
"CaTaO2N" : 300
https://github.com/perone/Pyevolve/compare/master...computron:master
This is just a simple outline of the path taken/functions called by the algorithm when executed.
in simple_ga.py unless otherwise specified
1. define functions in simple_ga
2. main_loop_exclusions()
3. process_parallel(all_ps, ncores)
4. map process_parameterset on all_ps
a. IntitializationDB() (database.py)
b. iterates over NUM_ITERATIONS, checking Stats_Database and adding to raw stats (simple_ga.py talking to database.py)
5. run_simulation (each iteration^)
a. prep FitnessEvaluator (fe)
b. set crossover, mutator, evaluator, initializator
c. set selector, termination criteria, pop size, generations with GSimpleGA from pyevolve
6. evolve() (pyevolve — GSimpleGA.py)
a. loop over evolutionary algorithm