Artificial chemistries: in vivo versus in vitro

Artificial chemistries may also be in vivo, or in vitro:

  • in vitro: lab like operations or analogies. Well stirred solutions (ie multisets), global operations like heating/cooling, chemical reaction networks (see CRNs are the stderr shadow),
  • in vivo: individual molecules in a random environment, lack of external control, like in a living organism.

While in vitro chemistries are very much the fashion, the in vivo chemistries are very intriguing!

Here is a list of such chemistries, according to my knowledge.

Fontana and Buss Algorithmic Chemistry.

Multisets of lambda calculus terms in normal form. (No mechanism to compute the normal form!)

Chemical reactions:

  • A + B -> AB

Later moved to study chemistry as a process calculus: Kappa language, basically async graph-rewriting.

Berry and Boudol The chemical abstract machine. Based on the Γ-language of Banatre and Metayer.

Computes! Multisets of process calculus terms and operations.

Chemical reactions in vitro:

  • p + q <-> p | q (cool or heat)
  • a.p + a’.q -> p + q (complementary ions reaction)
  • membranes, airlocks…

Buliga Chemical concrete machine. Graph rewriting of individual molecules.

Chemical reactions in vivo:

  • LHS + Enzyme -> RHS + Enzyme

Later chemlambda and Molecular computers with interaction combinators like graph rewriting systems

“Define a molecular computer as one molecule which transforms, by random chemical reactions mediated by a collection of enzymes, into a predictable other molecule, such that the output molecule can be conceived as the result of a computation encoded in the initial molecule. “

10.5281/zenodo.16018

See it live here.

Kruszewski and Mikolov Combinatory Chemistry: Towards a Simple Model of Emergent Evolution

Multisets of SKI calculus terms.

Chemical reactions:

  • IA -> A + I
  • KAB -> A + K + B
  • SABC + C -> (AC)(BC) + S
  • A + B -> AB

Buliga chemSKI

Individual molecules (graphs) with conservative graph rewrites.

Chemical reactions:

  • LHS + Tokens -> RHS + Tokens

Leave a comment