Künstliche Immunsysteme 8. Seite 107 Anwendungen von AIS 8.1. Autonome Navigation 8.1.1. Problembeschreibung Das Szenario für die Entwicklung eines AIS zur Robotersteuerung ist wie folgt: Ein Roboter muss Abfall einsammeln, der an beliebigen Stellen in einer Umgebung verstreut sein kann, und ihn in einer Tonne ablegen. Dabei muss er sein Energieniveau kontrollieren und darauf achten, dass es nicht auf Null absinkt. Er kann zu einer Ladestation (Basis) fahren, um Energie aufzunehmen. Der Roboter besitzt einige Sensoren, mit denen er Informationen aus der Umwelt aufnehmen kann, z.B. die Entfernung vom Abfall und von seiner Basis. Zu Beginn verfügt er über ein bestimmtes Energieniveau. Das Szenario ist in Abbildung 8.1 dargestellt. Abbildung 8.1 Zur Kontrolle des Energieniveaus werden vier Parameter verwendet: 1. 2. 3. 4. Das Energieniveau beim vorherigen Schritt E(t – 1); Der Energieverbrauch bei jedem Schritt Em; Der zusätzliche Energieverbrauch beim Transport von Abfall Eg; Der Energieverlust, wenn der Roboter mit einem Hindernis zusammenstößt, z.B. Abfall oder Wand, Ec. Das Energieniveau des Roboters bei jedem Schritt wird mittels folgender Gleichung berechnet: E t E t 1 E m k1 E g k 2 Ec Die Konstanten k1 und k2 werden durch folgende Vorschrift berechnet: Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme 1 k1 0 1 k2 0 Seite 108 falls der Roboter Abfall transporti ert sonst falls der Roboter mit einem Hindernis zusammenst ößt sonst 8.1.2. Entwurf des AIS Die Modellierung des Szenarios als AIS basiert auf dem Netzwerk-Modell von Farmer und Kollegen. Es wurde so modifiziert, dass die Zahl der Antikörper im Netzwerk gesteuert werden konnte. Eine Sigmoidfunktion garantierte die Stabilität der Zahl. Außerdem wurde die Netzwerksensitivität jedes Antikörpers durch eine Gleichung bestimmt, die ähnlich zu der von Varela und Coutinho eingeführten ist. Mit dieser Gleichung wurde die Metadynamik des Systems realisiert. Der Roboter erhält Eingabesignale aus der Umgebung (wozu auch das interne Energieniveau gezählt wird) und erzeugt daraus eine Zustandsbeschreibung, die eventuell zum Bedingungsteil einer Regel passt. Ist das der Fall, dann führt er die Aktion im Aktionsteil der Regel aus. Trifft die Zustandsbeschreibung auf mehrere Regeln zu, muss eine ausgewählt werden. Immunkomponenten Das AIS zur Steuerung des Roboters besteht aus Antigenen und Antikörpern. Die Antigene repräsentieren den aktuellen Zustand des Roboters wie er von den Sensoren geliefert wird. Jedes Antigen besteht aus vier Attributen, von denen jedes eine kleine Wertemenge besitzt. Zusammengenommen beschreiben sie den Zustand des Roboters in seiner Umgebung (einschließlich Energieniveau). Die Attribute und ihre Werte sind in Tabelle 8.1 dargestellt. Attributname Richtung von Abfall Richtung eines Hindernisses Ort der Basis (Ladestation) Energieniveau Werte F (front), R (right), L (left), N (none), H (in hand) F (front), R (right), L (left), N (none) F (front), R (right), L (left), N (none), Nr (near), Md (middle), Fr (far) Hi (high), Lo (low) Tabelle 8.1 Die Antikörper beschreiben ein vordefiniertes Verhalten des Roboters und haben im Wesentlichen die Form von Regeln, bestehend aus drei Teilen, wie in Abbildung 8.2 dargestellt. Paratop Bedingung Aktion Idiotop ID, m i,j Abbildung 8.2 Die Antikörper sind Elemente eines symbolischen Formenraums. Die drei Komponenten eines Antikörpers sind wie folgt definiert: 1. Zustand oder Bedingung: Dies ist eine Information im Paratop des Antikörpers, die mit einer Aktion verknüpft ist. Sie hat die gleiche Struktur wie die Antigene. 2. Aktion: Eine Reaktion auf den gegebenen Zustand. Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 109 3. ID-Nummer und Stimulation: Gibt an, mit welchem Antikörper des Netzwerks der Antikörper interagiert und zu welchem Grad. Es gibt sechs verschiedene Aktionen: F (move forward), R (turn right), L (turn left), Sh (search for home base), C (catch garbage) und E (explore). Das Paratop des Antikörpers besteht aus Bedingungs-/Aktionsregeln, das Idiotop enthält die ID-Nummer eines anderen Antikörpers, der von dem jeweiligen Antikörper stimuliert wird, sowie das Stimulationsniveau mi,j. Netzstruktur Die Dynamik des Systems beruht auf einem Match-Prozess zwischen dem aktuellen Zustand des Roboters (Antigen) und einer Menge für den Roboter auf Grund seiner Antikörper möglichen Zustände, die ihrerseits mit bestimmten Aktionen verknüpft sind. Mittels des Idiotops ist jeder Antikörper mit einem anderen Antikörper verbunden, so dass insgesamt eine netzartige Struktur entsteht. Abbildung 8.3 illustriert einen Ausschnitt aus dem Netz mit vier Antikörpern. Ag1 Home base left Ag2 Garbage right Ag3 Energy level low Ag4 Energy level high Ak1 Home base left Turn left 4 Ak2 Garbage right Turn right 3 Ak3 Energy level low Search for home base 1 Ak4 Energy level high Move forward 2 Stimulation Hemmung Abbildung 8.3 In Abbildung 8.3 matcht jedes Antigen den Bedingungsteil des Paratops genau eines Antikörpers und die Antikörper interagieren untereinander. Die Paratope binden an die Idiotope anderer Antikörper, in diesem Sinn erkennen die Antikörper andere. Dies ist durch die Nummer im Idiotop des erkannten Antikörpers angedeutet; in der Abbildung wird dies noch durch die Kanten unterstützt. Zum Beispiel Antikörper Ak1 erkennt Antikörper Ak3, er wird daher durch Ak3 stimuliert, während Ak3 durch Ak1 gehemmt wird. Dynamik Wenn Antikörper ein Antigen erkannt haben, konkurrieren diejenigen mit einer Mindestaffinität zum Antigen untereinander um die Auswahl eines Antikörpers dessen Aktion durch den Roboter ausgeführt werden soll. Die Konkurrenz erfolgt auf Grund der Konzentrationen der ausgewählten Antikörper, und diese hängt von ihrer Affinität zum Antigen und zu anderen Antikörpern ab. Sind N Antikörper mit den Konzentrationen ci, i = 1, ..., N gegeben, dann werden die Veränderungen in den Konzentrationen durch die folgende Differentialgleichung gesteuert: N N dci m j ,i ci c j k3 mi ,k ci ck k 4 mi ci k5 ci dt j 1 k 1 (8.1) Die mj,i entsprechen den Affinitäten zwischen Akj und Aki und die mi den Affinitäten zwischen Aki und dem Antigen. Der erste Teilausdruck der Gleichung repräsentiert die Stimulation des Paratops von Aki durch das Idiotop von Akj. Der zweite Teilausdruck repräsentiert die Hemmung von Aki wenn sein Idiotop von dem Paratop von Akk erkannt wird. Der dritte Teilausdruck entspricht der Antikörper-Stimulation durch das Antigen und der letzte drückt die Tendenz der Antikörper zum Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 110 Sterben bei Fehlen von Interaktion aus. k3 ist eine positive Konstante, die ein mögliches Ungleichgewicht zwischen Stimulation und Hemmung repräsentieren soll, k4 gewichtet den Einfluss der antigenen Erkennung auf das gesamte Netzwerkverhalten und k5 quantifiziert die Todesrate nicht stimulierter Antikörper. Um die Konzentration der Antikörper stabil zu halten, wird der Wert durch eine Glättungsfunktion vermindert: ci 1 1 exp( 0.5 ci ) Die Auswahl des besten Antikörpers wird schließlich mittels eines Rouletterad-Algorithmus durchgeführt. Anpassung der Idiotope Damit Gleichung (8.1) ausgewertet werden kann, müssen die Werte in den Idiotopen aller Antikörper bestimmt werden. Dazu werden die Anfangswerte auf 0 gesetzt und dann online angepasst durch Reinforcement-Signale. Es gibt zwei Arten solcher Signale, nämlich Belohnung und Strafe, die jeweils in zwei verschiedenen Situationen gegeben werden: Belohnung: Der Roboter lädt sich auf, wenn sein Energieniveau niedrig ist. Der Roboter sammelt Abfall, wenn sein Energieniveau hoch ist. Strafe: Der Roboter sammelt Abfall, wenn sein Energieniveau niedrig ist. Der Roboter stößt an ein Hindernis. Der Verlauf der online-Anpassung der Idiotop-Werte ist folgender: Angenommen, zwei Antigene matchen den Bedingungsteil zweier Antikörper Aki und Akj, deren Idiotop noch unspezifiziert ist. In dieser Situation wird einer der beiden Antikörper, etwa Aki, zufällig ausgewählt und er erhält ein Reinforcement-Signal abhängig vom Ergebnis seiner Aktion. Die Anpassung der Idiotop-Werte wird dann wie folgt vorgenommen: Ist das Signal eine Belohnung, dann wird die ID-Nummer von Aki, also i, in das Idiotop von Akj eingetragen und die Affinität mj,i von Akj mit Aki wird erhöht. Ist das Signal eine Strafe, dann wird die ID-Nummer von Akj, also j, in das Idiotop von Aki eingetragen und die Affinität mi,j von Aki mit Akj wird erhöht. Eine erhöhte Affinität eines Antikörpers zu einem Antigen veranlasst den Roboter diesen Antikörper auszuwählen, wenn dasselbe oder ein ähnliches Antigen erscheint. Die Modifikation der Affinität erfolgt nach der folgenden Gleichung: mi , j T pAki Tr Ak j TAkAkji T pAki drückt aus, wie oft der Antikörper Aki eine Strafe (penalty) erhält, Tr Ak j wie oft er eine Beloh- nung erhält, und T AkAkji wie oft beide Antikörper, Aki und Akj, durch ihre jeweiligen Antigene aktiviert werden. Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 111 Metadynamik Mit Hilfe eines Knochenmarkmodells können Mengen von Antikörpern durch genetische Rekombination zufallsgesteuert erzeugt werden. Dazu gibt man eine Menge von Bedingungen und eine Menge von Aktionen vor und kombiniert sie in unterschiedlicher Weise zu Bedingungs-/Aktionsregeln, die die Paratope der Antikörper bilden. Die erzeugten Antikörper werden einem Selektionsprozess unterworfen und ein Teil von ihnen wird in das Netzwerk eingefügt, die anderen sterben ab. Um dies zu entscheiden wird das Sensitivitätsniveau der neuen Antikörper berechnet. Dazu werden zunächst die folgenden Werte bestimmt: N i m j ,i c j j 1 N i mi , j c j j 1 Hierbei ist i die Summe der Stimulationen von Aki durch das Netzwerk und i die Summe der Hemmungen von Aki durch das Netzwerk. Aus den beiden Werten für die Stimulation und Hemmung wird die Sensitivität als Betrag der Differenz bestimmt, also |i - i|. Derjenige von den neu erzeugten Antikörpern mit dem höchsten Sensitivitätswert wird in das Netz eingefügt, die anderen werden verworfen. Im Sinne der Metadynamik müssen auch unbrauchbare Antikörper ausgesondert werden. Antikörper werden als unbrauchbar eingestuft, wenn sie nie ausgewählt werden oder eine große Zahl von Strafsignalen bekommen. Ihre Konzentration wird nach folgender Gleichung vermindert: dci k 6 ci k 7 ci dt (8.2) Hierbei ist k7 ein Auflösungsfaktor, ci ist die Veränderung der Konzentration von ci von der vorletzten zur letzten Iteration und k6 ist definiert durch 1 falls der Antikörper ausgewählt und bestraft wird k 6 0 falls der Antikörper nicht ausgewählt wird 1 falls der Antikörper ausgewählt und belohnt wird Die Gleichung (8.2) repräsentiert auch das Altern eines Antikörpers. Wenn er nie ausgewählt wird, tendiert er dazu zu sterben, weil seine Konzentration iterativ vermindert wird. Wenn er ständig bestraft wird, stirbt er noch schneller. Nur wenn er Belohnung bekommt, wird seine Lebensspanne vergrößert. Der Antikörper wird aus dem Netzwerk entfernt wenn seine Konzentration unter einen bestimmten Schwellenwert sinkt. 8.1.3. Experimentelle Ergebnisse Das AIS wurde mit einem Khepera-Roboter erprobt. Der Roboter hat einen Greifer zum Sammeln des Abfalls, er hat 8 Infrarot-Entfernungssensoren, 8 Photosensoren und eine CCD-Farbkamera. Die Infrarotsensoren können Abfall oder eine Wand in ihrer entsprechenden Richtung entdecken, die Photosensoren können die Richtung einer elektrischen Glühbirne entdecken, die die Heimatbasis bezeichnet. Die CCD-Kamera stellt die aktuelle Position des Roboters fest und liefert ihm Informationen über seine Entfernung von der Heimatbasis. Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 112 24 Antikörper wurden vorab definiert mit Werten für das Paratop und das Idiotop. Der Roboter startet mit maximalem Energieniveau 1000 und mit den Werten Em = 1, Eg = 3 und Ec = 5 für die Energieparameter, d.h. eine Kollision bringt einen höheren Energieverlust als das Tragen von Abfall. Als typisches Verhalten des Roboters wurde beobachtet, dass er Abfall sammelt und zur Heimatbasis bringt, so lange sein Energieniveau hoch genug ist. Wenn es niedrig wird, dann tendiert der Roboter dazu, einen Antikörper auszuwählen, dessen Aktionsteil go to home base oder search for home base heißt. Ist er an der Ladestation und hat sich wieder aufgeladen, dann beginnt er wieder mit der Untersuchung der Umgebung. 8.1.4. Bewertung Die Dynamik des Systems beruht auf dem Match zwischen dem aktuellen Zustand des Roboters (Antigen) und seinen Antikörpern. Diese sind mit bestimmten Aktionen verbunden. Deshalb liegt es nahe, das AIS mit einem gewöhnlichen regelbasierten System zu vergleichen. Der Unterschied zwischen beiden liegt in der Verwendung der Idiotope zur Verknüpfung der Regeln. Über diese Verknüpfung werden die Dynamik und die Metadynamik des Systems gesteuert. Die Idiotope kodieren somit eine Schicht höheren Wissens zur Handhabung des Regelsystems, die bei einem gewöhnlichen Regelsystem extra implementiert werden müsste. In Tabelle 8.2 sind die wichtigsten Merkmale des AIS im Vergleich zum biologischen Vorbild zusammengefasst. Immunsystem Organismus AIS Roboter Antigen Von den Sensoren eingelesener Zustand des Roboters Antikörper Bedingungs-/Aktionsregel plus eine ID-Nummer und ein Stimulationsniveau Paratop Bedingungs-/Aktionsteil eines Antikörpers Idiotop Teil eines Antikörpers mit ID-Nummer und Stimulationsniveau Netzwerkdynamik Differentialgleichungen zur Steuerung der Konzentration der Antikörper Netzwerkmetadynamik Einfügen in und entfernen von Antikörpern aus dem Netzwerk Antikörpersensitivität Stimulation und/oder Hemmung jedes Antikörper-Kandidaten für das Einfügen in das Netzwerk Antikörperauswahl Rouletterad-Verfahren auf der Antikörper-Konzentration Reifung von Antikörpern Reinforcement-Signale Tabelle 8.2 8.2. Computernetzsicherheit 8.2.1. Problembeschreibung Ein LAN soll vor Eindringlingen, die über das Netz kommen, geschützt werden. Jeder Computer im LAN hat Zugriff auf jedes Paket, das durch das LAN befördert wird. Das AIS für die Netzsicherheit hat den Zweck, den Datenverkehr durch die Verbindungen im Netz zu überwachen. Eine Verbindung ist durch ihr Datenpfadtripel definiert. Dieses besteht aus Technische Universität Chemnitz der Ursprungs-IP-Adresse, Sommersemester 2005 Künstliche Immunsysteme Seite 113 der Ziel-IP-Adresse, dem Server, über den die Verbindung läuft. Ein Schema für ein LAN ist in Abbildung 8.4 dargestellt. Broadcast LAN IP: 15.14.22.9 Port: 31 Computer Computer Data-path triple (15.14.22.9, 20.41.12.88, ftp) Computer IP: 20.41.12.88 Port: 49 Abbildung 8.4 8.2.2. Entwurf des AIS Immunkomponenten und ihre Repräsentationen Die Datenpfadtripel entsprechen den Netzverbindungen. Sie werden als binäre Strings der Länge L = 49 in einem binären Hamming-Formenraum repräsentiert. Jeder Bitstring repräsentiert eindeutig ein Tripel. Das Self wird als die Menge der Verbindungen definiert, die über einen Zeitraum weg normalerweise in dem LAN vorkommen. Das Self hängt also von der Häufigkeit ab, denn jede Verbindung, die in einem längeren Zeitraum häufig vorkommt, wird dazu gerechnet. Das Nonself ist ebenfalls eine Menge von Verbindungen, und zwar diejenigen, die normalerweise nicht im LAN vorkommen. Die Umgebung wird mittels eines Graphen G = (V, E) modelliert. Jeder Knoten des Graphen entspricht einem internen Computer des LAN, und das ganze Netz repräsentiert einen vollständig verknüpften Graphen. Die Verbindungen zwischen den Knoten werden durch die Kanten des Graphen dargestellt. Die Aufgabe des AIS ist die Unterscheidung zwischen Self und Nonself zu lernen. Das gesamte Universum U von Bitstrings der Länge 49, d.h. eine Menge mit 249 Elementen, muss dazu in zwei disjunkte Teilmengen unterteilt werden, die Self-Menge S und die Nonself-Menge N, sodass gilt U = S N und S N = . Anwendung der Immunprinzipien Die Self-Menge wird dynamisch bei der Überwachung des Netzes definiert. Dies wird von mobilen Detektoren vorgenommen, die das Self repräsentieren und Immuneigenschaften von B-Zellen, TZellen und Antikörpern kombinieren. Die Detektoren wandern beim Überwachen des Netzes entlang der Kanten von einem Knoten zum nächsten im Graphen, d.h. sie wandern von einem Computer im Netz zum nächsten. Ein Detektor wird durch einen negativen Selektionsalgorithmus erzeugt. Jeder binäre String der Länge 49, der einen Detektor repräsentiert, wird zufällig erzeugt und bleibt für eine Zeit t, der Tolerierungsperiode, im unreifen Zustand. Während dieser Periode kommt der Detektor mit der Umwelt in Berührung, in der sich Self- und Nonself-Strings befinden. Wenn die Erkennung eines Self-Strings stattfindet, wird der Detektor eliminiert. Findet keine Erkennung während der Tolerierungsperiode statt, dann wird der Detektor reif. Reife Detektoren müssen eine bestimmte Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 114 Cross-Reaktivitätsschwelle überschreiten (nach der r-Folge-Bitregel) um aktiviert zu werden. Die Aktivierung vergrößert seine Lebensspanne. Die Erkennung wird mittels der r-Folge-Bitregel quantifiziert. Ein reifer Detektor ist also eigentlich ein Nonself-Erkenner. Die Detektoren werden ständig mit den Bitstrings verglichen, welche die Datenpfadtripel repräsentieren, die den Verbindungen im Netz entsprechen. Jeder Detektor kann die Zahl der erfolgreichen Vergleiche in einem Match-Zähler m speichern, der sich im Lauf der Zeit automatisch vermindert. Damit ein Detektor aktiviert wird, muss er mindestens Strings in einer vorgegebenen Zeitspanne matchen, heißt Aktivierungsschwelle. Ist ein Detektor aktiviert, dann wird sein Match-Zähler auf Null zurückgesetzt. Ein Detektor besitzt weiterhin ein lokales Sensitivitätsniveau , um das seine Aktivierungsschwelle vermindert wird, d.h. je höher die lokale Sensitivität, desto niedriger die Aktivierungsschwelle. Auf diese Weise wird erreicht, dass sehr unterschiedliche Nonself-Strings entdeckt werden, sofern sie in kurzem Zeitabstand erscheinen. Wenn ein neues Paket (repräsentiert als Bitstring) im Netz erscheint, werden mehrere verschiedene Detektoren mit unterschiedlichen Matchgraden (nach der r-Folge-Bitregel) aktiviert. Die am besten matchenden Detektoren werden Gedächtnisdetektoren. Die Gedächtnisdetektoren bilden Kopien von sich selbst und diese werden an die Nachbarknoten im Netz verteilt. Auf diese Weise werden die Gedächtnisdetektoren über den ganzen Graphen verteilt und dadurch können Reaktionen auf diesen spezifischen Nonself-Bitstring in der Zukunft beschleunigt werden (sekundäre Reaktion). Zugleich wird die Aktivierungsschwelle der Gedächtnisdetektoren herabgesetzt, was ebenfalls die Reaktion beschleunigt. Ist ein Detektor aktiviert, dann sendet er ein Anfangssignal, das besagt, dass eine Anomalie entdeckt worden ist. Zum Auslösen einer Immunreaktion ist aber noch ein kostimulatives Signal erforderlich. Dieses muss vom menschlichen Operator gegeben werden, der dazu innerhalb einer bestimmten Zeitspanne entscheiden muss, ob die entdeckte Anomalie tatsächlich Nonself ist. Stellt der Operator dies fest, dann gibt er an den sendenden Detektor ein entsprechendes Signal zurück. Durch dieses Signal wird die Lebenszeit des Detektors erhöht und er bleibt als Gedächtnisdetektor erhalten. Bleibt das Signal des Operators aus, dann wird der Detektor eliminiert und durch einen neuen ersetzt. Abbildung 8.5 stellt den Lebenszyklus eines Detektors dar. Tolerierung Zufällig erzeugter String Erkennung nein Reifer, naiver Detektor ja Verwerfen nein Kostimulation ja Gedächtnisdetektor nein m> ja Aktivierter Detektor ja Erkennung Abbildung 8.5 Tabelle 8.3 stellt einen Vergleich zwischen den wesentlichen Elementen des Systems und ihren Gegenstücken im Immunsystem dar. Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 115 Immunsystem AIS B-Zellen, Z-Zellen, Antikörper Detektor, repräsentiert als Bitstring Gedächtniszellen Gedächtnisdetektor Antigene (Nonself-) Bitstring Bindung String Matching mit der r-Folge-Bitregel MHC Repräsentationsparameter Tolerierung Algorithmus für Negative Selektion Kostimulation: erstes Signal Zahl der Matche übersteigt die Aktivierungsschwelle Kostimulation: zweites Signal Menschlicher Operator Zellklonung Detektor-Kopie Antigene Entdeckung/Reaktion Erkennung/Reaktion auf Nonself-Bitstring Tabelle 8.3 8.2.3. Bewertung Um die Performanz des AIS zu evaluieren wurde es auf einem Teilnetz von 50 Computern an der University of New Mexico implementiert. Es wurden zwei Datenmengen erzeugt: eine Self-Menge, bestehend aus normalem Netzverkehr, und eine Nonself-Menge, bestehend aus Netzverkehr, der während des Eindringens in das Netz entstand. Die erste Menge wurde während eines Zeitraums von 50 Tagen gesammelt, während denen insgesamt 2.3 Millionen TCP-Verbindungen protokolliert wurden. Jedes Element der Menge besteht aus einem Datenpfadtripel. Aus diesen wurden 1.5 Millionen Datenpfade herausgefiltert, der Rest wurde als aus Quellen für Verkehrsrauschen bestehend betrachtet und entfernt. Aus den ausgefilterten Datenpfaden wurde eine Self-Menge aus 3900 unterschiedlichen Bitstrings der Länge L = 49 erzeugt. Die Nonself-Menge bestand nur aus sieben unterschiedlichen Fällen des Eindringens in das Netz. Für die Simulation wurden die in Tabelle 8.4 aufgelisteten Werte verwendet. Die Detektoren beginnen als unreife Detektoren und müssen die negative Selektion in der Tolerierungsphase überstehen, die 30 simulierte Tage lang dauert, d.h. es wird der in 30 Tagen anfallende Verkehr verwendet. Nach den 30 Tagen wurde das AIS mit Eindringungsereignissen getestet, diese wurden nacheinander eingegeben, jeweils durch einen Zeitpuffer getrennt, der den Self-Verkehr eines simulierten Tages darstellte. Als Ergebnis des Tests ergab sich ein über 20 Tage gemittelter Wert von 1.76 0.2 falsch positiv eingeordneten Ereignissen (Klassifizierung eines Self-Strings als Nonself). Alle sieben Eindringungsereignisse wurden richtig erkannt. Parameter Stringlänge Cross-Reaktivitätsschwelle Aktivierungsschwelle Zeitabschnitt zur Minderung der Matchzahl Zeitabschnitt zur Minderung der Sensitivität Tolerierungsphase Verzögerung der Kostimulation Lebensspanne Zahl der Detektoren pro Knoten Technische Universität Chemnitz Wert L = 49 Bits r = 12 Bits = 10 Vergleiche 1/match = 1 Tag 1/ = 0.1 Tage t = 4 Tage ts = 1 Tag 1/pdeath = 14 Tage nd = 100 Sommersemester 2005 Künstliche Immunsysteme Seite 116 Tabelle 8.4 8.3. Arbeitsplanung 8.3.1. Problembeschreibung Abweichungen vom Arbeitsplan kommen im Produktionsprozess häufig vor, aber meist sind die Situationen, die dazu führen, vorhersehbar und es gibt allgemein bekannte Methoden zu ihrer Behandlung. Deshalb kann man im praktischen Betrieb bei Vorliegen einer Abweichung auf früher erstellte vollständige oder partielle Arbeitspläne zurückgreifen und sie zur Lösung heranziehen. In diesen älteren Plänen kommen verschiedene, sich teilweise wiederholende Muster vor. Deshalb kann man aus diesen (Teil-) Plänen eine Menge gemeinsamer Muster erzeugen, aus denen man eine Bibliothek von Gensegmenten aufbauen kann, die zur Erzeugung neuer Pläne benutzt werden kann. Dieser Prozess verläuft in zwei Phasen. Für die genauere Beschreibung des AIS wird vorausgesetzt, dass j Aufträge mit unterschiedlichen Anfangs- und Endterminen und Bearbeitungszeiten auf derselben Maschine m zu planen sind. 8.3.2. Entwurf des AIS Immunkomponenten und ihre Repräsentationen Ein Antigen wird als Integerstring der Länge j (Anzahl der einzuplanenden Aufträge) in einem ganzzahligen Formenraum repräsentiert. Jede Komponente der Zeichenkette entspricht der IDNummer eines Auftrags. Ein Gensegment wird als eine Folge von l ganzen Zahlen repräsentiert mit l << j. Außerdem kann ein Gen das Platzhaltersymbol # enthalten, für das jeder Auftrag eingesetzt werden kann. Mit ihm lassen sich partielle Vergleiche zwischen den gemeinsamen Mustern schneller durchführen. Die Anfangsmenge von Genen wird zufällig erzeugt, die Aufträge dürfen sich aber nicht wiederholen. Tabelle 8.5 fasst die verwendeten Begriffe zusammen. Immunsystem Antigen AIS Folge von Aufträgen auf einer einzelnen Maschine in einem bestimmten Szenario Antigenes Universum Menge von Antigenen, die einen speziellen Plan definieren Gensegment Kurze Folge von Aufträgen, die in mehr als einem Arbeitsplan vorkommt Antikörper Arbeitsplan Matching Grad an Interaktion zwischen einem Gensegment und einem Antigen bei gegebener Affinität Match-Grad Anzahl von Matchen zwischen einem Antigen und einem Antikörpergen Tabelle 8.5 Anwendung der Immunprinzipien Für die Genbibliotheken kommt es hauptsächlich auf zwei Merkmale an, nämlich Überlappung (Cross-Reaktivität) und Redundanz (Nischenbildung). Die erste Eigenschaft dient dazu, Muster zu finden, die in möglichst vielen der Sequenzen vorkommen, die zweite Eigenschaft dazu, mehrere Teilpopulationen unterschiedlicher Gene zu pflegen, die dasselbe Antigen erkennen. Zu diesem Zweck wurde ein modifizierter Fitness-Sharing-Algorithmus verwendet. Er hat folgenden Ablauf: 1. Wähle eine Menge von Antigenen zufällig aus; Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 117 2. Wähle eine Menge von Gensegmenten zufällig aus; 3. Bestimme die Affinität jedes Gensegments in Bezug auf jedes ausgewählte Antigen. Jedes Gensegment erhält einen Matchgrad gleich der Summe der Affinitäten zu jedem Antigen; 4. Bei dem Gensegment mit dem höchsten Matchgrad wird der Matchgrad zu der Fitness addiert. Die Fitness der anderen Gensegmente bleibt unverändert; 5. Wiederhole Schritt (1) bis (4) etwa 3 mal. Die Affinität zwischen einem Gensegment und einem Antigen wird berechnet indem die beiden Strings in unterschiedlicher Weise angeordnet werden. Ist das Gensegment kürzer als das Antigen, dann wird ein Matchgrad für jede mögliche Anordnung berechnet und der höchste Wert wird als Affinität genommen. Eine mögliche Anordnung ist eine Zuordnung jedes Gens des Gensegments zu jedem Gen des Antigens bzw. eines entsprechenden Teilstücks des Antigens. Die möglichen Anordnungen sind wie in dem Modell von Farmer et al. (Abschnitt 3.4.3) zu verstehen. Der Matchgrad entspricht der Anzahl der Matche zwischen dem Gensegment und dem Antigen. Ein genauer Match ergibt den Grad 5, ein Match mit dem don’t care-Symbol ergibt den Grad 1. Auf diese Weise wird verhindert, dass sich die Gensegmente entwickeln, die nur don’t care-Symbole enthalten. Die Berechnung der Affinität ist in Abbildung 8.6 an einem Beispiel illustriert. Antigen 1 2 3 4 5 6 7 8 9 Matchgrad Gensegment 3 4 6 7 3 4 6 3 4 3 1 1 10 + 1 = 11 15 + 1 = 16 8 7 6 4 # 8 # 7 8 # 6 7 8 # Affinität Abbildung 8.6 In der zweiten Phase des Algorithmus werden aus den entwickelten Gensegmenten Antikörper, d.h. hier: Arbeitspläne, konstruiert. Angenommen, die Genbibliotheken enthalten n Gensegmente und mindestens s Gensegmente seien zur Konstruktion eines Antikörpers erforderlich. Das AIS muss nun die Gene aus den Bibliotheken zu vollständigen Arbeitsplänen kombinieren. Das AIS erhält als Eingabe eine Menge von Gensegmenten der Länge l und einen partiellen Arbeitsplan der Länge lp < j, der vervollständigt werden muss. Für die Kombination der Segmente werden die folgenden Mechanismen verwendet: Einfache Rekombination: Ein Gensegment wird zufällig aus denjenigen Bibliotheken ausgewählt, die gerade die Gensegmente enthalten, in denen jeder Auftrag noch nicht in dem bisher erstellten partiellen Plan enthalten ist; Somatische Rekombination: Ein Gensegment wird aus denjenigen ausgewählt, die mit dem partiellen Arbeitsplan überlappen. Eine Überlappung liegt vor, wenn die ersten n Aufträge im Gensegment mit den letzten n Aufträgen in dem partiellen Plan übereinstimmen, wobei n l, und die restlichen (l – n) Aufträge des Gensegments nicht in dem partiellen Plan vorkommen. Der partielle Plan wird durch diese Operation um (l – n) Aufträge erweitert; Hinzufügen eines einzelnen Auftrags: Ein einzelner Auftrag wird aus der Menge aller Aufträge ausgewählt, die nicht in einem der beim Aufbau der Genbibliotheken entstandenen Gensegmente enthalten sind, und an das Ende des partiellen Plans angefügt. Auf diese Weise kann ein vollständiger Plan erzeugt werden auch wenn es von einem Auftrag keine Instanz in den Genbibliotheken gibt. Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 118 8.3.3. Bewertung Aus einem Planungsproblem mit 15 Aufträgen wurden zehn Testszenarien erzeugt. Alle Aufträge hatten unterschiedliche Starttermine, Endtermine und Bearbeitungszeiten. Das Ziel war, die maximale Verspätung eines Auftrags, Tmax, zu minimieren. Die Testszenarien wurden dadurch erzeugt, dass ein Mutationsoperator mit Wahrscheinlichkeit 0.2 auf jeden Starttermin in dem Ausgangsproblem angewendet wurde. Der Operator ändert den Starttermin zufällig, aber so, dass der neue Starttermin mindestens pt Tage vor dem Endtermin liegt, wobei pt die Bearbeitungszeit des Auftrags ist. Die Entwicklung der Genbibliotheken erfolgte mittels eines genetischen Algorithmus auf der Basis des Algorithmus GENESIS. Zur Rekombination der Gensegmente wurde einer von drei CrossoverOperatoren verwendet, abhängig von der Relation zwischen zwei Eltern-Gensegmenten: Ordnungsbasiertes Crossover: Wird verwendet, wenn die Eltern Permutationen voneinander sind; 2-Punkt-Crossover: Wird verwendet, wenn die Eltern keine Gene mit Ausnahme des don’t careSymbols gemeinsam haben und sich von einem zufällig gewählten Segment unterscheiden; Überlappungs-Crossover: Wird verwendet, wenn einer der Eltern den anderen überlappt, d.h. einen gemeinsamen Bereich mit ihm hat. Dann werden die übereinstimmenden Bereiche der Eltern zueinander angeordnet und von der am weitesten links gelegenen Position an gelesen. Wenn nur einer der Eltern ein Gen an einer bestimmten Position hat, dann wird dieses für den Nachkommen verwendet, andernfalls wird zufällig eines von den beiden Eltern gewählt. Dies wird so lange gemacht, bis der Nachkomme die richtige Länge hat. Der Operator ist in Abbildung 8.7 illustriert. 3 4 6 7 8 Eltern 3 4 6 7 8 5 Eltern 3 4 6 7 8 1 Nachkomme 3 2 6 7 8 1 Nachkomme 4 6 7 8 1 2 5 7 8 1 Abbildung 8.7 Auf jedes Gensegment eines Nachkommen wird noch ein Mutationsoperator angewendet, und zwar wird es mit Wahrscheinlichkeit 1/l zufällig mutiert. Bei einer Population von 100 Gensegmenten der Länge l = 5 Aufträge ergibt dies eine Mutationsrate von 0.2. Die Crossover-Rate wurde auf 0.7 gesetzt. Mittels eines genetischen Algorithmus wurde für jedes der zehn Szenarien ein Arbeitsplan entwickelt und die so erhaltenen Auftragsfolgen wurden als Antigene verwendet. Die Antigene hatten die Länge 15, die Gensegmente die Länge 5. Es wurden Experimente mit fünf Maschinen durchgeführt. Es sollten günstige Werte für drei Hauptparameter bestimmt werden: Die Größe der Gensegmentmengen, die Größe der Antigenmenge und die Länge l der Gensegmente. Der Begriff der Bindung zwischen einem Gensegment und einem Antigen wird wie folgt definiert: Ein Gensegment und ein Antigen binden, wenn die Zahl der Gene ungleich dem don’t care-Symbol, in denen die beiden übereinstimmen, größer oder gleich einem Schwellenwert tm ist. Die Untersuchung der erhaltenen Population von Gensegmenten ergab, dass die Zahl der Muster, die Nischen von Gensegmenten entspricht, abnimmt, wenn steigt, und steigt, wenn abnimmt. Für hohe Werte von bleibt eine große Zahl von Antigenen ungebunden. Werden die drei Parameter geeignet gesetzt, dann kann eine Menge eindeutig bestimmter Gensegmente entwickelt werden, Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 119 die an mindestens ein Antigen binden können. Um den Überlappungsgrad der in den Bibliotheken enthaltenen Gensegmente zu quantifizieren wurde die Anzahl der Antigene, die von jedem Gensegment erkannt werden, bestimmt. Die brauchbarste Genbibliothek enthielt Segmente mit einem hohen Maß an allgemeinen Charakteristiken, d.h. jedes Gensegment erkennt mehr als ein Antigen. Auch wurden mehr Antigene erkannt bei hohen Werten von . In der zweiten Phase des Algorithmus werden an den partiellen Arbeitsplan (kann am Anfang leer sein) so lange Gensegmente angefügt, bis er ein vollständiger Antikörper wird oder nicht mehr durch zusätzliche Gensegmente erweitert werden kann. Die Erweiterungen erfolgen mit Wahrscheinlichkeit pr für die einfache Rekombination, mit Wahrscheinlichkeit psr für die somatische Rekombination und mit Wahrscheinlichkeit pa für das Hinzufügen einzelner Aufträge. Für verschiedene Längen lp der partiellen Pläne und bei 10 Plänen konnte ein unterschiedlich großer Prozentsatz an Plänen genau rekonstruiert werden, gemittelt über die 10 Pläne. Die Ergebnisse sind in Tabelle 8.6 zusammengefasst. Länge lp des partiellen Plans Prozentsatz der exakt rekonstruierten Pläne 7 30 8 70 9 80 Tabelle 8.6 8.4. Datenanalyse und -optimierung 8.4.1. Problembeschreibung Es sei eine Menge X = {x1, x2, ..., xM} nicht markierter Muster gegeben. Jedes Muster xi (auch „Objekt“ oder „Beispiel“ genannt), i = 1, ..., M, wird durch L Variable (auch „Attribute“ oder „Merkmale“ genannt) in einem reellwertigen Raum definiert. Ein Immunnetzwerk wird konstruiert, das die folgenden Fragen beantworten soll: 1) Gibt es viel Redundanz in der Datenmenge, und wenn ja, wie kann sie reduziert werden? 2) Gibt es irgendwelche Gruppen oder Untergruppen die typisch für die Daten sind, und wenn ja, wie viele? 3) Welche Struktur oder räumliche Verteilung haben die Daten? Bei der Verwendung des Algorithmus für die multimodale Funktionsoptimierung soll eine Funktion g() optimiert (maximiert oder minimiert) werden. Gesucht ist die maximale Zahl der optimalen Lösungen, einschließlich des globalen Optimums. 8.4.2. Entwurf des AIS Immunkomponenten und ihre Repräsentationen Jedes Eingabemuster xi entspricht einem Antigen Agi in einem Euklidischen Formenraum. Bei der Datenanalyse sind dies Muster, die erkannt und geclustert werden, bei der Optimierung sind es die Extrempunkte (Peaks oder Senken) der zu optimierenden Zielfunktion und diese repräsentiert die Umgebung, in die das Netzwerk eingebettet ist. Die Population der Immunzellen muss an die Umgebung angepasst werden, d.h. das AIS muss alle Cluster von Antigenen entdecken können bzw. alle Extrempunkte in der Umgebung. Im aiNet bilden sich Cluster aus, die als interne Bilder der Cluster in der Datenmenge betrachtet werden können. Die Zellen des Netzes entsprechen den Antikörpern und die Form ihrer Verteilung spiegelt die räumliche Verteilung der Daten wider. Die Interaktionen zwischen Antigenen und AntiTechnische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 120 körpern und zwischen Antikörpern untereinander werden durch die Euklidische Distanz quantifiziert. Mit dieser Distanzmetrik soll ein Antikörper-Repertoire (also das Netzwerk) erzeugt werden, das ein internes Bild der zu erkennenden Antigene darstellt. Die Zahl der Antikörper im Netzwerk kann mittels des Ähnlichkeitsgrades zwischen ihnen gesteuert werden. Die Affinität zwischen Antigen und Antikörper ist umgekehrt proportional zur Distanz zwischen ihnen. Antigene und Antikörper werden als reellwertige Vektoren in einem Euklidischen Formenraum repräsentiert. Alle Werte werden normiert über dem Intervall [0, 1]. Die Antigene (und Antikörper) entsprechen damit den normierten reellen Werten der Eingabevektoren im Fall der Datenanalyse und den Variablenwerten einer zu optimierenden numerischen Funktion im Fall der Optimierung. Netzwerkstruktur, Dynamik und Metadynamik Das Netzwerk hat die Struktur eines nicht zusammenhängenden Graphen. Die Knoten repräsentieren die Antikörper, die Kanten sind mit Gewichten oder Verbindungsstärken (si,j) markiert. Der Lernalgorithmus für das Netzwerk für die Datenanalyse ist der in Abschnitt 3.4.3 (Algorithmus von de Castro und von Zuben) wiedergegebene. Für die Optimierung wird die folgende Version des Algorithmus verwendet: 1. Initialisierung: Erzeuge zufällig eine initiale Population von Netzwerk-Antikörpern; 2. Lokale Suche: Führe, so lange das Stopp-Kriterium nicht erfüllt ist, die folgenden Schritte durch: 2.1 Klonale Expansion: Bestimme für jeden Netzwerk-Antikörper seine Fitness (eine zu optimierende Zielfunktion) und normiere den Vektor der Fitnesswerte. Erzeuge einen Klon für jeden Antikörper (genaue Kopie des Antikörpers); 2.2 Affinitätsreifung: Mutiere jeden Klon umgekehrt proportional zur Fitness seines ElternAntikörpers, der unverändert bleibt. Wähle für jeden mutierten Klon einen Antikörper mit höchster Fitness aus und berechne die durchschnittliche Fitness der ausgewählten Antikörper; 2.3 Lokale Konvergenz: Wenn die durchschnittliche Fitness der Population sich von einer Generation zur nächsten nicht signifikant ändert, fahre mit dem nächsten Schritt fort, andernfalls gehe zu Schritt 2.; 3. Netzwerk-Interaktionen: Bestimme die Affinität (Ähnlichkeit) zwischen jedem Paar von Netzwerk-Antikörpern; 4. Netzwerk-Unterdrückung: Eliminiere alle Netzwerk-Antikörper, deren Affinität niedriger als ein vordefinierter Schwellenwert ist und bestimme die Zahl der restlichen Antikörper im Netzwerk; sie stellen die Gedächtnis-Antikörper dar; 5. Vielfalt: Füge eine Anzahl neuer, zufällig erzeugter Antikörper in das Netzwerk ein und gehe zu Schritt 2. Die Antikörper in diesem Netzwerk sind die Individuen der Population, repräsentiert als reellwertige Attributstrings in einem Euklidischen Formenraum. Die Fitness eines Antikörpers entspricht dem Wert der Zielfunktion für die betreffende Zelle. Die Affinität zwischen zwei Antikörpern entspricht ihrem Euklidischen Abstand. Ein Klon besteht aus den Nachkommen eines Antikörpers, diese sind zunächst identisch zu dem Eltern-Antikörper, werden aber dann durch Mutation verändert. Die Fitness-proportionale Mutation erfolgt nach folgender Gleichung: c' c N (0,1) (1 / ) exp( f *) Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 121 wobei c’ ein aus c durch Mutation entstandener Antikörper ist, N(0, 1) eine Gauss’sche Zufallsvariable mit Mittelwert 0 und Standardabweichung = 1, ein Parameter der den Abfall der inversen Exponentialfunktion steuert und f* die Fitness eines Individuums, normiert über [0, 1]. Eine Mutation ist nur gültig, wenn der neue Antikörper in den vorgegebenen Bereichsgrenzen liegt. Abbildung 8.8 zeigt die Funktion bei dem Wert = 100. Das Stopp-Kriterium für den Algorithmus basiert auf der Größe der Gedächtnispopulation. Nach Schritt 4. bleibt eine feste Anzahl von Zellen übrig, und wenn diese Anzahl sich bei wiederholtem Durchführen des Schritts 4. nicht ändert, dann hat sich das Netzwerk stabilisiert und die übrigbleibenden Zellen werden alle als Gedächtniszellen betrachtet, die der Lösung des Problems entsprechen. 0,01 0,009 0,008 0,007 0,006 0,005 alpha 0,004 0,003 0,002 0,001 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 f* Abbildung 8.8 8.4.3. Bewertung Die beiden Versionen von aiNet unterscheiden sich hauptsächlich dadurch, dass bei der Verwendung für die Datenanalyse verschiedene Parameter vom Nutzer vorab gesetzt werden müssen, und zwar die folgenden: n1 – die Anzahl der Antikörper mit höchster Affinität, die ausgewählt werden müssen; n2 – die Anzahl der Antikörper mit höchster Affinität, die nach dem Affinitätsreifungs-Prozess ausgewählt werden müssen; s – die Hemmungsschwelle; d – die Anzahl der neu einzufügenden Antikörper. In der Optimierungsversion des Algorithmus findet keine Selektion statt, alle Antikörper erzeugen einen Klon derselben Größe. Ferner ist n2 = 1, d.h. der beste Nachkommen-Antikörper ersetzt seinen Eltern-Antikörper und für jeden ausgewählten Antikörper wird eine Anzahl Nc von Klonen erzeugt. Für den Test der Datenanalyseversion wurden die folgenden Parameterwerte gewählt: n1 = 4, n2 = 10%, d = 100 und s = 0.02. Für die Optimierungsversion wurden die folgenden Parameterwerte gewählt: d = 40% und s = 0.1, N0 = 20 (Größe der Anfangspopulation), = 100 und Nc = 10 – Anzahl der Klone für jeden Antikörper. Ergebnisse bei der Datenanalyse Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 122 Nach dem Training repräsentiert das entstandene Netzwerk von Antikörpern ein internes Bild der Antigene. Dazu ist es zweckmäßig, dieselbe Formenraum-Repräsentation für Antigene und Antikörper zu wählen. Der Nachteil ist, dass es schwer möglich ist, das Netzwerk der Antigene und das der Antikörper zu visualisieren, wenn ihre Länge größer als 3 ist, und dementsprechend schwer sind die Ergebnisse der Berechnung zu interpretieren. Um dieses Problem abzuschwächen wurden zwei Techniken verwendet, nämlich hierarchisches Clustern und Minimale Spannbäume aus der Graphentheorie. Mit Hilfe des Minimalen Spannbaums (MST) eines Graphen ist es möglich die Netzwerkstruktur zu untersuchen. Ein Baum heißt ein Spannbaum eines Graphen, wenn er ein Teilgraph des Graphen ist, der alle Knoten des Graphen enthält. Ist der Graph gewichtet, dann ist ein Minimaler Spannbaum des Graphen ein Spannbaum, der das Gesamtgewicht der in ihm enthaltenen Kanten minimiert. Die Aufgabe bei der Erstellung eines Minimalen Spannbaums ist also, möglichst viele Kanten des Graphen zu entfernen, und zwar bevorzugt diejenigen mit hohen Gewichten. Hat man einen MST für das Netzwerk an Zellen (Antigenen und Antikörper) erstellt, dann versucht man weitere Kanten aus dem MST so zu entfernen, dass offensichtliche Cluster entstehen. Diese Cluster spiegeln die Cluster wider, die in der Eingabedatenmenge vorliegen. Kanten werden nach folgender Regel entfernt: Eine Kante (i, k) im MST, deren Gewicht si,k signifikant größer ist als der Durchschnitt der Gewichte benachbarter Kanten auf beiden Seiten der Kante, wird gelöscht. Die Kante wird inkonsistent genannt. Bei der hier behandelten Anwendung wird der Begriff „signifikant größer“ so definiert: Das Verhältnis zwischen dem Gewicht der Kante und dem durchschnittlichen Gewicht der benachbarten Kanten ist größer oder gleich 2. Zum Test des Verfahrens wurde die in Abbildung 8.9 dargestellte Datenmenge verwendet. Sie stammen von einer hierarchischen selbstorganisierenden Karte. Sie enthält acht Klassen in einer etwas ausgefallenen Anordnung. Die Klassen 1 – 8 enthalten in dieser Reihenfolge 314, 100, 100, 100, 100, 10, 53 bzw. 57 Muster. Abbildung 8.9 Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 123 Abbildung 8.10 Das aiNet erzeugte aus den insgesamt 834 Mustern nur 157 Antikörper, was einer Kompressionsrate von 81.81% entspricht. Der Algorithmus konnte auch die Hauptcluster in der Datenmenge finden, konnte aber die Cluster der Klassen 1, 5 und 6 nicht trennen. Als Signifikanzmaß zum Löschen von Kanten wurde der Wert 1.8 verwendet. Das Ergebnis, dargestellt in Abbildung 8.11 entspricht genau der Konzeptualisierung von Abbildung 8.10. Abbildung 8.11 Ergebnisse der Optimierung Es wurde die folgende Funktion von zwei Variablen für den Test von aiNet verwendet: g(x, y) = xsin(4x) - ysin(4y + ) + 1 Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 124 in den Grenzen x, y [-2, 2]. Abbildung 8.12 zeigt das Verhalten des Algorithmus während des Suchprozesses. Im Teil (a) ist das initiale Repertoire von 20 Antikörpern in Form von Sternen im Bild dargestellt. Es sind nicht alle zu sehen, weil einige hinter den Hügeln verborgen sind. Im Teil (b) ist der Zustand nach Durchführung der lokalen Suche (Schritt 2 des Algorithmus) dargestellt. Jetzt sind alle 20 Antikörper auf einem lokalen Optimum platziert. Da die durchschnittliche Fitness des Repertoires sich nicht signifikant von einer Iteration zur nächsten verändert, wird eine lokale Konvergenz angenommen und neue Antikörper werden in das Repertoire aufgenommen. Teil (c) der Abbildung zeigt den Zustand nach der vierten lokalen Konvergenz, sie entspricht der 115. Iteration. Die Anzahl der bestimmten lokalen Optima ist beträchtlich angestiegen. Teil (d) der Abbildung zeigt das endgültige Repertoire der Antikörper nach der 13. lokalen Konvergenz und 366 Iterationen. Der Algorithmus konvergiert automatisch entsprechend den beiden verwendeten StoppKriterien. Das eine Kriterium wird auf die lokale Konvergenz angewendet und bewertet die Stabilität der durchschnittlichen Fitness, das andere auf die globale Konvergenz und bewertet die Stabilität der Anzahl der Antikörper im Repertoire. Abbildung 8.12(c) enthält 45 Antikörper und 8.12(d) 58 Antikörper. Abbildung 8.12 Abbildung 8.13(a) zeigt den Verlauf der Fitness des besten Antikörpers im Repertoire (durchgezogene Linie) und die durchschnittliche Fitness des Repertoires (gestrichelte Linie). Abbildung Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 125 8.13(b) zeigt das Ansteigen der Anzahl der Gedächtnis-Antikörper im Verlauf der lokalen Suchprozesse, die der Algorithmus durchführt. Wenn sich die Zahl der Antikörper im Netzwerk stabilisiert, wird der Algorithmus als konvergiert betrachtet und der iterative Prozess der Adaption stoppt. Abbildung 8.13 9. 9.1 Beurteilung von AIS und zukünftige Entwicklungen Der Nutzen des AIS-Ansatzes Bei einer Durchsicht der Computational Intelligence-Systeme fällt auf, dass viele von ihnen hybride Systeme sind, bei denen ein bekannter Ansatz aus anderen Gebieten mit einem Immunprinzip oder einer Immunmetapher oder einem Immunalgorithmus kombiniert wurde. Man sich deshalb fragen, was die Besonderheiten des Immunsystems bzw. der AIS ist, dass sie sich so gut mit anderen Ansätzen kombinieren lassen. Jedes Individuum besitzt ein Immunsystem, das „historische“ Informationen über die Umgebung, in der es sich befunden hat, d.h. den Mikroorganismen und Giftstoffen, denen es ausgesetzt war, in sich trägt. Man kann daher AIS als Strategien auffassen, die neue Situationen bewältigen können, die lernen und sich entwickeln können, um so besser an die Umgebung, in der sie sich befinden, angepasst zu sein. Das Immunsystem lernt ständig und passt sich an neue Stimuli an. Eine Übertragung dieser Fähigkeit auf künstliche Systeme würde zu kontinuierlich lernenden Algorithmen führen, die in unterschiedlichen Situationen genutzt werden können. Die Forschung in dieser Richtung hat erst begonnen und sollte weitergeführt werden. Das Immunsystem besitzt eine Art von Selbstbewusstsein, d.h. es weiß, woraus wir bestehen, indem es zwischen Self und Nonself unterscheiden kann. Mehrere AIS-Systeme haben diese Unterscheidungsfähigkeit implementiert. Im Wesentlichen geschieht dies durch zwei verschiedene Arten von Algorithmen, nämlich diejenigen für die positive Selektion, die Informationen über das Self speichern, und die für die negative Selektion, die Informationen über das Nonself speichern. Mit Letzteren ist es möglich, vom Standard abweichende Muster zu erkennen, deshalb lassen sie sich z.B. zur Entdeckung von Anomalien oder Neuentwicklungen einsetzen. Zwei weitere Eigenschaften, die das Immunsystem interessant machen, sind seine Dynamik und seine Metadynamik. Die Dynamik beruht auf der genetischen Rekombination der Immunrezeptoren, sowohl bei ihrer Entstehung als auch später bei der Rezeptoredition. Mit ihr ist es möglich, aus dem endlichen Repertoire der Genome eine fast unendliche Menge verschiedener Rezeptoren zu erzeugen. Die Metadynamik beschreibt, wie das Repertoire der Zellen durch Entfernen von Zellen und Hinzufügen neuer variiert werden kann, wodurch ebenfalls Verschiedenartigkeit bewirkt wird. Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 126 Der Begriff stammt zwar aus dem Netzwerk-Ansatz, kann aber für andere AIS übernommen werden. Durch die Metadynamik können AIS eine variable und plastische Population unterhalten und einen großen Bereich des Suchraums abdecken. Gedächtnisbildung ist ebenfalls eine wichtige Eigenschaft des Immunsystems. Sie wird durch Ausbildung besonderer Zellen bewirkt, die als Gedächtniszellen im klonalen Selektionsansatz oder durch ihre Einbindung in das Immunnetzwerk im Netzwerk-Ansatz erklärt werden. Man kann diesen Vorgang in Analogie zur Bildung von Nischen und Arten im Immunsystem einzelner Individuen sehen. Die Fähigkeit, stabile Teilpopulationen von Zellen und Molekülen zu erzeugen und zu erhalten, die verschiedene Peaks der Affinitätsfunktion abdecken, ist ein wichtiges Merkmal der meisten AIS. Im Unterschied zum Nervensystem ist das Immunsystem nicht zentralisiert. Die meisten AIS bestehen dementsprechend aus einer verteilten Menge von Zellen, die untereinander und mit ihrer Umgebung interagieren. Solche AIS sind dafür geeignet, mit Multiagentensystemen oder zellulären Automaten modelliert und simuliert zu werden, denn bei diesen gilt Ähnliches. Außerdem verhalten sich Immunzellen und –moleküle nach lokalen Regeln und reagieren auf lokale Störungen, und auch das ist ähnlich wie bei Agenten und Automaten. Die Dynamik des Repertoires der Zellen und Moleküle ist ein neuartiger Ansatz für das Rechnen. Die Immunnetzwerke folgen meist dem Jäger-Beute-Modell, das die Dynamik der Interaktion verschiedener Arten in ökologischen Systemen beschreibt. Das Immunsystem befindet sich in einem ständigen Kampf gegen Eindringlinge. Man kann dies als eine Art Koevolution auffassen. Deshalb eignen sich AIS als Modell für dieses Gebiet, und deshalb sind sie auch zur Steuerung von Ökosystemen vorgeschlagen worden. AIS sind eine der wenigen Strategien, die Adaption durch Lernen und durch Evolution vereinen. Andere Ansätze folgen der Sichtweise des Baldwin-Effekts. In AIS, insbesondere im NetzwerkAnsatz, werden Lernen und Evolution in natürlicher Weise miteinander verbunden. Dabei werden die Sichtweise der klonalen Selektionstheorie, die den evolutionären Aspekt betont, und Lernstrategien, ähnlich denen bei selbstorganisierenden Neuronalen Netzen, zusammengebracht. Auch das betont den hybriden Charakter der AIS. Der Netzwerk-Ansatz bei AIS stellt ein Netz-Modell bereit, das anders ist als das üblicher NetzModelle wie Neuronaler Netze oder Petri-Netze. Der Hauptunterschied liegt in der Bedeutung der Verbindungen zwischen den Knoten im Netz, der Bedeutung der Knoten, bei AIS den Zellen, und der Dynamik und Metadynamik. Generell können Zellen in Netzen Informationen bearbeiten, manche können sie auch speichern, allerdings ist das bei Neuronalen Netzen eher selten der Fall, bei ihnen liegt die Speicherfähigkeit in den Kantengewichten. Bei Neuronalen Netzen drückt das Kantengewicht die Interaktionsstärke zwischen den Einheiten aus, zumindest wenn man Hebbsches Lernen verwendet. Der Aspekt der Metadynamik kann bei den dynamischen Netz-Modellen, z.B. growing cell structures, gesehen werden. Allerdings gibt es bei Neuronalen Netzen den evolutionären Aspekt nicht, der ein stochastisches Element in die Entwicklung der Netzstruktur bringt. 9.2. Einige kritische Betrachtungen zu AIS Eines der Probleme der AIS ist ihre geringe theoretische Fundierung. Grundlagen sind allenfalls in der theoretischen Immunologie zu finden, die aber dort für die Immunsysteme gemacht wurden und nicht unbedingt eins-zu-eins übernommen werden können. Eine Folge davon ist z.B., dass es keine strengen Konvergenzbeweise gibt. Es gibt eine Reihe von nutzerdefinierten Parametern und es ist nicht klar, wie das beste Modell und die Initialisierungsprozeduren bestimmt werden sollen. Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 127 Ein anderes Problem der AIS ist, dass sie schwer in die Landschaft der Berechnungsparadigmen einzuordnen sind. Sie sind nicht etwa eindeutig Suchverfahren oder Verfahren zur Datenanalyse oder Ähnliches. Die Verschiedenartigkeit der Algorithmen und Anwendungsgebiete macht es schwer, sie einzuordnen und klar zu definieren, was mit ihnen gemacht und erreicht wird, obwohl sie andererseits gerade deshalb für die Forschung besonders attraktiv sind. Wegen der in ihnen vorhandenen Lernverfahren und evolutionären Verfahren haben sie eine natürliche Nähe zu den evolutionären Algorithmen und Neuronalen Netzen. Bisher ist noch kein AIS entwickelt worden, das in den praktischen Einsatz gegangen ist. Alle Entwicklungen waren experimenteller Natur, obwohl einige sich mit realen Problemen befassten. Damit lässt sich zwar die prinzipielle Nützlichkeit nachweisen, aber die Anwendbarkeit unter industriellen Bedingungen ist so noch nicht gesichert. Es fehlt gewissermaßen die „KillerApplikation“. Ein weiterer fragwürdiger Punkt ist, ob die metaphorische Anlehnung an das Immunsystem gerechtfertigt ist. Es wäre allerdings ein Missverständnis anzunehmen, dass AIS das Immunsystem simulieren. Das ist nicht ihre Absicht. Wenn Metaphern benutzt werden, sollten sie aber wahrheitsgemäße Übernahmen des damit Gemeinten sein. Es kann allerdings für Informatiker schwierig oder eher unmöglich sein, die Feinheiten der immunologischen Forschung zu verstehen, deshalb können sich leicht Fehler bei der Übernahme der Metaphern einschleichen. Hier wäre eine engere Zusammenarbeit zwischen der Immunologie und der AIS-Forschung erforderlich. 9.3. Zukünftige Entwicklungslinien 9.3.1. Verbesserung und Erweiterung von AIS Während gelegentlich Ideen aus den AIS für Entwicklungen auf dem Gebiet der Neuronalen Netze oder der Evolutionären Algorithmen herangezogen wurden, war das Umgekehrte selten der Fall. AIS sind aber durchaus verbesserungsfähig und auch -bedürftig. Ein Problem der AIS sind z.B. die nutzerdefinierten Parameter und die ad hoc-Prozeduren, die es in vielen AIS gibt. Ein Beispiel dafür liefern die positiven und negativen Selektionsalgorithmen, bei denen es darauf ankommt, ein potentielles Repertoire P zu erzeugen, das die Self-Menge S matcht. Dafür sind verbesserte Methoden erforderlich. Bei den klonalen Selektions-Algorithmen müssen mehrere Parameter vom Nutzer vorab festgelegt werden. Wegen der Ähnlichkeit der klonalen Selektion zu den Evolutionären Algorithmen, könnte die Untersuchung der Modellauswahl, Initialisierung, Konvergenzanalyse und Parametersetzung in diesen Algorithmen Hinweise für die Entwicklung der AIS geben. Ähnliche Untersuchungen könnten für die Nutzung der Erkenntnisse aus den Neuronalen Netzen für die AIS gemacht werden. Allgemein lässt sich sagen, dass die praktische Anwendung der AIS dieselben vier Aspekte wie die Anwendung der Neuronalen Netze und der Evolutionären Algorithmen hat, nämlich Modellauswahl, Initialisierung freier Parameter, Konvergenz- und Performanzanalyse und Parametersetzung. 9.3.2. Neue AIS Es sind mindestens zwei Entwicklungslinien für neue AIS denkbar. Die eine betrifft die Entwicklung neuer Effektorfunktionen, die andere die Entwicklung neuartiger Algorithmen. Im Immunsystem gibt es eine Menge verschiedener Effektormechanismen, mit denen fremde Pathogene, Abfall oder falsch funktionierende Zellen beseitigt werden. Bis jetzt ist fast keiner dieser Mechanismen implementiert worden. Es gibt Systeme zur Entdeckung von (normalen oder anormalen) Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 128 Mustern, aber keines, das diese Muster beseitigen kann. Das wäre z.B. für die Entdeckung und Beseitigung von Viren in Computern nützlich. Neue Algorithmen könnten in Analogie zu Komponenten des Immunsystems entwickelt werden. Beispiele dafür sind die folgenden: Keimzentren: Das sind Gebiete in Lymphknoten, in denen sich die klonale Expansion der BZellen und die Affinitätsreifung vollziehen. Sie spielen bei der adaptiven Immunreaktion eine wichtige Rolle. Man könnte die Keimzentren als Fabriken zur Erzeugung spezialisierter Zellen und Moleküle betrachten; Antigene Präsentation: APCs können Pathogene aufnehmen und so verarbeiten, dass sie mittels des MHC Fragmente davon an der Oberfläche präsentieren können. Diese Technik könnte zur Entwicklung von Algorithmen genutzt werden, die Information aus (verrauschten) Mustern extrahieren; Komplementkaskade: Die Aufgabe des Komplementsystems ist u.a. die Anziehung von Phagozyten an den Ort der Infektion, die Umhüllung von Organismen mit Proteinen, damit sie von den Phagozyten aufgenommen werden können und die Schädigung von Zellen, Bakterien und Viren. Das Komplementsystem könnte daher eine Metapher für die Entwicklung von Systemen zum Triggern der Effektormechanismen oder dieser selbst sein. Ressourcenallokation: Das Immunsystem stellt Ressourcen nach Anforderung bereit. Die Immunreaktionen sind lokal an Orten nahe den Infektionsherden, die Zellen wandern an die Infektionsorte um eine wirkungsvolle Eliminierung der Pathogene zu garantieren. Es gibt weiterhin ein Gleichgewicht zwischen der Zahl der naiven Zellen, die erzeugt werden, und den Gedächtniszellen, die bei der Immunisierung entstehen. Diese Prozesse geben Hinweise auf interessante Mechanismen für die dynamische Steuerung von Populationen verteilter Individuen; Regulierung der Immunreaktion: Die Untersuchung der Interaktionen zwischen unterschiedlichen Immunzellen und –molekülen könnte interessante Ideen für die Entwicklung von Steuerungssystemen liefern; Entdeckung und Beseitigung falsch funktionierender Zellen: Das Immunsystem kann nicht nur Nonself-Zellen, sondern auch körpereigene, aber falsch funktionierende Zellen entdecken. Das könnte Hinweise für die Entwicklung von Algorithmen für die Fehlererkennung liefern, die anders geartet sind als die Algorithmen zur negativen Selektion. Impfung: Durch Impfung lernt das Immunsystem eine Reaktion ohne mit dem eigentlichen Erreger in Berührung zu kommen. Diese Metapher wurde bisher noch nicht in AIS implementiert. 9.3.3. Anwendungsgebiete Bisher sind die AIS auf vielen verschiedenen Anwendungsgebieten entwickelt worden. Das liegt zum Teil an den verschiedenen Strukturen, Mechanismen und Prozessen, die AIS bereitstellen und die vielseitig nutzbar sind, und zum Teil an der hybriden Verwendung der AIS zusammen mit anderen Berechnungsparadigmen. Die bisherigen Anwendungen lassen sich in sechs Hauptgruppen zusammenfassen: Mustererkennung; Datenanalyse; Optimierung; Robotik; Steuerung; Maschinelles Lernen. Technische Universität Chemnitz Sommersemester 2005 Künstliche Immunsysteme Seite 129 Unter jeder dieser Gruppen gibt es eine große Zahl verschiedener Anwendungen. Es gibt aber eine noch größere Zahl möglicher Anwendungen, die bisher noch nicht versucht worden sind. Beispiele dafür sind die folgenden: Neuartige Verteidigungsstrategien; Ausreißer-Entdeckung bei der Datenanalyse, analog zur Entdeckung von Anomalien; Neue Methoden für die Kombination von Evolution und Selbstorganisation; Eine neue Artificial Life-Technik, wegen der Verknüpfung von Lernen mit evolutionärer Adaption, gesteuert durch lokale Interaktionsregeln. 9.3.4. Erweiterung des Entwurfsrahmens für AIS Zum Entwurf eines AIS werden drei Dinge benötigt: eine Repräsentationsform für die Komponenten des AIS, Maße zur Quantifizierung des Systemzustands (Affinität und Fitness) und Immunalgorithmen zur Kontrolle des Systemverhaltens. In allen drei Punkten kann der Entwurfsrahmen erweitert werden. Die Komponenten eines AIS werden nach dem Beispiel von Perelson und Oster in Formenräumen repräsentiert, die üblichen sind Hamming-, Euklidische, ganzzahlige und symbolische Formenräume. Es sind auch schon andere vorgeschlagen worden, z.B. neuronale, Fuzzy- und DNA-Formenräume. Mit den Formenräumen sollen diejenigen Teile von Immunzellen und –molekülen repräsentiert werden, die ihre Merkmale hinsichtlich ihrer Fähigkeit, andere Elemente zu erkennen oder von ihnen erkannt zu werden. Hier wären neue Entwicklungen möglich und notwendig, außerdem wäre eine Formalisierung der existierenden Formenräume sinnvoll. Ferner wären Richtlinien für die Auswahl eines geeigneten Formenraums für ein gegebenes Problem sinnvoll. Für die Definition des Affinitätsmaßes ist noch kaum Forschung betrieben worden. Üblicherweise werden einige Standardmaße verwendet. Diese können jedoch variiert werden oder es können ganz neue Maße definiert werden. Bei Hamming-Formenräumen können speziellere Affinitätsmaße definiert werden, die ganz bestimmte Aspekte der Bindung zwischen Antigen und Antikörper betonen. Für Formenräume, die nicht Hamming sind, sind nur wenige Affinitätsmaße definiert worden. Die vier Haupttypen von Algorithmen, die bisher im Gebrauch sind, sind Knochenmarkmodelle für die Erzeugung von Repertoires von Attributstrings, Thymusmodelle für die positive und negative Selektion (Self/Nonself-Unterscheidung), Algorithmen für die klonale Selektion und die Affinitätsreifung durch evolutionäre Prozesse und Immunnetzwerk-Modelle in zwei Formen, kontinuierliche und diskrete. Es ist möglich, dass man aus der Biologie Anregungen für die Entwicklung neuer Aspekte dieser Algorithmen beziehen kann oder für die Entwicklung ganz neuer Algorithmen. Technische Universität Chemnitz Sommersemester 2005