Is there a formal definition or algorithm that can take a list of reactions and tell me whether it contains a set of species that can produce itself autocatalytically?

It is clear that the following reaction is autocatalytic: $$\ce{ A + B \to 2 B }$$ B appears on both sides of the equation, so it's a catalysis reaction, and there is an extra B produced on the right, so it catalyses its own production from A.

But the following reaction scheme can also be considered to contain autocatalysis: $$ \ce{B + C \to D + E\\ A + D \to 2C} $$ If this system starts out with plenty of A and B, together with one molecule of C, then the C molecule can react with a B to produce a D, which can then react with an A to produce two C's — whereas, without the initial "seed" molecule, no reactions will take place. (I'm neglecting reverse reactions here of course, but hopefully it gets the point across.) The autocataltic cycle can easily be seen in the following diagram, where circles represent species and boxes represent reactions:

autocatalysis diagram

Another non-obvious example of autocatalysis is a reaction scheme of this form: $$\ce{ A + C \to C + D\\ B + D \to D + C + E} $$ Here, C and D each catalyse the production of one another from the precursors A and B. I'm aware of Kauffman's definition of reflexively autocatalytic sets, which applies to schemes of this form, but would miss an autocatalytic cycle of the kind shown above, since it doesn't consist of single-step catalysis reactions. So I'm looking for a definition of autocatalysis that would include both cases, as well as (hopefully) other, more complex schemes that I haven't yet thought of.

  • 1
    $\begingroup$ Likely not a direct answer to your question but I'll leave it in a comment for the sake of awareness and perhaps discussion (and just popped up on my feed this morning). This paper looks interesting with regards to autocatalysis. arxiv.org/pdf/1205.0584v2.pdf $\endgroup$ May 7 '12 at 15:57
  • $\begingroup$ @LordStryker thanks! It's based on Kauffman's RAF sets though (Stuart Kauffman is the third author), whose definition relies on all the catalytic reactions being single-step ones. So it doesn't provide what I'm looking for, but it certainly looks interesting. $\endgroup$
    – Nathaniel
    May 7 '12 at 16:01
  • $\begingroup$ This is a very interesting question. I am nowhere near being up to the challenge of answering it, though I would love to see someone tackle it. $\endgroup$
    – Ben Norris
    May 25 '12 at 16:36
  • $\begingroup$ Is there a formal distinction between a chain reaction, and an autocatalysed reaction? Both involve the creation of temporary species which are accumulate before being used to create product. $\endgroup$
    – Nick
    Jun 7 '12 at 13:37
  • $\begingroup$ I don't know if there's a formal difference, but the two concepts are clearly very closely related. I tend to think autotcatalysis is a more technically well-defined thing, since "chain reaction" can also refer to less interesting "chains" of reactions such as $A \to B$ together with $B \to C$. But if there's a good formal definition of a chain reaction in the self-amplifying sense, I'd be very interested to see it. $\endgroup$
    – Nathaniel
    Jun 7 '12 at 14:27

I can't tell if the modifier "formal" applies only to "definition" or to "algorithm" also, in the first sentence of your question's body. In case any algorithm would do: this looks like a pretty standard instance of the cycle-detection problem that one learns in undergraduate computer science.

If you only want to detect the presence of cycles, then the algorithm is essentially just to attempt a topological sorting of the graph; if the attempt fails, you have a cycle, and I guess that would mean that you have some sort of catalysis going on. (I didn't major in chemistry; please yell at me if that's non sequitur.)

Okay, so mere cycles are not enough - it seems you want cycles that have "gain". How about a tortoise and hare and have these multiply a state variable by the ratio of outgoing to incoming edges to reaction nodes (denoted by squares in your diagram)? If the hare catches up to the tortoise, that implies a cycle, hence catalysis; then if you compare their state, if the hare has accumulated a larger "gain" than the tortoise, I would say that that shows the presence of autocatalysis?

I'm not sure how this works if there are multiple, linked cycles. You could have one cycle in your graph that's autocatalytic, and another cycle linked to it that "uses up" its catalyst (something of a contradiction). For example:

B + C -> D + E
A + D + H -> 2C + F
2F + G -> H

Is that still an autocatalytic system?

  • $\begingroup$ It was intended to be parsed as "(formal definition) or (algorithm)" - if an algorithm exists I won't quibble if it's stated informally :) You're right that cycles imply catalysis, but it's distinguishing this from autocatalysis that's the difficult bit. If you remove the double edge in the figure (i.e. change the reaction scheme to $\ce{B + C -> D + E}$ and $\ce{A + D -> C}$) then there's still a cycle, but only catalysis, not autocatalysis. If there's only one cycle in the graph it's easy to distinguish the two, but if there are many then I don't know how to do it. $\endgroup$
    – Nathaniel
    Jul 16 '12 at 16:44
  • $\begingroup$ I've added some more paragraphs; I think maybe you should pose this as a computer science / programming question on one of the other SO sites. $\endgroup$ Jul 17 '12 at 0:02
  • $\begingroup$ But the tortoise and hare algorithm is for finding cycles in sequences, not graphs, right? The problem here isn't so much to come up with an algorithm to detect autocatalysis - it's to find a suitably general definition. Once I have that I can probably come up with an algorithm myself (and I'd ask on a CS site if I couldn't). "A single cycle with some 'gain'" is only a special case of what I'm looking for - in general there will be many interlinked cycles - see the 3rd reaction scheme in my OP for an example. $\endgroup$
    – Nathaniel
    Jul 17 '12 at 20:55
  • $\begingroup$ The example you post contains an autocatalytic cycle but also contains some other stuff - that's OK. I'm looking for a way to find just the bits of the graph (subgraphs) that are autocatalytic. $\endgroup$
    – Nathaniel
    Jul 17 '12 at 20:56

This site is temporarily in read only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .