Versione di ottimizzazione dei problemi decisionali


26

È noto che ogni problema di ottimizzazione / ricerca ha un problema decisionale equivalente. Ad esempio il problema del percorso più breve

  • versione di ottimizzazione / ricerca: dato un grafico non ponderato non orientato e due vertici , trova un percorso più breve tra e .G=(V,E)v,uVvu
  • versione di decisione: dato un grafico non ponderato non orientato , due vertici e un numero intero non negativo , c'è un percorso in tra e cui lunghezza è al massimo ?G=(V,E)v,uVkGuvk

In generale, "Trova st !" diventa "Esiste x \ in X st f (x) \ leq k ?".xXf(x)=min{f(x)xX}xXf(x)k

Ma è vero anche il contrario, ovvero esiste un problema di ottimizzazione equivalente per ogni problema decisionale? In caso contrario, qual è un esempio di problema decisionale che non ha un problema di ottimizzazione equivalente?


6
Questo bit è uguale a zero?
JeffE,

5
Devi spiegare "equivalente" in modo più dettagliato, ad es. Intendi che uno può essere risolto usando l'altro come oracolo / blackbox in tempo polinomiale (o nello spazio logaritmico)? Ti interessa tutti i problemi o solo i problemi all'interno di NP ?
Kaveh,

1
A seconda del tuo punto di vista, la domanda è o banale (prendi qualsiasi problema di decisione che non ha una " ") o non risponde (come dimostrare che "nessun problema di opt. Equivalente"?). k
Raffaello

Risposte:


28

Come già affermato nei commenti, dipende dalle definizioni, come al solito. Il mio tentativo di rispondere a questo richiede alcune definizioni, quindi questo sarà un altro esempio della mia incapacità di dare risposte concise.


Definizione: un problema di ottimizzazione è una tupla con(X,F,Z,)

  • X l'insieme di istanze o input opportunamente codificati (stringhe) .
  • x X F ( x ) xF è una funzione che associa ciascuna istanza a un insieme di soluzioni realizzabili di .xXF(x)x
  • ( x , y ) x X y F ( x ) Z ( x , y ) yZ è la funzione oggettiva che mappa ogni coppia , dove e , su un numero reale chiamato il valore di .(x,y)xXyF(x)Z(x,y)y
  • min max è la direzione di ottimizzazione , o .minmax

Definizione: Una soluzione ottimale di un'istanza di un problema di ottimizzazione è una soluzione praticabile per cui . Il valore di una soluzione ottimale è indicato con e chiamato ottimale .P OxXPOZ ( x , y ) = { Z ( x , y ) y F ( x ) } O p t ( x )yF(x)Z(x,y)={Z(x,y)yF(x)}Opt(x)

Definizione: il problema di valutazione , indicato con , corrispondente al problema di ottimizzazione è il seguente: data un'istanza , calcolare se ha una soluzione ottimale e produrre "nessuna soluzione ottimale" in caso contrario.P O x X O p t ( x ) xPEPOxXOpt(x)x

Si noti che questo richiede solo il valore della soluzione ottimale non l'intera soluzione stessa con tutti i suoi dettagli.

Definizione: il problema decisionale , indicato con corrispondente al problema di ottimizzazione è il seguente: Data una coppia , dove e , decide se ha una soluzione fattibile tale che if e tale che if .P O ( x , k )PDPO(x,k)k Q x y Z ( x , y ) k = min Z ( x , y ) k = maxxXkQxyZ(x,y)k=minZ(x,y)k=max

Una prima osservazione è ora che . La prova non è difficile e omessa qui.PONPOPDNP

Ora intuitivamente e corrispondenti a non sono più difficili di stesso. Per esprimere formalmente questo sentimento (definendo in tal modo ciò che dovrebbe significare equivalente ) utilizzeremo le riduzioni.P D P O P OPEPDPOPO

Ricordiamo che una lingua è tempo polinomiale riducibile ad un'altra lingua se esiste una funzione , calcolabile in tempo polinomiale, tale che per tutte le parole , . Questo tipo di riducibilità è noto come Karp o riducibilità molti-a-uno , e se è riducibile a in questo modo, lo esprimiamo scrivendo . Questo è un concetto centrale nella definizione di completezza NP.L 2 fL1L2fxL 1 L 2 L 1 m L 2xL1f(x)L2L1L2L1mL2

Sfortunatamente, le riduzioni multiple vanno da una lingua all'altra e non è chiaro come utilizzarle nel contesto di problemi di ottimizzazione. Pertanto, dobbiamo considerare un diverso tipo di riducibilità, la riducibilità di Turing . Per prima cosa abbiamo bisogno di questo:

Definizione: un oracolo per un problema è una subroutine (ipotetica) che può risolvere istanze di in tempo costante.PPP

Definizione: un problema è Turing riducibile al tempo polinomiale a un problema , scritto , se le istanze di possono essere risolte in tempo polinomiale da un algoritmo con accesso a un oracolo per .P 2 P 1 T P 2 P 1 P 2P1P2P1TP2P1P2

Informalmente, proprio come con , la relazione esprime che non è più difficile di . È anche facile vedere che se può essere risolto in un tempo polinomiale, anche . Ancora una volta è una relazione transitiva. Il seguente fatto è ovvio:P 1 T P 2 P 1 P 2 P 2 P 1 TmP1TP2P1P2P2P1T

Lascia , quindi .P D T P E T P OPONPOPDTPETPO

Perché data la soluzione completa, calcolare il suo valore e decidere se soddisfa il limite è semplice.k

Definizione: se per due problemi e entrambe le relazioni , trattengono, scriviamo ; la nostra nozione di equivalenza .P 2 P 1 T P 2 P 2P 1 P 1 T P 2P1P2P1TP2P2P1P1TP2

Ora siamo pronti a che dato che il corrispondente problema di ottimizzazione è e valore intero. Dobbiamo dimostrare che regge. Siamo in grado di determinare con una ricerca binaria utilizzando l'orco per . La definizione di assicura che per alcuni polinomi , quindi il numero di passaggi nella ricerca binaria è polinomiale in. P ON P O Z P E T P D{ Z ( x , y ) y F ( x ) } P D N P OPDTPEPONPOZPETPD{Z(x,y)yF(x)}PDNPO q | x | |Z(x,y)|2q(|x|)q|x|

Per un problema di ottimizzazione la relazione con è meno chiara. In molti casi concreti, si può dimostrare direttamente che . Per dimostrare che ciò vale generalmente nel quadro qui indicato, è necessario un presupposto aggiuntivo.P E P D T P E T P OPOPEPDTPETPO

Per prima cosa dobbiamo estendere da coppie di lingue a coppie dei corrispondenti problemi di decisione. Quindi è facile vedere che è più generale di .T mmTm

Che e siano problemi di decisione; quindi . Ciò vale perché una riduzione molti-a-uno può essere interpretata come l'uso di un oracolo in un modo molto limitato: l'oracolo viene chiamato una volta, alla fine, e il suo risultato viene anche restituito come risultato complessivo. P P m P P T P PPPmPPTP

Ora siamo pronti per il finale:

Sia e supponiamo che abbia un valore intero e che sia NP-completo, quindiCon le osservazioni precedenti resta da mostrare . Per fare ciò un problema tale che . Quindi abbiamoIl secondo e il terzo causa dell'equivalenza della decisione e della versione di valutazione precedentemente dimostrate. Il terzo deriva dalla completezza NP di e dai due fatti menzionati prima, vale a dire Z P D P D T P E T PPONPOZPDP O T P E P ON P O P O T P ET T P D P ON

PDTPETPO.
POTPEPONPOPOTPE
POTPETPDTPDTPE.
TTPD P m P OP T P OPONPOPDNP e .PmPOPTPO

Ora i dettagli: supponiamo che le soluzioni fattibili di siano codificate usando un alfabeto dotato di un ordine totale. Sia le parole di elencate in ordine di lunghezza non decrescente e ordine lessicografico all'interno dei blocchi di parole di lunghezza comune. (Quindi è la parola vuota.) Per tutti let denota l'intero intero tale che . Sia che possono essere calcolati in tempo polinomiale. Sia un polinomio tale che per tutti Σ w 0 , w 1POΣΣ w 0 y Σ σ ( y ) iw0,w1,Σw0yΣσ(y)i σ σy=wiσ qxXyF(x)σ(y)< 2 q ( | x | )σ1qxXe tutti abbiamo .yF(x)σ(y)<2q(|x|)

Ora il problema è identico a eccezione di una funzione obiettivo modificata . Per e prendiamo . è calcolabile in tempo polinomiale, quindi .POZ x X y F ( x ) Z ( x , y ) = 2 q ( |POZxXyF(x) Z P O N P OZ(x,y)=2q(|x|)Z(x,y)+σ(y)ZPONPO

Per mostrare che osserviamo che è fattibile per se e solo se è fattibile per . Possiamo supporre che sia così, dal momento che il caso opposto è banale da gestire. x P O P EPOTPExPOPE

La sostituzione di per è monotona, nel senso che per tutti , se allora . Ciò implica che ogni soluzione ottimale per in è una soluzione ottimale di in . Pertanto il nostro compito si riduce al calcolo di una soluzione ottimale di in . Z y 1 , y 2F ( x ) ZZZy1,y2F(x)Z ( x , y 1 ) < Z ( x , y 2 ) x P O x P O y x P OZ(x,y1)<Z(x,y2)Z(x,y1)<Z(x,y2)xPOxPOyxPO

Interrogando l'oracolo per possiamo ottenere il valore di . Formando il resto di questo numero modulo produce da cui può essere calcolato in tempo polinomiale. Z ( x , y ) = 2 q ( | x | )Z ( x , y ) + σ ( y ) 2 q ( | x | ) σ (PEZ(x,y)=2q(|x|)Z(x,y)+σ(y)2q(|x|)yσ(y)y


"Un oracolo per un problema P è una subroutine (ipotetica) che può risolvere istanze di P in tempo costante." Un oracolo deve impiegare solo tempo costante?
Tim

@Tim Naturalmente ci sono libri, ne ho elencati alcuni nei commenti di un'altra risposta
uli

@ Tim Per quanto riguarda l'oracolo: Se hai trovato / concepito una riduzione tra due problemi e si è ridotto il problema di trovare un algoritmo efficiente per di trovare un algoritmo efficiente per . O in altre parole la riduzione ti dice che per risolvere è possibile utilizzare . E 'come usare una subroutine per la in un algoritmo per . Tuttavia, i problemi eA BATBABB A B B A A BABABBAABsono spesso problemi in cui non conosciamo soluzioni efficienti. E nel caso della riducibilità di Turing, la usiamo anche nei casi in cui i problemi coinvolti non sono affatto decidibili.
uli

@Tim Quindi è una subroutine sconosciuta. E 'diventata una consuetudine in teoria della complessità di chiamare l'ipotetico algoritmo per derivato dalla riduzione come un algoritmo con Oracle . Richiamo del sottoprogramma sconosciuta per un oracolo solo esprime che non possiamo sperare di trovare un algoritmo efficiente per così come non possiamo sperare di ottenere un oracolo per . Questa scelta è alquanto sfortunata, in quanto connota un'abilità magica. Il costo per l'oracolo dovrebbe esserecome una subroutine deve almeno leggere l'input . ABABB B | x | XBBB|x|x
uli

3
Un'ottima risposta a tutto tondo; l'unica cosa che aggiungerei (giungendo ora ad un'altra domanda) è che la "direzione dell'ottimizzazione" è un inutile po 'di complessità e per concretezza possiamo sempre presumere che la funzione obiettivo debba essere massimizzata; se l'intenzione è minimizzare, allora possiamo semplicemente definire una nuova funzione oggettiva e riscrivere tutta la minimizzazione di come massimizzazione di . Z ZZ Z Z=ZZZ
Steven Stadnicki,

5

Come dicono i commenti, la risposta dipende dalle definizioni esatte. Permettetemi di interpretare la domanda in un modo molto semplice (anche ingenuo).

Sia una relazione, ovvero .S { ( a , b ) a , b Σ }SS{(a,b)a,bΣ}

Ora definiamo un problema di ricerca per :S

Dato , trovare un tale che .b ( a , b ) Sab(a,b)S

e un problema decisionale per :S

Dato la risposta o meno .( a , b ) S(a,b)(a,b)S

(per esempio, nell'esempio citato nell'interrogazione, terrà tutte le coppie tale che esiste un percorso tra e che è più breve di .)( u , v , k ) u v kS(u,v,k)uvk

Si noti che questi due problemi sono ben definiti . Per questa definizione , possiamo chiederci se i due problemi sono "equivalenti" per qualsiasi . In "equivalente" intendo che se uno di essi è calcolabile (cioè esiste un algoritmo che lo risolve) rispetto all'altro è anche calcolabile. In generale, non lo sono.S

Rivendicazione 1 : la decisione implica la ricerca .

Dimostrazione: Sia essere l'algoritmo che risolve il problema della decisione di . Dato un input , possiamo eseguire per qualsiasi , uno dopo l'altro o in parallelo. Se esiste tale che , alla fine lo troveremo. In caso contrario, l'algoritmo potrebbe non arrestarsi . S aDSSaDS(a,x)xΣb(a,b)S

Rivendicazione 2 : Ricerca non non implica decisione .

Il motivo è che l'algoritmo di ricerca potrebbe restituire una diversa da quella di cui abbiamo bisogno. Cioè, per ogni c'è qualche che è molto facile da trovare, ma altri che non lo sono. Ad esempio, sia un linguaggio indecidibile, quindi definire Per ogni l'algoritmo di ricerca può restituire . Ma nessun algoritmo decisionale può rispondere correttamente se , per tutte le coppie . Se potesse, avrebbe deciso un problema indecidibile, che è impossibile.a b b L S = { ( x , 0 ) x Σ } { ( x , 1 ) x babbLx 0 ( x , 1 ) S ( x , 1 )

S={(x,0)xΣ}{(x,1)xL}.
x0(x,1)S(x,1)


S S Questo dipende . Se, ad esempio, è limitato, potrebbe esistere un algoritmo che si ferma.SS


2
Il problema decisione giusta è l'esistenza di st . un , b Sba,bS
Kaveh,

Se la decisione è definita come l'esistenza di , la ricerca implica una decisione. b
Ran G.

1
In un senso debole, la calcolabilità di iewrt ma non la complessità è un problema più delicato.
Kaveh,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.