Ancestral samplers are deterministic btw, but I think because they build off of the previous step it’s more obvious when the determinism is broken by optimizations.
The only way to bring non-determinism into a computer is to collect physical noise, when you set a seed the computer generates a sequence of numbers (and thus noise) that is statistically indistinguishable from physical noise but actually deterministic. The ancestral samples just add more of that deterministic noise to things.
Of course the whole thing is rather moot because there’s arguments to be had that physics itself is deterministic. Use of physical noise in computers is pretty much limited to situations where you want to make it impossible to guess which seed was used and thus reconstruct the noise, or, differently put: In cryptography.
To make this tangible: Remember good ole SNES games and their “push start” screens? They’d compare when you pressed the button to when the system booted up, then use that value as a seed for all the randomness in the game. As a human it’s practically impossible to hit a particular seed but a computer playing an emulated SNES game can abuse such shenanigans, that’s relevant in the automated speed run community.
Ancestral samplers are deterministic btw, but I think because they build off of the previous step it’s more obvious when the determinism is broken by optimizations.
Interesting. My A1111 SD has been broken after I tried running XL so I haven’t touched it in a while. I’ll go test it sometimes after I reset it.
The only way to bring non-determinism into a computer is to collect physical noise, when you set a seed the computer generates a sequence of numbers (and thus noise) that is statistically indistinguishable from physical noise but actually deterministic. The ancestral samples just add more of that deterministic noise to things.
Of course the whole thing is rather moot because there’s arguments to be had that physics itself is deterministic. Use of physical noise in computers is pretty much limited to situations where you want to make it impossible to guess which seed was used and thus reconstruct the noise, or, differently put: In cryptography.
To make this tangible: Remember good ole SNES games and their “push start” screens? They’d compare when you pressed the button to when the system booted up, then use that value as a seed for all the randomness in the game. As a human it’s practically impossible to hit a particular seed but a computer playing an emulated SNES game can abuse such shenanigans, that’s relevant in the automated speed run community.