W związku z układanką Slither Link zastanawiałem się: Załóżmy, że mam siatkę kwadratowych komórek i chcę znaleźć prosty cykl krawędzi siatki, równomiernie losowy wśród wszystkich możliwych prostych cykli.
Jednym ze sposobów na to byłoby użycie łańcucha Markowa, którego stanami są zbiory kwadratów, których granice są prostymi cyklami i których przejścia polegają na wybraniu losowego kwadratu do przerzucenia i zachowaniu przerzutu, gdy zmodyfikowany zestaw kwadratów nadal ma prosty cykl jako jego granica. W ten sposób można przejść z dowolnego prostego cyklu do dowolnego innego (korzystając ze standardowych wyników dotyczących istnienia ostrzałów), więc ostatecznie zbiega się to do jednolitego rozkładu, ale jak szybko?
Alternatywnie, czy istnieje lepszy łańcuch Markowa, czy też bezpośrednia metoda wyboru prostych cykli?
ETA: Zobacz ten post na blogu, aby znaleźć kod do obliczenia liczby cykli, których szukam, i wskazuje na OEIS dla niektórych z tych liczb. Jak wiemy, liczenie jest prawie tym samym, co generowanie losowe, i wnioskuję z braku jakiegokolwiek oczywistego wzorca faktoryzacji tych liczb i braku wzoru we wpisie OEIS, że mało prawdopodobne jest, aby znana była prosta metoda bezpośrednia . Ale to wciąż pozostawia pytania o to, jak szybko ten łańcuch zbiega się i czy istnieje lepszy łańcuch szeroko otwarty.