Play Olimpia

Olimpia is a classical alpha-beta chess engine in Python, compiled at startup with Numba, built for the AI Chessathon. Each reply on this page comes from that engine, searching live on a small server for up to half a second.

Your move.

Last search

Nodes per second
–
Nodes
–
Depth completed
–
Search time
–
Root score
–

Read from the engine's own counters after each search. The time budget is fixed at 500 ms a move, and the engine may stop earlier if it predicts the next depth will not fit.

Moves

    What you are playing

    The server runs the competition file, agent.py, unchanged behind a small HTTP endpoint: a position goes in as FEN and a move comes back. Its board, move generator, evaluation and search are compiled by Numba when the server starts. The search is negamax with alpha-beta, iterative deepening, aspiration windows, a transposition table, principal variation search, null-move pruning, late move reductions, static exchange evaluation and more, all listed in the repo's build notes.

    This is not its tournament strength

    Results from the repo's notes

    Measured by the team, as recorded in NOTES.md. The Elo rows are head-to-head matches between builds, not ratings against the field.
    MeasureResult
    Search speed, pure Python to compiledabout 13,000 to 1.4–2.0 million nodes per second
    Time management change (build K vs H)+61 Elo, 95% CI [+35, +88], 513 games at 120 s + 0.5 s, sequential test accepted
    SEE, table in quiescence, fail-soft (build L vs K)+53 Elo, 95% CI [+31, +76], 629 games, sequential test accepted

    Tournament games are not replayed here: the board above is always a live game. The repo forks aichessathon-starter (MIT licence, Advit Arora). Source on GitHub, including this demo. The board uses chess.js for the rules.