导师项目#
本页面维护了一个受导师指导的项目创意列表,供有兴趣为NetworkX项目做贡献的贡献者参考。如果您对在 NetworkX GitHub讨论页面 上提出任何其他想法感兴趣,请随时提出。
这些想法可以作为Google Summer of Code、Outreachy、NumFOCUS小型开发资助和大学课程/项目学分(如果您的大学允许为学分做出开源贡献)的项目。
NetworkX中实现的算法的教学交互式笔记本#
摘要:NetworkX实现了:ref:
各种算法
。尽管这些算法有很好的文档,但算法背后的思想解释通常缺失,我们希望收集这些内容,编写Jupyter笔记本来阐明这些思想,并通过实验探索这些算法,并将这些笔记本发布在https://github.com/networkx/notebooks。目标是让读者更深入地了解标准网络科学和图论算法背后的思想,并鼓励他们进一步深入研究这一主题。推荐技能:Python,Jupyter笔记本,图算法。
预期成果:一系列交互式Jupyter笔记本,向NetworkX的读者和用户解释和探索网络算法。例如,查看这个关于:doc:
几何生成器模型
的笔记本。复杂性:取决于您有兴趣研究的算法。
预期时间投入:该项目可以是中等项目(~175小时)或大型项目(~350小时)。贡献者预计在中等项目中贡献2-3个教学交互式笔记本,在长期项目中贡献4-5个笔记本。
使用Matplotlib的可视化API#
摘要:NetworkX具有一些基本绘图工具,使用Matplotlib来渲染图像。API没有改变,而Matplotlib已经发生了变化。此外,我们已经添加或正在尝试添加新功能,特别是关于绘制边的功能。我们希望有人可以详细了解我们提供的内容以及Matplotlib提供的内容,并提出一种让用户能够灵活绘制图形但又具有良好默认设置的方法。一个夏季很难完成一个广泛的主题,但可以制定一个路线图,并在这条路上取得实质性进展。
推荐技能:Python,Matplotlib经验。
预期成果:NetworkX内Matplotlib工具的精细API的路线图,以及以PR形式实现(部分)该API的代码,并附带测试。
预期时间承诺:这个项目将是一个全职项目,为期10周(~350小时)。
将Python库用于ISMAGs同构计算#
摘要:Sandia Labs的一个团队已经将ISMAGS同构例程的原始Java实现转换为Python。他们邀请我们将该代码纳入NetworkX中,如果我们有兴趣的话。我们希望有人学习我们目前提供的ISMAGS代码,以及来自这个新库的代码,并找出最佳组合方式,以便将来纳入NetworkX。这可能是两个独立的工具子包,或更可能是两组代码的组合,或者是结合了每个代码集的优点的第三种方式。
推荐技能:Python,图算法。
预期结果:制定最佳方式将ISMAGS纳入NetworkX的计划,并提供执行此纳入的代码。
预期时间承诺:这个项目将是一个全职项目,为期10周(~350小时)。
中心性图谱#
摘要:该项目的目标是对网络中心性度量进行全面审查。 中心性是网络科学中的一个核心概念,在各个领域都有许多应用。 NetworkX提供了许多用于测量各种类型 网络中心性 的函数。 个别中心性函数通常通过它们的文档字符串进行良好描述(尽管总有改进的空间);然而,目前没有关于中心性的整体概述。 此外,许多中心性度量是密切相关的,但没有描述这些关系的文档。
推荐技能:Python,文献综述,技术写作
预期结果:提供网络中心性度量的概述和应用的可执行文档。潜在产出包括(但不限于):一篇供
nx-guides
使用的文章(见上文)和/或一个中心性度量示例库。预期时间承诺:变化,但高质量的审查文章预计需要数月的专门研究时间(~350小时)。
已完成项目#
- `VF2++图同构算法`_
程序:Google 2022年夏季代码
贡献者: @kpetridis24
- `Louvain社区检测算法`_
项目:Google Summer of Code 2021
贡献者: @z3y50n
提案链接: GSoC 2021: 社区检测算法
- `Asadpour算法解决有向旅行商问题`_
项目:Google Summer of Code 2021
贡献者: @mjschwenne
提案链接: GSoC 2021: Asadpour算法
- 教学笔记: `有向无环图和拓扑排序`_
项目:Google Summer of Code 2021
贡献者: @vdshk
- 教学笔记: `图的同配性`_ & `网络流分析和Dinitz算法`_
项目:Google Summer of Code 2021
贡献者: @harshal-dupare
- NetworkX的附加系统: `NetworkX-Metis`_
项目:Google Summer of Code 2015
贡献者: @OrkoHunter
提案链接: GSoC 2015: NetworkX的附加系统
- `NetworkX 2.0 API`_
项目:Google Summer of Code 2015
贡献者: @MridulS