指导项目#
此页面维护有指导的项目想法的列表,如果贡献者有兴趣为NetworkX项目做出贡献,他们可以使用这些想法。如果您有兴趣,请随时提出任何其他想法 NetworkX GitHub discussions page
这些想法可以用来作为Google Summer of Code、Outreachy、NumFOCUS Small Development Grants和大学课程/项目学分的项目(如果你的大学允许为开源贡献学分)。
用于在NetworkX中实现的算法的教学交互笔记本#
摘要:NetworkX拥有 wide variety of algorithms 实施。尽管算法被很好地记录下来,但对算法背后的想法的解释往往是缺失的,我们想收集这些解释,写下朱庇特笔记本来阐明这些想法,并从实验上探索算法,并在https://github.com/networkx/notebooks.上发布这些笔记本其目的是为读者提供标准网络科学和图论算法背后的更深层次的展望,并鼓励他们进一步钻研这一主题。
推荐技能:Python、Jupyter笔记本、图形算法。
预期结果:一系列交互式Jupyter笔记本,向NetworkX的读者和用户解释和探索网络算法。例如,请参阅此笔记本 Random Geometric Graphs
复杂性:取决于您感兴趣的算法。
预期时间承诺:该项目可以是中型项目(约175小时),也可以是大型项目(约350小时)。预计投稿人将为中期项目贡献2-3个教学互动笔记本,为长期项目贡献4-5个笔记本。
VF2++图同构算法的实现#
摘要: Graph Isomorphism Problem 是一个著名的P-与NP-完全交界处的困难网络问题。VF2算法以递归形式包含在NetworkX中。该算法有一个改进版本,称为 VF2++ 这是我们打算实施的。我们对主算法的非递归版本进行了早期的尝试,该算法还解决了子图同构和子图单态。该项目涉及全面实施它们,并扩展到有向图和多重图设置。
推荐技能:Python、图形算法
预期结果:NetworkX中的一组新函数以非递归方式为所有问题和图形类型实现VF2++算法。
复杂性:中等
预期时间承诺:长项目(约350小时)
已完成的项目#
- Louvain community detection algorithm
节目:Google Summer of Code 2021
投稿人: @z3y50n
- Asadpour algorithm for directed travelling salesman problem
节目:Google Summer of Code 2021
投稿人: @mjschwenne
- 教学笔记本: Directed acyclic graphs and topological sort
节目:Google Summer of Code 2021
投稿人: @vdshk
- 教学笔记本: Graph assortativity & Network flow analysis and Dinitz algorithm
节目:Google Summer of Code 2021
投稿人: @harshal-dupare
- NetworkX的附加系统: NetworkX-Metis
节目:谷歌代码之夏2015
投稿人: @OrkoHunter
- NetworkX 2.0 API
节目:谷歌代码之夏2015
投稿人: @MridulS
建议书链接: GSoC 2015: NetworkX 2.0 API