Funktionsprobleme und

7

Es fällt mir schwer, formale Definitionen von Funktionskomplexitätsklassen zu finden. Hier sind zwei aus Wikipedia.

Eine binäre Beziehung ist genau dann in FP, wenn es einen deterministischen Polynomzeitalgorithmus gibt, der bei gegebenem etwas finden kann, so dass gilt.P(x,y)xyP(x,y)

Die obige Definition scheint zu implizieren, dass für alle Beziehungen in FP gilt, dass für jedes mindestens ein , dessen Länge in der Länge von polynomisch ist . Es scheint jedoch nicht einzuschränken, dass für dieses mehr existiert , so dass gilt, während exponentiell länger als .xyxyxP(x,y)yx

Eine binäre Beziehung , in der höchstens polynomiell länger als , liegt genau dann in FNP vor, wenn es einen deterministischen Polynomzeitalgorithmus gibt, der bestimmen kann, ob sowohl für als auch für .P(x,y)yxP(x,y)xy

Diese Definition impliziert, dass für eine Beziehung in FNP nicht wahr sein muss, dass für jedes mindestens ein existiert , damit gilt. Dies impliziert jedoch, dass wenn gilt, höchstens polynomiell länger als .yxP(x,y)P(x,y)yx

In der Literatur kann man lesen, dass FP FNP . Soweit ich verstehe (oder nicht verstehe), kann dies nicht wahr sein. Es ist möglich, dass für eine Beziehung FP ein so dass gilt und exponentiell länger als . Aus diesem Grund gehört diese Beziehung nicht zu FNP und daher zu FP FNP . R(x,y) (x,y)R(x,y)yx

Sind die Definitionen auf Wikipedia unvollständig? Vermisse ich etwas

Wie auch immer, was sind einige gute Quellen, um sich über Funktionsprobleme zu informieren (ich glaube, ich kenne mich mit Entscheidungsproblemen aus)?

Auberon
quelle
Haben Sie sich andere Bücher / Quellen als Wikipedia angesehen? Wenn Sie formale Definitionen wünschen, würde ich nicht empfehlen, sich auf Wikipedia als primäre Quelle zu verlassen. Stattdessen ist ein Lehrbuch zur Komplexitätstheorie wahrscheinlich die bessere Wahl, oder Vorlesungsunterlagen aus einem Kurs (wahrscheinlich Abschlusskurs) zur Komplexitätstheorie, der diese Themen abdeckt.
DW
Ich lese 'Computational Complexity: A Modern Approach' von Arora et. al. Dieses Buch behandelt jedoch keine Funktionsprobleme. Ich lese Artikel, die PLS und PPA (D) [Papadimitrou] definieren. Diese Artikel "definieren" sie nur als "Funktionsäquivalente von (N) P". Ich kann PLS und PPA (D) verstehen, aber wenn ich ausführlich darüber nachdenke, stoße ich immer auf das Problem, dass ich keine gute Definition von FP und FNP kenne .
Auberon

Antworten:

4

Ich fand Folgendes in Papadimitrious Buch Computational Complexity, das ich als befriedigend empfand.

Sei eine binäre Beziehung auf Strings.RΣ×Σ

R heißt polynomiell entscheidbar, wenn es eine deterministische Turingmaschine gibt, die die Sprache in Polynomzeit entscheidet.{x;y:(x,y)R}

Wir sagen , dass ist polynomial ausgeglichen , wenn bedeutet für einige .R(x,y)R|y||x|kk1

Dann bemerkt Papadimitriou Folgendes, was im Grunde eine andere Definition für NP ist :

Sei eine Sprache. NP genau dann, wenn es eine polynomiell entscheidbare und polynomiell ausgeglichene Beziehung , so dass für einige .LΣL RL={x:(x,y)Ry}

Ein paar Dutzend Seiten später ...

Das mit [ NP ] verbundene Funktionsproblem, bezeichnet mit [hier steht für die Sprache, nicht für den Logspace], ist das folgende Rechenproblem:L F.L.L.

Gegeben , finden einen String , so dass , wenn eine solche Zeichenfolge vorhanden ist ; Wenn keine solche Zeichenfolge vorhanden ist, geben Sie "no" zurück.xyR.L.(x,y)

Dann

Die Klasse aller Funktionsprobleme, die wie oben mit Sprachen in NP verbunden sind, heißt FNP . FP ist die resultierende Unterklasse, wenn wir nur Funktionsprobleme in FNP berücksichtigen , die in Polynomzeit gelöst werden können.

Auberon
quelle
Nun, um herauszufinden, warum FP TFNP ...
Auberon
Beachten Sie, dass eine andere, inkompatible Definition hat, die ebenfalls häufig verwendet wird. FP
Yuval Filmus
@YuvalFilmus In der Literatur wird akzeptiert, dass FP TFNP FNP . Ich würde sagen, welche Definition von FP es gibt, die dies erfüllt, ist richtig. Papadimitriou gibt auch die genannten Einschlüsse in seinem Buch an. Ich sehe jedoch nicht, wie seine Definition von FP dies impliziert ...
Auberon
Dies hängt davon ab, welchen Teil der Literatur Sie betrachten. Für mich war FP immer die Klasse von Funktionen, die in der Polytime berechnet werden können, während FNP und TFNP Nischenbegriffe sind, die von Personen verwendet werden, die an Suchproblemen arbeiten.
Yuval Filmus
3

Vergessen wir die Wikipedia-Definitionen und lassen uns unsere eigenen einfallen.

Eine Funktion befindet sich in wenn es eine Polytime-Turing-Maschine gibt, die bei Eingabe ausgibt .fFPxf(x)

Eine Funktion befindet sich in wenn:fFNP

  1. Die Funktion ist polynomiell begrenzt: Es existiert ein Polynom so dass .fp|f(x)|p(|x|)

  2. Es gibt eine Polytime-Turing-Maschine, die mit bestimmt, ob .x,yf(x)=y

Wenn in ist, ist es definitiv polynomiell begrenzt. Da wir in Polynomzeit berechnen können können wir bei berechnen und mit vergleichen , alles in Polynomzeit.fFPf(x)x,yf(x)y

den Komplexitätszoo , scheint es, dass tatsächlich eine andere Definition hat und dass zwei verschiedene und inkompatible Definitionen hat, von denen eine die oben angegebene ist.FNPFP

Yuval Filmus
quelle
Ich würde argumentieren, dass FP und FNP keine Funktionssätze sind, sondern Sätze von Zeichenfolgen. Außerdem functionbedeutet dies, dass für jedes genau ein , was nicht unbedingt der Fall sein muss. Sie sind Beziehungen. yx
Auberon
Sie scheinen mit Recht zu haben , aber hat mehrere unterschiedliche (inkompatible) Definitionen. Siehe zum Beispiel den Komplexitätszoo . FNPFP
Yuval Filmus
2

Ich möchte einen weiteren Satz von Definitionen aus Automata, Computability and Complexity von Elaine Rich hinzufügen .

Die Klasse FP : Eine binäre Beziehung ist in wenn es einen deterministischen Polynomzeitalgorithmus gibt, der bei einer beliebigen Eingabe einige finden kann, so dass .QFPxy(x,y)Q

Die Klasse FNP : Eine binäre Beziehung befindet sich in wenn es einen deterministischen Polynomzeitprüfer gibt, der bei einem beliebigen Eingabepaar bestimmt, ob . Entsprechend ist in wenn es einen nichtdeterministischen Polynomzeitalgorithmus gibt, der bei einer beliebigen Eingabe einige finden kann, so dassQFNP(x,y)(x,y)QQFNPxy(x,y)Q

Dies unterscheidet sich nur geringfügig von den Definitionen auf Wikipedia, impliziert jedoch andere Dinge. Am wichtigsten ist , Elaine Rich ihre Definition von bedeutet nicht , dass , wenn , hat sein Polynom in . Es ist wahrscheinlich, dass die Wiki-Definitionen schlampige Kopien davon sind.FNP(x,y)Qy x

Aus diesen Definitionen geht klarer hervor, dass .FPTFNPFNP

Auberon
quelle