-
Notifications
You must be signed in to change notification settings - Fork 0
GSoC 2024 Ideas
Understanding the dynamics of opinions within social networks is crucial across various fields, including sociology, political science, and more. We introduce Seldon, an open-source, high-performance computing-friendly C++ engine coupled with a Python plotting toolkit, aimed at merging insights from diverse domains such as computer science, machine learning, and the humanities. Our framework supports a wide range of empirical models for opinion dynamics, including but not limited to the De Groot model, the Voter model, and more contemporary activity-driven models. The study of phase transitions within these systems, drawing parallels to the classic Ising model, will also be explored.
The first project revolves around creating Python bindings for the Seldon C++ engine. This initiative will bridge the gap between the engine's high-performance computational capabilities and the flexibility of Python for scripting and data analysis. The goal is to make Seldon's functionalities more accessible and to facilitate the integration of simulations with post-processing and visualization tools in the Python ecosystem.
Required knowledge: Proficiency in C++ and Python, experience with Python-C bindings, and familiarity with Pybind11 are essential. Some understanding of opinion dynamics models and simulations would be beneficial but not mandatory.
Project length: 350 hours
Difficulty level: Medium-Hard
Potential mentors: Amrita Goswami, Rohit Goswami, Moritz Sallermann
The second project focuses on enhancing Hari-Plotter, our toolkit for dynamic simulation reruns and replotting. This involves developing functionalities for seamlessly running simulations, updating plots in real-time, and incorporating Animated Scientific Visualizations (ASV) to better represent the dynamics of opinions within social networks.
Required knowledge: Strong command over Python, experience with scientific visualization libraries (e.g., Matplotlib, Plotly), and a keen interest in developing interactive visualization tools. Knowledge of simulation software and data processing would be advantageous.
Project length: 350 hours
Difficulty level: Medium
Potential mentors: Rohit Goswami, Moritz Sallermann, Amrita Goswami
The third project aims at reworking the Robbie library, which is currently tailored for neural network experimentation. The project's goal is to reimplement Robbie using either JAX or PyTorch to enable faster and more efficient iterative implementations, particularly for applications in studying opinion dynamics through machine learning models.
Required knowledge: Proficiency in Python with practical experience in JAX or PyTorch. A good understanding of neural networks, their architectures, and optimization techniques. Interest in the application of machine learning to social science or physics problems is a plus.
Project length: 350 hours
Difficulty level: Medium
Potential mentors: Moritz Sallermann, Amrita Goswami, Rohit Goswami
We are open to all additional proposals or ideas that align with our mission to explore opinion dynamics through computational models and visualizations. If you have an innovative project in mind, don't hesitate to reach out to us!
Contact the lead devs here.