Created
March 26, 2019 10:23
-
-
Save yycking/4ddf152c581302cc69677716fd8b2ece to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| % 博迪先生死於謀殺, | |
| % 現有六個嫌疑犯, | |
| % 每個人在不同的房間, | |
| % 每間房間各有一件可能的凶器,但不知道嫌疑犯、房間、凶器的對應關系。請根據下面的條件和線索,找出誰是凶手。 | |
| % 已知條件: | |
| % 六個嫌疑犯是三男 喬治、約翰、羅伯特;三女 芭芭拉、克里斯汀、約蘭達。 | |
| 男人(喬治). 男人(約翰). 男人(羅伯特). | |
| 女人(芭芭拉). 女人(克里斯汀). 女人(約蘭達). | |
| 嫌疑犯(X):- 男人(X). | |
| 嫌疑犯(X):- 女人(X). | |
| 證詞(A,B,C,D,E,F):- | |
| 嫌疑犯(A), 嫌疑犯(B), 嫌疑犯(C), 嫌疑犯(D), 嫌疑犯(E), 嫌疑犯(F), | |
| A\=B, A\=C, A\=D, A\=E, A\=F, | |
| B\=C, B\=D, B\=E, B\=F, | |
| C\=D, C\=E, C\=F, | |
| D\=E, D\=F, | |
| E\=F. | |
| 證據(A,B,C,D,E,F):- | |
| 證詞(A,B,C,D,E,F). | |
| % 線索一:廚房裡面是一個男人,那裡的凶器不是繩索、小刀、袋子和手槍。 | |
| 線索一(In廚房, Has繩索, Has小刀, Has袋子, Has手槍):- | |
| 男人(In廚房), | |
| In廚房\=Has繩索, In廚房\=Has小刀, In廚房\=Has袋子, In廚房\=Has手槍. | |
| % 線索二:芭芭拉 和 約蘭達 在浴室和書房。 | |
| 線索二(In浴室, In書房):- | |
| 芭芭拉=In浴室, 約蘭達=In書房. | |
| 線索二(In浴室, In書房):- | |
| 約蘭達=In浴室, 芭芭拉=In書房. | |
| % 線索三:帶袋子的那個人不是 芭芭拉 和 喬治,也不在浴室和飯廳。 | |
| 線索三(Has袋子, In浴室, In餐廳):- | |
| 芭芭拉\=Has袋子, 喬治\=Has袋子, | |
| Has袋子\=In浴室, Has袋子\=In餐廳. | |
| % 線索四:書房裡面是一個帶繩子的女人。 | |
| 線索四(In書房, Has繩索):- | |
| 女人(Has繩索), Has繩索=In書房. | |
| % 線索五:起居室裡面那件凶器,與 喬治 或 約翰 在一起。 | |
| 線索五(In起居室):- | |
| 喬治=In起居室. | |
| 線索五(In起居室):- | |
| 約翰=In起居室. | |
| % 線索六:刀子不在飯廳。 | |
| 線索六(In餐廳, Has小刀):- | |
| In餐廳\=Has小刀. | |
| % 線索七:書房和食品儲藏室裡面的凶器,沒跟 約蘭達 在一起。 | |
| 線索七(In儲藏室, In書房):- | |
| In儲藏室\=約蘭達, In書房\=約蘭達. | |
| % 線索八:喬治 所在的那間屋子有火手槍。 | |
| 線索八(Has手槍):- | |
| 喬治=Has手槍. | |
| % 線索九:博迪先生死在食品儲藏室裡,那裡的凶器是瓦斯。 | |
| 線索九(Has瓦斯, In儲藏室, Who凶手):- | |
| Who凶手=Has瓦斯, | |
| Who凶手=In儲藏室. | |
| 推理:- | |
| % 六個嫌疑犯分別待在六個房間:浴室、餐廳、廚房、起居室、儲藏室、書房。 | |
| % 每間房間都有一件可疑的物品,可以當作凶器:袋子、手槍、瓦斯、小刀、毒藥、繩索。 | |
| 證詞(In浴室, In餐廳, In廚房, In起居室, In儲藏室, In書房), | |
| 證據(Has袋子, Has手槍, Has瓦斯, Has小刀, Has毒藥, Has繩索), | |
| 線索一(In廚房, Has繩索, Has小刀, Has袋子, Has手槍), | |
| 線索二(In浴室, In書房), | |
| 線索三(Has袋子, In浴室, In餐廳), | |
| 線索四(In書房, Has繩索), | |
| 線索五(In起居室), | |
| 線索六(In餐廳, Has小刀), | |
| 線索七(In儲藏室, In書房), | |
| 線索八(Has手槍), | |
| 線索九(Has瓦斯, In儲藏室, Who凶手), | |
| write("浴室:"), write(In浴室), nl, | |
| write("餐廳:"), write(In餐廳), nl, | |
| write("廚房:"), write(In廚房), nl, | |
| write("書房:"), write(In書房), nl, | |
| write("起居室:"), write(In起居室), nl, | |
| write("儲藏室:"), write(In儲藏室), nl, | |
| write("袋子:"), write(Has袋子), nl, | |
| write("手槍:"), write(Has手槍), nl, | |
| write("瓦斯:"), write(Has瓦斯), nl, | |
| write("小刀:"), write(Has小刀), nl, | |
| write("毒藥:"), write(Has毒藥), nl, | |
| write("繩索:"), write(Has繩索), nl, | |
| write("凶手:"), write(Who凶手), nl. | |
| main:- | |
| 推理, halt. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment