I'm about to start an academic project and I need to create syntetic networks, that is graphs with special properties.
The kinds of graphs (network topologies) I need to generate are:
Erdos-Renyi
Barabasi-Albert
Random regular
Watts-Strogatz (optional)
I may take 2 of the graphs generated using the above models and link them together, for example connecting an Erdos-Renyi graph with a Random regular graph.
I need a tool or a library capable of generating and exporting graphs. Acceptable export formats are: CSV, JSON, XML and gml files. The simpler the export format, the better.
Arcs in the graph can be directed or undirected, weighted or unweighted, and nodes should be able to contain basic information (e.g. a "consumption" parameter). The latter may be done through inheritance and is not crucial.
I do not need to visualize the generated graphs right now, I could use another tool for that. It would be nice to have, but what I care the most for is the quality of generated network.
My preference is for tools with a good documentation and quality tutorials.
I know Java and C++, with a preference for the former. I could use Python as well (if that's the best option), but I'm not really familiar with it.
Some of the libraries I'm considering are:
JGraphT is a famous Java library, has a comprehensive JavaDoc, but its tutorials are quite poor and it does not seem to be able to generate all the network topologies I need.
Boost Graph Library is a famous C++ library, has a comprehensive documentation, but I can't find any tutorials for it and I'm not sure it has all the generators I need.
Neo4j is a set of Java algorithms, has a comprehensive JavaDoc but does not have tutorials and seems to miss the random regular generator.
NetworkX is a Python library that seems to have the best documentation and tutorials, it seems to have all the generators I need, but would require me to use Python. Is it really that good?
I would serious suggest taking a couple of days to make a start at learning python - it and its libraries are awesome both in simplicity of use and in power. One of the big advantages of working in python is it works just about everywhere and you can even have a USB stick installation that will work without installation on most Windows machines - keep an backup of your work and tools on this and you can demo/make changes anywhere.
NetworkX is very good but I would also suggest taking a look at plotly/matplotlib/scipy for some additional tools.
To answer the last bit Python really is that good - there are just a couple of really important things to remember <space>*n is not equal to <tab> and if your code is not well laid out it will not run as you expect or not at all.
I'm about to start an academic project and I need to create syntetic networks, that is...
I need help making this work correctly. I'm trying to do an array but it is drawing from a safeInput class that I am supposed to use from a previous lab. The safeInput class is located at the bottom of this question I'm stuck and it is not printing the output correctly. The three parts I think I am having most trouble with are in Bold below. Thanks in advance. Here are the parameters: Create a netbeans project called ArrayStuff...
I have added the pictures for decision case 21-1 as per
requested in the instructions from the textbook....if solved in
detail and calculations shown would be really helpful
Instructions: 1. Complete the requirements for Decision Case 21-1 on page 1197 of your textbook. Show all calculations and include references for your supporting documentation 2. In addition to the requirements in the textbook (#1-4), please prepare a CVP graph of your results for requirements #1 and #2 using Exhibit 21-8 and...
Hi there! I need to compare two essay into 1 essay, and make it interesting and choose couple topics which im going to talk about in my essay FIRST ESSAY “Teaching New Worlds/New Words” bell hooks Like desire, language disrupts, refuses to be contained within boundaries. It speaks itself against our will, in words and thoughts that intrude, even violate the most private spaces of mind and body. It was in my first year of college that I read Adrienne...
Read this article. Then write a 250 word response on two of the programs you like the most. Open source business intelligence software 1. BIRT BIRT is an open source BI program that CloudTweaks says is often viewed as the industry standard. BIRT boasts “over 12 million downloads and over 2.5 million developers across 157 countries.” Its users include heavyweights such as Cisco, S1, and IBM (which is also a BIRT sponsor). They also have maturity going for them, as...