-
Die
vorliegende Erfindung betrifft ein genetisches Verfahren für die Zuteilung
von Rufen, die über Stockwerkrufeinrichtungen
von Aufzügen
eingegeben werden, die in einer Aufzugsgruppe enthalten sind. Das
Dokument GB-A-2288675 zeigt ein genetisches Verfahren gemäß dem Oberbegriff
des Anspruchs 1.
-
Wenn
ein Fahrgast einen Aufzug benutzen möchte, ruft er einen Aufzug,
indem er einen Stockwerkrufknopf drückt, der an dem fraglichen
Flur angeordnet ist. Das Aufzugsteuerungssystem nimmt den Ruf entgegen
und versucht zu bestimmen, welcher der Aufzüge in der Gruppe für die Bedienung des
Rufes am besten geeignet ist. Das hiermit verbundene Verfahren wird
als Rufzuteilung bezeichnet. Das Problem, das durch die Zuteilung
gelöst
werden soll, besteht darin, herauszufinden, welcher der Aufzüge eine
vorgewählte
Kostenfunktion minimiert.
-
Bislang
war es so, dass zum Herausfinden, welcher der Aufzüge am besten
geeignet ist, einen Ruf zu bedienen, die Beurteilung individuell
in jedem Fall unter Verwendung komplexer Konditionsstrukturen durchgeführt wurde.
Weil die Aufzugsgruppe eine komplexe Vielfalt möglicher Statuszustände hat,
sind die Konditionsstrukturen ebenfalls komplex und haben oft Lücken. Dies
führt zu
Situationen, in welchen die Steuerung nicht auf die bestmögliche Weise
arbeitet. Weiterhin ist es schwierig, die gesamte Aufzugsgruppe
insgesamt in Betracht zu ziehen.
-
Die
finnische Patentanmeldung
FI 951
925 zeigt ein Verfahren für die Zuteilung von Stockwerkrufen
in einer Aufzugsgruppe, in welcher einige der oben beschriebenen
Probleme beseitigt worden sind. Das Verfahren basiert auf der Bildung
einer Anzahl von Zuweisungsoptionen, von denen jede ein Rufdatenwort
als auch ein Aufzugsdatenwort für
jeden aktiven Stockwerksruf enthält,
und diese Daten zusammen definieren den Aufzug, der den Stockwerkruf
bedient. Hiernach wird der Wert einer Kostenfunktion für jede Zuweisungsoption
errechnet, und eine oder mehrere der Zuweisungsoptionen werden wiederholt mit
Bezug auf wenigstens eins der Datenwörter, die darin enthalten sind,
geändert,
woraufhin die Werte der Kostenfunktionen der so erhaltenen neuen
Zuweisungsoptionen errechnet werden. Basierend auf den Werten der
Kostenfunktionen wird die beste Zuweisungsoption ausgewählt und
die aktiven Aufzugrufe werden entsprechend den Aufzügen in der
Aufzuggruppe zugewiesen.
-
Die
in obiger Anmeldung präsentierte
Lösung
reduziert wesentlich die erforderliche Rechenarbeit verglichen mit
der Notwendigkeit, alle möglichen
Alternativen zu errechnen. In diesem Verfahren, das auf einem genetischen
Algorithmus basiert, wird die Aufzuggruppe insgesamt behandelt,
so dass die Kostenfunktion auf Gruppenniveau optimiert wird. Das
Optimierungsverfahren muss sich nicht beschäftigen mit individuellen Situationen
und Wegen, damit fertig zu werden. Durch Modifizierung der Kostenfunktion
kann die gewünschte
Optimierung erzielt werden. Es ist möglich, z.B. die Fahrgastwartezeit, Rufzeit,
Anzahl der Starts, Fahrzeit, Energieverbrauch, Seilabnutzung, Betrieb
eines individuellen Aufzugs, wenn die Verwendung eines gegebenen Aufzugs
teuer ist, die gleichförmige
Benutzung der Aufzüge
etc. oder eine gewünschte
Kombination dieser Parameter zu optimieren.
-
Die
Lösung
gemäß der oben
genannten Anmeldung reduziert beträchtlich die erforderliche Rechenarbeit
verglichen mit der Notwendigkeit, alle möglichen Zuweisungsoptionen
und ihre entsprechenden Eignungswerte zu errechnen. In Abhängigkeit
von dem Problem kann die Bestimmung eines Eignungswertes für eine gegebene
Zuweisungsoption irgendeine Zeitspanne von wenigen Bruchteilen einer
Sekunde bis zu mehreren Sekunden beanspruchen. Weil genetische Algorithmen
mit einer Anzahl alternativer Lösungen
arbeiten, die weiterentwickelt werden, bis ein Abschlusskriterium
erreicht wird, bedeutet dies, dass die benötigte Zeit für die Lösung des
Problems beträchtlich
sein kann.
-
Jedoch
hat das oben beschriebene Verfahren gewisse Nachteile. Die Rufzuweisung
muss in einer Zeitspanne durchgeführt werden, die so kurz ist, dass
die Person, die den Ruf abgibt, praktisch nichts davon mitbekommt.
Somit müssen
die Aufgaben der Bildung der Zuweisungsoptionen, Berechnung der zugehörigen Eignungsfunktionswerte
und Auswählen
des besten Resultats, die zusammen eine relativ aufwändige Operation
darstellen können,
beispielsweise in weniger als einer halben Sekunde durchgeführt werden
müssen.
-
Es
ist Ziel der vorliegenden Erfindung, die oben erwähnten Nachteile
zu eliminieren. Ein besonderes Ziel der Erfindung besteht darin,
einen neuen Typ eines genetischen Verfahrens anzugeben, das beträchtlich
schneller und akkurater als bekannte Prozeduren ist, und z.B. Echtzeitkorrekturen
erlaubt, auch mit der Rechenkapazität von derzeit erhältlichen
Prozessoren.
-
Hinsichtlich
der für
die Erfindung charakterisierenden Merkmale wird auf die Ansprüche Bezug genommen.
-
Das
genetische Verfahren der Erfindung basiert auf der Einsicht, dass
es nicht notwendig ist, einen Eignungsfunktionswert für jede alternative
Lösung
zu errechnen, sondern insbesondere im letzten Abschnitt des Verfahrens
werden hauptsächlich
Lösungsalternativen
gebildet, für
die ein Eignungsfunktionswert vorher bestimmt worden ist. Diese
Definition kann verwendet werden, um komplexe und zeitraubende Rechnungen
der Eignungsfunktionswerte zu vermeiden.
-
In
dem genetischen Verfahren der Erfindung werden mehrere Zuweisungsoptionen
oder Chromosomen gebildet, von denen jede für jeden aktiven Stockwerkruf
ein Rufdatenwort und ein Aufzugdatenwort enthält und diese Daten, d.h. Gene,
definieren zusammen einen Aufzug, der jeden Stockwerkruf bedienen
soll. Für
jedes so gebildete Chromosom wird ein Eignungsfunktionswert bestimmt.
Hiernach werden ein oder mehrere der Chromosomen mutiert mit Bezug
auf wenigstens eines der Gene, und für die neu erhaltenen Chromosomen
werden Eignungsfunktionswerte bestimmt. Die Suche, d.h. der Prozess
des Bildens neuer Chromosomen wird fortgeführt, bis ein vorbestimmtes
Abbruchkriterium erreicht wird, woraufhin das beste Chromosom auf
der Basis der Eignungsfunktionswerte ausgewählt wird und die Rufe den Aufzügen in der
Aufzuggruppe in Übereinstimmung
mit dieser Lösung
zugewiesen werden. Erfindungsgemäß werden
die Chromosomen und die zugehörigen
Eignungsfunktionswerte in einer Datei gesammelt, einer sogenannten
Gendatenbank. Jedes gebildete Chromosom wird mit dem Chromosom in
der Gendatenbank verglichen und ein Eignungsfunktionswert wird nur
bestimmt für
ein neues Chromosom, das in der Gendatenbank noch nicht gefunden
wird. Hiernach wird das neue Chromosom und der zugehörige Eignungsfunktionswert
der Gendatenbank zugefügt.
Somit wird erfindungsgemäß ein Eignungsfunktionswert
nur einmal für
jedes neue Chromosom berechnet, das in dem Verfahren erzeugt wird
und immer wenn ein Chromosom gebildet wird, das schon einmal in
einem Verfahren vorher aufgetreten ist, wird der zugehörige Eignungsfunktionswert
aus der Gendatenbank ohne Berechnung und zeitaufwändige Operationen
erhalten.
-
In
dem erfindungsgemäßen Verfahren
bildet ein Satz von Zuweisungsoptionen, d.h. Chromosomen, eine Generation,
aus der im Allgemeinen die besten für die Reproduktion zur Bildung
einer neuen Generation von Chromosomen ausgewählt werden. Die neue Generation
wird aus den ausgewählten Chromosomen
gebildet unter Verwendung eines genetischen Algorithmus, über Selektion,
Kreuzung und/oder Mutation.
-
Das
Verfahren der Erfindung kann fortgeführt werden bis das gewünschte Ziel
erreicht worden ist oder bis eine gegebene Anzahl von neuen Generationen
erzeugt worden ist oder das Verfahren kann nach einer gegebenen
Zeitspanne für
die Rechenzeit unterbrochen werden. Ein anderer Umstand, der als Abbruchkriterium
verwendet werden kann, ist eine ausreichende Homogenität der Population.
-
Weil
es möglich
ist, dass sich sehr große
Datenmengen, d.h. Chromosomen und zugehörige Eignungsfunktionswerte,
in der Gendatenbank mit der Zeit ansammeln, wenn das Verfahren angewendet wird,
wird die Gendatenbank vorzugsweise implementiert unter Verwendung
eines Adressbereiches, wobei jedem Chromosom, welches in der Gendatenbank
zu speichern ist, eine Heimadresse zugewiesen wird, die den Ort
des Chromosoms in der Gendatenbank definiert. Die Heimadresse eines
Chromosoms wird vorzugsweise bestimmt von einem oder mehrerer seiner
Gene, vorzugsweise unter Verwendung einer sogenannten Adressberechnungsfunktion.
Die Gene oder Gensequenzen funktionieren somit als Schlüssel zur
Gendatenbank und zu bestimmten darin vorgesehenen Heimadressen.
Eine ideale Adressberechnungsfunktion kann schnell berechnet werden
und ergibt Werte, die gleichermaßen wahrscheinlich sind für jede Heimadresse
in der Gendatenbank. In der Praxis jedoch ist die Verteilung der Heimadressen,
die aus den Genen der Chromosomen berechnet wird, vorher nicht bekannt
und konsequenterweise kann die Anzahl unterschiedlicher Chromosomen
auf der gleichen Heimadresse variieren. Die Definition der Heimadresse
kann basieren z.B. auf dem Gehalt der Gene in dem Chromosom, der
Anzahl der Gene, der Größe der Gendatenbank oder
entsprechender einfacher numerischer Werte, von denen die Heimadresse
bestimmt werden kann durch geeignete Berechnungen oder andere Operationen.
-
Z.B.
kann aus den Genen und Gensequenzen der Chromosomen eine Gendatenbankheimadresse
für jedes
Chromosom errechnet werden, und die gewünschten Daten, die mit den
Chromosomen assoziiert sind, werden unter dieser Adresse gespeichert, was
eine schnelle Anordnung der Daten erlaubt. Jedes Chromosom kann
ein oder mehrere Gene umfassen und prinzipiell kann jedes Gen aus einem
oder mehreren Bits bestehen. Somit können die Gene in Abhängigkeit
von der Interpretation z.B. binär
oder ganze Zahlen sein.
-
Die
Heimadresse für
ein gegebenes Chromosom kann definiert werden, z.B. indem zuerst
die Summe der Werte in seinen individuellen Genen berechnet wird,
woraufhin die Heimadresse letztlich berechnet werden kann, indem
der Rest des berechneten Wertes verwendet wird. Mit anderen Worten,
der Wert, der aus den Genen des Chromosoms berechnet wird, wird
durch die Größe der Gendatenbank
geteilt, womit ein Rest erhalten wird, dessen Wert in dem Bereich
von 0 – (Gendatenbankgröße – 1) liegt und
dieser Wert wird als die Heimadresse des Chromosoms in der Gendatenbank
vergeben.
-
Chromosomen,
die die gleiche Heimadresse haben, können miteinander verknüpft werden,
um Ketten unbegrenzter Länge
zu bilden, in welchem Fall die maximale Tiefe der Gendatenbank unbegrenzt
ist. Andererseits kann die durch die Chromosomen mit der gleichen
Heimadresse gebildete Kette implementiert werden als eine feste
Tabelle einer gegebenen Länge,
sodass wenn die Tabelle voll ist, eines der Chromosomen aus der
Tabelle entfernt wird, wenn ein neues Chromosom darin gespeichert
werden soll. Wenn die Tabelle voll wird, ist das zu entfernende
Chromosom vorzugsweise das Letzte in der Tabelle, es können jedoch
auch andere Kriterien verwendet werden. Z.B. ist es möglich, das älteste Chromosom
in der Tabelle zu entfernen oder das Chromosom, das den geringsten
Eignungsfunktionswert hat.
-
In
dem Verfahren der Erfindung wird die Suche mit dem Passieren der
Generationen üblicherweise
verstärkt
fokussiert auf einen bestimmten Bereich des zu suchenden Adressfeldes.
Daher wird das Chromosom, das zu Beginn einer Lösungssuche auftrat, sich ändern, und
gleichzeitig wird der genetische Algorithmus beginnen, Chromosomen
zu generieren, die beträchtlich
von dem Chromosom zu Beginn abweichen. Wenn neue Chromosomen in
der Gendatenbank gespeichert werden, kann dieser Umstand verwendet
werden, indem das neue Chromosom in der ersten Position der Kette,
startend von der Heimadresse, gespeichert wird. Auf diese Weise
bewegen sich die älteren
Chromosomen automatisch weiter und weiter weg von dem Beginn der
Kette. Weil es wahrscheinlicher ist, dass neue Chromosomen eine
engere Ähnlichkeit
zu den jüngeren
Chromosomen an der Heimadresse in der Gendatenbank aufweisen, als
zu den älteren
Chromosomen, können die bereits
aufgetretenen generierten Chromosomen wieder schnell am Beginn der
Heimadresse in der Gendatenbank ausgemacht werden.
-
Bei
der Technik, die verwendet wird, um die Chromosomen in der Gendatenbank
zu speichern, ist es auch möglich
eine adaptierbare Gendatenbankdatenstruktur zu verwenden. Wenn während einer
Suche bestimmte Chromosomen deutlich häufiger als andere auftreten,
ist es vorteilhaft, diese Chromosomen an oder nach dem Beginn der
Ketten anzuordnen, um eine schnellere Suche zu ermöglichen.
Wenn man nach einem Chromosom sucht und es in einer Kette findet,
wird es vorzugsweise gleichzeitig näher zu dem Beginn der Kette
verschoben. So kann ein Chromosom, das an einer gegebenen Heimadresse
gefunden wurde, an die erste Stelle der Kette versetzt werden oder
es kann um einen gegebenen Wert, z.B. um ein paar Positionen in
Richtung des Kettenbeginns verschoben werden.
-
Die
Gendatenbank kann auch konstruiert werden unter Verwendung einer
ringförmigen
Verzeichnisstruktur, die aus Elementen bestehen, die in zwei Richtungen
miteinander verknüpft
sind. In diesem Fall wird ein Verweis vorgesehen von der Heimadresse,
die diesem Ring entspricht zu einer der Elemente. Jedes Element
enthält
einen Platz für
ein Gendatenwort, ein Eignungsdatenwort und ein Gültigkeitsdatenwort,
d.h. ein Statusdatenwort, das anzeigt, ob das Element Daten enthält oder
ob es leer ist.
-
Die
ringförmige
Verzeichnisstruktur wird z.B. im Uhrzeigersinn gelesen, bis die
gesuchten Gene gefunden werden. Wenn die Gendaten, nach denen gesucht
wird, in dem Verzeichnis nicht gefunden werden, wird das Lesen beendet,
wenn der Beginn des Verzeichnisses nach einem vollen Kreis wieder
erreicht wird. Wenn das Verzeichnis nicht voll ist, wird das Lesen
nur fortgeführt,
bis die gültigen
Daten ein Leerelement anzeigen, was anzeigt, dass das Ende der Daten
erreicht wurde.
-
Wenn
die Liste oder das Verzeichnis im Uhrzeigersinn gelesen werden,
dann werden die Daten in die ringförmige Verzeichnisstruktur gegen
den Uhrzeigersinn geschrieben und die Heimadressreferenz wird geändert, so
dass sie auf ein neues geschriebenes Element zeigt, von welchem
der nächste Schreib-
oder Lesevorgang beginnen soll.
-
Die
in der Gendatenbank gespeicherten Daten umfassen vorzugsweise auch
zusätzliche
Informationen über
das Chromosom, wie z.B. die Generation oder die laufende Nummer.
-
Das
erfindungsgemäße Verfahren
hat signifikante Vorteile verglichen mit dem Stand der Technik. Das
Verfahren erlaubt eine wesentlich schnellere Aktion des genetischen
Algorithmus, insbesondere wenn die Zielfunktion des zu lösenden Problems komplex
ist und viel Rechenkapazität
erfordert. Zusätzlich
zur Beschleunigung der Optimierung besteht ein weiterer Vorteil
darin, dass der genetische Algorithmus eine bessere Lösung bereitstellt,
wenn eine bestimmte vorab zugewiesene feste Zeitspanne verwendet
wird. Die durch die schnellere Optimierung gesparte Zeit kann auch
verwendet werden für
eine gründlichere
Analyse des Suchbereichs, was zu einer erhöhten Sicherheit führt, dass
die Lösung
eine gute ist und zu der Wahrscheinlichkeit, dass die Lösung auch
eine bessere Qualität
hat.
-
Obwohl
das erfindungsgemäße Verfahren vorab
für die
Steuerung einer Aufzugsgruppe beschrieben wurde, beschreibt sie
ein allgemein gültiges
und verwendbares Verfahren für
eine schnellere und effektivere genetische Berechnung und Optimierung.
Sie kann auch verwendet werden für
eine genetische Parallelberechnung und in einer dezentralisierten
Computerumgebung. Die effektivere Verarbeitung durch das Verfahren
der Erfindung ist signifikant bei der Echtzeitsteuerung (wenn das
zu lösende
Problem in Echtzeit auftritt) und im Fall von Problemen, die besonders
schwere Berechnungen und/oder Simulation erfordern.
-
Nachfolgend
wird die Erfindung detailliert unter Bezug auf die beigefügten Zeichnungen
beschrieben. In diesen zeigen:
-
1 ein
Blockdiagramm des erfindungsgemäßen Verfahrens,
-
2 ein
Blockdiagramm für
die Festlegung der Heimadresse,
-
3 eine
Gendatenbankdatenstruktur,
-
4 eine
andere Gendatenbankdatenstruktur, und
-
5 eine
dritte Gendatenbankdatenstruktur.
-
1 zeigt
die unterschiedlichen Schritte des erfindungsgemäßen Verfahrens. Das Aufzugsteuerungssystem
beginnt eine Rufzuteilung, Startblock 1, wenn wenigstens
ein Stockwerkruf einem Aufzug zugeteilt werden muss. Die Länge des
Aufzugchromosoms wird bestimmt durch Faktoren wie die Anzahl der
gerade aktiven Stockwerkrufe und die Anzahl der verfügbaren Aufzüge. In Block 2 wird
eine erste Generation von Zuweisungsoptionen oder Chromosomen generiert
auf der Basis der ursprünglichen
Daten, d.h. durch einen stochastischen Prozess. Die erste Generation
von Chromosomen kann erzeugt werden z.B. durch einen stochastischen
Prozess, bzw. Zufallsprozess, teilweise basierend auf einem früheren Zuweisungsergebnis
oder durch Verwendung direkter kollektiver Steuerung als Startpunkt.
-
Hiernach
werden die Chromosomen dieser Generation einer nach dem anderen
untersucht, so wird in Block 3 einer der Chromosomen der
Generation verwendet. In Block 4 wird für das Chromosom eine Heimadresse
gebildet. 2 zeigt ein Blockdiagramm, das
die Art der Festlegung der Heimadresse zeigt, wie sie später detaillierter
beschrieben wird. In Block 4 findet das Verfahren heraus,
ob ein entsprechendes Chromosom bereits in der Gendatenbank existiert.
Wenn kein solches Chromosom gefunden wird, dann ist das Chromosom
ein neues und in Block 6 wird ein Eignungswert dafür berechnet
und die Daten werden in der Gendatenbank gespeichert.
-
Wenn
das Chromosom in der Gendatenbank gefunden wird, dann wird sein
Eignungswert von der Gendatenbank in Block 7 erhalten und
dieser Eignungswert wird dem Chromosom zugewiesen. Darüber hinaus,
wenn das Chromosom in der Gendatenbank gefunden wird, können nur
die Daten in der Gendatenbank umgeordnet werden für das fragliche Chromosom.
-
Wenn
noch nicht alle Chromosomen der Generation untersucht worden sind,
springt das Verfahren vom Block 8 zu Block 3 zurück, wo das
nächste Chromosom
für die
Untersuchung hergenommen wird. Nachdem die gesamte Generation untersucht worden
ist, geht das Verfahren von Block 8 zu Block 9,
wo ein Test durchgeführt
wird, um zu bestimmen, ob das Abbruchkriterium erfüllt ist.
-
In
Block 9 wird z.B. auf der Basis des Eignungswertes, der
verbrauchten Rechenzeit oder der Anzahl der bereits durchgeführten Verarbeitungszyklen
eine Abschätzung
durchgeführt,
um zu entscheiden, ob das Verfahren weitergeführt werden soll, oder ob die
bisher erhaltenen besten Werte akzeptiert werden sollen. Wenn die
Kriterien für
die Beendigung des Zuweisungsprozesses erfüllt sind, geht das Verfahren
weiter zu Block 10 und die Stockwerkrufe werden den Aufzügen in Übereinstimmung
mit dem besten Chromosom zugewiesen, woraufhin die Steuerung über den
Endblock 11 an das Aufzugsteuerungssystem übergeben
wird.
-
Wenn
die Abbruchkriterien in Block 9 noch nicht erfüllt sind,
geht das Verfahren auf Block 12, wo basierend auf den Eignungsfunktionswerten
das beste oder andernfalls brauchbarste oder interessanteste Chromosom/Chromosomen
ausgewählt
wird/werden und zumindest für
die nächste
Generation gespeichert wird/werden. Von den so gewählten Chromosomen
wird nach dem genetischen Algorithmus eine neue Chromosomengeneration
erzeugt: Geeignete Chromosomen werden für die weitere Optimierung ausgewählt, ein
neues Chromosom wird von zwei älteren
Chromosomen durch Auswahl einiger der Gene von beiden und/oder die
Gene eines älteren
Chromosoms werden hinsichtlich einiger Aspekte durch Zufallsmutation
geändert.
Es ist möglich
z.B. den Wert eines Gens mit einer gegebenen Wahrscheinlichkeit
innerhalb der Grenzen eines gegebenen Wertebereichs zu ändern.
-
Die
neu erhaltene Chromosomengeneration wird ein Chromosom nach dem
anderen in Block 3 getestet, und dieser Prozess wird durchgeführt von Generation
zu Generation, bis das Abbruchkriterium erfüllt ist.
-
Wie
aus dem beiliegenden Blockdiagramm ersichtlich ist, reduziert die
Gendatenbank signifikant die Anzahl an Rechenzyklen, die benötigt wird,
um die Eignungsfunktionswerte zu bestimmten. Die tatsächlich gesparte
Zeit ist nicht direkt proportional zur Anzahl der Rechenzyklen.
Die Zeit, die durch die Tätigkeit
der Gendatenbank verbraucht wird, muss ebenfalls berücksichtigt
werden. Die Gendatenbank wird nur dann produktiv, wenn die Verarbeitungszeit durch
die Gendatenbank geringer ist, als die Zeit, die gespart wird durch
Vermeiden der Berechnung der Eignungsfunktionswerte. Daher bringt
bei sehr einfachen Eignungsfunktionen die Gendatenbank keinen Vorteil
in Bezug auf die Rechengeschwindigkeit. Die Verwendung der Gendatenbank
in dem genetischen Algorithmus verdient die Berücksichtigung, wenn die durchschnittliche
Verarbeitungszeit der Gendatenbank, die in Such- und Schreiboperationen
und möglicherweise
in dynamischer Speicherzuweisung besteht, kürzer ist als die Zeit, die
benötigt
wird für
die Berechnung eines einzelnen Eignungsfunktionswertes. Die Verarbeitungstätigkeiten
sind schnell und können
effektiv ausgeführt
werden.
-
Die
Heimadresse in Block 4 kann errechnet werden z.B. in Übereinstimmung
mit dem Blockdiagramm in 2. Das Prinzip dieses Beispiels
besteht darin, dass die Werte der einzelnen Gene des zu prüfenden Chromosoms
zuerst zusammenaddiert werden, woraufhin eine finale Heimadresse
dafür errechnet
werden kann, indem der Rest von dem so erhaltenen Wert genommen
wird. Der Wert des Gens z.B. in einer Aufzugsanwendung kann die
Nummer des Aufzugs sein, der den Stockwerkruf bedienen soll. Mit
anderen Worten, der Wert der aus den Genen des Chromosoms errechnet
wird, wird dividiert durch die Größe bzw. Breite der Gendatenbank,
so dass der Rest ein Wert im Bereich von 0 – (Gendatenbankbreite bzw.
Gendatenbankgröße –1) ist,
und dieser Wert wird der Gendatenbank als Heimadresse des Chromosoms
gegeben. Wenn das Verfahren die Berechnungsphase für die Heimadresse
erreicht, geht es über
den Startblock 20 zum Block 21, wo ein zwischenzeitlicher
Startwert für
die Heimadresse auf 0 und eine Variable g auf 1 gesetzt wird. Im
Block 22 wird ein Test durchgeführt, um zu bestimmen, ob die Variable
g größer ist
als die Anzahl der Gene in dem zu untersuchenden Chromosom. Im negativen
Fall wird ein neuer zeitweiser Wert für die Heimadresse errechnet,
indem der Wert der Gennummer g zu dem zeitweisen Wert der Heimadresse
addiert wird und g wird in Block 23 um 1 erhöht und die
Aktion wird wiederholt startend von Block 22. In einem
positiven Fall geht das Verfahren von Block 22 zu Block 24,
wo die Heimadresse auf den Wert des zeitweisen Heimadresswertes
MODULO Gendatenbankbreite gesetzt wird.
-
3 zeigt
eine Gendatenbankstruktur, bei welcher eine Gendatenbankbreite 30 bestimmt
wird, aufgrund der Anzahl von Heimadressen 31, während die
Tiefe 32 der Datenbank unbegrenzt ist. Somit ist es möglich, an
jeder Heimadresse eine unbegrenzte Anzahl von Chromosomen 33 und
korrespondierenden, errechneten Eignungsfunktionswerten 34 als verlinkte
Kette startend von der Heimadresse zu speichern. Daher kann jede
Heimadresse 31 keine oder mehrere Chromosomen enthalten,
deren Position in der Gendatenbank, d.h. Heimadresse, aus einem
oder mehreren Genen des Chromosoms errechnet werden kann unter Verwendung
einer geeigneten Adressberechnungsfunktion. Ein neues Chromosom und
der entsprechende Eignungswert werden immer in der ersten Position
in der Kette gespeichert, so dass die bereits in der Kette befindlichen
Chromosomen weitergeschoben werden.
-
4 zeigt
eine Gendatenbankanwendung, bei welcher die Breite der Gendatenbank 40 durch die
Anzahl der Heimadressen 41 definiert ist und die Tiefe 42 der
Gendatenbank begrenzt ist. In diesem Fall ist es an jeder separaten
Heimadresse 41 nur möglich,
eine gewisse Menge an Daten, d.h. eine gewisse Menge an Chromosomen
und dazugehörigen Eignungswertfunktionswerten 44 zu
speichern. Wenn ein neues Chromosom und sein Eignungswert in der
ersten Position in der Tabelle an einer gegebenen Heimadresse gespeichert
werden, wird das Letzte an dem Ende der Tabelle entfernt, wenn die
Tabelle voll ist. Dieses Chromosom und der zugehörige Eignungswert, die von
der Tabelle entfernt wurden, sind die ältesten Daten an der fraglichen
Heimadresse und sehr wahrscheinlich ist dies das Chromosom in der
Tabelle, das die geringste Beziehung zu dem gewünschten Endresultat des Verfahrens
aufweist. Daher wird die Entfernung dieser Daten nicht die Erzielung
eines optimalen Resultats in dem Verfahren beeinträchtigen.
Weil die Tiefe der Heimadresse begrenzt ist, kann sie während einer
Suche schnell untersucht werden, um ein Chromosom entsprechend einem
neu geschaffenen Chromosom zu finden. Darüber hinaus, besteht eine hohe
Wahrscheinlichkeit, dass das neu erzeugte Chromosom selbst in einer
relativ kurzen Heimadresse gefunden werden kann, weil neue Chromosomen
eine engere Beziehung zu den jüngeren
Chromosomen in der Gendatenbank und den Ketten aufweisen als zu
den älteren.
-
5 zeigt
eine dritte Datenbankanwendung, bei der die Breite bzw. Größe der Datenbank durch
die Anzahl der Heimadressen 51 bestimmt ist. Von jeder
Heimadresse in der Adressberechnungstabelle gibt es einen Verweis
auf eine Listenstruktur oder Verzeichnisstruktur, die aus Elementen 52 besteht,
die in zwei Richtungen miteinander verlinkt sind und in einem Ring
angeordnet sind. Die Anzahl der Elemente in dem Ring bestimmt die
Tiefe der Gendatenbank.
-
Jedes
Element 52 hat einen Platz für Gendaten, Eignungsdaten und
Gültigkeitsdaten,
d.h. Statusdaten, die anzeigen, ob das Element leer ist oder ob
es Gendaten enthält.
Die verlinkte Liste oder Verzeichnisstruktur wird in Uhrzeigerrichtung 53 gelesen,
bis die gewünschten
Gene gefunden sind oder bis der Beginn der Liste nach einem Vollkreis
wieder erreicht ist. Insbesondere in den frühen Stationen des Verfahrens
ist die Liste oft nur teilweise gefüllt, so dass es zur Beschleunigung
des Verfahrens nicht nötig
ist, jedesmal durch die gesamte Liste zu suchen. Aus diesem Grund
enthalten die Elemente ein Gültigkeitsdatenwort,
so dass die Suche in der Liste beendet werden kann, sobald das erste
Gültigkeitsdatenwort
ein leeres Element anzeigt.
-
Die
Daten werden in dem verlinkten Ring in entgegengesetzter Richtung
zur Leserichtung 53 geschrieben, d.h. gegen den Uhrzeigersinn 54.
Hierfür wird
das Element, das dem Heimadressenverweis 55 vorausgeht,
ausgewählt,
und die Gene als auch die Eignungswerte, wie auch die Gültigkeitswerte
werden dort hineingeschrieben. Zusätzlich wird der Heimadressenverweis 55 gemacht,
um zu dem neuen gerade geschriebenen Element zu verweisen. Somit überschreiben
die neuesten Daten immer die ältesten
Daten im Ring und der Ring wird gelesen startend von den neuesten
Daten und fortfahrend zu den zweitneuesten Daten in Richtung der ältesten
Daten. Es ist selbstverständlich
auch möglich,
den verlinkten Ring in entgegengesetzter Richtung zu verwenden, in
welchem Fall der Leseprozess gegen den Uhrzeigersinn erfolgt und
der Schreibprozess im Uhrzeigersinn.
-
Vorangehend
wurde die Erfindung beispielsweise unter Bezug auf die beigefügten Zeichnungen beschrieben.
Es sind jedoch unterschiedliche Ausführungsformen möglich innerhalb
des Schutzbereichs der Erfindungsidee, wie sie in den Ansprüchen definiert
ist.