A module for generating and visualizing onion-structured networks!
Project description
🧅 Onion Network
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")
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file onion_network-1.0.2.tar.gz
.
File metadata
- Download URL: onion_network-1.0.2.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ac4975bacf0a1bd78dc5e4442e167644370b78f39f1c1542d803463931e9430 |
|
MD5 | fb9c81894b2ba9c8c7222e678e458a71 |
|
BLAKE2b-256 | 369432753be46f1ef51632a5195486414926d4f7867f833b7c6322fc9d30bd56 |
File details
Details for the file onion_network-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: onion_network-1.0.2-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cfe832ae324737795173b089cea96fe502a975da8eb269dcf122ac6e4adca91 |
|
MD5 | a6af7bc1f64478e0a3515d0b3e4e15af |
|
BLAKE2b-256 | 1976ee96c7a124d53e8d92fb681afa64bc1f7c899aa82beeb39a901be311b527 |