Hi, I’m Mihály László, a first-year physics PhD student at Babeș-Bolyai University, Romania, with a background in IT. I have a general interest in network science and would like to deepen my knowledge in community detection. I’m posting here to express my interest in joining the GSoC project:). I guess reading some articles in the topic (as listed in the project description) is a good place to start. What do you say?
Hi László, welcome to the igraph community! Let me introduce you to @RU-Lokamruth, who will be a co-mentor on this project.
I suggest the following first steps:
- Let us know if you prefer to write the tutorial for Python or R. One of these should be done. Ideally, the tutorial would then be translation to additional interfaces as well (Python, R, Mathematica).
- Assuming you’d choose Python, familiarize yourself with python-igraph, work through the tutorial, make sure you are comfortable using it. You should also be familiar with matplotlib, and be able to produce nice visualizations. If you choose R, the equivalent applied there.
- Since this is a technical writing project, it would be good to complete a small project of the same nature before applying for GSoC, and get a PR merged. Here’s a good way to get started: Create more Galery examples · Issue #819 · igraph/python-igraph · GitHub
Let me know if you have additional questions.
My name is Sanat Kumar Gupta, and I am a third-year Computer Engineering student at Thapar Institute of Engineering and Technology. I am particularly interested in Community Detection guide, as it aligns well with my coursework and skill set.
I have experience working with Python, R, C, C++, and MATLAB, and after thoroughly reviewing the study material and documentation of igraph, I am confident in my understanding of the concepts. I am eager to implement various community detection algorithms on different networks and analyze their comparative performance.
So far, I have implemented consensus clustering, hierarchical clustering, and partition similarity measures using igraph in Python. You can find my work in the following GitHub repository:
Before drafting my proposal, I have one question:
Are we expected to prepare a detailed Python notebook demonstrating the use of igraph functions with various community detection algorithms and validation tests?
I appreciate your time and look forward to your guidance.
Best regards,
Sanat Kumar Gupta
Welcome @SKG24 ! On a quick skim, you work looks like a nice start. I’ll take a more detailed look when I find the time.
Let me clarify that the primary goal of this project is not implementing new methods, nor creating validation tests. This is a technical writing project with a string coding component. We are looking to develop a tutorial that explains community detection to inexperienced users. Think biologists, sociologists, neuroscientists, etc. who collect data but have limited quantitative experience.
The project can optionally involve some more traditional development that fits well in the scope, such as making sure that all community detection functionality is exposed to igraph’s high level interfaces. For example, igraph_community_voronoi()
is not currently available in Python, but would be nice to have it. Your knowledge of C would make this easy.
Could you please let us know how much experience you presently have with network science? Would you be comfortable with reading papers to familiarize yourself with how the various methods work?
Please also see the response I wrote to @Mihaly_Laszlo above. It would be good to complete a contribution to igraph before going ahead, such as adding a new item to the Gallery. This should be fairly easy based on the work you’ve already done.
Hi, my name is Bea Márton, with three years of experience as a Python Developer. I would like to show my interest in the “Community detection guide” project, since I have a general interest in network science and have a background building a community detection algorithm (Community detection in directed weighted networks using Voronoi partitioning | Scientific Reports). I would love to contribute to this project and gain some experience in open-source development.
Thank you for your time and consideration.
Sincerely,
Bea
Welcome to igraph, @Bea_Marton. Please see my earlier responses in this thread about how to get started.
I have reviewed the examples under python-igraph Sphinx gallery and noticed that they are brief, with minimal explanation of the function’s purpose. To improve accessibility for inexperienced users, I have drafted a more detailed example: Community Detection and Partition Similarity using igraph.
Could you please review it and let me know if this aligns with the level of technical depth and clarity we are aiming for? Additionally, I suspect there might be some redundancy in my explanation—any feedback on refining the content to maintain conciseness while ensuring clarity would be greatly appreciated.
As part of my B.Tech curriculum, I have studied Data Structures and Advanced Data and Design Algorithms, where I explored various data representations, access methods and search, including graphs. Additionally, I have covered clustering techniques in Artificial Intelligence, Machine Learning, Predictive Analytics, and Natural Language Processing, where we manually implemented hierarchical clustering on small datasets for conceptual understanding.
Currently, I am reading the research papers Community Detection in Networks: A User Guide and Community Detection in Graphs as part of study material. I find them comprehensible due to my familiarity with graph-related terminology and measurement scores.
However, I have no prior experience in Network Science. That said, given my background in graph theory and clustering, I am confident in my ability to learn and apply these concepts effectively. I would appreciate any guidance or additional resources you recommend for building a stronger foundation in this field.
Indeed, they are brief, to the point, showing how to do a single thing, and always come with an attractive visualization. The gallery should continue to conform to this principle—let’s not add more detailed examples. Those will be the subject of tutorials that can be written as part of this project.
I can respond in more detail tomorrow.
I have submitted a Pull Request for the ‘Stochastic Variability in Community Detection Algorithms’ example. As the next step, should I share a draft of my proposal on the discourse group for feedback, or should I submit it directly through the GSoC 2025 portal?
It will be best if you prepare a draft and share it with us for feedback before submitting. I recommend that you develop and outline of the guide to be written and include it in the application. We can go fro there.
I was just curious and tried to implement an animated network clustering simulation that visually demonstrates community detection algorithms through progressive edge revelation.
- Edge Impact: Shows how individual edges affect cluster formation
- Algorithm Behavior: Contrasts different approaches
- Visual Metrics: Tracks performance in real-time
Future Work on algorithm:
- Make the simulation more insightful and intuitive
- Use labels and improve clustering visualization
- Verify whether it will work on huge real life network