Philosophie des Designs

Was macht ein Design gut? Nicht "korrekt", nicht "schnell": gut, die Art von gut, bei der man beim Lesen des Codes grinsen muss. Das hier sind meine Arbeitsnotizen zu dieser Frage. Sie wandern durch Software, Biologie und Leibniz, weil die Frage das auch tut.

Einfachheit, und was dahinter liegt

Simplicity is the ultimate sophistication.

Meist Leonardo da Vinci zugeschrieben, aber es gibt keinen Beleg, dass er das gesagt hat. Die Idee geht mindestens auf Clare Boothe Luce (1931) zurück, und Apple machte den Satz 1977 berühmt.1

Design heißt vereinfachen, nicht verkomplizieren. Das ist die erste Hälfte. Die zweite: Das beste Design ist nicht bloß einfach, es ist evident. Man schaut es an, und es hätte nicht anders sein können.2 Selbstevidenz ist der wahre Swag, sogar jenseits von Schönheit.

Eleganz

Eleganz ist die Eigenschaft guten Designs. In meiner Constructor Theory der Adaptation und des Designs (siehe unten) mache ich das formal: Eleganz ist die Eigenschaft guten Designs, so wie ein kreativer Prozess sie als gut beurteilen kann. Dieses Urteil verlangt erklärende Universalität: Wer urteilt, muss erklären können, warum das Design funktioniert, und warum seine möglichen Alternativen schlechter funktionieren würden.3

Anders gesagt: Wird das Programm für Kreativität, das eine AGI laut Deutsch sein muss,4 eine Art Eleganz-Heuristik enthalten? Ich vermute es. Ein kreativer Prozess, der eine elegante Vermutung nicht von einer plumpen unterscheiden kann, hat nichts, woran er sich unter den unendlich vielen möglichen Vermutungen orientieren könnte.

Neal Stephenson hat das Gefühl besser getroffen als jedes Lehrbuch:

Elegance?

Pardon me, Your Honor, the concept is not easy to explain – there is an ineffable quality to some technology, described by its creators as a concinnitous, or technically sweet, or a nice hack – signs that it was made with great care by one who was not merely motivated but inspired. It is the difference between an engineer and a hacker.

The Diamond Age (1995), Miss Pao antwortet Richter Fang.5

Ein paar Eigenschaften, die ich auf die Liste setzen würde:

  • Eleganz ist pragmatisch, nützlich und entzückend. Vitruv verlangte von einem Gebäude firmitas, utilitas, venustas: Festigkeit, Nützlichkeit und Schönheit.6
  • Eleganz ist geheimnisvoll. Sie hängt mit Wahrheit, wissenschaftlicher Entdeckung und Kunst zusammen.
  • In der Mathematik wird ein "elegantes" Programm manchmal als das kürzeste Programm mit einem bestimmten Ein-/Ausgabeverhalten definiert. Meinen wir das in der Software? Ich glaube nicht. Mehr dazu weiter unten.

Eine reiche Einfachheit?

Ist gutes Design nicht nur einfach, sondern auch reich in seiner Einfachheit?

Lego hat ein oder zwei Dutzend wichtige Steine, nicht zwei. Die Teilchenphysik ist elegant, und sie hat auch nicht zwei Arten von Dingen, sondern eine Handvoll. Ich glaube nicht, dass Eleganz bloß Kompression ist. Da passiert noch mehr: Ausdruckskraft.

Leibniz: einfache Regeln, reiche Welt

Leibniz sagte, Gott habe die Welt gewählt, die "die einfachste an Hypothesen und die reichste an Phänomenen" ist.7 Das ist die Form jedes guten Designs, das ich kenne:

Regelebene Inhaltsebene
natürliche Selektion der Stammbaum des Lebens
die Hardware die Software
der Lisp-Evaluator das Programm, das in der REPL läuft
die Legosteine die Burg

Leibniz unterscheidet außerdem zwei Arten von Wahrheiten:8

  • Vernunftwahrheiten: notwendig, ihr Gegenteil ist unmöglich. Warum berechnet eine NAND-Schaltung NAND, und warum kann man aus ihr einen universellen Computer bauen? Eine NAND-Schaltung, die nicht NAND berechnet, ist Unsinn. Wenn das zur Debatte stünde, stünde alles zur Debatte.
  • Tatsachenwahrheiten: kontingent, sie hätten auch anders sein können. Wir ähneln in der Embryonalentwicklung Fischen, nicht wegen eines Naturgesetzes, sondern wegen der Geschichte. Warum hat der Elefant einen Rüssel? Geschichte.

Und jetzt der Dreh: Es ist ein Naturgesetz (Evolution durch natürliche Selektion), dass die Alternativen möglich sind. Das Kontingente hat einen notwendigen Grund dafür, kontingent zu sein.

Adaptation braucht mögliche Alternativen

Das ist der Kern meiner Constructor Theory der Adaptation und des Designs, für Gene und für Meme (Hintergrund in Meme und Adaptation). Die Constructor Theory formuliert Naturgesetze als Aussagen darüber, welche Aufgaben (tasks) möglich sind, welche unmöglich, und warum.9 Ich will den Adaptationismus in diesen Begriffen ausdrücken, und eines ist von Anfang an klar:

Damit ein Design eine Adaptation ist, müssen seine Alternativen möglich sein.

Wenn kein anderer Rüssel hätte gebaut werden können, ist der Rüssel des Elefanten keine Adaptation, sondern eine Notwendigkeit, eine Vernunftwahrheit. Selektion kann nur zwischen Varianten wählen, die tatsächlich entstehen können. Wo nichts anderes möglich ist, wird nichts selektiert und nichts angepasst. Ich setze das als grundlegende Vermutung, und ich sage, dass sie ganz natürlich aus Dawkins folgt: Kumulative Selektion ist nicht-zufälliges Überleben unter Varianten, also müssen die Varianten überhaupt erst physikalisch möglich sein.10

Chiara Marletto hat argumentiert, dass Replikation und natürliche Selektion unter Naturgesetzen ohne eingebautes Design möglich sind, sofern diese Gesetze digitale Informationsträger zulassen.11 Meines Wissens hat noch niemand die Adaptation selbst als Aussage über mögliche Aufgaben aufgeschrieben: Die Aufgabe "bau die Alternative" muss möglich sein. Das ist der Schritt, den ich gehen will. Dann hat auch Eleganz ihren Platz in derselben Theorie: Ein Design wird gegen seine möglichen Alternativen als gut beurteilt.

Offene Fragen:

  • Wie weit müssen die Alternativen reichen? Genügt eine mögliche Variante, oder braucht Adaptation eine ganze Nachbarschaft möglicher Designs?
  • Gibt es in Software Designs, die Vernunftwahrheiten sind, bei denen keine Alternative möglich ist, und sind das die "evidenten"?

Warum Wissenschaft überhaupt funktioniert

Trotz ihrer Komplexität lässt sich die Welt durch einfachere Regeln beschreiben. Leibniz sah schon eine Version davon: Setz zufällig Punkte auf ein Blatt, und es gibt immer eine Formel, deren Linie durch alle geht. Wenn die Formel so kompliziert ist wie die Punkte, erklärt sie nichts.12 Hermann Weyl zog den Schluss: Wenn jede Funktion als Naturgesetz zählt, wird der Begriff des Gesetzes leer.

Ein Programmierer weiß das instinktiv. Es gibt immer ein Programm, das einen gegebenen String von N Bits ausgibt:

"001010110011"

Es braucht genauso viel Speicher wie der String selbst. Das Programm hat die Form der Daten angenommen. Es ist die maximal nutzlose wissenschaftliche Theorie: "Die Daten existieren." Wissenschaft dagegen findet Regeln, die viel kleiner sind als das, was sie beschreiben, und deshalb sagt sie etwas vorher.

François Chollet nennt die Wette dahinter die Kaleidoskop-Hypothese: Die endlose Neuheit der Welt ist Rekombination einer kleinen Zahl von "Bedeutungsatomen".13

Ebenen

Dieses Zusammenspiel von Einfachheit und Komplexität taucht überall auf, sobald man hinschaut.

Wir können in ein paar Sätzen beschreiben, was ein Programm tut, während darunter ein Epos aus Bits, Strom, Cache-Misses und Speicherzugriffen abläuft. Man kann nicht auf die Bits schauen und sagen, was die Software tut. Das ist eine Ebenenverletzung, und sie ist ein echtes Leiden in der computationalen Neurowissenschaft.

In der Komplexitätsforschung heißt Emergenz, dass eine höhere Beschreibungsebene möglich ist: Man kann in einfachen Worten über ein Ding reden, obwohl es aus vielen verwobenen Teilen besteht. Software ist das Paradebeispiel.

Physiologie war eines meiner Lieblingsfächer in der Biologie, weil sie eine Sprache von Design und Funktion ist. Wir nennen das Herz eine Blutpumpe. Diese Abstraktion verschafft Hebel: Pumpt es zu langsam, leidet alles, wofür der Blutfluss da ist. Kausales Schließen, geschenkt. Es wirkt selbstverständlich, aber nur, weil Biologie eine großartige Wissenschaft ist. Man bedenke, wie ahnungslos wir auf die neuronale Aktivität des Gehirns schauen, und wie ahnungslos wir auf den Strom in einem Computer schauen würden, ohne zu wissen, was ein Betriebssystem ist.

Eine Kolmogorov-Hypothese der Eleganz?

Ist das eleganteste Programm das kürzeste? Nein.

Kolmogorov-Komplexität als Eleganz-Heuristik ist eine Hypothese, und eine beliebte. Jürgen Schmidhuber meint, ein Beobachter finde das schön, was sein eigener Kodierer kurz beschreiben kann;14 Max Tegmark zieht algorithmische Komplexität als Maß für Einfachheit über mathematischen Strukturen in Betracht.15 Ich halte das für das, was David Deutsch das Missverständnis der Mathematiker nennt: die Idee, dass die Mathematik allein entscheidet, was einfach ist.16 Andere Naturgesetze machen andere Transformationen einfach und andere Berechnungen handhabbar. Schon ein Quantencomputer gäbe andere Antworten darauf, was kurz ist und was schnell läuft.

Es ist genau falsch herum. Nicht der klassische Computer sagt, was schnell läuft oder was einfach ist. Die Wirklichkeit sagt, was einfach ist.

  • Der beste Quellcode ist meist nicht der kürzeste. Er nutzt das vorhandene Material, mit Vernunft und Geradlinigkeit.
  • Er hat künstlerischen Swag: Konzinnität, technische Süße.
  • Er macht klar, dass der Programmierer im unendlichen Raum möglicher Programme einen Weg gewählt hat, ohne irgendwen zu zwingen, auf vorbestimmte Weise zu denken oder zu handeln.
  • Er lässt den Programmierern, die danach kommen, eine offene Zukunft für ihr kreatives Problemlösen.

Wieder Lego: Man baut keinen Stein mit einer maßgeschneiderten Verbindung, in die nur maßgeschneiderte Steine passen. Man baut einen Stein, der mit allen anderen Steinen kombinierbar ist, offen für das ganze symbolische System des Lego-Designs.

Vielleicht kommt "kurz" plus "sparsam", gemessen an realen Ressourcen, näher an das heran, was Programmierer mit elegant meinen.

In der Biologie hat Eleganz nach meinem Gefühl mit der Bandbreite möglicher Verwendungen eines Dings zu tun. Ein elegantes Design lässt einen in der Zukunft gewinnen. Es plant das Ungeplante ein, denn Problemlösen in der echten Welt ist offen. Gregory Chaitin argumentiert, dass genau das fehlt, wenn man Evolution nur als Anpassung an eine Umwelt betrachtet: ihre offene Kreativität.17 Die Probleme von Kreativität und Offenheit liegen auch an der vordersten Front der theoretischen Biologie.

Eleganz ist also ein kreatives Problem, und kreative Probleme sind offen. Es gibt keine "eleganteste" Lösung für irgendetwas. So wie wir immer bessere Theorien über die Welt finden können [Popper], können wir immer neue Wege finden, ein Problem zu lösen.

Gutes Design heißt: gewinnen (in der Zukunft), Einfallsreichtum, Nützlichkeit und Spaß.

Dinge zählen: Sparsamkeit und Fülle

Stell dir vor, jemand kommt zu dir und sagt: "Evolution durch natürliche Selektion ist nicht sparsam, sie braucht so viele Generationen." Diese Person wäre wirklich verwirrt. Sie wäre auf den Laufzeit-Fußabdruck-Fehlschluss hereingefallen.

Die Evolutionstheorie durch natürliche Selektion ist ein Algorithmus von drei Zeilen. Das Softwaredesign aufzuschreiben, heißt nicht, den Zustand aller aufeinanderfolgenden Generationen aufzuschreiben. Die Theorie zählt die Generationen nicht auf.

Dieselbe Lage finden wir bei der Everett'schen Quantentheorie, den "vielen Welten".

  Software Evolutionstheorie Viele Welten (Everett)
Theorie (Algorithmus) Das Programm (Quellcode, Design) Der Selektionsalgorithmus Die quantenmechanischen Gleichungen
Faktenfrage Gibt es Hardware, die es ausführt? Hatte das Leben genug Zeit? Ist die Wirklichkeit groß genug für die Welten?
Laufzeit-Entitäten Speicher, Zustand, Ausführung Generationen, Organismen Welten, Zweige des Multiversums
Sparsamkeit der Theorie Kleines, elegantes Design Algorithmus von drei Zeilen Wenige einfache Gleichungen
Fülle zur Laufzeit Enorm viel Rechenzeit und Speicher Sehr viele Generationen Sehr viele Welten
Der Fehlschluss: "nicht sparsam …" "… braucht zu viel Speicher" "… braucht zu viele Generationen" "… braucht zu viele Welten"

Bei der Evolution ist offensichtlich, wie absurd das Argument ist. Nicht einmal falsch. Bei den vielen Welten legt genau dieselbe Verwirrung irgendwie den Verstand der Leute lahm.

Die einzige Frage ist, ob die Wirklichkeit groß genug ist, um den Algorithmus auszuführen. Wenn ja, braucht es nichts weiter.

Ein Softwaredesign ist nicht komplizierter, weil es zur Laufzeit viel Speicher braucht. Viele Entitäten sind nicht kompliziert, wenn ihre Beschreibung klein ist. Eher stimmt das Umgekehrte: Mit viel Speicher können wir einfachere Algorithmen schreiben. Wir leben im Weltraumzeitalter, wir leben im Überfluss [Hickey].18

Für mich ist die Größe, die Fülle der Wirklichkeit schön. Wie damals, als Giordano Bruno vorschlug, dass die Sterne ferne Sonnen sind.

Die kognitive Psychologie der Designarbeit

Es ist leichter, kognitive Neurowissenschaft an alltäglichem Denken zu betreiben, aber Menschen sind Experten in Dingen. Meine Behauptung: Die interessanteste Kognition passiert, wenn Menschen innerhalb ihres Fachgebiets denken. Wie denkt ein Designer?

  • Man kann ein Gespür für die künftigen Verwendungen und den künftigen Spaß eines Dings haben, im Zusammenhang mit Elementen, die es noch nicht gibt, die aber ein harmonisches Ganzes bilden werden.
  • Eine Version ist das Element, das einfach zu vielem gut passt. Eine sichere Wahl.
  • Die andere ist "Ich sage künftigen Spaß voraus, mit diesem Element": eine vage Ahnung, dass irgendein unbekanntes künftiges Element existieren könnte. Ein wilder Zug, wie man im Schach sagt, der die Partie in frische, unerforschte Stellungen führt.
  • In Begriffen der Gestalt: Einige Teile eines künftigen Ganzen wahrzunehmen, gibt uns vielleicht schon ein Gefühl für das Ganze.

Offene Fragen:

  • Ist das Gespür für künftigen Spaß lernbar, oder ist es der Rückstand davon, viele Zukünfte sich entfalten gesehen zu haben?
  • Kann ein Design für den einen Programmierer evident und für den anderen undurchsichtig sein, und ist es dann überhaupt evident?
  • Wo steht ein LLM hier? Es hat viele Zukünfte sich entfalten sehen.

Eleganzdetektoren

David Deutsch fragt, warum Blumen schön sind.19 Blumen haben sich entwickelt, um Insekten etwas zu signalisieren ("Ich habe Nektar für dich"), und doch finden Menschen sie schön. Warum? Deutschs Vermutung: Die Wissenslücke zwischen Blumen und Insekten ist so groß, dass das Signal schwer zu fälschen sein muss, und am einfachsten sendet man ein schwer fälschbares Signal über eine so große Lücke mit objektiven Maßstäben der Schönheit. Und wir erkennen sie, weil wir vor demselben Problem stehen: An Wissen und schöpferischer Eigenart ist ein Mensch wie eine Art. Menschliche Künstler signalisieren also über eine Lücke derselben Größenordnung. Die Theorie dieser objektiven Schönheit ist noch nicht geschrieben.

Ein Künstler schafft Wissen, kommt der Wahrheit näher, durch Vermutung und Kritik, Version um Version eines Werks. Kunst und Design sind ein Dialog des Künstlers mit dem Werk [Glanville].20 Beethovens Skizzenbücher sind voller verworfener Fassungen, und das sind wirklich falsche Fassungen einer Sinfonie.

Eleganz ist ein Kriterium für gute wissenschaftliche Theorien und für mathematische Beweise. Schönheit und Wahrheit hängen irgendwie zusammen. Warum? Das macht Eleganz zu einem subtilen, aber irgendwie offensichtlichen Problem, einem der Probleme. Die fehlende Theorie der Eleganz sollte Erkenntnistheorie, Wissenschaft und Kunst vereinen, und sie scheint mit Kreativität, Personsein, Bewusstsein und AGI zusammenzuhängen.

Also sollte das menschliche Gehirn Adaptationen haben: Eleganzdetektoren. Vielleicht spielen sie eine zentrale Rolle in der Ad-hoc-Erkenntnistheorie des Gehirns.

Meine Vermutung, aufbauend auf Braitenbergs Zellverbänden: Eine Idee ist für das Gehirn elegant, wenn sie viel mit wenig Aktivität erklärt, mit wenigen neuronalen Ensembles. Wenn das Gehirn eine gute, passende Idee findet, würde die Gesamtaktivität plötzlich steigen, selbst wo die Erregbarkeit niedrig ist. Ein Gedankenblitz.

Vielleicht ist das auch die biologische Grundlage von Humor. Es wäre sinnvoll, Eleganzdetektoren entwickelt zu haben, die vorhandene Schaltkreise wiederverwenden und die neuronalen Netze mit einer Art Belohnungssignal trainieren.

Aristotelische Physik ist ein Marshmallow. Sie zerlegt die Welt nicht an ihren Gelenken, sie ist eine Liste von Sonderfällen: Der natürliche Ort von Steinen ist der Boden, also sinken sie im Wasser; der natürliche Ort von Holz ist über dem Wasser. Dagegen die Newton'sche Physik: wenige einfache Größen (Kraft, Masse, Beschleunigung), die eine riesige Menge erklären.

Schmetterlinge

Schmetterlinge sind die Blumen des Tierreichs.

Valentino Braitenberg, Information: der Geist in der Natur.21

Literatur

Fußnoten:

1

Quote Investigator: Clare Boothe Luce, Stuffed Shirts (1931), "the height of sophistication is simplicity"; der genaue Wortlaut in Druck ab den 1950ern; Apple-II-Broschüre, 1977. Die früheste Leonardo-Zuschreibung, die Quote Investigator gefunden hat, stammt von 2000.

2

Stuart Halloway, Simplicity Ain't Easy, und später Evident Code at Scale. Die Idee greift C.A.R. Hoares Turing-Vortrag von 1980 auf: Designs, "so simple that there are obviously no deficiencies", gegenüber Designs mit "no obvious deficiencies".

3

David Deutsch, Der Anfang der Unendlichkeit (2011): Menschen sind universelle Erklärer, fähig, jede Erklärung zu erschaffen, die sich erschaffen lässt. Die Anwendung auf Eleganz ist meine eigene.

4

David Deutsch, Creative blocks, Aeon (2012): Eine AGI ist ein Programm für Kreativität, und sie entsteht nicht durch Feintuning enger KI.

5

Neal Stephenson, The Diamond Age, or, A Young Lady's Illustrated Primer (1995), Teil eins.

6

Vitruv, De architectura I.3.2; "durability, convenience, and beauty" in Morgans Übersetzung von 1914. Berühmt ist Henry Wottons Paraphrase von 1624, "commodity, firmness, and delight". Text.

7

Leibniz, Metaphysische Abhandlung (1686), §6. Bennetts Übersetzung schreibt "simplest in general rules".

8

Leibniz, Monadologie (1714), §33: vérités de raisonnement und vérités de fait.

9

David Deutsch, Constructor theory, Synthese 190 (2013); Deutsch und Marletto, Constructor theory of information, Proc. R. Soc. A (2015). Eine Aufgabe gilt als möglich, wenn ein Konstruktor sie beliebig genau ausführen kann und dabei die Fähigkeit behält, es wieder zu tun.

10

Richard Dawkins, Der blinde Uhrmacher (1986), Kap. 3, über kumulative Selektion; und The evolution of evolvability (1989), darüber, wie die Embryonalentwicklung begrenzt, welche Varianten entstehen können.

11

Chiara Marletto, Constructor theory of life, J. R. Soc. Interface (2015).

12

Leibniz, Metaphysische Abhandlung §6; Hermann Weyl, The Open World (1932). Gregory Chaitin fand die Stelle über Weyl und liest sie als frühe Form der algorithmischen Informationstheorie: Chaitin, "Leibniz, Information, Math and Physics".

13

François Chollet, Keynote auf der AGI-24 und It's Not About Scale, It's About Abstraction (MLST, 2024).

14

Jürgen Schmidhuber, Low-Complexity Art, Leonardo (1997); Driven by Compression Progress (2009): Schönheit relativ zum Kompressor des Beobachters, Interessantheit als Fortschritt beim Komprimieren.

15

Max Tegmark, Is "the theory of everything" merely the ultimate ensemble theory? (1998), und The Mathematical Universe (2008), das den Punkt Schmidhuber zuschreibt.

16

David Deutsch, Constructor Theory, Synthese (2013), §2.8: "Different laws of physics would in general make different functions computable… They could also make different physical states and transformations simple – which determines which computational tasks are tractable." Englisch: the mathematicians' misconception.

17

Gregory Chaitin, Proving Darwin: Making Biology Mathematical (2012). Seine Metabiologie modelliert Evolution als unbegrenzte Kreativität, statt als Füllen eines Genoms mit Information über die Umwelt, bis es stagniert.

18

Rich Hickey, The Value of Values, JaxConf 2012: "we're moving into what I would like to call The Space Age", Speicher und Festplatten sind "a millionfold" gewachsen (Transkript).

19

David Deutsch, The Beginning of Infinity (2011), Kap. 14, "Why Are Flowers Beautiful?": "the easiest way to signal across such a gap with hard-to-forge patterns […] is to use objective standards of beauty"; und "a human being, in terms of knowledge content and creative individuality, is like a species". Dazu sein Vortrag.

20

Ranulph Glanville, "Try again. Fail again. Fail better: the cybernetics in design and the design in cybernetics", Kybernetes 36 (2007), aufbauend auf Pasks Konversationstheorie; dazu seine RSD3-Keynote (2014).

21

Valentino Braitenberg, Information: der Geist in der Natur (Schattauer).


Generiert von Claude im Auftrag von Benjamin Schwerdtner.

Datum: 2025-06-19 Thu 18:20

Email: Benjamin.Schwerdtner@gmail.com

About
Contact