Commit 17435c7
committed
feat(algorithms): extend mutual information with graph property modifiers
Add support for heterogeneous, temporal, signed, probabilistic, hierarchical,
multiplex, and hypergraph edges in MI computation:
Config extractors:
- communityExtractor: Extract community/cluster ID for same-community boost
- layerExtractor: Extract layer for multiplex graph aggregation
- timestampExtractor: Extract edge timestamp for temporal decay
- signExtractor: Extract sign for positive/negative edge handling
- probabilityExtractor: Extract edge probability
- hyperedgeExtractor: Extract additional nodes for hyperedge MI
Config parameters:
- useEdgeTypes: Enable edge type-based MI computation
- communityBoost: Boost factor for same-community edges (default 0.5)
- negativePenalty: Penalty for negative edges (default 0.5)
- temporalDecay: Decay rate for temporal modifier (default 0.001)
- referenceTime: Reference time for temporal decay
New helper functions:
- computeEdgeTypeMI: MI from edge type rarity
- computeTemporalModifier: Exponential decay based on edge age
- computeSignModifier: Penalty for negative edges
- computeCommunityModifier: Boost for same-community edges
- computeHyperedgeMI: Pairwise MI aggregation for hyperedges
Also fixes computeTypeMI to use canonical keys (alphabetically sorted)
for order-independent type pair lookup.1 parent 42d9aef commit 17435c7
1 file changed
+475
-52
lines changed
0 commit comments