Skip to content

Instantly share code, notes, and snippets.

@benjamin-rood
Created March 7, 2017 13:05
Show Gist options
  • Save benjamin-rood/dde26195d64d131befb6f6ebe96bcbdb to your computer and use it in GitHub Desktop.
Save benjamin-rood/dde26195d64d131befb6f6ebe96bcbdb to your computer and use it in GitHub Desktop.
Environment Definition
#Definition of the ABM Environment
Consider the set of all real numbers within $[\,-1, \,+1\,]$.$\ $ Let $\,F\ $ be the cartesian product of such a set with itself, *s.t.* individual elements in $\,F\,$ are two-dimensional points, or a cartesian *pair* within a subset of $R^2$.
$$\therefore \ F\ = \ \{\ (x,y) \in\, \mathbb{R}^{2} \, \lvert\ (\,-1 \leq x \leq 1 \,)\ \wedge\,(\,-1 \leq y \leq 1 \,)\ \}$$
Let $\ E\ $ be the symbolic representation of our modelling environment, such that $E$ encompasses the following:
* A vector space $\ V\ $ over field $\ F$.
* Variable extensions on the field $F$ which act as "environmental" describers *(to define the properties of the medium the agents exist in)* and modifiers *(to be used to model changes to the world state)*.[^env-mod]
$ $
*Note: For the purposes of the initial research goals, it is assumed that all agents exist in a perfect, static environment, with no variations. Improvement or regression of agent abilities or characteristics are entirely independent of environmental factors.*
The range of $F$ within $E$ will be sufficient to act as a looping "petrie dish" to observe the behaviour of the two populations of agents, with the origin $\,(0,0)\,$ as the absolute centre of the projection of the environment.
Rather than agents 'bouncing' or 'avoiding' the boundaries of $E$, values $(x,y) \in E\,$ **wrap** when exceeding the limits of the surface area, *s.t.* the field behaves spherical surface.
$\ \forall \ a \in [-1, +1]\,$ which defines the range of $\,F$,$\,$ we have three cases:
Case $\ 1 < a \ :$
: $ a \longmapsto (a-2)$
<br>
Case $\ -1 < a < 1 \ :$
: $a = a$
<br>
Case $\ a < -1 :$
: $a \longmapsto (a+2)$
*For example, if an agent moves from position $\,(-0.9, 0.2)\,$ down by 0.3 it would map from $\,(-1.2, 0.2)\,$ to $\,(0.8, 0.2)$; similarly, if an agent moves from position $\,(1.0, 0.95)$ to $(1.13, 1.025)\,$ the resulting position would be $\,(-0.87,-0.975)$*
![planar drawing of E](http://i.imgur.com/WPBefKn.png)
<CENTER><small>*Planar projection drawing of $E$ with various Colour Polymorphic Prey agents*</small></CENTER><br>
![enter image description here](http://i.imgur.com/ONlX5W7.jpg)
<CENTER><small>*Simplistic partitioning of $E$ into $S$ sectors to reduce search space*</small></CENTER><br>
[^env-mod]: <small> $ $For example, shifts in the body of water/medium of $E$ like cyclic waves coming in and out according to tidal patterns, which would dynamically affect agent movement as the body of water shifted; or temperature variations in the water which could affect 'food' abundance.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment