A Mathematical Formalism for AgentBased Modeling 22nd Mini-Conference on Discrete Mathematics and Algorithms Clemson University October 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 Dynamics with parallel update: 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 Dynamics with sequential update (3 2 1 4): Example k = F3 = {0, 1, 2}, n = 3 f1 = x1x22+x3, f2 = x2+x3, f3 = x12+x22. Dependency graph (wiring diagram) http://dvd.vbi.vt.edu 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? Model fM = (~R) ( ~G ) fA = E (L B) fB = M fR = ~A fL = P E fP = M Hard to determine (more information) L Network topology B M ? A P R 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 PF of a network: least number of changes in sign needed to make it PF (to get rid of negative feedback loops). Example: G0 G1 G2 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) Nested canalyzing functions 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 Polynomial form of nested canalyzing Boolean functions The vector space of Boolean polynomial functions The variety of nested canalyzing functions 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.