Question

I'm about to start an academic project and I need to create syntetic networks, that is...

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?

0 0
Add a comment Improve this question Transcribed image text
Answer #1

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.

Add a comment
Know the answer?
Add Answer to:
I'm about to start an academic project and I need to create syntetic networks, that is...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • I need help making this work correctly. I'm trying to do an array but it 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...

    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...

    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...

    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...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT