@blackle You want to partition the 2^(8^2) states into 8^2 classes such that every class has an element a distance at most 1 from any given 2^(8^2).

I think we can do this by trying to communicate which row and which column it's under separately? e.g. with some sort of function on, maybe, the number of heads in each row? And we take that mod 8 to get the row of the star, and do that on cols for col of it.

@blackle then we want that function to have a way to add 0..7 to it by flipping one thing -- and we want our way of adding each of 0..7 to have a way to add an (independent) 0..7 to the result of the col function.

Can we do something like:

StarRow = 1*(#heads in row 1) + 2*(#heads in row 2) + ... + 8*(#heads in row 8) ?

... I doubt that specifically works...

@blackle hold on, going back to the thing at the beginning where I counted the states and stuff.

each state is a distance of 1 from 8^2 different states (8^2+1 if we allow distance 0, too), because we can flip any one square, and we need 8^2 different classes, so yes we do need to be maximally efficient.

... also I should probably start tagging math stuff if I wanna look back at it. #mathing