Für die Spieltheorie sind die Details der Modellierung unwichtig. Für das eigene Experimentieren wird man aber wohl nicht darum herum kommen, dass man sich bis zu einem gewissen Grad auch mit der Erzeugung von lauffähigen Modellen auseinandersetzt. Vor diesem Hintergrund seien hier ein paar der technischen Details der benutzten Modelle erläutert. Diese Erläuterungen bildenallerdings keinen Ersatz für eine eigene Benutzung der OKSIMO-Software, die im Kursbereich zum Herunterladen bereitsteht.
Das Bild 5.38 zeigt das Innere von Agent A mit der einfachen zeilenbasierten Strategie. Dazu ein kurzes testprotokoll von der Konsole.
The simulation of the lmodel 'agent_A_diffrowsmeans' provides the following results:
1 Output: MEANR1, contains 1 FLOAT: 1.500000e+00
1 Output: MEANR0, contains 1 FLOAT: 5.000000e+00
1 Output: SUMR1, contains 1 FLOAT: 3.000000e+00
1 Output: SUMR0, contains 1 FLOAT: 1.000000e+01
1 Output: ACTIONA, contains 1 INT: 0
2 Input : ACTIONA, contains 1 INT: 0
2 Input : ACTIONB, contains 1 INT: 0
2 Input : DOMA, contains 4 FLOAT: 2.000000e+00 9.000000e+00 1.000000e+00 9.000000e+00
2 Input : DOMB, contains 4 FLOAT: 1.000000e+00 0.000000e+00 -1.000000e+00 8.000000e+00
2 Output: MEANR1, contains 1 FLOAT: 1.500000e+00
2 Output: MEANR0, contains 1 FLOAT: 5.000000e+00
2 Output: SUMR1, contains 1 FLOAT: 3.000000e+00
2 Output: SUMR0, contains 1 FLOAT: 1.000000e+01
2 Output: ACTIONA, contains 1 INT: 0
3 Input : ACTIONA, contains 1 INT: 0
3 Input : ACTIONB, contains 1 INT: 0
3 Input : DOMA, contains 4 FLOAT: 2.000000e+00 9.000000e+00 1.000000e+00 9.000000e+00
3 Input : DOMB, contains 4 FLOAT: 1.000000e+00 0.000000e+00 -1.000000e+00 8.000000e+00
3 Output: MEANR1, contains 1 FLOAT: 1.500000e+00
3 Output: MEANR0, contains 1 FLOAT: 5.000000e+00
3 Output: SUMR1, contains 1 FLOAT: 3.000000e+00
3 Output: SUMR0, contains 1 FLOAT: 1.000000e+01
3 Output: ACTIONA, contains 1 INT: 0
4 Input : ACTIONA, contains 1 INT: 0
4 Input : ACTIONB, contains 1 INT: 0
4 Input : DOMA, contains 4 FLOAT: 2.000000e+00 9.000000e+00 1.000000e+00 9.000000e+00
4 Input : DOMB, contains 4 FLOAT: 1.000000e+00 0.000000e+00 -1.000000e+00 8.000000e+00
Simulation time: 0 h 0 m 0 s 90 ms
Die einfache Strategie von Agent A basiert darauf, dass er zunächst einmal die Werte von sich selbst -DOMA genannt- und die Werte von seinem Gegenspieler -DOMB genannt- liest und die Punkte des Gegenspielers von seinen eigenen Punkten abzieht. Er bildet praktisch aus zwei 2x2-Matrizen DOMA und DOMB eine neue 2x2-Matrix DIFFAB (die Differenzmatrix des Gegenspielers heisst hier DIFFBA). Dieses Vorgehen wird im Bild 5.39 im Überblick gezeigt. Die Differenzbildung zeigt das Bild 5.40 von aussen und das Bild 5.41 von 'innen'. Man kann erkennen, wie unter dem Management einer while-Struktur mittels getMatrixValue Wetrte aus den beiden Matrizen DOMA und DOMB gelesen werden, dann voneinander subtrahiert werden (für A mit A-B, für B mit B-A) und dann jeweils in zwei neue Differenzmatrizen DIFFAB und DIFFBA geschrieben werden.
The simulation of the lmodel 'mtrxAB_diff_rowsA_means' provides the following results:
1 Output: SUMR1, contains 1 FLOAT: 3.000000e+00
1 Output: MEANR1, contains 1 FLOAT: 1.500000e+00
1 Output: MEANR0, contains 1 FLOAT: 5.000000e+00
1 Output: SUMR0, contains 1 FLOAT: 1.000000e+01
2 Input : DOMA, contains 4 FLOAT: 2.000000e+00 9.000000e+00 1.000000e+00 9.000000e+00
2 Input : DOMB, contains 4 FLOAT: 1.000000e+00 0.000000e+00 -1.000000e+00 8.000000e+00
Simulation time: 0 h 0 m 0 s 77 ms
The simulation of the lmodel 'mtrx_diff_AminusB' provides the following results:
1 Output: DIFFBA, contains 4 FLOAT: -1.000000e+00 -9.000000e+00 -2.000000e+00 -1.000000e+00
1 Output: DIFFAB, contains 4 FLOAT: 1.000000e+00 9.000000e+00 2.000000e+00 1.000000e+00
2 Input : DOMA, contains 4 FLOAT: 2.000000e+00 9.000000e+00 1.000000e+00 9.000000e+00
2 Input : DOMB, contains 4 FLOAT: 1.000000e+00 0.000000e+00 -1.000000e+00 8.000000e+00
Simulation time: 0 h 0 m 0 s 93 ms
Im weiteren Verlauf werden die Werte von B noch nicht ausgewertet, sondern nur die von Agent A. Im Bild 5.42 sieht man, wie wieder unter der Kontrolle eines while-Konstruktes die Differenzmatrix von Agent A zeilenweise summiert und dann am Schluss durch die Anzahl der Elemente gemittelt wird.
The simulation of the lmodel 'get_2mtrx_rows_sums_means' provides the following results:
1 Output: MEANR1, contains 1 FLOAT: 1.500000e+00
1 Output: MEANR0, contains 1 FLOAT: 5.000000e+00
1 Output: SUMR1, contains 1 FLOAT: 3.000000e+00
1 Output: SUMR0, contains 1 FLOAT: 1.000000e+01
2 Input : MTRXIN, contains 4 FLOAT: 1.000000e+00 9.000000e+00 2.000000e+00 1.000000e+00
Simulation time: 0 h 0 m 0 s 44 ms
The simulation of the lmodel 'agent_B_diffcolsmeans' provides the following results:
1 Output: MEANR1, contains 1 FLOAT: -5.000000e+00
1 Output: MEANR0, contains 1 FLOAT: -1.500000e+00
1 Output: SUMR1, contains 1 FLOAT: -1.000000e+01
1 Output: SUMR0, contains 1 FLOAT: -3.000000e+00
1 Output: ACTIONA, contains 1 INT: 0
2 Input : ACTIONA, contains 1 INT: 0
2 Input : ACTIONB, contains 1 INT: 0
2 Input : DOMA, contains 4 FLOAT: 2.000000e+00 9.000000e+00 1.000000e+00 9.000000e+00
2 Input : DOMB, contains 4 FLOAT: 1.000000e+00 0.000000e+00 -1.000000e+00 8.000000e+00
Simulation time: 0 h 0 m 0 s 71 ms
The simulation of the lmodel 'mtrxAB_diff_colsB_means' provides the following results:
1 Output: SUMC1, contains 1 FLOAT: -1.000000e+01 1 Output: MEANC1, contains 1 FLOAT: -5.000000e+00 1 Output: MEANC0, contains 1 FLOAT: -1.500000e+00 1 Output: SUMC0, contains 1 FLOAT: -3.000000e+00 2 Input : DOMA, contains 4 FLOAT: 2.000000e+00 9.000000e+00 1.000000e+00 9.000000e+00 2 Input : DOMB, contains 4 FLOAT: 1.000000e+00 0.000000e+00 -1.000000e+00 8.000000e+00
Simulation time: 0 h 0 m 0 s 92 ms
The simulation of the lmodel 'get_2mtrx_cols_sums_means' provides the following results:
1 Output: MEANC1, contains 1 FLOAT: 5.000000e+00
1 Output: MEANC0, contains 1 FLOAT: 1.500000e+00
1 Output: SUMC1, contains 1 FLOAT: 1.000000e+01
1 Output: SUMC0, contains 1 FLOAT: 3.000000e+00
2 Input : MTRXIN, contains 4 FLOAT: 1.000000e+00 9.000000e+00 2.000000e+00 1.000000e+00
Simulation time: 0 h 0 m 0 s 41 ms
The simulation of the lmodel 'get_2mtrx_cols_sum' provides the following results:
1 Output: SUMC1, contains 1 FLOAT: 9.000000e+00
1 Output: SUMC0, contains 1 FLOAT: 1.000000e+00
1 Output: CLCK, contains 1 INT: 0
2 Input : MTRXIN, contains 4 FLOAT: 1.000000e+00 9.000000e+00 2.000000e+00 1.000000e+00
2 Input : SUMC0, contains 1 FLOAT: 1.000000e+00
2 Input : CLCK, contains 1 INT: 0
2 Input : COL, contains 1 INT: 0
2 Input : SUMC1, contains 1 FLOAT: 9.000000e+00
2 Output: SUMC1, contains 1 FLOAT: 1.000000e+01
2 Output: SUMC0, contains 1 FLOAT: 3.000000e+00
2 Output: CLCK, contains 1 INT: 1
Simulation time: 0 h 0 m 0 s 90 ms
Gerd Doeben-Henisch 2009-12-09