Unterschied zwischen Terminierung und Finitheit (Algorithmik)?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Finitheit bezieht sich auf den Aufbau des Algorithmus, Terminierung auf die Ausführung.

Finitheit bedeutet, dass der Algorithmus eine endliche Länge an Befehlen/Zeilen hat und auch auf dem Computer nur endliche Ressourcen zur Verfügung hat.

Terminierung bedeutet, dass der Algorithmus solange arbeitet, bis ein Ereignis eintritt, das ihn beendet und ein Ergebnis liefert.

TimurHC 
Fragesteller
 29.12.2016, 13:00

Vielen Dank, das erklärt die beiden Eingeschaften nochmal einfacher :)

0

Sicher, dass du da nicht die Begriffe verwechselst? Meiner Kenntnis nach bezieht sich die Terminierung darauf, dass das Programmende zeitlich definiert ist, also z.b. nicht in eine Dauerschleife geführt wird.

Finitheid bedeutet, dass das Programm das Problem in einer bestimmten Menge an Arbeitsschritten abarbeitet und ein Ergebnis erzeugt, mit dessen Ausgabe der Algorithmus beendet wird.


TimurHC 
Fragesteller
 29.12.2016, 13:01

Also die beiden Definitionen stehen genau so im Skript. :-)

0

In der Wissenschaft kommt es immer wieder vor, dass sogenannte Experten verbrämte Sprachfloskeln erfinden, um das Ego zu steigern.

Finitheit bei einem Algorithmus meint, dass die Anzahl der Elementaranweisungen auf ein bestimmtes Maß beschränkt bleibt ("endlich"). Das gilt ebenso für die Ressourcen des Algorithmus also z.B. den Speicherplatzbedarf für Zwischenwerte. Mir ist allerdings ein nicht finiter Algorithmus unbekannt. Macht auch wenig Sinn, weil er in der Praxis nicht anwendbar wäre.

Terminierung meint, dass der Algorithmus auf jede Eingabe nach N Schritten ein Ergebnis liefert. Nun meinen viele " Algorithmiker", daß ein Algorithmus, der nicht terminiert, kein Algorithmus im eigentlichen Sinne sei. Donald Knuth schlägt in diesem Zusammenhang vor, nicht terminierende Algorithmen als rechnergestützte Methoden ('Computational Methods') zu bezeichnen.

Alles also rein theoretische Sprachblasen ohne jeden praktischen Nutzen.