42
Причина такой работы экспертных систем состоит в том, что компьютеры могут делать
выводы и умозаключения только исходя из фактов и правил, имеющихся в базе знаний, и только
из этих данных - и ничего другого. Практическую ценность для систем машинного интеллекта
представляют принципы логического вывода на основе не только фактов, но и правил.
Закон логического вывода modus ponens - первый закон, указанный Аристотелем:
А
В, А
- Если из А следует В и посылка А истинна,
В
то выполняется и следствие В.
Примеры применения правила логического вывода.
1. «Если идет дождь, то на улице мокро».
«Пошел дождь».
Следовательно, «на улице мокро».
2. «Если кому-то весело, то он улыбается».
«Маша развеселилась».
Следовательно, «Маша улыбается».
В предикатной форме закон логического вывода превращается в процедуру вывода новых
сведений из имеющихся общих правил и конкретных фактов:
А(х)
В(х), А(с)
- Если из А(х) следует В(х) и А(х) выполнено
В(с)
для х = с, то выполняется В (с).
Данная процедура из конкретного факта А(с) и общего правила логического вывода А(х)
В(х) позволяет вывести новое конкретное утверждение В(с). Иными словами, эта процедура вы-
вода позволяет выводить новые конкретные сведения из общих правил и уже известных конкрет-
ных фактов.
Следовательно, знание и применение законов логического вывода позволяет порождать
новые сведения, являющиеся логическим следствием уже известных сведений. Этим свойством и
этими законами могут пользоваться не только люди - они применяются в системах машинного ин-
теллекта.
Закон вывода отрицаний - второй закон логического вывода:
А
В, не В
- Если из А следует В, но следствие В ложно,
не А
то не выполняется посылка А.
Примеры логического вывода из отрицаний.
1. «Если идет дождь, то на улице мокро».
«На улице сухо».
Следовательно, «На улице не было дождя».
2. «Если кому-то весело, то он улыбается».
«Вова не улыбается».
Следовательно, «Вове не весело».
В предикатной форме закон вывода отрицаний превращается в конструктивную процедуру
вывода отрицаний:
А(х)
В(х), не В(с)
- Если из А(х) следует В(х), но В не выполнено
не А(с)
для х = с, то не выполняется и А(с).
Данная процедура из конкретного отрицания следствия не В(с) и общего правила А(х)
В(х) выводит конкретное отрицание не А(с) предпосылки при х = с. Эта процедура используется в
системе Пролог как основной механизм поиска ответов на сложные вопросы, в которых участвуют
определяемые предикаты.
В качестве иллюстраций дополним рассмотренную базу знаний о семье набором правил на
языке Пролог, выражающих понятие «родитель»:
|