Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: lithander/MinimalChessEngine
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: lithander/MinimalChessEngine
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: see
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 5 commits
  • 12 files changed
  • 1 contributor

Commits on Aug 3, 2021

  1. Implemented recursive SEE and BLIND.

    Added code to MoveCollection and Playmaker to defer or skip bad captures.
    Added a SEE testsuite to verify correctness.
    lithander committed Aug 3, 2021
    Configuration menu
    Copy the full SHA
    be266cb View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2021

  1. Added a non-recursive SEE.Evaluate function that only returns the sig…

    …n. (Good, bad, equal)
    
    Experimented with many different ways of using SEE (and BLIND) to order moves better and do some pruning and reductions.
    The committed version is 0.5.8c which uses SEE to identify "bad" captures. Bad captures are only played after killers and not at all in QSearch.
    Using SEE for reductions and futility pruning didn't work out. Comparing static eval on non quiet positions with alpha or beta for futility and reverse futility pruning and reductions also didn't help in actual play even if the results on wac.epd were promising. Quieting the positions first and including the dynamic component is too expensive. So the overall benefit of adding SEE over 0.5.7 (master-branch) was only +15 to +30 ELO in 5s + 0.5s TC against Zahka300, AbsoluteZero and Bit-Genie_5. Not "minimal" enough for the little gain as it stands now.
    lithander committed Aug 8, 2021
    Configuration menu
    Copy the full SHA
    125200a View commit details
    Browse the repository at this point in the history
  2. MMC 0.5.8g has the first successful futility pruning attempt using SEE

    MinimalChess 0.5.8g vs zahak300: 1412 - 1405 - 1183  [0.501] 4000 which is 17 ELO over 0.5.8c
    lithander committed Aug 8, 2021
    Configuration menu
    Copy the full SHA
    af1bc25 View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2021

  1. Added some stats tracking false positives (skipped moves that would h…

    …ave raised alpha) and false negatives (missed futiles) and optimized the futility pruning. 0.5.8h using futility pruning with a new Eval.Estimate(move) and depth <= 3. Over 50 ELO gain against BitGenie5 compared to 0.5.7c!
    
    Score of MinimalChess 0.5.8h vs Bit-Genie_5: 1801 - 1301 - 898  [0.563] 4000
    lithander committed Aug 11, 2021
    Configuration menu
    Copy the full SHA
    805fae8 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2021

  1. improved diagnostics of futility pruning.

    added a faster variant for GetLeastValuableAttacker that does find queens during the rook/bishop scan.
    added PST-value based SEE variants.
    lithander committed Aug 16, 2021
    Configuration menu
    Copy the full SHA
    28bd9cf View commit details
    Browse the repository at this point in the history
Loading