270 likes | 468 Views
A Mathematical Formalism for Agent-Based Modeling 22 nd Mini-Conference on Discrete Mathematics and Algorithms Clemson University October 11 , 2007. Reinhard Laubenbacher Virginia Bioinformatics Institute and Mathematics Department Virginia Tech.
E N D
A Mathematical Formalism for Agent-Based Modeling22nd Mini-Conference on Discrete Mathematics and AlgorithmsClemson UniversityOctober 11, 2007 Reinhard Laubenbacher Virginia Bioinformatics Institute and Mathematics Department Virginia Tech
Large-scale agent-based simulations present several challenges: • Code verification • Parallel computation • Analysis of dynamics • Porting to different platforms A rigorous formalism is needed to develop non-heuristic approaches to these challenges.
Existing formalisms for agent-based simulations: • Cellular automata • Hopfield networks • Communicating finite state machines • Petri nets
Polynomial dynamical systems Let k be a finite field and f1, … , fn k[x1,…,xn] f = (f1, … , fn) : kn → kn is an n-dimensional polynomial dynamical system over k. Natural generalization of Boolean networks. Fact: Every function kn → k can be represented by a polynomial, so all finite dynamical systems kn → kn are polynomial dynamical systems.
Example. k = F2. Let f1 = x1+x2+x3+x4, f2 = x1+x2, f3 = x1 +x3, f4 = x1+x4. The dependency graph
Sequential variable update: Let π=(a,b,c, …, x, y, z) be a permutation of 1, 2, … , n. Let fπ = fz◦fy ◦ … ◦fb ◦fa: kn → kn. Sequential update is motivated either by features in the system to be modeled or in the way a model simulation is computed. General case: Use words in 1, … ,n rather than permutations xxyaaaabzbz
Example k = F3 = {0, 1, 2}, n = 3 f1 = x1x22+x3, f2 = x2+x3, f3 = x12+x22. Dependency graph (wiring diagram)
Stochastic systems: • Choose random update order at each update step • Choose random local update function at each step Important for various applications, e.g., parallel computation, biochemical network models, etc.
Questions • How does the dependency graph topology affect dynamics? • How does the update order affect dynamics? • How does the function structure affect dynamics? • How does the probability distribution on update orders affect dynamics?
L A M R P B Model fM = (~R) ( ~G ) fA = E (L B) fB = M fR = ~A fL = P E fP = M Network topology ? Hard to determine (more information) Easier to find (less information) Network dynamics Phase space obtained using Discrete Visualizer of Dynamics (dvd.vbi.vt.edu)
Terminology - Positive-feedback network (PF): no odd parity directed cycles (negative feedback loops). - Distance to PFof a network: least number of changes in sign needed to make it PF (to get rid of negative feedback loops). Example: G1 G2 G0 G0 is a PF network; PF distance is 0. G1 is not a PF network; PF distance is 1. G2 is not a PF network; PF distance is 2. Distance to PF = “number of independent negative feedback loops”
Results (with A. Jarrah, E. Sontag, A. Veliz-Cuba) Histograms for the slopes (for n=5) 99.98% have negative slope for the number of limit cycles 99.99% have positive slope for the length of limit cycles As PF-distance increases: fewer and larger attractors
Definition. The update graph U(G) of a system with dependency graph G has a nodes the permutations of 1, … , n. Two permutations are connected by an edge if they differ by a transposition of two adjacent elements and the corresponding nodes in G are not connected by an edge.
Theorem (Barrett, Mortveit, Reidys). There is a 1-1 correspondence between the set of connected components of U(G) and the set of acyclic orientations of G. Theorem (B., M., R.). This provides a sharp upper bound (for Boolean systems) for the number of different systems one obtains by varying the update order.
Theorem. (Garcia, Jarrah, L.) A similar upper bound is also valid for update orders given by general words.
Nested canalyzing functions(joint work with A. Jarrah and B. Raposa, Physica D)
A non-canalyzing Boolean network f1 = x4 f2 = x4+x3 f3 = x2+x4 f4 = x2+x1+x3
A nested canalyzing Boolean network g1 = x4 g2 = x4*x3 g3 = x2*x4 g4 = x2*x1*x3
Corollary. The ideal of relations defining the class of nested canalyzing Boolean functions on n variables forms an affine toric variety over the algebraic closure of F2. The irreducible components correspond to the functions that are nested canalyzing with respect to a given variable ordering.
Theorem. The family of nested canalyzing functions is identical with the family of unate cascade functions.