modularity_optimization

Function modularity_optimization 

Source
pub fn modularity_optimization<N, E, Ix>(
    graph: &Graph<N, E, Ix>,
    initial_temp: f64,
    cooling_rate: f64,
    max_iterations: usize,
) -> CommunityStructure<N>
where N: Node + Clone + Hash + Eq + Debug, E: EdgeWeight + Into<f64> + Copy, Ix: IndexType,
👎Deprecated since 0.1.0-beta.2: Use modularity_optimization_result instead for standardized community detection API
Expand description

Optimizes modularity using simulated annealing

This algorithm tries to maximize modularity by iteratively moving nodes between communities using simulated annealing to escape local optima.

§Arguments

  • graph - The graph to analyze
  • initial_temp - Initial temperature for simulated annealing
  • cooling_rate - Rate at which temperature decreases (0 < rate < 1)
  • max_iterations - Maximum number of iterations

§Returns

  • A community structure with optimized modularity

§Time Complexity

O(k * n * m) where k is the number of iterations, n is the number of nodes, and m is the number of edges. Each iteration involves evaluating modularity changes for potential node moves.

§Space Complexity

O(n) for storing community assignments and modularity calculations.