D-Book-Wiki · Concept-Artikel

Algorithmus

Ein Algorithmus ist eine präzise, endliche und ausführbare Verarbeitungsvorschrift zur Lösung eines Problems oder einer Problemklasse. Formal beschreibt er, wie zulässige Eingabedaten Schritt für Schritt in Ausgabedaten überführt werden. Im D-Book steht der Begriff deshalb nicht nur für Programmcode, sondern für die Verbindung von Problemklasse, Darstellung, Ausführung, Analyse, Berechenbarkeit, Effizienz und historischer Materialisierung informatischer Verfahren.

  • in Prüfung
  • Vertiefungsartikel

Kurzüberblick

Dieser Concept-Wikiartikel materialisiert den Algorithmus-Knoten des Wissensnetzes als D-Book-Synthese. Er verdichtet Concept-Core, Definitionsrubrik, Kontexte, Relationen, historische Ereignisse, Orte und Medien zu einem gegliederten Wikiartikel. Wikipedia und der lexikalische Fachartikel aus Claus/Schwill, Duden Informatik A-Z, dienen als Benchmark für fachliche Spannweite und Präzision; der Text bleibt eine eigenständige D-Book-Darstellung.

Algorithmus als Verfahren

Ein Algorithmus ist im D-Book zunächst kein Stück Programmcode, sondern eine präzise Verarbeitungsvorschrift. Er beschreibt ein allgemeines Verfahren, mit dem ein Problem oder eine Klasse gleichartiger Probleme nach einem bestimmten Prinzip gelöst werden kann [18]. Das einzelne konkrete Problem entsteht durch Eingabedaten oder Parameter: Ein Verfahren zur Berechnung einer Fakultät beschreibt nicht nur „berechne 7!“, sondern die Problemklasse „berechne n!“ für zulässige Werte von n. Diese Unterscheidung zwischen Problemklasse und konkreter Instanz ist entscheidend, weil sie den Algorithmus von einer einmaligen Tätigkeit trennt [18].

Zu einem Algorithmus gehören daher mehrere Kernbestandteile: eine Menge zulässiger Eingaben, ein Verfahren aus ausführbaren Einzelschritten und ein erwarteter Ergebnisbereich. Formal kann man das als Zuordnung von Eingabedaten zu Ausgabedaten lesen. Nicht jede denkbare Zuordnung ist aber algorithmisch realisierbar. Genau hier beginnt die Frage nach Berechenbarkeit: Der Algorithmusbegriff sagt nicht nur, wie ein Verfahren ausgeführt wird, sondern auch, welche Zuordnungen überhaupt durch ein Verfahren beschrieben werden können [16].

Algorithmische Eigenschaften beschreiben, unter welchen Bedingungen ein solches Verfahren fachlich brauchbar ist. Finitheit meint zunächst, dass die Beschreibung des Verfahrens endlich ist. Ausführbarkeit meint, dass jeder Schritt so bestimmt ist, dass ein Mensch, eine Maschine oder ein formales Modell ihn tatsächlich ausführen kann. Terminierung meint, dass das Verfahren für die betrachteten Eingaben nach endlich vielen Schritten zu einem Ergebnis kommt. Determiniertheit meint, dass gleiche Eingaben unter gleichen Startbedingungen dasselbe Ergebnis liefern [16] [19].

Davon zu unterscheiden ist Determinismus im engeren Sinn: In jedem Schritt ist dann höchstens eine Fortsetzung vorgesehen. Ein nichtdeterministisches Verfahren kann mehrere mögliche Fortsetzungen zulassen; ein stochastisches Verfahren kann Zufall oder Wahrscheinlichkeiten verwenden. Solche Begriffe sind nicht bloße Zusatzwörter, sondern beschreiben, welche Art von Verfahren vorliegt und wie man seine Ausführung, Korrektheit und Wiederholbarkeit beurteilen kann [16].

Diese Unterscheidungen erklären, warum der Algorithmusbegriff im D-Book von E3 bis Q3 nicht einfach wiederholt, sondern schrittweise fachlich geschärft wird. In E3 genügt zunächst die Vorstellung genauer Schrittfolgen. In Q1.2 werden Algorithmen als Verfahren analysiert und verglichen. In Q3 wird daraus die Frage, was überhaupt berechenbar und entscheidbar ist.

Etymologie

Der Begriff Algorithmus führt sprachgeschichtlich zurück auf mhd. algorismus: Rechenkunst, besonders das Rechnen mit dem dezimalen Stellenwertsystem. Über mlat. algorismus geht das Wort letztlich auf Al-Ḫwārizmī zurück, den Beinamen des Mathematikers Muḥammad ibn Mūsā al-Ḫwārizmī aus dem 9. Jahrhundert. Seit dem 16. Jahrhundert setzt sich die Form Algorithmus durch; sie lehnt das Wort zusätzlich an griech. arithmós, „Zahl“, an. Für den heutigen informatischen Begriff ist daran entscheidend: Algorithmus meint nicht mehr nur Rechenkunst, sondern ein System von Regeln zur schrittweisen formalen Verarbeitung von Zeichen, Daten oder Informationen [17].

Von der Handlungsvorschrift zum Programm

Ein Algorithmus kann in natürlicher Sprache, in Pseudocode, als Struktogramm, als Flussdiagramm, als mathematische Definition oder als Programm dargestellt werden. Diese Darstellungen sind nicht identisch mit dem Algorithmus selbst. Sie machen dasselbe Verfahren in unterschiedlichen Zeichensystemen sichtbar und ausführbar [16].

Die Grenze zum Programm ist fachlich wichtig. Ein Programm ist eine Codierung eines Algorithmus in einer für eine Maschine oder Laufzeitumgebung verständlichen Form [19]. Der Algorithmus beschreibt das Verfahren; das Programm bindet dieses Verfahren an eine konkrete Sprache, Syntax, Bibliothek, Maschine, Speicherorganisation und Ausführungsumgebung.

Schneider/Oldenbourg betonen, dass ein Algorithmus aus elementaren Anweisungen an einen menschlichen oder maschinellen Rechner bestehen kann [18]. Für den Unterricht ist diese Formulierung nützlich, weil sie den Begriff nicht vorschnell auf Java-Code verengt. Ein Kochrezept, eine Bauanleitung oder eine Spielregel ist aber nur dann algorithmusähnlich, wenn die Schritte hinreichend eindeutig, ausführbar und auf eine Problemklasse übertragbar sind.

In E3 begegnet Algorithmus häufig zuerst als Programmtext: Variablen werden gesetzt, Bedingungen geprüft, Schleifen wiederholt, Methoden aufgerufen. Diese technischen Bestandteile sind wichtig, aber sie sind nicht automatisch der begriffliche Kern. Ein Java-Programm kann unübersichtlich sein und trotzdem ein einfaches Verfahren implementieren; umgekehrt kann ein klar beschriebener Algorithmus in vielen Programmiersprachen unterschiedlich umgesetzt werden.

Formale Informatik schärft diese Unterscheidung weiter. Algorithmen können durch mathematisch präzise Maschinenmodelle beschrieben werden, etwa durch Turingmaschinen, Registermaschinen oder andere abstrakte Berechnungsmodelle [16]. Solche Modelle zeigen, dass es beim Algorithmusbegriff nicht um eine bestimmte Programmiersprache geht, sondern um die Frage, welche Schrittfolgen überhaupt als mechanisch ausführbare Verfahren gelten können.

Im D-Book verbindet dieser Abschnitt deshalb mehrere Ebenen: die alltagssprachliche Handlungsvorschrift, die schulische Darstellung als Struktogramm oder Pseudocode, die konkrete Implementierung in Java und die theoretische Fassung durch Maschinenmodelle. Diese Ebenen müssen unterschieden werden, ohne auseinanderzufallen.

Darstellung, Ausführung und Analyse

Algorithmen werden nicht nur beschrieben, sondern ausgeführt, beobachtet und analysiert. Bei der Ausführung entsteht eine Folge von Zuständen: Eingabedaten werden gelesen, Variablen verändert, Bedingungen ausgewertet, Schleifen wiederholt und Zwischenergebnisse erzeugt. Die jeweils nächste auszuführende Anweisung ergibt sich aus Algorithmustext, Eingabe und bereits berechneten Zwischenergebnissen [18].

Eine Ablaufverfolgung oder ein Trace macht diese Zustandsfolge sichtbar. Man notiert nicht nur, dass ein Verfahren funktioniert, sondern welche Werte zu welchem Zeitpunkt vorliegen und welcher Schritt als nächstes ausgeführt wird. Dadurch werden Schleifen, Verzweigungen, Rekursion und Zwischenergebnisse nachvollziehbar. Für Lernende ist das die Brücke zwischen Programmlisting und Verfahren.

Algorithmusanalyse fragt anschließend nach Eigenschaften des Verfahrens. Korrektheit bedeutet, dass der Algorithmus für zulässige Eingaben das erwartete Ergebnis liefert. Terminierung fragt, ob er für diese Eingaben tatsächlich anhält. Laufzeitanalyse beschreibt, wie die Anzahl der Schritte mit der Eingabegröße wächst. Speicheranalyse fragt, wie viele zusätzliche Datenstrukturen oder Speicherplätze benötigt werden. Diese Fragen machen aus einer bloßen Programmausführung eine fachliche Untersuchung [16].

Mehrere Algorithmen können dieselbe Problemklasse lösen. Für Suchen, Sortieren, kürzeste Wege oder rekursive Berechnungen gibt es unterschiedliche Verfahren mit verschiedenen Voraussetzungen und Kosten. Sobald ein korrektes Verfahren gefunden ist, verschiebt sich die Frage häufig: Gibt es ein schnelleres, speichersparenderes, verständlicheres oder robusteres Verfahren? Genau hier wird Effizienz zum fachlichen Kriterium [16].

Komplexitätsklassen fassen solche Aufwandsunterschiede abstrakter. Sie ordnen Verfahren oder Probleme danach ein, wie ihr Ressourcenbedarf mit der Eingabegröße wächst. Fischer/Hofer nennen Komplexitätsklassen deshalb als Anschlussdimension des Algorithmusbegriffs [19]. Im D-Book wird diese Idee zuerst konkret aufgebaut: lineare Suche, binäre Suche, Sortierverfahren, rekursive Verfahren und Graphalgorithmen machen sichtbar, dass Verfahren nicht nur richtig, sondern unterschiedlich effizient sein können.

Der Artikel behandelt Algorithmus deshalb nicht als isolierte Definition. Er verbindet Darstellung, Ausführung, Trace, Korrektheitsidee, Terminierung, Ressourcenbedarf und Vergleichbarkeit. Diese Verbindung erklärt, warum Algorithmik im D-Book nicht nur ein Programmierthema ist, sondern ein zentrales Strukturprinzip informatischen Denkens.

Formale Schärfung und Grenzen

Die formale Schärfung des Algorithmusbegriffs beginnt dort, wo die bloße Vorstellung einer Schrittfolge nicht mehr ausreicht. In der theoretischen Informatik muss präzisiert werden, was „ausführbar“, „berechenbar“ und „mechanisch beschreibbar“ heißt. Claus/Schwill führen diese Perspektive über berechenbare Zuordnungen, rekursive Funktionen und mathematisch exakte Maschinenmodelle aus [16].

Ein Maschinenmodell ist dabei kein Nachbau eines konkreten Computers, sondern eine mathematisch vereinfachte Beschreibung von Berechnung. Es legt fest, welche Zustände, Speicherformen und elementaren Operationen erlaubt sind. Dadurch kann man unabhängig von Java, Python oder realer Hardware untersuchen, was überhaupt als mechanisch ausführbares Verfahren gelten kann.

Die Turingmaschine ist ein solches Modell. Sie arbeitet mit einem Band, Symbolen, Zuständen und Übergangsregeln. In jedem Schritt liest sie ein Symbol, verändert gegebenenfalls das Band, wechselt den Zustand und bewegt den Lesekopf. Gerade weil dieses Modell extrem reduziert ist, eignet es sich, um Berechenbarkeit grundsätzlich zu untersuchen [1].

Der Lambda-Kalkül ist eine andere Formalisierung von Berechnung. Er beschreibt Berechnung nicht über Maschinenzustände und Bandbewegungen, sondern über Funktionen, Funktionsanwendung und Ersetzung von Ausdrücken. Damit macht er sichtbar, dass algorithmisches Rechnen auch als symbolische Umformung von Ausdrücken verstanden werden kann [2].

Ein Algorithmus kann eine Funktion berechnen, wenn für zulässige Eingaben nach endlich vielen Schritten ein Ergebnis erzeugt wird. Wenn das Problem für bestimmte Argumente nicht definiert ist, muss die Berechnung für diese Argumente nicht mit einem regulären Ergebnis terminieren [18]. Damit wird Terminierung nicht zu einem bloßen Bedienkomfort, sondern zu einer fachlichen Eigenschaft.

An dieser Stelle berührt der Algorithmusbegriff Entscheidbarkeit. Ein Entscheidungsproblem verlangt ein Verfahren, das für jede zulässige Eingabe mit Ja oder Nein endet. Manche präzise formulierbaren Probleme besitzen kein solches allgemeines Verfahren. Solche Grenzen sind für die Informatik grundlegend, weil sie zeigen, dass nicht jede formal beschreibbare Aufgabe automatisierbar ist [16].

Für das D-Book ist diese formale Ebene deshalb kein Zusatzkapitel neben der Programmierung. Sie zeigt, was hinter der scheinbar einfachen Frage steht, ob ein Verfahren „geht“: Es geht um Ausführbarkeit, Berechenbarkeit, Terminierung, Entscheidbarkeit und um Modelle, mit denen sich diese Begriffe präzise untersuchen lassen.

Historische und materiale Dimension

Der Begriff Algorithmus verweist historisch auf die Tradition regelgeleiteter Rechenverfahren. Fischer/Hofer führen die Wortherkunft auf das lateinische Pseudonym eines arabischen Mathematikers zurück [19]. Im D-Book wird diese Herkunft über Al-Chwarismi mit der längeren Geschichte schriftlicher, mathematischer und maschineller Rechenverfahren verbunden [10].

Der Abakus ist ein frühes mechanisches Rechenhilfsmittel. Zahlen werden nicht als abstrakte Zeichenfolge im Speicher abgelegt, sondern durch verschiebbare Steine oder Perlen in einer materiellen Anordnung dargestellt. Er ist deshalb kein Algorithmus im modernen Sinn, aber ein wichtiger Vorläufer: Rechnen wird an eine wiederholbare Handlungs- und Zeichenstruktur gebunden [11].

Der Jacquard-Webstuhl steht für eine andere Form der Materialisierung: Lochkarten steuern, welche Fäden gehoben werden und welches Muster entsteht. Damit wird ein Ablauf nicht nur ausgeführt, sondern vorher in einem Trägermedium codiert. Für die Geschichte der Informatik ist daran nicht der Stoff selbst entscheidend, sondern die Idee, Steuerinformation von der unmittelbaren Handarbeit zu trennen [12].

Babbages Difference Engine sollte numerische Tabellen mechanisch berechnen. Sie macht sichtbar, dass ein Verfahren auch durch Zahnräder, Register und mechanische Zustandsübergänge ausgeführt werden kann. Lovelaces Programmidee gehört in diesen Kontext der Analytical Engine: Sie dachte nicht nur an eine Rechenmaschine, sondern an eine Folge von Operationen, die auf einer allgemeinen Maschine ausgeführt werden können. Dadurch wird der Übergang von Recheninstrumenten zu programmierbarer Verarbeitung greifbar [13] [14].

Mit Church und Turing wird aus der historischen Verfahrenstradition eine formale Grundfrage. Der Lambda-Kalkül beschreibt Berechnung als Umformung von Funktionsausdrücken; die Turingmaschine beschreibt Berechnung als regelgeleitete Zustandsveränderung auf einem Band. Beide Linien sind für den Algorithmusbegriff wichtig, weil sie zeigen, dass Berechnung unabhängig von einer konkreten Maschine präzise modelliert werden kann [2] [1].

Colossus und die Turing-Welchman-Bombe zeigen algorithmische Verfahren im Kontext der Kryptanalyse. Die Bombe war ein elektromechanisches Suchgerät für mögliche Enigma-Einstellungen; Colossus war eine frühe elektronische Maschine zur Analyse verschlüsselter Nachrichten. In beiden Fällen wird nicht einfach „gerechnet“, sondern ein Such- und Prüfverfahren technisch materialisiert [4] [3].

ENIAC steht für den Übergang zu elektronischem Rechnen. Er war kein Schulbeispiel für komfortable Programmierung, aber ein historischer Anker dafür, dass numerische Verfahren in elektronischer Geschwindigkeit ausgeführt werden konnten. Damit verschiebt sich Algorithmik stärker in Richtung programmierbarer Maschinen, Speicherorganisation und technischer Ausführungsbedingungen [15].

Dijkstra macht Algorithmik als Problemlösungsstrategie sichtbar. Sein Algorithmus für kürzeste Wege berechnet in einem gewichteten Graphen schrittweise die jeweils günstigsten bekannten Distanzen von einem Startknoten aus. Dadurch wird ein Wegproblem nicht durch Probieren gelöst, sondern durch ein systematisches Verfahren mit Datenstruktur, Auswahlregel und Korrektheitsidee [5].

PageRank und Websuche zeigen Algorithmik im Informationsraum. Webseiten können als Knoten eines gerichteten Graphen und Links als Kanten modelliert werden. Der Rankinggedanke besteht darin, Bedeutung nicht nur aus dem Text einer Seite, sondern aus der Linkstruktur des Webs zu berechnen. Damit wird der Algorithmus zum Ordnungsprinzip einer riesigen, vernetzten Informationsmenge [6].

AES steht für Algorithmik im Bereich der Kryptographie und Standardisierung. Der Advanced Encryption Standard beschreibt ein standardisiertes symmetrisches Verschlüsselungsverfahren, das Daten blockweise nach festgelegten Runden transformiert. Hier wird Algorithmus nicht nur als Verfahren, sondern als überprüfbarer, standardisierter und breit implementierter Sicherheitsbaustein sichtbar [7].

Shors Algorithmus zeigt, dass die Bewertung eines Problems vom Rechenmodell abhängen kann. Faktorisierung und diskrete Logarithmen gelten für klassische Computer als praktisch schwer und tragen wichtige Public-Key-Verfahren. Shor zeigte, dass ein Quantencomputer diese Problemklasse prinzipiell anders bearbeiten kann. Damit wird Algorithmik rechner- und modellabhängig [8].

Die Transformer-Architektur steht für eine moderne algorithmische Struktur in KI-Systemen. Ihr Kern ist ein Attention-Mechanismus, der Beziehungen zwischen Teilen einer Eingabe gewichtet und dadurch Sequenzen anders verarbeitet als klassische rekurrente Modelle. Im Algorithmusartikel dient Transformer deshalb nicht als vollständige KI-Sachanalyse, sondern als Beispiel dafür, dass algorithmische Architekturen heute auch Lern-, Sprach- und Generierungsprozesse prägen [9].

Die historische Dimension des Algorithmusartikels ist deshalb mehr als Illustration. Sie zeigt, wie Verfahren durch Zeichen, Tabellen, Rechenhilfen, Maschinen, Programme, Standards, wissenschaftliche Publikationen und gesellschaftliche Anwendungen wirksam werden. Algorithmus ist damit nicht nur ein abstraktes Konzept, sondern auch eine historische Form der Arbeitsteilung zwischen Mensch, Symbolsystem und Maschine.

Algorithmus im D-Book

Im D-Book ist Algorithmus ein Längsschnittbegriff. In E3 erscheint er zunächst praktisch: Lernende formulieren Schrittfolgen, testen Programme, verändern Variablenwerte und erfahren, dass ein Programm nicht nur aus Befehlen besteht, sondern ein Verfahren ausdrücken soll. Diese Perspektive passt zur lexikalischen Grundidee des Algorithmus als ausführbarer Folge von Teilhandlungen [19].

In Q1.2 wird Algorithmus zum eigenen Gegenstand. Such- und Sortieralgorithmen machen sichtbar, dass dieselbe Problemklasse durch unterschiedliche Verfahren bearbeitet werden kann. Damit treten Darstellung, Trace, Korrektheit, Laufzeit und Vergleichbarkeit in den Vordergrund. Die Unterscheidung zwischen Problemklasse und Einzelinstanz wird hier praktisch wichtig [18].

In Q1.3 und angrenzenden Kontexten wird Algorithmus mit Datenstruktur, Rekursion, Zerlegung und Entwurfsmuster verbunden. Ein Verfahren operiert nicht im luftleeren Raum; es nutzt Daten, Zustände und Repräsentationen. Gerade deshalb gehört Algorithmus im Wissensnetz eng zu Datenstruktur, Kontrollstruktur, Rekursion, Graph, Laufzeit, Effizienz und Teile-und-Herrsche.

In Q3.4 und Q3.5 wird der Begriff theoretisch geschärft. Formale Sprachen, Automaten, Registermaschinen, Turingmaschinen, Berechenbarkeit und Entscheidbarkeit zeigen, dass Algorithmus nicht nur ein Werkzeug zum Programmieren ist. Er ist ein Prüfbegriff dafür, welche Aufgaben überhaupt durch mechanische Verfahren bearbeitbar sind [16].

Der Concept-Wikiartikel bündelt diese Progression. Er ersetzt nicht die einzelnen Unterrichtsseiten, sondern macht sichtbar, wie ein Begriff in mehreren Halbjahren unterschiedliche Rollen annimmt: Einstieg in Programmierung, Gegenstand algorithmischer Analyse, Brücke zu Datenstrukturen, formale Tiefenschicht der Berechenbarkeit und historisches Leitmotiv der Informatik.

Anschlussstellen ein-/ausklappen

Concepts

Kontext5

  • RegistermaschineConcept-Artikel | KontextRegistermaschine als formales Ausführungsmodell.
  • RegistermaschinenprogrammConcept-Artikel | KontextRegistermaschinenprogramm als operative Form formaler Algorithmen.
  • DatenstrukturConcept-Artikel | KontextDatenstrukturen bilden häufig die Operationsgrundlage eines Algorithmus.
  • RekursionConcept-Artikel | KontextRekursion als Erweiterung algorithmischer Beschreibung.
  • GraphConcept-Artikel | KontextGraph als Datenmodell für Wege- und Suchprobleme.

Definitionsziel1

  • AlgorithmusConcept-Artikel | DefinitionszielZentraler Begriff des Pilotartikels.

Beispiel7

  • SuchalgorithmusConcept-Artikel | BeispielSuchalgorithmus als zentrale Q1.2-Beispielgruppe.
  • SortieralgorithmusConcept-Artikel | BeispielSortieralgorithmus als zentrale Q1.2-Beispielgruppe.
  • rekursiver AlgorithmusConcept-Artikel | BeispielRekursiver Algorithmus als Spezialfall algorithmischer Verfahren.
  • BacktrackingConcept-Artikel | BeispielBacktracking als Suchverfahren mit Rücknahmeentscheidungen.
  • BreitensucheConcept-Artikel | BeispielBreitensuche als Graphalgorithmus.
  • TiefensucheConcept-Artikel | BeispielTiefensuche als Graphalgorithmus.
  • Dijkstra-AlgorithmusConcept-Artikel | BeispielDijkstra-Algorithmus als Beispiel gewichteter Wegeprobleme.

Verwandt10

  • KontrollstrukturConcept-Artikel | VerwandtKontrollstrukturen als Mittel der Implementierung algorithmischer Verfahrenslogik.
  • Allgemeinheit (Algorithmus)Concept-Artikel | VerwandtAllgemeinheit als Definitionsmerkmal des Algorithmusbegriffs.
  • StruktogrammConcept-Artikel | VerwandtStruktogramm als schulische Darstellungsform algorithmischer Abläufe.
  • Ausführbarkeit (Algorithmus)Concept-Artikel | VerwandtAusführbarkeit als notwendige Eigenschaft algorithmischer Schritte.
  • Laufzeit (Algorithmik)Concept-Artikel | VerwandtLaufzeit als Analyseperspektive algorithmischer Verfahren.
  • Teile-und-herrscheConcept-Artikel | VerwandtTeile-und-Herrsche als algorithmische Entwurfsstrategie.
  • Effizienz (Algorithmik)Concept-Artikel | VerwandtEffizienz als Bewertungsdimension von Algorithmen.
  • Eindeutigkeit (Algorithmus)Concept-Artikel | VerwandtEindeutigkeit als Kriterium einer nachvollziehbaren Handlungsvorschrift.
  • +2 weitere ausgeblendet

Historische Ereignisse

Kontext7

  • Jacquard-WebstuhlEreignisartikel | 1801 | KontextJacquard-Lochkarten als Steuerinformation und Vorform programmierter Abläufe.
  • Babbage: Difference EngineEreignisartikel | 1822 | KontextBabbages Difference Engine als mechanisierte Ausführung numerischer Verfahren.
  • Church und Lambda-KalkülEreignisartikel | 1936 | KontextLambda-Kalkül als alternative Formalisierung abstrakter Berechnung.
  • Turing, Bombe und Bletchley ParkEreignisartikel | 1940 bis 1945 | KontextBletchley Park: maschinelle Suchverfahren und logische Einschränkungen.
  • ColossusEreignisartikel | 1944 | KontextColossus als elektronische, regelgeleitete Analyse im Codebreaking-Kontext.
  • ENIACEreignisartikel | 1946 | KontextENIAC als elektronische Ausführung numerischer Berechnungsverfahren.
  • EU AI ActEreignisartikel | 2024 | KontextEU AI Act als Regulierung algorithmischer Systeme.

Beispiel5

Voraussetzung1

  • Abakus und RechenbrettEreignisartikel | ca. 2000 v. Chr. bis ca. 500 v. Chr. | VoraussetzungFrühe regelgeleitete Rechenverfahren als Vorgeschichte algorithmischer Praxis.

Wendepunkt3

  • Al-ChwarismiEreignisartikel | 825 | WendepunktAl-Chwarizmi als Namens- und Überlieferungsanker des Algorithmusbegriffs.
  • Ada LovelaceEreignisartikel | 1843 | WendepunktAda Lovelace als frühe algorithmische Beschreibung einer Maschinenberechnung.
  • TuringmaschineEreignisartikel | 1936 | WendepunktTuringmaschine als formales Modell effektiver Verfahren.

Orte

Kontext11

Quellen

  1. [1]

    Turing: On Computable NumbersTuring: On Computable Numbers, with an Application to the Entscheidungsproblem

    Alan M. Turing | 1937 | Proceedings of the London Mathematical Society / Wiley | Technische Grundlage

    Artikel

    Primärquelle zu Turings Aufsatz als Anker für Turingmaschine, Berechenbarkeit und Entscheidungsproblem.

  2. [2]

    Church: Unsolvable ProblemChurch: An Unsolvable Problem of Elementary Number Theory

    Alonzo Church | 1936 | American Journal of Mathematics / PDF-Reproduktion | Technische Grundlage

    Artikel

    Primärquelle zu Churchs Perspektive auf Entscheidbarkeit, Berechenbarkeit und Lambda-Kalkül-Kontext.

  3. [3]

    ColossusThe National Museum of Computing: Colossus

    The National Museum of Computing | aktuelle Fassung | The National Museum of Computing | Historischer Kontext

    Webseite

    Museumsquelle zu Colossus und seiner Rolle im Codebreaking-Kontext.

  4. [4]

    Turing-Welchman BombeThe National Museum of Computing: The Turing-Welchman Bombe

    The National Museum of Computing | aktuelle Fassung | The National Museum of Computing | Historischer Kontext

    Webseite

    Museumsquelle zur Turing-Welchman-Bombe und ihrer Rolle beim Brechen von Enigma-Nachrichten.

  5. [5]

    Dijkstra: kürzeste WegeDijkstra: A note on two problems in connexion with graphs

    Edsger W. Dijkstra | 1959 | Numerische Mathematik / Springer | Technische Grundlage

    Artikel

    Primärquelle zu Dijkstras Algorithmus für kürzeste Wege und Graphprobleme.

  6. [6]

    Brin/Page: Web Search EngineBrin/Page: The Anatomy of a Large-Scale Hypertextual Web Search Engine

    Sergey Brin / Lawrence Page | 1998 | Technische Grundlage

    Artikel

    Forschungspapier zum Google-Prototyp, Websuche, Hypertextstruktur und Ranking.

  7. [7]

    AES / FIPS 197NIST FIPS 197: Advanced Encryption Standard (AES)

    National Institute of Standards and Technology | 2001 / updated 2023 | NIST CSRC | Technische Grundlage

    Standardquelle

    Offizielle NIST-CSRC-Quelle zum Advanced Encryption Standard.

  8. [8]

    Shor 1994Shor: Algorithms for Quantum Computation: Discrete Logarithms and Factoring

    Peter W. Shor | 1994 | IEEE FOCS | Technische Grundlage

    Artikel

    Primärquelle zu Shors Algorithmus für diskrete Logarithmen und Faktorisierung.

  9. [9]

    Transformer: Attention Is All You NeedAttention Is All You Need

    Ashish Vaswani et al. | 2017 | Technische Grundlage

    Artikel

    Primärquelle zur Transformer-Architektur als Grundlage moderner Sprachmodelle.

  10. [10]

    Al-Chwarismi und AlgorithmusbegriffMacTutor: Al-Khwarizmi Biography

    J. J. O’Connor; E. F. Robertson | aktuelle Fassung | University of St Andrews, MacTutor History of Mathematics | Historischer Kontext

    Webseite

    Mathematikhistorische Einordnung Al-Chwarismis und der Begriffslinie zum Algorithmus.

  11. [11]

    Abakus als materielle RechenhilfeSmithsonian: The Abacus, the Numeral Frame and Counters

    National Museum of American History | Historischer Kontext

    Webseite

    Museumsquelle zum Abakus als Rechenhilfe und zur materiellen Struktur früher Rechenpraktiken.

  12. [12]

    Jacquard-Webstuhl und LochkartensteuerungScience and Industry Museum: Weaving numbers - The Jacquard loom and early computing

    Science and Industry Museum | 2017 | Historischer Kontext

    Webseite

    Quelle zur Bedeutung des Jacquard-Webstuhls für Lochkarten, Steuerinformation und frühe Computing-Bezüge.

  13. [13]

    Babbage Difference EngineScience Museum: Charles Babbage Difference Engines

    Science Museum | 2023 | Historischer Kontext

    Webseite

    Museumsquelle zu Babbages Difference Engines und deren wissenschaftlich-technischer Einordnung.

  14. [14]

    Ada Lovelace und Analytical EngineComputer History Museum: Ada Lovelace

    Computer History Museum | Historischer Kontext

    Webseite

    Quelle zu Ada Lovelace und ihrer Rolle in der Babbage-/Analytical-Engine-Geschichte.

  15. [15]

    ENIACPenn Engineering: ENIAC

    University of Pennsylvania / Penn Engineering | Historischer Kontext

    Webseite

    Offizielle Universitätsquelle zu ENIAC, elektronischem Rechnen und historischer Einordnung.

  16. [16]

    AlgorithmusClaus/Schwill: Duden Informatik A-Z

    Volker Claus; Andreas Schwill | 2006 | Definition

    S. 39-42

    Algorithmus-Eintrag als fachlexikalischer Benchmark fuer Problemklasse, Input/Output, Berechenbarkeit, Finitheit, Terminierung, Determiniertheit, Determinismus und formale Maschinenmodelle.

  17. [17]

    DWDS: Algorithmus – Etymologie und BedeutungDWDS: Algorithmus

    Digitales Wörterbuch der deutschen Sprache | aktuelle Fassung | Berlin-Brandenburgische Akademie der Wissenschaften | Definition

    Etymologie / Bedeutung

    DWDS erläutert Algorithmus als System von Regeln zur schrittweisen Umformung von Zeichenreihen und leitet das Wort über mhd. algorismus und mlat. algorismus auf Al-Ḫwārizmī zurück.

  18. [18]

    AlgorithmusSchneider (Hrsg.): Lexikon Informatik und Datenverarbeitung

    Hans-Jochen Schneider (Hrsg.) | 1998 | R. Oldenbourg Verlag | Definition

    S. 24-25

    Algorithmus-Eintrag als klassische fachlexikalische Referenz fuer Problemklasse, Eingabe/Argument, Ausgabe/Resultat, elementare Anweisungen, Programmbezug, Eindeutigkeit und Beispiele.

  19. [19]

    AlgorithmusLexikon der Informatik

    Peter Fischer; Peter Hofer | 15. ueberarbeitete Auflage, 2011 | Springer | Definition

    S. 35

    Algorithmus-Eintrag als didaktisch-kompakter Benchmark fuer Problemlösungsverfahren, endliche Folge, eindeutig bestimmte und durchfuehrbare Teilhandlungen, Programmbezug, Komplexitaetsklassen, Determiniertheit, Finitheit und Wortherkunft.