Cellular Automata & Neural Nets in Basic

simple implementations of some famous algorithms

 

Download package

Instead of providing elucidative comments myself, I choose to accompany these QBasic / FreeBasic sources with a few selected links where inquisitive readers will find all the necessary information.

 
Dijkstra.bas
Edsger Dijkstra's 1959 pathfinding algorithm:
compute shortest paths on a grid map, sample graphs are included.
CellAuto.bas
Displays the dynamics of over 3.2·10^616 1-D cellular automata: order for free.

Though many state diagrams of the elementary one-dimensional (k=2, r=1.5) CA look rather dull, judicious sampling will reveal their substantial sonic potential.
The particular real time CA-to-midi mapping applied here, is straightforward and intuitive, generating a remarkable range of sturdy rhythms and bouncing motifs from these quietly swopping cells.

CApieces.bas
Linear CA midi ensemble (bass, cello and two wind): reveals what the eye can't grasp.
Fredkin.bas
Edward Fredkin's classic 1962 parity rule: a replicator CA kaleidoscope.
GoLife.bas
John Conway's Game of Life: reads lifepatterns in interactive file GoLife.lif
Purplrug.bas
Rudy Rucker's Laplacian rug rule: purple hazed bubbling lava.
FPUwaves.bas
Continuous-valued CA: the Fermi-Pasta-Ulam quadratic nonlinear wave model.

The next program feeds the CA with sound waves and dumps the updates in a standard .wav file. What happens if a single string must bear the weight of a full chord? The CA being second order accurate only, tremulous little tinkling tones soon ripple the initial signal.
This one was real fun to write. Besides the CA kernel, it contains a barebones three-operator FM-synthesizer and a routine for making diatonic chords. It can mindlessly churn out an endless dominant progression, as well as produce totally insane random noise.

CAsounds.bas
Continuous-valued CA model of a complex vibrating string, one for each channel.
CycleCel.bas
David Griffeath's cyclic cellular automata: wave activity in the primordial soup.
Hopfield.bas
Auto-associative memory, John Hopfield's 1982 discrete recurrent network:
a toy engine for pattern recall.
Kohonen.bas
Teuvo Kohonen's 1982 self organizing feature map:
a toy engine for 2-D color clustering.
Som2opt.bas
Self organizing feature map improved with 2-opt:
an approximate solver for the traveling salesman problem.
BackProp.bas
The 1986 Rumelhart, Hinton and Williams backpropagation algorithm:
a toy classifier for capital letters.

Node   Download (617 kB, includes input files & executables)

 

This work is licensed under a Creative Commons License.

cc.license Valid xhtml 1.0! map Copyright © december 2005 by Sjoerd J. Schaper