Uploaded by vanessabartoski

Apresentação - Trabalho 3

advertisement
Programa de Pós Graduação em Ciência da Computação
Teoria da Computação
Prof.: Rafael Heitor Bordini
Sudoku is NP-Complete???
Vanessa de Moura Bartoski
Sudoku is NP-Complete???
Roteiro
• Sudoku
• Definição do problema
• Prova da NP Completude
• Prova NP
• Redução de LSC para SPC
• Conclusão
• Referências
Vanessa de Moura Bartoski
Sudoku is NP-Complete???
Vanessa de Moura Bartoski
Sudoku is NP-Complete???
Objetivo do jogo: No jogo Sudoku, deseja-se determinar
uma configuração final válida para um dado tabuleiro, isto
é, deseja-se estender a grid inicial de forma a se obter uma
grid com todas as células preenchidas e sem valores
repetidos em uma unidade.
Vanessa de Moura Bartoski
GRID VAZIO
GRID
PARCIALMENT
E PRENCHIDO
POLINOMIAL
EXPONENCIAL
NP-DIFICIL
NPCOMPLETO
O Sudoku é um problema NP-difícil [Yato and Seta 2002], e
os algoritmos conhecidos possuem tempo de execução
exponencial em n.
Sudoku is NP-Complete???
Vanessa de Moura Bartoski
O problema:
A instância atual do Sudoku possui uma solução válida?
Sudoku is NP-Complete???
Vanessa de Moura Bartoski
Prova da NP-Completude
Existe um algoritmo de verificação em tempo polinomial?
Existe um problema NP-Difícil cujas instâncias podem ser reduzidas à
instâncias de Sudoku?
Sudoku is NP-Complete???
ALGORITMO VERIFICADOR: Esse algoritmo
possui complexidade linear em relação ao
número total de células do Sudoku (𝑛2 ∗ 𝑛2 ),
ou seja, 𝑂(𝑛4 ), valor polinomial. Se a solução
candidata for correta, o algoritmo retorna que a
solução é satisfatória, caso contrario ele
informa que a solução não resolve o problema.
Vanessa de Moura Bartoski
Vanessa de Moura Bartoski
Sudoku is NP-Complete???
Redução – LSC PARA SPC:
Dada uma ordem n, uma matriz 𝐿 ∈ ℝ𝑛∗𝑛 e um conjunto 𝐻 de
coordenadas (𝑖; 𝑗) 𝑠. 𝑑. 𝐿 (𝑖; 𝑗) 2 [1; 𝑛] e os elementos em 𝐻𝐢
são deixados em branco, há uma maneira de atribuir os rótulos
de 1 an para os elementos em HC de forma que o mesmo
rótulo apareça exatamente uma vez em cada linha e coluna?
1
2
4
9
5
Vanessa de Moura Bartoski
Sudoku is NP-Complete???
Redução – LSC PARA SPC:
1
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
1
3
4
5
6
7
8
9
1
2
2
Para dar uma redução, dada uma instância do problema
LSC, um quebra-cabeça sudoku deve ser construído que
seja solucionável se e somente se o quadrado latino for.
3
Passo 1: Construir o SUDOKU da mesma forma que o
sudoku da redução anterior.
5
4
6
7
8
9
Vanessa de Moura Bartoski
Sudoku is NP-Complete???
Redução – LSC PARA SPC:
1
2
3
4
5
6
7
8
9
1
1
2
3
4
5
6
7
8
9
2
4
5
6
7
8
9
1
2
3
3
7
8
9
1
2
3
4
5
6
4
2
3
4
5
6
7
8
9
1
5
5
6
7
8
9
1
2
3
4
6
8
9
1
2
3
4
5
6
7
7
3
4
5
6
7
8
9
1
2
8
6
7
8
9
1
2
3
4
5
9
9
1
2
3
4
5
6
7
8
Vanessa de Moura Bartoski
Sudoku is NP-Complete???
Redução – LSC PARA SPC:
Para dar uma redução, dada uma instância do
problema LSC, um quebra-cabeça sudoku deve ser
construído que seja solucionável se e somente se o
quadrado latino for.
Nesta solução, um quadrado latino pode ser encontrado
com rótulos não consecutivos.
1
2
3
4
5
6
7
8
9
1
1
2
3
4
5
6
7
8
9
2
4
5
6
7
8
9
1
2
3
3
7
8
9
1
2
3
4
5
6
4
2
3
4
5
6
7
8
9
1
5
5
6
7
8
9
1
2
3
4
6
8
9
1
2
3
4
5
6
7
1
4
7
7
3
4
5
6
7
8
9
1
2
4
7
1
8
6
7
8
9
1
2
3
4
5
7
1
4
9
9
1
2
3
4
5
6
7
8
Vanessa de Moura Bartoski
Sudoku is NP-Complete???
Redução – LSC PARA SPC:
1
Se os rótulos do problema LSC fornecido forem
ajustados para caber no quebra-cabeça do sudoku e
esses rótulos forem colocados nos quadrados em
branco, o resultado é um quebra-cabeça do sudoku
que só pode ser resolvido se o quadrado latino puder
ser completado. Este é o esboço de como a
transformação funcionará.
2
3
1
2
2
3
4
5
6
3
5
5
6
8
9
7
8
9
6
8
9
8
9
2
3
2
3
5
6
4
2
3
4
5
6
7
8
9
1
5
5
6
7
8
9
1
2
3
4
6
8
9
1
2
3
4
5
6
7
1
4
7
7
3
4
5
6
7
8
9
1
2
4
7
1
8
6
7
8
9
1
2
3
4
5
7
1
4
9
9
1
2
3
4
5
6
7
8
Vanessa de Moura Bartoski
Sudoku is NP-Complete???
Prova: da esquerda pra direita
1
1
4
7
4
7
1
7
1
4
2
3
1
2
2
3
4
5
6
3
5
5
6
8
9
7
8
9
6
8
9
8
9
2
3
2
3
5
6
4
2
3
4
5
6
7
8
9
1
5
5
6
7
8
9
1
2
3
4
6
8
9
1
2
3
4
5
6
7
7
3
4
5
6
7
8
9
1
2
8
6
7
8
9
1
2
3
4
5
9
9
1
2
3
4
5
6
7
8
Vanessa de Moura Bartoski
Sudoku is NP-Complete???
Prova
1.
2.
3.
4.
5.
6.
7.
Sudoku is NP-Complete???
Prova: Regra da linha
Vanessa de Moura Bartoski
Sudoku is NP-Complete???
Prova: Regra da coluna
Vanessa de Moura Bartoski
Sudoku is NP-Complete???
Prova: Regra dos sub-blocos
Vanessa de Moura Bartoski
Vanessa de Moura Bartoski
Sudoku is NP-Complete???
Prova: da direita pra esquerda
1
1
4
7
4
7
1
7
1
4
2
3
1
2
2
3
4
5
6
3
5
5
6
8
9
7
8
9
6
8
9
8
9
2
3
2
3
5
6
4
2
3
4
5
6
7
8
9
1
5
5
6
7
8
9
1
2
3
4
6
8
9
1
2
3
4
5
6
7
7
3
4
5
6
7
8
9
1
2
8
6
7
8
9
1
2
3
4
5
9
9
1
2
3
4
5
6
7
8
Sudoku is NP-Complete???
Prova:
Vanessa de Moura Bartoski
Sudoku is NP-Complete???
Prova:
Vanessa de Moura Bartoski
Sudoku is NP-Complete???
Vanessa de Moura Bartoski
Conclusão
Agora foi mostrado que a instância do problema SPC mostrada lá atrás é solucionável se e somente se a instância do problema LSC é
solucionável. Isso significa que esta transformação de L para L’ é uma redução de LSC para SPC.
Reivindicação: O problema SPC é NP-completo!!!
Prova: Foi mostrado que o problema SPC é NP, mostrando uma solução que poderia ser verificada em tempo polinomial. E agora por
último foi demonstrado que há uma redução de LSC para SPC. Esta redução pode ser facilmente executado em tempo polinomial. Dada
uma instância do problema LSC, o tamanho da entrada é polinomialmente relacionado à ordem n. Uma matriz 𝑛2 ∗ 𝑛2 é criada (𝑂 (𝑛4 )) e
os rótulos apropriados são atribuídos de acordo com a definição de 𝑆 (𝑖; 𝑗) (𝑂 (𝑛4 )). Isso significa que o processo é resolvido em
complexidade de tempo 𝑂(𝑛4 ). Como a redução pode ser realizada em tempo polinomial, isso mostra que o problema SPC é NPcompleto.
Sudoku is NP-Complete???
Vanessa de Moura Bartoski
Referências
Takano, Kevin. Freitas, Rosiane de. Sá, Vinicius G Pereira de Sá. O jogo de lógica Sudoku: modelagem teórica, NP-completude, algoritmos e
heurísticas. Instituto de Computação – Universidade Federal do Amazonas (UFAM)
69077-000 – Manaus-AM, Brasil and Instituto de Matemática – Universidade Federal do Rio de Janeiro (UFRJ)
21941-590 – Rio de Janeiro-RJ, Brasil. Disponível em: <http://caiocv.com/wpcontent/uploads/2018/07/Projeto_e_An_lise_de_Algoritmos____Solu__o_do_Sudoku_por_Colora__o_de_Grafos.pdf>
Yato and Seta (2002). Complexity and completeness of finding another solution and its application to puzzles. In Procceedings of The
National Meeting of the Information Society of Japan (IPSJ).
Albuquerque, Lázaro. Freitas, Rosiane. O jogo Sudoku, pré-coloração estendida em hipergrafos e algoritmos de enumeração implícita.
Disponível em: <http://www.din.uem.br/sbpo/sbpo2013/pdf/arq0393.pdf>
Hoexum, Eline Sophie. Revisiting the proof of the complexity of the sudoku puzzle. Disponível em:
<https://fse.studenttheses.ub.rug.nl/22745/1/bMATH_2020_HoexumES.pdf.pdf>
Michael Sipser, Introduction to the Theory of Computation, 2nd edition, 2006.
Download