A Toy Model for the Abilene Paradox (0.9.0)
This version adds a Maslowian entropy to each agent decision based on Kendrick et. al. Rudimentary implementation assumes agents with lower scores are more likely to make decisions autonomously rather than sociotropically.
Release Notes
This version adds evolutionary dynamics for modeling of phenomena like Groupthink.
- Each agent has a ‘phenome’ which is a string like “AAABF”.
- A set of phenomes have a pre-defined utility for convenience e.g. AAABF -> 9.52, AAABS -> 8.62 etc. and a base utility for any combinations not defined e.g. ZXDXZ -> 0.0001
-
Each agent also has a ‘Maslowian’ value which is a list of numeric values e.g. [0.5, 0.6, 0.7]. This yields a hierarchical sum that describes how well agent needs are satisfied.
-
For each iteration, every agent acquires a mutation to their phenome ex. AAABF -> ABABF. Then they have 2 options:
- They can keep the mutation by a probability correlating with the utility value of this new combination and reversely correlating with sum of neighboring agent utilities.
- They can ‘attune’ by replacing the mutated portion from a neighboring agent by a probability inversely correlating to their Maslowian value. This is analogous to an actual cell undergoing apoptosis and getting replaced by a neighboring cell multiplying
- Suppose at the end of an iteration for this agent with ‘AAA’ phenome the neighbor phenomes are like [1 -> ‘AAA’, 2 -> ‘BAA’, 3 -> ‘BBA’, 4 -> ‘BBB’]
The attunement weights get updated by the degree of difference between phenomes like 1 -> 0.25, 2 -> 0.125 etc.
How to Run
- Define instance parameters in the application.conf file
- Compile project into a jar and run.
- Make sure to include dependency jars for Akka 2.5.23 and Scala 2.12.8
- Output will be a log of phenome distribution statistics.
Dependencies
- Requires Scala 2.12 and Akka 2.5 to run, as well as Java 1.8+
Associated Publications
A Toy Model for the Abilene Paradox 0.9.0
Submitted by
Victor Sahin
Published Jul 14, 2019
Last modified Jul 14, 2019
This version adds a Maslowian entropy to each agent decision based on Kendrick et. al. Rudimentary implementation assumes agents with lower scores are more likely to make decisions autonomously rather than sociotropically.
Release Notes
This version adds evolutionary dynamics for modeling of phenomena like Groupthink.
- Each agent has a ‘phenome’ which is a string like “AAABF”.
- A set of phenomes have a pre-defined utility for convenience e.g. AAABF -> 9.52, AAABS -> 8.62 etc. and a base utility for any combinations not defined e.g. ZXDXZ -> 0.0001
-
Each agent also has a ‘Maslowian’ value which is a list of numeric values e.g. [0.5, 0.6, 0.7]. This yields a hierarchical sum that describes how well agent needs are satisfied.
-
For each iteration, every agent acquires a mutation to their phenome ex. AAABF -> ABABF. Then they have 2 options:
- They can keep the mutation by a probability correlating with the utility value of this new combination and reversely correlating with sum of neighboring agent utilities.
- They can ‘attune’ by replacing the mutated portion from a neighboring agent by a probability inversely correlating to their Maslowian value. This is analogous to an actual cell undergoing apoptosis and getting replaced by a neighboring cell multiplying
- Suppose at the end of an iteration for this agent with ‘AAA’ phenome the neighbor phenomes are like [1 -> ‘AAA’, 2 -> ‘BAA’, 3 -> ‘BBA’, 4 -> ‘BBB’]
The attunement weights get updated by the degree of difference between phenomes like 1 -> 0.25, 2 -> 0.125 etc.
How to Run
- Define instance parameters in the application.conf file
- Compile project into a jar and run.
- Make sure to include dependency jars for Akka 2.5.23 and Scala 2.12.8
- Output will be a log of phenome distribution statistics.
Dependencies
- Requires Scala 2.12 and Akka 2.5 to run, as well as Java 1.8+