Книга
Книга
ДОСТОВЕРНЫЙ ВЫВОД
Глава 1. Автоматическое доказательство теорем24
Нормальные и стандартные формы 25
Логические следствия 35
Процедура вывода Эрбрана 38
Принцип резолюции 41
Линейная резолюция 48
Вывод в языке Пролог 54
SLD-резолюция (54).1.6.2. Стратегии поиска в языке
Пролог (58). 1.6.3. Предположение о замкнутости мира (61).
Синтаксис и семантика языка Пролог (62). 1.6.5. Реализация на языке Пролог моделей представления знаний и механизмов вывода на них (69).
Глава 2. Вывод на графе связей 81
Последовательная процедура доказательства методом графа связей 82
Стратегиипоискавграфесвязей 86
Достоинства процедуры дедуктивного вывода на графе связей 87
Параллельныйвывод награфесвязей 88
Метод OR-параллельной резолюции (89). 2.4.2. DCDP- параллельный вывод (91). 2.4.3. AND-параллельная резолюция (94).
Модификация процедур параллельного вывода 97
Принципы создания эвристической функции (97).
Эвристическая функция Ш (98).2.5.3. Применение
эвристической функции Ш при решении задачи «Стимрол- лер» (100).
Сравнение эффективности 104
Система параллельного вывода PIS (Parallel Inference System) на графе связей 107
Автоматический выбор параллельных методов вывода (108).2.7.2. Математический препроцессор (109).
Методы ускорения и анализ результатов для задачи о N ферзях (112). 2.7.4. Полученные результаты (115).
Глава 3. Вывод на графе дизъюнктов 116
Типы параллелизма в дедуктивном выводе 116
Последовательный алгоритм вывода на раскрашенных графах дизъюнктов 119
Параллелизм в дедуктивном выводе на С-графах 124
Сравнение эффективности процедур дедуктивного вывода 134
Глава 4. Вывод на аналитических таблицах 136
Метод аналитических таблиц для логики высказываний . . 136
Метод аналитических таблиц для логики предикатов первого порядка 143
Метод аналитических таблиц в логическом программировании 153
Реализация метода аналитических таблиц для логики высказываний на языке Пролог (153). 4.3.2. Реализация метода аналитических таблиц для логики предикатов 1-го порядка (159).
Глава 5. Вывод на иерархических структурах 186
Многоуровневая упорядоченно-сортная алгебра 186
Необходимость разработки механизмов вывода на иерархических структурах (186). 5.1.2. Введение в многоуровневую алгебру (188).5.1.3. Моделирование подтипов и наследования (189).5.1.4. Описание параметрического полиморфизма
аппаратом двухуровневой алгебры (191).
Многоуровневая логика как язык представления знаний в интеллектуальных системах 194
Способы задания иерархических структур в многоуровневой логике (194).5.2.2. Синтаксис многоуровневой логи
ки (198). 5.2.3. Описание двух видов иерархической абстракции и иерархической структуры множеством правильно построенных формул многоуровневой логики (199). 5.2.4. Логический вывод в многоуровневой логике (204).
Система моделирования проблемной области «Инфолог» . . 215
Назначение и структура системы «Инфолог» (215).
Концептуальный язык описания сложноструктурированной проблемной области (219). 5.3.3. Реализация системы «Инфолог» (222).
АРГУМЕНТАЦИЯ И АБДУКЦИЯ
Глава 6. Данные и знания в интеллектуальных системах 224
Характерные особенности знания 224
Знание как обоснованное истинное убеждение 234
He-факторы знания 240
Зачем нужны нетрадиционные логики? 248
Глава 7. Монотонные классические модальные логики 255
Исчисление предикатов первого порядка как основа построения модальной логики 255
Вспомогательная логика как основа перехода к модальному исчислению высказываний 257
Постулаты, основные теоремы и правила модального исчисления высказываний 259
Система S1 261
Система S4 271
Система S5 275
Семантика возможных миров Крипке 276
Глава 8. Немонотонные модальные логики 281
Логики убеждения и знания 281
Немонотонные логики Мак-Дермотта и Дойла 287
Автоэпистемические логики 292
Логики умолчаний 301
Системы поддержки истинности 312
Системы поддержки истинности, основанные на обоснованиях (315). 8.5.2. Системы поддержки истинности, основанные на предположениях (317).
Глава 9. Немонотонные логики в логическом программировании 321
Семантика логических программ: краткий обзор 323
Нормальные логические программы (323). 9.1.2. Расширенные логические программы (330). 9.1.3. Зачем нужна новая семантика для расширенных программ? (336).
WFSX — фундированная семантика для расширенных логических программ 337
Интерпретации и модели (337).9.2.2. Определение
WFSX (340).9.2.3. Существование семантики (343).
Нисходящие процедуры вывода для WFSX (345).
Работа с противоречиями 356
Удаление противоречий (358).9.3.2. Паранепротиво-
речивая WFSX (360).9.3.3. Декларативные ревизии (363).
Поддержка и устранение противоречий (370).
WFSX, семантика логических программ с двумя отрицаниями и автоэпистемическая логика 375
Общая семантика для программ с отрицаниями двух видов (376). 9.4.2. Автоэпистемические логики для WFSX (389).
WFSX и логика умолчаний 401
Язык умолчаний (402). 9.5.2. Некоторые необходимые принципы для теорий умолчаний (405). 9.5.3. Q-теория умолчаний (408).9.5.4. Сравнение с семантикой Рейтера (413).
Сравнение со стационарной семантикой умолчаний (414).
Связь семантики теории умолчаний и логических программ с явным отрицанием (415). 9.5.7. Определение WFSX с помощью Г (416).
Глава 10. Системы аргументации и абдуктивный вывод 419
Системы пересматриваемой аргументации 420
Основы теории аргументации (420). 10.1.2. Обзор систем аргументации (436).
Организация абдуктивного вывода 444
Понятие абдуктивного вывода (444). 10.2.2. Подходы к характеризации абдукции (448). 10.2.3. Подходы к вычислению абдуктивных объяснений (456). 10.2.4. Метод вероятностных абдуктивных рассуждений в сложноструктурированных проблемных областях (466).
Абдукция и аргументация в логическом программировании 481 10.3.1. Аргументационная семантика логических программ и ее вычисление (481).10.3.2. Роль аргументации в организации
абдуктивного вывода (496).
III. ИНДУКЦИЯ И ОБОБЩЕНИЕ
Глава 11. Базовые принципы построения систем обуче
ния и принятия решений 503
Системы поддержки принятия решений 505
Задачи извлечения знаний из баз данных 510
Способы представления исходной информации в интеллектуальных системах 518
Структурно-логические методы обобщения 523
Глава 12. Задача обучения «без учителя» 534
Алгоритм, основанный на понятии порогового расстояния . 535
Алгоритм MAXMIN 538
Алгоритм «К средних» 541
Распознавание с использованием решающих функций . . . . 545
Построение решающих функций по критерию минимального расстояния (546).12.4.2. Разделяющие решающие
функции (547). 12.4.3. Линейные решающие функции (549).
Построение решающих функций методом потенциалов (552).
Распознавание на основе приближенных признаков 556
Глава 13. Обучение с учителем 558
Постановка задачи 558
Алгоритм ДРЕВ 563
Построение решающего дерева с использованием метрики Хемминга 566
Индукция решающих деревьев 569
Модификация алгоритмаКуинлана — ID5R 574
Алгоритм Reduce 579
Фокусирование 583
Алгоритм EG2 589
Глава 14. Индуктивные методы для случая неполной информации 596
Проблемы извлечения знаний из баз данных 596
Ограниченная информация (597).14.1.2. Искаженная
информация (598). 14.1.3. Большой размер баз данных (598).
Изменение баз данных со временем (599).
Алгоритм извлечения продукционных правил из большой базы данных 600
Подход с использованием приближенных множеств 603
Основные понятия теории приближенных множеств (604).14.3.2. Алгоритм RS1, использующий прибли
женные множества (608). 14.3.3. Информационные системы с неопределенностью (611).
Алгоритм распознавания объектов в условиях неполноты информации 621
Литературный комментарий 633
К введению 633
К части I 634
К главе 1 634
К главе 2 636
К главе 3 638
К главе 4 639
К главе 5 640
К части II 642
К главе 6 642
К главе 7 644
К главе 8 645
К главе9 647
К главе10 650
К частиIII 655
К главеИ 655
К главе12 657
К главе13 659
К главеЦ 661
Предметный указатель 663
Низкий иоклон тебе,
Учитель.
Предисловие
Идея написания книги возникла у авторов в ходе обсуждения научных результатов на различных конференциях и семинарах по проблемам искусственного интеллекта. Большое влияние на выбор тематики оказала книга Д. А. Поспелова «Моделирование рассуждений. Опыт анализа мыслительных актов» , в которой описываются дедуктивные и правдоподобные модели, учитывающие особенности человеческих рассуждений. Блестяще написанная, совмещающая доступность чтения со строгим изложением сложных логических проблем, эта книга явилась своеобразным стимулом для продолжения исследований по достоверным и правдоподобным рассуждениям, итог которых воплотился в данном издании.
Авторы, конечно, осознают, что дать полную картину исследований по достоверным и правдоподобным рассуждениям в одной книге невозможно, поэтому в ней отражены личные пристрастия авторов к освещению тех или иных проблем. При этом авторы все-таки надеются, что излагаемый материал привлечет внимание не только узкого круга специалистов по математической логике, но и многочисленных профессионалов, занимающихся разработкой интеллектуальных систем принятия решений, в частности, экспертных систем и систем управления сложными технологическими объектами.
Для того, чтобы читатель смог получить цельное представление о рассматриваемых проблемах, в книге, наряду с оригинальными работами авторов, составляющих единую научную группу, изложен ряд результатов других российских и зарубежных ученых, тем более, что некоторые проблемы и методы такие, как метод аналитических таблиц или проблема аргументации и абдукции, почти не освещались в отечественной литературе.
Чтобы не затруднять чтение книги, в тексте нет библиографических ссылок. Вся использованная литература указана в конце книги, где дан также краткий обзор работ, на которые ссылаются авторы и которые помогут читателю углубить свои знания об обсуждаемых проблемах.
Выбор материала книги определялся следующими соображениями: во-первых, желанием охватить достаточно широкий круг проблем, связанных с использованием математической логики в разного рода интеллектуальных системах различного назначения, во-вторых,
М.: Радио и связь, 1989. 184 с.
стремлением сделать изложение весьма разнородного материала единым и связным, в-третьих, как уже говорилось, собственными научными интересами авторов. Насколько удачно это удалось сделать, судить читателям, и мы заранее благодарны тем, которые укажут на замеченные недостатки и недоработки.
Для чтения книги требуются знания в объеме стандартных курсов вузов по дискретной математике, математической логике, теории принятия решений и языкам программирования. По мнению одного из авторов, а именно В. Н. Вагина, желательно, чтобы читатели ознакомились с его монографией «Дедукция и обобщение в системах принятия решений» , в которой изложены основные понятия математической логики и модели представления знаний, а также описаны алгоритмы дедукции и обобщения понятий по признакам и структурам. Как бы то ни было, все основные понятия вводятся в данную книгу. Каждый читатель может избрать свой порядок чтения глав в зависимости от своих интересов. Читателю, не знакомому или мало знакомому с предметом, рекомендуется изучение материала в той последовательности, в какой он приведен в книге. Читатели, интересующиеся выборочно какой-либо одной проблемой, например, только абдукцией, могут ограничиться чтением соответствующих глав, опустив или бегло просмотрев остальные.
Материал книги распределен между авторами следующим образом. В. Н. Вагин подготовил предисловие, введение, главу 1 (за исключением § 1.6), главы 2,3,6,7,8; глава 4 написана совместно В. Н. Вагиным и Е. Ю. Головиной, которая изложила также § 1.6 главы 1, главу 5, §10.2.4 главы 10. А. А. Загорянская написала главы 9, 10 (кроме §10.2.4), а М. В. Фомина — главы 11, 12, 13, 14. Естественно, за все опечатки, описки и ошибки все авторы несут равную ответственность.
Авторы приносят свою искреннюю благодарность редактору этой книги Д. А. Поспелову и рецензентам Э. В. Попову и Г. С. Плесневичу. Редактор книги Д. А. Поспелов пытался сделать все возможное, чтобы книга стала четко структурированной и единой по стилю и замыслу, но, к сожалению, в силу ряда обстоятельств он так и не сумел добиться конечного результата.
М.: Наука, 1988. 384 с.
Однажды Лебедь, Рак да Щука Везти с поклажей воз взялись И вместе трое все в него впряглись.
И. А. Крылов
Введение
С возникновением интеллектуальных систем различного назначения и перенесением центра тяжести на модели и методы представления и обработки знаний существенно изменяется аппарат формальных рассуждений, комбинирующий средства достоверного и правдоподобного выводов. На наш взгляд, логика есть наука о рассуждениях, и от разработки формальных моделей различных форм рассуждений зависит успех создания действительно интеллектуальных систем.
Не вдаваясь в детали определения интеллектуальной системы (ИнтС), отметим ее основные компоненты:
ИнтС = РИС + НИС + ИнИн + АП,
где РИС — рассуждатель интеллектуальной системы, состоящий из генератора гипотез, доказателя теорем и вычислителя; ПИС — поисковая информационная система, которая доставляет информацию, релевантную цели рассуждения; ИнИн — интеллектуальный интерфейс (диалог, графика, обучение пользователя работе с системой); АП — подсистема автоматического пополнения базы данных (БД) и базы знаний (БЗ) из текстов, образующих информационную среду для интеллектуальных систем.
Под рассуждением понимается построение последовательности аргументов, вынуждающих принятие некоторого утверждения, которое и является целью рассуждения. Особенностями рассуждения, отличающими его от логического вывода, и в частности, от доказательства, в стандартном понимании являются
открытость множества возможных аргументов;
использование метатеоретических, и в частности, металогических средств, с помощью которых осуществляется управление логическими выводами, применяемыми в процессе рассуждения;
использование правил не только достоверного вывода, но и правдоподобного вывода.
Очевидно, что логический вывод в стандартном понимании математической логики — частный случай рассуждений, когда множество аргументов фиксировано, нетривиальные металогические средства (например, проверка на непротиворечивость) не используются и применяются только правила достоверного вывода, по которым
из истинных аргументов (посылок) можно получить лишь истинные заключения.
В широком смысле к достоверному выводу и относится дедуктивный вывод, который в настоящее время хорошо изучен и исследован. В классической логике дедуктивный вывод рассматривается как вывод от общего к частному. Дедукция — в высшей степени идеализированная и ограниченная форма рассуждений, и если мы хотим моделировать некоторые аспекты человеческих рассуждений (здравый смысл, неопределенность, противоречивость информации и т.п.), то дедукции будет совершенно недостаточно, и нужно привлекать не дедуктивные или правдоподобные формы рассуждений, такие как абдукция и индукция.
Термин «правдоподобное рассуждение» принадлежит Д. Пойа; примерами правдоподобных рассуждений в смысле Д. Пойа являются индукция через простое перечисление, аналогия и различные схемы недостоверных (в двузначной логике высказываний) выводов.
Д. Пойа сформулировал два возможных принципа вывода по аналогии:
«предположение становится более правдоподобным, когда оказывается истинным аналогичное предположение»;
«предположение становится несколько более правдоподобным, когда становится более правдоподобным аналогичное предположение».
Пусть р и Ф — упомянутые выше предположения, тогда принципам Пойа отвечают, соответственно, следующие схемы правдоподобных выводов:
р аналогично Ф,
Ф истинно,
р более правдоподобно;
р аналогично Ф,
Ф более правдоподобно,
р несколько более правдоподобно.
Здесь «р несколько более правдоподобно» понимается в том смысле, что без информации о правдоподобности Ф р было бы менее правдоподобным.
Формальные уточнения схем таких правдоподобных выводов связаны, во-первых, с формализацией средства описания структуры данных предметной области, и, во-вторых, с формализацией «степени правдоподобия р». Существенность сходства структур в выводах по аналогии была отмечена еще И. Г. Лейбницем.
Индукция обеспечивает возможность перехода от единичных фактов к общим положениям, законам. Говоря об истории исследования индуктивных рассуждений, следует отметить Ф. Бэкона, который впервые попытался формализовать индуктивные выводы посредством таблиц причин. Ф. Бэкон явился родоначальником исследований «эмпирической структурной индукции», целью которой является обнаружение эмпирических зависимостей в виде индуктивных обобщений, полученных на основе сравнения объектов, имеющих структуру и входящих в явления, которые представляются примерами и контрпримерами. Учение Ф. Бэкона об индукции было развито Д. С. Миллем, который предложил свои известные методы сходства, различия, остатков и сопутствующих изменений.
Рассматривая индукцию как недедуктивное рассуждение, можно выделить аргументы, обеспечивающие некоторую (частичную) поддержку заключения, т. е. если посылки истинны, они дали бы некоторое основание, хотя и неполностью убедительное, принять данное заключение истинным; при этом остается некоторая возможность получить ложное заключение. Аргументы такого типа Салмон называл «индуктивными аргументами». Далее он классифицирует их следующим образом:
аргументы, основанные на выборках;
аргументы, полученные по аналогии;
• статистические силлогизмы.
Аргументы, основанные на выборках, представляют индуктивные обобщения. При обобщении также имеет место логический процесс перехода от единичного к общему, от менее общего к более общему знанию. Это понятие довольно близко смыкается с понятием индуктивного вывода, хотя в современной логике индуктивный вывод трактуется более широко и рассматривает не только умозаключения от частного к общему, но и вообще все те логические отношения, когда истинность проверяемого знания нельзя достоверно установить на основании тех знаний, истинность которых нам известна, а можно лишь определить, подтверждается ли первое знание последними, а если да, то с какой степенью.
Индуктивные обобщения имеют следующую форму:
Х% наблюдаемых явлений F есть G;
поэтому (приблизительно) Х% всех F есть G.
Аргументы, полученные по аналогии, выглядят следующим образом:
объекты типа X имеют свойства F^ F^ ... ^ F^
объекты типа Y имеют свойства Fi, F2,..., F&, а также свойство G;
поэтому объекты типа X имеют также свойство G.
Наконец, статистические силлогизмы имеют следующую форму: Х% всех явлений F есть G;
а есть F;
поэтому а есть G.
Здесь процент всех явлений понимается как значительный («большой»), ибо в противном случае заключение будет: а не есть G.
Можно разделить индуктивные аргументы на статистические и категорные, понимая последние как имеющие некоторую форму рассуждений. Так, например, категорное индуктивное обобщение имеет следующий вид:
все наблюдаемые явления F есть G;
поэтому все F есть G.
Независимо от того, являются ли индуктивные аргументы статистическими или категорными, главная проблема заключается в способе их оценивания. Чтобы узнать степень убеждения некоторой гипотезы (гипотетического заключения) Н при некотором основании (доводе) Е, можно прибегнуть к вероятностной формализации индуктивной поддержки этой гипотезы и вычислить условную вероятность Р(Н\Е), что реализуется в теории подтверждения (confirmation theory). Сторонник этой теории Карнап прямо указывал на возможность рассмотрения степени подтверждения гипотезы Н путем основания Е как на степень общезначимости индуктивного аргумента типа «Е, поэтому Н» и подчеркивал возможность обрабатывать эту «индуктивную общезначимость» как аналог дедуктивной общезначимости. Он писал, что, называя теорию индуктивного вывода не дедуктивной, термин «вывод» в индуктивной логике мы не понимаем в том же самом смысле, как в дедуктивной. Обе логики, как дедуктивная, так и индуктивная, едины в одном: они исследуют логические отношения между утверждениями, но если первая изучает отношение выводимости одних утверждений из других, то вторая — степень подтверждения утверждений, которая рассматривается как некоторая числовая мера. Другими словами, теория подтверждений сама по себе не устанавливает отношение логического следствия, поскольку любое основание только подтверждает любую гипотезу в определенной степени. Индуктивная логика, основанная на теории подтверждений, является логикой оценки гипотезы, а не ее образования. Поскольку меры убеждения выражают субъективные оценки агента об истинности гипотез, то процедуры оценки истинности гипотез являются тем средством, который отвечает на вопрос: «Насколько правдоподобна эта гипотеза при данном основании?»
Возвращаясь к категорным индуктивным аргументам, можно продолжить разделение недедуктивных рассуждений на индуктивные и абдуктивные. Если в индуктивных выводах некоторые факты, устанавливаемые для отдельных явлений, переносятся на весь класс таких
явлений, то в абдуктивных выводах имеет место вывод от частного к частному.
Абдуктивные выводы были предложены одним из создателей математической логики Ч. Пирсом. В своей попытке классифицировать аргументы он следовал силлогистике Аристотеля. Гениальный мыслитель древности выбрал для формализации именно дедуктивные рассуждения, в которых истинные посылки порождают только истинные заключения. Пирс разработал свою теорию силлогистики. Рассмотрим в качестве примера аристотелевский силлогизм «Barbara».
Все студенты из группы А-13-2000 юны.
Эти студенты являются студентами группы А-13-2000.
Следовательно, эти студенты юны.
Истинность заключения не вызывает сомнений, если истинны две посылки. Считая первую посылку главной (Пирс называл ее правилом (rule)), а вторую — меньшей (он назвал ее случаем (case)), Пирс из этого силлогизма построил еще два других. Заключение он называл результатом (result).
Случай: Эти студенты являются студентами группы А-13-2000.
Результат: Эти студенты юны.
Правило: Все студенты из группы А-13-2000 юны.
Правило: Все студенты из группы А-13-2000 юны.
Результат: Эти студенты юны.
Случай: Эти студенты являются студентами группы А-13-2000.
В первом силлогизме из случая и результата осуществляется вывод правила, а во втором из правила и результата — случай.
Нетрудно заметить, что первый силлогизм относится к категорному индуктивному обобщению. Второй силлогизм Пирс назвал принятием гипотезы (термин «абдукция» он ввел позже).
Таким образом, Пирс пришел к следующей классификации вывода: вывод делится на дедуктивный (или аналитический) и синтетический, который, в свою очередь, подразделяется на индукцию и принятие гипотезы. Следовательно, индуктивное обобщение соответствует в его классификации индукции.
В 1902 г. Пирс писал, что, уделяя слишком много внимания силлогистическим формам рассуждений, он недостаточно останавливался на трех формах рассуждений — абдукции, дедукции и индукции, которые идентифицировались, по его понятиям, с тремя стадиями научного исследования — генерацией гипотез, предсказанием и оценкой соответственно. Имея ряд наблюдаемых явлений и сопоставляя их, исследователь приходит к какой-то начальной гипотезе, затем получает из нее какие-то заключения (следствия), которые должны
быть истинными, если исходная гипотеза истинна, и затем сопоставляет с некоторой степенью достоверности предсказанные заключения с реальностью. Первую стадию образования гипотез при объяснении наблюдаемых явлений он назвал абдукцией, вторую стадию вывода предсказанных заключений из гипотез — дедукцией и последнюю, путем оценки этих заключений, — индукцией.
Абдукция по Пирсу определяется как процесс формирования объяснительной гипотезы из наблюдаемых явлений реальной действительности, и он считал этот процесс инсайтом (подобно «вспышке» в голове) и не подлежащим алгоритмизации. Как и любой акт озарения, инсайт не свободен от ошибок, и в основе абдукции, по мнению Пирса, лежит «мистическая сила догадки». Вот его абдуктивная форма вывода:
наблюдается некоторый факт С;
если утверждение А было бы истинным, факт С был бы чем-то само собой разумеющимся;
следовательно, имеется причина подозревать, что А истинно.
О наблюдаемом факте С можно сказать, что он истинен и не является логическим следствием, полученным из нашего знания реального мира. Вторая посылка интерпретируется как «А логически влечет С». Истинность этой посылки очевидна, если истинен С, и под «логически влечет» следует понимать материальную импликацию. Пирс назвал утверждение А объяснением С или объяснительной гипотезой факта С. К гипотезе он предъявляет требование ее экспериментальной ве- рифицируемости, ибо в противном случае она не может быть индуктивно оценена. Правда, сама верификация нужных гипотез требует дополнительных затрат, и по этой причине абдукцию Пирс называл как «вывод нан лучших объяснений».
Индукция идентифицируется Пирсом как процесс тестирования гипотезы посредством отобранных предсказаний. Идея об обеспечении верифицированного предсказания дальнейшей поддержки гипотезы близка к понятию подтверждения, которое обсуждалось ранее. Главное отличие от теории подтверждения состоит в том, что с точки зрения Пирса в индукции с помощью предсказаний гипотеза тестируется только по отобранным порциям довода, и, следовательно, оценка гипотезы носит в некотором смысле ограниченный характер.
Таким образом, Пирс отделяет процесс образования гипотез от их тестирования, и, по его мнению, абдукция является процессом генерации объяснительных гипотез, а индукция соответствует методу тестирования гипотез и их оценки.
Рассмотрим более подробно логические аспекты абдукции и индукции в плане их применения в интеллектуальных системах, будь это системы диагностики и планирования действий, или системы
обучения и понимания естественного языка. Так как абдукция и индукция являются не дедуктивными формами рассуждений, считаем, что основная функция абдукции заключается в обеспечении объяснений наблюдаемых явлений или событий, а функция индукции — в обеспечении обобщений наблюдений.
Для представления знаний имеем язык предикатов первого порядка, предикаты которого делятся на наблюдаемые и ненаблюдаемые или фоновые, в зависимости от того, описывают ли они наблюдаемые объекты и явления или нет. Имеют место знания трех типов: знание предметной области или фоновое (background) знание представляет собой общую теорию, касающуюся только ненаблюдаемых предикатов; знание переднего плана (foreground knowledge) является общей теорией, связывающей наблюдаемые предикаты с фоновыми; и, наконец, знание примеров (иногда называемое знанием сценария) состоит из формул, содержащих только ненаблюдаемые предикаты, возможно выведенные из некоторого подмножества таких предикатов. Знание примеров может быть частью фонового знания. Наблюдаемые предикаты являются выполнимыми наблюдениями в отличие от предсказаний, истинностное значение которых неизвестно. Знание примеров обычно содержит описания объектов или ситуаций предметной области рассуждений в терминах ненаблюдаемых предикатов. Описание ненаблюдаемого объекта или индивидуума становится известным только после формирования гипотезы, которая может быть абдуктивной или индуктивной. Однако эта гипотеза способна обеспечить предсказание ненаблюдаемого объекта, получив доступ к его описанию.
Отсюда можно определить цель индукции как вывод знания переднего плана из наблюдений и другой известной информации, состоящей обычно из фонового знания и знания примеров. Эти наблюдения мы и пытаемся обобщить в новое знание переднего плана.
Если в индукции идет процесс обобщения, то в абдукции из наблюдений и другой известной информации мы выводим знание примеров. Возможные абдуктивные гипотезы строятся из специфических ненаблюдаемых предикатов, называемых абдуцентами, и, таким образом, абдуктивная гипотеза является гипотезой, которая пополняет знание примеров о наблюдаемом объекте или явлении.
Отсюда абдуктивная гипотеза предназначена для объяснений наблюдений, а индуктивная — для их обобщений. Если абдуктивное объяснение состоит только из знания примеров, то, очевидно, для абдукции нужна также и общая теория знания переднего плана, связывающая наблюдение с фоновыми предикатами с целью объяснения этих наблюдаемых явлений. Абдуктивное объяснение, таким образом, имеет смысл только относительно данной теории переднего плана.
Что касается индукции, то в ней объяснение играет иную роль, чем в абдукции. Например, когда мы говорим, что все студенты группы
А-13-2000 юны, то этот тип объяснений носит универсальный характер, и он был получен не из теории, а путем обобщения конкретных примеров: «Эти студенты являются студентами группы А-13-2000» и «Эти студенты юны». Можно сказать, что индуктивные гипотезы не объясняют конкретные объекты и явления, а скорее объясняют частоты, с которыми эти наблюдения встречаются (в данном примере неюных студентов из группы А-13-2000 не наблюдалось). Отсюда в индуктивной гипотезе на первое место выходит обеспечение обобщений наблюдаемых объектов и явлений, и объяснительная гипотеза будет индуктивной только в случае, если она обобщает. А это и является категорным индуктивным обобщением, когда исходя из истинности конкретных примеров (выборки) делаем вывод об истинности всей популяции.
Следует также заметить, что в абдукции имеется обобщение, выраженное только в общей теории фонового знания, в то время как в индукции мы получаем новые обобщения, не содержащиеся в общей теории фонового знания.
Индуктивное обобщение наиболее часто исследуется в машинном обучении, когда имеют место наблюдения неизвестного понятия, взятые в форме описания примеров (положительных примеров) и контрпримеров (отрицательных примеров). Цель состоит в определении понятия, которое правильно отличает примеры от контрпримеров.
Пусть дана общая теория фонового знания Т, содержащая описание примеров и контрпримеров в виде множеств Р и N фундаментальных (означенных) литер. Требуется определить гипотезу Н в рамках языка логики предикатов первого порядка, такую, что:
для всех примеров р Е Р: Т U Н к р;
для всех контрпримеров n Е N: Т Е Н ^ п.
Одна из серьезных проблем в машинном обучении заключается в обеспечении метода обучения «адекватным» множеством примеров и контрпримеров. Термин «адекватный» неформально здесь понимается как достаточный для успешного обучения понятия, что в свою очередь выдвигает тяжелое условие для понимания, какие примеры достаточны (а какие нет) при решении этой задачи. Отметим также, что в логическом программировании множества Р и N могут содержать более сложные выражения, нежели фундаментальные факты.
Индуктивные методы также применяются для проблемы обнаружения знаний (knowledge discovery). Дан некоторый довод (основание) Е и требуется определить гипотезу Н в рамках языка логики предикатов первого порядка, такую, что:
Н истинна в модели то, сконструированной из В;
для всех формул g в рамках данного языка, если g истинна в то, то Н И д.
Предполагая, что модель то является минимальной эрбрановской моделью, гипотеза Н представляет аксиоматизацию всех утверждений, истинных в этой модели.
Существенной особенностью процесса индукции является роль отобранной индуктивной гипотезы Н, состоящей в расширении существующей теории Т (фонового знания) на новую теорию Т = = Т U Н. Таким образом, выбранная гипотеза Н обеспечивает связь между наблюдаемыми и ненаблюдаемыми предикатами, которой не доставало в исходной теории Т. Если абдукция с помощью абдуцентов расширяет знание примеров, то подлинное обобщение теории Т происходит только путем индукции. Можно сказать, что если в абдукции теория Т фиксируется, и варьируется только знание примеров, то в индукции, наоборот, фиксировано знание примеров, а подвержена изменению (расширению) теория Т.
Как в индуктивных, так и в абдуктивных рассуждениях имеются специфические факты (примеры), которые затем должны быть объяснены. Но если индукция рассматривает примеры как примеры понятия, а объяснения как общие объяснения понятия, то в абдукции примеры рассматриваются как специфические наблюдения, а объяснения — как некоторые другие специфические факты, истинность которых подтверждает эти наблюдения.
Рассмотрим на примере взаимодействие между абдуктивными и индуктивными рассуждениями. Пусть дана теория фонового знания Т: «Все студенты МЭИ юны» и наблюдение О: «Все студенты группы А-13-2000 юны». Тогда объяснение этого наблюдения будет выражено гипотезой Н: «Все студенты группы А-13-2000 являются студентами МЭИ». Взаимодействие между индукцией и абдукцией зависит от выбора наблюдаемых предикатов и абдуцентов.
Предположим, что в качестве наблюдаемого предиката мы выбрали Юн(ж), а абдуцентом является СтМЭИ(х). Тогда гипотеза Н среди всех возможных абдуцируемых расширений теории Т, соответствующих разным абдуцируемым утверждениям знания примеров, непротиворечивых с Т, выбирает данное конкретное. В этом выбранном расширении наблюдение О выводится, и поэтому, согласно абдуктив- ной теории Т, гипотеза Н объясняет это наблюдение. Заметим, что эта гипотеза не обобщает данное наблюдение, т. е. наблюдаемый предикат Юн (ж) действует только в рамках наблюдения О.
Теперь при анализе этого примера мы исходим из того, что наблюдаемым предикатом является СтМЭИ(х), предполагая, что любой из наблюдаемых студентов является студентом МЭИ. Образуя ту же самую гипотезу Н, что и раньше, и имея в виду уже индуктивную проблему, эта гипотеза становится индуктивной и обладает обобщающим действием на наблюдениях по предикату СтМЭИ(х). Но откуда появились наблюдения по предикату СтМЭИ(т)? Они могут быть получены из теории Т как выбранные абдуктивные объяснения при
наблюдениях по предикату Юн (ж). Здесь мы уже имеем гибридный процесс, первая ступень которого использует абдукцию как наблюдение на абдуцируемых предикатах, а вторая ступень — индукцию для обобщения этого множества наблюдений, получая общее утверждение на абдуцируемых предикатах.
Таким образом, абдукция может быть использована для извлечения из данной теории Т и наблюдений О абдуцированной информации О', которая затем на уровне индукции дополняет эту теорию до новой Т', такой, что Т' к О'. Затем этот процесс может быть повторен.
В свете современных воззрений дедукция, абдукция и обобщение взаимосвязаны, дополняют друг друга и присутствуют в той или иной степени в интеллектуальных системах. В связи с большими объемами перерабатываемых данных и знаний, высокими требованиями к точности и времени обработки, необходимостью работы с неполной, противоречивой и неопределенной информацией проблема автоматизации процессов дедукции, абдукции и обобщения становится одной из наиболее важных проблем при создании интеллектуальных систем различного назначения. Так, в частности, при разработке динамических экспертных систем, характеризующихся неполной, противоречивой и меняющейся во времени информацией, большое значение приобретают исследования по немонотонным рассуждениям. В таких рассуждениях при получении дополнительной информации может потребоваться пересмотр (ревизия) некоторых ранее сделанных заключений, которые окажутся несовместимыми с новой информацией. Правила немонотонного вывода относятся к правдоподобным выводам.
Таким образом, данная книга состоит из трех частей, каждая из которых посвящена дедукции, абдукции и индукции соответственно. В первой части, содержащей пять глав, рассмотрены проблемы достоверного вывода. Глава 1 носит обзорный характер и посвящена автоматическому доказательству теорем, в котором главный акцент сделан на метод резолюции, его модификации и применение этого метода в языке Пролог. В следующих двух главах рассмотрены методы вывода на графовых структурах. Авторы отдали предпочтение этим методам ввиду их хорошего распараллеливания и возможности сравнения эффективности работы на тестовой задаче «Стимроллер».
В главе 4 описан метод аналитических таблиц, который малоизвестен русскоязычному читателю вследствие малого количества литературы по этому методу на русском языке.
И, наконец, вывод на иерархических структурах приведен в главе 5. Здесь главное внимание было уделено описанию многоуровневой алгебры и многоуровневой логики, а также механизму вывода в такой логике.
Во второй части, также состоящей из пяти глав, дан аппарат классических модальных логик, немонотонных модальных логик, описаны системы аргументации и абдуктивный вывод.
Глава 6 посвящена характерным особенностям знания; подчеркивается роль не-факторов знания в правдоподобных рассуждениях и нетрадиционных логик в искусственном интеллекте.
Аппарат классических модальных логик изложен в главе 7. Здесь рассматриваются не только формальные системы модальной логики, но и семантическая сторона этой проблемы.
Предлагаемые в главе 8 немонотонные модальные логики оперируют с неполным, противоречивым, динамически изменяющимся знанием. Сначала рассмотрены логики убеждения и знания, затем описаны универсальные аксиоматические модальные системы МакДермотта и Дойла, которые были модифицированы с привлечением моделирования идеально разумного агента, интроспективно рассуждающего об исходном множестве предположений (автоэпистемические логики Мура). Далее описываются логики умолчаний Рейтера и системы поддержания истинности БД.
Глава 9 посвящена исследованию фундированной семантики для расширенных логических программ (WFSX). С помощью этой семантики можно представлять вывод по неполной информации, абдуктивный вывод, вывод с умолчаниями, выполнять обработку противоречий.
Системы аргументации и абдуктивный вывод представлены в главе 10. Дается обзор систем аргументации и показывается, что теория аргументации может успешно применяться для организации абдук- тивного вывода. Излагаются подходы к вычислению абдуктивных объяснений, описывается метод вероятностных абдуктивных рассуждений и дается применение абдукции и аргументации в логическом программировании.
Третья часть книги, состоящая из четырех глав, посвящена индуктивному обобщению в интеллектуальных системах. Другие виды индукции в книге не рассматриваются.
Так, в главе 11 описываются системы поддержки принятия решений и роль извлечения данных и знаний из БД в таких системах.
В главе 12 рассматривается класс алгоритмов, решающих задачу обучения без учителя. Затем приводятся алгоритмы распознавания с использованием решающих функций.
Алгоритмы обучения с учителем описаны в главе 13. Дан широкий спектр алгоритмов такого класса и показано, что эти алгоритмы оперируют с объектами, содержащими качественные признаки. Поиск наиболее существенных сочетаний признаков проводится с помощью аппарата логических функций.
И, наконец, последняя 14-я глава посвящена индуктивному обобщению для случая неполной информации. Системам извлечения зна-
ний часто приходится работать с уже готовыми БД, в которых информация может быть искажена, и значения некоторых атрибутов могут содержать ошибки в результате измерений или даже отсутствовать. Приводится алгоритм извлечения продукционных правил из большой БД, и описывается подход для извлечения знаний с использованием приближенных множеств.
Басня И. А. Крылова, отрывок из которой предваряет введение, как известно, заканчивается пессимистически. Мы же будем надеяться, что после прочтения этой книги «воз» все же сдвинется с места, и читатели будут иметь более оптимистический настрой при решении проблем, связанных с достоверными и правдоподобными рассуждениями. Дай же Бог!
Часть IДОСТОВЕРНЫЙ ВЫВОД
Также и много других собрать бы я мог доказательств, Чтобы еще подтвердить несомненность моих рассуждений; Но и следов, что я здесь лишь наметил, довольно, Чтобы ты чутким умом доследовал все остальное.
Лукреций
Глава 1
АВТОМАТИЧЕСКОЕ ДОКАЗАТЕЛЬСТВОТЕОРЕМ
Автоматическое доказательство теорем ведет свое начало от основополагающих работ Эрбрана, который еще в 30-х годах XX в. предложил механическую процедуру дедуктивного вывода. В 60-е годы усилиями Ньюэлла и Саймона был создан общий решатель проблем, доказывающий теоремы формальной логики, разработанной Расселом и Уайтхедом, которые считали, что для математики достаточно иметь формальный вывод теорем из основных аксиом.
Однако результаты Чёрча и Тьюринга о неразрешимости логики предикатов первого порядка в какой-то степени оттеснили работы Эрбрана на задний план. Интерес к ним возрос лишь в 60-е годы, когда Гилмор реализовал эрбрановскую процедуру вывода на компьютере. Действительно, если нет процедуры для проверки противоречивости (общезначимости) формул логики предикатов первого порядка, то самое большее, что можно сделать — это проверить противоречивость (общезначимость) формулы, если она на самом деле таковой и является. Гилмору удалось доказать с помощью процедуры Эрбрана ряд простых теорем из логики высказываний и логики предикатов первого порядка, но его программа столкнулась с неразрешимыми трудностями при доказательстве более сложных теорем логики предикатов.
Ненамного эффективнее был метод Девиса и Патнема, с помощью которого были доказаны некоторые теоремы из логики предикатов первого порядка, не доказанные Гилмором. В 1964-1965 гг. независимо друг от друга появились обратный метод установления выводимости Маслова и принцип резолюции Робинсона. В те же годы Шаниным и его коллегами было разработано несколько версий алгоритма машинного поиска естественного логического вывода в исчислении высказываний (АЛПЕВ). Разработка версий системы АЛПЕВ и машинных алгоритмов вывода на основе обратного метода и принципа
резолюции показала принципиальную возможность машинных доказательств теорем.
Сейчас принято считать, что автоматические рассуждения на основе формальной логики относятся к слабым (weak) методам доказательства теорем, и чисто синтаксические методы управления поиском не способны обрабатывать огромное пространство поиска при решении задач практической сложности. Поэтому альтернативой являются неформальные методы поиска, ad hoc стратегии, эвристики и рассуждения здравого смысла, которые человек использует при решении проблем.
Однако методы доказательства теорем, основанные на формальной логике типа логики предикатов первого порядка, остаются все еще сильным оружием при манипулировании знанием и их нельзя игнорировать. Продолжающийся интерес к автоматическому доказательству теорем заключается в симбиозе человека и машины при решении сложных проблем, когда на долю человека остаются задачи декомпозиции сложной проблемы на ряд подпроблем, поиска нужных эвристик для сокращения пространства поиска, а автоматическому решателю доводится выполнять формальные манипуляции со знанием на основе методов вывода. Ярким примером использования этого симбиоза являются экспертные системы, основанные на правилах, нашедшие широкое применение в медицине, геологии, управлении производством, транспортом, тепловыми и атомными станциями и т. и.
Конечно, доминирующий в автоматическом доказательстве теорем метод резолюции не является панацеей от всех бед, сопровождающих процедуры доказательства теорем, и мы вправе надеяться на появление более совершенных процедур дедуктивного вывода. Это касается и языка Пролог, неплохо зарекомендовавшего себя при решении логических проблем. Здесь можно согласиться с точкой зрения Н. Н. Непейводы, утверждавшего, что «есть смысл использовать Пролог для кусков программ, обладающих исключительно сложной логикой при явном задании вариантов. Все вычислительные части программ при этом стоит писать на других языках и иметь либо Пролог-программу, вызывающую вычислительные модули, либо (скажем) Паскаль-программу с внешней Пролог-подпрограммой».
Нормальные и стандартные формы
При разработке методов автоматического доказательства теорем необходимо представить все формулы, как логики высказываний, так и логики предикатов первого порядка, в некотором стандартном виде. В дальнейшем слова «первого порядка» будут опускаться, а логика предикатов будет считаться расширением логики высказываний за
счет введения предикатов, квантора общности V и квантора существования 3. Простые высказывания в логике высказываний будем называть атомами, принимающими два значения: истина (И) или ложь (Л). Символы И и Л называются истинностными значениями.
Сложные высказывания (формулы) будут образовываться из простых с помощью логических связок -и (не), & (конъюнкция), V (дизъюнкция), (импликация), (эквивалентность).
Для логики предикатов определим понятия терма, атома и формулы. Здесь мы имеем:
яд, Т2,..., хп,... — предметные переменные;
а-^а^ ... ак,... — предметные константы;
Р^, Р^ ... Р^, ...,Qrk1... — предикатные буквы;
fl, /1, • ■ •, fm, ■ ■ ■, 9 k, ■ ■ функциональные буквы.
Верхний индекс предикатной или функциональной буквы указывает число аргументов, а нижний служит для различения букв с одним и тем же числом аргументов. В дальнейшем верхний индекс будем опускать.
Правила конструирования термов:
всякая предметная переменная или предметная константа есть терм;
если Д — функциональная буква и НД2?---Дп — термы, то MUt^, ...,1^ — терм;
других правил образования термов нет.
Например, ж, у и 1 — термы, mult и plus — двухместные функциональные символы, тогда plus(?/, 1) и mult(:r, plus(?/, 1)) — также термы.
Правила образования атомов (атомарных формул):
всякое переменное высказывание X есть атом;
если Pt — предикатная буква, а РХ^^ • • • Рп — термы, то Д (Н Д2, • • • Дп) есть атом;
других правил образования атомов нет.
Формулы логики предикатов конструируются по следующим правилам:
всякий атом есть формула;
если А и В — формулы и х — предметная переменная, то каждое из выражений А Р В. АА В. АВ. А В. ^хА и ЗхА
есть формула;
других правил образования формул нет.
Для того чтобы сократить количество скобок в формуле, используем правила силы операций:
связка -и сильнее связок & , V, —ц
связка & сильнее связок V, еэ;
связка V сильнее связок —ц
связка сильнее связки
Внешние скобки всегда будем опускать, и вообще везде, где не возникает двусмысленностей, будем пользоваться минимумом скобок. Кроме того, всегда предполагаем, что свободные и связанные переменные обозначены разными буквами, и если один квантор находится в области действия другого, то переменные, связанные этими кванторами, также обозначены разными буквами.
Пример 1.1.
Пусть Р(х) и N(x) обозначают соответственно «х есть положительное целое число» и «х есть натуральное число». Тогда утверждение «Всякое положительное целое число есть натуральное число. Число 5 есть положительное целое число. Следовательно, 5 есть натуральное число» будет записано на языке логики предикатов следующим образом:
\/х(Р(х)N(x))
Отметим, что для перевода предложений с русского языка на язык логики предикатов в общем случае не существует механических правил. В каждом отдельном случае нужно сначала установить, каков смысл переводимого предложения, а затем пытаться передать тот же смысл с помощью предикатов, кванторов и термов. Для иллюстрации того, что при переводе могут возникнуть трудности, приведем довольно несложные высказывания.
Пример 1.2.
Все люди — животные: \/Д5(?/) C^Y
Следовательно, голова человека является головой животного:
Х/х^у^З^у^ & УД,?/)) —> ЗДСД) & V(х, г))). Здесь S(x) — «х — человек»; С(х) — «х — животное»; V(x^y) — «х является головой у».
Если перевод первого высказывания довольно прост, то с переводом второго возникают сложности, связанные с определением его семантики.
Формулы логики высказываний и логики предикатов имеют смысл только тогда, когда имеется какая-нибудь интерпретация входящих в нее символов.
Пусть дана формула логики высказываний В и Xi, Х2,..., Хп — атомы, встречающиеся в этой формуле. Тогда под интерпретацией формулы логики высказываний В будем понимать приписывание истинностных значений атомам Xi, Х2,..., ХП1 т. е. интерпретация — это отображение Г, сопоставляющее каждому атому Х^ (г = 1,п) некоторое истинностное значение.
Под интерпретацией в исчислении предикатов будем понимать систему, состоящую из непустого множества D. называемого областью интерпретации, и какого-либо соответствия, относящего каждой предикатной букве Р^ некоторое n-местное отношение в D (т. е. Dn {И, Л}), каждой функциональное букве /гп — некоторую п- местную функцию в D (т. е. Dn D) и каждой предметной константе а^ — некоторый элемент из D. При заданной интерпретации предметные переменные мыслятся пробегающими область D этой интерпретации, а логическим связкам -1, & , V, и кванторам придается их обычный смысл.
Для данной интерпретации любая формула без свободных переменных представляет собой высказывание, которое может быть истинным или ложным, а всякая формула со свободными переменными выражает некоторое отношение на области интерпретации, причем это отношение может быть истинным для одних значений переменных из области интерпретации и ложным для других.
Пример 1.3.
Дана формула РДДад, £2), а). В качестве области интерпретации берем множество всех натуральных чисел X и интерпретируем РД, у) как х ^ у, /Дад, ^2) — как яд + Х2 и а = 5. Тогда РДДад, Х2), а) представляет отношение Xi + ж 2 ^ а, которое верно для всех упорядоченных троек < Ьх^^Ьз > целых положительных чисел, таких, что ^1+^2 Ьз.
Пример 1.4.
Дана замкнутая формула (т. е. формула без свободных переменных) \/xi3x2A(x21 xi\ Пусть область интерпретации — множество натуральных чисел X и АД, у) — интерпретируем как х < у. Тогда записанное выражение оказывается истинным высказыванием, утверждающим существование наименьшего целого положительного числа.
Для выяснения факта, истинна или ложна формула в данной интерпретации Г, необходимо, задав область интерпретации, интерпретировать прежде всего все термы, входящие в формулу, затем атомы и, наконец, саму формулу.
Если область интерпретации D конечна, то в принципе можно выяснить истинность или ложность любой формулы, перебрав все различные элементы множества Dn. где п — число различных переменных, входящих в формулу. Однако на практике D часто настолько
велика или бесконечна, что о переборе не может быть и речи. Поэтому логический вывод оказывается просто необходим.
Формула логики высказываний (предикатов), которая истинна во всех интерпретациях, называется общезначимой формулой. Аналогично формула логики высказываний (предикатов), которая ложна во всех интерпретациях, называется противоречием.
Кроме того, будем называть формулу выполнимой, если она истинна по крайней мере в одной интерпретации. Аналогично, формула называется опровержимой, если она ложна по крайней мере в одной интерпретации. Отсюда очевидно, что формула А общезначима тогда и только тогда, когда ^А невыполнима, и А выполнима тогда и только тогда, когда ^А опровержима.
Интерпретация, при которой истинностное значение формулы есть И, называется моделью этой формулы. Любую формулу удобно представить в виде так называемой нормальной формы. Атом или его отрицание будем называть литерой.
Говорят, что формула логики высказываний В представлена в конъюнктивной нормальной форме (КНФ) тогда и только тогда, когда она имеет форму В = Bi & В2 & ... & Вт, где каждая из В, (г = 1,т) есть дизъюнкция литер. Например, В = = (Ai V ^^2) & (^Ai V А2 V ^Аз) & A3 представлена в КНФ.
Аналогично говорят, что формула логики высказываний В представлена в дизъюнктивной нормальной форме (ДНФ) тогда и только тогда, когда она имеет форму В = Bi V В2 V ... V Вт, где каждая из В, (г = 1,т) есть конъюнкция литер. Например, В = = (^Ai & ^А2 & A3) V (Ai & А2) V ^Аз представлена в ДНФ.
Любая формула исчисления высказываний может быть преобразована в нормальную форму с помощью следующего алгоритма.
Шаг 1.А В = (А В) & (В А).
А^ В = ^AV В.
-ДА VB) = ^А & ^В 1ЧА к В) = ^AV^B /-ДА VB) = ^А & ^В 1ЧА к В) = ^AV^B /Шаг 2. Л л
-ДА VB) = ^А & ^В 1
ЧА к В) = ^AV^B /
-ДА VB) = ^А & ^В 1
ЧА к В) = ^AV^B /
законы Де-Моргана.
Шаг 3.
А V (В & С) = (А V В) & (А V С) (для КНФ).
A&(BVC')=A&BVA&C'(для ДНФ).
Пример 1.5.
Получим КНФ для формулы (А —> (В V -"О')) —> D.
iA-iB v -nC)) D = ЦА V В V -^С) D = Ц-А. V В V ЛА) V D = = (А & ^В & С) V В = (А V В) & ЦВ V В) & (С V В).
Пример 1.6.
Получим ДНФ для формулы ДА & В) к (Л V В\
ДА & В) & (А V В) = (^А V -В) & (Л V В) =
= (ДА V -В) & Л) V ((-А V -В) & В) =
= (А & ^В) V (В & ^А).
В логике предикатов также имеется нормальная форма, называемая пренексной нормальной формой (ПНФ). Необходимость введения ПНФ будет обусловлена в дальнейшем упрощением процедуры доказательства теорем.
Сначала рассмотрим некоторые равносильные формулы в исчислении предикатов. Напомним, что две формулы В и Ф равносильны, т. е. F = Ф, тогда и только тогда, когда истинностные значения этих формул совпадают при любой интерпретации F и Ф. Для подчеркивания факта, что переменная х входит в формулу В, будем писать В [ж], хотя В может содержать и другие переменные.
Имеем следующие пары равносильных формул:
VxB[x] V Ф = \/ДВ[х] V Ф);
УтВД&Ф=УДВД&Ф);
ЗтВ[т] V Ф = ЗДВ[т] V Ф);
3xF^ & Ф = Зж(ВИ & Ф).
при условии, что переменная х не входит свободно в формулу Ф. Равносильность этих формул очевидна, так как формула Ф не содержит свободно х, поэтому не входит в область действия кванторов.
Далее имеем
VxB[x] & \/хФ[х] = \/ДВ[х] & Ф[ж]),ЗхВ[х] V ЗхФ[Д = ЗДВ[х] V Ф[х]).
Доказательство этих двух равносильностей оставляем читателю. Однако
VxB[x] V \/хФ[х]\/ДВ[х] \/Ф[ф,
ЗхВ[х] & ЗхФ[х] ЗДВ[х] & Ф[х]).
Действительно, взяв область интерпретации D = {1,2} и положив при некоторой интерпретации В[1] = И и В[2] = Л, а Ф[1] = Л и Ф[2] = И, получим в левой части первого неравенства значение Л, а в правой — И. Аналогично доказывается и второе неравенство. В последних двух случаях производим переименование связанных переменных, т. е^х В [ж] V \/хФ[Д = ^х В [ж] V V?/ Ф [х/] = VtV?/ (В [ж] V Ф [?/]), Зх В [ж] & ЗхФ[х] = Зх В [ж] & 5х/Ф[х/] = ЗхЗу (F [ж] & ФЫ) при условии, что переменная у не появляется в В[Д.
Теперь дадим определение ПНФ. Говорят, что формула F логики предикатов находится в ПНФ тогда и только тогда, когда ее можно представить в форме Яхяд ^2^2 • • • ^ТжТ М, где Дад, г = 1,г, есть либо ^х^ либо Зх^ и М -— бескванторная формула. Иногда Яхяд Я2Т2 ... Ягтг называют префиксом, а М — матрицей формулы F.
Например, формула Fi = Зх^у (Q(x,y) V P(f(x)) R(x, g(y))) находится в ПНФ, а формула F2 = ^х(Р(х) 3yQ(x, у)) — не в ПНФ.
Существует алгоритм, преобразующий произвольную заданную формулу в равносильную ей формулу, имеющую пренексный вид. Алгоритм состоит из следующих шагов.
Шаг 1. Исключение логических связок ^ и Многократно (пока это возможно) делаем замены: F Ф = ^F V Ф) & (F V ^Ф), F Ф = ^F \/ Ф. Результатом этого шага будет формула, равносильная исходной и не содержащая связок и
Шаг 2. Продвижение знака отрицания -и до атома. Многократно (пока это возможно) делаем замены:
= F,
^F V Ф) = ^F& ^Ф, ^F &Ф) = ^У-Ф, ^VxF[x] = 3x(^F[x]), ^3xF[x] = Vx(^F[x]).
Очевидно, что в результате выполнения этого шага получается формула, у которой знаки отрицания -и могут стоять лишь перед атомами.
Шаг 3. Переименование связанных переменных. Многократно (пока это возможно) применяется следующее правило: найти самое левое вхождение переменной, такое, что это вхождение связано (некоторым квантором), но существует еще одно вхождение этой же переменной; затем сделать замену связанного вхождения на вхождение новой переменной.
Шаг 4. Вынесение кванторов. Для этого используем следующие равносильности:
J4xF[x] V Ф = J4x(F[x] V Ф),
J4xF[x] & Ф = J4x(F[x] & Ф),
VxF[x] & \/хФ[х] = Vx(F[x] & Ф[х]), 3xF[x] V ЗхФ[х] = 3x(F[x] V Ф[Д|), yiixF[x] V Я2тФ[т] = yiixyl2?/(F[x] V Ф[?/]), yiixF[x] & Я2тФ[т] = J4itJ42?/(F[t] & ФЫ),
где Д J4i и Я2 — кванторы либо V, либо 3.
После выполнения четвертого шага формула приобретает пренекс- ный вид: Ях^х ^2^2 ... ЯгтгМ, где ^, Е {V, 3} для г = 1, г.
Пример 1.7.
Пусть F = \/х(Р(х)3xR(x)) ^yQ^yY Применяя алгоритм,
получаем следующую последовательность формул.
Шаг 1.
Vx^P(x) V 3xR(x)) fc (^(^) V -'3xR(x)Y \/yQ(yY -А/х[^Р(х) V 3xR(x)) fc (Р(х) -^3xR(x)Y V ^yQQyY
Шаг 2.
3t{^[(^P(t) V 3xR(xY) & (?(х) ^ЗтД(т))]} V ^yQ(yY Зх^(^Р(х) V 3xR(x)) V -(Р(х) V ^3xR(x))} V ^yQ^yY 3t{(^P(t) & -^3xR(x)) V (-Р(х) к ^ЗтД(т))} V^yQ(yY Зх^(Р(х) k ^xR(x)) V ЬР(х) k 3xR(x^}y^yQ(yY
Зх^(Р(х) Vx^R(x)) V (-Р(х)3xR(x))^ V \/yQ(y).
Шаг 3.
М(Р(г) & Vt^^(t)) V ^ 3xR(x))} V VyQ(yY 3z{(F(z) & Vw^F(w)) V (-P^)3xR(x))^ V ^yQQyY
Шаг 4.
3zX/uo3x\/y^P^ & -^RQwY) V (^P(z) R(x)) V Q(y)}-
Таким образом, мы ограничимся формулами, имеющими пренекс- ный вид. Однако можно рассматривать еще более узкий класс формул, так называемых V-формул.
Формула F называется V-формулой, если она представлена в ПНФ, причем кванторная часть состоит только из кванторов общности, т. е. F = VxiVx2 • • .^х^М, где М — бескванторная формула.
Отсюда возникает задача устранения кванторов существования в формулах, представленных в ПНФ. Это можно сделать путем введения сколемовских функций.
Пусть формула F представлена в ПНФ. F = yii^i ^2X2 • • • ^ТхТМ^ где ^ € {V, 3}, j = ТД.
Пусть A. (1 < г < г) — квантор существования в префиксе Яхяд ^яд • • • ЗАТхТ. Если г = 1, т. е. ни один квантор общности не стоит впереди квантора существования, то выбираем константу с из области определения М, отличную от констант, встречающихся в М, и заменяем яд на с в М. Вычеркиваем из префикса квантор существования yiiXi. Если перед квантором существования Я^ стоит Я^1, Я^2, • • •, ^jm кванторов общности, то выбираем т-местный функциональный символ /, отличный от функциональных символов в М, и заменяем х^ на /(^1,^2, • • • ^XjmY называемую сколемовской
функцией, в М. Квантор существования Я^ вычеркиваем из префикса. Аналогично удаляются и другие кванторы существования в ПНФ. В итоге получаем V-формулу. Опишем алгоритм последовательного исключения кванторов существования.
Алгоритм Сколема
Шаг 1. Формулу представить в ПНФ.
Шаг 2. Найти наименьший индекс г такой, что Яг, А-^ ... Я^-i все равны V, но ^ = 3. Если г = 1, т. е. квантор 3 стоит на первом месте, то вместо яд в формулу М подставить константу с, отличную от констант, встречающихся в М, и квантор 3 удалить из префикса. Если такого г нет, то СТОП: формула F является V-формулой.
Шаг 3. Взять новый (г — 1)-местный функциональный символ Д, не встречающийся в F. Заменить F на формулу
VxiVx2 .. .V^_^+i^+i...
ЯгхгМ[х1,х2,... ,^_i, Л(х1,х2,... ,^-i),^+i,.. .,xT\.
Шаг 4. Перейти к шагу 2.
Пример 1.8.
Пусть F = Зх^у^гЗиЗЗиЗтх (Р(х,у) V ^ДД,щг) & (ДщиД. Применяя алгоритм Сколема, получаем следующую последовательность формул:
V?/V^3nVr3w (Р(с, у) V ^R(^ и, v) k Q(n, w));
V?/WVc3w (Р(с, у) V ~^R(^ f(y, г), г) & Q(J(y, z), w));
^z^v (Р(с, у) V -lR(z, /(у, zY и) & QX(y, z\ 9(^ ^)))-
Переход от формулы в пренексной форме к V-формуле не затрагивает свойство формулы быть невыполнимой (противоречивой). Это доказывается следующей теоремой. Как правило, все теоремы будут даваться без доказательств. Желающие доказать их могут попробовать сделать это сами или обратиться к книгам, указанным в литературном комментарии.
Теорема 1.1. Пусть формула F задана в ПНФ и преобразована в V-формулу. В этом случае F в пренексной форме логически невыполнима тогда и только тогда, когда невыполнима V-формула F.
Аналогичная теорема имеет место и для общезначимых формул. Однако следует заметить, что если имеется выполнимая формула F, то может оказаться, что V-формула для F будет невыполнимой. Действительно, пусть F = Зх Р(х) и соответствующая ей V-формула есть Р(с). Тогда, задавая область интерпретации D = {1, 2} и интерпретируя Р(1) = Л и Р(2) = И и положив с = 1, получаем, что F в пренексной форме выполнима, а V-формула в этой интерпретации невыполнима.
2 В.Н. Вагин и др.
Таким образом, алгоритм Сколема, сохраняя свойство невыполнимости (противоречивости), приводит произвольную формулу, имеющую пренексный вид, к V-формуле.
Рассмотрим теперь преобразование бескванторной части (матрицы) к виду так называемых дизъюнктов (clauses). Дизъюнктом называется формула вида LiVL2V.. .VL^, где L^ (г = 1, к) — произвольная литера.
Дизъюнкт, не имеющий литер, называется пустым дизъюнктом (□). По определению он всегда ложен. Дизъюнкты, соединенные знаком & , образуют КНФ. Существует простой алгоритм равносильного преобразования произвольной бескванторной формулы в КНФ (см. также алгоритм получения КНФ и ДНФ для логики высказываний, данный ранее). Здесь дадим его в развернутом виде.
Алгоритм приведения к КНФ
Шаг 1. Дана формула F, составленная из литер с применением связок & и V. Предполагается, что в формуле исключены скобки между одинаковыми связками, т. е. нет выражений вида
Ф1 V (Ф2 V Ф3), (Фх V Ф2) V Ф3,
или
Ф1 & (Ф2 & Фз), (Ф1 & ф2) & Ф3.
Шаг 2. Найти первое слева вхождение двух символов ”V(” или ”)V” (здесь предполагается, что скобка не является скобкой атома). Если таких вхождений нет, то СТОП: формула F находится в КНФ.
Шаг 3. Пусть первым вхождением указанной пары символов является ”V(”. Тогда взять наибольшие формулы
Ф1,Ф2,...,ФГ,Ф1,Ф2,...,Ф5,
такие, что в F входит формула
Fi = Фх V Ф2 V Фг V (Фх & Ф2 & ... & ФД,которая связана с вхождением ”V(”. Заменить формулу F^ на формулу
(Ф1 V Ф2 V . .. V Фг V ФД & (Фх V Ф2 V . .. V Фг V ФД & ... &
& (Фх V Ф2 V . .. V Фг V ФД.
Шаг 4. Пусть первым вхождением является ”)V”. Тогда взять наибольшие формулы
Ф1,Ф2,...,Фг,Ф1,Ф2...,Ф5,
такие, что в F входит формула
Fx = (Фх & Ф2 & ... & ФД V Фх V Ф2 V ... V Фг,
связанная с вхождением ”)V”. Заменить Fi на формулу
(Ф1 V Фх V Ф2 V . .. V Фг) & (Ф2 V Фх V Ф2 V . .. V Фг) & . .. &
& (Ф5 V Ф1 V Ф2 V . .. V Фг).
Шаг 5. Перейти к шагу 2.
Пример 1.9.
Преобразуем формулу F = Р(х) V P(a)V((R(x,y) V ^Q(y)) & & Р^ & (F(x,a) V ^Q^ & РИ))) в КНФ. ""
F = (Р(х) V Р(а) V R^x. у) V -Q<y^(Р(х) V Р^ V Р^
& (Р(т) V Р(а) V R^ayd^Q^ & Р(а))) =
= (Р(т) V Р(а) V R(x, у) V -^Q(y))(Р(ж) V P(ct))
k (Р(х) V Р(а) V R(x, а) V -^Q(y\) к (Р(ж) V Р(а) V R(x, а) V Р(а)) == (Р(х) V Р^ V R^x. у) V -QH) & (Р(х) V Р(а)) к
k (Р(х) V Р(а) V R^x^ а) V ^Q(t/)) & (P(^) V Р(а) V R^x^ а)).
Здесь чертой подчеркнуты вхождения ”V(”. Кроме того, в алгоритме надо предусмотреть приведение подобных членов, а также всевозможные склеивания и поглощения.
Итак, последовательным применением алгоритма приведения к ПНФ, алгоритма Сколема и алгоритма приведения к КНФ с сохранением свойства невыполнимости любая формула F может быть представлена набором дизъюнктов, объединенных кванторами общности. Такую формулу будем называть формулой, представленной в Сколемовской стандартной форме (ССФ).
В дальнейшем формулы вида VxiVx2 ... Vxr[Pi & Р2 & ... & D^ где Di, D-^..., D^ — дизъюнкты, a яд, т2,... хг — различные переменные, входящие в эти дизъюнкты, будет удобно представлять как множество дизъюнктов S = {Pi, Р2,..., DkY Например, множеству дизъюнктов S = ^Р(х. /(ж)), Р(х, у) V ^R(x, g(y)),Q(x) V Р(х^а)} соответствует следующая формула, представленная в ССФ: ^х^у(^Р(х, f(x)) k (P(x,y)V ^R(x, g(y))) k (Q(x) VP(x, а))). И, наконец, когда говорят, что множество дизъюнктов S = {Pi, Р2,..., Ра} невыполнимо (противоречиво), то всегда подразумевают невыполнимость формулы VxiVx2 .. .^xT\D^ k D2 fc ... & Р/с], где Xi, т2,..., xr — различные переменные, входящие в дизъюнкты.
Логические следствия
Как мы уже упоминали, исчисление предикатов первого порядка является примером неразрешимой формальной системы. В доказанной А. Чёрчем теореме говорится об отсутствии эффективной процедуры при решении вопроса относительно произвольной формулы исчисления предикатов первого порядка, является ли эта формула
теоремой. Однако при доказательстве заключительного утверждения (цели) из начальной системы аксиом, посылок мы придерживаемся правила, что если все аксиомы и посылки принимают истинностное значение И, то и заключительное утверждение также принимает значение И. Из-за этого ограничения иногда исчисление предикатов первого порядка называют полуразрешимым. Рассмотрим пример.
Пример 1.10.
Горничная сказала, что она видела дворецкого в гостиной. Гостиная находится рядом с кухней. Выстрел раздался на кухне, и мог быть услышан во всех близлежащих комнатах. Дворецкий, обладающий хорошим слухом, сказал, что он не слышал выстрела. Детектив должен доказать, что если горничная сказала правду, то дворецкий солгал.
Р Q: если горничная сказала правду, то дворецкий был в гостиной.
Q R: если дворецкий был в гостиной, то он находился рядом с кухней.
R L: если дворецкий был рядом с кухней, то он слышал выстрел.
М ^L: если дворецкий сказал правду, то он не слышал выстрела.
Требуется доказать, что если горничная сказала правду, то дворецкий солгал, т. е. Р ~^М.
Представим посылки в КНФ: (^Р V Q) & (^Q V R) & (^R V L) & & (^М V -F). Аналогично заключение: ^Р V ^М.
Задавая интерпретации, в которых истинны посылки, нетрудно обнаружить, что будет истинно и заключение. Желающие могут выписать истинностную таблицу, чтобы в этом убедиться.
Таким образом, если даны формулы Fi, F^ ..., Fn и G, то говорят, что формула G является логическим следствием Fi, F^..., Fn (или G логически следует из Fi, F2,..., Fn) тогда и только тогда, когда для любой интерпретации I, в которой Fi & F2 & ... & Fn истинна, G также истинна.
Для обозначения логического следования формулы G из посылок Fi, F2,..., Fn будем писать Fi, F2,..., Fn И G. Символ И есть некоторое отношение между формулами, причем, если посылки соединены знаком & , то имеет место двуместное отношение: Fi & F2 & ... & Fn И G. Теперь приведем две простые, но важные теоремы, связывающие понятия логического следования с понятиями общезначимости и противоречивости.
Теорема 1.2. Даны формулы Fi, F2,..., Fn и G. Формула G является логическим следствием формул Fi, F2,..., Fn тогда и только тогда, когда формула Fi & F2 & ... & Fn G общезначима, т. е.
И Fi & F2 & • • • & Fn G. Формула Fi & F2 & ... & Fn G называется теоремой^ a G называется заключением теоремы.
Теорема 1.3. Даны формулы Fi, F2,..., Fn и G. Формула G является логическим следствием формул Fi, F2,..., Fn тогда и только тогда, когда формула Fi & F2 & ... & Fn & ^G противоречива.
Таким образом, факт, что данная формула является логическим следствием конечной последовательности формул, сводится к доказательству общезначимости или противоречивости некоторой формулы. Следовательно, имеется полная аналогия при выводе заключения теоремы из множества аксиом или посылок в формальной системе, и многие проблемы в математике могут быть сформулированы как проблемы доказательства теорем.
Обозначим общезначимую формулу через ■, а противоречивую — через □. Вернемся к примеру 1.10 и покажем, что формула ^Р V Q) & ^Q V R)k (^R V L) & ДМ V ^L)(^P V -M)
общезначима.
Действительно,
-[(-F V Q) & (-Q V F) & (^R V L^ ^M V МД V ^F V ^M =
= F&^QVQ&^FVF&^LVM&LV^FV^M =
= Д V ^F VM V^F V = ■.
Аналогично можно показать противоречивость формулы ^Р V Q) & ^Q V F) & ^R V L) & ^М V -L) & ^Р V -М) =
Подобный подход можно использовать и для логики предикатов. Вернемся к примеру 1.2 и покажем, что конъюнкция посылки и отрицания заключения есть противоречивая формула, т. е. 8у(8(у)
С(у)) &-,Vx(3y(S(y) & V(x,y))3z(C(z) & V(x,z))) = □. Для
этого приведем ее к ССФ. Посылка имеет вид -^8 (у) V С (у).
Отрицание заключения
~Ух(^Зу(8(у) k У(х, у)) V М(СД) & V(x, z))) =
= -8/х^/у(-^8(у) V ~^У(х, у)) V 3z(C(z) к У(х, г))) =
= ~Ух8уЗг(^8(у) V -^У(х,у) V (G(z) & y(x,z))) =
= 3x3yVz(8(y) & У(х, у) & (-G(z) V Д, Д)),
и ССФ имеет вид S(b) V(a,b) ^C(z) V -^V(a,z)).
Таким образом,
(Л8(Ь) V C(b)) k 8(b) k V(a, b) k ^C(b) V -V(a, b)) =
= -88(b) k 8(b) k V(a, b) k ^C(b) V C(b) & 8(b) &
& V(a,b) k -^V(a,b) = □.
Примененный здесь подход для получения общезначимой (противоречивой) формулы, конечно, далек от практического применения. В дальнейшем будут даны более эффективные процедуры доказательства общезначимости или противоречивости формул.
В заключение отметим, что из двух теорем (1.2 и 1.3), как правило, применяется теорема 1.3, т. е. если формула G является логическим следствием формул Fi, F^..., Fn, то надо доказать противоречивость формулы Fi & F2 & ... & Fn & ^G. Так как в этой формуле заключение теоремы G опровергается, то и процедуры поиска доказательства называются процедурами поиска опровержения^ т. е. вместо доказательства общезначимости формулы доказывается, что отрицание формулы противоречиво, и потери общности нет.
Процедура вывода Эрбрана
Ранее мы установили, что множество дизъюнктов S невыполнимо тогда и только тогда, когда оно принимает значение «ложь» при всех интерпретациях на любых областях. Однако в силу невозможности рассмотрения подобных интерпретаций хорошо было бы найти такую специальную область интерпретации, установив на которой факт невыполнимости множества дизъюнктов, можно было бы сделать вывод о невыполнимости этого множества на любых других областях интерпретаций. Такая область, к счастью, имеется, и она называется универсумом Эрбрана. Определим его.
Пусть Но — множество констант, появляющихся во множестве дизъюнктов S. Если в S нет констант, то в Но включается некоторая константа, например, Но = {и}. Для г = 1,2,... Н^у = = Hi А {/П(П Д2, • • • Дп)Ь где /п — все п-местные функциональные символы, встречающиеся в S^ а НД2? • • • ^tn — элементы множества Hi. Тогда будем Н = Н^ называть универсумом Эрбрана для 8^ а Hi — его уровнем г.
Пример 1.11.
Пусть S = {Р(ж, a, g^ V ->QOX -,Р(/(ж), а, у) V Q^. Тогда
Но = {а};
Hi = {а,/(«),»(«)};
Н2 = {а, /(а), д(а\ /(/(а)), рд^, g(JW\ уСуСЮ)};
Ноо = {а, /(а), д(а), /(/(«)), • ■ • }•
Пример 1.12.
Пусть S = {Q(x) V ^R(y^ Р(у) V ^Q(x)Y Тогда Н = Но = Ну = = ...=нж = {а}.
Если под выражением понимать терм, множество термов, атом, множество атомов, литеру, множество литер, дизъюнкт или множество дизъюнктов, то под фундаментальным выражением будем понимать выражение, в котором все переменные заменены элементами универсума Эрбрана. Так, фундаментальным примером дизъюнкта будем называть дизъюнкт, полученный заменой всех переменных в этом дизъюнкте элементами универсума Эрбрана таким образом, что все вхождения одной и той же переменной в дизъюнкт заменяются одним и тем же элементом универсума.
Множество фундаментальных атомов вида Pn(ti,t21.. .tn^ где Рп — все п-местные предикатные символы, встречающиеся во множестве дизъюнктов S ж р,бл .. Ап — элементы универсума Эрбрана, называется атомарным множеством или эрбрановской базой для S. Обозначим эрбрановскую базу через А.
Пример 1.13.
Пусть S = {Q(t), -iF(/(^)) V ^Q(x)Y Тогда
н = {a, f(a\ /(/(а)),...},
А = Р(Л (ЖсД, РДаД QUU^Y ■ ■ ■ }■
Фундаментальные примеры: Q^a\ -*P(f(a)) V ^Q(a) и т.п.
Определим теперь интерпретацию на универсуме Эрбрана и назовем ее P-интерпретацией. Говорят, что интерпретация 1н является Р-интерпретацией для множества дизъюнктов S, если выполнены следующие соответствия:
каждому предикатному символу Р™ соответствует некоторое п- местное отношение в Р;
каждому функциональному символу /J соответствует некоторая п-местная функция в Н (т. е. функция, отображающая Нп в Р);
каждой предметной константе (ц из S соответствует некоторая константа из Н (т. е. все константы отображаются на самих себя).
Пусть А = {Mi, А^,..., А^,... } является эрбрановской базой для S. Тогда P-интерпретация 1н может быть представлена множеством 1н = {w, Ш2,..., т^... }, в котором mj есть Aj или ^Aj для j = 1,2,.... При этом, если mj есть Aj, то Aj имеет значение И, в противном случае — Л.
Пример 1.14.
Пусть S = ^Ру^х^ V Q(x), R(x)Y Тогда
А = {Р(Д Q(a), НЛ, РДаД QUH, ... }.
Примеры /f-интерпретаций:
1н = Q(a), RH PUH, QUH, RUH, ... },
1н = UPH -QH -RH -PUH, -QUH, -RUH,...
i3H = -QU), -RH RUH, -QUH, -RUH, ■ • ■
При 1ц оба дизъюнкта выполнимы; при 1^ первый дизъюнкт выполним, второй нет; при 1^ оба дизъюнкта невыполнимы, т. е. принимают значение Л.
В случае, если интерпретация задана не на универсуме Эрбра- на, а на произвольной области D. то можно установить следующее соответствие между этими интерпретациями. Пусть дана интерпретация I на некоторой области D. Говорят, что ^-интерпретация 1н соответствует интерпретации /, если имеет место следующее: пусть h±^ h^^.. hn^... — элементы Н. и пусть каждый Уц отображается на некоторый элемент di области D: тогда, если любой P(d-^ d2,... ,dn) принимает значение И (Л) при интерпретации /, то P(hi^ h/^ ... ^ hn) также принимает значение И (Л) при 1ц. Существует следующая теорема.
Теорема 1.4. Множество дизъюнктов S невыполнимо тогда и только тогда, когда S ложно при всех /^-интерпретациях.
Доказательство «тогда» очевидно, а «только тогда» легко доказывается от противного введением соответствия между Н- интерпретацией и некоторой произвольной интерпретацией. В дальнейшем будем рассматривать только Н-интерпретации, и называть их просто интерпретациями I. Таким образом, для установления невыполнимости множества дизъюнктов необходимо и достаточно рассмотреть только //"-интерпретации. Процедура вывода Эрбрана основывается на его теореме.
Теорема 1.5. (теорема Эрбрана). Множество дизъюнктов S невыполнимо тогда и только тогда, когда существует конечное невыполнимое множество S' фундаментальных примеров дизъюнктов S.
Таким образом, для установления невыполнимости множества дизъюнктов необходимо образовать множества Si, S2, • • •, Sn фундаментальных примеров дизъюнктов и последовательно проверять их на ложность. Теорема Эрбрана гарантирует, что если множество дизъюнктов S невыполнимо, то данная процедура обнаружит такое п, что Sn является ложным.
Процедура вывода Эрбрана состоит из двух этапов: сначала находится множество всех фундаментальных примеров дизъюнктов, и затем, применяя мультипликативный метод, из КНФ получают ДНФ.
Пример 1.15.
Пусть S = {Р(х) V ^Q(x, g^x^^Py^ay^Q^z)^. Находим
Н = {а, Ца),д(а), /(/(а)), Щ(а)), Щ(а)), д(д(а^,... }
и фундаментальные примеры дизъюнктов:
510 = {F(/(a)) V ^Q(J(a), д^Ца^^РУ^ЮЩа), дЩЦУХ
Затем с помощью мультипликативного метода убеждаемся в невыполнимости S:
ФС/Ц)) v ^О(ЦЦ, дХ(.Ц)')) & -Д/И) & 9(/(й), gUW)) =
= PU^ ^ ^РЩаУ) ^ Q(.f(.a'),g(.f(.a')')') V -<?(/(«), Щ(«))) &
& -Р(К«У) & Q(/(a),g(/(a))) = □ V □ =
Недостаток процедуры вывода Эрбрана состоит в экспоненциальном росте множества фундаментальных примеров St при увеличении г. Мультипликативный метод, использованный Гилмором при машинной реализации этой процедуры, также неэффективен. Как легко видеть, даже для малого множества из десяти двухлитерных фундаментальных примеров дизъюнктов существует 210 конъюнкций в ДНФ. Вот почему Гилмор смог доказать только простые теоремы. Иной поход предложил Дж. Робинсон, который ввел принцип резолюции, являющийся теоретической базой для построения большинства методов автоматического доказательства теорем.
Принцип резолюции
Основная идея принципа резолюции заключается в проверке, содержит ли множество дизъюнктов S пустой (ложный) дизъюнкт □. Если это так, то S невыполнимо. Если S не содержит □, то следующие шаги заключаются в выводе новых дизъюнктов до тех пор, пока не будет получен □ (что всегда будет иметь место для невыполнимого S\ Таким образом, принцип резолюции рассматривается как правило вывода, с помощью которого из S порождаются новые дизъюнкты.
По существу принцип резолюции является расширением Modus Ponens на случай произвольных дизъюнктов с любым числом литер. Действительно, имея Р и Р Q, что равносильно ^Р V Q^ можно вывести Q путем удаления контрарной пары Ри ^Р. Расширение состоит в том, что если любые два дизъюнкта Ci и С2, имеют контрарную пару литер (Р и ^Р), то, вычеркивая ее, мы формируем новый дизъюнкт из оставшихся частей двух дизъюнктов. Этот вновь сформированный дизъюнкт будем называть резольвентой дизъюнктов Ci и С2.
Пример 1.16.
Пусть Ci : Р VVR^C^: ^Р V ^Q. Тогда резольвента С: V R.
Обоснованность получения таким образом резольвенты вытекает из следующей теоремы.
Теорема 1.6. Резольвента С, полученная из двух дизъюнктов Су и С2^ является логическим следствием этих дизъюнктов.
Если в процессе вывода новых дизъюнктов мы получим два однолитерных дизъюнкта, образующих контрарную пару, то резольвентой этих двух дизъюнктов будет пустой дизъюнкт □.
Таким образом, выводом пустого дизъюнкта □ из невыполнимого множества дизъюнктов S называется конечная последовательность дизъюнктов Ci, С2,..., С^, такая, что любой С^ (г = l,fc) является или дизъюнктом из S, или резольвентой, полученной принципом резолюции, и С к = □.
Вывод пустого дизъюнкта может быть наглядно представлен с помощью дерева вывода, вершинами которого являются или исходные дизъюнкты, или резольвенты, а корнем — пустой дизъюнкт.
Пример 1.17.
Пусть S:
PVQ,
-^PVQ,
PV^Q,
-^PV^Q.
Тогда резольвенты будут:
9(1,2),
-9(3,4),
0(5,6).
Дерево вывода представлено на рис. 1.1.
Приведем пример вывода формулы из множества посылок принципом резолюции. Напомним, что доказательство вывода формулы С
из множества посылок Fi, F^... Fn сводится к доказательству противоречивости формулы Fi & F2 & ... & Fn & ^G (процедура опровержения).
Снова рассмотрим пример 1.10. Имеем следующее множество дизъюнктов:
-PVQ,
V R,
V L,
V-L,
и отрицание заключения ^(^Р V
Р,
М.
Дерево вывода представлено на рис. 1.2.
Р ^PvQ
□
Рис. 1.2
Если в логике высказываний нахождение контрарных пар не вызывает трудностей, то для логики предикатов это не так. Действительно, если мы имеем дизъюнкты типа
Сг : P(x)V^R(x),
C2:^P(g(y))yQ(y), то резольвента может быть получена только после применения к Ci подстановки д^ вместо х.
Имеем
Ц : РЩ)) V -R(g(y)),
C2-.^P(g(y^vQ(y),C^R^y^QlyY
Однако для случая
Ci : P(a)V^R(x),
C2:^P(g(y))VQ(y),
очевидно, никакая подстановка в контрарную пару неприменима, и никакая резольвента не образуется. Дадим определение того, что является подстановкой.
Подстановкой будем называть конечное множество вида {Д/т1, ^/^2, • • •, tn/xn^ где любой ti — терм, а любая х^ — переменная (1 < г < п), отличная от ^.
Подстановка называется фундаментальной, если все ^ (1 < г < п) являются фундаментальными термами. Подстановка, не имеющая элементов, называется пустой подстановкой и обозначается через в.
Пусть 0 = {Н/т1, ^2/^2, • • •, ^п/^п} ~ подстановка и W — выражение. Тогда ГКО будем называть примером выражения W, полученного заменой всех вхождений в W переменной хД1 < г < п), на вхождение терма ^. ГКО будет называться фундаментальным примером выражения W, если О — фундаментальная подстановка.
Например, применив к W = }P(x,f(y)) V ^бДг)} фундаментальную подстановку 0 = }а/х, g(b)/y, f(a)/z}, получим фундаментальный пример W6 = {F(tz, / (g(b))) V ^Q(f(a))}.
Пусть 0 = ^ti/xi,t2/x2,...,t„/x„^ и А = {ui/yi,u2/y2, ■ • ■, ит/Ут^ — Две подстановки. Тогда композицией О о А двух подстановок 0 и А называется подстановка, состоящая из множества }tiX/xi,t2X/x2,.. .RnX/xn,ui/yi,u2/y2,.. .,ит/ут}, в котором вычеркиваются все tiX/xi в случае t^X = х% и Uj/yj, если у^ находится среди х\, х2,..., хп.
Пример 1.18.
0 = }д(х,у)/х, z/y} и А = {a/x,b/y,c/w,y /г}. 0 о А = = {9{a,b)/x,y/y,a/x,b/y,c/w,y/z} = {g(a, b)/x, сЖ у J А
Можно показать, что композиция подстановок ассоциативна, т. е. (0 О А) О ц = 0 о (А О ц).
Подстановку 0 будем называть унификатором для множества выражений {Wi, W2,..., W^}, если ИА О = И^О = ... = W^B. Будем говорить, что множество выражений {Wi, W2,..., W^} унифицируемо, если для него имеется унификатор. Унификатор а для множества выражений {Wi, W2,..., ИА} называется наиболее обидим унификатором (НОУ) тогда и только тогда, когда для каждого унификатора 0 из этого множества выражений найдется подстановка А такая, что 0 = ст о А.
Пример 1.19.
w = {Р^атд^Жр^уЛ№Х Тогда о- = и/ра-МдЖ/Л есть НОУ, а 0 = }Ь/х, а/у, д(с)/и, b/z, c/w} есть унификатор, т. е. {b/х, а/у, д(с)/и, b)z,c)w^ = {z/x,a/y, д(си)/и^ о {b/z, c/w}.
Опишем теперь алгоритм унификации, который находит НОУ, если множество выражений W унифицируемо, и сообщает о неудаче, если это не так.
Алгоритм унификации
Установить к = О, Wk = W. а к = е. Перейти к шагу 2.
Если Wk не является одноэлементным множеством, то перейти к шагу 3. В противном случае положить а = а к и окончить работу.
Каждая из литер в Wk рассматривается как цепочка символов, и выделяются первые подвыражения литер, не являющиеся одинаковыми у всех элементов Wk, т. е. образуется так называемое мноснсество рассогласований типа ^Xk,tkY Если в этом множестве Хк — переменная, a tk — терм, отличный от Хк, то перейти к шагу 4. В противном случае окончить работу: Wk не унифицируемо.
Пусть стк+1 = ако Цк/хк} и Нд+1 = Wk^tk/xky
Установить к = к + 1 и перейти к шагу 2.
Пример 1.20.
Найти НОУ для W = {Р(у, дЦ), /(ж)), Р(а, х, /(у(у)))}.
к = 0, а^ = s и Иф = W.
Так как Иф не является одноэлементным множеством, то перейти к шагу 3.
{у,а}, т.е. {а/у}.
<71 = <70 о {а/у} = е о {а/у} = {а/у}.
Wt = Т0{а/у} = {Р(а, g(z), f(x)), Р(а, х, f(g(a)))}.
Так как Wi опять неодноэлементно, то множество рассогласований будет {g(z),x}, т.е. {g(z)/x}.
<72 = <7i о {g(z)/x) = {a/y,g(z)/x}.
Т2 = Wi{g(z)/x} = {Ца, дв\ f(g(z))), Р(а, дЦ\ /(у(а)))}.
Имеем {г, а}, т.е. {a/z}.
<73 = <72 О {а/г} = {а/у, у(а)/ж,а/г}.
Из = W2{a/z} = {Р(а,у(а),/(у(а))),Р(а,у(а),/(у(а)))} = = {Г(а,у(а),/(у(а)))}.
<73 = {a/y,g(a)/x,a/z} есть НОУ для W.
Можно показать, что алгоритм унификации всегда завершается на шаге 2, если множество W унифицируемо, и на шаге 3 — в противном случае.
Если две или более одинаковые литеры (одного и того же знака) дизъюнкта С имеют НОУ а, то С а называется фактором дизъюнкта С.
Пример 1.21.
Пусть С = Р(х) V Р(д(д)) V -^Р(х\ Тогда НОУ а = ^д^/х^ и фактор дизъюнкта Са = Р(д(д)) V ^Р(д(д)\
Пусть Ci и С2 — два дизъюнкта, не имеющие общих переменных (это всегда можно получить переименованием переменных). И пусть Li и L2 = ^Ь1 — литеры в дизъюнктах Ci и С2 соответственно, имеющие НОУ а. Тогда бинарной резольвентой для Ci и С2 является дизъюнкт вида С = (Cia — Lia) U (С2а — L2a). Бинарная резольвента может быть получена одним из четырех способов:
резольвента для Ci и С2;
резольвента для Ci и фактора дизъюнкта С2;
резольвента для фактора дизъюнкта Ci и С2;
резольвента для фактора дизъюнкта Ci и фактора дизъюнкта с2.
Пусть Ci = P(/(g(a))) V ^R(bl С. = -Р^ V ^Р(/Ш V Q(y\ Тогда 62а = С^ = ^РУ^у)) V Q(y), и резольвентой для Ci и С^ будет C = M?№vW (а = g(a)/y).
Принцип резолюции обладает важным свойством — полнотой, которое устанавливается следующей теоремой.
Теорема 1.7. (Теорема о полноте Дж. Робинсона). Множество дизъюнктов S невыполнимо тогда и только тогда, когда существует вывод принципом резолюции из S пустого дизъюнкта.
долго.долго.Рис. 1.3Рис. 1.3Так как исчисление предикатов первого порядка полу разрешимо, то для выполнимого множества дизъюнктов S в общем случае процедура, основанная на принципе резолюции, будет работать бесконечно
долго.
долго.
Рис. 1.3
Рис. 1.3
Приведем два примера, иллюстрирующих принцип резолюции для логики предикатов. Вернемся к примеру 1.2. В разд. 1.2 посылку и отрицание заключения мы уже представили в виде набора дизъюнктов:
^S(y)VC(y),
S(b),
V(a,b),
^С(г) V^V(a^).
Дерево вывода изображено на
рис. 1.3.
Пример 1.23.
Существуют студенты, которые любят всех преподавателей. Ни один из студентов не любит невежд. Следовательно, ни один из преподавателей не является невеждой.
Запишем эти утверждения на языке логики предикатов и приведем их к виду дизъюнктов:
Зх^СЦ^ к^у(Р(у) Цх,уУУ)
Vy(P(y) Щу))
Здесь С(х) — х есть студент; Р(х) — х есть преподаватель; Н(х) — х есть невежда; Цхцу) — х любит у.
ССФ первой посылки имеет вид: V?/(C(a) & ^Р^ V Ь(а^уУ)\
ССФ второй посылки имеет вид: \/х\/у(^С(х) V ~^Н(у) V -^L^x^y)).
ССФ отрицания заключения имеет вид: -^/у^Р^у) V -^Н(у)) =
= Эу-ЦР^) V Я(у)) = Эу(Р(у) & Я(у)) = Р(Ь) & Н(Ь).
Таким образом, имеем следующий набор дизъюнктов:
С(а),
-Я(у) V Ца,у),
-^С^ V -Я(у) V
Р(Ц
Н(Ь\
Дерево вывода представлено на рис. 1.4.
Принцип резолюции является более эффективной процедурой, нежели процедура вывода Эрбрана. Но и он страдает существенными недостатками, заключающимися в формировании всевозможных резольвент, большинство из которых оказывается ненужными. Многочисленные модификации принципа резолюции направлены на нахождение более эффективных стратегий поиска нужных дизъюнктов. Желающие могут обратиться к комментарию в конце книги, где перечислена литература, описывающая эти модификации.
Отметим, что основными способами устранения причин «экспоненциального взрыва», имеющего место при доказательстве теорем практической сложности, являются использование семантики, различных эвристик и встраивание в правила вывода и алгоритмы унификации специфики конкретной предметной области.
Как правило, будем удалять из рассмотрения порождаемые дизъюнкты типа тавтологий, так как невыполнимое множество дизъюнктов, содержащее дизъюнкт-тавтологию, остается снова невыполнимым после его удаления.
Аналогично будем вычеркивать поглогценные дизъюнкты, которые также не меняют невыполнимость множества дизъюнктов. Дизъюнкт Ci поглощает дизъюнкт С2 тогда и только тогда, когда имеется подстановка 5, такая, что С^д С Сф Дизъюнкт С) называется поглощенным дизъюнктом. Например, пусть Ci = Р(х) и С2 = P(a)X/R(y\ Если 5 = {а/х}, то С15 = Р(а\ Тогда Р(а) С Р(а) X/ R(y), и Ci поглощает С2, т. е. С2 можно без ущерба для вывода вычеркнуть.
Также будем удалять так называемые чистые (риге) дизъюнкты. Литера, чье отрицание отсутствует во множестве дизъюнктов, называется чистой. Дизъюнкт, содержащий чистую литеру, естественно, не может участвовать в выводе пустого дизъюнкта и поэтому может быть удален из множества дизъюнктов.
Линейная резолюция
Линейная резолюция довольно легко может быть реализована на ЭВМ, обладает простой структурой и полнотой. Ее частный случай — входная резолюция — является встроенным механизмом дедуктивного вывода в языке логического программирования Пролог.
Линейным выводом из множества дизъюнктов S называется последовательность дизъюнктов Ci, С2,..., Сш, в которой Ci Е S, а каждый член С^^, (г = 1,2, ...,ш — 1), является резольвентой дизъюнкта С г (называемого центральным дизъюнктом) и дизъюнкта В,. (называемого боковым дизъюнктом), который удовлетворяет одному из двух условий: 1) В, Е S (г = l,2,...,m — 1); 2) В, является некоторым дизъюнктом Cj, предшествующим в выводе дизъюнкту Ci, т. е. j < г (рис. 1.5).
Пример 1.24.
Пусть S = {PVQ, ->PVQ, PV->Q, ^P\MQY Тогда линейный вывод пустого дизъюнкта из S представлен на рис. 1.6.
Отметим, что из четырех боковых дизъюнктов три принадлежат S, и только один дизъюнкт Q является центральным дизъюнктом. Линейная резолюция полна, что устанавливается следующей теоремой.
Рис. 1.5Рис. 1.5Рис. 1.6Рис. 1.6
Рис. 1.5
Рис. 1.5
Рис. 1.6
Рис. 1.6
Теорема 1.8. Множество дизъюнктов невыполнимо тогда и только тогда, когда существует линейный вывод пустого дизъюнкта.
Линейная резолюция может быть существенно усилена введением понятия упорядоченного дизъюнкта и использованием информации о резольвированных литерах.
Идея упорядочения дизъюнктов заключается в рассмотрении дизъюнкта как последовательности литер, а не как множества литер. Отсюда упорядоченном дизъюнктом будем называть дизъюнкт с определенной последовательностью литер.
Говорят, что литера L2 старше литеры L\ в упорядоченном дизъюнкте тогда и только тогда, когда L2 следует за Д в последовательности, определенной упорядоченным дизъюнктом. Отметим, что старшая (наибольшая) литера дизъюнкта является последней литерой дизъюнкта, а младшая литера — первой. Например, в упорядоченном дизъюнкте P(a)VP(5)VP(c) Р(с) является старшей литерой, а Р(а) — младшей.
Если две или больше литер (с одинаковыми знаками) упорядоченного дизъюнкта С имеют НОУ а, то упорядоченный дизъюнкт, полученный из последовательности С а вычеркиванием любой литеры, идентичной младшей литере, называется упорядоченном фактором дизъюнкта С.
Пусть имеется упорядоченный дизъюнкт С = Р(х) V R(x) V Р^а\ тогда а = {а/т} и Са = P(a)VP(a)VР(а\ Здесь имеются две идентичные литеры Р(а\ В соответствии с определением младшей литерой считается литера, расположенная левее. Для получения упорядоченного фактора надо из С а удалить литеру, идентичную младшей. В нашем примере это последняя литера. Следовательно, упорядоченным фактором будет последовательность литер Р(а) V R(a\ Отметим, что связывание понятия упорядоченных дизъюнктов с линейной резолюцией не нарушает ее полноты, но существенно увеличивает эффек-
тивность метода. Другим усилением линейной резолюции является использование информации о резольвированных литерах. Обычно при выполнении резолюции образование резольвенты происходит путем удаления резольвированных литер. Однако оказывается, что эти литеры несут полезную информацию, которая может быть использована для усиления линейной резолюции.
Вернемся к примеру 1.24. Мы видим, что один из боковых дизъюнктов (дизъюнкт Q) не является входным дизъюнктом. Было бы полезно найти необходимое и достаточное условие, при котором центральный дизъюнкт, полученный ранее, становится боковым. Это условие может быть определено, если используется понятие упорядоченных дизъюнктов и информация о резольвированных литерах записывается соответствующим образом. Вывод, использующий оба эти понятия, называется линейным упорядоченным выводом (OL- выводом).
Таким образом, сначала образуем резольвенты для упорядоченных дизъюнктов. Пусть Ci и С2 - упорядоченные дизъюнкты. Упорядоченная бинарная резольвента дизъюнктов Ci и С^ (не имеющих общих переменных) определяется следующим образом. Пусть L\ и L^ = ^Li — литеры в О и С2 соответственно. Если Li и L2 имеют НОУ у, и С есть упорядоченный дизъюнкт, полученный из конкатенации последовательностей Cig и C2G путем удаления Lig и L2G и вычеркивания из оставшейся последовательности любой литеры, которая идентична младшей литере последовательности, то С называется упорядоченной бинарной резольвентой.
Например, если Ci = P(t)VQ(t)V^^(t) и С2 = ^P(a)VQ(a) — упорядоченные дизъюнкты, то конкатенация Cig и CAg. где g = {а/х}, дает последовательность Р(а) V Q(a) V ^R(a) V ^Р(а) V Q(a\ Удалив Р(а) и ^Р(а), а также старшую литеру Q(a^ получим упорядоченную бинарную резольвенту С = Q(a) V ^R(a\ Теперь вместо удаления обеих резольвированных литер будем оставлять в резольвенте первую из них, но помечать ее особым образом. Будем записывать резольвиро- ванные литеры в рамке и называть их обрамленными литерами. Если за обрамленной литерой не следует никакая другая литера, то будем ее вычеркивать. Таким образом, продолжая вышеуказанный пример, получим следующую упорядоченную резольвенту: Р(а) V Q(а) V ^R(a).
Возвращаясь к примеру 1.24, получим упорядоченный линейный вывод, представленный на рис. 1.7. Рассмотрим на этом рисунке подчеркнутую резольвенту. Отличительной чертой данной резольвенты является то, что в нее входит литера ^Р^ являющаяся дополнением к обрамленной литере Р . Это обстоятельство и является указанием на необходимость использования центрального дизъюнкта Р в качестве
-Р .-Р .бокового. Резольвируя Р V Q V^P с Р, мы получим Р V Q V
-Р .
-Р .
Так как за этими обрамленными литерами не следует никакой другой
литеры, то, вычеркивая их, получим пустой дизъюнкт □.
Упорядоченный дизъюнкт С будем называть редуцируемым упорядоченным дизъюнктом тогда и только тогда, когда последняя литера в С унифицируется с отрицанием некоторой обрамленной литеры в С.
Таким образом, при получении редуцируемого упорядоченного дизъюнкта нет необходимости искать, с каким из полученных ранее дизъюнктов он образует линейную резолюцию. Вместо это
го можно просто вычеркнуть последнюю литеру в этом упорядоченном дизъюнкте. Будем называть это вычеркивание операцией редукции. Операция редукции позволяет не запоминать в OL-выводе промежуточные дизъюнкты. Эта особенность OL-вывода делает его очень удобным при машинной реализации. Операцию вычеркивания обрамленных литер, за которыми не следуют никакие другие литеры, будем называть операцией сокращения.
Редуцируемый упорядоченный дизъюнкт образуется применением операций редукции и сокращения. Упорядоченная бинарная резольвента упорядоченных дизъюнктов Ci и С2 получается конкатенацией последовательностей Cia и С2<т, где а есть НОУ для литер Li и L) = в С\ и С2 соответственно, путем:
заключения в рамку Lia;
вычеркивания L^a;
вычеркивания любой необрамленной литеры, которая идентична младшей необрамленной литере последовательности;
применения операции сокращения.
Теперь формально определим OL-вывод. Пусть дано множество упорядоченных дизъюнктов S и упорядоченный дизъюнкт Ci из S. Линейный вывод дизъюнкта Сп из S с начальным дизъюнктом Ci называется OL-выводом^ если выполнены следующие условия:
для г = 1,2, ...,п — 1, С^+1 является упорядоченной резольвентой дизъюнкта Ci (называемого центральным упорядоченным дизъюнктом) и дизъюнкта Bi (называемого боковым упорядоченным дизъюнктом), при этом резольвированная литера в Ci (или в упорядоченном факторе С^ является последней литерой Сц
Bi является или некоторым дизъюнктом С^ j < г (если Cj есть редуцируемый упорядоченный дизъюнкт), или дизъюнктом из S (во всех остальных случаях). Если Bi есть некоторый дизъюнкт Су (j < г), то C^+i — редукция дизъюнкта С^
в выводе нет тавтологий.
Определение упорядоченного дизъюнкта может быть использовано для доказательства следующего утверждения. В OL-выводе, если Ci есть редуцируемый упорядоченный дизъюнкт, то существует центральный упорядоченный дизъюнкт Cj (j < г), такой, что редукция СД [ дизъюнкта Ci является упорядоченной резольвентой Ci с некоторым частным случаем дизъюнкта Cj.
Следующая теорема устанавливает полноту OL-резолюции (Лавленд, Ковальский, Кюнер).
Теорема 1.9. (о полноте OL-резолюции). Если С является упорядоченным дизъюнктом в невыполнимом множестве упорядоченных дизъюнктов S и если 5"-{С} выполнимо, то существует OL- опровержение из S с начальным упорядоченным дизъюнктом С.
Рассмотрим пример реализации OL-резолюции.
Пример 1.25.
Преподаватели принимали зачеты у всех студентов, не являющихся отличниками. Некоторые аспиранты и студенты сдавали зачеты только аспирантам. Ни один из аспирантов не был отличником. Следовательно, некоторые преподаватели были аспирантами.
Пусть С^х\ О^х), Р{х\ А^ и S(x,y) означают «х есть студент», «ж есть отличник», «ж есть преподаватель», «ж есть аспирант» и «х сдает зачеты у». Тогда на языке исчисления предикатов имеем
^х(С(х) к ^О^ Зу^Р^ & S^y^Y
Зх(А(х) k С^ & \Д(5(х, у) А^у^^х(А(х)^О(х))
Зх(Р(х) & А(х))
или в стандартной форме:
A^VO^VP^;
-.C^VO^VS^J^);
С(а);
Л(а);
-S(a,y) V A(yY
^О(х) V ^А(х),
-^Р(х) V -^А(х\
Дерево OL-вывода пустого дизъюнкта изображено на рис. 1.8.
Отметим, что OL-вывод успешно конкурирует со многими резо- люционными методами вывода за счет простоты организации поиска. Эта простота объясняется тем, что не нужно запоминать промежуточные дизъюнкты, а также тем, что здесь всегда определен один из резольвируемых дизъюнктов.
OL-вывод — это по существу то же самое, что и метод элиминации моделей, как назвал его Лавленд, или специальный SL-вывод по определению Ковальского и Кюнера, т. е. разновидность линейной
O-<(a)O-<(a)О -,C(x) V O(x) V 8(х,Дх))О -,C(x) V O(x) V 8(х,Дх))О -Л5(а, у) v Ду)О -Л5(а, у) v Ду)О ^Р(х) v ™<х)О ^Р(х) v ™<х)О ^С(х) v О(х) v Р(Дх))О ^С(х) v О(х) v Р(Дх))О ^О(д)О ^О(д)ООДООД^О(х) v —.Л(х)
O-<(a)
O-<(a)
О -,C(x) V O(x) V 8(х,Дх))
О -,C(x) V O(x) V 8(х,Дх))
О -Л5(а, у) v Ду)
О -Л5(а, у) v Ду)
О ^Р(х) v ™<х)
О ^Р(х) v ™<х)
О ^С(х) v О(х) v Р(Дх))
О ^С(х) v О(х) v Р(Дх))
О ^О(д)
О ^О(д)
ООД
ООД
-ОД
8ка,Да^
POWI v -С(а) v §^553 v A(f(a))
F5(5 v -ОД v W^Mi v ^5] v
РОД| у -ОД у ШКа)! ^Ш ^j v И/W3 v O^
УДар^С^
Рис. 1.8
резолюции с функцией выбора (selection function). Возвращаясь к примеру 1.24, мы обнаружили, что невозможно построить линейный вывод пустого дизъюнкта, если в качестве боковых дизъюнктов брать только дизъюнкты из исходного множества S (центральный дизъюнкт Q стал боковым). Назовем дизъюнкты из исходного множества S входными дизъюнктами. Тогда резолюция, у которой хотя бы один из двух дизъюнктов при резольвировании является входным, называется входной резолюцией. Входная резолюция проста, эффективна, но в общем случае, к сожалению, как было видно из примера 1.24, неполна. Однако она полна для множества так называемых хорновских дизъюнктов.
Дизъюнкт называется хорновским^ если он содержит не больше чем одну положительную литеру. Он имеет в общем случае вид: -^Pi \/ ™'Р2 V ... V -^Рп \/ Q или в импликативной форме: Pi & Р2 & ... & Рп Q.
Возвращаясь к примеру 1.10, в котором детектив должен доказать, что, если горничная сказала правду, то дворецкий солгал, мы видели, что дерево вывода (см. рис. 1.2) линейно, и вывод пустого дизъюнкта был получен с помощью входной резолюции. В этом примере все дизъюнкты из S были хорновскими в отличие от примера 1.24, где дизъюнкт Р V Q — нехорновский.
Вывод в языке Пролог
SLD-резолюция
В языке Пролог используется упорядоченная входная резолюция, т. е. литеры резольвируются в фиксированном порядке строго слева направо. Иногда систему вывода в языке Пролог называют SLD- резолюцией, т. е. SL-резолюцией для дефинициалъных (definite) дизъюнктов, где под дефинициальным дизъюнктом понимают хорновский дизъюнкт.
Логической программой является множество универсально квантифицированных выражений в логике предикатов вида Q Pi & Р-2 & ... & Рп. Здесь применяется обратная имплика- тивная запись выражения. Q и Pi Qi = 1,п) являются позитивными литерами, причем Q — заголовок (голова) дизъюнкта, а конъюнкция Pi — тело.
1)1)Очевидно, что множество выражений является множеством хор- новских дизъюнктов, которые могут быть трех видов:
1)
1)
Pi & Р2 & ... & Рп — множество целей, которые надодоказать;
2)2)Q^ +-Q^ +-факты;факты;3)3)Q Q^Q Q^правило.правило.
2)
2)
Q^ +-
Q^ +-
факты;
факты;
3)
3)
Q Q^
Q Q^
правило.
правило.
Литералы в целевом утверждении Pi,...,Pn (п > 0) интерпретируются как задачи или цели, которые должны быть решены или достигнуты. Если целевое утверждение содержит переменные Xi,..., Х^ то можно считать, что оно задает следующую цель:
найти такие Xi,...,X&, при которых достигаются цели Pi,..., Рп (п > 0); или
найти такие Xi,..., Х^ которые решают задачи Pi,..., Рп (п > 0).
Процедура Q Pi ..., Рп интерпретируется как метод поиска решения задачи или достижения цели:
для того, чтобы решить задачу Q, надо решить подзадачи Р1,..., Рп; или
для того, чтобы достигнуть цель Q, надо достигнуть подцели
Если имеется множество целей вида Pi & Р2 & ... & Рп, то на каждом шаге вычисления интерпретатор произвольно выбирает
некоторое Pi для 1 < г < п. Затем он недетерминированно выбирает дизъюнкт Р1 В\ к В;) к ... & Нпг1 такой, что Р1 унифицируется с Pi подстановкой 0 и таким образом сокращает множество целей. Новый дизъюнкт имеет вид
(51 к Р2 & & Рг-1 к
Ri к R2 & . . . & Нт & Рг^ к ... к P^S.
Процесс недетерминированного сокращения цели продолжается до получения пустого множества целей.
Этот процесс можно представить с помощью ИЛИ-дерева (дерева поиска), вершины которого составляют целевые утверждения. Потомки вершины — альтернативные целевые утверждения, выводимые из целевого утверждения данной вершины. Концевые вершины дерева соответствуют неразрешимым либо пустым целевым утверждениям, которые представляют решения. Композиция подстановок, используемых на пути от корневой вершины к пустой, примененная к переменным исходного целевого утверждения, дает требуемый результат.
Рассмотрим пример. Для простоты и ясности изложения пример рассматривается без учета подстановок. Пусть имеется набор процедур (или хорновских дизъюнктов):
5. В2СгС2Di5. В2СгС2DiAi <— 51, В2
5. В2
Сг
С2
Di
5. В2
Сг
С2
Di
Ai ^GbG2
А2 <— Di
Bi
и исходное целевое утверждение (Go) Ai,A2- Поддеревья дерева поиска приведены на рис. 1.9, на котором введены следующие обозначения:
Gi:5i, 52, А2
Gig:5i, 51
С2: ^Ci.C2.A2
G14:51,52
G3: ^Ai.Di
Gi5: ^G2,5i
С 4:52, А2
GX6: ^Gi,5i
G3;В\.А2
G17: Gi, C2
Св*. В\. В2. D\
G7: <— G2, А2
С3: <— Ci, А2
Gig: 5i
Gig: 52
G^. ^Ci,C2,Di
G20: 5i
Сщ; Ai
C2i*. C2
Сц: А2
C22: Ci
Gi2: 52, 51
G23: □ (пустой дизъюнкт)
На рис. 1.9 деревья Gi, С2 и Gg определяют поддеревья дерева поиска, соответствующего исходному целевому утверждению Go-
Рис. 1.9
Процесс недетерминированного сокращения цели также можно представить в виде И-дерева (дерева доказательства). Непосредственными потомками корня дерева являются литералы («вызовы») или подцели Pi (г = 1,п) исходного целевого утверждения Р^...^Рп (п ^ 0). Подцель Pi (г = 1,п), к которой применяется процедура Pi <— Si,..., Вт. получает в качестве потомков подцели Si,..., Вт. Унификатор U далее применяется к каждой из вершин дерева.
На рис. 1.10 представлена последовательность деревьев доказательств (без учета подстановок), соответствующая ветви дерева поиска на рис. 1.9, которая задана вершинами Go, Gi, Go, G12, Gig, G23.
Недетерминизм может быть устранен за счет наложения порядка выбора целей. В любом случае все результаты, найденные недетерминированно, могут быть обнаружены с помощью исчерпывающего упорядоченного поиска. Таким образом, основная цель практическо-
ппG12: ^Въ Dx гG12: ^Въ Dx гРис. 1.10Рис. 1.10□□ □G23:□е□□ □G23:□е
п
п
G12: ^Въ Dx г
G12: ^Въ Dx г
Рис. 1.10
Рис. 1.10
□□ □
G23:□
е
□□ □
G23:□
е
го языка логического программирования заключается в обеспечении программиста средствами управления и, если возможно, сокращения ненужных ветвей в дереве пространства поиска.
Абстрактная спецификация логических программ имеет ясную семантику, заключающуюся в резолюционной системе опровержения. Ван Эмден и Ковальский показали, что наименьшей интерпретацией, на которой логическая программа истинна, является интерпретация самой программы. Цена, заплаченная практическими языками логического программирования (такими, как язык Пролог) за управление в поисковом пространстве, заключается в том, что программы могут вычислять только подмножество своих ассоциированных интерпретаций.
Последовательный язык Пролог является аппроксимацией интерпретатора для модели логического программирования, предназначенной для эффективного выполнения на обычной ЭВМ. Язык Пролог использует как упорядочение целей в дизъюнкте, так и упорядочение дизъюнктов в программе при управлении поиском подцелей строго слева направо в множестве целей.
Таким образом, если дано множество целей Р\ & Р2 & ... & Рп и программа Р^ интерпретатор языка Пролог последовательно ищет первый дизъюнкт в Р^ чей заголовок унифицируется с Pi. Если этот дизъюнкт имеет вид Р1 Pi & Р2 & ... & Rm с унифи-
58 Автоматическое доказателъетво теорем [Гл. 1 катором 0, целевой дизъюнкт теперь приобретет следующий вид: (Ri & Н2 & ... & Нт ^ ^1 & ^2 & . . . & Рп^.
Затем интерпретатор пытается сократить самую левую цель Ri, используя в программе Р первый дизъюнкт, который унифицируется с Ri. Пусть он имеет вид R1 L\ & L2 & ... & L^ с унификатором а. Тогда цель становится
(Li & В2 & ... & L/C & Я2 & ... & Rm &
Р2&Р3& кРп^оа.
Заметим, что список целей обрабатывается как стек^ осуществляя поиск в глубину. Если интерпретатор при унификации терпит неудачу, то происходит возврат (бектрекинг) в самую последнюю точку выбора унификации, восстанавливаются все связи (bindings), сделанные в этой точке выбора, и выбирается следующий дизъюнкт в Р, который будет унифицироваться с самой левой целью. Таким образом, язык Пролог осуществляет поиск в пространстве дизъюнктов слева направо и в глубину.
Напомним, что если множество целей сводится к пустому дизъюнкту □ , то композиция унификаций 0 о а о ... о ц обеспечивает интерпретацию, при которой исходное множество целей было истинным.
Стратегии поиска в языке Пролог
Отметим, что для приведенного примера, состоящего из восьми хорновских дизъюнктов, дерево поиска имеет достаточно большую размерность. Отсюда возникает задача: как найти все альтернативные решения, представляющие композиции подстановок, используемых на пути от корневой вершины к пустой; или, иначе говоря, как найти все пути, идущие от корневой вершины к пустым.
В качестве таких стратегий поиска выбраны поиск только «в глубину» (depth-first search), основополагающий в языке Пролог, поиск только «в ширину» (breadth-fir st search) и поиск только «наилучшего» (best-first search).
Рассмотрим метод поиска только «в глубину» на примере набора процедур (или хорновских дизъюнктов), описанных в предыдущем примере.
На рис. 1.11 и рис. 1.12 приведены поддеревья дерева доказательства, которые соответствуют представлению поиска методом «в глубину». Целевым утверждением является Go Ai, А2. Стратегия вычисления выбирает самую левую подцель Ai в Go- Стратегия поиска выводит из Go целевое утверждение Gi :<— Bi,B2, А2. Ищут первую подстановку для Bi, затем для В2. Выбирают подцель А2, которая решается полностью: находятся все альтернативные подстановки при первых подстановках для В\ и В2. Далее при первой подстановке для В\ осуществляют поиск второй подстановки для В2 и повторяют
Go: Jb J2Go: Jb J2Д1 Д2Д1 Д2Gb ^Вг,ВъА2Gb ^Вг,ВъА2G4: <— В2, А2G4: <— В2, А2G18: ^DxдРис. 1.11G18: ^DxдРис. 1.11□□□623: <- □□□□623: <- □Gu: ^А2гGu: ^А2гее
Go: Jb J2
Go: Jb J2
Д1 Д2
Д1 Д2
Gb ^Вг,ВъА2
Gb ^Вг,ВъА2
G4: <— В2, А2
G4: <— В2, А2
G18: ^Dx
д
Рис. 1.11
G18: ^Dx
д
Рис. 1.11
□□□
623: <- □
□□□
623: <- □
Gu: ^А2г
Gu: ^А2г
е
е
аналогичные действия с А2. После того, как найдены все подстановки для S2, ищут вторую подстановку для В\ и т. д. Этот процесс поиска решений представлен на рис. 1.11, на котором закрашенной областью (см. рис. 1.11 в) отмечены вершины, раскрытые в этом процессе. Невыделенные вершины раскрываются в дальнейшем (см. рис. 1.11г, 6, е). Когда найдены все подстановки для Si, осуществляется возврат (бектрекинг) для нахождения нового целевого утверждения для Ai, и повторяются действия, аналогичные рассмотренным выше. Этот процесс поиска решений представлен на рис. 1.12.
Допустим, поиск осуществляется методом «в ширину». Непосредственными потомками корня дерева являются подцели Ai и А2 (см. рис. 1.10а). К подцели Ai применяется процедура 1, которая получает в качестве потомков подцели Bi и В2 (см. рис. 1.106). Аналогичные действия применяют к подцели А2 (см. рис. 1.10в), а затем
G2 <— Сь С2, ^2G2 <— Сь С2, ^2□ ПGn^^2в□ ПGn^^2в□□□G23^ □□□□G23^ □
G2 <— Сь С2, ^2
G2 <— Сь С2, ^2
□ П
Gn^^2
в
□ П
Gn^^2
в
□□□
G23^ □
□□□
G23^ □
Рис. 1.12
к подцелям В\ и S2. На рис. 1.10в закрашенной областью обозначены вершины, которые были раскрыты в процессе поиска решений.
Предшествующие деревья непосредственно восстанавливаются из последнего дерева, если известен порядок, в котором выбираются подцели. Вообще деревья доказательств, соответствующие последовательным целевым утверждениям, расположенным на одной ветви дерева поиска, образуют последовательность, каждый член которой получается из предшествующего путем подвешивания поддерева к вершине, помеченной выбранным вызовом.
Заметим, что для ускорения процесса нахождения решений в настоящее время существуют различные параллельные реализации языка Пролог, основанные на AND-параллелизме (параллельное решение подцелей целевого утверждения Р^ (г = 1, п), что соответствует параллельному построению вершин И-дерева) и ОН-параллелизме (параллельное выполнение процедур, определяющих подцель Pi Qi = 1,п), что соответствует параллельному построению вершин И Л И-дерева).
Кроме бектрекинга на порядок выполнения дизъюнктов в логической программе оказывает влияние специальное целевое утверждение «!», называемое отсечением, которое используется для останова механизма бектрекинга. Доказательство цели-отсечения всегда заканчивается успешно, и после этого не могут быть пере доказаны цели, стоящие в целевом утверждении до отсечения, включая головную цель.
Предположение о замкнутости мира
Важным вопросом, касающимся интерпретатора языка Пролог, является предположение о замкнутом мире. В этом предположении считается, что имеет место полное знание о данной предметной области, т. е. нет «брешей» в этом знании. В исчислении предикатов доказательство ^Р(х) предполагает, что Р(х) ложно при каждой интерпретации. Интерпретатор языка Пролог на основе алгоритма унификации предлагает более ограниченный вариант, чем нахождение опровержения методом резолюции. Вместо рассмотрения всех интерпретаций, он исследует только те, которые явно присутствуют в базе данных.
Пусть щ, щ...., ап составляют область определения переменной ж, являющейся термом предиката Р. Интерпретатор языка Пролог при унификации использует:
аксиому об уникальности имен, т. е. для всех атомов а^ 7^ а^ если только они не идентичны; это означает, что атомы с разными именами различны;
аксиому замкнутого мира Р(т) Р^а^ V P(tZ2) V ... V Р^ап\ которая означает, что возможными примерами отношения являются только те факты, которые представлены в спецификации проблемы (в базе данных (БД));
аксиому замыкания предметной области (ж = аД V(t = «2) V... V V(x = ап\ которая гарантирует, что определены только те атомы, которые встречаются в спецификации проблемы.
Эти три аксиомы в интерпретаторе языка Пролог выражены неявно. Они могут рассматриваться как добавленные к множеству хорнов- ских дизъюнктов, составляя описание проблемы и, таким образом, ограничивая множество возможных интерпретаций на запрос.
Интуитивно это означает, что в языке Пролог предполагаются ложными все цели, которые не могут быть доказанными как истинные. Это может привести к следующей ситуации: если истинностное значение цели неизвестно в текущей БД, Пролог предполагает, что она ложна. Это явление известно как отрицание при неудаче (negation as failure).
Синтаксис и семантика языка Пролог
В настоящее время существуют многочисленные версии языка Пролог, которые мало отличаются друг от друга. Для понимания дальнейшего изложения материала приведем краткое описание одной из версий языка Пролог, а именно языка C-Prolog, созданного Уоррен и Перейра. Синтаксис языка C-Prolog близок к синтаксису исчисления предикатов первого порядка. Однако существует ряд различий между C-Prolog и исчислением предикатов. В C-Prolog, например, символ «:-» заменяет символ импликации «<—» в исчислении предикатов. Другие различия между этими языками приведены в табл. 1.1.
Таблица 1.1
Русский
Исчисление предикатов
Prolog
и
&
или
V
только если
<—
не
not
Предикатные имена, переменные и константы языка Пролог представляются последовательностью алфавитных символов, которые начинаются с буквы. Переменная представляется строкой алфавитных символов, начинающейся с заглавной буквы, а предикатные имена и константы представляются строками, начинающимися со строчных букв. Как видно из приведенной таблицы, логические связки исчисления предикатов также присутствуют в синтаксисе языка Пролог.
Программа на языке Пролог представляет собой набор спецификаций, заданных в исчислении предикатов и описывающих объекты и отношения проблемной области. На набор спецификаций, описывающих факты проблемной области (истинные утверждения), ссылаются как на БД. Заметим, что выражения языка Пролог, используемые в БД, являются примерами фактов. В Прологе определяются и правила, описывающие отношения между фактами, используя логическую импликацию (:-), разделяющую правило на две части: левую и правую. Напомним, что правила в языке Пролог являются хорновскими дизъюнктами. Таким образом, левая часть правила состоит из одного предиката, который представляет одну положительную литеру в хор- новском дизъюнкте. Правая часть правила состоит из любого числа предикатов, разделенных «,» ( & ) и/или «;» (V). Далее в качестве примера зададим следующее утверждение: «X и У являются друзьями, если X любит Z и Y любит Z» в виде правила языка Пролог: friends(X,Y):-likes(X,Z),likes(Y,Z).
Пролог обычно реализован как интерпретатор, хотя существуют версии языка Пролог, которые позволяют осуществлять компиляцию части или всех спецификаций БД для более быстрого поиска.
Пользователь вводит запрос как ответ на подсказку языка Пролог: ?-. Далее активизируется, описанный в предыдущих пунктах, механизм поиска в «глубину» с возвратом для получения ответа на запрос.
Вышеописанных сведений о синтаксисе языка Пролог по нашему мнению вполне достаточно для того, чтобы понять приведенные ниже реализации методов поиска «в глубину», «в ширину» и «наилучшего», а также рассмотренные в следующих пунктах реализации на этом языке моделей представления знаний и механизмов вывода в них, выполненные Люгером и Стабблфилдом из монографии, опубликованной в 1998 г. (см. литературный комментарий). Ознакомление с этим материалом значительно углубит Ваши знания о языке Пролог и его возможностях.
Опишем реализации методов поиска «в глубину», «в ширину» и «наилучшего» на языке Пролог. Рассмотрим эти методы поиска применительно к задаче поиска в пространстве состояний целевого состояния — решения задачи. В реализациях этих методов используется переменная Closed_set, которая содержит все состояния на текущем пути плюс состояния, которые были отвергнуты при использовании «бектрекинга» (возврата). Так, в переменной Closed_set содержится путь от начального состояния к текущему. Для хранения информации об этом пути создается упорядоченная пара [State,Parent], которая задает для каждого состояния его родителя. Для начального состояния Start эта пара имеет вид: [Start ,nil], которая определяет отсутствие родителя у начального состояния. Таким образом, эти пары используются для перегенерации решающего пути, хранимого в переменной Closed_set.B реализациях методов поиска используется предикат path, который имеет три аргумента (терма): Open_stack и Closed_set, являющиеся списками, а также аргумент Goal, используемый для задания целевого состояния.
Рассмотрим реализацию на языке Пролог метода поиска «в глубину». В этой реализации текущее состояние State является следующим состоянием для раскрытия и заносится в список, задаваемый переменной Open_Stack. Поиск начинается посредством вызова предиката go, который в свою очередь инициирует вызов предиката path. Заметим, что при этом начальное состояние Start не имеет родителя и списки, задаваемые переменными Open_stack и Closed_set являются пустыми. Приведем описание дизъюнкта go, при задании которого используются обычные предикаты для работы со стеком. Отметим, что во всех нижепредставленных реализациях эти предикаты не приводятся для того, чтобы не загромождать описание реализаций методов на языке Пролог.
go(Start, Goal) :-
empty_stack(Empty_open),
stack([Start,nil],Empty „open, Open_stack), empty_set(Closed_set), path(Open_stack, Closed_set, Goal).
Приведем описание дизъюнкта path.
path(Open_stack,_,_) :- empty_stack(Open_stack), write(’No solution found with these rules’).
path(Open_stack, Closed_set, Goal) :-
stack([State, Parent], _, Open_stack), State = Goal, write(’A Solution is Found!’), nl, printsolution([State, Parent], Closed_set).
path(Open_stack, Closed_set, Goal) :-
stack([State, Parent], Rest_open_stack, Open_stack), get_children(State,Rest_open_stack,Closed_set,Children), add_list_to_stack(Children, Rest_open_stack, New_open_stack), union( [ [State, Parent]], Closed_set, New_closed_set), path(New_open_stack, New_closed_set, Goal),!.
get_children(State,Rest_open_stack,Closed_set,Children):- bagof(Child, moves(State, Rest_open_stack, Closed_set, Child), Children).
moves(State, Rest_open_stack, Closed_set, [Next, State]) :- move(State, Next), not(unsafe(Next)),
not(member„stack([Next,_],Rest_open_stack)), not(member_set( [Next,_], Closed_set)).
Дизъюнкт move(Present_state,Next_state) :-. . . описывает специфику задачи и для каждой задачи задает ее уникальное описание. Одно из описаний дизъюнкта move приведено для решения задачи — головоломки «Переправа через реку» в п. 1.6.5.1.2.
Предикат print solution используется для распечатки решения от начального состояния к целевому. Ниже приведем его описание:
printsolution( [State, nil], _) :-
write(State), nl.
printsolution( [State, Parent], Closed.set) :- member.set([Parent, Grandparent], Closed.set), printsolution([Parent,Grandparent] ,Closed.set), write(State), nl.
Рассмотрим реализацию метода поиска «в ширину». В ней используются те же переменные и дизъюнкты, что и при реализации метода поиска «в глубину». Существенные отличия заключаются в дизъюнктах path, в которых первым аргументом является переменная Open.queue, начальным значением которой является пустой список. Процесс поиска заканчивается, когда «голова» переменной Open.queue идентична целевому состоянию Goal. В список, задаваемый переменной Open.queue, последовательно заносятся все потомки текущей вершины для раскрытия. Приведем реализацию дизъюнктов go, path и moves для этого метода.
go(Start, Goal) :-
empty.queue(Empty.open.queue),
enqueue( [Start, nil], Empty.open.queue,Open.queue), empty.set(Closed.set),
path(Open.queue, Closed.set, Goal).
path(Open.queue, _,_):-
empty.queue(Open.queue),
write(’Graph searched, no solution found.’).
path(Open.queue, Closed.set, Goal) :-
dequeue([State, Parent], Open.queue,.), State = Goal, write(’Solution path is:’), nl, printsolution([State, Parent], Closed.set).
path(Open.queue, Closed.set, Goal) :-
dequeue([State, Parent],Open.queue,Rest.open.queue), get_children(State,Rest.open.queue,Closed.set,Children), add.list.to.queue(Children,Rest.open.queue, New.open.queue),
union([[State,Parent]],Closed.set,New_closed_set),
path(New.open.queue, New.closed.set, Goal),!.
get_children(State,Rest.open.queue,Closed.set,Children):- bagof(Child, moves(State, Rest.open.queue,
Closed.set, Child), Children).
moves(State, Rest.open.queue, Closed.set, [Next,State]) :- move(State,Next),
3 B.H. Вагин и др.
not(unsafe(Next)),
not(member„queue( [Next,_],Rest_open_queue)), not(member_set([Next,_],Closed_set)).
Одним из наиболее эффективных методов поиска является метод поиска «наилучшего», который позволяет значительно сократить перебор в пространстве состояний. Поэтому опишем реализацию этого метода на языке Пролог и покажем, за счет чего сокращается перебор при поиске целевого состояния в пространстве состояний. Этот метод относится к эвристическим.
Реализация метода поиска «наилучшего» является модификацией метода поиска «в ширину», в которой очередь вершин заменяется на приоритетную очередь вершин для раскрытия, упорядоченных на основе оценочной функции. Отметим, что оценочная функция предложена Н. Нильсоном и имеет вид: f(n) = g(n) + h(ji\ где в качестве д(п) можно выбрать стоимость пути на дереве поиска от корневой (начальной) вершины к вершине п, которая получается в результате суммирования стоимостей дуг, вычисленных на пути от корневой вершины к вершине n. h(n) — эвристическая функция, определяемая спецификой проблемной области. Рассмотрим метод поиска «наилучшего» на примере.
Пример 1.26.
Предположим, что литеры хорновских дизъюнктов, приведенных в примере и. 1.6.1., соответствуют задачам, которые должны быть
решены для достижения исходного целевого утверждения. Пусть любой литере соответствует число, обозначающее стоимость решения данной задачи. Тогда задача доказательства исходного целевого утверждения может быть переформулирована в задачу нахождения наилучшего по стоимости пути достижения исходного целевого утверждения. Для решения этой
задачи исходные хорновские дизъюнкты задаются при помощи графа «И/ИЛИ», вершинами которого являются литеры хорновских дизъюнктов (рис. 1.13).
Далее зададим оценочную функцию /(п) = д(п) + h(n^ в которой h(n) — эвристическая функция: и(п) min, где и(п) — стоимость решения задачи п; д(п) задает «глубину» размещения вершины п в графе, т. е. количество вершин, которые находятся на пути от корневой вершины до вершины п.
Пусть у(Л1) = 5, г;(Л2) = 3, u(Bi) = 2, ^(^2) = 1, ^(Gi) = 3, ЦС2) = 4, u(DT) = 6.
Наи лучший по стоимости путь достижения цели Go, представленный на рис. 1.13, для f(n) mm, строится следующим образом:
Go : ^ Ai, А2
Сз^А^Пу
G^.^Dy.By^
G12 :В2
G20 :By
Gig :Dy
Заметим, что цель Gg отличается от цели Go перестановкой литер.
Далее рассмотрим реализацию метода поиска «наилучшего» на языке Пролог. В реализации метода д(т1) задает глубину вершины при раскрытии, т. е. определяется числом вершин, находящихся на пути от корневой вершины к вершине п. Упорядочивание вершин производится каждый раз вновь после вызова предиката path. Таким образом, вычисление оценочной функции осуществляется для каждой вершины, добавляемой в список, который задается переменной Open_pq, и ее значение используется для упорядочивания этого списка. В реализации данного метода для задания каждого состояния используется список из пяти элементов, который содержит описатель состояния; родительское состояние; целое число, задающее глубину раскрытия в дереве; целое число, задающее значение эвристической функции; сумму третьего и четвертого элементов списка. Первые два элемента списка, задающего состояние, являются обычными. Третий элемент является результатом добавления 1 к значению глубины родительской вершины. Четвертый элемент определяется значением эвристической функции, вычисленной для этой вершины. Пятый элемент списка используется для упорядочивания состояний в списке, задаваемого переменной open_pq.
Приведем реализацию метода поиска «наилучшего» на языке Пролог. Алгоритм выполняется, как и в предыдущих реализациях, посредством вызова предиката go, в котором nil является родителем вершины Start нН — эвристическим значением начальной (корневой) вершины Start.
go(Start, Goal) :-
empty_set(Closed_set),
empty_pq(Open),
heuristic(Start, Goal, H) ,
insert_pq([Start, nil, 0, H, H], Open, Open_pq), path(Open_pq, Closed_set, Goal).
Далее приведем дизъюнкты, задающие предикат path:
path(Open_pq, _,)
empty_pq(Open_pq), write(’Graph searched, no solution found.’).
path(Open_pq, Closed_set, Goal):-
dequeue_pq([State, Parent,_,_,_], Open_pq,_),
State = Goal,
write(’The solution path is:’), nl, printsolution([State, Parent,_,_,_], Closed_set). path(Open_pq, Closed_set, Goal) :-
dequeue_pq([State, Parent, D, H, S], Open_pq, Rest_open_pq), get_children([State, Parent, D, H, S], Rest_open_pq, Closed_set, Children, Goal), insert_list_pq(Children, Rest_open_pq, New_open_pq), union([[State, Parent, D, H, S] ], Closed_set, New_closed_set), path(New_open_pq, New_closed_set, Goal),!.
get_children является предикатом, который создает всех детей вершины State. Приведем дизъюнкты для задания этого предиката:
get_children([State,_,D,_,_], Rest_open_pq, Closed_set, Children, Goal):-
bagof(Child, moves([State,_,D,_,_], Rest_open_pq, Closed_set, Child, Goal), Children).
moves([State,_,Depth,_,_], Rest_open_pq, Closed_set, [Next, State, New_D, H, S], Goal):-
move(State, Next),
not(unsafe(Next)),
not(member_pq([Next,_,_,_,_] , Rest_open_pq)), not(member_set( [Next,_,_,_,_], Glosed_set)), New_D is Depth + 1, heuristic(Next, Goal, H), S is New_D + H.
В заключение отметим, что предикат print solution используется для распечатки пути решения. Дизъюнкт, задающий этот предикат, имеет вид
printsolution ([State, nil,_,_,_],_) write(State), nl.
printsolution( [State, Parent,_,_,_], Closed.set) :- member.set([Parent, Grandparent,_,_,_], Closed.set), printsolution([Parent, Grandparent,_,_,_], Closed.set), write(State), nl.
Реализация на языке Пролог моделей представлениязнаний и механизмов вывода на них
Реализация продукционного вывода
Реализация алгоритмов планирования. Одной из важных компонент в современных интеллектуальных системах, в частности в системах поддержки принятия решений, является подсистема планирования. В настоящее время разработаны различные методы планирования, основанные на исчислении предикатов и реализованные с использованием языка Пролог. Рассмотрим реализацию алгоритмов планирования действий робота на языке Пролог, на которой продемонстрируем основные моменты решения задач данного класса.
Для решения задачи планирования обычно выделяются два типа состояний: начальное состояние и конечное состояние, описываемые предикатами. Для нашего примера начальным состоянием является следующее расположение кубиков и манипулятора (hand): кубики «В» и «С» находятся на столе, кубик «А» стоит на кубике «В», манипулятор расположен над кубиком «С». Конечным состоянием является следующее расположение кубиков: кубики «А» и «В» находятся на столе, а кубик «С» стоит на кубике «В». Начальное и конечное состояния описываются следующими списками предикатов:
start = [hand.empty, on.table(b), on.table(c), on(a, b) , clear(c), clear(a)];
goal = [hand.empty, on.table(a), on.table(b), on(c, b) , clear(a), clear(c)].
Далее строится пространство состояний, начальные уровни которого представлены на рис. 1.14. Затем задается предикат, описывающий перестановку кубиков. Этот предикат имеет имя «move», и он задает четыре возможности для перестановки кубиков, описанные с использованием предикатов «add» и «del», которые используются для добавления и удаления из списка заданных элементов:
move(pickup(X), [hand.empty, clear(X), on(X,Y)] ,
[del(hand.empty), del(clear(X)), del(on(X,Y)), add(clear(Y)), add(holding(X))]).
move(pickup(X), [hand.empty, clear(X), on.table(X)],
[del(hand.empty), del(clear(X)), del(on.table(X)),
М - манипулятор
Рис. 1.14
add(holding(X))] ).
move(putdown(X), [holding(X)], [del(holding(X)), add(on_table(X)),add(clear(X)), add(hand.empty)]).
move(stack(X,Y), [holding(X), clear(Y)], [del(holding(X)), del(clear(Y)), add(hand.empty), add(on(X,Y)), add(clear(X))]).
Предикат move имеет три аргумента. Первый из них обозначает имя действия, которое выполняется со своими аргументами. Второй аргумент представляет список предусловий: предикаты, которые должны быть истинны в описании состояния мира, к которому применяется правило перестановки кубиков, заданное предикатом move. Третьим аргументом является список добавляемых и удаляемых предикатов, т. е. предикатов, которые добавляются к состоянию мира или удаляются из него для того, чтобы создать новое состояние как результат применения данного правила.
Опишем действия, выполняемые рекурсивным генератором плана или планировщиком.
Поиск предиката move.
Проверка для предиката move предусловий.
Предикат change_state создает новое состояние (Child_state), используя списки предикатов для добавления и удаления.
Предикат member_stack проверяет, не встречалось ли полученное состояние ранее.
Оператор stack заносит новое состояние (Child_state) в New_moves_stack.
Оператор stack заносит новое имя состояния (name) в New_been_stack.
Рекурсивно вызывается предикат plan для поиска следующего состояния, при этом используется Child_state и обновленные New_moves_stackи New_been_stack.
Процедурой поиска является метод поиска «в глубину» с возвратом, реализованный в языке Пролог и заканчивающийся при нахождении целевого состояния.
Приведем программу реализации планировщика.
plan(State, Goal, _, Move_stack) :- equal_set(State, Goal), write("moves are"), nl, reverse_print„stack(Move_stack).
plan(State, Goal, Been_stack, Move_stack) :- move(Name, Preconditions, Actions), conditions„met(Preconditions, State), change_state(State, Actions, Child_state), not(member_stack(Child_state, Been_stack)), stack(Name, Been_stack, New_been_stack), stack(Child_state, Move_stack, New_move_stack), plan(Child_state, Goal, New_been_stack, New_move_stack),!.
plan(_, _, _) :- write("No plan possible with these moves!") .
conditions„met(P, S) :- subset(P, S). change_state(S, [] , S).
change_state(S, [add(P) I T], S_new) :-
change_state(S, T, S2) ,
add_if_not_in_set(P, S2, S_new),!. change_state(S, [del(P) I T], S_new) :-
change_state(S, T, S2),
delete_if_in_set(P, S2, S_new),!. reverse_print_stack(S) :- empty_stack(S). reverse_print_stack(S) :- stack(E, Rest, S), reverse_print_stack(Rest), write(E), nl.
Зададим предикат go для инициализации аргументов предиката plan, также опишем предикат test для задания тестов, содержащих начальное и целевое состояния.
go(Start, Goal) :- empty_stack(Move_stack), empty_stack(Been_stack), stack(Start, Been_stack, New_been_stack), plan(Start, Goal, New_been_stack, Move_stack).
test :- go([hand_empty, on_table(b), on_table(c), on(a, b), clear(c), clear(a)],
[hand_empty, on_table(a), on_table(b), on(c, b), clear(a), clear(c)]).
Результатом работы программы планировщика является список действий на экране монитора, которые необходимо выполнить для достижения заданного целевого состояния из заданного начального состояния.
6.5.1.2. Применение язика Пролог для решения головоломок. Рассмотрим еще одну реализацию продукционной модели в языке Пролог на примере решения одной из наиболее популярных головоломок — о волке, козе и капусте. Приведем описание старинной задачи: «Найти последовательность, которую должен выполнить человек для перевоза в лодке через реку волка, козы и капусты. При этом в лодке может поместиться только один человек, а с ним или волк, или коза, или капуста. Но если оставить волка с козой без человека, то волк съест козу, если оставить козу с капустой, то коза съест капусту, а в присутствии человека никто никого не съест». Решением задачи является такая последовательность пересечений реки, при которой указанные условия должны быть выполнены. Для решений задачи строится граф возможных состояний, на котором ищут пути (последовательности состояний), удовлетворяющие условиям задачи. Граф состояний строится на основе следующих рассуждений: лодка может быть использована в четырех случаях, а именно, для перевоза человека и волка, человека и козы, человека и капусты и только человека. Состоянием мира является некая комбинация характеристик на двух берегах. Некоторые состояния представлены на рис. 1.15.
Состояние мира описывается предикатом state(F,W,G,C), термы которого задают местоположение человека (F), волка (W), козы (G)n капусты (С) .Предположим, что река протекает с севера на юг, и для обозначения берегов используем е (восточный берег) и w (западный берег). Начальное состояние задается предикатом state(w,w,w,w), описывающим, что все (человек, волк, коза и капуста) находятся на западном берегу.
Следует отметить, что выбор подходящего представления для решений задачи является одной из наиболее важных проблем, которая должна быть разрешена. Для выбранного представления различные состояния мира создаются за счет различных пересечений реки, которые задаются при помощи изменения значений термов предиката state. Другие представления данной задачи, конечно, тоже возможны.
Рассмотрим граф состояний для решения задачи переправы. В начале мы игнорируем тот факт, что некоторые состояния являются бесполезными. На рис. 1.16 представлена часть графа, на котором
state(w,w,w,w) FWGC
state(efwfefw) WC
state(w,w,e,w) FWC
state(e,w,e,e) W
state(w,w,w,e) FWG
state(e,e,w,e) G
state(w,efw,e) FG
ищется путь решения задачи. Предикат path вызывается рекурсивно для поиска решения задачи.
state(wrw,w,w)
Х7/
state(ere,w,w) state(erwre,w) state(e,w,wre) state(e,wrw,w)
state(wre,w,w) state(wrwrerw) state(w,wrwre)
state(ere,e,w) state(ere,w,e) state(erw,e,e)
Рис. 1.16
Продукционные правила или хорновские дизъюнкты используются для задания изменения состояний в процессе поиска решения
задачи. Зададим эти правила в виде правил в языке Пролог, левая часть которых описывается предикатом move. Далее на них будем ссылаться как на правила «move». Первое правило определим для человека, переправляющего волка. Это правило должно применяться для переправы человека и волка как с восточного берега на западный, так и с западного берега на восточный, и не должно применяться, когда человек и волк находятся на различных берегах реки. Таким образом, данное правило должно преобразовывать состояние state(e,e,G,C) в состояние state(w,w,G,C) и состояние state(w,w,G,C) в состояние state(e,e,G,C),H не должно применяться к состояниям state(е,w,G,C) и state(w,e,G,C). Переменные G и С представляют в действительности тот факт, что они могут быть связаны с любой из констант w или е. Заметим, что производятся некоторые состояния, которые на самом деле являются бесполезными.
Правило move срабатывает только тогда, когда человек и волк находятся на одном из берегов реки. После срабатывания правила они находятся на противоположном берегу реки. При этом коза и капуста не изменяют своего местоположения:
move(state(X, X, G, С), state(Y, Y, G, C)):- opp(X, Y) . opp(e, w).
opp(w, e) .
Таким образом, правило срабатывает, когда в состоянии, представленном первым параметром предиката move, человек и волк находятся в одном месте. Когда правило сработало, возникает новое состояние, задаваемое вторым параметром предиката move, и в нем человек и волк находятся на противоположных берегах (значение X противоположно значению У). Для возникновения нового состояния должны быть выполнены два условия:
значения первых двух параметров предиката state должны быть одинаковые;
в новом состоянии эти значения изменяются на противоположные старому.
Первое условие в процессе унификации проверяется неявно. Если необходимо, то проверка первого условия может быть сделана явно, с использованием следующего правила:
move(state(F, W, G, C), state(Z, Z, G, C)):- F = W, opp(F, Z) .
Данное правило является эквивалентным предыдущему. Заметим, что Пролог может делать «назначения» посредством связывания значений переменных при унификации.
Первая версия правила move является более эффективным представлением с точки зрения времени вывода, поскольку при унификации не рассматриваются хорновские дизъюнкты, если их первые два параметра не являются одинаковыми.
Рассмотрим предикат, тестирующий каждое новое состояние на полезность, т. е. на то, чтобы «никто никого не съел в процессе переправы». Заметим, что унификация играет важную роль в этой проверке. Любое состояние, в котором второй и третий параметр одинаковы и отличны от первого параметра, является бесполезным, поскольку волк съедает козу. Соответственно, если третий и четвертый параметры одинаковы и отличны от первого параметра, то состояние также является бесполезным, поскольку коза съедает капусту. Таким образом, бесполезные (unsafe) ситуации могут быть представлены следующими правилами:
unsafe(state(X, Y, Y, C)):- opp(X, Y).
unsafe(state(X, W, Y, Y)):- opp(X, Y).
Отрицание может быть добавлено к предыдущему правилу:
move (state (X, X, G, С), state(Y, Y, G, C)) :- opp(X, Y) , not(unsafe(state(Y, Y, G, C))).
Подобным образом создаются продукционные правила для человека, перевозящего козу и капусту на другой берег. Отметим, что команда writelist в каждом продукционном правиле печатает трассу текущего правила. Команда reverse_print_stack применяется в заключительном состоянии пути для того, чтобы распечатать путь найденного решения.
Приведем текст программы на языке Пролог для решения поставленной задачи. Описание в языке Пролог предикатов unsafe, writelist, reverse_print_stack, member_stack, stack не дается, чтобы не загромождать описание реализации продукционной модели.
move (state (X, X, G, С), state(Y, Y, G, C)) :- opp(X, Y) ,
not(unsafe(state(Y,Y,G,C))), writelist(["try farmer takes wolf", Y, Y, G, C]).
move(state(X, W, X, C) , state(Y, W, Y, C)) :- opp(X, Y) ,
not(unsafe(state(Y, W, Y, C))),
writelist(["try farmer takes goat", Y, W, Y, C]).
move(state(X, W, G, X) , state(Y, W, G, Y)) :- opp(X, Y),
not(unsafe(state(Y, W, G, Y))),
writelist["try farmer takes cabbage", Y,W,G,Y]).
move(state(X, W, G, C), state(Y, W, G, C)) :- opp(X,Y),
not(unsafe(state(Y, W, G, C))), writelist(["try farmer takes self", Y, W, G, C]) .
move(state(F, W, G, C) , state(F, W, G, C)) :-
writelist("Backtrack from:", F, W, G, C]), fail.
path(Goal, Goal, Been_stack) :-
write("Solution Path Is:"),
nl, reverse_print_stack(Been_stack).
path(State, Goal, Been_stack) :- move(State,Next_state), not(member_stack(Next_state, Been_stack)), stack(Next_state, Been_stack, New_been_stack), path(Next_state, Goal, New_been_stack), !.
opp(e, w). opp(w, e) .
Приведенная программа на языке Пролог вызывается посредством предиката go, который инициализирует рекурсивный вызов предиката path. Для того, чтобы легче запустить программу на выполнение, определяется предикат test, в котором задаются начальные и конечные состояния:
go(Start, Goal) :- empty_stack(Empty_been_stack),
stack(Start, Empty_been_stack, Been_stack), path(Start, Goal, Been_stack).
test:- go(state(w, w, w, w), state(e, e, e, e)).
Приведем трассировку выполнения программы.
?- test.
try farmer takes goat try farmer takes self try farmer takes wolf try farmer takes goat try farmer takes cabbage try farmer takes wolf try farmer takes goat BACKTRACK from e w e e BACKTRACK from w w w e try farmer takes self try farmer takes goat Solution Path Is: state(w, w, w, w) state(e, w, e, w) state(w, w, e, w) state(e, e, e, w)
-e w e w
-w w e w
-e e e w
-w e w w
-e e w e
-w w w e
-e w e e
-w e w e
-e e e e
state(w, е, w, w)
state(e, е, w, е)
state(w, е, w, е)
state(e, е, е, е)
В заключение заметим, что порядок срабатывания правил для генерации новых состояний из каждого состояния является детерминированным и определяется порядком, в котором эти правила размещены в продукционной модели.
Реализация вывода на семантических сетях. Одним из достоинств сетевого представления знаний является использование в нем механизма наследования свойств. Рассмотрим реализацию на языке Пролог этого механизма в простейшей семантической сети, описывающей фрагмент иерархии воздушных лайнеров. В семантической сети, изображенной на рис. 1.17, вершинам соответствуют такие объекты, как ТУ 154, АН76, и такие классы объектов, как воздушный лайнер, самолет, самолет с технологией «stealth» (самолет-невидимка), самолет класса «ТУ», самолет класса «АН». Напомним, что отношение «класс-подкласс» (ISA) является основополагающим отношением в семантической сети.
Рис. 1.17
Для описания семантической сети в языке Пролог используются предикаты: isa(Type, Parent), обозначающий, что объект Туре является представителем класса Parent, и hasprop(Object, Property,
Value) , задающий свойства объектов. Предикат hasprop обозначает, что Object имеет свойство Property со значением Value. Object и Value являются вершинами в семантической сети, и Property является именем ребра, соединяющего их.
Приведем список предикатов, описывающий фрагмент иерархии воздушных лайнеров, заданный семантической сетью, представленной на рис.1.17.
isa (airplane, liner), isa (airsphere, liner), isa (stealth, airplane). isa (TU, airplane). isa (AN, airplane).
isa (TU154, TU). isa (AN76, AN), hasprop (stealth, application, war_actions). hasprop (stealth, see_for_radar, no). hasprop (airplane, application, fly).
hasprop (airplane, see_for_radar, yes).
Опишем рекурсивный алгоритм поиска объектов в семантической сети, обладающих заданным свойством. Заметим, что свойства описываются в семантической сети на самом верхнем уровне и имеют значения «истина». Используя механизм наследования, можно получить свойства, которыми обладают объекты или подклассы некоторого надкласса, если описаны свойства надкласса. Так, свойство «видимость для радаров» задается для воздушных лайнеров и всех его подклассов. Исключения описываются на том уровне, на котором размещены объекты, не обладающие заданным свойством. Например, в представленной на рис. 1.17 семантической сети описаны вершины, отражающие тот факт, что самолеты с технологией «stealth» (самолеты-невидимки) являются невидимыми для радаров и не используются для перевозки пассажиров и грузов.
Предикат hasproperty начинает поиск свойств для объектов, расположенных на нижнем уровне. Если свойство для объекта в явном виде не задано, то hasproperty ищет isa-связь для перехода к надклассу, для которого далее определяется, обладает ли он заданным свойством и т. д. Если надклассов больше нет, и hasproperty не нашел объекта или класса, обладающего заданным свойством, то результатом алгоритма поиска является неудача (fail).
Представим на языке Пролог описанную выше процедуру поиска.
hasproperty(Object, Property, Value) :- hasprop(Object, Property, Value).
hasproperty(Object, Property, Value) :- isa(Object,Parent), hasproperty(Parent, Property, Value).
Заметим, что указанная процедура осуществляет поиск «в глубину» с возвратом в семантической сети, которая задает иерархию наследования. В следующем пункте опишем механизм наследования в фреймовом представлении и реализацию множественного наследования на языке Пролог.
Реализация вывода на фреймовых структурах. Семантическая сеть может быть представлена в виде структур фреймов. Представим в виде фреймов фрагмент семантической сети, заданный на рис. 1.17. Необходимо напомнить, что фрейм задается именем фрейма и списком слотов, в которых определяются свойства и их значения. Примеры фреймов, используемых для описания вышеописанного примера, приведены на рис. 1.18. Слот isa во фреймах используется для задания иерархии на них. В нем находится список исключений и значений, заданных по умолчанию.
Имя: воздушный лайнерIsa:Свойство: видимость для радаров(Да)Default:Имя: воздушный лайнерIsa:Свойство: видимость для радаров(Да)Default:Имя: самолетIsa: воздушный лайнерСвойство: использование(перевозка пассажиров и грузов)Default:Имя: самолетIsa: воздушный лайнерСвойство: использование(перевозка пассажиров и грузов)Default:
Имя: воздушный лайнер
Isa:
Свойство: видимость для радаров
(Да)
Default:
Имя: воздушный лайнер
Isa:
Свойство: видимость для радаров
(Да)
Default:
Имя: самолет
Isa: воздушный лайнер
Свойство: использование(перевозка пассажиров и грузов)
Default:
Имя: самолет
Isa: воздушный лайнер
Свойство: использование(перевозка пассажиров и грузов)
Default:
Имя: АН Isa: самолет Свойство:Default:Имя: АН Isa: самолет Свойство:Default:Имя: ТУ Isa: самолет Свойство:Default:Имя: ТУ Isa: самолет Свойство:Default:
Имя: АН Isa: самолет Свойство:
Default:
Имя: АН Isa: самолет Свойство:
Default:
Имя: ТУ Isa: самолет Свойство:
Default:
Имя: ТУ Isa: самолет Свойство:
Default:
Имя: самолет с технологией «stealth»
Isa: самолет
Свойство: видимость для радаров (нет); использование (боевые действия)
Default:
Рис. 1.18
Опишем фреймы, заданные на рис. 1.18, в виде конструкций языка Пролог.
frame(name(airliner),isa(" "), [see_for_radar(yes)],[ ]) . frame(name(airplane),isa(airliner),[application^ly)],[ ]) . frame(name(stealth),isa(airplane),[see_for_radar(no), application(war_action)],[ ]) .
frame(name(AN),isa(airplane), [ ] , [ ]). frame(name(TU),isa(airplane), [ ] , [ ]) .
Приведем текст процедур, позволяющих обрабатывать заданные конструкции.
get(Prop, Object) :- frame(name(Object)
List_of„properties,_), member(Prop, List_of„properties). get(Prop, Object) :- frame(name(Object),_,_,
List_of„defaults), member(Prop, List_of„defaults).
get(Prop, Object):- frame(name(Object), isa(Parent), _, _), get(Prop, Parent).
Если структура фреймов описывает сетевую, а не древовидную иерархию, т. е. необходимо поддерживать множественное наследование, то нужно внести изменения как в выбранное представление фреймов на языке Пролог, так и в стратегию поиска. Сначала изменим представление фрейма следующим образом: в предикате isa зададим список надклассов объекта Object. Так, каждый надкласс в списке является родителем объекта, имя которого задается в первом аргументе фрейма. Далее необходимо внести изменения в процедуру поиска, которая будет поддерживать множественное наследование. Определим процедуру Get „multiple следующим образом:
net(Prop, Object) :- frame(name(Object), isa(List), _, _), get_multiple(Prop, List).
get_multiple(Prop, [Parent]]) :- get(Prop, Parent). get_multiple(Prop, [_I Rest]) :- get_multiple(Prop, Rest).
В заключение заметим, что список правил языка Пролог может быть задан в слоте фрейма. Например, можно задать в слоте фрейма список правил для получения различных вариантов ответа на вопросы, касающиеся данного объекта. Такие списки правил можно рассматривать в какой-то степени как методы, которые играют важную роль в объектно-ориентированном программировании.
В словах заключена великая сила, если только Вы не сцепляете их одно с другим в слишком длинную цепь.
Д. Биллингз
Глава 2
ВЫВОД НА ГРАФЕ СВЯЗЕЙ
При обработке большого объема данных, а также при решении задач, характеризующихся экспоненциальным ростом пространства поиска, особое значение приобретает проблема эффективности процедур дедуктивного вывода.
Для эффективной работы с множествами дизъюнктов большой мощности процедура вывода должна отвечать следующим требованиям:
по возможности сокращать пространство поиска контрарной пары на каждом шаге резольвирования;
исключать из дальнейшего рассмотрения дизъюнкты, которые не могут быть использованы в процессе доказательства;
в процедуре вывода должен быть реализован эффективный алгоритм выбора контрарных пар для резольвирования;
поиск доказательства должен производиться сразу по нескольким направлениям.
Этим условиям удовлетворяет процедура параллельного вывода на графе связей Ковальского.
Проблема поиска контрарных пар решается путем сохранения информации о потенциально резольвируемых предикатах в графе связей. Таким образом, установление потенциальной резольвируемости производится один раз при создании графа связей, и нет необходимости в просмотре всего множества дизъюнктов на каждом шаге резольвирования — достаточно лишь просмотреть дизъюнкты, полученные в результате резольвирования на последнем шаге. Исключение дизъюнктов, которые не могут быть использованы в доказательстве, достигается с помощью простой процедуры нахождения «чистых» литер. Для эффективного выбора контрарной пары можно использовать эвристические оценки, а также любые существующие алгоритмы вывода. Для организации поиска доказательства сразу по нескольким направлениям процедура вывода на графе связей может быть распараллелена.
Последовательная процедура доказательстваметодом графа связей
Рассмотрим исходную последовательность дизъюнктов: Ci, Сф... , Ск, состоящих из предикатов Pi, Р2,..., Рь Поставим в соответствие каждому предикату вершину в графе связей. Два узла соединяются ненаправленным ребром, называемым связью, если соответствующие предикаты потенциально образуют контрарную пару (что означает возможность резольвирования данных предикатов после применения к ним унификатора и переименования соответствующих переменных). Узлы, соответствующие предикатам, принадлежащим одному дизъюнкту, группируются вместе в графе связей. Во время построения графа при определении предикатов — потенциальных кандидатов на резольвирование — следует (хотя это потребует дополнительных вычислительных затрат) пометить каждую связь соответствующим наиболее общим унификатором (НОУ).
С каждой связью в графе связей ассоциируется единственная резольвента, являющаяся результатом резольвирования предикатов, соединенных данной связью. После генерации резольвенты не составляет особого труда добавить ее в граф. Новые связи дизъюнкта- резольвенты могут быть вычислены с использованием имеющейся информации о наследуемых связях дизъюнктов-потомков. НОУ для новых связей будет представлять собой композицию унификатора резольвированной связи и связи дизъюнкта-предка.
Таким образом, процесс резольвирования для данной связи представляет собой получение резольвенты, добавление резольвенты в граф связей, добавление связей резольвенты в граф связей и удаление «старых» связей и дизъюнктов из графа связей.
Удаление «старых» связей и дизъюнктов производится по следующей схеме:
когда резольвента сгенерирована и добавлена в граф, связь, которая породила резольвенту, удаляется из графа связей;
если вершина не имеет связей, то дизъюнкт, которому эта вершина (предикат) принадлежит, удаляется из графа вместе со всеми связями;
если дизъюнкт является тавтологией, то он удаляется со всеми принадлежащими ему предикатами и связями.
В значительной мере гибкость и мощь процедуры вывода является следствием ее недетерминизма, так как на каждом шаге алгоритма может быть выбрана любая связь для резольвирования. Для точного определения процедуры вывода необходимо обратить внимание на детали, особенно на вопросы, связанные с факторизацией, поглощением
дизъюнктов, удалением дизъюнктов-тавтологий и чистых дизъюнктов.
Таким образом, последовательный алгоритм вывода на графе связей имеет следующий вид.
Алгоритм 2.1.
Выбор связи из множества связей.
Резольвирование связи и получение резольвенты. Удаление связи, по которой производилось резольвирование.
Если получена пустая резольвента, то успешное завершение, иначе помещение резольвенты в граф, добавление ее связей, удаление дизъюнктов-тавтологий и чистых дизъюнктов, выполнение операций факторизации и поглощения дизъюнктов.
Если граф не содержит ни одного дизъюнкта, то неуспешное завершение алгоритма, иначе переход к шагу 1.
Рассмотрим работу алгоритма дедуктивного вывода на примере 1.23 (см. главу 1).
Пример 2.1.
Граф связей для данного множества дизъюнктов изображен на рис. 2.1.
производится выоорС(^ Н(Ь)12-iC(x) v -1Я(у) v -^Цх, у)3P(b)^— -^(у)уЦа,у)Рис. 2.1производится выоорС(^ Н(Ь)12-iC(x) v -1Я(у) v -^Цх, у)3P(b)^— -^(у)уЦа,у)Рис. 2.1Рассмотрим основные шаги алгоритма. На первом шаге связи для резольвирования и резольвирование выбранной связи. Прорезольвированная связь удаляется. Выберем для резольвирования связь 1.
производится выоор
С(^ Н(Ь)
12
-iC(x) v -1Я(у) v -^Цх, у)
3
P(b)^— -^(у)уЦа,у)
Рис. 2.1
производится выоор
С(^ Н(Ь)
12
-iC(x) v -1Я(у) v -^Цх, у)
3
P(b)^— -^(у)уЦа,у)
Рис. 2.1
На втором шаге происходит резольвирование по этой связи, в результате которого мы получаем дизъюнкт 6: ^Н(у) V ^ЦсцуУ Удаляем связь 1 и переходим к шагу 3 алгоритма.
На третьем шаге проверяем, является ли полученный на предыдущем шаге дизъюнкт пустым. Так как дизъюнкт 6 не является пу
стым дизъюнктом, добавляем его в граф связей. Также добавляем связи дизъюнкта 6. Полученный граф связей изображен на рис. 2.2.
Дизъюнкты С^ и -О(х) V ^Н(у) V ^Цхцу) содержат чистые литеры С (а) и -О^х), то есть являются чистыми дизъюнктами и подлежат удалению из графа связей. После удаления данных дизъюнктов получаем граф связей, изображенный на рис. 2.3.
Данный граф связей не содержит дизъюнктов-тавтологий и чистых дизъюнктов, подлежащих удалению. Операции факторизации и поглощения дизъюнктов также являются неприменимыми к данному множеству дизъюнктов, поэтому переходим к шагу 4 алгоритма.
Граф связей, изображенный на рис. 2.3, не содержит пустого дизъюнкта, поэтому переходим к шагу 1.
С^ Н(Ь)
^С(х) v —Н(У) v —L^x, у)—\Н(у) v —L^a, у)
PQd—i^(y) v Ца,у)
Я(6)Я(6)-^I(y)v^L(a,y)-^I(y)v^L(a,y)Рис. 2.3Рис. 2.3Рис. 2.2
Я(6)
Я(6)
-^I(y)v^L(a,y)
-^I(y)v^L(a,y)
Рис. 2.3
Рис. 2.3
Выберем для резольвирования связь 5. После резольвирования по этой связи получаем дизъюнкт 7: -^L(a^b). Удаляем связь 5 и переходим к шагу 4 алгоритма.
Дизъюнкт 7 не является пустым дизъюнктом, поэтому добавляем его в граф связей. Также добавляем связи дизъюнкта 7. Полученный граф связей изображен на рис. 2.4.
—В(у) v —L^a, у)—L^a, b)б7P(b) -*- -пР^ v Ца, у)—В(у) v —L^a, у)—L^a, b)б7P(b) -*- -пР^ v Ца, у)-пДя, Z>)7Р(6)_,Р(у) v ца, ^-пДя, Z>)7Р(6)_,Р(у) v ца, ^ад
—В(у) v —L^a, у)—L^a, b)
б7
P(b) -*- -пР^ v Ца, у)
—В(у) v —L^a, у)—L^a, b)
б7
P(b) -*- -пР^ v Ца, у)
-пДя, Z>)
7
Р(6)_,Р(у) v ца, ^
-пДя, Z>)
7
Р(6)_,Р(у) v ца, ^
Рис. 2.4 Рис. 2.5
Дизъюнкты Н(Ь) и ^Н(у) V -^(сц ^ содержат чистые литеры Н(Ь) и ^Н(у^ то есть являются чистыми дизъюнктами и подлежат удалению из графа связей. После удаления данных дизъюнктов получаем граф связей, изображенный на рис. 2.5.
Данный граф связей не содержит дизъюнктов-тавтологий и чистых дизъюнктов, подлежащих удалению. Операции факторизации и поглощения дизъюнктов также являются неприменимыми к данному множеству дизъюнктов, поэтому переходим к шагу 4 алгоритма.
Граф связей, изображенный на рис. 2.5, содержит дизъюнкты, поэтому переходим к шагу 1.
Выберем для резольвирования связь 7. После резольвирования по этой связи получаем дизъюнкт 8: ^Р(Ь\ Удаляем связь 7 и переходим к шагу 3 алгоритма.
Дизъюнкт 8 не является пустым дизъюнктом, поэтому добавляем его в граф связей. Также добавляем связи дизъюнкта 8. Полученный граф связей изображен на рис. 2.6.
Дизъюнкты ^Ь(сцЬ) и ^PQy) ^ 1Аа^ содержат чистые литеры ^Ь(аД) и ЦсцуУ то есть являются чистыми дизъюнктами и подлежат удалению из графа связей. После удаления данных дизъюнктов получаем граф связей, изображенный на рис. 2.7.
-Да, Б)
Р№)^— -^(y)vL(a,y)
J>(6)Р(6) —Р(6)
Рис. 2.6Рис. 2.7
Данный граф связей не содержит дизъюнктов-тавтологий и чистых дизъюнктов, подлежащих удалению. Операции факторизации и поглощения дизъюнктов также являются неприменимыми к данному множеству дизъюнктов, поэтому переходим к шагу 4 алгоритма.
Граф связей, изображенный на рис. 2.7, содержит дизъюнкты, поэтому переходим к шагу 1.
Выберем для резольвирования связь 8. После резольвирования по этой связи получаем дизъюнкт 9: □. Удаляем связь 8 и переходим к шагу 3 алгоритма.
Дизъюнкт 9 является пустым дизъюнктом, следовательно исходное множество дизъюнктов является невыполнимым. Завершение работы алгоритма.
Доказана полнота и состоятельность процедуры вывода на графе связей. Вышеприведенный алгоритм является недетерминированным. Для реализации его на детерминированной машине он нуждается в детерминированной процедуре выбора резольвируемой связи. В данном вопросе возможно использование нескольких основных методик, например, выбор связи, активация которой приведет к уменьшению количества дизъюнктов в графе, количества связей или количества вхождений предикатов в дизъюнкты. Идеальная ситуация возникает в случае, когда связь соединяет пару предикатов, не имеющих никаких других связей (так как в этом случае резольвирование приведет к удалению родительских дизъюнктов и всех связей родительских дизъюнктов). Также к упрощению графа приводит слияние одинаковых предикатов из дизъюнктов-родителей. Еще одним фактором, влияющим на выбор связи, является единственность связи для предиката, что приводит, как сказано ранее, к удалению дизъюнкта, содержащего этот предикат после резольвирования. В случае, когда упрощения графа добиться не удается, следует выбрать связь, резольвирование которой приведет к минимальному усложнению графа связей. В этой
ситуации следует отдавать предпочтение связям, резольвенты которых содержат наименьшее количество предикатов.
Стратегии поиска в графе связей
В графах связей стратегия поиска заключается в проблеме выбора связи для резольвирования на каждом шаге резольвирования. Эта проблема аналогична проблеме выбора последовательности резольвирования предикатов во многих традиционных системах вывода. Большинство методов, использованных в этих системах, без значительных усложнений могут быть применены и к выводу на графе связей. Основное отличие графа связей от других способов дедуктивного вывода — облегчение получения информации о еще нерезольвиро- ванных предикатах. Эта информация может быть использована различными способами, одним из наиболее интересных является вычисление нижних границ сложности опровержения данной резольвенты. Очень грубую оценку, равную количеству предикатов в резольвенте, получить легко. Стратегии поиска повышают свою эффективность при более точном определении нижней границы. Число предикатов в дизъюнкте, как эквивалент нижней границы, аналогичен поиску на один уровень в графе связей. Поиск на один уровень означает, что все предикаты в дизъюнкте имеют связи с другими предикатами. Оценка нижней границы может быть значительно уточнена при использовании поиска на п уровней в графе связей. В нижеприведенном примере будет рассмотрен метод вычисления значений, оценивающих с помощью поиска на п уровней в графе связей, минимальное число резольвируемых связей, необходимых для достижения цели G. Вычислительные затраты, необходимые для расчета этих значений, являются линейной функцией от п. Поиск на п уровней не учитывает возможность существования тавтологий, факторов дизъюнктов и слияния предикатов в дизъюнктах.
Величина hn(G) оценивает минимальное число резольвируемых связей, необходимых для достижения цели G. hy(G) вычисляется путем утверждения, что каждый предикат в каждом дизъюнкте, соединенном связью с G, может быть достигнут за один шаг, путем активации единственной связи. Таким образом, hy(G) — минимальное значение числа предикатов в дизъюнктах, соединенных связью с G.
В общем случае
hn = 1 + min[ у^ ^п-1Щ)],
где К^- предикатные литеры дизъюнктов, соединенных связью с G, вида Ст = ^G V Ку V ... V Ки.
Вообще говоря, hn — нижняя граница числа резольвент, которые необходимо сгенерировать для опровержения G.
Поиск на несколько шагов вперед можно использовать для вычисления значений hni что позволит производить оптимальный выбор генерируемой связи. Рассмотрим вычисление hn на примере.
Пример 2.2.
Исходное множество дизъюнктов
Q
RV ^QV ^Р
Р
-^R.
Граф связей для множества дизъюнктов изображен на рис. 2.8. Табл. 2.1 иллюстрирует процесс нахождения значения hn.
QЯ V -10 V РРис. 2.8QЯ V -10 V РРис. 2.8Таким образом, hn = 62 = hi. Рассмотрим более подробно процесс вычисления hn(Q\
Q
Я V -10 V Р
Рис. 2.8
Q
Я V -10 V Р
Рис. 2.8
hi(Q) = 3, так как минимальное число литер во всех дизъюнктах, соединенных связью с литерой Q, равно 3 (дизъюнкт 2: R V ^Q V ^Р\
h2^Q) = 3, так как минимум по всем дизъюнктам, соединенным связью с Q (в данном случае это
единственный дизъюнкт 2: R V -^Q V ^Р), сумм ^2 hn-i(Kt\ равен
К1(Р)рК1(^Р) = 1 + 1 = 2, и, таким образом,
h^Q) = 1 + min[ ^ ^-1№)] = 1+2 = 3. (Ст = R V ^Q V ^Р).
Следовательно, hn(Q) = h2(Q) = hi(Q) = 3. Аналогично находит
Таблица 2.1Таблица 2.1ся h2 для остальных литер.
Таблица 2.1
Таблица 2.1
hi
^2
Q R
р
-^R
3
1
1
1
3 3
3
1
1
1
3
3
Достоинства процедуры дедуктивного выводана графе связей
Рассмотрим основные проблемы, характерные для процедур вывода, и покажем преимущество процедуры дедуктивного вывода на графе связей над другими методами.
Проблема нахождения контрарной пары. Проблема нахождения контрарной пары — одна из основных проблем, существенно снижающих эффективность процедур дедуктивного вывода. Особенно заметно это проявляется при достаточно большом количестве дизъюнктов. В наиболее неудачных случаях требуется просмотреть все множество дизъюнктов, прежде чем будет найдена контрарная пара предикатов для резольвирования. Много времени занимает проверка возможности резольвирования предикатов, которые не резольвируемы.
Для графов связей проблема поиска контрарной пары решается путем сохранения информации о потенциально резольвируемых предикатах в графе связей. Таким образом, установление потенциальной резольвируемости производится один раз при создании графа связей, и нет необходимости в просмотре всего множества дизъюнктов на каждом шаге резольвирования — достаточно лишь просмотреть дизъюнкты, полученные в результате резольвирования на последнем шаге.
Проблема препроцессорной обработки. Препроцессорная обработка переводит множество дизъюнктов во множество, содержащее меньшее количество дизъюнктов, предикатов или связей. Препроцессорная обработка множества дизъюнктов проводится не только на шаге инициализации множества дизъюнктов, но и на каждом шаге вывода. В процедуре дедуктивного вывода на графе связей препроцессорная обработка включена в саму процедуру, и на каждом шаге алгоритма производится удаление «чистых» дизъюнктов, поглощенных дизъюнктов и дизъюнктов-тавтологий, что значительно ускоряет и упрощает вывод.
Проблема модификации алгоритма вывода. Одно из основных достоинств метода дедуктивного вывода на графе связей — это возможность «встраивать» процедуры из других методов в данный метод вывода. Это достигается путем изменения процедуры выбора связи для резольвирования. Так, например, метод гиперрезолюции может быть встроен в процедуру вывода на графе связей. Таким образом, алгоритм дедуктивного вывода на графе связей позволяет аккумулировать в себе достоинства других методов.
Параллельный вывод на графе связей
Рассмотрим три метода вывода: OR-параллельный вывод, AND- параллельный вывод и DCDP-параллельный вывод на графе связей в логике предикатов первого порядка.
Основной операцией в опровержении графа связей является резолюция связи, в которой выделяется связь, и соответствующие термы пар литер-вершин унифицируются. После этого вычисляется резольвента, и она входит в граф. Связь удаляется, и соответствующие связи вычисленной вершины-резольвенты вставляются в граф. Резолюция
графа имеет полезное свойство: она не требует поиска для того, чтобы определить связи вычисленной резольвенты и пары дизъюнктов для дальнейшего резольвирования. Мы можем резольвировать любую пару дизъюнктов, соединенных ребром, так как все ребра соединяют контрарные пары. Резольвента всегда наследует связи, соединяющие литеры-вершины дизъюнктов, инцидентных резольвированной связи.
Использованная единожды связь удаляется из графа, чем достигается ограничение излишней резолюции между данной парой дизъюнктов. Множество дизъюнктов, соответствующее графу связей, невыполнимо, если мы можем вывести пустой дизъюнкт из графа связей. Связи графа могут быть выделены сверху вниз, снизу вверх или комбинацией обоих методов. Поскольку все пространство поиска проблемы известно, то на каждом шаге мы можем использовать эвристическую информацию, чтобы выделить лучших кандидатов на ре- зольвирование. Для повышения эффективности вывода используются различные стратегии упрощения графа связей, такие как удаление чистых дизъюнктов, тавтологий и поглощенных дизъюнктов.
Метод OR-параллельной резолюции
Граф связей Ковальского является основой для разработки алгоритмов параллельной резолюции. Наличие полного пространства поиска предполагает возможность использования стратегий параллельного вычисления для повышения эффективности процедуры вывода.
В случае OR-параллелизма система вывода параллельно сопоставляет некоторое целевое утверждение с головами дизъюнктов- кандидатов, подходящих для данного сопоставления. При этом осуществляется унификация литер и генерация новых дизъюнктов по методу резолюции для предикатов первого порядка.
Алгоритм OR-параллельной резолюции включает следующие этапы.
Выбор множества связей для OR-параллельного резольвирования.
Параллельное резольвирование всех связей из выбранного множества. Удаление выбранных связей.
Если получена пустая резольвента, то успешное завершение, иначе помещение резольвент в граф, добавление их связей, удаление дизъюнктов-тавтологий и чистых дизъюнктов, выполнение операций факторизации и поглощения дизъюнктов.
Если граф не содержит ни одного дизъюнкта, то неуспешное завершение алгоритма, иначе переход к п. 1.
OR-параллельная резолюция позволяет одновременно резольвировать более одной связи, и, следовательно, не нужно выбирать одну наилучшую связь.
Рассмотрим пример OR-параллельного дедуктивного вывода на графе связей.
Пример 2.3.
Исходное множество дизъюнктов
Q(c)Q^R^ V ^Q(y) V ^Р(х)Q(c)Q^R^ V ^Q(y) V ^Р(х)P(b)-'Д(ж) V ЗЦ, у) V ""Т(эс)Щ) V ->В(у)P(b)-'Д(ж) V ЗЦ, у) V ""Т(эс)Щ) V ->В(у)-Цу) V -Цу,.?) V -^В^В^ V ^С^х?) V -Цу)D(c)F(b)F(c)C(b)-Цу) V -Цу,.?) V -^В^В^ V ^С^х?) V -Цу)D(c)F(b)F(c)C(b)
Q(c)
Q^
R^ V ^Q(y) V ^Р(х)
Q(c)
Q^
R^ V ^Q(y) V ^Р(х)
P(b)
-'Д(ж) V ЗЦ, у) V ""Т(эс)
Щ) V ->В(у)
P(b)
-'Д(ж) V ЗЦ, у) V ""Т(эс)
Щ) V ->В(у)
-Цу) V -Цу,.?) V -^В^
В^ V ^С^х?) V -Цу)
D(c)
F(b)
F(c)
C(b)
-Цу) V -Цу,.?) V -^В^
В^ V ^С^х?) V -Цу)
D(c)
F(b)
F(c)
C(b)
7. В^а)
Допустимыми множествами OR-связей для графа связей, изображенного на рис. 2.9, являются {1',2'} и {10', 11'} (в данном и последующих примерах мы не рассматриваем множества связей для параллельного резольвирования, состоящие из одной связи). Желающие могут довести пример до конца.
2(c)2(6)
V -2(У) V -Ах) Р(6)
-^(х) v S(x, у) v -Ах)^ 71» v —В(у) 5(a)7'-Ay) v -iS(y, z) v -5(z) —— В(х) v -iC(x) v -nD(y) —-—D(c)-^(х) v S(x, у) v -Ах)^ 71» v —В(у) 5(a)7'-Ay) v -iS(y, z) v -5(z) —— В(х) v -iC(x) v -nD(y) —-—D(c)F(b) F^C(6)F(b) F^C(6)Рис. 2.9Рис. 2.9
-^(х) v S(x, у) v -Ах)^ 71» v —В(у) 5(a)
7'
-Ay) v -iS(y, z) v -5(z) —— В(х) v -iC(x) v -nD(y) —-—D(c)
-^(х) v S(x, у) v -Ах)^ 71» v —В(у) 5(a)
7'
-Ay) v -iS(y, z) v -5(z) —— В(х) v -iC(x) v -nD(y) —-—D(c)
F(b) F^C(6)
F(b) F^C(6)
Рис. 2.9
Рис. 2.9
OR-параллелизм является наиболее простым в реализации видом параллелизма в дедуктивном выводе на графе связей. Процедура OR-параллельного вывода сводится к нахождению множества связей предикатной литеры дизъюнкта и последующему резольвированию с удалением дизъюнкта, содержащего предикатную литеру, по которой производилось резольвирование. В данной ситуации особое значение приобретает задача нахождения множества связей, резольвирование по которым приведет к максимальному упрощению графа связей. Так как предварительное резольвирование всех связей и нахождение среди них оптимальной связи является вычислительно неэффективным, то
для выбора связи необходимо использовать эвристики. Выбор эвристических функций подробно рассмотрен ниже.
DCDP-параллельный вывод
Одной из разновидностей параллельного вывода на графе связей Ковальского является DC-параллелизм. В случае DC-параллелизма (distinct clause parallelism) мы резольвируем те связи, для которых дизъюнкты, соединенные этими связями, различны. Мы будем рассматривать ограниченный DC-параллелизм, сохраняющий логическую непротиворечивость. Такой параллелизм называется DCDP- параллелизмом (parallelism for distinct clauses, edge distinct pair).
Определение 2.1. Дизъюнкты называются смежными, если существует одна или несколько связей, соединяющих литеры одного с литерами другого.
Определение 2.2. Множеством DCDP-связей называется множество связей, которые соединяют пары различных дизъюнктов, если дизъюнкты каждой пары не являются смежными со всеми дизъюнктами остальных пар.
В качестве иллюстрации данных определений рассмотрим выбор множества DCDP-связей для графа связей из примера 2.3 (см. рис. 2.9).
Для рассматриваемого множества дизъюнктов можно записать следующие пары смежных дизъюнктов: {(1),(3)},{(2),(3)},{(8),(4)} и т. д. Таким образом, одним из множеств DCDP-связей будет {Iх, 6х, 9х}. Проверим выполнение условия из определений: связь (Iх) соединяет дизъюнкты (1) и (3), связь (6х) — дизъюнкты (6) и (7), связь (9х) — дизъюнкты (9) и (10). Дизъюнкты (1) и (3) не смежны с (6), (7), (9) и (10); (6) и (7) не смежны с (1), (3), (9) и (10); (9) и (10) не смежны с (1), (3), (6) и (7).
В качестве других примеров множеств DCDP-связей можно привести {2х, 6х, 12х}, {4х, 12х}, {Iх, 6х, 10х}. Сложность оптимального выбора DCDP-связей эквивалентна проблеме оптимальной раскраски графа.
Доказано, что DCDP-параллельная резолюция корректна. Считаем, что исходное множество дизъюнктов не имеет чистых литер и тавтологий. Предварительно построим исходный граф связей. Если граф связей содержит пустой дизъюнкт, то он невыполним и, следовательно, алгоритм достиг конечного состояния. Алгоритм DCDP- параллельной резолюции отличается от алгоритма OR-параллельной резолюции 1-м шагом, на котором, в случае DCDP-параллельной резолюции, происходит выбор множества DCDP-связей и проводится параллельное резольвирование по всем связям из выбранного множества.
Рассмотрим проблему выбора DCDP-связей. Пусть все связи имеют метки. Пусть L — некоторая связь графа связей.
Определение 2.3. Множеством конфликтных с L связей называется множество таких связей, которые не могут быть DCDP- связаны с L.
Определение 2.Д. Множество связей, DCDP-связанных с Z, называется множеством совместимых с L связей.
Данные множества можно формально определить следующим образом:
Cnf (L) = AdjLink (L) |J{|J AdjLink Д,(2.1)
zEAdjLink(L)
где Cnf (L) — множество конфликтных c L связей; AdjLink (L)- множество ребер (исключая Z), соединенных с парой дизъюнктов, инцидентных Z; Cmp (L) = Lset — Cnf (L) — множество совместимых с L связей; Zset — все множество связей графа связей.
Рассмотрим в качестве примера построение множеств Cnf(l') и Стр(1х) = Lset — Cnf(1') для графа связей, изображенного на рис.2.9:
AdjLink (1) = {2х, 3х, 4х}
AdjLink (2) = {Ф,3Х,4Х} AdjLink (3) = {Г, 2', 4'} AdjLink (4) = {Iх, 2х, 3х, 5х, 7х}
Таким образом, Cnf(l') = {Iх, 2х, 3х, 4х, 5х, 7х}, a Cmp(l') = Lset — - Cnf(P) = {6х, 8х, 9х, 10х, 11х, 12х}.
Используя формулу (2.1), можно получить для каждой связи графа конфликтное множество. Затем надо создать раскрашенный граф, в котором каждая вершина соответствует связи исходного графа, и вершины, смежные с вершиной Z, составляют множество конфликтных с L связей в исходном графе.
Вспомогательный граф для графа связей, изображенного на рис. 2.9, показан на рис. 2.10. Каждая вершина имеет номер связи; в скобках указан номер цвета. Таким образом, мы получаем следующие множества одного цвета, что соответствует множествам DCDP-связей: {Iх, 6х, 9х}, {2х, 8х}, {3х, 10х}, {5х, 12х}, {4х}, {7х}, {11х}. Заметим, что при другой расстановке цветов можно получить иные множества DCDP- связей, например: {Iх, 6х, 8х}, {2х, 9х}, {3х, 12х}, {5х}, {4х}, {7х}, {11х}, {10'}.
Рассмотрим модификацию алгоритма DCDP-параллельного вывода. Недетерминизм определения множества DCDP-связей, в принципе, может оказывать влияние на эффективность работы алгоритма. Необходимо напомнить, что при определении множества DCDP- связей необходимо определить дизъюнкты, параллельное резольви- рование которых позволяет максимально упростить граф связей. В
этом случае первостепенное значение приобретает не задача нахождения оптимальной (или субоптимальной) раскраски графа, результатом которой является получение множества внутренне независимых подмножеств графа максимальной мощности (в случае оптимальной раскраски) или получение раскраски, при которой максимальная
мощность множеств вершин одного цвета равна максимальной мощности вершин одного цвета в случае оптимальной раскраски, а задача нахождения множества DCDP-связей, резольвирование которых позволяет упростить граф связей. Так как нахождение всех возможных множеств DCDP-связей, резольвирование по этим связям и определение наиболее подходящего варианта резольвирования является вычислительно неэффективным, необходимо использование эвристик для определения потенциально лучших кандидатов на резольвирование. Для разных видов параллельного вывода можно предложить различные эвристики. Подробно вопрос выбора эвристик будет рассмотрен ниже.
Рассмотрим модификацию процедуры нахождения множества DCDP-связей. Обозначим множество DCDP-связей как DCDPset, а множество связей, которые могут быть потенциально добавлены во множество DCDPset как AVAILset.
Пусть AVAILset = {Множество связей графа связей}.
DCDPset = {}.
На первом шаге работы алгоритма производится оценка связей из множества связей AVAILset по выбранному эвристическому критерию.
После оценивания связей производится сортировка по степени убывания значения оценки. Связь с наибольшим значением оценки — обозначим ее L — удаляется из множества связей AVAILset и добавляется во множество связей DCDPset. Из множества связей AVAILset удаляются также и все связи, соединяющие дизъюнкты, являющиеся смежными с дизъюнктами, которые соединяет связь L. Если множество AVAILset не пусто, то происходит переход на шаг 1.
Таким образом, в результате работы алгоритма мы получаем субоптимальное множество DCDP-параллельно резольвируемых связей.
AND-параллельная резолюция
Определение 2.5. Дизъюнкт, все связи которого резольвируются параллельно, называется SUN-дизъюнктом.
Определение 2.6. Дизъюнкты, соединенные с литерами SUN- дизъюнкта, называются сателлитными.
При AND-параллелизме все связи, соединенные с литерами SUN- дизъюнкта, резольвируются одновременно. Все резольвенты помещаются в граф вместе со всеми наследуемыми связями сателлитных дизъюнктов. SUN-дизъюнкт и все его связи удаляются из графа. Доказана корректность AND-параллельной резолюции.
В резолюции связей унификация комбинируется с выводом. Для ускорения вывода и бектрекинга сохраняются все НОУ. Также необходимо обеспечить корректную унификацию разделенных переменных. Переменная называется разделенной, если она имеет более чем одно вхождение в дизъюнкт. Чтобы формально выразить это, введем несколько обозначений.
Определение 2.7.
U U U U ... U 1п : общий вид SUN-дизъюнкта, где ^ — г-я литера дизъюнкта;
lij V Сг^ : общий вид Дго дизъюнкта, где Uj — j-я литера дизъюнкта, соединенная с г-й литерой SUN-дизъюнкта, а Сгз — остальная часть дизъюнкта;
atj : НОУ для термов пары контрарных литер : /^ в сателлитном дизъюнкте и в SUN-дизъюнкте;
Sv (X) : функция, принимающая значение истина, если переменная X является разделенной переменной для рассматриваемых предикатов, и ложь — в противном случае;
Const (?/) : функция, принимающая значение истина, если аргумент у — константа, и ложь — в противном случае;
Var (?/) : функция, принимающая значение истина, если аргумент у — переменная, и ложь — в противном случае.
Определение 2.8. Комбинация НОУ aij и о"2к непротиворечива, если истинно следующее выражение:
\/x(Sv(x) fc Const(x • aij) fc Const(x • 02k) ^ Д • d\j = x • о"2к))^
^x(Sv(x) к Const(x • oij) к Var(x • сдаДХ/
\/x(Sv(x) fc Const(x • 02k) ^ Уаг(т • o"ij))V
\/x(Sv(x) fc Уаг(т • 02k) ^ Уаг(т • aij)),
где x • а — результат применения подстановки а к переменной х (здесь мы не рассматриваем возможность связи переменной с функциональным термом).
Пример 2.4.
Пусть Р (х, у, г) V Q (х) V D (х, у) — SUN-дизъюнкт и ^Р(щщс) V K(w) и ^Q (г) — сателлитные дизъюнкты. Мы рассматриваем контрарные пары: P(x,y,z) - ^Р(щщс) с НОУ ах = {n/т, v/y, с/г} и Q(t) — ^Q^v) с НОУ <У2 = {г/ж}. В этом случае комбинация НОУ непротиворечива по определению 2.8, так как разделенная переменная х связывается с переменными и и и. Если сателлитные дизъюнкты имеют вид ^P(a,v,c) V Jf(w) и ^Q Qo\ то комбинация НОУ од = {а/т, v/y, с/г} и од = ^Ь/х^ будет противоречивой, так как переменная х связывается с различными константами. Если комбинация сц^ и ^2к непротиворечива, мы можем получить согласованный унификатор.
Определение 2.9. Множество кортежей согласованного унификатора получается следующим образом:
OSV = U
xTESSv
где tt =где tt =Ssv — множеSsv — множе1 а^, если За^ (Const (xi • а^к) = true)если Vc^ (Const (xi • o^k) = false)
где tt =
где tt =
Ssv — множе
Ssv — множе
ство разделенных переменных, ст = crgv U {кортежи для неразделенных переменных}. Резольвентой в этом случае является С1^ есуХ/С^ *су .
Для каждого НОУ переменные SUN-дизъюнкта, которые связаны
с одной и той же переменной сателлитного дизъюнкта, сохраняются во множестве, называемом «var-of-same-inst». НОУ может иметь более
одного такого множества.
Рассмотрим общий случай, когда множество var-of-same-inst не пусто. Будем использовать обозначение var-of-same-inst[I, а] для ссылки на 1-е множество переменных унификатора а, таких, которые должны быть связаны с одним и тем же значением. Пусть group 1 и group 2 содержат все множества var-of-same-inst унификаторов aij и ^2к соответственно. Пусть Xi Е group 1 и Х2 Е group2. Для любых xi и Х2, если xi И Х2 т^ 0, то должна быть по крайней мере одна переменная, общая для xi и Х2- Следовательно, Xi и Х2 комбинируются
для формирования нового множества var-of-same-inst согласованного унификатора для a-^j и^ь
Пример 2.5.
Пусть имеются следующие множества var-of-same-inst:
var-of-same-inst[l,aij] = ^1^2^ var-of-same-inst[2,aij] = {1/3^4}^ var-of-same-inst^aij^ = {1/5, ув^ var-of-same-inst[l,a2k] = {^/х^б}, var-of-same-inst[1, o"2k\ = {^/2,^/7}, groupl = {{У1,У2},{УЗ,У4},{У5,Уб}}, groups = {{У1,Уб},{У2,У7}}-
Обе группы не пусты. Следовательно, мы начинаем с ад = ^ухчУ^ из group 1. Каждое множество из group 2 имеет общую переменную с group 1 и, следовательно, помечается. Создается новое множество new-same-inst [1, а] = fy\ . узйУв- УтУ Помеченные множества из group 1 и group 2 удаляются. Теперь множества выглядят следующим образом: groupl = {{yi,у2}, {уз,У4}},group2 = { }.
Оставшиеся в group 1 множества проверяются на наличие общих с множеством new-same-inst[1, а] переменных. Множество ^у^Ув^ имеет такие переменные, и оно включается в new-same-inst[1, а]. Затем множество {х/б^б} удаляется из groupl. Так как group 2 пуста, алгоритм заканчивается со следующим результатом: new-same-inst [1, а] = = {У1,У2,Уб,Уб,У7}, new-same-ms^l, <т] = {у3,У4}-
Если все переменные во множестве new-same-inst связаны с термами -переменными унификаторов aij и с^ь то они непротиворечивы. Если, по крайней мере, одна переменная во множестве new-same-inst связана с константным термом, остальные переменные множества должны быть связаны либо с тем же самым константным термом, либо с термом-переменной пары унификаторов.
Этот алгоритм может быть распространен на любое число унификаторов для любого числа дизъюнктов.
Алгоритм AND-параллельной резолюции отличается от алгоритма OR-параллельной резолюции 1-м шагом, на котором, в случае AND-параллельной резолюции, происходит выбор SUN-дизъюнкта и вычисление комбинации унификаторов всех связей SUN-дизъюнкта как результат непротиворечивого связывания общих переменных. Согласование НОУ всех связей может быть сделано параллельно. Для каждого согласованного НОУ вычисляются соответствующие резольвенты. После этого SUN-дизъюнкт удаляется.
Рассмотрим выбор множества AND-связей для графа связей из примера 2.3 (см. рис. 2.9). Допустимыми множествами AND-связей яв-
ляются, например, {5', 4', 7'} (SUN-дизъюнкт - дизъюнкт 5) и {5х, 6'} (SUN-дизъюнкт - дизъюнкт 6).
Модификация процедур параллельного вывода
Принципы создания эвристической функции
Как было указано выше, при выборе связи для резольвирования в графе связей можно использовать различные эвристические функции оценки. В случае параллельного резольвирования необходимо делать выбор множества связей, отвечающих некоторым условиям. Стоит отметить, что неудачный выбор связи может привести к экспоненциальному росту количества дизъюнктов при решении сложных задач, что сделает процедуру вывода практически непригодной. В то же время удачный выбор связи может значительно увеличить эффективность процедуры вывода. Например, резольвирование единственной связи предикатной литеры в дизъюнкте приведет к появлению так называемого «чистого» дизъюнкта, который должен быть удален. Удаление «чистого» дизъюнкта в свою очередь может привести к каскадному удалению других дизъюнктов и к эффекту «снежного кома». В результате структура графа связей может значительно упроститься. Рассмотрим основные принципы, которых необходимо придерживаться при создании эвристических функций оценки связи:
число литер в резольвируемых дизъюнктах должно быть по возможности минимальным;
число связей у резольвируемых дизъюнктов должно быть минимальным;
число связей у литер, по которым резольвируются дизъюнкты, должно быть минимальным;
НОУ резольвируемой связи должны иметь подстановки вида с/х, где с — константный или функциональный терм, х — переменная.
Поясним смысл каждого из принципов.
Принцип (1) служит для упрощения результирующего графа связей, так как дизъюнкты с малым числом литер, как правило, имеют меньшее число связей. Также резольвирование по дизъюнктам, имеющим малое количество литер, позволяет получить однодвулитеральные дизъюнкты, которые могут быть эффективно использованы в дальнейшем процессе вывода.
Принцип (2) также служит для упрощения результирующего графа связей, так как резольвирование дизъюнктов с малым числом связей после резольвирования приводит к получению дизъюнктов также с малым числом связей.
4 В.Н. Вагин и др.
Принцип (3) отдает предпочтение связям, резольвирование которых позволяет получить «чистые» дизъюнкты, а при их удалении значительно упрощается структура графа связей.
То же самое можно сказать и о принципе (4) — при резольвирова- нии по связи, содержащей подстановку константы вместо переменной, мы получаем в результате дизъюнкт, содержащий константные термы. Подобный дизъюнкт имеет, во-первых, малое число связей, а во- вторых, может быть эффективно использован при резольвировании.
Отметим, что из всех типов параллельного вывода наиболее требовательным к выбору эвристики является DCDP-параллельный вывод. Это объясняется наименьшими требованиями DCDP-параллельного вывода к выбору резольвируемого дизъюнкта (дизъюнктов). При OR- резольвировании мы резольвируем все связи одной из литер OR- дизъюнкта. При AND-резольвировании мы резольвируем по всем связям SUN-дизъюнкта. Таким образом, нельзя исключить из выбранного множества связей те связи, резольвирование по которым на данном шаге может оказаться бесполезным или малоэффективным. Естественно, при выборе дизъюнкта в AND-параллельном резольвировании или предикатной литеры в OR-параллельном выводе, используются различные функции эвристической оценки, но данные оценки распространяются на все множество связей в целом, в то время как при DCDP-параллельном выводе происходит последовательный отбор связей, и на каждом шаге добавляется связь, удовлетворяющая условиям и имеющая иаилучшее значение оценки.
При разработке процедур вывода было проанализировано и испытано несколько возможных эвристических функций. Рассмотрим некоторые из них и приведем полученные результаты. В описанной ниже эвристической функции Н1 учитываются все принципы (1)-(4).
Эвристическая функция Н1
При создании эвристической функции Н1 функция оценки связи была представлена как линейная комбинация функций оценки объектов, входящих в связь (унификатор, дизъюнкты и предикатные литеры, участвующие в связи).
Пусть WeightLink — значение эвристической оценки для связи. Тогда:
WeightLink = Clause • (ClauseiHeur + Clause2Heur) + UniHeur • &uni +
+ Ajpred ' (PrediHeur T P^ed2Heur)?
где ClauseiHeur — значение эвристической оценки первого дизъюнкта; Clause2Heur — значение эвристической оценки второго дизъюнкта; UniHeur — значение эвристической оценки унификатора связи; PrediHeur — значение эвристической оценки предикатной литеры из
первого дизъюнкта, участвующей в связи; РгесЬнеиг ~ значение эвристической оценки предикатной литеры из второго дизъюнкта, участвующей В связи; fcuni, A:clause, Ajpred ^ [1; ЮО] — ПрОИЗВОЛЬНЫе КОЭффициенты.
Поясним введенные обозначения более подробно.
Вычисление эвристической оценки дизъюнкта. Эвристическая функция оценки должна учитывать изменения характеристик графа связей в процессе вывода (например, изменение количества связей и количества литер в дизъюнктах). Рассмотрим следующую эвристическую функцию оценки дизъюнкта, учитывающую принципы (1) и (2):
ClauseHeur = &1 * ClauseNumberOfLiterals + k2 • ClauseNumberOfLinks, где ClauseNumberOfLinks — число связей дизъюнкта; ClauseNumberOfLiterals — число предикатных литер дизъюнкта; ky, k^ — произвольные коэффициенты, выбираемые перед началом работы алгоритма, исходя из таких характеристик графа, как среднее число литер и связей для дизъюнкта.
Пусть, например, среднее число литер для дизъюнкта равно 1,8, а среднее число связей равно 3,6. Тогда в качестве значений коэффициентов ку и к^ можно выбрать ку = 3,6/1,8 = 2иА:2 = 1. В этом случае оба принципа (1) и (2) учитываются в одинаковой степени. В процессе вывода значения характеристик могут изменяться. В этом случае первоначально выбранные значения коэффициентов «устаревают», и один из принципов получает больший вес, чем другой. Для того, чтобы избежать подобной ситуации, необходимо изменять значения коэффициентов в процессе вывода.
Введем следующие обозначения:
AverageLinkCount — среднее число связей для дизъюнкта;
AverageClauseLength — среднее число предикатных литер в дизъюнкте.
Тогда можно предложить следующие значения коэффициентов ку и ^: ку = AverageLinkCount/AverageClauseLength и к2 = 1. В этом случае оба принципа (1) и (2) учитываются одинаково на протяжении всего процесса вывода. Окончательный вид эвристической функции оценки дизъюнкта:
AverageLinkCount_
ClauseHeur = ч7-ClauseNumberOtLiterals+
AverageClauseLength
+ ClauseNumberOfLinks.
Вычисление эвристической оценки унификатора. Эвристическая оценка унификатора обязана учитывать принцип (4)
(унификаторы резольвируемой связи должны иметь подстановки вида с/х, где с — константный или функциональный терм, х — переменная). Также эвристическая функция учитывает изменение значений характеристик графа.
Пусть UniHeur — значение эвристической оценки для унификатора. Тогда вычисляем значение UniHeur следующим образом:
.AverageLinkCount
niHeur ^ NumberOfConstantSubst + NumberOfFuncSubst ’
где NumberOfConstantSubst — число подстановок в унификаторе вида {с/х}, (с — константный терм, ах — переменная); NumberOfFuncSubst — число подстановок в унификаторе вида {//х}, (/ — функциональный терм, ах — переменная).
Вычисление эвристической оценки предикатной литеры. Эвристическая оценка предикатной литеры обязана учитывать также принцип (3) (число связей у литер, по которым резоль- вируются дизъюнкты, должно быть минимальным), а сама эвристическая функция учитывает изменение значений характеристик графа.
Пусть Ргебнеиг — значение эвристической оценки для предикатной литеры. Тогда вычисляем значение Ргебнеиг следующим образом:
Ргебнеиг = PredNumberOfLinks • AverageClauseLength,
где PredNumberOfLinks — число связей предикатной литеры.
Выбор коэффициентов. Коэффициенты fcuni, Ayiause, ^pred выбираются опытным путем. При моделировании были выбраны следующие отношения коэффициентов: /cuni = /cpred = (1/Ю) • Ayiause. При данном соотношении коэффициентов больший вес придается принципам (1) и (2).
Таким образом, в эвристической функции Н1 учитываются все принципы (1)-(4), причем существует возможность изменения весов каждого из этих принципов. Также учитываются возможные изменения характеристик графа.
Применение эвристической функции Н1 позволило улучшить эффективность работы алгоритмов параллельного вывода на задачах практической сложности.
Применение эвристической функции Н1 при решении задачи« Стимроллер »
В данном разделе остановимся более подробно не на результатах, а на процессе работы алгоритмов параллельного дедуктивного вывода на задаче «Стимро л лер».
Задача «Стимроллер» была сформулирована Шубертом в 1978 г. в качестве тестовой для систем автоматического доказательства теорем
и подробно рассмотрена Стикелем. Она заключается в нахождении логической корректности следующего рассуждения.
Существуют волки, лисы, птицы, гусеницы и улитки. (2) Волки, лисы, птицы, гусеницы и улитки — животные. (3) Существуют злаки. (4) Злаки — растения. (5) Каждое животное либо ест все растения, либо ест всех животных, которые меньше него и едят некоторые растения. (6) Гусеницы и улитки меньше птиц. (7) Птицы меньше лис. (8) Лисы меньше волков. (9) Волки не едят лис и злаки. (10) Птицы едят гусениц. (11) Птицы не едят улиток. (12) Гусеницы и улитки едят некоторые растения. Следовательно, (13) существует животное, которое ест некоторых питающихся злаками животных.
Запишем условие задачи «Стимроллер» на языке исчисления предикатов первого порядка. Каждое из понятий можно представить соответствующим предикатом. Введем предикаты, которые будем использовать при формальном доказательстве.
А(Х) : X — животное;
В(Х) : X — птица;
С(Х) : X — гусеница;
Е(Х) : X - лиса;
G(X) : X - злак;
Р(Х) : X — растение;
S(X) : X — улитка;
W^ : X - волк;
Е(Х,У) : X ест У;
М(Х, У) : X меньше, чем У.
Множество посылок задачи может быть записано следующим образом:
TK(w) (Существуют волки)
F(f) (Существуют лисы)
В(Ь) (Существуют птицы)
С (с) (Существуют гусеницы)
S(s) (Существуют улитки)
G^ (Существуют злаки)
^ТУ (X) V А(Х) (Волки — животные)
^F(X) V А(Х) (Лисы — животные)
^В(Х) V А(Х) (Птицы — животные)
^С(Х) V А(Х) (Гусеницы — животные)
^5(Х) V А(Х) (Улитки — животные)
^G(X) V Р(Х) (Злаки — растения)
13)13)14)15)16)17)18)19)20)21)22)23)24)25)14)15)16)17)18)19)20)21)22)23)24)25)-А(Х)V^A(Z)V^P(Y) V^P(K) VE(X, У)V^M(Z, X)V^E(Z, V)V \/Е(Х, Z) (Каждое животное либо ест все растения, либо ест всех животных, которые меньше него и едят некоторые растения)
13)
13)
14)
15)
16)
17)
18)
19)
20)
21)
22)
23)
24)
25)
14)
15)
16)
17)
18)
19)
20)
21)
22)
23)
24)
25)
-^С(Х) V -^B(Y) V М(Х^ У) (Гусеницы меньше птиц)
'S(X) V ^B(Y) V М(Х, Y) (Улитки меньше птиц) 'В(Х) V ^F(Y) V M(X,Y) (Птицы меньше лис) 'F(X) V ^ГГ(У) V М(Х, Y) (Лисы меньше волков) 'ИДХ) V ^F(Y) V ^E(X,Y) (Волки не едят лис) 'ИДХ) V ^G(Y) V ^E(X,Y) (Волки не едят злаки) 'В(Х) V ^C(Y) V Е(Х, Y) (Птицы едят гусениц) 'В(Х) V ^S(Y) V ^E(X,Y) (Птицы не едят улиток)
^C(X)V Р(ЦХ))^C(X)V Е(Х,ЦХ)) ^VP^X)) В(Х) V Е(ХДХ))^C(X)V Р(ЦХ))^C(X)V Е(Х,ЦХ)) ^VP^X)) В(Х) V Е(ХДХ))^(Гусеницы едят некоторые растения) ^(Улитки едят некоторые растения)
^C(X)V Р(ЦХ))
^C(X)V Е(Х,ЦХ)) ^VP^X)) В(Х) V Е(ХДХ))
^C(X)V Р(ЦХ))
^C(X)V Е(Х,ЦХ)) ^VP^X)) В(Х) V Е(ХДХ))
где X, У Z. V — переменные, w, /Д, с, s, g — константы, h и г — сколе- мовские функции.
Заключение задачи можно записать следующим образом: 3X3Y(A(X) к A(Y) к (Е(Х, Y) к 3Z(G(Z) к Е^ Z)))) или его отрицание в виде
26) -А^ V -А(У) V -G(Z) V -Е(Х, У) V ^E(Y, Z) (Не существует животного, которое ест некоторых, питающихся злаками, животных)
Необходимо отметить, что существует несколько вариантов записи дизъюнкта для заключения задачи «Стимроллер».
Задача «Стимроллер» характеризуется экспоненциальным ростом пространства поиска, поэтому для эффективной работы при решении данной задачи процедура вывода должна, во-первых, по возможности сокращать множество дизъюнктов и, во-вторых, выбирать наилучшие, или близкие к наилучшим, связи для резольвирования. (Под наилучшими связями мы понимаем связи, резольвирование по которым приближает нас к решению задачи).
Очевидно, что программы автоматического доказательства теорем не всегда принимают оптимальные решения на различных этапах процесса доказательства. Для эффективного решения задач во многих случаях требуется дополнительная информация об исходном множестве дизъюнктов. Нами была сделана попытка создания мощной процедуры дедуктивного вывода, не требующей дополнительной информации для решения поставленной задачи. Для этого процедура дедуктивного вывода на графе связей была распараллелена. Кроме того, были разработаны эвристические функции оценки связи.
В результате сравнения выясняется, что «ход рассуждения» автоматической процедуры мало совпадает с человеческим. Человек при решении старается разбивать задачу на подзадачи и делать общие, а не частные выводы (например, «Волки не едят растения» или «Птицы едят растения»). Автоматическая же процедура вывода пытается получить множество частных фактов (например, «Лиса / ест птицу Ь») и пробует найти доказательство путем подстановки частных фактов в исходные посылки. Данный факт говорит о том, что при создании процедур не удалось произвести хотя бы приблизительное моделирование хода рассуждений человека.
Несмотря на это, на некоторых шагах резольвирования процедуры вывода принимали верные решения. Например, в процессе решения задачи методом OR-параллельного вывода было получено следующее множество дизъюнктов:
s = (i)us",
где
= ^А^ V ^Р V ^Р^ V Е^е g) V ^му, X) V Е(Х, /),S' =w), A(w), A(f), P(g), ^E(w, П,g)}.
Очевидно, что данное множество дизъюнктов является невыполнимым, и доказательство этого сводится к поочередному резольви- рованию дизъюнкта 1 и дизъюнктов из подмножества S'. Но данное множество является подмножеством общего множества дизъюнктов, в которое входит около 200 дизъюнктов. Таким образом, нахождение именно этого невыполнимого подмножества и его последовательное опровержение является сложной задачей для процедуры автоматического доказательства теорем. Однако процедура OR-параллельного опровержения смогла найти это подмножество и доказать его невыполнимость максимально коротким способом.
Процедура AND-параллельного вывода нашла доказательство при обработке множества из 225 дизъюнктов, встретив дизъюнкты
^W(X) V -G^ V -В^ V -F^
W(w)
F(n
B(b)
G^
Процедура DCDP-параллельного вывода показала наилучшие результаты и получила больше всего фактов, совпадающих с человеческим ходом рассуждений. Это объясняется наибольшей чувствительностью процедуры DCDP-вывода к выбору эвристической функции.
Несмотря на выбор неоптимальных связей для резольвирова- ния, процедуры параллельного вывода показали неплохие результаты. Количество промежуточных дизъюнктов для процедуры DCDP- параллельного резольвирования составило 200, а количество унификаций — 2200. На некоторых шагах резольвирования, как было указано выше, процедуры вывода действовали весьма «разумно». Таким образом, выбор эвристической функции Н1 повысил эффективность процесса вывода.
Сравнение эффективности
Сравнение процедур вывода является сложной задачей. Математический анализ эффективности редко применим, поэтому обычно используется сравнительный анализ алгоритмов на основе результатов работы алгоритмов на наиболее известных задачах логического программирования. К таким задачам относятся задачи «Задача о N ферзях» (при N > 10), «Ханойские башни» (при количестве башен п > 5), а также задача «Стимроллер».
В данной ситуации особое значение приобретает способность алгоритма проводить направленный вывод, не генерировать излишних дизъюнктов, а также быстро определять кандидатов на резольвиро- вание и получать соответствующую резольвенту. Подобным требованиям удовлетворяют алгоритмы дедуктивного вывода на графах связей, так как пространство поиска на каждом шаге является легко обозримым (в графе одновременно хранится информация обо всех кандидатах на резольвирование), дизъюнкты, которые не могут результативно участвовать в процессе вывода (дизъюнкты с чистыми литерами — литерами без связей), удаляются из графа связей вместе со всеми связями, значительно упрощая его структуру. Быстрота вывода обеспечивается однократным вычислением и постоянным хранением унификатора для каждой связи. Также достоинством процедуры вывода на графе связей является возможность адаптации существующих алгоритмов для вывода на графе связей, что позволяет комбинировать достоинства существующих алгоритмов вывода и алгоритмов вывода на графах связей. Недостатками процедуры вывода на графе связей являются необходимость пересчета графа связей на каждом шаге резольвирования с вычислением новых связей и унификаторов и необходимость хранения всего графа связей в оперативной памяти. Параллельный вывод на графах связей позволяет частично решить проблему необходимости пересчета графа на каждом шаге резольвирования, так как одновременно резольвируются несколько связей. Недостатком процедур параллельного вывода является генерация некоторого количества бесполезных, лишних дизъюнктов, что вытекает из самого принципа организации параллельного вывода, когда резольвируются все связи одновременно. В данной ситуации
является целесообразным резольвировать те множества связей, удаление которых после резольвирования позволит максимально упростить граф связей.
Подобная попытка, путем введения эвристической функции выбора следующей связи, была реализована в алгоритме параллельного резольвирования.
Ниже рассмотрены результаты работы нескольких алгоритмов дедуктивного вывода на графе связей, разработанных другими авторами, на тестовой задаче «Стимроллер». Результаты вывода без использования многосортных логик для задачи «Стимроллер» представлены на рис. 2.11а, б.
а) Количество успешных унификацийа) Количество успешных унификаций■ Stickel/CG-SOS-TR■ Stickel/CG-SOS-TRЦЦ McCune/URЦЦ McCune/URб) Количество промежуточных дизъюнктовб) Количество промежуточных дизъюнктовAND-параллельный вывод на графе связейAND-параллельный вывод на графе связей
а) Количество успешных унификаций
а) Количество успешных унификаций
■ Stickel/CG-SOS-TR
■ Stickel/CG-SOS-TR
ЦЦ McCune/UR
ЦЦ McCune/UR
б) Количество промежуточных дизъюнктов
б) Количество промежуточных дизъюнктов
AND-параллельный вывод на графе связей
AND-параллельный вывод на графе связей
□ Stickel/CG|| Stickel/CG-TR□ Stickel/CG|| Stickel/CG-TRЦЩ McCune/LUR■ DCDP-параллельный вывод на графе связейЦЩ McCune/LUR■ DCDP-параллельный вывод на графе связей■ OR-параллельный вывод на графе связей■ OR-параллельный вывод на графе связей■ Последовательный вывод на графе связей■ Последовательный вывод на графе связей
□ Stickel/CG
|| Stickel/CG-TR
□ Stickel/CG
|| Stickel/CG-TR
ЦЩ McCune/LUR
■ DCDP-параллельный вывод на графе связей
ЦЩ McCune/LUR
■ DCDP-параллельный вывод на графе связей
■ OR-параллельный вывод на графе связей
■ OR-параллельный вывод на графе связей
■ Последовательный вывод на графе связей
■ Последовательный вывод на графе связей
Рис. 2.11. CG — стратегия вывода с использованием графа связей. SOS — вывод на графе связей с использованием целевого утверждения, как множества поддержки. TR — вывод с использованием Theory Links, которые являются расширением стандартного метода резолюции. UR — Вывод с использованием Unit-резолюции — модификации метода резолюции. LUR — Вывод с использованием Linked Unit-резолюции — модификации метода UR-резолюции
Приведенные результаты нуждаются в пояснении. Как показано Стикелем, к данным по сравнению эффективности алгоритмов стоит
относиться весьма осторожно, так как в различных реализациях одни и те же характеристики могут вычисляться по-разному. Особенно это касается временных характеристик, так как они крайне зависят от языка реализации и конфигурации машины, на которой проводился вывод. Весьма сложно сравнивать производительность символьной LISP-машины и компьютера с архитектурой PC. Поэтому в работу не были включены результаты сравнения временных характеристик программ вывода.
Такие характеристики, как число промежуточных дизъюнктов и число унификаций, являются более общими, но и к их использованию стоит относиться внимательно. Например, некоторые из использованных методов позволяют получать резольвенту путем одновременного резольвирования по нескольким дизъюнктам, поэтому такая характеристика, как число промежуточных дизъюнктов меняет свой смысл. В случае использования алгоритмов параллельного вывода может быть более полезным использование характеристики «количество шагов вывода», так как на каждом шаге резольвирования мы можем получить больше чем один дизъюнкт.
Количество успешных унификаций также не является универсальной характеристикой для оценки эффективности, так как в этом случае не учитывается количество неудачных попыток унификации и не рассматривается проблема нахождения произведения унификаторов. В графе связей, как было сказано выше, нет необходимости в нахождении контрарных пар для полученных дизъюнктов резольвент, так как они наследуют связи дизъюнктов-родителей, а унификаторы новых связей вычисляются путем объединения унификатора связи, по которой проводилось резольвирование, и унификатора связи дизъюнкта- родителя. Задача умножения унификаторов требует определенных вычислительных затрат, но никак не учитывается при получении характеристики «Количество успешных унификаций».
Таким образом, приведенная статистика является лишь приблизительным инструментом для сравнения алгоритмов вывода. Некоторое отставание процедур вывода, реализованных в программе, от лучших алгоритмов других авторов не позволяет говорить о неэффективности разработанных алгоритмов. Наоборот, показанные результаты свидетельствуют о достаточно высокой эффективности процедур параллельного вывода, так как они сопоставимы по производительности с лучшими разработками в плане создания эффективных процедур дедуктивного вывода. В качестве достоинств процедуры параллельного вывода на графе связей стоит отметить простоту реализации, возможность модификации с помощью применения эвристических функций оценки, умение работать с исходным множеством дизъюнктов без выделения дизъюнктов-аксиом и дизъюнктов-целей, без предварительного упорядочивания предикатных литер в дизъюнкте,
в то время как алгоритмы других авторов требуют выделения данных параметров и более сложны в реализации.
Необходимо отметить зависимость работы алгоритмов от структуры графа связей. В графах связей с большой удельной связностью, для которых мощность множества DCDP-связей мала, наилучшие результаты показываются при использовании алгоритма OR- параллельной резолюции. В случае низкой связности графа связей наилучшие результаты дает использование DCDP-параллельного вывода. AND-параллельный вывод показывает наилучшие результаты, когда имеется множество однолитеральных дизъюнктов и SUN- дизъюнкт с большим количеством литер. Таким образом, наиболее мощной модификацией алгоритма параллельного дедуктивного вывода на графе связей было бы сочетание одновременно OR-, DCDP- и AND-параллелизма, с выбором каждого из вариантов в зависимости от значения эвристической оценки для множества выбранных связей.
Полученные результаты свидетельствуют о том, что процедура параллельного вывода является одной из наиболее эффективных и может применяться при решении задач практической сложности.
Система параллельного вывода PIS (ParallelInference System) на графе связей
Система PIS является законченным программным комплексом, позволяющим вводить и обрабатывать множества дизъюнктов, а также наблюдать за ходом доказательства в формульном или графическом виде.
Процесс обработки исходного множества дизъюнктов начинается с его ввода в систему в виде текстового файла определенного формата или ввода в специализированном встроенном редакторе. После того, как множество дизъюнктов введено, по желанию пользователя можно выбрать метод доказательства теорем: последовательный, DCDP-, OR- или AND-параллельный. Данная система разрабатывалась как обучающая и демонстрационная, и настройка системы по автоматическому выбору подходящего параллельного метода разработана в виде дополнительной функции.
Процесс доказательства отображается на экране в виде трансформируемого на каждом шаге множества дизъюнктов или в виде графа связей. По желанию пользователя возможно дублирование вывода результатов работы системы в виде текстового файла. Также можно выбрать шаг, с которым пользователь просматривает результаты.
В связи с ограниченным пространством и разрешающей способностью экрана, просмотр результатов в графическом виде возможен лишь для небольших задач, что в точности соответствует обучающим и демонстрационным целям данной разработки.
Однако отсутствие визуального представления для сложных задач не означает невозможности их решения. Расширение системы PIS за счет надстройки автоматического выбора метода решения и математического препроцессора позволяет использовать ее для решения задач практической сложности. Более подробно вопрос о необходимости реализации такого препроцессора и результатах его использования будет рассмотрен ниже.
Процесс доказательства теорем в системе PIS заканчивается в случае окончания выполнения алгоритма или при желании пользователя прервать работу. При успешном завершении процесса пользователь либо получает сообщение о выводе пустого дизъюнкта, либо видит результат работы в виде полученного дизъюнкта ANS (список параметров) (от английского answer — ответ).
Автоматический выбор параллельных методов вывода
На каждом шаге необходимо принимать решение о том, какой из параллельных методов следует применять. Сначала проверяется возможность применения DCDP-параллельной резолюции. Для этого строится вспомогательный граф (см. разд. 2.4.2) и находятся максимальные по мощности DCDP-множества. Если их мощность равна 1, то следует рассмотреть возможность применения ОН- и AND- параллельной резолюции. В случае, если при выборе дизъюнктов при резольвировании удаляется только одна связь, возникает необходимость сделать один шаг с использованием последовательного метода.
Рассмотрим работу надстройки автоматического выбора параллельного метода на примере решения тестовой задачи раскраски карты.
Пример 2.6.
Исходное множество дизъюнктов задачи о раскраске карты:
0) ^N(x, у) V ~^N(y, z) V ~^N(x, z) V C(x^ у, z)}
№)}
{W(g,r)}
№$
№}
{N^bW
^C^ y^z)}^ где x^z — переменные, r,b,g — константы, обозначающие цвета красный, голубой и зеленый.
Строим вспомогательный граф. Все DCDP-множества имеют мощность, равную единице. Следовательно, DCDP-параллельный алгоритм не дает преимуществ по сравнению с последовательным алгоритмом. Используем AND-параллельный алгоритм. В качестве SUN- дизъюнкта берется 0-й дизъюнкт (как имеющий больше всего связей). НОУ: r/x^b/y^g/z.
Таким образом, за один шаг получен пустой дизъюнкт.
Математический препроцессор
Необходимость математического препроцессора для обработки множества дизъюнктов становится очевидной, если рассмотреть задачи, классическим примером которых может служить «задача о восьми ферзях». Более того, любая задача, требующая выполнения некоторых математических действий для проверки истинности условий, не может быть оптимально решена без такого препроцессора, а в некоторых случаях решение вообще невозможно.
Математический препроцессор базируется на распознавании на этапе предварительной обработки некоторого множества встроенных или введенных функций. В качестве базисных используются элементарные арифметические функции: сложение (ADD), вычитание (SUB), деление (DIV), умножение (MUL), взятие по модулю (ABS), а также суперпозиции элементарных арифметических функций: функции модуля суммы (AADD), модуля разности (ASUB), модуля частного (ADIV), модуля произведения (AMUL); операции сравнения на: равенство (EQ), неравенство (NEQ), меньше (LT) и больше (GR), а также логические функции NOT, AND и OR. Операндами в арифметических функциях могут быть числовые константы и переменные, принимающие числовые значения. Те из арифметических операций, которые дают числовой результат, могут также использоваться в качестве операндов. Операндами в логических функциях могут быть те константы и переменные, которые принимают логические значения. Операции сравнения дают логический результат и могут быть использованы в качестве операндов в логических функциях. Логические функции тоже могут быть использованы в них в качестве операндов. Логические функции могут также являться функциями- ограничениями на резольвирование для того или иного дизъюнкта. В этом случае функция присоединяется к дизъюнкту при помощи логической операции & . Тогда запись дизъюнкта выглядит следующим образом: {(<исходный дизъюнкт>) & (<функция-ограничение>)}.
Определение 2.10. Функция называется означенной полностью, если в ней нет операндов-переменных.
Нетрудно заметить, что для означенной полностью логической функции всегда может быть вычислено ее значение.
Резольвирование дизъюнктов с функциями-ограничениями производится только при условии, что функция означена не полностью или означена полностью и имеет значение true. В первом случае резольвирование производится по обычным правилам, так как в этом случае функция-ограничение воспринимается только препроцессором, а для остальных процедур «видим» только сам исходный дизъюнкт. Однако процедура применения подстановки выполняется как для исходного дизъюнкта, так и для функции-ограничения.
Если функция означена полностью и имеет значение true, то она удаляется, и дизъюнкт приобретает стандартный вид. В том случае, если функция означена полностью и имеет значение false, то дизъюнкт удаляется из множества дизъюнктов как не соответствующий своим ограничениям.
Рассмотрим в качестве примера задачу о четырех ферзях. Условие того, что ферзь X — У не бьет ферзя XI — У1, можно записать в следующем виде: У не равен У1 и У1 — У не равен модулю XI — X (при условии, что мы задаем шаблон для расположения ферзей по оси X и XI = 1, Х2 = 2, ХЗ = 3, Х4 = 4).
Запишем это условие для распознавания в препроцессоре. Оно будет иметь следующий вид: AND(NEQ(y, У1), NEQ(ASUB(yi, У), SUB(X1,X))).
Тогда множество дизъюнктов для задачи о четырех ферзях можно записать следующим образом:
Пример 2.7.
^queenfl, 1)}
^queen(l, 2)}
^queenfl, 3)}
^queenfl, 4)}
^queen(2,1)}
^queen(2, 2)}
^queen(2, 3)}
^queent^, 4)}
{gneen(3,1)}
^queen(3, 2)}
^queert(3, 3)}
^queen(3, 4)}
^queert(4,1)}
^queert(4, 2)}
\queerf4, 3)}
^queen(4, 4)}
{(-|(щееп(1,У0) V -^queen(2,Yl) V -^queen(3,Y2) V -^queen(4,Y3)V V А№(У0,У1,У2,УЗ)) & (AND(NEQ(yO,У1), NEQ(ASUB(yi,У0), 1)) & AND(NEQ(yO, У2), NEQ(ASUB(y2, У0), 2)) & AND(NEQ(yO, УЗ), NEQ(ASUB(y3,yO), 3)) & AND(NEQ(yi, У2), NEQ(ASUB(y2,
У1), 1)) & AND(NEQ(yi,y3), NEQ(ASUB(y3, У1), 2)) & AND(NEQ(E2, УЗ), NEQ(ASUB(y3, У2), 1)))}, где сначала задаются все возможные расположения ферзей на поле 4 х 4, а затем описывается правило их расстановки, причем функции имеют в данной ситуации смысл ограничений.
На каждом шаге препроцессор просматривает множество дизъюнктов, чтобы выполнить все математические операции. Как только найдена функция со всеми означенными операндами, препроцессор выполняет действия над ними и меняет функцию на ее результат. Это приводит к тому, что другие функции становятся означенными и т. д. до тех пор, пока не останется больше неозначенных функций.
Например, если на TV-м шаге после резольвирования последнего дизъюнкта и дизъюнкта {gueen(l, 3)} (НОУ(3/УО)) была получена резольвента
{(^иееп(2,У1) V ^пееп(3, У2) V -^queen(4,Y3)V А№(3,У1,У2, УЗ)) & (AND(NEQ(3,yi), NEQ(ASUB(yi,3), 1)) & AND(NEQ(3, У2), NEQ(ASUB(y2,3), 2)) & AND(NEQ(3,УЗ), NEQ(ASUB(y3,3), 3)) & AND(NEQ(yi,y2),NEQ(ASUB(y2,yi), 1)) & AND(NEQ(yi, УЗ), NEQ(ASUB(y3,yi),2)) & AND(NEQ(y2, УЗ), NEQ(ASUB(y3, YP, 1)))}
то препроцессор не может ничего упростить. Однако, если на следующем шаге резольвировать полученный дизъюнкт (К) и дизъюнкт ^queen(2,1)} (НОУ{1/У1}), то резольвента (К + 1), имеющая вид
{Цдиееп(3,У2) V ^иееп(4,¥3^ ANS(3,1, У2, УЗ)) & & (AND(NEQ(3, 1), NEQ(ASUB(1, 3), 1)) & AND(NEQ(3, У2), NEQ(ASUB(y2,3), 2)) & AND(NEQ(3, УЗ), NEQ(ASUB(y3,3), 3)) & & AND(NEQ(l,y2), NEQ(ASUB(y2,1), 1)) & AND(NEQ(1,УЗ), NEQ(ASUB(y3,l), 2)) & AND(NEQ(y2, УЗ), NEQ(ASUB(y3, У2), 1))) } (^ + U
может быть упрощена во время работы препроцессора, так как AND(True,NEQ(ASUB(l,3),l)) = AND(True, NEQ(2,1)) = = AND(True, True) = True и, следовательно, (К + 1) будет иметь ВИД
{(^иееп(3,У2) V ^иееп(4,УЗ)У ANS(3,1, У2, УЗ)) & & (AND(NEQ(3,y2), NEQ(ASUB(y2,3), 2)) & AND(NEQ(3, УЗ), NEQ(ASUB(y3,3),3)) & AND(NEQ(1, У2), NEQ(ASUB(y2,1), 1)) & & AND(NEQ(l,y3), NEQ(ASUB(y3,l), 2)) & AND(NEQ(y2, УЗ), NEQ(ASUB(y3, У2), 1))) } (K + 1).
Для того, чтобы ускорить процесс вычисления, в системе предусмотрен ввод нестандартных функций. Для этого объявляется перечень имен и тел функций в определенном формате. Тело функции пишется в нотации языка Си и затем компилируется в системе.
Рассмотрим в качестве примера описанную выше задачу о четырех ферзях. Введем функцию-ограничение CORRECT (У О, У1, У 2, УЗ). Ее тело можно записать в нотации языка Си следующим образом:
{ге1игп((У0 != У1) && (abs(Ul-УО) != 1) & & (УО != У2) && (аЬй(У2 - УО) != 2) & & (УО != УЗ) & & (аЬз(УЗ - УО) != 3) & & (У1 != У2) && (аЬй(У2 - У1) != 1) & & (У1 != УЗ) && (аЬз(УЗ —У1) != 2) & & (У2 != УЗ) && (аЬз(УЗ - У2) !=!))}.
Тогда правило расстановки ферзей будет иметь вид
{(^щ/ееп(1, УО) V ^queen^, У1) V ^queen^B, У2) V ^queen^^YB^V V А№(У0,У1,У2,УЗ)) & СОННЕСТ(УО,У1,У2,УЗ)}.
После этого работа с введенной функцией не отличается от работы со встроенными функциями. Ускорение происходит за счет того, что запись математических операций и их выполнение в качестве функций языка Си может быть во много раз быстрее, чем выполнение этих операций, записанных в виде встроенных функций. К тому же запись получается более наглядной и компактной.
Методы ускорения и анализ результатов для задачио N ферзях
Результат программной реализации процесса опровержения с помощью графа связи Ковальского можно рассматривать по-разному. Во-первых, установлена принципиальная возможность реализации данного метода на ЭВМ. Во-вторых, показаны способы эффективного распараллеливания на базе графа связи Ковальского. Данная реализация позволяет также выявить некоторые возможности ускорения процесса опровержения, которые оказываются весьма существенными для ряда классов задач. Получены также количественные оценки ускорения параллельного вывода относительно последовательного.
Один из основных методов ускорения — сокращение перебора возможных кандидатов на резольвирование при AND-параллельной резолюции графа связи за счет использования функций-ограничений. Рассмотрим его более подробно. Допустим, что на некотором шаге мы выбрали SUN-дизъюнкт S = si V S2 V ... V sn и определили множество сателлитных дизъюнктов Si, S2, • • •, Sn• В самом простом случае каждая литера SUN-дизъюнкта соединена только с одним из сателлитных дизъюнктов. Этот случай не подлежит упрощению за счет сокращения перебора связей. Однако для ряда задач, например, для раскрасок карт, для задачи о N ферзях и прочих, сводимых к ним, подграф в общем случае имеет вид, представленный на рис. 2.12.
В таком подграфе при поиске согласованного НОУ необходим полный перебор всех комбинаций связей. Для уменьшения этого перебора используются как условия согласованности унификатора (см. определение 2.7), так и функции-ограничения. Идея состоит в следующем. Пусть мы имеем комбинацию S^, S^2,..., S^ где А,..., ц 6 {!,..., п}. В том случае, если для первых к ^ п элементов Sq Sq ,... ,Sq данной
комбинации установлен факт их несоответствия условию согласованности или функции-ограничению, то не имеет смысла не только проверять оставшиеся элемен- X vS2 v S3 v... v Snты? но и все другие комбина
ции, начинающиеся с элементов Si^Si^.-.^Si*. Это очевидное ограничение перебора приводит Sx S2 S3... Sn к хорошим результатам на прак-
Рис. 2.12тике«
Рассмотрим снова пример 2.7. Существует 256 вариантов подстановки значений в функцию CORRECT(yO, У1, У2, УЗ). Ограничение резольвирования по условию согласованности унификатора здесь не работает, так как все предикаты содержат разные переменные. Поэтому используем функцию-ограничение. Для упрощения индексации дизъюнктов, являющихся сателлитными, будем записывать лишь значения Yi, т. е. комбинация (1, 2, 3, 4) определяет попытку резольвирования дизъюнкта (^queen^l, УО) V^queen^ У1) V^queen^B, У2) V^queen(4^ У3)\/ V А№(У0,У1,У2,УЗ)) & CORRECT (У О, У1, У 2, УЗ) с дизъюнктами queen^Yqueen^^, queen(3,3) и queen^^).
Теперь рассмотрим, какие же из этих комбинаций действительно необходимо проверять, учитывая функцию-ограничение из примера 2.7:
УО = 1, У1 = 1 (не выполняется условие У0!= У1);
УО = 1, У1 = 2 (не выполняется условие abs(yi — У0)! = 1);
УО = 1,У1 = 3,У2=1(не выполняется условиеУ0!= У2);
УО = 1,У1 = 3,У2=2(не выполняется условиеаЬз(У2 — У1)!=1);
УО = 1,У1 = 3,У2=3(не выполняется условиеУ1!= У2);
УО = 1,У1 = 3,У2=4(не выполняется условиеаЬз(У2 — У1)!=1);
УО = 1,У1=4,У2=1(не выполняется условиеУ0!= У2);
УО = 1,У1=4,У2=2(не выполняется условиеаЬз(У2 — У0)! =1);
УО = 1,У1=4,У2=3(не выполняется условиеаЬз(У2 — У1)!=1);
УО = 1,У1=4,У2=4(не выполняется условиеУ1!= У2);
УО = 2, У1 = 1 (не выполняется условие abs(yi — У0)! = 1);
УО = 2, У1 = 2 (не выполняется условие У0!= У1);
УО = 2, У1 = 3 (не выполняется условие abs(yi — У0)! = 1);
УО = 2, У1=4,У2 = 1,УЗ = 1 (не выполняется условие У2!= УЗ);
УО = 2, У1 = 4,У2 = 1,УЗ = 2 (не выполняется условие
аЬз(УЗ —У2)!= 1);
УО = 2, У1=4,У2 = 1,УЗ = 3 (получена необходимая комбинация).
Поле
Полученный результат
Время работы (Pentium-200)
4x4
ANS(3, 1, 4, 2)
0,1 c
10 х 10
ANS(7, 4, 2, 9, 5, 10, 8, 6, 3, 1)
1 c
12 х 12
ANS(4, 9, 7, 2, 11, 6, 12, 10, 8, 5, 3, 1)
3 c
14 х 14
ANS(11, 8, 6, 2, 9, 14, 4, 13, 10, 12, 7, 5, 3, 1)
22 c
16 х 16
ANS(10, 8, 11, 4, 7, 16, 6, 15, 12, 14, 9, 13, 2, 5, 3, 1)
2 мин 19 c
18 х 18
ANS(10, 14, 9, 11, 4, 7, 18, 6, 17, 13, 16, 12, 15, 8, 2, 5, 3, 1)
5 мин 30 c
20 х 20
ANS(11, 6, 14, 7, 10, 8, 19, 16, 9, 17, 20, 18, 12, 15, 13, 4, 2, 5, 3, 1)
31 мин 57 c
21 х 21
ANS(13, 16, 14, 6, 8, 10, 12, 7, 19, 17, 20, 18, 21, 15, 11, 9, 4, 2, 5, 3, 1)
1 мин 28 c
23 х 23
ANS(14, 17, 15, 12, 16, 7, 23, 6, 8, 10, 21, 19, 22, 20, 18, 13, 11, 9, 4, 2, 5, 3, 1)
5 мин 13 c
25 х 25
ANS(22, 17, 12, 18, 16, 14, 7, 10, 8, 6, 23, 25, 20, 24, 21, 19, 15, 13, 11, 9, 4, 2, 5, 3, 1)
11 мин 30 c
27 х 27
ANS(22, 20, 18, 21, 14, 12, 8, 16, 7, 10, 6, 26, 24, 27, 25, 23, 19, 17, 15, 13, 11, 9, 4, 2, 5, 3, 1)
2 ч 4 мин 35 c
Таблица 2.2
Вывод на графе связей
Заметим, что мы исследовали только 16 комбинаций, причем все, кроме последней, — лишь частично. В том случае, если перебирать все варианты без ограничения, то подходящий вариант был бы найден на 115-м шаге.
Если использовать классическое ограничение по условию согласованности унификатора, то в данной задаче было бы проведено 114 резольвирований и 114 бектрекингов, прежде чем был бы получен ответ. В нашем случае мы имеем лишь одно резольвирование.
Для задач типа раскраски карты условие согласованного унификатора работает подобно функции-ограничению и также дает значительное сокращение перебора. При условии применения такого сокращения опровержение графа связи с использованием AND- параллельной резолюции дает ускорение в 5-10 раз по сравнению с AND-параллельной резолюцией с полным перебором и в 50-70 раз по сравнению с последовательным опровержением.
Полученные результаты
Решение задачи о N ферзях с использованием AND-параллельной резолюции и функций-ограничений в том виде, как это описано в разд. 2.7.2, приводит к результатам, представленным в табл. 2.2.
Применение DCDP-параллельной резолюции для задач этого класса не дает ускорения относительно последовательной резолюции, так как мощность всех возможных DCDP-множеств не превышает единицы.
Узкая полосынька Клиношком сошлась, — Не вовремя косынька На две расплелась!
Н. Клюев
Глава 3
ВЫВОД НА ГРАФЕ ДИЗЪЮНКТОВ
В данной главе рассматриваются типы параллелизма в дедуктивном выводе: параллелизм на уровне термов, на уровне дизъюнктов и на уровне поиска. Описывается алгоритм дедукции на раскрашенных графах дизъюнктов с использованием операторов удаления и расщепления вершин, и приводятся пять типов параллелизма, возникающих в этом алгоритме. Дается сравнение процедур вывода на тестовой задаче «Стимроллер».
Типы параллелизма в дедуктивном выводе
Так как система дедуктивного вывода в общем случае недетер- минирована, проблема управления поиском вывода актуальна для построения эффективных решателей проблем. Одним из путей решения этой проблемы является параллелизм, который может быть реализован как мультипоиск и распределенный поиск. В мультипоиске стратегии приписывают каждому параллельному процессу свой план поиска, в то время как стратегии распределенного поиска выдают каждому параллельному процессу свою порцию пространства поиска. Эти два подхода не являются взаимоисключающими, между ними имеется связь.
Говоря о стратегиях поиска, прежде всего следует упомянуть о стратегиях, основанных на упорядочении (ordering-based strategies). Необходимо отметить, что среди них имеются как стратегии, ориентированные на расширение (expansion) множества дизъюнктов, получаемого путем резолюции, так и на сокращение (contraction) этого множества путем поглощения. Упорядочение здесь понимается как наличие обоснованного порядка среди дизъюнктов, подлежащих процедуре поиска вывода. Стратегии, основанные на упорядочении, используют поиск только «наилучшего» (с применением эвристик) и, как правило, не очень восприимчивы к разрешению целей. Однако использование в них семантических (например, семантической резолюции) или поддерживающих (резолюция множества поддержки) требований настраивает поиск на разрешение целей. Стратегии, осно-
ванные на упорядочении, являются синтетическими, получаемыми образованием одних цепочек вывода из других.
Другим типом стратегий является стратегия редукции подцелей (subgoal-reduction strategy), реализованная в линейной резолюции или в аналитических таблицах (см. главу 4). Название этой стратегии подчеркивает тот факт, что вычисление цели состоит в редукции ее подцелей и затем их разрешении, как это имеет место в линейной резолюции. Если в подходе, основанном на упорядочении, стратегии ограничивают поиск наложением некоторых локальных требований на каждый шаг вывода, то стратегии редукции подцелей ограничивают поиск наложением требований на саму форму вывода, например, в линейной резолюции имеем линейное дерево вывода. Эти стратегии являются по сути аналитическими, так как при выводе происходит разложение формулы на подформулы, и ищется их невыполнимость (в случае методов опровержения). Стратегии редуцирования подцелей обычно используют поиск только в глубину вместе с бектрекингом, хотя в принципе линейное опровержение можно найти, используя любой план поиска, включая поиск только в ширину или «наилучшего». Однако поиск только в глубину предпочтителен вследствие построения за один раз только одной ветви доказательства, и только при неудаче происходит возврат и построение другой ветви.
При классификации параллелизма дедуктивного вывода будем различать:
параллелизм на уровне термов (parallelism at the term level);
параллелизм на уровне дизъюнктов (parallelism at the clause level);
параллелизм на уровне поиска (parallelism at the search level).
Типы параллелизма в дедуктивном выводе представлены на рис. 3.1.
В параллелизме на уровне термов данными, над которыми может быть произведена параллельная обработка, являются термы или литеры. В методах доказательства теорем имеет место параллельное сопоставление литер и параллельная унификация, когда термы подставляются параллельно вместо переменных. В системах переписывания имеет место параллельное переписывание термов. Этот вид параллелизма относится к параллелизму низшего уровня и отличается довольно большой связностью между данными.
В параллелизме на уровне дизъюнктов данными, над которыми производится параллельная обработка, являются формулы некоторого языка. В системах, основанных на языке Пролог, имеет место AND- параллелизм и OR-параллелизм. Другие типы параллельных выводов были рассмотрены в главе 2. В данной главе также будут описаны некоторые формы параллелизма на графовых структурах.
Рис. 3.1
Отметим, что проблема управления на этом уровне представляется как проблема расписания задач. Управление параллельными выводами с помощью расписания задач осуществляется применением как стратегий, основанных на упорядочении, так и стратегий редукции подцелей.
В параллелизме на уровне поиска различают распределенный поиск и мультипоиск. Ключевой фактор в классификации методов с параллельным поиском заключается в дифференциации и комбинировании активности дедуктивных процессов. Принцип разделения пространства поиска на ряд подпространств положен в основу распределенного поиска, в котором существенную роль играет организация связи между порциями пространства.
Другая возможность организации параллельного поиска заключается в обработке всего пространства поиска различными планами поиска, что осуществляется мультипоиском. Чтобы каждый процесс мог воспользоваться результатами других процессов, здесь также необходима связь между ними.
Еще одна возможность параллелизма на уровне поиска представляется в допущении процессам иметь разные или одну и ту же систему вывода. В первом случае такую систему вывода назовем гетерогенной^ а в последнем — гомогенной. В гетерогенных системах вывода параллелизм применяется для комбинирования стратегий редукции подцелей и стратегий, основанных на упорядочении, причем для процессов редукции подцелей имеется возможность использования дизъюнктов, образованных процессами, основанными на упорядочении.
Рассмотрим подробнее типы параллелизма в дедуктивном выводе на графовых структурах, названных С-графами (Clause graphs).
Последовательный алгоритм выводана раскрашенных графах дизъюнктов
Как и в выводе на графе связей данный вывод относится к резо- люционному типу и является методом опровержения.
Исходное множество дизъюнктов будем представлять в имплика- тивной форме. Граф дизъюнктов состоит из дизъюнктных вершин, т. е. вершин, которым соответствуют исходные дизъюнкты, предикатных вершин (на рисунках — овальные вершины) и дуг, взвешенных предикатами и помеченных двумя цветами.
Рассмотрим правило раскраски графов дизъюнктов: если имеется дизъюнкт вида А В. то условие дизъюнкта А будет «раскрашено» на графе цветом Ц1 (соответствующие дуги изображены непрерывной линией), а заключение — цветом Ц2 (прерывистой линией). Это правило распространяется также на случай множества условий и заключений дизъюнкта и на его частные случаи. Поясним сказанное примером.
Пример 3.1.
Пусть имеется следующий набор утверждений:
если куб 1 находится в месте а, то куб 2 также находится в том же месте;
если куб 1 находится в месте а, то куб 3 находится в месте в;
куб 1 находится в месте а.
В дизъюнктной форме эти утверждения имеют следующий вид:
С1) В(куб 1,а) —> В(куб 2, а);
С2) В(куб 1,а) В(куб 3, в);
СЗ)В (куб 1, а) (или И В(куб 1, а)).
Граф дизъюнктов будет иметь вид, показанный на рис. 3.2. Здесь Сч. СЗ. Сз исходные дизъюнкты, а В — предикатный символ. Отметим, что если имеется утверждение типа «Куб 3 не находится в месте а», то оно будет записано в виде В(куб 3, а) —> Л или В(куб 3,а) что позволяет выражать отрицание фактов.
Представление в раскрашенном виде графов дизъюнктов дает эффективную индексацию информации и уменьшает перебор при поиске нужных утверждений, что позволяет обрабатывать графы большой размерности.
Такие графы дизъюнктов будем называть С-графами. Формально С-граф задается четверкой вида L =< С, Р, Fi, F2 >, где С — множество дизъюнктных вершин, Р — множество предикатных вершин,
F1 — отображение С в Р, причем это отображение осуществляется на дугах, «раскрашенных» цветом Ц1, и F2 отображение С в Р, которое осуществляется на дугах, «раскрашенных» цветом Ц2.
Опишем алгоритм преобразования С-графов для невыполнимого множества дизъюнктов, результатом которого является получение пустой сети — противоречия, т. е. ситуации, в которой находится как факт, так и его отрицание (аналог пустого дизъюнкта).
Сначала рассмотрим основные операторы преобразования С- графов. Эти операторы следующие:
оператор удаления вершины;
оператор расщепления вершины.
Будем говорить, что предикатная вершина свободна от мультидуг, если число дуг, выходящих из одной и той же какой-нибудь другой вершины и входящих в данную вершину, не больше единицы.
Оператор удаления вершины. Если в С-графе имеется вершина, которая свободна от мультидуг, тогда граф всегда может быть преобразован так, чтобы он не содержал этой вершины. Если таких вершин несколько, то все они могут быть удалены из графа. Например, на рис. 3.3,а вершины Р и R свободны от мультидуг, а вершина Q имеет мульти дуги.
Рис. 3.3
Правило удаления вершины следующее: если в С-графе имеется вершина Р и этой вершиной связаны дизъюнкты щ, С2,...,сп, то после всевозможных резольвирований дизъюнктов щ, С2,..., сп по предикату Р из графа удаляются дизъюнкты щ, С2,..., сп и добавляются новые дизъюнкты, полученные резольвированием щ, С2,..., сп. Например, после удаления вершины R на рис. 3.3. а получаем С-граф, который показан на рис. 3.3,6. Вершина будет также удалена из графа в случае «чистого» дизъюнкта.
Покажем, что такое преобразование является корректным. Обозначим оператор удаления вершины Р через Пр. Сначала докажем эквивалентность такого преобразования для фундаментальных примеров.
Допустим, имеется множество фундаментальных примеров дизъюнктов
S = {Р V Гъ Р V г2,..., Р V Гп, ^Р V Щ, ^Р V П2,...,
V Пт, Фь Ф2,..., Ф;},
где Гх, Г2,..., Гп; Щ, П2,..., Пт; Ф1, Ф2,..., Ф/ являются дизъюнктами, которые не содержат предиката Р. Это соответствует тому, что в С-графе предикатная вершина Р свободна от мультидуг.
После применения оператора Up множество дизъюнктов S примет вид
Si = {Гх V Пх,..., Гх V Пш, Г2 V Щ,..., Гп V Щ,...,
Гп 7Пш,Ф1,Ф2,...,ФД.
Чтобы показать корректность (эквивалентность) [/-преобразования, рассмотрим два случая.
Множество дизъюнктов S выполнимо тогда и только тогда, когда при каждой интерпретации или {Г1,Г2,...,ГП}, или {П1,П2,...,ПШ} принимают значение И. Это значит, что множество дизъюнктов Si также выполнимо.
Множество S не выполнимо тогда и только тогда, когда S' ={П1,П2,...,ПШ,Ф1,Ф2,...,ФД и SM =
= {Гх, Г2,..., Гп, Ф1, Ф2,..., Ф/} являются также невыполнимыми множествами. Это значит, что множество дизъюнктов Si также не выполнимо.
Этим доказывается корректность [/-преобразования. Для доказательства корректности (эквивалентности) U-преобразования в общем случае логики предикатов первого порядка применим теорему Эрбра- на и лемму подъема.
Оператор расщепления вершины. Оператор расщепления вершины применяется при наличии в предикатной вершине мультидуг. Обозначим его через Rp что означает расщепление вершины Р по Дуге I.
Например, для С-графа на рис. 3.4,а после применения оператора Rp образуется С-граф, изображенный на рис. 3.4,6.
Формально оператор расщепления определим следующим образом. Пусть имеется множество дизъюнктов S = {РУГ, Ф}, где Р\/Г — дизъюнкт, в котором компонент дизъюнкта Г содержит также литеру Р, а Ф — любое подмножество дизъюнктов. Тогда после применения оператора R множество S примет вид S' = {Pi V Г, [Ф]Р1^Р , Ф}, где [ф]Р1/р означает подстановку литеры Pi вместо Р в формуле Ф.
Рис. 3.4
Доказано, что оператор расщепления, примененный к невыполнимому множеству дизъюнктов, снова приводит к невыполнимому множеству. Имеется следующая теорема.
Теорема 3.1. Пусть S — невыполнимое множество дизъюнктов, представленное С-графом. Тогда после применения оператора расщепления вершины Rp снова получаем невыполнимое множество дизъюнктов Si.
Алгоритм вывода пустого С-графа с использованием операторов удаления и расщепления приведен ниже.
Если в С-графе присутствуют вершины, к которым применим оператор Пр то после использования этого оператора данные вершины удаляются.
Если имеются вершины с мультидугами, то применяем оператор расщепления Rp. результатом которого являются вершины, свободные от мультидуг. После этого снова применяем оператор U и т. д., пока не получим противоречие в графе.
Рассмотрим примеры решения задач с применением операторов Up и Rp.
Пример 3.2.
Пусть задано следующее множество дизъюнктов:
—> Q(a) V R^x\
R^ & S(a) T^bYQkP
Соответствующий С-граф показан на рис. 3.5, а. При последовательном применении оператора Up получаем С-графы, показанные на рис. 3.5,6, в, г, причем на последнем рисунке получаем противоречие. Это говорит о том, что исходное множество дизъюнктов противоречиво.
Рис. 3.5
При доказательстве противоречивости множества S в примере 3.2 мы использовали только оператор Up так как С-граф не содержал мультидуг. Теперь рассмотрим пример, где используются как оператор Up, так и оператор Rp.
Пример 3.3.
Пусть задано множество дизъюнктов
Р^рх^,
S^ & S^ & Р(ж, /(у), г)
S(e) - .
Соответствующий С-граф показан на рис. 3.6,а. После применения оператора Пр имеем граф, представленный на рис. 3.6,6 Далее последовательное применение операторов R^U приводит к получению противоречивого графа. Соответствующие шаги показаны на рис. 3.6,в, г, д. е.
Алгоритм вывода на С-графе.
Если в С-графе имеется вершина, которая свободна от мультидуг, то переход к п. 2, иначе к п. 8.
Выделяем предикатную вершину Р, которая свободна от мультидуг.
Вычисляем А Е1-1(Р).
Рис. 3.6
Вычисляем В F2 ^Р).
F-AuB.
Резольвируем дизъюнкты из множества F по предикату F; если получили пустой дизъюнкт, то процедура закончилась успешно, иначе переход к п. 7.
В С-граф добавляются все дизъюнкты, сгенерированные в пункте 6, и из С-графа удаляются все дизъюнкты из множества F; переход к п. 1.
Применяем оператор Rf, пока не получим вершину, свободную от мультидуг. Переход к и. 1.
Эксперименты показали, что стратегии преобразования С-графов дают большую эффективность в интеллектуальных системах принятия решений.
Параллелизм в дедуктивном выводе наС-графах
Прежде чем говорить о параллельном выводе на С-графах, напомним коротко о видах параллелизма, возникающих в логическом программировании, ориентированном в основном на языки типа Пролог.
Обычно интерпретатор логических программ начинает свою работу с целевого утверждения, например, такого, как е- Р(х) kQ^k R(y) 1 состоящего из трех подцелей P^xY Q(x) и R(y) и пытается с помощью принципа резолюции вывести пустой дизъюнкт. Для этого он ищет подходящий дизъюнкт, который разрешает подцель, скажем, Р(х) и формирует новое целевое утверждение. В образующемся дереве вывода возникают следующие виды параллелизма.
OR-параллелизм. Система вывода параллельно сопоставляет некоторое целевое утверждение с головами дизъюнктов- кандидатов, подходящих для такого сопоставления. При этом параллельно происходит унификация соответствующих литер и генерация новых дизъюнктов.
AND-параллелизм. Система вывода параллельно решает две или более подцелей, находящихся в целевом утверждении. Здесь появляются довольно сложные проблемы. Так, в вышеприведенном целевом утверждении две подцели Р(х) и Q(x) имеют общую переменную ж, и система вывода должна гарантировать, что при параллельном разрешении этих подцелей переменная х будет связана с одним и тем же значением. В ином случае возникает противоречие, которое необходимо разрешить.
Будем называть переменную х простой переменной, если она появляется в дизъюнкте только один раз (конечно, при последовательной унификации переменная будет также простой и при более чем одном ее вхождении в дизъюнкт).
Как мы уже знаем, переменная х называется разделенной, если она имеет более чем одно вхождение в дизъюнкт при условии параллельной унификации (т. е. один и тот же терм должен быть связан с каждым вхождением этой переменной).
При унификации простой переменной с некоторым термом не образуется, как говорят, никакой связи, а осуществляется простая подстановка этого терма вместо переменной. При унификации разделенной переменной с некоторым термом формируется так называемая среда связей, представляющая собой список разделенных переменных и их подстановок (примеров) для проверки непротиворечивости этих связей при параллельной унификации. Естественно, что система вывода может эффективно использовать AND-параллелизм лишь при условии простых переменных и требует довольно сложной организации в случае разделенных переменных.
В процессе доказательства утверждений в логических моделях, реализованных в виде соответствующих С-графов, можно выделить
Здесь используется нотация языка Пролог.
несколько типов параллелизма (используем алгоритм вывода с операторами удаления и расщепления вершин).
Параллелизм в процессе унификации, осуществляемый внутри одной вершины, свободной от мультидуг. Относящиеся к предикатной вершине дизъюнкты резольвируются по литере, принадлежащей этой вершине, т. е. осуществляется параллельная унификация аргументов литеры цвета 1 (2) с аргументами литер-кандидатов цвета 2 (1) и параллельная генерация новых дизъюнктов.
Пример 3.4.
Имеем невыполнимое множество дизъюнктов
Cl. Q^M^,
С1!. M^H^Q,
СЗ. F ^М Н,
С4.М,
СЗ.F.
В представленном на рис. 3.7, а графе, описывающем данное множество дизъюнктов, вершине М соответствуют три дизъюнкта (С1, С2, СЗ) с литерой М цвета 1 и один дизъюнкт (С4) с литерой М цвета 2. Их параллельная унификация (для простоты аргументы литер опущены) сопровождается также параллельной генерацией новых дизъюнктов 6, 7, 8, изображенных на рис. 3.7,6 (причем происходит копирование дизъюнкта 4 столько раз, сколько имеется дизъюнктов- кандидатов на параллельную унификацию, в нашем случае 3 раза).
Рис. 3.7
Заметим, что параллельную унификацию не надо путать с параллельной обработкой всех аргументов литеры одновременно. В нашем случае аргументы литеры обрабатываются последовательно.
Этот вид параллелизма соответствует OR-параллелизму в логических программах.
Параллельное удаление вершин, свободных от мультидуг, не имеющих общих дизъюнктов, т. е. параллельное применение оператора удаления вершин. Для выбора вершин, не имеющих общих дизъюнктов, можно применить простое эвристическое правило: выбираются вершины с минимальным числом дуг, связывающих их с другими вершинами.
Пример 3.5.
Имеем невыполнимое множество дизъюнктов
С1.
N Р,
С6.
TkR^Q,
С2.
Р^ S,
С7.
Q^N,
СЗ.
s м,
С8.
М
С4.
М ^Т,
С9.
т,
С5.
М V R,
СЮ.
N .
Соответствующий им граф показан на рис. 3.8,а. Параллельно удаляем вершины Р, Q, М (возможны другие варианты). В результате получаем граф, представленный на рис. 3.8,6. Затем аналогично удаляем одновременно вершины S и R. Получаем граф, представленный на рис. 3.8,в.
Параллельная стяжка мультидуг одного цвета (если это возможно) как внутри одной вершины, так и среди множества вершин, что соответствует получению фактор-дизъюнктов в принципе резолюции.
Пример 3.6.
На рис. 3.9,а показан граф, соответствующий следующему множеству дизъюнктов:
Cl.Р{х,у) R^a,x\
С1!. R(u,f(x))fcR(u,uj)
сз.^PUUYyW^M
Здесь для дизъюнктов 2 и 3 имеем наиболее общие унификаторы од = ^и/щ f(x)/w} и (72 = {/(t)/w, yj Р\ соответственно, что приводит их к виду
C2Z. RkuJ^^,
сз'.
и к графу, представленному на рис. 3.9,6.
Параллельное расщепление внутри одной вершины, имеющей несколько мультидуг. С помощью оператора расщепления производим параллельное расщепление внутри одной вершины, имеющей несколько мультидуг (неважно, одного или разных цветов).
Рис. 3.9
Пример 3.7.
Имеем
С1.Р(х,у) P(f(x),y),
С2. Р^и,/(ж)) & P(v, g^^
сз.Р(д(Р, у) v Р(а, zY
С4.P^i х\
что соответствует графу на рис. 3.10,а. Производим параллельное расщепление трех мультидуг (трех «лепестков») вершины Р с помощью оператора расщепления, в результате чего получаем четыре вершины Pi, Р2, Pg? Р (их число на единицу больше числа «лепестков»), четыре копии дизъюнкта 4, три копии «расщепленного» дизъюнкта 1, две копии «расщепленного» дизъюнкта 2 с его дублированием в вершине Р и «расщепленный» дизъюнкт 3 с его дублированием в вершинах Р и Рз (см. рис. 3.10,6).
Рис. 3.10
Для наглядности введем следующий фиктивный порядок расщепления (хотя никакого «порядка» нет, так как все делается параллель-
5 В.Н. Вагин и др.
но): сначала расщепляется мультидуга (1—F), затем (2—F) и, наконец, мультидуга (3 — Р).
Параллельное расщепление нескольких вершин, имеющих мультидуги. Параллельно применяем оператор расщепления к вершинам, имеющим мульти дуги.
Пример 3.8.
На рис. 3.11,а представлен граф, соответствующий следующему множеству дизъюнктов:
С1.
Q(x,y) Q(/(x),y),
С2.
P(u, v) —> Q(a,ж),
СЗ.
РСШШ v P(a,z
С4.
Q(u,v) .
Имеем две вершины с мультидугами, расщепление которых можно производить параллельно. В результате получим граф, показанный на рис. 3.11,6.
Рис. 3.11
Параллельное удаление вершин, свободных от мультидуг и не имеющих общих дизъюнктов, можно производить одновременно с параллельной унификацией внутри этих вершин (т. е. комбинация
параллелизмов типа а и б). Аналогично, если имеется несколько вершин с мультидугами, то можно произвести параллельное расщепление этих вершин с параллельным расщеплением внутри каждой такой вершины (т. е. комбинация параллелизмов типа г и д).
Приведем теперь параллельный алгоритм вывода на С-графах.
Алгоритм PAL
Если в С-графе имеются вершины, свободные от мультидуг, то переход к п. 2, иначе к п. 8.
Выделяем предикатные вершины Р, Q,..., R. не имеющие общих дизъюнктов (эвристическое правило: выбираются вершины с минимальным числом дуг, связывающих их с другими вершинами).
Параллельно вычисляем
Л! е^Чр\
л2 f;\qy
Ат - F^{R\
где Fy^P^ — отображение предикатной вершины Р в множество дизъюнктов, ей соответствующих, для цвета 1, и А1А2,..., Ат — списки.
Параллельно вычисляем
bx^f^4p\ b^fyHQY
Bk^F^{RY
где ЕфЧ?) — отображение вершины Р в множество дизъюнктов, ей соответствующих, для цвета 2, и Si, S2, • • •, В). — списки.
Di Ai UBb
D^ А2 и S2,
Di Ai U Bi.
Параллельноерезольвирование дизъюнктовизмножеств
D^ D>...., Diпопредикатам Р, Q,..., Rодновременноспа
раллельной унификацией внутри каждой предикатной вершины P,Q,...,R. Если получили пустой граф (противоречие), то процедура закончилась успешно, иначе переход к п. 7.
В С-граф добавляются все дизъюнкты, сгенерированные в пункте 6, и из графа удаляются все дизъюнкты из списков
D^ D2^ ..., Я/, т. е. удаляются параллельно вершины Р, Q...., R. Переход к п. 1.
Произвести параллельную стяжку мультидуг одного цвета в вершинах Р, Q...., R. если это возможно (что соответствует нахождению фактор-дизъюнктов) и переход к п. 1, иначе переход к п. 9.
Используя оператор расщепления вершины, произвести параллельное расщепление вершин с мультидугами одновременно с параллельным расщеплением внутри каждой вершины, имеющей несколько мультидуг, до тех пор, пока не получим вершины, свободные от мульти дуг. Переход к и. 1.
Для иллюстрации алгоритма приведем пример.
Пример 3.9.
Имеем невыполнимое множество дизъюнктов, С-граф для которого представлен на рис. 3.12, а.
С1.М(с, а) & R(a, и)Q(f Д), г),
С2.МД, у) & F(x, у)ЯД, Д,
СЗ.М(п, г) & ЯД, w) —> Q(n, w),
С4.Т(у^ и) ЯД, х) V М(и,
СЗ.S(w, с) V ТД, u) V R(b, г),
Св. Е^ у) & ЯД, с) & SQu. d)
СЧ.Q^y^M^a^
СВ.^М(Ь,а),
С9.^M^d,c\
СЮ.^Я(с,а),
«Зажигаем» граф с трех сторон, т. е. активизируем вершины Q, F, Т (на рис. 3.12щ они заштрихованы). После параллельного удаления этих вершин получаем граф, изображенный на рис. 3.12,6. Затем последовательно удаляем вершины Я и S, причем в вершине S дизъюнкты не унифицируемы, поэтому они удаляются вместе со своей вершиной (см. рис. 3.12,в, г). Производим параллельную стяжку мультидуг в вершине М и удаляем вершину R вместе со своим дизъюнктом. Получаем граф, показанный на рис. 3.12,6. Затем вершину М расщепляем и имеем противоречие (см. рис. 3.12,е, э/с), что говорит о невыполнимости исходного множества дизъюнктов.
Отметим, что в предложенной процедуре параллельной дедукции поиск и вывод осуществляется не только «сверху вниз» или «снизу вверх» или их комбинацией, но и по всем возможным «фронтам» С- графа одновременно. Как говорят, метод «атакует» С-граф со всех возможных сторон.
ааРис. 3.12Рис. 3.12
а
а
Рис. 3.12
Рис. 3.12
Алгоритм параллельного вывода может быть использован при реализации параллельной машины вывода. Предлагавшиеся до сих пор архитектуры параллельных машин вывода ориентированы, главным образом, на языки логического программирования типа Пролога,
которые на наш взгляд страдают существенными недостатками. Эти недостатки связаны не только с ограниченностью процедуры вывода (хорновские дизъюнкты, неполная входная резолюция, поиск только «в глубину», порядок разрешения литер), но также и с тем, что языки логического программирования на сегодняшний день ориентированы, главным образом, на фон-неймановскую архитектуру машин, что, конечно, является недостаточным для создания принципиально новых образцов вычислительной техники.
Сравнение эффективности процедурдедуктивного вывода
В главе 2 уже говорилось об эффективности различных алгоритмов вывода и приводилось сравнение процедур вывода на тестовой задаче «Стимроллер». Напомним, что в целях уменьшения пространства поиска в процессе нахождения решения и, таким образом, сокращения времени вывода в алгоритмах дедукции используются следующие стандартные средства, уменьшающие число промежуточных дизъюнктов в резолюционных доказательствах, и две полезные стратегии, специфичные только для алгоритма вывода на С-графах:
применение операции факторизации (при графической интерпретации вывода эта операция названа стяжкой одноцветных мульти дуг);
удаление дизъюнктов, связанных с «чистыми» литерами;
удаление дизъюнктов-тавтологий;
удаление поглощенных (subsumed) дизъюнктов;
применение стратегии «предпочтение единичным дизъюнктам»;
удаление дизъюнктов-дублеров;
первоочередное удаление предикатных вершин без мультидуг;
первоочередное удаление предикатных вершин, в которые входит наименьшее число дуг.
На рис. 3.13,а, б представлены результаты работы нескольких алгоритмов дедуктивного вывода на тестовой задаче «Стимроллер». Следует отметить, что здесь не рассматриваются случаи многосортных логик.
Алгоритм дедуктивного вывода на раскрашенных С-графах является наиболее эффективным для решения задачи «Стимроллер», что определяется ее представлением в виде графа дизъюнктов, который имеет множество независимых вершин. При работе алгоритма происходит стяжка сети, на каждом шаге резольвирование идет по нескольким вершинам, что повышает эффективность алгоритма вывода.
ЩЩ McCune/LURЩЩ McCune/LUR■ Stickel/CG-SOS-TR□ Stickel/CG|] Stickel/CG-TRД McCune/UR■ Stickel/CG-SOS-TR□ Stickel/CG|] Stickel/CG-TRД McCune/URН Дедуктивный вывод на С-графахН Дедуктивный вывод на С-графах■ McCune/UR (используя сорт, унификацию)■ Stickel/CG-SOS (используя сорт, унификацию)■ McCune/UR (используя сорт, унификацию)■ Stickel/CG-SOS (используя сорт, унификацию)■ DCDP-параллельный вывод на графе связей■ DCDP-параллельный вывод на графе связей■ Последовательный вывод на графе связей■ Последовательный вывод на графе связей
ЩЩ McCune/LUR
ЩЩ McCune/LUR
■ Stickel/CG-SOS-TR
□ Stickel/CG
|] Stickel/CG-TR
Д McCune/UR
■ Stickel/CG-SOS-TR
□ Stickel/CG
|] Stickel/CG-TR
Д McCune/UR
Н Дедуктивный вывод на С-графах
Н Дедуктивный вывод на С-графах
■ McCune/UR (используя сорт, унификацию)
■ Stickel/CG-SOS (используя сорт, унификацию)
■ McCune/UR (используя сорт, унификацию)
■ Stickel/CG-SOS (используя сорт, унификацию)
■ DCDP-параллельный вывод на графе связей
■ DCDP-параллельный вывод на графе связей
■ Последовательный вывод на графе связей
■ Последовательный вывод на графе связей
Рис. 3.13. CG — стратегия вывода с использованием графа связей. SOS — вывод на графе связей с использованием целевого утверждения как множества поддержки. TR — вывод с использованием метода Theory Links, который является расширением стандартного метода резолюции. UR — вывод с использованием Unit-резолюции — модификации метода резолюции. LUR — вывод с использованием Linked Unit-резолюции — модификации метода UR-резолюции
По сравнению с другими алгоритмами стоит отметить, что алгоритм DCDP-параллельного вывода не является самым эффективным ни по одному из параметров, но и не находится в конце списка.
При использовании же нескольких ЭВМ или при использовании ЭВМ параллельной организации алгоритмы параллельного дедуктивного вывода имеют заведомое преимущество над алгоритмами последовательного дедуктивного вывода.
Истинно знать что-либо — значит, знать его причины.
Ф. Бэкон
Глава 4
ВЫВОД НА АНАЛИТИЧЕСКИХ ТАБЛИЦАХ
Метод аналитических таблиц (или метод семантических таблиц, или метод Хинтикка) является эффективной процедурой доказательства теорем, как для логики высказываний, так и для логики предикатов первого порядка. Он, как и метод резолюции, относится к методам опровержения, т. е. для доказательства общезначимости формулы А доказывается ее противоречие (^М). Но если метод резолюции работает с формулами, представленными в КНФ, то метод аналитических таблиц оперирует с формулами, представленными в ДНФ. Вывод осуществляется на бинарных деревьях, вершины которых отмечены формулами, причем вершина называется концевой, если она не имеет потомков, простой, если она имеет только одного потомка и дизъюнктивной, если она имеет двух потомков. Каждая ветвь дерева представлена конъюнкцией формул, а само дерево — дизъюнкцией своих ветвей.
.1. Метод аналитических таблиц для логики
высказываний
Все формулы логики высказываний разделим на два класса: формулы конъюнктивного типа или формулы а, состоящие из двух компонент ai и «2, и формулы дизъюнктивного типа или формулы Р, также имеющие две компоненты Д и р2 (табл. 4.1).
Таблица 4.1
Формулы конъюнктивного типа
Формулы дизъюнктивного типа
а
ОТ
OL2
3
31
32
X & У
X
У
^(Х & У)
^х
^Х У)
-Y
X VY
X
у
^х
X
Р имеемР имеемО^Ор = v(ai) & ^(<02),О^Ор = v(ai) & ^(<02),Таким образом, для каждого булева означивания о (т. е. приписывания пропозициональным переменным значений И и Л) формул а и
Р имеем
Р имеем
О^Ор = v(ai) & ^(<02),
О^Ор = v(ai) & ^(<02),
v(/3) = Ц/31) V v(/32).
Отсюда для каждых а и /3 формулы а ^ (ац & а2) и /3 ^ (/3i V /32) являются тавтологиями.
При доказательстве методом аналитических таблиц иногда вводятся символы «И» и «Л» и определяются так называемые означенные формулы типа ИХ или ЛХ, где X — формула логики высказывания (неозначенная).
При любой интерпретации означенная формула ИХ является истинной, если X есть И, и ложной, если X есть Л. Также ЛХ является истинной, если X есть Л, и ложной, если X есть И. Таким образом, истинностное значение ИХ совпадает с формулой X, а истинностное значение ЛХ совпадает с ^Х. Отсюда табл. 4.1 для означенных формул можно переписать в виде табл. 4.2.
Формулы конъюнктивного типа
Формулы дизъюнктивного типа
а
O1
02
3
31
32
И(Х & У)
ИХ
ИУ
Л(Х & У)
ЛХ
ЛУ
Л(Х V У)
ЛХ
ЛУ
И(Х V У)
их
ИУ
Л(Х У)
ИХ
ЛУ
И(Х У)
ЛХ
ИУ
И-.Х
ЛХ
ЛХ
Л-.Х
их
их
Введем еще два определения.
Степенью означенной формулы ИХ или ЛХ является число логических связок в формуле X. Пропозициональная переменная имеет степень 0, такую же степень имеют И и Л. Заметим, что од, а^ и Д, р2 имеют степень меньшую, чем ан Д а именно, т^ор = t(qi) + r(a2) +1; т(Р) = r(Pi) + r(P2^ + 1, где r(X) — степень формулы X.
Сопряжением означенной формулы является результат изменения И на Л и наоборот. Так, сопряжение ИХ есть ЛХ, а сопряжение ЛХ есть ИХ.
Возвращаясь к табл. 4.1 и 4.2 заметим, что они могут быть обобщены в два правила:
правило а*. о ; правило р:р
Первое правило говорит, что если формула X есть а, то к дереву надо добавить вершину, отмеченную формулой од и затем на этой же ветви другую вершину, отмеченную а^. Второе правило гласит, что если X есть /3, надо расщепить идущую от вершины (3 ветвь на две ветви и вершину на левой ветви отметить формулой Д, а на другой — формулой ^2- Возвращаясь к проблеме логического следования формулы из посылок, заметим, что для любой интерпретации, в которой формула а истинна, истинны будут как од, так и а^. Аналогично для любой интерпретации, в которой формула (3 истинна, будет истинна /31 или Д.
Определение 4*1* Замкнутой ветвью называется ветвь, которая содержит формулу ИХ и ее сопряжение ЛХ, т. е. контрарную пару (X и ^Х), или истинностное значение Л.
Определение Д^- Дерево (или таблица) называется замкнутой, если все его ветви замкнуты.
Правила а и /3 назовем правилами расширения таблицы (табл. 4.3).
Таблица 4.3
н
ДГ
ДГ
а
ал
02
0 31\32
Если на дереве вершина отмечена формулой ^^Х, добавим вершину-потомок, обозначенную X. Аналогично добавляются вершины, отмеченные Л и И для формул ^И и ^Л. Формулы типа q и /3 были объяснены ранее.
Поскольку метод аналитических таблиц основан на процедуре опровержения, то для доказательства общезначимости формулы X надо построить дерево (таблицу) для ЛХДХ), которое будет замкнутым.
Аналитическая таблица для X есть упорядоченное бинарное дерево, вершины которого являются формулами, строящимися следующим образом. Сначала помещаем ^Х в корень дерева и расширяем аналитическую таблицу с помощью правил расширения таблицы (а и /3 ).
Дадим индуктивное определение таблицы для X. Пусть даны два упорядоченных бинарных дерева Д и Т^. Будем называть Т) непосредственным расширением дерева Д, если Д может быть получено из Д путем применения правил а и (3. Дерево Т является аналитической таблицей для X, если существует конечная последовательность деревьев (Д,Д,..., Д = Г) такая, что Д содержит единственную вершину, соответствующую X, и для любого % < п T^i является непосредственным расширением Д.
Теперь докажем с помощью метода аналитических таблиц общезначимость следующей формулы:
(р Щ9 г))((р — у) (р г)).
Справа от формулы будем ставить в скобках номер формулы, из которой будет получено то или иное следствие. Для простоты во всех примерах будем использовать неозначенные формулы, для чего символ И будем опускать, а вместо Л ставить -i. При построении таблицы каждая замкнутая ветвь будет заканчиваться символом □.
1- ДСрг))((р9) Щр г))]
р (9 г)
-'((р^ 9)(р^ г))
(1)
(1)
(2)
(3)
г) (3)
4. -р(2)
6. Р 9(3)
7^Цр->г) (3)
5. q —> г
8. P^q
9.
10.
-пр (6) 11. 9 (6)16. -
q (5)
17?"
Т
(5)
12.
р(7) 14. р (7)
13.
-нг (7) 15.-т (7)18.-р (8)
19. 9(8)
20. ^р (8)
21.
q
(8)
□□22. р (9)
24. р (9)
26. р (9)
28.
р
(9)
23.^ г (9)
25.^г (9)
27.-т (9)
29.
(9)
□
□
□
□
Таблица строится следующим образом. На первом шаге к исходной формуле применяем -i. Затем используется правило а. в результате которого имеем две формулы с номерами 2 и 3. К формуле 2 применяем правило /3, в результате которого получаем разветвление дерева на две ветви с формулами 4 и 5. В каждой ветви к формуле 3 применяем правило оц в результате которого получаем формулы 6, 7, 8, 9. Затем идет дальнейшее ветвление дерева по правилам /3 до тех пор, пока не получаем замкнутую ветвь.
Из таблицы видно, что все ветви дерева замкнуты; это говорит о противоречивости формулы ^Х или об общезначимости X, где X — формула (р (q г)) ((р q) (р г)). В дальнейшем будем замыкать ветвь символом □, как только впервые будет найдена контрарная пара или символ Л. В данном примере шаги 13, 15, 23, 24, 25, 27 лишние, и поэтому их можно было бы игнорировать. Таким образом, общее число шагов — 23.
При анализе данного примера нетрудно видеть, что раннее применение правила /3 приводит к неоправданному дублированию шагов вывода. Это значительно удлиняет процедуру вывода. Более эффективное решение по длине шагов вывода заключается в приоритете правила а над правилом /3, что позволит сократить повторение одной
и той же формулы на различных ветвях дерева. В качестве подтверждения этого высказывания решим тот же самый пример, применяя сначала правило оц а потом (3.
Ч(рЛ^г)Н^Н?-">г)!|
р(qг)(1)
9-Щ (р^ г))(1)
5. Цр^г)(3)5. Цр^г)(3)рq(3)
5. Цр^г)(3)
5. Цр^г)(3)
Очевидно, что второй вывод, включающий 13 шагов, короче, чем первый. Таким образом, приоритет правила а над правилом (3 позволяет в какой-то степени уменьшать недетерминированность применения этих правил.
В общем, чтобы показать, что формула G логически следует из формул F^ F^ ... ^ Fm мы должны сконструировать замкнутую аналитическую таблицу для формулы -i[Fi & F^ & ... & Fn G] или Fi & F2 & ... & Fn & ^G.
Теперь нам осталось показать, что метод аналитических таблиц обладает непротиворечив остью и полнотой.
Как обычно, под непротиворечивостью будем понимать невозможность доказать этим методом формулу и ее отрицание одновременно. Множество S формул логики высказываний называется выполнимым^ если имеется хотя бы одна интерпретация и (булево означивание), на которой каждая формула из S будет истинной. Назовем некоторую ветвь дерева © выполнимой, если множество пропозициональных формул на этой ветви выполнимо, т. е. принимает значение И. Отсюда дерево (или таблица) Т выполнимо, если, по крайней мере, одна ветвь на этом дереве будет выполнимой.
Пусть таблица Т) является непосредственным расширением таблицы Ti с помощью правил расширения таблицы (а, /3 ). Нетрудно показать, что если таблица Ti выполнима, то выполнимой будет и таблица Т2. В силу выполнимости Ti на этом дереве имеется, по крайней мере, одна ветвь ©, которая истинна.
Если дерево Т2 получено из Ti добавлением вершин-потомков с помощью правил а и (3 к некоторой ветви ©i, то в случае несовпадения
01 и 0 ветвь 0 останется выполнимой. Отсюда выполнимым будет и дерево ТУ Если 0 совпадает с 0 ц то в случае применения правила а ветвь 0 расширится на две вершины од и Q2- Так как правило а является правилом конъюнктивного типа, то в силу v(q) = И, истинными будут также v(qi) и и^а^. Следовательно, дерево Т? также будет выполнимым. Если к 0 = 01 применяется правило дизъюнктивного типа /3, то из истинности ^(/3) следует, что по крайней мере одна из ветвей v(/3i) или иф-^ будет также истинной. Отсюда и дерево Т) тоже будет выполнимым.
Таким образом, любое расширение выполнимой таблицы также выполнимо. Применяя метод математической индукции, получаем, что если корень любого дерева является истинным в заданной интерпретации v, дерево (таблица) тоже будет истинным в и. Но замкнутая таблица не может быть истинной ни при какой интерпретации, т. е. корень замкнутой таблицы должен быть невыполнимым. Отсюда следует, что метод аналитических таблиц является непротиворечивым, из чего вытекает теорема о состоятельности этого метода.
Теорема 4.1. Если формула X выводима (доказуема) методом аналитических таблиц, то она общезначима.
Утверждение, обратное теореме 4.1, представляет собой полноту метода аналитических таблиц, т. е. если формула X общезначима, то она доказуема методом аналитических таблиц. Однако сначала покажем, что если имеется открытая (незамкнутая) ветвь на дереве, то таблица будет выполнимой.
Определение 4-3. Назовем ветвь 0 таблицы полной, если для любой d-формулы, входящей В 0, Q1 И Q2 также входят в 0, и для любой /3-формулы, входящей в 0, по крайне мере, одна из формул /31 или /З2 входит в 0.
Определение 4-4- Таблица Т называется полной, если любая ветвь этой таблицы является замкнутой или полной.
Покажем, что если таблица Т является полной открытой таблицей (открытой в том смысле, что хотя бы одна ветвь является открытой), то корень таблицы Т является выполнимым.
Пусть 0 — полная открытая ветвь таблицы Т и Н — множество пропозициональных формул из 0, называемое пропозициональным множеством Хинтикка, удовлетворяющее следующим условиям:
Н^: для любой пропозициональной переменной Л, ни Л, ни ее сопряжение ^Л не принадлежат Н одновременно;
НГ. Л ^ Я,^И ^ Я;
Я2: если -^Z Е Н, то Z Е Н*,
Щ: если а Е Я, то оц Е Я и Q2 Е Н*,
Нг если /3 Е Н, то /31 Е Я или /З2 Е Н.
Например, пустое множество является тривиальным множеством Хинтикка или множество всех пропозициональных переменных также является множеством Н. Множество {Р & ^Q R\ P.(^Q
Р), Q} является множеством Хинтикка.
Лемма Хинтикка. Любое пропозициональное множество Хинтикка выполнимо.
Эта лемма доказывается индукцией по числу логических связок в формуле, т. е. по степени элементов из Н. Из леммы Хинтикка вытекает доказательство следующей теоремы.
Теорема 4.2. Любая полная открытая ветвь таблицы является выполнимой.
Приведем теорему о полноте метода аналитических таблиц.
Теорема 4.3 (о полноте). Если формула X общезначима, то она доказуема методом аналитических таблиц.
Отсюда становится понятным, что для любой общезначимой формулы X таблица, начинающаяся с ^Х, должна быть замкнутой, ибо в противном случае открытая ветвь говорила бы, что ^Х выполнима, а это противоречит условию.
Пример 4.1.
Докажем методом аналитических таблиц пример, который до этого был доказан с помощью принципа резолюции (см. пример 1.10 и рис. 1.2)
(р ^), (^г), (г 0? (т Ч) Ь р -^т
^[(р QW (Л TW (r W (т ^1) (р ^т)]
(р —>• q)^(q —>• г)& (г —> Q& (т —>• ^1)
^(р -^ ^т)
р^ q
(2)(2)(2)(3)(3)(9)(2)(2)(2)(3)(3)(9)q г
(2)
(2)
(2)
(3)
(3)
(9)
(2)
(2)
(2)
(3)
(3)
(9)
г I
т -7
р
т
П.^р (4)12. q (4)
13. ^q (5)14. г (5)13. ^q (5)14. г (5)□15.-г (6)16. I (6)□15.-г (6)16. I (6)
13. ^q (5)14. г (5)
13. ^q (5)14. г (5)
□
15.-г (6)16. I (6)
□
15.-г (6)16. I (6)
17.-, m (7)18.-, Z (7)
В заключение заметим, что для конечного множества Хинтикка Н лемма Хинтикка эффективно задает интерпретацию, на которой Н выполнимо. Если формула X не является тавтологией, то в полной таблице для -^Х найдется контрпример, т. е. интерпретация, в которой формула X принимает значение Л.
Пример 4.2.
Дана формула (р V q) -э (р & q\ Построим полную таблицу для этой формулы.
4(pV д) д)]
pVq(1)
^р (3)7. -q (3)8. ^р (3)9. -^q^
Таблица имеет две полные открытые ветви. Рассмотрим полную открытую ветвь с концевой вершиной 7. В соответствии с теоремой 4.2, которая гласит о выполнимости полной открытой ветви, имеем интерпретацию р — Иид — Л, в которой исходная формула ложна (или ее отрицание выполнимо). Аналогично на другой полной открытой ветви имеем р — Л и q — И, что также говорит о ложности исходной формулы.
Метод аналитических таблиц для логикипредикатов первого порядка
Так как логика предикатов первого порядка является расширением логики высказываний, то естественно к существующим ранее формулам добавить формулы с кванторами. Одну группу формул универсального типа назовем у-формулами, а другую группу формул экзистенционалъного типа — 5-формулами (табл. 4.4).
Таблица 4.4
Формулы универсального типа
Формулы экзистенционалъного типа
7
7(a)
6
д(а)
УжФ
фж
ЗжФ
фж
^ЗжФ
^УжФ
Здесь а — любой параметр, а запись Ф^ означает, что в формуле Ф переменной х присвоен параметр а. В дальнейшем присвоение будем
понимать как подстановку и Ф^ — как результат подстановки а вместо всех вхождений х в Ф.
Определим подстановку для любой формулы Ф по следующей индуктивной схеме:
если Ф — атомарная формула, то Ф^ — результат подстановки а вместо любого вхождения х в Ф;
[Ф & FVa = Ф* & F^;
[Ф V< = O^VFJ;
[Ф - F^a =F*;
НФ]^ = -[ф^];
[Уж Ф]^ = УжФ;
[Зж Ф]® = ЗжФ.
Но для переменной у, отличной от ж,
[УЖ ф]У = УЖ[фУ]; [ЗжФ]^ = Зж[Ф^].
Определение 4-5. Замкнутой формулой будем называть формулу Ф такую, что для любой переменной х и любого параметра а Ф^ = Ф.
Как и раньше, введем понятие степени г(Ф) формулы Ф. Степенью г(Ф) формулы Ф является число вхождений логических связок и кванторов.
Любая атомарная формула имеет степень 0.
г(^Ф) = г(Ф) + 1,
г(Ф & F) = г(Ф V F) = г(Ф F) = г(Ф) + r(F) + 1.
г(\/хФ) = г(Ф) + 1, г(ЗтФ) = г(Ф) + 1.
Как и для логики высказываний, если речь идет об означенных формулах, формула у является формулой И[\/хФ] или Л[Зх]Ф] и у (а) является соответственно ИФ^ или ЛФ^. Аналогично формула 6 будет любой формулой типа И[ЗхФ] или Л[\/хФ], a 6(a) — соответственно ИФ^, ЛФ^ (табл. 4.5).
Таблица 4.5
Формулы универсального типа
Формулы экзистенционального типа
7
7(«)
6
5(a)
И [УжФ]
ИФ*
И[ЗжФ]
ИФ*
Л [ЗжФ]
ЛФ*
Л [УжФ]
ЛФ*
При любой интерпретации в универсуме U будут выполняться следующие утверждения:
Fi: а истинна тогда и только тогда, когда истинны од и а^
F2: 3 истинна тогда и только тогда, когда, по крайней мере, истинна 31 ИЛИ 32*1
Fg: 7 истинна тогда и только тогда, когда формула ^(к) истинна для любого к Е Lp
Едл б истинна тогда и только тогда, когда формула 5(к) истинна, по крайней мере, для одного к Е U.
Как следствие вышеизложенных фактов, имеем следующие законы, касающиеся выполнимости формул.
Пусть S — любое множество замкнутых формул, подобных a. 3i
Gi: Если S выполнимо и а Е S^ то {S, од, Q2} также выполнимо.
G2: Если S выполнимо и /3 6 S, то, хотя бы одно из двух множеств {S,/31}, {S,/З2} также выполнимо.
Gg: Если S выполнимо и 7 6 5, то для любого параметра а множество {S, 7(a)} также выполнимо.
G4: Если S выполнимо и б Е S и если с — любой новый параметр, который не является элементом S, то {S, 5(c)} также выполнимо.
Последний закон нуждается в пояснении. Пусть по гипотезе имеется интерпретация I всех предикатов из S в некотором универсуме U и отображение V всех параметров из S в элементы из U такое, что для каждой замкнутой формулы Ф Е S [/-замкнутая формула Фу истинна при этой интерпретации I. В частности, 6V истинна при I. Замкнутая формула 6V является формулой, не имеющей параметров, но с константами из [/, и эта формула является замкнутой формулой экзистенционального типа (назовем ее 51). Поскольку 51 истинна в /, то, согласно утверждению Ец имеется, по крайней мере, один элемент к из U такой, что формула 6i(k) истинна в интерпретации I. Теперь отображение V определяется по всем параметрам из {S, 5(c)}, за исключением параметра с. Расширим отображение V за счет определения У (с) = к и назовем это расширение V*. Теперь V* определяется по всем параметрам {S, 5(c)}. Очевидно, для каждой формулы Ф Е S Фу является тем же самым выражением, что и Ф^. Таким образом, Фу истинна в интерпретации I и [5(c)]v есть та же самая замкнутая формула, что и 51 (к\ Отсюда [5(c)]v истинна в I. Следовательно, для каждой формулы Ф Е {S, 5(c)} Фу истинна в интерпретации Е Таким образом, множество {S, 5(c)} выполнимо.
Теперь мы можем сформулировать четыре правила вывода при работе с аналитическими таблицами, два из которых были сформулированы для логики высказываний, а два — для логики предикатов
первого порядка (возвращаясь к табл. 4.3, не забудем о правилах
вывода для ^^Х, ^И и ^Л).
Правило о: — од
02
правило /3: ——;
Р1 |Р2
у
правило у:, где а — любой параметр;
7(a)
правило о: -гдт-, где с — новый параметр, не принадлежащий Ь.
5(c)
В случае означенных формул правила у и 5 будут выглядеть следующим образом:
MVx Ф ЛЗх Ф
правило у:
И ФГ Л ФГ
правило 5:
ИЗж Ф ЛУж Ф
■ гДе с новый параметр.
И ФГ Л ФГ
Для неозначенных формул эти два правила будут выглядеть сле
дующим образом:
правило у:правило 5:правило у:правило 5:^х Ф ^Зх Ф^х Ф ^Зх ФЗх Ф-фД’Зх Ф-фД’^Уж Ф-Фе^Уж Ф-Фегде с — новый параметр.где с — новый параметр.
правило у:
правило 5:
правило у:
правило 5:
^х Ф ^Зх Ф
^х Ф ^Зх Ф
Зх Ф
-фД’
Зх Ф
-фД’
^Уж Ф
-Фе
^Уж Ф
-Фе
где с — новый параметр.
где с — новый параметр.
Правила у и 6 также называются правилами расширения таблицы. Поясним правило 5. Это правило является формализацией неформального аргумента, довольно часто используемого в математике. Пусть мы доказали, что существует предмет ж, обладающий некоторым свойством Ф, т. е. доказали утверждение ЗхФ(х). Мы могли бы ввести имя для этого предмета, скажем с, и записать Ф(с). Конечно, мы не утверждаем, что свойство Ф выполняется для каждого с, но, по крайней мере, для одного оно выполняется. Если мы последовательно покажем, что для другого свойства Q существует предмет х такой, что Q^x\ то неправомерно было бы дать то же самое имя с этому предмету, потому что с уже обладает свойством Ф, и мы не уверены, что он имеет оба свойства Ф и Q. Естественно, лучше взять новый константный символ или параметр, скажем 1ц и считать Q(b\ Это и является причиной для оговорки в правиле 5.
Безусловно, мы можем либерализовать правило 5, считая, что параметр а — новый, раньше не вводился правилом 5 и не входил в 5- формулы. Идея либерализации состоит в том, что при доказательстве замкнутой формулы типа у, скажем \/хФ(х), мы выводим Ф(а).
Мы не договаривались, что а является именем любого конкретного предмета, просто Ф(а) выполняется для каждого значения а. Если мы доказываем формулу типа ЗхФ(х), правомерно сказать, что имеется х такое, что для того же самого а Ф(а) будет также выполняться. При этой либерализации доказательства формул могут быть сокращены и это будет продемонстрировано на примере.
Правила расширения таблицы (а, /3, 7, 5) не детерминированы, т. е. они говорят, что можно сделать, а не то, что нужно сделать. Но в отличие от пропозиционального случая в логике предикатов возможно многократное (в худшем случае бесконечное) повторение правил расширения таблиц без получения замкнутого дерева, хотя оно может существовать. Источником такой трудности является 7- правило. В качестве тривиального примера рассмотрим ветвь, содержащую как Зх^Р(х), так и УуР(у). Применение 5-правила к первой формуле добавит вершину -^Р(Ь^ где Ь — новый параметр. Но использование 7-правила для второй формулы приведет к добавлению вершин Р(щ), Р(с2^ • • •? гДе съ с2, • • • — различные параметры, отличные от Ь. Хотя здесь замыкание очевидно, останова не будет в силу бесконечного добавления соответствующих вершин. В более трудных случаях дело еще усложняется. Если в логике высказываний можно довольствоваться строгими таблицами, т. е. таблицами, при конструировании которых ни к одной формуле правила расширения таблиц (а, /3) дважды не применяются на одной и той же ветви, то в логике предикатов дело обстоит не так. Более того, в логике высказываний доказано, что, если X — общезначимая формула, процесс конструирования строгой таблицы закончится на уровне атомарно замкнутой таблицы, т. е. таблицы, все ветви которой замыкаются атомарными контрарными парами Р и ^Р.
В логике предикатов первого порядка при построении замкнутой таблицы для общезначимой формулы допускается повторное использование 7-формул на одной и той же ветви. Рассмотрим пример.
Пример 4.3.
Доказать общезначимость формулы 3y(3xP(x) P^Y
ЩуЩР(я) Р(у)^
^хРЦ-)Р(а^(1)
ЗхР(х)(2)
^Р(а)(2)
Рф)(3)
-п[ЗхР(х)P(b)](1)
ЭжР(ж)(6)
-Р^(6)
□
В этом доказательстве правило 7 было применено дважды. В либеральной версии это правило применяется один раз, в результате чего получаем более короткое доказательство.
^МВхРЦ) Р(у)^
-пржР(ж) Р(а)](1)
3xPD(2)
^Р(а)(2)
Р(а)(3)
□
Теперь обратимся к состоятельности и полноте метода аналитических таблиц для логики предикатов первого порядка. Прежде всего, расширим определение множества Хинтикка для этой логики.
Пусть Е — множество формул логики предикатов первого порядка; Еи — множество всех замкнутых U-формул, где U — множество предметов или универсум предметов, а [/-формула — формула логики предикатов первого порядка, определенная на этом универсуме, причем сюда входит «чистая» (риге) формула, не содержащая констант как специальный случай.
Определение 4-6. Множеством Хинтикка 1-го порядка (для универсума U) называется множество Н ((/-формул) такое, что выполняются следующие условия:
Н^: для любой атомарной формулы А из Еи ни А, ни ее сопряжение ^А не принадлежат Н одновременно;
НГ. Л ^ Я,^И ^ Н'
Нг если ^^Z Е Н, то Z Е Н*,
Нг если а Е Н, то од Е Н и 02 Е Н*,
Нг если Р Е Н, то Р\ Е Н или Р^ Е Я;
Нг если 7 Е Н, то для каснсдого а Е U, у (а) Е Н;
Нг если 5 Е Н, то, по крайней мере, для одного элемента а Е U
5(a) Е Н.
Так же как и для пропозиционального случая, пустое множество является тривиальным множеством Хинтикка 1-го порядка. Если в логике предикатов первого порядка имеется бесконечное число замкнутых термов (т. е. термов, имеющих функциональные символы и константы), тогда любое множество Хинтикка 1-го порядка, содержащее 7-замкнутую формулу, должно быть бесконечным.
Лемма Хинтикка для логики предикатов первого порядка. Любое множество Хинтикка Я l-ro порядка для универсума U является выполнимым (в смысле логики 1-го порядка).
Доказательство проходит методом индукции по числу логических связок в формуле (по степени формулы). Мы должны найти атомарное означивание для Еи в котором все элементы из Н будут истинны. Затем предполагаем, что формула X имеет степень большую, чем О, и каждый элемент из Н меньшей степени истинен по индуктивному предположению. Тогда мы должны доказать, что и сама формула X будет истинной. Так как сама формула X является одной из а-. р-^ или 5-формул, то нетрудно видеть, что X будет истинна.
Теперь рассмотрим, каким образом лемма Хинтикка может быть использована для доказательства состоятельности и полноты метода аналитических таблиц для случая логики предикатов первого порядка. Прежде всего, рассмотрим лемму Кёнига.
Лемма Кёнига. Бесконечное дерево, которое конечно древовидно, должно иметь бесконечную ветвь.
Дерево называется конечно древовидным, если каждая его вершина имеет конечное число потомков (возможно 0).
Лемма Кёнига утверждает, что если мы не допускаем бесконечного ветвления, то примером бесконечного дерева может быть только дерево, ф показанное на рис. 4.1./
В логике высказываний таблица всегда закан-/X
чивается после конечного числа шагов. Для л о-ц \
гики предикатов первого порядка таблица, как4
мы уже видели, может продолжаться бесконеч-^ис‘
но долго без какого-либо замыкания. Если это так, и генерируется бесконечное дерево, то по лемме Кёнига, оно содержит бесконечную ветвь 0. Эта ветвь открыта. Зададимся вопросом: «Составляют ли элементы этой ветви 0 множество Хинтикка?» Отрицательный ответ может быть получен при следующем рассуждении.
Для любой формулы X степени больше, чем 0, на ветви 0 эта формула выполнима на 0, если
X есть а, и ai и «2 находятся на ветви 0; или
X есть Р^ и, по крайней мере, одна из формул Д или Р^ находится на ветви 0; или
X есть у, и для каждого параметра а ^(а) находится на ветви 0; или
X есть 5, и, по крайней мере, для одного a 5(a) находится на ветви 0.
Теперь предположим, что Т — конечная таблица, и ветвь 0 содержит две 7-формулы, скажем 71 и 72. При использовании 71-формулы к ветви будут добавляться вершины с формулами 71 (&1), 71(а2), • • •, 71 (ап), • • • Для всех ai, Н2,..., аП1... Таким образом, будет порождаться бесконечная ветвь, на которой 71 выполнима.
В этом случае мы пренебрегли 72. В другом случае можно сделать выполнимой 7-формулу на ветви, но пренебречь одной или несколькими а-^ (3- или 5-формулами. В любом случае имеется много способов порождения бесконечного дерева (таблицы) без привлечения множества Хинтикка. Ключевой проблемой является нахождение систематической процедуры, гарантирующей получение бесконечного дерева, каждая открытая ветвь которого является множеством Хинтикка.
Одной из таких систематических процедур является процедура порождения дерева, на каждом шаге которого определенные вершины дерева объявляются «использованными» (например, путем отметки таких вершин). Процедура начинается с помещения формулы (чья выполнимость проверяется) в корень. Пусть был выполнен n-й шаг. Если на этом шаге была получена замкнутая таблица, то останов. Также будет останов, если на каждой открытой ветви были использованы все неатомарные вершины. В противном случае конструирование таблицы продолжается путем отбора неиспользованной вершины X минимального уровня (т. е. как можно ближе к корню) и которая находится на открытой ветви. Чтобы сделать процедуру полностью детерминированной, можно, например, отобрать на дереве самую левую неиспользованную вершину минимального уровня. Расширение таблицы происходит следующим образом. Отбирается любая открытая ветвь 0, проходящая через вершину X и
если X есть оц происходит расширение ветви 0 на (0, од, оД;
если X есть /3, расширение распространяется на две ветви: (©, А) и (0, /32);
если X есть 5, то берется новый параметр с, до сих пор не появлявшийся на дереве, и расширение идет на ветвь (0, 5(c));
если X есть 7 (это довольно деликатный случай), берем первый параметр а такой, что 7(a) не встречалась на 0 и расширяем ветвь на (0, 7(a), 7). Другими словами, добавляем 7(a) к 0 и затем повторяем вхождение 7! раз.
Выполнив все эти действия, в зависимости от того, является ли формула X а-. р-^ ^- или 5-формулой, объявляем вершину использованной и этим завершаем (п + 1)-й шаг нашей процедуры.
Говоря неформально, системность спуска по дереву заключается в выполнении а-^ 6- и /3-формул. Что касается 7-формул, то сначала присоединяем первый пример 7(a), затем — второй пример 7(6) и т. д.
Иногда может оказаться, что при систематическом построении таблицы после конечного числа шагов таблица будет все еще незамкнута, хотя все неатомарные вершины каждой открытой ветви были уже использованы. Это говорит о том, что на любой открытой ветви ни одна из 7-формул так и не появилась. Следовательно, в этом случае элементы открытой ветви являются множеством Хинтикка.
Таблицу будем называть систематической^ если к ней применима систематическая процедура. Заметим, что дерево, порожденное такой процедурой, строго говоря, не является либеральной таблицей, поскольку нет правил для таблицы, учитывающих произвольные повторения у-формул (или любых других формул).
Таким образом, порождение законченной систематической таблицы с открытыми ветвями приводит к получению множества Хин- тикка, что выражается приведенной ниже теоремой.
Теорема 4.4. Для любой законченной систематической таблицы элементы каждой открытой ветви являются множеством Хинтикка (для счетного универсума U параметров).
Из теоремы 4.4 и леммы Хинтикка вытекает следующая теорема.
Теорема 4.5. В любой законченной систематической таблице Т каждая открытая ветвь выполнима (в смысле логики 1-го порядка).
Отсюда очевидна теорема о состоятельности метода аналитических таблиц для логики предикатов первого порядка.
Теорема 4.6. Если формула X логики предикатов первого порядка доказуема методом аналитических таблиц, то она общезначима.
Также очевидна непротиворечивость этого метода для логики предикатов первого порядка. Из теоремы 4.5 легко доказывается полнота метода аналитических таблиц для логики предикатов первого порядка.
Теорема 4.7 (о полноте). Если X является общезначимой формулой логики предикатов первого порядка, то она доказуема методом аналитических таблиц, т. е. существует замкнутая таблица для ^Х.
С помощью теоремы 4.5 можно доказать теорему Левенгейма — Сколема.
Теорема 4.8 (Левенгейма — Сколема). Пусть L — язык первого порядка и пусть S — множество замкнутых формул этого языка. Если S выполнимо, то S выполнимо в счетной модели.
Возвращаясь к систематическим таблицам, отметим, что в общем случае систематическая таблица имеет длину большую, нежели таблица, сконструированная наудачу, случайно. Но зато в отличие от случайной систематическая таблица всегда гарантирует решение, если исходное множество формул общезначимо.
Для уменьшения недетерминированности выбора правил Q, /3, у и 5 сначала будем использовать все а- и 5-правила (нет ветвления). Затем применим все /3-правила и только после этого — у-правило, причем в вершине, располагающейся как можно дальше от корня (обратите внимание: в предыдущем случае было как можно ближе к корню).
Как и в логике высказываний, назовем таблицу атомарно замкнутой, если каждая ветвь дерева содержит некоторую атомарную формулу и ее отрицание (т. е. контрарную пару Р и ^Р). Таким
образом, систематическая процедура называется атомарно замкнутой или атомарно открытой, если в систематической таблице каждая ветвь атомарно замкнута или существует, по крайней мере, одна ветвь, элементы которой являются множеством Хинтикка. Таким образом, если формула X общезначима или -^Х невыполнима, то существует не просто замкнутая таблица, а атомарно замкнутая таблица для X.
Докажем методом аналитических таблиц пример, который был до этого доказан с помощью принципа резолюции.
Пример 4.4. (см. пример 1.23)
Э^Щ) & V у(Р(у) -> Цх, у))), ^а^С^ -► Vy(H(y) ->
^Цх, $)) Vy(P(y) ^Н(уУ)
ЩЖ(Щ) & V у(Р(у) Цх, у))) & Чх№^ ^у(Н(у)
-Щ, у))) Vy(P(y) --Я(у))]
ВЦЦх) к Уу(Р(у) -> Цх, у)))
^ЦЦх) Уу(Я(у) -> ^Цх, у)))
-Уу(Р(у) -■Я(у))
С(а) к Уу(Р(у) Ца, у))
4pW _Н^
Ца)
Vy(P(y) Ца, у))
Р(6)
^Н(Ц
Я(6)
Р(6) Ца, 6)
Д6) (12) 14. Ца, 6)(12)
□15. ЦЩ^УуЩу)-"Ца, у))(3)
16.-Щ) (15) 17. Уу(Я(уЩЩа,у)) (15)
□18. ЩЦ^^Ца, 6)(17)
19. -.Я(&) (18)20. -^Ца, 6)
(1)(1)(1)(2)(4)(5)(5)(6)(6) (Ю)(8)(1)(1)(1)(2)(4)(5)(5)(6)(6) (Ю)(8)(18)(18)В заключение покажем, что в случае конечного универсума U метод аналитических таблиц может быть использован для доказательства выполнимости формулы. Известно, что для выполнимой формулы имеется, по крайней мере, одна открытая ветвь 0, чьи элементы составляют множество Хинтикка для конечного универсума U тех параметров, которые встречаются, хотя бы в одном элементе этой ветви. Поэтому бессмысленно расширять таблицу дальше, и в соответствии с леммой Хинтикка элементы ветви О составляют мио-
(1)
(1)
(1)
(2)
(4)
(5)
(5)
(6)
(6) (Ю)
(8)
(1)
(1)
(1)
(2)
(4)
(5)
(5)
(6)
(6) (Ю)
(8)
(18)
(18)
жество Хинтикка, которое будет выполнимо в конечном универсуме. Рассмотрим пример.
Пример 4.5.
Докажем, что формула Ух(Р(х) V Q(x)) (УхР(х) V VtQ(t))
выполнима.
1.^^х{Р(х) V Q(x)) —> (Ух Р(х) V Ух Q(x))]2.Ух (Р(х^ V (ДД)(1)3.~Д¥ж Р(х) V Ух Q(x))(1)4.-Ух Р^(3)5.-Nx Q(x)(3)6.(4)7.(5)8.Р^ V Q(a)(2)9.(2)10. Р(а) (8) U.Q(a)(8)□12- Р^ (9)13-0(6) (9)1.^^х{Р(х) V Q(x)) —> (Ух Р(х) V Ух Q(x))]2.Ух (Р(х^ V (ДД)(1)3.~Д¥ж Р(х) V Ух Q(x))(1)4.-Ух Р^(3)5.-Nx Q(x)(3)6.(4)7.(5)8.Р^ V Q(a)(2)9.(2)10. Р(а) (8) U.Q(a)(8)□12- Р^ (9)13-0(6) (9)□□
1.
^^х{Р(х) V Q(x)) —> (Ух Р(х) V Ух Q(x))]
2.
Ух (Р(х^ V (ДД)
(1)
3.
~Д¥ж Р(х) V Ух Q(x))
(1)
4.
-Ух Р^
(3)
5.
-Nx Q(x)
(3)
6.
(4)
7.
(5)
8.
Р^ V Q(a)
(2)
9.
(2)
10. Р(а) (8) U.Q(a)
(8)
□
12- Р^ (9)
13-0(6) (9)
1.
^^х{Р(х) V Q(x)) —> (Ух Р(х) V Ух Q(x))]
2.
Ух (Р(х^ V (ДД)
(1)
3.
~Д¥ж Р(х) V Ух Q(x))
(1)
4.
-Ух Р^
(3)
5.
-Nx Q(x)
(3)
6.
(4)
7.
(5)
8.
Р^ V Q(a)
(2)
9.
(2)
10. Р(а) (8) U.Q(a)
(8)
□
12- Р^ (9)
13-0(6) (9)
□
□
Имеется одна открытая ветвь 0 с концевой вершиной 12. Для U = {а,6} в этой ветви две Q-вершины (1, 3), две /3-вершины (8, 9), две 5-вершины (4, 5) и одна у-вершина (2) выполнимы. По лемме Хинтикка все формулы ветви О истинны при следующей интерпретации: Р(а) = Л, Р(Ь) = И, Q(a) = И, Q(b) = Л. Отсюда исходная формула выполнима.
Метод аналитических таблиц в логическомпрограммировании
Реализация метода аналитических таблиц для логикивысказываний на языке Пролог
Опишем реализацию метода аналитических таблиц для логики высказываний на языке Пролог, выполненную Фиттингом. В начале приведем положения, которые легли в основу разработанной версии.
Аналитические таблицы являются строгими.
Правила аналитических таблиц позволяют проверять ветвь на замыкание (на основе атомарного замыкания).
Метод аналитических таблиц в общем случае не является детерминированным, поэтому Фиттингом предложена очередность применения правил.
Аналитические таблицы представляются в виде списка своих ветвей, в котором каждая ветвь является списком своих формул.
Далее, если при применении правил получили, что ветвь является замкнутой, то она удаляется из списка. Пустой список ветвей свидетельствует о замкнутости таблицы.
Фиттинг отмечает, что если к формулам применяются правила расширения таблиц и при этом исходные формулы, к которым правила применялись, удаляются, то имеет место расширение таблицы.
Таким образом, реализация метода аналитических таблиц состоит из 2-х частей:
1-я часть — программа задания формулы в виде ДНФ;
2-я часть — проверка ветви на замыкание.
Определение 4-1 • Если дизъюнкт (clause) есть дизъюнкция литер, то в двойственной КНФ ДНФ конъюнкция литер представляет собой конъюнкт (Фиттинг назвал его Dual Clause Form — форма, двойственная к дизъюнкту). Отсюда формула логики высказываний представима в ДНФ, если она является дизъюнкцией конъюнктов.
Приведенная ниже программа возвращает значение Y, которым является список конъюнктов, составляющих ДНФ.
/* Dual Clause Form Program. Программа задания формулы в виде ДНФ. */
?-ор(140, fy, neg).
?-ор(160, xfy, [and, or, imp, revimp, uparrow, downarrow, notimp, notrevimp]).
/* member (Item, List) — проверка, что Item входит в List. */ member(X, [X I _]).
member(X, [_ I Tail]) :- member(X, Tail).
/* remove(Item, List, Newlist) — Newlist является результатом удаления всех вхождений Item из списка List. */
remove (X, [],[]).
remove(X, [X I Tail], Newtail) :- remove(X, Tail, Newtail).
remove(X, [Head I Tail], [Head I Newtail]) :- remove(X, Tail, Newtail).
/* conjunctive(X) — X является Q-формулой. */ conjunctive(_ and _).
conjunctive(neg(_ or _)).
conjunctive(neg(_ imp _)).
conjunctive(neg(_ revimp _)).
conjunctive(neg(_ uparrow _)).
conjunctive(_ downarrow _).
conjunctive(_ notimp _). conjunctive(_ notrevimp _) .
/* disjunctive (X) — X является /3-формулой. */ disjunctive(neg(_ and _)).
disjunctive^ or _) .
disjunctive(_ imp _).
disjunctive(_ revimp _).
disjunctive(_ uparrow _).
disjunctive(neg(_ downarrow _)).
disjunctive(neg(_ notimp _)).
disjunctive(neg(_ notrevimp _)).
/* unary(X) — X является двойным отрицанием или отрицанием константы. */
unary (neg neg _).
unary(neg true).
unary(neg false).
p components(X, Y, Z) - Y и Z являются компонентами формулы X в соответствии с а- и /3-правилами. */
components(X and Y, X, Y).
components(neg(X and Y), neg X, neg Y).
components(X or Y, X, Y).
components(neg(X or Y), neg X, neg Y).
components(X imp Y, neg X, Y).
components(neg(X imp Y), X, neg Y).
components(X revimp Y, X, neg Y).
components(neg(X revimp Y), neg X, Y).
components(X uparrow Y, neg X, neg Y).
components(neg(X uparrow Y), X, Y).
components(X downarrow Y, neg X, neg Y).
components(neg(X downarrow Y), X, Y).
components(X notimp Y, X, neg Y).
components (neg (X notimp Y) , neg X, Y).
components(X notrevimp Y, neg X, Y).
components(neg(X notrevimp Y), X, neg Y).
/* component(X, Y) — Y является компонентой унарной формулы X.
component(neg neg X, X).
component(neg true, false), component(neg false, true).
p singlestep(01d, New) — New является результатом применения шага процесса расширения таблицы к Old, являющейся дизъюнкцией конъюнкций. */
singlestep([Conjunction I Rest], New) :- member(Formula, Conjunction), unary(Formula), component (Formula, Newfomula), remove(Formula, Conjunction, Temporary), Newconjunction = [Newformula I Temporary], New = [Newconjunction I Rest].
singlestep([Conjunction I Rest], New) :- member(Alpha, Conjunction), conjunctive (Alpha), components(Alpha, Alphaone, Alphatwo), remove(Alpha, Conjunction, Temporary), Newcon = [Alphaone, Alphatwo I Temporary], New = [Newcon I Rest].
singlestep([Conjunction I Rest], New) :- member(Beta, Conjunction), disjunctive(Beta), components(Beta, Betaone, Betatwo), remove(Beta, Conjunction, Temporary), Newconone = [Betaone I Temporary], Newcontwo = [Betatwo I Temporary], New = [Newconone, Newcontwo I Rest].
singlestep([Conjunction I Rest], [Conjunction I Newrest]):- singlestep(Rest, Newrest).
p expand(Old, New) — New является результатом применения к таблице Old шага расширения таблицы, сделанного много раз (насколько это возможно). */
expand(Dis, Newdis) :- singlestep(Dis, Temp), expand(Temp, Newdis).
expand(Dis, Dis).
p dualclauseform(X, Y) — Y является двойственной формой для X (ДНФ). */
dualclauseform(X, Y) :-expand([[X]], Y) .
В реализации метода аналитических таблиц дизъюнкт dualclauseform(X,Y), используемый для запуска приведенной выше
программы нахождения ДНФ Y для формулы X, должен быть удален, поскольку в нем нет необходимости.
Далее для реализации данного метода необходимо добавить дизъюнкты, проверяющие таблицу на замыкание. Они имеют следующий вид:
р closed (Tableau) — проверка на то, что каждая ветвь таблицы содержит контрарную пару. */
closed([Branch I Rest]) :- member(false, Branch), closed(Rest).
closed([Branch I Rest]) :- member(X, Branch), member(neg X, Branch), closed(Rest).
closed([ ] ).
Затем необходимо задать вызов предиката expand, осуществляющий расширение таблицы, и вызвать предикат closed, проверяющий полученную таблицу на замыкание. Таким образом, предикат test, выполняющий эти операции, имеет вид
р test(X) — создание полного расширения таблицы для формулы ^Х и проверка ее на замкнутость. */
test(X) :- expand([[neg X] ] , Y) , closed(Y).
Фиттинг отмечает, что существует некоторая трудность, связанная с эффективностью использования предиката test. Если формула X, задаваемая в предикате test, является доказуемой, то вызов предиката expand заканчивается успешно, и затем вызов предиката closed также заканчивается успешно (как ожидалось). В то же время, если формула X не является доказуемой, то вызов предиката expand будет закончен успешно, но вызов предиката closed завершится неудачей, что приведет к бектрекингу (поиску новых значений) для предиката expand. Но если предикат expand может успешно завершиться для нескольких значений (путей), то предикат closed никогда успешно не завершится. Следовательно, перед окончанием программы с неудачей будет выполнено много путей для нахождения расширения формулы, заданной в ДНФ. Для того, чтобы предотвратить ненужный бектрекинг, используется оператор отсечения языка Пролог (!). Таким образом, предикат test заменяется приведенным ниже предикатом, который является более эффективным в случае, когда формула не является теоремой.
test(X) :- expand([ [neg X] ] , Y) , !, closed(Y) .
Если пользователь программы желает, чтобы в качестве ее выполнения выдавался ответ «формула является теоремой» или «формула не является теоремой», то в предикат test нужно добавить предикаты if _then_else и write. Таким образом, получается следующая версия предиката test:
/* if_then_else(P, Q, R) — если P — истинно, то Q; в противном случае R. */
if_then_else(Р, Q, R) :- Р, !, Q.
if_then_else(Р, Q, R) :-R.
р test(X) — создание полного расширения таблицы для формулы и проверка на замкнутость. Если таблица замкнутая, то X — теорема, в противном случае X не является теоремой. */
test(X) :- expand([[neg X] ] , Y) , !,
if_then_else(closed (Y) , yes, no).
yes :- write ("Propositional tableau theorem"), nl.
no :- write ("Not a propositional tableau theorem"), nl.
Следует отметить, что существует еще одна проблема, связанная с неэффективностью представления. Пусть мы хотим доказать тавтологию (Р X Q) \/ рР X Q). Таблица для нее будет начинаться с формулы р(Р X Q) \/ ^Р k Q^, затем используется Q-правило, на основе которого формула разбивается на две формулы: рР X Q) и ^ДР & Q). С теоретической точки зрения таблица является замкнутой, поскольку одна из формул является отрицанием другой. Но если для доказательства этой формулы использовать приведенную выше программу, то она будет производить расширения в форме конъюнктов перед проверкой ветви на замыкание. В этом случае формула не будет доказана, поскольку контрарную пару образуют ее подформулы, а не литеры. Для того, чтобы устранить этот недостаток, Фиттинг разработал новую версию предиката expand, который назвал expand_and_close. Ниже приведем программную реализацию этого предиката.
expand_and_close(Tableau) :- closed(Tableau). expand_and_close(Tableau)
singlestep(Tableau, Newtableau), !, expand_and_close(Newtableau).
Заметим, что в приведенной реализации предиката expand_and_close используется оператор отсечения языка Пролог, который предотвращает генерацию ненужных расширений. Следует
сказать, что приведенная реализация является корректной и без оператора отсечения, но менее эффективной.
Далее необходимо сделать последнее расширение в предикате test, чтобы учесть новую версию предиката expand_and_close. Таким образом, предикат test имеет следующий вид:
р test(X) — создание полного расширения таблицы для формулы и проверка на замкнутость. Если таблица замкнутая, то X - теорема, в противном случае X не является теоремой. */ test(X) :- if_then_else(expand_and_close([ [neg X] ] ), yes, no).
Поскольку вслед за Фиттингом нами приведено несколько реализаций метода аналитических таблиц, зададимся вопросом: какая из реализаций является лучшей? Если мы попытаемся доказать формулу, подобную F V ^F, где F — формула, то последняя версия предиката test является, очевидно, лучшей. Но для других типов формул эта версия предиката test является неудачной, поскольку увеличивается время на их доказуемость. Таким образом, ответ на поставленный вопрос можно дать такой: выбор лучшей реализации метода аналитических таблиц зависит от наших знаний о формуле, т. е., другими словами, эвристики здесь играют не последнюю роль.
Следует отметить еще одну деталь, приводящую к неэффективности заключительной версии метода аналитических таблиц. Предположим, что аналитическая таблица построена до момента, начиная с которого она разветвляется на 5 ветвей, 4 из которых являются замкнутыми. Предикат, названный expand_and_close, будет тестировать на замкнутость все ветви таблицы и найдет ветвь, которая не является замкнутой. Затем применяется правило расширения таблицы, и снова вся таблица тестируется на замкнутость ветвей. Но 4 ветви были замкнутыми, и, естественно, замкнутыми и остались. Поэтому нет необходимости проверять их вновь, и более удачной версией программы является та, в которой удаляется из таблицы ветвь с обнаруженой замкнутостью. Читателю предлагается модифицировать последнюю версию реализации метода аналитических таблиц так, чтобы только что обнаруженная замкнутость ветви, удалялась из таблицы. Желаем успеха в разработке лучшей версии реализации метода аналитических таблиц для пропозициональной логики!
Реализация метода аналитических таблиц для логикипредикатов 1-го порядка
4-3.2.1. Алгоритм унификации. Перед описанием реализации метода аналитических таблиц для логики 1-го порядка приведем основные теоретические положения, лежащие в его основе. Одним
из фундаментальных алгоритмов в методах автоматического доказательства теорем является алгоритм унификации. В настоящее время известно огромное множество различных версий алгоритмов унификации. Ниже мы рассмотрим алгоритм унификации, введенный Робинсоном, для принципа резолюции, поскольку именно этот алгоритм выбран Фиттингом для реализации метода автоматического доказательства теорем на основе аналитических таблиц. Напомним основные определения.
Определение 4-8. Пусть имеются два терма £ и щ каждый из которых содержит переменные. Тогда подстановка а такая, что ta = = на, называется унификатором t и и.
Определение 4-9. Пусть cq и <72 — две подстановки. Говорят, что <72 — более общая подстановка, чем од, если для некоторой подстановки т <71 = а^т.
Пример 4.6.
^I = {/ОЦ Hz)))lx,g{,h{x),b)/y,h{x)/z}
о 2 = Шу^уТЦх^ЛЦу^
Здесь <72 — более общая подстановка, чем ai, потому что ai = а2Т, где т = {а/т, h(z) fy, h(x)/z}.
Заметим, что каждая подстановка является более общей к самой себе, поскольку а = аг.
Утверждение 4.1. Если аз более общая подстановка, чем а2, и <72 более общая, чем ai, то аз более общая, чем а^.
Определение 4-Ю. Пусть Н и ^ ~ два терма (определение можно расширить и более чем на два терма). Подстановка а — унификатор для Н и /^ если tia = t^a. Н и ^ унифицируемы, если они имеют унификатор. Подстановка а называется наиболее общим унификатором (НОУ), если она является более общим унификатором, чем другой унификатор.
Пример 4.7.
Два терма f(y, h(а)) и / (h(x), h(z)) можно унифицировать, используя подстановку ^h(x)/у, а/zY Также подстановка ^k(w)/x, h(k(wY/y^ aj z^ — унификатор, но первая подстановка является более общей.
Определение 4-И- Область изменения переменной для подстановки а есть множество переменных, которые встречаются в термах вида ха, где х — переменная.
Утверждение 4.2. Предположим, что как ai, так и <72 — НОУ для Н и t2- Тогда имеется переименование переменных для области изменения переменных для ai такое, что а^ = а2-
Подстановка £ есть переименование переменных для множества V переменных, если
для каждой х Е V х^ — переменная;
для х, у Е V (х ^ у) х^ и у^ — различные.
В приведенных выше примерах используется задание термов в линейной форме. Существует и другая форма задания термов, а именно, форма записи терма в виде дерева. Например, терм f(g(x, у, h(a, k(b)))) можно представить в виде упорядоченного дерева (рис. 4.2), где аргументы терма — потомки этого дерева.
Далее приведем определение расширенного представления дерева, которое является более удобным для реализации алгоритма унификации.
Рис. 4.2Рис. 4.2а, 1 к, 2а, 1 к, 2Рис. 4.3Рис. 4.3IЬ, 1IЬ, 1
Рис. 4.2
Рис. 4.2
а, 1 к, 2
а, 1 к, 2
Рис. 4.3
Рис. 4.3
I
Ь, 1
I
Ь, 1
Определение Д.12. Расширенное представление дерева терма есть дерево, в котором имя каждой вершины расширено целым числом, представляющим порядковый номер потомка для заданного родителя.
В качестве примера приведем расширенную версию дерева для предыдущего примера, изображенную на рис. 4.3.
Определение Д.13. Пусть Н и ^ — два терма. Пара рассогласования для этих термов есть пара diH d2, где di — подтерм Н и d2 — подтерм ^ такие, что расширенные деревья для di и d2 имеют различные имена вершин, соответствующих корням деревьев di и d2, таких, что путь, ведущий от корня Н вниз к корню di и путь, ведущий ОТ корня ^2 К корню d2, один и тот же.
Пример 4.8.
Рассмотрим термы: f(g(a, х\ h(c, j(y, ж))) и f(g(a, х\ h(c, k^z^\ Расширенные деревья, соответствующие этим термам, представлены на рис. 4.4, на котором также указана пара рассогласования для этих термов.
Заметим, что на обоих деревьях путь от корневой вершины вниз к подтермам, составляющим пару рассогласования, один и тот же {< /, 0 >, < h, 2 >}. В рассмотренном примере имеется только одна
6 В.Н. Вагин и др.
А, 2А, 2g, 1g, 1ИДИДУ, 1У, 1а, 1а, 1
А, 2
А, 2
g, 1
g, 1
ИД
ИД
У, 1
У, 1
а, 1
а, 1
Пара рассогласования: j(y, х), k(z)
Рис. 4.4
пара рассогласования, хотя их может быть и больше. Если два терма отличаются, то должна быть одна и более пар рассогласований. Также, если а унифицирует различные термы ti и ^2, он должен унифицировать каждую пару рассогласований этих термов.
Теперь дадим алгоритм унификации по Робинсону (см. также разд. 1.4).
Алгоритм унификации.
Пусть а := s;
while tier t^a do
begin
найти пару рассогласований di и 6/2 для tia^ t2er,
если ни di, ни 6/2 не являются переменными, то FAIL (неудача);
пусть х, содержащаяся как в di, так и в 6/2, а также или в di или 6/2, является переменной
и пусть t является одним из di или d2;
если х входит в t, то FAIL;
иначе а := a^x/t^ end.
Теорема 4.9 (унификации). Пусть Н и ^ — термы. Если Н и t2 неунифицируемы, то алгоритм унификации заканчивается с FAIL (неудача). Если Н и t2 унифицируемы, то алгоритм унификации заканчивается без FAIL, и конечное значение а будет НОУ для Н и t2.
Поскольку существует необходимость в унификации более чем одной пары термов, разработан алгоритм многократной унификации, в основе которого лежит процедура сведения к бинарной унификации. Рассмотрим алгоритм многократной унификации.
Предположим, что {/щ /щ ^2, • • • ^п} ~ множество термов. Унификатором для данного множества является подстановка а такая, что t^a = t±a = ... = tna. Как обычно, НОУ есть унификатор, который является более общим, чем любой другой унификатор. Многократная
унификация может быть довольно просто сведена к последовательности выполнения задач бинарной унификации. Предположим, что ДоД1Д2, • • • Дп} имеет унификатор. Определим последовательность подстановок, каждая из которых вычисляется алгоритмом бинарной унификации следующим образом:
(71 — НОУ для to иф
(72 — НОУ ДЛЯ toO"! И ^(Ту.
(7з — НОУ ДЛЯ to^l^2 И ф^1^2-
НОУ ДЛЯ ф<71<72 • • • (7n—1 И t^CTyCT^ . . . (7П—!•
Далее объявляем, <7i<72 ... <7n_i<7n — НОУ для множества ДоД1 Д2? • • • Дп}- Таким образом, мы выполнили многократную унификацию.
Следует отметить, что существуют и другие подходы к созданию алгоритмов унификации. Один из таких подходов основан на нахождении согласующейся (concurrent) унификации. Вместо подстановки ст, унифицирующей термы t и п, удобно иногда говорить, что имеется решение уравнения t = и. Предположим, что мы имеем уравнения to = ^оД1 = ^i,... ,tn = ип. Подстановка а является результатом решения каждого уравнения.
Далее мы приведем теоретические положения, на которых базируется метод автоматического доказательства теорем на основе аналитических таблиц для логики предикатов 1-го порядка. Отметим, что вышеописанный алгоритм унификации играет в этом методе ключевую роль. (Реализация алгоритма унификации на языке Пролог, приведена в п. 4.3.2.3).
Аналитические таблицы со свободными переменными. Главная практическая сложность в реализации метода аналитических таблиц для логики предикатов 1-го порядка заключается в правиле 7, которое позволяет добавлять в ветвь, содержащую формулу у, формулу 7Д), где t — фундаментальный пример. Следует отметить, что существует бесконечное множество подстановок в формулу 7, и ранее созданные решатели теорем осуществляли перебор примеров некоторым систематическим способом. Однако это не является эффективным. Для оперирования с формулами типа 7 Фиттинг предложил следующую процедуру. Она заключается в добавлении в ветвь, содержащую формулу 7, формулу 7Д), где х — новая свободная переменная, которая принимает значение при использовании алгоритма унификации, замыкающего ветвь. Именно эта процедура и дала название данному параграфу. Но эта процедура не является панацеей от всех проблем, поскольку здесь возникает трудность при использовании правила 5. Теперь мы не можем быть уверены в том, что параметр, используемый в правиле 5, является новым. Для решения этой проблемы было использовано более сложное понятие параметра,
чем то, которое использовалось до сих пор. Таким образом, если формула б встречается на ветви, то в конец ветви добавляется формула 5(/(^1, • • •, ^п)), где / — новый функциональный символ и xi,..., хп — все свободные переменные, встречающиеся на этой ветви. В этом случае неважно, какие значения принимают переменные xi,...,xn, поскольку /(т1,...,тп) является отличной от любой из них. Здесь необходимо использовать процедуру для проверки появления переменной (occurs—check). Введенные символы называются сколемовски- ми функциональными символами. Следует отметить, что правило б может использоваться после любого применения правила у, которое вводит свободные переменные, используемые в качестве аргументов в сколемовских функциях. Особо выделяется случай, когда ни одно из правил у не применялось, т. е. никакая свободная переменная не была введена. В этом случае сколемовский функциональный символ должен быть 0-местным. Но 0-местный функциональный символ является просто константой, т. е. параметром в обычном смысле. Эти рассуждения приводят к следующему определению.
Определение 4-14- Пусть L = L(R,F,C) — язык 1-го порядка. Пусть par — счетное множество константных символов, не входящих в С. Также пусть sko — счетное множество функциональных символов, не входящих в F (называемых сколемовскими функциональными символами), включающее бесконечно много 1-местных, 2-местных и т. д. функциональных символов. Тогда через Lsko обозначим язык 1-го порядка: Lsko = L(R, FUsko, CUpar), где R — счетное множество предикатных символов.
Следует отметить, что доказательства строятся из замкнутых формул языка £. также при этом используются формулы языка Lsko. Таким образом, механизм доказательства совпадает с описанным в разд. 4.2, за исключением правил, оперирующих с кванторами. Так, пропозициональные правила расширения таблиц и правила замыкания ветви одинаковы, а правила оперирования с формулами, имеющими кванторы, различны и берутся из таб. 4.6.
Таблица 4.6
7
д
7(ж)
(где х — свободная переменная)
5(J(xi,...,#„))
(где / — новый символ сколемовской функции и xi,...,xn — все используемые в ветви свободные переменные)
Далее приведем определение и правило подстановки.
Определение 4-15. Пусть а — подстановка и Т — таблица. Расширим действие ст на Т путем получения подстановки Та^ которая
является результатом замены каждой формулы X в Т на Ха. Говорят, что а свободна для Т при условии, что а свободна для каждой формулы в Т.
Правило подстановки для таблицы. Если Т — таблица для множества замкнутых формул S из L и подстановка а свободна для Т, тогда Та также является таблицей для S.
Как обычно, табличным доказательством со свободными переменными формулы X является замкнутая таблица для {^Х}, при построении которой используются правила расширения для пропозициональной логики (правила а и /3), правила оперирования с кванторами (правила у и 5), описанные выше, и правило подстановки для таблицы.
Рассмотрим примеры, поясняющие метод аналитических таблиц со свободными переменными.
Пример 4.9.
Доказать формулу: 3wVx7^x, w,/(х, w)) ЗиМхЗуК^х^ иц у).
^[3wVx7?(x, w, f (х, w)) —> ЗиМхЗуН^х^ иц ?/)]
ЗиХхН^х, иц / (ж, w))(1)
^ЗиХхЗуН^х, иц у)(1)
\/xR(x, a, / (ж, а))(2)
-ХхЗуК^х, щ, у)(3)
^ByR(b(vi),-ui,y)(5)
R(i)2,a, /(«2, а))(4)
-^R(b(vi),vi, v3)(6)
Приведем поясняющий комментарий.
и (3) получаются из (1) путем применения правила а.
выводится из (2) вследствие правила 5. В нем а — 0-местный сколемовский функциональный символ, т. е. параметр.
получается из (3), если применить правило у, которое вводит новую свободную переменную щ.
следует из (5) путем применения правила 5, с учетом введения одноместного сколемовского функционального символа Ь.
получается из (4), если примененить правило у, которое вводит новую свободную переменную Г2-
Затем (8) выводится из (6) с помощью правила у, вводящего новую свободную переменную гд.
Теперь применим правило подстановки для таблицы, используя подстановку а = {а/щ, 6(а)/г2,/(6(a), а)/гд} и построим замкнутую таблицу получением контрарной пары (7) и (8). Подстановка тривиально свободна, поскольку все подставленные термы замкнуты.
Рассмотрим следующий пример, в котором строится аналитическая таблица со свободными переменными для доказательства заключения известной тестовой задачи «Стимроллер» (см. разд. 2.5.3).
Пример 4.10.
Имеем:
3xW^x\
3xF^x\
ЗхВ^х\
ЗхС{х\
3xS(x\
\/x(W(x)А^\
Vt(F(t) А^\
\/х(В(х) А(х\ц
^х(С(х)А(х)\
^x(S(x)А(х)\
3xG(x\
\/x(G(x)Р^\
\/x\/y\/z\/v[(A(x) & Р^ Е(х^у)) V (A(z) & P(v) & M(z,x) &
& E(z, v) —> E(x, г))],
VtV?/[C(t) & B(y) M(x, y)] k VxNy[S(x) k B(y) M(x, y)^
\/x\/y[B(x) fc F(y) M(x,y)^
\/x\/y[F(x) fcW(y)M(x,y)^
^x^y[W(x) k F(y)-^E(x,y)^
^x^y[W(x) k G(y)-^E(x,y)^
\/x\/y[B(x) fc C(y) E(x,y)^
\/x\/y[B(x) fc S(y) ^E^x^y^^
\/хЗу[С{х) P(y) k E(x,y)V
\/x3y[S(x) P(y) k E(x,y^
P 3x3?/[A(x) & A(y) k [E(x.y) k 3z\G^ & ^(x/, ^)]]].
Построим аналитическую таблицу co свободными переменными для доказательства заключения.
Метод аналитических таблиц в логическом
(Ха '9з
'93
(®)ж 43
[[[(^з ч (XoW 2? (ftlXa\ 2? (Ху ч (ХМ^е- 43
W^Xa 2? (Ха (XsX^ 'зз
\Цг‘Хэ 2? (Ха (ХэЖ^ чз [(/1‘ж)з^ (Xs ^ (ХаХ^ 'оз
V(ft‘x)g ^э 2^ (х^аШ^/Х '61 (^‘х^а^(/г)у^ЦШХ^/Х'81
(^‘х^а^ ^а ^ (ХмХ^/х 'zi ^‘х)]Д[^ (ЦлХ^/Х '91
[(/г‘ж)и/ (Ха (х)а]^х/\ '91 ((fVx^jv (Ха 2? (x)sWak 2? VX^j/v (ft)a ^ (x)g]^x^ ai
V(X‘x)a ^- (fttXa ч (x‘Xim 2? (Ха 2? (Цу) л (Ц‘х)а ^- (Ха ^ (x)v)Xf\z^^ '£i
((Ха
((ж)у .((Ж)У((Ж)У((Цу((Ху •
(Хэм 'зт (ЦЭ^Е 'll (XsW 'от - (ХэМ '6 - (ХаШ '8 - (ЦаШ 'L (ХМ '9
(Ца^Е '5 (ХЭхЕ 4 (Це^е £ (ХахЕ -з (Ж)/ИЖЕ Ч
-TV4)
^Ч)
□{^/^1} с 24
-FK)
□{6/v2}с 25
33. -B(v3)
34. A(v3)
□{с/уз} с 26
35. -G4)
36. A^)
□{е/^} с 28
37. -S(v5)
38. A(v5)
□44} С 27
39. G(/)
41. -G4)
42. F4)
□{/М с 39
42. -G(v7)
43. P(h(v7)) & Е(у7,Ь,Ы)
□{е/г^} с 28
44. P(h(v7))
45. Е^^ Цг^))
46. -S(v8)
47. F(g(v8)) & ЖяМ
□Vd/v^ с 27
48. PW
49. ВЧ,5Ч))
50. -(^Ч) & ^Чо))
51. -ЕЧ.^ю)
52. нЖ(У9)
53. -F4o)
□{a/vg} с 24
□ {6/vio} с 25
54. -^Е^сц b)
27. S{d)
28. G(e)
168Вывод на аналитических таблицах
55. ^(W(vii) & G(v42))
56. -iB(«n,«12)
57. ^W(vn)
58. -G(«i2)
□{^/^11} с 24
□{//«12} с 39
59. -ЕЦП
60. -(B(v13) & S(v44))
61. -,E(vi3, v44)
62. ^B(vi3)
63. -S(vi4)
64. Мс,Ц
□{с/«хз} С 26
□{d/«i4} с 27
65. ЦВМ & G(v16))
66. £(«15, Vie)
67. -B(vi5)
68. ^СМ
69. ЕЦе^
□{c/«i5} С 26
□{e/«ie} с 28
70. ЦВМ & B(vi8))
71. M(vi7, ^is)
72. ^B(«i7)
73. -В(«18)
74. M(_c,b)
□{с/^17} с 26
□W«is} С 25
75. -(B(«19) & H^2o))
76. M(vi9, v20)
78. -B(vi9)
79. -TV(v20)
80. M^a)
□{6/vi9} с 25
□{a/v2o} c 24
81. G(v2i) & B(«22)M(v2i,v22)
82. S(v2i) & B(«22)M(v2i,v22)
83. -(G(v2i) & B^M
84. M(^21? ^22)
85. -C(v2i)
86. ^5(^22)
□ {e/«2i} с 28
□{c/v22} c 26
87. ^ЕЦс^
88. ЦВМ BM)
89. M(«2i,v22)
90. -S^)
91. -BM
92. МЦс)
Метод аналитических таблиц в логическом
□ {<//«21} с 27
П{с/Ц2} с 28
93.Л(«23) & Р(«24) Р(«23,«24)
94.4(^25) & ^(^б) ^ ^(^25^2з) ^ ^ Е(У2Б^2б)^(^23,^25)
95. -(Ж«2з) & Р(«24))
96.^^23^24)
99.(Д(«2б) & Р(«2б) &
& М(«23, V23) & Р(«25,«2б))
100. Р(«23,«2б)
97. -A(v23)
98. -Р(«24)
□{c/«23,d/v25} с 64
□{е/«23} с 36
□{//«24 } С 41
101. -А(«25) 102. ^Р(«26)
103. -’M(v25,v23) 104. -'Р(«25,«2б)
□ {<//«25} С 38 □{5(d)/«26} С 48
□{^/«25,с/«23} с 92 □{^/«25,5'(</)/«2б} с 49
105.^(^(^27) & ^4(^28) & [^(^27,^28) & Зг[С(г) & Е(?/28,^)]])
106. 4A(v27^
107. -Л(«28)
108. ^(Е(«27, «23) & 3z[G(z) & E(v28,z)])
□ {с/«2т} С 34
□{е/«28} с 36
109. ^S(V27, y2s)
□{с/^27, е/^28} С 69
ПО. ^Bz(G(z) &E(V28,Z))
111. ^(G(l?29) & ^(^28,^29))
112. ^G(«29)
113. -^E(U27^ ^2в)
□{//«29} С 39
□{e/«28,//«29} C 96
Вывод на аналитических таблицах
Остановимся на проблеме реализации метода аналитических таблиц со свободными переменными. Напомним, что перед введением свободных переменных в таблицу перед нами стояла проблема выбора: «Какие термы нужно применять в правиле 7?». Теперь эта проблема видоизменилась: «Какие значения следует применять вместо свободных переменных?». Но сейчас мы имеем очевидный ответ: «следует применять подстановки, которые делают ветвь замкнутой, и эти подстановки можно определить, используя алгоритм унификации».
Следует отметить, что процедура замыкания таблицы накладывает ряд ограничений, одним из которых является то, что в ней используется правило атомарного замыкания.
Определение 4-16. Правило атомарного замыкания с помощью НОУ. Предположим, что Т-таблица для множества S замкнутых формул языка L и некоторая ветвь Т содержит А и -^В^ где А и В — атомарные формулы. Тогда Та также является таблицей для 5, где а — НОУ для А и В.
Поскольку правило атомарного замыкания с помощью НОУ есть как раз специальный случай правила подстановки таблицы, его добавление в систему не будет влиять на свойство состоятельности метода аналитических таблиц. И можно доказать, что система полна, даже когда все применения правила подстановки таблицы ограничены применениями правила атомарного замыкания с помощью НОУ.
4-3.2.3. Реализация алгоритма унификации на языке Пролог. В настоящее время существует несколько алгоритмов унификации, которые отличаются от алгоритма унификации, предложенного Робинсоном. Фиттинг предложил реализацию алгоритма унификации на языке Пролог, которая имеет следующие особенности. Во-первых, в алгоритме унификации унифицирующая подстановка (НОУ) а создается с помощью успешно составленных простейших подстановок, которые часто называют связками (bindings). Во-вторых, в предложенном алгоритме не выполняется вычисление композиции подстановок, а происходит запоминание каждой связки. Для запоминания подстановок (связок) используется список окружения (environment list), состоящий из элементов [хД], означающих, что вхождения х заменяются на t. Специфичной чертой данной замены является то, что связка t, в свою очередь, может быть заменена другими переменными, содержащимися в списке окружения. Если при унификации термов встречаются функциональные символы /(...) и д(...), то унификация невозможна и, таким образом, нет необходимости проверять на унифицируемость аргументы функций / и д.
Для того, чтобы не было конфликтов с переменными языка Пролог, разработчики данного алгоритма используют выражение
variable(X) для обозначения того, что X является свободной переменной языка L.
р variable(X) — X является свободной переменной. */ variable(var(_)).
Кроме того, для оценивания терма Term в окружении Env был введен предикат partialvalue (Term,Env,Result). Если терм не является свободной переменной, или является свободной переменной без связывания в окружении Env, то Result совпадает с Term без изменения. В то же время, если связка для терма Term в окружении Env найдена, то процесс оценивания применяется к связке. Приведем реализацию предиката parti al value.
Р partialvalue(X, Env, Y) — Y является частично вычисленным значением терма X в окружении Env, где окружение Env является списком подстановок. */
partialvalue(X, Env, X).
partialvalue(X, Env, Y) :- member([X I Z] , Env), partialvalue(Z, Env, Y) .
/* member(X, Y) — X является элементом списка Y. */ member (X, [X I_].
member(X, E_IYj) :- member(X, Y) .
Для реализации алгоритма введены также несколько предикатов, описанных ниже. Они используются для выполнения проверки термов на унифицируемость.
р in(X, Т, Env) — X является вхождением в терм Т в окружении Env. */
in(X, Т, Env) :- partialvalue(Т, Env, U),
(X == U; not variable(U),
not atomic(U), infunctor(X, U, Env)).
infunctor(X, U, Env) :- U == [ _ I L], inlist(X, L, Env). inlist(X, ETI _] , Env) :- in(X, T, Env).
inlist(X, [_|L], Env) :- inlist(X, L, Env).
Приведем непосредственно предикат унификации: unify (Terml, Term2, Env,Newenv). Предикат unify принимает значение истина, если результат унификации термов Terml и Term2 в окружении Env влечет создание нового окружения Newenv. Для более подробного объяснения приведенной ниже реализации предиката unify заметим, что в языке
Пролог вместо логической связки «ог» пишется «;». Для того, чтобы унифицировать два предиката Terml и Term2, сначала оцениваются их значения, т. е. осуществляется разбиение на термы (переменные, константы, функции). Затем, если выделенным элементом является переменная, то она связывается с другим выделенным элементом после проверки их на унифицируемость. Таким образом, если выделенный элемент заменяется на более сложный, например, переменная заменяется на функцию, то далее выделяются аргументы у функции, и осуществляется их унификация.
р unify (Terml, Term2, Env, Newenv) — унификация термов Terml и Ter m2 в окружении Env, создавая новое окружение Newenv, где Env - старый список подстановок, Newenv — новый список подстановок. */
unify(Terml, Term2, Env, Newenv) :-
partialvalue(Terml, Env, Vail), partialvalue(Term2, Env, Val2), ((Vail == Val2, Newenv = Env);
(variable(vail), not in(Vall, Val2, Env), Newenv = [[Vail, Val2] I Env]);
(variable(Val2), not in(Val2, Vail, Env), Newenv = [[Val2, Vail] I Env]);
(not variable(Vail), not variable(Val2), not atomic(Vail), not atomic(Val2), unifyfunctor (Vail, Val2, Env, Newenv))).
p unifyfunctor(Funl, Fun2, Env, Newenv) — унификация функциональных термов Funl и Fun2 в окружении Env, производя новое окружение Newenv. */
unifyfunctor(Funl, Fun2, Env, Newenv) :-
Funl = [FunSymb I Argsl], Fun2 = [FunSymb I Args2], unifylist(Argsl, Args2, Env, Newenv).
p unifylist(Listl, List2, Env, Newenv) — начиная с окружения Env и унифицируя каждый терм в Listl с соответствующим термом в List2, создаем окружение Newenv. */
unifylist([ ], [ ], Env, Env).
unifylist([Headl I Taill], [Head2 I Tail2], Env, Newenv) :- unify(Headl, Head2, Env, Temp), unifylist(Taill, Tail2, Temp, Newenv).
Следует заметить, что в приведенной выше реализации алгоритма унификации опущены предикаты, необходимые для проверки термов
на унифицируемость (связанность). Рассмотрим реализацию предиката unify, в которой учтена такая проверка термов.
/* unify(Terml, Term2) — проверка Terml и Term2, являются ли они унифицируемыми. */
unify(X, Y) var(X), var(Y) , X = Y.
unify(X, Y) :- var(X), nonvar(Y), not_occurs_in(X, Y), X = Y.
unify(X, Y) :- var(Y), nonvar(X), not_occurs_in(Y, X) , Y = X.
unify(X, Y) :- nonvar(X), nonvar(Y), atomic(X), atomic(Y), X = Y.
unify(X, Y) :- nonvar(X), nonvar(Y), compound(X), compound(Y), term_unifу(X, Y).
not_occurs_in(X, Y) :- var(Y), X != Y.
not_occurs_in(X, Y) :- nonvar(Y), atomic(Y).
not_occurs_in(X, Y) :- nonvar(Y), compound(Y), functor(Y, F, N) ,
not_occurs_in(0, X, Y) .
not_occurs_in(N, X, Y) .
not_occurs_in(N, X, Y) :- N > 0, arg(N,Y,Arg),
not_occurs_in(X,Arg), N1 is N - 1, not_occurs_in(Nl,X,Y).
term_unifу(X, Y) :- functor(X, F, N) , functor(Y, F, N) ,
unify_args(N, X, Y).
unify_args(0, X, Y).
unify_args(N, X, Y) :- N > 0, unify_arg (N, X, Y), N1 is N - 1, unify_args(N1, X, Y).
unify_arg(N, X, Y) :- arg(N, X, ArgX), arg(N, Y, ArgY), unify(ArgX, ArgY).
compound(X) :- functor(X, _, N), N > 0.
4-3.2.4* Реализация метода аналитических таблиц для логики предикатов 1-го порядка на языке Пролог. Хотя большинство реализаций метода доказательства теорем выполнено на основе принципа резолюций, здесь мы рассмотрим реализацию этого метода с использованием аналитических таблиц, выполненную Фиттингом, поскольку в последние годы указанный метод выбран как один из перспективных для доказательства теорем. Далее мы приведем реализацию метода, основанного на методе аналитических таблиц
в логике 1-го порядка со свободными переменными, на языке Пролог. Отметим, что правила подстановки, используемые в методе аналитических таблиц, основаны на нахождении НОУ, который строится для замыкания ветви. В качестве пояснения к приведенной ниже реализации метода заметим, что переменные языка Пролог используются как свободные переменные в формулах прикладного языка, и формулы удаляются из ветви, только если они могут быть унифицированы.
р member (Item, List) — Item является элементом списка List. */ member[X, [X I _] ).
member(X, [_ I Tail]) :- member(X, Tail).
p remove (Item, List, Newlist) — Newlist является результатом удаления всех вхождений элемента Item из списка List. */
remove(X, [ ] , [ ] ).
remove(X, [Y I Tail], Newtail) :-
X == Y, remove(X,Tail, Newtail).
remove(X, [Y I Tail], [Y I Newtail]) :-
X != Y, remove(X, Tail, Newtail).
p append (List A, ListB, Newlist) — Newlist является результатом соединения списков List А и ListB. */
append([ ], List, List).
append([Head I Tail], List, [Head I Newlist]) :-
append(Tail, List, Newlist).
p Пропозициональные операторы: neg, and, or, imp, revimp, uparrov, downarrow, notimp и notrevimp */
?-op(140, fy, neg).
?-op(160, xfy, [and, or, imp, revimp, uparrov, downarrow, notimp, notrevimp]).
p conjunctive(X) — X является а-формулой. */
conjunctive(_ and _).
conjunctive (neg (_ or _)).
conjunctive(neg(_ imp _)).
conjunctive(neg(_ revimp _)).
conjunctive(neg(_ uparrow _)).
conjunctive(_ downarrow _) .
conjunctive(_ notimp _).
conjunctive(_ notrevimp _).
p disjunctive(X) — X является /3-формулой. */
disjunctive(neg(_ and _)).
disjunctive(_ or _) .
disjunctive(_ imp _).
disjunctive (_ revimp _) .
disjunctive(_ uparrow _).
disjunctive(neg(_ downarrow _)).
disjunctive(neg(_ notimp _)).
disjunctive(neg(_ notrevimp _)).
P unary (X) — X является двойным отрицанием или отрицанием константы. */
unary(neg neg _).
unary(neg true).
unary(neg false).
p binary_operator(X) — X является бинарным оператором. */ binary_operator(X) :- member(X, [and, or, imp, revimp, uparrow, downarrow, notimp, notrevimp]).
p components(X, Y, Z) — У и Z являются компонентами формулы X, определенными в соответствии с правилами а и (3. */
components(X and Y, X, Y) .
components (neg (X and Y), neg X, neg Y) .
components(X or Y, X, Y) .
components (neg(X or Y), neg X, neg Y) .
components(X imp Y, neg X, Y) .
components (neg (X imp Y), X, neg Y) .
components (X revimp Y, X, neg Y).
components (neg(X revimp Y), neg X, Y) .
components (X uparrow Y, neg X, neg Y).
components (neg (X uparrow Y), X, Y) .
components (X downarrow Y, neg X, neg Y).
components(neg(X downarrow Y), X, Y) .
components(X notimp Y, X, neg Y) .
components (neg(X notimp Y), neg X, Y) .
components(X notrevimp Y, neg X, Y) .
components(neg(X notrevimp Y), X, neg Y) .
p component (X, Y) — Y является компонентой формулы X. */
component (neg neg X, X) .
component (neg true, false.).
component (neg false, true).
Заметим, для задания кванторов используется функциональная нотация языка Пролог. Таким образом, формула ^хР(х) представляется 2-х местной функцией а11(х,р(х)). Аналогично формула ЗхР(х) представляется, как some(x,p(x)). Затем формула Зх(Р(х) \/хР(хУ) записывается в следующем виде: some(x,p(x) imp all(x,p(x))). Следует отметить, что реализация метода аналитических таблиц наряду с обычными логическими связками ( & , V, -|,) поддерживает нетрадиционные логические связки,
например, эквивалентность, стрелку Пирса и штрих Шеффера.
р universal (X) — X является у-формулой. */ universal(all(_, _)).
universal(neg some(_, _)).
p existential(X) — X является 5-формулой. */ existential(some(_, _)). existential(neg all(_, _)).
p literal(X) — X является литерой. */
literal(X) :- not conjunctive(X), not disjunctive(X), not unary(X), not universal(X), not existential(X).
p atomicfmla(X) — X является атомарной формулой. */ atomicfmla(X) :- literal(X), X != _neg_.
Отметим, что формулы а и (3 имеют компоненты, а формулы у и 5 имеют примеры. Запись примера предполагает, что известен способ построения подстановки термов для свободных переменных в формуле. Для нахождения подстановки служит предикат sub, который также разбивает формулу на подформулы, обеспечивая добавление следующего уровня. В реализации метода формулы, термы и подстановки представляются списками.
/* sub(Term, Variable, Formula, NewFormula) — NewFormula является результатом подстановки Term во все вхождения свободной переменной Variable в формулу Formula. */
sub(Term, Variable, Formula, NewFormula) :-
sub_(Term, Variable, Formula, NewFormula), !.
sub_(Term, Var, A, Term) :- Var == A.
sub_(Term, Var, A, A) :- atomic(A).
sub_(Term, Var, A, A) :- var(A).
sub_(Term, Var, neg X, neg Y) :- sub_(Term, Var, X, Y) .
sub_(Term, Var, F(X,Y), F(U,V)) :- binary_operator(F), sub_(Term, Var, X, U), sub_(Term, Var, Y, V) .
sub_(Term, Var, all(Var, Y) , all(Var, Y)).
sub.(Term, Var, all(X,Y), all (X, Z))
sub.(Term, Var, Y, Z) .
sub_(Term, Var, some(Var, Y), some(Var, Y)).
sub_(Term, Var, some(X, Y), some(X, Z)) :-
sub.(Term, Var, Y, Z).
sub.(Term, Var, Functor, Newfunctor) :-
Functor = [F | Arglist],
sub.list(Term, Var, Arglist, Newarglist), Newfunctor = [F I Newarglist].
sub.list(Term, Var, [Head I Tail], [Newhead I Newtail]) :- sub.(Term, Var, Head, Newhead), sub.list(Term, Var, Tail, Newtail).
sub.list(Term, Var, [ ], [ ]).
Понятия примеров 7- или 5-формул могут быть легко охарактеризованы.
р instance(F, Term, Ins) — F является квантифицированной формулой, и Ins является результатом удаления квантора и замещения всех свободных вхождений квантифицированной переменной на вхождение терма Term. */
instance(all (X,Y), Term, Z) :- sub_(Term, X, Y, Z). instance(neg some(X,Y), Term, neg Z) :- sub_(Term, X, Y, Z). instance(some(X,Y), Term, Z) :- sub_(Term, X, Y, Z).
instance(neg all(X,Y), Term, neg Z) :- sub_(Term, X, Y, Z).
Каждый раз, когда применяется правило 5, вводится новый функциональный символ. Далее используется символ сколемовской функции fun(n), где п является числом, которое увеличивается на 1 каждый раз при использовании правила 6. Для запоминания текущего значения числа п применяют механизм, описанный далее. Для начала вводят предикат funcount, который запоминает текущий номер сколемовской функции. Начальное значение номера равно 1, и оно определяется записью funcount (1). Затем каждый раз, когда используется правило 5, вызывается предикат newfuncount. Далее применяют предикаты retracts и asserts для извлечения программного предиката funcount (п) и замещения его на новый программный предикат funcount (п+1). Отметим, что этот механизм является не очень логичным для языка Пролог, но Фиттинг не считает его неудобным.
Для того, чтобы пользователь этой программы имел возможность доказывать несколько различных формул, был введен предикат reset, который просто сбрасывает значение funcount к 1.
Р funcount (N) - N является текущим индексом сколемовской функции. */ funcount(1).
р newfuncount(N) - N является текущим индексом сколемовской функции, увеличенным на 1. */
newfuncount(N) :- funcount(N) , retract(funcount(N)), M is N + 1, assert(funcount(M)).
p reset - сбрасывание индекса сколемовской функции к 1. */ reset :- retract(funcount(_)), assert(funcount(1)), !.
p sko_fun(X, Y) - X является списком свободных переменных, Y является списком символов сколемовских функций, примененных к этим переменным и неиспользуемым. */
sko_fun(Varlist, Skoterm) :- newfuncount (N) ,
Skoterm = [fun [N I Varlist]].
Итак, мы описали работу с правилом 6. Рассмотрим теперь механизм работы с правилом у. Для работы с этим правилом была введена сложная структура, которая называется «записываемой ветвью» (notated branch). Она представляет собой структуру nb(Notation,Branch), где Branch является списком формул, а Notation содержит информацию, которая связывается с ветвью. Вводятся два вспомогательных предиката, которые работают с этой структурой.
р notation(Notated, Information) — Notated является записываемой ветвью, Information содержит связанную с ней информацию. */ notation(nb(X, Y) , X).
р branch(Notated, Branch) — Notated является записываемой ветвью, Branch является частью этой ветви. */
branch(nb(X, Y), Y).
Затем вводится предикат single st ер, который используется для расширения таблицы по соответствующим правилам и для проверки ветви на замкнутость. Источником трудностей здесь является правило у. Для работы с ним предлагается перейти от у к y(t) для любого константного терма t в формулах, не содержащих свободные переменные. Такое правило можно применять несколько раз к одной и той же формуле, используя каждый раз различные константные термы. Следует отметить, что существует бесконечное число константных термов,
и, таким образом, процесс расширения таблицы может никогда не завершиться, и, следовательно, никогда не будет достигнут шаг, при котором ветвь станет замкнутой. Подобная проблема возникает также при работе с таблицами, содержащими свободные переменные. Но после всего сказанного выше, следует заметить, что если существовал бы некоторый процесс, который всегда приводил бы к завершению таблиц 1-го порядка за конечное число шагов, то существовала бы разрешающая процедура для логики 1-го порядка. Однако знаменитый результат, известный как теорема Чёрча, свидетельствует об отсутствии подобной процедуры.
Путь, ведущий к преодолению этой трудности, основан на ограничении числа применений у-правила при доказательстве методом таблиц. Для этого используется метод Q-depth, заключающийся в следующем. Когда у-правило было применено максимальное число раз, которое определяется заранее в виде значения Q-depth, оно может больше никогда не применяться. Таким образом, используя метод Q-depth, можно построить замыкание расширения таблицы (ни одно из правил не может быть применено), за конечное число шагов, и далее переходить к этапу тестирования замыкания. Таким образом, доказательства являются конечными. Если выражение X является доказуемым, то имеется доказательство, в котором сделано конечное число применений у-правила. Следовательно, если X является истинным, то оно будет доказуемо, если использовать метод Q-depth. В принципе применяя каждый раз большее значение для метода Q-depth, можно получить доказательство истинности любого выражения при условии игнорирования проблемы временной сложности и ограниченного объема памяти. С другой стороны, ложность выражения эквивалентна его недоказуемости на основе метода Q-depth любой размерности, и это никогда не может быть выполнено, даже если будет сделано бесконечное число шагов.
Отметим, что при создании автоматического метода аналитических таблиц, реализованного на языке Пролог, была использована идея Р. Смальяна, заключающаяся в том, что ветвь рассматривается как нить, по которой осуществляется движение всегда сверху вниз, и сначала применяются правила для отрицания и правила оц а затем остальные правила. С учетом этой идеи был реализован метод, в котором формула удаляется из ветви, если она не является формулой у, и затем добавляются ее компоненты (для формул а и /3) или примеры (для формул 5). В качестве пояснения Фиттинг отмечает, что он реализовал на языке Пролог метод, в котором добавление компонент к началу ветви является удобным, хотя это теоретически не обоснованно. В то же время, если выбрана формула у, то она удаляется из ветви, добавляется соответствующий пример, и затем добавляется новое вхождение формулы у в конец ветви. Изложенные
выше положения гарантируют то, что каждый раз, когда рассматривается формула 7 на ветви, осуществляется повторение этой формулы в ее исходном виде.
Еще одной проблемой, возникающей при реализации метода, является случай, когда каждая ветвь содержит формулу 7. Для решения данной проблемы была предложена обработка нитевидного представления таблицы, являющегося списком записываемых ветвей, подобно приоритетной очереди. Далее работа начинается с 1-й ветви, затем со второй и т. д. и продолжается до тех пор, пока не встретится формула 7. Когда правило 7 применяется, то ветвь перемещается в конец списка ветвей. Это гарантирует распространение применения правила 7 на все ветви с помощью метода Q-depth.
Затем вводятся предикаты single st ер, которые имеют 4 аргумента. Первые два аргумента представляют аналитическую таблицу до и после применения правила расширения таблицы как в пропозициональном случае. Два следующих аргумента представляют соответствующее количество применения правила 7, используемое в Q-depth до и после его применения. Последние два аргумента используются только при работе с правилом 7. Заметим, что переменные языка Пролог взяты в качестве свободных переменных.
/* singlestep(01dTableau, OldQdepth, NewTableau, NewQdepth) - применение одного правила расширения таблицы к таблице OldTableau с заданным числом применений 7-правил OldQdepth. При этом создается новая таблица NewTableau, и осуществляется изменение числа применений правила 7 OldQdepth на NewQdepth. */
singlestep([OldNotated I Rest], Qdepth, [NewNotated I Rest], Qdepth) :-
branch(OldNotated, Branch), notation(01dNotated, Free), member(Formula, Branch), unary (Formula), component(Formula, NewFormula), remove(Formula, Branch, TempBranch), NewBranch = [NewFormula I TempBranch], branch(NewNotated, NewBranch), notation(NewNotated, Free).
singlestep([OldNotated I Rest], Qdepth, [NewNotated I Rest], Qdepth) :-
branch(OldNotated, Branch), notation(01dNotated, Free), member(Alpha, Branch), conjunctive(Alpha), components(Alpha, AlphaOne, AlphaTwo),
remove (Alpha, Branch, TempBranch), NewBranch = [AlphaOne, AlphaTwo I TempBranch], branch(NewNotated, NewBranch), notation(NewNotated, Free).
singlestep([OldNotated I Rest], Qdepth, [NewOne, NewTwo I Rest], Qdepth):- branch(OldNotated, Branch), notation(01dNotated, Free), member(Beta, Branch), disjunctive(Beta), components(Beta, BetaOne, BetaTwo), remove (Beta, Branchy, TempBranch), BranchOne = [BetaOne I TempBranch], BranchTwo = [BetaTwo I TempBranch], branch(NewOne, BranchOne), notation(NewOne, Free), branch(NewTwo, BranchTwo), notation(NewTwo, Free).
singlestep([OldNotated I Rest], Qdepth, [NewNotated I Rest], Qdepth) :- branch(OldNotated, Branch), notation(01dNotated, Free), member(Delta, Branch), existential(Delta), sko_fun(Free, Term), instance(Delta, Term, Deltalnstance), remove(Delta, Branch, TempBranch), NewBranch = [Deltalnstance I TempBranch], branch(NewNotated, NewBranch), notation(NewNotated, Free).
singlestep([OldNotated I Rest], OldQdepth, NewTree, NewQdepth) :- branch(OldNotated, Branch), notation(01dNotated, Free), member(Gamma, Branch), universal(Gamma), OldQdepth > 0, remove(Gamma, Branch, TempBranch), NewFree = [V I Free], instance(Gamma, V, Gammainstance), append([Gammainstance I TempBranch], [Gamma], NewBranch), branch(NewNotated, NewBranch), notation(NewNotated, NewTree), append(Rest, [NewNotated], NewTree), NewQdepth is OldQdepth - 1.
singlestep([Notated I OldRest], OldQdepth, [Notated I NewRest], NewQdepth) :- singlestep(OldRest, OldQdepth, NewRest, NewQdepth).
Заметим, что предикат expand имеет аргумент для задания значения в методе Q-depth.
/* expand(Tree, Qdepth, Newtree) — создание полного расширения таблицы Newtree для таблицы Tree с заданным числом применений правила 7. */
expand(Tree, Qdepth, Newtree) :- singlestep(Tree, Qdepth, TempTree, TempQdepth), expand(TempTree, TempQdepth, Newtree).
expand(Tree, Qdepth, Tree).
Ветвь считается замкнутой, если она содержит литеры X и ^У, где X и У унифицируемы. Заметим, что для проверки унифицируемости нельзя воспользоваться встроенной в язык Пролог процедурой унификации. В реализации метода аналитичческих таблиц используется реализация алгоритма унификации, составленная Стирлингом и Шапиро.
р unify (Terml, Term2) — Terml и Term2 являются унифицируемыми. */
unify(X, Y) var(X) , var(Y) , X = Y.
unify(X, Y) :- var(X), nonvar(Y), not_occurs_in(X, Y),
X = Y.
unify(X, Y) :- var(Y), nonvar(X), not_occurs_in(Y, X) ,
Y = X.
unify(X, Y) :- nonvar(X), nonvar(Y), atomic(X), atomic(Y), X = Y.
unify(X, Y) :- nonvar(X), nonvar(Y), compound(X), compound(Y), term_unifу(X, Y).
not_occurs_in(X, Y) not_occurs_in(X, Y) not_occurs_in(X, Y)not_occurs_in(X, Y) not_occurs_in(X, Y) not_occurs_in(X, Y)not_occurs_in(N, X,not_occurs_in(N, X,not_occurs_in(0, X,not_occurs_in(0, X,var(Y), X != Y. nonvar(Y), atomic(Y). nonvar(Y), compound(Y), functor(Y, F, N), not_occurs_in(N, X, Y) .
not_occurs_in(X, Y) not_occurs_in(X, Y) not_occurs_in(X, Y)
not_occurs_in(X, Y) not_occurs_in(X, Y) not_occurs_in(X, Y)
not_occurs_in(N, X,
not_occurs_in(N, X,
not_occurs_in(0, X,
not_occurs_in(0, X,
Y) :- N > 0, arg(N, Y, Arg), not_occurs_in(X, Arg), N1 is N - 1, not_occurs_in(Nl, X, Y).
Y) .
term_unifу(X, Y) :- functor(X, F, N) , functor(Y, F, N) , unify_args(N, X, Y).
unify_args(N, X, Y) :- N > 0, unify_arg(N, X, Y) , N1 is N - 1, unify_args(N1, X, Y).
unify_args(0, X, Y).
unify_arg(N, X, Y) :- arg(N, X, ArgX), arg(N, Y, ArgY), unify(ArgX, ArgY).
compound(X) :- functor(X, _, N) , N > 0.
В приведенной реализации алгоритма унификации тестируются только атомарные замыкания на основе правила атомарного замыкания. Приведем описания предиката closed, тестирующего замыкание ветви.
/* closed (Tableau) — каждая ветвь таблицы содержит контрарную пару после подстановки нужных значений вместо свободных переменных. */
closed([Notated I Rest]) :- branch(Notated, Branch), member(false, Branch), closed(Rest).
closed([Notated I Rest]) :- branch(Notated, Branch), member(X, Branch), atomicfmla(X), member(neg Y, Branch), unify(X, Y), closed(Rest).
closed([ ] ).
Рассмотрим описания предикатов, составляющих заключительную часть программы. Для того, чтобы запустить программу для формулы X, необходимо задать глубину метода поиска (Q-depth) и выполнить запрос test(X,Y).
р if_then_else(P, Q, R) — если Р — истинно, то Q; в противном случае, если Р — ложно, то R. */
if_then_else(Р, Q, R) :- Р, !, Q.
if_then_else(P, Q, R) :- R.
p test(X, Qdepth) — создание полного расширения таблицы для формулы ^Х с заданным числом применений у-правил и тестирование на замыкание. */
test(X, Qdepth) :- reset, branch (Notated, [neg X] ) ,
notation(Notated, [ ]), expand([Notated], Qdepth, Tree), if_then_else(closed(Tree), yes(Qdepth), no(Qdepth)), !, fail.
yes(Qdepth) :- write("First-order tableau theorem
no(Qdepth)
at Q-depth"), write(Qdepth), write("."), nl.
:- write("Not first-order tableau theorem at Q-depth"), write(Qdepth), write("."), nl.
Строй членов мира, как, всмотревшись ближе, Увидел ты, уступами идет
И, сверху взяв, потом вручает ниже.
Данте Алигьери
Глава 5
ВЫВОД НА ИЕРАРХИЧЕСКИХ СТРУКТУРАХ
Одной из важных особенностей современных проблемных областей является с ложноструктурированность. Поэтому разработка методов представления и обработки знаний в сложноструктурированных проблемных областях весьма актуальна. В последние годы наблюдается резкий рост количества работ, относящихся к обработке иерархических структур. К настоящему времени в этой области сформировалось несколько направлений исследований, наиболее перспективными из которых являются алгебраический и логические подходы. Поэтому ниже приведем описание наиболее практически значимых результатов исследований, относящихся к этим подходам.
Многоуровневая упорядоченно-сортнаяалгебра
Необходимость разработки механизмов вывода наиерархических структурах
Перед тем, как покажем необходимость разработки механизмов вывода на иерархических структурах, напомним, что одним из признаков сложной системы по Г. Буч и Л. А. Растригину является иерархичность. Этот признак особенно существенен для современных проблемных областей, при описании которых часто используется термин «сложноструктурированность». Поэтому далее мы и будем его использовать для отражения сложной структуры проблемной области. Для сложноструктурированных проблемных областей характерно наличие огромного числа систем, связанных друг с другом информационными связями и состоящих в свою очередь из подсистем, и т. д. до элементарных подсистем.
Следует отметить, что использование механизмов вывода в сложноструктурированных проблемных областях является наиболее важным. Во-первых, эти механизмы позволяют «сжать» экстенсиональную составляющую базы знаний, т. е. получить факты на основе логических выражений (аксиом), содержащихся в интенсиональной составляющей базы знаний. Во-вторых, позволяют осуществить проверку информации, содержащейся в базе знаний, на непротиворечивость.
И в-третьих, пополнить интенсиональную составляющую базы знаний новыми знаниями, отражающими специфику сложноструктурированной проблемной области. Перечисленные способы применения механизмов вывода делают его неотъемлемой частью интеллектуальных систем, функционирующих в сложноструктурированных проблемных областях.
Конечно, все описанные в предыдущих главах механизмы вывода, в силу общности, применимы к сложноструктурированным проблемным областям. Но следует заметить, что эффективность их использования в таких проблемных областях резко уменьшается за счет того, что для описания сложноструктурированных проблемных областей используется огромное количество структурных зависимостей, для формализации которых в исчислении предикатов первого порядка нет других средств, кроме предикатов. Использование предикатов для задания структурных зависимостей загромождает описание проблемной области, снижает его наглядность и резко уменьшает, что существенно, эффективность процедур вывода. Поэтому в настоящее время весьма актуально создание языков представления знаний и механизмов вывода в них, позволяющих описывать структурные отношения, не прибегая для этого к предикатам. Одним из таких языков представления знаний является многоуровневая логика, созданная японскими учеными С. Осуга и X. Ямаучи, которые также создали и механизмы вывода в ней. Многоуровневой логике посвящена вторая (большая) часть данной главы.
Вернемся теперь к алгебраическому подходу обработки иерархических структур. В последние годы наблюдается всплеск количества работ, относящихся к этому подходу, о чем свидетельствует множество статей, выставленных на обсуждение в Internet. Это связано прежде всего с тем, что и по настоящее время не решена задача создания удобного представления сложноструктурированной информации в базах данных и не созданы эффективные средства манипулирования ею. Одним из решений этой задачи является создание средств обработки сложноструктурированной информации на основе многосортной и многоуровневой алгебр. Они являются математическим аппаратом для манипулирования сложными объектами, которые представляют собой множества объектов, множества подмножеств объектов и т. д. Краткому изложению этих алгебр посвящена первая часть данной главы. Авторы приносят извинения за некоторую фрагментарность в изложении материала, поскольку окончание разработки этих алгебр еще далеко впереди. Данный материал решили включить в настоящую книгу, поскольку многосортную и многоуровневую алгебру можно рассматривать как математический фундамент для создания систем управления базами данных (СУБД) нового поколения, к которому по праву можно отнести объектно-ориентированные СУБД.
Многоуровневая упорядоченно-сортная алгебра (multi-level order sorted algebra или кратко MLOSA) была разработана М. Ируингом для описания отношений между типами и является формальным базисом для определения понятий на основе единого формализма. MLOSA является интеграцией многосортной алгебры (many-sorted algebra или кратко MSA) и упорядоченно-сортной алебры (order-sorted algebra или кратко OS A). MS А была введена Р. Гутингом, Р. Цикари и Д. Чоем как основа для создания языка запросов, и в дальнейшем была использована для определения алгебры манипулирования сложными объектами. MSA обеспечивает создание правильноструктурированных типов системы. В отличие от MSA OSA позволяет поддерживать иерархию типов и наследование. М. Ируинг и Р. Гутинг ввели второй уровень в OS А для описания результатов применения типовых конструкторов к видам, которыми являются множества сортов одноуровневой алгебры. Также эти ученые описали трехуровневую алгебру для формального описания операций с переменным числом аргументов. OSA используется для манипулирования типами данных, а также иерархиями типов данных. Следует отметить, что OS А используется в функциональных моделях, содержащих функции, моделирующие атрибуты объектов и отношения между ними.
Введение в многоуровневую алгебру
Многоуровневая алгебра (multi-level algebra или кратко MLA) применяется для создания БД, имеющих специфичную структуру, и языков запросов. В основе модели таких БД лежит система множеств, используемая для представления типов данных и объектов, и функции, задающие атрибуты и отношения, определенные на этих множествах, которые и образуют алгебру. Развитием MLA является MLOSA, которая применяется для манипулирования объектами в описанной выше модели данных, а также для обработки специфичных схем. Далее кратко рассмотрим релевантные нотации и обоснуем использование MLOSA.
Классическая реляционная алгебра является универсальной или односортной алгеброй, т. е. она имеет простые домены, чьими элементами выступают отношения, заданные таблицами, и набор функций, определенных на этих доменах. Развитием реляционной алгебры является MSA, которая имеет ряд преимуществ перед реляционной алгеброй для создания языка запросов. Одно из таких преимуществ состоит в возможности интеграции арифметических функций и функций агрегации в такой алгебре. Следует отметить, что понятия «подтип» и «наследование» также введены в MSA. Сложные типы объектов строятся из простейших типов с помощью применения конструкторов типов. Функции, которые служат конструкторами типов, при-
меняются к разнообразным классам типов, т. е. их сигнатуры обычно содержат типовые выражения с переменными, определенными на множествах имен типов. Обычно говорят, что такие функции задают свойство «полиморфизм». Полиморфизм в OSA является ограниченным. Так, следует отметить, что, в общем, модельный параметрический полиморфизм посредством одного уровня алгебры невозможен, и поэтому была разработана двухуровневая алгебра, описывающая типы и конструкторы типов. Значения на втором уровне в такой алгебре рассматриваются как имена сортов на первом уровне. Идея представления произвольного числа уровней формализуется в ML А. Двухуровневая алгебра используется как аппарат, в котором может быть определена экстенсиональная составляющая сложноструктурированной БЗ.
Моделирование подтипов и наследования
М. Ируинг и Р. Гутинг провели моделирование подтипов и наследования на основе OSA. Для этого была определена многосортная сигнатура, упорядоченно-сортная сигнатура и сигнатура спецификации. Приведем определения этих сигнатур, которые необходимы для дальнейшего изложения материала.
Определение 5.1. Многосортная сигнатура есть пара (Д J2), где S — множество сортов и J2 есть S* S — семейство операций: {5Zwslw G S* и s е 8}, в котором S* — декартово произведение элементов s Е S. Операция а Е 5ZW s имеет арность w и ранг ws.
Определение 5.2. Упорядоченно-сортная сигнатура есть тройка (Д ^, ^2), в которой (Д J2) есть многосортная сигнатура, (Д ^) есть частично-упорядоченное множество, и операции в ^ удовлетворяют условию монотонности:
(^Е^Е&w Сw'&w' Де) =Ф s < s', w,s w',s'
где s — пустая строка.
Пусть (Д <, J2) есть алгебра А, содержащая для каждого сорта s Е Е S множество sA (носитель s) и для каждого символа операции сг^з функцию аА s:: wA sA где (ws)A = wA • sA и еа = {0}. Алгебра А должна удовлетворять следующим условиям:
s < У =Ф sA С УА;
(Р ст Е^Г\ ^ fea е wA Г\ w,A aAiS(a) = aA,yS,(a).
w,s w',в'
Пример 5.1.
В качестве примера приведем многосортную сигнатуру, состоящую из множества сортов S = {Самолет, Радиолокационная станция (РЛС), Взлетная полоса, Поток сообщений, ... } и множества операций: назначить взлетную полосу, назначить время взлета и посадки, записать в график и т. д.
Иерархии типов данных и типов объектов определяются посредством частичного порядка на сортах. Рассмотрим на примере задание иерархии типов данных и типов объектов.
Пример 5.2.
Иерархии типов данных и типов объектов приведены на рис. 5.1.
На них могут быть определены следующие операции:
обеспечить прием/передачу потока сообщений: Самолет РЛС;
назначить взлетную полосу: Самолет Взлетная полоса;
Объект управленияОбъект управленияРЛС Самолет ВзлетнаяРЛС Самолет Взлетнаяназначить время взлета: Самолет Число.
Объект управления
Объект управления
РЛС Самолет Взлетная
РЛС Самолет Взлетная
Поток
полосаполосасообщений
полоса
полоса
ЦелоеЦелоеВещественноеВещественное
Целое
Целое
Вещественное
Вещественное
Рис. 5.1
Следует отметить, что для операции «Обеспечить прием/передачу потока сообщений» объекты сорта «Самолет» являются исходными данными, объекты сорта «РЛС» — результирующими данными.
Заметим, что определение OSA не позволяет задать наследование. Для того, чтобы задать наследование, М. Ируинг и Р. Гутинг ввели сигнатуру спецификаций.
Определение 5.3. Любая упорядоченно-сортная сигнатура есть в то же время сигнатура спецификации. Индуцированная сигнатура (5, <,IND(J/)) определяется следующим образом:
ind(£) =
= ^2 U{(7w//,s|3cr Е ^2 : (W" W П Ver Е ^2 : < w")} w,s w',s'
Это определение описывает наследование функций сверху вниз. К J2 добавляются операции а^ определенные на подтипах гп" из w с тем же результатом, как для типов з.
Описание параметрического полиморфизма аппаратомдвухуровневой алгебры
Функции, определенные на различных типах, описывающих подобные структуры, поддерживают параметрический полиморфизм. Для таких функций область определения и область значений определяется посредством одной сущности, содержащей переменные, описывающие параметры типов. В общем, переменные типов определяются на подмножестве множества, элементами которого являются все имена типов. Для того, чтобы определить множество имен типов и назначить ему имя, введено понятие «множество видов». Фактически, виды являются сортами, входящими в состав другой сигнатуры, заданной на 2-м уровне, и ее носителями являются множество сортов 1-го уровня. Операции, определенные на 2-м уровне, называются конструкторами типов. Функции, входящие в такие конструкторы, устанавливают соответствие между видами, т. е. они устанавливают соответствие одного или более сортов одного вида и сорта другого вида. Поэтому 2-й уровень называется сигнатурой/алгеброй видов. Далее определяются конструкторы типов и дается определение п- уровневой сигнатуры.
Определение 5-4- Упорядоченно-сортной сигнатурой является сигнатура 1-го уровня. Пусть задана n-уровневая сигнатура (Д <, ^Д и n-уровневая алгебра В (носителем алгебры В является множество В). Тогда упорядоченно-сортная сигнатура ^ЗУ^У^) есть п + 1-уровневая сигнатура, заданная на (Д <, J2) и В, если выполнено условие: Д = IJ Зв. ses
Тогда алгебра А (Д, <', ^') есть п + 1-уровневая алгебра, если для каждой операции aw,s Е ^2 существует функция aw s (конструктор типов от <7W,S), и если для каждого t Е S'; t = crB Д/д, • • • Ап) (где w = si,..., sn и ti E sf , z = 1,..., n) имеется tA = o_w ytA^..., tA).
Функцию aw s определяет семантический конструктор, входящий в состав ^Д Говорят, что А зависит от В и от семантического конструктора из ^Д
Поясним определение 5.4, расширив предыдущий пример 5.2 за счет добавления сортов объектов «Система поддержки управления (СПУ)», «Принимаемый поток сообщений», «Передаваемый поток сообщений», а также добавления на 2-м уровне к множеству видов 8 = {Аэропорт, Объект управления, Диспетчер, Поток сообщений} конструктора «диспетчер», используемого для построения сортов ви-
да «Диспетчер». На основе вышесказанного зададим сигнатуру 2-го уровня.
Ord: Поток сообщений ^ Объект управления; СПУ, Объект управления ^ Аэропорт.
Тс: Принимаемый поток сообщений, Передаваемый поток сообщений Поток сообщений.
Поток сообщений, РЛС, Самолет, Взлетная полоса Объект управления.
СПУ, Объект управления Аэропорт.
Диспетчер: Объект управления Диспетчер, где
Ord задает спецификацию порядка, где s^t^v^w является короткой записью того, что s < гД < г; s < w; t < w.
Тс является конструктором типов на 1-м уровне, «диспетчер» является семантическим конструктором типов на 2-м уровне. Иерархия подтипов приведена на рис. 5.2.
Принимаемый поток Передаваемый поток сообщенийсообщений
Рис. 5.2
Для обозначения сортов на 2-м уровне вводятся кавычки. Так, «Поток сообщений»={Принимаемый поток сообщений, Передаваемый поток сообщений};
«Объект управления»={Поток сообщений, РЛС, Самолет, Взлетная полоса};
«Диспетчер» является множеством сортов, которые могут быть получены путем применения конструктора «диспетчер» к сорту «Объект управления». Так,
«Диспетчер» = {диспетчер (Поток сообщений), диспетчер (РЛС), диспетчер (Самолет), диспетчер (Взлетная полоса)}.
Семантический конструктор «диспетчер» определяется так:
Для всех sE «Объект управления» диспетчер(< s >) =<s> (для его обозначения вводится запись < диспетчер (s) >), где < s > * — вид «Диспетчер».
Вид «Диспетчер» содержит только сорта, получаемые с помощью применения конструктора «диспетчер» к сорту «Объект управления». Таким образом определяется персонал по обслуживанию взлетной полосы, обеспечению взлета — посадки самолетов и взаимодействию с РЛС. Сорта, которые являются подмножествами вида «Диспетчер», могут быть определены путем применения конструктора «диспетчер» к подмножествам вида «Объект управления». Так, имеем диспет- чер(Самолет), диспетчер (РЛС) и т. д.
Следует отметить, что типы функций, поддерживающих полиморфизм, обычно описываются при помощи схем типов, например, тип операции «обслуживание» может быть определен так:
Для всех а Е «Объект управления» обслуживает: диспетчер (а) строка символов, где «строка символов» определяет имя диспетчера, который обслуживает объект а.
Запись типа операции может быть представлена следующим образом:
обслуживает: диспетчер (объект управления)^ строка символов, что тоже самое, что Диспетчер строка символов.
Если операция применяется более чем к одному сорту, то она может быть представлена следующим образом: прием/передача: Поток сообщений^Время.
Данная запись обозначает оператора «приема/передачи» для любых комбинаций принимаемых и передающих сообщений РЛС, являющихся подмножествами множества «Поток сообщений».
Для определения одних и тех же элементов в различных позициях сигнатуры вводится индексирование видов. Например, оператор сравнения, который может быть применен к любым двум объектам одного сорта вида «Число», имеет следующий вид:
<, ^, ^, >: Числом х Числом BOOL,
где тип данных BOOL содержит два значения {истина, ложь} .
Таким образом, MLA позволяет:
Теперь перейдем к рассмотрению логического подхода. Большой вклад в область обработки иерархических структур внесли и вносят японские логики С. Осуга и X. Ямаучи, которые создали многоуровневую логику (Multi-layer logic или коротко MLL) и механизмы вывода в ней. MLL является фундаментом логического подхода к обработке иерархических структур. Более точно ее можно рассматривать как интеграцию логического подхода и подхода, основанного на семантической сети, к построению языка представления знаний. Поэтому ниже приведем ее описание и модификацию, позволяющую увеличить эффективность процедуры дедуктивного вывода.
Многоуровневая логика как языкпредставления знаний в интеллектуальных
системах
.1. Способы задания иерархических структур в многоуровневойлогике
Отметим, что ISA- и Part-of-иерархии являются основополагающими структурами для описания сложноструктурированной проблемной области. Для представления ISA- и Part-of-иерархий в MLL используется иерархическая абстракция и иерархическая структура. Иерархическая абстракция представляет граф, вершинам которого соответствуют классы объектов или их представители, а ребрам — отношения «класс-подкласс», либо «часть — целое». Иерархическая абстракция является многоуровневой структурой. Уровни в иерархической абстракции, соответствующей отношению «класс — подкласс», выделяются в соответствии с принципом наследования свойств. Классы и их представители располагаются на различных уровнях, поскольку описания (атрибуты) класса наследуются его представителями. Механизм наследования свойств позволяет «сжать» базу знаний, т. е. сделать ее более компактной. В иерархической абстракции, соответствующей отношению «часть — целое», уровни выделяются в соответствии с принципом декомпозиции, который является основополагающим при моделировании сложноструктурированных проблемных областей. Класс объектов и классы, из которых он состоит, располагаются на различных уровнях.
Атрибуты классов объектов или их представителей (объектов) и отношения между классами объектов, исключая структурные отношения, в иерархической абстракции могут быть описаны правильно построенными формулами (ППФ). Когда некоторая ППФ описывает класс объектов (или объекты) в иерархической абстракции, она соединяется с соответствующей ему вершиной. Пример ППФ, описывающей объекты в иерархической абстракции, приведен на рис. 5.3, где Д —
обозначение константы; — обозначение структурных отношений; > — обозначение ссылки на ППФ.
В то же время, любая ППФ, задающая некоторое описание проблемной области, должна использовать в качестве термов классы объектов (или объекты), с которыми она соединена в иерархической абстракции. Иногда существует необходимость представлять в ППФ не только объекты, с которыми описание связано непосредственно, но и классы объектов (или объекты), с которыми описание связано косвенно. Эти классы объектов (или объекты) расположены в иерархической абстракции на более низких уровнях от вершины, которой соответствует описание. Пример такой ППФ описывает вершину «функциональная подсистема», представленную на рис. 5.3: «Существует некоторая программная компонента в функциональной системе ^S такая, что все ее результирующие данные поступают на принтер».
Чтобы описать модель проблемной области и определить в ней операции, необходим специальный язык. Этот язык определяется как расширение логики предикатов первого порядка. Поскольку он имеет дело с многоуровневыми (иерархическими) объектами, его назвали языком многоуровневой логики.
MLL можно рассматривать как расширение многосортной логики за счет введения метода структурирования типов в синтаксис и семантику логического языка. Структурирование типов (сортов) позволяет сократить область определения терма и тем самым увеличить эффективность дедуктивного вывода.
Рассмотрим базовые отношения, которые задаются в MLL. Фигурные скобки будем использовать как метасимвол для представления
множества объектов. Так, d = {bi, 62? • • • ? Ьп} является множеством и bi = {ап, а2ц ..., аш^}, г = 1,..., п, является подмножеством из d. Следующие отношения объявляются как базовые.
«Element of», которое обозначается х Е X (объект х является элементом множества X) и является средством для задания отношения «элемент-множество».
«Power set of», которое обозначается У = *Х и используется для отражения того, что У является множеством, состоящим из подмножеств множества X (не включая пустого множества). Например, если d = {1,2,3}, то *d = = {{1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}}. Мощность \*d\ = = 2N — 1, где \d\ = N. Поскольку *d является множеством, можно определить множество подмножеств 2-го порядка на d. как *(*d\ Это обозначается как *2d. Таким образом, множество подмножеств n-ого порядка, обозначаемое ^d, определяется как
«Product set of», которое обозначается У = Xi х Х2 х ... х Хт или
У = {} Xi и используется для задания того, что У представляет 2=1
собой декартово произведение из Xi, Х2,..., Хт.
«Component of», которое обозначается У VX и задает, что X является компонентом У. Если У содержит несколько компонент, т. е. У VXi, У VX2,..., YVXg, то специальный метасимвол О используется для обозначения: < У >= {Xi, Х2,..., Х5-}. Содержательно, Х^г = 1,..., s представляет собой подмножество элементов одного сорта, каждый из которых является частью У.
Среди базисных отношений (2) и (3) являются специальными операторами для генерации новых сортов из заданных. Рассмотрим производные отношения в силу их важности для описания иерархических структур, которые определяются через композицию базисных отношений.
(У) «Subset of», которое обозначается X С У и определяет, что X является подмножеством У. Это отношение является композицией двух отношений: Z = *У и X Е Z, т. е. С = е о*. Множественное отношение «Subset-of» задает ISA-иерархию на множестве классов объектов проблемной области.
(2х) «Part of», которое обозначается У ► х и определяет, что х является частью У. Это отношение является композицией двух отношений: ^ = 6 oV. Отношение «Part of» используется для задания Part-of-иерархии на множестве классов объектов проблемной области.
Поскольку отношение «Part of» является композицией отношений «Component of» и «Element of», иерархическая абстракция, соответствующая отношению «Part of», представляется так, как показано на рис. 5.4. Такое изображение иерархической абстракции называется иерархической структурой, которая используется для задания Part-of-иерархии представителей классов в экстенсиональной составляющей базы знаний (БЗ) (базы данных (БД)) интеллектуальной системы.
а) Форма представления иерархии наследования (ISA-иерархия)а) Форма представления иерархии наследования (ISA-иерархия)б) Форма представления иерархии подчинения (Part-of-иерархия)б) Форма представления иерархии подчинения (Part-of-иерархия)ад интенсиональная составляющая БЗад интенсиональная составляющая БЗб’) экстенсиональная составляющая БЗ (БД) (иерархия представителей классов)б’) экстенсиональная составляющая БЗ (БД) (иерархия представителей классов)Рис. 5.5Рис. 5.5Представление иерархической структуры на рис. 5.4 является стандартной формой в MLL. Иерархическая структура, изображенная на этом рисунке, является многоуровневой. Уровни в ней, как и в иерархической абстракции, выделяются в соответствии
а) Форма представления иерархии наследования (ISA-иерархия)
а) Форма представления иерархии наследования (ISA-иерархия)
б) Форма представления иерархии подчинения (Part-of-иерархия)
б) Форма представления иерархии подчинения (Part-of-иерархия)
ад интенсиональная составляющая БЗ
ад интенсиональная составляющая БЗ
б’) экстенсиональная составляющая БЗ (БД) (иерархия представителей классов)
б’) экстенсиональная составляющая БЗ (БД) (иерархия представителей классов)
Рис. 5.5
Рис. 5.5
с наследованием свойств. Так, классы объектов и их представители, которые находятся в отношении «Element of», располагаются на различных уровнях, а классы объектов, которые находятся в отношении «Component of» — на одном уровне, поскольку нет наследования
свойств между ними.
Графические формы представления иерархической абстракции и
иерархической структуры представлены на рис. 5.5. На рис.5.5,а изображена иерархическая абстракция, соответствующая ISA-иерархии
классов объектов, которая задается в интенсиональной составляющей
Рис. 5.6Рис. 5.6БЗ интеллектуальной системы; нижний уровень этой иерархии соответствует представителям классов, содержащихся в экстенсиональной составляющей БЗ (БД). На рис. 5.5,6 дана форма представления иерархии подчиненности (Part-of-иерархия).
Рис. 5.6
Рис. 5.6
Одним из недостатков иерархических абстракций, соответствующих ISA- и Part-of-иерархиям классов объектов, является то, что класс объектов может принадлежать к обоим видам абстракций, что приводит к дублированию описания класса объектов, и, как следствие этого, к неэффективному использованию памяти ЭВМ. Поэтому дальнейшим направлением исследований может быть объединение двух видов абстракций в одну обобщенную
иерархическую абстракцию и изучение наследования в ней. Пример обобщенной абстракции представлен на рис. 5.6.
.2. Синтаксис многоуровневой логики
Для дальнейшего изложения материала представим синтаксис MLL и ее основные определения.
Алфавит:
константы: а, 5, с,...; X, У, Z (константные множества), ...;
переменные: ж, ?/, г,...;
функциональные символы: /, р, 6,...;
предикатные символы: P.Q- R...
кванторы: V, 3;
отрицание: Д
логические связки: &, V,^;
вспомогательные символы: Д,*,/,/,//,{,},(,).
Термы:
любая константа и переменная являются термом;
если / есть п-местный функциональный символ и НД2)---Дп являются термами, то /(Н, /д, • • • Лп) есть терм;
все термы получаются применением (1) и (2).
Правила образования ППФ:
F1) если Р является п-местным предикатным символом и НД2,---Дп есть термы, то Р(НД2, • • • Рп) является ППФ (атомарной формулой);
F2) если F и G — ППФ, то ^F, FkG, FvG. F G являются ППФ;
F3) если F — ППФ и х — предметная переменная, то
^xjy^F и (3x/y)F являются ППФ, где у есть константа или переменная;
(МуХ и (3x/y)F являются ППФ, где у есть константа или переменная;
(^х/fy^F и ^Зх)fy^F являются ППФ, где у есть константа или переменная;
F4) других правил образования ППФ нет.
Описание двух видов иерархической абстракции ииерархической структуры множеством правильно построенныхформул многоуровневой логики
Принципиальной разницей между MLL и многосортной логикой (MSL) является форма представления иерархической абстракции и иерархической структуры с помощью множества ППФ. MSL описывает явно отношение «элемент-множество» между объектами в префиксе ППФ в форме x]d^ где х является элементом множества (сорта) d.
Для задания иерархической абстракции, соответствующей ISA- иерархии, MLL использует расширение этого формализма. Так, MLL позволяет работать с сортами, представляющими собой структурированные единицы, элементами доменов которых могут быть множества, множества подмножеств и т. д.
Для описания иерархической абстракции и иерархической структуры, соответствующих Part-of-иерархии классов объектов и Part-of- иерархии представителей классов, аппарат MSL использовать неудобно, поскольку в основе этих иерархий лежат отношения, в схемы которых входят различные сорта, a MSL рассматривает сорта как отдельные, независимые единицы, и в ней нет средств, кроме предикатов, позволяющих описывать эти отношения. Использование предикатов
200 Вывод на иерархических структурах [ Гл. 5 для описания этих отношений усложняет и загромождает описание проблемной области и снижает эффективность дедуктивного вывода. Для задания Part-of-иерархии в MLL введено три вида специальных знаков слэшей.
Слэшем называется некоторый разделитель, который используется в префиксе формулы. Так, простой слэш (Qx/X) используется для обозначения, что х является элементом множества X ^х Е Х\ простой «жирный» слэш (Qt/X) обозначает, что х определен на множестве, элементами которого являются компоненты объекта X(Хот), двойной слэш {Qx//X) обозначает, что х определен на множестве, элементами которого являются части объекта Х(Х ► ж), где Q Е {V, 3}.
Если объект У имеет в качестве компоненты объект X, то для того, чтобы определить свойства объекта х Е X который является частью объекта У, мы можем написать формулу
(Qx//#Y)G(x), (5.1)
где Д — обозначение константного множества; Q : V или 3; G(x) — предикат, описывающий свойства объекта х (атрибут).
Формула (5.1) записана в стандартной форме для MLL. Если объект У имеет в качестве компонент несколько объектов, как показано на рис. 5.4, то для того, чтобы задать нужную нам компоненту X объекта У, необходимо использовать селектор, который представляется предикатом У(Х, У). Для этого случая, чтобы определить свойства х Е X являющегося частью объекта У, мы можем написать формулу
(3X)*Y) {Qx/X) [F(X, Y^G(x)],которая может быть преобразована к стандартной форме:
(Qx//#Y)X(x,Y)&G(x)].
Используя формализм задания структурных отношений в префиксе формулы, мы предлагаем замену селектора, который представляется предикатом и используется для нахождения нужной компоненты некоторого объекта, на композицию префикса. Рассмотрим предложенное нами расширение синтаксиса MLL.
Пусть объект ^У имеет в качестве компонент несколько объектов, т. е. < ^У >= {ХД , г = 1... X, тогда префикс может содержать запись вида
№/М)//#П (5.2)
где Q е {V, Я}.
Хг задает сортность ж, которой в прикладном исчислении соответствует класс объектов предметной области. ДУ будем называть ►-предком для х по иерархии Part of. Запись (5.2) содержательно означает, что х определена на множестве частей ДУ, которые имеют сортность Х^.
Таким образом, мы развили правила образования ППФ, которые теперь имеют следующий вид:
F1. Если Р является п-местным предикатным символом и НД2,---Дп есть термы, то Р(Н, t^,... Tn) является ППФ (атомарной формулой).
F2. Если F и G - ППФ, то -(F), (F&G), (F VG), (F G) являются ППФ.
F3. Если F — ППФ их — предметная переменная, то
(^x/y)F и (3x/y)F являются ППФ, где у есть константа или переменная;
Щ/у)П и (Зх/уХ являются ППФ, где у есть константа или переменная;
(^х//y)F и (Зх//у)F являются ППФ, где у есть константа или переменная;
(V(x/Z)/fy^F и (3(t/Z)//?/)F являются ППФ, где у есть константа или переменная, Z есть константное множество.
F4. Других правил образования ППФ нет.
Преимущества модифицированных правил построения ППФ:
во-первых, не затрачивается время на унификацию предиката- селектора, а расширенный нами синтаксис префикса логической формулы позволяет сделать означивание термов по структурам проблемной области и далее осуществить проверку значений переменных на удовлетворение условию, задаваемому матрицей логической формулы;
во-вторых, не затрачивается память на хранение многочисленных фактов проблемной области для означивания переменных в предикате-селекторе.
Из рассмотренного выше следует, что это расширение синтаксиса MLL повышает эффективность дедуктивного вывода по памяти и быстродействию.
Приведем пример логического выражения, содержащегося в интенсиональной составляющей БЗ, и на нем покажем преимущества использования аппарата MLL для формализации сложноструктурированной предметной области по сравнению с аппаратом многосортной логики (MSL).
Пример 5.3.
Программная компонента ж, входящая в состав системы поддержки управления #Р, обеспечивает посадку самолета у, приписанного к аэропорту #А, если имеется
ЭВМ L на которой функционирует ж;
радиолокационная станция (РЛС) s, соединенная с ЭВМ t;
поток информации #11, содержащий поток сообщений Н, принимаемый РЛС s, и содержащий класс сообщений щ, описывающий самолет у и обрабатываемый ж;
поток информации #12, содержащий поток сообщений ^2, передающийся РЛС s, в который входит класс сообщений Г2, имеющий сведения, необходимые для посадки самолета у, вырабатываемый х и принимаемый у.
Структуры проблемной области представлены на рис. 5.7.
Запись в MSL:
(# А / Аэропорт) (#Р/СПУ) (Зх / программная—подсистема)
(\/у / самолет) (Es/РЛС) (3^/ЭВМ) (#11 / поток_информации)
(#12/поток—информации) (3 Л / поток_ сообщений)
(Зщ / класс—Сообщений) (3^2 / поток_ сообщений)
(Зг2 / класс_ сообщений)
Содержит(#Р, ж) & Содержит(#А, у) к Содержит(#А, s) &
& Содержит(#A, t)k
к Функционирует (ж, t) к Соединена^#) & Содержит(#11, Л) &
& Принимает—РЛС(5, Л) & Содержит(Н, щ) & Описывает(г1, у) к к Обрабатывает^, щ) & Содержит(#12, ^) & Передает_РЛС(^, ^)& & Содержит(^2^2) & Вырабатывает(х, Г2) &
& Принимает—самолет(?/, Г2)Обеспечивает_посадку(х, у)
Запись в MLL:
(3 (х/программнаЯ—система)//#Р)(\/(?//самолет)//#О) (3(5/РЛС)//#А)(3(^/ЭВМ)//#А) (3(Н/поток_ сообщений)//#11) (3(г1 / класс_ сообщений) / / Н) (3(^2 / поток_ сообщений) / / #12) (3 (г2 / класс_ сообщений) / / ^)
Функционирует (ж, t) к Соединена^#) & Принимает_ PAC(s, Н) & & Описывает(щ, ?/) & Обрабатывает^, щ)& Передает_ РЛС(5, ^)& & Вырабатывает(х, Г2) & Принимает_самолет(?/, Г2)
Обеспечивает—посадку(х, у)
Из рассмотренного выше примера следует, что аппарат MLL увеличивает эффективность дедуктивного вывода по сравнению с MSL за счет сокращения пространства поиска. Это сокращение достигается структуризацией проблемной области и представления структурных отношений в префиксе логической формулы, что влечет удаление большого числа предикатов, которые загромождают описание проблемной области и снижают эффективность дедуктивного вывода.
Таким образом, MLL позволяет сделать описание сложноструктурированной проблемной области более наглядным за счет задания структурных отношений в префиксе логической формулы, без использования предикатов, и, как следствие этого, позволяет увеличить
РЛС2 РЛСЗРЛС2 РЛСЗ— Отношение «Component-of» (V)— Отношение «Component-of» (V)— Отношение «Element-of» (Е)— Отношение «Part-of» (►)— Отношение «Element-of» (Е)— Отношение «Part-of» (►)
РЛС2 РЛСЗ
РЛС2 РЛСЗ
— Отношение «Component-of» (V)
— Отношение «Component-of» (V)
— Отношение «Element-of» (Е)
— Отношение «Part-of» (►)
— Отношение «Element-of» (Е)
— Отношение «Part-of» (►)
Рис. 5.7
эффективность работы механизма дедуктивного вывода. Структурирование проблемной области также позволяет увеличить эффективность дедуктивного вывода за счет существенного сокращения пространства поиска. Следовательно, MLL является гибким формализмом для представления знаний о реальной сложноструктуриро-
ванной проблемной области и может быть выбрана в качестве языка представления знаний для ее описания.
Логический вывод в многоуровневой логике
Неотъемлемой частью любой БЗ являются механизмы обработки знаний, одним из которых является дедуктивный вывод.
Дедуктивный вывод позволяет
получать новые знания из знаний, представленных в БЗ;
осуществлять контроль информации, представленной в БЗ, на непротиворечивость;
«сжать» экстенсиональную составляющую БЗ (за счет получения экстенсионалов атрибутов и отношений при помощи дедуктивного вывода);
получать ответы на запросы пользователей.
Необходимо предусмотреть работу дедуктивного вывода в открытой проблемной области. Рассмотрим процесс дедуктивного вывода более подробно. В процесс дедуктивного вывода вовлекаются два важных алгоритма: алгоритм сколемизации и алгоритм унификации. Эти алгоритмы в MLL являются дальнейшим развитием соответствующих алгоритмов исчисления предикатов первого порядка. Исходная формула для алгоритма сколемизации должна быть представлена в пренексной нормальной форме.
1- Алгоритм сколемизации. Рассмотрим особенности алгоритма сколемизации в MLL. Алгоритм сколемизации основывается на следующих положениях:
А) сколемовская функция включает в качестве аргументов все переменные, которые связаны квантором V и которые расположены слева от квантора 3, за исключением переменной, которая является ►-предком переменной, связанной квантором 3;
Б) ►-предок и домен должны быть включены в сколемовскую функцию и в матрицу для процедуры унификации. Они сохраняются в форме (х/Х)//Y.
Объясним положение (А) на примере. Поскольку построение ско- лемовской функции не зависит от числа компонентов объектов, приведем случай, когда объекты состоят из одной компоненты. При этом области определения термов однозначно определяются их ►-предками по иерархической структуре. Пусть иерархическая структура задана и имеет форму, представленную на рис. 5.8. Рассмотрим формулу:
(УЩ/^ХМ/ЩДЩяо).(5.3)
Формула (5.3) читается следующим образом: для любого объекта Xi, который является частью объекта X, (на рис. 5.8 это «1, «2, аз), существует объект то, который является частью объекта яд, (на рис. 5.8
это 5ц или 512 или ... или bik^ если яд есть ai, и 521 или 522 или ... или 52п, если яд есть а2, и 5g 1 или 5з2 или ... или 5зт, если яд есть аз), такой, что Р(яд,я?о).
Рис. 5.8
В классическом алгоритме сколемизации яд заменяется на функцию /с(яд), т. е. получим формулу с учетом положения (Б):
Р^Р/ХЛсЫ/Ху/^/ХК
Поскольку иерархическая структура является фиксированной, то фиксированными являются и все структурные отношения в ней и, следовательно, области определения термов. Поскольку функция /с(яд//Х)//(яд//Х) определена на множестве частей объекта, заданного переменной яд, то она не зависит непосредственно от переменной яд/ j X. Следовательно, функция /с заменяется на «обобщенную» константу Вс. которой может быть любая константа 5ц или 512 или ... или 5i&, если яд есть ai, и 521 или 522 или ... или Ь^ если яд есть а2, и 5з1 или 5з2 или ... или 5зш, если xi есть аз, и на которую заменяется переменная яд в классическом алгоритме сколемизации, если она связана квантором 3 и стоит на первом месте в префиксе. В результате получим формулу
Р(х1//Х,Вс//(х1//Х)).
Отсюда следует, что при построении сколемовской функции для переменной яд переменная яд «мысленно» вычеркивается из префикса. Это положение может быть распространено на произвольную
формулу MLL. Пусть задана формула
(УЩ/М) ■ • ■ (УжпЩ/Х„-1) Щ„//Ж1)Р(Ж1, ..,жп).(5.4)
Применим классический алгоритм сколемизации к формуле (5.4). Получим выражение
РУМ^х, Хп-Р/Х^, К$1//Хг,..., Хн-Р/Х^хУ/^Р/Х^.
Поскольку / определена на множестве частей объекта, заданного переменной x\j jX\^ значение функции / не зависит непосредственно от переменной xQ ]Х^ и, следовательно, переменная хп в алгоритме сколемизации заменяется на функцию Ух^ЦХ^ ..., x^-xHX^-xMl^llXxY
Рассмотрим алгоритм сколемизации в MLL с учетом введенного расширения синтаксиса.
Алгоритм сколемизации в MLL.
Пусть формула представлена в виде
(Qi(x1/X1y/Y1KQyxyxy//Yy ... ^ЛхухуЦУурух, х2, .„х^, где Q Е {V, 3}, Xi — сортность переменной х^ У^ — ►-предок переменной х^ г = 1 г, Р — бескванторная формула (или матрица). (В качестве У^ г = 1 -Г г может быть константа или переменная).
Шаг 1. Найти наименьший индекс г такой, что Qi, Q^..., Qi-i все равны V, a Q^ = 1 Если такого г нет, то перейти к шагу 4. Если г = = 1, то Xi заменяется на константу ^af Х^)(У^ во всех вхождениях в матрицу и на ©а во всех вхождениях Xi в префикс в виде ►-предка другой переменной.
Замечание. Специальный символ © означает, что ©а может быть любой константой сорта Х^, обозначающей часть объекта У^.
Если г т^ 1, то перейти к шагу 3.
Шаг 2. Квантор Qi = 3 вычеркивается. Перейти к шагу 1.
Шаг 3. Все переменные с индексом до г сравнить с ►-предком г-й переменной. Если совпадения нет, то взять новый (г — 1)-местный функциональный символ jy. Переменная Xi заменяется на сколе- мовскую функцию (Л(х1,Х2,... ^Xi-Q/Xi)//Yi во всех вхождениях в матрицу и на функцию /фтх, ^2,... Xi-Q во всех вхождениях Xi в префикс. Перейти к шагу 2.
Если имеются совпадения (т. е. имеется переменная Xj (j < г) под квантором V, которая является и ►-предком заменяемой переменной) и если г — 2 равняется нулю, то Xi заменяется на (©а/Xi)//Xj во всех вхождениях в матрицу и на ©а во всех вхождениях в префикс как ►-предок другой переменной, и перейти к шагу 2.
Если г — 2 не равняется нулю, то взять (г — 2)-местный функциональный символ, не встречавшийся в формуле. Переменная Xi заменяется на сколемовскую функцию (Л(х1, ^2,..., Xi-ъ) / Xi) / jx^ во
всех вхождениях в матрицу и на функцию /ф^х, ^2? • • • ? ^-2)? где хk ^ Xj к = 1 4- г — 2 во всех вхождениях в префикс как предок другой переменной. Перейти к шагу 2.
Шаг 4- Если кванторов V нет, то Стоп. Если в префиксе формулы в качестве ►-предков выступают сколемовские функции, то аргументам функции приписываются их домены и ►-предки.
Всем переменным, стоящим под квантором V, в матрице формулы приписываются их домены и ►-предки, за исключением случая, когда переменная является ►-предком другой переменной.
Кванторы V опускаются, предполагая, что они существуют.
Стоп
Пример 5.4.
Рассмотрим использование алгоритма. Предположим, что объекты X, У, Z имеют в качестве компонент несколько объектов.
№1ID^I IX^PD^I/Y)(^y0/D3)/M(^(х^
(V(zi/£>5)//Z)P(xi,x0, yi, yo, Щ
Шаг 1. г = 2
Шаг 3.
(^xx/D^Z/X^yx/D^/YW^^
(y^zt/D^Z/ZX^xi^o, (JXciXD^Z(Y, y0, zi)
Шаг 2.
y<x\ID\y 1Х^кУ01П3у J МхХ^х0)П4У Zx^^ZD^ZJZ^
P(xi,x0, (fi(x1)/D2')//Y,y0,z1')
Шаг 1. г = 3
Шаг 3.
WxZDx^l (Х^Ы^У ZWx^W^D^ZZxx^Wx^
P(xx, (AW/iM/M (Mxx'yDyZZY^zx')
Шаг 2.
^ЫП1У Zx^yoZD3y zMxiW^DbyZZ^
Р(хг, аЛУо)/П4у /x4, (fi(xi)ZD2yZY,yo,zi)
Шаг 1. i нет
Шаг 4.
Р^/ПгУ/Х,
и2<ЫПзУ1Шхупху1Х№4У1ххЛШхрп4у1ху^^
ЫОзУ/ЫЫПх'Шхн^МУ/г)
Стоп.
4-2. Алгоритм унификации. Рассмотрим особенности алгоритма унификации в MLL.
Термы в MLL унифицируются при выполнении условий унификации, которые являются одинаковыми для ►-предков и доменов: ХСУиХПУ^О.
Пусть х является термом уровня г и, в то же время, он является ►-предком терма следующего нижележащего уровня. Терм х унифицируется и автоматически унифицируется ►-предок терма следующего нижележащего уровня.
Алгоритм унификации для MLL.
Установить к = 0, Wk = W, 8к = е, где W — унифицируемые выражения, 8к — наибольший общий унификатор иг — пустая подстановка.
Если Wk является одноэлементным множеством, то S = 8к и стоп. В противном случае переход к п. 3.
Каждая из литер в Wk рассматривается, как цепочка символов, и выделяются первые подвыражения литер, не являющихся одинаковыми у всех элементов Wk , т. е. образуется так называемое множество рассогласований типа V^k/Vk)/ jV, (tk/Tk) //Т}.
Если или Ок — переменная, a tk — терм, или Хк — функция, а tk — переменная или функция, то перейти к и. 4.
В противном случае стоп: W не унифицируемо.
Проверка условий унификации ►-предков. Если V С Т или V Г\Т = Z(^ 0) (условия унификации выполняются), то перейти к и. 5. В противном случае стоп: W не унифицируемо. Если ►предками являются термы и они совпадают, то перейти к и. 5. В противном случае стоп: W не унифицируемо.
Проверка условий унификации доменов:
если Хк — переменная, определенная на домене V^, а ^ константа, определенная на домене Г, и Т С Г, то перейти к и. 6. В противном случае стоп: W не унифицируемо.
если и к — переменная, определенная на домене Vk, a tk — переменная, определенная на домене Тк, и Тк И Vk = Zk^ 0), то перейти к и. 6. В противном случае стоп: W не унифицируемо,
если Хк — переменная, определенная на домене Vk, a tk — функция, определенная на домене Тк, и Тк И Vk = Zk(^ 0), то перейти к и. 6. В противном случае стоп: W не унифицируемо, г) если Хк — функция, определенная на домене Vk, a tk функция, определенная на домене Тк, и Тк С Vk или Vk С Тк ,то перейти к и. 6. В противном случае стоп: W не унифицируемо.
Если Хк — переменная, a tk — константа или функция, то Sk+1 = Sk О {tk/vk} И Wk+1 = Wk{tk/Vk}, где о — композиция
подстановок, а запись Wk^kf^k^ обозначает замену ^ на tk в Wk (см. примечание).
Если Uk — переменная, tk — переменная, то Sk^i = = sk О ^Zk/tk^k/vk^ и Ж-+1 = Wk{zk/tk,Zk/vky где zk — переменная, отличная от и к и tk-
Если Uk и tk — функции, то в унифицируемое выражение подставляется функция, область значений которой является подмножеством области значений другой функции.
Примечание. Запись {tk/uk^ означает замену (uk/Vk)//V на (tk/Tk)//Т во всех вхождениях и к как терма и замену и к на tk во всех вхождениях Uk как ►-предка. Это положение верно и в случае, когда и к и tk определены на термах.
к = к + 1, перейти к и. 2.
В случае, когда объекты состоят из одной компоненты, сортность термов не указывается в префиксе и шаг проверки унификации доменов термов в формулах пропускается, поскольку области определения термов однозначно задаются их ►-предками.
Рассмотрим пример использования алгоритма унификации. Пример приведен для случая, когда объекты в качестве компонент имеют несколько объектов. Иерархические структуры проблемной области приведены на рис. 5.9.
Пример 5.5.
W = {P^/A^Z/X, (ЖоАо)//а1, (У1/У1)//Г(f((xo/Xo)//ai)/Wo)//yi),Ц(У1/Ч)//Г, (g((w1/W1)//W)/X0)//vi, (w/W^Z/W, (w0/T0)//wi)}
wo = W; So = e
^а\,АуУ/X, (vi/H)//V} — множество рассогласований
Полагаем, что X С V и Ai С Vi,
Si = So о {ai/vi}
Wr = {P^/A^Z/X, (xo/Xo)//a1,(yi/Y1)//Y, (f((xo/Xo)//ai)/Wo)//yi), P^/A^Z/X, (g((w1/W1)//W)/X0)//ai, Ы^Ж (wo/To)//wi)}
{(xq/Xq)//ai, (^((wi/Wi)/(W^X^/а^} — множество рассогласований.
Рис. 5.9
S2 = S1 О
VC = ^Р^А^ЦХ,
ЫУ1У fYAfMWWiP mix^Haxywoy f^Y PVcn/AiWx, WWW№1, MW^I/W, (wo/Woy/wi)}
{(у1/У1)//У, (ш1/ТУ1)//ТУ} — множество рассогласований
Полагаем, что W П У = Z(^ 0) и Wi П Ух = Zi(^ 0).
S3 = S2 о {2:/yi,z/wi}
yyyyzzyzzzyxyzzayzwyzzz), РУзРАУЦХ, y^iz.yizyxyya^ У,гуЦг, (wywyy/z)}
{(/((9((ДЩ//^)/^о)//а1)/То)/Д, YwolWyiJz^ — множество рассогласований
s4 = s3 о иму1г4у1гухоуу4ушу
w4 = WWAyzixy<zizy, ,zyxy, z^yzzyi IZ, yMWynzyxynayiwyiPY
PyaJAyyX, (g^/zy/zzyxyz/ab №У) ZZ,UMyizyiZZyxyilayiWyilzy =
{Р^/АУ/ZX, {gyz/Zy//Z)/Xy//a4, yjZyHZ, yygyz/zy//zyxy//ay/wy//z)}
W4- одноэлементное множество; S = S^.
Стоп.
В качестве процедуры вывода используется линейная входная резолюция, которая является полной для хорновских дизъюнктов и обладает большой эффективностью.
3. Особенности использования линейной входной резолюции в многоуровневой логике. Рассмотрим особенности использования линейной входной резолюции в MLL с упорядоченными дизъюнктами. Связывание понятия упорядоченных дизъюнктов с линейной входной резолюцией не нарушает ее полноты, но существенно увеличивает эффективность метода.
Пусть S — конечное множество упорядоченных дизъюнктов Хорна, полученное после удаления кванторов V и 3.
S содержит следующие дизъюнкты:
Ai ,..., Ат
Am+i Вц1& ... &Byni
Ат-ур Врд&у ... &Sp,np
< ВрухД^- • • • ^-^р+1,пр+1
< Bp-y^y&L . . . &У,Вр-у^^Пр-у^^
где т — количество всех положительных упорядоченных дизъюнктов Хорна из 8 (фактов); р — количество всех смешанных упорядоченных дизъюнктов Хорна из 8 (фактов); к — количество всех отрицательных упорядоченных дизъюнктов Хорна из 8 (фактов).
Рассмотрим одно из применений дедуктивного вывода, а именно, получение экстенсионалов отношений, которое позволяет значительно сократить экстенсиональную составляющую БЗ. Для этого случая в качестве верхнего центрального дизъюнкта возьмем отрицание предикатной литеры, имя которой соответствует имени отношения, экс- тенсионалы которого нужно определить: ^С-р j = 1 4- т + р.
Для центрального дизъюнкта возможны два случая:
Cj(j = 1 4- т + р) является Ар г = 1 4- т.
Cj(j = 1 4- т + р) является А^р г = 1 4- р.
Из всех известных модификаций линейной входной резолюции возьмем наиболее эффективную — метод поиска в глубину. Для первого случая, используя метод поиска в глубину, получаем набор экстенсионалов отношения, имя которого соответствует центральному дизъюнкту. Во втором случае метод поиска в глубину повторяем для каждой посылки В^к^ к = 14-щ, входящей в логическое предложение, заключением которого является Лт+^, г = 1 4-р.
Особенности линейной входной резолюции в MLL следующие:
возможные значения термов (их домены) при резольвировании определяются по иерархической структуре;
существенное сокращение пространства поиска, которое влечет увеличение эффективности дедуктивного вывода, достигаемое за счет особенности I.
Приведем в качестве примера использование дедуктивного вывода для получения экстенсионалов отношения
Поступают^ принтер), где у есть результирующие данные программных компонент х некоторой функциональной системы ^8, т. е.
(Зх//#8)(3(^/Результат)// х) Поступают^ принтер).
Поскольку принцип резолюции основан на процедуре опровержения, отрицание приведенной выше формулы используется в качестве верхнего центрального дизъюнкта
[(Зх//4/8)(3{у/Результат)//х)Поступают^у^ принтер)] =
= (^/х//#8)(^/(у/Результат)//х)^ Поступают^ принтер). (5.5)
Применяя алгоритм сколемизации к формуле (5.5), получим
Поступают^у/Результат) //х^ принтер).(5.6)
Если запрос касается описания некоторой вершины и описания ее нижележащих вершин по иерархической структуре, как в рассматриваемом примере, мы выводим не пустой дизъюнкт, а предикат ответа. И формула (5.6), которая выступает в качестве центрального дизъюнкта, имеет вид
Посту пают( (^/Результат) //ж, принтер) V
V ANSWER(х//#8, (^/Результат)//х).
Рассматриваемый пример представляет запрос 1-го вида. В случае, если запрос касается описания только самих вершин и не касается описаний их нижележащих вершин по иерархической структуре, то при получении ответа на запрос выводится пустой дизъюнкт и выдается список значений переменных, означивание которых произошло в процессе вывода. Такие запросы являются запросами 2-го вида.
В качестве примера запроса 2-го вида рассмотрим запрос: «Найти все программные компоненты функциональной системы ^8 такие, что объем оперативной памяти, занимаемый ими, не превосходит 200 кб», который представляется формулой
(Vx//#8) (\/у/REAL) Объем_памяти(х, y^fcLE^y^ 200).
Запрос 2-го вида, являясь частным случаем запроса 1-го вида, выделяется в силу того, что большинство запросов имеют сходную с ним форму.
Пусть в интенсиональной составляющей БЗ хранится множество аксиом, одной из которых является аксиома
(Зх//#8) (V?//Результат)//х) Соединена_ ЭВМ^ принтер)&
&гВремя_ получения^у^ 0.01с)Поступают(упринтер) (5.7)
и в экстенсиональной составляющей БЗ хранится множество фактов, среди которых находятся
Соединена_ ЭВМ (ПК^, принтер), г = 1 4- п и Время_ получения^Р^ 0.01с), j = 1 4- г.
Применяя алгоритм сколемизации к формуле (5.7), получим
Соединена_ ЭВМ^а))#8^ принтер)&
кВремя_ получения^у)Результат)//©а, 0.01с) —>
—> Поступают^/Результат)Ц^а^ принтер),
где ©а — обобщенная константа.
Цепочка вывода в виде дерева вывода представлена на рис. 5.10.
-лПоступают((у/Результат)//х, принтер) v vANSWER(x//#S,(y/Pe3ynbTaT)//x) ДА
Соединена J3BM(^a!!Ж принтер)уу^ро«_ишу^нмя((у/Результат) //@a,0.01c)vANSWER(@a //#S, (у/Результат)// @а)Соединена J3BM(^a!!Ж принтер)уу^ро«_ишу^нмя((у/Результат) //@a,0.01c)vANSWER(@a //#S, (у/Результат)// @а)^Соединена J3BM(@a//Ж, принтер)у у—Время_получения((у/Результат) //@a,0.01c)v vZfocmy иают((у/Результат)//@а, принтер)^Соединена J3BM(@a//Ж, принтер)у у—Время_получения((у/Результат) //@a,0.01c)v vZfocmy иают((у/Результат)//@а, принтер)
Соединена J3BM(^a!!Ж принтер)у
у^ро«_ишу^нмя((у/Результат) //@a,0.01c)vANSWER(@a //#S, (у/Результат)// @а)
Соединена J3BM(^a!!Ж принтер)у
у^ро«_ишу^нмя((у/Результат) //@a,0.01c)vANSWER(@a //#S, (у/Результат)// @а)
^Соединена J3BM(@a//Ж, принтер)у у—Время_получения((у/Результат) //@a,0.01c)v vZfocmy иают((у/Результат)//@а, принтер)
^Соединена J3BM(@a//Ж, принтер)у у—Время_получения((у/Результат) //@a,0.01c)v vZfocmy иают((у/Результат)//@а, принтер)
СоедмнешДЭЛМ(ПК-,принтер), z =1 ^п
^ремя^олучения((у/Результат) //nKb0.01c)vANSWER(nKz//#S, (у/Результат)//ПК •),Z = 1 -4- И^ремя^олучения((у/Результат) //nKb0.01c)vANSWER(nKz//#S, (у/Результат)//ПК •),Z = 1 -4- ИВремя _получения(^ ,0.01с), j=l^rВремя _получения(^ ,0.01с), j=l^r
^ремя^олучения((у/Результат) //nKb0.01c)vANSWER(nKz//#S, (у/Результат)//ПК •),
Z = 1 -4- И
^ремя^олучения((у/Результат) //nKb0.01c)vANSWER(nKz//#S, (у/Результат)//ПК •),
Z = 1 -4- И
Время _получения(^ ,0.01с), j=l^r
Время _получения(^ ,0.01с), j=l^r
Рис. 5.10Рис. 5.10
Рис. 5.10
Рис. 5.10
ANSWER(nKz//#S,(P,-/Результат)//
П1У
х = ПК/? у = Ру (г = 1 -4- и; j = 1 -е- г)
Множество ПК^, г = 1 4- п, которые входят в состав функциональной системы *8определяем по иерархической структуре, представленной на рис. 5.4, и для каждого ПКу находим факт Соединена— ЭВМ (ПК^, принтер). Затем определяем множество Рц j = 1 4-К, которые являются результатами ПК^. Для каждой пары {ПК^Р,} находим факт Время_ получения (Рц0.01с). Ответом на запрос будет множество пар {ПК^, РД, являющихся значениями переменных х и у соответственно.
Разработанные алгоритмы дедуктивного вывода для предложенного расширения синтаксиса MLL положены в основу интеллектуальной системы моделирования сложноструктурированной проблемной области «Инфолог».
4- Иерархическая абстракция и продукционная модель. Из рассмотренного следует, что MLL является удобным средством для формализации структурного аспекта проблемной области. Иерархическую абстрактную структуру удобно использовать и при
описании проблемной области продукционной моделью представления знаний, которая применяется для отражения динамики изменения проблемной области, когда для ее задания требуется несколько десятков тысяч продукционных правил.
Иерархическая абстрактная структура позволяет разбить продукционные правила на блоки в соответствии с принадлежностью к элементам структуры, принятие решений в которых они задают, и использовать механизм наследования продукционных правил. Механизм наследования продукционных правил позволяет «сжать» базу знаний, сделать ее более компактной. Рассмотрим механизм наследования продукционных правил на примере.
Пусть задана иерархическая структура, которая описывает некоторую абстрактную проблемную область «Аэропорт». Иерархическая структура состоит из трех уровней детализации:
1-й уровень — Аэропорт;
2-й уровень — РЛС, классы самолетов (ТУ, ИЛ, АН, ...);
3-й уровень — представители классов РЛС, самолетов (конкретные объекты).
Управление работой аэропорта задается множеством продукционных правил, которые разбиваются на блоки в соответствии с уровнями в иерархической структуре следующим образом:
в блок 1-го уровня входят продукционные правила, которые описывают принципы управления аэропортом в целом;
в блоки 2-го уровня входят продукционные правила, которые описывают управление классами РЛС и самолетов;
число блоков 3-го уровня определяется количеством представителей классов РЛС и самолетов.
В каждый блок 3-го уровня входят продукционные правила, которые задают специфические законы управления конкретным самолетом или РЛС. Остальные продукционные правила, которые задают общие законы управления классами РЛС и самолетов, могут быть получены благодаря механизму наследования.
Таким образом, иерархическая структура позволяет создать иерархию продукционных правил и использовать принцип наследования продукционных правил, подобно механизму наследования свойств в ISA-иерархии.
Система моделирования проблемной области«Инфолог»
Назначение и структура системы «Инфолог»
В основе любой интеллектуальной системы лежат формализмы представления знаний и манипулирования ими с целью имитации
рассуждений человека для решения поставленных задач. Одной из важных проблем, которая встает перед разработчиками интеллектуальной системы, является проблема моделирования проблемной области, т. е. создание модели проблемной области в компьютере и определение соответствия между смоделированными объектами и объектами реального мира, а также представление знаний экспертов о ней. «Инфолог» — информационно-логическая система, предназначенная для представления сложноструктурированной информации и дедуктивного вывода на ее основе. Программное средство «Инфолог» создано для поддержки задач, решаемых разработчиками интеллектуальных систем на этапе моделирования проблемной области. Она позволяет пользователю описать требуемую проблемную область: задать объекты, атрибуты объектов, определить различные отношения между объектами, описать закономерности проблемной области в виде логических выражений, а также реализовать запросы, требуемые для получения тех или иных фактов.
«Инфолог» может быть использована в качестве компоненты интеллектуального репозитория (информационной базы проекта) С ASE- системы. В этом качестве «Инфолог» служит для:
• пополнения модели знаний CASE-системы о самой себе (представление этих знаний в репозитории облегчает разработчикам создание программного обеспечения (ПО) в CASE-системе);
Рис. 5.11Рис. 5.11представленной в репозиториипредставленной в репозиториипополнения репозитория на основе моделирования предметной области разрабатываемой системы и самой системы, которое осуществляется при проведении начальных этапов в жизненном цикле ПО различными группами разработчиков. Отметим, что моделирование программных систем (выделение классов объектов, отношений и атрибутов) является основой для формализации начальных требований к программной системе на этапе анализа и базой для выделения классов объектов программной системы и требований к ним, которые необходимо реализовать, на этапе проектирования;
Рис. 5.11
Рис. 5.11
представленной в репозитории
представленной в репозитории
проверки информации, .SE-системы, на непротиворечи
вость;
получения значений атрибутов и экстенсионалов отношений с помощью логического вывода, что позволяет «сжать» экстенсиональную составляющую репозитория;
получения ответов на запросы пользователя.
Основные компоненты системы «Инфолог» представлены на рис. 5.11. Функциональная структура системы «Инфолог» изображена на рис. 5.12.
| Система «Инфолог» |
подсистема управления моделями предметной области
подсистема моделирования
подсистема просмотра
компонента перевода запроса
компонента логического вывода
“начать раз
-выделение
- просмотр
-ввод
-ввод
работку
классов
ISA-
текста
логи
новой
объектов
иерархии
запроса
ческого
модели
предметной
классов
предло
-продолжить
области, определение
объектов
1- формирование
жения
разработку
их атрибу
- просмотр
запроса
-форми
модели
-удалить модель
-выход
тов и отношений между ними
- определение структуры выделенных
Part-of- иерархии классов объектов
- просмотр классов
рование ответа
отношений
классов
(построение ISA- и Part-of- иерархии на классах объектов, определение их атрибутов и отношений)
- определение представителей классов
построение Part-of-иерархии на представителях
определение значений атрибутов
Рис. 5.12
Рассмотрим основные компоненты системы «Инфолог». Центральной компонентой системы «Инфолог» является БЗ, которая служит
для представления модели проблемной области. Процедурная составляющая БЗ содержит процедуры для вычисления экстенсионалов (фактов) отношений и атрибутов и процедуры, которые могут вызываться в процессе дедуктивного вывода для изменения информации, в ней хранящейся.
Для пополнения БЗ служит подсистема моделирования. Она позволяет выполнить следующие операции:
выделить классы объектов выбранной для разработки предметной области, определить их атрибуты и отношения между классами объектов, составить описание классов объектов, атрибутов и отношений;
определить структуры выделенных классов объектов, т. е. построить ISA- и Part-of-иерархии на классах объектов проблемной области; определить атрибуты классов объектов и отношения между ними; задать их описание. Существует возможность поиска классов объектов и выхода на самый верхний уровень иерархии. Реализован контроль уникальности имени класса объектов и схемы отношения.
Эти функции реализуют моделирование (пополнение) интенсиональной составляющей выбранной проблемной области.
Функциями, реализующими моделирование (пополнение) экстенсиональной составляющей выбранной проблемной области, являются следующие:
определение представителей классов объектов, задание Part-of- иерархии на представителях классов, описание представителей классов;
задание значений атрибутов или способов их определения.
Подсистема управления моделями проблемных областей предназначена для загрузки описания выбранной проблемной области. Подсистема просмотра служит для просмотра структур (ISA- и Partof-иерархий) классов объектов выбранной проблемной области и отношений, сгруппированных по следующим классам: семантические, структурные, каузальные и функциональные. При просмотре иерархий классов объектов реализованы следующие возможности: добавить, удалить, изменить класс объектов и осуществить поиск класса объектов.
Компонента логического вывода служит для получения экстенсионалов отношений и атрибутов (фактов) выбранной проблемной области и для проверки информации, представленной в модели проблемной области, на непротиворечивость. Она состоит из следующих подсистем:
подсистема ввода логических выражений;
подсистема просмотра логических выражений;
подсистема ввода запросов;
подсистема формирования ответа на основе логического вывода.
Структура компоненты логического вывода представлена на рис. 5.13. В основе компоненты логического вывода лежат механизмы обработки знаний, описанные в разд. 5.2.4 (алгоритмы сколемизации, унификации и входной линейной резолюции для MLL).
Рис. 5.13
Концептуальный язык описания сложноструктурированнойпроблемной области
Для разработки системы моделирования проблемной области очень важным фактором является выбор языка представления знаний, т. к. от этого будет зависеть и мощность самой системы. Однако чем мощнее будет язык представления знаний, тем более высокой квалификацией должен обладать пользователь, который будет в дальнейшем работать с данной системой. Ему необходимо будет знать данный язык для построения запросов и ввода аксиом.
В нашем случае в качестве языка представления знаний используется язык MLL. И хотя пользователь, не зная его, может описать классы объектов и отношения между ними, используя функциональные возможности программного средства «Инфолог», тем не менее, для создания запросов необходимо знание синтаксиса MLL. Это, разумеется, предъявляет ряд определенных требований к пользователю.
Для того, чтобы облегчить работу с программным средством «Инфолог», нами разработан концептуальный язык запросов. Во второй версии программного средства «Инфолог» поддерживается концептуальный язык запросов. Он реализован в модуле q_ analis.c. Использование данного модуля в системе позволяет пользователю вводить запрос не на языке MLL, а на ограниченном естественном языке, который неподготовленному пользователю несомненно ближе и не требует знания языка MLL.
Далее кратко опишем созданный концептуальный язык. В ходе исследований были разработаны 9 шаблонов, которые позволяют представить основное количество запросов. Таким образом, следуя какому-либо из данных шаблонов, пользователь может построить запрос. При этом сам текст запроса он вводит на естественном языке. Пользователь не заботится о том, какой язык представления знаний используется в данной системе; это позволяет ему «подняться» на один уровень выше. После непосредственного описания самой проблемной области, практически неподготовленный пользователь может создавать запросы и получать результаты.
Например, так выглядит запрос, записанный на естественном языке: «Определить программные компоненты (ПК) проектируемой системы Р, обеспечивающие взлет-посадку самолетов» и на языке MLL:
ДД/ПК—Обработки)//#Р)(3(?//самолет)//#О) обесп_взлет_посадкуД, у).
На концептуальном языке этот запрос имеет следующий вид:
«Определить ПК_обработки, являющиеся частью проектируемая—система Р, и самолеты, являющиеся частью объект_управления О, находящиеся в отношении обесп_взлет_посадку».
Как видно из примера, для того, чтобы задавать запросы, записанные на концептуальном языке, знание языка MLL не требуется.
Ниже представим разработанные шаблоны.
Определить, имеет ли <Добъектх>, который является частью <Добъект2>, атрибут <G> со значением <^R>.
Определить, находится ли <Добъектц>, который является частью <Добъект!>, в отношении <G> с <Добъект22>, который является частью <Добъект2>.
Определить значение атрибута <G> <Добъектх>, который является частью <Добъект2>.
Определить <объекты>, являющиеся частью <#объектх>, с которыми объект2>, являющийся частью <Добъектд>, находится в отношении <G>.
Определить <объекты>, являющиеся частью <#объектх>, имеющие атрибут <G> и значение атрибута.
Определить <объекты>, являющиеся частью <Добъектх>, и <объекты>, являющиеся частью <Добъект2>, находящиеся в отношении <G>.
Определить <объекты>, которые имеют атрибут <Р> со значением <R>^ являющиеся частью <Добъектх>, содержащегося в <#объект2>.
Определить <объекты>, имеющие атрибут <Р>^ и его значения, которые являются частью <#объектх>, содержащегося в <#объект2>.
Определить <объекты>, имеющие атрибут <Р>^ и значения которого { >^<^=^^^ } константы <^R>^ являющиеся частью <# объект!>, содержащегося в <Добъект2>.
Рассмотрим внутреннюю структуру программного модуля, реализующего концептуальный язык. Его основу составляет процедура lexanal. Для передачи запроса из головного модуля используется буфер IpText. Запрос помещается в него при считывании содержания текущего окна. При этом текст запроса может быть введен из файла или с клавиатуры. Информация из IpText обрабатывается функцией syntanal, которая выбирает лексемы и передает их вызывающей процедуре. Получая лексемы, lexanal сравнивает их с эталонными и проверяет соответствие тому или иному шаблону. Для того, чтобы текст запроса был более приближен к естественному языку, пользователю позволяется вводить слова в любом падеже или числе.
Например, следующий запрос:
«Определить ПК обработки, являющиеся частью проектируемой системы Р, и самолеты, являющиеся частью объекта управления О, находящиеся в отношении обесп_взлет_посадку» будет более понятен, чем:
«Определить ПК—Обработки, являющиеся частью проектируе- мая_система Р, и самолеты, являющиеся частью объект_управления О, находящиеся в отношении обесп_ взлет _ посадку».
Для осуществления такой возможности была реализована пополняемая библиотека data.lib. Данная библиотека содержит основу слова и его представление в БЗ. Таким образом, например, при вводе пользователем слова « самолета» оно интерпретируется при построении запроса на языке MLL в «самолет». Это является необходимым
условием для создания правильного запроса. В процессе работы собирается массив слов, используемых в запросе. При окончании обработки текста запроса по полученным данным создается запрос на языке MLL.
Описанный выше модуль позволяет переводить основное количество запросов на ограниченном естественном языке на язык MLL. При этом от пользователя требуется приложение минимальных усилий, ему не надо изучать язык MLL; основная задача ложится на систему. Также плюсом данного модуля является высокая скорость работы.
После преобразования запрос вновь появляется в окне экрана, и пользователь может видеть результат. После этого ему требуется запустить преобразованный запрос, который попадает в модуль вывода.
Реализация системы «Инфолог»
Разработанная версия системы «Инфолог» работает под управлением MS Windows 3.1 и выше, Windows NT.
Система «Инфолог» поставляется в виде загрузочного модуля КМ.EXE и файлов *.dat, которые содержат описание (заголовки) таблиц, представленных в БЗ. ПО системы «Инфолог» включает 11 модулей, написанных на языке СиН—h с использованием библиотеки Engine, объем которых составляет около 4000 операторов. Объем за-
Класс объектов
Уровень
Подкласс
«Целое»
Уровень
«Часть»
Тип отношения
Имя отношения
Имя класса объектов 1
Имя класса объектов 4
Арность
Метод определения экстен- сионала
<Объект>
Описание
Класс объектов
Атрибут
Имя предложения 1
Имя терма 1
Имя домена 1
Имя
предка 1
Имя терма 4
Имя домена 4
Имя ►- предка 4
Имя предложения 4
Рис. 5.14
грузочного модуля системы «Инфолог» составляет 382 Кб. Структура некоторых таблиц, содержащихся в БЗ, представлена на рис. 5.14.
Таблицы экстенсиональной составляющей БЗ (БД) создаются системой «Инфолог» в процессе моделирования предметной области. Структура некоторых из них представлена на рис. 5.15.
Класс объектовКласс объектовПредставительПредставитель
Класс объектов
Класс объектов
Представитель
Представитель
Представитель«целого»Представитель«целого»УровеньУровеньПредставитель«части»Представитель«части»Класс«целого»Класс«целого»Класс«части»Класс«части»
Представитель«целого»
Представитель«целого»
Уровень
Уровень
Представитель«части»
Представитель«части»
Класс«целого»
Класс«целого»
Класс«части»
Класс«части»
Атрибутi
Имя класса объектов
Значение
Тип атрибута
Способ определения значения
Отношение г
Имя класса объектов 1
Имя класса объектов 4
Рис. 5.15
Система «Инфолог» поддерживает «свободное соединение» БЗ и БД под управлением СУБД Paradox. Такая реализация системы «Инфолог» обеспечивает использование всех возможностей СУБД Paradox, таких, как распределенная обработка, высокая производительность, сложный контроль, обеспечение целостности и безопасности данных, восстановление БД, поддержка больших БД.
Часть II
АРГУМЕНТАЦИЯ И АБДУКЦИЯ
Мы живем, точно в сне неразгаданном, На одной из учебных планет... Много есть, чего вовсе не надо нам, А того, что нам хочется, нет...
И. Северянин
Глава 6
ДАННЫЕ И ЗНАНИЯ ВИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМАХ
Рассмотренные методы дедуктивного вывода относятся к достоверным, т. е. из множества посылок, имеющих выделенные истинностные значения, выводимы заключения, также имеющие лишь выделенные истинностные значения. Так как в двузначной логике выделенным истинностным значением является «истина», то из истинных посылок не выводимы ложные заключения.
Дедуктивные выводы в настоящее время хорошо изучены, и автоматическое доказательство теорем является старейшей ветвью искусственного интеллекта. Конечно, формальные, синтаксические методы дедуктивного вывода не способны обрабатывать сложные прикладные области с большим пространством поиска нужной информации. Необходимо разрабатывать эвристические методы управления таким поиском, применять ad hoc стратегии, которые использует человек при решении различных проблем. Таким образом, на первый план выдвигаются рассуждения «здравого смысла», рассуждения, оперирующие с неполной, противоречивой, неточной, неопределенной информацией, где главную роль играет правдоподобный вывод. Но прежде чем переходить к основным методам правдоподобного вывода — абдукции и индукции, — необходимо остановиться на основных особенностях данных и знаний, применяемых в интеллектуальных системах различного назначения.
Характерные особенности знания
Данные и знания есть основные понятия системы представления знаний, являющейся одной из главных компонент интеллектуальной системы принятия решений. Исторически в теории и практике программирования понятие «данные» видоизменялось и усложнялось.
Сначала под данными понимались двоичные слова фиксированной длины. С развитием структуры вычислительных машин происходило развитие информационных структур для представления данных. Появились способы описания данных в виде векторов и матриц, возникли списочные и иерархические структуры. В настоящее время в языках программирования высокого уровня используются абстрактные типы данных, структура которых задается программистом. Появление БД знаменовало собой еще один шаг на пути организации работы с данными. Специальные средства, образующие систему управления БД (СУБД), позволяют эффективно манипулировать с данными, при необходимости извлекать их из БД и записывать в нужном порядке в БД.
Таким образом, данные — это факты, характеризующие объекты, процессы и явления предметной области, а также их свойства.
По мере развития исследования в области интеллектуальных систем возникла концепция знаний, которая стала доминирующей в исследованиях по искусственному интеллекту.
Как считает Д. А. Поспелов, можно выделить шесть этапов для усложнения данных и превращения их в знания. Охарактеризуем суть каждого этапа.
Внутренняя интерпретируемость.
На заре программирования каждой информационной единице — данному — программист отводил определенную ячейку памяти, которой соответствовал ее адрес в памяти, т. е. приписанное ей уникальное имя. Такое приписывание имени информационной единице приводило к тому, что только сам программист знал содержимое, скрывающееся под тем или иным именем. При необходимости он использовал это содержимое в программе, вызывал его по имени, причем машине не было известно, что скрывается за тем или иным именем.
Переход от физических адресов к относительным, а позднее и к символьным создал большие удобства для программиста. Он освобождался от забот по распределению реальной памяти в машине. Автоматически распределяя физическую память, машина формировала таблицу соответствий, в которой относительным или символьным адресам соответствовали физические адреса, назначаемые машиной. Но и в этом случае машина не получала информации о том, что именно скрывается за введенными программистом именами, соответствующими относительным или символьным адресам. Имена информационных единиц не подвергались ее анализу, и машина не могла ответить ни на один запрос, который касался бы содержимого ее памяти, если программист не составил для ответа специальной программы.
Если, например, в память машины нужно было записать сведения о студентах университета, представленные в табл. 6.1, то без внутренней интерпретации в память машины была бы занесена совокупность из четырех машинных слов, соответствующих строкам этой таблицы.
8 В.Н. Вагин и др.
Таблица 6.1
Ф.И.О.
Год рождения
Факультет
Курс
№ зачетной книжки
Специализация
Железнов В.П.
1979
АВТ
4
М1273
Прикладная математика
Попов П.С.
1981
ВТ
3
Р523
Радиотехника
Иванов А.П.
1978
ЭТ
5
Э1451
Электротехника
Петухова С.С.
1983
ПТ
2
Т485
Теплоэнергетика
Информационная единица, которой, например, приписано имя «Железнов В.П.», выглядит так: (<Год рождения, 1979> <Факультет, АВТ> <Курс, 4> <№ зачетной книжки, М1273> <Специализация, прикладная математика>). Круглые скобки здесь служат для выделения содержания информационной единицы, а угловые скобки выделяют в ней самостоятельные части, называемые обычно слотами. Полная запись информационной единицы, таким образом, имеет вид: (Имя информационной единицы <Имя 1-го слота, Значение 1-го слота> <Имя 2-го слота, Значение 2-го слота> ... <Имя n-го слота, Значение n-го слота>).
При этом информация о том, какими группами двоичных разрядов в этих машинных словах закодированы сведения о студентах, у системы отсутствуют. Они известны лишь программисту, который использует данные табл. 6.1 для решения возникающих у него задач.
При переходе к знаниям в память машины вводится информация о некоторой протоструктуре информационных единиц («шапка» таблицы в нашем примере). Она представляет собой специальное машинное слово, в котором указано, в каких разрядах хранятся данные о Ф.И.О., годах рождения, факультетах, курсах, номерах зачетных книжек и специализациях. При этом должны быть заданы специальные словари, в которых перечислены имеющиеся в памяти системы Ф.И.О., года рождения, факультеты и т.п. Все эти атрибуты могут играть роль имен для тех машинных слов, которые соответствуют строкам таблицы. По ним можно осуществлять поиск нужной информации. Каждая строка таблицы будет экземпляром протоструктуры. В настоящее время СУБД обеспечивает реализацию внутренней интерпретируемости всех информационных единиц, хранимых в реляционной БД.
Структурированность.
Сначала данные обладали очень простой внутренней структурой типа «машинное слово — совокупность разрядов». Затем, когда отдельные машинные слова стали объединяться в более сложные структуры (например, в списки), появилась возможность работать с информационными единицами с более богатой внутренней структурой. Для
таких информационных единиц должен выполняться «принцип матрешки», т. е. рекурсивная вложимость одних информационных единиц в другие. Каждая информационная единица может быть включена в состав любой другой, и из каждой информационной единицы можно выделить некоторые ее составляющие. Другими словами, должна существовать возможность произвольного установления между отдельными информационными единицами отношений типа «часть — целое», «род — вид» или «элемент — класс».
Таким образом, информационная единица может задаваться в виде структуры, показанной на рис. 6.1, где Р- означает имя слота Дго уровня вложенности с порядковым номером ц Р — имя всей информационной единицы, г^ — значение слота с порядковым номером г в J-м уровне.
р
^1
>2
Рт
Гт
п
Рис. 6.1
св
Й
S о
О И 1 1
S
ГЦ
О
Железнов В.П.
Год рожд.
1979
Фак-т
АВТ
Курс
4
№ кн.
М1273
Спец.
ПМ
Попов ПГ.
Год рожд.
1981
Фак-т
РТ
Курс
3
№ кн.
Р523
Спец.
Радиотехника
1
св и О
В О л к
Жуков В.А.
Год рожд.
1955
Фак-т
АВТ
Каф.
пм
Долж.
доц.
Какой курс читает
Дискретная математика
Крюков
А.Т
Год рожд.
1953
Фак-т
РТ
Каф.
РПУ
Долж.
проф.
Какой курс читает
Радиоприемники
Рис. 6.2
Видно, что информационная единица задается так, что ее первый слот в качестве своего значения содержит к слотов второго уровня, а
все остальные слоты первого уровня не разбиваются на более мелкие единицы. Иногда в представлении знаний вместо термина «слот J-ro уровня» используют специальные названия для частей информационной единицы. Например, части слота 1-го уровня называют ячейками, а их части — фасетами.
Между слотами разных уровней (точнее, между их именами) могут устанавливаться отношения различного типа. На рис. 6.2 (см. также рис. 6.1) показан пример многоуровневой информационной единицы. Она имеет глубину вложения слотов, равную четырем. Именем слота первого уровня служит слот «работники университета». На втором уровне два слота: «студенты» и «преподаватели». На третьем уровне имена слотов — это «Железнов В.П.», «Попов П.С.» и т. д. Остальные слоты вместе с их значениями являются слотами четвертого уровня.
Информационные единицы, структурированные таким образом, обычно называются фреймами. Они также обладают внутренней интерпретируемостью и наличием внутренней структуры связей.
Связность.
Между информационными единицами может быть также предусмотрена возможность установления внешней структуры связей различного типа. Например, информационные единицы могут быть связаны каузальным отношением, задающим причинно-следственные связи, или отношением «аргумент — функция», связанным с вычислением определенных функций. Можно также говорить об отношении структуризации, задающем иерархию информационных единиц.
Между информационными единицами могут устанавливаться также пространственные и временные отношения, а также отношения, определяющие порядок выбора информационных единиц из памяти машины или указывающие на то, что две информационные единицы несовместимы друг с другом в одном описании.
Наиболее полно различные типы связей воплощены в общей модели представления знаний, называемой семантической сетью, представляющей собой иерархическую сеть, в вершинах которой находятся информационные единицы. Эти единицы снабжены индивидуальными именами. Дуги такой сети соответствуют различным связям между информационными единицами. При этом иерархические связи определяются отношениями структуризации, а неиерархические связи — отношениями иных типов. Так, в качестве иерархических связей выступают отношения ISA (is an instance of) и AKO (a kind of). ISA- отношение связывает элементы (примеры) класса с самим классом, включающим группу объектов (явлений, процессов), обладающих общими свойствами. АКО-отношение используется для связи одного класса с другим. Например, индивидуальный объект «Попов П.С.» связывается ISA-отношением с классом «группа А-13-99», который, в
свою очередь, связывается АКО-отношением с более общим классом «факультет АВТ».
Шкалирование.
Отдельные информационные единицы могут соотноситься между собой с помощью различных шкал. Простейшие из них — метрические шкалы. С их помощью можно устанавливать количественные соотношения и порядок тех или иных совокупностей информационных единиц.
Метрические шкалы, у которых начало отсчета абсолютно, т. е. не зависит ни от событий, ни от момента или места нахождения, называются абсолютными. Примером такой абсолютной метрической шкалы является начальное событие «Рождество Христово», от которого мы отсчитываем историческое время. С помощью этой шкалы можно упорядочить по возрасту всех людей, известных интеллектуальной системе, и ответить на любой вопрос, связанный с их возрастом.
Другой тип метрических шкал — относительные метрические шкалы. Начало отсчета на них меняется и каждый раз служит предметом специального договора. Очень часто это начало определяется текущим моментом высказывания или местом нахождения. Такое высказывание как «Через полчаса я буду на кафедре прикладной математики» проецируется именно на относительную шкалу. Для относительных шкал используют те же единицы измерений, что и для абсолютных.
Наконец, еще один вид шкал — порядковые шкалы. На них фиксируется лишь порядок информационных единиц. Примером такой шкалы может служить шкала тяжести преступлений, имеющая место в юриспруденции. В этой шкале кража — преступление менее значительное, чем убийство, а мелкое хулиганство менее значительно, нежели кража. Другим примером порядковой шкалы является шкала оценок обучающихся в университете: неудовлетворительно, удовлетворительно, хорошо, отлично. На этой шкале нет никакой метрики, и мы не можем количественно оценить, насколько оценка «хорошо» превосходит оценку «удовлетворительно».
Среди порядковых шкал выделяют нечеткие порядковые шкалы. Их иногда называют лингвистическим шкалами. Пример такой шкалы «никогда — всегда». Метки на ней характеризуют частоту появления событий или процессов. Шкала ограничена с двух сторон маркерами «никогда» и «всегда». В первом случае частота появления события равна нулю, во втором — единице. Остальным маркерам, которым соответствует упорядоченный список нечетких квантификаторов типа «очень редко», «редко», «не часто — не редко», «часто», «очень часто», соответствуют не точечные деления, а некоторые интервалы, величина и расположение которых зависят от интерпретации словесных оценок, относящихся к шкале. Например, можно считать,
что маркеру «редко» соответствует случай, когда частота появления события лежит в интервале от 0,2 до 0,3.
Для нечетких квантификаторов при построении такой шкалы можно равномерно разделить отрезок между концевыми маркерами на столько отрезков, сколько промежуточных маркеров в ней находится или опросить экспертов с целью определения границ отрезков, соответствующих каждому из промежуточных маркеров.
В теории нечетких множеств, как известно, используются функции принадлежности, интерпретируемые как характеристические функции для нечетких множеств. Функция принадлежности для множества А обозначается символом ц^ху Ее значение, равное 0, соответствует утверждению, что данный элемент х не принадлежит А, а ее значение, равное 1, свидетельствует о его безусловной принадлежности данному множеству. Промежуточные значения Цд(ж) не следует трактовать в вероятностном смысле, так как степень принадлежности элемента к нечеткому множеству не обязана иметь статистическую природу.
Следует отметить, что нечеткие квантификаторы фиксируют лишь порядок, образующийся на нечетких шкалах. Например, что значит «редко»? Во фразах типа «Я редко бываю в кинотеатре» и «Редко удается поехать в зарубежную командировку» вряд ли говорится об одинаковой частоте случающихся событий. Трудность сравнения между собой информационных единиц, расположенных на различных нечетких шкалах, решается путем введения универсальных нечетких шкал, на которые с помощью специальных процедур проецируются различные нечеткие шкалы, соответствующие одним и тем же спискам нечетких квантификаторов.
Кроме абсолютных и относительных метрических шкал, порядковых шкал и их смешанных типов, следует отметить оппозиционные шкалы. Как считает Д. А. Поспелов, именно оппозиционные шкалы заложили основу восприятия мира человека не как хаотического набора ситуаций и фактов, а как определенным образом упорядоченного их единства. Бинарная оппозиция типа противопоставления двух фактов, явлений или свойств — левое и правое, мужское и женское, — лежит в основе мировосприятия у всех народов мира. Такая шкала образуется с помощью пар слов-антонимов. Примерами могут быть пары: красивый — безобразный, хороший — плохой, сильный — слабый и т. п. В середине оппозиционной шкалы находится нейтральное значение типа: не красивый — не безобразный, не хороший — не плохой и т. п.
Постигая закономерности физического мира, с помощью оппозиционных шкал можно любое понятие естественного языка как бы спроецировать на второй план. Отсюда и употребляются эпитеты «острый» ум, «недалекий человек» и т. и.
Семантическая метрика.
На множестве информационных единиц упорядочение сведений в когнитивных структурах человека происходит благодаря не только оппозиционным шкалам, но также и ассоциативным связям, характеризующим ситуационную близость этих единиц. Эту связь можно было бы назвать отношением релевантности для информационных единиц. Такое отношение дает возможность выделять в информационной базе некоторые типовые ситуации (например, «покупка», «учеба», «отдых»). Отношения релевантности при работе со знанием позволяет сузить пространство поиска нужной информации и обнаруживать знания, близкие к уже найденным.
Другая оценка близости информационных единиц опирается на частоту появления тех или иных ситуаций или конкретных представителей в типовых ситуациях. Выбор того или иного конкретного представителя из возможных подчиняется закону частоты его появления. Если, например, провести с представителями социума, в котором мы живем, эксперимент, в ходе которого испытуемый должен не задумываясь давать ответы на вопросы экспериментатора о названиях конкретных представителей типовых ситуаций или слов-понятий, то результат в подавляющем числе случаев будет демонстрировать действие закона частоты появления. Если мы просим назвать поэта, то, как правило, русский человек даст ответ «Пушкин», а не «Байрон». На требование назвать инструмент, мы, как правило, получим ответ «молоток».
Такие эксперименты показывают, что у нас «на языке» готовые ответы на возможные запросы к нашей памяти всегда те, которые соответствуют наиболее часто встречавшемуся верному ответу. Подобный механизм позволяет при дефиците времени на обдумывание и поиск нужной информации в памяти всегда иметь нужные «клише», наиболее часто встречавшиеся в нашей жизни.
Наличие активности.
В связи с непрерывным развитием теории и практики программирования программы и данные, с которыми эти программы работали, были отделены друг от друга. В программе было сосредоточено процедурное знание. Оно хранило в себе информацию о том, как надо действовать, чтобы получить нужный результат. Машина выступала в роли мощного калькулятора, в котором программа играла роль активатора данных.
Знания другого типа, которые обычно называют декларативными^ хранили в себе информацию о том, над чем надо выполнять эти действия. Процедурное знание формировало обращение к декларативному знанию, воплощенному на первом этапе развития программирования в пассивно лежащие в памяти машины данные.
Для интеллектуальных систем складывается противоположная ситуация. Не процедурные знания активизируют декларативные, а на-
оборот, та или иная структура декларативных знаний оказывается активатором для процедурных знаний. Появление в базе фактов или описаний событий, установление связей может стать источником активности системы. Совокупность средств, обеспечивающих работу со знанием, образует систему управления базой знаний (СУБЗ), разработка которой сейчас выполняется.
В развитых моделях представления данных можно выделить два компонента: интенсиональные представления и экстенсиональные представления. Оба компонента хранятся в БД. При этом в ее экстенсиональную часть входят конкретные факты, касающиеся предметной области (например, строки табл. 6.1), а в интенсиональную часть — схемы связей между атрибутами, выраженные в виде общих законов (постулатов). Будем рассматривать БД, в которых хранятся конкретные факты о предметной области как экстенсиональные БД (ЭБД), а БД для хранения общих законов — как интенсиональные (ИБД). Если экстенсиональные представления относятся к данным, то относительно интенсиональных представлений единого мнения нет. Разработчики БД говорят в этом случае о схемах БД, а представители искусственного интеллекта — о знаниях в проблемной области. Естественно, мы будем придерживаться второй точки зрения.
Поясним на примере понятия экстенсионального и интенсионального представления знаний. Возьмем понятие ПРЕДШЕСТВУЕТ (сокращенно ПРЕД). Интенсиональный смысл этого понятия состоит в том, что ПРЕД есть бинарное отношение, определенное на множестве предметов и удовлетворяющее следующим условиям:
если х ПРЕД у и у ПРЕД г, то х ПРЕД
не существует xi, Х2, ...^ хт таких, что xi ПРЕД Х2, х2 ПРЕД хз, хт ПРЕД Хь
Экстенсиональное представление понятия ПРЕД получается тогда, когда это понятие интерпретируется как множество всех пар предметов, для которых это отношение истинно.
Пусть, например, предметная область состоит из всех двоичных слов длины п. Предположим, что отношение ПРЕД определено следующим образом: оцс^ ... <тп ПРЕД З1Р2 • • • Зп тогда и только тогда, когда <71 < Pi, <72 ^ З21 • • •, <4 < Зп • Тогда экстенсиональным представлением понятия ПРЕД будет множество пар: (00... 00, 00... 01), (00... 00, 00... 10), ..., (00... 0, 10... 0), (00... 01, 00... 11), (00... 001, 00... 101), ..., (00... 01, 10... 01), ..., (01... 11, 11... 11). Легко показать, что число этих пар равно в данном примере Зп - 2П.
При таком экстенсиональном представлении имеется простой алгоритм, выясняющий для любой пары х, у Е {0,1}п, верно ли, что х ПРЕД у. Этот алгоритм заключается просто в поиске данной пары (ж, у) среди пар экстенсионального представления. Если такая пара
найдена, то ответом будет: «верно, что х ПРЕД ?/»; если же такой пары нет, то ответом будет: «неверно, что х ПРЕД у».
Конечно, опираясь только на интенсиональные представления 1) и 2) нельзя выяснить верно ли для конкретной пары (ж, ?/), что х ПРЕД у. Нужна дополнительная информация об интерпретации. Можно, однако, рассматривать «комбинированные» экстенсиональное и интенсиональное представления, которые позволяют отвечать более эффективно на такие вопросы.
Эффективность алгоритмов вывода очень сильно зависит от выбранных экстенсиональных и интенсиональных представлений. Чисто экстенсиональное представление приводит к неэффективным алгоритмам (в том случае, если экстенсиональное представление понятий велико) или же вообще не позволяет дать алгоритм (в том случае, когда экстенсиональное представление бесконечно). С другой стороны, чисто интенсиональное представление не позволяет фиксировать интерпретауимр в частности, ее область: необходимо также и экстенсиональное представление. Логика предикатов первого порядка показывает, что в определенном смысле произвольное знание можно выразить почти чисто интенсионально: единственным экстенсиональным представлением является экстенсиональное представление понятия ИСТИНА. Однако проблемы распознавания в языке логики предикатов первого порядка либо вообще алгоритмически неразрешимы, либо имеют трудоемкие алгоритмы (алгоритмы с весьма высокими нижними оценками по времени и памяти).
Таким образом, в ЭБД конкретные факты находятся в экстенсиональной форме посредством соответствующих кортежей (n-ок) отношений. ИБД служит для хранения общих законов (постулатов), представленных в виде правильно построенных выражений логики предикатов первого порядка. Введение интенсиональной части БД очень важно с точки зрения дедуктивного вывода и позволяет перейти к рассмотрению дедуктивных БД, являющихся составной частью дедуктивных систем принятия решений. Отсюда понятно различие между обычными БД и дедуктивными: в дедуктивных БД для вывода новых фактов из общих законов используются методы автоматического доказательства теорем, в то время как в обычных БД пользователь должен писать более сложные предложения для запроса, в том числе необходимые ему общие законы. Кроме того, дедуктивные механизмы вывода должны являться, на наш взгляд, интегральной частью любой технологии БД и, как следствие, любой интеллектуальной системы.
Возвращаясь к табличному представлению данных, отметим, что экстенсиональное отношение — это определенным образом выделенное подмножество декартова произведения доменов, относящихся к некоторому набору атрибутов. Например, содержимое табл. 6.1 есть подмножество декартова произведения доменов, соответствующих атрибутам: «Ф.И.О.», «Год рождения», «Факультет», «Курс»,
«№ зачетной книжки», «Специализация». В схеме баз данных такому экстенсиональному отношению будет соответствовать интенсиональное отношение R^A^ Л2,... Ат\ Имя этого отношения совпадает с именем экстенсионального отношения (например, для табл. 6.1 R представляет собой «список студентов данного университета»), а в качестве его аргументов выступают атрибуты, домены которых использовались для образования соответствующего экстенсионального отношения.
Табличное представление данных, протоструктура которых определяется экстенсиональными отношениями, а схема БД — интенсиональными отношениями, является характерным для реляционных БД.
Знание как обоснованное истинное убеждение
По мере развития исследований в области интеллектуальных систем возникла концепция знания^ которая объединила в себе многие черты процедурной и декларативной информации.
Хотя строгого понятия знания и не существует, само это понятие волновало лучшие умы человечества, начиная с древних греков. Так, по Платону знание делится на чувственное и интеллектуальное. Чувственное знание — низший вид, интеллектуальное — высший. Каждая из этих сфер в свою очередь делится на «мышление» (noesis) и «рассудок» (dianoia). Под «мышлением» Платон понимает деятельность одного лишь ума, свободную от примеси чувственности, непосредственно созерцающую интеллектуальные предметы.
Второй вид интеллектуального знания — «рассудок». Под «рассудком» Платон понимает такой вид интеллектуального знания, при котором познающий также пользуется умом, но уже не ради самого ума, а для того, чтобы понимать чувственные вещи. «Рассудок» Платона уже не непосредственный, не интуитивный, а опосредствованный, «дискурсивный» вид знания. Рассудок, согласно Платону, ниже ума и выше ощущений.
Чувственное знание Платон также делит на две области: «веру» (pistis) и «подобие» (eicasia). С помощью «веры» мы воспринимаем вещи в качестве существующих и утверждаем их в этом качестве. «Подобие» — вид уже не восприятия, а представления вещей, или интеллектуальное действование с чувственными образами вещей. «Подобие», по Платону, — мыслительное построение, основывающееся на «вере».
Платон различает знание и мнение. Одно истинное мнение еще не дает знания, и для возникновения знания к истинному мнению должно присоединится еще нечто — «смысл». Но Платон идет еще дальше. Как бы ни понимать «смысл», то ли как выражение в слове, то ли как перечисление элементов, то ли как указание на отличительный
признак, прибавка «смысла» к «правильному мнению» не создает и не может создать того, что зовут знанием.
Таким образом, знание не есть ни ощущения, ни правильное мнение, ни соединение правильного мнения со смыслом. Мнение не есть незнание, но оно не есть и знание: оно темнее знания и яснее незнания. В отличие от мнения знание есть потенция^ особый род существующего. Род этот характеризует направленность: знание направляется к своему предмету, и всякая потенция, направляющаяся к одному и тому же и делающая одно и то же, называется той же самой в отличие от всякой, направленной на иное и делающей иное.
Математические предметы и математические отношения Платон выделяет в особый предмет знания. В системе видов знания математическим предметам также принадлежит некое «серединное» место. Это место между областью «идей» и областью чувственно воспринимаемых вещей, а также областью их отображений. «Идеи» постигаются только посредством знания, и знание возможно только относительно «идей». В отличие от «идей» математические предметы и математические отношения постигаются посредством рассуждения, или размышления рассудка. Это и есть второй вид знания.
Чувственные вещи постигаются посредством мнения (doxa). О них невозможно достоверное знание, их нельзя постигнуть с помощью рассуждения; если их можно постигнуть, то лишь недостоверно, гипотетически.
Почему же математические предметы занимают середину между подлинным знанием и мнением? Дело в том, что математические предметы родственны и вещам, и «идеям». Предметы эти как «идеи» неизменны; природа их не зависит от отдельных экземпляров, представляющих их в чувственном мире. Математики вынуждены, считает Платон, прибегать для достижения своих предметов к помощи отдельных фигур, как в геометрии. Фигуры эти рисуются или представляются посредством воображения. Именно поэтому математическое знание не есть знание, совпадающее с тем, при помощи которого постигаются «идеи». Оно совмещает в себе черты истинного знания с некоторыми чертами мнения.
Русскому слову «наука» соответствует древнегреческое «епист- эмэ»^ которое в языке эллинов первоначально понималось как «умение», «искусство», «опытность», затем — как «знание» и, наконец, как «научное знание». Для Платона «епистэмэ» — достоверное знание, а не субъективное мнение. Так же понимал этот термин и Аристотель — ученик, последователь и критик Платона.
Научное, или достоверное, знание для Аристотеля — не результат веры, некритически воспринятой традиции, субъективного опыта. Оно — результат логического рассуждения^ направленного на открытие начал, причин и элементов того, что дано нам в непосредственном
чувственном опыте: «... всякое знание, основанное на рассуждениях ... имеет своим предметом, — говорится в «Метафизике», — более или менее точно определенные причины и начала».
«Знать же, почему нечто есть, — значит знать через причину» — пишет Аристотель во «Второй аналитике». Научное знание должно быть также логически доказательным: нужно не просто выявить причину данного предмета, но и доказать, что для этого предмета именно она, а не нечто иное, является причиной. Поэтому Аристотель подчеркивает: «... наука связана с доказательством... ».
Аристотель абсолютизировал научное знание и считал, что не может быть науки ни о привходящем (случайном), ни о преходящем (изменчивом). Случайное как таковое не может быть предметом никакого вида знания. Нельзя сказать, чтобы Аристотель игнорировал правдоподобное знание, принцип правдоподобия, который в латиноязычной философии получил название пробабилизма (от лат. «пробабилис» — вероятный, правдоподобный, возможный). Он определяет правдоподобное как «то, что кажется правильным всем или большинству людей... ». Здесь он говорит об особом типе умозаключения, которое строится из правдоподобных положений. Гениальный Стагирит называл его «диалектическим». Но такое умозаключение он вовсе не считал научным, доказательным, ведь доказательство имеет место только там и тогда, где и когда мы исходим непосредственно или опосредствованно из безусловно истинных положений. Следовательно, в отличие от скептиков, Аристотель допускал возможность абсолютно достоверного знания и именно его считал научным.
Как правило, определение знания носит метафорический характер, начиная от знаменитого высказвания «знание — сила» и кончая определениями, данными в различных энциклопедических справочниках.
В области искусственного интеллекта этот ключевой термин мы будем употреблять как следующую метафору: знание — это обоснованное истинное убеждение (вера). Здесь каждое слово нуждается в объяснении: что такое убеждение (belief), истина и обоснование (подтверждение) ?
Интересно отметить, что до появления вычислительных машин, задолго до эры искусственного интеллекта в Большой энциклопедии (под ред. С. Н. Южакова, СПб, т. 9, 1902 г.) было дано следующее определение этого термина: «Знание в объективном смысле то же, что истинное знание (познание), в субъективном — убеждение в его истине по реальным причинам. В первом отношении оно противополагается заблуждению, как неистинному знанию, во втором — вере, мнению».
В этой цитате те же самые «три кита», на которых зиждется это метафорическое понятие. Начнем с «убеждения» (веры). Пусть имеется база знаний для описания реального мира (предметной области),
состоящая из пары <БЗо, ^£>^ где БЗо — совокупность утверждений на языке некоторой логики £, например, логики предикатов первого порядка, и Н^ - отношение выводимости (доказуемости) в этом языке С. В этом случае утверждение Р Е БЗо тогда и только тогда, когда БЗо VL Р.
Пусть дана некоторая интеллектуальная система А, основанная на знании, со своей БЗ. Предполагается, что в этой системе утверждение Р имеет место только тогда, когда Р находится в БЗ этой системы, т. е. убеждение есть нечто, литералъно представленное в БЗ.
Конечно, в такой БЗ могут находиться какие угодно утверждения. Однако потребуем, чтобы такие утверждения были истинными, непротиворечивыми друг другу, хотя это может потребовать обоснования.
Фундаментальным понятием семантики является понятие истины реального мира. Мы будем рассматривать истину в модели, где под моделью и понимается реальный мир. Состояние реального мира позволяет приписать семантические значения «истинно» или «ложно» (истинностные значения) к утверждениям интеллектуальной системы А. Так, для логики предикатов первого порядка имеет место семантика А. Тарского, состоящая из тройки < D,R,F >, где D — непустое множество предметов (индивидуумов), называемое областью интерпретации (универсумом), a R и F являются множествами отношений и функций соответственно между предметами, содержащимися в описываемом реальном мире.
Интерпретация представляет собой распространение исходных положений какой-либо формальной системы на реальный мир. Она придает смысл каждому символу формальной системы и устанавливает взаимно однозначное соответствие между символами формальной системы и реальными предметами. Если в логике высказываний интерпретация формулы понимается как приписывание истинностных значений пропозициональным символам этой формулы, то в логике предикатов первого порядка, как известно, каждому n-местному предикатному символу формулы соответствует n-местное отношение (т. е. Dn {И,JI}); каждому n-местному функциональному символу — п- местная функция (т. е. Dn D) и каждой константе — некоторый предмет из D. Говорят, что интерпретация является моделью БЗ тогда и только тогда, когда все утверждения в БЗ становятся истинными в этой интерпретации.
Как правило, системы, основанные на знании, имеют дело с одним знанием или с одним убеждением (верой). Для таких систем логика предикатов первого порядка пополняется оператором К, где КР читается как «Известно (верно), что утверждение Р истинно». Имеем ли мы дело со знанием или убеждением относительно утверждения Р, зависит только от того, представлена ли в БЗ или нет аксиома вида КР Р, которая читается как «Если известно, что Р истинно, тогда
утверждение Р действительно истинно». Если эта аксиома представлена, то имеет место знание, если нет — убеждение.
Конечно, в динамически изменяющемся мире истинность некоторых утверждений может меняться. Тут мы подходим к пояснению слова «обоснованное» в метафорическом определении понятия «знание».
Действительно, чтобы убедиться в истинности или ложности некоторого утверждения, надо обосновать его статус новыми объяснениями, фактами или наблюдениями, и в зависимости от подтверждения или опровержения его истинности, перевести это утверждение в статус или знания, или ошибочного убеждения. Будем называть убеждение гипотезой, которая по мере ее обоснования превращается или в знание (в случае, если все объяснения, факты или наблюдения говорят о ее истинности), или в ошибочное убеждение, которое надо удалить из БЗ.
В качестве примера рассмотрим три утверждения.
Все студены юны или ^х (Студент(т) Юн(ж)).
Петров — студент или Студент (Петров).
Петров юн или Юн(Петров).
Если мы убеждены, что первые два утверждения истинны, то истинность третьего утверждения достоверно подтверждена вследствие правила дедуктивного вывода Modus Ponens. Обоснование третьего утверждения здесь не требуется, если нам удалось обосновать истинность первых двух (такое обоснование легко сделать для второго утверждения, но что касается первого утверждения, возникают трудности с квантором «все»).
Теперь считаем, что истинны первое и третье утверждения. Выдвигаем гипотезу: «Студент ли Петров?» Эта гипотеза перейдет в статус знания, если мы усилим нашу веру в эту гипотезу путем дополнительных объяснений, фактов или наблюдений, одно из которых, например, может быть следующим: «Петров учится на факультете вычислительной техники». Этот тип рассуждений носит название абдуктивного вывода, к рассмотрению которого мы перейдем ниже.
Наконец, имеется третья возможность, когда истинны второе и третье утверждения. Выдвигается гипотеза в виде общего закона: «Все ли студенты юны?» Этот пример является примером индуктивного умозаключения, обоснование которого является трудной задачей.
Говорят, что классификация утверждений о реальном мире на убеждения, гипотезы и знание выражает эпистемический статус утверждений. Большинство теорий о реальном мире на данном периоде исследований являются знанием, так как они подтверждаются многочисленными объяснениями, фактами и наблюдениями.
Кроме эпистемического статуса утверждений имеется еще и ассерторический статус. Рассмотрим следующее утверждение: «Студенты юны». Его можно трактовать по-разному.
«Все студенты юны». Как уже говорилось, это слишком сильное утверждение из-за квантора «все». По-видимому, исключения в реальной жизни все-таки бывают.
«Обычно (в большинстве случаев, как правило) студенты юны». Это утверждение предполагает некоторую возможность (вероятность) того, что студенты юны.
«Студенты юны». В этом случае исключения, конечно, предполагаются, но и признается неявно некоторая связь (какая?) между студенчеством как некоторым социумом и его возрастом.
Отсюда вытекают три различных подхода при определении смысла (семантики) утверждений.
В первом случае имеет место так называемый аналитический (дефинициальный) тип утверждений, т. е. тот тип, когда истинность утверждений не подвергается сомнению, как не подвергаются сомнению утверждения типа «квадрат — равносторонний прямоугольник» или «Земля вращается вокруг Солнца». Конечно, к этому типу нежелательно относить утверждения вроде нашего примера, так как имеются не юные студенты, если считать юность до 23 лет.
Во втором случае подчеркивается етереотипний взгляд на утверждения, в котором имеет место типичный случай. Известно, что в искусственном интеллекте теория прототипов широко используется в системах представления знаний, основанных на фреймах, в которых выводится стереотипная ситуация. Но если в классической логике предикатов первого порядка, как правило, используется вывод с аналитическими утверждениями (достоверный вывод), то в выводе с прототипами находят применение вероятностные, нечеткие и т. и. схемы (правдоподобный вывод).
Третий случай страдает отсутствием строгого формализма при описании смысла того или иного утверждения. Здесь можно говорить лишь о выдвижении некоторой гипотезы, которая будет подтверждаться или опровергаться при наличии дополнительных фактов, объяснений или наблюдений.
Таким образом, в семантической теории знания основная трудность заключается в том, что истинностное значение утверждения может быть как известно, так и неизвестно, независимо от того, какое оно в действительности. Если мы охарактеризуем БЗ как один из возможных миров, то некоторое утверждение будет истинным тогда и только тогда в этом мире, когда оно истинно во всех возможных мирах, совместимых с нашей БЗ.
Пусть, например, мы имеем в БЗ следующие три утверждения.
Профессор(Бурлаков).
Профессор(Фролов) V Профессор(Коптев).
\/х(Профессор(х) Работник_Университета(х)).
Здесь утверждается, что Бурлаков и Фролов или Коптев являются профессорами как в этой БЗ, так и во всех возможных мирах, совместимых с ней, чего нельзя сказать о других индивидуумах, не перечисленных в нашей БЗ. Аналогично, в мире нашей БЗ легко вывести, что Бурлаков также является работником университета. Таким образом, наша БЗ может быть охарактеризована как один из возможных миров, в котором некоторое утверждение будет истинным тогда и только тогда, когда оно истинно во всех возможных мирах, совместимых с БЗ. Недостаток этого подхода заключается в том, что моделирование знаний влечет логическое всеведение^ т. е. все логические следствия убеждений должны быть обоснованы.
Альтернативным к подходу возможных миров является так называемый синтаксический подход, который изоморфен только явно заданному множеству утверждений БЗ. Так, возвращаясь к примеру нашей БЗ, мы имеем только три заданных утверждения, считающихся истинными. Однако никакие выводимые утверждения типа «Бурлаков является работником университета» не должны быть в БЗ, что позволяет избежать логического всеведения. Все, что обосновано, явно присутствует в БЗ. Правда, при таком подходе не обосновывается утверждение Профессор(Коптев) V Профессор(Фролов) в силу его явного отсутствия в БЗ, с чем трудно согласиться.
Упомянем еще об одном подходе, связывающем понятие возможного мира с миром ситуаций. Из утверждений, в том числе и выводимых, будут поддерживаться только те, которые релевантны данной ситуации. Так, для нашего примера истинны будут утверждения о том, что Бурлаков является профессором, а также что Фролов или Коптев — тоже профессора, причем, если обосновано утверждение Профессор(Фролов) V Профессор (Коптев), то обосновано и Профес- сор(Коптев) V Профессор(Фролов). Выводимое утверждение о Бурлакове как работнике университета также обосновано, если обосновано утверждение, что все профессора являются работниками университета.
Таким образом, ситуационный подход расширяет стандартную структуру возможных миров, и если в «возможных мирах» определяется истинностное значение всех утверждений, то в ситуационном подходе истинностное значение может быть как определено, так и не определено.
He-факторы знания
В идеале было бы замечательно, если БЗ интеллектуальной системы содержала бы только аналитические утверждения, обоснование которых не требуется. К сожалению, данные и знание, описывающие сущности и связи какой-либо проблемной области, как правило,
неполны, противоречивы, немонотонны, неточны, неопределенны и нечетки. Остановимся на этих особенностях знания.
В классических логических системах свойство полноты обычно формулируется следующим образом: для множества формул с заданными свойствами исходная система аксиом и правил вывода должна обеспечить вывод всех формул, входящих в это множество.
Важно также свойство непротиворечив о спиц суть которого сводится к тому, что исходная система аксиом и правил вывода не должна давать возможность выводить формулы, не принадлежащие заданному множеству формул с выбранными свойствами. Например, полные системы аксиом и правил вывода в классическом исчислении предикатов первого порядка позволяют получить любую общезначимую формулу из множества общезначимых формул и не дают возможности получить какие-либо формулы, не обладающие этим свойством.
Однако на практике трудность получения полной и непротиворечивой БЗ состоит в том, что знания о некой конкретной проблемной области, как правило, плохо формализованы или не формализованы совсем, а значит, трудно или даже невозможно сформулировать и те априорные свойства, которым должны удовлетворять формулы, выводимые в данной системе.
От полноты содержащейся в БЗ информации зависит и полнота ответов на запросы, предъявляемые к БЗ. Если в БЗ, содержащую сведения о студентах и преподавателях данного университета, поступил запрос «Бурлаков — профессор?», то ответ будет положительным, если это на самом деле так. В случае неудачи с этим запросом могут быть два варианта: а) Бурлаков — не профессор и б) статус Бурлакова неизвестен. Первый вариант имеет место, если мы придерживаемся предположения о замкнутости мира (Рейтер), рассматривающего факты, которые не могут быть найдены (выведены) в БЗ, как их отрицания. О втором варианте трудно что-либо сказать. Таким образом, если в БЗ содержатся сведения только о нескольких преподавателях университета, хотя их на самом деле намного больше, то, естественно, такая неполная БЗ и будет давать ответы только об этих преподавателях. Возможен случай, когда система «знает» о других, неизвестных ей преподавателях. Можно отметить, что проблеме обработки запросов при неполноте знаний посвящена логика вопросов и ответов (эротетическая логика), в которой наряду с обычными истинностными значениями {И, Л} добавлены еще два: «неизвестно» и «противоречиво».
Что касается противоречивости знания, то ее последствия в силу потери разницы между истиной и ложью (вспомним, что из противоречия выводима любая формула (ex falso quodlibet), т. е. А^А h В) поистине катастрофически. При представлении и обработке противоречивых знаний возникают две проблемы. Первая касается ассимиляции (усвоения) противоречивой информации, т. е. способности вклю-
чать в БЗ противоречия и возможности работать с противоречивой БЗ. Вторая проблема заключается в аккомодации (приспособлении) противоречивого знания, т. е. такой модификации БЗ, при которой она становится непротиворечивой. Эти две проблемы тесно связаны между собой, и от их совместного решения зависит общая проблема вывода утверждений в противоречивой БЗ.
На первый взгляд, исходя из здравого смысла, проблема ассимиляции противоречий может быть разрешена путем введения порядка реализации вывода, т. е. сначала пытаются вывести рассуждения, связанные с частными фактами, нежели с общими законами. Рассмотрим следующую БЗ.
Студенты изучают биологию или ^х (Ст(т) ^Биол(х)), предполагая, что все студенты изучают биологию.
Рыбин — студент или Ст(Рыбин). Отсюда следует, что студент Рыбин изучает биологию.
Однако, введение в эту БЗ дополнительной информации,которая носит более частный и уточняющий характер, блокирует предыдущий вывод, отдавая предпочтение этим частным утверждениям.
Студенты радиотехнического факультета не изучают биологию или ^х (СтРад (ж) —> ^Биол(т)):
Рыбин — студент радиотехнического факультета или СтРад(Рыбин).
Отсюда выводимо, что студент Рыбин не изучает биологию.
Трудность нахождения порядка реализации вывода заключается, конечно, в семантике утверждений, которая в общем случае неочевидна. Можно говорить, что утверждение В выводимо из гипотез Ai, А2,..., Ап (или Ai, А2,..., Ап h В), если каждая гипотеза релевантна этому утверждению. Но построение такой релевантной логики связано с большими трудностями. Здесь можно найти связь с ситуационной семантикой, где выводы делаются только в пределах ситуации, которая имеет место в данный момент. Естественно, при переходе к другой ситуации имеет место ревизия БЗ, и выведенные ранее утверждения не должны использоваться для вывода новых.
Проблема ассимиляции противоречия имеет место и в уже упоминавшейся эротетической логике. Если, например, из одного источника получено, что Студент (Петров) истинно, а из другого — ^Студент(Петров) истинно, то в этой логике данному утверждению будет приписано истинностное значение «противоречиво», что дает возможность работать с противоречивой информацией.
Что касается аккомодации противоречия, то проблема заключается в обработке так называемых «подозрительных» формул (т. е. формул, которые могли бы быть противоречивыми) в качестве гипотез. Так как эти формулы находятся среди формул, общезначимость
которых не вызывает сомнений, то возникают вопросы установления непротиворечивости «подозрительных» формул, нахождения и описания множества формул, выдвигаемых в качестве гипотез, и наконец, каким образом эти гипотезы могут взаимодействовать с другими утверждениями для дедуктивного вывода новых утверждений. Конечно, поддержка истинности таких утверждений должна проверяться исключениями, которые имеют место в реальной БЗ, что приводит к ее ревизии и усложняет саму процедуру вывода.
В классической логике предикатов первого порядка отношение выводимости удовлетворяет следующим свойствам:
рефлексивности: Ai, А2,..., Ап Н А^ г = 1,п, т. е. вывод заключения, идентичного одной из посылок, есть общезначимая операция;
транзитивности: если Ai, А2,..., An Н Bi и
Ai, А2,..., An, By h В2, то Ai, А2,..., Ап ЬВ2,т. е. промежуточные результаты можно использовать для вывода заключения В^;
монотонности: если Ai, А2,..., Ап Н Si, то
Ai, А2,..., An, {F} h Bi, где {F} — множество добавочных утверждений, т. е. добавочно введенные утверждения не отменяют ранее выведенное утверждение Bi.
К сожалению, свойство монотонности не выполняется для динамических проблемных областей, БЗ которых содержит неполную, неточную и динамически изменяющуюся информацию. Рассуждения в таких БЗ часто предположительны, правдоподобны и должны подвергаться пересмотру. Довольно очевидно, что для таких пересматриваемых рассуждений логическая система должна быть немонотонной. Это значит, что пересматриваемые рассуждения не являются в классическом смысле общезначимыми, и если заключение В выводимо из посылок Ai, А2,..., Ап, существует модель для {Ai, А2,..., An} U U {F}, не подтверждающая В.
Например, «Петров юн» не является общезначимым следствием из двух посылок: «Большинство студентов юны» и «Петров — студент». Оно просто выполнимо с этими посылками. И, следовательно, это заключение принадлежит к возможно выполнимому на основе этих двух посылок образу мира.
Конечно, если у нас нет дополнительной информации, то мы по 'умолчанию полагаем: «Если Вы не знаете ничего другого, то предположите, что все студенты действительно юны». Тогда унаследовав это свойство, можно вывести, что и Петров, будучи студентом, также юн. При поступлении новой информации предположения могут стать невыполнимыми с новым множеством посылок и будут отвергнуты. Узнав, например, что Петров не юн, и получив, таким образом, противоречивую БЗ, мы или отвергнем ранее выведенное заключение, или потребуем дополнительной информации.
Такой тип немонотонных рассуждений был реализован в логике умолчаний и будет рассмотрен наряду с другими типами немонотонных логик позднее. Отметим только, что проблема немонотонности тесно связана с проблемами неполноты и противоречивости знаний.
При описании динамически изменяющегося реального мира мы часто имеем дело с неточной информацией, которая будучи помещенной в БЗ обрабатывается как истинная информация, хотя это не соответствует действительности. Например, пусть в БЗ хранятся следующие сведения:
Студент(Петров),
Читать _ курс (Фролов, Математическая логика).
Однако эти сведения могут не соответствовать действительности, если студент Петров месяц назад был отчислен из университета, а Фролов уже читает другой курс.
Неточность относится к содержанию информации (или значению сущности) и наряду с неполнотой и противоречивостью должна обязательно учитываться при представлении знаний в БЗ. Неточная информация может быть как непротиворечивой, так и противоречивой. Так, например, возраст студента Петрова, записанный в БЗ, равен 32 годам, хотя ему на самом деле 23. Это пример непротиворечивой, хотя и неточной информации. Может быть и другая ситуация, когда по ошибке в БЗ ему записали 123 года, что противоречит действительности, так как возраст людей, как правило, колеблется от 0 до 100 лет.
Для того, чтобы неточные данные стали точными, можно воспользоваться ранее упоминавшимся модальным оператором К, который подчеркивает, что если известно, что некоторое утверждение истинно, то оно на самом деле истинно. Например, если известно, что все находящиеся в БЗ личности являются студентами, то это на самом деле так, или ^х (К Студент (ж) Студент (ж)).
К неточности будем относить также величины, значения которых могут быть получены с ограниченной точностью, не превышающей некоторый порог, определенный природой соответствующих параметров. Очевидно, что практически все реальные оценки являются неточными, и сама оценка неточности также является неточной. Примеры неточности данных встречаются при измерении физических величин. В зависимости от степени точности измерительного прибора, от психического состояния и здоровья человека, производящего измерения, получаемое значение величины колеблется в некотором интервале. Поэтому для представления неточности данных мы можем использовать интервал значений вместе с оценкой точности в качестве меры доверия к каждому значению.
Если неточность относится к содержанию информации, то неопределенность — к ее истинности, понимаемой в смысле соответствия реальной действительности (степени уверенности знания). Каждый
факт реального мира связан с определенностью информации, которая указывает на степень этой уверенности. Понятия «определенности» и «уверенности» довольно трудно формализуемы, и для их определения чаще всего используются количественные меры. Основная идея такой меры заключается во введении функции неопределенности ппс(р), понимаемой как определенность того, что высказывание р, содержащееся в БЗ, истинно, т. е. говорят, что утверждение р более определенно, чем q, если unc(p) > unc(q).
Традиционным подходом для представления неопределенности является теория вероятностей — хорошо разработанная на сегодняшний день математическая теория с ясными и общепринятыми аксиомами.
Пусть Q — конечное множество утверждений, замкнутое относительно отрицания и конъюнкции (т. е. любая суперпозиция функций из множества Q снова принадлежит Q), а 0 и I обозначают противоречивое и общезначимое утверждения соответственно в множестве Q. Тогда вероятностная мера Р, определенная на Q, представляет собой определенность (вероятность, правдоподобность, уверенность) утверждения такую, что
Р$) = 0;
Р^ = 1;
Р^р V q) = Р(р) + P^Y если р & q = 0.
Однако классическая теория вероятностей страдает рядом недостатков, и до сих пор не утихают споры насчет того, какого рода действительность хотят выразить с помощью этой теории. Например, как найти вероятностную меру Р для конкретного множества утверждений или на основании чего должно выполняться равенство ТДд) + Pf^q} = 1. Действительно, если БЗ конкретно неизвестно, является ли Петров студентом или нет, то почему Р(Студент(Петров)) + + 7?(^Студент(Петров)) = 1?
Основной вопрос, возникающий при выборе функции неопределенности для множества утверждений, заключается в нахождении ограничений этой функции теми утверждениями, которые логически или вероятностно связаны между собой. Решение этого вопроса обеспечивается правилом Байеса:
pIHlF F F . Р(Я). I Я)
где Р(Н | Si, ^2,..., Еп) — условная вероятность утверждения Н при условии Е-^ Ез,..., ЕП1 т. е. это вероятность того, что утверждение Н истинно, если истинны утверждения (события) Е-^ Е^ ..., Еп.
Однако на практике определить вероятность того, что утверждения Е-^ Е^ ..., Еп истинны, и условную вероятность
Р (Pi, 2Д,..., Еп | Н) довольно трудно. Конечно, можно упростить проблему и считать, что утверждения Е^ статистически независимы, т.е. Р (Ei,E2, ...,Еп) = РЩ) ■ Р^Е^ ■ ■ Р(Еп\ Однако насколько достоверно и обоснованно предположение о статистической независимости Е^ — это вопрос, требующий дополнительного анализа для каждого конкретного случая. Другое упрощение касается статистической независимости утверждения Е^ при условии Н, т.е. Р(ЕЪЕ2, ... Лп | Я) = Р(^ | Я) • Р(Я2 | Я) • ... • Р(Еп | Я).
В теории Демпстера — Шейфера требование к условию Р^ + + Рф^ = 1 ослаблено, и вместо него имеет место Р^ + ТД^д) ^ 1- Здесь основным средством для распределения и манипулирования степенями уверенности утверждений является функция вероятностной меры Мг, представляющая собой распределение базовых вероятностей на все возможные утверждения. Исходя из этого распределения, поддержка утверждению р определяется как sup(p) = ^МДд), если Д р}, т.е. вероятностная мера любого утверждения д, из которого следует р, кладется в общую копилку для р.
Правдоподобность утверждения р определяется следующим образом: pls(p) = 1 — sup(^p). Легко показать, что sup(p) < pls(p). Отсюда степень 'уверенности утверждения р определяется доверительным интервалом: conf(p) = [sup(p),pls(p)].
Возвращаясь к примеру, является Петров студентом или нет, мы получим доверительный интервал [0, 0], если в БЗ нет никаких сведений о студенте Петрове, и conf Др) = [1,1], если Петров не является студентом.
Однако и в подходе Демпстера — Шейфера имеются свои трудности. Так, неясно, что делать при выборе утверждений, доверительные интервалы которых перекрываются или значительно отличаются размерами.
Таким образом, и классическая теория вероятностей, и теория Демпстера — Шейфера нуждаются в обосновании в каждом конкретном случае, когда мы имеем дело с неопределенностью. И только тщательный анализ видов неопределенности может дать ответ, какой из подходов более предпочтителен.
Наконец, остановимся на проблеме представления нечетких знаний, являющейся ключевой при разработке интеллектуальных систем различного назначения. Нечеткие знания по своей природе разнообразны и могут быть условно разделены на следующие категории: неточность, недоопределенность, неоднозначность, словом, любые нечеткости, между которыми нельзя провести четкой границы.
Один из способов описания нечеткости основывается на понятии нечеткого множества, введенного Л. Заде. Пусть X — произвольное непустое множество. Нечетким множеством А множества X называется множество пар: А = { < рд(х)/х > }, где х 6 X, ЦдД) 6 [0,1].
Функция дд : X [0,1] называется функцией принадлежности нечеткого множества 4, а X - базовым множеством. Для каждого конкретного значения х Е X величина дд(х) принимает значения из замкнутого интервала [0, 1], которые называются степенью принадлежности элемента х нечеткому множеству А. Носителем нечеткого множества А называется подмножество А множества X, содержащее те из X, для которых значения функции принадлежности цд(х) > 0.
Например, пусть X — множество натуральных чисел. Тогда его нечеткое множество А «очень малых» чисел может быть таким: Л = {< 1/1 >,<0,8/2 >,<0,7/3 >,<0,6/4 >,<0,5/5 >,<0,3/6 >, <0,1/7>}. _
Носителем нечеткого множества А является множество А = = {1, 2, 3, 4, 5, 6, 7}. Отметим, что носитель нечеткого множества — это обычное, «четкое» подмножество множества X.
В настоящее время существует целый ряд моделей представления нечеткости в интеллектуальных системах, среди которых модель коэффициентов уверенности в MYCIN, вероятностная логика Нильсона, теория свидетельств Шейфера, теория возможностей Заде, модель голосования Бэлдвина, лингвистическая модель в MILORD и др. Несмотря на различную природу нечеткости, формализованную в моделях, мы можем условно разбить эти модели на три группы по типу нечетких множеств, используемых для оценок объектов (значений, функций принадлежности) в моделях. К первой группе относятся модели с числовым значением функции принадлежности: модель коэффициентов уверенности, вероятностная логика. Вторая группа включает в себя интервально-значные модели: теория свидетельств, теория возможностей, модель голосования и т. д. Третья группа — нечеткозначные модели, в частности, лингвистическая модель в MILORD.
Если не учитывать внешние проявления знаний в разных моделях, которые могут изменяться с одной модели на другую, то можно представить любое нечеткое знание в формальном виде М : Z, где М — некоторое нечеткое выражение, отражающее понятия, утверждения, отношения, правила и т. и., a Z — мера доверия к тому, что М истинно.
В моделях с числовым значением Z обычно представляет собой действительное число (в большинстве случаев число из интервала [0, 1]) и интерпретируется как степень уверенности в истинности выражения М. Формальным аппаратом для выражения меры доверия Z в интервально-значных моделях является интервал. В различных моделях нижняя и верхняя границы интервала объясняются по разному. Они могут быть нижней и верхней вероятностями, как в теории свидетельств, степенями необходимости и возможности в теории возможностей, необходимой и возможной поддержками в модели голосования и пр.
Нечетко-значные модели обычно применяются в случаях, в которых лингвистические переменные используются для описания объектов предметной области. Лингвистические переменные могут быть языковой единицей (словом, словосочетанием и др.), отражающей свойства объектов, лингвистическим квантором, определенным на множестве объектов и т. п. При этом Z интерпретируется лингвистическим значением и представляется некоторым нечетким множеством.
Зачем нужны нетрадиционные логики?
Как известно, классическая логика типа логики предикатов первого порядка есть формальная система, состоящая из множества термов и операций, множества правил конструирования правильно построенных выражений (синтаксиса), системы аксиом и множества правил вывода. Она дает различные средства формализации и анализа правильности дедуктивных рассуждений. Язык классической логики является основой для выражения декларативных знаний, где рассуждение определяется как операция доказательства общезначимости (противоречивости) логического утверждения.
Так, логика предикатов первого порядка с равенством дает возможность
выразить, что нечто обладает определенным свойством, не указывая, что именно (роль 3-квантификации);
выразить, что каждый элемент некоего класса обладает определенным свойством, без указания, что представляет из себя каждый такой элемент (роль V-квантификации);
выразить, что хотя бы одно из двух утверждений истинно, не говоря, какое именно (роль дизъюнкции);
явно сказать, что нечто ложно (роль отрицания);
утверждать или оставлять неустановленным тот факт, что два различных выражения означают один и тот же объект (роль равенства).
Эти парадигмы полезны и подчас необходимы при решении многих проблем искусственного интеллекта.
Велика роль формальной логики также в семантическом анализе знаний и обосновании выводов. Представить знание — это значит выразить в некотором формализме имеющийся у нас образ мира. Соответствие между миром и его представлением устанавливается семантическим анализом. Такой анализ имеет целью определить объекты представления и уточнить образ мира, определяемый представлением. Следовательно, оно должно позволить осуществлять анализ
истинности высказываний о мире. Иначе говоря, для плодотворности представления нужно, чтобы оно могло быть предметом анализа, использующего информацию из этого представления для выявления того, что свойственно миру, а что нет. С этой точки зрения обоснованный вывод или дедукция «подтверждаются» видением мира, который определяется семантическим анализом представления.
Семантический анализ представленного в некотором формализме знания должен позволять определить, что в этом воображаемом мире влечет истину, а что — ложь. Даже если анализ облечен другими аспектами, подобная операция относится по определению к компетенции формальной логики, и делает особенно полезным обращение к теории моделей.
Классическая логика формализует строго корректные рассуждения и, к сожалению, не принимает во внимание некоторые аспекты человеческих рассуждений (здравый смысл, неопределенность, противоречивость, нечеткость информации). Имея дело с неполной, неточной, противоречивой или нечеткой информацией, человеческие рассуждения всего лишь правдоподобны и должны подвергаться пересмотру (ревизии). Для представления такой информации, ее семантического анализа и обоснования выводов и разработаны нетрадиционные, «нестандартные» логики, являющиеся расширением классических логик. Эти расширения касаются языка логики и понятия вывода.
Вернемся к примеру о том, что большинство студентов юны. Мы видели, что связывание этого утверждения квантором общности приводило к его состоятельности, если не было исключений. Любое исключение типа «Петров — студент, но он не юн» приводило к противоречию БЗ. Перечисление всех исключений становится нереальным при работе с прикладными системами. Таким образом, роль квантора общности при анализе рассуждений здравого смысла может быть подвергнута сомнению.
Однако не перечисляя все исключения, мы можем выразить исключение неявным образом, например, Зх Студент (ж) & ^Юн(х) — существуют неюные студенты без указания их имен. Такого типа формулы сложны при обработке вследствие нечеткости термина «существуют». Можно ли ограничиться одним неюным студентом или их большинство? Отсюда и роль квантора существования также становится недостаточной при анализе и выводе рассуждений здравого смысла.
Далее, если в БЗ имеется факт «Иванов — студент», то вывод «Иванов юн» может быть осуществлен только введением предположения об уникальности имен, т. е. ДИванов = Петров). Тогда для вывода желаемых заключений в логике предикатов с равенством необходимо сначала доказать, что эти заключения не попадают под случай исключений.
Если закон исключенного третьего (tertium non datur) выполняется в классической формальной логике, то он может не выполняться в нетрадиционных логиках. Действительно, почему Сту- дент(Петров) \/^Студент(Петров) = И, когда мы можем считать, что статус Петрова не известен.
Роль отрицания также может быть неоднозначной в подобных логиках. Будем называть факты, принимающие значение «ложь», негативными фактами. Они явно присутствуют в БЗ. Кроме явного отрицания в БЗ могут находиться факты, которые не доказуемы в данной системе, как их отрицания (negation as failure), если мы придерживаемся предположения (гипотезы) о замкнутом мире. Содержательно это значит, что факт -^q считается доказуемым, если любое доказательство q терпит неудачу. Придерживаясь этого предположения, считаем, что в знании предметной области нет «брешей» и это знание полно.
К сожалению, при анализе случаев пересматриваемых рассуждений предположение о замкнутом мире не всегда бывает продуктивным. Пусть Т — множество формул, и имеет место предположение о замкнутом мире, т. е. ASS(T) = = ^Q I Q — атомарная формула и not Г h qY Тогда для случая Т = {а V 6} в ASS(T) находятся как ^а, так и ^6, которые вместе с {а V Ц дают противоречие.
Что касается вывода и его свойств, прежде всего, остановимся на правилах вывода Modus Ponens и Modus Tollens. Как мы уже видели на примере о том, что большинство студентов юны и Петров — студент, вывод о юности Петрова получается применением правила Modus Ponens. Считая эти утверждения выполнимыми, мы оставляем возможность для пересмотра (ревизии) заключения при поступлении новой информации. Сложнее обстоит дело с правилом Modus Tollens, которое получается применением теоремы дедукции и аксиомы контрапозиции к утверждению р q. т. е. если р q h -^q -^р и выводимо то будет выводимо -^р или b p q и b ^q. то Н -^р. Возвращаясь к нашему примеру, имеем
большинство студентов юны;
Петров не юн.
Следовательно, применяя правило Modus Tollens, получим: «Петров не является студентом». Интуитивно чувствуется, что для таких выполнимых утверждений, если двигаться от следствия к причине, степень уверенности конкретного факта, связанного с причиной, становится недостаточной для подобного вывода.
Из всех свойств вывода остановимся на свойстве немонотонности. Как мы уже видели, свойство монотонности препятствует прямой формализации пересматриваемых рассуждений. Следовательно, с чисто синтаксической точки зрения построение немонотонной системы вывода делает необходимым ослабление свойств дедуктивных систем
классической логики. Логика умолчаний Рейтера является одной из версий немонотонных рассуждений. В ней немонотонность обусловлена необщезначимостью правил вывода, присущих той или иной прикладной области.
Тесно связан с рассуждениями по умолчанию абдуктивный вывод, теория которого была заложена Пирсом. Формально абдукция устанавливает, что из Р Q и Q возможно вывести Р. Однако абдукция является несостоятельным правилом вывода, означающим, что заключение необязательно истинно для каждой интерпретации, в которой истинны посылки.
Пусть Th, / и h — три множества замкнутых формул языка логики предикатов первого порядка, представляющие знание о рассматриваемой предметной области, наблюдаемое событие этой области и объяснение этого события соответственно. Предположим, что / совместимо с Th (т. е. Th & / выполнимо), но / не является логическим следствием Th, т. е. Th не объясняет /. Следовательно, необходимо вывести дополнительные факты h, объясняющие / в предполагаемой интерпретации, описанной Th.
С формальной точки зрения экзистенционально квантифицированная конъюнкция h литер есть абдуктивное объяснение наблюдаемого события относительно знания Тh, если Тh, h k /, где, как и раньше, И — знак логического следования.
Пример 6.1.
Th: ^х (Студент(т) Юн(т))
/: Юн(Петров)
h: Студент (Петров),Студент (Иванов) & ^Юн(Иванов), Студент (Петров) &Смертен (Петров) — три абдуктивных
объяснения наблюдаемого события / относительно Тh.
Заметим, что представление абдуктивного объяснения в виде конъюнкции фактов является синтаксическим ограничением, отличающим абдукцию от других моделей объяснений, например, от индуктивного обобщения.
Ключевой вопрос в абдуктивных рассуждениях заключается в нахождении так называемых «интересных» объяснений. Эти объяснения могут быть формально охарактеризованы двумя семантическими свойствами: непротиворечивостью и минимальностью. Интуитивно минимальные и непротиворечивые абдуктивные объяснения интересны в том смысле, что они являются довольно общими фактами относительно Th и не вступают в противоречие со знанием предметной области.
Считаем, что абдуктивное объяснение h для наблюдаемого события / относительно Th непротиворечиво (с Th), если Th & h -—
выполнимая формула. Продолжая пример 6.1, видим, что Студент (Петров) — непротиворечивое абдуктивное объяснение события Юн(Петров) относительно ^х (Студент(х) Юн(ж)). Однако, другое объяснение Студент (Иванов) & ^Юн(Иванов) является противоречивым абдуктивным объяснением наблюдаемого события Юн(Петров) относительно ^х (Студент(х) Юн(х)), так как одновременно были бы выводимы Юн(Иванов) и ^Юн(Иванов).
Аналогичным образом абдуктивное объяснение h для события / относительно Тh минимально, если каждое абдуктивное объяснение для наблюдаемого события / относительно ТД, являющееся логическим следствием Л, эквивалентно h.
Из примера 6.1 видно, что Студент (Петров) — минимальное абдуктивное объяснение события Юн (Петров) относительно ^х (Сту- дент(х) Юн(х)), а Студент(Петров) & Смертен(Петров) таковым не является. Очевидно, что свойство минимальности устраняет объяснения, которые не являются общими. Так, из двух объяснений Студент(Петров) и Студент (Петров) & Смертен(Петров) общим объяснением является Студент (Петров).
Подробнее проблему абдукции и процедуры абдуктивного вывода мы рассмотрим ниже. Здесь же отметим, что процесс абдукции может быть выполнен с помощью процедуры дедуктивного вывода следующим образом: Th^h к / тогда и только тогда, когда Th^f k ^h. Этот результат получается благодаря применению теоремы дедукции и аксиомы контрапозиции.
В другой немонотонной логике, предложенной Мак-Дермоттом и Дойлом, вводится оператор М, интерпретируемый в качестве «непротиворечивого» (как, впрочем, и в логике умолчания). Тогда утверждение типа «Как правило (обычно, в большинстве случаев), студенты юны» будет записано в следующем виде: \/х(Студент(х) & МЮн(т)
Юн(х)), т. е. если кто-то является студентом и это не противоречит тому, что он юн, то этот кто-то действительно юн. Если в БЗ вводится информация типа «Петров — студент» и невозможно вывести ^Юн(Петров), т. е. М Юн(Петров) истинно, то можно сделать вывод о том, что Петров юн.
Однако система вывода здесь немонотонна, поскольку введение добавочной информации может блокировать предыдущий вывод. Например, после добавления нового факта, что Петров не юн, первоначальное заключение будет отвергнуто, так как в данном случае М Юн (Петров) не будет истинным.
Трудность вывода в немонотонной системе Мак-Дермотта заключается в том, что понятие «непротиворечивости» здесь довольно «слабое» в том смысле, что истинностные значения утверждений Р и М Р не связаны между собой никаким отношением, т. е. пара {М Р, ^Р} необязательно может быть противоречивой.
Мур развивает идею немонотонного вывода дальше, вводя два типа рассуждений по умолчанию. Первый тип рассуждений характеризуется тем, что имеет дело с фактами, касающимися внешнего мира: вообще объекты типа X имеют свойство Р. Если А — объект типа X. то можно сделать вывод, что А (по-видимому) обладает свойством Р. Например, если Петров — студент, то можно сделать вывод, что (по- видимому) Петров юн.
Второй тип рассуждений, названный автоэпистемическим, касается рассуждений, связанных с чьими-то убеждениями (верами). Этот тип пересматривается, исходя из текущего состояния знаний агента, из его интроспективной природы. Например, если мне ничего не известно о том, что Петров не юн, то я делаю вывод, что Петров, будучи студентом, юн. Механизм рассуждений интроспективен и основан на предположении, что все знания, касающиеся этого вопроса, таковы: «Если бы Петров был не юн, то я бы об этом знал». Иначе говоря, можно потребовать от рассуждений «общезначимости» относительно этого состояния знаний. Пересматриваемый характер рассуждений проистекает из зависимости от состояния знаний. Оно присуще рассуждающему агенту и может изменяться.
Появление нетрадиционных логик связано также с прикладными аспектами создания различного рада интеллектуальных систем, в частности, экспертных систем. Эти системы служат для решения диагностических и классификационных проблем, проблем управления и принятия решений. Знания в таких системах представляются продукциями, имеющими вид: «Если Mi и М2 и ...и Мп, то В». где А^ (г = 1,п) — условия, а В — выполняемое действие. Чтобы подчеркнуть «экспертный» характер таких продукций, в них добавлен так называемый «фактор определенности», подчеркивающий степень неопределенности данного условия и заключения. Неопределенность знания, таким образом, обрабатывается с помощью распространения факторов определенности от условий продукций к их заключениям. Хотя здесь в явной форме исключения не обрабатываются, неопределенность в продукциях предполагает существование исключений. Факторы определенности выражаются численно с привлечением теории вероятностей или аппарата нечеткой логики. Однако такой подход сталкивается с большими трудностями в силу отсутствия строгой семантики при взвешивании продукций факторами определенности. Здесь проявляется проблема обоснования (подтверждения) численного значения фактора определенности, которая усугубляется конфликтными ситуациями в продукциях, приводящих к конфликтным заключениям. Наглядным примером является хорошо известная система MYCIN, в которой факторы определенности, распространяемые дедуктивно по цепочке вывода, определяются в терминах относительной разницы между апостериорной и априорной вероятностями.
Хотя экспертные системы с факторами определенности продолжают развиваться и проявляют завидное упорство к дальнейшему распространению, нетрадиционные логики для обработки неопределенной, противоречивой, неточной и нечеткой информации продолжают вносить свой вклад в модели и методы представления и обработки знаний.
Резюмируя сказанное, отметим, что при представлении и обработке неполных, противоречивых и немонотонных знаний в интеллектуальных системах необходим аппарат таких нетрадиционных логик, как логика умолчания, немонотонная модальная логика, автоэпи- стемическая логика и ряд других. Для представления и обработки нечетких знаний, отражающих неточность, неопределенность, неоднозначность знаний, используются такие нестандартные логики, как вероятностная логика, логика возможности, нечеткая логика и другие.
Естественно, охватить спектр всех нетрадиционных логик в одной книге невозможно. Поэтому мы остановимся лишь на немонотонных нетрадиционных логиках, да и то в неполном объеме, как будет показано ниже.
Следи за тем, как здесь мой шаг ведет К познанью истин, для тебя бесценных, Чтоб знать потом, где пролегает брод.
Данте Алигьери
Глава 7
МОНОТОННЫЕ КЛАССИЧЕСКИЕМОДАЛЬНЫЕ ЛОГИКИ
Идея применения аппарата модальных логик в задачах представления знаний для интеллектуальных систем различного назначения начинает завоевывать все более прочные позиции наряду с такими общепризнанными моделями, как семантические сети и их разновидности — фреймы. Для инженерии знаний важны не только формальные системы модальной логики (так называемые синтаксические системы), ио и возможные интерпретации или модели таких систем, т. е. семантика. Мы остановимся как на синтаксической, так и на семантической стороне этой проблемы. Для лучшего понимания немонотонных рассуждений сначала изложим основные понятия классических модальных логик, которые положены в основу построения логик немонотонного типа. Изложение начнем с исчисления предикатов первого порядка, являющегося базой для построения модальных логик.
Исчисление предикатов первого порядка какоснова построения модальной логики
Аксиомы классического исчисления высказываний (Рассела — Бернайса).
h (р V р) р,
Н р (р V q\
HpVQ) (g Vp),
и (р A v рЩ (r v«)), где р, q. г — пропозициональные переменные.
Понятие правильно построенной формулы (в дальнейшем просто формулы) определяется обычно и здесь не приводится.
Аксиомы исчисления предикатов, выраженные в виде схем.
Н Vx(P -^Q)^ ^хР VxQ).
Пусть у/х есть результат подстановки у вместо каждого свободного вхождения переменной х в Р. Тогда, если у не окажется связанной в Р на тех местах, где переменная х была свободной, то h ^хР(у(х^Р.
Н VtV?/P ^хР.
Здесь Р и Q — предикаты исчисления предикатов, а х и у — предметные переменные.
Правила вывода. Правило подстановки в нашей системе со схемами аксиом не требуется.
Modus ponens (правило отделения): если HPhHP^Q, то bQ.
Правило обобщения: если h Р, то h VxP при условии, что х не свободна в Р.
Определения.
ЗхР означает РЬх^Р.
Р Q означает bx(P Q).
Р <—> Q означает bx(PQ).
Приведем (без вывода) основные теоремы (написанные в виде схем) и правила предложенного исчисления.
Отрицание.
Н -МхР Зх^Р.
Н ЬхР ^ -^Зх^Р.
Н ^ЗхР Ьх^Р.
Н ЗхР РЬх^Р.
Подчинение (переменная у не связана в Р на тех местах, где х свободна).
ЬЬхР^ (у/х)Р(= 2.2).
Н (у/х)Р ЗхР.
Н ЬхР ЗхР.
Дистрибутивность кванторов по отношению к & и V.
Н bx(P & Q) ^хР ^ bxQY
h (VxP V VxQ) Vx(P V QY
H 3x(P VQ) (ЗхР V 3xQY
H 3x(P & Q) (ЗхР & 3xQY
H 3x(P & Q) ЗхР.
Дистрибутивность кванторов по отношению к и ^.
Н bx(P(ЬхР bxQX= 2.1).
Н (Vx(P Q) & ЬхР^ bxQ.
Н Vx(P ^Q^ (ЗхР 3xQY
Н (\/х(Р Q) & ЗхР) 3xQ.
Н bx(P Q) (ЬхР bxQ).
Н bx(P Q) (ЗхР 3xQ).
Правила дедукции.
Если Н bx(P Q), то h ЬхР bxQ.
Если Н bx(P QY то Н ЗхР 3xQ.
Если Н \jx^PQ\ то Н \/хР VtQ.
Если Н \/ДРQ\ то Н ЗхР3xQ.
Здесь логические связки и ^ представляют собой обычные импликацию и эквивалентность соответственно (иногда их называют материальными связками), а и <> называются
формальными связками.
Вспомогательная логика как основа перехода к модальному исчислению высказываний
В логике предикатов первого порядка всякое предложение (формула свободных переменных) — это утверждение о некотором определенном факте. Но в естественном языке часто говорят о допустимости чего-либо, о гипотетических событиях, целях, которые можно пытаться достигнуть. Большая часть фраз языка может быть то истинной, то ложной в зависимости от обстоятельств, текущего момента, точки зрения каждого из нас. В естественных языках модальности «возможный», «необходимый» выражаются вспомогательными глаголами, такими как «могу» и «должен».
Модальные характеристики высказываний изучались на всем протяжении развития логики. Еще Аристотель наряду с ассерторической силлогистикой, т. е. теорией умозаключений из утверждений вида «Р присуще всякому S»^ «Р не присуще ни одному S»^ «Р присуще некоторому S» и «Р не присуще некоторому S»^ рассматривал и модальную силлогистику. В посылки и заключение модального силлогизма могут входить утверждения вида «Р необходимо присуще всем S»^ «Р возможно присуще всем S» и т. д. (такое использование модальных выражений получило впоследствии название модальностей de re). Хотя общепринятого построения модальной силлогистики Аристотеля мы не имеем, своеобразие его силлогистики состоит в том, что он допускал переход от необходимой большей посылки и ассерторической меньшей к необходимому заключению: от «Р необходимо присуще М» и «М присуще S» к «Р необходимо присуще S».
Возможность и необходимость называются алетическими модальностями или модальностями возможности. Так же, как кванторы V и 3 вводились в синтаксисе логики первого порядка, можно построить формальный язык, используя пару понятий возможно/необходимо как кванторы, действующие на формулы. Логическая система, базирующаяся на операторах «возможно, что» и «необходимо, чтобы», называется логикой возможного или алетической логикой.
Для обозначения модальности «необходимо» используется символ □ . Формула OF читается «необходимо, чтобы F» или «F необходимо». Формула OF истинна тогда и только тогда, когда F необходимо истинна. Двойственный □ оператор обозначается <>. Формула <>F читается
9 В.Н. Вагин и др.
«возможно, что F» или «F возможно». <>F истинна, если F может оказаться истинной. Один из этих операторов принимается за основной, а другой определяется через него и отрицание (эквивалентность DF = = -^<)^F можно установить, применяя доводы, подобные тем, которые используются при доказательстве соотношения \/xF = ^3x^F).
В естественном языке употребляются и другие модальные формы, которые можно перенести в логику. Деонтическая логика вводит модальности «разрешено» и «обязательно», реализующие модальные языковые конструкции «разрешается» и «надо, чтобы». Эпистеми- чеекая логика или логика знания исследует модальности «знания» и «веры», тогда как временная логика вводит модальности «иногда» и «всегда» («в будущем» и «в прошлом») вместе с их отрицаниями «часто» и «никогда». Иногда для обозначения совокупности всех этих логик используют термин модальная логика. Но старейшая среди них — алетическая логика. Поэтому чаще всего именно ее называют модальной.
Модальная логика в отличие от логики предикатов первого порядка рассматривает утверждения при некоторых обстоятельствах, случаях. Мы не придаем термину «случай» точного значения, например, не отождествляем случай с моментом времени или с возможными мирами, по крайней мере, в принципе. Точные значения этого термина могут быть введены в приложениях модальной логики. Заметим только, что различие случаев не должно отождествляться с различием индивидов или предикатов. Для обозначения «случая» или «обстоятельства» введем соответствующую переменную t. Это переменная особого рода, отличная от предметных переменных. Фразу «событие р происходит в случае t» запишем как pt. Утверждение «событие р происходит с необходимостью» выразимо на нашем вспомогательном языке с помощью Жр1 (для любого t событие р происходит в случае t\ а «событие р возможно» — через 3tpt (для некоторого t событие р произойдет в случае t).
В логике высказываний р является произвольным предложением в том смысле, что оно обозначает утверждение о произвольных мыслимых фактах. В модальной логике в разных случаях факты могут иметь различное содержание. Поэтому символ р в излагаемой ниже модальной логике будет обозначать утверждение о произвольном содержании факта в любом из случаев.
Перед тем, как перейти собственно к модальному исчислению высказываний, рассмотрим некоторое промежуточное (вспомогательное) исчисление, в котором в каждый предикат введена дополнительная переменная t, а модальности выражены посредством кванторов.
Задан бесконечный список переменных р, q,r, s,..., которые в нашем вспомогательном исчислении будем обозначать Р, Q, Д S,..., а переменную t — через Т. Предложения этого исчисления определяются рекурсивно следующим образом:
выражения вида РТ — предложения. Однако ни Р, ни Т в отдельности предложениями не являются;
если М и N — предложения, то ^М, М & N, М V N, М N, М N — тоже предложения;
если М — предложение, то VTM и ЗТМ — тоже предложения.
Постулаты вспомогательного исчисления формулируются «параллельно» постулатам исчисления предикатов 1-го порядка. При этом необходимо учесть следующее:
правило образования должно быть таким, чтобы выражение К'ТКТРТ (где К и К/ обозначают V или 3) было правильно построенным. В К'ТКТРТ самое правое Т связано внутренним квантором КТ;
правило обобщения, параллельное правилу (3.2), существенно;
можно доказать, что К'ТКТРТ строго эквивалентно сводится к КТРТ;
не существует аналога аксиомы (2.3), т. е. вспомогательное исчисление является аналогом исчисления одноместных предикатов.
Очевидно, что если некоторое выражение исчисления предикатов 1-го порядка доказуемо, то соответствующее ему выражение вспомогательного исчисления тоже доказуемо.
Теперь перейдем к модальному исчислению высказываний посредством следующей замены:
pt,qt,rt,...,VT3t,—>,<>
на p,q,r,...,□,^,=>,О .
Эта замена ввиду взаимно однозначного соответствия сохраняет доказуемость.
7.3. Постулаты, основные теоремы и правиламодального исчисления высказываний
Постулаты
Все аксиомы исчисления высказываний (1.1-1.4).
Правило подстановки: всякая доказуемая формула остается доказуемой, если вместо пропозициональной переменной подставить некоторую формулу.
Modus ponens (3.1).
Определения символов &,т. е. Р ^l Q означает
V ^Q), Р Q означает ^Р V Q, Р Q означает
(Р Q) & (Q РУ
Правило: если h F, то h ПР.
Аксиомы для модальности.
Н П(р q) (Пр Пд).
Если Р — собственная модальность, т. е. предложение, содержащее непустой набор □ и О? то h Р ПР.
Н П р р.
Если Р — формула исчисления предикатов 1-го порядка, то Р — формула в модальном исчислении высказываний. Если Р и Q — формулы, то ^Р, Р V Q, ПР — тоже формулы.
Определения.
OF означает ^П^Р.
Р Q означает П(РQ\
F О Q означает П(РQ).
Основные теоремы и правила
Приведем выводимые формулы (теоремы) и правила, соответствующие теоремам и правилам исчисления предикатов первого порядка.
Отрицание.
I—Ор
Ь Пр -^^р-
I—'Ор П^р.
Н <>р^П^р.
Субординация.
Н Пр —> р.
Н р ^ Ор.
Н Пр ^ <>р.
Дистрибутивность модальностей относительно к и
Н П(р & 9) (Пр & Oq\
Н (Пр V Oq) П(р V q\
Н <>(р V дЩ (фр V ^q).
Н ф(р & д) (фр & фд).
h ф(р & д) —> <>р.
Дистрибутивность модальностей относительно условных связок.
Ь (р q) (Пр Oq).
Н ((р =^ q) & Пр) -н- Dq.
Н (р =Ф дЩ (^р -> ^д).
Н ((р => д) & ^р)^д.
Н (р о дЩ «>р❖д).
И (р <4> д) (ПрПд).
12.1. Если h Р =д Q, то12.1. Если h Р =д Q, то12.2. Если h Р =д Q, то12.2. Если h Р =д Q, тоЬ OP OQ.н OP 0Q.Ь ОР OQ.ЬОР^ 0Q.Ь OP OQ.н OP 0Q.Ь ОР OQ.ЬОР^ 0Q.Правила дедукции.
12.1. Если h Р =д Q, то
12.1. Если h Р =д Q, то
12.2. Если h Р =д Q, то
12.2. Если h Р =д Q, то
Ь OP OQ.
н OP 0Q.
Ь ОР OQ.
ЬОР^ 0Q.
Ь OP OQ.
н OP 0Q.
Ь ОР OQ.
ЬОР^ 0Q.
Если h Р о Q, то
Если h Р о Q, то
В дальнейшем символы =Д и О будем называть строгими условными связками, а символы и — по-прежнему материальными связками.
Рассмотренное нами модальное исчисление высказываний удобно в эвристическом смысле благодаря наличию простого соответствия между ним и одноместным исчислением предикатов первого порядка. Однако, «ввиду своей силы», оно является в некотором смысле «тривиальной системой». Поэтому интересно было бы рассмотреть более «слабые» системы, в которых модальность и строгие связки характеризовались бы менее узкими условиями.
Очевидный путь для получения таких систем состоит в замене некоторых аксиом на более слабые при условии (которое мы считаем здесь выполненным), что преобразуемые или опускаемые аксиомы независимы от остальных аксиом. В результате получим такие важные в классической модальной логике системы, как SI, S4 и S5, которые понадобятся нам для дальнейшего, преимущественно семантического, изложения.
Система S1
Назовем системой 1 (или S1) систему со следующими постулатами.
Аксиомы (исходные предложения).
h р & q =Д р.
Vp^q^q&Lp.
Н ((р & q) & г) =4> (р & (q & г)).
Н р =4> р & р.
Н ((р =S q) & (q ^ г)) ^ (р ^ г).
Н р =S Ор-
Последняя аксиома (1.6) независима от предыдущих пяти аксиом, в чем можно убедиться посредством следующей матрицы (группа IV Льюиса — Лэнгфорда). Напомним, что аксиома называется независимой от остальных аксиом, если она не выводима (не доказуема) из них.
Значения: 1, 2, 3, 4.
Выделенные значения (т. е. значения, которые должны будут принимать истинные предложения): 1,2.
р
Ор&
1234
1
2
3
4
4 3
2
1
21
22
23
44
1234
2244
3434
4444
Согласно определениям имеем:
Р
^Ор
Ор
V
1
2
3
4
1
2
3
4 о
1
2
3
4
1
3
1
1
1
1
1
1
1
1
3
3
3
1
1
3
3
3
2
3
3
2
1
2
1
2
2
1
1
3
3
2
3
1
3
3
3
3
3
3
1
1
3
3
3
1
3
1
3
3
3
3
1
3
4
1
3
4
1
2
3
4
4
1
1
1
1
4
3
3
3
1
Аксиомы
(1.1-1.5)
принимают выделенные
значения
1 и
2,
т. е.
будут истинными.
Однако
аксиома
1.6
имеет
значение 3
Для
[ р
= 1
или для р = 3.
Исходные правила.
Правила образования формул.
Пропозициональная переменная — формула. Если Р и Q — формулы, то ^Р, <>Р, Р & Q — тоже формулы.
Правило подстановки.
Доказуемое предложение остается доказуемым, если вместо входящей в него пропозициональной переменной всюду подставлена некоторая формула.
Правило соединения.
Если h Р и h Q, то h Р & Q.
Правило отделения (modus ponens) для
Если h Р и h Р => Q, то h Q.
Правило замены строго эквивалентных. Если h Р О Q, то доказуемая формула останется доказуемой, если в ней некоторые вхождения Q заменить на Р.
Определения.
Р V Q означает Д^Р & ^Q).
РQозначает ^(Р k ^Q\
РQозначает (Р Q) & (QР\
РQозначает ^0(Р k ^Q\
Р О Qозначает (Р =Ф Q) & (Q=Ф Р\
ПР означает ^<>^Р.
Отметим, что в аксиому 1.5 входит & , следовательно, необходимо иметь аксиомы, определяющие & . Отсюда правило соединения 2.3 становится необходимым.
Правило отделения 2.4 является само по себе более строгим, чем обычное правило modus ponens. Однако его высокая степень строгости
является таковой лишь по видимости, т. к. обычный modus ponens может быть тоже выведен в этой системе.
Покажем, что если \-P^Qn\-P, то \-Q.
h Р Q гипотеза.
HP гипотеза.
h Р & (Р Q) по правилу соединения 2.3
h (Р & (Р Q)) =Д Q доказательство в 5.31 ниже.
h Q по правилу 2.4.
Можно показать, что система аксиом S1 непротиворечива. Для этого достаточно построить матрицу, в которой каждое Р, доказуемое в системе, принимало бы только выделенные значения, а ^Р не принимало бы выделенных значений. Это имеет место для следующей матрицы (группа V Льюиса —Лэнгфорда).
Значения: 1, 2, 3, 4.
Выделенные значения: 1,2.
Р 1 2 3 4Р 1 2 3 443214321&1234&12341234123422443434444412341234224434344444
Р 1 2 3 4
Р 1 2 3 4
4
3
2
1
4
3
2
1
&
1
2
3
4
&
1
2
3
4
1234
1234
2244
3434
4444
1234
1234
2244
3434
4444
Согласно определениям получим следующие матрицы:
РРОрОр12341234342342243424341 12 13 14 11 12 13 14 11 1 12 1 21 3 32 3 41 1 12 1 21 3 32 3 4123412342 42 22 42 22 42 22 42 23 43 32 42 23 43 32 42 21234123412 3 42 4 4 44 2 4 44 4 2 44 4 4 212 3 42 4 4 44 2 4 44 4 2 44 4 4 2
Р
Р
Ор
Ор
1
2
3
4
1
2
3
4
3
4
2
3
4
2
2
4
3
4
2
4
3
4
1 1
2 1
3 1
4 1
1 1
2 1
3 1
4 1
1 1 1
2 1 2
1 3 3
2 3 4
1 1 1
2 1 2
1 3 3
2 3 4
1
2
3
4
1
2
3
4
2 4
2 2
2 4
2 2
2 4
2 2
2 4
2 2
3 4
3 3
2 4
2 2
3 4
3 3
2 4
2 2
1
2
3
4
1
2
3
4
12 3 4
2 4 4 4
4 2 4 4
4 4 2 4
4 4 4 2
12 3 4
2 4 4 4
4 2 4 4
4 4 2 4
4 4 4 2
Любая доказуемая формула Р имеет выделенное значение, поэтому ^Р имеет значения 4 или 3, которые не являются выделенными. Таким образом, система S1 непротиворечива (непротиворечивость можно также доказать, используя обычную (0, 1)-матрицу для & , -i, дополненную соотношением <>р = р (т. е. ^0 = 0 и ^1 = 1)).
В классической модальной логике модальность — это последовательность символов -I, & и <> или любое выражение, которое может заменять (согласно определению) такую последовательность. Степень модальности равна числу символов <> (или □), содержащихся в
модальности.
Теоремы и выводимые правила.
Если Н (Р & Q) РД Р и Н Q, то Н R.
h (Р & Q) =Д R гипотеза.
h Р гипотеза.
h Q гипотеза.
h Р & Q по правилу соединения (2.3).
h R из 1 и 4 по правилу (2.4).
Принцип тождества.
h р =4> р.
h р =4- р & р аксиома 1.4.
h р & р =4 р из аксиомы 1.1 подстановкой р вместо q.
h р =4- р из (1) и (2) по аксиоме 1.5.
h р о р из 4.2.1 и определения 3.5.
Если Р означает Q, то h Р <44* Q.
.Ь Р^Риз 4.2.2.
. h Р о Q подстановка по определению «Р означает Q».
Если Н Р о Q, то Н Р Q.
h Р <44* Q гипотеза.
Н Р Р из 4.2.1.
h Р =4- Q согласно правилу 2.5 замены строго эквивалентных.
4.2.5.
Если Н Р 4
4> Q, то Н Q =4
• Р.
4.2.6.
Если Н Р 4
=> Q, то Н Q <44
Р.
4.2.7.
Если h Р <4
4> Q, то 1—'Р <
4.2.8.
Если h Р <4
v Q. то К Д & Р) ^ (Я & Q)
4.2.9.
Если Н Р 4
^Q, то Н (Я V Р) о ^R\/QY
4.2.10. Если Н Р о Q. то Н ПР о DQ.
Если h Р о Q, то h ОР о 0Q.
Если Н Р о Q. то Н -OP -0Q.
Конъюнкция.
hp&QOQ&p.
^р k q q kp аксиома 1.2.
hqkp^pkq подстановка.
h р & q <44* q & р из (1) и (2) по определению 3.5.
Н р о р & р.
h р =4- р & р аксиома 1.4.
h р & р =4- р подстановка в аксиому 1.1.
h р О р & р из (1) и (2) по определению 3.5.
Н р & (q & г) О (р & q) & г.
Н (р & q) & г =4> р & (q & г) аксиома 1.3.
Н р & (q & г) О р & (г & q) из 4.2.2 замена по 4.3.1.
Н р & (q & г) О (г & q) & р замена по 4.3.1.
h (г & q) & р =4> г & (q & р) подстановка из аксиомы 1.3.
Н (г & q) & р =4> г & (р & q) замена по 4.3.1.
Н (г & q) & р =4> (р & q) & г замена по 4.3.1.
Н р & (q & г) =S (р & q) & г замена по (3).
Н р & (q & г) О (р & q) & г из (1) и (7) по определению 3.5.
Отрицание.
Н Цр =Ф д) О Цд =Ф р).
I- (-ф к ^q) О (^q к -ф) подстановка в 4.3.1.
I—'<>(^р к ^q) О ^0(^9 & ^р) из 4.2.12.
h (^р =S q) О (^q =S р) по определению 3.4.
I—^р о р.
I—ф^р подстановка в 4.2.1.
I—^р =Д р замена по 4.4.1.
I—'^^^р =4> ^^р подстановка в (2).
I—^^^р Др из (3) и (2) по аксиоме 1.5.
I—ф ^ ^^^р замена по 4.4.1.
I—^^р =S ^р подстановка в (2).
I—^^р О ^р из (5) и (6) по определению 3.5.
I—^(р & ^р) из 4.2.1 по определению 3.4.
I—'ОСр & ^^^р) замена по (7).
h р =Д ^^р по определению 3.4.
1—^р О р из (2) и (10) по определению 3.5.
Н (р =Ф д) О Цд =Ф -,р).
I- (^^р =S q) О (^q =S ^р) подстановка в 4.4.1.
Н (р =Д q) О (^q =Д ^р) замена по 4.4.2.
h (pVq) О Д^р & ^q) из определения 3.1 по правилу 4.2.3.
I'(р & q) О (^pV^q) доказывается из 4.4.4 подстановкой ^р вместо р и -^q вместо q^ затем 4.4.2.
Дизъюнкция.
Н р О (р V р).
h р =4> р & р аксиома 1.4.
I—ф =4> ^р & ^р подстановка.
I—'^р =4> ^(^р & ^р) по 4.2.7.
h р =4> р V р по 4.4.2 и определению 3.1.
Аналогично доказывается h (pVp) =S р, отсюда h (pVp) О р.
Н р =4> р V q.
h ^р & -^q) =4> ^р подстановка в аксиому 1.1.
I—i^p =4> ^(^р & ^q) по 4.4.3.
h р =4> р V q по определению 3.1 и замене по 4.4.2.
Материальная импликация.
Ii(p q) О (р & ~^q\
Ь (р q) 4^ ^(р k ^q) из определения 3.2 по правилу
4.2.3.
Ii(p q) О ~^(р fc -^q) по правилу 4.2.7.
I—'(рq) О (р & ^q) замена по 4.4.2.
Н (р ^ ^) о (Ар V q).
h (р q) О ^(р & ^q) из определения 3.2. по правилу
4.2.3.
Н (рq) О (Ар V ^^q) по 4.4.5.
Н (рд) О (Ар V q) по 4.4.2.
Н р о (Ар р).
Н р О (р V р) по 4.5.1.
Н р о (^^р V р) по 4.4.2.
Н р О (Ар р). по 4.6.2.
Выводы в системе S1.
Строгая импликация.
И (р =^ q) О □~|(р & -^q).
h (р ^ q) О ^^(р & ^q) из определения 3.4 по правилу 4.2.3.
Н (р =Ф q) О ^0^^(р & ^q) замена по 4.4.2.
I- (р A q) А П^(р & -^q) по определению 3.6.
h (р q) О П(р q) из 5.1.1 по определению 3.2.
h (р ^ q) А П(^р V q) доказывается из 5.1.2 и 4.6.2 с применением правила 4.2.10.
Антилогизм. Импортация-экспортация.
Н ((р & q) =^ г) О ((р & -т) =^ -^q).
h (q & т) О (Ar & q) подстановка в 4.3.1.
H (р & (q & ^г)) О (р & (^r k q)) по правилу 4.2.8.
Н ((р & q) & ^г) О ((р & ^г) & q) по 4.3.3.
Н ((р & q) & ^г) О ((р & ^г) & ^^q) по 4.4.2.
I—'^((р & q) & О ^^((р && ~^q) по 4.2.12.
Н ((р & q) ^> г) О ((р & ^г) ^> ^q) по определению 3.4.
Н ((р & q) ^> г) О ((q к ^г) ^> ^р).
Н ((р & q)& ^г)О(р & (q &^г)) подстановка из4.3.3.
Н ((р & q)& ^г)О((q k ^г)& р) по 4.3.1.
Н ((р & q)&О((q к ^г)& ^^р) по 4.4.2.
I—'^((р & q) & ^г) О -^^((q& ^^р) по 4.2.12.
Н ((р & q) =^ г) О ((q fc ^г) =^ ^р) по определению 3.4.
Н ((р & q) =О г) О (р =О (q г)).
Н ((р & q) & -т) О (р & (q & т)) подстановка в 4.3.3.
Н ((р & q) & ^г) О (р & ^(qг)) замена по 4.6.1.
Н ^^((р & q) & т) О ^0(р & -^(qг)) по правилу
4.2.12.
Н ((р & q) =О г) О (р =S (q г)) по определению 3.4.
Н ((р & -т) =S -^q) О (р =S (q г)) из 5.2.3 замена по
Modus ponens с материальной импликацией.
Н (р & (р q)) =О q.
h (р & ^q) ^ (р к ^q) подстановка в 4.2.1.
Н (р к ^(р & -^q)) =S ^^q по 5.2.1.
h (р к (рq)) =О^^q по определению 3.2.
Н (р к (рq)) =Оq по 4.4.2.
Если РQ иР. то Q Доказано раньше.
Сложные силлогистические выводы.
Н ((р q) к ((q к s) г)) =S ((р к s) =О г).
Н (((s & ^r) =О ^q) к (^q =О ^р)) =О ((s & ^г) =О ^р) подстановка в аксиому 1.5.
Н (^q к s) =S г) к (^q =О ^р)) =О ((р & s) => г) по 5.2.2, используемому дважды, и правилу 4.2.6.
Н ((q к s =О г) к (р =S q)) =S ((р к s) =О г) по контрапозиции 4.4.3.
Н ((р =4> q) к ((q к s) =4> г)) =4> ((р к s) =4> г) по 4.3.1.
Если Н Р Q и Н (Q к S) =s R, то Н (Р к S) =s R из 5.4.1 по правилу 4.1.
Н ((р =4> q) к (q =4> г) к (г =4> s)) =^ (р s\
Н ((q =4> г) к (г =4> s)) =4> (q =4> s) подстановка в аксиому 1.5.
Н ((q =4> s) к (р =S q)) =S (р =S s) из аксиомы 1.5 по 4.3.1.
Н ((q =S г) к (г =S s) к (р =S q)) =S (р =S s) по правилу
5.4.2, принимая (1) за Р =4> Q, а (2) — за (Q к S) =4> R.
Н ((р =4> q) к (q =S г) к (г =S s)) =S (р =S s) по 4.3.1.
Явные модальности в S1.
Строгие импликации, эквивалентные модальностям.
Ь Про (^р о> р).
Н р О (р V р) по 4.5.1.
Н р о (^^р V р) по 4.4.2.
Н Dp о П(^^р V р) по 4.2.10.
Н Пр о (^р О> р) замена по 5.1.3.
h П^р о (р => ^р) доказывается из 4.5.1, 4.2.10 и 5.1.3.
Отрицания модальностей.
I—О Пр из определения 3.6 по 4.2.3.
Н О^Р О ^Пр.
I—'^О^Р О ^Пр из 6.2.1 по 4.2.7.
Н (>^Р О ^Пр замена по 4.4.2.
I—О^р о Ор.
I—О^р о О^^Р подстановка в 6.2.2.
I—О^р о Ор замена по 4.4.2.
Modus ponens с модальными утверждениями.
Н ((р =Ф Д & Пр) =^ Oq.
Ь (bq =^ -Ц & рР р) k(p g)) => (^q =Ф 9) подстановка в 5.4.3.
Н ((р =Ф q) & (^q =Ф> ^р) & (^р =Ф р)) =Ф (^q => q) по 4.3.1.
И ((р =^ q) & (^р =^ р)) =^ (^q => q) замена по 4.4.3 и 4.3.2.
И ((р =^ q) & Пр) =^ Oq замена по 6.1.1.
Ь (р q) (Пр Oq) из 6.3.1 по 5.2.3.
Н ((р =Ф q) & Op) =4> <>q.
((^9 ^ ^р) & П^Д ^ П^р подстановка в 6.3.1.
И ((р =Ф q) & O^q) =Ф> П^р замена по 4.4.3.
Н ((р =Ф q) & ^П^р) =Ф ^O^q по 5.2.1.
Н ((р =Ф q) & Op) => Oq замена по 6.2.3.
Ь (р q) (Op Oq) из 6.3.3 по 5.2.3.
Н ((р & г) =Ф q) & Пр) =^ (г q).
Н ((р (г q)) fc Пр) =^ П(г q) подстановка в 6.3.1.
Н ((р & г q) & Пр) О(г q) замена по 5.2.3.
Н ((р & г) ^> q) & Пр) =Ф (г ^> q) замена по 5.1.2.
Общие метатеоремы для S1.
Если Р доказуема в немодальном исчислении высказываний (h Р), то h ПР (т. е. ПР доказуема в S1). Доказательство проводится следующим образом.
Если Р — одна из четырех аксиом Рассела — Бернайса (1.1-1.4), то h ПР (см. эти аксиомы в разд. 7.1).
Н П((р Vp) р).
Н р О (р V р) по 4.5.1.
h (р V р) =^ р по правилу 4.2.5.
Н П((р V р) р) замена по 5.1.2.
И О(р^ (pVq)\
Н р => (р V q) по 4.5.2.
Н П(р (р V q)) замена по 5.1.2.
Hn((pVg) (gVp)).
I- (pV^) О (qVp) из 4.3.1, правила 4.2.7 и определения 3.1.
Н (р V q) =S (q V р) по правилу 4.2.4.
Н П((р V q) (q V р)) замена по 5.1.2.
Н П((р q) ((г V р) (г V q))).
Н (р & (р q)) =4> q по 5.3.1.
Н ((р -^ q) & ^q) =4> ^р по 5.2.2.
Н (^q & (р q)) => ^р по 4.3.1.
h (^р & ^г) =Д (^г & ^р) подстановка в аксиому 1.2.
Н ^q к (р q) к ^г) =4> (^г & ^р) по правилу 5.4.2, принимая (3) за Р ^> Q, а (4) — за (Q & S) =Д R.
I- ((р —> q) ^ ^г & -^q) => (т & ^р) по 4.3.1 и 4.3.3.
Н ((р q) & ^(r V q)) =4> ^(r V р) замена по 4.4.4.
Н (р q) =S ((г V р) (г V q)) по 5.2.4.
Н П((р q) ((т Vp^irV q))) замена по 5.1.2.
Если h Q выведена из h Р по правилу подстановки для немодального исчисления высказываний, то h HQ получается из h ОР по правилу подстановки 2.2 для S1.
Если h Q выведена из \- Р Q и \- Р по правилу Modus Ponens, то h DQ доказывается из h D(P Q) и h ПР .
h П(Р Q) гипотеза.
Н Р Q по 5.1.2.
h ПР гипотеза.
Н (Р Q) & ПР по правилу соединения 2.3.
Н OQ по 6.3.1.
Если h Q выведена из Н Р посредством подстановки согласно следующим определениям: р & q означает ^(^pV^g); р q означает ^р V q и р ^ q означает (р q) ^ (q р^ то h HQ выводится из h ПР.
Н П(р & q) гипотеза.
h (р & д) о -.(-.р V ^q).
Н П(р & q) О П(^(^р V -^q)) по 4.2.10.
h П(^(^р\/~^q)) по правилу замены строго эквивалентных 2.5.
Аналогично доказываются с помощью 4.6.2, определения 3.3 и правила 4.2.3 остальные две формулы.
Таким образом, если формула Р доказуема в немодальном исчислении высказываний, то ПР доказуема в S1.
Если h ПР, то h Р (Р доказуема в S1).
h ПР гипотеза.
I—iP => Р замена по 6.1.1.
h (q & р) =Ф q подстановка в аксиому 1.1.
h (р & q) =Ф q замена по 4.3.1.
h (ПР & ^Р) =Ф ^Р подстановка в (4).
Н (ПР & ^Р) =Ф Р из (5) и (2) по аксиоме 1.5.
И ПР (^Р Р) по 5.2.3.
h ПР => Р замена по 4.6.3.
h Р из (1) и (8) по правилу Modus Ponens 2.4.
Если h Р Q, то h Р =Ф Q.
Н П(Р^ Q) по 7.1.
Н Р^ Q по 5.1.2.
Теоремы, специфические для S1.
I—'^)р =4* ^р из аксиомы 1.6. по 4.4.3.
Н Ор =4> р.
I—О^Р =7 ^^р подстановка в 8.1.
h Ор =4* р замена по 4.4.2. и по определению 3.6.
h ППр =4> р из 8.2 подстановкой и 8.2 по аксиоме 1.5.
h Ор =4* ^р из 8.2 и аксиомы 1.6 по аксиоме 1.5.
Н (р ^> 9) =► (р q\
Н О(р q) ^ (р q) подстановка в 8.2.
Н (р =^ q) =^ (р q) замена по 5.1.2.
Р (р & (р =4> q)) =4> q.
Р ((р =4> q) & р) =4> q из 8.5 по 5.2.3.
Н (р & (р q)) q замена по 4.3.1.
Заметим, что аксиома 1.6 может быть получена из 8.6 следующим образом.
Н ((р ^ ^р) & р) ^> ^р подстановка в 8.6.
Н (р =^ ^р) (р ^р) замена по 5.2.3.
h П^р ^> ^р замена по 6.1.2 и подстановка в 4.6.3.
I—i^p ^> ^П^р по 4.4.3.
h р ^> <>р по 4.4.2 и 6.2.3.
Т.к. аксиомы 1.6 и 8.6 дедуктивно эквивалентны (т. е. могут быть выведены друг из друга), то 8.6 можно принять в качестве аксиомы вместо 1.6.
Правило 7.2 (если h ПР , то h Р) можно применить к 8.2-8.6. Например:
Н Пр р из 8.2 или
если Н ПР , то Н ОР-
h ПР гипотеза.
Н ПР ОР по 8.4.
h ОР по правилу 2.4.
Это позволяет выводить из каждой теоремы h ПР теорему
ьор.
До сих пор матрицы использовались для доказательства независимости аксиом. Можно ли построить характеристическую матрицу для S1 (т. е. матрицу, на которой формула принимает выделенное значение тогда и только тогда, когда эта формула доказуема в системе)?
Дугунджи показал (1940 г.), что не существует конечной характеристической матрицы для S1. Это доказательство справедливо и для S2, S3, S4 и S5.
Система S4
Так как системы S2 и S3 целиком находятся в S4, мы их опустим и остановимся на весьма важной системе S4. Почти все теоремы, доказуемые в следующей системе S5, доказуемы также и в S4. Тем не менее, S4 не имеет тривиальной простоты системы S5, так как сохраняет 12 различных собственных модальностей.
Постулаты S4.
Система S4 определяется как система, получаемая добавлением к постулатам S1 аксиомы
Н 00р =8 Ор.
Ясно, что вместо 9.1 можно взять в качестве аксиомы двойственную формулу
Н Ор =Ф> ППр.
Аксиома 9.1 ведет к строгим эквивалентностям.
Н 00р ^ Op-
И Ор =^ О Ор подстановка в аксиому 1.6.
Н 00р =^ Ор аксиома 9.1.
Н 00р Ор из (1) и (2) по определению 3.5.
h ППр о Ор из 9.3 по двойственности.
Таким образом, «возможно» в этой системе отождествляется с «возможно, что возможно» и вообще с неограниченным повторением символа «возможно». Аналогичное положение имеет место и для символа необходимости.
Аксиома 9.1 независима от аксиом S1, так как на матрицах группы V Льюиса — Лэнгфорда (см. эту группу при доказательстве непротиворечивости S1), которым удовлетворяет S1, она принимает значение 3 при р = 4.
Постулаты S4 непротиворечивы, так как все они удовлетворяют матрицам группы III Льюиса — Лэнгфорда, отличающейся от группы V только одной матрицей:
Р 1 2 3 4Р 1 2 3 4Ор
Р 1 2 3 4
Р 1 2 3 4
1
1
1
4
Покажем, что S4 включает в себя системы S2 и S3. Это видно из следующих теорем.
Н D(p q) 4^ (р q).
Н ПП(р q) О О(р q) подстановка в 9.4.
Н О(р q) (р q) замена по 5.1.2.
h 0(р & q) =Ф <>р аксиома S2.
Н ((р & q) =^ р) О П((р & q) =^ р) подстановка в 9.5.
Н ((р & q) =Ф р) & <>(р k q)) =Ф> <>р подстановка в 6.3.3.
И П((р & q) =Ф р) из аксиомы 1.1 по (1).
И 0(р & q) => Ор из (3) и (2) по 6.3.5.
Р (р =^ q) =^ (<>р => О#) аксиома S3.
Ь О(р q) □ (фр Oq) подстановка в 6.3.2, применением Modus Ponens 2.4 для 6.3.2 и 6.3.4, затем по 7.1 и 5.1.2.
Н (р =^ q) =^ (Op => Oq) по 9.5 и 5.1.2.
Таким образом, S2 и S3 выводимы из постулатов системы S1 при добавлении соответственно 9.6 и 9.7 и поэтому содержатся в S4.
Показано, что в системе S3, содержащейся в S4, имеется не более 40 несводимых собственных модальностей (т. е. модальностей степени высшей, чем нуль), а если добавить к ним две несобственные модальности р и ^р, то будет не более 42 несводимых модальностей.
В S4 имеется ровно 14 несводимых модальностей, из них 12 собственных модальностей и 2 несобственных (р и ^р). Парри показал, что если с помощью 9.3 свести ООр к <>р, а с помощью 9.4 свести И Пр к Пр, то 40 собственных модальностей сведутся к 12.
Теоремы и правила, доказуемые в S4.
Н Oq =8 (р =8 Oq).
Ь <)(р к q) <>р аксиома S2 9.6.
h Пр => П(р V q) из (1) по двойственности.
Н Oq =Ф O(q V ^р) подстановка.
Н Oq =Ф> П(^р V q) замена по Н (q V ^р) О (^р V q).
Ь Oq (р q) по 4.6.2 и.5.1.2.
Н ППд (р Oq) подстановка в (5).
Н Oq =Ф (р =Ф Oq) замена по 9.4.
Теоремы импортации и экспортации становятся строгими эквивалентностями.
h ((Пр & Oq) =Ф Or) О (Пр (Oq =Ф Or)).
Н ((р & q) =Ф г) =Ф (р ^ (q г)) из 5.2.3 по правилу 4.2.4.
Н (^q =8 ^р) =8 (^>^q =4> ^>^р) подстановка в аксиому 9.7.
Ь (р q) (^О^р =Ф ~^<>^q) по 4.4.3.
Ь (р q) (Пр =^ Oq) по определению 3.6.
Н (р ^ (q г)) =8 (Пр =^ (q ^ г)) подстановка в (4) и
5.1.2.
Н (g ^> г) ^> (Oq =^ Or) подстановка в (4).
Н (Пр (q г)) =Ф> (Пр =Ф (Oq =Ф> Or)) по правилу S2: если h Q => R. то h (Р =Ф* Q) =4* (Р =4* R).
Н ((р & q) =8 г) =8 (Пр =^ (Oq => Пт)) из (1), (5) и (7) по 5.4.3.
Н ((Пр & Oq) =4> Or) =4> (ППр ^> (ПП^ ^> ППг)) подстановка в (8).
Н ((Пр& Oq) =4> Or) =4> (Пр (Oq =4> Or)) замена по
9.4.
h (q =8 г) =8 (q г) подстановка в 8.5.
Ь (р ^ (q ^ г)) ^ (р ^ (q г)) по правилу S2: если h Q R, то h (Р Q) (Р R).
Н (р =^ (q =^ г)) =^ ((р & q) ^> г) замена по 5.2.3.
Н (Пр ^> (Oq =4> Or)) =4> ((Пр & Oq) =4> Or) подстановка в (13).
Н ((Пр & Oq) =4> Or) О (Пр ^> (Oq =4> Or)) из (10) и (14) по определению 3.5.
10.2.2. Н (Op (Oq => Or)) О (Oq => (Ор => Пт)).1. Ь (q г) (q г) подстановка в 8.5.10.2.2. Н (Op (Oq => Or)) О (Oq => (Ор => Пт)).1. Ь (q г) (q г) подстановка в 8.5.Н (р =4> (q => г)) ^ (р ^ (q г)) из (1) по правилу S2:
10.2.2. Н (Op (Oq => Or)) О (Oq => (Ор => Пт)).
1. Ь (q г) (q г) подстановка в 8.5.
10.2.2. Н (Op (Oq => Or)) О (Oq => (Ор => Пт)).
1. Ь (q г) (q г) подстановка в 8.5.
если h Q =Ф> R. то h (Р =4> Q) =Д (Р =4> R).
S. V (р (q г)) О ((р fc т) =4> -^q) из 5.2.4 по правилу
4.2.6.
Н(р=4>(qг))О(q =>-^(рfc т)) по 4.4.3.
Н(р=>(qг))О(q =4>(рг)) по определению3.2.
Н(р=>(qг))=4>(q =>(рг)) по правилу 4.2.4.
Н(^q =4> -^р) =4>(O^q =4>О^р) подстановка в 9.7.
Н (р =4> q) =4> (^О^р =7 ^O^q) по 4.4.3.
Н (р => q) => (Пр =4> Oq) по определению 3.6.
\~ (q ^> (р г)) ^> (Oq =4> (р ^ г)) подстановка в (9) и 5.1.2.
Ь (р ^ (q ^ г)) =4> (Oq =4> (р => г)) из (2), (6) и (10) по 5.4.3.
Н (Пр =4> (Oq =4> Пт)) =4> (ПП^ =4> (Пр =4> Or)) подстанов
ка в (11).
Н (Пр =4> (Oq =4> Or)) =4> (Oq =4> (Пр =4> Or)) замена по
9.4.
Н (Oq =4> (Пр =4> Or)) =4> (Пр =4> (Oq =4> Or)) подстановка в (11) и 9.4.
Н (Пр =4> (Oq =4> Or)) О (Oq =4> (Пр =4> Or)) из (13) и (14) по определению 3.5.
Если Н Г, то Н ПР . Чтобы доказать это правило, достаточно показать, что если Р — аксиома S4, либо формула, выводимая в ней, то h ПР .
Все аксиомы S4 имеют форму Р ^> Q. По 9.5, если \- Р ^> Q, то h О(Р =4> Q); таким образом, если R — аксиома системы S4, то h ПР.
Если Q выведена из Р по правилу подстановки 2.2, то очевидно, что h HQ может быть выведена из h ПР.
Если Р & Q выведена из Р и Q по правилу соединения 2.3, то согласно Н (Пр & Oq) =4> П(р & q), h О(Р & Q) следует из И ПР и Н HQ. Н (Пр & Oq) =4> П(р & q) доказывается в системе S2.
Если Q выведена из Р и Р =4> Q по правилу отделения 2.4, то по 6.3.1 h HQ следует из h ПР и h Р =4> Q (которая строго эквивалентна h О(Р =4> Q) согласно 9.5).
Если Q выведена из Р по правилу замены строго эквивалентных 2.5 или по определениям, то очевидно, что h HQ следует из h ПР.
Следствиями 10.3 являются, например, такие правила вывода:
Если Н Р Q, то Н ПР DQ.
h Р Q гипотеза.
Н Р Q по 10.3 и 5.1.2.
Н ПР^ OQ по 6.3.2.
Если h Р Q, то h Р о Q по 10.3 и Н П(р q) О (р О q) (доказано в S2).
Правило замены материально эквивалентных.
Если h Р ^ Q, то доказуемая формула остается доказуемой, если все вхождения Р заменить в ней на Q (из 2.5 по 10.4.2).
Некоторые другие теоремы.
Н П(р V ^р) О (р V ^р\
Н П(р V ^р) =Ф (р V ^р) подстановка в 8.2.
Н р V ^р.
Н П(р V ^р) из (2) по 7.1.
Н П(р V ^р) =5 ((р V ^р) =5 П(р V ^р)) подстановка в 10.1.
Н (р V -р) =Ф П(р V -р) из (3) и (4) по 2.4 (Modus Ponens).
Н П(р V ^р) О (р V ^р) из (1) и (5) по правилу 2.3 и определению 3.5.
h 0(р к ^р) о (р & ^р) из 10.5.1 по двойственности.
Система S5
Постулаты S5.
Постулаты S5 определяются как постулаты S1, к которым добавляется аксиома
Н Ор =8 ПОр.
Эта аксиома независима от постулатов S1, так как согласно матрице группы V Льюиса — Лэнгфорда она имеет значение 4 при р = 3. Она также не противоречит постулатам S1, ибо матрица группы III Льюиса — Лэнгфорда удовлетворяет как самим этим постулатам, так и 11.1.
Докажем следующие строгие эквивалентности.
Н ПОр О Ор.
h ПОр => Ор подстановка в 8.2.
h ПОр ^ ^Р из (1) и аксиомы 11.1 по определению 3.5.
h О ПрПр из 11.2.1 по двойственности.
Можно вывести в S5 аксиому 9.1 системы S4, поэтому S5 содержит систему S4.
h О<>р <>р подстановка в 8.2.
Н <>О<)р =Ф> <>р замена по 11.2.2.
Н ^>^>р =7 <>р замена по 11.2.1.
Так как в S4 имеются 14 несводимых модальностей, то и в S5 они имеют место. Однако их число можно уменьшить в S5 до 6: четыре из них являются собственными модальностями, имеющими первую степень, а именно: «возможно» (^р) и «невозможно» (^Ор или П^р); «необходимо» (Пр) и «не необходимо» или «случайно» (^Пр или ^^р), а также две несобственные модальности (р и ^р).
Таким образом, мы рассмотрели различные системы модального исчисления высказываний, не касаясь модального исчисления предикатов первого порядка, которое может быть получено путем введения соответствующих постулатов для формул, содержащих кванторы по предметным переменным.
Семантика возможных миров Крипке
Рассмотрим теперь один из способов интерпретации модальных систем при помощи структур, предложенных С. Крипке. Здесь будет четко прослеживаться связь между синтаксисом и семантикой, т. е. между системами аксиом и интерпретирующими отношениями.
Модальное исчисление высказываний по-прежнему задается бесконечным списком пропозициональных переменных (атомарных формул), комбинируя которые при помощи связок & , -и и □, можно получить правильно построенные формулы, обозначаемые как А, В, С ...
Модальное исчисление высказываний будет называться нормальным, если оно содержит следующие схемы аксиом и правила вывода:
А1. ОА^ А.
АЗ. О(А В) (ОА ОВ).
R1. Если \- А и \- А В, то НВ (правило Modus Ponens).
R2. Если h А, то h ПА (в ненормальных системах правило R2 не выполняется).
Система, содержащая только вышеприведенные схемы аксиом и правила вывода, называется системой М (системой Фейса — фон Вригта, иногда системой Т). Система S4 получается из М добавлением схемы аксиом А4: ПА —> ППА. Брауэрова система получается из М добавлением брауэровой схемы аксиом А П^А.
Наконец, система, эквивалентная S5, может быть определена как система М с добавленной схемой аксиом А2: ^ПА П^ПА. Известно также, что S4 плюс брауэрова схема аксиом эквивалентна S5.
Нормальной модельной структурой называется упорядоченная тройка < G, ТУ, R >, где ТУ — некоторое непустое множество (универсум), элементы которого могут рассматриваться как «точки соотнесения» или «возможные миры», в которых высказывание истинно или ложно; G Е ТУ — некоторый выделенный элемент этого множества, иначе «действительный мир»; R — отношение доступности, определенное на множестве ТУ, на которое наложено единственное требование рефлексивности.
Модальная формула будет оцениваться в лоне некоего «универсума» различных «возможных миров». Точнее, анализ истинности некой модальной формулы зависит от рассматриваемого возможного мира. Если два мира Hi и Н^ принадлежат универсуму ТУ, то доступность мира Я2 из мира Hi обозначается как Hi RIK Нормальную модельную структуру будем также называть М-модельной структурой.
М- (S4-, S5-, брауэровой) моделью формулы А из М- (S4-, S5-, брауэровой) системы называется двуместная функция Ф^Р,Н\ соответствующая данной М- (S4-, S5-, брауэровой) модельной структуре < G, ТУ, R >. Первая переменная Р пробегает множество атомарных подформул А, а вторая переменная Н пробегает элементы W. Эта функция принимает значения на множестве {И, Л}.
Для данной модели Ф, соответствующей модельной структуре < G, ТУ, R >, определим для каждой подформулы В формулы А и всякого Н Е ТУ оценку — значение Ф(В, Н) (которое может быть И или Л), т. е. определим однозначное расширение Ф, первый аргумент которого пробегает все подформулы А, а не только атомарные подформулы. Для атомарных В (т. е. для пропозициональных переменных) соответствующие значения Ф(В, Н) уже определены выше. Для сложных формул оценка определяется индукцией по числу связок в формуле.
Пусть Ф(В,Н) и Ф(С,Н) уже определены для каждого Н Е ТУ. Если Ф(В,Н) = Ф(С,Н) = И, то Ф(В к С, Н) = И; в противном случае Ф(В & С, Н) = Л. Если Ф(В,Н) = И, то Ф(-В, Я) = Л; в противном случае, т. е. если Ф(В, Н) = Л, то Ф(^В, Я) = И. Наконец, определим Ф(ПВ,Я): если Ф(В,Н') = И для всех Н' из ТУ, таких что Я R Н', то положим Ф(ПВ,Я) = И; в противном случае, т. е. когда существует такое HR что Я R Н' и Ф(В,Н') = Л, положим Ф(ПВ,Я) = Л.
Формулу А назовем истинной в модели Ф, связанной с модельной структурой < G, ТУ, R >, если Ф(А, G) = И и ложной, если Ф(А, G) = Л. Формулу А назовем общезначимой, если она истинна во всех своих моделях, и выполнимой, если она истинна хотя бы в одной из моделей.
Из множества «возможных миров» выделяем «действительный мир» — элемент G. Каждая атомарная формула (т. е. пропозициональная переменная) Р получает некоторое истинностное значение в каждом мире Н; в действительности это значение есть Ф(Р, Н\
Интуитивно отношение R может пониматься следующим образом: для данных двух миров Н\.Н2 Е W^ «Hi R Н^» читается как «Н2 возможен относительно Н\». «возможен в Hi» или «зависит от Hi»; это значит, что каждое высказывание, истинное в Н2. возможно в Hi. Один мир является теперь возможным относительно некоторого другого. Очевидно, что каждый мир возможен относительно себя самого (рефлексивность отношения R), т. е. всякое высказывание, истинное в Н. является также возмоснсным в Н. Мы оцениваем формулу А как необходимую в мире Н\. если она является истинной в каждом мире, возможном относительно Hi; иными словами, Ф(ПА, Hi) = = И тогда и только тогда, когда Ф(А, Н2) = И для каждого Н^ такого, что Hi R Н^. Двойственным образом, формула А возмоснсна в мире Hi тогда и только тогда, когда существует мир Н2. возможный относительно Н\. в котором А истинна.
Выясним, при каком условии отношение R будет обладать свойством транзитивности, т. е. следует ли из того, что Hi R Н2 и Н2 R Н3 утверждение Hi R Н3? Сказать, что Н2 R Нз* — значит, сказать, что каждая формула А, истинная в Нз, является возможной в Н2 (т. е. формула ^А истинна в Н2); но тогда, поскольку Hi R Н2^ то отсюда в свою очередь следует, что формула ^А является возможной («возможно, что возможно» А и ^^А истинна) в Hi. Но Hi R Н3. значит, если А истинна в Н3. то А возможна в Hi; однако выше мы установили, что по меньшей мере, возмоснсно^ что А возможна в Hi. Это приводит к требованию дополнительной аксиомы: ^^А
О А «возможно, что возможна А, означает, что А возможна», а это аксиома редукции S4. В соответствии с этим будем называть модельную структуру с транзитивным отношением R (не забывая о рефлексивности) 84-модельной структурой.
Аналогично можно показать, что брауэрова аксиома приводит к симметричности R. Действительно, предположим, что имеет место А ПО А и Hi R Н2. Тогда Н2 R Hi будет установлено, если мы сможем доказать, что всякое утверждение, истинное в Н\. возможно в Н2. Но если А истинна в Н\. то согласно брауэровой аксиоме (П^А истинна в Hi)<>A необходимо в Н\. т. е. ^А истинна во всех мирах, возможных относительно Hi. В частности, ^А истинна в Н2. что и требовалось доказать.
Аксиомы редукции классической модальной логики позволяют установить простые свойства (помимо рефлексивности) отношения R. Если мы считаем, что отношение R имеет место для каждой пары элементов из Wто тем самым утверждается, что каждое возможное высказывание является необходимо возможным, т. е. это приводит к
характеристической аксиоме S5. К той же аксиоме мы придем, считая R отношением эквивалентности.
Пусть отношение R* является «транзитивным замыканием» отношения R, т. е. Но R* Н означает существование таких Н\.... , Нп = = Н, что для любого г < п имеет место Нг R Н^^. Модельная структура < G, W, R > называется связной, если для всех Н eW G R*H.
Модель называется связной, если она определена на связной модельной структуре. Модель Ф является моделью формулы А тогда и только тогда, когда А истинна в Ф, в противном случае Ф является контрмоделью для А.
Покажем, что каждая выполнимая формула имеет связную модель или, что то же, что каждая необщезначимая формула имеет связную контрмодель.
Пусть А выполняется в модели Ф(Р, Н), определенной на модельной структуре < G, W, R >. Пусть W есть множество всех Н Е W таких, что G R* Н, a R' является ограничением R на W', и пусть Ф'(Р, Н) есть Ф, ограниченная условием, что Н пробегает Wr. Тогда < G, W', R' > есть модельная структура, и Ф' является моделью в < G, W, R' >. Очевидно, что Ф' связана. Мы докажем по индукции, что Ф'(В, Н) = Ф(В, Н) для каждой подформулы В формулы А и для каждого Н Е W' (следовательно, окажется, что Ф' является искомой моделью А, т.к. Ф(Д, G) = И, Ф\А, G) = И).
Если В атомарна, то этот результат получается немедленно. Если утверждение уже доказано для С и D, и В есть С & D или -О, то проверка утверждения для В тривиальна. Если В есть ПС, то проделываем шаг индукции следующим образом: заметим, что если Н Е W', то Н R' Н' влечет Н' Е W', а следовательно, Н R Н'. По индуктивному предположению, для Н’ Е W Ф(С, Н’^ = Ф\С, Н’\ Тогда
Ф(ПС, Н) = И тогда и только тогда, когда для всякого Н' Е W такого, что Н R Н', Ф(С, Н'^ = И;
ФХ(ПС, Н) = И тогда и только тогда, когда для всякого Н' Е W такого, что Н R Н', Ф\С, Н^ = И.
Предыдущее обсуждение показывает, что если Н Е W', то правые части (1) и (2) эквивалентны; так, Ф(ПС, Н) = И тогда и только тогда, когда ФХ(ПС, Н) = И, а следовательно, Ф(ПС, Н) = ФХ(ПС, Н), что и требовалось доказать.
Доказанное предложение приводит к тому, что можно было бы ограничиться рассмотрением только связных моделей. Очевидно, что если в связной модели R есть отношение эквивалентности, то любые два мира связаны с данным отношением; этим объясняется то,
что модельная структура с подобным отношением есть 85-модельная структура.
Дадим еще несколько определений, относящихся к связным моделям.
Тройка < G, W, S >, где W — множество, G Е TV, a S — отношение, определенное на W (не обязательно рефлексивное), называется деревом, a G — его корнем или началом, если
не существует Н Е W такого, что Н S G;
для каждого Н Е W, кроме G, существует единственное Н7 такое, что Н' S Н*,
для каждого Н Е W G S*H.
Если Н S Н', то Н мы назовем предшественником Н': в терминах, связанных с S, W можно охарактеризовать как область определения S, a G — как единственный элемент W, не имеющий предшественника. Можно сказать, что S является древовидным отношением, если существуют G и W, удовлетворяющие сформулированным выше условиям.
М-модельная структура < G, W, R > называется древовидной, если существует такое отношение S, что < G, W, S > является деревом, a R — наименьшее рефлексивное отношение, содержащее S (рефлексивное отношение, «порожденное» S\ Очевидно, что в этом случае Hi R Н^ тогда и только тогда, когда Hi S Н^ или Hi = Н2.
Аналогично определяются брауэрова, S4-, 85-модельные структуры как древовидные структуры с условием, что R — наименьшее рефлексивное и симметричное отношение для брауэровой структуры; рефлексивное и транзитивное отношение для 84 и отношение эквивалентности для 85 соответственно.
Очевидно, что каждая древовидная модельная структура связна. Согласно условию (3) для каждого Н Е W G S*H; а поскольку S С R, то получаем, что S* С R*. В 85 каждая конечная или счетная связная модельная структура является древовидной 85-модельной структурой. Это может не выполняться для 84. Действительно, существуют связные 85-модельные структуры (например, W = {G, Н^ и отношение R связывает все пары), являющиеся древовидными 85-модельными структурами, но не являющиеся древовидными 84- моде льными структурами.
Модель, ассоциированная с древовидной модельной структурой, называется древовидной моделью.
Можно показать, что семантическая теория не потеряет общности, если рассматривать только древовидные модели. Кроме того, эти модели допускают наглядное диаграммное представление.
Я сейчас курю восхитительную мысль с обаятельным запахом. Ее смолистая нега окутала мой разум точно простыней.
В. Хлебников
Убеждение — это не начало, а венец всякого познания.
И. Гёте
Глава 8
НЕМОНОТОННЫЕ МОДАЛЬНЫЕ ЛОГИКИ
Рассматриваемые в данной главе немонотонные модальные логики оперируют с неполным, неточным, зачастую противоречивым, динамически изменяющимся знанием. Рассуждения здравого смысла часто не монотонны, т. е. оказываются предположительными, правдоподобными и должны подвергаться пересмотру (ревизии). Такие рассуждения неточны и пересматриваемы по самой своей природе или из-за той информации, на основании которой они построены. Бывают случаи, когда корректные по сути рассуждения могут пересматриваться, когда они основаны на таких договоренностях (соглашениях), которые выходят за рамки информации (знания), на основе которой они приняты.
Сначала будут рассмотрены логики убеждения и знания, затем описаны универсальные аксиоматические модальные системы МакДермотта и Дойла, которые будут модифицированы, с привлечением моделирования идеально разумного агента, интроспективно рассуждающего об исходном множестве предположений (автоэпистемические логики Мура). Далее будет дан подход, основанный на немонотонных правилах вывода, в котором используются умолчания, индуцирующие так называемые расширения классических логических теорий (логики умолчаний Рейтера).
В заключение рассмотрены две системы поддержания истинности БД: система TMS (Truth-Maintenance System) и ATMS (AssumptionBased Truth-Maintenance System).
Логики убеждения и знания
Главной функцией модальной логики является формализация модальностей «необходимости» и «возможности». Другим ее применением является моделирование и анализ парадигм «убеждения» и «знания». Для этого различные логические системы используют формальные языки с модальными операторами «убеждения» и «знания».
[ Гл. 8
В рамках логик убеждения и знания оператор □ принимает соответственно значения «предполагается» и «известно». Двойственный ему оператор О принимает соответственно значения «противоположное не предполагается» и «противоположное неизвестно».
Пусть £ — модальный язык высказываний, р и q — метапеременные, представляющие формулы в языке £. Модальные операторы в £ обозначим символами L и М, где Пр есть Lp и Ср — Мр. причем, как и раньше Lp = -^М^р.
Напомним, что нормальная модальная система (см. разд. 7.7) — это четверка, состоящая из
множества всех теорем логики высказываний, область действия которых распространена на формулы модального языка высказываний £:
схемы аксиомы дистрибутивности L(p g) (Lp Lq) (в классике Аз), обозначаемой буквой К. Схема К утверждает, что «Если необходимо, что р влечет q, то из необходимости р вытекает необходимость q»;
правила Modus Ponens: если h р и h р q, то h q*,
модального правила вывода необходимости: если Н р, то Н Lp. Формула р необходимо истинна при условии, что р истинна (см. также разд. 7.7).
Обогатим нормальную модальную систему следующими схемами аксиом.
Схема аксиомы знания: Lp р (в классике Ai).
В немонотонных модальных системах эту схему обозначают буквой Т. Она утверждает: «то, что известно — верно». Эту схему добавляют к нормальной модальной системе, чтобы оператор L означал «известно». Напротив, схемы Т не будет в системе аксиом, формализующих «предположение», ибо оно может быть ошибочным. Нормальная модальная система, пополненная схемой Т, перенимает имя от двух входящих в нее схем модальных аксиом: она обозначается через КТ.
Схема аксиомы позитивной интроспекции: Lp LLp.
Эта схема обозначается цифрой 4. Когда модальный оператор L означает «известно», схема 4 утверждает: «Если мне известно р, то я знаю, что известно р». Если же модальный оператор L означает «предполагается», то схема 4 гласит: «Если я предполагаю, что р подтверждается, то я предполагаю, что я предполагаю, что р подтверждается».
Описанная схемой 4 возможность интроспекции (от лат. introspecto — смотрю внутрь, то же, что самонаблюдение) нужна для формализации совершенного интроспективного интеллекта. Нормальная модальная система, пополненная схемами аксиом Т и 4, обозначается КТ4 (или в классической модальной системе S4).
Схема аксиоми негативной интроспекции: Мр LMp.
Эта схема обозначается цифрой бив логиках знания и убеждения формализует совершенную негативную интроспекцию. Схема 5 эквивалентна следующей схеме: -^Lp -^ L^Lp. Когда оператор L означает «известно», то схема 5 утверждает: «Если я не знаю, что р подтверждается, то я знаю, что я не знаю, что р подтверждается». Если же оператор L означает «предполагается», то она гласит: «Если я не предполагаю, что р подтверждается, то я предполагаю, что я не предполагаю, что р подтверждается».
Это свойство, конечно, чрезвычайно обременительно. Оно выражает совершенное понимание пределов нашего знания или убеждения. Нормальная модальная система, пополненная схемами аксиом Г, 4 и
обозначается КТ45 (или в классической модальной системе S5).
Выбор модальной системы зависит от моделируемого понятия. Подробнее об этом выборе будет написано ниже.
Вернемся к семантике возможных миров Крипке. Структурой будем называть пару 3 = (ТЕ, R), где W — непустое множество (универсум) возможных миров, a R — бинарное отношение доступности на множестве ТЕ, т. е. некоторое подмножество из ТЕ х ТЕ.
Пусть Р — множество атомов (или высказываний) модального языка £. Тогда P-моделью на структуре (ТЕ, R) называется тройка М = (ТЕ, R, У), где оценка V — отображение из Р в 2й (т. е. множество всех подмножеств множества ТЕ), сопоставляющая каждому высказыванию р Е Р подмножество V(р) из ТЕ.
Неформально это значит, что V(p) интерпретируется как множество возможных миров из ТЕ, в которых высказывание р истинно. Если нет никакой двусмысленности в контексте, то префикс Р в определении модели будем опускать и говорить просто о модели.
Пусть w Е ТЕ и А — модальная формула в языке £. Для семантической оценки формул из £ желательно иметь в виду конкретный мир w из универсума ТЕ вместе с рассматриваемой оценкой У. Рекурсивно определяют отношение семантического следования к между моделями и формулами языка. Запись Л4 Pw А отражает семантику формулы А и означает, что А истинна в мире w для модели Л4.
Эта семантика определяется следующим образом:
М Pw И,
A4EW Л,
М Hw р, если w Е У(р),
М Pw Ai Л2, если из М Pw Ai следует М Pw А2,
М Pw LA, если из w R t вытекает, что Л4 Р^ Л для всех t Е ТЕ.
Последнее правило выражает тот факт, что формула LA истинна в мире w модели М, если формула А истинна во всех мирах
[ Гл. 8
находящихся в отношении R с миром w. Это правило учитывает желательные значения модального оператора L. Действительно, в логике необходимости формула LA представляет необходимость формулы А: «Л необходимо в данном мире» интуитивно означает подтверждаемость А во всех мирах, доступных из данного. В то же время, в логике знания формула LA означает «Л известно» и, следовательно (интуитивно), А подтверждается во всех возможных мирах, какие только можно вообразить на основе некоего множества знаний и предположений.
Семантическая оценка (означивание) формул И, ^Л, МА, Ai V А2, Ai & Л2 и Ai ^ Л2 получается из базовых семантических отношений с помощью эквивалентных преобразований, позволяющих записать константу И, оператор М и связки V, & , ^ в виде формул, построенных из константы JI, оператора L и связок и Например, из соотношения ^А = А Л и правила двойственности выводятся следующие семантические правила:
М Pw ^А, если М ^w Л;
М Pw МА, если А4 ^ Л хотя бы для одного t Е W такого, что w Rt.
Введем ряд понятий.
Формула Л из £ общезначима в модели М = (W, R, V) тогда и только тогда, когда она истинна во всех мирах этой модели, т. е. если М Hw А для всех w Е W. Это обозначается так: М И А.
Формула Л из £ общезначима в структуре ^ = (W, Д) тогда и только тогда, когда А общезначима в любой модели (W, R, V), т. е. если АЛ к А для всех моделей М. Это обозначается следующим образом: ^5 Н Л.
Формула Л из £ общезначима тогда и только тогда, когда А общезначима в любой структуре $5. Символьная запись: И А.
Необходимой истиной в мире w называется формула, которая подтверждается во всех мирах t, достижимых из w. Отсюда формула LA читается так: «Л необходимо истинна».
Возможной истиной в мире w называется формула, которая подтверждается хотя бы в одном из миров, достижимых из w. Отсюда формула МА читается так: «возможно, что А истинна».
Введем реальный мир G. Формула А, которая необходимо истинна в реальном мире G, будет истинна и во всех мирах, достижимых из реального мира, в частности, и в самом реальном мире G. Таким образом, формула LA А истинна в рассматриваемой структуре.
Если формула А истинна в реальном мире G, то она будет истинной хотя бы в одном из миров, доступных из реального мира G. Значит, формула А МА истинна в рассматриваемой структуре.
Рассмотрим список свойств, которым может обладать отношение доступности R.
Рефлексивность: ^w(wRw).
Симметричность: ^w^t^wRt tRw).
Репродуктивность: \/w3tQu)Rt).
Транзитивность: VwVtVu(wRt fc tRu wRu).
Евклидовость: VuNtVu(wRt fc wRu tRu).
Частичная функциональность: ^w^t^u^wRt k wRu t = u).
Функциональность: \/w3\t(wRt) (обозначение 3\t означает: существует одно и только одно t).
Слабая плотность: VwVt(wRt 3u(wRu k uRt)).
Слабая связность: VuNtVu(wRt fc wRu tRu V t = и У uRt).
Слабая направленность: ^wVNuQwRt & wRu 3u^tRu & uRu)).
Этому списку свойств отношения R соответствует список схем
формул.
1. ГЛ А
(Т)
6. МА LA.
2. Л LMЛ
(В)
7. МА LA.
3. LA МА
(В)
8. LLA LA.
4. LA LLA
(4)
9. ЦА kLA — B) V L(B & LB Л) (L)
5. МАLMА
(5)
10. MLA LMA.
В скобках справа около некоторых схем формул указаны исторические названия соответствующих схем аксиом.
Следующая теорема дает точное описание вышеупомянутого соответствия.
Теорема 8.1. (Р. Голдблатт). Если задана структура Tv = ^W^ R), то отношение R тогда и только тогда обладает конкретным из свойств 1-10, когда соответствующая схема формул истинна в Tv.
Эта теорема имеет фундаментальное значение. Именно ею объясняется тот успех, который имела реляционная семантика с тех пор, как ее ввел Крипке. Такие структуры хорошо приспособлены для применения.
Однако отметим, что есть и такие достаточно привычные свойства отношения R, которые не соответствуют общезначимости никакой модальной схемы. Таковы, например, следующие три свойства:
иррефлексивность: Vw^(wRw);
антисимметричность: ^w^t^wRt k tRu; w = t);
асимметричность: VwVt(wRt ^(tRw)).
Возвращаясь к нормальным модальным системам, следует заметить, что если {Л^ | г Е /} — какое-либо множество нормальных логик, то их пересечение П{Л^ | г Е 1} является нормальной логикой. В частности, логика К, определенная соотношением К = П {AJ Л^ есть нормальная логика}, т. е. пересечение всех нормальных логик есть наименьшая нормальная логика. Следующая теорема показывает важность этой «минимальной» логики.
Теорема 8.2. (Р. Голдблатт). Формула А является теоремой логики К тогда и только тогда, когда А общезначима (т. е. истинна во всех структурах).
Следующие отношения выполняются в любой нормальной логике:
НЛ А В ^Vk LALB и Нл МАМВ,
VKA^ В ^Vk LALB и Нл МАМВ,
На LAk LB L(Ak В), Нд М(А V В) МА V МВ, Нд LA VLB L(A V В), Нд М(А кВ) МА к МВ.
Существует соответствие между выбором схем основных аксиом данной формальной системы и свойствами отношения доступности между возможными мирами семантической характеристики этой системы. Проиллюстрируем это соответствие следующими теоремами.
Теорема 8.3. Формула А является теоремой логики КТ тогда и только тогда, когда А истинна во всех структурах, в которых R рефлексивно.
Теорема 8.4. Формула А является теоремой логики S4 тогда и только тогда, когда А истинна во всех структурах, в которых R рефлексивно и транзитивно.
Теорема 8.5. Формула А является теоремой логики S5 тогда и только тогда, когда А истинна во всех структурах, в которых R рефлексивно, транзитивно и евклидово (т. е. R — отношение эквивалентности) .
Теоремы 8.3-8.5 можно обосновать с использованием следующей леммы.
Лемма 8.6. (Р. Голдблатт). Если нормальная логика Л содержит какую-либо из схем 1-10 (см. список свойств отношения доступности R), то существует отношение R^ (названное каноническим для Л), обладающее соответствующим свойством.
Структура возможных миров семантически характеризует различные модальные системы в зависимости от свойств отношения доступности.
Схема КТ может быть выбрана в нормальной модальной системе, если соответствующая семантическая характеризация свойств модального оператора L будет состоять из множества возможных миров, связанных рефлексивным отношением доступности R. Аналогично, если выбрать систему КТ45 (она же S5) для аксиоматизации свойств оператора Д то соответствующая семантическая характеризация будет состоять из множества возможных миров, связанных между собой отношением R. являющимся отношением эквивалентности.
Немонотонные логики Мак-Дермотта и Дойла
Немонотонные логики Мак-Дермотта и Дойла являются универсальными аксиоматическими системами, рамки которых аналогичны модальным системам необходимости и возможности, пополненные правилом вывода выполнимых утверждений. В этих логиках имеем формулы вида р, ^р и Мр («р возможна»), истинность которых соответствует факту, что р доказуема, опровергаема и возможна. Интуитивно ясно, что р возможна всякий раз, когда она не опровергаема, т. е. ^р недоказуема.
Понятия «возможно» и «необходимо» могут интерпретироваться как «непротиворечиво» и «доказуемо» («известно»). Тогда в рамках немонотонной логики Мак-Дермотта и Дойла утверждение типа «обычно (как правило, типично) студенты юны» будет записано следующим образом: ^х (Ст(т) & М Юн(х) Юф)), т. е. если кто-то — студент и он возможно (или это не противоречит) юн, то он действительно юн. Если в БЗ поступил факт, что Петров — студент (Ст(Петров)) и ^Юн(Петров) невозможно вывести (доказать), т. е. факт М Юн(Петров) истинен, то мы действительно делаем вывод, что Петров юн.
Построим модальный язык первого порядка £, предложенный Мак-Дермоттом.
Пусть С, X. F и Р — множества символов индивидных констант, переменных, функций и предикатов соответственно.
Множество термов из £ определяется по индукции следующим образом. Терм из £ — либо константа из С, либо переменная из X, либо выражение ДДН, /щ • • • Дп^ где /гп — п-местная функция из F, а Д, £2, • • • Дп — термы из £.
Атомарная формула из £— это выражение вида РДН, ^2,• • •, Д), где Р^ — п-местный предикат из Р, a 1\Д^ ... Дп — термы из £. Символ п в дальнейшем у предикатов и функций будем опускать.
Множество формул из £ определяется по индукции: формула из £ — либо атомарная формула, либо ^р, либо р щ либо
Мр, либо Vx р. Здесь р и q — формулы из С. М — модальный оператор (^), х — переменная из X.
Теперь зададим немонотонную аксиоматическую систему. Она содержит следующие элементы:
«нелогические сведения», являющиеся формулами из С со статусом дополнительных аксиом (посылок);
схемы логических аксиом;
логические правила вывода.
Схемы классических аксиом (Клини).
(д^р),
(р Щд г))((р д) Щр г)),
Од (Од рЩ д),
^х р Ptixi гДе терм t свободен для х в р,
^х (р q) (р ^х q\ если х не фигурирует в р.
Говорят, что терм t свободен для переменной х в формуле р, если ни х, ни произвольная переменная из t не квантифицированы в р. Как и раньше, через pt/x обозначается формула, полученная из р путем одновременной замены всех вхождений х на t.
Схемы модальных аксиом.
Схема аксиомы знания Т: Lp р. Она соответствует аксиоме Ai в нормальном модальном исчислении высказываний.
Схема аксиомы дистрибутивности К: L(p q) (Lp Lq\ что соответствует Аз в нормальном модальном исчислении высказываний.
Схема Баркан: (Vx)Lp L(4x)p.
Схема аксиомы позитивной интроспекции 4: Lp LLp, или А4 в нормальном модальном исчислении высказываний. Напомним, что нормальная модальная система, пополненная схемами аксиом К. Г и 4, обозначается КТ4 (или, в классической манере, S4).
Схема аксиомы негативной интроспекции 5: Мр LMp, что эквивалентно -^Lp L^Lp. Аналогично, нормальная модальная система, пополненная схемами аксиом К, Г, 4 и 5, обозначается КТ45 (или, в классической манере, S5).
Правила вывода:
Modus ponens: р,р q h q.
Правило универсального обобщения: р Н Vx р.
Правило необходимости: р h Lp (формула р необходимо истинна при условии, что р истинна).
Правило немонотонного вывода: «Нельзя вывести ^р» h Мр. Это правило так называется потому, что система должна сама обеспечивать отказ от своих выводов. Применение данного правила может динамически блокироваться.
Правило немонотонного вывода хорошо высвечивает тройственную роль, предположительно им выполняемую.
Оно позволяет выводить, что некоторое утверждение возможно, т. е. выполнимо с точки зрения логики. Применяя правило, можно вывести формулы вида Мр. Искомое значение для формулы Мр есть «р возможно» или же «р выполнимо». Для осуществимости этого надо, чтобы ^р не было выводимо, что обеспечивается проверкой условия правила немонотонного вывода.
Между тем для эффективной реализации этого приписанного модальному оператору М значения надо, чтобы оно обладало свойствами модальных операторов, выраженных схемами модальных аксиом этой системы.
Правило косвенно позволяет принять как «истинные» всего лишь выполнимые формулы. (Например, если Мр выведено по правилу немонотонного вывода и если в данной системе содержится дополнительная аксиома Мр р, то по Мр можно вывести р). Применение этого способа означает также переход от констатации выполнимости некоего выражения к его утверждению. Данной системе присуща, в некотором смысле, способность воспринимать как истинные формулы с установленной выполнимостью.
Правило придает данной системе немонотонный характер. Например, если эта система позволяла вывести формулу Мр (или вообще формулу q, вытекающую из Мр) и если добавлена новая аксиома, позволяющая в этой системе вывести ^р, то формулу q надо отвергнуть.
Однако правило немонотонного вывода приемлемым, вообще говоря, не является. Оно зацикливает определение отношения выводимости. Его условия (называемые предусловиями) позволяют проверять (до вывода) выполнимость некоего утверждения вместе с уже выведенными утверждениями в этой системе из существующего множества посылок, т. е. правило определяет выводимость в терминах выводимости. Чтобы убедиться в получении противоречия, рассмотрим следующую формулу: Mq ^q. Если мы используем эту формулу как одну посылку, то благодаря правилу немонотонного вывода ^q выводима тогда и только тогда, когда ^q не выводима (понятно, что
10 В.Н. Вагин и др.
-^q выводима по правилу Modus Ponens, когда Mq выводима, a Mq, в свою очередь, выводима по правилу немонотонного вывода, когда не выводима ^q\
Для решения проблемы зацикливания в определении правила немонотонного вывода, а также проблемы характеризации множеств выводимых формул, опишем неподвиснсные (фиксированные) точки отображения системы вывода во множество посылок А. Интуитивно неподвижные точки соответствуют множествам убеждений (предположений), которые могут быть получены применением стандартных правил вывода классической логики и добавлением формул вида Мр, т. е. это такое устойчивое множество формул, что никакую новую (не входящую в рассматриваемое множество) формулу нельзя вывести с соблюдением свойства выполнимости.
Рассмотрим сначала одну из монотонных классических модальных систем КТ, или S4, или S5 и назовем ее S. Определим Ths(A) как множество формул языка £, выводимых в системе S из множества посылок (дополнительных аксиом) A: Ths(A) = {р Е С | A Hs р}, т. е. Ths(A) — множество классических теорем из А.
Возьмем одну из немонотонных модальных систем и определим множество предположений В из С относительно А как Ass^(S) = = {Мд | q Е £ (q не имеет свободных переменных) и ^g ^ B^\Ths(A), т. е. это множество формул, предположительных относительно множества В или множество формул, выполнимых вместе с формулами из множества В, но недоказуемых в модальной системе S с использованием множества посылок А.
Нас интересуют такие множества В формул из £, которые являются неподвиснсными точками оператора NMa(B) = Th(A U Ass^(B)). Предположим, что В — неподвижная точка оператора NMa, т. е. NMa(B) = В. В этом случае В содержит
все посылки А;
все монотонные теоремы для А;
множество формул Мд, которые можно непротиворечиво добавить к В*,
все теоремы из 1), 2) и 3).
Таким образом, неподвижные точки NMa соответствуют множествам формул, интуитивно «санкционированных» посылками из А при предполагаемой интерпретации М, и надо найти решения рекуррентного уравнения В = Th(AU Ass^B)).
Правая часть этого уравнения есть множество всех модальных следствий, выводимых из объединения множества посылок А и формул, предположительных относительно искомого множества В. Множество В является неподвижной точкой этого уравнения и называется Немонот.д. Оно устойчиво и состоит из всех модальных следствий,
выводимых из объединения множества А и множества формул, предположительных относительно этого Немонот.л множества.
Таким образом, решения приведенного выше рекуррентного уравнения дают (неконструктивно определяемые) максимальное множества формул, выводимых с использованием множества посылок Лис сохранением свойства выполнимости. Эти множества содержат все логические следствия из множества посылок А, а также все предположительные относительно них формулы.
Обозначим через TH (А) множество теорем, получаемых в результате применения к множеству посылок А системы немонотонного вывода, причем применение это осуществляется в соответствии со следующим соотношением:
TH (А) = £ U (пНемонот.л),
т. е. берется пересечение всех неподвижных точек (говорят, что неподвижные точки минимальны). Таким образом, статус теорем придается формулам, принадлежащим всем неподвижным точками из немонотонной модальной системы. Это соответствует взгляду, что в случае конфликтной информации логика не должна отдавать предпочтение ни одному из конфликтных заключений. При отсутствии неподвижных точек TH (А) определяется как множество всех формул из С.
Отношение немонотонной выводимости, соответствующее системе немонотонного вывода, обозначается через |~ и определяется следующим образом. Пусть Qi и Q2 — подмножества из L. Имеем Qi |^Q2 тогда и только тогда, когда Q2 Т TH(Qi\ Множество Q2 формул становится с данного момента множеством теорем для множества посылок Qi тогда и только тогда, когда любая формула из Q2 принадлежит всем неподвижным точкам множества Qi-
Проблема в подходе с неподвижной точкой заключается в том, что в общем случае неподвижные точки трудно описать и найти, поскольку их определение неконструктивно. Варьируя порядок применения выводов, имеем ноль, одну или больше неподвижных точек. Приведем несколько примеров, предложенных Мак-Дермоттом и Дойлом.
Пример 8.1.
Ai = { }. Если множество посылок пусто, то имеется одна неподвижная точка. Она содержит все общезначимые формулы и формулы вида {Mq | q не является противоречием}.
Пример 8.2.
А2 = ^Мр pY Имеется одна неподвижная точка, содержащая как Мр. так и р.
Пример 8.3.
Ад = ^Мр р, ^pY Имеется одна неподвижная точка. Она не содержит ни Мр, ни р. Так как А2 С Ад, имеем пример немонотонности. 10*
Пример 8.4.
А4 = {Мр —> -мр Mq ^р}. У этого множества посылок имеются две неподвижные точки Fi и F2. Неподвижная точка Fi содержит Mq и ^р, но не содержит Мр и ^q. a F2 содержит Мр и ^q. но не Mg и ^р. Действительно, если Fi не содержит ^д, то она содержит Мд, откуда по правилу Modus Ponens вытекает, что она содержит ^р. То же самое верно и для F^.
Пример 8.5.
А5 = {Мр ^р}. Неподвижных точек здесь нет. Действительно, если бы неподвижная точка не содержала ^р, то она содержала бы Мр. Следовательно, она содержала бы ^р в противоречии с предположением. Если бы она содержала ^р, то содержала бы и Мр. Поэтому формула Мр ^р была бы выполнимой. Приходим к противоречию, ибо ^р и Мр не могут одновременно фигурировать в одном выполнимом множестве.
Основное достоинство немонотонной логики Мак-Дермотта состоит в методе неподвижной точки, используемом для характеризации устойчивых множеств заключений немонотонной системы, а также в применении модальной логики для формализации пересматриваемых рассуждений.
Впрочем, выбор подходящей для рассмотрения модальной системы остается проблематичным. Желая сопоставить модальному оператору М значение «быть выполнимым», Мак-Дермотт заметил, что наиболее приемлемой модальной логикой является та, которая соответствует немонотонной 85-системе. Однако эта логическая система обнаруживает неожиданное свойство: если А ДдбР, то A Hs5 Р-
Иначе говоря, в немонотонной 85-системе нет теоремы, которая не была бы теоремой в соответствующей монотонной классической системе 85. Мак-Дермотт подверг сомнению полезность немонотонной 85-системы и посоветовал (не приводя абсолютно убедительных аргументов) выбрать для формализации немонотонности немонотонную 84-систему.
В следующем разделе мы покажем, как можно перестроить логику Мак-Дермотта, привлекая моделирование идеально разумного субъекта, интроспективно рассуждающего об исходном множестве предположений. Тогда проблема выбора модальной системы решится удовлетворительно.
8.3. Автоэпистемические логики
Автоэпистемические логики (АЭЛ) имеют своим предметом формализацию интроспективных (т. е. зависящих от текущего состояния знаний агента) и идеально разумных рассуждений об исходном множестве предположений. Вместо формализации понятия непротиворечивости в АЭЛ рассматривается идеальный агент, рассуждающий
о своих собственных убеждения (верах). Предполагается, что такой агент имеет полные интроспективные способности в том смысле, что он знает, что он знает утверждение р всякий раз, когда он знает р, и он знает, что он не знает р всякий раз, когда он не знает р.
Под идеально разумными понимаются утверждения, идеализированные в двух аспектах: из исходного множества предположений можно выводить только ожидаемые логические следствия, и все эти логические следствия надо принять во внимание. Таким образом, для рассуждений нужны неограниченные ресурсы.
Подобные рассуждения немонотонны, ибо множество основных предположений агента может со временем меняться, что чревато противоречиями для некоторых выводов. Такими интроспективными рассуждениями можно моделировать многочисленные виды пересматриваемых рассуждений (в частности, для формализации таких рассуждений применяются модальные логики знания и убеждения, см. разд. 8.1).
Столнекер и особенно Мур развили основанный на модальной логике метод для формализации немонотонных, интроспективных и идеально разумных рассуждений.
Разработанную ими АЭЛ можно рассматривать как результат реконструкции немонотонной логики Мак-Дермотта, состоящий в замене парадигм выводимости и выполнимости на формализацию интроспективных способностей рассуждений.
В этом контексте модальный оператор М и двойственный ему оператор L формализуют соответственно «обратное не предполагается» и «предполагается» (вместо выполнимого и выводимого). Модальные операторы в АЭЛ позволяют выразить соотношение между тем, что предполагается и тем, что истинно в мире. Например, мы можем выразить, что если Петров — студент, и мы не предполагаем, что он не юн, тогда он действительно юн, т. е. Ст(Петров) & ^Ь^Юн(Петров)
Юн(Петров). Синтаксически это представление эквивалентно представлению в немонотонной модальной логике Мак-Дермотта.
Рассмотрим язык и семантику АЭЛ. Язык Ср получается ограничением модального языка Мак-Дермотта С на свою пропозициональную компоненту и использованием модального оператора L (двойственного М) для построения модальных формул. Формула вида Lq интерпретируется следующим образом: «Предполагается, что q подтверждается».
Назовем теорией множество формул языка Ср, автоэпистеми- ческой теорией — подмножество Т из Ср, представляющее какое-то полное и состоятельное множество предположений, которое идеально разумный агент может построить на основе множества А исходных предположений. Сначала уточним, каковы семантические свойства, которыми должно обладать подобное множество формул Т.
Введем некоторые определения (Мур).
Интерпретация высказываний автоэпистемической теории Т приписывает значения истинности формулам множества Т. Приписывание подчиняется классическим правилам оценки сложных формул логики высказываний. Оно придает произвольное значение истинности пропозициональным константам и формулам вида Lp («предполагается р»).
Модель высказываний автоэпистемической теории Т — это интерпретация высказываний из Т, в которой подтверждаются все формулы теории Т.
Автоэпистемическая интерпретация автоэпистемической теории Т — это интерпретация высказываний из Г, для которой всякая формула вида Lp подтверждается тогда и только тогда, когда р Е Т. Таким образом, при автоэпистемической интерпретации формула Lp подтверждается в том и только в том случае, если р принадлежит множеству Т предположений данного агента.
Автоэпистемическая модель автоэпистемической теории Т — это автоэпистемическая интерпретация, в которой подтверждается всякая формула из Т.
На эти семантические рассмотрения дадим понятие полноты и состоятельности (вместо выполнимости), приспособленные к авто- эпистемичности.
Автоэпистемическая теория Т семантически полна тогда и только тогда, когда она содержит все формулы, подтверждающиеся во всех автоэпистемических моделях Т. (Интуитивно: Т полна тогда и только тогда, когда Т содержит все формулы, которые данному агенту семантически позволено вывести в предположении истинности всех его гипотез.)
Автоэпистемическая теория Т состоятельна относительно множества А основных предположений тогда и только тогда, когда любая автоэпистемическая интерпретация Г, являющаяся моделью А, является также и моделью теории Т. (Интуитивно: это позволяет гарантировать, что предположения некоего агента, составляющие автоэпистемическую теорию, истинны тогда и только тогда, когда истинны основные предположения из множества А.)
Зададим синтаксическую характеризацию автоэпистемическим теориям Т, обладающим семантическими свойствами полноты и состоятельности относительно множества А исходных предположений. Ввиду трудности конструктивной характеризации множеств выводимых формул немонотонной системы дадим неконструктивное определение автоэпистемических теорий Г, таких, что их полные
и состоятельные множества предположений идеально разумный агент в состоянии построить на основе множества А исходных предположений.
Будем говорить, что автоэпистемическая теория Т устойчива, если Т есть множество замкнутых формул из Ср, удовлетворяющее следующим условиям:
если {pi...,Pn} ^ Т и {pi...,Pn} Ь 9? гДе — отношение выводимости в логике высказываний, то q Е Т;
если р Е Т, то Lp Е Т;
если р ф Т, то ^Lp Е Т.
Первое правило утверждает, что агент предполагает все логические следствия (логическое всеведение). Второе правило гарантирует, что формула «предполагается р» принадлежит множеству Т предположений этого агента, если р — предположение этого агента. Третье правило утверждает, что формула «р не предполагается» фигурирует во множестве предположений того же агента, если формулы р там нет.
Автоэпистемическая теория Т называется теорией, основанной на множестве посылок А (предположений, дополнительных аксиом), если все формулы из Т находятся среди общезначимых следствий из множества A U ^Lp | р Е Т} U ^Lp | р ^ Т}.
Справедливы следующие утверждения (Мур).
Автоэпистемическая теория Т семантически полна тогда и только тогда, когда она устойчива.
Автоэпистемическая теория Т состоятельна относительно множества А основных посылок (предположений) тогда и только тогда, когда она основана на А.
Наконец, назовем устойчивым расширением множества исходных предположений А множество предположений Т, которое устойчиво и основано на А. Устойчивые расширения являются максимальными состоятельными множествами предположений, которые идеально разумный агент в состоянии вообразить на основе исходного множества предположений.
При анализе немонотонной АЭЛ напомним, что Мак-Дермотт обнаружил одну особенность, связанную с тем, что каждая теорема из немонотонной 85-системы является теоремой из монотонной системы S5. Этот факт можно объяснить, привлекая АЭЛ. МакДермотт рассматривает неподвижные точки Т системы вывода своей немонотонной логики, приложенной к множеству А предположений (дополнительных аксиом). Эти точки можно сравнить с максимальными состоятельными множествами предположений идеально разумного агента. Определение Мак-Дермотта, ограниченное на пропозициональную компоненту, в сущности, эквивалентно следующему: Т
[ Гл. 8
является неподвижной точкой относительно А тогда и только тогда, когда Т есть множество модальных следствий (в системе М (КТ), S4 или S5) из Л U ^Lp | р ф Т}.
Правило немонотонного вывода позволяет вывести формулу вида Мр, если формула ^р не принадлежит рассматриваемой неподвижной точке Т. Иначе говоря, опираясь на отношение двойственности между модальными операторами М и Д можно с помощью этого правила осуществить вывод формулы вида ^Lp, если формула р не принадлежит рассматриваемой неподвижной точке. Но тогда в логике МакДермотта неподвижная точка состоит из всех модальных следствий из объединения множества формул -^Lp с указанной характеризацией и множества А дополнительных аксиом (предположений).
Напротив, устойчивое расширение Т в АЭЛ определяется следующим образом: Т является устойчивым расширением А тогда и только тогда, когда Т есть множество общезначимых следствий из A U ^Lp | р Е Г} U {^Ьр | р ф Г}.
Легко заметить, что в определении неподвижной точки, данном Мак-Дермоттом, в совокупности аксиом нет (!) множества ^Lp\p Е Е TY Мур описывает природу этой неполноты следующим образом: «При автоэпистемическом видении модального оператора L мыслящий субъект, использующий немонотонную логику Мак-Дермотта, всеведущ относительно всего им не предполагаемого, но может полностью игнорировать им предполагаемое». В самом деле, он не включает в число аксиом формулы вида «Я предполагаю, что р подтверждается», которые квалифицируют положительные предположения агента.
Рассмотрим положение о том, что любая теорема немонотонной 85-системы является теоремой в монотонной системе S5. Это можно объяснить следующим образом. Немонотонная 85-система содержит схему аксиомы знания, т. е. Lp р. Для автоэпистемического анализа немонотонности эта схема кажется слишком обременительной, так как она утверждает: «Все, что предполагается, истинно» (а не «То, что известно — верно», как раньше). Это было бы приемлемо в логике знания, но не в логике убеждения (веры).
Если мы хотим построить немонотонную систему, то использование логики знания представляется неподходящим. Все выведенное не имеет больше статуса общезначимого в классическом смысле, ибо есть возможность ревизии (пересмотра). Это кажется трудно совместимым со схемой аксиомы, требующей истинности всего предполагаемого. Поскольку ничто не позволяет выделить в системе МакДермотта общезначимые утверждения и утверждения со статусом всего лишь выполнимых формул, эту схему аксиом, видимо, надо исключить.
В то же время, как считает Мур, немонотонная 85-система содержит также схему аксиомы Мр LMp, применяя которую совместно
со схемой аксиомы знания, можно обосновать предположение в любой формуле.
Следовательно^ нет такой формулы, которая отсутствовала бы во всех неподвижных точках множества вспомогательных аксиом, получаемого с помощью немонотонной 85-системы. В частности, не существует теоремы вида ^Lp (эквивалентной М^р) ни в какой теории, базирующейся на немонотонной 85-системе, ибо такая теорема имела бы обоснование, построенное с помощью правила немонотонного вывода из логики Мак-Дермотта. Мур толкует этот факт следующим образом: «Идеально разумный субъект, который предполагается не совершающим ошибок, склонен предполагать все таким образом, что внешний наблюдатель не может сделать никаких выводов относительно того, что этот субъект не предполагает».
Предлагается и еще один путь: не отвергать схему аксиомы Мр LMp, чтобы тем самым получить немонотонную 84-систему, а отбросить схему аксиомы знания Lpр, что приведет к
немонотонной системе, основанной на модальной слабой 85-системе (иногда обозначаемой как К45).
Впрочем, Мур показал, что система вывода, содержащая произвольное подмножество схем модальных аксиом, присущих слабой 85- системе, дает всегда одни и те же устойчивые расширения (независимо от выбора указанного подмножества). Таким образом, АЭЛ может обойтись без явного упоминания схем модальных аксиом.
Как и в немонотонной логике Мак-Дермотта, в АЭЛ имеются множества посылок (предположений), дающих 0; 1 или много расширений. Например, если А = {Ер}, то нет способа получения р из А всякий раз, когда добавляются модальные формулы. Поэтому ^Lp должно содержаться в каждом расширении. Но так как это противоречит А, то отсюда вытекает, что в этом случае нет расширения.
Возвращаясь к нашему примеру (с. 293), имеем
Ст(Петров) & ^Т^Юн(Петров) Юн(Петров),
Ст(Петров).
Так как нет способа вывести ^Юн(Петров) из посылок, то ^Т^Юн(Петров) содержится в расширении. Отсюда имеем одно расширение, содержащее Юн(Петров).
Если мы добавим еще две посылки:
Иметь_детей(Петров) & ^Т^Юн(Петров) ^Юн(Петров),
Иметь_детей(Петров),
то получим два расширения одно из которых содержит формулу Юн(Петров), а другое — ее отрицание (^Юн(Петров)).
[ Гл. 8
Описанная нами семантика АЭЛ имеет то достоинство, что, используя ее, можно характеризовать предположения агента, независимо от того, разумен он или нет. Между тем данная семантика оказалась неудобной для использования, будучи неконструктивной в том смысле, что в ней нет правил, позволяющих оценивать предположения агента о сложных формулах, исходя из его предположений и/или непредположений о составных частях формул. Это положение вещей вполне приемлемо для случая неразумного агента, ибо нельзя априори установить никакой связи между его предположениями. Напротив, предположения разумного агента подчиняются неким отношениям, из которых можно попытаться извлечь пользу.
С этой целью Мур предложил альтернативную семантическую характеризацию своей АЭЛ. Эта новая семантика, основанная на понятии возможных миров, позволяет построить конечные модели для автоэпистемических теорий и дает возможность доказать существование полных и состоятельных относительно некоторого множества посылок автоэпистемических теорий, что было бы трудно осуществить с помощью первоначально указанной семантической характеризации.
Основным результатом, на котором базируется эта новая характеризация, является следующее утверждение: Т есть множество формул, подтверждающихся во всех мирах 85-полной структуры (т. е. структуры относительно системы S5, для которой любой возможный мир доступен из другого, неважно какого, возможного мира) тогда и только тогда, когда Т является устойчивой автоэпиетемичеекой теорией.
Таким образом, любая автоэпистемическая интерпретация I устойчивой автоэпиетемичеекой теории Т может характеризоваться структурой St типа S5 и некой оценкой V. Структура возможных миров специфицирует предположения идеально разумного агента, тогда как оценка определяет то, что действительно подтверждается в реальном мире.
Точнее, автоэпистемическая интерпретация I автоэпистемиче- ской теории Т есть пара I =< St, V >, где
St — 85-полная структура (представленная множеством своих возможных миров, каждый из которых символизирован множеством подтверждающихся позитивных и негативных пропозициональных констант);
V — оценка истинности в реальном мире для пропозициональных констант из Ср.
Автоэпистемическая теория Т является множеством всех формул, истинных во всех мирах из St.
Рассмотрим пример автоэпиетемичеекой интерпретации: I = <St,V> с St = {{q,p}, {q, ^р}} и V = {р, qY 85-полная структура St составлена из двух возможных миров. В первом
формулы q и р истинны. Во втором истинны формулы q и ^р. Оценка V указывает, что р и q истинны в реальном мире. I — автоэпистемическая интерпретация автоэпистемической теории Г, содержащей все формулы, истинные во всех мирах структуры St из I. В данном случае Т сводится к единственной формуле q.
I называется автоэпистемической моделью теории Т, составленной из множества формул, истинных во всех мирах из St, когда любая формула из Т подтверждается в I.
Второй результат дает средство проверки, является ли автоэпистемическая интерпретация I для Т автоэпистемической моделью для Т.
Если I =< St, V > — автоэпистемическая интерпретация для Т, то I является автоэпистемической моделью для Т тогда и только тогда, когда V — элемент из St, что означает выполнимость оценки V вместе с данной оценкой, задаваемой в одном из возможных миров структуры St (т. е., реальный мир — один из миров, совместимых с предположениями данного субъекта).
В нашем примере I — автоэпистемическая модель для Т, ибо оценка V реального мира выполнима вместе с оценкой, заданной в первом возможном мире структуры St.
Эти два результата интересны тем, что они индуцируют метод проверки принадлежности формулы к устойчивому расширению исходного множества посылок.
Напомним, что устойчивое расширение Т множества А основных предположений (посылок) есть устойчивое множество предположений, основанное на А.
В силу первого результата автоэпистемическая теория Т устойчива, если ее можно представить 85-полной структурой возможных миров. Чтобы автоэпистемическая теория Т была устойчивым расширением, нужно, чтобы Т была основана на множестве А исходных предположений (следовательно, чтобы Т была состоятельна относительно А). Иначе говоря, любая автоэпистемическая модель посылок А должна также быть и моделью для Т. В силу второго результата оценка реального мира каждой из этих автоэпистемических моделей посылок должна быть выполнимой вместе с оценкой в одном из возможных миров структуры St для автоэпистемической интерпретации.
Мур предложил разрешающую процедуру для автоэпистемической логики. Приведем один простой ее вариант.
Пусть А — множество посылок.
Строим все оценки, возможные для пропозициональных констант, появляющихся в А. Они будут характеризовать 85-полные структуры возможных миров языка для А.
Выбираем структуры возможных миров, для которых любая формула из А подтверждается во всех мирах.
[ Гл. 8
Для каждой из этих структур St строим все автоэпистемические интерпретации < St, V >, соответствующие всем оценкам V пропозициональных констант, которые появляются в А.
Проверяем для каждой автоэпистемической интерпретации < St, V > выполнение или невыполнение утверждения: «любая формула из А истинна в < St, V > тогда и только тогда, когда V принадлежит St». В случае выполнения St характеризует некое устойчивое расширение для А.
Чтобы проверить принадлежность данной формулы устойчивому расширению, представленному посредством St, выясняем, подтверждается ли эта формула в St.
Пример 8.6.
Пусть множество исходных предположений А = ^Lp q}. Оно содержит только одну формулу, означающую «Если я не предполагаю р, то q подтверждается». Докажем, что
идеально разумный агент, имеющий множество исходных предположений А, состоящее из одного элемента, получит устойчивое расширение Т, содержащее высказывание q, но не р;
не может существовать ни устойчивого расширения, содержащего р, но не q, ни устойчивого расширения, содержащего одновременно р и q.
Предположим, что какое-то устойчивое расширение Т для А содержит q, но не р. В этом случае 85-полной структурой, связанной с множеством предположений Т, будет St = = {Ц рУ Ц-Ц}-
Эта структура отражает два возможных мира: в первом подтверждаются q и р, во втором — q и ^р. Истинные формулы во всех мирах этой структуры соответствуют формулам, предполагаемым данным агентом. Таким образом, Т — устойчивая автоэпистемическая теория.
Рассмотрим все автоэпистемические интерпретации для Т. Они составлены из структуры возможных миров, отражающей предположения данного агента, и из произвольной оценки истинности V в реальном мире. В рассматриваемом языке имеются лишь две пропозициональные константы; значит, оценок — четыре: {р, Q^ {р? ^У {^Р? q^ {^Р? ^Ъ Из четырех автоэпистемических интерпретаций I =< St, V > только первая и третья превращают в истинное основное предположение ^Lp q. Так как оценка V для каждой из этих интерпретаций (1 и 3) совпадает с оценкой возможного мира данной структуры, то теория Т основана на множестве посылок А, и, следовательно, является устойчивым расширением А.
Предположим, что Т содержит р, но не q. Структура возможных миров будет тогда St = {{р, q^ {р, ^Д}- Рассмотрим оценку V = = {^р, Д. Она служит основой автоэпистемической интерпретации I =< St, V > теории Т, подтверждающей А. Так как V не соответствует оценке какого бы то ни было мира этой структуры, то Т не может быть устойчивым расширением А.
Предположим, что Т содержит р и q. Единственно возможным является мир {р, Д. Так как существует автоэпистемическая интерпретация, подтверждающая А и заданная этим возможным миром и оценкой V = ^р, ^q}, для которой V не соответствует единственному возможному миру данной структуры, то Т не может быть устойчивым расширением А.
Области применения семантики АЭЛ весьма разнообразны. Она позволяет характеризовать заключения, ожидаемые от системы, способной к совершенной интроспекции. Это особенно полезно, когда запрашивают БД или БЗ об их собственных пределах знаний.
Между тем эффективное применение АЭЛ ограничено возможностями языка высказываний и громоздкостью разрешающей процедуры.
Логики умолчаний
Логики умолчаний, введенные и развитые Рейтером для формализации рассуждений, являющихся всего лишь выполнимыми, во многих отношениях аналогичны логикам, описанным в предыдущих главах. В частности, Рейтер интерпретирует умолчания точно так же, как Мак-Дермотт и Дойл, т. е. утверждение «Л есть обычно (как правило, типично) В» интерпретируется как «Если х есть А и непротиворечиво предположить, что х есть В, тогда х есть В». Однако логики Рейтера отличаются от модальных подходов одним важным аспектом: вместо расширения логического языка и представления умолчаний в языке, умолчания используются как дополнительные правила вывода, индуцируя так называемые расширения классических логических теорий. Умолчания определяют, каким образом логическая БЗ может быть расширена на множество предположений (убеждений), содержащее формулы, логически невыводимые в классическом смысле из БЗ.
При неполной информации мы вынуждены получать всего лишь правдоподобные предположительные заключения. Часто имеются утверждения, которые в большинстве случаев истинны, но допускают исключения. Логика первого порядка не является подходящей для выражения исключений, так как она требует явного упоминания всех исключений, что на практике невозможно выполнить
[ Гл. 8
Если известно, например, что обычно студенты юны и Петров — студент, то выводимо, что Петров юн. Но не все студенты юны, имеются студенты, которым около или за 30 лет (предполагая, что юность длится лет до 23). Естественно сделать общее заключение, что Петров юн, если нет никакой другой дополнительной информации. Это и есть рассуждение с умолчанием.
Логики умолчаний позволяют формализовать такие рассуждения а : М3
в виде правил вывода, называемых умолчаниями: . Интуи-
7
тивный смысл этого правила: если мы убеждены в а и если 3 не противоречит тому, в чем мы убеждены (не противоречит тому, что известно), то мы убеждаемся иву.
И таким образом, правило «студенты обычно юны» выразимо в СтЫ : МЮнЫ
виде: , х, т. е. если х — студент и если это не про-
Юн^)
тиворечит тому, что х юн, то выводимо «х юн». Общее правило с исключениями гласит, что обычно (как правило, типично) студенты юны. Это правило умолчания позволяет обрабатывать исключения без их предварительной идентификации.
Система логики умолчаний представляется теорией с умолчаниями^ состоящей из некоторого множества особо выделенных формул и правил вывода. В ней содержатся формулы логики предикатов, представляющие основную информацию о прикладной системе, обрабатываемую в соответствии с имеющимися аксиомами, а также имеются правила умолчаний, отражающие исключения.
Для такой системы существует несколько (ноль или больше) множеств выводимых предположений. Эти множества представляют различные картины мира, которые можно вообразить, исходя из теории с умолчаниями.
а(х) : М31(хР ..., 7(х)а(х) : М31(хР ..., 7(х)Опять обозначим через С язык предикатов первого порядка. Правило умолчания (сокращенно: умолчание) D — это выражение вида
а(х) : М31(хР ..., 7(х)
а(х) : М31(хР ..., 7(х)
, где а(х), А(х),..., /Зт(х) и 7(х) — фор
мулы языка £, свободные переменные у которых выбраны среди х = = Д1...,хп); а(х) называется предпосылкой умолчания D^ Д(х) — обоснованием умолчания D (г = 1,ш); у(х) — следствием умолчания D; М — некий символ метаязыка (например, «непротиворечиво»).
Умолчание D называется замкнутым тогда и только тогда, когда q(x), 31 (х),..., Зт^ и у(х) не содержат свободных переменных. При этом можно использовать более простые обозначения a. Зъ • • • •> Рт и 7 соответственно.
Свободные переменные умолчания считаются V-квантифицирован- ными. Область действия этих кванторов простирается на все члены умолчания. Незамкнутое умолчание называется открытым. Оно
представляет общую схему вывода. Его конкретизацией является замкнутое умолчание, полученное заменой всех свободных переменных открытого умолчания на константы языка £ (с соблюдением неявного закона об области действия свободных переменных умолчания).
Теория с умолчаниями А — это пара (D,F), где D — множество умолчаний, F — множество замкнутых формул из £. Она называется замкнутой тогда и только тогда, когда все умолчания из D замкнуты.
Теория с умолчаниями А = (D^F) подразумевает некоторое (нулевое или большее) число множеств предположений, которые выводимы с использованием множества формул F. и удовлетворяют свойству выполнимости. Эти множества предположений называются расширениями данной теории с умолчаниями. Расширения теории с умолчаниями явно определены здесь лишь для замкнутых теорий. Открытую теорию можно преобразовать эффективным образом в замкнутую, заменяя каждое открытое умолчание множеством всех его конкретизаций, получаемых посредством применения открытых умолчаний к универсуму Эрбрана данной теории. Используя это преобразование, полученные для замкнутых теорий с умолчаниями результаты можно распространить на открытые теории (когда они конечны). Заметим, что теории, содержащие функциональные символы ненулевой арности, имеют бесконечную эрбранову область.
Прежде чем приступить к формализации, охарактеризуем интуитивно свойства, которыми должно обладать расширение замкнутой теории с умолчаниями. Расширение — это подмножество основных сведений системы, включающее все выводимое (по правилам классической логики и/или логики умолчаний).
Пусть X — подмножество формул из £, Thc(X) — множество замкнутых формул, общезначимо выводимых из X по классическим правилам вывода из £: Th^X^ = {w | w Е £^ш замкнута и X Н w}.
Пусть А = (D^F) — замкнутая теория с умолчаниями, S — подмножество замкнутых формул в £. Обозначим через Г(5") наименьшее подмножество в £, удовлетворяющее следующим трем условиям:
F С V^S\
Th^r(S)) = Г(5),
если ^ЩХеЛЕЛ Е D, а Е Щ) и ^ S, то 7 е Г(5). 7
Множество формул Е С £ является расширением для А тогда и только тогда, когда Г(Е) = Е (т. е. Е — неподвижная точка оператора Г).
Первое условие гарантирует то, что известно о мире, содержится в каждом расширении. Второе условие говорит, что убеждения должны быть дедуктивно замкнуты, и третье подразумевает тот эффект, что имеет место столько умолчаний, сколько их возможно относительно самого расширения. Кроме того, условие минимальности делает
невозможным «нефундаментальные» убеждения, т. е. неозначенные убеждения.
Расширение Е можно охарактеризовать так. Строим последовательность формул Е^ полагая Eq = F и ЕД) = Th^) U U {у | Е D и a е Et и ^Д,..., ^Рт ф Е} для г =
7
= 0,1, 2,... Множество Е есть расширение для А тогда и только тогда, когда Е = |J Ei.
2 = 0
Теория с умолчаниями иногда позволяет вывести несколько расширений из одного множества посылок. Если предпосылка а всегда
истинна, то ее можно опустить.
: МА : MP : MQ 1: МА : MP : MQ 1Пример 8.7. (Мак-Дермотт, Дойл).
: МА : MP : MQ 1
: МА : MP : MQ 1
Пусть А = (D. ЕР где F = { },т.е. 0иР =
Эта теория обладает расширением Е = Th^^P^ ^5"}).
: МАА "ДТ j: МАА "ДТ jи F = 0. Эта теория не имеети F = 0. Эта теория не имеетПример 8.8.
: МАА "ДТ j
: МАА "ДТ j
и F = 0. Эта теория не имеет
и F = 0. Эта теория не имеет
Пусть А = (D, FP где D = расширений.
Пример 8.9. (Мак-Дермотт, Дойл).
Пусть А = (D^FP где D =* ^д j" и F = 0. У этой
теории два расширения: Е^ = Thc(^A^) и Е2 = Thc(^B^P
Пример 8.10. (Рейтер).
гт а(Л:МЗтРД) *.МА : М^АА
Пусть А = (D.EP где D =? Д -—, — I и
( ЗхРрЕ) АJ
F = 0. Расширений два: Ei = ТНхР^АУ) и Е2 = Th^^A, Зх РД)}). Например, первым умолчанием из D можно формализовать
«Большинство профессоров университета имеет степень доктора»:
Проф_унив(х) : М(3у Конкр(у, доктор) & Имеет (ж, г/))Зу Конкр(у, доктор) & ИмеетД, у)
Как показывает пример 8.8, некоторые теории с умолчаниями не обладают расширениями. Существование расширений гарантировано, если следствие и обоснование одного и того же умолчания совпадают. Такие теории называются нормальными. Они состоят из нормальных
„ а(х) : М/3(х) умолчании р^ ).
Кроме интересного свойства допускать хотя бы одно расширение, нормальная теория с умолчаниями обладает свойством полумонотонности: если увеличить множество умолчаний, то полученная теория допускает расширение, включающее какое-то расширение исходной
теории. Практически важное следствие этого свойства состоит в возможности построения такой теории доказательств, в которой использованные умолчания проявляются локальным образом.
Пусть D' и D — два множества замкнутых и нормальных умолчаний, таких, что Dr С D. Пусть Е' — расширение для замкнутой и нормальной теории △' = {D^F) и пусть также Д = (D^F\ Тогда Д имеет расширение Е такое, что Er С Е. При добавлении нового умолчания к теории, если имеет место полу монотонность, все, что было выведено в старой теории, останется выводимым в теории с новым умолчанием. Отсюда нет необходимости проверять предыдущие выводы при применении нового умолчания.
Можно ли построить теорию доказательств для логик умолчаний, в частности, для замкнутых нормальных теорий? Сформулируем вопрос точнее. Даны замкнутая нормальная теория Д и замкнутая формула / из £. Существует ли метод проверки наличия для Д расширения Е, содержащего /?
Для получения ответа Рейтер определил доказательство в теории с умолчаниями следующим образом. Пусть Д = (D^ F) — замкнутая нормальная теория и / — замкнутая формула из L. Конечная последовательность D^ D^ ... D^ конечных подмножеств из D есть доказательство для / в Д тогда и только тогда, когда
1)Уи{ЩУо)}Н/,
F U {KC(D^ h KT^Dt-i) для г = 1, к,
Dk = 0,
FU^KC(Di) | 0 ^ г ^ /Д выполнимо, где КС (Di) — конъюнкция следствий и КТ (Di) — конъюнкция предпосылок умолчаний из Di.
Итак, доказательство есть последовательность подмножеств умолчаний. Его можно интерпретировать следующим образом. Первое подмножество (D^) выбирается пустым. Последовательно строятся D^-^..., Fi, Fq. Множество основных аксиом с добавленной к нему конъюнкцией следствий из всех умолчаний Fq должно обеспечивать доказательство / классическим образом. Из построения подмножества Di-i вытекает, что множество F (с добавленной к нему конъюнкцией следствий из Di) должно позволять доказывать классическим образом предпосылки из F^_i и, следовательно, гарантировать применимость умолчаний из F^-i. Глобальная применимость всех умолчаний устанавливается проверкой выполнимости объединения F и конъюнкций следствий всех использованных умолчаний.
Заметим, что в определении не говорится, как строить подмножества Di и не приводится разрешающей процедуры для используемого отношения доказательства (из классической теории предикатов первого порядка). Более того, оно предполагает проверку выполнимости
[ Гл. 8
некой формулы из £, тогда как множество замкнутых выполнимых формул из С не является рекурсивно перечислимым.
Метод Рейтера сочетается со свойством полноты. Пусть / — замкнутая формула из L. Нормальная теория А (замкнутая и выполнимая) обладает расширением Е (содержащим /) тогда и только тогда, когда / обладает доказательством в А.
К сожалению, во всей общности проблема проверки существования расширения с данной замкнутой формулой не полуразрешима (т. е. неразрешима). Это не столь неожиданно. Тем не менее, в некоторых случаях она поддается практическому решению (особенно когда ограничиваются рамками высказываний).
Нормальные умолчания выглядят достаточно привлекательными при представлении многих форм рассуждений. Свойства формальных систем, составляющих нормальные теории, особенно выигрышны в силу следующих обстоятельств. Следствие и обоснование нормального умолчания совпадают. Следовательно, нормальные умолчания неприменимы, когда ложность их следствий доказана. Эти умолчания не могут вводить невыполнимости, опровергать обоснования из других ранее примененных нормальных и своих собственных умолчаний. Итак, нормальные теории полумонотонны, всегда обладают хотя бы одним расширением и представляют довольно простую теорию доказательств.
Между тем в ходе применения нормальных умолчаний могут возникнуть неприятные осложнения. В частности, взаимодействие различных нормальных правил может приводить к нежелательным заключениям. Поэтому иногда необходимо блокировать транзитивность между умолчаниями. Например, рассмотрим нормальную теорию А = (D^F), где D содержит два нормальных умолчания:
«обычно студенты университета являются взрослыми», или в Ст(х) : МВз(т)
символьном _ , х;
Вз(х) ’
«обычно на работу берут взрослых», или в символьном ви- Вз(х) : МР(х) _
де: ——- и где F — множество из одного элемента
{Ст(Петров)}.
Правила из D позволяют по умолчанию вывести, что студента университета взяли на работу. Это нежелательный вывод. Осложнение предотвращается с помощью третьего нормального умолчания: «обычно студентов не берут на работу». Таким образом, получается нормальная теория А' = {D\ F\ где D' — множество о f Сф) : МВз Д) ВзД) : МР^ Сф) : М^Р^ ]
У ол а i Вз(х) ’ Р^ *J
Для данного студента множество D' может дать два расширения
теории Д' (соответствующих различной занятости студента): Thy{ Ст (Петров), Вз(Петров), ^Р(Петров)}) и ТД/;({Ст(Петров), Вз(Петров), Р(Петров)}).
Тем не менее, разумно потребовать блокирования транзитивности между двумя первыми правилами из D. Следовало бы также
выделить априори расширение, соответствующее ситуации, когда студента не принимают на работу. Это можно осуществить модификацией второго правила, чтобы оно не могло быть применено в исключительном случае — «взрослый является студентом».
п(Ст(х) : МВз(т)
Итак, для теории А = (D ^FY где D есть <, .,
( Вз(х)
Ст(х) : М^РЫ ВзЫ : M(Pto & -СтЫ) 1
——, ——>, получаем желаемое
расширение ТДь({Ст(Петров), Вз(Петров), ^Р(Петров)}).
Третье умолчание D" полунормальное, т. е. имеет вид а(х) : М(Р(х) 7(х))
Цх)'
Таким образом, полунормальное умолчание явно управляется дополнительным условием в обосновании. Теория с полунормальными умолчаниями не обязательно обладает расширением. Она теряет некоторые достоинства нормальных теорий, в частности, полумонотон
ность.
Системы сетевого и объектного представлений часто позволяют выразить наследование свойств с исключениями и встроить механизмы вывода, связанные с этими методами. Поведение таких систем редко бывает корректным и полностью охарактеризованным. Соответствующие методы довольно плохо освоены. Если наследственные свойства между классами и подклассами можно относительно легко охарактеризовать в классической логике, то исследование исключений требует определенных ухищрений. Логика умолчаний очерчивает естественные рамки для формализации систем представления знаний и рассуждений с исключениями.
Между тем прямое обращение к теории с умолчаниями (в частности, к нормальной) простым не является. Наследственная система обеспечивает передачу свойств по транзитивности. Когда к системе добавляются исключения, транзитивность свойств должна допускать возможность блокирования.
В литературе предложены различные формализмы систем представления с механизмами наследования свойств.
Можно использовать полунормальные умолчания, как это сделали Этерингтон и Рейтер. Исключения для наследования свойств явно перечислены в умолчаниях. Этерингтон определил подкласс по- лунормальных умолчаний (связанных отношением зависимости), для которых соответствующие полунормальные теории всегда обладают
хотя бы одним расширением. Он предложил процедуру эффективного построения полунормальных теорий.
Можно использовать нормальные умолчания с неявным порядком, подчиненным иерархии моделируемой структуры, как было предложено в работах Турецкого. Можно не упоминать явно исключения в умолчаниях.
Можно использовать таксономические теории с умолчаниями (не являющиеся ни нормальными, ни полунормальными). Они обладают единственными расширениями. Подробнее об этом можно узнать из работ Фройдевакса.
В заключение приведем пример.
Пример 8.11.Пример 8.11.Нормальные умолчания:Нормальные умолчания:di =^2 =^з =d4 =di =^2 =^з =d4 =Ст(х) : Юн з;, хобычно студенты юны;Юн(т)Юн(х) : ОдД) ————как правила, юные люди одиноки;ОдД)ОдД) : ЮнД) , ходинокие люди юны;ЮнД)СтД) & РодД) : ЖенД) V СожД)————обычно студенты, име- Жен Д) V СожД)JСт(х) : Юн з;, хобычно студенты юны;Юн(т)Юн(х) : ОдД) ————как правила, юные люди одиноки;ОдД)ОдД) : ЮнД) , ходинокие люди юны;ЮнД)СтД) & РодД) : ЖенД) V СожД)————обычно студенты, име- Жен Д) V СожД)Jющие детей, женаты или являются сожителями;Сож(х): Юн(х) d^ = сожители юны.ЮнД)Формулы:ющие детей, женаты или являются сожителями;Сож(х): Юн(х) d^ = сожители юны.ЮнД)Формулы:Fi = УжДОдД) V ^ЖенД));F2 = УтДОдД) V ^СожД));F3 = УтДСожД) V ^ЖенД)).Fi = УжДОдД) V ^ЖенД));F2 = УтДОдД) V ^СожД));F3 = УтДСожД) V ^ЖенД)).
Пример 8.11.
Пример 8.11.
Нормальные умолчания:
Нормальные умолчания:
di =
^2 =
^з =
d4 =
di =
^2 =
^з =
d4 =
Ст(х) : Юн з;
, хобычно студенты юны;
Юн(т)
Юн(х) : ОдД) ————как правила, юные люди одиноки;
ОдД)
ОдД) : ЮнД) , ходинокие люди юны;
ЮнД)
СтД) & РодД) : ЖенД) V СожД)
————обычно студенты, име- Жен Д) V СожД)J
Ст(х) : Юн з;
, хобычно студенты юны;
Юн(т)
Юн(х) : ОдД) ————как правила, юные люди одиноки;
ОдД)
ОдД) : ЮнД) , ходинокие люди юны;
ЮнД)
СтД) & РодД) : ЖенД) V СожД)
————обычно студенты, име- Жен Д) V СожД)J
ющие детей, женаты или являются сожителями;
Сож(х): Юн(х) d^ = сожители юны.
ЮнД)
Формулы:
ющие детей, женаты или являются сожителями;
Сож(х): Юн(х) d^ = сожители юны.
ЮнД)
Формулы:
Fi = УжДОдД) V ^ЖенД));
F2 = УтДОдД) V ^СожД));
F3 = УтДСожД) V ^ЖенД)).
Fi = УжДОдД) V ^ЖенД));
F2 = УтДОдД) V ^СожД));
F3 = УтДСожД) V ^ЖенД)).
Дадим несколько примеров запросов. Формула / является ответом на запрос к БЗ, представленной с помощью D = {сД... ,6/5} и F = = {Fi, F2, F3}, если существует, по крайней мере, одно расширение F для (F, F) такое, что / Е Е.
Если Мария — студентка, то каков ее семейный статус? Добавим к F формулу F4 = Ст(Мария). Тогда Ai = {D^F U F4) имеет расширение Fi. Fi содержит: Ст(Мария), Юн(Мария), Од(Мария), ^Жен (Мария). ^Сож(Мария), т. е. Мария — студентка, юна и одинока.
Если Мария — студентка и замужем, то каков ее статус? К F добавляем F4 = Ст(Мария) и F5 = Жен(Мария). А2 = = (D^F U {F4,F5}) имеет расширение F2, содержащее: Ст(Мария), Юн(Мария), Жен(Мария), ^Сож(Мария), ^Од(Мария). Здесь имеет место немонотонность: добавление F5 приводит к расширению F2, в котором блокируется Од(Мария). Точнее имеем свойство полумо-
нотонности нормальных умолчаний, которое ограничивает необходимость ревизии старых доказательств.
Если Мария юна, каков ее статус? Добавляем Е^ = Юн(Мария). Для Ад = (D, FUF^) имеем расширение Ед, содержащее: Юн(Мария), Од(Мария), ^Жен(Мария), ^Сож(Мария), но неизвестно, студентка она или нет.
Мария — студентка и, может быть, имеет детей. Каков ее статус? ., _х7: Род(Мария)
Добавляем г 4 = Ст( Мария) и два умолчания: d^ = ;— и
Род(Мария)
: -.Род(Мария)
(I7 = ——————. «Может быть» говорит о существовании двух
^Род(Мария)
типов расширений: она может иметь и может не иметь детей. А4 = = ^D U {б/б, 6/7}, F U {ЕД} дает три расширения: Е4, Е4 и Е4. Каждое из них содержит: Ст(Мария), Юн(Мария). Кроме этого, Е4 содержит: Род(Мария), Жен(Мария) V Сож(Мария), ^Од(Мария); Е4 содержит: Род(Мария), Од(Мария), ЮКен (Мария). ^Сож(Мария); Е4 содержит: ^Род(Мария), Од(Мария), ЮКен (Мария). ^Сож(Мария). Мы не знаем точно, одинока ли Мария или нет, лишь знаем как о возможности ее быть одинокой (Е4 и Е4), так и не быть (Е4). Заметим, что эта ситуация отличается от предыдущей, в которой наше знание о студентке или не студентке Марии не было представлено. Здесь факты Ст(Мария) и Юн(Мария) необходимы^ так как они присутствуют во всех трех расширениях, в то время как факт Од(Мария) возмоснсен, т. е. он содержится не во всех расширениях.
Теперь модифицируем умолчания di 4- d^ путем использования так называемых «свободных» умолчаний или нормальных умолчаний без предпосылок.
,: СтД) —> ЮнД)
СтД) —> ЮнД) ’
, _ : ЮнД) ОдД).
Юн Д) —> ОдД) ’
, _ : ОдД) ЮнД).
ОдД) —> ЮнД) ’
,: (СтД) & РодД)) —> (ЖенД) V СожД))
(СтД) & РодД)) —> (ЖенД) V СожД)) ’
,: Сож (ж) —> Юн(х)
Сож (ж) —> Юн(х)
Тогда D' = ^d^ 4- с/5}. Умолчания di и d^ имеют разный смысл: di выражает знание по обстоятельствам, a d^ — постоянное знание. Умолчание di говорит о том, что когда речь идет о студенте, то предполагаем, что он априори юн. В случае d} с самого начала известно,
[ Гл. 8
что любой человек, если он — студент, априорно юн.
Имеем запрос: Мария не юна. Каков ее статус? К F добавляем Fj = = -и Юн (Мария). В случае с (D. FUF7) ничто не может быть выведено, кроме теорем, полученных из F. Единственное, что известно, это то, что Мария не юна. Во втором случае для А5 = ^D\ FUF7) расширение F5 содержит: ^Юн(Мария). Ст(Мария) Юн(Мария) и по контрапозиции Жл(Мария). Аналогично, ^Од(Мария), ^Сож(Мария). Таким образом, Мария — не студентка, не одинока и не сожительница. Насколько правомерно применять контрапозицию?
Запрос: я не могу точно вспомнить, говорила ли Мария мне о том, что она — студентка или одинока? Добавляем F^ = = Ст(Мария) \/Од(Мария). В случае с (F, FuFg) мы не имеем ничего касающегося Марии, в то время как при ^D\ F U Fg) расширение Eq содержит: Ст(Мария) Юн(Мария), Од(Мария) Юн(Мария) и Ст(Мария) V Од(Мария), и следовательно, Юн(Мария).
Если Мария — студентка и имеет детей, то каков ее статус? Добавляем F4 = Ст(Мария) и Fg = Род(Мария). А7 = {D^F U {F4 U U Fg}) допускает два расширения: Е7 и Е7. Каждое из них содержит: Ст(Мария), Юн(Мария), Род(Мария) (используем di). Кроме того, Е7 содержит: Жен(Мария) V Сож(Мария), ^Од(Мария) (полученное из (/4). Е7 содержит: Од(Мария), ^Жен(Мария), ^Сож(Мария). В данном случае такая двойственность статуса Марии здесь нежелательна. Поэтому предпочтительнее выбрать F7, поскольку информация, содержащаяся в 6/4, более специфична, чем та, которая получена из di и d2- Таким образом, в рассуждениях здравого смысла 6/4, касающееся более конкретного случая, ведет себя как исключение по отношению к общим правилам di и d^. Отсюда ему можно дать приоритет. Но кто будет устанавливать эти предпочтения?
Выходом из создавшегося положения может быть введение по- „Юн(ж) : -,Род(ж) & Од(ж)
лунормальных умолчании типа dA = ————, что
ОдД)
означает: «Быть родителем есть исключение из факта, что юная персона должна быть априори одинокой». Пусть D,f = (F\{d2}) U и{< Тогда Ay = ^D", Fu{F4, Fg})} имеет единственное расширение F7, соответствующее здравому смыслу. Заметим, что ^D'^F U F4) допускает то же самое расширение Fi, что и Ai.
Главный недостаток такого представления умолчаний заключается в немо дальности написания правил умолчания, т. е. добавление новых исключений может потребовать добавления новых формул для обоснования полунормальных умолчаний и, следовательно, модификации уже существующих правил.
Для сохранения модульности с каждым умолчанием Д будем связывать предикат утверждения R^x^ означающий, что умолчание Д
может быть применено к х. Этих предикатов столько, сколько умолчаний. Для нашего примера имеем
СтД) : ЮнД) & Fi Д)
Юн(ж) ’
ЮнД) : ОдД) & R2 (х)
ОдД)’
Од(х) : ЮнД) & Нз^
ЮнД)’
(СтД) & РодД)) : ((ЖенД) V СожД)) & R^^
ЖенД) V СожД)’
СожД) : ЮнД) & Нь^
ЮнД)
Для того, чтобы дать предпочтение d^ над с^Д введем умолчание d^', которое блокирует d^. Умолчание d^' выражает тот факт, что быть студентом и родителем не допускает вывода быть одиноким, если он был юным, т. е.
СтД) & РодД) : -^R2(x) k Re(x)6 = ^Д) ’
Имеем D'" = ^dy 4- d'6"}. Умолчание d'6" играет здесь управляющую роль, указывая, что d'^ является исключением для d^ . В этом случае △"' = ^D'"^ U {F^Fg} имеет единственное расширение Е^\ которое содержит Ст(Мария), Юн(Мария), Род(Мария), Жен(Мария) V Сож(Мария), ^Од(Мария), ^R2 (Мария) с сохранением модульности.
Установим соотношение между логикой умолчаний и АЭЛ. На первый взгляд может показаться, что логика умолчаний менее выразительна, нежели АЭЛ, поскольку в ней нет возможности выводить умолчания из других формул, так как они не являются частью языка. Тем не менее, как это ни удивительно, Коно лиге показал, что АЭЛ и логика умолчаний эквивалентны. Эквивалентность здесь понимается в том смысле, что расширения теории с умолчаниями являются точно частью теории первого порядка, т. е. не содержащими оператор L формулами некоторого класса расширений АЭЛ, так называемых строго основанных расширений. Понятие строгой основанности гарантирует, что каждая замкнутая формула / имеет вывод, который не зависит от Г/.
Коно лиге показал, что каждая автоэпистемическая теория может быть эквивалентно представлена в так называемой нормальной форме, в которой формулы имеют вид: -^La V L^i V ... V Lpn V 7, где a, Pi,..., рп,д не содержат оператора L (^La и/или Lp^ могут быть опущены).
Такой вид формулы представляется как умолчание
I —'/31, • • •, —'Рп
и обратно (оператор L может быть опущен). Если предпосылка -^La опущена, то предполагается, что она всегда истинна.
Например, если в АЭЛ мы имели
Ст(Петров) & ^Т^Юн(Петров) Юн(Петров),
Ст(Петров):Юн(Петров) то в нормальном умолчании—цУфПетров)—‘
Пусть А — множество замкнутых формул АЭЛ в нормальной форме и пусть Е — расширение для А. Пусть Аг — множество замкнутых формул ~^La V L0i V ... V L3nV для А такое, что ни одно из /31,..., (Зп не содержится в Е. Расширение Е строго основано на А тогда и только тогда, когда Е = {р | A' U LA' U -^LE Hss р}, где LA' — множество формул ^Lp\p Е А^ -^LE — ^Lp\p ^ Е^ a Hss обозначает логическое следствие с ограничением модальных индексов для устойчивых множеств (SS — stable sets).
Конолиге доказал следующую теорему.
Теорема 8.7. Для любого множества замкнутых формул А авто- эпистемической логики имеется эффективно конструктивная теория с умолчаниями (D^ Е) и обратно, для каждой теории с умолчаниями (D^F) имеется эффективно конструктивное множество замкнутых формул А автоэпистемической логики такое, что Е является расширением теории с умолчаниями тогда и только тогда, когда оно является подмножеством теории первого порядка для расширений, строго основанных на А.
Результат этой теоремы, доказанной Конолиге, удивителен. Мур понимал свою логику как формализацию автоэпистемических рассуждений, но не как формализацию рассуждений по умолчанию. Эквивалентность этих логик предполагает, что формы немонотонных рассуждений хотя и различны, но как автоэпистемические рассуждения, так и рассуждения по умолчанию не обязательно требуют различных формализаций.
8.5. Системы поддержки истинности
К сожалению, немонотонные логики в их общей форме не являются даже полуразрешимыми, как это имеет место в классической логике предикатов первого порядка. Но это ни в коей мере не означает, что мы должны отказаться от создания автоматических решателей проблем для немонотонного случая. Тот же Рейтер в своей логике умолчаний предложил процедуру доказательства для нормальных
умолчаний (см. разд. 8.4). Этерингтон дал недетерминированную процедуру конструирования расширений произвольных конечных теорий с умолчаниями. Конечность здесь означает то, что число переменных, констант, предикатных символов и умолчаний конечно, к тому же в его процедуре отсутствуют и функции. Г. Бревка в своей книге (см. Литературный комментарий к главе 8) описал модальный решатель для умолчаний, который может быть интерпретирован и для авто- эпистемической логики. Здесь также на язык первого порядка был наложен ряд ограничений, связанных с замкнутыми формулами, с конечным числом констант и отсутствием функций.
В данном разделе мы остановимся на системах поддержки истинности (Truth Maintenance Systems — TMS) и на их двух разновидностях — системах поддержки истинности, основанных на обоснованиях, и системах поддержки истинности, основанных на предположениях.
TMS используются для сохранения логической целостности заключений системы вывода. Положенный в основу таких систем метод поддержки истинности реализован в рамках автономной системы (как это сделали Дойл и ДеКлир), которая работает совместно с решателем проблем и поддерживает вывод в единственном активном пространстве. Принцип функционирования системы состоит в следующем. С каждым выведенным заключением связывается некоторая качественная характеристика, представляющая собой список обоснований этого заключения. Каждое обоснование является списком тех заключений, исходя из наличия и/или отсутствия которых в соответствии с некоторым правилом было непосредственно выведено данное заключение. Возможность учета в правилах и обоснованиях отсутствия заключений позволяет осуществить построение немонотонных рассуждений. Все заключения, выведенные решателем, либо принадлежат активному пространству (миру), либо находятся вне его. Активному пространству принадлежат все исходные данные, а также все заключения, имеющие хотя бы одно обоснование в активном пространстве. Будем называть такое обоснование действительным. В ходе вывода решатель может делать предположения, т. е. вводить в активное пространство заключения, не имеющие действительных обоснований.
При выводе некоторого заключения его характеристика расширяется за счет обоснования, представляемого правилом вывода. Здесь возможен следующий случай. Пусть правило подтвердило некоторое заключение, находящееся в настоящий момент вне активного пространства. В результате заключение получило действительную поддержку и вышло в активное пространство, что может привести к тому, что некоторые обоснования для следствий из этого заключения станут действительными, т. е. тоже перейдут в активное пространство. Если в активном пространстве вывелось противоречие, то это означает, что
лежащее в его основе множество предположений является противоречивым^ несовместным. Чтобы выявить это множество, выполняется процедура возврата по зависимостям. В результате одно из предположений удаляется из активного пространства. Несовместимое множество предположений запоминается, чтобы в будущем не повторилась данная ситуация, и все следствия из удаленного предположения также удаляются из активного пространства.
Интеллектуальные системы, поддерживающие пересматриваемые рассуждения, должны строго обосновывать каждый вывод заключения и затем в свете появившихся новых убеждений пересматривать поддержку такого заключения. Один из способов решения этой проблемы заключается в пересмотре алгоритма бектрекинга. Исторически бектрекинг был катализатором создания систем поддержки истинности. Бектрекинг является систематическим методом исследования всех альтернатив точек решения в проблемах, основу которых составляет поиск. Однако существенным недостатком классического алгоритма бектрекинга является то, что он систематически (и вслепую) возвращается назад по дереву решений из тупиковых состояний и ищет следующую альтернативу для выбора. Такой бектрекинг иногда называют хронологическим бектрекингом. Естественно, такая систематическая проверка всех альтернатив поиска решений неэффективна, требует много времени и для больших пространств поиска часто бесполезна.
Для избежания избыточных вычислений было бы желательно в процессе поиска возвратиться сразу в ту точку поиска, где имеется конфликтная ситуация, пропуская промежуточные точки, которые вели бы к ней в процессе систематического осмотра. Такой бектрекинг называется зависимо-направленным (dependency-directed backtracking).
Рассмотрим пример для немонотонных рассуждений. Нам требуется обнаружить некое утверждение р, которое непосредственно не выводимо. Однако имеется правдоподобное предположение щ которое, если оно истинно, будет поддерживать р. Итак, если q предполагается истинным, то р выводимо. Продолжая наше рассуждение и основываясь на р, мы делаем заключения о г и s. Но мы в процессе рассуждений нашли заключение о t и к, не прибегая к поддержке р, г и s. Наконец, приходим к выводу, что наше раннее предположение q ложно. Что делать в данном случае? Хронологический бектрекинг будет перепроверять наши шаги рассуждений, идя в обратном порядке относительно того, в котором они были сделаны. Зависимо-направленный бектрекинг сразу будет идти обратно к источнику противоречия, а именно к первому предположению q. После этого отменяются р, г и s. Конечно, мы можем проверить, можно ли вывести г и s независимо от р и q. так как их поддержка может быть осуществлена из других
источников. Наконец, так как t и и были выведены независимо от р, г и s, нам не нужно их пересматривать.
Таким образом, для применения зависимо-направленного бектрекинга в системе рассуждений мы должны
связать каждое произведенное заключение с его обоснованием. Обоснование должно содержать все факты, правила и предположения, использованные для вывода этого заключения;
обеспечить механизм нахождения ложного предположения с обоснованием, ведущим к противоречию;
отменить ложное предположение;
создать механизм для отслеживания отменяемого предположения и отменить любое заключение, использующее в рамках своих обоснований отменяемое предположение.
Конечно, отменяемые заключения необязательно должны быть ложными, они могут быть перепроверены, если появятся какие-либо обоснования.
Мы представим два типа систем поддержки истинности с зависимо-направленным бектрекингом. Первой подобной системой является система поддержки истинности, основанная на обосновании.
Системы поддержки истинности, основанные на обоснованиях
Одна из самых ранних систем поддержки истинности была разработана Дойлом и называлась системой поддержки истинности, основанной на обосновании (Justification-Based Truth Maintenance System — JTMS). JTMS была автономной системой, связанной с решателем проблем, и снабжающей решатель информацией о том, каким утверждениям следует верить, основываясь на текущих обоснованиях.
JTMS имеет три главных операции: inspection (инспектирование), modification (модификация) и updating (обновление). С помощью первой операции система инспектирует сеть обоснований, получая от решателя проблем запросы типа: «Следует ли верить утверждению р?», «Почему следует верить утверждению р?», «Какие предположения лежат в основе утверждения р?».
Назначение второй операции заключается в модификации сети зависимостей информацией от решателя проблем. Модификации включают добавление новых утверждений, добавление или удаление посылок, добавление противоречий и обоснование убеждения (веры) в данное утверждение.
С помощью третьей операции происходит обновление сети зависимостей. Операция обновления перевычисляет метки всех утверждений методом, не противоречащим текущим обоснованиям.
Приведем пример построения сети зависимостей для следующих утверждений.
Если кто-то — прилежный студент и это не противоречит тому, что он хорошо учится, то он действительно хорошо учится: \/х(Ст_прил(х) & МУч_хор(т) —> Уч_хор(т)).
Лентяи учатся плохо: \/?/(Лен(?/)^Уч_хор(?/)).
Петров — прилежный студент: Ст_прил (Петров).
Петров — лентяй: Лен(Петров).
Введем графическую нотацию для обоснований. Обоснование посылки (факта) показано на рис. 8.1.
Рис. 8.1Рис. 8.1Обоснование вида < TVi,..., Nj|A^-+i,..., Nm
Рис. 8.1
Рис. 8.1
N >, где N^..., Nj — IN-вершины, Nj^i,...,
Nm — OUT-вершины, a N — следствие (консеквент) обоснования, представлено на рис. 8.2. Вершины могут рассматриваться как уни-
кальные имена для формул, ассоциированных с ними. Интуитивно
Рис. 8.2Рис. 8.2обоснования могут читаться так: «Если мы убеждены (IN) в вершинах TVi,..., Nj а в вершины Nj^i,..., Nm не верим (ОПТ), то в вершину N следует верить (IN)».
Рис. 8.2
Рис. 8.2
Обоснования без OUT-вершин называются монотонными обоснованиями. Если как ОПТ-, так и IN- вершины отсутствуют, обоснование называется обоснованием посылок.
Разметка сети зависимостей должна обладать следующими свойствами:
вершина размечена IN тогда и
только тогда, когда имеется, по крайней мере, одно истинное обоснование для нее. Отсюда обоснование общезначимо тогда и только тогда, когда, находясь в состоянии убеждения (веры), все ее IN-вершины размечены IN, а все ее OUT-вершины — OUT;
для каждой вершины, отмеченной IN, существует нециклический аргумент, т. е. вершина не может обосновывать саму себя.
Сеть обоснования убеждения, что Петров хорошо учится, показана на рис. 8.3. Из рисунка видно, что для поддержки этого заключения на вентиль нужно подать убеждение, что Петров — прилежный студент, и взять отрицание от убеждения ^Уч_хор(Петров).
Стирил (Петров)Стирил (Петров)'Учхор(Петров) /бит'Учхор(Петров) /битУч хор(Петров)^Уч хор(Петров)^
Стирил (Петров)
Стирил (Петров)
'Учхор(Петров) /бит
'Учхор(Петров) /бит
Уч хор(Петров)^
Уч хор(Петров)^
Рис. 8.3
Имея такую информацию от данной сети обоснований, решатель проблем убежден, что посылка Уч_хор (Петров) истинна, и так как нет других доводов, то нет и никакого противоречия в том, что прилежные студенты хорошо учатся.
Теперь предположим, что добавлена посылка обоснования Лен(Петров), т. е. соответствующая ей вершина будет размечена как IN. Это добавление приводит к заключению, что Петров учится плохо (^Уч_хор(Петров)), и убеждение Уч_хор(Петров) больше не поддерживается. Обоснование этой новой ситуации отражено на рис. 8.4.
Рис. 8.4
Как видно из рис. 8.3 и 8.4, JTMS представлена сетью зависимостей, которая рассматривает только отношения между атомарными утверждениями и их отрицаниями, а затем организует их в отношение поддержки того или иного убеждения.
Следует заметить, что JTMS имеет дело только с зависимостями между убеждениями и не касается содержимого самих убеждений, т. е. убеждения можно просто заменить идентификаторами типа ni, П2,..., которым соответствуют вершины в сети.
Применяя операции модификации и обновления, сеть обоснований может перестраиваться, меняются также обоснования путем возврата по самой сети с помощью зависимо-направленного бектрекинга. Имеются также более современные системы, в которых JTMS и решатель проблем объединены в единое представление (см. литературный комментарий к главе 8).
Системы поддержки истинности, основанные напредположениях
Вторым типом систем являются системы поддержки истинности, основанные на предположениях (Assumption-Based Truth Maintenance Systems — ATMS). Термин «основанный на предположениях» был введен ДеКлиром, хотя идеи, связанные с предположениями, выдвигались также Мартинсом и Шапиро.
Как и в случае с TMS, ATMS реализована в виде автономной подсистемы, которая может работать совместно с различными типами решателей, ориентированных на логику предикатов первого порядка. Допускается расширение метода на случай решателя проблем, использующего немонотонные правила вывода.
[ Гл. 8
Рассмотрим суть метода поддержки истинности, основанного на предположениях. С выводимыми заключениями, как и в TMS, сопоставляются качественные характеристики, образованные из списков обоснований, но в ATMS каждое обоснование содержит не только список посылок правила, исходя из которого было получено заключение, но и список предположений, принятие которых позволило его вывести, т. е. контекст пространства, в котором выведено заключение. Основные операции ATMS заключаются в построении обоснований заключений, исходя из обоснований посылок применяемых правил, а также в анализе обоснований противоречий. Вывод противоречия говорит о несовместности предположений, в рамках которых сделан вывод. При появлении противоречивых множеств предположений происходит просмотр обоснований всех имеющихся к данному моменту заключений и удаление тех контекстов, в которые входят противоречивые множества.
ATMS позволяет строить интерпретации для выводимых решателем вариантов решений. Возможны различные способы связи решателя с ATMS для реализации различных стратегий вывода решений. К достоинствам данного метода относится то, что он сохраняет все выведенные промежуточные результаты, что значительно повышает эффективность поиска решений с возвратами. Метод предоставляет возможность одновременной работы с различными альтернативными решениями, например с помощью метаправил. Принципы работы с обоснованиями являются наиболее простыми среди методов данной группы: обработка обоснований сводится к операциям над множествами. Метод допускает наиболее эффективную реализацию, обеспечивает простую настройку на различные стратегии решения задач и типы решателей, предоставляет большие возможности по управлению функционированием ATMS.
Контекст ATMS — это множество предположений, сформированное в соответствии с предположениями о непротиворечивости окружения, которое состоит из всех вершин, выведенных из этих предположений.
Характеристическое окружение для контекста — множество предположений, из которых может быть получена каждая вершина контекста. Каждый контекст имеет, по крайней мере, одно характеристическое окружение, и когда предположения не имеют никаких обоснований, обычно контекст имеет только одно характеристическое окружение.
В данной системе, в отличие от JTMS, метки являются множествами посылок (предположений) и строятся самой ATMS. ДеКлир различает вершины-посылки, которые выполняются как универсально квантифицированные формулы, и вершины, которые могут быть предположениями, сделанными решателем проблем, и которые позже могут быть отменены.
Преимущество ATMS по сранению с JTMS заключается в добавочной гибкости, которую ATMS обеспечивает при рассмотрении многих возможных состояний убеждения (веры). Посредством разметки убеждений множеством посылок, при котором они выполняются, имеем не одно состояние убеждения (в JTMS все вершины, отмеченные IN), а ряд возможных состояний, т. е. множество всех подмножеств поддерживающих посылок. Создание различных множеств убеждений или возможных миров допускает сравнение результатов, полученных от различных выборов посылок, существование различных решений, обнаружение противоречий и их разрешение.
Целью вычислений ATMS является нахождение минимального множества посылок, достаточных для поддержки каждой вершины сети. Метка минимальна, если никакое окружение метки не является надмножеством других окружений, т. е. для любой метки с окружением Е не должно существовать другой метки с окружением Е' такой, что Е' С Е. На примере, взятом у Мартинса, покажем распространение и комбинирование меток.
Пример 8.12.
Пусть мы имеем ATMS-сеть, представленную на рис. 8.5. В этой сети Hi, П2, пз и П4 являются посылками (предположениями), и предполагается, что они истинны. Сеть зависимостей отражает различные связи. Так, посылки пх и П2 служат для поддержки ng, которая в свою очередь поддерживает Пу, поддерживаемую также пз. Посылки пз и П4 поддерживают Пб, поддерживающую Пу (заметим, что пз поглощает пз & П4, т. е. П3 V пз & П4 = пз).
Рис. 8.5
Так как каждое непротиворечивое окружение характеризует контекст, то если имеется п предположений, то контекстов будет 2П. Рис. 8.6 демонстрирует решетку окружений для предположений (пх, П2, Пз, П4). Вершины на решетке представляют собой окружения. Просматривая решетку снизу вверх, можно найти все надмножества окружений, а идя сверху вниз — все подмножества окружений.
Решетка подмножеств посылок дает способ визуализации пространства комбинаций посылок, и если некоторая посылка «подозрительна» (т. е. убеждение в ее истинности ставится под сомнение), с помощью решетки можно определить ее связь с другими подмножествами поддержки посылок. Так, например, вершина П5 на рис. 8.5 будет поддержана всеми множествами посылок, которые находятся наверху (ni, П2) в решетке рис. 8.6.
О
Рис. 8.6
ATMS удаляет противоречия путем вычеркивания из вершин тех множеств посылок, которые оказались противоречивыми. Например, надо пересмотреть поддержку рассуждений для случая, когда вершина П5 (рис. 8.5) оказалась противоречивой. Поскольку метка для 77,5 есть (ni, П2), то, естественно, это множество посылок определяется как противоречивое. При обнаружении этого противоречия все множества посылок, находящиеся в отношении надмножества к (ni, П2) на рис. 8.6, размечаются как противоречивые (на рис. 8.6 они обведены овалами) и удаляются из сети зависимостей. В этой ситуации одна из возможных разметок, поддерживающая вершину 77,7 рис. 8.5, должна быть удалена.
Кроме рассмотренных систем поддержки истинности имеется еще ряд других. Так, в TMS, основанной на логике (Logic-Based TMS — LTMS), утверждения представлены клозами, которые могут быть использованы для вывода истинностных значений других утверждений. Система LTMS очень похожа на JTMS. Кроме того, имеется также система рассуждений, работающая с многократными убеждениями (Multiple Belief Reasoner — MBR), аналогичная ATMS, за исключением того, что решатель проблем и TMS объединены в одну систему. Подробнее о различных видах систем поддержки истинности можно прочитать в Литературном комментарии к главе 8.
Существует достаточно
света для тех, кто хочет видеть, и достаточно мрака для тех, кто не хочет.
Б. Паскаль
Глава 9
НЕМОНОТОННЫЕ ЛОГИКИ В ЛОГИЧЕСКОМПРОГРАММИРОВАНИИ
Формализмы немонотонного вывода обеспечивают изящную семантику для логического программирования (в частности, объясняя отрицание как неудачу). Они позволяют понять, как логическое программирование может быть использовано для формализации и решения некоторых задач в области искусственного интеллекта. В то же время теория немонотонного вывода получает практическое применение благодаря существованию процедур логического программирования.
В логическом программировании истина понимается в автоэпи- стемическом смысле: истина — это доказуемость на основании знаний агента. Возможна ситуация, когда не удается доказать ни само утверждение, ни его отрицание, находясь на данном уровне знаний, тогда истинностное значение этого утверждения не определено. Следовательно, не выполняется закон исключенного третьего: q\/ ^q (это правило при необходимости требуется явно указывать в программах).
Процедурная природа логического программирования требует, чтобы каждое заключение имело поддержку в виде некоторого определенного правила, тело которого используется для вычисления значения истины, а его головой является данное заключение. Этим логическое программирование отличается от анализа ситуаций, где применимы альтернативные правила. То есть заключения должны быть процедурно обоснованы известными фактами, и запрещается переходить к заключениям, к которым не было явного обращения.
Пролог широко известен как язык логического программирования. Он успешно применяется для решения некоторых задач искусственного интеллекта, но, к сожалению, страдает рядом недостатков:
11 В.Н. Вагин и др.
допустимы отрицательные заключения, но они выводятся только по умолчанию (или неявно), то есть в случае, когда позитивное заключение не достигается за конечное число шагов (основная форма Предположения о замкнутости мира);
используемый вид отрицания может работать с неполной информацией, предполагая ложным все, что не оказывается истинным за конечное число шагов. Но остаются бесконечные вычисления даже для конечных программ.
Рассмотрим простой пример, иллюстрирующий п.1. Предположим, что необходимо запрограммировать следующее утверждение: «Школьной автобус может пересекать железную дорогу при условии, что нет приближающегося поезда». Как известно, в Прологе для выражения отрицания используется оператор not, реализованный правилами
not(P) :- Р, !, fail.
not(P).
Тогда приведенное предложение будет представляться правилом:
пересекать :- по1(поезд).
Но в этом случае разрешается пересекать дорогу, когда нет информации ни о присутствии, ни об отсутствии поезда. Здесь лучше было бы использовать явное отрицание (^) пересекать :- ^поезд.
Это правило утверждает: « Автобус может пересекать железную дорогу, если водитель уверен, что нет приближающегося поезда».
Перед нами стоит следующая задача: «Найти такую семантику, которая подходящим образом определяла бы смысл программ». В качестве такой семантики мы рассмотрим фундированную семантику для расширенных логических программ (Well Founded Semantics for extended logic programs — WFSX). Эта семантика использует два вида отрицания: явное и неявное. В результате возникают противоречия, для которых требуется специальная обработка. Например, разрешается принимать не все предположения по умолчанию, а только те, которые не приводят к противоречию.
Преимуществами фундированной семантики для расширенных логических программ являются: выразительность, возможность обработки циклов, характеризация и объединение различных форм вывода. WFSX обладает следующими структурными свойствами:
простота: используется всего два итеративных оператора фиксированной точки без привлечения трехзначной логики;
кумулятивность: добавление лемм не изменяет семантики программы;
рациональность: семантика не изменяется при применении отрицания к недоказуемому утверждению;
релевантность: нисходящее вычисление истинностного значения литеры использует только граф вызовов, расположенный ниже этой литеры.
С помощью фундированной семантики WFSX можно представлять вывод по неполной информации, абдуктивный вывод, вывод с умолчаниями; выполнять обработку противоречий. Этой семантике соответствуют такие формы представления знаний, как правила, правила с умолчаниями, исключения и др.
Семантика логических программ:краткий обзор
Нормальные логические программы
В этом разделе мы рассмотрим
язык нормальных логических программ, определения;
ранние подходы к семантике нормальных программ и их свойства;
устойчивые модели и фундированную семантику как новые и важные семантические базисы.
Язык нормальных логических программ. Введем ряд обозначений и определений:
А — алфавит языка Lang — это конечное или бесконечное множество констант, предикатных и функциональных символов и счетное множество различных символов переменных;
Терм над А определяется рекурсивно: переменная; константа; выражение вида /(Н,..., tn), где / — функциональный символ A, ti — термы;
Атом над А — это выражение вида р(С, ...,tn), где р — предикатный символ A, ti — термы;
Литера — это атом А или его отрицание not А. Литеры по умолчанию (defaults) имеют вид not А.
Терм называется фундаментальным, если он не содержит переменных. Множество всех фундаментальных термов (атомов) над А называется универсумом (базой) Эрбрана Н.
Нормальная логическая программа — это множество правил вида: Н Li,... ,Ln (п ^ 0), где Н — атом и Li — литеры, символ «,» обозначает конъюнкцию. Правила вида «7/ <—» записываются как Н.
Нормальная логическая программа определена тогда и только тогда, когда ее правила не содержат литер по умолчанию.
Фундаментальная версия нормальной логической программы Р — это (может быть, бесконечное) множество фундаментальных правил, полученных из Р заменой всеми возможными способами каждой переменной элементом из универсума Эрбрана.
В дальнейшем будем считать, что алфавит А содержит все символы рассматриваемой программы Р и ничего больше. Определим теперь двузначные и трехзначные эрбрановские модели и интерпретации нормальных логических программ.
Определение 9.1. (Двузначная интерпретация). Двузначная интерпретация I нормальной логической программы Р — это любое подмножество базы Эрбрана Н программы Р.
Любая двузначная интерпретация может рассматриваться как множество Т U notF (здесь not{«i,..., an} = {not ai,.. .,not ап}), где T — множество атомов, истинных в I, и F = Н \Т - множество атомов, ложных в I. Любой атом либо истинен, либо ложен, т. е. Н Т U F. Интерпретации программы Р могут рассматриваться как «возможные миры», представляющие возможные состояния наших знаний о смысле Р. Так как эти знания могут быть неполными, возникает необходимость описывать неопределенные атомы.
Определение 9.2. (Трехзначная интерпретация). Под трехзначной интерпретацией I программы Р понимается множество ТЕ not F. где Т и F — непересекающиеся подмножества эрбрановской базы Н программы Р.Т — часть Г, содержащая все фундаментальные атомы, истинные в Г, a F — все фундаментальные атомы, ложные в Г; истинностное значение оставшихся атомов не определено. Очевидно, двузначные интерпретации — частный случай трехзначных.
Утверждение 9.1. Любая интерпретация I = Т U not F может быть эквивалентно представлена функцией I: Н V, где V = = {0,1/2,1}, определяемой следующим образом:
{
О, если not А Е I
1, если А Е I
1 /2 — в противном случае
Для определения модели нам потребуется функция оценки истинности.
Определение 9.3. (Оценка истинности). Если 7" — интерпретация, то оценка истинности Iсоответствующая Г, это функция, которая определяется рекурсивно:
I : С V где С — множество всех формул языка.
Если А — фундаментальный атом, то 1(A) = ДА).
Если S — формула, то I(notS) = 1—Ц8\
Если S и V — формулы, то
— Ц(Д У)) = mines'), 1(E)) (здесь запись (Д V) представляет КОНЪЮНКЦИЮ 8&УУ
— I(V S) = 1, если I(S) ^ ЦУД в противном случае I(V S) = = 0.
Определение 9-4- (Трехзначная модель). Трехзначная интерпретация I называется трехзначной моделью программы Р тогда и только тогда, когда для каждого фундаментального примера правила программы Н^ В выполняется: ЦП В) = 1.
Двузначная модель определяется аналогично трехзначной. В дальнейшем нам потребуются определения упорядочений интерпретаций и моделей.
Определение 9.5. (Классическое упорядочение). Если I и J — две интерпретации, то мы говорим, что I ^ J , если КД) ^ J(A) для любого фундаментального атома А. Если I — набор интерпретаций, то интерпретация I Е I называется минимальной в /, если не существует интерпретации J Е I ; J ^ I ^ J У I. Интерпретация I называется наименьшей в /, если I < J для любой интерпретации J Е I. Модель М программы Р минимальная (наименьшая), если она минимальная (наименьшая) среди всех моделей Р.
Определение 9.6. (Упорядочение по Фиттингу). Если I и J -— две интерпретации, то мы говорим, что Ip ^ К тогда и только тогда, когда I С J. Если I — набор интерпретаций, то интерпретация I Е I называется F-минимальной в /, если не существует интерпретации J Е I '. Jf^I^J^P Интерпретация I называется F-наименьшей в Е если Д С J для любой интерпретации J Е I. Модель М программы Р F-минимальная (Е-наименьшая), если она Е-минимальная (Е- наименьшая) среди всех моделей Р.
Заметим, что классическое упорядочение соответствует количеству истинных атомов, а упорядочение по Фиттингу — количеству информации (определенности).
Семантика. Прежде всего попытаемся ответить на вопрос: «Зачем необходимо определять точный смысл или семантику логических программ?» Декларативная семантика, которую мы и будем изучать, обеспечивает математически точное определение смысла программы, не зависящее от процесса ее выполнения. Процедурная семантика — это процедурный механизм, способный давать ответы на запросы. Корректность такого механизма определяется сравнением его работы со спецификацией, полученной по декларативной семантике. Без декларативной семантики пользователю потребовалось бы знание всех процедурных аспектов, чтобы писать корректные программы. Приведем примеры определения декларативной семантики.
Семантика наименьшей модели определяется с помощью минимизации позитивной информации, т. е. она ограничивается фактами, явно вытекающими из программы. Все остальное предполагается ложным (Предположение о замкнутости мира).
Пример 9.1.
Предположим, программа имеет вид
способный_математик(Х) физик(Х)
физик(Эйн штейн)
президент(Сорес)
Для этой программы существует несколько двузначных моделей. Наибольшая из них предполагает, что Эйнштейн и Сорес одновременно президенты, физики и способные математики. Вряд ли такое описание можно считать корректным. Естественнее считать, что отсутствие дополнительной информации говорит о том, что можно допустить противное. В этом случае мы получим наименьшую двузначную модель:
{ физик (Эйнштейнф способный _ математик (Эйнштейн),президент ( Сорес)^.
Так как единственная наименьшая модель существует для любой определенной программы, то можно определить семантику наименьшей модели для таких программ: атом А истинен в программе Р тогда и только тогда, когда он принадлежит наименьшей модели Р (в противном случае значение А ложно). Недостатком такой семантики является то, что она не может применяться к программам с отрицанием по умолчанию. Действительно, пусть Р = {р not q^ , тогда существуют две минимальные модели: {р} и {q}, и, следовательно, не существует наименьшей модели.
Пополнение (completion) предикатов Кларка было предложено для определения семантики нормальных логических программ с отрицанием по умолчанию. В основе определения семантики лежала следующая идея: «Мы часто используем слово «если», когда имеем в виду «тогда и только тогда»». Например, программа, описывающая натуральные числа, имеет вид
нат(О)
нат(след(Х)) нат(Х)
Отсюда не следует, что только 0, 1,... — натуральные числа. Вероятно, имелось в виду следующее:
нат(Х) о X = 0V (ЗУ : X = след (У) & нат(У)).
Семантика пополнения программы Р определяется двузначной моделью пополнения для Р. Эта семантика также имеет некоторые недостатки. Так, пополнение непротиворечивых программ может быть противоречиво. Например, для программы {р not р} пополнением будет программа {р О not р}.
Семантика Фиттинга для нормальных логических программ представляет собой трехзначное обобщение моделей Кларка. Эта семантика не является рекурсивно перечислимой. К сожалению, семантика Фиттинга унаследовала некоторые проблемы, связанные с семантикой пополнений Кларка. Рассмотрим пример.
Пример 9. 2.
Пусть программа определяется правилами
ребро (а, Ь)
ребро (с, d)
ребро (d, с)
достижимо (а)
достижимо (X) достижимо (У), ребро (У,X)
Эта программа определяет, какие вершины достижимы из вершины а орграфа. С помощью семантики Фиттинга нельзя заключить, что вершины с и d недостижимы из а. Эта трудность связана с тем, что существуют симметричные правила: ребро (с, d) и ребро (d, с).
Обнаружен и еще один недостаток семантики пополнений (как двух-, так и трехзначной): она плохо представляет транзитивное замыкание. После первых не совсем удачных попыток исследователи
предложили определять семантику для программ из некоторого узкого класса.
9.1.1.2.1. Семантика устойчивых моделей. Идея, лежащая в основе этой семантики, пришла из формализмов немонотонного вывода: литеры-умолчания not Л, которые могут приниматься или отвергаться, понимаются в эпистемическом смысле, т. е. считается, что А не предполагается. Если истина присваивается некоторому множеству литер по умолчанию (гипотез), а ложь — остальным, то получаются некоторые следствия в соответствии с семантикой определенных программ. Если эти следствия полностью подтверждают исходные гипотезы, то они и образуют устойчивую модель.
Определение 9.1. (Оператор Гельфонда —Лифшица). Пусть Р —
Р7’Р7’полученнаяполученнаянормальная логическая программа и I — двузначная интерпретация.
Р
7’
Р
7’
полученная
полученная
GL-трансформация Р по модулю I — это программа из Р с помощью выполнения следующих операций:
• удалить из Р все правила, содержащие литеры по умолчанию not А такие, что А Е 1;
• удалить из оставшихся правил все литеры по умолчанию.
Р
1ак как у — определенная программа, то существует единственная наименьшая модель J. Мы определяем Г(1) = J. Из приведенного
определения следует, что фиксированные точки оператора Г для программы Р всегда являются моделями Р.
Определение 9.8. (Семантика устойчивых моделей). Двузначная интерпретация I логической программы Р есть устойчивая модель Р тогда и только тогда, когда Г (Г) = I. Атом А программы Р истинен по отношению к семантике устойчивой модели тогда и только тогда, когда А принадлежит всем устойчивым моделям программы Р.
Пример 9. 3.
Пусть программа Р задается правилами а not Ь
b not а с not d d not е
р а р b
мация это программамация это программаУстойчивыми моделями Р являются Д = {р, а, Д и Д = {рД, dy поэтому р и d истинны в семантике устойчивых моделей. Трансфор- Р
мация это программа
мация это программа
а
d^-
р а
р b
Тогда Г(Д) = {р, а, Д = Д, т. е. Д — действительно устойчивая модель. Аналогично можно проверить, что и Д является устойчивой
моделью.
Семантика устойчивых моделей не всегда может успешно применяться. Для некоторых программ не существует устойчивых моделей. Например, пусть Р = {а not а}. Тогда либо а Е С либо а ф I. В первом случае правило удаляется из Р, и аГ (Г), тогда I ^ Г (Г) и
Р в результате I не является устойчивой моделью. Во втором случае — не содержит not а, поэтому а Е Г(1) и снова I ^ Г (Г).
ЬЬа not b <— notа not b <— notДаже для программ, имеющих устойчивые модели, их семантика не всегда приводит к желаемым результатам. Так у программы Р
Ь
Ь
а not b <— not
а not b <— not
с <— not а
с <— not с
существует единственная устойчивая модель I = {с, by Трансформа- Р
ция у — это программа
поэтому {с, Д — наименьшая модель, а b и с — следствия семантики устойчивых моделей для Р. Если добавить с к F, то b не будет следствием программы в этой семантике, так как устойчивыми моделями в этом случае будут Ii = {с, 6} и /2 = {с, а}. Другими словами, в семантике устойчивых моделей нарушается свойство кумулятивности. Более того, по программе Р нельзя вывести следствие ф используя нисходящие методы. Действительно, начав с цели ф процедура достигнет только первых двух правил, откуда Ъ вывести не удается, т. е. нарушается свойство релевантности.
Вычисление устойчивых моделей является NP-полной задачей даже для простых классов программ (например, логических программ исчисления высказываний). Кроме того, из-за использования двузначной интерпретации теряется выразительность семантики.
Фундированная семантика. Эта семантика свободна от недостатков семантики устойчивых моделей и представляет собой естественное обобщение для случая трехзначных интерпретаций.
Для формализации понятия частичных устойчивых моделей язык программ расширяется добавлением пропозициональной константы и, которая не определена в любой интерпретации, т. е. для любой интерпретации I: l(u) = /(not и) = 1/2. В неотрицательной программе посылки являются либо атомами, либо и. Для любой неотрицательной программы существует трехзначная наименьшая модель.
Определение 9.9. (Г*-оператор). Пусть Р — нормальная логическая программа и пусть I — трехзначная интерпретация. Рас- Р ширенная GL-трансформация Р по модулю I — это программа у, полученная из Р выполнением следующих операций:
удалить из Р все правила, содержащие литеры по умолчанию not А такие, что ЦА) = 1;
заменить в оставшихся правилах Р такие литеры not А, для которых ЦА) = 1/2, на и;
удалить из оставшихся правил все литеры по умолчанию.
Существует единственная трехзначная модель J. Мы определяем ГД/) = J.
Определение 9.10. (Фундированная семантика). Трехзначная интерпретация I логической программы Р — это частичная устойчивая модель Р тогда и только тогда, когда Г* (I) = I. Фундированная семантика Р определяется единственной F-наименьшей частичной устойчивой моделью Р и может быть получена с помощью (восходящей) итерации Г*, начиная от пустой интерпретации.
Пример 9. 4.
Для программы Р из примера 9.3 фундированная модель находится с помощью итераций оператора Г, начиная с пустой интерпретации:
ГД{}) — наименьшая трехзначная модель для программы:
а и
/; ■ п
с и
d и
р а
= {not е}
Г*({not е}) — наименьшая трехзначная модель для программы:
а и
/; ■ п
с и
р а
р b
Г*({not е}) = ^d^ not е}
F*({d, not е}) — наименьшая трехзначная модель для программы:
а и
/; ■ п
d
р а
р b
Г*({Д not е}) = ^сЦ not е, not с}
Г*({Д not е, not с}) — наименьшая трехзначная модель для программы:
а и
/; ■ п
р а
р b
Г*({Д not е, not с}) = ^d, not е, not с} — это и есть фундированная модель. Очевидно, по этой модели выходит, что d — истина, е и с — ложь, а, b и р не определены.
9.1.2. Расширенные логические программы
В логических программах для дедуктивных баз знаний, представления знаний и немонотонного вывода полезно применять явное отрицание -i. В этом разделе мы рассмотрим
расширение языка программирования для учета явного отрицания;
обзор различных видов семантики.
В нормальных логических программах негативная информация представляется неявно, т. е. невозможно явно утверждать ложность, и высказывания считаются ложными, если нет причин верить в их истинность. В некоторых случаях это действительно необходимо. Например, база данных явно утверждает, что существует связь между пунктами, и отсутствие связи говорит о том, что соединения не существует. Но в других случаях приходится сталкиваться с серьезным ограничением. Явная негативная информация играет важную роль в естественных рассуждениях и выводе здравого смысла.
Рассмотрим пример: пусть имеется утверждение о студентах- заочниках: «Заочники не юны». На языке логического программирования это утверждение может быть представлено следующим образом:
не_юн(Х) заочник(Х), где не_юн — предикат.
Заметим, что при этом не охватывается связь между предикатом не_юн(Х) и предикатом юн(Х). Действительно, предположим, что еще требуется представить утверждение «студенты юны». Очевидно, его можно представить правилом
юн(Х) студент(Х).
Теперь нетрудно заметить, что если некто является студентом- заочником, то он оказывается юн и не юн одновременно, и противоречие не будет обнаружено, так как предикаты юн и не_юн различны. Значение связи предиката и его отрицания возрастает, если требуется представлять исключения из правил.
Итак, необходимо иметь явное отрицание в голове правил. Но существуют причины и для применения явного отрицания в теле правил. Вернемся к примеру, приведенному в начале этой главы. Высказывание: «Школьный автобус может пересекать железную дорогу при условии, что нет приближающегося поезда» нельзя выражать правилом вида
пересекать not поезд,так как это правило позволяет автобусу пересекать железную дорогу,когда нет информации как о присутствии, так и об отсутствии поезда.В случае, когда определено явное отрицание, ситуация изменяется:пересекать поезд.
Следовательно, автобус может пересекать железную дорогу, если шофер уверен, что нет приближающегося поезда.
Различие между not р и ^р в логической программе существенно всякий раз, когда мы не можем допустить, что доступная позитивная информация о р полна, т. е. не можем допустить, что отсутствие информации о р явно описывает его ложность.
Существование двух отрицаний повышает выразительность языка, например, высказывание: «Если водитель не уверен, что поезд не приближается, то он должен ждать» представляется правилом ждать not поезд.
Другая причина введения отрицания — симметрия между позитивной и негативной информацией. Особенно важно то, что негативную информацию часто оказывается проще представить, чем позитивную.
Пример 9. 5.
Пусть предикат дуга(Х, Y) выражает, что в графе существует дуга от вершины X к вершине Y. Для определения терминальной вершины проще определить те вершины, которые не являются терминальными: -^терминальная (X) дуга(Х, Y)
терминальная(X)not -^терминальная (X)
Введение двух видов отрицаний позволяет обобщить связи между логическим программированием и формализмами немонотонного вывода. Так, с помощью нормальных логических программ не удается представить даже простые правила логики умолчаний вида ,
с а : Ь
, а с помощью двух отрицаний удается расширить класс связанно
ных немонотонных формализмов.
Описание языка. Язык расширенных логических программ представляет собой расширение языка нормальных логических программ. В определения вносятся перечисленные ниже изменения.
Объективная литера над алфавитом А — это атом А или ^А.
Символ «н» обозначает дополнительные литеры в смысле явного отрицания:
= А.
Литера — это объективная литера L или not L (т. е. литера по умолчанию).
Расширенная Эрбрановская база — это множество всех фундаментальных объективных литер А.
Расширенная логическая программа — это конечное множество правил вида Н Li,...,Ln (п ^ 0), где Н — объективная литера и L^ — литеры. При п = 0 символ «<—» может опускаться.
Расширенная база Эрбрана Н программы Р — расширенная Эрбрановская база алфавита, состоящего из всех констант, предикатных и функциональных символов, явно присутствующих в Р.
Интерпретация определяется по расширенной базе Эрбрана так же, как и для нормальных логических программ.
Определение 9.11. (Каноническая программа). Расширенная логическая программа Р является канонической тогда и только тогда, когда для любого правила в Р: Н Body, если L Е Body, то not^L Е Body, где L — произвольная объективная литера.
Определение 9.12. (Семантическое ядро). Расширенная логическая программа Р — семантическое ядро тогда и только тогда, когда любое правило в Р имеет вид Н not Li,..., not Ln (n ^ 0).
Семантика.
Семантика, основанная на устойчивых моделях. Семантика ответных множеств — обобщение семантики устойчивых моделей для языка расширенных программ. Ответное множество расширенной программы Р — это устойчивая модель нормальной программы, полученной из Р заменой объективных литер вида ^L на новые атомы, скажем, ^L.
Определение 9.13. (Г*-оператор). Пусть Р — расширенная ло
Р 7’Р 7’гическая программа и I — двузначная интерпретация (по отношению
Р 7’
Р 7’
к not).к not).GL-трансформация Р по модулю I — это программа
к not).
к not).
полученная из Р с помощью следующих правил:
обозначить все объективные литеры в Н вида ^А атомом ^_А-
заменить в Р и I эти объективные литеры новыми обозначениями;
выполнить следующие операции:
удалить из Р все правила, содержащие литеры not А, где АеР,
удалить из оставшихся правил все литеры по умолчанию.
m Р
Так как — — определенная программа, то существует единственная наименьшая модель J. Если J содержит пару Ап ^ А. то Г (7") = = Н, иначе, пусть .Г — интерпретация, полученная из J заменой ^ А на ^А, тогда Г(7") = .Г.
Определение 9.14- (Семантика ответных множеств). Двузначная интерпретация I расширенной логической программы Р — это ответное множество Р тогда и только тогда, когда Г (7") = = Р Объективная литера L программы Р истинна при семантике ответных множеств тогда и только тогда, когда L принадлежит всем ответным множествам Р; L — ложна тогда и только тогда, когда ^L истинна; в противном случае L не определена.
Пример 9. 6.
Пусть дана программа
юн(Х) студент(Х), not -^юн(Х)^юн(Х) заочник(Х), not юн(Х)студент (X) заочник(Х)заочник (Денсон)
Ответными множествами будут:
Д = Дон(Джон), сту дент (Денсон), заочник (ДенсонД
Р7Р71-2 = ^юн(Джон), сту дент (Денсон), заочник (ДенсонД.
Р
7
Р
7
удаляетудаляетДействительно, Д — ответное множество, так как
удаляет
удаляет
второе правило для Х = Денсон (так как not юн (Денсон) находится в
теле этого правила, и юн (Денсон) Е Д), и удаляет not^ юн (Денсон) из тела первого правила (так как -> юн (Денсон) ^ Д). Легко проверить,
что наименьшая модель результирующей определенной программы совпадает с Д. Аналогично, для Д, когда удаляется первое правило, ( not^ юн (Денсон) находится в его теле, и юн (Денсон) ф Д), и
not юн (Денсон) удаляется из тела второго правила (так как юн (Денсон) ^ Д).
По определению нетрудно проверить, что для программ без явного отрицания ответные множества совпадают с устойчивыми моделями.
Расширенная программа противоречива по отношению к семантике ответных множеств (AS-противоречивая программа), если у нее нет непротиворечивых ответных множеств. Например, для программы Р = {а; ^а} единственное ответное множество {а, ^а} противоре
чиво.
Пример 9. 7.Пусть Р имеет вид (здесь ab — предикат, определяющий аномальность X по отношению к первому правилу)юн(Х) студент(Х), not ab(X)студент(Денсон) <—юн (Денсон)У Р не существует непротиворечивых ответных множеств.Пример 9. 7.Пусть Р имеет вид (здесь ab — предикат, определяющий аномальность X по отношению к первому правилу)юн(Х) студент(Х), not ab(X)студент(Денсон) <—юн (Денсон)У Р не существует непротиворечивых ответных множеств.Действительно, для ab (Денсон), независимо отДействительно, для ab (Денсон), независимо оттак как не существует правил, определенныхтак как не существует правил, определенныхи, по определению, — не добавляет правил к Р,и, по определению, — не добавляет правил к Р,I, то наименьшая модельI, то наименьшая модельР7Р7никогда не можетникогда не можетсодержать ab (Денсон). Следовательно, любой кандидат (S) ответное множество не должен содержать ab (Денсон), и тогда всегда содержит правило:содержать ab (Денсон). Следовательно, любой кандидат (S) ответное множество не должен содержать ab (Денсон), и тогда всегда содержит правило:на Р "Sна Р "Sюн (Денсон)сту дент (Денсон).Так как студент(Денсон) и ^юн(Денсон) — истинны, то достигнутоюн (Денсон)сту дент (Денсон).Так как студент(Денсон) и ^юн(Денсон) — истинны, то достигнуто
Пример 9. 7.
Пусть Р имеет вид (здесь ab — предикат, определяющий аномальность X по отношению к первому правилу)
юн(Х) студент(Х), not ab(X)
студент(Денсон) <—юн (Денсон)
У Р не существует непротиворечивых ответных множеств.
Пример 9. 7.
Пусть Р имеет вид (здесь ab — предикат, определяющий аномальность X по отношению к первому правилу)
юн(Х) студент(Х), not ab(X)
студент(Денсон) <—юн (Денсон)
У Р не существует непротиворечивых ответных множеств.
Действительно, для ab (Денсон), независимо от
Действительно, для ab (Денсон), независимо от
так как не существует правил, определенных
так как не существует правил, определенных
и, по определению, — не добавляет правил к Р,
и, по определению, — не добавляет правил к Р,
I, то наименьшая модель
I, то наименьшая модель
Р
7
Р
7
никогда не может
никогда не может
содержать ab (Денсон). Следовательно, любой кандидат (S) ответное множество не должен содержать ab (Денсон), и тогда всегда содержит правило:
содержать ab (Денсон). Следовательно, любой кандидат (S) ответное множество не должен содержать ab (Денсон), и тогда всегда содержит правило:
на Р "S
на Р "S
юн (Денсон)сту дент (Денсон).
Так как студент(Денсон) и ^юн(Денсон) — истинны, то достигнуто
юн (Денсон)сту дент (Денсон).
Так как студент(Денсон) и ^юн(Денсон) — истинны, то достигнуто
противоречие.
Утверждение 9.2. Для любой ^^-противоречивой программы существует единственное противоречивое ответное множество, совпадающее с ее Эрбрановской базой Н.
Оказывается, что других ответных множеств для противоречивых программ не существует, так как справедлива представленная ниже лемма.
Лемма 9.1. Расширенная программа не может иметь два ответных множества, одно из которых — собственное подмножество другого.
Отсутствие ^^-противоречивости не гарантирует существования ответных множеств. Заметим, что нормальные программы не могут быть ^^-противоречивыми, но у них может не быть ответных множеств, что является существенным недостатком.
Отрицание в ответных множествах не выражает некоторые свойства классического отрицания. Например, не выполняется свойство «исключенного третьего», так как А \/ ^А может и не быть истиной для каждого атома А в ответном множестве.
Существует семантика е-ответишь множеств, обобщающая устойчивые модели на класс расширенных логических программ. Явно отрицательные атомы в расширенных программах играют роль исключений, поэтому предпочтение отдается негативным литерам.
Пример 9. 8.
Пусть задана программа Р:
юн(Х) студент(Х)
-^юн(Х) заочник(Х)студент(Х) заочник(Х)заочник (Денсон)
Возможны следующие заключения: юн(Джон) и ^юн(Джон). Поэтому единственное ответное множество — это вся база Эрбрана. В семантике е-ответных множеств утверждение ^юн(Джон) предпочтительнее, чем юн(Джон), поэтому е-ответное множество имеет вид
^заочник (Джон), студент(Джон), ^юн(Джон)}.
Фундированная семантика.
Определение 9.15. (Фундированная семантика с псевдо отрицанием). Трехзначная интерпретация I — частичная устойчивая модель расширенной логической программы Р тогда и только тогда, когда Г — частичная устойчивая модель нормальной программы Р', где Г и Р' получены соответственно из I и Р заменой каждой объективной литеры вида ^А новым атомом, скажем, ^ А.
Фундированная семантика с псевдоотрицанием Р определяется единственной F-наименьшей частичной устойчивой моделью Р.
Смысл символа «^» не соответствует смыслу классического отрицания. Рассмотрим программу Р:
b а
Ъ
Для классического отрицания Ъ — следствие Р, так как а V — тавтология. Но фундированной моделью программы Р является множество {not a, not ^а, not b, not ^6}, и, таким образом, Ъ не есть следствие программы Р.
Другие подходы. В отличие от случая нормальных логических программ семантика расширенных программ определена не для всех программ, т. е. некоторые программы остаются противоречивыми. Иногда это свойство является серьезным недостатком.
Пример 9. 9.
Программа Р:
^р <— not q
Р противоречива в семантике всех видов, так как для q нет правила, и not q должно быть истинным.
Существует семантика, не принимающая гипотез, приводящих к противоречию, т. е. для приведенного примера она принимает р, а not q не допускается. Может быть и другой подход — паранепроти- воречивая семантика, в которой принимается противоречивая информация.
Зачем нужна новая семантика для расширенных программ?
Ни один из описанных вариантов семантики не охватывает смысла расширенных программ. Можно выделить ряд недостатков:
некоторые непротиворечивые программы не имеют ответных множеств, например, программа Р = {а not а};
даже для программ с ответными множествами их семантика не всегда дает ожидаемые результаты; добавление к программе лемм (доказанных фактов) изменяет семантику (нарушается кумулятивность);
процесс вывода для ответных множеств не может основываться на нисходящих методах даже для непротиворечивых программ (нарушено свойство релевантности);
вычисление ответных множеств TVF-полно даже для логических программ исчисления высказываний. Для логических программ с предикатами в общем случае невозможно вычислить ответные множества с помощью конечных аппроксимаций;
из-за двузначности интерпретации теряется выразительность;
семантика е-ответных множеств несимметрично обрабатывает позитивную и явно негативную информацию;
фундированная семантика с псевдоотрицанием свободна от этих недостатков и не отдает предпочтения негативным атомам, но при этом теряются важные свойства, связывающие отрицания в ответных множествах.
Пример 9.10.
Рассмотрим программу Р:
а <— not Ъ
b <— not а
Если ж — новый атомарный символ (^_п), то фундированная семантика дает: {фа. not^^}, так что ж — истина, и а не определен. В результате разрывается связь между отрицаниями (^а — явное утверждение ложности а, тогда и not а должно быть истинно).
Пример 9.11.
Пусть дана программа (она представляет следующее утверждение: «Если ничего не известно о забастовке водителей автобусов, то можно ехать на автобусе»)
автобус not забастовка
^забастовка
Интуитивно, ^забастовка влечет not забастовка. Чтобы связать оба отрицания в расширенных логических программах, вводится принцип когерентности: «Пусть L — объективная литера расширенной логической программы Р. Если ^L принадлежит семантике Р, то литера not L должна принадлежать этой семантике». Заметим, что ответные множества согласуются с когерентностью.
Кроме того, классическое отрицание в логических программах не отвечает свойству поддерживаемости (supportedness), которое требует, чтобы для каждой программы Р объективная литера L была истинной только в том случае, когда существует правило для L, чье тело истинно. Это свойство вызвано природой эпистемического знания. Следует отметить, что различают эпистемическую истину, которая основывается на истинности других объективных литер или литер по умолчанию, и онтологическую истину, которая не зависит от поддержки (например, L V -И).
9.2. WFSX — фундированная семантика длярасширенных логических программ
Интерпретации и модели
Определение 9.16. Интерпретация I языка Lang — это любое множество Т U not F, где Т и F — непересекающиеся подмножества объективных литер над базой Эрбрана, при этом
если ^L Е Т, то L Е F (принцип когерентности).
Множество Т содержит все фундаментальные объективные литеры, истинные в Г, множество F — ложные в I. Истинностное значение оставшихся объективных литер не определено.
Два типа отрицания связаны по когерентности: если ^L Е Г, то not L Е I. Из приведенного определения следует, что выполняется условие непротиворечивости.
Утверждение 9.3. (Условие непротиворечивости). Если I = Т U U not F — интерпретация программы Р, то не существует такой пары объективных литер А и ^Л программы F, что А Е Т и ^А Е Т.
Пример 9.12.
I = {а, ^а, Л/} не является интерпретацией, так как
а и принадлежат I (противоречие);
not Ъ не принадлежит Г, хотя А) Е I (не выполняется принцип когерентности).
Интуитивно объяснить смысл интерпретации можно следующим образом:
атом А — истинен (явно ложен) в интерпретации I тогда и только тогда, когда А Е I (^Л Е 7");
позитивная (негативная) объективная литера А (^Л) ложна в I тогда и только тогда, когда not А Е I (not ^Л Е 7");
атом А не определен в I в противном случае.
Как и в разделе 9.1, интерпретацию можно представить в виде функции. Точнее, любая интерпретация 7" = Т U not F может быть эквивалентно представлена как функция I ; Н V. где V = {0,1/2,1}:
1(Л) = 0, еслипо1Л Е 1;
< 1(Л) = 1, если Л Е 1;
1(A) = 1/2, в противном случае.
Определение 9.17. (Оценка истинности). Если I — интерпретация, то оценка истинности Г, соответствующая Г, — это функция I: С V (здесь С — множество всех формул языка), рекурсивно определяемая следующим образом:
если L — объективная литера, то I(L) = 1(Т);
если S = not L — умолчание, то /(not L) = 1 — 1(L);
если S и V — формулы, то t((S,V)) = min(/(5),/(У));
если L — объективная литера и S — формула, то
В s) =В s) =если I(S) < ЦЬ) или Ц^Ь) = 1и I(S)1
В s) =
В s) =
О, в противном случае
Ясно, что дополнительное (по отношению к фундированной семантике) второе условие для случая ЦБ S) = 1 (Ц-Р) = 1 и Ц8) 7^ 1) не влияет на вычисление формул без «^». Оно позволяет заключению с (при условии, что выполняется -ic) быть независимо ложным, когда для некоторого правила посылки имеют неопределенное значение. В частности, явное отрицание «^» может замещать ложным значением неопределенность заключений правил с неопределенным телом.
Определение 9.18. (Модель). Интерпретация I является моделью программы Р тогда и только тогда, когда для каждого фундаментального примера правила программы, Н В. выполняется: ЦН В) = = 1.
Пример 9.13.
Пусть дана программа
М b а а <— not a, not с с <— not ^с ^с <— not с
Моделями этой программы являются
Ml = (М, not Ь(
М2 = (Му not Ь, с, not ^с}
М3 = (Му not Ь, су not ^с, not а(
М4 = (Му not b, not с, ^с}
М5 = (М, not b, ^су not а(
Мб = (М, not b, ^су not а, с, not ^с}
М7 =(Муnotb,not ^а}
М8 =(М,notЬ,су not^с, not ^а}
М9 =(М,notЬ,су not^с, not а, not ^а}
MIO =(М,notb,not с,^с, not ^а}
Заметим, что среди этих моделей
М3, Мб и М9 — классические модели (в соответствии с определением 9.4);
Ml, М2, М4, М7, М8 и М10 — неклассические модели, так как тело правила b а не определено и голова ложна, т. е. /(голова) < /(тело); 3) М5 — неклассическая модель, так как /(голова) < /(тело) (ложь < < не определено) для правила а not a, not с.
Определение WFSX
Введем понятие устойчивости моделей и, используя его, определим семантику WFSX. Напомним, что в языке логических программ высказывание и определяется следующим образом: /(и) = 1/2 для любой интерпретации. Тогда назовем неотрицательной такую программу, посылки в которой — объективные литеры или и.
Определение 9.19. — трансформация). Пусть Р — расширенная логическая программа и I — интерпретация. Трансформация Р
у (Р по модулю I) — это программа, получаемая из Р выполнением следующих операций:
удалить из Р все правила, содержащие умолчание L = not А, где А е I;
удалить из Р все правила, содержащие в теле такую объективную литеру Д что ^L Е 7:
удалить из всех оставшихся правил программы Р такие умолчания L = not А, что not А Е /;
заменить все оставшиеся умолчания высказыванием и.
Заметим, что вторая операция применяется только к расширенным программам и требуется для выполнения свойства когерентности. По определению, результирующая программа неотрицательная.
Определение 9.20. (Оператор least), least (Р), где Р — неотрицательная программа, — это множество литер Т U not F, полученное следующим образом:
пусть Р' — неотрицательная программа, полученная заменой в Р каждой негативной объективной литеры ^L на атом «^_£».
пусть Tf U not Ff — наименьшая трехзначная модель Р'.
TUnot F получается из Tf Unot Fr с помощью обратной замены.
Определение 9.21. (Оператор Ф/. Пусть Р — неотрицательная программа, I — интерпретация Р; А и А^ — все фундаментальные атомы. Тогда Ф* (I) — это множество атомов, определенное правилами
Теорема 9.1 (Трехзначная наименьшая модель). Трехзначная наименьшая модель для неотрицательной программы — это наименьшая фиксированная точка оператора Ф*(по1 Н), где Н — эрбранов- ская база программы.
Теорема 9.2. Для каждой неотрицательной программы множество литер least (Р) существует и является единственным.
Пример 9.14.
Оператор least не всегда дает интерпретацию. Пусть задана программа Р:
а <—
b и
Тогда least (Р) = {а, ^а, Р)^ не является интерпретацией, так как не выполняются свойства когерентности и непротиворечивости.
Чтобы выполнялось свойство когерентности, если нет противоречия, определим частичный оператор, переводящий любое непротиворечивое множество литер в интерпретацию.
Определение 9.22, (Оператор Coh). Пусть QI = QTUnot QF — такое множество литер, что QT не содержит пары объективных литер А и ^А. Тогда Coh(QI) — интерпретация Т U not F такая, что Т = = QT и F = QF U {ДД£ 6 Т}. Оператор Coh не определен для
всегда будет интерпретацией,всегда будет интерпретацией,противоречивого множества литер.
всегда будет интерпретацией,
всегда будет интерпретацией,
Очевидно, результат Coh(least
если он определен. Но применение оператора Coh к WFM не дает
семантики и приводит к странным результатам.
Пример 9.15.
Дана программа Р:
а notЬ b not а
Для программы Р фундированная модель, WFM, есть М = {Да. not^5}. Тогда Coh(M) = {Да, not а, not^5} является интерпретацией, но в ней не учитываются следствия: присутствует not а, в то время как Ь — прямое следствие — отсутствует. Поэтому Coh(M) не является моделью, так как для правила b not а тело истинно, а голова не определена.
Обобщим оператор Г* для того, чтобы учитывать следствия Coh.
Тогда если существуетТогда если существуетОпределение 9.23. (Оператор Фф Пусть Р — логическая про
Тогда если существует
Тогда если существует
грамма, I — интерпретация и J = least
Coh(J), то Фр(/) = Coh(J), иначе Фр(/) не определен.
Определение 9.24* (WFSX, PSM, WFM). Интерпретация I расширенной логической программы Р называется частичной устойчивой моделью (Partial Stable Model — PSM) программы P тогда и только тогда, когда Фр(1) = I. F-наименьшая PSM называется фундированной моделью (Well Founded Model — WFM). Семантика WFSX программы P определяется множеством всех PSM программы Р.
Пример 9.16.
У программы Р = {а, ^а} нет семантики.
Определение 9.25. (Противоречивая программа). Расширенная логическая программа противоречива тогда и только тогда, когда у нее нет семантики, т. е. не существует интерпретации I: Фр(7) = I.
Пример 9.17.
Рассмотрим программу Р: сnot Ь
bnot а
а not а
Ь
Определяя семантику Р, находим модель PSM= ^Ь, с, not b, not ^с,
not ^а}. Действительно, pg^ =not ^а}. Действительно, pg^ =с <—b иа <— ис <—b иа <— и> и ее наименьшая модель> и ее наименьшая модель
not ^а}. Действительно, pg^ =
not ^а}. Действительно, pg^ =
с <—
b и
а <— и
с <—
b и
а <— и
> и ее наименьшая модель
> и ее наименьшая модель
есть {с, ^b, not b, not ^с, not ^а}. Следовательно, Фр(Р8М) = PSM. Если же считать просто новым атомом, то эта нерасширенная программа будет иметь единственную PSM = {^Д, которая не является когерентной интерпретацией. Интересно отметить, что PSM
не является моделью в классическом смысле, так как для второго правила: PSM(6) = 0 < PSM(not а) = 1/2. Интуитивное объяснение может быть таким: истинность (или независимая ложность Ь) заменяет любое правило для Ь с неопределенным телом, так что not Ь становится скорее истинным (и Ь ложным), чем неопределенным. Это необходимо предполагать, если мы считаем, что факт ^Ь в программе предназначен для определения ложности Ь.
Теорема 9.3 (PSM являются моделями). Каждая PSM программы Р — это модель Р.
Вернемся к вопросу о необходимости дополнительной операции, введенной в трансформации по модулю.
Пример 9.18.
Пусть программа Р имеет вид с а
^а
а b
b not Ъ
Единственная PSM — это I = {фа. not а, not с, not ^b, not Фактически,
^а <—
IIЩ) = I.Если бы неЩ) = I.Если бы неФ^ notФ^ notb и
I
I
Щ) = I.
Если бы не
Щ) = I.
Если бы не
Ф^ not
Ф^ not
было второй операции в определении трансформации, то
у содержала бы правило с а, и с было бы скорее не определено, чем ложно. Это противоречило бы принципу когерентности, так как ^а влечет not а, и поскольку единственное правило для с имеет в теле а, то должно выполняться еще и not с. Роль новой операции — обеспечить распространение лжи как следствия всякой литеры not £. полученной из ^L по когерентности. Рассмотрим теперь программу Р' в каноническом виде:
с a, поЬа
аb , поЩб
bnot Ь
Р'
^а <—b иа b^а <—b иа bЕдинственная PSM: I = {фа. not a, not с, not -ib, not ^с}. —- =
^а <—
b и
а b
^а <—
b и
а b
>. Из-за того, что программа имеет канонический вид,
вторая операция не используется (первое правило удаляется первой операцией).
Теорема 9.4 (Компактная версияТеорема 9.4 (Компактная версияР\— I. Пусть Р — каноническаяР\— I. Пусть Р — каноническая
Теорема 9.4 (Компактная версия
Теорема 9.4 (Компактная версия
Р\
— I. Пусть Р — каноническая
Р\
— I. Пусть Р — каноническая
I — интерпретация. Тогда — как программа, получаемая изI — интерпретация. Тогда — как программа, получаемая израсширенная логическая программа, может быть эквивалентно определена Р выполнением следующих операций:
I — интерпретация. Тогда — как программа, получаемая из
I — интерпретация. Тогда — как программа, получаемая из
удалить из Р все правила, содержащие умолчание L = not А : А е I.
удалить из всех оставшихся правил Р их умолчания L = not А : not А е I.
заменить все оставшиеся умолчания на высказывание и.
Существование семантики
Мы определили WFM как F-наименыпую PSM, так как выполняется следующая теорема.
Теорема 9.5 (Существование семантики). Для непротиворечивой программы всегда существует единственная F-наименыпая PSM.
Более того, литера L принадлежит каждой PSM непротиворечивой программы тогда и только тогда, когда L принадлежит F-наименьшей PSM программы Р.
Определение 9.26. (Итеративное построение WFM). Чтобы получить конструктивное восходящее определение WFM для заданной непротиворечивой программы F, мы определяем следующую бесконечную последовательность {Д} интерпретаций Р:
/о = {}
Д+1 = Фр(1а)
I5 = и{Д|а < 5} для конечного натурального 5.
Утверждение 9.4. Существует наименьшее натуральное число А: Д — фиксированная точка оператора Фр, и WFM= 1\.
Конструктивное восходящее определение требует знания a priori, является ли программа непротиворечивой.
Теорема 9.6. Программа Р противоречива тогда и только тогда, когда для последовательности 1а существует такое натуральное число /р\
А, что Фр(Д) не определен, т. е. least! — I содержит пару объектив-
ЛЛпых литер Аи -А.
Л
Л
При восходящем вычислении WFM программы Р необходимо начать строить описанную последовательность. Если на некотором шаге оператор Фр нельзя применить, то следует закончить итерации, так как Р — противоречивая программа. В ином случае продолжать до тех пор, пока не будет получена наименьшая фиксированная точка оператора Фр, т. е. WFM.
Пример 9.19.
Дана программа Р:
а not а
Строим последовательность: /о = {}
/1 = Coh I least I — j j = Coh(least({a u, })) = Coh({^a}) =
/2 = Coh I least/2 = Coh I leastCoh(least({a})) =Coh(least({a})) == Coh ({a, ^a}),= Coh ({a, ^a}),= {Да. not a}
/2 = Coh I least
/2 = Coh I least
Coh(least({a})) =
Coh(least({a})) =
= Coh ({a, ^a}),
= Coh ({a, ^a}),
т. e. результат не определен и, следовательно, программа Р противоречива.
Пример 9. 20.
Дана программа Р: а notb b not а
Строим последовательность: Ь = {}
h = Cohh = Coh= Coh(least({a= Coh(least({au, b u, ^a })) =u, b u, ^a })) =
h = Coh
h = Coh
= Coh(least({a
= Coh(least({a
u, b u, ^a })) =
u, b u, ^a })) =
= Coh({^a, not ^Ь}) = {Да. not a, not ^5}
/2 = Coh ( least ( 7—-
\not a, not
= Coh(least({a u, b})) =
= Coh({5, ^a, not ^Ь}) = {7т ^a. not a, not ^5} = /3.
Следовательно, WFM = {6, ^a, not a, not ^5}.
Теорема 9.7 (Обобщение фундированной семантики). Для программ без явного отрицания WFSX совпадает с фундированной семантикой.
Нисходящие процедуры вывода для WFSX
Подобные процедуры необходимы на практике для целевых запросов к программе об истинности литер, когда не обязательно вычислять заранее всю WFM. Трудно переоценить важность для этой цели структурных свойств, которыми обладает WFSX и которые делают возможным существование подобных процедур (этого нет в других видах семантики).
Определим сначала полную и состоятельную нисходящую характеризацию WFSX с помощью семантических деревьев, а затем, основываясь на этой характеризации, построим процедуру вывода. Чтобы гарантировать завершение, по крайней мере для конечных фундаментальных программ, введем правила, ограничивающие пространство поиска и исключающие как циклическую положительную рекурсию, так и циклическую рекурсию через отрицание по умолчанию.
9.2-4-1- Характеризация WFSX с помогцъю семантических деревьев. Нисходящая характеризация опирается на построение И-деревьев (Т-деревьев), узлам которых присваивается статус успешных или неуспешных. Успешное (неуспешное) дерево имеет успешный (неуспешный) корень. Если литере L соответствует успешное дерево с корнем в L, то L Е WEM^ в противном случае, т. е. когда все деревья для L неуспешные, L ф WFM. Узлам не
присваивается статус неизвестности, т. е. неуспех не означает ложность, а свидетельствует о том, что нам не удалось доказать истинность.
Рассмотрим сначала программы без явного отрицания. Мы предполагаем, что атомы, не имеющие правил, терпят неуспех, а истинность означает успех. Атомы разрешаются (определяется их истинностное значение) по правилам программы, и выполняется правило отрицания как неудачи, т. е. not L успешно, если L терпит неуспех, и неуспешно, если L успешно.
Пример 9. 21.
Пусть программа Р имеет вид: Р = {р pY Тогда существует единственное дерево для р:
Р
Р
Это дерево является бесконечным, поэтому р терпит неуспех и not р успешно. Таким образом для решения проблемы положительной рекурсии правило неуспеха может применяться и к бесконечным ветвям.
Для рекурсии через отрицание по умолчанию решение не является столь простым, поскольку нам необходимо доказать неуспех как для Д так и для not L. Поэтому правило отрицания как неудачи в данном случае не работает. Чтобы справиться с этой проблемой, вводится новый вид деревьев — TU-деревья, — которые скорее доказывают неложность, чем истинность. TU устанавливается для истинности и неопределенности. В этом случае для любого L доказательство истинности not L неуспешно тогда и только тогда, когда существует доказательство неложности L.
TU-деревья строятся аналогично Т-деревьям: атомы, для которых нет правил в программе, — это неуспешные листья (т. е. они не истинны и не являются неопределенными). Истина успешна, атомы разрешаются по правилам программы (литера L истинна или не определена, если существует правило для Д тело которого истинно или не определено), и not L терпит неуспех, если L успешно при доказательстве истинности, а в противном случае not L успешно.
С деревьями этих двух типов легко определить статус литеры Д участвующей в рекурсии через отрицание по умолчанию. Действительно, литера L не определена в WFS тогда и только тогда, когда L имеет статус неуспеха, если находится в Т-дереве, и успеха — если находится в TU-дереве.
Пример 9. 22.
Пусть Р = {р not pY Чтобы доказать истинность р, мы строим Т-деревья для этой литеры. Существует единственное дерево:
Р
not р
Узел not р неуспешен, если существует успешное TU-дерево для р, и успешен в противном случае. Для р существует всего одно TU-дерево (далее такие деревья будем заключать в рамку):
Р
not р
Следовательно, существует рекурсия для р через отрицание по умолчанию. В TU-дереве литере р назначается статус успеха и, следовательно, not р в Т-дереве терпит неуспех. Поэтому доказательство истинности р терпит неуспех.
Рассмотрим, как обобщить характеризацию для работы с явным отрицанием в WFSX. Обработка расширенных программ во многом похожа на обработку нормальных программ, где вместо атомов используются объективные литеры. Основное отличие обобщения для расширенных программ состоит в обработке отрицания как неудачи. Чтобы выполнялся принцип когерентности, должен быть дополнительный способ доказательства not L. т. е. литера not L должна быть успешной, если успешна литера -Р.
Пример 9. 23.
Дана программа Р:
а notЬ
b not а
Для этой программы WFSX есть {Да. b, not а, not ^by Для Ь Т- дерево имеет вид
Ь
not а
В соответствии с методами, используемыми для нормальных программ, чтобы доказать not а, необходимо рассмотреть все TU-деревья для а. Существует единственное TU-дерево:
а
not Ь
Так как это случай рекурсии через отрицание по умолчанию, то not Ь успешно и, следовательно, not а терпит неуспех. Однако, так как ^а истинно, то по когерентности not а (а, значит, и Ь) должно быть успешно. Поэтому для расширенных программ в Т-дереве not L успешно тогда и только тогда, когда все TU-деревья для L неуспешны или существует успешное Т-дерево для ^Д и терпит неуспех в противном случае. Что касается TU-деревьев, not L успешно в тех же случаях, что и для нормальных программ, и еще в том случае, когда ^L истинно (т. е. существует успешное Т-дерево для ^U). ^L в случае неопределенности не связан с неложностью not L (в примере 9.23 неопределенность с не запрещает принять истинность not -ic). Необходимо соблюдать осторожность при доказательстве неложно- сти, так как требование когерентности сильнее неопределенности.
Пример 9. 24.
Дана программа Р: с а <— а b b <— not Ъ
WFSX имеет вид: {Да. not а, not с, not ^6, not ^с}. Можно показать, что если а в первом правиле заменить на 6, то истинностное значение с не сохраняется.
Проблема развертывания объективных литер без изменения семантики решается следующим образом: в семантическом дереве при развертывании узлов должны быть дополнительные потомки, соответствующие отрицанию по умолчанию для дополнений объективных литер в выбранном правиле, т. е. необходимо выполнять неявное присоединение not ^L для объективных литер L.
В примере 9.24 существует единственное дерево для not с без дополнительных потомков: оно содержит единственный узел not с. Так как не существует правил для -ic, то все Т-деревья для ^с неуспешны. Поэтому, чтобы доказать not с, мы должны рассмотреть все TU-деревья для с. Единственное такое дерево имеет вид
са
not Ъ
Это дерево успешно, так как not Ь в TU-дереве участвует в рекурсии через отрицание. Поэтому Т-дерево для not с неуспешно, что является некорректным результатом, так как not с Е WFM. Заметим, что
проблема возникает из-за того, что а в TU-дереве развертывается до Ь. Следовательно, результат для а становится тем же, что и для Ь. Однако b и а имеют различные истинностные значения в WFM (Ь не определено, а — ложно).
Если добавляются дополнительные потомки, то TU-дерево для с имеет вид
not а а
/ \
not^6 b
not b
Это дерево неуспешно, так как not ^а терпит неуспех, следовательно, not с в Т-дереве успешно, как и требовалось.
Перейдем к обобщению полученных результатов.
Определение 9.27. (Т-дерево, TU-дерево). Т-дерево Т(А) (соответственно, TU-дерево TU(A)) для произвольной фиксированной фундаментальной расширенной логической программы Р есть И- дерево с корнем, помеченным Л, и узлами, помеченными литерами. Т-деревья (соответственно, TU-деревья) строятся от корня к листьям последовательным развертыванием новых узлов по следующим правилам:
для узла п, помеченного объективной литерой А: если не существует правил для Л в Р, то п - лист; в противном случае, выбрать (недетерминированно) одно правило: А B-v^... ^В^ not Bj+i,..., not В^ из Р, где В, — объективные литеры. В Т-дереве потомками п будут: Bi,..., Bj, not Pj+i, • • •, not В^^ в TU-дереве существуют еще и дополнительные потомки: not ^Pi,..., not -Bj.
узлы, помеченные умолчаниями, являются листьями.
Определение 9.28. (Успех и неуспех для WFSX). Каждый узел в Т-дереве (соответственно, в TU-дереве) имеет связанный с ним статус успеха или неуспеха. Все бесконечные деревья неуспешны. Конечное Т-дерево (соответственно, TU-дерево) успешно, если его корень успешен, и неуспешно в противном случае. Статус узла в конечном дереве определяется в соответствии с правилами, указанными в табл. 9.1.
Таблица 9.1
N
Положение узла в дереве
Пометка узла
Тип дерева
Дополнительные условия
Статус узла
1
Лист
Истина (true)
Т, TU
Успех
2
Лист
Объективные литеры, не являющиеся истинными
Т, TU
Неуспех
3
Лист
not А
Т
Все вспомогательные TU-деревья с корнем в А неуспешны или
существует успешное Т-дерево с корнем ^А
Успех
TU
Все Т-деревья с корнем в А неуспешны или
существует успешное Т-дерево с корнем ^А
Успех
4
Лист
not А
Т
Существует успешное вспомогательное TU- дерево с корнем А
Неуспех
TU
Существует успешное Т-дерево с корнем А
Неуспех
5
Внутренний (не лист)
Т, TU
Все потомки успешны
Успех
Существует неуспешный потомок
Неуспех
После применения этих правил статус некоторых узлов может остаться неопределенным из-за бесконечной рекурсии через отрицание по умолчанию. Неопределенным узлам в Т-деревьях присваивается статус неуспеха, а в TU-деревьях — статус успеха.
Теорема 9.8 (Корректность по отношению к WFSX). Пусть Р — фундаментальная (быть может, бесконечная) расширенная логическая программа, М — ее фундированная модель, соответствующая WFSX, и пусть L — произвольная фиксированная литера. Тогда
если 3 успешное Т-дерево с корнем L^ то L Е М (состоятельность);
если L Е М, то 3 успешное Т-дерево с корнем в L (полнота).
Эта теорема гарантирует корректность только для непротиворечивых программ. Однако с помощью введенной характеризации можно определить, является ли программа противоречивой.
Теорема 9.9 (Противоречивые программы). Расширенная программа Р противоречива тогда и только тогда, когда существует некоторая объективная литера L программы Р такая, что существует успешное Т-дерево для L и существует успешное Т-дерево для -^L.
Данное определение позволяет характеризовать WFM для нормальных программ. Но можно сделать некоторые упрощения: так как доказательство для литеры ^L в нормальных программах терпит неуспех, то п. 3 таблицы 9.1 может быть определен следующим образом: «Лист п в Т-дереве (TU-дереве), помеченный литерой not А успешен, если все TU-деревья (Т-деревья) с корнем А неуспешны (при построении TU-дерева не требуется включать дополнительные потомки)».
Альфереш и Перейра доказали, что описанный метод (даже с упрощениями) корректен по отношению к фундированной семантике нормальных программ.
2. SLX — Процедура вывода для WFSX. Основываясь на характеризации с помощью семантического дерева, несложно определить нисходящий вывод для WFSX, — SLX (extended Selected Linear).
Определение 9.29. (SLX-T-вывод). Пусть P — расширенная программа, R — произвольное фиксированное правило вычисления. SLXT-вывод Gq,Gi, ... для G в программе Р через R определяется как Go = G. Пусть G, есть Li,..., L^ и предположим, что R выбирает литеру L^(l < к < п). Тогда
• если L^ — объективная литера и входное правило:
L^ Bi,..., Вт. то выводимая цель — это:
Lb • • • 1 Lk—i^ В^ • • • 1 Вт^ -^fc+i,..., Ln
• если Ly = not Л, то если существует SLX-T-опровержение для ^А в Р или не существует SLX-TU-опровержения для Л в Р, то выводимая цель есть
£ъ..., L^—y^ Z/^-i-i,..., Ln
в противном случае G^ — последняя цель в выводе.
Определение 9.30. (SLX-TU-вывод). Пусть Р — расширенная программа и R — произвольное фиксированное правило вычисления. SLX-TU-вывод Go, Gi,... для G в программе Р через R определяется как Go = G. Пусть G^ есть Li,...,Ln и предположим, что R выбирает литеру L^X < к < п). Тогда
если Lk — объективная литера, то
если существует SLX-T-опровержение для ^Lk, то G^ — последняя цель в выводе;
в противном случае, если входное правило есть:
Lk -Si, • • • 1 Вт.
то выводимая цель есть:
L-^..., Lk—\i -Si,..., Вт. Lk-\-i^ • • • i L^
если не существует правила для L^ то G^ — последняя цель в выводе;
если Lk — умолчание вида not Л, то
если существует SLX-T-опровержение для <— А в программе Р, то Gi - последняя цель в выводе;
если все SLX-T-выводы для А являются SLX-T- неуспешными, то выводимая цель есть:
L^..., Lk—i-, Lk-^-h • • • i L^
из-за бесконечной рекурсии через отрицание по умолчанию может случиться, что описанных случаев окажется недостаточно для определения выводимой цели. Тогда, по определению, выводимой целью будет также
Li,..., Lk—1, Lk-\-i^ • • • i Ln.
Определение 9.31. (SLX-опровержение и неуспех). SLX-T- опровержение (соответственно, SLX-TU-опровержение) для литеры G в программе Р — это конечный SLX-T-вывод (соответственно, SLX-TU-вывод), завершающийся пустой целью (^ □). SLX-T-вывод (SLX-TU-вывод) для литеры G в программе Р есть SLX-T-неуспех (SLX-TU-неуспех) тогда и только тогда, когда этот вывод не является опровержением, т. е. бесконечен или заканчивается целью, отличной от пустой.
Теорема 9.10 (Состоятельность SLX). Пусть Р — непротиворечивая расширенная логическая программа, L — произвольная литера из Р. Если существует SLX-T-опровержение для L в F, то L е WFM(P).
Теорема 9.11 (Теоретическая полнота SLX). Пусть Р — непротиворечивая расширенная программа, и L — произвольная литера из Р. Если L Е WFM^P\ то существует SLX-T-опровержение для Lb Р.
Теорема 9.12 (Противоречивые программы). Если Р — противоречивая программа, то существует литера L Е Н, для которой существует SLX-T-опровержение как для £. так и для ^L.
.2.4-3. О достижении останова SLX-процедуры. Хотя SLX состоятельна и полна для WFSX, она не является эффективной даже для конечных фундаментальных программ. SLX не содержит механизма для обнаружения циклов, поэтому полнота является лишь идеальной. Как и WFS для нормальных программ, WFSX, вообще говоря, не вычислима, поэтому в общем случае нельзя гарантировать завершение.
Чтобы обеспечить останов, по крайней мере, для конечных фундаментальных программ, введем правила, отсекающие SLX-выводы и исключающие как циклическую положительную рекурсию, так и циклическую рекурсию через отрицание по умолчанию (отрицательную рекурсию). Будем использовать два вида предшественников вывода:
локальные предшественники назначаются литерам в выводимых целях и используются для выявления циклической положительной рекурсии. Чтобы включать локальных предшественников, заменим литеры в целях парами L^ : S^ где L^ — литера и 8^ — множество ее локальных предшественников.
глобальные предшественники назначаются выводам и используются для выявления циклической отрицательной рекурсии.
В И-дереве локальные предшественники литеры — это литеры, появляющиеся на пути от корня дерева к данной литере. Глобальные предшественники вспомогательного вывода — это локальные предшественники породившей его литеры L и цель предшествующего вывода, в котором появилась литера L. Для вывода верхней цели не существует глобальных предшественников. Глобальные предшественники могут быть поделены на два множества: глобальные Т-предшественники и глобальные TU-предшественники (в зависимости от того, в каком выводе они были получены).
Чтобы справиться с проблемой останова для циклической положительной рекурсии, достаточно гарантировать, что не будут строиться бесконечные выводы. Этого можно достичь, если ни одна из выбранных литер, принадлежащих своему множеству локальных предшественников, не развертывается.
Первое правило обрезки. Пусть Gt — цель в SLX-выводе (Т или TU) и пусть L^ — литера, выбранная правилом R. Если L^ принадлежит своим локальным предшественникам, то Gt — последняя цель в выводе.
Лемма 9.2 (Редукция отрицательных циклов). В SLX-T-выводах все циклические отрицательные рекурсии могут быть выявлены, если рассматривать только их глобальных предшественников.
Пример 9. 25.
Отрицательный цикл в программе Р = {а not 5, b not а} не выявляется ни с помощью единственной проверки того, принадлежат
12 В.Н. Вагин и др.
ли цели в SLX-T-выводе своим глобальным TU-предшественникам, ни с помощью единственной проверки принадлежности литер в SLX-TU- выводе своим глобальным Т-предшественникам. Строятся следующие выводы:
Таблица 9.2
SLX-T-вывод
SLX-TU-вывод
SLX-T-вывод
SLX-TU-вывод
«— a
^not b
b
^not a
«— a
^not b
b
^not a
Объективная литера а из SLX-T-вывода не появляется в SLX-TU- вывод ах. То же касается и Ь. Все SLX-T-выводы для неуспешны.
Единственная проверка принадлежности литеры в SLX-TU- выводах своим глобальным TU-предшественникам не выявляет рекурсии, например, в следующей программе:
^а <— not а
Лемма 9.2 дает второе правило обрезки.
Второе правило обрезки. Пусть G^ — цель в SLX-T-выводе и пусть Lk — литера, выбранная правилом R. Если Lk принадлежит множеству глобальных Т-предшественников, то G^ — последняя цель в выводе.
Теорема 9.13 (Исключение циклической рекурсии для WFSX). Первое и второе правила обрезки необходимы и достаточны для того, чтобы гарантировать исключение всех положительных и отрицательных рекурсий.
Заметим, что в правилах обрезки не используются TU-предшественники.
Определение 9.32. (SLX-T-вывод с предшественниками). Пусть Р — расширенная программа и R — произвольное фиксированное правило вычисления. SLX-T-вывод Go, Gi,... для G в программе Р по правилу R с Т-предшественниками ST определяется как Go = G : {}. Пусть Gt есть L^ : Sy,..., Ln : Sn и предположим, что R выбирает литеру Lk : ^(1 < к < п). Тогда
если Тк — объективная литера, Тк ф S& U ST, и входное правило есть Тк < By, • • •,Вт, то выводимая цель есть
Li : Sy,...,Lk_y : Sk_y,By : S',..., Вт : S',LMy : Sw,..., Туг • Sn,
где S' = Sk U {Lky,
если Lk — это not А, то если существует SLX-T-опровержение для ^A : {} в программе P с Т-предшественниками ST U Sk
или если не существует SLX-TU-опровержения для А : {} в программе Р с теми же предшественниками, выводимой целью будет:
L\ : Si,..., L^—x : Sk— i, Lk-^-i : Sk-v\,..., Ln : Su;
в противном случае G, — последняя цель в выводе.
Определение 9.33. (SLX-TU-вывод с предшественниками). Пусть Р — расширенная программа и R — произвольное фиксированное правило вычисления. SLX-TU-вывод Gq,Gi,... для G в программе Р по правилу R с Т-предшественниками ST определяется как Go = G : {}. Пусть G, есть Ly : Si,..., Ln : Sn и предположим, что R выбирает литеру Lk : Sk(l к < п). Тогда
если Lk — объективная литера,
если Lk Е Sk или не существует правила для Lk, то G^ — последняя цель в выводе;
иначе, если существует SLX-T-опровержение для ^Lk : {} с Т-предшественниками ST, то G, — последняя цель в выводе;
в противном случае, если входное правило есть Lk By,..., Вт, то выводимой целью будет:
Ly : Si,..., Lk_y : Sk_y,By : S',..., Bm : S',: Sfc+i,
..., Ln : Sn, где S' = Sk U (LkY
если Lk — это not A, to
если существует SLX-T-опровержение для A : {} в программе P с Т-предшественниками ST, то G, — последняя цель в выводе;
в противном случае выводимой целью будет:
Ly : Sy,..., Lk_y : Sk— i, Lk_^_y : S/^-j-i,..., Ln : Sn.
Теорема 9.14 (Корректность процедуры SLX с предшественниками). Пусть Р — непротиворечивая расширенная программа. Тогда
если L Е WFM(P), то существует SLX-T-опровержение для L : {} с пустыми Т-предшественниками. Более того, все вспомогательные выводы, используемые в опровержении, конечны, и их число также конечно;
если L ^ WFM(P), то все SLX-T-выводы для L : {} с пустыми Т-предшественниками конечны и заканчиваются целью, отличной от И Более того, все необходимые вспомогательные выводы конечны, и число их конечно.
Работа с противоречиями
Как отмечалось, WFSX определена не для каждой программы, т. е. некоторые программы противоречивы и не имеют смысла. Однако для некоторых программ это может быть слишком сильным ограничением.
Пример 9. 26.
Рассмотрим утверждения
обычно студенты юны (если не доказана аномальность студента по отношению к свойству «быть юным»);
Джон — студент и не юн;
Сократ — человек.
Они естественным образом выражаются программой (аЬ — предикат аномальности)
юн(Х) студент(Х), not ab(X)
студент (Джо к)
^юн(Джон)человек(Сократ)
Для этой программы не существует WFSX. Хотя, интуитивно, мы можем сказать, что Сократ — человек и Джон — студент. Разумно также заключить, что Джон не юн, так как правило, говорящее, что он не юн, будучи фактом, сильнее того, которое заключает, что Джон юн. В самом деле, всякий раз, когда предположение вызывает противоречие, кажется логичным иметь возможность отменить предположение, чтобы избежать противоречия, т. е. вывод по противоречию — это вывод «от противного».
Оказывается, приемлемость одной гипотезы может находиться в условной зависимости от приемлемости другой. Это типично при предположении повреждений в устройстве, где всякий раз предположению более серьезных повреждений отдается предпочтение по сравнению с менее серьезными, являющимися следствиями. Более того, может вводиться критерий предпочтения, определяемый пользователем или ориентированный на прикладную область.
Пример 9. 27.
Следующая программа описывает состояния велосипеда:
^неустойч и вое _ колесоnot сдутая _ ши на, not сломанные_спицы
сдутая_шина пропускает_ниппельсдутая_шина дырявая_камера
^нет света not неисправен_генератор
Дополнительно известно наблюдение: неустойч и вое_ колесо. Можно определить смысл программы следующим образом: }неустойчивое_ колесо, not неисправен_ генератор, ^нет_ света, not нет_света, not пропускает-ниппель, not дырявая_ камера}, не
принимая ни гипотезы not сдутая_шина, ни not сломанные_спицы, так как если принять любую из них, то при допущении остальных возникает противоречие. Но, возможно, желательно, чтобы в этом случае семантика глубже учитывала модель велосипеда и снова, будучи скептической, не принимала бы ни not пропускает_ ниппель, ни not дырявая_ камера.
Чтобы выполнить подобные эпистемиологические требования, можно ввести понятие оптативного принятия гипотез. Оптативные гипотезы — это гипотезы, которые в случае приемлемости могут приниматься, а могут и нет. В то же время в случае приемлемости могут быть приняты и гипотезы, не являющиеся оптативными. Оптативные гипотезы могут задаваться пользователем или выводиться из программы при заданном критерии (например, гипотеза не должна зависеть от остальных). Такая очень скептическая семантика моделирует разумного агента, считающего программу абсолютно правильной, и всякий раз, когда он сталкивается с приемлемой гипотезой, приводящей к противоречию, он не принимает ее. Разумный агент предпочитает скорее считать программу корректной, чем допустить, что приемлемая гипотеза обязательно должна быть принята.
WFSX моделирует менее скептических агентов, которые сталкиваясь с противоречивым сценарием, предпочитают скорее считать программу неправильной, чем допустить, что приемлемые гипотезы не будут приняты. Такой агент более уверен в своем критерии приемлемости: приемлемая гипотеза принимается раз и навсегда; если же возникает противоречие, то наверняка проблема в программе, а не в индивидуальной приемлемости каждой приемлемой гипотезы. Если же проблема в программе, то требуется ее пересмотр.
Эта точка зрения оправдана, если мы думаем, что программа — это нечто динамическое, т. е. каждая программа получается в результате ассимиляции (усвоения) знаний предыдущей программой. Если при ассимиляции знаний возникает противоречие, то необходимо выполнить процесс пересмотра для восстановления непротиворечивости.
Ковальский утверждает, что понятие ограничений целостности (integrity constraints) необходимо в логическом программировании как для обработки и представления знаний, так и для их ассимиляции. Проблема противоречивости возникает в случае, когда не удовлетворяются ограничения целостности. Если некоторое новое знание не совместимо с ограничениями целостности, то процесс пересмотра должен восстановить соблюдение ограничений. В расширенном логическом программировании мы можем рассматривать требование непротиворечивости как удовлетворение ограничениям целостности вида £. ^L. Мы будем использовать ограничения целостности в форме отрицаний (denials).
Пример 9. 28.
Пусть программа должна утверждать, что: «Не известно никого, кто являлся бы и республиканцем, и демократом». Это знание может быть легко представлено с помощью ограничения целостности:
демократ (X), республиканец(Х).
Вернемся к примеру о Джоне (9.26). Можно считать, что эта программа — результат усвоения знаний предыдущей БЗ. Например, мог быть добавлен факт о том, что Джон не юн. В WFSX результирующая программа противоречива. Один из способов восстановления непротиворечивости программы состоит в том, чтобы добавить правило, утверждающее, что аЬ(Джон) не может быть ложно, т. е. это утверждение может привести к противоречию:
аЬ(Джон) not аЬ(Джон).
В результате программа становится непротиворечивой, и ее WFSX — это (человек (Сократ), -жн(Джон), студент (Джон), not юн (Джон)}, что согласуется с интуицией.
Как утверждает Рейтер, главная идея ограничений целостности состоит в том, что только определенные состояния программы являются приемлемыми, и эти ограничения предназначены для указания этих приемлемых состояний. Ограничения целостности могут быть двух типов:
Статические ограничения зависят только от текущего состояния программы и не зависят от предыдущих состояний. (Пример — задача о демократах и республиканцах).
Динамические ограничения зависят от двух и более состояний программы. Например, приобретаемые работником знания не могут исчезать (они накапливаются).
Мы будем рассматривать только статические ограничения целостности в форме отрицаний. Программа с правилами целостности (или ограничениями) — это множество правил плюс множество отрицаний или правил целостности вида
± Ai,..., Ап, not Bi,, not Вт,
где Ai,..., Ап, Bi,..., Bm — объективные литеры, и п + т > 0. Символ ± обозначает ложь. Программа Р с семантикой S удовлетворяет ограничениям целостности тогда и только тогда, когда Р 'A s±.
Удаление противоречий
Итак, чтобы справиться с противоречиями, возникающими из- за предположения о замкнутости мира, вместо определения более скептической семантики можно использовать менее скептическую семантику, дополненную процессом пересмотра, восстанавливающим
непротиворечивость всякий раз, когда нарушаются ограничения целостности.
Определим процесс пересмотра, восстанавливающий непротиворечивость по отношению к WFSX. Этот процесс связан с разрешением отменять предположения об истинности негативных литер. Множество литер, для которых может быть пересмотрено допущение об их истинности, называется множеством пересматриваемых литер и может быть любым подмножеством not Н.
Мы будем считать, что любые литеры по умолчанию могут быть пересмотрены. Предполагается, что пересматриваемые литеры указываются пользователем. Мы определим скептический процесс пересмотра, который включает все варианты пересмотра и ни одному из них не отдает предпочтения. Рассмотрим непротиворечивую программу Р;
р <— notq
^р г, not t
Допустим, что дана дополнительная информация г. Предлагаются следующие модели для Р U {г}:
{г} — минимальная модель
{г, р, not ^р, not q^ {г, ^р, not р, not Д.
Последние две модели пытаются минимально изменить WFM программы F, чтобы принять новую информацию. Например, вторая модель предпочитает считать t неопределенным в отличие от случая предположения замкнутости мира, а третья делает неопределенным значение q. {г} предполагает неопределенными и t, и q. При этом выполняются необходимые и достаточные изменения в соответствии с новой информацией, т. е. не отдается предпочтения ни одной из пересматриваемых литер.
Ревизии — это программы, получаемые единственным образом из исходной, для которых каждая из непротиворечивых моделей является WFSX. Для приведенного примера ревизиями являются следующие программы:
Р U {г} U {t not Д
Р U {г} U {g not q^
Р U {г} U {t not t; q not q^
Заметим, что правило вида L <— not L делает неопределенной гипотезу not L.
Паранепротиворечивая WFSX
Для того, чтобы выполнить пересмотр, необходимо сначала определить противоречивые множества, порождаемые программой в пара- непротиворечивой семантике. Основная идея — вычислить все следствия программы, включая те, которые приводят к противоречиям, и те, которые следуют из противоречий.
Пример 9. 29.
Пусть задана программа Р:
а not b (I)
^а <— not с (II)
d not a (III)
е not (IV)
Для программы Р справедливы следующие утверждения:
not Ъ и not с выполняются, так как не существует правил для Ь и с;
и а следуют из и. 1 и правил I и II;
not а и not -и следуют из и. 2 и принципа когерентности;
d и в выполняются по п. 3 и правилам III и IV;
not d и not в выполняются по п. 2 и правилам III и IV, единственным для d и е;
not ^d и not ^е следуют из п. 4 и принципа когерентности.
В результате все множество следствий есть
(not b, not с, ^а, a, not a, not ^а, d. е, not d. not е, not ^d, not ^e}.
Будем считать, не теряя общности, что программы всегда находятся в каноническом виде. Определим сначала интерпретацию для паранепротиворечивого случая.
Определение 9.34- (р-интерпретация). р-интерпретация I — это любое множество Т U not F такое, что если ^L Е Т, то L Е F (когерентность).
Определение 9.35. (Оператор Cohp). Пусть QI = QTVJ not QF — множество литер. Мы определяем оператор Cohp(QI) как р-интерпретацию Т U not F такую, что Т = QT и
F = QFU^L\LeTY
Заметим, что в этих определениях не требуется, чтобы множества
Т и F не пересекались.
Р
В компактной версии —-трансформации (см. теорему 9.4) можно применять первые две1 операции в произвольном порядке, так
как условия их применения независимы при любой интерпретации. Возможность потенциального конфликта остается при применении
и первой, и второй операций, но этого не происходит, так как если некоторое А 6 1, то not А ф 1, и наоборот. Но это не выполняется в случае р-интерпретаций pl. где множеству р! могут принадлежать А и not А. Следовательно, результат будет зависеть от порядка применения операций.
Рассмотрим, например, программу из примера 9.29 и найдем Р
трансформацию 77. Если приме-
not not a, not о, not с}
нять сначала операцию 1, а затем 2, то получается:
правила III и IV удаляются, так как и а, и принадлежат р- интерпретации;
not Ъ и not с удаляются из правил, так как они принадлежат р-интерпретации.
В результате программа имеет вид а <—
Но если изменить порядок применения операций, то:
not b, not с, not a, not ^а удаляются из правил, так как они принадлежат р-интерпретации;
так как больше нет литер в теле правил, то другие операции не применяются.
Результирующая программа:
в <—
Чтобы трансформация не зависела от порядка применения операций, определим соответствующую трансформацию для паранепроти- воречивого случая как недетерминированную по порядку применения этих операций.
Р — кано-I — р-ин- программу,Р — кано-I — р-ин- программу,Определение 9.36. р — трансформация). Пусть ническая расширенная логическая программа и пусть Р терпретация. Под — р-программой мы понимаем любую
Р — кано-
I — р-ин- программу,
Р — кано-
I — р-ин- программу,
полученную из Р сначала путем недетерминированного применения
следующих операций (до тех пор, пока они не будут неприменимы):
удалить все правила, содержащие умолчания L = not Л, такие что А Е I;
удалить из правил их умолчания L = not А такие, что not А Е I.
Затем все оставшиеся умолчания необходимо заменить на высказывание и. Чтобы получить все следствия программы, даже приводящие к противоречиям и следующие из противоречий, мы рассмотрим
следствия всех таких —р-программ.
Определение 9.37. (Фр-оператор). Пусть Р — каноническая расширенная логическая программа; I — р-интерпретация; Р^^ где Р
k Е К, — все возможные результаты применения — р. Тогда
ФДП = U CohPQeast^Yкек
Теорема 1.15 (Монотонность для Фр). Оператор Фр монотонный по отношению к включению множеств р-интерпретаций.
Следовательно, для каждой программы существует наименьшая фиксированная точка, и она может быть получена с помощью итераций оператора Фр, начинающихся с пустого множества.
Определение 9.38. (Паранепротиворечивая WFSX). Паранепро- тиворечивая WFSX канонической расширенной логической программы Р, обозначаемая через WFSXp(P), — это наименьшая фиксированная точка оператора Фр, примененного к Р. Если некоторая литера принадлежит паранепротиворечивой WFSX программы Р, то будем записывать Р |=р L.
Утверждение 9.5. WFSXp(P) определена для любой программы с ограничениями целостности IC.
Пример 9. 30.
Вычислим паранепротиворечивую WFSX для программы из примера 9.29. Р уже находится в каноническом виде. Начнем с пустого Р
множества. Единственная программа, получаемая из — р — это Род (здесь и далее используется нумерация Р^, где г — номер интерпретации, а к — номер программы, полученной в результате применения ,Р х
трансформации — ру
а и г
и d и е и
и Д = Cohp(least(Ро i)) = {not b^ not с}.
P’
По — p получаем единственную программу Рур
а <—
<—
d и
е и
и Д = Cohp(least(Pi 1)) = {a, not ^а, ^а, not а, not b, not с}. Р ’
Результатом — р являются четыре программы:
12
?2Д :а?2,3 :а -^2,4 :
ddе
Например, Р2Д получается с помощью применения второй операции к правилам III и IV, так как not а и not ^а принадлежат /2- ?2Д получается применением первой операции к правилам III и IV, что
возможно, так как а и -о принадлежат I2.
P ie}. Применяя —I aP ie}. Применяя —I aЛегко видеть, что I3 = ФД/2) = {not b, not с, ^а, a, not а,
P ie}. Применяя —
I a
P ie}. Применяя —
I a
notnotp получаемp получаем^а, d. е, not d. not е, not ^d, not
not
not
p получаем
p получаем
ту же программу, следовательно, ФР(Д) = Д, т. е. I3 — наименьшая
фиксированная точка оператора Фр, и поэтому она является WFSXP программы Р.
Определение 9.39. (Противоречивая программа). Программа Р с языком Lang, в котором А — атом, и множеством ограничений целостности IC противоречива тогда и только тогда, когда Р U IC U U {± Л, ^А\А е Lang} \=р ±.
Утверждение 9.6. Для непротиворечивой программы Р паране- противоречивая WFSX совпадает с WFSX.
Декларативные ревизии
Перед тем, как рассмотреть вопрос о том, какие предположения необходимо пересмотреть, чтобы устранить противоречие, начнем с определения того, как включить в программу ревизию, устраняющую некоторое пересматриваемое предположение, т. е. правила специального вида, препятствующие ложности объективных литер в моделях программы.
Определение 9.^0. (Подавляющее правило). Подавляющее правило (inhibition rule) для умолчания not L есть L not L. Через IR^S\ где S — множество умолчаний, будем обозначать множество
IR(S) = (L not L\ not L e 5}.
Эти правила устанавливают, что если not А — истина, то Л — также истина, и в результате возникает противоречие. Интуитивно это то же самое, что и ограничение целостности вида ± not А. Технически разница в том, что удаление такого противоречия в случае
364 Немонотонные логики в логическом программировании [Гл. 9 подавляющих правил выполняется самой WFSX, а в случае ограничений целостности — нет.
Утверждение 9.7. Пусть Р — любая программа такая, что для объективной литеры L, Р ¥р -И. Тогда: PlJ {I— not L^ ^р not L. Более того, если не существует других правил для Д то истинностное значение L не определено в WFSXp(P).
Такие правила при добавлении в программу позволяют сделать умолчания неопределенными в паранепротиворечивой WFSX.
Чтобы декларативно определить ревизии противоречивой программы, начнем с рассмотрения результирующих WFSX для всех возможных ревизий программы Р с подавляющими правилами. Они получаются удалением пересматриваемых предположений, даже если некоторые ревизии остаются все еще противоречивыми программами.
Заметим, что, возможно, несколько различных ревизий фактически соответствуют одной и той же в том смысле, что они приводят к одинаковым следствиям.
Пример 9. 31.
Рассмотрим программу Р:
± not а
а b
b а
а с
с пересматриваемыми литерами Rev = {not a, not 6, not с}.
Заметим, что добавление правил а not а или b not Ь (можно одновременно) приводит к одним и тем же следствиям. Интуитивно они являются одной и той же ревизией, так как неопределенность а приводит к неопределенности 6, и наоборот.
Пересматриваемые литеры not а и not Ъ неразделимы, и поэтому не имеет значения, какие подавляющие правила будут добавлены в программу (для а, 6, или и то, и другое). В дальнейшем мы объединим эти ревизии в одну стандартную, которая добавляет оба правила.
Определение 9-41- (Неразделимые литеры). Пусть Р — расширенная логическая программа с пересматриваемыми литерами Rev. Множество Ind(S) D S неразделимых литер (indissociable literals) множества умолчаний S — это наибольшее подмножество множества Rev такое, что
Ind(S) С WFSXp(P) и
WFSXP(F U IR(S)) П Ind(S) = {} (если последнее условие не выполняется, положить Ind (S') = {}).
Таким образом Ind(S) — множество всех пересматриваемых литер, истинностные значения которых изменяются с истины на неопределенность, как только добавляются подавляющие правила для каждого умолчания из S.
Нетрудно видеть, что такое наибольшее множество всегда существует (так как Ind монотонный оператор), и что Ind — оператор замыкания. Более того, справедливо и приведенное ниже утверждение.
Утверждение 9.8. Пусть М = WFSXP(FU7’R(5)) для некоторого подмножества S множества Rev, тогда WFSXp(FU/R(Ind(5)T)) = М.
В примере 9.31 Ind({not а}) = Ind({not 5}) = {not а, not 5} и Ind({not с}) = {not а, not 5, not с}.
Определение 9.42. (Подмодель). Подмодель (противоречивой) программы Р с ограничениями целостности IC и пересматриваемыми литерами Rev есть любая пара <М, R>, где R — подмножество множества Rev, замкнутое относительно неразделимых литер, т. е.
^SCR, Ы^СН^
М = WFSXP(F U {L not L\ not L e R}).
В подмодели <M, R> назовем R ревизией подмодели, М — следствиями ревизии подмодели. Подмодель противоречива тогда и только тогда, когда М противоречиво (т. е. либо М содержит ±, либо не является интерпретацией). Заметим, что подмодели в точности соответствуют ревизиям программы.
Существование WFSXp(P) для любой программы Р (утв. 9.5) гарантирует, что М существует для каждого подмножества множества Rev. Более того, так как Ind — оператор замыкания, то выполняется приведенное ниже утверждение.
Утверждение 9.9. Множество всех подмоделей <М, R> любой программы Р с пересматриваемыми литерами Rev образует полную решетку (по включению множеств) на ревизиях подмоделей.
Решетка подмоделей для примера 9.31 представлена на рис. 9.1 (для каждой подмодели, изображенной в эллипсе, вверху записано множество М, а под ним — R).
Рис. 9.1.
Пример 9. 32.
Рассмотрим программу Р с пересматриваемыми литерами
Rev = {not q. not r, not 6}:
p <— not q
^p <— not r a notb
Ее решетка подмоделей представлена на рис. 9.2, где отмеченные жирной линией подмодели противоречивы. Противоречивые модели представлены не полностью.
Так как мы будем выполнять пересмотр противоречия с минимальными изменениями, то нас будут интересовать те подмодели, которые непротиворечивы и являются минимальными в решетке подмоделей.
Определение 9.43. (Минимальная непротиворечивая подмодель). Подмодель <М^ R> — минимальная непротиворечивая подмодель (MNS — minimal noncontradictory submodel) программы Р тогда и только тогда, когда она непротиворечива и не существует другой непротиворечивой подмодели <М\ R'> такой, что R' С R.
По определению, каждая MNS программы Р соответствует ревизии программы Р вида Р U RevRules (RevRules — множество подавляющих правил для некоторой ревизии подмодели), которая гарантирует непротиворечивость, и для любого множества правил
RevRules' С RevRules, замкнутого относительно неразделимых литер, Р U RevRules7 противоречиво. Другими словами, каждая MNS соответствует такой ревизии программы Р, которая восстанавливает непротиворечивость и добавляет минимальное множество правил подавления для пересматриваемых литер, замкнутое относительно неразделимых литер.
Пример 9. 33.
Пусть дана программа Р где s(X) обозначает число, на 1 большее X:
рОО ^p(s(X)) а not p(s(X))
Пусть Rev = {not р(г)\г > 0}. Единственными множествами подавляющих правил, которые удаляют противоречие, являются такие множества IR(Sk^ что Sk = {not р(г)| г > к^. Ни одно из них не является минимальным. Тем не менее, замыкание относительно неразделимых литер есть S = {not р(г)| г > 0}. Таким образом, единственная непротиворечивая модель — это <М, S>, где М = {Да. not а}, которая и является единственной MNS. Заметим, что в действительности М — модель для каждой из перечисленных ревизий.
Очевидно, что литеры в ревизии подмодели на самом деле изменяют свое истинностное значение при добавлении подавляющих правил.
Утверждение 9.10. Если <М, R> — это MNS программы F, то R С WFSXP(F).
Определение 9-44- (Минимально пересмотренная программа). Пусть Р — программа с пересматриваемыми литерами Rev, и <М, R> — некоторая MNS программы Р. Минимально пересмотренная программа (MRP — minimally revised program) для Р есть PU IR(R^ т. е. программа Р, к которой добавлено одно подавляющее правило для каждого элемента R.
Утверждение 9.11. Если Р непротиворечива, то ее единственная MNS — это <WFSX(P),{}> и сама Р является минимально пересмотренной.
Пример 9. 34.
Минимально пересмотренные программы для программы Р из примера 9.32 — это
MRP\ = {рnot щ ^рnot г; аnot b, qnot q^ и
MRP2 = {рnot щ ^рnot г; аnot 6; гnot г}.
Каждая из этих двух программ есть трансформация исходной, которая минимальным образом устраняет противоречие, отменяя предположение об истинности для некоторых пересматриваемых литер с помощью правил подавления. В этом примере можно избежать
противоречия для р либо вернувшись к предположению замкнутости мира о ложности q (истинности not q), либо о ложности г (соответственно, программы MRPi и MRP2). Так как нет причин присваивать неопределенное значение только q или только г, то естественно, что результатом скептической ревизии должно быть присвоение неопределенного значения обеим литерам.
Определение 9.45. (Скептическая ревизия). Скептическая подмодель программы Р — это объединение <Mj, Rj> всех MNS программы Р. Скептически пересмотренная программа Р — это программа, полученная из Р путем добавления к ней правил подавления для каждого элемента множества Rj.
Необходимо гарантировать, что скептическая ревизия действительно устраняет противоречие в программе.
Утверждение 9.12. Пусть <Mi, Ri> и <М2, R^> — две любые непротиворечивые подмодели. Тогда подмодель <M,R^ U Ra также непротиворечива.
Пример 9. 35.
Рассмотрим противоречивую программу Р с пересматриваемыми литерами Rev = {not q. not a, not 5}:
p <— not q
q <— not r r <— not s ^p <— not a ^a not b На рис. 9.3 показана решетка подмоделей для программы Р, где
MNS отмечены штриховой линией, а скептические подмодели выделены жирной линией.
Пример 9. 36.
Рассмотрим программу, представляющую так называемый ромб Никсона:
±пацифист (X), милитарист (X)
пацифист(Х) квакер(Х), not аЬ_квакер(Х)милитарист(Х) республиканец(Х), not аЬ_республиканец(Х)квакер (Никсон)республиканец (Никсон )
Эта противоречивая программа Р имеет две MRP:
к Р добавляется правило ab_ квакер not ab_ квакер;
к Р добавляется правило
ab_ республиканец not ab_ республиканец.
Обе эти программы имеют непротиворечивые WFSX: {милитарист (Никсон), квакер (Никсон), республиканец(Никсон), not аЬ_республиканец(Никсон)}
и
{пацифист (Никсон), квакер (Никсон), республиканец(Никсон),not ab_ квакер (Никсон)}
(соответственно, для первой и второй ревизий).
Скептическая подмодель программы получается с помощью добавления двух правил подавления. Ее WFSX — это {квакер(Никсон), республиканец Никсон)}. Здесь видна необходимость требования единственности скептической ревизии, так как нет смысла отдавать предпочтение ни одному из утверждений «Никсон — пацифист» или «Никсон — милитарист».
У некоторых программ может и не существовать пересмотренной версии. Это происходит в том случае, когда противоречие основывается на непересматриваемых литерах.
Пример 9. 37.
Рассмотрим программу Р с пересматриваемыми литерами Rev = {not с}: а not Ъ b <— not с с
Подмодели Р — это <WFSXp(P),{}> и <WFSXp(P U {с not с}), {not с}>. Так как обе эти подмодели противоречивы, то у Р не существует MNS и, следовательно, не существует ревизий. Заметим, что если бы not Ъ было пересматриваемым, то у программы была бы ревизия Р U {Ь not Ь}. Если бы not Ъ не было в первом правиле, то Р не имела бы ревизий, независимо от выбора пересматриваемых литер.
Определение 9.46. (Непересматриваемая программа). Противоречивая программа Р с пересматриваемыми литерами Rev не пересматриваема тогда и только тогда, когда у нее не существует непротиворечивой подмодели.
Поддержка и устранение противоречий
Подмодели характеризуют возможные ревизии и критерий минимальности. Конечно, вряд ли процедура поиска минимальной и скептической подмоделей может быть основана на их определении: потребовалось бы сгенерировать все возможные ревизии и затем выбрать те, которые необходимо. Определим процедуру пересмотра и покажем, что она согласуется с определенными ранее ревизиями.
Процедура основывается на понятиях поддержки противоречия и множествах удаления противоречий. Информативно, поддержка противоречия — это множества пересматриваемых литер из WFSXP, которые достаточны для поддержки ±. Из их истинности неизбежно следует истинность ±.
Множества удаления противоречия строятся по множествам поддержки противоречия. Они представляют собой минимальные множества таких литер, выбранных из множеств поддержки, что любое множество поддержки ± содержит, по крайней мере, одину литеру из множества удаления противоречия. Следовательно, если все литеры в некотором множестве удаления противоречия имеют неопределенные значения, то не существует поддержки для ±.
Пример 9. 38.
Рассмотрим программу из примера 9.32. Ее единственным множеством поддержки противоречия является {not щ not г} и ее множества удаления противоречия — это {not <Д и {not г}. Допустим, что q было бы не определено как результат правил для q. В этом случае ± также было бы не определено, и программа становится непротиворечивой. То же случилось бы, если бы г было не определено. Ни одно другое множество, не содержащее ни одну из этих двух альтернатив, не обладает этим свойством.
Определение 9.47. (Поддержка литеры). Множества поддержки (support set) литеры L. принадлежащей WFSXP программы Р с пересматриваемыми литерами Rev (каждое из них представляется как 88(1^ получаются следующим образом.
• если L — объективная литера:
если существует факт для £. то поддержка L — это ss(L) = О;
для каждого правила: L Si,..., Вп. n ^ 1 в Р такого, что {Si,..., Вп^ С WFSXp(P), существует поддержка L
вида SS(L) = |JSSj^^Bi) для каждой комбинации одного J(z) с каждым г;
если L = not А ^А — объективная литера):
если L Е Rev, то поддержка L — это SS(L) = {£};
если L ^ Rev и не существует правил для Л, то поддержка L - это SS^ = {};
если L ф Rev и существуют правила для Л, выбрать из каждого правила для А такую литеру L\ что ее дополнение по умолчанию not U Е WFSXp(P). Для каждой такой литеры существует несколько SS(L'Y и каждое из них состоит из поддержки для каждого дополнения по умолчанию, not U выбранных литер;
если ^А Е WFSXp(P), то существуют еще множества поддержки SS(L) = SS^t^A) для каждого к.
Пример 9. 39.
Рассмотрим программу Р из примера 9.35. Ее паранепротиворе- чивые фундированные следствия — это WFSXp(P) = {not s, г, not q. p, not ^p, not 5, ^a, not a, ^p, not p}. Множества поддержки для p вычисляются следующим образом:
из единственного правила для р заключаем, что множества поддержки для р — это множества поддержки для not q^
так как not q — пересматриваемая литера, то одно из множеств поддержки — это {not q}:
так как ^q ^ WFSXp(P), то не существует других множеств поддержки для q.
Поэтому единственная поддержка для р — это {not qY Теперь можно определить множества поддержки для ^р:
из единственного правила для ^р можно заключить, что множества поддержки ^р совпадают со множествами поддержки для not се
так как not а — пересматриваемая литера, то {not a} — поддержка;
так как ^а Е WFSXp(P), то множества поддержки для ^а также поддерживают not се
из единственного правила для ^а заключаем, что множества поддержки также являются множествами поддержки для not Ъ;
аналогично, как и для not q. можно заключить, что единственной поддержкой not b является {not 5}.
В результате у литеры ^р есть две поддержки: {not а} и {not Ь}.
Пример 9. 40.
Множествами поддержки а в примере 9.33 являются
SSi(a) = {not р(1)}
SSt(a) = {not р(г)}
Утверждение 9.13 (Существование поддержки). Литера L Е WFSXp программы Р тогда и только тогда, когда у литеры L существует, по крайней мере, одна поддержка SS(L\
Определение 9.48. (Поддержка противоречия). Поддержка противоречия для программы Р — это поддержка ± в программе, получаемая из Р путем добавления к ней ограничений вида ± L, ^L для каждой объективной литеры L языка программы Р.
Далее рассматриваются программы, к которым уже добавлены все такие ограничения.
Пример 9. 41.
Множества поддержки противоречия программы Р из примера 9.35 — это объединение пар из множеств поддержки для р и ^р. Согласно результатам примера 9.39, Р имеет два множества поддержки противоречия: {not q, not а} и {not q, not 5}.
Поддержка противоречия — это множества пересматриваемых литер, истинных в WFSXp программы и принадлежащих одному из множеств поддержки противоречия (т. е. ±). Определив множества пересматриваемых литер, которые вместе поддерживают некоторую литеру, нетрудно построить такие множества пересматриваемых литер, что при полной их неопределенности истинность этой литеры обязательно становится необоснованной. Чтобы избежать построения лишних множеств, определим эти множества как замкнутые по отношению к неразделимым литерам.
Определение 9.49. (Множество удаления). Предварительное множество удаления (pre-removal set) литеры L. принадлежащей WFSXp программы Р, — это множество литер, образованное объединением некоторых непустых подмножеств из каждого SS(L\ Множество удаления (RS) литеры L — это замыкание относительно неразделимых литер предварительного множества удаления для L.
Если SS(L) — пустое множество, то, по определению, единственное RS(L) пусто. Заметим, что для литер, не принадлежащих WFSXp(P), RS не определяется.
Определение 9.50. (Минимальное множество удаления). В программе Р RSm(L) — минимальное множество удаления тогда и
только тогда, когда не существует множества RSi(L) в Р такого, что RSm(L) D RSyL\ Мы будем обозначать минимальное RS для L через MRSP(L).
Определение 9.51. (Множество удаления противоречия). Множество удаления противоречия (CRS — contradiction removal set) программы Р — это минимальное множество удаления литеры ±, т. е. CRS для Р - это MRSp(P).
Пример 9. 42.
Рассмотрим программу Р из примера 9.31. Единственная поддержка для ± — это SS(_L) = {not а}. Поэтому единственное предварительное множество удаления для ± — это также {not а}. Так как Ind({not а}) = {not а, not by то единственным множеством удаления противоречия является {not а, not by
Пример 9. 43.
Множества удаления ± в программе из примера 9.35 — это
RSi = {not q};RS2 = {not q. not a, not b};
RS3 = {not q. not by RS4 = {not a, not b};
RS5 = {not q. not аУ
Множества RSi и RS4 — множества удаления противоречия. Они в точности соответствуют ревизиям минимальных непротиворечивых подмоделей (см. рис. 9.3).
Пример 9. 44.
Единственное CRS для программы из примера 9.33 есть CRS = = {not р(г)\ г > 0}.
Очень важно гарантировать, что множества удаления противоречия действительно удаляют противоречие.
Лемма 9.3. Пусть Р — противоречивая программа со множеством удаления противоречия CRS. Тогда Р U IR(CRS) непротиворечива.
Следующие теоремы доказывают, что этот процесс согласуется с ревизиями, рассмотренными выше.
Теорема 9.16 (Состоятельность множеств CRS}. Пусть R — непустое множество CRS противоречивой программы Р. Тогда <М, R> — это MNS программы Р, где М = WFSX(P U IR(R}\
Теорема 9.17 (Полнота множеств CRS}. Пусть <М, R> — это MNS с R т^ {} для противоречивой программы Р. Тогда R — это CRS программы Р.
Теорема 9.18 (Непересматриваемые программы). Если {} — CRS программы Р, то Р — непересматриваемая.
Теорема 9.19 (Скептически пересмотренная программа). Пусть Р — противоречивая программа со множествами CRS вида R^
где k Е К. Скептически пересмотренная программа для Р есть F U {L not L\ not L E |J Rk}.
кек
Пример 9.45. Рассмотрим программу Р:
± not а
а b
со множеством Rev = {not a, not 5}. Подмодели Р есть:
{not а, not 6, ±}, {} >
{not 6}, {not а} >
{}, {not а, not 5} > .
В результате ее единственная MNS (и скептическая подмодель) — это вторая из приведенных подмоделей. Заметим, что не существует подмодели с ревизией {not 5}, так как
Ind({not 5}) = {not а}.
Если бы мы учитывали такую ревизию, то скептической подмоделью была бы третья подмодель. Единственной поддержкой для ± является {not а}, и она совпадает с единственным CRS.
Пример 9. 46.
Вспомним пример о студентах (9.26), где Rev = {not ab(X)}. Единственная поддержка для ± — это {not аЬ(Джон)} и в результате она совпадает с единственным множеством CRS. Поэтому единственной MRP и скептически пересмотренной программой является исходная программа, дополненная правилом аЬ(Джон) not аЬ(Джон), а ее WFSX есть:
{студент (Джон), юн (Джон), not юн (Джон), человек(Сократ)}, как и ожидалось.
Пример 9. 47.
Рассмотрим программу
поход not дождьплавание not дождьплавание not холодная_ вода± поход, плавание
и пусть Rev = {not дождь, not холодная_ вода}. Множества поддержки для ± — это {not дождь} и {not дождь, not холодная_ вода}. В результате для программы существует два множества удаления:
{not дождь} U {not дождь} = {not дождь}
{not дождь} U {not дождь,not холодная_вода} = {not дождь, not холодная_ вода}.
Единственное CRS и, следовательно, MRP, — это {not дождь}. Тогда скептически пересмотренная программа имеет вид
± поход, плаваниепоходnot дождь
дождьnot дождь
плавание not дождьплавание not холодная_ вода
и WFSX = ^not холодная_вода, плавание^.
Пример 9. 48.
Вспомним программу Р из примера 9.37. Ее паранепротиворечивая WFSX есть {с, ^а, not a, not b, a, not ^а}. Поддержка для ± получается путем объединения множеств поддержки для а и множеств поддержки для ^а. Так как единственным правилом для ж является факт, то единственная поддержка — это {}. Множества поддержки для а — это множества поддержки для not b, а для not Ь — множества поддержки для с. Снова, так как единственное правило для с — это факт, то его единственной поддержкой является {}. Следовательно, единственная поддержка ± — это {}, и в итоге Р нельзя пересмотреть.
WFSX, семантика логических программ сдвумя отрицаниями и автоэпистемическая логика
В последние годы были предприняты попытки изучения взаимосвязей между логическим программированием и формализмами немонотонного вывода. Такие связи оказались взаимовыгодными. С одной стороны, немонотонные формализмы обеспечивают изящную семантику для логических программ, особенно в том, что касается смысла отрицания по умолчанию, и помогают понять, как логическое программирование используется для формализации различных типов задач в искусственном интеллекте. С другой стороны, эти формализмы выигрывают благодаря существующим процедурам логического программирования. Более того, с помощью логического программирования были установлены связи между немонотонными формализмами.
Идея рассматривать логические программы как автоэпистемиче- ские теории впервые возникла у М. Гельфонда, который предложил обозначать каждую негативную литеру not L логической программы как ^BL (трансформация Гельфонда), т. е. not L получает эписте- мическое прочтение: «Нет повода иметь убеждение в истинности L». П. Бонатти изучал различные трансформации между литерами с отрицанием по умолчанию и литерами со степенью убеждения «belief literals», чтобы показать, как различные виды семантики логических программ могут быть получены из автоэпистемических логик.
В случае расширенного логического программирования взаимосвязи с формализмами немонотонного вывода позволяют уточнить смысл явного отрицания (^) и его связь с отрицанием по умолчанию.
Общая семантика для программ с отрицаниями двух видов
Логическую программу Р можно представить в виде множества общих дизъюнктов ^Р. которое будет называться дизъюнктивной логической программой. Множество общих дизъюнктов — это, как обычно, множество дизъюнктов вида L\ V ... V Ln, где L^ — либо атом Л, либо его классическое отрицание ^ А (отрицание в классической логике). Мы будем различать явное отрицание «^» и настоящее классическое отрицание «^», так как необходимо наиболее полно охарактеризовать отрицание «-ьх
Модели и интерпретации дизъюнктивных логических программ — это просто классические модели и интерпретации множеств общих дизъюнктов. Высказывания вида not_A (перевод умолчаний not А из программы Р для дизъюнктивной логической программы ^_Р) будем называть умолчаниями, а все остальные высказывания — объективными высказываниями.
Опишем стационарную и устойчивую семантику для программ с двумя видами отрицания. Рассмотрим параметризуемую схему. Для этого необходимо определить сначала два вида общей семантики для нормальных логических программ, расширенных дополнительным отрицанием: первая семантика расширяет стационарную семантику для нормальных логических программ (она эквивалентна фундированной семантике), а вторая — семантику устойчивых моделей. Это примеры общей семантики, так как здесь делаются минимальные предположения о дополнительном виде отрицания. Напротив, смысл отрицания по умолчанию оказывается полностью определенным в этих общих видах семантики. В дальнейшем схема будет обобщена, чтобы параметризовать ее и по отношению к отрицанию по умолчанию.
Определим стационарное расширение нормальных программ.
Определение 9.52. (Минимальные модели). Минимальная модель теории (или множество общих дизъюнктов) Т — это модель М теории Г, обладающая следующим свойством: не существует меньшей модели N теории Г, совпадающей с М на высказываниях- умолчаниях.
Если формула F истинна во всех минимальных моделях теории Т, то мы пишем: Т |=circ F и говорим, что F минимально следует из Т. Это равносильно параллельному очерчиванию Мак-Карти (McCarthy’s Parallel Circumscription): CIRC(T,O,D) теории T, в которой объективные высказывания О минимизируются при фиксированных высказываниях-умолчаниях D.
Определение 9.53. (Стационарное расширение нормальных программ). Стационарное расширение нормальной программы Р — это любая непротиворечивая теория Р*, удовлетворяющая следующему
уравнению фиксированной точки:
Р* = ^_FU {not_A|F* |=С1НС~Л} U {~not_4|F* |=Circ Д,
где А — произвольный атом, ^Р — программа, полученная из Р путем замены каждой литеры вида not L на not_L. (Заметим, что -_Р и Р' — это всегда множества хорновских дизъюнктов.)
Пример 9. 49.
Рассмотрим программу Р:
а <— not а b not а, с d <— not b,
для которой дизъюнктивной программой является ^Р:
а V ~not_a
Ъ V ^not_a V ^с
d V ^not_b
Единственным расширением Р является Р* = ^Р U {not_6, not_c, ^not_d}. Действительно, минимальными моделями Р* будут следующие (для ясности в примерах будут показаны все литеры, и позитивные, и негативные):
{not_a, not_b, not_c, ^not_d, a, ^c, d^
{^iiot_ a. not_b, not_c, ^not_d,~c, d}
Так как из P* следуют ^ ?). ^ с и P то программа должна содержать {not_6, not_c, ^not_d} и лишь эти литеры по умолчанию.
Оказывается, наименьшее стационарное расширение нормальной логической программы дает ее фундированную семантику, поэтому мы займемся расширением WFS с помощью явного отрицания, чтобы получить WFSX.
Чтобы расширить это определение для логических программ со вторым отрицанием «^» общего вида, мы дополнительно преобразуем все такие литеры с отрицаниями в новые атомы.
Определение 9.54- (Дизъюнктивная программа ^Р для Р). Дизъюнктивная программа ^ Р для расширенной логической программы Р — это множество хорновских дизъюнктов, полученное с помощью обозначения каждой литеры в Н по следующим правилам:
^А обозначается новым атомом ^_А,not А обозначается атомом not_А,not ^А обозначается атомом not_^_A,
последующей заменой в Р таких литер их новыми обозначениями, и, наконец, интерпретацией связки правил «^» как материальной импликации, обозначаемой символом «^».
Пример 9. 50.
Пусть Р = {а ^5}. Дизъюнктивная программа ^Р — это: ^Р = ^_Ь => а} или, что эквивалентно, ^Р = {а V ^^5}.
Модели расширенной программы определяются моделями ее дизъюнктивных расширений с помощью обратного преобразования.
Определение 9.55. (Смысл дизъюнктивной программы Р*). Смысл дизъюнктивной программы Р* определяется объединением множеств всех атомов:
А таких, что Р* |= А
^А таких, что Р* |= ^ Аnot А таких, что Р* |= not_ Аnot ^А таких, что Р* |= not_^_A, где
Р* |= L означает, что литера L принадлежит всем (классическим) моделям (множества общих дизъюнктов) Р*.
Для определения второго вида отрицания необходимо ввести в ^Р аксиомы АХ^ определяющие его свойства. Например, если мы хотим, чтобы второе отрицание было классическим отрицанием, мы должны добавить к ^Р множество дизъюнктов: {Д А О^А| А Е Н}. где символ «О» обозначает материальную эквивалентность и используется для сокращения записи: ^ А и ^А =4> ^ А. В этом случае семантика Р не зависит от того, выполнялась ли первая часть преобразования к ^Р или нет.
Мы хотим, чтобы эта общая семантика была расширением стационарной семантики. Тогда мы должны гарантировать, что семантика программы, в которой отсутствует ^-отрицание, такая же, как и для стационарной семантики, независимо от вида используемых в общей схеме аксиом ^-отрицания. Для этого необходимо сначала минимизировать с помощью очерчивания атомы языка Р, и только потом можно минимизировать атомы с символами подчеркивания.
Пусть М и N — две модели программы ^Р и Mpos (соответственно, Apos) — подмножество М (соответственно N\ получающееся с помощью удаления из него всех литер вида ^_L. Мы говорим, что М < N тогда и только тогда, когда
Afpos ^ ApOS V (Mpos = Apos С М С А).
Это определение эквивалентно классическому, к которому добавляется условие, чтобы выполнялось, например, следующее соотношение: модель Mi = {Д_Д} меньше модели М2 = {а}.
Теперь минимальные модели определяются аналогично определению 9.52, но уже с этим новым отношением - ^. Эквивалентность
между минимальностью и очерчиванием достигается с помощью упорядоченного предикатного очерчивания CIRC(Т; O^D) теории Т, в котором минимизируются объективные высказывания О. Сначала минимизируются высказывания, имеющие вид, отличный от ^ А. а затем — высказывания вида ^ А. причем высказывания-умолчания D — фиксированные параметры.
Определение стационарного расширения программ оказывается обобщением определения 9.53, которое параметризуется множеством аксиом АХ^ определяющих А, и использует новое понятие упорядоченной минимальности.
Определение 9.56. (Стационарные АХ ^-расширения.) Стационарное расширение программы Р, расширенной по АХ^ — это любая непротиворечивая теория Р, удовлетворяющая следующему уравнению фиксированной точки:
Р* = -_р и АХ_ U {not_L|P* |=ctrc—^^ -not_L\P* |=circ Ь},
где L — любое произвольное объективное высказывание, а АХ^ — множество аксиом для ^-отрицания в программе Р.
Стационарное расширение Р* программы Р получается с помощью добавления к соответствующей дизъюнктивной программе ^Р аксиом, определяющих ^-отрицание, и отрицаний по умолчанию not_ L только лишь для тех литер £. которые ложны во всех минимальных моделях Р*. Смысл отрицания по умолчанию состоит в том, что в любом стационарном расширении Р* not_L оказывается истинным лишь в том случае, если Р* минимально влечет — L. Заметим, что определение АХ^ влияет на то, будет ли — L принадлежать всем минимальным моделям Р*, сокращая количество моделей.
Известно, что для любого позитивного высказывания А любой теории Т приведенное определение |=circ дает следующий результат: Т |=circ Л = Т |= А В этом случае непосредственно по определению 9.56 оказывается справедливым следующее утверждение.
Утверждение 9.14. Непротиворечивая теория Р* — это стационарное расширение программы Р, расширенной по АХ^ тогда и только тогда, когда
Пример 9. 51.
Рассмотрим программу Р:
р а
р q <— not р.
где символ «->» обозначает классическое отрицание в программе Р, т. е.
АХ^ =-^_р ^^р, ^_q
Дизъюнктивная программа для Р — это следующая программа:
р V
р V
q V ~not_p
Единственным стационарным расширением Р является следующее:
Р^ = ^Р U АХ^ U {^not_p, not_^_p, not—щ ^not_щ not_a, ^not_^_a}.
Фактически, единственной минимальной моделью для Р^ является
{^not_p, not_^_p, not_Q, ^not_^_Q, not_a,
^not_^_a,p, ~ ^_p^ ^q* ^_q* ^<Н
и условия утверждения 9.14 выполнены.
Обратим внимание на то, что отношение -< отдает предпочтение именно этой модели по сравнению с другими, которые могли бы быть минимальными, если бы использовалось обычное отношение ^. Например, классическая минимальная модель — это модель
{^not_p, not_^_p, not_Q, ^not_^_Q, not_a,
^not_^_a,p, ^^—P^ q. ^^_q.^_c}.
которая не будет минимальной по отношению к -<.
Если отрицание «^» в программе Р определить с помощью АХ^ = = {Д_е ^^а^ -^_р ^^р, ~^_q ^^qY т. е. использовать сильное отрицание в том смысле, что отрицание «^» влечет классическое отрицание в ^_Р, то единственным стационарным расширением программы Р будет ?2 = -^_Р U АХ^ U {not_p, not_^_p, ~ not_<p not_^_Q, not_a, not_^_a}.
Фактически, единственной минимальной моделью для Р^ является:
{not_p, not_^_p, ^not_g, not_^_g, not_a, not_^_a, ^_p, q. ~ P
и снова условия утверждения 9.14 выполнены.
Определим теперь семантику программы, основанную на ее стационарных расширениях по отношению к некоторому АХ^.
Определение 9.57. (Стационарная АХсемантика). Стационарная АХ^-модель программы Р определяется смыслом программы Р*, где Р* — стационарное АХ^-расширение программы Р. Стационарная АХ ^-семантика расширенной программы Р — это множество всех стационарных ААЛ-моделей программы Р. Если S = {ЛД k Е К) — семантика Р, то предполагается, что смысл Р определяется как М = Q М^.
кек
Пример 9. 52.
Смысл программы из примера 9.51 определяется множеством {р, ^ai n°t q- n°t а- n°t ^Р^ если используется классическое отрицание, и множеством {q, not р. not -р, not ^q, not a, not ^a}, если используется сильное отрицание.
Пример 9. 53.
Рассмотрим программу Р:
а not b
где «->» — слабая форма отрицания, определяемая с помощью
АХ_ = {-А^_А\А Е Н}.
Единственным стационарным расширением Р будет
Р* = ^Р U АХ^ U {^not_a, ^not_^_a, not_5, ^not_^_5},
которое определяет смысл программы Р как М = {а, ^а, not 5, ^5}.
Тот факт, что а и -^а одновременно принадлежат М, не составляет проблемы, так как слабая форма отрицания это допускает. Заметим, что утверждение ^А =4> ^ А эквивалентно утверждению А \/ ^_А, т. е. разрешаются модели, содержащие как А, так и ^_А. Литера ^6 также появляется в М благодаря использованию слабого отрицания.
Утверждение 9.15 (Обобщение стационарной семантики). Пусть Р — (нерасширенная) нормальная логическая программа, и пусть АХ^ таково, что ни один дизъюнкт вида Ai V ... V Ап, где {Ai,...,An} С Н не является ее логическим следствием. М —
стационарная АХ^-модель программы Р тогда и только тогда, когда М (по модулю ^-литер) — стационарная модель Р.
Все множества аксиом АХ^ используемые в дальнейшем, удовлетворяют ограничению, накладываемому в утверждении 9.15. Это ограничение на вид АХ^ предназначено для исключения необычных определений ^-отрицания, в которых позитивные литеры могут быть следствиями лишь аксиом, независимо от программы.
Пример 9. 54.
Пусть Р = {а 5} и АХ^ = {а V ^_5}. У программы Р существует АХ^-модель: {а, not -^сц not 5, ^^}, которая не является стационарной моделью Р. Заметим, что а находится в модели будучи логическим следствием АХ^ вне зависимости от программы.
Параметризуемая схема. Устойчивые модели имеют 1:1 соответствие с устойчивыми расширениями , а последние могут быть получены просто заменой |=circ на |=cwa в определении стационарного расширения нормальных программ, где CWA (Closed World Assumption) обозначает предположение о замкнутости мира.
Подобно стационарной семантике расширенных программ может быть получено общее определение устойчивой семантики расширенных программ, если использовать следующее условие для добавления отрицания по умолчанию: Р* |=cwA^b. Таким образом в общем случае в схему желательно привнести новый параметр, чтобы определить способ добавления в расширение отрицания по умолчанию.
Определение 9.58. (<АХ^, notcond>-pacmupeHue).
АА^. notCOIid>-pacutupenue расширенной программы Р — это любая непротиворечивая теория Р* удовлетворяющая следующему уравнению фиксированной точки:
Р* = -^_Р U АХ^ U {not_L| notcond(T)} U {-not_L| Р* |= £}, где L — любое произвольное объективное высказывание.
Определение общей семантики подобно определению стационарной семантики.
Определение 9.59. (<АА^, по1СОТ1а>-семантика).
АХ^. по1сопс1>-модель программы Р определяется смыслом программы Р* где Р* — это АХ^. notcond>-pacinnpenne программы Р. Семантика программы Р — это множество всех АХ^. notcond>- моделей Р. Смысл программы Р определяется пересечением всех моделей.
Устойчивая АХ^-семантика определяется как общая семантика, для которой notCond(b) = Р* |=cwA^b. При таком определении утверждения 9.14 и 9.15 остаются в силе и для устойчивых моделей.
Свойства отрицания «^». Рассмотрим некоторые свойства расширенных логических программ и покажем для некоторых АХ^ подчиняется или нет результирующая семантика таким
свойствам. Точнее, Альфереш и Перейра проанализировали следующие случаи для общих схем стационарной и устойчивой семантики:
классическое отрицание, т. е. АХ^ = {Д А О^А|А Е Н}:
сильное отрицание, т. е. АХ^ = {Д А =Ц>^А|А Е Н}^
слабое отрицание, т. е. АХ^ = Д'А =4> ^_А|А Е Н}^
псевдоотрицание, т. е. АХ^ = {}.
В следующем разделе будет приведено новое определение для WFSX с использованием явного отрицания, которое задается с помощью АХ^ = {}, и notcond(b) = Р* |=CIRC ~ L V Р* |= ^_L. Альтернативно можно определить WFSX через стационарную АХ^- семантику, если ввести явное отрицание с помощью аксиомы АХ^ = = {Д А =V not_A| А Е Н}. Остановимся на свойствах лишь ^-отрицания.
Свойство 9.1 (Внутренняя непротиворечивость). Семантика внутренне непротиворечива тогда и только тогда, когда для любой программы Р, если М — стационарная (соответственно, устойчивая) модель Р, то ни для какого атома А Е Н не выполняется {А, ^А} С М. Другими словами, семантика внутренне непротиворечива, если нет необходимости проверять непротиворечивость результирующих (стационарных или устойчивых) моделей программы.
Пример 9. 55.
Пусть программа Р — это
а not b^а <— not b,где -и — слабое отрицание. Единственным стационарным расширениемР будет
Р* = U ДА >.1.1 Е Н} U {not_b, not_^_6}.
Единственной минимальной моделью Р* будет
{a, ~not_a, -^_а, ~not_^_a, ~Ь, ~^_Ь, not_F not_^_bY которая непротиворечива. Однако Р* получает противоречивый смысл: {а, ^а, not_b, not_^_bY
Как показано в предыдущем примере, семантика со слабым отрицанием не обязательно является внутренне непротиворечивой. То же относится и к семантике с псевдоотрицанием. Семантика с классическим или строгим отрицанием внутренне непротиворечива, так как по самому определению АХ^, для каждого атома А Е Н ^ AV ^^ А Е Р* для каждого расширения Р* любой программы Р, и в результате никакая модель Р* не может содержать одновременно А
и ^ Л. Таким образом, смысл Р* никогда не содержит одновременно А и -iA.
Свойство 9.2 (Когерентность). Семантика когерентна тогда и только тогда, когда для любой программы Р и объективной литеры L если М — стационарная (соответственно, устойчивая) модель Р, то из Е М следует, что и not L Е М.
Как отмечалось выше, это свойство играет важную роль, если мы рассматриваем второе отрицание как средство для определения ложности литер. В этом случае когерентность может пониматься следующим образом: «Если А объявлено ложным, то необходимо предполагать его ложность по умолчанию». Оказывается, что и для стационарной, и для устойчивой семантики когерентность эквивалентна непротиворечивости.
Теорема 9.20. Стационарная (устойчивая) семантика когерентна тогда и только тогда, когда она непротиворечива.
Свойство 9.3 (Обоснованность). Семантика необходимо обосновывающая тогда и только тогда, когда для любой программы Р всякий раз, когда М — стационарная (соответственно, устойчивая) модель Р, для каждой объективной литеры L. если L Е М, то в Р существует по крайней мере одно правило вида
L Pi,..., Pn, not Ci,..., not Ст такое, что:
{Pi,..., Pn, not Ci,, not Cm} С M.
Так как для любой программы Р: PlJ {not_L| Р* |=circ^^} ~ программа из хорновских дизъюнктов, то стационарная (или устойчивая) семантика такая, что АХ^ не содержит ни одного дизъюнкта с позитивными высказываниями, необходимо является обосновывающей. Таким образом, семантика с псевдо- или сильным отрицанием будет необходимо обосновывающей.
Семантика, которая использует в АХ^ дизъюнкты с позитивными высказываниями не обязательно будет обосновывающей. Например, если -и — классическое отрицание необходимая обоснованность не выполняется.
Пример 9. 56.
Рассмотрим программу Р:
а b
Единственная стационарная {щ Л о ^А} модель — это М = ^not а, ->а, not b, ^5}. Так как -Ъ Е М и не существует правила для ^5, то семантика не является необходимо обосновывающей.
Это свойство тесно связано с использованием логики как языка программирования. Истинность объективных литер не предполагается до тех пор, пока не будут представлены правила, устанавливающие их истинность, другими словами, за исключением высказываний- умолчаний, не предполагается никакой неявной (скрытой) информации. Если необходимо получить результат по предыдущей программе, то требуется записать:
Ч)
или, если вводится дизъюнкция:
а 6
b
Фиксация множества АХ^ и условия notCOnd(L). Представим еще раз некоторые виды семантики для расширенных программ, просто определяя конкретное множество АХ^ и условие notCond(b) по отношению к введенной общей семантике. В результате можно лучше понять, какой тип второго отрицания используется в каждой семантике, каковы основные различия между ними, и как они соотносятся с WFSX. Начнем с семантики ответных множеств для программ с непротиворечивыми ответными множествами.
Теорема 9.21 (Семантика ответных множеств). Интерпретация М — это ответное множество программы Р тогда и только тогда, когда М — устойчивая АХ^ = {ф Л =Ф^Л| А Е /Г}-модель Р (по отношению к синтаксическому представлению моделей).
В определении ответных множеств литеры по умолчанию не включаются в модели, поэтому последнее замечание предполагает удаление всех литер по умолчанию в моделях в соответствии с исходным определением.
Теорема 9.21 приводит к заключению, что семантика ответных множеств расширяет семантику устойчивых моделей с помощью сильного отрицания. Поэтому семантика ответных множеств непротиворечива, когерентна и является обосновывающей. Заметим, что если вместо сильного отрицания использовать псевдоотрицание, то непротиворечивость результирующей модели все равно сохраняется, но свойства когерентности и внутренней непротиворечивости будут нарушены.
Теорема 9.22 (Стационарная семантика с классическим отрицанием). Интерпретация М — стационарная модель программы Р тогда и только тогда, когда М — стационарная АХ^ = {ф Л О^Л| А Е Я"}-модель Р.
3 В.Н. Вагин и др.
Эта семантика не удовлетворяет свойству обоснованности. Тем не менее, эта семантика — единственная из рассматриваемых здесь, которая вводит «настоящее» классическое отрицание в нормальных логических программах. Альфереш и Перейра утверждают, что если ее сравнивать с другими видами семантики с сильным отрицанием, то преимущество данной семантики невелико, так как если разрешить добавление дизъюнкции к логическим программам с сильным отрицанием, то программист сможет устанавливать отрицание, похожее скорее на классическое, нежели на сильное. Это может быть сделано просто с помощью добавления правил в форме А V ->А для каждого атома. Более того, программист имеет возможность устанавливать, какое отрицание — сильное или классическое — желательно использовать для каждого атома языка, путем выбора — добавлять или нет для этого атома дизъюнктивное правило.
WFSXncHHbHoe отрицание
Теорема 9.23 (WFSX и сильное отрицание). Если интерпретация М является стационарной АХ^ = {Д А =4>^ А| А Е /Г}-моделью программы F, то М — WFSX-частичная устойчивая модель программы Р.
Таким образом, WFSX дает семантику для большего количества программ, и всегда, когда обе семантики определяют смысл программы, WF-модель WFSX является (возможно, собственным) подмножеством модели стационарной семантики с сильным отрицанием.
Пр имер 9. 57.
Рассмотрим программу Р:
бреет(джон,Х) not бреет(Х,Х)идти_ обедать (X)бреет(У,Х)
^идти_ об едать (джон),
которая утверждает: «Джон бреет каждого, кто не бреется сам», «Если X был кем-то побрит, то X идет обедать в ресторан», и «Джон не идет обедать». Согласно WFSX, фундированная модель программы (и единственная частичная устойчивая модель) - это М: ^ идти _ об едать (джон), not идти _ об едать (джон), not ~^бреет(джон, джон)^. Заметим, что М не является моделью в обычном смысле, так как для второго правила значение истинности головы (ложь) меньше, чем истинностное значение тела (неопределенность).
Вспомним, что ^-отрицание в WFSX «сильнее» неопределенности (в данном случае идти_ обедать(джон)). Истинность ^L — это явное объявление того, что L ложно.
Любая семантика, согласующаяся с утверждением 9.14, и, в частности, стационарная семантика с сильным отрицанием, не может иметь М как модель программы: not_ndmn_ обедать(джон) находится в расширении тогда и только тогда, когда ~идти_ обедать (джоп)
принадлежит всем минимальным моделям этого расширения, но если бы это выполнялось, то (по второму правилу) —бреет (джон, джон) должно быть также во всех минимальных моделях, откуда необходимо следует, что not бреет (джон, джон) принадлежит расширению.
Для того, чтобы восстановить WFSX по общей схеме, необходимо ввести новое условие для добавления отрицания по умолчанию, по которому литера по умолчанию not L обязательно должна принадлежать расширению в случае, когда явное отрицание ^L находится во всех моделях.
Теорема 9.24 (Семантика WFSX). Интерпретация М — частичная устойчивая модель канонической программы Р тогда и только тогда, когда М — стационарная АХ^ = {Д Л =4> not_A| А Е Н} — модель Р.
Альтернативно, М — частичная устойчивая модель Р тогда и только тогда, когда М представляет смысл такой программы, что
Р* = -_FU (not_L\ Р* \=circ~L или
Р* |= ^_L( U (-not L\P* |= L(.
Пример 9. 58.
У программы Р из примера 9.57 есть единственное расширение (использованы сокращенные названия предикатов и констант: идти_обедать — о, бреет — б, джон — д):
Р* = ^_Р Е (not_o(d),—not_^_o(d), по1_^_б(д,д)}.
Минимальными моделями являются следующие:
(not _б(д,д), not_^_6(d,d), not_o(d), —not_^_o(d),
б(д,д),-^_б(д,д), о(д), -_о(д)(,
(—not_6(d,d), not_^_6(d,d), not_o(d), —not_^_o(d),
-б(д,д),-^_б(д,д),-о(д), -_о(д)(.
Во всех моделях имеем
— ^_б(д,д), следовательно, необходимо добавить not_б(д,д)‘,
~'_о(д), следовательно, необходимо добавить — not_^_o(d), и, по второму дизъюнкту, not_o(d).
Заметим, что согласно первому варианту теоремы 9.24, нет необходимости добавлять not_o(d), так как это заключение является следствием при заданных в АХ^ аксиомах. Семантика Р определяется смыслом программы Р*, т. е. (ж(д), not о(д), not ^б(д,д)(, который и определяет единственную частичную WFSX-модель.
Логические программы с -п-отрицанием и дизъюнкцией. Основываясь на сходстве между общим определением стационарной семантики для расширенных программ и стационарной семантики для нормальных логических программ, нетрудно обобщить стационарную семантику расширенных логических программ на расширенные дизъюнктивные логические программы.
Сначала необходимо расширить определение для ^Р на случай дизъюнктивных программ. Это определение получается добавлением к определению 9.54 следующего предложения: «Проинтерпретируем связку V в логических программах как классическую дизъюнкцию».
Определение 9.60. Стационарное АХ ^-расширение для расширенной дизъюнктивной программы Р — это любая непротиворечивая теория Р*, удовлетворяющая следующему уравнению фиксированной точки (предполагается, что есть дистрибутивная аксиома: not(A & В) = not А V not В):
Р* = ^_Р U АХ^ U {not F\ Р* |=сшс~^},
где F — произвольная конъюнкция позитивных (соответственно, негативных) объективных литер.
Имея это определение, можно задать семантику подобно тому, как это было сделано в начале настоящего раздела (9.4.1) для стационарной и устойчивой семантики программ с двумя видами отрицаний.
Пример 9. 59.
Рассмотрим программу Р:
р <— not а
р <— not ~^b а V
и пусть АХ^ — это аксиомы сильного отрицания. Единственным стационарным АХ^-расширением программы Р является
Р* = ^Р U АХ^ U ^not_^_a, not—1ц ^not_p.
not_^_p. not_a \/not_^_b^not_a\/^not_^_b}.
В результате единственной стационарной АХ^-моделью будет {р, not~^СЦПО1 b}.
Теперь открывается широкое поле для исследования взаимодействия между отрицанием «^» и дизъюнкцией в семантике расширенных программ и сравнительного анализа различных видов семантики по отношению к дизъюнкции.
Пример 9. 60.
В примере 9.56 показано, что программа Р
а b
рассматривающая «^» как классическое отрицание, имеет единственную стационарную модель: М = ^not а, -и, not b, ^5}, что нарушает свойство обоснованности. Для
восстановления этого свойства программу необходимо переписать в виде
а Ь
b
Нетрудно показать, что единственной стационарной моделью Р-2 при -I — сильном отрицании будет М.
Известно, что определение, подобное 9.60, делает дизъюнкцию в программах исключающей (см. пример 9.59). Чтобы дизъюнкция была «включающей» для нерасширенных дизъюнктивных программ, необходимо использовать «слабое расширенное предположение о замкнутости мира».
Автоэпистемические логики для WFSX
Выше были определены некоторые свойства каждого из ^-отрицаний, но не было дано эпистемического смысла этих отрицаний. Альфереш и Перейра построили немонотонную эпистемическую логику с двумя модальностями — доказуемостью и убеждением, с помощью которой можно выразить различия между определенными ранее ^-отрицаниями.
В этом подходе для второго вида отрицания предлагается использовать дополнительную модальность. Поэтому, чтобы определить общий перевод между расширенными программами и некоторой эпи- стемической логикой, последняя должна включать две модальности. При этом объективная литера ^А (соответственно, А) должна читаться как «доказана ложность А» (соответственно, «доказана истинность А»), что обозначается как Е^А(ЕА). Запись not L читается как «имеется убеждение в том, что L не доказано» и обозначается с помощью B^EL. Е соответствует эпистемическому знанию, которое определяется пропозициональной доказуемостью, и связано с модальностью М следующим образом: Е =^М^.
Автоэпистемические логики Мура и Пшимусин- ского. Пропозициональный автоэпистемический язык — это любой
пропозициональный язык Lang, обладающий свойством: для любого высказывания А в Lang, далее называемого объективным, алфавит этого языка содержит соответствующее высказывание убеждения (belief proposition) ZA, т. е. высказывание, имя которого состоит из символа Z, за которым следует А. При этом смысл LA выражается предложением: «А принимается как убеждение».
Автоэпистемическая теория — это любая теория Т над автоэписте- мическим языком (причем символ «~» будет обозначать классическое отрицание в теории). Следующее определение устойчивого автоэпи- стемического расширения эквивалентно определению Мура.
Определение 9.61. (Устойчивое автоэнистемическое расширение). Непротиворечивая теория Т* — это устойчивое автоэпистеми- ческое расширение теории Т тогда и только тогда, когда
Т* = Т U В, где В (возможно пустое) множество литер убеждения, т. е. литер в форме LA или ^LA. (А — объективное высказывание) и
Т* удовлетворяет следующим условиям:
Т* |= LA = Т* |= А
Т* \=~LA = Т*^ А
Это определение выражает позитивную и негативную интроспекцию разумного агента: агент убежден в истинности некоторого высказывания А тогда и только тогда, когда А принадлежит всем моделям его знания; и у агента нет повода быть убежденным в истинности А(<^ ZA) тогда и только тогда, когда А не принадлежит всем моделям его знания.
Заметим, что в автоэпистемическом определении Мура оператор убеждения L мог применяться к любой формуле, и поэтому соответствующим образом модифицируется определение расширения.
Пример 9. 61.
Рассмотрим следующую автоэпистемическую теорию Т: студент(Х) & ab (X) юн(Х) студент (а) студент(Ь) ab(b)
Единственным устойчивым расширением Т является следующее (используются сокращенные названия предикатов):
Т U {£с(ф, Lc(b\ LabQAp Ью(а), ~Lab(a\ ^£ю(Ь)}.
Здесь утверждается, что агент со знаниями Т убежден, что а и b — студенты, b — аномальный студент и а юн, и у агента нет повода быть убежденным в том, что а — аномальный и b юн.
Конечно, некоторые автоэпистемические теории могут иметь несколько устойчивых расширений.
Пример 9. 62.
У теории Т
а V Lb
b V La
два расширения, а именно, Т U {Da, ^Lb^ и Т U ^Lb, ^La}. Каждое из данных расширений может рассматриваться как состояние убеждений, т. е. агент со знаниями Т имеет два возможных состояния убеждений: либо он убежден в истинности айв этом случае у него нет повода быть убежденным в истинности Ь, либо наоборот. Скептический агент с этими состояниями убеждений не будет убежден или не убежден ни в истинности а, ни в истинности Ь.
Пшимусинский выделяет четыре недостатка автоэпистемической логики Мура.
У вполне разумных теорий может не быть устойчивых расширений. Например, для теории
разбитая— машина
можно _ починить V L можно_ починить
нет устойчивого расширения, так как ни одно непротиворечивое добавление убеждений к теории не позволяет вывести L можно— починить. Если нет убеждения в том, что можно_ починить, то возникает противоречие, и агент должен остаться агностиком, так как нельзя иметь или не иметь убеждения в истинности высказывания можно_ починить. Тем не менее агент должен быть убежден, по крайней мере, в том, что машина разбита.
Даже те теории, у которых существуют устойчивые расширения, в автоэпистемической логике Мура не всегда получают естественно ожидаемую семантику.
Пример 9. 63.
Робот запрограммирован так, что он может переносить деньги из банка 1 в банк 2. Существует два возможных пути, обозначаемых а и Ь. Робот выбирает один из них, если у него нет повода быть убежденным в том, что на этом пути могут возникнуть препятствия. Если он не может выбрать ни одного пути, то он должен отдать предпочтение пути а. После выбора пути робот сигнализирует: «я выхожу» и пытается попасть в банк 2. Эта задача может быть естественным образом формализована с помощью автоэпистемической теории
L препятствие (a) k ^L препятствие (b) =4> выбрать (Ь)
L препятствие (b) & ^L препятствие (а) =^ выбрать (а)
^L препятствие (а) & ^L препятствие (b) =^ выбрать (а) выбрать (а) =^ сигнал выбрать (Ь) => сигнал
Единственное устойчивое расширение охватывает предполагаемый смысл, т. е. у робота нет повода быть убежденным в том, что есть препятствия на каком-либо из путей, и поэтому он выбирает путь а и сигнализирует.
Допустим теперь, что к теории добавлено знание, что есть некоторое препятствие на одном из путей, но не известно на каком, т. е.
препятствие (а) V препятствие (Ь)
Результирующая теория имеет два устойчивых расширения, каждое из которых содержит Lсигнал, и одно содержит L выбрать (а), а другое — L выбрать(Ь). Согласно устойчивым расширениям, у скептического агента нет убеждения ни в истинности утверждения выбрать (а), ни в истинности утверждения выбрать(Ь), т. е. робот не выберет ни один из путей, что вполне разумно. Но тем не менее, такой агент будет убежден в истинности высказывания сигнал, т. е. робот сообщит: «Я выхожу», что не соответствует нашим ожиданиям.
Устойчивые расширения не могут быть эффективно вычислены даже для простых классов теорий, например, для пропозициональных программ. Это существенный недостаток, если требуется выполнять представление знаний или рассуждений.
Так как всегда требуется явно указывать все убеждения агента, то при устойчивых расширениях теряется выразительность.
Для того, чтобы преодолеть перечисленные недостатки, Пшиму- синский ввел общее понятие автоэпистемических логик замкнутых убеждений, и представил автоэпистемические логики очерчивания как важный частный случай. Понятие автоэпистемической логики замкнутых убеждений естественным образом возникает как обобщение автоэпистемической логики Мура. Сначала Пшимусинский отметил, что в определении устойчивого расширения запись Т N А может быть заменена на Т* Дсхуд^ГГ и поэтому устойчивые расширения могут рассматриваться как частный случай расширений, основанных на общих понятиях позитивной и негативной интроспекции.
Определение 9.62. (Автоэпистемическое расширение). Непротиворечивая теория Т* — автоэпистемическое расширение теории Т тогда и только тогда, когда
• Т* удовлетворяет следующим условиям:
Т* |= LA = Т* |=ор А
Т* \=~LA = Т* |=d-A,
где |=ор — общий оператор следования открытых убеждений (позитивная интроспекция) и |=ci — общий оператор следования замкнутых убеждений (негативная интроспекция).
Различные автоэпистемические логики получаются в зависимости от выбора позитивной и негативной интроспекции. Основываясь на этом общем определении, Пшимусинский определяет расширения очерчивания, просто выбирая |= как позитивный и |=circ как негативный оператор интроспекции (|=circ определяется, как и ранее, но фиксируются высказывания в форме LA вместо not_A). Пшимусинский показал также, что при таком определении расширения все перечисленные недостатки устраняются, и что с помощью трансформации Гельфонда между нормальными логическими программами и автоэпистемическими теориями (где not L понимается как ^ZL), приведенное расширение эквивалентно фундированной семантике.
9.4.2.2. Логика убеждений и доказуемости. Альфереш и Перейра определили эпистемическую логику ЕВ с модальностями убеждения и доказуемости, и показали, что она охватывает семантику WFSX. Остановимся подробнее на этих результатах. Рассмотрим сначала определенные расширенные логические программы (т. е. логические программы без отрицания по умолчанию) и определения модальной логики для интерпретации таких программ. Затем эта логика будет расширена с тем, чтобы можно было работать с высказываниями, принимаемыми как убеждения (belief propositions). И наконец, рассмотрим, как связана ZS-логика и WFSX.
Доказуемость в определенных расширенных логических программах. Чтобы объяснить и сделать доступным смысл модальности доказуемости, начнем с более простой задачи, заключающейся в том, чтобы определить смысл расширенных логических программ без отрицания по умолчанию, т. е. множеств правил вида
Lo Li^... Ln^ п > О,(9.1)
где каждое L^ — это атом А или его явное отрицание ^А.
Не теряя общности, будем считать, что все правила фундаментальные, т. е. не содержат переменных.
Желательно, чтобы семантика этих программ была монотонной и не поддерживала бы контрапозицию, т. е. должны различаться правила вида а b и А) ^а. Правила рассматриваются как (однонаправленные) «правила вывода». Заметим, что в трансформации Гельфонда это не выполняется: оба правила переводятся в правило b а.
Пример 9. 64.
По трансформации Гельфонда программа Р
а b
переводится в теорию Т (здесь знак ~ соответствует явному отрицанию -п):
b а
Отсюда следует {^ а^Ь^ и семантика Р (как для WFSX, так и для ответных множеств) есть {Де}. Заметим, что ~ b выводится в Т с помощью применения контрапозиции к первому правилу.
Причина возникновения этой проблемы в том, что ^А переводится в «А есть ложь», и связка правила «^» понимается как материальная импликация. Напротив, семантика расширенных логических программ склонна интерпретировать ^А как «А доказуемо ложно» в смысле обоснованности (grounded sense) и «^» — как отношение выводимости. Для того, чтобы охватить этот смысл, вводится оператор модальности Е, соответствующий (пропозициональной) «доказуемости» или «эпистемическому знанию», и правило (9.1) переводится в правило вида
EL^ ... kELn =Ф ELo,(9.2)
где всякая литера с явным отрицанием ^А переводится в Е^ А и читается как «А доказуемо ложно», и всякий атом А переводится в ЕА и читается как «А доказуемо истинно».
Эта трансляция непосредственно охватывает интуитивное понимание смысла правила: «если все Li,..., Ln доказуемы, то и L^ доказуемо» и не объединяет контрапозиции: а b становится ЕЬ =Д Еа, тогда как -Н ^а дает Е— а =4> Е^Ь.
Для обеспечения гибкости подхода делается ряд предположений относительно Е, который определяется как оператор необходимости в наименьшей нормальной модальной системе — модальной логике К. Эта логика включает лишь Modus Ponens, необходимость (necessitation), дистрибутивность относительно конъюнкции и аксиому
К : E(F ^G)^ (EF =Ф EG).
В логике К Е двойственно по отношению к оператору модальной непротиворечивости (consistency) М. т. е. Е =^М^. Этой слабой модальной логики уже достаточно для определения WFSX, если добавить к ней модальность убеждения и немонотонность, а также эта логика может отражать и другой смысл Е при введении большего количества аксиом.
Так как в настоящее время нас интересует лишь семантика монотонных (определенных) расширенных логических программ, то немонотонный вариант этой логики не требуется.
Выше уже отмечалось, что трансляция (9.2) может охватывать и семантику расширенных логических программ. Следующая теорема уточняет это утверждение для семантики ответных множеств и WFSX.
Теорема 9.25. Пусть Р — расширенная логическая программа и Т — теория, получаемая из Р с помощью трансляции (9.2). Если ни для какого атома А не выполняется Т Vk ЕА и Е А. то справедливо следующее:
Т Ьк ЕА = Р \=as А = Р |=wfsx А
Т Ьк Е ~ А = Р \=as ^А = Р |=wfsx -^А,
где Fs обозначает, как обычно, отношение следования в модальной логике S, и Р |=as L. соответственно, Р |=wfsx Д означает, что L принадлежит всем ответным множествам, соответственно, всем частичным устойчивым WFSX-моделям, программы Р.
Убеждениеидоказуемость. Помимо явного отрицания расширенные логические программы также позволяют использовать отрицание по умолчанию, которое является немонотонным и обычно понимается как высказывание, принимаемое в качестве убеждения (belief proposition). Таким образом, требуется добавить к модальной логике К немонотонный оператор убеждения.
Рассмотрим сначала, какие убеждения следуют из определенных расширенных логических программ. Такие программы без труда могут быть переведены во множества хорновских дизъюнктов, что обеспечивает существование единственной минимальной модели. Поэтому будем сначала считать, что «Агент убежден в истинности каждой формулы, принадлежащей минимальной модели теории», т. е. если Т |=min Е, то BF (интроспекция).
Пример 9. 65.
Программа из примера 9.64 переводится в теорию Т:
ЕЬ => Еа
для которой наименьшей моделью будет ^Е^а^ (сюда не вошли нерелевантные литеры). Поэтому у агента со знаниями Т есть следующие убеждения: ВЕ^а. В^Еа. В^ЕЬ. В^Е^Ь.
Более того, потребуем, чтобы для разумных агентов из Т |= EL следовало бы, что B^E^L (когерентность). В этом контексте когерентность утверждает, что всякий раз, когда L доказуемо истинно, обязательно должно быть убеждение в том, что нельзя доказать ложность L (заметим, что B^E^L = BML). В приведенном примере
396 Немонотонное логики в логическом программировании [Гл. 9 результат не согласуется с этим правилом. Но в общем случае это не так.
Пример 9. 66.
Рассмотрим теорию Т = {Еа; Е— а}, для которой наименьшей моделью будет ^Еа, Е~ а}, и BE а и ВЕ^ а выполняются по интроспекции. Более того, по когерентности, агент должен поддерживать как В^Е^а, так и В^Еа.
Этот тип вывода (рассуждений) может показаться странным, так как агент убежден в истинности взаимодополнительных (complementary) формул (например, убеждения в истинности Еа и Е^а). Но, как будет показано ниже, при введении аксиом для В можно определять противоречия в интуитивно противоречивой теории Г, т. е. нельзя будет одновременно иметь убеждения в истинности доказанных взаимодополнительных высказываний.
Как и для Е, относительно В делаются незначительные предположения для достижения гибкости, и, кроме того, этого оказывается достаточно для характеризации семантики WFSX.
Более точно, для оператора убеждения В предполагаются следующие аксиомы:
для любой тождественно ложной формулы F выполняется ^BF;
для любых формул F и G выполняется B(FkG) = BFkBG.
Можно доказать, что из этих аксиом следует, что для любой формулы F выполняется
BF ^-B-F.
Следовательно, если иметь убеждения в истинности двух взаимнодополнительных формул ВБ и B^F, то возникнет противоречие, так как B-F ^BF.
В итоге для теории Т, получающейся из определенной расширенной логической программы, множество убеждений агента представляет собой замыкание относительно приведенных выше аксиом для множества
^BF\ Т F^ U ^B~E~F\ Т |= EF^
как требуется по интроспекции и когерентности соответственно.
Для того, чтобы добавить к логике К немонотонный оператор убеждения, рассмотрим, в каких случаях добавляются к теории формулы вида BF или ^BF (далее называемые формулами убеждений). В этих случаях уже нельзя использовать операцию замыкания. Для того, чтобы в теориях можно было работать с формулами убеждений, необходимо рассмотреть, как и в случае АЭЛ, расширения теорий.
Расширение теории Т — это фиксированная точка уравнения Т* = = Т U Bel, где Bel — множество формул убеждений, зависящих от
Т*. Интуитивно, каждое расширение устанавливается для определенного состояния убеждений разумного агента. Если поступить таким образом, то возникнет новая проблема: «Какой вид немонотонности можно ввести для таких теорий?», или другими словами, «При каких условиях агент может наращивать собственное множество убеждений?».
Для решения этой проблемы существует два подхода:
первый подход представляет автоэпистемическую логику (АЭЛ) Мура и рефлексивную АЭЛ. Он основывается на предположении о замкнутости мира и охватывает двузначную (тотальную) семантику логических программ;
второй подход основывается на GCWA и охватывает трехзначную (или частичную) семантику логических программ.
Альфереш и Перейра следуют второму подходу. Приведем формальное определение эпистемической логики. Для этого сначала будет расширен язык пропозициональной логики с помощью модальных операторов Е и В для «доказуемости» и «убеждения» соответственно. Теории, как и раньше, определяются рекурсивно. Более того, предполагается, что любая теория содержит все аксиомы логики К для Е и две описанные ранее аксиомы для В.
Определение 9.63. (Минимальные модели). Минимальная модель теории Т — это модель М для Т такая, что не существует меньшей модели N для Т, совпадающей с М на высказываниях убеждений.
Если F истинно во всех минимальных моделях теории Т, то мы пишем Т |=min F.
Расширение Т* соответствует состоянию убеждений, при котором агент убежден в истинности F. если Т* |=min Т, и не убежден в истинности F^ если Т* |=min^ F. Отметим, что если принять аксиомы, введенные для В, то второе утверждение включается в первое. Фактически, по первому утверждению, если Т* |=min^ F, то B^F и из аксиом для В следует, что ^BF. Как было показано для определенных расширенных логических программ, при рассмотрении теории с доказуемостью и убеждением возникает новая возможность получения убеждений (когерентность), а именно, если Т* |= EF^ то В^ E^F. В результате расширения формализуют следующее понятие убеждения В:
BF = F минимально выводимо, или F =^E^G и EG выводимо.
Определение 9.64- (Расширение). Расширение теории Т — это непротиворечивая теория Г*, удовлетворяющая следующему уравнению фиксированной точки:
Т* = Tu{BF\ Т* |=min F}U {B-F-G| Т* |= EG^.
Пример 9. 67.
Рассмотрим следующую автоэпистемическую теорию Т (модификация примера 9.65):
-BE—юн(Х) & Естудент(Х) =4> Еюн(Х)
Е студент (а)Естудент(Ь)
Е—юн(Ь), где последний дизъюнкт выражает, что доказано, что b не юн. Единственным расширением будет: TU {ВЕс(а), ВЕф\ ВЕю(а), ВЕ—ю(Ь), BE с(а), B E с(Ь), В—Е—ю(а), В—Ею(Ь)}, которое утверждает, что агент со знаниями Т убежден в том, что а и b —студенты, b не юн, а юн, и у него нет убеждения в истинности того, что а и b не являются студентами, что а не юн и b юн.
Пример 9. 68.
В общем случае не обязательно иметь или не иметь убеждения в истинности высказывания А. Например, рассмотрим следующие утверждения:
если имеется убеждение в том, что машина не может быть отремонтирована, то тогда доказуемо, что она не может быть отремонтирована;
если нет убеждения в том, что кто-то сможет отремонтировать машину, то доказуемо, что будет вызван эксперт;
доказано, что эксперт не будет вызван.
Эти утверждения представляются следующей автоэпистемической теорией Т:
В—Еможно_ починить_ машину => Еможно_ починить_ машинуВ—Еможно_ починить _ машину =^ Евызвать_ экспертаЕ—вызвать _ эксперта
Единственным расширением будет:
Т U {BE—вызвать _ эксперта, В—Е вызвать _ эксперта}, которое утверждает, что агент убежден в том, что эксперт не будет вызван, и у него нет убеждения в том, что эксперт будет вызван.
Подобно автоэпистемическим теориям Мура, SS-теории могут иметь несколько расширений.
Пример 9. 69.
Рассмотрим теорию Т, описывающую ромб Никсона:
Ереспубликанец(Никсон)
Е квакер (Никсон)
Ереспубликанец(Х), В—Е пацифист (X) =Ф> Е-пацифист(Х)Еквакер(Х), В—Е—пацифист (X) =Ф> Епацифист(Х)
У теории Т существует три расширения, получающиеся путем объединения Т и множеств (использованы сокращенные названия предикатов и констант):
{ВЕр(н),ВЕк(н),ВЕп(н),В^Е^р(н).В^Е^к(н).
В^Е^п(н)};
{ВЕр(н),ВЕк(н),ВЕгч1(н), В~Е~р(н),В^Е^к(н).
В~Еп(н)};
{ВЕр(н), ВЕк(н), В^Е^р(н). В~Е~к(н)}.
Они утверждают следующее: в первом случае принимается как убеждение, что Никсон — пацифист, во втором — что Никсон не пацифист, и в третьем случае остается неопределенным, считать Никсона пацифистом или не считать его таковым.
Если скептический агент сталкивается с несколькими расширениями (т. е. с несколькими возможными состояниями убеждений), то он должен принимать лишь те высказывания, которые являются общими для всех расширений. В приведенном примере это третье расширение.
Связь с расширенными логическими программами. Вспомним, что расширенная логическая программа — это множество правил вида
Ед ^1, • • • ? ^m? not Z/m_|-i,..., not L^,(9.3)
где L^ — объективная литера, т. е. либо атом Л, либо его отрицание ^А.
Как показано выше, атом А переводится в ЕА и явно отрицательный атом ^А — в Е А. В рефлексивной автоэпистемической логике литеры вида not L переводятся в LL. что читается как «известно, что L не известно». В нашем подходе мы переводим not L в B^EL. т. е. «принимается как убеждение (или может быть допущено), что L не доказуемо». В результате каждое правило вида (9.3) переводится следующим образом:
ELi,..., ELm, В^ ELm+i,..., В^ ELn =д EL^. (9.4)
Определение 9.65. (Модели и расширение). Модель М расширенной логической программы Р соответствует расширению Т* тогда и только тогда, когда
для объективной литеры L выполняется: L Е М О Т* |= BEL;
для литеры not L выполняется: not L Е М О Т* |= В~ EL.
Теорема 9.26 (WFSX, доказуемость и убеждение). Пусть Т — теория, получающаяся по канонической расширенной логической программе Р с помощью перевода (9.4). Тогда существует 1:1 соответствие между частичными устойчивыми WFSX-моделями программы Р и расширениями Т.
Эта связь полезна как для WFSX, так и для ЕВ-логики . С одной стороны, логика представляет интуитивно более верный взгляд на WFSX, особенно в том, что касается понимания WFSX как средства для моделирования способности агента доказывать что-либо и для
моделирования убеждений разумного агента. В результате становится более понятным, как в рамках WFSX решать задачи представления знаний и рассуждений, и как оценивать результаты WFSX. В частности, логика показывает, что явное отрицание соответствует доказательству ложности, отрицание по умолчанию — убеждению, что литера не доказана, а неопределенность — отсутствию убежденности как в ложности, так и в истинности литеры.
В то же время для класса теорий, получающихся из некоторых расширенных логических программ, «логика может быть реализована» с использованием процедур, определенных для WFSX. Более того, для этого класса логика удовлетворяет свойствам кумулятивности, рациональности, релевантности и ряду других свойств, которым удовлетворяет WFSX. Установленные взаимосвязи позволяют получить новые результаты в эпистемической логике и приводят к алгоритмам, используемым в расширенном логическом программировании.
9.4-2.3. Дальнейшие разработки. Так как язык ЕВ является более общим, чем язык расширенных логических программ, то логика ЕВ может служить инструментом для дальнейших обобщений расширенного логического программирования, например, дизъюнкции. Все, что для этого требуется, — определить трансляцию дизъюнктивных расширенных программ в логику.
Другим возможным обобщением расширенного логического программирования может быть использование модальных операторов логики, допускающих конъюнкцию и дизъюнкцию.
Благодаря связи ЕВ-логики и расширенного логического программирования удается решить ряд задач. Например, рассмотрим более подробно задачу устранения противоречий или пересмотр убеждений. В расширенном логическом программировании предложено несколько подходов для решения этой задачи, в основе которых лежит следующая идея: литеры not L рассматриваются как предположения, так что если предположение приводит к противоречию, то необходим его пересмотр. В эпистемической логике это переформулируется следующим образом: «Если в результате интроспекции оказывается, что не существует ни одного расширения, то необходимо пересмотреть убеждения».
Пример 9. 70.
Пусть имеется теория Т:
В^Е ab > Е летает
Е^летает
Она непротиворечива, но не имеет расширений. Это происходит из-за того, что ^ЕаЬ истинно во всех минимальных моделях и поэтому, по интроспекции, в них должно быть добавлено В^ ЕаЬ, что приводит к противоречию. Причем это типичный пример того, когда в результате
интроспекции возникает противоречие (подобное явление характерно и для логик Мура).
Для того, чтобы определить смысл непротиворечивых теорий, не имеющих расширений, можно использовать два подхода:
определить более скептическое понятие расширения, использующее в интроспекции меньше высказываний, принимаемых как убеждения;
минимально пересматривать теорию, чтобы получить расширения.
Исключение возникновения противоречий в логике ЕВ равносильно ослаблению условий для интроспекции. Дополнительно можно вводить высказывания-убеждения исключительно для выбранного подмножества формул, минимально следующих из теории. При этом, конечно, разрешаются не все подмножества. В частности, можно рассматривать лишь максимальные подмножества. Изучение дополнительных условий предпочтения на этих подмножествах равносильно соответствующим исследованиям для расширенного логического программирования.
Благодаря эквивалентности автоэпистемической логики и WFSX, устранение противоречий в этой логике эквивалентно устранению противоречий для логического программирования.
9.5. WFSX и логика умолчаний
Идея установления связи между логическим программированием и теориями умолчаний состоит в следующем: перевести каждое правило программы в правило-умолчание и затем сравнить расширения теории умолчаний с семантикой соответствующей программы. Поводом для проведения таких исследований послужило то, что с одной стороны, появляется возможность использования логического программирования как структуры для немонотонного вывода, и, с другой стороны, — вычислять расширения логики умолчаний с помощью алгоритмов, разработанных для логических программ. Для того, чтобы установить связь фундированной семантики с расширениями теории умолчаний, Альфереш и Перейра сначала определяют основные принципы, которым должна удовлетворять семантика теории умолчаний, а затем определяют специальную теорию умолчаний, согласующуюся с этими принципами.
В настоящее время наблюдается все более активное использование логического программирования с явным отрицанием как инструмента для выполнения немонотонного вывода, поэтому благодаря результатам, полученным этими исследователями, появляется возможность применять логическое программирование как средство для представления теорий умолчаний. Наличие установленной связи позволяет
лучше прояснить смысл логических программ, сочетающих явное отрицание и отрицание по умолчанию. В частности, удается установить, как явное отрицание соотносится с классическим отрицанием в теории умолчаний, и глубже понять особенности использования правил в расширенных логических программах. Подобно умолчаниям, правила в программах являются однонаправленными, так что их контрапозиции задаются явно: связка «<—» — не материальная импликация, а скорее похожа на отношение выводимости.
Так как WFSX определяется с помощью монотонного оператора фиксированной точки, то эта семантика обладает желательными вычислительными свойствами, включающими наличие нисходящих и восходящих вычислительных процедур. Так как фундированная семантика состоятельна по отношению к семантике умолчаний Рейтера, то всякий раз, когда существует расширение, мы обеспечиваем наличие состоятельных методов для вычисления пересечения всех расширений для важного подмножества теорий умолчаний Рейтера.
Представляемая семантика теорий умолчаний определена для ограниченного языка, в котором предпосылки (prerequisites) и обоснования (justifications) — конечные множества фундаментальных литер, заключением также является литера, и все формулы, не входящие в правила-умолчания, представлены лишь литерами. Отметим, что, как обычно, при установлении соответствия теорий умолчаний и логических программ, язык теорий уже ограничен подобным образом. Более того, далее будет показано, что теории умолчаний с ограниченным языком представления тем не менее обладают такой же выразительной силой, как и логические программы с явным отрицанием.
В данном разделе приводится описание семантики для теории умолчаний и показывается ее связь с семантикой WFSX. Основываясь на этой связи, можно дать альтернативное определение WFSX, опирающееся не на трехзначную, а лишь на двузначную логику. Это достигается с помощью введения такого определения Г-оператора Гельфон- да — Лифшицца, для которого уже установлена связь с умолчаниями Рейтера. В результате WFSX можно рассматривать как частичную двузначную семантику, в которой неопределенными являются те литеры, относительно которых не может быть доказана ни ложность, ни истинность, т. е. литеры, истинность которых в трехзначной логике не известна.
Язык умолчаний
Рассмотрим сначала пропозициональные языки умолчаний и некоторые известные логики умолчаний.
Определение 9.66. (Правило умолчания). Пропозициональное умолчание d — это тройка d =< p(d), j(d), c(d) >, где p(d) и c(d) —
пропозициональные формулы и j (d) — конечное подмножество пропозициональных формул. p(d) (Соответственно, j(d) и c(d)) называется предпосылкой (соответственно, обоснованием и следствием) умолчания d. Умолчание d также обозначается следующим образом:
Определение 9.67. (Теория умолчаний). Теория умолчаний А — это пара ^D^W\ где W — множество пропозициональных формул и D — множество правил-умолчаний.
Как отмечалось выше, определение семантики теорий умолчаний дается здесь для ограниченного языка, достаточного, тем не менее, для установления связей с расширенными логическими программами.
Определение 9.68. (Ограниченная теория умолчаний). Ограни- рЛ)-зЛ)
ченное правило-умолчание — это правило вида —, где р(а),
j(d) и с^ — литеры. Ограниченная теория умолчаний А — это пара ^D^W\ где W — множество литер и D — множество ограниченных правил-умолчаний.
Рассмотрим кратко ряд известных видов семантики теорий умолчаний для пропозиционального случая. Затем рассмотрим фундированную и стационарную логики умолчаний, соответствующие фундированной и стационарной семантике нерасширенных логических программ.
Семантика рмолчаний Рейтера. Каждой теории умолчаний А Рейтер ставит в соответствие оператор Гд, действующий на множествах объективных литер, которые называются контекстами.
Определение 9.69. (Оператор Гд/ Пусть А = (D^W) — пропозициональная теория умолчаний и пусть Е — произвольное множество объективных литер, называемое контекстом. Тогда Гд(^) — наименьший контекст, для которого справедливо следующее:
он содержит W;
он замкнут по отношению ко всем правилам вывода вида ———,
где£ D и Е для каждого / Е j(d).
Интуитивно, Г^(Е) представляет множество всех объективных литер, выводимых из W и Е, замкнутое относительно всех правил- умолчаний, обоснования которых не противоречат Е.
Определение 9.70. (Расширения умолчаний Рейтера). Контекст Е — это расширение теории умолчаний А тогда и только тогда, когда Е = ГДЕ).
Осторожная (cautious) семантика умолчаний для А — это контекст, содержащий все объективные литеры, принадлежащие всем расширениям А. Оказывается, расширения умолчаний могут рассматриваться как рациональные (rational) множества заключений, дедуктивно выводимых из А.
Одной из проблем, связанных с логикой умолчаний Рейтера, является то, что она может иметь множественные расширения, и в этом случае осторожная семантика умолчаний уже может и не быть расширением. Если рассматривать расширения лишь как рациональные множества заключений, то, к удивлению, можно обнаружить, что ни одно из этих множеств не совпадает с осторожной семантикой.
Пример 9. 71.
f с'АЛ , Д
Рассмотрим теорию умолчаний А : < —-—, > Д с 1 , у ко-
\ ( о а )/
торой существует два расширения: Е^ = {а, Ар с} и Е2 = {^, ^а,с}. Осторожная семантика умолчаний дает {с}, причем это множество само не является расширением, а значит, согласно семантике Рейтера, не будет и рациональным множеством заключений.
Другая проблема заключается в том, что в тех случаях, когда
ожидается существование вполне определенного смысла, расширение может и не существовать (т. е. смысл не будет определен).
Пример 9. 72.
д™ ™”’"умолч,ший G v Ь ы),,с гущсг™уст -"I— Хотя р — это факт и естественно считать р истинным.
Фундированная и стационарная семантика умолчаний для нормальных логических программ. Рассмотрим два подхода, которые связывают нормальные логические программы с теориями умолчаний и решают отмеченные проблемы логики умолчаний Рейтера.
Берел и Субрахманиан предложили фундированную семантику для пропозициональных теорий умолчаний, которая определяет смысл теорий умолчаний с множественными расширениями. Более того, семантика определяется для всех теорий, назначая каждой из
них единственное расширение.
Пусть А = ^D^W^ — теория умолчаний, и пусть оператор Гд(Е) определен так же, как и раньше. Так как оператор Гд(Е) антимоно- тонный, то Гд(Е) — монотонный оператор, и поэтому имеет наименьшую фиксированную точку.
Определение 9.71. (Фундированная семантика).
Формула F истинна в теории умолчаний А по отношению к фундированной семантике тогда и только тогда, когда F е /ЩГ2) (здесь Ifp — наименьшая фиксированная точка);
формула F ложна в теории умолчаний А по отношению к фундированной семантике тогда и только тогда, когда F ^ д/р(Г2) (здесь gfp — наибольшая фиксированная точка);
в противном случае говорят, что истинностное значение F не известно (или не определено).
Эта семантика определена для всех теорий и эквивалентна семантике фундированных моделей для нормальных логических программ. Позже Пшимусинская и Пшимусинский обобщили эту работу, введя понятие стационарных расширений умолчаний.
Определение 9.72. (Стационарное расширение). Для данной теории умолчаний ХЕ — стационарное расширение умолчаний тогда и только тогда, когда
Е = Г^Е) и
£СГд(£).
Определение 9.73. (Стационарная семантика умолчаний). Пусть Е — стационарное расширение для теории умолчаний А. Тогда
формула L истинна в Е тогда и только тогда, когда L еЕ;
формула L ложна в Е тогда и только тогда, когда L ф Гд(Е);
в противном случае истинностное значение L считается неопределенным.
Было показано, что эта семантика эквивалентна стационарной семантике нормальных логических программ.
Заметим, что каждая теория умолчаний имеет по крайней мере одно стационарное расширение. Наименьшее стационарное расширение умолчаний всегда существует и соответствует фундированной семантике теории умолчаний. Более того, наименьшее стационарное расширение умолчаний может быть вычислено с помощью итераций монотонного оператора Гд.
Пример 9. 73.
Рассмотрим теорию умолчаний из примера 9.72. Имеем: Гд({р}) = = {р, <Д и Гд({р}) = {р}. Следовательно, р истинно в теории А.
Некоторые необходимые принципы для теорий умолчаний
Обоснуем ряд принципов, которым должна удовлетворять семантика теории умолчаний, и свяжем ее с логическими программами, расширенными явным отрицанием, для которых выполнение этих принципов весьма желательно.
Свойство 9.4 (Единственность минимального расширения). Мы говорим, что теория умолчаний удовлетворяет свойству единственности минимального расширения, если всякий раз, когда она имеет расширение, у нее существует и минимальное расширение.
Как известно, теории умолчаний Рейтера не согласуются с этим принципом, что становится очень важным особенно в том случае, когда мы рассматриваем осторожную версию семантики умолчаний.
Пример 9. 74.
Рассмотрим следующую теорию умолчаний:
( республиканец(Х) : пацифист (X) квакер(Х) : пацифист(Х)А
(-^пацифист(Х)1 пацифист(Х) J
}республиканец(никсон), квакер (никсон)}
С помощью семантики Рейтера находим два расширения:
Ei = (пацифист (никсон), республиканец(никсон), квакер (никсон)} и Е2 = ^пацифист(никсон), республиканец(никсон), квакер(никсон)}. В результате осторожная семантика Рейтера дает: }республиканец(никсон), квакер(никсон)}.
Как отмечалось выше, если рассматривать расширение как рациональное множество заключений, то кажется странным, что осторожная семантика сама не образует такого множества. Если же обеспечить выполнение свойства единственности минимального расширения, то с этой проблемой удается справиться. Более того, наличие свойства единственности облегчает поиск итерационных алгоритмов для вычисления осторожной версии семантики умолчаний.
Определение 9.74- (Объединение теорий). Объединение двух теорий умолчаний Ai = (Pi,Wi) и А2 = (Еф Иф) с языками Ь(А1) и Е(А2) — это теория А = Ai U А2 = (Di U D-^ W\ U Иф) с языком L(A) = L(A1)UL(A2).
Пример 9. 75.
Рассмотрим две теории умолчаний:
Классическая теория умолчаний, фундированная семантика и стационарная семантика определяют }Ь} как единственное расширение для А2. Так как языки данных теорий умолчаний не связаны, то можно ожидать, что Ь будет включаться во все расширения объединения этих теорий. Но оказывается, что и фундированная, и наименьшая стационарная семантика делают значение Ь неопределенным в объединенной теории. Это происходит потому, что данные виды семантики не являются модулярными. В данном случае существует нежелательное взаимодействие между правилами-умолчаниями обеих теорий при их объединении. Классическая теория умолчаний, будучи модулярной, дает два расширения: {фа. Ь} и {а, 5}, но в результате не удается
определить единственное минимальное расширение для объединения теорий.
Свойство 9.5 (Модулярность). Пусть даны Ai и А2 — две теории умолчаний с непротиворечивыми расширениями такие, что Ь(А1) П Е(А2) = {}, и пусть объединение теорий есть А = Ai U U А2, причем для этих теорий известны расширения ЕдП Ед2 и Е1^. Семантика для теории умолчаний модулярна тогда и только тогда, когда:
ЧА(Чг Ае ЕХ^Л Ае Е^)
VA(Vj A^E^^Mk Ле Е^\
Неформально, семантика теории умолчаний модулярна, если любая теория, получающаяся объединением двух непротиворечивых теорий с несвязанными языками, содержит следствия каждой из теорий в отдельности.
Утверждение 9.16. Логика умолчаний Рейтера модулярна.
Пример 9. 76.
гр°—л Т Г1А
Хеория умолчании < Д = , «2 = —;— г И г имеет два клас-
\ I а) у
сических расширения {а} и {5}. Стационарная семантика умолчаний дает еще одно расширение — {}.
Пример 9. 77.
Пусть (D. WA — это ( < di = , d2 = ——^ г ,| • Единствен-
\ I а ° )/
ным классическим расширением будет {^а,5}. В наименьшем стаци
онарном расширении Е = Гд(Е) = ^a^j^) Е Е, но c(d2) ф Е.
Определение 9.75. (Применимость умолчаний). Пусть дано расширение Е, тогда
умолчание d применимо в Е О p(d) С Е и ^j(d) И Е = {};
применимое умолчание d применяется в Е ^ c(d) Е Е.
В классической семантике умолчаний каждое применимое умолчание применяется. Это препятствует наличию свойства единственности минимального расширения. Так, в примере 9.76 из-за того, что одно умолчание всегда применяется, нельзя получить единственное минимальное расширение.
Для того, чтобы гарантировать единственность минимального расширения, можно так определить семантику, чтобы применимое умолчание могло применяться, или не применяться в зависимости от каких-либо условий. В результате утрачивается понятие максимального применения умолчаний, которое используется в классической теории. В примере 9.77 необходимо, чтобы по крайней мере правило d2 было применено.
Альфереш и Перейра предлагают сохранить принцип единственности минимального расширения наряду с понятием максимального применения умолчаний, что нашло отражение в принципе «принудительности» (enforcedness).
Свойство 9.6 (Принудительность). Пусть дана теория А с расширением Е, тогда умолчание d принуждаемо в Е тогда и только тогда, когда p(d) Е Е и j(d) С Е. Расширение является принудительным, если все принуждаемые умолчания в D применены.
Всякий раз, когда Е является расширением, если умолчание принуждаемо, то оно должно быть применено. Заметим, что принуждаемое умолчание всегда является применимым. Другими словами, если d — принуждаемое умолчание и Е — расширение, то правило- умолчание d должно пониматься как правило вывода: p(d),j(d) c(d) и в результате должно выполняться: с^ Е Е.
И фундированная, и стационарная семантика поддерживают минимальные расширения, для которых принуждаемые умолчания не применяются (см. пример 9.77). Но в этом примере они все же допускают принудительное расширение: {6, ^а}, хотя в общем случае это не выполняется.
Пример 9. 78.
Пусть (D,W) = ^ , ——, }, {ДД^ . Единственным стационарным расширением будет {ДД. и оно не является принудительным.
Основываясь на описанном понятии принудительности, Пшиму- синская и Пшимусинский определяют насыщенные теории умолчаний.
Определение 9.76. (Насыщенная теория умолчаний). Теория умолчаний А = (D,W) является насыщенной тогда и только тогда, p(d) : j(d) _
когда для каждого правила-умолчания — Е U если рщ) Е W
сщ)
и ДД Е W, то с(Д Е W.
Для данного класса теорий умолчаний эти исследователи доказали, что и стационарная, и фундированная семантика умолчаний согласуются с принципом принудительности. Но требование насыщенности является очень сильным ограничением, так как оно требует выполнения некоторого замыкания теории W.
Q-теория умолчаний
Альфереш и Перейра вводят семантику теории умолчаний, которая является модулярной и удовлетворяет принципу принудительности для каждой ограниченной теории умолчаний. Более того, если эта семантика определена, то она дает единственное минимальное
расширение. В дальнейшем, если не возникает недоразумений, мы ссылаемся на ограниченные правила-умолчания и теории просто как на правила-умолчания и теории.
Для того, чтобы установить связь между теориями умолчаний и расширенными логическими программами, необходимо обеспечить выполнение принципа модулярности для семантики теории умолчаний во всех случаях, кроме противоречивых ситуаций. Рассмотрим следующий пример, в котором возникает противоречие.
Пример 9. 79.
Для теории умолчаний ^ — ,-},{}) два правила-умолчания с пустыми предпосылками и обоснованиями должны всегда применяться, что, очевидно, приводит к противоречию. Отметим, что это же
происходит и в том случае, если теорию умолчаний переписать как
(D= /(D= /1 и {} — наименьшее стационарное расширение).1 и {} — наименьшее стационарное расширение).Вернемся к примеру 9.75, с помощью которого была показана немодулярность стационарной семантики умолчаний ::а :Ъ
(D= /
(D= /
1 и {} — наименьшее стационарное расширение).
1 и {} — наименьшее стационарное расширение).
' а ' Ъ
В самом деле, Гд({}), имея и а, и ^а, по дедуктивному замыканию определяет -Ъ. В результате на второй итерации уже нельзя применить третье умолчание. Чтобы этого не произошло, необходимо подавить добавление к Гд({}), что можно сделать, если запретить при дедуктивном замыкании в Г использование заключений,
вызывающих противоречие.
В описанном ограниченном языке проблема решается просто, так как все формулы — это лишь литеры, и подавление может быть выполнено с помощью переименования негативных литер.
Определение 9.11. (Тд/ Пусть А = (D. W^ — пропозициональная теория умолчаний и Е — контекст. Пусть Е' — наименьшее множество атомов, для которого выполняется следующее:
оно содержит W'\
оно замкнуто относительно всех правил вывода вида ^^ таких, что ^^ ^^D и Е для каждого / Е j(dY, и / Е для
каждого ^_f Е j(dY.
Здесь W (соответственно р(ДУ, j (dY и c(d)') получаются из W (соответственно p(d\ j(d) и c(d)) заменой в нем каждой негативной литеры ^А новым атомом ^ Л. Г^(Е) получается из Е' заменой каждого атома вида -и 4 на ^А.
Рассмотрим снова пример 9.77, который показывает, что стационарные расширения умолчаний не всегда являются принудительными. Непринудительным (наименьшим) расширением является Е = = Г2(ТД = {^а}, где Г(Е) = {^а,а,Д. В полученной семантике ^а истинно и а имеет неопределенное истинностное значение. Этот результат не согласуется с нашей интуицией. Чтобы справиться с этой проблемой, мы должны гарантировать, что для расширения Е выполняется следующее:
WeD еЕ^ с^ ^ Г(Е),
т. е. если ^c(d) — истина, то с(Д — ложь (здесь прослеживается сходство с принципом когерентности).
Нетрудно видеть, что это условие удовлетворяется полу нормальными теориями умолчаний: если ^c(d) принадлежит расширению, то не должно применяться никакое полунормальное правило с заключением с(Д. Этот принцип используется в семантике умолчаний.
Определение 9.78. (Полунормальная версия теории умолчаний). Для заданной теории умолчаний А ее полунормальная версия А^ получается путем замены в А каждого правила-умолчания вида
p^-.j^d)s р^У-зЛ^с^
а = на правило-умолчание вида а = .
с^а)с^а)
Определение 9.79. (Оператор Qa/ Для теории А определяется следующий оператор:
= Ц(Ц5(Д).
Определение 9.80. (El-расширение). Пусть А — теория умолчаний, Е является Q-расширением тогда и только тогда, когда
Е = ^(Е)-
Основываясь на Q-расширениях, Альфереш и Перейра определяют семантику теории умолчаний.
Определение 9.81. (EL-семантика умолчаний). Пусть А — теория умолчаний, Е — расширение А и L — литера, тогда
L истинна по отношению к расширению Е ^ L Е Е;
L ложна по отношению к расширению Е О L ^ ГдДТД;
в противном случае L не определена.
El-Семантика умолчаний для А определяется множеством всех Q-расширений для А. Осторожная El-семантика умолчаний для А определяется наименьшими Q-расширениями для А.
Здесь предполагается, что выполняются следующие требования: каждое расширение Е должно быть подмножеством для Г^8(Е\ Если этого не делать (т. е. рассматривать в качестве расширений все фиксированные точки Q), то семантика допускала бы в некоторых расширениях одновременную ложность и истинность литер.
Пример 9. 80.
Для теории умолчаний Д = < , —-—,, г Д } СУ"
\ ( а о с с J /
ществуют четыре фиксированные точки Пд:
Ei ={}
Ev = {а, с}
£3 = {М
Е4 = {а, Ь, с}
ГдбЩ) = ^а,Ь,с^ г'дщ2) = {м ЦЩз) = {а,с} WH}
Расширением является лишь Е^, и поэтому Е-v определяет Q- семантику умолчаний для Д. Отметим, что, например, а Е Е-^ и а ^ ГдД^Д). Поэтому если Е2 рассматривалось бы как расширение, то а было бы одновременно и истинно, и ложно в Е^. Более того, согласно интуиции, ни одно расширение не должно содержать с, так как для каждого правила с заключением с предпосылки не совместимы с обоснованием. В Е^ с истинно, так как а, будучи истинным, удовлетворяет предпосылкам и одновременно, будучи ложным, удовлетворяет обоснованиям. Приведенное определение расширения гарантирует, что никакая пара противоречивых литер не принадлежит Е.
Утверждение 9.17. Если Е — Q-расширение теории умолчаний Д, то не существует такой литеры L, что {Д ^L^ С Е.
Пример 9. 81.
Рассмотрим теорию умолчаний Д = < ,, ——, — > , {} .
\ ( с а о )/
Единственным ее расширением является {^а,5}. Действительно,
Еду ({^а, Ь}) = {с, 5, ^а} и Гд({с, 5, ^а}) = {^а,5}.
В результате -а и b истинны, с не определено и а и ^5 ложны.
Нетрудно видеть, что для некоторых теорий может и не быть Q- расширений. Рассмотрим следующий пример.
Пример 9. 82.
У теории Д = ( S -, — г ,) не существует Q-расширений.
\I а J /
Определение 9.82. (Противоречивая теория). Теория умолчаний А противоречива тогда и только тогда, когда у нее не существует Q-расширений.
Чтобы гарантировать существование наименьшего расширения, была доказана следующая теорема.
Теорема 9.27 (Q — монотонный оператор). Если А — непротиворечивая теория, то Qa — монотонный оператор.
Определение 9.83. (Итеративное построение). Для того, чтобы получить конструктивное определение для наименьшего (по отношению включения множеств) Q-расширения теории, определяется следующая бесконечная последовательность {Еп}:
So = {}
Ea-\-i = ^(Еа)
Es = U {ЕаД < 5} для конечного натурального 5.
По теореме 9.27 и теореме Кнастера — Тарского для описанной последовательности должно существовать наименьшее натуральное А такое, что Е\ — наименьшая фиксированная точка оператора Q. Если Е\ — Q-расширение, то оно является наименьшим. В противном случае, согласно приведенному ниже утверждению, для теории не существует Q-расширений.
Утверждение 9.18. Если наименьшая фиксированная точка Е оператора Qa не является Q-расширением для А, то у теории А не существует Q-расширений.
Пример 9. 83.
Рассмотрим теорию умолчаний А из примера 9.81. Чтобы получить наименьшее расширение для А, построим следующую последовательность:
So = {}
Ei = ^(^({D) = Гд({с,аД ^}) = {^}
е. = ГдСг^щЩ) = гщ-л-Л) = Ь«Ч
Ез = ГдТ^ЩаЛ})) = ЛИД = {-«Л} = ^2
Так как Е) С ГдДТД), то Е2 — наименьшее Q-расширение для А.
Пример 9. 84.
Пусть А = ( < -, — г ,). Построим последовательность:
Via ^а)/
Ео = {}
Ei = ^TUtt)) = ГДа.Д =
= ГДГД ({а, ^}) = ГЩ}) = {а, -а} = Ev
Так как не выполняется условие Е\ С Г^д^Е^ то у теории А не существует Q-расширений.
Установлено, что описанная семантика умолчаний удовлетворяет всем принципам, представленным в разд. 9.5.2. Точнее, доказаны приведенные ниже теоремы.
Если для теории А существует расширение, то существует единственное наименьшее расширение Е (единственность минимального расширения).
Если Е — Q-расширение для теории А, то Е — принудительное расширение (принудительность).
Пусть Тд1 и Тд2 — языки двух теорий умолчаний. Если Тд1 И Тд2 = {}, то для любых соответствующих расширений E-v и Е2 всегда существует расширение Е для теории А = Ai U U А2 такое, что Е = Е^ U Е).
Сравнение с семантикой Рейтера
Сравнивая Q-семантику для теорий умолчаний с семантикой Рейтера, Альфереш и Перейра доказали, что для ограниченных теорий умолчаний первая семантика является обобщением последней в том смысле, что всякий раз, когда семантика Рейтера (Г-расширение) может определить смысл теории (т. е. у теории существует по крайней мере одно Г-расширение), то Q-семантика тоже определяет смысл этой теории.
Более того, всякий раз, когда обе семантики могут определить смысл теории, Q-семантика состоятельна по отношению к пересечению всех Г-расширений. Поэтому оказывается возможным использовать монотонный оператор фиксированной точки для вычисления подмножества пересечения всех Г-расширений.
Теорема 9.28. Рассмотрим теорию А такую, что определена Q-семантика. Тогда каждое Г-расширение будет и Q-расширением.
Теорема 9.29 (Обобщение семантики Рейтера). Если теория А имеет по крайней мере одно Г-расширение, то у нее существует одно Q-расширение.
Теорема 9.30 (Состоятельность по отношению к семантике Рейтера). Если теория А имеет Г-расширение, то всякий раз, когда литера L принадлежит наименьшему Q-расширению, она также принадлежит пересечению всех Г-расширений.
Интересно отметить, что если для определения Q использовать любое другое сочетание операторов, подобных Г (операторы Гд^Г^Гду и Гд), то получается семантика, состоятельная по отношению к семантике Рейтера, но новая семантика уже не будет так «похожа» на семантику Рейтера, как Q-семантика. Под словами «не будет так похожа» мы понимаем, что наименьшие фиксированные
точки новой семантики — подмножества пересечения всех расширений семантики Рейтера, которые меньше (по отношению к включению множеств), чем наименьшая фиксированная точка для Q. Поэтому Q- семантика является наилучшим приближением семантики умолчаний Рейтера по сравнению с остальными.
Утверждение 9.19. Пусть А — непротиворечивая теория умолчаний, тогда:
iMVASry с ifpOY,
1МОО с IMO
IMO2) с ИрО,
ТрТИ сирЮ
Сравнение со стационарной семантикой умолчаний
Приведем кратко результаты сравнения Q-семантики со стационарными расширениями. Не всегда стационарное расширение является Q-расширением, поскольку, как уже отмечалось, немодулярные и непринудительные стационарные расширения не могут быть Q-расширениями. Следующий пример показывает, что не всегда Q-расширение является стационарным расширением.
Пример 9. 85.
ссПусть дана следующая теория А : I <
с
с
Единственным Q-расширением для А будет {с, ^5}, но оно не является стационарным расширением.
Как уже отмечалось, для насыщенных теорий умолчаний стационарная семантика удовлетворяет принципу принудительности. Однако даже для этого класса теорий стационарная семантика может не совпадать с Q-семантикой. Причина состоит в том, что в общем случае стационарные расширения не являются модулярными.
Пример 9. 86.
Теория умолчаний в примере 9.75 является насыщенной и имеет немодулярное стационарное расширение.
Тем не менее, для большого класса случаев эти виды семантики совпадают. В частности, справедливо следующее утверждение.
Утверждение 9.20. Если для каждого умолчания а =—- с(п) — позитивная литера, то Q совпадает с Гд.
Связь семантики теории умолчаний и логических программ сявным отрицанием
Как оказалось, Q-расширения эквивалентны частичным устойчивым моделям расширенных логических программ.
Определение 9.84* (Программа, соответствующая теории умолчаний). Пусть А = (£>,{}) — теория умолчаний. Мы говорим, что расширенная логическая программа Р соответствует А тогда и только тогда, когда
..., ап} :• • • ? ^т} д
для каждого умолчания вида Е А
с
существует правило с «1,..., ап, not =5i,..., not ~^bm E P;
программа P не содержит никаких других правил.
Определение 9.85. (Интерпретация, соответствующая контексту.) Интерпретация I программы Р соответствует контексту Е теории умолчаний Т тогда и только тогда, когда для каждой объективной литеры L программы Р (и литеры L теории Г) выполняется
I(L) = 1^LeEhLe I\s(E\,
I(L) = 1/2 о L ^ E и L E V^s(Ey,
I(L) = О о L ^ E и L ^ Г'^Е).
Следующая теорема связывает два вида семантики.
Теорема 9.31. Пусть А = (D, {}) — теория умолчаний, соответствующая программе Р. Е — Q-расширение для А тогда и только тогда, когда интерпретация I, соответствующая Е, является частичной устойчивой моделью программы Р.
Следуя этой теореме, можно сказать, что явное отрицание — это не более чем классическое отрицание в (ограниченных) теориях умолчаний и наоборот. Так как Q-семантика умолчаний — это обобщение Г-семантики умолчаний (см. теоремы 9.29 и 9.30), и так как семантика ответных множеств соответствует Г-семантике умолчаний, то оказывается, что семантика ответных множеств — частный случай WFSX. Кроме того, и другие свойства Q-расширений также могут быть «переведены» в свойства моделей расширенных логических программ, например, модулярность, единственность минимального расширения и т. и.
В то же время, используя приведенную теорему, можно применять нисходящие процедуры логического программирования для вычисления расширений по умолчанию. В частности, в соответствии с теоремой 9.30, нисходящие процедуры для WFSX могут быть использованы как состоятельные нисходящие процедуры для логики умолчаний Рейтера.
Пример 9. 87.
Рассмотрим программу Р:
с <— not с
а <— not Ъb <— not а
Этой программе соответствует теория умолчаний
А =< ,, ——, — г , т j • Как уже вычислено в примере
\ ( с а о )/
.81, единственным Q-расширением для А является Е = {^а, 6} и Г^д(Е) = {^а,6, с}. PSM, соответствующая этому расширению, есть М = {^а, not a, b, not ^b, not ^с}. Нетрудно проверить, что М — единственная PSM для программы Р.
Определение WFSX с помощью Г
Используя взаимосвязь логических программ и теорий умолчаний, Альфереш и Перейра определили WFSX, опираясь не на трехзначную, а на частичную двузначную логику. Рассмотрим, как определяется для логических программ понятие, соответствующее полунормальности для теорий умолчаний.
Определение 9.86. (Полунормальная версия программы). Полу- нормальная версия программы Р — это программа Pg. получающаяся из Р добавлением к (возможно пустому) телу Body каждого правила вида L Body литеры по умолчанию not ^L, где ^L — дополнение L по отношению к явному отрицанию.
Для краткости, когда Р ясно из контекста, будем использовать Г (5) для обозначения Гр (5), и Tg(S) для обозначения Vps(S\
Теорема 9.32 (Частичные устойчивые модели). Пусть Р — расширенная логическая программа, тогда М = Т U not F — частичная устойчивая модель программы Р тогда и только тогда, когда
Т = ГГ8Т;
Т С VST.
Более того, F = {L| L ^ Г^Т}, и те элементы Г^Т, которые не принадлежат Т, оказываются неопределенными в М. В дальнейшем Т будут называться генераторами для М.
Заметим, что в этих альтернативных определениях каждая модель PSM полностью определяется истинными в ней объективными литерами.
Теорема 9.33 (Фундированная модель). Пусть Р — непротиворечивая программа. М = Т U not F — фундированная модель программы Р тогда и только тогда, когда Т — наименьшая фиксированная точка для ГГ5- и Т генерирует М.
В результате оказывается, что WFM может быть получена с помощью итераций ГГ^ из пустого множества (заметим, что роль Г^ состоит в том, чтобы обеспечить выполнение принципа когерентности). Если в результате будет найдена фиксированная точка S^ то она содержит объективные литеры, истинные в WFM. Ложные литеры находятся при сравнении с Гs'S', т. е. это те литеры, которые не принадлежат ГsS. Можно также определить итеративное построение ложных в WFM литер, а истинные литеры находить с помощью ложных. Следующее утверждение помогает нам определить подобное итеративное построение.
Утверждение 9.21. Пусть Р — непротиворечивая программа. Тогда: Г,Д/р(ГГ5)) = дЫ^зП
Определим теперь два монотонных оператора: один из них позволяет по заданному множеству истинных объективных литер находить дополнительные истинные объективные литеры, а другой — по заданному множеству ложных объективных литер находить дополнительные ложные объективные литеры.
Определение 9.87. Для программы Р определим T(S) = FFs(S), F(R) = Н — ITs(H — R), где H обозначает эрбрановскую базу программы Р.
Теорема 9.34. Для любой непротиворечивой программы операторы Т и F являются монотонными.
Теорема 9.35. Пусть Р — непротиворечивая программа. Тогда WFM(P) = 1МТ) U not IMFY
Пример 9. 88.
Пусть дана программа Р:
с b. not с
а <— not Ъb not а
Покажем два альтернативных способа вычисления WFM.
Начнем с пустого множества истинных объективных литер и будем выполнять последовательно итерации, чтобы найти все истинные объективные литеры, до тех пор, пока не будет получена фиксированная точка:
То = {}
Л = ГГ5{} = Г{с, а, Ь, -на} = {-а}
Т2 = ГГЩа} = Г{с, Ь, -а} = ^Ь, -а}
Тз = ГГ5Ц -на} = Г{с, Ь, ^а} = {6, -на}
14 В.Н. Вагин и др.
В результате WFM= Т3 U not (Я* — ГдТз) = {6, ^а} U not (Я — — {с, Ь, ^а}) = {Ь, ^а} U {not a, not ^6, not ^с}.
Начнем с пустого множества ложных объективных литер и будем выполнять последовательно итерации, чтобы найти все ложные объективные литеры, до тех пор, пока не будет получена фиксированная точка:
П = {};
FT = Н - Г5Г(Я - {}) = Н - ГД-Д = Я - {с, Ь, ^а} = {а, Л, ^с};
F> = Н Г5Г(с, Ь, ^ = Н - Г5Ц ^а} = Я - {с, Ь, -а} = {а, Л, -с}.
В результате WFM = Г(Н — F2) U not F2 = Г{с, Ь, U U ^not a, not ^b, not ^с} = {6, ^а} U ^not a, not ^b, not ^с}.
... исчерпать сей предмет невозможно: уж кажется, насказано много, ан нет — недосказано еще больше...
Д. Боккаччо
Глава 10
СИСТЕМЫ АРГУМЕНТАЦИИ ИАБДУКТИВНЫЙ ВЫВОД
Абдукция — это процесс формирования объясняющей гипотезы. Точнее, при заданной теории и наблюдении, предложенном для объяснения, абдуктивный вывод должен определить одно или более наилучших объяснений наблюдения на основе заданной теории. Термин «абдукция» впервые ввел американский философ Пирс.
Приведем простейший пример абдуктивного вывода. Пусть известно правило «Все шары в этой коробке белые» и результат наблюдения «Эти шары белые», тогда по абдукции можно заключить, что «Данные шары взяты из этой коробки» (причина-объяснение).
В искусственном интеллекте приложением-прототипом абдукции является задача диагностики. В этом случае абдукция используется для обнаружения в соответствии с некоторой известной теорией системы причины наблюдаемого неправильного поведения системы. Из других возможных приложений абдукции наиболее важными являются следующие: задача наблюдения, основанного на моделях; задача распознавания плана, в которой с помощью абдукции по наблюдаемым действиям агента делается попытка обнаружить цели его деятельности; задача понимания естественного языка, в которой по сравнению с задачей диагностики требуется рассматривать наиболее полное множество абдуктивных объяснений; временной вывод и планирование; задача накопления и усвоения знаний, в которой в базу знаний добавляются абдуктивные объяснения, описывающие новые для нее явления; задачи вывода по умолчанию.
На сегодняшний день теория аргументации проявила себя как мощное средство моделирования различных форм правдоподобного вывода. Основная идея аргументационного вывода состоит в том, что
утверждению можно доверять, если оно может быть аргументированно защищено от атак аргументов. Как оказалось, теория аргументации может успешно применяться и для организации абдуктивного вывода.
Системы пересматриваемой аргументации
Основы теории аргументации
Системы для пересматриваемой аргументации содержат (иногда неявно) следующие пять элементов:
лежащий в основе логический язык;
определение аргумента;
определение конфликта между аргументами;
определение поражения аргумента;
определение оценки аргументов, которая может использоваться для определения понятия пересматриваемого логического следствия.
Аргументационные системы строятся над логическим языком и связанным с ним понятием отношения следования с помощью определения понятия аргумента. Это отношение следования предполагается монотонным: новые посылки не могут отменить (сделать не действительным) аргумент, а могут лишь вызвать новые контраргументы. Некоторые аргументационные системы предполагают наличие конкретной логики, другие же оставляют лежащую в основе логику неопределенной частично или полностью, поэтому последние системы могут работать с различными логиками, что делает их скорее каркасами (структурами), нежели системами. Понятие аргумента соответствует доказательству (или существованию доказательства) в базовой логике.
В литературе по аргументационным системам можно найти три базовые формы аргументов:
иногда аргументы определяются как дерево выводов, основанное на посылках;
иногда — как последовательность таких выводов, то есть как дедукция;
некоторые системы определяют аргумент как пару: посылки — заключения, оставляя неявным то, как лежащая в основе логика осуществляет доказательство заключения по посылкам.
Данг предложил аргументационную систему, оставляющую внутреннюю структуру аргумента полностью неопределенной.
Аргумент — примитивное понятие, и Данг занимается лишь способами взаимодействия аргументов. Это наиболее абстрактный подход.
Понятия логики и аргумента соотносятся со стандартными представлениями о логической системе. Оставшиеся три элемента — это то, что делает аргументационную систему структурой для пересматриваемой аргументации. Первое — это понятие конфликта между аргументами (или атаки, или контраргумента). Существует два типа конфликтов:
опровержение (rebutting) аргумента (у аргументов противоречивые заключения) — это симметричная форма атаки;
подрыв (undercutting) аргумента — несимметричная форма атаки:
один аргумент делает предположение о недоказуемости (подобно тому, как это делается в логике умолчаний) и другой аргумент доказывает то, что предполагалось недоказанным первым аргументом;
один аргумент отрицает связь между посылками и заключением другого аргумента. Эта связь может быть нарушена только у не дедуктивных аргументов, т. е. у индуктивных, абдуктивных или аргументов-аналогий.
Определение того, является ли атака успешной, — еще один элемент аргументационных систем. Оно имеет вид бинарного отношения между аргументами, устанавливая отношение «атакует и не слабее» (слабая форма) или «атакует и сильнее» (сильная форма). Могут использоваться различные названия: «поражение» (Праккен, Сартор), «атака» (Данг, Бондаренко), «интерференция» (Луи). Далее будем слабую форму называть поражением, а сильную — строгим поражением.
В различных работах отличаются также понятия оценки результата вычислений. В искусственном интеллекте многие считают очень важным принцип специфичности. Но Поллок, Праккен и Сартор утверждают, что специфичность не является основным принципом практического вывода, а представляет собой лишь один из образцов, которые могут использоваться, а могут и нет. Для этого некоторые аргументационные системы параметризуются по критерию, определяемому пользователем. Праккен и Сартор даже утверждают, что критерии оценки являются частью теории прикладной области и могут оспариваться, как и все в этой теории, т. е. аргументационные системы должны работать с пересматриваемыми по этим критериям аргументами.
Понятие поражения определяется бинарным отношением на множестве аргументов. Оно не говорит нам о том, с какими аргументами
можно выиграть спор, а лишь говорит об относительной силе двух индивидуальных конфликтующих аргументов. Конечный статус аргумента зависит от взаимодействия между всеми доступными аргументами: возможна ситуация, когда аргумент А поражает аргумент В, но сам аргумент А поражается аргументом С, т. е. С «восстанавливает» В. Следовательно, требуется определить статус аргументов на базе всех возможных способов их взаимодействия. Праккен и Вресвейк считают, что это определение должно охватывать, во-первых, восстановление аргументов, и, во-вторых, следующий принцип: «Аргумент не может быть подтвержден до тех пор, пока не подтверждены все его подаргументы» (принцип композиционности Вресвейка).
Заметим, что часто восстановление происходит с помощью атаки на подаргумент атакующего аргумента. Именно определение статуса аргументов дает конечный
результат работы аргументационной системы. По статусу аргументы разбиваются обычно, по крайней мере, на два класса:
аргументы, с которыми можно выиграть спор (подтверждающие)'^
аргументы, с которыми можно проиграть спор (отвергающие).
Иногда выделяют класс аргументов, с которыми спор остается нерешенным, т. е. защищающие аргументы. Статус аргументов определяет статус заключений. Эти понятия могут быть определены как в декларативной, так и в процедурной форме. При декларативном определении используются определения с фиксированной точкой, задающие приемлемость некоторых множеств аргументов (при заданных множествах посылок и критериях оценок). При этом не определяется процедура проверки на принадлежность аргумента этому множеству. При процедурном определении задается процедура проверки на принадлежность аргумента множеству приемлемых аргументов. В результате декларативная форма определения аргументационной системы может считаться ее теоретико-аргументационной семантикой, а процедурная — ее теорией доказательства. Возможно, что в то время, когда аргументационная система имеет теоретико-аргументационную семантику, для лежащей в ее основе логики построения аргументов определена теоретико-модельная семантика в обычном смысле, например, семантика логики предикатов первого порядка или семантика возможных миров в модальной логике.
Возникает вопрос: должна ли логика немонотонного вывода иметь теоретико-модельную семантику? Некоторые исследователи утверждают, что для немонотонного вывода требуется не модельная теория, а теоретико-аргументационная семантика.
Традиционно модельная теория использовалась в логике для определения смысла логических констант формальных языков. Формулы
таких языков говорят о свойствах действительного мира. Теоретикомодельная семантика определяет смысл логических констант, описывая то, каким будет мир, если выражение с этими константами истинно; и задает логическое следование с помощью выяснения того, что еще должно быть истинным, если посылки являются истинными. Для умолчаний это означает, что их семантика должна определяться в терминах того, как обычно или типично выглядит мир, когда умолчания истинны, а логическое следование задается с помощью выделения наиболее нормальных миров, моделей и ситуаций, удовлетворяющих посылкам.
Но существует и другой подход (Поллок, Вресвейк, Луи): смысл умолчаний нужно искать не по связи с действительностью, а по их роли в диалектическом исследовании. Связь посылок и заключения пересматриваема, т. е. существует некоторое дополнительное свойство доказательства. Центральные понятия пересматриваемого вывода — это понятия атаки, опровержения и поражения аргументов, которые не являются «пропозициональными», т. е. их смысл не охватывается естественным образом связью между высказыванием и миром. Этот подход определяет «теоретико-аргументационную» семантику для подобных понятий. Главная идея — охватить множества аргументов, которые велики настолько, насколько это возможно, и адекватно защитить их от атак. При таком подходе отмечается, что модельная теория также важна, и ей отводится особое место. Модельная теория должна применяться к базовым составляющим аргументационной системы (логический язык и отношение следования, определяющие аргумент).
Некоторые исследователи (Гефнер и Перл) интерпретируют аргументационные системы как теории доказательства для семантики выводимости по предпочтению. Но успех предпочтительной семантики аргументационных систем определяется естественностью критериев для предпочтения моделей. Естественные критерии в свою очередь могут быть определены лишь для некоторых частных случаев, но еще необходимо показать, что они могут быть найдены для более общих аргументационных систем, например для тех, в которых допускаются индуктивные или абдуктивные аргументы.
Основные свойства семантики, основанной на аргументах. Рассмотрим семантику аргументационных систем, т. е. условия, которым должны удовлетворять множества подтвержденных аргументов. Аргументационные системы связаны не с истинностью высказываний, а с подтверждением принятия высказывания как истинного. Остановимся на понятии подтвержденного аргумента. Пусть на множестве аргументов определено отношение поражения, тогда может быть дано определение статуса аргумента.
Определение 10.1. Аргументы либо подтверждаются, либо не подтверждаются. Аргумент подтверждается, если все аргументы, поражающие его не подтверждаются. Аргумент не подтверждается, если он поражается подтвержденным аргументом.
Пример 10.1.
Пусть аргумент В поражает аргумент А, а аргумент С поражает аргумент В. Например, А = «Твити не летает будучи птицей», В = «Твити не летает, так как он — пингвин», С = «Наблюдение, говорящее о том, что Твити — пингвин, не является надежным». Анализируя взаимоотношения аргументов, находим: С подтверждается, так как он не поражается никаким аргументом. Аргумент В не подтверждается, так как В поражается аргументом С. Следовательно, А подтверждается, так как хотя А поражается аргументом В, но его статус восстанавливается аргументом С, поскольку С делает В неподтвержденным.
Если аргументы равной силы интерферируют, то неясно, какой из аргументов останется непораженным.
Пример 10. 2.
Пусть аргумент А поражает В, и аргумент В поражает А. С процедурной точки зрения здесь возникает цикл, а с декларативной — существуют два возможных способа назначения статуса по определению 10.1: аргумент А подтверждается, а В — нет, и наоборот.
Было предложено два подхода к решению проблемы:
изменить определение 10.1 так, чтобы статус присваивался единственным образом, и если возникает «неразрешимый конфликт», то конфликтующие аргументы получают статус «не подтверждается»;
можно допустить несколько вариантов назначения статуса. Аргумент истинно подтверждается, если он получает этот статус при всех возможных назначениях.
Существует и другая проблема — самопоражающие (self-defeating) аргументы.
Пример 10. 3.
Пусть аргумент А поражает аргумент А. Предположим что, А не подтверждается. Тогда все аргументы, поражающие А, не подтверждаются. Следовательно, аргумент А должен подтверждаться. Возникает противоречие. Если же аргумент А подтверждается, то снова приходим к противоречию.
Таким образом, принимая определение 10.1, необходимо предполагать, что самопоражающие аргументы отсутствуют.
Назначение уникального статуса аргументам. Назначение аргументу уникального статуса можно выполнить двумя способами: определить назначение статуса в терминах оператора
фиксированной точки или ввести рекурсивное определение для понятия подтвержденного аргумента, определяя дополнительно понятие подаргумента.
Определения фиксированной точки. Поллок, Симари, Луи, Праккен и Сартор используют подход, связанный с понятием восстановления. Здесь учитывается следующее наблюдение: аргумент, пораженный другим аргументом, может быть подтвержден, если он восстанавливается третьим аргументом. В результате Данг дает определение понятию приемлемости (определение 10.2).
Определение 10.2. Аргумент А приемлем по отношению к множеству аргументов S тогда и только тогда, когда каждый аргумент, поражающий Л, поражается аргументом из множества S.
Аргументы множества S могут рассматриваться как аргументы, способные к восстановлению статуса аргумента Л, если А поражается. Но одного понятия приемлемости оказывается недостаточно. Пусть в примере 10.2 S = {Л}. Нетрудно видеть, что А приемлем по отношению к S, так как все аргументы, поражающие А (т. е. аргумент В^ поражаются самим аргументом А из S. Очевидно, мы не хотим, чтобы аргумент восстанавливал сам себя. Вот почему необходимо использовать оператор фиксированной точки.
Определение 10.3. Пусть Args — множество аргументов, упорядоченное бинарным отношением поражения. Тогда оператор F определяется так:
F: Pow(Args)^ Pow(Args) (Pow — степень множества);
F(S) = {Л Е Args| А приемлем по отношению к SY
У оператора F существует наименьшая фиксированная точка. Если аргумент приемлем по отношению к S^ то он приемлем по отношению к любому надмножеству S, т. е. F — монотонный. Чтобы не было самовосстановления, будем считать, что подтвержденные аргументы принадлежат наименьшей фиксированной точке. Для примера 10.2 множества {Л} и {В} являются фиксированными точками, но не наименьшими, поэтому ни один из аргументов не защищен от поражения: F(0) = 0.
Определение 10.4- Аргумент подтверждается тогда и только тогда, когда он является элементом наименьшей фиксированной точки оператора F.
Утверждение ЮЛ. Рассмотрим следующую последовательность аргументов:
F0 = 0;
Fz+1 = {Л Е Args| А приемлем по отношению к F}.
Выполняются следующие свойства:
Все аргументы в |J Ег подтверждаются.
2 = 0
Если каждый аргумент поражается, самое большее, конечным числом аргументов, то аргумент подтверждается тогда и только тогда, когда он принадлежит |J Ег.
2 = 0
При итеративном построении сначала добавляются все аргументы, которые не поражаются никаким из аргументов, и каждое новое применение F добавляет все аргументы, восстановленные аргументами, уже находящимися в построенном множестве. Это достигается благодаря использованию понятия приемлемости. Пусть мы применяем F для г-го шага: тогда для любого аргумента Л, если все аргументы, поражающие Л, сами поражаются аргументом из F2-1, то Л Е Ег. Например, для примера 10.1 получаем
F1 = Д0) = {С};
F2 = F(F1-) = {Л, С};
F3 = F(F2) = F2.
Доказано, что применение оператора F эквивалентно двукратному применению оператора G, т. е. F = G°G.
Определение 10.5. Пусть Args — множество аргументов, упорядоченное бинарным отношением поражения. Тогда оператор G определяется как
G: Pow(Args)^ Pow(Args);
G(S) = {Л Е Args| Л не поражается никаким аргументом в SY
Рассмотрим последовательность, получаемую с помощью итеративного применения оператора G к пустому множеству, и определим, что аргумент Л подтверждается тогда и только тогда, когда, начиная с некоторого шага (уровня) п в последовательности, Л остается в Gm при всех т ^ п.
Определение 10.6. Определим уровни при доказательстве:
все аргументы принадлежат множеству на уровне 0;
аргумент принадлежит множеству на уровне п+1 тогда и только тогда, когда он не поражается никаким аргументом на уровне п;
аргумент подтвержден тогда и только тогда, когда существует такое значение т, что для любого п ^ т аргумент принадлежит множеству уровня п.
Это определение связано с определением 10.5, подобно тому, как утверждение 10.1 соответствует определению 10.3. Например, для примера 10.1 находим, что подтвержденными аргументами являются
А и С. Действительно, С принадлежит множеству на всех уровнях, а А появляется на втором уровне и остается далее на всех последующих уровнях.
Уровень
0
1
2
3
Множество аргументов
А, В,С
С
А, С
А, С
Для примера 10.2 подтвержденными оказываются и аргумент А, и аргумент В.
Уровень
0
1
2
3
Множество аргументов
А, В
А, В
А, В
А, В
Рассмотрим бесконечную цепь аргументов: Ai, А2,..., АП1..., поражающих друг друга: Ai поражается аргументом А^ ... поражается аргументом Ап ... Наименьшая фиксированная точка цепи пуста, так как ни один из аргументов не восстанавливается, т. е. F(0) = 0. Заметим, что существуют две другие фиксированные точки, которые удовлетворяют определению 10.1, т. е. множество всех А^ где г — нечетное, и множество всех А^ где г — четное.
Оправдываемые аргументы. Главная особенность приведенных определений в том, что они позволяют различать два типа подтвержденных аргументов. Например, в примере 10.1 хотя аргумент В и поражает аргумент А, аргумент А все же подтверждается, так как его восстанавливает аргумент С. Рассмотрим еще один пример.
Пример 10. 4.
Пусть имеется три аргумента А, В и С: А поражает В, В поражает А и А поражает С. Интерпретация может быть следующей:
А = «Диксон — пацифист, так как он квакер, и у него нет пистолета, так как он пацифист»;
В = «Диксон не пацифист, так как он республиканец»;
С = «У Диксона есть пистолет, так как он живет в Чикаго».
По определениям 10.4и10.6ни один аргумент не подтверждается. Для А и В это верно, поскольку они связаны, как и в примере 10.2, а для С — поскольку этот аргумент поражается аргументом В. Здесь становится явным главное отличие между двумя примерами. В отличие от примера 10.1, аргумент А хотя и не подтверждается, но и не поражается ни одним подтвержденным аргументом. Следовательно, А сохраняет потенциальную возможность не допустить подтверждения С: не существует подтвержденных аргументов, восстанавливающих аргумент С путем поражения аргумента А. В результате аргумент
А оказывается так называемым зомби-аргументом, т. е. он не подтверждается, и в то же время, не полностью опровергнут. Поэтому у аргумента А некоторый средний статус, при котором он все еще может влиять на статус других аргументов. Этот статус в дальнейшем будем обозначать как «оправдываемый» (defensible).
Определение 10.7. Будем называть аргумент аннулированным тогда и только тогда, когда он не подтверждается, и либо самопо- ражается, либо поражается подтвержденным аргументом. Аргумент оправдываемый тогда и только тогда, когда он не подтверждается и не аннулируется.
Пример 10. 5.
Рассмотрим два аргумента А и В: аргумент А поражает сам себя и поражает аргумент В. Интуитивно желательно, чтобы В подтверждался, так как единственный поражающий его аргумент является самопоражающим. Однако F(0) = 0, поэтому ни А, ни В не подтверждаются. Более того, оба этих аргумента являются оправдываемыми, так как они не поражаются подтвержденными аргументами. Следовательно, требуется модифицировать определения 10.3 и 10.6, чтобы аргумент А в этом примере аннулировался, а аргумент В — подтверждался.
Определение 10.8. Поллок определяет подтверждение аргумента следующим образом:
аргумент находится на уровне 0 тогда и только тогда, когда он не поражает сам себя;
аргумент находится на уровне п + 1 тогда и только тогда, когда он принадлежит уровню 0 и не поражается никаким аргументом на уровне п;
аргумент подтверждается тогда и только тогда, когда существует такое значение т, что для каждого n > ш аргумент принадлежит уровню п.
Дополнительные условия, говорящие о том, что аргумент не поражает сам себя, и что он принадлежит уровню 0, позволяют исключить все самопоражающие аргументы для каждого уровня, и делают невозможным для них исключение других аргументов.
Возможен и другой подход (Праккен, Сартор), когда вводится специальный «пустой» аргумент, который не поражается никаким другим аргументом и, по определению, поражает любой самопора- жающий аргумент.
Рекурсивные определения. Существует еще один подход к назначению уникального статуса аргументам. Он состоит из двух частей: во-первых, сделать явной идею о том, что аргументы обычно строятся по шагам, начиная от промежуточных, и заканчивая финальными заключениями (например, в примере 10.4 промежуточное
заключение — «Диксон — пацифист» и финальное — «У Диксона нет пистолета»). Заметим, что главное интуитивное замечание об оценке аргументов состоит в том, что аргумент не может быть подтвержден, если не подтверждены все его подаргументы. Во-вторых, ограничить восстановление случаями, когда оно достигается атакой на подаргумент. Для введения формализованных определений будем считать, что у аргументов существуют подаргументы.
Определение 10.9. Аргумент А подтверждается тогда и только тогда, когда
А не является самопоражающим аргументом и
все подаргументы аргумента А подтверждаются и
все аргументы, поражающие аргумент А, самопоражаются или имеют по крайней мере один подаргумент, который не подтверждается.
Возникает вопрос: как удается избежать множественного присваивания статуса? Это определение по-разному обрабатывает два вида восстановления. Интуитивно, аргументы могут быть восстановлены двумя способами. В примере 10.1 способ, с помощью которого аргумент С восстанавливает аргумент А, состоит в атаке на подаргумент В. т. е. аргумент для заключения, что Твити — пингвин. Сделаем эту связь подаргументов явной, изменив пример (обозначим через X подаргумент аргумента X).
Пример 10. 6.
Рассмотрим четыре аргумента: А, В, В- и С такие, что аргумент В поражает аргумент А и аргумент С поражает аргумент В~. Согласно определению 10.9, А и С подтверждаются, В и В~ — не подтверждаются (В не подтверждается по второму условию). Итак, аргумент С восстанавливает аргумент А, не поражая аргумент В непосредственно, а поражая его подаргумент В~.
Другой вид восстановления можно проиллюстрировать на примере 10.1.
Пример 10. 7.
Рассмотрим три аргумента А, В и С: А поражается В, В поражается С. Возможна следующая интерпретация:
А = «Твити летает, так как он — птица»;
В = «Твити не летает, так как он — пингвин»;
С = «Твити летает, так как он необычный пингвин».
По определениям 10.3 и 10.6 и аргумент А, и аргумент С подтверждаются. В частности, А подтверждается, так как он восстанавливается с помощью аргумента С. Однако по определению 10.9 только аргумент С подтверждается. Это происходит из-за того, что третье условие определения 10.9 требует, чтобы аргумент А не мог поражаться ни одним аргументом: оно не оставляет возможности восстановления
с помощью прямого поражения аргументов, поражающих аргумент А. Следовательно, аргумент С не восстанавливает А. Это кажется интуитивно верным: можно заключить, что Твити летает не из-за того, что он — птица, а из-за того, что он — необычный пингвин.
Интуитивное различие между двумя типами восстановления в том, что в примере 10.6 аргументы поражают друг друга по отношению к различным заключениям, тогда как в примере 10.7 все конфликты происходят по отношению к одному и тому же заключению. В то время, как неявная форма восстановления (с помощью поражения подаргумента) соответствует базовому принципу аргументации, пример 10.7 показывает, что с прямым восстановлением все не так очевидно. Возникает вопрос: удастся ли с помощью этого подхода исключить множественное присвоение статуса в примере 10.2? Заметим, что определение 10.9 не допускает восстановления аргументов по отношению к их конечным заключениям. И Л, и В не подтверждаются, так как оба эти аргумента поражаются по отношению к их конечным заключениям («Никсон — пацифист или не пацифист»). Единственный способ восстановить аргумент А = «Никсон — пацифист» состоит в поражении подаргумента В = «Никсон — республиканец».
В определениях фиксированной точки мы неявно предполагали, что один из способов поражения аргумента — это поражение одного из его подаргументов. И в подходе, использующем рекурсивные определения, мы допускаем, что, напротив, поражение аргумента не зависит от поражения подаргумента. Отсюда вытекают практически важные следствия. Если подход фиксированной точки применяется для системы, различающей аргументы и подаргументы по другим соображениям, то необходимо доказать, что второе условие определения 10.9 выполняется. Так как приведенные определения аргументов и поражения довольно абстрактны, приведем еще несколько примеров.
Оказывается, определение 10.9 не совсем корректно. Рассмотрим следующий пример (это версия примера 10.4, в котором подаргументы определены явно).
Пример 10. 8.
Пусть даны аргументы А-, А, В и С: А~ и В поражают друг друга, аргумент А поражает аргумент С. Можно ввести следующую интерпретацию:
А- = «Диксон — пацифист, так как он — квакер»;
В = «Диксон — не пацифист, так как он — республиканец»;
А = «У Диксона нет пистолета, так как он — пацифист»;
С = «У Диксона есть пистолет, так как он живет в Чикаго». Согласно определению 10.9, С подтверждается, так как единственный аргумент, поражающий аргумент С, — это аргумент А, который содержит неподтвержденный подаргумент, т. е. аргумент А-. Интуитивно, аргумент А должен сохранять свою способность к предотвращению
аргумента С, так как подаргумент аргумента А не поражается подтвержденным аргументом.
Существует способ изменения определения 10.9: его нужно сделать явно «трехзначным», изменив фразу «не подтверждается» в третьем условии на «аннулируется».
Определение 10.10. Будем считать, что аргумент аннулируется тогда и только тогда, когда он не подтверждается и либо поражает сам себя, либо он сам или один из его подаргументов поражается подтвержденным аргументом. Аргумент оправдывается тогда и только тогда, когда он не подтверждается и не аннулируется.
Определение 10.11. Аргумент А подтверждается тогда и только тогда, когда выполняется
А не поражает сам себя и
все подаргументы аргумента А подтверждаются и
все аргументы, поражающие аргумент А, поражают сами себя, или имеют по крайней мере один подаргумент, который аннулируется.
Для примера 10.8 получается следующий результат: ни один из аргументов не поражает сам себя. Чтобы определить, подтверждается ли аргумент С, мы должны определить статус аргумента А. Аргумент А поражает аргумент С, следовательно, аргумент С подтверждается, если аргумент А аннулируется. Так как аргумент А не поражается, то он может аннулироваться лишь тогда, когда его подаргумент А- аннулируется. Ни один подаргумент аргумента А- не поражается, но сам аргумент А- поражается аргументом В. Тогда если аргумент В подтверждается, то аргумент А- аннулируется. Аргумент В не подтверждается, так как он поражается аргументом А-, и аргумент А- не поражает сам себя и у него нет аннулированных подаргументов. Но тогда аргумент А не аннулируется, т. е. аргумент С не подтверждается. Таким образом все аргументы оправдываемы, что может быть легко доказано.
Сравнение рекурсивных определений и определений с фиксированной точкой. Сравнивая рекурсивные определения и определения с фиксированной точкой, можно заметить, что для примера 10.7 результаты применения этих определений различны: интуитивно, лучшим кажется определение с рекурсией. Рекурсивное определение (модифицированное, трехзначное) может работать с зомби-аргументами так же, как и определения с фиксированной точкой. Определения 10.9 и 10.11 не всегда дают однозначное установление статуса аргумента.
Пример 10. 9.
Пусть имеется четыре аргумента А-, А, В. В: аргумент А поражает аргумент В. аргумент В поражает аргумент А-. Определение 10.9 дает два назначения статуса:
Аг. А подтверждаются;
В~ В подтверждаются.
Кроме того, определение 10.11 еще дает такой вариант назначения статуса, когда все аргументы оправдываемы. Очевидно, последний вариант наиболее желателен, но, не прибегая к помощи определений с фиксированной точкой, по-видимому, нельзя получить один лишь этот результат.
Оценивая подход «назначения уникального статуса», мы видим, что он может быть аккуратно формализован, если используются определения с фиксированной точкой, тогда как, возможно, более понятный способ введения рекурсивных определений сталкивается с некоторыми проблемами. Но и применяя подход с определениями с фиксированной точкой, можно столкнуться с рядом проблем: с существованием плавающих аргументов и плавающих заключений.
Пример 10.10.
Рассмотрим аргументы А, В, С и D: А поражает В, В поражает А, А поражает С, С поражает D. Так как ни один из аргументов не защищен от поражения, по определению 10.4 находим, что все они оправдываемы. Но для аргументов С и D можно получить и другое решение: так как аргумент С поражается и аргументом А, и аргументом В, то аргумент С должен быть аннулирован: постольку, поскольку статус аргумента С принят, отпадает необходимость разрешать конфликт между аргументами А и В. В результате статус аргумента С «плавает» в зависимости от статуса аргументов А и В: и если аргумент С должен быть аннулирован, то аргумент D должен быть подтвержден, так как аргумент С — единственный аргумент, поражающий аргумент D.
Пример 10.11.
Предположим, что у аргументов существуют заключения. Рассмотрим аргументы А- А, В. В: А- и В~ поражают друг друга, А и В имеют одно и то же заключение. Возможна, например, следующая интерпретация:
А- = «Брайт — голландец, так как он родился в Голландии»;
В~ = «Брайт — норвежец, так как его родители — норвежцы»;
А = «Брайт любит кататься на коньках, так как он — голландец»;
В = «Брайт любит кататься на коньках, так как он — норвежец». Как бы ни был разрешен конфликт между аргументами А- и В-, всегда спор завершается с аргументом, заключающим, что Брайт
любит кататься на коньках, т. е. нам необходимо принять это заключение как истинное, хотя оно и не поддерживается подтвержденным аргументом. Другими словами, статус этого заключения «плавает» в зависимости от статуса А- и В~.
Решить подобные проблемы позволяет подход с назначением множественного статуса для аргументов.
0.1.1.3. Назначение множественного статуса аргументам. При таком подходе разрешается назначать соревнующимся аргументам А и В равной силы два варианта статуса: 1) аргумент А подтверждается за счет аргумента S; 2) аргумент В подтверждается за счет аргумента А. Обе эти ситуации удовлетворяют определению 10.1. Будем говорить, что аргумент А истинно подтверждается, если он получает этот статус при любых назначениях.
Определение 10.12. Назначение статуса множеству аргументов X, упорядоченному бинарным отношением поражения, состоит в назначении каждому аргументу либо статуса «принадлежит», либо «не принадлежит» (но не одновременно), удовлетворяющего следующим условиям:
аргумент принадлежит, если все аргументы, поражающие его, имеют статус «не принадлежит»*,
аргумент не принадлежит, если он поражается аргументом, имеющим статус «принадлежит».
Заметим, что условия те же, что и в определении 10.1. Для примера 10.2 существует два возможных варианта назначения статуса:
аргумент А имеет статус принадлежит, а аргумент В — не принадлежит*,
аргумент А имеет статус не принадлежит, а аргумент В — принадлежит.
Аргументационная система должна определять, когда можно оправданно принимать аргумент. Так как и аргумент А, и аргумент В могут иметь статус «принадлежит» и «не принадлежит», то ни аргумент А, ни аргумент В не подтверждаются.
Определение 10.13. При данном множестве аргументов X и отношении поражения на X, аргумент подтверждается тогда и только тогда, когда он имеет статус принадлежит при любых назначениях статуса множеству X.
Существует два вида неподтвержденных аргументов:
аргументы отсутствуют во всех расширениях;
аргументы принадлежат некоторым расширениям.
Определение 10.14* Дано множество аргументов X и отношение поражения на X:
аргумент аннулируется тогда и только тогда, когда он имеет статус «не принадлежит» при любых назначениях статуса множеству X;
аргумент называется оправдываемым тогда и только тогда, когда он имеет статус «принадлежит» при некоторых назначениях, и статус «не принадлежит» — при остальных.
Нетрудно доказать эквивалентность определений 10.7 и 10.14. Подходы уникального и множественного назначения статуса не эквивалентны. Рассмотрим пример 10.10. Аргументы Аи В образуют четный цикл, так что при подходе множественного назначения статуса, либо аргумент А, либо аргумент В, могут иметь статус «принадлежит» но не одновременно. В результате мы получаем два варианта назначения статуса:
аргументы А и D получают статус «принадлежит»аргументы В и С — «не принадлежит»]
аргументы В и D получают статус «принадлежит»аргументы А и С — «не принадлежит».
При уникальном назначении статуса все аргументы оправдываемы, аргумент С подтверждается, аргумент D — аннулируется. Подход множественного назначения статуса позволяет работать с плавающими заключениями.
Определение 10.15. Статус заключений определяется следующим образом:
заключение р подтверждается тогда и только тогда, когда каждое назначение статуса дает статус «принадлежит» аргументу с заключением р]
заключение р оправдывается тогда и только тогда, когда р не подтверждается и является заключением оправдываемого аргумента;
заключение р является аннулируемым заключением тогда и только тогда, когда р не оправдывается и не подтверждается, и кроме того является заключением аннулируемого аргумента.
Если первое условие заменить на «р — подтверждаемое заключение тогда и только тогда, когда р — заключение подтвержденного аргумента», то будет выражено более сильное понятие, при котором плавающие заключения не подтверждаются.
Пример 10.12.
Пусть А, В и С — три аргумента, представляющие треугольник: А поражает С, В поражает А, С поражает В. При применении определения 10.13 возникают некоторые проблемы, так как для этого примера не удается определить статус аргументов:
пусть аргумент А имеет статус «принадлежит». Тогда, так как А поражает С, то С получает статус «не принадлежит». Так как С «не принадлежит», то В получает статус «принадлежит» тогда А должен получить статус «не принадлежит», и мы приходим к противоречию;
пусть аргумент А имеет статус «не принадлежит». Тогда, так как А поражает С, то С получает статус «принадлежит». Так как С «принадлежит»то В получает статус «не принадлежит», тогда А должен получить статус «принадлежит»и мы снова приходим к противоречию.
Заметим, что аргументы, поражающие сами себя — особый случай примера 10.12, т. е. здесь аргументы В и С идентичны А. Это означает, что множества аргументов, содержащие аргумент, который поражает сам себя, не получают статуса.
.1.1.4- Сравнение подходов уникального и множественного назначения статуса аргументам. Возникает вопрос: как связаны между собой подходы уникального и множественного назначения статуса? Иногда говорят, что они соответствуют скептическому и доверчивому подходам к выводу пересматриваемых заключений: если скептически настроенный агент сталкивается с неразрешимым конфликтом двух аргументов, он не выводит никакого заключения, а доверчивый агент выбирает любое заключение, или несколько заключений одновременно, и будет использовать их следствия.
С точки зрения Праккена и Вресвейка, это некорректная интерпретация. При решении, что принять как подтвержденное убеждение, важно не то, сколько назначений статуса выполняется, а как аргументы оцениваются при этих назначениях. И это оценивание охватывается понятиями «подтвержденный» и «оправдываемый», что в результате отражает различие между скептическими и доверчивыми выводами. И так как было показано, что различие между подтвержденными и оправдываемыми аргументами может быть сделано в обоих подходах, то они, следовательно, не зависят от типа вывода — скептического или доверчивого.
Подход множественного назначения статуса больше подходит для определения множеств аргументов «идущих вместе». Действительно,
подход уникального назначения статуса делает оправдываемыми аргументы на индивидуальной основе, а при множественном назначении они оправдываемы, если принадлежат множеству аргументов со статусом « принадлежит» и, следовательно, могут быть защищены одновременно. Даже если два оправдываемых аргумента не поражают друг друга, они могут быть несравнимы в том смысле, что ни одно назначение статуса не делает их одновременно принадлежащими множеству аргументов со статусом «принадлежит».
Пример 10.13.
Пусть аргументы 4 и В поражают друг друга, аргумент В поражает аргумент С, аргумент С поражает аргумент D. Хотя аргументы А и D не поражают друг друга, аргумент А имеет статус «принадлежит» тогда и только тогда, когда аргумент D имеет статус «не принадлежит». При подходе уникального назначения статуса это выразить сложнее.
Подход уникального назначения статуса успешно справляется с проблемой «зомби-аргументов». Эта проблема возникает лишь в случае рекурсивных двузначных определений.
Подходы различаются, главным образом, обработкой плавающих заключений и аргументов. Например, смысл, который вкладывается в подтверждение заключения «Брайт любит кататься на коньках» из примера 10.11, отличается от смысла, вкладываемого в подтверждение заключения «Твити летает» из примера 10.1. Лишь в примере 10.1 заключение поддерживается подтвержденным аргументом. Аналогично, статус аргумента D из примера 10.10 отличается от статуса аргумента А из примера 10.1. Хотя оба аргумента нуждаются в помощи других аргументов чтобы стать подтвержденными, аргумент, поддерживающий аргумент Л, сам подтверждается, а аргументы, поддерживающие аргумент D. лишь оправдываемы.
10.1.2. Обзор систем аргументации
На сегодняшний день разработан широкий спектр аргументационных систем, отличающихся определениями базовых элементов и уровнями абстракции. Приведем краткое описание ряда аргументационных систем, которое дает представление о современном уровне развития теории аргументации.
Абстрактная аргументационная система, которую разработали Данг, Ковальский, Бондаренко и Тони, определена как в декларативной, так и в процедурной формах. Эту систему можно использовать для исследования различных аргументационных систем, с ее помощью можно представить ряд немонотонных логик. В данной системе авторы полностью абстрагируются от внутренней структуры аргументов и природы множества аргументов. Предполагается лишь, что существует некоторое множество
аргументов, упорядоченное бинарным отношением «поражения» (или «атаки» — у авторов подхода). Для множеств аргументов определяются так называемые аргументационные расширения, которые должны охватывать различные типы пересматриваемых следствий. Определения расширений даются в декларативной форме, т. е. они объявляют некоторые множества аргументов как имеющие определенный статус.
Аргументационной структурой (AF) является пара (Args, defeat), где Args — множество аргументов и defeat — бинарное отношение на множестве Args. Структура AF называется конечной в том случае, когда каждый аргумент в Args поражается, самое большее, конечным числом аргументов из Args. Множество аргументов является бесконфликтным, если ни один аргумент множества не поражается аргументами этого множества. Множество Args может пониматься как множество всех аргументов, которые могут быть построены в данной логике из данного множества посылок.
В этой системе поражение интерпретируется в слабом смысле, т. е. как «атакует и не слабее». Таким образом два аргумента могут поражать друг друга. Центральным понятием аргументационной структуры является приемлемость: «Аргумент А приемлем по отношению к множеству аргументов S тогда и только тогда, когда каждый аргумент, поражающий А, поражается аргументом в S». Аргументы в S могут рассматриваться как
аргументы, способные восстанавливать А, если А поражается. Например, для задачи 10.1 AF-структура содержит множество Args = {А, В,С} и defeat = {(В, А), (С,В)}, т. е. В строго поражает А и С строго поражает В. Аргумент А приемлем по отношению к {С}, {А, С}, {В,С} и {А, В,С}, но он не является приемлемым по отношению к 0 и {В}.
Еще одним важным понятием является допустимость множества аргументов: «Бесконфликтное множество аргументов S допустимо тогда и только тогда, когда каждый аргумент в S приемлем по отношению к 8». Для нашего примера множества 0, {С} и {А, С} — допустимые, а все остальные подмножества для {А, В,С} не будут допустимыми.
Используя понятия приемлемости и допустимости, авторы этого подхода определили различные «аргументационные расширения», которые соответствуют назначению аргументам некоторого статуса. Приведем для примера определение устойчивого расширения (примеры определения других расширений можно найти в разд. 10.3.1 применительно к логическим программам). Бесконфликтное множество аргументов S является устойчивым расширением тогда и только тогда, когда каждый аргумент, не принадлежащий В, поражается некоторым аргументом множества 8. Для примера 10.1 устойчивым расширением
будет лишь множество {Л, С}. Если для примера с ромбом Никсона (10.2) определить аргументационную структуру с Args = {А, В} и defeat = {(А, В), (В, А)}, то окажется, что существует два устойчивых расширения {А} и {В}.
Для абстрактной аргументационной системы был получен ряд результатов, касающихся существования аргументационных расширений и связей между различными видами семантики. Разработчики этого подхода также изучали и процедурные формы для различных видов аргументационной семантики.
Преимуществом данного подхода является то, что он обеспечивает изящную общую структуру для исследования различных аргументационных систем. Авторы подхода показали, что некоторые немонотонные логики могут быть переведены в аргументационные системы. В результате появляется возможность для определения альтернативной семантики немонотонных логик. Например, Данг показал, что семантика логики умолчаний соответствует устойчивой семантике аргументационной системы, и для этой логики можно определить другую аргументационную семантику, гарантирующую наличие расширений. В то же время, из-за абстрактности подхода, разработчикам конкретных систем придется определять внутреннюю структуру аргументов, способы их взаимодействия и смысл отношения поражения для аргументов.
Аргументационная система, разработанная Поллоком, была им же реализована в виде программного комплекса OSCAR. В этой системе логический язык — логика предикатов первого порядка; аргументы представляются последовательностью высказываний, связанных схемами вывода, определяющими как достоверный, так и правдоподобный вывод; отношение поражения аргументов определяется в зависимости от используемых схем вывода (допускаются и опровержение, и подрыв). Определение конфликтующих аргументов остается неявным. Статус аргументов определяется с помощью множественного подхода, причем используется предпочтительная семантика (см. разд. 10.3.1). При реализации системы Поллок использует частичные вычисления, что особенно важно при ограниченных ресурсах.
Обычно в аргументационных системах определение аргумента основывается на понятии выводимости в базовом логическом языке. Но иногда оказывается полезным определять специальные правила построения новых аргументов. Это важно, например, в случае формализации предположительного вывода. При предположительном выводе мы «предполагаем» нечто, что не может быть выведено из исходных данных (ВХОДа), выводим заключения из предположений, и затем «исключаем» предположения, чтобы получить связанное заключение, которое больше не зависит от исходного предположения. У
Поллока аргумент, основанный на ВХОДе, представляет собой конечную последовательность строк аргумента сц = < X^p^iA >, где Х^ — множество высказываний, являющееся множеством предположений строки г, Рг — высказывание и ^ — степень подтверждения. Строка аргумента получается из предыдущих строк по одному из правил образования аргумента. Приведем примеры таких правил:
Вход', если р Е ВХОДу на — аргумент, то для любого X : а, < X, р, ос > — тоже аргумент;
Предположение', если а — аргумент, X — множество высказываний и р Е X. то а^ < Х^ р. ос > — тоже аргумент;
Дилемма: если а — аргумент и некоторая строка а есть < Х^р Vq,v >, а также в а есть строки: < X U ^р^тща > и < X U ^q^ тД Д то ср < X, г, min Д, щ Д > — тоже аргумент.
Рассмотрим пример предположительного вывода. «Предположительно, студенты, сдавшие сессию без троек, получают стипендию; предположительно, студенты, относящиеся к льготной категории, получают стипендию. Иван сдал сессию без троек или относится к льготной категории. Следовательно, предположительно, Иван получает стипендию». Такой вывод может быть формализован следующим образом. По условию, у нас есть правдоподобные доводы (ПД): (ПД-1) без_ троек(X) — ПД силы для получает_ стипендию(X); (ПД-2) льготная_ категория(Х) — ПД силы д для полу чает _ стипендию (X). ВХОД = {без_ троек (Иван) V льготная_ категория (Иван)}. Тогда аргумент, утверждающий, что Иван получает стипендию, имеет вид
<0, без_ троек(Иван) V льготная_ категория (Иван), ос > (это описание ВХОДа);
<^без_ троек (ИванД, без_ троек (Иван), ос > (Предположение);
<Дбез_ троек (ИванД, получает-Стипендию (Иван), v > (2 и ПД-1);
<{льготная_ категория (ИванД. льготная_категория(Иван), ос > (Предположение);
<{льготная_ категория (ИванД. получает-Стипендию (Иван), v > (4 и ПД-2)>;
<0, пол учает_ стипендию (Иван), пнп{щ/Д > (3, 5 и Дилемма).
Заметим, что строка 1 утверждается как абсолютный факт, в строках 2 и 4 временно предполагается истинность высказываний без_ троек(Иван) и льготная-Категория (Иван) соответственно. Строки 3 и 5 получаются на основе сделанных предположений, а строка 6 утверждает, что Иван получает стипендию, не используя
никаких предположений, благодаря существованию правила Дилеммы.
Если говорить об аргументационной системе Поллока в целом, то следует отметить, что она опирается на глубокую философскую (эпистемологическую) теорию пересматриваемого вывода. Эта аргументационная система логически очень богата: в ней определены линейные и предположительные, дедуктивные и не дедуктивные (статистические и индуктивные) аргументы, для которых определены конфликты двух типов. Из-за того, что Поллок при разработке аргументационной системы использовал понятия эпистемологии, его систему нельзя непосредственно применить для специфического практического вывода. Например, понятия, связанные с вероятностями, сложно учесть при выводе для аргументов с приоритетами.
Абстрактная аргументационная структура Лина и Ш о э м а. Лин и Шоэм разработали абстрактную аргументационную структуру и ряд методов для того, чтобы сформулировать некоторые системы вывода по умолчанию в рамках аргументационной теории. В этой работе логический язык явно не определяется; используются монотонные и немонотонные правила вывода для построения аргументов, которые представляют собой деревья с пометками на дугах. Понятия конфликтующих аргументов и их сравнение не определяются. Вместо этого вводится понятие структуры аргументов, которая содержит множество посылок аргументов, все подаргументы для каждого аргумента, и множество заключений аргументов в структуре дедуктивно замкнуто и непротиворечиво. Как оказалось, структуры аргументов с дополнительными свойствами полноты очень похожи на семантику устойчивых расширений для аргументационных систем.
АргументационнаясистемаВресвейка опирается на аргументационную систему Лина и Шоэма, дополняя ее определениями конфликта аргументов и статуса конфликтующих аргументов. Логический язык не определяется явно, но предполагается, что он содержит символ ±, обозначающий противоречие, а также множество монотонных и немонотонных правил вывода. Аргументы представляются деревьями, и на множестве аргументов вводится отношение упорядочения по силе. Выделяется два типа конфликтов: подрыв и опровержение, причем конфликтовать аргумент может не только с единичным аргументом, но и с множеством аргументов. При определении семантики используются аргументационные последовательности, которые формируются из структур аргументов. С помощью таких последовательностей определяются частичные вычисления.
Для практических приложений абстрактной системы Вресвейк предполагает, что объектный язык позволяет представлять пересматриваемую условную зависимость ср > ф и пересматриваемое правило ф
вывода вида . В системе Вресвейка в качестве контраргу-
мента выступает множество аргументов: «Множество аргументов Е не сравнимо с аргументом т тогда и только тогда, когда заключения Е U {т} вызывают ±». Необходимость использования множеств аргументов объясняется тем, что в данной аргументационной структуре язык явно не определяется и, следовательно, теряется выразительная сила при распознавании противоречий. Следствием недостатка выразительности является то, что множество аргументов <?i,... ,<тп, не сравнимых с т, не может быть добавлено к какому-либо аргументу ст, который противоречит т. Поэтому и приходится рассматривать множества аргументов.
Вресвейк не вводит явно понятие конфликтов подрыва, он утверждает, что может формализовать их как аргументы для пересматриваемой условной зависимости. Для этого Вресвейк предполагает, что язык абстрактной аргументационной системы замкнут относительно отрицания (-i), конъюнкции (&), материальной импликации (э) и пересматриваемой импликации (>). В результате оказывается возможным выразить правила вывода (являющиеся метаязыковыми понятиями) в объектном языке. Правила метауровня, в которых используются символы «—>» (строгое правило вывода) и «=^» (пересматриваемое правило вывода), представляются с помощью соответствующих символов импликации объектного языка: «Э» и «>». При данных предположениях Вресвейк формально определяет опровергающие и подрывающие аргументы. Например, пусть а и т — аргументы в рассматриваемой аргументационной системе с заключениями р и ф соответственно, причем т сильнее, чем ст. Пусть также р-^ ... ^ рп =Д р — верхнее правило аргумента ст. Тогда вводятся следующие определения:
поражение-опровержение. Если ф = ^р, то т — аргумент, опровергающий а. Таким образом заключение опровергающего аргумента противоречит заключению аргумента, который он поражает;
поражение-подрыв. Если ф = --(^i,..., рп > рф т. е. если ф — это отрицание последнего правила аргумента а, установленное в объектном языке, то т — аргумент, подрывающий ст. Таким образом заключение подрывающего аргумента противоречит последнему правилу вывода того аргумента, который он поражает.
Для оценки статуса аргументов Вресвейк использует следующее определение: аргумент «в силе» (in force) на основе множества посылок тогда и только тогда, когда
аргумент эквивалентен посылке или
все подаргументы «в силе» и последнее правило вывода является дедуктивным или
все подаргументы «в силе», последнее правило вывода является пересматриваемым, и для каждого множества несравнимых
аргументов по крайней мере один элемент слабее данного аргумента или не «в силе».
Для примера с ромбом Никсона можно определить, что аргумент «квакер» «в силе» тогда и только тогда, когда аргумент «республиканец» не «в силе». Если конфликтующие аргументы имеют равную силу, как в случае с ромбом Никсона, то необходимо использовать множественные устойчивые расширения.
Оценивая подход Вресвейка, Праккен утверждает, что в нем уделяется меньше внимания деталям сравнения аргументов, чем в подходе Поллока, и в противоположность подходу Данга, формализуется лишь один тип пересматриваемого следования. Тем не менее, подход достаточно глубоко проработан в том, что касается структуры аргументов и процесса аргументации.
Аргументационная система, разработанная Прак- кеном и Сартором, обобщает фундаментальную семантику абстрактной аргументационной структуры Данга и др. для случая, когда используются приоритеты аргументов. Предполагается, что объектный язык содержит связку «=^», используемую в логическом программировании для формирования правил на литерах, а также существует два вида отрицания — явное и неявное, и предикатный символ «^», устанавливающий приоритеты в языке. Аргумент представляется конечной последовательностью фундаментальных примеров правил. В структуре аргумента выделяется подаргумент, заключение и гипотеза. При конфликте аргументов возможен как подрыв, так и опровержение. Причем при определении вида поражения аргумента учитываются и приоритеты, определенные для правил. С помощью скептической семантики определяется статус аргумента: подтверждаемый, аннулируемый или оправдываемый. При формулировке этой аргументационной системы может использоваться и язык логики умолчаний. Система сформулирована как в процедурной, так и в декларативной форме.
Симари и Луи разработали аргументационную систему, предназначенную для характеризации условий, при которых аргументационная структура является предпочтительной. При этом рассматривается лишь синтаксический подход. Знания агента представляются парой (К, А). Множество К представляет непересматриваемые знания, которые должны быть непротиворечивы. А — конечное множество пересматриваемых правил, которые выражаются средствами метаязыка. Дополнительно определяется мета-мета взаимосвязь, которая соотносит формулы из множества К и фундаментальные примеры из множества А с формулой h. Эта взаимосвязь «Д» — пересматриваемое следование — представляет вывод из К к h с использованием фундаментальных примеров из множества А (приложение правила
Modus Ponens). Аргумент определяется следующим образом: «Подмножество Т фундаментальных примеров элементов множества А является аргументом для предложения h тогда и только тогда, когда
К U Т Д h (Т влечет Л);
К U Т |Д JL (Т не противоречиво с К)*,
^ЗТ' С Т такого, что К U Tr |~ h (Т — минимально)».
Аргументационная структура образуется аргументом Т и формулой Д, и записывается как <Т, h>. Аргумент <Т, hi> — подаргумент для аргумента <5, /?2 тогда и только тогда, когда Т С S. Заметим, что здесь аргумент определяется не как дерево или цепочка выводов, а как неупорядоченный набор правил, которые вместе приводят к некоторому заключению.
Конфликт аргументов определяется следующим образом: «Аргумент <Т, hi> — это контраргумент для аргумента <S, h%> тогда и только тогда, когда у аргумента <5, ha существует подаргумент <S\ h> такой, что <Т, hi> не согласуется с <S\h>^ т. е. К U U V^h^ I- А». Для сравнения аргументов используется специфичность: «Аргумент А поражает аргумент В тогда и только тогда, когда А не согласуется с подаргументом В~ для В и А более специфичный, чем В-».
Симари и Луи предложили специальное исчисление аргументов, обладающее интересными математическими свойствами. К ограничениям подхода можно отнести то, что используются лишь двуместные умолчания, поэтому не различаются поражение как подрыв и как опровержение (этот недостаток преодолевается в системе Праккена и Сартора).
В заключение приведем кратко основные результаты сравнительного анализа аргументационных систем, выполненного Праккеном и Вресвейком.
Большинство систем аргументации могут быть переведены из одной системы в другую. Например, понятие аргумента как множества (Симари, Луи) может быть переведено в понятие аргумента как дерева (Лин, Шоэм).
Аргументационные системы различаются, главным образом, из- за различного уровня абстракции по отношению к лежащему в основе логическому языку, структуре аргументов и природе отношений поражения.
Некоторые аргументационные системы расширяют уже известные ранее системы. Например, подход Данга и др. обобщается для случая, когда у аргументов имеются приоритеты, в подходе Праккена и Сартора.
Основное различие систем состоит в различном понимании пересматриваемого следования. Вообще говоря, существование различных определений не представляет собой проблемы, а является свойством области пересматриваемой аргументации. В конечном счете, выбор понятий определяется практическими соображениями.
Подход Данга и др. может рассматриваться как универсальный, если это вообще возможно в области аргументации.
Некоторые аргументационные системы формализуют «логически идеального» агента, а другие реализуют идею частичных вычислений, т. е. вычисления аргументов не по отношению ко всем возможным аргументам, а лишь по отношению к аргументам, которые в действительности были построены агентом. Снова различные системы оказываются полезными для разных контекстов практических приложений.
Организация абдуктивного вывода
Понятие абдуктивного вывода
Абдукция предназначена для поиска объяснений или причин наблюдаемых явлений и фактов. Соответствующий вывод имеет форму (в теории вывода Пирса):
наблюдается удивительный факт С (то есть этот факт не следует из наших знаний о мире);
если бы А было бы истинным, то С могло бы произойти (А — объясняющая гипотеза);
следовательно, можно предположить, что А истинно.
В силлогистической теории Пирса под абдукцией понимается вывод по схеме: даны правило и результат, требуется вывести частный случай — причину.
В искусственном интеллекте под абдуктивным выводом понимается вывод наилучшего абдуктивного объяснения. Причем «наилучшим» считается такое объяснение, которое удовлетворяет специальным критериям, определяемым в зависимости от решаемой задачи и используемой формализации.
В настоящее время наблюдаются разногласия, как в определении термина «абдукция», так и свойств абдуктивного вывода. Например, Флеч отмечает: «Характеристической чертой абдукции является объяснение». При абдуктивном выводе теория Т, описывающая домен, предполагается неполной. Наблюдение дает новую информацию, которая должна дополнить имеющееся описание. Поэтому абдуктивное описание имеет смысл только относительно этой теории Г, из которой
оно построено. Теорию Т можно расширить как представление всех ее возможных абдуктивных расширений Т U А, где А — гипотеза — результат абдуктивного вывода, объясняющая имеющееся наблюдение. При этом абдуктивное следование в теории Т определяется как дедуктивное следование в каждом из ее абдуктивных расширений.
В то же время под процессом абдукции можно понимать выбор одного из абдуктивных расширений теории Т, в котором выполняется данное наблюдение. Обычно множество гипотез, которое может выступать в качестве объяснений, ограничивается специальным множеством так называемых абдуцентов. Вид множества абдуцентов, по мнению Флеча и Какаса, отражает уровень наших знаний о домене. Например, если абдуцентами могут быть лишь фундаментальные факты, то это возможно только тогда, когда теория Т достаточно полно описывает домен. Как отмечают Флеч и Какас, «Цель абдукции — отобрать расширение и выполнить с ним вывод, раскрывая таким образом потенциал к обобщению, заложенный в теории Т».
АА-^С.С-^С.СПол указывает на то, что правило в абдуктивном силлогизме Пирса не обязательно должно выражать связь-импликацию, то есть
А
А
-^С.С
-^С.С
, А может быть причиной, А может быть причинойв правиле вывода для абдукции:
, А может быть причиной
, А может быть причиной
С или доводом в пользу того, чтобы С было истинным.
Габбай утверждает, что при абдукции, то есть объяснении наблюдения, не выводимого в заданной теории Т логики Ы, необходимо модифицировать теорию Г, либо добавляя к ней объяснение-гипотезу А, либо удаляя А из Т. Габбай также отмечает следующие свойства механизма абдукции:
абдукция — это понятие метауровня;
абдукция зависит от теории доказательства логики Ы;
абдукция может изменять логику, то есть новые правила, получаемые по абдукции, могут изменять теорию доказательства логики Ы;
для выполнения абдукции требуется еще одна логика £2. то есть определение абдуктивного механизма включает процедуру для абдукции (компонента объяснения) и логику £2 (компонента правдоподобия);
абдуктивный вывод может быть неуспешным.
Таким образом, согласно исходному определению абдукции как наилучшего объяснения, требуется решать две задачи: найти объяснение и определить иаилучшее объяснение, то есть специальный критерий. Дюбуа и Прад считают, что ключевой проблемой для абдукции является назначение некоторого статуса абдуктивному заключению, например, степени правдоподобия или, по крайней мере, упорядочить возможные причины наблюдаемого явления по их относительному правдоподобию.
Боргельт и Крузе, напротив, утверждают, что абдуктивный вы
вод следует рассматривать отдельно от оценки гипотез. Как опре
делил Лукасевич, все логические выводы могут быть поделены на ,А^В^А,
два класса: дедукцию (со схемой ) и редукцию (со схе-
А^В. В
мой —). Дедукция позволяет сделать явными все истинные
утверждения, определяемые заданным множеством утверждений, а
редукция позволяет обнаруживать объяснения для утверждений, описывающих, например, новые факты. Редуктивный вывод не сохраняет
истину, но с его помощью можно получать новую информацию. К редукции можно отнести как индуктивный, так и абдуктивный вывод. Тогда определение абдукции может быть дано следующим образом: «Абдукция — это редуктивный вывод, в котором заключение является
частным утверждением».
Если использовать понятия формальной логики, то под частным утверждением понимается фундаментальная формула, не содержащая ни свободных, ни связанных переменных. Абдуценты также представляются лишь фундаментальными формулами. Если же заключение не является фундаментальной формулой, то такой вывод называется индуктивным. Абдуктивный вывод может привести к ложным
заключениям даже при истинных посылках, поэтому его заключение и называется гипотезой. Проблема заключается в том, что обычно не все объясняющие выводы с фундаментальными заключениями считаются абдуктивными, так как для этого они должны предлагать объяснение, лучшее, чем все другие объясняющие выводы. Как уже отмечалось, смысл термина «наилучшее объяснение» определяется критериями, зависящими от домена приложения. Поэтому не удивительно, что существует так же много различных интерпретаций термина «абдукция», как и критериев оценки гипотез.
Например, Боргельт и Крузе приводят следующие примеры критериев:
связь между посылками и следствием (требуется, чтобы объясняющая гипотеза представляла собой довод в пользу наблюдения или причину наблюдения, а это понятия семантики, которые сложно определить);
связь с другими утверждениями (другие утверждения могут опровергать или поддерживать гипотезу, что влияет на ее правдоподобие);
экономия (требуется, чтобы объяснения были максимально простыми) ;
вероятность (учитывается вероятность данного объяснения для имеющегося наблюдения).
Дополнительно Пол предлагает разделять критерии на глобальные, которые проверяются на множестве всех возможных гипотез- объяснений, и локальные, которые применяются при генерации гипотез, чтобы избежать построения «лишних» объяснений.
В искусственном интеллекте работы по абдукции ведутся примерно с 70-х гг. XX века. Можно выделить следующие этапы разработок (по МакИлрайт):
механизация абдуктивного вывода (70-е — начало 80-х гг.);
определение и формализация понятия абдуктивного вывода, предлагаются структуры и формальные характеризации (80-е — начало 90-х гг.);
результаты по вычислительной сложности задачи абдукции (начало 90-х гг.);
применение абдуктивного вывода к различным задачам гипотетического вывода, выполняется более формальная характеризация прикладных задач и предлагаются новые определения наилучшего объяснения (90-е гг.);
установление связей абдукции с другими видами немонотонного вывода (90-е гг.).
Анализируя работы по абдукции, Пол подчеркивает ключевую роль представления причинно-следственных связей в базовой теории для решения задачи абдукции. Он выделяет следующие подходы к реализации абдуктивного вывода:
подход, основанный на покрытии множеств (базовая теория имеет очень простую структуру: причинно-следственные связи представляются просто импликацией);
подход на основе логики (более общий подход, реализующий методы генерации и отбора гипотез, но должно быть использовано специальное представление знаний, определяющее, возможно, неявно причинно-следственные связи (например, логические программы));
подход на уровне знаний (модель определяется в зависимости от типа доверия; вводится семантическое определение оператора объяснения, то есть достигается независимость от соответствующего представления знаний);
вероятностные методы (задача абдуктивного вывода понимается как поиск наиболее вероятного объяснения наблюдения; применяются каузальные сети, для которых определяется некоторое понятие правдоподобия).
Заметим, что в искусственном интеллекте до последнего времени работы по абдукции и индукции велись независимо. Но, по-видимому,
перспективным является рассмотрение абдукции, индукции и дедукции в рамках одной системы. При этом абдукция используется для получения гипотез, объясняющих наблюдения. Дедукция позволяет выполнять вывод с использованием этих гипотез и получать некоторые предсказания. С помощью индукции на основе этих предсказаний можно определить общие правила и оценить, насколько они согласуются с реальностью.
Остановимся подробнее на подходах 1-3; четвертому подходу посвящен разд. 10.2.4.
Подходы к характеризации абдукции
Подходы, основанные на покрытии множеств. Предполагается, что заранее задано множество возможных гипотез, и множество объяснений отбирается из числа этих гипотез. Выбираемое подмножество должно представлять наилучшее объяснение для наблюдения; оно определяется с использованием покрытий, мер правдоподобия и т. и. Так как гипотезы строятся с использованием множества ранее известных кандидатов, то такой подход иначе называется «сборкой» (assembly) гипотез.
Например, Аллемань дает следующее определение: «Домен для сборки гипотез определяется тройкой (Ф,П,е), где Ф — конечное множество гипотез, Q — множество наблюдений, е — отношение, связывающее Ф и Q. е(Ф) Называется мощностью объяснения множества гипотез Ф и определяет множество наблюдений, учитываемых Ф. Задача сборки дается множеством наблюдений Q' С Q, которые должны быть объяснены».
Для того, чтобы можно было использовать эту формальную модель на практике, требуются дополнительные предположения о домене Ф:
предположение вычислимости (оно важно для всех моделей, основанных на покрытии множеств): для любого множества Ф' С Ф может быть вычислено е(Ф'), т. е. всегда известно, какие наблюдения объясняются какими множествами гипотез;
предположение независимости. Пусть Фх С Ф и Ф2 С Ф, тогда е(ФхиФ2) =е(Ф1)ие(Ф2). Выполнение этого свойства важно при пошаговом вычислении соответствия е, т. е. если известно е(Ф1), то ДФ2) = е(Ф1и{</Д) может быть легко найдено присоединением е({(/Д) к известному множеству е(Ф1);
предположение монотонности. Пусть Ф1 С Ф, Ф2 С Ф, тогда должно выполняться: е(Ф1) С е(Ф2);
предположение о разрешимости (accountability assumption). Функция а : Ф Q*, где а^рС) = {и 6 Q| ЗФ1 С Ф с ф Е Ф1 : и Е е(Ф1) и и ф (Ф1\{(Д)} вычислима. Функция ci(^) определяет
те наблюдения, которые не могут быть объяснены без ср. Если выполняется монотонность, то q((^) С е^У
Подходы, основанные на покрытии множеств, сильно зависят от заранее определенного соответствия е, которое сразу задает надмножество искомых объяснений. Таким образом здесь в действительности не существует механизма генерации гипотез, а, скорее, определяется процедура накопления, отбирающая релевантные гипотезы из этого надмножества. Отметим ряд недостатков, присущих данному подходу:
вычислимость соответствия не критична для выбора возможных объяснений. Все причинно-следственные связи, релевантные задаче, должны быть представлены до выполнения абдуктивной процедуры;
требуется выполнение ряда предположений (независимости, монотонности и т.п.), поэтому приложения ограничиваются доменами, с которыми «легко» работать;
небольшие изменения в лежащей в основе теории могут привести к значительным трудностям, так как может потребоваться переопределение функции е.
В результате можно сделать вывод о том, что данный подход удобен для решения задач диагностики (когда известны все причинноследственные связи, и они могут быть представлены с помощью функции), причем лежащая в основе теория не должна подвергаться изменениям.
10.2.2.2. Подходы, основанные на логике. Наибольший объем исследований по абдукции основывается на логических моделях. Знания, представленные в некотором логическом языке для дедуктивного вывода, могут быть также использованы и для абдукции. Абдуктивная система состоит из логической теории Т над языком Lang и множества предложений А языка Lang, которые называются абдуцентами (иногда выделяется множество предикатов, которые могут использоваться в предложениях-абдуцентах).
Если предложение у) — результат абдуктивного процесса поиска объяснения для ш, то оно должно удовлетворять условиям
Т U у) Н ы,
Т U ср непротиворечиво;
уЕА.
Таким образом, абдукция здесь определяется над глобальными логическими свойствами: непротиворечивостью и выводимостью, что является некоторым ограничением этого подхода. Кроме того, неявно предполагается, что знания о причинно-следственных связях, которые
15 В.Н. Вагин и др.
используются для поиска абдуктивных объяснений, должны быть представлены в теории Т. Например, импликация в теории Т может интерпретироваться двояко: как причинно-следственная связь (в предложениях с абдуцируемыми предикатами) и как материальная импликация (в остальных случаях).
Рассмотрим примеры реализации логического подхода к абдукции.
Простые каузальные теории. Конолиге дает следующее определение: «Пусть (С^EJ) — простая каузальная теория, определяемая над языком Lang, т. е. С — множество причин, Е — множество следствий и Т — логическая теория над Lang. Тогда объяснение множества наблюдений Q Е Е — это конечное множество предложений Ф: Ф непротиворечиво с Т; Т U Ф h Q, где Q — конъюнкция всех и Е Q, Ф — минимальное по включению множеств подмножество».
Здесь прослеживается сходство с подходом, основанным на покрытии множеств: абдуктивный процесс связывает множество наблюдений — элементов предопределенного множества Е с множеством причин, ограниченным множеством С. Но отсутствует соответствие е, определяющее для каждой гипотезы данные, с ней связанные. Соответствующие связи выражаются в логической теории материальной импликацией «от причин к следствиям».
Абдукция в логическом программировании. Эшги и Ковальский рассматривают абдукцию в контексте логического программирования с ограничениями целостности. Они показали, что «отрицание как неуспех» может быть смоделировано, если негативные условия сделать абдуцируемыми и в качестве ограничений целостности использовать подходящие отрицания и дизъюнкции. В результате определяется семантика отрицания как неуспеха (NAF), обобщающая семантику устойчивых моделей.
При таком подходе логические программы с NAF преобразуются в абдуктивную структуру, в которой могут быть определены ограничения целостности более общего вида, чем просто отрицания. Для этого абдукция определяется следующим образом:
«Структура (ТД^А) является абдуктивной тогда и только тогда, когда
Т — теория хорновских дизъюнктов без отрицаний;
I — множество ограничений целостности;
А — множество предикатных символов-абдуцентов».
Для заданной абдуктивной структуры (ТД,А) множество гипотез Ф — абдуктивное решение по запросу q тогда и только тогда, когда
Ф состоит из множества атомов-абдуцентов, не содержащих переменных;
ТиФ И q*
Т U Ф U 7" непротиворечиво.
Отметим, что ограничения целостности используются как критерий отбора для объяснений. Гипотезы, не удовлетворяющие им, исключаются третьим условием. Ограничение на то, что Ф не должно содержать переменных, не является существенным, так как можно дополнительно применить процедуру сколемизации и обратной ско- лемизации (Кокс и Петржиковский).
Рассмотрим, как программы с NAF преобразуются в абдуктивную структуру:
отрицания g заменить на новые символы g*;
добавить ограничения целостности вида: ^х (^(g* (х) k д(х))) и ^х^дЦ^ V
определить множество абдуцентов как множество д*.
В результате выполнения такого преобразования пространство поиска оказывается практически эквивалентным исходному, но вместо проверки доказуемости условий с отрицаниями с помощью NAF, проверяется непротиворечивость для абдуцируемых предикатов.
Абдуктивное доказательство содержит две фазы:
абдуктивная фаза — это стандартная SLD-резолюция, которая позволяет найти абдуцируемые предикаты из А;
фаза непротиворечивости состоящая в проверке ограничений целостности с помощью прямого вывода из соответствующих ограничений целостности отрицания абдуцируемого предиката, причем этот вывод должен закончиться неуспехом за конечное число шагов (обратная резолюция).
Разработчики данного подхода показали, что абдукция может рассматриваться как расширение логического программирования с помощью преобразования программ, работающих с NAF, в абдуктивную структуру, которая по крайней мере так же мощна, как и исходный формализм. Дедукция используется, чтобы направить генерацию аб- дуктивных объяснений, и обеспечивает состоятельность процесса, т. е. ТиФ F Q, где Q описывает факты, которые должны быть объяснены.
Так как описанная процедура доказательства состоятельна только по отношению к определенному классу логических программ, то были предложены различные расширения. Например, Данг разработал альтернативную состоятельную семантику без дизъюнктивных ограничений целостности, используя предпочтительные расширения.
Абдуктивное логическое программирование. Какас и Манкарелла определили семантику обобщенных устойчивых моделей для абдуктивных структур. Она охватывает более общий случай, так 15*
как абдуцентами могут быть и позитивные литеры. В этом случае абдуктивная структура задается тройкой (Tz, A U A', IU Г) с позитивными абдуцентами в 4 и негативными абдуцентами в преобразованном виде в А'. В результате различается вывод по умолчанию (посредством NAF) и гипотетический вывод (не по умолчанию). Тони и Ковальский определили преобразование таких логических программ к нормальным логическим программам с NAF.
Позднее была предложена аргументационная структура как семантика для немонотонного вывода, обобщающая описанные идеи (Тони, Ковальский). Точнее, аргументационная структура — это четверка (Т,М, Г), где
Т — теория в некотором формальном языке;
Н — монотонное отношение выводимости в этом языке;
А — множество предположений — предложений языка;
I — множество ограничений целостности — отрицаний, таких, что по крайней мере одна литера в ограничении целостности помечается как удаляемая в случае нарушения целостности.
Предложение называется немонотонным следствием, если оно монотонно следует из теории, расширенной приемлемым множеством предположений. Тони и Ковальский предложили различные варианты приемлемых множеств в зависимости от понятия атаки между множествами предположений. В простых терминах, множество атакует предположение, если существует ограничение целостности, которое выполняется для теории, дополненной предположением, но которое нарушается, если добавить другие предположения из атакующего множества. Таким образом, могут быть определены различные множества предположений: устойчивые множества, частично-устойчивые множества, предпочтительные множества, соответствующие устойчивым моделям, частично-устойчивым моделям и т. и. для нормальных логических программ.
Бревка и Конолиге предложили альтернативную семантику, охватывающую логические программы, логику умолчаний и автоэписте- мическую логику. Абдуктивное логическое программирование уже успешно применяется во многих областях, в которых требуется выполнять вывод по абдукции.
Абдукция и изменение немонотонной теории. Иноуи и Сакама распространили понятие абдукции на автоэпистемические теории. Их целью было охарактеризовать немонотонное изменение или пересмотр автоэпистемической теории с формулой и по отношению к минимальному объяснению и.
Авторы используют автоэпистемическую фоновую теорию Т и множество А автоэпистемических абдуцируемых формул. Помимо «классического» определения объяснения формулы ш (позитивного
объяснения) с помощью Т U р |= и для р Е А, также учитывается то, что удаление формулы тоже может объяснять наблюдение. Эти негативные объяснения формулы и характеризуются с помощью Т\р |= и. Кроме того, определяются позитивные или негативные антиобъяснения с помощью правил: TUp N и и Т\р N и соответственно. Объяснение может характеризоваться как множеством, которое должно быть добавлено к теории, так и множеством, которое должно быть удалено.
В результате под абдуктивной структурой понимается пара (Т,Л), в которой Т и А — автоэпистемические теории. Для формулы и пара (Ф+,Ф_), где Ф+ и Ф_ содержат примеры элементов из Л, является объяснением и по отношению к абдуктивной структуре, если:
(ТиФ+)\Ф_ |= и;
(ТиФ+)\Ф_ непротиворечиво.
Антиобъяснение определяется аналогично с первым условием вида
(ТиФ^\Ф_^и.
Заметим, что если Ф_ = 0 для любого объяснения, то приведенное определение описывает «классическую» абдукцию для логики первого порядка. Минимальность объяснения определяется по отношению к минимальности подмножеств Ф_ и Ф+. Изменение автоэпистемиче- ской теории Т рассматривается как построение ^Т U Ф+)\Ф_) для минимального объяснения (Ф+, Ф_) формулы up если и должно быть помещено в Г, и для минимального анти-объяснения (Ф+,Ф_), если и должно быть удалено.
Авторы утверждают, что этот подход определяет более общую структуру, чем предыдущие, и лучше охватывает понятие абдукции Пирса. Помимо генерации гипотетических объяснений для некоторого наблюдения, формализуется также и их ревизия. Если экспериментальная проверка дает новую информацию, т. е. могут быть получены новые наблюдения, то проверка предыдущих объяснений может привести к ревизии гипотез.
10.2.2.3. Подход на уровне знаний. Подход на уровне знаний (knowledge-level approach) предложен Левеком и основывается на модели убеждения. Абдукция определяется по отношению к эписте- мическим состояниям и не зависит от символьного представления.
Абдукция в логике неявного и явного убеждения. Подход на уровне знаний рассматривает абдукцию в контексте неявных и явных убеждений. Для неявных убеждений это подход согласуется с общими идеями, лежащими в основе логических моделей, описанных выше. Но дополнительно он позволяет изменять модель убеждения, таким образом, получается очень общее определение абдукции, которое не зависит от соответствующего представления знаний.
Пусть задан пропозициональный язык Lang. Убеждения формулируются в языке Lang*, атомарные предложения которого имеют форму В а с а Е Lang. Индексы используются для обозначения типа убеждения. Эпистемическое состояние е определяет, какие предложения языка Lang являются убеждениями, т. е. е |= В\а для убеждений типа А. Будем говорить, что р объясняет и по отношению к е (р ехр1Л и) тогда и только тогда, когда е |= (В\(р D ш)к^Вх^р\ Таким образом р является объяснением для ир если мы убеждены, что р влечет и (подразумевается материальная импликация), и если нет убеждения в том, что ^р истинно. Последнее условие определяет проверку непротиворечивости по отношению к рассматриваемому множеству убеждений.
Это определение допускает множественные объяснения. Поэтому и определяется синтаксический критерий отбора, ограничивающий возможные объяснения. Объяснения с меньшим количеством пропозициональных букв являются предпочтительными (причем р и ^р считаются различными). Множество литер LITS(q) формулы а определяется следующим образом:
LITS (false) = 0;
LITS(p) = {р} для атома р;
LITS(-q) = {m| т Е LITS(q)};
LITS(q&/3) = LITS(q V /3) = LITS(q) U LITS(/3).
Согласно Левеку, формула а проще, чем формула /3 (а -< (3) тогда и только тогда, когда LITS(q) С LITS(/3). Теперь можно определить минимальное объяснение: «р минимально объясняет и по отношению к эпистемическому состоянию е и типу убеждения А, т. е. р min _ехр1Л ш по отношению к е, тогда и только тогда, когда р ехр1Л и по отношению к е и не существует такого р* X р, что р* ехр1Л и по отношению к е».
Абдуктивный процесс должен возвращать дизъюнкцию всех минимальных объяснений, т. е. в качестве семантической характеризации можно определить оператор объяснения:
EXPLAIN^[е, cu] = ||{р | р min _ехр1Л си по отношению к е}||, где Ц92Ц — множество всех моделей, в которых р — истина.
Алгоритм, выполняющий вывод по абдукции, называется корректным, если он возвращает в точности все минимальные объяснения по отношению к эпистемическому состоянию. Пусть результаты абдуктивной процедуры описываются функцией explain (Г, си), т. е. explain(T, си) дает объяснения си по отношению к теории Т. Тогда корректность может быть охарактризована равенством:
ЕХРЕА1Хд[Дд(Т), си] = 11explain(Т, си)11, где функция Rx переводит множества предложений в эпистемические состояния по отношению к выбранному типу убеждения А.
Абдукциякакпересмотр убеждений. Бутилье и Вечер дали логическую спецификацию объяснения, основанную на пересмотре
эпистемического состояния агента. Они используют качественное понятие правдоподобия, так как определению абдуктивного объяснения в терминах дедуктивного вывода присущ ряд недостатков:
пересматриваемость абдуктивных объяснений не может быть выражена монотонной выводимостью;
предпочтение некоторых объяснений по отношению к другим может быть выражено лишь на металогическом уровне;
противоречивые объяснения не могут быть объяснены.
Вероятностные подходы или выбор подходящего представления знаний в терминах аномальных исключений позволяют справиться с проблемами 1 и 2. Рассматривая накопление знаний в более широком контексте (Какас) или модели пересмотра (Иноуи, Сакама), противоречивые наблюдения могут быть объяснены, если предыдущие допущения вызвали противоречие. В этом случае противоречивые гипотезы можно исключить. Бутилье и Вечер предложили семейство бимодальных логик, которое позволяет справиться со всеми тремя проблемами. Упорядочение по правдоподобию на возможных мирах, качественно охватывающее предпочтение, семантически описывает процесс пересмотра и позволяет определить различные понятия объяснения.
Пусть язык Lang состоит из счетного множества пропозициональных переменных, классических связок и модальных операторов □ и □'. Семантика дается в терминах возможных миров. Согласно Бутилье и Вечеру, СТ40-модель — это М = (^W^^ }л\ где W — множество возможных миров, < — рефлексивное транзитивное бинарное отношение на ТЕ, ц переводит пропозициональные переменные языка Lang в 2^, т. е. ц(Р) — это множество миров, где Р истинно.
Предложения в Lang интерпретируются как обычно. Истинность модальной формулы F в мире w Е W(М |=w F) задается правилами:
М |=w OF О для ^v : v < w, М |=v F;
М |=w O'F О для Vr : не выполняется и < w, М |=v F.
Таким образом, OF выполняется в w, если F выполняется во всех эквивалентно правдоподобных или более правдоподобных мирах, и OfF — истина, если F — истина во всех менее правдоподобных мирах.
Если К — множество убеждений, то в JL-модели пересмотра максимально правдоподобные миры — это в точности те, в которых К выполняется. Пересмотр К с помощью F, обозначаемых Кр^ определяется с помощью правила: 1| Р^| | = {w : w |= F и v < w влечет г Е F} для w Е W из фиксированной СТ40-модели. Ц^Ц обозначает миры, удовлетворяющие каждому предложению F Е S. Поэтому, если К пересматривается с помощью F, то F выполняется в максимально правдоподобных мирах.
Интуитивное соображение, лежащее в основе объяснения р для ир состоит в следующем: убеждение в истинности р должно быть достаточно для убеждения в истинности ш. В логическом языке это может быть выражено с помощью следующего определения условной зависимости р =Д и:
р =Р и = defn"(^ D <0>(^&П(^ D w))), где □" и — модальные операторы, обозначающие истину во всех мирах и истину в некотором эквивалентно или более правдоподобном мире соответственно. Упорядочение по правдоподобию должно определяться приложением (агентом или программой) для отображения его эпистемического состояния.
Пусть М — /f-модель пересмотра, отражающая эпистемическое состояние агента со множеством убеждений К. Предсказывающее объяснение для наблюдения ш (относительно М) — это любое р Е LangPL (LangPL — пропозициональный язык — подмножество Lang) такое, что (Bq означает, что q — убеждение)
М |= (Вр = Вш^(В^р = В^и) (р принимается тогда же, когда и и);
М |= р =Д ш (убеждение в истинности р влечет убеждение в ИСТИННОСТИ 0))*.,
М |= =Р ^р (р достаточно для шУ
Заметим, что в данном подходе в качестве предпочтительных выбираются наиболее правдоподобные объяснения. Объяснения, не являющиеся предсказывающими, которые не приводят к убеждению в истинности наблюдения, но делают предположение о его истинности «разумным», также могут быть учтены, если ввести более слабое понятие ревизии. В рассматриваемом подходе к абдукции определена очень общая структура, зависящая от эпистемического состояния агента.
Подходы к вычислению абдуктивных объяснений
Подходы к генерации гипотез. Наиболее важная часть абдуктивной процедуры — это образование новой теории, объясняющей данные наблюдений. Можно выделить две группы методов для генерации гипотез, которые существенно зависят от соответствующей формальной модели:
генерация с помощью какой-либо формы линейной резолюции и
генерация с использованием ATMS (система поддержки истинности, основанная на предположениях).
В ряде работ показано, что формы линейной резолюции могут использоваться для генерации гипотез в моделях, основанных на логике (Поупл, Эшги, Ковальский, Какас, Консоул, Кокс, Петржиковский).
Линейная резолюция и сколемизация. Процедуры (Кокс, Петржиковский) основываются на линейной резолюции и обратной сколемизации (могут объясняться факты, описываемые произвольной формулой, содержащей переменные).
Пусть Т — логическая теория и и — формула (факт, который требуется объяснить). Т также обозначает конъюнкцию всех формул в Т. Т И и (исключается тривиальный случай). Причина ср для и в Т — это формула, определяемая следующими условиями:
Т&р Н и и
у) непротиворечиво с Т.
Для вычисления причины у) выполняется следующее:
преобразовать Т в дизъюнктивную форму;
выполнить отрицание и и затем линейную резолюцию со входом: множество дизъюнктов из Г и некоторый элемент из ^х как входной (top) дизъюнкт.
Так как Т И сщ то можно выделить два случая:
дедукция не завершается;
дедукция завершается с некоторой «мертвой точкой» — дизъюнктом d.
Пусть D — множество всех «мертвых точек». Тогда для каждого d Е D необходимо выполнить следующие шаги:
выполнить отрицание d. получив конъюнкцию литер Pi&.. .&рп;
применить алгоритм обратной сколемизации, т. е. заменить все сколемовские термы в р^ на универсально квантифицированные переменные (в результате будет получена формула ср = QiXi... QkXk^q^ ... &Qn), где Qi — универсальные квантификаторы).
В результате будет найдена ср — причина-объяснение для и в Т. Этот алгоритм использует критерий отбора. Все вычисляемые объяснения ср являются базовыми, т. е. любое объяснение у/ для ср является тривиальным (у/ влечет ср непосредственно). В большинстве случаев критерий минимальности также удовлетворяется. Если ср — вычисленное объяснение, то не существует более специфического объяснения х такого, что х D у). Это является следствием алгоритма резолюции, который работает до тех пор, пока нельзя будет выполнить очередной шаг резолюции. Единственное исключение — случай, когда одна мертвая точка включается в другую. Приведенный алгоритм не является
полным, т. е. существуют случаи, когда не все базовые и минимальные объяснения могут быть найдены.
Упрощение задачи с помощью линейной резолюции. Вместо того, чтобы добавлять отрицание наблюдения и к логической теории, Поупл пытается напрямую показать, что Т D ш. Наблюдение преобразуется в дизъюнктивную форму. Рассматривая каждый дизъюнкт в отдельности, можно разбить задачу доказательства и на эквивалентное множество подзадач. Дизъюнкт в логической теории интерпретируется как вид правила, и с помощью обратного ветвления можно прийти к узлам, которые не дадут узлов-потомков, т. е. которые не могут быть доказаны по множеству аксиом. Это и будут кандидаты для объясняющих гипотез. Когда все различные подзадачи рассмотрены, оказывается сгенерированным все множество гипотез.
Поупл предлагает следующую процедуру:
преобразовать теорию Т в КНФ без квантификаторов;
использовать сколемизацию универсально квантифицированных переменных для преобразования и в ДНФ:
устранить импликацию;
сократить количество отрицаний;
заменить каждую универсально квантифицированную переменную на сколемовскую функцию, которая в качестве аргументов имеет переменные всех кванторов существования, находящихся перед квантором всеобщности;
удалить кванторы существования;
преобразовать результирующее выражение в ДНФ;
рассматривая все возможные сочетания для удовлетворения дизъюнкции ш^ можно разбить задачу на п различных, но эквивалентных формулировок, где п — количество дизъюнктов. Например, пусть и = (ДУ.. .V d^-iV dn) = (^dik ... k^dn_i) D dn. Если к T добавить конъюнкцию ^di& ... &^dn_i, то задача сводится к доказательству dn. Этот процесс может быть повторен с каждым Д, так что в результате получается п различных формулировок задачи;
дизъюнкты в Т интерпретируются как продукции с одной литерой слева, поэтому к дизъюнктов позволяют образовать к различных правил, в которых каждый дизъюнкт образует левую часть;
попытаться решить любую подзадачу с помощью обратного ветвления. В результате может быть получено п различных множеств мертвых точек;
заметим, что для любой подзадачи предположение сЦ состоит из (возможно, унарной) конъюнкции. Теперь предпочтение отдается тем мертвым точкам, которые учитывают наибольшее количество конъюнктов, подлежащих объяснению. Эти эвристики учитываются механизмом вывода с помощью процесса отбора, который называется синтезом с использованием частичных деревьев. Он устанавливает, что всякий раз, когда это возможно, литеры, появляющиеся в различных деревьях доказательства, построенных для каждого конъюнкта наблюдения, должны быть унифицированы. Результирующий унификатор учитывает обе верхние литеры соответствующих деревьев доказательства, т. е. оба наблюдения объясняются. Из нескольких подходящих гипотез предпочтение отдается тем, которые учитывают больше наблюдений.
Следует отметить, что в процессе синтеза Поупл реализует процедуру отбора, которая выбирает лишь те гипотезы, которые подтверждаются несколькими наблюдениями. Для задач диагностики предлагается выбирать лишь один абдуцируемый предикат, который объясняет наблюдение. В этом случае синтез выполняется лишь по отношению к вхождениям этого предиката.
Процедура доказательства для абдуктивного логического программирования. Фунг и Ковальский разработали IFF-процедуру доказательства для абдуктивного логического программирования, которая является состоятельной и полной по отношению к трехзначной семантике пополнения для абдуктивных логических программ.
Пусть задана абдуктивная логическая структура ДГД^А\ где Т содержит пополнение логической программы в iff-форме: F(xi,..., хп) Di V ... V Dm. где Р — это либо « = », true, false, либо абдуцент в Л, а каждое D, — конъюнкция литер и переменные х неявно универсально квантифицированы. Ограничения целостности задаются множеством импликаций:
«1 V ... V ап 61& ... kbmi т^п ^ 0.
А содержит абдуцируемые предикатные символы. Абдуктивное решение для запроса q — это пара (А/, а) с фундаментальными абду- цируемыми атомами в А' и подстановкой фундаментальных термов для переменных в запросе так, что
Т U Сотр^А^ U СЕТ |= qa и
Т U Comp(A') U СЕТ |= 1, где Сотр(А') — пополнение А' в терминах iff-определений, как показано выше, а СЕТ — теория равенств Кларка. Все другие абдуценты в А эквивалентны false.
Приведем процедуру доказательства IFF. Пусть q — исходный запрос, тогда необходимо построить узел, соединяя q со множеством ограничений целостности, и затем применять следующие правила вывода, пока это возможно:
развертывание: заменить атом, который появляется как конъюнкт в узле или условии импликации, на тело его определения;
распространение: резольвировать атом с импликацией в том же узле;
расщепление: использовать законы дистрибутивности для образования двух узлов-потомков;
разбор вариантов: если х = t появляется в условии импликации, создать один узел-потомок для х = t и один для х ^ t*
факторизация: если два абдуцента Р(х) и Р(у) появляются в узле, то создать два узла-потомка, в одном из которых аргументы идентичны, а в другом — различны;
правила перезаписи для эквивалентности применяются для имитации унификации;
логические преобразования применяются для того, чтобы переформулировать импликации и упростить выражения, содержащие true и false.
Нисходящая IFF-процедура состоит из двух фаз: развертывание, расщепление и преобразования с правилами перезаписи и анализом вариантов, когда это возможно, составляют первую фазу, а вторая фаза включает распространение и факторизацию, вероятно, с использованием преобразований и анализом вариантов. Авторы не дают стратегии для применения правил вывода, но утверждают, что полнота достигается для любой произвольной стратегии. Построенное в результате решение является минимальным.
ATMS как абдуктивная процедура. Семантическая характеризация дается оператором объяснения: EXPLAIN^e, и] = = 1|{^Д min _expl^cj по отношению к е}||. Для разработки абдуктив- ного алгоритма требуется синтаксическая теория, которая позволяет выполнять реальное вычисление простейших объяснений. Дадим такое синтаксическое определение объяснения, и покажем, как может быть разработана абдуктивная процедура в зависимости от типа убеждения А.
В случае неявного убеждения абдуктивный вывод может моделироваться с помощью ATMS. Левек определяет функцию V для двух множеств дизъюнктов S и Г. Если Г — множество дизъюнктов, которые должны быть объяснены, и Е содержит дизъюнкты-убеждения по отношению кА, то V(E, Г) определяет соответствующие минимальные
объяснения. Точнее, V(E,T) = ц(Ф), где Ф — множество, определяемое следующим образом:
Ф = ^z\Vy Е Е, у ^ г и для \/т Е Г, Зу Е Е, х И у т^ 0 и {у — ж) С г}, a у определяет минимальное множество по отношению к включению множеств.
Функция V может интерпретироваться, например, таким образом. Во-первых, дизъюнкты г, которые мы ищем, не должны быть расширением некоторых у Е Е, т. е. множества дизъюнктов-убеждений. Это необходимо для того, чтобы избежать противоречий в случае, когда позже будет добавлено ко множеству убеждений в качестве объяснения.
Во-вторых, г должно удовлетворять другому условию. Если в действительности возможно объяснить все наблюдения в Г, то для каждого наблюдения х Е Г должно существовать убеждение у Е Е, которое хотя бы частично объясняет его, т. е. х и у имеют общие литеры: х И у ^ 0. Дизъюнкты z выбираются таким образом, что они содержат каждую литеру у, которая не является частью соответствующего наблюдения х. Если в последующем z с отрицанием добавляется ко множеству убеждений Е, то в результате множество наблюдений Г должно быть истинно. Формула ^z отрицает в точности те дизъюнкты из у^ которые не связаны с наблюдениями.
Таким образом, оставшиеся дизъюнкты каждого у, которые являются частью наблюдений, должны быть истинными. Если могут быть найдены различные множества дизъюнктов г, то они образуют альтернативные объяснения. Наконец, функция ц, применяемая ко множеству дизъюнктов ^z, определяет минимальное множество по отношению к включению множеств (объяснение не должно содержать больше литер, чем это необходимо).
В целом, ATMS — одно из возможных средств для генерации абдуктивных объяснений. Если учесть результаты Селмана и Левека, то оказывается, что ATMS, с вычислительной точки зрения, — наилучшая процедура. Она находит некоторое объяснение вместо всех возможных. Если рассматривать явные убеждения, то можно найти и более простую вычислительную процедуру, которая позволяет рекурсивно вычислять неявные убеждения. Это очень общий подход, дающий возможность исследовать и другие типы убеждений.
10.2.3.2. Подходы к отбору гипотез. Результатом работы абдуктивной процедуры является множество возможных объяснений. Так как это множество может быть очень большим, то кажется разумным исключить «менее интересные» гипотезы, чтобы выиграть в эффективности последующего вычислительного процесса. Большинство описанных абдуктивных процедур уже включает подобный кри-
терий отбора для того, чтобы исключить, например, генерацию самих наблюдений как тривиальных объяснений.
Принципы отбора основываются на эвристиках, которые пытаются определить хорошие объяснения. Эти эвристики зависят частично от области приложения. Но могут применяться также и синтаксические критерии, например, чтобы исключить тривиальные объяснения.
Пирс утверждает, что должны отбираться самые простые с психологической точки зрения гипотезы, т. е. наиболее интуитивные объяснения. Это сложно реализовать, поэтому такое требование обычно интерпретируется как логическая и синтаксическая простота. Гипотезы, содержащие лишние литеры, или те гипотезы, которые включаются в другие, нежелательны. Однако существует и негативный результат: Левек утверждает, что невозможно сформулировать критерий отбора только лишь на семантической основе.
Рассмотрим различные подходы к обнаружению наиболее подходящих объяснений. Большинство из них — это методы, реализующие некоторым образом принцип «лезвия Оккама». Тем не менее предлагается и альтернативный подход, основанный на метрике когерентности. Этот подход также дает метод определения подходящего уровня специфичности.
Критерии простоты. Независимо от соответствующих критериев, определяющих уровень специфичности, т. е. уровень абстракции объяснения, в общем случае все принятые гипотезы должны удовлетворять некоторым основным условиям, формализующим синтаксическую простоту. Хороший пример — критерии, которым должны удовлетворять гипотезы, сгенерированные по алгоритму Кокса.
Пусть Т — база знаний логики первого порядка пФ — множество гипотез для наблюдения ш. Если р Е Ф — гипотеза-кандидат, то она должна удовлетворять следующим условиям:
непротиворечивость-. Т к р непротиворечиво (это требование предъявляется ко всем моделям, основанным на логике);
нетривиальность: ^р D up т. е. наблюдение не является прямым следствием гипотез (в частности, исключается тот случай, когда и само синтезируется как подходящее объяснение);
фундаментальность: любое непротиворечивое объяснение для р является тривиальным, т. е. предпочтение отдается наиболее специфичному объяснению в том смысле, что для самого объяснения не существует нетривиального объяснения;
минимальность: для всех гипотез р' для ш : р D р' влечет р* = = р^ т. е. не существует более общей гипотезы для up чем р (в том смысле, что все лишние литеры или кванторы всеобщности, не являющиеся необходимыми, исключены из объяснений).
Заметим, что если р D ф — часть теории, что ф не будет сгенерировано. Это является следствием применяемого алгоритма резолюции,
который выполняется до тех пор, пока это возможно, и ср является единственно возможной мертвой точкой. Таким образом метод, основанный на резолюции, всегда гарантирует выполнение свойства фундаментальности. Фундаментальность уже реализует стратегию для определения подходящего уровня специфичности множества объяснения, которая называется «наиболее специфичной абдукцией». Объяснения, удовлетворяющие свойствам непротиворечивости, минимальности и нетривиальности, реализуют принцип «лезвия Оккама», если он интерпретируется синтаксически. Однако множество интересующих гипотез, отобранных таким образом, может быть снова слишком велико, и обычно требуется дополнительный отбор для того, чтобы получать гипотезы определенного уровня специфичности. Аппельт и Поллок рассматривают два вида критериев: глобальные критерии и локальные критерии.
Глобальные критерии. Методы отбора, основанные на глобальных критериях, рассматривают множество предложений как целое. Среди таких критериев различают: сравнение мощностей, наименее предположительная или наименее специфичная абдукция, наиболее специфичная абдукция и минимальная аномальность.
Сравнение мощностей используется только в диагностических системах и гарантирует принятие лишь тех гипотез, которые приводят к неправильной работе наименьшего количества компонентов. Поэтому система приложения должна определяться в терминах различных компонентов, для которых поведение входов и выходов полностью определено (это не выполняется для задач понимания естественного языка или планирования).
Наименее предположительные или наиболее специфичные объяснения определяются следующим образом: пусть hi и 62 — гипотезы и Т — логическая теория, тогда hi — менее предположительная или специфичная гипотеза, чем h2 тогда и только тогда, когда TUh2 |= hi. Поэтому наименее предположительные или специфичные объяснения — это те, которые обеспечивают наиболее общее объяснение. Абдуктивный процесс, реализующий этот вид отбора, был предложен Стикелем. Могут отбираться и наиболее специфичные объяснения, которые сами не имеют нетривиальных объяснений. Эта стратегия кажется полезной для диагностики неполадок, когда требуются очень подробные знания о природе неполадки.
Аппельт предлагает для распознавания плана использовать сочетание наиболее и наименее специфичной абдукции. Тем не менее все равно остается проблема решения, какая стратегия должна применяться в каждом конкретном случае. Более того, возможны ситуации, когда не существует единственного наименее или наиболее специфичного объяснения, и требуется дальнейший отбор. Дюпрэ и Розотто показали, как аксиомы абстракции вместе с абдуктивной теорией могут использоваться для вычисления наиболее абстрактных объяснений,
т. е. объяснений, допускающих минимум предположений. Использование иерархии абстракций увеличивает эффективность вычисления объяснений путем исключения построения непредпочтительных гипотез вместо того, чтобы впоследствии применять критерий отбора. Абстракции также могут использоваться для того, чтобы сосредоточить поиск на более детальных объяснениях.
Минимальная аномальность. Пул определяет абдуктивную структуру, которая основывается на спецификации предположений аномальности и нормальности. Как утверждает Аппельт, внутренняя проблема этого подхода — это тот факт, что минимально аномальные предположения могут противоречить «наилучшему» объяснению.
Локальные критерии. Чтобы избежать недостатков предыдущих подходов, были введены локальные критерии, позволяющие отбирать наилучшие гипотезы еще до завершения вычисления всех возможных объяснений. Здесь выделяют статистические методы Байеса, взвешенную абдукцию и абдукцию, основанную на стоимостях.
Статистические методы Байеса. Для отбора «наиболее вероятных» гипотез может использоваться стандартная теория вероятностей. Пул описывает прагматически оправданную структуру вероятностей для хорновской абдукции. Она определяется над теориями, состоящими из множества определенных клозов, представляющих общие знания, и ряда «несвязанных объявлений», определяющих множество несвязанных и покрывающих гипотез с ассоциированными с ними вероятностями. Каждое несвязанное множество устанавливается для множества примеров независимых и взаимноисключающих гипотез, сумма вероятностей которых дает 1. Пул показывает, что любое вероятностное знание, представимое в дискретной сети убеждений Байеса, может быть представлено в этой структуре. Подход в результате дает простую логическую формулировку, которая семантически прозрачна и, кроме того, допускает простую реализацию. Но при этом требуется, помимо прочих предположений, разбиение пространства гипотез на независимые альтернативы, что часто бывает сложно выполнить. О’Рурк описывает обобщение, позволяющее генерировать не только наиболее вероятные объяснения, но также и наиболее важные. Причем последнее определяется с помощью теории принятия решений.
Взвешенная абдукция. Аппельт и Поллак для того, чтобы направить процесс применения правил, назначают весовые множители для всех литер в посылке. В результате правила приобретают вид: ip^Х& ... &^п D рь Веса ц^ используются для вычисления стоимости предположения литер. Это делается с помощью умножения стоимости предположения следствия на весовой множитель рассматриваемой литеры в посылке. Например, если ф имеет стоимость с, то рц может рассматриваться со стоимостью с*Ц1. В абдуктивной процедуре
предпочтение отдается множеству предположений с наименьшей стоимостью.
Теоретико-модельная семантика подхода основывается на предпочтении моделей. С помощью взвешенной абдукции модели теории Т ограничиваются так, что отбрасываются модели, которые являются подчиненными согласно ограничениям предпочтения моделей. Предполагается, что на моделях Т установлен частичный порядок предпочтений. Веса в правилах интерпретируются как дополнительные ограничения на этот порядок. Если дано правило ipa с весом а < 1, то это означает, что каждая модель, удовлетворяющая (^fe^ предпочитается некоторой модели, удовлетворяющей ^fe^-
Чарняк и Шимони отмечают, что для случая а > 1 не определена семантика, поэтому может моделироваться лишь наиболее специфичная абдукция. Более того, взвешивание правил должно привести к непротиворечивому упорядочению без циклов, что делает еще более сложным определение весов вновь добавляемых правил.
Абдукция, основанная на стоимости. Чарняк и Шимони пытаются найти наилучшее объяснение наблюдения с помощью поиска доказательства минимальной стоимости. Подходящая семантика дается булевской сетью доверия. Более точно авторы представляют правила взвешенной абдукции в виде направленного ациклического графа (DAG — Directed Acyclic Graph) и показывают, что поиск модели этого графа с минимальными стоимостями соответствует поиску множества абдуктивных гипотез наименьшей стоимости. Предложенный алгоритм опирается на эвристики поиска в графе DAG для обнаружения частичных объяснений, которые затем расширяются. Чтобы определить семантику, строится булева сеть доверия, основанная на взвешенном И/ИЛИ направленном ациклическом графе (WAODAG — Weighted AND/OR DAG). Показано, что поиск модели минимальной стоимости, т. е. предположений минимальной стоимости, соответствует поиску назначения максимальной апостериорной вероятности данным фактам для сети доверия. Эти идеи кажутся перспективной стратегией для широкой области приложений. Но для применения этого подхода должны быть известны вероятности. Кроме того, знания домена и, в частности, связи между объяснениями и наблюдениями, должны быть представимы в терминах правил, которые могут быть преобразованы в DAG.
Когерентность объяснений как критерий отбора. Вместо представления принципа «лезвия Оккама» как синтаксической простоты, Энг и Муни определили метрику когерентности, которая помогает найти наиболее интуитивные объяснения. Поиск объяснений направляется эвристиками (лучевой поиск), чтобы увеличить эффективность. Метрика также определяет уровень специфичности.
Как утверждают авторы подхода, принцип «лезвия Оккама» недостаточен для приложений понимания текста и распознавания плана.
Они предлагают отбирать те объяснения, которые лучше всего связывают между собой все наблюдения. Это означает, что они предпочитают объяснения, у которых больше связей между любой парой наблюдений, где связи интерпретируются как направленные пути в графе доказательства. Более точно метрика определяется следующим образом:
где I — количество наблюдений, N — количество узлов в графе доказательства, N^j — количество различных узлов в графе доказательства таких, что существует последовательность направленных ребер от п^ к щ и от щ к rtj, где п^ и rtj — наблюдения (последовательности могут быть пустыми), N(2) — масштабирующий множитель, обеспечивающий выполнение условия С Е [0,1]. Числитель — это сумма количества узлов в графе, которые одновременно поддерживают интерпретацию, представленную этим графом.
Для определения «хорошего» объяснения рассматриваются все возможные связи узлов, т.е. несколько различных графов доказательства. Выбирается интерпретация, представляемая графом с самой высокой когерентностью. Метрика может быть вычислена за время О (IN + е), используя поиск в глубину.
К преимуществам подхода можно отнести следующее: когерентные объяснения обычно также и синтаксически просты (так как унификация сопутствует предпочтению тесных связей), метод не допускает «слишком много степеней свободы», как, например, в случае взвешенной абдукции, где веса правил могут быть выбраны произвольно. Кроме того, метрика помогает определить уровень специфичности, так как доказательство подцели выполняется при обратном ветвлении лишь в том случае, когда оно может увеличить общую когерентность.
Когерентность объяснений кажется многообещающим подходом для систем, поведение которых не может быть заранее определено для всех случаев (например, для моделирования человеческого мышления).
Метод вероятностных абдуктивных рассуждений всложноструктурированных проблемных областях
В настоящее время абдуктивный вывод признан одним из наиболее эффективных механизмов диагностики, так как довольно адекватно моделирует рассуждения человека в процессе нахождения объяснений. Абдуктивный вывод — это вывод, при котором формируются и оцениваются гипотезы объяснений наблюдаемых явлений. В последние годы резко возрастает количество применений диагностических
программных средств, основанных на механизмах абдуктивного вывода, в различных сферах деятельности человека, а также увеличивается сложность задач, решаемых такими средствами. Поскольку одним из признаков сложной системы, для диагностики которой используются программные средства, является, по Г. Буч, иерархичность, возникает необходимость разрабатывать новые методы диагностики, позволяющие не только обнаруживать неисправности, но и объяснять причины их возникновения в сложноструктурированных проблемных областях.
В настоящее время разработано несколько методов абдуктивных рассуждений в сложноструктурированных проблемных областях. Одним из таких методов, предложенным Консоулом и Дюпрэ, является иерархическая абдуктивная схема рассуждений для нахождения объяснений в сложноструктурированных проблемных областях. На определениях этого метода базируется разработанный авторами метод вероятностных абдуктивных рассуждений, позволяющий обнаруживать аномалии в поведении сложноструктурированных объектов. Введение в предложенный метод вероятностей позволяет упорядочить огромное количество найденных объяснений по наиболее подходящим для данной ситуации.
1- Основные определения. Нахождение объяснений причин возникновения аномальных ситуаций в сложноструктурированных объектах имеет ряд особенностей, среди которых существенными являются следующие:
объяснения не должны быть слишком детализированными, когда более общих подробностей достаточно для объяснения причин возникновения явлений;
слишком абстрактные объяснения могут быть излишними, когда должны быть приведены более детальные объяснения.
Приведем определения понятий метода абдуктивных рассуждений (Консоул и Дюпрэ), используемых авторами в разработанном методе вероятностных абдуктивных рассуждений, который позволяет учесть приведенные выше особенности использования абдуктивного вывода в сложноструктурированных проблемных областях. Отметим, что данные определения являются распространением определений, представленных в разд. 10.2.1 и 10.2.2, на сложноструктурированную проблемную область.
Определение 10.16. Иерархия объяснений есть пара < Те^Тд >, где Те есть множество аксиом объяснений, в котором каждая аксиома есть хорновский дизъюнкт:
здесь Р1&Р2& • • • ^Pn есть непосредственное объяснение Q; Тд есть
множество аксиом абстракций, в котором каждая аксиома имеет вид Р —> Q, где Р есть объект, более специфичный, чем Q (Q есть абстракция Р).
Примечание. Аксиомы абстракций задают ISA- и Part-of- иерархии на объектах проблемной области.
Для каждой формулы Р Q в множестве аксиом абстракций уровень Р меньше, чем уровень Q (level(F) < level(Q)) и ЗР : level (F) = = 0.
На рис. 10.1 приведен пример графической формы задания иерархии объяснений. Графической интерпретацией иерархии объяснений является семантическая сеть, вершинам которой соответствуют литеры, представ
ляющие элементарные высказывания, Рис. 10.1.принимающие значения «истина» или
«ложь». В семантической сети выделяются два типа ребер для задания аксиом из множеств Те и Тд соответственно. Для задания аксиом из множества Тд используются ребра, выделенные жирной линией.
На рис. 10.1 множества Те и Тд имеют вид
ТЕ = {F1&F2QI, F1&F2QI, F3Q2};
Тд = {F3Р^.
Определение 10.17. Множество наблюдаемых литер назовем наблюдением (OBS).
Определение 10.18. Абдуктивная теория (АТ) задана, если определены множество Т = Те U Тд и наблюдение (OBS).
Определение 10.19. Абдуцентной литерой назовем литеру, которая не является литерой заключения в Хорновском дизъюнкте D^D Е ТЕ.
Определение 10.20. Конъюнкцию абдуцентных литер назовем абдуцентом.
Определение 10.21. Объяснение наблюдений из Т есть множество Е = {В1,..., Еп^ где Ег (г = 1, п) — есть множество абдуцентов для наблюдения Ог Е OBS, н — число наблюдаемых литер, такое, что Т U Е h О г для каждой наблюдаемой литеры О г Е OBS и из Т U Е невыводимо ^Ог; Т U Е совместно; только из Т невыводимо Ог.
Выделяют два типа объяснений в сложноструктурированных проблемных областях:
поддерживающие объяснения, которые отражают особенность 1, а именно: объяснения не должны быть слишком детализированными (например, нахождение объяснений наблюдений с использованием только множества Те);
предпочтительные объяснения, которые отражают особенность абдукции в сложноструктурированных проблемных областях, а именно: слишком абстрактные объяснения могут быть излишними.
Перед описанием метода приведем ряд положений, на которых он базируется:
литера, соответствующая вершине в иерархии объяснений, в том числе и наблюдаемая литера, не являющаяся абдуцентной литерой, должна быть объяснена с использованием Тд только тогда, когда часть построенного объяснения не может быть расширена добавлением новых литер для объяснения наблюдаемой литеры из множества OBS при помощи Те;
для того, чтобы устранить генерацию высокоуровневых объяснений, алгоритм начинается с объяснения наблюдаемых литер самого нижнего уровня, таким образом, предотвращается поиск литер для объяснения О Е OBS при помощи множества аксиом Те^ когда О уже подкреплено поддерживающими объяснениями, сделанными на нижележащем уровне.
Положим, что аксиомы в Тд используются для задания Part-of- иерархии на объектах проблемной области.
Примечание. Аксиомы в Тд, задающие Part-of-иерархию на объектах проблемной области, можно рассматривать как множество ограничений целостности, поскольку если компонента объекта неисправна, то и сам объект является неисправным.
10.2.4-2. Описание метода вероятностных абдуктивных рассуждений в сложноструктурированных проблемных областях. Далее приведем описание метода абдуктивных рассуждений в сложноструктурированной проблемной области. Как видно из представленных выше определений, формулировка задачи абдуктивного вывода в сложноструктурированных проблемных областях является обычной для абдуктивных рассуждений, а именно: нахождение объяснений наблюдений с использованием абдуктивной теории. Однако существует следующее уточнение формулировки задачи: объяснение наблюдений осуществляется не только на основе множества аксиом объяснений Те, но и множества аксиом абстракции Тд, которое
используется обычно для задания структуры объектов проблемной области. Следует отметить, что аксиомы из множества Тд определяют уровни в иерархии объяснений.
Множество аксиом абстракции Тд, как было сказано выше, можно рассматривать как ограничения целостности в задаче абдуктивных рассуждений. Метод абдуктивных рассуждений в сложноструктурированной проблемной области начинается с нахождения множества абдуцентов для наблюдений наименьшего уровня, что можно интерпретировать, как, например, нахождение объяснений причин возникновения явлений в элементарных объектах, если аксиомы из множества Тд используются для задания структурного отношения «часть — целое» (Part-of). После того, как найдено множество абдуцентов для наблюдений наименьшего уровня происходит поднятие на один уровень вверх по иерархии объяснений и, если на нем отмечены наблюдения, которые необходимо объяснить, то начинается процесс нахождения их объяснений.
Этот процесс имеет особенность, которая заключается в том, что если литера А используется для объяснения некоторого наблюдения, т. е. является посылкой аксиомы из Д. выбранной для объяснения наблюдения, и эта литера А уже объяснена на нижележащем уровне, т. е. литера А является заключением аксиомы из Тд, посылка которой объяснена на нижележащим уровне, то, с учетом аксиомы из Тд, объяснение найденное на нижележащем уровне является объяснением литеры А. Таким образом, описанный выше процесс позволяет «связывать» объяснения наблюдений, расположенных на различных уровнях в иерархии объяснений. Далее поднимаемся на следующий уровень по иерархии объяснений. Если на нем отмечены наблюдения, которые необходимо объяснить, то повторяем вышеописанный процесс и т. д., пока не будут объяснены все наблюдения на всех уровнях иерархии объяснений.
Следует отметить, что в результате данного процесса нахождения объяснений наблюдений обнаруживается большое количество различных объяснений. Поэтому возникает задача их упорядочивания по наиболее подходящим для данной ситуации. Для этого в описанный метод абдуктивных рассуждений введен подсчет вероятности абду- цента.
Для пояснения процесса нахождения объяснений в сложноструктурированной проблемной области, приведем пример и после него опишем алгоритмы, лежащие в основе описанного метода вероятностных абдуктивных рассуждений.
Рассмотрим пример получения множества абдуцентов с использованием аксиом из Тд для иерархии объяснений, представленной на рис. 10.2. В данном примере предполагается, что наблюдаемые литеры присутствуют на двух уровнях.
Рис. 10.2Рис. 10.2
Рис. 10.2
Рис. 10.2
На рис. 10.2 заданы следующие аксиомы:
ТЕ = {Р1&Р2 Оу, Q RI, PlkP2 Р, Z1&Z2Р};
ТА = <Р QY
Получим множество абдуцентов Ej для наблюдаемой литеры Оу.
{Д1&Д2};
{Q&P2};
{{Р1&Р2, Z1&Z2}&P2} = {Р1&Р2&Я2, Z1&Z2&P2}.
Покажем, что Т U Ej Н Оу где Т = Те U Та на основе принципа резолюции:
—>Oj (в основе принципа резолюции лежит процедура опровер
жения)
Р1
Р2
Р2
Z1
Z2
-P1V-P2VO)
-^Q V RI
-.P1V-.P2VP
^Z1V^Z2V Р
^PVQ
^P1V^P2(1,7)
^R1(4,12)
^Q(8,13)
-nP2VP(2, 9)
P(3,15)
Q(11,16)
□(14,17)
Далее приведем описание алгоритмов, лежащих в основе метода вероятностных абдуктивных рассуждений в сложноструктурированной проблемной области. Эти алгоритмы базируются на модифицированном методе поиска в ширину.
10.2.4*3. Алгоритмы вероятностных абдуктивных рассуждений в сложноструктурированной проблемной области.
Алгоритм получения объяснений (множества Е) для наблюдаемых литер О G OBS. Алгоритм вероятностных абдуктивных рассуждений в сложноструктурированной проблемной области состоит из двух алгоритмов:
алгоритма для нахождения всех возможных абдуцентов для наблюдаемой литеры Oj 6OBS наименьшего уровня;
алгоритма для нахождения всех возможных абдуцентов для наблюдаемой литеры Oj GOBS, где Oj GOBS не является литерой наименьшего уровня.
Приведем описание алгоритма вероятностных абдуктивных рассуждений в сложноструктурированной проблемной области. Предположим, что абдуктивная теория задана, т. е. заданы множества Те, Та и OBS.
Шаг 1. На иерархии объяснений отмечаются вершины, которые соответствуют наблюдаемым литерам.
Шаг 2. Нахождение номера наименьшего уровня, в котором отмечены вершины, как наблюдаемые. Результат: номер уровня (г).
Шаг 3. Нахождение всех возможных абдуцентов для наблюдаемой литеры Oj GOBS уровня г. Результатом является EJ = {Е^,..., EJn}, где п — число абдуцентов для Oj; E^fj = 1..п) — абдуцент для Oj.
Шаг 3 повторить для всех наблюдаемых литер уровня г. Результатом шага 3 является: Ег = ^Е^ ..., E^j где m — число наблюдаемых литер на уровне г; Ej (j=l..m) — множество абдуцентов для Oj.
Шаг 4* Нахождение всех возможных абдуцентов для наблюдаемой литеры Oj GOBS уровня к. где к > г. Шаг 4 повторить для всех наблюдаемых литер уровня к.
Шаг 5. Если существуют Oj GOBS, которые еще не объяснены, то перейти к шагу 4. В противном случае СТОП.
Результатом алгоритма нахождения объяснений для наблюдаемых литер OgOBS есть множество объяснений Е: Е = UE\ где Ег = = {Еф... , Е^}, где EJ(j=l..m) — множество абдуцентов для наблюдаемой литеры Oj GOBS уровня г; m — число наблюдаемых литер на уровне г.
Далее последовательно приведем описания всех алгоритмов, начиная с алгоритма для нахождения всех возможных абдуцентов для
наблюдаемой литеры Oj Е OBS наименьшего уровня г, на котором отмечены вершины, соответствующие наблюдаемым литерам.
Алгоритм для нахождения всех возможных абдуцентов для наблюдаемой литеры Oj Е OBS наименьшего уровня
Пусть Е^ = {Oj}-
Шаг 1. Если Oj — абдуцентная литера, то вернуть PJ = {OJ}.
Шаг 2. Нахождение непосредственных объяснений для элементов множества PJ , т. е. аксиом из Г, заключениями которых являются элементы множества Ej с учетом метода поиска в ширину. Если существуют хорновские дизъюнкты Dl^ D2 Е Те DI: Р1&Р2& .. .кРп
Oj и D2: RlkR2k...kRm Oj^ то нахождение непосредственных объяснений для Ej = {Р1&Р2& ... ^Ртц RlkR2k ... ^Рт^ т. е. заменить Oj на посылки аксиом из множества Те, и отметить вершины, соответствующие литерам Pl, Р2,..., Рп, R\. R2...., Rm^ на иерархии объяснений. В противном случае использовать аксиому из множества Тд вида Pl —► Oj, найти непосредственные объяснения для Ej = {Pl} и отметить вершину Р1 на иерархии объяснений.
Шаг 3. Вычисление вероятностей полученных элементов из множества Ej. Пусть конъюнкция литер А Е Ej.
к
Р(А) = П P(^\Hi,..., Hq), где к — число литер в конъюнкции 2=1
A, P(Aj|Pi,..., Hq) — условная вероятность литеры А^ в конъюнкции A*, Hi,... ,Hq — литеры, соответствующие вершинам в иерархии объяснений, используемые при выводе литеры Ад Если Р(А) < а (а — пороговое значение), то А —абдуцент для Oj .
Для того, чтобы вычислить значение условной вероятности литеры, соответствующей вершине, необходимо выполнить следующие действия.
Задание значений вероятностей вершинам иерархии объяснений P(Q), Р(Р1),..., Р(Р^); на ребрах иерархии объяснений — P(Q|P1),..., P(Q|Pn), где Р1& ... &Pn Q Е ТЕ.
Б) Вычисление условных вероятностей по теореме Байеса, т. е.
Отметим, что гипотезы объяснений, заданные литерами и вероятностями, являются независимыми.
Замена Р(Рг) на P(Pi\Q) при отметке вершины Pi.
Шаг Д Переход к шагу 2 до тех пор, пока конъюнкции литер из множества PJ будут содержать только абдуцентные литеры, т.е. станут абдуцентами для Oj (иначе — нахождение аксиом для литер Pl, Р2,..., Pn, Pl, Р2,..., Rm).
Шаг 5. Упорядочивание элементов (абдуцентов) множества Ej по убыванию значений условных вероятностей. СТОП.
Ниже приведем алгоритм для нахождения всех возможных абду- центов для наблюдаемой литеры Oj Е OBS уровня к. где к не является наименьшим уровнем, на котором присутствуют наблюдаемые литеры.
Алгоритм для нахождения всех возможных абдуцентов для наблюдаемой литеры Oj Е OBS
0. Е^ = Ц)р
Если Oj — абдуцентная литера, то возврат Е^ = {OJ}.
Нахождение непосредственных объяснений для элементов множества Е^ т. е. аксиом из Т, заключениями которых являются элементы множества Е^ с учетом метода поиска в ширину. Пусть существует аксиома Р —> Q Е Тд^ где Q — литера, непосредственное объяснение которой находим, Р — отмеченная литера уровня к — 1. Пусть Е^-1 — множество абдуцентов для наблюдаемой литеры Ог уровня к — 1. Положим, что Е^-1 является также множеством абдуцентов для литеры Р уровня к — 1, допуская при этом избыточность, поскольку множество Е^-1 кроме абдуцентов литеры Р содержит и другие элементы. Тогда необходима замена литеры Q на множество абдуцентов Е^-1 во всех вхождениях Р в множество Ej и приведение множества Ej к множеству, элементами которого являются конъюнкции литер. В случае отсутствия такой аксиомы, действия, выполняемые на этом шаге, аналогичны действиям шага 2 алгоритма для нахождения всех возможных абдуцентов для наблюдаемой литеры наименьшего уровня.
Остальные шаги алгоритма аналогичны шагам алгоритма для нахождения всех возможных абдуцентов для наблюдаемой литеры наименьшего уровня.
Таким образом, используя описанный шаг алгоритма, мы можем «связывать» наблюдаемые литеры, т. е. находить объяснения нескольким наблюдаемым явлениям. Приведенный алгоритм, позволяющий «связывать» объяснения наблюдений, можно рассматривать, как некоторое приближение к нахождению минимальных объяснений.
Поскольку одной из важных проблем в методах абдуктивных рассуждений является проверка найденных объяснений на непротиворечивость, далее приведем описание этой процедуры.
.2.4-4- Процедура проверки найденных объяснений на непротиворечивость. В качестве процедуры проверки найденных объяснений на непротиворечивость предлагается использовать метод автоматического доказательства теорем, предложенный М. Фитингом и описанный в главе 4. Имеем Т U Е h Oj. На основании теоремы о
логическом следствии (см. раздел 1.2.) доказано, что ТЕЕЕ^Оу является противоречивой формулой. Для того, чтобы выяснить, что найденное множество объяснений Е является непротиворечивым, необходимо показать, что Т U Е И Оу (очевидно, что непротиворечивость Е вытекает из невозможности одновременного доказательства Е и -Е). Отсюда, если дерево аналитической таблицы с корнем ТЕЕЕ^Оу замкнуто, а дерево с корнем ТЕЕЕ^^Оу содержит открытую ветвь (она отмечена символом «*» в таблице), то тем самым будет доказана непротиворечивость множества объяснений Е. Процедура построения аналитической таблицы повторяется для всех наблюдаемых литер. Напомним, что для исчисления высказываний открытая ветвь (что говорит о выполнимости формулы) всегда конечна, но для исчисления предикатов 1-го порядка конечность имеет место только для конечного универсума (см. гл. 4).
В качестве примера построим аналитическую таблицу для теории Т, представленной на рис. 10.2, и найденного множества объяснений Е (рис. 10.3). Из построенной таблицы видно, что таблица с корнем ТЕЕЕ^Оу замкнута, а таблица с корнем ТЕЕЕ^^Оу содержит открытую ветвь (помечено символом «*»), что говорит о непротиворечивости множества объяснений.
10.2.4*5. Примеры применения разработанных алгоритмов абдуктивного вывода в сложноструктурированных проблемных областях. Приведем два примера получения множества абдуцентов для наблюдений.
Пример 10.14.
Дано: OBS = Q,TE = {Р1&Р2 Q.PH Р1,Л1&Л2 Q^ заданные на иерархии объяснений, (рис. 10.4).
Используя вышеописанные алгоритмы, найдем множество объяснений Е = {Р11&Р2, Л1&Л2}.
Далее, используя принцип резолюции, покажем, что Т U Е h Q, где Т = ТЕ поскольку Та = 0.
^P1V^P2VQ
^PllVPl
Pll
Р2
Al
Л2
-P1V-P2(1,3)
Pl(2,4)
-Р2(8,9)
□(5,10)
Из примера видно, что только из Т не выводимо Q.
Условные обозначения
1—0
12. P2
23. Pl (018)
34. ^P1 (D10)
45.0(D20)
TOj
13. Z1
24. ЧР1&Р2)
35.-P2(O11)
46. ^Z1 (013)
3.M&R2^Oj
14. Z2
25. P
36. ^(Z1&Z2)
47. ^Z2 (014)
4. <2^1
15. P2
26. -.(P1&P2)
37. P
48. ^P (037)
5.РШР2^Р
16. ДР1&Р2)
27. P
38. ^Р1 (П10)
49. 0()
6. Z1&Z2^P
17. Oj
28. ДР1&Р2)
39.-P2(O11)
50. -nZl (ШЗ)
TP^Q
18.-J? 1
29. P
40. -.(Z1&Z2)
51.^Z2(D14)
8. Р1&Р2&Р2
19. ^R2 (012)
30. ^Р1 (П10)
41.P
52. ^P (041)
9. Z1&Z2&P2
20. ^0
3L^P2(D11)
42. -Z1 (013)
53. 0 (022)
10. Pl
21.Pl
32. -.(Z1&Z2)
43.^Z2(O14)
11.P2
22.
33. P
44. ^P (033)
Рис. 10.3.
Пример 10.15.
Пример вероятностных абдуктивных рассуждений для обнаружения неисправностей двигателя автомобиля. Двигатель работает, если выполнены следующие условия:
• работает устойчиво на холостом ходу, обеспечивая постоянное число оборотов в минуту. 950 < Р2.от < 1000(= const) .
Р11Р1
Рис. 10.4.
Опишем неисправности двигателя автомобиля и возможные причины их возникновения. Обозначим Fl.tz>8 через Р1. Возможные причины данной неисправности: (Q1) нет топлива в карбюраторе; (Q2) неисправность электрооборудования; (Q3) система пуска карбюратора не отрегулирована; (Q4) система пуска карбюратора неисправна; (Q5) не открывается клапан ЭПХХ; (Q6) неисправность системы зажигания; (Q7) не отрегулирована система зажигания; (Q8) наличие воды в топливе.
Обозначим F2.om < const через Р2. Возможные причины: (Q9) не отрегулирована система холостого хода; (Q10) не отрегулирована система зажигания; (Q11) засорен карбюратор; (Q12) низкое качество бензина; (Q13) подсос воздуха через прокладки, шланги; (Q14) неисправна система газораспределения (износ или регулировка).
Возможные причины неисправности (Pl.tz > 8)&Q1: (Fl) нет топлива в баке; (F2) засорен топливопровод; (F3) неисправен топливный насос; (F4) установлен неправильный зазор (больше 1 мм).
Возможные причины неисправности (Pl.tz > 8)&Q3: (F6) воздушная заслонка не приоткрывается при запуске на нужный зазор (2,8 мм); (F7) дроссельная заслонка не приоткрывается на зазор 1,5 мм.
Возможные причины неисправности (Pl.tz > 8)&Q4: (F8) не работают приводы заслонок (воздушной или дроссельной); (F9) неисправна мембрана.
Возможные причины неисправности (Pl.tz > 8)&Q5: (F10) обрыв или короткое замыкание провода, ведущего к клапану; (F11) неисправен клапан.
Возможные причины неисправности (Pl.tz > 8)&Q6: (F12) неисправна катушка; (F13) обрыв или короткое замыкание центрального
провода; (Р14) грязные или неисправные свечи; (Р15) неисправность прерывателя-распределителя зажигания.
Возможные причины неисправности (Р.от < const2)&Q13: (Р16) засорен карбюратор; (Р17) подсос воздуха через прокладки.
Возможные причины неисправности (РТот < const)&Q14: (Р18) прогар клапанов; (Р19) износ распределительного вала; (Р20) поломка пружин клапанов; (Р21) износ втулок клапанов.
Возможные причины неисправности (Pl.tz > 8)&Q6&P15: (SI) пробой бегунка; (S2) трещина на крышке; (S3) пробой конденсатора; (S4) износ контактов; (S5) загрязнение; (S6) обрыв или короткое замыкание внутреннего провода; (S7) механическое повреждение вала.
Возможные причины неисправности (РТот < const)&Q13&P17: (S8) ослаблен крепеж; (S9) износ прокладок.
Формализуем перечисленные утверждения в виде аксиом. Таким образом, имеем следующее множество аксиом:
ТЕ={ Ql^ Pl, Q^ Pl, Q3^ Pl, Q4^ Pl, Q5^ Pl, Q6^ Pl, Q7^ Pl, Q8^ Pl, Rl^ QI, P2^ QI, P3^ QI, R4^ QI, P6^ Q3, P7^ Q3, P8^ Q4, P9^ Q4, P10^ Q5, Rll^ Q5, P12^ Q6, P13^ Q6, P14^ Q6, P15^ Q6, Sl^ P15, S2^ P15, S3^ P15, S4^ P15, S5^ P15, S6^ P15, S7^ P15, Q9^ P2, Q10^ P2, Qll^ P2, Q12^
P2, Q13^ P2, Q14^ P2, P16^ Q13, P17^ Q13, P18^ Q14, P19^
Q14, P20^ Q14, P21^ Q14, S8^ PIT, S9^ PIT}.
Ta = {двигатель—^автомобиль}
Графическое представление иерархии объяснений неисправностей двигателя автомобиля приведено на рис. 10.5.
Пусть имеем наблюдение Р1, обозначающее Pl.tz>8. Тогда множество абдуцентов Е на основе разработанного алгоритма строится следующим образом.
Множество абдуцентов для наблюдаемой литеры Р1 уровня 0: Д? = {QI, Q2, Q3, Q4, Q5, Q6, Q7, Q8}
Д? ={Д1, R2, R3, R4, Q2, R6, R7, R8, R9, ДЮ, Д11, Д12, Д13, Д14, Д15, Q7, Q8}
Е^ ={Д1, Д2, ДЗ, Д4, Q2, R6, R7, R8, R9, ДЮ, Д11, Д12, Д13, Д14, 51, 52, 53, 54, 55, 56, 57, Q7, Q8}
Построенные объяснения удовлетворяют ограничению целостности, которое задано аксиомой из Та, поскольку двигатель, являющийся неотъемлемой частью автомобиля, неисправен, следовательно, и автомобиль является неисправным.
Очевидно, что из Те U Е^ h Pl.
Для того, чтобы показать, что найденное множество объяснений является непротиворечивым (из TeVJE^ не выводимо ^Р1) построена аналитическая таблица с корнем T^&Pj&^^Pl, которая не является замкнутой, что свидетельствует о том, что найденное множество
Рис. 10.5.
объяснений является непротиворечивым. Описание аналитической таблицы, содержащей 114 шагов, приведено в табл. 10.1. В таблице использованы следующие обозначения: р — номер формулы (шага), А — номер предыдущей формулы, Б — номер формулы, породившей Данную. Тйблица 10л
р
Формула
А(Б)
P
Формула
A
Б
P
Формула
A
Б
1
^Р1
44
E13
43
87
-P14 (045)
86
23
2
F1
1(1)
45
E14
44
88
Q6
86
23
3
Ql^ Fl
2
46
51
45
89
-SI (046)
88
25
4
Q2^ Fl
3
47
S2
46
90
E15
88
25
5
Q3^ Fl
4
48
S3
47
91
-S2 (047)
90
26
6
Q4^ Fl
5
49
S4
48
92
E15
90
26
7
Q5^ Fl
6
50
S3
49
93
-S3 (048)
92
27
8
Q6^ Fl
7
51
S6
50
94
E15
92
27
9
Q7^ Pl
8
52
S7
51
95
-S4 (049)
94
28
10
Q8^ Fl
9
53
Q7
52
96
E15
94
28
11
Fl^ QI
10
54
Q8
53
97
-S5 (П50)
96
29
12
E2^ QI
11
55
-QI
54
3
98
E15
96
29
13
E3^ QI
12
56
Fl
54
3
99
-S6 (051)
98
30
14
R4^ QI
13
57
-Pl (П32)
55
11
100
E15
98
30
15
E6^ Q3
14
58
QI (П55)
55
11
101
-S7 (052)
100
31
16
R7^ Q3
15
59
-Pl (П32)
56
11
102
E15
100
31
17
E8^ Q4
16
60
QI
56
11
103
-P15 (П102)
102
24
18
R9^ Q4
17
61
-Q7 (П53)
60
9
104
Q6
102
24
19
P10^ Q5
18
62
Fl
60
9
105
-Q6 (П104)
104
8
20
Pll^ Q5
19
63
-Q8 (054)
62
10
106
Fl
104
8
21
E12^ Q6
20
64
Fl
62
10
107
-Q5 (DSD)
106
7
22
E13^ Q6
21
65
—P2 (ПЗЗ)
64
12
108
Fl
106
7
23
E14^ Q6
22
66
QI
64
12
109
-Q4 (076)
108
6
24
E15^ Q6
23
67
-P3 (П34)
66
13
110
Fl
108
6
25
51^ E15
24
68
QI
66
13
111
-Q3 (074)
110
5
26
S^ E15
25
69
—P4 (П35)
68
14
112
Fl
110
5
27
S3^ E15
26
70
QI
68
14
113
-Q2 (D36)(*)
112
4
28
S4^ E15
27
71
-P6 (П37)
70
15
114
Pl (*)
112
4
29
S5^ R15
28
72
Q3
70
15
30
S6^ R15
29
73
—P7 (П38)
72
16
31
S7^ R15
30
74
Q3
72
16
Таблица 10.1 (продолжение)
р
Формула
А(Б)
Р
Формула
А
Б
Р
Формула
А
Б
32
Д1
31
75
-.Д8 (П39)
74
17
33
Д2
32
76
Q4
74
17
34
ДЗ
33
77
-.Д9 (П40)
76
18
35
R4
34
78
Q4
76
18
36
Q2
35
79
-.Д10 (П41)
78
19
37
R6
36
80
Q5
78
19
38
R7
37
81
-.Д11 (П42)
80
20
39
R8
38
82
Q5
80
20
40
№
39
83
^Д12 (П43)
82
21
41
ДЮ
40
84
Q6
82
21
42
Д11
41
85
^Д13 (П44)
84
22
43
Д12
42
86
Q6
84
22
Поскольку аналитическая таблица с корнем Те&ьЕ^-^Р! не является замкнутой (содержит две открытые ветви), из Те U Е^ не выводимо ^Р1. Из построенной аналитической таблицы видно, что таблица с корнем Те^Е^^Р! является замкнутой, следовательно, из Те U Е^ выводимо Р1. Из этого
следует, что построенное объяснение Е^ является непротиворечивым.
Описанный пример нахождения объяснений неисправности автомобиля свидетельствует о том, что существует достаточно много объяснений некоторого явления, которые желательно упорядочивать. Для этого в разработанный алгоритм абдуктивного вывода и введен расчет вероятностей найденных объяснений.
Абдукция и аргументация в логическомпрограммировании
Аргументационная семантика логических программ и еевычисление
Рассмотрим различные способы определения аргументационной семантики логических программ в соответствии с подходом Данга, Тони и Какаса. В общем случае аргументационная структура состоит из теории Р в некоторой базовой монотонной логике, множества гипотез-кандидатов Нур и бинарного отношения атаки между множествами гипотез (по терминологии авторов, 16 В.Н. Вагин и др.
вместо термина «поражение» будем использовать термин «атака»), удовлетворяющего следующим фундаментальным свойствам:
ни одно множество гипотез не может атаковать пустое множество гипотез;
атаки монотонны, т. е. для всех Л, Л', А, А' С Нур, если А атакует А, то если А С Аг, то А! атакует А, и если АСА', то А атакует А';
атаки компактны, т. е. для всех Л, А С Нур, если А атакует А, то существует конечное А' С А такое, что А! атакует А.
Будем считать, что отношение атаки определяется только на конечных подмножествах множества Нур. Различные примеры этой абстрактной аргументационной структуры соответствуют различным немонотонным формализмам. Для специального случая логического программирования Р — логическая программа, множество гипотез — это Нур = {not р | р — атом, не содержащий переменных, в эрбрановской базе программы Р}, и лежащая в основе логика — это классическая логика определенных хорновских программ. Данные программы получаются с помощью замены каждой негативной литеры в программе Р и во множестве гипотез Нур новым позитивным атомом. Мы будем обозначать эти программы тем же символом Р и отношение следования в этой логике — через |= (если не определяется иначе, мы будем предполагать, что программы, содержащие переменные, представляют множество примеров этих программ, не содержащих переменных, над заданным универсумом Эр- брана).
Для данной программы Р конъюнкция литер G (не содержащих переменных) — это немонотонное следствие Р по отношению к некоторой семантике тогда и только тогда, когда существует множество гипотез А, разрешенное в этой семантике такое, что Р U А |= G.
Различные виды семантики логических программ разрешают различные множества гипотез. Все виды семантики, которые будут рассмотрены, могут быть сформулированы в терминах следующего отношения атаки между множествами негативных литер, не содержащих переменных.
Определение 10.22, Множество гипотез А атакует другое множество гипотез А (по гипотезе not р) тогда и только тогда, когда Р U А |= р для некоторого not р в А.
Заметим, что это определение удовлетворяет всем указанным выше свойствам. Так как отношение |= компактно, то и атака компактна. Может быть бесконечно много атак на некоторое множество гипотез.
Пример 10.16.
Рассмотрим фундаментальную версию программы:
р q^xY not r(x) ^(succ(t)) 9(0) r(x)
и множество Ao = {not pY Существует бесконечно много конечных атак на До, т. е. {not r(0)}, {not r(succ(0))}, {not r(succ(succ(0)))} и т. п.
Предпочтительные расширения и семантика допрстимости. Предпочтительные расширения и частично устойчивые модели определяются по максимальным допустимым множествам гипотез. В рамках абстрактной аргументационной структуры допустимые множества определяются указанным образом.
Определение 10.23. Множество гипотез Д допустимо тогда и только тогда, когда для всех множеств гипотез Л, если А атакует А, то А атакует Л-А.
Интуитивно, А допустимо тогда и только тогда, когда А может быть защищено от любой атаки А. Множество гипотез, атакующее само себя, не может быть допустимым, так как не существует атаки на пустое множество. В дальнейшем мы будем работать с допустимыми множествами гипотез, а не с предпочтительными расширениями. Любое допустимое множество гипотез «содержится» в некотором предпочтительном расширении, и поэтому для определения того, выполняется ли запрос в предпочтительном расширении и семантике частичных устойчивых моделей, достаточно определить, выполняется ли запрос в семантике допустимых множеств.
Пример 10.17.
Пусть имеется программа
s <— not Г
Г <— not 8
Множество Ai = {not s} допустимо, так как любая атака на Ai — это надмножество множества А2 = {not г}, которое атакуется множеством Ai. Аналогично, А2 является допустимым. Но множество Ai U А2 не допускается, так как атакует само себя. Следовательно, множества Ai и А2 максимально допустимы и соответствуют предпочтительным расширениям Р.
Пример 10.18.
Рассмотрим программу из примера 10.17, дополненную правилом q not s. Ao = {not q} не допускается, так как оно не атакует атаку 16*
{not s}. Но множество Aq U D. где D = {not г} допустимо, так как оно атакует атаку {not s} (и, следовательно, все атаки на До U D. так как любая из них содержит not s). Если множество До дополнить множеством D. то можно получить допустимое (и предпочтительное) множество {not q. not г}.
Множество D играет роль защиты для Aq. Вообще, построение допустимого множества А может быть выполнено по шагам, начиная от заданного множества гипотез До, с помощью добавления к До подходящих защит. Существование нескольких допустимых (и предпочтительных) множеств гипотез обусловливает существование нескольких подходящих защит для заданного множества До, и в результате необходим недетерминированный выбор защит в теории доказательства.
Пример 10.19.
Добавим к программе из примера 10.17 правила
t not q q <— not s q <— not r
Тогда оказывается, что множество До = {not Д не допускается, но До U D^ где Di = {not г} и Aq U D2, где D2 = {not s} допускаются (и являются предпочтительными).
На самом деле не каждая потенциальная защита может быть применена к Aq.
Пример 10. 20.
Рассмотрим программу
8 <— ПО1 Г
г <— not г
Множество Aq = {not s} не является допустимым, так как атака А = = {not г} на До не атакуется множеством Aq. Множество D = {not г} может быть возможной защитой для Aq, так как атакует А. Более того, D содержится в каждой возможной атаке на А. Однако Aq U D не допускается, так как D и, следовательно, До U D атакует само себя (не существует допустимого надмножества для До).
Устойчивые теории и семантика слабой устойчивости. Устойчивые теории получаются из максимальных слабо устойчивых множеств гипотез. Они определяются в абстрактной аргументационной структуре приведенным ниже способом.
Определение 10.24* Множество гипотез А слабо устойчиво тогда и только тогда, когда для всех множеств гипотез А, если А атакует А, то A U А атакует А-А.
Интуитивно, атака А на А может быть использована в конъюнкции с А, чтобы защитить А от 4. Заметим, что аналогично случаю допустимых множеств, множество гипотез, которое атакует само себя, не может быть слабо устойчивым.
Тривиально, любое допустимое множество гипотез слабо устойчиво, но не наоборот (см. пример 10.20). Мы уже видели, что А = {not s} не является допустимым для программы из этого примера. Однако А слабо устойчиво, так как любая атака А на А — это надмножество {not г}, которое атакуется самим {not г} и поэтому — A U А. А — также максимальное слабо устойчивое множество, соответствующее устойчивой теории Р.
Можно доказать, что любое слабо устойчивое множество гипотез «содержится» в некоторой устойчивой теории. В дальнейшем мы будем заниматься вычислением лишь слабо устойчивых множеств гипотез.
Семантика приемлемости. Семантика допустимости и слабой устойчивости — частные случаи более общей аргументационной семантики приемлемости. Формально, приемлемость определяется как наименьшая фиксированная точка оператора F на множестве всех бинарных отношений, определенных на множестве гипотез Нур. Этот оператор можно охарактеризовать с помощью следующего неформального рекурсивного определения приемлемости: «Множество гипотез А приемлемо по отношению к другому множеству гипотез Ао тогда и только тогда, когда для всех множеств гипотез А, если А атакует А—Ао, то А не является приемлемым по отношению к A U Ад». Можно привести и еще одно определение.
Определение 10.25. Множество гипотез А приемлемо по отношению к другому множеству гипотез Ао тогда и только тогда, когда для всех множеств гипотез А, если А атакует А—Ао, существует множество гипотез D такое, что D атакует A-(AU Ао) и D приемлемо по отношению к A U A U Aq. Множество гипотез приемлемо тогда и только тогда, когда оно приемлемо по отношению к пустому множеству гипотез.
Следовательно, приемлемость — это бинарное отношение на множестве гипотез Нур с центральным понятием «А приемлемо по отношению к Ад», где Ад может рассматриваться как множество специально выбранных гипотез (контекст), относительно которых исследуется приемлемость А.
Базовый случай для приведенного рекурсивного определения определяется следующим образом:
(ВС1) множество гипотез А приемлемо по отношению к другому множеству гипотез Aq, если не существует множества гипотез А, атакующего (A—Aq). (В частности, так как не может быть атак
против пустого множества гипотез, то условие ВС1 выполняется, когда А — Ао = 0);
(ВС2) А приемлемо по отношению к Ао, если А С До.
Отметим, что множество гипотез А, атакующее само себя, не может быть приемлемым, так как не существует атаки на пустое множество.
Формулировка приемлемости в определении 10.25 сразу же приводит к следующему утверждению: «Слабо устойчивые и допустимые множества гипотез приемлемы».
Подобно случаю допустимых и слабо устойчивых множеств, множество D в определении семантики приемлемости играет роль защиты против атаки А. Теория доказательства для данной семантики строит приемлемые множества А с помощью постепенного наращивания подходящим образом исходных подмножеств множеств А гипотезами-защитами для того, чтобы гарантировать приемлемость А. Более того, снова выбор подходящих защит является недетерминированным, и некоторые возможные защиты могут оказаться неподходящими. Однако в случае приемлемых множеств существует дополнительный вид недетерминизма, состоящий в отделении тех частей выбранных защит, которые могут быть помещены в заключительные множества А. Это иллюстрируется следующим примером.
Пример 10. 21.
Пусть дана программа
р <— not qq not t,
причем и Ai = {not p, not t} и A2 = {not p} приемлемы. В самом деле, нетрудно видеть, что Ai допустимо, и, следовательно приемлемо. Более того, все атаки на А2 содержат not q. и можно показать, что они неприемлемы по отношению к А2, используя тот факт, что атака {not q^ неприемлема по отношению к А2, что доказывается следующим образом:
{not q^ приемлемо по отношению к А2, только если существует защита D. атакующая Л-({not q}uA2), где А = {not t} атакует {not g}-A2={not q^ и такая, что D приемлемо по отношению к {not q}uA2 U Л;
но Л-({not g}uA2)={not t} и не существует атаки против {not Г}.
В этом примере при заданном исходном множестве А2 = {not р} потенциальная защита {not Г}. выбираемая для доказательства того, что атака {not q^ против А2 не приемлема по отношению к А2, может добавляться, а может и нет, ко множеству А2 для того, чтобы построить приемлемое множество, так как в обоих случаях результирующее множество приемлемо.
Пример 10. 22.
Дана программа
р <— not q
q <— not гг <— not ss <— not q.
Для этой программы множество А = {not q^ приемлемо. Действительно, все атаки против А содержат not q. и может быть показано, что они неприемлемы по отношению к А, с учетом того факта, что атака Ai={not q^ неприемлема по отношению к А, который доказывается следующим образом:
Ai приемлемо по отношению к А, только если существует защита D. атакующая A-(Ai U А) = {not г}, где А = {not г} атакует Ai — А, и такая, что D приемлемо по отношению к A U Ai U А = = {not г, not q. not р};
любое такое множество D должно содержать not s и является приемлемым по отношению к A U Ai U А, только если существует защита D\ атакующая A'-(A U Ai U А) с Аб = {not q^ атакующим D-(A U Ai U А), и такое, что D' приемлемо по отношению к A U Ai U A U A’ U D.
но А'-^А U Ai U А) = 0 и следовательно, такого множества D' не существует. (Аналогично, множества А2 = {not г}, Ag = {not s} не являются приемлемыми).
В этом примере при заданном приемлемом множестве А = {not р} защита {not г}, выбираемая для доказательства того, что атака {not q^ против А неприемлема по отношению к А, не должна добавляться к А. Это необходимо на промежуточном уровне для защиты от атаки {not q^ и, хотя она приемлема по отношению к {not р, not q^ она неприемлема по отношению к пустому множеству и, следовательно, не может добавляться к А.
Семантика фундированных моделей. До сих пор мы рассматривали семантику логических программ, которая является доверчивой по природе и разрешает в общем случае более одного множества гипотез, а значит требует выбора при определении немонотонных следствий Р. Важной скептической семантикой для логического программирования, разрешающей лишь одно множество гипотез, является семантика wj-моделей. В рамках абстрактной аргументационной структуры, wj-модель может быть формально выражена как наименьшая фиксированная точка оператора F на множестве всех унарных отношений, определенных на множестве гипотез Нур. аналогично случаю приемлемости. Неформально рекурсивное определение дается следующим образом.
Определение 10.26. Множество гипотез А — wf-приемлемо тогда и только тогда, когда для всех множеств гипотез А, если А атакует А, то существует множество гипотез D такое, что D атакует А и D — w/-приемлемо.
Как и для случая приемлемости, множество D играет роль защиты для А. Базовый случай для гс/-приемлемости определяется следующим образом:
(ВС) множество А — гс/-приемлемо, если ни одно множество гипотез А не атакует А.
Рассмотрим программу из примера 10.21. И пустое множество, и множество Ao = {not Д являются гс/-приемлемыми, так как никакое множество гипотез их не атакует. Заметим, что пустое множество всегда гс/-приемлемо, так как на него не существует атак. Следовательно, множество Ai = {not р} — гс/-приемлемо, так как оно может быть защищено гс/-приемлемым множеством Aq. Действительно, каждая атака против Ai должна содержать гипотезу not q. которая атакуется множеством Aq. Наконец, множество Aq U Ai — w/-приемлемо.
Рассмотрим программу из примера 10.17. Ai = {not s} не является гс/-приемлемым. Каждая атака против Ai содержит гипотезу not г, которая может быть защищена лишь множеством гипотез, содержащим Ai. Это означает, что для того, чтобы Ai было w/- приемлемым, нам требуется гс/-приемлемость множества Ai. В результате оказывается, что Ai не может принадлежать наименьшей фиксированной точке соответствующего оператора F. Другими словами, гс/-приемлемость Ai не может быть сведена к базовому случаю ВС определения, т. е. ко множеству гипотез, которое не атакуется ни каким другим множеством. Аналогично, А2 = {not г} не является w/- приемлемым. Единственным гс/-приемлемым множеством является пустое множество.
Аналогичная ситуация возникает и для программы в примере 10.20. Множество {not г} не является гс/-приемлемым, так как оно атакует само себя, и любая возможная защита должна содержать саму гипотезу not т. Снова не может быть достигнут базовый случай ВС. Более того, множество {not s} не является гс/-приемлемым, так как любое множество, защищающее его, должно содержать not г, которое не может быть гс/-приемлемым. Следующее утверждение показывает связь гс/-приемлемости и гс/-модели.
Утверждение 10.2. Для данной логической программы Р:
Если М = ^1^ I-) — гс/-модель Р, то Ам = {not р \р Е — максимальное гс/-приемлемое множество.
Если А — гс/-приемлемо и Д+, I-) — гс/-модель Р, то /д = {р | р принадлежит эрбрановской базе программы Р и PU А |= р} С /+ и 7д = {р | not р Е А} С I-.
Непосредственное следствие второго утверждения: «Если А — максимальное wj-приемлемое множество гипотез, то (/д, /д) — w/- модель Р». Так как каждое wj-приемлемое множество гипотез «содержится» в wj-модели, мы можем ограничиться вычислением w/- приемлемых множеств гипотез.
Следующее утверждение обеспечивает свойство wj-семантики, полезное для определения теории и процедуры доказательства.
Утверждение 10.3. Множество гипотез А — wj-приемлемо тогда и только тогда, когда каждое множество гипотез А' С A w/- приемлемо.
Два рекурсивных определения скептической семантики w/- моделей и доверчивой семантики приемлемости очень похожи. Существенная разница между этими двумя видами семантики состоит в следующем: в то время, как в случае приемлемости защиты подтверждаются в контексте множеств гипотез (самого А, других защит и даже атак), в случае wj-приемлемости все защиты должны быть универсально подтверждены, независимо от того, защищают они гипотезы или атаки, в конце концов сводя их к защитам, которые не могут быть атакованы.
Таким образом, в то время, как теория доказательства для приемлемости может расширять исходное множество гипотез Aq с помощью некоторой защиты D (как показано в примере 10.18), теория доказательства для лД-приемлемости не расширяет Aq, а продолжает строить (вложенные) защиты до тех пор, пока для некоторой защиты не будет существовать ни одной атаки. Отметим, что в этом случае, как заключительная защита, так и каждая из «ранних» защит, являются wj-приемлемыми и, следовательно, объединение всех таких защит также wj-приемлемо.
Процедура доказательства для аргументационной семантики. Процедура доказательства основывается на семантике аргументации, сформулированной в терминах И-деревьев. Будем считать, что в дереве есть подветвь (от одного узла — вниз по направлению к другому), поддерево (с корнем в фиксированном узле). Узлы в дереве — это множества целей, и каждый узел помечен как «атака» или «защита». Термин «узел» обозначает или вершину дерева, или множество гипотез, связанное с этой вершиной.
Определение этих деревьев параметризовано по отношению к функции goal-branch, возвращающей для каждого дерева и узла в дереве множество гипотез. Деревья для допустимых, слабо устойчивых, wj-приемлемых и приемлемых множеств гипотез получаются с помощью различного выбора функции goal-branch. Для всех подобных вариантов выбора множество гипотез, возвращаемое функцией goal-branch для заданного дерева и заданного узла в дереве, — это подмножество объединения всех множеств гипотез по ветви дерева от корня к самому узлу, исключая этот узел.
Будем считать, что заданы программа Р и соответствующее множество гипотез Нур. Процедура доказательства работает непосредственно с программой Р, которая может содержать переменные. Но цель G и сгенерированное множество А не должны содержать переменных. Вообще говоря, процедуру доказательства несложно модифицировать, чтобы она, дополнительно к возвращаемым множествам гипотез, в качестве решения возвращала бы подстановки для переменных, так что ограничение для G не является существенным. Узлы в промежуточных деревьях для процедуры доказательства — это цели, которые могут содержать переменные и атомы. Используемые при этом деревья называются целевыми.
Определение 10.27. Пусть целевая ветвь (goal-branch) — это любая функция, такая, что для заданного дерева с целями в узлах и фиксированного узла в дереве она возвращает множество гипотез. Тогда целевое дерево (goal-tree) — это помеченное дерево Т, для которого справедливо:
(GT1) каждый узел — это цель, помеченная либо как цель-атака, либо как цель-защита;
(GT2) корень, помечен как цель-защита;
(GT3) каждый узел, помеченный как цель-атака, имеет единственного потомка, помеченного как цель-защита;
(GT4) каждый узел, помеченный как цель-защита, может иметь произвольное количество потомков, помеченных как цели-атаки;
(GT3-4) для каждого узла G — потомка узла G' существует гипотеза not р Е G' — goal-branch(T,GZ) такая, что Р U G |= р (здесь Р и G обозначают множество всех примеров, не содержащих переменных, а негативные литеры в G обрабатываются как атомы);
(GT5) каждая ветвь Т конечна.
Цели-атаки и цели-защиты в целевых деревьях лишь потенциально атакуют гипотезы своих родительских узлов. Действительные атаки получаются при редукции (с помощью резолюции) всех атомов в целевых узлах до гипотез. Если некоторые из атомов в целевом узле не могут быть редуцированы, то целевой узел не представляет никакой атаки на свой родительский узел. Более того, редукция может порождать некоторые неминимальные атаки.
Пусть дана программа
р <— not q
q not q. not r
и гипотеза not p. При редукции атома p вычисляется как минимальная атака {not q^ так и неминимальная атака {not q. not г}.
Процедура доказательства для различных видов семантики получается из общего определения вывода целей с помощью подстановки параметров goal-branch и extend-goal-root, а также с помощью использования и построения подходящей функции goal-culprits.
Определение 10.28. Пусть дано целевое дерево Т и узел N в Т такой, что ветвь из корня к N в Т — это Ло, N^ - - -, Nt = N для г ^ 0, тогда функция goal-branch определяется следующим образом:
wj-семантика: goal-branch(T,7V) = 0;
семантика допустимости: goal-branch(Т, N) = ^h\ h Е Nj И И Нур, у = 0,..., г — 1 и Nj — цель-защита в Т};
семантика слабой устойчивости и приемлемости:
goal-branch (Г, N) = {h\ h Е Nj П Hyp, j = 0,..., г - 1}.
Если N — корень, то goal-branch(Т, N) = 0 для всех видов семантики.
Определение 10.29. Для любого узла — цели N в данном целевом дереве Т, (N И Нур) — goal-branch(T,7V) — есть слабая часть узла N.
Если N — узел-атака, то любая гипотеза в слабой части N, атакуемая единственным потомком N в Т, — это виновник в N. Функция виновников (culprit) — это любая функция goal-culprits, действующая из множества целевых деревьев в степень множества Нур, такая, что для любого данного целевого дерева Т и любого целевого узла-атаки Од, не являющегося листом Т, goal-culprits (Г) содержит в точности одного виновника для Сд. Заметим, что goal-culprits не возвращает виновников для целей-атак, у которых нет потомков.
Определение 10.30. Для h Е Нур отношение extend-goal-root определяется следующим образом:
для w/-семантики extend-goal-root(К, по);
для семантики допустимости и слабой устойчивости extend-goal- root (Д,yes);
для семантики приемлемости extend-goal-root(h, yes), extendgoal-root (h, no).
Гипотезы в целях-защитах отбираются одна за одной в целевых выводах и никогда не добавляются к корню в гс/-семантике, всегда добавляются к корню в семантике допустимости и слабой устойчивости и могут добавляться, а могут и не добавляться к корню в случае семантики приемлемости. Для того, чтобы получить целевые деревья, ветви которых содержат перемежающиеся атакующие и защищающие целевые узлы, при выводе цели узлы могут не только добавляться в
целевые деревья, но и замещаться новыми узлами после выполнения резолюции.
В определении вывода цели, приводимом ниже, мы обозначим правило отбора литер в целевых узлах символом «3^». Мы будем предполагать, что правило Г безопасно, т. е. негативные литеры отбираются правилом Г лишь тогда, когда они не содержат переменных. Более того, будем предполагать, что каждый целевой узел G в целевом дереве разделен на две части: первая часть называется Galready — это множество гипотез, которое прозрачно для правила 3^. Отсюда, 3t(G) будет устанавливаться для 3^(G —Galready). Более того, 3t(G) = ± тогда и только тогда, когда (G — G?already) = 0.
Определение 10.31. При заданных goal-branch и extend-root вывод цели для не содержащей переменных цели G — это последовательность целевых деревьев Ti,... ,ТП такая, что Ti содержит лишь (непомеченный) корень СТ. являющийся целью-защитой, и при заданном р (z = 1,..., п — 1) дерево T^i строится по алгоритму построения целевых деревьев, приведенному ниже.
Алгоритм построения целевыж деревьев
Пусть имеется дерево Т\ (см. определение 10.31) и N — отобранный в нем узел (непомеченный), тогда дерево Т^-v находится следующим образом.
(а) Если N — цель-атака и 3£(TV) 7^ ±, то
•(c^atom) Если 3^(TV) = q. где q — атом, и Gi,... ,Gm(m > 0) — все резольвенты N по q (в программе Р), то T^i — это Т^ где N заменяется на Gi,..., Gm как узлы целей-атак, являющиеся потомками родителя узла N и £already = ... = G^ready = Walready.
Отметим, что если m = 0, то N удаляется из Тг и не появляется в T^+i. Это эквивалентно удалению потенциальной атаки (N^ которой не соответствует действительная атака.
• (<^naf) Если 3^(TV) = not q, где q — атом, то
если not q Е goal-branch^,TV), то T^+i — это Т^ с узлом ^already? замененным на TValreadyU{not qY
если not q ^ go al-branch (7^, TV), to 7)+i — это 7^, где
TV помечен;
not q записан как виновник TV;
{9} добавлен как (непомеченный) узел цели-защиты узла TV, и
(только для семантики приемлемости) для каждого узла цели- защиты D. отличного от родителя узла TV в ветви, ведущей к TV в
дереве Т\ и такого, что А — потомок узла D в ветви, содержащей N, a Ai,..., Ап — все потомки D. являющиеся надмножествами А в R расширенные узлы целей-атак Аб = Ли {not q^ Л^ = Ai U и {notqV„A = Am , U {not q^ добавляются как дополнительные (непомеченные) потомки узла D в Т^ь
ypalready _ ^already ^/already _ ^already ^/already _ ^already
Отметим, что первая гипотеза, отбираемая в узле цели-атаки, выбирается как виновник, и узел цели-атаки сразу же помечается. Следовательно, помеченные узлы атак-целей не могут быть множествами гипотез. Если N — цель-атака и 3t(N) = ±, то не существует дерева Tj+i, и узел N не может быть помечен (это соответствует неуспеху). Альтернативно, мы можем получить случай q^ для 3t(N) = ±, просто пометив N (это также приведет к неуспеху в соответствии с определением 10.32).
Если N — узел цели-защиты, то
• (^±) Если 5t(N) = ±, то Т^1 — это R в котором N помечен.
Отметим, что узел цели-защиты помечается лишь тогда, когда все гипотезы в нем были сгенерированы (с помощью развертывания атомов) и переведены в часть already. Следовательно, помеченные узлы целей-защит — это множества гипотез.
•(^atom) Если 3t(N) = q. где q — атом, то необходимо выбрать резольвенту Gf узла N по q (в программе Р), и T^i — это R где N заменяется на узел цель-защиту G' и G,already = Walready
•(^naf) Если ^N^ = not q, где q — атом, то
если not q E goal-branch(Tj,AQ, to T^i — это R где Walready заменяется на yyalreadyj^ q^.
если not q ^ go al-branch (7^, TV), to
если extend-goal-root (not q. yes) и not q ^ culprits^), to 7^+i — это 7^, где
Nalready заменяется на ^already и {not q};
корень 7)+[ — это R = R U {not q^ где R — корень R R'already = ^already j {Rot qy и
^q^ добавляется как дополнительный узел цели-атаки, являющийся потомком R';
если extend-goal-root (not q. no) и (только для случая семантики приемлемости) not q ^ culprits(T^), где T^n - поддерево Т\ с корнем в то T^i — это Т^ где
^already заменяется на ^already j ^no^ g^. и
{q} добавляется как дополнительный узел цели-атаки, являющийся потомком N.
Заметим, во-первых, что extend-goal-root (not q. yes) применяется как в случае допустимости и слабой устойчивости, так и в случае семантики приемлемости. Во-вторых, extend-goal-root (not q. no) применяется как в случае wj-семантики, так и в случае семантики приемлемости. Проверка в случае extend-goal-root (not q. no) для приемлемости заключается в том, что отобранные гипотезы не появляются как виновники в поддереве ниже цели-защиты, и является необходимой, так как защиты строятся постепенно, и новое появление not q в узле цели-защиты может «вывести из строя» ранее выбранного виновника not q в ветви, расположенной ниже узла цели-защиты. Эта проверка отсутствовала в теории доказательства, но она аналогична проверке, необходимой при развертывании корня.
Нетрудно видеть, что выполняется следующее утверждение.
Утверждение 10.4. Каждое дерево в выводе целей является целевым деревом.
Определение 10.32. Пусть заданы goal-branch и extend-root, тогда успешный вывод цели для цели G (без переменных) — это конечный вывод цели Т1,..., Тп для G, где все узлы в Тп помечены и все листья в Тп — это цели-защиты. Если А — корень Тп, то мы будем говорить, что вывод цели вычисляет А по G.
Отметим, что так как каждый помеченный узел цели-защиты в выводе цели необходимо является множеством гипотез, то и А, вычисляемое в успешном выводе цели, — это множество гипотез.
Пример 10. 23.
Рассмотрим программу
w(A) not р^Х\ и(Х) р(Х) s(X),not q(X) q(X) not t(X)Xx,Y) У(3) 8(3) u(3,2)
На рис. 10.6 показан успешный вывод для G = {w(3)}, вычисляющий А = {not р(3), not t(3)} по отношению к выбору параметров для семантики допустимости, слабой устойчивости и приемлемости. Т) и Тз получены по 5atom-inary (литера, отобранная правилом 3^, подчеркнута). Т4 получается по 5па£-шагу. Т-) — это Т4 с помеченным корнем, которое получается по шагу 5_ь Т^ получается по шагу Qatom при
резольвировании р(3) со вторым правилом программы. Ту получается по шагу Qnaf. Т§ находится по шагу Jatom- T9 — по шагу 5naf, направляя not t(3) в корень. Тю — это Тд с удаленным правым узлом цели- атаки Д(3)}, выполненным по шагу Qatom (нет резольвент для t(3)). Тц — это Т12 с непомеченным узлом цели-защиты на втором уровне и получается это дерево по шагу 5atOm при отобранном п(3,У). Тц получается из Тц по шагу 5т-
G=M3)}
{notp(3), v£3j}
r3
{notp(3)}
T4
{notp(3)} №)}
T6
*{notp(3)}
{s(3), not g(3)}
*{notp(3)}
*M3),not9(3)}
(q(3)}
r8
*{notp(3)}
* {s(3), not ^(3)}
{not <(3). и(3,У)}
*{notp(3), not ^(3)}
*M3),not|9(3)} «3)}
{not ^(3), w(3,BJ
Г12
*{not/>(3), not t(3)}
*{$(3), not g(3)}
*{nottb)}
Рис. 10.6.
Утверждение 10.5. Дана цель G (без переменных), тогда, если существует успешный вывод цели, вычисляющий А из G по отношению к разрешенным вариантам параметров goal-branch и extend-goal- root, то А — решение для G по отношению к семантике, соответствующей выбору параметров (свойство состоятельности).
Процедура доказательства не является полной. Одна из причин неполноты — обычное возможное возникновение зацикливания. Другая причина, которая сохраняется даже в случае пропозициональных программ, следует из того факта, что успешные выводы должны быть конечными.
Пример 10. 24.
Рассмотрим программу: р р и множество {not pY Оно является допустимым, слабо устойчивым, приемлемым и wj-разрешенным. Однако процедура доказательства не может это определить, так как резолюция на шаге ctatom зацикливается.
Кроме того, рассмотрим программу из примера 10.16 и множество гипотез {not pY Оно является допустимым, слабо устойчивым, приемлемым и wj-разрешенным. Но процедура доказательства не может это определить, так как она не может определить, что каждая из бесконечного множества атак на {not р} контратакуется пустым множеством.
Чтобы справиться с неполнотой процедуры доказательства, необходимо интегрировать ее с конструктивными методами проверки отрицания и зацикливания. В случае, например, пропозициональных
программ следующий метод обнаружения циклов может быть легко включен в процедуру доказательства: если атака требует доказательства атома р. то {not р} добавляется как защита против атаки. Следовательно, на шаге QatOm с отобранным атомом р мы можем добавить в дерево {not р} как специальную цель-защиту. Тогда, если в защите этой гипотезы мы снова потребуем, чтобы р терпел неудачу в цели- атаке последующего шага <aatOm, мы можем использовать предыдущую защиту {not р}, и таким образом, прекратить цикл.
10.3.2. Роль аргументации в организации абдуктивного вывода
Теория аргументации может успешно применяться для организации абдуктивного вывода. Например, процедура доказательства, описанная в разд. 10.3.1.4, позволяет находить абдуктивное объяснение для целевого запроса G, который можно считать наблюдением, по теории Т — логической программе. Этим объяснением является множество гипотез-умолчаний А, которое необходимо добавить к исходной программе, чтобы в заданной аргументационной семантике можно было заключить G по теории Т. Рассмотрим пример.
Пример 10. 25.
Пусть теория описывает работу встроенного аккумулятора компьютера. Аккумулятор работает (w), если он не находится в режиме подзарядки (not с). Аккумулятор заряжается, если не разомкнута основная цепь питания (not и). Цепь питания считается разомкнутой, если напряжение в сети ниже заданного уровня (not п). Эта теория может быть представлена с помощью следующей логической программы Р: {w not с; с not щ и not п}.
Пусть абдуцентами являются {not с, not щ not п}. Найдем решение задачи абдукции для запроса Q = {w} и семантики допустимости. Дерево Т^ содержит единственный узел-защиту — корень {w}. Применяя правило для узла-защиты, когда L есть атом, получаем дерево Т2, содержащее лишь корень {not с}. Теперь можно применить правило для узла-защиты, когда L содержит отрицание по умолчанию. В результате дерево Тд — это дерево Т2, к корню которого добавлен узел-потомок атака {с}. Выбрав {с} текущим узлом в Тд, переходим к дереву Т4, в котором узел {с} заменен на узел-атаку {not п} как резольвенту узла {с} по программе Р. Применяя правило для узла атаки при L = not щ получаем из дерева Т4 дерево Т5: узел атаки {not п} помечается, потомком этого узла становится защита {п}. Дерево Тб находим, заменив по правилу для узлов-защит узел {п} на его резольвенту {not п} по программе Р. Для семантики допустимости разрешается добавлять гипотезы к корню, поэтому узел {not п} отмечается, и гипотеза not п добавляется к корню (корень дерева Ту содержит гипотезы {not с, not п}), дополнительным потомком которого становится атака {п}. Переходя к дереву Т§, обнаруживаем, что для
узла атаки {п} не существует резольвент по программе Р, то есть этой потенциальной атаке не соответствует действительная атака, поэтому в дереве Т^ атака {п} удаляется. Помечая корень в дереве Tg, так как он не содержит не обработанных ранее литер, получаем дерево Тд. На этом процедура успешно завершается, и абдуктивным объяснением запроса Q = {w} является множество гипотез {not с, not п}. Мы нашли, что аккумулятор работает, если он не находится в режиме подзарядки и напряжение в сети ниже заданного уровня.
Пример 10. 26.
Предположим, что теория описывает работу робота в некоторой сложной системе. Мы будем использовать следующие предикаты:
w(x,y,z) — робот может перейти из точки х в точку у, выполняя действие г;
р^ — запрещено покидать точку ж;
г (ж) — работа в точке х завершена;
s(x) — произошла авария в точке ж;
a(z,y) — переход в точку у с выполнением действия z невозможен;
Цу) — точка у недоступна;
с(г, у) — в точке у необходим результат действия г;
дЦ) — действие z должно быть выполнено как можно скорее;
к (у) — нахождение в точке у опасно;
q(x) — получен управляющий сигнал, требующий покинуть точку ж;
t(x) — в точке х робот работает автономно;
и(рцу) — в точке х получено информационное сообщение под номером у.
Применяя описанные предикаты можно предложить, например, такую программу
w(t, у, z) not р(х), х(х), not аЦ^ у)
(робот может перейти из точки х в точку у, выполняя действие г, если нет запрета покидать точку ж, работа в точке х завершена, и переход в точку у при выполнении действия z возможен)
«Цу) 6(y),not сЦ,^
(переход в точку у при выполнении действия z невозможен, если точка у недоступна и нет необходимости в выполнении действия z в точке у)
сЦ^у) дЦ^по! к(у)
(действие г необходимо в точке у, если действие г должно быть выполено как можно скорее и нахождение в точке у не связано с опасностью)
р(х) s(x),not q(x)
(запрещено покидать точку х, если в точке х произошла авария и нет управляющего сигнала, требующего срочно покинуть точку ж)
q(x) not t(x^ и(х, 2)
(получен управляющий сигнал, требующий срочно покинуть точку ж, если в точке х робот не работает автономно (без внешнего управления) и полученное в точке х информационное сообщение имеет код 2.)
(работа в точке р 3 завершена)
8(3)
(в точке р 3 произошла авария)
п(3,2)
(в точке р 3 получено информационное сообщение с кодом 2) г>(5)
(точка р 5 недоступна)
(действие р 7 должно быть выполнено как можно скорее.)
Пусть абдуцентами являются все умолчания для используемых предикатов. Найдем решение задачи абдукции для запроса G = = {w(3,2,2)} и семантики допустимости. Другими словами, известно, что робот перешел из точки р 3 в точку р 2, выполнив действие р 2. Необходимо выяснить, почему он смог это сделать. Дерево Д содержит единственный узел-защиту — корень {w(3,2,2)} (рис. 10.7). Деревья Т) и Тд получены по 5а£Ош-шагу (литера, отобранная правилом 3^, подчеркнута). Д получается по Да£-шагу. Т^ — это Т^ в котором узел-атака заменен на два атакующих узла по правилу Qatom. Тб получается по шагу Qatom, так как в программе есть факт s(3).
Д получается по шагу Qnaf. Т^ находится по шагу Jatom. Д — по шагу Jatom, так как в программе есть факт п(3,2). До — это T9 с добавленным к корню умолчанием not t(3) (использовано правило ^naf)- Дерево Тц — получено из До при применении правила 5naf- Для того, чтобы получить дерево Д2, было использовано правило c^atom- В результате построения деревьев Дд и Д4 выясняется, что для каждой атаки существует защита, и получается полностью помеченное дерево Д5. Процедура завершается успешно, корень последнего дерева содержит абдуктивное объяснение для исходного запроса G: {not р(3), not а(2,2), not t(3)}. Полученный результат говорит о том, что робот перешел из точки р 3 в точку р 2, выполнив действие р 2, потому что не было запрещено покидать точку р 3, переход в точку
G = {w(3,2,2)}
Л
{notp(3\ v(3), not «(2,2)}
Л
{not/7(3), not «(2,2)}
{notр(3), not а(2,2)}
T5
{notp(3), not a(2,2)}
(М3)} {not 9(3)}
T6
{not/7(3), not a(2,2)}
{nots£3)}
Т7
{not /7(3), not а(2,2)}
* {not 9(3)} {мЬ}
Л
{notp(3), not «(2,2)}
* {not 9(3)}
{not t(yp u(32A
T9
{not /7(3), not a(2,2A
* {not 9(3)}
{not М3)}
Ло
{notр(3), not «(2,2), not t(3A
* {not 9(3)}
*{noU(3)}
Л1
*{not/7(3), not «(2,2), not r(3)}
* {not 9(3)}(02)1
*{nott(3)}
^12
*{not/7(3), not «(2,2), not t(3A
1\\
*{notqr(3)} {6(2)} {notc(2,2)}
*{noH(3)}
Лз
*{not р(3), not «(2,2), not ^(3)}
* {not q(3)}{not c(22)}
*{nott(3)}
^12
*{not/7(3), not «(2,2), not ^(3)}
* {not 9(3)} {<2)} {not М2)} *{not/(3)}
*{not/7(3), not «(2,2), not ^(3)}
* {not 9(3)}
*{nott(3)}
Рис. 10.7.
р 2 с выполнением действия р 2 был возможен, и в точке р 3 робот не работал в автономном режиме.
Приведем результаты работы процедуры для других запросов в случае использования семантики допустимости:
наблюдение w(3,2,1) объясняется гипотезами not р (3), not а(1,2), not 6(3);
гипотезы not р(3), not а(7,5), not fc(5), not 6(3) объясняют наблюдение w(3,5,7);
если в исходную программу вместо факта г(3) добавить факт г(Х), то объяснением для наблюдения w(l,5,7) будут гипотезы not р(1), not а(7,5), not k(5).
Какас, Ковальский и Тони предложили использовать аргументацию для выполнения абдуктивного вывода, когда множество аб- дуцентов содержит не только умолчания, но и позитивные предикаты (абдуктивное логическое программирование). В соответствующей абдуктивной структуре применяются ограничения целостности. В искусственном интеллекте при представлении знаний ограничения целостности позволяют задавать допустимые состояния базы знаний. Если же рассматриваются логические программы, то применение
ограничений целостности дает возможность задавать, например, желательные свойства программ. В этом случае задача абдукции определяется следующим образом: «Для заданного множества предложений Т (представления теории) и предложения G (наблюдения), задача абдукции может быть охарактеризована как задача поиска множества предложений А (абдуктивного объяснения для G) такого, что
Г U А |= ^
Т U А удовлетворяет ограничениям целостности I».
Пусть <ДАД> — абдуктивная структура, где Р — программа, А — множество абдуцентов, I — множество ограничений целостности. В этом случае М(А) (А С Л) называется обобщенной устойчивой моделью структуры <ДАД> тогда и только тогда, когда М(А) — устойчивая модель для Р U А и М(А) |= I (здесь определяется смысл ограничений целостности). Напомним, что устойчивая модель М программы F, не содержащей переменных, определяется как такое множество атомов, не содержащих переменных, которое совпадает с минимальной моделью программы Рм, получающейся из Р по правилам
удалить из Р все правила, содержащие литеру not А, где А Е Мц
удалить все литеры вида not А из оставшихся правил.
После того, как определена обобщенная устойчивая модель, абдук- тивное объяснение наблюдения Q в структуре <Р, А, 1> определяется как любое подмножество А множества А такое, что М(А) — обобщенная устойчивая модель структуры <Р, А, 1> и М(А) |= Q. Процедура доказательства в этом случае содержит две фазы: абдуктивную фазу, в ходе которой выполняется стандартная SLD-резолюция, генерирующая гипотезы; и фазу непротиворечивости, состоящую в проверке того, удовлетворяют ли гипотезы ограничениям целостности. Эта процедура оказывается несостоятельной. Для достижения состоятельности было предложено использовать аргументационную семантику, единым образом работающую как с ограничениями целостности, так и с NAF (отрицанием как неуспехом) с помощью специально определенного понятия атаки. Если в программе Р заменить все негативные литеры not p(t) на p*(t) (в результате получится программа РД и положить А* = {р* | для V предиката р программы Р^ то можно определить новую абдуктивную структуру < РД А Е А* Д Е Р Д где I* — множество ограничений целостности вида: VX^[p(X)&p*(X)] и VХ[р(Х) V р*(Х)]. Тогда отношение атаки для аргументов Е и А можно определить следующим образом:
аргумент Е атакует аргумент А (Е attacks А) через NAF тогда и только тогда, когда Р* U Е Н р для некоторого р* Е А или а* Е Е для некоторого абдуцента а в А;
аргумент Е атакует аргумент А (Е attacks А) через ограничение целостности ДГ1& ... kLn) в I тогда и только тогда, когда Р* U Е h Li,..., L^-i, L^i^... ,Еп для некоторого Е^ в А.
В качестве иллюстрации применения теории аргументации для интерпретации абдуктивной процедуры доказательства рассмотрим пример из области диагностики. Предположим, что анализируется поведение некоторой системы. В ее работе обнаружено отклонение от нормального поведения, которое может вызывать некоторая неисправность А. Кроме того, известно, что текущие значения параметров системы можно установить с помощью двух контрольных тестов, причем тесты связаны соотношением: проверка первого теста считается успешной, если ничего не известно об успехе выполнения проверки второго теста. Второй тест успешен, если в системе имеется неисправность В. Невозможными являются ситуации, когда имеется неисправность А и успешна проверка первого или второго теста. Соответствующая логическая программа Р имеет вид
обнаружено-отклонениенеисправность_ Л;
успешен_тест_ 1 not у спешен _ тест _ 2;
успешен— тест_ 2неисправность_ В.
Ограничения целостности I задаются условиями
-^[неисправность_ А к успешен_тест_ 1];^[неисправность_А к успешен_тест_2\.
Множество абдуцентов А содержит: ^неисправность_А, неисправность-В}.
Пусть требуется найти объяснение для наблюдения обнаружено— отклонение. По программе находим, что возможной причиной наблюдаемого явления может быть неисправность_ А (то есть А={неисправность_Л}). Теперь необходимо проверить, не вызовет ли предположение о неисправности А противоречия. Для этого найдем контраргументы для аргумента {неисправность_Л}. Существует два таких аргумента:
{успешен— тест_ 2*}. Этот контраргумент атакует аргумент {неисправность _ Л} через ограничение целостности ^[неисправность_А к успешен_тест_ 1] в Г, так как по программе из у спешен _ тест _ 2* следует успешен_тест_ 1.
{неисправность_ В{. Этот контраргумент атакует аргумент {неисправность _ Л} через ограничение целостности ^[неисправность_А к успешен_тест_2\ в Г, так как по программе из неисправность- В следует успешен_ тест_ 2.
Атака аргумента {успешен_ тест_ 2*} контратакуется аргументом {неисправность— В} через NAF, так как предположение об истинности гипотезы неисправность— В влечет истинность утверждения успешен— тест_ 2. Гипотезу неисправность— В можно добавить ко
множеству А, так как единственная атака {неисправность_ В*} против этого аргумента тривиально контратакуется аргументом {неис- правность_В}. Но аргумент {неисправность-В{ атакует аргумент {неисправность-А{ (см. п. 2). Следовательно, множество А атакует само себя, что вызывает неуспех процедуры доказательства. Заметим, что если убрать второе ограничение целостности, то решением задачи абдукции будет множество А = {неисправность—А, неисправность-В}.
Если вместо семантики обобщенных устойчивых моделей для абдуктивной структуры использовать аргументационную семантику КМ-допустимости, то абдуктивная процедура доказательства становится состоятельной. Здесь множество гипотез А КМ-допустимо тогда и только тогда, когда для любого множества гипотез Е, такого, что справедливо отношение Е attacks А выполняется: аргумент А атакует аргумент (Е-А) лишь через NAF.
Заметим, что мы рассмотрели особенности решения с помощью аргументации задачи абдукции для случая, когда базовая теория представлена логическими программами. Если в качестве гипотез могут выступать лишь умолчания, для поиска абдуктивных объяснений можно использовать различные виды аргументационной семантики, для вычисления которых существует единая модель. В случае аб- дуктивного логического программирования применение аргументации позволяет справиться с проблемой несостоятельности обычной абдуктивной процедуры. Таким образом, теорию аргументации можно рассматривать как средство реализации абдуктивного вывода, позволяющее определять наилучшее абдуктивное объяснение как «выигравшее» в ходе определения статуса множеств гипотез-аргументов по правилам конкретной семантики при заданном отношении атаки. В настоящее время остается открытым вопрос о том, в каких случаях следует отдать предпочтение той или иной аргументационной семантике, какими свойствами обладают полученные абдуктивные объяснения.
Часть III
ИНДУКЦИЯ И ОБОБЩЕНИЕ
Как будто был к дверям подобран ключ.
Как будто был в тумане яркий луч.
Про «Я» и «Ты» звучало откровенье...
Мгновенье — мрак! И в бездну канул луч.
Омар Хайям
Глава 11
БАЗОВЫЕ ПРИНЦИПЫ ПОСТРОЕНИЯСИСТЕМ ОБУЧЕНИЯ И ПРИНЯТИЯРЕШЕНИЙ
Индукция и формирование индуктивных понятий играют большую роль в жизни людей. В отличие от дедуктивных выводов, хорошо изученных в настоящее время, индуктивные выводы гораздо хуже поддаются формализации. Индуктивный вывод, или обобщение, основан на построении некоторого общего правила (закона) на основании конечного числа наблюдаемых фактов. Индуктивные выводы, которые делает человек, достаточно тесно связаны со статистическими моделями; достоверность таких выводов в значительной степени зависит от полноты того набора фактов, которым он пользуется при формировании гипотез. Может ли компьютер выполнять аналогичную функцию — строить новые гипотезы на основе наблюдаемых фактов? Ответ на этот вопрос дает раздел искусственного интеллекта, исследующий проблемы индукции и обобщения. Поскольку нельзя ввести универсальные формальные правила, по которым делаются индуктивные выводы в науке и в повседневной жизни, определим круг проблем, рассматривающихся в этой части.
Прежде всего, из всех возможных задач, связанных с построением индуктивных зависимостей, выделим круг задач, называемых задачами индуктивного формирования понятий. К ним относятся задачи, которые моделируют возможность человека формировать описания, охватывающие множество примеров некоторого понятия. В основе процесса индуктивного формирования понятий лежит умение человека выделять некоторые наиболее общие или характерные фрагменты среди описаний отдельных примеров понятия, избавляясь от мелких,
незначительных характеристик, присущих конкретным примерам понятия.
Обычно люди пытаются понимать свое окружение, упрощая его. Создание подобной упрощенной модели называется индуктивным обучением. В процессе обучения человек наблюдает свое окружение и определяет взаимосвязи между объектами и событиями в этом окружении. Он группирует сходные объекты в классы и конструирует правила, предсказывающие поведение объектов такого класса.
Подобным образом может обучаться и компьютер. Изучение и компьютерное моделирование процесса обучения является одним из предметов исследования в области искусственного интеллекта, называемой машинным обучением (Machine Learning). Как правило, система машинного обучения пользуется не единичными наблюдениями, а целыми (конечными) множествами наблюдений сразу. Такое множество называется обучающим мнооюеством или обучающей выборкой.
Одной из практически ценных при поиске индуктивных закономерностей является добыча (анализ) данных из баз данных (Data Mining). Хотя извлечение знаний из баз данных является одной из разновидностей машинного обучения, существуют аспекты, существенно отличающие его от других приложений машинного обучения. Первое и главное состоит в том, что базы данных, как правило, проектируются без учета потребностей специалистов в области обобщения. Системам извлечения знаний приходится работать с уже готовыми базами данных, рассчитанными на нужды других приложений. В них вовсе не обязательно присутствуют атрибуты, которые могли бы облегчить процесс обучения.
Второе важное отличие состоит в том, что реальные базы данных достаточно часто содержат ошибки. В то время как для машинного обучения используются тщательно подобранные данные, алгоритмы извлечения знаний из баз данных вынуждены иметь дело с зашумленными и подчас противоречивыми данными.
Дальнейшим развитием этого направления стала разработка средств обнаружения знаний, представленных в базах данных в неявной форме (Knowledge Discovery in Databases). Такие средства и системы могут быть применены в машинном обучении, распознавании образов, при извлечении знаний для экспертных систем, и многих других задачах искусственого интеллекта.
В работах, посвященных созданию интеллектуальных систем, основанных на индуктивных методах, используются термины классификация и распознавание. Эти понятия, семантически близкие, на самом деле не однозначны. Под задачей распознавания будем понимать в первую очередь задачу формирования решающего правила, на основании которого объекты, принадлежащие классу, могут быть отделены от остальных. По сути, когда мы говорим о получении решающего правила, речь идет о создании алгоритма,
способного эффективно отличить объекты, принадлежащие классу, от прочих.
Решающее правило может быть задано по-разному. Прежде всего, любое решающее правило — это набор условий, которым должны удовлетворять примеры формируемого понятия. Способ задания решающего правила может быть различным (например, логическое выражение, дерево решений, набор продукционных правил), однако, как будет показано далее, достаточно легко можно перейти от одного представления к другому. Разрабатывая алгоритм формирования решающего правила, исследователь заинтересован в получении правила, наиболее достоверного или наиболее точно отражающего особенности примеров класса. Решающее правило также должно быть максимально компактным: правило, просто перечисляющее все свойства всех объектов обучающей выборки, не имеет ценности.
Задача классификации в рамках этой части будет пониматься нами как задача отнесения вновь предъявленных объектов, отличных от объектов обучающей выборки, к тому или иному классу на основе построенного решающего правила. Речь идет о проверке полезности полученного решающего правила на множестве контрольных примеров: правило, способное верно расклассифицировать только объекты исходной выборки, нельзя признать удачным.
Предлагается рассмотреть два метода обучения. В обучении с учителем учитель определяет классы и предлагает примеры объектов каждого класса. Система должна найти общие свойства объектов каждого класса, сформировав тем самым описание класса. Описание класса вместе с самим классом дает нам классифицирующее правило «Если <описание> то <класс> », которое может быть использовано для предсказания класса объектов, неизвестных системе ранее. Другой метод обучения — обучение без учителя — предполагает, что системе предъявляется совокупность объектов, не разделенных на классы. Количество классов также может быть неизвестным. Система должна сама определить классы объектов, основываясь на общих свойствах объектов из данного множества примеров.
В данной главе обсуждается применение методов индукции и обобщения в интеллектуальных системах различного назначения. Рассматривается структура таких систем. Обсуждаются реальные проблемы, стоящие перед разработчиками. Дается понятие объекта исследования, рассматриваются способы его описания.
Системы поддержки принятия решений
Системы поддержки принятия решений (английский эквивалент — DSS: Decision Support System) — это компьютерные системы, предназначенные для усовершенствования процесса управления предприятием или иным сложным объектом. Цель таких систем — обеспечение
быстрого и надежного анализа и визуализации деловой информации, синтез информации с целью получения новых знаний об объекте управления и выработки управляющих решений. Примером такой системы может быть система оперативно-диспетчерского управления в энергетике. Системы поддержки принятия решений для энергообъединения работают в режиме реального времени и являются основным звеном в комплексной системе защиты энергоблоков от ошибочных действий оперативно-диспетчерского персонала. В настоящее время для решения задач принятия решений при оперативном управлении энергообъектами (типа энергоблоков) атомных и тепловых электростанций и обучения лиц оперативно-диспетчерского персонала требуется более 100 интеллектуальных диалоговых систем поддержки принятия решений семиотического типа, внедрение которых, учитывая опыт западных стран, даст многомиллионный экономический эффект.
Системы поддержки принятия решений состоят из следующих основных структурных элементов:
хранилище информации (массив данных и знаний);
средства управления данными (накопление, хранение, манипулирование, защита и т. д.);
средства аналитической обработки данных (Data Mining);
средства синтеза управляющих решений (моделирование, прогнозирование, оптимизация, анализ альтернатив).
Большинство систем поддержки принятия решений относятся к системам оперативной (динамической) аналитической обработки (Online Analytical Processing или OLAP). Цель таких систем — обеспечить интерактивную обработку сложных запросов, а также последующий многопроходный анализ, чтобы предоставить пользователю возможность анализировать в оперативном режиме большие массивы разнообразных данных, выявлять взаимосвязи, определять тенденции развития событий и прогнозировать состояние объекта управления. Инструментарий систем поддержки принятия решений обычно включает в себя широкий набор средств статистического анализа данных, средства выявления тенденций и прогнозирования, а также функции моделирования, агрегирования и объединения данных, средства оптимизации.
Многочисленные попытки использовать традиционные системы оперативной обработки транзакций, так называемые OLTP-системы (Online Transaction Processing) для поддержки принятия решений, как правило, заканчивались неудачей по следующим причинам.
Данные, накапливаемые в недрах OLTP-систем, труднодоступны, обладают излишней подробностью, могут охватывать или слишком короткие временные интервалы, или, наоборот, формироваться в неподходящие моменты времени. Кроме того, между
различными транзакционными системами, как правило, не соблюдаются одинаковые правила именования, кодировки и измерения переменных. Для принятия решений такие «сырые» данные не годятся и требуют предварительной обработки.
Информация, необходимая для принятия решений, часто располагается на разных платформах (разные ОС, СУБД), отчего задача ее извлечения требует квалификации и опыта работы с разными СУБД, а также хорошего знания структур баз данных отдельных OLTP-приложений.
Уровень компьютерных знаний управленцев обычно относительно невысок, поэтому даже после того, как данные собраны и приведены к приемлемому для анализа виду, работать с ними напрямую конечный пользователь вряд ли сможет, так как для этого потребуется хорошее владение запросами на языке SQL — базовом средстве доступа к данным, используемым в OLTP- системах.
По этим причинам обеспечение менеджеров необходимой для принятия решений информацией обычно возлагалось на специальные информационные службы. Однако вскоре стало очевидным, что традиционная информационная технология, основанная на встраивании аналитических средств в транзакционные системы, «неповоротлива», ограничена и не может служить основой при построении систем поддержки принятия решений, обладающих таким важным свойством, как быстрота извлечения важной деловой информации.
Признанием этого факта стало рождение новой информационной технологии, технологии информационных хранилищ (Data Warehouse). В отличие от баз данных традиционных OLTP-систем, где данные подобраны в соответствии с конкретными приложениями, информация в информационных хранилищах ориентирована на задачи поддержки принятия решений. Это автономная, специальным образом организованная база данных, которая ориентирована на хранение информации, необходимой для принятия решений и оснащена OLAP-инструментарием.
Архитектура OLAP-системы определяется типом хранилища данных, на котором она основывается. Различают три вида информационных хранилищ.
Виртуальное (логическое) хранилище. В его основе лежит репозитарий метаданных, которые описывают источники данных (БД, внешние файлы и т. д.), SQL-запросы, процедуры обработки и представления информации. Доступ к ним обеспечивает программное обеспечение промежуточного слоя (middleware). Избыточность данных минимальная, пользователь-аналитик работает фактически с «живыми» данными OLTP-систем, что
сопровождается снижением их производительности и реальной угрозой нарушения их работоспособности.
Централизованное хранилище. Это самый распространенный способ организации OLTP-систем. В качестве СУБД обычно используются либо профессиональные реляционные, либо многомерные СУБД, специально приспособленные для построения OLTP-систем. Наполнение централизованного хранилища производится из баз данных транзакционных систем и внешних источников путем обработки (компиляции) первичных, «сырых», детальных данных.
Распределенное информационное хранилище. Такая форма свойственна крупным организациям с большим числом удаленных филиалов, являющихся автономными центрами принятия решений. В этом случае для каждого управленческого уровня открывается свой фрагмент информационного хранилища, называемый информационной витриной (data mart) и реализуемый в виде отдельной локальной базы данных, куда копируется из центрального хранилища только та информация, которая необходима для данного подразделения.
В настоящее время распространены в основном два принципа организации архитектуры OLTP-систем: на основе многомерных баз данных (MDDB или Multidimensional Database) и на основе использования реляционных баз данных (ROLAP или Relational OLAP). Многомерные базы данных преобразуют содержимое хранилищ данных таким образом, чтобы информация была представлена в виде многомерного «куба» (гиперкуб или поликуб), для чего предварительно производится множество вычислений (консолидация, фильтрация, форматирование и т. д.) над данными, содержащимися в разных транзакционных OLTP-системах, в итоге образующих многомерные представления данных, которые хранятся как части указанного куба. В ROLAP-системах функции поддержки принятия решений реализуются в виде надстройки над реляционной СУБД. Благодаря гибким и мощным инструментам оптимизации запроса, присущих реляционным СУБД, сервер ROLAP создает многоуровневую архитектуру, в рамках которой клиент ROLAP имеет дело с многомерными представлениями данных (типа «звезды», метаданные). Каждая из этих двух архитектур имеет свои преимущества и недостатки.
Компания Red Brick Systems, известная своими продуктами по организации и эксплуатации хранилищ данных, опубликовала документ, в котором сформулировала 10 требований, которым должна удовлетворять реляционная СУБД, чтобы ее можно было назвать сервером информационного хранилища.
Скорость загрузки (Load Performance). Необходимость периодической загрузки новых данных в хранилище в узких временных
рамках требует, чтобы производительность процесса загрузки составляла сотни миллионов записей (несколько Гбайт в час), и она не должна становиться причиной искусственного ограничения размера хранилища.
Технология загрузки (Load Processing). Чтобы загрузить или откорректировать данные в хранилище, требуется произвести целый ряд действий: преобразование данных, фильтрацию, переформатирование, проверку целостности, организацию физического хранения, индексирование и обновление метаданных. Все эти действия должны выполняться как единая и неделимая операция.
Управление качеством данных (Data Quality Management). Анализ реальных явлений предъявляет высокие требования к качеству данных. В хранилище должна быть обеспечена локальная и глобальная согласованность, а также ссылочная целостность, даже при наличии огрехов в исходных базах данных.
Скорость обработки запросов (Query Performance). Интерпретация реальных явлений и анализ текущей ситуации не должны замедляться или становиться практически невозможными из-за низкой производительности реляционной СУБД. Сложные запросы, важные для принятия решений, должны обрабатываться за секунды или минуты, но ни в коем случае за дни.
Масштабируемость в широких пределах (Terabyte Scalability). Применяемая РСУБД не должна иметь никаких архитектурных ограничений на размер хранилища данных. От нее требуется поддерживать модульную и параллельную обработку, сохранять устойчивость к локальным авариям, при этом скорость обработки запроса должна зависеть от его сложности, а не от размеров хранилища.
Обслуживание большого числа пользователей (Mass User Scalability). Сервер БД должен поддерживать сотни и даже тысячи конкурирующих пользователей без снижения скорости обработки запросов.
Сети хранилищ данных (Networked Data Warehouse). Часто несколько локальных хранилищ (Data mart) взаимодействуют в более крупной сети хранилищ данных. Сервер должен обеспечивать координацию перемещения данных между такими хранилищами, а пользователь должен иметь возможность обращаться к нескольким хранилищам с одной клиентской станции.
Администрирование (Warehouse Administration). Администраторы должны быть способны выполнять свои функции в сети хранилищ из одного физического центра. Очень большие масштабы хранилищ и временная цикличность требуют наличия гибких и удобных средств администрирования РСУБД.
Интегрированные средства многомерного анализа (Integrated Dimensional Analysis). Для обеспечения высокопроизводительной аналитической обработки в базовой РСУБД необходимо иметь средства, поддерживающие работу с многомерными данными: удобные функции вычисления агрегированных показателей и инструменты, автоматизирующие генерацию таких предварительно вычисленных агрегированных величин.
Развитые функции формулирования запросов (Advanced Query Functionality). Конечным пользователям необходимы мощные и в то же время простые в использовании средства для выполнения аналитических расчетов, последовательного и сравнительного анализа, а также для согласованного доступа к детальной и агрегированной информации. Желательно, чтобы эти средства были встроены в РСУБД и не требовали использования языка запросов SQL.
OLAP-технология тесно связана с методами математической статистики и полезна для проверки заранее сформулированных гипотез и предварительного анализа данных. Следующим этапом развития процесса анализа данных стала разработка систем, предназначенных для трансформации данных, накопленных в информационных хранилищах или витринах (Data Mart), в информацию, способную помочь в принятии правильных решений.
Задачи извлечения знаний из баз данных
В разные годы понятию поиска полезных закономерностей среди необработанных («сырых» данных) было дано множество названий, включая обнаружение знаний в области баз данных (Knowledge Discovery in Databases, сокращенно KDD), анализ данных (Data mining), извлечение знаний (Knowledge Extraction), обнаружение информации (linformation Discovery), сбор информации (Information Harvesting), археология данных (Data Archaeology), обработка моделей данных (Data Pattern Processing). Термин обнаружение знаний в области баз данных (или KDD) был введен в 1989 г. и описывает широкий процесс поиска данных, в особенности, высокий уровень применения основных методов поиска данных. Термин Data mining используется главным образом статистиками, аналитиками данных и в системах управления информацией, в то время как KDD по большей части используется в области искусственного интеллекта и в исследованиях по машинному обучению.
Системы обнаружения знаний в базах данных (KDD) являются объектом интереса для специалистов в области машинного обучения,
распознавания образов, баз данных, статистики, искусственного интеллекта, сбора данных для экспертных систем и наглядного представления данных. Системы KDD разработаны на основании методов, алгоритмов и технологий, взятых из различных областей. Общей целью является извлечение знаний из данных, хранящихся в больших базах данных.
В областях машинного обучения и распознания образов KDD частично совпадает с системами Data mining. Системы обнаружения знаний нацелены на разработку теорий и алгоритмов для выявления образов или классов, которые можно интерпретировать как полезные и интересные знания. У таких систем также много общего со статистикой, со специальным исследовательским анализом данных. Системы KDD всегда располагают встроенными конкретными статистическими процедурами для моделирования данных и подавления шума в данных.
Рис. 11.1.
Процесс обнаружения знаний в базах данных является интерактивным и итеративным, состоит из нескольких этапов, каждое последующее решение принимается пользователем самостоятельно. Авторы Брахман и Ананд излагают практический взгляд на процесс KDD, подчеркивая взаимодействующую природу данного процесса. Процесс обнаружения знаний может включать в себя повторения и допускает возврат с одного этапа к другому по нескольку раз. Основные этапы процесса KDD (без учета возможных повторений) представлены на рис. 11.1. Большая часть предварительной работы над процессом KDD сосредоточена на этапе Data Mining или извлечения данных. Однако остальные этапы также крайне важны для успешного функционирования процесса KDD. Рассмотрим более детально шаги этого процесса.
Исследование и осмысление прикладной области, или первичных знаний, из которых надо извлечь информацию, а также формулирование целей пользователя.
Формирование планового набора данных, как множества (подмножества) объектов, на которых возможно использование процедур обнаружения знаний.
Предварительная подготовка и обработка данных: общие операции, такие, как устранение шумов (помех), сбор необходимой информации для моделирования и оценивания шумов (помех), выбор стратегий обработки областей с неполными данными.
Планирование и предварительная обработка данных: выявление полезных особенностей для представления данных в зависимости от поставленной цели. Используется снижение размерности информации и методы преобразования для снижения рассматриваемого числа переменных или поиск инвариантов для представления данных.
Определение задачи Data Mining: в зависимости от конечной цели это может быть классификация, регрессия, кластеризация и т. и.
Выбор алгоритма, решающего задачу Data Mining: задачу поиска классов, образов в предъявленных данных. При этом необходимо учитывать как особенности данных, так и пожелания пользователя.
Собственно Data Mining: поиск интересных для пользователя зависимостей в одной (или нескольких) из возможных форм — в виде классификационных правил, деревьев решений, регрессионных схем, кластеризации и т. и.
Интерпретация выявленных классов, образов. Возможно, при желании, возвратиться к любому из семи предыдущих этапов для выполнения новой итерации.
Консолидация выявленных знаний: добавление новых знаний в базу знаний какой-либо функционирующей системы, либо документирование результатов и предоставление их пользователю в виде отчета. При этом необходимо проверить полученные результаты на предмет конфликта с уже существующими (добытыми ранее) знаниями.
Одной из наиболее важных задач, решаемых в рамках систем KDD, является задача Data Mining. Data Mining включает в себя подборку моделей, а также выявление классов из предъявленных данных. Выбор модели существенно влияет на полученные в итоге знания, поскольку одной из составляющих общего процесса KDD является проверка того, сколь полно отражают принятые модели интересные и полезные знания. Отметим, что здесь часто приходится полагаться на
субъективное суждение человека относительно данного процесса. Существует два основных математических формализма, использующихся при подборке моделей: статистический подход, принимающий во внимание недетерминированные эффекты модели (например, /(ж) = = ат+е, где е может являться Гауссовской произвольной переменной), тогда как логическая модель является чисто детерминированной и не допускает двусмысленностей в процессе моделирования. Статистический подход в реальных системах Data Mining используется практически повсеместно, при этом всегда остается неуверенность в том, насколько соответствуют построенные объекты (классы) объектам, существующим в реальном мире.
Многие методы Data Mining базируются на концепциях машинного обучения, распознавания образов и статистике, а именно на классификации, кластеризации, построении графовых моделей и т. д. Класс алгоритмов для решения данных проблем очень широк, и проблема выбора конкретного метода может представлять сложность как для опытных аналитиков, так и для новичков. Кроме того, многие (если не все) методы, которые используются в Data Mining, могут быть рассмотрены как расширения или гибриды небольшого числа основных методов и принципов.
Две главные цели Data Mining можно сформулировать как прогноз (предсказание) и получение описаний классов объектов. При прогнозировании используются некоторые переменные или области баз данных, чтобы предсказать неизвестные или будущие значения других переменных, интересующих пользователя. Описание базируется на обнаружении классов данных, которые затем могут быть интерпретированы человеком. Построение описания класса включает нахождение зависимостей между данными, включенными в этот класс. В контексте KDD описание считается более важным, чем прогноз. Это контрастирует с распознаванием образов и применением машинного обучения (такого, как распознавание речи), где прогноз обычно является непосредственной целью.
Перечислим основные принципы решения задач Data Mining.
Классификация изучает способы построения функции, способной отнести элемент данных к одному или нескольким известным классам (классифицировать элемент). Классификационные методы могут использоваться в областях исследования поведения финансового рынка, автоматизированного выявления объектов в больших базах данных и многих других.
Регрессия изучает построение функций, способных связать предъявленный элемент данных с важной предсказывающей переменной. Существует множество примеров применения регрессии: прогнозирование прироста биомассы в лесу на основе микроизмерений, оценка вероятности смертельного
17 В.Н. Вагин и др.
исхода для пациента по результатам диагностических тестов, прогнозирование спроса на новый товар как функция рекламной компании.
Кластеризация (группирование) обычно относится к задачам определения — то есть получения конечного множества классов, групп, категорий описаний данных. Полученные классы могут быть взаимоисключающими (непересекающимися) или допускать более широкое представление в виде иерархии классов. В качестве примеров применения кластеризации можно назвать такие задачи, как обнаружение однородных подгрупп для пользователей маркетинговых баз данных, определение подкатегорий спектров инфракрасных измерений небесных тел. С кластеризацией тесно связана задача оценки плотности вероятности, которая формулируется как получение оценки возможной многомерной функции плотности вероятности всех переменных (полей) для базы данных.
Следующим этапом Data Mining является разработка алгоритмов для решения ранее сформулированных задач. Три главных компонента любого алгоритма Data Mining включают представление модели, оценку модели и метод поиска решения.
Представление модели — это язык для описания выявленных классов. Если представление слишком ограничено, тогда никакое количество подготовительного времени и никакое количество примеров не смогут обеспечить точную модель данных. Таким образом, важно, чтобы аналитик полностью осознавал представительное допущение, которое может быть присуще конкретному методу. Также очень важно, чтобы автор (разработчик) алгоритма точно указал, какое представительное допущение было принято конкретным алгоритмом. Заметим, что более мощные представительные средства для моделей повышают опасность чрезмерного соответствия полученного описания класса обучающему множеству, которое может закончиться снижением точности обнаруживаемых данных.
Оценка модели позволяет установить, насколько те или иные классы (сама модель и ее параметры) соответствуют критериям процесса KDD. Оценка предполагаемой точности основана на пересечении утверждений. Оценка описательного качества модели включает точность предсказания, новизну, практическую полезность и понятность подходящих моделей. Для такой оценки используются как логический, так и статистический критерии. Например, принцип максимальной вероятности выбирает параметры для модели, которая наилучшим образом подходит для тренажерных данных.
Метод поиска объединяет поиск параметров и поиск модели.
Здесь предусматривается поиск для параметров, которые надо оптимизировать, критериев оценки модели на основе исследуемых данных и фиксированного способа представления модели.
Поиск модели заключается в исследовании семейства моделей, для каждой из которых дается оценка с использованием метода поиска параметров. При реализации метода поиска модели обычно используются приемы эвристического поиска, т. к. размер пространства возможных моделей часто не позволяет (даже запрещает) применить полный перебор.
Рассмотрим наиболее популярные методы решения задач Data Mining в зависимости от того, какая модель представления знаний может быть выбрана.
Деревья решений и решающие правила имеют простую форму представления, что делает такие модели относительно несложными для пользователя. Однако ограничения для представления знаний в виде дерева или решающего правила способны существенно понизить функциональную форму (а значит и силу) самой модели. Усложнение модели делает ее более эффективной для предсказания, но одновременно может быть и более сложной для понимания пользователем. Существует множество вариантов нахождения решающих деревьев и решающих правил (алгоритмы для их построения будут подробно описаны в главе 13). Деревья и решающие правила используются для предсказательного моделирования, для классификации (этот подход используется в работах авторов Апта и Хонга, а также Файяда, Дьер- говского и Вэйра) и регрессии, хотя они в равной степени могут применяться для описательного моделирования, как показано в работе Агравала.
Методы нелинейной регрессии включают множество разнообразных приемов, ставящих целью прогнозирование соответствия тех или иных линейных и нелинейных комбинаций основных функций (сигмоидов, сплайнов, многочленов) с комбинациями вводимых переменных. Примерами являются нейронные сети, адаптивные сплайн методы, прогнозы последующих регрессий и т. д.
Методы, основанные на примерах, базируются на простых идеях. Для описания приближенной модели используется множество известных объектов из базы данных, удовлетворяющих некоторым требованиям. Далее новые объекты оцениваются по их сходству с этими «простыми» примерами. Сходство или различие выражается через расстояние в многомерном пространстве признаков. Такие методы сочетают в себе классификацию по методу «ближайших соседей», регрессионные алгоритмы, подобные алгоритмам, предложенным в 17*
1991 г. Дасарати, и системы вывода, базирующиеся на примерах, как описано в работе Колоднера, опубликованной в 1993 г. Для методов, основанных на примерах, важным является наличие метрики, хорошо разделяющей примеры в пространстве признаков.
Методы, основанные на примерах (так же, как и нелинейная регрессия), зачастую являются ассимптотически мощными по приблизительным характеристикам, но в то же время, бывает трудно интерпретировать результаты, поскольку сама модель «скрыта» в наборах данных.
Графовые модели определяют вероятностные зависимости, которые лежат в основе конкретной модели, использующей графовую структуру. Принципы работы с такими моделями изложены в статье Перла за 1988 г. и в более поздней работе Уиттекера. В своей простейшей форме модель определяет напрямую, какие переменные непосредственно зависят от других. Естественно, эти модели применимы для переменных с дискретными и категориальными значениями, но возможно и расширение для вещественных значений переменных в некоторых частных случаях. В задачах искусственного интеллекта данные модели были первоначально внедрены в рамках вероятностных экспертных систем, где структура модели и параметры (условные вероятности, связанные с дугами графа) задавались экспертами. За последнее время была проведена работа по созданию методов извлечения структуры и параметров графовой модели прямо из базы данных (авторами таких методов являются Бантайн и Хекерман). Критерии оценки модели базируются на байесовой форме. Первичные знания, такие как, например, частичное упорядочение переменных, базирующееся на причинных отношениях, могут быть очень полезными в сокращении пространства поиска для строящейся модели.
В то время, как деревья решений и решающие правила имеют ограниченное представление, в пропозициональной логике, реляционное обучение (известное также под названием индуктивное логическое программирование) использует более гибкие средства языка логики первого порядка. В подобных системах можно легко обнаружить такие формулы, как X = У. Многие научные исследования, направленные на поиск методов оценки модели реляционного обучения, являются логическими по происхождению.
Перечислим основные проблемы, возникающие перед разработчиками при исследованиях в области KDD.
Большие базы данных. Базы данных с сотнями полей и таблиц, миллионами записей и мультигигабайтными размерами в настоящее время являются обычными, и уже начинают появляться терабайтные (1012 байт) базы данных. Для работы с такими базами даных требуются специальные приемы, включая аппроксимационные методы и развитие мощных средств параллельной обработки.
Большая размерность. Часто встречается не только большое число записей в БД, но и очень большое число полей (атрибутов, переменных), поэтому важна проблема размерности. В случаях повышения размера поискового пространства возникают проблемы для представления модели (комбинаторный взрыв). Также повышается вероятность, что алгоритм Data Mining найдет фиктивные, ложные классы. Способ решения таких проблем — разработка методов для уменьшения размерности задач, а также использование информации, полученной ранее, чтобы выявлять «лишние» переменные.
Переполнение. Результат работы алгоритма может сильно зависеть от представительности входного набора данных. Если объем данных невелик, алгоритм может исчерпать данные, получив при этом плохую модель. Возможные решения включают в себя прежде всего статистические методы и стратегии.
Изменения данных и знаний. Быстрая смена (нестационарных) данных может сделать прежде сформированные классы неверными. К тому же переменные, определенные в данном приложении БД, могут быть со временем модифицированы, удалены или расширены новыми определениями. Возможные решения включают инкрементные методы для обновления классов и обработку изменений в данных, как средство для поиска изменений в классах.
Отсутствующие и зашумленные данные. Эта проблема особенно остра в деловых БД. В США данные переписи, по сообщению, содержат ошибки в 20% случаев. Важные данные могут быть потеряны, если БД не была разработана с расчетом на применение систем KDD. Возможные решения включают более сложные статистические стратегии для идентификации скрытых переменных и зависимостей.
Комплексные отношения между полями. Иерархически структурированные атрибуты или переменные, отношения между атрибутами и более сложные средства для представления понятия о содержимом БД нуждаются в алгоритмах, которые способны эффективно использовать подобную информацию. Исторически сложилось, что алгоритмы поиска в данных были разработаны для простых записей «атрибут-значение», хотя уже разрабатываются новые методы для анализа дифференцированных отношений между переменными.
Понятность классов. Во многих приложениях важно представить «открытые» знания наиболее понятным для человека образом. Возможные решения включают графические представления, правила структурирования с ориентированными ацикличными диаграммами, естественно-языковое представление и методы для визуализации данных и знаний.
Взаимодействие с пользователем и знаниями, полученными ранее. Многие реальные системы KDD не являются интерактивными и не могут использовать предшествующие знания о проблеме, кроме са-
мых простых случаев. Использование базовых знаний было бы крайне важно на всех шагах процесса извлечения знаний из данных.
Интеграция с другими системами. Одиночная система поиска знаний из данных не может быть очень полезной. Возникает проблема интеграции с системами визуализации, средствами чтения данных с сенсоров в реальном времени, средствами взаимодействия с СУБД.
Способы представления исходнойинформации в интеллектуальных системах
Человек, решающий задачу выбора целесообразного поведения в той или иной ситуации, прежде всего анализирует существенные и несущественные обстоятельства, влияющие на принимаемое решение. Процесс выделения существенных для данной задачи обстоятельств можно представить как разбиение входных ситуаций на классы, обладающие тем свойством, что все ситуации из одного класса требуют одних и тех же действий. Оценка входной ситуации человеком происходит на основе совокупности сигналов, поступающих от его органов чувств. На основании этих сигналов мозг вырабатывает команды, которые обеспечивают реакцию человека на ситуацию. Сигналы поступают от рецепторов (зрительных, тактильных и др.). Совокупность таких сигналов формирует представление человека о ситуации.
Вычислительная машина, на которой моделируется аналогичный процесс, должна обладать возможностью получать описание входной ситуации от внешних «рецепторов» в виде различных наборов данных. Очевидно, объем информации, который получает компьютер, несоизмеримо меньше объемов информации, с которыми имеет дело человек; кроме того, такая информация будет представлена исключительно в численной форме. Для того, чтобы эффективно оценить, относятся ли различные ситуации к одному классу, или, по-другому, к понятию, интеллектуальная система должна иметь возможность рассмотреть и оценить ряд конкретных примеров таких ситуаций, включенных в обучающее множество.
Обучение на основе примеров является типичным случаем индуктивного обучения и широко используется в интеллектуальных системах. На основе предъявленных примеров (и, возможно, контрпримеров) интеллектуальная система должна сформировать общее понятие, охватывающее примеры и исключающее контрпримеры. Источником примеров, на которых осуществляется обучение, может быть учитель — то есть лицо, которое заранее знает концепцию формируемого понятия и подбирает наиболее удачные обучающие выборки. Источником примеров для обучения может быть внешняя среда, с которой взаимодействует интеллектуальная система. В этом случае обучающие выборки формируются случайным образом в зависимости от внешних факторов. Обучение на таких выборках существенно
сложнее. Наконец, источником примеров для обучения может стать сама интеллектуальная система. Например, в случае взаимодействия интеллектуального робота с внешней средой действия самого робота могут привести к созданию обучающей выборки, то есть образуется множество сходных ситуаций с известными результатами, которые можно затем обобщить.
Если обучающие выборки содержат только положительные примеры формируемого понятия, обучение на таких примерах может привести к построению чрезмерно общих индуктивных понятий. Такие понятия смогут охватить все предъявленные примеры, но с их помощью бесполезно пытаться различить два близких объекта, принадлежащих на самом деле к разным классам. Гораздо эффективнее использовать для обучения множество, содержащее как положительные, так и отрицательные примеры некоторого понятия. При этом снижается риск получения чрезмерно общих индуктивных описаний.
Для системы машинного обучения принципиально важным является вопрос, что поступает на вход системы, в каком виде предъявляются примеры понятия, включенные в состав обучающего множества. Все рассмотренные ниже методы решения задач индуктивного построения понятий базируются на концепции признакового описания примера понятия, а именно: любой элемент обучающей выборки, который может быть представлен в системе, полностью определяется набором свойств, или признаков. Такое задание объекта исследования называется признаковым описанием объекта. Нами не рассматривается случай, когда необходимо сгруппировать по классам объекты, характерной чертой которых является наличие структуры: примером таких объектов могут быть химические соединения, кристаллические решетки, графы и др. Также мы не будем рассматривать случай, когда описание объектов классификации задано в виде формул исчисления предикатов первого порядка (описание ситуаций, семантических сетей и т.п.). Подобные модели описания объектов крайне интересны, но их рассмотрение выходит за рамки данной книги.
Традиционно объекты, рассматриваемые в рамках интеллектуальной системы, задаются в виде набора признаков. Описания различных объектов отличаются значениями признаков. Под обобщением обычно понимается переход от рассмотрения единичного объекта о или некоторой совокупности объектов О к рассмотрению обобщенного понятия D. которое
отображает характерные для этого множества логические отношения между значениями признаков;
является достаточным для разделения объектов, принадлежащих множеству, и объектов, ему не принадлежащих с помощью некоторого правила распознавания.
Для описания объекта будем использовать признаки Лт, Л2,..., Ап. Каждый объект о Е О характеризуется набором конкретных значений этих признаков (атрибутов) о = {«i, а2,..., ап}? где а^ — значение i-ro признака. Такое описание объекта называют признаковым описаниемпризнаками могут служить цвет, размер, форма, скорость, вес, цена и т.п. Обозначим через DOM^A^ множество допустимых значений i-ro признака: (ц Е DOM^A^. Формирование понятий по сути является процессом выделения закономерностей, свойственных множествам объектов.
Рассмотрим отдельные виды признаков. Основой для работы любой системы индуктивного формирования понятий является множество векторов признаков, описывающих объекты. Входной вектор X содержит компоненты яд, называемые далее признаками, или атрибутами объекта. Значения, которые могут принимать признаки объекта, относятся к трем основным типам: количественные, или числовые, качественные и шкалированные. То, какие значения принимают признаки, может оказать большое влияние на процесс обобщения.
В случае числовых признаков на множестве значений признаков может быть введена метрика, позволяющая дать количественную оценку значения признака. Это значит, что различные значения признаков можно сравнивать между собой в количественном плане. Часто такие значения являются результатом измерений физических величин, таких, как длина, вес, температура и др.
В случае, если признаки могут иметь качественный характер, но при этом их значения можно упорядочить друг относительно друга, говорят, что такие значения образуют ранговую или порядковую шкалу. Примерами таких шкал порядка могут быть ряды типа {большой, средний, маленький} или {горячий, теплый, холодный}. С помощью таких шкал порядка можно судить, какой из двух объектов является наилучшим, но нельзя оценить, сколь близки или далеки эти объекты по некоторому критерию.
Третий случай заключается в том, что значения признаков имеют чисто качественный характер, связать эти значения между собой не удается. Примерами таких значений могут быть цвет = {красный, желтый, зеленый} или материал = {стекло, дерево, пластмасса, железо}.
Рассмотрим пример задания обучающей выборки с разными типами признаков. Ниже представлена выборка описаний состояний нескольких больных, страдающих некоторым заболеванием, а также состояний людей, не страдающих этим заболеванием.
Пример обучающей выборки для К^ и К- приведен в табл. 11.1.
Каждая строка в таблице соответствует одному объекту классификации. Любой объект характеризуется семью признаками, среди которых есть количественные (температура), качественные (пол, что болит) и шкалированные (например, возраст). Выборки такого типа
Возраст
Пол
Стадия болезни
Что болит
Температура, °C
Прочие ощущения
1
Пожилой
Жен.
Средняя
Голова
36,6
Озноб
2
Пожилой
Муж.
Средняя
Голова
36,4
Озноб
3
Пожилой
Муж.
Поздняя
Голова
36,7
Озноб
4
Средний
Жен.
Начальная
Голова
37,8
Никаких
5
Пожилой
Жен.
Начальная
Нет
38,0
Нет аппетита
6
Пожилой
Муж.
Начальная
Спина
36,3
Нет аппетита
7
Пожилой
Муж.
Начальная
Нет
36,6
Нет аппетита
8
Пожилой
Муж.
Начальная
Голова
38,2
Озноб
Выборка К^
Таблица 11.1
Выборка К
Возраст
Пол
Стадия болезни
Что болит
Температура, °C
Прочие ощущения
1
Молодой
Муж.
-
Нет
36,6
Никаких
2
Средний
Жен.
Средняя
Живот
37,7
Тошнота
3
Пожилой
Жен.
Начальная
Руки
36,7
Никаких
4
Пожилой
Муж.
Поздняя
Ноги
36,4
Нет аппетита
являются исходными данными для алгоритмов распознавания и классификации.
Поскольку задача распознавания состоит в отнесении объекта к одному из классов признаков, одним из способов сравнения объектов является их сравнение на основе мер близости (сходства). Если известны объекты некоторого класса, то можно оценить меру близости объекта классу на основании значений меры близости (или сходства) данного объекта и объектов, принадлежащих классу. Объект следует отнести к тому классу, для которого мера близости максимальна.
Для числовых объектов мерой близости является расстояние. Расстояние Р(Х, У) между двумя объектами X и У может быть определено по одной из формул:
D2(X,Y') = \Xk - Ук\ ,
к=1
^(М У) = max \хк -ук\,
где X^Y — векторы (наборы) значений признаков двух объектов, х^^ У к — соответствующие значения k-го признака объектов, п — общее число признаков. В дальнейшем будем использовать обозначение D(X, У), когда расстояние можно ввести любым из перечисленных способов. Отметим, что если речь идет о расстоянии по Евклиду (формула РДХ, У)), будем применять также общепринятое обозначение
Признаки, характеризующие объект, можно рассматривать как детерминированные и вероятностные. Детерминированными признаками будем называть признаки, принимающие конкретные числовые значения. Достаточно часто для определения близости двух объектов используют значения признаков, не совпадающие с действительными, а предварительно подвергают эти значения масштабированию.
Приближенные, (размытые) признаки характерны тем, что при измерении значения такого признака возможны погрешности, то есть нельзя с уверенностью сказать, каково значение признака. Для приближенных признаков в качестве меры близости может быть использован риск, связанный с решением о принадлежности объекта классу.
Рассмотрим подробнее различные подходы к решению задачи об отнесении объекта к некоторому классу. Самым простым вариантом системы, решающей задачу распознавания, являются системы без обучения. В таких системах заранее известны классы, к которым могут относиться предъявляемые объекты, а также критерии отнесения объекта к классу. Примером такой системы может служить система автоматического контроля качества деталей. Предположим, что деталь характеризуется двумя признаками: это длина и диаметр. Существует два класса деталей — годные и бракованные. Деталь считается годной, если ее параметры удовлетворяют условиям: длина = 100 ± 5 мм, диаметр = 8 ± 0, 5 мм. Таким образом, нам известны как сами классы, так и критерии отнесения предъявленной детали к каждому из классов.
Более сложными являются системы с обучением. В системах с обучением не задан алгоритм разделения предъявляемых объектов на классы. Процесс создания и оптимизации такого алгоритма и называется обучением. Для обучения используется определенный набор объектов, называемый далее обучающим множеством или обучающей выборкой. Далее мы остановимся на рассмотрении систем с обучением более подробно.
В системах с обучением структура алгоритмов, классифицирующих объекты, тесно связана с видом информации, представленной в обучающей выборке. Будут рассмотрены два варианта обучающих выборок. В первом случае исходная информация, на основании которой создается искомый алгоритм, представлена в виде обучающего множества, не разделенного на классы. Это значит, что для объектов обучающего множества не задано, к каким классам они принадле-
жат. Таким образом, заранее неизвестны не только характеристики классов, но и их количество. Задача обучения сводится к разделению объектов выборки на группы объектов, «сходных» друг с другом (классы). Процесс построения алгоритма, разделяющего затем объекты по степени их сходства, называется обучением «без учителя». Примером задач такого типа могут быть задачи классификации растений, химических соединений, обработка статистических исследований и т. и.
В другом случае исходная информация представлена в виде множества объектов, для каждого из которых известно, к какому из классов он отнесен. При этом нам неизвестны критерии отнесения объектов к какому-либо классу. В случае, если в выборку вошли не все примеры классов, можно считать, что число классов также неизвестно. Здесь задача обучения состоит в построении алгоритма, позволяющего отнести предъявленный объект к одному из известных классов. Процесс построения такого алгоритма назовем управляемым обучением или обучением «с учителем». Будем считать, что алгоритм распознавания построен правильно, если для любого объекта из обучающей выборки он дает правильный результат.
Частным случаем алгоритмов обучения с учителем является задача формирования единственного обобщенного понятия на основе предъявленного множества примеров и контрпримеров данного понятия. Действительно, если объекты обучающей выборки относятся к классам К^ К^ ... Кп. мы можем рассмотреть
отдельно задачу построения алгоритма распознавания для класса К^ считая при этом объекты, принадлежащие классам К-^... Ki-i, ..., Кп. — контрпримерами.
Структурно-логические методы обобщения
В системах, моделирующих мышление, обобщение понимают как процесс получения знаний, объясняющих имеющиеся факты, и способных объяснять, классифицировать или предсказывать новые. В общем виде задача обобщения была сформулирована Михальским следующим образом: по совокупности наблюдений (фактов) F. совокупности требований и допущений к виду результирующей гипотезы Ни совокупности базовых знаний и предположений, включающих знания об особенностях предметной области, выбранном способе представления знаний, допустимых операторов, эвристик и др., сформировать гипотезу Н \ Н F (Н «объясняет» F).
Форма представления и общий вид гипотезы Н. а также выбранные модели обобщения зависят от цели обобщения и выбранного способа представления знаний. Согласно Михальскому, можно выделить модели обобщения по выборкам и модели обобщения по данным. В первом случае совокупность фактов F имеет вид обучающей вы-
борки — множества объектов, каждый из которых сопоставляется с именем некоторого класса. Целью обобщения в этом случае может быть
формирование понятий, то есть построение по данным обучающей выборки для каждого класса максимальной совокупности его общих характеристик;
классификация, или построение по данным обучающей выборки минимальной совокупности характеристик, которая отличала бы элементы одного класса от элементов других классов;
определение закономерности последовательного появления событий.
К моделям обобщения по выборкам относятся лингвистические модели, методы автоматического синтеза алгоритмов и программ по примерам. В моделях обобщения по данным априорное разделение фактов по классам отсутствует. Здесь могут ставиться такие цели:
получение гипотезы, обобщающей данные факты;
выделение образов на множестве наблюдаемых данных, группировка данных по признакам;
установление закономерностей, характеризующих совокупность наблюдаемых данных.
По способу представления знаний и допущений на общий вид объектов, вошедших в обучающую выборку, методы обобщения делятся на методы обобщения по признакам и структурно-логические (концептуальные) методы. В первом случае объект обучающей выборки представляются в виде совокупности значений косвенных признаков. Методы обобщения и распознавания различаются для качественных и количественных признаков. В формально-логических системах, использующих структурно-логические методы обобщения, вывод общих следствий из данных фактов называется индуктивным выводом. Правило вывода гипотезы Н из фактов F называют индуктивным если из истинности Н следует истинность F. а обратное неверно.
Гипотезы, полученные в результате индуктивного вывода, нуждаются в оценке разумности, достоверности. В ряде исследований для подтверждения или отрицания выдвигаемой гипотезы используются методы автоматического порождения новых элементов обучающей выборки, которые выдаются затем для классификации человеку- эксперту. Решающее правило переопределяется, пока не будет достигнута равновесная ситуация.
Рассмотрим кратко связь между задачей обобщения и классификации и задачами, решаемыми в рамках теории вероятностей и математической статистики. Фактически, в математической статистике также ставятся и решаются задачи вывода новых знаний на основании
анализа совокупности наблюдений. В статистике устанавливаются частотные закономерности появления событий, то есть определяются общий вид и параметры функций распределения вероятностей событий по данным наблюдений, делаются выводы о степени статистической зависимости наблюдаемых случайных величин, принимаются решения о выборе гипотезы, о характеристиках случайного события на основании применения байесовской процедуры последовательного анализа наблюдений. Общая задача формирования гипотез по данным наблюдений, рассматриваемая как одно из направлений развития интеллектуальных систем, не ограничивается установлением статистических закономерностей. Известны формально-логические модели выдвижения статистических гипотез, рассмотренные в работах Гаека и Гавранека.
Главной особенностью структурно-логических методов, в отличие от признаковых методов, является использование в обучающих выборках объектов, имеющих внутреннюю логическую структуру. Такими объектами могут быть последовательности событий, иерархически организованные сети, алгоритмические и программные схемы. Примеры таких объектов можно встретить в работах Р. Михальского, В. К. Финна, Д. А. Поспелова. Поскольку в следующих главах будут детально рассмотрены именно методы обобщения по признакам, в этом разделе мы остановимся подробнее на структурно-логических методах. Сначала обсудим методы индуктивного вывода в формальных исчислениях, а затем — методы обобщения на семантических сетях.
Основой каждой модели индуктивного вывода является набор правил (схем) индуктивного вывода. В работах Плоткина за основную схему вывода была выбрана схема индуктивной резолюции. Приведем эту схему в обозначениях, данных Михальским:
Р & Fi К
&|= Fi V F2 К
^p^f2^k
или в другой форме
Р ^ Fi К
V|= Fi & F2 К
^Р & f2 к
(знак |= обозначает отношение индуктивного следования).
Эта схема применяется в классическом исчислении предикатов первого порядка вместе с алгоритмом антиунификации. Результатом применения правила индуктивной резолюции к двум предложениям является их «наименее общее обобщение».
Михальский строил схему индуктивного вывода в рамках модификации языка исчисления предикатов первого порядка, включающей обобщенные кванторы и префиксную запись отношений равенства и неравенства. Помимо принципа индуктивной резолюции используются следующие схемы вывода:
СТХ & S К \= СТХ =ф К(селекция)
СТХ & [L = Д1] К |= СТХ & [L = Я2] К.
где Ry Т F2 Т DOM(L)(расширение)
СТ Ху К\= СТ Ху V СТХ2 =Ф к(добавление)
СТХ & [L = а] К
•••|= СТХ & \Т = [а,..., г]] К
СТХ & [L = г] К
(переход к интервалу)
FN
• • •|= \/vF(v)(классическая индукция).
В данных схемах СТХ обозначает контекстное описание свойств (атрибутов) некоторого индуктивного понятия, полученное ранее. Схемы вывода позволяют получить «более общие» описания интересующего нас понятия. Рассмотрим простой пример. Пусть СТХ соответствует описанию «объекты — круглые», S — «объекты — коричневые», а К обозначает понятие «мяч» (СТХ & S => К). Тогда на основании правила селекции можно получить более общее утверждение: «Круглые объекты являются мячами» (СТХ =4> К).
Схема формирования гипотез по обучающей выборке (метод «звезды») заключается в применении к множеству фактов и полученных утверждений всех возможных правил вывода (как индуктивных, так и дедуктивных). На каждом этапе поиска выбирается определенное количество наиболее «перспективных» согласно выбранным эвристикам гипотез. Процесс заканчивается, когда достигается цель обобщения.
Правила индуктивного вывода, используемые в ДСМ-методе, основываются на схемах, предложенных в работах Милля. Принципы установления причинно-следственных отношений, которые предложил Милль, основываются на идеях выделения сходства и различия в наблюдаемых ситуациях внешнего мира. Так, принцип единственного различия гласит: «Если после введения какого-либо фактора появляется, или после удаления его исчезает, известное явление, причем мы не вводим и не удаляем никакое другогое обстоятельство, которое могло бы иметь в данном случае влияние, и не производим никакого изменения среди первоначальных условий явления, то указанный фактор и составляет причину явления».
Схематически этот принцип можно описать так: пусть в ситуации, при наличии факторов а ,1ц с наблюдалось появление d: при наличии факторов 5, с явление d не наблюдалось. Ситуации, относящиеся к первой группе, назовем положительными примерами, а ситуации из второй группы — контрпримерами. Для исключения случая, когда d появляется случайным образом, требуется повторение событий первой и второй групп не менее п раз. Если п с точки зрения экспериментатора достаточно для уверенного вывода, то, используя принцип единственного различия, можно утверждать, что а является причиной, a d — следствием (между а и d имеет место причинно-следственное отношение).
Второй основополагающий принцип рассуждения Милля носит название принципа единственного сходства. Его можно сформулировать следующим образом: «Если все обстоятельства явления, кроме одного, могут отсутствовать, не уничтожая этого явления, то это одно обстоятельство находится в отношении причинной связи с явлением, при условии, что приняты были все меры к тому, чтобы никаких других обстоятельств, кроме принятых во внимание, налицо не оказалось».
Схематическое представление этого принципа Милля выглядит следующим образом. Пусть многократно (не менее п раз) при наличии факторов а,Ь,с наблюдалось появление d. Также наблюдалось не менее п событий, когда при наличии факторов а, Ь наблюдалось появление d. Также имела место группа событий (не менее п), когда наличие одного лишь фактора а приводило к появлению d. Здесь все примеры являются положительными. По принципу единственного сходства отсюда вытекает, что and связаны причинно-следственным отношением.
Еще один принцип, введенный Миллем, носит название принципа единственного остатка. Он гласит: «Если вычесть из какого-либо явления ту часть его, которая, согласно прежним исследованиям, оказывается следствием известных причин, присутствующих в явлении, то остаток явления есть следствие остальных причин».
Введем схему для пояснения принципа остатка. Пусть многократно (не менее п раз) при наличии факторов а,Ь,с наблюдалось появление d и е. Также многократно наличие факторов b и с приводило к появлению е. Следовательно, а и d связаны причинно-следственным отношением, а факторы Ь, с являются возможными причинами е.
При использовании методов индуктивных рассуждений, которые предложил Милль, важную роль играет способ выделения признаков, или фактов, посредством которых описывается ситуация. ДСМ-метод (или метод Джона Стюарта Милля) был реализован научной группой под руководством В. К. Финна. На основе этого метода можно строить различные интеллектуальные системы, способные к поиску скрытых закономерностей в процессе обучения.
Введем три множества: причины А = (щ, а-^ ... ар\ следствия В = (61,62, • • • Дт) и множество оценок Q = (Qi, Q2, • • •, Q/)- Выражение вида
^2 ^ ^j 5 Q^
будем называть положительной гипотезой. Такая гипотеза может быть выражена утверждением: «сц является причиной bj с оценкой достоверности д^» . Выражение вида
^27^^ bj*. д^
будем называть отрицательной гипотезой и свяжем его с утверждением «сц не является причиной bj с оценкой достоверности д^». Далее будем положительные гипотезы обозначать кратко как rA г j к, a
отрицательные — как ТГ г 3 к. Среди значений д^ выделим два специальных, которые можно обозначить как 0 и 1. Значение 0, приписанное положительной или отрицательной гипотезе, означает, что соответствующее утверждение является ложным. Приписывание гипотезам значения оценки, равного 1, означает, что данная гипотеза является тождественно истинной. Все остальные оценки, отличные от 0 и 1, будут представляться рациональными числами вида s/n, где величина п характеризует «дробность» используемых оценок достоверности. Отметим, что чем больше п, тем с большей точностью оценивается степень достоверности гипотез.
Суть ДСМ-метода в следующем. Рассматривается группа положительных примеров, в которых ищем некоторую часть описания объектов, общую для определенной совокупности примеров из группы. Если такие фрагменты описаний удалось выделить, они могут считаться кандидатами в причины. Таких кандидатов может быть несколько. Образуем матрицу М+, в которой строки соответствуют выделенным кандидатам щ, а столбцы — следствиям bj. На пересечении строк и столбцов будут записываться оценки достоверности д^ для гипотез п+ г з к. Для множества отрицательных примеров аналогично строится матрица М- содержащая оценки достоверности отрицательных гипотез тГ г з к. Отметим, что кандидаты в причины в матрицах М+ и М могут частично совпадать.
Для оценки обоснованности гипотезы в ДСМ-методе используется квантор lm, m Е {0,1/(п — 1), 2/(п — 1),..., 1}. Значение m = 1/(п — 1) соответствует гипотезам, достоверность которых неизвестна, значение m = 1 — истинным гипотезам. Если применяемое правило вывода подтверждает гипотезу, то значение m возрастает, если не подтверждает, то значение m уменьшается.
На каждом шаге работы ДСМ-метода множества положительных и отрицательных примеров могут пополняться. Новые наблюдения будут либо подтверждать, либо опровергать сформированные гипотезы. В этом случае оценки достоверности построенных гипотез надо либо увеличивать, либо, соответственно, уменьшать. Таким образом, в процессе накопления новой информации оценки гипотез или приближаются к 0 или 1, или ведут себя «неустойчиво». Гипотезы, достоверность которых стала меньше некоторого нижнего порога, могут исчезать из матриц М+ и М~. При достижении некоторого верхнего порога достоверности гипотеза может быть признана в системе как установленный факт.
Новые гипотезы формируются не только на основании выделения в примерах определенного сходства. Они могут использовать также метод различия. Различие в описаниях групп примеров может порождать гипотезы, включаемые в М+ и М~. Кроме того, в ДСМ-методе, помимо прямой реализации идей Милля, используются некоторые выводы по аналогии. Для этого на множестве описаний объектов вводится тем или иным способом понятие сходства. Если, например, речь идет о структурных формулах химических соединений, то мерой сходства для них может быть совпадение самих структур при различных химических элементах в их позициях, либо, наоборот, наличие в некоторых фиксированных позициях структуры одинаковых элементов. Существует в этом методе и правило отрицательной аналогии, а также градация тех и других правил по существенности сходства. Таким образом, ДСМ-метод демонстрирует возможность проведения правдоподобных рассуждений весьма широкого спектра.
Получивший широкую известность GUHA-метод позволяет формировать множество «всех интересных гипотез» о наблюдаемых данных. Гипотезы, порождаемые GUHA-методом, имеют вид ф^^ где ф и р — утверждения, имеющие единственную свободную переменную х, а знак «^» означает связывающий х ассоциативный или индуктивный квантор: х^ф^ф Выражение ф у) в зависимости от выбранного квантора может служить для представления широкого диапазона зависимостей между ф и у) (от логического следования, до статистической корреляции). Для утверждений специального класса метод позволяет сформировать такое подмножество гипотез, что все остальные следуют из них в соответствии с принятым набором правил вывода. Для оценки рациональности ответа на вопрос I индуктивного вывода вводится вероятностная мера наблюдения.
В качестве языка представления знаний (отдельно рассматриваются языки представления эмпирических и теоретических утверждений) используется модификация языка исчисления предикатов первого порядка с обобщенными кванторами. Каждому квантору q ставится в соответствие функция Asfq, вычисляющая значение его истинности на каждой модели < М, Д, Д,..., /п >, где М — непустое множество
из некоторого семейства 7И, а Д, Д,..., /п — набор логических функций, определенных на этом множестве.
Квантор д^ определенный на моделях < М^ф^р) >, называют ассоциативным в следующем случае. Пусть ам — количество элементов М, на которых ф и р) одновременно истинны, Ьм — количество элементов, на которых ф истинно, а р) — ложно; см • Ф ложно, ср истинно; бм- как ф, так и ip ложно.
Тогда если ам1 Ф ^M2^mi С Ьм2^см1 С см2^ и бмг Ф бм2, то для ассоциативного квантора условие Asfq < М^ф^р) >= 1, влечет Asfq < Mi, ф^р) > = 1. Определение импликативного квантора аналогично для условий ам1 Ф О-М2 и Ьм 1 С Ьм2-
Для задания GUHA-метода требуется определить ассоциативный или импликативный квантор ^, квантор эквивалентности О и еще ряд характеристик (например, запрет или разрешение использовать дедуктивные правила вывода). Особое внимание уделяется методам формирования гипотез ф ~ <р, таких, что ф представляет собой элементарную конъюнкцию, а р) — элементарную дизъюнкцию одноместных предикатов. С помощью языка, использующего понятие случайной модели < М^ Д, Д,..., /п >, где а Е Е — случайный параметр, вводится вероятностная мера достоверности гипотез и рассматриваются статистические гипотезы. Важный класс ассоциативных (и импликативных) кванторов образуют кванторы, функции Asf которых являются тестами для проверки статистических гипотез. GUHA-метод нашел применение в медицине, социологии, лингвистике, строительстве.
Применение аппарата семантических сетей для решения задач классификации и формирования понятий позволяет получать обобщенные представления множеств объектов, имеющие наглядную семантическую трактовку, и использовать в процессе обобщения семантику таких понятий, как «признак», «имя», «класс», «отношение». Роль языка представления наблюдений и классов (понятий) играет выбираемый формализм семантической сети.
Рассмотрим методы обобщения на сетях. Пусть Z — множество объектов. Каждый объект z Е Z представляется сетью, называемой семантическим графом, который включает вершины двух типов: объектные и предикатные. Объектной вершине приписывается имя объекта, имя базового класса объекта и вектор его признаков. Предикатной вершине приписывается имя отношения (возможно, с отрицанием). Семантический граф, предназначенный для представления объекта z Е Z. распадается на иерархически упорядоченное множество р-подграфов, служащих для представления объекта г, его частей (p-потомков), частей его частей и т.п.
Обобщенный семантический граф также представляется в виде набора обобщенных р-подграфов (ор-подграфов). Каждый ор-подграф предназначен для представления множества М = т(д) объектов. Объектной вершине первого уровня ор-подграфа приписывается имя множества М, имя базового класса Т: М С Т и совокупность р ограничений на изменения значений признаков объектов из М. Объектная вершина и второго уровня взвешена именем множества Mv, которое может быть получено из множеств, представимых на ор-подграфах применением к ним конечного числа операций объединения и пересечения. Предикатным вершинам ор-подграфов приписаны выражения логики исчисления высказываний, в которых роль высказываний играют имена отношений между объектами. На тг-предикатных вершинах обобщенного семантического графа отображаются отношения, выполняющиеся на множестве значений признаков различных объектов.
Обобщения д на семантической сети получаются применением к элементам д Е г+ операторов обобщения, таких, например, как удаление вершины из графа, замена значения признака множеством значений, замена имени отношения Q на предикатной вершине выражением L = Q V R. Часто обобщение формируется «от противного». За исходный элемент принимается «наиболее общий» граф р, покрывающий все элементы базового класса Т. Все остальные обобщенные семантические графы получаются в результате применения к д конечного числа ограничивающих операторов, таких, например, как ввод предикатной вершины, ввод конъюнктивного члена в предикатную вершину, удаление дизъюнктивного члена из предикатной вершины, сужение допустимого множества изменения значений признака. Процесс формирования обобщенных представлений классов ведется по уровням обобщенного семантического графа (согласно иерархии р-подграфов), начиная с нижних, методом ветвей и границ.
Рассмотрим несложный пример обобщения на семантической сети. Пусть имеются два утверждения:
«Если кусок железа 1 нагреть до температуры 1500 °C, то он расплавится».
«Если кусок железа 2 нагреть до температуры 2000 °C, то он расплавится».
Пусть BI — предикат «быть куском железа», HEAT — «нагреть», MELTS — «расплавиться». Тогда можно записать:
BI(bitl>HEAT(bit 1,1500 °C) MELTS(bitVp
В I(bit 2) ME AT (bit 2,2000 ° C)MELTS (bit 2).
Посылкам вывода в данных выражениях соответствуют семантические графы G1 и G2, представленные на рис. 11.2 а, б. Обобщен
ный семантический граф, соответствующий наименее общему обобщению графов G1 и G2, обозначим G0. Этот граф представлен на рис. 11.3. Обобщенному семантическому графу G0 соответствует предикат IGo (х, t\ эквивалентный выражению
ВЦх)МЕАТ(хЛ:^^ < t < 2000°C) и
Vx, t(IG0(x, t) =Ф MELTS^\
или «Если любой кусок железа нагреть до температуры от 1500 °C до 2000 °C, то он расплавится». Чтобы проверить, относится ли новый граф G к классу таких ситуаций, необходимо убедиться в изоморфной наложимости G0 на некоторый подграф семантического графа G. Если такое наложение возможно, то семантический граф G относится к тому же классу ситуаций, что и графы G1 и G2.
G0
Рис. 11.3.
Все перечисленные выше методы предоставляют возможность работы с объектами, обладающими внутренней структурой. Такой вид обобщения, безусловно, один из наиболее сложных. В следующей главе мы рассмотрим методы обобщения объектов по признакам.
Раньше, чем разрывать навозную кучу, надо оценить, сколько на это уйдет времени и какова вероятность того, что там есть жемчужина.
А. Б. Мигдал
Глава 12
ЗАДАЧА ОБУЧЕНИЯ «БЕЗ УЧИТЕЛЯ»
В этой главе будет рассмотрен класс алгоритмов, решающих задачу обучения «без учителя». Важность данного класса алгоритмов в том, что реальные признаки, описывающие объекты распознавания, очень часто бывают именно количественными, или числовыми. Известно, что человек плохо воспринимает информацию, представленную в виде больших наборов чисел. Первым и крайне важным этапом решения задачи обобщения в таком случае будет переход от количественных признаков к признакам качественным или хотя бы к шкалируемым. Здесь большую помощь могут оказать алгоритмы рассматриваемого типа. Дадим более строгую формулировку задачи обучения «без учителя».
Пусть обучающая выборка содержит М объектов: X = {Xi, Х2,... Хм}- Каждый из этих объектов представляет собой n-мерный вектор Хг значений признаков:
Xi — <С Хд, Xi21 • • • 1 Xin > 1
где Xij — значение Дго признака для г-го объекта, п — количество признаков, характеризующих объект.
Напомним, что признаки, используемые для описания объекта, чисто количественные, к ним применимы введенные в предыдущей главе меры близости.
Требуется в соответствии с заданным критерием разделить набор X на классы, количество которых заранее неизвестно. Под критерием подразумевается мера близости всех объектов одного класса между собой. Будем считать, что работа алгоритма завершена успешно, если классы, сформированные в результате работы алгоритма, достаточно
компактны и, возможно, выполнены некоторые дополнительные критерии.
При решении задачи обучения «без учителя» самыми несложными являются алгоритмы, основанные на мерах близости. Для достижения цели — компактного формирования классов — введем понятие точки- прототипа, или точки в n-мерном пространстве признаков, являющейся наиболее «типичной» представительницей построенного класса. В дальнейшем расстояние от объекта до класса будет заменяться расстоянием от объекта до точки-прототипа. Точка-прототип может быть сопоставлена каждому сформированному классу, и при этом вовсе не обязательно существование реального объекта, соответствующего точке-прототипу. Представим алгоритмы этого типа на нескольких примерах.
Алгоритм, основанный на понятии порогового расстояния
Пороговый алгоритм — один из самых несложных алгоритмов, базирующихся на понятии меры близости. Критерием отнесения объекта к классу здесь является пороговое расстояние Т. Если объект находится в пределах порогового расстояния от точки-прототипа некоторого класса, то такой объект будет отнесен к данному классу. Если исследуемый объект находится на расстоянии, превышающем Т, он становится прототипом нового класса. Самая первая точка- прототип может выбираться произвольно. Результатом работы такого алгоритма будет разбиение объектов выборки X на классы, где в каждом классе расстояние между точкой-прототипом и любым другим элементом класса не превышает Т. Пороговое расстояние Т определим как половину расстояния между двумя наиболее удаленными друг от друга точками обучающей выборки.
Алгоритм 12.1.
Выбрать точку-прототип первого класса (например, объект Xi из обучающей выборки). Количество классов К положить равным 1. Обозначить точку-прототип Zi.
Определить наиболее удаленный от Zi объект Ху по условию
D(ZbXf) = maxD(Zi,Xz),
где D(Zi,X^ — расстояние между Zi и Х^, вычисленное одним из возможных способов. Объявить Ху прототипом второго класса. Обозначить Ху как Z^. Число классов К = К + 1.
Определить пороговое расстояние Т = D(Zi,Xy)/2.
Построить X* = Х\{Х1,Ху}.
Выбрать Xj Е X*.
Вычислить расстояние от Xj до всех точек-прототипов: D^Z^^ Xj) для к = 1, 2,... К.
Определить ближайшую к рассматриваемому объекту точку- прототип Zp по условию
D^Zp^Xj) = m\nD^Zk^ Xj).к
Если D(ZpiXj) <Т, отнести объект Xj к классу р (Zp является прототипом этого класса) и удалить его из X’. Иначе объявить Xj прототипом нового класса. Обозначить Xj как Zkvv- Число классов К увеличить на 1: К = К + 1. Удалить Xj из X’.
Если X’ = 0 (то есть обучающее множество исчерпано), то КОНЕЦ. В противном случае перейти к шагу 4.
Пример 12.1.
Рассмотрим пример работы алгоритма, основанного на вычислении порогового расстояния. Пусть каждый объект из множества объектов, представленных в табл. 12.1, задан двумя признаками (модель — точка на плоскости) (рис. 12.1).
Таблица 12.1
Xi
Х2
Хз
х4
Хб
х6
Х7
Xs
Координаты объектов
(2; 2)
(3; 3)
(2; 4)
(7; 1)
(8; 5)
(9; 1)
(9; 2)
(9; 6)
Точки-прототипы классов
Z3
^2
Расстояние от Z\ до объектов
1,4
2
5,1
6,7
7,05
7,о
8,05
Расстояние от Z^ до объектов
6,7
7,3
5,4
1,4
5
4
Расстояние от Z3 до объектов
4,1
2
2,2
Выберем в качестве точки-прототипа первого класса точку Xi из обучающей выборки (обозначается далее Zi). В таблице представлены расстояния от этой точки до объектов Х2 — Xg. Наибо
лее удаленным объектом для Z\ будет Xg. Пороговое расстояние Т = - D(Zi, Xg) = 4,02. Точка Xg становится точкой-прототипом вто
рого класса и обозначается далее Z^. Рассматриваем точки множества
Х2
8 -
7 "
z2z26
z2
z2
5
4
3
2 "*Z1#
1 „% •
123 456 789 X!
Рис. 12.1.
X' = X\{Xi, Ху}. Это точки Х2—Х7. Анализируем их последовательно. Точки Х2 и Х3 будут отнесены к классу 1 (прототип — Zi).
Точка Х4 имеет ближайшим прототипом Zi, однако, поскольку расстояние D(Zi,X4) > Г, точка Х4 становится прототипом нового (третьего) класса (обозначаем ее далее Z3).
Для Х5 Xq и Х7 ближайшими прототипами станут, соответственно, Z2, Z3, Z3. Поскольку условие D(Zp,Xj) < Т не нарушается (наименьшие расстояния — 1,4; 2; 2,2), новых классов не возникнет.
Окончательное распределение представлено в табл. 12.2.
Таблица 12.2
Прототип
Элементы класса
Класс 1
М (2; 2)
Х2Хз
(3; 3) (2; 4)
Класс 2
м
(9; 6)
х5
(8; 5)
Класс 3
х4
(7; 1)
х6 х7
(9;1) (9; 2)
К достоинствам рассмотренного алгоритма следует отнести простоту реализации и небольшой объем вычислений. Очевидны также его недостатки, а именно, не предусмотрено уточнение разбиения. В результате расстояние от объекта до точки-прототипа класса может оказаться больше, чем расстояние от этого объекта до точки- прототипа другого класса. Результат, кроме того, сильно зависит
от порядка рассмотрения объектов X, а также от способа вычисления порогового расстояния (можно использовать и другие формулы для подсчета Г). Из этого обсуждения следует, что полезно было бы использовать алгоритмы, допускающие многократную коррекцию формируемых классов, например, можно было бы менять пороговое расстояние Т и проводить многократное уточнение разбиения.
Алгоритм MAXMIN
Рассмотрим алгоритм, более эффективный по сравнению с предыдущим и являющийся улучшением порогового алгоритма. Исходным данным для работы алгоритма будет, как и раньше, выборка X. Объекты этой выборки следует разделить на классы, число и характеристики которых заранее неизвестны.
На первом этапе алгоритма все объекты разделяются по классам на основе критерия минимального расстояния от точек-прототипов этих классов (первая точка-прототип может выбираться произвольно). Затем в каждом классе выбирается объект, наиболее удаленный от своего прототипа. Если он удален от своего прототипа на расстояние, превышающее пороговое, такой объект становится прототипом нового класса. Отметим, что в этом алгоритме пороговое расстояние не является фиксированным, а определяется на основе среднего расстояния между всеми точками-прототипами, то есть корректируется в процессе работы алгоритма. Если в ходе распределения объектов выборки X по классам были созданы новые прототипы, процесс распределения повторяется. Таким образом, в алгоритме MAXMIN окончательным считается разбиение, для которого в каждом классе расстояние от точки-прототипа до всех объектов этого класса не превышает финального значения порога Т.
Для вычисления порогового расстояния Т между К точками- прототипами воспользуемся следующей формулой. Для произвольного числа классов К пороговое расстояние вычисляется как половина среднего расстояния между точками-прототипами, то есть
Д Е ЕL = K(K-1V
2=1 J=2+l
Алгоритм 12.2.
Выбирается первоначальная точка-прототип (например, ХД Она становится точкой-прототипом первого класса и обозначается далее Zi. Число классов полагаем равным 1 : К = 1.
Определяется Xf — наиболее удаленный от Z\ объект. Ху становится точкой-прототипом нового класса и обозначается далее Zb К = х + 1.
Находим пороговое расстояние Т.
Для всех объектов обучающего множества строится матрица расстояний до каждого из имеющихся прототипов: П(Хг, Zk\ г = 1,...М, к = 1,...,К.
Каждый объект относится к классу по критерию наибольшей близости к точке-прототипу: Хг отнесен к классу р^ если D(X^ZP) = min D(X^Zk).
к
В каждом классе к определяется объект Х[к) наиболее удаленный от точки-прототипа: D(Xik, Zk) = ^iax D(X, Zk\ где Rk — множество объектов класса к.
Для всех найденных объектов проверяется условие: D(Xlk.Zk) <ТД = ^....К.
Если для некоторого Х[к это условие не выполнено, он становится точкой-прототипом нового класса, число классов К = К + 1.
Если новых классов не создано, то КОНЕЦ. Иначе — перейти к шагу 9.
Вычисляется новое значение Т как среднее расстояние между прототипами.
Перейти к шагу 4.
Пример 12. 2
Рассмотрим работу алгоритма MAXMIN на примере. Как и в предыдущем случае выберем объекты, которые заданы двумя признаками. Обучающая выборка представлена на рис. 12.2. Координаты точек обучающей выборки даны в табл. 12.3.
8 -
7 -
6
5 -♦ ♦
4 -♦
3
2-♦ ♦ ♦♦♦
-♦
О' 1—।। 1—।—।।।।—।в
123456789 X!
Рис. 12.2.
Таблица 12.3
х2
Х3
х4
Х5
Х6
Х7
х8
Х9
Координаты точек
(2; 2)
(3; 2)
(4; 2)
(5; 4)
(6; 5)
(7; 2)
(7; 5)
(8; 1)
(9; 2)
Первая точка-прототип
Z1
Расстояние
1
2
3,6
5
5
5,8
6,1
7
В качестве первой точки произвольно выбирается Xi. В таблице даны расстояния от этой точки до остальных. Наиболее удаленной от Zi будет Хд. Пороговое расстояние Т = -Р(Х4) Хд) = 3,5. Точка Хд объявляется прототипом второго класса и обозначается Z2.
Матрица расстояний для двух классов представлена в табл. 12.4.
Таблица 12.4
Х2
Х3
х4
Х5
Хд
Ху
Хд
Координаты
(3; 2)
(4; 2)
(5; 4)
(6; 5)
(7; 2)
(7; 5)
(8; 1)
Расстояние
Zi = (2,2)
1
2
3,6
5
5
5,8
6,1
Расстояние
D(Z2,X3)
Z2 = (9,2)
6
5
4,5
4,3
2
3,6
1,4
Разделение на классы по критерию минимального расстояния до точки-прототипа дает следующий результат:
класс 1 = {Х1.Х2.Х3.Х1}. класс 2 = {Х5. Хд. Ху. Хд. Хд}.
Найдем в каждом классе точку, максимально удаленную от прототипа. В классе 1 — это Х4, поскольку P^Z-^X^ = 3,6 > Т (Т = 3,5), Х4 становится прототипом нового — третьего класса и обозначается далее также Z3. Новая итерация начинается с вычисления порогового расстояния и построения новой матрицы расстояний.
т =Х9) + Р(ХЬХ4) + Р(Х4, Хд) = 7 + 3,6 + 5 = 2
66’
Матрица расстояний для трех классов представлена в табл. 12.5.
Разделение точек на классы даст следующий результат:
класс 1 — {Xi, Х2, Хд}, класс 2 — {Хд, Хд, Хд}, класс 3 — {Х4, Х5, Ху}.
Таблица 12.5
х2
Х3
Х5
Х6
х8
Координаты
(3; 2)
(4; 2)
(6; 5)
№ 2)
(7; 5)
(8; 1)
Расстояние 0(^1, М) 21 = (2,2)
1
2
5
5
5,8
6,1
Расстояние О(22,Х,) 22 = (9,2)
6
5
4,3
2
3,6
1,4
Расстояние О(2з,М) 2з = (5,4)
2,8
2,3
1,4
2,8
2,3
4,1
Найдем в каждом классе точку, максимально удаленную от прототипа. В классе 1 — это Хд. Расстояние P(Zi,Xg) = 2 < Т = 2,6. В классе 2 искомая точка — Х^. Так как D^Z^X^ = 2, для второго класса условие выполнено. В классе 3 наиболее удаленной является точка Ху. D^Z^ Ху) = 2,3 < Т. В соответствии с пунктом 8 алгоритма новый класс не создается, и алгоритм завершает работу.
Алгоритм позволяет получить лучшее разбиение точек на классы, поскольку разбиение многократно уточняется. Это снижает чувствительность алгоритма к ошибкам в обучающем множестве, а также к выбору порядка рассмотрения объектов. Недостатком является необходимость многократно вычислять расстояние между объектами.
Алгоритм «К средних»
Рассмотрим алгоритм, решающий задачу обучения «без учителя» при одном дополнительном условии: количество классов, к которым могут принадлежать элементы обучающей выборки, заранее известно (классов — Ку В такой ситуации первоначально выбираются К точек-прототипов (например, первые К объектов обучающей выборки X). Затем все объекты обучающей выборки X распределяются по классам по критерию наименьшего расстояния от точек-прототипов этих классов. В каждом из сформированных классов определяется новая точка-прототип как «средняя» точка данного класса. Если точки-прототипы при этом изменяются, то распределение объектов по классам выполняется заново. Признаком окончания работы алгоритма здесь будет совпадение разбиений на классы на двух последовательных итерациях. В окончательном разбиении каждый объект из X должен оказаться ближе к «центру» то есть к прототипу своего класса, чем к прототипу любого другого класса. Заметим также, что
в алгоритме «К средних» точки-прототипы могут не совпадать ни с одним реальным объектом из X, поскольку они определяются как «средние» точки своих классов.
Алгоритм 12.3.
Обозначим номер итерации s = 0. Выбираются К начальных точек-прототипов:
Z =из X.
Выполняется итерация s = s + 1.
Строится матрица расстояний. Каждый объект Xi Е X относится к одному из классов 1,2,...Х по признаку ближайшего расстояния до точки-прототипа.
Для каждого из сформированных классов вычисляется новая точка-прототип. Для этого значение каждого признака для точки-прототипа класса к определяется как среднее арифметическое значений этого признака по всем объектам к-го класса, сформированного на текущей итерации s:
— У1^1 лУ.
где x^j — значение Дго признака для определяемой точки- прототипа класса к. (к = 1,2,..., К\ Rsk — множество объектов, отнесенных к классу к на s-й итерации, \Rk\ — мощность этого множества, j = 1, 2,..., п, поскольку каждый объект обучающей выборки содержит п признаков.
Если для всех (к = 1,2,..., К) верно, Zk = Z^-1, то КОНЕЦ, иначе — переход к шагу 2.
Пример 12. 3.
Рассмотрим пример работы данного алгоритма. Обучающая выборка представлена в табл. 12.6. Требуется разбить эту выборку на три класса (К = 3).
Таблица 12.6
Xi
х2
Хз
х4
Х5
Х6
Х8
х9
Хю
Координаты
(2; 2)
(2; 4)
(3;4)
(3;8)
(4; 7)
(5; 9)
(6; 1)
(6; 8)
(7;1)
(8; 1)
Прежде всего, выберем начальные точки-прототипы. Пусть Zi = Xi, Z2 = Xg, Zg = Х4. Выполняем итерацию 1. Матрица расстояний от точек-прототипов до остальных объектов представлена в табл. 12.7.
Таблица 12.7
Хг
Х2
Хз
х4
х5
Хб
Ху
Хд
Х9
Хю
Координаты
(2; 2)
(2; 4)
(3;4)
(3;8)
(4; 7)
(5; 9)
(б;1)
(6; 8)
(7; 1)
(8;1)
Z1
0
2
-
-
5,4
7,6
4,1
7,2
5,1
6,05
z2
-
1
0
-
3,2
5,4
4,2
5
5
5,8
Я3
-
4Д
-
0
1,4
2,3
7,6
3
8,05
8,6
Проведем разбиение на классы по критерию минимального расстояния: класс 1 — Х^Ху; класс 2 — Xg, Х2, Хд, Хю; класс 3 — Х4,Х5,Хб,Х§. Расчет точек-прототипов для каждого класса даст значения Z^ = (4; 1,5), Z\ = (5; 2,5), Z^ = (4,5; 8).
Построим новую матрицу расстояний от точек-прототипов до остальных объектов (табл. 12.8).
Таблица 12.8
Хг
Х2
Хз
х4
х5
Хб
Ху
Хд
Х9
Хю
Координаты
(2; 2)
(2; 4)
(3;4)
(3;8)
(4; 7)
(5; 9)
(6; 1)
(6; 8)
(7; 1)
(8;1)
^1 =
= (4;1,5)
2
3,2
2,7
6,6
5,5
7,6
2
6,8
3
4
^ =
= (5; 2,5)
3
3,35
2,5
5,85
4,6
6,5
1,8
5,6
2,5
3,4
Z| = = (4,5; 8)
6,5
4,7
4,3
1,5
1,1
1,1
7,2
1,5
7,4
7,8
Новое разбиение на классы по критерию минимального расстояния до прототипа: класс 1 — Xi, Х2; класс 2 — Xg, Ху, Хд, Хю; класс 3 — Х4,Х5,Хб,Х§ . Рассчитаем координаты точек-прототипов на итерации 2: Z^ = (2;3), Z^ = (6; 1,75), Z^ = (4,5; 8).
Итерация 3. Снова построим матрицу расстояний (табл. 12.9). Легко заметить, что класс 3 уже стабилен.
Таблица 12.9
Х2
Хз
х4
Х5
х6
Ху
Хд
Х9
Хю
Координаты
(2; 2)
(2; 4)
(3;4)
(3;8)
(4; 7)
(5; 9)
(б;1)
(6; 8)
(7;1)
(8; 1)
zX =
= (2;3)
1
1
1,4
5,1
4,47
6,7
4,47
6,4
5,4
6,3
^2 =
= (6;1,75)
4
4,6
3,75
6,9
5,6
7,3
0,75
6,25
1,25
2,1
^з = = (4,5; 8)
6,5
4,7
4,3
1,5
1Д
1,1
7,2
1,5
7,4
7,8
♦ * z3<♦ * z3<1 23456789 X!1 23456789 X!Рис. 12.3.Рис. 12.3.2
♦ * z3<
♦ * z3<
1 23456789 X!
1 23456789 X!
Рис. 12.3.
Рис. 12.3.
8
7
6
5
4
3
2
1
О
На основании матрицы расстояний разбиваем выборку на классы: класс 1 — ХцХ2,Хз; класс 2 — Х7,Хд,Хю; класс 3 — X4,X5,X6,Xg. Точки-прототипы для классов имеют координаты Z^ = (2,33; 3,33), Z^ = (7,0; 1,0), Z^ = (4,5; 8,0).
Из рис. 12.3 видно, что классы окончательно сформированы. Выполнение четвертой итерации по тем же правилам даст разбиение, равное предыдущему, и алгоритм заканчивает работу. Заметим, что в качестве точек-прототипов полезно брать не первые К объектов из X, а максимально различные между собой объекты.
Алгоритмы, рассмотренные в этой главе, обладают одним общим свойством: с их помощью для обучающей выборки X решается задача классификации, то есть строится разбиение примеров обучающей выборки на классы. Вспомним, что алгоритмы обобщения должны успешно решать и задачу распознавания, то есть задачу распре де-
ления вновь предъявляемых примеров по классам. Последнее требует наличия четко сформулированного решающего правила, или алгоритма^ позволяющего отнести новый объект X к одному из классов.
Распознавание с использованием решающихфункций
Прежде всего необходимо дать понятие решающей функции. В системах распознавания по признакам, где любой объект распознавания представим как вектор X = (яд, я?2, • • • ? я?п), образованный значениями признаков Xj, j = 1,2,..., п, введем функцию /(^i,..., х^ от значений признаков. Пусть по значениям этой функции принимается решение об отнесении объекта к одному из известных классов (или о том, что объект не может быть отнесен ни к одному из классов). Назовем такую функцию решающей функцией.
Существуют различные способы построения решающих функций. Прежде всего решающая функция может строиться как выражение, значение которого отражает расстояние между классифицируемым объектом и классом (прототипом класса). Решающая функция может представлять собой также уравнения границ между классами. В этом случае вектор X = (яд, ^2,... х^ представим точкой в п-мерном пространстве признаков. При удачном выборе признаков для распознавания объекты, принадлежащие одному классу, группируются в некоторую область — кластер. Если эти области достаточно четко очерчены (классы четко разделимы), то можно построить гиперповерхности, разделяющие классы. В частном случае, когда, например, объект характеризуется только двумя признаками, моделью будет плоскость, на которой расположены точки, отображающие объекты распознавания. Разделяющие поверхности будут представлять собой кривые на плоскости. Для трехмерного случая (объект задается тремя признаками) границами между классами будут разделяющие поверхности. Задача поиска решающей функции есть задача отыскания уравнений таких поверхностей.
Чтобы распознать объект X относительно классов 1, 2,..., К на основе решающих функций, необходимо или сравнивать расстояния между X и прототипами заданных классов, или оценить положение X относительно разделяющих классы гиперповерхностей. Поскольку распознавание возможно только относительно известных классов, для решения такой задачи необходимо разбить на классы элементы обучающей выборки X, например, с помощью одного из вышеизложенных алгоритмов, затем построить решающие функции для отнесения объекта к одному из классов. Следующий шаг — отнесение объекта X к одному из классов на основе построенных решающих функций (непосредственно задача распознавания).
18 В.Н. Вагин и др.
Построение решающих функций по критерию минимальногорасстояния
Простейшим способом распознавания некоторого объекта X является сравнение расстояний между данным объектом и объектами- прототипами всех известных классов. Предъявляемый объект X считается принадлежащим классу к. если выполняется условие |Х — Z^\ = = min(|X — Z^W где % = 1, 2,..., К — классы, Z^ = Дх, 22,, zn) — вектор, характеризующий объект-прототип класса г. В качестве объекта- прототипа класса можно использовать его «геометрический центр» (как в алгоритме К средних). Расстояние между предъявленным объектом X и прототипом г-го класса Z^ может быть найдено, например, как обычное евклидово расстояние:
Для упрощения вычислений вместо непосредственного расчета величины |Х — Z^\ можно построить другие решающие функции, значения которых связаны определенным образом с расстоянием. Рассмотрим один из методов получения решающей функции.
Найдем квадрат расстояния между X и прототипом Хд
Ц - ^|2 == (х - Z^ . (X - ztf =
= X • XT - X • Z^ - Zi ■ XT + Zi • z^.
В данном выражении X — вектор-переменная, Z^ — вектор- константа, ХТ — транспонированный вектор. Заметим, что произведение X • ХТ не связано с конкретным классом, и, следовательно, не внесет вклад в оценку близости двух объектов. Отбросим его, а оставшуюся часть формулы умножим на (-1). Результатом будет следующая решающая функция:
D^ = X ■ ZT + Zi ■ ХТ - Zi ■ ZT.
После умножения на (-1) была получена функция, принимающая максимальное значение при минимальном расстоянии от объекта X до прототипа. Получен критерий распознавания: объект X относим к классу к. если выполняется условие
^(Х) = шахРфХ).
Очевидно, потребуется построить К решающих функций, по одной для каждого класса. Заметим, что для К классов можно строить
К(К-ВЛ
решающих функций в случае, когда для каждой пары классов строится своя решающая функция. К достоинствам метода можно отнести также отсутствие областей неопределенности, то есть областей значений признаков, для которых объект не может быть отнесен ни к одному классу. Однако метод хорош только в случае, если точки, соответствующие объектам класса, образуют выпуклые области.
Разделяющие решающие функции
Рассмотрим метод построения решающих функций как получение уравнений границ, разделяющих классы. Первоначально рассмотрим самый простой случай — случай двух классов. Тогда задача сводится к построению только одной решающей функции. Такая функция должна принимать положительные значения для объектов одного класса и отрицательные — для другого класса. В случае, когда классов несколько, можно использовать различные стратегии.
Метод 1. Сначала какой-либо класс (обозначим его класс 1) считаем первым, а все остальные классы в совокупности — вторым. Найдем решающую функцию, отделяющую класс 1 от остальных. Аналогично построим функцию, отделяющую класс 2 от остальных и т. д. (рис. 12.4). Всего построим К решающих функций. Решение о принадлежности объекта X классу к принимается, если выполняется условие D^(X) > О, В^(Х) < 0 для всех г к.
В таком методе распознавания имеются неопределенные области, в которых объект не может быть отнесен ни к одному классу.
Метод 2. Находится решающая функция для разделения каждой пары классов. Количество решающих функций здесь будет равно
К(К - 1) количеству пар классов: .
Решение о принадлежности X классу к принимается, если выполнено условие: D^(X) > 0, г = 1,2,..., К, г ^ к. При таком подходе возможно наличие единственной области неопределенности (на рис. 12.5 — в центре). Объекты, попадающие в эту зону, не могут быть отнесены ни к одному классу.
Метод 3. Следующий подход основан на устранении областей неопределенности и является комбинацией методов 1 и 2 (рис. 12.6).
Рис. 12.6.
Если можно построить линейные решающие функции, будем говорить, что классы линейно разделимы.
Линейные решающие функции
Рассмотрим алгоритм построения линейных решающих функций. Линейная функция имеет следующий вид: D(X) = wq + 52 wj ’ жг Цель алгоритма — найти коэффициенты Wj решающей функции D(X) методом последовательного уточнения. Рассмотрим случай двух классов (выше было показано, какими приемами можно свести к этому случаю вариант нескольких классов). Основой для вычисления коэффициентов Wj является анализ обучающей выборки X, где известна заранее принадлежность объектов X классу 1 или классу 2. Далее эти два класса обозначим Ci и Сф
Решающая функция считается построенной, если все объекты обучающей выборки X распознаются этой функцией правильно, то есть D^X^ > 0, если X Е СД и, соответственно, D(X) < 0, если X Е С2. Коррекция коэффициентов решающей функции выполняется по следующему правилу: коэффициенты решающей функции увеличиваются при неправильном распознавании объекта из класса Ci, уменьшаются при неправильном распознавании объекта из класса С2 и остаются без изменения, если распознавание идет правильно. Если на некотором шаге произойдет корректировка коэффициентов решающей функции, счетчик правильно распознанных объектов, обозначаемый далее как сч, сбрасывается на ноль, поскольку мы перешли к новой функции, и теперь ее надо проверить заново на всех элементах обучающей выборки.
Алгоритм завершается, когда окажется, что построенная решающая функция D(X) правильно распознает все объекты обучающего множества.
Алгоритм 12.4
Получить обучающую выборку X = (Xi, Х2,..., Хм^ элементы которой принадлежат непересекающимся классам Ci или С2.
Установить в ноль счетчик правильно распознанных объектов: сч = 0.
Установить номер итерации равным нулю: к = 0.
Задать начальные значения коэффициентов Wj в решающей функции (например, Wj = 0 для j = 1,2,..., п). Получим решающую функцию D^(X\
Выбираем класс Ci в качестве текущего класса.
Переход к новой итерации: к = к + 1.
Выбрать очередной объект Х^ текущего класса (класса Ci). Если класс Ci исчерпан, объявить текущим классом класс С^ выбрать первый объект этого класса.
Вычислить новые значения коэффициентов решающей функции на итерации к: w^ = w^-1 + с • x^j, где с — множитель, определяемый из условия
Е ю> ' ' ЖМ < 0, И ХкЕ Ci;
3=0
с= ) -1, £1 ■ xkj > 0, нХке с^-
Я=0
<0 при правильном распознавании.
Если с = 0, сч = сч + 1 (увеличиваем на 1 число правильно распознанных объектов), иначе сч = 0.
Если сч = М — общему числу объектов обучающей выборки X, то КОНЕЦ, иначе перейти к шагу 6.
Приведенный алгоритм обеспечивает построение решающей функции во всех случаях, когда классы являются линейно разделимыми.
Пример 12. 4.
Рассмотрим пример работы алгоритма построения линейной разделяющей функции. В табл. 12.10 дана обучающая выборка — объекты, принадлежащие двум классам.
Таблица 12.10
Точки X
Координаты точек
Класс Ci
1
<1; 2>
2
<1; 3>
3
<3; 3>
Класс С2
4
<4; 1>
5
<5; 2>
6
<6; 2>
Каждый объект задается двумя числовыми значениями и может интерпретироваться как точка на плоскости (рис. 12.7). Цель — получить линейную разделяющую функцию, которая дает положительные значения для точек 1, 2 и 3 и принимает отрицательные значения для точек 4, 5, 6. Функция должна иметь вид F(X) = wo + сщ • яд + W2 • До
выполняем итерацию 0. Коэффициенты wq = иц = W2 = 0.
Выполняем итерацию 1. Выбираем первый объект класса Су — вектор Ху =< 1, 2 >. Значение функции F(Xi) = 0 + 0-1 + 0- 2 = 0, по правилу П8 необходима коррекция коэффициентов при значении множителя с = 1. Вычисляем новые коэффициенты функции: Wg =wq + c = 0 + 1 = 1; Ц = wi + с • ху = 0 + 1-1 = 1; ^2 = W2 + с • Т2 = 0 + 1 • 2 = 2. Получаем F^X) = 1 + ху + 2 • Х2-
Выполняем итерацию 2. Вычислим последовательно значения Fx(X) для элементов выборки: Fx(< 1,2 >) = 1 + 1 • 1 + 2 • 2 = = 6 > 0; Fx(< 1,3 >) = 1 + 1 • 1 + 2 - 3 = 7 > 0; Fx(< 3,3 >) = = 13 > 0. Все элементы класса Су распознаны правильно. Выбираем текущим класс С^. Ег(< 4,1 >) = 1 + 1 • 4 + 2 • 1 = 7 > 0 — объект распознан неправильно. Необходима коррекция коэффициентов при значении множителя с = — 1. Wq = Wg + с = 1 — 1 = 0; w2 = Е с • ху = 1 — 1 - 4 = —3; иц = w^Ec-x^ = 2 — 1-1 = 1. Новая функция F2(X) = Ж2 — 3 • Ху.
Выполняем итерацию 3. Вычисляем значения функции для элементов выборки F2(< 1,2 >) = 2 — 3-1 = —1 < 0. Необходима коррекция коэффициентов с поправкой с = 1: Wq = Wg+c = 0 + l = = 1; w3 = w2 + c-xi = — 3 + 1 • 1 = — 2; w^ = ^2 E0X2 = 1 +1 • 2 = 3. Новая функция F3(X) = 1 — 2т 1 + 3x2-
Начинаем новую итерацию с проверки значений F3(X) на элементах выборки: F3(< 1,2 >) = 5 > 0; F3(< 1,3 >) = 8 > 0; F3(< 3,3 >) = 4 > 0. Переходим к проверке объектов класса С2*. F3(< 4,1 >) = -4 < 0; F3(< 5, 2 >) = -3 < 0; F3(< 6, 2 >) = -5 < 0. Все объекты выборки разделены правильно, таким образом получена искомая решающая функция F(X) = 1 — 2ац + 3x2- На рис. 12.7 дана геометрическая интерпретация решения.
Построение решающих функций методом потенциалов
Иногда точки обучающей выборки невозможно разделить, используя линейные функции. На рис. 12.8 приведен пример такой обучающей выборки. В случае, если классы невозможно разделить линейно, используется метод потенциалов, предназначенный для построения нелинейных решающих функций.
х2
_XXX
-XX **
-X — элементы первого класса
_*** — элементы второго класса
X X **
X
X X
XXX
о'1II1II1III►
Рис. 12.8.
Само название «метод потенциалов» связано со следующей интерпретацией. Предположим, что любой точке из обучающего множества соответствует некоторый объект, обладающий зарядом (наподобие электрического). Объекты разных классов имеют заряды разных знаков: положительные и отрицательные. В любой точке п-мерного пространства признаков такие заряды создадут некоторый потенциал, являющийся суммой потенциалов отдельных зарядов. Величина потенциала прямо пропорциональна величине заряда и обратно пропорциональна расстоянию до него.
Известно, что линии, соединяющие точки с одинаковыми потенциалами, называются эквипотенциалями. В таких условиях каждый класс отделен от другого «потенциальной долиной», имеющей нулевой потенциал. Такая нулевая эквипотенциаль представляет собой границу между классами; ее уравнение и будет решающей функцией.
Функция, описывающая закон изменения потенциала, создаваемого зарядом, помещенным в точку Хс, может быть задана по-разному. Рассмотрим два варианта:
F(X,XC) = ехр(—а • Д-Хс|2);
Т CL • принять а = 1).Т CL • принять а = 1)., где а > 0 — константа (можно, где а > 0 — константа (можно
Т CL • принять а = 1).
Т CL • принять а = 1).
, где а > 0 — константа (можно
, где а > 0 — константа (можно
Если рассматривать расстояние по Евклиду, вторая функция примет вид
F(X, Хс) = , где коэффициент а = 1.
+ Е (^ - ^с?)2
Рассмотрим алгоритм построения решающей функции как разделяющей границы D^X\ отделяющей области положительного и отрицательного потенциалов. При описании алгоритма используем обозначения, принятые в описании алгоритма построения линейной разделяющей функции. Легко заметить, что оба алгоритма имеют много общего.
Алгоритм 12.5.
Получить обучающую выборку X = (Xi, Х2,..., Хм^ элементы которой принадлежат классам Ci или С2.
Установить в ноль счетчик правильно распознанных объектов: сч = 0.
Установить номер итерации равным нулю: к = 0.
Начальное значение решающей функции D°(X) = 0.
Выбрать в качестве текущего класса класс Ci.
Выполнение новой итерации: к = к + 1. Если к > М, примем к = 1.
Выбрать очередной объект Х^ из текущего класса. Если текущий класс исчерпан, то объявить текущим класс С2 и выбрать из него первый объект.
Построить новую решающую функцию:
Dk(X) = Пк"х^ + с ■ F(X, Хк\
где множитель с выбирается из условий
1, если D^1 (Хк) < 0 и Хк е СЧ; -1, если Dk-X (Хк) ^ 0 и Хк Е С^ 0 при правильном распознавании.
Если с = 0, то сч = сч + 1, иначе сч = 0.
Если сч = М, то КОНЕЦ, иначе перейти к шагу 6.
Заметим, что при выполнении пункта 8 на первой итерации всегда получим значение множителя с = 1, так как D°(Xi) = 0, Xi Е Ci.
Пример 12. 5
Пример работы алгоритма рассмотрим для обучающей выборки, представленной в табл. 12.11.
Таблица 12.11
Точки X
Координаты точек
Класс Ci
1
<2; 4>
2
<4; 1>
3
<4; 6>
Класс С2
4
<4; 2>
5
<6; 2>
6
<6; 5>
Как следует из рис. 12.9, между точками классов нельзя провести линейную границу.
6655Рис. 12.9.Рис. 12.9.123 456789 хг123 456789 хг
6
6
5
5
Рис. 12.9.
Рис. 12.9.
123 456789 хг
123 456789 хг
Воспользуемся методом потенциалов, причем для вычисления нелинейной границы предлагается использовать функцию второго типа. Поскольку каждая точка задана двумя координатами, функция примет вид
F(X,XC) =F(X,XC) =1
F(X,XC) =
F(X,XC) =
1 + (xi - a?ic)2 + (х2 - х^сУ '
Рассмотрим выполнение алгоритма по шагам.
Итерация 0. Искомая функция D°(X) = 0. Проверяем элементы обучающей выборки. D°(< 2,4 >) = 0, необходима коррекция при с = 1.
Итерация 1. Строим решающую функцию ^(А") = 1/(1 + (яд — 2)2 + + (яд — 4)2). Проверим элементы обучающей выборки для класса Cv
D\< 2,4 >) = 1 > 0;D\< 2,4 >) = 1 > 0;1Д(< 4,1 >) =1Д(< 4,1 >) =11 + 4 + 911 + 4 + 9114114> 0;> 0;D1(<4,6>) = 1D1(<4,6>) = 10.0.
D\< 2,4 >) = 1 > 0;
D\< 2,4 >) = 1 > 0;
1Д(< 4,1 >) =
1Д(< 4,1 >) =
1
1 + 4 + 9
1
1 + 4 + 9
1
14
1
14
> 0;
> 0;
D1(<4,6>) = 1
D1(<4,6>) = 1
0.
0.
Для элементов класса С^*. DT(< 4,2 >) = - > 0. Распознавание ошибочно, поэтому выбираем множитель с = —1, и начинаем коррекцию функции.
Итерация 2.
= 1 + Д - 2)2 + Щ - 4)2 "
Проверяем элементы обучающей выборки:
D2(< 2, 4 >) = 1 - 1 > 0; D2(< 4,1 >) = — - 1 < 0.
V7 g , v7142
Необходима коррекция при с = 1.
Итерация 3. Новая функция примет вид
1)3= 1 + (Ж1 - 2)2 + Щ - 4)2 "
1
+ 1 + (xi - 4)2 + Щ - 1)2 '
Выполним проверку для элементов класса Ci:
^«2,4» = 1-1 + 1>0;^«2,4» = 1-1 + 1>0;В3(<4,1>) = 1-| + 1>0;В3(<4,1>) = 1-| + 1>0;
^«2,4» = 1-1 + 1>0;
^«2,4» = 1-1 + 1>0;
В3(<4,1>) = 1-| + 1>0;
В3(<4,1>) = 1-| + 1>0;
П3(<4,6>) = 1П3(<4,6>) = 11117 + 261117 + 26> 0.> 0.
П3(<4,6>) = 1
П3(<4,6>) = 1
11
17 + 26
11
17 + 26
> 0.
> 0.
Проверяем элементы класса С2:
D\< 4,2 >) = 1 - 1 + 1 < 0; D3(< 6,2 >) = 1 - 1 + 1 > 0. УZо о
Необходима коррекция функции при значении с = — 1.
ИЦУ) =ИЦУ) =11Итерация /. Новая функция содержит четыре компонента:
ИЦУ) =
ИЦУ) =
1
1
Выполним проверку для элементов класса Cv-
Переходим к проверке элементов класса С2:
D\< 4, 2 >) = 1 - 1 + 1 - 1 < 0; £4(< 6, 2 >) = 1 - 1 + 1 - 1 < 0;
УZ оZ1 О О
Все объекты обучающей выборки функция D4(X) разделила правильно, следовательно, она является искомой решающей функцией. Работа алгоритма завершена. На рис. 12.10 представлена графическая интерпретация решения.
12.5. Распознавание на основе приближенныхпризнаков
Значения, которые принимают признаки в обучающих выборках, часто являются результатами измерений различных параметров. Любые измерения связаны с возможностью возникновения ошибок, таким образом числовые значения признаков мы получаем с некоторой достоверностью, или уверенностью в их истинности. В ситуациях, когда вероятность получения неверных значений достаточно велика, введем в рассмотрение риск, связанный с решением об отнесении объекта к некоторому классу. Под риском будем понимать «цену», связанную с правильным или неправильным распознаванием объекта. Например, риском может служить величина потерь, связанная с
12.5] Распознавание на основе приблиснсеннъ1Х признаков 557 тем, что робот неправильно обработает деталь, ошибочно отнеся ее к другому классу.
Введем матрицу рисков, связанных с правильными и ошибочными решениями:
Rii
R12•
• • Rim
в =
R21
R22•
• • R2M
Rmi
RM2 *
• • Rmm
где Rtj — риск, связанный с отнесением к классу j объекта, в действительности принадлежащего классу г, М — общее число классов. В матрице имеются диагональные элементы — Яц. Они отображают риск, связанный с правильным решением (обычно Яц < 0, и эту величину можно рассматривать как выигрыш, достигнутый за счет правильного распознавания).
Пусть для распознавания предъявлен объект, у которого известны значения признаков X = (яд, яд,..., хп\ Назовем это событием А. Значение риска, связанное с решением о принадлежности объекта X классу Cj при условии, что имеет место событие Л, выражается формулой
м
В(Х е ЩЛ) = ВХОДА) = ^Вц • Р(СДА).
2=1
Здесь F(G|A) — условная вероятность принадлежности объекта X классу Ct при наблюдаемых значениях признаков, Rij — риск того, что объект в действительности принадлежал классу г, а его ошибочно отнесли к классу j. Условные вероятности Р(С^|Л) находим по формуле Байеса:
■ рис,)
2=1
где P(Ci) — априорная вероятность появления объекта, принадлежащего классу г, она может быть известна, например, из статистических данных; Р(Л|С^) — вероятность появления признаков X = (яд, яд,..., хп) у объекта, принадлежащего классу г.
Решение о том, что объект X принадлежит классу CZl принимается в случае, если риск, связанный с данным решением, минимален: R(CZ\A) = ттР(Сг\А)-
Введенное правило распознавания называется критерием Байеса. Применение этого правила обеспечивает минимальный средний риск, то есть риск, усредненный по всем возможным решениям задачи распознавания.
Я уже не знаю того, чему научился, а немногое, что еще знаю, просто угадал.
Н. Шамфер
Глава 13
ОБУЧЕНИЕ С УЧИТЕЛЕМ
Алгоритмы, исследованные в предыдущей главе, решали задачи классификации и распознавания для числовых признаков. Качественные, а также шкалированные признаки не использовались, потому что для подобных признаков сложно ввести меру, задающую близость объектов. При исследовании объектов, содержащих качественные признаки, необходимо определять близость или сходство объектов прежде всего на основании совпадения качественных значений. Важным моментом является определение правильных сочетаний значений некоторых качественных признаков. Поиск наиболее существенных сочетаний признаков удобно проводить с помощью аппарата логических функций. Алгоритмы, использующие такой подход, относятся к алгоритмам обучения с учителем и будут рассмотрены в настоящей главе.
Постановка задачи
Поставим задачу обобщения понятий по признакам. Пусть имеется множество объектов, состоящее из положительных и отрицательных примеров формируемых понятий. Назовем такое множество обучающей выборкой. На основании обучающей выборки необходимо построить понятие, разделяющее положительные и отрицательные объекты.
Под обобщением, как правило, понимается переход от рассмотрения единичного объекта о или некоторой совокупности объектов Т к рассмотрению множества объектов V такого, что о 6 У или Т С V. Здесь в качестве объекта может рассматриваться как реальный объект, так и модель некоторого процесса или явления.
Пусть О = {ед, 02, • • •, On} ~ множество объектов, которые могут быть представлены в интеллектуальной системе S. Каждый объект характеризуется г признаками. Обозначим через Zi, Z2,..., ZT множество допустимых признаков, где Zk = {^fci, ^2, • • •, ^fcm} (1 ^ к < г) и %кг являются значениями
признаков. Каждый объект о^ Е О^ 1 < г < п, представляется как множество значений признаков, т. е. о^ = {^}, где z^j Е Z^ 1 < к < г, 1 < j < т. Такое описание объекта называется признаковым описанием. В качестве признаков объектов могут использоваться количественные, качественные, либо шкалированные признаки.
В основе процесса обобщения лежит сравнение описаний исходных объектов, заданных совокупностью значений признаков, и выделение наиболее характерных фрагментов этих описаний. В зависимости от того, входит или не входит объект в объем некоторого понятия, назовем его полоснсителъным или отрицательным объектом для этого понятия.
Пусть О — множество всех объектов, представленных в некоторой системе знаний, V — множество положительных объектов и ТЕ — множество отрицательных объектов. Будем рассматривать случай, когда О = V U W, V П W = 0, W = J Ж и W. П Wj = 0 (г j).
Пусть К — непустое множество объектов такое, что К = К+ U К"", где К^ С V и К С W. Будем называть К обучающей выборкой. На основании обучающей выборки надо построить правило, разделяющее положительные и отрицательные объекты обучающей выборки.
Понятие, таким образом, сформировано, если удалось построить решающее правило, которое для любого примера из обучающей выборки указывает, принадлежит ли этот пример понятию или нет. Алгоритмы, которые мы исследуем, формируют решение в виде правил типа «ЕСЛИ условие, ТО искомое понятие». Условие представляется в виде логической функции, в которой булевы переменные, отражающие значения признаков, соединены логическими операциями конъюнкции, дизъюнкции и отрицания. Решающее правило является корректным, если оно в дальнейшем успешно распознает объекты, не вошедшие первоначально в обучающую выборку.
Проблема формирования понятий по признаковым описаниям была сформулирована М. М. Бонгардом. Процедура обучения по Бон- гарду является более сложным вариантом обучения «с учителем» и основывается на двух этапах: обучении и экзамене. В процедуре обучения используются две выборки примеров. Одна группа содержит примеры, относящиеся к понятию, а вторая выборка содержит контрпримеры.
Результатом обучения будет некоторое решающее правило. Оно должно позволять принять решение об отнесении конкретных примеров к понятию. Правило считается корректным, если оно успешно разделяет все примеры и контрпримеры обучающей выборки.
После того, как распознающее правило на обучающей выборке построено, проводится экзамен — с помощью распознающего правила надо разделить объекты новой, экзаменационной выборки на приме-
ры и контрпримеры. Если решающее правило правильно проводит такое разделение, обучение заканчивается. Если результат экзамена неудовлетворителен, то можно проводить дополнительное обучение на новой обучающей выборке (например, к исходной обучающей выборке можно добавить примеры, на которых при распознавании возникали ошибки).
В отличие от алгоритмов обучения без учителя основное внимание будем уделять качественным признакам. Главная задача алгоритмов обобщения заключается в построении решающего правила, которое в дальнейшем используется для распознавания новых объектов. Критерии качества построенных правил — это компактность и высокое качество распознавания вновь предъявленных объектов.
Прежде чем перейти к рассмотрению реальных алгоритмов обучения с учителем, исследуем способы задания решающего правила на примере.
Пример 13.1.
В табл. 13.1 приведен пример обучающего множества. Здесь каждый объект имеет четыре атрибута: класс, рост, цвет волос и цвет глаз.
Таблица 13.1
Класс
Рост
Волосы
Глаза
-
Низкий
Светлые
Карие
-
Высокий
Темные
Карие
+
Высокий
Светлые
Голубые
-
Высокий
Темные
Голубые
-
Низкий
Темные
Голубые
-
Высокий
Светлые
Карие
+
Низкий
Светлые
Голубые
Наблюдая примеры, приведенные в таблице, сформулируем закономерность их разделения на классы: все голубоглазые объекты со светлыми волосами относятся к классу +; все темноволосые объекты, либо светловолосые, но с карими глазами, относятся к классу —. Заметим также, что признак рост не влияет на выбор класса. Рассмотрим способы описания полученных решений в автоматизированной системе.
Первый способ задания решающего правила — использование логических функций. Две функции, задающие классы + и —, могут
иметь вид:
Р+(Х) = (глаза = голубые) &; (волосы = светлые)
Р~ (X) = (волосы = темные)^
V (волосы = светлые) к (глаза = карие).
Такой способ представления знаний о построенных классах используется в алгоритме ДРЕВ, рассмотренном ниже.
Представление знаний с помощью деревьев решений с успехом было использовано в ряде систем обучения с учителем, например, в алгоритме ID3 Куинлана.
Дерево решений — это дерево, внутренние узлы которого представляют собой проверки для входных примеров из обучающего множества, а вершины-листы являются категориями, классами (примеров). Пример дерева решений приведен на рис. 13.1. Дерево решений каждому входному примеру ставит в соответствие номер класса (или выходное значение) путем фильтрации этого примера через узлы проверки дерева сверху вниз. Результаты каждой проверки являются взаимоисключающими и исчерпывающими. Например, проверка Т) в дереве, изображенном на рис. 13.1, имеет три возможных исхода: самый левый относит входной пример к классу 3, средний перенаправляет входной пример вниз к проверке ТД а самый правый относит пример к классу 1. Мы будем следовать обычной договоренности об изображении узлов-листьев номерами классов.
Рис. 13.1.
Существует несколько характеристик, по которым деревья решений могли бы различаться:
Проверки могут быть многопризнаковыми (выполняется проверка нескольких признаков входного примера за один раз) или
однопризнаковими (выполняется проверка только одного признака) .
Проверки могут приводить к двум результатам или более чем к двум. (Если все проверки приводят к двум результатам, то мы получаем двоичное дерево решений).
Признаки (или атрибуты), которые используются в узлах дерева, могут быть качественными или количественными. Бинарные признаки могут рассматриваться как любые из них.
Классов может быть два или более. Если мы имеем два класса, и объекты классификации представляют собой двоичные входные векторы, то дерево реализует булеву функцию и называется булевым деревом решений.
Рис. 13.2Рис. 13.2Удобно использовать дерево решений с пометками на ребрах. В нем вершины, не являющиеся концевыми, помечены именами атрибутов, ребра — допустимыми значениями соответствующего атрибута, и концевые вершины — именами классов. Процесс классификации заключается в прохождении пути из корня к листьям, следуя ребрам, соответствующим значениям атрибутов объекта.
Рис. 13.2
Рис. 13.2
На рис. 13.2 приведен пример дерева решений для обучающей выборки из табл. 13.1.
Еще один способ представления решающего правила — продукции. Продукционные правила представляются в виде
если <посылка>, то <заключение>
В системах извлечения знаний в качестве посылки выступает описание объекта через его свойства, а заключением будет вывод о принадлежности объекта к определенному классу. Примером такого
продукционного правила является
если pH < 6, то жидкость — кислота.
В экспертных системах часто используются правила, в которых посылкой является описание ситуации, а заключением — действия, которые необходимо предпринять в данной ситуации. Основные достоинства, благодаря которым продукционные правила получили широкое распространение, заключаются в следующем:
продукционные правила легки для восприятия человеком;
отдельные продукционные правила могут быть независимо добавлены в базу знаний, исключены или изменены, при этом не
требуется перепрограммирование всей системы. Как следствие этого, представление больших объемов знаний не вызывает затруднений;
с помощью продукционных правил выражаются как декларативные, так и процедурные знания.
Решающие деревья более сложны для понимания, чем продукционные правила, что является их недостатком. С другой стороны, любое решающее дерево может быть преобразовано в набор продукционных правил: каждому пути от корня дерева до концевой вершины соответствует одно продукционное правило. Его посылкой является конъюнкция условий «атрибут — значение», соответствующих пройденным вершинам и ребрам дерева, а заключением - имя класса, соответствующего концевой вершине. Так, приведенное выше решающее дерево может быть записано в виде следующего набора продукционных правил:
если волосы = светлые & глаза = голубые то класс = «+»если волосы = светлые к глаза = карие то класс = « —»
если волосы = темные то класс = « —».
Эти наиболее популярные модели описания класса объектов равносильны. Перейдем к рассмотрению конкретных алгоритмов, использующих такие модели.
Алгоритм ДРЕВ
Данный алгоритм является методом качественного обобщения по признакам. Он был предложен как развитие алгоритма обобщения Э. Ханта CLS. Ставится цель построения обобщенного понятия на основе анализа обучающей выборки 8^ содержащей примеры К^ и контрпримеры К-. При этом формируется логическая функция принадлежности к обобщенному понятию, которая служит классифицирующим правилом. В этой логической функции булевы переменные, отражающие значения признаков, соединены операциями конъюнкции, дизъюнкции и отрицания.
На первом этапе работы алгоритма делается попытка сформировать обобщенное конъюнктивное понятие на основе поиска признаков, значения которых являются общими для всех объектов выборки К^ и не встречаются среди контрпримеров К-. Результатом должна стать логическая функция Пк, значение которой равно 1 на всех примерах из выборки К^ и равно нулю на всех контрпримерах из К-.
Затем формируется обобщенное дизъюнктивное понятие Пд, построение которого начинается с выбора среди элементов К^ такого признака А^ который является наиболее существенным для обобщенного понятия. Для выбранного признака ищется значение с', которое
называют разделяющим значением, так как на его основе происходит разбиение выборок К^ и К- на две пары подвыборок: К) и К^ К^у и КД (здесь К) и К) содержат примеры со значениями с', а К^Д и КД соответственно содержат примеры со значениями ^с').
В алгоритме ДРЕВ наиболее важное значение признака определяется с помощью одного из критериев существенности Ф1, Ф2,..., Ф9. Критерии ФХ,Ф2,...,Ф9 составляют набор эвристических правил, встраиваемых в алгоритм; эти правила могут взаимозаменяться в диалоге с пользователем и тем самым оказывать влияние на вид получаемой функции принадлежности или решающего дерева. Поскольку множества значений признаков не наделены никакой структурой, позволяющей извлекать дополнительную информацию, основным параметром, влияющим на существенность значений признаков в формулах, соответствующих Ф-7, служит частота появления их в К^ и К-. В качестве примера критерия существенности может быть взят следующий:
Ф = max ( X/,) ,
М \ гз
где X/, — частота появления Дго значения г-го признака в примерах и контрпримерах, а сц — число различных значений г-го признака в примерах и контрпримерах. Здесь разделяющее значение с! = Щ3 для которого этот критерий выполняется.
После разбиения выборок на подвыборки на основе найденного значения с’ к каждой паре подвыборок применяется аналогичная процедура. В результате работы алгоритма формируется дерево решений, конечным вершинам которого либо сопоставлены подвыборки, для которых существует обобщенное конъюнктивное понятие, либо подвыборка обратилась в пустое множество.
Алгоритм ДРЕВ.
Формирование Пк на множестве S = К^ О К~ .В случае успеха переход к п. 2, иначе — к п. 3.
Печать Пк и исключение признаков, вошедших в Пк
Выбор признака Аг и нахождение разделяющего значения с'.
Разбиение выборок на две пары подвыборок.
Формирование Пк на подвыборках. В случае неудачи — возврат к шагу 3, иначе — переход к шагу 6.
Формирование и печать Пд. Конец.
Алгоритм основан на разбиении выборок частных примеров на подвыборки в соответствии с наличием в них разделяющих значений признаков (см. ниже) и позволяет получать логическую функцию принадлежности ценой небольшого числа просмотров этих выборок.
На первом этапе работы алгоритм пытается построить конъюнктивное обобщенное понятие П^:
Пд — hrx j 1 ^ ^r2 j'2 ^ • • • ^ ^rm jm-
Для этого берется теоретико-множественное пересечение
к+ = к+ п к^ п... п к+,
где каждое К^ понимается как упорядоченное по признакам множество значений.
Построение П^ (дизъюнктивной формы обобщенного понятия) начинается с поиска среди элементов К+ такого значения с’ признака г, которое является наиболее существенным для формирования понятия. Наиболее важное значение признака определяется с помощью одного из критериев существенности Ф1, Ф2,..., Ф9, введенных выше.
Пример 13. 2.
Рассмотрим пример из области медицинской диагностики. В табл. 11.1 была представлена выборка описаний состояний нескольких больных, страдающих определенным заболеванием, а также состояний нескольких людей, не страдающих этим заболеванием. На рис. 13.3 представлено дерево решений, построенное алгоритмом ДРЕВ для диагностики заболевания на основе анализа обучающей выборки из табл. 11.1.
головныеболиголовныеболи"I пожилой возраст"I пожилой возрастначальная стадия/начальная стадия/"I головные\Ьоли"I головные\Ьолисредний возраст & женский пол &нач. стадия & головные боли & t = 37,8 & никаких прочих ощущенийсредний возраст & женский пол &нач. стадия & головные боли & t = 37,8 & никаких прочих ощущений1 начальная стадия1 начальная стадия00озноб NILозноб NILРис. 13.3.Рис. 13.3.нет аппетитанет аппетита
головныеболи
головныеболи
"I пожилой возраст
"I пожилой возраст
начальная стадия/
начальная стадия/
"I головные
\Ьоли
"I головные
\Ьоли
средний возраст & женский пол &
нач. стадия & головные боли & t = 37,8 & никаких прочих ощущений
средний возраст & женский пол &
нач. стадия & головные боли & t = 37,8 & никаких прочих ощущений
1 начальная стадия
1 начальная стадия
0
0
озноб NIL
озноб NIL
Рис. 13.3.
Рис. 13.3.
нет аппетита
нет аппетита
В результате функция принадлежности, построенная алгоритмом ДРЕВ, будет иметь вид:
Болезнь Z = Пожилой возраст & ( Головные боли & Озноб V Нет головной боли & Нач. стадия & Нет аппетита) V Средний возраст & & Жен. пол & Нач. стадия & Головные боли & t = 37,8 & Никаких прочих ощущений.
К основным достоинствам алгоритма ДРЕВ можно отнести его компактность, быстроту сходимости, простой вид формируемых им понятий. Достоинством алгоритма также является то, что в алгоритме ДРЕВ на каждом шаге из дальнейшего рассмотрения удаляются признаки, имеющие для всех примеров и контрпримеров одинаковые значения и, следовательно, не несущие существенной информации. Это может быть особенно важно, если мы имеем дело с большим количеством признаков, и многие из них несущественны.
Построение решающего дерева сиспользованием метрики Хемминга
Дерево решений — это по сути алгоритм, представленный в специальной форме. Рассмотрим алгоритм, который строит бинарное дерево на основании поиска существенного (разделяющего) значения некоторого признака. Каждой вершине дерева приписывается вопрос «Обладает ли пример данным значением признака?», а дуги взвешиваются ответами (Да, Нет). Конечные (висячие) вершины дерева будут помечены утверждениями, соответствующими решениям.
Распознавание начинается с корневой вершины, откуда строится путь до конечной (висячей) вершины. В каждом внутреннем узле необходимо отвечать на вопрос и выбирать соответствующую дугу, ведущую к следующему вопросу. Заметим, что вершины с одинаковыми вопросами могут встречаться несколько раз в разных местах дерева, но в каждом конкретном пути от «корня» к «листу» каждый вопрос встретится только один раз.
Рассмотрим рекурсивный алгоритм построения бинарного дерева на основе обучающей выборки S (далее будем называть этот алгоритм АМХ — «Алгоритм, основанный на метрике Хемминга»).
Для предъявленной обучающей выборки S ищется наиболее важный вопрос, который помещается в корневую вершину дерева. Например, при решении задачи выбора меню для обеда, в корневую вершину разумно поместить вопрос, является ли клиент вегетарианцем. Обучающее множество S в соответствии с ответами ДА, НЕТ разделяется на две подвыборки. Далее для каждой подвыборки снова ищется наиболее важный вопрос и порождаются две новые ветви. Процесс завершается, когда использованы все вопросы.
Для нахождения наиболее важного вопроса используется следующий подход. Предположим, обучающее множество S содержит К
примеров. Построим метрику на множестве вопросов и упорядочим S по следующему правилу. Для каждого вопроса Q строится К-арный кортеж, где j-й элемент в кортеже имеет значение
. _ ( 1, если j-й пример из S дает ответ ДА на вопрос Q, 1 0 в противном случае.
Расстояние между двумя вопросами определяется как расстояние между двумя двоичными векторами по Хеммингу. Обозначим такое расстояние между векторами X и Y как Hd(X,Y\ При этом из рассмотрения исключаются вопросы, на которые все примеры из S дают одинаковый ответ (все 0 или все 1).
Для искомого свойства Р и множества объектов S строится кортеж длины К по правилу: j-e значение в кортеже Р равно 1, если j-й пример из S обладает искомым свойством Р; j-e значение в кортеже Р равно 0, если j-й пример из S этим свойством не обладает. Чтобы выбрать наиболее важный вопрос, ищем среди всех подходящих вопросов Q такой, чья связь с Р наиболее тесная. Для этого воспользуемся правилом: ищем pm = mm^Hd(P, Q), К — Hd(P,Q)}, то есть берем наименьшее расстояние по Хеммингу от Q до Р и от Q до -^Р (рт далее называем псевдометрикой).
Когда наиболее важный вопрос выбран, выполняется расщепление обучающего множества на 5да и бнет- затем для каждого подмножества выполняются аналогичные вычисления.
Пример 13. 3.
Рассмотрим пример построения дерева решений для анализа поведения Лондонского фондового рынка. Пусть главные факторы, влияющие на фондовый рынок, это
состояние на вчерашний день;
состояние фондового рынка в Нью-Йорке;
банковские тарифы (ставки);
процент безработицы;
перспективы для Англии.
В табл. 13.2 приведено обучающее множество из шести примеров.
Пусть наша цель — построить дерево, определяющее, наблюдается ли рост на Лондонском фондовом рынке. Искомое свойство «Сегодня наблюдается рост». Ищем расстояние по Хеммингу (Hd) между этим свойством и каждым атрибутом. Так, для атрибута «Банковские ставки растут» расстояние по Хеммингу Hd(l 1 1000, 010101) = 4 (значения различны в 4-х позициях). Тогда Hd = 4, К — Hd = 6 — 4 = = 2, min(4,2) = 2. Следовательно, рт («Сегодня наблюдается рост», «Банковские ставки растут») = 2.
Поскольку критерием выбора является минимальное значение рт, выбираем наиболее важный вопрос «Безработица растет?». Проведем
Таблица 13.2
1
2
3
4
5
6
Hd
рт
Наблюдается ли сегодня рост на фондовом рынке?
да
да
да
нет
нет
нет
Наблюдался ли рост вчера?
да
да
нет
да
нет
нет
2
2
Наблюдается ли сегодня рост в Нью- Йорке?
да
нет
нет
нет
нет
нет
2
2
Растут ли банковские ставки?
нет
да
нет
да
нет
да
4
2
Безработица растет?
нет
да
да
нет
нет
нет
1
1
Несет ли Англия убытки?
да
да
да
да
да
да
3
3
расщепление S: 8да включает примеры 2 и 3. В дереве эта вершина будет конечной (для всех примеров множества наблюдается рост на фондовом рынке). 5Нет содержит примеры 1,4, 5, 6. Результаты повторных вычислений приведены ниже в табл. 13.3.
Таблица 13.3
1
4
5
6
Hd
рт
Наблюдается ли сегодня рост на фондовом рынке?
да
нет
нет
нет
Наблюдался ли рост вчера?
да
да
нет
нет
1
1
Наблюдается ли сегодня рост в Нью-Йорке?
да
нет
нет
нет
0
0
Растут ли банковские ставки?
нет
да
нет
да
3
1
Безработица растет?
нет
нет
нет
нет
1
1
Несет ли Англия убытки?
да
да
да
да
3
1
Из результата видно, что когда безработица не растет, Лондонский фондовый рынок в точности следует за Нью-Йоркским. Приведем ниже окончательное дерево решений (рис. 13.4).
Рис. 13.4.
Заметим, что в алгоритме АМХ, так же, как и в представленном выше алгоритме ДРЕВ, выбор наиболее существенного признака может определяться на основании эвристических критериев, задаваемых пользователем.
Индукция решающих деревьев
Алгоритм ID3 (Induction of Decision trees, разработан P. Куинланом) формирует решающие деревья на основе примеров. Каждый пример имеет одинаковый набор атрибутов (признаков), которые можно рассматривать как качественные признаки. Этот алгоритм относится к алгоритмам обучения с учителем, таким образом, обучающая выборка, необходимая для его работы, содержит положительные и отрицательные примеры формируемого понятия. В соответствии с терминологией автора назовем признаки, или атрибуты, которые задают свойства каждого примера обучающей выборки, предсказывающими атрибутами. Такие признаки могут быть бинарными, количественными либо качественными. Единственный признак, который для каждого примера задает, принадлежит ли он формируемому понятию или нет, назовем целевым или предсказываемым атрибутом. Этот атрибут является бинарным и также входит в обучающую выборку.
Пример 13. 4.
Пусть есть набор примеров, в каких погодных условиях можно и в каких нельзя играть в гольф. Предсказывающими атрибутами здесь являются
прогноз погоды Е {солнечно, пасмурно, дождливо},
температура Е [10, 33] (в градусах Цельсия),
влажность Е [0, 100] (в процентах),
ветер Е {true, false} (либо есть ветер, либо ветра нет).
Целевой или предсказываемый атрибут в этом примере — Играть ли в гольф — принимает два значения: {Да — играть, Нет — не играть}. Обучающее множество приведено в табл. 13.4.
Таблица 13.4
Прогноз погоды
Температура
Влажность
Ветер
Играть ли в гольф?
Солнечно
29
85
false
Не играть
Солнечно
27
90
true
Не играть
Пасмурно
28
78
false
Играть
Дождливо
21
96
false
Играть
Дождливо
20
80
false
Играть
Дождливо
18
70
true
Не играть
Пасмурно
18
65
true
Играть
Солнечно
22
95
false
Не играть
Солнечно
21
70
false
Играть
Дождливо
24
80
false
Играть
Солнечно
24
70
true
Играть
Пасмурно
22
90
true
Играть
Пасмурно
27
75
false
Играть
Дождливо
22
80
true
Не играть
Заметим, что в этом примере два атрибута имеют непрерывные значения. Алгоритм ID3 не может непосредственно работать с атрибутами, имеющими непрерывные области определения, хотя ниже мы рассмотрим способ расширения алгоритма на случай непрерывных атрибутов.
Алгоритм строит такое решающее дерево, в котором с каждым узлом ассоциирован атрибут, являющийся наиболее информативным среди всех атрибутов, еще не рассмотренных на пути от корня дерева. В качестве меры информативности обычно используется теоретикоинформационное понятие энтропии, хотя возможны и другие подходы.
Если имеется п равновероятных значений атрибута, то вероятность р каждого из них равна 1/п и информация, сообщаемая нам значением атрибута, равна -logp = logn (здесь и далее log обозначает логарифм по основанию 2). В общем случае, если мы имеем дискретное распределение Р = (pi,P2, • • • ,Рп), то передаваемая информация или энтропия Р вычисляется по формуле
ЦР) = -^Pi log Pi-
2=1
Чем более равномерным является распределение, тем больше его энтропия.
Если множество 8 примеров разбито на попарно непересекаю- щиеся классы Ci, С2)..., С&, то информация, необходимая для того, чтобы идентифицировать класс примера, равна Info(S) = ЦР^ где Р — дискретное распределение вероятностей появления соответствующего примера, сопоставленное набору классов Ci, С2,..., ф р (\сл |с2|
р = • • •, —, где |сф |5| — мощности как отдельных классов, так и всей выборки соответственно.
В нашем примере с игрой в гольф Info(S) = 7(9/14,5/14) = = 0, 94. Здесь 14 — количество примеров в обучающей выборке, 9 и 5 — количество примеров для выборок К+ и К~ соответственно.
Разбив множество примеров на основе значений некоторого атрибута А на подмножества Si, 82,..., 8п, мы можем вычислить Info(S) как взвешенное среднее информации, необходимой для идентификации класса примера в каждом подмножестве:
Так, для атрибута Прогноз погоды в примере с игрой в гольф мы получим 1п/о(Прогноз погоды, 8) = 5/14*7(2/5, 3/5) +4/14*7(4/4, 0) + + 5/14*7(3/5, 2/5) = 0,694.
Величина Gain^A, 8) = Info(S) — Info(A, S) показывает количество информации, которое мы получаем благодаря атрибуту А. Алгоритм ID3 использует эту величину для оценки информативности атрибута при построении решающих деревьев, что позволяет получать деревья минимальной высоты.
Алгоритм ID3 основан на следующей процедуре рекурсивного характера.
Выбирается атрибут для корневого узла дерева, и формируются ветви для каждого из возможных значений этого атрибута.
Дерево используется для классификации обучающего множества. Если все примеры на некотором листе принадлежат одному классу, то этот лист помечается именем этого класса.
Если все листья помечены именами классов, алгоритм заканчивает работу. В противном случае узел помечается именем очередного атрибута, и создаются ветви для каждого из возможных значений этого атрибута, после чего алгоритм снова выполняет шаг 2.
В примере с игрой в гольф получим следующее решающее дерево (рис. 13.5).
Ниже приведен псевдокод алгоритма ID3.
Алгоритм ID3
Алгоритм ID3 (А: множество предсказывающих атрибутов,
С: целевой атрибут, S: обучающее множество) результат решающее дерево начало
если S = 0, то вернуть одну вершину со значением «ошибка» если S состоит из примеров с одинаковым значением атрибута С, то вернуть одну вершину со значением атрибута С
если А = 0, то вернуть одну вершину со значением атрибута С, наиболее частым среди примеров из S
Пусть D — атрибут с наибольшим значением Gain^D^ S) среди всех атрибутов из А.
Пусть dj, j = 1, 2,..., т — значения атрибута D. a Sj, j = 1,2,... ^т -— подмножества обучающих примеров, состоящие из примеров со значением dj для атрибута D
Вернуть дерево с корнем, помеченным D и дугами, помеченными
di,d2)..., dm^ соединяющими корень с деревьями
ID3(A\^DY С, 51), ID3(A\^Dy С, S2)v.. JD3(A\^D^ С, Sm>, конец
Рассмотрим оценку вычислительной сложности алгоритма ID3. Положим для простоты, что размер областей определения всех атрибутов одинаков и равен Ь. Количество рекурсивных вызовов в худшем случае составит 1 + b + Ъ2 + ... + б^-1, где к — количество атрибутов, а общая сложность составит
к-1суп^ = ^ Дг) ■2 = 0
где С(г) — сложность одного шага алгоритма (как мы увидим в дальнейшем, она зависит от глубины рекурсивной вложенности).
Единственная трудоемкая операция, выполняемая на одном шаге алгоритма, это выбор атрибута D с максимальным значением Gain^D^ Sy При этом количество альтернатив и размеры подмножества обучающих примеров сужаются с увеличением глубины рекурсивной вложенности. На уровне г они составляют соответственно к — г и п/by где п — количество примеров. Для того, чтобы вычислить Gain^D, Sy достаточно одного просмотра множества примеров, поэтому общее число операций составит
Подставив это выражение в сумму, определяющую общую сложность, и выполнив очевидные преобразования, получим
к-1
суп^ = n^k -гЩ ОЦ2п\
2 = 0
Аналогичный результат получен в работе Утгоффа с использованием несколько иной методики доказательства.
Рассмотрим, как обрабатываются атрибуты, имеющие непрерывные значения. Даже если некоторый атрибут А имеет непрерывную область определения, в обучающем множестве имеется лишь конечное множество значений щ < С2 < ... < сп. Для каждого значения щ мы разбиваем примеры на те, у которых значение А ^ с^, и те, у которых А > щ. Для каждого из возможных разбиений мы вычисляем ОатУА, S) и выбираем наиболее информативное разбиение. Так было получено разбиение по значению 75 для атрибута Влажность в примере с игрой в гольф.
Сравним алгоритм ID3 с ДРЕВ и АМХ. Первые два из рассмотренных выше алгоритмов строят только бинарные деревья решений, тогда как каждый узел в дереве, построенном алгоритмом ID3^ может иметь более двух потомков. Это обусловлено тем, что в алгоритме ID3 на каждом шаге определяется важнейший признак, а в алгоритмах ДРЕВ и АМХ — важнейшее (разделяющее) значение признака.
Признак может иметь несколько значений, а на вопрос «Обладает ли пример каким-либо значением признака?» можно дать только два ответа: Да или Нет. Поэтому в тех случаях, когда признаки имеют больше двух значений, наиболее подходящим является алгоритм ID3. Алгоритмы ДРЕВ и АМХ также можно использовать и в этих случаях, потому что любое дерево решений можно представить в виде бинарного. Но такое дерево будет более громоздким и не очень удобным для использования, поскольку придется иметь дело с длинными путями.
Алгоритм ID3 хорошо зарекомендовал себя в широком спектре приложений. Он обеспечивает высокое качество классификации, а учет статистических закономерностей позволяет ему работать с зашумленными данными. После того, как алгоритм был впервые опубликован, ряд исследователей предложили различные усовершенствования алгоритма. Так, в статье Утгоффа предложена инкрементная версия алгоритма, которая позволяет не создавать дерево заново при добавлении одного примера, а перестроить его. Это свойство важно для того, чтобы учесть изменения в базах данных. В работе Нуньеса предложена версия алгоритма, позволяющего использовать дополнительную информацию о предметной области. Наконец, в статье Мингера рассмотрены различные методики упрощения решающих деревьев и проведено их экспериментальное сравнение.
Модификация алгоритма Куинлана — ID5R
В своей работе Утгофф предложил инкрементную версию алгоритма ID3 под названием ID3R. Решающее дерево, простроенное этим алгоритмом, совпадает с решающим деревом, которое было бы построено с помощью алгоритма ID3, что позволяет использовать алгоритм ID3R как прямую замену ID3 в тех случаях, когда требуется инкрементное обучение. Инкрементная версия сохраняет предыдущий вариант дерева решений, а при добавлении новых примеров лишь перестраивает его. Алгоритм хранит достаточно информации, чтобы при появлении нового примера заново вычислить информативность каждого атрибута и перестроить дерево таким образом, чтобы наиболее информативный атрибут оказался в вершине дерева.
Формально решающее дерево алгоритма ID3R имеет вид
Лист, с которым связаны:
имя класса,
множество описаний примеров, принадлежащих классу.
Корневая вершина, с которой связаны:
проверка атрибута с ответвлением к другим решающим деревьям (свое поддерево для каждого возможного значения
атрибута), а также счетчики положительных и отрицательных примеров для каждого значения,
неиспользованные атрибуты, каждый с набором счетчиков (для всех возможных значений) положительных и отрицательных примеров.
Как видно, разметка решающего дерева отличается от разметки, используемой в алгоритме ID3, поэтому его интерпретация также несколько отличается. Когда дерево используется для классификации обучающего примера, от корня дерева проходится путь в соответствии со значениями атрибутов в узлах проверки до тех пор, пока не будет достигнут лист, в котором все примеры принадлежат одному классу. Если достигнутый лист содержит примеры разных классов, то алгоритм развертывает его в поддерево и продолжает работу.
Алгоритм ID3R выглядит следующим образом. Он получает на входе решающее дерево и очередной обучающий пример и выдает обновленное решающее дерево.
Алгоритм IDR5
Алгоритм ID3R (Т: решающее дерево, s: обучающий пример) результат решающее дерево начало
если Т = 0, то вернуть лист с именем класса из обучающего примера и множеством примеров, содержащим один обучающий пример s
если Т — лист и пример принадлежит тому же классу, что и Г, то добавить пример к списку примеров листа и вернуть Т
иначе
если Т — лист, то преобразовать его в дерево высоты 1, выбрав решающий атрибут произвольным образом, обновить счетчики положительных и отрицательных примеров для каждого значения решающего атрибута
если текущий решающий атрибут не является наиболее информативным, то перестроить дерево таким образом, чтобы наиболее информативный атрибут оказался в корне дерева, рекурсивно установить наилучший атрибут для всех поддеревьев, обновить поддерево, находящееся под значением решающего атрибута, присутствующем в s.
Вернуть Т
конец если конец
Пример 13. 5.
Рассмотрим работу алгоритма на примере табл. 13.5. Каждый пример описывается тремя атрибутами: рост, цвет волос и цвет глаз.
Таблица 13.5
Класс
Рост
Волосы
Глаза
-
Низкий
Светлые
Карие
-
Высокий
Темные
Карие
+
Высокий
Светлые
Голубые
-
Высокий
Темные
Голубые
-
Низкий
Темные
Голубые
+
Высокий
Рыжие
Голубые
-
Высокий
Светлые
Карие
+
Низкий
Светлые
Голубые
Изначально решающее дерево является пустым. После первого примера ( —, рост = низкий, волосы = светлые, глаза = карие), дерево превращается в лист (рис. 13.6 а). Следующий пример также является отрицательным, поэтому он просто добавляется к списку примеров, давая дерево, изображенное на рис. 13.6 б. Третий пример (+, рост = высокий, волосы = светлые, глаза = голубые) — положительный, поэтому лист преобразуется в дерево высоты 1. Решающий атрибут выбирается произвольным образом, в данном случае им является атрибут рост. Сразу после преобразования дерево имеет вид, изображенный на рис. 13.6 в (в квадратных скобках показано количество положительных и отрицательных примеров соответственно), но наиболее информативным является атрибут глаза. Поэтому первым шагом будет преобразование непосредственных поддеревьев таким образом, чтобы атрибут глаза являлся их решающим атрибутом. В данном случае оба поддерева являются листьями, поэтому они разворачиваются в деревья с использованием атрибута глаза в качестве решающего атрибута (рис. 13.6 г), после чего атрибуты рост и цвет глаз меняются местами (рис. 13.6 д).
Заметим, что поддерево под вершиной, помеченной значением глаза = голубые, пока пусто, так как процесс построения дерева еще не закончен. Следующим шагом является проверка решающих атрибутов на нижних уровнях дерева. Так, атрибут рост сейчас является решающим не потому, что он наиболее информативный, а в результате преобразования дерева на предыдущем шаге. После проверки оказывается, что рост является более информативным, чем волосы, поэтому перестройки этого поддерева не требуется.
Наконец, последний шаг алгоритма — это обновление поддерева под признак глаза = голубые. В результате получается структура, изображенная на рис. 13.6 е.
Рис. 13.6.
19 В.Н. Вагин и др.
Очевидно, что правое поддерево с корнем рост может быть свернуто в лист, поскольку все его примеры принадлежат одному классу. Однако алгоритм ID3R не выполняет это действие, так как неизвестно, окажется ли подобное свертывание полезным. С одной стороны, в свернутом виде поддерево будет занимать меньше места и его легче обновлять, но, с другой стороны, разворачивание вновь листа в дерево — достаточно трудоемкая операция. Эксперименты, проведенные автором алгоритма, показывают, что в общем случае сворачивание поддерева не дает положительного эффекта.
Оставшиеся примеры обрабатываются аналогичным образом. В результате получается следующее решающее дерево (рис. 13.7).
светлые [2,2] темные [0,3]светлые [2,2] темные [0,3]| глаза | голубые [2,0] карие [0,2]| глаза | голубые [2,0] карие [0,2]I рост II рост I| рост || рост |низкий [1,0] выский [ 1,0]низкий [1,0] выский [ 1,0]I волосыI волосыыжые [1,0]ыжые [1,0]| глаза | голубые [0,2] карие [0,1]| глаза | голубые [0,2] карие [0,1](рост = высокий(рост = высокийрост =рост =| рост || рост |высокий 1Г низкий)высокий 1Г низкий)высокий [0,1]высокий [0,1](рост = высокий глаза = голубые)(рост = высокий глаза = голубые)высокий [0,1]высокий [0,1]
светлые [2,2] темные [0,3]
светлые [2,2] темные [0,3]
| глаза | голубые [2,0] карие [0,2]
| глаза | голубые [2,0] карие [0,2]
I рост I
I рост I
| рост |
| рост |
низкий [1,0] выский [ 1,0]
низкий [1,0] выский [ 1,0]
I волосы
I волосы
ыжые [1,0]
ыжые [1,0]
| глаза | голубые [0,2] карие [0,1]
| глаза | голубые [0,2] карие [0,1]
(рост = высокий
(рост = высокий
рост =
рост =
| рост |
| рост |
высокий 1Г низкий)
высокий 1Г низкий)
высокий [0,1]
высокий [0,1]
(рост = высокий глаза = голубые)
(рост = высокий глаза = голубые)
высокий [0,1]
высокий [0,1]
Рис. 13.7.
После сжатия этого дерева, сворачивая, где возможно, поддеревья в один лист, мы получим дерево, изображенное на рис. 13.8. Такое же дерево будет построено алгоритмом ID3 на этих восьми обучающих примерах.
Рис. 13.8.Рис. 13.8.
Рис. 13.8.
Рис. 13.8.
Утгофф провел теоретическую оценку вычислительной сложности алгоритма ID3R и осуществил ряд экспериментов. В худшем случае количество операций составляет
С(Ю5Н) = О(п ■ к ■ Ък\
где п — размер обучающего множества (количество примеров), к — количество атрибутов, Ь — максимальное количество различных значений одного атрибута. Сравним этот алгоритм с методом «грубой силы», когда после добавления каждого обучающего примера заново строится решающее дерево с помощью алгоритма ID3. Такой алгоритм получил название ID3f. Легко показать, что C(ID3') = = О^к2 • п2).
Поскольку обычно к • Ьк > к2, то на малом количестве примеров метод «грубой силы» работает быстрее. Однако по мере увеличения количества примеров вклад множителя п2 становится все более значительным, в то время как к • Ък остается постоянным. Поэтому на большом обучающем множестве (а именно этот случай нам наиболее интересен) алгоритм ID3R работает быстрее.
Алгоритм ID3R строит решающее дерево инкрементно, модифицируя решающее дерево таким образом, чтобы наиболее информативный атрибут всегда проверялся первым. Хотя алгоритм сохраняет обучающие примеры в решающем дереве, они используются только в процессе изменения структуры дерева, а не обрабатываются каждый раз при добавлении нового примера. Алгоритм строит такое же решающее дерево, что и оригинальный алгоритм ID3.
Вычислительная сложность алгоритма ID3R на больших обучающих множествах ниже, чем у метода «грубой силы», что подтверждено эмпирическим сравнением на одних и тех же обучающих выборках. Результаты сравнения даны в работе Утгоффа.
Алгоритм Reduce
Характерной чертой алгоритма ID3 является то, что для детерминированных (без шума) входных данных примеры обучающего множества всегда классифицируются правильно. Когда алгоритм ID3 применяется к данным, которые могут содержать значения в некоторой степени случайным образом искаженные, например, в результате ошибок, измерения, результирующее решающее дерево становится слишком большим и сильно ветвящимся. В этом случае предлагается построение решающего дерева разбить на три части. Сначала с помощью алгоритма ID3 или ID3R строится первоначальное большое дерево, затем это дерево подвергается упрощению с целью удаления ветвей с низкой статистической достоверностью. Последним этапом является обработка дерева для повышения его понятности.
В работе Минтера проведено сравнение нескольких методов упрощения деревьев. Основываясь на результатах этой работы, мы рассмотрим алгоритм Reduce, предложенный Куинланом в 1987 г. Алгоритм Reduce формирует последовательность упрощенных деревьев, и для его работы необходимо наличие тестового множества примеров. Алгоритм работает следующим образом: сначала полное дерево используется для классификации примеров тестового множества, и для каждого узла дерева запоминается количество примеров каждого класса. Затем для каждого узла вычисляется количество ошибок, допущенных в процессе классификации и количество ошибок, которое было бы допущено, если бы соответствующее поддерево было редуцировано в лист. Из всех узлов дерева выбирается тот, который дает наибольший выигрыш в количестве ошибок, и преобразуется в лист. Процесс повторяется до тех пор, пока не останется узлов, редукция которых уменьшает общее количество ошибок.
Алгоритм Reduce
алгоритм Reduce (Г: решающее дерево,
S: множество тестовых примеров) результат упрощенное решающее дерево начало для всех s Е S классифицировать пример s по дереву Т, увеличивая счетчик, соответствующий классу примера, в каждом узле дерева конец для повторять
для всех t — узлов дерева Т
вычислить количество ошибок Eo(t) в поддереве с корнем в t; вычислить количество ошибок Ei(t), которое будет допущено, если поддерево будет преобразовано в лист
вычислить выигрыш G(t) = Eo(t) — Ei(t)
конец для
найти to : maxG(t) = G(to)
если G(to) > 0 то преобразовать поддерево to в лист
пока G(to) > 0
вернуть Т
конец
Пример 13. 6.
Рассмотрим работу алгоритма на примере из предыдущего раздела. Пусть имеется решающее дерево (рис. 13.9) и множество тестовых примеров, представленных в табл. 13.6.
Классифицируя первый пример ( —, низкий, светлые, голубые), мы проходим по пути дерева волосы светлые глаза голубые
+, т. е. этот пример классифицирован ошибочно. Так как этот
Класс
Рост
Волосы
Глаза
-
Низкий
Светлые
Голубые
-
Высокий
Темные
Карие
+
Высокий
Светлые
Голубые
+
Высокий
Темные
Карие
-
Низкий
Темные
Голубые
+
Низкий
Рыжие
Голубые
-
Высокий
Светлые
Голубые
Таблица 13.6Таблица 13.6
Таблица 13.6
Таблица 13.6
пример отрицательный, мы увеличиваем счетчик отрицательных примеров в каждом узле дерева. Дерево принимает вид, приведенный на рис. 13.10
(в квадратных скобках, как и ранее, показывается количество положительных и отрицательных примеров соответственно).
Рис. 13.10.Рис. 13.10.
Рис. 13.10.
Рис. 13.10.
Аналогичным примеры, после (рис. 13.11).Аналогичным примеры, после (рис. 13.11).
Аналогичным примеры, после (рис. 13.11).
Аналогичным примеры, после (рис. 13.11).
образом классифицируются остальные тестовые чего дерево выглядит следующим образом
Рис. 13.11.
После того, как все примеры тестового множества классифицированы, алгоритм вычисляет количество ошибок в каждом поддереве. Для поддерева с корнем глаза количество ошибок составляет Ео(глаза) = 2, а для всего дерева Е^(волосы) = 3. Если теперь все поддерево с корнем глаза заменить на один лист со
значением « —», то количество ошибок составит Е±(глаза) = 1, т. е. количество ошибок уменьшится на С(глаза) = Ео(глаза) — Е1(глаза) = = 1. Проведя аналогичные подсчеты для всего дерева, получаем Ei(волосы) = 3, G (волосы) = 0.
Таким образом, поддерево с корнем глаза обеспечивает наибольший выигрыш в количестве ошибок и редуцируется в лист (рис. 13.12).
Рис. 13.12.
На следующей итерации алгоритма остается только одна возможность для редукции — узел волосыно, как нетрудно проверить, такая редукция приведет к увеличению общего количества ошибок, поэтому на этом работа алгоритма заканчивается.
Дадим оценку вычислительной сложности алгоритма Reduce. Обозначим размер тестового множества через п и количество узлов исходного дерева как р. Классификация выполняется п раз и в худшем случае приведет к перебору всех р вершин дерева. Поэтому на классификацию примеров тестового множества требуется пр операций. Вычисление E^(t) и Ei(t) для всех узлов можно произвести за один просмотр дерева снизу вверх. Поскольку каждая редукция поддерева приводит к уменьшению узлов дерева как минимум на один, а общее количество редукций не может быть больше р, то на цикл редукции
будет затрачено не более р2 операций. Таким образом, вычислительная сложность алгоритма Reduce С (Reduce) = О (пр + р2).
Эксперименты, проведенные Мингером, показывают, что использование алгоритма Reduce приводит к значительному уменьшению количества узлов в решающем дереве. В зависимости от количества шума в обучающем множестве, количество узлов уменьшалось от 2 до 10 раз. При этом точность классификации, выраженная как отношение количества ошибок к общему числу примеров, увеличивалась на 25%.
Таким образом, применение алгоритма Reduce способно существенно упростить дерево решений и повысить точность классификации, но требует наличия отдельного множества тестовых примеров.
Фокусирование
Важным шагом вперед при решении задачи обобщения понятий является получение решающих правил (продукций, деревьев), которые содержат не только логические функции от конкретных значений признаков, но включают более общие закономерности, например, обобщенные значения тех же атрибутов. Рассмотрим метод фокусирования, где предполагается, что над значениями каждого из атрибутов Аг построена иерархия типа «класс — подкласс», называемая ISA-иерархией. Элементы нижнего уровня являются значениями атрибутов сц^ с^ ... ^ (4n и встречаются в обучающем множестве S. Элементы верхних уровней соответствуют более общим понятиям, т. е. подмножествам S^j С Dom(A^.
Важным требованием к подобной иерархии является то, что каждые два элемента должны иметь наименьшую верхнюю грань, т. е. это должно быть не просто частично упорядоченное множество, а верхняя полу решетка. На практике это требование легко удовлетворить, добавив Dom(A^ на вершину иерархии.
Каждому элементу иерархии соответствует конъюнкт вида Аг Е Sij в формируемых правилах, причем правило содержит в точности по одному конъюнкту для каждого предсказывающего атрибута:
Ai е S131 & А^ Е S2j2 & ... & Ат е Smjm С.
Естественно, конъюнкт вида Аг Е Dom(A^ тождественно истинен и может быть опущен.
Для работы алгоритма фокусирования необходимо также наличие отрицательных примеров в обучающем множестве. С помощью отрицательных примеров учитель ограничивает набор допустимых обобщений и может определить, когда обучение должно быть завершено. Алгоритм формирует результат в виде обобщенного продукционного правила, выраженного через известные предикаты.
Целью алгоритма фокусирования является нахождение конъюнктов в условии правила. В иерархии каждого атрибута алгоритм отслеживает два указателя, называемые нижним L и верхним U. L указывает на наиболее ограничивающее условие, которое может быть конъюнктом правила. Правильный конъюнкт является обобщением любого из конъюнктов, расположенных ниже L. Указатель U отмечает наименее ограничивающее условие, которое может быть конъюнктом. Все условия, не являющиеся специализацией [7, не могут быть конъюнктами, так как противоречат контрпримерам.
Алгоритм фокусирования.
Найти первый положительный пример и установить в каждой иерархии указатель L на значение, соответствующее значению атрибута в этом примере, а указатель U — на вершину иерархии.
Пусть I — очередной пример. Если это положительный пример, то в каждой иерархии установить £. как наименьшую верхнюю грань предыдущего положения L и вершины, соответствующей текущему значению атрибута.
Если I является отрицательным примером и существует в точности одна иерархия, в которой вершина, соответствующая текущему значению атрибута, лежит ниже U и не ниже £. мы имеем дело с блиэюним промахом. В этой иерархии следует установить U как наименьшую верхнюю грань:
вершины, на которую указывает U и всех нижележащих вершин;
вершины, на которую указывает L и всех вышележащих вершин;
вершин, не лежащих выше текущего значения атрибута.
В противном случае (I является отрицательным примером и существует более одной иерархии, в которой вершина, соответствующая текущему значению атрибута, лежит ниже U и не ниже Е), мы имеем дело с дальним промахом. Возможные действия в данном случае будут рассмотрены отдельно.
Если существует иерархия, в которой L 7^ U, выбрать следующий пример и перейти к шагу 2. В противном случае СТОП.
Когда алгоритм останавливается, L и U указывают на одну и ту же вершину в каждой иерархии. Эти вершины и являются искомыми конъюнктами.
Рассмотрим подробнее пункт 4 алгоритма. Когда существует более одной иерархии, в которой вершина, соответствующая текущему значению атрибута, лежит ниже U и не ниже Д мы не знаем, в какой из них следует опустить [7, чтобы учесть контрпример. Существует несколько стратегий для обработки дальних промахов:
игнорировать их и не изменять положения указателей;
запросить пользователя, какую иерархию выбрать;
упорядочить обучающее множество таким образом, чтобы положительные примеры предшествовали отрицательным;
рассмотреть все возможные случаи. Это потребует введения новых пар указателей для каждого случая. В конце обучения будет ясно, какой выбор был правильным.
Пример 13. 7.
Целью исследования являются фразы естественного языка (английского). Надо вывести правило, позволяющее выяснить, надо ли ставить неопределенный артикль «а» перед словом или нет. Понятия, или предикаты, которые образуют базу знаний, делятся на четыре независимые группы.
Группа 1. Def(x), Indef(x).
Группа 2. Singular (ж), Plural(x).
Группа 3. agent(x,?/), object^,?/),
Группа 4. Past (ж), Present (ж), Future(x).
В первой группе предикатов задается, является ли ж (г — любое слово) определенным или неопределенным объектом. Вторая группа определяет единственное или множественное число объекта х. Группа 3 определяет, является х агентом или объектом действия в ситуации у. В группе 4 задается время действия — прошедшее, настоящее или будущее. Для каждой группы задаем иерархию понятий в виде диаграммы частичного порядка, или полурешетки. На высших уровнях таких структур располагаются дизъюнктивные отношения. Дизъюнкции более высокого уровня будут более общими, чем дизъюнкции низших уровней. Таким образом, каждая структура будет аналогом ISA-иерархии (иерархии класс — подкласс). На рис. 13.13 приведены иерархические структуры для рассматриваемого примера.
truetruetruetrueSingular PluralSingular PluralDefinite IndefiniteDefinite Indefinite
true
true
true
true
Singular Plural
Singular Plural
Definite Indefinite
Definite Indefinite
Цель алгоритма — построить продукционное правило в виде:
IF условия THEN АРТИКЛЬ (ж, «а»).
Построенное алгоритмом правило должно содержать конъюнкцию предикатов из каждой группы.
В табл. 13.7 приведена обучающая выборка из пяти примеров — предложений на английском языке. В каждом предложении выделено исследуемое слово. Правая часть таблицы содержит предикаты, приписанные этому слову.
Таблица 13.7
p
Фразы
Предикаты базы знаний
Ставить ли артикль «а»
1
A dog chases balls.
Indef(x), Singular (ж), Present^), agent^,?/)
Да
2
Dogs chase balls.
Indef(x), Р1ига1(ж), Present^), agent^,?/)
Нет
3
John chased a dog.
Indef(x), Singular (ж), РадЦж), object^,?/)
Да
4
Dogs will chase a ball.
1пбе1(ж), Singular (ж), РЩиге(ж), object^,?/)
Да
5
John will chase dogs.
Ве£(ж), Singular (ж), РЩиге(ж), agent^,?/)
Нет
Пусть примеры рассматриваются алгоритмами в этом порядке. Первым анализируется положительный пример. Положение указателей U, L, соответствующих ему, показано на рис. 13.14: L указывает на вершины Indef, Singular, Present, agent; верхний указатель U в каждой структуре установлен на корневую вершину, помеченную true.
Definite L -> Indefinite L -> Singular Plural
L -> agent objectL -> agent objectPast L -> Present FuturePast L -> Present FutureU -* trueU -* true
L -> agent object
L -> agent object
Past L -> Present Future
Past L -> Present Future
U -* true
U -* true
U truetrueU truetrueDefinite L -> Indefinite £/-*£-* Singular PluralDefinite L -> Indefinite £/-*£-* Singular PluralU -* trueU ™* trueU -* trueU ™* truePast L -> Present FutureРис. 13.15.Past L -> Present FutureРис. 13.15.
U truetrue
U truetrue
Definite L -> Indefinite £/-*£-* Singular Plural
Definite L -> Indefinite £/-*£-* Singular Plural
U -* trueU ™* true
U -* trueU ™* true
Past L -> Present Future
Рис. 13.15.
Past L -> Present Future
Рис. 13.15.
Второй экземпляр обучающей выборки — контрпример. Имеется единственная структура, для которой текущее значение атрибута (Plural) не ниже L. На этой структуре понижаем указатель U так, чтобы он находился не ниже L (рис. 13.15).
U ™* trueL ™* U -> truL not specidative\//L agentPast PresentFutureРис. 13.16.objectU ™* trueL ™* U -> truL not specidative\//L agentPast PresentFutureРис. 13.16.objectDefinite L -* Indefinite U -* L -> Singular PluralDefinite L -* Indefinite U -* L -> Singular Plural
U ™* trueL ™* U -> tru
L not specidative\/
/L agent
Past PresentFuture
Рис. 13.16.
object
U ™* trueL ™* U -> tru
L not specidative\/
/L agent
Past PresentFuture
Рис. 13.16.
object
Definite L -* Indefinite U -* L -> Singular Plural
Definite L -* Indefinite U -* L -> Singular Plural
Третий пример выборки также положительный. Соответствующие ему предикаты приведены в табл. 13.7. Здесь мы повышаем указатель L до корневой вершины true в структуре agent — object. Мы также повышаем указатель L до вершины non-speculative в структуре времен; эта вершина будет обобщением случаев Past и Present (рис. 13.16).
U ™> truetrueU ™> truetrue
U ™> truetrue
U ™> truetrue
Четвертый положительный пример обладает свойством Future, это показывает, что все варианты задания параметра «время» покрываются положительными примерами, указатель L для дерева времен устанавливается на корневую вершину true. Последний элемент обучающей выборки — также контрпример. На рис. 13.17 показано окон-
нательное распределение указателей после обучения. Теперь сформулируем результат:
Indef(X) к Singular(X) к true к true =Ф> АРТИКЛЬ^Х, «а»\
Можно отбросить части true в конъюнкции. Окончательный результат: ЕСЛИ X неопределенное и в единственном числе ТО ставим перед ним артикль «а».
truetrue
Definite U -* L -> Indefinite U -* L -> Singular Plural
Рис. 13.17.
Метод фокусирования не приспособлен для работы с зашумленными данными. Если исходные данные содержат шум или противоречивы, произойдет одно из двух:
либо для некоторого положительного примера значение атрибута не окажется ниже вершины, указываемой U;
либо для отрицательного примера новое положение U окажется ниже L.
Таким образом, сильными сторонами метода фокусирования являются
обучение является инкрементным, если только не надо переупорядочивать обучающее множество;
не требуется запоминать обучающие примеры;
автоматически распознается момент, когда обучение должно быть завершено;
результат обучения является оптимальным в том смысле, что находится наиболее общее правило, не противоречащее контрпримерам.
С другой стороны метод фокусирования имеет и недостатки:
довольно много предположений об исходных данных;
в случае дальних промахов часть информации может быть утеряна или метод становится ненадежным;
метод не может работать с противоречивыми данными и данными, содержащими шум.
В этом плане метод фокусирования является методом классического машинного обучения и не может быть непосредственно применен, например, для работы с базами данных.
13.8. Алгоритм EG2
Рассмотренные ранее алгоритмы семейства ID3 никак не используют информацию о предметной области. В работе Нуньеса предложен алгоритм EG2, который позволяет пользователю задать ISA- иерархию над значениями каждого атрибута. Кроме того, алгоритм вводит экономический критерий в процесс классификации. Например, врач, принимая человека с головной болью, не назначает ему сразу томографию головного мозга, хотя этот тест является наиболее информативным. Вместо этого он задает простые вопросы и назначает более экономичные проверки, чтобы исключить простые случаи.
В то время как алгоритм ID3 использует чисто информационную метрику (количество информации) для выбора решающего атрибута, алгоритм EG2 использует несколько иной подход. Критерием для выбора атрибута является функция стоимости информации (Information Cost Function, IGF). Эта функция определяется как отношение между стоимостью атрибута и его различающей способностью:
(соз£(Л) + 1Д
^Сагп^Аг) ^’
где cost (АД — функция стоимости атрибута, Gain(A^ — информативность атрибута (введена в разд. 13.4), и — переменная для управления критерием экономичности. Алгоритм выбирает атрибут с наименьшим значением IGF.
Алгоритм EG2 осуществляет две формы обобщения: подъем по дереву обобщения и объединение значений операцией или. Первая из них — подъем по дереву обобщения — это обобщение, использованное в алгоритме фокусирования. Для выполнения такого обобщения алгоритм учитывает ISA-иерархии, ассоциированные с атрибутами. Пусть, например, с атрибутом форма ассоциирована иерархия, представленная на рис. 13.18.
Тогда на следующих обучающих примерах может быть построено обобщенное решающее дерево, представленное на рис. 13.19.
Рис. 13.18.
КлассКлассФорма Квадрат Треугольник Пятиугольник Круг ЭллипсФорма Квадрат Треугольник Пятиугольник Круг Эллипс
Класс
Класс
Форма Квадрат Треугольник Пятиугольник Круг Эллипс
Форма Квадрат Треугольник Пятиугольник Круг Эллипс
Рис. 13.19.
Если же ISA-иерархия отсутствует, используется вторая форма обобщения — объединение отдельных значений атрибутов операцией или (рис. 13.20).
| Форма ™|
Квадрат\ Треугольник V
Круг V /\ Пятиугольник
Эллипс/\
Форма Квадрат Треугольник Пятиугольник Круг Эллипс
Рис. 13.20.
Будем называть структурированными атрибутами те из них, которые имеют ассоциированную ISA-иерархию. В обучающих примерах могут встречаться только значения, расположенные на нижнем уровне иерархии, будем называть эти значения наблюдаемыми. Остальные значения в ISA-иерархии будем называть абстрактными. Заметим, что наблюдаемое значение может принадлежать нескольким абстрактным значениям.
Алгоритм работает следующим образом. Сначала выбирается атрибут с наименьшей функцией стоимости информации. Затем формируется список Д состоящий из самых общих абстрактных значений и наблюдаемых значений, для которых нет абстрактных значений. Затем алгоритм пытается построить поддерево, соответствующее первому значению в списке. Если полученное поддерево является полным и непротиворечивым, поддерево запоминается для дальнейшего обобщения (понятия полноты и непротиворечивости будут рассмотрены ниже), в противном случае абстрактное значение разбивается на значения следующего уровня, и они добавляются в список.
Для усиления обобщения алгоритм пытается объединять очередные элементы списка с помощью операции или. Если поддерево, соответствующее новому условию, остается полным и непротиворечивым, оно сохраняется, в противном случае используется дерево, полученное на предыдущем шаге.
Дерево решений называется противоречивым когда существуют два примера, которые принадлежат разным классам, но классифицируются одинаково. В этом случае алгоритм сначала пытается построить менее сильное обобщение, и, если ни одно из обобщений не является приемлемым, используются только наблюдаемые значения, точно так же, как в алгоритме ID3.
Полнота дерева решений определяется измерением пропорции наблюдаемых значений в листьях поддерева:
Е
,=1j=iполнота = , где
т • н
мЧо) =мЧо) =1, если лист j содержит наблюдаемое значение г,
мЧо) =
мЧо) =
О, если лист j не содержит наблюдаемого значения г.
Если каждый лист содержит каждое наблюдаемое значение, то полнота равна 1. Обобщение считается приемлемым, если величина полноты превосходит некоторый порог ct, определенный пользователем.
Алгоритм EG2
Алгоритм EG^A*. множество предсказывающих атрибутов, С: предсказываемый атрибут, S: обучающее множество)
результат решающее дерево
начало
если все примеры в S имеют одинаковое значение атрибута С, то вернуть одну вершину, помеченную этим значением
если А = 0, то вернуть одну вершину со значением атрибута С, наиболее частым среди примеров из S
выбрать атрибут D с наименьшим значением ICF(D)
L := {абстрактные значения верхнего уровня} U {наблюдаемые значения атрибутов, не принадлежащих никакому абстрактному значению}
G := 0 (текущее обобщение)
Т := 0 (текущее поддерево)
То := 0 (формируемое поддерево)
пока L ^ 0 выполнить
упорядочить L от более общих значений к менее общим
с := первый элемент списка L
построить выборку ар (5) = {s 6 S\s удовлетворяет G V (D = с)}
t := ЕС^А^ТфС, aD(S))
если t — непротиворечиво и полно, то
G*.= GV(D = c)
T*=t
L := L\{c}
иначе
если G 0 то Tq := Tq U Т
иначе если с — абстрактное значение, то
L := Т\{с} U { список значений, подчиненных с}
конец если
G := 0
Т := 0
конец если
конец пока
То :=T0UT
вернуть То
конец
Пример 13. 8.
Рассмотрим работу алгоритма на следующем примере. Заданы четыре атрибута: форма, цвет, размер и материал. Стоимость их
измерения 10, 30, 50 и 100 единиц соответственно. На значениях первых трех атрибутов построены следующие иерархии (рис. 13.21).
ЦветЦветРис. 13.21.Рис. 13.21.
Цвет
Цвет
Рис. 13.21.
Рис. 13.21.
Обучающее множество составляют примеры, приведенные в табл. 13.8.
Чтобы выбрать первый атрибут, алгоритм вычисляет информативность каждого атрибута и его функцию стоимости информации:
Сат(форма) = 0,061Сат(цвет) = 0,119Gain (размер) = 0,167Gain (материал) = 0,186Сат(форма) = 0,061Сат(цвет) = 0,119Gain (размер) = 0,167Gain (материал) = 0,186ICF (форма) = 252,27ICF^eem) = 360,541СЕ(размер) = 415, 57ICF(материал) = 733, 98ICF (форма) = 252,27ICF^eem) = 360,541СЕ(размер) = 415, 57ICF(материал) = 733, 98
Сат(форма) = 0,061
Сат(цвет) = 0,119
Gain (размер) = 0,167
Gain (материал) = 0,186
Сат(форма) = 0,061
Сат(цвет) = 0,119
Gain (размер) = 0,167
Gain (материал) = 0,186
ICF (форма) = 252,27
ICF^eem) = 360,54
1СЕ(размер) = 415, 57
ICF(материал) = 733, 98
ICF (форма) = 252,27
ICF^eem) = 360,54
1СЕ(размер) = 415, 57
ICF(материал) = 733, 98
Как видно, хотя атрибут материал является наиболее информативным, более выгодным отношением стоимость/информативность обладает атрибут форма, поэтому он выбирается в качестве решающего в корне дерева.
Таблица 13.8
Класс
Форма
Цвет
Размер
Материал
+
Квадрат
Красный
Большой
Металл
+
Квадрат
Синий
Маленький
Пластик
+
Треугольник
Желтый
Средний
Металл
-
Треугольник
Розовый
Большой
Кожа
-
Квадрат
Розовый
Средний
Кожа
-
Круг
Красный
Маленький
Пластик
-
Круг
Синий
Маленький
Металл
-
Эллипс
Желтый
Маленький
Пластик
+
Эллипс
Синий
Большой
Кожа
+
Эллипс
Розовый
Средний
Дерево
+
Круг
Синий
Большой
Дерево
+
Треугольник
Синий
Средний
Пластик
Теперь список L заполняется наиболее общими значениями атрибута форма: L = ^многоугольник, кривая} и алгоритм пытается построить поддерево, соответствующее обобщению форма = многоугольник. Построенное поддерево оказыва-
Рис. 13.22Рис. 13.22ется полным и непротиворечивым, так что обобщение принимается (рис. 13.22).
Рис. 13.22
Рис. 13.22
На следующем шаге алгоритм пытается построить еще более сильное обобщение форма = многоугольник V форма = = кривая, но такое обобщение не является непротиворечивым, поэтому оно отвергается, и алгоритм приступает к построению отдельного поддерева для значения форма = кривая. Окончательное решающее дерево приведено на рис. 13.23.
Средняя стоимость классификации по этому дереву составляет 50 единиц. Дере
во, построенное алгоритмом ID3 для того же обучающего множества, содержит 15 вершин, и его стоимость классификации равна 108 еди
ницам.
Дадим оценку вычислительной сложности алгоритма EG2. Ключом к оценке вычислительной сложности этого алгоритма является определение количества повторений внутреннего цикла и, следовательно, количества рекурсивных вызовов.
Рис. 13.23.Рис. 13.23.
Рис. 13.23.
Рис. 13.23.
Пусть Ъ — количество наблюдаемых значений, a d — количество абстрактных значений. Количество неудачных попыток обобщения путем подъема по дереву обобщения не может быть больше d. Худший случай наблюдается в том случае, если ISA-иерархия представляет собой цепь вида Ay isa А^А^ isa А^ ... ^ Аа-\ isa Ад^ и ни одна из попыток обобщения не приводит к успеху. В то же время, поскольку алгоритм удаляет все уже задействованные значения из списка Д общее количество итераций не будет больше, чем b + d.
Заметим, что вычисление функции ICF не сложнее, чем информативности Gain, поэтому, повторяя рассуждения, проведенные при оценке сложности алгоритма ID3, получим
1
С(ЕС2) = E^k-i^b + dy
2 = 0 °
Алгоритм EG2 позволяет использовать дополнительные знания о предметной области, представленные в виде ISA-иерархии на значениях атрибутов обучающих примеров. Методы обобщения, заложенные в алгоритме, — подъем по дереву обобщения и объединение значений операцией или — позволяют получать более компактные решающие деревья, с большей вероятностью отражающие реальные взаимосвязи в представленных данных.
Учет оценок стоимости, осуществляемый алгоритмом EG2, является весьма важным для реальных систем, так как позволяет избежать неоправданно дорогих, хотя и информативных решений.
И вот почему — в ожидании Не верим мы темным часам: Мы бродим в неконченом здании, Мы бродим по шатким лесам!
В. Брюсов
Глава 14
ИНДУКТИВНЫЕ МЕТОДЫ ДЛЯ СЛУЧАЯНЕПОЛНОЙ ИНФОРМАЦИИ
Необходимость применения методов обобщения информации в сложных системах обусловлена как построением обобщенных моделей данных (знаний), так и обработкой больших массивов данных, хранящихся в базах данных. Современные информационные технологии предоставляют возможность собирать и хранить информацию из большого числа источников в количестве, которое еще недавно рассматривалось бы как невозможное. Такое явление наблюдается во многих областях: финансы, банковское дело, статистика, розничная торговля, управление и диагностика и т. и. Например, система наблюдения за Землей, которую использует НАСА, способна выдавать данные в объеме несколько гигабайт в час. Хотя современные технологии баз данных допускают экономное хранение таких больших потоков данных, основной проблемой является использование этих потоков данных для анализа. Анализ подразумевает прежде всего осмысление данных в зависимости от контекста, от поставленной цели. Это поиск скрытых закономерностей, которые невозможно выявить с помощью простых запросов к базе данных. Как мы уже выяснили, научное направление, которое занимается решением подобных проблем, получило название Data Mining (анализ данных) и Knowledge Discovery in Databases (обнаружение знаний в базах данных). В главе 11 упоминались основные проблемы, связанные с извлечением знаний из баз данных. Рассмотрим этот аспект подробнее.
Проблемы извлечения знаний из баз данных
Обсуждая вопросы поиска классифицирующих правил, мы неявно предполагали, что такие правила существуют. В частности, мы предполагали, что существуют детерминированные классифицирующие правила. Хотя такое предположение может быть верным для искус-
Проблемы извлечения знаний из баз данных 597 ственно созданных обучающих множеств, используемых в машинном обучении, оно наверняка не выполняется применительно к реальным базам данных.
Использование базы данных в качестве обучающего множества вызывает следующие трудности. Во-первых, информация в базе данных ограничена, так что не вся информация, необходимая для определения класса объекта, доступна. Во-вторых, доступная информация может быть повреждена или частично отсутствовать. Наконец, большой размер баз данных и их изменение со временем рождает дополнительные проблемы.
Ограниченная информация
Как было сформулировано выше, задача системы извлечения знаний состоит в построении правил, определяющих класс объекта на основе значений предсказывающих атрибутов. Проблема состоит в том, что не все атрибуты, реально определяющие класс объекта, присутствуют в базе данных. Поэтому не всегда возможно построение правил, корректно классифицирующих объекты в терминах известных атрибутов.
Один из подходов к решению этой проблемы состоит в ограничении множества правил детерминированными правилами, не содержащими вероятностных оценок. Отрицательной стороной этого подхода является то, что большая часть ценной информации, скрытой в базе данных, так и останется не открытой.
С другой стороны, мы можем искать правила, которые не обязательно классифицируют все объекты корректно, а показывают вероятность того, что объект, удовлетворяющий описанию, принадлежит классу. Такие вероятностные правила предоставляют очень важную информацию об отношениях в базе данных. Например, отношение между курением и раком легких не является корректным, т. е. курение не является ни необходимым, ни достаточным условием для заболевания раком, тем не менее такое отношение представляется весьма важным.
Если ни один из предсказывающих атрибутов не имеет отношения к классификации, получается, что атрибуты и класс объектов никак не связаны. В этом случае нельзя найти даже вероятностных правил. Например, бесполезно искать связь между фамилией и фактом заболевания раком.
Корректность найденных описаний может быть проверена разделением базы данных на две части. Первая часть используется в качестве обучающего множества, а вторая — в качестве проверочного. Правило будет корректным, если вероятность каждого правила, вычисленная для проверочных примеров, не слишком отличается от вероятности, предсказанной в процессе обучения.
Искаженная информация
Даже если база данных содержит всю информацию, необходимую для корректной классификации объектов, некоторые данные могут не соответствовать действительности. Например, значения каких-либо атрибутов могут содержать ошибки в результате измерений или субъективных суждений. Ошибка в значениях предсказываемых атрибутов приводит к тому, что некоторые объекты в обучающем множестве классифицированы неправильно. Несистематические ошибки такого рода обычно называются шумом.
Шум вызывает две проблемы: сначала при построении правил, а затем при классификации объектов с использованием этих правил. Когда система извлечения данных строит описания на основе зашумленных данных, она должна учитывать сам факт искажения данных. Как правило, эта проблема решается с использованием статистических методов для определения того, какие значения следует считать истинными. Основная идея заключается в том, что небольшое количество исключительных данных рассматривается как шум и не участвует в построении правил.
При классификации зашумленных данных точность классификации, естественно, уменьшается. Интересное свойство, отмеченное Куинланом, заключается в том, что правила, построенные на данных, содержащих некоторое количество шума, классифицируют новые данные с шумом даже лучше, чем правила, построенные на чистых примерах. Так что при построении правил для реальных приложений, которые практически всегда содержат то или иное количество шума, следует использовать реальные примеры, также содержащие ошибки.
Другим примером искажения информации является отсутствие отдельных значений атрибутов. Такие примеры могут быть просто исключены из рассмотрения, или вместо отсутствующих значений можно подставить наиболее вероятные. Другой способ состоит в использовании отдельного значения < пусто > для отсутствующих значений.
Большой размер баз данных
Как мы установили в начале этой главы, основным отличием извлечения знаний из баз данных от традиционных методов машинного обучения является использование базы данных в качестве обучающего множества. Системы машинного обучения используют небольшие обучающие множества, состоящие из тщательно подобранных примеров. Базы данных, наоборот, обычно очень велики как в смысле количества атрибутов, так и в смысле количества объектов, представленных в базе данных.
С одной стороны, большое количество атрибутов дает нам больше шансов на то, что мы сможем найти подходящие описания классов. С другой стороны, увеличение числа атрибутов приводит к
увеличению размеров пространства поиска. Очевидно, для любой реальной базы данных размер пространства поиска будет очень большим, так что ни один из методов полного перебора не может быть применен. Необходимо использовать знания о предметной области и эвристики для сокращения перебора.
В процессе поиска мы должны проверять качество созданных описаний. Как было показано ранее, расчет критерия качества требует некоторой статистики по всем объектам обучающего множества. Применительно к базам данных это выливается в запросы. Выполнение запроса по целой базе данных со многим количеством объектов может занять очень много времени. Чтобы обойти эту проблему, можно использовать методы, предложенные Холшеймером и Керстеном. Во- первых, можно конструировать сразу несколько описаний за один проход по базе данных. Во-вторых, можно использовать для вычисления качества правил относительно небольшую представительную выборку. После того, как найдены лучшие правила, они проверяются с использованием всей базы данных. Если существует значительное количество неправильно классифицированных объектов, они добавляются в выборку и процесс повторяется еще раз.
Изменение баз данных со временем
Базы данных постоянно обновляются. Информация добавляется, изменяется или удаляется. Следовательно, знания, извлеченные из базы данных ранее, уже не соответствуют содержащимся в ней данным. Очевидно, что обучающаяся система должна адаптироваться к подобным изменениям. Необходимо также учесть, что свежая информация более ценна, чем старая.
Каждый раз при изменении базы данных мы можем либо конструировать систему правил с нуля, либо использовать инкрементное обучение (incremental learning), когда знания, полученные на предыдущих этапах, используются для построения новых знаний. В этом разделе мы рассмотрим задачу извлечения знаний из баз данных и ряд общих методов ее решения. Хотя извлечение знаний из баз данных является одним из видов машинного обучения, ему присущи свои особенные черты.
Базы данных создаются из расчета требований конкретных приложений, а не специально для машинного обучения.
Информация, содержащаяся в базах данных, как правило, неполна. Свойства объектов, необходимые для корректной классификации, не обязательно представлены в базе данных.
Отдельные значения могут содержать ошибки или вовсе отсутствовать.
Базы данных очень велики.
Базы данных изменяются со временем.
От того, насколько система извлечения знаний сможет справиться с этими проблемами, зависит успех ее практического применения. Рассмотрим один из алгоритмов, который используется в реальной системе Data Mining.
Алгоритм извлечения продукционных правил из большой базы данных
Система извлечения продукционных правил из баз данных, описанная в работах Холшеймера и Керстена, поддерживает связь с СУБД Monet и работает с исходными данными, представленными в форме реляционной таблицы. Эта таблица велика: она может содержать несколько сотен тысяч объектов со многими атрибутами. Алгоритм должен найти правила, которые определяют принадлежность объекта к некоторому множеству — классу. Класс задается пользователем. Это означает, что пользователь должен провести разделение базы данных на две части: первая содержит объекты, принадлежащие классу, и составляющие тем самым множество положительных примеров Р, в то время как вторая содержит все остальные, образующие множество отрицательных примеров N. Наиболее простым способом задания класса для пользователя может быть возможность явно указать в реляционной таблице один из атрибутов в качестве целевого (что возможно не всегда).
Правила формируются в виде D^C. где С — это класс, а D — условие, составленное как конъюнкция простых условий вида <атрибут> — <значение>. Условия могут быть равенствами для символьных атрибутов, либо неравенствами для числовых атрибутов. Условие D определяет выборку из базы данных тех объектов, для которых оно верно. Рассмотрим выборки из множеств положительных и отрицательных примеров, обозначаемые в дальнейшем (Td(P) и o"d(N) соответственно.
Правило считается корректным, если оно покрывает все положительные примеры и не покрывает ни одного отрицательного, то есть аю(Р) = Р и an(N) = 0. На практике можно найти крайне мало корректных правил, чаще правило выполняется с той или иной степенью достоверности. Поэтому с каждым правилом R мы свяжем следующую вероятностную оценку качества: Q(R) = ,z, где
^dVPh +
| ст | обозначает мощность множества.
Очевидно, для корректного правила Q(R) = 1. Целью алгоритма является извлечение правил с наибольшим показателем качества Q^RY
Работа алгоритма поиска начинается с «тривиального» правила с пустой посылкой Rq : true ~^< С >. приписывающего все объекты базы данных классу С. Оценка качества этого правила есть просто
Алгоритм извлечения продукционных правил 601 вероятность того, что произвольно выбранный объект базы данных принадлежит этому классу. Следующим шагом является расширение (уточнение) правила за счет добавления в его левую часть условия
< атрибут> = <значение>, что приводит к новому правилу Ri : А = = а^<С>.
Чтобы получить результат за приемлемое время, алгоритм следует эвристическому правилу: выбираются расширения с наиболее высокой оценкой качества. Такая стратегия используется во многих системах обучения.
Поиск расширения правила с наилучшей оценкой качества требует полного перебора, поэтому во избежание комбинаторного взрыва количество промежуточных правил ограничивается использованием стратегии «поиска по лучу»: для дальнейшего расширения предлагается использовать не более чем w лучших правил предыдущего шага. Выделенные правила используются для порождения новых расширений до тех пор, пока длина правила не превысит заданной пользователем величины d, либо не удастся получить улучшение оценки качества. Число w называется шириной луча, a d — глубиной поиска.
Алгоритм 14-1.
Алгоритм (Т: таблица базы данных, d: чество лучей, С: целевой атрибут)
глубина поиска, w: коли-
результат R — множество продукционных правил
начало
So :={начальное правило R^ R := So
Построение на основе Т по атрибуту С таблиц примеров Ро и No
для начального правила Ro к := 0 (индекс глубины поиска)
пока к < d и имеет место улучшение выполнить
SM := 0
для всех правил Ri Е Sk выполнить для всех столбцов Fj ^ Ri выполнить
Вычислить оценку качества для всех правил вида
Рг & (Fd = ^n)С >.
Добавить лучшие w правил к S^+i.
конец для
конец для
Sk-н := лучшие w правил Sk-w-
Построить таблицы примеров для Pi и N1
Ri Е SM
R := R U Sk^i
к := к + 1
; для всех правил
конец пока конец
С каждым правилом Ri : D —>< С > связана своя таблица положительных Pi и отрицательных Ni примеров. Таблица Pi содержит все объекты, принадлежащие классу С, для которых выполняется посылка D, в то время, как таблица Ni содержит все объекты, не принадлежащие классу С, для которых тем не менее выполняется посылка D.
Для уточненного правила R^^Fj = v^ —>< С > создаются новые таблицы примеров. При этом не возникает необходимости осуществлять выборку над всей базой данных, достаточно использовать уже имеющиеся таблицы примеров, поскольку, очевидно, Р- С Pi и N- С
Пример 14.1.
Рассмотрим пример вывода продукционных правил с помощью данного алгоритма для базы данных страховой компании. В базе данных компании хранятся сведения о клиентах, застраховавших свои автомобили, такие, как имя, пол, возраст, место рождения, марка автомашины, ее цена и т. п. На основании этих сведений предлагается построить продукционные правила, пригодные для выявления категории водителей, склонных попадать в аварию. Страховая компания заинтересована в выявлении таких клиентов, чтобы потребовать с них более высокие страховые взносы.
В качестве обучающей выборки был использован фрагмент базы данных, содержащий 25 000 записей. К атрибутам каждой записи добавлен бинарный атрибут «аварийность»; его значения «да» — субъект попадал в аварию, либо «нет» — водитель в аварию не попадал. Среди элементов обучающей выборки ровно половина записей относится к владельцам машин, попавших в аварию, другая половина записей — контрпримеры. Предлагается построить дерево поиска при условиях: использовать 5 лучей, глубина поиска 3.
Правило Rq : true «аварийность» = да приписывает все объекты таблицы к искомому классу с оценкой (вероятностью) 0,5 или 50%. На первом шаге алгоритма это правило дополняется условием «возраст» Е [19; 21]. Этому условию удовлетворяют 1743 записи из таблицы; вероятность того, что водители этой группы попадали в аварию, составила 55,2%. Новое правило Ri : («возраст» ^ 21) «аварийность» = да называется расширением начального правила. На рис. 14.1 представлен фрагмент дерева поиска по 5 лучам с глубиной 3.
В каждом узле дерева представлены собственно условие, размер покрытия и оценка качества. Например, правило («пол» = муж?) & &;(«возраст» ^ 22) покрывает 1349 примеров и 60,8% из них относятся к классу «аварийный водитель».
Правила, которые порождает алгоритм, классифицируют корректно не все объекты; скорее они показывают вероятность того, что объ-
пол = мужцена авто < 19999
Z
[1001 /0,607][322/0,655]
город = Детройтцена авто< 29999
[171/0,591][84/0,679]
город =Вашингтон_цена авто > 79995 [192/0,583][12/0,667]
нет условий Vпол = муж возраст 22
[25000/0,5] V\[13380/0,532][1349/0,608]
\\ гор од = Нью-Йорк
\[2432 / 0,479]
\категория = прокат
\[ЗИ 0,242]
х возраст > 62 город = Майами
[1617/0,478][160/0,406]
Рис. 14.1.
ект принадлежит классу. Корректность построенных правил можно проверить, например, разделив базу данных на две части: первая используется в качестве обучающего множества, а вторая — в качестве проверяющего (экзамен).
Подход с использованием приближенныхмножеств
Неполнота информации, которую иногда приходится использовать в системах машинного обучения, требует специальных подходов, отличных от методов классической логики. Это могут быть методы статистики, методы нечеткой логики, основанные на теории нечетких множеств Заде. Основной проблемой нечеткой логики, затрудняющей использование таких методов в экспертных системах и системах машинного обучения, является определение значений вероятности или степени принадлежности.
Теория приближенных множеств (rough sets theory) была предложена в начале 80-х годов математиком Павлаком как новое средство для работы с нечеткостями. В дальнейшем эта теория развивалась многими исследователями и применялась для решения разнообразных задач. Главное преимущество теории приближенных множеств в том, что она не требует никакой предварительной или дополнительной информации о данных (информации о вероятностях или о степени принадлежности элемента множеству). Мы рассмотрим, как теория приближенных множеств может быть использована для решения задачи извлечения знаний из баз данных.
Основные понятия теории приближенных множеств
Основной подход, связанный с теорией приближенных множеств, основан на идее классификации. Эта теория помогает решить проблему неточных знаний. Неточные знания или понятия могут быть определены приближенно в рамках заданного обучающего множества, если использовать понятия верхнего и нижнего приближений. Нижнее приближение включает те объекты обучающей выборки, которые наверняка принадлежат понятию, верхнее приближение включает все объекты, которые возможно принадлежат понятию. Разница между этими двумя приближениями образует граничную область и содержит объекты, которые не могут быть классифицированы наверняка на основе имеющейся информации.
В соответствии с основной постановкой задачи обучения «с учителем», данной в главе 13, исходными данными для задачи обобщения является обучающее множество. Обучающие множества, которые рассматриваются в книге, состоят из объектов, представленных наборами атрибутов. При обучении «с учителем» один из атрибутов, называемый далее решающим атрибутом, служит для разделения обучающего множества на примеры и контрпримеры формируемого понятия.
Пусть на обучающем множестве О введено R С О х О — отношение неразличимости или эквивалентности на О. Допустим, что R — отношение эквивалентности. Упорядоченную пару Р = (О, R) будем называть пространством аппроксимации или пространством приближений. Скажем, что если (ж, у) Е R, то х и у неразличимы в Р по значениям атрибутов из D. Классы эквивалентности по отношению к R называются элементарными множествами или атомами в Р. Обозначим все множество классов эквивалентности как R*(D) = = {^1, 62,..., enY Пустое множество является также элементарным для любого пространства приближений. Любое конечное объединение элементарных множеств в Р назовем составным множеством в Р. Семейство составных множеств в Р будем обозначать Def(P\
Пусть X С О. Под нижним приближением множества X в Р будем понимать наибольшее составное множество в Р, содержащееся в X, а под верхним приближением X в Р — наименьшее составное множество в Р, содержащее X. Обозначим нижнее и верхнее приближения множества X в пространстве Р через Р_Х и РХ соответственно. Множество Впр(Х) = РХ - РХ будем называть границей X в Р. Обозначим далее нижнее приближение Р_Х = Lowerр(Х) = U е^.
егСХ
Верхним приближением называется РХ = Upperp(X) = |J е^. егПХ^0
Пара <Lower(X), Upper (Х)> составляет приближенное множество.
Для множества X в пространстве приближений Р = (О, Р) определяется мера точности аппроксимации. Она определяется только для
конечных множеств и вычисляется следующим образом:
I (Р I
р,р(Х) = ^=-^р где |Х| — мощность множества X.
Вместо р,р(Х) мы также будем писать р,^(Х\ Заметим, что 0 ^ цр(Х) < 1, и цР(Х) = 1, если X определяемо в Р; если X неопределяемо в Р, то цр(Х) < 1.
Пример 14. 2.
В процессе изложения основных понятий теории приближенных множеств будем использовать следующий пример, приведенный в табл. 14.1.
заолица 14.1
Имя
Образование
Высокий доход
Джо
Среднее
Нет
Мэри
Среднее
Да
Питер
Неполное среднее
Нет
Пол
Высшее
Да
Кэти
Аспирантура
Да
Положим D= {Образование}, тогда обучающая выборка разбивается на четыре класса эквивалентности:
R*(JX) = {{Джо, Мэри}, {Питер }, {Пол }, {Кэти }}.
Здесь С1={Джо, Мэри}, в2 ={Питер}, ез = {Пол}, в4={Кэти}.
Любое объединение элементарных множеств называется составным множеством. Так, множество {в2, вз}={Питер, Пол} — составное множество.
Пусть в нашем примере X — класс людей с высоким доходом. Тогда
РХ ={Пол, Кэти}
РХ ={ Пол, Кэти, Джо, Мэри}
Впр(Х) = РХ-РХ ={Джо, Мэри}.
Приближенные множества могут быть использованы для классификации объектов следующим образом.
Назовем Pos(X) = Р(Х) положительной областью, Neg(X) = = S\P(X) — отрицательной областью, и Bnd(X) = Р(Х)/Р(Х) — граничной областью. Мы можем сформировать следующие правила:
Описание Pos(X) -э X,
Описание Neg{X) -э ^Х,
Описание Pnd(X) -э возможно X,
где описание множества включает набор характерных атрибутов. Например, в нашем случае мы получим правила:
(Образование = Высшее) V (Образование = Аспирантура) Высокий доход
(Образование = Неполное среднее) Низкий доход
(Образование = Среднее) Возможно высокий доход.
На рис. 14.2 представлена диаграмма приближенного множества. Рассмотрим следующие важные свойства приближенных множеств. Как было определено выше, на множестве X введем R С X х X — отношение неразличимости или эквивалентности на X. Упорядоченная пара Р = (X, R) образует пространство приближений. Рассмотрим множества У С X, Z С X.
^ Множество
^ Верхнее приближение
■ Нижнее приближение
□ Граница
□ Отрицательные объекты
Рис. 14.2.
Два произвольных множества ¥ и Z приближенно равны снизу в Р, если равны их нижние приближения в пространстве Р: Р¥ = PZ. Обозначим приближенное равенство снизу ¥ хз Z.
Множества ¥ и Z приближенно равны сверху, если совпадают их верхние приближения: PY = PZ. Обозначим приближенное равенство сверху ¥ ^ Z.
Если два множества приближенно равны сверху и снизу одновременно, они называются приближенно равными и обозначаются как ¥ Z.
Справедливы также следующие соотношения:
Р¥ С У СРУ
Pl = Pl = 1
Р0 = Р0 = 0
Р(У QZ) = РУ QPZ
Р(У UZ) = РУ UPZ
РУ = -Р(-У)
РУ = -Р(-У)
Здесь 0 обозначает пустое множество, 1 обозначает все множество X.
Рассмотрим далее специальный вид пространств приближений, используемых при классификации объектов на основе значений их атрибутов. С каждым атрибутом ассоциировано множество значений. Описание объекта задано, если выбрано одно значение для каждого атрибута. Для более точного выражения этой идеи введем понятие информационной системы.
Под информационной системой IS понимается четверка
IS = (O,Q,V,p),
где О — множество, называемое обучающим множеством в IS; элементы О называются объектами, Q — множество атрибутов (признаков), q Е Q будет обозначать далее один атрибут из множества.
Q разделяется на два непересекающихся подмножества: условные атрибуты С и решающие атрибуты D, т.е. Q = С U D,V = U ^9 — qEQ
множество значений атрибутов; Vq называется доменом q, или множеством значений атрибута q. р : О х Q V — описательная функция, такая что р(х, q) Е Vq для каждого q Е Q и х Е О. Описательная функция, таким образом, определяет значение атрибута для заданного объекта.
Определим функцию рх : Q V, такую что рх^ = р(ж, q) для каждого q Е Q и х Е О; рх назовем описанием х в IS. Скажем, что объекты ж, у Е О неразличимы по отношению к q Е Q в пространстве приближений, если рх^ = py{q\ и будем записывать xqy; очевидно, что q есть отношение эквивалентности. Объекты ж, у Е О неразличимы по отношению к Р С Q в IS, (записывается хРу\ если Р = Q р.
рЕР
Если Р = Q, скажем, что х и у неразличимы в IS и будем записывать х IS у вместо xQy.
Очевидно, что Р — отношение эквивалентности, таким образом, информационная система IS = (O,Q,V,p) определяет единственным образом пространство приближений Ад = (О, IS), где IS есть отношение неразличимости, образованное информационной системой IS.
Если х Е О и рх есть описание х в IS, то мы допускаем, что рх есть также описание класса эквивалентности для IS, содержащего х. Скажем, что подмножество X С О описываемо в IS, если X определяемо в Ард; если X неопределяемо в Ард, X будем называть неописываемым в IS. Описание определяемого множества IS состоит из QO описаний его элементарных множеств. Описание пустого множества обозначим через А.
Рассмотрим алгоритм построения продукционных правил, основанный на теории приближенных множеств, и называемый далее RS1.
Алгоритм RS1, использующий приближенные множества
Обучающее множество S содержит объекты о Е S. Каждый объект представлен вектором признаков, или атрибутов. Все атрибуты условно разделяются на два подмножества: описательные яд, я^, • • •, жп и целевой (решающий) атрибут d. Сначала в обучающем множестве находятся элементарные множества. Затем строятся объединения этих множеств и находятся верхнее и нижнее приближения. Далее приближения редуцируются, чтобы устранить избыточность информации. В итоге получаются две системы продукционных правил, для верхнего и нижнего приближений соответственно.
Введем меру точности аппроксимации для множества С в пространстве приближений Р =< S^R(D) >:
_ |Zower(C)|
\ирреЦ<Х
где |Х| — мощность множества; такая оценка будет существовать только для конечных множеств.
Ядро и сокращение (редукция) — две фундаментальные концепции приближенных множеств. Дадим определение сокращения. Пусть В С А — некоторое подмножество информационных атрибутов. Атрибут q Е В назовем излишним в множестве атрибутов В С А, если POSb(D) = POSB™^(D). В противном случае атрибут q назовем необходимым атрибутом. Напомним, что область POSb(D) включает все объекты обучающей выборки, которые могут быть отнесены к классу D без классификационной ошибки. Излишний атрибут может быть удален без изменения отношения эквивалентности между объектами. Если каждый атрибут из В С D является необходимым по отношению к D, то В называется ортогональным по отношению в D. Подмножество атрибутов В С А определяется как сокращение в информационной системе, если В ортогонально по отношению к D и POSa(D) = POSb(D).
Сокращение — существенная часть информационной системы, которая может различать все объекты, различимые исходной информационной системой. Ядро — общая часть всех сокращений.
Пусть S — обучающая выборка, D — целевой атрибут, Р =< S, R(D) > — пространство приближений и X С S — множество, для которого мы хотим найти описание. Необходимо
найти атомы для 5;
найти верхнее и нижнее приближения для X в Р;
вычислить точность аппроксимации;
найти сокращения для Lower р(Х)и Upper р(Х).
Пример 14. 3.
Рассмотрим работу алгоритма на примере. Обучающее множество О, приведенное в табл. 14.2, содержит набор записей, описывающих допустимые погодные условия для игры в гольф. Требуется получить описание множества X, которое состоит из записей, в которых содержатся допустимые условия для игры (для подобных записей атрибут «Играть ли в гольф» принимает значение «играть»).
Таблица 14.2
О
Прогноз погоды
Влажность, %
Ветер
Играть ли в гольф?
371
Пасмурно
87
Ложь
Играть
372
Солнечно
80
Истина
Играть
373
Солнечно
80
Истина
Играть
374
Пасмурно
75
Истина
Играть
375
Пасмурно
75
Истина
Играть
376
Дождливо
80
Ложь
Не играть
377
Солнечно
80
Истина
Не играть
378
Дождливо
80
Ложь
Не играть
379
Дождливо
85
Ложь
Не играть
3710
Пасмурно
87
Ложь
Играть
Атомами для О являются Еу = {зщздо}, Е) = {37 2, 37 3, 37 7}, Е3 = {37 4,37 5}, Е4 = {376,378}, Е5 = {37 9}.
Нижнее и верхнее приближения соответственно Lower п(Х) = = {з71,3710, 374, 37 5} И Uppero(X) = {з71,3710, 372, 37 3, 37 7, 37 4, 37 5}.
Точность аппроксимации равна 4/7 ~ 0,57.
Заметим, что в Lowero(X) и Uppero^X) содержатся повторяющиеся записи — их нужно отбросить.
В результате мы получим систему продукционных правил для классификации погодных условий с целью принятия решения о том, играть или не играть в гольф. Точнее, это будут две системы правил, для нижнего и верхнего приближений соответственно. Их смысл в следующем. Нижнее приближение дает нам уверенную классификацию ситуаций, в то время как верхнее — лишь возможную.
Нижнее приближение'.
если (Прогноз погоды = Пасмурно) & (Влажность = 87) & & (Ветер = Ложь), то Играть ли = играть
20 В.Н. Вагин и др.
если (Прогноз погоды = Пасмурно)& (Влажность = 75)& & (Ветер = Истина), то Играть ли = играть
Верхнее приближение:
если (Прогноз погоды = Пасмурно) & (Влажность = 87)& & (Ветер = Ложь), то Играть ли = играть
если (Прогноз погоды = Солнечно) & (Влажность = 80)& & (Ветер = Истина), то Играть ли = играть
если (Прогноз погоды = Пасмурно) & (Влажность = 75)& & (Ветер = Истина), то Играть ли = играть
Обратим внимание на невысокую точность аппроксимации, что может показаться плохим признаком. На самом деле это связано с противоречивостью данных. Если подробнее рассмотреть обучающее множество (табл. 14.2.), то можно заметить, что 2-я, 3-я и 7-я записи совпадают, но принадлежат к разным классам ситуаций.
Ниже приводится псевдокод алгоритма RS1.
Алгоритм RS1.
Функция RS1 (Л: множество информационных атрибутов,
D: решающий атрибут,
S: обучающее множество )
возвращает две системы продукционных правил.
Начало:
Нахождение элементарных множеств или атомов ei, в2,..., еп. На первом этапе просмотр 8^ поиск неразличимых объектов среди полностью определенных и построение элементарных множеств. Для этого 1-й объект сравнивается с N — 1 оставшимся, 2-й — с N — 2, ит. д (15"! = N\ На втором этапе просмотр S и сравнение каждого неполностью определенного объекта с каждым имеющимся атомом. Сравнение производится только для информационных атрибутов из А.
Нахождение нижнего и верхнего приближений. Пусть {еД (j = 1,...Д) — множество атомов, X С S — множество, приближения к которому ищем. Множество X вычисляется на основе значений решающего атрибута D.
Нахождение нижнего приближения.
Lower(X) := 0;
для j от 1 до к
нц
если ej С X, то Lower(X) := Lower(X) U ej
кц
Нахождение верхнего приближения.
Upper(X) := 0;
для j от 1 до к нц
если X С (S\ejY то Cj пометить, как лишний иначе
Upper(X) := Upper(X) U 6j
кц.
Точность аппроксимации вычисляется как р(Х) : = Lower(XyUpper(X).
Найти сокращения для приближений. От каждого элементарного множества оставить по одному его представителю.
По вычисленным верхнему и нижнему приближениям построить систему продукционных правил
Pos(X) X,
Neg(X) ^Х,
Bnd(X) возможно X.
Конец RS1.
Для примера «Игра в гольф», приведенного выше, результатом работы алгоритма 7?84 будет следующая система продукций:
если (Прогноз погоды = Пасмурно) & (Влажность = = 87% V75%) & (Ветер = Безразлично), то Играть ли = играть
если (Прогноз погоды = Дождливо) & (Влажность = 80%)& & (Ветер = Ложь), то Играть ли = не играть
если (Прогноз погоды = Солнечно) & (Влажность = 80%)& & (Ветер = Истина), то Играть ли = возможно играть.
Отличительной особенностью алгоритма RS1 является возможность обработки обучающего множества, в котором есть объекты с отсутствующими значениями атрибутов. Помещая неполностью заданные объекты во все возможные элементарные множества, алгоритм устраняет неполноту информации. В данном случае очевидно преимущество RS1.
14.3.3. Информационные системы с неопределенностью
В общем, информационная система четко представляет объекты. Это значит, что для данного объекта в базе данных и для заданного свойства (пара атрибут — значение) не существует неопределенности независимо от того, имеет объект это свойство или нет. Это есть ограничение целостности. Оно ограничивает нашу представительную 20*
силу в двух направлениях. Во-первых, все объекты в рассматриваемом множестве должны быть представлены единообразно. Во-вторых, представительная сила также ограничивается из-за четкого описания объектов, т. е. нет способа выразить степень представленности объекта. Таким образом, у объекта либо имеется, либо не имеется некоторое свойство.
Для обработки объектов с неопределенностью и различными степенями важности будет рассмотрена информационная система с неопределенностью. В информационной системе с неопределенностью с каждым объектом связан коэффициент неопределенности и и степень важности d. Коэффициент неопределенности — это вещественное число из диапазона [0, 1]. Если и = 1, то мы имеем полностью положительный объект. Если и = 0, то мы имеем полностью отрицательный объект. Степень важности d выражает важность объекта в информационной системе. Как будет показано ниже, произведение d хи позволяет вычислить класс положительных объектов, а произведение d х (1 — и) — класс отрицательных объектов.
Информационной системой с неопределенностью (ИСН) называется шестерка UIS = (О, Q. V, р, и, d), где О — непустое множество объектов, Q — множество атрибутов (признаков), Q = CUD, С — непустое множество условных атрибутов, D — решающий атрибут с коэффициентом неопределенности u, V = |J Vc — множество значе- сЕС
ний условных атрибутов; Vc называется доменом с, р \ О х С V — описательная функция, такая что р(х, с) Е Vc для каждого с Е С и х Е О, d(x) — функция, связывающая с каждым объектом х Е О, степень важности этого объекта.
Пример 14. 4.
В табл. 14.3 представлена информационная система с неопределенностью (ИСН). В ней условными атрибутами являются С = {с!,с2} со значениями ГД = {0,1}, ГД = {0,1, 2}, решающий атрибут есть D = {dec}. С каждым объектом связана степень его важности d.
Таблица 14.3
О
с!
с2
dec
d
1
0
0
0,75
4
2
0
1
0,67
3
3
0
2
0,35
4
4
1
0
0,75
4
5
1
1
0,67
3
6
1
2
0,35
4
Для обработки зашумленных данных в ИСН мы будем использовать концепцию относительных ошибок классификации. Основная идея заключается в том, чтобы выявить граничную область между положительной и отрицательной областями в соответствии с некоторыми классифицирующими факторами. Целью является создание нескольких строгих правил, которые всегда были бы правильными. В реальности каждый класс (положительный или отрицательный) в информационной системе может содержать шум. Введем два классификационных фактора Р^ и Np такие что 0 < Р^, Np < 1. Р^ и Np могут быть одинаковой величины и могут одновременно существовать. Они определяются путем оценки степени шума соответственно в положительной и отрицательной областях. Пусть имеется непустое множество X, X С О. Мера относительной ошибки классификации множества X по отношению к положительному классу Pciass и отрицательному классу Nciass определяется следующим образом:
СР(Х) = £Х<М1 -«<)) для всех х е X, X С о,
Cn(X) = и^ дЛЯ всех х Е X, X С о,
где 52 Ф — сумма степеней важности объектов, принадлежащих к множеству X, 52 № * ^) ~ сумма степеней важности выведенного положительного класса, 52 № * (1 — ^Д) ~ сумма степеней важности выведенного отрицательного класса.
Если мы при классификации относим объекты из множества X к положительному классу, мы можем получить ошибку Ср^Ху Если мы относим объекты из множества X к отрицательному классу, мы можем получить ошибку Cn(X\ Основываясь на мере относительной ошибки классификации, можно определить множество объектов, которые принадлежат к положительному классу, если и только если ошибка Ср(Х) не превышает заданного уровня точности Р^ или множество объектов, принадлежащих к отрицательному классу, если и только если ошибка Cn(X) не превышает заданного уровня точности Np. Таким образом,
Pciass ^ X если и только если Ср(Х) < Р^ Ndass ^ X если и только если Cn(X) <
в противном случае множество объектов X принадлежит граничной области.
Пример 14. 5.
Допустим, что имеется информационная система, представленная в табл. 14.3 и заданы Р^ = 0,3 и Np = 0,6. В этой системе существуют следующие элементарные множества: Е^ = {хД, г = 1... 6. Нетрудно
вычислить
степени относительной ошибки классификации:
Ср(1)
4
СЩ) =
^ = 0,75 4
Ср (2)
,3-<го;асг>,о,зз
CN^ =
3-0,67
—^- = 0,67
СР(3)
= 4-(1.0 -0, 33)= 0 65
4
CN^ =
4-0,35_
— = 0, 35
4
СР (4)
=,0.25
4
Cv(4) =
4 • 0, 75
— = 0, 75
4
Ср (5)
= ML0_01S=033
CN^ =
^ = 0,67
4 ■ (1,0 - 0,35)
4-0,35
Ср (6)
= —^’—^ = 0,65
4
срв) =
:— = 0,35 4
Теперь можно сказать, что Pciass = {Si, ЕЦ и Nciass = {S3, E6Y
В оригинальной модели приближенных множеств пространство приближений определяется как пара А = (O^R^ которая состоит из непустого конечного множества объектов и отношения эквивалентности R на О. Отношение эквивалентности называется также отношением неразличимости.
В обобщенной модели приближенных множеств объекты, принадлежащие к одному элементарному множеству, воспринимаются как идентичные, и может оказаться невозможным различать их.
Используя классификационные факторы Р^ и N^ получим следующее обобщение концепции приближенной аппроксимации. Пусть пара А = (O^Rp^n) будет пространством приближений. Для произвольного X С О его положительное нижнее приближение POSp(X) определяется как объединение тех элементарных множеств, чьи классификационные критерии гарантируют, что относительная ошибка Ср(Е) множества X не будет превосходить Рр
POSp(X) = U{E е Rp,n : СР^ < Р^.
Отрицательное нижнее приближение NEGn(X) определяется как объединение тех элементарных множеств, чьи классификационные критерии гарантируют, что относительная ошибка Cn(E) множества X не превосходит Np
NEGn(X) = U{E е Rp,N : Cn(E) < N3Y
Верхнее приближение положительной области UPPp(X) определяется как объединение тех элементарных множеств, чьи классификационные факторы гарантируют, что относительная ошибка Cn(E)
множества X превосходит Np
UPPp(X) = U{E е Hp,N : Cn(E) > N3Y
Верхнее приближение отрицательной области UPPn(X) определяется как объединение тех элементарных множеств, чьи классификационные критерии гарантируют, что относительная ошибка Ср(Е) множества X превосходит Р^
UPPN(X) = U{E Е РрЛ : Cn(E) > P3Y
Граничная область BNDp^(X) множества X есть объединение элементарных множеств, не принадлежащих ни к положительной, ни к отрицательной области множества X:
BNDp,n(X) = U{E Е НрЛ : Е POSP, NEGn}.
Для ИСН из табл. 14.3 будем иметь
POSp(D) = {Ei,E4}
NEGn(D) = {Е3,Е6}
UPPp(D) = {Е1,Е2,Е4,Е5}
UPPn(D) = {Е2,Е3,Е5,Е6}
ВХЕрЛ(Е) = {Е2,Е5}.
Чтобы формально определить меру зависимости атрибутов между множеством условных атрибутов С С Q и множеством решающих атрибутов D С Q^ Q = С U D^ определим С как множество классов эквивалентности отношения Rp^(C) и, аналогично, определим D как множество классов эквивалентности Rp^(D) = ^Pdass^ NciassY Для заданных классификационных факторов Рр и Х^ скажем, что множество решающих атрибутов D неточно зависит от множества условных атрибутов С со степенью ^(C^D^P^^ Np\ если
dC,D,Pp,N3)dC,D,Pp,N3)IMP^INT^D^N^
dC,D,Pp,N3)
dC,D,Pp,N3)
IMP(O) ‘
где 1ХТ(С, D, Р^ Np) есть объединение положительных и отрицательных нижних приближений всех элементарных множеств разбиения D = ^Pdassi Nciass^ в пространстве приближений (^Рр^кРУ^ 1МР(Х) — функция важности, связывающая сумму степеней важно
сти всех объектов в X, такая что 1МР(О) = 52 ^ для всех объектов 2=1
Xi Е О и
IMP(INT(C,D,Pp,N3))= f^ dpos "Г 52 dyieg,pos=lneg=l
xpos E POSp^xy xneg e NEGn(X\
Предыдущую формулу можно записать в виде
ЛС, D, Pp, Np)ЛС, D, Pp, Np)/J dpOS + /J dneg pos=lneg=l/J dpOS + /J dneg pos=lneg=l
ЛС, D, Pp, Np)
ЛС, D, Pp, Np)
/J dpOS + /J dneg pos=lneg=l
/J dpOS + /J dneg pos=lneg=l
Неформально говоря, степень зависимости у(С, В, Рщ N^ атрибутов В от атрибутов С с уровнями точности Рр и Np есть пропорция этих объектов ^ 6 О, которые могут быть классифицированы в соответствующие классы разбиения В (положительный и отрицательный классы) с уровнем ошибки меньшим, чем желаемая величина ^Рщ N^\ на основе информации,
представленной классификацией С.
Пример 14. 6.
Для ПСП, приведенной в табл. 14.3, мы можем вычислить степень зависимости между условными атрибутами С и решающим атрибутом В. Для классификационных факторов Рр = 0,3 и Np = 0,6 получим
POSp(D) = {Ex, Е4У NEGn(D) = {Е3, Е6}.
Степень зависимости между С и В есть
4 + 4 + 4 + 4
7(С; В- 0,30; 0,60) == V3-
Пусть имеется ПСП UIS = (О, Q, V, р, и, d^ Р С С, заданы классификационные факторы Рщ Ещ Дадим несколько определений.
Атрибут р Е Р называется излишним в Р, если 7(Р — ^а^В^РщЕр) = ^(Р, В, Рщ Np^ иначе атрибут а называется необходимым.
Если все атрибуты а^ Е Р являются необходимыми в Р, то Р называется ортогональным.
Подмножество Р С С называется сокращением С в ПСП, если Р ортогонально и ^(Р^ О, Рщ Np) = 7(С, В^Рщ
Относительное сокращение множества условных атрибутов будет определяться как неизбыточное независимое подмножество условных атрибутов, с помощью которого можно различить все объекты, различимые с помощью полного множества атрибутов.
В обобщенной модели сокращение множества условных атрибутов С по отношению к множеству решающих атрибутов В является подмножеством РЕВ^С, В, Рщ Np^ которое удовлетворяет следующим двум критериям:
ЛС, D, Рр, N^ = <REDp, D, Рр, Np\D, Pp, Np\,
нет атрибута, который мог бы быть исключен из RED^C^ D, Р^ NpY без воздействия на первый критерий.
Пример 14. 7.
Рассмотрим удаление условного атрибута cl из табл. 14.3. Пусть заданы Рр = 0,3 и Np = 0,6. Тогда получим следующие классы эквивалентности: Е^ = {х1,х4}, Е2 = {х2,х5}, Е3 = {хЗ,х6}. Таким образом,
0(1) - 0 4.(1.0-0.75) = 0 ж СМ1) = 0 075 = й 75 Оо
Ср№ == 0.330(2) == 0.07
С„№ = 2.4.(50-0,33) = юCs№ == 0 35
Оо
и мы получим POSP<C^ = {El}, NEG^C') = Щ} (О' = {ж2}).
7(С"; D- 0,30; 0,60) = ^^ = 0,73.
Из предыдущего примера мы знаем, что
7(С; D- 0,30; 0,60) = 7(6"; D- 0,30; 0,60),
поэтому С' = {т2} является сокращением для С.
Идея сокращения наиболее полезна в тех приложениях, где необходимо найти самое важное семейство условных атрибутов, ответственных за причинно-следственное отношение, а также полезна для исключения несущественных атрибутов из информационной системы. Заметим, что для информационной системы может существовать более одного сокращения. Каждое сокращение в множестве из RED^C^D^Pp^N^ может быть использовано как альтернативная группа атрибутов, которые могут представлять исходную информационную систему с классификационными факторами Рр, Np. Важной проблемой является выбор оптимального сокращения из множества RED^C.D.Pp.NpY
Алгоритм RS2 является модификацией алгоритма RS1. В нем реализованы обобщения, описанные выше. По сравнению с RSY разница состоит в формате представления объектов и способе вычисления приближений. Алгоритм RS2 позволяет обрабатывать информацию с неопределенностью двух видов: когда отсутствуют значения некоторых атрибутов у объектов и когда объекты представлены с некоторой степенью уверенности. Также модифицирован способ вычисления сокращений множества. Перечислим основные шаги алгоритма.
Пусть UIS = (О, Q, V, р, n, d) — информационная система, Auis — пространство приближений и X С О — множество, для которого мы хотим найти описание. Необходимо:
найти атомы для О;
найти AUISX и ApisX;
вычислить точность аппроксимации;
найти сокращения для AUISX и ApisX.
Пример 14. 8.
Рассмотрим пример. Обучающее множество — О — (табл. 14.4) снова содержит набор записей, описывающих допустимые погодные условия для игры в гольф. Мы хотим получить описание множества X, которое состоит из записей, содержащих допустимые условия для игры. Зададим классификационные факторы Рр = 0,2 и Х^ = 0,6.
Таблица 14.4
О
Прогноз погоды
Влажность
Ветер
Играть ли?
Важность
Ж1
Пасмурно
87
Ложь
1
3
Х2
Солнечно
80
Истина
0,87
2
Жз
Солнечно
80
Истина
1
4
Х4
Пасмурно
75
*
0,93
2
ж5
Пасмурно
75
Истина
1
3
Жб
Дождливо
80
Ложь
0
6
Х7
Солнечно
80
Истина
0,21
2
х8
Дождливо
*
Ложь
0,01
2
Х9
Дождливо
85
Ложь
0
4
жю
Пасмурно
87
Ложь
0,73
3
Атомами для О являются Еу = {xi, хю}, Е2 = {х2, хз, х7}, Ез = = {х4,х5}, Е4 = {х6,х8}, Е5 = {х9,х8}.
Степени возможных ошибок классификации равны Cp(Ei) = = 0,135, СР(Е2) = 0,028, Ср(Е3) = 0,28, СР(Е4) = = 0,9975, Ср^ = 0,9967, CN^ = 0,865, CN(E2) = 0,77, CN(E3) = 0,972, Cn(E4) = 0,0025, CN(E5) = 0,0034. C учетом P^ и Np получим нижнее и верхнее приближения соответственно: POSp(X) = {xi, хю, х4, Х5} и UPPp(X) = = {^1, Хю, х2, Х3, х7, х4, х5}.
Точность аппроксимации равна 4/7 ~ 0,57.
Заметим, что в ASX и AgX содержатся повторяющиеся записи — их нужно отбросить. Также отбросим излишние атрибуты.
В результате, как и ранее, получим две системы продукционных правил.
Нижнее приближение:
если Прогноз погоды = Пасмурно & Влажность = 87, то Играть ли = +
если Прогноз погоды = Пасмурно & Влажность = 75, то Играть ли = +
Верхнее приближение:
если Прогноз погоды = Пасмурно & Влажность = 87, то Играть ли = +
если Прогноз погоды = Солнечно & Влажность = 80, то Играть ли = +
если Прогноз погоды = Пасмурно & Влажность = 75, то Играть ли = +
Этот метод имеет расширенные возможности по обработке противоречивой и неполной информации. Он формирует продукционные правила с минимальными условными частями.
Алгоритм RS2
Функция RS2 (С: множество условных атрибутов,
D: решающий атрибут,
О: обучающее множество,
Р^ N-р классификационные факторы) возвращает две системы продукционных правил.
Начало:
Нахождение атомов. На первом этапе просмотр О, поиск неразличимых объектов среди полностью определенных и построение атомов. Для этого 1-й объект сравнивается с N — 1 оставшимся, 2-й — с N — 2 и т. д. (|О| = N\ На втором этапе просмотр О и сравнение каждого неполностью определенного объекта с каждым имеющимся атомом. Сравнение производится только для условных атрибутов из С.
Нахождение нижнего и верхнего приближений. Пусть {Ду} (j = 1,..., к) — множество атомов, X С О — множество, приближения к которому ищем. Множество X вычисляется на основе значений решающего атрибута D.
Нахождение нижнего приближения. POSp(X) := 0; в цикле для j = 1 до к для каждого атома Ej проверить СР^ ^Р3? если да, то POSP(X) := POSP(X) U Ej.
Нахождение верхнего приближения. UPPp(X) := 0; в цикле для j = 1 до к для каждого атома Ej проверить Cn(Ej) ^ Np? если да, то Ej пометить, как лишний, иначе Ej пометить, как необходимый. АХ есть объединение необходимых атомов.
Точность аппроксимации вычисляется как
МРО = \Posp(X)\/\Uppp(X)\.
Найти сокращения для приближений. От каждого атома в множестве оставить по одному его представителю. Для каждого приближения найти зависимые атрибуты и удалить их из приближения.
Конец RS2.
Для оценки возможностей алгоритма 7?84 проведем его сравнение с алгоритмом ID3. Алгоритм ID3 строит дерево решения, а 7?84 — систему продукционных правил. Продукционные правила являются более удобными и гибкими. Однако дерево решения может быть легко сведено к системе продукционных правил. В этом вопросе можно считать алгоритмы схожими.
Существенным моментом является длина полученных описаний. Дело в том, что алгоритм ЛА! включает в полученное описание все доступные атрибуты. Алгоритм ID3 — напротив, строит дерево минимальной длины (для этого на каждом шаге он выбирает наиболее информативный атрибут). Выбор оптимальной длины описания представляет проблему. С одной стороны, небольшие описания легче воспринимаются человеком, в них быстрее осуществляется поиск. С другой стороны, минимизируя описание, мы можем отбросить атрибуты, в общем случае влияющие на классификацию.
Алгоритм ID3 имеет возможность обработки атрибутов, имеющих непрерывные области определения. Все значения таких атрибутов разбиваются на два диапазона, при этом выбирается порог, дающий наибольший прирост информации. Это позволяет построить всего две ветви для поддерева на данном этапе. Таким образом, мы получаем слабо ветвистое дерево, упрощая полученный результат. В отличие от ID3, RS1 не имеет механизмов обработки непрерывных атрибутов. Он, например, будет рассматривать записи
<красный, 81, светло, 125>,
<красный, 81.2, светло, 125>,
<красный, 81.3, светло, 125>
как различные, помещать их в различные классы эквивалентности. Будет получена система продукционных правил, в которой три правила, возможно, будут описывать один и тот же объект. В этой области преимущество ID3 очевидно.
Рассмотрим отдельно непрерывные и дискретные атрибуты. Алгоритм ID3 хорошо справляется с непрерывными атрибутами, и шум в таких данных почти не окажет влияния на результат. Все равно все значения будут разбиты на два диапазона, а наличие отклонений от действительности может только сместить границы диапазонов. Для алгоритма ЛА! разброс значений еще более увеличит количество элементарных множеств и, следовательно, размер полученного описания.
Что касается атрибутов с дискретными значениями, то здесь дело обстоит по-другому. Алгоритм ID3, используя статистику, выбирает наиболее часто встречаемые значения. Это позволяет «не замечать» случайных искажений. В этом случае ЛА! тоже показывает хорошие результаты. Так как заранее неизвестно, какие значения считать истинными, а какие — искаженными, алгоритм строит две системы продукционных правил. Одна дает уверенную классификацию, но при этом возможно, что не все объекты, принадлежащие к понятию, попадут под эту классификацию, т. е. эта система неполная. Вторая система будет описывать все положительные объекты, но под это описание могут попасть и некоторые отрицательные. Для разной степени точности классификации мы будем иметь различные системы правил. Как видно из сказанного, в зависимости от ситуации лучше подойдет тот или иной метод. Отметим способ, который расширит область применения алгоритма RS1. Предварительно можно заменить непрерывный атрибут дискретным, разбив весь диапазон непрерывных значений на 2-5 отрезков.
Были получены оценки для вычислительной сложности каждого алгоритма: Сщз = О(к2 • АГ^ Crsi = О^к • N2\ Таким образом, на больших обучающих множествах (\U\ = N А> 100) ID3 будет выдавать результаты существенно быстрее, чем RS1.
Основным достоинством подхода с использованием приближенных множеств является его способность работать с неточными и даже противоречивыми исходными данными. Главный недостаток заключается в высокой вычислительной сложности алгоритма генерации правил.
.4. Алгоритм распознавания объектов в условиях неполноты информации
Как было упомянуто выше, реальные базы данных часто могут содержать неполную, либо некорректную информацию. Исследуется случай, когда обучающая выборка содержит примеры такого типа. Здесь каждый объект можно интерпретировать как вектор, полученный путем измерений ряда параметров. Некоторые из параметров при этом могут получать ошибочные значения, либо просто быть неизвестными в результате помех и сбоев в контурах измерений. Сама обучающая выборка представляет множество положительных примеров.
Изложенный в работе авторов алгоритм решает задачу отнесения объектов такого типа к одному из известных классов Ку, К2 ... , Кт. Вследствие неполноты информации классификация каждого объекта может быть неоднозначной. В таком случае предлагается искать ответ с некоторой оценкой достоверности, то есть в виде множества пар: < Ку, цх >, < К2, Ц2 >,.,< Кт, рт >, где ц^ представляет достоверность того, что предъявленный объект принадлежит г-му классу.
Ставится задача построить решающее правило R, которое позволит сопоставить произвольному объекту пару < К^, щ >, либо несколько таких пар. Исходным данным для построения решающего правила является обучающая выборка Г, содержащая примеры, для которых известна их принадлежность к определенному классу (обучение с учителем). Само решающее правило организуется в виде дерева, называемого деревом разбора, которое формируется на основе зонного представления признаков. Признаки, характеризующие объект, являются либо количественными, либо качественными, и могут содержать неизвестные или неверные значения.
Сформулируем задачу более строго. Пусть имеется множество объектов, таких, что для описания каждого объекта используется набор атрибутов < тгх, ?Г2,..., тгп >, причем значение каждого из признаков может быть неизвестно. Каждый объект х принадлежит одному из классов Kj, j = 1,т. Для каждого класса Kj, j = 1,т задана информация Ij в виде множества положительных примеров. Множества таких выборок по всем классам составляют общую обучающую выборку I : I = ly U /2 U . .. U 1т.
Требуется на основе обучающей выборки I построить решающее правило (алгоритм), позволяющее сопоставить произвольному объекту х пару < Kj,p,j >, где Kj — класс, pj понимается как достоверность принадлежности этого объекта классу. Далее надо применить построенное решающее правило для классификации других предъявленных объектов. Будем строить последовательный алгоритм, базируясь на идее последовательного анализа значений признаков входного объекта х.
Сам алгоритм и схема последовательной классификации основаны на зонном представлении признаков объектов. Для каждого числового признака тц определяется диапазон изменений его значений: d^. Для этого в пределах обучающей выборки I находятся наибольшее и наименьшее значения признака среди всех представленных в выборке значений, и берется их разность.
Для исследования корреляции значений признака тц соответственно классам Ку, К2,..., Кт, диапазон изменения значений разбиваем на равные участки, называемые далее зонами. Число зон определяется формулой Kd^i = d7Vi/\I\, где Kd^i — ширина зоны, |/| — мощность обучающей выборки I.
Разбив диапазоны значений обучающих признаков на зоны и произведя для каждого признака тц, г = 1, п, разметку соответствия его значений, представленных в общей обучающей выборке 1, зонам, можно определить, представители каких классов из I попали в каждую зону. Класс Kj будем называть сопоставляемым для определенной зоны рассматриваемого признака щ. если в обучающей выборке Ij, соответствующей классу Kj найдется пример, значение которого попадает в эту зону.
Введем функцию F, называемую далее функцией существенности признака. Функция существенности F принимает значения в интервале (0, 1); в соответствии с ней наиболее существенным следует признать признак, для которого по всем классам К число классов, одновременно сопоставленных каждой зоне, минимально.
Значения функции F могут быть получены в процессе диалога с экспертом на этапе генерации системы; если эксперт затрудняется упорядочить признаки по существенности, предлагается использовать следующую эмпирическую формулу, в соответствии с которой наиболее существенным является тот признак, для которого по всем классам К^щ = 1,ш, число классов, одновременно сопоставляемых каждой зоне, минимально:
где т — число классов, nz — число зон по рассматриваемому признаку;
_ Г 1 — если класс К, является сопоставляемым для J-й зоны; /у1 0 — в противном случае,
т/ — число классов, для которых в общей обучающей выборке I по рассматриваемому признаку имеется информация (т. е. не все значения неизвестны).
Вычисленные по этой формуле значения функции существенности позволяют упорядочить признаки объекта по убыванию существенности, что определяет порядок выбора признаков последовательным правилом классификации.
В связи с возможным разбросом значений, представленных в обучающей выборке I, введем понятие гипотетических классов. Разброс оценивается экспертом на этапе построения решающего правила путем задания одной из следующих оценок: 3 — существенный разброс, 2 — несущественный, 1 — разброс практически отсутствует. Для учета
624 Индуктивные методы для случая неполной информации [Гл. 14 возможного попадания значений числовых признаков щ. г = 1,п, распознаваемых объектов за пределы диапазона d^ вводим две вспомогательные зоны: для значений признака тц, меньших тш(тц); и для !
значений признака тц, больших тах(тг^).
I
Ширина этих зон вычисляется исходя из введенной экспертом оценки разброса с учетом семантических ограничений, накладываемых на значения данного признака. Разброс значений числовых признаков имеет место не только для крайних зон, но и для промежуточных. Если зона помечена именем класса, то можно предположить, что при классификации встречаются примеры объектов этого же класса со значением рассматриваемого признака, попадающим в соседние зоны. Класс, сопоставляемый зоне вследствие возможного разброса значений признаков из других зон, будем называть гипотетическим для данной зоны.
При построении решающего правила R введем оценку ц, называемую далее достоверностью принадлежности объекта классу. Введение этой оценки связано с тем, что по каждому признаку щ. г = 1, п, каждой зоне могут быть сопоставлены несколько классов. Достоверность ц будет использована при оценке гипотез о принадлежности объекта ж каждому из сопоставленных зоне классов. Оценки ц будут вычисляться для каждой зоны каждого признака по всем классам (как сопоставляемым, так и гипотетическим) по правилам, рассмотренным ниже. Вычисление достоверности для сопоставляемых зоне классов можно разбить на следующие этапы.
Шаг 1. Для каждого сопоставляемого зоне класса Kj подсчитывается отношение числа примеров, представленных в обучающей выборке Ij значение рассматриваемого признака которых попадает в эту зону, к числу примеров этой же выборки Д, для которых значение рассматриваемого признака определено. Полученное отношение умножается на 100%.
Шаг 2. Для всех сопоставляемых данной зоне классов суммируются полученные значения (в процентах), и полученный результат принимается за 100%.
Шаг 3. Для каждого сопоставляемого зоне класса Kj значение, полученное на первом шаге, делится на суммарное значение, полученное на втором шаге, что дает искомое значение достоверности.
Так как гипотетические классы введены на случай возможного попадания значений признаков в определенные зоны, то достоверность для гипотетических классов не может быть вычислена на основе анализа значений, представленных в обучающей выборке. Эта достоверность может быть оценена интуитивно с учетом оценки разброса значений числовых признаков, введенной экспертом.
Пусть для некоторой зоны класс Kj является сопоставляемым с достоверностью pij. Чем больше оценка разброса, тем в большее число
близлежащих зон возможно попадание значений анализируемого признака при распознавании, т. е. для большего числа зон класс является гипотетическим.
Примем, что если для некоторой зоны класс Kj является сопоставляемым, а соседние зоны не помечены именем этого класса, то попадание значений анализируемого признака в эти зоны наблюдается хотя бы в два раза реже, нежели в основную зону. Следовательно, и достоверности для гипотетических классов этих зон должны быть хотя бы в два раза меньше достоверности для сопоставляемого класса Kj.
При вычислении достоверностей для гипотетических классов мы ориентируемся на «наихудший случай», т. е. лучше завысить достоверность, чем недооценить ее. Это объясняется тем, что если факт принадлежности объекта гипотетическому классу будет опровергаться в ходе распознавания, то и достоверность для этого класса будет уменьшаться в процессе вывода решения.
В соответствии с этими соображениями, если для некоторой зоны класс Kj уже является гипотетическим с достоверностью Д, и на эту зону накладывается достоверность ц", учитывающая разброс какой- нибудь другой близлежащей зоны, то окончательная достоверность ц для гипотетического класса Kj вычисляется следующим образом: ц = тах(Д, р/'\
Рассмотрим далее структуру решающего правила R. Результатом работы первого этапа алгоритма является решающее правило R, представленное в базе знаний. Решающее правило R содержит зонное представление признаков тгх,..., тгп. Для каждого признака указано его имя, тип (количественный или качественный) и информация по всем зонам. Первая и последняя зоны каждого числового признака — вспомогательные, они используются для учета разброса значений, выходящего за пределы диапазона значений, представленных в обучающей выборке I. Для каждой зоны указаны: интервал охватываемых ею значений, число примеров обучающей выборки, попавших в данную зону по каждому из классов Kj, j = 1, ш (значение — 1 означает, что данный класс является гипотетическим для рассматриваемой зоны), а также достоверности принадлежности объекта каждому из классов.
Поясним механизм применения построенного решающего правила для распознавания конкретного объекта х. При распознавании происходит наложение значений признаков классифицируемого объекта на зонное представление признаков, содержащееся в базе знаний. Анализ начинается с наиболее существенных признаков, (в смысле определения принадлежности объекта классу).
По первому признаку, который подлежит анализу, ищется зона, в которую попадает значение признака. Из этой зоны считывается информация о достоверностях для сопоставляемых и гипотетических
классов, которая заносится в список L^. Это первоначальный список классов, к которым может принадлежать распознаваемый объект, и их достоверностей. Информация по следующему анализируемому признаку заносится в список L2. Из списков Li и L2 формируется результирующий список Lr по правилам, изложенным ниже. Далее результирующий список выступает в роли списка Li и т. д. Процесс продолжается, пока не будут проанализированы все признаки распознаваемого объекта ж или пока в результирующем списке не останется один класс.
Итак, в ходе последовательного анализа признаков происходит отсечение ненужных классов и осуществляется корректировка значений достоверности для оставшихся в списке классов. Если значение очередного подлежащего анализу признака неизвестно, то происходит переход к анализу следующего по существенности признака. Процедура поэтапного анализа значений признаков с использованием построенной базы знаний может быть представлена в виде так называемого «дерева разбора». Вершине дерева соответствует множество всех возможных классов, ярусу — очередной анализируемый признак. При движении по «дереву разбора» сверху вниз происходит вывод решения.
Рассмотрим подробно алгоритм последовательной классификации объектов при неполной исходной информации.
Алгоритм последовательной классификации
Шаг 1. Вычислить значение функции существенности F для каждого признака тц, г = 1, п.
Шаг 2. Выстроить признаки в последовательность в порядке убывания их существенности.
Шаг 3. гп = 0.
Шаг 4 • Если значения всех признаков распознаваемого объекта неизвестны, то переход к шагу 19.
Шаг 5. Перейти к анализу наиболее существенного признака распознаваемого объекта.
Шаг 6. Если значение подлежащего анализу признака неизвестно, то переход к шагу 18.
Шаг 7. гп = гп + 1.
Шаг 8. В базе знаний, содержащей решающее правило, найти зону, в которую попадает значение анализируемого признака. Шаг 9. Если гп = 1, то переход к шагу 13.
Шаг 10. Сформировать список Li, выписав из найденной зоны классы с соответствующими им значениями достоверности (достоверности для гипотетических классов выписывать со знаком минус).
Шаг 11. Переписать в результирующий список Lr информацию из списка L^.
Шаг 12. Переход к шагу 17.
Шаг 13. Сформировать список L2 аналогично списку L^.
Шаг Ц. Из списков Li и L2 сформировать результирующий список Lr по правилам, изложенным ниже.
Шаг 15. гп = гп — 1.
Шаг 16. Переписать в список L\ информацию из результирующего списка Lr.
Шаг 17. Если в результирующем списке Lr содержится один класс с ненулевым значением достоверности, то переход к шагу 20.
Шаг 18. Если не все признаки распознаваемого объекта проанализированы, то переход к шагу 5, иначе переход к шагу 20.
Шаг 19. Сформировать результирующий список Lr, присвоив всем классам одинаковую достоверность, равную 1/т, где т — число классов.
Шаг 20. Конец.
Рассмотрим подробнее правила формирования результирующего списка Lr из списков L\ и L2 (шаг 14 алгоритма).
Если в список L2 вошли сопоставляемые классы, номера которых не совпадают с номерами ни сопоставляемых, ни гипотетических классов списка Li, то
в результирующий список их не вносить;
просуммировать их достоверности;
полученное значение распределить между сопоставляемыми классами списка L2 пропорционально их достоверностям.
Если в список L2 не вошли какие-нибудь из сопоставляемых классов списка L\ (ни в качестве сопоставляемых, ни в качестве гипотетических) то
в список Lr эти классы не вносить;
их достоверности распределить между оставшимися сопоставляемыми классами списка L\ пропорционально их достоверностям;
сопоставляемые классы списка Li, вошедшие в качестве сопоставляемых в список £2? внести в список Lr с усредненными (по спискам L\ и £2) значениями достоверности.
*971
Я ННЭ^ЭЯИсЗп Х<1Д ИИПЭЫЗПЕ E4ab3Ed I44E44EX£ad Э1ЧНЬО1ХжЭ1^ОС[ц
/ ь £3 \
1?91 ‘О = 9£5 ‘О - I « 9/ ( - + - + - ) - I =
•IЧEX]xdoф эпичя ионнэ^эяя ^эшшяоечеопэи э т^ nnnnEndn keV д ИПЬяП^ф ЭИПЭЫЗПЕ 1ХИЕЭИЫЧЯ ДЧЭЭЕЕЯ ПЭ ЭВПХЭВЕЯиГЭОПОЭ 1ЧПОЕ ИО'п'ЖЯЯ keV яиEЭ^z,эdпo и :чпо£ ян ^ nnnnEndn иипэьяпе винэнэт^еи HOEEnnnV ээпШ яидеуд 00 ‘2 = 11/11 = TdPV WjolL II = l/l 'll = £ - 08 = MP •т^ nnnnEndn beV ^р иное Хнис!иш jxnEoWIno~7 ‘х = г ^j яояяпе -ndn ей акоЕжо оп д И4эоппэя4ээ1шхэ ии'пянХф 4ЭЬЭ^ jxottonodxi
77Х ’кдя4 я янэЕяигэйМп / nndoginn BntnorenXgo •ии'пяяиф -иээеея иончЕЭЕеяо'п'эЕзоп m^ndojEE i44ognd daixndn rvHdxomDBj
*6 7X daixndxi
•эХпшх ixohehe оэ и ихэо^эяочэо'п' ШХВИПЭЬЯПЕ (^7 и T7 1ХЯЯЭИПЭ on) HIVHHHOHVodDX Э ЯОЭЭЕЕЯ хияээьи4Э4Опил ЭЯ4ЭЭЫ2Я я Н7 ЯОЭИПЭ Я ХИ И4ЭЭПЯЕ ОЧ ‘ЯОЭЭЕЕЯ Х1Ч1ХЭВЕЯЯ4ЭОПОЭ ЭЯ4ЭЭЫ2Я Я Т7 ЕЯЭИПЭ 1ЧЭЭЕЕЯ ЭИЯЭЭЬИ4Э4ОПИЛ ИЕШОЯ ^7 ЯОЭИПЭ Я ИЕЭД '§
•^7 яяэипэ ей nxXnndawnn jloXVoe3 хи ох ^7 вяэипэ ей яоээеея ХИЯЭЭЬИ4Э4ОПИЯ ИИ ‘Х1Ч1ХЭВЕЯЯ4ЭОПОЭ ИИ niXEdOlXOH Э 4О1Е№пЯОЭ эн xindoxox ndoixon ‘нээеея эияээьихэчопия иешоя ^7 яоэипэ я иЕэд 7 •эХпИ1Х 1ХОЯЯПЕ ОЭ ИXЭOПdЭЯO4ЭOiZj И^ВИПЭЫЗПЕ
(^7 и Т7 ]хяяэипэ on) nixinnnonVodoX Э ЯОЭЭВЕЯ хияээьихэчопия ЭЯ4ЭЭПЯЯ Я У7 ЯОЭИПЭ Я ХИ И4ЭЭПЯЕ 04 ‘ХИЯЭЭЬИ4Э4ОПИ4 ЭЯ4ЭЭЫ2Я Я Т7 ЕЯЭИПЭ ЕИ 1ЧЭЭЕЕЯ ЭИЯЭЭПИ4Э4ОПИ4 ИЕШОЯ ^7 ЯОЭИПЭ Я ИЕЭД *0
•^7 ЕЯЭИПЭ ИИПЭЕЯЯ4ЭОЭ ndn 44H43Xnodn 4ЭХ^ЭЕЭ ХИ 04 (ХИЯЭЭЬИ4Э4ОПИ4 ЭЯ4ЭЭНЕЯ Я ИИ ‘Х1Ч1ХЭВЕЯЯ4ЭОПОЭ ЭЯ4ЭЭНЕЯ Я Ин) Т7 ЕЯЭИПЭ ЕИ 1ЧЭЭЕЕЯ ЭИЯЭЭПИ4Э4ОПИ4 ИЕШОЯ ЭИ ^7 ЯОЭИПЭ Я ИЕЭД *0
•эХпИ1Х 1ХОЯЯПЕ ОЭ И И4ЭOПdЭЯO4ЭO^Z, И1ХВИПЭЫ2П£ (^7 И Т7 ^ЯЯЭИПЭ on) niXinnnOnVodoX Э ЯОЭЭВЕЯ ХПЯЭЭНИ4Э4ОПИ4 ЭЯ4ЭЭЫ2Я Я У7 ЯОЭИПЭ Я ХИ И4ЭЭПЯЕ 04 ‘ЯОЭЭЕЕЯ ХИЯЭЭПИ4Э4ОПИ4 ЭЯ4ЭЭЫ2Я Я Т7 ЕЯЭИПЭ 1ЧЭЭЕЕЯ ЭВПХЭВЕЯиГЭОПОЭ ИЕШОЯ ^7 ЯОЭИПЭ Я ИЕЭД 7
•И4ЭOПdЭЯO4ЭO^Z, И^ВИПЭЫЗПЕ
(^7 и Т7 ]хяяэипэ on) nixinnnonVodoX э яоээеея хвпхэвЕяигэопоэ ЭЯ4ЭЭЫ2Я Я ^7 ЯОЭИПЭ Я ХИ И4ЭЭПЯЕ 04 ‘Х1Ч1ХЭВЕЯЯ4ЭОПОЭ ЭЯ4ЭЭЫ2Я Я Т7 ЕЯЭИПЭ 1ЧЭЭЕЕЯ ЭВПХЭВЕЯиГЭОПОЭ ИЕШОЯ ^7 ЯОЭИПЭ Я ИЕЭд 7
^Х '^j] ттУпотлтйофн-п пониоиэн ктэк^э к^р прошэгт эпндтьши^рн^р §59
Таблица 14.5
Имя признака
Р1
р2
Ра
Р4
Тип признака
количественный
качественный
качественный
количественный
11 —примеры
10
1
15
объектов
—
—
1
19
класса Ki
15
20
2
14
I2 —примеры
20
10
2
13
объектов
3
18
—
21
класса К2
70
20
—
25
-
10
2
24
1з —примеры
80
20
объектов
22
18
2
3
класса Кз
44
18
2
33
35
10
-
44
Таблица 14.6
р зоны, з
DPi
С опоставимые классы
^ZJ ,— 1, 3
1г j ^kj , ^ — 1,3
1
(3,10)
1,2
1, 1, 0
1, 1, 0
2
(10,17)
1
1,0,0
0, 0, 0
3
(17,24)
2,3
0,1,1
о, 1, 1
4
(24,31)
-
0, 0, 0
0, 0, 0
5
(31,38)
3
о, о, 1
0, 0, 0
6
(38,45)
3
о, о, 1
0, 0, 0
7
(45,52)
-
0, 0, 0
0, 0, 0
8
(52,59)
-
0, 0, 0
0, 0, 0
9
(59,66)
-
0, 0, 0
0, 0, 0
10
(66,73)
2
о, 1, о
0, 0, 0
11
(73,80)
3
о, о, 1
0, 0, 0
2, 3,4
1,2, 1
Для признака Р2 роль зоны играет дискретное значение (табл. 14.7).
Гр2 = 1 -Гр2 = 1 -/6 « 1 - 0,778 = 0,222./6 « 1 - 0,778 = 0,222.
Гр2 = 1 -
Гр2 = 1 -
/6 « 1 - 0,778 = 0,222.
/6 « 1 - 0,778 = 0,222.
Таблица 14.7
р зоны, з
ПР2
С опоставимые классы
^4J 1 ? 3
1%з F3 ч ^ — 1,3
1
20
1, 2, 3
1,1,1
2,2,2
2
10
2, 3
о, 1, 1
0,1,1
3
18
2, 3
о, 1, 1
0,1,1
1,3,3
2,4,4
Аналогично получим Fp3 « 0,167, Fp4 « 0, 681.
Таблица 14.8
Имя признака
р
зоны
dPi
Кг
к2
К3
Р1
1
0,000 + 3,000
-0,20
1,00
0,00
2
3,000 + 10,000
0,60
0,40
-0,10
3
10,000 + 17,000
1,00
-0,30
-0,20
12
73,000 + 80,000
0,00
-0,20
1,00
13
80,000 + 94,000
0,00
-0,10
1,00
р2
1
20
0,63
0,21
0,16
2
10
0,00
0,57
0,43
3
18
0,00
0,40
0,60
Рз
1
1
1,00
0,00
0,00
2
2
0,14
0,43
0,43
Pi
1
0,00 + 3,00
-0,06
-0,06
1,00
2
3,00 + 6,727
-0,12
-0,12
1,00
6
17,909 + 21,636
0,5
0,50
-0,21
7
21,636 + 25,364
-0,25
1,00
-0,11
12
40,273 + 44,00
0,00
0,00
1,00
13
44,00 + 55,182
0,00
0,00
1,00
Упорядочивая признаки по существенности, получим: Р^Р^Рз- Именно в таком порядке далее будет проводиться анализ признаков предъявленных объектов.
В табл. 14.8 приведена база знаний решающего правила, на основе которой будет проводиться распознавание конкретных объектов. В этой таблице для каждой зоны каждого признака даны значения достоверностей принадлежности объектов каждому из классов Kj, j = 1,3. Со знаком минус указаны значения достоверностей для гипотетических классов.
Таблица 14.9
Имя признака
Р1
р2
Рз
р4
Значение признака
78
-
-
20
Пусть для распознавания системе предъявлен объект, представленный в табл. 14.9. Определим на основе построенного решающего правила, к какому классу принадлежит данный объект. Первый анализируемый признак — Pi. Его значение, равное 78, попадает в зону р 12 (см. табл. 14.8). Будет сформирован список Li : 2(-0,20), 3(1,00).
Поскольку значения признаков Р2 Рз отсутствуют, следующим анализируем признак Р4. Его значение, равное 20, попадает в зону 6. Будет сформирован список L2 : 1(0,50), 2(0,50), 3(—0,21).
Построим результирующий список Lr по правилам, изложенным ранее. Так, в списке L2 появился новый сопоставляемый класс — класс 1. Модифицируем список L2 (и. 1 правил построения результирующего списка): 2(1,00), 3(—0,21).
Сопоставляемый класс 3 списка Li вошел в список L2 как гипотетический. Согласно п. 4 правил, заносим класс 3 в список Lr как гипотетический со значением достоверности, равным (1,00 + 0,21)
=2= 0,65.
Класс 2 согласно п. 8 правил заносим в результирующий список как гипотетический со значением достоверности, равным (0,20 + 1,00)
//(К2) = = 0,60. Поскольку значения признаков
Р9. Рз неизвестны, мы закончили анализ всех признаков объекта. Результат распознавания: объект принадлежит классу 2 с достоверностью 0,60; объект принадлежит классу 3 с достоверностью 0,65.
Алгоритмы, рассмотренные выше, использовали для анализа прежде всего качественные признаки. Вспомним, что алгоритм ID3
632 Индуктивные методы для случая неполной информации [Гл. 14 позволяет в случае количественных признаков разбить область значений только на две зоны. Обучающие выборки для алгоритмов ID3, ДРЕВ не должны содержать объектов с неизвестными значениями, хотя после того, как решающие правила сформированы, их можно использовать для классификации объектов с неизвестными значениями некоторых атрибутов. Еще одной характерной особенностью алгоритма последовательной классификации является представление решающего правила в виде информационной базы, более сложной, чем рассмотренные выше представления. Предложенный алгоритм имеет невысокую вычислительную сложность, определяет принадлежность предъявленного объекта одному из множества классов, но не подходит для случая чисто качественных признаков.
Литературный комментарий
К введению
Понятие интеллектуальной системы было взято из [0.1]. Желающие подробно ознакомиться с классификацией типов выводов, теорией правдоподобных выводов и ДСМ-методом автоматического порождения гипотез могут обратиться к работам [0.2, 0.3]. Философские понятия основных типов рассуждения — дедукции и индукции — освещены в [0.4].
Вопросы силлогистики Аристотеля и проблемы автоматизации достоверных и правдоподобных рассуждений даны в прекрасной книге [0.5]. В работах [0.6, 0.7, 0.8] подробно излагается роль абдукции и индукции в философии и логике, приводится теория силлогистики и инференциальная теория Пирса, показывается взаимодействие между абдукцией и индукцией, описывается индукция и абдукция в машинном обучении. Статья [0.6] оказала сильное влияние на создание введения, особенно той части, которая касается силлогистики Пирса и его инференциальной теории.
0.1. Финн В. К. Правдоподобные рассуждения в интеллектуальных системах типа ДСМ // Итоги науки и техники. Сер. «Информатика». Т. 15. Интеллектуальные информационные системы. — М.: ВИНИТИ, 1991. С. 54-101.
0.2. Финн В. К. Правдоподобные выводы и правдоподобные рассуждения // Итоги науки и техники. Сер. «Теория вероятностей. Математическая статистика. Теоретическая кибернетика». Т. 28. — М.: ВИНИТИ, 1988. С. 3-84.
0.3. Финн В. К. Интеллектуальные системы: проблемы их развития и социальные последствия // Будущее искусственного интеллекта / Под ред. К. Е. Левитина, Д. А. Поспелова. — М.: Наука, 1991. С. 157177.
0.4. Философский словарь / Под ред. И. Т. Фролова. — М.: Политиздат, 1980. 444 с.
0.5. Поспелов Д. А. Моделирование рассуждений. Опыт анализа мыслительных актов. — М.: Радио и связь, 1989. 184 с.
0.6. Flach В. A., Kakas А. С. On the Relation between Abduction and Inductive Learning // Handbook of Defeasible Reasoning and Uncertainty Management Systems. V. 4: Abductive Reasoning and Learning / Ed. by Dov. Gabbay and Ph. Smets. — Kluwer Academic Publishers, 1998-2001-32. P. 1-39.
0.7. Flach Р. A. Logical Characterisations of Inductive Learning // Ibid. P. 155-196.
0.8. Berqadano F., Cutello V.. Gunetti D. Abduction in Machine Learning // Ibid. P. 197-229.
К части I
К главе 1
В этой главе даны основные положения автоматического доказательства теорем, наиболее развитой области искусственного интеллекта. Прежде всего следует отметить разработку Ньюэллом и Саймоном общего решателя проблем (GPS), с помощью которого были доказаны многие теоремы формальной логики [1.1, 1.2].
Вопросам автоматического доказательства теорем посвящены работы [1.3-1.19]. Здесь стоит отметить оригинальный подход С. Ю. Маслова, базирующийся на методе обратного вывода [1.8], на основе которого было создано несколько систем поиска вывода [1.9]. Описание алгоритма машинного поиска естественного логического вывода в исчислении высказываний (АЛПЕВ), предложенного Н. А. Шаниным и его коллегами, можно найти в [1.10]. Изложение классического метода дедукции Эрбрана было взято из [1.3, 1.13]. Описание принципа резолюции для логики высказываний и логики предикатов основывалось на работах [1.3, 1.5-1.7, 1.11]. Линейная резолюция и ее частный случай — входная резолюция — подробно даны в [1.12-1.15].
Общие соображения о дедуктивных моделях и взаимосвязях между формальной логикой и логическим программированием описаны в [1.4, 1.16-1.20]. В работе [1.21] рассмотрены вопросы, связанные с предположением о замкнутом мире.
Изложение теоретических основ языка Пролог приведено в книгах [1.4, 1.22-1.27]. Описанию языка Пролог как языка логического программирования посвящены книги [1.28-1.31]. Описания реализаций методов поиска «в глубину», «в ширину» и «наилучшего» на языке Пролог приведены в [1.15]. Вопросы реализации моделей представления знаний на языке Пролог, примеры планирования действий робота и решения головоломок освещены в [1.15]. Желающие ознакомиться с основами прикладной логики могут обратиться к [1.32].
Newell A., Simon Н. GPS: A Program that Simulates Human Thought / Ed. by Feigenbaum E. A. and Feldman J. // Computers and Thought. — N.Y.: McGraw-Hill, 1963.
Computers and Thought / Ed. by Feigenbaum E. A., Feldman J. — N.Y.: McGraw-Hill, 1963.
Chang С. L.^ Lee R. С. T. Symbolic, Logic and Mechanical Theorem Proving. — N.Y., London: Acad. Press, 1973. (Русский перевод: Математическая логика и автоматическое доказательство теорем. — М.: Наука, 1983. 358 с.).
Kowalski R. Logic for Problem Solving. — N.Y.: Elsevier North-Holland, 1979. (Русский перевод: Логика в решении проблем. — М.: Наука, 1990. 280 с.).
Loveland D. Ж Automated Theorem Proving: a Logical Basis. — N.Y.: North-Holland, 1978.
Wos L., Overbeek R., Lusk E., Bogle J. Automated Reasoning: Introduction and Applications. Englewood Cliffs. — N.Y.: Prentice-Hall, 1984.
Wos L. Automated Reasoning, 33 Basic Research Problems. — N.Y.: Prentice-Hall, 1988.
Маслов С. Ю. Обратный метод установления выводимости в классическом исчислении предикатов // ДАН СССР. Т. 159. р 1. 1964. С Л 720.
Давыдов Г. В., Маслов С. Ю., Минц Г. Е. и др. Машинный алгорифм установления выводимости на основе обратного метода // Исследования по конструктивной математике и математической логике. Зап. науч. сем. ЛОМИ АН СССР. — Л.: Наука, 1969. Т. 16. С. 8-19.
Шанин Н. А., Давыдов Г. В. и др. Алгорифм машинного поиска естественного логического вывода в исчислении высказываний. — М.: Л.: Наука, 1965.
Robinson J. A. A Machine Oriented Logic Based on the Resolution Principle // Journal of the ACM. 1965. V. 12. P. 25-41. (Русский перевод: Машинно-ориентированная логика, основанная на принципе резолюции // Кибернетический сб. Нов. сер. р 7. — М.: Мир, 1970.).
Kowalski R., Kuehner D. Linear Resolution with Selection Function // Artificial Intelligence. 1971. V. 2. P. 227-260.
Вагин В. H. Дедукция и обобщение в системах принятия решений. — М.: Наука, 1988. 384 с.
Вагин В. Н. Дедуктивный вывод на знаниях // Справ. Искусственный интеллект. Кн. 2. Модели и методы / Под ред. Д. А. Поспелова. — М.: Радио и связь, 1990. С. 89-105.
Luger G.F., Stubblefield W.A. Artificial Intelligence. Structures and Strategies for Complex Problem Solving. — Addison Wesley Longman, Inc., 1998. 824 p.
Carlo Zaniolo et al. Advanced Database Systems. — San Francisco: Morgan Kaufmann Publishers, Inc. 1997. 572 p.
Вагин В. H. Дедуктивные модели // Представление знаний в человеко-машинных и робототехнических системах. Т.А.: Фундаментальные исследования в области представления знаний. — М.: ВИНИТИ, 1984. С. 36-47.
Вагин В. ЕЦ Головко А. В. Дедуктивные базы данных в системах управления // Изв. АН СССР. Техническая кибернетика. №2. 1987. С. 60-73.
Stickel М. Е. An Introduction to Automated Deduction // Lecture Notes in Computer Science. N. 232. Fundamentals of Artificial Intelligence / Ed. by W. Bibel and Ph. Jorrand. — Spriger-Verlag, 1986. P. 75-131.
Van Emden M., Kowalski R. The Semantics of Predicate Logic and a Programming Language // Journal of the ACM. 1976. V. 23. P. 733-742.
Reiter R. Deductive Question-Answering on Relational Data Bases // Logic and Data Bases. — N.Y.: Plenum Press, 1978. P. 149-177.
Barr A., Feigenbaum E. A. The Handbook of Artificial Intelligence. — Pitman, 1981. V. 1-3.
Campbell J. A. Implementation of Prolog. — Ellis Horwood, 1984.
Horovitz E., Sahni S. Fundamentals of Data Structures. — Pitman, 1976.
Тейз А., Грибомон ГЦ Луи Ж. и др. Логический подход к искусственному интеллекту: от классической логики к логическому программированию / Пер. с франц. — М.: Мир, 1990. 432 с.
Лоръер Ж.-Л. Системы искусственного интеллекта / Пер. с франц. — М.: Мир, 1991. 568 с.
Логическое программирование. Сб. статей /Под ред. В. Н. Агафонова. — М.: Мир, 1988.
Братко И. Программирование на языке ПРОЛОГ для искусственного интеллекта. — М.: Мир, 1990. 560 с.
Clocksin Ж F., Mellish С. S. Programming in Prolog. — Spinger-Verlag, 1981. (Русский перевод: Клоксин У., Меллиш К. Программирование на языке ПРОЛОГ. — М.: Мир, 1987).
Sterling L., Shapiro Е. The Art of Prolog. — Cambridge: MIT Press, MA, 1986. (Русский перевод: Стерлинг Л. Шапиро Э. Искусство программирования на языке ПРОЛОГ. — М.: Мир, 1989).
Доорс Дж.. Рейблейн А. Р., Вадера С. ПРОЛОГ — язык программирования будущего / Пер. с англ. — М.: Финансы и статистика, 1990. 144 с.
Непейвода Н. Н. Прикладная логика. — Новосибирск: Изд-во НГУ, 2000. 490 с.
К главе 2
Метод вывода на графе связей был разработан Р. Ковальским, и его описание взято из [2.1]. Проблема полноты и состоятельности метода вывода на графе связей рассмотрена в [2.2, 2.3]. Параллельным методам вывода на графе связей, особенно DCDP- и AND- параллелизму, было посвящено много работ. Мы придерживались изложения параллелизма в выводе на графе связей по работам [2.42.9]. В качестве основных тестовых задач были рассмотрены задачи о N ферзях и «Стимроллер» [2.10, 2.11]. Программирование зада-
чи о N ферзях с применением DCDP- и AND-параллелизма было осуществлено Н. О. Салапиной [2.12-2.16]. Изложение OR-, DCDP- и AND-параллелизма на графе связей для задачи «Стимроллер» дано по работам [2.17-2.20]. Разработка эвристической функции Н1 и программного обеспечения при решении задачи «Стимроллер» принадлежит А. И. Аверину.
Kowalski R. A Proof Procedure Using Connection Graphs // J. of the ACM. 1975. V.22(4). P. 572-599.
Bibel W. On the Completeness of Connection Graph Resolution // Proceedings GWAI-81, Informatik-Fachberichte 47 / Ed. by J. H. Siekmann. — Berlin: Springer-Ver lag, 1981. P. 246-247.
Siekmann J., Stephan W. Completeness and Soundness of the Connection Graph Procedure // Interner Bericht 7/76. — Inst, fur Informatik I, Universitat Karlsruhe, ERG, 1976.
Loganantharaj R. Theoretical and Implementation Aspects of Parallel Link Resolution in Connection Graphs. PhD thesis // Dep. of Comp. Sci., Colorado State University, 1985.
Loganantharaj R., Mueller R. A. Parallel Theorem Proving with Connection Graph // 8th Int. Conf, on Autom. Deduc., LNCS 230, 1986. P. 337-352.
Loganantharaj R., Mueller R. A., Oldehoeft R. R. Connection Graph Refutation: Aspects of AND-parallelism // Tech. Report CS-85-10, Department of Computer Science, Colorado State University, 1985.
Cheng P.D., Luang J. Y. A Parallel Resolution Procedure Based on Connection Graph // Proc, of 6th Nat. Conf, on Art. Intell. (AAAI 87), Seattle, Washington, 13-17 July 1987. P. 13-17.
Hornung G., Knapp A., Knapp U. A Parallel Connection Graph Proof Procedure // German Workshop on Artificial Intelligence, LNCS. — Berlin: Springer-Verlag, 1981. P. 160-167.
Munch К. H. A New Reduction Rule for the Connection Graph Proof Procedure // J. of Automated Reasoning. 1988. V. 4. P. 425-444.
Stickel M. F. Schubert's Steamroller Problem: Formulations and Solutions // Ibid. 1986. V. 2. P. 89-100.
Братко И. Программирование на языке Пролог для искусственного интеллекта / Пер. с англ. — М.: Мир, 1990. 560 с.
Вагин В. Н., Еремеев А. П., Салапина Н. О. Организация параллельного вывода в системах поддержки принятия решений // Сб. изб. работ по грантам в обл. информатики, радиоэлектроники и систем управления. — СПб, 1994. С. 58-63.
Vagin V. N., Salapina N. О. Parallel Inference on Connection Graphs // Proceedings of the 1998 IEEE ISIC/CIRA/ISAS Joint Conference, Gaithersburg, MD, September 14-17, 1998. P. 204-209.
Вагин В.Н., Салапина Н. О. Система параллельного вывода с использованием графа связи // Изв. РАН. Теория и системы управления. 1998. №5. С. 39-47.
Вагин В.Н., Салапина Н. О. Программная реализация системы параллельного вывода PIS с использованием графа связей // КИИ798. Шестая национальная конференция с международным участием. Труды конференции. Пущино, 1998. Т. 1. С. 250-256.
Vagin V. М., Salapina N. О. A System of Parallel Inference with the Use of a Connection Graph // J. of Comp, and Syst. Sci. Int. 1998. V.37. №5. P. 699-707.
Аверин А. И., Вагин В. IL. Хамидулов М. К. Исследование алгоритмов параллельного вывода на задаче «Стимроллер» // Изв. РАН. Теория и системы управления. 2000. №5. С. 92-100.
Аверин А. И., Вагин В. Н., Хамидулов М. К. Методы параллельного вывода на графовых структурах // Седьмая нац. конф, по иск. инт. с межд. участием (КИИ-2000). — М.: Физматлит, 2000. Т. 1. С. 181-189.
Averin A.I., Vagin V N., Khamidulov M. К. The Investigation of Algorithms of Parallel Inference by the Steamroller Problem // J. of Comp, and Syst. Sci. Int. 2000. V.39. №5. P. 758-765.
Аверин А. И., Вагин В. H. Параллелизм в дедуктивном выводе на графовых структурах // Автоматика и телемеханика. 2001. №10. С.54-64.
К главе 3
Описание типов параллелизма на уровне термов, на уровне дизъюнктов и на уровне поиска в дедуктивном выводе взято из [3.1]. Последовательный алгоритм дедукции на С-графах был разработан В.Г. Кикнадзе и В. Н. Вагиным и дан в [3.2, 3.3]. Пять типов параллелизма в выводе на раскрашенных С-графах предложены В. Н. Вагиным и рассмотрены в [3.2, 3.4-3.9]. Сравнение эффективности различных процедур дедуктивного вывода было проведено на тестовой задаче «Стимроллер» и описано в [3.10, 3.11]. Программная реализация параллельного алгоритма вывода на С-графе принадлежит М. К. Хамидулову.
Bonacina М. Р. A Taxonomy of Parallel Strategies for Deduction // Ann. of Math, and Artificial Intell. 2000. 29 (1, 2, 3, 4). P. 223-257.
Вагин В. H. Дедукция и обобщение в системах принятия решений. — М.: Наука, 1988. 384 с.
Вагин В. Н., Кикнадзе В.Г. Дедуктивный вывод на семантических сетях в системах принятия решений // Изв. АН СССР. Техническая кибернетика. 1984. №5. С. 106-120.
Вагин В. Н. Параллельная дедукция на семантических сетях // Там же. 1986. №5. С. 51-61.
Vagin V. N. Parallel Deduction in Inference Machines // Artificial Intell, and Informat ion-Control Systems of Robots-87. Elsevier Science Publishers В. V. (North-Holland). 1987. P. 479-482.
Вагин В. H., Васильев М. Ю. Абстрактная схема параллельной машины логического вывода // Изв. АН СССР. Техническая кибернетика. 1988. №5. С. 195-207.
Вагин В. Н., Васильев М.Ю. Программное моделирование параллельной системы логического вывода / / Новые инф. техно л. в планировании, управлении и в производстве. Матер, сем. МДНТП им. Ф. Э. Дзержинского. — М.: 1991. С. 105-112.
Vagin V. N. Parallel Inference on Logical Networks // Automated Reasoning. Proc, of the IFIP/WG 12.3 Int. Workshop on Autom. Reas. Beijing, P. R. China, 13-16 July 1992. North-Holland, 1992. P. 305-310.
Vagin V. N. Parallel Inference in Situation Control Systems // Architectures for Semiotic Modelling and Situation Analysis in Large Complex Systems. Proc, of the 1995 ISIC Workshop. 10th IEEE Int. Symp. on Intell. Cont. 1995. Monterey, California. P. 109-116.
Аверин А. И., Вагин В. H.. Хамидулов М. К. Методы параллельного вывода на графовых структурах // Тр. VII нац. конф, по иск. инт. с межд. участием. Т. 1. — М.: Физматлит, 2000. С. 181-189.
Aberin A.L, Vagin V N., Khamidulov M. К. The Investigation of Algorithms of Parallel Inference by the Steamroller Problem // J. of Comp, and Syst. Sci. Int. 2000. V.39. №5. P. 758-765.
К главе 4
Полное описание метода аналитических таблиц дано в книге [4.1], из которой был почерпнут основной материал для написания этой главы. М. Фиттинг продолжил дело своего учителя Р. Смальяна и изложил этот метод с точки зрения применения теории автоматического доказательства теорем в логическом программировании [4.2]. Этот же автор дал реализацию метода аналитических таблиц для пропозициональной логики и логики предикатов первого порядка на языке Пролог. Е. Ю. Головина применила этот метод для решения тестовой задачи «Стимроллер», описанной в [4.3]. Желающие могут также ознакомиться с этим методом по книге [4.4].
Smullyan R. М. First-Order Logic. — Berlin, Heidelberg, N.Y.: SpringerVerlag, 1968. 158 p.
Fitting M. First-Order Logic and Automated Theorem Proving. — N.Y.: Springer-Verlag, 1990. 511 p.
Stickel M. F. Schubert’s. Steamroller problem: formulation and solution // Journal of Automated Reasoning. 1986. V. 2. P. 89-100.
Хвостова К. В., Финн В. К. Проблемы исторического познания в свете современных междисциплинарных исследований. — М.: РГГУ, 1997. 256 с.
К главе 5
В работах [5.1, 5.2] описана многоуровневая упорядоченно-сортная алгебра для описания взаимодействия типов. В [5.3] дана многосортная алгебра, как основа для создания языка запросов, и показано ее использование для определения манипулирования сложными объектами. В [5.4] была разработана упорядоченно-сортная алгебра, позволяющая описывать иерархию типов и наследование. Также использованию двухуровневой OSA посвящена работа [5.5]. В [5.6] изложены преимущества интеграции различных типов функций (арифметических, функций агрегации и ADT-функций) в многосортной алгебре. В [5.7] отмечено, что невозможен, в общем, модельный параметрический полиморфизм посредством одного уровня алгебры и разработана двухуровневая алгебра, описывающая типы и конструкторы типов. М.Ируинг и Р. Гутинг в [5.2] определили многосортную сигнатуру, упорядоченно-сортную сигнатуру и сигнатуру спецификации. В [5.8] введено понятие «множество видов». Многоуровневая логика разработана С. Осугой, X. Ямаучи в [5.9, 5.10].
Описанию использования многоуровневой логики в качестве языка представления знаний в экспертных системах, CASE-системах, системах поддержки принятия решений и семиотических системах посвящены работы [5.11-5.27]. В этих работах Е. Ю. Головиной развит синтаксис многоуровневой логики, разработаны механизмы вывода для модифицированного синтаксиса, позволяющие увеличить эффективность процедуры дедуктивного вывода. Приведены также результаты моделирования сложноструктурированной проблемной области «Аэропорт» и дано описание разработанного программного средства моделирования сложноструктурированной проблемной области «ИНФОЛОГ », в основе которого лежит аппарат многоуровневой логики и механизмы вывода в ней. Первая версия этого программного средства «ИНФОЛОГ» была разработана Е. Ю. Головиной. В разработке второй версии, функционирующей под Windows 3.1 и выше, Windows NT, принимали участие Е. Ю. Головина и Ф. Ф. Оськин.
Erwing М. Specifying Type Systems with Multi-Level Order-Sorted Algebra // 3rd Int. Conf. On Algebraic Method, and Software Technol. 1993. P. 179-188.
Erwing M., Guting R. H. Explicit Graphs in a Functional Model for Spatial databases // Report 110, FernUniversity Hagen. 1991. Revised Version. 1993.
Guting R.H., Zicari R., Choy D. M. An Algebra for Structured Office Documents // ACM Transactions on Office Information Systems. 1989. V.7. №4. P. 123-157.
Goguen J. A., Meseguer J. Order-Sorted algebra I: Partial and Overloaded Operations, Errors and Inheritance / / Report. SRI International. 1989.
Guting R.H.. Second-Order Signature: A Tool for Specifying Data Models, Query Processing and Optimization // ACM SIGMOD Conf. On Management of Data. 1993. P. 277-286.
Guting R. H. Geo-Relational Algebra. A Model and Query Language for Geometric Database Systems // Int. Conf. On Extending Database Technol. 1988. P. 506-527.
Leszczylowski J., Witsing M. Polymorphism, Parameterization and Typing. An Algebraic Specification Perspective // Symp. on Theor. Asp. of Computer Sci. 1991. P. 1-15.
Cardelli L. Types for Data Oriented Languages // Int. Conf. On Extending Database Technol. 1988. P. 1-15.
Ohsuga S., Yamauchi H. Multi-layer Logic — a Predicate Logic Including Data Structure as Knowledge Representation Language // New generation computing. 1985. V. 3. №4. P. 451-485.
Ohsuga S. Toward Intelligent CAD Systems // Computer Aided Desing. 1989. V.21. №5. P. 315-337.
Вагин В. H., Головина Е. Ю. Многоуровневая логика — модель представления знаний в экспертных системах // III конф, по ИИ. КИИ-92. Сб. науч. тр. Т. 1. — Тверь: Центрпрограммсистем, 1992. С. 16-18.
Вагин В. Н., Викторова Н.П., Головина Е. Ю. Многоуровневая логика как модель представления знаний в CASE-системе // Изв. РАН. Техническая кибернетика. 1993. №5. С. 172-185.
Вагин В. Н., Головина Е. Ю. Моделирование сложноструктурированной предметной области в системах принятия решений //И межд. научи.-техн. сем. «Теор. и прикл. проб л. моделирования предметных областей в системах баз данных и знаний». Тез. докл. / Под ред. Б. В. Игнатенко. — Киев: Concept Ltd, 1993. С. 73-75.
Головина Е. Ю. Объектно-ориентированный подход к моделированию предметной области // Изв. РАН. Техническая кибернетика. 1994. №2. С. 43-47.
Vagin V. N., Golovina Е. Yu. Creating a Knowledge-based Repository of CASE Environment for Intelligent Tutoring Systems // Proc, of JCKBSE'94. JapanCIS Symp. on Knowledge Based Software Eng/94. Pereslavl-Zalesski, 1994. P. 42-46.
Vagin V. N., Viktorova N.P., Golovina E. Yu. Multilayer Logic as a Knowledge Representation Model in the CASE System // J. of Comp, and Syst. Sci. Int. 1995. V.33. №3. P. 72-83.
Вагин B.H., Головина E. Ю. Построение репозитория, основанного на знаниях, в CASE-технологии // Вест. МГТУ. Сер. «Приборостроение». Изд. МГТУ им. И. Э. Баумана. 1995. №2. С. 17-26.
Vagin V.N., Golovina Е. Yu., Salapina N.O. Intelligent CASE for Decision Making Systems // Proc, of JCKBSE'96. Sec. Joint Conf.
on KnowledgeBased Software Eng. Sozopol, Bulgaria. September 21-22. 1996. P. 122-127.
Вагин В. IL. Головина Е. Ю. Формальная модель предметной области CASE-системы // Сб. науч. тр. V-й нац. конф, с межд. участием «Искусственный интеллект-96». — Казань: ЗАО ПО «Спецтехника», 1996. Т.З. С. 433-437.
Вагин В. Н., Головина Е. Ю., Салапина Н. О. Искусственный интеллект в CASE-технологии // Программные системы и продукты. — Тверь: НИИ «Центрпрограммсистем», 1996. №3. С. 13-21.
Vagin V. N., Golovina E.Yu. Artificial Intelligence in CASEtechnology // Тез. докл. межд. конф. «New Inf. Technol. in Sci. Educ. and Business» (IT+SE'97). Украина, Крым, Ялта, 15-24 мая 1997. Р. 59-63.
Vagin V. N., Golovina E. Yu. Knowledge Representation Language in Semiotic Systems // Proc, of the 1997 Int. Conf, on Intell. Syst. and Semiotics: A Learning Perspective / Ed. by A. M. Meystel. — Washington: U.S. Government Printing Office, 1997. P. 50-53.
Вагин В. EL, Головина Е.Ю., Оськин Ф. Ф. Модели и методы представления знаний в CASE-технологии // Интеллектуальные системы. Т. 2. Вып. 1-4. — М.: Изд. ц. РГГУ, 1997. С. 115-134.
Vagin V. N., Golovina Е. Yu. Knowledge Model in Semiotic Systems // Seventh Intern. Conf. Artificial Intelligence and Information-Control Syst. of Robots. AIICSRZ97. Second Workshop on Applied Semiotics. Sept. 15, 1997. Smolenice Castle, Slovakia. P. 61-66.
Головина E. Ю. Применение методов искусственного интеллекта в CASE-технологиях // Третья межд. летняя школа-семинар по иск. интелл. для студ. и аспир. (Браславская школа — 1999): Сб. науч, тр. — Мн.: БГУИР, 1999. С. 66-74.
Головина Е. Ю. Метод построения семиотических CASE-систем // Компьютерная хроника. 2000. №4. С. 3-23.
Головина Е. Ю. Модель представления знаний в семиотической системе // Сб. докл. межд. конф, по мягким вычислениям и измерениям (SCM'2000). СПб., май, 2000. Т2. С. 109-113.
К части II
К главе 6
Основные характерные особенности данных и знаний были рассмотрены Д. А. Поспеловым и его учениками в [6.1, 6.2]. Вопросам применения данных и знаний в интеллектуальных системах посвящены работы [6.3, 6.4]. Философско-логический подход к метафорическому определению понятия знаний дан в [6.5-6.9]. В [6.9] также подробно изложены три основных механизма мышления: дедукция, абдукция и индукция, освещены вопросы семантической теории
знания, а также Яе-факторы знания: неполнота, немонотонность, противоречивость, неточность, относительность, неопределенность и нечеткость. Ле-факторы знания рассмотрены также в [6.10, 6.11]. Вопросам представления и обработки неопределенности и нечеткости знания на основе теории вероятностей, теории Демпстера-Шейфера, теории возможностей и нечеткой логики посвящены работы [6.12, 6.13, 6.14]. Подробное изложение логики вопросов и ответов дано в [6.15]. Различным видам немонотонных логик типа абдукции, логики умолчания, модальной логики, автоэпистемической логики и других посвящены работы [6.16-6.24].
Кондрашина Е. Ю., Литвинцева Л. В., Поспелов Д. Л. Представление знаний о времени и пространстве в интеллектуальных системах. / Под ред. Д. А. Поспелова. — М.: Наука, 1989. 328 с.
Искусственный интеллект. Кн. 2. Модели и методы: Справ. / Под ред. Д. А. Поспелова. — М.: Радио и связь, 1990. 304 с.
Гаврилова Т.А., Хорошевский В. Ф. Базы знаний интеллектуальных систем. — СПб.: Питер, 2000. 384 с.
Вагин В. Н. Дедукция и обобщение в системах принятия решений. — М.: Наука, 1988. 384 с.
Асмус В. Ф. Платон. — М.: Мысль, 1975. 220 с.
Платон. Соч. в 3-х тт. / Под ред. В. Ф. Асмуса и А. Ф. Лосева. Т. 1. — М., 1968.
Чатышев А. Н. Аристотель. — М.: Мысль, 1987. 221 с.
Аристотели. Соч. в 4-х тт. — М., 1975-1983.
Delgrande J.P., Mylopoulos J. Knowledge Representation: Features of Knowledge // Fundamentals of Artificial Intelligence. An Advanced Course. Leet. Notes in Computer Science / Ed. by W. Bibel and Ph. Jorrand. — Springer-Verlag, 1986. V. 232. P. 3-36.
Наринияни A. C. He-факторы: неточность и недоопределенность — различие и взаимосвязь // Изв. РАН. Теория и системы управления. 2000. №5. С. 44-56.
Вагин В. Н. .He-факторы знания и нетрадиционные логики // Третья межд. школа-семинар по иск. интелл. для студ. и аспир. (Браславская школа-1999). Сб. науч. тр. Беларусь, 1999. С. 10-14.
Dempster А. Р. A Generalization of Bayesian Inference // J. of the Royal Stat. Soc. 1968. V.30. P. 205-247.
Дюбуа Д., Прад А. Теория возможностей. Приложения к представлению знаний в информатике. — М.: Радио и связь, 1990. 287 с.
Zadeh L. A. Fuzzy Logic and Approximate Reasoning // Synthese 30. 1975. P. 407-428.
Белнап H., Стил T. Логика вопросов и ответов. — М.: Прогресс, 1981. 288 с.
J. of Арр. Non-Classical Logics. Sp. Iss. Uncertainty, Conditionals and Non-Monotonicity. 1991. V. 1. №2. 310 p.
Int. J. of Intell. Syst. Sp. Iss. Reasoning under Incomplete Information in Artificial Intelligence. 1990. V. 5. №4. 472 p.
Тейз А., Грибомон ГЦ Луи Ж. и др. Логический подход к искусственному интеллекту. От классической логики к логическому программированию. — М.: Мир, 1990. 429 с.
Reiter R. A Logic for Default Reasoning // Artif. intell. 1980. V. 13. P. 81-132.
Marquis P. Extending Abduction from Propositional to First-Order Logic. P. 141-155 // Lecture Notes in Artificial Intelligence. V. 535. / Ed. by Ph. Jorrand, J. Kelemen. — Fundamentals of Artificial Intelligence Research. Springer-Ver lag, 1991. 255 p.
McDermott D., Doyle J. Non-Monotonic Logic I // Artif. Intell. 1980. V. 13. P. 41-72.
Moore R. C. Semantical Considerations on Non-Monotonic Logic // Proc. IJCAI-83, Karlsruhe, 1983. P. 272-279.
Vagin V. N. Non-Classical Logics in Semiotic Systems // CAI'98. Sixth Nat. Conf, with Int. Participants. Proc. Workshop App. Semiotics and Abstracts of CAI'98. V. III. 1998. P. 34-39.
Вагин В. H. Зачем нужны нетрадиционные логики? // Межд. форум информатизации-98: Докл. межд. конф. «Информационные средства и технологии», 20-22 октября 1998. — М.: Станкин, Т. 1. С. 6-14.
К главе 7
Большая часть этой главы основывается на самом полном изложении формальных систем модальной логики в замечательной книге Р. Фейса [7.1], в которой систематически изложены основные положения модальной логики, но которую автор так до конца своей жизни и не успел переработать. В этой же книге в разделе «Дополнения» С.А. Крипке дан семантический анализ модальной логики как для нормальных, так и ненормальных модальных исчислений высказываний [7.2, 7.3]. Читатели, более подробно интересующиеся семантическими исследованиями модальных и интенсиональных логик, могут обратиться к [7.4, 7.5]. Некоторые сведения о модальных логиках можно найти в [7.6].
Фейс Р. Модальная логика. — М.: Наука, 1974. 520 с.
Крипке С. А. Семантический анализ модальной логики. I. Нормальные модальные исчисления высказываний // Модальная логика. — М.: Наука, 1974. С. 254-303.
Крипке С. А. // Там же. С. 304-323.
Семантика модальных и интенсиональных логик / Под общ. ред. В. А. Смирнова. — М.: Прогресс, 1981. 424 с.
Модальные и интенсиональные логики и их применение к проблемам методологии науки / Под. ред. В. А. Смирнова. — М.: Наука, 1984. 368 с.
Кузин Л. Т. Основы кибернетики. Т. 1. Математические основы кибернетики. — М.: Энергоатомиздат, 1994. 576 с.
К главе 8
Нетрадиционным логикам, в частности, немонотонным, посвящено в последние двадцать лет так много литературы, что перечислить все книги и статьи по этим логикам не представляется возможным. Из книг укажем только те, которые оказали наибольшее влияние на написание этой главы — [8.1, 8.2, 8.18, 8.23]. Описание модальных логик знания и убеждения было взято в основном из [8.1, 8.2], некоторые теоремы для этих логик были заимствованы из [8.3]. Семантика возможных миров для модальных логик дана в соответствии со статьей [8.4].
Немонотонные модальные логики Мак-Дермотта и Дойла представлены в [8.5, 8.6], и их описание базируется на этих работах. Столнекер [8.7] и особенно Мур [8.8, 8.9, 8.10] развили основанный на модальной логике метод для формализации немонотонных, интроспективных и идеально разумных рассуждений и создали автоэпи- стемическую логику. Мур в [8.8] предложил также альтернативную семантическую характеризацию своей автоэпистемической логики.
Логики умолчаний разработаны Рейтером для формализации рассуждений, являющихся всего лишь выполнимыми [8.11]. Теория с по- лунормальными умолчаниями, позволяющая блокировать ненужную транзитивность между умолчаниями, рассмотрена в [8.12, 8.13, 8.14]. В [8.14] была также предложена процедура эффективного построения полунормальных теорий.
Использованию нормальных умолчаний с неявным порядком, подчиненным иерархии моделируемой структуры, посвящена статья [8.15]. В [8.16, 8.17] показано, что таксономические теории с умолчаниями обладают единственными расширениями.
В книге [8.18] представлены логические основы немонотонных рассуждений и описаны как основные немонотонные логики, так и немонотонные формальные системы.
В последние годы резко возрос интерес к системам поддержки истинности, служащим для сохранения логической целостности заключений системы вывода. Подробное описание систем поддержки истинности и их разновидностей можно найти в [8.19-8.24]. Нотация для рис. 8.1-8.4 была взята в адаптированном виде из [8.25]. Желающие ознакомиться с более поздними версиями систем поддержки истинности, включая LTMS и MBR, могут обратиться к [8.26-8.29].
Тейз Л., Грибомон П., Луи Ж. и др. Логический подход к искусственному интеллекту: от классической логики к логическому программирования / Пер. с франц. — М.: Мир, 1990. 432 с.
Тейз Л., Грибомон П., Юлен Г. и др. Логический подход к искусственному интеллекту: от модальной логики к логике баз данных / Пер. с франц. — М.: Мир, 1998. 494 с.
Goldblatt R. Logics of Time and Computation. Lecture Notes. №7. — Centre for the Study of Lang, and Inf., 1987.
Kripke S. A. Semantical Considerations on Modal Logic // Reference and Modality. — London: Oxford Univ. Press, 1971. P. 63-72.
McDermott D., Doyle J. Non-Monotonic Logic I // Artif. Intell. 1980. V. 13. №1-2. P. 41-72.
McDermott D. Non-Monotonic Logic II: Non-Monotonical Modal Theories // J. ACM. 1982. V. 29. №1. P. 34-57.
Stalnaker R. A Note on Non-Monotonic Modal Logic // Note non publee, Dept, of Philosophy. Cornell Univ., Ithaca, N.Y., 1980.
Moore R. C. Possible-World Semantics for Auto-Epistemic Logic // Proc. AAAI-Workshop on Non-Monotonic Reasoning, New Paltz, N.Y., October 1984. P. 344-354.
Moore R. C. Semantical Considerations on Non-Monotonic Logic // Artif. Intell. 1985. V. 25. №1. P. 75-94.
Moore R.C. Autoepistemic Logic // Non-Standard Logics for Automated Reasoning. — London: Acad. Press, 1988. P. 105-136.
Reiter R. X Logic for Default Reasoning // Artif. Intell. 1980. V. 13. №1-2. P. 81-131.
Reiter R., Criscuolo G. On Iteracting Defaults // Proc. IJCAI-81, 1981. P. 270-276.
Etherington D. Ж, Reiter R. On Inheritance Hierarchies with Exceptions // Proc. AAAI-83, 1983. P. 104-108.
Etherington D. W. Formalizing Nonmonotonic Systems // Artif. Intell. 1987. V.31. №1. P. 41-85.
Touretzky D. S. The Mathematics of Inheritance Systems // Res. Notes in Artif. Intell. London: Pitman, 1986.
Froidevaux C. Taxonomic Default Theory // Proc. ECAI-86, Brighton, 1986. P. 123-129.
Froidevaux C., Kayser D. Inheritance in Semantic Networks and in Default Logic // Non-Standard Logics for Automated Reasoning. — London: Acad. Press, 1988.
Brewka G. Non-monotonic Reasoning: Logical Foundations of Commonsense. — Cambridge: Cambridge University Press, 1991. 165 p.
Forbus K. D., DeKleer J. Building Problem Solvers. — Cambridge, MA: MIT Press, 1993.
DeKleer J. An Assumption-Based Truth Maintenance System // Artif. Intell. 1986. V. 28. P. 127-162.
DeKleer J. Extending the ATMS // Ibid. 1986. V. 28. P. 163-196.
DeKleer J. Problem Solving with the ATMS // Ibid. P. 197-224.
Luger G.F., Stubblefield Ж A. Artificial Intelligence: Structures and Strategies for Complex Problem Solving. — Addison Wesley Longman, Inc. 1988. 824 p.
Doyle J. A Truth Maintenance System // Artif. Intell. 1979. V. 12.
Goodwin J. An Improved Algorithm for Non-Monotonic Dependency Net Update // Technical Report LITH-MAT-R-82-23. Dep. of Comp. Sci. and Inf. Sci., Linkoping University, Linkoping, Sweden, 1982.
McAllester D. A. A Three-Valued Truth Maintenance System // MITAI Lab., Memo 473, 1978.
Martins J., Shapiro S. C. A Model for Belief Revision // Artif. Intell. 1988. V.35(l). P. 25-79.
Martins J., Shapiro S. C. Reasoning in Multiple Belief Spaces // Proc, of the Eighth IJCAI, San Mateo, CA: Morgan Kaufmann, 1983.
Martins J. A Structure for Epistemic States // New Directions for Intelligent Tutoring Systems. Costa, ed. NATO ASI Series, F. Heidelberg: Springer-Ver lag, 1991.
К главе 9
В этой главе рассмотрены различные способы применения логического программирования как средства для представления знаний и для выполнения ряда форм вывода: вывода по противоречивой базе знаний, вывода для автоэпистемических логик, вывода по умолчанию. Основой для написания главы послужила книга [9.1], в которой Альфереш и Перейра представили результаты своих исследований за четырехлетний период работы.
Краткий обзор видов семантики логических программ выполнен по работе [9.1], с. 5-35. Существование единственной наименьшей модели для каждой определенной программы доказано в [9.2]. Описание пополнения предикатов Кларка можно найти в [9.3]. Определение семантики Фиттинга для нормальных логических программ приводится в [9.4]. Семантика устойчивых моделей была впервые определена в работе [9.5] Гельфондом и Лифшицем. Фундированная семантика нормальных логических программ была введена в [9.6], а ее альтернативные определения можно найти, например, в [9.7] или [9.8]. В работе [9.9] обосновывается необходимость введения второго отрицания для выполнения вывода здравого смысла. Семантика ответных множеств, исторически первая семантика, определенная для расширенных логических программ, была описана в [9.10]. Семантика для расширенных логических программ, опирающаяся на фундированную семантику для нормальных логических программ, предложена в работе [9.11].
Фундированная семантика для расширенных логических программ была предложена Альферешем и Перейрой, и ее описание приведено по книге [9.1], с. 37-48. В частности, здесь можно найти доказательства теорем существования семантики WFSX, монотонности оператора Ф и эквивалентности WFSX и фундированной семантики для случая нормальных логических программ. Более подробно ознакомиться с процедурой вычисления WFSX и доказательством ее корректности можно по работе [9.1], с. 187-206. В момент написания книги [9.1], существовала лишь одна процедура доказательства для расширенных логических программ, которая не определена для программ с функциональными символами [9.12].
В разд. 9.3 рассмотрен подход Альфереша и Перейры к устранению противоречий в расширенных логических программах для семантики WFSX. Более подробное изложение этого подхода можно найти в [9.1], с. 129-166. Здесь дополнительно приводится описание подхода, заключающегося в том, чтобы не устранять возникшие противоречия, а избегать их, используя сценарии. Авторы доказали эквивалентность этих двух подходов. Заметим, что существуют и другие подходы к работе с противоречивыми программами ([9.13, 9.14]), определяющие паранепротиворечивую семантику, а не устраняющие противоречия с помощью пересмотра программы.
Идея рассмотрения логических программ как автоэпистемических теорий возникла впервые у М. Гельфонда [9.15]. В [9.16] предпринята попытка изучить различные преобразования между литерами по умолчанию и литерами убеждений, чтобы показать, как семантика логических программ может быть получена по семантике автоэписте- мической логики. Определение стационарной семантики для нормальных логических программ можно найти, например, в [9.17]. Трансляция из расширенных логических программ с семантикой ответных множеств в рефлексивные автоэпистемические теории и обратно впервые была представлена в [9.18] и [9.19]. Описание автоэпистемической логики Мура можно найти в [9.20], а автоэпистемической логики замкнутых убеждений — в [9.8]. Связь автоэпистемической логики знаний и мнений с логическими программами отражена в работе [9.21].
Впервые взаимосвязи логических программ и теории умолчаний были рассмотрены в работах [9.22] и [9.23]. Описание классической логики умолчаний Рейтера можно найти в [9.24]. Фундированная и стационарная семантика логики умолчаний определены в [9.25] и [9.26] соответственно.
Alferes J. J., Pereira L. М. Reasoning with Logic Programming. — Berlin: Springer-Ver lag, 1996.
Van Emden М., Kowalski R. The semantics of predicate logic as programming language // J. of ACM. 1976. V.4(23). P. 733-742.
Clark K. Negation as failure // Logic and Data Bases / Ed. by H. Gallaire, J. Minker — N.Y.: Plenum Press, 1978. P. 293-322.
Fitting M.. Kripke-Kiene A. Semantics for logic programs // J. of LP. 1985. V.2(4). P. 295-312.
Gelfond M., Lifschitz V. The stable model semantics for logic programming // 5th Int. Conf, on LP / Ed. by R. Kowalski, K. A. Bowen. - MIT Press, 1988. P. 1070-1080.
Van Gelder A., Ross K. A., Schlipf J. S. The well-founded semantics for general logic programs // J. of the ACM. 1991. V.38(3). P. 620-650.
Przymusinska H., Przymusinski T. Semantic issues in deductive databases and logic programs // Formal Techniques in AI / Ed. by R. Banerji. — North Holland: a Source-book, 1990. P. 321-367.
Przymusinski T. Autoepistemic logic of closed beliefs and logic programming // LP&NMR / Ed. by A. Nerode, W. Marek, V. S. Subrahmanian. — MIT Press, 1991. P. 3-20.
Wagner G. A database needs two kinds of negation // Mathematical Foundations of Database Systems / Ed. by B. Thalheim, J. Demetrovics, H.D. Gerhardt. - LNCS 495, Springer-Verlag, 1991. P. 357-371.
Gelfond M., Lifschitz V. Logic programs with classical negation // 7th Int. Conf, on LP / Ed. by Warren and Szeredi. — MIT Press, 1990. P. 579-597.
Przymusinski T. Extended stable semantics for normal and disjunctive programs // 7th Int. Conf, on LP / Ed. by Warren and Szeredi. — MIT Press, 1990. P. 459-477.
Teusnik F. A proof procedure for extended logic programs // Proc. ILPS'93. - MIT Press, 1993.
Sakama S. Extended well-founded semantics for paraconsistent logic programs // Fifth Generation Comp. Syst., ICOT, 1992. P. 592-599.
Wagner G. Reasoning with inconsistency in extended deductive databases // 2nd Int. Ws. on LP&NMR / Ed. by L. M. Pereira and A. Nerode. — MIT Press, 1993. P. 300-315.
Gelfond M. On Stratified autoepistemic theories // AAAI'87. — Morgan Kaufmann, 1987. P. 207-211.
Bonatti P. Autoepistemic logics as a unifying framework for the semantics of logic programs // Int. Joint Conf, and Symp. on LP / Ed. by K. Apt. - MIT Press, 1992. P. 417-430.
Przymusinski T. Stationary semantics for disjunctive logic programs and deductive databases // North American Conf, on LP / Ed. by Debray and Hermenegildo. — MIT Press, 1990. P. 40-57.
Lifschitz V., Schwartz G. Extended logic programs as autoepistemic theories // 2nd Int. Ws. on LP&NMR / Ed. by L. M. Pereira, A. Nerode. — MIT Press, 1993. P. 101-114.
Marek V., Truszczynski М. Reflexive autoepistemic logic and logic programming // Ibid. P. 115-131.
Moore R. Semantics considerations on nonmonotonic logic // Artif. Intell. 1985. V. 25. P. 75-94.
Пшимуеинекий T. Рассуждения на основе знаний и мнений // Программирование. 1998. №1. С. 18-50.
Bidoit N., Froidevaux С. General logic databases and programs: default semantics and stratification // J. of Inform, and Comput. 1988.
Bidoit N., Froidevaux C. Minimalism subsumes default logic and circumscription is stratified logic programming // Int. Symp. on Principles of Database Syst. ACM Sigact-Sigmod, 1987.
Reiter R. A logic for default reasoning // Artif. Intell. 1980. V. 13. P. 6893.
Baral C., Subrahmaniac V.S. Dualities between alternative semantics for logic programming and nonmonotonic reasoning // LP&NMR / Ed. by A. Nerode, W. Marek, V. S. Subrahmanian. — MIT Press, 1991. P. 69-86.
Przymusinska H., Przymusinski T. Stationary default extensions // Tech. Report, Dep. Of Computer Science, California State Polytechnic and Dep. Of Computer Science, Univ. Of California at Riverside, 1993.
К главе 10
В этой главе представлены основные подходы к организации аб- дуктивного вывода и к построению систем пересматриваемой аргументации. На сегодняшний день не существует формальной теории аргументации. Праккен и Вресвейк предприняли попытку описать основные свойства семантики, базирующейся на аргументации [10.1]. Изложение основ теории аргументации приводится по этой работе. Обзор систем аргументации также выполнен по работе [10.1], и дополнительно использована работа [10.2], где описан ряд разработок по теории аргументации в искусственном интеллекте и примеры их практических приложений. Более подробное изложение аргументационной семантики Данга можно найти в [10.3], где, в частности, утверждается, что логическое программирование и другие формализмы немонотонного и пересматриваемого вывода в искусственном интеллекте основываются на принципах теории аргументации. В работе [10.4] описано, как различные системы для вывода по умолчанию могут быть представлены с помощью теории аргументации. В частности, здесь в качестве систем для вывода по умолчанию приводятся следующие: логика умолчаний, логическое программирование, автоэпи- стемические логики, немонотонные модальные логики, логика очерчивания. Система для пересматриваемой аргументации с приоритетами, являющаяся обобщением теоретико-аргументационного подхода
к семантике логического программирования Данга, также описана в [10.4]. Более подробно ознакомиться с другими аргументационными системами можно по работам [10.5-10.9].
Для интересующихся вычислительными аспектами построения аргументационных систем могут оказаться полезными статьи [10.10] и [10.11]. Например, в [10.11] определяются абстрактные процедуры доказательства для выполнения «доверчивого» и «скептического» немонотонного вывода по отношению к теоретико-аргументационной формализации немонотоннного вывода, предложенной в [10.4]. Эти процедуры определяются на основе процедуры доказательства для вычисления «доверчивых» следствий в семантике допустимых расширений, примером которой может служить процедура, описанная в [10.10].
Следует отметить также работы В. К. Финна, в которых предлагается четырехзначная логика аргументации А4 с дополнительными истинностными значениями противоречия и неопределенности. Представленная теория аргументации может рассматриваться как средство автоматизированного рассуждения, полезное для формализации рассуждений в гуманитарных науках [10.12, 10.13]. В работе [10.14] для логики аргументации А4 вводится понятие логического следования и исследуются его свойства. С вероятностным подходом к построению аргументационных систем можно познакомиться, например, по работам [10.15, 10.16]. Подобные теории аргументации соединяют классическую логику с теорией вероятностей и представляют собой альтернативный подход к немонотонному выводу в условиях неопределенности. Примеры применения теории аргументации для моделирования различных форм правдоподобного вывода можно найти в [10.17].
Описание понятия абдуктивного вывода проведено, главным образом, по книге [10.18]. В частности, использована работа [10.19], в которой приводятся описания абдуктивного и индуктивного вывода и их особенностей в сравнении. Различные подходы к определению абдуктивного вывода и абдукции описаны по работам [10.20-10.23]. Этапы разработок по абдукции даны по МакИлрайт [10.24]. Описание подходов к характеризации абдукции выполнено в соответствии с работой [10.20].
Заинтересованному читателю можно порекомендовать дополнительно следующие работы: [10.25], в которой представлен подход, основанный на покрытии множеств; [10.26], в которой описываются простые каузальные теории; [10.27], представляющую собой обзор различных способов организации абдуктивного вывода для случая, когда базовая теория представляется логическими программами; [10.28], в которой понятие абдукции определяется применительно к автоэпи- стемическим теориям; [10.29], в которой описан подход к абдукции на уровне знаний, предложенный Левеком; [10.30], где Бутилье и Вечер
рассматривают абдукцию как пересмотр убеждений. Дополнительно в работе [10.18] можно найти ряд статей, посвященных вероятностному подходу к организации вывода по абдукции, а в [9.1] (С. 107-128) приводится описание подхода к выполнению абдуктивного вывода для расширенных логических программ (см. гл. 9).
Подходы к вычислению абдуктивных объяснений освещаются в работах [10.24] и [10.20], на основе которых выполнен обзор в разд. 10.2.3. Дополнительно, по подходу к генерации гипотез с помощью резолюции можно рекомендовать работы [10.27], [10.31], [10.32]. ATMS как одно из возможных средств для генерации абдуктивных объяснений рассматривается в [10.29] и [10.27]. Глобальные и локальные критерии к отбору гипотез можно найти в работе [10.33].
При описании метода вероятностных абдуктивных рассуждений в сложноструктурированных проблемных областях были использованы работы [10.34-10.37]. В работе [10.34] приведены признаки сложной системы, одним из которых является иерархичность. Поэтому в [10.37] предложен метод вероятностных абдуктивных рассуждений в сложноструктурированной проблемной области, который является интеграцией и развитием методов абдуктивных рассуждений, описанных в работах [10.35] и [10.36]. В работе [10.37] разработаны алгоритмы абдуктивных рассуждений, процедура проверки найденных объяснений на непротиворечивость и представлены примеры использования разработанных алгоритмов абдуктивного вывода в сложноструктурированной проблемной области.
Описание аргументационной семантики логических программ выполнено в соответствии с работой [10.10]. Более подробно с абстрактным подходом к определению аргументационной семантики можно познакомиться, например, по работе [10.4]. Приведенная в разд. 10.3.1.5 процедура доказательства для аргументационной семантики более подробно описана в [10.10], где также можно найти и описание теории доказательства. Роль аргументации в организации абдуктивного вывода освещена в работе [10.38]. Некоторые вопросы применения аргументации для абдуктивного вывода в логическом программировании рассматриваются в работе [10.27].
Prakken Н., Vreeswijk G. Logics for defeasible argumentation // Handbook of Philosophical Logic. V. 4. — Kluwer Academic Publishers, Dordrecht etc., 2001.
Chesnevar С. I., Maguitman A. G., Lout R. P. Logical models of argument // ACM Computing Surveys. 2000. V. 31. №4. P. 337-383.
Dung P. M. On the acceptability of arguments and its fundamental role in nonmonotonic reasoning, logic programming and n-person games // Artif. Intell. 1995. V. 77. P. 321-357.
Bondarenko Л., Dung Р.М., Kowalski R. Л., Toni F. An abstract, argumentation-theoretic framework for default reasoning // Ibid. 1997. V. 93(1-2). P. 63-101.
Prakken H., Sartor G. A system for defeasible argumentation with defeasible priorities // Proc, of the Int. Conf, on Formal Aspects of Practical Reasoning, Bonn, Germany: Springer Ver lag, 1996.
Pollock J. L. Cognitive carpentry. A blueprint for how to build a person. — Cambridge, MA: MIT Press, 1995.
Lin F., Shoham Y. Argument systems. A uniform basis for nonmonotonic reasoning // Proc, of the First Int. Conf, on Principles of Knowledge Representation and Resoning. San Mateo, CA: Morgan Kaufmann Publishers Inc, 1989. P. 245-255.
Vreeswijk G. A. W. Abstract argumentation systems // Artif. Intell. 1997. V.90. P. 225-279.
Simari G.R., Loui R. P. A mathematical treatment of defeasible argumentation and its implementation // Ibid. 1992. V. 53. P. 125-157.
Kakas A. C., Toni F. Computing argumentation in logic programming //J. of Logic and Comput. 1999. V.9. P. 515-562.
Kakas A. C., Mancarella P., Toni F. Argumentation-based proof procedures for credulous and sceptical non-monotonic reasoning // Tech, report. 2001. 26 p.
Финн В. К. Об одном варианте логики аргументации // Интеллектуальные системы и общество: Сб. статей. — М.: РГГУ, 2001. С. 206251.
Финн В. К. Логика исторических рассуждений // Проблемы исторического познания в свете современных междисциплинарных исследований. — М.: РГГУ, 1997. 256 с.
Таран ТА. Иследование тавтологий логики аргументации Л 4 // Информационные процессы и системы. 2001. №5. С. 28-35.
Haenni R., Kohlas J., Lehmann N. Probabilistic argumentation systems // Series: Linkoping Electronic Art. in Comp, and Inf. Sci. 2000. V.5.
Krause P., Ambler S., Elvang-Gorans son M., Fox J. A logic of argumentation for reasoning under uncertainty // Comput. Intell. 1995. V. 11. P. 113-131.
Вагин В. H., Загорянская А. А. Аргументация в правдоподобном выводе // Труды конф. КИИ'2000. Т. 1. М.: Изд. физ.-мат. лит. 2000. С. 165-173.
Abductive reasoning and learning // Handbook of defeasible reasoning and uncertainty management systems / Ed. by Dov M. Gabbay, P. Smets. V. 4. — Kluwer Acad. Publishers, Dordrecht Hardbound, 2000. 448 p.
Flach P.A., Kakas A. C. On the Relation between Abduction and Inductive Learning // Ibid. P. 1-33.
Paul G. AI Approaches to Abduction // Ibid. P. 35-99.
Gabbay М. Abduction in Labelled Deductive Systems // Ibid. P. 99155.
Dubois D., Prade H. An Overview of Ordinal and Numerical Approaches to Causal Diagnostic Problem Solving // Ibid. P. 231-281.
Borgelt C., Kruse R. Abductive Inference with Probabilistic Networks // Ibid. P. 281-315.
Mcllraith S. A. Logic-Based Abductive Inference // Knowledge Systems Laboratory, Stanford Univ., Stanford, CA 94305-9020, July 6, 1998. 29 p.
Allemang D., Tanner M., Bylander T., Josephson J. Computational complexity of hypothesis assembly // Proc, of the 10th Int. Joint Conf, on Artif. Intell., 1987. P. 1112-1117.
Konolige K. Closure + minimization implies abduction // PRICAI-90, Nagoya, Japan, 1990.
Kakas A. C., Kowalski R. A., Toni F. The role of abduction in logic programming // Handbook of Logic in Artificial Intelligence and Logic Programming / Ed. by D. M. Gabbay, C.J. Hogger and J.A. Robinson. — Oxford University Press, 1998. P. 235-324.
Inoue К, Заката C. Abductive framework for nonmonotonic theory change // Proc, of the 14th Int. Joint Conf, on Artif. Intell., 1995. P. 204210.
Levesque H. A knowledge-level account of abduction // Proc, of the 11th Int. Joint Conf, on Artif. Intell., 1989. P. 1061-1067.
Boutilier C., Becher V. Abduction as belief revision // Artif. Intell., 1995. V. 77. P. 43-94.
Cox P., Pietrzykowski T. Causes for events: Their computation and application // Proc. CADE 86. 1986. P. 608-621.
Pople H. E. On the mechanization of abductive logic // Proc, of the 3rd Int. Joint Conf, on Artif. Intell. 1973. P. 147-151.
Appelt D.E., Pollack M. Weighted abduction for plan ascription // Techn. report, Artif. Intell. Center and Center for the Study of Language and Information, SRI International, Menlo Park, California, 1990.
Буч Г. Объектно-ориентированное проектирование с примерами применения // Пер. с англ. — М., 1992.
Console L.^ Dupre D. T. Choices in abductive reasoning with abstraction axioms // J. of Logic and Comput. 1999. Vol. 1(5).
Poole D. Probabilistic Horn abduction and Bayesian networks // Artif. Intell. 1993. Vol. 64.
Головина E. Ю. Абдуктивный вывод в инструментальных средствах для создания динамических систем поддержки принятия решений / / Труды конгресса «Искусственный интеллект в XXI веке». — М.: Изд. физ.-мат. лит., 2001. С. 50-60.
Вагин В. Н., Загорянская А. А. Организация абдуктивного вывода средствами теории аргументации // Там же. С. 13-20.
К части III
К главе 11
Проблемам индукции и индуктивного вывода в интеллектуальных системах уделяется большое внимание. В основу многих алгоритмов обобщения положены идеи, выдвинутые М. М. Бонгардом [11.1]. Обзор основных понятий и методов, связанных с проблемами индуктивного обобщения, дан в [11.2].
В настоящее время алгоритмы индуктивного обобщения широко используются для проектирования экспертных систем, систем машинного обучения, систем поддержки принятия решений, Data Mining и других. Разработчикам таких систем часто приходится решать проблемы, связанные с тем, что необходимо обеспечить взаимодействие алгоритмов индукции с реальными базами данных.
Роль индукции и обобщения в системах поддержки принятия решений (DSS), использующих OLAP-технологию, обсуждается в [11.3,
. При этом основные требования к OLAP-продуктам сформулированы в [11.5, 11.6]. В работе [11.7] излагается история развития систем Data Mining и KDD, обсуждается их взаимосвязь и перспективы развития. Прикладные системы, использующие идеи KDD, описаны в [ 11.8, 11.9, 11.10].
Для получения индуктивных понятий обычно приходится использовать обучение на основе примеров. Принципы обобщения на основе примеров рассмотрены в книге [11.11]. В работах [11.12, 11.13] приводятся алгоритмы обучения на основе примеров. Модели, которые строят обобщенное понятие в виде графа, рассмотрены в [11.14, 11.15]. Алгоритмы, использующие в качестве обучающего множества базу данных, приведены в [11.16, 11.17].
Индуктивное формирование понятий находит применение в экспертных системах. Идеи применения алгоритмов обобщения для пополнения базы знаний экспертной системы обсуждаются в [11.18,
. Задача автоматического образования гипотез в интеллектуальной системе рассмотрена в работе авторов Гаека и Гавранека [11.19].
Среди различных стратегий построения индуктивных понятий важное место занимает обобщение на основе признаков. Индуктивное обобщение понятий по признакам — одна из широко известных задач искусственного интеллекта. В работе [11.11] рассматривается задача индуктивного обучения на примерах, представленных прежде всего в виде признаков. Метрики в пространствах признаков даны в [11.20], там же обсуждается стратегия выбора метрики в зависимости от предметной области.
Особенности построения обобщенных понятий на основе анализа объектов, обладающих структурой, обсуждаются в ряде работ. Методы индуктивного вывода в формальных исчислениях приводятся
в [11.21, 11.11]. Принципы индуктивных рассуждений, предложенные Миллем, высказаны и обоснованы в [11.22]. Обзорное изложение ДСМ-метода можно найти в [11.23], а более подробно ознакомиться с этим методом можно в [11.24]. GUHA-метод, используемый для порождения индуктивных гипотез на основе наблюдаемых данных, излагается в [11.19]. Решение задачи обобщения на основе использования аппарата семантических сетей обсуждается в [п-2]; пример, приведенный в качестве иллюстрации, взят из [11.21].
Бонгард М. М. Проблема узнавания. — М.: Наука, 1967. 320 с.
Вагин В. Н., Викторова Н. П. Обобщение и классификация знаний // Искусственный интеллект. Кн. 2. Модели и методы: Справочник / Под ред. Д. А. Поспелова — М.: Радио и Связь, 1992. С. 82-89.
Попов Э. В., Фоминых И. Б., Кисель Е. Б., Шапот М. Д. Статические и динамические экспертные системы. — М.: Финансы и статистика, 1996. 319 с.
Вагин В.Н., Загорянская А. А. Извлечение данных как наиболее важное приложение технологии информационных хранилищ // Программные продукты и системы. 2000. №1. С. 2-11.
Codd Е. F. Providing OLAP (On-line Analytical Processing) to UserAnalysts: An IT Mandate. — Codd and Associates, 1993.
Свинарев С. Десять требований Red Brick System // Комьютеруик- Москва. 1996. T. 2. С. 45.
Fayyad U., Fiatetsky-Shapiro G., Smith P. From Data mining to Knowledge Discovery: an Overview // Advances in Knowledge Discovery and Data Mining. — Cambridge: AAAI Press / The MIT Press, 1996. P. 1-36.
Apte C., Hong S. J. Predicting Equity Returns from Securities Data with Minimal Rule Generation // Ibid. P. 541-560.
Fayyad U., Djorgovski G., Weir N. Automating the Analysis and Cataloging of Sky Surveys // Ibid. P. 471-493.
Agrawal R., Mannila H., Srikant R. et al. Fast Discovery of Association Rules // Ibid. P. 307-328.
Michalski R. S., Carbonell J. G., Mitchell T. M. Machine Learning. An Artifical Intelligence Approach. — Springer-Verlag, 1984. 567 p.
Dasarathy B. Nearest Neighbor (NN) Norms: NN Pattern Classification Techniques. Los Alamitos, Calif.: The AHI Press., 1991.
Kolodner J. Case-Based Reasoning. — San-Francisco: Morgan Caufmann, 1993.
Pearl J. Probabilistic Reasoning in Intelligent Systems. — San- Francisco: Morgan Caufmann, 1988.
Whittaker J. Graphical Models in Applied Multivariate Statistics. — N.-Y.: Wiley, 1990.
Buntine Ж Graphical Models for Discovered Knowledge // Advances in Knowledge Discovery and Data Mining. — Cambridge: AAAI Press/The MIT Press., 1996. P. 59-82.
Beckerman D. Bayesian Networks for Knowledge Discovery // Ibid. P. 273-306.
Гаврилова T.A., Червинская К. P. Извлечение и структурирование знаний для экспертных систем. — М.: Радио и связь, 1992. 200 с.
Гаек Г, Гавранек П. Автоматическое образование гипотез: математические основы общей теории. — М.: Наука, 1984. 280 с.
Фор А. Восприятие и распознавание образов. — М.: Машиностроение, 1989. 272 с.
Plotkin G.D. X further note on inductive generalization // Machine Intellect. 1971. V.6. P. 101-124.
Милли Д. С. Система логики силлогистической и индуктивной / Пер. с англ. — М.: Книжное дело, 1900.
Поспелов Д. А. Моделирование человеческих рассуждений в интеллектуальных системах // Лекции Всесоюзной школы по основным проблемам искусственного интеллекта и интеллектуальным системам. — Минск: 1990. С. 29-47.
Финн В. К. О машинно-ориентированной формализации правдоподобных рассуждений в стиле Бэкона — Милля // Семиотика и информатика. 1983. Вып. 20. С. 35-101.
К главе 12
Задача классификации и распознавания образов является одной из признанно важных задач искусственного интеллекта [12.1]. Одним из известных направлений в этой области является задача обучения без учителя. Рассматривается проблема разбиения множества объектов на заданное либо неизвестное число классов. Критерием группирования объектов обычно является близость между собой объектов одного класса и удаленность объектов разных классов. Такое требование подразумевает введение метрики на множестве предъявленных объектов, поэтому объекты распознавания представляются наборами признаков, имеющих количественные значения.
Широко известен статистический подход к решению таких задач; он основан на байесовской теории принятия решений. Классическими работами в этой области являются [12.2, 12.4]. Ряд алгоритмов автоматической классификации и группирования рассмотрены в [12.3,
. Ясный и наиболее современный обзор методов, основанных на статистическом подходе, дан в [12.6].
Разделение классов в пространстве признаков, имеющих количественные значения, выполняется методами построения решающих функций. Эти методы хорошо изучены и дают наглядную геометрическую интерпретацию, многие из них детально изложены в [12.2, 12.8,
. Построение линейных и квадратичных разделяющих функций приводится в [12.7]; там же рассматривается практическое применение предложенных алгоритмов в такой интересной области, как сейсмология. Использование методов распознавания при построении систем машинного зрения обсуждается в [12.10]. Следует назвать также посвященные проблеме решающих функций очень полезные работы [12.11, 12.12, 12.13]. Связь проблем распознавания образов и машинного обучения рассматривается в [12.14, 12.15].
Журавлев Ю. И., Гуревич И. Б. Распознавание образов и анализ изображений // Искусственный интеллект. Кн. 2. Модели и методы. Справ. / Под ред. Д. А. Поспелова. — М.: Радио и Связь, 1990. С. 149191.
Дуда Р., Харт П. Распознавание образов и анализ сцен. — М.: Мир, 1976. 511 с.
Смородинский С. С., Батин Н. В. Алгоритмы и программные средства интеллектуальных систем принятия решений. 4.2. — Мн.: БРУ- ИР, 1994. 68 с.
Ту Дэю., Гонсалес Г. Принципы распознавания образов. — М.: Мир, 1978. 411 с.
Айвазян С. А., Бухштабер В.М., Енюков И. С., Мешалкин Л.Д. Прикладная статистика. Классификация и снижение размерности. — М.: Финансы и статистика, 1989. 128 с.
Дюк В. А., Самойленко A. Data Mining: учебный курс. — СПб: Питер, 2001. 366 с.
Грешилов А. А., Мальцев В. П., Пархоменко В. П. Принятие решений с помощью обобщенных линейных разделяющих функций. — М.: Радио и связь, 2000. 480 с.
Горелик А. Л., Скрипкин В. А. Методы распознавания. — М.: Высш, шк., 1989. 232 с.
Аркадьев А. Г, Браверман Э. М. Обучение машины классификации объектов. — М.: Наука, 1971. 192 с.
Козлов Ю. М. Адаптация и обучение в робототехнике. — М.: Наука, 1990. 248 с.
Себестиан Г. Процессы принятия решений при распознавании образов. — Киев: Техника, 1965. 151 с.
Классификация и кластер / Под ред. Р. Райзина. — М.: Мир, 1980. 389 с.
Айзерман М. А., Браверман Э.М., Розоноер Л. И. Метод потенциальных функций в теории обучения машин. — М.: Наука, 1970. 384 с.
Sklansky J., Wassel G. N. Pattern Classifiers and Trainable Mashines. — Springer Ver lag, New York, Heidelberg, Berlin. 1981.
Фор А. Восприятие и распознавание образов. — М.: Машиностроение, 1989. 272 с.
К главе 13
Процедура обучения с учителем, предложенная Бонгардом [13.1], широко используется в системах машинного обучения и индуктивного формирования понятий. Объекты, на которых проводится обучение (обучающая выборка), представлены наборами признаков [13.2]. В [13.2] дается строгая постановка задачи индуктивного обобщения.
Важным фактором индуктивного обобщения является выбор модели для представления результатов обобщения. В [13.2, 13.3, 13.4, 13.5] обсуждаются наиболее популярные модели для представления результатов распознавания. Работа [13.6] показывает связь продукционных моделей и моделей решающих деревьев.
Алгоритмы количественного и качественного распознавания по признакам, в основе которых лежит формирование конъюнктивнодизъюнктивного понятия, приведены в работах [13.7, 13.2]. Одной из широко распространенных моделей для представления результатов распознавания является модель решающего дерева. Известен целый ряд модификаций для таких моделей. Так, в [13.8] рассмотрен алгоритм построения дерева решений на основе меры близости распознающих признаков и целевого признака. Работа [13.9] приводит алгоритмы построения дерева решений по примерам на основе идеи метода «ближайшего соседа». В [13.10, 13.4] дается сравнение различных способов построения решающих деревьев и обсуждается эффективность этих методов.
Классический метод распознавания — индукция решающих деревьев, основанный на введении оценки информативности признаков — дан в работах Куинлана и его последователей [13.6, 13.11, 13.12, 13.13, 13.14]. Обобщение с учетом таксономических отношений на качественных признаках (фокусирование, алгоритм EG2) рассмотрено в работах [13.8, 13.14]. Пример работы алгоритма фокусирования взят из [13.8]. Обсуждение особенностей таксономических отношений в моделях искусственного интеллекта дано в [13.15]. Следует отметить, что в [13.14] вводится «экономический» фактор для выбора порядка рассмотрения признаков при построении дерева решений. Эффективные методы упрощения дерева решений предлагаются в [13.16].
Важность использования подсистем обобщения для получения индуктивных знаний (метазнаний) в экспертных системах обсуждается в [13.17, 13.18]. Большой интерес представляют методы построения обобщенных понятий на основе структурных объектов обучения; такие методы называют методами структурного обобщения знаний. Этот класс алгоритмов подробно исследован в [13.19, 13.20].
Бонгард М. М. Проблема узнавания. — М.: Наука, 1967. 320 с.
Вагин В. Н. Дедукция и обобщение в системах принятия решений. — М.: Наука, 1988. 384 с.
Мешалкин В. П. Экспертные системы в химической технологии. Основы теории, опыт разработки и применения. — М.: Химия, 1995. 154 с.
Вагин В. Н., Федотов А. А., Фомина М. В. Методы извлечения и обобщения информации в больших базах данных // Изв. РАН. Теория и системы управления. 1999. №5. С. 45-59.
Вагин В. Н., Викторова Н. П. Обобщение и классификация знаний // Искусственный интеллект. Кн. 2. Модели и методы. Справ. / Под ред. Д. А. Поспелова — М.: Радио и связь, 1990. С. 82-89.
Quinlan J. R. Generating production rules from Decision Trees // Proc, of IJCAI 87. Milan. 1987. P. 304-307.
Хант Э., Мартин Д., Стоун Ф. Моделирование процесса формирования понятий на вычислительной машине. — М.: Мир, 1970. 302 с.
Hutchinson A. Algoritmic Learning. — Oxford: Claredon Press, 1994. 434 p.
Aha D. Ж, Kibler D., Albert M. K. Instance-based Learning Algoritms // Machine Learning. 1991. V. 6. P. 37-66.
Куликов А. В., Фомина M. В. Исследование алгоритмов извлечения и обобщения знаний // В сб. МФИ_2000. Докл. «Информационные средства и технологии». Т. 2. — М: МЭИ, 2000. С. 76-79.
Quinlan J. R. Induction on Decision Trees // Machine Learning. 1986. V. 1. P. 81-106.
Quinlan J. R. Improved Use of Continuous Attributes in C 4.5 // J. of Artif. Intell. Res. 1996. V. 4. P. 77-90.
Utgoff P. E. Incremental induction of Decision Trees // Machine Learning. 1989. V. 4. P. 161-186.
Nunez M. The Use of Background Knowledge in Decision Tree Induction // Machine Learning. 1991. V. 6. P. 231-250.
Brachman R. What IS-A is and isn’t - an Analysis of Taxonomic Links in Semantic Networks // Computer. 1983. V. 16. № 10. P. 30-36.
Minger J. An Empirical Comparison of Pruning Methods for Decision Tree Induction // Machine Learning. 1989. V. 4. P. 227-243.
Попов Э. В. Экспертные системы. Решение неформализованных задач в диалоге с ЭВМ. — М.: Наука, 1987. 288 с.
Лоръер Ж. Л. Системы искусственного интеллекта. — М.: Мир, 1991. 586 с.
Вагин В. Н., Викторова Н. П. Вопросы структурного обобщения и классификации в системах принятия решений // Изв. АН СССР. Техническая кибернетика. 1982. №5. С. 64-73.
Вагин В. Н., Викторова Н. П. Задачи обобщения в системах принятия решений. Формирование классов объектов и отношений выбора на семантических сетях // Изв. АН СССР. Техническая кибернетика. 1985. №5. С. 3-17.
К главе Ц
Одной из наиболее интересных задач, которые решаются в рамках современных экспертных систем и систем обобщения, является задача извлечения обобщенных понятий из обучающих выборок, содержащих неполную или неточную информацию. Такими выборками могут быть реальные базы данных, хранящие огромные объемы различных сведений. Проблемы, возникающие при попытке получить обобщение для таких исходных данных, обсуждаются в [14.1, 14.2].
Многие из рассмотренных в предыдущей главе алгоритмов могут быть успешно модифицированы для случая обучения по неполным и нечетким данным. Известны такие модификации для алгоритма Куинлана [14.3] и его последователей. Варианты таких алгоритмов приведены в работах [14.2, 14.4, 14.5].
Применение идей индуктивного формирования понятий в реальных системах Data Mining рассматривается в [14.6, 14.7] на примере системы Monet. В [14.8] приводится оригинальный алгоритм, который был использован в реальной системе обобщения при неполной входной информации.
Интересным подходом к решению задач индуктивного формирования понятий при неполной информации стала теория приближенных множеств, разработанная Павлаком, и изложенная в [14.9, 14.10]. Многие авторы успешно развивают это направление. Алгоритм RSl^ изложенный в данной главе, описан в [14.11], там же приведены оценки сложности алгоритма. В [14.12] обсуждается использование приближенных множеств в системе, основанной на логике предикатов первого порядка. В работах [14.13, 14.14] рассматривается модификация алгоритма RS2.
Vagin V. N., Fedotov A. A., Fomina М. V. Methods of Data Mining and Knowledge Generalization in Large Databases // J. of Comp, and Syst. Sei. Int. 1999. V.38. №5. P. 714-727.
Федотов А. А., Фомина M.B. Система формирования обобщенных продукционных правил на основе анализа больших баз данных // Сб. науч, трудов Шестой нац. конф, по иск. интел. КИИ-98. Т. 1. Пущино, Россия. 1998. С. 287-292.
Quinlan J. R. Induction of Decision Trees // Machine Learning. 1986. V. 1. P. 81-106.
Куликов А. В., Фомина M. В. Разработка алгоритма обобщения знаний // КИИ'2000. Седьмая нац. конф, по иск. интел. Т. 1. — М.: Физматгиз, 2000. С. 135-142.
Пицишин Ю. Б., Фомина М.В. Разработка алгоритма обобщения для поиска скрытых закономерностей в больших базах данных // IC АГ 2001 Международный конгресс «Искусственный интеллект в XXI веке». Т. 1. - М.: Физматгиз, 2001. С. 221-227.
Holsheimer М., Kersten М. L. Architectural Support for Data Mining // AAAI-94 Workshop Knowledge discovery in Databases / Ed. by U.M.Fayyad and R. Uthurusamy. — Seattle, Washington, 1994. P. 217228.
Holsheimer M., Siebes A. Data mining: the search for knowledge in databases // Technical Report CS-R9406, CWI, 1994. 78 p.
Вагин В. H. Гулидова В. Г., Фомина М. В. Распознавание состояний сложного объекта при неполной входной информации // Изв. АН СССР. Техн, кибернетика. 1992. №5. С. 120-132.
Pawlak Z. Rough classification // Int. J. of Man-Machine Studies. 1984. V.20. P. 469-483.
Pawlak Z. Rough Sets // Int. J. of Inf. and Comp. Sci. 1982. V. 11. P. 341-356.
Aasheim О. T., Solheim H. G. Rough Sets as a Framework for Data Mining // Project Report. Faculty of Computer Systems and Telematics, The Norwegian University of Science and Technology, Trondheim, 1996. 150 p.
Parsons S., Kubat M., Dohnal M. A rough Set Approach to Reasoning under unsertainty / / Technical Report. J. of Experim. and Theor. Art if. Intell.
Zirako W. Variable Precision Rough Sets Model // J. Comp, and System Sci. 1993. V.46. №1. P. 39-59.
Zirako Ж Analysis of Uncertain Information in the Framework of Variable Precision Rough Sets // Found, of Comp, and Decision Sci. 1993. V.18. №3,4. P. 381-396.
предметный указатель
Абдуктивная
гипотеза 465
логическая программа 459
логическая структура 459
процедура 449, 454, 456, 461, 464
процедура доказательства 501, 502
система 449
структура 450, 451, 453, 464, 499, 500
теория 463, 468, 469 Абдуктивное
доказательство 451
логическое программирование 451, 452, 459, 499, 502
объяснение 419, 444, 450, 455, 461, 496-498, 500, 502, 652, 682
описание 444
расширение 445
решение 450, 459
следование 445 Абдуктивный
аргумент 421, 423
вывод 16, 238, 251, 252, 323, 419, 420, 444-447, 466, 467, 496, 499, 650-652, 680-682
механизм 445
процесс 450, 454, 463
силлогизм 445
Абдукция 13, 251, 252, 419, 444- 450, 453, 456, 465, 633, 642, 651, 663, 672, 681
Абдукция, основанная на стоимости 464, 465
Абдуцент 18, 446, 449-451, 468, 470, 472, 473, 478, 496, 498-500
Абдуцентная литера 468, 469, 473 Абдуцируемый предикат 451, 459 Абсолютная
метрическая шкала 229 Абстрактная аргументационная система 438, 441 структура 440, 484
Абстрактное значение 591 объяснение 467
Абстракция 468 Автоматизированное рассуждение 651, 681
Автоматическое доказательство теорем 634, 639, 664, 669
Автоэпистемическая абдуцируемая формула 452 интерпретация 294, 298 логика 254, 375, 393, 401, 452, 643, 645, 647, 648, 650, 673, 675, 677, 678, 680
Мура 391, 392, 397, 648, 678
Мура и Пшимусинского 389
замкнутых убеждений 392, 648, 678
знаний и мнений 648, 678 очерчивания 392
модель 299 теория 293, 375, 390, 393, 452, 453, 648, 651, 678, 681
Мура 398
теория Т 398 фоновая теория 452
Автоэпистемические логики (АЭЛ) 292, 295, 297, 298, 301, 311, 312
Автоэпистемический тип рассуждений 253
Агностик 391
Адаптивный сплайн метод 515
Администрирование 509
Аккомодации 242
Аксиома 237, 238, 245, 261, 289
АХ_ 378, 379 абстракции 469 контрапозиции 252 объяснений 467, 469
Аксиомы Рассела — Бернайса 255
Активатор 231, 232
Активность 231
Алгоритм 632
EG2 589, 594, 595, 659, 689
ID3 561, 569-575, 578, 579, 589, 591, 594, 595, 620, 621, 631
ID5R 574, 575, 578, 579
RS1 608, 610, 611, 617, 620, 621, 661, 691
RS2 617, 619, 661, 691
«К средних» 541, 542
AND-параллельной резолюции 96
Data Mining 514, 517
DCDP-параллельного вывода 92, 135
DCDP-параллельной резолюции 91
MAXMIN 538, 539
OR-параллельная резолюция 96
OR-параллельной резолюции 91
PAL 131
Reduce 580, 582, 583
АМХ 566, 569
ДРЕВ 561, 563-566, 569, 573, 574
Кокса 462
Куинлана 661, 691
Алгоритм
Сколема 33-35, 204-206, 212, 213, 219
абдуктивного вывода 481 автоматической классификации 657, 687
антиунификации 525 вероятностных абдуктивных рассуждений 472
входной линейной резолюции 219
вывода на С-графе 123 вывода на графе связей 83 вывода пустого С-графа 122 генерации правил 621 группирования 657, 687 извлечения знаний 504 индукции 655, 685 количественного и каче
ственного распознавания по признакам 659 многократной унификации
162
обобщения 544, 560, 563, 655, 685
обратной сколемизации 457
обучения
без учителя 560
на основе примеров 655, 685
с учителем 558, 560, 569 параллельного дедуктивного вывода 135
получения объяснений для наблюдаемых литер 472 последовательной классификации 626, 628
построения целевых деревьев 492
преобразования С-графов 120
приведения к КНФ 34, 35 распознавания 521, 523 резолюции 457, 462 семейства ID3 589
Алгоритм сколемизации 204-206, 212, 213, 219
сколемизации в MLL 206 унификации 45, 61, 159-163, 171, 173, 184, 204, 208, 209, 219
фокусирования 583, 584, 589, 659, 689
Алгоритмы количественного и качественного распознавания по признакам 689
Алетическая
логика 257, 258
модальность 257
АЛПЕВ 24, 634, 664
Алфавит 323, 324, 390
АМХ 574
Анализ
вариантов 460 данных 510, 596 признаков 631 Аналитическая
таблица 117, 136, 138, 145, 153, 154, 159, 160, 163, 181, 478
со свободными переменными 166
Аннулированный
аргумент 428 подаргумент 431
Аннулируемое заключение 434
Аннулируемый аргумент 434 статус аргумента 442
Аномальная ситуация 467
Антилогизм 266
Антиобъяснение 453
Апостериорная вероятность 253
Априорная вероятность 253, 557
Аргумент 420, 421, 424-444, 460, 500, 501 -аналог 421 «в силе» 441
Аргументационная последовательность 440 семантика 438, 481, 496, 500, 502, 652, 682
семантика Данга 650, 680 система 420-423, 433, 436, 438, 440, 442-444, 651, 681
структура 437, 443, 452, 481, 483, 487
теория 440
Аргументационное
расширение 437, 438
Аргументационный
вывод 419
Аргументация 499, 650, 652, 680, 682
Аргументы 422
Археология данных 510
Ассерторическая силлогистика 257
Ассерторический статус утверждений 238
Ассимиляция
(усвоение) противоречивой информации 241
знаний 357
Ассоциативный квантор 529, 530
Атака 421, 423, 429, 437, 452, 481- 483, 485, 486, 488, 489, 496, 498, 500, 501 аргументов 420, 423
Атом 323, 332, 333, 338, 340, 346, 377, 383, 386, 393, 394, 399, 409, 490, 493, 500, 604, 609, 610, 618, 620
Атомарная формула 199
Атомарное множество 39
Атрибут 200, 217,
226, 233, 504,
517, 520,
560,
562,
569-
573, 575,
579,
583,
584,
588-590,
592,
593,
595,
597, 598,
600,
602,
604,
606-608, 611, 620-622, 632
616-
-618,
Ациклический граф DAG 465
База
Эрбрана 324, 335, 337
данных 331, 504,
507,
509,
510, 513-516,
589,
596,
599, 601-603,
661, 685, 691
621,
655,
знаний 236, 330, 499, 562, 625, 626, 631, 647, 677
Базовый класс 531
Бектрекинг 58, 59, 61, 63, 94, 115,
117, 157, 314
Бимодальная логика 455
Бинарная
резольвента 46
унификация 163
Бинарное
дерево 566
дерево решений 573
Бинарный
атрибут 602
признак 562, 569
Ближний промах 584
Блокирование транзитивности
306, 307
Боковой упорядоченный дизъюнкт 51
Брауэрова система 276
Булева
переменная 559
сеть доверия 465
функция 562
Булево
дерево решений 562
означивание 137, 140
Вектор признака 520
Вера 234
Вероятностная
зависимость 516
логика 247, 254
мера 245, 246, 530
наблюдения 529
экспертная система 516
Вероятностное
абдуктивное рассуждение 476
Вероятностное правило 597
Вероятностный метод 447
Вероятность 446 абдуцента 470
Верхнее приближение 604, 606, 608-611, 618-620 отрицательной области 615 положительной области 614
Верхняя полурешетка 583 Вершина
дизъюнктивная 136 концевая 136 простая 136
Ветвь выполнимая 140 полная 141
Взвешенная абдукция 464-466
Виновник 491-494
Виртуальное (логическое) хранилище 507
Витрина 510
Внешняя среда 518
Внутренняя
интерпретируемость 225 непротиворечивость 383
Возможная истина в мире 284
Возможные миры 277, 298, 324, 455
Восстановление 425, 429, 430 аргументов 422 статуса 425
Временная логика 258
Временной вывод 419
Вспомогательный вывод 353
Второе правило обрезки 354
Вход 439
Входная резолюция 53, 134, 634, 664
Входной дизъюнкт 53, 457
Выборка 523, 535, 538, 544, 551, 563, 565, 600, 602, 661, 691
Вывод 313
на графе связей 119 по абдукции 452, 454
Вывод
по аналогии 13, 529
по умолчанию 323, 419, 452, 647, 650, 677, 680
пустого дизъюнкта 42, 53 решения 626 целей 491 цели 492, 494, 495 Выводимость 438, 449 Выполнимая формула 33, 277 Высказывание
убеждения 390
умолчание 376, 385
Генератор 416 Генерация 453 абдуктивных объяснений 451 гипотез 447, 456, 652, 682 с использованием ATMS 456 Гетерогенная система вывода 118
Гипотеза 238, 327, 357, 442, 445, 446, 448, 451, 462-464, 482-484, 488, 490, 491, 493, 496, 503, 523, 524, 526, 528
-аргумент 502
-умолчание 496 релевантна 242 Гипотетический
вывод 447, 452
класс 623-628, 631 Глобальные
Т-предшественники 353, 354
TU-предшественники 353 предшественники 353 Глобальный критерий 447, 463 Глубина поиска 601 Головоломки 72 Гомогенная система вывода 118 Граница 604
Граничная область 604, 605, 615 Граф
«И/ИЛИ» 66 дизъюнктов 119 доказательства 466
Граф
связей 81-87, 98, 636, 666
связей Ковальского 81, 89, 91, 112
Графическая интерпретация 468
Графовая модель 516 Группа
Льюиса — Лэнгфорда 272
Льюиса — Лэнгфорда 261
Льюиса — Лэнгфорда 263
Группирование 514
ДНФ 136, 154, 157, 458
ДРЕВ 632
ДСМ-метод 526-529, 656, 686
ДСМ-метод автоматического порождения гипотез 633, 663
Дальний промах 584, 589
Данные 225, 240
Двоичное дерево решений 562
Двоичный вектор 567
Двойственная форма 156 Двузначная
интерпретация 324, 327-329, 333
логика 402
модель 325
семантика логических программ 397 Двуместное умолчание 443 Двухуровневая
OSA 640, 670
алгебра 189, 191
Дедуктивная модель 634, 664 Дедуктивное замыкание 409 правило вывода 530 Дедуктивные
БД 233
рассуждения 248
системы принятия решений 233
Дедуктивный
аргумент 440
Дедуктивный
вывод 13, 81, 87, 88, 100, 102, 104, 106, 107, 116, 117, 124, 134, 449, 455, 503, 638, 640, 668, 670
на графовых структурах 118
Дедукция 13, 420, 446, 448, 451, 633, 642, 663, 672
Действительная атака 492, 497
Действительный мир 278
Декартово произведения доменов 233
Декларативная
ревизия 363
семантика 325
Декларативное знание 231, 248, 563
Деонтическая логика 258
Дерево 280
вывода 42, 53
выполнимо 140
доказательства 459
замкнутое 138
конечно древовидное 149
обобщения 595
поиска 602
разбора 622, 626
решений 505, 516, 561, 562, 564, 566, 567, 569, 574, 583, 591, 620, 659, 689
Деревья
доказательств 60
решений 512, 515
Детерминированное классифицирующее правило 596
Детерминированный признак 522
Дефинициальный дизъюнкт 54
Диагностическая система 463 Диаграмма частичного порядка 585
Диалектическое исследование 423
Диапазон
значений 625
Диапазон
изменения значений признака 628
Дизъюнкт 34, 35, 39, 40, 42, 47, 55,
58, 81, 97, 125, 154
боковой 48, 50
пустой 46
сателлитный 94, 95, 112
упорядоченный 49, 50
центральный 48, 50
Дизъюнктивная
нормальная форма 29
программа 377, 379, 380
форма 457
обобщенного понятия 565 Дизъюнктивное
ограничение целостности 451
правило 386
Дизъюнктные вершины 119
Дизъюнкты
поглощенные 48
смежные 91
тавтологий 48, 83-85, 88, 89,
134
чистые 48
Дилемма 439
Динамическое ограничение 358
Дискретное
значение 516
распределение 571
распределение вероятности 571
Дискретный атрибут 621
Доверительный интервал 246
Доверчивая семантика 489
Доверчивый вывод 435
Довод 445, 446
Доказательство 420
Доказуемость 389
Домен 234, 445, 607, 612
Допустимое множество 484, 485
гипотез 483, 486, 489
Допустимость 494
множества аргументов 437
Достоверное рассуждение 633,
663
Достоверность 556, 625-627 выводов 503 принадлежности 624, 625
Древовидная
модель 280 структура 280 Древовидное отношение 280
Евклидово расстояние 546
Единственность минимального расширения 413, 415
Зависимо-направленный бектрекинг 314
Зависимый атрибут 620 Задача
«Стимроллер» 100-102, 104, 134, 166, 637-639, 667- 669
Data Mining 512, 513, 515 абдуктивного вывода 469 абдукции 447, 496, 500, 502 диагностики 419, 449, 459 извлечения
знаний из баз данных 599, 603
обобщенных понятий из обучающих выборок 661, 691
индуктивного обобщения 659, 689 обучения на примерах 655, 685
построения понятий 519 искусственного интеллекта 516
классификации 505, 523, 558, 657, 687
наблюдения 419
накопления и усвоения знаний 419
о N ферзях 104, 112, 115
о восьми ферзях 109
о четырех ферзях 110, 111 обобщения 523, 534, 604, 656, 686
Задача
обобщения
и классификации 524
понятий 583
понятий по признакам 558
обучения 523
«без учителя» 534, 535, 541, 657, 687
«с учителем» 604
оценки плотности вероятности 514
планирования 69
поддержки принятия решений 507
поиска классов 512
понимания естественного языка 419, 463
представления знаний и рас- суждений 400
принятия решений 506 раскраски карты 108, 115 распознавания 504, 521, 522, 544, 557
образов 657, 687
плана 419
сборки 448
устранения противоречий 400
формирования гипотез 525
Заключение 442, 443
аргументов 440
теоремы 37
Закон
дистрибутивности 460
исключенного третьего 250 Замкнутая
аналитическая таблица 140
ветвь 138
таблица 150
формула 28, 145
Замкнутое умолчание 302
Замкнутые формулы 164, 165, 171
Запрос 450
Зашумленные данные 517, 588, 598, 613
Защита 484, 486, 487, 489, 494, 496, 498
Защищающий аргумент 422 Знание 225, 232-238, 240, 241, 390 Значение
достоверностей принадлежности объектов 631
достоверности 626-628, 631 признака 520
Зомби-аргумент 428, 431, 436 Зона 623-625, 628, 631
Зонное представление признаков 622, 625
И-дерево 56, 60, 345, 349, 353, 489
ИЛ И-дерево 55, 60
ИСН 612, 615, 616
Идеально разумные рассуждения 292
Идеально разумный агент 298
Идентификация класса примера 571
Иерархическая абдуктивная схема рассуждений 467
абстрактная структура 214, 215
абстракция 194, 195, 197- 199, 214
связь 228 структура 186, 194, 196-199, 204, 205, 209, 212-215, 585
Иерархичность 186, 467, 652, 682
Иерархия 584, 591, 593 классов 514 объяснений 467, 469, 470, 472, 473 понятий 585 типов 640, 670
Извлечение знаний 504, 510, 511 из баз данных 598
Излишний атрибут 608, 616
Импликативный квантор 530
Импортация-экспортация 266
Индексирование метаданных 509
Индуктивная
гипотеза 656, 686 зависимость 503 закономерность 504 резолюция 525
Индуктивное
знание 659, 689
логическое программирование 516
обобщение 14, 16, 655, 685 обучение 504, 518 описание 519
понятие 503, 519, 526, 655, 685
правило вывода 524 следование 525 умозаключение 238 формирование понятий 503, 655, 659, 685, 689
Индуктивный
аргумент 421, 423, 440
вывод 14, 446, 503, 524, 525, 529, 651, 655, 681, 685 квантор 529
Индукция 13, 14, 17, 447, 503, 633, 642, 655, 663, 672, 685 решающих деревьев 569, 659, 689
Индуцированная сигнатура 190
Инкрементное обучение 599
Инспектирование 315
Интеллектуальная система 12, 233,234,237,240,246,
253-255,314,505,
519,525,527,558,
642,655,663,672,
685
Интеллектуальное знание 234
Интеллектуальный репозиторий 216
Интенсиональная
логика 644, 674
составляющая базы знаний 186, 187, 198, 201, 213
составляющая проблемной области 218
Интенсиональные
(ИБД) 232
представления 232, 233
Интервал 247
Интерпретатор 58
Интерпретация 28, 30, 36, 40, 57, 138,140,141,143,145,
237,251,255,290,
318,332,336-343,
385,393,415,432,
466, 501, 575
I 342
высказываний 294
дизъюнктивных логических программ 376
Интерференция 421
Интроспективная природа 253
Интроспективные рассуждения 292
Интроспекция 395, 396, 400, 401 Инференциальная теория Пирса 633, 663
Информативность атрибута 589, 593
Информативный атрибут 620 Информационная база 632 витрина 508 единица 226, 228, 230, 231 метрика 589 система 607, 608, 611-613, 617
с неопределенностью 612 технология 507
Информационное хранилище 507, 510
Информационный атрибут 608, 610
Информация 571
Искажение информации 598
Искусственный интеллект 239, 248,321,375,419,444,
499,503,504,510,
650,657,659,664,
687, 689
Истинная формула 277
Истинностные значения 26 Исчисление аргументов 443 высказываний 336 предикатов 46, 52
первого порядка 255, 259- 261, 276, 519, 525
Итеративное построение 412, 417, 426
КМ-допустимость 502
КНФ 136, 154, 458 К аноническая программа 333, 387 расширенная логическая программа 343,361,
362, 399
Категориальное значение 516
Категория 561
Каузальная сеть 447
Каузальное отношение 228
Качественный признак 520, 524, 534, 559, 560, 562, 569, 622, 631, 632
Квантифицированная формула 178
Квантор 27, 28, 143, 177, 178, 257, 276, 302 общности 26, 249, 458 существования 26, 249, 458 эквивалентности 530
Класс 504, 505, 511, 514, 517-519, 522-524, 529, 534-549, 551-557, 560-563, 574, 578, 580, 598, 601-603, 622-624, 626, 628, 631, 632, 657, 687 данных 513 объекта 597 отрицательных объектов 612 положительных объектов 612
примера 571 разбиения 616 ситуаций 532, 610
Класс эквивалентности 604, 605, 617, 620
Классификационное правило 512 Классификационный критерий 614 метод 513 фактор 613, 614, 615-619
Классификация 504, 512, 513, 515, 521, 524, 582, 583, 594, 597-599, 604, 609, 616, 620-622, 632
и формирование понятий 530 объектов 607
Классифицируемый объект 625
Классифицирующее правило 505, 563, 596
Классифицирующий фактор 613 Классическая
логика определенных хор- новских программ 482
теория умолчаний 406
Классическое
отрицание 376, 380, 381, 383, 384, 386, 389, 390, 402, 415
упорядочение 325
Кластер 545
Кластеризация 512-514
Клоз 464
Когерентное объяснение 466
Когерентность 384, 395-397, 466 объяснений 465
Количественный признак 520, 524, 534, 559, 562, 569, 622, 632
Количество
информации 571, 589
лучей 601
Комбинаторный взрыв 517, 601
Компактная версия 343
Компактность 560
Композиция подстановок 44, 55, 171
Компонент
объяснения 445
Компонент
правдоподобия 445
Конечный статус аргумента 422
Консеквент 316
Конструктивное восходящее определение 344
Конструкторы типов 189, 191, 192 Контекст 403, 404, 409, 415, 485, 489
ATMS 318
Контекстное описание атрибутов 526 свойств 526
Контрапозиция 393, 394
Контраргумент 420, 421, 441, 443, 501
Контрарная пара 42-44, 81, 82, 88, 95, 106, 138, 139, 147, 151, 157, 158, 165, 184
Контрарные литеры 94
Контрмодель 279
Контрольный пример 505
Контрпример 518, 523, 527, 559, 563, 564, 566, 584, 587, 588, 602
Конфликт 421, 430, 432, 435, 440, 442
аргументов 440, 443 между аргументами 420
Конфликтное множество 92
Конфликтующий аргумент 424, 438
Концептуальный язык 221 запросов 220
Концепция
относительных ошибок классификации 613
приближенной аппроксимации 614
Конъюнкт 154, 158, 583, 584 наблюдения 459
Конъюнктивная нормальная форма 29
Конъюнктивное обобщенное понятие 565
Конъюнкция 245, 251, 264, 305
Корень 280
Кортеж 567
Косвенный признак 524
Коэффициент неопределенности
612
Критерий
Байеса 557
выбора 567
для предпочтения моделей 423
минимального расстояния 538, 546
минимальности 457
отбора 451, 457, 462, 464, 465
оценки 421
предпочтения 356
приемлемости 357
простоты 462
распознавания 546
существенности 564, 565
экономичности 589 Кумулятивность 322, 329, 336
Левенгейма — Сколема 151
Лексемы 221
Лемма
Кёнига 149
Хинтикка 142, 143, 148, 149, 152, 153
подъема 121
Либерализация 146, 147
Либеральная таблица 151 Лингвистическая
модель 247
шкала 229
Лингвистические переменные 248 Линейная
входная резолюция 211, 212
разделяющая функция 550, 553
резолюция 48, 49, 117, 456- 458, 634, 664
решающая функция 549
функция 552
Линейный
аргумент 440
Линейный
вывод 48
пустого дизъюнкта 49 упорядоченный вывод (OL- вывод) 50
Литера 29, 39, 41, 45, 49, 50, 53, 54, 97, 323, 332 обрамленная 50 по умолчанию 323, 327, 329, 332, 359, 377, 385, 387, 648, 678
убеждения 390, 392, 648, 678 Логика
К 396
возможного 257 возможности 254 вопросов 643, 673 высказываний 237, 258, 295, 531
знания 258, 296 немонотонного вывода 422 необходимости 284 очерчивания 650, 680 предикатов первого порядка 233, 237, 239, 243, 248, 257, 258, 312, 317
предикатов первого порядка с равенством 248, 249 убеждений и доказуемости 393
убеждения 296 умолчаний 244, 251, 252, 254, 281, 301-303, 305, 307, 311, 332, 401, 421, 442, 452, 643, 645, 650,673, 675, 680
Рейтера 404, 407, 648, 678 Логическая
модель 449, 453, 513 программа 54, 328, 329, 341, 3 76, 386, 402, 416, 437, 452, 481, 482, 487, 488, 496, 499, 501, 502, 648, 651, 652, 678, 681, 682
с явным отрицанием 415 простота 462
Логическая
система немонотонная 243
теория 449
функция 558, 560, 563, 583
принадлежности 565
целостность 313
Логические связки 26, 28
Логический язык 420
Логическое
всеведение 240, 295
выражение 505
преобразование 460
программирование 153, 321, 332, 357, 375, 401, 442, 450, 451, 482, 634, 639, 647, 650, 652, 664, 669, 677, 680, 682
следование 251, 423, 529 следствие 36-38, 42, 252, 293,
295, 381, 382
Локальные предшественники 353
литеры 353
Локальный критерий 447, 464
Лучевой поиск 465
М-модельная структура 277 Максимально правдоподобные миры 455
Максимальное
применение умолчаний 407, 408
слабо устойчивое множество 485
Масштабирование 522
Масштабируемость 509
Математическая статистика 524
Математический препроцессор 109
Математическое знание 235 Материальная
импликация 17, 266, 378, 394, 402, 450, 454 эквивалентность 378 Материальные связки 257, 261 Матрица 31
расстояний 542-544
Матрица
рисков 557
Машинное обучение 504, 510, 511, 513, 589, 597, 599, 603, 633, 658, 663, 688
Мера
близости 521, 534, 535
зависимости атрибутов 615
информативности 570
относительной ошибки классификации 613
сходства 529
точности аппроксимации 604, 608
Метазнание 659, 689
Металогический уровень 455
Метауровень 445
Метафорическое определение по
нятия знаний 642, 672
Метаязык 442
Метод
Data Mining 513
OR-параллельного вывода 103
Q-depth 180, 181, 183
Рейтера 306
Хинтикка 136
абдуктивных рассуждений 467, 470, 474, 652, 682
абдукции 224
автоматического доказательства теорем 474
аналитических
таблиц 136-143, 148, 149, 151-154, 156, 159, 171, 174, 177, 180, 183, 639, 669
вероятностных
абдуктивных рассуждений 466, 467, 469, 472, 652, 682
ветвей и границ 531
вывода на графе связей 636, 666
генерации 447
дедукции Эрбрана 634, 664
Метод
диагностики 467
индуктивного вывода 655, 685
индуктивных рассуждений 527
индукции 149, 224, 505 качественного обобщения по признакам 563
машинного обучения 598 нелинейной регрессии 515 неподвижной точки 292 обобщения 505, 595
информации 596
на сетях 530
объектов по признакам 533
по признакам 524, 525 обратного вывода 634, 664 опровержения 119, 136 основанный на примерах 515 поддержки истинности, основанного на предположениях 318
поиска 515
«в глубину» 63, 71
«в ширину» 65, 472-474
«наилучшего» 66, 67
параметров 515
последовательного уточнения 549
потенциалов 552, 554
правдоподобного вывода 224 распознавания 547
резолюции 21, 89, 105, 135, 136
семантических таблиц 136 структурного обобщения
знаний 659, 689
установления выводимости 24
фокусирования 583, 588 элиминации моделей 53 Метрика 516, 520, 567
Хемминга 566
когерентности 462, 465
Метрические шкалы 229 Механизм
генерации гипотез 449
наследования 215
наследования продукционных правил 215
наследования свойств 77 Минимальная
аномальность 463, 464
модель 325, 376, 379-381, 397, 500
непротиворечивая подмодель 366
Минимально пересмотренная программа 367
Минимальное
абдуктивное объяснение 252
множество удаления 372
объяснение 474
Минимальность 462
объяснения 453
Минимальный средний риск 557
Мир ситуаций 240
Мнения 235
Многократная унификация 163
Многомерная база данных 508
Многопризнаковая проверка 561 Многосортная
алгебра (MSA) 187, 188, 640, 670
логика (MSL) 134, 195, 199, 201, 202
сигнатура 189, 190, 640, 670 Многоуровневая
алгебра (MLA) 187-189, 193
логика (MLL) 187, 194-204, 206, 211, 212, 214, 219- 222, 640, 670
упорядоченно- сортная алгебра (MLOSA) 188, 640, 670
Множественное
наследование 80
присвоение статуса 430
Множество
AND-связей 96
Множество
DCDP-связей 91, 93, 107
Хинтикка 142, 143, 148-150, 152
аксиом 37
аргументов бесконфликтное 437
видов 640, 670
внутренне независимых подмножеств графа 93
гипотез 485, 487-489, 492- 494, 502
дизъюнктов 35, 38, 39, 41, 46, 81, 119
значений атрибутов 607 классов эквивалентности 615 конфликтных связей 92 литер 454
общих дизъюнктов 376
оценок 528
поддержки 371, 375
литеры 370
противоречия 372
посылок 37
правил вывода 248 предположений 452 предсказывающих атрибутов 592
примеров 523 рассогласований 45, 208-211 решающих атрибутов 616 совместимых связей 92 тестовых примеров 583 удаления
RS 372
противоречий 370 противоречия 373
целей 489 Модальная
логика 255, 258, 261, 278, 281, 292, 293, 393, 422, 643, 644, 673, 674
К 394
знания 645, 675
убеждения 645, 675 силлогистика 257
Модальное исчисление 259, 261, 276 исчисление высказываний 276
нормальное 276 правило вывода необходимости 282
Модальность 257, 263, 389 возможности 257 доказуемости 393 убеждения 393, 394
Модальный оператор 456 оператор К 244 решатель 313
Модель 325, 328, 339, 342, 359, 367, 377, 378, 385, 390, 399
БЗ 237
высказываний 294 голосования 247 дизъюнктивных логических программ 376
знаний 216
индуктивного вывода 525 коэффициентов уверенности 247
обобщения 523
по выборкам 523, 524
по данным 523, 524 представления знаний 515, 634, 664
программы 363 реляционного обучения 516
решающих деревьев 659, 689
убеждения 453 формулы 29, 277, 279
Модельная теория 423
Модельный параметрический полиморфизм 640, 670
Модификация 315
Модульность 311
Модулярная семантика 408
Модулярность 407, 415
Монотонная выводимость 455
Монотонное
отношение выводимости 452 правило вывода 440
Монотонность 449
Монотонные обоснования 316
Монотонный оператор 365, 412, 417
Мощность обучающей выборки 622
Мультидуги 120-124, 126, 127, 129-132
Мультипликативный метод 41
Мультипоиск 116, 118
Мышление 234
Наблюдаемая литера 472, 474
Наблюдаемое значение 591
Наблюдаемые данные 656, 686
Наблюдение 419, 448, 450, 456, 458, 459, 461, 465, 466, 468, 469, 496, 499-501, 504, 525, 529
Набор
признаков 519
продукционных правил 505
Надмножество 483 объяснений 449
Назначение
множественного статуса аргументам 433
статуса 432-434, 436, 437
Наиболее
информативное разбиение 573
информативный атрибут 574-576, 579
общий унификатор (НОУ) 44, 46, 49, 50, 82, 94-97, 109, 111, 112, 127, 160, 162, 163, 171, 175, 208
правдоподобное объяснение 456
специфичная абдукция 463
Наибольшая фиксированная точка 405
Наилучшее объяснение 446, 447
Наименее
общее обобщение 525
предположительная абдукция 463
предположительные или наиболее специфичные объяснения 463
специфичная абдукция 463 Наименьшая
верхняя грань 584
модель 326, 327, 329, 333, 334, 342
трехзначная модель 330, 340 фиксированная точка 341, 362, 404, 412, 414, 427, 485, 487
Наименьшеестационар
ное расширение 407
Наследование 640, 670
свойств 307
Насыщенная теория умолчаний 408, 414
Наука 235
Нахождение атомов 619
Невыполнимая формула 33 Негативная
интроспекция 390, 392, 393
литера 359, 375, 409, 482, 490, 492, 500
объективная литера 388 Негативное
антиобъяснение 453
Негативные факты 250 Негативный
абдуцент 452
атом 337
оператор интроспекции 393
Недедуктивные аргументы 440
Недетерминизм 56, 82
Недетерминированный выбор 484
Нейронная сеть 515
Нелинейная
регрессия 516
решающая функция 552
Немодульность 310 Немодулярность 409
Немонотонная
логика 436, 438, 643, 645, 673, 675
Дойла 287
Мак-Дермотта 287
модальная
логика 254, 281, 650, 680
система 282
модальная логика МакДермотта и Дойла 645, 675
формальная система 645, 675
эпистемическая логика 389 Немонотонное
правило вывода 440, 317
рассуждение 21, 645, 675
следствие 452, 482, 487
Немонотонность 308, 643, 673 Немонотонный
вывод 321, 330, 401, 422, 447, 452, 650, 651, 680, 681
формализм 482
Ненормальное модальное исчисление высказываний 644, 674
Необходимая
истина в мире 284
формула 278
Необходимый атрибут 616
Неозначенные формулы 137, 139, 146
Неопределенность 244, 400, 611, 617, 643, 651, 673, 681
Неотрицательная программа 329, 340
Непересматриваемая
литера 369
программа 370, 373
Неподвижная точка оператора 303
Неподвижные (фиксированные) точки 290
Неполнота 643, 673
информации 611 Непосредственное объяснение 468, 473
расширение таблицы 140 Непрерывный атрибут 570, 621 Непротиворечивая модель 359, 367 подмодель 368
Непротиворечивое
абдуктивное объяснение 252 Непротиворечивость 140, 449, 462 Неразделимая литера 364, 367, 372
Неразличимый объект 610, 619
Неразрешимый конфликт 424
Нерасширенная дизъюнктивная программа 389
Несимметричная форма атаки 421
Неточное знание 604
Неточность 244, 643, 673
Нетрадиционные логики 248-250, 253, 254
Нетривиальность 462
Неуспешное дерево 345 Нечеткая логика 254, 603 порядковая шкала 229
Нечеткие
знания 246, 254
квантификаторы 229, 230
Нечетко-значные модели 248 Нечеткое множество 246, 248 Нечеткость 603, 643, 673
Неявная форма восстановления 430
Неявное убеждение 453
Нижнее приближение 604, 606, 608-611, 618, 619
Нисходящая процедура логического программирования 415 характеризация 345
Нормальная логическая программа 326, 329, 331, 332, 336, 376, 386, 393, 404, 405, 452, 647, 677 с NAF 452
Нормальная модальная система 282, 286, 394 модельная структура 277 программа 335, 347, 351, 382 теория 304, 306 теория с умолчаниями 304 форма 29, 311
Нормальное модальное исчисление высказываний 644, 674 умолчание 304, 306, 312, 645, 675
Нормальные миры 423
Носитель нечеткого множества 247
Область изменения переменной 160 интерпретации 28, 237 неопределенности 548
Обнаружение
знаний 504, 510, 511
в базах данных 596 информации 510 Обновление 315
Обобщение 464, 503, 519, 523, 524, 526, 531, 533, 558, 589, 591, 592, 594, 595, 655, 685
на основе признаков 655, 685 примеров 655, 685 Обобщенная модель данных 596 приближенных множеств 614
устойчивая модель 500 Обобщенное
дизъюнктивное понятие 563 конъюнктивное понятие 563, 564
понятие 519, 523, 563, 659, 689
представление классов 531
Обобщенное
продукционное правило 583 Обобщенный
квантор 526, 529
семантический граф 531
Обоснование 313, 316, 402, 403, 409, 411 посылок 316 умолчания 302, 304
Обоснованность 384
Обработка моделей данных 510
Образование новой теории 456
Обрамленные литеры 50 Обратная
резолюция 451
сколемизация 451
Обратное ветвление 458 Обучающая
выборка 504, 505, 518-520, 522-526, 534-536, 539, 541, 542, 545, 549, 550, 552-556, 558-560, 562, 563, 565, 566, 569, 571, 586, 587, 602, 604, 605, 608, 621-625, 628, 632, 659, 689
Обучающаяся система 599 Обучающее
множество 504, 514, 518, 519, 522, 541, 549, 552, 560, 566, 567, 570, 573, 579, 583, 585, 588, 592-594, 597-599, 603, 604, 607, 609-611, 618, 619, 655, 685
Обучающий
признак 623
пример 572, 573, 575, 579, 588, 589, 595
Обучение 518, 522, 559, 560, 588 без учителя 505, 523, 534 на основе примеров 655, 685 по неполным и нечетким данным 661, 691
с учителем 505, 523, 559, 604, 622
Общая семантика 385
Общезначимая формула 29, 38, 147, 241, 277, 291
Общезначимость 36, 37
Объединение теорий 406
Объект
-прототип 546
исследования 505
классификации 519, 520, 562 распознавания 534, 545, 657, 687
управления 506
Объективная
литера
332,
333,
335,
337, 338,
340,
341,
344,
347-349,
351,
354,
358,
364, 370,
372,
384,
385,
389, 399,
403,
404,
415-
418
Объективное
высказывание
376,
379, 382, 390, 392
Объектная вершина 530
Объектно-ориентированные СУБД 188
Объектный язык 441
Объяснение 444-446, 448, 452455, 461, 463-467, 469, 474, 478, 481, 499, 501 -гипотеза 445 базовое 457 наблюдений 450, 468
Объяснительная гипотеза 17
Объясняющая гипотеза 444, 446, 458
Объясняющий вывод 446
Ограничение целостности 357, 358, 362, 363, 365, 450452, 459, 469, 478, 499501, 611
Ограниченная теория умолчаний 403, 408, 413
Ограниченноеправило-
умолчание 403, 409
Ограниченный язык 409
Однопризнаковая проверка 562
Односортная алгебра 188
Означенные формулы 137, 144
Онтологическая истина 337 Оператор
F 425
G 426
К 237
Rf 123
Rf 124
Up 122, 123
Г* 341
ГА 403
Qa 410 Ф 341 ФР 344 Ф* 340 Coh 341 Cohp 360 least 340, 341 Гельфонда — Лифшица 327, 402
антимонотонный 404 замыкания 365
модальной непротиворечивости 394
модальности Е 394 монотонный 404 обобщения 531 объяснения 447, 454 отсечения 157-159 расщепления 122 расщепления вершины 121 следования
замкнутых убеждений 393 открытых убеждений 393 убеждения 390, 395, 396 удаления вершины 120 фиксированной точки 402, 413, 425
Операция замыкания 396 редукции 51 сокращения 51 факторизации 134 факторизации дизъюнктов 89
Описание 607 класса 505
Описательная функция 607, 612 Описательное моделирование 515 Описательный атрибут 608 Оппозиционная шкала 230 Оправдываемый
аргумент 427, 428, 434, 435
статус аргумента 442 Определение
с фиксированной точкой 431, 432
фиксированной точки 425 Определенная
логическая программа 395
программа 327, 333, 334, 647, 677
расширенная логическая программа 393, 396, 397 Опровергающий аргумент 441 Опровержение 38, 438, 440, 442, 443
аргумента 421
аргументов 423
Оптативная гипотеза 357
Орграф 327 Осторожная
Q-семантика умолчаний 410
семантика умолчаний 404, 406
Отбор гипотез 447, 461 Отвергающий аргумент 422 Ответное множество 334-336, 385, 394, 395
расширенной программы 333
Открытая ветвь 481
Открытое умолчание 302 Относительная
метрическая шкала 229
ошибка 614 Относительное
правдоподобие 445
сокращениемножества
условныхатрибутов
616
Относительность 643, 673 Отношение
«класс-подкласс» 77
Отношение
extend-goal-root 491
выводимости 237, 243, 289, 295, 394, 402
доступности 277
немонотонной выводимости 291
неразличимости 604, 606, 607, 614
поражения 423, 425, 426, 433, 437, 438, 443
релевантности 231 следования 420 эквивалентности 604, 606-
608, 614
Отрицание 245, 389
как неуспех 450, 500
по умолчанию 326, 347, 348, 379, 382, 387, 393, 395, 400, 402, 496
при неудаче 61 Отрицательная
аналогия 529
гипотеза 528
область 605
множества 615
рекурсия 353
Отрицательное нижнее прибли-жение 614, 615
Отрицательный
класс 613, 616
объект 558, 559, 621
пример 519, 528, 569, 576, 581, 583, 584, 588, 600, 602
Отсечение 61
Оценка 277
аргументов 420
гипотез 446, 529, 624
достоверности 524, 622 информативности 571 истинности 324, 338 качества 600-602
модели 514
обоснованности гипотезы 528
Оценка
разброса 624
степени шума 613
Оценочная функция 66, 67
Очерчивание 378
Пара рассогласования 161, 162 Параллелизм
в процессе унификации 126 на графовых структурах 117 на уровне дизъюнктов 117 на уровне поиска 118 на уровне термов 117
Параллельная
машина вывода 133
стяжка мультидуг одного цвета 127
унификация 125, 126, 130, 131
Параллельное
очерчивание 376
расщепление внутри одной вершины 127
расщепление нескольких вершин 130
резольвирование 90-92, 97, 131
удаление вершин, свободных от мультидуг 127
Параллельный алгоритм вывода на С- графах 131 вывод 124
Параметрический полиморфизм 189, 191
Паранепротиворечивая
WFSX 360, 362, 375
семантика 336, 360, 648
Паранепротиворечивая семантика 678
Паранепротиворечивое фундированное следствие 371
Первое правило обрезки 353
Пересматриваемая
аргументация 421
с приоритетами 650, 680
Пересматриваемая
литера 359, 364, 365, 367-372
условная зависимость 441
Пересматриваемое
логическое следствие 420
правило вывода 440, 441
предположение 364
следование 442
следствие 437
Пересматриваемые рассуждения 293
Пересматриваемый вывод 423, 650, 680
Пересмотр
автоэпистемической теории 452
убеждений 400, 454, 652, 682
эпистемического состояния агента 455
Пересмотренная версия 369
Плавающее заключение 432, 434
Плавающие заключения и аргументы 436
Плавающий аргумент 432
Планирование 463
Планировщик 70-72
Плотность вероятности 514
Поглощение дизъюнктов 83-85, 89
Поглощенные дизъюнкты 134
Подавляющее правило 363, 364, 366, 367
Подаргумент 422, 425, 429-431, 440-443
Подветвь 489
Подвыборка 564, 566
Поддерево 489
Поддерживающее объяснение 469
Поддержка 372
литеры 370
принятия решений 506
противоречия 370, 372
Подмодель 365, 369
Подобие 234
Подрыв 438, 440-443
аргумента 421
Подрывающий аргумент 441
Подстановка 44, 55, 97, 144, 160, 490
Подтверждаемый статус аргумента 442
Подтверждающий аргумент 422
Подтверждение аргумента 428
Подтвержденное убеждение 435
Подтвержденный аргумент 423, 425, 426, 428, 431, 435, 436
Подход
к абдукции на уровне знаний 651, 681
множественного назначения статуса 434, 435
на уровне знаний 453
назначения уникального статуса 432
уникального назначения 436 уникального назначения статуса 434, 435
Подцели 54
Подъем по дереву обобщения 589
Позитивная
интроспекция 390, 392, 393
литера 382, 414, 452 объективная литера 388
Позитивное
антиобъяснение 453 высказывание 379, 384 объяснение 453
Позитивный
абдуцент 452
атом 482
предикат 499
Поиск
методом
«в глубину» 58, 79
«в ширину» 59
модели 515
скрытых закономерностей 596
Поисковое пространство 517
Покрытие множеств 447, 448, 450, 651, 681
Полиморфизм 189, 193 Полностью
отрицательный объект 612
положительный объект 612
помеченное дерево 498
Полнота 140, 294, 350 Положительная гипотеза 528 область 605 множества 615 рекурсия 346
Положительное
нижнее приближение 614, 615
Положительный
и отрицательный пример 575
класс 613, 616
объект 558, 559, 621
пример 519, 527, 528, 569, 576, 581, 584, 586-588, 600, 602, 621, 622
Полумонотонность 307, 309 Полунормальная
версия
программы 416
теории умолчаний 410
теория умолчаний 410
Полунормальное
правило 410
умолчание 307, 310
Полунормальность 416
Полуразрешимая логика 312
Полурешетка 585
Помеха 512
Помеченное дерево 490
Понятие 518
ревизии 456
сходства 529
Пополнение 459
предикатов Кларка 326, 647, 677
Поражение 421, 432, 437, 442, 443, 482
-опровержение 441
-подрыв 441
аргумента 420, 423, 430
Пороговое расстояние 535, 536, 538-540
Пороговый алгоритм 535, 538
Порядковая шкала 229, 230, 520
Построение графовых моделей 513
Потенциальная атака 492, 497
Потенциальная защита 484
Потомок узла D 493
Правдоподобие 446-448, 455
Правдоподобное
знание 236
рассуждение 13, 529, 633
Правдоподобное рассуждение 663
Правдоподобность утверждения 246
Правдоподобный
вывод 239, 419, 438, 651, 681
довод 439
мир 456
Правила 54
конструирования правильно построенных выражений 248
расширения таблиц 138, 146, 147, 154
Правило
а 137, 139-141, 146, 165, 176, 180
/3 137, 139, 140, 146, 165, 176
д 146, 163, 165, 178, 179
7 146, 148, 163-165, 171, 179, 181, 183
-умолчание 401-403,406,
408-410
Байеса 245
атомарного замыкания 171
вывода 393, 441, 460, 529
вывода для абдукции 445
индуктивного вывода 526
классификации 623
метауровня 441
немонотонного вывода 289
обобщения 256
перезаписи для эквивалентности 460
Правило подстановки 165 распознавания 519, 557 селекции 526 умолчания 302, 402 фундаментальное 393
Правильно построенные формулы (ППФ) 194, 195, 199, 201
Правильный конъюнкт 584
Предварительное множество удаления 372, 373
Предикат 27, 101, 258 аномальности 356 полуразрешимый 36 селектор 201 утверждения 310
Предикатная вершина 119, 121, 123, 530, 531
Предикатный символ 237, 313, 323
Предметная константа 26, 28 переменная 26, 28
Предположение 439 вычислимости 448 монотонности 448 независимости 448 о замкнутости мира 61, 241, 250, 322, 326, 358, 359, 368, 382, 397, 634, 664 о разрешимости 448
Предположительный аргумент 440 вывод 438, 439
Предпосылка 402, 409, 411 умолчания 302
Предпочтение моделей 465
Предпочтительная семантика 423, 438
Предпочтительное множество 452, 484 объяснение 469 расширение 451, 483
Предсказательное моделирование 515
Предсказываемый
атрибут 569, 570, 592, 598
Предсказывающая переменная 513
Предсказывающее объяснение 456
Предсказывающий атрибут 569, 570, 597
Представительное допущение 514 Представление
знаний 561, 647, 677
модели 514
теории 500
Пренексная нормальная форма 30, 33, 204
Препроцессор 111
Препроцессорная обработка 88
Префикс 31, 201, 202, 205, 207, 209 формулы 200
Приближенно равное множество 606
Приближенное множество 604, 605, 608, 614, 621, 661, 691
Приближенный признак 522, 556
Приемлемая гипотеза 357
Приемлемое
множество 486, 487 гипотез 489 предположений 452
Приемлемость 357, 425, 426, 437, 485, 487
Признак 515, 519, 520, 556, 557, 559, 561, 563, 569
Признаковое
описание 520, 559 объекта 519
Признаковый
метод 525
Применимое умолчание 407
Применимость умолчаний 407
Пример 516, 518
класса 505
понятия 503, 519
Принудительное расширение 408, 413
Принудительность 408
Принуждаемое умолчание
408
Принцип
«лезвия Оккама» 462, 463, 465
декомпозиции 194
единственного
остатка 527
различия 526
сходства 527
единственного различия 527
единственности минимального расширения 408
индуктивной резолюции 526 когерентности 337, 338, 343, 347, 360, 410, 417
композиционности Вресвей- ка 422
максимальной вероятности 514
модулярности 409
наследования свойств 194
принудительности 408, 414
резолюции 24, 41, 42, 46, 47,
127, 142, 152, 160, 471, 475, 634, 664
специфичности 421
Принятие гипотезы 16
Приоритет 443
аргументов 442
Причина 445, 528
-объяснение 457
наблюдения 446
Причинно-следственная связь 447, 449
Причинно-следственное отношение 527, 617
Пробабилизм 236
Проблема
обнаружения знаний 19
обоснования 253
противоречивости 357
расписания задач 118
Проблема распознавания образов 658, 688
Проблемы извлечения знаний 596
Проверка 561
целостности 509
Проверочный пример 597 Прогнозирование 513, 515 Программа 332
с правилами целостности 358 Продукционная модель 75, 77, 214, 659, 689
Продукционное правило 73, 75, 215, 562, 563, 586, 600- 602, 607, 619, 620
Продукция 253, 562, 583
Пролог 57, 61, 63, 67, 69, 72, 74- 76, 78-80, 117, 124, 125, 133, 153, 157, 158, 163, 171, 173, 174, 177, 178, 180, 181, 183, 321, 322, 634, 639, 664, 669
Пропозициональная
буква 454
логика 397, 516
переменная 455 программа 392, 495 теория умолчаний 409 формула 403
Пропозициональное
множество Хинтикка 141
умолчание 402 Пропозициональный автоэпистемический язык 389 язык 454
Простая каузальная теория 450, 651, 681 переменная 125
Пространство аппроксимации 604 поиска 451, 516, 599 приближений 604, 606, 607, 614, 615, 617
Пространство признаков 516, 545, 655, 657, 685, 687
Противоречивая гипотеза 455 программа 351, 363, 373 теория 412 формула 38
Противоречивость 36-38, 43
Противоречивый сценарий 357
Противоречие 29, 409, 651, 681
Протоструктура 234 информационных единиц 226
Прототип 535-541, 543, 545 Процедура
AND-параллельного вывода 103
DCDP-параллельного вывода 103
DCDP-параллельного резольвирования 104
OR-параллельного вывода 90
OR-параллельного опровержения 103
вывода для WFSX 351
вывода Эрбрана 40, 41, 47 вычисления WFSX 648, 678 доказательства 312, 489-491, 495, 500, 502, 651, 652, 681, 682
IFF 460
для абдуктивного логического программирования 459
накопления 449 обнаружения знаний 512 обучения 559
с учителем 659, 689 опровержения 43, 138, 212, 471
отбора 459 пересмотра 370
Процедура
сколемизации 451
унификации 183
Процедурная семантика 325 Процедурное знание 231, 563 Процесс
KDD 511, 514
абдукции 445
аргументации 442 извлечения знаний 518 классификации 562, 580, 589 обнаружения знаний 511 обобщения 520, 559 обучения 504, 527, 597 опровержения 112
отбора 459
пересмотра 357, 359, 455 синтеза 459
Прямое восстановление 430 Псевдометрика 567 Псевдоотрицание 383-385 Пустая подстановка 44, 208 Пустое множество гипотез 486 Пустой
аргумент 428
граф 131
дизъюнкт 34, 41, 42, 51, 58, 85, 89, 91, 109, 120, 124, 125
Равносильная формула 30 Разбор вариантов 460
Разброс 623
значений 625
Развертывание 460
атомов 493
Разделенная переменная 94, 95, 125
Разделяющая функция 658, 688 Разделяющее
значение 564
признака 573
Разумный агент 357, 397
Ранговая шкала 520 Раскрашенный граф 92, 119 Распознаваемый объект 626
Распознавание 504, 524, 545, 546, 550, 553, 556-558, 560, 566, 625, 631, 659, 689 образов 504, 511, 513
Распознающее правило 559
Распознающий признак 659, 689
Распределенное информационное хранилище 508
Распределенный поиск 116, 118
Распространение 460
Расстояние 522
по Евклиду 522, 553
по Хеммингу 567
Рассудок 234
Рассуждения 12, 235
здравого смысла 281
Расчет вероятностей 481
Расширение 303, 304, 386, 387, 390, 397-399, 401, 406, 408, 410, 411, 413-415, 438, 445
логики умолчаний 401 очерчивания 393 семантики Рейтера 414 теории 303, 396 теории умолчаний 403 умолчаний 404
Расширенная
GL-трансформация 329
дизъюнктивная логическая программа 388
логическая программа 322, 332, 333, 335, 340, 342, 352, 364, 377, 382, 395, 399, 400, 402, 403, 409, 415, 647, 652, 677, 682
программа 336, 347, 351, 355, 385
эрбрановская база 332 Расширенное
логическое программирование 357, 400, 401
представление дерева терма 161
Расщепление 460
Рациональность 322
Ревизия 249, 359, 363, 364, 367, 369, 370, 453
БЗ 242
гипотез 453
минимальных непротиворечивых подмоделей 373
подмодели 365-367
программы 365, 366
Регрессионная схема 512
Регрессионный алгоритм 515
Регрессия 512, 513, 515
Редуктивный вывод 446
Редукция 52, 446, 490, 582, 608 атома 490 отрицательных циклов 353
Редуцируемый упорядоченный дизъюнкт 51, 52
Резольвента 41, 42, 48, 50, 86, 88, 89, 94, 95, 104, 106, 111, 492, 493, 495, 496
Резольвирование 81, 85, 88, 89, 91, 93, 98, 102-104, 109, ПО, 113, 115, 134
Резолюция 490, 492, 495, 652, 682
входная 48 линейная 48
Рекурсивное определение 428, 431
Рекурсивный
алгоритм 566
генератор плана 70
Рекурсия 347
через отрицание по умолчанию 346, 350, 352
Релевантная гипотеза 449
Релевантность 323, 329, 336
Реляционная
СУБД 508
база данных 508
таблица 600
Реляционное обучение 516
Репозитарий метаданных 507
Рефлексивная
АЭЛ 397
автоэпистемическая логика 399 теория 648, 678
Решатель проблем 315, 317, 634, 664
Решающая функция 545-553, 555, 556, 658, 688
Решающее
дерево 563, 564, 569-572, 574-576, 578-580, 583, 589, 592, 594, 659, 689
правило 504, 505, 515, 516, 524, 545, 559, 560, 562, 583, 622-626, 631, 632
Решающий атрибут 575, 576, 589, 604, 607, 608, 610, 612, 615, 619
Решение задачи классификации 544
Решетка подмоделей 365, 368
Риск 556, 557
Родительский узел 490
Ромб Никсона 369, 398, 438, 442
СТ40-модель 455
СУБД 508
Monet 600
Самовосстановление 425
Самопоражающий аргумент 424, 428, 429
Сбор информации 510
Сборка гипотез 448
Свободная
переменная 27, 163-165, 171, 177, 179, 181, 184, 446
переменная ж 529
Свободные переменные 179
Свободные умолчания 309
Свойство
внутренней непротиворечивости 385
выполнимости 291
единственности минимального расширения 405- 407
когерентности 340, 341, 385
кумулятивности, рациональности, релевантности 400
Свойство
минимальности 251 монотонности 250 немонотонности 250 непротиворечивости 241, 251 обоснованности 386, 389 поддерживаемости 337 полноты 241 полумонотонности 304 состоятельности 495
Связанная переменная 27, 446
Связки 171
Связная
модель 279
модельная структура 279
Связность 228
Селектор 200
Семантика 237, 239, 242, 255, 283, 285,293,298,321,322,
342,348,357,358,
378, 382, 385-388, 391,393,394,402,406,
414,438,446,452,
482,483,487,489,
494,495,502,647,
650, 677, 680 е-ответных множеств 335, 336
WFSX 340, 342, 393, 396, 648, 678
Рейтера 404, 413
Фиттинга 327, 647, 677 аргументации 489 аргументационных систем 423
возможных миров Крипке 283, 422, 645, 675 допустимости 485, 491, 494, 496, 498, 499 допустимых множеств 483 расширений 651, 681 логики умолчаний 438 логических программ 325 наименьшей модели 326
необходимо обосновывающая 384
обобщенных устойчивых моделей 451, 502
определенных программ 327 ответных множеств 333, 385, 395, 415, 647, 677
отрицания как неуспеха 450 приемлемости 485, 491-494 программы 322
расширенных
логических программ 394
программ 388
с классическим отрицанием 383
с псевдоотрицанием 383
слабой устойчивости 484, 485, 491, 494
и приемлемости 491
со слабым отрицанием 383
со строгим отрицанием 383
теории умолчаний 405, 407, 409, 415
теорий умолчаний 403
умолчаний 407, 413
умолчаний Рейтера 402, 414
устойчивых
моделей 327-329, 385
расширений 440
устойчивых моделей 450, 647, 677
фундированных моделей 405, 487
Семантика, основанная на устойчивых моделях 333
Семантическая
метрика 231
оценка (означивание) 284
сеть 77, 78, 194, 228, 255, 468,
525, 530, 531, 656, 686
теория знания 643, 673
характеризация 454
Семантический
анализ 248
граф 530, 532
Семантический
конструктор 191, 192
конструктор типов 192
Семантическое
дерево 345, 348
ядро 333
Семиотическая система 640, 670
Сервер информационного хранилища 508
Сетевое представление знаний 77
Сети хранилищ данных 509
Сеть
зависимостей 315, 316, 319
обоснования 317
обоснования убеждения 316
Сигнатура 189
спецификации 189, 190, 640, 670
Силлогистика
Аристотеля 633, 663
Пирса 633, 663
Силлогистическая теория Пирса 444
Сильное отрицание 380, 381, 383-
386, 388
Симметричная форма атаки 421
Синтаксическая простота 462
Синтаксическая теория 460
Синтаксический
критерий 462
подход 240, 442
Синтаксическое представление моделей 385
Синтез с использованием частичных деревьев 459
Система
Data Mining 513
KDD 511, 512, 517
Monet 661, 691
PIS 107, 108
SI 261
S2 271
S3 271
S4 271, 282
S5 271, 275
M 276
Система
T 276
Фейса —фон Вригта 276 аксиом 36, 248 аргументации 419, 436, 650, 680
без обучения 522
вывода 516, 645, 675 извлечения
данных 598
знаний 504, 562, 597, 600 индуктивного формирования понятий 520
машинного обучения 504, 519, 598, 603, 655, 659, 685, 689
обнаружения знаний 511
обобщения 661, 691
обучения 601
с учителем 561 оперативной
аналитической обработки 506
обработки транзакций 506 пересматриваемой аргументации 420, 650, 680 поддержки
истинности 645, 675
принятия решений 505- 507, 640, 655, 670, 685 поддержки истинности
(TMS) 313, 314 поддержки истинности, основанная на обосновании (JTMS) 315 поддержки истинности, основанные на предположениях (ATMS) 317
представления знаний 224, 239, 307
продукционных правил 609- 611, 619-621
распознавания по признакам 545
с обучением 522
Система
управления
информацией 510
управления базами данных
(СУБД) 187, 223
управления базой знаний (СУБЗ) 232
Систематическая
процедура 150, 152
таблица 152
Ситуационная близость 231
Ситуационная семантика 242 Скептическая
подмодель 368, 369, 374
ревизия 368, 369
семантика 357, 358, 442, 487, 489
Скептически пересмотренная программа 368, 373
Скептический
агент 391, 399
вывод 435
процесс пересмотра 359
Сколемизация 457, 458
С ко лемовская
стандартная форма (ССФ) 35, 37, 47
функция 32, 102, 164, 165, 178, 204-206, 458
Скорость
загрузки 509
обработки запросов 509
Слабая
устойчивость 494
форма отрицания 381
часть узла 491
Слабо
устойчивое множество гипотез 486, 489
Слабое
отрицание 381, 383
расширенное предположение о замкнутости мира 389 Следствие 403, 528
умолчания 302, 304
ревизии подмодели 365
Сложноструктурированная информация 187, 216 предметная область 201 проблемная область 186, 187, 194, 202, 204, 214, 219, 467, 469, 470, 472, 475, 640, 652, 670, 682
С ложноструктурированность 186 Сложноструктурированный объект 467
Слот 79, 80, 226, 228
Слэш 200
Смысл 234
дизъюнктивной программы 378
программы 382, 387
Событие 557
Совершенная интроспекция 301
Согласующаяся унификация 163 Сокращение 608, 616-618, 620 для приближений 611
Сопоставляемый класс 624, 625, 627, 628, 631
Сопряжение означенной формулы 137
Составное множество 604, 605
Состояние убеждения 391, 397, 399
Состоятельность 294, 350 Специальный SL-вывод 53
Специфичность 443
Список окружения 171
Сравнение мощностей 463
Среда связей 125
Статистика 511
С татистическая гипотеза 530 корреляция 529
Статистический аргумент 440 метод 517
Байеса 464
подход 513
Статическое ограничение 358 Статус 424, 428, 429, 431, 433-435, 437, 441, 502
Статус
аргумента 423, 432, 438, 442 заключений 422
конфликтующих аргументов 440
литеры 346 неуспеха 349 успеха 349
Стационарная
ЛХ^-модель 381, 382, 388
ЛХ^-семантика 381, 383 логика умолчаний 403 модель 382-385, 389 семантика 376, 378, 381, 383, 384, 406, 408, 409, 648, 678
нормальных логических программ 388, 405
расширенных программ 388, 382
с классическим отрицанием 385
с сильным отрицанием 386 умолчаний 405, 407, 414
Стационарное
ЛХ^-расширение 388
расширение 379-382, 408, 409, 414
нормальной логической программы 376, 377
умолчаний 405, 410
Стек 58
Степень
г(Ф) формулы Ф 144 важности 612, 613, 615 возможных ошибок классификации 618
достоверности 600 гипотез 528
зависимости 616 множества 425, 491 модальности 263 означенной формулы 137 подтверждения 439 правдоподобия 445 принадлежности 247, 603
Степень
точности классификации 621
уверенности 617
утверждения 246 Стоимость
классификации 594
предположения литер 464
Стратегии аналитические 117 Стратегия
«поиска по лучу» 601
вычисления 58
поиска 58, 80
редукции подцелей 117, 118
Стрелка Пирса 177
Строгая
импликация 266
основанность 311
таблица 147
Строгие условные связки 261
Строгое
поражение 421
правило вывода 441
Структура аргументов 438, 440, 442
Структурированность 226
Структурированный атрибут 591
Структурно-логическийметод
524, 525
Структурный объект обучения 659, 689
Существенность 623, 626, 631 Схема
аксиомы знания 282, 296
аксиомы негативной интроспекции 283
аксиомы позитивной интроспекции 282
вывода 438
Схемы БД 232
Сходство 521
Сценарий 648, 678
Счетчик правильно распознанных объектов 549
Таблица
атомарно замкнутая 151
Таблица
выполнима 140
замкнутая 138
полная 141
систематическая 151
Тавтология 51, 82, 86, 89, 91, 137, 143, 158, 336
Таксономическая теория с умолчаниями 645, 675
Таксономические теории 308
Теорема
Байеса 473
Кнастера — Тарского 412
Чёрча 180
Эрбрана 40, 121
дедукции 252
Теоретико- аргументационная семантика 422
Теоретико-модельная семантика 422, 423, 465
Теория 397, 409, 489
Демпстера — Шейфера 246, 643, 673
аргументации 419, 420, 436, 496, 501, 502, 650, 651, 681
вероятностей 245, 464, 524, 643, 651, 673, 681
возможностей 247, 643, 673 доказательства 422, 445, 486, 489, 494, 652, 682
нечеткой логики 643, 673
пересматриваемого вывода 440
правдоподобных выводов 633, 663
приближенных множеств 603, 605, 607, 661, 691
принятия решений 464, 657, 687
равенств Кларка 459
с полунормальными умолчаниями 307, 645, 675
свидетельств 247
умолчаний 302, 303, 401, 403, 404, 407-413, 415, 416, 648, 678
Рейтера 402, 406
хорновских дизъюнктов 450
Терм 26-28, 39, 44, 45, 61, 63, 100, 125, 323
Тестовое множество 582 Точка-прототип 535-544
Точность аппроксимации 608- 611, 618, 620
Транзитивное замыкание 279, 327
Транзитивность 307
Трансформация 328, 340, 342, 343, 361, 367
Гельфонда 375, 393, 394 Трехзначная
интерпретация 324, 329, 335
логика 322
модель 325, 329
наименьшая модель 329, 341
семантика
логических программ 397 пополнения 459
Тривиальное объяснение 462
Убеждение 236, 389, 454, 456
Удивительный факт 444
Узел 489
N 492
-атака 491, 498
-защита 496
-потомок 496
Умолчание 302, 338, 340, 349, 352, 376, 402, 403, 408, 409, 423, 498, 499, 502
Универсальная нечеткая шкала 230
Универсальный квантификатор 457
Универсум 145, 148, 151-153, 237, 277, 283
Эрбрана 38-40, 303, 323, 324, 482
Уникальный статус 424
Унификатор 44, 56, 58, 82, 95, 96, 98, 100, 104, 106, 112, 113, 115, 160, 162, 163, 459
Унификация 58, 74, 75, 89, 94, 104, 106, 125, 162, 171- 173, 201, 209, 460, 466
Упорядочение
по Фиттингу 325
по правдоподобию 455, 456
Упорядоченная
бинарная резольвента 50, 51 входная резолюция 54 резольвента 52
У порядоченно-сортная
алебра (OSA) 188-190 сигнатура 189-191, 640, 670
Упорядоченный
дизъюнкт 49, 50
фактор дизъюнкта 49
Управление качеством данных 509
Управляемое обучение 523
Управляющее решение 506
Уравнение фиксированной точки 377, 379, 382, 388, 397
Уровень
абстракции 436
абстракции объяснения 462 ошибки 616
при доказательстве 426 специфичности 462, 465, 466 точности 616
Условие непротиворечивости 338
Условная
вероятность 473, 516, 557 зависимость 456
Условный атрибут 607, 612, 615— 617, 619
Успешное дерево 345
Успешный вывод цели 494
Устойчивая
Л АУ-семантика 382
автоэпистемическая теория 298
Устойчивая
модель 323, 328, 333-335, 382-384, 452, 500
семантика 376, 383, 384
аргументационной системы 438
расширенных программ 382
теория 484, 485
Устойчивое
автоэпистемическое расширение 390
множество 452
расширение 295-297, 299, 300, 382, 390-392, 437
Устойчивость моделей 340
Утверждения 240
Учитель 518, 583
Фаза непротиворечивости 451, 500
Факт 54, 503
Фактор
дизъюнкта 45, 46, 86, 127, 132
определенности 253
Факторизация 460
Факторизация дизъюнктов 82-85,
89
Фасеты 228
Фиксированная
точка 363, 411, 416-418, 422, 425, 430
оператора 328, 344
уравнения 396
Фильтрация 509, 561
Фокусирование 583, 659, 689
Формализм немонотонного вывода 332, 375
Формальная система 248
Формальные связки 257
Формирование понятий 524
Формируемое понятие 519
Формула
а 136, 177, 180
3 136, 177, 180
Формула
д 144, 164, 177, 180
7 144, 177, 180
Байеса 557 выполнимая 29 общезначима в модели 284 общезначима в структуре 284
опровержимая 29 убеждения 396 Фрейм 79, 228, 239, 255 Фундаментальная
версия нормальной логической программы 324
литера 402
объективная литера 338 подстановка 44 программа 345, 353 расширенная логическая программа 349
семантика 442 формула 446 Фундаментальное выражение 39 Фундаментальность 462 Фундаментальные примеры дизъюнктов 39,40,
41, 121
Ф ундаментальный абдуцируемый атом 459 атом 325, 340 пример 44, 163, 325, 442 правил 442 правила программы 339 терм 323 факт 445
Фундированная
и стационарная семантика 403
логика умолчаний 403
модель 330, 336, 341, 342, 350, 416
программы 386 семантика 322, 323, 329, 337, 339, 345, 376, 377, 393, 401, 404, 406, 408
WFSX 323
Фундированная семантика для расширенных логических программ 337, 648, 678, 677
с псевдоотрицанием 335, 337
Функции
неопределенности 245 принадлежности 230
Функциональный символ 178, 237, 303, 323
Функция
V 461
goal-branch 489, 491
goal-culprits 491 важности 615 виновников 491 ограничение 112, 113, 115 означенная полностью 109 принадлежности 247, 564, 566
распределения вероятностей 525
стоимости информации 589, 591, 593
существенности 626, 628 признака 623
Ханойские башни 104
Характеристическое окружение 318
Хорновская абдукция 464
Хорновский дизъюнкт 53, 54, 58, 62, 66, 73, 75, 134, 211, 377, 384, 395, 467, 468, 473
Хранилище данных 509
Хронологический бектрекинг 314
Целевая ветвь 490
Целевое
дерево 490-492, 494 утверждение 54, 55
Целевой
атрибут 569, 570, 601, 608
Целевой
вывод 491
запрос 496
признак 659
узел 490, 491
Целевой признак 689
Цель 54
-атака 490, 493, 496
-защита 490-496
Централизованное хранилище 508
Центральный упорядоченный дизъюнкт 51, 52
Циклическая
отрицательная рекурсия 353
положительная рекурсия 345, 353
рекурсия через отрицание по умолчанию 345
Частичная
двузначная логика 416
устойчивая модель 329, 342, 386, 387, 415, 416
расширенной логической программы 335, 415
Частично
упорядоченное множество 583
устойчивая модель 452, 483
устойчивое множество 452
Четырехзначная логика аргументации 651, 681
Числовой признак 520, 558
Чистая формула 148
Чистые
дизъюнкты 83-85, 88, 89, 97, 98, 120
литеры 83-85, 91, 104, 134
Чувственное знание 234
ТТТирина,
зоны 622, 624, 628
луча 601
Шкала порядка 520
Шкалирование 229
Шкалированный признак 520, 558, 559
Штрих Шеффера 177
Шум 511, 512, 598, 621
Эвристика 459, 462, 465, 599
Эвристическая
оценка 107 дизъюнкта 99 предикатной литеры 100 унификатора 99
функция 105, 106
функция Н1 98, 100, 637, 667 Эвристический
критерий 569 поиск 515
Эвристическое правило 564, 601
Экзамен 559, 560, 603
Экзаменационная выборка 559
Экземпляр протоструктуры 226
Экономия 446
Экспертная система 21, 253, 254, 504, 511, 562, 603, 640, 655, 659, 661, 670, 685, 689, 691
Экспоненциальный взрыв 48
Экстенсионал 217, 218
Экстенсионалы отношений 212 Экстенсиональная составляющая базы знаний 186, 197, 198, 204, 212, 213, 218, 223
Экстенсиональные
БД (ЭБД) 232
представления 232, 233
Элементарная
дизъюнкция 530
конъюнкция 530
Элементарное
высказывание 468 множество 604, 605, 608, 610, 611, 613-615, 621
Энтропия 570
Эпистемическая истина 337
Эпистемическая
логика 258, 397, 400
ЕВ 393
Эпистемический
смысл 389
статус утверждений 238
Эпистемическое
знание 394
состояние 453, 454, 456
агента 456
Эпистемология 440 Эрбрановская
база 335, 417, 482, 488
программы 341
модель 324
Эрбрановская база 39
Эротетическая логика 241, 242
Эффективность алгоритмов 233
Явное
отрицание 330, 332, 334, 346, 375, 383, 393-395, 400- 402, 405, 415, 416
убеждение 453
Ядро 608
Язык
запросов 640, 670
запросов SQL 510
логики первого порядка 516, 529
логических программ 340
логического программирования 331
многоуровневой логики 195
нормальных логических программ 323, 332
представления знаний 187, 194, 204, 220, 529
расширенных логических программ 332
умолчаний 402
Ячейки 228
АВ-структура 437
AS-противоречивая программа 334
AS-противоречивость 335
В-граф 638, 668
ЕВ-логика 393, 399-401
ВВ-теория 398
Р-минимальная 325
Д-интерпретация 39
Ре-факторы знания 643, 673
К-модель пересмотра 456
MRSp 373
РР-полно 336
Р-моделью 283
В-преобразования 121
В-формула 148
Г-расширение 413
Г-семантика умолчаний 415
Г*-оператор 329
Q-расширение 410-415, 416
Q-семантика 413, 414
Q-семантика умолчаний 410, 411
Фр-оператор 362
а-правило 151, 155, 158
«-формула 141, 149, 150, 154, 175
/3-правило 151, 155
/3-формула 141, 149, 150, 155, 175
5-правило 147
(5-формула 143, 146, 149, 150, 177, 178
(5-правило 151
V-формула 32-34
у-правило 147, 151, 180, 184 7-формула 143, 147, 149-151, 177, 178
ор-подграф 531
р-интерпретация 360, 361
р-подграф 531
wf-модель 487-489
w/-приемлемое множество гипотез 489
w/-приемлемость 488 w/-семантика 489, 491, 494
АКО (a kind of) 228
AND-параллелизм 60, 117, 125, 636, 666
AND-параллельная резолюция
108, 112, 115
AND-параллельный алгоритм 109
AND-параллельный вывод 88, 107
AND-резольвирование 98
ATMS 460, 461, 652, 682
Автоэпистемическое расширение 392
C-Prolog 62
С-граф 118-125, 131, 132, 134
CASE-система 216, 640, 670
СЕТ 459
CLS 563
CRS 373, 374
Семантика 386
Data Mining 514, 596, 655, 661, 685, 691
DC-параллелизм 91
DCDP-множества 108, 109
DCDP-параллелизм 91, 636, 666
DCDP-параллельная резолюция 108, 115
DCDP-параллельный алгоритм 109
DCDP-параллельный вывод 88, 91, 98, 107
GL-трансформация 333
GUHA-метод 529, 530, 656, 686
ICF 589, 595
iff-определение 459
IFF-процедура 459
ISA (is an instance of) 228
ISA-иерархия 194, 196, 198, 199, 215, 218, 468, 583, 585, 589, 590, 595
K45 297
KDD 510, 513, 516, 655, 685
Knowledge Discovery in Databases 596
KT 282
KT4 288
KT45 283, 288
LTMS 320
MBR 320
MDDB 508
MNS 366, 367, 369, 374
Modus Ponens 238, 250, 256, 290, 394, 443
Modus Tollens 250
MRP 367, 369, 374
NAF 501
NP-полная задача 329
OL-вывод 51, 52
OL-опровержение 52
OL-резолюция 52
OLAP 506
OLAP-технология 510, 655, 685
OLTP-приложение 507 OLTP-система 506-508 OLAP-система 507
OR-дизъюнкт 98
OR-параллелизм 60, 89, 90, 117, 125, 126, 637, 667
OR-параллельная резолюция 89, 107, 108
OR-параллельный вывод 88, 90, 98
OR-резольвирование 98
OR-связи 90
OSCAR 438
Part-of-иерархия 194,196-199,
468, 469
PSM 342, 343, 416
ROLAP 508
SLD-резолюция 54, 500
SLX 351, 353
SLX-T-вывод 351, 352, 354, 355
с предшественниками 354
SLX-T-неуспех 352
SLX-T-опровержение 351, 352, 354, 355
SLX-TU-вывод 351, 352, 354 с предшественниками 355
SLX-TU-неуспех 352
SLX-TU-опровержение 351, 352, 355
SLX-вывод 353
SLX-опровержение 352
SQL-запросы 507
SUN-дизъюнкт 94-98, 107, 109, 112
Т-дерево 345-350
Т-предшественники 355
TU-дерево 346-350
TU-предшественники 354
WAODAG 465
WFM 341-345, 348, 351, 352, 355, 359, 417, 418
WFS 346, 353, 377
WFSX 345, 347, 348, 351, 353, 354, 356-359, 362-364, 369, 372, 374, 375, 377, 383, 385-387, 394, 395, 399-402, 415, 416
WFSXp 363, 371, 372
WFSX-модель 387
Vagin V. N., Golovina E. Yu., Zagoryanskaya A. A., Fomina M.V. Exact and Plausible Reasoning in Intelligent Systems / Ed. by V. N. Vagin, D. A. Pospelov — M.: Fizmatlit, 2004 — 704 c.
The methods of exact (deductive) and plausible (abductive, inductive) reasoning in intelligent systems are considered. The deductive methods on graph structures are given: the inference on connection graphs, clause graphs and hierarchical structures. The distinct types of parallelism of inference on graph structures are reviewed. The classical modal logics SI, S4, S5 are described. The following types of nonmonotonical modal logics as logics of belief and knowledge, nonmonotonical McDermott’s and Doyle’s logics, autoepistemic Moore’s logics and default Reiter’s logics are proposed. The foundations of the argumentation theory and methods of abductive inference are given. The basic principles of building machine learning systems and decision making ones are considered. The problems of learning «without teacher» and «with teacher» are described. The inductive methods for the case with incomplete information and methods of the rough sets theory are presented.
The monograph is intended for students and postgraduates teaching on «Applied Mathematics and Informatics», «Informatics and Computer Science» and for specialists in areas of Artificial Intelligence, Intelligent Control and Decision Making Systems.
CONTENTS
Preface 10
Introduction 12
EXACT REASONING
Chapter 1. Automatic Theorem Proving 24
Normal and Standard Forms 25
Logical Consequences 35
Herbrand’s Inference Procedure 38
Resolution Principle 41
Linear Resolution 48
Inference in the Prolog Language 54
Chapter 2. Inference on Connection Graphs 81
The Sequential Proof Procedure by the Connection Graph Method 82
Search Strategies in a Connection Graph 86
Advantages of the Inference Procedure on a Connection Graph 87
Parallel Inference on Connection Graphs 88
Modification of Parallel Inference Procedures 97
Comparison of the Efficiency 104
The Parallel Inference System (PIS) for a Connection Graph 107
Chapter 3. Inference on Clause Graphs 116
Types of Parallelism in Deductive Inference 116
The Sequential Inference Algorithm in Color Clause Graphs 119
Parallelism in Deductive Inference on C-Graphs 124
The Efficiency Comparison of Deductive Inference Procedures 134
Chapter 4. Inference on Analytic Tableaux 136
The Method of Analytic Tableaux for Propositional Logic . . 136
The Method of Analytic Tableaux for First-Order Predicate Logic 143
The Method of Analytic Tableaux in Logic Programming . . 153
Chapter 5. Inference in Hierarchical Structures 186
Multi-level Order-Sorted Algebra 186
Multi-layer Logic as a Knowledge Representation Language in Intelligent Systems 194
The System of Simulating a Problem Domain «INFOLOG» . 215
II. ARGUMENTATION AND ABDUCTION
Chapter 6. Data and Knowledge in Intelligent Systems 224
Peculiarities of Knowledge 224
Knowledge as a Justified True Belief 234
Non-Factors of Knowledge 240
Why the Nontraditional Logics Need? 248
Chapter 7. Monotonic Classic Modal Logics 255
First-order Predicate Calculus as a Base of Building Modal Logic 255
Auxiliary Logic as a Base of Transferring to Modal Propositional Calculus 257
Postulates, Main Theorems and Rules of Modal Propositional Calculus 259
SI System 261
S4 System 271
S5 System 275
Semantics of Cripke’s Possible Worlds 276
Chapter 8. Non-Monotonic Modal Logics 281
Belief and Knowledge Logics 281
McDermott’s Non-Monotonic Logics 287
Autoepistemic Logics 292
Default Logics 301
Truth Maintenance Systems 312
Chapter 9. Non-Monotonic Logics in Logic Programming 321
Semantics of Logic Programs: overview 323
WFSX — a Well-Founded Semantics for Extended Logic programs 337
Operation with Inconsistency 356
WFSX, Semantics of Logic Programs with Two Negations and Autoepistemic Logic 375
WFSX and Default Logic 401
Chapter 10. Argumentation Systems and Abductive Reasoning . 419
Defeasible Argumentation Systems 420
Organization of Abductive Inference 444
Abduction and Argumentation in Logic Programming . . . . 481
INDUCTION AND GENERALIZATION
Chapter 11. Basic Principles of Building Learning and DecisionMaking Systems 503
Decision Support Systems 505
Problems of Knowledge Extraction from Databases 510
The Ways of Original Information Representation in
Intelligent Systems 518
Structure-Logic Generalization Methods 523
Chapter 12. The Problem of Learning a Teacher Free 534
The Algorithm Based on the Notion of a Threshold Distance 534
MAXMIN Algorithm 538
The «К middle» Algorithm 541
Recognition with Using the Decision Functions 545
Recognition Based on Rough Features 556
Chapter 13. Learning with a Teacher 558
Setting up the Problem 558
The DREY Algorithm 563
Building a Decision Tree with Using Hamming’s Metrics . . 566
Induction of Decision Trees 569
Modification of the Quinlan’s Algorithm — ID5R 574
The Reduce Algorithm 579
Focusing 583
The EG2 Algorithm 589
Chapter 14. Inductive Methods for the Case of Incomplete
Information 596
Problems of Knowledge Extraction from Databases 596
The Algorithm of Extracting Production Rules from a Large Database 600
Approach with Using RoughSets 603
The Algorithm of Object Recognition in Conditions of
Incomplete Information 621
Bibliography 633
Научное издание
ВАГИН Вадим НиколаевичГОЛОВИНА Елена ЮрьевнаЗАГОРЯНСКАЯ Анастасия АнатольевнаФОМИНА Марина Владимировна
ДОСТОВЕРНЫЙ И ПРАВДОПОДОБНЫЙ ВЫВОДВ ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМАХ
Редактор Е.Ю. АрхароваОригинал-макет: Е.М. Граменицкая
ЛР №071930 от 06.07.99. Подписано в печать 09.04.04.
Формат 60x90/16. Бумага офсетная. Печать офсетная.
Усл. печ. л. 44. Уч.-изд. л. 46. Заказ №
Издательская фирма «Физико-математическая литература»МАИК «Наука/Интерпериодика»
117997, Москва, ул. Профсоюзная, 90
E-mail: fizmat@maik.ru, fmlsale@maik.ru
http: //www.fml.ru
Отпечатано с диапозитивовв ОАО «Чебоксарская типография № 1»428019, г. Чебоксары, пр. И. Яковлева, 15
ISBN 5-9221-0474-8
1
1 + (Ж1 - 2)2 + Щ -4)21 + (жх - 4)2 + (ж2 - 2)2
11
+ 1 + (жх - 4)2 + Щ -1)21 + (жх - 6)2 + Щ - 2)2 '
УДК 519.816
ББК 32.81
В 12
Вагин В. Н., Головина Е. Ю., Загорянская А. А., Фомина М. В. Достоверный и правдоподобный вывод в интеллектуальных системах / Под ред. В.Н. Вагина, Д.А. Поспелова. — М.: ФИЗМАТЛИТ, 2004. — 704 с. - ISBN 5-9221-0474-8.
Рассматриваются методы достоверного (дедуктивного) и правдоподобного (абдуктивного, индуктивного) выводов в интеллектуальных системах различного назначения. Приводятся методы дедуктивного вывода на графовых структурах: вывод на графе связей, графе дизъюнктов, вывод на иерархических структурах. Даются различные виды параллелизма при выводе на графовых структурах. Описываются как классические, так и немонотонные модальные логики: логики убеждения и знания, немонотонные логики МакДермотта и Дойла, автоэпистемические логики Мура, логики умолчания Рейтера. Приводятся основы теории аргументации и методы абдуктивного вывода. Рассматриваются базовые принципы построения систем обучения и принятия решений и даются задачи обучения «без учителя» и «с учителем». Излагаются индуктивные методы для случая с неполной информацией и методы теории приближенных множеств.
Для студентов, аспирантов, обучающихся по направлениям «Прикладная математика и информатика», «Информатика и вычислительная техника» и специальностям «Прикладная математика» (по областям), «Прикладная математика и информатика», а также для специалистов в области искусственного интеллекта, интеллектуальных систем управления и принятия решений.
СОДЕРЖАНИЕ
Предисловие 10
Введение 12