Ein Algorithmus umfasst endlich viele Schritte zur Lösung einer vorgegebenen Aufgabe. Bei Einhaltung der Reihenfolge dieser Arbeitsabläufe wird die Aufgabe auf jeden Fall anschließend gelöst sein und es werden immer dieselben Ergebnisse geliefert. Algorithmen sind vor allem in der Mathematik und der Informatik weit verbreitet, weil damit komplexe Probleme einfach und wiederholt gelöst werden können.
Wie definiert sich der Begriff Algorithmus?
Algorithmen begegnen uns in immer mehr Bereichen des alltäglichen Lebens. Obwohl der Begriff vor allem in der Informatik und der Mathematik beheimatet ist, begegnen uns einfachste Algorithmen auch im Alltag. Die Handwaschanleitung beispielsweise, die seit der Corona Pandemie an vielen öffentlichen Waschbecken angebracht ist, ist auch ein Beispiel für einen Algorithmus.
Für den alltäglichen Gebrauch lässt sich der Algorithmus also als eine feste Abfolge von Schritten oder Arbeitsanweisungen verstehen, deren Ausführung zu einem gewünschten Ergebnis führt, nämlich in diesem Fall saubere und hygienisch reine Hände. Noch allgemeiner gesagt, definieren Algorithmen Vorgehensweisen mit denen Eingabewerte (dreckige Hände) zu fest definierten Ausgabewerten (saubere/hygienische Hände) umgewandelt werden können.
In der Informatik reicht diese allgemeine Definition jedoch nicht aus. Deshalb gibt es hierfür eine detaillierte Umschreibung für Algorithmen. Ein Algorithmus ist dabei eine endliche Menge von Schritten deren Befolgung zur Lösung eines vordefinierten Problems führt. Wenn der Algorithmus mehrmals ausgeführt wird, liefert er immer dasselbe Ergebnis.
Darüber hinaus ist ein Algorithmus wohl definiert, wenn er ausschließlich eindeutige, also unmissverständliche, Anweisungen enthält, die auch exakt so ausführbar sind. Ein Schritt des Handwaschalgorithmus könnte zum Beispiel sein: „Waschen Sie Ihre Hände unter dem Wasserstrahl.“ Dieser Schritt ist nicht wohldefiniert, da die Ausführung daraus nicht eindeutig hervorgeht. Es stellen sich beispielsweise noch die Fragen, wie „Für wie lange müssen die Hände gewaschen werden?“ oder „Wie stark sollte der Wasserstrahl dafür sein?“.
Welche Eigenschaften hat ein Algorithmus?
Die folgenden Eigenschaften sind bezeichnend für einen Algorithmus:
- Eindeutigkeit: Die Beschreibungen und Schritte müssen eindeutig sein.
- Ausführbarkeit: Alle Schritte müssen ausführbar sein, falls die vorherigen Schritte richtig ausgeführt wurden.
- Endlichkeit: Die Endlichkeit besagt, dass es eine endliche Menge an Schritten gibt, die es auszuführen gilt.
- Terminierung: Terminierung bedeutet, dass der Algorithmus nach einer gewissen Zeit zu einem Ergebnis kommt. Die Terminierung und die Endlichkeit bedingen sich gegenseitig. Also durch die Endlichkeit der Schritte, muss der Algorithmus auch gezwungenermaßen zu einem Ende kommen.
- Determiniertheit: Bei gleichen Gegebenheiten führt der Algorithmus immer zum gleichen Ergebnis.
- Determinismus: Zu jedem Zeitpunkt der Ausführung gibt es genau einen eindeutigen Folgeschritt, der ausgeführt werden muss. Diese Eigenschaft ist auch eine Voraussetzung für die Determiniertheit. Gäbe es nämlich eine Auswahl von möglichen Folgeschritten, könnte es nicht zu einem eindeutigen Ergebnis kommen.
Welche beispielhaften Algorithmen gibt es?
- Navigationsgerät: Die Wegbeschreibung eines Navigationsgerätes enthält viele aufeinanderfolgende Schritte, die irgendwann an das eingegebene Ziel führen. Es erfüllt somit alle Eigenschaften von Algorithmen.
- Spielealgorithmen: Wenn Computer erlernen Spiele, wie Schach oder Go, halten sie sich in vielen Fällen an vordefinierte Schrittabfolgen. Diese wurden so programmiert, dass sie bei Erkennen einer bestimmten Situation einfach ausgeführt werden.
- Mathematik: Mathematische Funktionen stellen auch Algorithmen dar, da sie eine genaue Abfolge vorgeben, wie man von einem Input-Wert zu einem Output-Wert gelangt.
- Ampeln im Straßenverkehr: Die Schaltzeiten von Verkehrsampeln werden auch von Algorithmen bestimmt. Abhängig von der Zeit oder der gemessenen Verkehrsdichte schaltet die Ampel von Rot auf Grün und andersrum.
Wie hängen Machine Learning und Algorithmen zusammen?
Wie wir bereits erfahren haben, handelt es sich bei Algorithmen um definierte Prozessketten, die bei gleichen Eingaben auch immer zum selben Ergebnis gelangen. Im Bereich des Machine Learning wird deshalb auch oft davon gesprochen, dass es sich um Algorithmen handelt, die in der Lage sind, komplexe Zusammenhänge zu erlernen.
Für die Gruppierung von Datenpunkten wird häufig das sogenannte k-Means Clustering verwendet. Hierbei wird in einer endlichen Menge von Schritten verschiedene Clusterzentren ausgetestet bis früher oder später die perfekte Zuordnung in Gruppen erlernt wurde. Hierbei handelt es sich also tatsächlich um einen Algorithmus.

Eine solche eindeutige Zuordnung ist auch bei anderen Machine Learning Algorithmen, wie dem Decision Tree oder den Support Vector Machines gegeben.
Im Bereich des Deep Learnings ist diese Zuordnung jedoch nicht ganz so offensichtlich. Denn bei Neuronalen Netzwerken kann es bei zwei Trainingsdurchläufen mit denselben Datensätzen zu unterschiedlichen Ergebnissen kommen. Dies würde eigentlich gegen eine Zuordnung zu den Algorithmen sprechen. Jedoch liegt dies vor allem an der Initialisierung des Netzwerks während welcher beispielsweise die Gewichtungen der einzelnen Neuronen zufällig vergeben werden. Wenn unter anderem sichergestellt ist, dass die Gewichtungen in zwei Trainingsdurchläufen dieselben sind, wären die Ergebnisse der Netzwerke auch dieselben. Somit zählen auch Deep Learning Modelle zu Algorithmen.
Das solltest Du mitnehmen
- Ein Algorithmus umfasst endlich viele Schritte zur Lösung einer vorgegebenen Aufgabe.
- Bei Einhaltung der Reihenfolge dieser Arbeitsabläufe wird die Aufgabe auf jeden Fall anschließend gelöst sein und es werden immer dieselben Ergebnisse geliefert.
- Algorithmen begegnen uns im alltäglichen Leben sehr häufig, wie beispielsweise bei Navigationsgeräten oder bei Ampeln.
- Auch Machine Learning Modelle zählen zu den Algorithmen.
Andere Beiträge zum Thema Algorithmus
Auf Wikipedia gibt es einen ausführlichen Beitrag zur Herkunft und den Eigenschaften von Algorithmen.