
BA ScaleFree Network Generation and Visualization 1.0 File ID: 78899 


 BA ScaleFree Network Generation and Visualization 1.0 License: Shareware File Size: 61.4 KB Downloads: 28
Submit Rating: 



BA ScaleFree Network Generation and Visualization 1.0 Description 

Description: *Description and Cautions
The SFNG mfile is used to simulate the BA algorithm and returns scalefree networks of given node sizes. Understanding the BA algorithm is key to using this code to its fullest. Due to Matlab resource limitations, it may not be possible to generate networks much larger than 15000 nodes, and increasing the mlinks variable increases processing time severely. This code was developed so that one could generate a network of small size, and then use that network as a seed to build a greater sized network, continuing this process until the actual desired network size is reached. This is for processor and time management purposes. However, realize that the initial seed does not have to have scalefree properties, while the later seeds may happen to have these properties. Therefore, it is prudent not to make the initial seed size much larger than a few nodes (most commonly 5 interconnected nodes). In addition, the mlinks should be kept constant throughout the creation of the scalefree network.
The PLplot mfile takes a scalefree network in adjacency matrix format and draws a best fit line to the frequency of degrees distribution of the nodes. Degree is the number of links that connect to and from a single node For scalefree networks, the frequency of degrees distribution forms a powerlaw curve, with an exponent usually between 2 and 3. This code is designed to allow only nonzero frequencies to be graphed in loglog format. The function returns the equation of the powerlaw fit in a cfit variable.
The CNet mfile function creates a network graph using the gplot function with circular coordinates. It allows for a simple, yet intuitive, visualization of a given network.
*Parameters
SFNG
Nodes is the desired network size, including the seed network size (i.e. Nodes minus seed network size equals the number of nodes to be added).
mlinks controls the number of links a new node can make to the existing network nodes.
seed is the original network to which the BA algorithm links additional nodes with a specific preferential attachment procedure. This undirected adjacency matrix can be created manually, or one could use the Adjacency Matrix GUI. Each node must have at least one link. The seed variable can be replaced with a developed scalefree network to generate a larger one. Make sure the new Nodes variable is greater than the size of the seed network.
PLplot Net is the input network which is to be graphed.
CNet Net is the input network which is to be graphed.
Note that variables Nodes, mlinks, and size must be whole numbers and variables seed and Net must be undirected adjacency matrices. The diagonal elements of any adjacency matrix used with these functions must all be zero.
*Sample Output
Here is a small example to demonstrate how to use the code. This code creates a seed network of 5 nodes, generates a scalefree network of 300 nodes from the seed network, and then performs the two graphing procedures.
seed =[0 1 0 0 1;1 0 0 1 0;0 0 0 1 0;0 1 1 0 0;1 0 0 0 0] Net = SFNG(300, 1, seed); PL_Equation = PLplot(Net) CNet(Net)
*References
One explanation of the BA Algorithm can be found on this PDF website http://arxiv.org/PS_cache/condmat/pdf/0107/0107420.pdf
Undirected Adjecency Matrices are defined on Wikipedia.org http://en.wikipedia.org/wiki/Adjacency_matrix
The Adjacency Matrix GUI file by Steve Chuang can be found on the Matlab File Exchange http://www.mathworks.com/matlabcentral/fil...objectType=file
*Acknowledgements Special thanks to Mark Ballerini with the Massapequa High School Science Research Program and Zoltan Dezso at the University of Notre Dame for their invaluable help in researching network theory as well as to my family for providing motivation and encouragement in pursuing science
License: Shareware Related: Matrix, replaced, Input, adjacency, manually, Attachment, Procedure, undirected, created O/S:BSD, Linux, Solaris, Mac OS X File Size: 61.4 KB Downloads: 28


More Similar Code 

Development of a database for the storage and visualization of (network) graphs with associated node and edge attributes. The project comprises the necessary database layer, web interface layer and visualization layer.
This project aims to do for MULTICS what Linux and GNU have done for UNIX  that is, to produce a totally free, totally unencumbered, and totally compliant OS that learns from prior work, rather than copies it.
A generic database schema generation and modeling tool. Allows a generic schema to be manually designed and edited or automatically generated. Schemas can be deployed to any of the supported database systems (Oracle,MySQL,SqlServer+).
Lock & Key is a royalty free security component for you applications. Distribute trial versions of your products which can be easily ounlockedo to the fully working versions over the phone or via the Internet. Use either a okill dateo or a...
Multilayer Perceptron Neural Network Model and Backpropagation Algorithm for Simulink. Multilayer Perceptron Neural Network Model and Backpropagation Algorithm for Simulink.
Marcelo Augusto Costa Fernandes DCA  CT  UFRN
A Practical Comparison of ADO and ADO.NET  Part II is an article in which the author compares the recordset of ADO with the Rowset of the ADO.NET. The rowset of the ADO.NET belongs to the OleDbDataReader and SqlDataReader classes. Using Recordset...
A Practical Comparison of XSLT and ASP.NET is an article in which the author shows you the diference in the performace of ASP.NET and XSLT. The author compares both ASP.NET and XSLT by providing the solution for getting the XML data and convert it...
A Quick Comparison of ADO and ADO.NET  Part I is an interesting article in which the author discusses about the difference between ADO and ADO.NET. ADO 2.x contains 9 classes to perform various database operations. But in ADO.NET you have two...
Creating a Weblog using JScript .NET and ASP.NET is an article in which author discusses about creating a web log by using ASP.NET and jscript. The author elaborates about web log, which represents the personal journal. The author gives details...
Mercurial (hg) is a distributed source control tool and Mercurial Queues (mq) is a patch management tool extension to hg. gwsmhg is a PyGTK GUI wrapper for hg and mq allowing them to be used in an integrated manner to manage a work space. 
User Review for BA ScaleFree Network Generation and Visualization 
