We decided to go open with our project, documented here in the posts from the category distributed GLC. There is a dynamically changing and evolving team, formed by the authors of this article
GLC actors, artificial chemical connectomes, topological issues and knots
and Stephen P. King, Jim Whitescarver, Rao Bhamidipati, as well as others from ProvenSecure Solutions, which is behind it. This project have several goals, the first one is to explore the possibility of implementing this computing model in reality.
The implications of the proposal (i.e. “what if this is possible?”) are huge. I would like to write instead, in an understated manner, why we think that the means to achieve those implications is interesting. From personal experience with explanations around this subject, it looks like the really difficult part, at this stage of the project, at least, is the one of understanding what is different in this model.
The reason behind this difficulty is not that the understanding demands highly technical knowledge. Instead, as Louis Kauffman describes it, the project is based on ideas which look completely non obvious at first, which, once understood, they become straightforward.
The most important idea is that the model is not one based on signals circulating through wires, passing through gates. Nor on messages exchanged through channels (though there is a nuance here, coming from the second idea, concerning “locality”).
What then? you might ask. Is this a communication model where the entities involved in communication are not actually communicating? No, on the contrary, the entities (i.e. the GLC actors) are communicating all the time, but not like in a phone call, instead their communication is alike a chemical reaction between molecules which are close in space.
(The GLC and chemlambda are good for this, because there is no signal circulating through the arrows of these graphs and the nodes are not gates which are processing these signals!)
Think about this. A chemical reaction network (CRN) is obviously a good description of a collection of chemical reactions. But is nothing else than a description. The molecules involved in the CRN are not “aware” there is a CRN. They interact in a purely local way, they are not goal driven, nor there is a upper being which set them the task to interact. The “communication” between two molecules is not based on signal passing, like the mathematical description of a CRN is. It is more like a graph rewrite procedure. Pure syntax, at this level (of molecules), but nevertheless self-sustaining, autonomous, purely local and of course distributed (in space).
The second idea is this “locality”, which means that the interaction between the actors should be not controlled from an upper level, the actors should be autonomous and reactive entities, and that their reactions should be a consequence of the local environment only. In the case of the GLC actors, this is a consequence of GLC being based on local graph rewrites (i.e. involving only rewrites acting on a bounded number of nodes and arrows), with the exception of the GLOBAL FAN-OUT move, where chemlambda comes to help. Chemlambda is purely local.
The third idea is to use Hewitt Actor Model as a replacement for space. On the net, we do need a way to define what means for two GLC actors (i.e. the net correspondents of two molecules) to be in proximity. The GLC actors are designed in such a way so to have these proximity relations as links between actors (with no exterior control or decision over this, past the preparation stage) and to see communication between actors as the graph rewrites. In practice, most of the graph rewrites occur between two actors. As an exception, the GLOBAL FAN-OUT (from GLC) becomes in chemlambda a procedure which is alike binary cell fission in real life. Indeed, this is not explained in detail in the paper, only a small example is given, but compare the picture taken from this post
(about how the W combinator suffers a GLOBAL FAN-OUT with the pure local means of chemlambda) with this picture from the binary cell fission wiki page,
______________________
Could you discuss the repeated application of a move, as for example show as 4 \sigma+ .
Starting from the upper part of the figure, at right we see the graph (in chemlambda) of the combinator W, connected to a fanout node. Let’s count the nodes, from right to left, which are on the same horizontal line: the first is the fanout node (green), then two lambda nodes (red), then one application node (green), then a pair of green nodes (from right to left, application and fanout). The delta+ “enzyme” induces the application of DIST moves (see the chemlambda tutorial) four times in a row, for the two red lambda nodes, then for the two green application nodes. That is why 4 delta+. And it resembles to the 1->2 phase of binary fission.
After this there is a move with a misleading name (but that was the name used at that moment) “DISENTANGLE”. In fact, it is a move called SWITCH which is used (this move is a succession of beta, CO-COMM, beta moves, described here). It is used to separate the endings of the two copies of the W combinator graph. This stage resembles to the phase 2->3 from the binary fission.
At the end there is a succession of two FAN-IN moves (from chemlambda), thus two “enzymes” phi+ are used, after which the two copies of the W graph are completely separated, like in the phase 3->4 of binary fission.
http://egtheory.wordpress.com/2013/10/02/programming-chemistry/ Still looking for a von Neumann solution…
Artem has a very interesting blog, where he preaches about the “algorithmic lens”, in many posts. In this one he describes in a very entertaining way an article which already triggered lots of discussions, in particular one initiated by John Baez, and (hope that not) trolled by me, as mentioned in the post Model of computation vs programming language in molecular computing.
Can you link to what Kauffman said about it? I’ve seen his notes on fox derivative, wondering if it’s what you’re referring to…
We have an article about this http://arxiv.org/abs/1312.4333