Experimental and Theoretical Psychology
Home Page > Research > DFG Project DYNAMIS > DYNAMIS Description
DYNAMIS - A program for constructing arbitrary linear dynamic systems
DYNAMIS is a simulation program for multivariate autoregressive processes of any degree. The program is used within research on complex problem solving and on identification and control of dynamic systems.These systems should be identified by naive subjects which can first explore the unknown system during a certain amount of cycles and then have to control it in order to reach certain goal values given by the experimenter. Data about the course of simulation is logged for later analysis.
DYNAMIS is written in Turbo Pascal 3.01.The information on the system to be simulated comes from external data files (parameter files), therefore there is no necessity to write a new program for every new simulation. This means:
Modelling non-linear models is not possible within DYNAMIS. But take into account: the models that can be designed within the constraints of a linear model are much more "dynamic" than you would expect! For example exponential growth or shrinking processes can be described as linear models, even the often cited reciprocal dependencies can of course be described within these constraints.
- Systems with almost any values for the number of exogeneous and endogeneous variables can be simulated. Because of the limited number of lines on the monitor the monitor display only occurs if the system has less than 16 variables in total.
- Systems with any degree of time delay can be constructed (degree of autoregressive process). Normally, the degree is set to 1.
- The user can specify the extent of "noise" (the error) for every single variable. Normally, there is no error on the equations.
- The user can give details on acceptable values of exogenous variables in terms of minimum/maximum. This way he can influence the reversability of the decisions made. Normally, the range of acceptable input is from -999999 to +999999.
- The labels for the designation of variables are arbitrary but only a limited number of characters can be presented on the screen.
- The number of simultaneously available time units on the monitor can vary between one and six units. The user can select this number after theoretical considerations (e.g., according to requested memory load for the subjects). Normally, the number of simultaneously shown time units is 7.
- The number of simulated cycles (time units per round) as well as the number of rounds itself is variable. Normally, the number of rounds is 5 (4 of them for exploration, the last 1 for control). Take care: there is an upper limit of rounds.
Description of Parameter File
Every parameter file (*.PRM) has to contain the following details:
The matrices in (6) to (8) are to be read from "top" to "left". At the top you can see the time unit t and on the left the time unit t+1. The corresponding value for the time unit t+1 is obtained by multiplying the value at the time t with the value in the matrix.
- a title of any text that should not be longer than 30 characters (special characters/symbols are not allowed as one of the first 3 characters because this causes difficulties to DOS in opening the data file).
- a line with details about: NX = number of exogenous variables (MAXNX:8), NY = number of endogenous variables (MAXNY:8), GR = extent of the autoregressive processes (MAXGR: 2), MX = maximum number of simultaneously presented time units (MAXMX: 7), ZT = number of time units of one round (MAXZT: 51), DG = number of rounds (MAXDG: 5), FB = 0 resp. 1 depending on whether the process shall contain noise ("error") or not.
- a line with NX + NY start values used at the beginning of each round (see above).
- a line with NX + NY error values used for making "noise" on (selected) variables (see above).
- a line with NX + NY target values which have to reached during control (see above).
- a NX * NX-matrix with the parameters of the partial matrix Axx (see example below).
- a NY * NX-matrix with the parameters of the partial matrix Ayx (see example below).
- a NY * NY-matrix with the parameters of the partial matrix Ayy (see example below).
- for ARk processes with k>1: steps (6) to (8) are to be repeated for each step. Multiplying the value at the time t+1-k with the value of the matrix leads to a result that has to be added to the sum of the products of the ARk-1 process.
- a line with NX + NY minimum values (see above).
- a line with NX + NY maximum values (see above).
- a line with NX + NY values for additive constants (see above).
The structure of the parameter file will now be illustrated by an example. The simplest variant of the ecosystem (see Funke, 1985) is used for demonstration. Its parameter file is shown in the following section (for reasons of better reference, a line number plus "=" are included which are not part of the original parameter file).
01= ECOSYSTEM 1985 (1.1)
02= 3 3 1 6 7 5 0 (nx ny gr mx zt dg fb)
03= 0 0 0 200 10 5000 start values
04= 0 0 0 0 0 0 error values
05= 0 0 0 200 0 10000 target values
06= 1 0 0 (Axx degree 1)
07= 0 1 0
08= 0 0 1
09= 0 1 0 (Ayx degree 1)
10= -0.1 0 0
11= 0 0 10
12= 0.9 0 0 (Ayy degree 1)
13= 0 1 0
14= 0 0 1
15= -999999 -999999 -999999 -999999 -999999 -999999 min
16= 999999 999999 999999 999999 999999 999999 max
17= 0 0 0 0 0 0 additive constant
18= poison .................
19= pest feeders ....
20= dung ...............
21= beetle ................
22= water pollution ..
23= number of leaves ..........
After the title in Line 01 which is shown on top of the screen during presentation, Line 02 sets the important parameters for number of exo- and endogenous variables (NX=3, NY=3), the degree of time delay (GR=1), the number of simultaneously presented units on the screen (MX=6), the number of cycles per round (ZT=7), the number of rounds (DG=5, i.e. 4 for exploration plus 1 for control) and the error flag (FB=0).
Line 03 contains the NX+NY starting values (initial values for a starting round), Line 04 contains error valus (zero in this case; because FB is set to 0, any number other than 0 would be ignored here). Line 05 contains the target values in the last control phase (because the NX variables are set by the subject, only the NY endogenous variables will make sense for a goal state).
Lines 06-14 contain the "heart" of the simulation in terms of structural equations. Lines 06-08 are a simple diagonal matrix which normally should not be changed. Lines 09-11 contain the effects of the exogenous on the endogenous variables, lines 12-14 the effects of the endogenous variables on themselves ("eigendynamik").
Because there are 3 endogenous variables, there are 3 equations which represent the weights from lines 09-11 and 12-14:
Y1= 0*X1 + 1*X2 + 0*X3 + 0.9*Y1 + 0*Y2 + 0*Y3 [line 09 resp. line 12]
Y2= -0.1*X1 + 0*X2 + 0*X3 + 0*Y1 + 1*Y2 + 0*Y3 [line 10 resp. line 13]
Y3= 0*X1 + 0*X2 + 10*X3 + 0*Y1 + 0*Y2 + 1*Y3 [line 11 resp. line 14]
In these 3 equations, the indices t and t-1 have been omitted for clarity reasons. All variables on the left side have the index t, whereas all variables of the right side have the index t-1. If there are effects from higher degrees of time delay (not present in the example), you would find also time indices like t-2 etc. according to the highest degree of delay.
Lines 15 and 16 contain the lower and upper bounds for user inputs into the system. Normally, you would not restrict this range too much because otherwise control of the system could become a real problem.
Line 17 contains additive constants in case you want to move the origin of the linear function. Normally, the origin of the function runs through zero. Lines 18-23 contain the NX+NY variable labels which appear on the screen to the subject.
The German description of the program can be found in the following text (this document is a translation of large parts of that text):
- Funke, J., Fahnenbruck, G. & Müller, H. (1986). DYNAMIS - Ein Computerprogramm zur Simulation dynamischer Systeme (Berichte aus dem Psychologischen Institut der Universität Bonn No. 12, Heft 3). Bonn: Psychologisches Institut der Universität Bonn.
The idea behind the DYNAMIS approach and experimental results are published in the following papers:
- Funke, J. (1992). Dealing with dynamic systems: Research strategy, diagnostic approach and experimental results. German Journal of Psychology, 16, 24-43.
- Funke, J. (1993). Microworlds based on linear equation systems: A new approach to complex problem solving and experimental results. In G. Strube & K.-F. Wender (Eds.), The cognitive psychology of knowledge (pp. 313-330). Amsterdam: Elsevier Science Publishers.
- Funke, J. (1995). Experimental research on complex problem solving. In P.A. Frensch & J. Funke (Eds.), Complex problem solving: The European perspective (pp. 243-268). Hillsdale, NJ: Lawrence Erlbaum Associates.
Papers from other research groups which have used DYNAMIS:
- Putz-Osterloh, W. (1993). Strategies for knowledge acquisition and transfer of knowledge in dynamic tasks. In G. Strube & K.-F. Wender (Eds.), The cognitive psychology of knowledge (pp. 331-350). Amsterdam: Elsevier Science Publishers.
- Vollmeyer, R., Burns, B.D. & Holyoak, K.J. (1996). The impact of goal specificity on strategy use and the acquisition of problem structure. Cognitive Science, 20, 75-100.