DanielBarton446 / DanielBarton446/ShogiAI
Selective Deepening Generators
- Dominant language
- Python
- Stars
- 1
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Since we will be looking at a subset of all possible moves, we need to create a method which prunes all legal moves to moves that have the qualifications we are looking for.
Thus, I am expecting that we create some method something along the lines
`generate_qualifying_moves()`
which will return a list of candidate moves we are allowing our alpha beta pruning to operate under.
Note: this should be done in a specific order of precedence. According to a paper, the following should be the order (for these generators):
1. Capturing pieces that the opponent just played
2. A Killer move (???) [Paper on Killer Moves](https://dl.acm.org/doi/epdf/10.1145/800179.810240)
2. Responding to opponent attacking moves (prevent attacks from coming to fruition)
3. Attacking moves
4. Defensive moves
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the existing alpha-beta pruning and legal-move generation entry points, then determine how a generate_qualifying_moves() method would fit between them. Done means returning candidate moves in the stated precedence order: captures, killer moves, responses to attacks, attacks, and defensive moves.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- ai, game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100