ELO computation changes

pier4r
Skynet
Skynet
Posts: 3389

Re: ELO computation changes

Post#21 » 29 Nov 2016, 23:39

Flash update (I really need to refactor the code, for the moment I'm copying and pasting functions to make a quick check).

results analyzed if both players over 1200:12637
correct_expected_results_over1200_int:7873
ratio: 0.62

Interesting that if both players are over 1200, the elo predicts a tiny bit less the result. Another interesting question is: given the elo delta between player, how does the elo prediction works? More in the next days hopefully.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

pier4r
Skynet
Skynet
Posts: 3389

Re: ELO computation changes

Post#22 » 29 Nov 2016, 23:43

side note: gfx would be possible to have a dataset dump every now and then (would be awesome) or was it a Christmas present this time?
Last edited by pier4r on 30 Nov 2016, 08:28, edited 1 time in total.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

User avatar
GFX47
Dev
Dev
Posts: 2914

Re: ELO computation changes

Post#23 » 30 Nov 2016, 00:29

I can do it again, no problem.
Just remind me here ;)
Thanks for your analysis!

Christian
Algorithm
Algorithm
Posts: 56

Re: ELO computation changes

Post#24 » 30 Nov 2016, 08:10

pier4r wrote:Interesting that if both players are over 1200, the elo predicts a tiny bit less the result.


I guess the main reason here is an increasing impact of the rock-paper-scissors scheme. Extraordinary good AI´s may beat the odds against a weak AI. But if both AI´s are roughly of same quality the choice of bots start to dominate the result.

pier4r
Skynet
Skynet
Posts: 3389

Re: ELO computation changes

Post#25 » 30 Nov 2016, 09:02

So, first analysis by leagues. To check all the ideas it will take a bit sorry.

results analyzed:86388
correct_expected_results_int:54156
ratio: 0.63

results analyzed league1:43086
correct_expected_results league1:27359
ratio: 0.63

results analyzed league2:18690
correct_expected_results league2:11430
ratio: 0.61

results analyzed league3:11579
correct_expected_results league3:7104
ratio: 0.61

results analyzed league4:13019
correct_expected_results league4:8257
ratio: 0.63

observation: the leagues activity surprises me. After weeks of playing I thought that mostly the league4 was full of active players while the others, expect league1, had way less activity. This due missing demotions (for most of the time, demotions were in place just some days).

Instead league2,3,4 show the same amount of activity, interesting. Without having times I cannot know how many games were done until the promotions were automated and not manually made by GFX, but I guess not so much.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

pier4r
Skynet
Skynet
Posts: 3389

Re: ELO computation changes

Post#26 » 30 Nov 2016, 09:31

results analyzed both players over score 1500:214
correct_expected_results both players over score 1500:128
ratio: 0.598

results analyzed both players over score 1400:1417
correct_expected_results both players over score 1400:847
ratio: 0.598

results analyzed both players over score 1300:4426
correct_expected_results both players over score 1300:2798
ratio: 0.632

results analyzed both players over score 1200:6580
correct_expected_results both players over score 1200:4100
ratio: 0.623

results analyzed both players over score 1100:10962
correct_expected_results both players over score 1100:6706
ratio: 0.612

results analyzed both players over score 1000:27487
correct_expected_results both players over score 1000:17328
ratio: 0.63

results analyzed both players over score 900:29769
correct_expected_results both players over score 900:18640
ratio: 0.626

results analyzed both players over score 800:4913
correct_expected_results both players over score 800:3194
ratio: 0.65

Interesting that the higher the score, the lower the prediction. It may be due to the draw threshold.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

pier4r
Skynet
Skynet
Posts: 3389

Re: ELO computation changes

Post#27 » 30 Nov 2016, 09:36

changing the draw threshold (again, the elo is a continous function, it does not care. We need a threshold for interpretatioon matters) from 5% of score difference to 10%, the prediction improves.
(it means, if one has 1000 score, the other has 1100, the expectation is to draw, this may be an already overstretched interpretation)

results analyzed:86388
correct_expected_results_int:55339
ratio: 0.641

results analyzed league1:43086
correct_expected_results league1:27982
ratio: 0.649

results analyzed league2:18690
correct_expected_results league2:11678
ratio: 0.625

results analyzed league3:11579
correct_expected_results league3:7289
ratio: 0.63

results analyzed league4:13019
correct_expected_results league4:8384
ratio: 0.644

results analyzed both players over score 1500:214
correct_expected_results both players over score 1500:134
ratio: 0.626

results analyzed both players over score 1400:1417
correct_expected_results both players over score 1400:862
ratio: 0.608

results analyzed both players over score 1300:4426
correct_expected_results both players over score 1300:2847
ratio: 0.643

results analyzed both players over score 1200:6580
correct_expected_results both players over score 1200:4166
ratio: 0.633

results analyzed both players over score 1100:10962
correct_expected_results both players over score 1100:6857
ratio: 0.626

results analyzed both players over score 1000:27487
correct_expected_results both players over score 1000:17699
ratio: 0.644

results analyzed both players over score 900:29769
correct_expected_results both players over score 900:19120
ratio: 0.642

results analyzed both players over score 800:4913
correct_expected_results both players over score 800:3238
ratio: 0.659
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

pier4r
Skynet
Skynet
Posts: 3389

Re: ELO computation changes

Post#28 » 30 Nov 2016, 11:06

The following analysis checks how much the highest player wins give a certain difference between the two players.
(with draw threshold of 1.10 or 10% of difference between scores, even the draws are not too important now)

For example if player A has 1000 score and player B 1025 and B wins (it has the highest score), this counts as "+1" for the elo difference 0-25.

The interpretation of the data are the following:
* Does a large difference of score/elo predict an actual win?
* Does allowing matches between large elo score, makes sense apart from "every now and then getting an unexpected result?"

Code: Select all

results analyzed:86388
correct_expected_results_int:55339
ratio: 0.641

results analyzed within elo diff 0 and 25:18645
actual wins within elo diff 0 and 25:8969
ratio: 0.481
Comment: in general having little score difference does not ensure that the player with highest score would win.

results analyzed within elo diff 25 and 50:16066
actual wins within elo diff 25 and 50:8121
ratio: 0.505
Comment: in general having little score difference does not ensure that the player with highest score would win.

results analyzed within elo diff 50 and 75:13227
actual wins within elo diff 50 and 75:7110
ratio: 0.538
The player with a score higher than the other between 50 and 75 points wins 53,8% of the times.

results analyzed within elo diff 75 and 100:10459
actual wins within elo diff 75 and 100:5965
ratio: 0.57

results analyzed within elo diff 100 and 125:7449
actual wins within elo diff 100 and 125:4382
ratio: 0.588

results analyzed within elo diff 125 and 150:5570
actual wins within elo diff 125 and 150:3388
ratio: 0.608

results analyzed within elo diff 150 and 175:4165
actual wins within elo diff 150 and 175:2638
ratio: 0.633

results analyzed within elo diff 175 and 200:2961
actual wins within elo diff 175 and 200:1950
ratio: 0.659

results analyzed within elo diff 200 and 225:2198
actual wins within elo diff 200 and 225:1543
ratio: 0.702
When the difference is between 200 and 225 points, the player with highest score wins 70% of the time.

results analyzed within elo diff 225 and 250:1664
actual wins within elo diff 225 and 250:1194
ratio: 0.718

results analyzed within elo diff 250 and 275:1242
actual wins within elo diff 250 and 275:904
ratio: 0.728

results analyzed within elo diff 275 and 300:910
actual wins within elo diff 275 and 300:688
ratio: 0.756

results analyzed within elo diff 300 and 325:627
actual wins within elo diff 300 and 325:494
ratio: 0.788

results analyzed within elo diff 325 and 350:456
actual wins within elo diff 325 and 350:370
ratio: 0.811

results analyzed within elo diff 350 and 375:256
actual wins within elo diff 350 and 375:207
ratio: 0.809

results analyzed within elo diff 375 and 400:160
actual wins within elo diff 375 and 400:124
ratio: 0.775
This is the difference that makes the elo prediction almost obvious, because in the formula (see previous posts) the constant 400 more or less means "if one player has more than 400 points of advantage, the result should be given for granted". The actual results says that in 77% of the cases the player with highest score wins.

results analyzed within elo diff 400 and 425:112
actual wins within elo diff 400 and 425:90
ratio: 0.804

results analyzed within elo diff 425 and 450:86
actual wins within elo diff 425 and 450:72
ratio: 0.837

results analyzed within elo diff 450 and 475:37
actual wins within elo diff 450 and 475:33
ratio: 0.892
I would say that here is the reasonable limit, after that I guess people did tests or the matches were not so meaningful.

results analyzed within elo diff 475 and 500:39
actual wins within elo diff 475 and 500:33
ratio: 0.846

results analyzed within elo diff 500 and 525:11
actual wins within elo diff 500 and 525:7
ratio: 0.636

results analyzed within elo diff 525 and 550:14
actual wins within elo diff 525 and 550:11
ratio: 0.786

results analyzed within elo diff 550 and 575:11
actual wins within elo diff 550 and 575:9
ratio: 0.818

results analyzed within elo diff 575 and 600:9
actual wins within elo diff 575 and 600:4
ratio: 0.444

results analyzed within elo diff 600 and 625:2
actual wins within elo diff 600 and 625:2
ratio: 1

results analyzed within elo diff 625 and 650:3
actual wins within elo diff 625 and 650:2
ratio: 0.667

results analyzed within elo diff 650 and 675:3
actual wins within elo diff 650 and 675:1
ratio: 0.333

results analyzed within elo diff 675 and 700:2
actual wins within elo diff 675 and 700:0
ratio: 0

results analyzed within elo diff 700 and 725:0
actual wins within elo diff 700 and 725:0

results analyzed within elo diff 725 and 750:3
actual wins within elo diff 725 and 750:1
ratio: 0.333

results analyzed within elo diff 750 and 775:0
actual wins within elo diff 750 and 775:0

results analyzed within elo diff 775 and 800:0
actual wins within elo diff 775 and 800:0

results analyzed within elo diff 800 and 825:1
actual wins within elo diff 800 and 825:1
ratio: 1

results analyzed within elo diff 825 and 850:0
actual wins within elo diff 825 and 850:0

results analyzed within elo diff 850 and 875:0
actual wins within elo diff 850 and 875:0

results analyzed within elo diff 875 and 900:0
actual wins within elo diff 875 and 900:0

results analyzed within elo diff 900 and 925:0
actual wins within elo diff 900 and 925:0

results analyzed within elo diff 925 and 950:0
actual wins within elo diff 925 and 950:0

results analyzed within elo diff 950 and 975:0
actual wins within elo diff 950 and 975:0

results analyzed within elo diff 975 and 1000:0
actual wins within elo diff 975 and 1000:0


Now the analysis by league, the expectation is: the higher the league, the more consistent the result given an increasing difference in score.
results analyzed league1 within elo diff 0 and 25:10704
actual wins league1 within elo diff 0 and 25:5140
ratio: 0.48

results analyzed league1 within elo diff 25 and 50:8690
actual wins league1 within elo diff 25 and 50:4448
ratio: 0.512

results analyzed league1 within elo diff 50 and 75:6868
actual wins league1 within elo diff 50 and 75:3806
ratio: 0.554

results analyzed league1 within elo diff 75 and 100:5136
actual wins league1 within elo diff 75 and 100:3006
ratio: 0.585

results analyzed league1 within elo diff 100 and 125:3328
actual wins league1 within elo diff 100 and 125:2006
ratio: 0.603

results analyzed league1 within elo diff 125 and 150:2367
actual wins league1 within elo diff 125 and 150:1455
ratio: 0.615

results analyzed league1 within elo diff 150 and 175:1670
actual wins league1 within elo diff 150 and 175:1088
ratio: 0.651

results analyzed league1 within elo diff 175 and 200:1151
actual wins league1 within elo diff 175 and 200:798
ratio: 0.693

results analyzed league1 within elo diff 200 and 225:892
actual wins league1 within elo diff 200 and 225:648
ratio: 0.726

results analyzed league1 within elo diff 225 and 250:660
actual wins league1 within elo diff 225 and 250:485
ratio: 0.735

results analyzed league1 within elo diff 250 and 275:500
actual wins league1 within elo diff 250 and 275:375
ratio: 0.75

results analyzed league1 within elo diff 275 and 300:378
actual wins league1 within elo diff 275 and 300:295
ratio: 0.78

results analyzed league1 within elo diff 300 and 325:248
actual wins league1 within elo diff 300 and 325:205
ratio: 0.827

results analyzed league1 within elo diff 325 and 350:197
actual wins league1 within elo diff 325 and 350:165
ratio: 0.838

results analyzed league1 within elo diff 350 and 375:124
actual wins league1 within elo diff 350 and 375:104
ratio: 0.839

results analyzed league1 within elo diff 375 and 400:65
actual wins league1 within elo diff 375 and 400:51
ratio: 0.785

results analyzed league1 within elo diff 400 and 425:33
actual wins league1 within elo diff 400 and 425:24
ratio: 0.727

results analyzed league1 within elo diff 425 and 450:33
actual wins league1 within elo diff 425 and 450:31
ratio: 0.939

results analyzed league1 within elo diff 450 and 475:13
actual wins league1 within elo diff 450 and 475:12
ratio: 0.923

results analyzed league1 within elo diff 475 and 500:11
actual wins league1 within elo diff 475 and 500:8
ratio: 0.727
I limited the analysis to a difference of 500 because already after 400/450 the matches become a farce/testing in my opinion.

results analyzed league2 within elo diff 0 and 25:3892
actual wins league2 within elo diff 0 and 25:1874
ratio: 0.482

results analyzed league2 within elo diff 25 and 50:3511
actual wins league2 within elo diff 25 and 50:1813
ratio: 0.516

results analyzed league2 within elo diff 50 and 75:2998
actual wins league2 within elo diff 50 and 75:1587
ratio: 0.529

results analyzed league2 within elo diff 75 and 100:2408
actual wins league2 within elo diff 75 and 100:1349
ratio: 0.56

results analyzed league2 within elo diff 100 and 125:1787
actual wins league2 within elo diff 100 and 125:1016
ratio: 0.569

results analyzed league2 within elo diff 125 and 150:1198
actual wins league2 within elo diff 125 and 150:751
ratio: 0.627

results analyzed league2 within elo diff 150 and 175:902
actual wins league2 within elo diff 150 and 175:545
ratio: 0.604

results analyzed league2 within elo diff 175 and 200:594
actual wins league2 within elo diff 175 and 200:370
ratio: 0.623

results analyzed league2 within elo diff 200 and 225:421
actual wins league2 within elo diff 200 and 225:289
ratio: 0.686

results analyzed league2 within elo diff 225 and 250:291
actual wins league2 within elo diff 225 and 250:201
ratio: 0.691

results analyzed league2 within elo diff 250 and 275:199
actual wins league2 within elo diff 250 and 275:133
ratio: 0.668

results analyzed league2 within elo diff 275 and 300:132
actual wins league2 within elo diff 275 and 300:102
ratio: 0.773

results analyzed league2 within elo diff 300 and 325:87
actual wins league2 within elo diff 300 and 325:68
ratio: 0.782

results analyzed league2 within elo diff 325 and 350:65
actual wins league2 within elo diff 325 and 350:54
ratio: 0.831

results analyzed league2 within elo diff 350 and 375:36
actual wins league2 within elo diff 350 and 375:29
ratio: 0.806

results analyzed league2 within elo diff 375 and 400:40
actual wins league2 within elo diff 375 and 400:29
ratio: 0.725
Interesting how the ratio of wins raise consistently until 375 points, then it shows surprises (with big frustration for the player with highest score)

results analyzed league2 within elo diff 400 and 425:35
actual wins league2 within elo diff 400 and 425:27
ratio: 0.771

results analyzed league2 within elo diff 425 and 450:27
actual wins league2 within elo diff 425 and 450:17
ratio: 0.63

results analyzed league2 within elo diff 450 and 475:14
actual wins league2 within elo diff 450 and 475:11
ratio: 0.786

results analyzed league2 within elo diff 475 and 500:16
actual wins league2 within elo diff 475 and 500:15
ratio: 0.938

results analyzed league3 within elo diff 0 and 25:2392
actual wins league3 within elo diff 0 and 25:1151
ratio: 0.481

results analyzed league3 within elo diff 25 and 50:2218
actual wins league3 within elo diff 25 and 50:1046
ratio: 0.472

results analyzed league3 within elo diff 50 and 75:1843
actual wins league3 within elo diff 50 and 75:905
ratio: 0.491

results analyzed league3 within elo diff 75 and 100:1406
actual wins league3 within elo diff 75 and 100:755
ratio: 0.537

results analyzed league3 within elo diff 100 and 125:1041
actual wins league3 within elo diff 100 and 125:623
ratio: 0.598

results analyzed league3 within elo diff 125 and 150:830
actual wins league3 within elo diff 125 and 150:476
ratio: 0.573

results analyzed league3 within elo diff 150 and 175:574
actual wins league3 within elo diff 150 and 175:366
ratio: 0.638

results analyzed league3 within elo diff 175 and 200:384
actual wins league3 within elo diff 175 and 200:243
ratio: 0.633

results analyzed league3 within elo diff 200 and 225:253
actual wins league3 within elo diff 200 and 225:167
ratio: 0.66

results analyzed league3 within elo diff 225 and 250:208
actual wins league3 within elo diff 225 and 250:144
ratio: 0.692

results analyzed league3 within elo diff 250 and 275:135
actual wins league3 within elo diff 250 and 275:94
ratio: 0.696

results analyzed league3 within elo diff 275 and 300:97
actual wins league3 within elo diff 275 and 300:67
ratio: 0.691

results analyzed league3 within elo diff 300 and 325:59
actual wins league3 within elo diff 300 and 325:48
ratio: 0.814

results analyzed league3 within elo diff 325 and 350:46
actual wins league3 within elo diff 325 and 350:32
ratio: 0.696

results analyzed league3 within elo diff 350 and 375:29
actual wins league3 within elo diff 350 and 375:23
ratio: 0.793

results analyzed league3 within elo diff 375 and 400:17
actual wins league3 within elo diff 375 and 400:14
ratio: 0.824

results analyzed league3 within elo diff 400 and 425:15
actual wins league3 within elo diff 400 and 425:14
ratio: 0.933

results analyzed league3 within elo diff 425 and 450:13
actual wins league3 within elo diff 425 and 450:13
ratio: 1
As one can see already in league3 there is almost no match for players with too high difference.

results analyzed league3 within elo diff 450 and 475:4
actual wins league3 within elo diff 450 and 475:4
ratio: 1

results analyzed league3 within elo diff 475 and 500:11
actual wins league3 within elo diff 475 and 500:9
ratio: 0.818

results analyzed league4 within elo diff 0 and 25:1652
actual wins league4 within elo diff 0 and 25:801
ratio: 0.485

results analyzed league4 within elo diff 25 and 50:1646
actual wins league4 within elo diff 25 and 50:813
ratio: 0.494

results analyzed league4 within elo diff 50 and 75:1516
actual wins league4 within elo diff 50 and 75:811
ratio: 0.535

results analyzed league4 within elo diff 75 and 100:1507
actual wins league4 within elo diff 75 and 100:853
ratio: 0.566

results analyzed league4 within elo diff 100 and 125:1293
actual wins league4 within elo diff 100 and 125:737
ratio: 0.57

results analyzed league4 within elo diff 125 and 150:1172
actual wins league4 within elo diff 125 and 150:706
ratio: 0.602

results analyzed league4 within elo diff 150 and 175:1018
actual wins league4 within elo diff 150 and 175:639
ratio: 0.628

results analyzed league4 within elo diff 175 and 200:832
actual wins league4 within elo diff 175 and 200:539
ratio: 0.648

results analyzed league4 within elo diff 200 and 225:632
actual wins league4 within elo diff 200 and 225:439
ratio: 0.695

results analyzed league4 within elo diff 225 and 250:505
actual wins league4 within elo diff 225 and 250:364
ratio: 0.721

results analyzed league4 within elo diff 250 and 275:408
actual wins league4 within elo diff 250 and 275:302
ratio: 0.74

results analyzed league4 within elo diff 275 and 300:303
actual wins league4 within elo diff 275 and 300:224
ratio: 0.739

results analyzed league4 within elo diff 300 and 325:233
actual wins league4 within elo diff 300 and 325:173
ratio: 0.742

results analyzed league4 within elo diff 325 and 350:148
actual wins league4 within elo diff 325 and 350:119
ratio: 0.804

results analyzed league4 within elo diff 350 and 375:67
actual wins league4 within elo diff 350 and 375:51
ratio: 0.761

results analyzed league4 within elo diff 375 and 400:38
actual wins league4 within elo diff 375 and 400:30
ratio: 0.789

results analyzed league4 within elo diff 400 and 425:29
actual wins league4 within elo diff 400 and 425:25
ratio: 0.862

results analyzed league4 within elo diff 425 and 450:13
actual wins league4 within elo diff 425 and 450:11
ratio: 0.846

results analyzed league4 within elo diff 450 and 475:6
actual wins league4 within elo diff 450 and 475:6
ratio: 1

results analyzed league4 within elo diff 475 and 500:1
actual wins league4 within elo diff 475 and 500:1
ratio: 1


In league4 when the difference is too high, there is no match or almost. A follow up community request would be: the matchmaking should avoid, if possible, matches between players with more than 400 points of difference. Not so good for the players at the top but otherwise better for more consistent scores.
Last edited by pier4r on 30 Nov 2016, 17:12, edited 1 time in total.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

pier4r
Skynet
Skynet
Posts: 3389

Re: ELO computation changes

Post#29 » 30 Nov 2016, 11:26

code repository for the moment https://app.assembla.com/spaces/various ... alyser.awk
(requires gawk. So either linux, or cygwin on linux, or *nix utilities on windows or gawk for windows. Dunno for mac. On windows the fastest way to do the same installing little stuff is win powershell that I cannot use smoothly at the moment)
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

pier4r
Skynet
Skynet
Posts: 3389

Re: ELO computation changes

Post#30 » 30 Nov 2016, 13:27

Some more data. The distribution of players, per league, according to their last elo in the dataset. One can see clearly that without demotions even the 4th league has players with quite low scores (around 1000)

charts: number of players that have their last score up to X points. So the start is: up to 800 points, between 800 and 825, then between 825 and 850 and so on.

all leagues, league1 dominates
gladiabots_leagues_elo_distr_20161130.png
gladiabots_leagues_elo_distr_20161130.png (27.68 KiB) Viewed 1814 times


only league 2,3,4
gladiabots_leagues2,3,4_elo_distr_20161130.png
gladiabots_leagues2,3,4_elo_distr_20161130.png (28.46 KiB) Viewed 1814 times


data:

Code: Select all

#league1
800,16
825,16
850,26
875,44
900,98
925,206
950,362
975,635
1000,4020
1025,760
1050,292
1075,142
1100,93
1125,9
1150,7
1175,4
1200,3
1225,4
1250,0
1275,4
1300,0
1325,0
1350,0
1375,0
1400,1
1425,0
1450,0
1475,0
1500,0
1525,0
1550,0
1575,0
1600,0
1625,0
1650,0
1675,0
1700,0
1725,0
1750,0
1775,0
1800,0


#league2
800,1
825,1
850,0
875,5
900,6
925,30
950,42
975,77
1000,153
1025,118
1050,95
1075,110
1100,94
1125,110
1150,55
1175,24
1200,15
1225,2
1250,4
1275,1
1300,1
1325,0
1350,0
1375,1
1400,0
1425,0
1450,0
1475,0
1500,0
1525,0
1550,0
1575,0
1600,0
1625,0
1650,0
1675,0
1700,0
1725,0
1750,0
1775,0
1800,0


#league 3
800,0
825,0
850,0
875,0
900,3
925,2
950,6
975,7
1000,23
1025,30
1050,21
1075,24
1100,32
1125,31
1150,36
1175,43
1200,52
1225,27
1250,19
1275,11
1300,12
1325,1
1350,0
1375,0
1400,1
1425,0
1450,1
1475,0
1500,0
1525,0
1550,0
1575,0
1600,0
1625,0
1650,0
1675,0
1700,0
1725,0
1750,0
1775,0
1800,0

#league4
800, 0
825, 0
850, 0
875, 0
900, 0
925, 0
950, 0
975, 0
1000,0
1025,0
1050,2
1075,2
1100,8
1125,6
1150,9
1175,7
1200,11
1225,12
1250,17
1275,20
1300,19
1325,24
1350,21
1375,13
1400,5
1425,7
1450,3
1475,3
1500,4
1525,1
1550,0
1575,0
1600,2
1625,0
1650,0
1675,0
1700,1
1725,0
1750,0
1775,0
1800,0


PS: I was expecting less from open office, quite cool.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

pier4r
Skynet
Skynet
Posts: 3389

Re: ELO computation changes

Post#31 » 01 Dec 2016, 12:18

GFX would be possible to have the same list with the following additional fields?
(a) the date of the match (the date of submission maybe?) -> this is helpful to make timelines and how the game/leagues/elos grow
(b) the map played (to see which map has less uncertainity, aka less paper, rock, scissor ; to see the strength of players by map and so on)

For the moment I do not see any additional field that could add a lot of information in the analysis.

In any case, thanks!
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

User avatar
GFX47
Dev
Dev
Posts: 2914

Re: ELO computation changes

Post#32 » 01 Dec 2016, 12:42

File updated!
https://dl.dropboxusercontent.com/u/243 ... rating.csv

MissionIDs:

Code: Select all

220 = The seven wonders
230 = Set your priorities
240 = Neighbours fight
250 = Meeting point
251 = Starving
252 = Interference
253 = Ambidextrous
254 = Circle of Death
255 = Split team
256 = Back to back
2010 = Mind Game (Community)

pier4r
Skynet
Skynet
Posts: 3389

Re: ELO computation changes

Post#33 » 01 Dec 2016, 12:55

awesome, many thanks!
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

pier4r
Skynet
Skynet
Posts: 3389

Re: ELO computation changes

Post#34 » 01 Dec 2016, 14:21

In the meanwhile some more data. Distribution of game played. As in many games/communities, many players are not so active. (the 90-9-1 rule?)

gladiabots_game_played_by_league1,2,3,4_20161129.png
gladiabots_game_played_by_league1,2,3,4_20161129.png (20.04 KiB) Viewed 1789 times


gladiabots_game_played_by_league2,3,4_20161129.png
gladiabots_game_played_by_league2,3,4_20161129.png (22.39 KiB) Viewed 1789 times


gladiabots_game_played_by_league3,4_20161129.png
gladiabots_game_played_by_league3,4_20161129.png (21.83 KiB) Viewed 1789 times


Code: Select all

# game played , number of players

# 1
50,6626
100,89
150,18
200,4
250,3
300,0
350,0
400,2
450,0
500,0
550,0
600,0
650,0
700,0
750,0
800,0
850,0
900,0
950,0
1000,0
1050,0
1100,0
1150,0
1200,0
1250,0
1300,0
1350,0
1400,0
1450,0
1500,0

# 2
50,699
100,171
150,40
200,18
250,7
300,3
350,2
400,2
450,1
500,2
550,0
600,0
650,0
700,0
750,0
800,0
850,0
900,0
950,0
1000,0
1050,0
1100,0
1150,0
1200,0
1250,0
1300,0
1350,0
1400,0
1450,0
1500,0

# 3
50,153
100,114
150,52
200,27
250,16
300,6
350,5
400,1
450,4
500,1
550,1
600,1
650,0
700,0
750,0
800,1
850,0
900,0
950,0
1000,0
1050,0
1100,0
1150,0
1200,0
1250,0
1300,0
1350,0
1400,0
1450,0
1500,0

# 4
50,15
100,39
150,40
200,26
250,14
300,7
350,11
400,7
450,6
500,6
550,4
600,2
650,4
700,2
750,3
800,0
850,1
900,1
950,1
1000,0
1050,1
1100,0
1150,1
1200,1
1250,2
1300,2
1350,0
1400,1
1450,0
1500,0
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

Johnbob
Algorithm
Algorithm
Posts: 62

Re: ELO computation changes

Post#35 » 01 Dec 2016, 19:21

Thanks for all this. It shows that promoting players should be done massively I think.

pier4r
Skynet
Skynet
Posts: 3389

Re: ELO computation changes

Post#36 » 01 Dec 2016, 20:45

Johnbob wrote:Thanks for all this. It shows that promoting players should be done massively I think.


Hmm, I disagree. Promoting players surely makes a league more active if the player plays a bunch of games at least. The problem is the score spacing. As the statistics show if the new players are not strong enough, they do not get enough score when the competition is though. If they get less than 400 points of the players that normally are on the top, the match top player vs low players is not so much meaningful (except the few times when the stronger player gets defeated losing a lot of points, but it is not statistically significant in my opinion). Therefore the real "league4" will have not so much "meaningful" activity.

For example to me it seems that the players that play a lot confirms the 90-9-1 rule, so in general there will not be a lot of though players - that are though thanks to the accumulated experience - out of the entire population.

What could help instead, at least this is my opinion, is having a sort of unique league so there are more chances that players play against people with similar score. This means that the top players, that have, say, 1400+ points, will have the chance to have always new contenders that reach the 1100+ score. Those either hold the ground or go down, in favor of new contenders.

The problem about unlocking bot classes can be fixed with the new idea of GFX, actually it will be also hard for top players to hold the ground because slowly they will gain fewer points and either they play a lot, gaining little points most of the time, or they will run out of credits so the lower score guys will have more chances to win due to - for example - recent winning streaks.

So imo a possible way to increase the number of games is like the following:
(a) assuming that everyone can use all the bots, but those should be bought according to the new idea of gfx [even with the current setup, without changing maps or anything else, I guess it would work. The problem would be about the price of every bot and the earnings of a player]
(b) disable leagues, just one big league
(c) then more or less the same as it written here: viewtopic.php?p=82#p82

Code: Select all

- [change] list games created by players with up to 400 points more or up to 400 points less compared to your current score
- exclude matches of players you already encountered during the last hour (limited to 100 players)
- if at least a match has been found, take the one created first
- if no match has been found, create a new one
- [change] k factor used for the result: if one player over 1300 k=25, else if one player over 1200 K=30, else if one player over 1100 k=35, otherwise 40.

So the first rule and last rule will create a sort of league unique for match (limited by the range around the players' score), the rest will avoid "feeding the score" of a player with another player as it is wanted now.

Side note: my brother got league 4 (Mask) and seeing that a lot of players had 1000+ games got scared, like "yeah I have to think about it!" instead of just playing, collecting statistical evidence and then fixing stuff. Best example for this is Mgblitz that long ago said "meh, I'm not convinced" but slowly climbed up stacking 1000+ games and I strongly believe s/he is one that can dethrone null pointer. Nevertheless he/r is doing this very slowly, starting from the top 50 up to the top 2, I like the approach.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

MGBlitz81
Automaton
Automaton
Posts: 135

Re: ELO computation changes

Post#37 » 02 Dec 2016, 00:07

hah, I'm not going to dethrone nullpointer. At least not with the game in its current state. No time to make tons of AIs for each bot on every single map only to update them every few days until I'm happy with it. I'm just playing around and testing small things using, for the most part, generic AIs. I still play a lot of games though. I like to see what other people are coming up with.

User avatar
Ritter Runkel
Neural Network
Neural Network
Posts: 498

Re: ELO computation changes

Post#38 » 02 Dec 2016, 08:12

League 3 and 4 plot is interesting. All leagues look like a nice poisson distribution. *thumbs up*

pier4r
Skynet
Skynet
Posts: 3389

Re: ELO computation changes

Post#39 » 02 Dec 2016, 10:38

MGBlitz81 wrote:hah, I'm not going to dethrone nullpointer. At least not with the game in its current state. No time to make tons of AIs for each bot on every single map only to update them every few days until I'm happy with it. I'm just playing around and testing small things using, for the most part, generic AIs. I still play a lot of games though. I like to see what other people are coming up with.


I'm mostly doing the same (I have 7 Ais for 6 maps) but to spam games is difficult. I access th game like 2 times in a day, I spam 8 games and 5 go in pending and then I say "meh" and log in after hours. I guess players in Europe are not so much.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

ConsciouS-0nE
Autonomous Entity
Autonomous Entity
Posts: 740

Re: ELO computation changes

Post#40 » 02 Dec 2016, 11:38

pier4r wrote:
MGBlitz81 wrote:hah, I'm not going to dethrone nullpointer. At least not with the game in its current state. No time to make tons of AIs for each bot on every single map only to update them every few days until I'm happy with it. I'm just playing around and testing small things using, for the most part, generic AIs. I still play a lot of games though. I like to see what other people are coming up with.


I'm mostly doing the same (I have 7 Ais for 6 maps) but to spam games is difficult. I access th game like 2 times in a day, I spam 8 games and 5 go in pending and then I say "meh" and log in after hours. I guess players in Europe are not so much.


Meh same here...
Dont we have stats on player/location no?

Return to “Devlog”

Who is online

Users browsing this forum: No registered users and 1 guest