每个约束满足问题(CSP)都有三件事:
- 变量
- 领域
- 约束
在给定的场景中,我知道如何识别约束,但我不知道如何识别变量和域。
给定的场景是:
给你一个板,在哪里. 在这个板上,你必须把骑士在哪里,这样就没有骑士在攻击另一个骑士。预计骑士将被放置在棋盘上的不同方格上。骑士可以垂直移动两个格子,水平移动一个格子,或者水平移动两个格子,垂直移动一个格子。如果他们中的一个可以在一次移动中到达另一个骑士,则骑士会互相攻击。例如,在一个板,我们可以放置骑士。
所以,输入是. 有两种解决方案。
解决方案 1
K A K
A K A
K A K
解决方案 2
A K A
K K K
A K A