stegemma wrote:
It seems to me that you are exploring my type of GA more than me... and that's why I like to share any new (strange) idea that I have!


, I put on hold on mutation, and instead I am trying to observe the effects of increasing the population and genes.
I am trying now N = 14, genes are also increased.
total_players_to_crossover = N/2 = 7, say 6
then crosssover 1x2, 3x4 and 5x6, so I got 3 crossovers there, then add
top 1 and 2 for last placer for a total of 4 crossovers.
In this version I revised the crossover, from crossover point then go to the left of the chromosome, but same method, this is still single point crossover. From my previous post I define crossover point then go the right of chromosome.
Code: Select all
Population : 14
Target generations : 20
Fitness positions : 45000
Base engine : Deuterium v2015.1.35.239 64bit POP
Parameters or genes considered to optimize fitness of individuals:
Code: Select all
0, PawnValueMg
1, PawnValueEg
2, KnightValueMg
3, KnightValueEg
4, BishopValueMg
5, BishopValueEg
6, RookValueMg
7, RookValueEg
8, QueenValueMg
9, QueenValueEg
10, MidGameMobilityPercent
11, EndGameMobilityPercent
12, OffensivePercent
13, DefensivePercent
Chromosome:
['PawnValueMg', 'PawnValueEg', 'KnightValueMg', 'KnightValueEg', 'BishopValueMg', 'BishopValueEg', 'RookValueMg', 'RookValueEg', 'QueenValueMg', 'QueenValueEg', 'MidGameMobilityPercent', 'EndGameMobilityPercent', 'OffensivePercent', 'DefensivePercent']
Create and initialize individuals:
Code: Select all
name: Manila, par: [105, 93, 337, 340, 322, 349, 505, 519, 1131, 982, 193, 121, 260, 297], aveErrCp 1000.00000
name: Amsterdam, par: [92, 143, 347, 323, 319, 308, 524, 512, 1161, 1149, 158, 157, 251, 287], aveErrCp 1000.00000
name: London, par: [78, 110, 326, 343, 312, 307, 503, 528, 1062, 962, 196, 179, 226, 204], aveErrCp 1000.00000
name: WashingtonDC, par: [90, 98, 311, 301, 300, 343, 490, 502, 1102, 1191, 189, 193, 152, 242], aveErrCp 1000.00000
name: Oslo, par: [93, 90, 329, 339, 346, 314, 521, 486, 984, 1182, 118, 195, 263, 294], aveErrCp 1000.00000
name: Berlin, par: [79, 136, 323, 321, 325, 303, 524, 502, 1110, 1076, 150, 132, 128, 294], aveErrCp 1000.00000
name: Brussels, par: [83, 146, 329, 350, 350, 304, 502, 500, 1020, 1062, 137, 108, 277, 275], aveErrCp 1000.00000
name: Warsaw, par: [84, 100, 301, 321, 327, 310, 521, 510, 955, 1008, 188, 161, 267, 250], aveErrCp 1000.00000
name: Moscow, par: [72, 112, 314, 317, 314, 333, 480, 480, 1147, 1088, 143, 107, 284, 255], aveErrCp 1000.00000
name: Tokyo, par: [78, 134, 348, 309, 346, 308, 507, 496, 1016, 1039, 166, 121, 194, 299], aveErrCp 1000.00000
name: Rome, par: [80, 123, 334, 323, 324, 325, 485, 529, 1060, 1128, 171, 93, 177, 196], aveErrCp 1000.00000
name: Beijing, par: [92, 118, 350, 322, 309, 308, 528, 514, 1063, 1121, 138, 130, 293, 226], aveErrCp 1000.00000
name: Paris, par: [106, 94, 330, 310, 307, 309, 514, 501, 974, 1127, 112, 102, 151, 135], aveErrCp 1000.00000
name: Singapore, par: [73, 129, 350, 342, 340, 333, 519, 503, 1133, 1100, 178, 90, 159, 281], aveErrCp 1000.00000
Sample crossover system after the first generation.
Code: Select all
Fitness completed to all individuals at generation 1
engine sorted by minimum eval aveErrCp:
name: Paris, par: [106, 94, 330, 310, 307, 309, 514, 501, 974, 1127, 112, 102, 151, 135], aveErrCp 116.94172
name: Rome, par: [80, 123, 334, 323, 324, 325, 485, 529, 1060, 1128, 171, 93, 177, 196], aveErrCp 117.46022
name: WashingtonDC, par: [90, 98, 311, 301, 300, 343, 490, 502, 1102, 1191, 189, 193, 152, 242], aveErrCp 119.11082
name: Berlin, par: [79, 136, 323, 321, 325, 303, 524, 502, 1110, 1076, 150, 132, 128, 294], aveErrCp 119.50867
name: Singapore, par: [73, 129, 350, 342, 340, 333, 519, 503, 1133, 1100, 178, 90, 159, 281], aveErrCp 119.85174
name: Tokyo, par: [78, 134, 348, 309, 346, 308, 507, 496, 1016, 1039, 166, 121, 194, 299], aveErrCp 120.10575
name: London, par: [78, 110, 326, 343, 312, 307, 503, 528, 1062, 962, 196, 179, 226, 204], aveErrCp 120.83198
name: Warsaw, par: [84, 100, 301, 321, 327, 310, 521, 510, 955, 1008, 188, 161, 267, 250], aveErrCp 121.67594
name: Moscow, par: [72, 112, 314, 317, 314, 333, 480, 480, 1147, 1088, 143, 107, 284, 255], aveErrCp 122.51106
name: Manila, par: [105, 93, 337, 340, 322, 349, 505, 519, 1131, 982, 193, 121, 260, 297], aveErrCp 122.54671
name: Oslo, par: [93, 90, 329, 339, 346, 314, 521, 486, 984, 1182, 118, 195, 263, 294], aveErrCp 122.57350
name: Brussels, par: [83, 146, 329, 350, 350, 304, 502, 500, 1020, 1062, 137, 108, 277, 275], aveErrCp 122.68520
name: Beijing, par: [92, 118, 350, 322, 309, 308, 528, 514, 1063, 1121, 138, 130, 293, 226], aveErrCp 123.00229
name: Amsterdam, par: [92, 143, 347, 323, 319, 308, 524, 512, 1161, 1149, 158, 157, 251, 287], aveErrCp 123.55571
Crossover name : random crossover 1
first engine : London
second engine : Manila
Crossover the param values of Manila to London
Crossover point at index 1 or PawnValueEg
crossover rate : 0.1
Crossover done!! only param values of London was updated
name: London, par: [105, 93, 326, 343, 312, 307, 503, 528, 1062, 962, 196, 179, 226, 204], aveErrCp 1000.00000
Crossover name : random crossover 2
first engine : Beijing
second engine : Singapore
Crossover the param values of Singapore to Beijing
Crossover point at index 12 or OffensivePercent
crossover rate : 0.7
Crossover done!! only param values of Beijing was updated
name: Beijing, par: [92, 118, 350, 342, 340, 333, 519, 503, 1133, 1100, 178, 90, 159, 226], aveErrCp 1000.00000
Crossover name : random crossover 3
first engine : Warsaw
second engine : Tokyo
Crossover the param values of Tokyo to Warsaw
Crossover point at index 5 or BishopValueEg
crossover rate : 0.4
Crossover done!! only param values of Warsaw was updated
name: Warsaw, par: [78, 134, 348, 309, 346, 308, 521, 510, 955, 1008, 188, 161, 267, 250], aveErrCp 1000.00000
Replace param of last ranked engine (Amsterdam) with random values:
existing param values
name: Amsterdam, par: [92, 143, 347, 323, 319, 308, 524, 512, 1161, 1149, 158, 157, 251, 287], aveErrCp 123.55571
new param values after replacement
name: Amsterdam, par: [70, 108, 337, 304, 306, 312, 507, 481, 996, 1046, 147, 136, 107, 229], aveErrCp 1000.00000
Crossover top 1 and 2 for last ranked (Amsterdam):
top 1: Paris
top 2: Rome
Crossover name : top 1 crossover
first engine : Amsterdam
second engine : Paris
Crossover the param values of Paris to Amsterdam
Crossover point at index 10 or MidGameMobilityPercent
crossover rate : 0.7
Crossover done!! only param values of Amsterdam was updated
name: Amsterdam, par: [106, 94, 330, 310, 307, 309, 514, 501, 974, 1127, 112, 136, 107, 229], aveErrCp 1000.00000
Crossover name : top 2 crossover
first engine : Amsterdam
second engine : Rome
Crossover the param values of Rome to Amsterdam
Crossover point at index 2 or KnightValueMg
crossover rate : 0.1
Crossover done!! only param values of Amsterdam was updated
name: Amsterdam, par: [80, 123, 334, 310, 307, 309, 514, 501, 974, 1127, 112, 136, 107, 229], aveErrCp 1000.00000
The top performers at generation 20 or last generation.
Code: Select all
Fitness completed to all individuals at generation 20
engine sorted by minimum eval aveErrCp:
name: Berlin, par: [80, 123, 320, 308, 319, 328, 500, 529, 1001, 975, 140, 102, 151, 122], aveErrCp 114.54328
name: Paris, par: [80, 123, 320, 323, 324, 325, 485, 529, 1060, 1128, 112, 102, 151, 135], aveErrCp 114.98762
name: Moscow, par: [80, 123, 320, 308, 319, 328, 500, 523, 1194, 1151, 94, 133, 135, 135], aveErrCp 115.09147
name: Warsaw, par: [80, 123, 320, 308, 319, 328, 500, 523, 1194, 1151, 94, 133, 135, 135], aveErrCp 115.09147
name: Beijing, par: [80, 123, 320, 308, 319, 328, 497, 529, 1001, 975, 140, 122, 131, 187], aveErrCp 115.79937
name: Tokyo, par: [80, 123, 320, 308, 319, 328, 497, 529, 1001, 975, 140, 183, 212, 134], aveErrCp 116.35492
name: Singapore, par: [80, 123, 320, 323, 324, 325, 500, 510, 1057, 1195, 92, 197, 109, 220], aveErrCp 116.46940
name: Oslo, par: [80, 123, 320, 308, 319, 328, 497, 529, 1001, 975, 140, 102, 151, 203], aveErrCp 116.64816
name: Rome, par: [80, 123, 320, 308, 319, 328, 500, 523, 1194, 1151, 94, 133, 135, 196], aveErrCp 116.72120
name: WashingtonDC, par: [80, 123, 334, 323, 319, 328, 497, 529, 1001, 975, 140, 90, 159, 242], aveErrCp 118.15606
name: Amsterdam, par: [80, 123, 320, 308, 324, 325, 485, 529, 1060, 1083, 148, 124, 200, 237], aveErrCp 118.30308
name: London, par: [80, 123, 334, 323, 324, 348, 525, 526, 1046, 984, 171, 108, 286, 134], aveErrCp 118.31431
name: Manila, par: [80, 123, 334, 323, 324, 325, 485, 529, 1060, 1128, 112, 102, 155, 259], aveErrCp 118.41741
name: Brussels, par: [80, 123, 334, 323, 324, 348, 525, 526, 1046, 984, 171, 108, 286, 143], aveErrCp 118.44284
History of top performers per generation:
Code: Select all
generation 1, name Paris, par [106, 94, 330, 310, 307, 309, 514, 501, 974, 1127, 112, 102, 151, 135], aveErrCp 116.94172
generation 2, name Paris, par [106, 94, 330, 310, 307, 309, 514, 501, 974, 1127, 112, 102, 151, 135], aveErrCp 116.94172
generation 3, name Paris, par [93, 90, 329, 339, 346, 314, 521, 486, 984, 1182, 112, 102, 151, 135], aveErrCp 116.61102
generation 4, name Paris, par [93, 90, 329, 339, 346, 314, 521, 486, 984, 1182, 112, 102, 151, 135], aveErrCp 116.61102
generation 5, name Paris, par [93, 90, 329, 339, 346, 314, 521, 486, 984, 1182, 112, 102, 151, 135], aveErrCp 116.61102
generation 6, name Paris, par [80, 123, 334, 323, 324, 325, 485, 529, 1060, 1128, 112, 102, 151, 135], aveErrCp 115.14098
generation 7, name Paris, par [80, 123, 334, 323, 324, 325, 485, 529, 1060, 1128, 112, 102, 151, 135], aveErrCp 115.14098
generation 8, name Paris, par [80, 123, 334, 323, 324, 325, 485, 529, 1060, 1128, 112, 102, 151, 135], aveErrCp 115.14098
generation 9, name Paris, par [80, 123, 334, 323, 324, 325, 485, 529, 1060, 1128, 112, 102, 151, 135], aveErrCp 115.14098
generation 10, name Paris, par [80, 123, 334, 323, 324, 325, 485, 529, 1060, 1128, 112, 102, 151, 135], aveErrCp 115.14098
generation 11, name Paris, par [80, 123, 334, 323, 324, 325, 485, 529, 1060, 1128, 112, 102, 151, 135], aveErrCp 115.14098
generation 12, name Paris, par [80, 123, 334, 323, 324, 325, 485, 529, 1060, 1128, 112, 102, 151, 135], aveErrCp 115.14098
generation 13, name Paris, par [80, 123, 334, 323, 324, 325, 485, 529, 1060, 1128, 112, 102, 151, 135], aveErrCp 115.14098
generation 14, name Paris, par [80, 123, 334, 323, 324, 325, 485, 529, 1060, 1128, 112, 102, 151, 135], aveErrCp 115.14098
generation 15, name Paris, par [80, 123, 334, 323, 324, 325, 485, 529, 1060, 1128, 112, 102, 151, 135], aveErrCp 115.14098
generation 16, name Berlin, par [105, 123, 320, 308, 319, 328, 497, 529, 1001, 975, 140, 102, 151, 122], aveErrCp 115.10785
generation 17, name Paris, par [80, 123, 320, 323, 324, 325, 485, 529, 1060, 1128, 112, 102, 151, 135], aveErrCp 114.98762
generation 18, name Berlin, par [80, 123, 320, 308, 319, 328, 500, 529, 1001, 975, 140, 102, 151, 122], aveErrCp 114.54328
generation 19, name Berlin, par [80, 123, 320, 308, 319, 328, 500, 529, 1001, 975, 140, 102, 151, 122], aveErrCp 114.54328
generation 20, name Berlin, par [80, 123, 320, 308, 319, 328, 500, 529, 1001, 975, 140, 102, 151, 122], aveErrCp 114.54328
Top 5 performing individuals at given generation:
Code: Select all
generation 18, name Berlin, par [80, 123, 320, 308, 319, 328, 500, 529, 1001, 975, 140, 102, 151, 122], aveErrCp 114.54328
generation 19, name Berlin, par [80, 123, 320, 308, 319, 328, 500, 529, 1001, 975, 140, 102, 151, 122], aveErrCp 114.54328
generation 20, name Berlin, par [80, 123, 320, 308, 319, 328, 500, 529, 1001, 975, 140, 102, 151, 122], aveErrCp 114.54328
generation 17, name Paris, par [80, 123, 320, 323, 324, 325, 485, 529, 1060, 1128, 112, 102, 151, 135], aveErrCp 114.98762
generation 16, name Berlin, par [105, 123, 320, 308, 319, 328, 497, 529, 1001, 975, 140, 102, 151, 122], aveErrCp 115.10785
Test duration : 00h:17m:17s:862ms
Now look at the history, the average error has been consistently hammered down by Paris and Berlin

.