<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Polynomialzeit</id>
	<title>Polynomialzeit - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Polynomialzeit"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Polynomialzeit&amp;action=history"/>
	<updated>2026-05-29T22:50:11Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Polynomialzeit&amp;diff=14260&amp;oldid=prev</id>
		<title>imported&gt;Rosenfalter: /* growthexperiments-addlink-summary-summary:1|0|2 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Polynomialzeit&amp;diff=14260&amp;oldid=prev"/>
		<updated>2024-11-21T18:33:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:1|0|2&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In der [[Komplexitätstheorie]] bezeichnet man ein Problem als in &amp;#039;&amp;#039;&amp;#039;Polynomialzeit&amp;#039;&amp;#039;&amp;#039; lösbar, wenn es mit einer [[Turingmaschine|deterministischen Rechenmaschine]] in einer Rechenzeit lösbar ist, die mit der Problemgröße nicht stärker als gemäß einer [[Polynomfunktion]] wächst.&lt;br /&gt;
&lt;br /&gt;
Die Polynomialzeit gilt als eine Grenze zwischen &amp;#039;&amp;#039;praktisch lösbaren&amp;#039;&amp;#039; und &amp;#039;&amp;#039;praktisch nicht lösbaren&amp;#039;&amp;#039; 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.&amp;lt;ref&amp;gt;{{Internetquelle|url=https://www.nextbigfuture.com/2017/03/computing-exponentially-faster-using-dna.html |titel=Computing exponentially faster using DNA|werk=next BIG Future |datum=2017-03-01|zugriff=2017-03-10 |sprache=EN}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Formale Definition ==&lt;br /&gt;
Ein Problem wird &amp;#039;&amp;#039;in polynomieller Zeit lösbar&amp;#039;&amp;#039; genannt, wenn es dafür einen Lösungsalgorithmus gibt, dessen benötigte Rechenzeit &amp;lt;math&amp;gt;t(n)&amp;lt;/math&amp;gt; (z.&amp;amp;nbsp;B. gemessen als Anzahl der Arbeitsschritte einer [[Turing-Maschine]]) höchstens polynomiell mit der Größe &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; des Problems (gemessen als Länge der Eingabe für den Lösungsalgorithmus) wächst, wobei &amp;lt;math&amp;gt;t(n)&amp;lt;/math&amp;gt; die maximale Rechenzeit ist, die der Algorithmus für eine Probleminstanz der Länge &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; benötigt. Es existiert ein [[Polynom]] &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; in &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;, das die Rechenzeit &amp;lt;math&amp;gt;t(n)&amp;lt;/math&amp;gt; nach oben beschränkt: für jedes &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; ist &amp;lt;math&amp;gt;p(n) \geq t(n)&amp;lt;/math&amp;gt;. Anders gesagt: Es gibt eine [[natürliche Zahl]] &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;t \in \hbox{O}(n^k)&amp;lt;/math&amp;gt; gemäß der [[Landau-Notation]]. Ein solcher Algorithmus heißt &amp;#039;&amp;#039;Polynomialzeit-Algorithmus&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;polynomieller Algorithmus&amp;#039;&amp;#039; für das Problem.&lt;br /&gt;
&lt;br /&gt;
== Beispiel: Polynomieller Algorithmus ==&lt;br /&gt;
Ein einfaches Verfahren zum Sortieren eines [[Feld (Datentyp)|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 [[Gaußsche Summenformel|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.&lt;br /&gt;
&lt;br /&gt;
== Superpolynomialzeit ==&lt;br /&gt;
&lt;br /&gt;
Probleme, deren Berechnungszeit &amp;lt;math&amp;gt;t(n)&amp;lt;/math&amp;gt; mit der Problemgröße &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; stärker als mit einer Polynomfunktion wächst, heißen in &amp;#039;&amp;#039;Superpolynomialzeit&amp;#039;&amp;#039; lösbar; ein Beispiel dafür ist exponentielle Zeit, also &amp;lt;math&amp;gt;t \in \Omega(c^n)&amp;lt;/math&amp;gt; mit konstantem &amp;lt;math&amp;gt;c&amp;gt;1&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Bezug zu den Komplexitätsklassen ==&lt;br /&gt;
&lt;br /&gt;
Die Klasse aller Probleme, die sich auf einer deterministischen sequentiellen Maschine in Polynomialzeit lösen lassen, wird als &amp;#039;&amp;#039;[[P (Komplexitätsklasse)|P]]&amp;#039;&amp;#039; (von &amp;#039;&amp;#039;polynomial&amp;#039;&amp;#039;) bezeichnet. Die Klasse aller Probleme, die sich von einer [[Nichtdeterministische Turingmaschine|nichtdeterministischen Maschine]] in Polynomialzeit lösen lassen, wird als &amp;#039;&amp;#039;[[NP (Komplexitätsklasse)|NP]]&amp;#039;&amp;#039; (von &amp;#039;&amp;#039;nondeterministic-polynomial time&amp;#039;&amp;#039;) bezeichnet. Es ist klar, dass &amp;lt;math&amp;gt; P \subseteq NP &amp;lt;/math&amp;gt;, also P eine [[Mengenlehre|Teilmenge]] von NP ist. Eine bis heute unbewiesene Vermutung ist, dass beide Klassen echt verschieden sind, dass also &amp;lt;math&amp;gt; P \subsetneq NP &amp;lt;/math&amp;gt; gilt. Das [[P-NP-Problem]] gilt als wichtigstes offenes Problem der [[Theoretische Informatik|theoretischen Informatik]].&lt;br /&gt;
&lt;br /&gt;
== Kritik ==&lt;br /&gt;
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#Informatik|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.&lt;br /&gt;
&lt;br /&gt;
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 [[Grad (Polynom)|Grades]] begrenzt ist), die aber später auch mit niedrigem polynomiellem Aufwand (etwa vom Grad 2 oder 3) gelöst werden konnten.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Pseudopolynomiell]]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Komplexitätstheorie]]&lt;br /&gt;
&lt;br /&gt;
[[en:Time complexity#Polynomial time]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Rosenfalter</name></author>
	</entry>
</feed>