www.wikidata.de-de.nina.az
In der Komplexitatstheorie bezeichnet man ein Problem als in Polynomialzeit losbar wenn es mit einer deterministischen Rechenmaschine in einer Rechenzeit losbar ist die mit der Problemgrosse nicht starker als gemass einer Polynomfunktion wachst Die Polynomialzeit gilt als eine Grenze zwischen praktisch losbaren und praktisch nicht losbaren Problemen Der Aufwand fur Probleme die nicht in Polynomialzeit losbar sind wachst im Allgemeinen so schnell dass schon relativ kleine Probleme mit verfugbaren Rechnern nicht in uberschaubarer Zeit gelost werden konnen Dieser Sachverhalt ist unabhangig vom technologischen Fortschritt insoweit er die Geschwindigkeit deterministischer Rechner betrifft Eine Sonderstellung nehmen Quantencomputer und DNA Computer ein da sie bestimmte nichtdeterministische Operationen ermoglichen 1 Ob ein gegebenes Problem in Polynomialzeit losbar ist ist nicht immer von vornherein klar So wurde fur das Problem zu entscheiden ob eine gegebene naturliche Zahl eine Primzahl ist erst 2002 von Agrawal Kayal und Saxena ein in Polynomialzeit laufender Algorithmus angegeben AKS Primzahltest Das naive Verfahren alle moglichen Teiler durchzuprobieren ist nicht in Polynomialzeit durchfuhrbar Inhaltsverzeichnis 1 Formale Definition 2 Beispiel Polynomieller Algorithmus 3 Superpolynomialzeit 4 Bezug zu den Komplexitatsklassen 5 Kritik 6 Siehe auch 7 EinzelnachweiseFormale Definition BearbeitenEin Problem wird in polynomieller Zeit losbar genannt wenn es dafur einen Losungsalgorithmus gibt dessen benotigte Rechenzeit t n displaystyle t n nbsp z B gemessen als Anzahl der Arbeitsschritte einer Turing Maschine hochstens polynomiell mit der Grosse n displaystyle n nbsp des Problems gemessen als Lange der Eingabe fur den Losungsalgorithmus wachst wobei t n displaystyle t n nbsp die maximale Rechenzeit ist die der Algorithmus fur eine Probleminstanz der Lange n displaystyle n nbsp benotigt Es existiert ein Polynom p displaystyle p nbsp in n displaystyle n nbsp das die Rechenzeit t n displaystyle t n nbsp nach oben beschrankt fur jedes n displaystyle n nbsp ist p n t n displaystyle p n geq t n nbsp Anders gesagt Es gibt eine naturliche Zahl k displaystyle k nbsp mit t O n k displaystyle t in hbox O n k nbsp gemass der Landau Notation Ein solcher Algorithmus heisst Polynomialzeit Algorithmus oder polynomieller Algorithmus fur das Problem Beispiel Polynomieller Algorithmus BearbeitenEin einfaches Verfahren zum Sortieren eines Arrays ist das fortwahrende Finden und nach hinten Schieben des grossten der noch unsortierten Elemente Selectionsort Der Aufwand dieses Verfahrens ist quadratisch weil fur jedes Element der Eingabe maximal alle anderen Elemente einmal betrachtet werden mussen Dadurch ergeben sich n n 1 n 2 Vergleiche deren Summe nach dem kleinen Gauss quadratisch in Abhangigkeit von n wachst Da eine quadratische Abhangigkeit von der Eingabe polynomiell ist handelt es sich um einen polynomiellen Algorithmus Superpolynomialzeit BearbeitenProbleme deren Berechnungszeit t n displaystyle t n nbsp mit der Problemgrosse n displaystyle n nbsp starker als mit einer Polynomfunktion wachst heissen in Superpolynomialzeit losbar ein Beispiel dafur ist exponentielle Zeit also t W c n displaystyle t in Omega c n nbsp mit konstantem c gt 1 displaystyle c gt 1 nbsp Bezug zu den Komplexitatsklassen BearbeitenDie Klasse aller Probleme die sich auf einer deterministischen sequentiellen Maschine in Polynomialzeit losen lassen wird als P von polynomial bezeichnet Die Klasse aller Probleme die sich von einer nichtdeterministischen Maschine in Polynomialzeit losen lassen wird als NP von nondeterministic polynomial time bezeichnet Es ist klar dass P N P displaystyle P subseteq NP nbsp 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 nbsp gilt Das P NP Problem gilt als wichtigstes offenes Problem der theoretischen Informatik Kritik BearbeitenDie Polynomialzeit galt bereits in den 1970er Jahren als Grenze zwischen praktisch losbaren und praktisch unlosbaren Problemen Diese Abgrenzung ist allerdings fur die Praxis nicht trennscharf Einerseits gibt es auch Methoden mit exponentieller worst case Laufzeit die in der Praxis einsetzbar sind ein Beispiel hierfur ist der Simplex Algorithmus Andererseits wachsen Polynome hoheren Grades bereits so schnell dass viele in Polynomialzeit ablaufende Algorithmen fur praktisch vorhandene Problemgrossen dennoch nicht mehr handhabbar sind Es spricht jedoch eine Reihe von Grunden fur die Beibehaltung der Polynomialzeit als Grenze der Machbarkeit Insbesondere gibt es viele Probleme fur die zunachst nur ein hochgradig polynomielles Verfahren bekannt war dessen Laufzeit durch ein Polynom hohen Grades begrenzt ist die aber spater auch mit niedrigem polynomiellem Aufwand etwa vom Grad 2 oder 3 gelost werden konnten Siehe auch BearbeitenPseudopolynomiellEinzelnachweise Bearbeiten Computing exponentially faster using DNA In next BIG Future Blog 1 Marz 2017 abgerufen am 10 Marz 2017 englisch Abgerufen von https de wikipedia org w index php title Polynomialzeit amp oldid 232423770