Sabe-se que cada problema de otimização / pesquisa tem um problema de decisão equivalente. Por exemplo, o problema do caminho mais curto
- optimização / pesquisa versão: Dado um gráfico não ponderada não dirigida e dois vértices , encontrar o caminho mais curto entre e .L = ( V , E )
G=(V,E) v , u ∈ Vv,u∈V vv uu - versão decisão: Dado um gráfico não ponderada não dirigida , dois vértices , e um número inteiro não negativo , existe um caminho em entre e , cujo comprimento é no máximo ?G = ( V , E )
G=(V,E) v , u ∈ Vv,u∈V kk GG uu vv kk
Em geral, "Encontre st !" torna-se "Existe x \ no X st f (x) \ leq k ?".x ∗ ∈ X
Mas o inverso também é verdadeiro, ou seja, existe um problema de otimização equivalente para cada problema de decisão? Caso contrário, qual é o exemplo de um problema de decisão que não possui um problema de otimização equivalente?
Respostas:
Como já mencionado nos comentários, isso depende das definições, como de costume. Minha tentativa de responder a isso precisa de algumas definições, portanto esse será outro exemplo de minha incapacidade de fornecer respostas concisas.
Definição: Um problema de otimização é uma tupla com(X,F,Z,⊙)( X, F, Z, ⊙ )
Definição: Uma solução ideal de uma instância de um problema de otimização é uma solução viável para a qual . O valor de uma solução ótima é indicado com O p t ( x ) e chamado de ideal .x ∈ X P Ox ∈ X PO Y ∈ F ( x ) Z ( x , y ) = ⊙ { Z ( x , y ' ) | y ' ∈ F ( x ) }y∈ F( X ) Z( x , y) = ⊙ { Z( x , y′) | Y′∈ F( x ) } O p t ( x )
Definição: O problema de avaliação , denominado P E , correspondente ao problema de otimização P O é o seguinte: Dada uma instância x ∈ X , calcule O p t ( x ) se x tiver uma solução ideal e, caso contrário, não produzir uma solução ótima.PE PO x ∈ X O p t ( x ) x
Observe que isso apenas pede o valor da solução ideal, não a solução inteira com todos os seus detalhes.
Definição: O problema de decisão , denominado P D, correspondente ao problema de otimização P O, é o seguinte: Dado um par ( x , k ) , onde x ∈ X e k ∈ Q , decidem se x tem uma solução viável y tal que Z ( x , y ) ≤ k se ⊙ = min e tal que Z ( x , y )PD PO ( x , k ) x ∈ X k ∈ Q x y Z( x , y) ≤ k ⊙ = min ≥ k se ⊙ = máx .Z( x , y) ≥ k ⊙ = max
Uma primeira observação é agora que P S ∈ N P S ⇒ P D ∈ N P . A prova não é difícil e omitida aqui.PO∈NPO⇒PD∈NP
Agora intuitivamente P E e P D correspondendo a P S não são mais difíceis do que P ó si. Para expressar formalmente esse sentimento (definindo assim o que significa equivalente ), usaremos reduções.PE PD PO PO
Lembre-se de que um idioma L 1 é redutível em tempo polinomial para outro idioma L 2 se houver uma função f , computável em tempo polinomial, tal que para todas as palavras x , x ∈ L 1 ⇔ f ( x ) ∈ L 2 . Esse tipo de redutibilidade é conhecido como Karp ou redutibilidade muitos-para-um , e se L 1 é redutível a L 2 dessa maneira, expressamos isso escrevendo L 1 ≤ m L 2L1 L2 f x x∈L1⇔f(x)∈L2 L1 L2 L1≤mL2 . Este é um conceito central na definição de NP-completude.
Infelizmente, reduções muitos para um variam entre idiomas e não está claro como empregá-los no contexto de problemas de otimização. Portanto, precisamos considerar um tipo diferente de redutibilidade, a redutibilidade de Turing . Primeiro, precisamos disso:
Definição: Um oráculo para um problema P é uma sub-rotina (hipotética) que pode resolver instâncias de P em tempo constante.P P
Definição: Uma problema P 1 é de tempo polinomial Turing-redutível a um problema P 2 , escrita P 1 ≤ T P 2 , se exemplos de P 1 pode ser resolvido no tempo polinomial por um algoritmo com acesso a um Oracle para P 2 .P1 P2 P1≤TP2 P1 P2
Informalmente, assim como com ≤ m , a relação P 1 ≤ T P 2 expressa que P 1 não é mais difícil que P 2 . Também é fácil ver que, se P 2 pode ser resolvido em tempo polinomial, P 1 também pode . Novamente ≤ T é uma relação transitiva. O seguinte fato é óbvio:≤m P1≤TP2 P1 P2 P2 P1 ≤T
Vamos P S ∈ N P S , então P D ≤ T P E ≤ T P S .PO∈NPO PD≤TPE≤TPO
Porque, dada a solução completa, calcular seu valor e decidir se atende ao limite k são simples.k
Definição: Se por dois problemas P 1 e P 2 ambas as relações P 1 ≤ T P 2 , P 2 ≤ P 1 se mantiverem, escrevemos P 1 ≡ T P 2 ; nossa noção de equivalência .P1 P2 P1≤TP2 P2≤P1 P1≡TP2
Estamos agora pronto para a prova de que P D ≡ T P E dado o problema de optimização correspondente é P S ∈ N P S e Z é um valor inteiro. Temos que mostrar que P E ≤ T P D se mantém. Podemos determinar ⊙ { Z ( x , y ) | y ∈ F ( x ) } com um binário procurar usign o orcale para P D . A definição de NPD≡TPE PO∈NPO Z PE≤TPD ⊙{Z(x,y)∣y∈F(x)} PD P ONPO assegura que | Z(x,y) | ≤ 2 q ( | x | ) para algum polinômioq, portanto, o número de etapas na pesquisa binária é polinomial em | x | . ◻|Z(x,y)|≤2q(|x|) q |x| □
Para um problema de otimização P O, a relação com P E é menos clara. Em muitos casos concretos, pode-se demonstrar directamente que P D ≡ T P E ≡ T P S . Para provar que isso geralmente ocorre dentro da estrutura apresentada aqui, precisamos de uma suposição adicional.PO PE PD≡TPE≡TPO
Primeiro, precisamos estender ≤ m de pares de idiomas para pares dos problemas de decisão correspondentes. Então é fácil ver que ≤ T é mais geral que ≤ m .≤m ≤T ≤m
Sejam P e P ' problemas de decisão; então P ≤ m P ′ ⇒ P ≤ T P ′ . Isso ocorre porque uma redução muitos-para-um pode ser interpretada como o uso de um oráculo de maneira muito restrita: o oráculo é chamado uma vez, no final, e seu resultado também é retornado como o resultado geral. ◻P P′ P≤mP′⇒P≤TP′ □
Agora estamos prontos para o final:
Vamos P S ∈ N P O e suponha Z é número inteiro com valor e que P D é NP-completa, em seguida, P D ≡ T P E ≡ T P S . Com as observações anteriores, continua a mostrar P ó ≤ T P E . Para fazer isso, irá apresentar um problema P ' O ∈ N P S tal que P ó ≤ T P ' E . Então nós temosPO∈NPO Z PD
Agora os detalhes: Assume-se que as soluções viáveis de P ó são codificados usando um alfabeto Σ equipado com uma ordem total. Seja w 0 , w 1 , … as palavras de ∗ Σ listadas em ordem de comprimento não decrescente e ordem lexicográfica dentro dos blocos de palavras com comprimento comum. (Assim, w 0 é a palavra vazia.) Para todo y ∈ Σ ∗, deixe σ ( y ) denotar o inteiro único i tal que y = w i . Ambos σPO Σ w0,w1,… Σ∗ w0 y∈Σ∗ σ(y) i y=wi σ e σ - 1 pode ser calculado em tempo polinomial. Seja q um polinômio tal que, para todo x ∈ X e todo y ∈ F ( x ) , tenhamos σ ( y ) < 2 q ( | x | ) .σ−1 q x∈X y∈F(x) σ(y)<2q(|x|)
Agora o problema P ' S é idêntico ao P ó excepto para uma função objectivo modificado Z ' . Para x ∈ X e y ∈ F ( x ) , tomamos Z ′ ( x , y ) = 2 q ( | x | ) ⋅ Z ( x , y ) + σ ( y ) . Z ′P′O PO Z′ x∈X y∈F(x) Z′(x,y)=2q(|x|)⋅Z(x,y)+σ(y) Z′ é calculável no tempo polinomial assim P ' O ∈ N P S .P′O∈NPO
Para mostrar que P O ≤ T P ' E observamos que x é viável para P O se e somente se é viável para P ' E . Podemos assumir que esse é o caso, pois o caso oposto é trivial de lidar.PO≤TP′E x PO P′E
A substituição de Z ′ por Z é monotônica no sentido de que, para todo y 1 , y 2 ∈ F ( x ) , se Z ( x , y 1 ) < Z ( x , y 2 ) então Z ′ ( x , y 1 ) < Z ′ ( x , y 2 ) . Isso implica que toda solução ideal para xZ′ Z y1,y2∈F(x) Z(x,y1)<Z(x,y2) Z′(x,y1)<Z′(x,y2) x em P ' ó é uma solução óptima de X em P ó . Assim, a nossa tarefa reduz para o cálculo de uma solução óptima y de x em P ' ó .P′O x PO y x P′O
Consultando o oráculo para P ′ E , podemos obter o valor de Z ′ ( x , y ) = 2 q ( | x | ) ⋅ Z ( x , y ) + σ ( y ) . Formar o restante deste número, o módulo 2 q ( | x | ) produz σ ( y ) a partir do qual y pode ser calculado em tempo polinomial.P′E Z′(x,y)=2q(|x|)⋅Z(x,y)+σ(y) 2q(|x|) σ(y) y
fonte
Como dizem os comentários, a resposta depende das definições exatas. Deixe-me interpretar a questão de uma maneira muito básica (até ingênua).
Vamos S haver alguma relação, isto é S ⊆ { ( a , b ) | a , b ∈ Σ * } .
Agora, definimos um problema de pesquisa para S :
e um problema de decisão para S :
(for instance, in the example given in the question, S will hold all the pairs (u,v,k) such that there exists a path between u and v which is shorter than k.)
Note that these two problems are well defined. For this definition, we can ask whether the two problems are "equivalent" for any S. In "equivalent" I mean that if one of them is computable (i.e., there exists an algorithm that solves it) than the other one is computable as well. In general, they are not.
Claim 1: Decision implies Search.
Proof: Let DS be the algorithm that solves the decision problem of S. Given an input a, We can run DS(a,x) for any x∈Σ∗, one after the other, or in parallel. If there exists b such that (a,b)∈S, we will eventually find it. If not, the algorithm might not stop†.
Claim 2: Search does not imply Decision.
The reason is that the search algorithm might return a different b than the one we need. That is, for every a there is some b that is very easy to find, but other b′ that is not. For instance, let L be some undecidable language, then define S={(x,0)∣x∈Σ∗}∪{(x,1)∣x∈L}.
† This depends on S. If, for instance, S is bounded, there might exists an algorithm that does stop.
fonte