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.