Message Boards Message Boards


A simple multiway example: radioactive decay

Posted 7 months ago
1 Reply
4 Total Likes

In a recent Blog Post Stephen Wolfram showed that a lot of interesting geometry can be created just by iterating a simple function. The spirals are neat, some even seem to be works of art. It isn't immediately clear what a graph object has to do with science, so undergrads are left wanting more explanation. What is the simplest case where multi-computational paradigm can be applied to a textbook physics problem? One obvious candidate is Radioactive decay of Carbon atoms.

Say we have an array of $^{14}C$ atoms, and count $N$ of them at time $t=0$. After about $5,700$ years, we can expect to find about $N/2$ have decayed to nitrogen. Assuming atoms decay sequentially, how many possible paths through configuration space can we take? The simple answer is to choose $N/2$ from $N$ and take all possible permutations via the factorial function,

(*N = 2, 4, 6 . . .  *)
In[]:= Binomial[2 #, #] (#!) & /@ Range[6]
Out[]= {2, 12, 120, 1680, 30240, 665280}

And of course, this sequence is known on OEIS. To introduce a graphical method, we will instead sum over paths on a multiway graph. Represent a valid state as a list of $1$'s or $0$'s, with $1$ standing for Carbon, and $0$ standing for nitrogen. The iterator through configuration space decays exactly one Carbon atom in all possible ways.

Iterate[state_] := With[{locs = Position[state, 1][[All, 1]]},
  ReplacePart[state, # -> 0] & /@ locs]

Decay[nInt_] := NestList[Union[Flatten[Iterate /@ #, 1]] &,
  {Table[1, {nInt}]}, nInt]

Examining the output of any given call to Decay[n], we notice that counting states in a particular generation follows a row of Pascal's triangle

PascalsTriangle[nInt_] := Table[Length /@ Decay[i], {i, 0, nInt}]
PascalsTriangle[10] // TableForm

pascal triangle

This is a useful fact when plotting

IntEdgeMap[nInt_] := 
  MapIndexed[#1 -> #2[[1]] &, 
   SortBy[Tuples[{1, 0}, nInt], -Total[#] &]];

DecayEdges[nInt_] := ReplaceAll[Flatten[Outer[If[
        HammingDistance[#1, #2] == 1, DirectedEdge[#1, #2], {}] &,
      #[[1]], #[[2]], 1] & /@ Partition[Decay[nInt], 2, 1]],

vertexSort[nInt_] := With[{offset = Divide[Max[#] - #, 2]
  {#[[1]] + 
      offset[[#[[2]]]], (1 - #[[2]])/nInt Binomial[nInt, 
       Floor[nInt/2]]} & /@

   Map[Reverse[Position[Decay[nInt], #][[1]]] &,
    SortBy[Tuples[{1, 0}, nInt], -Total[#] &]]]

DecayGraph[nInt_] := 
 With[{HLs = nInt - NestWhileList[#/2 &, nInt, # > 1 &]},
  Show[Graphics[Line[{{0, - # Binomial[nInt, Floor[nInt/2]]/nInt },
        {Binomial[nInt, Floor[nInt/2]] + 1,
         - # Binomial[nInt, Floor[nInt/2]]/nInt }}] & /@ HLs],
   Graph[DecayEdges[nInt], VertexCoordinates -> vertexSort[nInt]]]]

GraphicsGrid[Map[Show[#, ImageSize -> 200] &,
  Partition[DecayGraph /@ Range[1, 8], 4], {2}]]

decay multiway graphs

Now let's examine features of these graphs, particularly even cases. Horizontal lines mark successive half-lives, and the first half life (for even cases) always intersects a row of $\binom{2n}{n}$ nodes with excatly $n$ edges directed into each node. If we follow the branching structure back to the root, we see that, on each preceding level, nodes have one less input. Thus we can derive the formula, that number of unique paths to one half life, $a(n) = \binom{2n}{n}n!=\frac{(2n)!}{n!}$.

Another interesting question is about the profile of state space:

PascalDist[nInt_] :=  MapIndexed[ {#2[[1]]/(nInt + 2), #1} &, 
  PascalsTriangle[nInt][[-1]]/Binomial[nInt, Floor[nInt/2]]]

ListLinePlot[PascalDist[2 #] & /@ Range[6], 
 PlotRange -> {{0, 1}, Automatic}, ImageSize -> 500]


Does this limit tend to a definite shape? If yes what?

POSTED BY: Brad Klee

enter image description here -- you have earned Featured Contributor Badge enter image description here Your exceptional post has been selected for our editorial column Staff Picks and Your Profile is now distinguished by a Featured Contributor Badge and is displayed on the Featured Contributor Board. Thank you!

POSTED BY: Moderation Team
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract