Em conexão com a Slither Fazer a ligação quebra-cabeça, eu estive pensando: Suponha que eu tenho um grade de células quadrados, e eu quero encontrar um ciclo simples de bordas de grade, uniformemente de forma aleatória entre todos os ciclos simples possíveis.
Uma maneira de fazer isso seria usar uma cadeia de Markov cujos estados são conjuntos de quadrados cujos limites são ciclos simples e cujas transições consistem em escolher um quadrado aleatório para girar e mantê-lo quando o conjunto modificado de quadrados ainda possui um ciclo simples, como seu limite. Pode-se passar de qualquer ciclo simples para outro dessa maneira (usando resultados padrão sobre a existência de cascas), para que isso eventualmente converja para uma distribuição uniforme, mas com que rapidez?
Como alternativa, existe uma cadeia de Markov melhor ou um método direto para selecionar ciclos simples?
ETA: Veja esta postagem no blog para obter um código para calcular o número de ciclos que estou procurando e ponteiros para o OEIS para alguns desses números. Como sabemos, contar é quase o mesmo que geração aleatória, e deduzo da falta de qualquer padrão óbvio nas fatorações desses números e da falta de uma fórmula na entrada OEIS que é improvável que exista um método direto simples conhecido . Mas isso ainda deixa as questões sobre a rapidez com que essa cadeia converge e se há uma cadeia melhor aberta.