Синтаксис языка логики предикатов
Основные символы языка логики предикатов (элементарные
составляющие) называются атомами. Различают три типа атомов:
константы, функциональные символы и предикатные символы.
Константы применяются для обозначения объектов реального
мира. Примерами констант могут служить: АЛЬБАТРОС, ПТИЦА,
ПАРНОКОПЫТНОЕ, ПЕРЬЯ. Константы состоят из одной или не-
скольких букв алфавита, цифр или других символов (за исключе-
нием скобок).
Функциональные символы обозначают операторы (функции),;
которые после воздействия на объект возвращают некоторое значе-
н ие. К числу функциональных символов относятся, например, +,
ЦВЕТ, ВОЗРАСТ.
С помощью предикатных символов задаются отношения меж-
ду объектами, такие, например, как БЫТЬ_БРАТОМ, БЫТЬ_ОТ-
ЦОМ, ЯВЛЯТЬСЯ.
Высказывания образуются с помощью этих трех типов ато-;
мов, скобок и операторов, в результате чего получаются конструк-;
ции, которые называются термами. Например, истинное высказы-
вание " альбатрос является птицей" может быть представлен
термом:
(ЯВЛЯТЬСЯ АЛЬБАТРОС ПТИЦА)
Используя введенные выше три типа атомов, можно получить
высказывания трех видов: атомарные, логические и высказывания
с кванторами. Атомарные высказывания состоят из Предикатного
символа и одного или нескольких термов, например
(ЯВЛЯТЬСЯ КОТ АБИССИНЕЦ)
(БЫТЬ_БРАТОМ ДЖОН ДЖЕК).
Функции также могут быть выражены с помощью предикат-
ных символов:
(=(+42)6)
Приведенное атомарное высказывание эквивалентно следующему:
90
(= (SUM 4 2)6)
Логические высказывания - это предложения, о которых мож-
но говорить, что они являются истинными или ложными. Логичес-
кие высказывания могут состоять из атомарных высказываний, со-
единенных связками И, ИЛИ, НЕТ и ЕСЛИ. Например:
(НЕ (ЯВЛЯТЬСЯ ПТИЦА ЗВЕРЬ))
(ЕСЛИ (И (ЛЕТАЕТ) (ОТКЛАДЫВАЕТ ЯЙЦА))
(ПТИЦА))
И наконец, высказывания с кванторами могут включать одну
или несколько переменных, находящихся под действием кванторов
ДЛЯ ВСЕХ и СУЩЕСТВУЕТ, например
(ДЛЯ_ВСЕХ х (ЕСЛИ (АБИССИНЕЦ х ) (КОТ х)))
Формулы, построенные с помощью логических связок и кван-
торов (см. табл. 4.1), называются правильно построенными (ППФ).
В исчислении предикатов первого порядка предусмотрено достаточ-
но много правил формального вывода, позволяющих образовывать
формулы. Как и в продукционных системах, вывод может исполь-
зоваться для получения новых ППФ из числа имеющихся в резу-
льтате применения правил вывода. Например, если истинны пре-
дикаты:
(ДЛЯ ВСЕХ х (ЕСЛИ (КОТх) (ИМЕТЬ_ЛАПЫ х)))
(ДЛЯ ВСЕХ Х (ЕСЛИ (АБИССИНЕЦ х) (КОТх)))
то можно вывести, что кот Абиссинец тоже имеет лапы, т.е.
получить следующий предикат:
(ДЛЯ_ВСЕХ х (ЕСЛИ (АБИССИНЕЦ х) (ИМЕТЬ_ЛАПЫ х)))
Для доказательства истинности ППФ необходимо располагать
базой знаний и правилами вывода. Всякий раз, когда в базе дан-
ных обнаруживаются высказывания, совпадающие при сопоставле-
нии с посылкой некоторого правила вывода, то его заключение до-
бавляется к имеющимся утверждениям. Этот метод вывода называ-
ется резолюцией.
С помощью правил, задающих синтаксис языка, нельзя уста-
новить истинность того или иного высказывания, причем это рас-
пространяется абсолютно на все языки. Высказывание может быть
построено синтаксически правильно, но оказаться совершенно бес-
смысленным.
Еще одним важным понятием исчисления предикатов является
процедура унифика ц ии, позволяющая сравнивать выражения путем
их сопоставления. Говорят, что два выражения могут быть унифи-
цированы, если для их переменных существует такая подстановка,
91
называемая унификатором, в результате которой они становятся
•идентичными. Пусть, например, истинны следующие предложения:
(БЫТЬ_МАТЕРЬЮ Джейн Мери)
(БЫТЬ_МАТЕРЬЮ Мери Сью)
В них утверждается, что Джейн является матерью ■ Мери, а
Мери. - матерью Сью. Отсюда можно вывести, что Джейн является
бабушкой Сью. Теперь построим общее правило вывода, которое
позволяет установить между объектами отношение БЫТЬ_БАБУ-
ШКОЙ:
(ДЛЯ ВСЕХ х у z (ЕСЛИ (И (БЫТЬ_МАТЕРЬЮ х у)
(БЫТЬ_МАТЕРЬЮ у z)) (БЫТЬ_БАБУШКОЙ х z)))
КВАНТОРЫ
СУЩЕСТВУЕТ- ДЛЯ ВСЕХ
|
и или
НЕ
ЛОГИЧЕСКИ СЛЕДУЕ
ЭКВИВАЛЕНТНО
|
Таблица 4.1
Операторы и кванторы исчисления предикатов
С ИСТЕМЫ, И СПОЛЬЗУЮЩИЕ П РИНЦИП
ДОСКИ ОБЪЯВЛЕНИЙ
В системах, построеееных по принципу доски объявлений, су-
ществует несколько независимых источников знаний, которые име-
ют общую рабочую память. Эти источники знаний могут различа-
ться по типам, знания в них могут храниться в виде, наиболее
соответствущем их природе, причем допустимы и смешанные пред-
ставления, но при едином механизме вывода и единственной рабо-
чей памяти. Примером такой системы является система HEARSAY.
ФОРМИРОВАНИЕ БАЗЫ ЗНАНИЙ ПО ПРИМЕРАМ
У тех, кто не имеет специальной подготовки в области инже-
нерии знаний, пользуется популярностью метод представления
знаний по примерам. Работая с системой такого типа, пользова-
тель задает ей несколько примеров задач вместе с решениями. На
92
их основе система самостоятельно строит базу знаний, которая
затем будет применяться для решения других задач. При создании
базы знаний пользователь имеет возможность в любой момент выз-
вать на экран дисплея матрицу, состоящую из примеров задач и
их решений, с тем, чтобы установить в ней наличие пустых мест,
которые необходимо заполнить соответствующими примерами " за-
дача - решение".
Знания в такой системе также могут храниться в виде правил
или в какой-либо иной форме, но для пользователя база знаний
всегда существует только в форме матрицы примеров. Эта матрица
формируется пользователем, а затем преобразуется во внутреннее
представление. Таким образом, база знаний может быть расширена
или изменена лишь путем корректировки примеров, содержащихся
в матрице, или их добавлением.
Основным достоинством рассматриваемого способа построения
экспертных систем является простота его применения, поскольку
пользователь может не иметь ни малейшего представления о про-
дукционных правилах, декларативных языках, фреймах или исчи-
слении предикатов. Как недостаток следует отметить отсутствие
гибкости процесса построения систем. Пользователь оказывается
отстраненным от собственно создания базы знаний и поэтому не
может контролировать связи между содержащимися в ней понятия-
ми. Этот способ прекрасно зарекомендовал себя в тех случаях,
когда решаемая задача имеет соответствующий аналог в базе зна-
ний. Что же касается задач нового типа, то, даже если они взяты
из той же области приложений, система, основанная на изложен-
ных выше принципах, ." не умеет" применять свои знания для их
решения.
Одной из лучших систем этого типа считается сравнительно
недорогая и простая в использовании система EXPERT-EASE. Она
может применяться для составления финансовых отчетов о коман-
дировках специалистов по снабжению и проверки расходов по
соответствующим статьям, принятым в данной организации. База
знаний создается путем ввода примеров разрешенных и запрещен-
ных видов расходов на командировку. EXPERT-EASE формирует
внутреннее представление базы знаний, с помощью которой она
сможет стандартным способом проводить анализ отчетов о коман-
дировках.
ПОСТРОЕНИЕ Д ЕМОНСТРАЦИОННОЙ
БАЗЫ ЗНАНИИ
Демонстрационная база знаний может быть построена приме-
нительно к игре " Отгадай животное", упоминавшейся в этой главе.
Для этого следует обратиться к приложению Б. Если вы имеете ди-
скету с системой, то можете сразу приступить к игре, задумав ка-
кое-нибудь животное. Если же такой дискеты у вас нет, то, ис-
93
пользуя приложения А и Б, создайте необходимые компоненты
системы и загрузите их в компьютер. После чего можно иници-
ировать игру вводом команды DIAGNOSE (рис. 4.9). Схема базы
знаний приведена на рис. 4.3, правила - на рис. 4.2, а их
программная реализация - на экранах 81 и 82 в приложении Б.
Система задаст серию вопросов и по вашим ответам на них
отгадает задуманное вами животное. Во время игры вы' сможете
выявить следующие особенности работы системы:
1. Вопросы, которые задаются пользователю, зависят от име-
ющихся фактов или полученных признаков. Ответы запоминаются
в рабочей памяти (в списке FACTS) и затем используются при вы-
воде заключений.
2. Для получения заключений применяется обратный метод
вывода. Вначале выводятся более общие свойства животного (на-
пример, " животное является млекопитающим" ), затем система поэ-
тапно приближается к более конкретным заключениям.
DIAGNOSE
ИМЕЕТ_ПЕРЬЯ
Истинно ли это утверждение? (ДА/НЕТ) --ДА
ХОРОШО_ЛЕТАЕТ
Истинно ли это утверждение? (ДА/НЕТ) --НЕТ
ЛЕТАЕТ
Истинно ли это утверждение? (ДА/НЕТ) --НЕТ
НЕ_ЛЕТАЕТ
Истинно ли это утверждение? (ДА/НЕТ) --ДА
ПЛАВАЕТ
Истинно ли это утверждение? (ДА/НЕТ) —ДА
ИМЕЕТ_ЧЕРНО-БЕЛУЮ_ОКРАСКУ
Истинно ли это утверждение? (ДА/НЕТ) --ДА
ЗАКЛЮЧЕНИЕ:
(ЯВЛЯЕТСЯ_ПИНГВИНОМ) —ПРАВИЛЬНО
а (классификация биологических видов (птиц, цветов и т.д. );
б)поиск неисправностей в компьютере;
в)медицинская диагностика.
2. Как можно оценить сложность прикладной задачи?
3. Как способ представления знаний в системе зависит от ее типа (система
диагностики, планирования или интерпретации)? Может быть, такая зависимость
вообще отсутствует?
4. Как оценить мощность имеющихся знаний? Возможно ли это сделать в
принципе?
5. Приведите пример метазнаний, которые могут быть использованы в
экспертной системе, предназначенной для поиска неисправностей в автомобиле.
6. Представьте эквиваленты на естестаенном языке для следующих логических
высказываний:
(ВОЗРАСТ ДЖОН 32)
(НЕ (СЕМЕЙНОЕ_ПОЛОЖЕНИЕ МЕРИ НЕ_ЗАМУЖЕМ))
(ДЛЯ_8СЕХ х (ЕСЛИ (БЫТЬ_ЯБЛОКОМ х) (ЦВЕТ х КРАСНЫЙ))).
7. К какому типу относится каждое из приведенных выше высказываний?
8. Запишите следующие предложения на языке исчисления предикатов:
Билл - Это конь.
Джон - это собака.
Существует лошадь, которая обгонит любую собаку.
Джейн - сестра Сью.
9. Постройте систему фреймов, описывающую организационную структуру
небольшого предприятия. Приведите пример наследования свойств в такой системе.
Рис. 4.9. Пример диалога, инициированного командой DIAGNOSE в
компьютерной игре " Отгадай животное"
УПРАЖНЕНИЯ
1. Какие способы представления знаний более всего подходят для решения
каждой из следующих прикладных задач:
94
Глава 5
ИНЖЕНЕРИЯ ЗНАНИЙ
Одной из наиболее сложных проблем, возникающих при соз-
дании экспертных систем, является преобразование знаний экс-
перта и описания применяемых им способов поиска решений в
форму, позволяющую представить их в базе знаний системы, а за-
тем эффективно использовать для решения задач в данной предме-_
тной области.
Обычно эксперт не прибегает к процедурным или количест-
венным методам; его основные средства - аналогия, интуиция и
абстрагирование. Часто эксперт даже не может объяснить, как
именно им было найдено решение. В лучшем случае вы получите
от него лишь описание основных приемов или эвристик, которые
помогли ему успешно справиться с задачей. На инженера знаний
возлагается очень сложная работа по преобразованию этих описа-
ний в строгую, полную и непротиворечивую систему, которая поз-
воляла бы решать прикладные задачи не хуже, чем это сделал бы
сам эксперт.
В настоящей главе мы рассмотрим построение базы знаний на
основе сведений, полученных от эксперта/Процесс ее построения
состоит из трех этапов:
* описание предметной области;
* выбор метода и модели представления знаний;
* приобретение знаний.
У читателя может сложиться впечатление, что процесс пост-
роения базы знаний - структурированный и линейный. Однако в
действительности он гораздо сложнее, поскольку плохо структу-
рирован и по своей природе является скорее циклическим, чем
линейным.
Излагаемый здесь материал довольно сложен, но одновремен-
но он относится к числу наиболее важных в книге. Для того чтобы
вам было легче уяснить принципы построения базы знаний, этот
96
процесс рассматривается на примере системы, используемой в
МЕДицинской практике при постановке диагноза заболевания на ос-
нове результатов химического анализа крови и некоторых симпто-
мов наблюдаемых у пациента. В каких-то ситуациях мы будем об-
ращаться к примерам из других областей, чтобы проиллюстриро-
вать ряд специфических методов, но главным объектом нашего
изучения останется упомянутая выше диагностическая система.