mwg API
    Preparing search index...

    Interface AlphaBetaGame<State, Move>

    interface AlphaBetaGame<State, Move> {
        apply: (state: State, move: Move) => State;
        currentPlayer: (state: State) => number;
        evaluate: (state: State, rootPlayer: number) => number;
        isTerminal: (state: State) => boolean;
        moves: (state: State) => readonly Move[];
    }

    Type Parameters

    • State
    • Move
    Index
    apply: (state: State, move: Move) => State

    Apply a move and return the next state. Do not mutate the input state.

    currentPlayer: (state: State) => number

    The side whose turn it is. Alpha-beta assumes a two-player zero-sum game.

    evaluate: (state: State, rootPlayer: number) => number

    Score from the perspective of the root player. Higher is better.

    isTerminal: (state: State) => boolean
    moves: (state: State) => readonly Move[]

    Legal moves from this state, in the game's preferred stable order.