CHAMP: Find the Convex Hull of Admissible Modularity Partitions...

View source: R/CHAMP.R

CHAMPR Documentation

Find the Convex Hull of Admissible Modularity Partitions (CHAMP)

Description

The Convex Hull of Admissible Modularity Partitions (CHAMP) method post-processes an input set of partitions as collected by get_partitions (or as formatted similarly from some other source of selected partitions) to identify the partitions that are somewhere optimal in the resolution parameter and the associated domains of (generalized) modularity optimization. That is, given the input set of partitions of nodes in a network into communities, CHAMP identifies which input partition is optimal at each value of the resolution parameter, gamma. Importantly, CHAMP is deterministic and polynomial in time given a specified input set of partitions; that is, all of the computational complexity and pseudo-stochastic heuristic nature of community detection is in identifying a good input set in get_partitions.

The CHAMP method was developed and studied in Weir, William H., Scott Emmons, Ryan Gibson, Dane Taylor, and Peter J. Mucha. “Post-Processing Partitions to Identify Domains of Modularity Optimization.” Algorithms 10, no. 3 (August 19, 2017): 93. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.3390/a10030093")}.

See also https://github.com/wweir827/CHAMP and https://github.com/ragibson/ModularityPruning.

Usage

CHAMP(network, partitions, plottitle = NULL)

Arguments

network

The network, as igraph object, to be clustered into communities. Only undirected networks are currently supported. If the object has a 'weight' edge attribute, then that attribute will be used.

partitions

A list of unique partitions (in the format generated by get_partitions).

plottitle

Optional title for generated plot of (generalized) modularity versus resolution parameter.

Value

CHAMP returns the input list of partitions with a $CHAMPsummary about which partitions are somewhere optimal (in the sense of modularity Q with a resolution parameter gamma) and their domains of optimality, along with the generated $CHAMPfigure plot of the upper envelope of Q(gamma). The returned list object also contains the original list entered into the partitions argument.

Author(s)

Peter J. Mucha (peter.j.mucha@dartmouth.edu), Alex Craig, Rachel Matthew, Sydney Rosenbaum and Ava Scharfstein

Examples

# Use get_partitions and CHAMP to generate multiple partitions of the
# Zachary karate club and identify the domains of optimality in the
# resolution parameter for different partitions
data(karate, package = "igraphdata")
partitions <- get_partitions(karate, n_runs = 500)
partitions <- CHAMP(karate, partitions, plottitle = "Weighted Karate Club")

ideanet documentation built on June 8, 2025, 1:07 p.m.