Rilevare semplici casi di problemi NP-difficili è facile?


6

La mia domanda è la seguente. Supponiamo che sia un problema NP-difficile. Data un'istanza arbitraria di e supponendo che un avversario sappia che questa istanza è facile da risolvere, è possibile trovare un algoritmo deterministico in tempo polinomiale per risolvere questa particolare istanza ?ΠIΠI

Ad esempio: supponiamo che sia GRAPH COLORING. L'avversario ti dà un grafico con vertici.ΠGn

  1. L'avversario sa che è completo ma tu no. Riesci a trovare un algoritmo tempo polinomiale che dice "Questo grafico è colorabile con colori "?GΔ+1
  2. L'avversario sa che ha delle proprietà ma tu no. Riesci a trovare un algoritmo del tempo polinomiale che dice "Questo grafico è colorabile con i colori "?GPb
  3. ...

5
Come accennato in risposta di DW, il problema è che non ci sono restrizioni immessi sul . Ad esempio, " è uno dei 42 grafici che mi capita di aver già calcolata la soluzione ottimale a" è una proprietà valida . Per arrivare ovunque in questa direzione, penso che dovresti limitare l'insieme di possibili proprietà - diciamo, a proprietà espressibili in una forma ristretta di logica. PGPP
j_random_hacker il

Risposte:


17

Il problema non è davvero ben posto. Per ogni particolare esempio, c'è un'unica soluzione, dire . Di conseguenza, possiamo immaginare un algoritmo che ha la risposta hardcoded in: non importa quale ingresso si dà, tutto ciò che fa è solo stampare . Questa risposta conta come un algoritmo polinomiale deterministica che risolve questo caso particolare .SSSI

Pertanto, la risposta alla tua domanda è "Sì", ma per motivi poco interessanti. È possibile che potresti dover pensare di più su come formulare la tua domanda in modo che corrisponda a ciò che vuoi veramente sapere.


La parte finale della tua domanda è in realtà un po 'diversa. Non chiede di una singola istanza . Piuttosto, chiede un caso speciale del problema, ovvero una famiglia infinita di istanze che è un sottoinsieme proprio di tutte le possibili istanze di . In tal caso, la risposta è "dipende"; alcuni casi speciali potrebbero rimanere NP-difficili, e altri potrebbero essere in P.IΠ

Infine, non so cosa significhi dire "L'avversario conosce X ma tu no". Sono libero di scrivere un algoritmo che presuppone che X sia vero e funzioni solo quando X è vero. La "conoscenza" è una cosa divertente e non ben modellata dal tipo di strumenti di cui sembra parlare; la teoria della complessità riguarda più l '"esistenza" che la "conoscenza".


7

In un certo senso, la risposta alla tua domanda è affermativa, a causa dell'algoritmo di ricerca universale di Levin. Considerare la colorazione del grafico di concretezza e una particolare classe di istanze facili. A testimonianza che questa classe è semplice, hai un algoritmo che, dato un grafico in questa classe, produce (in tempo polinomiale) una colorazione legale insieme a una prova dimensionale polinomiale che la colorazione è ottimale.

L'algoritmo di ricerca universale di Levin esegue tutti gli algoritmi temporali polinomiali nella sua istanza (ciò si ottiene provando tutti i possibili limiti temporali polinomiali per ciascun algoritmo), verificando se forniscono una colorazione legale insieme a una prova di ottimalità. In qualsiasi classe di istanze semplici, questo algoritmo viene eseguito in tempi polinomiali. Sfortunatamente le costanti saranno enormi, quindi questo algoritmo non è pratico.


Si noti che la domanda dice solo che è NP -hard, quindi non è garantito che le soluzioni possano essere verificate in tempo polinomiale. Π
David Richerby,
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.