"FeatureAssociation" computes some features that can be handled by
FeatureExtraction
of the WolframModel
evolution and returns
an Association whose keys describe each feature
computed.
For now, it computes properties associated with these feature groups:
"StructurePreservingFinalStateGraph": TheGraphversion of the"FinalState"as given byHypergraphToGraphusing the"StructurePreserving"transformation"ObjectProperties": A list of properties of theWolframModelthat return a numeric value. Right now the list of properties is:"CausalGraph","EventsCount","PartialGenerationsCount","AllEventsDistinctElementsCount","AllEventsEdgesCount","CompleteGenerationsCount","TerminationReason".
In[] := WolframModel[{{x, y}, {x, z}} -> {{x, z}, {x, w}, {y, w}, {z, w}}, {{0, 0}, {0, 0}}, 5]["FeatureAssociation"]This property is useful for applying machine learning to Wolfram Models explorations:
In[] := BlockRandom[
FeatureSpacePlot[#["FeatureAssociation"] -> Image[#["FinalStatePlot"], ImageSize -> Tiny] & /@
(WolframModel[{{x, y}, {x, z}} -> {{x, z}, {x, w}, {y, w}, {z, w}}, #, 6] &) /@
Table[RandomHypergraph[{3, 2}, 2], 10], LabelingFunction -> Callout], RandomSeeding -> 3
]For Multiway Systems
it only computes features associated with
the causal graph,
returning Missing["NotExistent", {"MultiwaySystem", "FinalState"}] for features related to
"StructurePreservingFinalStateGraph", as there is
no "FinalState"
in a Multiway System:
In[] := WolframModel[{{x, y}, {x, z}} -> {{x, z}, {x, w}, {y, w}, {z, w}}, {{1, 1}, {1, 0}, {1, 1}}, 3,
"EventSelectionFunction" -> "MultiwaySpacelike"]["FeatureAssociation"]

