Упражнения
1. Разработайте
программу моделирования, которая использовала бы объекты и правила, аналогичные
описанным в разделе А.З, но для какого-нибудь другого устройства.
2. Разработайте
программу, которая решала бы детективные головоломки типа той, что представлена
ниже (головоломки описаны в книге [Smullyan, 1978]).
Расследуется
дело об ограблении, причем подозреваемых трое — А, В и С. По крайней мере один
из них виновен и известно, что никто, кроме этих троих, не мог принимать участия
в ограблении.
- Задача 1. А
никогда не работает в одиночку, т.е. имеет хотя бы одного сообщника. У С есть
твердое алиби. Виновен или невиновен В?
- Задача 2. А
никогда не работает с С. С никогда не работает в одиночку. Если А виновен,
а В невиновен, то С виновен. Кто из этих троих совершил ограбление?
- Задача 3. Если
А виновен, то у него есть точно один сообщник. Если точно два виновны, то
А — один из них. В и С дают показания, из которых следует, что у другого из
них есть алиби. Кто совершил ограбление?
Программа
должна решать все три задачи.
3. Критически
проанализируйте и модифицируйте любую CLIPS-программу, представленную на страницах
данной книги.