Anwendung in der Komplexitätstheorie

In der Komplexitätstheorie werden die Landau-Symbole vor allem angewendet, um den (minimalen oder maximalen) Bedarf an Speicher (Platzkomplexität) und Zeit (Zeitkomplexität) bezüglich eines bestimmten Maschinenmodells zu beschreiben.
Normalerweise ist es sehr aufwändig oder ganz unmöglich, für ein Problem L eine Funktion fL:wfL(w)f_L: w \rightarrow f_L(w) anzugeben, die allgemein jeder beliebigen Eingabe für ein Problem die zugehörige Anzahl der Rechenschritte (bzw. der Speicherzellen) zuordnet. Daher begnügt man sich in der Regel damit, statt jede Eingabe einzeln zu erfassen, sich lediglich auf die Eingabelänge n=wn = |w| zu beschränken. Es ist aber meist ebenfalls zu aufwändig, eine Funktion fL:nfL(n),n=wf_L: n \rightarrow f_L(n), n = |w| anzugeben.
Daher hat man die Landau-Notation entwickelt, die sich auf das asymptotische Verhalten der Funktion fLf_{L} beschränkt. Man betrachtet also, in welchen Schranken sich der Rechenaufwand (der Bedarf an Speicher und Rechenzeit) hält, wenn man die Eingabe vergrößert. Das wichtigste Landau-Symbol ist O\mathrm{O} (großer lateinischer Buchstabe O), mit dem man obere Schranken angeben kann; untere Schranken zu finden ist im allgemeinen viel schwieriger. Dabei meint f(n)O(g(n))f(n) \in \mathrm{O}(g(n)) – oft auch f(n)=O(g(n))f(n)=\mathrm{O}(g(n)) –, dass eine Konstante cc und ein n0Nn_0 \in N existieren, so dass für alle n>n0n > n_0 gilt: f(n)cg(n)f(n) \le c\cdot g(n). In anderen Worten: Für genügend große Eingabelängen ist der Rechenaufwand f(n)f(n) nicht wesentlich größer – d.h. höchstens um einen konstanten Faktor cc – als g(n)g(n).
Dabei ist die Funktion ff nicht immer bekannt: Die Landau-Notation ist gerade dazu da, den Rechenaufwand (Platzbedarf) abzuschätzen, wenn es zu aufwändig ist, die genaue Funktion anzugeben. Umgekehrt ist es sinnlos, eine Landau-Abschätzung durchzuführen, wenn man eine genaue Funktion ff bereits gefunden hat – es sei denn, weil die Abschätzung naturgemäß vereinfachend ist, da beispielsweise Konstanten wegfallen.
Die Landau-Symbole erlauben es dadurch, Probleme und Algorithmen nach ihrer Komplexität in Komplexitätsklassen zusammenzufassen.
In der Komplexitätstheorie lassen sich die verschiedenen Probleme und Algorithmen dann folgendermaßen vergleichen: Man kann für Problemstellungen mit Ω\Omega eine untere Schranke für beispielsweise die asymptotische Laufzeit angeben, mit O\mathrm{O} entsprechend eine obere Schranke. Bei O(f)\mathrm{O}(f) wird die Form von ff (z.B. f(n)=n2f(n)=n^2) auch als die Komplexitätsklasse oder Aufwandsmaß bezeichnet (also z.B. quadratisch). Bei dieser Notation werden, wie die Definitionen der Landau-Symbole zeigen, konstante Faktoren vernachlässigt. Dies ist gerechtfertigt, da die Konstanten zu großen Teilen vom verwendeten Maschinenmodell bzw. bei implementierten Algorithmen von der Qualität des Compilers und diversen Eigenschaften der Hardware des ausführenden Computer abhängig sind. Damit können sie nicht direkt mit der Laufzeit des Algorithmus in Verbindung gebracht werden.
 
 

Das ist ein Mittel, das Paradies nicht zu verfehlen: auf der einen Seite einen Mathematiker, auf der anderen einen Jesuiten; mit dieser Begleitung muß man seinen Weg machen, oder man macht ihn niemals.

Friedrich der Große

Copyright- und Lizenzinformationen: Diese Seite basiert dem Artikel Landau-Symbole aus der frеiеn Enzyklοpädιe Wιkιpеdιa und stеht unter der Dοppellizеnz GNU-Lιzenz für freie Dokumentation und Crеative Commons CC-BY-SA 3.0 Unportеd (Kurzfassung). In der Wιkιpеdιa ist eine Listе dеr Autorеn des Originalartikels verfügbar. Da der Artikel geändert wurde, reicht die Angabe dieser Liste für eine lizenzkonforme Weiternutzung nicht aus!
Anbieterkеnnzeichnung: Mathеpеdιa von Тhοmas Stеιnfеld  • Dοrfplatz 25  •  17237 Blankеnsее  • Tel.: 01734332309 (Vodafone/D2)  •  Email: cο@maτhepedιa.dе