Skip to content

Instantly share code, notes, and snippets.

@kenwebb
Last active April 5, 2019 16:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kenwebb/627cfe51bb52be9f56cfa8c9c9ccaef6 to your computer and use it in GitHub Desktop.
Save kenwebb/627cfe51bb52be9f56cfa8c9c9ccaef6 to your computer and use it in GitHub Desktop.
ABM + Math
<?xml version="1.0" encoding="UTF-8"?>
<!--Xholon Workbook http://www.primordion.com/Xholon/gwt/ MIT License, Copyright (C) Ken Webb, Fri Apr 05 2019 12:11:03 GMT-0400 (Eastern Daylight Time)-->
<XholonWorkbook>
<Notes><![CDATA[
Xholon
------
Title: ABM + Math
Description:
Url: http://www.primordion.com/Xholon/gwt/
InternalName: 627cfe51bb52be9f56cfa8c9c9ccaef6
Keywords:
My Notes
--------
April 2, 2019
I've downloaded some of the articles to ~/Documents/ABM+Math
(1) search: agent based math
(2) https://www2.econ.iastate.edu/tesfatsi/ABMRightMath.PBLTWP.pdf
Agent-Based Modeling: The Right Mathematics for theSocial Sciences?
Paul L. Borrill, Leigh Tesfatsion
2010
(3) https://arxiv.org/pdf/0801.0249.pdf
A MATHEMATICAL FORMALISM FOR AGENT-BASED MODELING
REINHARD LAUBENBACHER, ABDUL S. JARRAH, HENNING MORTVEIT,AND S. S. RAVI
2007
Abstract.
Many complex systems can be modeled as multiagent systems in which the constituent entities (agents) interact with each other.
The global dynamics of such a system is determined by the nature of the local interactions among the agents.
Since it is difficult to formally analyzecomplex multiagent systems, they are often studied throughcomputer simulations.
While computersimulations can be very useful, results obtained through simulations do not formally validate theobserved behavior.
Thus, there is a need for a mathematical framework which one can use to represent multiagent systems and formally establish their properties.
This work contains a briefexposition of some known mathematical frameworks that can model multiagent systems.
The focus is on one such framework, namely that of finite dynamical systems.
Both, deterministicand stochastic versions of this framework are discussed.
The paper contains a sampling of the mathematical results from the literature to show how finite dynamical systems can be used to carry out
a rigorous study of the properties of multiagent systems and it is shown how the framework can also serve as a universal model for computation.
(4) http://www2.econ.iastate.edu/tesfatsi/IRWProjectHome.htm
(5) https://arxiv.org/pdf/1006.0408.pdf
Mathematical Framework for Agent Based Models of Complex Biological Networks
Franziska Hinkelmanna, David Murrugarraa, Abdul Salam Jarrahb, Reinhard Laubenbacher
(6) https://www2.econ.iastate.edu/tesfatsi/ODDProtocolABM.GrimmEtAl.2006.pdf
A standard protocol for describing individual-based andagent-based models
Volker Grimm, et al
2006
ODD
abstract
Simulation models that describe autonomous individual organisms (individual basedmodels, IBM) or agents (agent-based models, ABM) have become a widely used tool,
not only in ecology, but also in many other disciplines dealing with complex systems made up of autonomous entities.
However, there is no standard protocol for describing such simulation models, which can make them difficult to understand and to duplicate.
This paper presents a proposed standard protocol, ODD, for describing IBMs and ABMs, developed and tested by 28 modellers who cover a wide range of fields within ecology.
This protocol consists of three blocks (Overview, Design concepts, and Details), which are subdivided into seven elements:
Purpose, State variables and scales, Process overview and scheduling, Design concepts, Initialization, Input, and Submodels.
We explain which aspects of a model should be described in each element, and we present an example to illustrate the protocol in use.
In addition, 19 examples are available in an Online Appendix.
We consider ODD as a first step for establishing a more detailed common format of the description of IBMs and ABMs.
Once initiated, the protocol will hopefully evolve as it becomes used by a sufficiently large proportion of modellers.
(7) https://mbi.osu.edu/vod/mbi-media/20130919-03/materials/ODD.pdf
ODD, slides, 2013?
(8) https://www2.econ.iastate.edu/tesfatsi/ODDProtocolReviewAndFirstUpdate.GrimmEtAl2010.pdf
The ODD protocol: A review and first update
Volker Grimm, et al
2010
(9) https://plato.stanford.edu/entries/mathematics-constructive/
Constructive Mathematics
First published Tue Nov 18, 1997; substantive revision Wed May 30, 2018
Constructive mathematics is distinguished from its traditional counterpart, classical mathematics, by the strict interpretation of the phrase “there exists” as “we can construct”.
In order to work constructively, we need to re-interpret not only the existential quantifier but all the logical connectives and quantifiers as instructions
on how to construct a proof of the statement involving these logical expressions.
In this article we introduce modern constructive mathematics based on the BHK-interpretation of the logical connectives and quantifiers.
We discuss four major varieties of constructive mathematics, with particular emphasis on the two varieties associated with Errett Bishop and Per Martin-Löf,
which can be regarded as minimal constructive systems.
(10) http://www1.maths.leeds.ac.uk/~rathjen/book.pdf
(11) http://math.andrej.com/data/c2c.pdf
Realizability as the Connection betweenComputable and Constructive Mathematics
Andrej Bauer, Department of Mathematics and Physics, University of Ljubljana
October 16, 2005
(12) https://en.wikipedia.org/wiki/Constructivism_(philosophy_of_mathematics)
In the philosophy of mathematics, constructivism asserts that it is necessary to find (or "construct") a mathematical object to prove that it exists. In standard mathematics, one can prove the existence of a mathematical object without "finding" that object explicitly, by assuming its non-existence and then deriving a contradiction from that assumption. This proof by contradiction is not constructively valid. The constructive viewpoint involves a verificational interpretation of the existential quantifier, which is at odds with its classical interpretation.
There are many forms of constructivism.[1] These include the program of intuitionism founded by Brouwer, the finitism of Hilbert and Bernays, the constructive recursive mathematics of Shanin and Markov, and Bishop's program of constructive analysis. Constructivism also includes the study of constructive set theories such as CZF and the study of topos theory.
Constructivism is often identified with intuitionism, although intuitionism is only one constructivist program. Intuitionism maintains that the foundations of mathematics lie in the individual mathematician's intuition, thereby making mathematics into an intrinsically subjective activity.[2] Other forms of constructivism are not based on this viewpoint of intuition, and are compatible with an objective viewpoint on mathematics.
Much constructive mathematics uses intuitionistic logic, which is essentially classical logic without the law of the excluded middle. This law states that, for any proposition, either that proposition is true or its negation is. This is not to say that the law of the excluded middle is denied entirely; special cases of the law will be provable. It is just that the general law is not assumed as an axiom. The law of non-contradiction (which states that contradictory statements cannot both at the same time be true) is still valid.
(13) http://www.math.canterbury.ac.nz/php/groups/cm/faq/
Constructive Mathematics
What is constructive mathematics?
A general answer to this question is that constructive mathematics is mathematics which, at least in principle, can be implemented on a computer.
There are at least two ways of developing mathematics constructively.
Why chose CM at all? Why would a constructive approach interest people?
Why did I choose to do CM? Because I found it interesting, and because the idea of actually finding objects, instead of merely showing that they could not possibly fail to exist, was one that appealed to me.
When I first came across Errett Bishop’s book, in 1968, I had been working on von Neumann algebra theory as a graduate student, and had been vaguely—and certainly inarticulately—dissatisfied with the prevailing style of existence proofs in my reading in that subject.
Such proofs typically either proceeded by assuming the non–existence of the desired object and deducing a contradiction, or else applying Zorn’s lemma to ‘construct’ a maximal family of projections with some property or other.
Somehow, beautiful though those proofs were, they left me with a feeling that I had been cheated.
What did those objects whose existence was proved really look like? How could they be described explicitly? It was only on reading Errett’s book that I understood what was bothering me and that it was possible to give satisfactory answers to those questions.
Now, don't get me wrong. Just because I find CM particularly appealing it is not the case that I dislike classical (that is, traditional) mathematics, let alone that I am advocating that classical mathematics is somehow not a proper activity for mathematicians to be engaged in. I find most classical mathematics (at least, what I can understand of it) very interesting and a worthy scientific/cultural pursuit. However, if, as I am, you are interested in computability/constructivity within pure mathematics (as distinct from, say, numerical analysis), then you should seriously investigate constructive mathematics. By working constructively—that is, with intuitionistic logic—you will learn to appreciate the distinction between idealistic existence (the impossibility of non–existence) and constructive existence. This distinction is one that, in my view, should be heeded and appreciated far more than it is. As Bishop wrote,
"Meaningful distinctions deserve to be maintained" [6]
If, however, you are not interested in questions of computability, then you should stick to classical logic.
There are even areas of mathematics where the content is so highly nonconstructive that it would make little sense to give up classical logic;
the higher reaches of modern set theory would seem to be just such an area.
To summarise: CM should interest people who would like to understand better the distinction between classical and constructive existence,
and who are interested in pushing beyond the former to a real construction of the object whose existence is asserted.
Is program extraction from constructive proofs a real thing?
Yes, it is. Research groups in Japan, the States, the United Kingdom, Sweden and Germany have been active in this area for many years.
A constructive proof of (let's use this one again) Picard‘s Theorem PTs really does contain an extractable algorithm for computing the point z with the properties stated in the conclusion of that theorem.
Moreover, the proof is itself a proof that the program is correct—that is, meets its specifications.
So the constructive result gives us two things for the price of one: an algorithm and a proof of its correctness. That's a real bargain!
(14) https://www.cs.tufts.edu/~nr/cs257/archive/per-martin-lof/constructive-math.pdf
(15) http://www.mathematik.uni-muenchen.de/~schwicht/papers/uppsala05/uppsala05.pdf
Program Extraction in Constructive Analysis
Helmut Schwichtenberg
Abstract
We sketch a development of constructive analysis in Bishop’s style,with special emphasis on low type-level witnesses (using separability ofthe reals).
The goal is to set up things in such a way that realistically executable programs can be extracted from proofs.
This is carriedout for (1) the Intermediate Value Theorem and (2) the existence of acontinuous inverse to a monotonically increasing continuous function.
Using the Minlog proof assistant, the proofs leading to the Interme-diate Value Theorem are formalized and realizing terms extracted.
Itturns out that evaluating these terms is a reasonably fast algorithm tocompute, say, approximations of√2.
(16) http://www.mathematik.uni-muenchen.de/~schwicht/papers/nested13/main.pdf
Program Extraction from Nested Definitions
Kenji Miyamoto1, Fredrik Nordvall Forsberg, and Helmut Schwichtenberg
Abstract.
Minlog is a proof assistant which automatically extractscomputational content in an extension of G ̈odel’s T from formalized proofs.
We report on extending Minlog to deal with predicates defined using aparticular combination of induction and coinduction, via so-called nesteddefinitions.
In order to increase the efficiency of the extracted programs, wehave also implemented a feature to translate terms into Haskell programs.
To illustrate our theory and implementation, a formalisation of a theoryof uniformly continuous functions due to Berger is presented.
(17) http://www.mathematik.uni-muenchen.de/~logik/minlog/index.php
(18) https://www.eolss.net/Sample-Chapters/C02/E6-01-05-02.pdf
PROOF THEORY AND CONSTRUCTIVE MATHEMATICS, Anne S. Troelstra
Summary
An introduction to the constructive point of view in the foundations of mathematics, in particular intuitionism due to L.E.J. Brouwer,
constructive recursive mathematics due to A.A. Markov, and Bishop’s constructive mathematics, is provided in this chapter.
The constructive interpretation and formalization of logic is described.
For constructive (intuitionistic) arithmetic, Kleene’s realizability interpretation is given;
this provides an example of the possibility of a constructive mathematical practice, which diverges from classical mathematics.
The crucial notion in intuitionistic analysis, choice sequence, is briefly described and some principles, which are valid for choice sequences, are discussed.
The second half of the article deals with some aspects of proof theory, i.e. the study of formal proofs as combinatorial objects.
Gentzen’s fundamental contributions are outlined: his introduction of the so-called Gentzen systems,
which use sequents instead of formulas and his result on first-order arithmetic showing that (suitably formalized) transfinite induction
up to the ordinal 0ε cannot be proved in first-order arithmetic.
Constructivism
Since the beginning of the twentieth century several positions w.r.t. the foundations of mathematics have been formulated which might be said to be versions of constructivism.
Typically, a constructivist view demands of mathematics some form of explicitness of the objects studied,
they must be concretely representable, or explicitly definable, or capable of being viewed as mental constructions.
We distinguish five variants of constructivism in this chapter:
finitism, predicativism, intuitionism (INT), constructive recursive mathematics (CRM), and Bishop’s constructive mathematics (BCM).
We will be brief about finitism and predicativism, and concentrate on the other three instead.
(19) http://joelgrus.com/2013/08/26/constructive-mathematics-in-f-and-clojure/
Constructive Mathematics in F# (and Clojure)
For as long as I can remember I've dreamed of reimplementing the entirety of mathematics from scratch.
And now that I've finished the "Wheel of Time" series I have a little bit of extra time on my hands each day, which has allowed me to take baby steps toward my dream.
(20) https://github.com/joelgrus
(21) search: abm category theory
(22) https://www2.econ.iastate.edu/tesfatsi/CategoryTheoryforABMAndSim.KALloyd2010.Slides.pdf
) http://wattsys.com/Content/Lloyd%20-%20SwarmFest%202010%20Pres.pdf
Category Theory for Agent-based Modeling & Simulation
Kenneth A. Lloyd
it references: Blute, Scott –Category Theory for Linear Logicians
(23) http://wattsys.com/publications/
) http://wattsys.com/CategoryTheory.htm
) http://wattsys.com/Content/Lloyd%20-%20Swarmfest%202010%20Paper.pdf
A Category-Theoretic Approach to Agent-basedModeling and Simulation
Kenneth A. Lloyd, Jr.
Watt Systems Technologies Inc.
Albuquerque, NM USA
kenneth.lloyd@wattsys.com
Proposed 30 min. presentation for:Swarmfest 2010, Santa Fe, NM
Abstract
Category Theory represents a robust mathematical formalism for the study of systems, includingsystem elements, coupling, structure, behavior and morphism1.
These properties are also funda-mental in the study and practice of Agent-Based Modeling and Simulation (ABMS).
The purpose of this presentation is to provide a very elementary, introductory overview of theapplication of a category-theoretic approach to ABMS.
This approach is applied to a real-worldbiomedical problem domain involving emergent properties of inter-cellular interaction in SystemicInflammatory Response Syndrome.
The objective is to raise awareness of the value of this approach and to demonstrate the represen-tation of the universal properties of this methodology.
(24) http://www.wattsys.com/
Watt Systems Technologies, Inc. is leading the way in software for modeling and visualizing complex, control and dynamical systems.
We also offer tools for object-oriented software analysis, design and development along with adaptive enterprise systems integration frameworks based upon
the Unified Modeling Language (UML™) and the Systems Modeling Language (SysML™).
KSW it doesn't seeem to be an active site
(25) https://en.wikipedia.org/wiki/Roberto_Mangabeira_Unger
Mathematics and the one real, time-drenched world
One consequence of these positions that Unger points to is the revision of the concept and function of mathematics. If there is only one world drenched in time through and through, then mathematics cannot be a timeless expression of multiple universes that captures reality. Rather, Unger argues that mathematics is a means of analyzing the world removed of time and phenomenal distinction. By emptying the world of time and space it is able to better focus on one aspect of reality: the recurrence of certain ways in which pieces of the world relate to other pieces. Its subject matter are the structured wholes and bundles of relations, which we see outside mathematics only as embodied in the time-bound particulars of the manifest world. In this way, mathematics extends our problem solving powers as an extension of human insight, but it is not a part of the world.
(26) https://arxiv.org/pdf/1506.03733.pdf
A naturalist account of the limited, and hence reasonable,effectiveness of mathematics in physics
Lee Smolin
The reasonable effectiveness of mathematics in mathematics
A satisfactory view of mathematics must also explain the unreasonable effectiveness ofmathematics in mathematics itself.
Why do developments in the elaboration of one coreconcept-say number, so often turn out to yield insight into another-say geometry?
Whydoes algebra turn out to be so powerful a tool in the study of topology?
Why do thedifferent division algebras organize the classification ofthe possible symmetry groups ofcontinuous geometries?
If mathematics is just the free exploration of arbitrary ideas andaxiom systems, why do these explorations so often intersect, and why are these intersec-tions so productive of insight?
A short answer is that the contents of mathematics is far fromarbitrary-while an in-finite number of mathematical objects might potentially be envoked-
the few that proveinteresting develop a very small number of core concepts.
These core concepts are notarbitrary-they are elaborations of structures which are discovered during the study ofnature.
There are four of these core concepts: number, geometry, algebra and logic.
They eachcapture a key aspect of the world and our interaction with it.
Number captures the factthat the world contains distinguishable objects which can be counted.
Geometry capturesthe fact that objects are found to take up space and form shapes.
Algebra captures thefact that objects and number can be transformed, by processes carried out in time.
Andlogic is the distillation of the fact that we can reason aboutthe first three concepts, and sodeduce predictions for future observations from properties of past observations.
The bulk of mathematics consists of elaborations of these four core concepts.
In thecourse of these elaborations we often find developments of one bear on another.
Theseintersections tell us that these concepts go back to nature,which is a unity.
For exam-ple, the elaboration of the concepts of space and number often intersect because spaceand number are both features of nature and hence are highly inter-related from the start.
Hence, the discovery that a relation among numbers represents or is isomorphic to a re-lation amongst another strand of mathematics, is often a discovery of a relation that is atrue property of the one world.
There is no necessity to limit the study of mathematical systems to those that elaborate these four core concepts.
But those that do display a vast richness of consequences andinterconnections exactly because they are elaborations ofcore concepts that come fromnature.
One may then even define mathematics as the study of systems ofevoked relation-ships inspired by observations of nature.
Mathematics is then a system of objective facts,that is nonetheless timebound and open to unpredictable developments in the future
]]></Notes>
<_-.XholonClass>
<!-- domain objects -->
<PhysicalSystem/>
<Block/>
<Brick/>
<!-- quantities -->
<Height superClass="Quantity"/>
</_-.XholonClass>
<xholonClassDetails>
<Block>
<port name="height" connector="Height"/>
</Block>
</xholonClassDetails>
<PhysicalSystem>
<Block>
<Height>0.1 m</Height>
</Block>
<Brick multiplicity="2"/>
</PhysicalSystem>
<Blockbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
var a = 123;
var b = 456;
var c = a * b;
if (console) {
console.log(c);
}
//# sourceURL=Blockbehavior.js
]]></Blockbehavior>
<Heightbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
var myHeight, testing;
var beh = {
postConfigure: function() {
testing = Math.floor(Math.random() * 10);
myHeight = this.cnode.parent();
},
act: function() {
myHeight.println(this.toString());
},
toString: function() {
return "testing:" + testing;
}
}
//# sourceURL=Heightbehavior.js
]]></Heightbehavior>
<Brickbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
$wnd.xh.Brickbehavior = function Brickbehavior() {}
$wnd.xh.Brickbehavior.prototype.postConfigure = function() {
this.brick = this.cnode.parent();
this.iam = " red brick";
};
$wnd.xh.Brickbehavior.prototype.act = function() {
this.brick.println("I am a" + this.iam);
};
//# sourceURL=Brickbehavior.js
]]></Brickbehavior>
<Brickbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
console.log("I'm another brick behavior");
]]></Brickbehavior>
<SvgClient><Attribute_String roleName="svgUri"><![CDATA[data:image/svg+xml,
<svg width="100" height="50" xmlns="http://www.w3.org/2000/svg">
<g>
<title>Block</title>
<rect id="PhysicalSystem/Block" fill="#98FB98" height="50" width="50" x="25" y="0"/>
<g>
<title>Height</title>
<rect id="PhysicalSystem/Block/Height" fill="#6AB06A" height="50" width="10" x="80" y="0"/>
</g>
</g>
</svg>
]]></Attribute_String><Attribute_String roleName="setup">${MODELNAME_DEFAULT},${SVGURI_DEFAULT}</Attribute_String></SvgClient>
</XholonWorkbook>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment