|
Die Iteration (von lateinisch iterare, "wiederholen") ist ein Begriff aus der Mathematik und bezeichnet eine Methode, sich der Lösung eines Rechenproblems
schrittweise, aber zielgerichtet anzunähern. Sie besteht in der wiederholten Anwendung desselben Rechenverfahrens.
Meist iteriert man mit Rückkopplung: Die Ergebnisse eines
Iterationsschrittes
werden als Ausgangswerte des jeweils nächsten Schrittes genommen - bis das Ergebnis (beziehungsweise Veränderung einer
Bestandsgröße) zufrieden stellt. Manchmal setzt man den nächsten Schritt aus den Ergebnissen der vorherigen zwei Schritte (oder
von noch mehr Schritten) an, zum Beispiel bei der Regula Falsi.
Anwendung der Methode:
- In Fällen, wo das Ergebnis nicht geschlossen berechenbar ist (zum Beispiel transzendente Kepler-Gleichung oder nachgebessert werden muss (Gleichungssysteme);
- Häufig ist eine gute Näherung schon befriedigend. Speziell bei Anwendungsproblemen können die Eingabedaten fehlerbehaftet
sein, dann ist die exakte Lösung des gegebenen Problems nicht notwendigerweise besser als ihre Approximation. Das
Iterationsverfahren ist also dann attraktiv, wenn es eine gute Näherung schneller liefert, als die Berechnung der exakten Lösung
braucht.
- Manche Funktionen auf Taschenrechnern oder Fraktale werden beispielsweise iterativ berechnet.
Beispiel: Lösung einer Gleichung
Die Nullstelle (Wurzel) einer Gleichung ist iterativ oft rascher gefunden als mit exakten, geschlossenen Formeln:
- Probieren, wo die Nullstelle von y = f(x) ungefähr liegt
- zweimalige Berechnung von y mit x1 und x2
- Besserer Wert x3 mit der Regula Falsi, die ein
annähernd gerades Kurvenstück annimmt:
und wiederholen, bis genau genug.
Effizienz versus Eleganz
Als Algorithmus ist die Iteration oft effizienter als der elegantere rekursive Weg. Beispiele sind die
Berechnungen der Fakultät und der Fibonacci-Zahlen.
Iteration in der Informatik
Neben der mathematischen iterativen Problemlösung wird in der Informatik
auch von Iteration gesprochen, wenn ein Zugriff iterativ, das heißt, schrittweise beziehungsweise wiederholt, auf Datenstrukturen
erfolgt. Hierbei steht der Begriff Datenstruktur für Sammlungen von
Objekten,
Objektreferenzen oder Datentypen. Im Folgenden handelt es sich bei diesen Sammlungen (engl. collections) in der
Regel um Arrays, Listen, Schlüssel-Wert-Paare (Maps, Hashes) oder Mengen (Sets).
Siehe auch: Iterator
Iteration im Software-Engineering
Im Software-Engineering bezeichnet eine Iteration einen
einzelnen Entwicklungszyklus, je nach Modell beginnend mit Planung, Analyse oder Entwurf, endend mit Implementierung, Test oder
Wartung. Siehe auch Spiralmodell, Extreme Programming, Rational Unified Process
|