I uploaded Chemlambda strings at Figshare.
“Chemlambda is an asynchronous graph rewrite automaton which uses a carefully selected family of graph rewrites of the kind encountered in Interaction Nets (IN). In this article is given a version of the graphs and rewrites which is more chemistry friendly. It is argued that real chemistry has enough place for accomodating chemlambda. The use of IN rewrite patterns in real chemistry, as templates of concrete chemical reactions, is an unexplored direction towards molecular computers. The simulations which validate chemlambda as a toy chemistry show that there is a big potential in this direction.”
The article is paired with the needs repository. Look down the first page of the article for contact mail.
So what’s new with respect to chemlambda?
1. It is conservative. I said previously that it can be done, but here is the proof now.
2. It is open to vast generalization. I explained previously that there is not much lambda in chemlambda, as a proof see Turing machines, chemlambda style. Now it has the form (can be easily put into the form) of a permutation automaton. A permutation automaton is simply a program which takes as input a (maybe huge) permutation, probably with decorations on it (i.e. is a permutation of some big set, specified, not only a permutation of 1, …, N) and then it applies (randomly) pre-defined templates of permutations, whenever it detects a pattern into the permutation and moreover the random number generator produces an output of a certain difficulty 🙂
3. The paired needs repository contains already the main program. You can figure out how it functions, even if I have not added yet the functions libraries.
4. It is chemically friendly… Read the article.
Why chemlambda strings?
Because now we think about chemlambda molecules as being made by lists with sticky ends. These are the strings.
Each list (string) has two ends. So if there are N strings, then there are 2N nodes (ends of strings) and 3N edges. An edge is given by the fact that every list end appears in another list (interior).
Attention, it is not forbidden (actually happens, but not for graphs associated to lambda terms) to also have loops. A loop is a list which you take and cut it’s start and end then you glue it back.
So if you take such a structure then you shall have a succ and pred functions, as well as a function gamma which taked a list end and gives you the list end place into another list.
For simplicity one can duplicate the nodes (so that now we have 4N nodes instead of 2N) and think about gamma as connecting the node which is an end of a list with the node which is an element of another (or the same) list.
Tell me if that rings a bell to you!