Walker eating bits and a comment on the social side of research

This post has two parts: the first part presents an experiment and the second part is a comment on the social side of research today.

Part 1: walker eating bits.  In this post I introduced the walker, which has been also mentioned in the previous post.

I made several experiments with the walker, I shall start by describing the most recent one, and then I shall recall (i.e. links to posts and vids) the ones before.

I use the chemlambda gui which is available for download from here.

What I did: first I took the walker and made it walk on a trail which is generated on the fly by a pair A-FOE of nodes. I knew previously that such a pair A-FOE generates a trail of A and FO nodes, because this is the basic behaviour of the Y combinator in chemlambda. See the illustration of this (but in an older version, which uses only one type of fanout nodes, the FO) here.  Part of it was described in the pen-and-paper version in the ALIFE14 article with Louis Kauffman.

OK, if you want to see how the walker walks on the trail then you have to download first the gui and then use the gui with the file walker.mol.

Then I modified the experiment in order to feed the walker with a bit.

A bit is a pair of A-FO nodes, which has the property that it is a propagator. See here the illustration of this fact.

For this I had to modify the mol file, which I did. The new mol file is walker_eating_bit.mol .

The purpose of the experiment is to see what happens when the walker is fed with a bit. Will it preserve its shape and spill out a residue on the trail? Or will it change and degenerate to a molecule which is no longer able to walk?

The answer is shown in the following two screenshots. The first one presents the initial molecule described by the walker_eating_bit.mol.

walker_eating_bit_step0
At the extreme right you see the pair A-FOE which is generating the trail (A is the green big node with two smaller yellow ones and a small blue one and the FOE is the big yellow node with two smaller blue ones and a small yellow one). If you feel lost in the notation, then look a bit at the description in the visual tutorial.

In the middle you see the walker molecule. At the right there is the end of the trail. The walker walks from left to right, but because the trail is generated from right to left, this is seen as if the walker stays in place and the trail at its left gets longer and longer.

OK. Now, I added the bit, I said. The bit is that other pair of two green nodes, at the right of the figure, immediately at the left of the A-FOE pair from the extreme right.

The walker is going to eat this pair. What happens?

I spare you the details and I show you the result of 8 reduction steps in the next figure.

walker_eating_bit_step8

You see that the walker already passed over the bit, processed it and spat it as a pair A-FOE. Then the walker continued to walk some more steps, keeping its initial shape.

GREAT! The walker has a metabolism.

Previous experiments.  If you take the walker on the trail and you glue the ends of the trail then you get a walker tchoo-tchoo going on a circular trail. But wait, due to symmetries, this looks as a molecule which stays the same after each reduction step. Meaning this is a chemlambda quine. I called such a quine an ouroboros. In the post Quines in chemlambda you see such an ouroboros obtained from a walker which walk on a circular train track  made of only one pair.

I previously fed the walker with a node L and a termination node T, see this post for pen and paper description and this video for a more visual description, where the train track is made circular as described previously.

That’s it with the first part.

Part 2: the telling silence of the expert. The expert is no lamb in academia. He or she fiercely protect the small field of expertise where is king or queen. As you know if you read this open notebook, I have the habit of changing the research fields from time to time. This time, I entered into the the radar of artificial chemistry and graph rewriting systems, with an interest in computation. Naturally I tried to consult as many as possible experts in these fields. Here is the one and only contribution from the category theory church.  Yes, simply having a better theory does not trump racism and turf protection.  But fortunately not everything can be solved by good PR only. As it becomes more and more clear, the effect of promotion of mediocrity in academia, which was consistently followed  since the ’70, has devastating effects on the academia itself. Now we have become producers of standardised units of research, and the rest is just the monkey business about who’s on top. Gone is the the trust in science, gone are the funds, but hey, for some the establishment will still provide a good retirement.

The positive side of this big story, where I only offer concrete, punctual examples, is that the avalanche which was facilitated by the open science movement (due to the existence of the net) will change forever the academia in particular. Not into a perfect realm, because there are no such items in the real world catalogue. But the production of scientific research in the old ways of churches and you scratch my back and I’ll scratch yours is now exposed to more eyes than before and soon enough we shall witness a phenomenon similar to the one happened more than 100 years ago in art, where ossified academic art sunk into oblivion and an explosion of creativity ensued, simply because of the exposure of academic painting along with alternative (and, mixed with garbage, much more creative artists) works in the historical impressionist revolution.

______________________________________________

 

Chemlambda quines and DNA pairs, speculation

I’m staring at this space view of the walking machine described first in this post:

walker_space_step0

The picture is a screenshot of the chemlambda gui available for download from this page.

The .mol file of the walker is available at this link.

What is this: is a walker as described in the ouroboros predecessor post, which walks on a train track generated by a y combinator pair A-FOE.

But the strange thing which makes me stare at the picture is that I see a hexagonal structure connected to a quadrilateral one, or I recall that I have seen such structures, see for example the following crop from this source.

nitro_basesSo it’s like the thymine-adenine pair (well, there is no pure adenine side, is only half of it).

Then, I recall seeing all these structures before with the space view, including the one representing the connection between guanine and cytosine, but I have to look at the files to recover them (I have plenty of mol files already, hundreds, I need to classify all the interesting stuff I learned).

Is this a coincidence or not? I don’t know, it is tempting to make the connection between quines in chemlambda, as it is the ouroboros, and self-mantaining molecules like DNA.

______________________________________________

 

The new look of the chemlambda gui, new downloads and a video demo of the space view

Here is a short video with a demo of the space view of chemlambda molecules and their interaction.

http://www.youtube.com/watch?v=ZPzsSpkl8Fw

 

At this link you can download the tar archive which contains the gui I play with. 

I would be grateful if as many as possible download it and spread it in as many places, not only google or other clouds.

Please send me a mail, or post a comment here if you did it, thank you! (mind that if it is your first comment then it is moderated, so don’t worry if it does not appear immediately, maybe I sleep or something like that)

It works surely with firefox, I have been told that it does not work with safari or chromium, because, I learned, those browsers don’t allow to open local files.

 

Pentagonal knitting of abstractions

Here is a pentagonal knitting pattern done in chemlambda, as appears after 20 steps:

pentagonal

The knitting is made of abstraction (lambda) nodes, in the middle, bordered by fanin nodes.

The knitting molecule appears after 3 steps, it can be then seen at the top of the figure.

The white small molecules are loops.

This pattern appeared after playing a bit more with switchers. Here is a video about switchers

 

________________________________

 

 

Fresh brain with no thoughts, yet

I just like his picture obtained with chemlambda

fineuron2

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?

_________________________________

The Ackermann function in the chemlambda gui

UPDATE: in the collection of animations there are posts about the Ackermann function, like this one.

UPDATE: The Ackermann function, the video:

_______________________

I put this stuff on G+  some days ago and now I can find it only if I look for it on purpose. Older and newer posts, those I can see. I can see colored lobsters, funny nerd jokes, propaganda pro and con legacy publishing, propaganda hidden behind granpa’s way of communicating science, half baked philosophical ideas,  but not my post which I made only two days ago. On my page, I mean, not elsewhere.

Thank you G+ for this, once again. (Note not for humans: this was ironic.)  Don’t forget to draw another box next time when you think about a new algorithm.

A non-ironic thanks though for the very rare occasions when I did met very interesting people and very interesting ideas there.

OK, to the matter, now. But really, G+, what kind of algorithm you use which keeps a lobster on my page but deletes a post about the Ackermann function?

UPDATE: The post is back in sight now. Whew!
The post follows, slightly edited (by adding stuff).
The Ackermann function is an example of a total computable function which is not primitive recursive. It is therefore amusing to try to compute it.
The matter is not what is the value of Ack(m,n), because it grows so fast that very soon the problem of computing it is shadowed by the more trivial problem of storing its values. Instead,  more interesting is to see how your computing device handles the computation itself, things like stacks of calls, etc, because here it is manifest the fact that Ack is not primitive recursive.
To simplify it, the funny thing is to see how you can compute Ack(m,n) without any cheat.
I tried to do this with #chemlambda . I know since a long time that it can be done, as explained (very summary, true) in this old post
https://chorasimilarity.wordpress.com/2013/10/19/a-machine-for-computing-the-ackermann-function-in-graphic-lambda-calculus/
for GLC, not chemlambda (but since chemlambda does with only local moves what GLC does, it’s the same).
I want to show you some pictures about it.
It is about computing Ack(3,2). Everybody will point that Ack(3,2) = 29 and moreover that Ack(3,n) has an explicit expression, but this would be cheating, because I don’t want to use precomputed stuff.
No, what I want to use is a lambda calculus term for the Ackermann function (and one which is not eta reduced, because chemlambda does not have eta reduction!), and I want to apply it to the arguments 3 and 2 written as lambda terms as well (using the Church encoding). Then I want to see if after the reductions performed by the algorithm I have I get 29 as a Church number as well.
During all the algorithm I use only graph reductions!
After all there are no calls, no functions and during the computation the molecules which appear are not even representing lambda terms.
Indeed, lambda calculus does not have operations or concepts like fanin nodes, or FOE nodes, not reductions like FAN-IN or DIST. That’s the amazing point (or at least one of them), that even if it veers outside lambda calculus, it ends where it should (or better, that’s for another time).
I used the programs which are available at the site of the chemlambda gui http://imar.ro/~mbuliga/gallery.html
(which is btw online again, after 2 days of server corruption.)Here are some pictures.The first one is a screenshot of the Ack(3,2) “molecule”, i.e. the graph which is to be reduced according to the chemlambda rules and according to the reduction strategy which I call “viral”.
ack_3_2_init
After almost 200 reductions I get 29, see the second figure, where it appears as the molecule which represents 29 as a Church numeral.
ack_3_2_finalWow, it really worked!
You can try it for yourself, I’ll give you the mol file to play with, but first some details about it.
I modified a bit the awk script which does the reductions, in the following place: when it introduces new nodes (after a DIST move) it has to invent new names for the new edges. In the script which is available for download the algorithm takes the max over all all ports names and concatenate it with a word which describes where the edge comes from. It is good for being able to track back where the nodes and edges come, but it results into a growth of the ports name which is exponential in the number of iterations of the reduction algorithm. This leads to very big names of some ports, after 200 iterations.
So I modified this part by choosing a naming procedure which is less helpful for tracking but better in the sense that now the growth of names is linear in the number of iterations. It is a quick fix, after all it is as easy to invent naming procedures which result in a logarithmic or almost constant length wrt the number of iterations.
For the Ackermann function the script which is available is just as good, it works well, only that it has this unpleasant feature of long names which enlarges unnecessarily the json files.
Details over, next now.
In the third picture you see the mol file for the Ack(3,2), i.e. the list of nodes and ports of the Ack(3,2) molecule, in the format used by the reduction program.
ack_3_2_mol
Btw, do you see in this screenshot the name of the updated script? Right, is foe_bubbles_09_10.awk, instead of foe_bubbles_06_10.awk which is available for download.
I don’t cheat at all, see?
I made some annotations which helps you to see which part corresponds to the Ackermann function (as a lambda term translated into chemlamda), which parts are the arguments “3” and “2”, and finally which part represents the Ackermann function applied to (3,2).
ackermann_3_2_mol
Soon enough, when I’ll be able to show you animated reductions (instead of the steps of reduction only), I think such an example will be very funny to examine, as it grows and then shrinks back to the result.
________________________________________

 

 

 

What is, what we understand and what we communicate about it

One of the major effects of the existence of the Net is that it challenges the cartesian method and shatters the foundations of science.  As the Net is still young and the traditions are old, comparatively, the effect is not yet clearly identified. But it is there already, and even if not named, it is  like a secret ailment which manifests here and there, stronger and stronger.

That which provokes the disease  is a lack of balance in the use  of the various ingredients of the cartesian method. The disbalance is provoked by the effort to fit what is, what we understand and what we communicate about it into the mould of the era when the method has been invented. It just does not fit, therefore it overflows in unexpected ways.

What is. Better is to say what is more, compared with the time when the cartesian metod was invented. There is a new virtual world in the making. Huge quantities of structured data, alternative  worlds evolved from seeds created by programmers, a whole new world of the Internet of Things in the making and, further away but really close though, an unification of the real world (defined as the one where Descartes lived and died) with these new, emerging ones.

The territory, suddenly, got much bigger.

What we understand. Better to say what we understand more than before. A huge body of scientific facts and discoveries which don’t quite fit ones with the others. Quantum mechanics with general Relativity has become an example for old boys and girls. We have models of the parts but we don’t understand C. Elegans with its 302 neurons.  There is though a building understanding of the fact that we do understand much more,  but the tools offer, each,  only a limited point of view. There are looming suspicions that data alone (what is) has more to tell us  than data filtered by a theory. We do understand, or starting to understand that semantics is  only a tool itself, a map maker, not the territory of what is.

The many maps we have don’t fit, we understand.

What we communicate. Better is to say that we communicate today in unparalleled ways than before. But what we communicate is a very small, rigidly formatted part of what we understand. It is hard to communicate science, and the channel constraints are damaging the message.

We have so much to communicate and the semantic maps don’t serve well this purpose.

 

Going back at the time of the cartesian method, we see that it has been made as a tool for isolated minds and very limited data inflow. More than this, the cartesian method is a collection of prescriptions about how to better understand and how to better communicate the understanding, which makes the rational choice for  those times, but an irrational one for our times:

  • it privileges what we understand over what is,
  • what we communicate over what we understand.
  • Then it optimizes what we communicate for the situation of one human mind which lays down the output in a book.

The book is then supposed to be distributed and multiplied  by means which are not of interest for the author, and then to hit other minds in an unidirectional way.

Descartes writes a book, then somebody else writes another book where he challenges or supports the ideas of a Dead Descartes Book, then yet another one writes a new book which contains references to the Dead Somebody Else Book. That’s the way of the science and Descartes proposed a wonderful path which ensures that the various Books are well written and contain Text as a sort of a program which can be easily debugged.

Descartes rules apply in an indiscriminate way to what is, what we understand and what we communicate about it.

Evidence and details in these two posts:

 

Saved version for direct download of the chemlambda gui

It appears that the site which hosts my chemlambda gui is down. Here is a save of the the playall archive for the chemlambda gui. You may use it if the original site is down.  Instructions about how to use it in this video:

UPDATE: The site is up again here  and I made a second video with a gun which shoots in two directions

_______________________________________________

DNA, err… tape replication pictures

Here are the kind of pictures you can get by using the chemlambda visualizer.

UPDATE: Here the first video about it:

Continuing with the post

The first is a screenshot of the initial tape  with bits on it (the tape contains “1010” as an example):

tape_with_bits_0And here is what you get after 6 reductions done by the algorithm:

tape_with_bitsI’ll explain in a moment what I did.

First I wrote the   tape.mol file which represents the initial molecule.

Then I used  bash_main_viral_foe_bubbles.sh  which can be downloaded from the explanations/downloads page of the visualizer.

The script waits me to choose a .mol file,  which I did by writing at the prompter tape.mol.

Then I typed firefox look.html &  (use whatever browser with javascript enabled) to see the results.

UPDATE: Attention, just found out that in some versions of safari there is a problem with working with local files. I suspect, but if you know more then please tell me, that even if safari does handle the file// protocol and opens the look.html, it does not handle well the part where the look.html opens the json files file_0.json … file_10.json.

These json files are produced by the scripts, then they are turned into d3 force graphs by look.html.

So, it may happen that safari opens the file look.html, but when you click on the buttons to see the molecules in action, then safari fails to open the json files which look.html needs, so nothing happens further.

I don’t know yet any solution for this, other than “use firefox” for example. There should be an elegant one.

UPDATE 2: solved!  just download playall.tar.gz .

_____

Now, everything (the scripts, libraries, the file look.html) are available at the said downloads page. This specific .mol file can be saved from the link provided.

I clicked on the “initial” button” and I got a whirling molecule. I let it settle a bit and then I used the click and drag to position some of the atoms in a fashion more understandable if there’s no move, in a picture.

Then I took the screenshot with a generic soft.

The same for the second picture, which shows what you get at step 6.  I combed the two replica of the tape (by click and drag) so that it is obvious that the replication went well.

Took a screenshot again.

And that’s it!

This is not yet part of the gallery of examples,  which I recommend in particular for getting other mol files.

The bit which I used (i.e. the green atoms molecule which is on the “tape” in some places) appears in the example named “the bit propagation“.

__________________________________________________

Varia: updates and preparations

Yesterday I found a bug in one of the programs for the chemlambda visualiser, namely an  unexpected functioning of the priority choice part when applied to a particular mol file (graph).

Today I took it methodically and found two bugs which create that behaviour. One was that the priority choice was not covering all the possibilities in a correct way, the other was a pure programming bug.

So I corrected everything and checked that on the examples from the gallery it works as expected, and also I checked it on many other examples which I have and it works well.

Of course, only to check a program on examples means nothing without a proof that the algorithm works well. I have done that, now the priority choice is indeed well implemented.

What is funny is that by trying to correct the priority choice part I have found the other stupid bug.

OK, so now all the new tar files are marked with 06_10_2014.

And anyway, as everything is open here, you may compare the versions and arrive to your own conclusions.

Mind that in a sense there is still a bug in the main_viral from the “play” archive:  it may happen that at some point the json file which is seen with look.html may be empty. This happens because in the “play” algorithm the loops are erased, and it is possible that a molecule reduces to a collection of loops, hence an empty json file eventually.

No problem with that, by using the “add_new” tar you have an algorithm which does not remove the loops (and also has the FOE node and its new moves). This one works perfectly now.

On a different subject: the artificialagora.wordpress.com  will launch soon. I don’t know yet if chorasimilarity and artificialagora will coexist, or if artificialagora will be the luxury version of chorasimilarity (hope not).

But soon enough we’ll see this.

Chorasimilarity site is still read in a strange way for a blog, because old posts receive comparable hits with new ones. Not all posts are good, for example posts as this one, where I indulge into telling about updates and preparations.

______________________________

Quick and dirty argument for space from chemlambda

One of the least understood ideas of chemlambda is related to this question: which is the space where these artificial molecules live?

There are two different possible applications of chemlambda, each having a different answer for this question. By confusing these two applications we arrive at the confusion about the conception of space in chemlambda.

Application 1 concerns real chemistry and biology. It is this: suppose there exist real chemical molecules which in reaction with real other substances (which play the role of the enzymes for the moves, invisible in chemlambda). Then, from the moment these real molecules and real enzymes are identified, we get *for free* a chemical computer, if we think small. If we think big, then we may hope that the real molecules are ubiquitous in biochemistry and once identified the chemical reactions which represent the chemlambda moves, then we get for free a computational interpretation of big parts of biochemistry. Thinking big, this would mean that we arrive to grasp a fundamental manifestation of computation in biochemistry, which has nothing at all to do with numbers, or bits, or boolean gates, or channels and processes, all this garbage we carry from the experience (very limited historically) we have with computation until now.

In this application 1 space is no mystery, is the well known 3d space, the vessel where real molecules roam. The interest is here not in “what is space”, but “is life in some definite clear way a computational thing?”.

Application 2 resembles more to physics than biochemistry. It aims to answer to the question what is space? Ironically from neuroscience we know that clearly living brains don’t relate with space in any way which involves coordinates and crunching numbers. However, the most fundamental physics never escaped the realm of coordinates and implicit assumptions about backgrounds.

Until now. The idea proposed by application 2 of chemlambda is that space is nothing but a sort of a program.

I try to make this clear by using emergent algebras, and will continue this path, but here is the quick and dirty argument, which appears not to use emergent algebras,  that chemlambda can explain space as a program.

(it does use them but this is a detail, pay attention to the main line.)

OK, so the artificial molecules in chemlambda are graphs. As graphs, they don’t need any space to exist, because everybody knows that a graph can be described in various ways (is a data structure) and only embeddings of a graph in a space need ahem … space.

Just graphs, encoded in .mol files, as used by the chemlambda visualiser I work on these days.

What you see on the screen when you use the visualiser is chemlambda as the main engine and some javascript salt and pepper, in order to impress our visually based monkey brains.

But, you see, chemlambda can do any computation, because it can do combinatory logic. The precise statement is that chemlambda with the reduction strategy which I call *the most stupid” is an universal computer.

That means that for any chain of reductions of a chemlambda molecule, there is another chemlambda molecule whose reductions describe the first mentioned reductions AND the javascript (and whatnot) computation which represent the said first chain of reductions on the screen.

What do you think about this bootstrapping?

__________________________

More input request about the chemlambda gui, thanks

 I get mixed messages from some of those who tried the chemlambda proto-gui. It works for  most, does not work for some of them. I am a mathematician, not a programmer, I learn as I do, I appreciate more input from everybody who tried it. Hope that in a month or so it will be much more evolved. Thanks for  sending private messages with your experience.
Downloads are here.

Visual tutorial for “the soup”

I started here a visual tutorial for chemlambda and it’s gui in the making. I call it a tutorial for the “soup” because it is about a soup of molecules. A living soup.

Hope that in  the  recent future will become THE SOUP. The distributed soup. The decentralized living soup.

Bookmark the page because content will be added on a daily basis!

_____________________________________________________