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.
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 .
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 .
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 .
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 .
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)?
quelle
Antworten:
Ich fand Folgendes in Papadimitrious Buch Computational Complexity, das ich als befriedigend empfand.
Dann bemerkt Papadimitriou Folgendes, was im Grunde eine andere Definition für NP ist :
Ein paar Dutzend Seiten später ...
Dann
quelle
Vergessen wir die Wikipedia-Definitionen und lassen uns unsere eigenen einfallen.
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.f FP f(x) x,y f(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.FNP FP
quelle
function
bedeutet dies, dass für jedes genau ein , was nicht unbedingt der Fall sein muss. Sie sind Beziehungen.Ich möchte einen weiteren Satz von Definitionen aus Automata, Computability and Complexity von Elaine Rich hinzufügen .
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)∈Q y x
Aus diesen Definitionen geht klarer hervor, dass .FP⊆TFNP⊆FNP
quelle