Discrete Dynamics Lab

Update June 2012

changes since the publication of
Exploring Discrete Dynamics

in May 2011
DDLab has been updated at regular intervals since its release in 1995. Its precursor was the Atlas software included on diskette inside the back cover of "The Global Dynamics of Cellular Automata".
For a list and download of this and older versions click here.
Below are links to descriptions of previous updates,
Nov 2005
Dec 2003
July 2001 (DDLab Manual)
Feb 1999
Sept 1997

Announcing two alternative updates, ddlabm08 and ddlabx09, including source code, and compiled versions -- 64-bit for Linux, 32-bit for Linux, Mac, Cygwin and DOS. Note that 32-bit DDLab runs on a 64-bit system, but not vice versa. Feedback to: andy AT ddlab DOT org.

ddlabm08 Behaves mostly as described in Exploring Discrete Dynamics. As well as bug fixes, there are a few new options.
ddlabx09 The same updates as in ddlabm08, but ddlabx09 allows bigger networks for both attractor basins and space-time patterns -- useful for 2d and 3d. The maximum size depends on your CPU and DDLab version (32-bit or 64-bit), your avaliable RAM, and your patience -- attractor basins for large networks can take a long time. Various new size options, progress reports, and warnings are provided. If RAM is exceeded ddlabx09 usually exits gracefully.
Note that ddlabx09 is now superseded by ddlabx10 which includes NULL boundary conditions.
download parent directory, including Exploring Discrete Dynamics (EDD), dd_extra.tar.gz extra files to supplement DDLab (EDD section 3.6), and fonts_dd_linux.tar.gz fonts for Linux which may be required.
ddlab_compiled_2012 compiled DDLab, June 2012 update, 32-bit or 64-bit, for Linux,Cygwin,Mac,DOS
ddlab_code_2012 source code, June 2012 update, for ddlabm08 and ddlabx09, including Makefiles and readme

These downloads are also available from the Uninversity of Sussex or University of the West of England, together with older versions of DDLab including compiled versions for Irix/SGI and UNIX. Files are also available at sourceforge

Versions m08 and x09 further details of updates
(#x.x.x refers to the relevant chapter or section in "Exploring Discrete Dynamics")

ddlabm08
ddlabx09


ddlabm08 behaves mostly as described in "Exploring Discrete Dynamics", including size limits on networks (#1.6, #7), neighborhoods and rule-tables. Network sizes are limited by "short int" variables (2 bytes). Both ddlabm08 and ddlabx09 include the following new/revised options (as well as bug fixes):
  • In the "attractor histogram" (#31.6) which provides statistical attractor data by running forward, a new option "include trans data-t" allows data to be recorded on the set of unique transients found so far, to each attractor, without duplication. When saving the data (#31.6.6) which may take time, progress is monitored in a top-right inset, for example ("4/15 saving wait...") and ("15/15 saving complete").

  • "No pause before next mutant" (#28.5) this prompt is updated
    • change delay (now 1 sec, max 100):

  • "Defining a block" in 2d and 3d (#17.6.5, #17.7.5): the block is now shown hollowed out (only the edge cells are shown) to speed up computation. This change is required for very large blocks possible in ddlabx09, but is now also the default in ddlabm08. This can, however, be toggled to show the block in full as before with new option "edges-G" in "wiring graphic reminder" (#17.4).

  • "Alternative wiring presentation" (#17.6.3, #17.7.3): The order of presentations is revised; initial presentation is now: cell-links(1), block-links(4) and the toggle number is shown..

  • Expanding the 3d wiring graphic (#17.7.7) is no longer limited.
ddlabx09

3d 200x200x200
snapshot space- time pattern.
Large sizes are
possible in ddlabx09
- click to enlarge


In addition to the updates described above, ddlabx09 increases the maximum sizes (#1.6, #7) of networks, neighborhoods and rule-tables. This allows bigger networks for space-time patterns (useful for 2d and 3d), because network sizes are designated by "int" variables (usually 4 bytes), and bigger networks for basins of attraction, for related reasons. The maximum size depends on your CPU and DDLab version (32-bit or 64-bit), your avaliable RAM, and your patience -- attractor basins for large networks can take a long time. Various new size options, progress reports, and warnings are provided. If RAM is exceeded ddlabx09 usually exits gracefully. If computation is taking too long, and interrupting with "q" fails for any reason, in Linux-like systems, use "top" to kill the program.
  • At first prompt (#6), there is an added option noLimit+L: (in red). If this is not selected, generous but safer limits will apply (recommended). If "noLimit+L" is selected, various (x)Limits can be set as big as possible according to variable sizes, but which may exceed memory and practical computation, so there is a bit of a risk there. A top-right notice is displayed,
    • caution! noLimits selected
      setting high values of k or n is likely to exceed available RAM
    • When setting sizes (below), a safe default is offered, as well as the current maximum (x)Limit, with a warning "increase with caution"

  • After selecting value range v (#7.1), there is a new top-right option (which depends on v, whether or not in TFO-mode, and 32/64-bits).
    • change-/+ max neighborhood (kLimit): increase with caution!
      enter new limit (def 6, max 13)

  • If "range of network size-r" (#8.1) is selected, a new top-right notice is added when setting the range, (which depends on value-range v, and noLimits)
    • FIELD-mode range size n: safe<=20 exceed with caution!, nLimit=36
    • SEED-mode range size n: safe<=27 exceed with caution!, nLimit=8388607

  • At the prompt for setting 1d network size (#8.2) a new top-right notice is added (depends on mode, 32/64-bits) for example,
    • FIELD-mode network size n: safe<=10, nLimit=15
    • SEED-mode: network size n: def=14, nLimit=4294967295 (or TFO-mode)
      increase with caution! can be reset in WIRING for 1/2/3d, rnd/special

  • At the prompt for setting the 1d neighborhood (#9.1), a new top-right notice is added,
    • k and kmix can be reset in WIRING for 1/2/3d, rnd/special

  • When setting the network size in the wiring or special wiring prompts for 2d or 3d (#11.6.1, #12.3), a notice is added showing maximum and safe sizes, giving the edge size of the equivalent square or cube -- though the network can be any shape within the same total limits. for example,
    • 2d: if square safe ij<=255, max ij=2896 increase with caution
    • 3d: if cube, safe ijh<=40, max ijh=203 increase with caution
    but if noLimits was set,
    • 2d: if square safe ij<=255, max ij=65535 increase with caution
    • 3d: if cube, safe ijh<=40, max ijh=1625 increase with caution

  • The following top-right notices are added to monitor attractor basins. This is required for large networks, otherwise it may seem nothing is happening. (note: [early] exiting basins may take time if a large pre-image buffer must be freed).
    • If transients or attractors are very long, a top-right message is updated every 10000 iterations:
      • looking for attractor cycle, 14000+ iterations (or similar)
    • Entering q within the repeat search for a cycle gives a top-right prompt:
      • still looking for attractor cycle, 256784 iterations
    • To monitor a large pre-image fan, a top-right message is updated every 100 pre-images,
      • computing pre-images level 0, 14000+ found
Return to the Discrete Dynamics Lab home page.
Last modified: Nov 2012