Function Repository Resource:

SubstitutionSystemCausalEvolution

Source Notebook

Generate a representation of causal structure in substitution system evolution

Contributed by: Wolfram Physics Project Team

ResourceFunction["SubstitutionSystemCausalEvolution"][rules,init,t]

generates a representation of the evolution of a substitution system with the specified rules from initial condition init for t steps.

ResourceFunction["SubstitutionSystemCausalEvolution"][rules,init,t,"scheme"]

generates a representation with evolution according to the specified updating scheme.

Details and Options

Possible update schemes include:
"Forward"scan forwards, including all replacements that fit (default)
"Backward"scan backwards
"First"do only the first replacement
"Sequential"sequential substitution system
"Random"pick a single replacement at random
{"Random", n}pick n replacements at random

Examples

Basic Examples (1) 

Evolve a substitution system for ten steps:

In[1]:=
ResourceFunction[
 "SubstitutionSystemCausalEvolution"][{"AB" -> "BA"}, "BBAAABABAAABBABBABA", 10]
Out[1]=

Scope (2) 

Use multiple substitution rules:

In[2]:=
ResourceFunction[
 "SubstitutionSystemCausalEvolution"][{"AB" -> "BA", "AA" -> "BAB"}, "BBAAABAABBABBABA", 7]
Out[2]=

SubstitutionSystemCausalEvolution supports different ways of applying a substitution rule. Set up a substitution system:

In[3]:=
subSystem = {{"AB" -> "BA"}, "BBAAABABAAABBABBABA", 5};

Scan the initial string forward:

In[4]:=
ResourceFunction["SubstitutionSystemCausalEvolution"][
 Sequence @@ subSystem, "Forward"]
Out[4]=

Scan backwards:

In[5]:=
ResourceFunction["SubstitutionSystemCausalEvolution"][
 Sequence @@ subSystem, "Backward"]
Out[5]=

Do the first replacement only:

In[6]:=
ResourceFunction["SubstitutionSystemCausalEvolution"][
 Sequence @@ subSystem, "First"]
Out[6]=

Do sequential substitution:

In[7]:=
ResourceFunction["SubstitutionSystemCausalEvolution"][
 Sequence @@ subSystem, "Sequential"]
Out[7]=

One random replacement:

In[8]:=
ResourceFunction["SubstitutionSystemCausalEvolution"][
 Sequence @@ subSystem, "Random"]
Out[8]=

Multiple random replacements:

In[9]:=
ResourceFunction["SubstitutionSystemCausalEvolution"][
 Sequence @@ subSystem, {"Random", 4}]
Out[9]=

Version History

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

Related Resources

License Information