O Sudoku é um quebra-cabeça bem conhecido que é conhecido por ser NP-completo e é um caso especial de um problema mais geral conhecido como quadrados latinos. Uma solução correta do quadrado consiste em preencher todas as linhas e todas as colunas com números de a sob a condição de que todo número apareça exatamente uma vez em qualquer linha ou coluna.
Eu defino um novo problema. A entrada é uma solução correta do quebra-cabeça Sudoku (mais geralmente o problema do quadrado latino). Gostaria de decidir se há permutação de linhas e permutação de colunas, de modo que nenhuma linha e nenhuma coluna contenha triplos consecutivos.
Um exemplo para uma linha sem triplo consecutivo é 9 5 6 2 3 8 4 7 1. Um exemplo para uma linha com triplo consecutivo é 8 9 5 2 3 4 7 6 1. O triplo é 2 3 4.
Suspeito que o problema seja difícil para o NP, mas não consegui encontrar uma redução.
Quão difícil é resolver esta variante do quebra-cabeça Sudoku? É NP-completo?
EDIT : Para esclarecer, a mesma permutação deve ser aplicada às colunas e às linhas.
fonte
Respostas:
Quando as permutações de linha e coluna são diferentes e as triplas consecutivas precisam aumentar: A resposta é sempre SIM.
Suponhamos que a matriz tem o tamanho . Considere uma permutação aleatória das colunas. Cada linha (por si só) é uma permutação aleatória. A probabilidade de os números aparecerem nas posições é . Existem opções para e e linhas diferentes. Portanto, o número esperado de triplos consecutivos éN× N i , i + 1 , i + 2 t , t + 1 , t + 2 1 / ( N( N- 1 ) ( N( 2 ) ) N- 2 t Eu N N( N- 2)2/ (N( N- 1 ) ( N- 2 ) ) < 1 . Concluímos que há alguma permutação das colunas, sob a qual não há triplos consecutivos em nenhuma das linhas. Agora repita o mesmo argumento para as colunas - observe que permutar as linhas não pode criar um triplo consecutivo em nenhuma delas.
Quando as permutações de linha e coluna são as mesmas e os triplos consecutivos podem aumentar ou diminuir: A resposta ainda é SIM, para grande o suficiente .N
A idéia é usar a versão desigual do lema local de Lovász , através do artigo de Lu e Székely, usando o lema local de Lovász no espaço de injeções aleatórias . Na prova anterior, consideramos os eventos para , que para uma linha (uma linha ou coluna), afirmam que para . Estes são exemplos dos eventos canônicos considerados por Lu e Székely: se a permutação aleatória (permutando linhas e colunas) é , então eles têm a forma , em queXℓ , i , t , σ σ∈ { ± 1 } ℓ ℓ ( i + σδ) = t + δ δ∈ { 0 , 1 , 2 } π π( t ) =j0 0, π( t + 1 ) =j1, π( t + 2 ) =j2 jδ=ℓ- 1( i + σδ) . Dois eventos entram em conflito se ou ( na verdade, isso é apenas uma condição necessária). Cada evento entra em conflito com no máximo outros eventos ( linhas , duas orientações, duas maneiras de entrar em conflito, cinco posições conflitantes). Embora eventos não conflitantes sejam geralmente dependentes, usando a versão desigual do lema local de Lovász, podemos ignorar isso e deixar que nosso gráfico de dependência inclua arestas apenas para eventos conflitantes. Como a probabilidade de cada evento acontecer éXℓ , i , t , σ,Xℓ′,Eu′,t′,σ′ { t , t + 1 , t + 2 } ∩ {t′,t′+ 1 ,t′+ 2 } ≠ ∅ {j0 0,j1,j2} ∩ {j′0 0,j′1,j′2} ≠ ∅ 2 N⋅2⋅2⋅5−1=40N−1 2N p=1/(N(N−1)(N−2)) e o tamanho de cada vizinhança é , o lema se aplica sempre que , ou seja,
Essa condição é satisfeita para . Concluímos que para , a permutação necessária sempre existe. Usando a versão construtiva recente da LLL, podemos encontrá-la com eficiência.d≤40N−1 ep(d+ 1)≤1
fonte