socialfiction.org

A Crystalpunk Automaton for the Chain-Reaction Glitterati

INFO + DOWNLOAD

gargoyleCA.zip (709Kb)

Crystalpunk is a rally cry for people to come together and start making all sorts of weird things, things slightly of kilter that need a crystalpunk to have its delights appreciated, things that are radical but hurt nobody.

Other people, “professionals”, are making things too. In art, in architecture, in computer science, in biology, crystalpunks want to share in their excitement, often feeling it more than they do, but understanding it through reverie not formalism.

At socialfiction.org we have been thinking about gargoyle computation

[rococo automated search & gargoylisation not optimisation]

software as a crystal ball

[cellular automata as discrete little worlds that hide complex operations creating a universe to be discovered by its users]

pattern formation & innate memory

[put your fingers on your closed eyelids & press gently]

non conventional computing

[molecule based & sea based]

unintentional intelligence

[the wildtype adaptivism of BacterioPoetics]

Somewhere in the middle we started writing a chain-reaction automaton: on the GUI a Grid, inside it a configuration of cubes are activated to rotate one step, activating others to rotate one step of 4 on close contact. The crystalpunk can interact with it: creating new meaningful patterns, signalling it and monitoring its output. But the rules that guide its movement are mind boggling gargoyly. Can it Compute? Can it loop forever? Can Patterns evolve toward a certian desirable goal. These and many other questions are to be explored.

Contact us for a Chain-Reaction Automaton Workshop.

By Way of a Tutorial

Provide Feedback: info |at| socialfiction |dot| org

To be able to run this you will Python, freely downloadable from www.python.org. This automaton is expected to work with the standard distribution, which includes TKinter for the GUI, but make sure if this applies for your platform as well.

The file to run is called "CHAIN_REACTION_AUTOMATON.PY". Once Python is intalled double-clicking the item should do.

In The Crystalpunk Grain

"A new world is only a new mind" - William Carlos Williams

"...this vague & dream like world, without love, or heart, or passion, or sex,is the world I really care about, & I find interesting. For, though, they are dreams to you, & and I can't express them at all adequately, these things are perfectly real to me." - Virginia Woolf

Programming, is just another form of writing, and writing, as Paul Valéry put it: "destroys an infinite numbers of fine possibilities, but at the same time it suggests a multitude of distant and totally unexpected thoughts". While writing this automaton, thoughts are after all formed in the mouth (Tristan Tzara) (and instead of specifying the inner workings of mind, as we have after all come to give you little minds, we want to grow little mouths?) the world created by this automaton ran away with its crystalpunk makers: challenging the limits of our knowledge by firing a thousand unforeseen next possible steps, patient observation of the characteristics of this world provoked endless rewrites to extend functionality to see what would happen, but, it soon appeared that, software, again quoting Valéry, like poetry "is never finished only abandoned". It is the unintentional quality, the panda bear approach to survival, of this automaton to keep stimulating the fancy of the crystalpunk that has until now prevented us from abandoning it, as happened to so many other scripts before

The automaton provides a framework for creation as much as playing a goad game of chess or go is a form of art. Herman Hesse seems to have hinted at the possibility of writers refusing to write any more of them library cluttering books, and would instead create new games in which readers can contruct their own novels and music and metaphors. This automaton is the crystalpunk gesture towards this idea.

The Gargoyle Ludens

"The creativity and the pathology of the human mind are, after all, 2 sides of the same medal coined in the evolutionary mint. The first is responsible for the splendour of our cathedrals, the second for the gargoyles that decorate them to remind us that the world is full of monsters, devils and succumbi" - Arthur Koestler in 'The Ghost in the Machine'

Play is the time-tried formula of successful discovery; what about chain-reaction formation as game? Who can create the longest gargoyle with a predetermined number of active granules? Who opens up a community website for players to boost and compete? Initially this world was to solve one question: does there exist in such an automaton a pattern in which a chain-reaction becomes an infinite loop. Given the asymmetrical rules for propagation, leading to complex interlocking patterns of recursive activation which shift the pattern out of order, this is far from a trivial question and gargoyle-communities are advised to reserve a special corner for them in their CMS. Quoting Stephen J. Gould: "Once you build an complex machine, it can perform so many unanticipated tasks" and it were these unexpected bonuses in capabilities that became the sequence of Klondikes that sustained the frontier mentality that has driven gargoyle-development to its current vista.

Ornamental to the history of state machines, this chain-reaction automaton is designed to be annoying, yet capable of being remembered, and, besides, what is more crystalpunk than to move into the field of abstract reproduction demanding the right to make up our own rules.


Infinite loops in more than one reaction are possible. Here is shown a pattern that when run in push mode (a state of permanent activation) wil forever keep non-activators moving. This is the smallest example of a fully predictable production-system within this automaton. It deserves a name for its own.

The Crystalpunk Manifesto famously treated Cellular (nee: Crystal) Automata as psychoactive objects that when looked at long enough reproduce themselves mentally. What makes this chain-reaction automaton the Ulysses of cognitive art is that thinking, and indeed life itself, is a chain reaction. Metabolic systems are a vast chain of chemical transformations all critically dependent on the event that comes before it. Thought-formation is an evolutionary process of selecting the fittest among a range of neuronic chain-reactions encoding mental states.








The patterns are constructed with cubes, of which several species exist. Some are activator, from which a reaction commences, some delete and some add cubes, some, idiotically called transducers, change the specie of the cube it touches while reacting. The plus and minus tranducers (relative to the list dictating specie-transformation) also transduce each other. The ability for a pattern to change itself is imporant because it allows for the possibility of a universal contructor within the chain-reaction automaton, a pattern that makes a copy of itself. A less universal alternative would be a component that when activated falls apart in more smaller components. These components, these new structures that have their own internal state, their own longest chain to evolve towards, can also now evolve towards generating new activators and outputs. Many more species, each reacting or inhibiting when reached by the reaction, could very easily be added and when in a BacterioPoetic frenzy the crystalpunk hopes to one day turn the entire metabolic pathways of the E.coli into a pattern for this machine. After all the grid is crystalline and can be enlarged forever.

Evolving a Symbolic Beast

"Turning things over at random and hoping to stumble on the sought object usually works when the space to be searched is small. As the search-space gets larger, more and more sophisticated searching procedures become necessary. Effective searching procedures become, when the search-space is sufficiently large, indistinguishable from true creativity." - Richard Dawkins in 'The Blind Watchmaker'

A simple hill-climbing genetic algorithm for a gargoyle:

* A randomly chosen granule is pushed one state forward.

* The chain-reaction is activated.

* If the resulting chain-reaction is shorter than the reaction would be minus the mutation, the mutation in the pre-excitation pattern is undone.

* The pattern snaps back to the pre-excitation pattern.




Slowly the gargoyle will be reshaped into a pattern that allows a longer chain-reaction, in the process the pathways of the chain become richer as cubes are used multiple times in one reaction. A genetic algorithm that applies random drift of dislocation enlarges the scope of what the automaton can find during a simple run. But just as you need a lot of luck in order to find the highest mountain in the Alps with as only instruction GO UP, a hill-climber is powerful but by no means able to stress the system to its maximum potential. This is best shown by watching separate but identical gargoyles evolve: a clear similarity in their development is hard to overlook and this becomes increasingly obvious when the gargoyle becomes smaller and the variance between the patterns evolved decreases. Each gargoyle has an innate first chain, and the larger this chain is, the harder it becomes for the process to undo it in favour of better ones and sometimes it gets itself in for us obviously still-born avenues. The Automaton resets the configuration after a certian number of unsuccessful runs of evolution.

Despite this an evolved pattern can display such hard to grasp complex behaviour, a typical example of Valentino Braitenberg's "downhill invention / uphill analysis", that its maker would be regarded intelligent if s/he was human. However strange oversights usually give away that aimless design through random drift was at work. Here is a thought evoked by watching the automaton evolve: evolution tends to be efficient overall, but messy in the corners.

In any case: the Gargoyle automaton provides gargoylisation not optimisation: a chain-reaction developing redundancy becomes just another mess.

Input/Output

The location of the excitation commencing the chain-reaction is for the user to decide. Certain cubes can be monitored for their state during the entire chain-reaction, resulting in a sequence of states which can be translated, for instance by some arbitrary semi-ASCII translation table. This output can be processed further elsewhere. Programmability of the automaton ensures that in this manner a gargoyle can become a filter, a processor, read/write head, a neural net, and indeed a little mind!


A chain-reaction generating random strings like this is good at finding things. Finding is easy, searching is hard: in principle it should be possible to create a gargoyle that outputs the string 'gargoyle', in practise it is tremendously tedious to actually successfully search for such a configuration, even when the search is done by the automaton itself. This calls for a new appreciation for the serendipity of found objects lost since Surrealism: running into a pattern outputting "ffif5t" is likely of no direct consequence, you have never the less found it, and you can, if it looks promising, archive it in the wunderkammer of your GBL [Gargoyle Babylonian Library]. Given enough eyeballs all features are shallow, to paraphrase the hacker-credo and ultimately all words in all known human language might have a gargoyle to produce them. Does anybody care to do a website for people to send them in?

The relation between an input and an output under identical conditions is always reproducible and each unique chain-reaction (and the number of possible chain-reactions made from/within one pattern can be big) can encode a unique string, meaning that structure determines memory capacity, to a certain extent independent from the size of the gargoyle.


As a proof of concept the GUI offers 2 other examples of how to interpret output-cubes. 1) mapped to sound, an output cube moved gives a beep. 2) As shown here, all movement and the new state is translated into a 'drawing'. In principle there should exist a pattern for this output-mode that would generate a reasonble copy of the Mona Lisa when activated at point x, while it would generate a passable caricature of Gordon Pask when activated at point Y. Can you find it?

Language 1

Each character in a given text can be made to activate a specific cell in a gargoyle. To such a gargoyle the input "r" 'means' a specific chain-reaction, possibly resulting in as output. After a random excitation from outside the system, a system of at least 2 Gargoyles can take turns to accept each others output as input and evolve towards a common equilibrium. Maybe the input of "u" only produces a small output in the other and this tells the other to try something else. Slowly they 'agree' on a language that keeps the conversation going.




But remember that the relation between textual output and gargoyle state-change is random, immutable and meaningless to the gargoyle itself. More interesting systems can be composed by specifying one-directional pipes. These are triggered by the movement of a specific cube into a specific position, resulting in the excitation of a specific cube elsewhere one state forward. When the receiving cube is part a different component, he gargoyle originating the exchange is not aware of its own branching, the receiving component however does notice. The relation between the 2 gargoyles in this case is not mediated by a symbolic translation table, the gargoyle itself now has to come up with a strategy to find out what this input 'means' relative to its overall condition. Maybe it damages a long chain and maybe it helps to lengthen it. If the receiving gargoyle returns the gift, the potential for communication, via feedback, is possible.



Can the pattern on the left 'instruct' the pattern on the right to move itself and collide with the programming component, enlarging the lenght of the reaction as the functional benefit.

Language 2

"In the infancy of a society every author is necessarily a poet, because language itself is poetry... Every original language near to its source is in itself the chaos of a cyclic poem: the copiousness of lexicography and the distinctions of grammar are of a later age, and are merely the catalogue and the form of the creations of poetry" - Percy Shelley in 'A Defence of Poetry'

We daydream of linguistic marvels: a new world needs a new language to name it and to allow us recognise what is special about it, and this language itself is a prerequisite in discovering marvels less close to the surface of its experience through languages of an old world. The development of the Game Of Life since its conception in 1970 is the best example to show the principle of new words identifying features inside the world, by this mean distilling particles of meaning from the chaos inside the world, allowing you to postulate about the world what might be there but is not yet found. The identification of a 'glider' leading to the desire for a glidergun, in turn leading to further classification: the glider train, the infinite glider hotel, the intermitting glider gun, the forward glider, the glider injection gate and much much more. From such first names a full language slowly decreases the amount of randomness in the observed world as well as allowing new wonders of engineering inside the new world to become thinkable. A Chain-Reaction Glitterati vernacular is yours to bootstrap from the empty and desolte world on screen as it exists today.