Программирование на языке CLIPS




· Когда обнаружится конфликт между


Чтобы смысл этих формулировок стал более понятным, рассмотрим следующий пример. Р6. Встречаются два человека, А и В, которые заявляют следующее.

А: "Хотя бы один из нас говорит правду". В: "Хотя бы один из нас лжец". К какой категории следует отнести каждый из персонажей?

Высказывания персонажей представим в следующем виде:

А: Т(А) v Т(В) В: F(A) v F(B)

Начнем с заявления персонажа В 71(5) => F(A) v F(B)

и проанализируем левый операнд дизъюнкции. В результате будет сформирована корректная непротиворечивая интерпретация: В — правдолюбец, А — лжец.

Получив непротиворечивую интерпретацию высказывания персонажа В, перейдем к анализу высказывания персонажа А:

Т(А) => FALSE,

поскольку правдивость А противоречит сформированной ранее интерпретации высказывания персонажа В. Предположим, что А — лжец. Тогда:

F(A) => -(T(А) v T(B)) => F(A) ^ F(B) => FALSE.

Таким образом, оказывается, что это предположение также не работает, поскольку противоречит выбранной ранее интерпретации высказывания персонажа В , из которой следует, что В говорит правду,

Но анализ высказывания персонажа В нельзя считать законченным, поскольку не был выполнен анализ правого операнда дизъюнкции

N(B) => F(A) v F(B)

и не было проанализировано предположение, что В лжец. До тех пор, пока это не будет выполнено, мы не имеем права делать вывод, что высказывания в формулировке задачи противоречат друг другу.

Поэтому придется вернуться назад в ту точку процесса логического анализа, где было сделано предположение об истинности левого операнда в дизъюнкции, и проанализировать вместо него правый операнд F(B). При этом сразу же будет обнаружено противоречие между истинностью F(B) и ранее высказанным предположением о правдивости персонажа В, но, не вернувшись назад и не выполнив этот анализ, мы не смогли бы обнаружить это противоречие. Теперь остается проанализировать следствие из предположения, что В — лжец.

F(B) => -(F(A) v F(B)) => Т(А) ^T(В) => FALSE.

Только теперь можно с чистой совестью утверждать, что не существует непротиворечивой интерпретации высказываний, приведенных в условии задачи. Предположение о правдивости персонажа В приводит к конфликту с высказыванием персонажа А, а предположение о лживости В противоречит его же словам.




Содержание  Назад  Вперед