icentral-test-fuad

Crates.ioicentral-test-fuad
lib.rsicentral-test-fuad
version0.1.0
created_at2025-04-04 22:36:11.482791+00
updated_at2025-04-04 22:36:11.482791+00
descriptionA Rust crate for computing approximate Betweenness Centrality in dynamic graphs using edge-insertions and Biconnected Components.
homepage
repository
max_upload_size
id1620887
size74,050
(klebs6)

documentation

README

icentral-test-fuad

icentral-test-fuad is a Rust library designed for efficient graph processing, specifically focusing on the computation of approximate Betweenness Centrality via an experimental algorithm leveraging Biconnected Components (BCCs). This crate targets computationally intensive graph analyses, making it optimal for large-scale application in network science or complex systems analysis.

Features

  • Implements a high-performance algorithm for Betweenness Centrality using Brandes' method combined with BCC estimation.
  • Provides efficient graph updates through inserted edge operations, minimizing recomputation costs.
  • Optimized for concurrent execution, making it suitable for large graphs with dynamic topologies.

Installation

To use icentral-test-fuad, add the following to your Cargo.toml:

[dependencies]
icentral-test-fuad = "0.1.0"

Usage

The library provides a function exp_fuad_p enabling Betweenness Centrality updates on dynamic graphs:

use icentral_test_fuad::exp_fuad_p;

let mut graph = Graph::new();
let edges = vec![Edge::new(1, 2), Edge::new(2, 3)];
let brandes_time = Duration::new(1, 0);

exp_fuad_p(&mut graph, Some(10), &edges, brandes_time);

Concepts

Biconnected Components

The algorithm computes Betweenness Centrality by leveraging BCCs of the graph, facilitating improved accuracy and performance especially when edges are dynamically added.

Betweenness Centrality (BC)

A key metric in network analysis, BC quantifies the importance of nodes as bridges of information in a network topology.

Algorithmic Approach

  • Utilizes Brandes' algorithm as a foundational method.
  • Enhances computational efficiency through an experimental iterative process tailored for dynamic graph changes, maintaining accuracy while reducing computational cost.

Advanced Configuration

  • num_iter: Configure the number of iterations for edge processing. Optimize based on graph dynamics and computational constraints.

Note:

This README.md was generated by an AI model and may not be 100% accurate, however, it should be pretty good.

License

This project is licensed under the MIT License.

This crate is in the process of being translated from c++ to rust. Currently, it still needs exhaustive testing. It is likely there currently exist many glitches which need to be fixed before proper usage. This crate is based on the original icentral program developed by Fuad Jamor. Please see the following repository for details: https://github.com/fjamour/icentral.

For progress updates, see the workspacer rust project.

Commit count: 0

cargo fmt