Project DelphiTensors Workshop

Mistake: clearing two cells at once lowers the count faster

“Strassen’s first move clears two of the multiplication tensor’s 1s where a schoolbook move clears one, so it leaves fewer nonzero cells than a schoolbook move would.”

weights = np.array([1, 0, 0, 1]) move = np.einsum("a,b,c->abc", weights, weights, weights) before = np.count_nonzero(rule) after = np.count_nonzero(rule - move) assert (before, after) == (8, 12)

The move subtracts 1 from eight cells. Two held a 1 and go to 0, as the claim says. The other six held 0 and go to −1 — which the claim forgets. The count rises from 8 to 12, where a schoolbook move would have left 7.

The seven-move win begins by making the position look worse, which is why a player who only takes moves that lower the count never finds it.