Tag Archives: neuron

A neuron-like artificial molecule

This is a neuron-like artificial molecule, simulated in chemlambda.


It has been described in the older post


Made with quiner.sh and the file neuron.mol as input.
If you want to make your own, then follow the instructions from here:


It is on the list of demos: http://chorasimilarity.github.io/chemlambda-gui/dynamic/neuron.html

Needs explanations, because this is not exactly the image used for a neuron in a neural network.

1. In neural networks a neuron is a black box with some inputs and some outputs, which computes and sends (the same) signal at the outputs as a function of the signals from the inputs. A connection between an output of one neuron and an an input of another has a weight.

The interpretation is that outputs represent the axon of a neuron, which is like a tree with the root in the neuron’s soma. The inputs of the neuron represents the dendrites. For a neuron in a neural network, a connection between an input (leaf of a dendrite) and an output (leaf of an axon) has a weight because it models an average of many contact points (synapses) between dendrites and axons.

The signals sent represent electrical activity in the neural network.

2. Here, the image is different.

Each neuron is seen as a bag of chemicals. The electrical signals are only a (more easy to measure) aspect of the cascades of chemical reactions which happen inside the neuron’s some, in the dendrites, axon and synapses.

Therefore a neuron in this image is the chemical reactions which happen.

From here we go a bit abstract.

3. B-type unorganised machines. In his fundamental research “Intelligent Machinery” Turing introduced his  B-type neural networks
or B-type unorganised machine, which is made by more or less identical neurons (they compute a boolean function) which are connected via a connection-modifier box.

A connection modifier box has an input and an output, which are part of the connection between two neurons. But it has also some training connections, which can modify the function  computed by the connection modifier.

What is great is that Turing explains that the connection modifier can me made by neurons
so that actually a B-type unorganised machine is an A-type unorganised machine (same machine without connection modifiers), where we see the connection modifiers as certain, well chosen patterns of neurons.

OK, the B-type machines compute by signals sent and received by neurons nevertheless. They compute boolean values.

4. What would happen  if we pass from Turing to Church?

Let’s imagine the same thing, but in lambda calculus: neurons which reduce lambda terms, in networks which have some recurring patterns which are themselves made by neurons.

Further: replace the signals (which are now lambda terms) by their chemical equivalent — chemlambda molecules — and replace the connection between them by chemical bonds. This is what you see in the animation.

Connected to the magenta dot (which is the output of the axon) is a pair of nodes which is related to the Y combinator, as seen as a molecule in chemlambda. ( Y combinator in chemlambda explained in this article http://arxiv.org/abs/1403.8046 )

The soma of this neuron is a single node (green), it represents an application node.

There are two dendrites (strings of red nodes) which have each 3 inputs (yellow dots). Then there are two small molecules at the end of the dendrites which are chemical signals that the computation stops there.

Now, what happens: the neuron uses the Y combinator to build a tree of application nodes with the leaves being the input nodes of the dendrites.

When there is no more work to do the molecules which signal these interact with the soma and the axon and transform all into a chemlambda quine (i.e. an artificial bug of the sort I explained previously) which is short living, so it dies after expelling some “bubbles”  (closed strings of white nodes).

5. Is that all? You can take “neurons” which have the soma any syntactic tree of a lambda term, for example. You can take neurons which have other axons than the Y-combinator. You can take networks of such neurons which build and then reduce any chemlambda molecule you wish.

How to put a Y combinator into a neuron and lock it with a quine

I mentioned before that the Y combinator, seen in chemlambda, is a gun which shoots pair of fanout and application nodes. No more, no less.

The problem is then how to dispense with the Y combinator once we don’t need it any more.

The mentioned solution is to lock it into a quine. Here is how.

First, we put the combinator (in its purest, two nodes form) into a neuron architecture.


What we see: the pale blue dot from the upper right part of the picture is a FROUT (free out) port.

  • NEURON AXON: connected to the free out is a pair of nodes which IS the Y combinator as seen in chemlambda (see this old demo of the reduction of the Y combinator to this pair of nodes, which after starts to shoot; I’ll probably add a page for this reduction at the demos site, this time with the new color convention, and for the chemlambda version with FOE nodes, but the old demo explains sufficiently well the phenomenon) .
  • NEURON SOMA: in this example the soma is made by one green node (is an application A node), but more sophisticated graphs are acceptable, with the condition to be propagators (i.e. to “propagate” through FO or FOE nodes after a sequence of chemlambda moves; one can transform any lambda term expressed in chemlambda into a propagator)
  • NEURON DENDRITES: in this example there are two dendrites, because the soma (A node) has two in ports. The dendrites have FRIN (free in) ports which can be connected to other graphs. In the picture the FRIN nodes are color coded.
  • DENDRITES ENDS: at the end of each dendrite there is a small molecule, well chosen.

With the random reduction algorithm the following happen (see the demo in d3.js)

  • the NEURON AXON grows and becomes a string of copies of the SOMA with the free in ports attached to it (check out that the colours match!) This is the way we use the Y combinator!
  • when the dendrites are consumed, the graph built at the axon detaches from the rest of the neuron
  • there are now two graphs, one is the one built at the axon and the other is the one which still contains the Y combinator gun,
  • the DENDRITES ENDS, together with the SOMA, lock the Y combinator (i.e. the NEURON AXON) into a quine, i.e. they form together a quine
  • the quine is chosen to be one which does not live long (from a probabilistic pov) so it dies after producing some bubbles (i.e, some Arrow elements with the in connected to the out or to other Arrow elements).



Fresh brain with no thoughts, yet

I just like his picture obtained with chemlambda


because it gives many ideas, among them the following:

  • if multiplication (reproduction) is Nature’s way to do a fanout
  • and if a brain (and actually the whole organism) grows from a small seed
  • then it must be that we may think about a brain as having one neuron (self-multiplied according to the needs of the computation).

Ergo, the physical brain we see is the concrete embodiment of an universal computing seed, taking physical shape according to physical constraints.

That’s why I like this picture, because it gives ideas.

Here is the first realisation of a (mutant) Turing neuron  in chemlambda

which can be seen as a continuation of the old, but open thread which started with this teaser and continued up to this post on B type neurons.

UPDATE: compare with

which uses the same mechanism for another purpose, the one of assembling a DNA like tape.

I know people hate seeing two ideas in the same post, but here is the second one:

  • at different scales, the same mechanism:
  • be it about the DNA, RNA and proteins in a cell or
  • be it about the chemical connectome of a brain.

If you combine the two ideas from this post, what gives?