导师项目#

本页面维护了一个受导师指导的项目创意列表,供有兴趣为NetworkX项目做贡献的贡献者参考。如果您对在 NetworkX GitHub讨论页面 上提出任何其他想法感兴趣,请随时提出。

这些想法可以作为Google Summer of Code、Outreachy、NumFOCUS小型开发资助和大学课程/项目学分(如果您的大学允许为学分做出开源贡献)的项目。

NetworkX中实现的算法的教学交互式笔记本#

  • 摘要:NetworkX实现了:ref:各种算法 。尽管这些算法有很好的文档,但算法背后的思想解释通常缺失,我们希望收集这些内容,编写Jupyter笔记本来阐明这些思想,并通过实验探索这些算法,并将这些笔记本发布在https://github.com/networkx/notebooks。目标是让读者更深入地了解标准网络科学和图论算法背后的思想,并鼓励他们进一步深入研究这一主题。

  • 推荐技能:Python,Jupyter笔记本,图算法。

  • 预期成果:一系列交互式Jupyter笔记本,向NetworkX的读者和用户解释和探索网络算法。例如,查看这个关于:doc:几何生成器模型 的笔记本。

  • 复杂性:取决于您有兴趣研究的算法。

  • 感兴趣的导师: @MridulS@rossbar

  • 预期时间投入:该项目可以是中等项目(~175小时)或大型项目(~350小时)。贡献者预计在中等项目中贡献2-3个教学交互式笔记本,在长期项目中贡献4-5个笔记本。

使用Matplotlib的可视化API#

  • 摘要:NetworkX具有一些基本绘图工具,使用Matplotlib来渲染图像。API没有改变,而Matplotlib已经发生了变化。此外,我们已经添加或正在尝试添加新功能,特别是关于绘制边的功能。我们希望有人可以详细了解我们提供的内容以及Matplotlib提供的内容,并提出一种让用户能够灵活绘制图形但又具有良好默认设置的方法。一个夏季很难完成一个广泛的主题,但可以制定一个路线图,并在这条路上取得实质性进展。

  • 推荐技能:Python,Matplotlib经验。

  • 预期成果:NetworkX内Matplotlib工具的精细API的路线图,以及以PR形式实现(部分)该API的代码,并附带测试。

  • 感兴趣的导师: @dschult , @rossbar

  • 预期时间承诺:这个项目将是一个全职项目,为期10周(~350小时)。

将Python库用于ISMAGs同构计算#

  • 摘要:Sandia Labs的一个团队已经将ISMAGS同构例程的原始Java实现转换为Python。他们邀请我们将该代码纳入NetworkX中,如果我们有兴趣的话。我们希望有人学习我们目前提供的ISMAGS代码,以及来自这个新库的代码,并找出最佳组合方式,以便将来纳入NetworkX。这可能是两个独立的工具子包,或更可能是两组代码的组合,或者是结合了每个代码集的优点的第三种方式。

  • 推荐技能:Python,图算法。

  • 预期结果:制定最佳方式将ISMAGS纳入NetworkX的计划,并提供执行此纳入的代码。

  • 感兴趣的导师: @dschult , @rossbar

  • 预期时间承诺:这个项目将是一个全职项目,为期10周(~350小时)。

中心性图谱#

  • 摘要:该项目的目标是对网络中心性度量进行全面审查。 中心性是网络科学中的一个核心概念,在各个领域都有许多应用。 NetworkX提供了许多用于测量各种类型 网络中心性 的函数。 个别中心性函数通常通过它们的文档字符串进行良好描述(尽管总有改进的空间);然而,目前没有关于中心性的整体概述。 此外,许多中心性度量是密切相关的,但没有描述这些关系的文档。

  • 推荐技能:Python,文献综述,技术写作

  • 预期结果:提供网络中心性度量的概述和应用的可执行文档。潜在产出包括(但不限于):一篇供 nx-guides 使用的文章(见上文)和/或一个中心性度量示例库。

  • 感兴趣的导师: @dschult , @rossbar

  • 预期时间承诺:变化,但高质量的审查文章预计需要数月的专门研究时间(~350小时)。

已完成项目#