The WOOD1 world instance Formalized
Translating the data from Wilson into our formalism generates the following results:
The formal structure of an environment so far:
|
|
|
(3.23) |
|
|
|
(3.24) |
|
|
|
(3.25) |
|
|
|
(3.26) |
|
|
|
(3.27) |
The instantiation of this environment with the requirements of a WOOD1-environment.
|
|
|
(3.28) |
|
|
|
(3.29) |
|
|
|
(3.30) |
|
|
|
(3.31) |
|
|
|
(3.32) |
|
|
|
(3.33) |
The main point is that the internal states
are now realized by an
matrix whose cells are associations of a 2-dimensional coordinate
with a surface element which additionally can be associated with an object or food or a system or 'nothing'
. The encodes the systems
.
For the communication between the environment wood1 and systems we assume the following protocol (cf. figure 3.6):
Figure 3.6:
Environment - System Protocol States
|
- Every time a certain map is active on the server. Every map has a map-name with Y-many rows and X-many columns.
- Before starting actions a client asks for the actual map with the string 'who map' where 'who' signals the server that the new client needs an ID and the client is asking for the map data.
- As soon as the client gets its new ID and the map name with the Y and X values by 'ID map-name X Y' the client switches into the state 'position'.
- In the state position the client announces a start position with the string ID start Y X (thereby using the newly received ID from the server!). If this position is not possible (answer: no), then the client has to try again as soon as it will receive an environment string. Then it switches into the state 'move'.
- In the state move the client can announce movements with the string ID move DIR. If not possible (answer: no) the client has to try again. If it is possible the client receives an environment string.
- The client can stop by fulfilling a stop condition. This can be e.g. 'starvation' or 'cycle limit'. In this case he sends a message 'ID quit'. This tells the server that the client has stopped its activity and the state of this client will be set to the value 'finished'.
Gerd Doeben-Henisch
2013-01-14