"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"
: TheGraph
version of the"FinalState"
as given byHypergraphToGraph
using the"StructurePreserving"
transformation"ObjectProperties"
: A list of properties of theWolframModel
that 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"]