Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Determinismus (Algorithmus)

Endlichkeit (statisch: endliche Beschreibung, dynamisch: endlich viele Ressourcen bei der Ausführung) · Komplexität (Aufwand an Rechenzeit und Speicherplatz, …

Inhalt4 Abschnitte
  1. 1. Definition und Bedeutung
  2. 2. Determinismus und Determiniertheit
  3. 3. Nichtdeterministische Algorithmen
  4. 4. Weitere Eigenschaften von Algorithmen

Definition und Bedeutung

Ein deterministischer Algorithmus ist ein Algorithmus, bei dem nur definierte und reproduzierbare Zustände auftreten. Bei gleicher Eingabe liefert er immer die gleiche Ausgabe, durchläuft dieselbe Folge von Zuständen und erzeugt dieselben Zwischenergebnisse. Zu jedem Zeitpunkt ist der nächste Verarbeitungsschritt eindeutig festgelegt.

Vereinfacht gesagt folgt unter exakt gleichen Voraussetzungen auf eine Anweisung immer dieselbe nächste Anweisung. Mit „gleichen Voraussetzungen“ sind dabei identische Daten und Zwischenergebnisse in jedem diskreten Verarbeitungsschritt gemeint.

Determinismus und Determiniertheit

Determinismus und Determiniertheit sind nicht dasselbe. Ein deterministischer Algorithmus ist immer determiniert: Gleiche Eingabe bedeutet gleiches Endergebnis. Umgekehrt kann ein Algorithmus nichtdeterministisch, aber dennoch determiniert sein.

Quicksort ist ein Beispiel: Eine vorgegebene Liste wird in Teillisten aufgeteilt, deren Größe zufällig gewählt werden kann. Deshalb können sich Zwischenergebnisse unterscheiden und der Ablauf ist nichtdeterministisch. Das sortierte Endergebnis bleibt jedoch stets gleich; Quicksort ist daher determiniert.

Nichtdeterministische Algorithmen

Bei einem nichtdeterministischen, randomisierten Algorithmus können nicht reproduzierbare und undefinierte Zustände auftreten. Ein theoretischer Algorithmus, der eine Zufallszahl liefert, verhält sich beispielsweise nichtdeterministisch.

Nichtdeterministische Turingmaschinen sind in der Theoretischen Informatik wichtig. Sie ermöglichen einem Algorithmus gewissermaßen zu „raten“, sodass viele Probleme mit deutlich weniger Aufwand lösbar werden. In der Komplexitätstheorie bilden solche Turingmaschinen eine eigene Komplexitätsklasse.

Weitere Eigenschaften von Algorithmen

Neben Determinismus beziehungsweise Determiniertheit werden Algorithmen auch durch weitere Eigenschaften beschrieben:

  • Endlichkeit: Statisch besitzt der Algorithmus eine endliche Beschreibung; dynamisch benötigt seine Ausführung nur endlich viele Ressourcen.
  • Komplexität: Aufwand an Rechenzeit und Speicherplatz; sie kann hoch oder niedrig sein.
  • Terminiertheit: Der Algorithmus liefert nach endlich vielen Schritten ein Ergebnis oder terminiert nicht.
  • Determiniertheit: Bei gleicher Eingabe entsteht dasselbe Ergebnis; ein Algorithmus kann determiniert oder nicht determiniert sein.

Der philosophische Determinismus behandelt dagegen Determinismus als Eigenschaft der Welt insgesamt. Ob physikalische Abläufe deterministisch sind, beeinflusst unter anderem das Verständnis von freiem Willen und des Gottesbegriffs.

Lernvideos zu Determinismus (Algorithmus)

Weiterlesen

Algorithmus Algorithmen bestehen aus endlich vielen, wohldefinierten Einzelschritten. ... Damit können sie zur Ausführung in ein Computerprogramm implementiert, aber auch in … Determiniertheit (Algorithmus) Ein Algorithmus ist determiniert, wenn er bei jeder Ausführung für gleiche Eingabewerte auch immer dieselben Ausgabewerte liefert. Sortierverfahren Unter einem Sortierverfahren versteht man in der Informatik einen Algorithmus, der dazu dient, ein Tupel (i. Allg. ein Array) zu sortieren. Quicksort Quicksort (englisch quick ‚schnell' und to sort ‚sortieren') ist ein schneller, rekursiver, nicht-stabiler Sortieralgorithmus, der nach dem Prinzip Teile … Nichtdeterministische Turingmaschine Eine nichtdeterministische Turingmaschine (NTM, NDTM) in der theoretischen Informatik ist eine Turingmaschine, die anstatt einer Übergangsfunktion eine … Theoretische Informatik Ihre Inhalte sind die Automatentheorie, die Theorie der formalen Sprachen, die Berechenbarkeits- und Komplexitätstheorie, aber auch die Logik und formale … Problem Inhaltsverzeichnis · 1 Allgemeines · 2 Definitionen · 3 Problemklassen. 3.1 Lösbarkeit; 3.2 Zerlegbarkeit; 3.3 Verwandtheit · 4 Wissenschaften. 4.1 Denkpsychologie … Turingmaschine Eine Turingmaschine ist ein mathematisches Modell der theoretischen Informatik, das eine abstrakte Maschine definiert. Bei diesem Rechnermodell werden nach … Komplexitätstheorie Die Komplexität von Algorithmen wird in deren Ressourcenverbrauch gemessen, meist Rechenzeit oder Speicherplatzbedarf, manchmal auch speziellere Maße wie die … Komplexitätsklasse Eine Komplexitätsklasse ist eine Menge von Problemen, welche sich in einem bestimmten ressourcenbeschränkten Berechnungsmodell berechnen lassen. Zusammenhang … Komplexität (Informatik) Die Komplexität eines Problems ist zum Beispiel entscheidend für die Kryptographie und insbesondere für die asymmetrische Verschlüsselung: So verlässt sich … Determinismus Der Determinismus (von lateinisch determinare ‚festlegen', ‚Grenzen setzen', ‚begrenzen') ist die Auffassung, dass alle – insbesondere auch zukünftige …