Abstract
The main tasks in this technical paper are to replicate two results from March’s paper 1991 with a temporal simulation’s approach. Case 1 is to simulate how the socialization rate and learning rate affect the equilibrium knowledge of performance. Case 2 is to simulate how the personal turnover rate and learning rate affect the equilibrium knowledge of performance. Case 1 simulation’s result suggests that each sub-optimal equilibrium point (knowledge of performance) is generated by the trade-off between exploratory and exploitative activities under limited resources constraints. Case 2 simulation’s result suggests that there exists a positive feedback mechanism (generated by personal turnover rate) diffused very fast under sufficient high socialisation rate (social contagion).March’s paper, 1991 was to investigate how the activities and processes of exploration and exploitation affect organizational learning performance. March’s paper concluded that the sub-optimal equilibrium solutions can be obtained by the trade-off between exploratory and exploitative activities under limited resources constraints.
In this simulation tasks , we are interested in two research areas:
Case 1 is to study how the socialization rate and learning rate affect the equilibrium knowledge of performance.
Case 2 is to study how the personal turnover rate and learning rate affect the equilibrium knowledge of performance.
The main tasks are to replicate two result cases (mentioned above) of March’s paper, 1991 by simulation. The simulation model script (written with R) we used, was originally created by Maciej Workiewicz (ESSEC) on August 10, 2017. Because of coding errors present, we have done simple coding modification directly from Maciej’s model script.
Case I
Figure 1 is the simulation plot run with Maciej’s model script with which the run-time is approximately 25 minutes by using the following parameters setting:
The Figure 1 simulation is to investigate the joint-effect impacts of socialization rate(P1) and learning rate(P2) on the equilibrium knowledge of performance. This simulation assumes that
This simulation indicates that
For a fixed socialization rate, the higher rates of learning, the faster to reach at the equilibrium point of knowledge earlier through adaptive process at individual level. Because slow learning rate from individuals is to maintain diversity longer, and enhance the exploration for technological innovation that allows the knowledge found in the organizational code to improve.
For a fixed learning rate, the slower the socialization rate, the greater the equilibrium knowledge is, particularly when the fixed learning rate is at higher level.
Each sub-optimal equilibrium points (knowlege of performance) is generated by the trade-off between exploratory and exploitative activities under limited resources constraints.
Our simulation results (Figure 1) run with Maciej’s model script is roughly inlined with the Figure 1 of March’s paper under homogeneity setting in both socialization rate and learning rate.
Case 2
Figure 2 is to the simulation plot run with Maciej’s model script with which the run-time is approximately 20 minutes by using the following parameters setting:
The Figure 2 simulation is to investigate the joint-effect impacts of socialization rate (P1) and personal turnover rate(P3) on the equilibrium knowledge of performance. This simulation assumes that
This simulation indicates that
For a relatively low socialisation rate, it declines with increasing personal turnover rate under an open system, leading inadequate exploitative activities, hence facilitating to shift more activities to exploration process.
For a sufficiently high socialisation rate (P1), it would moderate the growth of personal turnover rate(P3) and also retard the exploration process under an open system at the early stage due to a strong personal socialisation network. However, when new staff are recruited to replace the resigned staffs, then the original socialisation network and organisational norms and codes of practices are more diversified, enhancing the personal turnover rate again. This is a positive feedback mechanism to accelerate the fast drop-down of equilibrium knowledge with the incremental personal turnover rate provided that socialisation rate is sufficiently high.
The positive feedback mechanism generated by personal turnover rate in our simulation (Figure 2) run with Maciej’s model script is roughly inlined with the Figure 4 of March’s paper. This positive feedback mechanism (personal turnover rate) is diffused very faster under sufficient high socialisation rate (social contagion).
Because the time resource is limited, it is not possible to replicate all results from March’s paper. We decides to run simulation for two cases only. For the rest of results from March’s paper, it has a high potential for further simulation and verification provided that a sufficient time resource is available for re-coding the Maciej’s model scripts.
Because of coding errors present in the “turnover” part of Maciej’s model script, it gets error bugs when \(p_3 > 0\), if \(m\neq n\). To fix this bug, it is simply to “transpose” the original “belief matrix” in the “turnover” part only. Then it is possible to simulate the personal turnover effects by setting the column vector parameter of \(p_3\) as
\[\begin{equation*} p_3 = \mathrm{matrix (P3\_Rate, nrow=n),\quad where\quad P3\_Rate } \in [0, 1]. \end{equation*}\]
Our simulations (Figure 1 & Figure 2) for case 1 & 2 run with Maciej’s model script are roughly inlined with the Figure 1 & 4 of March’s paper.
Case 1 simulation result suggests that
For a fixed socialization rate, the higher rates of learning, the faster to reach at the equilibrium point of knowledge earlier through adaptive process at individual level.
For a fixed learning rate, the slower the socialization rate, the greater the equilibrium knowledge is, particularly when the fixed learning rate is at higher level.
Each sub-optimal equilibrium points (knowlege of performance) is generated by the trade-off between exploratory and exploitative activities under limited resources constraints.
Case 2 simulation result suggests that personal turnover rate has a positive feedback effect to accelerate the fast drop-down of equilibrium knowledge with the incremental personal turnover rate provided that socialisation rate is sufficiently high. This positive feedback mechanism (personal turnover rate) is diffused very fast under sufficient high socialisation rate (social contagion).
= matrix(0.5, nrow = n)
p1 = 0.5
p2 = 0
p3 = 0 p4
<- c(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9)
P1_list <- c(0.1, 0.5, 0.9) P2_list
= matrix(0, nrow = length(P1_list), ncol = length(P2_list))
OUTPUT <- 0
c_p1 <- 0 scenario
for (p1 in P1_list) {
<- c_p1 + 1
c_p1 <- 0
c_p2 for (p2 in P2_list) {
<- c_p2 + 1
c_p2 <- scenario + 1
scenario for (i in 1:iterations) {
cat("\r", "Scenario: ", toString(scenario), " out of ", toString(length(P1_list) *
length(P2_list)), ", iteration: ", toString(i))
# Generating starting objects
<- 2 * (floor(runif(m, min = 0, max = 2))) - 1
external_reality <- matrix(floor(runif(n * m, min = -1, max = 2)), nrow = n, ncol = m)
beliefs <- numeric(m)
org_code
for (t in 1:time) {
# turnover =====
for (x3 in 1:n) {
if (runif(1) < p3) {
<- t(matrix(floor(runif(m, min = -1, max = 2)),
beliefs[x3, ] nrow = m))
}
}
# environmental turbulence =====
for (x4 in 1:m) {
if (runif(1) < p4) {
<- external_reality[x4] * (-1)
external_reality[x4]
}
}
# socialization ======
for (n_ in 1:n) {
for (m_ in 1:m) {
if (runif(1) < p1) {
# individuals don't learn if code is 0 [page 74, line
# 27:28]
if (org_code[m_] != 0) {
<- org_code[m_]
beliefs[n_, m_]
}
}
}
}# end: socialization
# code learning ====== * choosing the chosen ones (superior
# knowledge) ###### find out the quality of knowledge for the
# code and individuals
<- sum(org_code == external_reality)
knowl_code <- numeric(n) # vector with num of correct dimensions
knowl_wkrs
for (person in 1:n) {
<- sum(beliefs[person, ] == external_reality)
knowl_wkrs[person]
}
<- numeric(n) # individuals smarter than the org code
chosen_ones # in the beginning pretty much all workers are better than the
# code which has zero knowledge
for (person in 1:n) {
if (knowl_code < knowl_wkrs[person]) {
<- 1
chosen_ones[person]
}
}
# *superior matrix ######
if (sum(chosen_ones) > 0) {
<- matrix(0, nrow = sum(chosen_ones), ncol = m)
knowl_matrix <- 1 # counter for the superior people
p for (person in 1:n) {
if (chosen_ones[person] == 1) {
<- beliefs[person, ]
knowl_matrix[p, ] <- p + 1
p
}
}
# *learning ##### Setting up the superior group and its
# knowledge for the code to learn from it As per the paper,
# org code learns from the majority vote of superior group.
for (dimension in 1:m) {
<- getvote(knowl_matrix[, dimension])
result <- result[1]
vote <- result[2]
k if (runif(1) > ((1 - p2)^k)) {
<- vote
org_code[dimension]
}
}
}# end: code learning from the individuals
}
# recording results ====== For now a crude but working version.
<- sum(org_code == external_reality)
knowl_code <- OUTPUT[c_p1, c_p2] + (knowl_code/m)
OUTPUT[c_p1, c_p2]
}
}
}
<- OUTPUT/iterations # taking the average OUTPUT