universe.exe
Bild 1: Das Spielfeld
Bild 2: der Ablauf
Das Spielfeld:
- Anzahl Spalten: n1
- Anzahl Zeilen: n2
- Anzahl Steine: n3
- mit: n1=n2
- mit: 3<= n3<=n1*n2-1
- Die Nummerierung der Spalten und Zeilen beginnt
im Nullpunkt links oben.
- Jedes Feld der Matrix hat entweder den Wert
"0" für "kein Stein" oder
den Wert "1" für einen Stein.
Bewegungsvorschlag Stein:
- Jedem Stein ist ein neuronales Netz zugeordnet.
- Aus der aktuellen Lage aller Steine auf dem
Spielfeld wird der Eingangsvektor des neuronalen
Netzes generiert.
- Jedes Neuron kann nur die Zustände "1"
und "0" annehmen.
- 2 Neuronen erzeugen den Ausgangsvektor,
entsprechend den vier Variablen welche eine
Bewegung eines Steines definieren.
Der Matrixwächter:
- Der Matrixwächter ist eine Funktion, welche
sicherstellt, daß sich die Steine (schwarz) nur
gemäß definierten Regeln bewegen.
- Der Matrixwächter wird immer dann aufgerufen,
wenn sich ein Stein bewegen will.
- Der Stein liefert dem Matrixwächter seinen
"Bewegungswunsch" als Eingabedatum.
- Der Matrixwächter erhält als Eingabedatum die
Feldinhalte aller benachbarten Felder des aktuell
zu bewegenden Steines.
- Der Matrixwächter überprüft daraufhin, ob die
Bewegung erlaubt ist oder nicht.
- Ist die Bewegung erlaubt, so liefert die Funktion
den Wert "1" für "ja" und
den Wert "0" für "nein".
Ein Bewegungstakt:
- Alle Felder der Matrix werden von links oben nach
rechts unten der Reihe nach abgearbeitet.
- Wird in einem Feld ein Stein (schwarz)
angetroffen, so liefert dieser einen von 4
möglichen Vorschlägen für eine neue Position
an den Matrixwächter:
- 1) Ein Feld senkrecht nach oben
- 2) Ein Feld senkrecht nach unten
- 3) Ein Feld nach rechts
- 4) Ein Feld nach links
- Stehenbleiben ist als Vorschlag nicht erlaubt.
- Es dürfen nicht zwei Steine auf einem Feld der
Matrix stehen.
- Kein Stein kann über den Rand hinaus gehen.
- Liefert der Matrixwächter den Wert "1"
zurück, so bewegt sich der Stein in die neue
Lage.
- Liefert der Matrixwächter den Wert "0"
zurück, so verändert der Stein seine Lage
nicht.
- Das nächste Feld wird abgearbeitet.
Ein Bewertungstakt
- Nach einem vollständigen Bewegungstakt
(=Abarbeitung aller Felder des Spielfeldes) folgt
ein Bewertungstakt.
- Alle Steine die in direkter Linie zwischen zwei
begrenzenden Steinen liegen erhalten von diesen
begrenzenden Steinen einige Wichtungen
überkopiert gemäß des Austauschfaktors. Welche
Wichtungen wie übergespielt werden, kann
zufällig entschieden werden oder aber über
einen genetischen Algorithmus optimiert werden.
- Einige Wichtungen werden zufällig gemäß der
Mutationsrate verändert.
|