Alles was du über Algorithmen wissen musst in 3 Minuten! Yuto Informatics https://www.youtube.com/watch?v=cBI2rQav5Tk Transkript (automatisch erstellt) 0:00 Beim Programmieren redet man ständig von Algorithmen. Klar, denn genau das ist ja auch das, was man beim Programmieren eigentlich auch tut. Man erstellt 0:08 Algorithmen. Aber was ist ein Algorithmus eigentlich? Ist ein Algorithmus das gleiche wie ein Programm? Und was macht einen guten 0:15 Algorithmus aus? Und was hat es mit solchen Begriffen wie Terminiertheit, Determinismus oder auch Determiniertheit auf sich? Das alles werde ich im 0:23 folgenden Video in einfachen Worten erklären. Algorithmen gibt es nicht nur in der Computerwelt, denn ein Algorithmus ist quasi einfach nur eine 0:31 Ainanderreihung von Anweisungen, die aus einer Eingabe eine Ausgabe erzeugt. Ein Beispiel aus dem Alltag dafür ist ein Kochrezept. Ihr habt eine Eingabe, die 0:41 Zutaten, eine Ainanderreihung von Anweisungen, die euch sagen, was ihr mit den Zutaten tun sollt und am Ende gibt es dann eine leckere Lasagne als Ausgabe 0:49 z.B. Und im Grunde funktioniert auch jeder Algorithmus nach genau diesem Konzept: Eingabe, Bearbeitung, Ausgabe. Wirklich relevant werden Algorithmen 0:59 dann aber in der Mathematik bzw. eher sogar in der Informatik. So hat auch der erste bekannte Algorithmus der Geschichte einen mathematischen Ursprung 1:08 und stammt aus der Antike vom griechischen Mathematiker Euklid. Dieser hat um dreh vor Christus den erklidischen Algorithmus zur Bestimmung 1:15 des größten gemeinsamen Teilers zweier ganzer Zahlen entworfen. Das war dann natürlich keine genaue Programmbeschreibung, wie man das 1:21 heutzutage machen würde, aber immerhin sind alle Anweisungen gegeben und hat eine Eingabe, eine Reihe von Anweisungen und erzeugt damit eine Ausgabe. 1:30 Heutzutage sind Algorithmen nicht mehr wegzudenken. Ob Suchmaschinen, soziale Medien oder Navigation, überall arbeiten Computer und da stecken Algorithmen 1:37 dahinter. Aber heißt das jetzt, dass jedes Programm auch ein Algorithmus ist? Ganz klar nein, denn nicht jedes Programm terminiert. Es gibt Programme, 1:48 die in eine Endlusschleife laufen, also nie enden. Und somit hat man zwar eine Eingabe und eine Befehlsfolge, aber keine Ausgabe und somit ist das auch 1:57 kein Algorithmus. Außerdem lässt sich ein Programm von einem Algorithmus auch noch dahingehend abgrenzen, dass der Algorithmus quasi nur die Theorie angibt 2:05 und das Programm die praktische Umsetzung davon ist. Was ist aber z.B. mit diesem Algorithmus hier? Für die gleiche Eingabe liefert er mal eine Null 2:13 als Ergebnis und mal eine 42. Ist das erlaubt? Nach strenger Definition aus der Informatik eigentlich nicht. In der Praxis sind solche Algorithmen aber 2:22 gängig und deswegen kann man sie gerne als Algorithmen betiteln. Solch einen Algorithmus bezeichnet man dann nämlich als nicht deterministisch oder auch 2:30 indeterministisch. Das heißt, dass es verschiedene FE zur Lösung gibt. Erg Zufall im Algorithmus. Aber was passiert denn, wenn alle Fade zur gleichen Lösung 2:40 führen? Dann ist der Algorithmus immer noch indeterministisch, aber aufgepasst, trotzdem determiniert. Zwischen diesen beiden Begriffen gibt es nämlich einen 2:49 kleinen, aber feinen Unterschied. Determinismus bedeutet, dass es bei gleicher Eingabe nur einen einzigen Lösungsweg gibt und Determiniertheit 2:57 bedeutet, dass es bei gleicher Eingabe nur eine einzige Lösung gibt. Es ist daher übrigens auch nicht möglich, einen nicht determinierten, aber 3:05 deterministischen Algorithmus zu entwickeln. Andersum allerdings schon. Gute Algorithmen zu schreiben ist eine der wichtigsten Künste der Informatik. 3:13 Es ist nämlich die eine Sache, ob ein Algorithmus korrekt arbeitet. Auch das ist nicht immer leicht, aber meistens machbar. Viel wichtiger ist die Laufzeit 3:20 von einem Algorithmus. Je schneller einen Algorithmus, desto besser. Zum Ermitteln der Laufzeit von einem Algorithmus gibt es verschiedene 3:27 Methoden, die aber den Rahmen dieses Videos sprengen würden. Denn ich wollte in diesem Video ja nur kurz erklären, was Algorithmen ausmacht und ich denke, 3:33 das haben wir jetzt auch schon geschafft. Alles weitere kommt in späteren Videos. Vergesst also nicht das Video zu bewerten und dann sehen wir uns 3:39 beim nächsten Mal wieder.