Refine
Year of publication
- 2001 (1)
Document Type
- Doctoral Thesis (1)
Language
- German (1)
Has Fulltext
- yes (1)
Is part of the Bibliography
- no (1)
Institute
In der vorliegenden Arbeit wurde ein neuer Algorithmus für die automatische Optimierung einer NMR-Zuweisung des back bones in gelabelten Proteinen und seine Implementierung vorgestellt. Der Algorithmus ermöglicht eine Zuweisungsstrategie, die sich näher an der manuellen Vorgehensweise orientiert als vergleichbare Implementierungen von Lukin (LUK 11 ) [Lukin97] oder Leutner (PASTA) [Leutner98], da er die Entscheidung über konkurrierende Protospinsysteminterpretationen in die globale Optimierung der Zuweisung verlegt und die Benutzer nicht zwingt, sich vorzeitig auf eine Interpretation pro Aminosäure und Peak zu beschränken. Der Algorithmus löst daher nicht nur das Reihenfolgenproblem für einen schon vorgegebenen Satz von Protospinsystemen, sondern auch das Auswahlproblem zwischen verschiedenen, sich widersprechenden, Interpretationen der gleichen Peakgruppe. Durch das zusätzliche Auswahlproblem erhöht sich die Komplexität der Optimierungsaufgabe, der Lösungsraum wächst daher um mehrere Größenordnungen. Dies verlängert die Laufzeit für den einfachen RANDOM Algorithmus gegenüber einem vergleichbaren Reihenfolgeproblem. Es wurden daher verschiedene Methoden untersucht, um die Laufzeit wieder zu reduzieren. Die erzielten Verbesserungen führen nicht nur zu einer besseren Konvergenz, sondern ermöglichen auch erstmals eine echte parallele Implementierung des Algorithmus. Die algorithmischen Verbesserungen sind die Reduktion des Protospinsystemcaches und der GENETISCHe Algorithmus. Zusätzlich wurde eine verbesserte Konfiguration zur Kontrolle der Suboptimierer gefunden. Die Implementierung der zugrundeliegenden Datenstrukturen ermöglicht die Umsetzung zusätzlicher Nebenbedingungen für die Positionen der Protospinsysteme innerhalb der Zuweisung. Ein Beispiel für die Nebenbedingungen sind die knotenlokalen Filter und die Strukturfilter aus Kapitel 2. Ihre Effizienz wird am besten durch die Aminosäuretypenerkennung demonstriert, die die Größe des Lösungsraumes um 168 Größenordnungen für Trigger reduziert. Dadurch verringert sich die Laufzeit des RANDOM Algorithmus bis zu einem Faktor von 132. Für PASTA wurde in [Leutner98] statt dessen der umgekehrte Effekt auf die Laufzeit festgestellt. In ihrer Implementierung verlängert sich die Laufzeit auf das Doppelte. Der Unterschied kann nur durch eine unterschiedliche Nutzung der Aminosäuretypenerkennung im Protospinsystempool erklärt werden. PASTA nutzt diese Information anscheinend nicht, um den Pool und damit den Lösungsraum zu reduzieren, sondern nur bei der Bewertung der Zuweisung. Diese Konfiguration kann in RANDOM näherungsweise nachvollzogen werden, wenn man im AS-Cache jeder Aminosäure jedes Protospinsystem zuweist. Die Bewertung der Aminosäuretypen und den Austausch zwischen Pool und Individuum kann man aber nicht abschalten. Ein möglicher Nachteil der Reduktion des AS-Caches mittels der Aminosäuretypenerkennung ist die Möglichkeit, daß Aminosäuren mit untypischen Frequenzen der falschen Aminosäure zugewiesen werden oder nicht in den Cache für die theoretische Aminosäure aufgenommen werden. Um eine falsche Zuweisung durch die Reduktion auszuschließen oder zu überprüfen, kann man zuerst mit einem AS-Cache mit Typenerkennung optimieren und das Ergebnis in einer zweiten Optimierung mit einem AS-Cache ohne Typenerkennung nachoptimieren. Diese Möglichkeit wurde bei der Zuweisung von Trigger demonstriert. Für Trigger konnte durch den Wechsel des Caches gezeigt werden, daß auch mit dem reduzierten Cache eine stabile Zuweisung gefunden wird, die der Zuweisung ohne Aminosäuretypenerkennung weitgehend entspricht. Die Zuweisungen unterscheiden sich in Aminosäuren mit unsicherer Typenzuweisung. In Trigger wird nur ein Protospinsystem (Phe66,Ile67) aufgrund der Typeninformation von der Position im AS-Cache ausgeschlossen, der es in der manuellen und der Zuweisung ohne Reduktion zugewiesen wurde. In anderen Fällen führt erst die Typeninformation zur richtigen Zuweisung (zB. Thr60,Ile61), während die Zuweisung ohne Typenerkennung eine Fehlzuweisung erzeugt. Man sollte daher immer beide Versionen berechnen und dann vergleichen, da eine manuelle Zuweisung beide Defekte aufweisen kann, weil sie die Zuweisungsregeln nicht so strikt optimiert, wie es ein automatischer Algorithmus kann. Für beide Algorithmen wurde der Parameterraum untersucht und eine sowohl optimale als auch robuste Konfiguration gesucht. Dabei wurde der Einfluß jedes Parameters des Algorithmus auf die Laufzeit bis zur Konvergenz zum globalen theoretischen Maximum bestimmt. Bei RANDOM waren hauptsächlich die Zusammensetzung des Aktionsprofils und die minimale und maximale Lebenszeit der veränderten Zustände, minTTL und maxTTL, für die Laufzeit entscheidend. Alle drei kontrollieren, welche Pfade durch den Lösungsraum ab einem Zustand erlaubt sind. Die gleiche Untersuchung wurde auch für die Parameter der zu berechnenden Probleme (Proteine) durchgeführt. Für den Datensatz wurde sowohl der Einfluß der Proteingröße, des maximalen CA Abstandes zwischen den Peaks der benachbarten Aminosäuren und der Aufbereitung des Protospinsystemcaches auf die Laufzeit, als auch der Einfluß eines unvollständigen Datensatzes auf die Konvergenz untersucht. Der Algorithmus zeigte sich dabei sehr robust gegen fehlende Peaks, da bis zu 45% der theoretischen Peaks fehlen können, ohne daß die Konvergenz zum theoretischen Optimum verloren geht. Unterhalb von 55% hängt die Übereinstimmung der gefundenen Lösung mit der theoretischen Lösung von der Zusammensetzung der gebildeten Protospinsystemfragmente ab. Proteingröße und maximaler CA Abstand haben dagegen großen Einfluß auf die Laufzeit. Während die Parametrisierung des RANDOM Algorithmus sich auf die Untersuchung des Wertebereichs der Kontrollparameter beschränken kann, muß die Parametrisierung des GENETISCHen Algorithmus auch die verschiedenen Crossover Operatoren und die Kontrolle der Suboptimierer umfassen. In Kapitel 3 wurden die verschiedene Crossover Algorithmen und unterschiedliche Konfigurationsvarianten für den Suboptimierer im GENETISCHen Algorithmus untersucht. Die aus der Literatur bekannten Crossover Operatoren waren dabei den spezialisierten G Operatoren unterlegen. Auch die Varianten elitär und statistisch, die keinen genetischen Austausch zwischen verschiedenen Individuen zulassen, waren den speziellen Operatoren immer unterlegen. Selbst kleine Anteile eines Genaustausches bewirkten eine Verbesserung der Laufzeit und die Qualität der Lösung. Dabei verbesserte sich besonders die Konvergenz durch den genetischen Austausch. Die speziellen G Operatoren übertragen nur die Differenz der Eltern statt, wie im klassischen Crossover, blind irgendeinen zusammenhängenden Bereich zu kopieren. Dadurch vermeiden sie es, hauptsächlich identische Bereiche zu kopieren, sondern übertragen nur Protospinsysteme, die sich in den Eltern unterscheiden. Außerdem wurde die Effizienz der speziellen Operatoren noch weiter gesteigert, indem die übertragenen Informationen mit Hilfe von Filtern gezielt auswählt wurden. Die übertragene Differenz wird dazu aufgrund ihrer Nachbarn und der Verknüpfung mit den Nachbarn ausgewählt. Mit unterschiedlichen Filtern wurden so Bereiche mit einem unterschiedlich hohen lokalen Optimierungsgrad für die Übertragung ausgesucht. Die Laufzeituntersuchungen in Kapitel 3 zeigen, daß es eine Grenze für die Effizienzsteigerung durch die Übertragung lokal voroptimierter Bereiche gibt. Während es beim Wechsel von unkoordinierten, punktförmigen Übertragungen (s1) zur Übertragung von kurzen Strecken aus benachbarten Protospinsystemen, mit oder ohne Verknüpfung (s2), noch zu einer geringen Verbesserung der Laufzeit und der Konvergenz kommt, führt die zusätzliche Koordinierung der übertragenen Nachbarn durch die Nebenbedingung der Verknüpfung in den s3 Algorithmen sogar zu einer geringen Verschlechterung der Laufzeit. Die Gründe für die Verschlechterung konnten nicht eindeutig nachgewiesen werden. Möglicherweise verringert sich die Anzahl der kopierbaren Bereiche durch die zusätzlichen Nebenbedingungen so sehr, daß nicht genügend unterschiedliche Differenzen für die Übertragung in die neuen Individuen gebildet werden. Die neuen Individuen erhalten dann hauptsächlich die gleichen neuen Gene. Dadurch kann es zu einer Verarmung des genetischen Pools, d.h. zum Verlust der genetischen Diversität in der Population kommen. Die neuen Individuen suchen dann identische Bereiche im Lösungsraum ab und nehmen dadurch die lokale Optimierung doppelt vor. Dadurch verschwendet diese Konfiguration CPU Zeit auf schon untersuchte Bereiche. Neben der direkten Übertragung zusammenhängender Bereiche gibt es noch einen weiteren Faktor der die spezialisierten Operatoren, gegenüber dem klassischen Crossover, verbessert. Die Differenzbildung im Crossover nimmt auf die Konkurrenz um die Peaks zwischen den Protospinsystemen keine Rücksicht. Dadurch befinden sich die neuen Individuen zuerst meist im illegalen Teil des Zustandsraumes S n . Nach dem Crossover wird daher ein Teil der ursprünglichen Protospinsysteme des neuen Individuums durch den Reparaturmechanismus gelöscht und dadurch schon optimierte Bereiche zerstört. Daher kommt dem Reparaturmechanismus für illegale Zustände die entscheidende Rolle zu, denn er erzwingt die Neuberechnung der Positionen, die vor dem Crossover durch einen Konkurrenten eines übertragenen Protospinsystems belegt waren. Die ehemaligen Zuweisungen in den zerstörten Bereichen sind dabei nur über die Resourcenkonkurrenz mit den im Crossover neu injizierten korreliert. Das Crossover mit Zerstörungen erweitert dadurch den erreichbaren Lösungsraum, statt ihn, wie beim klassischen Crossover, auf den Raum zwischen den Eltern einzuschränken! Die Zerstörungen sind für die Optimierung daher von Vorteil. Außerdem zeigte sich in Kapitel 3, daß für die speziellen Operatoren eine besondere Konfiguration des Suboptimierers besonders effizient ist, die den einzelnen Individuen nur die CPU-Zeit zuteilt, die sie, effizienter als ihre Konkurrenten, zu einer Verbesserung nutzen können. Diese Verteilung der Rechenzeit wird durch die sogenannte Ratenbegrenzung erreicht. Die veränderlichsten Individuen erhalten dabei die meiste Rechenzeit. Dies sind normalerweise die Individuen, die in einem der letzten genetischen Zyklen neu erzeugt wurden. Sobald ein Individuum in ein tiefes lokales Optimum, d.h. eine Sackgasse, geraten ist, erhält es weniger Rechenzeit, da seine Verbesserungsrate unter den Schwellwert sinkt. Dadurch darf man den einzelnen Individuen eine höhere maximale Laufzeit zuteilen, da sie sie nur nutzen können, wenn sie sich währenddessen verbessern. Die Kombination "ratenbegrenzt" mit Operator Gs2p2A verbraucht trotz des komplexeren Algorithmus weniger CPU-Zeit bei gesteigerter Konvergenzwahrscheinlichkeit und geringerer paralleler Laufzeit als jede andere Konfiguration. Sie ist damit die beste bekannte Konfiguration für GENETISCH. Im Praxistest in Kapitel 5 mit dem Proteinabschnitt Trigger M bestanden zwischen den automatischen Zuordnungen und der manuellen Zuweisung nur geringe Unterschiede. Die Unterschiede zwischen den Optimierungen mit unterschiedlichen Caches entstehen hauptsächlich in den Bereichen, die an einem Ende keinen verknüpften Nachbarn haben oder bei denen die manuelle Zuweisung unsicher ist, wie im Bereich 10 - 20. Durch die automatische Zuweisung konnte die manuelle Zuweisung sogar an einigen Stellen vervollständigt werden. Sie ist daher einer manuellen Zuweisung gleichwertig. Darüber hinaus entsteht bei der automatischen Zuweisung immer eine Dokumentation über die Verwendung der Peaks, so daß man ungenutzte Spinsysteme leichter finden kann. Der genetische Algorithmus kann optimal auf einem Netzwerkcluster implementiert werden, daher bietet sich ein echte parallele Implementierung an. GENETISCH braucht dabei keine besondere Hardware, wie Vektorrechner, shared memory oder besonders schnelle Netzwerkverbindungen, sondern kann auf einer Gruppe von normalen Rechnern mit einer üblichen Ethernet100 Netzwerkverbindung implementiert werden, da nur zum Austausch der Individuen, bzw. ihrer Differenz, eine Kommunikation zwischen den Rechnern notwendig ist. Dadurch kann die Kommunikation auf wenige KB alle paar Sekunden beschränkt bleiben. GENETISCH sollte außerdem leicht zu skalieren sein, da man die Anzahl der Individuen leicht an größere Probleme anpassen kann. Eine echte parallele Implementierung erlaubt daher sowohl die Rechenzeit für komplexere Problem auf wenige Minuten zu reduzieren als auch größere und mehrdeutigere Spektren zuzuweisen. Außerdem kann man die Wahl der Prozessparameter selbst auch dem selben Optimierungsprozeß unterwerfen, der bisher für die Optimierung der Zuweisung verwendet wurde. Dadurch sollte es möglich sein, die Optimierungsparameter, analog dem Profil der Abkühlung im simulated annealing, dynamisch an die Phase der Optimierung anzupassen und den Individuen immer die optimalsten Optimierungsparameter zu bieten, ohne diese vorher von Hand suchen zu müssen. Diese Veränderung erfordert aber eine große Anzahl an Individuen und damit die echte parallele Implementierung.