是否存在一个可靠且文档齐全的Python库,该库可以 快速 实现一种算法,该算法可以在有向图中找到最大流量和最小切口?
pygraph.algorithms.minmax.maximum_flow从蟒-图形解决了问题,但它是非常缓慢:找到最大-流和最小切口在一个有向图的东西,如4000级的节点和11000个边缘取>
1分钟。我正在寻找至少快一个数量级的东西。
赏金 :我提供这个问题的赏金,以查看自问这个问题以来情况是否发生了变化。如果您对推荐的图书馆有亲身体验,可获赠积分!
我已使用图形工具完成类似任务。
Graph-tool是一个高效的python模块,用于图形的操纵和统计分析(又名网络)。他们甚至拥有关于最大流算法的极好的文档。
当前的 图形工具 支持给定的算法:
来自文档的示例:使用Boykov-Kolmogorov查找maxflow:
>>> g = gt.load_graph("flow-example.xml.gz") #producing example is in doc
>>> cap = g.edge_properties["cap"]
>>> src, tgt = g.vertex(0), g.vertex(1)
>>> res = gt.boykov_kolmogorov_max_flow(g, src, tgt, cap)
>>> res.a = cap.a - res.a # the actual flow
>>> max_flow = sum(res[e] for e in tgt.in_edges())
>>> print max_flow
6.92759897841
>>> pos = g.vertex_properties["pos"]
>>> gt.graph_draw(g, pos=pos, pin=True, penwidth=res, output="example-kolmogorov.png")
我用随机有向图(nodes = 4000,vertices = 23964)执行了此示例,所有过程只花了11 秒 。
替代库:
我想为一个类似跳棋的游戏实现一个人工智能 我写了以下方法: -方法 这将返回所有按重量排序的有效移动的列表,其中重量是根据移动的类型和位置计算的 -方法 将移动应用于棋盘,如果有棋子被杀则返回1 -方法 以恢复板的先前状态。 这是一个零和游戏,所以人工智能应该最大化玩家颜色的棋子,最小化对手的棋子。 为此,最好的方法似乎是使用最小-最大和α-β修剪。这有以下伪码 但我还没有明白如何适应我的问题。有
我正在 python 上做一个棋盘游戏,我需要在其中实现算法最小值。当我尝试增加搜索深度时,我的程序停止工作。我也尝试实施 alpha beta 削减,但它似乎无法正常工作。当我尝试其他深度值时,它开始进行无效播放,并且还出现此错误: 以下是我的代码: 阿尔法测试版修剪: 辅助功能: 启发式功能:
如何确定流中对象的不同属性的最小值和最大值?我已经看到了关于如何得到同一变量的最小值和最大值的答案。我还看到了关于如何使用特定对象属性(例如)获取最小值或最大值的答案。但是我如何获得流中所有“x”属性的最小值和所有“y”属性的最大值呢? 假设我有一个Java
抱歉,这是我的笔记。 在最后一天,我一直在阅读极大极小树和阿尔法数据修剪,为我的项目做准备。这是c语言中奥赛罗的实现。 我阅读了大量关于它的资料,我知道它被问了很多。在我开始我的评估功能之前,我想充分了解这一点。 在随附的图像中,我无法弄清楚函数和究竟会做什么,任何输入将不胜感激。 如果任何人有任何提示或事情,我应该注意在实现这个和我的奥赛罗评估功能,我愿意采取任何帮助,我可以找到。
我正在为游戏开发AI,我想使用MinMax算法和Alpha-Beta修剪。 我对它的工作原理有一个粗略的想法,但我仍然无法从头开始编写代码,所以我花了最近两天的时间在网上寻找某种伪代码。 我的问题是,我在网上找到的每个伪代码似乎都是基于找到最佳移动的值,而我需要返回最佳移动本身而不是数字。 我现在的代码是基于这个伪代码(源代码) 如您所见,这段代码返回一个数字,我想这是使一切正常工作所必需的(因为
该程序每秒接收大约50000个数字。 在任何给定时刻,我都需要计算最后一秒到达的值(数字)的最小值、最大值和平均值(关于给定时刻)。 有没有办法不用数组或列表(缓冲区)来存储到达的数字和计算结果? 如果我需要使用缓冲区,那么实现这一点的有效方法是什么? (请注意,缓冲区中的数字也必须不时有效地删除)
问题内容: 我正在寻找python中整数的最小值和最大值。例如,在Java中,我们有和。python中是否有类似的东西? 问题答案: Python 3 在Python 3中,此问题不适用。普通int类型是无界的。 但是,你实际上可能正在寻找有关当前解释器的字长的信息,在大多数情况下,该信息将与机器的字长相同。该信息在Python 3中仍以形式提供,这是一个有符号的单词可以表示的最大值。等效地,它是
问题内容: 最小高度不适用于body / html吗? 完全不执行任何操作(firebug报告正文,html标签的高度完全不变) 问题答案: 首先,声明一个doctype以便您符合标准(如果还没有的话)。 现在,正文只能与包含html的正文一样高,因此您需要将HTML标签设置为100%的高度,并将正文设置为min-height 100%。这对我在Firefox上有效。