首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Quoridor AI -无向图

Quoridor AI -无向图
EN

Stack Overflow用户
提问于 2020-08-03 15:52:36
回答 1查看 157关注 0票数 0

作为家庭作业,我需要为Quoridor游戏创建一个AI。

经过我这边的一些分析后,我决定将游戏的棋盘表示为一个无向图(见下文)。

这个想法是找到每个棋子到他的目标的最短路径,我想这样的表示更容易做到。

问题是我真的不明白如何用Prolog来表示这样的图。我已经看到如何创建简单的无向图,大概有10条边,但这条边有81条。

一个简单的无向图示例:

代码语言:javascript
复制
arc(1,2).    
arc(2,1).    
arc(1,4).    
arc(4,1).    
arc(2,3).    
arc(3,2).    
arc(3,5).    
arc(5,3).    
arc(5,6).    
arc(6,5).

在此之后,我也应该更容易在图上使用MiniMax算法。

非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2020-08-03 23:00:15

如果您根据以下方案对节点1、2、3、...、81进行编号:

代码语言:javascript
复制
 1  2  3  4  5  6  7  8  9
10 11 12 13 14 15 16 17 18
...

然后在你的图中你有从1到2的弧,从2到3的弧,不是从3到4的,而是从4到5的弧,...等等,你也有一个从4到13的弧线,但不是,例如,从5到14,对吗?

通过这种方式,您可以从图表中读出弧的列表,以获得:

代码语言:javascript
复制
arc(1, 2).
arc(2, 3).
arc(4, 5).
...
arc(4, 15).
...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63225668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档