First release from the new repository for the refactored Pedantic source code.
Playing strength improvements:
AMD Ryzen 7 5800h / AMD Ryzen 7 5800h ♦ 256mb Hash Table ♦ 3-6 Man Syzygy ♦ Concurrency 14 ♦ openings-10ply-100k.pgn
+91 +/-12 Elo over Pedantic 0.6.2 in self-play at 20+0.2 time controls.
+115 +/-12 Elo over Pedantic 0.6.0 in self-play at 20+0.2 time controls.
3161 +/-19 Elo at 40/15 (12:00+8) time controls.
Self-Play Results (5800h)
Rank Name Elo +/- Games Wins Losses Draws Points Score Draw
0 Pedantic 1.0.0 103 8 4000 1761 609 1630 2576.0 64.4% 40.8%
1 Pedantic 0.6.2 -91 12 2000 325 836 839 744.5 37.2% 41.9%
2 Pedantic 0.6.0 -115 12 2000 284 925 791 679.5 34.0% 39.6%
40/15 Gauntlet Results (7940hs)
Rank Name Rating Elo +/- Games Wins Losses Draws Points Score Draw
0 Pedantic 1.0.0 3161 -1 19 700 181 184 335 348.5 49.8% 47.9%
1 Weiss 1.4 3198 100 74 50 21 7 22 32.0 64.0% 44.0%
2 Willow 3.0 3213 92 69 50 19 6 25 31.5 63.0% 50.0%
3 Viridithas 6.0 3218 63 59 50 14 5 31 29.5 59.0% 62.0%
4 Gull 3.0 3160 56 79 50 20 12 18 29.0 58.0% 36.0%
5 Nalwald 17.1 3191 35 72 50 16 11 23 27.5 55.0% 46.0%
6 Drofa 3.3.0 3171 7 77 50 16 15 19 25.5 51.0% 38.0%
7 Stash 31.0 3179 7 66 50 12 11 27 25.5 51.0% 54.0%
8 RubiChess 1.5 3148 -35 72 50 11 16 23 22.5 45.0% 46.0%
9 Clover 2.3.1 3168 -35 69 50 10 15 25 22.5 45.0% 50.0%
10 Koivisto 4.0 3112 -42 64 50 8 14 28 22.0 44.0% 56.0%
11 Xiphos 0.3 3132 -42 70 50 10 16 24 22.0 44.0% 48.0%
12 Komodo 5 3148 -42 70 50 10 16 24 22.0 44.0% 48.0%
13 Clarity 3.0 3103 -70 73 50 9 19 22 20.0 40.0% 44.0%
14 Igel 2.5.0 3123 -70 70 50 8 18 24 20.0 40.0% 48.0%
Average 3162
What's Changed
- Add null move pruning. + 64 by @JoAnnP38 in #1
- Add LMR. +61 Elo by @JoAnnP38 in #2
- Reverse futility pruning. +8 Elo by @JoAnnP38 in #3
- Add quiet history w/gravity. +90 Elo by @JoAnnP38 in #4
- Add tempo bonus to evaluation. +73 Elo by @JoAnnP38 in #5
- Add mobility evaluation. +52 Elo by @JoAnnP38 in #6
- Add passed pawn evaluation. +27 elo by @JoAnnP38 in #7
- Evaluate adjacent/phalanx pawns. +20 Elo by @JoAnnP38 in #8
- Add chained pawn evaluation. +27 Elo by @JoAnnP38 in #9
- Add pawn ram evaluation. +8 Elo by @JoAnnP38 in #10
- Add isolated pawn evaluation. +7 Elo by @JoAnnP38 in #11
- Extended isolated pawn evaluation to use PST scores instead of file-b… by @JoAnnP38 in #12
- Add pawn structure hash table. +18 Elo by @JoAnnP38 in #13
- Add late move pruning to search. +75 Elo by @JoAnnP38 in #14
- Add counter move support to history. +10 elo by @JoAnnP38 in #15
- Add king attack bonus to eval. +20 elo by @JoAnnP38 in #16
- Give bonus for valuing castling rights. +11 elo by @JoAnnP38 in #17
- Enemy king outside passed pawn promotion square. +3 elo by @JoAnnP38 in #18
- It is safe for passer to advance. +5 elo by @JoAnnP38 in #19
- Piece blocks enemy passed pawn from advancing. +4 elo by @JoAnnP38 in #20
- Bug fix that broke passed pawn tuning. +14 elo by @JoAnnP38 in #21
- Use SEE for capture move classification. +29 elo by @JoAnnP38 in #22
- Prune bad captures from QSearch. +22 elo by @JoAnnP38 in #23
- Add bishop pair evaluation. +7 elo by @JoAnnP38 in #24
- Evaluate bad bishops and pawns. +4 elo by @JoAnnP38 in #25
- Evaluate rooks on open files. +12 elo by @JoAnnP38 in #26
- Evaluate rooks on half-open files. +3 elo by @JoAnnP38 in #27
- Change tt depth type from byte to sbyte. +216 elo by @JoAnnP38 in #28
- Add futility pruning to main search. +93 elo by @JoAnnP38 in #29
- Internal iterative reduction (IIR) +11 elo by @JoAnnP38 in #30
- See pruning +13 elo by @JoAnnP38 in #31
- Syzygy tablebase probing at the root. +16 elo by @JoAnnP38 in #32
- Syzygy probing during search. +36 elo by @JoAnnP38 in #33
- Pawn push threat evaluation. +22 elo by @JoAnnP38 in #34
- Evaluate opponent pieces threaten by our pawns. +5 elo by @JoAnnP38 in #35
- Change the manner that attacks are cached in evaluation. +4 elo by @JoAnnP38 in #36
- Evaluate threats by minor pieces. +9 elo by @JoAnnP38 in #37
- Evaluate threats by rooks. +8 elo by @JoAnnP38 in #38
- Give PV move a bonus to ensure poll position. +57 elo by @JoAnnP38 in #39
- Evaluate rooks behind passed pawn. +7 elo by @JoAnnP38 in #40
- Only calculate full eval if required. +21 elo by @JoAnnP38 in #41
- Razoring at frontier node. +32 elo by @JoAnnP38 in #42
- Refactor razoring to use parameters from UciOptions by @JoAnnP38 in #43
- Continuation history at ply - 1 +17 elo by @JoAnnP38 in #44
- Continuation history at ply - 2 +4 elo by @JoAnnP38 in #45
- Correct bug with memory corruption (indexoutofrange exception). by @JoAnnP38 in #46
- Replace various (Moves, QMoves, Evasion) enumerators with specialized… by @JoAnnP38 in #47
- Apply improving heuristic to NMP. +25 elo by @JoAnnP38 in #48
- Apply improving heuristic to RFP. +14 elo by @JoAnnP38 in #49
- Use eval cache to avoid re-evaluating positions. +10 elo by @JoAnnP38 in #50
- Scale eval as game approaches draw by 50mr. +5 elo STC / +10 elo MTC by @JoAnnP38 in #51
- Integrate endgame scaling into tuner and retune weights. +6 elo by @JoAnnP38 in #52
- Evaluate backward pawns. +6 elo by @JoAnnP38 in #53
- 1st round of weather-factory optimization. +37 elo by @JoAnnP38 in #54
- Make sure Pedantic always has a legal move to return. by @JoAnnP38 in #55
- Remove illegal moves from root move list. by @JoAnnP38 in #56
- Add additional information to abort logging. by @JoAnnP38 in #57
- Evaluate check threats. +10 elo by @JoAnnP38 in #58
- Do not prune if need to escape potential mate. +2 elo by @JoAnnP38 in #59
- Update mobility evaluation to take into account pieces pinned against their king. +11 elo by @JoAnnP38 in #60
- Give bonus to pawns shielding minor pieces. +9 elo by @JoAnnP38 in #61
- Revise PVS and reduce checking moves. +21 elo by @JoAnnP38 in #62
- If not improving increase lmr reduction. +6 elo by @JoAnnP38 in #63
- Simple check extension. +7 elo by @JoAnnP38 in #64
- Decrease lmr reductions for pv nodes +10 elo by @JoAnnP38 in #65
- Adjust lmr reductions based on current move's history. +10 elo by @JoAnnP38 in #66
- Add continuation history at ply - 4. +8 elo by @JoAnnP38 in #67
- Don't trust mate scores returned in NMP. +3 elo by @JoAnnP38 in #68
- Return mate scores from quiesce search. +19 elo by @JoAnnP38 in #69
- Improve QSearch (increase full capture depth from 6 to 8) +6 elo by @JoAnnP38 in #70
- Scale reported uci cp score based on 100 per pawn. +0 elo by @JoAnnP38 in #71
- Count xray attacks for bishops/rooks for mobility. +4 elo by @JoAnnP38 in #72
- Test latest weather-factory optimization. +10 elo by @JoAnnP38 in #73
- Increase training data size 6M => 16M. +12 elo by @JoAnnP38 in #74
- Remove !checkingMove from prune guard. +9 elo by @JoAnnP38 in #75
- Evaluate bishop on long diagonal. +3 elo by @JoAnnP38 in #76
- Evaluate king on pawnless flank. +6 elo by @JoAnnP38 in #77
- Generate evasion moves when in check inside Quiescence search. +12 elo by @JoAnnP38 in #78
- Uci parameters by @JoAnnP38 in #79
- Add file headers with copyright & license info. by @JoAnnP38 in #80
- Update readme.md for first release from new repo. by @JoAnnP38 in #81
New Contributors
Full Changelog: https://github.com/JoAnnP38/PedanticRF/commits/v1.0.0