Por que esse problema indecidível não está no NP?


25

Claramente, não há problemas indecidíveis no NP. No entanto, de acordo com a Wikipedia :

NP é o conjunto de todos os problemas de decisão para os quais as instâncias em que a resposta é "sim" têm [..] provas que são verificáveis ​​em tempo polinomial por uma máquina determinística de Turing.

[...]

Diz-se que existe um problema no NP se e somente se existir um verificador para o problema que é executado no tempo polinomial.

Agora considere o seguinte problema:

Dada uma equação diofantina , ela possui soluções inteiras?

Dada uma solução, é fácil verificar em tempo polinomial que realmente é uma solução: basta inserir os números na equação. Assim, o problema está no NP. No entanto, resolver esse problema é conhecido por ser indecidível !

(Da mesma forma, parece que o problema de parada deve estar no NP, pois a solução "yes" de "este programa pára na N-ésima etapa" pode ser verificada em N etapas.)

Obviamente, há algo errado com meu entendimento, mas o que é isso?


1. Lembre-se de que a definição que você está citando é para problemas de decisão. 2. Com relação ao seu exemplo diofantino, você não está afirmando que todo sistema existe um limite polinomial no tamanho das soluções, certo?
Dmitri Chubarov

@Dmitri: Er, sim, estou afirmando isso. O tamanho da solução é exatamente igual ao tamanho do problema - se houver N desconhecidos, a solução conterá N inteiros. E esse é um problema de decisão - a solução inteira (necessária para verificar o caso "yes") seria seu certificado .
BlueRaja - Danny Pflughoeft

19
A questão é: qual o tamanho dos intgerers
Artem Kaznatcheev

10
@ BlueRaja-DannyPflughoeft se você tiver um alfabeto infinito para codificar seus números inteiros, não estará mais na configuração padrão da teoria da complexidade. Com um alfabeto finito, o tamanho da codificação aumenta com o valor de um número inteiro.
Dmitri Chubarov

Uma solução para o problema de parada retornaria "Sim", sem dar uma dica de quantas etapas simular para verificação.
RemcoGerlich

Respostas:


10

Uma definição equivalente de NP é que ele consiste em todos os problemas que são decidíveis (não apenas verificáveis) no tempo polinomial por uma máquina de Turing não determinística. Sabe-se que as MNTs não são mais poderosas que as TMs, no sentido de que o conjunto de problemas decididos pelas NTMs é idêntico ao conjunto de problemas decididos pelas TMs; portanto, claramente por essa definição não pode haver problemas indecidíveis no NP.

Para demonstrar que as duas definições de NP são equivalentes, dada a existência de um verificador determinístico, é possível demonstrar que existe uma decisão não determinística e vice-versa.

Digamos que você tenha um verificador polinomial determinístico. Depois, há também uma máquina que não determina de maneira determinística um certificado de um comprimento delimitado pelo polinômio correspondente ao tamanho do certificado vinculado a esse problema / verificador e, em seguida, executa o verificador. Como o alfabeto é finito, o certificado para qualquer entrada é finito (e no máximo polinomial no tamanho da entrada) e o verificador é executado em tempo polinomial, a máquina pára em todas as ramificações de todas as entradas e é executada em (não- determinístico) polinomial. Portanto, existe um fator não determinístico para cada verificador determinístico.

Se você tiver uma decisão não determinística, para cada cálculo aceitante, você pode anotar o caminho das escolhas tomadas pela decisão para alcançar o estado de aceitação. Como o decisor é executado no tempo polinomial, esse caminho terá o maior comprimento polinomial. E é fácil para uma TM determinística validar que esse caminho é um caminho válido através de um NTM para um estado de aceitação; portanto, esses caminhos formam certificados para um verificador de tempo polinomial para o problema. Portanto, existe um verificador determinístico para todo decisor não determinístico.

Portanto, qualquer problema indecidível não pode ter um verificador que funcione em certificados de tamanho polinomial (caso contrário, a existência do verificador implicaria a existência de um decisor).


Quando você afirma que existe um verificador para o problema de interrupção, o certificado do qual você está falando é uma codificação de (TM, I, N), onde a TM pára na entrada I em N etapas. De fato, isso pode ser verificado em N etapas, mas o tamanho do certificado não é polinomial no tamanho da entrada (TM, I) do problema original (o problema de parada); N pode ser arbitrariamente grande (independentemente da codificação). Se você tentar converter esse verificador em uma decisão não determinística, você acaba com uma máquina um tanto interessante. Você deve poder provar que, quando executado em (TM, I) para uma TM que nãoParar na entrada I Não existem caminhos sem interrupção na máquina, mas também que, para qualquer caminho que leva a um estado de parada, sempre existe outro caminho mais longo (correspondendo a um palpite de um N maior) e, portanto, não existe um limite finito. seu tempo de execução. Essencialmente, isso ocorre porque existe um espaço infinito que precisa ser explorado pela suposição inicial não determinística. A conversão desse NTM em uma TM determinística leva a uma daquelas máquinas que não fazem loops nem param em alguma entrada. De fato, não existe NTM que possa decidir o problema de interrupção e, portanto, não há verificador que funcione em certificados com um tamanho limitado.

Não estou tão familiarizado com as equações diofantinas, mas parece que essencialmente o mesmo problema se aplica ao seu argumento.

Por esse motivo, acho mais fácil argumentar sobre a definição de NP do NTM. Existem verificadores para problemas indecidíveis (apenas aqueles que funcionam em certificados que têm um tamanho polinomial vinculado ao tamanho da entrada do problema original). De fato, qualquer TM que reconheça, mas não decida, algum idioma pode ser facilmente convertida em um verificador para o mesmo idioma.

Se você pensa em verificadores, suponho que você tenha que estabelecer limites de tempo em termos do tamanho da entrada original do problema , não em termos do tamanho do certificado; você pode aumentar arbitrariamente o tamanho dos certificados, para que o verificador seja executado em um tempo menor, em termos do tamanho do certificado.


26

Acho que você não entendeu o que significa resolver uma equação diofantina e o teorema da indecidibilidade de Matiyasevich .

Matiyasevich provou que para todo conjunto de ER existe uma equação diofentina tal que somente se existir coeficientes inteiros , .., tal que . Em particular, o problema de parada é um conjunto típico de ER e, portanto, a solução do problema acima é indecidível.f ( n , x 1 , . . . , X k ) n S x 1 x k f ( n , x 1 , . . . , X k ) = 0Sf(n;x1,...,xk)nSx1xkf(n;x1,...,xk)=0

Observe que não são delimitados em tamanho e, em geral, podem ser arbitrariamente grandes, portanto, não há "certificado de tamanho polinomial" evidente neste problema.x1,...xk

Para expandir: os números inteiros precisam ser escritos em binário para serem um certificado. Como esses números inteiros podem ser arbitrariamente grandes (independentemente de ), temos que o certificado não é polinomial em ou mais importante, não é limitado por uma função computável. n log nx1,...,xknlogn

NPp(N)NNPp(N)


É claro que entendo o que significa "resolver uma equação diofantina" - você encontra números que satisfazem a equação. Não vejo por que o teorema da indecidibilidade de Matiyasevich ou os conjuntos recursivamente enumeráveis ​​precisam ser trazidos para a discussão. Mas eu acho que o último parágrafo pode explicar isso ... #
BlueRaja # Danny Pflughoeft

11
Tudo bem, essa nova edição explica - isso também explica por que o problema da parada não está no NP, pois as etapas necessárias para interromper podem ser arbitrariamente grandes. Obrigado!
BlueRaja - Danny Pflughoeft

Minha edição sugerida foi remover os dois primeiros parágrafos. Os dois primeiros parágrafos explicam por que o décimo problema de Hilbert é indecidível, o que é completamente tangencial à questão; eles apenas diminuem o restante da resposta (que é uma ótima resposta caso contrário!) .
BlueRaja - Danny Pflughoeft

@ BlueRaja-DannyPflughoeft se o primeiro parágrafo o insultou, então posso removê-lo (embora você tenha perguntado "o que há de errado com meu entendimento?"). O segundo parágrafo é necessário para configurar o problema de maneira mais formal, já que você não faz sua pergunta.
Artem Kaznatcheev

3
@ BlueRaja-DannyPflughoeft É melhor que as perguntas e respostas sejam independentes. Meu segundo parágrafo define o problema e explica o que significa para esse problema ser indecidível. Meu terceiro parágrafo dá a resposta rápida. Meu quarto e quinto parágrafo expandem isso com mais detalhes. Até onde eu sei, todos os parágrafos são necessários.
Artem Kaznatcheev

8

Você deveria ter rolado para baixo até a definição formal :

LpqM

  • xMp(|x|)(x,y)
  • xLyq(|x|)M(x,y)=1
  • xLyq(|x|)M(x,y)=0

Ou seja, um verificador precisa trabalhar também em não soluções. Em algum lugar lá, problemas indecidíveis falham (no seu caso, a restrição de comprimento dos candidatos à solução provavelmente não é atendida), como é óbvio pela definição (no sentido da computabilidade) mais clara :

NP é o conjunto de problemas de decisão decididos por uma máquina de Turing não determinística que é executada em tempo polinomial.


"um verificador precisa trabalhar também em não-soluções" - se você está dizendo que o verificador precisa falhar em não-soluções, já o faz. Se você está reivindicando que o verificador precisa ser capaz de verificar respostas "não", isso está incorreto - isso seria co-NP . E eu já estou ciente da segunda definição, mas fiquei confusa sobre como ela poderia ser equivalente à primeira, já que uma definição parece admitir o problema na pergunta, enquanto a outra não.
BlueRaja # Danny Pflughoeft

@ BlueRaja-DannyPlughoeft: Minha observação é: os verificadores precisam refutar as não soluções. Se você está ciente disso, edite sua pergunta de acordo; isso faz você parecer incognoscível.
Raphael

É trivialmente óbvio que o verificador já refuta não-soluções: basta inserir os números na equação e ver se ele é válido. Receio não entender o que você está tentando alcançar.
BlueRaja # Danny Pflughoeft

@ BlueRaja-DannyPlughoeft: A "definição" citada não especifica esse comportamento.
Raphael

-1

Eu tento fornecer mais detalhes para a minha resposta acima.

De fato, essa questão é um problema de dilema.

Por um lado, o Problema da Equação Diofantina (DEP) é indecidível de acordo com o teorema de Matiyesevich (o teorema de Matiyesevich responde ao décimo problema de Hilbert, e o problema de Turing de Halting responde à generalização do décimo problema de Hilbert, ou seja, o problema de Entscheidung); mas, por outro lado, não há nenhum problema indecidível no PN de acordo com a definição de PN (decidível e verificável).

Ou seja, DEP não está em NP ou DEP está em NP. Ambos dizem respeito à definição de NP.

Se a DEP não estiver na NP, isso significa que os problemas na NP (NDTM) não são determináveis ​​na máquina de Turing) são decidíveis e verificáveis, ou seja, aceitamos P = NP (NDTM).

Se DEP estiver em NP, então NP (NTM = Non Turing Machine) contém decidível e indecidível, obviamente decidível é verificável; portanto, o problema é se indecidível é verificável? De fato, esse é o famoso problema de P vs. NP. Certamente, indecidível é inverificável; portanto, NP corresponde a NTM (Non Turing Machine) em vez de NDTM (NonDeterminstic Turing Machine).

Seguindo a premissa de DEP, está em NP (NTM), pensamos que o NP (NTM) é um problema não determinístico (indecidível), e a definição atual de NP (NDTM, decidível e verificável) perdeu esse indeterminismo (indecidível), então achamos que precisa ser questionado.


11
Não, a indecidibilidade do DEP (décimo problema de Hilbert) não foi demonstrada até 1970, por Matiyesevich. O problema de Entscheidung não é o décimo problema de Hilbert; diz respeito à validade das fórmulas da lógica de primeira ordem. E, mais uma vez, o problema P vs. NP não é absolutamente um problema sobre se problemas indecidíveis são verificáveis.
David Richerby

11
Se você quiser fornecer mais detalhes, edite sua postagem original.
Tom van der Zanden

@DavidRicherby Note que a resposta dada por Ben: «o conjunto de problemas decididos pelas MNTs é idêntico ao conjunto de problemas decididos pelas TMs». Nesse sentido, acho que a definição de PN confunde P com PN e leva a P = NP (NDTM). Se essa definição precisar ser questionada, outras conclusões deduzidas dessa definição, como a equivalência de um verificador determinístico e um decisor não determinístico, também precisam ser questionadas.
Yu Li

@YuLi "leva a P = NP (NDTM)". Não tenho ideia do que você quer dizer com isso. Além disso, não vejo a relevância de salientar que as TMs e NTMs decidem os mesmos idiomas. Se eles não decidissem as mesmas linguagens, os NTMs seriam um modelo de computação completamente irracional e é difícil imaginar que gostaríamos do que eles podem calcular em tempo polinomial. Na teoria da complexidade, estamos adotando uma visão mais refinada e perguntando sobre os recursos computacionais necessários e a definição de NP não confunde isso.
David Richerby

@DavidRicherby Obrigado, modifiquei minha resposta de acordo com a sua observação, a fim de esclarecer a relação entre o problema de Entscheidungs ​​e o décimo problema de Hilbert. No que diz respeito à pergunta sobre a atual definição de PE, é difícil discutir em várias palavras. O objetivo da minha resposta é apenas para evocar algumas reflexões sobre este tema básico, ...
Yu Li

-2

Achamos que o dilema que você levantou sobre a equação diofantina é muito significativo, porque revela algo anormal na definição atual de PN: - Diz-se que existe um problema em PN se e somente se existe um verificador para o problema que é executado em polinômio Tempo.

No que diz respeito à definição de NP, ela pode ser rastreada até os anos 60, onde um grande número de problemas aplicáveis ​​e significativos foram descobertos para os quais não foram encontrados algoritmos polinomiais para resolvê-los, a fim de reconhecer esses problemas daqueles problemas solucionáveis ​​no tempo polinomial. (P), foi lançado o conceito de PN.

No entanto, a definição atual de NP definida como verificável em tempo polinomial confunde NP com P, porque um problema em P também é verificável em tempo polinomial. Em outra palavra, essa definição leva à perda da essência de NP, «não-determinismo». Conseqüentemente, causa sérias ambiguidades na compreensão de PN, por exemplo, seu dilema: por natureza, o problema da equação diofantina é indecidível; mas pela definição de NP, é decidível,…

Em nossa opinião, a dificuldade em resolver «P versus NP» reside primeiramente no nível da cognição; portanto, se esperamos obter uma visão sobre «P versus NP», precisamos primeiro questionar: O que é NP?


4
Este parece ser um artigo de opinião sobre a definição de NP , não uma resposta para a pergunta. A definição de NP está bem. Não confunde P com NP ; em vez disso, reconhece que P é um subconjunto de NP . Para mim, seria muito natural se P não fosse um subconjunto de NP . NP é uma classe de problemas que podem ser resolvidos dentro de certos limites de recursos. Isso inclui necessariamente um monte de problemas fáceis ( P ) que podem ser resolvidos sem chegar perto do limite dos recursos disponíveis.
David Richerby

@DavidRicherby P e NP têm a propriedade comum de «certificado verificável em tempo polinomial», mas essa propriedade não é a essência do NP. Se essa propriedade for usada para definir NP, P será um subconjunto de NP e NP terá P como subconjunto (decidível) e ele próprio (indecidível). Portanto, seria de se perguntar se NP é decidível ou indecidível? Assim como o dilema acima: se a equação diofantina é indecidível ou decidível? Assim, a minha resposta é para sugerir a investigar este dilema do ponto de vista da definição de NP: verificável, indecidível é incontrolável!
Yu Li

Problemas em NP são decidíveis por definição: NP é a classe de problemas decididos por máquinas de Turing não determinísticas. É fácil provar que esse é exatamente o mesmo conjunto de problemas que possuem certificados de comprimento polinomial que podem ser verificados em tempo polinomial. Se você está preocupado com o fato de que os problemas no NP podem não ser decidíveis, entendeu algo errado.
David Richerby

Sim, estou preocupado que problemas no NP possam não ser decidíveis. Você fala da equivalência das duas definições de NP: NP é a classe de problemas decididos por máquinas de Turing não determinísticas; NP é a classe de problemas com certificados de comprimento polinomial verificados em tempo polinomial. Duvido dessa equivalência, porque uma é sobre a existência de algoritmo para resolver um problema e a outra sobre a existência de solução para um problema. O dilema sobre a Equação Diofantina pode estar diretamente relacionado a essa equivalência (veja mais detalhes do meu argumento: arxiv.org/abs/1501.01906 ).
Yu Li

2
@YuLi A equivalência das duas definições de NP é tão direta que é ensinada nas aulas de teoria da complexidade da graduação. Sugiro não fazer o upload para o ArXiv se você não entender o básico do campo.
David Richerby
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.