CSP:刑事侦查和起诉问题

时间:2019-03-24 03:46:54

标签: artificial-intelligence

我正在做一些关于人工智能的作业,现在我陷入了这个问题:

您是负责放倒毒贩(D)的侦探。提示已将您带到一个小型公寓大楼,您认为其中一个或多个D可能藏在外面。连续有五个公寓。每个公寓可能包含一个毒贩D或可能包含无辜的人:成人(A),有婴儿的家庭(B)或有青少年的(T)。在打破一扇门之前,您必须绝对确保经销商D在里面,否则您可能会因警察的次优而被起诉。

this is the diagram for the problem

为帮助您缩小毒品交易者D的位置(如果有的话!),您可以使用不同的人发出不同声音的事实。每次您在两套公寓之间走动时,您会听到在这两套公寓中发出的两种声音中较大的声音。声音最大的人是青少年T,他们发出音乐(m),其次声音最大的是婴儿B哭了(c),其次声音最大的是毒贩D,它发出沙沙的声音(r),而声音最安静的人是成年人A,完全不说话。例如,如果在一间房子里有一个婴儿,而下一间房子里有一个少年,那么站在这些公寓之间时,您会听到音乐(m)。在五间公寓旁散步时,您会听到上图所示的噪音。您决定尝试解决CSP问题

让我感到困惑的问题是:列出此CSP的所有解决方案或声明不存在任何解决方案。 我以为答案是正确的,即:

1T
2B
3A
4A
5T

但是我找到的正确答案是:

1T
2B
3D
4A
5T

1T
2B
3D
4D
5T

1T
2B
3A
4D
5T

我认为也许我没有正确回答问题。所以任何人都可以向我解释,哪个是正确的?

1 个答案:

答案 0 :(得分:1)

查看此问题的抽象方法是查看可以从每所房子中消除的东西。您知道您能听到房屋之间最大的噪音,这意味着噪音两侧的一个或两个房屋都可能包含该噪音产生者。因此以段落形式:

1和2之间是音乐,因此1和2可能每个都包含一个Teen,这就是我们所知道的。

2和3之间在哭泣,所以我们知道2没有比哭泣(音乐)大的声音,因此2不能包含T,因此1必须包含Teen。

3和4之间的沙沙作响,因此我们知道3或4可能包含一个经销商。我们现在还知道3中没有比沙沙响大的声音,因此2必须包含一个婴儿。

4和5之间是音乐,所以现在我们遇到了问题。我们知道5必须包含一个Teen,否则音乐会比沙沙作响大,并且我们不会听到3和4之间沙沙作响。但是,现在我们对3和4所了解的是它们可能包含比a安静或安静的任何东西。经销商,并且至少必须包含一名经销商。这样的组合是[A,D],[D,D],[D,A]。

这为我们提供了一组最终答案[T,B,A,D,T]或[T,B,D,D,T]或[T,B,D,A,T]