Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Polynomialzeit – Wikipedia
Polynomialzeit – Wikipedia 👆 Click Here!
aus Wikipedia, der freien Enzyklopädie

In der Komplexitätstheorie bezeichnet man ein Problem als in Polynomialzeit lösbar, wenn es mit einer deterministischen Rechenmaschine in einer Rechenzeit lösbar ist, die mit der Problemgröße nicht stärker als gemäß einer Polynomfunktion wächst.

Die Polynomialzeit gilt als eine Grenze zwischen praktisch lösbaren und praktisch nicht lösbaren Problemen. Der Aufwand für Probleme, die nicht in Polynomialzeit lösbar sind, wächst im Allgemeinen so schnell, dass schon relativ kleine Probleme mit verfügbaren Rechnern nicht in überschaubarer Zeit gelöst werden können. Dieser Sachverhalt ist unabhängig vom technologischen Fortschritt, insoweit er die Geschwindigkeit deterministischer Rechner betrifft. Eine Sonderstellung nehmen Quantencomputer und DNA-Computer ein, da sie bestimmte nichtdeterministische Operationen ermöglichen.[1]

Ob ein gegebenes Problem in Polynomialzeit lösbar ist, ist nicht immer von vornherein klar. So wurde für das Problem, zu entscheiden, ob eine gegebene natürliche Zahl eine Primzahl ist, erst 2002 von Agrawal, Kayal und Saxena ein in Polynomialzeit laufender Algorithmus angegeben (AKS-Primzahltest). Das naive Verfahren, alle möglichen Teiler durchzuprobieren, ist nicht in Polynomialzeit durchführbar.

Formale Definition

[Bearbeiten | Quelltext bearbeiten]

Ein Problem wird in polynomieller Zeit lösbar genannt, wenn es dafür einen Lösungsalgorithmus gibt, dessen benötigte Rechenzeit t ( n ) {\displaystyle t(n)} {\displaystyle t(n)} (z. B. gemessen als Anzahl der Arbeitsschritte einer Turing-Maschine) höchstens polynomiell mit der Größe n {\displaystyle n} {\displaystyle n} des Problems (gemessen als Länge der Eingabe für den Lösungsalgorithmus) wächst, wobei t ( n ) {\displaystyle t(n)} {\displaystyle t(n)} die maximale Rechenzeit ist, die der Algorithmus für eine Probleminstanz der Länge n {\displaystyle n} {\displaystyle n} benötigt. Es existiert ein Polynom p {\displaystyle p} {\displaystyle p} in n {\displaystyle n} {\displaystyle n}, das die Rechenzeit t ( n ) {\displaystyle t(n)} {\displaystyle t(n)} nach oben beschränkt: für jedes n {\displaystyle n} {\displaystyle n} ist p ( n ) ≥ t ( n ) {\displaystyle p(n)\geq t(n)} {\displaystyle p(n)\geq t(n)}. Anders gesagt: Es gibt eine natürliche Zahl k {\displaystyle k} {\displaystyle k} mit t ∈ O ( n k ) {\displaystyle t\in {\hbox{O}}(n^{k})} {\displaystyle t\in {\hbox{O}}(n^{k})} gemäß der Landau-Notation. Ein solcher Algorithmus heißt Polynomialzeit-Algorithmus oder polynomieller Algorithmus für das Problem.

Beispiel: Polynomieller Algorithmus

[Bearbeiten | Quelltext bearbeiten]

Ein einfaches Verfahren zum Sortieren eines Arrays ist das fortwährende Finden und nach hinten Schieben des größten der noch unsortierten Elemente (Selectionsort). Der Aufwand dieses Verfahrens ist quadratisch, weil für jedes Element der Eingabe maximal alle anderen Elemente einmal betrachtet werden müssen. Dadurch ergeben sich n+(n-1)+(n-2)... Vergleiche, deren Summe nach dem kleinen Gauß quadratisch in Abhängigkeit von n wächst. Da eine quadratische Abhängigkeit von der Eingabe polynomiell ist, handelt es sich um einen polynomiellen Algorithmus.

Superpolynomialzeit

[Bearbeiten | Quelltext bearbeiten]

Probleme, deren Berechnungszeit t ( n ) {\displaystyle t(n)} {\displaystyle t(n)} mit der Problemgröße n {\displaystyle n} {\displaystyle n} stärker als mit einer Polynomfunktion wächst, heißen in Superpolynomialzeit lösbar; ein Beispiel dafür ist exponentielle Zeit, also t ∈ Ω ( c n ) {\displaystyle t\in \Omega (c^{n})} {\displaystyle t\in \Omega (c^{n})} mit konstantem c > 1 {\displaystyle c>1} {\displaystyle c>1}.

Bezug zu den Komplexitätsklassen

[Bearbeiten | Quelltext bearbeiten]

Die Klasse aller Probleme, die sich auf einer deterministischen sequentiellen Maschine in Polynomialzeit lösen lassen, wird als P (von polynomial) bezeichnet. Die Klasse aller Probleme, die sich von einer nichtdeterministischen Maschine in Polynomialzeit lösen lassen, wird als NP (von nondeterministic-polynomial time) bezeichnet. Es ist klar, dass P ⊆ N P {\displaystyle P\subseteq NP} {\displaystyle P\subseteq NP}, also P eine Teilmenge von NP ist. Eine bis heute unbewiesene Vermutung ist, dass beide Klassen echt verschieden sind, dass also P ⊊ N P {\displaystyle P\subsetneq NP} {\displaystyle P\subsetneq NP} gilt. Das P-NP-Problem gilt als wichtigstes offenes Problem der theoretischen Informatik.

Kritik

[Bearbeiten | Quelltext bearbeiten]

Die Polynomialzeit galt bereits in den 1970er Jahren als Grenze zwischen praktisch lösbaren und praktisch unlösbaren Problemen. Diese Abgrenzung ist allerdings für die Praxis nicht trennscharf. Einerseits gibt es auch Methoden mit exponentieller worst-case-Laufzeit, die in der Praxis einsetzbar sind; ein Beispiel hierfür ist der Simplex-Algorithmus. Andererseits wachsen Polynome höheren Grades bereits so schnell, dass viele in Polynomialzeit ablaufende Algorithmen für praktisch vorhandene Problemgrößen dennoch nicht mehr handhabbar sind.

Es spricht jedoch eine Reihe von Gründen für die Beibehaltung der Polynomialzeit als „Grenze der Machbarkeit“. Insbesondere gibt es viele Probleme, für die zunächst nur ein hochgradig polynomielles Verfahren bekannt war (dessen Laufzeit durch ein Polynom hohen Grades begrenzt ist), die aber später auch mit niedrigem polynomiellem Aufwand (etwa vom Grad 2 oder 3) gelöst werden konnten.

Siehe auch

[Bearbeiten | Quelltext bearbeiten]
  • Pseudopolynomiell

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. ↑ Computing exponentially faster using DNA. In: next BIG Future. 1. März 2017, abgerufen am 10. März 2017 (englisch). 
Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=Polynomialzeit&oldid=250555856“
Kategorie:
  • Komplexitätstheorie

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id