Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

04.05.1990 - 

Zufall und Notwendigkeit im Rechner

Computer könnten die Wege der menschlichen Evolution nutzen

Die Entwickler neuer Technologien sind auf "Trial and Error" als anfängliche Arbeitsstrategie angewiesen. Nur so können sie die Parameter identifizieren, die Einfluß nehmen auf Gestalt und Funktion des betreffenden Gegenstandes. Im Grunde geschieht nichts anderes, wenn im Rahmen der Evolution sich Arten entwickeln und spezialisieren oder - im Falle "Error" - aussterben.

Daß man mit einem Vorgehen nach dem Muster der Evolution auch in der Welt der Technik immer bessere, neuartige Formen finden kann, ist spätestens seit jenen berühmt gewordenen Experimenten bekannt, bei denen Flugzeugkonstrukteure von einer rohen Grund-Tragflächenform ausgingen, jene zufallsgesteuert leichten Modifikationen beziehungsweise "Mutationen" unterwarfen und dann den Windkanal im Zuge einer "Selektion" darüber entscheiden ließen, welche der durch diese Variationen neu entstandenen Formen die aerodynamisch besten Ergebnisse erzielte. Jene wurden dann erneut als Ausgangspunkte für eine weitere Runde von Variation beziehungsweise Mutation und Selektion herangezogen - und mit der Zeit bildete sich so eine Form heraus, über die festgestellt werden konnte: Sie ist nahezu ideal.

Die Leistungsfähigkeit der Evolution in der Biologie beziehungsweise in diesem Konstruktionsexperiment vor Augen, ist es nun nicht mehr überraschend, wenn man von Versuchen hört, technische Strukturen wie beispielsweise digitalelektronische Schaltungen nach ähnlichen Prinzipien reifen zu lassen, von Versuchen also, bei denen eine ganze Reihe einzelner Schaltungen zugrunde liegt, die jeweils aus ein paar Kondensatoren, Widerständen, Spulen, Transistoren und so weiter bestehen. Hiermit entscheidet in der skizzierten, iterativen Vorgehensweise dann immer wieder ein Experiment darüber, welche dieser Strukturen aussterben müssen und welche sich - leicht modifiziert - "fortpflanzen" und eventuell höher entwickeln dürfen.

So wie bei den noch primitiven und an konkrete Versuchsbauten gebundenen Experimenten der evolutiv vorgehenden Aerodynamiker gehen auch heute Fachleute vor, wollen sie etwa ein Triebwerk oder eine strömungsgünstige Karosserie entwickeln. Es ist nur natürlich, daß heute nicht mehr einzelne Flügelprofile gebaut und im Windkanal getestet werden, sondern daß man sowohl dieses Testen, das praktisch die Selektion im Sinne Darwins nachahmt, als auch das unter Modifikationen sich vollziehende Vererben der Eigenschaften der jeweils einen solchen Zyklus oder eine Generation überlebenden Strukturen einfach in einem Computer ablaufen läßt. Dieser ist schließlich bestens geeignet, sowohl ein selektierendes Testlabor als auch die Prozesse bei der Vererbung genetischer Anlagen einschließlich der dabei wirkenden Variations- und Mutationsprozesse zu simulieren .

Im Computerversuch sind also zunächst verschiedene Ausgangsstrukturen zu erzeugen und dann zu testen; die besten davon werden dann sozusagen "gekreuzt"; in ähnlicher Weise also, wie etwa Pferdezüchter dies tun. Aus diesen Kreuzungen entstehen wiederum Strukturen, die teils unbrauchbar sein dürften, oftmals aber besser als ihre beiden Elternteile sein werden, und mit denen das Spiel dann von neuem beginnen kann. Somit hat man die Chance, durch diese Art von "genetischen Algorithmen" Strukturen heranzuzüchten, die der gegebenen Aufgabenstellung optimal gerecht werden.

Das computerinterne Nachspielen der Wirkungsweise von "Zufall und Notwendigkeit" - um hier das berühmte Werk des Franzosen Jacques Monod zu zitieren - ist jedoch nicht allein auf Experimente beschränkt, die Flugzeugflügel, Triebwerke oder auch komplizierte Fahrpläne verbessern sollen. Ebensogut müßten sich auf diesem Wege innovative Computerschaltungen und -programme heranzüchten lassen.

Nur auf den ersten, unkundigen Blick erscheint diese Idee völlig neu, vielleicht sogar weit hergeholt. Tatsächlich jedoch ist das Konzept der evolutiv arbeitenden, genetischen Algorithmen eine Erfindung aus den sechziger Jahren; als ihr geistiger Vater gilt John H. Holland von der Universität Michigan in Ann Arbor. Holland hatte vor gut einem Vierteljahrhundert bereits das verwandte Gebiet der selbst lernenden Rechner vor Augen - ein Feld, das im Zeichen der modernen KI-Technik und nicht zuletzt mit Blick auf sozusagen "lernende" neuronale Netze heute aktueller ist denn je.

Die Kunst, genetische Algorithmen zu entwickeln und sinnvoll einzusetzen, hat sich nach Hollands anfänglichen Vorschlägen zunächst eher langsam und zögernd entwickelt. Sie ist aber in letzter Zeit vor allem wegen ihrer Flexibilität und Vielseitigkeit beim Entwerfen komplexer Systeme sowie beim Finden nahezu perfekter Lösungen typischer Optimierungsprobleme mehr und mehr ins Zentrum des Interesses vorgedrungen. Heute dient sie teilweise bereits zum Entwerfen integrierter Schaltungen, zur Planung der Arbeitsabläufe in einer Fabrik, zur Steuerung von Pipeline-Pumpstationen oder zur Mustererkennung. Der Ingenieur David E. Goldberg von der Alabama-Universität in Tuscaloosa stellt fest, sie biete über ein breites Spektrum unterschiedlicher Anwendungsbereiche schon ein recht ordentliches Maß an Effizienz.

Will nun beispielsweise jemand einen genetischen Algorithmus einsetzen, um mit seiner Hilfe einen neuen Chip zu entwerfen, so beschreibt er zunächst alle wesentlichen Bestandteile der Schaltung in computercodierter Form und bildet daraus eine einzige lange Zeichenkette von Binärsymbolen. Diese gibt fortan sozusagen das Chromosom ab, das der simulierten Evolution ausgesetzt werden soll. Zur Erinnerung: Auch in biologischen Systemen bestimmen die in den Chromosomen präsenten Ketten der vier verschiedenen Typen von Einzelbausteinen, was für Eigenschaften beispielsweise die betreffende Amöbe - oder auch der Mensch - hat.

Der Apfel fällt nicht allzuweit vom Stamm

Feine Änderungen dieser Chromosomen infolge mutations- und kreuzungsbedingter Einwirkungen sorgen in der Natur dafür, daß der Sohn dem Vater zwar nie ganz gleicht, der Apfel aber auch nicht allzuweit vom Stamm fällt.

So, wie man Chromosomen logisch in einzelne Gene aufgliedern kann, bilden einzelne Gruppen von Symbolen in der Zeichenkette, die den entstehenden Chip beschreibt, eine Art von Genen. Doch beschreiben diese "Gene" nicht etwa die Farbe der Haare oder die Form des Kopfes, sondern die einzelnen Baugruppen innerhalb der Konstruktion, also etwa Register, Addierwerke etc. Indem im Zuge der simulierten Erb- und Mutationsmechanismen nun immer wieder einzelne Gene gegen andere ausgetauscht werden, entstehen ständig neue Schaltungskonzepte, die auf ihre Funktionstauglichkeit zu untersuchen sind.

Durch diese wiederholte Selektion der besten aus jeder "Generation" von Chip Entwürfen umgeht man die Gefahr, infolge der bekannten kombinatorischen Explosion Unmassen von Varianten ewig testen zu müssen, um sämtliche denkbaren Kombinationen von Schaltungsteilen auszuprobieren. Es besteht zwar die Gefahr, nicht die optimale, sondern nur irgendeine "gute" Lösung zu erreichen, aber immerhin ergibt sich meistens in relativ kurzer Zeit eine brauchbare Lösung.

Die Effizienz wurde zweifelsfrei nachgewiesen

Inzwischen konnte die Technik der genetischen Algorithmen, die - von Evolutionslaien - lange Zeit gern als einfache "Zufalls-Suche" abgetan wurde, nicht nur in praktischen Versuchen ihre Tauglichkeit demonstrieren. Altmeister Holland hat inzwischen auch das Kunststück fertiggebracht, ihr eine feste logisch-mathematische Grundlage zu geben, die ihre Effizienz zweifelsfrei erkennen läßt. Zur weiteren Verbesserung dieser Technik hat man inzwischen auch noch einen besonderen Mutationsmechanismus entwickelt, der zufallsbedingt das eine oder andere Bit in der Bitkette des Chromosoms ändert. Diese Zufallskomponente bewahrt den genetischen Algorithmus meistens davor, infolge ungünstig gewählter "Eltern" sozusagen in einer evolutiven Sackgasse zu enden und beim blinden Probieren weitaus bessere Entwicklungsmöglichkeiten glatt zu verfehlen .

Weit mehr Bedeutung als diesem Mutationsmechanismus kommt in der Praxis der genetischen Evolution künstlich-technischer Strukturen indes einem anderen, auch in der Natur höchst wichtigen Konzept zu: dem der genetischen Rekombination. Es sorgt dafür, daß das aus Einsen und Nullen bestehende "Chromosom" immer wieder aufgespaltet wird und dann aus den Segmenten V...V und v...v sowie den Segmenten M...M und m...m, die zuvor die beiden Vater- beziehungsweise Mutterchromosomen V...Vv...v sowie M...Mm...m bildeten, neue Kinderchromosomen der Gestalt V...Vm...m und M...Mv...v gebildet werden. M, m, V und v stehen jeweils für einzelne Bits des Chromosoms, was man sich - wie in der Abbildung gezeigt - so verdeutlichen kann.

wird fortgesetzt

Nach heutigem Verständnis der Biologie sind alle Lebewesen einschließlich der Menschen Produkte der Evolution, eines Vorgangs also, bei dem zufällig entstandene Strukturen dann überleben und ihre Eigenschaften zusammen mit immer wieder neuen, mutationsbedingten Abweichungen vererben konnten, wenn sie in die jeweilige Umwelt paßten. Zum Überleben untaugliche, unangepaßte Individuen beziehungsweise Arten starben dagegen früher oder später aus. - Doch warum sollten diese Evolutionsmechanismen nicht auch im Bereich der Technik und insbesondere in der Entwicklung neuer Generationen von Computern und Computerprogrammen hohen Nutzen versprechen? - Egon Schmidt befaßt sich mit den bisher vorliegenden Forschungs- und Arbeitsergebnissen der genetisch-evolutiven Computerprogrammierung in einer Serie, die in diesem Heft beginnt.