chemart / rbn

View on GitHub

Random Boolean Networks (RBN) and RBN World — Kauffman's random Boolean networks, read as chemistry two different ways. In the first, each node's on and off states are species and a truth-table row becomes a reaction in which the inputs catalyse a switch of the outp…

files / chemart.yaml · 13.3 KB · at c73d16bfbfbb Raw
hub:
  repo_type: generator
  builtin: rbn
  tags:
  - banzhaf-yamamoto
chemistries:
- id: rbn
  name: Random Boolean Networks (RBN) and RBN World
  intuition: 'Kauffman''s random Boolean networks, read as chemistry two different ways. In the first,
    each node''s on and off states are species and a truth-table row becomes a reaction in which the inputs
    catalyse a switch of the output; attractors of the network are then interpreted as cell types, and
    tuning the number of inputs moves the system between frozen, critical and chaotic. In RBN World the
    network itself is an atom: two such atoms bond when their dynamics are compatible, so molecules are
    trees of Boolean networks.

    '
  origin: 'Kauffman, 1969; RBN World: Faulconbridge, Stepney, Miller & Caves, 2009-2011'
  book: 18.4.2; subsymbolic AC 10.7.3
  refs:
  - '[445]'
  - '[243]'
  - '[348]'
  - '[447]'
  - '[591]'
  - '[263]'
  - '[264]'
  - '[291]'
  family: evolutionary-dynamics
  kind: generator
  constructive: false
  S:
    repr: 'RBN: two species per node, x{i}_0 and x{i}_1 (node i off / on). RBN World: an atom is a bonding
      RBN (bRBN: an RBN plus 2 bonding sites); a molecule is a tree of bRBNs joined at bonding sites,
      and each tree level carries its own node states'
    definition: implicit
    notes: RBN World species are the molecules observed in a run; their structure string gives the tree,
      the site-level bonds and the states at every level
  R:
    definition: implicit
    arity: 2
    scheme: 'RBN: s_i(t+1) = f_i(inputs of i). Truth-table row r of node i is the reaction  x{j1}_{b1}
      + ... + x{jk}_{bk} + x{i}_{1-f_i(r)} -> x{j1}_{b1} + ... + x{i}_{f_i(r)} (the inputs catalyse the
      switch). RBN World: two molecules collide at a random empty site each; a bond forms between the
      smallest bRBNs whose emergent attractor property satisfies the bonding rule, before and after the
      sites are filled; then every bond that no longer satisfies it breaks, e.g. A + B -> (A-B), A1 +
      B -> A2 + B, (A-B) + C -> A + B + C

      '
  A:
    reactor:
    - maximally-parallel
    - well-stirred-multiset
    dilution: none
    notes: 'RBN: synchronous update of every node (book); the analysis in extras is of that map. RBN World:
      iterative mixing of random pairs (Faulconbridge thesis 8.2.2.1), atoms conserved'
  params:
  - name: model
    type: enum
    default: rbn
    choices:
    - rbn
    - rbn-world
    role: structural
    meaning: 'rbn: Kauffman''s random Boolean network written as reactions (book 18.4.2); rbn-world: the
      sub-symbolic chemistry of bonding RBNs (observed reactions of a collision run)'
  - name: N
    type: int
    default: 10
    min: 1
    max: 16
    range: RBN World papers use N in {5, 10, 15, 20, 25}; the thesis's evolved atoms use N = 10
    role: structural
    meaning: 'rbn: number of nodes (attractors are enumerated over all 2^N states); rbn-world: Boolean
      nodes per atom'
  - name: K
    type: int
    default: 2
    min: 1
    max: 12
    range: 1 <= K <= N; K = 1 frozen, K = 2 critical ('edge of chaos') at function_bias 0.5, K = N chaotic;
      RBN World uses K in {2, 3}
    role: structural
    meaning: inputs per node, or the mean in-degree when K_distribution is not constant
  - name: K_distribution
    type: enum
    default: constant
    choices:
    - constant
    - poisson
    - power-law
    role: structural
    meaning: 'rbn only: in-degrees fixed at K, 1 + Poisson(K - 1) capped at N, or a power law P(k) ~ k^-gamma
      on 1..N with mean K (scale-free GRNs, Fox & Hill)'
  - name: function_bias
    type: float
    default: 0.5
    min: 0
    max: 1
    role: structural
    meaning: probability that a truth-table output is 1; the annealed sensitivity is 2 K p (1 - p)
  - name: bonding_rule
    type: enum
    default: proportion-sum-one
    choices:
    - proportion-sum-one
    - total-sum-zero
    - cycle-length-equal
    role: structural
    meaning: 'rbn-world only: emergent property and criterion that decide bonds. proportion-sum-one and
      total-sum-zero passed all low-level tests (ALife XII); cycle-length-equal is the original ECAL 2009
      chemistry'
  - name: elements
    type: int
    default: 5
    min: 1
    max: 26
    range: Faulkner et al. (2018) seed the reactor with five atom types
    role: structural
    meaning: 'rbn-world only: number of random atom types (bRBNs), named A, B, C, ...'
  - name: copies
    type: int
    default: 20
    min: 1
    max: 1000
    range: the thesis uses 1000 copies of each element
    role: population
    meaning: 'rbn-world only: initial molecules of each element'
  - name: collisions
    type: int
    default: 1000
    min: 0
    max: 100000
    role: population
    meaning: 'rbn-world only: random pairwise collisions simulated; the observed network grows with it'
  provides:
  - topology
  - stoichiometry
  - catalysts
  - initial-state
  - mass-conservation
  - sequence-structure-function
  fidelity: reconstructed
  sources:
  - 'Banzhaf & Yamamoto (2015), section 18.4.2: the classic RBN (N nodes, K inputs with 1 <= K <= N, random
    functions, synchronous update, distributions of K with mean K)'
  - 'Faulconbridge, A. (2011). RBN-World: sub-symbolic artificial chemistry for artificial life. PhD thesis,
    University of York. Chapters 5-8 (bRBN construction, reaction pseudocode figs. 6.1.1-6.1.4, example
    reactions 6.2.1-6.2.8, bonding properties and criteria, reactor). https://etheses.whiterose.ac.uk/2061/'
  - 'Faulconbridge, A., Stepney, S., Miller, J. F. & Caves, L. (2010). RBN-World: the hunt for a rich
    AChem. ALife XII, 261-268 (book ref [263]). Tables 1-5. https://www-users.york.ac.uk/~ss44/bib/ss/nonstd/alife12_rbn.pdf'
  - Faulkner, P., Krastev, M., Sebald, A. & Stepney, S. (2018). Sub-symbolic artificial chemistries. In
    Inspired by Nature, Springer. Section 5 (bRBN-World). https://www-users.york.ac.uk/~ss44/bib/ss/nonstd/ssachem2018.pdf
  - 'Drossel, B. (2008). Random Boolean networks (book ref [243]), eq. 10: sensitivity lambda = 2 K p
    (1 - p); K = N networks are chaotic. https://arxiv.org/abs/0706.3351'
  - 'Aldana, M. (2003). Boolean dynamics of networks with scale-free topology. Physica D 185:45-66: power-law
    in-degrees P(k) = k^-gamma / zeta(gamma). https://arxiv.org/abs/cond-mat/0209571'
  decisions:
  - 'Two models under one id: model=rbn is the book''s RBN; model=rbn-world is RBN World, which the book
    names in one paragraph and is reconstructed from the thesis, the ALife XII paper and Faulkner et al.
    (2018).'
  - 'RBN network form: node i has species x{i}_0 and x{i}_1 (presence/absence, as in organization-computing),
    and each truth-table row whose output differs from node i''s state in that row is one reaction in
    which the row''s input species catalyse the switch. Rows where node i already shows the output would
    be null reactions and are omitted. No rates: the model is Boolean.'
  - 'A synchronous update of all nodes is not a reaction network. With one molecule per node the reactions
    give node-by-node (asynchronous) dynamics, so the book''s synchronous map is analysed in extras.analysis:
    attractors (length, basin size, cycle states, listing capped at 64 states), the random initial state''s
    attractor and transient, inputs, functions, in-degrees, average and annealed sensitivity. N is capped
    at 16 because attractors are enumerated over all 2^N states.'
  - 'Inputs are K distinct nodes and may include the node itself: the book allows 1 <= K <= N, and Faulkner
    et al. (2018) use ''no duplicates, possibly itself''. Kauffman (1969) excluded self-inputs and the
    thesis allowed duplicates. Truth-table row r reads the inputs as bits with the first input highest
    (thesis table 5.2.1).'
  - function_bias is not in the book's text. It is the biased-function ensemble of Drossel [243], where
    the order/chaos boundary is 2 K p (1 - p) = 1. The book's 'uniformly random function' is function_bias
    = 0.5.
  - 'K distributions: the book asks for distributions with mean K, and Fox & Hill [291] compare delta,
    Poisson and power-law in-degrees (only their abstract was accessible). poisson: k = 1 + Poisson(K
    - 1), capped at N, which keeps k >= 1 as the book requires. power-law: P(k) ~ k^-gamma truncated to
    1..N (Aldana''s form), with gamma solved so the mean is K. That needs K < (N + 1) / 2, otherwise ValueError;
    K = 1 gives all k = 1. Only in-degrees vary; inputs are still drawn uniformly.'
  - 'v1 parameters dropped: update (the book specifies synchronous update, and the reaction network is
    the same for any update scheme) and bonding_sites (b = 2 in every RBN World source).'
  - 'bRBN atoms (thesis 5.3.1; Faulkner et al. 5.1.2): a random N-node, K-input RBN plus two bonding nodes,
    each replacing one input of a random node. Not stated: the two sites take distinct input slots. Node
    initial states are random with probability 0.5 (thesis 5.2.1) and shared by every copy of an element.
    Atoms are settled onto their attractor before entering the reactor, so the first species of each element
    is its settled state A.1.'
  - 'Bonding rules: only the three published chemistries are offered. proportion/sum one (thesis ch. 8
    and Faulkner et al. 2018, the default) and total/sum zero are the only property/criterion pairs that
    passed all low-level tests (ALife XII table 5); cycle length/equal is the original ECAL 2009 choice,
    taken as exact equality (''bonds only exist between bRBNs that have the same cycle length'', thesis
    ch. 6). Sum tolerance is 0.001. The other combinations of ALife XII table 3 (equal/similar/different
    on flashing, flashes, magnitude, etc.) are not offered: they normalise by a property range p_min..p_max
    whose value for composites, which differ in size and cycle length, is not specified. cycle_properties()
    still computes all six properties.'
  - 'Property evaluation (thesis 6.2.1, 6.2.6): a bRBN is run from its stored state until a state repeats;
    that first repeated state becomes the stored state, and the property is taken over the cycle. Empty
    sites read 0, filled sites read 1, and inside a composite a bond becomes reciprocal inputs between
    the two nodes fed by the bonded sites (thesis 5.3.3). Every tree level stores its own node states.
    Proportion and total count the N nodes of each atom in the bRBN, bonding nodes excluded. If no attractor
    is found within 65536 steps the property is undefined and the rule fails.'
  - 'Reaction (thesis figs. 6.1.1-6.1.4): pick a random empty site on each molecule. Test the atoms holding
    them, then climb to the larger enclosing composite (both when sizes are equal) until the rule holds
    or no larger composite is left. Fill the two sites and retest; if the rule fails, empty them again,
    keeping the changed states (A1 + B -> A2 + B). Otherwise zip the two trees level by level (Faulkner
    et al. fig. 12). Finally break every bond whose two child bRBNs fail the rule, repeating until none
    breaks; split disconnected composites and remove single-child ones. A new composite takes its states
    from the nodes it replaces, and a split one inherits them (not stated).'
  - Faulkner et al. (2018)'s temperature analogue is described as preliminary and is not implemented.
    Linking and decomposition succeed with probability 1, as in all the earlier RBN World work.
  - 'Reactor: iterative mixing (thesis fig. 8.2.1) of copies molecules per element for the given number
    of collisions, recording each distinct non-elastic reaction with its count (status observed). The
    thesis''s Gillespie-like timing and its genetic-algorithm search for rich atom sets (ch. 8) are not
    implemented; atoms are random, as in ECAL 2009 and ALife XII. RBN World defines no rate constants.
    extras.conservation gives one atom-count law per element.'
  - 'Species identity: a canonical code of the tree (children sorted), with site-level bonds and the node
    states at every level. Two molecules with the same element tree but different bonding sites or states
    are different species. Ids are the readable structure plus an index in order of first observation
    (A.1, (A-B).2), extending the thesis''s state numbering to whole molecules. Isomorphic molecules with
    internal symmetries could in rare cases get two ids.'
  - The ECAL 2009 paper [264] was not accessible (Springer). Its model is the one described in chapters
    5-6 of the thesis by the same author.
  phenomena:
  - cycle attractors interpreted as cell types (Kauffman's cell-differentiation conjecture)
  - 'order/chaos transition with K: K = 1 frozen, K = 2 critical, K = N chaotic with attractor lengths
    of order 2^(N/2) (Drossel)'
  - annealed sensitivity lambda = 2 K p (1 - p), critical at lambda = 1
  - scale-free in-degree distributions give more ordered dynamics (Fox & Hill)
  - 'RBN World: synthesis, decomposition, and emergent catalysis with state change, A1 + B -> A2 + B (thesis
    6.2.6)'
  - 'RBN World linking is not associative: ((A-B-C)-D) != ((A-B)-(C-D)) in general'
  - only proportion/sum-one and total/sum-zero chemistries show variation in all five low-level tests
    (synthesis, self-synthesis, decomposition, substitution, catalysis; ALife XII)
  - RBN World aims at autocatalytic sets, hypercycles and heteropolymers built from bRBNs; GA-evolved
    atoms gave a network of 1286 reactions and 645 particles with a longest loop of 8 reactions (Faulkner
    et al. 2018)