In connessione con il puzzle Slither Link , mi sono chiesto: supponiamo di avere una griglia di celle quadrate e che voglio trovare un semplice ciclo di bordi della griglia, uniformemente casuale tra tutti i possibili cicli semplici.
Un modo per farlo sarebbe usare una catena di Markov i cui stati sono insiemi di quadrati i cui confini sono cicli semplici e le cui transizioni consistono nella scelta di un quadrato casuale da capovolgere e mantenere il capovolgimento quando l'insieme modificato di quadrati ha ancora un ciclo semplice come il suo confine. Si può passare da qualsiasi ciclo semplice a un altro in questo modo (utilizzando risultati standard sull'esistenza di bombardamenti), quindi alla fine converge in una distribuzione uniforme, ma quanto velocemente?
In alternativa, esiste una catena Markov migliore o un metodo diretto per selezionare cicli semplici?
ETA: vedi questo post sul blog per il codice per calcolare il numero di cicli che sto cercando e indicazioni per OEIS per alcuni di questi numeri. Come sappiamo, il conteggio è quasi la stessa cosa della generazione casuale, e deduco dalla mancanza di qualsiasi modello evidente nelle fattorizzazioni di questi numeri e dalla mancanza di una formula nella voce OEIS che è improbabile che ci sia un noto metodo diretto semplice . Ma ciò lascia ancora la questione di quanto velocemente converga questa catena e se ci sia una catena migliore spalancata.