Woher kommen Algorithmen? Und wie kommt es, dass mein Gehirn Algorithmen produzieren kann, aber mein Computer Programme braucht, die irgend ein Mensch geschrieben hat? Wo doch mein Gehirn auch nur ein Computer ist, wie ich glaube.
Ja, es gibt genetische Programmierung und maschinelles Lernen, die beide automatisch Algorithmen erzeugen, und selbst ein Schachprogramm erzeugt Algorithmen, nämlich eine Abfolge von Zügen, die möglichst zum Sieg führen sollen, mittels "backtracking".
Und es gibt jede Menge "Codegeneratoren", die Programmstücke aus Datenspezifikationen erzeugen, meist zur Ein- oder Ausgabe von Daten oder deren Übertragung, oder Programmcode aus einer Repräsentation in eine andere überführen, etwa bei Compilern.
Wirklich programmieren können Computer aber nicht. Die Mathematik sagt, dass es nicht möglich ist, das kürzeste Programm zu berechnen, das eine bestimmte Information erzeugt - das mit der niedrigsten Kolgomorow-Komplexität.
Die möglichen Programme sind aber rekursiv aufzählbar, so dass uns nichts daran hindert, jede Menge Programme zu finden, die vielleicht nicht die kürzesten sind, aber funktionieren. Das Problem ähnelt aber dem Reiskornproblem:
Mit jedem Bit mehr verdoppelt sich die Zahl der möglichen Programme, und ein PC bräuchte ca. ein Jahr, um alle Programme auch nur aufzuzählen, die in 48 Bit passen. Brute Force scheidet also komplett aus.
Was passiert also in meinem Kopf, wenn ich ein Programm schreibe oder mir einen Algorithmus überlege? Enthält mein Gehirn vielleicht metaphysische oder transzendente Elemente, die es mir durch göttliche Eingebung ermöglichen, Algorithmen zu finden und Programme zu schreiben?
Gott oder Aliens sind für mich Wildcard-Theorien, die man jederzeit hervorholen kann, um alles zu erklären und nicht weiter darüber nachdenken zu müssen. Das machen wir jetzt nicht. Wäre ja noch schöner, wenn in Wirklichkeit Gott Microsoft Windows geschrieben hat.
In meiner Realität ist der Ausgangspunkt eines Algorithmus eine Spezifikation der Eingabedaten, der Ausgabedaten und wie diese zusammen hängen. Das kann formal oder in natürlicher Sprache ausgedrückt werden, oder einfach ein Gedanke in meinem Kopf sein.
Die Eingabedaten können eine beliebige Abfolge von Bits sein, etwa bei einem Kompressionsprogramm, oder Folgen von Messwerten, etwa Töne, Bilder oder Filme, oder Texte sein, die im Fall von Programmiersprachen einer bestimmten Grammatik entsprechen müssen.
Die Eingabedaten sind zudem optional, etwa, wenn ich die Primzahlen oder Pi berechnen will, aber in der Regel gibt es Eingabedaten, und es gibt eine Relation zwischen Eingabe und Ausgabe. Grundsätzlich genügt es aber, eine Spezifikation der Ausgabedaten zu haben.
Ein Algorithmus besteht im wesentlichen aus Eingaben, Assoziationen, Vergleichen, Fallunterscheidungen, Wiederholungen und Ausgaben. Diese können formal auf verschiedenste Art ausgedrückt werden, als Turing-Maschine, Lamba-Kalkül oder Registermaschine, oder ...
...in der Praxis in einer von hunderten Maschinensprachen oder höheren Programmiersprachen. Dabei kann man denselben Algorithmus in jeder Programmiersprache ausdrücken, die "Turing-vollständig" ist.
Wie komme ich aber von der Spezifikation zum Algorithmus? Nun, ähnlich, wie ich zu einer Tasse Tee komme. Tee bekomme ich, indem ich kochendes Wasser über Teeblätter gieße. Tee ist im Schrank, oder ich muss Einkaufen, Wasser kommt aus dem Hahn, und erhitzen kann ich es auf...
...dem Herd oder mit dem Wasserkocher. Letzterer geht schneller, ich prüfe also den Wasserstand im Kocher, oder ich kippe das alte Wasser weg und zapfe grundsätzlich neues. Wenn ich losen Tee habe, fülle ich ihn den Teefilter, ansonsten entnehme ich ein oder zwei...
...Teebeutel aus ihrer Verpackung und platziere sie in der Teekanne oder ein oder mehreren Teetassen, die ich vorher von ihrem Aufbewahrungsort geholt habe. Ich warte, bis das Wasser kocht und gieße es in die Teekanne, indem ich den Ausfluss des Kochers über das Gefäß bringe...
...und den Kocher so weit neige, dass kochendes Wasser herausfließt und halte ihn in der Position und Orientierung, bis die gewünschte Menge heißes Wasser in der Kanne ist. Habe ich mehrere Tassen, wiederhole ich das für jede Tasse.
Habe ich eine Kanne, warte ich, bis der Tee gezogen hat und gieße mir eine Tasse Tee ein. Voila. Ganz schön viel Algorithmus für eine Tasse Tee, und ich habe mich jeder Menge "Subalgorithmen" bedient, etwa zum Auspacken des Tees oder Füllen des Kochers, die wage beschrieben sind.
Grundsätzlich aber entwirft unser Gehirn ständig Algorithmen, etwa, wie wir an eine Tasse Tee kommen, und passt sie Gegebenheiten an oder optimiert sie. Oder, wenn man morgens im Halbschlaf Frühstück macht, kann es vorkommen, dass man die Schritte nicht in der optimalen...
...Reihenfolge macht und Wasser aufsetzt, obwohl kein Tee mehr da ist, oder erst den Tee und die Tassen und die Kanne holt, bevor man das Wasser aufsetzt, oder man muss noch mal vom Tisch aufstehen, weil man die Löffel oder Untertassen vergessen hat.
Die Kunst, einen allgemeinen Algorithmus zum Tee kochen zu beschreiben besteht auch darin, Eventualitäten und mögliche Störungen oder Fehler im Ablauf zu berücksichtigen, aber das ist keine prinzipielle Anforderung.
Grundsätzlich entsteht in meinem Kopf ein Algorithmus, indem ich das Problem in Teilschritte zerlege und einen einfacheren Algorithmus für das Teilproblem finde oder einen bekannten Algorithmus dafür aus dem Gedächtnis hole. Aber so einfach ist es dann doch nicht.
Das war nämlich einer der ersten Ansätze, die man in der KI ausprobiert, mit GPS, dem "General Problem Solver", und ist gescheitert. Ein Abfallprodukt waren "Expertensysteme", die aber auch nicht die Welt revolutioniert haben.
Warum kann mein PC keinen Algorithmus zum Tee kochen entwerfen? Er hat keine Ahnung von Dingen wie Teekannen oder Wasser eingießen, und das gilt für die meisten Probleme, die wir mit dem Computer lösen wollen: Er hat kein ausreichend komplexes Modell von unserer Realität.
Selbst für einfache Probleme steckt das Generieren von Algorithmen in den Kinderschuhen. Denke, man sollte es probabilistisch anzugehen, aber auch da sind die Grundlagen dünn, fast, als würde Forschung auf dem Gebiet unterdrückt. Kennt ihr interessante Arbeiten zum Thema?

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Pavel Mayer

Pavel Mayer Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @pavel23

14 Dec
Auf Deutschland gemünzt könnte man sagen, dass AfD und Querdenker mehr Nazis und Faschisten ein vorzeitiges Ableben beschert haben als irgendwer sonst seit Ende des zweiten Weltkrieg.
Das ist aber nicht meine primäre Sicht (und sicher nicht die allgemeine Sicht) auf die Dinge. Eine Ideologie, die ihre Anhänger vor Gefahren schützen will, die klein sind, indem sie sie größeren Gefahren aussetzt, ist schlecht für ihre Anhänger. Toxisch, wenn man so will.
Ich finde es keinen Anlass zur Freude, auch nicht zur Schadenfreude, wenn Leute von toxischen Ideen befallen werden, die ihnen und ihrer Umgebung Schaden zufügen. Ich war die meiste Zeit meines Lebens ein Gegner von Zensur oder „verbotenen Ideen“, in der Annahme, dass die…
Read 25 tweets
12 Dec
If you want to know something about the nature of truth and the evil a state is capable of, watch this 3 hour interview with most tortured person in Guantamo Bay, and then read the wiki page about him. You won't regret it.
The end may sound uplifting, and Slahi made peace with his torturers and is even a close friends to one of them, both godfathers to each other's kids. You should keep in mind though they broke him and and it might a case of traumatic bonding, like with the Stockholm syndrome.
At one point one of his American captors told him: It does not matter whether you are innocent or not. And after what has already been done to you by us, you can not be innocent. And in that mindset they tortured him until he confessed to literally everything they suggested.
Read 19 tweets
11 Dec
Das Internet weiß alles. Und jede Idee, die man hat, hatte schon mal jemand vorher. Und das ist eigentlich ziemlich cool, denn man kann so Sackgassen vermeiden oder Wissensschätze heben, die einen voran bringen. Aber wie sucht man nach einer Idee? Beispiel einer Schatzsuche.
Seit einiger Zeit beschäftigt mich die Frage, warum Meinungsfronten so verhärtet und Debatten so aggressiv verlaufen, und irgendwie zeichnete sich so ein Bild in meinem Kopf von einem Gebirge mit Pfaden, und die Wege verlaufen in den Tälern, und die Gebirge zu überwinden...
...kostet Energie und ist gefährlich, weil man allein ist. Manchmal spaltet sich ein Tal auf, und die einen laufen rechts und die anderen links, und treffen sich vielleicht nie wieder. Und früher war das Land übersichtlicher, die Täler breiter und die Berge flacher.
Read 17 tweets
11 Dec
Der "schlechteste Film aller Zeiten" ist ein Paradoxon. Eigentlich dürfte sich niemand an ihn erinnern können, weil wenn man sich erinnern kann, hatte der Film mindestens die Qualität, unvergessen zu sein. Und man sich ihn angesehen hat. Er kann damit nicht der #SchleFaZ sein.
Was macht einen Film schlecht? Für mich sind es Cliches, Inkonsistenzen oder unabsichtliche Absurditäten im Plot, unglaubwürdige Charaktere, Übermaß an 1-in-a-billion-Escapes, und wenn der Film verdummt. Kann aber auch einen Film genießen, der gegen all diese Regeln verstößt.
Damit ich mich überhaupt erinnern oder aufregen kann, muss es aber besondere Gründe geben: Ein Trailer, Werbung, ein Riesenbudget, ein interessantes Franchise, oder alle reden darüber und man will mitreden oder es verstehen.
Read 4 tweets
9 Dec
"Alle zeigen leichte Symptome, erkranken aber nicht schwer". tagesspiegel.de/wissen/erste-b…
Hätte ich bei einer Gruppe von dreifach geimpften "jungen Deutschen" auch nicht anders erwartet. Haben diese Leute erwartet, dass sie anstecken würden? Wie haben sie sich angesteckt? Haben sie sich allein oder zu sehr auf ihre Impfung verlassen?
Das sind die Fragen und der Hintergrund, warum ich mich in diesen beiden Threads für mich vielleicht ungewöhlich scharf zum Thema Omikron und Impfung geäußert haben. Was glaubt ihr wird passieren, wenn Omikron trotz Booster Deutschland überrollt?
Read 25 tweets
8 Dec
Ok, während sich seriöse Wissenschaftler wie @CiesekSandra und @c_drosten darauf fokussieren, die Notwendigkeit des Boosterns herauszustellen und zu betonen, dass es nicht ganz so schlimm ist, wie es auf den ersten Blick aussieht, hatte ich keinen Nerv, irgend was zu beschönigen.
Das macht Pfizer auch hervorragend in dieser Pressemittteilung, die den Eindruck erweckt, dass die aktuellen Impfstoffe ganz toll schützen, wenn man 3 Dosen hat, und dass geboosterte 25 x besser vor Ansteckung durch Omicron geschützt sind. pfizer.com/news/press-rel…
Was jetzt nichts darüber aussagt, wie hoch der Schutz vor Ansteckung gegenüber Ungeimpften ist, aber Pfizer sagt, dass 3 Dosen vor Ansteckung mit Omicron so gut schützen wie 2 Dosen vor Delta. Das deckt sich in etwa mit den von @CiesekSandra präsentierten Daten, allerdings...
Read 38 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(