Skip to content

feat: add bounded built-in search players - #20

Merged
nosam1998 merged 2 commits into
mainfrom
feat/builtin-search-players
Sep 30, 2026
Merged

nosam1998 merged 2 commits into
mainfrom
feat/builtin-search-players

Conversation

@nosam1998

@nosam1998 nosam1998 commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

Add a core-only opponent crate with a uniform seeded random baseline, iterative-deepening alpha-beta minimax, and UCT Monte Carlo tree search. Decisions include nodes, completed depth, evaluation, principal variation, and budget exhaustion. Node, depth, and injected-clock limits bound each search.

Players receive only a seat's observation and legal actions. New provided engine hooks reconstruct planning states, with Tic-Tac-Toe and Connect Four implementations; the dynamic adapter verifies the reconstructed observation. Search currently refuses hidden-information, stochastic, and simultaneous games until their sampling policies are available. Resource levels are explicitly provisional pending calibration.

Tests cover round-trip reconstruction through random full games, tactical wins, reproducible searches, time/node limits, malformed inputs, and minimax versus random from both seats. Service scheduling and public opponent routes follow as a separate unit. Rust CI, Web CI, and game benchmarks pass. The server test suite includes four new reconstruction/search tests, and dependency boundaries and core API compatibility pass.

@nosam1998
nosam1998 marked this pull request as ready for review September 30, 2026 19:32
@nosam1998
nosam1998 merged commit 4ce7184 into main Sep 30, 2026
6 checks passed
@nosam1998
nosam1998 deleted the feat/builtin-search-players branch October 2, 2026 06:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant