16Aug

Was sind Computeralgorithmen und wie funktionieren sie?

click fraud protection

Sofern Sie nicht mit Mathe oder Programmierung beschäftigt sind, könnte das Wort "Algorithmus" für Sie griechisch sein, aber es ist einer der Bausteine ​​für alles, was Sie verwenden, um diesen Artikel zu lesen. Hier ist eine kurze Erklärung, was sie sind und wie sie funktionieren.

Haftungsausschluss: Ich bin kein Mathematik- oder Informatiklehrer, daher sind nicht alle der Begriffe, die ich verwende, technisch. Das ist, weil ich versuche, alles in einfachem Englisch zu erklären, weil Leute mit Mathe nicht ziemlich vertraut sind. Davon abgesehen ist etwas Mathematik beteiligt, und das ist unvermeidlich. Math Geeks, fühlen Sie sich frei zu korrigieren oder besser erklären in den Kommentaren, aber bitte, halten Sie es einfach für die mathematisch abgeneigt unter uns.

Bild von Ian Ruotsala

Was ist ein Algorithmus?

Das Wort "Algorithmus" hat eine Etymologie ähnlich wie "Algebra", außer dass es sich um den arabischen Mathematiker selbst handelt, al-Khwarizmi( nur ein interessanter Leckerbissen).Ein Algorithmus für die Nicht-Programmierer unter uns ist eine Menge von Anweisungen, die eine Eingabe A annehmen und eine Ausgabe B bereitstellen, die die beteiligten Daten in irgendeiner Weise ändert. Algorithmen haben eine Vielzahl von Anwendungen. In Mathematik können sie helfen, Funktionen aus Punkten in einem Datensatz unter viel fortgeschritteneren Dingen zu berechnen. Abgesehen von ihrer Verwendung in der Programmierung spielen sie eine wichtige Rolle in Sachen Dateikomprimierung und Datenverschlüsselung.

instagram viewer

Eine grundlegende Reihe von Anweisungen

Nehmen wir an, Ihr Freund trifft Sie in einem Lebensmittelgeschäft und Sie leiten ihn zu Ihnen. Du sagst Dinge wie "komm durch die rechte Tür herein", "pass die Fischabteilung auf der linken Seite" und "wenn du die Molkerei siehst, hast du mich überholt". Algorithmen funktionieren so. Wir können ein Flussdiagramm verwenden, um Anweisungen basierend auf Kriterien zu veranschaulichen, die wir im Voraus kennen oder während des Prozesses herausfinden.

( Bild mit dem Titel "Icebreaking Routine" EDIT: mit freundlicher Genehmigung von Trigger und Freilauf)

Von START, würden Sie den Weg nach unten gehen, und je nachdem, was passiert, folgen Sie dem "Flow" zu einem Endergebnis. Flussdiagramme sind visuelle Werkzeuge, die verständlicherweise eine Reihe von Anweisungen darstellen, die von Computern verwendet werden. In ähnlicher Weise helfen Algorithmen, dasselbe mit mehr mathematisch basierten Modellen zu tun.

Graphen

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

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

Methode 1

Wir können dies als eine Reihe von Punkten darstellen, und die Information würde 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 eine Grafik mit tausend Punkten oder mehreren Segmenten vor, die alle in alle Richtungen verlaufen. Diese Liste würde viele Daten haben, oder? Und dann muss jeder einen nach dem anderen miteinander verbinden.

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 anzugeben, wo der nächste Punkt zu erwarten ist, unter Verwendung der Standardform des Graphen ={ (Startpunkt}, [m1, x1, h1],. .., [mn, xn, hn]}. Hier repräsentiert die Variable 'm' die Steigung der Linie, 'x' die Richtung zum Einzählen( ob x oder y) und 'h"sagt Ihnen, wie viele in dieser Richtung zählen sollen. Sie können auch daran denken, 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 werden mit derGleicher Graph. Sie können sehen, dass die letzten drei Ausdrücke in diesem Ausdruck identisch sind, also können wir es vielleicht abschneiden, indem wir einfach "dreimal wiederholen" sagen. Sagen wir, wenn Sie die Variable 'R"erscheinen, es bedeutet, das letzte Ding zu wiederholen. Wir können dies tun:

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 wie folgt zusammenfassen:

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 wo sie vorher waren.

Methode 3

Versuchen wir es auf eine andere Art und Weise.

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

Hier haben wir es in rein algebraischen Begriffen. Auch wenn die Punkte selbst keine Rolle spielen und nur der Graph, können wir die letzten drei Punkte konsolidieren.

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

Nun, welche Methode du auswählst, hängt von deinen Fähigkeiten ab. Vielleicht sind Sie großartig in Mathe und Graphik, also wählen Sie die letzte Option. Vielleicht kannst du gut navigieren, also wähle die zweite Option. Im Bereich der Computer machen Sie jedoch viele verschiedene Arten von Aufgaben und die Fähigkeit des Computers ändert sich nicht wirklich. Daher werden Algorithmen für die Aufgaben optimiert, die sie erfüllen.

Ein weiterer wichtiger Punkt ist, dass jede Methode auf einem Schlüssel beruht. Jede Anweisung ist nutzlos, wenn Sie nicht wissen, was Sie damit anfangen sollen. Wenn Sie nicht wissen, dass Sie jeden Punkt grafisch darstellen und die Punkte verbinden sollen, bedeutet die erste Menge von Punkten nichts. Wenn Sie nicht wissen, was jede Variable in der zweiten Methode bedeutet, werden Sie nicht wissen, wie Sie sie anwenden, ähnlich wie der Schlüssel zu einer Chiffre. Dieser Schlüssel ist auch ein integraler Bestandteil der Verwendung von Algorithmen, und oft wird dieser Schlüssel in der Community oder über einen "Standard" gefunden.

Dateikomprimierung

Wenn Sie eine ZIP-Datei herunterladen, extrahieren Sie den Inhalt, so dass Sie alles verwenden könnenist drin. Heutzutage können die meisten Betriebssysteme in. zip-Dateien wie normale Ordner eintauchen und alles im Hintergrund tun. Auf meiner Windows 95-Maschine vor über einem Jahrzehnt musste ich alles manuell extrahieren, bevor ich mehr als die Dateinamen darin sehen konnte. Dies liegt daran, dass das, was auf der Festplatte als ZIP-Datei gespeichert war, nicht in einer verwendbaren Form war. Denken Sie an eine ausziehbare Couch. Wenn Sie es als Bett benutzen möchten, müssen Sie die Kissen entfernen und es entfalten, was mehr Platz einnimmt. Wenn Sie es nicht benötigen oder transportieren möchten, können Sie es wieder zusammenfalten.

Komprimierungsalgorithmen werden speziell für die Dateitypen angepasst und optimiert, auf die sie ausgerichtet sind. Zum Beispiel verwenden Audioformate jeweils eine andere Art, Daten zu speichern, die, wenn sie vom Audiocodec dekodiert werden, eine Audiodatei ähnlich der Originalwellenform ergeben. 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: Sie ergeben beide die ursprünglichen Daten in ihrer exakten Form nach dem Dekomprimieren. Verlustbehaftete Audio-Codecs verwenden andere Mittel, um Speicherplatz zu sparen, z. B. das Abschneiden von Frequenzen, die von menschlichen Ohren nicht gehört werden können, und das Ausgleichen der Wellenform in Abschnitten, um einige Details zu beseitigen. Obwohl wir den Unterschied zwischen einem MP3- und einem CD-Track nicht wirklich hören können, gibt es definitiv ein Informationsdefizit im ersteren.

-Datenverschlüsselung

-Algorithmen werden auch beim Sichern von Daten oder Kommunikationsleitungen verwendet. Anstatt Daten so zu speichern, dass weniger Speicherplatz belegt wird, wird sie auf eine Weise gespeichert, die von anderen Programmen nicht erkannt werden kann. Wenn jemand Ihre Festplatte stiehlt und anfängt, sie zu scannen, können sie Daten auch dann aufnehmen, wenn Sie Dateien löschen, weil die Daten selbst noch da sind, obwohl der Weiterleitungsort dorthin verschwunden ist. Wenn Daten verschlüsselt werden, sieht alles, was gespeichert wird, nicht so aus, wie es ist. Es sieht normalerweise zufällig aus, als ob sich die Fragmentierung im Laufe der Zeit aufgebaut hätte. Sie können Daten auch speichern und als einen anderen Dateityp anzeigen. Bilddateien und Musikdateien sind dafür gut geeignet, da sie z. B. ohne Verdacht sehr groß sein können. All dies geschieht durch die Verwendung mathematischer Algorithmen, die irgendeine Art von Eingabe vornehmen und sie in eine andere, sehr spezifische Art von Ausgabe umwandeln. Weitere Informationen zur Funktionsweise der Verschlüsselung finden Sie in 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 so, dass sie konsistent einen Pfad zwischen einem Startpunkt und einem Endpunkt bereitstellen, und geben Anweisungen, um diesem zu folgen. Wissen Sie mehr als das, was wir hervorgehoben haben? Teile deine Erklärungen in den Kommentaren!