high-level design and user documentation for tplab ... · user documentation for tplab...
TRANSCRIPT
HIGH-LEVEL DESIGN and
USER DOCUMENTATION For TpLab
(TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com
Orrery Software i TpLab Design & User Doc
HIGH-LEVEL DESIGN and
USER DOCUMENTATION For TpLab
(TELEOLOGICAL PRUNING LABORATORY)
Frontispiece
Orrery Software ii TpLab Design & User Doc
Table of Contents 1 - References ................................................................................................................................. 1
2 - Background – Conceptual History ............................................................................................ 2 3 - Purpose ...................................................................................................................................... 6 4 - Discussion .................................................................................................................................. 6
4.1 - Design Elements ................................................................................................................. 6 4.1.1 - Technical Platform ...................................................................................................... 6
4.1.2 - Application Development Environment (ADE) .......................................................... 6 4.1.3 - Logical Concepts ....................................................................................................... 11
4.2 - Descriptions of the Panels ................................................................................................ 15 4.2.1 - Panel 01 – The Model ................................................................................................ 15
4.2.2 - Panel 02 – Advanced System Setup Parameters ....................................................... 17 4.2.3 - Panel 03 – Debug and Data Collection Tools ............................................................ 19
4.2.4 - Panel 04 – Clock Face – Averages, 8 Compound Genes .......................................... 20 4.2.5 - Panel 05 – Population Graphics ................................................................................. 20
4.2.6 - Panel 06 – Energy Graphics ...................................................................................... 21 4.2.7 - Panel 07 – Average Values – C1 Genes – By Component, By Gene # ..................... 21 4.2.8 - Panel 08 – Time Lines – Power and EROI (Moving Averages) ............................... 22
4.2.9 - Panel 09 – Nrg and Age Histograms, And Causes of Death ..................................... 22 5 - Annex A – Contents of the ‘Info’ tab ...................................................................................... 24
5.1 - WHAT IS IT? ................................................................................................................... 24 5.2 - HOW IT WORKS ............................................................................................................ 27 5.3 - HOW TO USE IT ............................................................................................................. 32
5.4 - THINGS TO NOTICE ..................................................................................................... 33
5.5 - THINGS TO TRY ............................................................................................................ 33
5.6 - EXTENDING THE MODEL ........................................................................................... 33 5.7 - RELATED MODELS ...................................................................................................... 34
5.8 - CREDITS AND REFERENCES ...................................................................................... 35 6 - Annex B – Examples of User Interface Panels........................................................................ 37
6.1 - Panel 01 – The Model ....................................................................................................... 37
6.2 - Panel 02 – Advanced System Setup Parameters .............................................................. 38 6.3 - Panel 03 – Debug and Data Collection Tools .................................................................. 39 6.4 - Panel 03 – Clock Face – Averages, 8 Compound Genes ................................................. 40 6.5 - Panel 05 – Population and Energy Graphics .................................................................... 41 6.6 - Panel 06 – Energy Graphics ............................................................................................. 42
6.7 - Panel 07 – Average Values – C1 Genes – By Component, By Gene # ........................... 43
6.8 - Panel 08 – Power and EROI (Moving Averages) ............................................................ 44 6.9 - Panel 09 – Nrg & Age Histograms, and Causes of Death ................................................ 45
Orrery Software 1 TpLab Design & User Doc
1 - References
A. G.H. Boyle (2017) TpLab_V2.07.nlogo
B. A.J. Lotka (1922a) 'Contribution to the Energetics of Evolution', Proceedings of the National
Academy of Sciences of the United States of America, Vol. 8, No. 6 (Jun. 15, 1922), pp. 147-
151.
C. A.J. Lotka (1922b) 'Natural Selection as a Physical Principle', Proceedings of the National
Academy of Sciences of the United States of America, Vol. 8, No. 6 (Jun. 15, 1922), pp. 151-
154.
D. H.T. Odum and R.C. Pinkerton (1955) 'Time's speed regulator: The optimum efficiency for
maximum output in physical and biological systems ', Am. Sci., 43 pp. 331–343.
E. M. Palmiter (1989), Simulated Evolution, Application. Downloadable from
http://lifesciassoc.home.pipeline.com/instruct/evolution/.
F. A. Drăgulescu and V.M. Yakovenko (2000) “Statistical Mechanics of Money”, Eur. Phys. J.
B 17, 723-729.
G. G.H. Boyle (2002) Primordial Soup (PSoup), Application written in C++. Downloadable
from http://orrery-software.webs.com/psoup.
H. G.H. Boyle (2010) ‘ModEco and the PMM - A simple physically conservative complete
sustainable economy.’ (Version 2). CoMSES Computational Model Library. Retrieved
from: https://www.openabm.org/model/3613/version/2
I. G.H. Boyle (2015) ‘Capital Exchange Models – With Investigations of Entropic Index.’
(Version 3). CoMSES Computational Model Library. Retrieved from:
https://www.openabm.org/model/3860/version/3
J. 141129 NTF - NetLogo Stds for OrrerySW R2.pdf
K. G.H. Boyle (2014) ‘Sustainable Economies ModEco.’ NetLogo Modeling Commons.
Retrieved from:
http://modelingcommons.org/browse/one_model/4746#model_tabs_browse_info
L. G.H. Boyle (2015) ‘Maximum Power Principle OamLab.’ NetLogo Modeling Commons.
Retrieved from:
http://modelingcommons.org/browse/one_model/4745#model_tabs_browse_info
M. G.H. Boyle (2015) ‘Maximum Power Principle MppLab.’ Not yet released.
N. G.H. Boyle (2015) ‘150907 MPP and Trophic Levels R1.’ Retrieved from:
https://www.youtube.com/watch?v=1NsRF4Bi0Zc
O. 151224 NTF ICBT and PowEff R7.pdf
P. 151116 PPT MPP Presentation 30 Mins R15.pptx
Q. 160218 PPR A Restatement of Odum's Maximum Power Principle R5.pdf
R. 160210 NTF Critique of Restatement R5.pdf
S. 160316 NTF MPP and Global Economy R5.pdf
T. 160330 NTF Conservation of Money R9.pdf
U. G.H. Boyle (2016) ‘Conservation of Money Laboratory.’ Not yet released.
V. 160505 NTF CmLab V1.17 User Doc R3.PDF
W. 160622 PPT MPP in Sustainable Society R7 With Hip Pocket.PPTX
X. 170219 NTF Reconciling Eco n Sci R5.PDF
Orrery Software 2 TpLab Design & User Doc
2 - Background – Conceptual History of TpLab
Ref A is the agent based model called TpLab, written using NetLogo, which is the topic of this
document. The development of this model is part of a personal study of the nature of sustainable
economic systems, with a focus on the very basic dynamics of persistent economic processes. At
the time of writing of this document some of the above-listed reference documents written by me
are very much in need of revision. However, I decided to push through to the end of my logical
trajectory to see if all of the stepping stones along the way were identifiable. Having a glimmer
of hope, I wanted to see if that glimmer was a will-o-the-wisp, or a real lantern in the distance.
A number of these references are also mentioned the ‘info’ tab of the TpLab application, as
copied in Annex A of this document at section 5.8. TpLab may appear, on first glance, to be a
simple toy, but I believe that it demonstrates an important dynamic that is both profoundly
important, and also obvious and much overlooked. How can I explain why I think it is
profoundly important? I think the best method is to recount my own experience in the
development of this concept that I am calling (for lack of a better name at this point)
‘teleological pruning’. Here is a brief description of the Refs listed above.
At Refs B and C, A.J. Lotka published two papers that have received some attention, but which,
it seems, have been largely overlooked and ignored. At Ref B he proposed the existence of an
as-yet unelaborated physical principle that he called the “principle of maximum flux”. It
incorporated natural selection, but in the place of species, he applied it to system-wide processes
that capture and degrade energy. At Ref C he proposed yet another principle which he called the
“principle of persistence of stable forms” – in effect renaming the concept of ‘natural selection’
thus intending to raise its prominence from a purely biophysical concept to a general stochastic
and dynamic concept. He argued that these two principles would provide insights and
explanations beyond those which could then be found in the accepted laws of thermodynamics.
At Ref D Odum and Pinkerton took up this idea and reformulated it as the “Maximum Power
Principle”, further advanced the argument that it should be given status as a 4th
law of
thermodynamics, and further advanced Lotka’s position that it explained not only physical
complexity, but also economic complexity.
In 1989 Dr Michael Palmiter’s agent based model called “Simulated Evolution (SE)” (Ref E)
was described in an issue of “Scientific American”, and as did many hobby programmers of the
day, I wrote my own version of SE to better understand how it worked. It was fascinating in its
simplicity of design and profundity of insight to be delivered. About twelve years later, in 2002,
I reprised that work in the form of PSoup (Ref G). In developing PSoup I used Palmiter’s genes
in chromosome #1 (called C1), but also abstracted six of the hidden parameters of Palmiter’s SE
that controlled life functions (metabolic rates, reproductive rates, senescence rates) and placed
them into a second chromosome called C2. That proved to be fortuitous for me, as it gave me
insight into how to develop many of the other models that followed. Variations on the C1 and
C2 genes can be found in all of my models that have intergenerational biophysical bases – that is,
all but the “capital exchange” models, which do not have a biophysical component.
PSoup demonstrates evolution in a large number of scenarios, but the most basic scenario
replicates Palmiter’s SE, and has been carried forward into the Ref A model – TpLab. In all
three of these models, blind organisms stumble about randomly in a field of randomly (re)placed
Orrery Software 3 TpLab Design & User Doc
goodies in a fierce competition for survival. The only tool they have that might offer some
evolutionary advantage is a heuristic stochastic search pattern that is encoded in their C1 genes.
Slight differences in the genome lead to subtle differences of bias in the stochastic process used
to effect decisions as they stumble about randomly. Those biases may be adaptive
(advantageous) or non-adaptive. In both SE and in PSoup, with surprising speed, a population
of organisms evolve a highly effective search pattern called the “dodger”, and that search pattern
also appears as the native “best” search pattern in TpLab.
In 2010, while tutoring a group of highly gifted high-school students, I was challenged to model
a socially just and sustainable economic system. Our goal was to build a hybrid model which
was to be a merger of a multi-generational biophysical model (somewhat in the tradition of SE
and PSoup) and an economic model (in which all goods and services were exchanged for
money). As a design condition, it had to respect the laws of conservation of energy,
conservation of mass, and conservation of money. ModEco (model economy) was the result
(Refs H, J and K). The construction of this model was exceedingly challenging. We stumbled
across the problems of the price/value gap, the water-diamonds paradox, and the incompatibility
of the twin goals of sustainability and social justice. We saw the “hidden hand” of Adam Smith
as a few long-lived agents garnered incredible wealth while the majority lived brief lives of
poverty, dying of starvation. The distribution of wealth in ModEco closely resembles the
distribution of speeds in an ideal gas – a distribution called the Maxwell-Boltzmann distribution.
It appears that such hybrid economies are fundamentally unstable (unsustainable) and unjust
unless some key components (such as a central government) and key protocols (such as price
controls) are put in place.
Continuing without my students, while investigating the role of the Maxwell-Boltzmann
distribution, which is closely associated with the 2nd
Law of Thermodynamics, I read about the
maximum entropy principle (MEP), the maximum entropy production principle (MEPP), and the
maximum power principle (MPP) and the work of Drăgulescu and Yakovenko (Ref F) and of
Odum and Pinkerton (Ref D). It appears that many authors, like Lotka, Odum and Pinkerton,
have pondered the existence of a 4th
law of thermodynamics which, like the lost city of Atlantis,
is believed to exist but has never been found. The MEPP and the MPP have both been proposed
as 4th
law candidates, in various versions of each. It sounds, perhaps, a little silly to imagine that
there is such a 4th
law still undiscovered in this age of the marvels of science, until you realize
that it took almost 400 years for the best minds in the world to work out the details of the 1st law
(finally settling it in the late 1940s according to one account), and the 2nd
law is still a hot topic
of discussion among the big brains of information theory almost 200 years after it was first dimly
perceived. The proposal for a 4th
law is less than 100 years old and not well articulated. I have
become convinced that my economic models demonstrate some aspect(s) of the as-yet not well-
articulated 4th
law, and furthermore, that it is the hidden hand of Adam Smith, directing the
development of real-world economic systems.
Based on the work of Drăgulescu and Yakovenko (D&Y) I developed “EiLab – Models I&J”
(Ref I) which was a variation on their so-called BDY models. Model I is designed for an
exploration of the MEP (2nd
law). Model J is designed for exploration of the MEPP (4th
law). A
characteristic of the work of D&Y that is important – their BDY models are “capital exchange
models” in which the prices of goods and services do not appear in any way. They look only at
Orrery Software 4 TpLab Design & User Doc
the “money view”. In such models, the 1st law is NOT the conservation of mass or energy, but
rather, the conservation of money. Models I&J are also capital exchange models.
However, I have temporarily set aside the study of Model J as I believe there is a faster route to
insight into the MPP through a study of the concepts of Lotka, Odum and Pinkerton. At Refs L,
M, N, O and P I explored the dynamics of the MPP and the credibility of the implicit assumption
(by Odum) that it is active in all instances in which a flow of energy is transformed, and
implicate in all instances of rising complexity in a system. But, there is a significant problem to
be overcome. While Odum developed his ideas based on Lokta’s paper(s) of 1922, after careful
consideration I have come to believe there is a possible paradox embedded in their arguments.
Lotka apparently argues that energetically open systems will evolve to produce entropy at a
maximum possible rate (MEPP), while Odum apparently argues that the component energy
transformations within such systems evolve to produce entropy at a minimum possible rate. Can
both arguments be true at the same time? It is not clear to me that Odum recognized the
existence of this paradox. In the models OamLab and MppLab I explored the nature of this
paradox, and found that agent based models can exhibit both features. Ref N is a YouTube video
in which a trophic web evolves which displays both features.
Ref Q is my draft paper (unpublished) in which I attempt to “re-state” H.T. Odum’s Maximum
Power Principle (MPP) as three falsifiable hypotheses. I felt this was necessary because I could
not find in his writings a presentation of that principle that was complete, clear and falsifiable.
In fact, there were several different aspects of the MPP that I had difficulty fitting together. Ref
Q was partially successful and partially a failed effort. The process of writing it clarified many
things for me, but raised a number of other questions. Ref R is my note to file (NTF) in which I
did a “fault mode analysis” of the Ref Q paper exploring some of those questions. That is, I
attempted to find the logical faults in the paper and describe them in as much detail as I could
muster. One particularly relevant and difficult observation coming out of the thought processes
of Refs Q and R was the confirmation of my belief that a “Goldilocks” curve HAD to be
involved in EVERY energy transformation in persistent self-organizing physical systems, and,
likewise, one HAD to be involved in EVERY persistent sort of commercial transaction in
persistent self-organizing economic systems. This was/is an extremely general claim that was
absolutely key to my growing understanding of the MPP. My first attempts to show it to be true,
however, had all failed. This became, for me, a test case to see if the fundamental assumptions
of the two documents were valid. So, I set out to show that such Goldilocks curves were indeed
ubiquitous in nature and in economic systems.
Ref O is a collection of mathematical exercises. With little sophistication and absolutely no
elegance, I address every realistic combination (and a few unrealistic ones) of Income, Cost, and
Benefit curves (ICB) and show that a Goldilocks curve is implicit in all cases. I think that my
definition of income, costs and benefits is broad enough to address flows of energy, or mass, or
money, or of any other conserved quantity, whether physical or logical. Significant lacks in that
Ref O presentation, however, are a serious treatment of time, and a serious treatment of multi-
variate relationships. I am convinced that a mathematician with more skills than I have would be
able to make those arguments, and address those lacks. Time (T) is the missing bit of the ICBT
curve sets. So, that needs a lot of work, but I am now convinced that it can be done and the
conclusions are valid.
Orrery Software 5 TpLab Design & User Doc
Having established, to my own satisfaction at least, that Goldilocks curves are indeed ubiquitous
in both natural and economic systems, and have been from the appearance of the very first
economic systems in human history, I was drawn into thought about how the MPP might explain
the phenomenon that I spoke about in my Ref P presentation at the CANUSSEE/BPE conference
in Vancouver in October 2015. In that presentation I discussed the observation that the financial
economy took flight and separated from the “real” economy, at some time in the 1970s.
Consideration of why and how that had happened led to the writing of the NTFs at Refs S and T
in which I develop a concept of the history of money systems, driven by the MPP to ever more
complexity and sophistication, and supporting an ever more sophisticated and complex society,
paid for by ever larger quantities of energy in the form of fossil fuels. Key to that (as yet
unfinished) argument was/is the idea that the conservation of money in a modern (post 1970)
economy provides a logical platform directly analogous to the 1st law of thermodynamics. And,
upon that logical platform, two different types of dynamics contend in an ever-lasting battle for
supremacy – a battle that continues as long as there is a flow of energy (and of its proxy –
capital) to sustain it. And there we get to sustainability issues, and issues of the persistence of
natural and economic systems. Those two dynamics are entropy production (2nd
law) and
complexity production (proposed 4th
law). But, for that to work, I need to propose that the
entropy and complexity produced by each dynamic need not be purely physical, but might also
be largely logical in form. Refs S&T remain in unfinished form, needing some substantiation of
key assumptions, such as the one that money is a conserved quantity. The only real feedback I
received on those draft documents was along the lines that “but, of course, money is not
conserved, because money supplies expand and contract as needed”.
Refs U and V were developed in response to that observation. Ref U is an (unfinished) NTF in
which I explore the nature of the phenomenon of the conservation of money, and propose a
version of the “1st law of econodynamics” Ref V is an agent-based model called CmLab
(Conservation of Money laboratory) in which I implement another “capital exchange model” of a
national economy complete with central bank, chartered banks, merchants and depositors in
which all exchanges of money are moderated by (a) double-entry book-keeping, and (b)
fractional reserve banking. Money is indeed conserved, and some fascinating implications are
discovered.
Ref W was the presentation made at which I also speculated about the reason why neo-classical
economic theory was resistant to all attempts to align it with modern science. In pursuing a
deeper explanation of that phenomenon, Ref X was written, wherein I explored the history of
disciplines of science and economics, and proposed a more detailed description of the
phenomenon of teleological pruning. Upon reading it a friend challenged me to build a model to
demonstrate the effect, and so TpLab (Teleological Pruning Laboratory) came into being as the
third model aimed at demonstrating the effects of the MPP. My argument is that evolution not
only prunes our genes through natural selection, but also prunes our beliefs, plans, desires and
habitual decisions to maximize the global throughput of matter and energy. We experience life,
fundamentally, from a teleological point of view, and so think that our beliefs, plans and
decisions in life are ours to own and control. I would argue that evolution has shaped our
understanding of the world to guide us to hold to those beliefs that are aligned with the overall
direction of change imposed by the MPP/TP. In TpLab I use the C1 genes, and a few of the C2
Orrery Software 6 TpLab Design & User Doc
genes, from PSoup, to manage the base biophysical model. On top of that I superimpose a belief
system that alters the natural biases of the “dodger” search pattern. So, we can see how beliefs
alter our experience of reality, and our success in it.
3 - Purpose
The purpose of the Ref A computer application is to explore the nature of a phenomenon I am
calling “Teleological Pruning” (TP), a sub-dynamic of the “Maximum Power Principle” (MPP),
and I wish to thereby provide one example of the MPP/TP in action.
The purpose of this design document is to present and discuss the design decisions associated
with V2.06 of the Ref A computer application – i.e. of the Teleological Pruning Laboratory.
Within this note I will refer to it as TpLab.
4 - Discussion
My approach in this document is to write it as a sort of user guide, and a sort of technical record.
For the technical part, I will discuss a number of design elements including both technical and
conceptual elements. For the user guide part, I will describe each of the panels in the user
interface. There is, of course, additional documentation in the TpLab model itself, in the info
tab and in the code tab. The ‘info’ tab from the model is copied to Annex A of this document. It
is suggested that it be read now, before proceeding.
4.1 - Design Elements
4.1.1 - Technical Platform
In this section I describe the technical aspects needed to understand the implementation of the
concepts. Some technical information is in the ‘info’ tab, so I will try not to duplicate that here.
But there is still a lot more to be said that could help a modeller understand the way this model is
designed, and how it is intended to work.
4.1.2 - Application Development Environment (ADE)
TpLab is implemented in NetLogo version 5.0.5. NetLogo is an interpreted ADE. That is to
say, the code is not pre-compiled, but is interpreted line by line as the program runs. This
version of NetLogo has now been somewhat surpassed by the developers of the NetLogo
platform, which is a fast-moving target. I don’t what to get into an endless loop of upgrading my
models, so I decided to stick with the application development environment that I first used for
the PMM, OamLab, MppLab and CmLab models.
4.1.2.1 - Models Demonstrating Evolution
Fundamental Evolutionary Dynamic – TpLab is a derivative of a model published many years
ago. It was called “Simulated Evolution” (SE), written by Dr. Michael Palmiter and featured in
two Scientific American article in 1989 and 1990, I think. I wrote my own version of SE using
Microsoft Basic in the early nineties. Then in 2002, I re-wrote it in C++ and called it. Most of
my models written since then borrow heavily from the ideas of Dr Palmiter. For example, the
parameters discussed below called DAT, DET, RAT, RET, EPM and EPA directly encode the
biological function parameters used in SE as described in those Scientific American articles.
DAT and DET encode the phenomenon of death in terms of age and energy respectively. RAT
Orrery Software 7 TpLab Design & User Doc
and RET encode the phenomenon of reproduction in terms of age and energy. EPM and EPA
encode the tendency of agents to expend or store energy, respectively. The general dynamic per
tick is then (1) move (EPM – energy expended per move); (2) feed while competing for
resources in limited supply (EPA is upper limit on energy storage); (3) reproduce with variation
of capability (RAT and RET determine sufficiency of age and energy); and (4) die of hunger
(DET), old age (DAT), or in reproduction. The elements of this dynamic all seem to be
necessary background constraints to demonstrate real evolution in an Agent Based Model
(ABM). TpLab demonstrates the evolution of a society of seekers of food, and of truth and
wisdom.
4.1.2.2 - Agent Based Models
TpLab is an agent-based model (ABM). There is one breed of agents called seekers that interact
with each other, seeking energy in patches of fruit. They expend energy with every turn, and
they must gather energy quickly enough to grow to mature size and reproduce before they get too
old. The energy is limited, however, with insufficient to go around. Those that find more
patches of fresh fruit than their contemporaries survive to reproduce via fission, and the others
perish. The agents are virtually blind and cannot see each other, nor can they see the fruit except
for uneaten fruit that coexists in their current cell. The hungry seeker who gets there first gets
the food, and nothing is left for others, until that patch is randomly delivered a new batch of fresh
fruit. The agents must evolve a heuristic strategy (essentially a stochastic search algorithm) that
is more effective than those of their contemporaries.
TpLab is fundamentally an ecological model in which the agents, i.e. seekers, evolve. There is a
constant flow of energy through the system with an upper limit on the total amount available per
tick, and that upper limit on energy flow determines the carrying capacity of the ecosystem. All
seekers reproduce by fission, so once carrying capacity is attained, on average 50% of every
generation must die of starvation or old age, and competition for energy begins in earnest. With
such fierce competition for a limited resource, any seeker that enjoys the tiniest advantage over
other members of its contemporary cohort will have an increased probability of survival. If that
advantage can be passed on to its offspring, both will benefit from that advantage, and the
number of offspring of that advantaged seeker will grow, at the expense of some other seeker.
Such advantage may be genetically based, or may be learned.
But there are three characteristics of seekers in TpLab that make it, I think, different from many
other evolutionary ecological models:
First, using the compound gene structure first devised by Dr Michael Palmiter, there is a
natural physical correspondence between behaviour of the seeker and its genes. The genes
encode a heuristic search pattern in such a way that minor changes in the genes can have
exaggerated effects on behaviour. In other words, a minor change in any one gene can
convey a substantial advantage or disadvantage to the owner of the gene, and natural
selection quickly and effectively selects winners and losers in every generation.
Second, while genes change in slow time, being fixed in value and impact throughout the life
of a seeker, these seekers also have belief systems that can be modified in fast time, on a
daily basis, through social contact with other seekers. The belief system of each seeker also
has a direct physical interpretation, by adding a bias towards some behaviours and away from
others, it super-imposes itself on the effects of the genes, altering the behaviour of the agent.
Orrery Software 8 TpLab Design & User Doc
And third, the sensory capability of a seeker is very limited in range, extending only to the
single cell in which it stands. It is able to detect fruit in that cell, and eat it if it is hungry. It
is able to detect other seekers in that cell, and exchange wisdom if appropriate. It is not able
to detect fruit or other seekers in cells right beside it. But it must move in every turn, and
expend energy in every turn. Given the fierce competition for finding fruit, every move must
be advantageous. On average, the energy returned on energy invested (EROI) must exceed
one, or it will perish. Having no useful sensory input, it is virtually blind, and all advantage
must come from internal logic – from the heuristic search pattern as encoded in its genes and
over-ridden by its belief systems.
4.1.2.3 - Simulation Vs Demonstration;
A computer model can represent reality in two distinctly different ways:
Simulation – The model is attempting to reproduce, with as much accuracy as possible, a
data stream that can be obtained empirically from measurements in the real world. When
simulation is sufficiently accurate, then the model may be used to extrapolate beyond the
empirical data and predict future events from past events. Weather models, for example, are
of this type. Most economic models are of this type. Usually they are built on macro-level
mathematical models involving otherwise intractable differential equations. The immense
power of computers to generate an array of look-ahead scenarios lets the modellers
investigate ‘what-if’ possibilities, and possibly assign probabilities of realization of those
scenarios using Monte-Carlo or similar techniques.
Demonstration – The model is demonstrating dynamic behaviour that is implicit in its
design, and can be studied as a dynamic system in its own right. While the understandings
gained from such studies may be applicable to real-world systems only by analogy, there is
no intent to use the model to duplicate empirical data streams obtained from real-world
systems. The “Game of Life”, or the study of Wolfram’s “Finite State Machines” would fall
into this category. Whereas few would argue that such models simulate reality, such models
are often clearly applicable by analogy, and the things learned in their study has been hugely
informative. Agent Based Models excel at this sort of modelling.
TpLab is not a simulation of anything. It is a demonstration of the dynamics that emerge out of
the superimposition of genetically-determined behaviour and socially-determined behaviour.
That is all that it is intended to be. My design of TpLab is intended to demonstrate teleological
pruning, in some fashion, and not emulate or simulate it.
4.1.2.4 - Verification Vs Validation
When a new computer model is constructed there are two ways to test it:
Verification – Is the code free of error – does the software process data as intended?
Validation – Is the model a valid simulation of reality?
The process of “verification” of computer code is the process of finding and eliminating all of
the bugs and programming errors. A computer program is considered verified if it has no logical
bugs, and runs as intended. This application contains many hundreds of debug calls that are
designed to find and eliminate all such bugs. There is, of course, no guarantee, but as far as I
know, the economic engine of this application is 100% verified to be running as I intended. All
design decisions are documented in this document (at a high level), in the change log (at a
Orrery Software 9 TpLab Design & User Doc
medium level), and in the code itself (in detail), and all evidence of bugs of all sorts in the logical
engine has been addressed.
The process of “validation” of a model involves comparison of model output with real-world
data. TpLab is not meant to be validated by comparing numeric output from this model to real-
world data. The goal is not to replicate some stream of real-world data accurately. The goal is to
generate data that exemplifies the interactions of such biophysical and social systems, so that the
dynamic relationships between them can be better understood.
The kind of validation I seek for TpLab is in the validity of the insight it may provide into the
workings of a real-world economy. That is, I suppose, a question of interpretation, a matter of
degree, and an open question.
4.1.2.5 - Attributes of a Seeker
In NetLogo a breed of agents has variables that exist within each agent, called the agent’s own
attributes. The following code is copied from the code tab of TpLab, but I have deleted
irrelevant attributes:
;;-----------------------------------------------------------------------------|
;; Attributes of seekers
seekers-own
[
;; BUILT-IN ATTRIBUTES
;; who ;; fixed id number
;; breed ;; to which breed this turtle belongs [seeker]
;; heading ;; 0 <= heading < 360, 0 = north
;; xcor ;; min-pxcor <= xcor < max-pxcor
;; ycor ;; min-pxcor <= xcor < max-pxcor
;; USER-DETERMINED ATTRIBUTES
;; The chromosome 1 (c1) genes are used to distinguish behaviours.
c1-bases ;; c1 - list of 8 [B]ases for genes (P=B^(G+L))
c1-genes ;; c1 - list of 8 heading delta [G]enes
c1-learn ;; c1 - list of 8 [L]earned beliefs
c1-stren ;; c1 - list of 8 [S]trengths
c1-pheno ;; c1 - list of 8 [P]henotypic attributes
belief-affiliation ;; The belief (0-7) held by this agent.
tribal-affiliation ;; the social affiliation of the seeker.
;; The chromosome 2 (C2) genes are static in this model.
DAT ;; Death Age Threshold.
DET ;; Death Energy Threshold.
RAT ;; Reproductive Age Threshold.
RET ;; Reproductive Energy Threshold.
EPM ;; Energy Per Move.
EPA ;; Maximum Energy Per Agent.
;; Other attributes.
age ;; age of the agent in ticks
nrg ;; nrg in this agent
cause-of-death ;; for statistical purposes
]
Each of these attributes appears elsewhere in this document.
4.1.2.6 - A Model “Run”
TpLab is what one of my students once referred to as a “zero person game”. You set some
parameters, start it up, and then watch it run until it comes to a conclusion (biophysical
collapse?) or until you get tired of watching it (biophysical and social stationary state?). Each
such ‘run’ is moderated by a pseudo-random number generator (PRNG) and each unique seed for
the PRNG will produce a unique run. Each unique run is driven by a unique stream of random
Orrery Software 10 TpLab Design & User Doc
numbers, and can be thought of as similar to water flowing in a stream bed. If you place a single
leaf into a flowing river, and then track its progress down the river, you might be able to map out
the course of the river. But if you do the same with many leaves, one at a time, dropped at
different places in the river, and track them all, you may learn about the many bends, channels,
islands and back-flows of the river.
A run of the model can be duplicated in every detail if, and only if, all of the setup parameters
are the same, including the PRNG seed, and if the run proceeds without disruption of the stream
of random numbers delivered by the PRNG. NetLogo tends to call the PRNG implicitly for
many actions, so great care is required if a run is stopped. In general, the “One Tick” and “Go”
buttons are safe, if used with care. Do not try to press two “Go” buttons at the same time. Do
not press “One Tick” if a “Go” button is already on. But, you can stop a run using a “Go”
button, and restart it again, and the run is repeatable.
4.1.2.7 - Movement Within The “Ecological Arena”
A standard feature of every NetLogo agent based model is a spatial representation of the model
that I call the arena. The arena is a rectangle tiled by small squares called patches. A patch may
be empty (coloured brown), or it may contain fruit (coloured green). In addition, a patch may
contain one or more seekers that are represented as little arrows. The seekers are colour coded
according to their innate belief affiliation. If we anthropomorphize the little seekers, a decision
to move from one patch to the next has three stages of operation:
Stage 1 – it consults its set of compound genes ([G] values) to determine how many degrees
to the right it should turn in order to maximize its energy returns for the necessary
expenditures associated with this step – i.e. to maximize its EROI. The relative [S]trength of
each compound gene provides the probability that a turn of that size will be made. But the
[L]earned belief system is superimposed upon those probabilities and alters them. For a
seeker in belief affiliation 2, for example, a belief would be interpreted anthropomorphically
as “I believe that a turn of 45 degrees should have more weight (or less weight), and so a turn
of that size should happen more (or less) often, and so I adjust the probabilities of expression
of gene 2 accordingly. Ultimately, a turn of some multiple of 45 degrees is selected.
Stage 2 – Turn that many degrees to the right. Such turns are always in multiples of 45
degrees, so the next patch pointed to is always one of the eight patches that immediately
surround the seeker (note that the edges of the arena are wrapped, so there are always eight
options). The little arrow will turn appropriately as the heading is changed.
Stage 3 – Step forward into the indicated patch, if possible, and attempt to (a) feed, or (b)
make social contact with any other seekers that may be there. If there is fruit there to be
eaten, that is the immediate biophysical payoff. If there is wisdom to be shared via social
contact, the belief system is modified (that has the potential to be good advice or bad advice),
and the biophysical payoff is delivered (or not) in later ticks.
4.1.2.8 - User Interface Panels
NetLogo does not allow a programmer to temporarily “paint” the computer screen with a type of
output placed into a “window”. Instead, most graphic output mechanisms (monitors and graphs)
must be placed on a single area of logical real estate, and the user can use scroll bars to look at
different parts of that real estate. These output mechanisms have static size and location, and
only the content varies. I have organized them all, along with the input parameters and controls,
Orrery Software 11 TpLab Design & User Doc
into eight “panels” each of which has a general purpose. Screen grabs of each of the eight panels
are in Annex B of this NTF, and there is a detailed description of each in section 5. The eight
panels are:
PANEL 01 – Main panel – The Model;
PANEL 02 – Advanced System Setup Parameters;
PANEL 03 – Debug and Data Collection Tools;
PANEL 04 – Clock Face – Averages, 8 Compound Genes;
PANEL 05 – Population Graphics;
PANEL 06 – Energy Graphics;
PANEL 07 – Average Values – Compound Genes, By Type of Component, By Gene #;
PANEL 08 – Time Lines – Power and EROI (Moving Averages); and
PANEL 09 – Energy and Age Histograms, and Causes of Death.
4.1.2.9 - The Code
The code is readily accessible in any NetLogo model under the “Code” tab. This application has
2,730 lines of code (V2.06) under that tab, which sounds like a lot, but I use a lot of white space,
and the code is very heavily commented. The distribution of types of lines of code breaks down
like this:
TYPE No Of Lines %
Native code 1,125 Lines 41%
Comments 874 Lines 32%
Debug calls 103 Lines 4%
White space 628 Lines 23%
Total 2,730 lines 100%
In many instances I discuss theory and options and implement one or another of the options
discussed. That is roughly equivalent to 16 pages of documentation right in the code. So, I think
that some of the very best documentation of this application is in the code itself. I have done it
this way to enable other interested modellers to modify or expand upon the model easily.
4.1.3 - Logical Concepts
The various output panels in the user interface of TpLab use some jargon that is unavoidable.
These are based on the concepts developed in notes in the reference list, but I expand or refine
those concepts as needed. I plan to go back and revise those Refs based on what I am learning in
this modeling exercise. Those logical concepts are as follows.
4.1.3.1 - About Compound Gene Structure
Read Annex A, Section 5.1, for a relatively detailed description of the structure of the compound
genes. As described there, the design of the genes in chromosome #1 (C1) was taken directly
from the work of Dr Michael Palmiter. I developed that concept further when I expanded upon
his Simulated Evolution and wrote PSoup. In the PSoup application I presented these Palmiter
genes as a clock face. In Figure 01 you see a selection of such clock faces representing a variety
of phenotypes that exhibit as distinctive heuristic search patterns.
Orrery Software 12 TpLab Design & User Doc
I can only approximate this graphic in NetLogo, as seen in Figure 02.
In TpLab, all seekers start in pristine form, but the other forms may appear in some scenarios as
the populations evolve. In Scenario 0, with PRNG seed 7, for example, the seekers were all the
same at Tick 0, but by Tick 8,000 a cruiser has started to form with two of the forward-
movement genes having more weight than the rest, and the backward-movement genes having
notably less weight. This trend has continued to 15,000 Ticks at which time the cruiser form is
becoming clearly evident.
4.1.3.2 - Breeds of Agents, and Social Associations
In NetLogo, which is an application development environment (or ADE) explicitly intended for
agent based models (ABMs), the agents come in flavours called “breeds”. In this model I have
implemented only one such breed and call them seekers. But I have given them two kinds of
social markers that let me group each agent into two types of social affiliations. In this way,
from a programmer’s perspective, I can leverage the simplicity of coding for a single breed,
while at the same time enabling the ability to partition the population into social affiliations that
exhibit group-specific behaviours. For information about interpretation of [L] and [G] values,
read section 5.2. The two social markers are:
Belief-affiliation – This is a number between 0 and 7 inclusively, which indicates a bias towards
expression of that particular compound gene. So, the belief-affiliation can be thought of as the
preferred gene of the seeker. This is a number that is closely associated with the belief system of
the seeker, but should not be confused with the belief system, because usually they are aligned,
but not always, as described below.
Figure 01 – A Variety of C1 Phenotypes, Drawn as “Clock Faces”, from PSoup.
Pristine Jitterbug Twirly Arrow Cruiser Dodger
Figure 02 – C1 Phenotypes, Drawn as Clock Faces, From TpLab
Pristine Emerging Cruiser History of Phenotypes Cruiser
At 0 Ticks <------------------------ At 8,000 Ticks ----------------> At 15,000 Ticks
Orrery Software 13 TpLab Design & User Doc
At Setup – During the setup procedure the belief-affiliation marker of each seeker is
assigned a value, and that value determines the original belief system (the set of values of the
[Li]s within the compound genes) of the seeker.
o Scenario 0 – During setup of scenario 0 all seekers have belief-affiliation set to 0, and all
[L]earned belief values of gene 0 are set to 0, giving them a null belief system. Belief
systems play no role in scenario 0, and all seekers belong to the same belief affiliation;
o Scenarios 1-3 – During setup of scenarios 1-3 each seeker has belief-affiliation set to a
number from 0 to 7. Then the [L]earned belief value of that preferred gene is set to a
value determined by the slider [g-c1-belief-value].
During a Run – The [L]earned belief value of the preferred gene is passed from mother to
daughter at time of reproduction, so all seekers maintain this value through matrilineal links
all of the way back in time to initial setup, except for as noted below for “Impose This Belief
Affiliation”. The belief affiliation is used to partition the population so the impact of the
belief system can be tracked. The impact is different in different scenarios, and has an
increasingly important role:
o Scenario 0 – Society With 0 Morals – All seekers belong to one single belief affiliation
and the population is not partitioned. You might consider it an association of mindless
agnostics, as none have any beliefs and cognitive preferences play no role in any
decisions. All actions are purely instinctual. No free will can be exercised.
o Scenario 1 – Society With 8 Morals – Each seeker has a belief system that consists of a
preferred gene and a single unchanging nonzero [L]earned belief value assigned to that
preferred gene, all other [L]s being zeros. The preferred-gene and the [L]earned belief
value are received from its mother and passed on to its daughters. The population of
seekers can be partitioned into 8 discrete belief affiliations of seekers who share the same
system of beliefs.
o Scenario 2 – Society With Wisdom Sharing – This is very similar to scenario 1, except
the [L]earned belief value stored in the preferred gene is now able to be altered in size.
Each time a seeker steps into a new patch, it can check for any other members of that
belief affiliation. The eldest of those compatible seekers is named the guru, and the
[L]earned belief value of the younger seeker is adjusted to be closer in value to that of the
guru. Thus, long experience is passed from seeker to seeker, within the same belief-
affiliation, generation after generation.
o Scenario 3 – Society With Tribal Bonds – See the discussion about tribes immediately
below.
o Impose This Belief Affiliation – This is an option in “Panel 02 – Advanced System Setup
Parameters”. This breaks the rules for scenarios 0-3. I included this just for playing
around with the little seekers’ belief systems. Set the [g-gene-to-adjust] parameter, then
set the [g-c1-belief-value] to a new [L]earned belief value, then press the “Impose This
Belief Affiliation” button. Randomly, one half of the population of seekers will (a) have
their belief-affiliation marker changed from that received from their mother to the
affiliation indicated, and (b) have the [L]earned belief value of that now-preferred gene
altered to the indicated value. The previous [L]earned belief values of all of the other
compound genes are unaffected, but the affected seeker is now participating in a new
affiliation of seekers.
Orrery Software 14 TpLab Design & User Doc
Tribal-affiliation – tribal-affiliation is used only in scenario 3. It can be a number from 0 to 9.
The tribal affiliation is assigned at setup, and is passed from mother to daughter at time of
reproduction. It never changes within a matrilineal line. It is used to partition the population of
seekers, and is used in scenario 3 to manage the transfer of tribal wisdom.
During Setup – tribal-affiliation is only important in scenario 3:
o Scenarios 0-2 – All seekers are assigned to tribal-affiliation 0 but it plays no role in any
activities.
o Scenario 3 – The slider [g-no-of-tribes] is used to determine how many tribes will be
established, up to a maximum of 10 tribes. Each tribe will consist of eight seekers, one
for each belief affiliation. So all tribes are set up with equal capability, having exactly
eight seekers and having access to all belief affiliations. Thus, every seeker belongs to
two social networks – a belief affiliation, and a tribal affiliation. It can seek wisdom from
either social network.
During a Run – tribal-affiliation is only important in scenario 3:
o Scenarios 0-2 – All seekers are assigned to tribe 0 but it plays no role in any activities.
o Scenario 3 – Society With Tribal Bonds – When a seeker steps into a new patch, it seeks
three things: (1) if there is fruit in the patch and it is hungry, it will eat the fruit; (2) if
there is an older seeker in the patch that shares the same belief affiliation, it will seek
wisdom from the eldest such seeker (the guru) just like in scenario 2; and (3) if there is an
older seeker from the same tribal affiliation, it will seek wisdom from the eldest such
seeker (the tribal elder). The transfer of tribal wisdom is slightly different from the
transfer of wisdom based on shared beliefs, because a tribe has access to all belief
affiliations. The tribal elder will consult its own [L]earned belief value associated with
its own professed belief affiliation (the belief held with conviction) and transfer wisdom
from that source (that preferred [L]earned belief value) to the younger seeker, regardless
of the belief affiliation of the recipient. By this means, the recipient can alter [L]earned
belief values that are outside of the boundaries of the belief affiliation associated with its
matrilineal line of descent.
4.1.3.3 - Seeker Details and Aggregates
Details – Each seeker is characterized by a few variables. These include:
belief-affiliation – discussed above.
tribal-affiliation – discussed above.
nrg (the amount of energy in the body of the seeker);
age (the age of the seeker, in ticks); and
the five 8-element lists of values that encode the eight compound genes and the associated
strengths and phenotypic values:
o c1-bases
o c1-genes
o c1-learn
o c1-strengths
o c1-pheno
This level of detail is never visible in the various monitors and graphs in the display panels.
Neither is there currently any means to dump this detailed data to CSV files.
Orrery Software 15 TpLab Design & User Doc
Intermediate Aggregates – There are at least 99 partitions of the population of seekers (e.g. in
scenario 3: 99 = (8+1) x (10+1). Data respecting 19 of these is available as part of the display
data: aggregates by belief affiliation (8 x 1 partitions); and aggregates by tribal affiliation (10 x 1
partitions); and whole population aggregates.
Display Aggregates – Most of the information in the display monitors and graphs is aggregated
across the population of seekers, or aggregated across belief affiliations, or aggregated across
tribal affiliations.
4.2 - Descriptions of the Panels
NetLogo is unable to redraw the screen, so items on the screen must be laid out in a static
pattern, and any items that do not fit onto a single screen must be accessed via scroll bars. I have
therefore organized all the graphs, monitors, sliders and other objects into nine panels that are
accessible via horizontal scroll bars. Screen shots of the nine panels are in Annex B, but each is
described in detail below. For all programming I follow the coding conventions and variable
naming conventions established at Ref J.
4.2.1 - Panel 01 – The Model
This is the main panel, the panel that you see when you first start up the TpLab application. On
this panel you will find:
Instructions for a “Quick Start”.
The “Ecological Arena”.
Two categories of controls labelled “Setup controls” and “Operations Controls”. Setup
controls are to be used once at the beginning of a specific run. Once the run has begun, they
should not be used, or they will invalidate the run, and possibly cause errors. The operational
controls, on the other hand, can be altered at any time during a run. It is best if the run is
paused before the control is adjusted, but that is not a necessity. However, the model does
not keep track of such changes in control settings, and such runs are not repeatable.
4.2.1.1 - Setup Controls for Panel 01
Panel 01 has the following setup controls:
gs-scenario – This is a “chooser” that lets a user select one of four scenarios.
g-use-this-seed – This slider lets the user choose a seed for the pseudo-random number
generator (PRNG). A different seed results in a different run. The same seed, if used with
care, results in a repeatable run. The PRNG is invoked implicitly by NetLogo for many
commands, so, if you stop a run, issue a few commands from the prompt line, and then
resume a run, it may not be repeatable. If the only controls used to pause and resume are the
“Go” and “One Tick” buttons, then the run is repeatable.
Setup – This button invokes a routine that initializes all seekers and all variables. It should
be pressed once only at the beginning of a run. If pressed (during a pause) in the middle of a
run, it will reset everything according to the controls, and restart the model at tick 0.
4.2.1.2 - Operational Controls for Panel 01
Panel 01 has the following operational controls:
Go – This button invokes the same sub-routine as the “One Tick” button (described below),
but it continues to run that sub-routine over and over again until the “Go” button is pressed
Orrery Software 16 TpLab Design & User Doc
one more time. The Go button turns black when pressed, and turns grey-blue again when un-
pressed. Note that there are in fact several copies of the Go button in the various panels.
Only one should be pressed at once. Each launches an additional thread of execution, and the
results of multiple threads will be unpredictable, and probably not good.
[g-halt-at-tick] – This light-green coloured box is an input box. Any value entered here will
be stored in the g-halt-at-tick variable. It will be used to terminate execution of a run at a
pre-determined tick. Essentially, it un-presses the Go button when that tick arrives. This is
useful for debugging, or for the purposes of exploration of events at special ticks.
One Tick – This button invokes a routine that makes the model execute a single tick. That
is, the model moves forward in time by one tick. Many sub-routines are called during a tick,
in serial order, as follows:
o Do-pre-tick – this sub-routine attends to a small number of behind-the-scenes technical
matters associated with data collection and display or model performance, that must be
addressed prior to the initiation of the other sub-routines.
o Do-energize – this sub-routine manages the placement of nrg into the arena. For each
tick, an amount [g-sun-nrg-per-tick] is made available. All of the patches are canvassed
in random order, and a list of empty patches is established. Then the PRNG is consulted,
and each empty patch, with probability [g-prob-of-deposit], has an amount [g-nrg-per-
deposit] is deposited into it. This nrg is placed into a variable in the patch called “fruit”,
and is available to the next hungry seeker that steps into the patch. The amount that is
unplaced is recorded in an nrg sink.
o Do-move – this sub-routine handles the movement of agents within the “Ecological
Arena” found in Panel 01. The seekers are addressed in random order. They consult
their [G]enetic values and [L]earned belief values to decide which direction to turn to,
then turn, and step forward. In the process, they expend nrg in the amount of [g-c2-epm-
parm]. EPM stands for energy per move, and is based on the work of Dr Michael
Palmiter in his model “Simulated Evolution”.
o Do-feed – this sub-routine has escalating complexity as you move from the basic scenario
(0) to the most interesting scenario (3):
Scenarios 0 to 3 – seekers check if they are full of nrg, or still hungry (i.e. their nrg
level exceeds or is less than [g-c2-epa-parm]). EPA stands for maximum energy per
agent. If hungry, they check whether there is fruit available to eat. If they are hungry
and there is food available, they eat it all, leaving the patch empty until the next
execution of the Do-energize routine. This feeding routine happens in all scenarios.
Scenarios 2 and 3 – Seekers check if there is another seeker in the same patch that
has the same belief affiliation. If there are two or more seekers in the same patch
having the same belief affiliation, then the eldest (the guru) passes belief-specific
wisdom to the younger eligible seeker. This transfer of belief-specific wisdom
happens in both scenarios 2 and 3.
Scenario 3 – Seekers check if there is another seeker in the same patch in the same
tribal affiliation. If there are two or more seekers in the same patch having the same
tribal affiliation, then the eldest (the tribal elder) passes his best belief-specific
wisdom to the younger seeker, regardless of the belief affiliation of the recipient.
o Do-reproduce – In this subroutine each seeker will reproduce via fission, but only if it is
old enough and energetic enough. The seeker compares its age to the parameter [g-c2-
rat-parm]. RAT stands for reproductive age threshold. It also compares its nrg to the
Orrery Software 17 TpLab Design & User Doc
parameter [g-c2-ret-parm]. RET stands for reproductive energy threshold. Both of
these parameters are derived from the work of Dr Michael Palmiter. If old enough and
healthy enough, it undergoes fission, producing two daughters each having half of the nrg
of the mother, and having age 0. The daughters inherit the belief affiliation and the tribal
affiliation of the mother, and also inherit the compound genes, but with possible
mutations. With a probability of [g-prob-of-mutation], one of the eight compound
genes is selected to be mutated, and either the [B]ase value (c1-bases) or the [G]ene value
(c1-genes) is varied slightly. Scenarios 2 and 3 have an additional complexity associated
with evolving belief systems. The gene associated with the mother’s belief affiliation has
the [L]earned belief value mutated with probability [g-prob-of-belief-drift].
o Do-die – Each seeker checks to see if it should die, due to hunger or old age. If its age is
greater than [g-c21-dat-parm] it should die of old age. If its nrg level is less than [g-c2-
det-parm], it should die of hunger. Both of these parameters are derived from the work
of Dr Michael Palmiter. If it dies, the nrg is sent to a sink and recorded.
o Do-post-tick – In this subroutine several activities associated with maintenance of the
model are undertaken. This includes updating aggregate variables.
4.2.2 - Panel 02 – Advanced System Setup Parameters
There are three sets of controls in this panel, and one stand-alone button – the reset button. None
of these sliders need to be adjusted to enjoy insight from the running of the model, but I placed
them here initially to tune the model, and have left them here for the amusement of those who
have an interest.
Reset Defaults – This button invokes a routine that resets the default values of all of the setup
and operational controls to a profile of values that are known to be interesting. When the sliders
in this panel and in Panel 01 are changed, and the model is saved to file, the new values are
persistent across such a save operation. Many combinations of control settings are of little
interest as they are unstable, and possibly dysfunctional. This button enables the user to return
all controls to default values, at need.
Various Advanced Controls – This group of sliders includes a variety of parameters associated
with this specific model:
[g-no-of-tribes] – used in the setup routine to decide how many seekers to be created. In all
scenarios, the number of seekers created will be this number times 8. However, in scenarios
0-2 they will all be placed into a single tribe. In scenario 3, there will be this number of
distinct tribes, and 8 seekers per tribe.
[g-sun-nrg-per-tick] – in the Do-energize routine, this is the maximum amount of nrg made
available for deposit into empty patches. Raise this number to raise the carrying capacity.
[g-nrg-per-deposit] – when nrg is deposited into an empty patch, this is the amount
deposited. Compare this with [g-c2-epm-parm]. Standard values are EPM=4 and [g-nrg-
per-deposit]=40. This means a seeker must find a fruit-filled patch, on average, every tenth
step, or EROI drops below 1 and the seeker will die of hunger. Change these two parameters
together. Raise this number to raise the carrying capacity.
[g-prob-of-deposit] – when nrg is deposited into an empty patch, this is the probability that
the empty patch will in fact be filled on any given turn. This puts a throttle on the rate at
which nrg flows into the system. Raise this number to raise the carrying capacity.
Orrery Software 18 TpLab Design & User Doc
[g-prob-of-mutation] – when a seeker reproduces by fission, each daughter has this
probability that a random compound gene will mutate. Either the [B]ase value or the [G]ene
value might change upwards or downwards by a small amount. [B]ase values are =2 at
setup. [G]ene values are =0 at setup.
[g-prob-of-moral-shift] – in scenarios 2 and 3, when a seeker reproduces by fission, each
daughter has this probability that the compound gene associated with its belief affiliation will
have its [L]earned belief value altered, upwards or downwards, by a small amount.
[L]earned belief values are set to the parameter [g-c1-belief-value] at setup.
[g-dt-for-eroi] – the EROI graphs are extremely volatile, to the point of being almost
unreadable. So I apply a moving average to the data. This slider sets the interval over which
the moving average is calculated.
C2 Controls – Biological Functions – This group of sliders includes six parameters that are
derived directly from the work of Dr Michael Palmiter, the man who invented the schema for the
c1 genes. I parameterized these values when I designed PSoup, and have used them since in any
evolutionary models. Together they address limits on size of organisms, age of organisms,
energy consumption rates, and characteristics of reproduction and death:
[g-c2-dat-parm] – Death Age Threshold – maximum age after which a seeker dies of old
age;
[g-c2-det-parm] – Death Energy Threshold – minimum level of nrg below which a seeker
dies of hunger;
[g-c2-rat-parm] – Reproductive Age Threshold – minimum age at which a seeker can
reproduce;
[g-c2-ret-parm] – Reproductive Energy Threshold – minimum energy at which a seeker can
reproduce;
[g-c2-epm-parm] – Energy Per Move – mandatory expenditure of each seeker per turn;
[g-c2-epa-parm] – Energy Per Agent – maximum energy an agent may hold, preventing
further feeding when exceeded.
Special Controls – This group of controls are used passively during the Setup routine. But they
can also be used actively mid-run, in association with any scenario. Doing so, however, makes
the scenario considerably different and difficult to interpret. They are, therefore, just for playing
around:
[g-gene-to-adjust] – A slider – this selects one of the eight compound genes into which a
new [M]oral value will be inserted.
[g-c1-belief-value] – A slider – this sets the [L]earned belief value that will be inserted into
the preferred gene. When the Setup routine is run, the [g-gene-to-adjust] will be ignored,
but the [g-c1-belief-value] will be used to set the default value in the scenarios 1 through 3.
However, when the “Impose This Moral Preference” button is pressed, both of these controls
are used.
“Impose This Belief Affiliation” – A Button – This button will active a special routine that
operates outside of the confines of the four standard scenarios. Each time the button is
pressed, it randomly divides the population of seekers into two groups. One group is left
unchanged. The other group has its belief system changed as follows: (1) the belief-
affiliation is set to equal the [g-gene-to-adjust] parameter; (2) the associated compound gene
has its [L]earned belief value changed to equal the [g-c1-belief-value] parameter; but (3) the
Orrery Software 19 TpLab Design & User Doc
other pre-existing [L]earned belief values associated with the other compound genes are not
changed. The effect is that you can inject a variety of [L]earned belief values, through
repeated use of the button, into the population, and see what strange effect it may have.
Active Scenario – A monitor – This monitor displays the value of the string [gs-scenario],
which is set when the chooser is set on Panel 01.
Number Sharing Preferred More – A monitor – This monitor displays the number of
seekers that share the same belief affiliation as is indicated by the [g-gene-to-adjust]
parameter. This lets you see the effect of the imposition routine. Compare this with the
“Current Population” monitor.
Current Population – A monitor – This monitor displays the total number of seekers in the
model.
4.2.3 - Panel 03 – Debug and Data Collection Tools
Panel 03 has two sub-panels. All of the controls and monitors in this panel were built during the
verification process. I decided to leave them as active controls for two reasons:
Sub-Panel 03a – Others may wish to change the model in various ways, and these tools may
prove useful when the code is being re-verified by other programmers.
Sub-Panel 03b – Even if you are not a coder, these debug tools may give you a view inside
the operations of the model that is not available via the various monitors and displays in the
user interface.
4.2.3.1 - Sub-Panel 03a – Debug Tools
These controls are organized into four groups as follows:
Group 1 – “Toggle Debug” button, and associated “Debug” monitor. The code contains
many calls to a routine called “LOG-TO-FILE” which creates a stream of data for a log file.
Let’s call it the log data stream. This button turns on the collection and presentation of the
log data stream. This button MUST be pushed to turn on logging before any other debug
actions are taken. If not, unpredictable things may happen, and the program may show errors
relating to file accessibility or similar things. The monitor indicates whether a log file is
open or not. Use this toggle to enable a T-junction by which the data stream is sent both to
the log file on your hard drive, but also to the NetLogo standard “Command Centre”. The
command centre is special window available via a small set of very small caret triangles in
the bottom left corner. Use the expand caret (pointing upwards) to open the command centre
window, then use the two-headed arrow at the bottom right to expand it to fill half of the
screen. Then the log data stream will be visible in the command centre. See the graphic for
Panel 01 to see the location of these tiny carets (Annex B). This button can produce
thousands of page so output, so be careful. It is best to set the g-number-of-tribes parameter
to 2 before attempting any debug output. A sample of debug output is in Annex C.
Group 2 – [gs-debug-step-chooser] – Use this chooser to select which sub-routine is to
produce a log data stream. You can set it to “All”, or to a specific step.
Group 3 – Setup, One Tick and Go buttons – These are copies of three buttons described
previously under Panel 01. They occur in several panels.
Group 4 – Single step buttons – It is possible to step through a tick one sub-routine at a
time. Use this, together with the chooser in Group 2, to focus on a single sub-routine at a
time.
Orrery Software 20 TpLab Design & User Doc
4.2.3.2 - Sub-Panel 03b – CSV Data Collection Tools
Most of this sub-panel is taken up with generic instructions on how to use the built-in NetLogo
exportation tools. There are two groups of additional controls:
[db-plot-data] – this is a Boolean switch that toggles the data plotting function for all graphs
on and off. If you want to see the graphs develop and/or you want to dump the data to CSV
files later, this must be on. If you want to skip through the transient behaviour of the model,
this can be off. It is recommended it be left on, as the best most interesting behaviour is
when the model is in its transient phase.
Record Selected Plots – This button is used to send the data contained in the seven selected
plots to CSV files, to be read into MS Excel later for analysis. The seven plots indicated in
the text are the sources of the data for the seven CSV files.
4.2.4 - Panel 04 – Clock Face – Averages, 8 Compound Genes
On this panel there are five key groups of monitors, a standard monitor, and a standard set of
operational buttons; seven groups in all. The contents of the five attributes within each
compound c1 gene are presented as averaged values. For example, the B0 monitor displays the
average across all seekers (all belief affiliations, all tribal affiliations) of the [B]ase value of the
compound gene pointing in direction 0. The descriptions of the groups are as follows:
Group 1 – [B]ase values – Eight averages, one for each of the eight compound genes.
Group 2 – [G]ene values – Eight averages, one for each of the eight compound genes.
Group 3 – [M]oral values – Eight averages, one for each of the eight compound genes.
Group 4 – [S]trength values – Eight averages, one for each of the eight compound genes.
Group 5 – [P]henotypic values – Eight averages, one for each of the eight compound genes.
These are arranged in the form of a clock face.
Group 6 – A monitor – “Ticks” display the current tick.
Group 7 – Push buttons – The three standard control buttons as described under Panel 01:
Setup, One Tick, and Go.
4.2.5 - Panel 05 – Population Graphics
This panel is focussed on population-related aggregate statistics, and has seven groups of
controls, as follows:
Group 1 – three monitors at the far left display (1) the total population of all seekers
currently alive; (2) the average age of all seekers; and (3) the number of ticks that have been
executed so far in this particular run.
Group 2 – to the immediate right of that, there is a set of eight monitors labelled ‘Pop L0’
through ‘Pop L7’. Each of these monitors displays the number of seekers belonging to the
specified belief affiliation. For scenario 0 these will all be zeros except for Pop L0, which
will hold the entire population. For scenarios 1 and 2, these are key monitors to watch. For
scenario 3, due to the ability of all seekers to hold wisdom in any of the eight areas, these
become less important, and difficult to interpret.
Group 3 – to the immediate right of those eight monitors is a line graph that collects and
plots the data from the belief affiliation population monitors. Data from this graph can be
exported at any time.
Orrery Software 21 TpLab Design & User Doc
Group 4 – further to the right is another set of ten monitors labelled ‘Pop T0’ through ‘Pop
T9’. Each of these monitors displays the number of seekers belonging to the specified tribal
affiliation. For scenarios 0 through 2, these will be zeros, except for Pop T0, which will hold
the entire population. For scenario 3, these are key monitors to watch.
Group 5 – immediately to the right of those monitors is a line graph that collects and plots
the data from the tribal affiliation population monitors. Data from this graph can be exported
at any time.
Group 6 – is a set of three standard control buttons as described in Panel 01: Setup, One
Tick and Go.
Group 7 – Two monitors are placed at the bottom of the panel to help in the interpretation of
the panel: scenario number, and scenario name.
4.2.6 - Panel 06 – Energy Graphics
While the focus of this model is on teleological pruning (TP), that is the pruning of belief
systems, by evolution, the flows of energy (nrg in this model) are key to understand the
dynamics. A steady flow of energy from the Sun drives the entire ecosystem, and the throttles
on that energy set the carrying capacity, and cause conflict over access to energy. So, even
though the energy data closely parallels the population data, I have established this panel to
present the energy view of the history of a run of the model. Any of these graphs can be
exported to CSV files at any time. Two are part of the automated creation of CSV data files
described under Panel 2. This panel has seven groups of controls:
Group 1 – On the far left, the monitor ‘Ave Nrg’ displays the average of the nrg variable
across all seekers currently alive.
Group 2 – Immediately to the right is a line graph called “Nrg Levels” with two lines: (1)
total energy in all patches of fruit (green); and (2) total energy in all seekers (red).
Group 3 – To the right of that, is a line graph called “Sun Takeup Rates” with four lines: (1)
Maximum Possible takeup rate (empty patches X [g-nrg-per-deposit]); (2) Expected takeup
rate (Max rate X [g-prob-of-deposit]); (3) Limit ([g-nrg-in-sunshine]); and (4) Actual
takeup rate (aggregated in Do-energize step). These tell us how quickly the Sun’s energy is
being absorbed by the ecosystem. Note that the actual will follow the least of two limits –
number (2) or number (3). In the default settings, actual follows number 3.
Group 4 – To the right of that, is a line graph called “Nrg – By Belief Affiliation” with eight
lines, one for the total energy in all seekers belonging to each of the eight belief affiliations.
Group 5 – To the right of that, is a line graph called “Nrg – By Tribal Affiliation” with ten
lines, one for the total energy in all seekers belonging to each of the ten tribal affiliations.
Group 6 – is a set of three standard control buttons as described in Panel 01: Setup, One
Tick and Go.
Group 7 – Two monitors are placed at the bottom of the panel to help in the interpretation of
the panel: scenario number, and scenario name.
4.2.7 - Panel 07 – Average Values – C1 Genes – By Component, By Gene #
This panel contains five line graphs and two groups of controls, for seven groups in total. This is
the most important and informative of the nine panels, and the right-most graph called
“[P]henotype Values By Gene” is the most important among the five. Each of the graphs
contains eight lines, one for each of the eight belief affiliations. These five graphs are among
Orrery Software 22 TpLab Design & User Doc
those that are automatically exported to CSV files using the CSV tools of Panel 02. The
interpretations of the graphs vary with scenario. The seven groups of controls are:
Graph 1 – [B]ase Values By Gene # – These numbers start with a value of 2, and are altered
with probability [g-prob-of-mutation] during reproduction. They play a role in all
scenarios. The value plotted is the average across all seekers.
Graph 2 – [G]ene Values By Gene # – These numbers start with a value of 0, and are altered
with a probability [g-prob-of-mutation] during reproduction. They play a role in all
scenarios. The value plotted is the average across all seekers.
Graph 3 – [L]earned Beliefs By Gene # – These numbers are relevant only for scenarios 2
through 4. They start with a value of [g-c1-belief-value] for the compound gene associated
with the seeker’s belief affiliation, and a value of zero for all other compound genes. The
value plotted is the average across all seekers.
Graph 4 – [S]trengths By Gene # – These numbers are calculated as [Si]=[Gi]^[Li]. The
value plotted is the average across all seekers.
Graph 5 – [P]henotype Values By Gene # – These numbers are calculated as
[Pi]=[Si]/SUM([Sj]). The value plotted is the average across all seekers.
Group 6 – is a set of three standard control buttons as described in Panel 01: Setup, One
Tick and Go.
Group 7 – four monitors are placed at the bottom of the panel to help in the interpretation of
the panel: scenario number, and scenario name, ticks, and PRNG seed.
4.2.8 - Panel 08 – Time Lines – Power and EROI (Moving Averages)
There are two graphs and some standard controls in this panel:
EROI – Each seeker, over the course of its life, tracks the moving average of its energy
income divided by its energy expenses. This individual EROI is highly variable over time,
and highly variable between seekers. To smooth out the time variations, each seeker keeps a
history of its past income and expenses, and calculates a running average. The parameter [g-
dt-for-eroi] defines the delta time (dt) for these moving averages. Once per tick the model
plots the maximum (red), average (green), and minimum (blue) values for the individual
EROI values. Also, the model keeps track of the overall income and expenses for all seekers,
and calculates and plots a value of EROI for the society (purple).
Power – The rate of consumption of energy is plotted (red), along with the energy in the fruit
(green).
Standard Buttons – there is a set of three standard control buttons as described in Panel 01:
Setup, One Tick and Go.
4.2.9 - Panel 09 – Nrg and Age Histograms, And Causes of Death
This final panel displays a miscellaneous set of histograms and graphs that are of some interest:
Graph 1 – Nrg of Seekers – A histogram – We see here the now familiar Maxwell-
Boltzmann distribution of energy that showed up in first in the PSoup ecological, and then in
the ModEco economic model.
Graph 2 – Age of Seekers – A histogram – This histogram has an anomalous distribution.
Graph 3 – Causes of Death – Line graphs with three lines: (1) the number of seekers that die
of old age (blue); (2) the number of seekers that die in reproduction (green, i.e. the number of
fission events); and (3) the numbers of seekers that die of hunger (red).
Orrery Software 23 TpLab Design & User Doc
Group 4 – there is a set of three standard control buttons as described in Panel 01: Setup,
One Tick and Go.
Group 5 – there is a monitor for the number of ticks.
Orrery Software A24 TpLab Design & User Doc
5 - Annex A – Contents of the ‘Info’ tab
This text was copied from the ‘Info’ tab of TpLab V2.06, and then reformatted.
5.1 - WHAT IS IT?
TpLab – In this model, nrg arrives in a steady stream from the Sun and is captured in plants that
produce fruit, which appears randomly in dales in the forest. Nomadic seekers roaming the
forest, each according to their own heuristic strategy, seek the dales currently having food, and
harvest it. The strategies start as ineffective bland heuristics, and evolve to be much more
sophisticated. In the most simple scenario, all actions are purely instinctive. But an ability to
have beliefs influence behaviour is built into the genes, and belief systems evolve within the
societies of seekers. These teleological belief systems can over-rule instinctual behaviours.
What happens to seekers of fruit that hold beliefs too tightly? Can the seekers of fruit become
seekers of truth and wisdom? What happens to societies that share a dialectic across multiple
belief systems?
This model demonstrates evolutionary processes that shape the belief systems of a society to
align with the effects of the Lotka/Odum Maximum Power Principle (MPP). That is, the belief
systems are shaped to produce an overall system that functions at the highest rate of consumption
of matter and energy that is consistent with the available resources. TpLab, short for
Teleological Pruning Laboratory, is the third model in a planned series of three: the first being
called OamLab, and the second being called MppLab.
It is clear that, when isolated and left alone, all systems die, run down, erode, decay and/or
dissipate their matter. This process is closely associated with the phenomenon of entropy
production, and the 2nd law of thermodynamics describes how this might happen. Any such
isolated system automatically reconfigures itself, moving through its state space on a trajectory
of ever increasing entropy, until a configuration of maximal entropy is achieved. This state of
maximal entropy is often characterized by an excess of sameness, a lack of spatial structures,
shapes or variations, and by characteristic distributions of energies among the parts. Having
once achieved such a configuration, the system then remains in this state of maximal entropy
forever after. However, when we look around ourselves, virtually everything we see is
characterized by a remarkable variety of spatial structures and shapes, and by turbulent and
chaotic distributions of energy. Clearly when a system is not isolated and left alone there is
another dynamic able to overpower the 2nd law and undo its nasty work. Such is the nature of
the proposed 4th law of thermodynamics. A.J. Lotka (Refs A&B, 1922) proposed that
ecosystems evolve to function at the highest rates of consumption of matter and energy
consistent with available resources. H.T. Odum (Ref C, 1955) called this proposal the Maximum
Power Principle (or just the MPP). In this process the genomes of all participating species are
pruned and shaped to make the system highly consumptive.
This model is the third "laboratory" produced in my personal study of the existence and nature of
the MPP. In that study, it has become apparent to me that, through the processes of natural
selection, the MPP not only shapes our genes to enhance global consumption, but it also aligns
our belief systems to the same end. Those beliefs and practices that stand in the way of
increased consumptive power of our emerging global society are pruned away, and those that
Orrery Software A25 TpLab Design & User Doc
enhance the consumptive power of global society spread and come to dominate society. So, in
like manner to the way our genes are pruned, like the branches of a wild apple tree, our belief
systems are also pruned. I refer to this process as Teleological Pruning (or just TP). TP, being a
sub-dynamic of the MPP, is sometimes herein referred to as the MPP/TP.
MAXIMUM POWER PRINCIPLE (MPP/TP) - The purpose of these models is to be desktop
laboratories for the study of the MPP/TP. In 1955 H.T. Odum and R.C. published their first
paper about the MPP. H.T. Odum (1924-2002) went on, for over four decades, to argue that the
MPP is the best candidate for the fourth law of thermodynamics, having explanatory value for
such things as ecosystems, economies, and other autocatalytic (self-organizing) systems.
However, in spite of the fact that there is plenty of anecdotal evidence in support of the MPP
concepts, it seems that it remains little understood, and little studied. In its broadest
interpretation, the MPP says (my words) that any self-organizing system that is open with respect
to a flow of matter and energy will continuously reconfigure itself to store/consume/use energy
at the maximum rate possible, consistent with available sources of matter and energy. In a
variety of diary notes that I have written in an attempt to understand the MPP, I have developed
an opinion about just how this affects us. Not only are our genes shaped to effect this end, but
our national political and social structures, our technologies, and our beliefs, plans and practices
are also shaped to enhance the overall flow and consumption of matter and energy by the global
economy. This even shapes the organs of global governance such as political structures, and the
political and economic theories that inspire them. It is highly recommended that interested
people read my diary notes (referenced below) prior to studying this model.
Conceptual Development - TpLab is being written as part of a personal study of the dynamics
of sustainable economics. My earliest model economy was a purely ecological model called
PSoup (short for Primordial Soup) in which the dynamics of evolution could be demonstrated
(Ref D). That was based on a model called Simulated Evolution (SE) by Dr Michael Palmiter
(Ref E). In that PSoup model, blind agents compete for limited amounts of energy, and they
evolve a nuanced 8-parameter heuristic search pattern that is ever more effective in locating
unseen resources. The 8-parameter search pattern can be drawn on the eight points of the
compass in a diagram I call a clock face. In a PSoup arena, the MPP, via natural selection,
shapes the population to function at remarkably high rates of consumption. I have been using
that ecological model as the foundational basis of several agent-based models over the past 15
year, and know it well. SE is the basis of PSoup, ModEco, OamLab, MppLab (Refs D, F, H
& I below) - and now TpLab.
For TpLab I decided to take the compound genes which encode the agent's heuristic search
pattern, and incorporate within them a parallel belief system which modifies the phenotype of
each agent in way that the belief system directly enhances or reduces the effects of each gene.
The belief system has the same 8-parameter structure as the genetic material, and is super-
imposed over the genetic material, but identifiable as a distinct component within the compound
gene. It can be manipulated independently of the genetic material, but, at the same time is
subject to natural selection through the common phenotype. But, there is a difference: the belief
systems can be modified by learning experiences over the lifetime of the agent, or by social
sharing, whereas the genomes are cast at birth and unchanging throughout life. By this means,
the basic ecological model of PSoup is converted into a social model in TpLab.
Orrery Software A26 TpLab Design & User Doc
The BIG Question - Why consider the phenomenon of teleological pruning? This is driven by
the question that many scientists have considered in recent years.
In this modern world, why is economic theory so clearly unscientific, and how
does it manage to remain resistant to all attempts to make it science-based?
For example, in a world that is clearly depleted of most of its great treasures and on the brink of
ecological collapse, to cure these global ills political and economic theory still recommends, and
it seems demands, an endless pattern of consumptive growth. This appears to be sheer madness,
but there are few asking why this king has no clothes.
My FINAL answer - All those who believe that something must be done to avert the coming
catastrophe are participating in a belief system that is not aligned with the effects of the MPP.
That is to say, their belief system does not support the ever increasing rate of consumption of
matter and energy until the resources are totally depleted. That belief system, itself, is subject to
evolution pressures, and is non-adaptive in an evolutionary sense, and is extirpated by natural
selection. Any economic or political theory that incorporates such obstructive beliefs is also
extirpated. Modern political and economic theory is then impervious to all attempts to put
science into it. That is MY theory that I call "Teleological Pruning" (i.e. pruning of our
theories, purposes and plans).
TpLab is a hybrid system, having two intimately linked sub-systems - a biophysical sub-system
encoded in a genome, and a teleological sub-system encoded in a set of beliefs:
In the biophysical sub-system, genes have fixed structure at birth, behavior is encoded as
heuristic patterns in genes, and learning happens as the genes and the populations that hold
them evolve, generation after generation. Agents are born, struggle for survival, die of
hunger or old age, and reproduce only when old enough and healthy enough.
In the teleological sub-system, agents hold beliefs which alter their genome-derived
behaviour. These alterations in behaviour make them more or less efficient at finding food
than might be expected from the heuristic encoded in their genome.
Success is determined by behaviour derived from both the biophysical genome and from the
parallel belief system.
Research Questions - Here are my research questions for TpLab:
Can I effectively model a society which is a hybrid between a biophysical ecosystem and a
teleological system?
Can I demonstrate teleological pruning convincingly? Do the belief systems always align
with the heuristic search patterns that evolution produces in the genomes?
Can desired and potent belief systems that are contrary to the effects of the MPP (e.g. we
should not do it that way) nevertheless continue to persist?
Unfortunately, I believe that the answers that come out of this version of TpLab are:
Yes;
Yes; and
It seems not!
Orrery Software A27 TpLab Design & User Doc
5.2 - HOW IT WORKS
There are several scenarios which all work in a similar fashion, except for key minor design
differences. So, I will cover the common design details first, then outline the differences by
scenario. Variables and features are enclosed in square [brackets]. Those that are under direct
user control, via sliders, are also in [bold].
Nrg - energy, referred to in the model as nrg, exists only in the form of fruit in the arena and nrg
in the bodies of the agents. A flux of nrg comes from the Sun at the start of each tick, is
deposited into fruit, is eaten by agents, and is expended by agents. There are two mechanisms
that throttle the rate of inflow of nrg. There is a hard maximum amount of [Sun-nrg-per-tick]
of inflow. However, the maximum amount of nrg that comes from the Sun may also be limited
by the size and state of the arena. The amount that arrives per tick can be estimated using the
formula [Nrg Flux] = [Number of empty cells] X [Prob-of-deposit] X [nrg-per-deposit]. The
actual nrg flux per tick is the lesser of those two amounts, and that determines the carrying
capacity of the arena. That flux of nrg is available to be expended by the agents in an amount of
[c2-epm-parm] units of nrg per agent per move.
Seekers - the only breed of agents in this model is called Seekers. They are seekers of energy-
rich green fruit that appears in the brown arena at random times and random places. But, the
seekers are blind and cannot sense the nearby existence of fruit unless it occupies the same cell
in which they stand. Their efficiency in finding fruit depends on the heuristic search pattern they
undertake, in competition with their contemporaries. Those with a more effective search pattern
will have a survival advantage over the others. Seekers are born, move, feed, and live or die.
Few live more than 800 ticks, and a typical run of 100,000 ticks spans the lives of over 100
generations of seekers. All of the characteristics of the lives of these agents are encoded in two
sets of genes called chromosomes #1 and #2.
Chromosome #1 - c1 - This chromosome contains eight compound genes built in a fashion first
used by Dr Michael Palmiter, the author of Simulated Evolution (Ref E). In Dr Palmiter's
design, a compound gene had two fundamental components that I label [B] and [G], and store in
each seeker in lists called c1-bases and c1-genes. Interpretation of each of these compound
genes requires two calculations. The [S]trength of the gene is calculated as the base [B] raised to
the power [G]. This can be written as [Si]=[Bi]^[Gi], where 0 <= i <= 7. Then the [P]henotypic
character is the relative strength, calculated as the strength [S] of the gene divided by the sum of
all eight strengths of all eight genes, written as [Pi]=100x[Si]/SUM([Sj]). Seekers reproduce via
fission, so each mother has two daughters, and perishes in the act, splitting her heritage of nrg
between the two. The values of [B] and [G] might possibly mutate (change randomly) by a small
amount during reproduction. The probability of mutation is set by the slider [prob-of-
mutation].
In TpLab there is one additional fundamental component that has been added to each of the
eight compound genes - and that is the [L]earned belief. [L] is added to [G] before calculating
the [S]trength, so [Si]=[Bi]^([Gi]+[Li]). [Pi] is calculated the same way as before.
Orrery Software A28 TpLab Design & User Doc
The use and interpretation of these genes is described below.
Chromosome #2 - c2 - This chromosome contains the six genes that control biological
functions. In this model, these genes are static and do not change, but to maintain similarity with
Palmiter's SE model, I encode them into each agent. The six genes are:
[c2-dat-parm] - Death Age Threshold - Seekers that reach this age (in ticks) die of old age.
Either DAT or DET cause death.
[c2-det-parm] - Death Energy Threshold - Seekers whose energy level falls below this
number (in nrg units) die of hunger. Either DAT or DET cause death.
[c2-rat-parm] - Reproductive Age Threshold - Seekers that reach this age are eligible to
reproduce. RAT and RET but both be appropriate for reproduction.
[c2-ret-parm] - Reproductive Energy Threshold - Seekers that reach this nrg level are
eligible to reproduce. RAT and RET but both be appropriate for reproduction.
[c2-epm-parm] - Energy Per Move - Every agent expends this many nrg units per move.
[c2-epa-parm] - Energy Per Agent - Seekers cannot harvest fruit that will cause the nrg level
to exceed this amount.
C1 Phenotype - The search pattern of the agents is controlled by the C1 genes. If you number
the eight genes from 0 to 7 then they can be arranged in a pattern that I call the clock face. With
each tick of the model, each agent randomly activates one of its genes, turns to the right an
amount equal to that gene number times 45 degrees, then steps forward to feed. So, it always
enters one of the eight cells that surround it. When a seeker moves, it first determines which of
the eight genes is expressed, it turns to the right by the appropriate angle designated by the
expressed gene, and then steps forward and attempts to feed. As shown in the following
diagram, the ultimate effect of each of the genes is: 0 - 0 degree turn - F - (step forward),
1 - 45 degree turn - FR - (step forward to the right),
2 - 90 degree turn - R - (step to the right),
3 - 135 degree turn - BR - (step back to the right),
4 - 180 degree turn - B - (step backward),
5 - 225 degree turn - BL - (step back to the left),
6 - 270 degree turn - L - (step to the left), or
7 - 315 degree turn - FL - (step forward to the left).
Gene #s Gene Interpretations
------------ ---------------
| 7 0 1 | | FL F FR |
| | | |
| 6 2 | | L R |
| | | |
| 5 4 3 | | BL B BR |
------------ ---------------
The mechanism used to decide which gene is expressed is the product of Dr Palmiter's genius.
The [probability of expression of each gene 'i'] is calculated using the phenotypic values [Pi]
with this formula: [Pi]=[Si]/SUM([Sj]) for 0 <= i <= 7. As an example, suppose the eight
[S]trengths are 1, 1, 1, 1, 2, 1, 1 and 1. The 1s are calculated as 2^0, and the 2 is 2^1. Then gene
Orrery Software A29 TpLab Design & User Doc
4 is twice as strong as the others, and has a probability of expression [Pi]=100x(2/9), while the
others have a probability of expression of [Pi]=100x(1/9). Both are expressed as percentage
probabilities.
An almost bland C1 chromosome.
Gene # (i=) 0 1 2 3 4 5 6 7
------ -------------------------------
[Bi] 2 2 2 2 2 2 2 2
[Gi] 0 0 0 0 1 0 0 0
------ -------------------------------
[Si]=[Bi]^[Gi] 1 1 1 1 2 1 1 1
[Pi]=100x[Si]/SUM([Sj]) 1/9 1/9 1/9 1/9 2/9 1/9 1/9 1/9 (all x100)
All scenarios start with a bland set of C1 genes - i.e. [Bi] = 2; [Gi] = 0; and [Si] = 1 for all i. All
genes in a bland C1 chromosome have an equal probability of expression in each turn. This
results in a search pattern that amounts to a random walk. Such a walk tends to deplete the local
resources for each seeker and leads to death, unless all seekers are equally bland and there is lots
of nrg flowing in to replenish locally depleted nrg sources.
Not long after a run starts, the [Bi]s and [Gi]s mutate slightly, minor alterations in search patterns
appear, and competitive advantages emerge. Different values of [Bi] and [Gi] across a genome
represent different heuristic search patterns. Drawn from my experience with PSoup (Ref D),
here are a few phenotypic search patterns that may appear:
Notable Phenotypic Search Patterns
Arrow Jitterbug Bent Arrow Dodger
----------- ----------- ----------- -----------
| ^ | | | | \\ | | \ / |
| | | | | | \\ | | \ / |
| | | | | | | || | | | | |
| | | | | | | | |
| | | V | | | | |
----------- ----------- ----------- -----------
The Arrow has a strong gene 0, and charges almost straight forward relentlessly. It
dominates a wrapped arena (i.e. wrapped at the edges) but is gradually reduced in numbers in
a unwrapped or boxed in arena.
The Jitterbug has a strong gene 4, jumps back and forth between two cells, and is quickly
extirpated as soon as resources become scarce. It persists only when there is energy to spare.
The Bent Arrow has a strong gene 1 or gene 7, and tends to be an unstable transitional form
on the evolutionary path to an arrow or a dodger. It travels in wide sweeping circles that
perform a random walk in slow time, as lesser genes are occasionally expressed.
The Dodger has two strong genes, genes 1 and 7. It dodges forwards in a jagged path that
wanders in a far-ranging brownian-like motion. It eventually dominates in arenas in which
there are a lot of impediments to movement, such as an unwrapped (boxed in) arena.
Environments can be created in which other patterns emerge as the dominant form in a steady-
state environment. In Scenario 0 of TpLab (discussed below) I expect we will see arrows and
Orrery Software A30 TpLab Design & User Doc
dodgers as the arena may be either wrapped or unwrapped. The belief systems inject a bias
towards a different search pattern. The research questions revolve around this: What heuristic
search patterns, if any, will emerge and become dominant in scenarios 1 through 3?
Belief Systems - I have injected a belief system into Palmiter's genes as follows. There are eight
learned belief values [Li] superimposed upon and stored along with the gene values [Gi]. The
strength of each compound gene 'i' is then calculated as [Si] = [Bi]^([Gi]+[Li]), and the [Pi]s are
calculated as usual. The [Pi] values are used in the same way to determine which gene is
expressed for any given turn.
The [Bi]s, [Gi]s and [Li]s mutate on reproduction, but the [Li]s also can change through social
interaction. In two scenarios the [L]earned belief values are inherited from the mother and
established for life for that agent. In two scenarios they are shared within the society, and can
spring to dominance or wane to insignificance.
An almost bland C1 chromosome.
Gene # (i=) 0 1 2 3 4 5 6 7
------ -------------------------------
[Bi] 2 2 2 2 2 2 2 2
[Gi] 0 0 0 0 1 1 0 0
[Li] 0 0 0 0 1 -1 0 0
------ -------------------------------
[Si]=[Bi]^([Gi]+[Li]) 1 1 1 1 4 1 1 1
The belief system works as follows. The [L]earned belief values are interpreted as moral
convictions, or beliefs, or preferences, purposes, plans or intentions. The emulate free-will
decisions of the seekers. There is one ultimately dominant search pattern that can be encoded in
the [Bi]s and [Gi]s. Each learned belief [Li] encodes what the seeker believes should be done to
improve the outcome of a search, and the contribution to the [S]trength modifies the seeker's
behaviour - modifies the actual search pattern. The learned belief might enhance the effects of a
[G]ene, as shown for [G4] in the above diagram, or it might cancel its effects, as shown for [G5].
It can be read as "I, the seeker, have learned to believe that I will find more fruit if I turn 180
degrees more often, and turn 135 degrees less often.
Those learned beliefs that align with the ultimately dominant search pattern are TRUE BELIEFS,
while those that disagree with the dominant search pattern are FALSE BELIEFS. So, while the
seekers are seeking fruit, they are also collectively seeking for the TRUTH - seeking wisdom.
According to the MPP, truth is defined by evolution and natural selection as that pattern that
leads to the highest rate of consumption of nrg by the system. All learned belief systems that are
not aligned with that dominant consumptive pattern must evolve and conform to it, or be
rendered impotent.
User Interface - The user interface is organized into several panels, as follows:
PANEL 01 - The Model - Contains the arena where the seekers live, and the basic tools to
select a scenario, with setup and go buttons.
PANEL 02 - Advanced System Setup Parameters - Contains the sliders that can be used to
manage or modify the scenarios. Most key parameters are available for user
experimentation, but default parameters can be retrieved.
Orrery Software A31 TpLab Design & User Doc
PANEL 03 - Debug and Data Collection Tools - Contains a variety of tools used during
development that may not be of interest to users. For those experienced with NetLogo, and
who wish to study or modify this model, they remain there for your use.
PANEL 04 - Clock Face - Averages, 8 Compound Genes - Contains a simulation of the
clock face showing the averages for each of the five components of each of the eight
compound genes.
PANEL 05 - Population Graphics - Contains graphs that display population counts broken
out by learned belief affiliations and by tribal affiliations (see discussion of scenarios below).
PANEL 06 - Energy Graphics - Contains graphs that display various aspects of the the nrg
stocks and flows, with break out by learned belief affiliations and by tribal affiliations (see
discussion of scenarios below).
PANEL 07 - Average Values - Compound Genes - By Type of Component, By Gene # -
Contains five graphs, one for each type of component.
PANEL 08 - Time Lines - Power and EROI (Moving Averages - These graphs provide a
peek into the response of EROI and power to the evolution of the society.
PANEL 09 - Nrg & Age Histograms, and Causes of Death - The nrg histogram displays
the usual Maxwell-Boltzmann distribution of wealth (in this case - nrg), and other graphs are
of mild interest.
SCENARIOS - There are four scenarios available:
SCENARIO 0 - Society With 0 Beliefs - In this society all [Li]s are set to zero, and stay at
zero throughout a run. This replicates the pure biophysical demonstration of evolution as
first demonstrated by Dr Palmiter in Simulated Evolution, and as replicated in PSoup.
There are no learned belief affiliations, and no tribal affiliations. It is every seeker for
herself. Arrows and bent arrows dominate.
SCENARIO 1 - Society with 8 Beliefs - This is the same as Scenario 0 except each seeker is
initially endowed with a single learned belief (i.e. one Li != 0) which is unchanging
throughout life, and is passed on to offspring. These represent an unchanging belief that one
gene should have more weight that all of the rest. This scenario poses the question "If an
affiliation of seekers holds fast to a learned belief that is irreducible in effect, and poorly
aligned with the effects of evolution, can it survive?"
SCENARIO 2 - Society With Wisdom Sharing - In this scenario, which starts out similar
to Scenario 1, the seekers are able to learn - to adjust their learned beliefs as life proceeds.
Each seeker is a member of an affiliation of seekers having the same learned belief - that we
can call a belief affiliation. A belief affiliation might be considered to be like a professional
association. When seekers of the same belief affiliation meet, the eldest (the guru) can pass
wisdom to the others. Essentially, the [Li] of the younger seekers is adjusted to be more like
the [Li] of the guru.
SCENARIO 3 - Society With Tribal Bonds - This is like Scenario 2, but each seeker
belongs to two social affiliations. All seekers belong to a belief affiliation - of which there
are a maximum of eight. In addition, each seeker belongs to a tribal affiliation. Each tribe
originally includes seekers from all eight belief affiliations, and so is collectively agnostic in
outlook. You might consider them to be communities of seekers having a common interest
in survival, such as might exist in a village, or tribe, or group of lifelong friends. Seekers can
seek professional wisdom from gurus having a common learned belief, as in Scenario 2.
However, they can also seek wisdom from tribal elders of their own tribe, in connection with
Orrery Software A32 TpLab Design & User Doc
the elder's own belief affiliation. So, in this scenario a seeker may eventually hold beliefs of
various strengths outside of their own inherent belief affiliation, and pass that very varied
belief system on to its offspring.
5.3 - HOW TO USE IT
You have heard, I suppose, of one-player games. One of my tutored students calls programs like
this a zero-player game. You set the parameters, you start it, and you get yourself a glass of port,
and sit and watch it develop.
There are four different scenarios, as described above, and each of those can be run with
different random number seeds.
To perform a run of the model:
In PANEL 1 select a scenario options;
Select a random seed;
Enter a 'tick' at which you want the run to stop;
Optionally, go to PANEL 2 and adjust any of the advanced controls;
Back on PANEL 1, click on the Setup button to configure the system according to the
scenario chosen;
At the top of PANEL 1, adjust the speed to maximum; and
Click on the Go button.
More adventurous users might scroll to the right and find the panel of "advanced" sliders which
can be used to alter a number of parameters of the model. This is not recommended until you
understand the standard operation of the model, but there is a lot to learn there. Many
combinations of these sliders will be immediately fatal to the population. I have not built in fail-
safe code. But if you adjust them a little, you will see things happen. Their effect is explained in
some detail in the user documentation (Ref K). The 'reset defaults' button found there will bring
you back to ground zero if need be.
The following process will show the progressive effects of belief systems, and the social spread
of wisdom:
Run scenario 0 (Society With 0 Beliefs) two or three times, to 15,000 ticks each, and watch
the difference between the evolution of the forward-motion genes (green) and the backward-
motion genes (red). This can be seen best in the graph "Average [P]henotypic Values" in
PANEL 6. In this scenario belief systems have absolutely no effect. This is the baseline
scenario against which all others should be compared.
Predict what you think will happen when every seeker has a strong unalterable preference for
turning a given distance. Run scenario 1 (Society With 8 Beliefs) once, to 15,000 ticks.
Compare the results with those noted in scenario 0.
Predict what you think will happen when younger seekers can strengthen or reduce their
learned belief by contact with older 'wiser' seekers holding the same views. Run scenario 2
(Society With Wisdom Sharing) once, to 15,000 ticks. Again, compare the results with those
noted in previous scenarios.
Now, predict what you think will happen when seekers seek wisdom not only from those
with the same belief affiliation, but also from other elders in their own tribe having very
Orrery Software A33 TpLab Design & User Doc
varied learned beliefs. Then, run scenario 3 (Society With Tribal Bonds) to 15,000 ticks, two
or three times. Take particular note of the graph showing ten tribes. Note that the colour
scheme for 'tribal affiliations' is different from the colour scheme for 'belief affiliations'.
5.4 - THINGS TO NOTICE
Note the effects of learned beliefs that align with and enhance the evolution of an effective
search pattern, and those that are misaligned, and detract from such patterns.
5.5 - THINGS TO TRY
SEEDS - Note the behaviour of the system for the same scenario that differ only by different
random seeds.
EXPERIMENTATION - For any scenario, use the special tools in PANEL 2 to impose a
learned belief upon half of the population.
A VIEW INSIDE - [ NOTE: Do not let this run for a long time. It generates very large
debug log files in a short time.] This is a four step process: (Step 1) Open the command
centre by clicking on the teeny tiny upwards-pointing arrow at the bottom left of the screen.
(Step 2) Then when the command centre appears at the bottom of the screen, click on the
'upsize' and 'clear' buttons at the top right of the command centre. (Step 3 ) Then use the
debug button and the associated 'chooser' (scroll the view screen to the right to find these in
PANEL 3) to turn on debug reporting for one or all of the steps. (Step 4 ) Click on 'one tick'.
Then scroll through the debug info that has been written into the command centre log.
DATA EXPORT - Right click on any of the graphs, and choose export. Or, open the
command centre as described above, and in the observer command line input box at the very
bottom of the screen, enter the command EXPORT-WORLD "filename.CSV", where
filename is a name of your choosing. I suggest, that e.g. if the model is at tick 35, the
filename might be "world35.CSV". The quotes are needed. Then, use MS Excel, or a
similar spreadsheet to load that file. Every piece of data in the model will be found there
somewhere in the output. These 'whole world' files can be loaded with MS Excel. They can
also be re-loaded back into TpLab. Or, you could use the tools I have built to augment those
native NetLogo abilities. Click on the "Record Selected Plots" button to create CSV files for
seven key plots.
ALL OF THE WAY INSIDE - There are key routines in the code that provide insight into
how the model operates. Go to the code tab and search for each of these strings, including
the associated hyphens: -own, do-, -initialize-, -mutate-, or -find.
5.6 - EXTENDING THE MODEL
Should I find the time and inspiration, TpLab will be modified to more clearly present the
effects of the Maximum Power Principle (MPP), the study of which led directly to its
development. However, my goal here, to-date, has been to explore the nature of 'Teleological
Pruning' in an evolving society. I.e. it has been to explore how our belief systems are subject to
the same evolutionary pressures as our genes, but operating at a much higher speed. Our genes
are resilient, and take generations to change, but our belief systems are relatively malleable.
A first step would be to import some of the logic around nrg transformations from MppLab into
this model. Then the herbivorous seekers would become heterotrophs, eating either fruit or
Orrery Software A34 TpLab Design & User Doc
animals. However, I am unsure how I would impose a belief system on them, and how it could
be monitored in an insightful way.
5.7 - RELATED MODELS
This model is one of a series of models that have been developed as part of a personal
exploration of the dynamics of sustainable economies. They include:
PSoup - Written in C++, this model explores the nature of evolutionary forces in a purely
biophysical economy (Ref D). Based on a previous model called Simulated Evolution by
Dr Michael Palmiter, PSoup places a number of bugs into a primordial soup and tracks their
development. Offering scenarios at many levels, it demonstrates a variety of effects of
evolution from simple development of effective food search patterns in the lowest levels, to
development of the five main senses, genetic cross-over and sexual reproduction. The
amazing observation, for me, coming out of this model was the speed and certainty of the
development of complexity. Whenever a complex option was made available in the potential
genetic space of the bugs, it was explored and very complex interactions between a cohort of
highly varied genotypes would emerge. I also learned, from this model, that a constant flow
of energy was a necessary condition for a sustainable biophysical economy, and a necessary
pre-cursor for the emergence of complexity.
ModEco - There are two versions of ModEco. Written in C++, the first-written version of
ModEco is a hybrid economy consisting of a PSoup-like biophysical economy joined to a
financial economy (Ref F1). In ModEco every transfer of matter and/or energy from agent to
agent is facilitated by a reciprocal transfer of money. Again, as long as there is a consistent
flow of energy, the economy evolves towards a steady-state biophysical condition. However,
sustainability of the financial economy has proven to be a very elusive property. It was
discovered that economic sustainability was only possible if profit and loss was eliminated
from the financial sector, and in its place an extremely precise regime of recognition and
preservation of biophysical value was instituted. The scenario that exhibited sustainability
under this harsh condition was called, somewhat jokingly, the "Perpetual Motion Machine",
or "The PMM". In more technical terms, the equilibrium achieved in the PMM is an
unstable equilibrium that must be maintained by continuous external intervention.
ModEco and the PMM - Written in NetLogo, this model is a replication of the C++ model,
but only of the single scenario called The PMM (Ref F2). Again, three observations are
clear from this model, and from the two previous models, when looking back over the
common characteristics. First, the steady-state condition of any of these models
demonstrates clear evidence of entropy rising to a maximal value, and then staying there.
The distributions of alleles (in PSoup), or of wealth (in ModEco and The PMM) develop
and then hold shapes characteristic of maximal entropy. Second, the emergence of complex
economic organizations and inter-agent interactions seems to be an inevitable part of the
evolution towards such a sustainable configuration. Third, and perhaps most important, the
steady state can only be maintained by programming techniques that address the inherent
instability of the equilibria associated with those steady states.
EiLab - Written in C++, this model enables a rather detailed investigation of the
phenomenon of rising entropy in economic models (Ref G). Inspired by the work of
Dragulescu and Yakovenko (2000), it implements a capital exchange model in which I could
study the origins and impact of entropy production in such models. EiLab stands for
"Entropic Index Laboratory". I like this "laboratory" approach, because I can study many
Orrery Software A35 TpLab Design & User Doc
scenarios, generate lots of data, and then study the data. There were a few key observations
coming out of this model. First, the study of entropy in such models is highly analogous to
the study of entropy by Gibbs in his development of the concepts of "Gibbs' Free Energy".
Second, in spite of the similarity to entropy, as Gibbs understood it, the entropy being
investigated is not thermodynamic entropy, but a purely mathematical abstraction of it which
is produced by a logical system executing logical processes distinct from chemical or heat-
related effects. Third, the emergence of maximum entropy distributions was inevitable in
these models, but the emergence of complexity was not, implying that there may be two
distinct sets of conditions causing (a) the production of entropy, and (b) the production of
complexity.
OamLab - Written in NetLogo, this model is one of two developed to explore more fully the
phenomenon of production of complexity in economic systems (Ref H). This is a
continuation of my study of sustainability of economic systems. It is the more simple senior
member of a set of three models in which I explore the "Maximum Power Principle" as first
proposed by A. J. Lotka and as developed by H. T. Odum. Both men argued that there is a
need for a "fourth" law of thermodynamics, required to explain the persistent emergence of
complexity. However, I found that Odum's ideas on this topic are difficult to decipher for a
number of reasons. Ultimately, I found it necessary to restate his MPP as a set of three
closely-related falsifiable hypotheses, and only then could I design models to test those
hypotheses. OamLab is the first of three such models designed to test the validity of my
restatement of the MPP. The prediction was that this model would evolve to a steady state in
which the average efficiency was 0.5. Strangely, the steady-state average efficiency was
0.62, and not 0.5. This lead to the discovery of a dispute between Odum and Silvert in the
early 1980s over which of the two numbers was the correct prediction. On further
investigation, it turns out that there are, in fact, two valid answers, and both results are easily
validated as consistent with the MPP. So, I consider that model, simple though it be, as
supporting the hypotheses of the MPP.
MppLab - Written in NetLogo, this is the middle member of the trio of models exploring the
validity of the MPP (Ref I). This had an exciting result, as it is able to model a trophic web,
in action, with from 6 to 10 trophic levels all operational at once. I have made a YouTube
video using this model.
CmLab - Written in NetLogo, this is another in the series of models designed to understand
sustainable economics (Ref J). The name is short for "Conservation of Money" Laboratory.
It's another model derived from PSoup and ModEco, but also derived from EiLab. PSoup
is a purely biophysical economy. CmLab is a purely financial economy. ModEco is a
hybrid biophysical/financial economy. CmLab is a capital exchange model in which bank
loans are used to create money, and double-entry book-keeping is used to track it. It can
provide, I think, some interesting insights into the nature of flows on money, which forms
one half of a sustainable economy.
5.8 - CREDITS AND REFERENCES
Here's a list of formal references that were helpful to me:
Ref A - A.J. Lotka (1922a) 'Contribution to the Energetics of Evolution', Proceedings of the
National Academy of Sciences of the United States of America, Vol. 8, No. 6 (Jun. 15,
1922), pp. 147-151.
Orrery Software A36 TpLab Design & User Doc
Ref B - A.J. Lotka (1922) 'Natural Selection as a Physical Principle', Proceedings of the
National Academy of Sciences of the United States of America, Vol. 8, No. 6 (Jun. 15,
1922), pp. 151-154.
Ref C - H.T. Odum and R.C. Pinkerton (1955) 'Time's speed regulator: The optimum
efficiency for maximum output in physical and biological systems ', Am. Sci., 43 pp. 331–
343.
Here are some less formal references:
Ref D – Boyle, Garvin H (2002), Primordial Soup (PSoup), Application written in C++.
Downloadable from http://orrery-software.webs.com/psoup.
Ref E - M. Palmiter (1989), Simulated Evolution, Application. Downloadable from
http://lifesciassoc.home.pipeline.com/instruct/evolution/.
Ref F1 – Boyle, Garvin H (2013, March 28). ‘ModEco and the PMM - A simple physically
conservative complete sustainable economy.’ (Version 2). CoMSES Computational Model
Library. Retrieved from: https://www.openabm.org/model/3613/version/2
Ref F2 – Boyle, Garvin H (2014, June 18). ‘Sustainable Economies ModEco.’ NetLogo
Modeling Commons. Retrieved from:
http://modelingcommons.org/browse/one_model/4746#model_tabs_browse_info
Ref G – Boyle, Garvin H (2015, May 27). ‘Capital Exchange Models – With Investigations
of Entropic Index.’ (Version 3). CoMSES Computational Model Library. Retrieved from:
https://www.openabm.org/model/3860/version/3
Ref H – Boyle, Garvin H (2016). ‘Maximum Power Principle OamLab.’ NetLogo Modeling
Commons. Retrieved from:
http://modelingcommons.org/browse/one_model/4745#model_tabs_browse_info
Ref I1 – Boyle, Garvin H (2016, May 9). ‘Maximum Power Principle MppLab.’ Not yet
released.
Ref I2 – Boyle, Garvin H (2016, May 9). ‘150907 MPP and Trophic Levels R1.’ Retrieved
from: https://www.youtube.com/watch?v=1NsRF4Bi0Zc
Ref J – Boyle, Garvin H (2016. ‘Conservation of Money Laboratory.’ Not yet released.
Ongoing conversations with Sholto Maud of Australia have been extremely helpful and very
encouraging.
CONTACT ME:
Garvin H. Boyle
Email: [email protected]
Web: http://orrery-software.webs.com/
Snail-mail: PO Box 1149, Richmond, Ontario, Canada, K0A 2Z0
Orrery Software B37 TpLab Design & User Doc
6 - Annex B – Examples of User Interface Panels
6.1 - Panel 01 – The Model
Note the small carets (upward and downward arrow heads) used to access the NetLogo “Command Centre” (circled in red).
Orrery Software B38 TpLab Design & User Doc
6.2 - Panel 02 – Advanced System Setup Parameters
.
Orrery Software B39 TpLab Design & User Doc
6.3 - Panel 03 – Debug and Data Collection Tools
Debug tools: (1) To toggle the debug feature on, press the ‘Toggle Debug’ button. Then (2) open the command centre using the little carots on the
left (not shown). Then (3) make the command centre vertical using the angled arrows on the right. Then (4) use one of these buttons to run a part of
the model.
CSV tools: OR (5) Press the button to dump data to CSV files from the seven selected graphs.
1
2 3
4
5
Orrery Software B40 TpLab Design & User Doc
6.4 - Panel 04 – Clock Face – Averages, 8 Compound Genes
This if from scenario 3 (Society with Tribal Bonds). The clock face shows that a dodger is emerging (large FL and FR) as the dominant phenotype,
but the dodger is slightly biased towards movement forwards and to the left (FL). It may eventually evolve to be a bent arrow. But, these are societal
averages across all tribes. For details about belief systems within a tribe, I would need to produce a ‘clock face’ diagram for each tribe.
Orrery Software B41 TpLab Design & User Doc
6.5 - Panel 05 – Population and Energy Graphics
Two greenish belief affiliations dominate the society (L0 - F and L1 - FR). However, when you check back to the [L] values in Panel 04, you see
that their belief system has been reduced to something ineffective. All tribes are equally endowed with wisdom at setup. In this case the yellow tribe
(T3) has dominated. A matter of luck!
Orrery Software B42 TpLab Design & User Doc
6.6 - Panel 06 – Energy Graphics
Nrg Levels of the seekers displays a damped oscillation about a longer-term steady-state value. Power (energy consumption) in this model is directly
related to population size and the parameter g-c2-epm-parm. The breakout by affiliations parallels the data for population breakout.
Orrery Software B43 TpLab Design & User Doc
6.7 - Panel 07 – Average Values – C1 Genes – By Component, By Gene #
In these graphs you can see the evolution of the society as encoded in the compound genes. The [G] and [L] components of the genes interact in
peculiar ways, the greenish [G] values dominating on the one hand, and the reddish [L] values dominating on the other. But the [P] values display
the signature of an emerging dodger phenotype.
Orrery Software B44 TpLab Design & User Doc
6.8 - Panel 08 – Power and EROI (Moving Averages)
The lifetime average EROIs of the individuals in the society, and of the society as a whole, remain close to 1. The power remains at maximum.
Orrery Software C45 TpLab Design & User Doc
6.9 - Panel 09 – Nrg & Age Histograms, and Causes of Death
The distribution of nrg among the seekers is the now-familiar pattern of the Maxwell-Boltzmann distribution. It is much harder to decide what the
distribution of ages is. Note that when the original population overshot, there was a die-off (the little red bump) and the synchrony of the births and
death was gradually broken as many generations of seekers died of old age and hunger thereafter.