It struggles a little with complex positions, like when there are an even number of moves and it has to round down, but when run against itself it’s capable of finding some novelties. At one point I saw six knights on the board at once; Stockfish rarely exceeds four.

https://explainxkcd.com/3045/

  • zabadoh
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    1 hour ago

    The writer played multiple games of chess against some conventional chess programs or AIs, and used a simple algorithm to determine their own moves:

    For each move, the writer:

    1. Generated a list of all possible moves in the current position, and the moves were recorded in standard algebraic chess notation
    2. Sorted the list of possible moves in alphabetic order
    3. Used the move that was in the center of the sort order, but I have no idea what they did if the number of possible moves was even

    This algorithm for choosing chess moves did not result in optimal play, and lost badly against the standard chess programs/AIs.

    The illustrated position shows the algorithm generating a blunder or useless move for White (Ne2) that allows a checkmate victory for Black with their next move (… b4#), i.e. “Black Bishop moves to b4, checkmate.”

    Black’s winning move is not shown, likely as a brainteaser for the readers.

    The writer named their algorithm “AlphaMove” as a take on Google’s famous chess playing AI from 2017 named “AlphaZero”.

    Except in the writer’s case, the “Alpha” in their algorithm’s name is short for “alphabetic”, which makes the expanded name “Alphabetic(-sort)Move”.

    • Soulg@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 hours ago

      He mentioned that it rounded down when even, so I’m assuming it went forward one place.

      Also, wouldn’t checkmate be notated with #?

      • zabadoh
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 hour ago

        You’re right, “#” for checkmate is in more common use than the “++”