Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Represent the result of evolution of a Wolfram model
ResourceFunction["WolframModelEvolutionObject"][…][t] gives the state of a Wolfram model evolution after t generations. | |
ResourceFunction["WolframModelEvolutionObject"][…][prop] gives the specified property of a Wolfram Model evolution object. | |
ResourceFunction["WolframModelEvolutionObject"][…][prop,opts] uses the specified options for the result. |
| t | the state at generation t |
| -t | the state t generations from the end |
| "StatesList" | the list of states for each complete generation |
| "StatesPlotsList" | list of plots of states |
| "FinalState" | the final state only |
| "FinalStatePlot" | plot of final state |
| "AllEventsStatesList" | the list of all states after all updating events |
| "AllEventsList" | the list of all updating events during the evolution |
| "AllEventsRuleIndices" | list of indices of transformation rules used during the evolution |
| "EventsStatesList" | the list of successive events and states during the evolution |
| "EventsStatesPlotsList" | list of plots of successive states with each event highlighted |
| "AllEventsEdgesList" | the list of all edges in the order they are generated by events |
| "EdgeCreatorEventIndices" | the indices of the updating event that creates each edge |
| "EdgeDestroyerEventIndices" | the indices of the updating event that destroys each edge |
| "VertexCountList" | the list of vertex counts for each complete generation |
| "EdgeCountList" | the list of edge counts for each complete generation |
| "GenerationsCount" | the number of complete and partial generations |
| "GenerationEventsCountList" | the number of events between successive generations |
| "GenerationEventsList" | the list of events between successive generations |
| "EdgeGenerationsList" | which generation each edge is associated with |
| "EventGenerationsList" | which generation each event is associated with |
| "AllEventsCount" | the total number of events in the evolution |
| "CausalGraph" | the causal graph for the evolution |
| "LayeredCausalGraph" | the causal graph rendered in layered form |
| "Rules" | the underlying rules for the Wolfram model system |
| "TerminationReason" | why the evolution was stopped |
| "MaxEvents" | maximum number of events reached |
| "MaxGenerations" | maximum number of generations reached |
| "MaxVertices" | maximum number of hypergraph vertices reached |
| "MaxEdges" | maximum number of hypergraph edges reached |
| "MaxVertexDegree" | maximum degree of any vertex reached |
| "FixedPoint" | rule does not have any more matches |
| "TimeConstraint" | specified execution time reached |
| "Aborted" | externally aborted |
| IncludePartialGenerations | True | whether to include data on incomplete generations |
| IncludeBoundaryEvents | None | whether to include boundary events in properties like "CausalGraph" |
Create an evolution object:
| In[1]:= |
|
| Out[1]= |
|
Get the plot of the final state:
| In[2]:= |
|
| Out[2]= |
|
Make a causal graph for the same evolution:
| In[3]:= |
|
| Out[3]= |
|
"StatesList" yields the list of states at each generation:
| In[4]:= |
|
| Out[4]= |
|
Make the list of plots of all states:
| In[5]:= |
|
| Out[5]= |
|
"FinalState" yields the state obtained after all replacements of the evolution have been made:
| In[6]:= |
|
| Out[6]= |
|
Make the plot of the final state:
| In[7]:= |
|
| Out[7]= |
|
"StatesList" shows a compressed version of the evolution. To see how state changes with each applied replacement, use "AllEventsStatesList":
| In[8]:= |
|
| Out[8]= |
|
"AllEventsList" returns all replacement events throughout the evolution:
| In[9]:= |
|
| Out[9]= |
|
"AllEventsRuleIndices" returns which rule was used for each event:
| In[10]:= |
|
| Out[10]= |
|
"EventsStatesList" just produces a list of {event,state} pairs, where state is the complete state right after this event is applied:
| In[11]:= |
|
| Out[11]= |
|
"EventsStatesPlotsList" plots not only the states, but also the events that produced them:
| In[12]:= |
|
| Out[12]= |
|
"AllEventsEdgesList" returns the list of edges throughout evolution:
| In[13]:= |
|
| Out[13]= |
|
Get creator and destroyer events for each edge throughout the evolution:
| In[14]:= |
|
| Out[14]= |
|
"VertexCountList" and "EdgeCountList" return counts of vertices and edges respectively in each state of "StatesList":
| In[15]:= |
|
| Out[15]= |
|
"GenerationsCount" returns both complete and partial generations count:
| In[16]:= |
|
| Out[16]= |
|
"GenerationEventsCountList" gives the number of events per each generation:
| In[17]:= |
|
| Out[17]= |
|
"GenerationEventsList" returns the same list of events, but splits them into sublists for each generation:
| In[18]:= |
|
| Out[18]= |
|
"EdgeGenerationsList" yields the list of generation numbers for each edge in "AllEventsEdgesList":
| In[19]:= |
|
| Out[19]= |
|
"EventsGenerationsList" gives the same for events:
| In[20]:= |
|
| Out[20]= |
|
"AllEventsCount" returns the overall number of events throughout the evolution:
| In[21]:= |
|
| Out[21]= |
|
Get a causal graph for an evolution:
| In[22]:= |
|
| Out[22]= |
|
The causal graph can be layered putting events from each generation on a different level:
| In[23]:= |
|
| Out[23]= |
|
Drop partial generations from the evolution:
| In[24]:= |
|
| Out[24]= |
|
If partial generations were not dropped, there would be one more element in the plots list:
| In[25]:= |
|
| Out[25]= |
|
Include the initial event in a causal graph:
| In[26]:= |
|
| Out[26]= |
|
Include both the final event in the list of events:
| In[27]:= |
|
| Out[27]= |
|
Include both the initial and the final events in "EventsStatesList":
| In[28]:= |
|
| Out[28]= |
|
For state plots, WolframModelPlot options can be given:
| In[29]:= |
|
| Out[29]= |
|
Evolution objects are created by WolframModel without a property argument:
| In[31]:= |
|
| Out[32]= |
|
WolframModelPlot is used internally generate graphics:
| In[33]:= |
|
| Out[33]= |
|
| In[34]:= |
|
| Out[34]= |
|
The content of very large evolutions will not be saved in the notebook by default:
| In[35]:= |
|
| Out[35]= |
|
Click "Store now" to save for you in other Kernel sessions:
Show which rule is used for each event on a causal graph:
| In[36]:= |
|
| Out[36]= |
|
Color edges of different generations differently in a "StatesPlotsList":
| In[37]:= |
|
| Out[37]= |
|
This work is licensed under a Creative Commons Attribution 4.0 International License