-
HINTERGRUND
DER ERFINDUNG
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf ein autonomes evolutionsartiges
Hardwareentwurfssystem. Insbesondere bezieht sich die vorliegende Erfindung
auf ein autonomes evolutionsartiges Hardwareentwurfssystem, bei
dem eine Hardwarespezifikation autonom gemäß ihrer Verwendungsaufgabe entwickelt
und adaptiert wird, ohne manuell Hardware zu entwerfen.
-
Beschreibung
der Hintergrundstechnik
-
Der
Anwendungsbereich von elektronischen Schaltungen hat im Zuge des
Fortschritts der Technologie hochintegrierter Schaltkreise (LSI)
zugenommen, was einen Bedarf an unterschiedlichen Arten von Hardwares
von hoher Schaltkreiskomplexität hervorrief.
Da es nahezu unmöglich
ist, eine solche komplexe Hardware vollständig per Hand zu entwerfen,
sind unterschiedliche computerunterstützte Entwurfs(CAD)-Systeme
entwickelt worden.
-
6 ist
ein Blockdiagramm eines Beispiels eines solchen CAD-Systems. Im
Designbetrieb unter Verwendung des Systems von 6 gibt
der Entwerfer zuerst über
die Eingabeeinheit 21 ein Programm zur Hardwarebeschreibungssprache
(HDL) ein, um Schaltkreisbetriebe zu beschreiben. Die angegebene Quelle
wird in der HDL-Quelle 22 gespeichert. HDL ist lediglich
ein Beispielsweg der Beschreibung des Schaltkreisbetriebs, und es
können
unterschiedliche HDLs in Betracht gezogen. werden, wie eine die
Verbindung einer Transistorschaltung beschreibende HDL, eine eine
Netzliste einer Logikgate (Verknüpfungsglied) beschreibende
HDL, und eine HDL, die eine Hardwarespezifikation eines höheren Pegels
als dem Schaltkreisbetrieb beschreibt.
-
Die
in der HDL-Quelle 22 gespeicherte Schaltkreisbeschreibung
wird einem Simulator 23 geliefert, wo grammatische bzw.
grammatikalische Beschreibungsfehler geprüft werden. Als nächstes erfolgt
durch Simulation eine Bestätigung,
ob der beschriebene Schaltkreis einen bezüglich eines Eingabesignals
erwarteten Betrieb durchführt.
Dann wird die Beschreibung des Schaltkreises einem Synthetisierer 24 geliefert,
wo durch ein Synthetisierprogramm Schaltkreisdiagrammdaten 25 oder
Maskenmusterdaten 26 zur LSI-Herstellung erzeugt werden.
-
Eine
Beschreibung des Schaltkreises unter Verwendung einer HDL muß zuerst
manuell durchgeführt
werden, selbst wenn das CAD-System von 6 verwendet
wird. Die Beschreibung eines Schaltkreises, der für seine
Verwendungsaufgabe mittels einer HDL adaptierbar ist, erfordert
Training und Geschick.
-
Im
allgemeinen gibt es viele Wege, Schaltkreise mittels HDL zu beschreiben,
die einen Betrieb durchführt,
der für
ihre Verwendungsaufgabe anwendbar ist. Insbesondere wenn deren Architektur sich
voneinander unterscheidet, variiert die Form der Beschreibung deutlich.
Die etwaigen Schaltungen, die sich in der Beschreibung unterscheiden,
besitzen häufig
hinsichtlich ihrer Leistungsfähigkeit
wie etwa der Ansprechgeschwindigkeit einen deutlichen Unterschied,
selbst wenn ihr Betrieb identisch ist. Es gibt im allgemeinen keinen
Weg, festzustellen, welche Architektur die allerbeste ist, da dies
vom Inhalt des Eingabesignals abhängt. Selbst ein geschickter Entwerfer
kann nicht ohne weiteres die beste Architektur bestimmen.
-
Bezüglich des
Problems, eine passende Architektur auszuwählen, gibt es lediglich die
Methode, eine Computersimulation auf der Basis einer Vielzahl von
Entwurfsbeispielen, die zuvor hergestellt wurden, durchzuführen, oder
tatsächlich
eine LSI-Schaltung herzustellen und sie unter wirklichen Umgebungsbedingungen
zu verwenden, um die Leistungsfähigkeit
davon zu vergleichen.
-
Da
für das
Entwerfen viel Manpower erforderlich ist, selbst wenn ein CAD-System
verwendet wird, können
lediglich ein Typ oder bestenfalls wenige Typen von Entwurfsbeispielen
hergestellt werden. Anstelle des Entwerfens einer optimalen Schaltung wird
eine Schaltung, die betriebsfähig
ist, provisorisch erzeugt, von der die Leistungsfähigkeit
dann je nach Geschick und Erfahrung des Entwerfers zu verbessern
ist.
-
Aus
den Proceedings of the Fifth International Conference on Genetic
Algorithms, 17. Juli 1993, U. S. A., S. 432–438, Martin et al. "Genetic Algorithms
for Optimization of Integrated Circuit Synthesis", das die Grundlage des Oberbegriffs
des Anspruchs 1 bildet, kann ein Hardwarespezifikationssystem zum
Entwerfen einer Hardware einer elektronischen Schaltung entnommen
werden, die ein Hardwarespezifikationsbeschreibungsmittel zum Beschreiben
einer Spezifikation einer Hardware, ein Fitneßberechnungsmittel zum Berechnen
einer Fitneß der
Hardware, und ein Modifikationsmittel, das die Hardware verändert, umfaßt.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Angesichts
des Vorangehenden ist eine Hauptaufgabe der vorliegenden Erfindung,
ein autonomes evolutionsartiges Hardwareentwurfssystem einer hohen
Zuverlässigkeit
bereitzustellen, das eine für
seine Verwendungsaufgabe am besten geeignete Architektur finden
und erzeugen kann, indem autonom eine Schaltung erzeugt wird, die
zu seiner Verwendungsaufgabe paßt,
und wobei eine Vielzahl von Schaltungen hergestellt wird, die sich
hinsichtlich der Architektur unterscheiden.
-
Diese
Aufgabe wird durch ein autonomes evolutionsartiges Hardwarespezifikationssystem
gemäß Anspruch
1 gelöst.
-
Gemäß der vorliegenden
Erfindung wird eine Spezifikation einer beschriebenen Hardware interpretiert,
um einen Betrieb dieser Hardware zu erzeugen, eine Fitneß wird durch
Verwendung der folgenden Hardware berechnet, auf der Basis des erzeugten
Hardwarebetriebs und der erforderlichen Betriebsspezifikation, und
die Beschreibung der Hardware wird modifiziert durch Bezugnahme
auf die berechnete Fitneß.
-
Somit
kann bei der vorliegenden Erfindung auf autonome und evolutionäre Weise
eine Hardware entworfen werden, die einen Betrieb durchführt, der für ihre Verwendungsaufgabe
geeignet ist, und aus einer Vielzahl von Architekturen wird eine
optimale Hardware erhalten, die der Verwendungsaufgabe am besten
genügt.
-
Die
Hardwarespezifikation wird unter Verwendung einer Hardwarebeschreibungssprache
ausgedrückt,
wobei ein Abschnitt der Hardwarespezifikationsbeschreibung durch
eine Beschreibung ersetzt wird, die zu diesem Abschnitt grammatisch äquivalent
ist.
-
Gemäß der vorliegenden
Erfindung kann eine grammatisch korrekte, aussagekräftige Spezifikationsbeschreibung
erhalten werden, ohne daß eine sinnlose
Beschreibung mit einem Fehler in der Grammatik erzeugt wird.
-
Gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung wird auch eine Vielzahl von Hardwarespezifikationen beschrieben.
Eine Beschreibungsmodifikation wird unter Verwendung von genetischen
Algorithmen auf der Basis der Fitneß dieser Vielzahl von Hardwarespezifikationen
durchgeführt.
-
Durch
Verwendung der genetischen Algorithmen kann eine Hardwarespezifikationsbeschreibung, die
dem Anwendungsproblem genügt,
schnell erhalten werden.
-
Gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung wird ferner eine ein Applikationsproblem
anzeigende Information eingegeben. Gemäß dieser Information und der
durch die Hardwarespezifikationsbeschreibung beschriebene Spezifikation
wird ein Betriebsergebnis berechnet, das angibt, wie die tatsächliche,
durch die Hardwarespezifikationsbeschreibung erhaltene Hardware
im Verhältnis
zum Applikationsproblem betrieben wird. Dann wird eine Fitneß berechnet,
die den Grad der Fitneß des
Betriebsergebnisses im Vergleich zum Applikationsproblem wiedergibt.
Die momentane Hardwarespezifikationsbeschreibung wird gemäß diesem
Berechnungsergebnis modifiziert.
-
Die
vorangehenden und weiteren Aufgaben, Merkmale, Gegenstände und
Vorteile der vorliegenden Erfindung werden aus der nachfolgenden
detaillierten Beschreibung der vorliegenden Erfindung bei Betrachtung
im Zusammenhang mit den beigefügten Zeichnungen
deutlicher.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm, das eine Ausführungsform
der vorliegenden Erfindung zeigt.
-
2 ist
ein Blockdiagramm, das eine spezielle Ausführungsform der vorliegenden
Erfindung zeigt.
-
3 zeigt
eine Hardwarespezifikationsbeschreibung gemäß einer Hardwarebeschreibungssprache.
-
4 ist
ein Diagramm zum Beschreiben eines äquivalenten Grammatikersatzes.
-
5 ist
ein Fließdiagramm
zum Beschreiben des Betriebs genetischer Algorithmen.
-
6 ist
ein Blockdiagramm zum Beschreiben eines herkömmlichen computerunterstützten Entwurfs(CAD)-Systems
einer elektronischen Schaltung.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
In
einer in 1 und 2 gezeigten Hardwarespezifikationsbeschreibungseinheit 1 wird eine
wie in 3 gezeigte Beschreibung ausgeführt. Vor der Beschreibung des
vollständigen
autonomen evolutionsartigen Hardwareentwurfssystems von 1 und 2 wird
eine Hardwarespezifikationsbeschreibung von 3 beschrieben.
-
Bei 3 werden
zuerst die in einer Hardwareschaltung verwendeten Elemente deklariert.
Der Bereich zwischen einem Komponentendeklarierungsbeginn und einem
Komponentendeklarierungsende besteht in der Deklarierung der Elemente.
Im Beispiel von 3 wird das als "in1" bezeichnete Terminal
als ein Eingabeterminal deklariert. Ein als "out1" bezeichnetes
Terminal wird als ein Ausgabeterminal deklariert. Ferner wird ein
als "Zähler" bezeichnetes Element
als ein Register deklariert. Die Deklarierung "Modell" in der nächsten Zeile impliziert, daß eine bestehende
Hardwareschaltung als Makro verwendet werden wird. Im vorliegenden
Beispiel erfolgt eine Deklarierung, daß eine Hardwareschaltung in
der Form eines "INCREMENT" unter dem Namen "incr1" verwendet wird.
-
Im
Abschnitt zwischen dem Betriebsdefinitionsbeginn und dem Betriebsdefinitionsende
wird der gewünschte
Betrieb der Hardware beschrieben. Im vorliegenden Beispiel wird
der Inhalt des Eingabeterminals "in1" in das als "Zähler" bezeichnete Register eingegeben. Unter
Verwendung der Ausgabe dieses Registers als eine Eingabe wird die
als "incr1" bezeichnete Hardwareschaltung
vom "INCREMENT"-Typ betrieben. Die
Ausgabe davon wird an den "Zähler" appliziert, und
der Inhalt des "Zählers" wird zum Ausgabeterminal "out1" geliefert.
-
Obgleich
das Beispiel von 3 eine Hardwareschaltung zeigt,
die durch einen Betrieb eines höheren
Pegels gemäß einer
Hardwarebeschreibungssprache beschrieben wird, kann die Hardware durch
den Transistorpegel oder den Gatepegel beschrieben werden. Das autonome
evolutionsartige Hardwareentwurfssystem von 1 hängt nicht
von der Hardwarebeschreibungssprache ab.
-
Nachfolgend
wird eine Ausführungsform
eines autonomen evolutionsartigen Hardwaredesignsystems unter Bezugnahme
auf 1 beschrieben. Eine Hardwarespezifikationsbeschreibungseinheit 1 schließt einen
Speicher ein, in dem eine Hardwarespezifikationsbeschreibung 2 zum
Beschreiben einer Spezifikation eines Hardwareergebnisses geschrieben
ist. Die Hardwarespezifikationsbeschreibung 2 wird an eine
Hardwarespezifikationsinterpretationseinheit 3 über eine
Signalleitung 8 und an eine Beschreibungsmodifikationseinheit 6 angelegt.
Eine Eingabe/Ausgabeeinheit 4 wird bereitgestellt, um ein ein
Applikationsproblem wiedergebendes Signal 7 der Hardwarespezifikationsinterpretationseinheit 3 einzugeben.
Ein Applikationsproblem bezieht sich hier auf eine Aufgabe, die
durch die Hardware zu erreichen ist, die nun geschaffen wird. Die
Eingabe/Ausgabeeinheit 4 liefert das das Eingabe-Applikationsproblem
darstellende Eingabesignal über
die Signalleitung 7 der Hardwarespezifikationsinterpretationseinheit 3 und
der Fitneßberechnungseinheit 5. Die
Hardwarespezifikationsinterpretationseinheit 3 berechnet
ein Betriebsergebnis, welches angibt, wie die durch die Hardwarespezifikationsbeschreibung 2 erhaltene,
aktuelle Hardware in Bezug auf das Applikationsproblem gemäß dem Signal 7,
das das von der Eingabe/Ausgabeeinheit 4 eingegebene Applikationsproblem
darstellt, und dem Inhalt der Hardwarespezifikationsbeschreibung 2,
die durch ein von der Hardwarespezifikationsbeschreibungseinheit 1 geliefertes
Signal 8 eingegeben wird, betrieben wird. Die Hardwarespezifikationsinterpretationseinheit 3 liefert ein
Signal, das das Betriebsergebnis davon darstellt, zur Eingabe/Ausgabeeinheit 4.
Die Eingabe/Ausgabeeinheit 4 liefert das das Betriebsergebnis
darstellende Signal 9 zur Fitneßberechnungseinheit 5.
Die Fitneßberechnungseinheit 5 berechnet
eine Fitneß bzw.
Paßgenauigkeit,
die angibt, wie gut das das Betriebsergebnis darstellende Signal 9 der
Spezifikationsbeschreibung 2 zum Signal 7 paßt, das
das Applikationsproblem darstellt. Ein Signal 10, das die
Fitneßbeurteilung
des Berechnungsergebnisses wiedergibt, wird in die Beschreibungsmodifikationseinheit 6 eingegeben.
-
Die
Beschreibungsmodifikationseinheit 6 modifiziert die momentane
Hardwarespezifikationsbeschreibung 2 auf der Basis des
Signals 10, welches eine Fitneßbeurteilung davon darstellt,
um automatisch eine neue Spezifikationsbeschreibung zu erzeugen.
Dies wird zur Hardwarespezifikationsbeschreibungseinheit 1 als
ein Signal 11 geliefert. Der Inhalt, der als Signal 11 ausgegeben
wird, wird zum neuen Inhalt für
die Hardwarespezifikationsbeschreibung 2. Während dieser
automatischen Erzeugung einer neuen Spezifikationsbeschreibung wird
der Austausch einer Beschreibung, die grammatisch äquivalent
ist, verwendet, was später
beschrieben werden wird. Indem die neue Spezifikationsbeschreibung
auf die Hardwarespezifikationsbeschreibung 2 durch das
neu erzeugte Signal 11 von der Beschreibungsmodifikationseinheit 6 appliziert
wird, und indem die Ausführung
des oben beschriebenen Betriebs wiederholt wird, wird eine Hardwarespezifikationsbeschreibung,
die immer mehr eine größere Fitneß im Verhältnis zum
Applikationsproblem besitzt, erzeugt, was schließlich zu einer Spezifikationsbeschreibung
führt,
die eine Hardware verwirklicht, die dem Applikationsproblem vollständig genügt.
-
Nachfolgend
wird der Austausch der Spezifikationsbeschreibung mit einer grammatisch äquivalenten
Beschreibung beschrieben. Eine Spezifikationsbeschreibung stellt
einen Satz dar, der unter Verwendung einer Hardwarebeschreibungssprache
geschrieben wurde. Deshalb muß die
Spezifikationsbeschreibung der Grammatik der verwendeten Hardwarebeschreibungssprache
genügen.
Wenn eine zufällige
Modifikation auf die Spezifikationsbeschreibung appliziert wird,
ohne irgendein besonderes Schema bereitzustellen, ist die Wahrscheinlichkeit, als
Ergebnis eine grammatisch korrekte Beschreibung zu erhalten, gering.
Die Aufgabe, eine Spezifikationsbeschreibung zu erhalten, die in
Bezug auf das Applikationsproblem eine höhere Fitneß bzw. Paßgenauigkeit aufweist, kann
nicht erreicht werden. Somit wird zur Modifikation der Spezifikationsbeschreibung
ein Schema eingeführt,
bei dem ein Abschnitt der Spezifikationsbeschreibung durch eine Teilbeschreibung
ersetzt wird, die zu der bestimmten Teilbeschreibung grammatisch äquivalent
ist. Durch die Einführung
dieses Schemas kann eine aussagefähige Spezifikationsbeschreibung,
die grammatisch korrekt ist, bei der Modifikation der Spezifikationsbeschreibung
durch die Beschreibungsmodifikationseinheit 6 erhalten
werden, ohne eine sinnlose Beschreibung zu erzeugen, die grammatisch
unpassend ist.
-
Unter
Bezugnahme auf 4 wird der Austausch mit einer
grammatisch äquivalenten
Beschreibung beschrieben, wobei Englisch als ein Beispiel herangezogen
wird. 4(a) stellt eine Grammatik des
Englischen dar. Der Einfachheit halber wird eine Grammatik eines
Satzes herangezogen, der lediglich Subjekt, Prädikat und Objekt einschließt, wie
in 4(a) gezeigt. Sätze, die gemäß der Grammatik von 4(a) geschrieben wurden, sind in (b) und
(c) in 4 gezeigt. Angenommen, daß 4(a) die Grammatik
der Hardwarebeschreibungssprache darstellt, können (b) und (c) von 4 als
die Spezifikationsbeschreibung der Hardware herangezogen werden.
Die Beschreibung bei den Positionen, die in 4 mit (1),
(2), (3) und (4) markiert sind, können als
jeweilige Beschreibungen herangezogen werden, die in Bezug auf die
Grammatik äquivalent
sind. Selbst wenn die Beschreibungen mit derselben bezeichneten
Positionsnummer unter (b) und (c) in 4 ausgetauscht
werden, ist der resultierende Satz ein vollständig korrekter Satz, der der
Grammatik von (a) von 4 genügt. Zum Beispiel sind "Her" von (b) in 4 und "Him" von (c) in 4 grammatisch äquivalent
zueinander, und die zwei Sätze:
I
Love Him.
You Know Her.,
die durch Austausch davon erhalten
wurden, sind richtige Sätze,
die der Grammatik von 4(a) genügen. Wenn "Love" von 4(b) durch "Like" ersetzt wird, was
grammatisch äquivalent
ist, ist der resultierende Satz:
I Like Him.
ein richtiger
Satz, der der Grammatik von 4(a) genügt.
-
Das
Schema des unter Bezugnahme auf 4 beschriebenen, äquivalenten
Grammatikaustauschs wird bei der Modifizierung der Hardwarespezifikationsbeschreibung 2 in
der Beschreibungsmodifikationseinheit 6 von 1 verwendet.
-
Eine
speziellere Ausführungsform
eines autonomen evolutionsartigen Hardwaredesignsystems wird nachfolgend
unter Bezugnahme auf 2 beschrieben. Die Hardwarespezifikationsbe schreibungseinheit 1 schließt eine
Vielzahl von Hardwarespezifikationsbeschreibungen ein, zum Beispiel
drei Hardwarespezifikationsbeschreibungen 2a, 2b und 2c.
Jede der Hardwarespezifikationsbeschreibungen 2a, 2b und 2c ist
jeweils über
Signale 8a, 8b und 8c mit der Hardwarespezifikationsinterpretationseinheit 3 und
der Beschreibungsmodifikationseinheit 6 verbunden. Wie
in 1 berechnet die Hardwarespezifikationsinterpretationseinheit 3 von 2 ein
Betriebsergebnis, das wiedergibt, wie jede, durch jeweilige Spezifikationsbeschreibungen 2a, 2b und 2c erhaltene,
aktuelle Hardware in Bezug auf das Applikationsproblem gemäß Signal 7 betrieben
wird, das das aus der Eingabe/Ausgabeeinheit 4 eingegebene
Applikationsproblem und die Inhalte der jeweils über die Signale 8a, 8b und 8c angegebenen
Hardwarespezifikationsbeschreibungen 2a, 2b und 2c wiedergibt. Signale 9a, 9b und 9c,
die jeweilige Betriebsergebnisse anzeigen, werden zur Eingabe/Ausgabeeinheit 4 geliefert.
Die Fitneßkalkulationseinheit 5 empfängt Signale 9a, 9b und 9c,
die jeweilige Betriebsergebnisse von jeder der Spezifikationsbeschreibungen 2a, 2b und 2c von
der Eingabe/Ausgabeeinheit 4 wiedergeben, sowie ferner
Signal 7, das dem Applikationsproblem entspricht. Die Fitneßkalkulationseinheit 5 berechnet
eine Fitneß,
die angibt, wie gut die Signale 9a, 9b und 9c,
die die Betriebsergebnisse der Spezifikationsbeschreibungen 2a, 2b und 2c wiedergeben,
zu dem über
das Signal 7 bereitgestellten Applikationsproblem paßt. Das
Signal 10, das der Fitneßbeurteilung entspricht, die
das Berechnungsergebnis darstellt, wird als eine Ausgabe der Fitneßkalkulationseinheit 5 auf
die Beschreibungsmodifikationseinheit 6 appliziert.
-
Die
Beschreibungsmodifikationseinheit 6 modifiziert die momentanen
Spezifikationsbeschreibungen 2a, 2b und 2c auf
der Basis des Signals 10, das eine Fitneßbeurteilung
davon darstellt, um automatisch eine Vielzahl (in diesen Fall 3)
neuer Spezifikationsbeschreibungen zu erzeugen. Das Ergebnis davon, das
das Signal 11 darstellt, wird zum neuen Inhalt von jeder
der Spezifikationsbeschreibungen 2a, 2b und 2c.
Während
dieser automatischen Erzeugung einer neuen Spezifikationsbeschreibung werden
genetische Algorithmen verwendet, die später beschrieben werden.
-
Durch
Wiederholen der Ausführung
des Betriebs von 1 unter Verwendung der neuen
Spezifikationsbeschreibungen, die durch das Signal 11, welches
durch die Beschreibungsmodifikationseinheit 6 neu erzeugt
wird, auf die Spezifikationsbeschreibungen 2a, 2 b und 2c appliziert
werden, wird eine Spezifikationsbeschreibung erzeugt, die mehr und
mehr eine höhere
Fitneß in
Bezug auf das Applikationsproblem besitzt. Schließlich kann
eine Spezifikationsbeschreibung erhalten werden, die eine Hardware
verwirklicht, die dem Applikationsproblem vollständig genügt.
-
Der
oben beschriebene Betrieb kann schneller ausgeführt werden, indem eine Vielzahl
von Hardwarespezifikationsinterpretationseinheiten 3, Eingabe/Ausgabeeinheiten 4 und
Fitneßberechnungseinheiten 5,
die in 2 gezeigt sind, hergestellt werden und diese parallel
betrieben werden.
-
Die
Signale 9a, 9b und 9c können direkt
aus der Hardwarespezifikationsinterpretationseinheit 3 auf
die Fitneßberechnungseinheit 5 appliziert
werden, ohne Durchlaufen der Eingabe/Ausgabeeinheit 4 gemäß dem Applikationsproblem.
-
5 ist
ein Fließdiagramm,
das genetische Algorithmen angibt. Der Betrieb der genetischen Algorithmen
wird unter Bezugnahme auf 2 und 5 beschrieben.
Zuerst werden zufällige Hardwarespezifikationsbeschreibungen,
zum Beispiel die Hardwarespezifikationsbeschreibungen 2a, 2b und 2c,
hergestellt. Die Hardwarespezifikationsbeschreibungen 2a, 2b und 2c werden über jeweilige Signale 8a, 8b und 8c an
die Hard warespezifikationsinterpretationseinheit 3 appliziert,
und ferner auch auf die Beschreibungsmodifikationseinheit 6.
Gleichzeitig wird das Signal 7, das das Applikationsproblem wiedergibt,
aus der Eingabe/Ausgabeeinheit 4 auf die Hardwarespezifikationsinterpretationseinheit 3 appliziert.
Die Hardwarespezifikationsbeschreibungseinheit 3 führt gemäß den Hardwarespezifikationsbeschreibungen 2a, 2b und 2c und
dem Applikationsproblem eine Berechnung aus, um jeweilige Betriebsergebnisse
von jeder aktuellen Hardware als Signale 9a, 9b und 9c zur
Eingabe/Ausgabeeinheit 4 zu liefern. Die aus dem Betrieb
resultierenden Signale 9a, 9b und 9c werden
zur Fitneßberechnungseinheit 5 geliefert,
wobei Signal 7 das Applikationsproblem darstellt. Die Fitneßberechnungseinheit 5 berechnet,
wie gut jede der Hardwarespezifikationsbeschreibungen 2a, 2b und 2c zum
Applikationsproblem paßt.
Das Ergebnis davon wird durch das Signal 10 als Fitneßbeurteilung
davon auf die Beschreibungsmodifikationseinheit 6 appliziert.
-
In
der Beschreibungsmodifikationseinheit 6 werden neue Hardwarespezifikationsbeschreibungen 2a, 2b und 2c auf
der Basis einer Spezifikationsbeschreibung bestimmt, die eine höhere Fitneßbeurteilung
besitzen als die der anderen Spezifikationsbeschreibungen, das heißt, die
für das
Applikationsproblem besser geeignet ist. Bei diesem Prozeß wird ein
Schema eines grammatisch äquivalenten
Austauschs der Spezifikationsbeschreibung verwendet. Unter Verwendung
der erhalten neuen Hardwarespezifikationsbeschreibungen 2a, 2b und 2c und
durch Ausführen
des oben beschriebenen Betriebs werden Spezifikationsinterpretations-
und Beurteilungsprozesse durchgeführt. Durch Wiederholung solcher Prozesse
wird die Spezifikationsbeschreibung für das Applikationsproblem immer
besser geeignet.
-
Durch
Verwendung der oben beschriebenen genetischen Algorithmen können parallele
Operationen von ungefähr
N3 (N ist die Zahl der Spezifikationsbeschreibungen),
die durch die genetischen Algorithmen latent erzeugt werden, ausgeführt werden. Deshalb
kann eine Hardwarespezifikationsbeschreibung, die für das Applikationsproblem
geeignet ist, schneller erhalten werden. Da mit den genetischen Algorithmen
eine Vielzahl von Spezifikationsbeschreibungen gleichzeitig prozessiert
wird, ist es möglich,
unterschiedliche Spezifikationsbeschreibungen aufrechtzuerhalten.
Eine Vielzahl von wirksamen Spezifikationsbeschreibungen kann bezüglich einem
Applikationsproblem erhalten werden. Mit anderen Worten kann eine
Vielzahl von Schaltungen, die sich hinsichtlich der Architektur
unterscheiden, erzeugt werden. Aufgrund ihrer Vielfalt kann eine Hardwarespezifikation
schnell erzeugt werden, die zum Applikationsproblem paßt, selbst
in dem Fall, wo ein Applikationsproblem an sich schon eine Veränderung
verursacht.
-
Somit
wird gemäß der Ausführungsform
der vorliegenden Erfindung eine Spezifikation einer beschriebenen
Hardware interpretiert, um einen Betrieb dieser Hardware zu erzeugen.
Eine Fitneß bzw.
Paßgenauigkeit
wird für
den Fall berechnet, für
den die Hardware verwendet wird, die aus dem Betrieb davon und der
erforderlichen Betriebsspezifikation erzeugt wird. Die Spezifikation
der Hardware wird im Verhältnis
zu der Fitneß bzw.
Paßgenauigkeit
modifiziert. Deshalb kann eine Hardware, die einen Betrieb ausführt, der
für ihre
Verwendungsaufgabe geeignet ist, auf autonome und evolutionäre Weise
entworfen werden. Eine für
ihre Verwendungsaufgabe optimale Hardware kann erhalten werden,
indem automatisch aus einer Vielzahl von Entwurfsbeispielen unterschiedlicher
Architekturen ausgewählt
wird.
-
Die
vorliegende Erfindung ist nicht auf den Betrieb einer Hardware beschränkt und
ist auf experimentelle Systeme der Art und Weise und des Verhaltens
künstlicher
Geschöpfe,
welche durch Automaten beschrieben werden, sowie für die Be triebssimulation
von autonomen parallelen Prozessen anwendbar.