Žolík: place score vs the base algorithm, shown as a %. 50% = level with the base algorithm, above 50% beats it. This is not a win rate. After each round the trainer scores a seat by its place: +1 for the winner (the player who went out), -1 for the last place, the others between, 0 if the round is thrown out; the page shows (score + 1) / 2 as a %. A table has 2 to 6 seats, so a chance win would be 1 in 2 to 1 in 6, but a level player always scores 50% here. Solid line (population): not one net and not the generation's best, but the average over all the nets of that generation, taking turns in random seats against the base algorithm. Until generation 200 that is the rounds that seat the base algorithm; after 200 it is the benchmark rounds only (240 rounds, each a different deal, for runs started after 2026-11-01 on the current code). The line is smoothed over the generations picked above (50 by default); the raw points jump a lot. Dashed (kept net): the one best net found so far, tried alone against the base algorithm over the fixed held-out rounds the training never plays (48 in the runs so far). The best of many tries reads higher than the net really plays, so only a fresh-deal head-to-head counts as proof. Base algorithm: the game's own built-in bot at the tier a run's label names ("base: hard"; no mention means the medium tier). The trainers' logs print the word medium for it whatever the tier.
Place score vs the base algorithm, as a %: 50% is level, above 50% (green) beats the base algorithm. It is (place score + 1) / 2 of the logged average place score, not a win rate (a true win would be 1 in 2 to 1 in 6 at a table of 2 to 6 seats). The row marked * is where each run is now.