基于现代凸优化的图算法。

cvxgraphalgs的Python项目详细描述


CVX图算法

简介

Modern convex optimization-based graph algorithms.

凸优化为精确和优化设计提供了一个令人兴奋的新方向。 近似图算法。然而,这些算法在 由于在快速求解大型凸规划方面的局限性而进行的实践。 尽管如此,基于凸优化的图算法还是取得了令人印象深刻的效果 理论上的表现,往往能提供优美的几何解释。 这个包实现了其中一些算法,并提供了相应的 测试性能的图形生成器——希望能突出显示它的简单性, 优雅和有效这些可以为许多现实世界的问题。

详细信息

在这个包中,我们提供了以下算法的实现。注意 基于凸优化的算法以粗体显示,参考文献为 在可用时提供。

这个包还提供了从planted 独立集分布与随机块模型。

  1. 最大割问题
    1. goemans-williamson max-cut算法[1]
    2. 随机最大割算法
    3. 贪心最大割算法
  2. 独立集算法
    1. 基于原油sdp的独立集[2]
    2. 贪婪独立集算法
    3. 独立集的谱算法

安装和使用

您可以直接从python包索引(pypi)安装它。

pip install cvxgraphalgs

下面,我们将展示如何在图上运行goemans-williamson max-cut算法 从随机块模型分布中提取。有关更多示例,请浏览 Jupyter笔记本电脑和软件包文档一起提供 here

>>> import cvxgraphalgs as cvxgr
>>> graph, _ = cvxgr.generators.bernoulli_planted_independent(
...     size=50, independent_size=15, probability=0.5
... )
>>> recovered = cvxgr.algorithms.crude_sdp_independent_set(graph)
>>> len(recovered)
15

参考文献

[1]:戈曼斯、米歇尔X和大卫P威廉森。”改进逼近 半定的最大割与可满足问题的算法 编程,“美国计算机学会期刊(jacm)42,第6期(1995):1115-1145.

[2]:麦肯齐、西奥、赫米什·梅塔和卢卡·特雷维森。”一种新的算法 稳健半随机独立集问题“arxiv:1808.03633(2018)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java系统。出来打印导致延迟?   java如何使用dasein API连接Azure云(blob存储)   java如何将Jframe cardlayout中的“card”从属于card的Jpanel更改为另一个类?   java如何在单个消息框中显示循环的所有迭代?   java如何设置netbeans保存项目的操作?   java网站的某些选项在web视图中不起作用   java如何在安卓中打开从右到左的菜单滑动条   java更容易反转由静态方法(函数接口)内联创建的比较器?   映射Java HashMap。获取(键)和树形图。获取equals和compareTo方法的(键)用法   java Health endpoints只显示“status:up”,不显示敏感信息   java当我一直按back按钮登录时,字段显示以前插入的用户数据   JTable单元中的java图像显示   go Java vs.Golang for HOTP(rfc4226)   java使用函数链减少分支和清理代码,这有意义吗   java我应该为每个查询创建一个新的DB连接吗?   java推荐的函数调用方法(是否使用CompiledScript?)   java截断分区和地板分区有什么区别?   没有spring引导的java Profile特定属性文件?   异常如何在java中从控制台读取密码?