CausalDensityDimension
This release introduces CausalDensityDimension
which allows one to estimate Myrheim-Meyer dimension of causal graphs:
Needs["GeneralUtilities`"];
dimensionsPlot[rule_, init_, generationCount_, eventOrderingFunction_, sampleSize_] := ModuleScope[
history = WolframModel[rule, init, generationCount, "EventOrderingFunction" -> eventOrderingFunction];
eventRangesForGenerations = # + {1, 0} & /@ Partition[Accumulate @ history["GenerationEventsCountList"], 2, 1];
causalGraph = history["CausalGraph"];
dimensionsForGenerations = Join[
{Missing[]},
MeanAround /@
ParallelMap[CausalDensityDimension[causalGraph, {1, #}] &,
RandomSample[#, UpTo[sampleSize]] & /@ Range @@@ eventRangesForGenerations,
{2}]];
ListPlot[dimensionsForGenerations, PlotRange -> All, Frame -> True, FrameLabel -> {"Generations", "Dimension"}]
];
In[] := dimensionsPlot[
{{1, 2, 3}, {4, 3, 5}} -> {{6, 3, 7}, {6, 1, 2}, {3, 4, 1}}, {{1, 1, 1}, {1, 1, 1}}, 60, Automatic, 30]
In other news:
"FeatureAssociation"
property allows one to extract an association with named features (more work still needs to be done on the features themselves).- More functions now support syntax autocompletion.
- We improved the usage messages and function templates to use more descriptive argument names.
WolframPhysicsProjectStyleData
is now renamed toSetReplaceStyleData
. The old name still works for backwards compatibility.
Thanks to @SantiagoGiner, @mrektor, and @daneelsan for contributing to this release!