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

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 ZK我们可以保存Windows组件状态吗?   java中的xpath比较路径   将字符串解析为长字符串时出现java数字格式异常   Apache CXF中获取异常中的服务器stacktrace的java问题   java我正在用j2me编程,我需要用丰富的格式编写文本以获得帮助屏幕   Android Room数据库中id字段的java名称字段约定   对于API9,java ArrayList<HashMap<String,String>>无法正确转换为JSONArray   api是最初的Java理想死了吗?   opencv java中的python掩码图像   java为什么在实现克隆方法时返回super。克隆()不是此克隆()   java HttpUrlConnection是否存在并发惩罚?   有没有办法将java arraylist对象复制到codemodel生成的源代码中?