AI Review updates 2019-06-19

I was trying write some pseudo code but it was looking very messy so I’ll just try bullet points.

Problem: It draws later move numbers over earlier move numbers if the multiple moves of the sequence are at the same board position. Examples where this occurs are ko-fights, captures that are forced to be filled in by atari, or squeezes after a capture, throw ins etc. It can make it hard to follow the sequence because you can’t find move number 2, since it shows move 23 instead which was played at the same point later on.

Summary/Rules to implement, from the discussed cases below:

  • For empty points on the board that will be played on by leela in future, choose the earliest number after the current move number to display. If it’s empty now but was played on before it has been captured and we want to leave room for this to be played on again, and the move number it is.

  • For filled points, choose the latest number in the sequence up to and including the current move number. The idea is that if you’re ten moves into a ko fight, it doesn’t matter if move 1 is in the same place as move 10, you only care about 10 if it’s on the board right now, since you want to know who captured last, and when can you capture again. Similarly if there’s a throw in and a squeeze, you only care about the last number which actually corresponds to the stone on the board (since these could have opposite colors).


Points in the review by leela and what to do:

  1. Right at the start of a leela variation: No moves (barring the first which is necessary) of a Leela variation have been played:
    *Only draw earlier move numbers; if two moves are to be drawn in the same location choose the earlier move number to display. Example: the board and move linked earlier krishnav14 vs. shinuito move 56 blue move.
    *If a leela move is to be played later in the sequence and there is already a stone on the board there from before this leela variation, maybe don’t display a number there yet. It will most likely be confusing to see a number on top of a stone already on the board but not yet played in the variation. Eg (same game) krishnav14 vs. shinuito move 205 the blue move. Actually in this example move 1 becomes numbered move 8 immediately, which is even more confusing.

  2. Some Leela moves have been played and there have been some captures:
    *We draw move numbers as before for moves leela has put on the board up to the current move.
    *We stop writing a move number on the board for a stone earlier in this sequence if is no longer on the board. This leaves room for a faint number/stone that may come up later in the sequence.
    *If we’re in a situation where two moves have been made on the same point in leela’s variation we keep the latest number in the sequence for this point, if the latest stone is still on the board. This is because this is the relevant number for our current point in leelas variation.
    *We draw faint stones and move numbers as usual for LATER moves in the leela sequence to be played with the same rules as in point 1. (keeping only earlier numbers if again there are more moves to come which will be played upon the same point multiple times eg ko fight.)

  3. At the end of the leela sequence there’s no more faint moves/continuations to display:
    *Only show move numbers for stones still on the board as in point 2, (It’s just consistent I suppose?) but it probably doesn’t matter what number is here at the end of the variation if there’s no stone on the point in question.
    *Again only show the latest move number for stones on the board. Since we’re at the end these are more important than seeing that the 1st move was at so and so point if it’s been covered over/filled in later on.

1 Like