HyperAI

Algorithmus

Ein Algorithmus ist eine genaue und vollständige Beschreibung einer Problemlösung. In der Mathematik und Informatik kann es als eine Abfolge bestimmter Rechenschritte betrachtet werden. Die Anweisungen im Algorithmus beschreiben einen vollständigen Rechenvorgang, d. h., er kann von einem Anfangszustand und einer Anfangseingabe ausgehen, eine Reihe endlicher und klar definierter Zustände durchlaufen, schließlich eine Ausgabe erzeugen und bei einem Endzustand anhalten.

Einfach ausgedrückt ist ein Algorithmus ein wohldefiniertes Rechenverfahren, das einen oder mehrere Werte als Eingabe verwendet und einen oder mehrere Werte als Ausgabe erzeugt. Das heißt, ein Algorithmus ist eine Reihe von Rechenschritten, die dazu dienen, Eingabedaten in Ausgabeergebnisse umzuwandeln.

Wir können uns einen Algorithmus auch als ein Werkzeug zur Lösung eines genau spezifizierten Rechenproblems vorstellen. Das Problem kann in einer allgemeinen Sprache formuliert werden, um die erforderlichen Eingabe-/Ausgabebeziehungen anzugeben. Der entsprechende Algorithmus beschreibt einen bestimmten Berechnungsprozess, um diese Input-/Output-Beziehung zu erreichen.

Algorithmuseigenschaften

Ein Algorithmus sollte die folgenden fünf wichtigen Eigenschaften aufweisen:

  • Endlichkeit: Die Endlichkeit eines Algorithmus bedeutet, dass der Algorithmus nach der Ausführung einer endlichen Anzahl von Schritten beendet werden muss;
  • Genauigkeit: Jeder Schritt des Algorithmus muss eine genaue Definition haben;
  • Eingabe: Ein Algorithmus verfügt über 0 oder mehr Eingaben, um die Anfangsbedingungen des Operationsobjekts zu charakterisieren. Der sogenannte 0-Eingang bedeutet, dass der Algorithmus selbst die Anfangsbedingungen festlegt;
  • Ausgabe: Ein Algorithmus hat eine oder mehrere Ausgaben, die die Ergebnisse der Verarbeitung der Eingabedaten widerspiegeln. Ein Algorithmus ohne Ausgabe ist bedeutungslos;
  • Machbarkeit: Jeder im Algorithmus ausgeführte Rechenschritt kann in grundlegende ausführbare Operationsschritte zerlegt werden, d. h. jeder Rechenschritt kann innerhalb einer begrenzten Zeit abgeschlossen werden.

Algorithmusklassifizierung

Algorithmen lassen sich grob in drei Kategorien unterteilen:

  • Endliche deterministische Algorithmen: Diese Algorithmen enden innerhalb einer endlichen Zeitspanne.
  • Endliche nichtdeterministische Algorithmen: Diese Algorithmen terminieren in endlicher Zeit.
  • Unendlicher Algorithmus: Ein Algorithmus, der nicht beendet wird, weil keine definierte Beendigungsbedingung vorliegt oder die definierte Bedingung durch die Eingabedaten nicht erfüllt werden kann.

Richtung des Algorithmus für maschinelles Lernen

  • Regressionsalgorithmus
  • Klassifizierungsalgorithmen
  • Clustering-Algorithmen