Posted by
Owen Densmore on
Apr 27, 2009; 6:42pm
URL: http://friam.383.s1.nabble.com/The-Unreasonable-Effectiveness-of-Mathematics-in-the-Natural-Sciences-tp2714601p2727848.html
Just to clarify .. the reason I found the article compelling is due to
my tendency towards mathematical formalism.
As an example, we spent quite a while looking at formalizing ABM and
Steve's wonderful "Complexity Babble". We took two different paths in
our wandering. One was to try to nail down good definitions for the
various terms in english sentences. The other was a set-theoretic
definition, reminiscent of Machine & Grammars in computer science. I
append some notes, not sure if they're the latest.
We seemed to be getting a bit more traction with the latter, at least
in my opinion. For example, both initial conditions, constraints, and
boundary conditions were more easily defined set-theoretically than in
words. This could easily be a bias amongst the participants.
-- Owen
A Agent Based Model (ABM) is a four-tuple (A,e,s0,S)
- A: set of "agent", which in turn consists of
- AV: a finite set of variables, which in turn have a bounded
range of values they can take on.
- AS: the Step Function for this agent
- E: an enumeration function which can visit, and optionally modify,
each agent.
- s0: the initial state of all agent variables
- S: the Step Function which uses E to call each Agent's AS step
function.
Notes on the above:
0 - We agreed to discontinue, for the present, use of concept names
that are easily confused with the same name in other sciences/
domains. If the name is compelling enough, preceding it with the work
Agent or Model would be OK. Ex: Agent or Model space to describe the
allowed values of the set of variables within an entity.
1 - We agreed on a simple definition of the modeling environment, even
removing the notion of patches I proposed earlier. An agent (or
entity) simply contains a set of variables, each of which has a set of
possible values. And there is a list which lets an enumeration of the
agents. Thus we've reduced the scope to:
- An agent has a set of variables, and each variable has a set of
allowed values.
- A way to enumerate the agents is provided. A list is fine.
- A procedure runs across the agents periodically.
- There apparently is no need for patches yet.
- Ditto for global variables
This minimalist definition will be extended only when it is necessary
to do so. (Thus we could have a model hierarchy similar to computing:
Finite State Automata, Push Down Automata, and Turing Machines, with
the parallel languages they recognize: Regular Expressions, Context
Free Languages, and Lambda Calculus.)
2 - The cartesian product of the set of agent variables forms the
Agent Space (or any other name we'd like). We may need to distinguish
between the full cartesian product, and a reduction of that set due to
the model's rules. This brought up the discussion of two reductions:
- Reductions brought about by the initial conditions of the model
(i.e. all agents at 0,0 or spread out with a uniform random
distribution over the range of x,y values.) These may create a set of
values within the full cartesian product that can not occur.
- Reductions brought about by boundary conditions. These may not
be an issue, they can simply be a reduction of the scope of one or
more variables, but this needs to be decided upon.
This gives us a reasonable set theoretic starting point: a set of
agents with a set of variables with a restricted set of allowed
values, along with a procedure that can enumerate over the agents to
step the agents forward in time.
============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at
http://www.friam.org