„Platzkomplexität“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Framerate (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(5 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Unter der '''Platzkomplexität''' eines [[Problem#Charakterisierung von Problemen in der Informatik|Problems]] versteht man den (minimalen) Bedarf an Speicherplatz eines [[Algorithmus]] zur Lösung dieses Problems, in Abhängigkeit von der Länge der Eingabe. Es interessiert also nicht der Speicherbedarf eines konkreten [[Computerprogramm|Programms]] auf einem bestimmten Computer, sondern vielmehr, ''wie'' der Speicheraufwand wächst, wenn mehr Daten zu verarbeiten sind. Also z. B. ob sich der Aufwand für die doppelte Datenmenge verdoppelt oder quadriert (siehe auch [[Skalierbarkeit]]).
Unter der '''Platzkomplexität''' eines [[Komplexitätstheorie#Probleme aus Sicht der Komplexitätstheorie|Problems]] versteht man den (minimalen) Bedarf an Speicherplatz eines [[Algorithmus]] zur Lösung dieses Problems, in Abhängigkeit von der Länge der Eingabe. Es interessiert also nicht der Speicherbedarf eines konkreten [[Computerprogramm|Programms]] auf einem bestimmten Computer, sondern vielmehr, ''wie'' der Speicheraufwand wächst, wenn mehr Daten zu verarbeiten sind. Beispielsweise beantwortet die Platzkomplexität die Frage, ob sich der benötigte Speicher bei doppelter Eingabe-Datenmenge verdoppelt oder quadriert (siehe auch [[Skalierbarkeit]]). Sie wird deshalb auch ''Speicherkomplexität'' genannt.


== Notation ==
== Notation ==
Zeile 13: Zeile 13:
* <math>\text{NPSPACE} := \bigcup_{f \in O(n^k), k \in \mathbb{N}}{\text{NSPACE}(f)}</math>
* <math>\text{NPSPACE} := \bigcup_{f \in O(n^k), k \in \mathbb{N}}{\text{NSPACE}(f)}</math>


Es gibt darüber hinaus noch weitere Platzkomplexitätsklassen, die sich auf exponentiellen oder gar über-exponentiellen Speicherplatz beziehen.
Es gibt darüber hinaus noch weitere Platzkomplexitätsklassen, die sich auf exponentiellen oder gar über-exponentiellen Speicherplatzbedarf beziehen.


== Beziehungen ==
== Beziehungen ==
Zeile 23: Zeile 23:


== Sonstiges ==
== Sonstiges ==
In der [[Komplexitätstheorie]] ist die Platzkomplexität neben der [[Zeitkomplexität]] ein wichtiges Maß für die „Schwierigkeit“ (oder eben [[Komplexität (Informatik)|Komplexität]]) von Problemen. Dazu ist zu sagen, dass die Zeitkomplexität eines Algorithmus niemals kleiner sein kann als die Platzkomplexität, da für das Schreiben einer Speicherzelle jeweils ein Rechenschritt benötigt wird.
In der [[Komplexitätstheorie]] ist die Platzkomplexität neben der [[Zeitkomplexität]] ein wichtiges Maß für die „Schwierigkeit“ (oder eben [[Komplexität (Informatik)|Komplexität]]) von Problemen. Die Zeitkomplexität eines Algorithmus kann niemals kleiner sein als dessen Platzkomplexität, da für das Schreiben einer Speicherzelle jeweils ein Rechenschritt benötigt wird.


Formal werden Probleme gemäß ihrer Platzkomplexität oder Zeitkomplexität in [[Komplexitätsklasse]]n eingeteilt.
Formal werden Probleme gemäß ihrer Platzkomplexität oder Zeitkomplexität in [[Komplexitätsklasse]]n eingeteilt.


==Siehe auch==
== Siehe auch ==
[[Zeitkomplexität]], [[Komplexität (Informatik)]], [[Effizienz (Informatik)|Effizienz]]
* [[Zeitkomplexität]]
* [[Komplexität (Informatik)]]
* [[Effizienz (Informatik)|Effizienz]]
* [[DSPACE]]


{{SORTIERUNG:Platzkomplexitat}}
{{SORTIERUNG:Platzkomplexitat}}

Aktuelle Version vom 11. Oktober 2018, 10:45 Uhr

Unter der Platzkomplexität eines Problems versteht man den (minimalen) Bedarf an Speicherplatz eines Algorithmus zur Lösung dieses Problems, in Abhängigkeit von der Länge der Eingabe. Es interessiert also nicht der Speicherbedarf eines konkreten Programms auf einem bestimmten Computer, sondern vielmehr, wie der Speicheraufwand wächst, wenn mehr Daten zu verarbeiten sind. Beispielsweise beantwortet die Platzkomplexität die Frage, ob sich der benötigte Speicher bei doppelter Eingabe-Datenmenge verdoppelt oder quadriert (siehe auch Skalierbarkeit). Sie wird deshalb auch Speicherkomplexität genannt.

Die Platzkomplexität wird immer in Bezug auf ein Maschinenmodell angegeben. In der Regel ist das Bezugsmodell die Turingmaschine. Es gelten die folgenden Notationen:

  • Mit werden alle Probleme bezeichnet, die von einer deterministischen Turingmaschine entschieden werden können, die bei einer Eingabe der Länge höchstens Speicherzellen für die Berechnung benutzt hat.
  • Mit werden alle Probleme bezeichnet, die von einer nicht-deterministischen Turingmaschine entschieden werden können, die bei einer Eingabe der Länge höchstens Speicherzellen für die Berechnung benutzt hat.

Aus diesen Klassen, lassen sich u. a. folgende Platzkomplexitätsklassen bilden:

Es gibt darüber hinaus noch weitere Platzkomplexitätsklassen, die sich auf exponentiellen oder gar über-exponentiellen Speicherplatzbedarf beziehen.

Als echte Teilmengenbeziehung zwischen Platzkomplexitätsklassen deterministischer Turingmaschinen ist bekannt.

Die Komplexitätsklassen der Zeitkomplexität stehen mit denen der Platzkomplexität in folgender Beziehung:

In der Komplexitätstheorie ist die Platzkomplexität neben der Zeitkomplexität ein wichtiges Maß für die „Schwierigkeit“ (oder eben Komplexität) von Problemen. Die Zeitkomplexität eines Algorithmus kann niemals kleiner sein als dessen Platzkomplexität, da für das Schreiben einer Speicherzelle jeweils ein Rechenschritt benötigt wird.

Formal werden Probleme gemäß ihrer Platzkomplexität oder Zeitkomplexität in Komplexitätsklassen eingeteilt.