Print logo
Bilder, die Informationsblöcke darstellen, in einem Strudel

metamorworks; HSS; iStock

Was ist ein Algorithmus?

Definition Algorithmus — einfach erklärt

Ein Algorithmus ist eine eindeutige Handlungsvorschrift zur Lösung eines Problems oder einer Klasse von Problemen. Algorithmen bestehen aus endlich vielen, wohldefinierten Einzelschritten. Damit können sie zur Ausführung in ein Computerprogramm implementiert, aber auch in menschlicher Sprache formuliert werden. Bei der Problemlösung wird eine bestimmte Eingabe in eine bestimmte Ausgabe überführt.

Erklärvideo Algorithmus

Was ist ein Algorithmus? Alexander Pinker, Innovation-Profiler, Zukunftsstratege und Medienexperte, erklärt in diesem Video anhand von Beispielen, was ein Algorithmus ist und wie er funktioniert. Er zeigt auch, wo Algorithmen im Alltag und in der Arbeitswelt eingesetzt werden.


Factsheet Algorithmus zum Download

Alle Informationen aus Alexander Pinkers Video zum Thema Algorithmus übersichtlich dargestellt.


Über den Experten Alexander Pinker

Alexander Pinker ist Innovation-Profiler, Zukunftsstratege und Medienexperte und hilft Unternehmen, die Chancen hinter Technologien wie künstlicher Intelligenz für die nächsten fünf bis zehn Jahre zu verstehen. Er ist Gründer des Beratungsunternehmens „Alexander Pinker – Innovation-Profiling“, der Agentur für Innovationsmarketing "innovate! communication" und der Nachrichtenplattform „Medialist Innovation“. Außerdem ist er Autor dreier Bücher und Dozent an der Technischen Hochschule Würzburg-Schweinfurt.


Wie funktioniert ein Algorithmus

Ein Algorithmus besteht typischerweise aus drei aufeinanderfolgenden Schritten:

1. Eingabe

Zu Beginn werden die erforderlichen Daten oder Informationen eingegeben. Dies könnte zum Beispiel eine Suchanfrage sein. Der Nutzer sucht gezielt nach spezifischen Informationen und gibt diese in eine Suchmaschine wie Google ein.

2. Verarbeitung

In diesem Schritt werden die eingegebenen Daten nach vordefinierten Regeln und Abläufen verarbeitet. Dabei können verschiedene Operationen angewendet werden, um die gewünschten Ergebnisse zu erzielen. Suchmaschinen wie Google verwenden Algorithmen, um Millionen von Webseiten zu durchsuchen und die relevantesten Ergebnisse für eine bestimmte Suchanfrage zu liefern. Die Algorithmen analysieren verschiedene Faktoren wie Relevanz, Popularität und Qualität der Webseite, um die Suchergebnisse zu bestimmen. Der Google-Algorithmus würde in unserem Beispiel die eingegebenen Daten analysieren und nach spezifischen Schlüsselwörtern suchen, um relevante Inhalte zu finden.

3. Ausgabe

Nach der Verarbeitung der Daten erfolgt die Ausgabe des Ergebnisses an den Nutzer. Dies kann in verschiedenen Formen geschehen, abhängig von der Art des Algorithmus und dem spezifischen Anwendungsfall. Im Fall einer Google Suchanfrage wird das Ergebnis beispielsweise in Form einer Liste von relevanten Suchergebnissen präsentiert.

Die 5 Eigenschaften von Algorithmen

Ausführbarkeit

Jeder Schritt eines Algorithmus muss durchführbar sein. Es darf keine unrealistischen oder nicht realisierbaren Schritte geben. Der Algorithmus muss tatsächlich umgesetzt werden können.

Determinismus

Der Determinismus eines Algorithmus bezieht sich darauf, dass der gesamte Ablauf eindeutig bestimmt ist. Der Algorithmus folgt einem vordefinierten logischen Schema, bei dem jeder Schritt auf dem vorherigen basiert und in einer vorhersehbaren Reihenfolge abläuft.

Determiniertheit

Die Determiniertheit eines Algorithmus bezieht sich speziell auf die eindeutige Bestimmtheit des Ergebnisses. Ein determinierter Algorithmus liefert für gleiche Eingaben stets das gleiche Ergebnis. Während deterministische Algorithmen aufgrund ihres eindeutig bestimmten Ablaufs auch determiniert sind, trifft dies nicht auf alle nicht-deterministischen Algorithmen zu. Es gibt nicht-deterministische Algorithmen, die verschiedene Wege nutzen können, um zum gleichen Ergebnis zu gelangen, also ein determiniertes Resultat liefern.

Endlichkeit (Finitheit)

Ein Algorithmus ist endlich, was bedeutet, dass er in einer endlichen Anzahl von Schritten abläuft. Es gibt eine feste Anzahl von Anweisungen oder Operationen, die im Algorithmus ausgeführt werden.

Terminierung

Eine abschließende Eigenschaft von Algorithmen ist ihre Terminierung. Ein Algorithmus bezeichnet man terminierend, wenn er in einer endlichen Zeit ausgeführt wird und nicht in einer endlosen Schleife stecken bleibt oder ohne Ergebnis abbricht. Er muss also zwangsläufig enden und ein Ergebnis liefern.

Algorithmus Anwendungsbeispiele

Die Schönheit von Algorithmen besteht darin, dass sie universell anwendbar sind. Sie können in vielen verschiedenen Bereichen eingesetzt werden, von der Datenverarbeitung und Programmierung bis hin zur alltäglichen Problemlösung. Es braucht Algorithmen für die Nutzung moderner Navigationssysteme, für die Beantwortung von Suchanfragen oder im Gaming.

Algorithmen werden bei der Künstlichen Intelligenz (KI) verwendet, um Lösungen für die verschiedensten Arten von Problemen zu finden. So helfen diese beispielsweise, viele Daten in Kategorien einzuteilen, um Strukturen und Zusammenhänge zu erkennen. Alles mittels Eingabe und fest definierter, eindeutiger und wiederkehrender Ausgaben. Nahezu keine Anwendung in unserer heutigen Zeit würde ohne ihre Algorithmen funktionieren – und wir stehen aktuell erst am Anfang der Möglichkeiten dieser Ausführungsprogramme.

Algorithmus Beispiele im Alltag

Kochrezept

Ein Kochrezept ist ein klassisches Beispiel für einen Algorithmus. Es gibt klare Anweisungen darüber, welche Zutaten benötigt werden, wie sie vorbereitet werden müssen und wie sie in welcher Reihenfolge kombiniert werden sollen, um ein bestimmtes Gericht zuzubereiten.

Navigationssysteme

Navigationssysteme in Fahrzeugen verwenden komplexe Algorithmen, um uns den besten Weg von einem Ort zum anderen zu zeigen. Sie berücksichtigen Faktoren wie Verkehr, Straßenbedingungen und die kürzeste oder schnellste Route, um uns effektiv ans Ziel zu führen.

Sudoku lösen

Beim Lösen eines Sudoku-Puzzles verwenden wir Algorithmen, um systematisch die leeren Felder zu füllen. Wir prüfen die Regeln des Spiels und testen verschiedene Zahlenkombinationen, um das Rätsel zu lösen.

Algorithmus Beispiele in der Mathematik

Euklidischer Algorithmus

Der Euklidische Algorithmus ist ein mathematischer Algorithmus, der verwendet wird, um den größten gemeinsamen Teiler von zwei Zahlen zu finden. Er wurde vom antiken griechischen Mathematiker Euklid entwickelt und ist immer noch einer der effizientesten Wege, um den größten gemeinsamen Teiler zweier Zahlen zu berechnen.

Mit dem Sieb Algorithmus des Eratosthenes lassen sich Primzahlen ermitteln.

Serena Schreiner / in2code

Sieb des Eratosthenes

Das Sieb des Eratosthenes ist ein einfacher Algorithmus zur Identifizierung aller Primzahlen bis zu einer bestimmten Zahl. Es wurde vom antiken griechischen Mathematiker Eratosthenes von Kyrene entwickelt.

Hier ist ein einfaches Beispiel, um die Primzahlen bis 20 zu finden:

Schritt 1: Erstelle eine Liste von 2 bis 20.

Schritt 2: Wähle die erste Zahl in der Liste (2), da 1 keine Primzahl ist.

Schritt 3: Streiche alle Vielfachen von 2 aus der Liste, außer der Zahl 2 selbst (4, 6, 8, 10, 12, 14, 16, 18, 20).

Schritt 4: Wähle die nächste nicht gestrichene Zahl in der Liste (3).

Schritt 5: Streiche alle Vielfachen von 3 aus der Liste, außer der Zahl 3 selbst (9, 15).

Schritt 6: Wähle die nächste nicht gestrichene Zahl in der Liste (5).

Schritt 7: In der Liste befinden sich keine Vielfachen von 5 mehr, die gestrichen werden können.

Schritt 8: Die übrig gebliebenen Zahlen in der Liste sind die Primzahlen bis 20: 2, 3, 5, 7, 11, 13, 17, 19.

Algorithmus Beispiele in der Informatik

Sortieralgorithmen

Es gibt viele verschiedene Algorithmen zum Sortieren von Daten in Informatik, wie zum Beispiel Quicksort, Bubblesort und Mergesort. Jeder dieser Algorithmen hat seine eigenen Vor- und Nachteile und ist in bestimmten Situationen effizienter.

Suchalgorithmen

Diese Algorithmen werden verwendet, um bestimmte Daten in einer Datenstruktur zu finden. Beispiele sind die binäre Suche, die in einer sortierten Liste arbeitet, und die Tiefen- oder Breitensuche, die in Graphen und Bäumen verwendet wird.

Spezielle Algorithmen

Google-Algorithmus

Der vielleicht bekannteste Algorithmus ist der Google-Algorithmus, welchen wir nutzen, wenn wir etwas suchen. Er berücksichtigt über 200 Faktoren und wird quasi täglich angepasst. Mit 4. Mrd. Anfragen täglich hat der Google-Algorithmus auch genug Informationen, um dies zu tun.

TikTok-Algorithmus

Worauf legt der TikTok-Algorithmus Wert? Es ist bekannt, dass u.a. die Interessen im Account, die Interaktionen, der genutzte Soundclip und die Hashtags ausschlaggebend sind. Besonders wichtig ist die Ansichtsdauer. Der Algorithmus belohnt zudem, wenn das Video bis zum Ende angeschaut wird.

Algorithmen für Musikempfehlungen

Musik-Streaming-Plattformen wie Spotify verwenden Algorithmen, um uns personalisierte Musikempfehlungen basierend auf unseren Hörgewohnheiten, Vorlieben und dem Verhalten anderer Nutzer mit ähnlichem Musikgeschmack zu geben.

Algorithmen für Gesichtserkennung

Algorithmen für Gesichtserkennung werden in vielen Anwendungen eingesetzt, von der biometrischen Identifikation auf Smartphones bis hin zur Überwachungstechnologie. Sie analysieren Merkmale des Gesichts, um eine Person zu identifizieren oder zu verifizieren.

Serena Schreiner / in2code

Darstellung von Algorithmen

Flussdiagramme

Flussdiagramme sind eine gebräuchliche Methode zur Darstellung von Algorithmen. Sie verwenden Symbole wie Rechtecke, Rauten, Parallelogramme und Pfeile, um den Fluss der Ausführung darzustellen. Rechtecke repräsentieren Aktionen oder Operationen, Rauten stehen für Entscheidungen oder Bedingungen, Parallelogramme symbolisieren Ein- und Ausgaben, und Pfeile zeigen den Fluss der Kontrolle.

Das abgebildete Flussdiagramm zeigt den Ablauf des Backens eines Kuchens. Zuerst werden die Zutaten bereitgestellt, dann wird der Teig gemischt und in die Form gegossen. Anschließend wird der Kuchen im Ofen gebacken. Nach einer bestimmten Zeit wird überprüft, ob der Kuchen fertig ist. Wenn ja, wird er aus dem Ofen genommen. Andernfalls wird er weitere Zeit gebacken, bis er fertig ist.

Pseudocode

Pseudocode ist eine informelle Art der Darstellung von Algorithmen mit einer Mischung aus natürlicher Sprache und Programmierkonstrukten. Pseudocode ist weniger formal als eine Programmiersprache, aber dennoch präzise genug, um den Algorithmus zu verstehen. Es bietet eine flexible und verständliche Möglichkeit, Algorithmen zu beschreiben.

Funktion kuchenBacken():

  bereiteZutatenVor()

  mischeTeig()

  gießeInForm()

  backeImOfen()

  solange (kuchenNichtFertig()):

    weitereZeitBacken()

  nehmeAusOfen()

Dieses Beispiel zeigt den Pseudocode für eine Funktion namens "kuchenBacken()", die den Algorithmus zum Backen eines Kuchens darstellt. Die einzelnen Schritte werden als Funktionen dargestellt, wie zum Beispiel "bereiteZutatenVor()" oder "backeImOfen()". Die Schleife "solange" wird verwendet, um den Kuchen weiterzubacken, bis er fertig ist.

Serena Schreiner / in2code

Struktogramme

Struktogramme sind ähnlich wie Flussdiagramme, aber sie verwenden spezifische Symbole wie Rechtecke, Rhomben, Trapeze und Linien, um den Algorithmus darzustellen. Struktogramme legen besonderen Wert auf die Strukturierung und Hierarchie des Algorithmus und eignen sich gut, um komplexe Algorithmen zu visualisieren.

Das abgebildete Struktogramm zeigt die einzelnen Aktionen und Entscheidungen beim Backen eines Kuchens. Die Rechtecke repräsentieren die Schritte wie Zutaten bereitstellen, Teig mischen, in die Form gießen und im Ofen backen. Die Entscheidung stellt die Frage, ob der Kuchen fertig ist oder nicht dar. Abhängig von der Antwort werden entweder weitere Zeit gebacken oder der Kuchen aus dem Ofen genommen.

Algorithmus — Interessante Fakten

  1. Der Begriff "Algorithmus" stammt vom persischen Mathematiker Al-Khwarizmi, aber die Idee der algorithmischen Schritte zur Lösung von Problemen reicht bis zu den antiken Griechen zurück. Zum Beispiel verwendete der Mathematiker Euklid bereits im 3. Jahrhundert v. Chr. algorithmische Schritte zur Berechnung des größten gemeinsamen Teilers.
  2. Der erste für einen Computer gedachte Algorithmus wurde 1843 von der britischen Mathematikerin Ada Lovelace zur Berechnung von Bernoullizahlen festgehalten.
  3. Algorithmen sind nicht auf mathematische Probleme beschränkt. Sie werden in vielen Bereichen eingesetzt, wie z.B. in der Informatik zur Datenverarbeitung, in der künstlichen Intelligenz für maschinelles Lernen und Entscheidungsfindung, in der Logistik zur Optimierung von Routen und in der Finanzwelt für Handelsstrategien.
  4. Algorithmen können in unterschiedlichen Komplexitätsgraden vorliegen. Einige Algorithmen sind sehr einfach und bestehen nur aus wenigen Schritten, während andere äußerst komplex sind und große Mengen von Daten verarbeiten oder komplexe Berechnungen durchführen.
  5. Effizienz ist ein wichtiger Aspekt bei der Bewertung von Algorithmen. Ein effizienter Algorithmus ist in der Lage, eine Aufgabe mit minimalen Ressourcen (Zeit, Speicherplatz, Rechenleistung) zu erledigen. Die Analyse der Laufzeit und des Speicherbedarfs von Algorithmen hilft dabei, ihre Effizienz zu bewerten.
  6. Algorithmen können auch ethische Fragen aufwerfen, insbesondere wenn es um Entscheidungsfindungsalgorithmen geht, die auf Vorurteilen oder ungenauen Daten basieren können. Die ethische Gestaltung von Algorithmen, die Fairness, Transparenz und Verantwortlichkeit berücksichtigt, wird immer wichtiger.

Kontakt

Wirtschaft, Finanzen, Arbeit, Soziales
Konrad Teichert
Leiter
Wirtschaft, Finanzen, Arbeit, Soziales
Sarah Hagedorn
Telefon: