解决多源多目标图形游戏

时间:2013-02-10 17:58:50

标签: algorithm graph artificial-intelligence game-theory

我正在尝试对下面的图形问题进行分类,或者找到解决方案的提示。

有一个(邻接)矩阵,可以包含3种类型的元素:单位,点和简单的地形。

地形没有特别的意义。

单位有一个位置(x,y由矩阵定义)和他们可以获得的点数 点有一个位置(x,y由矩阵定义) 获得点的成本是点与单位之间的曼哈顿距离 每个点只能由一个单位获得。

问题是:如何找到获得积分的单位的最低成本配置,以使单位的所有资源都耗尽?

例:
u1可以获得3分 u2可以获得2分

p1 n n p2  
n u1 n p3  
p4 n n n  
n n u2 p5

最佳解决方案之一是:

u1 = p1, p2, p4  
cost(u1)=2+3+2=7  
u2 = p3, p5  
cost(u2)=3+1=4  
Total cost = 11  

(此配置最少)

注意: 我尝试使用统一的成本搜索和A *(使用简单的启发式方法)来解决这个问题,但即使对于小尺寸的矩阵,我也会得到非常多的状态并且内存不足。

1 个答案:

答案 0 :(得分:1)

我可以将其缩小为min-cost-max-flow问题。

让我们建立一个网络。为每个单元和每个点分配一个顶点。对于每对(单位,点),添加具有容量1的定向边缘,并且成本等于相应的曼哈顿距离。添加水槽,将其连接到所有装置。添加陷阱并将所有点连接到它。

分配以下成本和容量值:
cap(u,v)= 1 ,如果从u到v的边缘 成本(u,v)= 0 ,如果u = sink或v = trap;否则它等于从单位u到点v的曼哈顿距离。

现在,如果我们在此网络中找到min-cost-max-flow,它将成为解决您问题的方法。为什么?因为我们找到了将流量单位从每个“单位”顶点移动到某个“点”顶点的最小成本方法,这相当于原始问题。