PDF, 97KB - Westfälische Wilhelms-Universität Münster
PDF, 97KB - Westfälische Wilhelms-Universität Münster
PDF, 97KB - Westfälische Wilhelms-Universität Münster
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Kapitel 2: Das Konzept „Algorithmus“<br />
verstehen. Vielmehr handelt es sich auf einer sehr hohen Abstraktionsstufe um<br />
konzeptionelle und gedankliche Skizzen eines Algorithmus, welche aber schon die<br />
wesentliche Idee und das Konzept der Lösungsstrategie dokumentieren und damit<br />
insofern präzise sind, als dass aus dieser algorithmischen Skizze unmittelbar jeweils<br />
detailliertere Beschreibungen abgeleitet werden können (-> hinreichende Präzision).<br />
Der Aspekt der Effektivität der Arbeitsschritte ist ebenso von Bedeutung. Effektivität in<br />
diesem Sinne ist dann gegeben, wenn alle Operationen oder Einzelschritte eines<br />
Algorithmus hinreichend einfach und elementar sind, so dass sie prinzipiell auch von<br />
einem Menschen mit Bleistift und Papier exakt und in einer endlichen Zeit ausgeführt<br />
werden könnten [Kn73 S. 6].<br />
Bei der Beschreibung eines Algorithmus ist zwischen den elementaren Operationen<br />
einerseits und den Vorschriften, wie und in welcher Reihenfolge sie angewandt werden<br />
sollen, zu unterscheiden [Wi97 S. 11]. Ein Elementarschritt ist von einer Maschine in<br />
einem Schritt (als unteilbare Aktion) auszuführen. Bezüglich der Beschreibung der<br />
Abfolge der Elementarschritte sind folgende Strukturelemente eines Algorithmus<br />
anwendbar: Sequenz; Auswahl von Fällen mit anschließender Entscheidung, was als<br />
nächstes ausgeführt wird; feste Wiederholungen von Schrittfolgen sowie bedingte<br />
Wiederholungen.<br />
Nachdem nun die prinzipielle Art der Beschreibung von Algorithmen diskutiert wurde,<br />
sollen jetzt noch einige Eigenschaften von Algorithmen besprochen werden.<br />
Ein Algorithmus heißt terminierend genau dann, wenn der Algorithmus für alle<br />
erlaubten Eingaben nach endlich vielen Schritten beendet wird. Für die praktische<br />
Anwendung sind in den meisten Fällen primär terminierende Algorithmen interessant.<br />
Einige (nicht unbedeutende) Ausnahmen bilden hier Betriebssystemfunktionen oder<br />
Prozess-Steuerungsalgorithmen [He92, S. 21]. Tatsächlich ist eine Forderung nach der<br />
Terminierung nicht präzise genug für die praktische Verwendung [Kn73, S. 6]. Ein<br />
Algorithmus, welcher beispielsweise ermitteln soll, ob bei einer Partie Schach der<br />
Spieler „weiß“ zwingend gewinnt, ist zwar endlich und terminiert, aber wir werden das<br />
Ergebnis in unserem Leben vielleicht niemals erfahren, da ein solcher Algorithmus sehr<br />
viel Berechnungszeit beanspruchen wird. Ein brauchbarer Algorithmus sollte daher<br />
nicht irgendwie oder irgendwann, sondern möglichst in einer akzeptablen Anzahl von<br />
Schritten terminieren.<br />
5