Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ASSEMBLY, METHOD, COMPUTER PROGRAMME AND STORAGE MEDIUM WHICH CAN BE COMPUTER-READ FOR THE COMPUTER-AIDED COMPENSATION OF A STATE OF INEQUILIBRIUM
Document Type and Number:
WIPO Patent Application WO/2001/001343
Kind Code:
A2
Abstract:
In an assembly and method for the computer-aided compensation of a state of inequilibrium in a first technical system, a first neural network represents the first technical system and a second neural network represents a second technical system. The first and second neural network are connected together in such a way, that a state of inequilibrium of the first technical system is compensated by the second neural network.

Inventors:
NEUNEIER RALF (DE)
ZIMMERMANN HANS-GEORG (DE)
Application Number:
PCT/DE2000/001764
Publication Date:
January 04, 2001
Filing Date:
May 30, 2000
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
NEUNEIER RALF (DE)
ZIMMERMANN HANS GEORG (DE)
International Classes:
G06F19/00; G05B13/02; G06N3/00; G06N99/00; (IPC1-7): G06N/
Foreign References:
DE19727795C11998-12-17
US5768476A1998-06-16
Other References:
KAZUSHIGE SAGA ET AL: "MOBILE ROBOT CONTROL BY NEURAL NETWORKS USING SELF-SUPERVISED LEARNING" IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, IEEE INC. NEW YORK, US, Bd. 39, Nr. 6, 1. Dezember 1992 (1992-12-01), Seiten 537-541, XP000323862 ISSN: 0278-0046
JACOBS R A ET AL: "LEARNING PIECEWISE CONTROL STRATEGIES IN A MODULAR NEURAL NETWORK ARCHITECTURE" IEEE TRANSACTIONS ON SYSTEMS, MAN AND CYBERNETICS, IEEE INC. NEW YORK, US, Bd. 23, Nr. 2, 1. M{rz 1993 (1993-03-01), Seiten 337-345, XP000398070 ISSN: 0018-9472
KAYAMA M ET AL: "AJUSTING NEURAL NETWORKS FOR ACCURATE CONTROL MODEL TUNING" PROCEEDINGS OF 1995 IEEE INTERNATIONAL CONFERENCE ON FUZZY SYSTEMS. INTERNATIONAL JOINT CONFERENCE OF THE 4TH. IEEE INTERNATIONAL CONFERENCE ON FUZZY SYSTEMS AND THE 2ND. INTERNATIONAL FUZZY ENGINEERING SYMPOSIUM. (FUZZY-IEEE/IFES) YOKOHAMA, MAR. 20 , Bd. 4/5, 20. M{rz 1995 (1995-03-20), Seiten 1995-2000, XP000699213 ISBN: 0-7803-2462-5
Attorney, Agent or Firm:
SIEMENS AKTIENGESELLSCHAFT (Wittelsbacherplatz 2 München, DE)
Download PDF:
Claims:
Patentansprüche
1. Anordnung zur rechnergestützten Kompensation eines Un gleichgewichtszustands eines ersten technischen Systems, mit einem ersten neuronalen Netz, welches das erste techni sche System beschreibt ; mit einem zweiten neuronalen Netz, welches ein zweites technisches System beschreibt ; bei der das erste und das zweite neuronale Netz derart mit einander verbunden sind, daß ein Ungleichgewichtszustand des ersten technischen Systems durch das zweite neuronale Netz kompensierbar ist.
2. Anordnung nach Anspruch 1, bei der das erste neuronale Netz zumindest ein erstes Ein gangsRechenelement und ein erstes AusgangsRechenelement aufweist.
3. Anordnung nach Anspruch 1 oder 2, bei der das zweite neuronale Netz zumindest ein zweites Ein gangsRechenelement und ein zweites AusgangsRechenelement aufweist.
4. Anordnung nach einem Ansprüche 1 bis 3, bei der zumindest ein Teil der Rechenelemente künstliche Neu ronen sind.
5. Anordnung nach einem der Ansprüche 1 bis 4, bei der mindestens ein Teil von Verbindungen zwischen Re chenelementen variabel ausgestaltet ist.
6. Anordnung nach einem der Ansprüche 1 bis 5, bei der zumindest Teile der Verbindungen gleiche Gewichtswer te aufweisen.
7. Anordnung nach einem der Anspruche 1 bis 6, bei der das erste technische System und das zweite technische System jeweils ein Teilsystem eines gemeinsamen Gesamtsystems sind.
8. Anordnung nach einem der Ansprüche 1 bis 6, bei der das erste technische System und das zweite technische System identisch sind.
9. Anordnung nach Anspruch 7 oder 8, eingesetzt zur Ermittlung einer Dynamik eines Systems.
10. Anordnung nach einem der Ansprüche 7 bis 9, eingesetzt zu einer Prognose eines zukünftigen Zustands eines Systems.
11. Anordnung nach Anspruch 10, eingesetzt zu einer Überwachung und/oder Steuerung eines Sy stems.
12. Anordnung nach Anspruch 11, bei der das System ein chemischer Reaktor ist.
13. Verfahren zur rechnergestützten Kompensation eines Un gleichgewichtszustands eines ersten technischen Systems, bei dem einem ersten neuronalen Netz, welches das erste technische System beschreibt, eine erste Eingangsgröße zuge führt wird ; bei dem für die erste Eingangsgröße unter Verwendung des ersten neuronalen Netzes eine erste Ausgangsgröße ermittelt wird, welche einen Ungleichgewichtszustand des ersten techni schen Systems beschreibt ; bei dem die erste Ausgangsgroße als eine zweite Eingangs größe einem zweiten neuronalen Netz zugefuhrt wird, welches ein zweites technisches System beschreibt ; bei dem für die zweite Eingangsgröße unter Verwendung des zweiten neuronalen Netzes eine zweite Ausgangsgröße, welche einen Zustand des zweiten technischen Systems beschreibt, derart ermittelt wird, daß der Ungleichgewichtszustand des ersten technischen Systems durch das zweite neuronale Netz kompensiert wird.
14. Verfahren nach Anspruch 13, bei dem des erste technische System und das zweite technische System jeweils ein Teilsystem eines gemeinsamen Gesamtsystems beschreiben.
15. Verfahren nach Anspruch 14, bei dem unter Verwendung des Zustands des zweiten technischen Systems eine Dynamik des Gesamtsystems ermittelt wird.
16. Verfahren nach einem der Ansprüche 13 bis 15, eingesetzt zu einer Prognose eines zukünftigen Zustands eines Systems.
17. Verfahren nach Anspruch 16, eingesetzt zu einer Überwachung und/oder Steuerung eines Sy stems.
18. ComputerprogrammErzeugnis, das ein computerlesbares Speichermedium umfaßt, auf dem ein Programm gespeichert ist, das es einem Computer ermöglicht, nachdem es in einen Spei cher des Computer geladen worden ist, folgende Schritte durchzuführen zur rechnergestützten Kompensation eines Un gleichgewichtszustands eines ersten technischen Systems : einem ersten neuronalen Netz, welches das erste technische System beschreibt, wird eine erste Eingangsgröße zugeführt ; für die erste Eingangsgröße wird unter Verwendung des er sten neuronalen Netzes eine erste Ausgangsgröße ermittelt, welche einen Ungleichgewichtszustand des ersten technischen Systems beschreibt ; die erste Ausgangsgröße wird als eine zweite Eingangsgröße einem zweiten neuronalen Netz zugeführt, welches ein zweites technisches System beschreibt ; für die zweite Eingangsgröße wird unter Verwendung des zweiten neuronalen Netzes eine zweite Ausgangsgröße, welche einen Zustand des zweiten technischen Systems beschreibt, derart ermittelt, daß der Ungleichgewichtszustand des ersten technischen Systems durch das zweite neuronale Netz kompen siert wird.
19. Computerlesbares Speichermedium, auf dem ein Programm ge speichert ist, das es einem Computer ermöglicht, nachdem es in einen Speicher des Computer geladen worden ist, folgende Schritte durchzuführen zur rechnergestützten Kompensation ei nes Ungleichgewichtszustands eines ersten technischen Sy stems : einem ersten neuronalen Netz, welches das erste technische System beschreibt, wird eine erste Eingangsgröße zugeführt ; für die erste Eingangsgröße wird unter Verwendung des er sten neuronalen Netzes eine erste Ausgangsgröße ermittelt, welche einen Ungleichgewichtszustand des ersten technischen Systems beschreibt ; die erste Ausgangsgröße wird als eine zweite Eingangsgröße einem zweiten neuronalen Netz zugeführt, welches ein zweites technisches System beschreibt ; für die zweite Eingangsgröße wird unter Verwendung des zweiten neuronalen Netzes eine zweite Ausgangsgröße, welche einen Zustand des zweiten technischen Systems beschreibt, derart ermittelt, daß der Ungleichgewichtszustand des ersten technischen Systems durch das zweite neuronale Netz kompen siert wird.
Description:
Beschreibung Anordnung und Verfahren sowie Computerprogramm-Erzeugnis und computerlesbares Speichermedium zur rechnergestützten Kompen- sation eines Ungleichgewichtszustands eines technischen Sy- stems Die Erfindung betrifft eine Anordnung, ein Verfahren, ein Computerprogramm-Erzeugnis und ein computerlesbares Speicher- medium zur rechnergestützten Kompensation eines Ungleichge- wichtszustands eines technischen Systems.

Aus [1] ist es bekannt, zur Ermittlung von Zuständen eines dynamischen Systems und einer Dynamik, die einem dynamischen System zugrunde liegt, ein neuronales Netz einzusetzen.

Allgemein wird ein dynamischer Prozeß, der in einem dynami- schen System abläuft, üblicherweise durch eine Zustandsüber- gangsbeschreibung, die für einen Beobachter des dynamischen Prozesses nicht sichtbar ist, und eine Ausgangsgleichung, die beobachtbare Größen des technischen dynamischen Prozesses be- schreibt, beschrieben.

Eine solche Struktur ist in Fig. 7 dargestellt.

Ein dynamisches System 700 unterliegt dem Einfluß einer ex- ternen Eingangsgröße u vorgebbarer Dimension, wobei eine Ein- gangsgröße Ut zu einem Zeitpunkt t mit ut bezeichnet wird : ut E 1, wobei mit 1 eine natürliche Zahl bezeichnet wird.

Die Eingangsgröße ut zu einem Zeitpunkt t verursacht eine Veränderung des dynamischen Prozesses, der in dem dynamischen System 700 abläuft.

Ein innerer Zustand st (st 6 9) vorgebbarer Dimension m zu einem Zeitpunkt t ist für einen Beobachter des dynamischen Systems 200 nicht beobachtbar.

In Abhängigkeit vom inneren Zustand st und der Eingangsgröße ut wird ein Zustandsübergang des inneren Zustandes st des dy- namischen Prozesses verursacht und der Zustand des dynami- schen Prozesses geht über in einen Folgezustand st+1 zu einem folgenden Zeitpunkt t+1.

Dabei gilt : St+1=f(stt)-(l) wobei mit f (.) eine allgemeine Abbildungsvorschrift bezeich- net wird.

Eine von einem Beobachter des dynamischen Systems 700 beob- achtbare Ausgangsgröße yt zu einem Zeitpunkt t hängt ab von der Eingangsgröße ut sowie dem inneren Zustand st.

Die Ausgangsgröße yt (Yt E Sn) ist vorgebbarer Dimension n.

Die Abhängigkeit der Ausgangsgröße yt von der Eingangsgröße ut und dem inneren Zustand st des dynamischen Prozesses ist durch folgende allgemeine Vorschrift gegeben : g(st,ut),(2)yt= wobei mit g (.) eine allgemeine Abbildungsvorschrift bezeich- net wird.

Zur Beschreibung des dynamischen Systems 700 wird in [1] eine Anordnung miteinander verbundener Rechenelemente in Form ei- nes neuronalen Netzes miteinander verbundener Neuronen einge- setzt. Die Verbindungen zwischen den Neuronen des neuronalen

Netzes sind gewichtet. Die Gewichte des neuronalen Netzes sind in einem Parametervektor v zusammengefaßt.

Somit hängt ein innerer Zustand eines dynamischen Systems, welches einem dynamischen Prozeß unterliegt, gemäß folgender Vorschrift von der Eingangsgröße ut und dem inneren Zustand des vorangegangenen Zeitpunktes st und dem Parametervektor v ab : st+1 = NN (Vtsttut) wobei mit NN (.) eine durch das neuronale Netz vorgegebene Ab- bildungsvorschrift bezeichnet wird.

Die aus [1] bekannte und als Time Delay Recurrent Neural Net- work (TDRNN) bezeichnete Anordnung wird in einer Trainings- phase derart trainiert, daß zu einer Eingangsgröße ut jeweils eine Zielgröße y d an einem realen dynamischen System ermit- telt wird. Das Tupel (Eingangsgröße, ermittelte Zielgröße) wird als Trainingsdatum bezeichnet. Eine Vielzahl solcher Trainingsdaten bilden einen Trainingsdatensatz.

Mit dem Trainingsdatensatz wird das TDRNN trainiert. Eine Ubersicht über verschiedene Trainingsverfahren ist ebenfalls in [1] zu finden.

Es ist an dieser Stelle zu betonen, daß lediglich die Aus- gangsgröße yt zu einem Zeitpunkt t des dynamischen Systems 700 erkennbar ist. Der innere Systemzustand st ist nicht be- obachtbar.

In der Trainingsphase wird üblicherweise folgende Kostenfunk- tion E minimiert :

wobei mit T eine Anzahl berücksichtigter Zeitpunkte bezeich- net wird.

Aus [2] ist eine Anordnung mehrerer miteinander verbundener neuronaler Netze bekannt.

Bei der aus [2] bekannten Anordnung sind mehrere hierarchisch strukturierte neuronale Teilnetze im Rahmen eines sogenannten Gating-Netzwerks in einer parallelen Anordnung zueinander in einer Gesamtstruktur verknüpft.

Bei dem Gating-Netzwerk wird den neuronalen Teilnetzen je- weils ein gleicher Eingabevektor zugeführt. Die neuronalen Teilnetze ermitteln entsprechend ihrer internen Struktur je- weils einen Ausgabevektor. Die Ausgabevektoren der neuronalen Teilnetze werden gewichtet linear aufsummiert.

Ein Trainingsverfahren für das Gating-Netzwerk ist ebenfalls in [2] genannt.

Die bekannten Anordnungen und Verfahren weisen insbesondere den Nachteil auf, daß eine Identifikation bzw. Modellierung eines dynamischen Systems und eine Ermittlung von Zuständen eines dynamischen Systems nur mit unzureichender Genauigkeit möglich ist.

Somit liegt der Erfindung das Problem zugrunde, eine Anord- nung anzugeben, mit der eine Modellierung eines dynamischen Systems und die Ermittlung eines Zustands des dynamischen Sy- stems möglich ist und welche Anordnung die Modellierung und die Ermittlung mit einer größeren Genauigkeit als bei den be- kannten Anordnungen ermöglicht.

Ferner liegt der Erfindung das Problem zugrunde, ein Verfah- ren, ein Computerprogramm-Erzeugnis und ein computerlesbares Speichermedium anzugeben, mit welchen eine Modellierung eines

dynamischen Systems und die Ermittlung eines Zustands des dy- namischen Systems möglich ist und welche die Modellierung und die Ermittlung mit einer größeren Genauigkeit als bei den be- kannten Anordnungen ermöglichen.

Die Probleme werden durch die Anordnung sowie die Verfahren mit den Merkmalen gemäß den unabhängigen Ansprüchen gelöst.

Eine Anordnung zur rechnergestützten Kompensation eines Un- gleichgewichtszustands eines ersten technischen Systems, um- faßt ein erstes neuronales Netz, welches das erste technische System beschreibt sowie ein zweites neuronales Netz, welches ein zweites technisches System beschreibt. Das erste und das zweite neuronale Netz sind derart miteinander verbunden, daß ein Ungleichgewichtszustand des ersten technischen Systems durch das zweite neuronale Netz kompensierbar ist.

Bei einem Verfahren zur rechnergestützten Kompensation eines Ungleichgewichtszustands eines ersten technischen Systems wird einem ersten neuronalen Netz, welches das erste techni- sche System beschreibt, eine erste Eingangsgröße zugeführt.

Für die erste Eingangsgröße wird unter Verwendung des ersten neuronalen Netzes eine erste Ausgangsgröße ermittelt, welche einen Ungleichgewichtszustand des ersten technischen Systems beschreibt. Die erste Ausgangsgröße wird als eine zweite Ein- gangsgröße einem zweiten neuronalen Netz zugeführt, welches ein zweites technisches System beschreibt. Für die zweite Eingangsgröße wird unter Verwendung des zweiten neuronalen Netzes eine zweite Ausgangsgröße, welche einen Zustand des zweiten technischen Systems beschreibt, derart ermittelt, daß der Ungleichgewichtszustand des ersten technischen Systems durch das zweite neuronale Netz kompensiert wird.

Ein Computerprogramm-Erzeugnis, das ein computerlesbares Speichermedium umfaßt, auf dem ein Programm gespeichert ist, ermöglicht einem Computer, nachdem es in einen Speicher des Computer geladen worden ist, folgende Schritte durchzuführen

zur rechnergestützten Kompensation eines Ungleichgewichtszu- stands eines ersten technischen Systems : -einem ersten neuronalen Netz, welches das erste technische System beschreibt, wird eine erste Eingangsgröße zugeführt ; -für die erste Eingangsgröße wird unter Verwendung des er- sten neuronalen Netzes eine erste Ausgangsgröße ermittelt, welche einen Ungleichgewichtszustand des ersten technischen Systems beschreibt ; -die erste Ausgangsgröße wird als eine zweite Eingangsgröße einem zweiten neuronalen Netz zugeführt, welches ein zweites technisches System beschreibt ; -für die zweite Eingangsgröße wird unter Verwendung des zweiten neuronalen Netzes eine zweite Ausgangsgröße, welche einen Zustand des zweiten technischen Systems beschreibt, derart ermittelt, daß der Ungleichgewichtszustand des ersten technischen Systems durch das zweite neuronale Netz kompen- siert wird.

Ein computerlesbares Speichermedium, auf dem ein Programm ge- speichert ist, ermöglicht einem Computer, nachdem es in einen Speicher des Computer geladen worden ist, folgende Schritte durchzuführen zur rechnergestutzten Kompensation eines Un- gleichgewichtszustands eines ersten technischen Systems : -einem ersten neuronalen Netz, welches das erste technische System beschreibt, wird eine erste Eingangsgröße zugeführt ; -für die erste Eingangsgröße wird unter Verwendung des er- sten neuronalen Netzes eine erste Ausgangsgröße ermittelt, welche einen Ungleichgewichtszustand des ersten technischen Systems beschreibt ; -die erste Ausgangsgröße wird als eine zweite Eingangsgröße einem zweiten neuronalen Netz zugeführt, welches ein zweites technisches System beschreibt ; -für die zweite Eingangsgröße wird unter Verwendung des zweiten neuronalen Netzes eine zweite Ausgangsgröße, welche einen Zustand des zweiten technischen Systems beschreibt, derart ermittelt, daß der Ungleichgewichtszustand des ersten

technischen Systems durch das zweite neuronale Netz kompen- siert wird.

Unter einem Ungleichgewichtszustand eines Systems ist ein Zu- stand des Systems zu verstehen, der hinsichtlich vorgebbarer Kriterien nicht einem ausgewählten Zustand des Systems, dem Gleichgewichtszustand, entspricht.

Der Gleichgewichtszustand des Systems kann sich beispielswei- se dadurch auszeichnen, daß das System in diesem Zustand Sta- bilität oder Effektivität hinsichtlich eines Ubertragungsver- haltens des Systems aufweist.

Die Erfindung weist den besonderen Vorteil auf, daß für ein Training der Anordnung eine geringe Anzahl von Trainingsdaten notwendig ist, um unter Verwendung der trainierte Anordnung eine Modellierung eines dynamischen Systems und die Ermitt- lung eines Zustands des dynamischen Systems mit hinreichender Genauigkeit durchzuführen zu können.

Bevorzugte Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.

Die im weiteren beschriebenen Weiterbildungen beziehen sich sowohl auf das Verfahren, die Anordnung sowie auf das Compu- terprogramm-Erzeugnis und das computerlesbare Speichermedium.

Die Erfindung und die im weiteren beschriebenen Weiterbildun- gen können sowohl in Software als auch in Hardware, bei- spielsweise unter Verwendung einer speziellen elektrischen Schaltung realisiert werden.

Das erste neuronale Netz kann derart realisiert werden, daß es zumindest ein erstes Eingangs-Rechenelement und ein erstes Ausgangs-Rechenelement aufweist.

Entsprechendes gilt für eine Realisierung des zweiten neuro- nale Netzes.

Bevorzugt sind zumindest ein Teil der Rechenelemente künstli- che Neuronen.

Zu einer Vereinfachung eines Trainings einer Realisierung der Erfindung ist mindestens ein Teil von Verbindungen zwischen Rechenelementen variabel ausgestaltet.

In einer weiteren Ausgestaltung weisen zumindest Teile der Verbindungen gleiche Gewichtswerte auf.

Zu einer Vereinfachung bei einer Beschreibung eines komplexen Gesamtsystems ist es günstig das komplexe Gesamtsystem derart zu strukturieren, daß das erste technische System und das zweite technische System jeweils ein Teilsystem des komplexen Gesamtsystems beschreiben.

Ferner kann aber auch das erste technische System und das zweite technische System identisch sein.

Da durch die Erfindung eine Modellierung eines dynamischen Systems mit hinreichender Genauigkeit möglich ist, wird eine Realisierung bevorzugt zur Ermittlung einer Dynamik eines Sy- stems eingesetzt.

Ferner wird eine Ausgestaltung eingesetzt zu einer Prognose eines zukünftigen Zustands eines Systems sowie zu einer Über- wachung und/oder Steuerung eines Systems.

Bevorzugt ist das System ein chemischer Reaktor.

Ausführungsbeispiele der Erfindung sind in den Figuren darge- stellt und werden im weiteren näher erläutert : Es zeigen

Figur 1 eine Skizze eines chemischen Reaktors, von dem Grö- ßen gemessen werden, welche mit der Anordnung gemäß einem ersten Ausführungsbeispiel weiterverarbeitet werden ; Figur 2 eine Skizze einer Anordnung gemäß dem ersten Aus- führungsbeispiel ; Figur 3 eine Skizze, welche einen Verfahrensablauf gemäß dem ersten oder zweiten Ausführungsbeispiel be- schreibt ; Figur 4 eine Skizze einer Anordnung gemäß dem ersten Aus- führungsbeispiel ; Figur 5 eine Skizze einer Anordnung gemäß einem zweiten Ausführungsbeispiel ; Figur 6 eine Skizze einer Anordnung bei einem Training ge- mäß dem zweiten Ausführungsbeispiel ; Figur 7 eine Skizze einer allgemeinen Beschreibung eines dynamischen Systems.

Erstes Ausführungsbeispiel : Chemischer Reaktor Fig. 1 zeigt einen chemischen Reaktor 100, der mit einer che- mischen Substanz 101, welche ein Gemisch mehrerer Grundsub- stanzen 103 ist, gefüllt ist. Der chemische Reaktor 100 um- faßt einen Rührer 102, mit dem die chemische Substanz 101 ge- rührtwird.

Durch eine Einspritzvorrichtung 150 werden die Grundsubstan- zen 103 getrennt voneinander in den Reaktor 100 eingespritzt.

Die in den chemischen Reaktor 100 eingespritzten Grundsub- stanzen 103 reagieren während eines vorgebbaren Zeitraums in dem chemischen Reaktor 100 miteinander, wobei die chemische Substanz 101 gebildet wird. Eine aus dem Reaktor 100 ausflie- ßende Substanz 104 wird aus dem chemischen Reaktor 100 über einen Ausgang abgeleitet.

Die Einspritzvorrichtung 150 ist über eine Leitung mit einer Steuereinheit 105 verbunden, mit der über ein Steuersignal 106 ein überwachtes Einspritzen einer beliebigen Grundsub- stanz 103 in den Reaktor 100 einstellbar ist.

Ferner ist ein Meßgeråt 107 vorgesehen, mit dem Konzentratio- nen von den in der chemischen Substanz 101 enthaltenen Grund- substanzen 103 und eine Temperatur in dem Reaktor 100 sowie ein in dem Reaktor 100 herrschender Druck gemessen werden.

Meßsignale 108 werden einem Rechner 109 zugeführt, in dem Rechner 109 über eine Eingangs-/Ausgangsschnittstelle 110 und einem Analog/Digital-Wandler 111 digitalisiert und in einem Speicher 112 gespeichert. Ein Prozessor 113 ist ebenso wie der Speicher 112 über einen Bus 114 mit dem Analog/Digital- Wandler 111 verbunden. Der Rechner 109 ist ferner über die Eingangs-/Ausgangsschnittstelle 110 mit der Steuerung 105 der Einspritzvorrichtung 150 verbunden und somit steuert der Rechner 109 das Einspritzen der Grundsubstanzen 103 in den Reaktor 100.

Der Rechner 109 ist ferner über die Eingangs-/Ausgangs- schnittstelle 110 mit einer Tastatur 115, einer Computermaus 116 sowie einem Bildschirm 117 verbunden.

Der chemische Reaktor 100 als dynamisches technisches System 200 unterliegt somit einem dynamischen Prozeß.

Der chemische Reaktor 100 wird mittels einer Zustandsbe- schreibung beschrieben. Die Eingangsgröße ut setzt sich in

diesem Fall zusammen aus einer Angabe über die Temperatur, die in dem chemischen Reaktor 100 herrscht sowie dem in dem chemischen Reaktor 100 herrschenden Druck und der zu dem Zeitpunkt t eingestellten Rührfrequenz. Somit ist die Ein- gangsgröße ut ein dreidimensionaler Vektor.

Ziel der im weiteren beschriebenen Modellierung des chemi- schen Reaktors 100 ist die Bestimmung der dynamischen Ent- wicklung der Konzentrationen der Grundsubstanzen 103 in dem Reaktor 100, um somit eine effiziente Erzeugung eines zu pro- duzierenden vorgebbaren Zielstoffes als ausfließende Substanz 104 zu ermöglichen.

Eine effiziente Erzeugung des zu produzierenden vorgebbaren Zielstoffes ist dann möglich, wenn die Grundsubstanzen 103 in einem der durchzuführenden Reaktion entsprechenden Verhältnis der Konzentrationen der Grundsubstanzen 103 gemischt werden.

Die Bestimmung der dynamischen Entwicklung der Konzentratio- nen der Grundsubstanzen 103 erfolgt unter Verwendung der im weiteren beschriebenen und in Fig. 3 dargestellten Anordnung.

Zum einfacheren Verständnis der der Anordnung zugrunde lie- genden Prinzipien ist in Fig. 2 eine Grundstruktur 200 als ein zweiteiliges neuronales Netz, bei welchem ein erstes 201 und ein zweites neuronales Netz 202 hintereinander geschaltet sind, dargestellt.

Die im weiteren beschriebenen Anordnungen sind jeweils so zu verstehen, daß jede Neuronenschicht bzw. jede Teilschicht ei- ne vorgebbare Anzahl von Neuronen, d. h. Rechenelementen, auf- weist.

Bei der in Fig. 2 dargestellten Grundstruktur sind das erste neuronale Netz 201 und das zweite neuronale Netz 202 derart miteinander verknupft, daß Ausgänge des ersten neuronalen

Netzes 201 mit Eingängen des zweiten neuronalen Netzes 202 verbunden sind.

Das erste neuronale Netz 201 weist eine erste Eingangsschicht 210 mit einer vorgebbaren Anzahl von Eingangs- Rechenelementen, d. h. Eingangsneuronen, auf, denen Eingangs- größen Ut zu einem vorgebbaren Zeitpunkt t, d. h. im weiteren beschriebene Zeitreihenwerte, zuführbar sind.

Desweiteren weist das erste neuronale Netz 210 Ausgangs- Rechenelemente, d. h. Ausgangsneuronen, einer ersten Ausgangs- schicht 220 auf. Die Ausgangsneuronen der ersten Ausgangs- schicht 220 sind mit den Eingangsneuronen der ersten Ein- gangsschicht 210 verbunden. Die Gewichte der Verbindungen sind in einer ersten Verbindungsmatrix A enthalten.

Das zweite neuronale Netz 202 ist derart mit dem ersten neu- ronalen Netz 201 verbunden, daß die Ausgangsneuronen der er- sten Ausgangsschicht 220 mit Eingangsneuronen einer zweiten Eingangsschicht 230 gemaß einer durch eine zweite Verbin- dungsmatrix B gegebenen Struktur verbunden sind.

Bei dem zweiten neuronalen Netz 202 sind Ausgangsneuronen ei- ner zweiten Ausgangsschicht 240 mit den Eingangsneuronen der zweiten Eingangsschicht 230 verbunden. Gewichte der Verbin- dungen sind in einer dritten Verbindungsmatrix C enthalten.

An den Ausgangsneuronen der zweiten Ausgangsschicht 240 sind die Ausgangsgrößen yt für jeweils einen Zeitpunkt t abgreif- bar.

Aufbauend auf diese Grundstruktur wird im weiteren die in Fig. 4 dargestellte erweiterte Anordnung gebildet erläutert.

Fig. 4 zeigt ein drittes neuronales Netz 403, welches mit dem ersten neuronalen Netz 401 verknüpft ist.

Das dritte neuronale Netz 403 umfaßt eine dritte Eingangs- schicht 450 mit Eingangsneuronen, welche mit Neuronen einer versteckten Schicht 460 gemäß der durch die erste Verbin- dungsmatrix A gegebenen Struktur verbunden sind.

Das dritte neuronale Netz 403 ist derart mit dem ersten neu- ronalen Netz 401 verbunden, daß die Neuronen der versteckten Schicht 460 mit den Ausgangsneuronen der ersten Ausgangs- schicht 420 verbunden sind. Gewichte der Verbindungen sind in einer vierten Verbindungsmatrix D enthalten.

Die Eingangsneuronen der dritten Eingangsschicht 450 sind derart ausgestaltet, daß ihnen die Zeitreihenwerte ut zu ei- nem vorgebbaren Zeitpunkt t-1 als Eingangsgrößen ut-1 zuführ- bar sind.

Durch die beschriebene Ausgestaltung des ersten neuronalen Netzes 401 und des dritten neuronalen Netzes 403 gemäß Fig. 4 ist das Prinzip der sogenannten geteilten Gewichtswerte (Sha- red Weights), d. h. dem Grundsatz, daß äquivalente Verbin- dungsmatrizen in einem neuronalen Netz zu einem jeweiligen Zeitpunkt die gleichen Werte aufweisen, realisiert.

Bei der Anordnung gemäß Fig. 4 wird insbesondere durch die ge- teilten Gewichtswerte sowie durch die beschriebene Ausgestal- tung der ersten 410 und der dritten 450 Eingangsschicht er- reicht, daß Zustände st_1 und st, welche durch die erste Aus- gangsschicht 420 und die versteckte Schicht 460 repräsentiert werden, zwei zeitlich aufeinanderfolgende Zustände t-1 und t eines Systems s beschreiben.

Als Trainingsverfahren wird das Backpropagation-Verfahren eingesetzt. Der Trainingsdatensatz wird auf folgende Weise aus dem chemischen Reaktor 400 gewonnen.

Es werden mit dem Meßgerat 407 zu vorgegebenen Eingangsgrößen die Konzentrationen der Grundsubstanzen 103 gemessen und dem

Rechner 409 zugeführt, dort digitalisiert und als Zeitreihen- werte ut in einem Speicher gemeinsam mit den entsprechenden Eingangsgrößen, die zu den gemessenen Größen korrespondieren, zeitlich aufeinanderfolgend gruppiert.

Bei einem Training der Anordnung werden diese Zeitreihenwerte Ut der Anordnung als Trainingsdatensatz zusammen mit der An- gabe über das vorgegebene optimale Verhältnis der Konzentra- tionen der Grundsubstanzen zugeführt.

Die Anordnung aus Fig. 4 wird unter Verwendung des Trainings- datensatzes trainiert.

Zur besseren Veranschaulichung der durch die Anordnung er- reichten Transformationen sind in Fig. 3 Schritte eines Ver- fahrensablaufs 300 mit Bezug auf das erste Ausführungsbei- spiels dargestellt.

In einem ersten Schritt 310 werden der Anordnung die Zeitrei- henwerte der Eingangsgröße ut, welche die Angaben über die Temperatur, den Druck und die Rührfrequenz in dem Reaktor 100 enthalten, zugefuhrt.

In einem zweiten Schritt 320 wird unter Verwendung der Ein- gangsgroße ut eine Ausgangsgröße st des ersten neuronalen Netzes ermittelt, welche beschreibt, ob die Grundsubstanzen in dem für eine effektive Reaktion der Grundsubstanzen opti- mierten Verhaltnis miteinander, welches einen sogenannten Gleichgewichtszustand in dem Reaktor darstellt, gemischt wer- den. Somit wird in dem zweiten Schritt 320 ermittelt, ob sich ein Zustand in dem Reaktor in einem Gleichgewichts-oder Un- gleichgewichtszustand befindet.

In einem dritten Schritt 330 wird die Ausgangsgröße st des ersten neuronalen Netzes als Eingangsgröße dem zweiten neuro- nalen Netz zugeführt.

In einem vierten Schritt 340 ermittelt das zweite neuronale Netz die Ausgangsgröße yt, welche eine dynamische Veränderung der Konzentrationen der Grundsubstanzen beschreibt.

In dem vierten Schritt 340 wird unter Verwendung der ermit- telten Veränderung der Konzentrationen der Grundsubstanzen ein Zustand in dem Reaktor bestimmt, mit welchem der Un- gleichgewichtszustand kompensiert werden kann.

Die gemäß dem oben beschriebenen Trainingsverfahren trainier- te Anordnung aus Fig. 4 wird zur Steuerung und Regelung des Einspritzvorgangs der Grundsubstanzen 103 in den chemischen Reaktor 100 eingesetzt.

Ziel der Regelung und der Steuerung ist ein automatisiertes, kontinuierliches Einspritzen der Grundsubstanzen 103 in den chemischen Reaktor 100 derart, daß das Konzentrationsverhält- nis der Grundsubstanzen 103 in dem Reaktor 100 ein konstan- tes, für die durchzuführenden Reaktion optimales Verhältnis aufweist. Damit ist eine effiziente Erzeugung des zu produ- zierenden vorgebbaren Zielstoffes als ausfließende Substanz 104 möglich.

Dazu wird für eine erste Eingangsgröße ut_1 zu einem Zeit- punkt t-1 und eine zweite Eingangsgröße ut zu einen Zeitpunkt t eine Prognosegröße yt in einer Anwendungsphase von der An- ordnung ermittelt, die anschließend als Steuergröße 420 nach einer eventuellen Aufbereitung der ermittelten Größe der Ein- spritzvorrichtung 150 zur Steuerung des Einspritzens der Grundsubstanzen 103 in dem chemischen Reaktor 100 zugeführt wird (vgl. Fig. l).

Durch die Strukturierung der Anordnung in das erste neuronale Netz und das zweite neuronale Netz, insbesondere durch eine durch diese Strukturierung gebildete weitere Fehlersignale produzierende Ausgangsschicht, wird erreicht, daß für ein

Training der Anordnung eine geringe Anzahl von Trainingsdaten notwendig ist, um eine hinreichender Genauigkeit bei der Mo- dellierung des dynamischen Systems zu gewährleisten.

2. Ausführungsbeispiel : Wechselkursprognose In einem zweiten Ausführungsbeispiels wird die oben beschrie- bene Anordnung gemäß Fig. 4 für eine Wechselkursprognose eines $-DM Wechselkurses eingesetzt.

Als Eingangsgröße ut wird eine Zeitreihe mit Zeitreihenwer- ten, welche jeweils Angaben über ökonomische Kennzahlen, bei- spielsweise Zinssätze von kurzfristigen und langfristigen Zinsen in einem $-Raum und einem DM-Raum, Inflationsraten und Angaben über ein Wirtschaftswachstum in dem $-Raum und dem DM-Raum, umfassen, der Anordnung zugeführt.

Als Ausgangsgröße yt wird von der Anordnung eine Veranderung des $-DM Wechselkurses prognostiziert.

Bei der Anordnung für die Wechselkursprognose weisen insbe- sondere die Verbindungsmatrizen A, B, C und D eine besondere Ausgestaltung auf.

Die erste Verbindungsmatrix A ist derart mit Gewichten be- setzt, daß jeweils einem Neuron der ersten Ausgangsschicht nur eine begrenzte Anzahl von Neuronen der ersten Eingangs- schicht des ersten neuronalen Netzes (in diesem Fall : maximal sieben Neuronen) zugeordnet sind. Eine solche Verbindungsma- trix wird als"sparse connector"bezeichnet.

Ferner ist die Anordnung für die Wechselkursprognose derart ausgestaltet, daß die erste Ausgangsschicht des ersten neuro- nalen Netzes eine große Anzahl von Ausgangsneuronen aufweist (in diesem Fall : 200 Ausgangsneuronen).

Die zweite Verbindungsmatrix B, in diesem Fall ein hochdimen- sionaler Vektor, ist derart ausgestaltet, daß unter Verwen- dung der Verbindungsmatrix B die hochdimensionale Ausgangs- größe st des ersten neuronalen Netzes (Dimension = 200) auf eine eindimensionale Größe abgebildet wird. Insbesondere wei- sen alle Gewichte der zweiten Verbindungsmatrix B den Wert 1 auf.

Dementsprechend weist die dritte Verbindungsmatrix C nur ei- nen Gewichtswert, welcher zusatzlich nur positive Werte an- nehmen kann, auf.

Die vierte Verbindungsma. rix D ist als eine Diagonalmatrix ausgestalten, bei der alle Diagonalwerte den Wert 1 aufwei- sen.

Als Trainingsverfahren wird ebenfalls das Backpropagation- Verfahren eingesetzt. Ein Trainingsdatensatz wird auf folgen- de Weise gebildet.

Es werden bekannte Wechselkursveränderungen als Zeitreihen- werte Ut gemeinsam mit den entsprechenden ökonomischen Kenn- zahlen, die zu den gekannten Wechselkursveränderungen korre- spondieren, zeitlich aufeinanderfolgend gruppiert.

Bei einem Training der Anordnung werden diese Zeitreihenwerte ut der Anordnung als Trainingsdatensatz zugeführt.

Bei dem Training weist eine Zielfunktion E, welche in der er- sten Ausgangsschicht des ersten neuronalen Netzes gebildet wird, folgende Vorschrift auf : mit : t : Index, welcher einen Zeitpunkt beschreibt T : betrachtetes Zeitintervall

a : Index für ein Neuron ln (...) : natürlicher Logarithmus Pt, Pt+1 : Wechselkurs zum Zeitpunkt t bzw. t+1 zut. veine einem Neuron a zugeordnete gewechselte Geld- menge in DM.

Ferner gelten folgende, ein dynamisches Wechselkurssystem be- schreibende Beziehungen : mta+l = mt-zt (Marktmechanik des Wechselkurssystems) (6) nt +1 = nt-Pt * zt (Marktmechanik des Wechselkurssystems) (7) (Gleichgewichtsbedingung des Wechselkurssystems) (8) mit : mta+1mt : eine einem Neuron a zugeordnete Geldmenge in $ zu einem Zeitpunkt t+1 bzw. t nt+l, nt . eine einem Neuron a zugeordnete Geldmenge in DM zu einem Zeitpunkt t+1 bzw. t.

Der Anordnung für die Wechselkursprognose liegen folgende Prinzipien zugrunde : Ein durch einen Uberschuß einer Geldmenge verursachter Un- gleichgewichtszustand des Wechselkurssystems wird durch eine Veränderung des Wechselkurses kompensiert.

Ein Zustand des Wechselkurssystems wird durch ein Entschei- dungsmodell, welches in dem ersten neuronalen Netz realisiert ist, beschrieben. In diesem Fall repräsentiert jeweils ein Neuron einen sogenanr. ten"Agenten". Dementsprechend wird die Anordnung fUr die Wechselkursprognose auch als"Multi-Agent- System"bezeichnet.

In dem zweiten neuronalen Netz ist ein Marktmodell reali- siert, mit welchem ein Ungleichgewichtszustands, welcher durch das Entscheidungsmodell erzeugt wird, durch eine Verän-

derung eines Zustands eines Wechselkursmarktes kompensiert wird.

Ein Ungleichgewichtszustand des Entscheidungsmodells ist eine Ursache für eine Zustandsänderung des Markmodells.

Im folgenden wird eine Alternative des zweiten Ausführungs- beispiels beschrieben.

Das alternative Ausführungsbeispiel unterscheidet sich von dem zweiten Ausführungsbeispiel in den nachfolgend beschrie- ben Punkten. Die entsprechende Anordnung des alternativen Ausführungsbeispiels für die Wechselkursprognose ist jeweils in Fig. 5 (Anwendungsphase) und Fig. 6 (Trainingsphase) darge- stellt.

Neuronenverbindungen, welche unterbrochen sind, sind in den Figuren gestrichelt gezeichnet. Geschlossene Neuronenverbin- dungen sind durch durchgezogene Linien dargestellt.

Die ursprungliche Anordnung für die Wechselkursprognose gemäß Fig. 4 kann dahingehend geandert werden, daß anstelle des dritten neuronalen Netzes eine vierte Eingangsschicht 550 mit Eingangsneuronen verwendet wird, welche mit den Ausgangsneu- ronen der zweiten Ausgangsschicht 540 des zweiten neuronalen Netzes verbunden sind. Gewichte der Verbindungen sind in ei- ner fünften Verbindungsmatrix E enthalten. Die Verbindungen sind derart realisiert, daß sie in einer Anwendungsphase un- terbrochen und in einer Trainingsphase geschlossen sind.

Ferner weist die zweire Ausgangsschicht 540 des zweiten neu- ronalen Netzes eine Ruckfuhrung auf, mit der die Ausgangs- signale der zweiten Ausgangsschicht 540 in die zweite Aus- gangsschicht 540 zuruckgeführt werden. Gewichte der Rückfüh- rung sind in einer sechsten Verbindungsmatrix F enthalten.

Die RückLuhrung ist derart realisiert, daß sie in der Anwen-

dungsphase geschlossen und in der Trainingsphase unterbrochen ist.

Darüber hinaus sind die Ausgangsneuronen der ersten Ausgangs- schicht 520 des ersten neuronalen Netzes mit den Ausgangsneu- ronen 540 des zweiten neuronalen Netzes verbunden. Gewichte der Verbindungen sind in einer siebten Verbindungsmatrix G enthalten.

Die Verbindungen zwischen der zweiten Eingangsschicht 530 und der zweiten Ausgangsschicht 540 sind derart ausgestaltet, daß sie in einer Anwendungsphase geschlossen und in einer Trai- ningsphase unterbrochen sind.

Die fünfte Verbindungsmatrix E und die sechste Verbindungsma- trix F ist jeweils eine Identitätsmatrix Id.

Die siebte Verbindungsmatrix G ist derart ausgestaltet, daß eine unter Verwendung der siebten Verbindungsmatrix G durch- geführte Abbildung fclgender Vorschrift gehorcht : Ableitung nach ln (Pt+1).

Pt Ein Training der alternativen Anordnung wird entsprechend dem zweiten Ausführungsbeispiels durchgeführt. Die alternative Trainingsanordnung ist in Fig. 6 dargestellt.

Bei dem Training werden die Rückführung und die Verbindungen zwischen der zweiten Eingangsschicht 530 und der zweiten Aus- gangsschicht 540 unterbrochen.

In der Anwendungsphase kann eine Veränderung eines Wechsel- kurses, mit welcher ein Ungleichgewichtszustand des Marktes kompensiert werden kann, nach einem iterativen Prozeß an der zweiten Ausgangsschicht des zweiten neuronalen Netzes abge- griffen werden.

Im Rahmen des iterativen Prozesses wird folgendes Fixpunkt- problem gelöst : ln #Fixpunkt)n Pt mit : E:: Gewicht der dritten Verbindungsmatrix C, e > 0.

N : Index für einen Iterationsschritt Der alternativen Anordnung für die Wechselkursprognose liegen folgende Prinzipien zugrunde : Das Wechselkurssystem befindet sich zu jedem Zeitpunkt t in einem Gleichgewicht.

Durch eine Veranderung eines Zustands des Marktmodells kann ein Ungleichgewichtszustand des Entscheidungsmodells verhin- dert werden.

Im weiteren sind eine mögliche Realisierungen des oben be- schriebenen zweiten Alsfuhrungsbeispiels und eine mögliche Realisierung der Alternative des zweiten Ausführungsbeispiels angegeben für das Programm SENN, Version 2.3. Die Realisie- rungen umfassen jeweils drei Abschnitte, die jeweils einen Programmcode enthalten, die zur Verarbeitung in SENN, Version 2.3 erforderlich sind.

Mögliche Realisierung des zweiten Ausführungsbeispiels : 1. : Für die Anwendungsphase : BpNet{ Globals{ WtPenalty { sel NoPenalty Weigendj Lambda}0.000000 AutoAdapt}T w0}1.000000 DeltaLambda} ReducFac}0.900000 Gamma}0.900000 DesiredError{0.000000} } WtDecay{ Lambdai 0. 010000} AutoAdapt{F} AdaptTime10 EpsObj0.001000 ObjSetTraining EpsilonFac { } ) ExtWtDecay { Lambda}0.001000 AutoAdapt}F AdapTime { } EpsObj 0.001000 } ObjSetTraining EpsilonFac}1.000000 ) Finnoff ( AutoAdapt}T Lambda}0.000000 DeltaLambda f 0.000001) ReducFac}0.900000 Gamma}0.900000 0.000000}DesiredError{ ) } ErrorFunc { sel LnCosh : #x#{ parameter{0.050000) } LnCosh j parameter}2.000000 ) ) AnySave j file_name { } AnyLoad j file_name { f. Globals. dat } } ASCII}F } LearnCtrl{ sel Stochastic Stochastic{ PatternSelection { sel Permute SubSamplej PercentPercent{ } } ExpRandom {

Lambda }2.000000 ) ) WtPruneCtrl{ PruneSchedule j sel FixSchedule FixSchedule { 10}Limit_0{ Limit 1 10 10}Limit-_2{ 10}Limit_3{ RepeatLast T ) DynSchedule i MaxLengthMaxLength{ } MinimumRuns }0 Training (F) Validation (T) GeneralizationGeneralization{ } } DivSchedule{ Divergence 0. 100000 MinEpochs (5) ) ) PruneAlg j sel FixPrune FixPrune{ Perc 0 0. 100000 0.100000}Perc-_1{ Perc 2 0. 100000 0.100000}Perc-3{ } EpsiPrune j DeltaEps }0.50000 StartEps 0. 050000 MaxEps }1.000000 ReuseEpsReuseEps{ } ) } Tracer Active }F Set Validation File trace ) ActiveActive{ } Randomize 0. 000000 PruningSetPruningSet{ } Method i S-Pruning) ) StopControl j EpochLimit{ Active }F MaxEpoch }60 ) MovingExpAverage j Active }F MaxLength }4 Training }F Validation }T Generalization j F} Decay }0.900000 } CheckObjectiveFct { Active }F MaxLength }4 Training }F Validation }T Generalization }F ) CheckDelta { Active }F Divergence 0. 100000 ) ) EtaCtrl{ Mode { sel EtaSchedule

EtaSchedule i SwitchTime 10 ReductFactor 0. 950000 ) FuzzCtrl{ MaxDeltaObjMaxDeltaObj{ } MaxDeltaObjMaxDeltaObj{ } MaxEtaChange0. 020000 MinEta }0.001000 MaxEta }0.100000 Smoother j 1. 000000} ) ) Active }F } LearnAlgo i sel OnlineBackProp VarioEta { MinCalls }50 1 MomentumBackProp { Alpha }0.050000 } Quickprop j Decay }0.050000 Mu }2.000000 ) ) AnySave { file_name { f. Stochastic.dat} } AnyLoad { f.Stochastic.dat}file_name{ } BatchSize }1 Eta } DerivEps 0. 000000 ) TrueBatch j PatternSelection { sel Sequential SubSample j Percent }0.500000 } ExpRandom { 2.000000}Lambda{ } ) WtPruneCtrl{ Tracer { ActiveActive{ } Set }Validation File j trace} ) Active }F Randomize { } PruningSet { } Method S-Pruning ) EtaCtrl{ Active }F } LearnAlgo { sel VarioEta VarioEta { MinCalls 200 } MomentumBackProp ( Alpha }0.050000 ) Quickprop i Decay }0.050000 Mu; 2. 000000) <BR> <BR> )<BR> <BR> <BR> <BR> ) AnySave ( filename f f. TrueBatch. dat} )

AnyLoad( file name { } }<BR> <BR> } Eta }0.050000 DerivEps }0.000000 } LineSearch j PatternSelection j sel Sequential SubSample( Percent 0.500000 } ExpRandom{ Lambda}2.000000 ) ) WtPruneCtrl ( Tracer j Active { } Set Validation File trace } Active { } Randomize0.000000 PruningSet Train. +Valid.

Method }S-Pruning ) LearnAlgo j sel ConjGradient VarioEta { MinCalls { } } MomentumBackProp i Alpha }0.50000 } Quickprop ( Decay { } Mu { } } Low-Memory-BFGS j Limit }2 } ) AnySave ( f.LineSearch.datfile_name( AnyLoad ( filename {f. LineSearch. dat ) EtaNull f 1.000000) MaxSteps { } LS Precision 0.500000 TrustRegion {T} DerivEps }0.000000 BatchSize }2147483647 } GeneticWeightSelect ( PatternSelection { sel Sequential SubSamplej Percent 0.500000 } ExpRandom { Lambda}2.000000 ) } LearnAlgo { sel VarioEta VarioEta { MinCalls { } ) MomentumBackProp { Alpha f 0. 050000) } ) ObjFctTracer ( Active (F) File }objFunc

) SearchControl ( SearchStrategy { sel HillClimberControl HillClimberControl.{ 0.950000}%InitialAlive{ InheritWeights T Beta }0.100000 MutationType (DistributedMacroMutation) MaxTrials 50 ) PBILControl i 0.950000}%InitialAlive{ INheritWeightsINheritWeights{ } Beta }0.100000 Alpha }0.100000 PopulationSize (40) ) PopulationControl { pCrossover {1. 000000) CrossoverType (SimpleCrossover) Scaling }T ScalingFactor (2. 000000) Sharing {T) SharingFactor }0.050000 PopulationSize }50 0.010000}min.&InitialAlive{ max. % InitialAlive 0. 100000 ) 1 0.000000}pMutation{ <BR> <BR> )<BR> <BR> <BR> <BR> ObjectiveFunctionWeights 0.600000}%Alive{ 0.200000}E(TS){ Improvement (TS) 0. 000000 1.000000}E(VS){ 0.000000}Improvement(VS){ (E (TS)-E (VS))/max (E (TS), E (VS)) j 0. 000000) LipComplexity 0. 000000 OptComplexity 2. 000000 0.000000}testVal(dead)-testVal(alive){ ) AnySave { f.GeneticWeightSelect.dat}file_name{ AnyLoad j f.GeneticWeightSelect.dat}file_name{ Eta {0. 050000) DerivEps 0. 000000 BatchSizeBatchSize{ } #minEpochsForFitnessTest2 #maxEpochsForFitnessTest#maxEpochsForFitnessTest{ } SelectWeights (T) SelectNodes }T maxGrowthOfValError }0.005000 <BR> <BR> )<BR> <BR> <BR> <BR> 1 CCMenu ( Clusters j mlp. input ActFunction j sel id plogistic { parameter 0. 500000 ) ptanh { parameter 0. 500000 ) pid{ parameter 0. 500000 } } InputModification{ sel None AdaptiveUniformNoidse{ NoiseEta }1.000000

DampingFactor i 1. 000000 } ) AdaptiveGaussNoise j NoiseEta (1. 000000) DampingFactor }1.000000 } FixedUniformNoise { SetNoiseLevel ( NewNeiseLevelNewNeiseLevel{ } ) ) FixedGaussNoise i SetNoiseLevel j NewNoiseLevelNewNoiseLevel{ } <BR> <BR> )<BR> <BR> <BR> <BR> ) ) SaveNoiseLevel ( Filenam }noise_level.dat } LoadNoiseLevel{ Filename level.dat}noise ) SaveManipulatorData ( Filename }inputManip.dat ) LoadManipulatorData j Filename }inputManip.dat ) Norm }NoNorm } mlp. excessDemand { ActFunction { sel id plogistic { parameter 0. 500000 } ptanh i parameter 0. 500000 ) pid j parameter 0. 500000 } } } mlp. price j ActFunction { sel id plogistic { parameter { } } ptanh j parameter 0. 500000 } pid { parameter {0. 500000) ) ) ErrorFunc { sel LnCosh #x#{ parameter 0. 050000 ) LnCosh j parameter 2. 000000 ) ) ToleranceFlag }F Tolerance }0.000000 Weighting 2. 000000 ) mlp. agents { ActFunction j sel tanh plogistic { parameter }0.500000 } ptanh {

parameter 0. 500000 ) pid{ parameter }0.500000 } } ErrorFunc { sel ProfMax ( parameter {0. 050000} ) LnCosh j parameter 2. 000000 } ) Normj NoNorm} ToleranceFlag F Tolerance {0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 C. 000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 <BR> <BR> 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000] Weighting { 0. 100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0. 100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0. 100000 0.100000 C. 100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0. 100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0. 100000 0.100000 0.100000 0.100000 <BR> <BR> 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000<BR> <BR> <BR> 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0.100000 0. iooooo ) ) Connectors j mlp.agents->excessDemand j WeightWatcher { Active {T) MaxWeightMaxWeight{ } MinWeight{1. 000000} ) LoadWeightsLocal ( Filename }std ) SaveWeightsLocal Filename {std 1 } Alive {T} WtFreeze{F} AllowGeneticOptimizationj F j Penalty (NoPenalty)

AllowPruning{F} EtaModifier }1.000000 } mlp.excessDemand->price f WeightWatcher{ Active }T MaxWeight}2.000000 MinWeight}0.010000 } LoadWeightsLocal { Filename { } ) SaveWeightsLocal{ Filename (std} ) Alive }T WtFreezeWtFreeze{ } AllowGeneticOptimization}F Penalty {NoPenalty} AllowPruning}F EtaModifier }1.000000 ) mlp.input->agents { WeightWatcher{ Active (F) MaxWeight}1.000000 MinWeight { } ) LoadWeightsLocal{ Filename {std} } SaveWeightsLocal t Filename { } ) Alive }T WtFreeze{F} AllowGeneticOptimizationF Penalty }NoPenalty AllowPruning{T} EtaModifier }1.000000 } mlp.bias->agents{ WeightWatcher{ Active (F) 1.000000}MaxWeight{ MinWeight { } } LoadWeightsLocal Filename{std} } SaveWeightsLocal{ Filename { } } Alive }T WtFreeze{F} AllowGeneticOptimization{F Penalty {NoPenalty} AllowPruning}F EtaModifier { } } } AnySave{ file_name { f. CCMenu.dat} <BR> <BR> <BR> } AnyLoad{ file name { f.CCMenu.dat } } ) TestRun { Filename { } Part. Transformed {F} ) Online { Filename}Online.dat } ) Für die Testphase : BpNet { Globals { WtPenalty{ sel NoPenalty Weigend{ Lambda{0.000000) AutoAdapt}T W0 { } DeltaLambda}0.000001 0.900000}ReducFac{ Gamma { } DesiredError }0.000000 } WtDecay { Lambda}0.010000 AutoAdaptF AdaptTime{10} EpsObjEpsObj{ } ObjSet {Training} EpsilonFac}1.000000 } ExtWtDecay { Lambda}0.001000 AutoAdapt}F AdaptTime{10} EpsObj}0.001000 ObjSet Training) EpsilonFac {1.000000} ) Finnoff { AutoAdapt}T Lambda}0.000000 DeltaLambda}0.000001 ReducFac}0.900000 Gamma{0.900000) DesiredError { } } ) ErrorFunc { sel LnCosh #x#{ parameter 0.050000 ) LnCosh { parameter }2.000000 } ) AnySave { file name { } }<BR> <BR> } AnyLoad{ file_name { } } ASCIII T } LearnCtrl { sel Stochastic Stochastic { PatternSelection { sel Permute SubSample{ Percent }0.500000 } ExpRandom{ Lambda2.000000 ) ) WtPruneCtrl { PruneSchedule{ sel FixSchedule FixSchedule { Limit_0 { 10 }

Limitl(10)<BR> <BR> <BR> <BR> <BR> Limit2fl0) Limit3(10) RepeatLeatRepeatLeat{ } ) DynSchedule { MaxLength {4) MinimumRuns {0) Training }F Validation {T) Generalization {F) ) DivSchedule f Divergence }0.100000 MinEpochs {5) ) ) PruneAlg { sel FixPrune FixPrune Perc0{0.100000) Percl{0.100000) {0.100000}Perc2 <BR> <BR> Perc_3 { 0.100000 }<BR> <BR> } EpsiPrune { DeltaEps { } StartEps }0.050000 MaxEps }1.000000 ReuseEps {F) ) } Tracer { Active }F Set {Validation) File trace } Active {F} Randomize { } PruningSet {Train. +Valid.} Method }S-Pruning } StopControl { EpochLimit { Active F) MaxEpoch { } ) MovingExpAverage { Active f F) MaxLength (4} Training F) Validation }T Generalization }F Decay }0.900000 } CheckObjectiveFct { Active }F MaxLength }4 Training }F Validation }T Generalization }F ) CheckDelta { Active }F Divergence }0.100000 ) ) EtaCtrl { Mode { sel EtaSchedule EtaSchedule j SwitchTime { } ReductFactor { } } FuzzCtrl f MaxDeltaObj { } 0.300000}MaxDelta2Obj{ MaxEtaChange }0.020000

MinEta{0.001000} MaxEta}0.100000 Smoother}1.000000 ) } Active {F} } LearnAlgo{ sel VarioEta VarioEta { MinCalls {50} } MomentumBackProp{ Alpha }0.050000 } Quickprop { Decay}0.050000 Mu}2.000000 ) ) AnySave ( file_name { f. Stochastic.dat} <BR> <BR> } AnyLoad{ file name { f.stochastic.dat } )<BR> <BR> } BatchSize { } Eta 010000}0 DerivEps { } ) TrueBatch{ PatternSelection ( sel Sequential SubSample{ Percent }0.500000 } ExpRandom{ Lambda { } ) ) WtPruneCtrl{ Tracer { Active {F} Set Validation File trace ) Active f F} Randomize}0.000000 Train.+Valid.}PruningSet{ Method { S-Pruning} } EtaCtrl{ Active { } } LearnAlgo{ sel VarioEta varioEta { MinCalls {200} } MomentumBackProp { Alpha }0.050000 1 Quickprop{ Decay}0.050000 Mu}2.000000 ) ) AnySave { filename {f. TrueBatch. dat} } AnyLoad { file name { } }<BR> <BR> } Eta }0.050000 DerivEps}0.010000 } LineSearch { PatternSelection {

sel Sequential SubSample ( Percent }0.500000 } ExpRandom { Lambda { } ) ) WtPruneCtr1{ Tracer { Active F Set (Validation) File (trace} } Active }F Randomize }0.000000 PruningSet +Valid.}Train.

Method {S-Pruning} ) LearnAlgo { sel ConjGradient VarioEta { MinCalls { } 1 MomentumBackProp { Alpha }0.050000 } Quickprop { Decay }0.050000 Mu }2.000000 } Low-Memory-BFGS { Limit }2 ) ) AnySave t filename(f.LineSearch.dat} } AnyLoad f file name { } }<BR> <BR> <BR> EtaNull }1.000000 MaxSteps { } LS Precision {0.500000} TrustRegion }T DerivEps }0.010000 2147483647}BatchSize{ } GeneticWeightSelect { PatternSelection{ sel Sequential Subsample { Percent { } 1 ExpRandom { Lambda }2.000000 } } LearnAlgo { sel VarioEta VarioEta { MinCalls { } ) MomentumBackProp { Alpha {0.050000) ) } objFctTracer{ Active {F) File { } ) SearchControl { SearchStrategy { sel HillClimberControl HillClimberControl { 0.950000}%InitialAlive{ InheritWeights (T) Beta f 0. 100000)

MutationType {DistributedMacroMutation) MaxTrials {50) } PBILControl { 0.950000}%InitialAlive{ InheritWeights {T} Beta }0.100000 Alpha { } 40}PopulationSize{ ) PopulationControl { pCrossover {1. 000000) CrossoverType }SimpleCrossover Scaling }T ScalingFactor 2. 000000 Sharing }T SharingFactor { } PopulationSize 50) min. 0.010000}{ max. 0.100000}{ } ) pMutation }0.000000 ) objectiveFunctionWeights{ 0.600000}%Alive{ E (TS) }0.200000 Improvement (TS) {0. 000000 } E (VS) {1. 000000 } Improvement (VS) {0.000000} (E (TS)-E (VS))/max (E (TS), E{VS}} { 0.000000 } LipComplexity }0.000000 OptComplexity { } testVal (dead)-testVal (alive) (0.000000) ) AnySave { f.GeneticWeightSelect.dat}file_name{ } AnyLoad { f.GeneticWeightSelect.dat}file_name{ } Eta }0.050000 DerivEps {0. 010000} BatchSize {5} #minEpochsForFitnessTest#minEpochsForFitnessTest{ } 3}#maxEpochsForFitnessTest{ T}SelectWeights{ SelectNodes {T) maxGrowthOfValError C. 005000 ) } CCMenu { Clusters { mlp.inputPl { ActFunction { sel id plogistic { parameter }0.500000 ) ptanh { parameter }0.500000 } pid { parameter }0.500000 ) } InputModification { sel None AdaptiveUniformNoise { NoiseEta (1. 000000} DampingFactor {1. 000000) ) AdaptiveGaussNoise { NoiseEta {1.000000) DampingFactor {1. 000000) ) FixedUniformNoise { SetNoiselevel {

NewNoiseLevel0.000000 <BR> <BR> }<BR> <BR> <BR> } FixedGaussNoise { SetNoiseLevel j NewNoiseLevel}0.000000 ) } ) SaveNoiseLevel ( Filename { noise_level.dat } } LoadNoiseLevel{ Filename {noise } } SaveManipulatorData j Filename }inputManip.dat ) LoadManipulatorData j Filename }inputManip.dat } Norm { } ) mlp.inputf ActFunction { sel id plogistic { parameter 0.500000 ) ptanh j parameter 0.500000 ) pid j parameter 0.500000 ) } InputModification j sel None AdaptiveUniformNoise j NoiseEta }1.000000 1.000000}DampingFactor{ } AdaptiveGaussNoise i NoiseEta }1.000000 DampingFactor{1.000000) } FixedUniformNoise i SetNoiseLevel { NewNoiseLevel0.00000C } ) FixedGaussNoise{ SetNoiseLevel { NewNoiseLevel0.000000 } ) } SaveNoiseLevel j Filename (noiselevel. dat) } LoadNoiseLevel j Filename { noise } ) SaveManipulatorData i Filename {inputManip. dat) ) LoadManipulatorData { Filename }inputManip.dat ) Norm { } ) mlp.agents- ActFunction j sel id plogistic { parameter {0.500000) ) ptanh {

parameter 1 0. 500000 } @ pid j parameter }0.500000 ) ) ErrorFunc { sel none 1#1{ parameter j 0. 050000) ) LnCosh j parameter (2. 000000} ) } Norm j NoNorm} ToleranceFlag (F} Tolerance t 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 <BR> <BR> 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 o. 000000 0.000000 0.000000 0. 000000 0. 000000 0.000000 0.000000 0.000000 0.000000 0.000000 o. 000000 0.000000 0.000000 o. 000000 o. 000000 0.000000 0.000000 0.000000 0.000000 0.000000 o. 000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 o. 000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0. 000000 o. 000000 0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.00 00000.000000 o. 000000 0.000000 0.000000 0. oooooc o. 000000 0.000000 0.000000 0. 000000 0. 000000 0.000000 o. 000000 0.000000 0.000000 0. 000000 0. 000000 o. 000000 0.000000 0.000000 0.000000 0.000000 o. 000000 0.000000 0.000000 0.000000 000000 oooooo 0. 000000 0.000000 0.000000 0.000000 0.000000 o. oooooo 0. 000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 o. 000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 o. 000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 }0.0000000.000000 Weighting (1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1. 000000 1. 000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 i. 000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1. 000000 1. 000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1. 000000 1. 000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000001.0000001.000001.0000001.0000001.0000001.0000001.0000 00000000 1.000000 1.000000 1.000000 1. 000000 1. 000000 1. 000000 1. 000000 1. 000000 1. 000000 1. 000000 1.000000 1.000000 1.000000 1. 000000 1. 000000 1. 000000 1. 000000 1. 000000 1. 000000 1. 000000 1.000000 1. oooooo 1. 000000 1. 000000 1. 000000 1. 000000 1. 000000 1. 000000 1. 000000 1. 000000 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. 100000 1. oooooo 1. oooooo 1. oooooo 1. 000000 1. 000000 1. 000000 1. 000000 1. 000000 1. 000000 1. 000000 1. oooooo 1. oooooo 1. oooooo 1.00000C 1. 00000 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. 000000 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. 000000 1. 00000 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. 000000 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. 000000 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. oooooo 1. 000000 1. oooooo 1. oooooo 1. oooooo 1. 000000 1. 000000 1. 000000 1. 000000 1. 000000 1. 000000 1. 000000 1. oooooo 1. oooooo} ) mlp. agents { ActFunction { sel tanh plogistic { parameter 0. 500000 ) ptanh { parameter 0. 500000 ) pid { parameter 0. 500000 ) ) ErrorFunc sel ProfMax 1#1{ parameter 0. 050000 1

LnCoshf parameter {2. 000000} <BR> <BR> )<BR> <BR> <BR> <BR> ) Norm(NoNorm ToleranceFlag j F) Tolerance j 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 <BR> <BR> 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000<BR> <BR> <BR> 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 <BR> <BR> 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000<BR> <BR> <BR> 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 <BR> <BR> 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) Weighting j 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 <BR> <BR> 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000<BR> <BR> <BR> 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000<BR> <BR> <BR> <BR> 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 <BR> <BR> 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000<BR> <BR> <BR> 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000<BR> <BR> <BR> <BR> 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 i. 000000 1.000000 1.000000 1.000000 <BR> <BR> 1. 000000 1. 000000)<BR> <BR> <BR> <BR> ) mlp.excessdemand ActFunction j sel id plogistic { parameter 0. 500000 ) ptanh j parameter 0. 500000 ) pid j parameter 0. 500000 ) ) ) mlp.price i ActFunction { sel id plogistic { parameter 0. 500000 ) ptanh { parameter 0. 500000 ) pid { parameter 0. 500000 <BR> <BR> }<BR> <BR> <BR> ) ErrorFunc j sel LnCosh

#x#{ parameter {0. 050000) } LnCosh j parameter {2.000000} ) ) ToleranceFlag {F} Tolerance {0.000000} Weighting{1.000000} ) ) Connectors f mlp.inputP1->agentsP1{ WeightWatcher j Active {F} MaxWeight{1.000000} MinWeight{0.000000} ) LoadWeightsLocal i Filename{std} } SaveWeightsLocal ( Filename{std} } Alive {T} WtFreeze{F) AllowPruning{T} EtaModifier 1. 000000 Penalty (NoPenalty} ) mlp.bias->agentsP1{ WeightWatcher{ Active {F} MaxWeight1. 000000 MinWeight0. 000000 ) LoadweightsLocal{ Filename{std} ) SaveWeightsLocal{ Filename{std} ) Alive (T) WtFreeze{F} AllowPruning{F} EtaModifier 1. OOOOCO Penalty (Penalty ) mlp.input->agents{ LoadWeightsLocal Filename j std) ) SaveWeightsLocal{ Filename{std} ) Alive {T} WtFreeze{F} AllowPruning{T} EtaModifier1. 000000 Penalty (NoPenalty} ) mlp.bias->agents { LoadWeightsLocal{ Filename{std} ) SaveWeightsLocal i Filename {std} ) Alive (T) WtFreeze{F} AllowPruning{F} EtaModifier 1. 000000 Penalty {NoPenalty) ) mlp. agentsPl->agents j WeightWatcher j Active {F}

MaxWeight 1. 000000 MinWeight {0.000000} ) LoadWeightsLocal{ Filename {std} } SaveWeightsLocal Filename I std I } Alive {T} WtFreeze F AllowPruning F Penalty {NoPenalty} EtaModifier {1.000000} ) mlp. agents->excessDemand j WeightWatcher Active {T} MaxWeight 1. 000000 MinWeight {1.000000} } LoadWeightsLocal{ Filename {std} ) SaveWeightsLocal{ Filemame {std} } Alive {T} WtFreeze {T} AllowPruning {F) Penalty (NoPenalty) EtaModifier {1.000000} ) mlp. excessDemand->price { WeightWatcher{ Active {T} MaxWeight 2. 000000 MinWeight (0. 010000) } LoadWeightsLocal{ Filename I std I } SaveWeightsLocal{ Filename {std) ) Alive {T} WtFreeze {F} AllowPruning {F} Penalty (NoPenalty) EtaModifier {1.000000} ) ) AnySave { filename{f. CCMenu. dat) } AnyLoad j {f.CCMenu.dat}filename } ) TestRun j Filename {Test} Part. Transformed j F) ) Online j Filename (Online. dat) } ) 2. Spezifikations-Datei : APPLICATIONDollarPrognoseGrimmdaten MODE DAY WEEK 5

FROM 01.01.1991 TO MAX TRAINING FROM 01. 01.1991 TO 03.09. 1996 VALIDATION FROM 03. 09.1995 To 03. 09.1996 //VALIDATION RANDOM 0% INPUT CLUSTER mlp. inputPl BEGIN DEMUSD"DMARKER/USDOLLR" x = FILE data/dol. txt COLUMN 1 INPUT = scale ((x-x (-1))/x (-1)) LAG-1 INPUT = scale ( (x-2 * x (-l) + x (-2))/x) LAG-1 END BEGIN JPYUSD"JAPAYEN/USDOLLR" x = FILE data/dol. txt COLUMN 2 INPUT = x(-1))/x(-1))- LAG-1 INPUT = scale ( (x-2 * x (-l) + x (-2))/x) LAG-1 END BEGIN ECUS3M"EURO-CURRENCY (LDN) USS 3 MONTHS-MIDDLE RATE" x = FILE data/dol. txt COLUMN 3 INPUT = scale ((x-x (-1))/x (-l)) LAG-1 INPUT = scale ( (x-2 * x (-l) + x (-2))/x) LAG-1 END BEGIN ECWGM3M"EURO-CURRENCY (LDN) D-MARK 3 MONTHS-MIDDLE RATE" x = FILE data/dol. txt COLUMN 4 INPUT = scale ((x-x (-l))/x (-l)) LAG-1 INPUT = scale ( (x-2 * x (-l) + x (-2))/x) LAG-1 END BEGIN AUSGVG4RY"US TOTAL 7-10 YEARS DS GOVT. INDEX-RED. YIELD" x = FILE data/dol. txt COLUMN 5 INPUT = x(-1))/x(-1))- LAG-1 INPUT = scale ( (x-2 * x (-1) + x (-2))/x) LAG-1 END BEGIN ABDGVG4RY"BD TOTAL 7-10 YEARS DS GOVT. INDEX-RED. YIELD" x = FILE data/dol. txt COLUMN 6 INPUT = scale ((x-x (-l))/x (-l)) LAG-1 INPUT = scale ( (x-2 * x (-1) + x (-2))/x) LAG-1 END BEGIN AJPGVG4RY"JP TOTAL 7-10 YEARS DS GOVT. INDEX-RED. YIELD" x = FILE data/dol. txt COLUMN 7 INPUT = scale ( (x-x (-l))/x (-l)) LAG-1 INPUT = scale ( (x-2 * x (-l) + x (-2))/x) LAG-1

END BEGIN TOTMKUSRI"US-DS MARKET-TOT RETURN IND" x = FILE data/dol. txt COLUMN 8 INPUT =scale ( (x-x (-l))/x (-l)) LAG-1 INPUT = scale ( (x-2 * x (-1) + x (-2))/x) LAG-1 END BEGIN TOTMKBDRI"GERMANY-DS MARKET-TOT RETURN IND" x = FILE data/dol. txt COLUMN 9 INPUT = scale ((x-x (-1))/x (-1)) LAG-1 INPUT = scale ( (x-2 * x (-l) + x (-2))/x) LAG-1 END BEGIN NYFECRB"COMMODITY RESEARCH BUREAU INDEX-CRB-PRICE INDEX" x = FILE data/dol. txt COLUMN 10 INPUT = scale ((x - x(-1)) / x(-1)) LAG-1 INPUT = scale ((x-2 * x (-1) + x (-2))/x) LAG-1 END BEGIN GOLDBLN"GOLD BULLION S/TROY OUNCE" x = FILE data/dol. txt COLUMN 11 INPUT = scale ((x-x (-l))/x (-1)) LAG-1 INPUT = scale((x - 2 * x(-1) + x (-2))/x) LAG-1 END INPUT CLUSTER mlp. input BEGIN DEMUSD"DMARKER/USDOLLR" x = FILE data/dol. txt COLUMN 1 INPUT /x(-1))scale((x-x(-1)) INPUT = scale ( (x-2 * x (-1) + x (-2))/x) END BEGIN JPYUSD"JAPAYEN/USDOLLR" x = FILE data/dol. txt COLUMN 2 INPUT = scale ((x-x (-1))/x (-1)) INPUT = scale ( (x-2 * x (-1) + x (-2))/x) END BEGIN ECUS3M"EURO-CURRENCY (LDN) US$ 3 MONTHS-MIDDLE RATE" x = FILE data/dol. txt COLUMN 3 INPUT = scale ((x-x (-l))/x (-l)) INPUT = scale((x-2 * x(-1) + x (-2))/x) END BEGIN ECWGM3M"EURO-CURRENCY (LDN) D-MARK 3 MONTHS-MIDDLE RATE" x = FILE data/dol. txt COLUMN 4 INPUT = scale ((x-x(-1)) / x(-1))

INPUT = scale ( (x-2 * x (-l) + x (-2))/x) END BEGIN AUSGVG4RY"US TOTAL 7-10 YEARS DS GOVT. INDEX-RED. YIELD" x = FILE data/dol. txt COLUMN 5 INPUT = x(-1))/ INPUT = scale ( (x-2 * x (-1) + x (-2))/x) END BEGIN ABDGVG4RY"BD TOTAL 7-10 YEARS DS GOVT. INDEX-RED. YIELD" x = FILE data/dol. txt COLUMN 6 INPUT = x(-1))/ INPUT = scale((x-2 * x(-1) + x (-2))/x) END BEGIN AJPGVG4RY"JP TOTAL 7-10 YEARS DS GOVT. INDEX-RED. YIELD" x = FILE data/dol. txt COLUMN7 INPUT = scale ((x-x(-1)) / x(-1)) INPUT = scale((x-2 * x(-1) + x (-2))/x) END BEGIN TOTMKUSRI"US-DS MARKET-TOT RETURN IND" x = FILE data/dol. txt COLUMN 8 INPUT = scale ((x-x(-1)) / x(-1)) INPUT = scale ( (x-2 * x (-1) + x (-2))/x) END BEGIN TOTMKBDRI"GERMANY-DS MARKET-TOT RETURN IND" x = FILE data/dol. txt COLUMN 9 INPUT = scale ( (x-x (-1))/x (-l)) INPUT = scale((x-2 * x(-1) + xt-2))/x) END BEGIN NYFECRB"COMMODITY RESEARCH BUREAU INDEX-CRB-PRICE INDEX" x = FILE data/dol. txt COLUMN 10 INPUT = scale ((x-x (-l))/x (-1)) INPUT = scale ( (x-2 * x (-l) + x (-2))/x) END BEGIN GOLDBLN"GOLD BULLION $/TROY OUNCE" x = FILE data/dol. txt COLUMN 11 INPUT = scale ((x-x (-l))/x (-l)) INPUT = scale((x-1* x(-1) + x (-2))/x) END TARGET CLUSTER mlp. agentsPl BEGIN agents behavior past 1 x = FILE data/dol. txt COLUMN 1 TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-1))

TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 t ln (x/x (-1)) TARGET = 100 * ln (x/x (-D) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 t ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-1)) TARGET = 100 t ln (x/x (-1)) TARGET = 100 * ln (x/x (-l)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET*ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-D) TARGET = 100 t ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-D) TARGET *ln(x/x(-1))100 <BR> <BR> TARGET = 100 * ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET = 100 t ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-D) TARGET = 100 * ln (x/x (-D) TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-D) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 t ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-l)) TARGET *ln(x/x(-1))100

TARGET = 100 t ln (x/x (-1)) TARGET*ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-1)) TARGET = 100 * Infx/x (-l)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/xf-1)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 t ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-1)) TARGET = 100 t ln (x/x (-1)) TARGET = 100 * ln (x/x (-l)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 t ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET*ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET*ln(x/x(-1))100 TARGET*ln(x/x(-1))100 TARGET*ln(x/x(-1))100 TARGET*ln(x/x(-1))100 TARGET*ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-l)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-l)) TARGET = 100 * ln (x/x (-l)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET= 100 * ln (x/x (-l)) TARGET*ln(x/x(-1))100 TARGET*ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100

TARGET = 100 * ln (x/x (-l)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 t ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-D) TARGET = 100 * ln (x/x (-l)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET =100 * ln (x / x(-1)) TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x / x(-1)) TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x / x(-1)) TARGET *ln(x/x(-1))100 TARGET =100 * ln (x/x (-l)) TARGET = 100 * ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 * ln(x / x(-1)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-l)) TARGET *ln(x/x(-1))100 TARGET =100 * ln (x/x (-l)) TARGET = 100 * ln (x/x (-1)) TARGET = 100 * ln (x/x (-l)) TARGET *ln(x/x(-1))100 TARGET =100 * ln (x / x(-1)) TARGET =100 * ln (x / x(-1)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-1)) TARGET = 100 * ln (x/x (-l)) TARGET = 100 * ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET =100 * ln (x / x(-1)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET =100 * ln (x/x (-1)) TARGET = 100 * ln (x/x (-l)) TARGET = 100 * ln (x/x (-1)) TARGET = 100 * ln (x/x (-l)) TARGET =100 * ln (x/x (-1)) TARGET *ln(x/x(-1))100 TARGET *ln(x/x(-1))100 TARGET = 100 * ln (x/x (-l)) TARGET =100 * ln (x/x (-l)) TARGET *ln(x/x(-1))100 END TARGET CLUSTER mlp. agents BEGIN agents behavior x = FILE data/dol. txt COLUMN 1 TARGET = 100 * ln (x (l)/x) TARGETTARGET= ln(x(1)/x)* TARGETTARGET= ln(x(1)/x)*

TARGET= 100 *ln (x (l)/x) TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x (1)/x) TARGET =100 *ln (x (1)/x) TARGET =100 *ln (x (1)/x) TARGET*ln(x(1)/x)100 TARGET= 100 * ln (x (1)/x) TARGET = 100 * ln (x (1)/x) TARGET = 100 * ln (x (1)/x) TARGET = 100 * ln (x (1)/x) TARGET = 100 * ln (x (1)/x) TARGET = 100 * ln (x (1)/x) TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET =100 *ln (x (1)/x) TARGET = 100 * ln (x (1)/x) TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100

TARGET=100 *ln (x (l) x) TARGET*ln(x(1)/x)100 TARGET=100 *ln (x (l) x) TARGET*ln(x(1)/x)100 TARGET=100 ln (x (l) x) TARGET=100 ln (x (l) x) TARGET = 100 * ln (x (1)/x) TARGET*ln(x(1)/x)100 TARGET=100 ln (x (l) x) TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET=100 *ln (x (l) x) TARGET =100 *ln (x (l) x) TARGET*ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET =100 *ln (x (l) x) TARGET = 100 * ln (x (1) / x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET =100 *ln (x (l) x) TARGET =100 *ln (x (l) x) TARGET *ln(x(1)/x)100 TARGET =100 *ln (x (l) x) TARGET*ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET=100 *ln (x (l) x) TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET=100 *ln (x (l) x) TARGET=100 *ln (x (l) x) TARGET*ln(x(1)/x)100 TARGET=100 *ln (x (l) x) TARGET*ln(x(1)/x)100 TARGET=100 *ln (x (l) x) TARGET=100 *ln (x (l) x) TARGET=100 *ln (x (l) x) TARGET=100 *ln (x (l) x) TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET =100 ln (x (l) x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x (1)/x) TARGET *ln(x(1)/x)100 TARGET =100 *ln (x (l) x) TARGET =100 *ln (x (l) x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET =100 *ln (x (l) x) TARGET=100 *ln (x (l) x) TARGET=100 *ln (x (l) x) TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET=100 *ln (x (l)/x) TARGET=100 *ln (x (l)/x) TARGET=100 *ln (x (l)/x)

TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 *ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET = 100 t ln (x (1)/x) TARGET *ln(x(1)/x)100 TARGET =100 *ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET =100 *ln (x (1) / x) TARGET *ln(x(1)/x)100 TARGET =100 *ln (x (1) / x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET =100 *ln (x (l)/x) TARGET =100 *ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET = 100 t ln (x (1)/x) TARGET =100 *ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET =100 *ln (x (1) / x) TARGET =100 *ln (x (1) / x) TARGET = 100 t ln (x (1)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 END TARGET CLUSTER mlp. price BEGIN price x = FILE data/dol. txt COLUMN 1 TARGET = 100 * ln (x (l)/x) ASSIGN TO channel END

SIGNAL BEGIN hit rate = NORMSUM (signal) t = TARGET channel o = OUTPUT channel SIGNAL = IF t * o > 0 THEN 1 ELSE 0 END BEGIN RoI y = FILE data/dol. txt COLUMN 1 o = OUTPUT channel SIGNAL = (y (l)/y-1) * sign (o) END BEGIN realized potential = Relsum (signall, signal2) y = FILE data/dol. txt COLUMN 1 o = OUTPUT channel SIGNAL = (y (1)/y-1) * sign (o) SIGNAL = abs (y (1)/y-1) END BEGIN Backtransformation of forecasts y = FILE data/dol. txt COLUMN 1 o = OUTPUT channel SIGNAL = y (l) SIGNAL = y * (1 + o/100) END BEGIN Buy & Hold y = FILE data/dol. txt COLUMN 1 SIGNAL = y (l)/y-1 END' BEGIN Naiv Prognose y = FILE data/dol. txt COLUMN 1 SIGNAL = (y (1)/y-1) * sign (y-y (-1)) END 3. Modell-Top-Datei : net { cluster INPUT (EQUIVALENT, IN) ; cluster AGENTS (EQUIVALENT, OUT) ; connect INPUT AGENTS INPUT AGENTS, RANDOM (20)) ; connect bias->agents);( INPUT input- ; INPUT input ; AGENTS agentsPl ; AGENTS agents ; cluster (DIM (1), HID) excessDemand ; cluster (OUT) price ; connect ->agentsP1,INPUT_AGENTS);inputP1 connect (bias-> agentsP1, BIAS AGENTS) ; connect (input-> agents, INPUT AGENTS) ; connect (bias-> agents, BIAS_AGENTS ); connect (agentsPl-> agents, DIAGONAL (1.0)) ;

connect (agents-> excessDemand) ; connect (excessDemand-> price) ; } mlp; Mögliche Realisierung der Alternative des zweiten Ausfüh- rungsbeispiels : 1. Parameter-Datei : Bpnet{ Globals{ WtPenalty { sel NoPenalty Weigend( Lambda}0.000000 AutoAdapt(T) wO{1.000000) DeltaLambda}0.000001 ReducFac}0.900000 Gamma}0.900000 DesiredError}0.000000 ) WtDecay { Lambda}0.010000 AutoAdaptF AdaptTime10 EpsObj}0.001000 ObjSet{Training} EpsilonFac { } <BR> <BR> }<BR> <BR> <BR> <BR> ExtWtDecay { Lambda { } AutoAdapt}F AdaptTime{10) EpsilonFac}1.001000 ObjSet{Training) EpsilonFac}1.000000 } Finnoff{ T}autoAdapt{ Lambda i C. 000000 } DeltaLambda}0.000001 ReducFacf 0. 900000 Gamma}0.900000 DesiredError}0.000000 } ) ErrorFunc{ sel LnCosh #x#{ parameter}0.050000 } LnCosh{ parameter(2.000000) ) ) AnySave{ file_name { f.Globals.dat } } AnyLoad{ file name { } )<BR> <BR> } ASCII}T } LearnCtrl{ sel Stochastic Stochastic{ PatternSelection{ sel Permute SubSample{ percent}0.500000

} ExpRandom{ Lambda2. 000000 } ) {WtPruneCtrl PruneSchedule { sel FixSchedule FixSchedule{ 10}Limit_0{ 10}Limit_1{ 10}Limit_2{ Limit 3 10 T}RepeatLast{ ) DynSchedule { MaxLength{4} MinimumRuns{0} Training}F Validation}T Generalization{F} ) DivSchedule Divergence}0.100000 MinEpochs{5} ) ) PruneAlg { sel FixPrune FixPrune{ 0.100000}Perc_0{ 0.100000}perc_1{ Perc2(0.100000) <BR> <BR> 0.100000}Perc@3{ <BR> <BR> } EpsiPrune { DeltaEps}0.005000 StartEps { } MaxEps}1.000000 ReuseEps}F ) ) Tracer { Active}F Set {Validation) File trace ) Active{F} RandomizeRandomize{ } PruningSet {Trian. ) S-Pruning}Method{ } StopControl{ EpochLimit{ Active}F MaxEpoch{60} ) MovingExpAverage { Active}F MaxLength}4 Training}F Validation}T Generalization}F Decay}0.900000 } CheckObjectiveFct { Active}F MaxLength{4} Training}F Validation}T Generalization{F} } CheckDelta{ Active}F Divergence}0.100000 ) ) EtaCtrl

Mode { sel EtaSchedule EtaSchedule { SwitchTime { } ReductFactor0.950000 } FuzzCtrl { MaxDeltaObj { } MaxDelta20bj}0.300000 MaxEtaChange}0.020000 MinEta}0.001000 MaxEta0.100000 Smoother}1.000000 ) ) Active }F ) LearnAlgo{ sel VarioEta VarioEta f MinCalls {50) ) MomentumBackProp { Alpha }0.050000 ) Quickprop{ Decay }0.005000 Mu}2.000000 } AnySave { file name { } ) AnyLoad { file_name { } } BatchSize { } Eta }0.001000 DerivEps { } } TrueBatch{ PatternSelection{ sel Sequential SubSample{ Percent }0.500000 } ExpRandom{ Lambda}2.000000 } WtPruneCtrl{ Tracer { Active }F Set {Validation) File {trace} } Active {F} Randomize}0.000000 PruningSet { } Method{S-Pruning} ) EtaCtrl { Active {F) ) LearnAlgo { sel VarioEta VarioEta { MinCalls { } } MomentumBackProp{ Alpha }0.050000 ) Quickprop{ Decay}0.050000 Mu}2.000000 } } AnySave{

filename t f. TrueBatch. dat) } AnyLoad{ file_name { f. TrueBatch.dat } } Eta }0.050000 DerivEps }0.000000 } LineSearch { PatternSelection ( sel Sequential SubSample{ Percent }0.500000 } ExpRandom{ Lambda { } } ) WtPruneCtrl{ Tracer { Active }F Set {Validation} File {trace} } Active {F} Randomize}0.000000 PruningSet {Train. +Valid.} Method {S-Pruning} ) LearnAlgo { sel ConjGradient VarioEta { MinCalls { } } MomentumBackprop{ Alpha }0.050000 ) Quickprop { Decay j0.050000) Mu { } ) Low-Memory-BFGS{ Limit {2} } ) AnySave{ filename (f. LineSearch. dat }<BR> <BR> <BR> } AnyLoad{ file_name { } } EtaNull {1.000000} MaxSteps { } LS Precision 0.500000 TrustRegion T) DerivEps }0.000000 BatchSize }2147483647 } GeneticWeightSelect { PatternSelection { sel Sequential SubSample{ Percent }0.500000 } ExpRandom ( Lambda { } ) ) LearnAlgo { sel VarioEta VarioEta { MinCalls { } 1 MomentumBackProp{ Alpha }0.050000 ) ) ObjFctTracer {

Active {F} File {objFunc) } SearchControl { SearchStrategy { sel HillClimberControl HillClimberControl { %InitialAlive{0.950000} InheritWeights {T} Beta{0.100000} MutationType {DistributedMacroMutation} MaxTrials {50) ) PBILControl { % InitialAlive 0. 950000 InheritWeights T Beta {0.100000} Alpha {0.100000} PopulationSize {40} ) PopulationControl { pCrossover {1.000000} CrossoverType {SimpleCrossover) Scaling {T} ScalingFactor {2.000000} Sharing {T} SharingFactor {0.050000} PopulationSize {50) min.%InitialAliver{0.010000} max. InitialAlive {0. 100000} ) ) pMutation {0.000000} <BR> <BR> )<BR> <BR> <BR> <BR> ObjectiveFunctionWeights { %Alive{0.600000} E (TS) {0. 200000} Improvement (TS) 0. 000000 E (VS) {1. 000000) Improvement (VS) {0. 000000) (E(TS)-E(VS))/max(E(TS),E(VS))(0.000000} LipComplexity {0.000000} OptComplexity {2.000000} testVal (dead)-testVal (alive) {0. 000000} } AnySave { file_name{f.GeneticWeightSelect.dat} l AnyLoad{ file_name{f.GeneticWeightSelect.dat} } Eta {0.05000} DerivEps {0.000000} BatchSize {5} NminEpochsForFitnessTest {2} #maxEpochsForFitnessTest{3} SelectWeights {T} SelectNodes {T) maxGrowthOfValError{0.005000} ) ) CCMenu{ Clusters { mlp.priceInput{ ActFunction { sel id plogistic { parameter {0.500000} } ptanh { parameter {0.500000} } pid{ parameter {0.500000} ) } InputModification { sel None

AdaptiveUniformNoise { NoiseEta {1. 000000) DampingFactor{1.000000} ) AdaptiveGaussNoise { NoiseEta {1. 000000} DampingFactor(1. 000000) } FixedUniformNoise { SetNoiseLevel ( NewNoiseLevel{1.045229} } } FixedGaussNoise { SetNoiseLevel { NewNoiseLevel1. 045229 ) ) ) SaveNoiseLevel { Filename (noiselevel. dat) ) LoadNoiseLevel { Filename level.dat} ) SaveManipulatorData { Filename {inputManip.dat} } LoadManipulatorData { Filename {inputManip.dat} ) ) mlp.input { ActFunction { sel id plogistic { parameter {0.500000} ) ptanh ( parameter {0. 500000) ) pid { parameter {0.500000} ) ) InputModification { sel None AdaptiveUniformNoise { NoiseEta {1.000000} DampingFactor {1.000000} ) AdaptiveGaussNoise { NoiseEta {1.000000} DampingFactor {1.000000} ) FixedUniformNoise { SetNoiseLevel { NewNoiseLevel{1.045229} ) } FixedGaussNoise { SetNoiseLevel< NewNoiseLevel{1.045229} ) ) } SaveNoiseLevel { Filename {noise_level. dat) ) LoadNoiseLevel ( Filename { noise_level.dat } } SaveManipulatorData { Filename {inputManip. dat) } LoadManipulatorData { Filename {inputManip.dat} )

Norm (NoNorm) ) mlp.excessDemand { ActFunction { sel id plogistic { parameter {0.500000} ) ptanh { parameter 0. 500000 I pid parameter {0.500000} ) ) ErrorFunc { <BR> <BR> sel #x#<BR> <BR> <BR> <BR> xl f parameter {0.050000} ) LnCosh { parameter {2.000000} } } ToleranceFlag { F } Tolerance 0. 000000 Weighting {30. 000000} ) mlp.agents { ActFunction { sel tanh plogistic { parameter (0.500000) ) ptanh { parameter {0.500000} 1 pid { parameter {0.500000} ) } ErrorFunc { sel ProfMax !x!( parameter f 0. 050000) ) LnCosh { parameter {2.000000} } ) Norm(NoNorm} ToleranceFlag {F) Tolerance (0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 <BR> <BR> 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 <BR> <BR> 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 <BR> <BR> 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) Weighting {1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 <BR> <BR> 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000<BR> <BR> <BR> <BR> 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000

1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1. 000000 1.000000 1.000000 1.000000 1. 000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1. 000000} } mlp.priceOutput{ ActFunction { sel id plogistic { parameter 0. 500000 ) ptanh ( parameter {0.500000} } pid { parameter {0.500000} } } ErrorFunc { sel none #x#{ parameter {0.050000} ) LnCosh { parameter {2.000000} } ) ToleranceFlag F Tolerance {0.000000} Weighting {1.000000} } } Connectors { mlp.agents->excessDemand ( WeightWatcher ( Active {T) MaxWeight{1. 000000} MinWeight{1.000000} ) LoadWeightsLocal { Filename {std} ) SaveWeightsLocal { Filename {std) ) Alive (T) WtFreeze T AllowGeneticOptimization {F} Penalty {NoPenalty} AllowPruning F) EtaModifier {1.000000} } mlp.price0utput->agents) WeightWatcher { Active{T} <BR> <BR> MaxWeight {-0. 001000}<BR> <BR> <BR> <BR> MinWeight-2. 000000 } LoadWeightsLocal { Filename (std} } SaveWeightsLocal { Filename std } Alive {T} WtFreeze {F)

AllowGeneticOptimization {F} Penalty (NoPenalty} AllowPruning {F} EtaModifier {1.000000} } mlp.input->agents{ WeightWatcher { Active {F} MaxWeight{1.000000) MinWeight0. 000000 ) LoadWeightsLocal{ Filename {std} } SaveWeightsLocal{ Filename {std} } Alive {T} WtFreeze {F) AllowGeneticOptimization (F) Penalty {NoPenalty} AllowPruning {T} EtaModifier 1. 000000 ) mlp.bias->agents{ WeightWatcher { Active {F} MaxWeight{1. 000000} MinWeight{0.000000} ) LoadWeightLocal{ Filename {std} ) SaveWeightsLocal { Filename {std} ) Alive {T) WtFreeze {F) AllowGeneticOptimization {F} Penalty (NoPenalty) AllowPruning {F) EtatModifier {1.000000} ) mlp.priceInput->priceOutput{ WeightWatcher{ Active (F) MaxWeight{1.000000} MinWeight{0.000000} } LoadWeightsLocal { Filename {std} } SaveWeightsLocal{ Filename {std) } Alive {T} WtFreeze {T} AllowGeneticOptimization (F) Penalty {NoPenalty) AllowPruning {F} EtaModifier {1.000000} } mlp.excessDemand->priceOutput{ WeightWatcher { Active (T) MaxWeight {-0. 010000} MinWeight {-0. 010000) ) LoadWeightsLocal{ Filename {std} } SaveWeightsLocal{ Filename {std} } Alive {F} WtFreeze {T} AllowGeneticOptimization {F} Penalty {NoPenalty}

AllowPruning (F) EtaModifier {1. 000000) ) mlp.priceOutput->priceOutput{ WeightWatcher f Active }F MaxWeight { } MinWeight{0. 000000) ) LoadWeightsLocal{ Filename }std ) SaveWeightsLocal { Filename {std) } Alive (F) WtFreeze }T AllowGeneticOptimization {F) Penalty (NoPenalty) AllowPruning {F) EtaModifier { } } ) AnySave { f.CCMenu.dat}file_name{ } AnyLoad{ file_name { f. CCMenu.dat} } } RecPar { decay_c {1. 000000) delta t 1. 000000 epsilon }0.001000 max iter 30 show }T {T}ResetErrors } TestRun { Filename {Test) Part. Transformed {F) } Online { Filename }Online.dat ) } 2. Spezifikations-Datei : APPLICATION Prognose MODE DAY WEEK 5 FROM 01.01.1991 TO MAX TRAINING FROM 01.01.1991 TO 03.09.1996 VALIDATION FROM 03.09.1995 TO 03.09.1996 INPUT BEGIN DEMUSD"DMARKER/USDOLLR" x = FILE data/dol. txt COLUMN 1 INPUT = scale ( (x-x (-l))/x (-l)) INPUT = scale ((x-2 * x (-l) + x (-2))/x) END

BEGIN JPYUSD"JAPAYEN/USDOLLR" x = FILE data/dol. txt COLUMN 2 INPUT = scale ((x-x (-1))/x (-1)) scale((x-2*x(-1)+x(-2))/x)INPUT= END BEGIN ECUS3M"EURO-CURRENCY (LDN) US$ 3 MONTHS-MIDDLE RATE" x = FILE data/dol. txt COLUMN 3 INPUT = scale ((x-x (-l))/x (-1)) INPUT = scale ( (x-2 * x (-1) + x (-2))/x) END BEGIN ECWGM3M"EURO-CURRENCY (LDN) D-MARK 3 MONTHS-MIDDLE RATE" x = FILE data/dol. txt COLUMN 4 INPUT = scale ((x-x (-1))/x (-1)) INPUT = scale ( (x-2 * x (-11 + x (-2))/x) END BEGIN AUSGVG4RY"US TOTAL 7-10 YEARS DS GOVT. INDEX-RED. YIELD" x = FILE data/dol. txt COLUMN 5 INPUT = scale ((x-x (-1))/x (-1)) INPUT = scale ((x-2 * x (-1) + x (-2))/x) END BEGIN ABDGVG4RY"BD TOTAL 7-10 YEARS DS GOVT. INDEX-RED. YIELD" x = FILE data/dol. txt COLUMN 6 INPUT -x(-1))/x(-1))scale((x INPUT -2*x(-1)+x(-2))/x)sacle((x END BEGIN AJPGVG4RY"JP TOTAL 7-10 YEARS DS GOVT. INDEX-RED. YIELD" x = FILE data/dol. txt COLUMN7 INPUT -x(-1))/x(-1))scale((x INPUT = scale ( (x-2 * x (-l) + x (-2))/x) END BEGIN TOTMKUSRI"US-DS MARKET-TOT RETURN IND" x = FILE data/dol. txt COLUMN 8 INPUT = scale ((x - x(-1)) / x(-1)) INPUT = scale ((x-2 * x (-l) + x (-2))/x) END BEGIN TOTMKBDRI"GERMANY-DS MARKET-TOT RETURN IND" x = FILE data/dol. txt COLUMN 9 INPUT = scale ((x-x (-l))/x (-l)) scale((x-2*x(-1)+x(-2))/x)INPUT= END BEGIN NYFECRB"COMMODITY RESEARCH BUREAU INDEX-CRB-PRICE INDEX" x = FILE data/dol. txt COLUMN 10 INPUT = scale ((x-x (-l))/x (-l)) scale((x-2*x(-1)+x(-2))/x)INPUT=

END BEGIN GOLDBLN"GOLD BULLION $/TROY OUNCE" x = FILE data/dol. txt COLUMN 11 scale((x-x(-1))/x(-1))INPUT= INPUT = scale ( (x-2 * x (-l) + x (-2))/x) END TARGET CLUSTER mlp. excessDemand BEGIN excessDemand TARGET = 0 END TARGET CLUSTER mlp. agents BEGIN agents behavior x = FILE data/dol. txt COLUMN 1 TARGET = 100 * ln (x (1)/x) TARGET = 100 * ln (x (1) / x) TARGET = 100 * ln (x (1) / x) TARGET= 100 * ln (x (1)/x) TARGET= 100 * ln (x (1)/x) 100*TARGET= ln(x(1) x) TARGET= 100 * ln (x (1)/x) TARGET = 100 * ln (x (1) / x) TARGET=100*In(xfl)/x) TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x (1) / x) TARGET= 100 * ln (x (1)/x) TARGET= 100 * ln (x (1)/x) TARGET = 100 * ln (x (l)/x) TARGET= 100 * ln (x (1)/x) TARGET= 100 * ln (x (l)/x) TARGET= 100 * ln (x (1)/x) TARGET = 100 * ln (x (1) / x) TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x (l)/x) TARGET*ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET*ln(x(1)/x)100 TARGET= 100 * ln (x (l)/x) TARGET= 100 * ln (x (1)/x) TARGET= 100 * ln (x (l)/x) TARGET*ln(x(1)/x)100 TARGET= 100 * ln (x (l)/x) TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET= 100 * ln (x (1)/x) TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET*ln(x(1)/x)100

TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1) / x) TARGET =100 *ln (x (l)/x) TARGET = 100 * ln (x (1)/x) TARGET = 100 * ln (x (1)/x) TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x (1)/x) TARGET = 100 * ln (x (1) / x) TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1) / x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1) / x) TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1) / x) TARGET *ln(x(1)/x)100 TARGET =100 *ln (x (l)/x) TARGET =100 *ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET = 100 *ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 *ln (xd)/x) TARGET *ln(x(1)/x)100

TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x (1) / x) TARGET = 100 * ln (x (1)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET = 100 * ln (x (1) / x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x (1) / x) TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (l) x) TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET =100 *Intx (l) x) TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET*ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET *ln(x(1)/x)100 TARGET *ln(x(1)/x)100 TARGET = 100 * ln (x (1)/x) TARGET *ln(x(1)/x)100 TARGET =100 *ln (x (l) x) TARGET = 100 * ln (x (l)/x) TARGET *ln(x(1)/x)100

TARGET = 100 * ln (x(1) / x) 100*ln(x(1)/x)TARGET= TARGET = 100 * ln(x(1) / x) TARGET = 100 * ln (x (1) / x) TARGET = 100 * ln(x(1) / x) TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x (1)/x) TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x (1)/x) TARGET = 100 * ln(x(1) / x) TARGET = 100 * ln (x(1) / x) TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x (l)/x) TARGET = 100 * ln (x(1) / x) TARGET = 100 * ln (x (1)/x) TARGET = 100 * ln (x (l)/x) END TARGET CLUSTER mlp. priceOutput BEGIN price x = FILE data/dol. txt COLUMN 1 TARGETTARGET= ln(x(1)/x)* ASSIGN TO channel END SIGNAL BEGIN hit rate = NORMSUM (signal) t = TARGET channel o = OUTPUT channel SIGNAL = IF t * o > 0 THEN 1 ELSE 0 END BEGINRoI y = FILE data/dol. txt COLUMN 1 o = OUTPUT channel SIGNAL = (y(1) / y - 1) * sign (o) END BEGIN realized potential = Relsum (signall, signal2) y = FILE data/dol. txt COLUMN 1 o = OUTPUT channel SIGNAL = (y (1)/y-1) * sign (o) SIGNAL = abs (y (l)/y-1) END BEGIN Backtransformation of forecasts y = FILE data/dol. txt COLUMN 1 o = OUTPUT channel SIGNAL = y (l) SIGNAL*(1+o/100)y END BEGIN Buy & Hold y = FILE data/dol. txt COLUMN 1 SIGNAL = y (l)/y-1 END BEGIN Naiv Prognose y = FILE data/dol. txt COLUMN 1

SIGNAL = y-1)*sign(y-y(-1))/ END 3. Modell-Top-Datei : net ( cluster (IN) priceInput ; cluster (IN) input ; cluster (OUT) excessDemand ; cluster (OUT) agents ; cluster (OUT) priceOutput ; connect (priceInput -> priceOutput, 1T01) ; connect (priceOutput-> agents) ; connect (input-> agents, RANDOM (32)) ; connect (bias-> agents) ; connect (agents-> excessDemand) ; connect ->priceOutput);excessDemand connect ->priceOutput );1T01 } mlp ;

In diesem Dokument sind folgende Veröffentlichungen zitiert : [1] S. Haykin, Neural Network. s : A Comprehensive Foundation, Mc Millan College Publishing Company, ISBN 0-02-352761-7, S. 498-533,1994.

[2] A. Zell, Simulation Neuronaler Netze, Addison-Wesley Publishing Company, S. 560-561, l. Auflage, Bonn, 1994