Skip to content

SimonPop/onion_network

Repository files navigation

🧅 Onion Network

banner

Project Version Python Version 3.8 License: MIT Code style: black PyPI version

Onion-structured networks are special kinds of scale-free networks with special topologies.

They tend to possess a high degree assortativity. It makes it possible to decompose them into layers of same-degree nodes, hence the name.

This property gives them strong resilience to node deletion attacks.

This library can help you explore these networks, giving access to both a generation and visualization method.

Algorithm

A generative algorithm producing synthetic scale-free networks with onion structure is implemented as described in the paper: Onion structure and network robustness.

Note: This algorithm can fail under certain circumstances. Therefore a max_trial number has been added so that the process can be tried different times until a viable solution is found.

Visualization

A side module allows plotting the generated graphs, radially separating onion layers.

Usage

Installation

You can install the package using pip.

pip install onion-network

Example

# Example usage of the onion generation and plotting.
from onion_network import plot_onion, onion_graph
G = onion_graph(n=100, gamma=2.5, alpha=3, max_trial=100)
plot_onion(G, cmap="tab20b")

banner

References

Papers

Chan, H., & Akoglu, L. (2016). Optimizing network robustness by edge rewiring : A general framework. Data Mining and Knowledge Discovery, 30(5), 1395‑1425. https://doi.org/10.1007/s10618-015-0447-5 Chujyo, M., & Hayashi, Y. (2022). Adding links on minimum degree and longest distance strategies for improving network robustness and efficiency. PLOS ONE, 17(10), e0276733. https://doi.org/10.1371/journal.pone.0276733 Hayashi, Y. (2018). A new design principle of robust onion-like networks self-organized in growth. Network Science, 6(1), 54‑70. https://doi.org/10.1017/nws.2017.25 Liu, X., Sun, S., Wang, J., & Xia, C. (2019). Onion structure optimizes attack robustness of interdependent networks. Physica A: Statistical Mechanics and Its Applications, 535, 122374. https://doi.org/10.1016/j.physa.2019.122374 Louzada, V. H. P., Daolio, F., Herrmann, H. J., & Tomassini, M. (2013). Smart Rewiring for Network Robustness. Journal of Complex Networks, 1(2), 150‑159. https://doi.org/10.1093/comnet/cnt010 Wu, Z.-X., & Holme, P. (2011, août 9). Onion structure and network robustness. ArXiv.Org. https://doi.org/10.1103/PhysRevE.84.026106

Blog article

The Onion Topology

About

A small library for generating and visualizing onion-structured networks!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages