Wie heißt es, wenn zwei Probleme ähnlich sind?

7

Angenommen, es gibt zwei Probleme P und Q.

Wie kann ich das sagen "lösen P ist das gleiche mit dem Lösen Q"?

Zum Beispiel, wenn P ist NP-Hard, dann können wir sagen "P kann in Polynomzeit gelöst werden, wenn ein Algorithmus existiert A das löst Q in Polynomzeit ".

Es sollte eine kürzere Frist dafür geben, und ich bin sicher, dass das nicht ähnlich ist .

Ist Äquivalent das richtige Wort?

Padawan
quelle

Antworten:

8

In der Komplexitätstheorie bevorzugen wir, wenn möglich, formale Definitionen. Zwei ProblemeP,Qsind polynomial äquivalent, wenn es Polytime-Funktionen gibtf,g so dass xP iff f(x)Q und yQ iff g(x)P. Dies ist der übliche Begriff der Äquivalenz in der Komplexitätstheorie.

Manchmal bevorzugen wir einen gröberen Begriff der Äquivalenz, der es erlaubt, ein Problem als Orakel zu verwenden. Zwei ProblemeQ,Rsind in Bezug auf Orakelreduktionen polynomiell äquivalent, wennQPR und RPQoder mit anderen Worten, Q kann in Polynomzeit mit Orakelzugriff auf gelöst werden R, und R kann in Polynomzeit mit Orakelzugriff auf gelöst werden Q. Nach diesem Begriff sind 3SAT und Co-3SAT (sein Komplement) gleichwertig.

Sofern ich keinen Fehler gemacht habe, sind beide Begriffe Äquivalenzbeziehungen. In beiden Fällen kann das andere Problem in Polynomzeit gelöst werden, das andere auch. Da die zweite allgemeiner ist, scheint sie besser zu Ihrer Beschreibung zu passen, obwohl wir in der Komplexitätstheorie normalerweise den feineren ersten Begriff oder sogar feinere Begriffe wie Lograumreduzierbarkeit und AC 0 -Reduzierbarkeit bevorzugen .

Yuval Filmus
quelle