Was ist ein Algorithmus? Definition und Beispiele

Ein Algorithmus ist eine vordefinierte Vorgehensweise, die in Einzelschritten Probleme oder Aufgaben löst. Während Algorithmen in fast allen Alltagsbereichen vorkommen, spielen sie vor allem in der Informatik und im Zusammenhang mit Computerprogrammen eine zentrale Rolle. Bekannte Beispiele sind etwa der Google-Algorithmus, der das Ranking von Suchergebnissen bestimmt, sowie die Newsfeed-Algorithmen von Facebook oder Instagram.

Algorithmus: Eine kurze Definition

Algorithmen sind vordefinierte, endliche Handlungsabfolgen, die zur Lösung eines Problems dienen. Sie kommen zum Einsatz, um anhand fester Schrittfolgen bestimmte Aufgaben zu erfüllen oder Eingabewerte in Ausgabewerte zu verwandeln. Die Schritte sind präzise vorbestimmt und werden in einer vorgesehenen Reihenfolge ausgeführt. Algorithmen sind zudem unabhängig von einer bestimmten Sprache und funktionieren daher sowohl maschinell als auch nichtmaschinell. Darüber hinaus finden sich Algorithmen nicht nur in der Mathematik und Informatik, sondern auch im Alltag – angefangen bei der Ampel im Straßenverkehr bis hin zur Ruffunktion eines Aufzugs.

6 Eigenschaften, die ein Algorithmus aufweisen muss

Waren Algorithmen früher eher vage definiert, lässt sich heute an sechs Eigenschaften erkennen, ob es sich um einen Algorithmus handelt:

Eindeutigkeit/Effektivität

Jeder Schritt in der Handlungsabfolge eines Algorithmus muss effektiv und eindeutig sein. Das bedeutet, dass jede Anweisung sinnvoll und für die Anwendung zweckmäßig sein muss, um ein Ergebnis oder einen Ausgabewert zu erhalten.

Ausführbarkeit

Die Handlungen und Einzelschritte müssen ausführbar und somit logisch sein.

Endlichkeit (Finitheit)

Ziel eines Algorithmus ist die Umwandlung von Eingabedaten in Ausgabedaten. Das ist nur möglich, wenn es sich um einen endlichen Ablauf handelt. Algorithmen müssen somit eine finite Form haben, z. B. durch eine begrenzte Zeichenzahl oder einen limitierten Speicherbedarf.

Terminierung

Die ausführbaren, logischen und endlichen Einzelschritte müssen in einem zeitlich finiten Rahmen zu einer Ausgabe führen. Die Abfolge sollte also zielführend sein und nicht in einer Endlosschleife ohne Ergebnis münden.

Determiniertheit

Gleiche Eingaben unter gleichen Voraussetzungen müssen zu gleichen Ausgaben führen. Nur so garantieren Algorithmen, dass eine Anwendung und Problemlösung zuverlässig funktioniert.

Determinismus

Bei der Schrittfolge des Algorithmus gibt es stets nur eine Möglichkeit zur Fortsetzung der Problemlösung. Folgeschritte sind somit durch die Zwischenergebnisse klar definiert und nicht zufällig.

Welche Bedeutung haben Algorithmen?

Algorithmen spielten im 19. und 20. Jahrhundert vor allem für die Mathematik und Logik eine zentrale Rolle und waren ein beliebtes Streitthema. Heutzutage finden sich Algorithmen in nahezu jedem Bereich unseres Alltags. Das Faszinierende daran: Meist wissen wir nichts von den Algorithmen, die bestimmte Anwendungen wie das Fließband an der Kasse, Navigationsgeräte oder das Ranking einer Suchmaschine wie Google möglich machen.

In der Informatik bilden Algorithmen eine zentrale Grundlage für das Programmieren. Wer Programmieren lernen will, stellt schnell fest, dass nahezu jedes Programm Algorithmen nutzt, um eine Aufgabe auszuführen. Leicht vereinfacht lässt sich sogar sagen, dass jedes Programm selbst ein Algorithmus ist.

Nicht jeder Algorithmus ist jedoch ein Programm, denn Algorithmen sind unabhängig von Internetprogrammiersprachen. Sie lassen sich auch in „natürlicher“ Sprache formulieren, in mathematischen Formeln abbilden oder nichtmaschinell ausführen. Der Ursprung des Begriffs liegt im 8. Jahrhundert und leitet sich ab vom choresmischen Universalgelehrten und Mathematiker al-Chwarizmi, abgekürzt für Abu Dscha ’far Muhammad ibn Musa al-Chwārizmī.

Anwendungsbereiche von Algorithmen

Algorithmen sind weder auf Sprachen und Methoden noch auf bestimmte Anwendungsbereiche beschränkt. Da ihr Nutzen in der Problemlösung liegt, stellen sie eine bestimmte Handlungs- und Vorgehensweise dar, die mit verschiedenen Variablen und Schrittfolgen arbeitet. Dabei kann es sich um die Routenberechnung für Navigationsgeräte handeln, um Empfehlungssysteme in Onlineshops, Real-Time Advertising für das intelligente Ausspielen von Onlinewerbung in Echtzeit sowie um Übersetzer-Apps und Computersimulationen.

Besonders im Bereich Big Data und künstliche Intelligenz (KI) gewinnen Algorithmen zunehmend an Bedeutung. Mit der Digitalisierung und der Allgegenwärtigkeit von smarten Technologien wie Smartphones, Smartwatches sowie künstlicher Intelligenz im Auto und Smart Home steigt die Zahl erzeugter Daten ins Astronomische.

Hierzu braucht es nicht nur Computer und Server mit entsprechender Rechenleistung, sondern auch Algorithmen, die Datenmengen organisieren, auswerten, verarbeiten oder anwenden. Ein Beispiel hierfür sind Sensoren beim automatisierten Fahren, die aufgrund erfasster Daten bestimmte Fahrzeughandlungen veranlassen. Auch für die Erstellung von Klimasimulationen spielen mathematische Computeralgorithmen eine entscheidende Rolle.

Die Funktionsweise von Suchmaschinen und Pathfinding in der Informatik ließe sich ohne Algorithmen ebenfalls nicht umsetzen. So kommen für die Suche, Analyse und Indizierung von Webinhalten Programme namens Crawler zum Einsatz. Crawler katalogisieren und indexieren Daten anhand des Suchmaschinen-Algorithmus. Von einer optimalen Katalogisierung hängt wiederum das Ranking und die Auffindbarkeit von Suchergebnissen ab. Der Suchmaschinen-Algorithmus dient daher auch als Orientierung zur effizienten Suchmaschinenoptimierung.

Konkrete Beispiele für Algorithmen

Täglich kommen neue Algorithmen und praktische Anwendungsmöglichkeiten hinzu. Zur Veranschaulichung von Algorithmen in der Praxis sollen die folgenden Beispiele dienen:

Google-Algorithmus

Wenn Sie einen Suchbegriff oder eine Suchanfrage in Google eingeben, dauert es nur den Bruchteil einer Sekunde, bis sie mehrere Seiten an Suchergebnissen erhalten. Möglich macht das der Suchmaschinen-Algorithmus von Google. Dieser listet Ergebnisse nach Relevanz, Keywords, Verlinkungsstruktur, Lesbarkeit des Contents und Sicherheit auf. Wie der Algorithmus genau aussieht und im Detail funktioniert, ist und bleibt jedoch eines der größten Geschäftsgeheimnisse der Welt.

Kochrezepte

Bereits einfache Kochrezepte verkörpern das Grundprinzip eines Algorithmus. Die Zutaten lassen sich hierbei als Eingaben verstehen, die in einer bestimmten und festgelegten Handlungsabfolge zum Ergebnis führen. Auch Kochseiten, die es ermöglichen, die Menge an Zutaten anhand der Portionen und Personen zu berechnen, nutzen Algorithmen.

Body-Mass-Index

Der Körperfettanteil eines Menschen lässt sich durch den Body-Mass-Index berechnen. Hierbei wird das Körpergewicht in Relation zur Körpergröße gesetzt. Die Eingaben sind das aktuelle Gewicht und die Körpergröße, die Ausgabe wiederum ist der BMI. Der BMI gibt einen Anhaltspunkt dafür, ob Personen normalgewichtig, untergewichtig, übergewichtig oder fettleibig sind.

ASIC

Die sogenannte anwendungsspezifische integrierte Schaltung lässt sich als hardwareseitig verbauter Algorithmus verstehen. Hierbei handelt es sich um nicht veränderliche Schaltungen in Hardware, die eine bestimmte Funktion erfüllt. Ein Beispiel hierfür sind Grafikprozessoren.

Data Mining

Die Suche, Sammlung, Analyse, Katalogisierung und Indexierung von Daten nennt sich auch Data Mining. Hierbei kommen Algorithmen, künstliche Intelligenz und Machine Learning zum Einsatz.

Mining-Algorithmen von Kryptowährungen

Beim Cryptomining werden Transaktionen mit Kryptowährungen dokumentiert, verifiziert und in der Blockchain verbucht. Hierbei lösen Krypto-Miner transaktionsbezogene Algorithmen, die an Zahlenrätsel erinnern. Das Lösen der Rätsel dient wiederum der Verifizierung von Transaktionen.

Neuronale Netzwerke

Bei einem Neural Network handelt es sich um einen Bereich des Deep Learning. Hierbei kommen Deep-Learning-Algorithmen zur Anwendung, die Funktionsweisen des menschlichen Gehirns simulieren und nachbilden. Mit diesen lassen sich verschiedene Funktionen wie Sprachassistenz, Übersetzung, Schutz vor Cyberangriffen oder auch Texterstellung nutzen.