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