DanielBarton446 / DanielBarton446/ShogiAI

Selective Deepening Generators

Open
#11 1 comment 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.