Connect with us

Wie man

Was sind Computeralgorithmen und wie funktionieren sie?

Was sind Computeralgorithmen und wie funktionieren sie?

Wenn Sie sich nicht mit Mathematik oder Programmieren beschäftigen, ist das Wort „Algorithmus“ für Sie vielleicht griechisch, aber es ist einer der Bausteine ​​für alles, was Sie zum Lesen dieses Artikels verwenden. Hier finden Sie eine kurze Erklärung, was sie sind und wie sie funktionieren.

Haftungsausschluss: Ich bin kein Mathematik- oder Informatiklehrer, daher sind nicht alle von mir verwendeten Begriffe technisch. Das liegt daran, dass ich versuche, alles in einfachem Englisch zu erklären, da die Leute mit Mathematik nicht ganz vertraut sind. Davon abgesehen ist etwas Mathematik involviert, und das ist unvermeidlich. Mathematikfreaks, zögern Sie nicht, in den Kommentaren zu korrigieren oder besser zu erklären, aber bitte halten Sie es einfach für die mathematisch Abgeneigten unter uns.

Was ist ein Algorithmus?

Das Wort «Algorithmus» hat eine ähnliche Etymologie wie «Algebra», mit der Ausnahme, dass sich dies auf den arabischen Mathematiker selbst bezieht, al-Khwarizmi (nur ein interessanter Leckerbissen). Ein Algorithmus für die Nicht-Programmierer unter uns ist eine Reihe von Anweisungen, die eine Eingabe A annehmen und eine Ausgabe B bereitstellen, die die beteiligten Daten auf irgendeine Weise ändert. Algorithmen haben eine Vielzahl von Anwendungen. In der Mathematik können sie unter anderem dazu beitragen, Funktionen aus Punkten in einem Datensatz zu berechnen. Abgesehen von ihrer Verwendung in der Programmierung selbst spielen sie eine wichtige Rolle bei der Dateikomprimierung und Datenverschlüsselung.

Eine grundlegende Anleitung

Nehmen wir an, Ihr Freund trifft Sie in einem Lebensmittelgeschäft und Sie führen ihn zu Ihnen. Sie sagen Dinge wie «Kommen Sie durch die Türen auf der rechten Seite herein», «Passieren Sie den Fischabschnitt auf der linken Seite» und «Wenn Sie die Molkerei sehen, haben Sie mich passiert.» Algorithmen funktionieren so. Wir können ein Flussdiagramm verwenden, um Anweisungen anhand von Kriterien zu veranschaulichen, die wir im Voraus kennen oder die wir während des Prozesses herausfinden.

(Bild mit dem Titel „Eisbrecher-Routine”EDIT: mit freundlicher Genehmigung von Abzug und Freilauf)

Von START aus würden Sie den Pfad entlang gehen und je nachdem, was passiert, dem „Fluss“ bis zu einem Endergebnis folgen. Flussdiagramme sind visuelle Werkzeuge, die eine Reihe von Anweisungen, die von Computern verwendet werden, verständlicher darstellen können. In ähnlicher Weise helfen Algorithmen dabei, dasselbe mit mathematischeren Modellen zu tun.

Grafiken

Lassen Sie uns ein Diagramm verwenden, um die verschiedenen Möglichkeiten zu veranschaulichen, wie wir Anweisungen geben können.

Wir können diesen Graphen als eine Verbindung zwischen all seinen Punkten ausdrücken. Um dieses Bild zu reproduzieren, können wir jemand anderem eine Reihe von Anweisungen geben.

Methode 1

Wir können dies als eine Reihe von Punkten darstellen, und die Informationen würden der Standardform von graph = {(x1, y1), (x2, y2),…, (xn, yn)} folgen.

Graph = {(0,0), (3,0), (3,3), (5,5), (7,10), (8,7), (9,4), (10,1) }}

Es ist ziemlich einfach, jeden Punkt nacheinander zu zeichnen und mit dem vorherigen Punkt zu verbinden. Stellen Sie sich jedoch ein Diagramm mit tausend Punkten oder mehreren Segmenten vor, die alle in alle Richtungen verlaufen. Diese Liste hätte viele Daten, oder? Und dann kann es schmerzhaft sein, jeden einzeln verbinden zu müssen.

Methode 2

Eine andere Sache, die wir tun können, ist, einen Startpunkt anzugeben, die Steigung der Linie zwischen ihm und dem nächsten Punkt, und mit der Standardform von graph = {(Startpunkt}, anzugeben, wo der nächste Punkt zu erwarten ist. [m1, x1, h1],…, [mn, xn, hn]}. Hier repräsentiert die Variable ‘m’ die Steigung der Linie, ‘x’ repräsentiert die Richtung, in die gezählt werden soll (ob x oder y), und ‘h’ gibt an, wie viele in dieser Richtung gezählt werden sollen. Sie können sich auch daran erinnern, nach jeder Bewegung einen Punkt zu zeichnen.

graph = {(0,0), [0,x,3], [0,y,3], [1,x,2], [2.5,x,2], [-3,x,1], [-3,x,1], [-3,x,1]}}

Sie erhalten das gleiche Diagramm. Sie können sehen, dass die letzten drei Begriffe in diesem Ausdruck identisch sind, sodass wir dies möglicherweise reduzieren können, indem wir auf irgendeine Weise nur „dreimal wiederholen“ sagen. Nehmen wir an, jedes Mal, wenn Sie die Variable ‘R’ sehen, bedeutet dies, das Letzte zu wiederholen. Wir können das schaffen:

graph = {(0,0), [0,x,3], [0,y,3], [1,x,2], [2.5,x,2], [-3,x,1], [R=2]}}

Was ist, wenn die einzelnen Punkte nicht wirklich wichtig sind und nur der Graph selbst? Wir können die letzten drei Abschnitte folgendermaßen konsolidieren:

graph = {(0,0), [0,x,3], [0,y,3], [1,x,2], [2.5,x,2], [-3,x,3]}}

Es verkürzt die Dinge ein wenig von dem, wo sie vorher waren.

Methode 3

Versuchen wir es anders.

y = 0, 0 ≤ x ≤ 3
x = 0, 0 ≤ y ≤ 3
y = x, 3 ≤ x ≤ 5
y = 2,5x-7,5, 5 ≤ x ≤ 7
y = -3x + 29, 7 ≤ x ≤ 8
y = -3x + 29, 8 ≤ x ≤ 9
y = -3x + 29, 9 ≤ x ≤ 10

Hier haben wir es in rein algebraischen Begriffen. Noch einmal, wenn die Punkte selbst keine Rolle spielen und nur das Diagramm, können wir die letzten drei Elemente konsolidieren.

y = 0, 0 ≤ x ≤ 3
x = 0, 0 ≤ y ≤ 3
y = x, 3 ≤ x ≤ 5
y = 2,5x-7,5, 5 ≤ x ≤ 7
y = -3x + 29, 7 ≤ x ≤ 10

Welche Methode Sie wählen, hängt von Ihren Fähigkeiten ab. Vielleicht kannst du gut mit Mathe und Grafik umgehen, also wählst du die letzte Option. Vielleicht können Sie gut navigieren, also wählen Sie die zweite Option. Im Bereich der Computer erledigen Sie jedoch viele verschiedene Arten von Aufgaben, und die Fähigkeiten des Computers ändern sich nicht wirklich. Daher werden Algorithmen für die von ihnen ausgeführten Aufgaben optimiert.

Ein weiterer wichtiger Punkt ist, dass jede Methode auf einem Schlüssel basiert. Jeder Befehlssatz ist nutzlos, es sei denn, Sie wissen, was Sie damit tun sollen. Wenn Sie nicht wissen, dass Sie jeden Punkt zeichnen und die Punkte verbinden sollen, bedeutet der erste Satz von Punkten nichts. Wenn Sie nicht wissen, was jede Variable in der zweiten Methode bedeutet, wissen Sie nicht, wie Sie sie anwenden sollen, ähnlich wie der Schlüssel zu einer Chiffre. Dieser Schlüssel ist auch ein wesentlicher Bestandteil der Verwendung von Algorithmen, und häufig wird dieser Schlüssel in der Community oder über einen „Standard“ gefunden.

Dateikomprimierung

Wenn Sie eine ZIP-Datei herunterladen, extrahieren Sie den Inhalt, damit Sie alles verwenden können, was sich darin befindet. Heutzutage können die meisten Betriebssysteme in ZIP-Dateien eintauchen, als wären sie normale Ordner, und alles im Hintergrund tun. Auf meinem Windows 95-Computer musste ich vor über einem Jahrzehnt alles manuell extrahieren, bevor ich mehr als die darin enthaltenen Dateinamen sehen konnte. Dies liegt daran, dass das, was als ZIP-Datei auf der Festplatte gespeichert war, nicht in einer verwendbaren Form war. Denken Sie an eine ausziehbare Couch. Wenn Sie es als Bett verwenden möchten, müssen Sie die Kissen entfernen und aufklappen, was mehr Platz beansprucht. Wenn Sie es nicht benötigen oder transportieren möchten, können Sie es wieder zusammenklappen.

Komprimierungsalgorithmen werden speziell für die Dateitypen angepasst und optimiert, auf die sie abzielen. Audioformate verwenden beispielsweise jeweils eine andere Methode zum Speichern von Daten, die beim Dekodieren durch den Audio-Codec eine Audiodatei ergeben, die der ursprünglichen Wellenform ähnelt. Weitere Informationen zu diesen Unterschieden finden Sie in unserem vorherigen Artikel, Was sind die Unterschiede zwischen all diesen Audioformaten? Verlustfreie Audioformate und ZIP-Dateien haben eines gemeinsam: Beide liefern nach dem Dekomprimierungsprozess die Originaldaten in ihrer exakten Form. Verlustbehaftete Audio-Codecs verwenden andere Mittel, um Speicherplatz zu sparen, z. B. das Trimmen von Frequenzen, die von menschlichen Ohren nicht gehört werden können, und das Glätten der Wellenform in Abschnitten, um einige Details zu entfernen. Obwohl wir den Unterschied zwischen einem MP3- und einem CD-Titel möglicherweise nicht wirklich hören können, gibt es im ersteren definitiv ein Informationsdefizit.

Datenverschlüsselung

Algorithmen werden auch zum Sichern von Daten oder Kommunikationsleitungen verwendet. Anstatt Daten so zu speichern, dass weniger Speicherplatz benötigt wird, werden sie auf eine Weise gespeichert, die von anderen Programmen nicht erkannt werden kann. Wenn jemand Ihre Festplatte stiehlt und mit dem Scannen beginnt, kann er Daten auch dann abrufen, wenn Sie Dateien löschen, da die Daten selbst noch vorhanden sind, obwohl der Weiterleitungsspeicherort nicht mehr vorhanden ist. Wenn Daten verschlüsselt werden, sieht alles, was gespeichert wird, nicht so aus, wie es ist. Es sieht normalerweise zufällig aus, als hätte sich im Laufe der Zeit eine Fragmentierung aufgebaut. Sie können Daten auch speichern und als anderen Dateityp anzeigen. Bild- und Musikdateien sind dafür gut geeignet, da sie beispielsweise ohne Verdacht recht groß sein können. All dies geschieht mithilfe mathematischer Algorithmen, die eine Art Eingabe in eine andere, sehr spezifische Art der Ausgabe umwandeln. Weitere Informationen zur Funktionsweise der Verschlüsselung finden Sie unter HTG Explains: Was ist Verschlüsselung und wie funktioniert sie?

Algorithmen sind mathematische Werkzeuge, die eine Vielzahl von Anwendungen in der Informatik bieten. Sie arbeiten daran, auf konsistente Weise einen Pfad zwischen einem Startpunkt und einem Endpunkt bereitzustellen, und geben die Anweisungen, um diesem zu folgen. Wissen Sie mehr als das, was wir hervorgehoben haben? Teilen Sie Ihre Erklärungen in den Kommentaren!

Continue Reading
Click to comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tendencia