SubstitutionSystemCausalGraph | Wolfram Function Repository

Generate a causal graph from a substitution system using standard updating order

Contributed by: Wolfram Physics Project Team

ResourceFunction["SubstitutionSystemCausalGraph"][rule,init,t]

generates a causal graph from the evolution of a substitution system.

ResourceFunction["SubstitutionSystemCausalGraph"][rule,init,t,"Layered"]

generates a layered causal graph from the evolution of a substitution system.

Details and Options

ResourceFunction["SubstitutionSystemCausalGraph"] takes the same options as Graph, with the additional option:

"IncludeInitializationEvents"Falsewhether to include an explict event to represent initialization

Examples

Basic Examples (2) 

Create a causal graph of a substitution system:

In[1]:=

ResourceFunction[
 "SubstitutionSystemCausalGraph"][{"AB" -> "BAAAB"}, "AB", 8]

Out[1]=

Show the layered embedding of a causal graph:

In[2]:=

ResourceFunction[
 "SubstitutionSystemCausalGraph"][{"AB" -> "BAAAB"}, "AB", 8, GraphLayout -> "LayeredDigraphEmbedding"]

Out[2]=

Scope (2) 

Use a single rule:

In[3]:=

ResourceFunction["SubstitutionSystemCausalGraph"][
 "AA" -> "AAA", "AA", 14]

Out[3]=

Use multiple rules:

In[4]:=

ResourceFunction[
 "SubstitutionSystemCausalGraph"][{"AA" -> "ABB", "BAB" -> "ABBA"}, "ABBAABAAB", 12]

Out[4]=

Options (1) 

IncludeInitializationEvents (1) 

Causal graph, without and with initialization:

In[5]:=

{ResourceFunction[
   "SubstitutionSystemCausalGraph"][{"AA" -> "ABB", "BAB" -> "ABBA"}, "ABBAABAAB", 5, "IncludeInitializationEvents" -> False, PlotLabel -> "without initialization"], ResourceFunction[
   "SubstitutionSystemCausalGraph"][{"AA" -> "ABB", "BAB" -> "ABBA"}, "ABBAABAAB", 5, "IncludeInitializationEvents" -> True, PlotLabel -> "with initialization"]} // Row

Out[5]=

Version History

  • 4.0.0 – 10 April 2020
  • 3.0.0 – 17 March 2020
  • 2.0.0 – 17 March 2020
  • 1.0.0 – 10 March 2020

Related Resources

Author Notes

SubstitutionSystemCausalGraph currently only works on strings.

There should be an option to give the description of each event as its node name

License Information