Offline-Algorithmus

Offline-Algorithmus

Ein Online-Algorithmus ist ein Lösungsverfahren für Probleme, bei denen zu Beginn des Berechnungsvorgangs nicht alle Eingabedaten verfügbar sind.

Bei vielen algorithmisch lösbaren Problemen in der Informatik sind die vollständigen Eingabedaten vor der Ausführung des jeweiligen Algorithmus bekannt. Anhand dieser Daten wird eine Lösung berechnet und ausgegeben. Solche Probleme werden Offline-Probleme genannt.

Bei Online-Problemen hingegen werden die Eingabedaten zur Zeit der Ausführung des Algorithmus laufend ergänzt. Anders formuliert: Bestimmte Informationen stehen erst dann zur Verfügung, wenn bestimmte andere Daten bereits vorliegen – und können auch erst dann zur Lösung des Problems berücksichtigt werden. Der Algorithmus kann keine Annahmen über die vollständigen Daten treffen.

Wesentlich ist, dass der Algorithmus schon Entscheidungen treffen muss, bevor die Daten vollständig vorliegen. Und zwar üblicherweise mehrfach. Diese Entscheidungen können sich „im Nachhinein“ als unglücklich oder schlecht herausstellen, aber entweder nicht mehr oder nur mit zusätzlichen Kosten zurückgenommen werden.

Ein Beispiel für ein Online-Problem ist die Suche nach einem kürzesten Weg in einem Graphen, wobei der Graph anfangs unbekannt ist und Informationen über die Knoten und Kanten erst beim „Betreten“ eines Knotens erhalten werden. Eine optimale Lösung kann nur mit vollständiger Information, welche das Besuchen aller Knoten voraussetzt, erreicht werden.

Sehr ähnlich ist auch die Bewegung eines autonomen Roboters in einer unerkundeten Umgebung oder die Navigation eines Spiders im World Wide Web.

In manchen Fällen funktionieren Anwendungen des maschinellen Lernens ebenfalls online; das System lernt während seiner „Arbeit“.

Vom theoretischen Gesichtspunkt untersucht man die sogenannte Kompetitivität von Online-Algorithmen. Dabei handelt es sich im wesentlichen um das Verhältnis von Kosten einer Lösung des Onlinealgorithmus zu denen einer optimalen Lösung (die man mit vorheriger Kenntnis der vollständigen Daten errechnen könnte) im schlechtesten Fall (über alle möglichen Sequenzen von schrittweise eintreffenden Informationen). Je nach Problem sind hier unterschiedliche Güten erreichbar. Diese Notation ist eng verwandt mit der der Approximationsgüte von Approximationsalgorithmen.

Literatur

  • Allan Borodin, Ran El-Yaniv: Online computation and competitive analysis. Cambridge University Press, Cambridge 2005, ISBN 0-521-61946-7.

Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Online-Algorithmus — Ein Online Algorithmus ist ein Lösungsverfahren für Probleme, bei denen zu Beginn des Berechnungsvorgangs nicht alle Eingabedaten verfügbar sind. Bei vielen algorithmisch lösbaren Problemen in der Informatik sind die vollständigen Eingabedaten… …   Deutsch Wikipedia

  • 3DES — DES Eine Feistel Runde (F Funktion) Entwickler IBM Veröffentlicht 1975 Abgeleitet von Lucifer …   Deutsch Wikipedia

  • DEA1 — DES Eine Feistel Runde (F Funktion) Entwickler IBM Veröffentlicht 1975 Abgeleitet von Lucifer …   Deutsch Wikipedia

  • DESede — DES Eine Feistel Runde (F Funktion) Entwickler IBM Veröffentlicht 1975 Abgeleitet von Lucifer …   Deutsch Wikipedia

  • Data Encryption Algorithm — DES Eine Feistel Runde (F Funktion) Entwickler IBM Veröffentlicht 1975 Abgeleitet von Lucifer …   Deutsch Wikipedia

  • Deep Crack — DES Eine Feistel Runde (F Funktion) Entwickler IBM Veröffentlicht 1975 Abgeleitet von Lucifer …   Deutsch Wikipedia

  • FIPS 46 — DES Eine Feistel Runde (F Funktion) Entwickler IBM Veröffentlicht 1975 Abgeleitet von Lucifer …   Deutsch Wikipedia

  • Triple-DES — DES Eine Feistel Runde (F Funktion) Entwickler IBM Veröffentlicht 1975 Abgeleitet von Lucifer …   Deutsch Wikipedia

  • Triple DES — DES Eine Feistel Runde (F Funktion) Entwickler IBM Veröffentlicht 1975 Abgeleitet von Lucifer …   Deutsch Wikipedia

  • Data Encryption Standard — DES Eine Feistel Runde (F Funktion) Entwickler IBM Veröffentlicht 1975 Abgeleitet von …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”