Осипов Г.С. Методы искусственного интеллекта МОСКВА ФИЗМАТЛИТ УДК 519,816 ББК 32,813 О 74 Издание осуществлено при поддержке Российского фонда фундаментальных исследований по проекту 10-07-07014 О с и п о в Г. С. Методы искусственного интеллекта.— М.: ФИЗМАТЛИТ, 2011. — 296 с. — ISBN 978-5-9221-1323-6. Монография содержит изложение основных методов искусственного интеллекта: методов представления знаний, методов моделирования рассуждений, методов моделирования поведения, методов обучения и приобретения знаний интеллектуальными системами. Весь материал излагается с единых позиций. В качестве основных средств используются системы правил в их общем виде и семантические сети; особенное внимание уделено неоднородным семантическим сетям, а также методам планирования и моделирования целенаправленного поведения. Системы правил использованы и для описания этих методов. Описаны методы автоматизации приобретения знаний, для чего применен аппарат неоднородных семантических сетей. Для специалистов, аспирантов и студентов старших курсов университетов, изучающих информатику и информационные технологии. c ФИЗМАТЛИТ, 2011 ISBN 978-5-9221-1323-6 c Г. С. Осипов, 2011 Содержание Предисловие автора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Г л а в а 1. Методы представления знаний . . . . . . . . . . . . . . . . . . . Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1. Формальные языки и формальные системы . . . . . . . . . . . . . . . . 1.1.1. Язык исчисления предикатов первого порядка (23). 1.1.2. Элементы исчисления предикатов первого порядка (25). 1.1.3. Формальные системы (27). 1.1.4. Алгебраические системы (28). 1.1.5. Интерпретация (28). 1.1.6. Выполнимость и истинность (29). 1.2. Системы, основанные на правилах, или продукционные системы . . 1.2.1. Правила для представления знаний (32). 1.2.2. Рабочая память (32). 1.2.3. Стратегии управления (33). 1.2.4. Разрешение конфликтного множества правил (35). 1.2.5. Пример (39). 1.3. Cемантические сети для представления знаний . . . . . . . . . . . . . . 1.3.1. Простые и расширенные семантические сети (43). 1.3.2. Универсум Эрбрана и семантические сети (45). 1.3.3. Неоднородные семантические сети (48). 1.4. Совместность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1. Вектор совместности событий (55). 1.4.2. Матрицы совместности элементов (55). 1.5. Представление знаний в системах фреймов . . . . . . . . . . . . . . . . 1.5.1. Фреймы (57). 1.5.2. Системы фреймов (58). 1.5.3. Основная вычислительная задача в системе фреймов (59). 1.6. Элементы дескриптивной логики . . . . . . . . . . . . . . . . . . . . . . . 1.6.1. Основные понятия (61). 1.6.2. База знаний в дескриптивной логике (61). 1.6.3. Рассуждения в дескриптивной логике (62). 1.6.4. Семейство языков дескриптивных логик (65). 1.6.5. Отображение дескриптивной логики в логику первого порядка (66). 1.6.6. Дескриптивная логика с конкретным доменом (67). 1.6.7. Правила вывода (69). 23 23 23 31 43 54 57 59 Г л а в а 2. Методы автоматизации рассуждений. . . . . . . . . . . . . . . Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1. Автоматизация дедуктивных рассуждений. Поиск доказательств теорем методом резолюций . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1. Скулемовская стандартная форма (76). 2.1.2. Метод резолюций для исчисления высказываний (80). 2.1.3. Метод резолюций для исчисления предикатов первого порядка (82). Примеры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Индуктивные рассуждения . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1. Понятие квазиаксиоматической теории (86). 2.2.2. Немонотонные рассуждения (87). 2.2.3. ДСМ — метод индуктивного вывода (89). 2.3. Аргументационные рассуждения. . . . . . . . . . . . . . . . . . . . . . . . 2.4. Рассуждения на основе прецедентов . . . . . . . . . . . . . . . . . . . . . 2.4.1. Метрики на множестве прецедентов (97). 2.4.2. Согласование прецедентов (102). 2.4.3. Предпочтения и глобальная релевантность (103). 2.4.4. Адаптация прецедентов (104). Г л а в а 3. Методы интеллектуального планирования . . . . . . . . . . . Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1. Хронология методов интеллектуального планирования . . . . . . . . . 3.2. Планирование как поиск доказательства теорем . . . . . . . . . . . . . 3.3. Планирование в пространстве состояний . . . . . . . . . . . . . . . . . . 3.3.1. Постановка задачи STRIPS-планирования (111). 3.3.2. Алгоритм STRIPS (113). 3.3.3. Неполнота алгоритма STRIPS (113). 3.3.4. Вычислительная сложность задачи STRIPS-планирования (116). 3.3.5. Языковые средства описания доменов планирования (118). 3.4. Поиск в пространстве планов . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1. Основная идея (118). 3.4.2. Алгоритм SNLP (121). 3.4.3. Принцип малой связности (122). 3.5. Планирование как задача удовлетворения ограничений . . . . . . . . 3.5.1. Постановка задачи удовлетворения ограничений (122). 3.5.2. Синтез планов на основе техники прямого распространения ограничений (123). 3.5.3. Алгоритм GraphPlan (127). 3.6. Планирование на основе прецедентов . . . . . . . . . . . . . . . . . . . . 3.6.1. Общая схема метода планирования на основе прецедентов (130). 3.6.2. Методы адаптации прецедентов (131). 3.6.3. Некоторые системы планирования, основанного на прецедентах (133). Г л а в а 4. Интеллектуальные динамические системы. . . . . . . . . . Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1. Уточнение постановки задачи. Правила . . . . . . . . . . . . . . . . . . 4.2. Стратегии применения правил. Состояния и траектория системы . 4.3. Управляемые динамические системы, основанные на правилах . . . . . . . 72 72 75 84 86 93 97 107 107 109 110 111 118 122 130 150 150 152 153 155 4.3.1. Возмущения (156). 4.3.2. Управление как способ компенсации возмущений (156). 4.4. Особенности баз знаний динамических систем, основанных на правилах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 4.4.1. Синтез обратной связи по траектории (158). 4.4.2. Стратегия синтеза обратной связи по состояниям (161). 4.5. Элементы теории управляемости интеллектуальных динамических систем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 4.6. Примеры интеллектуальных динамических систем. . . . . . . . . . . . 165 4.6.1. Описание агентов (165). 4.6.2. Функции и формулы (169). 4.6.3. Замыкание состояний. Аксиомы (172). 4.6.4. Крестообразный перекресток равнозначных однополосных дорог (174). 4.6.5. Движение по попутной проезжей части (177). 4.6.6. Стратегия применения правил (179). 4.6.7. Модели корабля, станции и управления. Общее описание (181). 4.6.8. Параметры модели орбитальной станции (183). 4.6.9. Параметры процесса стыковки (184). 4.6.10. Правила замыкания (184). 4.6.11. Правила переходов (185). 4.6.12. Управление. Подцели и зоны управления (186). 4.6.13. Правила выбора цели (186). 4.6.14. Правила управления (187). 4.6.15. Результаты модельного эксперимента (189). Г л а в а 5. Приобретение знаний и машинное обучение . . . . . . . . . Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1. Источники знаний для интеллектуальных систем . . . . . . . . . . . . 5.2. Прямые методы приобретения знаний . . . . . . . . . . . . . . . . . . . . 5.2.1. Имена (194). 5.2.2. Признаки (195). 5.2.3. Виды семантических связей (196). 5.2.4. Типы семантических связей (200). 5.2.5. Метод интервью (204). 5.3. Приобретение знаний из примеров . . . . . . . . . . . . . . . . . . . . . . 5.3.1. Задачи машинного обучения (214). 5.3.2. Поиск (218). 5.3.3. Индуктивный алгоритм построения деревьев решений (TDIDT) (223). 5.3.4. Последовательное покрытие: AQ-обучение (228). 5.3.5. Оценка обучающих алгоритмов (232). 5.3.6. Машинное обучение в языке исчисления предикатов первого порядка (234). 5.4. Искусственные нейронные сети и их обучение . . . . . . . . . . . . . . 5.4.1. Область применения искусственных нейронных сетей (244). 5.4.2. Достоинства и недостатки искусственных нейронных сетей (246). 5.4.3. Персептрон (247). 5.4.4. Процедура обратного распространения (247). 5.4.5. Сети встречного распространения (249). 5.4.6. Сети с обратными связями (251). 192 192 193 194 214 244 Г л а в а 6. Приобретение знаний и анализ текстов . . . . . . . . . . . . . 255 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 6.1. Коммуникативная грамматика русского языка. . . . . . . . . . . . . . . 266 6.1.1. Минимальные синтаксические единицы — синтаксемы (266). 6.1.2. Категориальная семантика лексических единиц (267). 6.2. Реляционно-ситуационный анализ текста . . . . . . . . . . . . . . . . . . 272 6.2.1. Морфологический и синтаксический анализ (272). 6.2.2. Установление значений синтаксем (274). 6.3. Установление значений синтаксем в безглагольных предложениях 279 6.3.1. Выбор объектов, признаков и свойств (279). 6.3.2. Обнаружение правил установления значений синтаксем (283). 6.4. Установление отношений на множестве синтаксем . . . . . . . . . . . . 284 С п и с о к л и т е р а т у р ы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Предисловие автора Настоящая книга, как следует из ее названия, посвящена методам искусственного интеллекта. Мне приходилось не раз заявлять, что искусственный интеллект является экспериментальной наукой. Тем не менее, книга посвящена изложению основ теоретических методов искусственного интеллекта. Побудительные мотивы написать книгу такого свойства возникли у меня давно. Разумеется, в искусственном интеллекте возникли и развивались подходы, вобравшие в качестве своих органических частей методы математической логики, теории алгоритмов, комбинаторики, распознавания образов, когнитивной психологии и лингвистической семантики. Понятно, что по этой причине существует соблазн назвать книгой о методах искусственного интеллекта (как случается иногда) книгу, содержащую изложение всех имеющих то или иное отношение к делу методов других дисциплин. Но тогда возникает вопрос: в чем заключается содержание, собственно, методов искусственного интеллекта? Цель написания книги состояла в ответе на этот последний вопрос. Сегодня искусственный интеллект является достаточно разветвленной наукой и продолжает развиваться. За пятьдесят лет своего существования как науки он накопил значительный арсенал средств и собственных подходов и, поэтому, книга содержит изложение именно основ методов искусственного интеллекта, к коим относятся методы представления знаний, методы моделирования рассуждений, методы моделирования поведения, методы приобретения знаний и, конечно же, не только они. На протяжении всей книги материал излагался, по возможности, с единых позиций при сохранении приемлемого уровня строгости. При этом всюду, где это оказалось возможным, привлекались математические средства, именно в качестве средств изложения. На отбор материала оказали существенное влияние как мое понимание того, что сегодня следует, безусловно, включить в арсенал методов искусственного интеллекта, так и мои интересы. Поэтому, как перечень, так и содержание указанных разделов не претендует на полноту и «равномерность» представления материала, хотя все необходимое для понимания современной проблематики искусственного интеллекта в книге имеется. При изложении способов представления знаний в качестве основных средств использовались системы правил в их общем виде 8 Предисловие автора и семантические сети; особенное внимание уделено неоднородным семантическим сетям. Представление знаний в виде систем правил использовалось и при описании методов планирования и моделирования поведения. Проблематике моделирования рассуждений было уделено не очень много внимания, так как на русском языке ей посвящена обширная литература. Напротив, большое внимание в книге уделено методам планирования целенаправленного поведения, так как в монографической литературе на русском языке эти вопросы освещены, повидимому, впервые. Существенное внимание уделено интеллектуальным динамическим системам и основанным на них методам моделирования целенаправленного поведения. В последних двух главах описаны методы автоматизации приобретения знаний, при этом, по крайней мере в пятой главе, активно применяется аппарат неоднородных семантических сетей. Здесь надо сказать, что в основе части книги лежат изданные в 2009 г. мои «Лекции по искусственному интеллекту», правда существенно переработаные и расширенные. Разумеется, книга содержит и материал, никаким образом в «Лекциях» не представленный. Замечу, что книга совершенно не касается архитектур интеллектуальных систем, их инструментальных средств и прикладных интеллектуальных систем. Даже в тех случаях, когда нельзя было обойтись без кратких сведений о тех или иных системах, речь шла, главным образом, об используемых в них идеях и методах. Архитектуры интеллектуальных систем и их инструментальных средств — обширная и важная область деятельности и она заслуживает отдельной книги, которую следовало бы тогда назвать, например «Интеллектуальные системы» или «Системы искусственного интеллекта». В заключение хотелось бы выразить признательность Вадиму Николаевичу Вагину, который не только прочел рукопись и указал ряд недостатков, но и дал ценные советы по включению дополнительного материала, что, надеюсь, способствовало улучшению книги. Книга предназначена как специалистам, так и аспирантам и студентам старших курсов университетов. Автор Введение Научная дисциплина под названием «искусственный интеллект» входит в комплекс компьютерных наук, а создаваемые на основе ее результатов технологии относятся к информационным технологиям. Основной целью исследований в искусственном интеллекте является получение методов, моделей и программных средств, позволяющих искусственным устройствам реализовать целенаправленное поведение и разумные рассуждения. На этом пути возникает ряд задач, важнейшая особенность которых состоит в том, что, в большинстве случаев, до получения результата решения задачи не известен алгоритм ее решения. Например, точно неизвестно, как происходит узнавание изображения, понимание текста, поиск доказательства теоремы, построение плана действий. Алгоритмы решения таких задач являются, обычно, одним из результатов их решения. В частности, алгоритм доказательства теоремы можно извлечь из ее доказательства. Человек решает задачи такого рода, используя, в числе прочего, свои знания и компетентность. В то же время, у искусственных устройств (например, компьютеров), привлекаемых для решения таких задач, обычно отсутствует достаточный уровень начальной компетентности. Это означает, что одной из основных задач искусственного интеллекта является разработка механизмов переноса компетентности, т. е. обучения искусственных устройств (или, как принято говорить, приобретения знаний). При этом считается, что результаты решения задач и сам ход решения должны быть транспарентны — «прозрачны» для человека и допускать объяснение. Таким образом, важной характеристикой представления результатов и хода решения задач искусственного интеллекта является их, в значительной степени, вербальный характер. Создавая те или иные начальные компьютерные представления и модели, исследователь или разработчик сравнивает их поведение между собой и с примерами решения тех же задач специалистом в соответствующей области, модифицирует их на основе этого сравнения, пытаясь добиться лучшего соответствия результатов. Таким образом, искусственый интеллект представляет собой экспериментальную науку. Для того чтобы модификация программ улучшала результаты их работы, надо иметь разумные исходные представления и модели. Такие 10 Введение представления и модели доставляют психологические исследования, в частности, исследования в области когнитивных наук. Первые исследования, относящиеся к искусственному интеллекту, были предприняты почти сразу же после появления первых вычислительных машин. В 1954 г. американский исследователь А. Ньюэлл (A. Newel) решил написать программу для игры в шахматы. Этой идеей он поделился с аналитиками корпорации «РЭНД» (RAND Corporation (J. Show) и Г. Саймоном (H. Simon), которые предложили Ньюэллу свою помощь. В качестве теоретической основы такой программы было решено использовать метод, предложенный в 1950 г. Клодом Шенноном (К. Shannon), основателем теории информации. Точная формализация этого метода была выполнена Аланом Тьюрингом (Alan Turing). Он же промоделировал его вручную. К работе была привлечена группа голландских психологов под руководством А. Де Гроота (A. de Groot), изучавших стили игры выдающихся шахматистов. Через два года совместной работы этот коллектив создал язык программирования ИПЛ1 — по-видимому первый символьный язык обработки списков. Вскоре была написана и первая программа, которую можно отнести к достижениям в области искусственного интеллекта. Эта была программа «Логик-Теоретик» (1956 г.), предназначенная для автоматического поиска доказательств теорем в исчислении высказываний. Собственно же программа для игры в шахматы, NSS, была завершена в 1957 г. В основе ее работы лежали так называемые эвристики (правила выбора в отсутствии теоретических оснований) и описания целей. Управляющий алгоритм пытался уменьшить различия между оценками текущей ситуации и оценками цели или одной из подцелей. В 1960 г. та же группа на основе принципов, использованных в NSS, написала программу, которую ее создатели назвали GPS (General Problem Solver) — универсальный решатель задач. GPS могла справляться с рядом головоломок, вычислять неопределенные интегралы, решать некоторые другие задачи. Эти результаты привлекли внимание специалистов в области вычислений. Появились программы автоматического поиска доказательств теорем из планиметрии и решения алгебраических задач. Джона Маккарти (J. McCarty) из Стэнфорда заинтересовали математические основы этих результатов и вообще символьных вычислений. В результате в 1963 г. он разработал язык ЛИСП (LISP, от List Processing), основу которого составило использование единого спискового представления для программ и данных, применение выражений для определения функций, скобочный синтаксис. 11 Введение В это же время в СССР, в основном, в Московском государственном университете и Академии наук СССР был выполнен ряд пионерских исследований, возглавленных Вениамином Пушкиным и Дмитрием Поспеловым [1], целью которых было выяснение того, как же, в действительности, человек решает переборные задачи. В качестве полигона для этих исследований были выбраны различные математические игры, в частности, игра «15» и игра «5», а в качестве инструментального метода исследования — регистрация движения глаз или гностическая динамика. Основными методами регистрации движения глаз были электроокулограмма и использование присоски, помещаемой на роговицу. Цель каждой такой игры заключается в переходе от некоторой исходной ситуации к конечной. Переходы осуществляются путем последовательного перемещения фишек по горизонталям и вертикалям на свободное поле. Возьмем, например, игру «5», исходная и конечная ситуации в которой выглядят, соответственно, следующим образом: 2 3 5 1 4 и 1 2 3 4 5 . Оптимальным образом задача решается за шесть ходов, которые соответствуют перемещениям фишек 1, 4, 5, 3, 2, 1. Решение было бы намного сложнее, если бы на первом ходу двигалась бы, например, фишка 2, или на втором ходу — фишка 3. Понятно, что задача может быть представлена в виде дерева (или лабиринта), корнем которого является исходная ситуация, а перемещение каждой фишки приводит в новую вершину. Все ситуации являются при таком подходе вершинами графа или точками на дереве игры и именно они являются теми элементами, из которых строится «модель мира». Два элемента связывает ход — преобразование одной ситуации в другую. Такая модель игры приводит, вообще говоря, к полному перебору или «лабиринту» вариантов и составляет основу так называемой лабиринтной гипотезы решения переборных задач. C другой стороны, анализ экспериментальных данных позволил вычленить два вида изменений параметров гностической динамики в процессе обучения решению задачи. А именно, изменения ряда пара- 12 Введение метров уже при решении второй или третьей из множества однотипных задач у одной из групп испытуемых характеризуется появлением точки излома. К числу этих параметров относятся время решения задачи, количество осмотров условий, количество осмотров цели, общее количество осмотров, плотность осмотра и отношение числа осмотров условий к числу осмотров цели. У другой же группы испытуемых таких изменений не происходит. Так, например, отношение числа осмотров условий задачи к числу осмотров цели у первой группы испытуемых претерпевает излом после решения второй задачи и продолжает уменьшаться при решении числа последующих задач. У второй группы испытуемых уменьшения этого отношения не происходит. То же относится и к времени решения задач. Анализ и других экспериментальных данных подтвердил существование некоторых общих тенденций в динамике обучения решению задач. Есть все основания полагать, что основным фактором, влияющим на временные характеристики этого процесса у первой группы испытуемых, является момент понимания эквивалентности задач или транспозиции (переноса) отношений, сформированных в ходе решения первых задач. Изучение всей совокупности данных позволяет связать формирование подобной системы отношений со временем решения второй и последующих задач — именно тогда формируется то общее, что связывает первую и вторую задачи. Осознание общности и, следовательно, «открытие» эквивалентности происходит при столкновении с третьей задачей. Сопоставление экспериментальных данных свидетельствует также о том, что соотнесение различных ситуаций связано между собой посредством такого когнитивного компонента, как анализ цели. Иначе говоря, анализ исходной ситуации управляется анализом цели и процессом соотнесения исходной и конечной ситуаций. Таким образом, моделирование исходной ситуации является управляемым компонентом, а установленные в конечной ситуации отношения являются регулятором этого моделирующего процесса. Сама же модель исходной ситуации рассматривается с точки зрения ситуации конечной. Эту модель можно также изобразить в виде графа, но вершинами этого графа будут не ситуации, как при использовании «лабиринта» вариантов, а элементы ситуаций. Ребрами, соединяющими вершины, будут не переходы из одной ситуации в другую, а те отношения, которые были выявлены на множестве этих элементов с помощью гностической динамики. Эти соображения составили основу модельной Введение 13 гипотезы решения переборных задач и привели к появлению в 1964 г. языка (и метода) ситуационного управления [2]. К исследованиям в области искусственного интеллекта стали проявлять интерес и логики. В том же 1964 г. была опубликована работа ленинградского логика Сергея Маслова «Обратный метод установления выводимости в классическом исчислении предикатов», в которой впервые предлагался метод автоматического поиска доказательства теорем в исчислении предикатов. На год позже (в 1965 г.) в США появляется работа Дж. А. Робинсона (J. A. Pobinson), посвященная иному методу автоматического поиска доказательства теорем в исчислении предикатов первого порядка. Этот метод был назван методом резолюций и послужил отправной точкой для создания нового языка программирования со встроенной процедурой логического вывода — языка Пролог (Prolog) в 1971 г. В 1966 г. в СССР Валентином Турчиным был разработан язык рекурсивных функций Рефал, предназначенный для описания языков и разных видов их обработки. Хотя он и был задуман как алгоритмический метаязык, но для пользователя это был, подобно ЛИСПу и Прологу, язык обработки символьной информации. В конце 60-х годов появились первые игровые программы, системы для элементарного анализа текста и решения некоторых математических задач (планиметрии, взятия неопределенных интегралов). В возникавших при этом сложных переборных проблемах количество перебираемых вариантов резко снижалось применением всевозможных эвристик и «здравого смысла». Такой подход стали называть эвристическим программированием. Дальнейшее бурное развитие эвристического программирования шло по пути усложнения алгоритмов и улучшения эвристик. Однако вскоре стало ясно, что существует некоторый предел, за которым никакие улучшения эвристик и усложнения алгоритма не повысят качества работы системы и, главное, не расширят ее возможностей. Программа, которая играет в шахматы, никогда не будет играть в шашки или карточные игры. Постепенно исследователи стали понимать, что всем ранее созданным программам недостает самого важного — знаний в соответствующей области. Специалисты, решая задачи, достигают высоких результатов, благодаря своим знаниям и опыту; если программы будут обращаться к знаниям и применять их, то они тоже достигнут высокого качества работы. Это понимание, возникшее в начале 70-х годов, по существу, означало качественный скачок в работах по искусственному интеллекту. Основополагающие соображения на этот счет высказал в 1977 г. на 5-й Объединенной конференции по искусственному интеллекту американский ученый Э. Фейгенбаум (E. Feigenbaum). 14 Введение Уже к середине 70-х годов появляются первые прикладные интеллектуальные системы, использующие различные способы представления знаний для решения задач — экспертные системы. Одной из первых была экспертная система DENDRAL, разработанная в Станфордском университете и предназначенная для порождения формул химических соединений на основе спектрального анализа. В настоящее время DENDRAL [3] поставляется покупателям вместе со спектрометром. Система MYCIN предназначена для диагностики и лечения инфекционных заболеваний крови. Система PROSPECTOR прогнозирует залежи полезных ископаемых. Имеются сведения о том, что с ее помощью были открыты залежи молибдена, ценность которых превосходила 100 миллионов долларов. Система оценки качества воды, реализованная на основе российской технологии SIMER + MIR [4] обнаружила причины превышения предельно допустимых концентрациий загрязняющих веществ в Москве-реке в районе Серебрянного Бора. Система CASNET предназначена для диагностики и выбора стратегии лечения глаукомы и т. д. В настоящее время разработка и реализация экспертных систем превратилась в инженерную дисциплину. Научные же исследования сосредоточены в ряде сформировавшихся и формирующихся направлений; некоторые из них перечислены ниже. 1. Представление знаний. Представление знаний (knowledge representation) — одно из наиболее сформировавшихся направлений искусственного интеллекта. Традиционно к нему относилась разработка формальных языков и программных средств для отображения и описания так называемых когнитивных структур 1). Сегодня к представлению знаний причисляют также исследования по дескриптивной логике, логикам пространства и времени, онтологиям. Пространственные логики позволяют описывать конфигурацию пространственных областей, объектов в пространстве; изучаются также семейства пространственных отношений. В последнее время эта область, из-за тесной связи с прикладными задачами, становится доминирующей в исследованиях по представлению знаний. Например, для задач роботики важно уметь по изображению некоторой сцены восстановить ее вербальное (формальное) описание, для того чтобы далее это описание использовать, например, для планирования действий робота. Объектами дескриптивной логики являются так называемые концепты (базовые структуры для описания объектов в интеллекткальных системах) и, связанные в единое целое, множества концептов (аг1) Структур человеческого сознания, отражающих представление личности о действительности Введение 15 регированные объекты). Дескриптивная логика вырабатывает методы работы с такими сложными концептами, методы рассуждений об их свойствах и выводимости на них. Дескриптивная логика может быть использована, кроме того, для построения объяснительной компоненты базы знаний. Онтологические исследования посвящены способам концептуализации знаний и методологическим соображениям о разработке инструментальных средств для анализа знаний. 2. Автоматизация рассуждений. В основе автоматизации рассуждений лежат различные способы представления знаний. Автоматизация рассуждений, помимо автоматизации дедуктивных рассуждений, включает: автоматизацию индуктивных рассуждений, автоматизацию рассуждений на основе прецедентов (case-based reasoning, CBR), на основе аргументации, на основе ограничений, автоматизацию рассуждений с неопределенностью, рассуждения о действиях и изменениях, автоматизацию немонотонных рассуждений и др. Остановимся кратко на некоторых из них. Рассуждения на основе прецедентов. Здесь главные проблемы — «фокусировка поиска» на использовании прошлого опыта, оценка сходства прецедентов, поиск алгоритмов адаптации прецедентов и технологии визуализации. Пусть задано множество прецедентов как множество пар hСЛУЧАЙ, РЕШЕНИЕi, множество зависимостей между различными атрибутами СЛУЧАЕВ и РЕШЕНИЙ, а также целевая проблема ЦЕЛЬ. Для возникающей новой ситуации («нового случая») требуется найти пару hНОВЫЙ СЛУЧАЙ, ИСКОМОЕ РЕШЕНИЕi, которая решает целевую проблему. Алгоритмы для таких задач основаны обычно на сравнении прецедентов с новым случаем (в какой-либо метрике), с использованием зависимостей между атрибутами случаев и атрибутами решения. Такие зависимости могут задаваться человеком при построении базы случаев, или обнаруживаться в базе случаев автоматически. При поиске решения для целевой проблемы выполняется адаптация уже имеющихся в базе прецедентов решения. Для этой адаптации и используются означенные зависимости. Важной проблемой рассуждений на основе прецедентов (CBR) является проблема выбора подходящего прецедента. Естественно искать подходящий прецедент в той области пространства поиска, где находятся решения сходных проблем. Но как определить, какие именно решения надо считать сходными? Одна из гипотез, называемая гипотезой компактности, состоит в том, что сходство проблем налагает ограничения на сходство соот- 16 Введение ветствующих решений в форме слабой связи между ними. Это обстоятельство и используется для ограничения области поиска решений. Методы CBR уже применяются в множестве прикладных задач — в медицине, управлении проектами, для анализа и реорганизации среды, для разработки товаров массового спроса с учетом предпочтений разных групп потребителей, и т. д. Следует ожидать приложений методов CBR для задач интеллектуального поиска информации, электронной коммерции (предложение товаров, создание виртуальных торговых агентств), планирования поведения в динамических средах, компоновки, конструирования, синтеза программ. Автоматизация рассуждений на основе ограничений. Наиболее интересны здесь задачи моделирования рассуждений, основанных на процедурных динамических ограничениях. Они мотивированы сложными актуальными задачами — например, планированием в реальной обстановке. Решение ищется в области значений, удовлетворяющих заданные ограничения. Под задачей удовлетворения ограничений понимается четверка множеств: множество переменных, множество соответствующих областей переменных, множество ограничений на переменные и множество отношений над областями. Решением проблемы удовлетворения ограничений называется набор значений переменных, удовлетворяющих ограничениям на переменные, такой, что при этом области, которым принадлежат эти значения, удовлетворяют отношениям над областями. Задача удовлетворения динамических ограничений есть последовательность задач удовлетворения ограничений, в которой каждая последующая задача есть ограничение предыдущей. Эти задачи по смыслу близки задачам динамического программирования. Они связаны также с интервальной алгеброй. Немонотонные рассуждения. К немонотонным рассуждениям относятся исследования по логике умолчаний (default logic), по логике «пересматриваемых» (defeasible) рассуждений, логике программ, теоретико-аргументационой характеризации логик с отменами, характеризации логик с отношениями предпочтения, построению эквивалентных множеств формул для логик с очерчиванием (circumscription) и некоторые другие. Такого рода модели возникают при реализации индуктивных рассуждений, например, по примерам; связаны они также с задачами машинного обучения и некоторыми иными задачами. В частности, в задачах моделирования рассуждений на основе индукции источником первоначальных гипотез служат примеры. Если некоторая гипотеза H возникла на основе N положительных примеров (например, экспериментального характера), то никто не может дать гарантии, что в базе данных или в поле зрения алгоритма не окажется Введение 17 N + 1-й пример, опровергающий гипотезу (или меняющий степень ее истинности). Это означает, что ревизии должны быть подвержены и все следствия гипотезы H. Рассуждения о действиях и изменениях. Большая часть работ в этой области посвящена применениям ситуационного исчисления — формализма, предложенного Джоном Маккарти в 1968 г. для описания действий, рассуждений о них и эффектов действий. Для преобразования плана поведения робота в исполняемую программу, достигающую с некоторой вероятностью фиксированной цели, вводится специальное логическое исчисление, основанное на ситуационной логике. Для этой логики предложены варианты реализации на языке pGOLOG — версии языка GOLOG, содержащей средства для введения вероятностей. Активно исследуются логики действий, применение модальных логик для рассуждений о знаниях и действиях. Рассуждения с неопределенностью. В основе таких рассуждений находится использование байесовского формализма в системах правил и сетевых моделях. Байесовские сети — это статистический метод обнаружения закономерностей в данных. Для этого используется первичная информация, содержащаяся либо в сетевых структурах, либо в базах данных. Под сетевыми структурами понимается в этом случае множество вершин и отношений на них, задаваемое с помощью ребер. Содержательно, ребра интерпретируются как причинные связи. Всякое множество вершин Z, представляющее все пути между некоторыми двуми иными вершинами X и Y , соответствует условной зависимости между этими двуми последними вершинами. Далее задается некоторое распределение вероятностей на множестве переменных, соответствующих вершинам этого графа и полученная, но минимизированная (в некотором смысле) сеть называется байсовской сетью. На такой сети можно использовать так называемый байесовский вывод, т. е. для вычисления вероятностей следствий событий можно использовать (с некоторой натяжкой) формулы теории вероятностей. Иногда рассматриваются так называемые гибридные байесовские сети, с вершинами которых связаны как дискретные, так и непрерывные переменные. Байесовские сети часто применяются для моделирования технических систем. 3. Приобретение знаний, машинное обучение и автоматическое порождение гипотез. Работы в области приобретения знаний интеллектуальными системами были и остаются важнейшим направлением теории и практики искусственного интеллекта. Целью этих работ является создание методологий, технологий и программных средств 18 Введение переноса знаний и компетентности в базу знаний системы. При этом в качестве источников знаний выступают эксперты (т. е. высококвалифицированные специалисты предметных областей), тексты и данные, например, хранимые в базах данных. В соответствии с этим, развиваются различные методы приобретения знаний. Машинному обучению в мире уделяется большое внимание. Существует множество методов машинного обучения, среди самых распространенных — методы конструктивной индукции, методы построения деревьев решений, методы ближайших соседей и др. Исходной информацией, например, для построения дерева решений является множество примеров. С каждой вершиной дерева ассоциируется наиболее (на текущем шаге) частотный класс примеров. На следующем шаге этот принцип рекурсивно применяется к текущей вершине, т. е. множество примеров, связанных с текущей вершиной, также разбивается на подклассы. Алгоритм завершает свою работу либо при удовлетворении некоторого критерия, либо при исчерпании подклассов (если они заданы). Активно исследуются методы обучения причинам действий. Иногда говорят о так называемой теории действий, имея в виду ситуационное исчисление в духе Джона МакКарти. В этой теории причины действий и сами действия описываются в виде клаузальных хорновских структур (импликация, левая часть которой есть конъюнкция атомарных формул, а правая состоит из одной атомарной формулы). Далее, методы индуктивного логического программирования модифицируются таким образом, чтобы быть применимыми к поиску таких структур. Когда такие структуры найдены, их можно использовать в языках логического программирования для рассуждений о действиях и их причинах. Многие работы этого направления посвящены «нейронной парадигме». Нейросетевой подход используется в огромном количестве задач — для кластеризации информации из Интернета, автоматической генерации локальных каталогов, представления образов (в рекурсивных нейронных сетях). Среди активно изучаемых в последнее время тем — неоднородные нейронные модели с отношениями сходства. (Heterogeneous Neural Networks with similarity relation). Это отношение сходства определяется на множестве входов и множестве состояний сети, а мерой сходства является скалярное произведение векторов либо эвклидово расстояние (где один вектор — вектор входов, а другой является распределением весов нейронов, описывающих текущую ситуацию). Работы по автоматическому порождению гипотез преследуют, главным образом, формализацию правдоподобных рассуждений, поиск Введение 19 зависимостей причинно-следственного типа между некоторыми сущностями или, в широком смысле, создание познавательных процедур получения нового знания на основе анализа эмпирических данных. В качестве примеров можно привести: порождение гипотез о свойствах химических соединений (прогноз биологических активностей), о возможных причинах дефектов (диагностика) и т. п. 4. Интеллектуальный анализ данных и обработка образной информации. Это сравнительно новое направление, основу которого составляют две процедуры: обнаружение закономерностей в исходной информации и использование обнаруженных закономерностей для предсказания (прогнозирования). Сюда относят задачи выбора информативных данных из большой их совокупности, выбора информативных характеристик некоторого объекта из более широкого множества его характеристик, задачи построения модели, позволяющие вычислять значения выбранных информативных характеристик по значениям других характеристик, и т. п. Значительную часть этого направления составляют исследования по различным аспектам распознавания изображений, в частности, с помощью нейросетей (включая псевдооптические нейросети). Изучаются методы распознавания последовательностей видеообразов на основе декларативного подхода и извлечения семантически значимой информации. К этому же направлению принадлежат исследования по графической технологии программирования в Интернете. 5. Многоагентные системы, динамические интеллектуальные системы и планирование. Это направление, изучающее интеллектуальные программные агенты и их коллективы. Основные задачи в этой области таковы: реализация переговоров интеллектуальных агентов и разработка языков для этой цели, координация поведения агентов, разработка архитектуры языка программирования агентов. Следует подчеркнуть, что со времени появления агентских технологий интерес к ним переместился из сферы академических исследований в сферу коммерческих и промышленных приложений, а идеи и методы агентских технологий весьма быстро мигрировали из искусственного интеллекта в практику разработки программного обеспечения и другие вычислительные дисциплины. С агентскими технологиями тесно связаны задачи планирования поведения, или ИИ-планирования, — способность интеллектуальной системы синтезировать последовательность действий для достижения желаемого целевого состояния. Работы по созданию эффективных методов такого синтеза востребованы и активно ведутся уже около 30 лет. 20 Введение Планирование является основой автоматического управления автономным целенаправленным поведением программно-технических систем. Среди методов ИИ-планирования сегодня выделяют классическое планирование, т. е. планирование в условиях статической среды, динамическое планирование, т. е. планирование в условиях изменения среды и, главное, с учетом такого изменения, иерархическое планирование, т. е. когда действия абстрактного плана высокого уровня конкретизируются более детальными планами нижнего уровня, частичноупорядоченное (или монотонное) планирование, когда план строится на основе частично упорядоченного множества подпланов. При этом общий план (элементами которого являются подпланы), обязан быть монотонным, а каждый из подпланов может быть немонотонным. Добавлю, что монотонность — это такое свойство плана, когда каждое его действие уменьшает различия между текущим состоянием и целью поведения. Например, если план движения робота к цели таков, что каждый его шаг приближает к цели, то план монотонен, но если он наткнулся при этом на препятствие и требуется его обойти, то монотонность плана нарушится. Однако если план обхода препятствия выделить в отдельный подплан и рассматривать таковой как элемент исходного плана, то монотонность последнего восстановится. Активно ведутся работы и в области распознавания планов, построения планировщиков и расширения их возможностей, эвристического планирования с ресурсными ограничениями, управления планированием посредством временной логики, планирования с использованием графов. Рассматриваются подходы к планированию, при которых построение текущих планов выполняется непрерывно для каждого состояния системы в реальном времени. Для этого предусмотрен непрерывный мониторинг объекта управления. Задачи планирования относятся в наше время к весьма важным и перспективным направлениям в искуственном интеллекте. Интеллектуальные динамические системы — результат интеграции интеллектуальных систем с динамическими системами. В общем случае это двухуровневые динамические модели, где один из уровней отвечает за стратегию поведения системы (или, как иногда говорят, носит делиберативный характер), а другой уровень отвечает за решение частных задач, например, реализацию того или иного режима на основе применения математической модели. Для описания временных зависимостей при построении интеллектуальных динамических систем исследуются соответствующие логики. Работы в области систем поддержки принятия решений посвящены моделированию сложных технологических и технических систем, Введение 21 поиску решений в условиях чрезвычайных ситуаций, задачам проектирования систем управления техническими объектами, использованию вероятностных подходов и сценариев при принятии решений, ряду других проблем. 6. Обработка естественного языка, пользовательский интерфейс и модели пользователя. Это направление связано с разработкой систем поддержки речевого общения, c решением проблем понимания естественного языка в интеллектуальных системах, с повышением точности поиска, с задачами сегментации текстов по тематическим топикам, с задачами управления диалогом, с задачами анализа естественного языка, с использованием различных эвристик. Сюда же включаются проблемы дискурса (иногда под дискурсом понимают совокупность речевых актов вместе с их результатами). По прежнему актуальны задачи обучения контекстному анализу текста, задачи приобретения знаний интеллектуальными системами и извлечения информации из текстов. Важнейшей задачей в процессе извлечения информации, как, впрочем, и в процессе приобретения знаний, является минимизация роли эксперта — участника процесса. Важность этого направления нельзя недооценивать. Причина тому — возрастание потоков текстовой информации, существующий социальный заказ на поиск релевантной информации в Интернете, на анализ текстовой информации, на извлечение данных из текстов. Предметом исследований в этом направлении является также динамическое моделирование пользователя, в частности, в системах электронной коммерции, адаптивный интерфейс, мониторинг и анализ пользовательского поведения в Интернете. 7. Когнитивное моделирование. Когнитивное моделирование исследует сущность когнитивных функций в широком смысле этого слова посредством их эмпирического изучения и последующего моделирования. В отличие от подходов, направленных на развитие методов решения трудных задач с априорно отсутствующими алгоритмами решения (таких, как представление знаний, моделирование рассуждений и поведения и ряда других), когнитивное моделирование является процессно-ориентированным. Это означает, что в основе когнитивного моделирования лежат наблюдения над интеллектуальными и аффективными процессами, построение и экспериментальное исследование моделей этих процессов с последующими оценками релевантности как примененных моделей, так и методов моделирования. 22 Введение Работы в области когнитивного моделирования включают исследование церебральных механизмов распространения и обработки информации в процессе реализации когнитивных функций, механизмов категоризации, именования (действий, объектов), механизмов целеобразования и поведения, возникновения и развития когнитивных конфликтов. 8. Нечеткие модели и мягкие вычисления. Это направление представлено нечеткими схемами вывода, «вывода по аналогии», взглядом на теорию нечетких мер с вероятностных позиций, нечеткими представлениями, аналитическими моделями для описания геометрических объектов, алгоритмами эволюционного моделирования с динамическими параметрами, такими, как время жизни и размер популяции, методами решения оптимизационных задач с использованием технологий генетического поиска, гомеостатических и синергетических принципов и элементов самоорганизации. 9. Разработка инструментальных средств. Это обширная сфера деятельности, ставящая перед собой задачи: а) создания программных средств приобретения знаний для автоматизированного переноса знаний и компетентности в базы знаний. При этом в качестве источников могут выступать не только «прямые» их носители — эксперты различных областей, но и текстовые материалы — от учебников до протоколов, а также, разумеется, базы данных (имплицитные источники знаний). Вербализация, т. е. перевод таких источников в эксплицитную форму, составляет содержание методов обнаружения знаний в данных, в том числе различных методов обучения по примерам (включая предобработку больших массивов данных для дальнейшего анализа); б) реализации программных средств поддержки баз знаний; в) реализации программных средств автоматизации рассуждений; г) реализации программных средств поддержки проектирования интеллектуальных систем. Набор таких средств обычно содержит редактор текстов, редактор понятий, редактор концептуальных моделей, библиотеку моделей, систему приобретения знаний от экспертов, средства обучения по примерам и ряд других модулей. Глава 1 МЕТОДЫ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ Введение В этой главе рассматриваются основные методы представления знаний в интеллектуальных системах: системы правил, семантические сети и системы фреймов. Достаточно подробно описаны системы правил, неоднородные семантические сети и отношения в них. В последнем параграфе главы описаны основы дескриптивной логики, возникшей относительно недавно и играющей роль логической основы некоторых методов представления знаний. При изложении основных способов представления знаний активно применяется язык исчисления предикатов первого порядка, атомарные формулы которого использованы для описания составных частей конструкций, используемых для представления знаний. Поэтому прежде чем переходить собственно к методам представления знаний, уделим некоторое внимание исчислению предикатов первого порядка и одной из его интерпретаций. 1.1. Формальные языки и формальные системы Существуют работы, где язык исчисления предикатов рассматривается как язык представления знаний, однако это не главное его назначение и мы будем использовать его, главным образом, в качестве средства описания элементов конструкций других языков, более ориентированных на представление знаний. Опишем вначале основные конструкции языка исчисления предикатов первого порядка и их интерпретацию в духе работ [5, 6]. 1.1.1. Язык исчисления предикатов первого порядка. Основные конструкции языка L — языка исчисления предикатов первого порядка — называются формулами. Введем вначале алфавит языка L. Алфавит включает: 1. Счетное множество букв x, y, ..., z, которое будем называть множеством символов для обозначения переменных языка. 24 Гл. 1. Методы представления знаний 2. Счетное множество букв a, b, ..., c, которое будем называть множеством символов для обозначения констант языка. 3. Счетное множество прописных букв P , Q, ... для обозначения предикатных символов языка. 4. Счетное множество строчных букв f , g, ... для обозначения функциональных символов. 5. Символы для логических связок → (влечет), ¬ (не). 6. Символ для квантора ∀ (для любого). 7. ( , ) — скобки. Предикатные буквы P , Q, ... и функциональные буквы f , g, ... могут быть n-местными или, как еще говорят, n-арными. Иначе говоря, с каждым предикатным или функциональным символом будем связывать некоторое натуральное число, равное числу его аргументов. Определим теперь понятие формулы или правильно построенного выражения языка исчисления предикатов первого порядка. Формулы языка определяются индуктивным образом. Начнем с определения терма языка: 1. Символ для обозначения переменной есть терм. 2. Символ для обозначения константы есть терм. 3. Если t1 , t2 , ... , tm , ..., tn — термы, а f и g — функциональные символы арности m и n соответственно, то f (t1 , t2 , ..., tm ) и g(t1 , t2 , ... , tn ) также термы. 4. Если t1 , t2 , ..., tm , ... , tn — термы, а P и Q — предикатные символы арности m и n соотвественно, то P (t1 , t2 , ..., tm ) и Q(t1 , t2 , ... , tn ) — атомарные формулы. 5. Атомарная формула есть формула. 6. Если A, B — формулы, то A → B, ¬A, ¬B — формулы. 7. Если A — формула, то ∀xA — формула. 8. Всякое слово в алфавите языка является формулой тогда и только тогда, когда это можно показать с помощью конечного числа применений пп. 1–7. Таким образом, мы завершили одно из возможных определений языка исчисления предикатов первого порядка. Существуют и другие определения, однако язык, определенный нами, является полным, т. е. в нем выразимо все то, что выразимо в языках (исчисления предикатов первого порядка), определенных любым иным способом. Можно, например, определить логические связки ∧, ∨ (читается и и или), выразив их через связки → и ¬: 1. A ∧ B = ¬(A → ¬B), 2. A ∨ B = ¬A → B. 1.1. Формальные языки и формальные системы 25 Квантор существования ∃ (существует) также выражается через квантор всеобщности и отрицание: ∃ xA(x) = ¬∀x¬A(x). Разумеется, ∧, ∨ и ∃ с тем же успехом можно было бы включить в язык в качестве трех дополнительных символов. Есть, однако, некоторые преимущества в том, чтобы сохранить список символов как можно более коротким. Например, индуктивные определения и доказательства по индукции оказываются в этом случае короче. В дальнейшем нам придется использовать понятия свободного и связанного вхождения переменной в формулу. Вхождение переменной x в формулу A называется связанным, если эта переменная следует за кванторами существования или общности, предшествующими формуле A и находится в области их действия. В противном случае вхождение переменной называется свободным. Если в формуле A отсутствуют свободно входящие в нее переменные (т. е. либо все переменные связаны, либо отсутствуют), то формула называется замкнутой формулой или предложением. Атомарную замкнутую формулу будем называть фактом. В том случае, если язык состоит только лишь из предложений, то он называется пропозициональным языком, а буквы A, B, . . ., входящие в формулы этого языка — пропозициональными переменными. 1.1.2. Элементы исчисления предикатов первого порядка. Рассмотрим вкратце основные понятия исчисления предикатов первого порядка. Введем вначале аксиомы исчисления предикатов: 1. A → (B → A). 2. (A → (B → C)) → ((A → B) → (A → C)). 3. (¬A → ¬B) → (B → A). Однако исчисление предикатов первого порядка не исчерпывается приведенными выше тремя аксиомами и правилами вывода. Смысл кванторов устанавливается еще двумя аксиомами и одним правилом вывода. 4. Аксиома генерализации: (∀x)((A → B) → (A → (∀x)B)), где x не является свободной переменной в A; 5. Аксиома спецификации: ∀tA(t) → A(x), где t — терм, а x не содержится в t в качестве свободной переменной. Правила вывода: 1. Правило отделения: если выводимо A и выводимо A → B, то выводимо B. 26 Гл. 1. Методы представления знаний 2. Правило подстановки: в любую аксиому на место любой пропозициональной переменной можно подставить любое предложение, предварительно переименовав пропозициональные переменные подставляемого предложения так, чтобы они не совпадали с пропозициональными переменными аксиомы. Если в аксиомах 1–3 все переменные являются пропозициональными, то такое исчисление называется пропозициональным исчислением или исчислением высказываний. Рассмотрим пример вывода в исчислении высказываний. Возьмем, например, три закона логики, сформулированные Аристотелем и называемые постулатами Аристотеля. В языке исчисления высказываний они записываются следующим образом. Пусть P — пропозициональная переменная исчисления высказываний: Постулат 1. P → P . Постулат 2. P ∨ ¬P . Постулат 3. ¬(P ∧ ¬P ). Первый из постулатов Аристотеля — это так называемый закон тождества; второй — закон исключенного третьего и третий — закон противоречия. Докажем один из постулатов, например P → P . Используем аксиому 1 и правило подстановки (вместо B подставим P → P : получим A → ((P → P ) → A)). Из аксиомы 2: (A → ((P → P ) → C)) → ((A → (P → P )) → (A → → C)). Вместо A, C подставим P : (P → ((P → P ) → P )) → ((P → (P → P )) → (P → P )) . {z } | {z } | X Y Применим правило отделения: та часть последней формулы, которая обозначена через X, является аксиомой, т. е. выводима, тогда, в силу правила отделения, выводима формула, обозначенная через Y . Теперь применим правило отделения к Y : (P → (P → P )) → (P → P ) {z } | {z } | X′ Y′ и, рассуждая таким же образом, получим, что Y ′ выводима. Таким образом, закон тождества Аристотеля является теоремой исчисления высказываний. Действуя таким же образом, можно доказать, что второй и третий постулаты Аристотеля также являются теоремами исчисления высказываний. 1.1. Формальные языки и формальные системы 27 3. Правило обобщения: если выводимо A, то выводимо ∀xA, где x — свободная переменная в A. Аксиомы 1–5 исчисления предикатов первого порядка (или математической логики первого порядка) называются логическими аксиомами, они описывают логические законы, справедливые всегда, независимо от предметной области. Если же к аксиомам 1–5 добавить еще и аксиомы, опсывающие некоторую предметную область, например, арифметику или теорию групп, то получим формальную теорию — формальную арифметику или формальную теорию групп, соответственно. При этом, разумеется, в алфавит языка следует ввести спецальные функциональные символы, такие как сложение в арифметике или умножение в теории групп. Словосочетание «первый порядок» относится исключительно к тому обстоятельству, что кванторы ∀ и ∃ действуют на некотором множестве U . Логика второго порядка разрешает одному из кванторов действовать на подмножествах множества U и на функциях из степеней U в U . Логика третьего порядка может использовать кванторы по множествам функций и т. д. Уже из этих разъяснений видно, что в логиках более высоких порядков (как говорят, более сильных логиках) используются и некоторые нелогические понятия, такие как множество. Некоторым обобщением понятия исчисления является понятие формальной системы. 1.1.3. Формальные системы. Будем полагать, что если заданы некоторый алфавит, множество формул, множества аксиом и правил вывода, то тем самым задана некоторая формальная система. Иначе говоря, формальная система F представляет собой совокупность следующих объектов: F = hT , P , A, Пi, T — счетное множество символов и операций над ними; P — множество правил грамматики, применение которых к символам из T позволяет строить правильно построенные формулы; A — множество аксиом; П — множество правил вывода. Если среди аксиом имеются нелогические аксиомы (аксиомы, описывающие некоторую предметную область), то формальная система называется формальной теорией. Выводом (или доказательством) в формальной системе называется конечная последовательность правильно построенных формул A1 , A2 , ..., An , таких что каждая из формул последовательности либо является аксиомой, либо получена из предыдущих формул последовательности с использованием аксиом и правил вывода. Формула An 28 Гл. 1. Методы представления знаний в этом случае называется выводимой формулой (или теоремой) формальной системы F . 1.1.4. Алгебраические системы. Введем теперь некоторые алгебраические понятия, которые окажутся полезными в дальнейшем. Определение 1.1.4. n-арным отношением R на M называется подмножество M n ; записывается так: R ⊆ M n . Пусть задано непустое множество — универсум M . Упорядоченную тройку S = hM , G, Ri, где универсум M называется основным множеством, G — множество n-местных функций из M n в M , а R — семейство n-арных отношений на M , будем называть алгебраической системой [7]. Если в определении алгебраической системы S положить R = ∅, то такая алгебраическая система называется алгеброй, а если G = ∅, то тогда алгебраическая система называется моделью. Иногда удобнее использовать понятие многосортной или многоосновной алгебраической системы, полагая существование нескольких основных множеств M1 , M2 ,. . ., Mn вместо одного множества M . Тогда функции из G и отношения из R становятся многосортными, т. е. с каждым местом в списке аргументов функции или отношения связывается некоторый сорт i, задаваемый, например, индексом одного из множеств из Mi (i = 1, 2, ..., n), а сами функции и отношения определяются на декартовых произведениях множеств из числа основных множеств. 1.1.5. Интерпретация. Пусть заданы формальная система F с языком L и универсум M . Зададим отображение I, которое всякому константному символу a языка L системы F ставит в соответствие некоторый элемент m ∈ M , всякому n-местному предикатному символу P — n-местное отношение R ⊆ M n , а всякому m-местному функциональному символу f — m-местную функцию G: M n → M . Тогда I называется интерпретирующим отображением, а алгебраическая система S = hM , G, Ri — моделью или интерпретацией формальной системы F . Элементы множества M , функции и отношения, соответствующие константным, функциональным и предикатным символам языка L в смысле отображения I, называют иногда интерпретациями константных, функциональных и предикатных символов языка L соответственно. При определенных обстоятельствах можно говорить и о моделях языка. Моделью языка L называется пара hM , Ii, где M и I — уже использовавшиеся только что универсум и интерпретирующее отображение. Заметим, что при данном универсуме M для символов языка L существует много различных интерпретаций. 1.1. Формальные языки и формальные системы 29 1.1.6. Выполнимость и истинность. Рассмотрим теперь вопрос об истинности или ложности формул языка L в некотором возможном мире, в качестве которого будет выступать модель S. В полной мере этот вопрос оказывается не таким уж простым. Например, не существует регулярного метода, позволяющего по произвольной формуле языка L решать, истинна она или ложна в алгебраической системе hN , +, ∗, σ, 0i, где N — множество целых чисел, +, ∗ и σ — операции сложения, умножения чисел и получения следующего числа, соответственно; 0 — константа нуль (которую можно рассматривать как нульместную функцию). Заметим попутно, что эта алгебраическая система называется стандартной моделью арифметики. Чтобы определить понятие «Предложение (формула) A истинно в модели S», мы должны вначале разбить S на меньшие части и решить этот вопрос для каждой из полученных частей. Если A имеет вид ¬B или B ∧ C, то ясно, что вначале надо решить вопрос об истиности B и C. С другой стороны, если A имеет вид ∀xB, то такое рассуждение не проходит, так как B может и не быть предложением, поэтому бессмысленно спрашивать, истинно B в S или ложно. На самом деле, предполагается, что значения всякой свободной в формуле B переменной пробегают множество M . Поэтому имеет смысл вопрос: является ли формула B истинной в модели S, если значением свободной переменной является m? Если для каждого m из M ответ на этот вопрос окажется утвердительным, то можно говорить, что A истинно в S. Если же в M найдется элемент m, для которого ответ будет отрицательным, то будем говорить, что A ложно в S. Однако если B имеет вид ∀yC, придется вновь преодолевать те же трудности. Поэтому определение истинности формул в модели является индуктивной процедурой, основанной на индуктивном определении формулы языка L из п. 1.1.1. Напомним, что интерпретирующее отображение I всякому константному символу a языка L ставит в соответствие некоторый элемент m ∈ M , всякому n-местному предикатному символу P — n-местное отношение R ⊆ M n , а всякому n-местному функциональному символу f — n-местную функцию G: M n → M ; иначе говоря, I(a) = m, I(P ) = R и I(f ) = G, соответственно. Итак, пусть P — n-местный предикатный символ, x1 , x2 , ..., xn — свободные переменные. Будем говорить, что: (i) атомарная формула P (x1 , x2 , ..., xn ) выполняется в модели Ω, если найдется подстановка a1 /x1 , a2 /x2 ,. . ., an /xn , где a1 , a2 ,. . ., an — константы, такая что (I(a1 ), I(a2 ), ..., I(an )) ∈ I(P ); (ii) формула ∀x1 ∀x2 ... ∀xn P (x1 , x2 , ..., xn ) истинна в модели Ω если формула P (x1 , x2 , ..., xn ) выполняется на любой n-ке a1 , a2 , ..., an ; 30 Гл. 1. Методы представления знаний (iii) формула ¬A истинна в модели Ω, если A — ложна; (iv) формула A → B истинна в модели Ω, если A — истинна и B — истинна, либо A — ложна и B — ложна, либо A — ложна, а B — истинна (в модели Ω); (v) формула может быть истинной только в силу пп. (i)–(iv). В случае, когда A не истинна в Ω, мы говорим, что A ложна в Ω или что Ω — модель предложения ¬A. Если дано множество предложений Σ такое, что Ω является моделью каждого из предложений σ ∈ Σ, то Ω — модель этого множества. Предложение, истинное в каждой модели языка L, называется истинным. Рассмотрим простой пример. Пусть в языке L определен трехместный предикатный символ «СЕМЬЯ». Интерпретирующее отображение I таково, что ставит в соответствие этому предикатному символу трехместное отношение «СЕМЬЯ», т. е. I(«СЕМЬЯ») = «СЕМЬЯ». Поскольку это отношение конечно, то можно задать его в виде таблицы, каждая строка которой содержит имена членов одной семьи. Т а б л и ц а 1.1 Мать Отец Ребенок Аня Петя Вася Галя Женя Коля Тогда модель включает универсум M , состоящий из имен членов всех семей и трехместное отношение «СЕМЬЯ». Если мы желаем узнать что-либо о выполнимости формулы «СЕМЬЯ»(x, y, z) в построенной таким образом модели, то, рассматривая различные наборы значений (из универсума M ) переменных x, y, z, увидим, что в таблице имеется, например, строка (Аня, Петя, Вася) и отсутствует строка (Аня, Петя, Коля). Это означает, что формула «СЕМЬЯ»(x, y, z) выполнима в построенной модели, а именно, выполняется на тройках (Аня, Петя, Вася) и (Галя, Женя, Коля) и не выполняется, например, на тройке (Аня, Петя, Коля). Отсюда следует, в частности, что предложение ∀x ∀y ∀z«СЕМЬЯ»(x, y, z) ложно, а, к примеру, предложение ∃x∃y∃z«СЕМЬЯ»(x, y, z) истинно в построенной модели, Завершая этот раздел, вспомним о том, что язык L — язык исчисления предикатов первого порядка и на нем записаны аксиомы этого 1.2. Системы, основанные на правилах, или продукционные системы 31 исчисления (п. 1.1.2), а для формул этого языка определены правила вывода и на них распространяется понятие выводимости из п. 1.1.3. Одно из основных утверждений, устанавливающих тесную связь между понятиями выводимости в исчислении предикатов первого порядка и истинности, приведено ниже. Теорема 1.1.1 (теорема Гёделя (о полноте)). Произвольное предложение языка L выводимо в исчислении предикатов первого порядка тогда и только тогда, когда оно истинно. 1.2. Системы, основанные на правилах, или продукционные системы Перейдем теперь собственно к методам представления знаний, а именно, к методам, в основе которых лежат системы правил. Если рассматривать многие интеллектуальные системы, то на самом высоком уровне их описания можно выделить следующие компоненты: рабочую память (или, как иногда говорят, глобальную базу данных), множество правил, выполняющих некоторые действия (во внешней среде и в рабочей памяти) и некоторую стратегию управления, в соответствии с которой происходит выбор правил для применения и выполнение действий. Правила применяются к рабочей памяти. В состав каждого правила входит некоторое условие, которому текущее состояние рабочей памяти может удовлетворять, либо нет. Правило может быть применено, если условие выполнено. Применение правила изменяет состояние рабочей памяти. Стратегия управления выбирает, какое именно правило из числа применимых следует использовать, и прекращает вычисления, когда состояние рабочей памяти удовлетворяет целевому условию. С точки зрения архитектуры такой подход обладает следующими существенными отличиями от архитектур традиционных программных систем: — рабочая память доступна всем правилам; — отсутствуют вызовы правил из других правил; — отсутствует априорно заданный алгоритм решения задачи (т. е. порядок выполнения правил) — алгоритм решения задачи является одним из результатов ее решения; — данные и результаты вычислений становятся доступными правилам только через рабочую память. Особенности организации систем, основанных на правилах, как легко видеть, обеспечивают, в значительной степени, модульный их характер и изменения в рабочей памяти, множестве правил или в стратегии управления могут проводиться относительно независимо. Эти свойства 32 Гл. 1. Методы представления знаний систем, основанных на правилах, хорошо согласуются с эволюционным характером разработки больших программных систем, предполагающих использование значительных объемов знаний. Перейдем теперь к более детальному изложению основных идей систем, основанных на правилах, следуя, главным образом, работам [8, 9]. 1.2.1. Правила для представления знаний. Определение 1.2.1. Правилом называется упорядоченная тройка множеств П = hC, A, Di, где C — условие правила; A — множество добавляемых правилом фактов; D — множество удаляемых правилом фактов. Как и было обещано в начале главы, для записи элементов основных конструкций языка представления знаний (в данном случае, языка правил), т. е. условия C правила П, множеств A и D будем (хотя это не обязательно) использовать язык исчисления предикатов первого порядка. А именно, будем полагать, что множества C, A и D суть множества атомарных формул языка исчисления предикатов первого порядка. Напомним здесь, что в п. 1.1.1 фактами были названы атомарные формулы исчисления предикатов первого порядка без свободных переменных. Что касается правил, то в них атомарные формулы со свободными переменными из множеств C, A и D превращаются в факты в процессе применения правил, т. е. в результате выполнения соответствующих подстановок (m1 , m2 , ..., mn ) на места свободных переменных (x1 , x2 , ..., xn ) и проверки для каждой формулы P (x1 , x2 , ..., xn ) из C выполнения условия (m1 , m2 , ..., mn ) ∈ I(P ), т. е. выполнимости в текущем состоянии рабочей памяти. Определение 1.2.2. Будем говорить, что условие правила выполнено, если в текущем состоянии рабочей памяти выполняется каждая из атомарных формул условия. Определение 1.2.3. Правило применимо к состоянию рабочей памяти, если его условие выполнено в этом состоянии. 1.2.2. Рабочая память. Рабочая память должна быть согласована с множеством правил. Согласование выполняется следующим образом: пусть П — некоторое множество правил; C, A и D — объединения условий, множеств добавляемых фактов и множеств удаляемых фактов по всему множеству П. M — множество индивидов предметной области. Тогда для каждой n-местной атомарной формулы P (x, y, ..., z) ∈ C ∪ A ∪ D рабочая память должна содержать n-местное 1.2. Системы, основанные на правилах, или продукционные системы 33 конечное отношение I(P ) ⊆ M n , где I — интерпретирующее отображение (рис. 1.1.) Рис. 1.1. Стрелками показано отображение I; R1 , R2 , R3 — отношения Таким образом, рабочая память должна содержать множество конечных отношений или таблиц, каждая из которых является интерпретацией одного из предикатных символов, входящего в объединенное множество условий, списка добавляемых или удаляемых фактов. Заметим здесь, что правило можно рассматривать как действие или команду исполнительному органу, которая может разворачиваться в последовательность действий. Добавляемые и удаляемые правилом факты называются эффектом действия и выполняют модификацию модели мира, т. е. формируют в рабочей памяти системы отражение тех изменений в мире, которые произошли после выполнения действий, предписанных правилом. Правила могут также рассматриваться как средство пополнения знаний о мире, например, в результате обучения. 1.2.3. Стратегии управления. Стратегия управления предназначена для организации процесса вычислений. В самом общем виде ее можно описать следующим образом. Шаг 1. Выбрать очередное правило из множества правил. Шаг 2. Проверить выполнимость условия правила в текущем состоянии рабочей памяти. Шаг 3. Если условие правила выполнено, поместить правило в конфликтное множество. Шаг 4. Если множество применимых правил исчерпано, выбрать какое-либо правило из конфликтного множества правил и применить его. Шаг 5. Перейти к шагу 1. Условиями остановки являются пустое конфликтное множество, либо достижение целевого состояния. Приведенная стратегия порождает недетерминированный процесс, поскольку она не устанавливает, каким образом следует выбирать правило из множества применимых правил. 2 Г. С. Осипов 34 Гл. 1. Методы представления знаний В большинстве случаев информации, доступной стратегии управления, недостаточно для точного решения задачи выбора. Поэтому работу систем, основанных на правилах, можно охарактеризовать как процесс поиска, при котором правила подвергаются испытанию до тех пор, пока не обнаружится, что некоторая их последовательность порождает состояние рабочей памяти, удовлетворяющее целевому условию. При этом часто используются различные эвристики, сокращающие перебор. (Эвристикой будем называть правило выбора без достаточных теоретических оснований.) Вид эвристики обычно диктуется условиями задачи. Позже мы обсудим различные эвристики, а пока уточним, что стоит за словами «Проверить выполнимость условия правила» и «Применить правило». В п. 1.2.2 было установлено соответствие между множеством атомарных формул условий, множеством добавляемых и удаляемых фактов из правил и множеством отношений рабочей памяти. Проверка выполнимости условия выбранного правила состоит в том, что в каждую атомарную формулу P (x, y, ..., z) условия подставляются значения из текущего состояния рабочей памяти, а именно, из таблицы, соответствующей P (x, y, ..., z) в смысле отображения I. При этом обычно известно и соответствие столбцов таблицы I(P ) сортам аргументов формулы P (x, y, ..., z) (в многосортном языке). Если существует подстановка σ = (m1 , m2 , ..., mn ), такая что σ ∈ ∈I(P ), то формула условия P (x, y, ..., z) выполняется на этой подстановке. Если существуют подстановки σ1 , σ2 , ..., σk , такие что на местах одноименных свободных переменных всех формул условия оказываются одинаковые значения и при этом все формулы условия оказываются выполнены, то условие правила выполнено в текущем состоянии рабочей памяти. Что касается применения правила, оно состоит в том, что в текущее состояние рабочей памяти добавляются факты из множества добавляемых фактов правила и удаляются факты из множества удаляемых фактов. Происходит это следующим образом. Если установлена выполнимость условия некоторого правила, свободные переменные в формулах условия, как было сказано выше, приобретают значения из записей текущего состояния рабочей памяти. При этом происходят и замены свободных переменных в формулах из множеств A и D теми значениями, которые были подставлены на места одноименных свободных переменных в формулы условия. Для тех формул из множества A, которые в результате этого процесса превратились в факты, значения, находящиеся на местах свободных переменных, дописываются в таблицы, соответствующие этим формулам в смысле отображения I, 1.2. Системы, основанные на правилах, или продукционные системы 35 для формул же из множества D, которые также в результате этого процесса превратились в факты, значения, находящиеся на местах свободных переменных, удаляются из таблиц, соответствующих этим фактам в смысле отображения I. В дальнейшем тройку: множество правил + рабочая память + + стратегия управления будем называть системой, основанной на правилах. Состоянием системы, основанной на правилах, будем называть состояние рабочей памяти вместе с множеством применимых правил. Системы, основанные на правилах, являются важным классом систем, основанных на знаниях. 1.2.4. Разрешение конфликтного множества правил. Определение 1.2.4. Конфликтным множеством называется множество правил, применимых к некоторому состоянию. Разрешение конфликтного множества, т. е. выбор одного правила из множества применимых, достигается использованием тех или иных стратегий управления. Можно выделить два основных типа стратегий управления [8, 10]: безвозвратный и пробный. В стратегиях безвозвратного типа выбранное правило исполняется необратимо, без возможности пересмотра в дальнейшем. В пробном режиме резервируется возможность возврата к исходному состоянию для испытания другого правила. Среди пробных режимов управления различаются режим с возвращением, где запоминается точка возможного возврата, и управление с поиском на графе, где происходит запоминание результатов применения нескольких цепочек правил с дальнейшим поиском на графовых структурах. Безвозвратные стратегии управления используются, главным образом, в коммутативных системах правил, поскольку, как мы покажем ниже, в коммутативных системах применение неудачного правила отодвигает, но не блокирует завершение вычислений. Определение 1.2.5. Последовательность правил называется применимой, если условие каждого правила последовательности выполняется в состоянии, полученном в результате применения предыдущего правила. Определение 1.2.6. Множество П правил коммутативно, если а) каждое из правил множества правил П, применимое к состоянию S рабочей памяти D, применимо к состоянию S 1 рабочей памяти D, полученному при выполнении любого применимого правила из П к S; 2* 36 Гл. 1. Методы представления знаний б) целевое состояние, удовлетворяющееся некоторым состоянием S рабочей памяти D, удовлетворяется состоянием, полученным из S выполнением любого применимого правила из П; в) в любой применимой последовательности перемена мест правил не приводит к изменению результирующего состояния. Теорема 1.2.1. Если существует последовательность π правил из множества П, переводящая начальное состояние S0 рабочей памяти в целевое состояние S1 , и множество П коммутативно, то любая иная применимая последовательность π ∼ правил из П может быть продолжена таким образом, что будет переводить состояние S0 в состояние, удовлетворяющее целевому состоянию S1 . Д о к а з а т е л ь с т в о. Построим последовательность hπ, π ∼ i. В силу п. а) определения 1.2.6 эта последовательность будет применимой, а в силу п. б) того же определения целевое состояние будет удовлетворяться результирующим состоянием этой последовательности. ∼ Переместим правило П∼ 1 из последовательности π на место первого правила П1 последовательнсти π так, чтобы правило П1 оказалось вторым в этой последовательности. Правило П∼ 1 окажется применимым к S0 в силу условия теоремы, а правило П1 — применимым к S1 в силу п. а) определения 1.2.6. В силу п. в) того же определения такая перестановка не изменит результирующего состояния последовательности. Продолжая выполнение перестановок до исчерпания правил последовательности π ∼ , получим последовательность hπ ∼ , πi, которая окажется применимой и удовлетворяющей целевое состояние S1 . Тем самым, теорема доказана. ПРИМЕЧАНИЕ. Фраза «состояние X удовлетворяет состояние Y » означает, вообще говоря, что формулы состояния Y выполняются в состоянии X; в нашем же случае, когда для простоты под состоянием понимается множество фактов, приведенная выше фраза означает, что Y ⊆ X. Из доказанной теоремы вытекает важное следствие о полноте безвозвратных стратегий в коммутативных системах правил. Это означает, что в коммутативных системах правил можно использовать безвозвратные стратегии без риска потерпеть неудачу. Таким образом, коммутативные системы правил представляют собой важный класс правил, обладающий полезными свойствами. Стратегии с возвращениями. Стратегия с возвращениями основана на том, что запоминается всякое состояние, в котором сформировано конфликтное множество правил. Из этого конфликтного множества 1.2. Системы, основанные на правилах, или продукционные системы 37 выбирается некоторое правило П и применяется. К полученному состоянию применяется следующее применимое правило и т. д. Если этот путь не ведет к решению, то все сделанные шаги «забываются» и вместо правила П выбирается другое правило. Стратегии с возвращениями можно использовать независимо от того, насколько полной информацией для выбора подходящего правила мы располагаем. Если такая информация вообще отсутствует, можно выбирать правила в соответствии с произвольной схемой. В конечном счете, механизм возвращений позволит выбрать подходящее правило. Однако если имеется информация о том, как выбрать подходящее правило, возвращения будут реже и вычисления окажутся более эффективными. Если, например, на множестве состояний системы определить некоторую функцию, значения которой будут говорить о «качестве» примененного правила, то выбор правила будет осуществляться на основе вычисления значений этой функции. Второй путь состоит во введении на множестве состояний метрики таким образом, чтобы в этой метрике можно было бы оценивать степень близости полученного состояния к целевому. Во многих случаях этот подход позволяет уменьшить число возвращений, а на монотонных участках траектории системы полностью их исключает. Третий путь состоит в использовании знаний о возможных состояниях и переходах между ними: о тех, в которые следует переходить, и о тех, которые являются «запрещенными». Например, в шахматных программах к первому типу относятся знания о гамбитах, эндшпилях, миттельшпилях и т. д., ко второму типу — знания об угрозах королю, другим фигурам и т. д. В системах, например, автоматического планирования сборочного процесса автомобильного двигателя к числу запрещенных состояний относится, в частности, состояние, в котором на двигатель установлена крышка газораспределительного механизма, однако не установлен распределительный вал. Существует и ряд иных процедур «оптимизации» процесса поиска. Стратегии поиска на графе. В стратегиях с возвращением управляющая система забывает все пробные пути, не приведшие к успеху. Однако если бы стратегия запоминала пробные пути для того, чтобы любой из них мог быть кандидатом на дальнейшее продолжение, такая стратегия была бы более гибкой. Стратегию управления с поиском на графе можно рассматривать как средство нахождения пути на графе от вершины, являющейся исходным состоянием рабочей памяти, к вершине, являющейся целевым состоянием рабочей памяти. Часто оказывается полезным каждой дуге графа (i, j) приписать некоторое положительное число c(i, j) — 38 Гл. 1. Методы представления знаний ее стоимость. Стоимость пути между двумя вершинами равна сумме стоимостей всех дуг на этом пути. Задачи простейшего типа сводятся к поиску пути (возможно, с минимальной стоимостью) между вершиной s, соответствующей начальному состоянию рабочей памяти, и известной вершиной t, соответствующей состоянию рабочей памяти, удовлетворяющему целевое условие. Нередко встречается ситуация, в которой требуется найти путь между вершиной s и любой вершиной из множества {t}, представляющего состояния рабочей памяти, удовлетворяющие целевое условие. В большинстве практически интересных случаев стратегия управления используется для порождения фрагментов имплицитно заданных графов. Для имплицитного задания графа необходимо задать начальную вершину, представляющую исходное состояние рабочей памяти и правила изменения состояния. Таким образом, стратегию управления с поиском на графе можно рассматривать как процесс выявления подграфа имплицитного графа, содержащего целевую вершину. Опишем в качестве примера порождения такого графа процедуру SEARCH. Procedure SEARCH. 1. Создать списки INITIAL и FINISH; FINISH:=∅; 2. Создать граф поиска, состоящий из начальной вершины g1. INITIAL := INITIAL ∪ g1; 3. M1: если INITIAL = ∅, то неудача, останов. 4. Упорядочить вершины в INITIAL в соответствии с некоторым отношением; 5. Выбрать первую (в смысле порядка) вершину в INITIAL, обозначить ее через f , INITIAL := INITIAL \{f }; FINISH := FINISH ∪ {f }; 6. Если f - целевая вершина, то успешное завершение работы; 7. Породить из вершины f множество M = {m1 , m2 , ..., mk } дочерних вершин; H := {(f , m1 ), (f , m2 ), ..., (f , mk )}; 8. INITIAL := INITIAL∪H; 9. Перейти к п. 3. Эта процедура порождает граф H, называемый графом поиска. На шаге 4 она должна упорядочивать вершины графа, так чтобы «лучшая» из них была выбрана первой для порождения дочерних вершин. Это упорядочивание может основываться на различных эвристических идеях или иных критериях. Рассмотрим некоторые из возможных эвристик. Один из подходов основан на введении оценочной функции v. При этом под v(n) часто понимается оценка стоимости пути (минимальной стоимости) от исходной вершины к целевой, при условии, что этот путь проходит через вершину n. Упорядочение вершин графа в списке INITIAL будем производить таким образом, чтобы вершины располагались в порядке 1.2. Системы, основанные на правилах, или продукционные системы 39 возрастания соответствующих им функций v. При совпадении значений упорядочение осуществляется произвольным образом. Если рассмотреть, например, игру в «8», то для нее можно взять простую оценочную функцию v(n) = d(n) + W (n), где d(n) — глубина вершины n на дереве поиска и W (n) — число находящихся на нужном месте фишек в состоянии рабочей памяти, соответствующем вершине n. Легко продемонстрировать, что применение процедуры SEARCH приводит к решению с испытанием меньшего числа вершин, чем, например, при использовании оценочной функции v(n) = d(n). Достаточно распространены эвристики с монотонными ограничениями: говорят, что эвристическая функция удовлетворяет монотонному ограничению, если для всех вершин n и m, таких что m — дочерняя вершина n, имеет место c(n, m) > v(n) — v(m), причем v(t) = 0, где t — целевая вершина, а v(n) и v(m) — оценки стоимостей оптимального пути к целевой вершине t от вершин n и m, соответственно. Можно показать, что если алгоритм SEARCH использует такую оценочную функцию, что ее значение v(n) для любой вершины n оценивает сумму стоимости пути (минимальной стоимости) от исходной вершины s к вершине n и стоимости аналогичного пути от вершины n к целевой и эта функция удовлетворяет монотонному ограничению, то алгоритм SEARCH обнаруживает оптимальный путь к любой вершине. 1.2.5. Пример. Рассмотрим иллюстративный пример, который назовем «Мир кубиков». Пусть перед нами стоит задача написать программу, которая бы обеспечила разумное поведение робота — строителя башни из кубиков. Введем вначале следующие предикатные символы: On — двуместный предикатный символ «находиться на»; Em — одноместный предикатный символ «не находиться под кубиком»; Er — «находиться на земле». Тогда атомарная формула языка исчисления предикатов 1-го порядка On(x, y) означает, что «Кубик x находится на кубике y»; атомарная формула Em(x) означает, что «Кубик x не находится под другим кубиком»; а атомарная формула Er(x) означает, что «Кубик x стоит на земле». Мы полагаем, что эти формулы будут использованы в качестве элементов условий, множеств добавляемых и удаляемых фактов в правилах. Но прежде чем говорить о правилах, опишем устройство рабочей памяти. Если действовать таким же образом, как было описано выше, следует задать интерпретирующее отображение I, которое каждому предикатному символу поставит в соответствие некоторое отношение на множестве кубиков. Основное множество M будет состоять из элементов, соответствующих кубикам. 40 Гл. 1. Методы представления знаний Итак, отображение I ставит в соответствие предикатному символу On бинарное отношение на M , предикатным символам Em и Er — одноместные отношения на M . Обозначим эти отношения так же, как соответствующие предикатные символы, только иным шрифтом. Иначе говоря, I(On) = On, I(Em) = Em, I(Er) = Er. Поскольку все отношения конечны, то их можно представить в виде таблиц (рис. 1.2, а) и б)). Элементы множества M обозначим через m1 , m2 , ..., mn . Рис. 1.2. а) начальное состояние; б) целевое состояние В начальном состоянии первая из таблиц не заполнена, а две другие заполнены полностью. Таким образом, на рис. 1.2, а) изображено начальное состояние «Мира кубиков». Целевое состояние должно иметь вид, приведенный на рис. 1.2, б; заметим здесь, что мы считаем все кубики идентичными и, поэтому, нумерации элементов из M не будем придавать значения. Если мы принимаем решение использовать описания состояний, приведенные на рисунках 1.2, а) и б) в качестве рабочей памяти системы, основанной на правилах, то сами правила должны применяться к описаниям этих состояний для порождения новых состояний и такая система называется прямой системой правил. Однако в рабочей памяти можно хранить описания целей, подцелей и т. д. Такая система правил будет называться обратной. Впрочем, различие между этими двумя системами правил можно провести лишь на интуитивном уровне. 1.2. Системы, основанные на правилах, или продукционные системы 41 Вернемся в «Мир кубиков» и опишем прямую систему правил для робота — строителя башен; вначале неформально. Правило первое. Если кубик находится на земле и если он не находится под другим кубиком, то выполнить следующие действия: поднять его и поставить на любой кубик, не находящийся под другим кубиком; поместить в рабочую память факты из множества добавляемых фактов и удалить факты из множества удаляемых фактов примененного правила. Правило второе. Если кубик находится на земле и если он не находится под другим кубиком и если некоторый кубик не находится под кубиком и находится на некотором другом кубике, то выполнить следующие действия: поднять кубик, находящийся на земле, и поместить его на кубик, находящийся на другом кубике; поместить в рабочую память факты из множества добавляемых фактов и удалить факты из множества удаляемых фактов примененного правила. Для решения этой задачи можно было бы построить систему и из одного правила. Однако это привело бы к серьезному усложнению этого правила и увеличению вычислительных трудностей на этапе исполнения. Кроме того, трудно было бы продемонстрировать возможности стратегии управления. Перейдем к уточнению вида правил для решения этой задачи. Обозначим правила через П1 и П2, т. е. П1 = hC1 , A1 , D1 i, где C1 = {Em(y), Em(x), Er(x)}, A1 = {On(x, y)}, D1 = {Em(y), Er(x)}, и П2 = hC2 , A2 , D2 i, где C2 = {Em(x), Er(x), Em(y), On(y, z)}, A2 = {On(x, y)}, D2 = {Er(x), Em(y)}. Стратегия управления, которая потребуется для решения этой задачи, описана в п. 1.2.3. Напомним ее. Шаг 1. Выбрать очередное правило из множества правил. Шаг 2. Проверить выполнимость условия правила в текущем состоянии рабочей памяти. 42 Гл. 1. Методы представления знаний Шаг 3. Если условие правила выполнено, поместить правило в конфликтное множество. Шаг 4. Если множество применимых правил исчерпано, выбрать какое-либо правило из конфликтного множества правил и применить его. Шаг 5. Перейти к шагу 1. В нашем примере к начальному состоянию применимо лишь первое правило (так как в начальном состоянии таблица On пуста и, следовательно, формула On(x, y) невыполнима), поэтому в начальном состоянии конфликтное множество состоит из одного лишь правила и проблемы выбора не возникает. При установлении выполнимости формул Em(y), Em(x), Er(x) в условия первого правила вместо свободных переменных в формулы условия будут подставлены значения (например, m1 вместо y и m2 вместо x). Соответствующие подстановки будут выполнены также в формулы из множеств A и D. Атомарные формулы из множеств A и D превратятся в формулы без свободных переменных, т. е. в добавляемые и удаляемые факты, а именно, формулы On(x, y) из множества добавляемых фактов и Em(y) и Er(x) из множества удаляемых фактов примут вид On(m2 , m1 ), Em(m1 ), Er(m2 ), соответственно. Применение правила состоит в том, что первая пара, т. е. (m2 , m1 ), будет помещена в таблицу On, значения переменных из второй и третьей формул, т. е. m1 и m2 , соответственно, будут удалены из таблиц Em и Er. Таким образом, «Мир кубиков» будет модифицирован и в рабочей памяти появится описание второго состояния. К этому второму состоянию оказываются применимы оба правила. так как множество применимых правил будет теперь состоять из двух правил, то необходимо уточнить шаг 4 стратегии управления, т. е. значение слов «какое-либо правило». Если попытаться промоделировать стратегию управления «вручную», то нетрудно убедиться, что на втором шаге следует применить второе правило. Чтобы обеспечить строительство одной башни (а не нескольких), второе же правило следует применять и на всех последующих шагах. Второе правил отличается от первого бо́льшим количеством атомарных формул в условии. Таким образом, возникает следующий эмпирический принцип выбора: всякий раз, когда к некоторому состоянию применимо более одного правила, должно выбираться правило, более точно учитывающее особенности текущего состояния; таким правилом, очевидно, является то правило, условие которого более детально описывает состояние. Поскольку степень детальности описания состояния определяется количеством атомарных формул в условии правила, то стратегия раз- 1.3. Cемантические сети для представления знаний 43 решения конфликтного множества, которую следует здесь применить, имеет в своей основе следующую эвристику: «Выбрать из множества применимых правил то правило, условие которого содержит наибольшее число предикатных символов». Именно так следует в данном случае модифицировать шаг 4 стратегии управления. Применение сформулированной эвристики приведет к выбору второго правила и на всех последующих шагах. Процесс завершится либо по исчерпании применимых правил, либо по достижении целевого состояния. Заметим, что собственно алгоритм строительства башни задан не был. Этот алгоритм получается выписыванием последовательности правил, решающей поставленную задачу. К системам правил мы будем возвращаться и в дальнейшем; им будет уделено достаточно много места в четвертой главе; пока же рассмотрим иной способ представления знаний, называемый семантическими сетями. 1.3. Cемантические сети для представления знаний Семантическая сеть наряду с системами правил является весьма распространенным способом представления знаний в интеллектуальных системах. Особое значение этот способ представления знаний приобретает в связи с развитием сети интернет. Кроме ряда особенностей, позволяющих применять семантические сети в тех случаях, когда системы правил не применимы, семантические сети обладают следующим важным свойством: они дают возможность соединения в одном представлении синтаксиса и семантики или синтаксического и семантического аспектов описаний знаний предметной области. Происходит это благодаря тому, что в семантических сетях наряду с переменными для обозначения тех или иных объектов (элементов множеств, некоторых конструкций из них) присутствуют и сами эти элементы и конструкции; присутствуют и связи, сопоставляющие тем или иным переменным множества допустимых интерпретаций. Эти обстоятельства позволяют во многих случаях резко уменьшить реальную вычислительную сложность решаемых задач. 1.3.1. Простые и расширенные семантические сети. Понятие семантической сети возникло в 1966 г. в работах М. Р. Квиллиана [11] при попытке описания семантики глагола с помощью графа специального вида. Это описание было составлено из вершин, в которых находились лексические единицы анализируемого предложения, и «ассоциативных» дуг, служащих для описания ссылок одних вершин на другие. Для таких описаний М. Р. Квиллиан ввел термин «семантическая 44 Гл. 1. Методы представления знаний память». Каждой вершине в семантической памяти соответствовала некоторая «страница», содержащая определение соответствующего вершине понятия. Каждый из указателей относился к одному из следующих типов: подкласс, дизъюнкция, конъюнкция, свойство, субъект. Такие структуры обладали некоторыми дедуктивными свойствами, порождаемыми отношениями «подкласс» и «свойство». Один из механизмов вывода в семантической сети Квиллиана состоял в распространении активности и поиске по пересечению. Пути от начальных вершин к общей вершине определяют некоторое отношение между двумя лексическими единицами. Иначе говоря, речь шла об обнаружении неявно (имплицитно) заданной информации для дальнейшего ее использования в интеллектуальной системе. Роберт Ковальский из Эдинбурга в 1979 г. [12] ввел понятия простых и расширенных семантических сетей, использовав клаузальную логику для их определения. Для рассмотрения семантических сетей такого вида вернемся к языку исчисления предикатов первого порядка, а именно, к его клаузальной форме. Клауза есть выражение вида B1 , B2 , ... , Bm ← A1 , ... , An , где B1 , B2 , ... , Bm суть атомарные формулы, n > 0 и m > 0. Атомарные формулы A1 , ... , An суть совместные посылки клаузы, а B1 , B2 , ... , Bm суть альтернативные заключения. (Множество клауз совместно, если оно истинно в одной из моделей языка.) Если клауза содержит переменные x1 , x2 , ..., xk , то она соответствует формуле с квантором всеобщности: ∀x1 , ∀x2 , ..., ∀xk (B1 ∨ B2 ∨ ... ∨ Bm , если A1 ∧ ... ∧ An ). Если n = 0, то клаузу следует интерпретировать так: ∀x1 , ∀x2 , ..., ∀xk (B1 ∨ B2 ∨ ... ∨ Bm ). Если m = 0, то интерпретация такова: ¬∃x1 , ¬∃x2 , ..., ¬∃xk (A1 ∧ ... ∧ An ). Если n = m = 0, то клауза является тождественно ложным высказыванием и записывается . Если клауза содержит не более одной атомарной формулы в заключении, т. е. m 6 1, то клауза называется клаузой Хорна или Хорновской клаузой. Простая семантическая сеть может рассматриваться как форма записи утверждений клаузальной логики без свободных переменных. Например, клауза P (a, b) ← в языке простых семантических сетей изображается как дуга, помеченная меткой P и направленная из a в b: Рис. 1.3 1.3. Cемантические сети для представления знаний 45 В расширенных семантических сетях, как и в простых, вершины сопоставляются индивидам, а ребра — бинарным отношениям. Однако вершины в расширенных семантических сетях могут соответствовать константным символам, переменным или термам, содержащим функциональные символы. Атомарные формулы, соответствующие условиям клауз описываются с помощью двойных дуг, а заключения — одинарных. Клаузы, содержащие более одной атомарной формулы, можно выделять как подсети. Например, расширенная семантическая сеть на рис. 1.4. описывется множеством клауз: Джону нравится Мэри ←; Джон является человеком ←; Мэри нравится Джон, Мэри нравится Боб ← Мери нравится x; Бобу нравится y ← y нравится логика. Рис. 1.4 Помимо изобразительных возможностей, семантические сети обладают более серьезными достоинствами. То обстоятельство, что вся информация об индивиде представлена в единственном месте — в одной вершине — означает, что вся эта информация непосредственно доступна в этой вершине, что, в свою очередь, сокращает время поиска, в частности, при выполнении унификации и подстановки в задачах логического вывода. Существует еще одна, более тонкая особенность расширенных семантических сетей — они позволяют интегрировать в одном представлении синтаксис и семантику (т. е. интерпретацию) клаузальных форм. Это позволяет в процессе вывода обеспечивать взаимодействие синтаксических и семантических, теоретико-модельных подходов, что, в свою очередь, также является фактором, зачастую делающим вывод практически более эффективным. 1.3.2. Универсум Эрбрана и семантические сети. Здесь мы развернем тезис, сформулированный в последнем абзаце предыдущего раздела. Пусть задано некоторое множество клауз. Попытаемся «экономным» способом построить для него модель. Это означает, что следует выбрать некоторый универсум и указать соответствие меж- 46 Гл. 1. Методы представления знаний ду константами и иными конструкциями языка и объектами этого универсума и конструкциями из них. Следуя принципу экономии, мы не будем вводить специальных имен для элементов модели, поэтому выберем в качестве универсума такое множество, которое включает все константы, встречающиеся в множестве клауз, и все термы, построенные из них с помощью функциональных символов, встречающихся в множестве клауз. Такое множество называется универсумом Эрбрана. Иначе говоря, интерпретация I есть в данном случае тождественное отображение из множества термов в себя. Далее, доведя принцип экономии до конца, мы используем n-местные предикатные символы, встречающиеся в клаузах, для обозначения соответствующих им при отображении I n-арных отношений над элементами универсума. Рассмотрим простой пример. Пусть задано множество высказываний: Всякий человек, который является хозяином собак, не является хозяином кошек. Джон является хозяином Линды. Петя является хозяином Мурки. Введем бинарные предикатные символы: P — быть хозяином и Q — не быть хозяином. Тогда клаузальная форма этих утверждений имеет следующий вид: Q(человек, кошка) ← P (человек, собака); P (Джон, Линда) ←; P (Петя, Мурка) ←. Для полноты картины введем еще один предикатный символ, означающий принадлежность экземпляра (примера) общему понятию. В теории интеллектуальных систем его принято обозначать ISA («is a» — третье лицо единственного числа английского глагола to be): ISA(Джон, человек) ←; ISA(Петя, человек) ←; ISA(Линда, собака) ←; ISA(Мурка, кошка). Иногда этот предикатный символ используется в инфиксной нотации, например, «Джон ISA человек», но это не имеет существенного значения. Представим теперь описанную ситуацию в виде расширенной семантической сети (рис. 1.5). На рис. 1.5 каждому предикатному символу соответствует свой тип линии, а именно: ; P — ISA — ; . Q— 1.3. Cемантические сети для представления знаний 47 Рис. 1.5 Направление стрелки указывает порядок следования аргументов в формуле. Если сопоставить этот рисунок со сказанным об универсуме Эрбрана, то легко видеть, что закрашенные вершины соответствуют элементам, а пары (Петя, Мурка), (Джон, Линда) — элементам отношений универсума Эрбрана, а именно — отношению P . Что касается пар (Мурка, кошка), (Линда, собака), (Петя, человек) и (Джон, человек), принадлежащих отношению ISA, то они связывают синтаксис с семантикой или синтаксические элементы «Кошка», «Собака» и «Человек», являющиеся именами общих понятий, с примерами этих понятий. Оставив более детальное изучение полезных свойств универсума Эрбрана для последующих глав, используем нотацию расширенных семантических сетей для ответа на вопрос: «Является ли Джон хозяином Мурки?» Для решения этой задачи вначале совместим пары закрашенных вершин с парами незакрашеных по ISA ребрам, при этом метка ребра пары закрашенных вершин должна совпадать с меткой ребра пары незакрашенных вершин. Затем проделаем такую же операцию с интересующими нас целевыми вершинами (т. е. совместим их с незакрашенными вершинами по ISA-связям), в результате чего немедленно получим, что Джон не является хозяином Мурки. Этот простой пример есть пример вывода на расширенной семантической сети. В 1986 г. В. Н. Вагин [13] предложил раскрашенные семантические сети. В отличие от расширенных семантических сетей в раскрашеных семантических сетях вершины соответствуют клаузам, их условиям, заключениям и предикатным символам, в них входящим, а ребра связывают условия и заключения клауз с вершинами, соответствующими клаузам. Далее, атомарные формулы, входящие в условия и заключения, соединяются ребрами с вершинами, соответствующими условиям 48 Гл. 1. Методы представления знаний и заключениям, и, наконец, индивидные символы соединяются ребрами с вершинами, соответствующими атомарным формулам. Кроме того, введены специальные правила раскраски семантических сетей. Они таковы: для каждой клаузы A ← B условие и заключение «раскрашиваются» различными цветами. Это правило распространяется также на тот случай, когда как условие, так и заключение состоят более чем из одной атомарной формулы. Раскрашенные сети позволяют более эффективно, чем предыдущие представления, организовать процесс параллельной дедукции. Более подробную информацию о них можно почерпнуть из литературы, указанной в конце книги. В 1987 г. автор этих строк ввел понятие неоднородных семантических сетей [14]. Приведем краткое описание этого способа представления знаний. 1.3.3. Неоднородные семантические сети. Неоднородная семантическая сеть (НСС) — семейство графов, имеющих общее множество вершин; вершинам сопоставлены объекты моделируемой действительности, ребрам — элементы некоторых бинарных отношений на множестве вершин; им же сопоставлены процедуры, предназначенные для проверки корректности сети и порождения различного рода гипотез, повышающих эффективность процесса построения сети. Подробнее о роли таких процедур будет сказано в главе, посвященной приобретению знаний. НСС предназначены для описания, главным образом, таких предметных областей, которые можно отнести к плохо структурированным, т. е. областей, для которых не известен полный набор свойств их элементов, не полностью известна структура самих элементов, а знания об элементах и их взаимосвязях и зависимостях не имеют «готового», завершенного вида, такого, например, который описывается с помощью правил. При этом предполагается, что те связи и зависимости, которые удается все же установить, носят локальный характер. Определение 1.3.1. Неоднородной семантической сетью будем называть алгебраическую систему H = hD, N, R, Fi, где D = {D1 , D2 , ... , Dn } — семейство непустых множеств; N ⊆ N — выделенное подмножество множества слов конечной длины над некоторым алфавитом; R — семейство бинарных отношений R1 , R2 , ... , Rq на N 2 ; Ri ⊆ N 2 ; i ∈ {1, 2, ..., q}. F = {f1 , f2 , ... , fm } — семейство функций, каждой из которых приписан некоторый тип. А именно, функция fi (i ∈ {1, 2, ..., m}) имеет тип hτ , ωi, где τ = hk1, k2, ..., kmi, если она определена на декартовом произведении Dk1 × Dk2 × ... × Dkm , а областью ее значений является множество Dω , так что каждому 1.3. Cемантические сети для представления знаний 49 кортежу δ ∈ Dk1 × Dk2 × ... × Dkm функция fi типa hτ , ωi из F ставит в соответствие некоторое f (δ) ∈ Dω . Назначение слов из N — именование элементов предметной области; каждое из множеств D соответствует некоторому свойству, а элементы этого множества — значениям свойства; отношения из семейства R — бинарные отношения на множестве имен и, наконец, функции из семейства F предназначены для пополнения описания элементов предметной области, например, для вычисления значений некоторых свойств по значениям других. Неоднородную семантическую сеть, определенную таким образом, будем называть интенсиональной семантической сетью. Свяжем, далее, с каждым именем n ∈ N свой тип τ = = hk1, k2, ..., kmi, ki ∈ {1, 2, ..., n}, и поставим ему в соответствие e — некоторое подмножество декартового произведения Dk1 × Dk2 × ... × Dkm ; того же типа τ , где Dki ∈ D. Тогда e будем называть экстенсионалом (или множеством экземпляров или множеством примеров) элемента c именем n типа τ . Понятно, что в этом случае декартовому произведению Dk1 × Dk2 × ... × Dkm , каждому его подмножеству e и каждому элементу δ ∈ е также следует приписать тип τ = hk1, k2, ..., kmi. Множество экстенсионалов для всех элементов из N обозначим через E. Расширим на Е семейство отношений R так, что каждому отношению Ri ⊆ N2 будет соответствовать отношение Ri ⊆ Е2 таким образом, что если пара (nj , nk ) ∈ Ri , то соответствующая пара (ej , ek ) ∈ Ri . Обозначим семейство отношений Ri , где i ∈ {1, 2, ..., q}, через R. Заменив в определении 1.3.1 N на E и R на R, получим конструкцию H = hD, E, R, Fi, которую будем называть экстенсиональной семантической сетью. Для всякого e ∈ E, поскольку это не приведет к недоразумениям, мы сохраним название «элемент». Рассмотрим более детально отношения из R. Для этого используем то обстоятельство, что элементы из E (входящие в пары из отношений Ri ) имеют некоторую внутреннюю структуру, т. е. по существу, также являются отношениями, определенными на множествах из D. Это позволяет выразить отношения, определенные на E через отношения на множествах из D. Такой подход позволит построить порождающие процедуры для некоторых классов отношений, которые уместно считать отношениями структурного сходства, ассоциативными отношениями и каузальными отношениями. Впрочем, последние, как мы увидим, окажутся подклассом класса ассоциативных отношений. 50 Гл. 1. Методы представления знаний Отношения структурного сходства. Пусть e1 , e2 ∈ E, δ и γ — примеры e1 и e2 , δ ∈ e1 , γ ∈ e2 . Положим δ = hδ1 , δ2 , ..., δk1 i, γ = hγ1 , γ2 , ..., γk2 i (здесь нижний индекс у компонент примеров означает индекс множества D из семейства D. Таким образом, совпадение индексов компонент примеров сведетельствует о принадлежности последних одному и тому же множеству D). Определение 1.3.2. Отношением R1 на Е будем называть такое X ⊆ Е2 , в котором для всякой пары (e1 , e2 ) ∈ X имеет место ∀δ∃γ ∀γi ∃δi такие, что (i = j) и (δi = γj ). Определение 1.3.3. Отношением R2 на Е будем называть такое X ⊆ Е2 , в котором для всякой пары (e1 , e2 ) ∈ X имеет место ∀δ∃γ ∃γi ∃δi такие, что (i = j) и (δi = γj ). Определение 1.3.4. Отношением R3 на Е будем называть такое X ⊆ Е2 , что для всякой пары (e1 , e2 ) ∈ X имеет место ∃δ ∃γ (γ = δ). Определение 1.3.5. Отношением R4 на Е будем называть такое X ⊆ Е2 , что для всякой пары (e1 , e2 ) ∈ X имеет место ∀δ ∃γ∀ δi ∃γi такие, что (i = j) и (δi = γj ). Определение 1.3.6. Отношением R5 на Е будем называть такое X ⊆ Е2 , что для всякой пары (e1 , e2 ) ∈ X имеет место ∀δ ∀γ ∀γi ∀δj такие, что (i = j) и (δi 6= γj ). Определение 1.3.7. Отношением R6 на Е будем называть такое X ⊆ Е2 , что для всякой пары (e1 , e2 ) ∈ X ∀δ ∀γ ∃γi ∃δj такие, что (i = j) и (δi 6= γj ). Далее будем полагать, что читателю известны такие свойства бинарных отношений как транзитивность, рефлексивность и симметричность. Обычно, когда говорят о свойстве симметричности, имеют ввиду одно из трех значений: либо собственно симметричность, либо несимметричность, либо антисимметричность. Свойство транзитивности имеет три значения: транзитивно, нетранзитивно и антитранзитивно; рефлексивность также имеет три значения: рефлексивно, нерефлексивно и антирефлексивно. Установим свойства введенных отношений. Утверждение 1.3.1. R1 и R4 — частичные порядки. Утверждение 1.3.2. R2 нетранзитивно, рефлексивно, несимметрично. Утверждение 1.3.3. R3 нетранзитивно, рефлексивно, симметрично. 1.3. Cемантические сети для представления знаний 51 Утверждение 1.3.5. R5 нетранзитивно, антирефлексивно, симметрично. Утверждение 1.3.6. R6 нетранзитивно, антирефлексивно, несимметрично. Д о к а з а т е л ь с т в а приведенных утверждений достаточно просты. Докажем, например, что отношение R1 — частичный порядок. Пусть пары (e1 , e2 ) и (e2 , e3 ) принадлежат R1 . Задача состоит в том, чтобы показать, что (e1 , e3 ) ∈ R1 . Пусть λ ∈ e3 и λ = hλ1 , λ2 , ..., λk3 i. Так как ∀δ ∃γ такое, что ∀γi ∃δi (δi = γi ), то пусть для произвольного δ ∗ найдется γ ∗ такое, что δ ∗i = γi∗ . Но в силу того, что (e2 , e3 ) ∈ R1 , ∀γ ∃λ такое, что ∀λi ∃γi (λi = γi ), т. е. это справедливо и для γ ∗ . Если λ∗ — то самое λ, которое нашлось для γ ∗ и для которого λ∗i = γi∗ , то из этого равенства и из δi∗ = γI∗ следует, что λ∗i = δi∗ , а так как δ ∗ был выбран произвольно, то это и означает, что ∀δ ∃λ ∀λi ∃δi (λi = δi ), т. е. (e2 , e3 ) ∈ R1 , что и означает транзитивность R1 . Рефлексивность R1 следует из того, что в качестве γ можно выбрать δ, а антисимметричность легко доказывается от противного. Понятно, что всех возможных комбинаций таких свойств — 27. Однако не все свойства определенных таким образом отношений независимы. Например, антирефлексивное отношение не может быть антисимметричным. В результате таких рассуждений получим 20 отношений, определяемых наборами своих свойств. Можно показать также, что указанные свойства определяют отошения не единственным образом, т. е. существуют различным образом определенные отношения, обладающие одними и теми же наборами свойств. Поэтому ниже мы введем еще одно свойство отношений такого рода — свойство совместности. Введем теперь специальные диаграммы для графического представления таких отношений. Для этого каждое из событий ei представим в виде плоской фигуры с двумя измерениями, например, в виде прямоугольника, по горизонтальной стороне которого будем откладывать свойства событий, по вертикали — множества значений по каждому из свойств или объемы. (Здесь для нас несущественно то обстоятельство, что эти объемы различны.) Тогда общим свойствам двух событий будет соответствовать проекция их пересечения на горизонтальную ось, общим значениям свойств — проекция пересечения событий на вертикальную ось. Так, например, то обстоятельство, что среди примеров события e1 и среди примеров события e2 найдутся такие, что пример события e2 являются подмножеством некоторого примера события e1 , будет отражено на следующей диаграмме (рис. 1.6). Теперь представим в виде диаграмм некоторые из отношений структурного сходства R1 –R6 (рис. 1.7). 52 Гл. 1. Методы представления знаний Рис. 1.6 Рис. 1.7 Как мы видим, отношения структурного сходства порождены наличием/отсутствием общих признаков у тех пар элементов предметной области, которые им принадлежат, при этом эти общие признаки проявляются «одновременно» у обоих элементов пары. Это означает, что пары событий, принадлежащие отношениям R1 –R6 , всегда являются событиями одного и того же состояния. В отличие от этого отношения, рассматриваемые ниже, порождены функциональными зависимостями на множествах атрибутов. Свойства их зависят, главным образом, от характера функций из F. В частности, если функции из F представляют собой временные функции, т. е. вырабатывают свои значения через некоторые промежутки времени, то R7 и R8 описывают связи событий различных состояний, т. е. в этом 1.3. Cемантические сети для представления знаний 53 смысле являются отношениями, отражающими динамику системы. Дадим соответствующие определения. Ассоциативные и каузальные отношения. Пусть δ ∈ Dk1 × Dk2 × × ... × Dkm ; τ (δ) — тип δ; τ (β), τ (γ), ..., τ (λ) — типы β, γ, ... и λ соответственно, так что τ (β) ⊆ τ (δ), τ (γ) ⊆ τ (δ), . . ., τ (λ) ⊆ τ (δ), и fp , fq , ..., fr — функции из F, определеные на декартовых произведениях типов β, γ, . . ., λ и действующие в Dq , Dp , ... , Dr , соответственно. Функцию f ∗ (δ) = hfp (β), fq (γ), ... , fr (λ)i будем называть композицией функций fq , fp , ..., fr . Понятно, что значением f ∗ (δ) является некоторый экземпяр декартового произведения Dq × Dp × ... × Dr . Будем полагать здесь, что f ∗ (δ) = hδ1 , δ2 , ..., δk1 i, γ = hγ1 , γ2 , ..., γk2 i, δ ∈ e1 , γ ∈ e2 . Из множества ассоциативных и каузальных отношений рассмотрим только следующие. Определение 1.3.8. Отношением R7 на Е будем называть такое X ⊆ Е2 , что для всякой пары (e1 , e2 ) ∈ X найдется композиция f ∗ функций из F такая, что ∀δ ∃γ ∀γi ∃δi такие, что (i = j) и (δi = γj ). Отношение R7 будем называть каузальным отношением. Определение 1.3.9. Отношением R8 на Е будем называть такое X ⊆ Е2 , что для всякой пары (e1 , e2 ) ∈ X существует композиция f ∗ функций из F такая, что ∃δ ∃γ ∃γi ∃δi такие, что (i = j) и (δi = γj ). Отношение R8 будем называть ассоциативным отношением. Приведем без доказательств следующие утверждения. Утверждение 1.3.8. R7 транзитивно, нерефлексивно, несимметрично. Утверждение 1.3.9. R8 нетранзитивно, нерефлексивно, несимметрично. Понятно, что взяв за основу схему определения отношений структурного сходства, можно определить и иные ассоциативные отношения. Рассмотрим теперь введенные отношения c менее формальной точки зрения. Можно привести естественно-языковое описание введенных отношений. То обстоятельство, что пара событий принадлежит отношению R1 означает, что событие e1 всегда сопровождается событием e2 ; если пара событий принадлежит отношению R2 , то событие e1 всегда увеличивает возможность появления события e2 ; R3 — событие e1 иногда сопровождается событием e2 ; R4 — событие e1 иногда может увеличивать возможность появления e2 ; R5 — событие e1 исключает событие e2 ; R6 — событие e1 может исключать событие e2 . 54 Гл. 1. Методы представления знаний Примеры. Приведем в качестве примера упрощенные описания отношений из фрагментов некоторых баз знаний, в качестве языка представления знаний в которых использованы неоднородные семантические сети: а) в области медицинской диагностики. При наблюдении события «Боль при пальпации остистого отростка пораженного позвонка» может наблюдаться событие «Болезнь Кольве». При наблюдении события «Болезнь Кольве» всегда наблюдается событие «Боль при пальпации остистого отростка пораженного позвонка». При наблюдении события «Болезненность при перкусии одного или двух смежных остистых отростков» может наблюдаться событие «Ядро эпидурита». При наблюдении события «Ядро эпидурита» всегда наблюдается событие «Болезненность при перкусии одного или двух смежных остистых отростков: болезненность»; б) в области прогнозирования социальной напряженности. При наблюдении события «Увеличение налогообложения на предприятия» всегда наблюдается событие «Крупные предприниматели не поддерживают», а при наблюдении события «Крупные предприниматели не поддерживают», может наблюдаться событие «Увеличение налогообложения на предприятии»; в) в области психодиагностики. При наблюдении события «Экзотическое место жизни» может наблюдаться событие «Комплекс демонстративность». При наблюдении события «Комплекс демонстративность» всегда наблюдается событие «Экзотическое место жизни». При наблюдении события «Дружит с агрессивными животными или героями» может наблюдаться событие «Комплекс спонтанная агрессия». При наблюдении события «Комплекс спонтанная агрессия» всегда наблюдается событие «Дружит с агрессивными животными или героями». 1.4. Совместность Можно показать, что наборов свойств симметричности/несимметричности/антисимметричности, рефлексивности/нерефлексивности и т. д. недостаточно для установления взаимнооднозначного соответствия между множеством всех отношений, определенных так, как это было сделано в п. 1.3.3, и множеством всех допустимых комбинаций их свойств. Поэтому в работе [15] было предложено новое свойство — совместность компонентов каждой пары, являющейся элементом неко- 1.4. Совместность 55 торого отношения. Это свойство можно задать с помощью понятия матрицы совместности элементов. Дадим соответствующие определения, следуя [15]. 1.4.1. Вектор совместности событий. Рассмотрим вначале понятие вектора совместности элементов. Пусть F есть отображение R → V , где R — множество отношений, определеных выше, а V — множество векторов v = (a, b) длины два, таких, что a ∈ {0, 1, ε}, b ∈ {0, 1, τ }; ik , jr — индексы свойств элементов. Тогда F (R) = (a, b), где 1, если ∀r ∃k такое, что ik = jr , a= ε, если ∃k ∃r такие, что ik = jr . Иначе говоря, если множество индексов свойств второго элемента вложено во множество индексов свойств первого элемента, то a = 1; если множества свойств пересекаются, то a = ε. Случай a = 0 подразумевает отсутствие общих свойств у элементов. Это обстоятельство свидетельствует о том, что рассматриваемая пара элементов не принадлежит какому-либо отношению структурного сходства. Будем предполагать, что элементы e1 и e2 имеют хотя бы одно общее свойство. Определим b — второй компонент вектора V — следующим образом: 1, если ∀k ∀r таких, что ik = jr , ⇒ Dik ⊆ Djr , τ если ∀k ∀r таких, что ik = jr , ⇒ Dik ∩ Djr 6= ∅, b= 0, если ∀k ∀r таких, что i = j , ⇒ Di ∩ Dj = ∅, k r k r где Dik — проекция pri (e) элемента e на множество Di (или область значений i-го признака элемента e). Отображение F делит семейство отношений R на шесть классов: 1. F (R) = (1, 1); 2. F (R) = (1, τ ); 3. F (R) = (1, 0); 4. F (R) = (ε, 1); 5. F (R) = (ε, τ ); 6. F (R) = (ε, 0). Приведем соответствующие диаграммы (рис. 1.8). 1.4.2. Матрицы совместности элементов. Такое разбиение отношений на шесть групп не является полным. Оно не различает некоторые диаграммы и соответствующие им отношения. Например, диаграммы, приведенные ниже, нельзя различить с помощью отображения F . Для более тонкого различения отношений такого рода рассмотрим отображение G: R → М, где М — множество матриц 2 × 2, состоящих 56 Гл. 1. Методы представления знаний Рис. 1.8 из двух векторов пространства V , первый из которых равен F (R), а второй равен F (R−1 ). Всего таких матриц 62 . Но некоторые из них не определяют никакого отношения. Так, например, если второй компонент вектора v = F (R) равен нулю, то и второй компонент вектора w = F (R−1 ) также должен быть равен нулю. Следовательно, в матрице M= a1 a2 b1 b2 нижняя строка либо нулевая, либо ни b1 , ни b2 не равны нулю. Рис. 1.9 1.5. Представление знаний в системах фреймов 57 При перестановке местами векторов v и w получим матрицу обращенного отношения R−1. Его свойства описываются матрицей отношения R. Можно показать, что существует всего 11 различных матриц, Однако поскольку каждая матрица описывает два отношения — прямое и обращенное, то, на самом деле, таких отношений в два раза больше. В случае, если отношение симметрично, то обращенное отношение совпадает с прямым; в иных случаях — с каким-нибудь другим отношением из числа исходных, а может быть, с новым уникальным отношением. Обозначим множество таких матриц через М = {M1 , M2 , ..., M11 }. Можно показать, что: Теорема 1.4.1. Для каждого отношения Ri ∈ R, порожденного свойствами элементов предметной области, существуют единственные матрица совместности Mi ∈ M и набор значений свойств рефлексивности, симметричности и транзитивности, определяющие отношение Ri . Теорема 1.4.2. Каждые матрица Mi ∈ M и набор свойств рефлексивности, симметричности и транзитивности определяют не более одного отношения Ri ∈ R. 1.5. Представление знаний в системах фреймов 1.5.1. Фреймы. Понятие фрейма было введено известным американским ученым Марвином Минским в 1975 г. М. Минский рассматривал фрейм как структуру данных для представления множества стереотипных ситуаций, событий и объектов, а также их характеристик, признаков и свойств. Эта информация (о характеристикак, признаках и свойствах) хранится в слотах фрейма. Можно говорить о существовании трех типов слотов: 1. Именованные слоты, которые могут заполняться данными, например, слот ЧИСЛО КОНЕЧНОСТЕЙ во фрейме ЧЕТВЕРОНОГОЕ ЖИВОТНОЕ. Данные, заполняющие слот, могут быть строкового типа, целого, булевского и т. д. Некоторые слоты могут заполняться по умолчанию. Например, в том же фрейме слот НАЛИЧИЕ ШЕРСТИ может заполняться по умолчанию, так как это справедливо в большинстве случаев. 2. Слоты могут иметь тип ISA или АКО. Слот ISA указывает на принадлежность объекта к определенному типу или на принадлежность объекта, описываемого одним фреймом, к множеству объектов, описываемым другим фреймом. Для этого слот ISA первого фрейма 58 Гл. 1. Методы представления знаний содержит имя фрейма, соответствующего множеству объектов; например, для фрейма ШАРИК это может быть фрейм СОБАКА. Слот АКО специфицирует отношение между двумя типами; а именно, указывает на включение множества объектов, описываемых одним фреймом, в множество объектов, описываемых вторым фреймом. Для этого слот АКО первого фрейма содержит имя второго фрейма. Например, для фрейма ЧЕТВЕРОНОГОЕ ЖИВОТНОЕ это может быть фрейм ЖИВОТНОЕ. 3. Слоты могут носить процедурный характер. Например, во фрейме СОБАКА значение слота КОЛИЧЕСТВО ЕЖЕДНЕВНО ПОТРЕБЛЯЕМОЙ ПИЩИ вычисляется как функция ее размера, веса и возраста. Разумеется, фрейм должен содержать соответствующие слоты, а именно, ВЕС, РАЗМЕР, ВОЗРАСТ. Заметим теперь, что один из слотов фрейма СОБАКА должен иметь тип АКО и содержать информацию о том, что собака есть ЧЕТВЕРОНОГОЕ ЖИВОТНОЕ. Это, кстати, означает, что СОБАКА будет наследовать значения именованных слотов фрейма ЧЕТВЕРОНОГОЕ ЖИВОТНОЕ, таких как ЧИСЛО КОНЕЧНОСТЕЙ, НАЛИЧИЕ ШЕРСТИ и других. Приведем теперь более точное определение фрейма в нотации Бэкуса–Наура: hфреймi::=hимя фреймаi{hтело фреймаi} hтело фреймаi::=hмножество слотовi hмножество слотовi::=hслотi|hслотi,hмножество слотовi hслотi::=hимя слотаi:hзначение слотаi hзначение слотаi::=hимя фреймаi|hимя процедурыi|hмножествоi hмножествоi::=hдискретное множествоi|hплотное множествоi hдискретное множествоi::=hэлемент множестваi,hмножествоi hэлемент множестваi::=hидентификаторi hплотное множествоi::=hинтервалi|hполуинтервалi|hотрезокi 1.5.2. Системы фреймов. Итак, фреймы могут ссылаться друг на друга через свои слоты. На них могут быть заданы отношения ЭЛЕМЕНТ–МНОЖЕСТВО (ISA) и КЛАСС–ПОДКЛАСС (AKO). Фреймы в смысле, определенном выше, принято иногда называть фреймамипрототипами. Помимо этого, вводится понятие фрейм-экземпляра (или примера). Фрейм-экземпляр — это совокупность значений слотов, удовлетворяющих некоторому фрейму-прототипу. Иначе говоря, фреймэкземпляр — это кортеж значений признаков, каждый из которых удовлетворяет некоторому слоту. Агрегатом hR1 , R2 , ..., Rk i назовем соединение кортежей R1 , R2 , . . ., Rk такое, что каждый кортеж Ri является фреймом-экземпляром, удовлетворяющим какому-либо фрейму-прототипу. 1.6. Элементы дескриптивной логики 59 Элементарным фреймом-прототипом будем называть тот фрейм, на который не ссылается никакой иной фрейм. Элементарный фрейм является выполнимым, если: а) значения переменных, подставленных в слоты фрейма, соответствуют областям их возможных значений; б) на места формальных параметров подставлены фактические параметры процедур и выполняются условия их (процедур) активности. Если два фрейма F1 и F2 связаны отношением ISA или AKO, то фрейм F2 будет считаться выполненным, если выполнен F1 . 1.5.3. Основная вычислительная задача в системе фреймов. Пусть Σ — система фреймов и задан агрегат σ. Основная вычислительная задача в системе фреймов [16] заключается в эффективном вычислении отношения истинности σ Σ. Процедура вычисления отношения истинности включает следующие шаги: Шаг 1. Удовлетворение всех областей значений слотов фреймов значениями, входящими в этот агрегат. Шаг 2. Вычисление значений всех функций, фактическими параметрами которых являются соответствующие значения агрегата σ. Шаг 3. Переход по связям ISA и АКО. Шаг 4. Переход к шагу 1. Процедура завершает работу после того, как а) все слоты всех связанных отношениями ISA и AKO фреймов будут удовлетворены и б) не останется неиспользованных ISA и AKO связей. Отношение истинности считается вычисленным с завершением работы процедуры. Результатом является множество фреймов, выполненных на агрегате σ. 1.6. Элементы дескриптивной логики Дескриптивные логики возникли как способ описания концептуальной системы предметной области и некоторых способов вывода в интеллектуальных системах. В определенном смысле дескриптивные логики можно рассматривать как логическое основание некоторых методов представления знаний, например, объектно-ориентированных представлений, таких как систем фреймов и достаточно простых семантических сетей (главным образом, их декларативной компоненты). Формулы языка дескриптивной логики являются выражениями, состоящими из общеупотребительных и специализированных конструктов (операций) над унарными и бинарными предикатными символами 60 Гл. 1. Методы представления знаний и соответствующими фомулами и над предметными константами. Унарные предикатные символы служат для образования концептов (понятий), а бинарные — для образования так называемых ролей. Концепты описывают общие свойства коллекций индивидов и интерпретируются как множества объектов. Роли интерпретируются как бинарные отношения на множествах объектов. Одним из основных конструктов является конструкт ограничения значения. Например, ограничение значения, записываемое как ∀R.C требует, чтобы все индивиды, находящиеся в отношении R с некоторым концептом, принадлежали концепту C. С точки зрения семантики концепт имеет следующую теоретикомножественную интерпретацию: он интерпретируется как множество индивидов и ролей, которые, в свою очередь, интерпретируются как множества пар индивидов. Универсум для интерпретации может быть выбран, вообще говоря, произвольно и быть бесконечным [20]. Атомарные концепты интерпретируются как подмножества универсума, например интерпретация концепта C ⊓ D есть множество индивидов, принадлежащих теоретико-множественному пересечению интерпретаций концептов C и D. Предположим, например, что ЖЕНСКИЙ ПОЛ, ПЕРСОНА и ЖЕНЩИНА суть атомарные концепты и ИМЕЕТ РЕБЕНКА и ИМЕЕТ РОДСТВЕННИЦУ суть атомарные роли. С использованием операторов пересечения, объединения и дополнения можно описать концепты ПЕРСОНА НЕ ЖЕНСКОГО ПОЛА и ПЕРСОНА МУЖСКОГО ИЛИ ЖЕНСКОГО ПОЛА: ПЕРСОНА ⊓⌉ ЖЕНСКИЙ ПОЛ и ЖЕНСКИЙ ПОЛ ⊔⌉ ЖЕНСКИЙ ПОЛ. Использование квантора существования позволяет описывать концепты, являющиеся экзистенциальными конструкциями типа: ПЕРСОНА ИМЕЕТ РЕБЕНКА ЖЕНСКОГО ПОЛА: ∃ ИМЕЕТ РЕБЕНКА. ЖЕНСКИЙ ПОЛ. Концепт, содержащий утверждение, что у некоторой персоны все дети женского пола, опишется следующим образом: ∀ ИМЕЕТ РЕБЕНКА. ЖЕНСКИЙ ПОЛ. Описание концепта РОДИТЕЛЬ как множества лиц, имеющих, по крайней мере, одного ребенка, такого, что каждый ребенок является индивидом концепта ПЕРСОНА, будет иметь следующий вид: ∃ ИМЕЕТ РЕБЕНКА. ПЕРСОНА ⊓∀ ИМЕЕТ РЕБЕНКА. ПЕРСОНА. Дескриптивные логики (DL) используютcя в различных приложениях методов искусственного интеллекта, в частности, в концептуальном моделировании, планировании поведения и онтологической инженерии. Уточним теперь основные понятия дескриптивных логик. 1.6. Элементы дескриптивной логики 61 1.6.1. Основные понятия. Элементарными конструкциями дескриптивной логики являются атомарные концепты и атомарные роли. Более сложные конструкции строятся индуктивным образом с помощью конструкторов концептов. Будем далее использовать буквы A и B для атомарных концептов, R, Q, S — для атомарных ролей и C и D — для представления концептов. Далее для описания основных синтаксических конструкций дескиптивной логики используем атрибутивный язык AL. Рассмотрим его синтаксис, следуя [18]: C, D → A ⊤ ⊥ ¬A C ⊓D ∀R. C ∃R. T (введение атомарного концепта), (универсальный концепт), (ложный концепт), (атомарное отрицание), (пересечение), (ограничение значения), (ограниченный квантор существования). Приведем некоторые примеры применения введенного синтаксиса, вспомнив концепты, использованные в качестве примеров в начале настоящего параграфа. Так, концепт ПЕРСОНА ⊓ ∃ ИМЕЕТ РЕБЕНКА.⊤ означает, что некоторая персона имеет ребенка; концепт ПЕРСОНА ⊓ ∀ ИМЕЕТ РЕБЕНКА.ЖЕНСКИЙ ПОЛ означает, что все дети данной персоны женского пола, а концепт ПЕРСОНА ⊓ ∀ ИМЕЕТ РЕБЕНКА.⊥ означает, что указанная персона не имеет детей. Введем теперь интерпретацию языка AL. Будем называть интерпретацией I языка AL пару (µ, Φ), где µ — непустое множество (универсум) и Φ — интерпретирующее отображение, ставящее в соответствие каждому индивиду элемент множества µ, имени концепта — некоторое подмножество µ, имени роли — подмножество µ × µ. Пусть I — некоторая интерпретация, например, C I –интерпретация концепта C. Опишем семантику основных конструктов дескриптивной логики [19, 20]. Будем говорить, что C ⊑ D, если C I ⊆ DI для любой интерпретации I; C эквивалентно D, C ≡ D, если C I = DI в любой интерпретации I. Интерпретация I является моделью для концепта C, если множество C I , называемое интерпретацией концепта C, не пусто. 62 Гл. 1. Методы представления знаний Т а б л и ц а 1.2. Семантика конструктов дескриптивной логики Имя конструкта Синтаксис Семантика Истина ⊤ µ Ложь ⊥ Имя концепта ∅ I A A ⊆µ Коньюнкция C ⊓D C I ∩ DI Дизьюнкция (U ) C ⊔D C I ∪ DI ¬C µ\C I Квантор всеобщности ∀R. C {d1 |d1 ∈ µ, ∀d2 : (d1 , d2 ) ∈ RI → d2 ∈ C I } Квантор существования ∃R. C {d1 |d1 ∈ µ, ∃d2 : (d1 , d2 ) ∈ RI &d2 ∈ C I } (> nR) {d1 |d1 ∈ µ, {d2 |(d1 , d2 ) ∈ RI } > n} (6 nR) {d1 |d1 ∈ µ , {d2 |(d1 , d2 ) ∈ RI } 6 n} R RI ⊆ µ × µ Коньюнкция ролей R⊓Q P I ∩ QI Композиция ролей R◦S {(d, c|∃f (d, f ) ∈ RI ∧ (f , c) ∈ S I } Отрицание (C) Численное ограничение Имя роли 1.6.2. База знаний в дескриптивной логике. Базой знаний будем называть пару Σ = (Tbox, Abox). Первая компонента базы знаний Tbox (Terminology box) содержит интенсиональные знания: определения концептов, разбиение их на классы. Вторая компонента Abox (Assertions box) содержит экстенсиональные знания и включает в себя утверждения об отношениях между элементами и классами элементов [21]. Определение 1.6.1. Интерпретация I называется моделью базы знаний Σ, если I удовлетворяет всем утверждениям, содержащимся в базе знаний. Определение 1.6.2. База знаний Σ называется выполнимой, если она имеет модель. Определение 1.6.3. База знаний Σ логически влечет α, где α — формула из TBox или Abox (обозначение Σ α), если α выполнима в любой модели базы знаний Σ. 1.6.3. Рассуждения в дескриптивной логике. В системах представления знаний, основанных на дескриптивой логике, возможны некоторые специфические типы рассуждений. Можно выделить рассуждения о концептах, рассуждения о терминологии, рассуждения об отношениях и совместные рассуждения о терминологии и отношениях. 1.6. Элементы дескриптивной логики 63 Проверка выполнимости концепта является ключевой задачей любого вывода. Большое число важных задач вывода сводится к проверке выполнимости/невыполнимости концептов. Например, для проверки корректности модели предметной области или для оптимизации запроса, сформулированного в виде концепта, хорошо бы знать — не является ли некоторый концепт более общим, чем другой? Это, по существу, есть формулировка задачи поглощения: «Концепт C поглощается концептом D (C ⊑ D), если в каждой модели I верно C I ⊆ DI ». Пусть дана база знаний Σ = (Tbox, Abox), концепты C и D, а также индивид a. Определим основные задачи дескриптивной логики [22, 23]: • проблема выполнимости концепта C в базе знаний Σ (Σ 2 C ≡ ≡ ⊥) состоит в проверке, удовлетворяет ли концепт C базе знаний Σ, т. е. существует ли модель I базы знаний Σ, где C I 6= ∅; • проблема истинности выражения C(a) в базе знаний Σ (Σ C(a)) состоит в проверке, удовлетворяет ли выражение C(a) любой модели базы знаний Σ; • проблема консистентности базы знаний Σ (Σ 2 ∅) состоит в проверке, имеет ли база знаний Σ модель; • проблема категоризации концептов CD в базе знаний Σ (Σ CD) состоит в проверке, верно ли C I ⊆ DI в любой модели I базы знаний Σ. Приведем основные алгоритмы рассуждений в DL. Алгоритм А1, предназначеный для проверки истинности выражения C ⊑ D, основан на сравнении синтаксической структуры концептов. Алгоритм А1: 1. Все выражения с вложенными коньюнкциями типа A ⊓ (B ⊓ C) с помощью очевидных эквивалентных преобразований приводятся к нормальной форме A ⊓ B ⊓ C. Все коньюнкции типа ∀P. D ⊓ P. C очевидно приводятся к виду ∀P. (D ⊓ C). 2. Пусть C = C1 ⊓ ... ⊓ Cm и D = D1 ⊓ ... ⊓ Dn . Тогда C ⊑ D если и только если для каждого Di верно следующее: a) если Di является атомарным концептом или концептом типа ∃P , то существует некоторое Cj такое, что Di = Cj ; b) если Di является концептом типа ∀P. D′ , то существует некоторое Cj вида ∀P. C ′ такое, что C ′ D′ . Приведем без доказательства Утверждение 1.6.4. Сложность алгоритма А1 равна O(|C| × × |D|). Метод семантических таблиц. Описываемый ниже метод можно назвать семантическим: он состоит в проверке, является ли форму- 64 Гл. 1. Методы представления знаний ла F логическим следствием рассматриваемой теории T ? Для этого требуется построить модель, где F является ложной. Если результат достигнут, то ответ НЕТ, формула не является логическим следствием данной теории. Если же такой интерпретации не найдено, выдается ответ ДА и формула F является логическим следствием теории T . Соответствующие правила вывода сконструированы на основе семантики конструктов дескриптивной логики. Рассмотрим, например, конструкт ∃R. C. Если дана интерпретация I, в которой домен содержит элемент a ∈ (∃R. C)I , то в соответствии с семантикой конструктов должен существовать элемент b (не обязательно отличный от a), такой что (a, b) ∈ R и b ∈ C, что должно быть истинно в любой интерпретации. Таким образом, абстрагировавшись от интерпретации, можно утверждать, что если имеется некоторый элемент x, такой что x ∈ ∃R. C, то должен найтись и элемент y, такой что x и y связаны ролью R(xRy) и y является элементом C. Пусть требуется сконструировать интерпретацию S такую, что концепт ∃R. C имеет, по крайней мере, один пример x ∈ ∃R. C. Используя семантические соображения, получаем, что в этом случае S должна содержать элемент y такой, что xRy и y ∈ C. Таким образом, получаем следующее правило трансформации, которое назовем «→ ∃ -правило»: если Σ содержит выражение ∃R. C(x) и не существует z, такого что xRz и C(z) содержится в Σ, то добавить в Σ новую переменную y. (Здесь Σ — база знаний; C(x) означает, что x присутствует в C в качестве переменной.) Аналогичным образом можно построить правила для каждого из имеющихся конструктов: ⊓, ⊔, ∀, ∃, 6, >. Приведем в качестве примеров следующие правила для ⊓ и ⊔: «→ ⊓ -правило»: если Σ содержит выражение (C1 ⊓ C2 )(x), но не содержит C1 (x) вместе с C2 (x), то в Σ добавить C1 (x) и C2 (x). «→ ⊔ -правило»: если Σ содержит выражение (C1 ⊔ C2 (x), но не содержит ни C1 (x), ни C2 (x), то добавить в Σ либо C1 (x), либо C2 (x). Пусть C0 — концепт в нормальной форме (с отрицаниями). Для установления выполнимости C0 алгоритм начнет работу с базы знаний Σ (точнее, с той ее компоненты, которую выше мы обозначили как ABox) и применит к ней правила вывода, описанные выше, пока не будут исчерпаны все применимые правила. Если пополненная таким образом база знаний Σ не содержит очевидных противоречий, то она 1.6. Элементы дескриптивной логики 65 консистентна и, следовательно, C0 выполним, и неконсистентна (и C0 невыполним) в противном случае. Приведенные выше правила преобразуют ABox в конечное число новых ABox-ов, так что исходный ABox консистентен, если хотя бы один из новых является консистентным. Каждое правило из приведенных выше применяется к текущему конечному множеству S ABox-ов следующим образом: оно берет некоторый ABox A из S и заменяет его либо одним ABox-ом A′ , либо двумя ABox-ами A′ и A′′ , либо некоторым конечным числом ABox-ов. Имеет место следующее утверждение: Если S ′ получено из конечного множества ABox-ов S посредством приведенных выше правил, то S консистентно, если и только если S ′ консистентно. 1.6.4. Семейство языков дескриптивных логик. Существует несколько языков, принадлежащих семейству языков дескриптивных логик, имеющих различный набор конструктов и, соответственно, характеризующихся различной сложностью вычислений [23]. Язык F L− включает в себя квантор всеобщности, конъюнкцию и ограниченный квантор существования, т. е. квантор вида ∃R. T . Язык AL расширяет F L− концептами ⊥, ⊤ и отрицанием ⌉A, где A — имя простого концепта. Остальные языки дескриптивных логик являются расширениями F L− и AL. Например, FLEU − есть FL− с полной квантификацией существования и дизъюнкцией. Названия языков DL различаются добавлением символов, соответствующих конструктам логики (см. табл. 1.3). Язык ALС, который, в основном, будет использоваться далее, является расширением AL полной квантификацией существования и дизъюнкцией. Т а б л и ц а 1.3. Классификация языков семейства дескриптивных логик Сложность вычислений Язык дескриптивных логик P AL, ALN NP ALE, ALR, ALER coNP ALU, ALUN PSPACE ALC, ALUR, ALNR, ALCN, ALCR, ALEN, ALENR, ALUNR, ALCNR Введем понятие выразительности логического языка. Определение 1.6.4. Язык L1 менее выразителен, чем язык L2 , если любое предложение в L1 можно выразить при помощи конструк3 Г. С. Осипов 66 Гл. 1. Методы представления знаний ций языка L2 (обозначатся L1 6 L2 ). Если L1 6 L2 и L2 6 L1 , тогда L1 ≡ L2 . Важно заметить, что на основании представленной семантики конструктов дескриптивных логик можно сделать вывод о том, что одни конструкты можно выразить через другие. Например, для того чтобы использовать отрицание, можно ограничиться только отрицанием концепта (⌉A). Конструкт C может быть выражен в языке ALEU. Так же и ALC выражает конструкты E и U . Таким образом, ALEU есть тот же язык по свойствам выразительности и вычислимости, что и ALC (как и ALCEU). Заметим здесь, что классификация языков по выразительности не соответствует классификации языков по сложности вычислений. Языки дескриптивных логик, имеющие одинаковую вычислительную сложность обладают разной выразительностью: • языки AL и ALN принадлежат классу сложности, полиномиальному по времени. При этом AL < ALN; • языки ALE, ALR, ALER ALN принадлежат классу NP, при этом ALE < ALR < ALER; • сложность вычислений для ALU, ALUN соответствует coNP, но при этом ALU < ALUN; • языки ALC, ALUR, ALNR, ALCN, ALCR, ALEN, ALENR, ALUNR, ALCNR по сложности вычислений принадлежат классу PSPACE, в то время, как ALCNR имеет наиболее высокую выразительность. Утверждение 1.6.5. Пусть L — язык дескриптивной логики, полученный из языка AL добавлением непустого набора конструктов дескриптивной логики U , C, E, R, N . Тогда AL < L. 1.6.5. Отображение дескриптивной логики в логику первого порядка. Практически все выражения классической DL, построенные в языке AL, отображаются в формулы логики предикатов первого порядка со свободными переменными. Рассмотрим следующее отображение [18]: если (·)τ и (·)σ отображения ролей и концептов, соответственно, в язык логики первого порядка, то: Aτ x = Ax P σxy = P xy T τ x = (x = x) ⊥τ x = (x 6= x) (C ⊓ D)τ x = C τ x ∧ Dτ x (C ⊔ D)τ x = C τ x ∨ Dτ x (⌉C)τ x =⌉C τ x (∀P. C)τ x = ∀y(P σxy → C τ y ) 1.6. Элементы дескриптивной логики 67 (∃P. C)τ x = ∃y(P σxy ∧ C τ y ) (> nP )τ x = ∃y1 ...yn ( ∧ yi 6= yj ∧ ∧P σxyi ) i6=j i (6 nP )τ x = ∃y1 ...yn+1 (∧yi 6= yj → ∨⌉P σxyi ) i6=j (P ⊓ Q)σxy = P σxy ∧ Qσxy i Таким образом, формулы языка исчисления предикатов первого порядка имеют значительно более громоздкий вид, нежели соответствующие им формулы дескриптивой логики. 1.6.6. Дескриптивная логика с конкретным доменом. Во многих приложениях возникает необходимость при определении концептов использовать конкретные домены и соответствующие предикаты. Примером такого рода может служить множество неотрицательных целых чисел с предикатными символами > (больше или равно) или < (меньше). Предположим, что надо дать адекватное определение концепту ЖЕНЩИНА. Первая идея такого определения следующая: ЖЕНЩИНА≡ ЧЕЛОВЕК ⊓ ЖЕНСКИЙ ПОЛ. Однако новорожденного ребенка женского пола (как и, например, трехлетнего возраста) вряд ли уместно назвать так. Таким образом, требуется указать некоторые дополнительные свойства, в частности, достаточный для этого возраст, (например, не менее 18 лет), т. е. требуется ввести новую функциональную роль ИМЕТЬ ВОЗРАСТ и определить концепт ЖЕНЩИНА следующим образом: ЧЕЛОВЕК ⊓ ЖЕНСКИЙ ПОЛ ⊓ ИМЕТЬ ВОЗРАСТ. > 18 . Здесь > 18 обозначает одноместный предикатный символ, который интерпретируется как множество {n|n > 18} неотрицательных целых бо́льших или равных восемнадцати. Такое представление делает возможным рассуждения в конкретных доменах. Например, мы можем ввести новый атомарный концепт ПО КРАЙНЕЙ МЕРЕ18 для выражения свойства «не менее 18 лет». Далее, если ввести концепт ПО КРАЙНЕЙ МЕРЕ21, то можно ввести подходящее отношение поглощения между ними. Но это ничего не даст для установления, например, невыполнимости выражения ПО КРАЙНЕЙ МЕРЕ18 ⊓ САМОЕ БОЛЬШЕЕ16. Таким образом, следует ввести подходящую процедуру рассуждений об интервалах неотрицательных целых чисел. Рассмотрим процедуру расширения языка дескриптивной логики, следуя [24]. Определение 1.6.1. Конкретный домен D состоит из множества domD домена D и множества predD предикатных символов домена D. D = domD ∪ predD . Каждому предикатному символу P местности n соответствует отношение такой же местности P D ⊆ (domD )n . Пример 1.6.1. Множество натуральных чисел NAT с предикатами <, >, = есть конкретный домен. 3* 68 Гл. 1. Методы представления знаний Вычисления с нормальными формами с отрицаниями в таком расширенном языке требуют, чтобы множество предикатных символов конкретного домена было замкнуто относительно отрицания, т. е. если P — n-арный предикатный символ в predD , то должен существовать предикатный символ Q, такой что QD = (domD )n \P D . В этом случае будем полагать, что Q = ¬P . В дополнение к этому нам потребуется унарный предикатный символ для обозначения (domD )n . Понятно, также, что ¬ < n => n . Выясним теперь, какого рода механизмы рассуждений требуются в конкретных доменах. Пусть P1 , P2 , ... , Pк (не обязательно различные) — предикатные символы в predD с местностями n1 , n2 , ..., nк соответственно. Рассмотрим коньюнкцию ∧Pi (x(i) ) (i = 1, 2, ..., n), где каждое x(i) представляет некоторый кортеж переменных. Важно заметить, что все переменные как в одном кортеже, так и в различных, различаются. Будем говорить, что такая конъюнкция выполняется, если и только если существуют такие значения элементов из D, что при их подстановках на места соответствующих переменных конъюнкция становится истинной. Определение 1.6.2. Конкретный домен будем называть допустимым если и только если а) множество его предикатных символов замкнуто относительно отрицания и содержит предикатный символ ⊤D для (domD )n и б) задача выполнимости приведенной выше конъюнкции разрешима в D. Рассмотрим пример. Пусть мы хотим описать множество всех тех женщин, чьи отцы и мужья имеют одинаковый возраст. Соответствующее выражение будет иметь следующий вид: ЖЕНЩИНА ⊓ (ИМЕЕТ ОТЦА ◦ ИМЕЕТ ВОЗРАСТ = ИМЕЕТ МУЖА ◦ ИМЕЕТ ВОЗРАСТ). Однако, для выражения того, что муж старше отца, в языке без конкретного домена средства отсутствуют. Поэтому следует ввести конкретный домен N (с предикатным символом <) и записать: ЖЕНЩИНА ⊓ (ИМЕЕТ ОТЦА ◦ ИМЕЕТ ВОЗРАСТ, ИМЕЕТ МУЖА ◦ ИМЕЕТ ВОЗРАСТ). <. Определение 1.6.3. Интерпретация I языка ALC с конкретным доменом (этот язык будем обозначать через ALC(D)) содержит множество (domD )I — интерпретацию абстрактного домена и функцию интерпретации. Абстрактный домен и заданный конкретный домен не должны пересекаться, т. е. (domD )I ∩ domD = ∅. Как и ранее, функ- 1.6. Элементы дескриптивной логики 69 ция интерпретации каждому имени концепта ставит в соответствие некоторое подмножество (domD )I и каждой обычной роли — бинарное отношение в (domD )I . Новым является то обстоятельство, что функциональная роль интерпретируется теперь как частичная функция из (domD )I в (domD ) × domD . В качестве примера приведем определения прямоугольника и квадрата: ПРЯМОУГОЛЬНИК = ∃(x, y, b, h). УСЛОВИЯ ПРЯМОУГОЛЬНИКА, КВАДРАТ = ПРЯМОУГОЛЬНИК ⊓ ∃(b, h). ЭКВИВАЛЕНТНЫ. Здесь конкретные предикатные символы УСЛОВИЯ ПРЯМОУГОЛЬНИКА и ЭКВИВАЛЕНТНЫ определяются следующим образом: ЭКВИВАЛЕНТНЫ (x, y) ↔ x = y, а УСЛОВИЯ ПРЯМОУГОЛЬНИКА (x, y, b, h) ↔ b > 0 и h > 0. В заключение главы приведем сводку правил вывода в дескриптивной логике с конкретным доменом. 1.6.7. Правила вывода. Правила вывода в дескриптивной логике с конкретным доменом применяются к парам F. G, где F — факты, G — цели. Имеются два вида правил вывода: F. G → {A} ∪ F. G if B is in F F. G → F. G ∪ {A} if B is in G В соответствии с первым правилом множество фактов F пополняется ограничением A в том случае, если при тестировании множества фактов F находятся примеры выражений, перечисленные после «if». В соответствии со вторым правилом множество целей G пополняется ограничением A в том случае, если при тестировании множества целей G находятся примеры выражений, перечисленные после «if». Символ «→» используется в качестве разделителя. Система ограничений будет называться противоречивой, если содержит выражение вида: • {a : {b}}, где a 6= b, • {sP a, sP b, s : A}, где A ⊑ (6 1P ) и a 6= b, • {P1 (k (1) ), ..., Pn (k (n) )}, где ∧ni=1 Pi (k (i) ) ⊥, • {s : ⊤, s : D}. Выражение x : X обозначает, что переменная x присутствует в множестве X. В результате применения правил вывода к паре ограничений F. G строится система ограничений F ′ . G′ , которая исследуется на предмет наличия противоречий. 70 Гл. 1. Методы представления знаний Противоречивая система ограничений свидетельствует о том, что рассматриваемая формула не является логическим следствием базы знаний. Правила организованы в 5 групп в зависимости от структуры формулы. Теорема 1.6.1 [23]. Сложность вычислений в дескриптивной логике с конкретным доменом равна coNP. В заключение приведем список правил вывода дескриптивных логик с конкретным доменом (таблицы 1.4–1.8). Т а б л и ц а 1.4. Доменные правила DO1: F. G → {s : ⊤} ∪ F. G if s: C is in F DO2: F. G → {s : ⊤} ∪ F. G if sRt is in F DO3: F. G → {k : D} ∪ F. G if sPD k is in F DO4: F. G → {k1 : D, ..., kn : D} ∪ F. G if P (k1 , ..., kn ) is in F DO5: F. G → F. G ∪ {s : ⊤} if s: C is in G DO6: F. G → F. G ∪ {s : ⊤} if sRt is in G DO7: F. G → F. G ∪ {k : D} if sPD k is in G DO8: F. G → F. G ∪ {k1 : D, ..., kn : D} if P (k1 , ..., kn ) is in G Т а б л и ц а 1.5. Правила декомпозиции D1: F. G → {s : C; s : D} ∪ F. G if s : C ⊓ D is in F D2: F. G → {sQt} ∪ F. G if tQ− s is in F D3: F. G → (F. G)[y/a] if y : {a} is in F D4: F. G → {spy} ∪ F. G if s : ∃p is in F and there is not with spt in F and y is a fresh variable D5 : F. G → {spy} ∪ F. G if s: ∃pε is in F D6: F. G → {sQy; y : C; ypt} ∪ F. G if s(Q : C)pt is in F , and there is no t′ such that sQt′ , t′ : C, t′ pt are all in F , and p 6= ε, and y is a fresh variable D7: F. G → {sQt; t : C} ∪ F. G if s(Q : C)t is in F I D8: F. G → (F : G)[k/PD (s)] if sPD k is in F and k is a variable D9: F. G → {sp1 k1 , ..., spn kn , P (k1 , ..., kn )} ∪ F. G if s : P (p1 , ...pn ) is in F and there are no ki′ such that spi ki′ and P (k1′ , ..., kn′ ) are in F . The ki are fresh variables for concrete objects 1.6. Элементы дескриптивной логики 71 Т а б л и ц а 1.6. Правила схемы S1: F. G → {s : A2 } ∪ F. G if s : A1 is in F and A1 ⊑ A2 is in Σ S2: F. G → {t : A2 } ∪ F. G if s : A1 and sP t are in F , and A1 ⊑ ∀P. A2 is in Σ S3: F. G → {s : A1 , t : A2 } ∪ F. G if sP t is in F , and P ⊑ A1 × A2 is in Σ S4: F. G → (F : G)[y/t] if s : A, sP y, sP t are in F , and A ⊑ (6 1P ) is in Σ S5: F. G → {sP y} ∪ F. G if s : ∃(P : C)p is in G or s : ∃(P : C)p = ε is in G, or else s : P (p1 , ..., pn ) is in G with pi = (P : C)q, and there is no t with sP t in F , and there is an A with s: A in F and A ⊑ ∃P in Σ, and y is a fresh variable S6: F. G → {sPD k} ∪ F. G if s : ∃PD is in G or s : P (..., PD , ...) is in G, and there is no k with sPD k in F , and there is an A with s : A in F and A ⊑ ∃PD in Σ, and k is a fresh variable Т а б л и ц а 1.7. Целевые правила G1: F. G → F. G ∪ {s : C; s : D} if s : C ⊓ D is in G G2: F. G → F. G ∪ {t : C} if s : ∃(Q : C) is in G or s : ∃(Q : C) = ε is in G, and sQt is in F G3: F. G → F. G ∪ {t : C, t : ∃p} if s : ∃(Q : C)p is in G or s : ∃(Q : C)p = ε is in G or s : P (p1 , ..., pn ) is in G with pi = (Q : C)q and sQt is in F Т а б л и ц а 1.8. Правила композиции C1: F. G → {s : C ⊓ D} ∪ F. G if s : C, s : D is in G C2: F. G → {s : ⊤} ∪ F. G if s : C is in G C3: F. G → {s : ∃p} ∪ F. G if p = ε or there exist t with spt in F and s : ∃p is in G C4: F. G → {s : ∃p = ε} ∪ F. G if p = ε or sps is in F , and s : ∃p = ε is in G C5: F. G → {s(Q : C)pt} ∪ F. G there is a t′ such that sQt′ , t′ : C, t′ pt is in F , such that s : ∃(Q : C)p or s : ∃(Q : C)p = ε or s : P (..., (Q : C)p, ...) is in G C6: F. G → {s(Q : C)t} ∪ F. G if sQt, t : C are in F , and s : ∃(Q : C) or s : ∃(Q : C) = ε is in G D7: F. G → {s : P (p1 , ..., pn ) s : P (p1 , ..., pn )} ∪ F. G if there exist ki i = 1...n (n > 1) with spi ki in F and s : P (p1 , ..., pn ) is in G Глава 2 МЕТОДЫ АВТОМАТИЗАЦИИ РАССУЖДЕНИЙ Введение Во введении мы приведем краткую характеристику основных процедур рассуждений, таких как дедукция, индукция, аналогия, рассуждения на основе прецедентов, абдукция и аргументация. Затем более детально рассмотрим методы автоматизации некоторых из названных типов рассуждений в вычислительных системах. Начнем с дедуктивных рассуждений. Дедуктивное рассуждение — это последовательность дедуктивных умозаключений. Дедуктивным называют такое умозаключение, в котором из знания большей степени общности выводится знание меньшей степени общности. Первые точные схемы дедуктивных умозаключений принадлежат Аристотелю (384–322 гг. до нашей эры). Эти схемы носят название силлогизмов. К числу основных силлогизмов Аристотеля относятся категорический силлогизм, условный силлогизм, разделительный силлогизм, условно-разделительный силлогизм; сокращенные, сложные и сложносокращенные силлогизмы или энтимемы. Каждый из силлогизмов имеет несколько разновидностей, отличающихся друг от друга количеством и качеством посылок и называемых модусами. Связано такое разделение с тем, что все суждения по своему качеству делятся на четыре вида: общеутвердительные, общеотрицательные, частноутвердительные и частноотрицательные. Так, простой категорический силлогизм состоит из трех суждений, два из которых выступают в качестве посылок, а одно — заключение. Первая из посылок носит общеутвердительный характер, вторая посылка и заключение могут носить частноутвердительный характер. Например, «Каждый студент должен владеть дедуктивным методом», «Сидоров — студент»; «Сидоров должен владеть дедуктивным методом». Здесь до точки с запятой приведены посылки, а после точки с запятой — заключение силлогизма. Введение 73 Существует определенный набор правил работы с силлогизмами, определяющих корректность их применения. Можно считать, что именно с этими событиями связано возникновение науки под названием логика. С середины XIX в. (Дж. Буль, 1847, О. де Морган, 1858) появились первые работы по формализации аристотелевой логики. Г. Фреге (1848) и Ч. Пирс (1885) ввели в логику предикатные переменные, предметные переменные и кванторы. В ходе последовавших затем работ по применению логического подхода к изучению оснований математики был создан богатый логический аппарат и оформилась математическая научная дисциплина под названием математическая логика. В классической математической логике основными правилами дедуктивных рассуждений являются аксиомы и правила вывода. Например, правило модус поненс (правило отделения): если A, B и C — формулы, то из выводимости A и B → C следует выводимость C; или аксиомы: (A → B) → (¬B → ¬A). Дедуктивные рассуждения относят к числу достоверных рассуждений. Индуктивные рассуждения основаны на индуктивных умозаключениях. Индуктивным называют умозаключение от знания меньшей степени общности к знанию большей степени общности, от частного к общему, от фактов к обобщениям. Индукция эффективна при выдвижении гипотез, нахождении причинных связей явлений. Индуктивные заключения, вообще говоря, не относятся к числу достоверных; их следует назвать правдоподобными. Различается два вида индукции: полная и неполная. Полной индукцией называют индуктивное умозаключение, в котором заключается, что все представители рассматриваемого класса обладают определенным признаком на том основании, что этим признаком обладает каждый из представителей этого класса. (Пример — индуктивные рассуждения в математике, полная математическая индукция, неотъемлемым шагом которой является дедуктивное умозаключение.) Неполной индукцией называется такое индуктивное умозаключение, в котором заключается, что все представители рассматриваемого класса обладают определенным признаком на том основании, что этим признаком обладают некоторые представители этого класса. Различают также популярную индукцию и научную индукцию. В основе этого различения лежат способы обоснования заключения. В популярной индукции вывод обо всех элементах класса делается 74 Гл. 2. Методы автоматизации рассуждений на основании исследования некоторых элементов класса при отсутствии противоречащих примеров. В отличие от этого, в научной индукции производится анализ и отбор фактов, исключающих случайность обобщения. Умозаключения научной индукции основаны на изучении причинной связи явлений. Для изучения причинной связи явлений Дж. С. Миль предложил метод сходства, метод различия, метод сходства–различия. Существуют и иные методы изучения причинной связи явлений. Метод сходства — это умозаключение о причине явления, основанное на сравнении двух или более групп факторов, при наличии которых наступает это явление. Если все случаи наблюдаемого явления имеют только один общий фактор, то этот общий фактор и является причиной рассматриваемого явления. Метод различия — это умозаключение о причине явления, основанное на сравнении случаев, в которых исследуемое явление наступает и не наступает. Если оба случая сходны по всем факторам, кроме одного, и этот фактор присутствует в случае, когда явление наступает, то он является причиной рассматриваемого явления. Методы индуктивных рассуждений особенно востребованы в исследованиях открытых систем. Абдукция — это способ порождения гипотез, основанный на переходе от частного суждения к частному. В простейшем случае она имеет следующую форму: «из A и B влечет A выводится B». Абдуктивная гипотеза B может рассматриваться как возможное объяснение A. Разумеется этот способ рассуждений также относится к числу правдоподобных. Аналогией называют перенос свойств некоторого единичного явления, процесса или предмета на другое единичное явление, процесс или предмет, если между ними замечено сходство их существенных свойств. Различают строгую и нестрогую или простую аналогию. При строгой аналогии должно быть достоверно установлено, что переносимый признак предмета A с необходимостью связан с признаками сходства. Тогда это обстоятельство служит достаточным основанием для достоверного переноса этого признака на предмет B. При простой аналогии зависимость между признаками сходства и переносимым признаком носит правдоподобный характер. Рассуждения на основе прецедентов (CBR) составляют совокупность методов поиска решения некоторой проблемы при известных решениях подпроблем. В частном случае подпроблема может совпасть с проблемой. Более точно: задано множество прецедентов (или множество пар) hСЛУЧАЙ, РЕШЕНИЕi, целевая проблема (целевой случай) 2.1. Автоматизация дедуктивных рассуждений 75 ЦЕЛЬ, множество зависимостей внутри прецедентов hСЛУЧАЙ → РЕШЕНИЕi. Вопрос состоит в следующем: каково же решение целевой проблемы? т. е. какая пара hЦЕЛЬ, РЕШЕНИЕi решает целевую проблему? Основными задачами в моделировании рассуждений на основе прецедентов являются: — идентификация текущей проблемы; — поиск подходящего прецедента; — использование найденного прецедента для решения текущей проблемы; часто для этого следует выполнить адаптацию старого решения к текущей ситуации. Некоторые алгоритмы CBR основаны на сравнении прецедентов (точнее, той их части, которая обозначена нами как СЛУЧАЙ) и целевой проблемы и на зависимостях внутри прецедентов. Характеристики задачи могут описываться атрибутами, имеющими численные значения, или любыми такими атрибутами, на множестве которых задан частичный порядок. Построение такого рода алгоритмов сегодня можно считать важнейшим направлением исследований в области CBR. Проблемами CBR являются, кроме того, проблема выбора подходящего прецедента и адаптация. Рассуждения на основе аргументации состоят в выдвижении правдоподобных гипотез и их последующем обосновании или опровержении. Для этой цели используется множество аргументов, среди которых имеются аргументы «за» и «против». Более подробное изложение некоторых методов автоматизации рассуждений будет приведено ниже, и начнем мы с дедуктивных рассуждений, а именно, c метода резолюций. 2.1. Автоматизация дедуктивных рассуждений. Поиск доказательств теорем методом резолюций Многие интересные и практически важные задачи могут быть сформулированы как задачи доказательства теорем в подходящем логическом исчислении. Перечислим некоторые из таких задач. 1. Дедуктивные вопросно-ответные системы. В вопросно-ответных системах факты могут быть представлены логическими формулами. Тогда для ответа на некоторый вопрос следует доказать, что формула, соответствующая ответу, логически выводима из фактов. 76 Гл. 2. Методы автоматизации рассуждений 2. Задача анализа программ. В задаче анализа программ выполнение программы можно описать формулой A, а условие завершения работы программы — формулой B. Тогда проверка того, что программа завершит работу, эквивалентна доказательству того, что формула B следует из формулы A. 3. Задача синтеза программ. Если условие и результат задачи можно представить в виде логических формул, то решение задачи можно рассматривать как логический вывод результата из формул условия. Программа же решения задачи извлекается в этом случае из вывода. 4. Изоморфизм графов. Часто требуется выяснить, изоморфен ли граф подграфу другого графа. Задача может быть сформулирована как задача выводимости формулы, представляющий один граф, из формулы, представляющей другой граф. Поскольку все перечисленные задачи относятся к трудным вычислительным задачам, то через некоторое время после появления вычислительных машин, а именно, во второй половине 60-х годов XX в. наблюдался резкий всплеск интереса к машинному автоматическому поиску доказательств теорем. На самом деле, поиск универсальной разрешающей процедуры для проверки общезначимости формул был начат еще Лейбницем в XVII в. В дальнейшем эти попытки возобновили Пеано (на рубеже XX в.) и Гильберт со своими учениками в 20-х годах XX в. Эти попытки продолжались до тех пор, пока Черч и Тьюринг в 1936 г. не доказали, что никакой общей разрешающей процедуры для проверки общезначимости формул не существует, иначе говоря, не существует универсального алгоритма, проверяющего общезначимость формул в логике первого порядка. Это не означает, однако, что общезначимость формулы установить невозможно. Существуют алгоритмы, которые могут установить, что формула общезначима, если она на самом деле общезначима. Если же она не является общезначимой, то эти алгоритмы, вообще говоря, никогда не закончат свою работу. Это лучшее, что можно ожидать от универсальных алгоритмов поиска доказательства. Теоретические основы соответствующих компьютерных методов были заложены в 1930 г. Эрбраном. Первые же практически важные шаги на пути создания программ автоматического доказательства теорем были сделаны после основополагающих работ С. Ю. Маслова [25] об обратном методе установления выводимости в классическом исчислении предикатов и Дж. А. Робинсона [26] о методе резолюций, выполненных ими независимо в 1964 и 1965 годах соответственно. 2.1. Автоматизация дедуктивных рассуждений 77 2.1.1. Скулемовская стандартная форма. При поиске доказательства методом резолюций используются так называемые скулемовские стандартные формы формул исчисления предикатов первого порядка. При приведении формулы к скулемовской стандартной форме используются следующие соображения: 1. Формула логики первого порядка может быть приведена к пренексной нормальной форме, в которой все кванторы содержатся в префиксе (т. е. ни одному квантору не предшествует предикатный символ). 2. Матрица (т. е. часть формулы, следующая за префиксом и не содержащая кванторов) может быть сведена к коньюктивной нормальной форме. 3. В формуле можно элиминировать кванторы существования с помощью скулемовских функций. Рассмотрим вначале метод приведения формулы к пренексной нормальной форме [27]. Для этого рассмотрим основные законы эквивалентности в логике первого порядка. Здесь мы полагаем, что x и y являются свободными переменными в формулах A и B, соответственно: 1◦ . – (∃x)A(x) ∨ (∃x)B(x) = ∃x((A(x) ∨ B(x)); 2◦ . ¬(∀x)A(x) = ∃x(¬A(x)); 3◦ . ¬(∃x)A(x) = (∀x)(¬A(x)); 4◦ . F ↔ G = (F → G) ∧ (G → F ); 5◦ . (∀x)A(x) ∧ (∀x)B(x) = ∀x(A(x) ∧ B(x)); 6◦ . F → G = ¬F ∨ G. Имеется и ряд других эквивалентностей, которые будут использоваться по мере необходимости. Здесь уместно заметить, что квантор всеобщности ∀ и квантор существования ∃ нельзя проносить через дизъюнкцию и конъюнкцию соответственно, т. е. (∀x)A(x) ∨ (∀x)B(x) 6= ∀x(A(x) ∨ B(x)), (∃x)A(x) ∧ (∃x)B(x) 6= ∃x((A(x) ∧ B(x)). В таких случаях надо вспоминать, что связанная переменная — лишь место для подстановки какой угодно переменной и, следовательно, каждую связанную переменную можно переименовать. Например, формулу (∀x)A(x) ∨ (∀x)B(x) можно преобразовать в формулу (∀x)A(x) ∨ (∀z)B(z), где z не встречается в A(x). Тогда (∀x)A(x) ∨ (∀z)B(z) = (∀x)(∀z)(A(x) ∨ B(z)). 78 Гл. 2. Методы автоматизации рассуждений Аналогичным образом преобразуется и формула (∃x)A(x) ∧ (∃z)B(z) = (∃x)(∃z)(A(x) ∧ B(z)). Далее формулу следует привести к следующему виду: (Q1 x1 ) ... (Qn xn )(M ), где каждое Qi xi (i = 1, 2, ..., n) есть или (∀xi ) или (∃xi ), а M есть формула, не содержащая кванторов. Такой вид и будет называться пренексной нормальной формой. Тогда (Q1 x1 ) ... (Qn xn ) называют префиксом, а M — матрицей формулы. Опишем теперь кратко алгоритм приведения формул к предваренной нормальной форме [27]: 1. Если в формуле присутствуют логические связки ↔ и →, то приме́ним к ней законы F ↔ G = (F → G) ∧ (G → F ), F → G = ¬F ∨ G для исключения этих связок. 2. Если перед формулой имеется знак отрицания, то используем законы ¬(¬F ) = F , ¬(F ∨ G) = ¬F ∧ ¬G, ¬(F ∧ G) = ¬F ∨ ¬G и законы ¬(∀x)A(x) = ∃(x¬A(x)), ¬(∃x)A(x) = (∀x)(¬A(x)), для того, чтобы пронести знак отрицания внутрь формулы. 3. Если необходимо, переименовываем связанные переменные. 4. Выносим кванторы в начало формулы, для чего используем законы (∀x)A(x) ∧ (∀x)B(x) = ∀x(A(x) ∧ B(x)), (∃x)A(x) ∨ (∃x)B(x) = ∃x((A(x) ∨ B(x)), (Qx)A(x) ∨ G = (Qx)(A(x) ∨ G), (Qx)A(x) ∧ G = (Qx)(A(x) ∧ G), (Q1 x)A(x) ∨ (Q2 x)B(x) = (Q1 x)(Q2 y)((A(x) ∨ B(y)), (Q1 x)A(x) ∧ (Q2 x)B(x) = (Q1 x)(Q2 y)((A(x) ∧ B(y)). 2.1. Автоматизация дедуктивных рассуждений 79 Далее следует M — матрицу формулы — привести к конъюнктивной нормальной форме. Для этого введем следующие определения. Определение 2.1.1. Литерой будем называть атомарную формулу или ее отрицание. Определение 2.1.2. Формула F находится в конъюнктивной нормальной форме тогда и только тогда, когда F имеет вид n > 1, а каждая F1 , F2 , . . ., Fn есть дизъюнкция литер F1 ∧ F2 ∧ ... ∧ Fn . Приведем схематическое описание процедуры преобразования к конъюнктивной нормальной форме (впрочем, следует заметить, что эта же схема годится и для дизъюнктивной нормальной формы): 1. Элиминируем логические связки → и ↔, применяя эквивалентности F ↔ G = (F → G) ∧ (G → F ), F → G = ¬F ∨ G. 2. Проносим знак отрицания к атомам, используя (возможно, несколько раз) законы ¬(¬F ) = F , ¬(F ∨ G) = ¬F ∧ ¬G, ¬(F ∧ G) = ¬F ∨ ¬G. 3. Используем (возможно, несколько раз) законы F ∨ (G ∧ H) = (F ∨ G) ∧ (F ∨ H), F ∧ (G ∨ H) = (F ∧ G) ∨ (F ∧ H) для получения нормальной формы. После выполнения соответствующих процедур для приведения формулы к скулемовской нормальной форме осталось элиминировать кванторы существования. Это выполняется следующим образом: пусть формула имеет вид (Q1 x1 ) ... (Qn xn )(M ), где M есть конъюнктивная нормальная форма, и пусть некоторое Qi есть квантор существования в префиксе (Q1 x1 ) ... (Qn xn )(M ). Если в указанном префиксе левее Qi нет никакого квантора всеобщности, выбирается новая константа c, отличная от всех иных констант, входящих в M , и все xi в M заменяются на c. Если же левее 80 Гл. 2. Методы автоматизации рассуждений Qi встречаются кванторы всеобщности Qα , ..., Qχ , выбирается новый m-местный функциональный символ f , отличный от всех иных функциональных символов в M , то все xi в M заменяются на f (xα , ..., xχ ) и (Qi xi ) вычеркивается из префикса. Затем этот процесс применяется ко всем кванторам существования в префиксе. Последняя из полученных таким образом формул и есть скулемовская нормальная форма. Константы и функции, используемые для замены переменных, связанных кванторами существования, называются скулемовскими функциями. Введем понятие дизъюнкта. Определение 2.1.3. Дизъюнкция литер называется дизъюнктом. Далее там, где это будет удобно, будем рассматривать как синоним дизъюнкта множество литер. Определение 2.1.4. Если A — атомарная формула, то две литеры A и ¬A называют контрарными, а множество {A, ¬A} — контрарной парой. Заметим, что если дизъюнкт содержит контрарную пару, то он является тавтологией. Если дизъюнкт не содержит литер, то он называется пустым дизъюнктом, если он содержит одну литеру, то называется однолитерным дизъюнктом, а если содержит k литер — k-литерным дизъюнктом. Так как пустой дизъюнкт не содержит литер, которые могли бы быть истинны, то он всегда ложен. Пустой дизъюнкт обозначается . Каждое множество дизъюнктов S будем считать конъюнкцией всех дизъюнктов из S, где каждая переменная считается связанной квантором всеобщности. Тогда скулемовская стандартная форма может быть представлена множеством дизъюнктов. Справедлива следующая Теорема 2.1.1. Пусть S — множество дизъюнктов, представляющих скулемовскую стандартную форму формулы F . Тогда F невыполнима в том и только в том случае, когда S противоречиво. Д о к а з а т е л ь с т в о теоремы мы опустим. Далее для множеств дизъюнктов будут использованы термины невыполнимо/выполнимо вместо противоречиво/непротиворечиво. 2.1.2. Метод резолюций для исчисления высказываний. Основная идея метода резолюций состоит в том, чтобы проверить, содержит ли множество S пустой дизъюнкт . Если S содержит пустой дизъюнкт, то, как следует из предыдущего параграфа, S невыполнимо. Если S не содержит , то проверяется: может ли быть получен из S? Метод резолюций можно рассматривать как специальное правило вывода, используемое для порождения из S новых дизъюнктов. Это 2.1. Автоматизация дедуктивных рассуждений 81 правило вывода таково: в том случае, если для любых двух дизъюнктов C1 и C2 существует литера L1 в C1 , которая контрарна литере L2 в C2 , то вычеркнув L1 и L2 из C1 и C2 соответственно можно построить дизъюнкцию оставшихся дизъюнктов, которая будет являться следствием C1 и C2 . Эта последняя дизъюнкция называется резольвентой. Корректность этого правила вывода устанавливает следующая Теорема 2.1.2. Пусть даны два дизъюнкта C1 и C2 . Тогда резольвента С дизъюнктов C1 и C2 есть логическое следствие C1 и C2. Д о к а з а т е л ь с т в о. Пусть C1 = L ∨ Ca , C2 = ¬L ∨ Cb , C = Ca ∨ Cb , где Ca и Cb — дизъюнкции литер. Предположим, что C1 и C2 истинны в некоторой интерпретации I. Очевидно, либо L, либо ¬L ложно в I. Пусть, например, L ложно в I. Тогда Ca должен быть истинен в I (иначе предположение об истинности C1 неверно). Таким образом, резольвента, т. е. Ca ∨ Cb истинна в I. Аналогично можно показать, что если ¬L ложно в I, то Cb должен быть истинен в I. Следовательно, Ca ∨ Cb истинна в I, что требовалось доказать. Пример 2.1.1. Рассмотрим множество дизъюнктов ¬Q ∨ R, Q ∨ P, тогда резольвента этих двух дизъюнктов есть P ∨ R. Пример 2.1.2. Рассмотрим множество дизъюнктов 1. S ∨ R ∨ ¬Q; 2. ¬R; 3. Q ∨ ¬S. Из 1 и 2 получаем 4. S ∨ ¬Q. Из 3 и 4 получаем пустой дизъюнкт . 82 Гл. 2. Методы автоматизации рассуждений 2.1.3. Метод резолюций для исчисления предикатов первого порядка. Как мы видели, наиболее существенным моментом в использовании метода резолюций является нахождение в дизъюнкте литеры, контрарной литере в некотором другом дизъюнкте. Если в исчислении высказываний это достаточно просто, то в исчислении предикатов, когда мы имеем дело с формулами, содержащими индивидные переменные, ситуация усложняется. Рассмотрим, например, дизъюнкты: C1 : P (x) ∨ Q(x), C2 : ¬P (f (x)) ∨ R(x). В C1 не существует литеры, контрарной какой-либо литере из C2 . Однако вспоминая, что все переменные в формулах P (x) и Q(x) имеют универсальную квантификацию, и подставляя f (x) в C1 вместо x, получим C1 : P (f (x)) ∨ Q(f (x)), C2 : ¬P (f (x)) ∨ R(x). Эти два дизъюнкта уже легко резольвировать; получим Q(f (x)) ∨ R(x). Если в C1 и C2 подставлять на места переменных другие подходящие термы, можно получать новые резольвенты C. Например, подставив a вместо x в C2 и f (a) вместо x в C1 , получим резольвенту Q(f (a)) ∨ R(a). Таким образом, резольвента Q(f (x)) ∨ R(x) является, в некотором смысле, наиболее общей по отношению ко всем другим, так как все иные резольвенты (в частности, предыдущая) являются ее примерами. Из сказанного видно, что получение резольвент из дизъюнктов часто требует подстановок. Определение 2.1.5. Подстановка — это конечное множество вида {t1 /v1 , ..., tn /vn }, где каждая vi — переменная, а каждый ti — терм, отличный от vi , и все vi различны. Подстановка, которая не содержит элементов, называется пустой и обозначается ε. Определение 2.1.6. Пусть θ = {t1 /v1 , ..., tn /vn } — подстановка и E — выражение. Тогда Eθ — выражение, полученное из E одновременной заменой всех вхождений переменной vi на терм ti . Eθ называют примером E. 2.1. Автоматизация дедуктивных рассуждений 83 Определение 2.1.7. Подстановка θ называется унификатором для множества {e1 , e2 , ..., ek } тогда и только тогда, кода e1 θ = e2 θ = ... = = ek θ. Если для множества E существует унификатор, то оно называется унифицируемым. Определение 2.1.8. Унификатор σ для множества {e1 , e2 , ..., ek } будет наиболее общим унификатором тогда и только тогда, когда для каждого унификатора θ этого множества найдется такая подстановка λ, что θ = σλ. Пример 2.1.3. Множество {P (a, y), P (x, f (b))} унифицируемо, так как подстановка θ = {a/x, f (b)/y} является его унификатором. Таким образом, ключевой задачей метода резолюций для исчисления предикатов первого порядка является нахождение наиболее общего унификатора. Прежде чем переходить к изложению общего алгоритма ее решения, дадим определение множества рассогласований. Определение 2.1.9. Множество рассогласований непустого множества выражений W есть такое множество подвыражений, которые начинаются с различающихся символов, находящихся в одних и тех же позициях в выражениях из W . Пример 2.1.4. Если W = {P (x, f (y, z)), P (x, a), P (x, g(h(k(x))))}, то первой позицией, в которой появляются различные символы, является пятая (символы «P », «(», «x», «,» первых четырех позиций во всех выражениях из W совпадают); таким образом, множеством рассогласований будет являться множество W = {f (y, z), a, g(h(k(x)))}. Перейдем теперь к алгоритму унификации. Алгоритм унификации: Шаг 1. Положим k = 0, Wk = W и σk = ε. Шаг 2. Если Wk — единичный дизъюнкт, то σk — наиболее общий унификатор для W . В противном случае — поиск множества Dk рассогласований для Wk . Шаг 3. Если существуют такие элементы vk и tk в Dk , что vk — переменная, не входящая в tk , то перейти к п. 4. Иначе W не унифицируемо. Шаг 4. Пусть σk+1 = σk {tk /vk }, тогда Wk+1 = Wk {tk /vk }. Шаг 5. k := k + 1; перейти к п. 2. Приведем некоторые примеры применения унификации. Пример 2.1.5. Пусть W = {Q(f (a), g(x)), Q(y, y)}. 1. Положим σ0 = ε и W0 = W ; 2. Множеством рассогласований для W0 является D0 = {f (a), y}, т. е. v0 = y и t0 = f (a); 84 Гл. 2. Методы автоматизации рассуждений 3. Тогда σ1 = σ0 {t0 /v0 } = ε{f (a)/y} = {f (a)/y}; 4. W1 = W0 {t0 /v0 } = {Q(f (a), g(x), Q(y, y)}{f (a)/y} = = {Q(f (a), g(x), Q(f (a), f (a))}; 5. Множеством рассогласований для W1 является D1 = {g(x), f (a)}; 6. Так как подстановки, исключающей последнее рассогласование, не существует, то множество W не унифицируемо. Пример 2.1.6. Пусть W = {P (x, f (y)), P (a, u)}. На первом проходе алгоритма будет найдена подстановка σ1 = a/x, так как множество рассогласований D0 = {x, a}. Множество W1 будет равно {P (a, f (y)), P (a, u)}. На втором проходе алгоритма подстановка будет расширена до σ2 = {a/x, f (y)/u)} и W2 = {P (a, f (y))}. Так как W2 состоит из одного литерала, то алгоритм закончит работу и выдаст s2 . Пример 2.1.7. Пусть W = {P (x, f (y)), P (a, b)}. На первом проходе алгоритма будет найдена подстановка σ1 = a/x и W1 = {P (a, f (y)), P (a, b)}. На третьем шаге второго прохода будет выдано сообщение о том, что множество W неунифицируемо, так как множество рассогласования D1 = {f (y), b} не содержит переменной. Отметим, что при выполнении шага 4 из множества Wk удаляется одна из переменных (переменная vk ), а никакой новой переменной не возникает. Это означает, что алгоритм унификации всегда заканчивает работу. Ясно также, что если алгоритм заканчивает работу на шаге 3, то множество M неунифицируемое. Также понятно, что если алгоритм заканчивает работу на шаге 2, то σk — унификатор множества W . Таким образом, возвращаясь, собственно, к методу резолюций, получаем следующую схему применения метода в случае исчисления предикатов первого порядка: 1. Взятие отрицания целевой формулы. 2. Приведение множества формул к сколемовской нормальной форме. 3. Нахождение унифицирующих подстановок и унификация множества дизъюнктов. 4. Резольвирование множества дизъюнктов и нахождение пустого дизъюнкта (если таковой существует). Примеры В заключение параграфа рассмотрим несколько примеров применения метода резолюций в исчислении высказываний и в исчислении предикатов. 2.1. Примеры 85 Пример 2.1.8. Даны 4 утверждения: P → S, S → U, P, U. Преобразуем все утверждения в стандартную форму: (1) ¬P ∨ S, (2) ¬S ∨ U , (3) P , (4) U. Докажем путем опровержения, что U — логическое следствие из (1), (2) и (3). Отрицаем (4) и получаем (1) ¬P ∨ S, (2) ¬S ∨ U , (3) P , (4) ¬ U (5) S (6) U (7) отрицание заключения, резольвента (3) и (1), резольвента (5) и (2), резольвента (6) и (4). Пример 2.1.9. Дано множество формул: F1 : (∀x) C(x) → (W (x) ∧ R(x)) , F2 : (∃x)(C(x) ∧ O(x)), G : (∃x)(O(x) ∧ R(x)). Доказать, что G является логическим следствием F1 и F2 . Преобразуем F1 , F2 и ∼ G в стандартную форму и получим следующие пять дизьюнктов: (1) C(x) ∨ W (x), (2) C(x) ∨ R(x) из F1 , (3) C(a), (4) O(a) из F2 , (5) ¬O(x) ∨ ¬R(x) из ¬G. 86 Гл. 2. Методы автоматизации рассуждений Это множество дизьюнктов невыполнимо. Докажем при помощи метода резолюций: (6) R(a) резольвента (3) и (2), (7) ¬R(a) резольвента (5) и (4), (8) резольвента (7) и (6). Таким образом, G — логическое следствие F1 и F2 . Пример 2.1.10. Дано множество формул: F1 : (∃x) P (x) ∧ (∀y)(D(y) → L(x, y)) , F2 : (∀x) P (x) → (∀y)(Q(y) → ¬L(x, y)) , G : (∀x) D(x) → ¬Q(x)) . Преобразуем F1 , F2 и ∼ G в следующие дизъюнкты: (1) P (a), (2) ¬D(y) ∨ L(a, y) из F1 , (3) ¬P (x) ∨ ¬Q(y) ∨ ¬L(x, y) из F2 , (4) D(b) (5) Q(b) из ¬G. Используя метод резолюций, получим (6) L(a, b) (7) ¬Q(y) ∨ ¬L(a, y) (8) ¬L(a, b) (8) резольвента резольвента резольвента резольвента (4) (3) (5) (6) и и и и (2), (1), (7), (8). 2.2. Индуктивные рассуждения 2.2.1. Понятие квазиаксиоматической теории. Прежде чем рассматривать собственно индуктивные рассуждения, охарактеризуем в целом тот класс рассуждений, к которому можно отнести индуктивные рассуждения. Прежде всего, заметим, что хотя индуктивные рассуждения являются правдоподобными, т. е. не являются достоверными, они не должны быть тривиально недостоверными, например, не должны использовать некорректные правила вывода типа A, A → B ⇒ B → A. 2.2. Индуктивные рассуждения 87 Далее, для них характерна контекстная зависимость от условий применения посылок; следующей их характеристикой является неполнота информации, часто приводящая к использованию посылок с неопределенным истинностным значением. Это последнее обстоятельство означает, в частности, многозначность используемой для формализации подобных рассуждений логики. Неполнота информации связана с открытостью предметной области или, как принято иногда говорить, с открытостью мира. Это означает, что в этом случае мы имеем дело с открытостью множества утверждений, представляющих систему знаний о предметной области и используемых в качестве посылок в выводах. Логическим уточнением понятия открытого мира является понятие квазиаксиоматической теории, введенное В. К. Финном [28]. Квазиаксиматическая теория K = hΣ, Σ′ , Ri, где Σ — некоторое множество аксиом предметной области, не полностью ее харатеризующее; Σ′ — множество фактов предметной области или гипотез; R — множество правил вывода (как достоверного, так и правдоподобного). Пусть Kn — состояние квазиаксиоматической теории, полученное в результате n последовательных применений правил правдоподобного вывода из R, Kn = hΣn , Σ′n , Ri, а K0 — начальное состояние, тогда n n S S пара hΣ, Σ′ i , где Σ = Σn и Σ′ = Σ′n , соответствует n-му состоянию 0 0 базы знаний. Последовательность состояний K0 , K1 , ..., Kn квазиаксиоматической теории K, где K0 — начальное состояние, Kn — заключительное состояние, такое, что применение правил правдоподобного вывода к Kn порождает Kn+1 , причем Kn+1 = Kn , называется p-рассуждением. Применение правил достоверного вывода из R к результатам p-рассуждения называется pr-рассуждением. Если из того, что Ф выводима из Г, где Г — некоторое множество формул, следует, что Ф выводима из Г и Ψ, где Ψ — формула, то вывод называется монотонным. В противном случае, вывод называется немонотонным. Рассмотрим правило индуктивного вывода A(a1 ), ..., A(an ) ⇒ ⇒ ∀xA(x), введенное в 2.1.2. Если элементы a1 , ..., an не исчерпывают U , то новый индивид an+1 ∈ U может не обладать свойством A и заключение ∀xA(x) оказывается несправедливым. Это означает, что ∀xA(x) не выводится из A(a1 ), ..., A(an ) и B(an+1 ) (где B — какое либо свойство an+1 ), т. е. индуктивный вывод не является монотонным. 2.2.2. Немонотонные рассуждения. Формализацией немонотонных рассуждений являются немонотонные логики. Здесь мы кратко рассмотрим, следуя [29], одну из них — немонотонную модальную логику, предложенную Мак-Дермоттом. 88 Гл. 2. Методы автоматизации рассуждений В логике Мак-Дермотта рассматриваются формулы вида p, ¬p и M p (p доказуема, p опровержима и p возможна соответственно). Опишем язык немонотонной модальной логики первого порядка. Введем вначале алфавит языка Λ. Алфавит включает: 1. Счетное множество букв: z, y, x, ..., которое будем называть множеством символов для обозначения переменных языка; 2. Счетное множество букв a, b, c, ..., которое будем называть множеством символов для обозначения констант языка; 3. Счетное множество прописных букв P , Q, ... для обозначения предикатных символов языка; 4. Счетное множество строчных букв f , g, ... для обозначения функциональных символов; 5. Символы для логических связок → (влечет), ¬(не); 6. Символ для квантора ∀ (для любого); 7. Символ модального оператора L (необходимо); 8. ( , ) — скобки. Предикатные буквы P , Q, ... и функциональные буквы f , g, ... могут быть n-местными или, как еще говорят, n-арными. Иначе говоря, с каждым предикатным или функциональным символом будем связывать некоторое натуральное число, равное числу его аргументов. Здесь следует заметить, что присутствующие в языке модальные операторы необходимости (L) и возможности (M ) являются аналогами соответстствующих операторов в модальных системах и, следовательно, допускают аналогичную интерпретацию, например, в множествах возможных миров. Определим теперь понятие формулы или правильно построенного выражения языка Λ. Формулы языка Λ определяются индуктивным образом. Начнем с определения терма языка: 1. Переменная есть терм. 2. Константа есть терм. 3. Если t1 , t2 , ..., tm , ..., tn — термы, а f и g — функциональные символы арности m и n, соответственно, то f (t1 , t2 , ..., tm ) и g(t1 , t2 , ... , tn ) также термы. 4. Если t1 , t2 , ..., tm , ..., tn — термы, а P и Q — предикатные символы арности m и n, соответственно, то P (t1 , t2 , ..., tm ) и Q(t1 , t2 , ... , tn ) — атомарные формулы. 5. Атомарная формула есть формула. 6. Если p, q — формулы, то p → q, ¬p, ¬q — формулы. 7. Если p — формула, то ∀xp — формула. 8. Если p — формула, Lp — формула. 2.2. Индуктивные рассуждения 89 9. Всякое слово в алфавите языка является формулой тогда и только тогда, когда это можно показать с помощью конечного числа применений пп. 1–8. Определим, кроме того, модальность возможности, введя модальный оператор M : M p = ¬L¬p. Схемы аксиом включают: 1. Схемы классических аксиом: А) p → (q → p). Б) (p → (q → r)) → ((p → q) → (p → r)). В) (¬q → ¬p) → ((¬q → p) → q). Г) ∀x p(x) → p(t/x), где t — терм без связанных переменных. Д) ∀x(p → q) → (p → ∀xq), где x не входит в p. 2. Схемы модальных аксиом: а) Lp → p. б) L(p → q) → (Lp → Lq). в) ∀x Lp → L∀xp. г) Lp → LLp. д) ¬Lp → L¬Lp. 3. Правила вывода: а) p, p → q), +q. б) p ⊢ ∀xp. в) p ⊢ Lp. г) ⊣ (¬p) ⊢ M p (где знак ⊣ читается «невыводимо»). Последнее правило и есть основное правило немонтонного вывода, так как позволяет присваивать статус возможности формуле, отрицание которой не является выводимым. С точки зрения классической математической логики статус возможности соответствует понятию выполнимости. С другой стороны, если по этому правилу выведено M p или формула q выводима из M p и если в системе появился новый факт, позволяющий вывести ¬p, формулу q следует отвергнуть. Таким образом, именно это правило придает рассматриваемой системе немонотонный характер. Как уже было замечено выше и как следует из приведенных соображений, к немонотонным относятся и индуктивные рассуждения, один из видов которых рассматривается ниже. 2.2.3. ДСМ — метод индуктивного вывода. Индуктивные рассуждения, или рассуждения на основе индукции, оказываются полезными при решении ряда задач, среди которых — обнаружение 90 Гл. 2. Методы автоматизации рассуждений закономерностей в массивах данных, восстановление вида функции по ее примерам, восстановление грамматики неизвестного языка по множеству его текстов и другие. Индуктивные рассуждения можно рассматривать как инструмент для порождения гипотез. При этом порождаемые гипотезы не обязаны быть достоверными и требуют дальнейшего анализа, результатом которого должно явиться их обоснование (либо опровержение). Но это — задача других методов, один из которых — рассуждения на основе аргументации — будет рассмотрен в следующем параграфе, а пока займемся изучением индуктивного метода порождения гипотез в том виде, в каком его предложил В. К. Финн [30]. Идея метода восходит к 1900 г. Она была предложена в начале XX в. английским логиком и философом Джоном Стюартом Милем. Эта идея такова: пусть задано множество структур типа объект–свойство. Пусть задача состоит в том, что для некоторого нового объекта требуется установить его неизвестное свойство. В основе подхода лежит предположение о том, что за каждое свойство объекта отвечает некоторая его составная часть или фрагмент. Поэтому на первом этапе для заданного свойства выполняется поиск фрагментов объектов, «ответственных» за это свойство. Для этого анализируются структуры объектов и выполняется поиск объектов, имеющих совпадающие свойства и структурное сходство. Полагается, что именно общие фрагменты объектов, обладающих совпадающими свойствами, являются причиной этих свойств. Затем выполняется поиск такого рода фрагментов в новых объектах и, если такие фрагменты обнаружены, объектам приписываются свойства, причинами которых являются обнаруженные фрагменты. В простейшем случае полагается, что свойства, за которые ответственны те или иные фрагменты, порождаются только этими фрагментами и никак не зависят от окружения или контекста. Иначе говоря, предполагается, что свойства целого сводятся к сумме свойств его частей. Метод, основанный на указанных соображениях, был назван ДСМ-методом. Здесь мы изложим формализацию ДСМ-метода, предложенную в [31]. Опишем вначале кратко его схему. Итак, пусть O — множество объектов; P — множество свойств этих объектов; C — множество возможных причин свойств из P ; V — множество оценок. Каждый из элементов множеств O, P , C также является множеством, а V = {+1, −1, 0, τ }. Определим далее отображение F : P × O → V , так что f (pj , oi ) = = fij , где Fij ∈ V . Полагаем f (p, o) = +1, если достоверно известно, что объект o обладает свойством p; f (p, o) = −1 означает, что гипотеза «объект o обладает свойством p» опровергается (имеются только аргументы «против» и ни одного аргумента «за»). Если f (p, o) = 0, то это означает 2.2. Индуктивные рассуждения 91 фактическую противоречивость, т. е. гипотеза имеет как аргументы «за», так и аргументы «против». Если f (p, o) = τ , то это значит, что гипотеза не имеет ни одного аргумента «за» и ни одного аргумента «против», т. е. оценка ее значения — «неопределенность». Таким образом, функция F задана следующей матрицей: p1 p2 ... pn o1 F11 F12 ... F1n F = o2 ··· om Fm1 Fm2 ... Fmn , где Fij ∈ V . Эту матрицу можно считать базой экспериментальных фактов. Задача состоит в том, чтобы преобразовать матрицу F в матрицу F ′ , такую что Fij′ = Fij , если Fij 6= τ ; в противном случае следует доопределить матрицу F , заполнив ее клетки значениями, отличными от τ . Эта задача решается следующим образом: А) вначале следует найти связи фрагментов объектов со свойствами последних. Эти связи будут представлены в матрице H : C × P → → V, p1 p2 ... pn c1 H11 H12 ... H1n H = c2 ··· cm Hm1 Hm2 ... Hmn , где Hij ∈ V ; Б) используем матрицу H для формулирования гипотезы о наличии или отсутствии тех или иных свойств у объектов, для которых F (o, p) = τ , p ∈ P , o ∈ O. Иначе говоря, если p ∈ P — некоторое свойство, матрицу H мы будем использовать для доопределения функции F и построения таким образом функции F ′.F ′ : o × p → → V. Теперь опишем шаги А и Б более подробно. Для этого введем правила 1-го и 2-го рода. Правила 1-го рода служат для порождения гипотез о причинах свойств объектов. Пусть o ∈ O, c ∈ C и c является фрагментом o, т. е. c ⊆ o. Определение 2.2.1. Пусть p — некоторое свойство o, o ∈ O. Будем называть o положительным примером для p относительно F , если F (o, p) = +1. 92 Гл. 2. Методы автоматизации рассуждений Обозначим через F + [p] множество положительных примеров. Определение 2.2.2. Пусть p — некоторое свойство o, o ∈ O. Будем называть o отрицательным примером для p относительно F , если F (o, p) = −1. Обозначим через F − [p] множество отрицательных примеров. Определение 2.2.3. Пусть p — некоторое свойство o, o ∈ O. Будем называть o неявным примером для p относительно F , если F (o, p)=0. Обозначим через F 0 [p] множество неявных примеров. Определение 2.2.4. Пусть p — некоторое свойство, c — некоторый фрагмент o, т. е. c ⊆ o. Будем говорить, что c удовлетворяет (+)-условию для p относительно F , если ∃Ω ⊆ F + [p], так что T 1) c = ( o) 6= ∅; Ω 2) Ω содержит больше одного элемента, т. е. |Ω| > 1. Обозначение: M + (c, p, F ) — c обладает (+)-условием для p относительно F . Аналогичным образом вводятся определения для (−)-условия и (0)-условия: Определение 2.2.5. Пусть p — некоторое свойство, c — некоторый фрагмент o, т. е. c ⊆ o. Будем говорить, что c удовлетворяет − (−)-условию T для p относительно F , если ∃Ω ⊆ F [p], так что 3) c = o 6= ∅, Ω Ω содержит больше одного элемента, т. е. |Ω| > 1. Выражение: M − (c, p, F ), означает, что c обладает (−)-условием для p относительно F . Определение 2.2.6. Пусть p — некоторое свойство, c — некоторый фрагмент o, т. е. c ⊆ o. Будем говорить, что c удовлетворяет 0 (0)-условию Tдля p относительно F , если ∃Ω ⊆ F [p], так что 4) c = o 6= ∅, Ω Ω содержит больше одного элемента, т. е. |Ω| > 1. Обозначение: M 0 (c, p, F ) − c обладает (0)-условием для p относительно F . Построим матрицу H(c, p) — матрицу гипотез — следующим образом: +1, если M + (c, p, F ) ∧ ¬M − (c, p, F ) ∧ ¬M 0 (c, p, F ), −1, если _M − (c, p, F ) ∧ ¬M + (c, p, F ) ∧ ¬M 0 (c, p, F ), H(c, p) = 0, если (M + (c, p, F ) ∧ M − (c, p, F )) ∨ M 0 (c, p, F ), τ , если ¬M + (c, p, F ) ∧ ¬M − (c, p, F ) ∧ ¬M 0 (c, p, F ). 2.3. Аргументационные рассуждения 93 По существу, это правило вывода, которое и называется правилом вывода 1-го рода. Это правило позволяет дать оценку степени правдоподобия гипотезы о том, что c — причина свойства p. Правила 2-го рода служат для порождения гипотез о наличии свойств у объектов или, иначе говоря, для доопределения матрицы F . Пусть o — некоторый объект, p — некоторое свойство. Будем говорить, что объект o удовлетворяет (+)-условию для p относительно H, если ∃c ∈ C : c ⊆ o и H(c, p) = +1, что обозначим Q через + (H, o, p). Будем говорить, что объект o удовлетворяет (−)-условию для p относительно H, если ∃c ∈ C : c ⊆ o и H(c, p) = −1, что обозначим Q через − (H, o, p). Будем говорить, что объект o удовлетворяет (0)-условию для p относительно H, если ∃c ∈ C : c ⊆ o и H(c, p) = 0, что обозначим через Q0 (H, o, p). Матрица F ′ определяется следующим образом: Fij′ = Fij , если и только если Fij # τ , а в противном случае: Q+ Q Q +1, (H, o, p) ∧ ¬ − (H, o, p) ∧ ¬ 0 (H, o, p), Q− Q Q −1, (H, o, p) ∧ ¬ + (H, o, p) ∧ ¬ 0 (H, o, p), ′ Q Q− Q0 F (o, p) = 0, ( + (H, o, p) ∧ (H, o, p)) ∨ (H, o, p), Q Q Q τ , ¬ + (H, o, p) ∧ ¬ − (H, o, p) ∧ ¬ 0 (H, o, p). Эта последняя матрица, собственно, и дает ответ на поставленный в начале вопрос. Затем процедура повторяется для следующего свойства и так до вычисления всех неопределенных в F значений. Однако для вычисления некоторых неопределенных значений в исходной матрице, т. е. в базе фактов, может оказаться недостаточно информации. Тогда матрицу F следует пополнить новыми фактами. Может оказаться, что при таком пополнении матрицы F значения Fij , подсчитанные на предыдущих итерациях, могут измениться. Тогда процесс пополнения и пересчета значений Fij следует продолжить до стабилизации матрицы F ′ (если таковая произойдет) или до окончания множества фактов. 2.3. Аргументационные рассуждения Под аргументацией будем понимать такую процедуру принятия или опровержения некоторого высказывания А, при которой рассматривается некоторое множество аргументов «за» или «против», используемых для приписывания А некоторой оценки (истинности) или для выводимости А из этого множества аргументов. Это означает, что аргументация в рассматриваемом здесь смысле имеет два аспекта: семантический и синтаксический. 94 Гл. 2. Методы автоматизации рассуждений Существует широкий спектр аргументационных систем, различающихся уровнями абстракции и определениями основных понятий [29, 32]. В основе любой аргументационной системы обычно лежат следующие компоненты: а) логический язык; б) определение аргумента; в) определение конфликта между аргументами; г) определение отвержения аргумента; д) определение оценки аргумента. В различных аргументационных теориях понятие аргумента определяется различным образом: либо аргумент — некоторое примитивное понятие, внутренняя структура которого не рассматривается, либо он является формулой некоторого логического языка. В любом случае для формирования аргументационной структуры необходимы компоненты в), г) и д). Можно выделить два типа конфликтов: 1. Опровержение — симметричная форма конфликта; 2. Ослабление — несимметричная форма конфликта. Для описания различных степеней конфликта вводятся бинарные отношения: «конфликтует и не слабее» или «конфликтует и сильнее» [29]. В первом случае будем говорить, что «аргумент А оспаривает аргумент В», во втором — «аргумент А отвергает аргумент Б». Пусть на множестве аргументов определено отношение оспаривания, тогда можно говорить, что аргументы либо подтверждаются, либо не подтверждаются. Аргумент подтверждается, если все аргументы, оспаривающие его, не подтверждаются. Аргумент не подтверждается, если он оспаривается подтвержденным аргументом. Аргумент А приемлем по отношению к множеству аргументов S тогда и только тогда, когда каждый аргумент из U , оспаривающий А, оспаривается аргументом из S. Аргументы из S могут рассматриваться как аргументы, способные к восстановлению статуса А, если А оспаривается. Пусть Arg — множество аргументов, на котором задано бинарное отношение оспаривания. Определим оператор F : F : 2Arg → 2Arg . Через F (S) обозначим такое множество аргументов ai ∈ Arg, что каждый из них приемлем по отношению к S. Тогда ai приемлем по отношению к любому надмножеству S, иначе говоря, оператор F является 2.3. Аргументационные рассуждения 95 монотонным. Отсюда немедленно следует, что F имеет наименьшую неподвижную точку. Именно с существованием наименьшей неподвижной точки оператора F связано свойство «подтверждаемости» аргумента. А именно, легко видеть, что аргумент подтверждается тогда и только тогда, когда принадлежит наименьшей неподвижной точке F . Опишем далее один из алгоритмов моделирования аргументационных рассуждений ARG1, лежащий в основе известной системы MIRAGE [33]. Алгоритм включает следующие фазы: — выдвижение гипотез; — подтверждение или отвержение гипотез; — редукция множества гипотез. Для более детального описания следует зафиксировать какой-либо из способов представления знаний, например, неоднородные семантические сети, описанные в первой главе. Тогда в вершинах сети будут находиться объекты, называемые здесь нами событиями, а ребра сети будут представлять элементы отношений, описанных в той же главе. Множество событий включает два, вообще говоря, пересекающихся подмножества: аргументов и гипотез. Как к первым, так и ко вторым будут относиться факты и признаки; кроме того, подмножеством множества гипотез являются решения. В качестве исходного множества аргументов будем рассматривать «наблюдаемые» факты и признаки, т. е. некоторые достоверные данные, которые можно увидеть, измерить или получить каким-либо образом, например, в интерактивном режиме. На множестве всех событий определены отношения из п. 1.3.3 главы 1. Для простоты рассмотрим только отношения R1 , R4 и R5 из гл. 1: R1 : «Событие e1 всегда сопровождается событием e2 »; R4 : «Событие e1 иногда может увеличивать возможность появления e2 »; R5 : «Событие e1 исключает событие e2 ». Если e1 таково, что (e1 , e2 ) ∈ R1 или (e1 , e2 ) ∈ R4 и не существует e такого, что (e, e1 ) ∈ R5 , будем говорить, что e1 подтверждает e2 . Если e1 таково, что (e1 , e2 ) ∈ R5 и не существует e 6= e2 такого, что (e, e1 ) ∈ R5 , будем говорить, что e1 отвергает e2 . Итак, пусть задано множество событий E. Введем одноместные атомарные формулы: • • • • • O(e) ¬O(e) M (e) H(e) ¬H(e) — — — — — событие событие событие событие событие e e e e e наблюдаемо; не имеет места; возможно; является гипотезой; не является гипотезой; 96 Гл. 2. Методы автоматизации рассуждений — событие e является решением (подтвержденной гипотезой); • ¬S(e) — событие e не является решением (подтвержденной гипотезой). Введем следующие правила вывода: П1. (O(e1 ), (e1 , e2 ) ∈ R1 ) → S(e2 ). П2. (O(e1 ), (e1 , e2 ) ∈ R4 ) → H(e2 ). П3. (H(e2 ), O(e1 ), (e1 , e2 ) ∈ R5 ) → ¬H(e2 ). П4. (H(e1 ), (e1 , e2 ) ∈ R4 ) → M (e2 ). П5. (H(e1 ), ¬O(e2 ), (e1 , e2 ) ∈ R1 ) → ¬H(e1 ). Аксиомы: Нелогическая аксиома Т1. S(e) → O(e). Логические аксиомы (A, B, C — пропозициональные переменные) Т2. A → (B → A). Т3. (A → (B → C)) → ((A → B) → (A → C)). Т4. (¬A → ¬B) → (B → A). Будем также использовать логические правила вывода, описанные в п. 1.1.2. В дальнейшем из соображений удобства мы будем прибегать, помимо логической, и к теоретико-множественной нотации. Так, например, будем использовать то обстоятельство, что O = = {e|O(e)}. Точно так же H = {e|H(e)}, M = {e|M (e)} и S = {e|S(e)}. Далее, предположим, что имеется некоторая процедура Q, позволяющая из M (e) заключать O(e) или ¬O(e). Такой процедурой, может быть, например, процедура чтения информации из базы данных, с датчиков или некоторая интерактивная процедура. • S(e) Перейдем непосредственно к описанию ARG1. Шаг 1. Порождение множества гипотез. Для всех e1 , таких что для них имеет место O(e1 ) и (e1 , e2 ) ∈ R1 , применить правило П1: (O(e1 ) и (e1 , e2 ) ∈ R1 ) → S(e2 ); выполнить H := H ∪ {e2 }. Шаг 2. Расширение множества аргументов. Ко всем e1 , таким что H(e1 ), (e1 , e2 ) ∈ R4 ) применить правило П4 и построить множество M := M ∪ {e2 } всех e2 , таких что M (e2 ). Шаг 3. Тестирование аргументов. Для каждого e, такого что M (e), применяем процедуру Q; если Q(e) = O(e), то O := O ∪ {e}. Переход к шагу 1. Шаги 1–3 выполняются до стабилизации множеств O и H, иначе говоря, до нахождения решения уравнения неподвижной точки ARG1(X) = X, где X = H ∪ O. 2.4. Рассуждения на основе прецедентов 97 Шаг 4. Редукция множества гипотез по отвергающим аргументам. Для всех e, таких что имеет место H(e), O(e1 ) и (e1 , e) ∈ R5 H := H\{e}. Шаг 5. Редукция множества гипотез по обусловленным (отсутствующим, подтверждающим) аргументам. Для всех e, таких что H(e), (e, e1 ) ∈ R1 и выполняется ¬O(e1 ), в соответствии с правилом П5 заключаем, что ¬H(e). Полагаем H := H\{e}. Шаг 6. Если мощность множества гипотез |H| в результате оказалась меньшей или равной единице, полагаем S = H и алгоритм завершает работу. Шаг 7. Дифференциация множества гипотез. Если |H| > 1 и в H найдутся две гипотезы h1 и h2 , множества аргументов которых Arg(h1 ) и Arg(h2 ) строго вложены одно в другое: Arg(h1 ) ⊂ Arg(h2 ), гипотеза h1 удаляется из множества гипотез. Эта процедура применяется попарно ко всем таким гипотезам. Результирующее множество гипотез H называется объясняющим множеством. Шаг 8. Минимизация объясняющего множества. Если Arg(h) — множество аргументов e гипотезы h1 , таких что O(e) и если |H| > 2 и в H найдутся гипотезы h1 , h2 , h3 , ..., hn , такие, что Arg(h1 ) ⊂ Arg(h2 ) ∪ Arg(h3 ) ∪ ... ∪ Arg(hn ), то h1 удаляется из H. Повторяется до исчерпания множества таких гипотез. Шаг 9. S = H. Завершение работы. 2.4. Рассуждения на основе прецедентов Как уже было отмечено, основными задачами автоматизации рассуждений на основе прецедентов являются: а) идентификация текущей проблемы и поиск подходящего прецедента и б) использование найденного прецедента для решения текущей проблемы. Эта последняя задача называется иногда задачей адаптации старого решения к текущей ситуации. Рассмотрим обе задачи более подробно. 2.4.1. Метрики на множестве прецедентов. Задача, которую мы будем решать в ближайших параграфах, — поиск подходящего прецедента. Для этого вначале рассмотрим понятие близости прецедентов. Для уточнения понятия близости обычно используются некоторые метрики. Рассмотрим некоторые из них [34, 35]. Будем здесь предполагать, что прецедент представлен в виде вектора признаков, характеризующих некоторое состояние или процесс. Тогда степень близости устанавливается на основании парного сравнения текущего вектора с множеством векторов, например, множеством прецедентов. 4 Г. С. Осипов 98 Гл. 2. Методы автоматизации рассуждений Поскольку прецедент есть образ в некотором пространстве признаков, то в случае, когда рассматривается n признаков, каждый прецедент есть точка в n-мерном пространстве. Если в некотором n-мерном пространстве заданы 3 точки — A, B, C, то можно определить понятие метрики. К метрикам предъявляются следующие требования: d(A, B) > 0 (неотрицательность), d(A, B) = 0 <=> A ≡ B (тождественность), d(A, B) = d(B, A) (симметричность), d(A, B) + d(B, C) > d(A, C) (правило треугольника). Заметим, что этим требованиям удовлетворяет расстояние в n-мерном евклидовом пространстве: q d(Xk , Xj ) = (x1k − x1j )2 + ... + (xnk − xnj )2 , где Xk = (x1k , x2k , ..., xnk ) и Xj = (x1j , x2j , ..., xnj ) — образы (точки в n-мерном евклидовом пространстве). Если признаки принимают значения либо 1, либо 0 (т. е. являются бинарными величинами), то в качестве метрики используется мера Хемминга: d(Xk , Xj ) = n X |xik − xij | или d(Xk , Xj ) = sup |xik − xij | . i i=1 Близость образов можно вычислять с помощью мер близости, определенных несколько иным образом. Условия, которым они должны удовлетворять, таковы: 0 6 γ(A, B) 6 1 (γ(A, B) нормирована), γ(A, B) = 1 ⇔ A ≡ B, γ(A, B) = γ(B, A), γ(A, B) > γ(A, C), если d(A, B) > d(A, C). В качестве меры близости, в частности, может быть использован классический коэффициент корреляции: γ(B1 , B2 ) = hB1 , B2 i . kB1 k · kB2 k Иной мерой близости является мера Танимото–Джаккара: K = n/n′ , где n — число совпавших признаков, n′ — общее число признаков. 2.4. Рассуждения на основе прецедентов 99 В задачах определения близости прецедентов могут быть использованы и иные типы метрик: • евклидова метрика: dik = N X !1 2 (xij − xkj )2 j=1 ; • мера сходства Хемминга: µN ij = nik , N где nik — число совпадающих признаков у образцов Xi и Xk ; • вероятностная мера сходства: Pj = exp − N P (wij − xi )2 i=1 σj2 , где j — номер эталона, Xi (i = 1, 2, ... , N ) — элемент неизвестного входного образца, wij — значение весового коэффициента, соответствующее математическому ожиданию i-го элемента (признака) j-го эталона. Величина среднеквадратичного отклонения σj находится в результате экспериментов для каждого эталона; • мера сходства Роджерса–Танимото: µR−T = nik (ni + nk − nik ), ik где: nik — число совпадающих единичных признаков у образцов Xi и Xk ; ni , nk — общее число единичных признаков у образцов Xi и Xk соответственно; • метрика Махаланобиса: 2 RM (x, X) = (x − x)⊤ C −1 (x − x), где x — выборочное среднее класса H. C −1 — матрица, обратная ковариационной для рассматриваемого класса. Элементы матрицы C1 вычисляются по формуле n cij = 1 X β (x1i − x1i )(xβ1j − x1j ), n−1 β=1 4* 100 Гл. 2. Методы автоматизации рассуждений где i, j — все возможные пары индексов измеряемых признаков, (i, j = 1, 2, ... , n). Выражения в скобках есть отклонения значений переменных xβ1k от соответствующего среднего xik . n — количество объектов в классе. При i = j вычисляются среднеквадратичные отклонения, которые соответствуют дисперсиям параметров, а при i 6= j оценивается ковариация между двумя параметрами. Метрика Евклида используется для определения расстояния между точками пространства признаков x1 и x2 и удовлетворяет всем аксиомам расстояния; она удобна для определения расстояния между двумя точками, например, между точкой наблюдаемых параметров и центром (выборочным средним) класса. Однако она не учитывает распределение точек в классе. Метрика Махаланобиса в отличие от метрики Евклида учитывает статистические распределения значений параметров и неприменима, если выборочная дисперсия хотя бы одного из параметров равна нулю; • метрика Журавлева: dik = N X j Iik , j где Iik = j=1 ( 1, если |xij − xkj | < ε, 0, иначе; • манхэттенская метрика: dik = N X |xij − xkj |. j=1 Евклидова и манхеттенская метрики приводят к близким результатам; • расстояние Чебышева: dik = arg max |xij − xkj | , 16j6N где N — количество переменных (признаков) i и j номера объектов. Расстояние Чебышева частично используется в нечетких нейронных сетях в виде минимаксных критериев. Недостаток — кластеры, полученные с помощью расстояния Чебышева, «склеиваются» друг с другом; • метрика Брея–Кертиса: dik = N P |xij − xkj | j=1 N P j=1 . |xij + xkj | 2.4. Рассуждения на основе прецедентов 101 В этом случае значения заключены между 0 и 1. Обычно перед использованием этой метрики данные стандартизуют. Данные после стандартизации должны быть неотрицательными; • метрика Чекановского: dik = b+c . 2a + b + c Коэффициенты a, b, c, и d берутся из таблицы (матрицы) ассоциативности, построенной для двух объектов i и k, в которой 1 указывает на наличие признака у объекта, 0 — на его отсутствие. Проще всего рассмотреть эти коэффициенты, обратившись к таблице (матрице) ассоциативности размера 2 × 2: 1 0 1 a b 0 c d ; • метрика Жаккара: dik = a . a+b+c Как и в случае метрики Чекановского, коэффициенты a, b, c, и d берутся из таблицы ассоциативности. • обобщенное расстояние Евклида–Махаланобиса. Рассмотрим эту метрику, следуя [37]. Для определения расстояния от точки, координаты которой представляют собой параметры наблюдаемого объекта, до класса n сходных объектов обычно пользуются метриками Евклида и Махаланобиса. Каждая из этих метрик имеет свои преимущества и недостатки. Метрика Евклида, используемая для определения расстояния между точками x1 , x2 : 2 RE (x1 , x2 ) = (x1 − x2 )⊤ · (x1 − x2 ), удовлетворяет всем аксиомам расстояния, она удобна для определения расстояния между двумя точками, например, между точкой наблюдаемых параметров и центром (выборочным средним) класса. Метрика не учитывает распределение точек в классе. Метрика Махаланобиса неприменима, если выборочная дисперсия хотя бы одного из параметров равна нулю, в этом случае 2 lim RM (x, X) = ∞. Di →0 102 Гл. 2. Методы автоматизации рассуждений Метрика Махаланобиса совпадает с евклидовой в случае, если класс представляет собой вектор реализаций нормированных (дисперсии Di = 1, i = 1, ..., n) независимых (ковариации Kij = 0, i, j = = 1, ..., n, i 6= j) случайных величин. Проверка аксиом расстояния затруднена тем, что метрика используется для определения расстояния между разнородными объектами. Метрику Евклида можно, как и метрику Махаланобиса, представить в виде квадратичной формы, матрицей которой является единичная матрица: 2 RE (x1 , x2 ) = (x1 − x2 )⊤ E (x1 − x2 ). Метрика Махаланобиса может также использоваться и для измерения расстояния между двумя классами X1 и X2 . Для этого используют среднее взвешенное расстояний Махаланобиса от выборочных средних: 2 2 2 eM (x2 , X1 ). R (X1 , X2 ) = γRM (x1 , X2 ) + (1 − γ)RM Такая метрика неудобна, так как если класс X1 состоит из единe 2 (x1 , X2 ) 6= R2 (x1 , X2 ). Рассмотрим обобщенственной точки x1 , то R M M ную метрику Евклида–Махаланобиса [8], определяющую расстояние между двумя классами X1 и X2 в виде квадратичной формы 2 RG (X1 , X2 ) = (x1 − x2 )⊤ A−1 (x1 − x2 ), где x1 и x2 — средние выборочные классов, матрица A−1 является обратной матрицей для A = C1 + C2 + E, C1 и C2 — ковариационные матрицы для первого и второго классов соответственно, E — единичная матрица. Для любых двух классов 2 (X1 , X2 ) = 0. Если класс X1 и X2 , у которых x1 = x2 , расстояние RG X1 представляет собой точку, то соответствующая ему ковариационная матрица состоит из нулей и мы получаем расстояние, аналогичное рас2 2 стоянию Махаланобиса, с той разницей, что RG (x1 , X2 ) = RE (x1 , x2 ) в случае, если дисперсия Di = 0 (i = 1, ..., n). Если оба класса пред2 2 ставляют собой точки, то RG (x1 , x2 ) = RE (x1 , x2 ). Такая метрика удобна для решения задач распознавания образов, в которых некоторые параметры, описывающие наблюдаемые объекты, не изменяются. 2.4.2. Согласование прецедентов. Особенность задач, которые предстоит рассмотреть в ближайших параграфах, состоит в том, что для построения описаний множеств прецедентов во многих случаях требуется не только метрическая характеристика их близости, но и некоторая другая характеристика, которая позволяет сделать вывод о степени соответствия их структур. Для этой цели в настоящем 2.4. Рассуждения на основе прецедентов 103 параграфе вводится понятие согласования прецедентов [36]. Coгласование можно рассматривать как количественную характеристику близости структур прецедентов. Нахождение количественной оценки степени согласования должно основываться на соответствии элементов различных прецедентов. Это соответствие задается локальной функцией согласования. Определение 2.4.1. Пусть E — множество элементов прецедентов (например, множество пар АТРИБУТ_ЗНАЧЕНИЕ). Локальная функция согласования λ λ:E×E →R такова, что λ(e1 , e2 ) = r ∈ R. Согласование можно рассматривать как меру сравнимости элементов e1 и e2 . Если элементы e1 и e2 несравнимы, то локальная функция согласования на них не определена. Множество всех элементов e2 , с которыми сравним элемент e1 , обозначим через Θ = {e2 |, если λ(e1 , e2 ) определена)}. Содержательно, сравнимость элементов означает, что они принадлежат одному и тому же типу или домену и тогда λ(e1 , e2 ) > 0 может рассматриваться как «напоминание» о e2 при обнаружении e; λ(e1 , e2 ) = 0 означает, что напоминание о e2 отсутствует, а λ(e1 , e2 ) > 0 указывает, что e1 не может рассматриваться в качестве напоминания о e2 . Используя локальную функцию согласования, можно определить глобальную функцию согласования Λ: П(E) × П(E) → R так, что Λ(π1, π2 ) = r, где П(E) — множество прецедентов, определенных на элементах из E, а R — множество рациональных чисел; Λ(πi , πj ) > > Λ(πi , πk ) свидетельствует о том, что прецеденты πi и πj более согласованы, чем прецеденты πi и πk . Отрицательные значения этой функции интерпретируются как рассогласование прецедентов. Глобальную функцию согласования Λ можно рассматривать как линейную форму локальных функций согласования λij , коэффициенты которой gij являются весами соответствующих значений локальных функций и можно выразить через локальные следующим образом: Λ(π1 , π2 ) = n X m X gij · λij (Qi , ej ), i=1 j=1 где Qi , ej — элементы прецедентов π1 и π2 , соответственно (i = 1, ..., n, j = 1, 2, ..., m). 2.4.3. Предпочтения и глобальная релевантность. Собственно, релевантность прецедента некоторому элементу характеризуется частичной функцией релевантности ρ : E × П(E) → R, так что r = ρ(q, π), где q ∈ E — элемент, π ∈ П(E) — прецедент. 104 Гл. 2. Методы автоматизации рассуждений Глобальную функцию релевантности, характеризующую релевантность прецедента π2 прецеденту π1 будем, для простоты, считать линейной формой частичных функций релевантности: rel (π1 , π2 ) = ϕ(ρ(e1 , π2 ), ..., ρ(en , π2 )), где e1 , ..., en — элементы π1 . Глобальную функцию релевантности нормируем так, что для всяких π1 и π2 имеет место rel (π1 , π2 ) ∈ [ 0, 1]. Введем понятие предпочтения, которое будет служить для обнаружения таких прецедентов, которые могут оказаться подходящими для некоторого заданного прецедента. Отношение σq предпочтения на множестве прецедентов π1 σq π2 означает, что π1 предпочтительнее π2 в смысле некоторого прецедента q. Естественно считать, что π1 σq π2 ≡ rel (π1 , q) > rel (π2 , q). Таким образом, поиск подходящего прецедента включает две фазы: 1) поиск для проблемного прецедента π1 множества наиболее согласованных с ним прецедентов П+ ; 2) выбор из множества П+ наиболее предпочтительного для π1 прецедента π2 . 2.4.4. Адаптация прецедентов. Существует большое число различных методов адаптации, используемых в различных исследованиях. Тем не менее, бо́льшую часть имеющихся подходов можно отнести к одному из трех классов: а) подстановочная адаптация; б) трансформационная адаптация, в) генеративная адаптация, [38]. Подстановочная адаптация является наиболее простым видом адаптации, предполагающим, что искомый прецедент очень близок к целевому случаю. Тогда адаптация сводится лишь к замене некоторых параметров в решениях найденных прецедентов. Для такой замены в базе прецедентов выполняется поиск зависимостей между параметрами описания ситуаций и соответствующих решений. Чаще всего такой подход применяется в задачах идентификации и прогнозирования. Трансформационная адаптация предусматривает реорганизацию элементов решений и позволяет добавлять и удалять эти элементы в соответствии с определенными условиями. Обычно системы трансформационной адаптации содержат фиксированное множество операторов адаптации и трансформационных правил. Генеративная адаптация является наиболее сложным случаем адаптации. Она предусматривает использование не только базы прецедентов, но и детальных знаний, необходимых для построения цепочки рассуждений, приводящих к частичному решению задачи. Эта цепочка рассуждений взаимодействует с контекстом новой целевой задачи, модифицируется на основе применения знаний о предметной области и, таким образом, приводит к решению целевой задачи. 2.4. Рассуждения на основе прецедентов 105 Перейдем к более детальному рассмотрению механизмов адаптации. Ввиду того, что подстановочная адаптация достаточно проста, основное внимание сосредоточим на трансформационной адаптации, имея ввиду, что подстановочная адаптация может рассматриваться как ее частный случай. Рассмотрим вначале так называемые операторы адаптации. Выделяются два класса операторов адаптации: первый — для простых атрибутов и второй — для сложных. Здесь будет рассмотрен случай для простых атрибутов. Определение 2.4.4. Оператор адаптации для простых атрибутов SAO есть следующая пятерка слотов: SAO = hАТРИБУТ, СТАРОЕ ЗНАЧЕНИЕ, ДЕЙСТВИЯ, ИСПОЛЬЗОВАННЫЕ ЗНАЧЕНИЯ, ЗАВИСИМОСТИi, где АТРИБУТ — атрибут, к которому применим оператор SAO; СТАРОЕ ЗНАЧЕНИЕ — значение атрибута АТРИБУТ, которое оператор выбрал из описания области значений атрибута. Это значение запоминается оператором, если был применен бэктрекинг (возврат к точке ветвления); ДЕЙСТВИЯ — множество действий, которые были использованы для изменения значений атрибута АТРИБУТ. Если выполняется бэктрекинг, оператор использует это множество для определения действий, которые еще не были применены; ИСПОЛЬЗОВАННЫЕ ЗНАЧЕНИЯ — множество значений, которые уже испытывались; ЗАВИСИМОСТИ — множество иных операторов, которые могут быть применены, после того, как SAO изменит значение атрибута АТРИБУТ. Если выполняется бэктрекинг некоторого оператора, старое значение атрибута запоминается в слоте СТАРОЕ ЗНАЧЕНИЕ. Далее посредством исключения использованных действий, сохраненных в слоте ДЕЙСТВИЯ, определяется следующее возможное действие, которое выполняется. Повторное использование значений атрибутов исключается, благодаря их запоминанию в слоте ИСПОЛЬЗОВАННЫЕ ЗНАЧЕНИЯ. Предполагается также, что в хорошо определенных предметных областях множество допустимых значений атрибутов не очень велико. Это может достигаться, в частности, определением ограничений или использованием зависимостей на множествах атрибутов. Применение оператора адаптации для простых атрибутов приводит к выполнению так называемых простых адаптационных действий для получения нового значения атрибута. 106 Гл. 2. Методы автоматизации рассуждений Определение 2.4.5. Простое адаптационное действие SAA есть функция, которая возвращает новое значение атрибута, текущее решение, запрос, найденный прецедент и, опционально, список значений атрибутов, которые нельзя рассматривать как результаты. К простым адаптационным действиям относятся: 1. ВЫЧИСЛЕНИЕ. Это действие соответствует случаю, когда имеется функциональная зависимость на множестве атрибутов, позволяющая по значению данного атрибута единственным образом вычислить значение другого атрибута. 2. МОДИФИКАЦИЯ. Если существует функциональная зависимость между изменениями (приращениями значений атрибутов) атрибутов прецедентов и текущим атрибутом, то значения атрибутов подходящих прецедентов используются для построения аппроксимирующей функции, которая используется для вычисления значений искомых атрибутов запроса. 3. КОПИРОВАНИЕ. Это действие состоит в копировании наиболее подходящих значений из атрибутов найденных прецедентов. Для правильного выбора атрибутов система должна обладать соответствующими знаниями о предметной области. 4. УМОЛЧАНИЕ. Это действие состоит в вычислении значений, удовлетворяющих имеющимся ограничениям. 5. ВОПРОС. Обращение к пользователю с вопросом о значениях атрибутов, которые удовлетворяют ограничениям. Заметим, что этот оператор не является необходимым, если имеется полное описание предметной области. В самом общем виде алгоритм адаптации выглядит следующим образом: Шаг 1. Запомнить текущее значение атрибута в слоте старых значений. Шаг 2. Выбрать подходящее действие. Запомнить его в слоте ДЕЙСТВИЯ. Шаг 3. Выполнить действие; если оно возвращает значение атрибута, не удовлетворяющее ограничениям, то добавить действие в слот ДЕЙСТВИЯ, а возвращенное значение атрибута — в слот ИСПОЛЬЗОВАННЫЕ ЗНАЧЕНИЯ; выбрать новое значение атрибута. Если значение атрибута удовлетворяет ограничениям, то — завершение алгоритма; возвращается найденное значение. Шаг 4. Если не существует значения атрибута, удовлетворяющего ограничениям, выполнить бэктрекинг и выбрать другое действие. Перейти к шагу 3. Глава 3 МЕТОДЫ ИНТЕЛЛЕКТУАЛЬНОГО ПЛАНИРОВАНИЯ Введение Методы интеллектуального планирования с каждым днем привлекают все большее внимание в связи с возрастающим числом применений во многих областях. В большинстве случаев приложения методов интеллектуального планирования требуют интеграции не только собственно методов планирования, но и методов удовлетворения ограничений, темпоральных рассуждений, представления знаний, формальных языков и моделей и решения сложных технологических задач. Сегодня известно о многих успешных приложениях методов интеллектуального планирования — от промышленного производства до электронного планирования туров и решения проблем окружающей среды, от дистанционного обучения до космических исследований. В настоящей главе мы предполагаем рассмотреть основные методы интеллектуального планирования (или AI — планирования, как принято иногда говорить), среди которых — планирование в пространстве состояний, планирование в пространстве планов, применение в планировании техники прямого распространения ограничений и планирование на основе прецедентов. В задаче планирования выделяются две основные составляющие — среда и агент: 1) Среда. Для построения плана и управления его выполнением необходимо построить формальное описание среды. Основные способы, используемые для описания среды, базируются на таких методах представления знаний, как продукционные системы, логические методы, семантические сети, фреймовые структуры. 2) Агент — аппаратная или программная система, обладающая следующими свойствами: • автономность — способность работать без внешнего управляющего воздействия; • реактивность — возможность воспринимать среду, реагировать на ее изменения; 108 Гл. 3. Методы интеллектуального планирования • активность — способность ставить цели и инициативно действовать для достижения поставленной цели; • коммуникативность — способность взаимодействовать с другими агентами (или людьми). План — последовательность действий, формируемая агентом на основе общих целей, информации о текущем состоянии среды и динамике ее изменения. Сложность задачи синтеза плана зависит от множества свойств среды и агента, в том числе: (1) от причин изменений среды — только лишь в результате действий агента или вне зависимости от них; (2) от наличия информации о состоянии среды — известно оно полностью или частично; (3) достаточно ли имеющихся у агента датчиков для того, чтобы получить информацию о состоянии среды; (4) оказывают ли действия агента детерминированное или же стохастическое воздействие на состояние среды. Планировщик имеет дело с первым случаем планирования, когда изменения в среде возникают лишь в результате действий агента, каждое состояние среды полностью известно, а агент производит детерминированное воздействие на состояние среды. Синтез плана для этих условий называется задачей планирования при классических допущениях. При неклассических допущениях, т. е. в случаях, когда изменения среды непрогнозируемы, говорят о динамическом планировании, если же состояние среды известно не полностью или воздействия агента носят стохастический характер, говорят о стохастическом планировании. Трудность разработки эффективного алгоритма планирования объясняется вычислительной сложностью задачи планирования, которая относится к классу PSPAСE-полных задач [38, 39]. Задачи планирования при неклассических допущениях более адекватны задачам реального уровня сложности [40], однако следует понимать, что работы в области планирования при классических допущениях не только способствуют пониманию проблем планирования с неклассическими допущениями, но и лежат в основе последних. В настоящей главе будут рассмотрены методы планирования при классических допущениях. Основы планирования при неклассических допущениях рассматриваются в следующей главе. Рассмотрим вначале хронологию методов интеллектуального планирования. При описании хронологии методов интеллектуального планирования, методов планирования в пространстве состояний и пространстве планов использованы материалы из работы [68]. 3.1. Хронология методов интеллектуального планирования 109 3.1. Хронология методов интеллектуального планирования Начало исследованиям в области интеллектуального планирования положено работами, в которых планирование рассматривалось как доказательство теорем [42]. Системам на основе доказательства теорем был присущ ряд недостатков. Наиболее существенными из них являлись: 1) крайне низкая производительность, 2) существование так называемой проблемы фрейма [45]. Эти недостатки привели к созданию подходов, основанных на поиске в пространстве состояний [44, 45]. Алгоритмы, основанные на поиске в пространстве состояний, в некоторых случаях оказались негибкими и в новом поколении методов задача планирования была сформулирована как задача поиска в пространстве частично упорядоченных планов [46–48]. Одновременно с развитием идеи частичных планов развивалась идея иерархического планирования [49, 50], которое подразумевает создание планировщиком иерархии абстракций (подцелей). Этот подход упрощает процедуру планирования: в начале создается план в общих чертах, затем выполняется детализация — спуск по иерархии. Таким образом, появляется возможность сосредоточить вычислительные мощности на решении первостепенных задач. Иерархическое планирование также интересно тем, что лишь на основе этого подхода создано большинство реально работающих систем [51, 52]. В начале 90-х годов в связи с появлением высокопроизводительных алгоритмов решения задачи удовлетворения ограничений (CSP-задача) и задачи проверки истинности в пропозициональной логике (SAT-задача), стали популярными постановки задачи планирования как CSPзадачи и как SAT-задачи [39, 54]. Это позволило значительно повысить скорость синтеза планов. Одновременно с этим появились работы, в которых задача планирования рассматривалась как задача целочисленного линейного программирования (ILP-задача) [55] или как задача построения бинарных диаграмм решений (BDD-задача) [56]. Начиная с 1998 г. стали появляться первые планировщики, использующие эвристики для поиска плана. Конечно же, использование эвристик для решения задач не является свежей идеей. Однако их привлечение к решению задач планирования было инициировано появлением механизмов автоматизированного извлечения эвристик из описания домена планирования. В значительной степени этому способствовало выделение некоторых свойств структур, используемых алгоритмами Graphplan и Satplan [57–60]. 110 Гл. 3. Методы интеллектуального планирования В таблице 3.1 представлена хронология подходов к решению задачи интеллектуального планирования при классических допущениях. Т а б л и ц а 3.1. Хронология методов классического планирования 1960 Планирование как доказательство теорем (GPS 1963, QA3 1969) 1970 Планирование как поиск в пространстве состояний (STRIPS 1971, PRODIGY 1987, Warplan 1975) 1980 Планирование как поиск в пространстве планов (InterPlan 1975, Tweak 1987, SNLP 1991, UCPOP 1992) 1990 Иерархическое планирование (NOAH 1975, NONLIN 1977, SOPE 1985, O-Plan 1986) Планирование как задача удовлетворения ограничений: выполнимости пропозициональных формул (Graphplan 1995, SATPlan 1996) 2000 Эвристическое планирование (HSP 1998, FF 2000, LPG 3002) Далее подробнее рассмотрим некоторые подходы к решению задачи планирования при классических допущениях. 3.2. Планирование как поиск доказательства теорем Одним из примеров применения методов доказательства теорем для решения задачи планирования является система QA3 [63]. В системе QA3 одно множество утверждений используется для описания начального состояния, а другое — для описания эффектов действий. Чтобы следить за тем, какие факты являются истинными в текущем состоянии, в каждый предикат включаются выделенные переменные состояния. Целевое условие описывается формулой с переменной, связанной квантором существования. Задача системы состоит в том, чтобы доказать существование состояния, в котором истинно целевое условие. В основе доказательства лежит метод резолюций. К сожалению, система QA3 продемонстрировала низкую вычислительную эффективность. Выше упоминалось о так называемой проблеме фрейма. Суть ее состоит в том, что действие может иметь нелокальный эффект; иначе говоря, неясно, какие формулы, описывающие состояние системы, изменяются при применении действия. Это приводит к тому, что в описание действия включаются утверждения об изменении (не изменении) каждого факта, представленного в состоянии. Очевидно, что в сложных предметных областях описание эффектов действий значительно усложняется. Оказалось, что при подходе, основанном на доказательстве теорем как методе планирования, не существовует сколько-нибудь приемлемого решения проблемы фрейма. 3.3. Планирование в пространстве состояний 111 3.3. Планирование в пространстве состояний Первым планировщиком, осуществляющим планирование в пространстве состояний, являлся STRIPS (STanford Research Institute Problem Solver) [42, 64], который предполагалось применить для решения задачи формирования плана поведения робота, перемещающего предметы через множество помещений. Собственно, идея алгоритма STRIPS заимствована из системы GPS [65]. Метод, использованный в GPS, назывался анализ средств и целей (means-ends analysis). Он подразумевает рассмотрение в текущем состоянии только тех действий, которые имеют отношение к цели. Однако при таком подходе возникает следующая проблема: применять ли действия, связанные с целью, немедленно, как только они найдены, или же приостановить применение действия до тех пор, пока не будут найдены все действия, имеющие отношение к цели? STRIPS применяет действия не откладывая, достигая каждой цели по отдельности. Мак-Дермотт [46] показал, что эффективность планирования с использованием метода анализа средств и целей может быть намного повышена задержкой применения действия до тех пор, пока не будут найдены все релевантные (относящиеся к цели действия) и повторением поиска релевантных действий заново, после каждого применения действия. Для решения проблемы фрейма STRIPS предлагает в состоянии, к которому применяется правило (действие), изменять выполнимость лишь тех формул, которые описаны в эффекте действия, а выполнимость всех остальных оставлять неизменной. Рассмотрим постановку задачи планирования при классических допущениях в терминах STRIPS. 3.3.1. Постановка задачи STRIPS-планирования. Как и выше, фактом будем называть замкнутую атомарную формулу языка исчисления предикатов 1-го порядка (ИПП), а состоянием — некоторое множество фактов. Говоря неформально, состояние представляет модель среды, в которой действует интеллектуальный агент. Приведем пример описания состояния s среды в терминах STRIPS: s = {ATR(a), AT(B, b), AT(C, c), ∀u∀x ∀y((AT(u, x) ∧ (x 6= y)) → → ¬AT(u, y))}. Здесь ATR(a) означает, что «робот находится в комнате a», AT(B, b) — «ящик B находится в комнате b», AT(C, c) — «ящик C находится в комнате c». Имена конкретных объектов из этого множества: a, b, c — соответственно комната a, комната b, комната c; A, B, C — соответственно, ящик A, ящик B, ящик C. 112 Гл. 3. Методы интеллектуального планирования Действия агента будем описывать с помощью правил, при этом для упрощения таких описаний примем некоторые соглашения. При описании STRIPS-задачи планирования как в множествах добавляемых, так и в множествах удаляемых фактов будем использовать лишь атомарные формулы без функциональных символов. Пример правила. Имя правила: Условие: Список добавлений: Список удалений: Push(x, y, z). C(R) = {ATR(y), AT(x, y)}. A(R) = {ATR(z), AT(x, z)}. D(R) = {ATR(y), AT(x, y)}. В приведенном примере STRIPS-правило Push(x, y, z) описывает действие робота по перемещению ящика x из комнаты y в комнату z. Здесь x, y, z — переменные. Выполнение агентом действия сводится к применению правила. Применение правила модифицирует состояние s. Определение применимости правила было приведено в гл. 1. Применение правила R преобразует состояние s в s′ следующим образом: s′ = (s\(D(R)θ)) ∪ (A(R)θ)). R,θ Это преобразование обозначается так: s ⇒ s′ , где через θ обозначена подстановка элементов предметной области вместо переменных. STRIPS-допущение. При применении некоторого правила R к состоянию s выполнимость факта f ∈ s изменяется только в случае, когда факт f описан либо в списке удалений D(R), либо в списке добавлений A(R). Технически, при проверке применимости некоторого правила R STRIPS выполняет полную подстановку на места всех переменных индивидов предметной области. Возможны различные варианты подстановок. Некоторые варианты подстановки могут давать примеры правил, применимых (или же неприменимых) в состоянии s. Однако в алгоритм STRIPS можно внести незначительные модификации для применения неполностью означенных правил. В этом случае в состоянии s появились бы факты с переменными в описании. Как будет видно далее, неполная подстановка активно используется планировщиками в пространстве планов. Соответствующее свойство этих планировщиков получило название малого связывания (least commitment). Приведем постановку задачи STRIPS-планирования. Определение 3.3.2. Будем называть доменом планирования P = = hs0 , ΣRi, где s0 — начальное состояние, ΣR — конечное множество правил. 3.3. Планирование в пространстве состояний 113 Определение 3.3.3. Пусть G — целевой факт агента, или просто цель. Будем называть задачей планирования T = hP , Gi. Решение задачи планирования T заключается в нахождении плана, который достигает цели G. Определение 3.3.4. План Plan — это последовательность состояний s0 , ..., sn , последовательность правил R1 , ..., Rn и последовательность подстановок θ1 , ..., θn , такая что G выполнима в sn ; длина плана Plan равна n: R1 ,θ1 R2 ,θ2 Rn ,θn Plan : s0 ⇒ s1 ⇒ s2 ... ⇒ sn . 3.3.2. Алгоритм STRIPS. : вход: ΣR, s, G выход: plan 1. s = s0 2. пока G не выполнимо в s делать 2.1. выбрать компоненту g из G 2.2. выбрать правило R ∈ ΣR такое, что g ∈ A(R) 2.3. STRIPS (ΣR, s, C(R)) 2.4. применить R к s 2.5. добавить R в plan 3. вернуть plan Таким образом, на вход алгоритма STRIPS подается множество правил ΣR, начальное состояние s0 , цель G. Будем полагать, что в множестве ΣR все правила полностью конкретизированы. Вначале в стек целей помещается главная цель G. Если цель не является простой, т. е. содержит конъюнкцию литералов, то система STRIPS добавляет в стек в некотором порядке каждый из литералов составной цели. Когда верхняя цель стека является однолитеральной, система ищет действие, которое содержит в списке добавлений литерал, сопоставимый с этой целью (п. 2.2). Если такое действие не применимо к текущему состоянию, тогда его предусловие помещается в стек целей, иначе действие применяется к текущему состоянию (п. 2.5) и помещается в план (plan). Если верхняя цель в стеке соответствует текущему состоянию, то она удаляется из стека. Алгоритм STRIPS завершается, когда стек пуст. 3.3.3. Неполнота алгоритма STRIPS. Существуют задачи, для которых STRIPS либо не может построить план, либо находит не минимальный план. Причина этого кроется в том, что STRIPS удовлетворяет каждую компоненту составной цели по отдельности, без учета их взаимосвязи. 114 Гл. 3. Методы интеллектуального планирования Особенность предметной области, где цели взаимосвязаны (взаимодействуют), получила название взаимосвязи целей. ПРИМЕЧАНИЕ. Впервые некорректность STRIPS’а в этом случае была вскрыта в 1973 г. Аленом Брауном из Массачусетского Технологического института. Браун попытался решить задачу, рассматриваемую в этом разделе, на планировщике HACKER. HACKER был создан Джеральдом Суссманом на основе планировщика STRIPS, поэтому задача получила название аномалии Суссмана (Sussman Anomaly) [66]. Рассмотрим аномалию Суссмана. Дано: Объекты: 3 кубика — A, B, C. Состояние описывается предикатами: ontable (x) — кубик x на столе, clear (x) — над кубиком x пусто, handempty — рука агента пуста, holding (x) — рука агента держит кубик x, on (x, y) — кубик x находится на кубике y. x, y — переменные. Правила: R1: pickup (x) — поднять кубик со стола C (R1): ontable (x) & clear (x) handempty A (R1): holding (x) D (R1): ontable (x), clear (x), handempty R2: putdown (x) — опустить кубик на стол C (R2): holding (x) A (R2): ontable (x), clear (x), handempty D (R2): holding (x) R3: stack (x, y) — положить кубик на другой кубик C(R3): holding (x) & clear (y) A(R3): handempty, on (x, y), clear (x) D(R3): holding (x), clear (y) R4: unstack (x, y) — снять кубик с другого кубика C(R4): handempty & on (x, y) & clear (x) A(R4): holding (x), clear (y) D(R4): handempty, on (x, y), clear (x) Начальное состояние s0 и цель G изображены на рис. 3.1. Таким образом, цель G = {On (A, B)&On (B, C)}. Поскольку цель G является составной, то STRIPS расщепляет ее на отдельные компоненты — On (A, B) и On (B, C), которые помещаются в стек и удовлетворяются по очереди. 3.3. Планирование в пространстве состояний 115 Рис. 3.1. Аномалия Суссмана Положим, что On (A, B) — наверху стека, тогда планировщик находит следующую последовательность правил для удовлетворения On (A, B): UNSTACK (C, A), PUTDOWN (C), PICKUP (A), STACK (A, B). Применяет найденную последовательность к состоянию s0 . Получается ситуация, изображенная на рис. 3.2, в которой On (A, B) выполнима. Цель On (A, B) удаляется из стека целей. Далее, из ситуации на рис. 3.2, удовлетворяется следующая цель в стеке — On (B, C). В результате имеем: UNSTACK (C, A), PUTDOWN (C), PICKUP (A), STACK (A, B), UNSTACK (A, B), PUTDOWN (A), PICKUP (B), STACK (B, C). Применяем последовательность подчеркнутых правил. Получаем ситуацию на рис. 3.3. Цель On (B, C) удовлетворена и удаляется из стека. Однако цель On (A, B), удовлетворенная на предыдущем этапе, перестает быть выполнимой. Поэтому, далее планировщик пытается из ситуации на рис. 3.3 удовлетворить On (A, B). Это приводит к добавлению еще двух правил к имеющейся последовательности. Рис. 3.2. Удовлетворение первой цели Рис. 3.3. Удовлетворение второй цели В результате получаем план: UNSTACK (C, A), PUTDOWN (C), PICKUP (A), STACK (A, B), UNSTACK (A, B), PUTDOWN (A), PICKUP (B), STACK (B, C), PICKUP (A), STACK (A, B). 116 Гл. 3. Методы интеллектуального планирования Подчеркнутые правила применяются. Цель On (A, B) & On (B, C) достигается. План построен. Однако существует другой план, содержащий меньше действий: UNSTACK (C, A), PUTDOWN (C), PICKUP (B), STACK (B, C), PICKUP (A), STACK (A, B). 3.3.4. Вычислительная сложность задачи STRIPS-планирования. Описание задачи классического планирования в терминах STRIPS допускается любым планировщиком. Приведем без доказательств два утверждения, характеризующие вычислительную сложность задачи STRIPS-планирования для условий, являющихся конъюнкцией атомарных формул. Теорема 3.3.1. Задача планирования T не разрешима, если в языке описания домена планирования P допустимы функциональные символы [46]. Теорема 3.3.2. Задача планирования T разрешима, если в языке описания домена планирования P недопустимы функциональные символы [54, 67]. Далее будем рассматривать случай разрешимой задачи планирования, вычислительная сложность которой (табл. 3.2) варьируется от постоянного времени до EXPSPACE-полноты в зависимости от ограничений, накладываемых на язык домена планирования P . Заметим, что задача «существование минимального по длине плана», как минимум, равна по сложности «задаче существования плана длиной 6 k». Рассмотрим, каким образом входные параметры задачи планирования влияют на ее сложность. (1) Если нет никаких ограничений на описание домена планирования P , тогда любое конкретизированное действие может появиться несколько раз в плане. Количество конкретизированных действий экспоненциально. Размер каждого состояния в худшем случае является экспоненциальным. Таким образом, пространство состояний, в котором необходимо осуществить поиск, также экспоненциально. Это приводит к тому, что задача «существование плана» EXPSPASE-полна (строка 1). (2) Если все действия имеют пустой список удалений (строка 2), тогда каждый факт, добавленный в состояние, остается истинным при последующих преобразованиях. Следовательно, нет необходимости использовать одно и то же действие дважды в одном плане. А поскольку число полностью конкретизированных действий экспоненциально, то 117 3.3. Планирование в пространстве состояний план будет также экспоненциальной длины. Таким образом, сложность планирования снижается до NEXPTIME-полноты. (3) Если дополнительно к ограничениям в пункте (2) добавить ограничения на предусловия, не содержащие негативных атомов (строка 3), Т а б л и ц а 3.2. Вычислительная сложность задачи планирования Ограничения Как Список ОтрицаЗадача № заданы языка удалений ние в СуществоСуществовадействия предуслование плана ние плана вии длиной 6 k Есть Предикаты не содержат функциональные символы Есть/нет 1 ExpSpaceполна NExpTimeполна Есть 2 NExpTimeполна NExpTimeполна Нет 3 ExpTimeполна NExpTimeполна Нет 4 PSpaceполна PSpaceполна Есть Есть/нет 5 PSpace PSpace Нет Есть 6 NP NP Нет 7 P NP Нет 8 NLogSpace NP Есть/нет 9 PSpaceполна PSpaceполна Не априорно Нет Априорно Есть Все предикаты 0-местные Не априорно Нет Есть 10 NP-полна NP-полна Нет 11 P NP-полна Нет 12 NLogSpace- NP-полна полна Априорно Есть/нет Есть/нет 13 Постоянное Постоянное время время Пояснения к таблице 3.2: 1) в графе «ограничения языка» описаны ограничения, накладываемые на язык L домена планирования P ; 2) в графе «как заданы действия» — «априорно» означает, что множество ΣR в задаче планирования T фиксировано, а параметрами являются s0 и G; 3) в графе «существование плана» представлена вычислительная сложность следующей задачи: «Существует ли для задачи планирования T = hs0 , ΣR, Gi план, который достигает цели G?»; 4) в графе «существование плана длиной 6 k» представлена вычислительная сложность следующей задачи: «Существует ли для задачи планирования T = hs0 , ΣR, Gi и заданного целого числа k, план длиной меньшей либо равной k, который достигает цели G?» 118 Гл. 3. Методы интеллектуального планирования тогда порядок действий в плане не имеет значения. Это снижает сложность задачи «существование плана» до EXPTIME-полноты. Однако для задачи «существование плана 6 k» сложность не снижается и остается NEXPTIME-полной (строка 1), так как из-за константы k приходится перебирать все множество последовательностей длины 6 k. (4) Если предусловие действия содержит не более одного литерала (строки 4, 8, 12), тогда использование техники обратного поиска позволяет снизить сложность планирования, так как количество подцелей в этом случае не увеличивается. В этом случае сложность варьируется от NLOGSPACE до PSPACE-полноты. (5) Все соображения, изложенные в пунктах 1–4, также справедливы для случая ограничения языка домена планирования P нульместными предикатами (строки 9–13). Кроме того, заметим, что для этого случая мощность |ΣR|, а также размер любого состояния s, снижается с экспоненциального до полиномиального. Естественно, что планирование в этом случае существенно легче, чем в случае допущения k-местных предикатов. В общем случае снижения сложности планирования можно добиться за счет ограничения местности предиката некоторой постоянной j. (6) Когда множество действий ΣR задано априорно, то местность предикатов и количество переменных в каждом действии постоянно. В этом случае сложность планирования снижается и варьируется в пределах от const до PSPACE-полноты (строки 5, 6, 7, 8, 13). 3.3.5. Языковые средства описания доменов планирования. Необходимость описания и решения задач в более сложных доменах привела к появлению языка описания действий ADL [68], являющегося расширением STRIPS-языка. ADL позволяет выражать условные эффекты действий (эффекты, которые применяются только тогда, когда дополнительные условия истинны в момент применения действия), квантифицированные эффекты (эффекты применяются к группе объектов вместо одного), в условиях допускаются дизъюнкции, квантифицированные формулы и иные логические связки. Одним из первых планировщиков, который поддерживает расширенный синтаксис языка ADL, является UCPOP. 3.4. Поиск в пространстве планов 3.4.1. Основная идея. Первым планировщиком, строящим план на основе поиска в пространстве планов, являлся NOAH (Nets Of Action Hierarchies). В 1991 г. МакАлистер и Розенблитт доказали полноту SNLP — алгоритма частично-упорядоченного планирования, что во многом предопределило направление дальнейших исследований [50]. 3.4. Поиск в пространстве планов 119 Начнем с примера, демонстрирующего особенности частично-упорядоченного планирования. Пусть агенту необходимо выполнить несколько задач в комнате A и несколько задач в комнате B (рис. 3.4). Рис. 3.4. Иллюстрация к частично-упорядоченным планам Агент способен выполнять: 1) действия A1 , ..., An , B1 , ..., Bm , которые доставляют, соответственно, факты Pi (i∈1, ... , n) и Qj (j ∈1, ... , m). Условие С(Ai ) = = IN(A), условие C(Bi ) = IN (B); 2) действие GO (A), которое не имеет условий, но имеет в списке добавлений IN (A), а в списке удалений IN (B); 3) действие GO (B), которое не имеет условий, но имеет в списке добавлений IN (B), а в списке удалений IN (A). Необходимо достичь цели G = {P1 , ..., Pn , Q1 , ..., Qm }. Очевидно, что цель G может быть достигнута после исполнения плана Plan = {GO (A); A1 ; ...; An ; GO (B); B1 ; ...; Bm }. Заметим, что порядок выполнения действий A1 , ..., An , как и порядок выполнения действий B1 , ..., Bm , не имеет значения, поскольку все действия Ai выполняются в одной комнате (в комнате A); то же самое касается и действий Bi (которые выполняются в комнате B), а в условия действий входит только это обстоятельство. Следовательно, план {GO (A), An ; ...; A1 , GO (B), Bm , ...; B1 } будет эквивалентен вышеприведенному плану. Для рассматриваемой задачи множество всех линейных планов может быть обобщено одним нелинейным (частично-упорядоченным) планом. Особенность его состоит в том, что на действиях задается частичный порядок. При этом два линейных плана являются эквивалентными, если они являются представлениями одного и того же нелинейного плана. Введем несколько определений. Определение 3.4.1. Шаг плана — это пара h№, Ri, где № — уникальный номер шага, R — некоторое правило. 120 Гл. 3. Методы интеллектуального планирования Два разных шага могут включать одно и то же правило. Таким образом, допустимы планы, содержащие более одного вхождения некоторого правила. В SNLP нелинейный план всегда содержит хотя бы два шага: 1) стартовый — START, соответствующий правилу, которое имеет список добавлений, задающих множество начальных фактов (начальное состояние среды), но не имеет предусловий и списка удалений, и 2) конечный — FINISH, соответствующий действию, которое в качестве предусловий имеет целевые формулы, но не имеет списка добавлений и списка удалений. Определение 3.4.2. Каузальная связь — это тройка hS, f , W i, где f — некоторый факт, S — шаг, имеющий факт f в списке добавлений, W — шаг, имеющий в предусловии атом f . Определение 3.4.3. Угроза V для каузальной связи hS, f , W i — это шаг, который либо добавляет, либо удаляет факт f , и при этом не является ни шагом S, ни шагом W . Определение 3.4.4. Защитное ограничение — это отношение порядка «<», заданное на шагах плана, при этом S < W означает, что шаг S должен быть выполнен до шага W , и напротив, S > W означает, что шаг S должен быть выполнен после шага W . Определение 3.4.5. Нелинейный план Plan = hST , CL, SCi, где ST — множество шагов, CL — множество каузальных связей, SC — множество защитных ограничений. Заметим, что нелинейный план Plan обладает полнотой, если: 1) каждый шаг плана участвует либо в каузальной связи, либо в защитном ограничении; 2) любой шаг W с предусловием f состоит в некоторой каузальной связи hS, f , W i; 3) имеется шаг-угроза V для каузальной связи hS, f , W i и нелинейный план содержит либо защитное ограничение V < S, либо защитное ограничение V > W . Определение 3.4.6. Топологическая сортировка нелинейного плана Plan — это линейная последовательность всех шагов, которая удовлетворяет следующим условиям: 1) первый шаг в последовательности — START; 2) последний шаг в последовательности — FINISH; 3) для каждой каузальной связи hS, f , W i шаг S в последовательности предшествует шагу W ; 4) для каждого защитного ограничения U < V шаг U в последовательности предшествует шагу V . 3.4. Поиск в пространстве планов 121 Определение 3.4.7. Топологическая сортировка нелинейного плана является решением, если применение последовательности правил из шагов между шагами START и FINISH из начального состояния, которое задается списком добавлений шага START, приводит в состояние, в котором содержатся все предусловия шага FINISH. Теорема 3.4.1. Любая топологическая сортировка нелинейного плана, обладающего полнотой, является решением задачи планирования T . Определение 3.4.8. Нелинейный план является противоречивым, если на нем невозможно осуществить топологическую сортировку. Таким образом, противоречивый нелинейный план не является решением задачи планирования. Алгоритм называется систематичным тогда, когда в процессе поиска, осуществляемого в пространстве частично-упорядоченных планов, один и тот же план или эквивалентные планы никогда не рассматриваются дважды. Теорема 3.4.2. Алгоритм SNLP систематичен. Опишем алгоритм SNLP. 3.4.2. Алгоритм SNLP. вход: ΣR, Plan выход: Plan результат: «план построен»/«план не построен» 1. если Plan противоречив то вернуть Plan = ∅, «план не построен» 2. если Plan обладает полнотой то вернуть Plan, «план построен» 3. если в Plan’е имеется шаг-угроза V для причинной связи hS, f , W i и Plan не содержит защитного ограничения V < S или V > W , то недетерминированно выполнить: либо (a) SNLP (Plan + (V < S)) либо (b) SNLP (Plan + (V > W )) 4. если существует некоторый шаг W с предусловием f , для которого не существует причинной связи hS, f , W i, то недетермированно выполнить: либо (a) выбрать некоторый шаг S, добавляющий f и выполнить SNLP (Plan + hS, f , W i) либо (b) выбрать правило R ∈ ΣR, добавляющее f , и создать новый шаг S, ассоциированный с выбранным правилом R и выполнить SNLP (Plan + hS, f , W i). 122 Гл. 3. Методы интеллектуального планирования Таким образом, на вход алгоритма подается множество правил ΣR, а также нелинейный план Plan, не обладающий полнотой, который содержит шаги START и FINISH. Далее Plan уточняется путем добавления причинных связей и защитных ограничений до тех пор, пока не обнаружится такое уточнение, что план либо противоречив, либо обладает полнотой. Для случая абстрактного планирования приведенная процедура может быть расширена следующим образом. Необходимо создать иерархию утверждений, которая будет отражать трудность достижения тех или иных условий. Для этого каждому утверждению сопоставляется некоторое число, характеризующее его иерархический уровень. Малые числа могут указывать на низкий уровень иерархичности, большие числа — на высокий уровень иерархичности. Для того чтобы процедура удовлетворяла предусловия, спускаясь с вершины иерархии утверждений, в процедуре SNLP на шаге 3 и 4 можно осуществлять выполнение пунктов a) и b) не произвольным образом, а с учетом более иерархичного предусловия f , вовлеченного в причинную связь. 3.4.3. Принцип малой связности. Очень часто нелинейные планировщики называют планировщиками, обладающими малой связностью (least commitment). Частичная подстановка — один из примеров малой связности. Так, при поиске плана можно начать с анализа последствий более конкретного действия, например, MOVE (A, B), а можно выбрать менее связывающее действие, например, MOVE (A, x), где x — некоторая переменная, вместо которой можно подставить любой объект. Нелинейность — еще один пример малой связности, например, можно выбрать действие Put (A, x) в качестве первого шага плана, с другой стороны, мы можем предположить что Put (A, x) появляется где-то в середине плана без точного указания места. Однако принцип малой связности не гарантирует нелинейным планировщикам значительного превосходства над линейными. 3.5. Планирование как задача удовлетворения ограничений 3.5.1. Постановка задачи удовлетворения ограничений. Многие задачи в ИИ и в других областях информатики могут быть рассмотрены как задачи удовлетворения ограничений (CSP-задачи), для которых существует множество высокопроизводительных алгоритмов. В связи с этим, формулировка задачи планирования, как задачи удовлетворения ограничений, приобрела определенную популярность [67]. CSP-задача предъявляет требования к значениям переменных в форме ограничений. Множество возможных значений переменных 3.5. Планирование как задача удовлетворения ограничений 123 конечно и называется доменом. Ограничения указывают, какие кортежи значений допустимы для определенного множества переменных. Ограничение может быть задано явно путем перечисления допустимых кортежей или неявно в форме алгебраического выражения. Решением CSP-задачи является такая подстановка значений переменных, при которой удовлетворяются все ограничения. Определение 3.6.1. Задача удовлетворения ограничений — это тройка hV , D, Ci, где: (1) V = {v1 , ... , vn } — множество переменных; (2) D = {D1 , ... , Dn } — множество доменов. Каждый домен Di — конечное множество, содержащее возможные значения, соответствующей переменной; 3) C = {C1 , ... , Cn } — множество ограничений. Ограничение C — отношение, определенное на подмножестве значений всех переменных, т. е. D1 × ... × Dn ⊇ Ci . Заданное (частичное или полное) «означивание» переменных удовлетворяет ограничению Ci , если каждая переменная получила такое значение, что соответствующий кортеж значений принадлежит Ci . Множество всевозможных означиваний всех переменных является пространством, содержащим решение CSP-задачи. Решением CSP-задачи является такое означивание всех переменных, при котором все ограничения удовлетворены. Если для некоторой задачи имеется, по крайней мере, одно решение, то задача является разрешимой, иначе — неразрешимой, или же противоречивой, или же переограниченной. В некоторых случаях необходимо получить все решения. Иногда может быть сформулирована задача ограниченной оптимизации, а именно: найти такое решение, в котором значения переменных оптимизировали бы некоторый заданный функционал. Иногда необходимо просто выяснить, разрешима ли задача. В любом случае CSP-задача принадлежит классу NP-полных задач. 3.5.2. Синтез планов на основе техники прямого распространения ограничений. В этом разделе рассмотрим алгоритм планирования — Graphplan, который использует технику прямого распространения ограничений [71]. В свое время Graphplan продемонстрировал хорошие результаты для ряда тестовых задач классического планирования. Создатели Graphplan’а Блюм и Фест объясняют этот успех способностью Graphplan’а анализировать множество альтернативных планов одновременно. Однако, как показал Камбхампати [74], производительность Graphplan’а объясняется тем, что он обрабатывает компоненты мно- 124 Гл. 3. Методы интеллектуального планирования жества планов без разделения, используя уточнения дизъюнктивных планов. Graphplan принимает на вход стандартное STRIPS-описание задачи планирования и переводит это описание в компактную структуру, называемую графом планирования, из которой впоследствии извлекает частично-упорядоченный план. Важно отметить, что граф планирования — это не граф состояний, который получается при работе планировщика в пространстве состояний. Graphplan сочетает в себе свойства как планировщика в пространстве состояний, так и планировщика в пространстве планов и не обладает свойством малого связывания. Приведем определения основных понятий планировщика. Определение 3.5.1. Факты F — множество элементарных формул без переменных из домена планирования P . Перед основной стадией работы Graphplan создает множество действий, осуществляя для каждого правила R ∈ ΣR всевозможные варианты подстановки индивидов на места всех переменных. Имеется также специальный вид действия «no-op» — «ничего не делать». Определение 3.5.2. Действия Acts — множество полностью конкретизированных правил из ΣR, а также действие «no-op». Действие «no-op» имеет условие C(«no-op») = f , список добавлений A(«no-op») = f и пустой список удалений D(«no-op») = ∅, где f — произвольный факт из F . Определение 3.5.3. Граф планирования P G — ориентированный ярусный граф с двумя типами узлов и с тремя типами ребер. Два типа узлов в P G таковы: 1) F N — множество узлов, ассоциированных с фактами F , и 2) AN — множество узлов, ассоциированных с действиями Acts. Ассоциацию некоторого факта f ∈ F с узлом f n ∈ P G будем обозначать как f n → f . Ассоциацию некоторого действия act ∈ Acts с узлом an ∈ AN ⊂ P G будем обозначать как an → act. Множество узлов P G разбито на непересекающиеся подмножества hF L0 , AL0 , F L1 , AL1 , ...ALn−1 , F Ln i, где F L — ярус, содержащий узлы-факты, AL — ярус, содержащий узлы-действия, F L0 содержит узлы-факты, соответствующие фактам S0 . Любой ярус ALi ⊂ P G содержит узлы-действия an → act, такие что Nodes(C(act← an)) ∈ F Li и не существует f n1 , f n2 ∈ Nodes(C(act← ← an)) и hf n1 , f n2 i ∈ M XF , где Nodes(C(act← an)) — узлы на ярусе F Li , ассоциированные с фактами из предусловия C(act). 3.5. Планирование как задача удовлетворения ограничений 125 Любой ярус фактов F Li ⊂ P G (i > 0) содержит узлы-факты f n → f такие, что для любого an ∈ ALi−1 ⊂ P G справедливо (f ∈ D(act← an) ИЛИ f ∈ A(act← an)). Три типа ребер PG таковы: 1) ребро-предусловие — устанавливается между узлом-фактом f n → → f на некотором ярусе F Li и узлом-действием an →act на ярусе ALi , если факт f ∈ C(act); 2) ребро-добавление — устанавливается между узлом-действием an →act на некотором ярусе ALi и узлом-фактом f n → f на ярусе F Li+1 , если f ∈ A(act); 3) ребро-удаление — устанавливается между узлом-действием an → →act на некотором ярусе ALi и узлом-фактом f n → f на ярусе F Li+1 , если f ∈ D(act). Из определения видно, что ярусы P G чередуются так: (я ф | я д ), (я ф | я д ) и т. д., где (я ф | я д ) — (ярус фактов | ярус действий). Первый ярус графа содержит факты, характеризующие начальное состояние. Ярусы в P G содержат: факты, истинные в момент времени 1; действия, возможные в момент времени 1; факты, возможные в момент времени 2; действия, возможные в момент времени 2; факты, возможные в момент времени 3; действия, возможные в момент времени 3; и т. д. По сути, граф планирования P G позволяет представлять пространство альтернативных состояний. Точнее, множество состояний, например на ярусе F Lj+1 , возникает в результате всевозможных альтернативных вариантов применения действий, расположенных в ярусах с ALi по ALj (i < j), к некоторому состоянию s, представленному на ярусе фактов F Li . Однако ясно, что альтернативная перестановка k действий может привести к тому, что одно из действий может удалять эффект, либо условие другого действия. Для обработки подобных ситуаций используются так называемые конфликты между действиями и конфликты между фактами. Это позволяет при необходимости, например, на этапе извлечения плана, выделить из графа P G альтернативные компоненты пространства состояний. Планировщики, использующие такой способ представления пространства состояний, получили название дизъюнктивных планировщиков. Дадим теперь определение понятию конфликт, следуя [70]. Конфликт — это отношение взаимоисключения между двумя узлами на одном ярусе. Существуют конфликты между действиями и между фактами. 126 Гл. 3. Методы интеллектуального планирования Определение 3.5.4. Конфликты M XF — отношения взаимоисключения между узлами-фактами hf n1 , f n2 i, где f n1 , f n2 — узлы-факты, находящиеся на одном ярусе, такие, что: либо 1) все действия на предыдущем ярусе, добавляющие факт f n1 , удаляют факт f n2 ; либо 2) все действия на предыдущем ярусе, добавляющие факт f n2 , удаляют факт f n1 . Определение 3.5.5. Конфликты M XA — отношения взаимоисключения между узлами-действиями han1 , an2 i, где an1 , an2 — узлыдействия, находящиеся на одном ярусе такие, что: 1) действие an1 удаляет условие или же эффект действия an2 , либо 2) предусловие действия an1 и предусловие действия an2 состоят в конфликте mxf ∈ M XF . Заметим, что конфликт между парой узлов n1 и n2 может иметь место на некотором ярусе L и не иметь места на некотором последующем ярусе L′ . С другой стороны, если между парой узлов n1 и n2 на некотором ярусе L не существует конфликта, то и на последующих ярусах после L пара узлов n1 и n2 не будет конфликтовать. Конфликты превращают граф планирования в граф ограничений в смысле CSP-задачи. Метод, который используется для построения графа планирования, называется методом прямого распространения ограничений. Свойство 3.5.1. Пара ярусов фактов F Li и F Lj идентична, если F Li и F Lj содержат: 1) одинаковые факты, 2) одинаковые конфликты. Свойство 3.5.2. Граф планирования P G является стабилизированным, если существуют пара смежных ярусов фактов F Li и F Li+1 и F Li идентичен F Li+1 . Пусть граф P G стабилизирован и имеется пара идентичных ярусовфактов F Li , F Li+1 ∈ P G. Тогда Утверждение 3.5.1. Ярус фактов F Lk ∈ P G идентичен ярусу фактов F Li ∈ P G, где i ∈ N . Д о к а з а т е л ь с т в о. Действительно, во-первых, из-за существования «no-op»-действий факт f , однажды появившись на некотором ярусе фактов, будет иметь место во всех последующих ярусах фактов. Во-вторых, множество фактов, которые могут быть созданы STRIPSправилами, конечно. Следовательно, должен существовать такой ярус фактов Q, содержащий факты, которые будут иметь место во всех последующих ярусах фактов. В-третьих, если два факта p и q, появившиеся на одном ярусе, не конфликтуют, то и в последующих ярусах они 3.5. Планирование как задача удовлетворения ограничений 127 также не будут конфликтовать. Таким образом, должен существовать такой ярус фактов P после Q, что все последующие ярусы фактов имеют множества конфликтов, идентичные тем, что и в P . Утверждение доказано. Цель G является разрешимой (достижимой) в 2-х случаях: 1) если она удовлетворяется тривиальным образом, т. е. компоненты цели G имеют место в начальном ярусе фактов, 2) если в графе P G существует подграф Plan, который состоит из множества путей, идущих от начального яруса фактов к ярусу фактов, содержащему G, и в этом множестве путей нет ни одной пары конфликтующих узлов. Имеют место следующие утверждения. Теорема 3.5.1. Из графа планирования P G, содержащего n ярусов-действий, можно извлечь план длиной n. Теорема 3.5.2. Алгоритм GraphPlan возвращает «план не существует», только если цель G не достижима. Теорема 3.5.3. Алгоритм GraphPlan обладает полнотой [63]. Опишем теперь собственно алгоритм GraphPlan. 3.5.3. Алгоритм GraphPlan. GRAPHPLAN вход: Acts, S0 , G выход: Plan t = 0 — номер начальной фазы GS — множество для хранения разрешимых/неразрешимых целей PG.F L0 ← S0 1. пока P G не стабилизирован или пока цель G не разрешима делать 1.1. РАСШИРЕНИЕ ГРАФА ПЛАНИРОВАНИЯ P G 1.2. ПОИСК ПЛАНА в P G 1.3. t = t + 1 — переход к следующей фазе 2. если «цель G разрешима» то вернуть Plan иначе вернуть Plan =∅ РАСШИРЕНИЕ ГРАФА ПЛАНИРОВАНИЯ вход: F Lt 3. cоздание следующего яруса действий ALt+1 (a) для каждого действия act ∈ ACTS, применимого в F Lt , если для каждой пары фактов f1 , f2 ∈ C(act) не существуют узлы f n1 → f1 , f n2 → f2 , такие что f n1 , f n2 ∈ F Lt и 128 4. 5. 6. 7. 8. 9. Гл. 3. Методы интеллектуального планирования f n1 , f n2 ∈ mxf , то создать в ALt+1 узел-действие an → act и создать ребра — предусловия между an и соответствующими узлами f n ∈ F Lt (b) выявить конфликты mxa на ярусе ALt+1 cоздание следующего яруса фактов F Lt+1 (a) для каждого узла an ∈ ALt+1 добавить в F Lt+1 узлы-факты, ассоциированные с фактами из A (act← an) и D (act← an) и соединить соответствующими ребрами-добавления или ребрами-удаления узлы F Lt+1 и узлы ALt+1 (b) выявить конфликты mxf на ярусе F Lt+1 ПОИСК ПЛАНА результат: «цель G разрешима»/«цель G пока не разрешима» если GN ⊆ F Lt то добавить GN в GSit , где i — номер текущего яруса фактов, t — номер текущей стадии, GN — множество узлов-фактов, ассоциированных с компонентами цели если GSit разрешимо то вернуть «цель G разрешима» иначе вернуть «цель G пока не разрешима» РАЗРЕШИМОСТЬ ЦЕЛИ вход: GSit выход: «GSit разрешимо» / « GSit не разрешимо» GSit — множество (под)целей на i-ом ярусе фактов Comb — множество всех комбинаций Acomb действий яруса ALi−1 таких, что любая пара действий в Acomb не состоит в конфликте mxa ∈ M XA, и при этом Acomb t для каждой Acomb ⊆ Comb создать подцель GSi−1 , состоящую из предусловий действий в Acomb t если цели GSi−1 разрешимы то добавить тройку t hGSi−1 , Acomb , GSit i в Plan и вернуть «GSit разрешимо» если цели GSit не разрешимы то вернуть «GSit не разрешимо» Поясним работу алгоритма. Вначале Graphplan формирует первичный ярус фактов F L0 . На каждой фазе алгритма (переменная t) выполняется: 1) расширение графа планирования P G, 2) поиск плана в графе P G. На этапе расширения графа P G на основе текущего яруса фактов создается новый ярус действий, а затем, на основе нового яруса действий, формируется новый ярус фактов. Во вновь сформированных ярусах выявляются конфликты M XF и M XA (процедура Расширение Графа Планирования). Graphplan строит частично-упорядоченный план. Извлечение плана осуществляется с помощью техники обратного хода от текущего 3.5. Планирование как задача удовлетворения ограничений 129 яруса к начальному ярусу. Эта техника позволяет более эффективно использовать информацию о конфликтах между действиями и фактами в графе PG. Опишем эту технику. Перед поиском плана Graphplan проверяет следующее условие: «справедливо ли, что GN ⊆ F Lтек и для каждой пары узлов gn1 , gn2 ∈ GN и gn1 , gn2 ∈ / mxf , где GN — множество целевых фактов, ассоциированных с узлами на ярусе F Lтек ». Если это так, тогда возможно план существует, и Graphplan приступает к поиску. Суть поиска плана сводится к тому, чтобы от целевых фактов в текущем ярусе GN ⊆ F Lтек выделить путь, ведущий к ярусу F L0 . В пути не должны содержаться конфликтные действия. На основе выделенного пути формируется план. Более точно происходит следующее. Формируется множество GS — хранилище (под)целевых наборов GSit . GSit — множество целей, выбираемые из яруса фактов с номером i, при поиске плана на стадии t. Начиная с текущего яруса F Li (на первом шаге i = t) в GSit заносятся целевые факты GN ⊆ F Li . Далее, на ярусе действий с номером (i − 1) выделяются всевозможные комбинации действий (Acomb ), доt ставляющие GSit (множество Comb). Устанавливается подцель GSi−1 , в которую помещаются предусловия выделенных действий, расположенные на ярусе фактов F Li−1 . Для каждой из комбинаций действий Acomb ⊆ Comb процесс продолжается рекурсивно, до тех пор, пока t GSi−1 окажется разрешимой либо не найдется комбинации действий, t доставляющей GSi−1 , т. е. Comb = ∅. t Если подцель GSi−1 оказывается разрешимой, то при возврате из t рекурсии в план Plan помещаются тройки hGSi−1 , Acomb , GSit i, в которой для каждого действия из Acomb известно, какие (под)цели из GSit t достигает действие и какие цели из GSi−1 необходимо достичь, прежде чем выполнить действие. Для получения линейного плана необходимо выполнить топологическую сортировку нелинейного плана Plan с учетом целевых ограничений GSit . Упомянем здесь вкратце еще об одном планировщике, использующем для сокращения пространства поиска так называемый механизм абстрагирования [72]. Результатом абстрагирования является «значимый контекст рассуждений», т. е. множество конкретизированных действий, релевантных решаемой задаче. Для этих целей автором планировщика был разработан специальный язык описания значимого контекста рассуждений. В языке опи5 Г. С. Осипов 130 Гл. 3. Методы интеллектуального планирования сан ряд операций, применимых к специальным базовым множествам, к множествам действий, кортежей объектов и некоторым другим. Операции над множествами идентичны операциям реляционной алгебры. Новым множествам, возникающим в результате применения операций, присваиваются уникальные имена. Для управления порядком выполнения операций используются условный оператор, позволяющий проверить непустоту полученного множества, и оператор перехода, позволяющий явно определить точку продолжения выполнения программы. Результаты экспериментальной проверки планировщика показали, что, например в сравнении с планировщиком [60], применение такого подхода дает значительный выигрыш в скорости на задачах с большим количеством объектов, а также в доменах планирования с большим количеством различных действий и целей. В завершение этой главы кратко рассмотрим методы планирования, основанные на использовании прецедентной информации. 3.6. Планирование на основе прецедентов 3.6.1. Общая схема метода планирования на основе прецедентов. Планирование на основе прецедентов использует предшествующий опыт для решения новых задач. Использование опыта несет в себе двойную выгоду. Во-первых, система планирования становится адаптивной к предметной области. Такая система может на основе удачных и неудачных попыток планирования пополнять свои знания о предметной области или уточнять их. Это делает возможным применение таких систем в динамических средах. Во-вторых, использование опыта может повысить эффективность планирования, так как для составления новых планов используются фрагменты готовых решений. Метод работает следующим образом (рис. 3.5). После постановки новой задачи планирования система пытается найти в библиотеке прецедентов решение похожей задачи. Под похожестью здесь понимается сходство исходного состояния и целей, хотя в качестве существенных могут выступать и другие параметры, например, ресурсы, время, легкость адаптации. При этом система может производить поиск нескольких решений и рассматривать их все в дальнейшем или отобрать лишь одно, наиболее похожее решение. Дело здесь обстоит точно так же, как и при выборе подходящих прецедентов в рассуждениях на основе прецедентов (глава 2). Следующее действие заключается в модификации выбранного прецедента таким образом, чтобы он решал новую задачу. Для этого в прецеденте заменяются цели и начальные условия. После выполнения модификации план может оказаться некорректным, т. е. не достигающим цели. В этом случае необходимо выполнить адаптацию 3.6. Планирование на основе прецедентов 131 Рис. 3.5 плана. Цель адаптации — приведение плана в корректный вид, т. е. в вид, доставляющий решение поставленной задачи. Далее выполняется проверка полученного решения. Проверка может выполняться различными способами: имитация, выполнение плана в реальной среде или какими-то специальными процедурами ревизии. Так как предполагается, что наши знания о среде неточны, может оказаться, что в результате проверки выявится невыполнимость плана. В этом случае можно выполнить анализ причин невозможности выполнения плана и внести коррективы в описание предметной области. Можно попытаться скорректировать план в соответствии с этими изменениями в описании предметной области и вновь повторить проверку полученного решения. Эти действия можно выполнять произвольное количество раз. Последняя фаза — сохранение опыта текущей попытки планирования в библиотеке прецедентов. Такова общая картина метода планирования на основе прецедентов. Поскольку методы поиска подходящих прецедентов рассмотрены во второй главе, остановимся подробнее на процессе модификации и адаптации прецедентов. 3.6.2. Методы адаптации прецедентов. Методы адаптации можно классифицировать следующим образом (рис. 3.6). 5* 132 Гл. 3. Методы интеллектуального планирования Рис. 3.6 Методы удовлетворения ограничений сводятся к связыванию переменных с конкретными объектами новой задачи без изменения структуры плана. В этом случае прецедент должен иметь обобщенный вид, т. е. содержать не конкретные объекты, а переменные. Если же прецедент является конкретизированным (не обобщенным) решением, то выполняется не связывание, а замена старых объектов на новые. Новые объекты должны удовлетворять множеству ограничений, налагаемых прецедентом. В качестве такого ограничения может, например, выступать тип объекта. Если для адаптации применять только этот метод, то невозможна структурная трансформация прецедентов. Следовательно, прецедент должен содержать решение аналогичной задачи, но оперирующей другими объектами, что, в свою очередь, может потребовать наличия большой базы прецедентов. Поэтому может оказаться целесообразным использовать этот метод совместно с каким-либо другим методом, который будет выполнять трансформации структуры плана. Генеративная адаптация предполагает удовлетворение еще недостигнутых целей методом, аналогичным порождению плана. Каждая из неудовлетворенных целей достигается путем поиска либо в пространстве планов, либо в пространстве состояний. Этот метод удобно использовать совместно с другими видами адаптации. Когда другой метод не может справиться с порождением необходимой части плана, то для этой цели применяется какой-либо алгоритм классического планирования. Разделение и слияние для каждой неудовлетворенной цели выполняет поиск решения независимо. Затем полученные решения объединяются в единое решение задачи. Такая декомпозиция может повысить эффективность, если есть легкий способ выполнения слияния. Для 3.6. Планирование на основе прецедентов 133 поиска окончательного решения (слияния) может применяться любой метод (генерация, CBR). Рекурсивная адаптация основывается на применении планирования по прецедентам для каждой из неудовлетворенных подцелей. Найденное решение некоторой подцели может породить множество открытых подцелей, которые достигаются тем же методом. В общем виде метод достаточно сложен, так как приходится выполнять объединение решений: текущего решения задачи и способа разрешения очередной подцели. Адаптация по прецедентам заключается в применении методологии CBR к случаям адаптации. Иначе говоря, система пополняет библиотеку адаптаций и затем пользуется этим опытом для выполнения новых адаптаций. Эвристические методы адаптации используют применение множества эвристических правил преобразования плана. По своей сути эти преобразования сводятся к набору правил, определяющих изменения плана в зависимости от контекста. Ниже приводится обзор нескольких наиболее известных систем планирования, основанного на прецедентах. В каждой из рассматриваемых систем особое внимание уделено используемым методам адаптации. 3.6.3. Некоторые системы планирования, основанного на прецедентах. Система SPA. Авторы системы Steve Hanks и Daniel S. Weld из университета Джорджа Вашингтона [73]. Система является примером планировщика с генеративной адаптацией. Здесь процесс адаптации плана, по сути, является расширением процесса генерации. Для генерации частичных планов используется методология планировщика SNLP [50], суть которой заключается в следующем. Берется пустой план (есть только шаги Start и Finish, представляющие собой постановку задачи) и строится дерево всех возможных уточнений этого плана. Каждое уточнение преследует цель удовлетворения очередной подцели каким-либо способом. Образуемое таким образом дерево содержит нулевой план в своем корне и частичные (возможно, финальные) планы в прочих узлах (рис. 3.7). Построение дерева выполняется обходом «сначала вширь». Обход продолжается до тех пор, пока не будет найдено решение задачи. В системе SPA прецедент представляет собой окончательное (не абстрактное) решение некоторой проблемы, которое является узлом дерева всех возможных планов. Таким образом, использование прецедента 134 Гл. 3. Методы интеллектуального планирования Рис. 3.7 позволяет начать поиск решения не с корня дерева (нулевого плана), а некоторого его узла, который может находиться ближе к решению, чем нулевой план. При этом модуль адаптации может переходить по узлам не только вниз, но и вверх (в сторону более короткого плана). Обход также выполняется в ширину. Начальная стратегия 1) обхода определяется множеством связей с узлом, соответствующим прецеденту. Графически схему поиска можно представить следующим образом (рис. 3.8). Рис. 3.8 Система обладает корректностью и полнотой, так как выполняется полный обход. Но так как обход начинается не с нулевого плана, а с некоторого узла, который предположительно близок к решению, то эффективность поиска выше, чем у SNLP планировщика. Система DerSNLP. Авторы — Laurie H. Ihrig, Subbarao Kambhampati из университета Аризоны [74]. DerSNLP — это еще один пример системы, основанной на алгоритме SNLP и реализующей генеративную адаптацию. В отличие от SPA, здесь в качестве прецедентов хранятся не конечные планы, а трассы 1) Имеются в виду узлы, которые будут рассмотрены на следующем шаге обхода вширь. 3.6. Планирование на основе прецедентов 135 вывода решений. Предварительное решение получается при помощи механизма «переигрывания» (replay). Затем это решение адаптируется при помощи стандартного алгоритма SNLP. Фактически, процесс переигрывания (так же, как и в случае SPA) помещает нас в некоторый узел дерева планов, который при благоприятном исходе должен оказаться ближе к цели, чем корень дерева. Переигрывание вывода (derivational replay) подразумевает хранение трасс предыдущих решений проблем и повторное применение их для решения подобных проблем. Трасса решения проблемы состоит из последовательности инструкций, которые описывают выборы (choices), сделанные в исходном эпизоде планирования. Например, планировщик, работающий в пространстве состояний (по алгоритму «анализ средств и целей»), принимает следующие решения: какую подцель удовлетворить следующей, какой шаг использовать для достижения подцели и когда добавить подходящий шаг в план. SNLP принимает два вида решений: достижение подцелей (establishment) и разрешение угроз причинным связям (threats resolution). Здесь трасса решения аннотируется выборами, которые были сделаны по пути из корня дерева поиска к конечному плану в листовом узле. Каждое решение становится инструкцией для последующих процессов поиска. Инструкции содержат высокоуровневые описания принятых решений и условий их применения в будущих контекстах. Механизм переигрывания функционирует следующим образом. По описанию новой проблемы отыскивается прецедент, содержащий в цели открытое условие, такое же, какое содержится в новой цели (предыдущая трасса может соответствовать более чем одному открытому условию). В DerSNLP стратегия переигрывания является интенсивной (eager), т. е. трасса всегда проигрывается до конца. Это позволяет избежать вопросов о том, как чередовать переигрывание множества прецедентов и как чередовать переигрывание с генеративным планированием. Таким образом, последовательно рассматриваются все инструкции в трассе. Процесс переигрывания должен проверить каждую инструкцию, содержащуюся в трассе, прежде чем переиграть ее в новых условиях. В зависимости от типа инструкции (достижение или разрешение угрозы) формируется уточнение плана. Например, для случая достижения процесс проверки сначала сопоставляет открытое условие инструкции открытому условию в цели. Условия сопоставляются на основе отображения объектов (mapping), формируемого во время поиска прецедента. Объекты в старой цели отображаются на соответствующие объекты в новой схожей цели. Затем выполняется уточнение текущего плана тем же способом, что 136 Гл. 3. Методы интеллектуального планирования и в инструкции. Для достижения — это порождение нового действия и связи, либо установление связи с существующим действием. Таких действий может быть несколько. Система пытается найти среди них такое, которое соответствует действию, описанному в инструкции. В интенсивной стратегии переигрывания рассмотрение инструкций выполняется последовательно в соответствии с трассой прецедента. Именно эта последовательность определяет порядок, в котором предусловия (цели) удовлетворяются, а угрозы разрешаются. Решения в трассе, которые невозможно принять в новой ситуации, пропускаются. В итоге механизм переигрывания порождает план, который включает все предписанные (трассой) уточнения, которые корректны в новом контексте. План, порожденный переигрыванием, может все еще содержать открытые условия. Это происходит либо потому, что решения (в прецеденте), которые были выбраны для разрешения подцели, не корректны в новом контексте, либо потому, что в новой задаче есть цели, которые покрываются трассой прецедента. Поэтому требуется дальнейшее планирование для достижения этих целей. Начиная с узла, достигнутого процессом переигрывания, выполняется поиск решения по алгоритму SNLP — адаптация плана. В противоположность планировщикам, работающим в пространстве состояний, планировщики, работающие в пространстве планов более гибкие. Если дополнительные цели требуют шагов, которые должны быть включены между шагами плана, порожденного переигрыванием эпизода, эти шаги могут быть добавлены после того, как вся трасса будет переиграна. DerSNLP может в дальнейшем уточнить план, который получился в результате переигрывания трассы. Это невозможно, если переигрывание выполняется для планировщика, работающего в пространстве состояний. Ниже приведены схематические представления процедур переигрывания. PROCEDURE PlanRefinement(GCs, Act): Plans IF there is an unsafe link in Act THEN choose t from Act’s unsafe links, and RETURN HandleUnsafe(t, Act) ELSE pick a subgoal o from the list of open conditions IF GetCase(o, GCs, Act) returns a candidate c, THEN IF Replay(c, Act) returns a plan, THEN RETURN plan ELSE RETURN HandleOpen(o, Act) ELSE 3.6. Планирование на основе прецедентов 137 RETURN HandleOpen(o, Act) PROCEDURE Replay(Instr, Act): Plan IF null Instr THEN RETURN Act ELSE SelectedRefinement := ValidateInstr(Instr, Act) IF SelectedRefinement THEN RETURN Replay(Next(Instr), SelectedRefinement) ELSE RETURN Replay(Next(Instr), Act) PROCEDURE ValidateInstr(Instr, Act): Plan IF Instr is of type Establishment THEN IF OpenCondOf(Instr) in OpenCondsOf(Act) THEN ActRefinements := HandleOpen(OpenCond, Act) ELSE IF Instr is of type ThreatResolution THEN IF UnsafeLinkOf(Instr) in UnsafeLinksOf(Act) THEN ActRefinements := HandleUnsafe(UnsafeLink, Act) SelectedRefinement := FindMatch(DescisionOf(Instr), ActRefinements) IF SelectedRefinement THEN puhs it siblings onto SearchQueue, and RETURN SelectedRefinement ELSE RETURN FALSE; Система DIAL. Разработчики системы David B. Leake, A. Kinley и D. C. Wilson из университета Индианы вместо написания соответствующих эвристических функций решили прибегнуть к обучению [75]. В качестве способа приобретения знаний был выбран CBR-метод моделирования рассуждений, основанных на прецедентах. Адаптация в этой системе выполняется следующим образом. После того, как план-прецедент 1) выбран, производится оценка его применимости в новых условиях. Это осуществляется специальным оценивающим компонентом. Цель этой оценки — обнаружение проблем в плане (прецедент не является готовым решением новой задачи), которые требуют выполнения некоторых преобразований над планом (т. е. адаптации). Далее включается в работу модуль адаптации. Этот модуль изначально содержит общие домено-независимые адаптационные знания. К ним относятся небольшое количество абстрактных транс1) В данном случае прецедентом является готовый план. 138 Гл. 3. Методы интеллектуального планирования формационных правил (называемых также правилами адаптации) 1) и библиотека простейших методов поиска в памяти (необходимость последних будет объяснена ниже). Правила адаптации индексируются по элементам словаря описания проблем, т. е. по типам проблем. Например, тип проблемы FILLER-PROBLEM:UNAVAILABLE-FILLER является индексом для правила трансформации, выполняющего подстановку объекта в некоторую ролевую позицию (присвоение значения переменной). Столкнувшись с новой проблемой, DIAL сначала извлекает правило трансформации, связанное с типом новой проблемы. Каждая ассоциация между типом проблемы и правилом трансформации имеет связь с информацией о том, как определить (по типу проблемы) части плана, которые должны быть трансформированы. Ассоциация также связана с информацией о том, как найти информацию, необходимую для применения трансформации. Например, для подстановки объекта в ролевую позицию система извлекает из схемы (действия) ограничения на роль, для которой ищется подстановка. Эти ограничения определяют информацию, которую необходимо найти (свойства объекта, пригодного для подстановки). После определения информации, которую нужно найти, выполняется поиск объекта в памяти с использованием одного из методов, хранимых в библиотеке методов поиска. Обучение адаптации в этой системе сводится к обучению стратегиям поиска в памяти для различных типов проблем. Изначально система не имеет прецедентов поиска в памяти и должна опираться на какой-либо простой метод (например, локальный поиск). Поиск в памяти выполняется до тех пор, пока не будет получен приемлемый результат или пока не будет достигнут барьер, ограничивающий поиск. Когда DIAL неспособен получить приемлемое адаптационное решение, то путь к решению указывает пользователь. Получив успешное адаптационное решение (самостоятельно или при помощи пользователя), система сохраняет трассу шагов, использованных в процессе поиска в памяти. Вместе с трансформационным правилом эта трасса образует прецедент адаптации, который можно в дальнейшем использовать. Прецедент адаптации, а точнее, поисковая стратегия, при повторном использовании может и не найти приемлемое решение. В этом случае можно было бы выполнять адаптацию адаптационного примера, но DIAL не делает этого. Стратегия поиска не изменяется в процессе работы системы. Для улучшения поисковой стратегии она дополняется стратегией локального поиска, суть которой заключается в следующем. Если стратегия не находит решения, то применяется локальный поиск 1) Примерами таких правил могут служить: подстановка, добавление шага или удаление. 3.6. Планирование на основе прецедентов 139 в точке, где закончила работу поисковая стратегия. Если и тут ее постигает неудача, то система производит возврат к предыдущей точке, найденной поисковой стратегией, и снова выполняет локальный поиск. И так далее, вдоль всего пути, найденного поисковой стратегией. Система PARIS (Plan Abstraction and Refinement in an Integrated System) — независимая от предметной области система планирования, основанная на прецедентах [76]. Повторное использование осуществляется за счет техники абстрагирования и уточнения прецедентов. В библиотеке прецедентов хранится несколько уровней абстракции плана. Когда решается новая проблема, из библиотеки извлекается прецедент (некоторого уровня абстракции), описание проблемы которого точно совпадает с описанием новой проблемы некоторого уровня абстракции. На последующей фазе найденное абстрактное решение уточняется, т. е. детали, которые не содержатся в абстрактном примере, добавляются для получения полного решения. Абстрагирование здесь рассматривается как уменьшение уровня детализации в описании проблемы и в решении. Абстрактный прецедент содержит меньше операторов и меньше состояний. Кроме того, абстрактные примеры описываются более абстрактными термами. Вообще, на различных уровнях абстракции могут потребоваться различные языки представления. Это означает, что должны иметься дополнительные уровни абстрактных описаний предметной области (наряду с детальным описанием). Абстрактные описания предметной области, в свою очередь, содержат абстрактные операторы и правила абстрагирования состояний. Когда решается новая проблема, извлекается наименее абстрактный прецедент, который точно соответствует текущей проблеме на уровне абстракции. На следующей фазе абстрактный прецедент должен быть уточнен. Операторы абстрактного прецедента используются для управления планировщиком (в пространстве состояний), который ищет точное решение проблемы. Каждое абстрактное состояние используется как подцель. Планировщик берет конкретное начальное состояние из описания новой проблемы и ищет последовательность конкретных операторов, ведущих к конкретному состоянию, которое может быть абстрагировано к первому абстрактному состоянию абстрактного прецедента. Получившаяся последовательность операторов является уточнением первого абстрактного оператора. Подобным образом уточняются остальные абстрактные операторы, т. е. адаптация сводится к уточнению абстрактного плана. Система PLEXUS. Система основана на описании предметной области. Основные соображения, лежащие в основе системы таковы [77]: а) приоритетными считаются наиболее детализированные планы; 140 Гл. 3. Методы интеллектуального планирования б) всякий шаг в плане рассматривается как пример некоторой категории действий; в) адаптация опирается на знания о предметной области и состоит в замене шагов на шаги той же категории. Шаг (план) — это действие (или последовательность подшагов и действий). Идея адаптивного подхода заключается в следующем: содержание и структура знаний, связанных со старым планом, должны быть явными и доступными, чтобы с легкостью использовать их в новом контексте. Знания о предметной области описываются в виде семантической сети. Сеть отражает 4 вида знаний: таксономические, родовые, каузальные и ролевые. Таксономические (категоризационные) знания отражаются при помощи ISA-связей. Эти связи используются для описание иерархических связей между двумя концептами, в частности, для отражения связей класс–элемент и класс–подкласс связей. Движение вверх по ISA-связи удаляет свойства концепта (абстрагирование), а вниз — добавляет свойства (детализация). Таким образом, ISA-иерархия используется не только для наследования свойств, но и для выполнения двух важных функций: абстрагирования и детализации. Некоторые связи помечаются либо для обозначения плана по умолчанию, либо для подчеркивания, что данный план часто используется в данном контексте. Знания включают также родовую иерархию. Каждый план представляется последовательностью пронумерованных шагов. В свою очередь, каждый шаг может являться планом, который, в принципе, может быть разложен на последовательность шагов. PLEXUS использует родовую структуру для установления фрагмента сети, требующего уточнения в данной ситуации. Каузальные знания представлены пятью видами связей: назначение, причина, цель, предусловие и результат. Связь назначения используется для отражения связи между планом (шагом или действием) и наиболее абстрактной версией плана, которая удовлетворяет данному назначению. Например, назначением действия «покупка билета на поезд» является «получение доступа к сервису». Связь причины соединяет шаг плана с некоторым последующим шагом этого плана. Связь причины показывает, что существует некоторая причинная цепочка между шагами. Например, причиной «покупки билета» является «выход на посадочную платформу». Когда шаг плана проваливается и ищется альтернатива, PLEXUS использует причинную связь для определения последующих шагов, которые будут затронуты новой подстановкой. Таким образом, причинные связи отражают зависимости между шагами и используются для определения эффектов (результатов) изменений. Целевая связь соединяет шаг с целью, достижению которой он служит. Например, целью, ассоциированной с «перемещением», является 3.6. Планирование на основе прецедентов 141 «пребывание в определенном географическом положении». Шаги могут быть проассоциированы с более чем одной целью. PLEXUS использует целевые связи для сопоставления старого плана новой ситуации (хранимых целей и новых целей). Связь предусловия соединяет шаг с условиями, необходимыми для его выполнения. Например, необходимым условием «покупки билета» является наличие «билетной кассы» в точке, где этот план применяется. Результирующая связь соединяет шаг с его ожидаемым результатом. Например, результирующая связь связывает «покупку билета» и «наличие билета». PLEXUS использует результирующую связь для проверки, расходятся ли ожидаемый и действительный результаты действия (или плана). Ролевые знания соединяют концепт с одним из его слотов. Например, одной из ролей действия «покупка билета» является «билет». Имеется механизм типизации ролей. Для выбора курса действий в текущей ситуации PLEXUS использует старый план. Если некоторый шаг не является действием (т. е. не конкретизирован), то рассматриваются его подшаги (обход вглубь). Когда рассматриваемый шаг адаптирован к текущим условиям, выполняется имитация выполнения действия. Иначе говоря, PLEXUS чередует планирование и выполнение действий. С каждым шагом плана ассоциированы условия применимости. До применения шага PLEXUS в качестве условий применимости рассматривает предусловия и цели старого плана. После применения шага результаты его выполнения рассматриваются в качестве новых условий применимости. Условия применимости проверяются путем проверки ограничений типов, связанных с каждой из ролей, которые, в свою очередь, связаны условиями применимости. Общий алгоритм подбора и применения шагов можно описать следующим образом: 1. Все ли предусловия, связанные с адаптируемым шагом старого плана, удовлетворяются в текущей ситуации? Если нет, то предусловие следует удовлетворить. 2. Нет ли в текущей ситуации некоторой цели, неудовлетворяемой текущим шагом старого плана? Если есть, то возникает ситуация расхождения целей. 3. Является ли текущий шаг действием? Если да, то выполняем. Иначе переходим к рассмотрению подшагов. 4. Результаты выполнения текущего шага соответствуют ожидаемым? Если нет, то имеет место ситуация расхождения результатов. 5. Переход к адаптации следующего шага. 142 Гл. 3. Методы интеллектуального планирования Если одно из условий применимости не выполняется или в текущей ситуации есть цель, которую не удовлетворяет старый план, то актуален один из трех видов различия ситуаций: невыполнимое предусловие, неверный порядок шагов или различие целей. Четвертый вид различия ситуаций — расхождение ожидаемого и действительного результатов. С каждым типом различия ситуаций связана стратегия разрешения этой проблемы. PLEXUS не всегда рассматривает шаги по порядку (иногда он заглядывает вперед). Ядром системы является технология сопоставления, которую система использует для нахождения замены шагу, если было установлено, что шаг нужно заменить. Для поиска альтернативы действию система PLEXUS рассматривает провалившийся шаг как экземпляр категории действия, которое необходимо выполнить. В процессе абстрагирования система использует знания для определения категории планов, общей для двух (старой и новой) ситуаций. В процессе специализации используются знания для определения альтернативного курса действий, который удовлетворяет текущим условиям. PLEXUS выполняет абстрагирование путем поднятия по иерархии категорий до тех пор, пока он не найдет план, где все условия пригодности будут соответствовать текущей ситуации. Конкретизация выполняется посредством спуска по иерархии категорий до тех пор, пока не будет найдет план, который достаточно детализирован, чтобы быть примененным. Шаг может иметь произвольное число абстракций, ассоциированных с ним. Выбор неверной абстракции может привести к нахождению неверного действия. Планировщик может избежать этого, используя следующее правило: следует подниматься по иерархии абстракций, которая служит назначению шага в плане, который подлежит замене. В ходе конкретизации PLEXUS движется от абстрактного плана к более конкретным. Перемещения по сети управляются текущей ситуацией. Применимость конкретизации проверяется посредством проверки условий применимости. Если одно из них нарушается, то происходит возврат. Если не удается найти конкретизацию для данной абстракции, то рассматривается следующая абстракция в иерархии. Иногда характер различий ситуаций может подсказать, какую подкатегорию выбрать (например, в случае расхождения целей: новая цель — подсказка). Иногда имеющиеся в наличии объекты и их абстракции являются подсказкой. И, наконец, есть подкатегории по умолчанию (как наиболее типичные экземпляры класса). Как уже было сказано, PLEXUS распознает четыре вида ситуаций. С каждым видом связан метод адаптации для устранения различия. Каждый из методов включает идентификацию шага, который нужно уточнить, определение параметров, которые необходимо абстрагиро- 3.6. Планирование на основе прецедентов 143 вать (т. е. тех, из-за которых невозможно выполнение старого плана), и подсказки для выполнения конкретизации. Рассмотрим эти методы. Неудовлетворенное предусловие. Для ситуации неудовлетворения предусловия абстрагирование выполняется так. Поднимаемся по иерархии абстракций в соответствии с назначением шага до места, где проваленное предусловие абстрагируется. Затем выполняется конкретизация. Несоответствие результата желаемому. Есть два способа разрешить эту ситуацию. Первая заключается в нахождении альтернативной интерпретации ситуации, в которой результат уже не будет нужен. Вторая — найти альтернативный план, который достигнет нужного результата. В первом случае PLEXUS использует причинные связи, чтобы проверить, можно ли выполнить другие шаги при недостижении нужного результата в данном случае. Например, может существовать другой способ выполнения (альтернатива) действия, предусловием которого являлся провалившийся результат. Случай поиска альтернативного плана характерен тем, что не существует характеристик, которые можно было бы абстрагировать. Поэтому применяется следующая технология абстрагирования. PLEXUS последовательно поднимается по иерархии абстракций, обозначенной связью назначения. Расхождение целей. Часто возникает ситуация, когда цель текущей ситуации не присутствует в старом плане. Следовательно, план должен быть изменен, чтобы соответствовать новой цели. Выполняется очередная адаптация. PLEXUS последовательно поднимается по иерархии абстракций, обозначенной связью назначения, используя очередные ограничения. Новый план должен достигать все старые и новые цели. Иной порядок шагов. Иногда PLEXUS пытается применить старый план в новых условиях, а ситуация такова, что нужно применять шаги в другом порядке. Возможны два варианта изменения плана в такой ситуации: удаление промежуточных шагов или переупорядочивание шагов старого плана. В первом случае PLEXUS рассматривает результаты промежуточных шагов как ситуацию несоответствия результата желаемому. Система проверяет, можно ли найти альтернативную интерпретацию ситуации. В случае успеха PLEXUS удаляет промежуточные шаги и переходит к следующему шагу. Во втором случае сначала выполняется проверка на возможность переупорядочивания. Метод проверки следующий. Рассматриваются очередные шаги и проверяются их предусловия. Если шаг может быть применен, то он исключается из последовательности, применяется и вновь выполняется попытка выполнить первый шаг последовательности. Если нет шагов, которые можно применить, PLEXUS рассматривает ситуацию, как случай неудовлетворения предусловия. 144 Гл. 3. Методы интеллектуального планирования Иногда для этих целей используются базы прецедентов, а для адаптации применяют различные эвристики, протестированные на прецедентах. В любом случае следует сохранять конкретные планы. Система PERSUADER — это приложение, которое работает в качестве посредника для разрешения конфликтов между профсоюзом и компанией [78]. Его задача — помочь сторонам достичь взаимно приемлемого соглашения. Для достижения этой цели система должна спланировать действия так, чтобы минимизировать разницу между позициями сторон. На вход системы подается множество конфликтующих целей компании и профсоюза (например, заработная плата, пенсии, выходные дни, права менеджеров) и контекст переговоров (например, экономические условия в данной отрасли, общие экономические условия, информация о сторонах переговоров). Результатом работы должен быть либо план (в виде согласованного компромисса), либо сигнал о сбое, если стороны не достигли соглашения. Для выполнения своих задач PERSUADER пользуется знаниями о предшествовавших переговорах и соглашениях (прецеденты) и знаниями о предметной области. Информация, представленная в прецеденте, включает в себя: • каковы были стороны переговоров, • конфликтные цели сторон, • отрасль промышленности, к которой относится компания, • международный профсоюз, • географическое положение компании, • классификация работ членов профсоюза, • процесс переговоров, • аргументы, представленные во время переговоров, • предложения и контрпредложения (для решения спорных вопросов), • конечное соглашение (контракт). Ситуация, когда планировщик предложил компромисс, который отклонен хотя бы одним агентом, называется тупик. Процесс переговоров представляется в виде списка таких тупиков. Описание тупика включает в себя: • предложение системы, • реакции сторон (принятие или отклонение), • причина отклонения (если известна), • действия системы для улучшения отклоненного предложения. Опишем кратко принципы работы системы. Сначала порождается предварительный компромисс (initial compromise), который предположительно будет приемлем для сторон. Он отдается на рассмотрение сторонам. Если хотя бы одна из сторон не согласна с компромиссом, то 3.6. Планирование на основе прецедентов 145 система выполняет одно из следующих действий: либо она порождает аргументы в пользу найденного решения, с целью убедить сторону, отклонившую компромисс, либо выполняется модификация соглашения. Порождение предварительного компромисса рассматривается здесь как задача планирования. Естественно, компромисс можно рассматривать как декларацию (например, повышение оклада на 10 % и объявление четверга выходным днем). Но целесообразно также представлять компромисс в виде множества действий (например, повысить оклад на 10 %, сделать четверг выходным). Такой вариант описания компромисса пригоден для использования алгоритмов планирования с целью поиска решения. В системе PERSUADER используются CBR для поиска компромисса (как последовательности действий). Если подходящих прецедентов нет, то решение генерируется переборным алгоритмом планирования. Извлечение прецедента выполняется по заранее заданным значимым свойствам (привязка к предметной области). Процесс адаптации плана состоит из следующих шагов: • приспосабливание плана-прецедента к решению текущей проблемы, • модификация приспособленного плана с учетом детальной информации о текущей проблеме, • предсказание сбоев модифицированного плана и попытка их устранения. Приспосабливание плана-прецедента к новым условиям (контексту) заключается в применении ряда эвристик для корректировки некоторых параметров плана. Например, если в прецеденте географическое положение компании отличается от географического положения компании, вовлеченной в текущие переговоры, то предлагаемые оклады должны быть скорректированы в соответствии с различиями стоимости жизни в этих двух регионах. В системе существует специальная библиотека эвристик, предназначенная для выполнения такого рода корректировок. Результатом фазы приспособления является план в нулевом приближении. После построения плана в нулевом приближении он оценивается на пригодность в текущей ситуации. Для этого используются следующие категории знаний: • знания о неприемлемости условий, • более детальные знания о сторонах переговоров, • знания о контексте переговоров и влиянии переговоров на ситуацию. Оценка выполняется при помощи набора специальных процедур — критиков. Каждый критик имеет заранее заданный приоритет. Чем больше вероятность, что недостаток плана, отыскиваемый критиком, 146 Гл. 3. Методы интеллектуального планирования приведет к сбою, тем выше приоритет. Примером критика может выступать процедура, оценивающая, способна ли компания покрыть расходы на приведение плана в действие. Если критик говорит о том, что план нуждается в модификации, то выполняется поиск прецедента, где встречалась такая же проблема. С каждым критиком связан индивидуальный набор свойств, по которым выполняется поиск прецедента. Если прецедент найден, то он оценивается на применимость в данной ситуации. Если предусловия рассматриваемого плана удовлетворяются в текущей ситуации, то план добавляется в текущее решение. Иначе он подвергается модификации или ищется другое решение. Если же прецедент не найден, то для модификации приблизительного плана используются правила, ассоциированные с критиком. Система CHEF. Предметная область системы — приготовление блюд [79]. Она хранит информацию как об успешных эпизодах планирования, так и о сбоях. Хранение информации о сбоях позволяет предсказывать и избегать подобных ситуаций в будущем. При хранении планы индексируются по целям, достижению которых они служат, и по проблемам, которых следует избегать в связи с достижением этих целей. Система учится сразу трем аспектам: • новым планам, • свойствам, по которым можно предсказать возникновение проблем, • методам коррекции планов, которые должны быть реализованы в случае возникновения проблем в новых обстоятельствах. Как и другие CBR-системы, CHEF строит новые планы на основе хранящихся в памяти прецедентов. Прежде чем искать подходящий план и модифицировать его, CHEF исследует цели и предсказывает сбои, которые могут возникнуть из-за взаимовлияния планов, которые будут использованы для достижения этих целей. Это предсказание выполняется на основе проблем, которые планировщик встречал в прошлом. Когда сбой предсказан, CHEF добавляет в начальный список целей цель для избежания этого сбоя в дальнейшем. CHEF умеет не только предсказывать сбои и избегать их, но и корректировать планы в случае, если сбой все-таки возникнет. CHEF состоит из 6 модулей: 1. Anticipator — предсказывает проблемы, с которыми возможно придется столкнуться при планировании. Предсказание основано на информации о сбоях, возникавших при взаимовлиянии целей, подобных текущим. 3.6. Планирование на основе прецедентов 147 2. Retriever — ищет в памяти план, который соответствует как можно большему количеству текущих целей и содержит минимальное число проблем, предсказанных на предыдущем шаге. 3. Modifier — изменяет найденный план для достижения тех целей, которые еще не достигаются найденным планом. 4. Repairer — вызывается, если новый план не срабатывает. Он строит причинное объяснение сбоя, корректирует план и передает рабочий план в модуль Storer для индексации и сохранения. 5. Assigner — использует причинное объяснение, построенное модулем Repairer, для выявления характеристик, которые будут в дальнейшем использованы для предсказания сбоев. 6. Storer — сохраняет план в памяти. Выполняет индексацию по целям, которые достигаются планом, и проблемам, которых он избегает. Вся адаптация выполняется модулями Modifier и Repairer. Modifier. Чтобы модифицировать план, необходима дополнительная информация. Во-первых, необходима библиотека правил модификации, специально созданных для различных планов и классов целей. Такие правила не должны выдавать завершенные планы для достижения какой-либо конкретной цели. Они могут лишь определять модификации, которые необходимы для изменения существующего плана, чтобы достичь конкретную цель. Правила модификации позволяют модулю добавлять новые шаги в план в зависимости от типа модифицируемого плана и конкретной цели, которую следует удовлетворить. Модуль также нуждается в информации об особенных объектах предметной области, а именно, в информации о том, как Modifier должен использовать специфические свойства этих объектов во время применения обобщенных правил модификации. Эта информация в форме критиков специального назначения позволит системе приспособить обобщенные модификации плана к специфичным требованиям особенных объектов предметной области. И, наконец, Modifier должен знать, что должны делать планы из тех, которые он модифицирует. Это необходимо, чтобы не разрушить достижение глобальных целей плана во время модификаций, целью которых является достижение специфичных целей. Repairer. Для работы этого модуля требуется специальный словарь сбоев. Этот словарь индексирует методы ремонта плана. Ключом индекса является пара hсбой, причина сбояi. В случае обнаружении сбоя (после модификации осуществляется имитация выполнения плана для контроля его корректности), исследуется причина сбоя и отыскивается метод коррекции плана, т. е. набор действий, которые модифицируют план таким образом, чтобы устранить этот конкретный сбой. 148 Гл. 3. Методы интеллектуального планирования Система PRODIGY. Система PRODIGY, разработанная в университете Карнеги Меллона [80], является одной из наиболее известных систем планирования на основе прецедентов. Прецедент, частично соответствующий текущей проблеме, является кандидатом на повторное применение. Для ранжирования кандидатов используется метрика подобия. Функциональность модуля, отвечающего за повторное использование прецедента, заключается в механизме «переигрывания», который способен реконструировать решения из прецедентов, когда прошлая и новая ситуации соответствуют друг другу лишь частично. Для адаптации прецедента к текущей проблеме в системе реализован вывод на основе прецедентов, оформленный в виде отдельного модуля. Способность использовать предыдущие решения выводом на основе прецедентов предполагает, что решатель (например, генеративный планировщик) способен исследовать последовательность им же порождаемую, выделяя обоснования (причины принятия именно такого решения) для каждого решения, выполненного во время поиска в базе прецедентов. Вывод опирается на планировщик PRODIGY/NoLimit. Это планировщик, работающий в пространстве состояний на основе анализа средств и целей в режиме поиска от цели к исходному состоянию. Извлечение прецедента выполняется на основе метрики сходства. Сравниваются цели и начальное состояние. Мера сходства, соответственно, состоит из двух слагаемых. Во-первых, находится расстояние между целями прецедента и новой задачи. Оно вычисляется как количество одинаковых обобщенных (т. е. не замкнутых) дизъюнктов в целях 1). Второй компонент — расстояние между начальными состояниями. При этом нужно учитывать: • подстановки для приведения новой цели к прецедентной (т. е. если найдено соответствие по некоторому конъюнкту в цели, то следует установить соответствие между аргументами этого предиката и учитывать это соответствие в дальнейшем); • что не все предикаты, характеризующие начальное состояние, участвуют в решении. Нужно рассматривать только те предикаты, которые «имеют отношение к делу». Прецедент представляет собой последовательность решений при движении от цели к начальному состоянию. Выделяются два вида решений: • текущая цель или подцель; • оператор, выбранный для удовлетворения цели. 1) В PRODIGY/NoLimit цель задается коньюнкцией предикатов. 3.6. Планирование на основе прецедентов 149 Существуют и другие виды точек, в которых следует принимать решения. К ним относятся: • выбор подстановок для конкретизации оператора; • выбор оператора или продолжение исследования целей; • продолжение исследования ветви или приостановка исследования или прерывание оного; • при отсутствии продолжения пути — выбор точки возврата или ветви поиска для продолжения исследования. Модификация прецедента также начинается от цели. Цели, которым не нашлось аналога в выбранном прецеденте, достигаются методом генерации. К целям, для которых есть аналог в прецеденте, применяется метод решения из прецедента — примененный оператор. Если этот оператор в данных условиях применить невозможно, то методом генерации достигаются условия его применимости. Разумеется, все операторы и цели переносятся из прецедента в новое решение с учетом подстановок (замены аргументов предиката в прецеденте новыми аргументами), выполнявшихся на этапе извлечения прецедента. Таким образом, адаптация в этом случае заключается в генерации недостающих участков плана. Глава 4 ИНТЕЛЛЕКТУАЛЬНЫЕ ДИНАМИЧЕСКИЕ СИСТЕМЫ Введение Существенная роль при описании поведения многих систем принадлежит экспертным суждениям и знаниям человека. В частности, к такому классу принадлежат системы, в которых зависимости настолько сложны, что не допускают аналитического представления, а состояния описываются как количественными, так и качественными параметрами. Это заставляет в дополнение к количественным методам или вместо них применять такие подходы, в которых в качестве значений переменных допускаются не только числа, но и слова или предложения искусственного или естественного языка [81], законы же поведения тогда могут быть представлены средствами, которые используются в искуственном интеллекте, например, эмпирическими или экспертными знаниями. Такого рода задачи возникают при исследовании поведения ряда сложных систем, в частности, экологических, социальных, политических, а также некоторых технических систем. Другой класс систем такого рода — двухуровневые системы управления, потребность в которых назрела в связи с развитием, например, беспилотных средств транспортного и иного назначения. В частности, в беспилотных автономных транспортных средствах одним из уровней управления должен являться стратегический (или, как иногда говорят, делиберативный) уровень управления, решающий задачи, например, глобального планирования полета или выбора траектории или выбора цели. Следующий уровень управления — назовем его активным — реализует требуемые действия. Например, на делиберативном уровне управления беспилотным вертолетом принимается решение о зависании над целью, тогда на активном уровне начинает работать математическая модель зависания, вырабатывающая требуемые управления для исполнительных механизмов. Еще одно применение интеллектуальных динамических систем — планирование поведения интеллектуальных агентов при неклассических допущениях, в частности, при непрогнозируемом изменении среды. Введение 151 Рис. 4.1 Рассмотрим простой пример. Пусть решается задача управления движением автомобилей на нерегулируемом перекрестке. Будем полагать, что каждый автомобиль снабжен интеллектуальной системой. Если на пути автомобиля встречается другой автомобиль, движущийся с ним в попутном направлении, то система управления автомобиля должна принять решение либо об обгоне встретившегося автомобиля, либо о движении вслед за ним. При подъезде к перекрестку система должна убедиться либо в отсутствии помех, либо, при наличии таковых, принять решение о действии в соответствии с правилами дорожного движения (рис. 4.1). Эти решения принимаются на делиберативном уровне с помощью применения систем правил, затем включается в работу активный уровень, где применяются соответствующие модели обгона или поворота. Более подробно пример рассмотрен в приложении 1 в конце главы. 152 Гл. 4. Интеллектуальные динамические системы В приложении 2 приведен другой пример двухуровневой системы управления, в котором в качестве делиберативного уровня выступает выбор цели, реализуемый с помощью соответствующей системы правил; активный уровень, в свою очередь, расщепляется на два подуровня, реализуемых с помощью правил управления и правил переходов. Из сказанного следует, что динамическая система приведенного вида должна включать множество правил, образующих базу знаний системы, и некоторые функции, заданные подходящим способом. Кроме того, для хранения текущих значений переменных состояния потребуется рабочая память, а для управления работой правил — стратегии применения правил. 4.1. Уточнение постановки задачи. Правила Правила рассмотрены нами в первой главе. Напомним, что правилом называется упорядоченная тройка множеств r = hC, A, Di, где C — условие правила; A — множество добавляемых фактов; D — множество удаляемых фактов. Каждое из множеств C, A и D будем считать множеством атомарных формул языка исчисления предикатов первого порядка. Наиболее существенное отличие от материала первой главы состоит теперь в том, что в формулах из указанных множеств будет выделяться сорт переменной, соответствующей дискретному времени t, т. е. определенной на дискретном упорядоченном множестве, которое мы обозначим через T . Определение выполнимости условия правила при этом будет несколько модифицировано, а именно, будем говорить, что условие правила выполнено, если в n-м состоянии рабочей памяти истинна каждая из атомарных формул условия, в которой t = n, где n ∈ T [82]. Среди правил будем выделять правила, не соответствующие никаким действиям, а лишь пополняющие множество фактов состояния — их будем называть правилами замыкания, и правила, являющиеся, по существу, некоторыми действиями и поэтому изменяющие состояние системы — их будем называть правилами переходов. В связи с этим заметим, что в правилах замыкания значения переменной t одни и те же как в формулах условия, так и в формулах из множеств добавляемых и удаляемых фактов. Что касается правил переходов, то в формулах из множеств удаляемых и добавляемых фактов этих правил значения переменной t, по крайней мере, на единицу больше, чем в формулах условия. Для простоты наше рассмотрение будет ограничено случаем, когда это различие в точности равно единице. Таким образом, если П — множество правил, то оно содержит два подмножества [83]: ПCL и ПT R , 4.2. Стратегии применения правил. Состояния и траектория системы 153 где ПCL — множество правил замыкания состояний, а ПT R — множество правил переходов; будем обозначать это следующим образом: ПCL = hC(t), A(t), D(t)i, ПT R = hC(t), A(t + 1), D(t + 1)i. 4.2. Стратегии применения правил. Состояния и траектория системы Применение правил ПCL и ПT R происходит в соответствии со стратегиями их применения, в данном случае, со стратегиями CL и T R соответственно [84, 85]. Опишем их в упрощенном виде. Начнем со стратегии CL. Стратегия CL: 1. Выбрать некоторое правило r из множества правил ПCL . 2. Проверить выполнимость условия C правила r в текущем состоянии рабочей памяти. 3. Если C выполнено, то подставить на места всех свободных переменных в формулы правила соответствующие значения из рабочей памяти. Иначе перейти к п. 1. 4. Применить правило, т. е. записать в текущее состояние рабочей памяти те значения, на которых оказались выполненными формулы из A, и удалить из рабочей памяти значения, на которых оказались выполнены формулы из D. 5. Перейти к п. 1. Работа стратегии завершается со стабилизацией текущего состояния рабочей памяти. Выполняется проверка достижения цели. Если цель достигнута, то конец. Иначе начинает выполняться стратегия TR. Стратегия TR: 1. Выбрать некоторое правило r из множества правил ПT R ; если множество правил исчерпано, то конец. 2. Проверить выполнимость условия C правила r в текущем состоянии рабочей памяти. 3. Если C выполнено, то подставить на места всех свободных переменных в формулы правила соответствующие значения из рабочей памяти. Иначе перейти к п. 1. 4. Применить правило, т. е. записать в следующее состояние рабочей памяти те значения, на которых оказались выполненными формулы из A, и удалить из следующего состояния рабочей памяти значения, на которых оказались выполнеными формулы из D. 5. Перейти к стратегии CL. 154 Гл. 4. Интеллектуальные динамические системы Динамическая система, основанная на правилах. Если X — множество фактов, то каждое правило из ПCL можно рассматривать как некоторое отображение из 2X в 2X , а каждое правило из ПT R — как некоторое отображение из 2X × T в 2X . Пусть χ(t) = χ ∈ 2X , тогда, обозначив (CL, χ) через Φ(χ), получим функцию, которую назовем функцией замыкания. Аналогичным образом, обозначив (T R, χ) через Ψ(χ, t), получим функцию, которую назовем функцией переходов. Тогда четверку D = hX, T , Φ, Ψi, (4.0) где Φ : 2X → 2X ; Ψ : 2X × T → 2X будем называть динамической системой, основанной на правилах. Разумется, слово динамическая для обозначения такого класса систем выбрано нами не случайно. Под динамической системой понимается обычно тройка hU , N , Ψi, где U — топологическое или метрическое пространство, N — линейно-упорядоченное множество, а Ψ — функция из U × N в U [86, 87]. Множество фактов X (т. е. замкнутых атомарных формул языка исчисления предикатов первого порядка) достаточно просто превратить в топологическое пространство, однако сейчас в этом нет необходимости. Важно то, что и в нашем случае очередное состояние системы есть функция предшествующего состояния и времени. Что касается функции замыкания Φ, то она служит для формирования текущего состояния. Можно сказать, что ее применение «очерчивает» границы текущего состояния и, тем самым, снимает вопрос о том, что еще следует включить в состояние. Заметим здесь, что термин динамическая применяется еще в несколько ином смысле по отношению к таким экспертным системам, где сами знания системы могут изменяться во времени [91]. Итак, роль стратегии CL и, следовательно, функции Φ системы D заключаются в пополнении описания текущего состояния; этот процесс завершается при стабилизации состояния. Таким образом, всякое состояние такой системы есть решение уравнения неподвижной точки: Φ(χ) = χ. (4.1) Условия существования решения этого уравнения мы рассмотрим ниже; пока же будем считать, что оно существует. 4.3. Управляемые динамические системы, основанные на правилах 155 Траектория системы D есть {Φ(Ψ(χ(t), t))|t ∈ T }, где χ(t) — решение уравнения (4.1). При этом функция Ψ обладает следующими свойствами: Ψ(χ, 0) = χ для любого χ ∈ 2X , Ψ(Ψ(χ, t1 ), t2 ) = Ψ(χ, t1 + t2 ). В более привычном виде уравнение траектории системы D можно записать следующим образом: χ(t + 1) = Φ(Ψ(χ(t), t)). (4.2) Понятно, что системы определенного выше класса относятся к системам с дискретным временем и не являются гладкими. Определение динамической системы, основанной на правилах, в том виде, как мы его здесь сформулировали, является достаточно общим. Чтобы получить более содержательные утверждения, следует исследовать частные случаи и ввести дополнительные ограничения. Рассмотрим управление в динамических системах, основанных на правилах. 4.3. Управляемые динамические системы, основанные на правилах Рассмотрим систему K = hX, T , Φ, Ψ, U i, (4.3) где X, T , Φ и Ψ были определены выше, а U : 2X × T → 2X . Систему (4.3) будем называть управляемой динамической системой, основанной на правилах. При этом так же, как Ψ реализуется стратегией T R и множеством правил переходов ПT R , функция U реализуется стратегией применения правил управления CN и множеством правил управления ПCN . Стратегию CN опишем несколько позже, а сейчас перейдем к рассмотрению задач устойчивости и компенсации возмущений. Запишем систему (4.3) в следующем виде: [ χ(t + 1) = Φ(Ψ(χ(t), t) U (χ(t), t)), (4.4) где функция U — управление. 156 Гл. 4. Интеллектуальные динамические системы 4.3.1. Возмущения. Под возмущением будем понимать некоторое множество событий δ(t), появление которого в состоянии χ(t) не является результатом решения уравнений (4.4) [84]. Будем полагать, что δ ∈ 2X , тогда в отсутствии управления χ(t + 1) = Φ(Ψ(Φ(χ(t) ∪ δ(t)), t)). (4.5) Определение 4.3.1. Траектория Ξ называется устойчивой, если для любого t и возмущения δ(t) Φ(Ψ(χ(t), t)) ⊆ Φ(Ψ(Φ(χ(t) ∪ δ(t)), t)). Определение 4.3.2. Функцию Φ будем называть монотонной, если из χ1 ⊆ χ2 следует Φ(χ1 ) ⊆ Φ(χ2 ). Определение 4.3.3. Функцию Ψ будем называть монотонной по переменной состояния, если из χ1 ⊆ χ2 следует Ψ(χ1 , t) ⊆ Ψ(χ2 , t). В обоих случаях χ1 , χ2 ∈ 2X . Утверждение 4.3.1 (достаточное условие устойчивости) [84]. Траектория Ξ системы (4.5) устойчива, если функция Φ монотонна, а Ψ монотонна по переменной состояния. Д о к а з а т е л ь с т в о. Действительно, если Φ — монотонна, то Φ(χ(t)) ⊆ Φ(χ(t) ∪ δ(t)), но тогда если Ψ монотонна по переменной состояния, то Ψ(Φ(χ(t)), t) ⊆ Ψ(Φ(χ(t) ∪ δ(t)), t); отсюда следует Φ(Ψ(Φ(χ(t)), t)) ⊆ Φ(Ψ(Φ(χ(t) ∪ δ(t)), t)). Применяя к левой части последнего включения (4.1), получим требуемое утверждение. 4.3.2. Управление как способ компенсации возмущений. Рассмотрим теперь более общий случай, когда возмущение присутствует в управляемой системе [85], т. е. рассмотрим систему [ χ(t + 1) = Φ(Ψ(Φ(χ(t) ∪ δ(t)), t) U (χ(t), t)). (4.6) Зададим следующий вопрос: каким образом, располагая управлением U , компенсировать влияние возмущения δ на поведение системы (4.6)? Если система (4.6) является моделью объекта, действующего в непрогнозируемой среде, то ситуация складывается следующим образом. В силу непрогнозируемости среды, появление возмущения δ(t) в состоянии χ(t) предвидеть невозможно, поэтому применение управления U для компенсации этого возмущения возможно не ранее следующего состояния, т. е. состояния χ(t + 1) = Φ(Ψ(Φ(χ(t) ∪ δ(t)), t)). Здесь выражение Φ(χ(t) ∪ δ(t)) означает замыкание возмущеного состояния χ(t) ∪ δ(t). 4.4. Особенности баз знаний динамических систем 157 Однако в системах, основанных на правилах, такая компенсация может быть реализована посредством применения подходящих правил управления, которые, в свою очередь, суть действия. Это означает, что эффект применения в состоянии χ(t) некоторого правила управления r ∈ ПCN будет наблюдаться в состоянии χ(t + 1). Иначе говоря, если возмущение появилось в состоянии χ(t), его компенсация возможна в состоянии χ(t + 2). Таким образом, справедливо следующее утверждение. Теорема 4.3.1. Для компенсации возмущения δ(t) системы (4.6) достаточно применения управления [86]: U (χ(t + 1), t + 1)) = Φ(Ψ(χ(t + 1), t + 1))\Φ(Ψ(χ′ (t + 1), t + 1)). Действительно, Φ(Ψ(χ(t + 1)), t + 1)) в правой части утверждения теоремы есть невозмущенное состояние χ(t + 2), в которое система должна была перейти при отсутствии возмущения. Вторая часть (после знака дополнения) S есть выражение для состояния χ′ (t + 2), т. е. Φ(Ψ(Φ(Ψ(Φ(χ(t) δ(t)), t)), t + 1)) — состояние, в которое перейдет система после появления возмущения δ в состоянии χ(t). Таким образом, значение функции U есть такое подмножество X, объединения которого с текущим состоянием достаточно для выполнения χ(t + 2) ⊆ χ′′ (t + 2), т. е. устойчивости траектории системы S в соответствии с определением 4.3.1 (где χ′′ (t + 2) = χ′ (t + 2) U (χ(t + 1), t + 1)). Пусть теперь траектория устойчива, однако χ(t + 2) ⊆ χ′ (t + 2) не имеет места, так как, например, функция Ψ немонотонна. Если существует ∆ — минимальное мноS жество, такое что χ(t + 2) ⊆ χ′ (t + 2) ∆, то ∆ = χ(t + 2)\χ′ (t + 2), и, полагая, что ∆ = U (χ(t + 1), t + 1)), получим требуемое утверждение. Как видно из сказанного, как функция U , так и функции Φ и Ψ реализуются с помощью подходящих систем правил и соответствующих стратегий их применения, т. е. с помощью баз знаний. Поэтому далее будут рассмотрены обеспечивающие устойчивость и компенсацию возмущений архитектурные особенности баз знаний динамических систем, основанных на правилах [86]. По существу, речь здесь идет о синтезе обратной связи некоторого специального вида, которую уместно назвать обратной связью по траектории. 4.4. Особенности баз знаний динамических систем, основанных на правилах В динамических системах, основанных на правилах, множество допустимых управлений определяется множеством ПCN — множеством 158 Гл. 4. Интеллектуальные динамические системы правил управления. В частности, задача регулирования, с этой точки зрения, состоит в подборе таких правил из множества ПCN , которые обеспечивают требуемую коррекцию поведения системы, т. е. возврат очередного состояния на расчетную траекторию. Так как каждое правило, по существу, есть некоторое действие, то первый вопрос, который при этом возникает, это вопрос о допустимости тех или иных действий в текущем состоянии. С формальной точки зрения этот вопрос сводится к вопросу о применимости требуемых правил. Этот вопрос решается для каждой системы правил (т. е. для каждого класса задач) отдельно, поэтому здесь мы ограничимся включением в соответствующие утверждения условия применимости правил управления. Следует подчеркнуть, что правила управления, хотя формально неотличимы от правил переходов, однако, вообще говоря, это — иные правила и содержательно соответствуют тем действиям, которые можно выбирать из множества допустимых. Это, собственно, и делает описываемая ниже стратегия управления. Тем не менее, в ряде систем эти два множества правил могут пересекаться. 4.4.1. Синтез обратной связи по траектории. Теорема 4.3.1 из предыдущего параграфа говорит о принципиальной возможности существования такого управления, которое может компенсировать любое возмущение системы (4.6). Разумеется, при этом не учитываются возможные ограничения, существующие на этом пути. Здесь мы рассмотрим построение требуемого управления с помощью систем правил, в которых ограничения на применение того или иного действия будут заданы условиями применимости правила к состоянию. Иначе говоря, рассмотрим реализацию требуемой функции U с помощью множества правил управления ПCN и стратегии применения правил CN [88]. Для этого введем вначале понятие ранга факта. Определение 4.4.1. Рангом факта F в последовательности правил П называется величина rankП (F ), принимающая значение +1, если в плане П достижения цели g существует правило Ri , в списке добавлений которого содержится факт F , и не существует правила Rj (j > i), содержащего F в списке удалений. В любом ином случае rankП (F ) = −1. Рассмотрим теперь стратегию CN — синтеза последовательности правил для реализации обратной связи по траектории. Пусть в результате действия возмущения δ(t) система из состояния χ(t) перешла в состояние χ′ (t + 1) вместо состояния χ(t + 1), в которое она бы перешла в отсутствие возмущения. Тогда χ(t + 2) = = Φ(Ψ(χ(t + 1)), t + 1)) — очередное невозмущенное состояние. Задача состоит в том, чобы построить такую последовательность правил, которая состояние χ′ (t + 1) преобразует в состояние χ′ (t + 2), такое 4.4. Особенности баз знаний динамических систем 159 что χ(t + 2) ⊆ χ′ (t + 2). Обозначим через r текущее правило, C(r), A(r), D(r) — условие, множество фактов, добавляемых и удаляемых правилом r соответственно; G — текущее множество подцелей, s — начальное состояние. Обозначим через g0 = χ(t + 2)\χ′ (t + 1). В начальном состоянии s = G = g0 ; CN — последовательность правил. Стратегия CN. Шаг 1. Если G = ∅, то конец, выдать CN ; Шаг 2. Выбрать очередной факт g из s; если g ∈ G, то G = G\g; Шаг 3. Выбрать из ПCN такое правило r, что g ∈ A(r) и D(r) ∩ G = ∅; Шаг 4. s := s∪C(r)\A(r); если C(r) ⊆ χ′ (t + 1), то CN := hr, CN i, переход к 1; иначе переход к 2. Заметим, что возможны случаи, когда требование C(r) ⊆ χ′ (t + 1), либо условие D(r) ∩ G = ∅ не удастся удовлетворить; это означает, что требуемое управление построить невозможно. Приведенная стратегия напомнает алгоритм STRIPS (гл. 3), однако обладает некоторыми отличиями: выбираемое на шаге 3 правило не должно содержать в множестве удаляемых фактов подцелей, которые ранее не встретились в списке добавлений. Это означает, что ранг каждой подцели в формируемой последовательности правил должен быть равен +1. Корректность стратегии CN устанавливается следующей теоремой. Теорема 4.4.1. Управление U (χ(t + 1), t + 1)) системы (4.6) существует тогда и только тогда, когда в последовательности П попарно применимых правил из ПCN , такой что C(r1 ) ⊆ χ′ (t + 1) (где C(r1 ) — условие первого правила последовательности П ), для каждого факта g ∈ χ(t + 2)\χ′ (t + 1) справедливо rankΠ (g) = +1. Заметим, что расмотреная задача NExpTime-полна, т. е. относится к тому же классу сложности, что и задача перепланирования, т. е. задача поиска плана ограниченной длины. Рассмотрим простой пример. Пример. Пусть заданы 4 правила: r1 = h{a, b}; {c}; {d}i, r3 = h{b}; {e}; {f }i, r2 = h{f }; {d}; {e}i, r4 = h{b, c}; {f }i. Здесь в каждом правиле через точку с запятой выписаны условие, множество добавляемых фактов и множество удаляемых фактов соответственно. Начальное состояние s0 = {b, c, d}. В результате, например применения правил r3 = h{b}; {e}; {f }i и r4 = h{b, c}; {f }i, система последовательно перейдет в состояния s1 = {b, c, d, e} и s2 = {b, c, d, e, f }. Однако если в состоянии s0 на систему подействует возмущение 160 Гл. 4. Интеллектуальные динамические системы δ0 = {a}, то состояние s0 = {b, c, d} преобразуется в состояние s′0 = = {a, b, c, d}. К этому состоянию может примениться правило r1 и система перейдет в состояние s′1 = {a, b, c}. Таким образом, возникает задача построения такого управления, которое перевело бы систему из состояния s′1 в состояние s′2 , такое что s2 ⊆ s′2 . В соответствии со стратегией CN следует построить последовательность правил, достигающих цели {d, e, f } = s2 \s′1 из состояния s′1 = {a, b, c}. Эта последовательность правил такова: CN = hr4 , r2 , r3 , r4 i. Действительно, действуя в соответствии со стратегией CN, следует положить g0 = {d, e, f }. В начальном состоянии s = G = g0 . На первом шаге G 6= ∅, переходим к шагу 2; выбираем из {d, e, f } факт f ; G = G\{f } = {d, e}; выбраем правило r4 , которое удовлетворяет условиям f ∈ A(r4 ) и D(r4 ) ∩ G = ∅. Так как {b, c} ⊆ {a, b, c}, то CN := hr4 , CN i = hr4 i, s := s ∪ C(r4 )\A(r4 ) = {d, e} ∪ {b, c}\∅; переходим к шагу 1; так как G 6= ∅, то выбираем новую подцель, факт e. Правило, содержащее эту подцель в списке добавлений, — r3 . Так как D(r3 ) = {f }, а G = {d, e}; то D(r3 ) ∩ G = ∅; C(r3 ) ⊆ s′1 ; полагаем G = G\{e} = {d}, s := {d, b, c}, CN := hr3 , r4 i, переходим к шагу 1. Поскольку G 6= ∅, выбираем новую подцель, т. е. d, полагаем G = G\{d} = ∅, выбираем правило r2 , содержащее d в списке добавлений; D(r2 ) ∩ G = ∅. Строим s = {b, c, f }, CN := hr2 , r3 , r4 i. Так как C(R2 ) = {f }, т. е. C(r2 ) 6⊂ s′1 и условие шага 4 не выполняется, то переходим к шагу 2, т. е. выбираем правило r4 , строим s = {b, c, f } ∪ {b, c}\{f } = {b, c}, CN := hr4 , r2 , r3 , r4 i. Так как C(r4 ) ⊆ s′1 и G = ∅, работа стратегии завершена, CN := = hr4 , r2 , r3 , r4 i. Предлагаем читателю самому убедиться в том, что применение управления CN , т. е. последовательности правил в порядке слева направо, переводит систему из состояния s′1 в состояние s′2 такое, что s2 ⊆ s′2 . Приведем теперь пример применения развитого здесь подхода в одной из прикладных задач. Пусть некоторое транспортное средство должно переместиться из точки I в точку G, обойдя некоторые препятствия. Маршрут, который будет построен системой управления этого средства, изображен на рис. 4.2, а. Однако если во время исполнения маршрута (например в точке A) в систему управления (например от соответствующих датчиков) поступает информация о том, что появилось неспрогнозированное препятствие, делающее невозможным перемещение из A в C так, как это изображено на рис. 4.2, а, то система управления выберет переход, например, в точку B (рис. 4.2, б). Затем из этой точки при примене- 4.4. Особенности баз знаний динамических систем 161 Рис. 4.2 нии подходов, описанных в гл. 3, потребуется построить новый план перемещения в G (пунктир на рис. 4.2, б) либо, используя соображения, описанные выше, вернуться в точку C и дальше действовать по имеющемуся плану (рис.4.2, б). Можно показать, что при достаточно большой величине отношения суммарной площади поверхности, занимаемой препятствиями, к общей площади поверхности механизм управления поведением будет работать более эффективно, используя возвраты на имеющуюся траекторию, т. е. обратную связь по траектории. 4.4.2. Стратегия синтеза обратной связи по состояниям. Выше был рассмотрен случай синтеза управления, названного нами обратной связью по траектории. Однако устойчивость системы можно повысить включением в контур управления более «привычного» механизма обратной связи, который для того, чтобы отличать его от рассмотренного выше, будем называть обратной связью по состояниям. Автором прин6 Г. С. Осипов 162 Гл. 4. Интеллектуальные динамические системы ципа обратной связи считается Джон Уатт. Наиболее общие методы исследования устойчивости и основные понятия современой теории устойчивости движения введены А. М. Ляпуновым. Теория глубокой обратной связи изложена в работе [92]. Ораничения этого метода рассмотрены в статье [93]. В работах [94, 95] исследованы новые типы обратных связей, когда целью синтеза регулятора является не сам оператор обратной связи, но алгоритм его формирования [91]. Здесь будет предложен метод поиска алгоритма ситеза обратной связи, также обеспечивающей стабилизацию объекта управления при неизвестном возмущении. Решение этой задачи, как и предыдущей, будем искать на пути синтеза последовательности правил (т. е. алгоритма), компенсирующей отклонение поведения системы от полученного на этапе синтеза плана. Смысл такой компенсации состоит в том, что всякий раз реальное состояние, отклоняющееся от «планового» в результате влияния возмущения, можно расширить некоторым множеством событий таким образом, чтобы «расширенное» состояние включало «плановое» и тем самым были бы удовлетворены требования определения 4.3.1. При этом следует подчеркнуть, что само возмущение обычно неизвестно — известно лишь отклонение текущего состояния от «планового». Для этого следует выполнить определенные действия, т. е. построить последовательность правил, приводящих к тому, что «плановое» состояние становится подмножеством построенного состояния в результате выполнения указанной последовательности. Иначе говоря, для стабилизации системы (4.6) достаточно применения такой обратной связи в состоянии χ(t), которая привела бы к построению множества Ω(χ(t)) = χ(t)\χ′ (t). Действительно, если χ(t) есть плановое состояние системы, а χ′ (t) — текущее «возмущенное» состояние системы, то Ω(χ(t)) есть то множество событий, которым необходимо пополнить χ′ (t) для удовлетворения требованиям определения 4.3.1. Стратегия FB, реализующая требуемую обратную связь, описана ниже. Стратегия FB. Пусть χ(t + 1) и χ′ (t + 1) — плановое и текущее реальное состояния системы соответственно; C(r), A(r) и D(r) суть условие, множество фактов, добавляемых правилом r и множество удаляемых им фактов соответственно; g0 = χ(t + 1)\χ′ (t + 1). В начальном состоянии s = G = g0 , F B — последовательность правил. Шаг 1. Если G = ∅, то конец, выдать F B.; Шаг 2. Выбрать очередной факт g из s; если g ∈ G, то G = G\g. Шаг 3. Выбрать из ПCN такое правило r, что g ∈ A(r) и D(r) ∩ G = ∅. 4.5. Элементы теории управляемости 163 Шаг 4. s := s ∪ C(r)\A(r); если C(r) ⊆ χ′ (t + 1), то F B := hr, F Bi, переход к 1; иначе переход к 2. Легко видеть, что стратегии CN и FB практически совпадают. Существенное различие между ними заключается лишь в том, что CN строит план перехода из состояния χ′ (t + 1) в состояние χ′′ (t + 2), такое что χ(t + 2) ⊆ χ′′ (t + 2), в то время F B строит план перехода из состояния χ′ (t + 1) в состояние χ′′ (t + 1), такое что χ(t + 1) ⊆ ⊆ χ′′ (t + 1). С этим обстоятельством связаны и особенности применения стратегий. Они состоят в том, что если возмущение невозможно скомпенсировать, то его следует парировать (например, обойти препятствие) и тогда следует применять стратегию CN, в противном случае — стратегию FB. 4.5. Элементы теории управляемости интеллектуальных динамических систем В задачи настоящего параграфа будет входить изучение областей достижимости систем (4.3), условий достижимости и соответствующих требований к архитектурам баз знаний [83, 86]. Пусть T = {0, 1, 2, ...}. Систему (4.3), как было отмечено выше, можно записать в следующем виде: χ(t + 1) = Φ(Ψ(χ(t), t) ∪ U (χ(t), t)), (4.7) где χ ∈ 2X — множество состояний системы, U — управление, Ψ — функция переходов и Φ — функция замыкания. Если задана пара точек (χ0 , χ1 ) ∈ 2X × 2X , то задача управляемости системы (4.4) состоит в установлении условий существования значений управления U (χ(t), t), позволяющих перевести систему (4.4) из состояния χ(0) ⊆ χ0 в состояние χ(N ), такое что χ1 ⊆ χ(N ), где N ∈ T. Определение 4.5.1. Если 2X — множество состояний системы (4.4), то пара точек (χ0 , χ1 ) в 2X × 2X называется N -достижимой, если существуют такие значения управления U (χ(t), t) (t = 0, 1, ..., N − − 1) системы (4.4), что χ1 ⊆ χ(N ) при начальных условиях χ(0) ⊆ χ0 , где χ(N ) — решение уравнения (4.4). Определение 4.5.2. Система (4.4) называется вполне достижимой, если для любой пары точек (χ0 , χ1 ) ∈ 2X × 2X существует N ∈ T , такое что пара (χ0 , χ1 ) является N -достижимой. 6* 164 Гл. 4. Интеллектуальные динамические системы Теорема 4.5.1. Пара точек (χ0 , χ1 ) системы (4.4) N -достижима тогда и только тогда, когда для каждого факта F ∈ χ1 в множестве ПCN найдется последовательность П попарно применимых правил, такая что C(r1 ) ⊆ χ0 и rankΠ (F ) = +1, где C(r1 ) — условие первого правила последовательности П. Д о к а з а т е л ь с т в о. Пусть для каждого F ∈ χ1 найдется последовательность попарно применимых правил, такая что C(r1 ) ⊆ χ0 и rankП (F ) = +1. Обозначим множество фактов, построенное с помощью этих последовательностей, через ∆. Если χ′ (N ) — решение уравненияS(4.4) с нулевыми значениями управления, то, полагая χ(N ) = χ′ (N ) ∆, а χ(0) = C(r1 ), получим χ1 ⊆ χ(N ) и χ(0) ⊆ χ0 , доказав тем самым достаточность условия. Пусть теперь пара точек (χ0 , χ1 ) системы (4.4) N -достижима, т. е. существуют такие значения управления U (χ(t), t) (t = 0, 1, ..., N − 1) системы, что χ1 ⊆ χ(N ) при начальных условиях χ(0) ⊆ χ0 , где χ(N ) — решение уравнения, и пусть для некоторого F ∈ χ1 не найдется последовательности П попарно применимых правил, такой, что rankП (F ) = +1. Это означает, что факт F не принадлежит χ(N ) и χ1 ⊆ χ(N ) не имеет места. Точно так же дело будет обстоять в случае, когда C(r1 ) не принадлежит χ0 , т. е. последовательность П не применима. Таким образом, теорема доказана полностью. Теорема 4.5.2. Система (4.4) вполне достижима если и только если: а) для всякого F ∈ X справедливо F ∈ A, где A — множество добавляемых фактов одного из правил, б) существует последовательность П, состоящая из всех правил ПCN , таких что для всякого F из ПCN справедливо rankП (F ) = +1. Действительно, если для всякого F ∈ X имеет место F ∈ A, то для произвольного χ ⊆ X можно найти такую подпоследовательность π ⊆ ПCN , что χ(0) ⊆ ∆, где ∆ — состояние, полученое в результате применения π к состоянию χ(0), что и означает достаточность условия теоремы. Необходимость легко доказывается от противного: пусть система (5) вполне достижима и пусть для некоторого достижимого множества χ а) и/или б) не имеют места. Это означает, что для некоторого F ∈ χ факт F не принадлежит A и/или rankП (F ) < 1. Как первый, так и второй случай приводят к противоречию. Рассмотрим теперь примеры динамических интеллектуальных систем. 4.6. Примеры интеллектуальных динамических систем 165 4.6. Примеры интеллектуальных динамических систем Пример 1. Проезд нерегулируемых перекрестков 1). Пусть к нерегулируемому перекрестку подъезжает несколько автомобилей. Прежде чем приступить к проезду перекрестка, каждый из водителей оценивает ситуацию на примыкающих справа и слева дорогах, полосах попутного и встречного движения. Некоторые пытаются вспомнить подходящие правила и лишь затем выезжают на перекресток и продолжают движение. Если в аналогичной ситуации некоторые из автомобилей управляются не водителями, а вычислительными системами, то это означает, что а) «поведение» таких автомобилей должно быть предсказуемо, б) их системы управления должны обладать «способностями» к оценке ситуации на дорогах, к выбору и применению подходящих правил дорожного движения. Далее каждый автомобиль будем рассматривать как динамическую интеллектуальную систему или динамический интеллектуальный агент, действующий в среде других агентов [93]. 4.6.1. Описание агентов. Каждый из агентов включает следующие компоненты: • модель автомобиля; • множество правил; • параметры (ограничения) процесса безопасного движения; • базу данных состояний автомобиля (рабочую память) ; • модель среды (перекрестка). Модель автомобиля включает: • идентификатор автомобиля; • координаты автомобиля; • вектор скорости автомобиля; • траекторию движения на перекрестке; • вектор линейного ускорения; • положение в соответствии со стороной света; • полосу проезжей части, по которой движется автомобиль; • приоритет дороги, по которой движется автомобиль. Модель среды движения включает: • взаимные приоритеты дорог; • геометрические характеристики перекрестка; • информации обо всех участниках движения. Ограничения процесса движения: • перекресток крестообразный; 1) Пример разработан и реализован С. С. Кузьменковой на основе ПДД 2007 г. 166 Гл. 4. Интеллектуальные динамические системы • • • • • перекресток нерегулируемый; в случае однополосного движения запрещен обгон; разворот на перекрестке запрещен; движение легковых автомобилей; разрешенная максимальная скорость движения. Введем следующие предикатные символы: PCar (NameCar, Speed, Course, Acceleration), где NameCar — идентификатор автомобиля; Speed — скорость автомобиля; Course — предполагаемая траектория движения автомобиля; Acceleration — ускорение автомобиля. PRoad (NameCar, Position, Lane, NumLane, Priority), где NameCar — идентификатор автомобиля, движущегося по данному участку дороги; Position — положение автомобиля относительно участников движения; Lane — полоса проезжей части, по которой движется автомобиль; NumLane — количество полос проезжей части, по которой движется автомобиль; Priority — приоритет дороги, по которой движется автомобиль. Области определения используемых переменных. Spe Course (направление движения автомобиля в рассматриваемый момент времени): Значение переменной Семантика L На перекрестке автомобиль поворачивает налево R На перекрестке автомобиль поворачивает направо St На перекрестке автомобиль едет прямо Примечание Acceleration (ускорение автомобиля в рассматриваемый момент времени): Значение переменной 0 Семантика Примечание Автомобиль едет с постоянной скоро- a = 0 стью +a Автомобиль движется равноускоренно −a Автомобиль движется равнозамедленно a — некоторая положительная постоянная 4.6. Примеры интеллектуальных динамических систем 167 Для перекрестка однополосных равнозначных дорог. На рис. 4.3 указаны положения участников движения. Рис. 4.3. Положение автомобилей (см. таблицу Position) Position (положение автомобиля относительно участников движения): Значение Семантика Примечание переменной ППЧ Попутная проезжая часть вблизи перекрестка ВПЧ Встречная проезжая часть вблизи перекрестка ПСпПЧ Примыкающая справа проезжая часть вблизи перекрестка 168 Гл. 4. Интеллектуальные динамические системы ПСлПЧ Примыкающая слева проезжая часть вблизи перекрестка ППЧ Часть перекрестка, примыкающая к попутной проезжей части ПСпПЧ Часть перекрестка, примыкающая к примыкающей справа проезжей части ПСлПЧ Часть перекрестка, примыкающая к примыкающей слева проезжей части ВПЧ Часть перекрестка, примыкающая к встречной проезжей части Lane (полоса движения проезжей части (ПЧ)): Значение Семантика переменной LLane Крайняя левая полоса ПЧ RLane Крайняя правая полоса ПЧ MidLane Средняя полоса ПЧ Примечание NumLane (количество полос движения на ПЧ): Значение Семантика Примечание переменной 1 Одна полоса движения в одном направлении 2 Две полосы движения в одном направлении 3 Три полосы движения в одном направлении Priority (приоритет дороги): Значение Семантика переменной ♦ Второстепенная дорога × Приоритета нет ▽ Главная дорога Примечание Пересечение равнозначных дорог 4.6. Примеры интеллектуальных динамических систем 169 Course (направление движения автомобиля в рассматриваемый момент времени): Диапазон Обозначение скорости V0 Нулевая скорость V V < Vmax , Vmax — максимально допустимая скорость на участке движения в соответствии с ПДД Геометрические размеры перекрестка считаем заданными на рисунке 4.3. Введем необходимые функции. 4.6.2. Функции и формулы. Down(NameCar) — функция уменьшения скорости автомобиля NameCar и изменения его ускорения на «−a» (торможение). Семантика: если Down(NameCar) = −a, то атомарная формула (Down(NameCar) = −a) принимает истинное значение, иначе — ложное. Эту атомарную формулу обозначим через Slow(Down(NameCar)). Up(NameCar, Vmax) — функция увеличения скорости автомобиля NameCar не более, чем на максимальную скорость Vmax , и изменения его ускорения на «+a» (разгон). Семантика: если Up(NameCar) = a, то формула Speed(Up(Car)) принимает истинное значение, иначе — ложное. Speed(NameCar) — функция, не изменяющая скорость автомобиля NameCar и меняющая его ускорение на «0» (равномерное движение). Семантика: если Acceleration = 0, то формула Steady(Speed(NameCar)) принимает истинное значение, иначе — ложное. CanPass(NameCar1, NameCar2) — автомобиль NameCar1 определяет возможность безопасного проезда перекрестка перед автомобилем NameCar2. Семантика: если время проезда перекрестка (выезда за конфликтную область) автомобилем NameCar1 меньше времени, за которое NameCar2 доедет до конфликтной области, то формула принимает истинное значение, иначе — ложное. DangerZone(NameCar1, NameCar2) — автомобиль (агент) с идентификатором NameCar1 определяет конфликтную область между ним и другим агентом с идентификатором NameCar2. Семантика: функция DangerZone(NameCar1, NameCar2) определяет конфликтную область для двух автомобилей по следующим правилам: 170 Гл. 4. Интеллектуальные динамические системы 1. Для двух автомобилей, один из которых движется в ППЧ, а второй в ПСлПЧ или ППЧ и поворачивает на перекрестке налево или едет прямо, конфликтной областью является область ППЧ. 2. Для двух автомобилей, один из которых движется по ПСпПЧ, а второй по ППЧ или ППЧ и поворачивает на перекрестке налево или едет прямо, конфликтной областью является область ПСпПЧ. 3. Для двух автомобилей, один из которых движется по ВПЧ, а второй по ППЧ, при этом: • первый автомобиль поворачивает на перекрестке направо или едет прямо, а второй поворачивает налево, конфликтной областью является область ППЧ. • первый автомобиль поворачивает на перекрестке налево, а второй направо или едет прямо, то конфликтной областью является область ВПЧ; • первый автомобиль поворачивает на перекрестке направо, второй поворачивает налево, то у автомобилей две конфликтные области — это ППЧ и ВПЧ. если зоны нет, то функция принимает пустое (или нулевое) значение DangerZone(NameCar1, NameCar2) = Null. Stop(NameCar1, DangerZone(NameCar1, NameCar2)) — агент определяет возможность собственной остановки до конфликтной области между ним и NameCar2. Семантика: формула Can(Stop) может быть истинной или ложной в зависимости от того, сможет ли рассматриваемый автомобиль остановиться до конфликтной области с некоторым другим автомобилем, чтобы избежать столкновения. Для этого необходимо определить конфликтную область с помощью функции DangerZone, расстояние до нее и остановочный путь автомобиля при текущей скорости. Если остановочный путь автомобиля меньше расстояния до конфликтной области, то формула Can(Stop) принимает истинное значение, иначе — ложное. InFront (NameCar1) — автомобиль с идентификатором NameCar1 определяет нахождение и идентификатор другого автомобиля, движущегося впереди него на определенном расстоянии и c той же траекторией движения. Семантика: функция принимает значение идентификатора автомобиля, находящегося впереди InFront(NameCar1) = NameCar2; если такого автомобиля нет, то значение функции — пустое (или нулевое) InFront(NameCar1) = Null. StopDis(NameCar) — автомобиль (агент) с идентификатором NameCar определяет остановочный путь. 4.6. Примеры интеллектуальных динамических систем 171 Семантика: функция StopDis(Car) — автомобиль (агент) с идентификатором Car в зависимости от скорости определяет тормозной (остановочный) путь по формуле: 2 StopDis = (Speed) ; 2 · Acceleration Результат работы функции — остановочный путь автомобиля в метрах. MinDis(NameCar) — автомобиль (агент) с идентификатором NameCar определяет минимальную дистанцию. Семантика: пусть автомобиль имеет идентификатор Car: MinDis(Car). В зависимости от своей скорости (от остановочного пути), автомобиль с идентификатором Car определяет минимальную дистанцию, которую он должен соблюдать по отношению к другому автомобилю, находящемуся на той же полосе ППЧ впереди него. Функция рассчитывает дистанцию и формула Min(Dis(NameCar)) принимает истинное значение, если дистанция соблюдена: Dis(NameCar) = true, т. е. если StopDis(NameCar) < ∆(NameCar1, NameCar2), где ∆(NameCar1, NameCar2) — расстояние между автомобилям; ложное значение в противном случае Dis(NameCar) = false. ρmax(Lane) — агент определяет интенсивность движения на полосе Lane ППЧ. Семантика: функция ρ(max(Lane)) принимает истинное значение при интенсивном движении, в противном случае — ложное значение. Lane(Lane) — функция определяет, свободна ли полоса Lane для обгона. Семантика: функция Free(Lane(Lane)) принимает истинное значение, если полоса Lane свободна для обгона, и ложное значение в противном случае. Vобг (NameCar1, NameCar2) — функция вычисляет диапазон скорости Vобг для обгона, учитывая скорость обгоняемого автомобиля. Семантика: функция возвращает значение скорости, необходимой для обгона. Vпер (NameCar1, NameCar2) — функция вычисляет диапазон скорости для перестроения. Семантика: функция возвращает значение скорости, необходимой для перестроения Vпер, учитывая скорость автомобиля впереди и полосу, на которую нужно перестроиться. Каждая пара автомобилей может находиться в одном из двух состояний: а) быть конфликтной парой (имеющей конфликтную область) и б) быть неконфликтной парой. 172 Гл. 4. Интеллектуальные динамические системы Ok(NameCar1, NameCar2) — ситуация для автомобилей с идентификаторами NameCar1 и NameCar2 не является опасной. Conflict(NameCar1, NameCar2) — ситуация для автомобилей NameCar1 и NameCar2 является опасной и может привести к столкновению. Возникновение конфликта. Для двух автомобилей, находящихся на перекрестке, конфликт возникает в том случае, если автомобили имеют конфликтную область. Конфликт является разрешимым, если возможно выполнение соответствующего для данной ситуации правила Пi . Для разрешения конфликта нужно применить одно из правил переходов. Правила переходов. Stop(NameCar, where) — автомобиль с идентификатором NameCar останавливается в области «where». Start(NameCar, where) — автомобиль с идентификатором NameCar начинает движение в область «where». Constant(NameCar) — автомобиль NameCar начинает движение c постоянной скоростью. 4.6.3. Замыкание состояний. Аксиомы. В рассматриваемой задаче оказалось возможным ввести аксиомы предметной области, позволяющие в рамках каждого состояния находить множества удаляемых фактов, что делает излишним (в рамках STRIPS-допущения) множество правил замыкания состояний. В частности, применяя внутри каждого состояния множество аксиом и правило вывода modus ponens, можно вывести множество противоречащих фактам текущего состояния формул и удалить их. (В дальнейшем там, где это не вызывает неоднозначности, круглые скобки будут опускаться.) Аксиомы определения ускорения: 1. Stand(NameCar) → (¬SlowDown(NameCar) ∧ ¬SpeedUp(NameCar) ∧ ¬SteadySpeed(NameCar)); 2. SteadySpeed(NameCar) → (¬SlowDown(NameCar) ∧ ¬SpeedUp(NameCar) ∧ ¬Stand(NameCar)); 3. SpeedUp(NameCar) → (¬SlowDown(NameCar) ∧ ¬Stand(NameCar) ∧ ¬SteadySpeed(NameCar)); 4. SlowDown(NameCar) → (¬Stand(NameCar) ∧ ¬SpeedUp(NameCar) ∧ ¬SteadySpeed(NameCar)). Аксиомы определения конфликтности: 1. Ok(NameCar1, NameCar2) → ¬ Conflict(NameCar1, NameCar2); 2. Conflict(NameCar1, NameCar2) → ¬ Ok(NameCar1, NameCar2). Аксиомы определения полос движения: 1. Аксиома определения полосы движения на однополосной дороге: PRoad(NameCar, ППЧ, LLane, 1, — )↔ PRoad(NameCar, ППЧ, 4.6. Примеры интеллектуальных динамических систем 173 RLane, 1, — )↔PRoad(NameCar, ППЧ, MidLane, 1, — ) ↔ PRoad (NameCar, ППЧ, —, 1, — ). 2. Аксиомы определения полосы движения на двухполосной дороге: 2.1. PRoad(NameCar, ППЧ, LLane, 2, — ) → ¬ (PRoad (NameCar, ППЧ, RLane, 2 , —)∧ ¬PRoad (NameCar, ППЧ, MidLane, 2, —)); 2.2. PRoad(NameCar, ППЧ, RLane, 2, — ) → ¬ (PRoad (NameCar, ППЧ, LLane, 2 , — )); 2.3. PRoad(NameCar, ППЧ, MidLane, 2, — ) → ¬ (PRoad (NameCar, ППЧ, RLane, 2 , —)); 2.4. PRoad(NameCar, ППЧ, RLane, 2, — )↔ PRoad(NameCar, ППЧ, MidLane, 2, — ). 3. Аксиомы определения полосы движения на трехполосной дороге: 3.1. PRoad(NameCar, ППЧ, LLane, 3, — ) → (¬PRoad (NameCar, ППЧ, RLane, 3 , — , —) ∧ ¬PRoad (NameCar, ППЧ, MidLane, 3, —)); 3.2. PRoad (NameCar, ППЧ, RLane, 3, — ) → (¬PRoad(NameCar, ППЧ, LLane, 3 , —) ∧ ¬PRoad ( —, ППЧ, MidLane, 3 , — )); 3.3. PRoad (NameCar, ППЧ, MidLane, 3, —) → (¬PRoad (NameCar, ППЧ, RLane, 3 , —) ∧ ¬PRoad (NameCar, ППЧ, LLane, 3, —)). Символ «—» означает, что переменная может принимать любое значение из области определения. Независимо от условий, автомобили при движении обязаны соблюдать дистанцию, поэтому правило, приведенное ниже, является общим для всех задач. Правила. Соблюдение дистанции. Автомобилю следует тормозить, если его тормозной (остановочный) путь больше, чем дистанция между ним и автомобилем впереди, находящимся на той же полосе движения. Правило П0: Автомобилю сбавить скорость, если дистанция между ним и автомобилем, движущемуся по той же траектории, меньше необходимой минимальной дистанции между ними. Автомобилю продолжить движение с постоянной скоростью в противном случае: Stop[MyCar]=h{PCar(MyCar, —, Course1, —), PRoad(MyCar, Position1, Lane1, NumLane1, —), PCar(NameCar, —, Course1, —), PRoad(NameCar, Position1, Lane1, NumLane1, —), InFront(MyCar) = NameCar, MinDis(MyCar)=false}, {SlowDown(MyCar), Conflict(MyCar, NameCar), DangerZone(MyCar, NameCar)}, {Axiom}i Constant[MyCar]=h{PCar(MyCar, —, Course1, —), PRoad(MyCar, 174 Гл. 4. Интеллектуальные динамические системы Position1, Lane1, NumLane1, —), PCar(NameCar, —, Course1, —), PRoad(NameCar, Position1, Lane1, NumLane1, —), InFront(MyCar) = NameCar, MinDis(MyCar)=true}, {SteadySpeed(MyCar), Conflict(MyCar, NameCar), DangerZone(MyCar, NameCar)}, {Axiom}i Примечание. Для однополосного движения полосы движения всегда совпадают при одинаковых траекториях. 4.6.4. Крестообразный перекресток равнозначных однополосных дорог. Для проезда перекрестка равнозначных дорог применяются правила дорожного движения 13.11, 13.12: ПДД 13.11. На перекрестке равнозначных дорог водитель безрельсового транспортного средства обязан уступить дорогу транспортным средствам, приближающимся справа. Этим же правилом должны руководствоваться между собой водители трамваев. На таких перекрестках трамвай имеет преимущество перед безрельсовыми транспортными средствами независимо от направления его движения. ПДД 13.12. При повороте налево или развороте водитель безрельсового транспортного средства обязан уступить дорогу транспортным средствам, движущимся по равнозначной дороге со встречного направления прямо или направо. Этим же правилом должны руководствоваться между собой водители трамваев. Правила переходов в соответствии с ПДД. Основной задачей является построение модели движения автомобилей согласно правилам дорожного движения для предперекрестной области (положение автомобиля вне перекрестка (пересечения дорог), по введенному ранее разбиению — это попутная, прилегающая слева, прилегающая справа и встречная проезжая части). Каждый участник движения (агент) считает, что находится в попутной области проезжей части (обозначено ППЧ). Для каждого агента вводится собственный идентификатор. Будем считать, что слово «находится» означает то, что автомобиль может ехать, а может и стоять в указанной области, в отличие от слов «едет» или «движется». Запишем правила движения. Правило П1: Автомобилю пропустить другой автомобиль (остановиться в прилегающей к ППЧ части перекрестка (ППЧ) или проехать перекресток, не останавливаясь на нем), если на перекрестке он едет прямо или поворачивает налево, а любой другой автомобиль едет в области ПСпПЧ; Наибольший приоритет, из соображений безопасности, имеет правило выполнения команды «остановиться». 4.6. Примеры интеллектуальных динамических систем 175 Stop[MyCar, ППЧ] = h{PCar (MyCar, —, (St or L), —), PRoad (MyCar, ППЧ, —, 1, ×), PRoad (NameCar, ПСпПЧ, —, —, ×), CanStop(MyCar, DangerZone(MyCar, NameCar))}, {SlowDown (MyCar), Conflict(MyCar, NameCar), DangerZone(MyCar, NameCar)}, {Axiom}i Разъясним запись правила. Согласно введенным обозначениям: • PCar (MyCar, —, (St or L), —): «автомобиль с идентификатором MyCar на перекрестке едет прямо или поворачивает налево»; • PRoad (MyCar, ППЧ, —, 1, ×): «автомобиль с идентификатором MyCar находится в ППЧ, имеющей одну полосу движения, относящейся к пересечению равнозначных дорог»; • CanStop(MyCar, DangerZone(MyCar, NameCar)): «автомобиль с идентификатором MyCar может остановиться перед конфликтной областью между ним и автомобилем с идентификатором NameCar»; • SlowDown (MyCar): «автомобиль с идентификатором MyCar тормозит»; • Conflict(MyCar, NameCar): «существует конфликт между автомобилем с идентификатором MyCar и автомобилем с идентификатором NameCar»; • DangerZone(MyCar, NameCar): «существует и определена конфликтная область между автомобилем с идентификатором MyCar и автомобилем с идентификатором NameCar»; • Axiom — удаление фактов с помощью подходящих аксиом предметной области. Аналогично понимаются все остальные правила. Наименьший приоритет имеет правило с командой «начать движение» (или «продолжить», если не было остановки). Start[MyCar, ППЧ] = h{PCar(MyCar, —, (St or L), — ), PRoad(MyCar, (ППЧ or ППЧ), —, 1, ×), PRoad(NameCar, ПСпПЧ, —, 1, ×), CanPass(MyCar, NameCar), ¬InFront }, {SpeedUp(MyCar, Vmax), Conflict(MyCar, NameCar), DangerZone(MyCar, NameCar)}, {Axiom}i. Правило П2: Автомобилю, поворачивающему на перекрестке налево, пропустить автомобиль, движущийся по ВПЧ. Наибольший приоритет Stop[MyCar, ПСпПЧ] = h{PCar (MyCar, — , L, —), PRoad (MyCar, ППЧ, —, 1, ×), PRoad (NameCar, ВПЧ, —, 1, ×), CanStop(MyCar, DangerZone(MyCar, NameCar)) }, {SlowDown(MyCar), Conflict(MyCar, NameCar), DangerZone(MyCar, NameCar)}, {Axiom}i. Наименьший приоритет Start[MyCar, ПСлПЧ] = h{PCar (MyCar, — , L, —), PRoad (MyCar, ППЧ, —, 1, ×), PRoad (NameCar, ВПЧ, —, 1, ×), CanPass(MyCar, 176 Гл. 4. Интеллектуальные динамические системы NameCar), ¬InFront (MyCar)}, {SpeedUp(MyCar, Vmax(MyCar)), Conflict(MyCar, NameCar), DangerZone(MyCar, NameCar)}, {Axiom}i. В остальных случаях (не применимо ни одно из правил) следует продолжать движение. Правила переходов «по взаимной договоренности». Дополнительной задачей считаем дополнительную к основной модель поведения автомобилей, правила для которой не указанны в ПДД, но которая позволяет избежать столкновения автомобилей. Так же как и в основной задаче, считаем, что рассматриваемый автомобиль находится в попутной области проезжей части и имеет некоторый идентификатор MyCar. Правило П3: Автомобилю остановиться в ППЧ, если любой другой автомобиль едет в ПСлПЧ, на перекрестке движется прямо или поворачивает налево и имеет скорость, которая не позволяет ему остановиться. Stop[MyCar, ППЧ] = h{PRoad(MyCar, ППЧ, —, 1, ×), PRoad(NameCar, ПСлПЧ, —, 1, ×), PCar(NameCar, —, (St or L), —), +CanStop[NameCar, DangerZone(NameCar, MyCar)], CanStop(MyCar, DangerZone(MyCar, NameCar)) }, {SlowDown (MyCar), Conflict (MyCar, NameCar), DangerZone(MyCar, NameCar)}, {Axiom}i. Следующее правило не является правилом для предотвращения столкновения, оно позволяет избежать остановки всех автомобилей при неопределенной ситуации. Напомним, неопределенная ситуация возникает в случае, когда автомобили движутся по встречным направлениям и оба поворачивают на перекрестке налево. Правило П4: Автомобилю тормозить (сбавить скорость) в ППЧ или ПСпПЧ, если он поворачивает налево, а любой другой автомобиль едет в ВПЧ и тоже поворачивает налево. Stop[MyCar] = h{PCar(MyCar, —, L, —), PRoad(MyCar, (ППЧ or ПСпПЧ), —, 1, ×), PCar(NameCar, —, L, —), PRoad(NameCar, ВПЧ, —, 1, ×)}, {SlowDown(MyCar), Conflict(MyCar, NameCar), DangerZone(MyCar, NameCar)}, {Axiom}i. В остальных случаях следует продолжать движение. Правила переходов для области пересечения дорог. Считаем, что автомобиль двигался по ППЧ и в рассматриваемый момент находится в ППЧ. Правило П5: Автомобилю остановиться в ППЧ, если он в ППЧ едет прямо или поворачивает налево, а любой другой автомобиль находится в области ПСпПЧ. Stop[MyCar, ППЧ] = h{PRoad(MyCar, ППЧ, —, 1, ×), PCar(MyCar, —, (St or L), —), PRoad(NameCar, ПСпПЧ, —, 1, ×)}, 4.6. Примеры интеллектуальных динамических систем 177 {SlowDown(MyCar), Conflict(MyCar, NameCar), DangerZone(MyCar, NameCar)}, {Axiom}i. Правило П6: Автомобилю остановиться в области ПСпПЧ, если он поворачивает налево, а любой другой автомобиль находится в области ВПЧ или едет в ВПЧ; Stop[MyCar, ПСпПЧ] = h{PCar(MyCar, —, L, —), PRoad(MyCar, (ППЧ or ПСпПЧ), —, 1, ×), PRoad(NameCar2, (ВПЧor ВПЧ), —, 1, ×)}, {SlowDown(MyCar), Conflict (MyCar, NameCar), DangerZone(MyCar, NameCar)}, {Axiom}i; Start[MyCar, ПСлПЧ] = h{PCar(MyCar, —, L, —), PRoad(MyCar, (ППЧ or ПСпПЧ), —, 1, ×), PRoad (NameCar, ВПЧ, —, 1, ×), CanPass(MyCar, NameCar)=true, InFront(MyCar)=false)}, {SpeedUp(MyCar, Vmax(MyCar)), Conflict (MyCar, NameCar), DangerZone(MyCar, NameCar)}, {Axiom}i; Start[MyCar, ПСпПЧ] = h{PCar (MyCar, V0, — , (L or St)), PRoad(MyCar, ППЧ, —, 1, ×), PCar(NameCar, (ВПЧor ВПЧ), —, — , L), PRoad(NameCar, (ВПЧor ВПЧ), —, 1, ×)}, {SpeedUp(MyCar, Vmax(MyCar)), Brake(NameCar), Conflict(MyCar, NameCar), DangerZone(MyCar, NameCar)}, {Axiom}i. Правила переходов при выезде c перекрестка. Start[MyCar] = h{PCar (MyCar, —, — , St), PRoad(MyCar, ПСпПЧ, —, 1, ×), InFront(MyCar)=false }, {SpeedUp(MyCar, Vmax(MyCar)}, {Axiom}i; Start[MyCar] = h{PCar (MyCar, —, — , L), PRoad(MyCar, ПСлПЧ, —, 1, ×), InFront(MyCar)=false }, {SpeedUp(MyCar, Vmax(MyCar)}, {Axiom}i; Start[MyCar] = h{PCar (MyCar, —, — , R), PRoad(MyCar, ППЧ, —, 1, ×), InFront(MyCar)=false }, {SpeedUp(MyCar, Vmax(MyCar)}, {Axiom}i. 4.6.5. Движение по попутной проезжей части. Рассмотрим движение автомобиля по двух- и трехполосной попутной проезжей части. Правила перестроения, опережения и обгона транспортных средств. Перестроение. Ппер: Автомобилю перестроиться на соседнюю полосу движения • перед перекрестком в соответствии с дальнейшей траекторией на перекрестке; • на дороге: правее — при свободной правой полосе; 178 Гл. 4. Интеллектуальные динамические системы • на дороге: левее — при плотном движении на правой полосе (если есть такая полоса), плотном движении на своей полосе и свободной левой полосе. Движение по ППЧ Start[MyCar, (ППЧ, MidLane)] = h{PCar(MyCar, Vпер, St, —), PRoad(MyCar, ППЧ, RLane, (2 or 3), —), FreeLane(MidLane), ρmax(RLane)} , {PRoad (MyCar, ППЧ, MidLane, (2 or 3), —)}, {Axiom}i; Start[MyCar, (ППЧ, LLane)] = h{PCar(MyCar, Vпер, St, —), PRoad(MyCar, ППЧ, MidLane, (2 or 3), —), FreeLane(LLane), ρmax(RLane), ρmax(MidLane)} , {PRoad (MyCar, ППЧ, LLane, (2 or 3), –)}, {Axiom}i. Автомобилю повернуть на перекрестке налево. При трехполосном движении автомобиль перед перекрестком для поворота на нем налево сначала перестраивается с крайней правой полосы на среднюю полосу: Start[MyCar, (ППЧ, MidLane)] = h{PCar(MyCar, —, L, —), PRoad(MyCar, ППЧ, RLane, 3, —), FreeLane(MidLane)}, {PRoad (MyCar, ППЧ, MidLane, 3, —)}, {Axiom}i. затем на крайнюю левую полосу движения: Start[MyCar, (ППЧ, LLane)] = h{PCar(MyCar, —, L, —), PRoad(MyCar, ППЧ, MidLane, 3, —), FreeLane(LLane)}, {PRoad (MyCar, ППЧ, LLane, 3, —)}, {Axiom}i. Для двух полос: Start[MyCar, (ППЧ, LLane)] = h{PCar(MyCar, —, L, —), PRoad(MyCar, ППЧ, RLane, 2, —), FreeLane(LLane)}, {PRoad (MyCar, ППЧ, LLane, 2, —)}, {Axiom}i. Автомобиль поворачивает на перекрестке направо или движется прямо. При трехполосном движении автомобиль с крайней левой полосы сначала перестраивается на среднюю полосу: Start[MyCar, (ППЧ, MidLane)] = h{PCar(MyCar, —, (R or St), —), PRoad(MyCar, ППЧ, LLane, 3, —), FreeLane(MidLane)}, {PRoad (MyCar, ППЧ, MidLane, 3, —)}, {Axiom}i. Затем на правую полосу (при повороте направо): Start[MyCar, (ППЧ, RLane)] = h{PCar(MyCar, —, R, —), PRoad(MyCar, ППЧ, MidLane, 3, —), FreeLane(RLane)}, {PRoad(MyCar, ППЧ, RLane, 3, —)}, {Axiom }i. Для двух полос: Start[MyCar, (ППЧ, RLane)] = h{PCar(MyCar, —, (R or St), —), PRoad(MyCar, ППЧ, LLane, 2, —), FreeLane(RLane)}, { PRoad (MyCar, ППЧ, RLane, 2, —)}, {Axiom}i. 4.6. Примеры интеллектуальных динамических систем 179 Опережение. Попер: Автомобилю совершить опережение, если его скорость значительно превышает скорость автомобиля, едущего по соседней полосе ППЧ. Выполняется автоматически. Обгон. Побгон: Автомобилю обогнать идущий впереди автомобиль, если его скорость значительно превышает скорость автомобиля, едущего впереди на той же полосе, полоса для обгона свободна и обгон разрешен: Start[MyCar, (ППЧ, LLine)] = h{PCar(MyCar, Vобг, St , —), PRoad(MyCar, ППЧ, MidLane, (2 or 3), —), PCar(NameCar, —, St, —), PRoad(NameCar, ППЧ, MidLan , (2 or 3), —), InFront(MyCar)= NameCar, FreeLane(LLane)}, {PCar(MyCar, Vобг, St, +a), PRoad(MyCar, ППЧ, LLane, (2 or 3), —), SpeedUp(MyCar), ¬SpeedUp(NameCar)}, {Axiom}i. Следующее правило — только для трехполосного движения, так как при двухполосном движении в соответствии с аксиомами средняя и правая полосы эквивалентны: Start[MyCar, (ППЧ, MidLane)] = h{PCar(MyCar, Vобг, St , —), PRoad(MyCar, ППЧ, RLane, 3, —), PCar(NameCar, —, St, —), PRoad(NameCar, ППЧ, RLane, 3, —), InFront(MyCar)= NameCar, FreeLane(MidLane)}, {PCar(MyCar, Vобг, St, +a), PRoad(MyCar, ППЧ, MidLane, 3, —), SpeedUp(MyCar), ¬SpeedUp(NameCar)}, {Axiom}i. Если после применения П1 и/или П2 и/или . . . и/или П7 рассматриваемый автомобиль имеет нулевую скорость и в текущий момент времени ни одно из этих правил не применимо, то автомобилю следует начать движение Start(NameCar, where). 4.6.6. Стратегия применения правил. 1. Перейти к п. 2, если на перекрестке нет аварии. Иначе ввести в БД (базу данных) команду остановки Stop для каждого участника движения, траектория которого пересекается с местом аварии. 2. Вычислить множество конфликтующих пар и их конфликтных областей. Ввести все в БД. 3. Если множество конфликтующих пар не пустое, то применить к каждой паре привило П1 или П2 (они являются ортогональными). Ввести изменения в БД. 4. Вычислить множество конфликтующих пар, к которым не применимы П1 и П2. 5. Если множество конфликтующих пар, к которым не применимы П1 и П2, не пустое, то применить к каждой паре из этого 180 Гл. 4. Интеллектуальные динамические системы множества привило П3 или П4 или . . . или П7. Ввести изменения в БД. Иначе перейти к п. 1. 6. Вычислить множество конфликтующих пар, к которым не применимы П3, . . ., П7. 7. Если множество конфликтующих пар, к которым не применимы П3, . . ., П7, не пусто, то ввести в БД информацию о возможных авариях каждой пары из этого множества. Иначе перейти к п. 1. Пример 2. В этом примере рассмотрена задача автоматического маневрирования на орбите. Такая задача возникает, например, при стыковке активного корабля и орбитальной станции. Процесс стыковки в этом случае представляет собой комплекс из трех задач управления, реализующих полное множество возможных безопасных исходов: причаливание, зависание, безопасное расхождение (рис. 4.4). Рис. 4.4. Возможные варианты исходов процесса управления сближением Безопасное сближение, стыковка и расхождение космических аппаратов 1). Проблема безопасного сближения, стыковки или расхождения движущихся объектов является актуальной для многих отраслей (автомобильный транспорт, авиационные и космические аппараты (КА)) и относится к наиболее сложным проблемам управления движением, так как связана с повышенным риском. Управление активным кораблем (КА) может происходить в двух режимах: штатном и нештатном. Штатный режим представляет собой управление КА по жесткой программе. Нештатный режим возникает в случае аварийных ситуаций, таких как отказы двигателя, отказы систем управления движением, отказы аппаратуры радиотехнической системы сближения или из-за временных ограничений, и предполагает полную передачу управления КА в ручной режим. В процессе стыковки 1) Разработка и реализация системы выполнены А. Н. Виноградовым. 4.6. Примеры интеллектуальных динамических систем 181 корабля космонавту необходимо обладать максимумом информации о происходящей ситуации, а также о возможных вариантах ее развития. В силу специфики процесса стыковки, а также в связи с конструктивными особенностями кораблей возникают ситуации, требующие от космонавта немедленных действий, что увеличивает вероятность принятия неверного решения. 4.6.7. Модели корабля, станции и управления. Общее описание. Модель системы управления включает следующие компоненты: 1) параметры (ограничения) процесса стыковки; 2) аналитическое описание зон управления; 3) базу данных состояний корабля; 4) модель корабля; 5) модель станции; 6) множество целей; 7) систему правил; 8) плановую траекторию. В свою очередь модель корабля содержит: 1) координаты центра масс корабля; 2) векторы ориентации осей корабля (Ox, Oy, Oz); 3) массу корабля; 4) моменты инерции по осям корабля; 5) координаты двигателей корабля относительно центра масс и их ориентацию по осям корабля; 6) параметры работы двигателей; 7) вектор линейного ускорения; 8) вектор относительной скорости; 9) вектор углового ускорения; 10) вектор угловой скорости по осям. Модель станции содержит: 1) координаты центра масс станции; 2) векторы ориентации осей станции (Ox, Oy, Oz); 3) вектор относительной скорости; 4) вектор угловой скорости по осям. Полное множество возможных состояний системы разбивается на несколько групп, называемых зонами управления. В каждой из зон действуют свои законы управления, разработанные на основе анализа многолетней статистики выполнения операций сближения и причаливания в пилотируемых космических полетах транспортных кораблей «Союз» к орбитальным станциям «Салют» и «Мир». Выделяются следующие зоны управления: 1) зона индикаторного режима; 182 Гл. 4. Интеллектуальные динамические системы 2) зона активного сближения; 3) зона возможного причаливания; 4) зона нерасчетного касания. Относительное движение КА отображается не на условном фазовом портрете, а на плоскости промаха, определяемой векторами относительной дальности и относительной скорости (рис. 4.5). Рис. 4.5. Отображение относительного движения на плоскости промаха в координатах положения (дальность и угол) Ограничения процесса управления относительным движением (рис. 4.6) представляются на плоскости промаха в виде линий, разделяющих области: • индикаторного режима, в пределах которой ошибки реализации команд управления превышают начальные ошибки измерений, и поэтому управление сближением нецелесообразно; • возможного управления причаливанием, в пределах которой маневренные возможности активного корабля обеспечивают ему выход на заданный стыковочный узел объекта сближения с заданными конечными параметрами относительного движения; • возможного зависания активного КА на безопасной дальности от объекта сближения; • безопасного расхождения двух КА, при котором минимальное расстояние между ними в процессе выполнения маневра не становится меньше заданного. 4.6. Примеры интеллектуальных динамических систем 183 Рис. 4.6. Основные области управления и границы между ними Параметры модели активного корабля. Модель активного корабля (КА) включает следующие параметры: • m — масса корабля; • Posxyz — координаты центра масс корабля; • Jx , Jy , Jz — моменты инерции корабля по осям x, y, z; • Ox , Oy , Oz — векторы ориентации корабля; • Vxyz — вектор относительной скорости; • ωxyz — вектор угловой скорости; • axyz — вектор ускорения; • βxyz — вектор углового ускорения; • Jet13 , Jet14 , . . . , Jet26 — параметры (ориентация, состояние и параметры работы) двигателей корабля; • F , M — результирующие сила и момент силы, возникающие при работе заданной комбинации двигателей; • Qf — запасы топлива. 4.6.8. Параметры модели орбитальной станции. Модель орбитальной станции (ОС) включает следующие параметры: • Posxyz — координаты центра масс станции; • Ox , Oy , Oz — векторы ориентации станции; 184 Гл. 4. Интеллектуальные динамические системы • Vxyz — вектор относительной скорости; • ωxyz — вектор угловой скорости. 4.6.9. Параметры процесса стыковки. • D — дальность до станции; • AL — вектор линии визирования (линия визирования — прямая, проходящая через центры масс КА и OC); • ∆ — промах; • α — ∠(AL, V ), угол между вектором линии визирования AL и вектором V относительной скорости КА (угол промаха); • ∠([КА].Ox , [OC].Ox ) — угол между осями Ox активного корабля и орбитальной станции (показывает соосность стыковочных узлов); • ∠(AL, [КА].Ox ) — угол между линией визирования и осью Ox активного корабля; • ∠(AL, [OC].Ox ) — угол между осью Ox орбитальной станции и линией визирования (показывает угловое отклонение КА от стыковочной прямой); • ∠(V , [КА].Ox ) — угол между вектором относительной скорости и осью Ox активного корабля; • F bdir — вектор направления облета станции; • Dупр — рубеж зоны управления; • Dз — рубеж возможного зависания; • Dнк — рубеж зоны нерасчетного касания; • Dприч — рубеж зоны безопасного причаливания; • ∆tупр — резерв времени до вхождения в зону управления; • ∆tз — резерв времени до достижения рубежа возможного зависания; • ∆tнк — резерв времени до вхождения в зону нерасчетного касания; • ∆tприч — резерв времени до достижения рубежа безопасного причаливания; • ∆t — продолжительность одного такта работы системы; • F ′ , M ′ — сила и момент силы, требуемые для придания КА заданных относительной и угловой скоростей; • Cjets — комбинация включаемых двигателей; • Lб — минимальное безопасное расстояние между КА и орбитальной станцией; • Lkmin — расстояние между центрами масс КА и орбитальной станции в момент соприкосновения стыковочных узлов. 4.6. Примеры интеллектуальных динамических систем 185 4.6.10. Правила замыкания. Здесь и далее используется более «привычная» запись правил, а именно, условию предшествует служебное слово ЕСЛИ. Запись (A, B, C) обозначает «известно значение A» и «известно значение B» и «известно значение C». Спискам добавляемых и удаляемых фактов предшествует служебное слово ТО, а следующее далее выражение x := a означает «в текущем состоянии базы данных присвоить переменной x значение a» 1. ЕСЛИ(ALt ,Vt ) ТО угол промаха αt := Angle(ALt ,Vt ); 2. ЕСЛИ(Dt ,αt ) ТО промах ∆t := Dt *sin αt ; 3. ЕСЛИ([КА].Ox , [OC].Ox ) ТО ∠([КА].Ox , [OC].Ox ) := Angle([КА].Ox , [OC].Ox ); 4. ЕСЛИ(AL, [КА].Ox ) ТО ∠(AL, [КА].Ox ) := Angle(AL, [КА].Ox ); 5. ЕСЛИ(AL, [OC].Ox ) ТО ∠(AL, [OC].Ox ) := Angle(AL, [OC].Ox ); 6. ЕСЛИ(V, [КА].Ox ) ТО ∠(V, [КА].Ox ) := Angle(V, [КА].Ox ); 7. ЕСЛИ(αt ,Vt ) ТО Dупр t := fупр (αt , Vt ); 8. ЕСЛИ(αt ,Vt ) ТО Dз t := fз (αt , Vt ); 9. ЕСЛИ(αt ,Vt ) ТО Dнк t := fнк (αt ,Vt ); 10. ЕСЛИ(αt ,Vt ) ТО Dприч t := fприч (αt ,Vt ); 11. ЕСЛИ(αt ,Vt , Dt , Dупр t ) и (Vt ,6=0) ТО ∆tупр t := (Dt * sin αt — Dупр t )/|Vt |; 12. ЕСЛИ(αt ,Vt , Dt , Dз t ) и (Vt ,6=0) ТО ∆tз t := (Dt * sin αt — Dз t )/|Vt |; 13. ЕСЛИ(αt ,Vt , Dt , Dнк t ) и (Vt ,6=0) ТО ∆tнк t := (Dt * sin αt — Dнк t )/|Vt |; 14. ЕСЛИ(αt ,Vt , Dt , Dприч t ) и (Vt ,6=0) ТО ∆tприч t := (Dt * sin αt — Dприч t )/|Vt |. Angle — функция, вычисляющая угол между двумя векторами; fупр — функция, вычисляющая рубеж зоны управления; fз — функция, вычисляющая рубеж возможного зависания; fнк — функция, вычисляющая рубеж зоны нерасчетного касания; fприч — функция, вычисляющая рубеж зоны возможного причаливания. 4.6.11. Правила переходов. Здесь выражение Xt+1 := f (Xt + + Yt + Zt ) означает «в состоянии t + 1 базы данных присвоить переменной X значение f ». 1. ЕСЛИ(Post , Vt , at ) ТО Post+1 := Post + Vt ∗ ∆t + at ∗ ∆t2 /2; 2. ЕСЛИ(Ot , ωt ) ТО Ot+1 := fвращ (Ot , ωt , ∆t); 3. ЕСЛИ(Vt , at ) ТО vt+1 := Vt + at ∗ ∆t; 4. ЕСЛИ(ωt , βt ) ТО ωt+1 := ωt + βt ∗ ∆t; 186 Гл. 4. Интеллектуальные динамические системы 5. ЕСЛИ(ALt ,Vt ) ТО ALt+1 := ALt , +Vt ∗ ∆t; 6. ЕСЛИ(Dt ,Vt ,pαt ) ТО Dt+1 := (Dt ∗ sin αt )2 + (Dt ∗ cos αt − Vt ∗ ∆t)2 . fвращ — функция, осуществляющая поворот осей ориентации АК со скоростью ω за промежуток времени ∆t. 4.6.12. Управление. Подцели и зоны управления. В п. 4.6.7 указывалось, что с точки зрения допустимых множеств управлений выделяют следующий ряд зон управления: • зона индикаторного режима; • зона активного сближения (зона управления); • зона возможного причаливания; • зона безопасного расхождения; • зона нерасчетного касания; • зона возможного зависания. Нахождение КА в соответствующей зоне (или в нескольких зонах одновременно) и его состояние определяют текущую цель управления и соответствующий набор управлений для ее достижения. В соответствии с полным множеством возможных вариантов управления можно выделить следующие цели: • причаливание; • расхождение; • нерасчетное касание станции с наименьшими повреждениями. Указанные цели могут иметь следующие подцели: • нахождение станции; • сближение; • зависание; • облет. 4.6.13. Правила выбора цели. Правила выбора цели осуществляют выбор текущей цели в зависимости от текущих параметров КА и процесса стыковки и зоны нахождения КА: 1. ЕСЛИ (направление линии визирования AL неизвестно) ТО цель «нахождение станции» = «активна»; 2. ЕСЛИ (AL) и (|ω| 6 εω ) ТО цель «нахождение станции» = «достигнута»; 3. ЕСЛИ (AL) и (∆tз > εз ) ТО цель «сближение» = «активна»; 4. ЕСЛИ (резерв времени ∆tз 6 εз ) ТО цель «сближение» = «достигнута»; 5. ЕСЛИ (0 6 ∆tз 6 εз ) ТО цель «зависание» = «активна»; 6. ЕСЛИ (цель «зависание» = «активна») и (|V | 6 Vd max ) ТО цель «зависание» = «достигнута»; 4.6. Примеры интеллектуальных динамических систем 187 7. ЕСЛИ (цель «зависание» = «достигнута») или ((∆tз 6 0) и (угол между линией визирования и прямой стыковки ∠(AL, [OC].Ox ) > > εd )) ТО цель «облет» = «активна»; 8. ЕСЛИ (угол между линией визирования и прямой стыковки ∠(AL, [OC].Ox ) 6 εd )) и (∠([KA].Ox , [OC].Ox ) > 180 − εd ) ТО цель «облет» = «достигнута»; 9. ЕСЛИ (∠(AL, [OC].Ox ) 6 εd )) и (∠([KA].Ox , [OC].Ox ) > 180 − − εd ) и (∆tприч > 0) ТО цель «причаливание» = «активна»; 10. ЕСЛИ (D 6 Lkmin ) и (∠(AL, [OC].Ox ) 6 εd )) и (∠([KA].Ox , [OC].Ox ) > 180 − εd ) ТО цель «причаливание» = «достигнута»; 11. ЕСЛИ (корабль не находится в зоне нерасчетного касания ∆tнк > > 0) и ((∆tприч < 0) или (запас топлива Qf 6 Qрезервн )) ТО цель «расхождение» = «активна»; 12. ЕСЛИ (угол между вектором скорости и линией визирования α > > 90◦ ) и (D > Lb ) ТО цель «расхождение» = «достигнута»; 13. ЕСЛИ (корабль находится в зоне нерасчетного касания ∆tнк 6 0) и (∆tприч 6 0) ТО цель «касание станции с наименьшими повреждениями» = «активна»; 14. ЕСЛИ ((цель «касание станции с наименьшими повреждениями» = «активна») или |V | > vd max ) и (D 6 Lkmin ) ТО цель «касание станции с наименьшими повреждениями» = «достигнута». εω — максимально допустимое значение угловой скорости при зависании; εз — минимальный резерв времени до достижения рубежа возможного зависания; vd max — максимально допустимая скорость при выполнении маневра причаливания; εd — максимально допустимый угол отклонения главной оси КА (Ox ) от стыковочной прямой и линии визирования при стыковке; Qрезервн — резервный запас топлива для обеспечения возможности возвращения КА на Землю в случае невозможности стыковки с орбитальной станцией. 4.6.14. Правила управления. Правила управления осуществляют выбор управлений из множества допустимых управлений в соответствии с текущей целью. Система содержит следующие правила управления: 1. ЕСЛИ (цель «нахождение станции» = «активна») 1.1. и (|V | > εV 0 ) или (AL) ТО F ′ :=F F 1(V , 0, ∆t), M ′ :=F M 1(ω, 0, ∆t); 188 Гл. 4. Интеллектуальные динамические системы 1.2. и (AL неизвестно) и (|V | 6 εV 0 ) ТО F ′ :=F F 1(V , 0, ∆t), M ′ :=F M 1(ω, [ 0, ωmin , ωmin ], ∆t); 2. ЕСЛИ (цель «сближение» = «активна») и (D, AL, α) и ((α > 90◦ ) или ((α > 0◦ ) и (∆tупр 6 0))) ТО F ′ :=F F 2(V , AL, 2, ∆t), M ′ :=F M 2(ω, fω (AL, V , [KA].Ox , ∆t)); 3. ЕСЛИ (цель «зависание» = «активна») ТО F ′ :=F F 1(V , 0, ∆t), M ′ :=F M 1(ω, fω (AL, V , [KA].Ox , ∆t), ∆t); 4. ЕСЛИ (цель = «Облет») 4.1. и (AL, [OC].Ox ) и (направление облета F bdir неизвестно) ТО F bdir := fF B (AL, [OC].Ox ); 4.2. и (F bdir ) и (∠(AL, [OC].Ox ) 6 165◦ ) ТО F ′ :=F F 2(V , AL, 2, ∆t), M ′ :=F M 2(ω, fω (AL, V , [KA].Ox , ∆t), ∆t); 4.3. и (F bdir ) & (∠(AL, [OC].Ox ) > 165◦ ) ТО F ’ :=F F 1(V , 0, ∆t), M ′ :=F M 2(ω, fω (AL, V , [KA].Ox , ∆t), ∆t); 5. ЕСЛИ (цель = «причаливание») 5.1. и (AL, [OC].Ox ) и (направление облета F bdir неизвестно) ТО F bdir := fF B (AL, [OC].Ox ); 5.2. и (F bdir ) ТО F ′ :=F F 2(V , AL ∗ cos(∠(AL, [OC].Ox ))+ F bdir ∗ sin(∠(AL, [OC].Ox )), Vd max , ∆t), M ’ :=F M 2(ω, fω (−[OC].Ox , V , [KA].Ox , ∆t), ∆t); 6. ЕСЛИ (цель = «расхождение») or (цель = «касание станции с наименьшими повреждениями») ТО F ′ :=F F 2(V , −AL, 2, ∆t), M ′ :=F M 1(ω, 0, ∆t); F F 1(V , V ′ , ∆t) — функция, вычисляющая вектор силы, необходимой для изменения значения вектора относительной скорости с V на V ′ за промежуток времени ∆t; F F 2(V , Dir, Mod, ∆t) — функция, вычисляющая вектор силы, необходимой для изменения значения вектора относительной скорости с V на V ′ , такое, что векторы V ′ и Dir коллинеарны, а |V ′ | = Mod за промежуток времени ∆t; функции F M 1(ω, ω ′ , ∆t) и F M 2(ω, Dir, Mod, ∆t) аналогичны функциям F F 1, F F 2 и предназначены для вычисления момента силы, необходимого для достижения заданной угловой скорости за указанный промежуток времени; fω (AL, V , [KA].Ox , ∆t) — функция, вычисляющая значение угловой скорости, необходимой для синхронизации ориентации корабля [KA].Ox с вектором линии визирования AL при текущей относительной скорости V ; fF B (AL, [OC].Ox ) — функция, вычисляющая вектор направления облета станции в плоскости, образуемой векторами ориентации 4.6. Примеры интеллектуальных динамических систем 189 станции [OC].Ox и линии визирования AL, перпендикулярный вектору линии визирования AL. 4.6.15. Результаты модельного эксперимента. Внешний вид интерфейса системы и модуля визуального отображения приведены на рисунках 4.7, 4.8. Данные некоторых экспериментов с наиболее характерными наборами начальных параметров приведены в табл. 4.1. Рис. 4.7. Внешний вид интерфейса системы Рис. 4.8. Экран модуля визуального отображения 190 Гл. 4. Интеллектуальные динамические системы Начальное состояние Дальность, м 85,0683 26,4338 31,9041 37,3177 15,7161 36,1681 V относительная ско0 0 0 0 0 0 рость OC, м/с W угловая скорость 1,4782 1,6272 2,9221 2,1486 1,6272 2,9221 OC, ◦ /с V относительная ско- 2,1081 0,0991 2 1,355 1,2 3 рость KA, м/с W угловая скорость 0 0 0 0 0 0 KA, ◦ /с Угол промаха, ◦ 62,0786 0 145,13 32,2663 0 2,4243 ∆ промаха, м 75,1655 0 ∞ 19,9223 0 1,5299 Угол (линия визирова- 28,0466 97,8384 0 131,719 0 0 ния, [KA].Ox), ◦ Угол 41,3167 97,8384 145,13 113,883 0 2,4243 ([KA].V , [KA].Ox), ◦ Угол 170,926 48,8279 68,1755 24,4155 101,27 35,5525 ([KA].Ox, [OC].Ox), ◦ Конечное состояние Дальность, м 9,8997 9,9292 32,068 V относительная ско0 0 0 рость OC, м/с W угловая скорость 1,4782 1,6272 2,9221 OC, ◦ /с V относительная ско- 0,5946 0,5954 1,9915 рость KA, м/с W угловая скорость 0 0 0 KA, ◦ /с Угол промаха, ◦ 20,728 28,5309 145,275 ∆ промаха, м 3,5038 4,7425 32,068 Угол (Линия визиро- 0,7469 1,1145 0,204 вания, [KA].Ox), ◦ Угол 21,4749 29,6454 145,071 ([KA].V , [KA].Ox), ◦ Угол 179,723 179,622 67,9034 ([KA].Ox, [OC].Ox) Промах мимо стыко- 0,1527 0,2256 ? вочного узла, м Достигнутая цель Стык. Стык. Расх. 24,9766 0 9,8588 0 9,7215 0 2,1486 1,6272 2,9221 1,4024 0,7788 2,1609 6,6402 0 0 90,9443 24,2939 27,4706 24,9766 4,0561 4,4845 0,7089 4,5852 16,4583 91,6471 19,7086 11,0124 113,227 93,6682 52,2919 ? 4,8112 2,1385 Расх. Столкн. Столкн. 4.6. Примеры интеллектуальных динамических систем 191 Из приведенных выше результатов видно, что в большинстве случаев процесс стыковки завершается штатной ситуацией (стыковкой или расхождением в случае, если успешная стыковка невозможна). В случае же нерасчетного касания (столкновения с минимальными повреждениями) очевидно, что начальные параметры корабля соответствовали его нахождению в зоне нештатного касания, а значения относительной скорости и угла между стыковочными узлами исключали возможность успешной стыковки. Глава 5 ПРИОБРЕТЕНИЕ ЗНАНИЙ И МАШИННОЕ ОБУЧЕНИЕ Введение Проблемы приобретения знаний компьютерными системами являются ключевыми как с позиций понимания устройства человеческого знания, так и с позиций создания новых поколений компьютерных систем. Результатом этого процесса является база знаний предметной области [96], являющаяся, в определенном смысле, моделью действительности, в которой должна работать создаваемая система. Таким образом, приобретение знаний можно рассматривать как процесс построения компьютерных моделей действительности. Необходимая для работы интеллектуальной системы модель действительности должна содержать описания основных объектов действительности, их имена, описания устойчивых связей и зависимостей между объектами и их совокупностями, информацию об их важности, сведения о том, каким образом эти связи, зависимости и иные когнитивные структуры могут быть использованы [14]. Среди связей и зависимостей могут оказаться аналитические, количественные и качественные; среди информации о том, как их использовать, могут оказаться логические условия, правила и эвристики. Долгое время центральной фигурой и единственным источником знаний для интеллектуальных систем считался эксперт. Второй центральной фигурой являлся инженер по знаниям, в задачи которого входили беседы с экспертами. Целью этих бесед и являлось установление тех объектов и связей, о которых говорилось выше. Практически немедленно обнаружился ряд трудностей на пути превращения такого метода приобретения знаний в промышленную технологию. Наиболее существенные из них связаны с существованием так называемой «когнитивной защиты личности» [97]. Трудности первого сорта состояли в неправильной оценке экспертами значения тех или иных знаний для решения задач. При наблюдении за решением задач экспертами можно было обнаружить, что они систематически обращают внимание на некоторую информацию, о которой не сообщают ничего. Иначе говоря, самые компетентные 5.1. Источники знаний для интеллектуальных систем 193 эксперты оказываются некомпетентными при попытке описать знания, которые они используют при поиске решения. Этот эффект известен психологам, и в литературе по когнитивной психологии отмечен как слабая корреляция между ментальным поведением и вербальными сообщениями эксперта. Следующая проблема состоит в существовании некоторого психологического барьера при передаче одним человеком своих знаний другому человеку. Можно указать еще «дискретность», неполноту человеческого знания. Механизм преодоления когнитивной защиты связывается с гипотезой о существовании так называемых личностных психологических конструктов, выдвинутой в 1955 г. американским психологом Джорджем Келли в контексте клинической психологии [98]. В соответствии с теорией Келли сложность модели мира в сознании человека определяется пространством особых шкал — конструктов, формируемых в его сознании на протяжении жизни. Конструкт в соответствии с этой теорией — особое субъективное средство, сконструированное самим человеком, проверенное им на практике, позволяющее ему понимать и воспринимать окружающую действительность, оценивать и прогнозировать события. Преодоление когнитивной защиты рассматривается с точки зрения теории Келли как выявление пространства личностных конструктов и исследование его структуры. Набор всех указанных и некоторых иных проблем привел к весьма пессимистическим оценкам числа экспертных систем, которые вообще могли быть разработаны. Однако выход был найден и состоял он в том, что приобретение знаний интеллектуальной системой стало считаться задачей самой системы. Это означало появление новой технологии создания интеллектуальных систем — технологии автоматизированного приобретения знаний. Рассмотрению теоретических основ такой технологии посвящена настоящая глава. 5.1. Источники знаний для интеллектуальных систем В качестве источников знаний для построения баз знаний выступают [99]: а) непосредственно специалисты предметных областей, обычно называемые экспертами; б) протоколы рассуждений (протоколы «мыслей вслух») экспертов; в) протоколы так называемых диагностических игр; г) книги, инструкции; 7 Г. С. Осипов 194 Гл. 5. Приобретение знаний и машинное обучение д) примеры и прецеденты решения задач; е) базы данных. Знания, содержащиеся в различых источниках имеют, различную организацию. В соответствии с этим можно говорить о различных методах приобретения знаний. Далее будем различать термины «выявление знаний» и «приобретение знаний» [14]. Выявление знаний — выделение в сообщениях, полученных из источника знаний, фрагментов модели действительности или «модели мира». Например: выделение каузальных структур в тексте на естественном языке или выделение процедур принятия решений в протоколах «мыслей вслух». Приобретение знаний — термин более общий и включает две фазы: выявление знаний и перенос их в базу знаний. Напомним, что задачей методов приобретения знаний является выявление имен объектов предметной области, их свойств, связей на множестве объектов, приемов и правил рассуждений. Для решения этой задачи применяются различные техники — автоматизированное интервью, методы анализа текста и методы машинного обучения. Для выявления имен объектов предметной области используются методы анализа текстов и методы интервью; для выявления свойств используются методы интервью; для выявления связей используются методы машинного обучения, интервью и анализа текста; для выявления правил и приемов рассуждений — анализ протоколов; для оценки важности той или иной информации — диагностические игры. Среди методов приобретения знаний будем выделять прямые и непрямые. 5.2. Прямые методы приобретения знаний К прямым методам приобретения знаний будем относить такие методы, которые осуществляют перенос знаний в компьютерную систему в процессе управляемого самой системой диалога с носителем знаний [100]. Рассмотрим вначале те элементы компетентности эксперта, которые можно выявлять с помощью прямых методов приобретения знаний. 5.2.1. Имена. Имя — единица языка, соответствующая со стороны семантики отражению предмета, объекта или явления объективного мира, со стороны синтаксиса соответствующая субъекту или объекту высказывания, индивидной константе или переменной в предложении, месту в предикате или в структурной схеме предложения [101]. Через всю лексику проходит различение индивидных имен, общих имен и метаимен. Это различение относительно. В различных системах 5.2. Прямые методы приобретения знаний 195 языка соотношение индивидных и общих имен различно. Здесь мы ограничимся несколько схематическим рассмотрением этой проблемы. Индивидное имя — имя существительное, являющееся именем объекта низшего типа, объекта, не являющегося множеством. Здесь можно заметить, что существуют сферы человеческой деятельности, в которых потребность различать индивиды весьма слабо выражена. Например, растения (грибы, фрукты, овощи). Растения идентифицируются с точностью до вида. Название вида обычно служит индивидным именем. Рыжик, ромашка, морковь означают одновременно и класс, и любую особь этого класса. Общее имя — имя, обозначающее неопределенный объект или множество объектов. Заметим, что степень индивидности (или общности) имени — явление относительное. Если взять естественый язык, то более индивидное из двух имен тяготеет к позиции субъекта в предложении, менее индивидное — к позиции предиката. Метаимя — имя в той части языка, которая выступает как метаязык по отношению к другой части того же языка. Метаименам не соответствуют никакие множества объектов. Они являются средствами внутриязыковой классификации и служат целям самого языка в сфере лексики (примеры: слова типа совокупность, множество, часть и т. д.). Метаимена по большей части представляют предикаты. Если индивидные имена обозначают конкретные объекты действительности, то общие имена соотносят предложения с множествами объектов. Построение модели действительности, как следует из приведенной точки зрения, должно предполагать выделение в источниках знаний не только имен — индивидных и общих — но и содержания тех понятий, которые этими именами представлены. Содержание понятия мы будем представлять набором свойств (признаков). Набор свойств должен быть достаточен как для отличения некоторого понятия от других, так и для соотнесения его с действительностью. 5.2.2. Признаки. В общем случае, среди свойств понятия могут присутствовать: — адресат — признак, характеризующий компонент или лицо, к которому обращено воздействие; — делибератив — признак, характеризующий компонент со значением содержания речи — мыслительного действия или восприятия; — дестинатив — признак, характеризующий компонент, выражающий назначение; — дименсив — признак, характеризующий размер, исчисляемую меру величины; — инструментив, признак, характеризующий компонент со значением орудия действия; 7* 196 Гл. 5. Приобретение знаний и машинное обучение — квантитатив — признак, характеризующий количественные характеристики; — квалитатив — признак, обозначающий качественные характеристики, свойства предмета; — локатив — признак местонахождения; — темпоратив — признак, выражающий временные характеристики; — фабрикатив — признак, характеризующий материал, вещество, из которого предмет изготовлен. Разумеется, фиксация проблемной области вносит в этот список коррективы. 5.2.3. Виды семантических связей. Под семантической связью в общем случае будем понимать отношение понятий в понятийной системе предметной области [102]. Нашей ближайшей целью должна явиться типология связей, которая могла бы стать основой способа классификации семантических связей в режиме прямого приобретения знаний. Представителями семантических связей в лексике в большинстве случаев являются предикатные слова, т. е. лексемы, представляющие предикаты. Именно они обеспечивают строение основных предложений. Заметим здесь, что у предикатных слов отсутствует функция именования в том смысле, в каком имя именует понятие и, в конечном счете, соответствующие ему внеязыковые объекты [101]. Приведем в качестве примеров такие типичные предикатные слова как «больше», «меньше», «равно», «иметь значение», «иметь свойство», «если . . . то . . .» и т. д. Легко видеть, что они не имеют денотатов в реальном мире, т. е. сами по себе ничего не именуют. Подобное является существенным свойством предикатных слов вообще. С этим связано то обстоятельство, что выделения предикатных слов в языковой конструкции оказывается недостаточно для классификации представляемых ими семантических связей. Необходимо еще выявление иных, в частности, внелексических свойств семантических связей. Далее будем различать виды и типы семантических связей. Для образования видов семантичеких связей нами использованы значения минимальных синтаксических конструкций (синтаксем) из [132], более подробно об этом — в следующей главе. Начнем с рассмотрения видов семантических связей [14]: — генеративная связь, один компонент которой обозначает лицо или предмет, принадлежащий некоторой совокупности, категории, обозначаемой вторым компонентом; — дестинативная связь, один компонент которой обозначает назначение для другого компонента; 5.2. Прямые методы приобретения знаний 197 — директивная связь, в которой один компонент обозначает путь, направление второго компонента; — инструментальная связь, один компонент которой обозначает орудие действия, обозначаемого другим компонентом; — каузальная связь, один компонент которой обозначает причину проявления другого компонента спустя какое-то время; — комитативная связь, один компонент которой всегда сопровождается другим компонентом; — партитивная связь, один компонент которой обозначает часть второго компонента, обычно представляющего некоторое целое; — коррелятивная связь, один компонент которой выражает возможность наблюдения другого компонента или соответствия предмета другому предмету, назначению; — негативная связь, один компонент которой отрицает, исключает возможность проявления другого компонента; — лимитативная связь, один компонент которой обозначает сферу применения, назначения другого компонента; — медиативная связь, один компонент которой имеет значение способа, средства действия другого; — поссесивная связь, один компонент которой выражает отношение владения другим компонентом; — потенсивная связь, в которой один компонент приводит к увеличению возможности появления другого спустя некоторое время; — результативная связь, в которой один компонент выражает следствие действия второго; — репродуктивная связь, в которой один компонент обозначает исходную точку для воспроизведения или превращения для другого компонента; — ситуативная связь, в которой один компонент обозначает ситуацию, определяющую состояние или область действия второго компонента; — трансгрессивная связь, в которой один компонент обозначает результат превращения второго; — финитивная связь, в которой один компонент имеет значение цели, назначения другого. Разумеется, приведенный список нельзя считать исчерпывающим. Для того чтобы более или менее полно охарактеризовать связь между двумя объектами (процессами, событиями), следует указать не только вид связи, направленной от первого объекта ко второму, но и вид связи, направленной от второго объекта к первому. Такую связь уместно называть обратной. Поэтому каждую из семантических связей будем характеризовать не только хорошо известными свойствами, такими как транзитивность, рефлексивность и симметричность, но и еще 198 Гл. 5. Приобретение знаний и машинное обучение одним свойством, которое носит контекстный характер и которое будем называть асимметричностью в сильном смысле. Семантическую связь мы называем асимметричной в сильном смысле, если вид прямой и обратной связей, ее характеризующих, являются не совпадающими видами связей из предыдущего раздела. Несимметричное или антисимметричное отношение может быть асимметричным и, в этом смысле, асимметричность является уточнением первых двух свойств. Для таких двунаправленых связей мы сохраним названия некоторых видов связей, а для их краткого именования введем мнемонические обозначения на латинице. Так, например, каузальная связь будет обозначаться через Cous, лимитативная — через Lim и т. д. Эти обозначения будут вводиться в ходе описания связей. Конечно, упомянутые свойства связей пока, скорее, метафоры, нежели одноименные свойства отношений в точном их смысле, однако в следующих разделах семантическим связям будут поставлены в соответствие некоторые точные процедуры, превращающие семантические связи в отношения, а указанные метафоры — в свойства последних в точном смысле. Ниже мы намерены описать, каким образом указанные свойства можно выявлять в интерактивном режиме и затем применять процедуры, превращающие связи в отношения, а свойства связей — в свойства отношений. Каждое из свойств обладает соответствующими значениями. Так, свойство симметричость имеет следующие значения: симметрично, несимметрично, антисимметрично; свойство транзитивность имеет значения: транзитивно, нетранзитивно, антитранзитивно; свойство рефлексивность имеет значения: рефлексивно, нерефлексивно, антирефлексивно. Проанализируем теперь типы семантических связей на наличие у них тех или иных свойств. В качестве основного инструмента такого анализа будем использовать здравый смысл, так как мы имеем дело с неформальными конструкциями и не располагаем иными инструментами их анализа. Начнем с каузальных связей, т. е. множества связей, говорящих о причинах и следствиях. Причинность будем различать разномоментную или диахронную (X вызывает Y в будущем) и причинность одномоментную или синхронную (X вызывает Y в настоящем). Каузальной связью будем называть связь, отражающую разномоментную причинность. Ее разумно считать принадлежащей множеству транзитивных связей (из того, что A вызывает B и B вызывает C можно заключить, что A вызывает C). Понятно, что она нерефлексивна и несиметрична, точнее, асимметрична. Нерефлексивность следует из того, что A и B имеют место, вообще говоря, в различные моменты времени (из 5.2. Прямые методы приобретения знаний 199 того, что A вызывает B в будущем, разумеется, не следует, что само A в этом будущем будет иметь место). Асимметричность следует из того, что если A вызывает B, то единственное, что можно определенно сказать, это лишь то, что B есть следствие A, т. е. обратная ей связь — результативная (Res), а это и означает, что каузальная связь (Cous) принадлежит множеству асимметричных связей. Говоря о синхронной причинности «A вызывает B в настоящем» или более кратко «A сопровождается B», заметим, что она, как и каузальная и по тем соображениям, может считаться принадлежащей множеству транзитивных связей. Если обратная ей связь является партитивной, то такую связь меду двумя событиями будем называть комитативной (Сом). В этом случае, ее следует признать асимметричной и антисимметричной (A вызывает B и одновременно B вызывает A, в некотором смысле означает эквивалентность A и Б). Отсюда же следует и ее рефлексивность. Соглашение. В дальнейшем вместо фразы «семантическая связь принадлежит к множеству семантических связей, обладающему свойствами x, y, z», будем говорить «семантическая связь обладает свойствами x, y, z». Партитивная связь (Part) — объект A есть часть объекта B обладает теми же свойствами, что и комитативная, и комитативной же связью является обратная к ней. Коррелятивная связь (Cor) — «толерантность». Такая связь возникает в случае, когда вид прямой связи, как и вид обратной связи являются коррелятивными. Таким образом связь Cor симметрична, рефлексивна и нетранзитивна. Два последних свойства достаточно очевидны и мы не будем на них останвливаться. Негативная связь (Neg) — «A отрицает B», такая связь, обратная к которой также является негативной связью, поэтому она симметрична. Она очевидно, антирефлексивна (высказывание A отицает A вряд ли осмысленно) и нетранзитивна (из того, что A отицает B и B отрицает С не следует, что A отрицает C). Дестинативная связь (Des) «A предназначено для B» — нетранзитивна, нерефлексивна и асимметрична. Обратной к ней является поссесивная связь. Поссесивная связь (Pos) выражает отношение владения, которое также является нетранзитивным, нерефлексивным и асимметричным. Ее обращением является дестинативная связь. Инструментальная связь (Ins) «A есть орудие для B» не обладает свойством транзитивности и рефлексивности. Обращение этой связи, если таковое трактовать как «B выполняется посредством А», является медиативной связью, т. е. инструментальная связь асимметрична. 200 Гл. 5. Приобретение знаний и машинное обучение Медиативная связь (Med) «B выполняется посредством A» нетранзитивна, нерефлексивна и асимметрична. Потенсивная связь (Pot) отражает отношение частичной причинности и, в силу этого, не обладает транзитивностью (из «A — частичная причина B» и «B — частичная причина C» вовсе не следует, что «A — частичная причина С»), она рефлексивна и в силу направленного характера — несимметрична. Репродуктивная связь (Rep) транзитивна, асимметрична, ибо ее обращение дает трансгрессивную связь и, очевидно, нерефлексивна, ибо результат превращения не обязан совпадать с исходной точкой, начальным пунктом превращения. Ситуативная связь (Sit) транзитивна: из «A в ситуации B», «B в ситуации C» ничто не мешает заключить, что «A в ситуации C», вообще говоря, антирефлексивна — A и B по определению не совпадают; и асимметрична: обращение ее дает лимитативную связь «C — сфера действия A». Лимитативную связь (Lim) «A ограничивает сферу применения B» следует признать транзитивной, антирефлексивной, так как A и B необходимо не совпадают, и асимметричной. Последнее в силу того, что ее обращение «B действует в ситуации A» представляет ситуативную связь. Директивная связь (Dir) «A по (над, через, сквозь) B», очевидно, транзитивна; антирефлексивна: A не перемещается по (над, через, сквозь) A; асимметрична: ее обращение — лимитативная связь. Трансгрессивная связь (Trg) транзитивна (по тем же соображениям, что и репродуктивная связь), асимметрична, так как ее обращение суть репродуктивная связь, и также, как и репродуктивная связь, нерефлексивна. Финитивная связь (Fin) транзитивна, несимметрична и нерефлексивна. Генеративную связь (Gen) — принадлежность к совокупности — будем считать примером отношения включения элемента в множество; т. е. она антитранзитивна, антирефлексивна и несимметрична. Результативная связь (Res) обладает теми же свойствами, что и каузальная. Обращение ее дает каузальную связь. 5.2.4. Типы семантических связей. Введем обозначения для «метафорических» значений свойств транзитивности, рефлексивности и других (табл. 5.1). Сведем сказанное о видах и свойствах связей в табл. 5.2, в столбцах которой укажем виды связей, а в строках — их свойства. Последний столбец содержит имя обратной связи и, тем самым, свидетельствует об асимметричности. Прочерк в последнем столбце озачает отсутствие обратной связи и, следовательно, отсутствие асимметричности. 201 5.2. Прямые методы приобретения знаний Т а б л и ц а 5.1 Значение свойства ОБОЗНАЧЕНИЯ Транзитивность Tr Нетранзитивность Ntr Антитранзитивность Atr Симметричность Sm Антисимметричность Ans Асимметричность As Несимметричность Ns Рефлексивность Rf Антирефлексивность Arf Нерефлексивность Nrf Т а б л и ц а 5.2 Свойства связей Вид связи Tr Ntr Gen Atr Rf Nrf Arf + Des Ins Sm Ans + Ns Обратная связь: (Связь)−1 + – + Lim + + + + + Med + + Res Cous + Com + + + Part Part + + + Com Cor Lim + + + + + Med + Neg + Pos + Pot + + + + + Res + + Rep + + Sit + Dir + Trg + + Fin + + Cor + + Sit + Ins + Neg + Lim + – + Cous + Trg + + Lim + + Lim + Rep + – 202 Гл. 5. Приобретение знаний и машинное обучение Применим теперь к табл. 5.2 процедуру факторизации — расщепления исходной таблицы на подтаблицы, строки которых имеют одинаковые значения свойств (без учета последнего столбца). Получили 9 фактор-таблиц, каждая из которых содержит связи, определяемые одним и тем же набором значений свойств симметричности, рефлексивности и транзитивности. Множество семантических связей, характеризуемых одинаковыми наборами значений свойств симметричности, рефлексивности и транзитивности, будем называть типом семантической связи. Таким образом, мы получили девять типов семантических связей. Первый тип связи будем называть каузально-трансгрессивным. Сохраним за этим типом связи обозначение Cous. К нему относятся четыре вида связи, представленные в табл. 5.3 Т а б л и ц а 5.3 Вид связи Tr Cous + Trg Res Rep Ntr Atr Rf Nrf Arf Sm Ans Ns Обращенная связь + + Res + + + Rep + + + Cous + + + Trg Второй тип связи назовем ситуативным. Обозначим его через Sit (см. табл. 5.4). Т а б л и ц а 5.4 Lim + + + Sit Sit + + + Lim Dir + + + Lim Третий тип связи (табл. 5.5) назовем инструментальным (Ins). Т а б л и ц а 5.5 Des + + + Pos Ins + + + Med Pos + + + Des Med + + + Ins Т а б л и ц а 5.6 Fin + + + – Т а б л и ц а 5.7 Neg + + + – 203 5.2. Прямые методы приобретения знаний Т а б л и ц а 5.8 Gen + + + – Т а б л и ц а 5.9 Cor + + + * Т а б л и ц а 5.10 Com + + + Part Part + + + Com Т а б л и ц а 5.11 Pot + + + – За остальными типами связей сохраним названия и обозначения соответствующих им видов семантической связи, а именно: финитивный, негативный, генеративный, коррелятивный, комитативный, потенсивный. Рассматривая табл. 5.3, можно заключить, что для отнесения какой-либо языковой конструкции, представляющей семантическую связь к каузально-трансгрессивному типу, необходимо установить принадлежность ее к множеству конструкций, обладающему транзитивностью, нерефлексивностью и несимметричностью. Заметим еще, что как виды, так и типы связей, описанные здесь, подразумевают модальность необходимости соответствующих высказываний. Например, для каузальной связи «A вызывает B» имеется в виду «всегда (или необходимо) A вызывает B», иначе говоря, в случае отсутствия символа модальности подразумевается модальность необходимости для фиксированных A и B. Рассматривая высказывания с другими модальностями, следует, прежде всего, заметить, что попытки рассматривать оценки типа «возможно», «часто», «редко», «нередко» как функции принадлежности к некоторым нечетким отношениям, не дают механизма для описания семантики высказывания. Кроме того, можно считать экспериментально установленным, что каждый эксперт при попытке назначения такой оценки учитывает «глобальный контекст» (т. е. большое число различных признаков, характеризующих ситуацию в целом); иначе говоря, оценки такого рода являются глобальными оценками, определяемыми всей моделью мира каждого эксперта, т. е. его личным опытом, некоторыми другими соображениями, поэтому, естественно, значения оценок существенно субъективны. Это приводит к тому, что, осознавая это, квалифицированные эксперты «на всякий случай» указывают оценки из середины шкалы. 204 Гл. 5. Приобретение знаний и машинное обучение В то же время, по поводу высказываний типа «A есть признак B» или «A может наблюдаться при B» мнения различных экспертов, как правило, близки, что свидетельствует как о локальности (бинарности) связей, в них зафиксированных, так и об их устойчивости, т. е. о достаточно высокой степени их объективности. Семантика этих высказываний связана либо с наличием общих признаков содержания примеров A и B, либо с функциональной зависимостью признаков B от признаков A. Иными словами, высказывние «A может наблюдаться при B» означает, что существует пример A, доставляющий признаки примера B. Семантику высказывания «A редко сопровождается B» будем, напротив, связывать с отсутствием общих признаков примеров A и B или отсутствием какой-либо зависимости. Способы установления типа высказывания в интерактивном режиме основаны, в частности, на выявлении значений свойств высказываний и реализованы в некоторых стратегиях прямого приобретения знаний. Соответствующие методы описаны ниже. Однако совокупность рассмотренных свойств не позволяет уточнить вид высказывания, т. е. отнести высказывание к одной из связей внутри типа. По-видимому, это принципиальное явление — семантически эти связи неразличимы, и если решение этого вопроса существует, то оно лежит не в семантике (в том смысле, в каком мы употребляем это понятие здесь), а в лексике. Рассмотрим теперь некоторые из прямых методов приобретения знаний. 5.2.5. Метод интервью. Интервью является одним из основных прямых методов приобретения знаний. Введем понятия стратегии и сценария интервью. Определение 5.2.1. Приемы интервью, направленные на выявление каких-либо элементов модели мира, будем называть стратегиями. Определение 5.2.2. Схему применения тех или иных стратегий будем называть сценарием. Если интервью не имеет сценария, то оно называется неструктурированным, в противном случае — структурированным. Разумеется, автоматизированное интервью обязано быть структурированным. Стратегия разбиения на ступени. Стратегия разбиения на ступени [89] предназначена для выявления таксонометрической структуры событий предметной области, а также их структурных и классификационных свойств. Она используется сценариями под названиями 1. «Сначала вглубь» и 2. «Сначала вширь». 5.2. Прямые методы приобретения знаний 205 Сценарий выбирается экспертом. Возможны комбинированные сценарии. Сценарий «Сначала вглубь». 1.1. Вопрос системы об имени события. Сообщение эксперта об имени события. 1.2. Вопрос системы об имени признака события. Сообщение эксперта об имени признака. 1.3. Вопрос системы о существовании множества значений признака. Ответ эксперта (Да/Нет). В случае отрицательного ответа имя признака воспринимается как имя события. При этом: а) пара (имя события, введенного на шаге 1.1, имя события, образованного на шаге 1.3) считается принадлежащей отношению R1 ; б) если имя события, образованного на шаге 1.3, отсутствовало в базе знаний, то это событие рассматривается как новое и выполняется переход к п. 1.2. 1.4. Вопрос системы о типе множества значений признака (непрерывное/дискретное). Соответствующий ответ эксперта. 1.5. Вопрос системы о единице измерения признака. Сообщение эксперта о единице измерения. 1.6. Вопрос системы о множестве значений признака (границы непрерывного множества/элементы дискретного). Сообщения эксперта о множестве значений признака. В процессе выполнения шагов 1.2–1.6 создается глобальный объект: имя атрибута и область его значений. Совокупность таких объектов будем называть базисом области. 1.7. Вопрос системы о подмножестве значений атрибута, характерного для описываемого события. Сообщения эксперта о подмножестве значений атрибута. В результате выполнения шага 1.7 с описываемым объектом связывается один из элементов базиса области с указанием подмножества области значений элемента базиса, характеризующего описываемый объект, т. е. формируется признак объекта. Сценарий «Сначала вширь». Оличие от предыдущего сценария состоит в том, что при работе настоящего сценария шаг 1.1 повторяется многократно, а затем для каждого события выполняются шаги 1.2–1.7. Стратегия репертуарной решетки. Стратегия репертуарной решетки направлена на выявление свойств объектов предметной области и использует механизм преодоления когнитивной защиты эксперта, основанный на методах когнитивной психологии [97]. 206 Гл. 5. Приобретение знаний и машинное обучение Механизм преодоления когнитивной защиты основан на выявлении системы личностных психологических конструктов эксперта. Каждый конструкт формируется в результате некоторой факторизации множества шкал, каждая из которых, в свою очередь, образуется оппозицией свойств. Наиболее эффективный способ выявления оппозитных свойств — предъявление эксперту триад семантически связанных событий с предложением назвать свойство, отличающее одно событие от двух других. На следующем шаге эксперту предлагается назвать имя оппозитного свойства. Таким образом, выявляются элементы множества личностных психологических конструктов конкретного эксперта. С другой стороны, свойства, различающие события, — это как раз те свойства, которые влияют на формирование решения. Пополнение множества свойств осуществляется путем повторения этой процедуры с другими триадами. Более подробно стратегия описана в работе [14]. Выявление семантических связей и их типов. Выявление и представление в системе семантических связей основано на использовании их свойств, описанных выше. Для этой цели будет использован сценарий выявления сходства. Сценарий выявления сходства является интерактивной процедурой, направленной на установление соответствия выделенного высказывания некоторому типу семантической связи из числа представленых в табл. 5.12. Для этого в режиме диалога выявляются свойства предъявленных высказываний, а именно, сохранение или изменение истинности высказывания при перестановке имен событий; сохранение или изменение истинности высказывания при подстановке имен совпадающих событий; сравнение истинности двух высказываний, отличающихся одно от другого модальностью; изменение формулировки высказывания путем уточнения предикатного слова и порождение на этом основании гипотез о принадлежности пар событий тем или иным семантическим связям. Напомним вначале рассмотренные в предыдущих главах типы семантических связей и значения их свойств. Сведем эти типы связей в таблицу и поставим им в соответствие условные формулировки, которые будем называть каноническими формами высказываний (табл. 5.12). Возможны и модальные формы семантических связей, которые образуются из приведенных использованием лексических модальностей «может» или «иногда». Например, модальная форма комитативной связи, модально-комитативная связь с канонической формой «X может сопровождаться Y » 5.2. Прямые методы приобретения знаний 207 Т а б л и ц а 5.12 ТИП СВЯЗИ I. II. III. IV. Gen(X, Y ) Sit(X, Y ) Neg(X, Y ) Ins(X, Y ) Com(X, Y ) Cor(X, Y ) Fin(X, Y ) Cous(X, Y ) Pot(X, Y ) KAНОНИЧЕСКАЯ ФОРМА ВЫСКАЗЫВАНИЯ Значения свойств «X является элементом Y » «X находится в ситуации Y » «X отрицает Y » «X является средством Y » «X сопровождается Y » «X иногда увеличивает возможность Y » «X является целью Y » «X вызывает Y » «X может вызывать Y » Ntr Arf Ns Tr Arf As Ntr Arf Sm Ntr Nrf Ns Tr Rf Ans Ntr Rf Sm Ntr Arf Ns Tr Nrf Ns Ntr Nrf Ns является нетранзитивной, рефлексивной и несимметричной. Мы можем пополнить таблицу этими связями. Рассматривая табл. 5.12, обратим вначале внимание на то, что она разбита на 4 части. В первых трех частях ее содержатся канонические формы высказываний, соответствующие семантическим связям, отражающим синхронные зависимости. Семантические связи из четвертой части отражают диахронные зависимости. В части I содержатся связи, обладающие свойством антирефлексивности, во второй — нерефлексивные, в третьей — рефлексивные. Среди антирефлексивных связей одна — асимметричная, одна — несимметричная и одна — симметричная. Среди рефлексивных связей одна — антисимметричная и одна — симметричная. Таким образом, для определения типа связи среди связей, имеющих синхронный характер, достаточно выявления свойств рефлексивности и симметричности. В части IV ситуация иная. Все три связи являются несимметричными. Поэтому для определения типа связи для связей из группы IV требуется выявление свойств рефлексивности и транзитивности. Приведенные соображения будут использованы далее для отнесения высказываний эксперта о тех или иных конкретных событиях к одному из описанных и исследованных типов связей. Необходимость использования этих соображений основана на том, что, как уже упоминалось, отнесение высказывания эксперта к тому или иному типу связи на основании лишь его лексического выражения, к сожалению, невозможно. При попытке классификации высказываний «в лоб» эксперт может опираться лишь на лексическое выражение предикатного слова и свою собственную его интерпретацию. Однако хорошо известны случаи, когда интерпретация различными экспертами даже, казалось бы «оче- 208 Гл. 5. Приобретение знаний и машинное обучение видных» предикатных слов, таких как «сопровождается», «вызывает», совпадала «с точностью до наоборот». Поэтому первоначальные соображения эксперта об отнесении некоторого высказывания к тому или иному типу связи мы будем рассматривать не более чем гипотезу, нуждающуюся в уточнении. Такое уточнение будет выполняться в интерактивном режиме с помощью сценария выявления сходства. Сценарий выявления сходства SAS. Сценарий выявления сходства реализуется с помощью некоторых стратегий, которые мы здесь опишем. В дальнейшем под термином высказывание будем понимать некоторую каноническую форму высказывания из табл. 5.12. Заметим здесь, что выбор экспертом на первых шагах работы сценария SAS той или иной канонической формы высказывания является лишь гипотезой «в нулевом приближениии» и никак не влияет на установление множества его свойств как в «метафорическом», так и в точном математическом смысле, так как к любой выбранной экспертом каноничской форме высказывания применяются все правила сценария SAS. С каждой из стратегий сценария связана функция, строящая минимальное множество, обладающее хотя бы одним из свойств, соответствующим «метафорическому» значению свойства исследуемого высказывания. Например, для каждого высказывания, для которого в процессе работы стратегии устанавливается, что рассматриваемое высказывание обладает свойством Rf («метафорической» рефлексивностью), стратегия замыкает по рефлексивности текущее множество пар имен, т. е. а) добавляет пару имен (A, B), где A и B — субъект и объект этого высказывания, в текущее множество пар, б) в это же множество вместе с парой (A, B) помещает и пары (A, A) и (B, B), благодаря чему это множество действительно становится отношением, обладающим рефлексивностью. Затем к этому высказыванию применяются и другие стратегии, до тех пор, пока выявленных свойств высказывания не окажется достаточным для однозначного отнесения его к определенному типу семантической связи. В результате этого процесса стратегия относит высказывание к определенному типу семантической связи, а множества, замкнутые таким образом, являются отношениями в точном смысле этого слова. Таким образом, каждому набору «метафорических» значений свойств, выявленных для некоторого высказывания, оказывается поставлено в соответствие бинарное отношение, обладающее именно таковым набором свойств, но уже не в «метафорическом», а в точном смысле. В результате каждое высказывание оказывается элементом некоторого отношения с известными свойствами. 5.2. Прямые методы приобретения знаний 209 Опишем упомянутые стратегии для выявления свойств высказываний. Для выявления свойств Rf, Nrf или Arf используется Стратегия подстановки. Стратегия подстановки. Эксперту предъявляется высказывание, полученное из канонической формы, в которой вместо имен обоих событий подставлено одно из них с призывом к эксперту сообщить свое мнение относительно истинности этого высказывания. В зависимости от ответа эксперта высказыванию приписывается то или иное значение Rf, Nrf или Arf. Пусть, например, речь идет о поиске типа семантической связи между событиями «вегетативные расстройства» (X) и «головная боль» (Y ) и исследуется следующее высказывание: «вегетативные расстройства сопровождаются головной болью». Тогда из списка канонических форм (табл. 5.12) выбирается форма «X сопровождается Y », далее стратегия выполняет подстановки: «вегетативные расстройства» — вместо X и «вегетативные расстройства» вместо Y и предъявляет эксперту следующие вопросы: — считаете ли Вы высказывание «вегетативные расстройства сопровождаются вегетативными расстройствами» утверждением, которое 1) является тавтологией; 2) не исключено; 3) невозможно. Если эксперт указывает ответ 1, то высказыванию «вегетативные расстройства сопровождаются головной болью» приписывается свойство Rf, ответ 2 — Nrf; ответ 3 — Arf. Опишем теперь функции, интерпретирующие ответы эксперта: [L], P1 ([L]) и P2 ([L]) и строящие в базе знаний отношения, которые для простоты будут иметь те же обозначения, что и функции. Если L — высказывание «A hпредикатное словоi B» — из некоторого множества высказываний L, то положим [L] = {(A, B)}. На первом шаге положим P0 = ∅; а) тогда P0 (A, B) := P0 (A, B) ∪ [L]; иначе говоря, функция P0 пополняет множество P0 парами (A, B); б) для пары (A, B) положим P1 (A, B) = {(A, A)} ∪ {(B, B)}; тогда P1 [(A, B)] := P1 [(A, B)] ∪ P1 (A, B) ∪ P0 (A, B) — т. е. для каждого высказывания L множество P0 пополняется парами (A, A) и (B, B); в) P2 [(A, B)] := P2 [(A, B)] ∪ [L], если и только если A 6= B. Легко видеть, что имеет место Лемма 5.1. Отношение P0 нерефлексивно, P1 рефлексивно, P2 антирефлексивно. Для определения свойства Sm или отсутствия такового используется стратегия перестановки. 210 Гл. 5. Приобретение знаний и машинное обучение Стратегия перестановки. Вместе с высказыванием «A hпредикатное словоi B», эксперту предъявляется высказывание, в котором объект A заменен на B, а B — на A. В рассмотренном выше примере ему будет предложено ответить, справедливо ли утверждение, что «головная боль всегда сопровождается вегетативными расстройствами?» Ответы эксперта: ДА НЕТ В случае утвердительного ответа, высказыванию приписывается свойство Sm, в случае отрицательного — Ns. Со стратегией перестановки свяжем функцию P3 замыкания по симметричности. Для каждого высказывания L = «A hпредикатное словоi B»: в множество P3 помещаются пары (A, B) и (B, A). Иначе говоря, P3 [(A, B)] := P3 [(A, B)] ∪ P3 (A, B) ∪ P0 (A, B), где P3 (A, B) = {(B, A)}. Лемма 5.2. Отношение P3 симметрично. В том случае, если высказывание антирефлексивно и не оказывается симметричным, для идентификации его типа необходимо уточнить характер несимметричности — возможную асимметричность. Для установления асимметричности используется стратегия обращения. Стратегия обращения. Для некоторого конкретного высказывания «A hпредикатное словоi B»,эксперту предлагается подтвердить принадлежность высказывания «B hпредикатное словоi A» какому-либо высказыванию из последней графы таблиц 1–9. Если эксперт подтвердил, и высказывания «A hпредикатное словоi B» и «B hпредикатное словоi A» оказались в разных таблицах, то высказыванию «A hпредикатное словоi B» приписывается свойство As. Для выявления транзитивности используется стратегия трансформации. Стратегия трансформации. Стратегия заключается в предъявлении эксперту новой формулировки высказывания, такой, которая, с одной стороны, исключает неоднозначное толкование экспертом, с другой — уточняет формулировку высказывания. Так, для каузального типа такой трансформацией (уточнением) является «если A то необходимо появится B». В случае подтверждения ее экспертом, высказыванию приписывается свойство Tr, иначе — Ntr. Этот критерий основан на том, что в четвертой части табл. 5.12 две похожие канонических формы Cоus и Pot отличаются друг от друга тем, что в Pot участвует модальность возможности, в отличие от Cous, в образовании которой участвует модальность необходимости. Что касается формы Fin, то она отличается от них своей антирефлексивностью. 5.2. Прямые методы приобретения знаний 211 Если рассмотреть функцию, которая для каждого высказывания «A hпредикатное словоi B» и высказывания «B hпредикатное словоi C» (или высказывания «D hпредикатное словоi A») пополняет отношение P4 парами (A, C) (или (D, B)), т. е. P4 (A, B, C) = {(A, B) ∪ (B, C) ∪ ∪ (A, C)}, то P4 = P4 ∪ P4 (A, B, C). Имеет место Лемма 5.3. Отношение P4 транзитивно. Используем введенные стратегии для описания метода установления типов тех или иных высказываний. Этот метод будем называть сценарием выявления сходства SAS. Сценарий SAS. Представим сценарий выявления сходства в виде системы правил. Сценарий выполняется для каждой из пар [L] имен событий, выбранных экспертом. В ходе выполнения сценария строятся бинарные отношения Q1 , Q2 , ..., Q10 , которые, как мы увидим, обладают определеными наборами значений свойств рефлексивности, симметричности и транзитивности, а каждая из пар имен помещается в одно из этих отношений. Напомним, что в сценарии используются стратегии подстановки (для выявления значения свойства рефлексивность), перестановки (для выявления значения свойства смметричость), обращения (для выявления свойства асимметричность) и трансформации (для выявления свойства транзитивность). Признаки J и D служат для обозначения синхронности и диахронности. Дисциплина выполнения правил сценария определяется следующим метаправилом: во всех тех случаях, когда в приведенных ниже правилах переход явно не определен, выполняется ближайшее в порядке возрастания номеров правило, условие которого к этому моменту оказалось выполненным. После завершения работы сценария всякий раз выполняется переход к правилу 1. Правило 1. Эксперту предъявляется множество имен событий и предлагается указать в этом множестве пару имен таких событий, которые, на его взгляд, связаны между собой. Правило 2. Если эксперт отказывается указать такую пару, то сценарий заканчивает работу; если указывает, например, A и B, то эта пара имен событий подставляется в канонические формы высказываний вначале а) всюду вместо X подставляется A и вместо Y подставляется B, затем б) всюду вместо X подставляется B и вместо Y подставляется A. Правило 3. Полученные в результате этого формы высказываний предъявляются эксперту с предложением выбрать из них наиболее соответствующее связи между A и B. 212 Гл. 5. Приобретение знаний и машинное обучение Правило 4. Если эксперт отказывается указать какую-либо из них, стратегия заканчивает работу. Правило 5. Для указанной в п. 4. формы высказывания (пусть это для определенности, случай а) ), эксперту предлагается уточнить, появляются ли оба события A и B одновременно или в разные моменты времени. Правило 6. Если ответ — одновременно, то формируется признак J, иначе формируется признак D. Правило 7. Запускается работа стратегии подстановки применительно к указанной экспертом форме высказывания «A hпредикатное словоi B». Правило 8. Если сформирован признак J и один из признаков Rf или Arf, то применительно к высказыванию «A hпредикатное словоi B» выполняется стратегия перестановки. Правило 9. Если сформирован признак J и не сформирован признак Sm, то применительно к высказыванию «A hпредикатное словоi B» запускается стратегия обращения. Правило 10. Если сформирован признак J, не сформирован признак Sm и сформирован признак Rf или Arf, то применительно к высказыванию «A hпредикатное словоi B» запускается стратегия трансформации. Правило 11. Если сформирован признак D и признак Nrf, то применительно к высказыванию «A hпредикатное словоi B» запускается стратегия трансформации. Правило 12. Если сформированы признаки J, Arf и не сформирован признак Sm, то L относится к типу связи Gen(A, B); пополняется отношение Q10 := P2 (Q10 ∪ [L]). Правило 13. Если сформированы признаки J, Arf, As, Tr, то тип связи Sit(A, B); Q6 := P4 (P2 (Q6 ∪ [L])). Правило 14. Если сформированы признаки J, Arf, Sm, то тип связи Neg(A, B); Q4 := P3 (P2 (Q4 ∪ [L])). Правило 15. Если сформированы признаки J, Nrf и не сформирован признак Sm, то тип связи Ins(A, B); Q5 := Q5 ∪ [L]. Правило 16. Если сформированы признаки J, Rf, Tr и не сформирован признак Sm, то тип связи Com(A, B); Q1 := P4 (P1 (Q1 ∪ [L])). 5.2. Прямые методы приобретения знаний 213 Правило 17. Если сформированы признаки J, Rf, Ntr и не сформирован признак Sm, то тип связи Mcom(A, B); Q2 := P1 (Q2 ∪ [L]). Правило 18. Если сформированы признаки J, Rf, Sm, то тип связи Cor(A, B); Q3 := P3 (P1 (Q3 ∪ [L]). Правило 19. Если сформированы признаки J, Tr, Nrf, то тип связи Fin(A, B); Q9 := P2 (Q9 ∪ [L]). Правило 20. Если сформированы признаки D, Tr, Nrf, то тип связи Cous(A, B); Q7 := P4 (Q7 ∪ [L]). Правило 21. Если сформированы признаки D, Ntr, Rf, то тип связи Pot(A, B); Q8 := Q8 ∪ [L]. Приведем без доказательства следующие утверждения. Теорема 5.2.1 (о корректности сценария SAS). Если сценарий SAS паре (A, B) имен событий ставит в соответствие некоторый тип семантической связи, то он — единственный. Теорема 5.2.2. Построенные в результате работы сценария SAS бинарные отношения обладают следующими свойствами: I. Синхронные а) Q10 — нетранзитивное, антирефлексивное, несимметричное; б) Q6 — транзитивное, антирефлексивное, несимметричное; в) Q4 — нетранзитивное, антирефлексивное, симметричное; г) Q5 — нетранзитивное, нерефлексивное, несимметричное; д) Q1 — транзитивное, рефлексивное и антисимметричное; е) Q2 — нетранзитивное, нерефлексивное, и несимметричное; ж) Q3 — нетранзитивное, рефлексивное, симметричное. II. Диахронные з) Q9 — нетранзитивное, антирефлексивное, несимметричное; и) Q7 ) — транзитивное, нерефлексивное, несимметричное; к) Q8 — нетранзитивное, нерефлексивное, несимметричное. Обозначим множество этих отношений через Q. Таким образом, сценарий выявления сходства каждую пару имен превращает в элемент некоторого бинарного отношения, которое отличается от остальных отношений набором своих свойств. Причем это отнесение выполняется в полном соответствии с такими неформаль- 214 Гл. 5. Приобретение знаний и машинное обучение ными свойствами высказываний, как Ntr, Rf, Ns, Sm, Arf и другими, которые выявляются в процессе работы этого сценария. Заметим, что в отличие от п. 5.2.4, где описано девять типов отношений, сценарий SAS построил их десять. Дополнительно построено модально-комитативное отношение — одно из модальных отношений, о которых мы упоминали в п. 5.2.4. Добавим также, что отношения R1 –R8 неоднородных семантических сетей из первой главы обладают теми же наборами значений свойств, что и некоторые отношения из Q. На этом основании можно выдвинуть гипотезу о том, что с помощью стратегии SAS вывляются, в частости, отношения структурного сходства, ассоциативные и каузальные отношения из гл. 1. Это последнее обстоятельство используется при представлении в базах знаний выявленных таким образом отношений. Перейдем теперь к рассмотрению иного способа приобретения знаний — приобретению знаний на основе анализа данных. 5.3. Приобретение знаний из примеров Введение. Множество примеров является важным источником знаний в любой предметной области. В этой связи можно говорить о соответствующих методах приобретения знаний — приобретении знаний из примеров. Оcновой методов приобретения знаний из примеров являются методы машинного обучения или обучения по примерам. Традиционно к задачам обучения по примерам относятся задачи прогнозирования, идентификации (синтеза) функций, расшифровки языков, индуктивного вывода и синтеза с дополнительной информацией. В широком смысле к обучению по примерам можно отнести и методы обучения распознаванию образов [103]. 5.3.1. Задачи машинного обучения. Область деятельности под названием «машинное обучение» возникла несколько ранее четырех десятилетий назад как собирательное название ряда методов обучения на основе примеров и данных. Задачи медицинской и технической диагностики, распознавания визуальных образов, проектирования, материаловедения, шахмат, обнаружения закономерностей в больших массивах данных входят в сферу приложения методов машинного обучения. Развитие методов искусственного интеллекта и их приложений позволило по-новому увидеть роль методов машинного обучения. Наряду с иными методами, машинное обучение стало играть важную роль в приобретении знаний интеллектуальными системами. В частности, появилась возможность «расширить» узкое место инженерии знаний — 5.3. Приобретение знаний из примеров 215 передачу знаний из различных источников знаний в программную систему. Для постановки и решения задач машинного обучения требуются примеры, базовые знания, а результатом является некоторое общее описание. Далее, говоря о результате обучения, будем употреблять термины «понятие» или «концепт», обучающие примеры будем называть примерами понятия. Понятие имеет, как уже было сказано выше, имя, содержание и объем. Содержание понятия — выработанный человечеством набор признаков, выделяющий его из множества других понятий; объем понятия — множество его примеров или экземпляров. Множество понятий может быть организовано в иерархию, представляемую деревом. Каждый уровень иерархии обычно отделяет концепты друг от друга, однако они могут и пересекаться. Множество примеров может содержать некоторый шум, порожденный ошибками описания или классификации. В частности, примеры могут быть не полностью описаны — не содержать некоторых атрибутов. В самом общем случае можно выделить два класса методов машинного обучения: 1-й класс — методы «черного ящика», такие как нейронные сети или методы математической статистики; 2-й класс — методы, основанные на знаниях. Методы первого класса используют такое внутреннее описание понятий, которое не предусматривает ясной интерпретации и объяснения процесса обучения. Они включают вычислительные процедуры, такие как, например, вычисление весов или коэффициентов близости в некоторой метрике. В то же время, методы, основанные на знаниях, направлены на создание таких структур символьных данных, преобразования которых, да и сами структуры, легко интерпретируемы пользователем и удовлетворяют так называемому принципу транспарентности. Существенную роль здесь играет выбор языка представления. Языки представления. Язык представления служит для описания понятий, примеров и базовых знаний. Можно выделить ряд логических языков, пригодных для этой цели: язык логики высказываний, язык атрибутивной логики, язык хорновских клауз и, наконец, языки второго порядка. Логика высказываний. В исчислении высказываний примеры и понятия описываются с помощью конъюнкций булевых констант, которые соответствуют индивидуальным свойствам (значениям атрибутов) понятий. Иногда могут использоваться и другие логические связки, такие как отрицания и дизъюнкции. 216 Гл. 5. Приобретение знаний и машинное обучение С помощью таких средств легко описываются лишь простые понятия, что существенно ограничивает применимость методов машинного обучения для задач реального уровня сложности. Атрибутивная логика. Основная идея атрибутивной логики состоит в том, что понятия и примеры характеризуются атрибутами из предварительно заданных множеств. Отличие от исчисления высказываний состоит в том, что атрибуты здесь могут принимать различные значения из соответствующих множеств. Примеры в атрибутивной логике часто представляются в виде таблиц, в которых каждая строка содержит описание некоторого примера, а каждая колонка — множество значений некоторого атрибута. Среди атрибутов могут быть булевы, численные, символьные и смешанно-значные атрибуты, а области значений атрибутов обычно ограничены базовыми знаниями. Как язык описания, атрибутивная логика является значительно более пригодной для задач реального уровня сложности, нежели исчисление высказываний. По этой причине атрибутивная логика привлекла внимание разработчиков ряда методов машинного обучения, таких как алгоритм TDIDT [104] или AQ [105, 106]. Некоторые из таких алгоритмов мы рассмотрим ниже, а пока напомним основные понятия языка хорновских клауз. Язык клауз Хорна. Язык хорновских клауз принадлежит классу языков первого порядка. Напомним, что клауза есть выражение вида B1 , B2 , ... , Bm ← ← A1 , ... , An , где B1 , B2 , ... , Bm суть атомарные формулы, n > 0 и m > 0. Атомарные формулы A1 , ... , An суть совместные посылки клаузы, а B1 , B2 , ... , Bm суть альтернативные заключения. (Множество клауз совместно, если оно истинно в одной из моделей языка.) Если клауза содержит переменные x1 , x2 , ..., xk , то она соответствует формуле с квантором всеобщности: ∀x1 , ∀x2 , . . ., ∀xk (B1 ∨ B2 ∨ ... ∨ Bm , если A1 ∧ ... ∧ An ). Если n = 0, то клаузу следует интерпретировать так: ∀x1 , ∀x2 , ..., ∀xk (B1 ∨ B2 ∨ ... ∨ Bm ). Если m = 0, то интерпретация такова: ¬∃x1 , ¬∃x2 , . . ., ¬∃xk (A1 ∧ ... ∧ An ). Если n = m = 0, то клауза является тождественно ложным высказыванием и записывается . Если клауза содержит не более одной атомарной формулы в заключении, т. е. m 6 1, то клауза называется клаузой Хорна или хорновской клаузой. Индуктивный характер обучения. Обучение концепту можно представить как поиск в пространстве описаний, при котором в каче- 5.3. Приобретение знаний из примеров 217 стве основных поисковых операторов выступают операторы обобщения и специализации. Обобщение применяется к множеству самых специфичных описаний S при появлении нового положительного примера. Отрицательный же пример может потребовать специализации множества самых общих описаний G. Этот принцип лежит в основе семейства методов, называемых алгоритмами пространства версий и построенных на идее постепенной редукции пространства текущих версий описания концепта. Автор метода Митчелл [107]; более свежий трактат на эту тему можно найти у Хирша [108]. В работе [109] описан более ранний метод, при котором обучение концепту рассматривается как последовательность обобщений и специализаций одной гипотезы. Ниже мы будем прямо или косвенно иметь дело с этими двумя операторами. К примеру, описание в терминах клауз Хорна можно обобщить, превратив константу в переменную или опустив условие. Так, клаузу: p(X, Y ) : −q(X, 2), r(Y , 2) можно обобщить до p(X, Y ) : −q(X, Z), r(Y , Z) или до p(X, Y ) : −q(X, 2). Одна из первых попыток систематизации операторов обобщения была предпринята в [110]. Правильный подбор операторов поиска, наряду с выбором языка представления, является ключевой задачей разработчика обучающейся программы. Рассмотрим теперь некоторые вводные соображения о существовании выводов в индуктивном обучении языкам. Индукция в обучении языкам. Пусть E — конечный алфавит. Словом ω будем называть любой элемент E ∗ , где E ∗ — множество всех последовательностей конечной длины из элементов E. Через |ω| обозначим длину ω. Любое подмножество множества E ∗ будем называть языком в E. Язык L называется рекурсивным, если для любого слова ω ∈ E ∗ можно эффективно вычислить отношение ω ∈ L. Семейство L языков, состоящее из L1 , L2 , ... , называется индексированным семейством рекурсивных языков, если для каждого слова ω и языка Li можно вычислить функцию ϕ(i, ω), такую что ϕ(i, ω) = 1, если ω ∈ Li , и ϕ(i, ω) = 0 в противном случае. Ниже всякое семейство языков будем считать индексированным. Введем понятия полного и положительного представления языка. 218 Гл. 5. Приобретение знаний и машинное обучение Определение 5.3.1. Полным представлением языка L называется последовательность пар hω1 , τ1 i, hω2 , τ2 i, ..., где τi равно 0 или 1. Иначе говоря, L = {ω|ω = ωi , τ = 1}, E ∗ \L = {ω|ω = ωi , τ = 0}. Положительным представлением языка L называется последовательность слов ω1 , ω2 , ..., т. е. L = {ω|ω = ωi }, при этом допускается повторение слов. Среди данных выделяются полные данные и положительные данные. Полные данные — данные, как подтверждающие, так и опровергающие гипотезу, положительные данные — данные подтверждающие гипотезу. Индексированное семейство рекурсивных языков, как правило, позволяет осуществлять выводы из полных данных, но не всегда позволяет осуществлять выводы из положительных данных. Существование выводов из положительных данных. Определение 5.3.2. Пусть Γ = L1 , L2 , ... — семейство языков. Конечным свидетельством Li называется множество Ti , удовлетворяющее следующим условиям: 1) Ti — ограниченное подмножество Li ; 2) не существует Lj , включающего Ti и являющегося строгим подмножеством Li . Определение 5.3.3. Будем говорить, что семейство языков Γ = L1 , L2 , ... удовлетворяет условию 1, если существует процедура, которая для любого i перечисляет элементы конечного свидетельства Lj . Можно показать, что необходимым и достаточным условием существования индуктивных выводов из положительных данных в семействе языков Γ = L1 , L2 является условие 1. Индуктивный вывод из положительных данных в семействе языков Γ = L1 , L2 , ... при удовлетворении Γ условию 1 выглядит следующим образом. Пусть s1 , s2 , ..., sn — входные данные, имеющиеся на входе машины вывода. Представим их в виде Sn = {s|s = si , i = 1, 2, ... , n}. В силу условия 1 машина выводов должна выдать наибольшее целое j, такое что tj ⊆ Lj . Если j 6 n, то Γ, удовлетворяющего условию 1, не существует, то полагаем Ti = Sn . 5.3.2. Поиск. Поиск в пространстве обобщений. Предположим, выбран некоторый язык представления. Обучающаяся система «желает» обучиться некоторому концепту по множеству положительных и отрицательных примеров. Даже если описания основаны на атрибутивной логике, 5.3. Приобретение знаний из примеров 219 пространство всех различимых концептов оказывается чрезвычайно велико. Десять атрибутов, каждый с пятью возможными значениями, дают 510 = 9 765 625 векторов. Любое подмножество таких векторов может соответствовать некоторому концепту, а это означает, что с помощью этих атрибутов можно определить 29 765 625 концептов. В более сложных языках это число растет еще быстрее, даже если размер пространства представления может быть ограничен какими-либо базовыми знаниями. Для того чтобы справиться со сложностными проблемами, обучающаяся система, главным образом, прибегает к комбинации двух мощных приемов: индукции и эвристического поиска. Последующие подразделы посвящены обсуждению соответствующих методов и анализу фундаментальных принципов рассуждений, которые используются в обучающихся системах. Полный перебор. Широко распространенной парадигмой в обучении концептам является поиск в пространстве описаний, разрешенных в языке представления обучаемой системы. Методы такого поиска хорошо исследованы в искусственном интеллекте и достаточно ясны. В общем случае, процесс поиска исследует состояния в пространстве поиска в соответствии со следующим: • Начальное состояние — отправная точка поиска. В машинном обучении начальные состояния часто соответствуют самым специфичным описаниям концептов, т. е. положительным примерам. • Терминальный критерий — цель, которая должна быть достигнута. Состояния, удовлетворяющие терминальному критерию, называются конечными состояниями. В машинном обучении терминальным критерием может быть требование того, чтобы описанию удовлетворяли все положительные примеры и не удовлетворял не один отрицательный. • Операторы поиска выполняют поиск от состояния к состоянию. В машинном обучении таковыми являются, в основном, результаты обобщения и/или специализации описаний концептов. • Стратегия поиска определяет, при каких условиях и к какому состоянию может быть применен оператор. Двумя фундаментальными стратегиями систематического поиска являются поиск «сначала вглубь» и поиск «сначала вширь» (the depthfirst search and breadth-first search). Чтобы понять, в чем их суть, представим пространство всех возможных состояний как ориентированный граф, вершины которого соответствуют индивидуальным состояниям, а ребра — операторам поиска. При поиске «сначала вглубь» оператор применяется к начальному состоянию S1 и происходит переход к состоянию S2 . Если текущее 220 Гл. 5. Приобретение знаний и машинное обучение состояние не распозналось как конечное, то оператор снова применяется к текущему состоянию, переводя систему в новое состояние. Если таким образом не удается больше перейти в новое состояние, а конечное состояние все еще не достигнуто, система откатывается к предыдущему состоянию и пытается применить другой оператор. Если это невозможно, система откатывается еще дальше, до тех пор пока не будет найдено состояние, к которому будет применим какой-либо из операторов. Если такое состояние не находится, поиск завершается. Описанный принцип проиллюстрирован на рис. 5.1. Числа в квадратиках указывают порядок прохождения состояний. Рис. 5.1. Поиск «сначала вглубь» Поиск «сначала вширь» представляет собой подход, дополнительный к первому. Сначала все операторы по очереди применяются к начальному состоянию. Затем полученные в результате состояния проверяются. Если некоторые из них распознаются как конечное состояние, алгоритм останавливается. В противном случае операторы применяются ко всем последующим состояниям, затем опять к последующим состояниям, и так до тех пор, пока не будет выполнен терминальный критерий. Этот принцип проиллюстрирован на рис. 5.2. Заметим, что в отличие от поиска «сначала вглубь», поиск «сначала вширь» не предполагает бэктрекинга, что слегка упрощает задачу. С другой стороны, при поиске приходится хранить много промежуточных состояний, а это приводит к снижению вычислительной эффективности системы, что особенно заметно в больших поисковых пространствах. Эвристический поиск. Для увеличения эффективности поиска в больших поисковых пространствах используют эвристики. Задача эвристик — выбрать из имеющихся операторов такой, который максимально приблизит поиск к конечному состоянию. Для этого некоторая 5.3. Приобретение знаний из примеров 221 Рис. 5.2. Поиск «сначала вширь» оценочная функция должна дать оценку каждого из достигнутых состояний. Предположим, что оценочная функция задана. Алгоритм поиска «сначала лучшее»: 1. Назовем начальное состояние лучшим состоянием и пусть множество текущих состояний состоит из одного этого состояния. 2. Если лучшее состояние удовлетворяет заданному терминальному критерию, конец (лучшее состояние есть решение поиска). 3. Применить к лучшему состоянию все применимые операторы, породив множество новых состояний, которые добавляются к множеству текущих состояний. 4. Оценить все текущие состояния. Определить, какое из них — лучшее, и перейти к шагу 2. Этот алгоритм отличается от алгоритма «сначала вширь» тем, что он всегда работает только с самым перспективным состоянием и, тем самым, хотелось бы надеяться, ускоряет поиск. Плата за это — опасность попадания в локальный максимум оценочной функции. Работу алгоритма можно продемонстрировать на следующем примере [110]. Пример. Обучаемый пытается вывести описание концепта из множества восьми положительных и отрицательных примеров, описанных значениями атрибутов, как показано в табл. 5.13; «(+)» означает «положительный пример», а «(–)» означает «отрицательный пример». Допустим, имеются два оператора: «специализировать текущее описание путем добавления конъюнкции» и «обобщить текущее описание путем добавления дизъюнкции». Пусть начальное состояние — «любое описание». Применением оператора специализации (обобщение здесь не имеет смысла) будут 222 Гл. 5. Приобретение знаний и машинное обучение Т а б л и ц а 5.13. Положительные и отрицательные примеры для обучения концептам Пример e1 e2 e3 e4 e5 e6 e7 e8 at1 a b a a a b b a at2 x x y z y y y x at3 n n n n m n m m Классификация (+) (+) (–) (–) (+) (–) (+) (+) получены следующие описания: at1 = a; at1 = b; at2 = x; at2 = y; at2 = z; at3 = m и at3 = n. Среди них at2 = x и at3 = m не удовлетворяют ни одному (–) и, вероятно, получат наибольшее значение некоторой разумной оценочной функции. Предположим, что по какой-то причине более предпочтительным является at2 = x, которое и станет лучшим описанием. Поскольку некоторым плюсам в таблице теперь не соответствует никакое описание, обучаемый попытается применить операторы поиска к лучшему описанию. Применение оператора специализации только ухудшает положение, так как уменьшает число описываемых положительных примеров. Однако путем обобщения этого описания до at2 = x ∨ at2 = y можно увеличить число описываемых положительных примеров. Предположим, оценочная функция подтверждает, что это описание лучше, чем at2 = x. Новое описание удовлетворяет всем положительным примерам, однако, с другой стороны, удовлетворяет также двум отрицательным примерам. Таким образом, на следующем шаге описание специализируется до at2 = x ∨ [(at2 = y) ∧ X], где X — это любой из следующих конъюнктов: at = a; at1 = b; at3 = m и at3 = n. Среди новых состояний лучшим является at2 = x ∨ [(at2 = = y) ∧ (at3 = m)]. Поскольку оно удовлетворяет всем положительным примерам и ни одному отрицательному, поиск завершается. Поиск «сначала лучшее» может потребовать больших затрат памяти, поскольку хранит все порождаемые состояния. Более экономичным подходом является лучевой поиск, при котором в каждый момент времени хранятся только N лучших состояний. Алгоритм «лучевого» поиска: 1. Пусть начальное состояние есть лучшее состояние. 5.3. Приобретение знаний из примеров 223 2. Если лучшее состояние удовлетворяет некоторому терминальному критерию, конец. 3. Если число текущих состояний больше N , то оставить только N лучших состояний и удалить все остальные. 4. Применить операторы поиска к лучшему состоянию и добавить полученные состояния к множеству текущих состояний. 5. Оценить все состояния и перейти к шагу 2. Популярный частный случай алгоритма «лучевого» поиска задается N = 1, — его иногда называют алгоритмом восхождения на гору. Название призвано подчеркнуть сходство с альпинистами, которые стремятся найти кратчайший путь и всегда выбирают самые крутые маршруты. 5.3.3. Индуктивный алгоритм построения деревьев решений (TDIDT). Здесь мы рассмотрим классический вариант top–down индукции для построения деревьев решений [104]. Коротко можно сказать, что в его основе лежит принцип «разделяй и властвуй». Строится дерево решений, рекурсивно разделяющее области пространства примеров на подобласти таким образом, что каждая вершина дерева соответствует при этом подобласти пространства примеров. Корень дерева соответствует всему пространству примеров. Его потомки делят пространство примеров на непересекающиеся области. Этот процесс применяется к каждому листу дерева. Каждая такая вершина (лист) помечается меткой, которая обозначает множество примеров, принадлежащих соответствующей области. Каждая внутренняя вершина класса (т. е. вершина, не обозначающая ничего, кроме самой себя) соответствует какому-либо значению некоторого атрибута. TDIDT обычно включает два шага — построение новых ветвей и редукцию, т. е. удаление ветвей. На первом шаге дерево решений строится так, чтобы в максимальной степени соответствовать обучающей выборке. На втором шаге этот «изоморфизм» превращается в «гомоморфизм»; так редукция дерева приводит к уменьшению числа его вершин. Алгоритм построения новых ветвей. Пусть S — полное множество примеров. Шаг 1. Поиск «лучшего» атрибута Ai ; Шаг 2. Расщепление множества S на подмножества S1 , S2 , ..., Sn , так, чтобы все примеры из подмножества Sj имели одинаковые значения vij атрибута Ai ; Шаг 3. Для каждого множества Sj : если все примеры в Sj принадлежат одному и тому же классу Ck (имеющему ту же метку класса), то создать лист дерева решений и пометить меткой этого класса. Иначе перейти к 1, положив S = Sj . 224 Гл. 5. Приобретение знаний и машинное обучение Алгоритм заканчивает работу, когда все подмножества помечены, либо отсутствуют атрибуты, разделяющие непомеченные множества. Теперь выясним, что такое лучший атрибут и как его найти. Достаточно разумная эвристика основана на подсчете количества классов Ck в каждом из подмножеств, порожденных различными значениями атрибутов. Более точно, функция, используемая для выбора каждого очередного атрибута — кандидата Ai , должна увеличивать (по сравнению с исходной ситуацией) информацию о классах, помечающих обучающие выборки при разбиении рассматриваемого множества S на подмножества S1 , S2 , ..., Sn в соответствии со значением атрибута Ai . Эта функция реализуется некоторой индуктивной процедурой. Общая цель этих действий состоит в том, чтобы построенное дерево было минимальным, насколько это возможно без потери точности. В частности, для оценки «качества» признака можно использовать информационную функцию полезности. k Пусть pC — вероятность того, что случайно взятый из Sj j пример есть Ck . Она может быть оценена относительной частотой Ck k k — число примеров Ck в Sj и nj — число = nC pC j /nj , где nj j классов в Sj . Энтропия (по Шеннону) подмножества Sj вычисляется по следующей формуле: H(Sj ) = − X C k k pj × log2 pC j . k Пусть значения атрибута Ai расщепляют множество S примеров на подмножества Sj . Тогда энтропия семейства подмножеств Sj , порожденных значениями Ai , есть H(S, Ai ) = X P (Sj ) × H(Sj ), j где P (Sj ) есть вероятность принадлежности некоторого примера Sj к множеству S и оценивается отношением мощностей подмножеств Sj к мощности S: |Sj | . P (Sj ) = |S| Увеличение информации при таком расщеплении происходит благодаря уменьшению энтропии: IG(S, Ai ) = H(S) − H(S, Ai ), где H(S) есть априорная (до расщепления) энтропия S. Отсечение ветвей. Ряд проблем может существенно снизить качество полученного решения. Одна из них связана с тем, что часть дерева, заканчивающаяся меткой класса, может быть порождена при- 5.3. Приобретение знаний из примеров 225 мерами, являющимися «шумными» в том смысле, что значимость признака выбрана ошибочным образом. Вторая связана с тем, что если число признаков велико, дерево может содержать ветви, порожденные случайными свойствами, являющиеся нерелевантными корректной классификации. Наконец, очень большие деревья трудно интерпретировать, и для пользователя они будут «черными ящиками». По всем указанным причинам иногда может быть полезно сократить построенное дерево, отсекая некоторые ветви. В принципе, возможны два подхода к отсечению ветвей: он-лайновый интерактивный и постсокращение. Он-лайновое отсечение ветвей не позволяет дереву расти, когда значение функции полезности, связанное с разделением набора примеров, падает ниже некоторого порога. Постсокращение позволяет отсечь некоторые ветви дерева после завершения его построения. Один из наиболее известных подходов к сокращению был разработан в 1986 г. [111]. Авторы предложили отсекать ветви таким образом, чтобы минимизировать полную ожидаемую ошибку классификации на новых примерах. Для этой цели ошибка классификации подсчитывается для каждого узла в дереве. В листьях дерева для оценки ошибки используются методы теории вероятностей. Например, можно использовать формулу Лапласа. Для узлов, не являющихся листьями дерева решения, ошибка классификации вычисляется как взвешенная сумма ошибок классификации поддеревьев каждого из узлов. Вес полагается равным относительной частоте примеров, «передаваемых» из узла в соответствующие поддеревья. Далее ошибка классификации в «нелиственном» узле оценивается для случая отсечения ветвей, исходящих из него, так что он становится листом. Если эта оценка меньше, чем предыдущая, то соответствующие поддеревья отсекаются. Этот процесс распространяется от основания дерева к его листьям до тех пор, пока оценки ошибки уменьшаются. Преимущества постсокращения по сравнению с интерактивными методами состоят в том, что при постсокращении можно учесть глобальные свойства дерева классификации, в то время как при интерактивном отсечении ветвей минимум ошибки может оказаться локальным. Возможны и комбинированные подходы. Другие подходы к упрощению дерева. На рис. 5.3. показан еще один тип упрощения дерева: на этот раз целью является выполнение некоторой конструктивной индукции. Обучающаяся система пытается создать новые атрибуты, представляющие собой логические выражения над атрибутами, предоставленными учителем. Конструктивная индукция может быть полезна в тех ситуациях, когда поддерево повторяется в дереве в более чем одной позиции — см. рисунки 5.4. и 5.5. 8 Г. С. Осипов 226 Гл. 5. Приобретение знаний и машинное обучение Рис. 5.3. Конструктивная индукция в деревьях решений. Строится новый атрибут, at4 Рис. 5.4. Проблема дублирования поддеревьев в деревьях решений 5.3. Приобретение знаний из примеров 227 Рис. 5.5. Упрощенная версия дерева с предыдущего рисунка Работа с численными данными. До сих пор наш анализ ограничивался символьными атрибутами. Однако деревья вывода можно строить и по численным атрибутам. Один из возможных путей состоит в том, чтобы ввести дополнительный шаг — преобразование численных атрибутов в двоичную форму, т. е. разделение множеств их числовых значений с помощью некоторого порога на пары подынтервалов, которые можно считать символами. На рис. 5.6 показано дерево решения, построенное по числовым данным. В каждой вершине значение соответствующего атрибута сравнивается с порогом Ti . Положение порога на множестве Рис. 5.6. Дерево решений для численных атрибутов значений можно, опять-таки, определить через энтропию. Предположим, требуется дискретизировать множество значений атрибута at1. Сначала мы упорядочим все примеры по значению at1 и проследим за классифицирующими значениями. В случае, описанном на рис. 5.7, классифицирующие значения (+) и (–) разбивают множество из 80 примеров на 4 области (на практике таких областей обычно бывает больше). Предполагаемые точки разбиения лежат на границах областей. Затем для каждой из этих точек вычисляется информативность 8* 228 Гл. 5. Приобретение знаний и машинное обучение Рис. 5.7. Примеры, упорядоченные по значениям некоторого атрибута; s1, s2 и s3 — предполагаемые точки разбиения (ранее объяснялось, как это делается) и выбирается точка с наибольшей информативностью. Таким образом, числовая версия алгоритма TDIDT выглядит следующим образом. Алгоритм TDIDT для численных данных: 1. Используя меру энтропии, найти оптимальную точку разбиения для каждого численного атрибута. 2. Найти атрибут, чья точка разбиения максимально увеличивает энтропию и разбивает множество примеров по значению этого атрибута на два подмножества. 3. Если терминальный критерий не выполнен, повторять процедуру рекурсивно для каждого подмножества. Заметим, что с каждым новым поддеревом необходимо пересчитывать точки разбиения. Скорей всего, оптимальное положение точки разбиения в разных подмножествах примеров будет разным. 5.3.4. Последовательное покрытие: AQ-обучение. AQ-обучение основывается на идее постепенного покрытия обучающих данных с помощью последовательно порождаемых правил. Этот подход используется целым семейством методов, основанных на алгоритме, который впервые был опубликован в работе Михальского в 1969 г. [112]. Суть метода заключается в поиске множества правил (конъюнкций пар атрибут–значение или, в общем случае, произвольных предикатов), которое покрывает все (+) примеры и ни одного (–) примера. Вместо разбиения множества примеров AQ-алгоритм шаг за шагом обобщает описания выбранных положительных примеров, называемых опорными примерами. AQ-алгоритм. Для демонстрации основного принципа AQ-обучения рассмотрим упрощенный вариант AQ-алгоритма. Предположим, цель — обнаружить минимальное множество правил, характеризующих заданный концепт. Правила будут иметь вид: если A1 и A2 и . . . и An то C 5.3. Приобретение знаний из примеров 229 где C — концепт, а условия Ai могут быть записаны в обычной атрибутной форме ati = V или иметь более общий вид: ati = v1 ∨ v2 ∨ v3 ..., где атрибут может принимать одно из нескольких значений (связанных внутренними дизъюнкциями). Собственно алгоритм имеет следующий вид: 1. Разделить все примеры на подмножества P E положительных примеров и N E отрицательных примеров. 2. Выбрать из P E случайным образом или по каким-то соображениям один пример, который будет считаться опорным примером. 3. Найти множество максимально общих правил, характеризующих опорный пример. Предел обобщения определяется множеством N E: обобщенное описание опорного примера не должно удовлетворять ни одному объекту из N E. Полученное таким образом множество правил называется опорным множеством. 4. Используя некоторый критерий предпочтения, выбрать лучшее правило в опорном множестве. 5. Если это правило вместе с ранее порожденными таким образом правилами покрывает все объекты из P E, то конец. Иначе — найти другой опорный пример среди неохваченных примеров в P E и перейти к 3. Шаг 3 выполняется специальной процедурой порождения опорного множества правил. Критерий предпочтения для выбора правил на шаге 4 определяется характером решаемой задачи. В качестве такого критерия может выступать комбинация различных элементарных критериев, таких как требование максимального числа положительных примеров, описываемых правилом минимального числа используемых атрибутов, максимальной оценки степени общности, т. е. отношения числа положительных примеров, покрываемых правилом, к числу всех примеров, минимальных затрат на измерение значений атрибутов и т. п. Кроме того, можно использовать критерии выбора атрибутов, как в обучении деревьям решений, такие как энтропия, информационная функция полезности и т. д. Алгоритм позволяет также строить множество правил с различными отношениями между отдельными правилами. Проиллюстрируем работу алгоритма на простом примере. Пример. Примеры, описанные в табл. 5.14 в терминах атрибутов at1, at2 и at3, изображены на рис. 5.8. В табл. 5.14 каждая строка соответствует одному вектору значений атрибутов. Строки, соответствующие положительным примерам, помечены (+), а строки, соответствующие отрицательным примерам, помечены (–). Предположим, критерий предпочтения рекомендует выбирать правила, охватывающие максимально возможное число положительных примеров и условия правил могут пересекаться друг с другом. 230 Гл. 5. Приобретение знаний и машинное обучение Т а б л и ц а 5.14. Спецификация обучающего множества Пример at1 at2 at3 Классификация PE e1 e2 e3 e4 y x y x n m n n r r s r (+) (+) (+) (+) NE f1 f2 f3 f4 f5 f6 x y y z z x m m n n n n s t t t r s (–) (–) (–) (–) (–) (–) Программа, ведущая к выявлению правил из приведенных примеров, будет состоять из следующих шагов: 1. Выбрать первый опорный пример: e1. 2. Для построения опорного множества примера e1 (т. е. множества максимально общих описаний e1), начать с построения множества всех описаний e1, которым не удовлетворяют отрицательные примеры. Для этого обобщим какой либо атрибут опорного примера, например, at1, получив at1 = x ∨ y, т. е. R1 : at1 = (x ∨ y) & at2 = = n) & (at3 = r). Далее займемся вторым атрибутом, получив в результате правило R1′ : at1 = (x ∨ y) & (at2 = n ∨ m) & (at3 = r). Попытки дальнейшего обобщения этого описания приводят к тому, что ему (дальнейшему обобщению) начинают удовлетворять и отрицательные примеры. Например, обобщение атрибута at3 следующим образом: at3 = r ∨ s, приводит к тому, что полученному правилу удовлетворяют примеры f 1 и f 6. Таким образом, R1′ : at1 = (x ∨ y) & (at2 = n ∨ m) & (at3 = r) и возможности такого обобщения опорного примера e1 исчерпаны. Однако если мы начнем с атрибута at3, то применяя изложенные соображения, получим правило R2′ : (at1 = y) & (at2 = = n ∨ m) & (at3 = r ∨ s). Исключая атрибут at2, так как в обоих правилах используется все множество его значений, получим следующие результаты: R1′ : (at1 = x ∨ y) & (at3 = r), 5.3. Приобретение знаний из примеров 231 R2′ : (at1 = y) & (at3 = r ∨ s). 3. Это опорное множество правил для e1. Предположим, что критерий предпочтения рекомендует выбрать из опорного множества правило, которое охватывает наибольшее число положительных примеров. Будет выбрано R1′ , так как оно охватывает три примера, тогда как R2′ — только два. Следующий шаг — выбор нового опорного примера из положительных примеров, которые пока не охвачены. Есть только один такой пример — это e3. 4. Выбрать следующий опорный пример: e3. • Построить опорное множество для нового опорного примера. Порождаются два правила R3 : (at1 = y ∨ z) & (at3 = s) и R4 : (at1 = y) & (at3 = r ∨ s). • Правило, удовлетворяющее большему числу положительных примеров, совпадает с R2′ . • Поскольку неиспользованных примеров больше не осталось, выбранные нами правила R1′ и R2′ составляют полное и непротиворечивое описание искомого концепта, полученное благодаря использованному критерию предпочтения: R1′ (at1 = x ∨ y) & (at3 = r), R2′ (at1 = y) & (at3 = r ∨ s). В обучающиеся системы, основанные на алгоритме AQ, можно легко интегрировать базовые знания, поскольку такие знания часто представляются в виде систем правил. Мы, однако, на этой особенности останавливаться не будем, так как использование базовых знаний более свойственно обучающимся системам, основанным на логике предикатов, и о них мы поговорим позднее. Двухфазный подход. Для обучения в условиях недоопределенного контекста и с зашумленными данными был предложен двухфазный подход. Этот подход облегчает также обработку контекста и снижает сложность получения результата в AQ-парадигме. Принципиальная идея состоит в расщеплении описания концепта на две части: базовое представление концепта (БПК), содержащее эксплицитную характеристику концепта, хранящуюся в памяти обучающейся системы, и механизм сопоставления с концептом на основе вывода (СКВ), содержащий множество правил вывода, которые применяются на этапе сопоставления примеров с БПК. Продемонстрируем это на примере. Пусть БПК содержит правило если A1 и A2 и . . . и An то X 232 Гл. 5. Приобретение знаний и машинное обучение и СКВ содержит правило интерпретации «Для применимости правила к примеру по крайней мере 3 условия из A1 ...An должны быть выполнены на этом примере». Очень простым примером двухуровневого подхода может служить метод TRUNC, состоящий из следующих общих шагов: 1. Используя AQ, построить начальное множество правил. 2. Установить «важность» каждого правила. Простой мерой важности может служить число положительных примеров, покрываемых правилом. Сохранить в БПК только самые важные правила. 3. Определить СКВ-процедуру для правильного распознавания примеров, не описываемых точно правилами из БПК. Когда для сопоставления примера правилу используется СКВ-процедура, новому примеру приписывается класс того правила в БПК, которое дает «наилучшее совпадение» при сопоставлении на основе СКВ. 5.3.5. Оценка обучающих алгоритмов. Рассмотрим критерии качества алгоритмов машинного обучения. Некоторые из таких критериев приведены в табл. 5.15. Т а б л и ц а 5.15. Оценка алгоритмов МО Критерий Комментарии Точность Процент правильно распознанных плюсов и минусов Эффективность Количество требуемых примеров, вычислимость Устойчивость В условиях шума, неполноты Специальные требования Инкрементность, изменчивость концепта Сложность концепта Проблемы представления примеров и базовых знаний Прозрачность Понятность для пользователя-человека Вероятно, самым важным критерием является точность. Поскольку идея обучения концептам состоит в правильной идентификации новых экземпляров, то вполне логично измерять успешность обучения процентом правильно классифицированных тестовых примеров. Предположим, системе предлагается классифицировать множество из 200 примеров, 100 из которых положительны и 100 отрицательны. Если система правильно расклассифицировала 80 положительных примеров 80 + 60 = 0,7, т. е. 70 %. и 60 отрицательных, то точность равна 200 Иногда важнее знать, сколько раз система классифицировала положительные примеры, при том что распознавание отрицательных менее 5.3. Приобретение знаний из примеров 233 существенно (или наоборот). В таком случае мы различаем два вида ошибок: положительные примеры, распознанные как отрицательные, и отрицательные примеры, распознанные как положительные. Эти ошибки демонстрируют, что описание либо слишком специализированно, либо слишком общо. В случае излишне специализированного описания система будет скорее неверно распознавать положительные примеры, чем отрицательные. В случае излишне общего описания система чаще будет ошибочно принимать отрицательные примеры за положительные. В идеале обучающаяся система должна выдвинуть гипотезу (внутреннее описание концепта), которая была бы непротиворечива (не удовлетворяла ни одному отрицательному экземпляру) и полна (охватывала бы все положительные экземпляры). Точность классификации — это только один из критериев оценки алгоритмов машинного обучения. От обучающейся системы требуется еще и эффективность — способность достичь определенного уровня точности при минимальном количестве обучающих примеров. Учитель не всегда имеет возможность предоставить много примеров, да и вообще, способность к быстрому обучению — один из признаков интеллекта. Интерес представляют, таким образом, критерии вычислительной сложности: сколько времени требуется компьютеру для построения хорошей гипотезы. Еще один критерий связан с прозрачностью (объяснимостью) выводимого описания концепта. Часто важно, чтобы порождаемое описание было понятным и чтобы пользователь мог из него узнать нечто новое об изучаемой области. Такое описание, будучи непосредственно использовано человеком, могло бы обогатить его знания. Этот критерий используется и в тех случаях, когда выводимые описания предназначены для использования в системе, основанной на знаниях, поведение которой должно быть объяснимо. По этому критерию машинное обучение в интеллектуальных системах обычно отделяется от других форм обучения, включая нейронные сети и статистические методы. Серьезную трудность в обучении представляет шум (ошибки) в примерах и/или в метках классов примеров. Измерительные приборы, которые сообщают значения атрибутов, могут быть неточны или плохо отрегулированы; значения атрибутов, предоставленные учителем, могут страдать субъективизмом; данные могут пострадать от несчастного случая, часть данных может быть потеряна. Множество неприятностей может случиться с примерами, прежде чем они попадут в систему. Поэтому естественно, что требуется устойчивость к шуму и устойчивость к пропускам данных (например, к отсутствию значений атрибутов). Насколько важен этот критерий, нужно решать в каждом конкретном случае. 234 Гл. 5. Приобретение знаний и машинное обучение Вообще, к специфике решаемой задачи нужно относиться весьма серьезно. К примеру, пользователь может потребовать от обучающейся системы, чтобы она приобретала знания в режиме онлайн из потока поочередно поступающих примеров (в противоположность ситуации, когда все примеры имеются в наличии в самом начале обучения). Представим, что в тот момент, когда уже сформировано начальное описание концепта, появляется новый пример. В традиционных алгоритмах пакетной обработки это означало бы необходимость заново выполнить процедуру обучения на всех данных. Едва ли такое поведение можно назвать интеллектуальным. Обучающаяся система должна быть способна к уточнению ранее приобретенных знаний, к инкрементному (пошаговому, поcтепенному) обучению, свойственному человеку. Инкрементное обучение приобретает особую важность, когда системе приходится иметь дело с изменчивым или эволюционирующим концептом. В некоторых областях значение того или иного концепта может время от времени меняться. Это видно на примере таких терминов, как «модное платье» или «демократия». Обучающаяся система должна уметь учитывать такие изменения. И, наконец, разработчик должен уделить внимание языкам представления, т. е. языку, на котором описываются примеры, и языку, который используется для записи базовых знаний. Читатель уже обратил внимание на то, что различные языки представления отличаются друг от друга по выразительности. Например, алгоритм TDIDT использует язык атрибутивной логики, тогда как более сложные системы способны обучаться концептам на примерах, описанных в языке предикатов первого порядка. 5.3.6. Машинное обучение в языке исчисления предикатов первого порядка. Введение. Как уже говорилось, атрибутивные языки, при всех их удобствах, имеют и свои ограничения. Хотя с их помощью и можно многое описать, но все же возможности логических языков с использованием предикатов, описывающих отношения между объектами и их частями, гораздо богаче. Рассмотрим, например, базовые знания об отношениях родства (рис. 5.8; для простоты имена людей обозначены «1», «2» . . . вместо «Джон», «Билл» . . .). В этом примере отношения родства описываются единственным предикатом «родитель (X, Y )», например, родитель (1, 2) означает, что 1 — родитель 2. Тогда генеалогическое дерево некоторой семьи можно записать в виде предиката «родитель (X, Y )», выполняющегося на бинарном отношении {(1, 2)(1, 3)(3, 4)(3, 5)(3, 6)(4, 7)}, представленном в виде графа на рис. 5.6. 5.3. Приобретение знаний из примеров 235 Предположим, что, имея это отношение в своих базовых знаниях, система хочет обучиться концепту дедушка (X, Y ) ∨ бабушка (X, Y ). Предположим также, что от учителя система получила следующие положительные примеры концепта: дедушка (1, 4), дедушка (1, 5), дедушка (1, 6), бабушка (3, 7). Эти примеры тоже проще записать в виде бинарного отношения: {(1, 4), (1, 5), (1, 6), (3, 7)}, на котором выполняется концепт Рис. 5.8. Отношения родства дедушка (X, Y ) ∨ бабушка (X, Y ). Все прочие родственные отношения между лицами 1, ... , 7 считаются отрицательными примерами. Весьма популярным подходом в обучении с использованием логики предикатов первого порядка является индуктивное логическое программирование (ИЛП), активно исследуемое в настоящее время. Рассмотрим его ниже. Машинное обучение в языке клауз Хорна. Предположим, требуется написать программу, которая сможет обучиться концепту «бабушка или дедушка» по примерам отношений родства. Концепт должен быть описан с помощью клауз Хорна. Стремясь к простоте описания концепта, следует начать с языка, который допускает в теле клауз лишь те аргументы, которые встречаются также и в его голове. Допустим, описание концепта представляет собой множество клауз Хорна следующего вида: C1 : −L11 , L12 , ... , L1m , C2 : −L21 , L22 , ... , L2m , ... где предикат C1 — это голова клаузы, а литералы Lij составляют тело клаузы. Запятые, разделяющие литералы в теле клаузы, указывают на наличие между ними конъюнкции. Каждый литерал представляет отношение, имеющее n > 0 аргументов. Вспомним метод AQ, где обучающаяся система начинала с относительно общего описания с участием одного-единственного атрибута, которое затем становилось все 236 Гл. 5. Приобретение знаний и машинное обучение более и более специализированным за счет включения новых условий. Используем здесь тот же принцип. Добавлением литерала в тело клаузы мы получим эффект, аналогичный эффекту специализации, который достигается добавлением условия в правило при методе AQ или присоединением дополнительной вершины к какому-либо уровню дерева решений, а потому правильно будет начать с клаузы, состоящей исключительно из головы, и затем специализировать ее путем добавления литералов в тело. Поскольку базовые знания не содержат никаких предикатов, кроме «родитель», и поскольку в теле клаузы допускаются только те переменные, которые встречаются в голове, то для определения концепта «бабушка или дедушка» (в дальнейшем будем обозначать его через «grandparent») можно использовать следующие клаузы: grandparent (X, Y ) : − родитель (X, Y ), grandparent (X, Y ) : − родитель (Y , X), grandparent (X, Y ) : − родитель (X, X), grandparent (X, Y ) : − родитель (Y , Y ). Однако ни одна из этих клауз не покрывает ни один положительный пример. Очевидно, что нужно ослабить ограничение, разрешив использовать в теле клаузы аргумент, который не входит в голову. Можно построить четыре литерала такого вида: родитель (X, Z), родитель (Y , Z), родитель (Z, X) и родитель (Z, Y ). Предположим, система выбирает вариант: grandparent (X, Y ) : − родитель (X, Z). Посмотрим теперь, для каких троек (X, Z, Y ), удовлетворяющих данной клаузе, голова клаузы представляет положительный пример, а для каких — отрицательный: (+) : (1, 2, 4) (1, 2, 5) (1, 2, 6) (1, 3, 4) (1, 3, 5) (1, 3, 6) (3, 4, 7) (3, 5, 7) (3, 6, 7) (−) : (1, 2, 1) (1, 2, 2) (1, 2, 3) (1, 2, 7) (1, 3, 1) (1, 3, 2) (1, 3, 3) (1, 3, 7)(3, 4, 1) (3, 4, 2) (3, 4, 3) (3, 4, 4) (3, 4, 5) (3, 4, 6) (3, 5, 1) (3, 5, 2) (3, 5, 3) (3, 5, 4) (3, 5, 5) (3, 5, 6) (3, 6, 1) (3, 6, 2) (3, 6, 3) (3, 6, 4) (3, 6, 5) (3, 6, 6) (4, 7, 1) (4, 7, 2) (4, 7, 3) (4, 7, 4) (4, 7, 5) (4, 7, 6) (4, 7, 7) При ближайшем рассмотрении видно, что положительные тройки включают все 4 положительных примера: (1, 4) (1, 5) (1, 6) (3, 7), а отрицательные тройки включают 17 отрицательных примеров: (1, 1) (1, 2) (1, 3) (1, 7) (3, 1) (3, 2) (3, 3) (3, 4) (3, 5) (3, 6) (4, 1)(4, 2) (4, 3) (4, 4) (4, 5) (4, 6) (4, 7). Мы можем сказать, что клауза grandparent (X, Y ) : − родитель (X, Z) противоречива, потому что она удовлетворяет и отрицательным примерам. Противоречивость можно уменьшить за счет правильно выбран- 5.3. Приобретение знаний из примеров 237 ной специализации этой клаузы. Сделать это можно путем добавления к ней других разрешенных литералов. Попробуем сделать следующее: grandparent (X, Y ) : − родитель (X, Z), родитель (Z, Y ). Эта клауза описывает следующие тройки (X, Z, Y ): (+) : (1, 3, 4) (1, 3, 5) (1, 3, 6) (3, 4, 7), (−) : ни одного. Поскольку охвачены все положительные примеры и ни одного отрицательного, обучающаяся система удовлетворена этой клаузой и останавливается. А что, если бы вместо родитель (Z, Y ), мы добавили бы какой-то другой литерал? Рассмотрим очередную клаузу: grandparent (X, Y ) : − родитель (X, Z), родитель (Y , Z). Несмотря на то, что эта клауза не описывает ни одного отрицательного примера, ее полезность сомнительна, так как она не описывает и ни одного положительного. Очевидно, что нужен подходящий критерий для определения того, какой литерал добавлять в клаузу. Обратимся к более сложному концепту — допустим, предок. Используя известные из рис. 5.8 родственные отношения между семью людьми, можно получить следующие положительные примеры: предок = {(1, 2) (1, 3) (1, 4) (1, 5) (1, 6) (1, 7) (3, 4) (3, 5) (3, 6) (3, 7) (4, 7)}. Поиск лучшего литерала (с теми же аргументами, что и голова клаузы) приводит к следующему описанию: предок (X, Y ) : − родитель (X, Y ). Эта клауза непротиворечива, поэтому специализация не требуется. Система сохранит ее и — поскольку описание неполно — попытается найти альтернативную клаузу, описывающую те положительные примеры, которые не попали в поле действия первой клаузы. Результат интерпретируется таким образом, чтобы по крайней мере одна из клауз описывала пример, если он представляет положительный экземпляр концепта. Повторяя процедуру, найдем следующие три клаузы: предок (X, Y ) : − родитель (X, Y ), предок (X, Y ) : − родитель (X, Z), родитель (Z, Y ), предок (X, Y ) : − родитель (X, Z), родитель (Z, W ), родитель (W , Y ). Даже если эти клаузы покрывают все обучающие примеры, мы знаем, что они неполны, поскольку охватывают только четыре поколения. Читатель, знакомый с логическим программированием, посоветовал бы прибегнуть к рекурсивному описанию: предок (X, Y ) : − родитель (X, Y ), предок (X, Y ) : − родитель (X, Z), предок (Z, Y ). 238 Гл. 5. Приобретение знаний и машинное обучение Обучающаяся система может найти такое описание, только если ей разрешено определять предикат «предок» в терминах начального понимания концепта. В этом состоит принцип рекурсии. В самом начале система использует предикат «родитель». После того как сформулирована первая клауза, системе следет разрешить использовать также предикат «предок». Процедура, которую мы только что описали, составляет ядро системы FOIL, разработанной Куинланом. Это соображения можно формализовать в виде следующего алгоритма. Алгоритм FOIL. 1. Задать клаузу, определив голову, которая представляет имя целевого концепта (концепта, которому система должна обучиться); тело оставить пустым. 2. Если клаузе удовлетворяют отрицательные примеры, выполнять: Найти «хороший» литерал для добавления в тело клаузы. 3. Удалить все примеры, описываемые клаузой. 4. Добавить клаузу в построенное таким образом определение концепта. Если есть положительные примеры, не покрываемые определением концепта, перейти к 1. К этому моменту остается одна проблема: как найти «хороший» литерал, который нужно включить в клаузу на шаге 2 алгоритма. Для этой цели FOIL использует информационный критерий, аналогичный тому, что применяется для построения деревьев решений. Обозначим через Ti+ число положительных примеров, описываемых конъюнкцией L1 , L2 , ..., Li−1 , и обозначим через Ti− число отрицательных примеров, описываемых той же конъюнкцией. Тогда информация, возникающая при выборе положительного примера, равна Ti+ . Ii = − log Ti+ + Ti− После добавления нового литерала Li эта информация становится равна ! + Ti+1 Ii+1 = − log . + − Ti+1 + Ti+1 Успешность литерала literal Li измеряется двумя факторами: 1. Количеством информации Ii − Ii+1 ; 2. Числом Ti++ положительных примеров, которым продолжает удовлетворять клауза после добавления Li+1 . Соответственно, мера успешности алгоритма FOIL определяется как Gain(Li ) = Ti++ × (Ii − Ii+1 ). 239 5.3. Приобретение знаний из примеров Очень полезно обратить внимание на то, как FOIL сочетает два подхода, описанных в предыдущем разделе. В принципе, программа выполняет алгоритм AQ, пытаясь охватить пространство положительных примеров некоторым множеством клауз. Во внутреннем цикле клаузы подвергаются пошаговой специализации при помощи некоторой процедуры, которой управляет функция, аналогичная той, что применяется в методе «разделяй и властвуй». Обратная резолюция. Вернемся к поисковой концепции обучения. Легко видеть, что FOIL использует два поисковых оператора: оператор обобщения добавить_клаузу и оператор специализации добавить_литерал. Добавив сюда обратные операторы удалить_клаузу для специализации и удалить_литерал для обобщения, мы получим элементарный репертуар операторов для обучения в логике первого порядка. Работу этих операторов можно показать на примере следующих четырех шагов, которые постепенно превращают клаузу x : −a, b в клаузу x : −d, e: — добавить клаузу ( ) x : −a, b x : −a, b ⇒ ; x : −c, d — удалить клаузу ( x : −a, b x : −c, d ) ⇒ x : −c, d; — добавить литерал x : −c, d ⇒ x : −c, d, e; — удалить литерал x : −c, d, e ⇒ x : −d, e. Этот репертуар можно расширить следующими операторами индуктивного поиска: — идентификация ( ) ( ) x : −b, x a : −b, x ⇒ ; x : −b, c, d x : −c, d — поглощение ( x : −c, d x : −b, c, d ) ⇒ ( x : −c, d a : −b, x ) ; 240 Гл. 5. Приобретение знаний и машинное обучение — интерконструирование ( a : −v, b, c a : −w, b, c ) — интраконструирование ( a : −v, b, c a : −w, b, c ) a : −u, b, c ⇒ u : −v u : −w ; a : −v, u ⇒ a : −w, u . u : −b, c Все эти операторы могут быть выведены методом резолюции, описанным во второй главе книги. Напомним, что метод резолюции позволяет из истинных дизъюнктов (C1 ∨ l) и (C2 ∨ ¬l) вывести дизъюнкт (C1 ∨ C2 ), разумеется, также истинный. Для применения здесь метода резолюций его схему следует инвертировать. Если известна резольвента и одна из исходных строк, можно построить вторую исходную строку. В зависимости от того, содержит ли имеющаяся клауза утвердительную или отрицательную форму литерала l, мы будем говорить, соответственно, что имеет место идентификация или поглощение. Вся схема вывода для обоих операторов показана на рис. 5.9. Поясним только получение оператора идентификации, вывод оператора поглощения строится аналогично. Предположим, даны две клаузы, a : −b, x и a : −b, c, d. Пусть первая называется «оригинал», а вторая — «резольвента». Задача заключается в нахождении неизвестной клаузы, которая вместе с оригиналом дала бы нам резольвенту. Для простоты рассматриваем пропозициональный случай. Зная, что формулу A : −B можно записать в виде A ∨ ¬B, превращаем наши клаузы в a ∨ ¬b ∨ ¬x и a ∨ ¬b ∨ ¬c ∨ ¬d. В обе клаузы входит подстрока a ∨ ¬b. Кроме того, в резольвенту входит еще и подстрока ¬c ∨ ¬d, которая могла бы быть унаследована из неизвестной клаузы. Оригинал, в свою очередь, содержит также предикат ¬x, и, следовательно, его отрицание x должно входить в неизвестную клаузу. После конкатенации резольвенты и оригинала мы получим строку ¬c ∨ ¬d ∨ x. Будучи преобразована обратно в клаузу Хорна, эта строка превратится в x : −c, d. К сожалению, на практике эта задача усложняется. Так, в случае обратной резолюции обучающаяся система должна найти правильные подстановки аргументов в предикаты l и ¬l для того, чтобы они были совместимы. Например, предикаты p1 = родитель (джон, билл) и p2 = 5.3. Приобретение знаний из примеров 241 Рис. 5.9. Вывод операторов идентификации (а) и поглощения (б) родитель (X, ева) совместимы только при подстановках θ1 = {джон/X, билл/Y } в первый предикат и θ2 = {ева/Y } во второй предикат. Для вывода операторов интерконструирования и интраконструирования требуются несколько более сложные процедуры, которые мы здесь опустим. Ревизия теорий. Иногда в распоряжении обучающейся системы имеется некоторый набор базовых знаний, который может управлять процессом обучения. Проиллюстрируем это на примере: предположим, что базовые знания содержат частичную информацию о родственных отношениях, как на рис. 5.8, а дополнительная информация относительно пола этих индивидов представлена в терминах предикатов муж- 242 Гл. 5. Приобретение знаний и машинное обучение чина и женщина. После того, как обучающейся системе сообщили, что Джек — отец Билла, она должна вывести определение предиката отец, который до того не входил в базовые знания. Подход, в общих чертах описанный здесь, опирается на алгоритм, лежащий в основе системы CLINT. Обучающаяся система начинает свою работу с некоторого языка с очень сильными ограничениями — например, начальное ограничение требует, чтобы тело клаузы содержало в качестве аргументов только те константы и переменные, которые входят также и в голову, как в p(X, Y ) : −q(X, Y ), r(X). В случае клаузы отец(джек, билл) это означает, что система ищет все литералы, которые не содержат никаких аргументов, кроме джек и билл. Обнаружив такие литералы, система связывает их конъюнкциями. Предположим для примера, что базовые знания системы содержат, среди прочего, следующие предикаты: ... родитель (джек, билл). родитель (том, джек). родитель (том, ева). родитель (ева, билл). мужчина (том). мужчина (джек). мужчина (билл). женщина (ева). художник (билл). певец (джек). ... Если никаких других предикатов, содержащих джек или билл в качестве аргументов, нет, то попытка построить (искомый) концепт в терминах описанного выше простого языка завершится следующим описанием: отец (джек, билл) : −родитель (джек, билл), мужчина (джек), мужчина (билл), художник (билл), певец (джек). Найдя эту конкретную клаузу, система обобщит ее, заменив константы переменными, и получит, таким образом, то, что называется начальной клаузой: отец (X, Y ) : − родитель (X, Y ), мужчина (X), мужчина (Y ), художник (Y ), певец (X). Ясно, что при таком методе построение клауз неизбежно происходит вслепую, и даже поверхностный взгляд на эту «сфабрикованную» клаузу обнаружит, что с ней что-то не так: тот факт, что джек — отец билла, никак не связан с тем, что билл — мужчина, и уж, тем 5.3. Приобретение знаний из примеров 243 более, с его профессией. Чтобы справиться с этой проблемой, авторы системы CLINT вооружили обучающуюся систему способностью уточнять начальное описание концепта посредством несложного диалога с пользователем. В процессе диалога система рассматривает по очереди каждую атомарную формулу и проверяет ее необходимость: система строит новые примеры и просит пользователя их классифицировать. К примеру, на вопрос: Правда ли, что отец (том, джек)? пользователь ответит утвердительно, и это свидетельствует о том, что литерал художник(Y) не является необходимым (джек — певец, а том, тем не менее, его отец). Следующий вопрос должен прояснить, обязательно ли Y быть мужчиной. Зная, что ева — женщина, система отыскивает в базовых знаниях литерал родитель(том,ева) и задает пользователю вопрос: Правда ли, что отец(том, ева)? Утвердительный ответ говорит о том, что атомарная формула мужчина(Y) тоже не является обязательной. С другой стороны, на вопрос: Правда ли, что отец (ева, билл)? пользователь ответит отрицательно, а это означает, что атомарную формулу мужчина (X) нельзя удалить из клаузы. Очевидно, что во время такой верификации первоначальная клауза может полностью измениться — возможно даже, что из ее тела будут удалены все литералы. Возможен и другой вариант: начальную клаузу найти не удастся. В обоих случаях система продолжит работу и поступит следующим образом: она ослабит некоторые ограничения, например, ограничение на аргументы предикатов. Тогда предикатам из тела будет разрешено иметь один и только один аргумент, который не входит в голову, как в случае с клаузой: grandparent(X, Y ) : − родитель (X, Z), родитель (Z, Y ). Таким путем система обобщает описание концепта для того, чтобы оно охватило и те положительные экземпляры (построенные системой и предложенные пользователю), которые не подпадали под предыдущее описание. Разумеется, описание может стать слишком общим — в том смысле, что будет удовлетворять и отрицательным примерам. Чтобы исправить это положение, нужно принять соответствующие меры. В CLINT используется следующее решение: для отрицательного примера строится дерево объяснения, которое находит ту самую преступную клаузу c, из-за которой под описание подпадает отрицательный пример; клауза c удаляется из базы знаний, а полученная в результате структура зна- 244 Гл. 5. Приобретение знаний и машинное обучение ний вновь обобщается, для того чтобы все положительные примеры, которые описывались клаузой c, снова оказались «охвачены». 5.4. Искусственные нейронные сети и их обучение Введение. Появление искусственных нейронных сетей индуцировано биологией: они состоят из элементов, функциональные возможности которых напоминают функциональные возможности биологических нейронов [113–117]. Эти элементы затем организуются по способу, с некоторой точки зрения соответствующему анатомии мозга. Практически все разновидности нейронных сетей могут быть реализованы на обычном универсальном компьютере. 5.4.1. Область применения искусственных нейронных сетей. Общей областью применения искусственных нейронных сетей является распознавание образов. Можно использовать способность к самоорганизации нейронных сетей для проведения предварительного анализа распознаваемых признаков, выделения информативных, кластеризации. Сложные конфигурации искусственных нейронных сетей (когнитроны) позволяют распознавать сильно зашумленный и трансформированный образ. Сети ДАП (двунаправленная ассоциативная память) можно использовать для сжатия входного сигнала и последующего однозначного восстановления [117]. Термины и обозначения. Искусственный нейрон (рис. 5.10) представляет собой сумматор, на вход которого подаются либо входные сигналы, либо выходы других нейронов (биологическим аналогом являются синапсы нейрона) [113, 115]. Вектор входных сигналов (x1 , x2 , ... , xk ) = x умножается на вектор весов нейрона (wi1 , wi2 , ... , wik ) = w i . Каждый «вес» wij соответствует «силе» биологической синаптической связи i-го нейрона. Произведение подается на сумматор, результатом суммирования является величина NETi , являющаяся выходом нейрона. Сигнал NETi преобразуется активационной функцией OUTi = = F (NETi ) и дает выходной нейронный сигнал. Рис. 5.10. 5.4. Искусственные нейронные сети и их обучение 245 Активационная функция может быть • линейной: F (NET) = k(· NET, k = const; 1 ⇔ NET > T , • пороговой: F (NET) = T = const, порог актива0 ⇔ NET 6 T , ции нейрона; • иной функцией, более точно моделирующей процессы, происходящие в биологическом нейроне. Если ∀NET ∃a, b : (a < b, a 6 F (NET) 6 b), функция F носит название сжимающей. Часто в качестве сжимающей функции используется логистическая (сигмоидальная) функция OUTi = F (NETi ) = 1 ∈ (0.0, 1.0). Такого рода активационную функцию можно = −NETi 1+e рассматривать как нелинейную усилительную характеристику искусственного нейрона. Исследования Гроссберга показали, что использование подобной активационной функции снимает проблему шумового насыщения и качество выхода нейрона практически не зависит от уровня входного сигнала [118]. Такая модель искусственного нейрона лишена многих свойств биологического нейрона: отсутствует учет временных задержек: входной сигнал «немедленно» порождает выходной — система лишена динамики. Совокупность нейронов (как правило, одинаковой размерности) образует слой нейронной сети. Слои могут комбинироваться таким образом, что выходы нейронов предыдущих слоев являются входами нейронов следующих слоев (для простых сетей без обратных связей), образуя искусственную нейронную сеть. Входной вектор сети и выход последнего нейрона считаются внешними слоями, остальные слои рассматриваются как внутренние или скрытые. В некоторых источниках векторы, являющиеся выходами скрытых слоев нейронов, также именуются слоями. Вычисления, выполняемые сетью без обратных связей, записываются следующим рекуррентным матричным уравнением: OUTi+1 = ∗ = Fi (Wi · OU Ti ) , где OUTi — выход i-го слоя нейронов, Wi ∈ ∈ Matn×m R — матрица весов нейронов i-го слоя, n — число нейронов в слое, m — размерность нейрона, Fi — покомпонентная пороговая функция i-го слоя нейронов, ∗ — оператор транспонирования вектора. Для первого скрытого слоя входной вектор соответствует входному вектору OUT0 = X = (x1 , x2 , ... , xk ). Размерность выхода каждого предыдущего слоя нейронов равна размерности входа последующего слоя. Между слоями нейронов могут существовать обратные связи, т. е. выходы нейронов в свою очередь являются входами нейронов предыдущих слоев. В этих случаях сеть не имеет простой линейной конфигу- 246 Гл. 5. Приобретение знаний и машинное обучение рации и описывается более сложными системами дифференциальных уравнений. Под процедурой обучения сети (автоматической или контролируемой) понимается итерационный процесс подстройки весов нейронов таким образом, чтобы группе входных сигналов, принадлежащих к одному классу, соответствовал идентичный выходной сигнал. Под коллапсом сети в процессе обучения подразумевается ситуация, когда никакая подстройка весов не ведет к получению приемлемого результата обучения (процесс обучения не сходится, либо сходится крайне медленно, а потому может считаться бесконечным). 5.4.2. Достоинства и недостатки искусственных нейронных сетей. Искусственные нейронные сети имеют как достоинства, так и недостатки [113, 119]. Общие недостатки искусственных нейронных сетей: • относительно большой объем вычислений, связанных с получением выхода сети, особенно в сравнении с системами, работающими с деревьями решений; • размер структуры, необходимой для хранения данных одного уровня нейронной сети линейно зависит от размерности входного вектора (размерность нейрона) и количества классов, к которым могут принадлежать входные объекты (количество нейронов в слое); • теоретически, вход и выход искусственной нейронной сети являются синхронными (одновременно с подачей входного сигнала сеть должна генерировать выходной сигнал), на практике этого достичь невозможно; • в случаях неконтролируемого обучения возможны ситуации коллапса сети. Неверный подбор количества нейронов может привести либо к коллапсу сети (количество нейронов меньше количества распознаваемых классов), либо к потере общности. К достоинствам искусственных нейронных сетей можно отнести следующие: • относительная простота производимых вычислений и используемых структур данных, легкость аппаратной реализации; • способность к самоорганизации: алгоритмы обучения нейронных сетей построены таким образом, что наиболее характерным признакам (компонентам) входного вектора в процессе обучения автоматически приписываются бо́льшие веса. Искусственные нейронные сети можно использовать для выделения наиболее характерных особенностей входного сигнала; • возможность построения дерева решения (decision tree) по обученной нейронной сети. 5.4. Искусственные нейронные сети и их обучение 247 Искусственные нейронные сети выгодно использовать совместно с процедурами неконтролируемого или частично контролируемого обучения. Построение обученной сети под полным управлением является трудоемким процессом как из-за большого размера структуры сети, так и из-за значительного количества итераций обучения. 5.4.3. Персептрон. Персептронный нейрон — нейрон, имеющий пороговую активационную функцию. Розенблаттом была доказана теорема, что сеть персептронов может быть обучена распознаванию любого входного сигнала, удовлетворяющего требованиям персептронной представляемости, сформулированной Минским. Однослойный персептрон представляет собой логическую функцию входного сигнала. Каждый из нейронов слоя является координатой точки в n-мерном пространстве, где n — количество нейронов в слое. В совокупности персептрон с n входами определяет гиперплоскость в n-мерном пространстве, и выход персептрона принимает значение {0, 1} в зависимости от того, с какой стороны плоскости находится входной сигнал. Однослойным персептроном может быть представлена только такая зависимость между входным и выходным сигналами, которая является линейно разделимой. Многие функциональные зависимости не являются линейно разделимыми: например, функция «ИСКЛЮЧАЮЩЕГО ИЛИ»: ( 1 ⇔ a 6= b, XORa,b = 0 ⇔ a = b. Попытка обучить однослойный персептрон распознаванию такого рода зависимостей приведет к коллапсу. Эта проблема частично снимается, если использовать многослойные персептронные сети. Так, двухслойная персептронная сеть позволяет соотносить входной сигнал с областью пространства, ограниченной выпуклым многогранником, а трехслойная — произвольным многогранником. Минский доказал, что в некоторых случаях объем персептронной сети возрастает экспоненциально в зависимости от сложности задачи, следовательно, персептроны можно использовать для решения «небольших» задач. 5.4.4. Процедура обратного распространения. Целью обучения является подстройка весов нейронов таким образом, чтобы приложение некоторого множества входов приводило к некоторому множеству выходов. При обучении предполагается, что каждому входному вектору X i сопоставляется требуемый выходной вектор Ti , вместе образующие обучающую пару (X, T )i . На обучающие пары накладывается следующие ограничения: допускается, что (∃i 6= j) (X i 6= X j , T i = T j ) и обязательно (∀i 6= j) (X i = X j ) ⇒ (T i = T j ) . Перед началом обучения веса сети случайным образом инициализируются небольшими значе- 248 Гл. 5. Приобретение знаний и машинное обучение ниями, например, wij ∈ (−1, 1). Это позволяет избежать насыщения большими значениями весов, а также избежать «забывания». Общий вид процедуры обучения [113–115]: 1. Инициализировать веса сети случайным образом. 2. Из множества обучающих пар случайным образом выбрать пару. 3. Вычислить разность между выходом сети и учителем (получить ошибку). 4. Подкорректировать веса сети для минимизации ошибки. Шаги 2–4 повторяются до тех пор, пока ошибка на всем обучающем множестве не достигнет приемлемого уровня. Корректировка весов осуществляется в соответствие с δ-правилом: • Осуществляется проход вперед (работает обычный алгоритм сети, на вход сети подается вектор X обучающей пары). • Для выходного слоя осуществляется обучение с учителем: вычисляется вектор ошибки E = (e1 , e2 , ... , en ), где n — количество нейронов в выходном слое. ei = ∂F (NETi ) (Ti − OUTi ) — ошибка i-го dNET n P нейрона выходного слоя. Общая ошибка обучения сети ε2 = Предполагается ∀i∃ i=1 e2i . ∂F (NETi ) . Если X = (x1 , x2 , ... , xk ) — вход dNET обучаемого слоя нейронов, W ∈ Matn×k — матрица весов нейронов выходного слоя, то для каждого из весов вычисляется величина необходимой корректировки на m-й итерации обучения ∆m wij = ηei xj , i = 1, 2 ... , n — индекс нейрона в слое, j = 1, 2 ... , k — индекс веса, η ∈ (0, 1) — некоторый коэффициент обучения, постепенно уменьшающийся с ростом количества итераций обучения, вводится с целью избежать эффекта забывания. После итерации обучения веса слоя примут значения m+1 m wij = wij + ∆m wij . • Для нейронов скрытых слоев производится процедура обучения без учителя, процедура самоорганизации. Для каждого из скрытых слоев по направлению к входу сети выполняется процедура обратного распространения. Компоненты вектора ошибки для q слоя q E = (eq1 , eq2 , ... , eqn ) вычисляются по следующей формуле: r ∂Fq (NETi ) P eqi = ejq+1 wji , где r — количество нейронов в слеdNET j=1 q+1 дующем слое, т. е. вектор ошибки E проходит в обратном направлении через слой q + 1. В векторной записи, если W q+1 ∈ q+1 ∈ Matk×r — матрица весов следующего слоя, а E — ошибка на этом слое, вектор ошибок текущего обучаемого слоя вычисляq ется следующим образом: E = q+1 ∂Fq (NET) ⊗ [(W q+1 )∗ E ]. Здесь ∂NET ⊗ — оператор покомпонентного умножения векторов. Предпо- 5.4. Искусственные нейронные сети и их обучение 249 лагается дифференцируемость активационной функции слоя q. q Если X = (xq1 , xq2 , ... , xqk ) — вход обучаемого слоя нейронов, W q ∈ Matn×k — матрица весов нейронов обучаемого слоя, то для каждого из весов вычисляется величина необходимой корректировки ∆q wij = ηeqi xqj , i = 1, 2 ... , n — индекс нейрона в слое, j = 1, 2 ... , k — индекс веса. Процедура подстройки весов скрытых слоев повторяется от последнего скрытого слоя по направлению к входу сети. С целью ускорить и увеличить устойчивость процесса обучения, используются различные методы: • Введение импульса — скачкообразного изменения весов. Позволяет избежать остановки обучения в локальных минимумах. • Использование памяти обучения (экспоненциальное сглаживание). Снижает вероятность забывания. • Введение стабилизирующего (постоянного) входа для каждого слоя нейронов. Позволяет избежать неограниченного роста весов. Часто детерминированный метод обучения с помощью процедуры обратного распространения комбинируется со стохастическими методами, которые осуществляют псевдослучайное изменение весов и сохраняют лишь те изменения, которые ведут к улучшению выходного результата. В чистом виде, стохастические методы ведут к общему увеличению числа итераций обучения, так как не всегда выполняется правильная корректировка весов, но они позволяют избежать локальных минимумов. Процесс обучения конечен, но может быть неопределенно долгим. Неудачными исходами обучения являются коллапс сети, остановка обучения в локальных минимумах, забывание (временная неустойчивость). Нет конкретных общих рекомендаций для преодоления этих проблем — процесс обучения должен варьироваться в зависимости от задачи. Результаты обучения можно оценить, предъявляя на вход обученной сети элементы обучающего множества или специального тестирующего множества, сравнивая выход сети с ожидаемым результатом, статистически рассчитывая процент удачных распознаваний. 5.4.5. Сети встречного распространения. Процедура встречного распространения не настолько общая, как процедура обратного распространения, однако для некоторых задач она может дать значительное ускорение процесса обучения. Сеть встречного распространения объединяет в себе самоорганизующуюся карту Кохонена и звезду Гроссберга, которые в сочетании дают свойства, не присутствующие ни у одной из этих структур в отдельности [120]. Сеть используется для распознавания образов. Предварительная обработка входного сигнала 250 Гл. 5. Приобретение знаний и машинное обучение и обобщающие свойства сети позволяют использовать ее для распознавания зашумленных или неизвестных сети экземпляров входных сигналов, восстановления образов и усиления слабых сигналов. Входные и выходные векторы сети могут быть как дискретными, так и непрерывными. Общий смысл функционирования сети встречного распространения сводится к группировке похожих входных образов в n-мерном евклидовом пространстве по линейной метрике вокруг некоторой точки, в связи с этим очень важен правильный выбор факторов для распознавания и правильный подбор порогов. Для большого количества распознаваемых классов сеть может быть неэффективной и лишенной общности. Перед предъявлением нейронной сети, входной вектор ′ X = (x1 , x2 , ... , xn ) нормируется по длине: X = (x′1 , x′2 , ... , x′n ), .qP n 2 x′i = xi j=1 xj , т. е. входные сигналы лежат на поверхности единичной гиперсферы. В нормальном функционировании карта Кохонена выполняет соотнесение входного сигнала к одному из известных классов (соответствующему нейрону слоя) — на предъявление входного сигнала возбуждается один, и только один, нейрон. Каждый нейрон слоя Гроссберга при нормальном функционировании фактически выдает величину веса, связывающего его с ненулевым нейроном слоя Кохонена. Для обучения сети веса слоя Кохонена инициализируются случайными значениями из области (−1, 1), а веса слоя Гроссберга — нулевыми значениями. Обучение слоя Гроссберга осуществляется аналогично обучению выходного слоя в процедуре обратного распространения. Карта Кохонена является самоорганизующейся, обучается без учителя, и на каждой итерации обучения корректируются веса только того нейрона, который дал максимальный выход для поданного входного сигнала, — нейрон-победитель. Если i — индекс нейрона-победителя, и n — размерность нейрона (размерность входа), то для каждого веса победившего нейрона осуществляется корректировка на величину ∆wij = η (x − wij ), j = 1, 2, ... , n. Сеть встречного распространения является простой, распространенной, хорошо изученной, эффективной и удобной структурой для решения задач распознавания зашумленных образов фиксированной размерности, как искусственного, так и естественного [real-life domains] происхождения. К минусам можно отнести неэффективное использование памяти слоя Кохонена, поскольку в принятии решения участвует только один нейрон из всего слоя. Также к минусам можно отнести потерю общности сети в случае, если похожие входные образы принадлежат к разным классам. 5.4. Искусственные нейронные сети и их обучение 251 5.4.6. Сети с обратными связями. Некоторые из конфигураций сетей с обратными связями носят название сетей Хопфилда — см. рис. 5.11. Сеть (нейронный слой) с обратными связями представляется матричным дифференциальным уравнением и является динамическим. Слой является устойчивым, если для любого входного сигнала после приемлемого количества итераций выход слоя стабилизируется. Очевидно, теоретическое решение уравнения слоя должно быть устойчивым. Это достижимо в случаях, если матрица весов слоя обратной связи симметрична: W ∈ Matn×x = W ∗ , и имеет нули на главной диагонали ∀i ((i = 1, 2, ... , n) ⇒ (wii = 0)). Условие симметричности матрицы достаточно, но не всегда необходимо для устойчивости системы. В некоторых случаях незначительное отклонение от симметрии приводит к непрерывным угасающим осцилляциям выходного сигнала. Рис. 5.11. Значение выхода нейронного слоя NETi = P wji OUTj + xi , где j6=i X = (x1 , ... , xm ) — входной вектор. Значение выхода сети OUTi = = F (NETi ). Считается, что сеть приняла стабильное состояние на i-й итерации, если на каждой следующей итерации изменение выхода сети меньше некоторого фиксированного значения: X m h i2 j i 2 ∀j ∃ε > 0 (j > i) ⇒ . OUTk − OUTk < ε k=1 252 Гл. 5. Приобретение знаний и машинное обучение Сети с обратными связями реализуют ассоциативную память, что проявляется в способности восстановить выходной сигнал по неполному или искаженному входному сигналу. Для этого на вход обученной сети с обратными связями подается распознаваемый сигнал. После первого прохода вычислений входной сигнал снимается (подается нулевой вектор: kXk = 0) и сети́ предоставляется возможность «релаксировать», итерационно приближаясь к ближайшему минимуму функции энергии. В отличие от сетей без обратных связей, обучение сети Хопфилда реализуется за 1 итерацию, но получение результата распознавания связано с итерационным процессом стабилизации выходного значения. При детерминированном изменении состояния нейронов классические сети Хопфилда имеют тенденцию стабилизироваться в локальных минимумах. Машина Больцмана (Boltzmann machine), являющаяся развитием сетей Хопфилда, преодолевает этот недостаток путем стохастического (вероятностного) изменения весов нейронов. При фиксированной температуре распределение энергии системы определяется вероятностным фактором Больцмана e−E/kT , где E — энергия системы, k — постоянная Больцмана, T — «температура» системы. Такой процесс напоминает процесс отжига металла. Машина Больцмана имеет непрерывный аналоговый вход X и ассоциированный с ним двоичный выход. Для реализации вводится вероятность изменения веса как функция от величины превышения выходом нейрона его порога. Пусть Ek = NETk − θk , где θk — порог 1 активации k-го нейрона. Тогда pk = , где T — искусствен−δE /T 1+e k ная температура системы. На стадии функционирования температуре T приписывается большое значение, на вход системы подается входной вектор X и выходу каждого из нейронов с вероятностью pk приписывается значение 1, и с вероятностью 1 − pk значение 0. Процесс повторяется с постепенным понижением температуры до стабилизации системы. Обобщенный метод обучения статистических сетей Хопфилда не гарантирует устойчивости системы. Статистические сети Хопфилда с успехом реализуют процедуру аналого-цифрового преобразования (для непрерывного входного сигнала и дискретного порогового выхода со значениями OUTi = {0, 1}). Кроме того, сети Хопфилда являются удачной эвристикой для решения «задачи коммивояжера» (транспортной задачи). Граф маршрутов отображается на вычислительную сеть с большой крутизной активационной функции, в которой каждый узел представлен n нейронами (где n — общее количество узлов), выход одного, и только одного из которых равен 1 (остальные имеют значение 0). Порядковый номер 253 5.4. Искусственные нейронные сети и их обучение нейрона в группе определяет порядковый номер, в котором данный узел посещается при обходе графа. Каждому нейрону приписываются два индекса (индекс узла и индекс порядка посещения), например, значение OUTij = 1 говорит о том, что узел i является j-м по порядку в маршруте. Функция энергии должна накладывать следующие ограничения: • В каждой группе нейронов есть один, и только один возбужденный нейрон. • Предпочтение отдается маршрутам с наименьшей длиной пути. То есть, E1 = A/2 XXX i + B/2 XX X i E2 = 1/2D OUTXi OUTXj + X j6=i XX X i OUTXi OUTY i + C/2 X Y 6=X " XX X OUTXi i ! #2 −n , dXY OUTXi (OUTY ,i+1 + OUTY ,i−1 ), X Y 6=X где dXY — вес дуги между узлами X и Y , E = E1 + E2 . Большие значения A, B и C гарантируют корректность решения, а большое значение D — поиск маршрута с меньшим весом. Начальная настройка весов сети имеет вид wXi,Y j = −AλXY (1 − λij ) − Bλij (1 − λxy ) − C − Dλxy (λj,i+1 + λj,i−1 ), где λij = ( 1 ⇔ (i = j), 0 ⇔ (i 6= j), активационная функция F (NET) = 1 . NET 2 1 + th u0 Данным способом была произведена попытка решить систему для графа с 10 узлами. В сравнении с полным перебором, решения были найдены гораздо быстрее, все оказались допустимыми и около 50 % решений было оптимальными. Как и все нейронные сети, сети Хопфилда позволяют легко распараллеливать процесс вычисления как в аналоговых, так и на цифровых 254 Гл. 5. Приобретение знаний и машинное обучение реализациях, что повышает скорость вычисления. Кроме того, сложность задачи (например для задачи коммивояжера) растет квадратично с ростом размерности, а не экспоненциально, как при полном переборе). К явным недостатком сетей Хопфилда можно отнести неэффективное использование нейронной памяти: практически доказано, что количество запоминаемых ассоциаций не может превоходить размерность сети, а на практике это значение близко к 0,15 N , где N — размерность сети. Глава 6 ПРИОБРЕТЕНИЕ ЗНАНИЙ И АНАЛИЗ ТЕКСТОВ Введение Извлечение из текста знаний предполагает выявление в тексте не только лингвистических, но и, в самом широком смысле этого слова, логических отношений на языковых объектах. Выявлением таких отношений занимаются различные методы семантического анализа текста. Таким образом, основой методов извлечения знаний из текста являются методы семантического анализа. Достижения отечественной лингвистики в области семантики хорошо известны. Роль глобальной модели языка стала выполнять модель «Смысл–Текст» И. А. Мельчука, А. К. Жолковского и Ю. Д. Апресяна [127, 128]. Развитие работ в этом направлении дает полное основание говорить о существовании самостоятельного направления в семантике, известного как Московская семантическая школа [129]. В западной, главным образом, американской лингвистике семантика неразрывно связана с генеративной грамматикой и, в основном, изучает значения сложных категорий типа предложения. В этих исследованиях важную роль приобретает синтаксис, так как единицами интерпретации служат именно синтаксические категории. Иначе говоря, имеется ввиду, что значение сложного выражения представляется совокупностью значений его составных частей [128]. В лингвистике слову «семантика» соответствуют два близких, но различных понятия [122]. В первом случае под семантикой понимается значение — информация, связываемая со словом конвенционально (например, в толковом словаре), во втором — совокупность ассоциаций и коннотаций, связываемых со словом в сознаниях коммуникантов. Хотя каждая из этих двух ипостасей с равным правом претендует на то, чтобы быть предметом семантики, здесь мы зафиксируем понимание семантики в первом смысле. Тогда основная цель излагаемых в параграфах 6.3 и 6.4 методов автоматического семантического анализа — переход от значений отдельных, по возможности, минимальных синтаксических единиц к значениям (или семантическим образам) высказываний, при этом значение высказывания, как мы увидим ниже, может быть не простой совокупностью значений его составных частей, а устроено более сложным образом. 256 Гл. 6. Приобретение знаний и анализ текстов Опишем весьма кратко работы, оказавшие наиболее значительное влияние на развитие лингвистической семантики. Работы Кембриджского лингвистического кружка. Первая попытка разработать язык представления семантики языка была предпринята, по-видимому, Кембриджским лингвистическим кружком. Участниками кружка был разработан язык-посредник, задачей котороо являлось отождествление семантической информации, независимо от языка ее выражения. Язык-посредник включал классификаторы имен элементарных смыслов и правила построения из них формул. Классификаторы объединялись в шаблоны, каждый из которых представлял класс элементарных ситуаций. Текст разбивался на фрагменты, каждый их которых записывался формулой языка-посредника, затем во фрагментах выполнялся поиск шаблонов. В завершение этого процесса выполняется выбор наиболее предпочтительной последовательности шаблонов, иначе говоря, снятие многозначности. Семантическое тождество текстов проверялось совпадением соответствующих им шаблонов. Недостатком предложенного языка-посредника являлась общность ситуаций, описываемых шаблонами, его лексическая и семантическая бедность. Трансформационная грамматика Хомского. Трансформационная грамматика Хомского [123] представляет собой механизм, порождающий все грамматически правильные предложения языка. Целью такой грамматики является способность отличать грамматически правильные предложения от грамматически неправильных, причем под грамматической правильностью не имелась ввиду «осмысленность» или «значимость» в каком бы то ни было семантическом понимании. Трансформационная грамматика состоит из трех частей. 1. Уровень непосредственно составляющих представляет собой последовательность правил X → Y , каждое из которых означает «вместо X подставить Y », например: Sentence → NP + VP, NP → T + N, VP → Verb + NP, T → the, N → man, ball и т. д., Verb → hit, took и т. д. 2. Трансформационный уровень состоит из следующих правил: T1 : Если S1 и S2 — грамматически правильные предложения и S1 отличается от S2 только тем, что Y появляется в S2 там, где X появляется в S1 , причем X и Y — суть составляющие одного типа, то S ∗ — результат подстановки X и Y в S1 вместо X — есть предложение. Введение 257 T2 : Если S — грамматически правильное предложение вида N P1 − Aux − V − N P2 , то цепочка вида N P2 − Aux + be + en − V − by − N P1 является также грамматически правильным предложением. T3 : (I) C → S в контексте N Psing , C → ∅ в контексте N Ppl , C → past, C → ing. (II) Пусть Af есть любой из аффиксов past, S, ∅, en, ing. Обозначим через v любой из элементов M , V , have, be (т. е. любой неаффикс в группе Verb). Тогда Af + v → v + Af #, где символ # означает границу слова. (III) Подставить # вместо + во всех случаях, за исключением контекста v — Af. Вставить # в начале и в конце цепочки. 3. Морфофонемный уровень устанавливает фонемную структуру морфем и состоит из правил следующего вида: (I) walk → [w∂k], (II) take + past → [tuk], (III) past → [d], (IV) take → [teyk] и т. д. Построение предложения начинается с Sentence. Применяются правила уровня непосредственных составляющих, строится терминальная цепочка, которая представляет собой последовательность морфем, расположенных не обязательно в правильном порядке. Затем применяется последовательность трансформаций, которые могут добавить морфемы и изменить их порядок. Затем применяются морфофонемные правила, обращающие цепочку слов в последовательность фонем. Дальнейшее развитие теории трансформационной грамматики привело к учету дополнительной семантической информации о словах, что позволило, в частности, решать следующие дополнительные задачи: • запись с помощью семантических компонентов значения порождаемых предложений; • обнаружение семантических аномалий; • установление отношения равнозначности между предложениями. 9 Г. С. Осипов 258 Гл. 6. Приобретение знаний и анализ текстов Главным недостатком трансформационной грамматики является то, что по своей природе она порождающая, т. е. подходит больше для синтеза предложений и текстов и менее применима при решении обратной задачи — автоматического семантического анализа текстов на естественных языках. Формальная семантика Монтегю. Формальная семантика является результатом синтеза математической логики и лингвистики. Ее главный основатель, Ричард Монтегю [124], исходил из предположения, что формальные и естественные языки существенным образом не различаются с теоретической точки зрения, поэтому он предпринял попытку разработки формального логического языка, который, по его мнению, может рассматриваться как фрагмент обычного английского языка. За основу формальной семантики Монтегю взято исчисление предикатов, расширенное интенсиональной логикой, включающей: • лямбда-исчисление; • расширенную структуру типов; • типы функций, играющие важную роль в интенсиональной логике; • структуры возможных миров и моментов времени. Синтаксис интенсиональной логики. Синтаксическими категориями выражений интенсиональной логики служат типы. Базовые типы. • e (сущности); • t (истинностные значения). Функциональные типы. Если a, b — типы, то ha, bi — тоже тип (тип функций из множества элементов типа a в множество элементов типа b. Интенсиональные типы. Если a — тип, то hs, ai — тоже тип (тип функций из множества возможных миров в множество элементов типа a). Непосредственно сам синтаксис интенсиональной логики представляет собой правила задания множества M ea «осмысленных выражений типа a»: 1: Всякая константа типа a принадлежит M ea . 2: Всякая переменная типа a принадлежит M ea . 3: Если α ∈ M ea и u — переменная типа b, то λu[α] ∈ M e<b,a> . 4: Если α ∈ M e<a,b> и β ∈ M ea , то α(β) ∈ M eb . 5: Если α, β ∈ M ea , то (α = β) ∈ M et . 6: Если ϕ, ψ ∈ M et и u — переменная некоторого типа, то ¬ϕ, (ϕ & ψ), (ϕ ∨ ψ), (ϕ → ψ), (ϕ ↔ ψ), ∃uϕ, ∀uϕ, ϕ ∈ M et (ϕ означает «необходимо, что ϕ»). Введение 259 7: Если α ∈ M ea , то [∧ α] ∈ M e<s,a> . 8: Если α ∈ M e<s,a> , то [∨ α] ∈ M ea . Семантика интенсиональной логики. Модель интенсиональной логики представляет собой тройку hD, W , Ii, где D — множество сущностей, W — множество возможных миров, I — интерпретация. Выражения типа a получают значения в множестве Da . Такие множества задаются рекурсивно следующим образом: De = D; Dt = {0, 1}; D<a,b> = {f |f : Da =→ Db } (т. e. множество всех функций f из Da в Db ); D<s,a> = {f |f : W → Da } (т. e. множество всех функций f из W в Da ). Интерпретация конструкций интенсиональной логики использует (как в исчислении предикатов) множество G оценок g — функций из множества переменных всех типов в соответствующие множества значений. Имеют место следующие семантические правила: 1: Если α — константа, то kαkM,w,g = I(α)(w). 2: Если α — переменная, то kαkM,w,g = g(α). 3: Если α ∈ M ea и u — переменная типа b, то kλu[α]kM,w,g обозначает функцию f типа b → a такую, что для любого элемента d типа b, f (d) = kϕkM,w,g[d/u] . 4: Если α∈M e<a,b> и β ∈M ea , то kα(β)kM,w,g =kαkM,w,g (kβkM,w,g ). 5: Если α, β ∈ M ea , то k(α = β)kM,w,g = 1 тогда и только тогда, когда kαkM,w,g = kβkM,w,g . 6: Если ϕ, ψ ∈ M et и u — переменная некоторого типа, то k¬ϕkM,w,g = 1 тогда и только тогда, когда kϕkM,w,g = 0. k(ϕ & ψ)kM,w,g = 1 тогда и только тогда, когда kϕkM,w,g = 1 и kψkM,w,g = 1. k(ϕ ∨ ψ)kM,w,g = 1 тогда и только тогда, когда kϕkM,w,g = 1 или kψkM,w,g = 1. k(ϕ → ψ)kM,w,g = 1 тогда и только тогда, когда kϕkM,w,g = 0 или kψkM,w,g = 1. k(ϕ ↔ ψ)kM,w,g = 1 тогда и только тогда, когда kϕkM,w,g = = kψkM,w,g . (∀u) : k∀uϕkM,w,g = 1, если для каждого d ∈ D имеет место kϕkM,w,g[d/u] = 1. (∃u) : k∃uϕkM,w,g = 1, если существует элемент d ∈ D такой, что kϕkM,w,g[d/u] = 1. 7: Если α ∈ M ea , то k[∧ α]kM,w,g обозначает функцию h типа hs, ai ′ такую, что для любого w′ из W имеет место h(w′ ) = kαkM,w ,g . 8: Если α ∈ M e<s,a> , то k[∨ α]kM,w,g = kαkM,w,g (w). 9* 260 Гл. 6. Приобретение знаний и анализ текстов Семантические падежи Филлмора. Ч. Филмор в 1966 г. [125, 126] предложил предикатно–аргументный синтаксис, описывающий универсальные глубинные структуры языка и правила перевода глубинных структур в поверхностные, которые реализуются в каждом языке посвоему. Ключевое место в подходе Филлмора занимает понятие падежа, который выражает роль аргумента в предикате. Роль — элемент глубинной структуры, а падеж служит средством ее выражения. Согласно Филлмору «смыслы падежей образуют набор универсальных, возможно врожденных, понятий, идентифицирующих некоторые типы суждений, которые человек способен делать о событиях, происходящих вокруг него,— суждений о вещах такого рода, как «кто сделал нечто», «с кем нечто случились», «что подверглось некоему изменению» ». В число падежей, представлявшихся необходимыми, входили: • Агентив (A) — падеж обычно одушевленного инициатора действия, идентифицируемого с глаголом. • Инструменталис (I) — падеж неодушевленной силы или предмета, который включен в действие или состояние, называемое глаголом, в качестве его причины. • Датив (D) — падеж одушевленного существа, которое затрагивается состоянием или действием, называемым глаголом. • Фактитив (F ) — падеж предмета или существа, которое возникает в результате действия или состояния, называемого глаголом, или которое понимается как часть значения глагола. • Локатив (L) — падеж, которым характеризуется местоположение или пространственная ориентация действия или состояния, называемого глаголом. • Объектив (O) — семантически наиболее нейтральный падеж, падеж чего-либо, что может быть обозначено существительным, роль которого в действии или состоянии, которое идентифицируется глаголом, определяется семантической интерпретацией самого глагола. Естественно, этот падеж бывает только у названий вещей, которые затрагиваются состоянием или действием, идентифицируемым глаголом. Объектив не надо путать ни с понятием прямого дополнения, ни с именем поверхностного падежа, являющимся просто синонимом для аккузатива. Между ролями и падежами нет взаимнооднозначного соответствия, поэтому: а) один падеж может выражать несколько ролей; б) одна и та же роль может выражаться несколькими падежами. Филлмор вводит понятие падежного фрейма, функция которого состоит в том, чтобы «перекинуть мостик между описаниями ситуаций и глубинными синтаксическими представлениями». Падежный фрейм Введение 261 приписывает семантико-синтаксические роли конкретным участникам реальной или воображаемой ситуации, отображаемой предложением. Подбор глагола для выражения ситуации зависит от конкретного набора падежей, падежного фрейма, представленного в данном предложении. Например, глаголу «бежать» может соответствовать фрейм [A], глаголу sad «(быть) грустным» — фрейм [D], глаголам типа remove «убивать» и open «открывать» — фрейм [O + A], глаголам типа murder «убивать» и terrorize «терроризировать» (т. е. глаголам, требующим «одушевленного субъекта» и «одушевленного объекта») — фрейм [D + A], глаголам типа give «давать» — фрейм [O + D + A] и т. д. Многие глаголы могут выступать в более чем одном определенном падежном окружении, например, глагол open «открывать» может выступать и в контексте [O], как в предложении 1; и в контексте [O + A], как в предложении 2; и в контексте [O + I], как в предложении 3; и, наконец, в контексте [O + I + A], как в предложении 4: (1) The door opened. Дверь открылась. (2) John opened the door. Джон открыл дверь. (3) The wind opened the door. Ветер открыл дверь. (4) John opened the door with a chisel. Джон открыл дверь стамеской. Сокращенные формулировки, называемые признаками, должны задавать в словарных статьях глаголов множество падежных фреймов, в которые может быть вставлен данный глагол. По мысли Филлмора, словарь является одним из главных средств задания глубинных ролевых структур и правил перевода их в поверхностные структуры. В связи с этим он предлагает существенно расширить объем информации, помещаемой в словарь для глаголов и изменить форму ее подачи. Ниже с некоторыми упрощениями приведен пример разработанной Филлмором словарной статьи: Blame 1. «осуждать»: аргументы: падежи (роли): Предлоги: — Речь (т. е. blame — не глагол речи) X, Y , Z Источник и Пациенс, Адресат, Объект by, on, for (by — предлог X в пассивной конструкции; on — предлог Y в конструкции blame something on somebody; for — предлог Z в конструкции blame somebody for something) Предложенные Филлмором падежные фреймы достаточно просто формализуют семантику описываемых предложением ситуаций, что позволяет легко реализовать сравнение рамок двух предложений в ходе семантического поиска. Основной задачей в ходе семантического анализа текста является определение падежных фреймов, соответствующих предложениям, и здесь остается открытым вопрос о достаточно 262 Гл. 6. Приобретение знаний и анализ текстов точном методе установления ролей в ходе автоматического анализа текста (см. выше о неоднозначном соответствии падежей и ролей), тем более, что в разных языках категория падежа реализуется посвоему. Даже если будет создан полный и подробный словарь глаголов, описывающий их предикатно-аргументные структуры, остается ряд нетривиальных задач, таких как, например, разрешение падежной многозначности в русском языке и прочих. Семантические исследования Филлмора оказали большое влияние на развитие методов компьютерного семантического анализа текстов на естественных языках. Модель «Смысл-Текст». Важной вехой в исследовании семантики естественного языка явилась модель «Смысл-Текст». Основанием этой теории служат излагаемые ниже положения [127, 128]. 1. Синонимия языковых выражений возникает не только за счет лексических синонимов в собственном смысле слова, но и за счет многих других средств языка. Лексически различные единицы могут быть 1) синтаксическими вариантами выражения одного и того же значения, например, Выдвигая проект, Англия поставила условие = Когда Англия выдвигала проект, она поставила условие = При выдвижении проекта Англия поставила условие; 2) лексически обусловленными вариантами выражения одного и того же значения, например, оказывать {влияние}, но производить {впечатление}; 3) словами, по-разному ориентирующими описываемую ситуацию относительно ее участников, например A имеет B = B принадлежит A, A несмотря на B = B, однако A; 4) некоторыми типами производных, в том числе супплетивных, например, A принадлежит B = A — владелец B = B — собственность A. Для того чтобы точно описать существо и меру всех семантических сходств и тождеств лексически различных слов, был предложен специальный язык — язык семантических множителей. Под множителями понимались элементарные смыслы, различные комбинации которых соответствуют сложным лексическим значениям слов естественного языка (взять = «сделать так, чтобы иметь самому», дать — «сделать так, чтобы имел другой», получить = «быть объектом действия «дать»», сохранить = «не перестать иметь» и т. д.). Перечисленные средства позволяют изображать в явном виде (сведением к одной и той же семантической записи) синонимичность внешне очень различных предложений естественного языка. Язык множителей позволял по-новому определить понятие значения, под которым понимается семантиче- Введение 263 ский инвариант множества преобразуемых друг в друга предложений, и давал основание думать, что путем последовательного разложения сложных значений на более элементарные компоненты можно получить ограниченное число более или менее универсальных значений, годных для описания семантики любых естественных языков. 2. В свое время было замечено, что разнообразие синтаксических систем разных языков создается за счет разнообразия сложных синтаксических структур, возникающих в результате преобразования простейших ядерных структур. Число же ядерных структур невелико, а сами ядерные структуры более или менее универсальны, т. е. встречаются в значительном числе языков мира или во всех языках. По-видимому, элементарные значения отличаются тем же свойством: чем элементарнее значение, тем больше круг языков, в которых оно может иметь однословное выражение, и тем больше вероятность того, что оно действительно выражается таким образом, а элементарные значения однословно представлены, видимо, в большинстве языков мира. Разнообразие семантических систем разных языков возникают на уровне комбинаций элементарных значений. 3. Объектом толкования является в общем случае не отдельно взятое слово, а целая ситуационная, или сентенционная форма, содержащая, помимо толкуемого предиката, переменные, которые обозначают участников описываемой данным предикатом ситуации. Объясняется это тем, что значение многих слов нельзя истолковать иначе, как в составе такой формы. 4. Понятие лексической функции играет ключевую роль в модели семантического синтеза. Под лексической функцией (ЛФ) понимается функция, ставящая в соответствие данному слову или словосочетанию X другое слово или словосочетание Y , определенным образом связанное с X по смыслу. Выделяются два типа ЛФ: лексические замены и лексические параметры. Лексические замены — это функции, ставящие в соответствие данному слову X такое слово Y , лексическое значение которого (в переводе на семантический язык) совпадает, целиком или частично, с лексическим значением X (семантическая связь на парадигматической оси языка). При этом синтаксические свойства Y могут существенно отличаться от синтаксических свойств X. Как следует из приведенного выше определения, лексические замены суть средства равнозначного перефразирования, т. е. средства лексической синонимии в широком смысле слова. К их числу относятся собственно синонимы (Syn), конверсивы (Conv) и чисто синтаксические дериваты (So, Ао, Adv0, Vo), т. е. производные другой части речи, полностью сохраняющие лексическое значение исходного слова, ср. двигаться — движение, рожать — роды, (быть) белый — белизна (So); 264 Гл. 6. Приобретение знаний и анализ текстов строить — строительный, республика — республиканский, карты — карточный (Ао); быстрый — быстро, смысл — по смыслу, большой — очень (Adv0); строительный — строить, любовь — любить (Vo). Если лексические замены ставят в соответствие слову X другое слово Y , семантически связанное с X на парадигматической оси языка, то лексические параметры ставят в соответствие данному слову X такое слово Y , которое семантически связано с X на синтагматической оси языка. Например, было замечено, что пары слов типа собака — лаять, ножницы — стричь, рука — хватать, пища — есть, одежда — надевать и др. находятся в синтагматических смысловых отношениях. Примером лексического параметра может служить Magn («очень», «высокая степень»). Magn синтагматически сочетается со словами разговорной речи, например, Magn (дурак) = круглый, Magn (oшибка) = грубая, Magn (тишина) = гробовая, Magn (тьма) = кромешная. Вводятся функции-параметры Oper, Func, Labor и прочие. Чтобы понять сущность некоторых из этих параметров, рассмотрим ситуацию, обозначаемую словом влияние. В этой ситуации принимают участие два действующих лица: A — первый участник, тот, кто влияет, и B — второй участник, тот, на кого влияют. Тогда Орег1 (влияние) = оказывать (A оказывает влияние на B), Орег2 (влияние) = быть под, находиться под, испытывать, подвергаться (B находится под влиянием A, B испытывает влияние). Теория «смысл-текст» нашла свое практическое приложение в компьютерной системе ЭТАП [Апресян и др., 1989]. Эта система может выполнять перифразирование предложений на русском языке и решать задачи автоматического перевода 1). Неотъемлемой частью системы ЭТАП является комбинаторный словарь русского языка, который содержит всю лингвистическую информацию о лексемах, включая лексические функции и их значения. Приведем в качестве примера фрагменты статей русского комбинаторного словаря, содержащие описание лексических функций и их значений для слов контроль, надежда и просьба. КОНТРОЛЬ ANTI: бесконтрольность V0: контролировать MAGN: строгий / надежный / неослабный / особый / жесткий ANTIMAGN: слабый OPER1: осуществлять INCEPOPER1: устанавливать hнадi / устанавливать hза2i / налаживать hза2i 1) См. демонстрационную версию переводчика http://proling.iitp.ru/etap/ index.html Введение 265 FINOPER1: утрачивать / терять LIQUOPER1: лишать OPER2: быть hпод2i / находиться hпод2i / подвергаться INCEPOPER2: попадать hпод1i / оказываться hпод2i FINOPER2: выходить hиз-подi LIQUOPER2: освобождать hотi / выводить3 hиз-подi LABOR1-2: держать hпод2i INCEP LABOR1-2: брать hпод2i / ставить hпод2i FINLABOR1-2: выпускать hиз-подi LIQUFUNC2: отменять hнадi НАДЕЖДА SYN1: упование, чаяние ANTI: отчаяние / безнадежность FIGUR: луч / проблеск / искра [ср. луч надежды] V0: надеяться S2: надежда 2 [ср. Он — моя единственная надежда] MAGN: твердый [ср. Он подал мне твердую надежду, что . . .] ANTIMAGN: небольшая / слабая / шаткая / робкая BON: радужная VER: обоснованная ANTIVER: напрасная / тщетная / несбыточная OPER1: питать / лелеять / тешиться OPER1-NS: возлагать INCEPOPER1: обретать FINOPER1: терять / оставлять FINFUNC0: испаряться / улетучиваться / угасать / развеиваться LIQUFUNC0: развеивать INCEPFUNC1: появляться hуi / рождаться hуi / возникать hуi FINFUNC1: покидать / испаряться hуi / улетучиваться hуi / угасать hуi CAUSFUNC1: вселять hв1i / внушать FACT0-M: сбываться / оправдываться ANTIFACT0-M: разбиваться / лопаться / развеиваться LIQUFACT0-M: развеивать ПРOCЬБА ANTI: требование V0: просить SYN1: прошение / ходатайство / мольба MAGN: большая / огромная MAGN-NS1: убедительная MAGN-NS2: настойчивая ANTIMAGN: небольшая / маленькая / скромная 266 Гл. 6. Приобретение знаний и анализ текстов VER: разумная ANTIVER: неразумная LABOR1-3: обращаться hс3i CAUSOPER3: обременять FUNC2: заключаться hв2i / состоять hв2i REAL3-M: выполнять ANTIREAL3-M: отклонять / отказывать hв2i 6.1. Коммуникативная грамматика русского языка 6.1.1. Минимальные синтаксические единицы — синтаксемы. Лингвистические идеи описываемого ниже подхода лежат в коммуникативной грамматике русского языка [121, 132], способом представления знаний являтся неоднородные семантические сети, введенные нами в первой главе. Коммуникативная грамматика русского языка основана на связи синтаксиса и семантики. Синтаксис как наука изучает средства и способы построениия связной речи и прежде всего ее коммуникативных единиц — предложений. Слова-лексемы, единицы словарного состава языка в совокупности его конкретных грамматических форм еще не являются синтаксическими единицами и не передают смысл высказывания. Так, например, в локативных формах в лесу, за лесом, над лесом, из леса, из-за леса, возле леса актуализируется значение места, в творительном пути движения лесом — значение протяженности пространства, в объектных формах губить лес, рубить лес, сажать лес, любоваться лесом актуализируется предметное значение. В каждом из этих значений различные синтаксические единицы от слова лес могут объединяться с синтаксическими единицами от других слов (в саду, в комнате), создавая обобщенный тип. Синтаксемой называется минимальная семантико-синтаксическая единица русского языка, выступающая одновременно как носитель элементарного смысла и как конструктивная компонента более сложных синтаксических построений [132]. В рассмотренных примерах синтаксемами (с локативным значением) являются «в + предл. падеж» и «за + твор. падеж», со значением пути движения «твор. падеж» и др. С другой стороны, в предложении «Старик (мальчик, рыбак) ловил неводом рыбу», имя старик невозможно заменить на имя, например, свисток — это разрушит предложение. Это значит, что для объединения синтаксем в типы и приписывания им обобщенных значений необходимо учитывать их категориальное значение. Слова старик, мальчик, рыбак имеют такое общее категориальное значение — значение лица, 6.1. Коммуникативная грамматика русского языка 267 свисток же имеет категориальное значение предмета и не может выполнять функцию субъекта. Таким образом, кроме морфологической формы слова решающую роль играет обобщенное значение, т. е. категориально-семантический класс слова. Обобщенное значение определяет синтаксические возможности слова и способы его функционирования. Таким образом, синтаксис имеет дело с осмысленными единицами, несущими свой не индивидуально-лексический, а обобщенный, категориальный смысл в конструкциях разной степени сложности. Эти единицы — синтаксемы — характеризуются взаимодействием морфологических, семантических и функциональных признаков. В конкретном предложении слово выступает в качестве единицы смысла именно как синтаксема. Значение слова, передаваемый им элементарный смысл, складывается в результате соединения категориального значения и морфологической формы и реализуется в определенной синтаксической позиции. Изолированное рассмотрение слова, в отрыве от текста, не позволяет установить его синтаксическое значение. В предложении синтаксемы объединяются в сложные конструкции по правилам коммуникативной грамматики для передачи смысла всего высказывания. Выделив в тексте синтаксемы, установив значения, которые они могут принимать, отношения на множестве значений, можно выявить смысл всего текста. Ограничившись здесь лишь именными синтаксемами, уточним, что именная синтаксема представляется в тексте именной или предложной группой — словосочетанием с существительным или предлогом в качестве управляющего слова. Именная синтаксема характеризуется морфологической формой — предлогом, падежом, и категориальносемантическим классом существительного, от которого она образована. Значение синтаксемы и есть тот элементарный смысл, который передается синтаксемой. Таким образом, основополагающая идея коммуникативной грамматики состоит в том, что синтаксис должен изучать осмысленную речь, а синтаксические правила должны учитывать категориальные значения слов, чтобы иметь возможность определять обобщенный смысл любой синтаксической конструкции — от слова до словосочетания и простого предложения. В конкретном тексте слово выступает уже как синтаксема, т. е. выступает в определенной синтаксической функции, в определенной грамматической форме, реализует только одно из возможных значений, которые может принимать данное слово в предложении. 6.1.2. Категориальная семантика лексических единиц. Для повышения точности определения значения синтаксемы, как уже было 268 Гл. 6. Приобретение знаний и анализ текстов сказано, существенное значение имеет категориальная семантика как существительных, так и глаголов. Категориальная семантика существительных. Рассмотрим пример: выступление президента в Думе. Одно из слов в предложении — президент. Одно из лексических значений этого слова: «1. В странах с республиканской формой правления: глава государства». В процессе анализа важно установить именно это значение. Но этого недостаточно. В приведенном примере слово президент реализует значение агенса (производителя действия). Слово президент способно передавать это значение потому, что обладает категориальным значением лица, способного целенаправленно действовать, мыслить (ср. невозможность реализации этого значения существительными других семантико-грамматических классов выступление стакана, года, звездопада в Думе). Существительное президент как личное существительное в разных синтаксических конструкциях может выражать значения: • субъекта в разного рода моделях: субъекта действия (президент подписал указ), субъекта состояния (у президента болит голова), субъекта-посессора (у президента есть сын) и т. д.; • объекта (доверять президенту); • адресата (обращение к президенту); • делиберата (говорить о президенте); • комитатива (Патриарх с президентом зашли в храм); • предиката (в квалификативных моделях: Иванов — президент страны) и другие. Таким образом, значение синтаксемы складывается в результате соединения категориального значения и морфологической формы, реализуется в определенной синтаксической позиции. Как отмечено выше, одним из ключевых этапов лингвистического анализа является получение информации о значении синтаксемы. Для этого необходимы сведения о категориальной семантике имени существительного, морфологической форме и синтаксической позиции. Что понимается под категориальной семантикой? И каким образом в процессе лингвистического анализа извлекается информация об этой характеристике синтаксемы? Категориальная семантика — это обобщенное значение, которое характеризует слова, принадлежащие к одному категориальному классу (например, классу лиц, предметов, разного рода признаков для имен существительных). Выделены следующие категориально-семантические классы существительных: личные, предметные, пространственные, признаковые, 6.1. Коммуникативная грамматика русского языка 269 темпоративные, имена со значением количества, имена со значением параметра измерения, имена со значением единиц измерения. Определение категориальной семантики некоторых существительных: одушевленные–неодушевленные, предметные признаковые, темпоративы, локативы–директивы, прочие. При этом: 1. Одушевленные (личные) существительные и часть локативов (географические названия) определяются по результатам морфологического анализа. 2. Темпоративы и локативы определяются по результатам поиска в специальном словаре (который должен храниться в базе данных). 3. Признаковые существительные определяются по результатам анализа финальных частей слов. 4. Все остальные сществительные считаются предметными. Таким образом, различаются следующие значения признака «категориальная семантика существительного»: — личное, — предметное, — признаковое, — темпоратив, — локатив. Можно выделить в отдельную группу собирательные существительные (со значением группы лиц). Для автоматического определения категориальной семантики класса имени существительного используется несколько приемов. В их числе: 1) опора на морфологию: в первую очередь это позволяет выделить личные имена; 2) опора на морфемный состав: для признаковых имен созданы списки аффиксов; 3) список — для тех классов, которые представляют собой относительно компактные группы. Для базовых моделей предложения необходимо соответствие категориального значения части речи и семантики предиката. Категориальная семантика глаголов. Категориальная семантика глаголов и других предикатных слов отражается в словаре предикатных слов — ядре реляционно-ситуационного анализатора. 270 Гл. 6. Приобретение знаний и анализ текстов Теоретической основой построения такого словаря служит семантико-грамматическая классификация глаголов по Г. А. Золотовой [132]. Классификация учитывает категориальную семантику глагола (глагольного класса); его грамматические характеристики (состав парадигмы глагола; характер субъекта при глаголе: личный / предметный / пропозитивный); а также функциональный аспект (конструктивные возможности в построении предложения). В общем виде эта классификация может быть представлена следующим образом: знаменательные — неполнознаменательные глаголы. Знаменательные глаголы делятся, прежде всего, на акциональные и неакциональные. Акциональные глаголы обозначают активное действие лица. Среди них глаголы физического действия (мыть, чистить, копать, бить, варить и пр.), глаголы перемещения, движения (ходить, бегать, летать, шагать и т. д.), речевого действия (говорить, рассказывать, сообщать, спращивать и др.), глаголы донативного действия, изменяющие поссесивные отношения (давать, брать, вручать, получать, дарить, обмениваться и т. д.), глаголы социальных интерсубъектных действий (играть с кем, ссориться, мириться, воевать, разводиться, здороваться и др.) Они обозначают действия, характеризуемые потенциальной наблюдаемостью, целенаправленностью, а также способностью к конкретновременной локализации; располагают наиболее богатыми конструктивными возможностями по сравнению с другими глагольными классами. Позицию субъекта при этих глаголах, как правило, занимают существительные, называющие лицо или живое существо. Второй подкласс акциональных глаголов составляют глаголы ментальных действий (думать, размышлять, анализироваь, решать, сображать, воображать, считать), глаголы восприятия (воспринимать, осознавать, ощущать, чувствовать, слушать, слышать, осязать). Для первой группы не характерна наблюдаемость, для второй — наблюдаемость и целенаправленность. Другие подклассы акциональных глаголов включают глаголы эмоцинального и физиологического действия, глаголы деятельности и способа поведения. За более подробным описанием этих классов мы отсылаем читателя к работе [132]. Неакциональные глаголы утрачивают часть морфологических и синтаксических глагольных свойств, присущих акциональным глаголам. В частности, многие из них имеют только форму третьего лица, не образуют форм императива, употребляются только в текстах определенного типа (коммуникативного регистра речи) — ср.: «Я внимательно смотрю, как ты уступаешь своему брату в начитанности». — 6.1. Коммуникативная грамматика русского языка 271 «Я прекрасно знаю, что ты уступаешь своему брату в начитанности». Среди неакциональных глаголов выделяются: • Глаголы состояния или статуальные глаголы. Они не обладают признаками активности и целенаправленности (страдать, тосковать, мерзнуть, спать, бодрствовать и др.). Позицию субъекта при этих глаголах могут занимать существительные, называющие лица, живые существа (она грустит); предметы (дом разрушается); среду, пространство, локус (на улице вечереет, темнеет). • Функтивные глаголы. Они обозначают не действие, а функционирование предмета или возможность функционировать как способ существования или осуществления предмета (телевизор работает; волны плещут, ветер воет). • Реляционные глаголы выражают разного рода отношения (локативные, партитивные, поссесивные, компаративные). • Компликаторы усложняют элементарную структуру предложения, входят в состав полипредикативных конструкций (определять, обуславливать, вести к, обеспечивать, зависеть от). Цена товара зависит от его качества. К ним относятся каузативные глаголы, обозначающие воздействие на лицо или предмет, в результате которого лицо совершает действие, изменяет состояния, предмет изменяет свое состояние, качество, местоположение (требовать ответа; просить помочь), и авторизующие глаголы, включающиеся в предложения, в которых взаимодействуют элементы модели сообщаемого содержания с элементами модели речемыслительного действия субъекта (оценки или восприятия): «Любимые всегда кажутся нам бессмертными» (Паустовский). Глаголы — логические связки, выражают причинно-следственные отношения, отношения обусловленности: «Точность мысли обусловливает точность выражений» (Флобер). Неполнознаменательные глаголы. Основное отличие их от знаменательных глаголов состоит в том, что они не способны самостоятельно выполнять функцию предиката. Модификаторы: они выполняют связочную функцию между субъектом и предикатом — связки (быть, являться), обозначают признак предиката, фазы его процессуального развития — фазисные глаголы (начать, стать, становиться, продолжать, прекращать, кончать), выражают модальное отношение между субъектом и предикативным признаком — модальные глаголы. Компенсаторы образуют предикат вместе с отвлеченными именами действия, состояния, качества. На имени лежит основная категориально-семантическая нагрузка, глагол дополнительно вербализует зна- 272 Гл. 6. Приобретение знаний и анализ текстов чение процесса или признака и выражает формально-грамматические значения предиката. (Самолет совершает посадку, Профессор проводит консультацию, Мальчик отличается впечатлительностью). Использование словаря глаголов, построенного с учетом указанных параметров, позволяет, в частности: — корректно определить модель предложения (которую организует тот или иной глагол), а также значение в модели, и, таким образом, осуществлять анализ по моделям предложений с определенным значением; — в ряде случаев разрешить проблему омонимии и, таким образом, сократить количество вариантов разбора. Пример. «Итоги голосования показывают слабость правых». Обратим внимание, что показывают — это компликативный глагол, соединяющий две ситуации, названные признаковыми именами существительными. 6.2. Реляционно-ситуационный анализ текста 6.2.1. Морфологический и синтаксический анализ. Морфологический анализ. На этапе морфологического анализа в тексте распознаются слова и разделители. Для каждого слова на основании его морфологии определяется список всех возможных грамматических форм. Словоформы, соответствующие одной нормальной (словарной) форме слова и одной части речи, а также стоящие в одном числе (для изменяющихся по числам частей речи), объединяются в группы, которые далее будем условно называть «лексемами» (хотя это и не лексемы в строгом лингвистическом смысле). Синтаксические зависимости между лексемами выявляются на следующем этапе анализа. Очевидно, одному и тому же слову может соответствовать несколько таких лексем. Например, для слова «и» будут определены варианты: союз, частица и междометие. Для того чтобы уменьшить результирующее число вариантов предложения, в настройки морфологического анализатора включен фильтр: для каждой части речи можно определить, будет ли она учитываться при дальнейшем анализе. Настройки по умолчанию позволяют полностью игнорировать междометия и игнорировать частицы, если есть варианты того же слова, относящиеся к другим частям речи. Следовательно, в примере с «и» останется единственный вариант — союз. Помимо грамматической информации для каждого слова запоминается также его смещение от начала текста и следующий за словом разделитель. Анализ разделителей позволяет обрабатывать переносы, разбивать текст на предложения, а предложения — на секции в соответствии со знаками препинания. При этом учитывается возможность появления разделителей внутри слов, например: дефисов, символов десятичной точки, разделителей дат и т. п. 6.2. Реляционно-ситуационный анализ текста 273 Таким образом, вход морфологического анализа представляет собой текст. На выходе получаем список предложений, каждое из которых представляет собой список слов. Каждое слово, в свою очередь, — список лексем. Синтаксический анализ. Прежде чем переходить к краткому описанию синтаксического анализа, напомним определение синтаксемы, следуя [129]. Синтаксемой называется минимальная синтактико-семантическая единица языка, несущая свой обобщенный категориальный смысл в конструкциях разной степени сложности и характеризующаяся всегда взаимодействием морфологических, семантических и функциональных признаков. Основной задачей синтаксического анализа является установление различных зависимостей между лексемами, выявленными на предыдущем этапе. В частности, это выделение синтаксем и именных групп, а также разрешение анафорических ссылок. Первые две задачи решаются в пределах одного предложения. Для всех предложений, полученных на выходе морфологического анализа, строится список вариантов таким образом, чтобы в каждом варианте предложения у каждого слова была только одна лексема. Так как при этом число вариантов предложения равно произведению числа лексем для каждого слова, то встает задача ограничения количества вариантов. Для этого используются эвристики, позволяющие отбросить заведомо некорректные варианты. Кроме того, в настройках синтаксического анализатора можно явно задать максимально допустимое количество вариантов. Затем к каждому варианту предложения применяется алгоритм выявления подчинительных синтаксических связей, в результате чего лексемы объединяются в деревья зависимостей: лексема родительского узла управляет всеми лексемами дочерних узлов. Именная группа — это любое поддерево синтаксемы, в которое входит корневое существительное. Семантические связи между синтаксемами выявляются на следующем этапе анализа. Помимо управления, синтаксический анализ обнаруживает однородные члены. Таким образом, на этом этапе между лексемами могут быть обнаружены два вида связей: управление и однородность. Каждый раз при обнаружении какой-либо синтаксической связи следует увеличивать вес варианта предложения. По окончании разбора предложения будут оставлены только варианты с максимальным весом. По умолчанию предложения с нулевым весом удаляются (это можно задать настройками синтаксического анализатора). Таким образом, вход синтаксического анализа представляет собой предложение на выходе морфологического анализа. Выход — предложе- 274 Гл. 6. Приобретение знаний и анализ текстов ние в виде списка вариантов, каждый из которых представляет собой список деревьев зависимостей. Более подробно описание морфологического анализатора и методов синтаксического анализа можно найти на сайте [137]. Основная задача реляционно-ситуационного анализа состоит в переходе от синтаксем к их значениям и, в рамках предложения, от значений синтаксем к значению предложения. Для реализации этой задачи нам потребуются неоднородная семантическая сеть (из первой главы настоящей монографии) с расширенным семейством отношений, отображение из множества синтаксем в вершины семантической сети и множество правил для снятия многозначности этого отображения (т. е. для уточнения значений синтаксем). В результате предложению будет сопоставлено множество значений синтаксем и фрагмент семантической сети на множестве таких значений. Эту конструкцию мы назовем семантическим образом предложения (высказывания). С последним — семантическим образом предложения — можно выполнять различные формальные операции, например, исследовать свойства отношений семантической сети, выполнять операции обобщения, конкретизации, сравнивать с аналогичными образами других предложений, искать релевантные структуры и т. д. Поэтому семантический образ предложения мы и будем считать значением предложения. Вершины семантической сети будем отождествлять со значениями синтаксем, ребра — с семействами отношений на множествах значений [14]. Один из типов вершин будет соответствовать предикатной лексике языка — глаголам, девербативам (отглагольным существительным), причастиям и деепричастиям. С каждым предикатным словом свяжем некторое подмножество множества значений, являющихся функциями значения предикатного слова. Это подмножество множества значений будем называть ролевой структурой или ролевым фреймом предикатного слова. Например, с глаголом бежать в значении быстро перемещаться пешком связан ролевой фрейм со слотами: субъект (кто бежит), цель (куда бежит), причина (вследствие чего), квантитатив (как быстро) и некоторые другие. Если же взять омонимичное ему слово в значении бежит время, то, разумеется, ролевой фрейм его будет иным. Слоты ролевого фрейма будем иногда называть ролями. 6.2.2. Установление значений синтаксем. Установление значений синтаксем в случае присутствия в предложении глагола/девербатива выполняется в два этапа: 1) выполняется поиск предикатных слов с их ролевыми фреймами и 2) определяются значения синтаксем. Приведем список некоторых значений синтаксем: 1. Аблатив — исходная точка движения (выйти из комнаты). 6.2. Реляционно-ситуационный анализ текста 275 2. Абстинатив — при глаголах с модальным компонентом в значении: нежелательная ситуация для субъекта (воздержаться от голосования; избегать встречи). 3. Агенс — субъект в пассивной конструкции (закон подписан президентом). 4. Адресат — лицо или реже предмет, к которому обращено информативное, донативное или эмотивное действие (обратиться к президенту). 5. Генератив — при установлении родовидовых отношений, при классификации: класс, более крупная общность, в которую включается объект (отнести к категории социально необеспеченных граждан). 6. Делибератив — содержание речемыслительного, социального действия или восприятия (обсуждать законопроект). 7. Дестинатив — назначение действия или предмета (выступать в защиту животных; поехать на лечение). 8. Деструктив — объект каузативного деструктивного воздействия (взорвать дом). 9. Дименсив — размер, исчисляемая мера величины (измерять информацию в байтах). 10. Директив — направление движения, ориентированного действия или положения предмета (отправиться в Германию). 11. Дистрибутив — компонент, называющий дистрибутивные отношения (принимать по 20 человек в день). 12. Донор — (при глаголах определенной лексической группы) субъект-владелец отчуждаемого объекта (лишить субъект РФ права на что-либо). 13. Инструментив — орудие действия (что написано пером, то не вырубишь топором). 14. Каузат — объект животных). каузирующего воздействия (заразить 15. Каузатив — причина действия или появления признака, свойства (наградить за подвиг). 16. Квалитатив — качество, свойство, характеризующее субъект (тетрадь в клетку; держаться с достоинством). 17. Квантитатив — количественный показатель изменения или соотношения признаков (расходная часть бюджета возросла в 2 раза по сравнению с прошлым годом). 276 Гл. 6. Приобретение знаний и анализ текстов 18. Комитатив — сопровождающее действие, признак, сопутствующий предмет, соучаствующее лицо (дискутировать с коллегами по фракции). 19. Коррелятив — компонент, выражающий или оценивающий соответствие / несоответствие предмета другому предмету, назначению, норме (отвечать требованиям закона). 20. Ликвидатив — объект каузирующего воздействия; результатом каузирующего воздействия является прекращение существования объекта (упразднить ограничения). 21. Лимитатив — сфера, область, пределы реализации признака (ограничить власть президента законом). 22. Локатив — местонахождение (войска сосредоточены в районе Багдада). 23. Медиатив — способ, средство действия (обрабатывать на компьютере). 24. Объект — компонент с предметно-вещественным значением, подвергающийся действию или каузативному воздействию (ввозить дешевые импортные товары). 25. Объектив — компонент со значением цели (воевать за независимость; отправиться за новым кредитом). 26. Партитив — часть (части) целого (английский парламент состоит из двух палат). 27. Посессив — объект в посессивной конструкции (обладать правом вето). 28. Результатив — в компликативных моделях предицирующий компонент со значением логически выводимого следствия (привести к кризису). 29. Репродуктив — исходная точка, образец для подражания, воспроизведения (напоминать своего предшественника). 30. Рубрикатив — компонент, характеризующий лицо, предмет по признаку из однородного ряда (классифицировать по авторам). 31. Ситуатив — компонент со значением внешней ситуации, природной или социальной, определяющей состояние субъекта (проводить реформы в условиях экономической нестабильности). 32. Субъект — компонент, которому приписывается предикативный признак (кандидат отказался от участия в выборах). 33. Сурсив — источник информации или сенсорного восприятия (узнать из газет). 6.2. Реляционно-ситуационный анализ текста 277 34. Темпоратив — компонент, выражающий временные характеристики (в прошлом году). 35. Транзитив — компонент со значением пути движения (Корейский лидер проехал почти по всей России на поезде). 36. Трансгрессив — результат каузации превращения (назначить заместителем министра). 37. Фабрикатив — компонент, характеризующий предмет по материалу, веществу, из которого предмет сделан, изготовлен (мозаика из кусочков стекла). Поиск предикатных слов. Принципы выделения предикатных слов заключаются в следующем: • Поиск глаголов, девербативов и предикативных наречий выполняется по результатам морфологического анализа и словаря предикатных слов. • Сочетания (неполнознаменательный глагол в личной форме / предикативное наречие + инфинитив) рассматриваются в комплексе как одно предикатное слово. • Если в одном фрагменте встретились несколько предикатных слов (например, глагол + инфинитив, глагол + девербатив), то синтаксемы для них ищутся в ограниченных контекстах. Определение значений синтаксем. После того, как выделены предикатное слово и синтаксемы предложения, определяются значения синтаксем с помощью таблиц типа 6.1. В пределах фрагментов для построенных синтаксическим анализатором именных групп проверяются соответствия предложно-падежных форм существительных, а также, там где возможно, их приемлемость с точки зреиия категориальной семантики. Причастные и деепричастные обороты анализируются после соответствующих главных предложений. Субъектом деепричастного оборота становится субъект главного предложения. В качестве кандидатов на субъект/объект причастного оборота выбираются ближайшие именные группы, вершины которых согласуются с причастием в роде, числе и падеже. Если глагол многозначный (на одно слово имеется несколько словарных статей), то рассматриваются все варианты по очереди. Окончательно выбираются (на следующих этапах анализа) вариант (или варианты) с максимальным заполнением ролевого фрейма или, иначе говоря, варианты, в которых найдены значения синтаксем для большего количества именных групп фрагмента и чаще сработали признаки категориальной семантики. Если равнозначных вариантов опять несколько, то выбираются варианты с максимальным отношением количества 278 Гл. 6. Приобретение знаний и анализ текстов Т а б л и ц а 6.1 Значение Транзитив Предлог Падеж по дательный сквозь винительный через винительный творительный над творительный творительный Инструментив Дестинатив с помощью родительный при помощи родительный на предложный для родительный к дательный на винительный под винительный найденных в предложении синтаксем к общему количеству синтаксем, описанных в данной словарной статье. Значения устанавливаются также и для вопросительных слов «кто», «что», «куда», «где», «откуда», «почему», «отчего», «зачем», «почем», «когда», «сколько», «во сколько», «за сколько», «на сколько», «как». В статье словаря для каждого предикатного слова ищутся вхождения морфологических признаков (предлог, падеж, категориальносемантический класс) связанных с ним синтаксем. Если морфологические признаки синтаксемы найдены в словарной статье, то ей приписывается соответствующее значение. Соответствие, фрагмент которого приведен в таблице 6.1, вообще говоря, неоднозначно и для снятия многозначности применяются контекстные правила, несколько примеров которых приведено ниже. Правило 1. Если падежная форма темпоративного или локативного существительного найдена в соответствующем списке для свободных синтаксем, то для этого существительного удаляются все остальные значения. Далее устанавливаются субъекты и объекты. Правило 2. Отрицательная конструкция: родительный падеж при переходных глаголах имеет значение объекта. Правило 3. Отрицательная конструкция: родительный падеж при экзистенциальных глаголах имеет значение субъекта. 6.3. Установление значений синтаксем в безглагольных предложениях 279 Рассматривается случай, когда при переходном глаголе находятся существительные, у которых именительный падеж совпадает с винительным: Правило 4. Если предикатное слово выражено инфинитивом, значение «субъект» удаляется, остается значение «объект» (у существительного в форме В = И): «Где купить сканер?» Правило 5. Если форма предикатного слова не инфинитивная и существительных В = И два, то значение субъекта приписывается личному существительному (т. е. у него удаляется значение объекта, а у второго существительного — субъекта). Если оба личные/неличные, то полагаемся на прямой порядок слов: субъект слева. 6.3. Установление значений синтаксем в безглагольных предложениях В безглагольных предложениях значение синтаксемы существенно зависит от контекста — других синтаксем и слов определенных частей речи. Такая зависимость записывается в виде правила, условие которого содержит характеристики контекста синтаксемы, а заключение указывает значение, которое необходимо установить рассматриваемой синтаксеме. Правила установления значений синтаксем были получены с помощью индуктивного метода машинного обучения, в основе которого лежит ДСМ-метод, описанный во второй главе, и его модификация, выполненная в работе [133], где построение правил осуществлялось по примерам из электронной версии синтаксического словаря Г. А. Золотовой [132]. Всего было получено около 1000 контекстных правил. Опшем кратко основные соображения, лежащие в основе метода получения контекстных правил. 6.3.1. Выбор объектов, признаков и свойств. Для применения ДСМ-метода к рассматриваемой задаче потребовалось доопределить операцию вычисления сходства из ДСМ-метода для объектов с признаками любой природы. Такая обобщенная операция сходства не должна нарушать коммутативности и ассоциативности операции вычисления сходства на простых объектах. Далее было введено понятие составного признака. Синтаксема с этой точки зрения представляет собой тройку простых составляющих — предлога, падежа и категориального класса. 280 Гл. 6. Приобретение знаний и анализ текстов Для составного признака определяется своя операция вычисления сходства, результатом которой также является составной признак, но не его составляющие по отдельности. Составной признак может входить в состав другого составного признака. Следующей задачей являлся учет контекста. На значение синтаксемы оказывают влияние другие элементы предложения — соседние синтаксемы, слова, принадлежащие некоторым частям речи, например, сравнительные прилагательные или наречия. Таким образом, возникла задача вычисления сходства для двух объектов в контексте. Один из подходов к ее решению предложен в работе [134]. Для рассматриваемой задачи следовало учесть не только характеристики контекста, но и основного объекта, при этом влияние контекста в отдельности не учитывалось. Признаки описывают характеристики самой синтаксемы и окружающих ее в предложении элементов. Пусть A — множество характеристик, описывающих некоторый объект с какой-либо одной стороны. Пусть на этом множестве некоторым образом определена операция вычисления сходства ∩A : A × A → A, которая обладает свойствами коммутативности и ассоциативности. Пару hA, ∩A i назовем типом признака. Таким образом, тип признака — это множество его всевозможных значений с заданной операцией вычисления сходства на нем. В общем случае операция вычисления сходства признаков может определяться произвольно, однако она должна удовлетворять свойствам коммутативности и ассоциативности. Признаком, соответственно, называется элемент множества A. Обычно имеется несколько множеств, характеризующих объект с разных сторон, каждое со своей операцией сходства, поэтому объект описывается признаками нескольких разных типов. В задаче порождения правил установления значений синтаксем можно выделить две разновидности признаков — элементарные и составные. Элементарные, неделимые, признаки — это строки, числа, а также значения из специальных списков, или перечисления. Для элементарных признаков операция вычисления сходства обычно заключается в проверке совпадения их значений, но это может быть и не так. Например, для признаков типа «позиция» предлагается следующая операция вычисления сходства: • если у признаков-операндов значения равны «до», результатом является значение позиции «до»; • если у обоих признаков значения «после», результатом является значение «после»; • иначе результатом является значение «не важно». Если признак в одном объекте встретился «до», а в другом объекте «после» 6.3. Установление значений синтаксем в безглагольных предложениях 281 (или наоборот) рассматриваемой синтаксемы, то после применения операции вычисления сходства, положение признака становится не важным. Пусть PPS — множество предлогов русского языка, PPS = {в, над, под, . . .} (всего 102 предлога). CAS — множество падежей русского языка, CAS = {именительный, родительный, дательный, винительный, творительный, предложный}. CAS* — множество непустых подмножеств множества CAS 1). Множество категориально-семантических классов KSC содержит следующие элементы: KSC = {личное, предметное, признаковое, пространственное, темпоративное, параметр_измерения, единица_измерения}. Множество PST = {до, после, не важно} — множество позиций, множество POS = {числительное, прилагательное в сравнительной степени} — множество частей речи. Как для множеств элементарных признаков, так и для составных вычислялось сходство. Остановимся более подробно на этой процедуре для составных признаков. Составной признак состоит из нескольких признаков, но рассматривается как один признак. В составной признак могут входить другие составные признаки. Например, морфологическая форма синтаксемы — это неделимая тройка hпредлог, падеж, категориальный классi, каждая компонента которой сама по себе не самостоятельна и в отдельности не имеет смысла. Кроме того, каждый признак, описывающий окружение синтаксемы, имеет метку, указывающую на позицию соответствующего элемента предложения относительно рассматриваемой синтаксемы. Для однотипных составных признаков операцию вычисления сходства разумно определить как поэлементное применение операции вычисления сходства для компонентов составных признаков, но с некоторыми условиями, например: если число признаков в сходстве двух составных признаков одного типа меньше числа признаков составляющего каждый из них, то сходство считается пустым признаком. Такая операция вычисления сходства подчеркивает идею составного признака, компоненты которого не значимы в отдельности. Некоторый признак составного признака может сам оказаться составным признаком, и тогда операция вычисления сходства выполняется рекурсивно для всех его составляющих. Множество синтаксем SYN представляет собой тройки hpps, cas*, ksci, где pps ∈ PPS, cas* ∈ CAS*, ksc ∈ KSC. Множество синтаксем в позиции SYNPST представляет собой пары hsyn, psti, где syn ∈ SYN, 1) Лингвистический анализатор не всегда точно разрешает падежную неоднозначность, поэтому приходится учитывать все выдаваемые им для слова падежи. 282 Гл. 6. Приобретение знаний и анализ текстов pst ∈ PST. Множество частей речи в позиции POSPST состоит из пар hpos, psti, где pos ∈ POS, pst ∈ PST. Зададим операции вычисления сходства: 1. ∀syn’ ∈ SYN, ∀syn” ∈ SYN, syn′ ∩A syn′′ = ′ ′′ ′ ′′ ∗′ ∗′′ hpps ∩A pps , cas ∩A cas , ksc ∩A ksc i, если = (pps′ ∩A pps′′ 6= a∅ ) ∧ (cas∗′ ′ ∩A cas∗′′ 6= a∅ ) ∧ (ksc′ ∩A ksc′′ 6= a∅ ); a∅ , иначе; (6.1) ′ ′′ ′ ′′ 2. ∀synpst ∈ SYNPST, ∀synpst ∈ SYNPST, synpst ∩A synpst = ( hsyn′ ∩A syn′′ , pst′ ∩A pst′′ i, если syn′ ∩A syn′′ 6= a∅ ; = (6.2) a∅ , иначе; 3. ∀pospst′ ∈ POSPST, ∀pospst′′ ∈ POSPST, pospst′ ∩A pospst′′ = ( hpos′ ∩A pos′′ , pst′ ∩A pst′′ i, если pos′ ∩A pos′′ 6= a∅ ; = a∅ , иначе. (6.3) Синтаксема с контекстом характеризуется, прежде всего, своими морфологическими признаками, а также окружающими ее элементами предложения — другими синтаксемами и словами определенных частей речи. Значение синтаксемы в контексте зависит от собственных морфологических признаков и от характеристик окружающих элементов, но сам по себе контекст не влияет на значение синтаксемы. Сходство «синтаксем в контексте» определяется на основе следующих принципов: • при нахождении сходства двух «синтаксем в контексте» в первую очередь находим сходство признаков, описывающих морфологические характеристики самой синтаксемы; • если сходство морфологических форм у синтаксем пусто, то сходство контекстов не ищется и возвращается пустой объект; • если сходство признаков, описывающих синтаксемы, не пусто, то возвращается сходство синтаксем и контекстов. Синтаксема описывается одним составным признаком типа «синтаксема». Контекст синтаксемы описывается признаками типа «синтаксема в позиции» и «часть речи в позиции». Сходство двух синтаксем с контекстом вычисляется как поэлементное выполнение операции вычисления сходства для однотипных признаков и является в некотором смысле пересечением множеств признаков объектов. Результатом операции вычисления сходства двух синтаксем в контексте является характеристика сходства синтаксем 6.3. Установление значений синтаксем в безглагольных предложениях 283 в контексте, т. е. множество признаков, каждый их которых выводится из признаков каждой из синтаксем. Сходство множества синтаксем в контексте определяется как поэлементное выполнение операции вычисления сходства для всех элементов множества. 6.3.2. Обнаружение правил установления значений синтаксем. Обнаружение правил установления значений синтаксем на множестве примеров заключается в поиске посылок, для чего выполняется операция вычисления сходства синтаксем в контексте, находятся максимальные характеристики сходства множества синтаксем в контексте из двух и более элементов. Результатом операции вычисления сходства синтаксем является множество фрагментов, каждый из которых является наиболее общей частью для максимального подмножества примеров, и не вложен ни в какой другой фрагмент, полученный в результате выполнения данной операции сходства на данном множестве объектов. Общая схема алгоритма обнаружения правил основывается на алгоритме нахождения минимальных пересечений множества объектов [135]: Шаг А. Предварительно все синтаксемы разбиваются на множества синтаксем, имеющих одинаковые значения. Далее для каждой синтаксемы определяются ее морфологически признаки и устанавливаются признаки контекста. Строятся объекты «синтаксема в контексте». Далее каждое множество объектов-синтаксем в контексте обрабатывается по следующему алгоритму: Шаг А.1. Выбирается первый не пустой объект, он считается текущим. Шаг А.2. Берется другой объект и находится характеристика сходства его с текущим объектом. Если характеристика сходства — пустой объект, то происходит переход к другому объекту, если характеристика сходства не пуста, применяется операция сходства для нее и следующего объекта и так далее, пока не просмотрено все множество объектов. Шаг А.3. Запоминается найденная характеристика сходства и объекты первоначального множества, в которые она вложена. Из объектов, в которые вложена характеристика сходства, вычитаются признаки, формирующие эту характеристику сходства. Процедура повторяется с шага 1, пока находятся непустые характеристики сходства. Шаг А.4. Для каждой полученной характеристики сходства выполняется операция сходства для объектов из первоначального множества, в которые вложена данная характеристика сходства. Если полученный результат совпадает с данной характеристикой сходства, то данная характеристика сходства добавляется в правило 284 Гл. 6. Приобретение знаний и анализ текстов в качестве посылки. Следствием этого правила является значение синтаксем текущего множества. Шаг Б. После того, как обработаны все множества объектов-синтаксем в контексте с одинаковыми значениями, для каждого полученного правила проверяется, не вложена ли его посылка в какую-либо посылку правил для установления другого значения. Если вложенности нет, то правило помещается в конечное множество правил, если вложенность есть, то правило помещается в множество конфликтных правил. Шаг А.4 необходим для исключения локальных сходств объектов с удаленными на шаге А.3 признаками, так как иногда они могут образовывать лишь частичное сходство. Например, пусть имеется следующее множество объектов: a = = {1, 2, 3}, b = {1, 3, 4}, c = {1, 5, 6}. В первом цикле алгоритма будет найдена характеристика сходства s = {1}. После удаления признаков, образующих характеристику сходства, получится новое множество объектов: a′ = {2, 3}, b′ = {3, 4}, c′ = {5, 6}. На втором цикле алгоритма на шаге А2 будет найдена новая характеристика сходства s′ = {3}, образованная объектами a′ и b′ . Но на шаге А.4 при вычислении характеристик сходства первоначальных объектов результатом будет характеристика сходства s∗ = {1, 3}, поэтому s′ не войдет в конечное множество гипотез согласно условию шага А.4, так как s∗ 6= s′ . Приведем в качестве примеров некоторые из правил, полученных таким образом для синтаксем родительного падежа: Правило 1. Если встречается синтаксема в падеже hродительныйi с предлогом hдляi, имеющая категориальный класс hличноеi, а до нее встречается синтаксема в падеже hименительныйi, имеющая категориальный класс hпредметноеi, то полагается, что первая синтаксема имеет значение hдестинативi. Правило 2. Если встречается синтаксема в падеже hродительныйi с предлогом hиз, изоi, имеющая категориальный класс hлокативноеi, а рядом с ней встречается синтаксема в падеже hименительныйi, имеющая категориальный класс hличноеi, то полагается, что первая синтаксема имеет значение hаблативi. Для задач реляционно-ситуационного анализа используется около 600 таких правил, полученных в работе [133]. 6.4. Установление отношений на множестве синтаксем Значение предложения определяется не только множеством синтаксем предложения и их значений, но отношениями на множестве синтаксем. Это же важно и для понимания предложения. Поэтому, 6.4. Установление отношений на множестве синтаксем 285 наряду с идеями коммуникативной грамматики, далее будет эксплуатироваться следующая гипотеза: значение предложения определяется совокупностью значений входящих в него синтаксем и семейством отношений на них. Таким образом, основная задача реляционно-ситуационного анализа заключается в выявлении значений синтаксем и семантических связей между ними. Главное место здесь занимают глаголы, имеющие, как правило, центральное положение в семантической структуре предложения и оказывающие решающее влияние на именные словосочетания предложения. После того, как установлены значения синтаксем, входящих в высказывание, определяются отношения, которым принадлежат те или иные пары значений; далее пары синтаксем помещаются в то отношение, тип которого задается парой их значений, т. е. выполняется замыкание — пополнение отношений новыми элементами — парами синтаксем. Приведем список некоторых типов отношений на множествах значений синтаксем и их неформальные определения: 1. ABL — аблативное отношение, в котором один компонент обозначает исходную точку движения, направление второго компонента (Президент пошел с трибуны в зал). 2. ABS — абстинативное отношение, в котором один компонент обозначает ситуацию или реже предмет, вызывающий определенное (чаще негативное) эмоциональное или модальное отношение лица, названного другим компонентом (Депутаты боятся лишения своих полномочий). 3. ADR — адресатное отношение, один компонент которого называет лицо или реже предмет, к которому обращено информативное, донативное или эмотивное действие лица, названного другим компонентом (Пушкин посвятил стихотворение «Я помню чудное мгновенье» А. П. Керн). 4. CAUS — каузальное отношение, один компонент которого обозначает причину проявления другого компонента спустя какое-то время (Казнокрадство приводит к обнищанию населения). 5. COM — комитативное отношение, один компонент которого обозначает сопровождающее другой компонент действие, сопутствующий предмет, сопровождающее лицо (Президент встретился с коллегой в своей загородной резиденции). 6. COR — коррелятивное отношение, один компонент которого выражает возможность наблюдения другого компонента или соответствия предмета другому предмету, назначению (Возместить потери в соответствии с законодательством). 286 Гл. 6. Приобретение знаний и анализ текстов 7. DES — дестинативное отношение, один компонент которого обозначает назначение для другого компонента (обратить доходы на повышение производства). 8. DIS — дистрибутивное отношение, выражающая дистрибутивные отношения между компонентами (распределить все документы по папкам). 9. DIR — директивное отношение, в котором один компонент обозначает путь, направление второго компонента (В. В. Путин поехал в США). 10. DLB — делиберативное отношение, один компонент которого выражает содержание речемыслительного, социального действия или восприятия лица, названного другим компонентом (Мы договорились о встрече). 11. DST — деструктивное отношение, один компонент которого приводит к разрушению, нарушает целостность, прежнее состояние другого компонента (Американская авиация разбомбила Багдад). 12. EQ — эквивалентное отношение, выражающее отношение эквивалентности первого и второго компонентов в некотором аспекте (Путин являлся президентом России). 13. FAB — фабрикативное отношение, один компонент которого называет материал, из которого сделан, изготовлен другой компонент (зубы из золота). 14. GEN — генеративное отношение, один компонент которого обозначает лицо или предмет, принадлежащий некоторого совокупности, категории, обозначаемой вторым компонентом (Бельгия относится к промышленно развитым странам). 15. INS — инструментальное отношение, один компонент которого обозначает орудие действия, обозначаемого другим компонентом (диктовать письмо по телефону). 16. LIM — лимитативное отношение, один компонент которого обозначает сферу применения, назначения другого компонента (Президент действует в пределах своих полномочий). 17. LOC — локативное отношение, один компонент которого называет местонахождение другого компонента (В Париже с успехом прошли гастроли Большого театра). 18. LIQ — ликвидативное отношение, один компонент которого ликвидирует, запрещает, отменяет второй компонент (Парламент денонсировал подписанный 2 года назад договор). 19. MED — медиативное отношение, один компонент которого имеет значение способа, средства действия другого (Президенты двух стран регулярно общаются по телефону). 6.4. Установление отношений на множестве синтаксем 287 20. NEG — негативное отношение, один компонент которого отрицает, исключает возможность проявления другого компонента (Мэр запретил проведение митинга протеста). 21. OBJ — объектное отношение, один компонент которого называет объект действия субъекта, названного другим компонентом (Он наконец-то построил дом в деревне). 22. PAR — партитивное отношение, один компонент которого обозначает часть (части) целого, названного другим компонентом (разбить вазу на кусочки; солдата ранило в руку). 23. POS — посессивное отношение, один компонент которого выражает отношение владения другим компонентом (Абрамовичу принадлежит ф/клуб «Челси»). 24. POT — потенсивное отношение, в которого один компонент приводит к увеличению возможности появления другого спустя некоторое время (Начавшееся наводнение грозит затоплением прибрежных районов). 25. QLТ — квалитативное отношение, в котором один компонент выражает свойство, качество второго компонента (Парламентарии с нетерпением ожидают прихода премьер-министра). 26. QNT — квантитативное отношение, один компонент которого называет количественный показатель изменения или соотношения признаков другого компонента (поднять зарплату на 20 процентов). 27. SIT — ситуативное отношение, в котором один компонент обозначает ситуацию, определяющую ситуацию или область действия другого компонента (На съезде партийцы утвердили список кандидатов в Думу). 28. SUR — сурсивное отношение, один компонент которого указывает на источник информации, содержащейся во втором компоненте (Президент узнал о случившемся от главы своей администрации). 29. TRA — транзитивное отношение, в которого один компонент обозначает маршрут, трассу движения другого (Старик идет по дороге). 30. TRG — трансгрессивное отношение, в которого один компонент обозначает результат превращения второго (Старинная грамота рассыпалась в пыль от одного только прикосновения). 31. TMP — темпоральное отношение, в котором один компонент выражает временную локализацию признака, названного другим компонентом (Утром был туман). Описанный здесь метод анализа текста использован в ряде прикладных систем, в частности, в системах семантического поиска [136]. Список литературы 1. Пушкин В. Н., Поспелов Д. А. Мышление и автоматы. — М.: Советское радио, 1972. — 224 с. 2. Поспелов Д. А. Ситуационное управление: Теория и практика. — М.: Наука. Гл. ред. физ.-мат. лит., 1986. — 288 с. 3. http://www.eas.asu.edu/∼drapkin/556/dendral.html http:/www.cee.hw.uk/Alison/ai3notes/section2_5_.html 4. Осипов Г. С. Инструментарий для экспертных систем. Технология SIMER + MIR // Программные продукты и системы. — 1990. — № 3. 5. Клини C. Математическая логика. — М.: МИР, 1973. 6. Кейслер Г., Чен Ч. Ч. Теория моделей. — М.: Мир, 1977. 7. Мальцев А. И. Алгебраические системы. — М.: Наука, 1970. 8. Fikes R. E., Nilsson N. J. STRIPS: a New Approach to Application of Theorem Proving to Problem Solving // Artificial Intelligence. — 1971. — № 2. 9. Нилсон Н. Принципы искусственного интеллекта. — М.: МИР, 1977. 10. Лорьер Ж.-Л. Системы искусственного интеллекта. — М.: МИР, 1991. 11. Quillian M. R. Semantic Memory // Semantic Information Processing. — MIT Press, 1968. — С. 227–268. 12. Ковальски Р. Логика в решении проблем. — М.: Наука, 1990. 13. Вагин В. Н. Дедукция и обобщение в системах принятия решений. — М.: Наука, 1988. 14. Осипов Г. С. Приобретение знаний интеллектуальными системами. — М.: Наука. ФИЗМАТЛИТ, 1997. 15. Жилякова Л. Ю. Об одном классе отношений в неоднородных семантических сетях // Изв. ТРТУ. — Таганрог. — 2000. — № 2. — С. 70–73. 16. Клещев А. С. Семантические порождающие модели. Общая точка зрения на фреймы и продукции в экспертных системах // Препринт. — Владивосток: ИАПУ ДВНЦ РАН, 1986. — 39 с. 17. Nardi D., Brachman R. J. An Introduction to Description Logic. — Cambridge University Press, 2003. 18. Baader F., Nutt W. Basic Description Logic. — Cambridge University Press, 2003. 19. Donini, Francesco M., Lenzerini M., Nardi D., Nutt W. The Complexity of Concept Language // Proc. of the 2nd Intern. Conf. On the Principles of Knowledge Representation and Reasoning (KR-91), 1991. 20. Dorofeyeva A. Analysis of Semantic Networks By Means of Description Logics // Proc. of the 1999 Intern. Workshop on Description Logics (DL’99). Linkúping, Sweden, July 30 – August 1, 1999. — P. 167–168. Список литературы 289 21. Шушакова А. Г. Решение задач представления и обработки знаний средствами дескриптивной логики // Программные продукты и системы. — 2002. — № 3. — C. 14–19. 22. Donini F. M., Lenzerini M., Nardi D., Nutt W. Reasoning in Description Logics // Proc. of the Second Intern. Conf. on Principles of Knowledge Representation and Reasoning. (KR-91). 1991. — P. 151–162. 23. Donini F. M., Lenzerini M., Nardi D., Nutt W. The Complexity of Concept Languages // Inform. and Comp. — 1997. — №. 134. — P. 1–58. 24. Baader F., Hanschke P. A Scheme for Integrating Concrete Domains into Concept Languages // Proc. IJCAI-91, Sydney, Australia, 1991. — P. 452–457. 25. Маслов С. Ю. Обратный метод установления выводимости в классическом исчислении предикатов // Доклады АН СССР. — 1964. — T. 159, № 1. — C. 17–20. 26. Robinson J. A. Machine Oriented Logic Based on the Resolution Principle // J. ACM. — 1965. — V. 12 (January). — P. 23–41. 27. Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. — М.: Наука, 1983. 28. Финн В. К. Интеллектуальные системы и общество. — М.: УРСС, 2006. 29. Вагин В. Н., Головина Е. Ю., Загорянская А. А., Фомина М. В. Достоверный и правдоподобный вывод в интеллектуальных системах. — М.: Физматлит, 2004. 30. Финн В. К. Правдоподобные рассуждения в ителлектуальных системах типа ДСМ // Итоги науки и техники. — 1991. — Т. 15. — С. 54–101. 31. Аншаков О. М. Об одной интерпретации ДСМ-метода автоматического порождения гипотез // НТИ*. — 1999. — № 1. 32. Prakken H., Vreeswijk G. A. W. Logics for Defeasible Argumentation / Eds by D. M. Gabbay, F. Guenthner // Handbook of Philosophical Logic. 2nd edition. V. 4. — Dordrecht/Boston/London: Kluwer Academic Publishers. 2002. — P. 219–318. 33. Беляев А. Б., Годовников М. Н., Голубев С. А., Куршев Е. П., Осипов Г. С., Сазонова Л. И. Технология создания распределенных интеллектуальных систем // Учебное пособие. — Переславль-Залесский: Ун-т Переславля, 1997. 34. Gordon A. D. Classification. — London: Chapman & Hall, 1999. 35. Эфрон Б. Нетрадиционные методы многомерноо статистического аализа. — М.: Финансы и статистика, 1988. 36. Назаренко Г. И., Осипов Г. С. Основы теории медицинских технологических процессов. Ч. 2. Иследование медицинских технологических процессов на основе интеллектуального анализа даных. — М.: Наука, Физматлит, 2006. 37. Амелькин C. А., Захаров А. В., Хачумов В. М. Обобщеное расстояние Евклида–Махаланобиса и его свойства // Информационные технологии и вычислительные системы. — 2006. — № 4. — C. 40–44. 10 Г. С. Осипов 290 Список литературы 38. Lenz M., Bartsch-Sporl B., Burkhard H.-D.; Wess S. (ed). Case-Based Reasoning Technology: From Foundations to Applications // Lecture Notes in Artificial Intelligence. — Springer, 1998. 39. Kumar V. Algorithms for Constraint-Satisfaction Problems: A Survey // AI Magazine. — 1992. — V. 13(1). — P. 32–44; http://citeseer.nj.nec.com/kumar92algorithms.html 40. Kambhampati S., Nigenda R., Nguyen X. AltAlt: Combining the Advantages of Graphplan and Heuristic State Search // ASU Technical Report. — 2000. 41. Maler O., Manna Z., Pnueli A. From Timed to Hybrid systems // RealTime: Theory in Practice, LNCS. — V. 600. — Springer-Verlag, 1992. — С. 447–484. 42. McCarthy J. Formalisation of STRIPS in Situation Calculus // Technical Report Formal Reasoning Group, Dep. of Computer Science. — Stanford University, 1985. 43. Williams B., Nayak P. A Reactive Planner for a Model-Based Execution // Proc. of the Fifteenth Intern. Joint Conf. on Artificial Intelligence (IJCAI-15). — Menlo Park, California, 1997. — C. 1178–1185. 44. Long D., Fox M. Efficient Implementation of the Plan Graph in STAN. — 1999. V. 10. — P. 87–115. 45. Raphael B. The Frame Problem in Problem Solving Systems // Artificial Intelligence and Heuristic Programming, 1971. — Edinburgh, Scotland: Edinburgh Univ. Press. — C.159–169. 46. McDermott D. A Heuristic Estimator for Means-Ends Analysis in Planning // Proc. of the Third Intern. Conf. on AI Planning Systems. 1996. Menlo Park, Calif.: AAAI Press. — C.142–149. 47. Sussman G. A Computational Model of Skill Acquisition // PhD thesis, MIT. — Cambridge, Massachusetts. August 1973. 48. Chapman D. Planning for Conjunctive Goals // Artificial Intelligence. — 1987. — № 32(3). — С. 333–377. 49. Tate A. Generating Project Networks // Proc. of the Fifth Intern. Joint Conf. on Artificial Intelligence.Menlo Park, California, 1977. — С. 888–893. 50. McAllester D., Rosenblit D. Systematic nonlinear planning // Proc. of AAAI-91. — Anaheim, Ca, 1991. 51. Sacerdoti E. D. Planning in a hierarchy of abstraction spaces // Artificial Intelligence. — 1974. — № 5. — С.115–135. 52. Sacerdoti E. D. The nonlinear nature of plans // Proc. of the Fourth Intern. Joint Conference on Artificial Intelligence (IJCAI-75). Tbilisi, Georgia, 1975. — C. 206–214. 53. Tate A., Currie K. O-Plan: The Open planning architecture // Artificial Intelligence. — 1991. — № 52. — С. 49–86. 54. Wilkins D. Can AI planners solve practical problems? // Computational Intelligence. — 1990. — V. 6, № 4. — С. 232–246. Список литературы 291 55. Blum A., Furst M. Fast planning through planning graph analysis // Proc. of the 14th Intern. Joint Conference on Artificial Intelligence (IJCAI-95). Montreal, Canada. 1995. — С. 1636–1642. 56. Kautz H., Selman B. Planning as Satisfiability // Proceedings of the Tenth European Conference on Artificial Intelligence (ECAI’92). — 1992. — C. 359–363. 57. Koehler J., Nebel B., Hoffmann J., Dimopoulos Y. Extending Planning Graphs to an ADL Subset (ECP-97). — Springer LNAI 1348, 1997. — P. 273–285. 58. Stoerr H. BDDPlan. http://www.ki.inf.tu-dresden.de/∼stoerr/bddplan.html 59. Bonet B., Geffner H. Planning as Heuristic Search // Artificial Intelligence. 2001; http://citeseer.nj.nec.com/bonet01planning.html 60. Hoffmann J., Nebel B. The FF Planning System: Fast Plan Generation Through Heuristic Search // J. of Artificial Intelligence Research. — 2001. 61. Kambhampati S., Nigenda R., Nguyen X. AltAlt: Combining the advantages of Graphplan and Heuristic State Search. — ASU Technical Report. — 2000. 62. Refanidis I., Vlahavas I. The GRT Planner: Backward Heuristic Construction in Forward State-Space Planning // J. of Artificial Intelligence Research. — 2001. — V. 15. — P. 115–161. 63. Green C. C. Theorem proving by resolution as a basis for question answering systems. In Bernard Meltzer and Donald Michie, editors // Machine Intelligence. — Edinburgh, Scotland: Edinburgh University Press, 1969. — №. 4. 64. Fikes R. E., Nilsson N. J. STRIPS: a New Approach to Application of Theorem Proving to Problem Solving // Artificial Intelligence. — 1971. — № 2. 65. Newell A., Simon H. GPS, a Program that Simulates Human Thought // Computers and Thought / Eds by E. A. Feigenbaum and J. Feldman. — McGraw Hill, NY, 1963. 66. Sussman G. A Computational Model of Skill Acquisition // PhD thesis, MIT. — Cambridge, Massachusetts, August, 1973. 67. Erol K., Nau D., Subrahmanian V. Complexity, Decidability and Undecidability Results for Domain-Independent Planning. A Detailed Analysis / Технический отчет Ун-та Мэрилэнд. — 1995. — № CS-TR-2797. 68. Pednault E. ADL and the State-Transition Model of Action // J. of Logic and Computation. — 1994. — № 4(5). — P. 467–512. 69. Planning, scheduling and Constraint Satisfaction: from Theory to Practice. — IOS Press, 2005. 70. Тарханов Т. С. Семейство алгоритмов автоматического синтеза планов целенаправленного поведения в доменах планирования с обратимостью // Препринт ИПС РАН. — 2004. 10* 292 Список литературы 71. Blum A., Furst M. Fast planning through planning graph analysis // Proc. of the 14th Intern. Joint Conf. on Artificial Intelligence (IJCAI-95). — Montreal, Canada, 1995. — P. 1636–1642. 72. Трофимов И. В. Использование фокусировки при решении задач планирования // Тр. XI Национальной конф. по искусственому интеллекту. — Дубна, 2008. 73. Hanks S., Weld D. S. A Domain-Independent Algorithm for Plan Adaptation // J. of Artificial Intelligence Research. — 1995. — V. 2. — P. 319–360. 74. Ihrig L. H., Kambhampati S. Derivational Replay for Partial-Order Planning // Proc. AAAI-94, 1994. 75. Leake D. B., Kinley A., Wilson D. C. A Case Study of Case-Based CBR // Proc. Intern. Conf. on Case-Based Reasoning, 1997. — P. 371.-382 76. Bergmann R., Wilke W. PARIS: Flexible Plan Adaptation by Abstraction and Refinement // In ECAI’96 Workshop «Adaptation in CBR». — Budapest, 1996. 77. Alterman R. Issues In Adaptive Planning // Report No. UCB/CSD 87/304, 1986. 78. Sycara K. Using Case-Based Reasoning for Plan Adaptation and Repair // Proc. of the DARPA Case-Based Reasoning Workshop, 1988. 79. Hammond K. J. Explaining and Repairing Plans that Fail // Artificial Intelligence. — 1990. — V. 45(1–2). — P. 173–228. 80. Veloso M. M., Carbonell J. G. Towards Scaling Up Machine Learning: A Case Study with Derivational Analogy in PRODIGY // Machine Learning Methods for Planning, Morgan Kaufmann / ed. S. Minton. — 1993. — P. 233–272. 81. Васильев С. Н., Жерлов А. К., Федосов Е. А., Федунов Б. Е. Интеллектное управление динамическими системами. — М.: ФИЗМАТЛИТ, 2000. 82. Осипов Г. С. Динамика в системах, основанных на знаниях // Известия РАН. Теория и системы управления. — 1998. — № 5. — С.24–28. 83. Osipov G. Dynamics in Integrated Knowledge-Based Systems // Proc. of the 1998 IEEE Joint Conf., Gaithersburg. — MD, USA, September, 1998. 84. Osipov G. Attainable Sets and Knowledge Base Architecture in Discrete Dynamic Knowledge-based Systems // Proc. Of Workshops of the ECAI 2000 14-th European Conf. of Artificial Intelligence. — Berlin, 2000. — P. 39–43. 85. Лебедева Т. Г., Осипов Г. С. Архитектура и управляемость дискретных динамических систем, основанных на знаниях // Известия АН. Теория и системы управления. — 2000. — № 5. — C. 703–709. 86. Виноградов А. Н., Осипов Г. С., Жилякова Л. Ю. Динамические интеллектуальные системы. — Ч. 1. Представление знаний и основные алгоритмы // Известия АН. Теория и системы управления — М: Наука, 2002. — № 6. — C. 119–127. Список литературы 293 87. Виноградов А. Н., Осипов Г. С., Жилякова Л. Ю. Динамические интеллектуальные системы. — Ч. 2. Моделирование целенаправленного поведения // Известия АН. Теория и системы управления. — М: Наука, 2003. — № 1. — С. 87–94. 88. Осипов Г.С. Динамические интеллектуальные системы. Искусственный интеллект и принятие решений. — М., 2008. — № 1. 89. Месарович М., Такахара Я. Общая теория систем. Математические основы. — М.: Мир, 1978. — 311 c. 90. Калман Р., Фалб П., Арбиб М. Очерки по математической теории систем. — М.: МИР, 1971. 91. Стефанюк В. Л. Поведение квазистатической оболочки в изменяющейся нечеткой среде // Тр. 4-ой национальной конф. по искусственному интеллекту (КИИ-94). Т. 1. — Рыбинск, 1994. — C. 199–203. 92. Мееров М. В. Синтез структур систем автоматического регулирования высокой точности. — М.: Наука, 1967. 93. Емельянов C. В., Коровин C. К. Новые типы обратной связи. Управление при неопределенности.- — М.: Наука. Физматлит, 1997. — 352 с. 94. Емельянов C. В., Коровин C. К. Расширение множества типов обратных связей и их применение при построении замкнутых динамических систем // Изв. АН СССР. Техническая кибернетика. — 1981. — № 5. — C. 173–183. 95. Емельянов C. В., Коровин C. К. Новые типы обратной связи. Синтез нелинейного управления в условиях неопределенности // Юбилейный сб. трудов ОИВТиА РАН. — 1993. — Т. 1. — C. 115–137. 96. Гаврилова Т. А., Хорошевский В. Ф. Базы знаний интеллектуальных систем. — С.-Петербург.: ПИТЕР, 2000. 97. Boose J. H. Personal Construct Theory and the Transfer of Human Expertise. Advances in Artificial Intelligence / Ed. T. O’Shea. NorthHolland: Elsevir, 1984. — P. 27–33. 98. Kelly J. The Psychology Personal Constructs. — N.Y.: Norton, 1955. 99. Гаврилова Т. А., Червинская К. Р. Извлечение и структурирование знаний для экспертных систем. — М.: Радио и связь, 1992. 100. Osipov G. S. The Method of Direct Knowledge Acquisition from Human Experts // Proc. of the 5th Banff Knowledge Acquisition for KnowledgeBased Systems Workshop, Banff, Canada, November, 1990. — P.104–116. 101. Cтепанов Ю. С. Имена, предикаты, предложения. Семиологическая грамматика. — М.: Наука, 1981. — 360 с. 102. Караулов Ю. Н. Общая и русская идеография. — М.: Наука, 1976. 103. Журавлев Ю. И. Об алгебраическом подходе к решению задач распознавания или классификации // Проблемы кибернетики. — 1978. — Т. 38, C. 5–68. 104. Quinlan J. R. Induction of Decision Trees // Machine Learning. — 1986. — V. 1. — P. 81–106. 294 Список литературы 105. Michalski R. S. A Theory and Methodology of Inductive Learning // Artificial Inteligence. —1983. — V. 20. — P. 111–161. 106. Michalski R. S., Stepp R. Learning from Observation: Conceptual Clustering / Eds. by R. S. Michalski, J. G. Carbonnell, T. M. Mitchell // Machine Learning: An Artificial Intelligence Approach. — Morgan Kaufmann, 1983. 107. Mitchell T. M. Machine Learning. — McGraw Hill, 1996. 108. Hirsh H. Incremental Version-Space Merging: A General Framework for Concept Learning. — Kluwer Academic Publishers, 1990. 109. Winston P. H. Learning Structural Descriptions from Examples // Technical report AI-TR-231. — MIT Cambridge, MA, 1970. 110. Kubat M., Bratko I., Michalsky R. A Review of Machine Learning Methods // Machine Learning and Data Mining: Methods and Applications. — John Wiley&Sons Ltd, 1996. 111. Niblett T., Bratko I. Learning Decision Trees in Noisy Domains // Proc. Expert Systems 86 Conf. (Expert Systems 86). — Cambridge Univ. Press., 1986. 112. Michalski R. S. AQVAL/1-Computer Implementation of a Variable-Valued Logic System VL1 and Examples of its Application to Pattern ecognition // Proc. Of the First Intern. Joint Conf. on Pattern Recognition, Washington, DS. 1973. — P. 3–17. 113. Хайкин С. Нейронные сети: полный курс — М.: Изд. дом «Вильямс», 2006. — 1104 с. 114. Круглов В. В., Борисов В. В. Искусственные нейронные сети. Теория и практика. — М.: Горячая линия. — Телеком, 2001. — 382 с. 115. Калллан Р. Основные концепции нейронных сетей. — М.: Изд. дом «Вильямс», 2001. — 288 с. 116. Тархов Д. А. Нейронные сети: Модели и алгоритмы. Кн. 18. — М.: Радиотехника, 2005. — 256 с. 117. Люгер Д. Ф. Искусственный интеллект: стратегии и методы решения сложных проблем. — М.: Изд. дом «Вильямс», 2003. — 864 с. 118. Qrossberg S. Some Networks that Can Learn, Remember and Reproduce Any Number of Complicated Space-Time Patterns // J. of Mathematics and Mechanics. — 1969. — V. 19. — P. 53–91. 119. Осовский С. Нейронные сети для обработки информации. — М.: Финансы и статистика, 2004. — 344 с. 120. Hecht-Nielsen R. Counterpropagation networks // Proc. of the IEEE First Intern. Conf. on Neural Networks / Eds. by M. Caudill and C. Butler. 1987a, V. 2. — P. 19–32. San Diego, CA: SOS Printing. 121. Aarts E., Korst J. Simulated Annealing and Boltzmann Machines: A Stochastic Approach to Combinatorial Optimization and Neural Computing. — John Wiley & Son Ltd (02/01/1989), 1988. — 284 p. 122. Кобозева И. М. Лингвистическая семантика. — М.: УРСС, 2000. Список литературы 295 123. Хомский Н. Синтаксические структуры / Пер. с англ. К. И. Бабицкого и В. А. Успенского // Новое в зарубежной лингвистике. II. — М.: ИИЛ, 1962. C. 412–527. 124. Montague R. Formal Philosophy: Selected Papers of Richard Montague / Ed. and with an introduction by Richmond Thomason. — New Haven: Yale Univ. Press, 1974. 125. Филлмор Ч. Дело о падеже // Новое в зарубежной лингвистике. — 1981. — Вып. X. C. 400–444. 126. Филлмор Ч. Дело о падеже открывается вновь // Новое в зарубежной лингвистике. — 1981. — Вып. X. C. 496–530. 127. Мельчук И. А. Опыт теории лингвистических моделей «СМЫСЛ ↔ ТЕКСТ». — М.: Наука, 1974. 128. Апресян Ю.Д. Лексическая семантика. Синонимические средства языка. Избранные труы. Т. 1. — М.: ЯРК, 1995. 129. Рахилина Е. В. Конитивная семантика: персоналии, идеи, результаты // Семиотика и информатика. — 1988. Вып. 36. 130. Изворска Р. Формальная семантика // Современая американская лингвистика. — М. URSS, 2006. 131. Золотова Г. А., Онипенко Н. К., Сидорова М. Ю. Коммуникативная граматика руского языка. — М.: Ин-т русского языка им. В. В. Виноградова РАН, 2004. 132. Золотова Г. А. Синтаксическй словарь. Репертуар элементарных единиц русского синтаксиса. — М.: Наука, 1988. 133. Смирнов И. В. Метод автоматического установления значений минимальных семантико-синтаксических единиц текста // Информационные технологии и вычислительные системы. 2008. — № 3. — C. 30–45. 134. Финн В. К., Михеенкова М. А. О ситуационном расширении ДСМ-метода автоматического порождения гипотез // НТИ. — 2000.. — № 11. 135. Объедков C. А. Алгоритмические аспекты ДСМ-метода автоматического порождения гипотез // НТИ. — 1999.. — № 1. 136. Осипов Г. С., Смирнов И. В., Тихомиров И. А. Реляционно-ситуационный метод поиска и анализа текстов и его приложения // Искусственный интеллект и принятие решений. — 2008. — № 2. — C. 3–10. 137. http://www.aot.ru Научное издание ОСИПОВ Геннадий Семенович МЕТОДЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА Редактор И.Л. Легостаева Оригинал-макет: И.Г. Андреева Оформление переплета: В.Ф. Киселев Подписано в печать 25.04.11. Формат 60 90/16. Бумага офсетная. Печать офсетная. Усл. печ. л. 18,5. Уч.-изд. л. 20,35. Тираж 300 экз. Заказ № Издательская фирма «Физико-математическая литература» МАИК «Наука/Интерпериодика» 117997, Москва, ул. Профсоюзная, 90 E-mail: fizmat@maik.ru, fmlsale@maik.ru; http://www.fml.ru Отпечатано в ООО «Чебоксарская типография № 1» 428019, г. Чебоксары, пр. И. Яковлева, 15