return
Computer
exercises
MARKETS, SCIENCES, and the
DYNAMICS of TECHNOLOGICAL CHANGE
Course 2004-2005, first
semester.
All
programs on this page are freeware and can be used and distributed without
limitations.
0. Technicalities
The files that we use are available both at the
Internet as will be indicated with hyperlinks, but also locally on the
computers. To start up the programs in room D 306:
1. left-click on the button for
“QuickBasic”
2. a screen should open in blue and you are
requested to use Escape (right top of the keyboard)
3. go to “File” in the pull-down menu and open
the programs as indicated below in this text.
The QBASIC.EXE and the QBASIC.HLP files can be
downloaded here if you wish to use these programs elsewhere. One can run the
program from within a so-called MS-DOS box.
Under the file-menu, you find the option OPEN,
to open models.
We advise not to save program changes. So if
the computer asks this, always click NO.
1. Background
The models you will use are similar to the
models described in the article by Loet Leydesdorff and Peter van den Besselaar
Competing technologies, lock-ins and lock-outs, which is part of the
course materials.
The models help us to understand an
evolutionary approach of competing technologies. For every function, several
technological and design options may be available, and competing on the market.
Whereas in ‘normal’ markets, the mechanism of diminishing returns results
in the division of the markets among competitors, this can be expected to work
differently in knowledge intensive markets. As Brian Arthur has argued, we may
observe a mechanism of increasing returns operating, through which ‘the
winner takes it all’.
The best known historical example of ‘lock-in’
has been the QWERTY keyboard of the typewriter. This design became dominant at a
certain moment, and then dominated the market: all typewriters use this
keyboard. Interestingly, we know that other designs are better, but these do not
have a chance to diffuse. Moreover, the mechanical reasons for designing the
keyboard as it is, are no longer valid given the prevailing (computer)
technology. Why is this the case? In addition to the inherent quality we also
have to account for the external (network) quality: if everybody has learned and
used the QWERTY keyboard, the ‘externalities’ make the design attractive, and
every other design unattractive.
These ‘lock-in’ processes can occur when one of
the following issues has been important:
Another well-known example of ‘lock-in’ is the
competition between VHS and Betamax in the VCR market. The story is that the VHS
won, because of the initial larger market share of VHS made it increasingly
attractive for video stores to have VHS tapes for rent, and not Betamax tapes.
As a consequence, customers started to buy more VHS, and this reinforced the
video shops to offer even more VHS tapes. Eventually, Betamax and V-2000,
although technologically superior, were completely removed from the market. In
other words, technological competition can lead to a monopoly, and a technology
may take the whole market despite its possible inferior characteristics compared
to other (including later) competitors.
The models are designed to investigate under
which conditions these phenomena occur. When are they unavoidable, and under
which conditions can they perhaps be reversed.
2. The basic mode: two technologies,
two types of adopters, and lock in
In the basic model, we have a situation with
two technologies, and two types of adopters. As we explained in our mentioned
article, the basic model is as follows:
|
|
Technology A |
Technology B |
|
R-Agent |
aR + rnA |
bR + rnB |
|
S-Agent |
aS + snA |
bS + snB |
Table 1. Return values for R- and S-type agents to adopting technology A or B, given nA and nB previous adopters of A and B. (The model assumes that aR > bR and that bS > aS. Both r and s are positive.)
We study
this model using the simulation arthur1.bas.
(A compiled version of this model is available
as arthur1.exe . This
version does not allow you to change the parameters, but you can see the effects
directly on the screen when you run it.)
Please
open arthur1.bas
In arthur1.bas, you find the following
lines of code:
|
1 REM The basic Arthur
model 10
INPUT
N
'
number of adopters 20
SCREEN 11: WINDOW (-2, 0)-(N, 100): CLS ' draw
screen 30
LINE (-2, 50)-(N, 50) 40
RANDOMIZE TIMER 50
FOR J = 1 TO
10
' number of runs 60 AR = .8: BR =
.2
' initialise parameters 70 SA = .2: BS =
.8 80 NA = 1: NB =
1 90 S = .01: R =
.01 100 FOR I = 1 TO
N
' N adopters arrive on the market 110
CHOICE =
RND
' they can be R-type or S-type 120
IF CHOICE > .5 GOTO 160 ' choice of
adopter 130
RETURNA = AR + R * NA ' R-type
adopter 140
RETURNB = BR + R * NB 150
GOTO 180 160
RETURNA = SA + S * NA ' S-type
adopter 170
RETURNB = BS + S * NB 180
IF RETURNA > RETURNB THEN NA = NA + 1 ELSE NB = NB +
1 190
X = NA + NB: Y = 100 * NA / X ' compute
percentages 200
PSET (X,
Y)
' set point on screen 210 NEXT
I 220 NEXT J 230
END |
Line 10 asks for input in order to specify the
total number of adopters
Line 50 specifies the number of runs.
The random process is introduced in line
40.
The lines 60-90 specifies values for the
parameters of the model specified in Table 1: aR, bR, aS, bS, r, s. (Note that
we will use SA instead of aS because “AS” happens to be a reserved word in
computer languages.)
We also assume that there is one adopter of
Technology A (nA) and one of Technology B (nB) already present. (We often do
that in computer programs because leaving parameters zero can easily lead to
errors like divisions by zero.)
As we have made the model ‘symmetrical’, and
the sequence of S-type and R-type adopters arriving is random, we expect that if
we run the model very often, the lock-in will be in 50% of the runs in
technology A, and in 50% of the runs in technology B.
Lines 120-180 model the choice process. Line
190 computes the value of the market percentages of Technology A and line 200
displays the result as a point on the screen.
Now run the program. First the program gives a
‘?’, and you have to type the number of adopters in the market. Use the first
time 10000.
The horizontal axis of the picture (specified
in line 30) represents the 50% market share, and the top of the screen shows the
100% for Technology A, whereas the bottom of the screen is the situation with 0%
of the market for Technology A and consequently 100% market share for Technology
B.
In the Arthur-model the adopters enter the
market sequentially. They are represented as a graph that is drawn on the screen
in pixels. Every graph shows a run of the diffusion path in terms of the market
share of the two technologies. Thus, we run the program ten times. You can
change the number of runs in line 50. Try it!
Experiment a bit with changing the
parameters.
Make notes of the relations you find between
the parameter values and the lock-in patterns.
3.Two technologies, two types of
adopters, and uncertainty
Open arthur2.bas. In the
previous model, adopters of the technologies are expected to have full
information about the market shares of the two technologies, and to behave
accordingly. In this model (corresponding to Table 3 in the article) we suppose
that adopters do not have full knowledge about market shares. As a consequence,
they only change when the market share of other technology is considerably
larger than the threshold for switching (10% uncertainty in perception is
introduced). Only than, the adopters can perceive the differences between the
two technologies. Let us study the result of this
assumption.
|
1 REM uncertainty: if difference *
10 < sum, 2 REM then stay with the natural
inclination; 3 REM otherwise, use Arthur
routine 10
INPUT
N
' number of adopters 20
SCREEN 11: WINDOW (-2, 0)-(N, 100):
CLS ' set up
screen 22
LINE (-2, 50)-(N, 50) 23
RANDOMIZE TIMER 25
FOR J = 1 TO
15
' number of runs 40 AR = .8: BR =
.2
' initialise parameters 42 SA = .2: BS =
.8 43 NA = 1: NB =
1 44 S = .01: R =
.01 50 FOR I = 1 TO
N 70
CHOICE = RND 80
IF (NA - NB) > 0 THEN M = (NA - NB) ELSE M = (NB -
NA) 90
IF CHOICE > .5 GOTO 125 100
IF M * 10 > (NA + NB) GOTO 109
' 10% criterion R-side 101 NA =
NA + 1 102 GOTO
140 109
RETURNA = AR + R * NA: RETURNB = BR + R * NB 120
GOTO 130 125
IF M * 10 > (NA + NB) GOTO 129
' 10% criterion S-side 126 NB =
NB + 1 127 GOTO
140 129
RETURNA = SA + S * NA: RETURNB = BS + S * NB 130
IF RETURNA > RETURNB THEN NA = NA + 1 ELSE NB = NB +
1 140 X =
NA + NB: Y = 100 * NA / X 150
PSET (X,
Y)
' set point on screen 160 NEXT
I 165 NEXT J 170
END |
Make notes.
4. The reflexivity model
Open arthur3.bas.
Here we suppose that adopters only change when
the benefits of the other technology are substantially (5% at least) higher than
of purchasing the other. In other words, they do not react immediately. (The
model corresponds to Figure 3 in the article and the text above this figure on
p. 314.) What is the result? Change the parameters slightly, like in the
previous sections. What is the effect? Make notes again.
|
1 REM Arthur3: consumer
preference of 5% 10
INPUT N: REM number of adopters 20
SCREEN 11: WINDOW (-2, 0)-(N, 100): CLS 22
LINE (-2, 50)-(N, 50) 23
RANDOMIZE TIMER 25
FOR J = 1 TO 10 40 AR = .8: BS
= .8 41 BR = .2: SA
= .2 42 r = .01: s
= .01 43 NA = 1: NB
= 1 50 FOR I =
1 TO N 70
CHOICE = RND 90
IF CHOICE < .5 GOTO 100 ELSE GOTO 125 100
RETURNA = AR + r * NA: RETURNB = BR + r * NB 110
IF RETURNA > .95 * RETURNB THEN NA = NA + 1 ELSE NB = NB +
1 120
GOTO 140 125
RETURNA = SA + s * NA: RETURNB = BS + s * NB 130
IF RETURNB > .95 * RETURNA THEN NB = NB + 1 ELSE NA = NA +
1 140
X = NA + NB: Y = 100 * NA / X 150
PSET (X, Y) 160 NEXT
I 165 NEXT J 170
END |
5. Breaking out of the lock-in
(‘lock-out’)
Let us
return to the Arthur1.bas model and introduce the condition for breaking out of
a lock-in.
As you will
remember from the paper, lock-in occurs if, for example, an S-type agent has an
advantage with buying Technology A (aS = 0.2) despite his/her larger
inclination to buy Technology B (bS = 0.2). This is the case only if
it is true that
aS +
snA > bS + snB
(See Table 1)
We can rewrite:
aS -
bS > snB
- snA
or equivalently:
nB - nA < (aS - bS)/s
This
condition is not true if s = 0 because the right-hand side of the equation then
becomes infinite and therefore larger than the left-hand side. The ‘lock-in’ can
then be reversed.
Use the
model arthur1.bas and add a line 115 with the following condition:
115
IF (NA
+ NB) > 2000 and NA/NB > 2 THEN S = 0
The if-statement specifies the condition
that the market is sufficiently large (NA + NB > 2000) and that Technology A
is locked in (NA/NB > 2). Under this condition s is set back to zero.
Describe what you observe.
6. Changing the lock-in model: diffusion of
competing technologies
Open now arthur1a.bas.
Take a precise look at the table 1 above. In
Arthur’s model, the network effects are attributed to the types of adopter, and
not to the technology. For R-agents, the effect of the number of users of
technology A and technology B depends on the same parameter ‘r’. For S-agents,
the effect of the number of users of technology A and technology B depends on
the same parameter ‘s’. However, would it not be better to attribute this effect
to the diffusion parameters of the respective technologies rather than to the
network externalities among the different type of adopters? This would result in
a different model, as represented in table 2 (that is, Table 4 in the article).
In this case ‘r’ and ‘s’ are diffusion parameters of the respective technologies
A and B.
|
|
Technology A |
Technology B |
|
R-Agent |
aR + rnA |
bR + snB |
|
S-Agent |
aS + rnA |
bS + snB |
Table 2. Return values for Technologies A and B being adopted, given nA and nB previous adopters of A and B. (The model assumes that aR > bR and that bS > aS. Both r and s are positive.)
This now is modeled in Arthur1a.bas.
Using the standard parameter settings, the model of course behaves identically
as Arthur1.bas, the standard model. However, this may change if we do not
use parameter values in which we assume that r = s.
Do some simulations for various parameter
values. Does the change of the model make any difference if you compare it with
the first model? In what sense? Make notes.
1 REM the standard model, but r and s linked to the respective2 REM technologies and not to the adopter types10 INPUT N 20 SCREEN 11: WINDOW (-2, 0)-(N, 100): CLS22 LINE (-2, 50)-(N, 50)23 RANDOMIZE TIMER 25 FOR J = 1 TO 2540 AR = .8: BR = .241 SA = .2: BS = .842 NA = 1: NB = 143 s = .02: r = .0250 FOR I = 1 TO N70 CHOICE = RND90 IF CHOICE > .5 GOTO 125100 RETURNA = AR + r * NA: RETURNB = BR + s * NB120 GOTO 130125 RETURNA = SA + r * NA: RETURNB = BS + s * NB130 IF RETURNA > RETURNB THEN NA = NA + 1 ELSE NB = NB + 1140 X = NA + NB: Y = 100 * NA / X150 PSET (X, Y)160 NEXT I170 NEXT J180 END |
You can apply the reasoning about
diffusion also to the models arthur2 and arthur3.bas,
respectively.
7. The original Arthur model with a
spatial representation on the screen
The results of the Arthur
model can be displayed in different ways. Try this version of the original
Arthur model, available as arthur1g.bas. Explain
what you see.
Exercise: Try to adjust the program in such
a way that the behaviour of the actors becomes purely random.
|
1 REM Arthur model with
spatial representation on the screen 10 SCREEN 1: WINDOW (0, 0)-(320,
240): CLS 50 AR = .8: BR =
.2 60
SA = .2: BS = .8 70
NA = 1: NB = 1 80 S = .01: R =
.01 90 RANDOMIZE
TIMER 100 FOR I = 0 to
1000000 110 y = INT(RND *
240)
' draw random point on screen 120 x = INT(RND *
320) 180 IF RND >
.5 GOTO 200 190
RETURNA = AR + R * NA: RETURNB = BR + R * NB: GOTO
210 200
RETURNA = SA + S * NA: RETURNB = BS + S * NB 210
IF RETURNA > RETURNB THEN NA = NA + 1 ELSE NB = NB +
1 220
IF RETURNA > RETURNB GOTO 250 ELSE GOTO 260 250 PSET
(x, y), 1: GOTO 300 260 PSET
(x, y), 2 300 NEXT I 310
END |
A further extension of this
model is given in Loet Leydesdorff’s paper entitled ‘Technology and Culture: The
Dissemination and the Potential 'Lock-in' of New Technologies,’ Journal of
Artificial Societies and Social Simulation, Vol. 4, Issue 3, (2001) Paper 5,
at < http://jasss.soc.surrey.ac.uk/4/3/5.html
>.
8. Conclusions
Arthur’s (1988) model
(arthur1.bas) aimed at illustrating the ‘lock-in effects’ that had been noted in
evolutionary economics. Evolutionary economists have criticized neo-classical
economists for not taking into account the uncertainty of the actors generated
(1) by the lack of incomplete information about the market and (2) because of
their partial rationality. We have modeled these two effects above in
arthur2.bas and arthur3.bas, respectively, and we have observed that under these
conditions the ‘lock-in’ effect tends to disappear.
In the paper we derived a
condition that would dissolve the ‘lock-in’. This is modeled above by inserting
a line in arthur1.bas –under the condition of prevailing ‘lock-in’ – which
brings the network-parameter s to zero. We can then observe the return to
equilibrium. Note that a focus on reducing the network externality of a
technology is different from a focus on improving the technology intrinsically.
As was shown in the paper, this would in general not lead to an inversion of the
‘lock-in’. (Did you try it?)
Then we noted also that the
assumption that the purchasing behaviour of adopters (with increasing return)
would generate the ‘lock-in’ can be debated from the perspective of technology
dynamics. Isn’t it the dynamics of the diffusion of the technology? We
experimented with this assumption using model arthur1b.bas. Which differences
did you note using this somewhat different model?
Finally, model artur1g.bas
provided us with a spatial representation of the ‘lock-in’ effect. Further
reading exploring this model was suggested.