Silicon Valley Yoda

Published on January 04, 2019

Silicon Valley Yoda

Ursprünglicher Autor: Siobhan Roberts
  • Übersetzung

Donald Knuth, Meister der Algorithmen, denkt über 50 Jahre Arbeit an seiner Hauptkreation nach, dem Buch „The Art of Programming“, das sich immer wieder ergänzt



Donald Knut in seinem Haus in Stanford, Kalifornien. Der gruselige Perfektionist hat eine Belohnung für das Auffinden von Fehlern in seinen Büchern vergeben.

Der an Yoda erinnernde Stanford-Informatiker Donald Knuth, der 193 cm groß ist und eine Brille trägt, nimmt seit einem halben Jahrhundert eine dominierende Stellung des spirituellen Lehrers im Bereich der Algorithmen ein.

Er ist der Autor von „The Art of Programming“, einer Monografie, die er nach Erreichen von Band 4 immer noch schreibt und die sein ganzes Leben lang ist. Der erste Band erschien im Jahr 1968 und alle Bände zusammen (im Set für 250 US-Dollar verkauft) wurden 2013 in die Liste der Bücher aufgenommen, die das letzte Jahrhundert der Wissenschaft bildeten und vom American Scientist Magazine zusammengestellt wurden. Es enthält auch eine Sonderausgabe von Charles Darwins Autobiographien, Tom Wolfe's Buch Guys What We Need !, Rachel Carsons Buch Silent Spring , und die Monographien von Albert Einstein, John von Neumann und Richard Feynman.

Die in über einer Million Exemplaren gedruckte „Kunst des Programmierens“ ist eine Bibel auf ihrem Gebiet. „Es ist wie eine echte Bibel - es ist sehr lang und umfassend; Es gibt keine anderen so umfassenden Bücher “, sagt Peter Norvig, Forschungsdirektor bei Google. Nach 652 Seiten schließt der Band mit einem Zitat auf der Rückseite eines Buches von Bill Gates: "Wenn Sie das gesamte Buch lesen können, senden Sie mir Ihren Lebenslauf."

Der Band beginnt mit einem Auszug aus der McCall Recipe Collection:
Hier haben Sie ein Buch, das Sie in Tausenden Ihrer Briefe veröffentlichen möchten. Wir haben Jahre gebraucht, um unzählige Rezepte zu prüfen und zu überprüfen, um Ihnen nur die besten, interessantesten und perfektesten zu liefern.
Das Buch listet Algorithmen und Rezepte auf, die das digitale Zeitalter bestimmen - obwohl, wie Dr. Knut gerne betont, Algorithmen auch auf den 3.800 Jahre alten babylonischen Tabletts zu finden sind. Er ist ein hoch angesehener Algorithmusiker; Einige der wichtigsten Muster sind nach ihm benannt, zum Beispiel der Knut-Morris-Pratt-Algorithmus zum Auffinden eines Teilstrings in einem String. Es wurde 1970 erfunden und findet alle Vorkommen einer bestimmten Buchstabenfolge im Text - zum Beispiel, wenn Sie Strg-F drücken, um nach einem Wort in einem Dokument zu suchen.

Jetzt ist Dr. Knut 80 Jahre alt und zieht sich normalerweise so an, als wäre er ein junger Freak, als er diese Odyssee begann: ein langärmliges Hemd mit einem kurzärmligen Hemd und Jeans - zumindest zu dieser Jahreszeit. Damals schrieb er Programme in Maschinencode, spielte mit Nullen und Einsen.

„Knut hat deutlich gemacht, dass das System über die gesamte Tiefe bis hin zur Ebene der Maschinencodes verstanden werden kann“, sagte Dr. Norvig. Wenn heute Algorithmen in unserem Leben kontrolliert (und gestört) werden, hat der durchschnittliche Programmierer keine Zeit, sich mit Binärbrei zu beschäftigen. Er arbeitet mit Abstraktionshierarchien, mit Codeschichten - und oft mit Codeketten, die aus Bibliotheken ausgeliehen wurden. Aber die Elite der Programmierer steigt manchmal auf die untersten Ebenen ab.

"Bei Google sammeln wir manchmal nur Code von dem, was wir haben", sagte Norvig bei einem Treffen der Google Trips in Mountain View. „Und manchmal, wenn Sie Milliarden von Benutzern bedienen müssen, müssen Sie dies effektiv tun. Eine Verbesserung der Effizienz um 10% kann Milliarden von Dollar bedeuten. Um diese letzte Effizienzstufe zu erreichen, muss man verstehen, was mit ihrer eigentlichen Grundlage geschieht. “


Dr. Knut bei Caltech, wo er 1963 promovierte.

Andrei Broder, ein bekannter Wissenschaftler bei Google, und einer von Knuts ehemaligen Studenten, erklärten während des Treffens: „Wir brauchen eine theoretische Grundlage für unsere Arbeit. Wir brauchen keine frivolen, plumpen und zweitklassigen Algorithmen. Wir wollen nicht, dass andere Algorithmusiker sagen: "Ja, ihr seid Idioten."

Die 2016 erstellte Google Trips-App ist ein Algorithmus für Touristen, der den ganzen Tag Unterhaltung für Touristen bietet. Das Team arbeitete daran, " die Qualität der schlimmsten Tage zu maximieren " - der Algorithmus sollte beispielsweise vermeiden, den Benutzer mehrmals an die gleichen Orte zu schicken, um verschiedene Orte von Interesse zu erkunden. Sie ließen sich von einem 300 Jahre alten Algorithmus inspirieren, den der Schweizer [sowie der deutsche und russische] Mathematiker Leonard Euler erfunden hatte und der einen Weg durch die preußische Stadt Königsberg [jetzt - Kaliningrad] zeichnen wollte, die alle sieben Brücken nur einmal kreuzte. Knut geht im ersten Band seiner Abhandlung auf das klassische Euler-Problem ein. Eines Tages programmierte er mit der Euler-Methode eine computergesteuerte Nähmaschine.


Das Befolgen der Knut-Doktrin hilft, Idiotie zu vermeiden. Er ist dafür bekannt, das Konzept der „literarischen Programmierung“ einzuführen und betont, wie wichtig es ist, Code zu schreiben, den nicht nur Computer lesen können, sondern auch Menschen - ein Konzept, das heute etwas Altmodisches zu sein scheint. Knut behauptete sogar, dass einige Computerprogramme als literarische Werke gelten könnten, zusammen mit den Gedichten von Elizabeth Bishop und dem Roman American Pastoral von Philip Roth, der einen Pulitzer-Preis verdient.

Und er ist bekannt für seinen Perfektionismus. Randal Munro, der Autor der xkcd- und Thing Explainer-Cartoons, erfuhr zuerst von Knut von Programmierern, die die Belohnung erwähnten, die er versprochen hatte, um sie an jemanden zu zahlen, der in einem seiner Bücher einen Fehler gefunden hatte. Monroe erinnert sich: "Die Leute sprachen davon, einen solchen Scheck zu bekommen, als wäre es ein Nobelpreis für Informatik."

Knuths anspruchsvolle literarische und anderweitige Maßstäbe mögen erklären, warum sein Lebenswerk alles andere als vollständig ist. Er diskutierte mit Sergey Brin, dem Mitbegründer von Google und seinem ehemaligen Studenten, ob Brin seine Doktorarbeit beenden würde, bevor Knut seine Monografie fertig stellte.

Beginn des Algorithmus


Im Alter von 19 Jahren veröffentlichte Knut seine erste Arbeit zu einem technischen Thema: "Das Pratzibnaya-System der Maße und Gewichte""in Mad magazine [Es war ein humorvolles Magazin, und Potretsibi ist ein polnisches Wort, das im Englischen für Unsinn verwendet wird. Beispielsweise führte Knut in seinem Werk ein neues Längenmaß in einem Potrebi ein, das der Dicke der 26. Ausgabe des Magazins entspricht. Er wurde bereits vor der Informatik Informatiker und studierte Mathematik an der heutigen Keys University im Western Reserve District Ungenauigkeiten, Umschreiben und das im Unterricht verwendete Lehrbuch Als Hobby berechnete er Statistiken für die Basketballmannschaft und schrieb ein Programm, das ihnen half, ihre Liga zu gewinnen.


In den Sommerferien verdiente Knut mehr Geld als seine Lehrer für das Jahr und schuf Compiler. Der Compiler ähnelt einem Übersetzer, verwandelt eine Programmiersprache auf hoher Ebene (ähnlich der Algebra) in eine Sprache auf niedriger Ebene (manchmal ist es ein mysteriöser Binärcode) und verbessert im Idealfall das Programm. In der Informatik ist Optimierung eine Kunst, die sich in einem anderen Knut-Sprichwort widerspiegelt: "Vorzeitige Optimierung ist die Wurzel allen Übels."

Als Ergebnis wurde Knut selbst zum Compiler und entdeckte versehentlich einen neuen Bereich, den er später als „Algorithmusanalyse“ bezeichnete. Der Verlag beauftragte ihn, ein Buch über Compiler zu schreiben, doch aus dem Projekt wurde ein Buch, das alles sammelt, was er über das Schreiben von Programmen für Computer wusste - ein Buch über Algorithmen.


Knut studierte 1981 die Mad Magazine-Ausgabe von 1957, in der sein erster technischer Artikel gedruckt wurde.


"Die Kunst des Programmierens", Band 1-4.

„Zur Zeit der Renaissance gab es bereits Zweifel an der Entstehung dieses Wortes“, beginnt das Buch. "Frühe Linguisten versuchten, ihren Ursprung zu verstehen, indem sie Kombinationen wie Algiros [schmerzhaft] + Arithmos [Zahl] schufen." Tatsächlich, so fährt Knut fort, erschien dieser Name zu Ehren des persischen Autors des Lehrbuchs aus dem 9. Jahrhundert, Abu Abdullah Muhammad ibn Musa al-Khorezmi, dessen Name in der lateinischen Aufzeichnung wie „Algorithmus“ zu klingen begann. Knut, der mit halben Sachen nie zufrieden war, pilgerte 1979 in seine Heimat al-Khorezmi, nach Usbekistan . trans. ].

Knut wollte von Anfang an ein Buch schreiben. Bald gab es einen großen Knall in der Informatik, also überarbeitete er sein Projekt und zerlegte es in sieben Bände. Jetzt veröffentlicht er Teilbände oder Ausgaben. Der nächste „Band 4, Ausgabe 5“, in dem unter anderem „bektreking“ und „dancing links“ beschrieben werden, sollte bereits 2018 erscheinen. Er blieb jedoch bis April, da der Autor immer neue Aufgaben findet, die er unbedingt präsentieren möchte.

Um die Chancen auf ein Ende der Arbeit zu optimieren, verfolgt Knut seine Zeit seit langem streng. Er ging mit 55 Jahren in den Ruhestand, sprach nur eingeschränkt in der Öffentlichkeit und lehnte eine E-Mail ab (zumindest offiziell). Andrew Broder erinnert sich, dass Zeitmanagement bereits in den 1980er Jahren ein bestimmendes Merkmal seines Lehrers war.

Normalerweise traf sich Knut freitags am Morgen mit Studenten, bis er begann, Abende im Labor von John McCarthy, einem der Pioniere der Entwicklung auf dem Gebiet der künstlichen Intelligenz, zu verbringen, um Zugang zu Computern zu erhalten, wenn sie frei waren. Aus Angst, wie sehr ihm das Buch nach dem Aufkommen digitaler Publishing-Systeme ans Herz gewachsen war, setzte sich Knut das Ziel, ein Computersystem für den typografischen Druck von TeX zu entwickeln, das weiterhin der Goldstandard für alle Formen der wissenschaftlichen Kommunikation und Veröffentlichung ist. Einige halten es für den größten Beitrag von Knut und den größten Beitrag für die Druckerei seit den Tagen von Gutenberg.

Diese Verzögerung von zehn Jahren ereignete sich zu einer Zeit, als verschiedene Leute Computer verwendeten und nachts schneller arbeiteten, als die meisten Leute schliefen. Aus diesem Grund wechselte Knut zu einem nächtlichen Lebensstil, verschob den Zeitplan um 12 Stunden und änderte den Zeitpunkt für Treffen mit Studenten für den Zeitraum von 8 auf 12 Nächte am Freitag. Broder erinnert sich: "Als ich meiner Freundin sagte, dass wir am Freitagabend nichts tun könnten, weil ich um 22 Uhr einen Termin mit meinem Vorgesetzten hatte, dachte sie:" Es klingt so dumm, dass es wahr zu sein scheint. " ".

Wenn sich Knut jedoch dazu entschließt, an einem Ort persönlich teilzunehmen, widmet er dieser Veranstaltung seine ganze Aufmerksamkeit. "Ihm nahe zu sein, macht Spaß", sagt Jennifer Chace, Geschäftsführerin von Microsoft Research. „Er ist das Maximum in der Community. Wenn Sie eine Optimierungsfunktion hätten, die Wärme und Tiefe repräsentiert, dann wäre es Don. “


Knut diskutiert mit dem Schriftentwickler Hermann Zapf über Schriften.

Sonntag mit einem Algorithmusiker


Whip lebt in Stanford und trifft sich sonntags. Die Tatsache, dass er einen ganzen Tag für das Meeting ausgewählt hat, war außergewöhnlich - normalerweise ist es während des Mittagsschlafes nicht verfügbar, was ein heiliges Ritual ist, das zwischen 13 und 16 Stunden stattfindet. Er begann seinen Tag früh in der Ersten Lutherischen Kirche von Palo Alto, wo er vor einer Menschenmenge, die sich in einem Raum ohne Stühle versammelte, Unterricht für die Sonntagsschule erteilte. Auf dem Heimweg beginnt er über Mathematik zu philosophieren.

"Ich werde nie alles wissen", sagte er. "Mein Leben wäre viel schlimmer, wenn es keine Fragen gäbe, auf die ich die Antworten kennen würde, und wenn es keine Fragen gäbe, auf die ich die Antworten nicht kennen würde." Anschließend bot er eine Besichtigung des „modernen kalifornischen“ Hauses an, das er und seine Frau 1970 errichteten. Sein Büro ist vollgepackt mit Flash-Laufwerken und dekoriert mit Kunsthandwerk von Gil, einem Grafikdesigner, zum Thema Valentinstag. Den größten Eindruck hinterlässt der Musikraum, der um eine maßgefertigte Orgel für 812 Pfeifen gebaut ist. Beendete den Tag auf einer Party mit Bier und Rätseln.

Rätsel, Spiele, das Schreiben eines Romans über surreale Zahlen , das Schreiben einer 90-minütigen Multimedia-Musikkomposition Fantasia Apocalyptica sind solche Dingegebären . Ein Abschnitt seines Buches heißt "Rätsel gegen die reale Welt". Er sandte einen Auszug aus dem Buch an ein Team bestehend aus Vater und Sohn, Martin DeMein, Künstler, und Eric DeMeyne, einem IT-Spezialisten am MIT, weil Knut seine " algorithmischen Schriften-Rätsel " in das Buch aufgenommen hatte .

"Ich war angenehm überrascht", sagte Eric Demaine. "In dieses Buch einzusteigen ist eine Ehre." Er erwähnte ein weiteres Zitat von Knut und inspirierte die Konferenz " Entertainment with Algorithms ", die zweimal im Jahr stattfand : "Das Hauptziel war wahrscheinlich immer das Vergnügen."

Und dann, sagte Demain, ist dieser Bereich ein praktischer geworden. Ingenieure, Wissenschaftler, Künstler - sie alle sind sich einig, um echte Probleme wie das Falten von Eiweiß, Robotern und Airbags zu lösen. Dabei werden von zwei Demani entworfene Origamis verwendet, um Papier zu falten und in verschiedene Formen zu binden.

Natürlich verursacht dieser ganze algorithmische Aufwand echte Probleme. Von Menschen geschriebene Algorithmen - sich immer komplexeren Aufgaben zu nähern und mit Fehlern und Vorurteilen gefüllten Code auszugeben - sind bereits eine ziemlich unangenehme Sache. Was aber noch schlimmer ist, sind die Algorithmen, die nicht von Menschen, sondern von Maschinen geschrieben wurden.

Programmierer trainieren immer noch Maschinen und geben ihnen Daten. Daten sind ein neuer Bereich für Fehler und Verzerrungen, und es ist schwieriger, sie zu erfassen und zu korrigieren. Kevin Slavin, Associate Professor am MIT Media Lab, sagte jedoch: „Jetzt schreiben wir Algorithmen, die nicht lesbar sind. Dies ist ein einzigartiger historischer Moment, in dem wir mit Ideen, Handlungen und Versuchen arbeiten, die durch die Physik verursacht werden und von Menschen stammen, aber von Menschen nicht verstanden werden. “ Slavin bemerkt oft : "Sie haben eine glänzende Zukunft, wenn Sie ein Algorithmus sind."


Knut an seinem Schreibtisch zu Hause, 1999.


Notizen

Umso schöner wird es, wenn Sie ein in Knut versierter Algorithmus sind. "Heute verwenden Programmierer das, was Knut und andere als Komponenten ihrer Algorithmen verwendeten, und kombinieren es mit allen möglichen anderen Dingen, die sie benötigen", sagte Dr. Norvig von Google.

„Mit AI machen wir dasselbe. Nur die Stufe des Kombinierens erfolgt automatisch, basierend auf Daten und nicht auf der Grundlage der Arbeit des Programmierers. Die KI muss in der Lage sein, die Komponenten zu kombinieren, um auf der Grundlage der Daten eine geeignete Antwort zu erhalten. Sie müssen jedoch entscheiden, was diese Komponenten sind. Es kann sein, dass jede der Komponenten eine Seite oder ein Kapitel von Knut ist, da dies der beste Weg ist, um eine Aufgabe zu erfüllen. “

Wir sind also froh, dass Knut dies weiterhin tut. Er ist der Meinung, dass er weitere 25 Jahre brauchen sollte, um „The Art of Programming“ zu vollenden, obwohl sich diese Schätzung seit den 1980er Jahren nicht geändert hat. Erhalten die Algorithmen, die andere Algorithmen schreiben, ihr Kapitel im Buch oder eine Seite im Epilog? "Auf keinen Fall", sagte Knut.

"Ich mache mir Sorgen über die Auswirkungen, die Algorithmen auf die Welt haben", fügte er hinzu. - Alles begann damit, dass sich Informatiker Sorgen machten, weil niemand auf sie hörte. Jetzt mache ich mir Sorgen, dass zu viele Menschen uns zuhören. “