Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Task submission #4

Open
wants to merge 13 commits into
base: main
Choose a base branch
from
Open

Task submission #4

wants to merge 13 commits into from

Conversation

khemichew
Copy link

The following improvements/features have been introduced for this implementation of the m,n,k-game:

  • pretty-printing
  • arbitrary undo move mechanism
  • ability to preload board state
  • optimised O(k) time complexity win checker if the move sequence is stored and the current move can be located, or O(m * n) time complexity if no move sequence is stored (ie. when the board state is preloaded)
  • a minimax solver that brute-forces the entire game tree with a trivial evaluation function
  • alpha-beta pruning for minimax
  • naive transposition table for minimax, adopting Zobrist hashing approach to calculate the hashcode

I suppose minimax can be further improved by storing beta-cutoff evaluations, using the best move(s) in iterative deepening search, and using the transposition table to store the results between each move executed; though I had a big setback trying to figure a non-trivial evaluation function and have yet to figure a good heuristic for the particular game variant.

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