Ein Algorithmus gibt eine Vorgehensweise vor , um ein Problem zu lösen. Anhand dieses Lösungsplans werden in Einzelschritten Eingabedaten in Ausgabedaten umgewandelt.

Besonders in der Informatik spielen Algorithmen eine große Rolle. Sie stellen eine Grundlage der Programmierung dar und sind unabhängig von einer konkreten Programmiersprache. Trotzdem sind Algorithmen nicht nur in der Informatik oder Mathematik vorzufinden. Denn Algorithmen werden nicht nur maschinell durch einen Rechner ausgeführt sondern können auch von Menschen in „natürlicher“ Sprache formuliert und abgearbeitet werden.

Eigenschaften

Algorithmen besitzen die folgenden charakteristischen Eigenschaften:

Eindeutigkeit: ein Algorithmus darf keine widersprüchliche Beschreibung haben. Diese muss eindeutig sein.

Ausführbarkeit: jeder Einzelschritt muss ausführbar sein.

Finitheit (= Endlichkeit): die Beschreibung des Algorithmus muss endlich sein.

Terminierung: nach endlich vielen Schritten muss der Algorithmus enden und ein Ergebnis liefern.

Determiniertheit: der Algorithmus muss bei gleichen Voraussetzungen stets das gleiche Ergebnis liefern.

Determinismus: zu jedem Zeitpunkt der Ausführung besteht höchstens eine Möglichkeit der Fortsetzung. Der Folgeschritt ist also eindeutig bestimmt.

Anwendugsgebiete :

Unser modernes Leben ist abhängig von Algorithmen, ohne dass uns dies immer bewusst ist. Die Einsatzgebiete von Algorithmen sind sehr vielfältig: Im Navi zeigen sie uns den kürzesten Weg, schlagen uns als Computergegner im Schach, kontrollieren unseren Satzbau in Office Word oder empfehlen uns einen passenden Partner beim Online-Dating. Ein Algorithmus steckt in vielen technischen Geräten sowie hinter unserer elektronischen Kommunikation.

Eine neue Dimension der Anwendung erfährt der Algorithmus allerdings im Bereich Big Data bzw. Data Mining. Dank gestiegener Anzahl von gesammelten Daten und der gestiegenen Rechenleistungen von Computern, können große Datenmengen mithilfe von Algorithmen nach Mustern und Zusammenhängen durchforstet und ausgewertet werden.

Mittlerweile werden Algorithmen zusammen mit der Blockchain Technologie benutzt um Kryptowährungen zu erschaffen. Hierbei erreicht man im Bereich der Dezentralität eine Anonymisierung der Benutzer.

Folgende Algorithmen werden derzeit im Zusammenhang mit Kryptowährungen benutzt:

– SHA-256
– X-11
– X-12
– X-13
– Quark
– Quibit
– Ethash
– Equihash
– Blake
– Scrypt
– CryptoNight