high-level design and user documentation for tplab ... · user documentation for tplab...

48
HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

Upload: others

Post on 23-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

HIGH-LEVEL DESIGN and

USER DOCUMENTATION For TpLab

(TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

Page 2: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · 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

Page 3: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 4: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 5: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 6: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 7: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.

Page 8: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 9: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 10: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.

Page 11: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 12: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 13: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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,

Page 14: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.

Page 15: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 16: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.

Page 17: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.

Page 18: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 19: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 20: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.

Page 21: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 22: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.

Page 23: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.

Page 24: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 25: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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).

Page 26: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.

Page 27: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 28: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.

Page 29: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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!

Page 30: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.

Page 31: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 32: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 33: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.

Page 34: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 35: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 36: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 37: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 38: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.

Page 39: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 40: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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).

Page 41: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

Orrery Software B38 TpLab Design & User Doc

6.2 - Panel 02 – Advanced System Setup Parameters

.

Page 42: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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

Page 43: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.

Page 44: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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!

Page 45: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.

Page 46: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.

Page 47: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.

Page 48: HIGH-LEVEL DESIGN and USER DOCUMENTATION For TpLab ... · USER DOCUMENTATION For TpLab (TELEOLOGICAL PRUNING LABORATORY) Author: Garvin H Boyle Date: 11 March 2017 orrery-software.webs.com

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.