Je nachdem wen man nach den Anforderungen an einen Algorithmus fragt,
bekommt man unterschiedliche Antworten.
Relativ unstrittig sind die folgenden Punkte:
- Beschreibung eines durchzuführenden Verfahrens durch Angabe
seiner Einzelschritte
- Präzise Formulierung (Bestimmtheit, definiteness):
- Eindeutiger Startpunkt
- Eindeutiger Endpunkt (entweder die Lösung, oder die Aussage daß das
Problem nicht lösbar ist)
- Jeder Schritt muß ein genau definiertes Verhalten
zeigen2.3.
- Für jeden Schritt (außer dem Ende natürlich) ist ein eindeutiger
Nachfolgeschritt definiert.
Teilweise werden darüber hinaus folgende Anforderungen an einen Algorithmus gestellt:
- Korrektheit
- Endlichkeit:
- der Beschreibung des Algorithmus als solcher (statische Endlichkeit)
- sowohl jedes einzelnen Schrittes
- als auch der
gesamten Anweisungsfolge (dynamische Endlichkeit; ein Betriebssystem
oder manches Programm mit interaktiver Benutzeroberfläche fällt beispielsweise nicht darunter)
- Verwendung einer Eingabe (input)
- Erzeugen einer Ausgabe (output)
- Effizienz (effectiveness, siehe Effizienz von Algorithmen)
- Jeder Schritt soll eine einfache Aktion sein, also irgendwie
elementar
www.wachtler.de