Nach dem, was ich in der gelesen habe preliminary version of a chapter of the book “Lectures on Scheduling”
edited by R.H. M¨ohring, C.N. Potts, A.S. Schulz, G.J. Woeginger, L.A. Wolsey, to appear around 2011 A.D.
Dies ist die PTAS- Definition:
Ein Polynom- Zeitnäherungsschema ( PTAS ) für Problem ist ein Näherungsschema, dessen Zeitkomplexität in der Eingabegröße polynomisch ist.
und FPTAS-Definition
Ein vollständig polynomielles Zeitnäherungsschema ( FPTAS ) für Problem ist ein Näherungsschema, dessen zeitliche Komplexität in der Eingangsgröße polynomisch und in 1 / auch polynomisch ist .
Dann sagt der Schriftsteller:
Daher wäre es für ein PTAS akzeptabel, eine Zeitkomplexität zu haben, die proportional zu wobei ist die Eingabegröße, obwohl diese zeitliche Komplexität in 1 / \ epsilon exponentiell ist . Ein FPTAS kann keine Zeitkomplexität haben, die in 1 / \ epsilon exponentiell wächst, aber eine Zeitkomplexität proportional zu wäre in Ordnung. In Bezug auf die Worst-Case-Approximation ist ein FPTAS das bestmögliche Ergebnis, das wir für ein NP-hartes Problem ableiten können.
Dann schlug er die folgende Abbildung vor, um die Beziehungen zwischen den Problemklassen zu veranschaulichen:
Hier sind meine Fragen:
Wie schließt der Verfasser aus der PTAS- und der FPTAS- Definition, dass das FPTAS keine Zeitkomplexität haben kann, die in exponentiell wächst ? und welchen Unterschied macht es, wenn es eine solche zeitliche Komplexität haben kann?
Eine zeitliche Komplexität wie ist für FPTAS akzeptabel, aber nicht für PTAS . Warum wird FPTAS dann als Teilmenge von PTAS betrachtet ?
Was meint er damit: Ein FPTAS ist das bestmögliche Ergebnis, das wir für ein NP-hartes Problem ableiten können.
Insgesamt möchte ich wissen, was genau diese Konzepte bedeuten und welche unterschiedlichen Eigenschaften sie haben.
Danke im Voraus.
Antworten:
Lassen Sie mich Ihre Fragen der Reihe nach beantworten:
Per Definition hat ein Problem , ein FPTAS wenn es ein Algorithmus, der auf Instanzen der Längen gibt eine 1+ϵ -Anpassung und läuft in der Zeit Polynom in n und 1/ϵ , das heißt O((n/ϵ)C) für eine Konstante C≥0 . Eine Laufzeit von 21/ϵ gehört für kein C zu O((n/ϵ)C) .C O((n/ϵ)C) ist, ist besser als ein Algorithmus, dessen Laufzeit nur garantiert O(nCeD/ϵ) , da die Abhängigkeit von ϵ für den ersten Algorithmus besser ist. Darüber hinaus können wir für jedes E eine 1+1/nE Approximation in Polynomzeit unter Verwendung des ersten Algorithmus finden, jedoch nicht unter Verwendung des zweiten (zumindest nicht mit der gegebenen Garantie).
Ein Algorithmus, dessen Laufzeit
Ein Problem , bei dem eine1+ϵ -Anpassung in der Zeit gefunden werden (n+1/ϵ)3 ist auf jeden Fall in PTAS, da für jedes ϵ das ist O(n3) (Übung) und so Polynom in n .
Was die Autoren hier meinten, ist, dass, da ein NP-hartes Optimierungsproblem nicht genau in der Polynomzeit gelöst werden kann, das Beste, auf das wir hoffen können, darin besteht, dass es in der Polynomzeitϵ annähernd ist und darüber hinaus eine gute Abhängigkeit von ϵ . Unter den gängigen Komplexitätsklassen bietet FPTAS die stärkste Garantie für die Abhängigkeit von ϵ . In der Praxis erhalten wir jedoch manchmal eine noch bessere Garantie: Die Laufzeit ist in n und in log ( 1 / ϵ ) polynomisch.log(1/ϵ) . Es ist also nicht unbedingt richtig, dass FPTAS das bestmögliche Ergebnis ist. Es ist nur das bestmögliche Ergebnis unter den Optionen PTAS, FPTAS, P. Wenn wir eine neue Klasse LPTAS (entsprechend dem Zeitpolynom in n und in log(1/ϵ) ) erstellen würden, wäre dies eine stärkere Garantie.
Angesichts eines NP-harten Optimierungsproblems kann es nicht genau in Polynomzeit gelöst werden. Das Beste, worauf man hoffen kann, ist, es effizient zu approximieren. Einige Probleme sind NP-schwer an eine Konstante anzunähernC>1 . Für andere ist es möglich, das Problem in der Polynomzeit beliebig gut zu approximieren, und diese Probleme haben ein PTAS und gehören daher zur Klasse PTAS. Es kann sein, dass eine 1+ϵ Approximation eine Zeit benötigt, die proportional zu e1/ϵ , und daher können wir dies nur für die Konstante ϵ effizient anwenden . Wenn das Problem ein FPTAS hat (und somit zur Klasse FPTAS gehört), dann wissen wir, dass die Abhängigkeit von ϵ ist nur ein Polynom, und so können wir für jedes C effizient auf 1+1/nC approximieren .C
quelle
quelle