All Projects → AlxndrMlk → Barabasi-Albert_Network

AlxndrMlk / Barabasi-Albert_Network

Licence: other
Barabási–Albert Network. A Step-by-Step Model with Visualizations created in Python 3.

Programming Languages

Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to Barabasi-Albert Network

Processing.r
R Language Mode in Processing for Creative Coding, created by @gaocegege, maintained by @jeremydouglass
Stars: ✭ 121 (+181.4%)
Mutual labels:  visualisation
Angr Utils
Handy utilities for the angr binary analysis framework, most notably CFG visualization
Stars: ✭ 169 (+293.02%)
Mutual labels:  visualisation
Brayns
Visualizer for large-scale and interactive ray-tracing of neurons
Stars: ✭ 232 (+439.53%)
Mutual labels:  visualisation
Stock Prediction
Smart Algorithms to predict buying and selling of stocks on the basis of Mutual Funds Analysis, Stock Trends Analysis and Prediction, Portfolio Risk Factor, Stock and Finance Market News Sentiment Analysis and Selling profit ratio. Project developed as a part of NSE-FutureTech-Hackathon 2018, Mumbai. Team : Semicolon
Stars: ✭ 125 (+190.7%)
Mutual labels:  visualisation
Database To Plantuml
Compile PostgreSQL and MySQL table information into a PlantUML description.
Stars: ✭ 157 (+265.12%)
Mutual labels:  visualisation
Unity Easinglibraryvisualisation
Front end visualisation of 40 common easing equations.
Stars: ✭ 178 (+313.95%)
Mutual labels:  visualisation
Misp Maltego
Set of Maltego transforms to inferface with a MISP Threat Sharing instance, and also to explore the whole MITRE ATT&CK dataset.
Stars: ✭ 112 (+160.47%)
Mutual labels:  visualisation
Bokeh
Interactive Data Visualization in the browser, from Python
Stars: ✭ 15,822 (+36695.35%)
Mutual labels:  visualisation
Teachingmaterial
Various teaching material
Stars: ✭ 159 (+269.77%)
Mutual labels:  visualisation
Marija
Data exploration and visualisation for Elasticsearch and Splunk.
Stars: ✭ 220 (+411.63%)
Mutual labels:  visualisation
Exabgp
The BGP swiss army knife of networking
Stars: ✭ 1,713 (+3883.72%)
Mutual labels:  visualisation
Flowiz
Converts Optical Flow files to images and optionally compiles them to a video. Flow viewer GUI is also available. Check out mockup right from Github Pages:
Stars: ✭ 144 (+234.88%)
Mutual labels:  visualisation
Dicomtomesh
A command line tool to transform a DICOM volume into a 3d surface mesh (obj, stl or ply). Several mesh processing routines can be enabled, such as mesh reduction, smoothing or cleaning. Works on Linux, OSX and Windows.
Stars: ✭ 191 (+344.19%)
Mutual labels:  visualisation
Ipyvolume
3d plotting for Python in the Jupyter notebook based on IPython widgets using WebGL
Stars: ✭ 1,696 (+3844.19%)
Mutual labels:  visualisation
Nodeeditorwinforms
Node based user control / editor for Windows Forms
Stars: ✭ 232 (+439.53%)
Mutual labels:  visualisation
Blobtools
Modular command-line solution for visualisation, quality control and taxonomic partitioning of genome datasets
Stars: ✭ 114 (+165.12%)
Mutual labels:  visualisation
Neural
LATEX: TikZ package for drawing neural networks. Also available on CTAN at http://www.ctan.org/tex-archive/graphics/pgf/contrib/neuralnetwork
Stars: ✭ 169 (+293.02%)
Mutual labels:  visualisation
berkeley-parser-analyser
A tool for classifying mistakes in the output of parsers
Stars: ✭ 34 (-20.93%)
Mutual labels:  visualisation
Datavisualization
Tutorials on visualizing data using python packages like bokeh, plotly, seaborn and igraph
Stars: ✭ 234 (+444.19%)
Mutual labels:  visualisation
Pylustrator
Visualisations of data are at the core of every publication of scientific research results. They have to be as clear as possible to facilitate the communication of research. As data can have different formats and shapes, the visualisations often have to be adapted to reflect the data as well as possible. We developed Pylustrator, an interface to directly edit python generated matplotlib graphs to finalize them for publication. Therefore, subplots can be resized and dragged around by the mouse, text and annotations can be added. The changes can be saved to the initial plot file as python code.
Stars: ✭ 192 (+346.51%)
Mutual labels:  visualisation

A Step-by-Step Barabási–Albert Model in Python 3

by Aleksander Molak (06.2017; last update: 03.2021)

email: [email protected]

NOTE: to make sure the code from this repo works, please check your libraries versions against requirements.txt. Good luck and have fun!

What is Barabási–Albert Network?

The Barabási–Albert (BA) model is an algorithm for generating random scale-free networks using a preferential attachment mechanism. Several natural and human-made systems, including the Internet, the world wide web, citation networks, and some social networks are thought to be approximately scale-free and certainly contain few nodes (called hubs) with unusually high degree as compared to the other nodes of the network. The BA model tries to explain the existence of such nodes in real networks. The algorithm is named for its inventors Albert-László Barabási and Réka Albert and is a special case of a more general model called Price's model. (source: https://en.wikipedia.org/wiki/Barab%C3%A1si%E2%80%93Albert_model)

What is this project about?

The goal of this project was to built a step-by-step Barabási–Albert Network Model. I used Python 3 and networkx library to meet this objective.

Note: This implementation hasn't been optimized for computational speed or memory usage; feel free to reuse and improve this code.

How does it work?

When you run the script you are asked to specify network parameters:

  • Initial number of nodes (), where

  • Final number of nodes

  • m parameter (where ); This parameter controls how many new edges will every new node create

When the script reaches final number of nodes you can visualize your network. For example you can use:

nx.draw(G, node_size=50, with_labels=0, alpha=0.6, node_color="#40a6d1", edge_color="#52bced")

and you should get a visualization similar to this:

net_4_500_2

You can also visualize degree distribution, using k_distr() function using linear or log-log scale.

Degree distribution of Barabási–Albert network is k**(-3) and so it gives a straight line in log-log scale.

Examples:

  • Linear scale example
k_distrib(graph=G, colour='#40a6d1', alpha=.8)

net_4_500_2_distr_lin

  • Log-log scale example
k_distrib(graph=G, colour='#40a6d1', scale='log', alpha=.8, fit_line=True, expct_lo=3, expct_hi=14, expct_const=8)

net_4_500_2_distr_log

Note: expct_lo, expct_hi and expct_const parameters are used to manually adjust theoretical distribution line in the plot

Network visualization function k_distr() in based on the animation script by Abdallah Sobehy: https://github.com/Abdallah-Sobehy/barabasi_albert/blob/master/BA.py

To see a few models I made with this Python script check these visualizations.

In case of any questions or if you simply wanna say hello, feel free to contact me [email protected]

Have fun! :)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].