Главная arrow книги arrow Копия Глава 9. Логический вывод в логике первого п arrow Простой алгоритм прямого логического вывода
Простой алгоритм прямого логического вывода

Как показано в листинге 9.2, первый рассматриваемый нами алгоритм прямого логического вывода является очень простым. Начиная с известных фактов, он активизирует все правила, предпосылки которых выполняются, и добавляет заключения этих правил к известным фактам. Этот процесс продолжается до тех пор, пока не обнаруживается ответ на запрос (при условии, что требуется только один ответ) или больше не происходит добавление новых фактов. Следует отметить, что факт не является "новым", если он представляет собой переименование известного факта. Одно высказывание называется переименованием другого, если оба эти высказывания идентичны во всем, за исключением имен переменных. Например, высказывания Likes {x, IceCream) и Likes (у, IceCream) представляют собой переименования по отношению друг к другу, поскольку они отличаются лишь выбором имени переменной, χ или у; они имеют одинаковый смысл — все любят мороженое.

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