ash_model.multiego.minimum_overlapping_similarity

ash_model.multiego.minimum_overlapping_similarity(multiego1, multiego2)[source]

Compute the minimum overlapping similarity between two Multi-Ego Networks.

This similarity is defined as the size of the intersection divided by the minimum size of the two Multi-Ego Network hyperedge sets.

Parameters:
  • multiego1 (List[Set[int]]) – first Multi-Ego Network (list of hyperedges as sets of node IDs)

  • multiego2 (List[Set[int]]) – second Multi-Ego Network (list of hyperedges as sets of node IDs)

Returns:

minimum overlapping similarity score in [0, 1]. Returns 0.0 if either Multi-Ego Network is empty.

Return type:

float

Examples

>>> multiego1 = [{1, 2}, {2, 3}, {1, 3}]
>>> multiego2 = [{1, 2}, {3, 4}]
>>> sim = minimum_overlapping_similarity(multiego1, multiego2)
>>> print(f"Min overlapping similarity: {sim:.3f}")