Postby Soupspoon » Fri Jul 29, 2016 10:25 pm UTC
I have pondered, but not yet implemented beyond a form of 'statefulness', my analysis of Ideal Jenga. I'll put what I have down here before I put things aside for the night, and I know I won't have time to continue until late tomorrow at the earliest.
Forgive the likely non-standard notation, but hopefully it is self explanatory enough.
Define superstates S, A, B and C as having four explicit metrics across them all, and each representing a fifth metric implictlly.
S ('starting state') has 11 'Threes' (full 'floors', assuming a total of 36 blocks, excluding the top layer), zero 'Pairs' (floors with two adjacent blocks, one a centre, but one missing edge), zero 'Splits' (two edge blocks remain, separated by a missing central block), and zero 'Singles' (a solitary central block, both edges removed previously). Implicitly, S has 3 'Tops' (blocks on the top whole layer that cannot be legally removed in a turn). For setups of other than 36 blocks, adjust the Threes and the assumed Top number appropriately, naturally, and potentially the entry-point marked*, below.
It does not matter what order the Threes, Pairs, Splits and Singles are stacked, assuming theoretical maximum mathematical stability for our purposes.
For states with 3 Tops (S*|C) three changes may be possible:
If Threes>0, a centre block may be removed. Change Threes-1, Splits+1 (implicitly, Top=4, a full layer and a solo block) and state=>A
If Threes>0, an edge block may be removed. Change Threes-1, Pairs+1 (implicitly, Top=4) and =>A
If Pairs >0, a second-edge may be removed. Change Pairs-1, Singles+1 (Top=4) and =>A
A slightly repetitious version for the 4 Top state (A):
If Threes>0, a centre block may be removed. Change Threes-1, Splits+1 (Top=5, a full layer and a two more blocks) and state=>B
If Threes>0, an edge block may be removed. Change Threes-1, Pairs+1 (Top=5) and =>B
If Pairs >0, a second-edge may be removed. Change Pairs-1, Singles+1 (Top=5) and =>B
And repeat (with modifications! ) for the 5 Top state (B):
If Threes>0, a centre block may be removed. Change Threes-1 then re-add one so actually unchanged, Splits+1 (implicitly, Top=6-3, a new full layer, the previous one now replenished the Threes count) and state=>C
If Threes>0, an edge block may be removed. Change Threes-1+0=unchanged, Pairs+1 (implicitly, Top=6) and =>C
If Pairs >0, a second-edge may be removed. Change Threes+1, whilst Pairs-1, Singles+1 (Top=6) and =>C
The cycle S=>{A=>B=>C=>...} repeats until there are no valid moves (Threes=Pairs=0, Splits and Singles and Tops are all that remain), at which point a loss is forced. There is a finite 'net' of gameplay (always a loss of Threes, across each full cycle of three moves, whether that is one or two of them; Splits and Singles, meanwhile, irrevocably accumulate at the same combined rate(?)) and there may well be a single Nimesque strategy applicable in a game of N playes that one player can use every Nth turn to avoid loss or N-1 players must use to force the remainng playet to take the loss or possibly somewhere inbetween. For arbitrary or specific N, to be determined.