Text
                    llнф""),,атика..)'
В.В. Дев я
СистеМjJI J
искусстеIfн ro
интеллекта
 ,\...--' ...з
b,.. '1ПУ Ш"СIUI Н.Е


Информатика в техническом университете 
Информатика в техническом университете Серии основана в 2000 roдy РЕДАКЦИОННАЯ КОЛЛЕrия: дp техн. наук и.Б. Федоров  rлавный редактор дp техн. наук и.п.Норенков  зам. rлавноro редактора дp техн. наук Ю.М Смирнов  зам. rлавноro редактора дp техн. наук В. Ф. Торнев дp техн. наук В.В. Девятков канд. техн. наук и.п. Иванов дp техн. . наук А.А. Марков дp техн. наук В.А. Матвеев дp техн. наук В.В. Сюзев дp техн. наук Б.r. Трусов дp техн. наук В.М Черненький дp техн. наук В.А. Шахнов 
В.В.ДеВЯТКQВ системыI искусственноrо интеллекта Допущено Министерством образования Российской Федерации в качестве учебноrо пособия для студентов высших учебных заведений, обучающихся по специальностям .Информационные системы и технолоrии. и .Автоматизированные . системы обработки информации и управления. по направлениям подroтовки дипломированных специалистов .Информати.ка и вычислительная техника. и .Информационные системы. Москва Издательство Mrтy имени Н.Э.Баумана 2001 
УДК 007001.33(075.8) ББК 5.05 Д26 Рецензенты: дp техн. наук, профессор r.B. Росс, дp техн. наук, профессор Е.И. Пупырев Д26 ДeBJlТКOB В.В. Системы hcкyccтвeHHoro интеллекта: Учеб. пособие ДЛЯ вузов.  М.: Издво MIТY им. н.э. Баумана, 2001. . 352 с.., ил. (Сер. Информатика. в те')(ническом университете). ISBN 5703817277 Изложены современные вопросы теории и практики систем искусственноrо интеллекта. Рассмотрены различные типы исчислений, используемых дЛЯ со:мания систем искусственноrо иитемекта. включая такие их свойства, как мультиаrентность, неЧеткость, модальность и Т.п. С помощью аппарата лоrики показано, что входит В дисциплину искусстsенноrо интеллекта, начиная с решения методами искусственноrо интемекта простых задач синтеза дискретных устройств и заканчивая задзчами моделирования и анализа ситуаций, возникаюших в процессе управления предприятиями. Содержание учебника соответствует курсу лекций, который автор читает в MlТY им. Н.Э. Баумана. Для студентов, аспирантов, инженероВ и научных работникоа технических специальностей. УДК 007001.33(075.8) ББК 5.05 ISBN 5703817277 @ В.В. 'Девятков, 2001 @ Московский roсударственный технический университет им. Н.Э. Баумана, 2001 @ И:мательство МПУ им. н.э Баумана, 2001 
оrЛАВЛЕНИЕ Предисловие ....................................................................................................8 1. ИскусствеllllЫЙ интеллеп ........................................................................ 11 1.1. Что же такое искусственный интеллект? ...................................12 1.2. Лrенты  носители искусственноro интеллеа .......................13 1.3. Среды и areHTbI .............................................................................. 17 Вопросы и упражнения ................................................................. 19 2. ЛОПIЧесuе рассуждеНИJI ..........................................................................20 2.1. Рассуждения в пространстве состояний среды..........................20 2.2. Лоrика высказываний ...................................................................24 2.3. Исчисление высказываний ..........................................................30 2.4. Рассуждения в терминах интервалов ........................................... 37 Вопросы и упражнения ................................................................. 51 3. ЛоПIU предикатов ....................................................................................52 3.1. Синтаксис и семантика ................................................................ 53 3.2. Переход от eCTeCTвeHHOro языка к языку лоrики предикатов ...................................................................................... 59 3.3. Постановка задачи для среды чудовища в лоrике предикатов ......................................................................................61 Вопросы и упражнения .................................................................63 4. Вw.oд в ЛOПIJ[е предикатов ............................................................:......... 65 4.1. Исчисление пwдикатов ................................................................65 4.2. Прямой и обратный вывод ........................................................... 89 4.3. Полнота и непротиворечивость исчисления ..............................94 4.4. Вывод на основе правила резолюции .........................................96 Вопросы и упражнения ............................................................... 103 5. Среды и языки .........................................................................:............. .., 105 5.1. Автомат и среда ........................................................................... 106 5.2. Язык и автомат ............................................................................ 107 5.3. ОПИсание автомата на языке лоrики предикатов .................... 112 5.4. Построение автомата методом детерминизации ...................... 116 5.5. rраф переходов состояний среды ............................................. 119 5  
Оrлавпение 5.6. Использование rpафа переходов для поиска в пространстве состояний ...................................................................................... 122 5.7. Построение rpафа состояний ..................................................... 123 5.8. Языки и rpамматики ................................................................... 128 5.9. fрамматический анализ и автоматы ......................................... 130 5.10. Перевод с одноrо языка на друrой ......................................... 133 Вопросы и упражнения . ............................................................ 135 6. Стратеrии поиска .................................................................................... 136 6.1. Оценки успеха при поиске цели ............................................... 137 6.2. Слепой поиск .......................... ........................... .......................... 138 6.3. Направленный поиск .................................................................. 146 Вопросы и упражнения ............................................................... 151 7. Ситуационное описание среды ............................................................... 153 7.1. Базовые понятия ситуационной модели ...................................153 7.2. Среда лоrических электронных схем ......................................... 161 7.3. Среда обезьяны и банана ........................................................... 164 Вопросы и упражнения ............................................................... 165 8. Ситуационное исчисление ...................................................................... 167 8.1. Язык ситуационноro исчисления .............................................. 168 8.2. Аксиомы ситуационноrо исчисления ....................................... 169 8.3. Охота на индейку .......................................................:................173 Вопросы и упражнения ............................................................... 176 9. МодальиOCТlt в ситуационном исчислении ............................................179 9.1. Модальность и модальная лоrика .............................................. 179 9.2. Язык временной модальной лоrики .......................................... 184 9.3. Модель параллельных процессов ............................................... 184 9.4. Мультипроrpaммное выполнение параллельных процессов ...... 188 9.5. Модальная лоrика и анализ параллельных процессов........... 194 9.6. Инвариантные свойства ............................................................. 197 9.7. Свойства живости (осуществимости) ........................................ 203 9.8. Свойства предшествования ........................................................ 209 9.9. Доказательство свойств корректности ......................................213 Вопросы и упражнения ......................................;........................ 219 10. Дедуктивные базw дaIoIых....................................................................221 10.1. Реляционные базы данных .......................................................221 10.2. Реляционная алrебра ................................................................. 223 10.3. Т риrrеры ............................................................... ...... ...... .......... 227 10.4. Реляционная база данных и лоrические исчисления ............ 229 10.5. Переход от Дейталоra к SQL.................................................... 231 10.6. Ситуационное исчисление в дедуктивной базе данных .......235 10.7. Проверка оrpаничений целостности .......................................240 Вопросы и упражнени ............................................................. 241 6 
Оrпавпение 11. Нечеткие знаИИJI и рассуждеИИJI..........................................................242 11.1. Нечеткое множество и функция принадлежности ................243 11.2. Принцип обобщения и степень совместимости .....................244 11.3. Нечеткая база данных ...............................................................246 11.4. Нечеткие действия (операторы) ............................................... 248 11.5. Нечеткозначное исчисление ....................................................259 11.6. Задача диаrностики тепловых сетей ........................................262 11.7. Проблемноориентированный язык........................................ 264 11.8. Переход от проблемноориентированноro языка к языку нечеткозначноrо исчисления. ................................................... 279 11.9. Результаты решения задачи диаrностики ...............................281 Вопросы и упражнения ............................................................. 289 12. lIлaвиpoвaнllе дeICТ8IIЙ ........................................................................ 291 12.1. Задачи ппаНJ(РОвания ................................................................ 291 12.2. Оценка плана .............................................................................297 Вопросы и упражнения .................................................;........... 361 13 ОвтолОI1lВ и их применение ................................................................. 303 13.1. Введение в онтолоrию . ............................................................. 303 .13.2. ПостанQвка задачи создания ОНТОЛОПiИ ................................. 306 13.3. Использование онтолоrий ........................................................ 31 3 Вопросы и упражнения ............................................................. 315 14. Реализации систем ................................................................................ J16 14.1. Архитектура ...............................................................................; 316 14;2. Извлечение знаний ................................................................... 3 17 14.3. Формализация................................... ......................................... 327 14.4. Выбор стратеrии вывода ........................................................... 335 14.5. Реализация ........... ........................................... ................ ........... 337 Вопросы и упражнения ...............................:............................. 339 381LJ11OЧение ...................................:.............................................................. 341 Список .литературы . ... .............. ..... ..... .... ............ ............ .......... ...........:........ 346 ПредМe11lый указатe.JD. .. ........................................................... ........ ........ ... 347 
ПРЕДИСЛОВИЕ В мире имеется MHoro специальной литературы, посвяшенной искусственному интеллекту. До 9Ox roдов довольно часто r'rоявлялись публикации на зry тему российских авторов, а также в переводе зарубежных специалистов. В последнем десятилетии книrи на русском языке, отражающие современное состояние искусственноro интеллекта, почти не издаются, несмотря на то что в этой области происходят радикальные изменения. ИскусственныJj интеллект вторraется во все сферы деятельности, становится средством интеrpации наук. РазвиТые в экономическом отношении страны ачали про водить интенсивные исследования по созданию единоrо информа:ционноrо пространства, создающеrо условия для совместной дистанционной работы на основе однозначно понимаемых баз знаний (онтолоrий). Мноrие аспекты этих исследований базируются на идеях искусственноro интеллекта. Настоящая книrа рассчитана на начинающеrо читателя. Автор на протяжении мноrих лет читал курсы по различным разделам искусственноrо интеллекта в техническом университете; Опыт общения со студенческой аудиторией свидетельствует, что существующие отечественные издания трудны для большинства читателей, не имеюших досаточной культуры в области лоrики как математической дисциплины и склонных не к исследованиям, а к разработке практических приложений на основе теории. Помимо Toro, что современных отечественных книr на эту тему просто нет, сушествующие чрезмерно формализованы, при меры решения задач методами искусственноro интеллекта зачастую СЛИШJ5:.0М схематичны и не доведены до детальноrо разъяснения каждоrо шаra. Переводы некоторых книr неудачны и терминолоrически запутаны. Все это послужило стимулом к написанию настоящеro учебноro пособия. Для ero прочтения не требуется дополнительных источников. Помимо стремления дать читателю современное введение в искусственный интеллект, книra претендует на использование ее в качестве учебною пособия для студентов и аспирантов, обучающихся информатике в высших технических учебных заведениях. Поэтому в ней, особенно в начальных rлавах, переходу к строrим определениям понятий предшествует подробное изложение сути на простых при мерах. Предлаraемая книra имеет ряд принципиальных черт, отличающих ее от ряда друrих. 8 
Предисловие Единообразие и взаимосвязь. MHorJte книrи написаны с учетом историческоro развития искусственноro интеллекта и разбиты на слабо связанные между собой разделы, каждый из которых имеет свою специфику, понятия и методы. В настояшей книrе все rлавы взанмосвязаны, им присуща общая терминолоrия и последовательное изложение материала от простоro к сложному. Система искусственноro интеллекта рассматриваеТСJl как сообщество areHToB (носителей искусственноrо интеллекта). Концепция areнra и системы ИСkyсстВенноrо интеллекта как сообщества aretrroB положена в основу создания современных систем искусственноrо интелJtеК'm. Каждый аrент имеет возможность воспринимать состояния среды, 8 которой он находится, и воздействовarь на нее с помощью реакций. Иными словами, он отображает восприятия в реакции или действия. Задача создания системы искусственноro tfiпеллекта в этом случае представляет собой задачу построения TaKoro отображенИ'Я. Ситуационные исчисления ямяются основой для предстамения знаний. В основу способностей areНТOB рассуждать и приходить КУМОзaкJIючениям положены современные варианты сmyaционных исчислений. Выбор 'I'Oro или иноrо варианта исчисления зависит от особенностей среды, знания о которой предстамены на языке этоrо исчисления. Кроме 'I'Oro, в книrе рассмОтрен ряд наиболее характерных и проработанных исчислений: четких, нечетких, модальных. Применение теории на практике. Изложение теоретическоrо материала ведется не в отрыве от конкретных з:iдач, а наоборот с широким использованием примеров для конкретных сред. Наряду с теоретическими вопросами, иллюстрируемыми простыми примерамl-\, в книre приведены сведения о подходах к реализации и решению реальных задач на базе излаraемой теории. Предлаraемую книr-у. "Системы искусственноro интеллекта" точнее было бы назвать "Введение в искусственный интеллект на основе формальных JlOrических систем". ОбласТь знаний искусственноro интеллекта в настоящее время ffe оrраничивается разделами только настоящеrо учебноrо пособия. Некоторые разделы, хоИJ и рассмотрены в книrе, Moryr быть сущес1."венно расширены. В частности, не. включены rлавы по нейронным сетям, интеллектуальной обработке сиrналов и изображений, интеллектуальным роботам и ряд друrих. Однако читатель, освоивший материал, ПОЛУ.ЧИТ весомый баraж для изучения разделов искусственноro ИНтe.JUJекта, не включенны в книr-у. Сознательно не дан исторический анализ развития "cкyccтвeHHoro .интелЛекта, как правило, не указаны авторы  основоположники Toro или иноro напраВJJения или первоисточники какихлибо идей, используемых в данной работе. Читатель сможет Восполнить эти про6елы, воспользовавшисh. списком литературы, который приведен в конце книrи. Настоящая книra состоит из 14 rлав. Сложн<х;:ть материала возрастает с ростом номеров rлав и достиraет максимума в l' rлаве. Первая rлава является введением в искуссценный интеллект. В ней приведены краткие сведения о предмете искусственноrо интеллекта, рассмотрены areHTbI различноro типа и среды, с которыми ИМ приходится иметь дело. Во второй rлаве описана одна из наиболее простых лоrик  лоrика 9 L 
Предисловие высказываний, в рамках этой лоrики обсуждаются принципы рассуждений, осушесталяемых аreнтами на основе использования лоrики высказываний, введен ряд важных понятий, обобщаемых и используемых в дальнейшем, приведены простейшие примеры построения комбинационноro и целенаправленноro areHTOB. Третья rлава посвящена лоrике предикатов первоrо порядка. На примерах из rлавы показано, почему лоrика предикатов первоro порядка обладает большими выразительными возможностями и более удобна для рассуждений, осуществляемых arентами, по сравнению с лоrикой высказываний. Вопросы вывода или рассуждения в лоrике предикатов первоrо порядка и примеры построения целенапраRЛенных аrеtпов рассмотрены в четвертой rлаве. В пятой rлаве предпринята первая попытка построения исчислений. Введено понятие формальноrо языка, рассмотрена связь языка и среды, приведены при меры предстааления сред в формальном языке и пния по зrому описанию наилучшеrо в определенном смысле последователЬНОCТ}lоrо areHтa, поскольку любое исчисление  это прежде Bcero некоторый формальный язык представления знаний. Процедуры рассуждений связаны с Поиском цели, позrому в шестой rлаве показаны различные стратеrии поиска и их выбор в зависимости от типа и доступных знаний о среде. В седьмой rлаве описана достаточно универсальная ситуационная модель среды, которая может использоваться для решения в различных прикладных задачах информатики. В восьмой rлаве рассмотрено исчисление, называемое ситуационным, которое можно использовать для создания areHToB и их совокупностей, решения различных прикладных задач, связанных с моделированием и упраВJ1ением в дискретных средах. Девятая rлава посвящена исчислению, называемому иначе модальной лоrикой, и вопросам применения ero для анализа корректности проrpамм. В десятой rлаве рассмотрены дедуктивные базы знаний. Показано, каким образом строятся дедуктивные базы данных на основе исчислений различноro типа и как в них осуществляется поиск на основе этих исчислений. Одиннадцатая rлава посвящена вопросам планирования, Т.е. нахождению последовательностей действий, ведущих к достижению целей, построению планов в процессе рассуждений на основе исчислений. В двенадцатой rлаве показано представЛение нечетких знаний на основе соответствующеro исчисления, называемоro нечеткозначным, построение и использование языков пользователя для представления и использования нечетких знаний в процессе решения практических задач. Современный подход к решению задач на основе онтолоrий как средства общепонимаемоrо формальноrо представления знаний рассмотрен в тринадцатой rлаве. Четырнадцатая завершающая rлава посвящена вопросам реализации систем искусственноrо интеллекта для решения конкретных задач. Автор rлубоко признателен тем, кто внес свой вклад в обсуждение и подrотовку материала этой книrи: В. rайдукову, с. Косову, В. Румбешту. Особую блаrодарность автор выражает своей жене [.Н. Девятковой, без долroтерпеНИJl и помощи Которой книra вряд ли моrла быть написана. 10 
1. ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ в этой zлаве рассказано, что такое искусственный интеллект в совреМенном понимании и почему он заслуживает вашеzо внимания и изучения. Введено понятие носителей иCKyccтвeннozo интеллекта, называемьсх DZeHтaми, представлены различные типы щентов и описаны свойства внешней среды, с которыми azeHтbI имеют дело. Человек именует себя hoтo stlp;eпs, что означает мудрое существо или существо, обладающее умом (интеллектом), тем самым подчеркивая важность именно умственных или интеллектуальных способностей. Область знаний ucКYCcmtIeIUIOZO lI1IтeAAeкmtl пытается объяснить сущность этих способностей. Одна из причин нашеro интереса к искусственному интеллекту  это узнать как можно больше о человеке как об интеллектуальном (мудром, умном) существе, понять, что же такое интеллект. Искусственный интеллект в отличие от психолоrии и философии занимается созданием интеллектуальных искусственных существ (сущностей, объектов), которые принято называть tueNт4Jtlu или носителями. Поэтому друraя причина нашеro интереса  это определить полезность таких интеллектуальных искусственных существ в человеческой жизни, позволяющих, несмотря на раннюю стадию их развития, уже сеroдня делать MHoro полезных и нужных вещей. Никто не в состоянии точно предсказать будущее искусственноrо интеллекта, однако ясно, что развитие информационных компьютерных систем с уровнем человеческоrо интеллекта и выше будет оказывать OrpoMHoe влияние на всю нашу жизнь и будущее цивилизации: Искусственный интеллект как дисциплина является очень молодой. Формально считается, что ее разВИТИе началось в 1956 r. коrда было введено в обиход понятие "искусственный интеллект". В то же время изучение собственно свойств интеллекта философами, которые пытались понять, как осуществляется восприятие, обучение, запоминание и рассуждение, насчитывает уже не менее 2000 лет. Приход эры вычислительных машин (компьютеров) в начале 50x roдов придал дисциплине искусственноro интеллекта теоретически обоснованный и экспериментальный характер. Общество почувствовало, что «электронный моз.,.. таит В себе оrpoмный потенциал для развития искусственноro инreллекта. Компьютеры позволили создать базу для экспериментальной проверки идей и 11 L 
1. Искусственный интеллект методов искусственноrо интеллекта. Мноrие из этих идей не выдержали испытаний  создание areHToB оказалось HaMHoro труднее, чем это предполaraлось на заре развития искусственноro интеллекта. Современные идеи HaMHoro боraче, тоньше и практичнее их ранних предшественниц. В настоящее время ИИ объединяет большое число разделов. К искусственному интеллекту относят как общую теорию очувствления или восприятия, так и специальные методы типа иrpы в шахматы, доказательства математических теорем, написания стихов или диаrностики заболеваний. Ученые, специальностью которых не является ИИ, находят в нем основу для систематизации. и решения инre.JЩ6КТYальных задач, которым они посвятили значительную часть своей :жизни. И наоборот, специалисты применяют методы искусственноrо интеллекта в самых разнообразных областях, rде без них не удается достичь успеха. Именно поэтому искусственный интеллект является воистину универсальной областью знаний. 1.1. Что же такое искусственный интеллект? в общих словах мы рассказали, что такое искусственный интеллект, но этоrо, конечно, недостатчно для Toro, чтобы понять, каковы же ero задачи и пути реll1еНИЯ этих задач. При ведем несколько высказываний, встречающихся в зарубежной и отечествеНной литературе и связанных с определением И'скусственноro интеллекта. Восхищаюшие новые усилия заt:тавить компьютеры думаТЬ...машины с разумом в полном и языковом смьtсле (J.Haugeland, 1955 r.). Автоматизация деятельности, которую мы ассоциируем с человеческим мышлением, такой как принятие решений, решение задач, усвоение знаний (R. Е. Веllmап, 1978 r.). Исследование умственных способностей с помощью ипользования вычислительных моделей (Е. Chamiak and О. McDermot, 1985 r.). Теория эвристическоrо поиска и вопросы создания решателей задач, относящихся к разряду творческих или интеллектуальных (r. с. Поспелов, 1986 r.). Система, которая сnо€:обна находить ориrинальные и эффективные ответы, часто неожиданные как для пользователя и конструктора ЭВМ, так и для составителя проrрамм, по которым работает мащина (А. r. И вахненко, 1986 r.). Искусство создания машин, способных выполнять действия, которые потребовали бы интеллекта от людей, если бы они эти действия выполняли (R. Kurzweil, 1990 r.). Область исследования, которая пытается понять и моделировать разумное поведение в терминах вычислительных процессов (R. J. SchalkotТ, 1990 r.). Исследование TOro, как заставить компьютеры делать вещи не хуже людей (Е. Rich and К. Knigpt, 1991 r.). Изучение исчислений, которые позволяют понимать, рассуждать и действовать (Р. Н. Winston, 1992 r.). 12 
1.2. AzeHmbI носители иcкyccтtJeHHOZO интеллекта Orpасль науки о компьютерах, которая интересуется автоматизацией разумноro поведения (J. 1. Luger and W. А. Stubblefield. 1993 r.). . Эrот список можно продолжить. Если считать, что все эти высказывания или определения относятся к неким системам, обладающим искусственным интеллектом, то можно замети:rь. что все они так или иначе, связывают искусственный интеллект с умением рассуждать и дейcrrвовать (принимать решения) на основании этих рассуждений. Из больщинства определений остается неясным, как всетаки заставить машины рассуждать и действовать подобно человеку, а может быть и лучше. Например, можно пойти пyrем наблюдения за поведением человека, а затем просто имитировать это поведение на основе полученных экспериментальных данных. Такой пyrь можно HCQвaTb имитационным. В настоящей книrе рассмотрен друrой путь, опирающийся на математический и инженерный подходы. В отличие от имитационноro назовем ero лоrистичес.rnм (от -rpеческоro слова AOzucтu"a (Iogistica), означающеro искусство вычислять, рссуждать). Основополаraющая часть теории искусственноrо интеллекта, изложенная в настоящей книrе, посвящена лоrистическому подходу, т,е. тому, как надо рассуждать, используя лоrистику, чтобы в результате прийти к искомому выводу (умозаключению) и на ОСновании этоro умозаключения ПРИ,нимать рещение о совершении тех или иных действий. С помощью аппарата .лоrистики можно изложить львиную долю Toro, что сеroдня входит в дисциплину искусственноro интеллекта и о чем можно узнать после прочтения настоящей книrи. В основе лоrистики лежит определенный математический аппарат, оперируя которым и удается формализовать процесс .рассуждения и достижения рещения (цели). Это не означает, что человек раССУЖдает и действ)'т точно так же. Мы этоro даже не знаем, но, воспрльзовавшись подобным аппаратом, будем в состоянии построить areHToB, обладающих интеллектом, Т.е. СП0Собных рассуждать и принимать на основании этих рассуждений решения. Рассмотрим теперь подробнее типы areHToB. 1.2. AreИТbl  носители иск:усственноro ИRТeJlJlекта 1.2.1. Взаимодействие areиra с ..ешнеl средой AreHT воспринимает внешнюю среду с помощью дaт"",,(НI XJ' ..., Х т И воздействует на нее посредством UС1ЮAllUIlle.A6N6IX OJJl(llltJ(l ZJ' ..., Z" подобно тому, как человек воспринимает внешнюю среду или просто .cpei}y с помощью opraHoB чувств и во;шействует на нее с помощью таких частей тела, как руки, ноrи и Т.П. В понятия датчиков и испощrnте,1Jьных opraHoB закладывают самый широкий смысл. Например, датчиком может быть некий аналоr уха, воспринимающий речевые сообщения, а исполнительным opraHoM  opraHbl речи, позволяющие передавать сQ06щенИJiI на какомлибо S1Зыке. Обычно воздействие зreнта на среду называют реа1Щuеii, а восприятие areHToM среды 13 I L 
], Искусственный интеллект  BOC"jJUт_Ul. Если каждый исполнительный opraH z. сопоставить с 7 одноименной вьutIOнoa "]Н!JIUН1Ioa z" принимающей множество значений 7 у., И каждое такое значение назвать JtI."popellКl(.eii, то реакция будет J представлять собой набор значений у/, ..., Уn' Аналоrично, если каждый датчик х. сопоставить с одноименной o. "ере.мен1lО. Х" принимающей I I множество значений a/ называемых JtIIlкpotIOCllpUllтlUUfl., то восприятие будет представлять собой набор значений а/, ..., а т . Поведение areнтa состоит в переработке восприятий в реакции. эта переработка осуществтtяется areHToM с помощью специальноrо peUlllmeAR, функционирующеrо на основе заложенных в Hero 3111111.а. Не существует какойлибо общепринятой классификации 8reH'I'OB. В зависимости (Jt' сложности решаемых задач выделим следуюшие четыре типа areHToB: комбинационные; последовательностные; целенаправленные; целевыбирающие. 1.2.2. Комбинационнwй areнт Поведение Kaм6.1UIII,.OH1I020 tueHтIl внешне выrлядит достаточно простым. В определенный момент времени 1 areHT получает с датчиков х"..., х.. восприятие а/, ..., а т , характеризующее состояние среды, На основании только этоro восприятия и неизменяемых в процессе Bcero существОвания areHTa знаний, хранящихся в ero памяти, он в этот же момент времени с помощью исполнительных opraHoB z/' ..., Zn формирует реакцию У"..., У". Конечно, при практической реализации areHTa на формирование реакции по данному восприятию требуется время, но теоретически считается, что все происходит MrнoBeHHo в момент времени 1, и этот момент времени нас может даже не интересоваТь. Существенно лишь то, что комбинационный areHT не порождает новые знания. Каждый раз, Korдa надо вырабатывать очередную реакцию по вновь поступившему восприятию, он использует одни и те же знания, хранящиеся в ero памяти. 1.2.3. ПоследователЬНOCТНЬII аreнт Комбинационный areHT может быть успешно использован в среде, в которой одноrо восприятия в данный момент времени достаточно для выработки реакции в тот же момент времени. Предположим, например, что areHToM является водитель автомобиля, дви:жущеrося по мноroрядному шоссе в крайнем правом ряду. Впереди Hero движется дрyrой автомобиль, который неожиданно начинает резко тормозить (за:жж.ены ero тормозные оrни). В этой среде правилам и areHTa, сформулированными на естественном языке, моrли бы быть следующие. . Если зажжены тормозные оrни у пвижушеrocя впереди автомобиля и левый ряд свободен, то обоrнать ero без торможения слева. . Если за:жж:ены тормозные оrни у дви:жущеrося впереди автомобиля и левый ряд занят, а скорость автомобиля зreнта невелика, то МЯ 'I'Oro, чтобы не врезаться в движущуюся впереди машину, затормозить и продолжать движение в том же ряду. 14 
1.2. AzeHmbI носители UCKyccmeeHHOZO интеллекта . Если зажжены тормозные оrни у движущеrося впереди автомобиля, левый ряд занят, а скорость автомобиля arema такова, что любое собственное торможение без съезда на обочину приведет к столкновению, то экстренно затормозить и съехать на обочину. Предположим, что вследствие критической ситуации комбинационный аreнт способен в данный момент времени установить только факт наличия у движущеrocя впереди автомобиля зажженных тормозных оrней и факт наличия помехи слева, но не в состоянии считать со спидометра и оценить скорость cBoero автомобиля. В этом случае он может использовать только первое правило из трех. Для тоro чтобы иметь возможность применить два друrих правила, необходимо в подобной ситуации каждый раз успевать считывать со спидометра скорость своеro автомобиля. Torдa количество используемых правил может быть увеличено. Друrой путь повышения числа используемых правил  реryлярный контроль в безаварийной ситуации скорости своеro автомобиля по спидометру и запоминание ero последнеrо показания. Это нужно для 'I'Oro, чтобы извлечь из своей памяти последнее показание спидометра, коrда 'это понадобится. Естественно, предполаraется, что она с тех пор не изменялась. В момент принятия решения определение скорости происходит за счет восприятия, запомненноro в некоторый предыдущий момент времени. AreHToB, которые используют запомненную в предыдущие моменты времени информацию, называют последовательностными. 1.2.4. ЦеиаправлеННЫi &re1П Поведение qеАеи""р"""еииоzо "zеит" принципиально отличается от комбинационноro и последовательностноrо, поскольку ИХ поведение основано на восприятиях в настояший или предыдуший момент времени и использовании правил, учитывающих только эти восприятия или производные от них состояния. Например, тот же комбинационный или после;щвательностный areHT, являющийся водителем автомобиля, должен попасть в определенное место по известному ему адресу не позднее назначенноrо времени. Он плохо знает rород, но имеет карту и движется к нужному месту, ориентируясь по ней. Он видит, что впереди перекресток, от КОТороro улицы отходят только налево и направо, и, повернув на любую из них, можно, в конце концов, достичь места назначения. Оба маршрута кажутся равноправными, хотя по какимто непонятным для водителя причинам основной поток машин поворачивает налево. Правый поворот 8сеrда проще и водитель решает повернуть направо. Однако он не знает, а на карте ЭТо не помечено, что, повернув направо, изза ремонта на одной из улиц, он столкнется с ситуацией, коrда машины вынуждены двиrаться в один ряд, следовательно возникают постоянные заторы. И именно поэтому большинство дрyrих машин, водители которых лучше знают rород, на перекрестке повернули налево. Таким образом решение areнтa о повороте направо, скорее всеro, приведет к тому, что он опоздает к месту назначения. 15 
1. Искусственный интеллект Комбинационный ИЛJl последовательностный areHT в этой ситуации Mor бы принять правильное решение, если бы имел правило, учитываюшее факт поворота большинства машин на перекрестке налево, на основании KOТoporo ero реакцией также был бы поворот налево. Однако в реальной жизни, вo первых, трудно предусмотреть абсолютно все правила, а BOBTOpЫX, среда может изменяться, одни правила MOryт становиться излишними или даже неверными, а друrих правил может недоставать. Поэтому СКQЛЬКО бы ни пополнялась база правил комбинационноro или последовательностноrо areHTa, невозможно raрантировать достаточность числа правил ДЛЯ выработки реакции в не предусмотренной заранее ситуации. Кроме Toro, их число может стать слишком большим. В этих условиях ДIIя Toro, чтобы не попасть впросак, areHT должен KaKТO предвидеть будушее. Комбинационный (или последовательностный) areHT использует информацию только о прошлом и настоящем и не способен предвидеть ситуацию. Целенаправленный' же areHT прежде, чем принять решение, на основании известной ему цели (в нашем примере места назначения и времени, к котОрому он туда должен прибыть) заранее планирует свои реакции. Иными словами, на основании имеюшихся у Hero правил areHT заранее до 'I'Oro, как он начнет действовать, пытается построить план, rарантирующий ему достижение цели, или обнаруживает, что TaKoro плана не существует. В сJiучае обнаруЖения недостижимости цели он может запросить дополнительные правила и продолжить или повторить процесс поиска. План является последовательностью пар восприятие  реакция (или только реакций), называемых также iJeicmtlllJlJtlu и ведуших к цели, Если план найден, то целенаправленный areHT ero ВЫПОЛняет и достиrает цели. Таким образом, решатель целенаправленноro areHтa использует не раз и HaBcerдa данное ему множество правил, предписывающих, какие реакции выдавать.в ответ на восприятия, а liCякий раз для каждой вновь возникающей цели порождает план достижения именно этой цели. Исходными ДIIЯ работы тaKOro решателя MOryт быть также правила, описывающие не реакции areHтa на конкретные восприятия, а некие общие законы ero поведения в среде, законы поведения самой среды и законы порождения планов достижения целей. 1.2.5. Целеаыбирающиii areнт Целенаправленный areHT в. состоянии сотавить план достижения цели. В принципе, планов достижения цели может быть несколько и из них надо выбрать лучший по определенным критериям. Например, целенаправленный аrентводитель может наметить неСi<:ОЛЬ.ко путей достижения места назначения,. но расход топлива при этом может быть различным. Следовательно, желательно уметь оценить планы с точки зрения расхода топлива и выбрать из них наилучший. Таким образом, f4e.U!t1ьЮU]ИUOll(Ui lIМНт, ПОМJ-IМО возможност.и построния планов достижения целей, так же, как это делает целенаПlJCiвленный areHT, способен на большее. Вопервых, при наличии одной цели он может выбирать из множества всех конкурирующих 16 
/.3. Среды и щенты планов достижения uели наилучший, иноrда и без полноro построения всех планов. Boвтopыx, при наличии нескольких конкурирующих целей, достижение каждой из которых заранее нельзя оценить с полной увереННОСТJ>Ю, он способен определить степень успеха достижения каждой цели в зависимости от ее вюкности. Втретьих, на основании предшествующеrо опыта, он может обучаться и корректировать или пополнять свои знания. 1.3. Cpeдw и areнтw Лrент всеrда функционирует в не которой среде. От свойств КОНI<ретной среды зависит выбор типа areHToB и Bcero, что ему необходимо для успешноrо ФУНКWfонирования в этой среде. Рассмотрим в общих чертах свойства сред в B взаимоисключающих пар. 1.3.1. Дискpemые и Непреры.....е среды ДuCltpeтн61е СJИ061 таковы, что число различных восприятий и реакций, которые требуются areHTY при ФУНКllИОНИРОвании в среде, конечно, хотя и МОжет быть очень велико. Непрерыtlные среды MOryт поро:ждать бесконечное число восприятий, реаI<llИЙ или TOro и дрyrоro. Примером дискретной среды является, например, среда шахмат, а непрерывной. среда аreнтаводителя, если для ero функционирования требуется восприятие значения, например, скорости со сколь yrодно высокой точностью, Если же все параметры среды воспринимаются areH'I'OM (как это обычно бывает на практике) с определенной точностью и в заданных пределах, например, скорость с точностью по 1 кмjч в пределах от 1 до 200 кмjч, то такая среда с точки зрения 8reHтa так:же может считаться дискретной. 1.3.2. ДeтePМJIIIIIIIOUIOIbe и иедетеРМIIНIIpOвавные среды В iJeтe]МIuHupoвaHH6IX средах по любому восприятию areHT формирует cтporo ОДНУ реакцию. Недетер.мuнU}НИИlННwe же среды таковы, что вследствие какихлибо причин, например недоступности всех необходимых восприятий, areHT не в состоянии сформировать единственную реаКllИЮ. 1.3.3. Статические и динамические среды Среда является cmtlmlPlecKoii, если за время, протекающее Между получением areHToM любоrо восприятия и выработкой им реакции, в среде ничеrо не изменяется. В противном случае среда называется iJ."IUI.CKO.. При функционировании areHTa в статической среде необязателъно, чтобы он наблюдал за ней, пока занимается выработкой реакции. Но даже если среда ЯВляется динамической, на практике чаще Bcero считается, что для areнтa неважно, какие изменения в ней происходят, пока он вырабатывает реакцию. Лreнт иrнррирует эти изменения, считая динамическую среду статической. Итак, в настоящей rлаве были рассмотрены три важнейших понятия: 17 
Вопросы и упражнения случае комбинационноro areнтa эти рассуждения простые, для дрyrиx  более сложные. Но в любом случае в основе рассуждений с использованием базы знаний лежит лоrика. Именно поэтому наибольшее внимание в книre уделено лоrикам, специальным языкам или исчислениям, создаваемым на их основе, и процедурам рассуждений. Кроме TOro, наряду с введением необходимых понятий даны примеры построения areНТOB для решения простых задач. Вопросы и упрumеНИJI 1. Что такое искусственный интеJUIехт? 2. какая rлавная черта присуща aremy и какие бывают areиты? 3. Что такое среда и какие бывают среды? 4. Выберите одну из известных вам сред. Orнесите ее к одному из типов и определите, какой из areНТOB наиболее подходит для вашей среды и почему? 5. Пусть areHT является водителем со своими привычками и не Bcerдa следует правилам дорожноrо движения. Выбирите тип areнтa, который наиболее подходит для каждоro из следуюших случаев поведения: а) вcerдa использовать тормоза при спуске под ropy, если впереди двиraeтcя дpyroй автомобиль, а скорость вawero автомобиля такова, 'П'О вы ero быC'IpO нaroняете; б) никоrда не испол..зовать ТорМоза при спуске под ropy, тормозить ТОЛI&О двиraтелем; в) каждый раз при спуске под ropy смоореть 11 зерlWIО заднеro вида и при наличии автоМобиля сзади, который находится в пределах ВИДИМОСТИ, ИСПOJlb3Oвать тормоза, а в отсyrcтвие  не использовать. Тормозить двиraтелем, есJ.lИ в конце спуска видна rpynпа детей, стоящих на обочине. 6. Объясните понятия микровосприятие, микроситуация, микрореакция, восприятие, реакция areHтa? Приведите примеры для каждоro из них. 7. Что такое знания areнтa? Как они MOJyJ' быть представлены? 8. Что делает решатель areнтa? 9. Что такое состояние среды и чем оно отличается от восприятия? 10. Что такое цель areHтa? Чем отличается целенаправленный аreнт от целе выбираюшеrо? 11. Из каких двух rлавных частей состоит areHT? 
2. лоrичЕСКИЕ РАССУЖДЕНИЯ в эmoи ZЛDВe pacClllOтpeнa задача создания целенаправленнDZО azeHтa, имеющеzo дело с дискретной средой, ее постановка и решение. Введены основные понятия лozики вЫСlC03ывонии. ОписаН процесс рассуждений в этой лоzике, позволяющий целенаправленному а2енту достщать целей. Рассужi}е".UI или умозаключением обычно называют ряд мыслей, изложенных в лоrически последовательной форме. В предыдущей rлаве были введены понятия состояний среды. Настоящая rлава ПОС9ящена иучению возможности areнтa находить интересующие ero состояния среды-(целевые состояния), если он чтолибо знает о друrих ее состояниях. Определение целевых состояний осуществляется с помощью поиска или рассуждеЮfЙ 8 пространстве состояний. Обсудим, как рассуждения подобноro рода можно формализовать в языке лоrики высказываний, т,е. как формально поставить задачу на языке лоrики высказываний и затем ее формально решить, пользуясь аппаратом лоrики высказываний. Рассмотрим также, предваряя rлаву 6, что такое стратеrия решения или поиска. Там, rде это возможно, введение необходимых понятий будем иллюстрировать простыми примерами. В конце rлавы остановимся на трудностях, которые возникают при решении задач с помощью только лоrики высказываний. 2.1. Рассуждения в пространстве состоJIНИЙ среды в коммунальной квартире две старушки занимают по комнате. Комнаты находятся в общем коридоре, который имеет выход на лестничную клетку. Одна из комнат расположена слева (левая комната) от выхода, а друraя  справа (правая комната). В коридоре живет кот, KOToporo обе старушки одинаково любят и балуют, оставляя ему кусочки сыра. Каждая старушка кладет кусочек сыра у двери своей комнаты. Кот отдыхает либо у левой комнаты (слева), либо у правой (справа). Множество всех состояний этой среды (среды кота) можно представить табл, 2.1, в столбцах которой для кажп.оrо состояния среды указаны местонахождение кота (слева или справа), наличие или отсyrствие кусочка сыра (да или нет) у соответствующей комнаты. Состояние Ь, означает, что кот находится около левой комнаты и около обеих комнат лежит по кусочку сыра, состояние Ь 2  кот находится около 20 
2./. Рассуждения в пространстве состояний среды Таблица 2.1 Местонахождение Наличие сыра Состояние кота слева справа b I Слева Да Да Ь 2 Справа Да Да Ь з Слева Да Нет Ь , Справа Да Нет b s Слева Нет Да Ь, Справа Нет Да Ь 7 Слева Нет Нет Ь В Справа Нет Нет правой комнаты и около обеих комнат снова лежит по кусочку сыра и Т.д. Кот может совершать в один и тот же момент времени только одно из следующих действий: переходить К дверям левой комнаты, переходить к дверям правой комнаты и съедать кусочек сыра около той комнаты, rде он находится. Эти действия обозначим С/ == Идти налево, С} == Идти направо и с з == Съесть соответственно. Если среда находится в одном из состояний, перечисленных в табл. 2.1, и кот совершает какоелибо из действий, то Heтj>YДHO определить, в какое состояние- после выполнения дейсtвия перейдет среда. Будем полаr8ть, что нам известно состояние, называемое Hll'ItUlIlltlAf, с котороro MOI)1" начаться изменения среды при деЙСТ8ИЯХ кота. Пусть, например, это будет состояние Ь /. Будем изображать состояния кружочками с обозначением состояния внутри кружочка. Переход из одноrо состояния в друrое, Рвс. .2.1. Допустимые переходы из начальноrо состояния Ь/ 21 
2. Лоzuческuе рассуждения Рве. 2.2. Дерево переходов ПРОИСХОДЯЩИЙ в результате действия, будем изображать стрелкой, ведущей в это дрyrое состояние и помеченной соответствующим действием. Так, на рис.2.1 изображены все перс;:ходы из состояния Ь, в результате действий С" С р С.т На рис. 2.2 показано дерево всех дальнейших переходов, являющееся продолжением элементарноrо дерева на рис. 2.1. Построение каждой ветви дерева прекращено на том состоянии, которое встречается повторно на пyrи, ведущем в нею из начальноrо состояния. 2.1.1. Постановка задачи Цель кота  не оставить ни одною кусочка сыра, rде бы он изначально ни находился. В терминах состояний среды целью кота является перевод ее с помощью своих действий (реакций) в одно из состояний Ь 7 или Ь В ' СОСТQЯНИЯ, В которые с помощью набора допустимых действий необходимо перевести среду, называются l(eAeBыAlI.. Процесс определения этих состояний называют ФОРМУАllJКНlкоii l(еАlI. Будем полаrать в рамках нащеrо примера, что каждое восприятие совпадает с одним из состояний. Задачей areHTa (см. rл. 1) является 22 
2. J. Рассуждения в пространстве состояний среды нахождение последовательности действий или пар ВОсприятиедействие, ведущих на дереве переходов из начальноrо состояния в целевые. Процесс нахождения этих последовательностей называют 1I0IlCKOJN, в...одОAl или . ПtJCllltlllНкоii з-.. называют задание всех состояний и действий, КОТОрЫе можно использовать для решения задачи, начальноrо состояния и целевых состояний, а также всех допустимых переходов между состояниями при выполнении действий. для среды кота постановка задачи уже осуществлена. все состояния, которые MOryr использоваться при решении задачи, перечислены в табл. 2.1. Целевыми состояниями являются состояния Ь 7 , Ь в , Все допустимые переходы между состояниями показаны на рис. 2.2. Из рисунка ясно, ЧТо решениями задачи является последовательность Ь,/С р Ь/с)' biCJ' ЬзIс)' в результате выполнения которой areHT (КОТ) переведет среду в состояние Ь 7 , и последовательность Ь/с)' bslc p bic)' в результате выполнения которой среда окажется в состоянии Ь К 2.1.2. Поиск реmения Решения задачи для среды ко.та практически очевидны, коrда построено дерево переходов состояний среды, по которому леrко проследить пyrи, ведущие в целевые состояния из начальноrо. В реальных задачах это дерево может быть очень большим, вследствие чеrо нецелесообразно использовать Сl1IpllтеZIlЮ 1I0IlCКII, соrласно которой необходимо сначала получать дерево целиком. Вместо этоrо используются друrие более эффективные стратеrии поиска, речь о которых пойдет далее. Однако, какая бы из этих стратеrий Не применялась, элементарным шаrом поиска является переход из одноrо состояния среды в друrое и анализ состояния, в которое переход был осуществлен, н'а принадлежность к числу целевых. Каждый допустимый переход из состояния h; после совершения действия c j в состояние Ь. можно задавать с помощью правила перехода: « Если среда находится в состоянии Ь. и совершается действие С., то она должна перейти в состояние b."it. . J - А Совокупность правил подобноrо типа используется в процессе поиска. Одной из очевидных, но чрезвычайно неэкономных стратеrий поиска, позволяющей найти все решения для среды кота, может быть следующая. 1. Образовать множество В == {b J }, состоящее из одноrо началЬНоrо состояния b J . 2. Для каждоrо состояния множества В и каждоrо действия с. найти, J соrласно соответствующим правилам перехода, все состояния Ь., в которые переходит среда. Совокупность всех таких состояний, за исключением тех, которые уже встречались в ранее образованных множествах В, принять за новое множество В. 3. Проверить, нет ли среди элементов этоrо множества целевых состояний. Если целевых состояний нет, то перейти к П. 2. Если целевые состояния есть, то выписать в порядке использования правил все последовательности действий, которI>Iепривели К целевым состояниям, удалить эти состояния из множества В и перейти к выполнению следующеro пункта. 23 
2. ЛU'lеские рассуждения 4. Проверить, все ли целевые состояния найдены. Если найдены Все, то прекратить поиск. Если найдены не все, то перейти к п. 2. ПРОИ1UJl()(;J'pируем на примере среды кота применение этой стратеrии. Правила перехоД8 выписывать не будем, поскольку в нашем распоряжении уже есть дерево переходов (см. рис. 2.2). Итак, вначале В == {Ь/}. После выполнения п. 2 имеем совокупность состояний Ь/, Ь р bj. В этой совокупности нет ни ОДНоro целевоrо состояния, а состояние Ь/ уже встречалось. Поэтому, соrласно п. 3, принимаем В == {Ь 1 , b s } и переходим к выполнению п. 2. В результате получаем совокупность состояний Ь/, Ь 1 , Ь." Ь:р Ь", среди которых опять нет целевых, а Ь/, Ь р Ь 6 уже встречались. Поэтому В == {Ь." b6t и снова возвращаемся к п. 2. После очередноrо выполнения этоrо пункта имеем совокупность состояний ы' Ь." Ь:р Ь 6 , Ь, Среди этих состояний Ь." Ь:р Ь 6 уже встречались, а состояние Ь В является целевым. В это состояние ведет единственная последовательность действий С З С 1 С З . Однако еще не все целевые состояния найдены, а имеННО не найдено состояние Ь 7 " Поэтому в соответствии с п. 4 продолжим поиск, BOBЬ переходя к п. 2 с множеством В == {Ь). В результате получим совокупность состяний Ь з , Ь 4 , Ь?, среди которых Ь З ' Ь 4 уже встречались, а Ь 7 целевое. Последовательностью действии, ведущих в состояние Ь 7 , является C 1 C J CfJ. Итак, все целевые состояния найдены, решение задачи В виде последовательности действий, ведущих в эти состояния, получено. Поиск на этом прекращается. 2.2. Лоrика высказываний  предыдущем параrpафе показано, что рассуждения areHTa (поиск решений задачи) сводится к определению правил перехода в соответствии с выбран.ной стратеrией. Каждый шаr состоит в проверке areHToM истинности левой части Правила (факта нахождеНИЯ среды в состояНИИ Ь; и допустимосТи действия с) и, в случае ее истиннocrи, признании факта перехода из состояния Ь, в состояние Ь 1l в результате действия C j Естественно, нам хотелось бы иметь математический аппарат, на основе KOТOporo можно осуществлять пocraновку и поиск решения задачи формально, используя наилучшую стратеrию ПоМска. Лоrика высказываний  это первый шar к созданию тaKoro аппарата. Осуществить постановку задачи формально  значиr, имея некий фоРМIlAЫI"'Й 113"''', 'ВЬq>a3ИТЬ на нем все Зlfания о среде, необходимые для решения задачи. Формальный язык в соответствии с современными представлениями требует рассмorpeния двух ero неотъемлемых частей: синтаксиса и семантики. CuнmtlКCllC языка описывает допуcrимые в языке предложения, состоящие из цепочек (последовательностей) символов, принадлежащих определенному множеству, называемому tuфll.Il1rIOJtI. Синтаксис языка позволяет отличать предЛожения, при надлежащие языку, от предложений, ему не принадлежащих. СeJНllи",и"lI языка определяет смысл этих предЛожений, сопоставляя символы языка с <>6ьeJrnlми реальноro мира, а предЛожения  отношения между объектами. Без семантики предЛожения языка являются ничеro не значащими для areHтa 24 
2.2. ЛиКа высказываний цепочками символов. Семантика лоrики высказываний позвdляет подразделять все множество допустимых предложений на истинные и ЛОЖНЫе. Истинные  это те предложения, которые соответствуют имеющим место фактам или O'fношениям, а ложные  не имеющим. Решать задачу формально  это значит иметь множество правил и стратеrию их использования, которые позволяют осуществить выВО'Д одних синтаксически правильных истинных предложений из друrих синтаксически правильных истинных или I'Iредполаraемых истинными. 2.2.1. Синтаксис JlOПOOI 8W(КIЗWUнd Синтаксис лоrики высказываний прост и имеет прямые синтаксические и семантические аналоrи в естественны" языках, что чрезвычайно облеrчает нам понимание лоrики высказываний. Символами языка лоrики высказываний, составляюшими ее алфавит, являютс.я лоrцческие к()нстанты ИСТИНА и ЛОЖЬ, сокращенно обозначаемые буквами И и' -д, лоrические пеР,еенные х, У, Z,..., обозначаемые строчными буквами латинскоrо алфавита, лоrические связки л (И), v (ИЛИ), .., (!lЕ), ;: (ЭКВИВАЛЕНТНО), ::::> (ВЛЕЧЕ1) и рyrлые скобки. ЗначеНИЯМIi. лоrических переменных являются лоrические константы. Предложения языка лоrики высказываний, называемые таюк.е формуJЩМИ или высказываниями, составляют в соответствии со следующими Пpщlилами: лоrические констант". являются ПРОСТI1't-fИ rредложениями; лоrические переменные таюк.е простые ПредЛожения; сложные преllJlожения формируются из простых с помощью связок л (И), v (ИЛИ), .., (НЕ), ;: (ЭКВИВАЛЕНТНО), ::::> (ВЛЕЧЕ1); простые и сложные предложения, заключеННые или не заКЛЮченные в скобки, ЯWIятся предложениями языка лоrики высказываний; из предложений с помощью связок и <;кобок мож.но образовать новые предJl(>жения языка лоrики высказываний; связки имеют следующий порядок старшинства .." Л, V, ::>, а, Т.е. связка .., самая старшая, а связка ;;:  самая млмшая. Формулы лоrики высказываний, cOCТjiWleHHыe ПQ этим правилам, называют IIJN"IЦ6IW iJOCltIJIO(lUIbIAUIJН ФРJМIУAIIМIl или с.окращенно ФОJUl1At1AU1. 2.2.2. Семцтика ЛОПWI ...сuэ .....НIIii Семантику лоrики высказываний можно пояснить смысловой Ilнтep1lJN!mtlI(Ileii ее предложений или формул, под которой обычно понимают процесс установления соответствия между лоrическими переменными и измняющимися свойствами объектов среды и между значениями переменных (крнстантами) и конкретными значениями свойств объектов. В примере со средой кота  это соответствие между лоrической переменной х" и свойствами кота находиться слева или справа и значеНИЯМI;J лоrической переменной X,, И и X,, Л, следоЩтельно, одним из местонахождений кота (слева или справа) И дал€;е между отношениями свойств объектов и формулами, истинное значение которых определяет наличие orношения, а ложное  ero отсутствие. 25 
2. Лоzическue рассуждения Иначе rоворЯ, интерпретация определяет семантику формул (предложений, высказываний) путем сопоставления переменных в формулах со свойствами объектов среды, а отношений между этими свойствами  С формулами. Эro позволяет по значению формул после подстановки вместо переменных конкретных значений свойств судить о наличии или отсутствии у среды тех или иных совокупных свойств или отношений. Если дана какая либо формула, то подстановка в формулу констант вместо ее переменных называется конкреmllЗlIl(lIеii. Таким образом конкретизация является результатом интерпретации. Замечательным свойством лоrики высказываний является То, что семантика ее простейших формул, Т.е. их IIcmllHHocтныe ЗНII'IеНIIII (Н или Jl) близки к соответствующим высказываниям на естественном языке при любой интерпретации. Так, например, если формула включает только одну связку, то ее семантика O'leHb близка к соответствующим высказываниям в русском языке. Так семантика формул х v у, Х л у,  Х, в которых встречаются соответственно связки л, V, , практически совпадает с отношениями, определяемыми соответственно смыслом слов «и», «или», «не», употребляемых в русском языке для выражения отношений между свойствами объектов, обозначаемых переменными х, у, хотя некоторые различия имеются. Например, формула х v у имеет истинное значение, если хотя бы одна переменная истинна, но она истинна и при истинности обеих переменных. rоворя на русском языке «х или у., обычно предполаraем, что это предложение истинно, если истинна только одна переменная, Т.е. это предложение PYCCKOro языка По смыслу ближе к формуле лоrики высказываний х v  у v  Х v у. Еще больше различий между семантикоЙ формулы х :J У в лоrике высказываний и похожему на нее высказыванию на русском языке «х влечет у.. Первое различие -состоит в том, что в русском языке мы полаraем, что предложение «х влечет у. истинно, если истинны х и у, Т.е. предложение pycCKoro языка По смыслу совшщает с формулой х лу, в то время как формула х => у может быть истинной не только Torдa, коrда истинны обе переменные х и у, но и коrда обе ложны или коrда х ложна, а у истинна. Кроме тоro, семантика формулы х => у вообще не предполаraет какой либо СВJlЗИ 'между переменными х и у. Чтобы не обсуждать в дальнейшем подобные несоответствия, впредь будем ПОJ1'аraть, что, ynотребляя формулу х :J у, мы вкладываем в нее смысл, вытекающий из следующеro предложения: «Мы заявляем, что истинность высказывания «Х влечет у. означает, что истинность х влечет истинность у, а больше мы Ничеrо не заявляем». Истинностные значения любой формулы, т,е. ее семантику, всеrда можно задать таблицей, состоящей из двух частей: в левой части таблицы перечислены все наборы значений apryMeHToB, а в правой соответствующие наборам значения формулы. Задание таких таблиц для связок облеrчается тем, что значениями apryMeHToB и формул являются только две величины  И или Л. Такие таблицы в лоrике высказываний называют 1fUItUllIfIIAIII llCтIIIUIOCnиI (табл. 2.2). Таблицы истинности можно построить для любой формулы, поскольку любая формула является композицией формул для связок. Если 26 
2.2. Лоzика высказывании ТаБJrица 2.2 х у ....,х хлу xvy х :::> у х == у л л и л Jt и и л и и л и и л и л л л и л л и и л и и и и формула интерпретирована, то ее таблица истинности определяет семантику интерпретированной формулы, поскольку по ней можем всеrда определить, какие же отношения между свойствами объектов, обозначаемых переменными, имеют место (формула истинна) и не имеют места (формула ложна). 2.2.3. Общезначимwе формулы и их рола. Формулы, истинные на всех наборах значений своих apryмeH'I'OB, называют общезначимыми формулами. Если какаялибо формула <х является 06щезНQ'I8JtIOii, то этот факт обычно записывается с использованием знака общезначимости F, который ставится перед формулой: F<X. ПРОВерку формулы на общезначимость можно осуществить с помощью таблицы истинности: если формула истинна во всех строках таблицы истинности, которая содержит все - возможные наборы apryMeHToB формулы, то эта формула общезначима. Рассмотрим, например, формулу...., х л (...., у v у):::>...., х. Таблицей истинности для нее ЯWlяетсЯ табл. 2.3. Таблица 2.3 х у ....,х (...., у v у) ....,хл(....,уvу) ...., х л (...., у v у)::>....,х л Л и и и и л и и и и и и л л л л и . и и л л л и 27 
2. ЛОZU'lескuе рассуждения Из табл: 2.3 ясно, что формула...., х л (...., у v у) :J ...., Х является общезначимой (во всех строках последнеrо столбца стоит значение И). Ранее было заявлено, что истинность высказывания а/ ::::> 0.2 всеrда означает, что истинность а/влечет истинность а 2 (здесь а/и а 2 ЯВ1IЯIOТCЯ формулами лоrики высказыванИЙ). Потому., устаНОВИВ факт общезначимости формулы 0./::> 0.2 И истинности 0./' вcerдa МоЖНО сделать заключение об истинности а}. Так, например, предположим, что истинное значение лоrической переменной Х в формуле ...., Х л (...., у v у) ::> ...., Х соответствует местонахождению Кота слева (Слева), а ложное значение лоrической переменной Х соответствует местонахождению кота справа (Справа), истинное значение переменной у соответствует наличию сыра около левой комнаты (Да), а ложное ero отсутствию там (Нет). В этом случае при истинности формулы ...., Х л (...., у v у) можно сделать заключение об истинности формулы """1 Х, что соответствует нахождению кота у правой KOMHaТbI (Справа). Таким образом, общезначимость формул вида a/:J а}, называемых IIJtUUlIКIlтlltlHЫltfIl ФОРJtlY"flJtUl, является важным свойством для получения заключения об истинности а}, называемоrо 3IIК/UO'IeHlleJN, при истинности ар называемоrо посылкой. Для простоты импликативные формулы 0./ ::::> а} будем называть так же, как и связку ::>, 1IМ1I.II1I1ЦI1(IIei, В лоrике высказываний известно MHoro общезначимых формул, называемых обычно 3II"OHIlМII "0211"11 Bыкll3ъ1BIIHIIu.. Наиболее известными являются следующие законы: коммутативные 0., &0.2 ii 0.2 &0.., а) va2 =0.2 va); дистрибуТивные а, &(0.2 vаз) = (а, &( 2 )v(a) &0.3)' а, v(a2 &0.3) = (о., v(2)&(a, vаз); ассоциативные 0., &(0.2 &0.3)=(0., &0.2)&0.з, а, v(a 2 vаз)=(а, v(2)vаз; законы Де MopraHa ""'(0., &0.2)= (...,a,)v(...,a2)' ....,(0., v(2) = (....,0.,)&(....,0.2); закон двойноro отрицания ....,(....,0.')=0.'. 28 
.2.2. Лоzика высказывании В этих законах а обозначает любую правильно построенную формулу лоrики высказываний. Кроме общезначимых, существуют формулы выполнимые иневыполнимые. Формула называется BыпOAHlI.Мoa, если существуют наборы значений ее apryмeнтoB, на которых она принимает истинное значение, и наборы значений, на которых она прйнимаe-r ложное значение. Если формула на всех наборах значений ее aprYMeHToB принимает ложное значение, то она называется He8Ы1l0AHIIМOa. Установление истинности следствия по общезначимой импликативной формуле достаточно универсальный способ для вывода заключений, но требует проверки общезliачимости последней. Если формула а, :::> а 2 не является общезначимой, то подобноro заключения делать нельзя. Проверку общезначимости можно осуществить с помощью таблицы истинности. Однако построение таблиц истинности слишком трудоемко для Toro, чтобы можно было решать реальные задачи. Вместо этоro используют специальные пpilBIUll вывода, применение KOТOPb.I?, базируется не на понятии общезачимости формулы, в частности общезначимости импликативной формулы, а на понятии модели формулы. 2.2.4. Модел. формулы Любую среду,. конкретизсщия в которой при соответствующей интерпретации делает данную формулу истинной, называют JtlоiJe,.c,ю этой формулы. Так, например, среда кота является моделью формулы Х К Л Х п Л Х П Л Л Z2:::>  Х К Л Х л л Х П при конкретизации переменных. Х к , Х п , Х п ' Z2'  Х К соответственно как высказываний «кот находится у левой комнаты», «у левой комнаты лежит кусочек сыра», «у правой комнаты лежит кусочек сыра», «кот перехо1IИТ к правой комнате», «кот находится у правой комнаты» поскольку высказывание «если «кот находится у левой комнаты» и «у левой . комнатыI 'лежит кусочек сыра» и «у правой комнаты лежит кусочек сыра» и «кот переходит к правой комнате», то после этоro «кот' находится у правой комнаты» и «у левой комнаты лежит кусочек сыра» и «у правой крмнаты лежит кусочек сыра», являющееся конкретизацией формулы Х К Л Х п Л Х П Л Z2 :::>  Х л Х л Х, истинно. к :J n Понятие модели является важным в лоrике высказываний и дрyrих ЛOl"Иках, поскольку позволяет удачно ввести понятие B6IBoдUJIIOCтll одних, истинных при соответствующей интерпретации формул, из друrих истинных. Считают, что формула а выводима из формул (1" а 2 , ..., (1т' если любая (но одна и та же) модель всех этих формул (1., (12' ..., (1т является также моделью формулы а. Иными словами, если формулы ар а2' ,.., а т истинны .на некотором множестве конкретизаций в данной среде, то формула (1 выводима из них, если она также истинна на всех конкретизациях ЭТОrо множества. Факт выводимости записывают с помощью символа выводимости  : аl' ..., (11.  а. 29 
2. Лоzические рассуждения Z.3. ИCЧllслевие выскаЗblllаний ЛOlIIWCКIIМ IIсuc.иNlleAf,ИЛИ просто lIC'IIIСАDllleAf.Называют совокупность, которая включает в себя: алфавит (совокупность используемых символов); синтаксические правила ПостроеНИЯ формул в алфавите; аксиомы (общезначимые исходные формулы); правила вывода по аксиомам производных формул или теорем. Правила вывода а jЗ имеют дело непосредственно с формулами, а не с таблицами истинности, позволяя по истинности одних формул делать заключения об истинности друrих. Символы а и 13 в правиле вывода обозначают одну или несколько формул; а называется УСЛОtllleAf, а 13  CAeiJCтBlleAI. Если в условии или следствии формул несколько, то они записываются через запятую. Нас прежде Bcero будут интересовать только такие правила вывода, с помощью которых на основании ИСТИННОСТи всех формул, входящих в условие правила вывода, можно при любой интерпретации сделать заключение об истинности всех формул, входящих в следсТвие правила вывода. Обычно такие правила называют COCтOIlnlUMЫJtfIl. Доказательство состоятельносТи правила вывода можно осуществить с помощью таблицы истинности, каждая строка которой соответствует одной из моделей условия, а общее число строк совпадает с числом всех моделей условия. Если всем этим условиям соответствуют истинные следствия, то правило является состоятельным. 2.3.1. Классическое исчисление высказываний в предыдущем параrpафе был рассмотрен язык лоrики высказываний. Если в качестве алфавита лоrическоro исчисления взять алфавит лоrики высказываний, в качестве синтаксических правил  синтаксические правила лоrики высказываний, в качестве аксиом  некоторое множество общезначимых формул, например законов, а в качестве правил Bcero два правила: модус поненс и ПОДстановки, указанные ниже, то в результате получим исчисление, называемое обычно IIC'lIlCAeHlleAI ВЫСКt13ЫВIINlli. /UIlCCII'IeCKU IIC'IIICAeHlleAI ВЫСКII361ВIIНlli обычно называют исчисление, аксиомами KOToporo ЯWIяются следующие общезначимые формулы: а :J (13 :J а), (a:J (3):J «a:J (J3 :J Y»:J (a:J у», (а л (3) :Ja, (а л (3):J 13, а :J ( а v (3), 30  
2.3. Исчисление высказывании  ::> ( а v ), а::> ( ::> (а л », (а::> у) ::> «::> у) ::> «а v ) ::> у», (а::> )::> «а::>..., ) ::>..., а), ...,...,а=а. Обратим внимание, чrо все аксиомы лоrики высказываний включают в себя только лоrические переменные и истинны при любой интерпретации. Поэтому, если нам удастся достаточно адекватно интерпретировать эти законы в какой либо среде, то исчисление высказываний може1 служить основой для рассуждений об этой среде. Классическое исчисление высказываний использует два правила вывода. MQZlYC поненс. Из истинности условия имIUIИкации И истинности самой импликации следует истинность следствия импликации: а, а ::>   . Правило DОДСТановки. Из формулы а(р) выводима формула а (Р), получающаяся подстановкой в формулу а(Р) вмеСТО каждоrо вхождения переменной р формулы Р: а(р) a(P). Дp)Тlle исчисленВJI высказываний. СуществуlpТ и дРyrие исчисления высказываний. Так. например, при решении практических задач удобнее использовать не законы лоrики высказываний, а правила, их заменяющие. В этом случае лоrическое исчисление называют мтУJlи6НЫМ IIC'IIIC.AeH"e.м 8Ъ1CKII3Ъ1tlIlHIIU. В натуральном исчислении высказываний обычtlо, помимо правил модус поненс и подстановки, используют следующие правила. ИСlUllOчение КОНЫОИКТ3. ИЗ истинности конъюнкции следует ИСТИННОСТЬ любоro ее конъюнкта: а. ла 2 л... ла" a" Введение КOIfblOIIIЩИII. Из списка истинных формул следует истинность их конъюнкции: ар a 1 , ..., fI."  а 1 л  л '" л а". 31 1.. 
   ............... ..   2. Лozичес"ие рассуждения Введение ДИЗ'ЫОIIIЩИИ. ИЗ истинности формулы следует истинность ее дизъюнкции с любыми дрyrими формулами: aJ.. а. va 2 v... va; v ... va", ИСlUlючение двойвоro О'ф КЦ-RllII. Из истинности двойноrо отрицания формулы следует истинность ее самой: ...,...,aa. Пpocтu резолюция (удаление диЗ'Ьюнкта). Из истинности дизъюнкции и отрицания одноrо из ее дизъюнктов слдует истинность формулы, получающейся из дизъюнкции удалением этоrо дизъюнкта: а v , ...,   а. рeзOmoц.ur. Из истинности двух дизъюнкций, одна из которых содержит дизъюнкт, а друrая  ero отрицание, следует формула, являющаяся дизъюнкцией исходных формул без упомянyroro дизъюнкта и ero отрицания: а v . ...,  v yl--- а v у или эквивалентно..., а::) , ::) y..., а::) у. 2.3.2. ФормaJIII3aЦИJI вь-ода средствами ЛOПDaI вwскаэ. .....ний Вернемся снова к нашему примеру  среде кота. Введем три лоrические переменНые Х к , Х", Х п , истинное значение первой из которых означает, что кот находится у левой комнаты, а ложное, что он находится у правой комнаты; истинное значение переменной Х" означает, что кусочек сыра лежит около левой комнаты, а ложное, что ero там нет; истинное значение переменной Х п означает, что кусочек сыра лежит около правой комнаты, а ложное, что ero там нет. В результате таких обозначений табл, 2.1 можно заменить на табл. 2.4. Каждое cOCTO-Яние среды можно рассматривать как комбинацию (отношение) прОс1ейших свойств объектОв, задаваемых знаЧениями отдельных лоmческих переменных. Так, состояние Ь. cooтвe'rcТвyeт комбинации свойств кота н кусочков сыра, состоящей в ТОМ, что кот находится в левой комнате, и в это же самое время около левой и правой комнат находится по кусочку сыра. На русском языке эту комбинацию можно вырази.ть-предложением: Koт находится около левой комнаты, кусочек сыра лежит около левой комнаты и кусочек сыра лежит у правой комнаты». В соответствии с уже приведенной выше интерпретацией лоrических переменных Х к , Х", Х п это предложение можно представить формулой Х К Л Х" л Х п , которая истинна в единственном случае  все лоrические переменные, входящие в нее, истинны, Т.е. среда находится в. состоянии Ь.. Формулы TaKoro типа, являющиеся конъюнкцией переменных с отрицанием или без Hero, называют эАulентllрныAfl КОН5ЮНКI(IUIJtI1I. Если среда находится в состоянии Ь 2 , ТО истинна формула..., Х К л Х" л Х п и т.д, Элементарную конъюнкцию, в которую входит по одному разу каждая переменная, определяющую состояние среды, с отрицанием или без 32 
2.3. Исчислеllие вЫСlUl3ываний отрицания, называют IUIAIIOй IWIliЮН"Ч,"8, или "онст"туентой. Аналоrично тому, как были введены лоrические переменные Х", Х", Х п , введем лоrические переменные Z" Z2' Z3 для действий кота Идти налево, Идти напраео, Съесть соответственно. Переменная принимает истинное значение, если выполняется соответствующее ей действие. В противном случае она принимает ложное значение. для простоты будем полаraть, что кот не может одновременно выполнять сразу более одноrо дей.ствия. Рассмотрим теперь, как MOryr быть выражены в виде формул переходы среды из одноro состояния в дрyroе при совершении котом тoro или иноrо действия. Так, если кот находился в состоянии b 1 И выполнил действие Идти направо, то среда перейдет в состояние Ь 2 . Факт нахО)IЩения кота в состоянии b 1 И выполнение им в это время действия Идти lIаправо означает. истинность фОрмулы Х" л Х" л Х п л Z2' а факт перехода состояния b 1 при выполнении действия Идтu направо в состояние Ь 2 будем интерпретировать как истинность формулы Х" л Х" л Х п л Z2 ::::> ....., Х К Л х" л Х п ' что позволяет при истинности Х" л Х" л л Х л Z 2 сделать заключение об истинности ....., Х л Х л Х . Точно так же можно n к п п выразить в виде аналоrичных формул все остальные переходы, показанные на рис. 2.2. Представим их в виде табл. 2.5. В первых трех столбцах этой таблицы указаны переходы, имеющиеся на рис.. 2.2, а в последнем  формулы, соответствующие переходам. Таблица 2.4 Переменные Формула, описывающая Состояние состояние Х К Х К Х П ы  И И И ХкЛ Х" Л Х п Ь 2 Л И И ....,хлХлХ к " п Ь з И И Л ХлХЛ....,Х К" n Ь 4 Л И Л ХКлХпл....,Хп b s И Л И ХкЛ"", ХпЛХ п Ь 6 Л Л И  Х К Л ...., Х" л Х п Ь 7 И Л Л ХЛ....,ХЛ....,Х к " п Ь 8 Л Л Л ...., ХJ(Л"'" Х п Л...., Х п 2 1141 33 I L 
2. Лozичес"ие рассуждения 2.3.3. Нахождение целевою СОСТОJIIDUI Имея формулы для состояний и переходов, введенные в предыдущем разделе, пок.ажем теперь, как их можно использовать для нахОЖдения ОдНоro из целевых состояний. Целевыми состояниями ЯWIЯЮТCЯ Ь 7 И Ь В ' Если среда находится в состоянии Ь 7 , то это означает истинность формулы Х" л ...., Х П Л ...., Х п ' а если в состоянии Ь В ' то истинность формулы...., Х" Л...., Х П л...., Х п ' Имеем таким образом постановку задачи: . начальное состояние среды представлено истинной формулой Х" л Х П Л Х п ; . множество формул представляют все состояния среды в последнем столбце табл. 2.4; . Множество допустимых переходов представлено импликациями в последнем столбце табл. 2.5; Таблица 2.5 Переход Импликация, Исходное Результирующее соответствующая переходу состояние Действие состояние Ь\ '\ Ь. ХкЛ Х П Л Х П л z,::> ХкЛ Х п Л х,. Ь\ '2 Ь 2 Х"л Х п Л Х П л Z2::>"'" Х"Л Х П Л Х П Ь. 'э b s Х" л Х П Л Х П Л Zэ::> Х К л ...., Х П Л х,. Ь 2 '\ Ь. "",хкл хпл х,.л Z.::>Х"л хпл Х П Ь 2 '2 Ь 2 ...., Х"л Х П Л Х П л ::>...., Х" л Х П Л Х П Ь 2 'э Ь 4 ...., Х" л Х П Л х,. Л Zэ::> ...., Х К Л Х л л ...., Х П Ь 4 '\ Ь э ...., Х" л Х л л ...., Х П Л ZI::> Х" л Х П Л....., Х П Ь 4 '2 Ь 4 .....,лх,.л....,х,.л::>....,лх,.л....,х,. Ь 4 ,) Ь 4 ....,лх,.л....,х,.лZ:3::>.....,лх,.л....,х,. Ь э '. Ь Э Х" л Х П Л ...., Х П л Z. ::> Х" л Х П Л ....., Х П 34 
2.3. Исчисление высказываний Окончание табл. 2.5 Переход Импликация, Исходное Результирующее соответствующая переходу состояние Действие состояние Ь з '2 Ь 4 Х" Л Х л Л ...., ХПЛ  ::::> ...., Х" л Х Л л ...., Х п Ь З '3 Ь 7 Х" Л Х Л л ...., Х п л z:3 ::::> Х" л ...., Х Л л ...., Х п b s ,) b s Х"Л...., Х Л л ХпЛ Z. ::::> Х"Л"'" Х Л л Х п b s '2 Ь 6 Х" Л ...., Х Л л Х п л  ::::> ...., Х" л ...., Х Л л Х п b s '3 b s Х" л ...., Х Л л Х п л z:3 ::::> Х" л ...., Х Л л Х п Ь 6 '. b s ...., Х" л...., Х Л л ХпЛ Z.::::> Х" л...., Х Л л Х п Ь 6 '2 Ь 6 ....,л....,лл::::>....,л....,л Ь 6 '3 Ь В ...., Х"Л...., Х Л л ХПЛ z:3 ::::> ...., Х"Л..,, л...., Х п . множество допустимых действий описывается формулами Z) л ..,  л .., Z3' .., Z) Л  Л .., Z3' .., Z) Л ....,  л Z3; . множество целевых состояний представлено формулами Х" л .., Х Л л .., Х п и ..,Х л....,х л..,Х. " л п Решение задачи состоит в нахождении последовательности переходов, ведуших из начальноrо состояния в одно из. целевых, и может быть следующим. 1. Выбираем начальное СОСТОЯJiие Ь;  Ь , . Это означает истинность соответствующей ему формулы, которую будем обозначать Р;, в нашем случае 131 == Х" л Х Л л Х п . 2. Выби р ае одно из действий С., допустимых в состоянии Ь, и J .' соответствующую ему лоrическую переменную , например, С) и Z.. . З. Полаraем, что формула 13; л  истинна (среда находится в состоянии Ь; и совершается действие с). 4. Находиto( по табл. 2.5 любую импликацию 13; л  ::::> I3 k , левой частью которой является формула 13; л . (При 13;== 13., == Z. и 13. л Z) == Х"Л Х" л Х п л Z. такой импликацией может быть, нап р име р , Х л Х л х л Z ) ::::> Х л Х л Х . ) к л n К., n 5. Применяем правило модус поненс 13; л ZJ' 13; л  ::::> I3 k  I3 k К истинным формулам 13; л , 13; л ::::> I3 k , заключая, соrласно этому правилу, что. формула 2. 35 ....... 
2. Лоеи'tеские рассуждения Таблица 2.6 Исключение конъюнкта ....,Zlл....,лl--- a l л а 2 л ... ла I---a. " . Введение конъюнкта Х к л Х Л А Х п '  1--- х к А Х Л А х п А  а.. а 2 , ..., а" 1--- а. л а 2 /\ ... ла n Модус поненс х к А Х Л л х п л , Х к А Х Л /\ Х П /\  ::> а, а => fЗ I--p хл.....,хлхl--ХА.....,ХАХ к 11 n к л n Исключение конъюнкта ....., Z. А л.....,  1--  а,л а 2 л... /\ а" 1--- С1 ; Введение конъююcrа х лх AX,I--X А....,Х АХ A а...а 2 , ..., a"1--- к п n к л n а. л а 2 л ... ла " Модус поненс Х" А ...., Х л Л Х п л , Х к А ....., Х л л Х п л  ::> а, а ::> fЗ 1-- fЗ .....,хл.....,хлхf---.....,Х.....,ЛХАХ IC л n к л n Модус поненс ....,А.....,ЛЛ....,А....,лл=> а, с1 => fЗ  fЗ ....,ХЛ....,ХЛ.....,Х!---....,ХЛ.....,ХА....,Х к л ". к л n P k истинна. (При Р, == rз / и  30: Z/ rз k == rз / == Х" Л Х л л Х п ' Т.е. в этом случае среда переходит из соСТОяНия Ь. снова в состояние Ь. в резу.nьтате действия c l .) 6, Проверяем, не является ли состо"ние b k , соответствующее формуле I3 k ' целевым. Если оно целевое и последнее из 'Всех, которые надо найти, то на этом поиск завершается. В противном случае, поиск следует продолжить, возврашаясь к п.2 и начиная с состояния b k (в п,2 состояние Ь; принимается равным b k ) или возврашаясь к какомулибо состоянию, которое было достиrнyrо, но переходы из которых еше не были рассмотрены. Рассмотрим процедуру поиска решения для среды кота, в результате которой будет найдена последовательность действий, ведущая в целевое состояние Ь В ' предc'raвляемое формулой ...., Х К Л ...., Х л л ...., 'Х п ' Эry процедуру представим в виде табл. 2.6, в первом столбце которой запишем название и само правило вывода в обшем виде из числа'описанных ранее в этой rлаве, а во втором  результат ero KOHKpeTHoro применения. 36 
2.4. Рассуждения в терминах интервалов Таким образом, для примера со средой кота был осушествлен вывод формулы ...., Х л...., Х л...., Х из исходных. истинных формул Х л Х Л л Х, ...., Z . Л...., Z 2 Л Z Э ' к п n к n ...., Z. Л Z2 Л ...., Zэ' Х К Л Х л Л Х П Л ZЭ ::::> Х К л ...., Х л л Х п ' Х К Л ...., Х л л Х П Л Z2 ::::>...., Х К л ...., , л Х п ' ...., Х К л...., Х л л Х П Л ZЭ ::::> ...., Х К л ...., Х л л ...., Х п ' что можно записать в виде выражения Х К Л Х л Л Х п ' ...., Z. Л ...., Z2 Л Zэ' ...., Z. л Z2 Л ...., Zэ' Х К Л Х л Л Х П Л Zэ ::::> Х К л ...., Х., л Х п ' Х К Л л....,Х лХ л7 ::::>....,Х л....,Х лХ,....,Х л....,Х ЛХ лz э ::::>....,х л....,Х Л....,Х ....,X л JI п""'2 к JI n к JI n IC л n IC л....,Х л....,Х. л n Приведенная задача со средой кота очень проста. В реальных задачах число переменных, представляющих состояния среды, может быть roраздо большим, что сделает практически нереальным представление состояний конституантами. Выходом из этоro положения может быть интервальное представление состояний среды. 2.4. Расс)')МеНИJl в терминах интервалов Каждый из нас с детства знаком с настольными юрами. Основным их элементом является иrральная доска, которая разбита на ячейки, соединенные тем или иным Образом путями. Иrpающие кидают кость и из той ячейки, rде они находятся, в зависимости от выпавшеrо числа очков переходят в ту или иную ячейку. При этом можно попасть в <'ХОРОШУЮ» ячейку, которая расположена близко от целевой ячейки, но можно и в .плохую.., из которой бросавший кость может быть переведен назад и окажется от цели дальше, чем был перед бросанием кости. Добравшийся до цели раньше друrих выиrpывает. Спектр таких иrp велик: переходы из ячейки зависят от встречающихся в ячейках различных препятствий и противников, которые не только MOryт отбросить иrpающеro назад, Но и вообще вывести ero из иrpы, противники имеют возможность сами перемещаться по ячейкам в ответ на ход бросающеrо кости и Т.д. Рассмотрим простой пример среды TaKoro типа, называемой средой чудовища. Среда имеет число ячеек, равное 4 х 4, расположенных по вертикали и roризонтали. Каждая внyrpeнняя ячейка имеет. четы соседних, крайние ячейки MOryr не иметь соседних ячеек с одной или двух сторон. AreHT, выступающий в роли единственноrо иrpaющеrо, может переходить в одну из соседних ячеек. В одной из ячеек находится чудовище. Чудовище издает зловоние, которое распространяется на соседние ему ячейки. В одной из ячеек лежит золото, которое блестит. Кроме Toro, в ячейках MOryr быть бездонные ямы. В ячейках, соседних ячейкам с ямами, ощущается сквозняк. Задача aret1Ta, стартуя в ячейке (1, 1), добраться до ячейки с золотом, взять ero и блаrополучtfо вернуться назад. Исходное состояние среды чудовища соответствует рис. 2.3, rде буквы в ячейках обозначают следующее: Ч  чудовище, 3  зловоние, С  сквозняк, Б  блеск, Я  яма, Н  areHT. Сопоставим кажцую ячейку (i, j) среды с шестю лоrическими переменными Х ч (i, Л, х, (i, Л, хС (i, Л, "б (i, Л, Х. (i, Л, ХН О, Л. Будем полаrать, что значение этих переменных истинно, если 37 ...... 
2. Лоеические рассуждения з 3 С Я Ч,3 3,С,Б Я С 3 С Н С Я С 4 2 2 з 4 Рвс. 1.3. Исходное состояние среды чудовиша чудовище, зловоние, сквозняк, блеск, яма или areHT присутствуют в соответствующей ячейке, и ложно в противном случае. Введем дополнительные лоrические переменные, характеризующие ориентацию areHTa на север, юr, восток и запад: Х п (i, Л, х, (i, Л, X r (i, Л, Х'" и, л. Истинное значение какой либо из них с индексами (i, j) означает ориентацию areHTa, находяшеroся в ячейке (i, j) соответственно на север, юr, восток и запад; ложное значение  отсутствие ориентации. Естественно, такая интерпретация переменных означает, что только одна из них может быть истинна. Понятно, что суммарное число переменных равно 10 х 16 == 160, и набор значений всех переменных целиком задает состояние среды чудовиша, Так, например, начальное состояние среды, показанное на рис. 2.3, определяется набором значений этих переменных, в котором 17 переменных истинны: ХН (1, 1), Х п (1, 1), Хс (2, 1), ХН (3, 1), Хс (4, 1), х з (1, 2), Хс (3, 2), Х ч (1, 3), Х, (1, 3), Х, (2, 3), Хс (2, 3), Х б (2, 3), ХН (3, 3), Хс (4, 3), Х, (1, 4), Хс (4, 3), ХН (4, 4), а остальные ложны. Число таких наборов, обычно называемых полными наборами значений, или полными состояниями среды, астрономически велико и равно 2160. Конечно, далеко не во всех полных состояниях может находиться среда вследствие оrpаничений на значения какихлибо переменных в зависимости от значения друrих. Например, как уже отмечалось, никакая переменная из Х п (i, Л, Х, (i, Л, X r (i, Л, Х'" (i, j) с одним и тем же индексом (i, j) никоrда не может быть истинной, если истинна какаялибо друrая из 3Toro множества. А значит, и среда не может находиться в состояниях, rде хотя бы две из них одновременно истинны. Тем не менее, если рассуждать в терминах состояний среды, то это число может быть слишком велико даже с учетом указанных оrpаничений, а таблицу истинности практически невозможно построить, К счастью, в реальных задачах чаще Bcero, вопервых, нет необходимости знать значе'Ния всех переменных, а BOВТOpЫX, areHT, зачастую, и не может их знать. В нашем примере areHT может воспринимать значения только тех переменных, которые относятся к ячейке, в которой он находится (т.е. имеют индекс.. совпадаюший с индексом ячейки местонахождения areHTa). При этом восприятия areHTa определяются следующими факторами. 38 
2.4. Рассуждения в терминах интервалов В ячейке, rде находится чудовище, и в соседних ей ячейках areHT ощущает зловоние чудовища. В ячейках, соседних ячеЙkе, в которой находится яма, areHT ощущает сквозняк. В ячейке, rде находится золото, arem видит яркий блеск. Лreнт Bcerдa стоит лицом к одной из соседних ячеек и может совершать одно из следующих действий: а) поворот к ячейке, в которой нет ни чудовища, ни ямы. Сопоставим это действие спеременной Zo' к-оторая истинна, если действие поворота совершается, и ложна в пpo11fвном случае; б) переход в соседнюю ячейку, к которой areнт стоит лицом. Сопоставим это действие с лоrической переменной Z"" которая истинна, если действие перехода совершается, и ложна в противном случае. в) изъятие золота, если areHT достиr ячейки, rде оно находится. Это действие сопоставим с лоrической переменной Z3' Теперь мы имеем достаточно ПОЛfюе представление о среде чудовища и цели areHтa и можем перейти к формальной постановке задачи. 2.4.1. ИиrepIWlЫlU lIOC'ПUI08U задачи в начальном состоянии, показанном на рис, 2.3, arem находится в ячейке (1, 1) и стоит лицом к ячейке (1, 2) (лицом на север). Это означает истинность формулы Хн (1, 1) л х п (1, 1), Правило для принятия areHToM решения о возможности совершения действия перехода в ячейку (1, 2) из ячейки (1, 1) можно представить импликацией (2. 1) Х н (1, l)лх п (1, l)л---,х,(1, 1) Л---, ХС (1, 1)::>z",. (2.1) В левую часть этой импликации, являющуюся в данном случае конъюнкцией, а в общем случае любой формулой, включены не все переменные, характеризующие состояние среды чудовища, а только часть из них, необходимая для принятия решения. В частности, в нее включены переменная Хн (1, 1), характеризующая местоположение areHтa, переменная Х п (1, 1), характеризующая ориентацию areHTa, переменная х,(I, 1), характеризующая наличие или отсyrcтвие зловония, и переменная х с (1, 1), характеризующая наличие или отсутствие сквозняка. Обычно такие переменные называют CYII(cт."HЫlffIl. это правило задает условия допустимости совершения действия. Действие может быть и не совершено. Но если оно совершилось, то среда перейдет в кaKoeтo дрyrое состояние. Эroт nерс:ход задается формулой х н (l, 1) лх п (l, 1) л ---, х,(l, 1) л ---'Х с (1, 1) л z",::> х н (l, 2) лх п (l, 2). (2.2) Лоrически любая элементарная конъюнкuия эквивалентна дизъюнкuии всех конституент (совершенной дизъюнктивной нормальной форме), в которых существенные переменные имеют ОДНО и 1'0 же значение, совпадающее с их 39  
2. Л02ичес"ие рассуждения значением в рассматриваемой конъюнкции, анесущественные переменные пробеraют все наборы значений. Множество всех полных состояний среды, каждое из которых соответствует одной из KOHcnnyem совершенной нормальной формы, полученной по данной элементарной конъюнкции, называется lIНтeptlflAOJ/l. Используя интервалы, можно перейти от рассуждения в терминах конституент, предстамяющих состояния среды, к рассуждениям в терминах элементарных конъюнкций, представляюших интервалы среды. Формулы лоrики высказываний, в которых используются элементарные конъюнкции, представляюшие интервалы, будем называть IUllllejIВtU6НЫМU фоpltUUfU. Постановка задачи теперь состоит из следующих шаroв. Задание интервальных форм, определяющих, начальные интервалы среды. Задание в интервальной форме множества импликаций (правил), определяющих условия местонахождения тех или иных объектов в ячейках среды в зависимости от восприятий areHтa. Задание в интервальной форме множества импликаций, определяющих условия допустимости выполнения действий, которые areиr должен совершать в зависимости от местонахождения объеК'f.в. Задание в интервальной форме множества импликаций, определяющих допустимые переходы между 'ячейками при совершении areHToM действия перехода в зависимос,ТИ от восприятий. Задание интервальных форм, определяюших целевые интервалы. Сформулируем теперь на Основании сказанноro зЭдачу для среды чудовиша полностью. ФоРМУJIW, опреДeJlJlJOЩRe В8чaJ11011ble IIII1'ePвалы. В нашем случае начальное состояние можно представить следующей конституентой, содержашей все 160 переменных и определяюшей тем самым одно начальное состояние: хЧ<l, 1) л х.(1, 1) л...., х с (1, 1) л...., хб(l, 1) л...., х.(1, 1) л х н (1, 1) л х п (1, 1) л л...., Х.(1, 1) л х е (1, 1) л ...., х..(1, 1) л л х ч (2, 1) л ...., х,(2,1) л х с (2, 1) л...., х б (2, 1) л...., х.(2, 1) л х н (2; 1) л ...., Х,,(2, 1) л л ...., х.(2, J) л ...., х е (2, 1) л ...., Х,.,(2, 1) л л ....,х ч (3, 1) л...., х,(3, 1) л ...., х с (3, 1) д ...., х б (3, 1) л х.(3, 1) л ...., xJ3, 1) л л...., х,,(З, 1) л ...., х.(3, 1) л ...., х е (3, 1) л ...., Х..(3, 1) л л ...., хч<4, 1) л...., х,(4, 1) л хс(4, 1) л ...., Х б (4, 1) л...., х.(4, 1) л...., х н (4, J) л л ....,х ( 4, l ) л....,х(4, l)л....,х(4, I)л....,х(4, l ) л п $  W л ...., хЧ<l, 2) л x,(l, 2) л ...., х с (1, 2) л ...., х б (1, 2) л ...., х.(1, 2) л ...., xJI, 2) л л...., х"О, 2) л ...., x.(l, 2) л ...., Хе(1, ) л ...., х..(1, 2) л 40  
2.4. Рассуждения в терминах интервалов л..., х..(2,2) л .., х,(2. 2) л .., х с (2. 2) л .., х 6 (2. 2) л .., х.(2, 2) л .., х н (2. 2) л д .., х,,(2,2) л ...., х.<2. 2) л .... x(2. 2) л ...., х...(2, 2) л л .., х..(3. 2) л ...., Х,(З, 2) л х,,(З, 2) л х 6 (3, 2) л .., x.(, 2) л ...., х н (3. 2) л л -: х,,(3, 2) л ...., хz(З, 2) л .., x(3. 2) л .., х,.(3. 2) л л.., ,х..(4. 2) л .., х,(4. 2) л..., х,,(4, 2) л ..., Х б (4, 2) л..., х.(4. 2) л .., х н (4, 2) л л..., х,,(4. 2) л...., хж(4. 2) л ...., x(4. 2) л ...., х...(4, 2) л х..(I. 3) л х.(I. 3) л л...., х,,(I. 3) л...., (I. 3) л...., х.(I, 3) л...., х н (I, 3) л л.., Х,,(I, 3) л..... хж(l, З) л....., х.(I, З) л...., х...(1, 3) л л ...., х..(2, 3) л х.(2, З) л х,,(2, 3) л ...., х 6 (2, 3) л ...., х.(2, З) л ...., х н (2, 3) л л ...., Х,,(2, З) л ...., х ж (2, З) л ...., x(2, 3) л ...., х...(2, 3) л л ...., х..(3, З) л ...., х.(З, 3) л ...., Х с (3' 3) л ...., х б (3, 3) л х.(3, 3) л ...., х н (3, 3) л л ...., х,,(3, 3) л ...., Х ж (3' 3) л ...., х,(3, 3) л ...., х...(З, 3) л л...., х..(4. З) л...., х.(4. З) л Х,,(4, 3) л...., (4. З) л...., х.(4, 3) л...., х н (4, 3) л л.... х,,(4, 3) л ...., х ж (4, 3) л...., х,(4, З) л...., х...(4, 3) л л....,.х..(I, 4) лх.(l, 4) л....,хс(l, 4) л....,(I, 4) л....,х.(I. 4) л....,х н (l, 4) л л...., х,,(I, 4) л...., х.(I, 4) л...., x(I, 4) л...., х...(I, 4) л л ...., х..(2, 4) л ...., х.(2, 4) л...., х с (2. 4) л ...., (2, 4) л...., х.(2, 4) л...., х н (2, 4) л л.... Х (2, 4) л...., х ( 2, 4 ) л...., х (2, 4) л...., х ( 2, 4) л п .  w Л ...., х..(3, 4) л ...., х.(3, 4) л Х,,(З, 4) л ....,.(3, 4) л ...., х.(З, 4) л ...., хн(З, 4) л л...., Х,,(З, 4) л...., Х ж (3' 4) л ...., x(3. 4) л...., х...(3, 4) л л...., х..(4, 4) л ...., х.(4, 4) л...., х с (4, 4) л...., х б (4, 4) л х.(4, 4)л...., х н (4, 4) л л...., х,,(4, 4) л...., х.(4, 4) л ...., x(4, 4) л...., х...(4, 4). Areш не знает всех значений переменных, входJIЩИХ в 'ЛУ конституенту. Соrласно ero восприятию, он знает, что находится в ячейке (1, 1) и стоот лицом на север, а таюке не ОЩущает в этой ячейке зловония и сквозняка. Таким образом, начальная совокупность интервалов, определяемая восприятием areнтa, задается формулой ж.(1, 1) л Х,,(I, 1) л ..,х.(I, 1) л....,х с (l, 1). (2,3) 41 .............. 
2. Лоzические рассуждения Формулы, опредeJIJDOщие УСЛОВИJI местовахождеННJI об1,ектов cpeдw. Если в какойлибо ячейке О,Л не ощущается зловония, то в соседних ей ячейках чудовища нет. Точно так же, если в какойлибо ячейке нет сквозняка, то в соседних ячейках нет ям. Импликации, с помощью которых можно выразить эти знания. в общем случае имеют следующий вид. ..., хр, Л :::> ..., хр, Л л ..., xp 1, Л л ..., хч(н 1, j) л ..., хр, j 1) л ..., хр, j+ 1) ..., Хеи, j) :::>..., х.и, j) л..., x.и1, j) л..., х.и+1, j) л..., х.и, jl) л ..., х.и, j+l). (2.4) для крайних ячеек вследствие отсутствия части соседних правая часть подобных формул может не содержать какихлибо конъюнкций. Так, для i == 1, j == 1 эта формула примет вид ..., х (1, 1) :::> ..., х (1, 1) л..., Х (2, 1) л ..., Х (1, 2). 3 Ч Ч Ч Для ячеек (1, 2) и (2, 1) имеем формулы ..., х з (2, 1) :::> ..., хЧ<2, 1) л ..., хЧ<l, 1) л ..., Х ч (3' 1) л ..., х ч (2, 2), ..., х (1, 2 ) :::> ..., х ( 1, 2) л ..., х (2, 2) л ..., х ( 1, 1) л ..., х (1, 3). 3 Ч Ч Ч Ч Понятно, что число формул типа (2.4) равно 32, Полезными MOryr оказаться также знания о наличии чудовища ИЛИ ямы в ячейках, соседних ячейке (i, Л, если в ней ощущается зловоние ЮlИ сквозняк соответственно. Импликации, с помощью которых МОЖНО выразить эти знания, имеют следующий вид: хр, j) :::> хр, j) v xJiI, j) v хр+l, j) v xq(i, jl) v ХчО' j+1) хр,Л:::> х.о,л v х.ОI,Л v х.О+1,Л v x.(i,jl) v x.(i,j+1). (2.5) При i == 1, j == 2 формула (2.5) примет вид х з (1, 2) :::> xJI, 2) v хЧ<2, 2) v xq(l, 1) v xq(l, 3). Число таких формул равно 16, Формулы, определяющие УCJlO8ИJl выполнения amrroм дейC'ПUIЙ. для 'I'Oro чтобы достичь цели, аrент должен совершать действия, которые бы привели ero к этой цели. В случае среды кота, рассмотренной ранее, предполaraлось, что кот может совершать одно из действий в любом состоянии и в любом порядке. Такое поведение areHтa в среде чудовища неприемлемо, поскольку среда небезопасна, и необходимо знать, в зависимости от обстановки, коrда и какие действия можно совершать. Для среды чудовища были введены три действия: действие перехода в одну из соседних ячеек, действие по изъятию золота и действие поворота к ячейке, в которой нет ни чудовища, ни ямы. Лrент может перейти в соседнюю ячейку, 42 
2. 4. Рассуждения в терминах интервалов если там ero не подстереraет опасность в виде чудовища или ямы. Поэтому общий вид импликаций, определяющих возможность совершения действия по переходу в соседнюю ячейку, является следующим: хр, j) л Х,д j) л..., хч(i, j+l) л..., хя(i, j+l) :::> Zm' xH(i, j) л Х.О, j) л ..., хч(i, j 1) л..., хя(i, j 1) :::> Zm' xH(i, Л. л XO, j) л..., хч(НI, j) л ..., хя(НI, j) :::> Zm' ХНО, j) Л xw(i, j) л..., хч(il, j) л..., хя(il, j) :::> Z",. (2.6) Одна из конкретных импликаций этоrо типа для перехода была введена ранее (см. (2.1». Число формул вида (2.6) равно 64. Соответственно, возможные изменения интервалов (состояний среды), осуществляемые в результате действия, связанною с переходом, задаются формулами xH(i, Л л х"и, Л л..., хр, j+l) л..., хя(i, j+ 1) л Zm:::> хр, j+ 1) л х"о, j+I), ХнО, j) лхр,j) Л ...,хч(i, jl) л ...,хя(i, jl) л z",=> xH(i,jl) лхр, jI), (2.7) xH(i, j) л хр, j) л ..., х ч (Н1, j) л ..., х и (Н1, Л л Z", => х н (Н1, j) л хр+ 1, Л, ХнО' j) Л x,.(i, j) л..., хч(il, j) л..., хи(iI, j) л Zm:::> XHиl, j) л хЛI, Л. Формулы, определяющие условия выполнения действий по изъятию золота, имеют вид xH(i, j) л хб(i, j) =>  (2.8) и их число равно 16. Формулы, определяющие условия возможною выполнения действий поворота areHTa, введем исходя из следующих соображений. Если areHT стоит лицом к какойлибо ячейке, и в результате своих рассуждений пришел к выводу, что в этой ячейке может быть чудовище или яма, то он поворачивается к той ячейке, в которой нет ни ямы, IUI' чудовиша (предполarается, что такая ячейка существует). Таким образом, формулы, реrламентирующие возможность выполнения действия поворота направо, лицом к ячейке, в которой нет ни чудовища, ни ямы, если аreнт перед этим находился в ячейке (i, j) и стоял лицом соответственно на север, восток, юr и запад и перед ним находились чудовище и яма, имеют вид: х (i, J ') л х и, j) л х О, j+ 1) л..., х (Н1, j) л..., х (HI, Л:::> 7, н п Ч ч я "'о xH(i, j) л X,,(i, j) л хр, j+1) л..., xp+l, j) л..., хи<i+1, j) => z." xH(i, j) л x(i, Л) л хЧ<НI, j) л..., хр, j1) л..., хи(i, jl) => z." xH(i, Л л хр, Л) л хи(Н 1, j) л..., хр, jl) л..., хр, jl) => z." 43  
2, Лozичt!ские рассуждения ХнО, j) л хр, Л) л хр, jJ) л ...., хч(iI, j) л ...., x.(iI, j) ::J "о' Х О, J ' ) л ХО, Л) л х О, jl) л ...., х (iI, j) л ...., Х (iI, J ') ::J ", .Н 5 И Ч R О xн<i, j) л xw(i, Л) л xpl, j) л...., хр. j+l) л...., x'<i, j+J) ::J "о' xH(i, j) л xw(i, Л) л x.oI, j) л...., хр, j+l) л...., х.О, j+l) ::J "о' (2.9) Если же areHT находится в ячейке О, Л, а чудовище или яма в ячейках О, j+l) и (;+1, Л, а в ячейкае (;, jl) нет ни чудовища, ни ямы, то можно воспользоваться формулой типа хр, j) л хр, j) л (хч(i, j+1)) v хЧ<i+I, Л) л ...., хр, j1) л ...., хр, jl) :J z." (2.10) Формулы, опреДeJlJllOщие множество допустимых переходов. AreHT может перейти из ячейки (i,Л в соседние ячейки (i,j+I), (i,jI), (Н, Л, (i+I,j) в результате выполнения действия "т' При повороте он остается в той же ячейке. Ориентация ero при этом меняется, Поэтому импликациями, определяюшими местоположение и ориентацию areHTa после выполнения действия поворота в соответствии с формулами (2.9), будyr следуюшие: х и, J ') л х (i, J ') л х (i, j + 1) л ..., х (Н 1, J ') л ...., х (Н 1, J ') л " :J Х (i, J ') л х О, J '), н "ч ч я о н е Х (i, j) л х (i, J ') л х О, j+ 1) л ..., х (i+l, J ') л ..., х (i+ 1, j) л " :J Х и, J ') л х и, л, н 11 Н Ч R О Н е хр, j) л x.(i, j) л хч<i+ 1, j) л ...., хр, j 1) л ...., хр, j 1) л z.,:J xJi, j) л Х,и, л, хр, j) л хр. j) л х.<н 1, j) л ...., хр, j 1) л ...., хр, j 1) л z.,:J хр, j) л хД Л, (2.11) х О, J ') л x(i, J ') л х (i, jl) л...., х (il, j) л..., Х (iI, J ') Л" :J Х (i, J ') л х О, J '), н f Ч Ч я о н w хр, j) л хр, j) л x.<i, jl) л ..., xJiI, j) л ..., x.(iI, j) л "о:::> хр, j) л хЯ, Л, xJi, j) л xJi, j) л xpl, j) л...., хр, j+1) л...., хр, j+1) л z.,::J xJi, j) л хр, Л, xJi, j) л xJi, j) л x.OI, j) л...., хр, j+l) л...., хр, j+l) л "o::J xJi, j) л хр, Л. Есл и действие поворота вы пол няется в соответстви и с формулой (2.1 О), то импликация, определяющая местоположение и ориентацию areHTa, будет следуюшая: х О, J ') л Х (;, J ') л (х (i, j + 1» v х (Н 1, J '» л ...., х (i, J '  1) л ...., Х О, j 1) л " ::J н 11 Ч Ч Ч и о хно, j) Л хр, Л. (2.12) Формулы (2,11), (2.12) предопределяют результат ВЩlOлнения дейспшя поворота по ходу часовой стрелки при наличии чудовища или ямы в ячейке, к к<?Торой areHT стоит лицом. , AreHT может совершать действие поворота и против хода часовой стрелки в соответствии, например, с формулами типа 44 
2.4. Рассуждения в терминах интервалов хр, j) л хр, j) л хр, j 1) л ...., х.<н 1, j) л. ...., хр+1, j) л Zo::) хр, j) л хр, Л, хр, j) л хр, j) л хр, jl) л...., xJi+l, Л л ...., хр+1, j) л л z.,:) хр, j) л хр, Л. (2.13) В том случае, Korna ячейка не имеет какойлибо соседней, соответствующие условия и результат поворота МОДИфИllИРУЮТСЯ таким образом, чтобы учесть отсутствие соседних ячеек. Формулы целевых IIН'J'eрвало.. Оrpаничим решение задачи нахождением золота. Лreнт не знает, в какой ячейке находится золото. Только попав в нее, он по блеску может определить, что оно в ней находится. Поэтому стратеrией areHTa является обследование всех ячеек, в которые он может попасть и не поrибнуть. Если ему удастся,.б.луждая таким образом, добраться до ячейки (2, 3), то он увидит блеск и обнаружит там золото. Будем полаraть в настоящем при Мере, что целью areHTa является совершние действия по взятию золота, Т.е. ero llель есть Z., а решением задачи должно быть нахождение последовательности действий (правил), в результате выполнения которых llель будет достиrнута. С учетом Toro, что areHT способен к восприятию сквозняка или зловония только в ячейке, в которой он находится, а среда чудовиша является статической (местоположение чудовиш и ям не изменяется), то для конкретных значений i и j в соответствии с рис. 2.3, по мере необходимости, будем также использовать формулы вида xH(i, j) ::) ...., х.о, Л, xH(i, j) ::> ...., ХсО' Л, xJi, j) ::> хр, Л, xH(i, j) ::> xc(i, Л. Например, xJI, 2) ::> х.(l, 2), х н (l, 2) ::> ...., ХсО' 2), х н (2, 1) ::> xJ2, 1), х н (2, 1) ::>...., х.(l, 2), х н (2, 2) ::> ...., х,(l, 2), х н (2, 2) ::> ...., х с (2, 2), хН<2, 3) ::> х б (2, 3). (2.14) Правило, задающее условие совершения действия Z" описывается следующей формудой: xH(i, j) л хр, j) :::> z.. (2.15) 45 
2. Дozutteскuе рассуждения 2.4.2. Решение задачи Рассмотрим ВЫВОД, приводяший к решению задачи нахожлеtlИЯ areHТOM золота в среде чудовиша. Начальный интервал задается формулой (2.3). Используя правило исключения конъюнкта, по этой формуле areHT может заключить, что истинны формулы xJI, 1), Х,,(I, 1), ...., Х,(I, 1), ...., xc(l, 1), Т.е. xH(I, 1) л x,,(I, 1) л ...., x,(I, 1) л ...., xc(l, 1)  х н (1, 1), xH(I, 1) л x,,(I, 1) л ...., х,(l, 1) л...., xC<I, 1)  x,,(I, 1), xJI, 1) л x,,(I, 1) л...., x,(I, 1) л ...., xc(l, 1)  ...., x,(I, 1), xH(I, 1) л x,,(I, 1) л ...., x,(I, 1) л ...., xC<I, 1)  ...., xc(l, 1). Теперь areHT может воспользоваться формулами (2.4) и правилом модус поненс: ...., х (1, 1), ..., х (1, 1) :::> ...., х (1, 1) л...., х (2, 1) л з 3 Ч Ч л...., хЧ<l, 2) ...., хЧ<l, 1) л...., xJ2, 1) л ...., хЧ<l, 2), ...., xJ1, 1) ...., xJI, 1) :::> ..., x.(I, 1) л...., х,,(2, 1) л л...., Х (1, 2)...., х (1, 1) л...., х (2, 1) л ...., х (1,2), я и и JI заключая, что истинны формулы ...., хч(l, 1) л...., хЧ<2, 1) л ...., хч(l, 2) и ...., x.(I, 1) ...., х.(2, 1) л ...., x.(I, 2). Затем areHT может вновь воспользоваться правилом исключения конъюнкта, получая в результате истинные формулы ...., хЧ<l, 1), ..., х ч (2, 1), ...., хЧ<l, 2), ...., х.(l, 1), ...., х.(2, 1), ...., х.(I, 2), которые означают, что чудовища и ям нет в ячейках, соседних ячейке (1, 1). Далее areHT может воспользоваться первой формулой из числа формул (2.6) и правилом модус поненс: xH(I, 1) л х,,(I, 1) л ...., x..(I, 2) л ...: х.(I, 2), хН<l, l) л x,,(I, 1) л ...., хЧ<l, 2) л ....... x.(I, 2) :::> z"" заключая, что формула Z'" истинна и, следовательно, он может совершить действие перехода в ячейку (1, 2), Воспользовавшись этим фактом, правилом модус поненс и первой формулой из (2.7), которая принимает следующий вид: 46 
2. Лozические рассуждения х н (1, 1) л х.о, 1) л ...., х ч (2, 1) л ...., х и (2, 1) :::> "о' х н (l, 1) л х.(l, 1) л..., х ч (2, 1) л....., х и (2, 1) л "о :::> хн(l. 1) л x(I, 1), xH(I, 1) л x(1, 1) л...., х ч (2, 1) л...., х и (2, 1) :::> "т' х н (1, 1) л x(1, 1) л....., х ч (2, 1) л....., х и (2, 1) л zm :::> х н (2, 1) л x(2, 1). Очутившись в ячейке (2, 1), аreнт ощущает сквозняк и отсутствие зловония на основании правил типа (2.14) х н (2, 1) :::> х с (2, 1), х н (2, 1) :::>....., х,(2, 1). Так как зловония в ячейке (2, 1) нет (.....,х,(2, 1) истинна), areHT, используя формулу типа (2.4) ....., х ( 2, 1) :::>....., Х ( 1, 1) л....., х ( 2, 2) л ....., Х (1, 3) ] Ч Ч Ч и правила модус поненс и ИСКJIючения конъюнкта, заключает, что чудовища нет в ячейке (2, 2) (....., х ч (2, 2) истинна). Лreнт ощущает сквозняк в ячейке (2, 1) (х (2, 1) истинна), поэтому, используя формулу типа (2.5) с хс(2, 1) :::> хи(I, 1) v х и (2, 2) v Х и (3' 1), правило модус поненс и простую резолюцию, заключает, что в ячейке (3, 1), к которой он стоит лицом, имеется яма (Х и (3' 1) истинна). Отсюда на основании правил типа (2.11) х н (2, 1) л x(2, 1) л Х и (3' 1) л...., х ч (2, 2) л....., х и (2, 2) :::> , х н (2, 1) л x(2, 1) л х я (3, 1) л ....., х ч (2, 2) л ....., х я (2, 2) л :::> х н (2, 1) л х,,(2, 1), а затем правил (2.6), (2.7) х н (2, 1) л Х,,(2, 1) л ...., х ч (2, 2) л ....., х я (2, 2) :::> z"" х н (2, 1) л Х,,(2, 1) л ....., х ч (2, 2) л ....., х я (2, 2) л zm :::> х н (2, 2) л х,,(2, 2) аreнт сначала совершает поворот в С1'орону ячейки (2, 2), а затем и переходит в нее. В ячейке (2, 2) .на основании формул (2.14) хн<2, 2) :::> ...., х с (2, 2), х н (2, 2) :::> ...., х,(2, 2) он обнаруживает, 'lI'O В ней нет ни зловония, ни сквозняка (истинны формулы ...., х,(2, 2), ...., х с (2, 2». Далее по формулам (2.4), правилам модус поненс и ИСКJIючения конъюнкта он устанавливает, что чудовища и ямы в ячейке (2, З) также нет (истинны формулы...., х ч (2, 3), ....., х я (2, 3»: 48 
2.4. Рассуждения в терминах интервалов ..., х,(2, 2), ..., Х,(2, 2) ::>" х.(2, 2) л..., х..(1, 2) л..., х ч (2, 3) л ..., хЧ<3, 2) л..., хЧ<2, 1) 1--- 1--- ...,хч(2, 2) л ..., хч(l, 2) л "7' х.,(2, 3) л..., Х ч (3' 2) л ..., х ч (2, 1), ..., х,,(2, 2), ..., х с (2, 2) :::> ..., х.(2, 2) л..., x.(l. 2) л..., х.(2, 3) л..., х.(з, 2) л..., х.(2, 1), 1--- ..., х.(2, 2) л ..., x.(l, 2) л..., х.(2, 3) л..., х.(3, 2) л ..., х.(2, 1) после этою arem может воспользоваться одной из формул типа (2.6), одной из формул типа (2.7) и правилом модус поненс для перехода в ячейку (2, 3): х н (2, 2) л х,,(2, 2) л ..., х ч (2, 3) л ..., х.(2, 3), х н (2, 2) л х,,(2, 2) л ..., х ч (2, 3) л л ...,х.(2, 3) :::> Zm 1--- Zm' х н (2, 2) л Х,,(2, 2) л..., х ч (2, 3) л ..., х.(2, 3) л Z.. :::> х н (2, 3) л х,,(2, 3) 1--- 1--- х н (2, 3) л х,,(2, 3). В результате areHT оказывается в ячейке (2, 3) (истинна х н (2, 3» и ВИДИТ блеск золота (истинна х б (2, 3) на основании правила х н (2, 3) ::> х,р, 3». Используя формулу (2.8) и правило модус поненс, areHT может сделать заключение о возможности совершения действия Z. по изъятию золота из ячейки (2, 3): х н (2, 3) л х б (2, 3), х и (2, 3) л х б (2, 3):::> Z, 1--- Z" Схема, позволяющая проследИТЬ вывод решения Д1IЯ среды чудовиша, показана на рис. 2.4; rде формулы вида а:::> (3 изображены ДВУМЯ жирными прямоуrольниками, соединенными жирной стрелкой. Внyrри первоrо прямоyroльника записана формула <х, а ВнyIpи второю  формула (3. Стрелка направлена от первою прямоутольника ко второму и соответствует знаку ИМWIикаш{и. Если в жирный прямоyroльник С формулой (3 входят две жирные скобки, выходяшие из прямоуrольников с формулами <х, и' <Х2' то это соответствует импликации <х, л  :::> р. 1.4.3. Число ФОРМУJl в Jlоrике высказываний, требуемых ДJDI представ.леНИJI знаний Нетрудно заметИть, что число формул, требуемых для постановки задачи, растет довольно быстро, хотя среда чудовища имеет вcero 16 ячеек и все ее объекты, кроме areHTa, не изменяют cвoero местоположения: Так, число формул типа (2.4) равно 32, (2.5)  16, (2.6)  64, (2.7)  16, (2.8)  16, (2.9)  128, (2.10)  16, (2.11)  128, (2.12)  16, (2.13)  32, (2.14)  32, что в сумме составляет 496. 49  
2. ЛО2uческuе рассуждения Рис. 2.4. Схема вывода решения в лоrике высказываний в среде чудовища 50 
Вопросы и упражнения В случае более сложной среды необходимо представить все возможные изменения местоположения друтих объектов, например чудовиша, в ответ на действия areнтa и для действия каждоro тaKOro объекта предусмотреть свои формулы. Занижая оценку, будем полаraть, что число формул в среде с 1 ячейками равно примерно [5. Torдa при 1  5, 6, 7, ... это будyr числа 3 125, 7776, 16807... соответственно. Moryr потребоваться также правила, учитываюшие предысторию действий areHтa. Все это может привести к оrpoмному числу формул, для хранения которых потребуется такой большой объем памяти, которой может не хватить даже на современных компьютерах. Кроме TOro, сама постановка задачи, требуюшая записи тaKOro orpoMHoro числа формул, может стать практически невыполнимой задачей. В то же время мноrие реальные задачи часто, несмотря на большое число переменных, MOryr иметь сравнительно небольшое количество формул в постановке задачи и достаточно успешно решаться с использованием лоrики высказываний. К числу таких задач, например, относятся задачи анализа лоrических схем. Вопросы и упражнения 1. ИСПОЛЬЗУЯ таблицы истинности, докажите общезначимость следующих законов лоrики высказываний: _ а) .... (х л у) == .... х v .... у; б) .... (х v у) == ..., х л.... у; В) Х л (у v V == (х л у) v (х л z); "') х v (у л z) == (х v у) л (х v z); д) х:::> у == ..., х v у; е) (х == у) == (х :::> у) л (у:::> х); ж) х == у == (х л у) v (..., у л ..., х). 2. Определите, к какому типу (общезначимых, выполнимых или невыполнимых) относятся следующие формулы и докажите это, используя таблицы истинности или формулы из предыдущеro упражнения: а) Умный:::> Умный; б) Умный:::> .... Дурак; . В) (уМНый:::>.... Дурак) :::> (.... Умный :::> Дурак); "') Умный v .... Дурак v Дурак; д) (Умный л Способный) :::> .... Дурак == (уМНый:::>.... Дурак) v v (Способный::::> .... Дурак); ж) (yMHый::>.... Дурак):::> «Умный л Способный) :::>.... Дурак). 3. Предполаrая, что не которая среда может быть описана с использованием только четырех лоrических переменных х, у, Z, и, определите сколько моделей может иметь среда ДЛЯ следующих формул: а) х л у; б) х л у л z; В) х v у. 4. AreHT иrрает роль швейцара в отеле. В ero обязанности входит открыть двери отеля перед клиентом; помочь ему донести баraж до стойки администратора, если у клиента есть баraж; открывать двери автомобиля, подъехавшеro к отелю, если он в это время свободен от друrих обязанностей, Т.е. цель швейцара  обслужить всех клиентов. Сформируйте постановку задачи ДЛЯ среды клиента в пространстве состояний, если начальным состоянием среды является состояние, в котором OДHBpeMeHHO к дверям отеля подошел клиент без баraжа и подъехал автомобиль. - 51 
3. лоrиКА ПРЕДИКАТОВ в этои zлаве рассмотрена ЛОi!ика предикатов nepeoi!O порядка, являющаяся существенно более выразительным, чем ЛОi!ика высказывании, языком представления зНании ai!eHmoe. Во второй rлаве бьvю показано, каким образом лоrику высказываний можно использовать для представления знаний и лоrических рассуждений. Однако выразителЫi'ые возможности лоrики высказываний невысоки. Требуется слишком MHoro формул лоrики высказываний для описания даже простых сред. Например, в случае простой среды чудовища (см. rл. 2) для Toro, чтобы указать факт наличия или отсутствия любоrо объекта (чудовища, аreнта, ям, золота) в какойлибо ячейке среды, пришлось ввести для каждою объекта множество лоrических переменных, число которых совпадает с числом ячеек среды, и сопоставить каждое местонахождение объекта в какойлибо ячейке с координатами О, j) истинному значению переменной, соответствующей объекту и этой ячейке. Понятно, что число таких переменных равно числу ячеек среды, умноженному на число объектов. В настоящей rлаве изучим лоrику предикатов первоrо ПОРЯдка, называя ее в дальнейшем просто лоrикой предикатов, которая сушественно более выразительна, чем лоrика высказываний, и позволяет предста8ЛЯТЬ знания о среде roраздо более компактно. Выразительность лоrики предикатов является следствием ее основополaraющей ццеи, заключающейся во взаимнооднозначном сопоставлении каждоro уникальноro (не совпадающеrо ни с каким дрyrим) объекта среды С индивидуальной 06ыктнои "OНCпulHтoи, обозначаемой именем (названием) объекта, а класс однотипных по какимлибо свойствам объектов,  с 06ы"тнои nчииJUlои, значением которой являются объектные константы. Объектные константы и переменные в лиrepaтуре часто называют IIНО.fllliJ1шмll, или пpeoMeтHымI.. ПреОIl"атом называют высказывательную функцию, определенную на множестве наборов значений объектных переменных. Эта функция может принимать только два значения: Истина (И) и Ложь (Л), называемые IIcтllHHocтHымI 3Ha.,eHIlJIJНII. Orношения объектов среды представляются на 52 
3.1. Сиптаксис и семаnтика языке лоrики предикатов, как и на языке лоrики высказываний, в виде определенных предложений (высказываний, формул лоrики предикатов), используюuiих объектные переменные и объеКТJiые константы, а также ряд друrих конструкций, включая уж известные связки И скобки. Рассмотрим подробнее язык лоrики предикатов. 3.1. Синтаксис и семантика Синтаксис лоrики предикатов с использованием метаязыка БэкусаНаура приведен на рис. 3... Рассмотрим семантику всех синтаксических конструкций, приведенных на этом рисунке. Формула ---+ Атом 1 Предложение I Предложение Связка Предложение I КваUlпор (Переменная, ..., Переменпая) Предложение I .., Предложеnие I (Предложеnие), Атом  . Предикатnый символ (Терм, ..., Терм) I Терм == Терм, Терм ---+ Функциональный символ (Терм, ..., Терм) 1 Константа I Перемеnная, Связка ::> I л I v I =, Кваnтор ---+ \;;/ 1з, Константа...... Строка символов, nачиnающаяся с прописnой буквы, Пepatеllnая  Строка символов, начинающа.яся со cmрO'tНОЙ бук,вы, Предикаmныu Символ  Строка си.мволов, ночинающаяся со-строчной буквы, Функциональный символ ---+ Строка сим80Л08, начинающаяся.со строчНой б)'1(вы. Рве. 3.1. Синтаксис лоrики предикатов в метаязыке БэкусаНауР3 3.1.1. Об1.епные перемеиные объектныe пepeмeHHыe или просто переменные обозначаются строкой символов, начинающейся со строчной буквы и записываемой курсивом. Областью значений каждой переменной ЯRЛяется множество констант, в общем случае даже бесконечное. Как эта область значений очерчивается, будет ясно из дальнеЙШеro. 53 
3. Лоzика предикатов 3.1.2. функции Для 'I'Oro чтобы задать такие отношения между объектами, Korдa в точности один объекr соответствует множеству дрyrих объектов, используют ФУНКlI,ии. Например, если объекrами являются двоичные цифры О и .. и десятичные цифры О, 1, ...,9, то любому набору из трех двоичных цифр, представляющему двоичное число, можно однозначно сопоставить десятичную цифру. Если двоичные цифры сопоставить с переменными х, у, Z, а десятичные спеременной q, то рассмотренное отношение между двоичными и десятичными цифрами можно представить в виде функции преобразованuе2вJO (х, У, z). Выражение преобразование2в10 называют фУНIЩUOIUU6"""" CIlJtlBOJlOJN. Так при х ==1, у == О, z == 1 с помощью функции преобразование2вJO (х, у, z) получим значение функции, равное q == 5. Следует заметить, ЧiО функция в лоrике предикатов не предполаrает обязательноrо наличия какоroлибо алrоритма вычисления значения функции по ее apryмeHTaM, Она лишь задает с помошью констант и переменных определенное отношение между объектами, соответствующими ее apryмeHTaM, и каким'I'O одним объектом. 3.1.3. Объектные К:ОНСТ81ПW Каждая ofi6eкntlUlJl KO"cпиитиI, называемая в дальнейшем, если 31'0 не вызывает пyrаницы, просто константой, взаимно однозначно сопоставляется в процессе интерпретации с какимлибо одним объектом среды. Константа обозначается строкой символов, начинающейся с прописной буквы, и, чаще Bcero, эта строка символов совпадает с именем или наименованием объеКта и записывается курсивом, например, Владимир, Чудовище, Кот и т. д. 3.1.4. Термы Константы; переменные и функции являются термами. Выбор констант, переменных и функций для данной среды полностью является прероrативой Toro, кто использует лоrику предикатов. Предположим, например, что наша среда имеет такие объекты, как крылья и птицы, и нам известно, что "птицы имеют крылья". Спрашивается, как выразить это знание? Введем константы, обозначающие конкретный вид птиц, например, Воробей, Синица, Соловей, и константу КрblJlЬЯ, обозначающую объект крылья. Введем также переменную х, обозначающую все объекты, .которые являются птицами; функциональный символ имеетКРblJlЬЯ ставит во взаимнооднозначное соответствие любой птице объект крылья. Torna функuия имеет"РbIJJЬЯ (х) задает отношение между объектом крылья и птицей х. Если, например, х == Воробей, то имееткрылья (ВоробеU) == КрЫЛЬЯ. Но 31'0 не единственная возможность выразить отношения между птицами и крыльями. Функция может не содержать apryмeHToB, т,е. иметь только один функциональный символ. Термы, не содержащие aprYMeHToB, Т.е. константы, переменные и функции без apryмeHToB, называют ЭАе.м.ентllрными термами. 3.1.5. ПреДИUТIIWЙ символ С помошью Предикатов задаются отношения между объектами. Такие отношения задаются выражением, начинаюшимся, как И в случае с функцией, 54 
3.1. Синтаксис и семантика строкой символов, записанных курсивом, первая буква которой строчная. эта строка символов называется npeihl"lIтNыAf CIUtf8OAOМ. За ним в скобках следует упорядоченный набор переменных или констант, соответствующих объектам, находящимся в поименованном отношении. Так, например, если два человека Владимир и Марина являются братом и сестрой, то это отношение родства может быть выражено с помощью конструкции братисестра (Владимир, Марина), rдe братисестра является предикатным символом, а (Владимир, Марина)  упорядоченным набором объектных констант. Конструкция. братисесmра (Владимир, Марина) является предикатом, способным принимать одно из двух значений. Истина или Ложь. В случае истинноrо значения предиката будем roворить также, что отношение, задаваемое предикатом, имеет Место, а в случае ложноro  не имеет места. Orношение между птицами и крыльями, выраженное выше с помощью функции, может быть выражено и с помощью предиката крылья (Х), который истинен, если это ОТНQшение выполняется. Эrо может быть, например, коrда Х == Воробей, Т.е. Korдa истинен предикат крылья (Воробей). 3.1.6. Атомы Выражение предикатныйсимвол (терм, терм, ..., терм) называют отомом. Атом представляет предикат. Особо выделяется а1"ОМ, npедикатным символом KOТOporo является знак равенства, _а аРl)'М.ентами два терыа. Э:roт атом можно было бы представить как равны (терм, терм) или == (терм, терм), но, как правило, ero записывают 8 обычной инфиксной форме терм == терм. этот атом истинен, коrда значения обоих термов совпадают. Атомы без знака отрицания или со знаком отрицания называют АllтерШIlJНIl. 3.1.7. Кванторы Коrда мы имеем дело с объектами, то возникает естественная потребность выразить какиелибо общие свойства целOI"О множеcrвa объектов. Квонтор", как раз служат этим целям. Таких кванторов в лоrике предикатов вcero два. Квантор общности 't/. Вспомним, что при решении задачи поиска золота в среде чудовища для тoro, чтобы выразить правило "В какой бы ячей,ке areHT не находился, если он видит блеск золота, то он должен ero взять", было использовано 16 однотипных формул (2.8) , число которых совпадает с числом ячеек. Эrи формулы имели вид . х и (1, 1) л ХI\(1, 1):;) z" хи(i, j) л xrJi, j) :;) z" (3.1) хН<4, 4) л х lI (4, 4) :;) z.... 55 
3. ЛozulCO предшсатов Здесь ХнО' j), Хб(i, j)  отдельные переменные. l<.aжzIaя из них принимает истинное значение, если соответствующий ей объект (в данном случае аreиr и золото, точнее блеск золота) находится в ячейке О, Л. Обратим еще раз внимание на то, что xH(i, j) и (i, j)  это индексированные лоrические переменные с индексами н, б, i, j, каждая из которых считается единым неделимЪ1М символом. Большое количество формул пришлось вводить изза тoro, что в лоrике высказываний нет возможности представить указанное выше правило в виде одной формулы. В лоrике предикатов такая возможность имеется и, вместо 16 формул в лоrике высказываний, в лоrике предикатов можно написать одну: 'rj (i, j) xH(i, j) л Хб(i, j) :J Zз' (3.2) rдe знак 'rj называется к.""",ором 06щност". Но в этой формуле xH(i, Л, хб(i, j) и  уже не являюrcя лоrическими переменныи.. Здесь Хн' Х б '   предикатные символы, вид к<лорых для удобства сохранен тем же, что и в лоrических переменных, а i, j  числовые объектные переменные, соответствующие координатам ячеек. На естественном языке это правило формулируется следующим образом: "Для всех ячеек с координатами (i, j) сnpаведливо: если aFtHT находится JJ ячейке с координатами (i, j) и видит в ней блеск ЗОЛОТа, то он должен ero взять". Смысл квaнropa общности 'rj совпадает с выражением ecтecтвeHHOI'O языка "Для всех...". Множество формул (3.1) лоrики высказываний эквивалентно одной формуле (3.2) лоrики предикатов, Т.е имеет Место (\1' (i, j) xH(i, j) л хб(i, j) :J zз) == (Хн (1,1) л хб(l, 1) :J Z,) Л (Хн (1, 2) л л х б (1, 2) :J z,) л (Хн (4, 4) л х б (4, 4) :J zз). Квaиroр существования 3. Квантор общности позволяет формулировать высказывания о свойствах целоrо множества объектов. В то же время часто возникает необходимость высказываться о свойствах отдельных объектов из какойлибо их совокупности. для этоrо используют кваН1'Ор 'сytt.J:ествования 3. Вернемся к примеру со средой чудовища. Во второй rлаве для '1'01'0, чтобы выразить знания о наличии чудовища в ячейках, соседних ячейке с координатами (i,j), если В ней ощущается зловоние, было введено 16 формул (2.5), в которых индексы i, j пробеrают множество значений от 1 до 4. Вместо этих 16 формул с помощью квантора общности можно записать одну формулу, помня, что теперь вместо лоrических переменных используются предикаты, а индексы стали числовыми объектными переменными: \1' (i, j) хр, j) :J хч(i, j) v хч(il, j) v хч(i+l, j) v хч(i, jl) v хч(i, j+l). (3.3) На естественном языке высказывание, соответствующее этой формуле, звучит так: "Для всех ячеек с координатами (i,j) справедливо: если ощущается зловоние в ячейке с координатами (i, j), то существует ячейка, соседняя Ячейке с 56 . 
3.1. Синтаксис и семантика координатами (i,j), в которой находится чудовище". для 'I'Oro чтобы выразить часть этоro высказывания" ...существует ячейка, соседняя ячейке с координатами и, л, в которой находится чудовище" в лоrике высказываний бl;.IЛИ использованы формулы (2.5), в которых справа от знака импликации стоит дизъюнкция пяти лоrических переменных. В лоrике предикатов имеется возможность более короткой записи этой чаcrи высказывания с использованием квантора существования 3 : 3 (g, h) хч(g, h) л «g == i л (h == j 1 v h == j + 1) v (h == j л (g == il v g == Нl». Используя эту запись вместо 16 формул лоrики высказываний, в лоrике прe.nика'l'Oв можно оrpаничиться одной формулой (3.4) V (i, j) x.(i, j) ::> 3 (g, h) хч(g, h) л «g == i л (h == j 1 v h == j +1) v v (h == Iл (g == i1 v g == Нl». (3.4) Квантор существования произносится на естественном языке как "Существует..." . Взаимосвязь ме-ду кванторами. Считают, что квантор С8язывает переменные, которые записываются за знаком квантора в скобках. Поэтому их называют СtlJlЗl1нныма. Переменные же, которые ни один квантор не связывает, называют сtlо60дныJtlМ. Взаимосвязь между кванторами существования и общности можно леrко выразить с помощью связки ...., и она основана на следующем соображении: если какаялибо совокупность переменныJ$. связана квантором бщности таким образом, что все объекты, которым соответствуют эти переменные, не обладают какимто общим свойством, то не существует объекта (а следовательно, и соответствующей ему переменной), который обладал бы этим свойством. Например, в случае среды чудовища, если во всех ячейках нет чудовища. то это означает, что не существует ни одной ячейки, в которой бы находилось чудовище и наоборот. эту взаимосвязь ожно описать следующей формулой: V (i, j) ...., хч(i, j) ==...., 3 (1, j) хЧ<i, Л. Если же ямы находятся во всех ячейках, то это означает, что не существует ячейки, В которой не было бы ямы. эту взаимосвязь можно выразить формулой V (i, j) х.О, j) == ...., 3 (i, j) ...., x.(i, j ). Продолжая аналоrичные рассуждения и обозначая Р(х) любую формулу, переменная х которой связана кванторами, получаем следующие законы, характеризующие взаимосвязь меЖliУ кванторами: V (х)...., Р () =""":' 3 (х) Р (х), 57 
3. ЛОZUКО предикатов ..., 'if (х) Р (х) :; 3 (х) ...,Р (х), 'if (х) Р (х) :;..., 3 (х) ..., Р(х), ..., 'if (х) ..., Р(х) == 3 (х) Р(х). 3.1.8. Равенство Ранее рассматривался атом особоrо типа терм =о терм, называемый JНUle"cтвoм, в котором используется знак равенства в инфиксной форме. Этот знак, являющийся одновременно предикатным символом, свидетельствует о том, что формула терм == терм истинна только в том случае, 'если оба терма соответствуют одному и тому же объекту, Обозначая константы символами ,f, у, переменные символами х, у, функuиональный символ символом F, это можно пояснить с помощью табл. 3.1. Использование равенства можно пояснить двумя при мерами из мира чудовища. Имеем формулу 3 (i, j) х.(3, i) л х.(3, Л, (3.5) которая на естественном языке читается следующим образом: "Существуют i, j Такие, что в ячейках с координатами (3, i), (3, j) находится яма". Для нашеro при мера (см. рис. 2.3) действительно существуют ячейки с координатами (3, 1), (3,3), в которых находится Яма. Это означает, что формула (3.5) истинна при значениях координат (3, 1), (3, 3). Значения переменных i, j MOryт быть как различными, так и одинаковыми. Если же Таблиuа .I х== У Формула истинна, если константы Х и У именуют одмн и тот же объект х== У Формула истинна, если переменная х принимает значение, равное kOHcтaHтe У х==у Формула истинна, если значение пере мен ной х совпадает со значением переменной у Х == F(Y) Формула истинна, если значение функции F(Y) совпадает с константой х х == F(Y) Формула истинна, если значение функuии F(Y) совпадает со значением переменной х х == F(y) Формула истинна, если значение функuии F(y) совпадает со значением переменной х Х == F(y) Формула истинна, если значение функuии F(y) совпадает со значением константы Х 58 . 
3.2. Переход от естественною языка к языку ЛОi!UКU предикатов используется формула (3.6) с равенством, то она будет истинна только при равных значеНИЯХ i и j : 3 и, j) х.(3, i) л х.(3, j) л (i :: Л. (3.6) Формула (3.7) с отрицанием равенства, наоборот, будет истинна при различных значениЯХ координат (3,1) 3 (i, j) х.(3, i) л х.(3, j) л..., (; :: j». (3.7) 3.1.9. Аксиoмы теоремы, фахты и цели Определения таких понятий, как uнтерпретIЩlUI, общезна'UlJNост м0де4ь, вЪUloдUМOCть формул, введенных в rлаве 2 ДЛЯ лоrики высказываний, остаются справедливыми и для лоrики предикатов. В математической литературе, посвященной лоrике предикатов первоrо порядка, IIКСUOJtlllNU обычно называют формулы, истинные при всех интерпретациях в не которой среде. Как и в случае лоrики высказываний, это можно выразить и дрyrими словами: аксиомами называют такие формулы лоrики предикатов, для которых среда является моделью при всех их интерпретauиях. Как уже отмечал ось, атомы с отрицаниями или без них называют лuтеР4А4JNU. Аксиомы, ЯWIЯющиеся литералами, все apryMeHTbI которых константы, часто называют Фа"т(IJNU. Аксиомы, не являющиеся фактами, часто называют "P"Bll.lltlAC. Факты и правила представляют собой формулы лщ'ики предикатов. Основная задача areH1"a  вывод на основании фактов и правил истинцых формул, называемых обычно ,,"OpeJtUlМlI, qe..tRМ1I или qелевЫIНII ФОРМУЛ4JNU. При описании аксиом и целей для конкретной среды возникает MHoro вопросов. Приведем некоторые из них. Как определить, что сформулировано достаточно аксиом, относящихся к данной среде, для тою, чтобы можно бьuIO вывести все интересующие нас цели? Как избежать избыточноrо числа аксиом? В каком виде аксиомы лучше Bcero формулировать? 3.2. Переход от естествеввоro JlЗЫка к языку ЛОI1lD предикатов Переход от высказываний на естественном языке к высказываниям на языке лоrики предикатов достаточно прост, хотя и требует определенной аккуратности. Рассмотрим при мер перевода на язык лоrики предикатов первоrо порядка предложений естественною языка. Если мы хотим выразить на естественном языке знания о том, что некоторое существо (объект), которое имеет крылья, является птицей или что существо, которое летает и несет яйца, тахж.е является птицей, то мы можем записать это в виде двух следующих предложений pyccKoro языка. Если существо имеет крьUIЬЯ, то ЭТО существо  птица. Есди существо летает и несет яйца, то это существо  птица. 59 
3. Лоzика предикатов Те же знания можно выразить на языке лоrики предикатов в виде таких правил или формул: имееткрылья (существо) ::) птица (существо), летает (существо) л несетяйца (существо) ::) птица (существо). (3.8) Для тoro чтобы перейти к этой форме предстамения знаний в языке лоrики предикатов сначала, rлядя на предложения pyccKoro языка, определяем, что же является объеКТОМ, который необходимо сопоставить с константой или переменной. В данном случае речь шла о классе некоторых существ, обладающих определенными свойствами. Поскольку речь идет не о конкретном существе, а о классе существ, то вводим переменную существо для обозначения всех представителей этоrо класса. Свойства существ задаются фразами pyccKoro языка «имеет крылья», .летает», «несет яйца», «птица». Из этих фраз, обозначающих свойства, построим соответствующие предикатные символы, имееткрылья, летает, несетяйца, птица. С использованием этих обозначений фразы «существо имеет крылья», «существо летает», «несет яйца», «это существо  птица» заменяются соответственно на предикаты имееткрЬ/Лья (существо), летает (существо), несетяйца (существо), птица (существо). Из этих предикатов образуются формулы или правила (3. 8), в которых слову «и» соответствует связка л, а словам «Если ,.. то»  связка ::). -Вид существа определяет наличие или отсyrствие у Hero перечисленных свойств. Если это существо синица, то она имеет крылья, а если этим существом является кролик, то, естественно, у Hero нет крыльев. Иначе rоворя, фраза «синица имеет крылья» справедлива или истинна в русском языке, а фраза «кролик имеет крылья» ошибочна или ложна. В соответствии с этим предикат имееткрылья (Синица) принимает истинное значение И, а предикат имеет  крЫЛЬЯ (Кролик)  ложное Л. Слова Синица и Кролик в данном случае являются объектными константами. Подставляя значения объектных констант, имеем теперь возможность вычислять истинНость или ложность формул (3.8). В данном при мере использованы так называемые oд"o.мecтн6le предикаты, имеющие по одному apryмeHтy. Предикаты MOryr быть таюке NНotiJJffecтн6le (имеют более одноrо aprYMeHTa). В случае одноместноrо предиката предикатный символ соответствует какомулибо свойству объекта. В случае мноrоместных предикатов предикатный символ рассматривается либо как некоторое общее свойство объектов, соответствуюших apryMeHTaM, либо, чаще вcero, как отношение, в котором эти объекты находятся, что, впрочем, также является их свойством. Формулы задают отношения меЖду тaKoro типа свойствами, но 'только с использованием связок. Лоrика предикатов, как и лоrика высказываний, необходима для решения задач. Постановка задачи на языке лоrики предикатов, даже если есть соответствуюшее описание на естественном языке, далеко не простое дело. Для облеrчения этоro процесса на основе лоrики предикатов разрабатываются 60 ---1 
З. Лоzика предикатов Факты, опредeлJDOlЦJlе ва'l8JlЫlblе местоположеlllUl объеКТОВ. Начальная ситуаиия показана на рис. 2.3 и с учетом введенных термов и атомов может бьпьпредставленаформулой находится (Аеент, 1, 1) л ориентация (1,2) л л...., пахнет (1, 1) л...., сквозит (1, 1). Правила, Опpeдe.lUUOlЦllе УСЛО8IIJI mectohaxo-цеНИJI объеКТОВ Cpeдъl. Как и прежде, если в какойлибо ячейке не ощущается зловония, то в соседних ей ячейках чудовища нет. Точно так же, если в какойлибо ячейке нет сквозняка, то в соседних ячейках нет ям. ИмIUlикации, с помощью которых можно выразиrь эти знания, теперь приобретают следующий вид: 'V (i, j) ...., пахнет (i, j) ::>...., находится (Чудовище, К, h) л л «g =: i л (h == j lv h == j +1) v (h =: j Л (g =: i 1 v g =: i +1», 'V (i, j) ...., сквозит (i, j) ::> ...., находится (Яма, g, h) л л «g =: i л (h == j 1 v h == j +1) v (h =: j Л (g == i 1 v g == i +1». Знания о наличии чудовища или ямы в ячейках, соседнИХ данной ячейке, если в ней соответственно ощущается зловоние или сквозняк, можно представить в виде 'V (i, j) пахнет (i, j) ::> 3 (g, h) находится (Чудовище, К, h) л л«g ==; л(h ::::jl v h =:j+1)v(h =jл (g == i1 vg =i+1»; 'V (i, j) сквозит (i, j) ::>3(g, h) находится (Яма К, h)л л «g =: i л (h =: j l v h =: j +1) v (h == j л (g == i 1 v g == Нl». Правила, ОпpeдeJIJDOЩНе условна 8ЫП0JIJIeIDIJI areНТOM деАCТВIIЙ и допуcтIIмых nepeходов. Лreнт может перейти в соседнюю ячейку, если там ero не подстереraет опасность в виде чудовища или. ямы. Поэтому формулами, определяющими действия по переходу в соседнюю ячейку, являются следующие: 'V (i, j) находится (Аеент, i, j) л ориентация (g, h) л л «g == i л (h =: j ] V h == j +1) v (h == j л (g == i 1 v g = i +1» л ....., находится. (Чудовище, к, h) л ..., находится (Яма, К, h) ::> ::> перейти (g, h) л находится (AzeHm, К, h) л «g == i л (h =: j 1) ::> ::> ориентация (;, j2» v (g =: i л (h == j +1) ::> ориентация (i, j+2» v 62 
Вопросы и упражнения v (g == i  1 л (h == j) :;:) ориентация (i2, Л) v (g == i +1 л (h == j) :;:) :;:) ориентация (Н2, Л). Формула, определяющая условия выполнения действий по изъятию золота, ИМеет вид 'f;/ О, j) находится (AzeHm, i, j) л блестит (i, j) :;:) взять (i, Л. Формулы, определяющие условия выполнения действий поворота areHTa направо, имеют вид 'f;/ (i, j) находится (AzeHm, i, j) л ориентация (g, h) л л«g==iл(h ==j1 vh ==j+1)v(h ==j л(g==i1 vg==i+l»л л (находится (Чудовище, g, h) v находится (Яма, g, h»:;:) :;:) nовернуться (i, j) л «g == 1) л (h == j 1) :;:) ориентация (il, j) v v (g == i) л (h == j+l):;:) ориентация (i+l,j) v (g ==. il) л (h == Л:;:) :;:) ориентация (i, j+ 1» v (g == i +1) л (h == j) :;:) ориентация (i, j 1». Формулы цели. Цель areHтa  нахОЖдение и изъятие золота, а решение задачи  последовательность действий areHтa, приводящая ero в ячейку, rдe находится золото. Поэтому формулой цели будет просто взять (i, Л. Вопросы и упражнеlllUl 1. Представьте на языке лоrики предикатов следующие предложения pyccKoro языка: а) не все студенты любят математику и физику; б) только один студент любит историю; в) только один студент любит как историю, так и электронику; r) отставание по истории леrче устранить, чем отставание по электронике; д) любой охотник, не употребляющий дичь в пищу, вызывает удивление; е) известны женшины, которые любят мужчин, не являюшихся оотниками; ж) живет в rороде охоrnик, который знаком со всеми мужчинамиохотниками этоrо rорала; з) никто не любит охотника, который убивает дичь ради 'развлечения. 2. Запищите следуюшие условные предложения pyccKoro языка в виде правил лоrики предикатов: а) если вы любите детективы, то сеrодня вечером можете посмотреть прекрасный фильм из эroй серии; б) по yrpaм подают кофе и бyrерброды с ветчиной; в) может быть я заскочу к вам вечером, если успею; r) я ее одновременно люблю и ненавижу; д) если бы вы вовремя ушли с работы, вы бы успели к ужину. Если бы вы успели к ужину, 1'0 попробовали бы прекрасное мороженое. Если бы вы попробовали это мороженое, то всеrда бы уходили с работы вовремя. 63 
3. Лоzика пpeдикamoв 3. Сформулируйте на языке лоrики предикатов аксиомы, описывающие отношения родства меЖдУ внуками, бабушками и дедушками, родителями, сестрами, братьями, дочерьми, сыновьями, зятьями, дядями и тетями. 4. Имеем среду, состоящую из стола и кубиков на нем. Каждый из кубиков может лежать либо непосредственно на столе, либо на одном из друrих кубиков, образуя с кубиками, лежащими под ним, столбик. Столбики Moryr быть любой высоты. Сформулируйте на языке лоrики предикатов постановку задачи, исходя из следующих условий: а) кубик А лежит на кубике B, кубик В на кубике С, а кубик С на столе; б) единственное действие, которое можно совершать в среде кубиков  это перемещать один кубик, на котором ничеrо не лежит, на стол или на друroй кубик, если он свободен от кубиков сверху; в) необходимо перевернуть столбик Из кубиков, используя это действие; r) покажите формально, как получается решение в вашей постановке задачи. 5. Дополните постановку задачи, рассмотренную в настоящей rлаве для среды чудовища, аксиомами, учитывающими возможность совершения areHТOM выстрела из лука и поражения чудовища. если areHT стоит к нему лицом в соседней ячейке и в ней нет сквозняка. Объясните, как в этом случае может измениться стратеrия движения areHтa при условии, что после поражения чудовища зловоние, исходящее от Hero, исчезает. . 
4. ВЫВОД В лоrиКЕ ПРЕДИКАТОВ в настоящей zлаве рассмотрены процедуры вывода в Л02ике предикатов nepBOlO порядка, позволяющие осуществлять вывод целевых формул. Введены основные понятия исчисления лоzики предикатов, отличающих elO от исчисления высказываний. Продолжается знакомство с более сложными понятиями Л02ическlIX исчислений, базирующuxcя на Л02ике предикатов первоlO порядка, показаны различные типы выводов. В конце zлавы затронуты вопросы полноты и непротиворечивости исчислений, основанных на Л02ике предикатов перВО20 порядка. Во второй rлаве определено понятие.и ИЗJIожена суть вывода (поиска, рассуждения) в пространстве состояний с использованием лоrики высказываний. В третьей rлаве рассмотрен язык лоrики предикатов первоro порядка, существенно более выразительный по сравнению с лоrикой высказываний. Это большая выразительность языка лоrики предикатов о:ьясняется следующим. Вместо лоrических переменных лоrики высказываний ,в лоrике предикатов используются предикаты. Предикаты MOryт не иметь apryMeHToB и Torдa они ЯRЛяются полным аналоroм лоrических переменных. Но предикаты MOryт иметь в качестве apryMeHToB объектные константы и переменные, область значений которых может быть в принципе даже,бесконечной. Истинностное значение предикатов в этом слу'!ае зависит от значения ero'apryMeHТOB. Кроме TOro, в лоrике предикатов используются кванторы, которые позволяют делЗ1'Ь высказывания в лаконичной форме о множествах связанных определенными отношениями объектных переменных. Следствием большей выразительности языкалоrики предикarов ЯRЛяется более сложная, хотя и схожая с лоrикой высказываний структура вывода. ,- , 4.1. Исчисление предикаТОВ В rлаве 2 было определено понятие .лоrическоrо исчисления. Одним из таких исчислений ЯRЛяется IU.CCllWCкoe IICrulCU1llle ""IUUIтM. Как и любое друroe ичисление, оно построено на использовании: алфавита (совокупнОсти используемых символо); . . 3 1141 65 
4. Вывод в лozике предикатов синтаксических правил построения формул в алфавите; аксиом (обшезначимых исходных формул); правил QbIBona по аксиомам производных формул или теорем. Алфавит и синтаксические правила построения формул в исчислении предикатов определены в предыдушей rлаве. Множество аксиом классическоro исчисления предикатов определяется следующим образом: каждая аксиома классическоrо исчисления высказываний трансформируется в аксиому классическоro исчисления предикатов. эта трансформация выражается только в том, что все ее лоrические переменные рассматриваются как предикаты, а формулы как формулы лоrики предикатов первоro Порядка. К этому множеству аксиом, являющихся аналоroм аксиом классическоro исчисления высказываний, добавляются две следующие аксиомы: v (х) а (х) ::> а (у), а (у) ::> 3 (х) а (х). Общезначимость этих аксиом леrко проверить с помощью таблиц истинности. Множеством правил классическоro исчисления предикатов является модус поненс а, а ::> 13 13, в котором а и 13 являются формулами лоrики предикатов первоro порядка, и два npIlВlU. введеllа KBallт0JIOtl: а::> 13 a ::> \7' (х) 13 (х), а ::> 13  3 (х) а (х) ::> 13. Классическое исчисление предикатов первоrо порядка не единствеmю. Существует множество друrих исчислений, построенных на основе классическоro, но использующих, помимо правил классическоrо исчисления предикатов, и друrие правила. В частности, в rлаве 2 бьUIИ введены такие правила вывода в лоrике выскаэываний, как исключение конъюнкта, введение конъюнкции, исключение двойноrо отрицания, простая peзqлюция, резолюция. Эти правила справедливы и для лоrики предикатов, с тем только отличием, что в них используются формулы лоrики предикатов, а не лоrики высказываний. Как и в случае классическоro исчисления высказываний, все аксиомы классическоro исчисления предикатов не содержат констант. Кроме TOro, все предикатные символы в классическом исчислении высказываний являются абстрактными в том смысле, что любой предикатный символ в аксиомах лоrическоrо исчисления предикатов может .быть переименован и от этоro ничеrо не изменится. Иными словами, ксиомы классическоro исчисления предикатов, как и \ксиомы классическоrо исчисления высказываний, остаются аксиомами при любой интерпретации. при использовании классическоro исчисления предикатов lIJIЯ описания свойств какойлибо конкретной среды абстрактные предикатные символы 66 
4.1. Исчисление предикатов зам(:няют конкретными, называемыми также ..... lI1UIтIIbUtШ CIlAI8OAIIAUl. Кроме TOro, ВВОДЯТ факты, аксиомы и правила, не являющиеся аксиомами классическоrо исчисления предикатов и зависящие от той среды, ДЛЯ которой осуществляется формализация постановки задачи. В результате получается некоторое новое лоrическое исчисление. Формулы этоrо исчисления попрежнему строят по тем же правилам, показанным на рис. 3.1. С ero помощью можно выводить формулы, которые нельзя получить в классическом исчислении высказываний. С практической точки зрения нас интересуют именно такие исчисления, учитывающие особенности конкретных сред. В дальнейшем ряд таких исчислений и будет рассмотрен. Чтобы отличать такие исчисления от классическоro исчисления лоrики предикатов первоro порядка, назовеч их IIeIU/l,CCII'leC"1IAUI. IICIIIIC.4e11lU1JNlI. К их числу относятся также исчисления, которые строятся не на основе лоrики предикатов первоrо порядка. В настоящей rлаве продощк.им изучение неклассических исчислений, построенных на основе лоrики предикатов первоro порядка. Пусть, например, среди множеСТJla аксиом в неклассическом исчислении ДЛЯ какойлибо среды имеется две аксиомы \i(x) а (х) и а (А) ::> р (В), rдe х  переменная; А, В  константы; а, р "7'" предикатные символы. Спрашивается, можно ли на основании этих аксиом. используя правило модус поненс а, а ::> р  р, заключить, что формула р (В) истинна. Если принять а == а (А), р == Р (В), то такое заключение можно было бы сделать, если бы среди исходных аксиом имелась аксиома а (А). Ее у нас нет. Имеется только аксиома \i (х) а (х). Эта аксиома rласит: «ДЛя всех х имеет место истинность формулы а (х)>>. Косда речь идет ,о всех х формулы а (х), то имеются в виду, естественно, толко те х, областью значений которых я вля ют.f я .3аранее oroDOpeHHble констан'{ы, среди которых есть константа А хотя бы ПОТОУ, что она встречается в предикате а(А) формулы а (А) ::> р (В), т.е. в предикате, предикатный символ а кoтoporo совпадает с предикатным симВOJIОМ предиката В аксиоме \i(x) а (х). Это означет, что предикат а (А) истинен. Следовательно, можно воспоЛЬЗоваться правилом модус поненс h заключить, что формула р (В) истинна. Таким образом, чтобы воспользоваться правилом модус поненс а (А), а (А) ::> р (В)  Р (В), пришлось по аксиоме \i (х) а (х) поЛучить аксиому а (А). Это равносильно использованию правила вывода, означающеro, что при наличии. аксиомы \i (х) а (х) вместо переменной х в предикат а (х) можно подставить константу А (эта подстановка обозначается х ---+ А) и в результате получить аксиому а (А). Эrо правило называют правилом IICIt.IfJOIЩIII1I UIUIтOptI ООfl4lЮCтlI. Кроме этоro правила MOryт потребоваться также правила IlСIUЮllellll1l ""I1I1тОрl1 СУfICeCnuюtllllllI1I, которые записывают в общем виде следующим образом: З" 67 
4. Вывод в .Il0ZUKe предикаmов IICКJIIМeнu D8IfJ'Opa обllUlOC1'll 'rj (х) а (х)  а (х ---+ А); ИСКJllO'lеlllUl uaвтopa СУЩecтвo88llllJl 3 (х) а (х)  а (х ---+ А); введение квантора сущеспо88IIIIJI а (А)  3 (х) а (х---+ А). Здесь а (х)  произвольная формула лоrики предикатов, имеющая связанную квантором общности или существования переменную х; а (х ---+ А)  формула а (х), в которой 8се вхождения переменной х заменены на константу А. 4.1.1. Снова пример со средой чудовища . Вернемся к решению задачи нахождения areHTOM золота в среде чудовища. В предыдушей rлане были сформулированы необходимые ШtЯ решения задачи аксиомы. Перечислим их в неСkОЛЪКО ином виде и перенумеруем, вводя дополнительно ДВа aroMa: находи.mся (Препятствие, i, O) находится (Преnятствие, О, j). Здесь используется дополнительная константа Преnятсmвие, соответствующая не которому вымышленному объекту, который оrрани'Чивает передвижение объекта 8 ячейки, хотя бы одна координата которых равна нулю. Предварительно напомним, что восприятие areHTa позволяет ему определять наличие зловония, сквозняка или блеска только в той ячейке, [де ОН находится. Поэтому полное начальное состояние среды чудовища (см. рис. 2. 3) areHTY неизвестно. Находясь в ячейке (1,1), он может восполь;юваться только восприятиями в этой ячейке. Формулы, onpeдemпoщие на.lЛWIWе ЭRIUIIUI areиra: находитСя (AzeHm, 1, 1) ориентация О, 2)  находится (Зловоние, 1, 1)  ноходится (Сквозняк, 1, 1)  нllXOдится (Яма, 1, 1) 'rj (i) находится (Препяmствие, i, О) 'rj (Л ноходится (Препятствие, О, j) 68 (4.1) (4,2) (4.3) (4.4) (4.5) (4.6) (4.7) . 
4.1. Исчисление предикатов для TOro чтобы выразить возможность восприятия areHTOM зловония, сквозняка или блеска в ячейках О, 2), (2, 1), (3, 1), соответственно введем следующие формулы: . находится (AzeHm. 1, 2) :> находится (34овоние, 1, 2), (4.8) находится (AzeHm, 2, 1) :> находится (Сквозняк, 2, 1) л л..., находится (Зловоние, 1, 2), (4.9) (4.10) (4.11) (4.12) (4.13) находится (AzeHm, 2, 3) :> находится (Блеск, 2, 3), находится (AzeHm, 1, 2) :>..., находится (Сквозняк, 1, 2), находится (AzeHт, 2, 2) :>..., находится (Зловоние, 2, 2), находится (AzeHm, 2, 2) :>..., находится (Сквозняк, 2, 2). Формулы, ОпpeдeJlJllOlЦll YCJlOВllJl местонахождеНИJI о6ьектов в зависимости от ВОСпpllJl11Ul: v О, л ..., находится (Зловоние, ;, Л :> ..., находится (Чудовище, " j) л л ..., находится (Чудовище, " j  1) л ..., находится (Чудовище, " j + 1) л л..., находится (Чудовище, '1, j) л..., находится (Чудовище, ;+1, Л, (4.14) V (i, j) ..., находится (Сквозняк, " j) :> :>..., находится (Яма, " j 1) л..., находится (Яма, " j +1) л л..., находится (Яма, '1, j) л..., находится (Яма, 1+1, j), (4.15) V О, j) ..., находится (Чудовище, " j) :> :> ..., находится (Зловоние, " j) л ..., находится (Зловоние, " j  1) л л ..., находится (Зловоние, " j + 1) л л..., находится (Зловоние, 'l, j) л..., находится (Зловоние, ;+1, j), (4.16) V и, j) находится (Чудовище, " j) :> :> находится (Зловоние, " j) л находится (Зловоние, " j  1) л л находится (Зловоние, " j +1) л находится (ЗлО8сжие, ; 1, j) л л находится (Зловоние, Нl, j), (4.17) 69 . 
4. Вывод в лоzике предикатов V (i, j) находится (Зловоние, i, j) ::> находится (Чудовище, i, j) v v находится (Чудовище, i, j  1) v находится (Чудовище, i, j +1) v v находится (Чудовище, il, j) v находится (Чудовище, i+"I, Л, (4.18) V (i, j) находится (Сквозняк, i, j) ::> :::> находится (Яма, i, j l) v находиmся (Яма, i, j +1) v v находится (Яма, il, j) v находится (Яма, i+1, Л, (4,19) ФОРМУЛЫ, оnpeдетпощие условия выполнения areитом действий:  V и, j) находится (AzeHm, i, j) л ориентация (i, j I) л л ..., находится (Чудовище, i, j  1) л  находится (Яма, i, j  1) ::> ::> перейти (i, jl) л находится (AzeHm, i, jl) л ориентация (i, j2), (4.20) 'V и, j) находится (Аеенm, i, j ) л ориентация О, j Н) л л  находится (Чудовище, i, j +1) л  находится (Яма, i, j+1) ::> ::> перейти и, j+l) л находится (Аеент, i, j+1) л ориентация (i, j+2), (4.21) 'V (i, j) находится (Аеент, i, j) л ориентация (;  1, j) л л  находится (Чудовище, il, j) л  находится (Яма, i 1, j) ::> ::> перейти (iI, j) л находится (Аеент, il, j) л ориентация и2, Л, (4.22) V и, j) находится (Аинт, i, j) л ориентация (i+1, j) л л  находится (Чудовище, Н1, j) л  находится (Яма, Н1, j) ::> ::> перейти (i+I, j) л находится (Аеент, ;+1, j) л ориентация (Н2, Л, (4.23) V и, j) находится (Аеент, i, j) л находится (Блеск, i, j) ::> ::> взять (i, Л, (4.24 ) 70 
4.1. Исчисление пpeдиKoiпoв 'V (i, j) находится (AzeHm, i, j) л ориентация (i, j  1) л л (находится (Чудовище, i, j  1) v lIOXодится (Яма, i, j  1) v v находится (Препятствие, i, j 1» :::> повернутьсянаправо и, j) л л находится (AzeHm, i, j) л ориентация и1, Л, 'V (i, j) находится (AzeHm, i, j) л ориентация и 1, j) л л (находится (Чудовище, iI, j) v находится (Яма, il, j) v v находится (Препятствие, Н, Л) :::> повернутьсянаправо (i, j) л л находится (AzeHm, i, j) л ориентация О, j+l), 'V (i, j) находится (AzeHm, i, j) л ориентация О, j+l) л л (находится (Чудовище, i, j + 1) v находится (Яма, i, j + 1) v v находится (Препятствие, i, j+l» :::> повернутьсянаправо (i, j) л л находится (AzeHm, i,'1) л ориентация (i+I, Л, 'V (i, j) находится (AzeHm, i, j) л ориентация (i+I, j) л л (находШ1tCЯ (Чудовище, i+I, j) v находится (Яма, Н1, j) v v находится (Препятствие, Н1, Л) :::> повернутьсянаправо О, j) л л находится (AzeHm, i, j) л ориентация (i, j I), 'V О, j) находится (Аzент, i, j) л ориентация О, j  1) л л (находится (Чудовище, i, j  1) v находится (Яма, i, j  1) v v находится (Препяmствие, i, j 1» :::> повернутьсяналево (i, j) л л находится (AzeHm, i, j) л ориентация (; +1, Л, 'V О, j) находится (AzeHm, i, j) л ориентация (; 1, j) л л (находится (Чудовище, iI, j) v находится (Яма, Н, j) v v находится (Препятствие, il, Л) :::> повернутьсяналево (i, j) л л находится (AzeHm, i, j) л ориентация О, jl), . ... (4.25) (4.26) (4.27) (4.28) (4.29) (4.30) 71 
4. ВыtЮiJ в лozике предикатов V О, j) находится (AzeHm, i,-j) л ориентация (i; j+l) л л (находится (Чудовище, i, j + 1) v находится (Яма, i, j + 1) v v находится (Препятствие, i, j +1» ::> повернутьсянале(JО (i, j) л л находится (AzeHm, i, j) л ориентация (iI, Л, (4.31) V (i, j) находится (AzeHm, i, j) л ориентация (i +1, j) л л (находится (Чудовище, i+1, j) v находится (Яма, i+1, j) v v находится (Препятствие, i+1, j » ::> повернуться налево О, j) л . л находится (AzeHm, i, j) л ориентация (i,.j+I). (4.32) Формула цели: 3 (i, j) взять (i, Л. (4.33) 4.1.2. Вwвод Рассмотрим подробно вывод с использованием правил исключения квантора общности, конъюнкта и введения конъюнкции. Вывод разобьем на шаrи, на каждом из которых будем при менять только одно из перечисленных правил, а в результате получать новую формулу. ш а r 1. В соответствии с правилом исключения квантора общности и формулой (4.1"4) получаем ...., находится (Зловоние, 1, 1)::>...., находится (Чудовище, 1, 1) л л ...., находится (Чудовище, 1, 2) л ...., находится (Чудовище, 2, 1). (4.34) ш а r 2. В соответствии с формулами (4.3), (4.34) и правилом модус поненс получаем ...., находится (Чудовище, 1, 1) 1\ ...., находится (Чудовище, 1, 2) л 1\ ...., находится (Чудовище, 2, 1). (4.35) Ша r 3. В соответствии с формулой (4.35) и правилом исключения конъюнкта получаем ...., находится (Чудовище, 1, 1), ...., находится (Чудовище, 1, 2), ...., находится (Чудовище, 2, 1). 72 (4.36) (4.37) (4.38)  
4.1. Исчисление ltKaтoв Ш а r 4. В соответствии с правилом исключения квантора общности и формулой (4.15) получаем ..., находится (Сквозняк, 1 ,1) ::>..... находится (Яма, 1, 2) л л ..., находится (Яма, 2, 1), (4.39) Ша r 5. В соответствии с формулами (4.4), (4.39) и правилом модус поненс получаем ..... находится (Яма, 1, 2) л..... находится (Яма, 2, 1). (4.40) Ша r 6. По (4.40) и правилу исключения КОН.ЬЮНКlа 1I0лучаем ..., находится (Яма, 1, 2), (4.41) ..., находится (Яма, 2, 1). (4.42) Заметим, что поскольку ячеек хотя бы с одной нулевой координатой не существует, то соответствующие им предикаты не включены в формулы (4.39) и (4.40). Ша r 7. В соответствии с формулами (4.1), (4.2), (4.37), (4.41) и правилом введения конъюнкции получаем находится (AzeHm, 1, 1) л ориентация (1, 2) л л..., находится (Чудовище, , 2) л..., находится (Яма, 1, 2). (4.43) Ша r 8. В соответствии с формулой (4.21) и правилом исключения квантора общности ПОЛУ;"аем находится (AzeHm, 1, 1) л ориентация (1, 2) л л..... находится (Чудовище, 1, 2) л ..., находится (Яма, 1, 2) :> :> перейти(l, 2) л находится (AzeHm, 1, 2) л ориентация (1, З). . (4.44) Ш а r 9. В соответствии с формулами (4.43), (4.44) и правилом модус поненс получаем перейти (1, 2) л находится (AzeHm, 1, 2) л ориентация (1, 3). (4.45) Ша r 10. В соответствии с формулой конъюнкта получаем перейти (1, 2), находится (AzeHm, 1, 2), ориентация (1, 3). (4.45) и правилом ИСКJ;Iючения (4.46) (4.47) (4.48) 73 . 
4. Вывод в лоzике предикатов Ша r 11. В соответствии с формулами (4.47), (4.8) и правилом мод: поненс получаем находится (Зловоние, 1, 2). (4.4 Ша r 12. В соответствии с формулами (4.11), (4.47) и правилом мощ поненс получаем ., находится (Сквозняк, 1, 2). (4.50 Ша r 13. В соответствии с формулой (4.18) и правилом исключени квантора общности получаем находится (Зловоние, 1, 2) ::> находится (Чудовище, 1, 1) v v находится (Чудовище, 1, 2) v находится (Чудовище, 1, 3) v v находится (Чудовище, 2, 2). (4.51 Ша r 14. В соответствии с формулами (4.49), (4.51) и правилом мод) поненс получаем находится (Чудовище, 1, 1) v находится (Чудовище, 1, 2) v v находится (Чудовище, 1, 3) v находится (Чудовище, 2, 2). (4.52 Ша r 15. В соответствии с формулой (4.52) и правилом резолюции (соrлаСJi (4.36) истинен предикат., находится (Чудовище, 1, 1), а по (4.37)  истине предикат ., находится (Чудовище, 1, 2); следовательно, находится (Чудовищ 1, 1) и находится (Чудовище, 1, 2) ложны) получаем находится (Чудовище, 1, 3) v находится (Чудовище, 2, 2). (4.53 Чудовище только одно и поэтому только один из предикатов в формуле (4,5: должен быть истинным. Определить, однако, какой из них истинен, areHT 1- может. Поэтому попытаемся сформулировать действия, которые, находясь ячейке (2, 1), areHT может совершать в предположении, что чудовище МОЖI быть в любой из двух ячеек (1, 3) или (2, 2). Ша r 16. В соответствии с формулой (4.27) и правилом исключеНI1 квантора общности получаем находится (Аеент, 1, 2) л ориентация (1, 3) л л находится (Чудовище, 1, 3) ::> повернутьсянаправо (1, 2) л л находится (Аеент, 1, 2) л ориентация (2, 2). (4.54 74 
4.1. Исчисление преди"атов Ша r 17. В соответствии с формулами (4.47), (4.48), (4.53) и правилом введения конъюнкции получаем находится (AzeHm, 1, 2) л ориен,,:,ация (1, 3) л л находumся (Чудовище, 1, 3). (4.55) Ша r 18. В соответствии с формулами (4.54), (4.55) и правилом модус поненс получаем повернуться (1, 2) л находится (AzeHm, 1, 2) л ориентация (2, 2). (4.56) Ша r 19. В соответствии с формулой (4.56) и правилом исключения конъюнкции получаем noвернуться (1, 2), находится (Асент, 1, 2), ориентация (2, 2). (4.57) (4.58) (4.59) Ша r 20. В соответствии с формулой (4.28) и правилом исключения квантора общности получаем находится (AzeHm, 1, 2) л ориентация (2, 2) л (находится (Чудовище, 2, 2) v v находится (Яма, 2, 2» ::::> повернуться (1, 2) л находится (AzeHm, 1. 2) л л ориентация (1, 1). (4.60) Ша r 21. В соответствии с формулами (4.53), (4.58), (4.59) и правилом введения коньюнкции получаем находится (AzeHm, 1, 2) л ориентация (2, 2) л л находится (Чудовище, 2, 2). (4.61) Ша r 22. В соответствии с формулами (4.60) (4.61) и правилом модус поненс получаем повернуться (1, 2) л находится (AzeHm, 1,- 2) л ориентация (1, 1). (4.62) Ша r 23. В соответствии с формулой (4.62) и IJравилом исключения конъюнкта получаем повернуться (1, 2), находится (AzeHm, 1, 2), ориентация (1, 1). (4.63) (4.64) (4.65) 75  
4. Вывод в лоzике предикатов Ша r 24. В соответствии с формулой (4.20) и правило м исключения квантора общности получаем находится (AzeHm, 1, 2) л ориентацUя (1, 1) л л.., находится (Чудовище, 1. 1) л .., находится (Яма, 1, 1) :::> :::> перейти (1,1) л-находится (AzeHm, 1,1) л ориентация (1, О). (4.66) Ш а r 25. В соответствии с формулами (4.5), (4.36), (4.64),-.(4.65) и правилом введения конъюнкции получаем находится (AzeHm, 1, 2) л ориентация (1, 1) л л .., находится (Чудовище, 1, 1) л .., находится (Яма, 1, 1). (4.67) ш а r 26. В соответствии с формулами (4.67), (4.66) и правилом модус поненс получаем перейти (1, 1) л находится (AzeHm, 1, 1) л ориентация (1, О). (4.68) Ша r 27. В соответствии с формулой (4.68) и правилом исключения конъюнкта получаем перейти (1,1), (4.69) находится (AzeHm, 1,1), (4.70) ориентация (1, О). (4.71) Таким образом, areHT вернулся в ячейку (1, 1), но ориентация ero изменилась. Теперь он стоит лицом к несуществующей ячейке (1, О). Ша r 28. В соответствии с формулой (4,6) и правилом исключения квантора общности получаем находится (Преnятстеие, 1, О). (4.72) Ша r 29. В соответствии с формулой (4.29) и правилом исключения квантора общности получаем находится (AzeHm, 1, 1) л ориентация (1, О) л л (находится (Преnятствие, 1, О) v находится (Чудовище, 1, О) v v находится (Яма, 1, О»:::> повернутьсяналево (1, 1) /1. Л находится (AzeHm, 1, 1) л ориентация (2, 1). 76 (4.73) 
4.1. Исчисление предикатов Ш а r 30. В соответствии с формулами (4.70), (4.71), (4.72) и правилом введения конъюнкции получаем находится (AzeHm, 1, 1) л ориентация (l, О) л л находится (Преnятствие, 1, О). (4.74) Ша r 31. В соответствии с формулами (4.73), (4.74) и правилом модус поненс получаем повернутьсяналево (1, 1) л находится (Мент, 1, 1) л л ориентация (2, 1). (4.75) Ша r 32. В соответствии с формулой (4.75) и правилом исключения конъюнкта получаем повернутьсяналево (1, 1), находится (AzeHm, 1, 1), ориентация (2, 1). (4.76) (4.77) (4.78) Ша r 33. В соответствии с формулой (4.23) квантора общности получаем наХодится (AzeHm, 1, 1) л ориентация (2, 1) л л..., находится (Чудовище, 2, 1) л..., находится (Яма, 2, 1) ::> ::> перейти(2, 1) л находится (AzeHm, 2, 1) л ориентация (3, 1). и правилом исключения (4.79) Ша r 34. В соответствии с формулами (4.77), (4.78), (4.38), (4.42) и правилом введения конъюнкции получаем находится (AzeHm, 1, 1) л ориентация (2, 1) л л ..., находится (Чудовище, 2, 1) л ..., находится (Яма, 2, 1). ( 4.80) Ша r 35. В соответствии с формулами (4.80), (4.79) и правилом мопус поненс получаем перейти (2, 1) л находится (AzeHm, 2, 1) л ориентация (3, 1). (4.81) Ша r 36. В соответствии с формулой (4.81) и правилом исключения конъюнкта получаем перейти (2, 1), ( 4.82) (4.83) (4.84) 77 находится (AzeHm, 2, 1), ориентация (3, 1). 
4. Вывод в лоzике предикатов Ша r 37. В соответствии с формулами (4.83) и (4.9) и правилом модус поненс получаем находится (Сквозняк, 2 ,1). (4.85) Шаr 38. В соответствии с формулой (4.19) и правилом исключения квантора общности получаем находится (Сквозняк, 2, 1) ::> находится (Яма, 2, 2) v v находится (Яма, 1, 1) v находится (Яма, 3, 1). (4.86) Ша r 39. В соответствии с формулами (4.85), (4.86) и правилом модус поненс пол}"{аем находится (Яма, 2, 2) v находится (Яма, 1, 1) v v находится (Яма, 3, 1). ( 4.87) Ша r 40. В соответствии с формулой (4.15), правилом исключения квантора общности, получаем ..., находится (Сквозняк, 1, 2)::> ..., находится (Яма, 1, 1) л л ..., находится (Яма, 2, 2) л ..., находится (Яма, 1, 3). (4.88) Ша r 41. В соответствии с формулами (4.58), (4.11), (4.88) и правилам и модус поненс и исключения конъюнкта получаем ..., находится (Яма, 1, 1), ..., находится (Яма, 2, 2), ..., находится (Яма, 1, 3), (4.89) (4.90) (4.91) Ша r 42. В соответствии с формулами (4.87), (4.5), (4.90) и правилом резолюции получаем находится (Яма, 3, 1). (4.92) Ш а r 43. В соответствии с формулой (4.30) и правилом исключения квантора общности получаем находится (AzeHm, 2, 1) л ориентация (3, 1) л л находится (Яма, 3, 1) ::> повернутьсяналево (2, 2) л л находится (AzeHm, 2, 1) л ориентация (2, 2). (4.93) 78 .... 
4.1. Исчисление предикатов Ш а r 44. В соответствии с формулами (4.92), (4.83), (4.84) и правилом введения конъюнкции получаем находится (Яма, 3, 1) л находится (AzeHm, 2, 1) л л ориентация (3, 1). (4.94) ш а r 45. В соответствии с формулами (4.94), (4.93) и правилом модус поненс получаем повернутЬСЯНШlево (2, 2) л находится (AzeHm, 2, 1) л л ориентация (2, 2). (4.95) Ша r 46. В соответствии с формулой (4.95) и правилом исключения конъюнкта получаем повернутЬСЯНШlево (2, 2), находится (AzeHm, 2, 1), ориентация (2, 2). (4.96) (4.97) (4.98) Ша r 47. В соответствии с формулой (4.21) и правилом исключения квантора общности получаем находится (AzeHm, 2, 1) л ориентация (2, 2) л л ., находится (Чудовище, 2, 2) л ., находится (Яма, 2, 2) ::> ::> перейти (2, 2) л находится (AzeHm, 2, 2) л ориентация (2, 3). (4.99) Ша r 48. В соответствии с формулами (4.9), (4.14), (4.97), (4.98), (4.90) и правилам и исКJiючения квантора общности, модус поненс и введения конъюнкции получаем находится (AzeHm, 2, 1) л ориентация (2, 2) л л ., находится (Чудовище, 2, 2) л ., находится (Яма, 2, 2). (4.100) Заметим, что шаr 48 не является таким простым, как все остальные. Ero детализацию преДllаraется выполнить самостоятельно. ш а r 49. В соответствии с формулами (4.100), (4.99) и правилом модус поненс получаем перейти (2, 2) л находится (AzeHm, 2, 2) л ориентация (2, 3). (4.101) ш а r 50. В соответствии с формулой (4.10 1) и правилом исключения конъюнкта получаем перейти (2, 2), (4.102) 79 
4. Вывод 8 ЛОёике предикатов находится (AzeHm, 2, 2), ориентация (2, 3). (4.103) (4.104) Ша r 51. В соответствии с формулами (4.103), (4.12) и правилом модус поненс получаем ...., находится (Зловоние, 2, 2). (4.105) Ша r 52. В соответствии с формулами (4.103), (4.13) и правилом модус поненс получаем ...., находится (СквозItЯК, 2, 2). (4.106) Ша r 53. В соответствии с формулой (4.14) и правилом исключения квантора получаем ...., находится (Зловоние, 2, 2) ::::> ...., находится (Чудовище, 2, 2) л л ...., находится (Чудовище, 2, 1) л ...., находится (Чудовище, 2, 3) л л ...., находится (Чудовище, 1, 2) л ...., находится (Чудовище, 3, 2). (4.107) Ша r 54. В соответствии с формулами (4.105), (4.107) и правилом модус поненс получаем ...., находится (Чудовище, 2, 2) л ...., находится (Чудовище, 2, 1) л л ...., находится (Чудовище, 2, 3) л ...., находится (Чудовuще, 1, 2) л л ...., находится (Чудовище, 3, 2). (4.108) ш а r 55. В соответствии с формулой (4.108) и правилом исключения конъюнкта получаем ...., находится (Чудовище, 2, 2), ...., находится (Чудовище, 2, 1), ...., находится (Чудовище, 2, 3), ...., находится (Чудовище, 1, 2), ...., находится (Чудовище, 3, 2). (4.109) (4.110) (4.111) (4.112) (4.113) Ша r 56. В соответствии с формулой (4.15) и правилом исключения квантора получаем 80 .. 
4.1. Исчисление предикатов ..., находится (Сквозняк, 2, 2) ::> ..., находится (Яма, 2, 1) л л..., находится (Яма, 2. 3) л ..., находится (Яма, 1. 2) л л ..., находится (Яма, 3, 2). (4.114) Ша r 57. В соответствии с формулой (4.114) и правило м исключения конъюнкта получаем ..., находится (Яма, 2, 1), ..., находится (Яма, 2, 3). ..., находится (Яма, 1, 2), ..., находится (Яма, 3, 2). (4.115) (4.116) (4.117) (4.118) Ша r 58. В соответствии с формулой (4.21) и правилом исключения квантора общности получаем находится (AzeHm, 2, 2) л ориентация (2, 3) л л ..., находится (Чудовище, 2, 3 л ..., находится (Яма, 2. ) ::> ::> перейти (2, 3) л находится (AzeHm, 2, 3) л ориентация (2, 4). (4.119) Ша r 59. В соответствии с формулами (4.103), (4.104), (4.111), (4.116) и правилом введения конъюнкции получаем находится (AzeHm, 2, 2) л ориентация (2, 3) л л....; находится (Чудовище, 2, 3) л ..., находится (Яма, 2, 3). (4.120) Ша r 601 В сооттствии С формулами (4.120), (4.119) и прарилом модус поненс получаем перейти (2, 3) л нахООится (Azeнт, 2, 3) л ориентация (2, 4). (4.121) Ша r 61. В соответствии с формулой (4.121) и правилом исключения конъюнкта получаем перейти (2, 3), HaxoдU/tlC1l (Аzент, 2, 3), ориентация (2, 4). (4.122) (4.123) (4.124) Ша r 62. В соответствии с формулами (4.123), (4.10) и правило м модус поненс получаем находится (Блеск, 2, 3). (4.125) 81  
4. Вывод в лоеике предикатов Ша r 63. В соответствии с формулой (4.24) и правилом исключения квантора общности получаем находится (Аеент, 2, 3) л находится (Блеск, 2, 3) ::::> взять (2, 3). (4.126) Ша r 64. В соответствии с формулами (4.123), (4.125) и правилом введения конъюнкции получаем находится (Аеент, 2, 3) л находится (Блеск, 2, 3). (4.127) Ша r 65. В соответствии с формулами (4.127), (4.126) и правилом модус поненс получаем взять (2, 3). (4.128) Ша r 66. В соответствии с формулой (4.128) и правило м введения квантора существования получаем взять (2, 3) ::::> 3 (i, j) взять (;, Л. Таким образом, БЬVIа достиrнута (выведена) цель (4.33). (4.129) 4.1.3. ТРУДНОСТИ процедуры поиска решения в среде чудовища Процедура поиска решения сравнительно простой залачи в среде чудовища потребовала 66 шаrов. На каждом шаrе применялось чаще вcero какоелибо одно правило вывода. (Некоторые шаrи, например, шаr 48 вывода формулы (4.100), были несколько укрупнены). Что можно заметить, анализируя эту процедуру? Несмотря на простоту задачи, число шаrов кажется несоразмерно большим (66 шаrов). Также кажется слишком большим количество новых истинных литералов, которые бьVIИ выведены в процессе поиска решения (130 литералов). Выбор очередноro шаrа неоднозначен. Количество новых истинных литералов, которые можно вывести из уже известных, назовем сте".ю ветменUJI. На степень ветвления СИльно влияют правила исключения квантора общности, поскольку при ero использовании осуществляется замена переменных константами, а число таких замен в принципе может быть даже бесконечным. Приходится очень часто при менять правила введения конъюнкции, комбинируя литералы в целях получения формул, являющихся комбинацией литералов, для использования их в правилах модус поненс. Также часто приходится при менять правило исключения конъюнктов в целях получения литералов для использования их в правилах введения конъюнкции. Итак, в выводе, который только что бьVI продемонстрирован, все время приходилось выводить истинность отдельных литералов, а затем, комбинируя их 82 
4.1. Исчисление предикатов в истиннущ конъюнкцию а и используя какуюлибо истинную импликацию а::::> Р, ПРИ!dенять правило модус поненс а, а::::> р н3 для получения навой истинной формулы Р, ПО которой затем снова приходилось выводить истинные литералы, и так до тех п.ор, ПOj(а не получится требуемая нам истинная формула. Поскольку в этом процессе все время приходилось спускаться на уровень отдельных литералов, то ecтecTBeHHblM образом напрашивается идея ввести оrраничения на вид используемых в исчислении и правиле модус поненс формул так, чтобы не приходилось постоянно и раздельно при менять правила исключения квантора общности, исключения конъюнкта и введения конъюнкции. Для этоrо предлаrается ввести обобщенное njНItJllAo мtIOyc nоненс а, а::::> р p, в котором а и р не являются произвольными формулами лоrики предикатов первоro порядка. Отметим, что обобщенным ero называют в связи с тем, что оно позволяет избавиться от раздельноrо использования правил исключения квантора общности, исключения конъюнкта и введения конъюнкции, хотя с обшей точки зрения это правило является частным случаем правила модус поненс. 4.1.4. Обобщенное правило модус поненс Обозначим Е (8) некоторый атом, имеющий предикатный символ Е и множество вхождений переменных и констант 8. Torдa обобщенное правило модус поненс принимает вид а (Ха), Р (), ..., v (х), а () л р (p) л ... л v () ::::> у (y)' а (Ха ---+ е х,,) = = а ( ---+ е ), !НХn ---+ е ) = р (n ---+ е ), о.., V (X v ---+ е ) = v (v ---+ е )  у ( ---+ е ). а I'a "Хр "I'p Xv I'v У I'у Смысл этоro правила состоит в следующем. Формулы а (х), 13(Х р )' ..., v (х.) являются атомами и каждый из них имеет множество вхождений констант и переменных Х. В формуле а (a) Л р (p) л ... л v () ::::> у (y)' представленной импликацией, a(a)' р (p)' ..., y(), у (y) являются атомами, каждый из которых' имеет множество вхождений констант и переменных . Если существуют подстановки е такие, что а (Ха ---+ е.,.) = а (a ---+ е "а)' Р (Х р ---+ е ) = = 13(n ---+ е ), ..., v (Х ---+ е ) = v ( ---+ е ), то будет истинным атом y( ---+ ). ""11 v Xv v I'v У I'у Напомним, что Е (8 ---+ 8) означает, что вместо apryMeHToB 8 атома Е подставляются apryмeHTЫ 8. При этом необходимо соблюдать следующие требования: Вместо пере мен ной в 8 можно подставлять переменную из е. Такую подстановку называют nepeUJtleH08IU1Ue.м nеременной. Вместо переменной в 8 можно подставлять константу из е. Такую подстановку называют конкретизllциеii nере.менной. Вместо пере мен ной в 8 можно подставлять функцию из е. Такую подстановку называют 34Меной nере.менной. Вместо одной и той же переменной везде следует подставлять одну и ту же константу или функцию. Переименовываются одновременно все вхождения одной и то же переменной. 83 .. 
4. Bы8д в лоzиlU! предикатов Процесс поиска нужной подстановки 6 называют УНllф, а формулу, в атомы котоpdЙ осуществлена подстановка, называют "'-ф-lflljИН1tnrНoii. В некоторых исчислениях для подстановки, КОНКpenlзации и замены переменной вводят отдельные правила. Подстановка называется наиболее общей, если блаrодаря ей наименьшее число переменных замещается конctантами. В обобщенном правил е модус поненс вместо 'V(x)a(x) записывают  (х), Т.е. кванторы общности подразумеваются, но не употребляются, Кванторы существования в обобщенном правиле модус поненс вообще не используются. Поскольку обобшенное правило модус поненс является единственным, которое мы собираемся использовать в процессе вывода, ТО, следовательно, постановка задачи изначально должна удовлетворять следующим условиям. Формулы в постановке задачи не должны содержать кванторов существования. Если они все же есть, то, прежде чем решать задачу, от кванторов существования следует избавиться с помощью, например, правила исключения квантора существования или какимилибо дрyrими способами, речь о которых пойдет дальше. Все формулы в постановке задачи должны быть атомами или импликациями, левая часть (посылка) которых является конъюнкцией атомов, а правая (заключение)  либо атомом. либо пустым символом. Такие формулы называют хорlЮtlСКlIМ1I фоРМУ.AllJНII. Преобразование произвольных формул лоrики предикатов в хорновские формулы непростая задача, причем не любую формулу можно преобразовать к такому виду. В нашем при мере со средой чудовиша кванторов существования, не считая формулы цели, вообще нет, тем не менее, подобное преобразование всех формул невозможно. Например, это нельзя сделать для формул (4.18), (4.19). Рассмотрим, как выполняется указанное преобразование для формул (4.1)  (4.32). Для Toro чтобы можно было леrко сопоставить эти формулы с их преобразованиями, будем последние нумеровать теми же числами, но со звездочкой, комментируя производимые преобразования (если в преобразованиях нет необходимости, то соответствующая формула переписывается без комментариев): находится (AzeHm, 1, l), ориентация (1, 2). (4.0* (4.2)* Выполняя преобразования на основе закона ..., а  ...., а v Ложь ;: ;: а ::> Ложь, получаем находuтся (Зловоние, 1, 1) ::> Ложь, находится (Сквозняк, 1, I )::> Ложь, находится (Яма, 1, 1) ::> Ложь. (4.3)* (4.4)* (4.5)* 84 - 
4.1. Исчисление npeдulCamotl Простым удалением квантора общности (если он есть) или на основе закона (о. ::::> 13 л у) =: (...., о. v 13 л у) == (о. ::::> 13) л (о. ::::> у) получаем следующие формулы: находится (Препятствиt!, ;, О), (4.6)* находится (Препятствие, О, Л, находится (AzeHm, 1, 2) ::::> находится (Jловоние, 1, 2), наход,и.тся (AzeHm, 2, 1) ::::> находится (Сквозняк, 2, 1), находится (AzeHm, 2, 1) ::::> ...., находится (Зловоние, 2, 1), находится (AzeHт, 2, 3) ::::> находится (Блеск, 2, 3). (4.7)* (4.8)* (4.9)* (4.10)* Выполняя преобразования на основе закона а::::> ...., 13 == ...., а v ...., 13 == ...., (о. л 13) v v Ложь = а л 13 ::::> Ложь, получаем следующие формулы: находится (AzeHM, 1, 2) л находится (Сквозняк, 1, 2) ::::> Ложь, . (4.11)* находится (AzeHm, 2, 2) л находится (Зловоние, 2, 2) ::::> Ложь, находится (AzeHm, 2, 2) л находится (Сквозняк, 2, 2) ::::> Ложь. Вторая формула в (4.9)* может быть преобразована аналоrично. (4.12)* (4.13)* с помошью преобразования ...., о. ::::> ...., 13 л л ...., у л ... л ...., о == о. v ...., 13 л ...., у л ... л ...., О == (о. v ...., 13) л. (о. v ...., у ) л '" л (а v ...., о) == == (13 ::::> 0.) л (у::::> 0.) л ... л (о ::::> 0.), удаления квантора существования и правила исключения конъюнкта, получаем следующие формулы: нщодится (Чудовище, ;, j) ::::> находится (Зловоние, ;, Л, находится (Чудовище, i, jl) ::::> находится (Зловоние, ;, Л, находится (Чудовище, ;, j+l) ::::> находится (Зловоние, i, Л, находится (Чудовище, i 1, j) ::::> находится (Зловоние, ;, Л, находится (Чудовище, i + 1, j) ::::> находится (Зловоние, ;, Л; (4.14)* находится (Яма, i, j) ::::> находится (Сквозняк, /, Л, находится (Яма, ;, j  1) ::::> находится (Сквозняк, ;, Л, находится (Яма, ;, j + 1) ::::> находится (Сквозняк, i, j ), находится (Яма, il, Л ::::> находится (Сквозняк, ;, Л, находится (Яма, ;+1, Л ::::> находится (Сквозняк, ;, Л; (4.15)* 85 ....L. 
4. Вывод в Л02uке предикатов находится (Зловоние, ;, j) => находится (Чудовище, ;, Л, находится (Зловоние, ;, jl) ::> находится (Чудовище, ;, Л, находится (Зловоние, ;, j + 1) ::> находится (Чудовище, ;, п, нахОдится (Зловоние, ; 1, j) => находuтся (Чудовище, ;, j), находится (Зловоние, ;+ 1, j) ::> находится (Чудовище, ;, j). (4.16)* Следующие формулы преобразовать к требуемому виду невозможно. Оставим их в прежнем виде, исключив квантор существования: находится (Чудовище, ;, j) => находится "( Зловоние, ;, j) v v находится (Зловоние, ;, j  1) v находится (Зловоние, ;, j) v v находится (Зловоние, ;, j + 1) v находится (Зловоние, ;  1, j) находится (Зловоние, ;+1, Л (4.1 7)* находится (Зловоние, ;, j)::> находится (Чудовище, ;, j) v v находится (Чудовище, ;, j  1) v находится (Чудовище, ;, j + 1) v v находится (Чудовище, ;  1. j) v находится (Чудовище, ; + 1, Л (4.18)* находится (Сквозняк, ;, j) ::> находится (Яма, ;, j  1) v v находится (Яма, ;, j+l) v находится (Яма, ;I, j) v v находится (Яма, ; + 1, j), (4.19)* с помощью преобразования а. л J3 л ..... Х л ..... о ::> Е л у л <р == ..... а. v ..... J3 v х v о v v Е Л У л <р == (..... а. v..... J3 v х v о v Е) Л (..... а. v..... J3 v v Х v О v у) л (..... а. v...., J3 v х v О v <р), удаления квантора существования и правила исключения конъюнкта получаем следующие формулы: ..... находится (AzeHm, ;, j) v .., ориентация (;, jl) v 86 - 
4.1. Исчисление предикатов v находи.тся (Чудовище, i, jl) v находится (Яма, i, jl) v v перейти (i, jI);  находится (Аеент, i, Л v  ориентация и, jl) v v находится (Чудовище, i, j  1) v находится (Яма, i, j  1) v (4.20)* v находится (Аеент, i, jl);  находится (AzeHm, i, Л v  ориентация и, j  1) v v находится (Чудовище, i, j1) v находится (Яма, i, jl) v v ориентация (i, j 2). Число подформул В системе формул (4.20)* совпадает с числом литералов вследствие импликативной формулы (4.20) и различаются они только последним литералом. Поэтому для остальных формул (4.21)*  (4.23)* выпишем только перВую подформулу:  находится (Аеент, i, j) v  ориентация (i, j+l) v v находится (Чудовище, i, j+l) v находится (Яма, i, j+1) v v перейти (i, j+1); (4.21)*  находится (Аеент, i, Л v  ориентация и1, j) v v находится (Чудовище, il, Л v находится (Яма, il, j) v v перейти (i 1, Л; (4.22)*  находится (Аеент, i, j) v  ориентация (; + 1, Л v v находится (Чудовище, i + 1, Л v находится (Яма, i +1, j) v v перейти (Н1, Л; (4.23)*  ндится (Аеент, i, Л v  находится (Блеск, i, j) v взять (i, j). (4.24)* 87 
4. Вывод в Л02uке пpeдIвcoтoв Подформулы системы формул (4.25)*  (4.32)* получаются аналоrично, но их еще больше. Выпишем, как и в предыдущем случае, только по одной (первой) подформуле: ..., находится (Аеент, i, j) v ..., ориентация О, j  1) v v ..., находится (Чудовище, i, j  1) v повернутьс.янаправо и, Л; ( 4.25)* ..., находится (Аеент. i, j) v ..., ориентация (i 1, j) v v ..., находится (Чудовище, il, j) v пOtJ(!рнутьс.янanраво и, Л; (4.26)* .., находится (Аеент, i, j) v ..., ориентация и, j + 1) v v..., находится (Чудовище, i, j+l) v повернутьс.янаправо и, Л; (4.27)* ..., находится (Аеент, ;, j) v .., ориентация (1+1, Л v у..., находится (Чудовище, ;+1, j) v повернутьс.янanраво и, j+1); (4.28)* ..., находится (Аеент, ;, j) v .., ориентация и, jl) v v ..., находится (Чудовище, i, j1) v повернутьс.яналево (i, Л; (4.29)* ..., находится (Аеент, i, Л v .., ориентация (iI, j) v v..., находится (Чудовище, il, Л v повернутьс.яналево и, Л; (4.30)* ..., находится (Аеент, ;, Л v .., ориентация (i, j+l) v v..., находится (Чудовище, ;, j+l) v повернутьс.яналево (;, Л; (4.31)* ..., находится (Аеент, i, Л v ..., ориентация (i+l, j) v v..., находится (Чудовище, ;+1, j) v пOtJернутьс.я налево (i, Л. (4.32)* Применение обобщенноrо правила модус поненс вследствие Toro, что в нем используются не отдельные атомы, а их конъюнкции, делает вывод более эффективным. Это объясняется тем, что подстановка одних и тех же 88 
4.2. Прямой и обратный вывод констант осуществляется сразу lUIЯ совокупности атомов, входящих в конъюнкцию левой части импликаЦИИ и, если необходимо, то правой. 4.2. ПРnОЙ и обраТIIЫЙ вывод Наиболее распространенными являются два типа вывода: IIpJVNO;; и 06jН1m11Ъ1;;. До сих пор как во второй rлаве, так и в настоящей в примерах со средой чудовища использовался прямой вывод. Будем полaraть, что все формулы, входящие в постановку задачи, образуют некоторую начальную 6ау :llUllШii. Идея прямоrо вывода основана на следующих шаraх. На первом шаrе подбирается правило вывода, условие Koтoporo можно образовать ИЗ формул начальной базы знаний с использованием, если это необходимо, унификации. Обычно начинается все с формул, представляющих знания о начальном состоянии среды. По правилу вывода получаются новые истинные формулы, являющиеся ero унифицированным следствием. эти формулы помещаются в начальную базу знаний, в результате чеro она превращается в дрyryю базу знаний, из нее извлекаются новые формулы, и все повторяется сначала до тех пор, пока на очередном шаre унифицированное следствие не совпадет с целевой формулой. Таким образом, в процессе прямоrо вывода на каждом ero шаrе база знаний пополняется выведенными истинными формулами. В обратном выводе все делается наоборот. На первом шаrе обратноrо вывода подбирается правило вывода, следствием Koтoporo является целевая формула, а условие может быть образовано из формул начальной базы знаний, с использованием, если это необходимо, унификации. Унифицированные формулы, входящие в условие, принимаются за новые целевые формулы (обычно называемые ыAuI фор.му.All.МII) и все повторяется сначала, но уже для кажцой их НИХ. И так до тех пор, пока все унифицированные подцелевые формулы не окажутся аксиомами, входящими в начальную базу знаний. При выводе на основе использования обобщенноro правила модус поненс, унификации и хорновских формул используется только один тип правила, поэтому нет необходимости осуществлять выбор подХодящеrо правиЛа Вывода. Это типизирует uрqце.п.УРЫ прямоrо и обратноrо вывода, превращая их в итеративную процедуру выполнения однотипных шаroв. Рассмотрим прямой и обpaI'НЫЙ вывод на простых примерах из средЫ кубиков. 4.2.1. Пocтaвo.u зua.. 8 среде КуБИКО8 Формул.., овредеЛЯ"Щllе В....JI.В..е ЗН.ВIIЯ .reBT.. Имеем среду, состоящую из стола и кубиков на нем. Каждый из кубиков может лежать либо непосредственно на столе, либо на одном из друrих кубиков, образуя с кубиками, лежащими под ним, СТЩI6.иJ(. Ст.олбики MOryr быть любой высоты. . .:" ' _t,'. Пусть начальное состояние среды кубиков следующее: кубики С и В лежат на столе, кубик А лежит на кубике С, кубик D на кубике В (рис. 4. 1). 89 
4. Вывод в Л02ике предикатов ЯНЕ . ,  Рис. 4.1. Начальное И целевое СОСТОЯНИЯ среДЫ куБИКОВ Начальное состояние среды кубиков можно описать следyIOllllfМИ атомами: на (А, С), (4.130) на (С, Стол), (4.131) на (D, В), (4.132) на (В, Стол), (4.133) свободен (А), (4.134) свободен (D), ( 4.135) Атомы на (А, С), на (С, Стол), на (D, В), на (В, Стол) описываЮТРOJIожение кубиков относительно дрyr дрyrа, а шомы свободен (А), свободен (D) указывают, что на кубиках А и в ничеro не лежит. формуJIы. оnpeДeJUDOщие условии выDJDIениfl действий. Действия, коТорые можно совершать в среде кубиков  это перемещать один кубик, на котором ничеrо не лежит, на стол или на дрyrой кубик, если он свободен от кубиков сверху. для обозначения этих действий введем атомы nереместить (х, у) и nереместить (х, Стол). Torдa для нашеro примера достаточно двух формул, определяющих условия выполнения деjkтвий: на (х, у) л свободен (х) => nереместить (х, Стол), (4.136) (4.137) на (х, Стол) л свободен (х) л свободен (z) => nереместить (х, z). формуJIы. оnpeдeJUDOщие условИJi перехоД8 СОСТОJIНИЙ Средьс на (х, у) л свободен (х) л nере.местить (х, Стол) => на (х, Стол), 90 (4.138) t.II 
4.2. Прямой и обратный вывод на (х, у) л свободен (х) л переместuть (х, Стол) => свободен (у), (4.139) на (х, у) (\ свободен (х) л свободен (z) л л переместить (х, z) => на (х, z), (4.140) IIO (х, у) л свободен (х) л свободен (z) л пережстuть (х, z) => свООоден (у). (4.141) Целевu формула. В соответствии с рис. 4.2 целевой будет следующая формула: на (А, о) л на (В, Стол) л на (С, Стол) л на (D, Стол). 4.2.2. Прямой вывод Начнем с формулы (4.136), унифицируя которую получим формулы следующие формулы: (4.142) на (А, С) л свободен (А) => переместuть (А, Стол), (4.143) (4.144) на (D, В) л свободен (D) => переместить (D, Стол). На основании обобщенноro правила модус поненс и формул (4.130), (4.134), (4.132), (4.135), (4.143), (4.144) делаем заключение о возможности выполнения действия по перемещению кубиков А и D на стол: истинны атомы переместuть (А, Стол), переместuть (D, Стол). Эти атомы помещаются в исходНУЮ базу знаний. Далее можно воспользоваться формулами (4.138), (4.139), унифицируя которые получим формулы на (А, С) л свободен (А) л переместuть (А, Стол) => на (А, Стол), (4.145) на (А, С) л свободен (А) л переместить (A Стол) => свободен (С), (4.146) на (D, о) л свободен (D) л переместuть (D, Стол) => на (D, Стол), (4.147) на (D, В) л свободен (D) л переместuть (D, Стол) => свободен (В). (4.148) В результате кубики А и D оказались на столе. Кубики С и В никуда не перемещались и, соrласно начальному состоянию, остались на столе. Используя формулу (4.137), получим унифицированную формулу на (А, Стол) л свободен (А) л свободен (о) => переместuть (А, В). (4.149) Наконец, воспользовавшись формулой (4.138), получим унифицированную формулу на (А, тол) л свободен (А) л свободен (В) л переместuть (А, В) => => на (А, В). (4.150) 91 .......... 
4. Вwвод в лozике предикатов на(А. В) л на(В. Стоп) л на(С. Стоп) л на(О. Стоп) Рвс.4.2. rраф прямоrо вывода в среде кубиков Таким образом, имеем истинные атомы на (А, О), на (О, Стол), на (С, С1Нол), на (D, Стол). Соrласно правилу введения конъюнкции, делаем заключение об ИСТИННОС1'И целевой формулы на (А, в) л на (О, Стол) л л на (С, Стол) л на (D, Стол). На этом прямой вывод завершен. На рис. 4.2 показан rpaф вывода указанной целевой формулы. В процессе прямоrо вывода база знаний разрастается, в нее заносятся вновь выводимые формулы. Некоторые из них MOryr оказаться ненужными для вывода целевой формулы. Таких «ЛИШНИХ» формул может быть достаточно MHoro. Например, на рис. 4,2 ненужной является формула свободен (С). 92 .. 
4.2. ЛРUОЙ и обратный вывод 4.2..3. Обратнwй вывод Обратный ВЫВОД начинается с целевой формулы на (А, в) л на (В, Стол) л л на (С, Стол) л на (D, Стол). Для нашеro примера ero можно проследить по тому же rpафу на рис. 4. 2. Только в отличие от прямоro вывода, который осуществлялся в направлении стрелок, обратный вывод осуществляется против направления стрелок. Кроме TOro, ненужных формул не выводится, что делает ero в ряде случаев более эффективным, особенно, если для вывода целевых формул достаточно незначителЫfОЙ части базы знаний. В настоящей rлаве были рассмотрены только принципы прямоro и обратноrо вывода. Возможны и комбинации прямоro и обратноro вывода. Во всех случаях исходной для вывода является не которая начальная база знаний. ДЛя TOro чтобы иметь возможность решения реальных задач на основе использования исчислений, необходимо иметь ответ на ряд очень важных вопросов. Первая rpуппа вопросов связана с понятием полноты исчисления. Если все общезначимые формулы выводятся в данном исчислении и только они, то ero называют IIo.fIIыAI. В противном случае исчисление называют NeIlo.ufыAI. Если. в нашем расворsжении (распоряжении мента) имеется некоторое исчислие, то как определить, является ли оно полным? Если IiCJtисление ЯВЛЯeNЯ полным;. то какая стратеrия вывода обеспечивает ВЫВОА любой общезначимой формулы ЭТQrо исчисления? Стратеrию, обеспечивающую вывод всех общезначимых формул дaHHoro исчисления и только их, называют IIOAIIО';. Если полная стратеrия вывода существует и она нам известна, но данная формула не выводима из начальной базы знаний, то можно ли это .узнать без вывода? Дрyroй клаа: вопросов, Важных для практическоrO использования исчислений, связан с понятиям и их противоречивости И непротиворечивости. Исчисление называют Нn,o, если не существует формулы, ВЫВОДИОЙ в этом исчислении вместе со своим отрицанием. В противном случае исчисление назвают  .,...tIAI. Из практических соображений нас интересуют непротиворечивwe исчислениSl. Исчисление нам необходимо для ТQro, чтобы осуществлять ВЫВОД для достижеНИJl определеннQЙ цели. Если же для ОДНОro и TOro же исчисления существует некий вывод, позволяющий достичь цели, и в то же самое время для этоrо же исчисления существует вывод, свидетельствующий о ТОМ, что ueль не достижима (достижимо ее опровержение), то такое исчисление скорее вcero неадекватно отражает свойства среды, р которой оно интерпретируется. r.вавный ВОПРОС, связанный с непротиворечивостью исчислений звучит так: если данное. исчисление противоречиво вследствие Toro, что в нем выводится некоторая формула и отрицание этой формулы, то можн<? ли обнаружить этот факт без вывода этих двух формул? Прежде, чем переходить к ответу- на перечисленныевыше вопросы, ответим на более простой. Если формула выводима в какомлибо исчислении (не обязательно полном), то выводима ли она при использовании той же системы 93 IL 
4. Вывод в лоzuке предикатов аксиом и единственноrо правила вывода.,..... обобщенною правила модус поненс? Вернемся к примеру со средой кубика. Предположим, что в начальной базе знаний имеются аксиомы свободен (9), свободен (9) ::::> nереместить (В, Стол), nереместить (в, Стол) ::::> на (В, Стол). Пусть целевой формулой является формула на (В, Стол). С помощью обобщtнноrо правила модус поненс сначала можно вывести формулу nереМестить (А, В), а затем формулу на (В, Стол). Если в базе данных имеются аксиомы ...., свободен (В), ...., свободен (В) ::::> освободuтьunереместuть (В, Стол), освободuтьuпереместuть (В, Стол) ::::> на (в, Стол), то формулу на (В, Стол), несмотря на то, что она BЫВOДJfМa с использованием обычною правила модус поненс, нельзя вывести с помощью обобщенноro правила модус поненс, поскольку формулу...., свободен (В) '::::J освободuтЬUlfереместuть (В, Стол) невозможно преобразовать в хорновскую формулу. Таким образом, существуют исчисления, для которых не все общезначимые формулы можно вывести с помощью только обобщенноro правила модус поненс. Перейдем к ответу на остальные вопросы. 4.3. Полнота и непротиворечивость исчисления На основе введенных определений полноты и непотиоречивости лоrические исчисления можно поделить на следуЮщие rpynпы: полные и непротиворечивые; неполные и непротиворечивые; противоречивые. Наша задача  построение неклассических исчислений, откЬсящихся к первым двум rpуппам. Заметим, что на практике полнота исчисления является желательным, но редко удовлетворяемым фактором. Объясняется это мноrими причинами, среди которых доминирующими являются следующие две. Размерность задач для конкретных сред (число переменных, констант, предикатов, функuий), для которых имеет смысл использовать лоmческие исчисления, как правило, велика. Полное исчисление требует полной аксиоматизации. это приводит к большому росту числа необходимых аксиом даже для сравнительно простых сред и необходимости обоснования достаточности :лих аксиом, Число rnпов выводимых формул (целей) для реальной среды оrpaничено конкретными потребностями. Вывод только этих формул следует rарантировать, оrраничиваясь тем множеством аксиом, которые это позволяют сделать. 94 - 
4.3. Полнота и непротиворечивость исчисления Проблемой полноты и непротиворечивости исчислений занимались и продолжают заниматься. для некоторых исчислений вопрос о полноте имеет положительный ответ, например для классическоro исчисления высказываний и дя классическоrо исчисления предикатов первоrо порядк. Для классическоro исчисления предикатов вопрос полноты БЫJl решен немецким математиком Куртом rеделем в 1930 193 1 roдах. Он доказал теорему, которая называется теоремой о полноте классическоro ис'Щсления лоrики предикатов первоrо порядка. Соrласно этой теореме любая общезначимая формула классическоrо исчисления лоrики предикатов первоro порядка выводима в этом исчислении. Эrо означает, что для классическоro исчисления лоrики предикатов первоro порядка существует полная стратеrия вывода. rедель доказал теорему о полноте классическоrо исчисления предикатов первоro порядка, но не привел полной стратеrии вывода, которую можно достаточно эффективно использовать на практике.. Эrо сделал в 1965 r. Дж. Робинсон, опубликовав полную стратеrию вывода для классическоrо исчисления высказываний на основе правила резолюции. Заметим, что упомянyrые положительные ответы о цолноте относятся к классическому исчислению предикатов первоro порядка. Нас же в практическом плане интересуют, прежде Bcero, неклассические исчисления. Вопрос об их полноте и непротиворечивост" обсудим далее. Однако еще раз заметим, что неклассические исчисления, использующие классическое исчисление предикатов первоrо порядка, MOryr, наряду с дрyrими, включать ero правила вывода, в частности правило резолюции. Вследствие теоретической и практической значимости этоrо правила стратеrию вывода на ero основе рассмотрим детально в следующем паРaI-рафе. Orметим еще один важный момент, связанный с теоремой о полноте классичкоro исчисления лоrики предикатов первоro порядка и вопросом об устаноалении факта невыводимости формулы из начальной базы знаний без вывода. Теорема rеделя rласит, что любая общезначимая формула лоrики предикатов первоrо порядка выводима в классическом исчислении лоrики предикатов первоrо порядка. Но в каждом конкретном случае до тех пор пока вывод не осущестален, мы не знаем, выводима ли данная формула. А если она не выводима и, следовательно, вывод никоrда не будет найден, то как отличить ситуацию, коrда мы еще не дocтиrли'вывода, от ситуации, Korдa он никоrда не будет достиrнyr? К сожалению, ответ на этот вопрос не yreшителен: невозможно различить эти две ситуации и выводимость формулы может быrь установлена только тоrда, Korдa она выведенв. Если же она не выводится, то придется осуществить все варианты вывода и только после этоro, если она Bce таки не бьта выведена, сделать заклЮЧение о невыводимости. Эro же считается справедливым и для неклассических исчиёлений. Как следствие, неyreшиreльным остается ответ и на вопрос распознавания противоречИвости исчисления: для '1'01"0 чтобы установИI'Ь непротиворечивость исчисления в общем случае, придется осуществить вывод всех теорем и только при cлcyrcтвии среди них любых двух, одна из которых является отрицанием дрyroй, сделатЪ заключение о непротиворечивости исчисления. 95 
4. Вывод в икe npeдиKamoв 4.4. Bыllдд на основе пр8ВВJlа резолюции Правило реЗОJIЮЦИИ (или резолЮция) уже рассматривалось во второй rлаве. Эro правило rласиТ, что из истИнности JФух дизъюнкций, одна из которых содержит дизъюнкт, а дрyraя  ero отрицаНие, следует (выводимt) формула, Я8.ЛЯЮщаяся дизъюнкцией исходных .формул без упомяНyroro дизъюнкта и. ero отрицания. Резолюция записывалась в следующем виде: а v Р, ..., Р v у 1--- а v у или эКвивалеНтНо...... а ::> Р, Р::1 У 1---...... а ::> у. В лоrике предиКаТОВ первоro порЮlIOl она выrлядит так же. Формулы а, Р, у в ней являются формулами этой лоrики. Введем по аналоrии с обобщенным правило м модус поненс обобщенное правило резолюции, или обобll4еНIIУЮ ре3IМЮI4IIЮ: а.'" (Х.) v ... v a/--1o(/--l) (х,.) v а,ot(х) v al+l,,(I+) (X;+-I) v ... v а",'''''(Х,),. Р," (Y 1 ) v ... v Рj'щ.,) (Yj-') v Pj (У) v 'Pj+"u+ t ) (Yj+') v ... v P"tJr(y,,), 'I;j (;, j) (а/ ,== Р) , ; * fj, УIШфШ"lЦUR (а/т (х), Pj(i ()I).) == Б) 1--- Подстановка .( (а,"'. .(X 1 ) v ... va,,"('').(XH) v aI,,(t+I)(X"'l) v ... v fJ..'" (х",)  v PII (У,) v ...v Р/,щ.1) (Yj-I)V Pj'i-\c(;t') (:Jfj+') v ... v.-"P (Y,,» Здесь a/ai(x) , ; == 1, ..., n обозначает литерал, такОЙ; что а/Ш (х/) ... а/(х), при (1; == 1 и fJ./ f1I (х) ==...... а/ (х/) при (1j"'" О. Аналorичный смыол имеетlCИМвоЛ ej в рале Р/' (у), j == 1, ..., n. Подстановка (8(Л) означает формулу, лолучающуюся из. форМуЛЫ f в результате подстановки 8 во все ее атомы. Сyrь оБОБщенноrо правила модус поненс можно выразитЬ ёледуЮщим образом. Если сущестВует истинная формула .', ., а,'" (Х,) v ... v a/--,а(l--J.:) (X/-- 1 ) v а/т (Х/) v at+,o(l+') (х;+-,) '" :. v а,!,"'" (х), являющаяСЯ,дизьюнкцией литерадов а,Ф(, ;::z:: i ..., ", и I;IСТИННЦ фОрмула Р," (У,) v ... v Pi-' t{;') (У;,) v р 1 ч (У) v Pj+l"u+ I ) (Yj+l) v ... v Р,,""(у,,), также являющаяСЯ дJlзыокциейй ЛЮ'Сралов Pj(i (У), j == 1, ..., n, и в этих формулах предикатные символы литералов а/т (х) и Pjr,/ (У) одинаковы (а; == р), (1; * Fj, и для атомов а/т (Х/) и Pj(i (У.) существует .унификация. Б, делающая их одинаковыми (записывается как Унификация а; «х), Pj-(Jj» == ), то можно вывести истинную формулу, получающуюся в результате подстановки 8 В дизъюнкцию ИСХОДНЫХ формул после удаления в них литера.лов а/Ш (х/) и  (Yl' Выведенную таким образом истинную формулу называют patМi. -. ак же как и в случае резолюции для лоrики высказываний, обобщенную резолюцию можно выразить с использованием импликации. 96 
4.4. Вывод на основе правила резолюции Обратим внимание, 'СТо исходные формулы в обобщенной резолюции и резольвента ЯQЛяются Дизъюнкцией литералов. Обычно такие формулы называют КАtiузаА6Н6IМIl формаМll, или КАаузаМIl. Таким образом, использование резолюции для вывода требует клаузальной формы представления знаний. Это, в свою очередь, означает, что база знаний, вывод дЛя которой осуществляется на основе обобщенной резолюции, должна предстаWIЯТЬ собой совокупность клауз, понимаемых в целом как формула, ЯWIяющаяся конъюнкцией клауз. Формулы TaKoro типа обычно называют IЮIIЪююanlltlН6IJII1l HOpМlUM6IJII1l ФОРМУАIIJIIIl. 4.4.1. Прямой вывод на основе резолюции Вернемся перь к примеру с кубиками и повторим прямой вывод той же целевой формулы, но уже используя обобщенную резолюцию. Заметим, что формулы (4.130), (4.135) уже ЯWIяются клаузами. Остальные формулы с помощью простейших преобразований на основе закона <х v J3 == ..., <х::> J3 леrко. преобразуются в клаузы. В результате вместо (4.136)  (4.141) получим следующие формулы_ Формулы, опредeJlJllOlЦe условия  дейCТВIIЙ: ..., н4 (, у) v..., С80б0ден (х) v nереместить (х, Стол), ..., на (х, Стол) v..., свободен (х) v..., свободен (z) v (4.151) v nереместить (х, z), (4.152) ФормуJlJol, определяющие УСЛОВIIR переходов СОСТОЯНIIЙ среды: ..., на (х, у) v ..., свободен (х) v ..., nереместить (х, Стол) v на (х, Стол), ..., на (х, у) v..., свободен (х) v..., nереместить (х, Стол) v свободен (у), ..., на (х, у) v ..., свободен (х) v ..., свободен (z) v (4.153) (4.154) v..., nереместить (х, z) v на (х, z), (4.155) ..., на (х, у) v ...... свобооен (х) v ...... свобооен (z) v v ...... переместить (х, z) v свободен (у). (4.156) Целевая формула. Uелевая формула в соответствии с рис. 4.1 является конъюнкцией литералов и при прямом выводе, как и в случае использования обобщенноro правила модус поненс, будет выводиться для каждою литерала, входящеrо в ее состав, раздельно на (А, в) л на (В, Стол) л на (С, Стол) л на (D, Стол). 4 1141 (4.157) 97 . .... 
4. Вывод в лоzике предикатов Вывод. Используя унифицированные клаузы (4.130), (4.151), которые после унификации превращаются в клаузы (4.158), (4.159), получаем резольвенту (4.160): на (А, С), (4.158) (4.159) (4.160) ..., на (А, С) v..., свободен (А) v переместить (А, Стол), ..., свободен (А) v переместить (А, Стол). Используя клаузы (4.134), (4.160), получаем резольвенту переместить (А, Стол). (4.161) Используя эту резольвенту и унифицированную клаузу (4.154), которая после унификации превратилась в клаузу (4.162), получаем резольвенту (4.163): ..., на (А, у) v ..., свободен (А) v ..., переместить (А, Стол) v v свободен (у), (4.162) ..., на (А, у) v..., свободен (А) v свободен (у). (4.163) Затем, используя клаузы (4.130), (4.134) и унифицированный резольвент (4.163), получаем резольвенту свободен (С). Аналоrично можем получить следующие резольвенты: (4.164) на (А, Стол), nереместить (Д Стол), (4.165) (4.166) (4.167) (4.168) свободен (В), на (D, Стол). Итак, кубики А и D MOryт быть перемещены на стол, в результате чеrо кубики В и С окажутся свободными. После этоrо, используя клаузы (4.134), (4.135), (4.165) и клаузу (4.152), которая после унификации превращается в клаузу (4.169), получаем резольвенту (4.170) ..., на (А, Стол) v..., свободен (А) v..., свободен (.8) v nереместить (А, .8), (4.169) переместить (А, В). (4.170) Наконец, воспользовавшись клаузами (4.134), (4.135), (4.165), (4.170) и клаузой (4.155), которая после унификации превращается в клаузу (4.171), получим резольвенту (4.172): . 98 
4.4. Вывод на основе правила резолюции ..., на (А, Стол) v..., свободен (А) v..., свободен (В) v v..., переместить (А, В) v на (А, В), (4.171) на (А, В). (4.172) Таким образом, снова имеем истинные атомы на (А, В), на (В, Стол), на (С, Стол), на (D, Стол). Соrласно правилу введения конъюнкции, вновь делаем заключение об истинности целевой формулы на (А, В) л на (В, Стол) л на (С, Стол) л на (D, Стол). На этом прямой вывод с использованием обобщенноro правила резолюции завершен. Достоинством использования обобщенноro правила резолюции дЛЯ прямоro вывода является способность ВЫВОДИТЬ большее количество формул по сравнению с выводом на основе обобщенноrо правила модус поненс. В процесс е вывода база знаний попрежнему разрастается за счет занесения в нее вновь выводимых формул. Некоторые из этих формул MOryт оказаться ненужными дЛЯ вывода целевой формулы. Как уже rоворилось, Робинсон препложил использовать обобщенную резолюцию для создания стратеrии вывода, в основе которой лежит О"рlНlержеНllе,ИЛИ дot1eдeHlle до "poтlltlope'lllJl. Идея этой стратеrии вывода состоит в следующем. Предпооожим необходимо вывести истинность целевой формулы а. Делается опровержение этой формулы, Т.е. предполаrается истинным ее отрицание..., а. Эта формула, являющаяся отрицанием целевой, заносится в базу знаний. После этоro, если, начиная обратный вывод с формулы..., а, удастся установиrь противоречие, Т.е. вывести пару литералов 13 и ..., 13, то считается, что сделанное предположение об истинности отрицания целевой формулы ошибочно (опроверrнуто) и делается заключение об истинности целевой формулы а. Если в результате рассмотрения всех возможных путей вывода TaKoro противоречия установить не удастся, то считается, что целевая формула является ложной. Рассмотрим стратеrию обратноrо вывода на основе опровержения для примера с кубиками. 4.4.2. Обратнwй ВЫВОД на основе опровержения и обобщенной резолюции Как уже отмечалось, вывод истинности целевой формулы может осуществляться по очереди литерал за литералом. Поэтому рассмотрим ero только дЛЯ одноrо литерала на (А, В) целевой формулы (4.157). Опровержением литерала на (А, В) является литерал ..., на (А, В). Обратный вывод начинается именно с этоro литерала. ДЛя TOro чтобы можно было детально проследить процесс вывода, будем записывать на каждом шаrе вывода с помощью обобщенной резолюции три формулы  две исходные и резольвенту, нумеруя по ходу вывода получаемые резольвенты, а также указывая дЛЯ каждоro шаra используемые подстановки и подчеркивая те литералы, которые в резольвенту не попадают: 4. 99 -.... 
4. Вывод в лоzике предикатов  на (А. 8); (4.173)  на (А, Стол) v  свободен (А) v  свободен (8) v v...., переместить (А, 8) v на (А. 8) ; (4.174)  на (А, Стол) v  свободен (А) v...., свободен (8) v v ...., переместить (А, 8); (4.175) ...., на (А, Стол) v  свободен (А) v  свободен (8) v . - v ...., переместumь (А. В) ; . (4.176) ...., на (А, Стол) v...., сво6оден (А) v...., сво6оден (8) v v переместить (А, 8); (4.-177)  на (А, Стол) v  свободен (А) v...., свободен (8); ." (4.178)  на (А, Стол) v  свободен (А ) v  сво6оден (8); (4.179) свободен (А) ; ('1.180) на (А, Стол) v ...., свободен (8 ); (4.181)  на (А. Стол) v  свободен (8); ( 4.182) . ,  на (А, у) v ...., свободен (А) v ...., переместить (А, Стол) v v на (А. Стол); (4.183) ...., на (А, у> v ...., свободен (А) v ...., nереместить (А, Стол) v v...., свободен (8); (4.184) ...., на (А, у) v ...., свободен (А) v ...., nереместить (А, Стол) v v...., свободен (8); (4.185) 100 
4.4. Выеод на основе правила резолюции свободен (А) ; (4.186) .., на (А, у) v.., пере.местить (А, Стол) v...... свободен (8); (4.187) ...... на (D, 8) v .., свободен (D) v .., переместить (D. Стол) v v свободен (8); (4.188) ..... на (D, 8) v..... сеободен(D) v переместить.,(D. Стол); (4.189) .., на (D, 8) v..... свободен (D) v свободен (В); (4.190) .., на (D, 8) v .., свQбоден (D) v свободен (8); (4.191) свободен (т; (4.192) .., на (D, 8) v свободен (8); (4.193) .., на (D, 8) v свободен (В); ( 4.194) на (D, 8); (4.195) аюбоден (В); (4.196) свободен (В); (4.197) .., свободен (8); (4.198) Ni/. (4.199) 101 
4. Вывод (J лоzике предикатов 4.4.3. Преобразование произвольноii формулы ЛOПIКII предикатов nepвoro порядка в клаузальную форму Применение обобщенноrо правила резолюции требует представления формул в клаузальной форме. В этом разделе покажем, с помощью каких эквивалентных преобразований любая произвольная формула лоrики предикатов первоrо порядка может быть преобразована в клаузальную форму. Процедуру преобразования представим в виде отдельных шаroв. Исключение имnликациii. Из лоrики высказываний известно, что а ::::> 13 == == ...., а v (3, Поэтому на первом шаrе с помощью этой формулы исключаем все импликации. Перемещения знака отрицаНIUI (...,) непосредственно к атомам. В клаузах отрицание допустимо только перед атомами. Поэтому используя перечисленные ниже законы Де MopraHa, эквивалентности кванторов и двойноro отрицания, перемещаем знак отрицания непосредственно к атомам: ...., (о v Ь) == ...., а л ...., 13, ...., (о л Ь) == ...., а v ...., 13, ...., v х а (х) == 3 х.., а (х), ...., 3 х а (х) == V х ...., а (х), ....,а == а. Переименование nepeMeHны.. Во всех формулах, в которых встречаются кванторы, использующие одни и те же связанные переменные, как, например, в формуле v х а(х) v 3 х l3(х) , переименовываем связанные переменные таким образом, чтобы они бьUIИ индивидуальными для каждоrо квантора. Например, для нашеro при мера это может быть использование переменной у вместо переменной х для квантора сушествования. В результате получится формула v х а(х) v 3 У (3 (у). Перемещение кванторов влево. После предыдущеro шаrа, в результате KOToporo каждый квантор использует свои связанные переменные, обозначения которых не совпадают с переменными друrих KBaHTopQB, все кванторы перемешаем влево. Так, наl1ример, простая формула..., а v V х 13 (х) после перемещения квантора влево примет вид V х...., а v (3 (х). Сколемизация. Сколемизацией называется специфический прем удаления кванторов существования. В простейшем случае  это замена формулы 3 У (3(у) на формулу I3(А), rде А является константой, ранее не встречавшейся. В обшем случае, коrда переменная, связываемая квантором сушествования, встречается в какомлибо литерале вместе с переменными, связанными 102 
Вопросы и упражнения квантором общности, приходится, чтобы избавиться от квантора общности, вводить специальную функцию, зависящую от переменных, связанных квантором общности, вместо переменной, связанной квантором существования. Так, если имеем формулу ..., V х а(х) ::> 3 у «(3 (у) V у (х, у», то здесь литерал (3 (у) может озна'lать, например, наличие HeKoToporo свойства, именуемоrо предикатным символом (3, у объекта, именуемоrо переменной у, а атом у (х, у) задает отношение между объектами х, у. Объект, обозначенный переменной у, определяется в этом случае значением переменной х и может быть заменен на ранее не встречавшуюся функцию F(x), называемую обычно фуНКl(lIеii CКOAeJfUl. После такой замены квантор существования может быть удален, а формула приобретает вид ..., V х а(х) ::> (3 (F (х» v у (х, Р(х». Распределение КОnЮВК:ЦИЙ относительно ДИЗ'ЬЮВIЩИЙ. Эrо распределение осущестWIЯется на основе использования дистрибyrивноro закона (ал(3) VY= (avy) л «(3vy). Перемещение скобок к концу и началу. На этом шаre формулы со скобками типа (а v (3) v у или (а л (3) л у при водятся соответственно к виду (а v (3 v у) или (а л 13 л у). После этоrо шаrа исходная формула преобразуется в нормальную конъюнктивную форму, являющуюся конъюнкцией дизъюнкций литералов. Каждая дизъюнкция литералов ЯWIяется клаузой. Вопросы и упражнеНИJI 1. Для каждой из следующих пар атомов приведите наиболее общую подстановку: а) а(С, п, О), а(х, п, ,); б) р(у, F(A, В», р(у, F(x, ,»; в) x(F(x), у), x(F(x), С); z) о (F(x), х, х), о (F(y), у, у); д) E(F(G(x, у), H(z», E(F(G(x, В), Н(у». 2. Запишите аксиомы лоrики предикатов первоro порядка, достаточные на ваш взrляд для вывода с помощью обобщенноrо правила модус поненс следующих теорем: а) собаки, кошки и козы являются живоrnыми; б) котенок является потомком кота и кошки; в) Васька является котом и отцом котенка; z) каждая кошка имеет родителей. 3. Каким образом резолюция может быть использована для доказательства тoro, что формула является а) общезначимой? б) выполнимой? 103 
4. Вывод.в лozu"е преди"атов 4. Известны истинные yrверЖдения "Воробей имеет крылья", "Воробей несет яйца" и "Если животное имеет крыл.ья и несет яйца, то это птица". Требуется доказать утверждение "Воробей является птицей". Для этоrо выполните следующес:: а) переведите эти yrвеРЖдения на язык лоrики предикатов первоrо порядка, выделив все необходимые rpуппы формул, включая целевую; б) сделайте опровержение целевой формулы; в) переведите все формулы в клаузальную форму; ") используя резолюцию, докажите (выведите) истинность целевой формулы. 5. 8 среде кубиков начальное состояние показано на рис. 4. 1. Целевое состояние должно быть таким, чтобы кубики в обоих столбиках поменялись местами. Для этоro ВЫПОJIнИТС слевующее: а) пере ведите все необходимые для вывода формулы в язык предикатов первоro порядка; б) используя модус поненс, выведите целеJ;lyIO формулу, используя прямой BД; в) используя резолюцию, выведите целевую ФОрму.лу, используя J;lРЯМОЙ вывод; ") используя резолюцию И опровержение, докажите истинность целевой ФОРМУЛ/:>!, используя обратный вывод; д) сравните число шаrоВ, требуемое для каждоrо типа вывода. 6. Распишите подробно вывод формулы (4.100) в при мере со средой чудовиша. I  
5. СРЕДЫ И ЯЗЫКИ в этой i!Jlase обсуждается роль языка как эквивалента среды. Рассмотрено, как представление знаний на языке Л02ики предикатов мо!иЕно использовать для вывода в пространстве состояний и как можно уменьшить число преложений в этом представлении в результате разбиения множества состоянии на классы эквивалентности. Введен ряд понятий из теории автоматов, используемых в настоящей i!Jlase. для поиска классов эквusалентных состщний. Приведены сведения из теории формальных zpaммamUK, необxoдuмые для определения и использования языка. Во второй rлаве введено понятие формальноrо языка лоrики высказываний, который используется для представления знаний о среде. С помощью этоrо языка осуществлялось решение задач нахождения последовательностей действий, ведущих в целевые состояния. Таким образом, areH1', решающий ту или иную задачу, фактически чаще вcero имеет дело не с самой средой, а С. некоторым ее предстзвлением или описанием. на какомли60 языке. Поэтому он должен знать, как этот язык устроен, Д11я тoro, чтобы понимать описание, составленное на нем. В Аастоящей rлаве рассмотрены вопросы описания языков с. помощью формальных rpамматик и использование тaKoro описания areHТOM. Стратеrия поиска целевых состояний и ведущих в них последовательностей действий примера со средой кота соСтояла в рассмотрении всех возможных состояний и переходов из каждоrо состояния при выполнении каждоrо действия. для решения задачи поиска золота в примере для среды чуповища применялась похожая стратеrия, но с использованием не состояний, а интервалов. ОтмечaJIOСЬ, что стратеrии подобноro типа весьма неэкономны по числу iIIaroB, используемых для поиска цели. Описанию различных стратеrий поиска будет посвящена следующая rлава. СложНость поиска зависит как от объема описания знаний о среде на том или ином зыке, так и от стратеrии поиска. Если описание избыточно, то 105 i... 
5. Среды и языки часть времени поиска может расходоваться впустую на анализ избыточной информации. В настоящей rлаве показано так же, как может быть сокращен объем описания на языке в задачах поиска целевых состояний. 5.1. Автомат и среда Конечным инициальным детерминированным автоматом называют объект, определяемый следующими шестью понятиями. ВxoiJной IlAфIIвит А == {а" ар ..., ат)' Внутренний IlAфlltJит (множество состояний Jiвтомата) В == {Ь" Ь р ..., bJ. выхднойй IlAфIIвит С == {С" С 1 ' ..., Ср)' ФуНКЦIlR перех0д08 f: А х В ----+ С, записываемая так же, как Ла, Ь) == Ь., rдe а Е А, Ь, Ь Е В. , J ' J ФуНКI(IIR вьаодов <р: В ----+ С, записываемая так же, как <р(Ь) == С" rде Ь; Е В, С, Е С. Ha'lllAbIIoe состояние Ь О Е В. Обычно будем полаraть, что Ь О == Ь, в дальнейшем для простоты вместо длинноrо словосочетания «инициальный детерминированный конечный автомат» будем юворить просто «автомат». Автомат можно рассматривать как эквивалент некоторой абстрактной среды, имеющей множество состояний В и начальное состояние Ь О Е В. Korдa среда находится в какомлибо состоянии Ь;, areHTOM может быть совершено действие а. В результате среда перейдет в состояние Ь., J определяемое функцией переходовf(а, Ь) == bj" В каждом состоянии hJ может быть определена функция выходов, называемая также иноrда оце"о'lНОЙ функцией <р(Ь;) == С;. Ес.{lИ автомат находится в состоянии Ь О ' то считается. что еще никакая входная последовательность на нею не была подана. Для удобства будем полаraть, тем не менее, что на нею быа подана пустая последовательность е. Таким образом, автомат перерабатывает последовательности еа"а;2'" а;,В последовательносТи Ь О Ь il Ь;2'" Ь", Ctf;,ci2 ... С;,. rде 0;1' а;2"'" а" Е А, Ь О ' Ь;" Ь'l"'" Ь" Е В, Со' С", С'l ,.., С;, Е С. Если на автомат была подана последовательность е, то он перейдет в состояние Ь О ' Если на нею была подана последовательность еа;" то он перейдет в состояние Ь;, ит. д. Если на нею была подана последовательность еа;,а;2 ... ai/' то он перейдет в состояние Ь". fоворят при этом, что последовательность еа;,а,2 ... а" ведет в состояние Ь"из начальною состояния Ь О ' Произвольную последовательность во входном 106 
5. Среды и языки Ответ на этот вопрос состоит в следуюшем. Если множество S с S" удовлетворяет условиям lUМ"oт., NelljЮmllflOJI"8tюeтll и 2YA1IplltlCllUl, то можно построить автомат, реализуюши.й множество S (язык S). Сформулируем условия полноты, непротиворечивости и реryлярности для множества S. УсЛОВИИ полноты. Для ВСЯКОЙ.ПQс;л}щвательности о "'Е S нсякое ее началр таюке принадлежит S. УtЛОВИИ веDротиворечивоtТИ. Не сушеств)'ет ни одной пары последовательностей 01 "0'0: ", 02 "020: "Е S, таких, что О, " == 02" И q> "'(01 ")  ср'(02 ").. YtJlOВlUl peryJUlPlIOC11l. Любая последовательность о "Е S может бьnъ получена из пустой последовательности е только в результате последовательноro приписывания справа (конкатенаuии) конечных или бесконечных uиклических последовательностей в алфавите А. 5.2.1. Сокращение числа состоJllOll Итак полаraeм, что исходным для построеНИR автомата является язык S с S" == А*"х С". Нашей задачей является построение aвroMaтa, реализуюшеrо этот язык. Введем на множестве А*" == А" u е отношение R, определяемое следуюшим Образом. Orнoшение R. о "'Ro '* если о "о '" Е А*" и ""* ( 0 "041\ == '''* ( 0 *041\ дл я всех 1 2' 1'2 '1" J '1' 2 J о" таких что о "о" о *0" Е А*" , , " 2 . Нетрудно показать, что отношение R является o",,,o..lIeJtl ЭК/lll8tlJ1f!lIтRОСIIIII и разбивает множество А*" на классы эквивалентности Q" Q2' ..., Q,,+J' rne Q.  класс эквивалентности отношения R, которому принадлежит пустая последовательность е. То, что R является отношением эквивалентности, объясняется прежде Bcero полной определенностью Функuии ср" за счет введения значения л этой функuии на запреwенных последовательностях множества А*". Множество классов эквивалентности можно использовать для построения автомата, реализующеro множество S", на основании следующих свойств классов эквивалентности QI' Q2' ..., Qk+I' являющихся следствием условий полноты, непротиворечивости и реrулярности мн{)жества последова тельностей действий А*". Свойство одНозначной продоткаемости. Для всякоrо деЙствия о" и всякоrо класса эквивалентности Q,., 1  r  k + 1, существует единственныl\ класс Q" 1  t  k + 1, такой, что и Q,o  Q" rдe Q,o  множество всех входных последовательностей о "о таких , что последовательность о * Е Q,. Свойство tВJlЗНОСТИ. Для любоrо класса Q" 1  t s: k + 1, существует хотя бы одна последовательность действий 0* == 0.02 ... O,p такая, что Q,o.  Q2' Q2 0 2  Qз, ..., Q,.o,,  Q" 108 1 i J 
5.2. Язык и автомат СВОЙС'ПЮ иедоопределеииOC11l. Если множество допустимых последовательностей Р не совпадает с множеством входных последовательностей А*", Т.е. Ре А*", то существует единственный класс эквивалентности Q" 1  i  k + 1 , все последовательности Koтoporo не при надлежат множеству Р, т.е. Q,  Р. ДЛЯ определенности будем считать, что этот единственный класс последовательностей есть Qk+I' ИЗ этою свойства также следует, что пересечение класса Qk+. с множеством Р Пусто (Qk+. n Р == 0), а все остальные классы Q, , I  r  k, включаются в множество Р( Q,  Р). Построение автомата (обозначим ero М'" *), реализующею язык 5'*, может быть осуществлено следующим образом. Классы эквивалентности Q" Q2' ..., Qk' Qk+. отношения R объявляются соответственно состояниями Ь'" Ь'2' ..., b'k' Ь'НI автомата М'" '*. Если Q,a  , то состояние Ь', переходит в состояние Ь', т.е. если Q а с Q, то Ла, Ь') == Ь', rдe f  функция J '  J '! переходов. Функция переходов однозначна вследствие свойства однозначной продолжаемости. Функцией выходов автомата М * является функция 'Р(Ь') == '" J 'Р*(а*), rдe а* Е Q,. Функция выходов автомата М'" * однозначна вследствие условия непротиворечивости. Начальным состоянием автомата М * является состояние '" Ь'" соответствующее классу эквивалентности Q.. содержащему пустую последовательность е. Вследствие свойства связности автомат М * будет связным. '" Таким образом, автомат М * имеет k + 1 состояние, каждое их которых '" соответствует одному из классов эквивалентности. Поскольку состояние b'k+' соответствует классу Qk+" то это означает, что для любой последовательности а* Е Qk+' имеет место 'Р(а*) == А и этот класс единственный. Автомат М"', реализующий язык 5, отличается от автомата М * отсyrствием в нем состояния Ij) Ь' k+' И соответственно переходов в Hero. Множество состояний автомата М'" обозначим В, а автомата М *  В'. '" 5.2.2. Пример сокращения числа состояний Пусть задано следующее множество 5 ПРОСТbIМ перечислением последовательностей а '*q>*(a *). А== {а.. а 2 , аэ}, 'Р*(а'*) Е С == {е.. С 2 ' с э }: 5 == {ес!, а.с!, а,а.с!, а.а 2 с 2 , а.аэс., а 2 с 2 , а 2 а,с э , а 2 а 2 с 2 , а 2 а э с.. a 2 a,a 1 c 2 , а 2 а.а 2 с.. аэс,}. Torna, соrласно определению, Р(5) == {е, а.. а.а.. а.а 2 , а.а э , а 2 , а 2 а.. а 2 а 2 , а 2 а э , а 2 а,а.. а 2 а.а 2 , аэ}. Множество 5 содержит все начала своих последовarельностей. В множество 5'* \ 5 входят последовательности, которые MOryr быть получены продолжением последовательностей множества 5 с собл.юдением свойства реryлярности. Если последовательность а'* Е 5'*\5, т.е. а'* е 5, то 'Р*(а'*) == А. Очевидно, что множество р(5'*), rдe 5'* == 5 u 5'*\ 5, содержит все собственные начала своих последовательностей, Т.е. удовлетворяет условиям полноты. Оно удовлетворяет также условиям непротиворечивости и реryлярности. 109  
5. Среды u языкu Начнем построение классов эквивалентности с проверки отношенияR дЛЯ двух первых последовательностей е, О, множества Р, Проверяя последовательно на равенство значения функции ер* сначала для продолжения дЛины О этих последовательностей, затем дЛины 2, 3 и Т.д" пока либо не получим неравенство этих значений, либо пока не станет очевидным, что на всех последующих продолжениях функции одинаковы. В первом случае последовательности помещаются в разные классы, а во втором в один и тот же. Если при проверке функций <p*(o) -и <р*(о i) окажется, что <p*(o) == C j , а <р*(0 i) == л., то будем считать, что q>*(oi). Проверка на вродолжеНИJIX дJIIoIы о: <р*(е) :=:: <р*(0.) == С,. Проверка на продолжeнux ДJПIIIbl 1: <р*(ео,) == <р*(0(0,) == С р <p*(eo z ) == <Р*(0'02) :: С 2 , (j)*(ео з ) == <р*(0,0) == С,. Проаерка на продолжеНIIJIX ДIIIIНW 2: <р*(ео.о.) :=:: q>(0(0,01) == С" <р*(ео,02) :=:: <Р*(О'О.О2) == С 2 , ср*(ео.о з ) == q>*(ОIО.ОЗ) == С" ср*(е0 2 0.) :=:: cp*(o.o.) == С 2 , Ц)*(е0 2 0 2 ) :=:: СР*(0.0202) == С 2 , ср*(е0 2 0 з ) == q>*(0.020з> == С.' q>*(еозо.) == q>*(О,озо,) :=:: л., q>*(еоэо z ) == СР*(010З02) :=:: л., q>*(еозо) == сР*(о,ОзОз) == л.. Проверка на npoдолжеНИJIX длины 3: <р*(ео.о.о.) :=:: cp*(o.O,O(OI) == л., q>*(eo.o 1 0 2 ) :=:: q>*(0.0.0102) :=:: л., q>*(ео(о,оз) :=:: <Р*(О.О'ОIОЗ) :=:: л., <р*(ео,ор,) == Ср*(0(0'020,) == л., <р*(ео,0202) :=:: <Р*(0(0'0202) == л., <р*(ео.0 2 0 з ) z: СР*(0'0'02 0 з) :=:: л., q>*(ео.озо,) == <р*(О.О.ОР.) == л., q>*(ео.о з 0 2 ) == <р*(0'0'ОЗ02) == л., q>*(ео,озоз) == Ср*(О(О.ОРз) :=:: л., <р*(ео 2 о,о.) :=:: CP*(0.020.01) == С 2 , <р*(е0 2 0,02) == <Р*(0'020'02) == С р q>*(е0 2 0.о з ) == <Р*(0'020,0з) z::: л., ср*(е0 2 0 2 0.) == CP*(0,020201) :=:: л., <р*(е0 2 0 2 0 2 ) == СР*(0(020202) :=:: л., q>*(е0 2 0 2 0 з ) == СР*(0102020з) == л., 110 j 
5.2. Язык u овтомоты <р*(е0 2 0)0,) == <Р*(0'020Р,) == Л, <р*(е0 2 ОР2) == <Р*(0'020)02) == Л, <р*(е0 2 0р) == <P*(0'20P) == Л, <p*(eop,ol) == <р*(0,0)0.0,) == л, <р*(ео)0,02) == <P*(010)0.02) == Л, <р*(ео)о,о) == <р*(о.о)о,о) == л, <p*(eo)0201) == <Р*(0.ОР20\) == Л, <р*(еО)0202) == <Р*(0'ОР 2 О2) == Л, <р*(еО)020) == <Р*(0'ОР20) == Л, <р*(ео)ор.) == <р*(о,о)ор,) == л, <р*(еО)0)02) == <р*(0'0)0)02) == л, <р*( ео)ор) == <1>*( о,о)ор) == л. Проверку для последовательностей е, 0\ можно не продолжать, поскольку по условиям задачи множество Р содержит только последовательности длиной не более трех, а следовательно, на всех еще не просмотренных их продолжениях О., длина которых будет уже более трех, функция <р*(о' == Л. Значит, последовательности е, О/ находятся в отношении R и их можно поместить в один класс Q/ и продолжить подобным образом проверку для одной из последовательностей, помещенных в класс QI' и какойлибо последовательности из множества Р, еше не помешенной в этот класс. После Toro как все последовательности, для которых это можно сделать, будут помещены в класс Q\, перейдем к получению класса Q] из числа оставшихся непомешенными в класс Q. последовательностей, используя аналоrИЧНУЮ процедуру проверки отношения R. И так до тех пор, пока все последовательности не будут распределены по классам. В результате для нашеro при мера получим следующие классы эквивалентности: Q, == {е, 0\, '0\0" 0\0), O)' 020\02' О)}, Q2 == {02' 0'02' 0202' 02 0 \0\}, Q) == {0'02}' Сопоставим классы эквивалентности Q., Q2' Q) соответственно состояниям ь;, ь;, ь; автомата М.,. Поскольку последовательности о,, 0,0. множества Qp/ при надлежат классу QI' то /(0., b) == b, Т.е. автомат М." находяшийся в состоянии ь;, при совершении действия о, остается в том же состоянии. Остальные последовательности множества Q\o, при надлежат классу, который нас в данном случае не интересует (классу Qk+. при k == 3 для данноrо примера). Далее, поскольку входные последовательности 02' 0,02 множества Q.02 принадле:жат классу Q2' то /(02' b) == b и Т.д. В результате получим автомат М, rpаф переходов KOToporo показан на рис. 5. 1. Начальным состоянием q> 111 l 
5. Среды и ЯЗыки этоrо автомата является состояние. Ь'.. Значение функции выхода указано РЯдом с соответствующим состоянием. Таким образом, для построения автомата М на рис. 5. 1 использовался следующий q> алrоритм. Алroритм разбиения последовательностей на КJlattbl эквивалентности: О" аз а) принять i О. Задать множество PP(S); б) объявить множество Q;  0; в) если существует хотя бы одна последовательность а* Е Р такая, что Q.Ro. , (Q.Ro. означает , что для каждой последо , вательности й,* Е Q; имеет место о, .Ro. , причем если Q;  0, то Bcerдa имеет место Q;Ro" то перейти к следуюwему пункту. В противном случае перейти к пункту д); r) считать Q; равным Q, U о., а Рравным Р\о* и перейти к выполнению пункта в) с новыми Qj и Р, д) если Р"'" 0, то перейти к пункту е). В противном случае принять i равным i+ 1 и перейти к пункту б) с новым i; е) отождествить полученные классы эквивалентности QJ' ...,Qk с внутренними состояниями ь;, Ь;, ..., b автомата М." Для кзждоrо действия й Е А и каждоrо класса эквивалентности Q; тaKoro , что Q,o  Q,., ПОС1рОить на rpафе переходов автомата дуry (Ь', Ь'). Дополнить полученный rpаф I J переходов отметкой каждой вершины Ь; значением Функuии <p(b-;). Перейти к следующему пункту; ж) конец. Р8с. 5.1. .fраф переходов автомата М q> 5.3. Описаиие автомата иа языке ЛОПIЮI предикатов Рассмотренное в при мере множество последовательностей действий - S можно представить в виде дерева, показанноro на рис. 5.2. Подобное .дереио мы уже строили при рассмотрении среды кота (см. рис. 2.1). Однако Делали мы это во второй rлаве, будучи еще незнакомыми с лоrикой предикатов. Теперь мы можем воспользоваться ее возможностями .w:я постановки задачи нахождения последовательностей действий, ведущих в uелевые состояния. Напомним, что в rлаве 2 ПОСТfiНОВКОЙ задачи называется задание всех состояний и действий, которые MOryт использоваться для решения задачи, начальноrо состояния и uелевых состояний, а таюке всех допустимых переходов между состояниями при выполнении соответствующих действий. Введем следующие атомы. 112 
1 5.3. Описание автомата на языке Л02ики предикатов Рвс. 5.2. Дерево послеДОlЩтельностей действий Aтoмw деЙCТ'IIIЙ ДJIJI дерева: действие (а.), действие (а 2 ), действие (аз). Эти атомы истинны, если совершается соответствующее действие, находящееся в скобках. Ато.. состояний ДJIJI дерева: состояние (Ь.), состояние (Ь 7 ), состояние (Ь 2 ), состояние (Ь И )' состяние (Ь), состояние (Ь 9 ), состояние (Ь 4 ), состояние (b 1e ). состояние (b s )' - состояние (Ь , .), состояние (Ь 6 ), состояние (Ь. 2 ). Эти атомы истинны, если срепа находится в соответствующем состоянии. Формулы переходов между coctoJIB,,-МИ дли дерева. Дерево на рис. 5.2 содержит 11 переходов между состояниями, каждый из которых яроисходит при осуществлении соответствующеrо действия. Переходы описывают.ся импликациями: состояние (Ь.) л действие (е) :J состояние (Ь.), состояние (Ь.) л действие (а.) :J состояние (Ь 2 ), состояние (Ь.) л действие (а 2 ) :J состояние (Ь З )' состояние (Ь.) л действие (аз) :J состояние (Ь 4 ), состояние (Ь 2 ) Л действие (а.) :J состояние (b s ), 113 iL 
5. Среды и языки состояние (Ь 2 ) Л действие (а 2 ) ::> состояние (Ь 6 ), состояние (Ь 2 ) Л действие (а з ) ::> состояние (Ь 7 ), состояние (Ь З ) Л действие (а,) ::> состояние (Ь В )' состояние (Ь З ) Л действие (а 2 ) ::> состояние (Ь 9 ), состояние (Ь З ) Л действие (а з ) ::> состояние (Ь,о), состояние (Ь В ) л действие (а,) ::> состояние (Ь,,), состояние (Ь 9 ) Л действие (а 2 ) ::> состояние (Ь'2)' Леrко заметить, что подобное описание можно осуществлять как по переву, так и по rрафу переходов автомата, реализующих множество s. Если воспользоваться rpафом на рис. 5.1, то получим следующее множество формул. Атомы действий ДJUI .-рафа. Эти атомы, естественно, те же самые, что и для дерева на рис. 5.2: действие (а,), действие (а 2 ), действие (а з ), Атомы состояний для rрафа. rраф перехопов на рис. 5.1 содержит существенно меньше вершин (состояний), чем дерево на рис. 5.2. Поэтому и количество атомов для состояний меньше: состояние (Ь ,'), состояние (Ь{), состояние (Ь ;). Формулы переходов для.rpафа. Перехопов в rpафе также меньше, чем в переве. Поэтому и соответствующих импликаuий также меньше: состояние (Ь.') л действие (е) ::> состояние (Ь(), состояние (Ь;) л действие (а,) ::> состояние (Ь;), состояние (Ь;) л действие (а з ) ::> состояние (Ь;), состояние (b) л действие(а) ::> состояние(Ь;), состояние (Ь;) л действие (а,) ::> состояние (Ь{), состояние (Ь{) л действие (а з ) ::> состояние (Ь(), состояние (Ь;) л действие (а,) ::> состояние (Ь;), состояние (Ь{) л действие (а 2 ) ::> состояние (Ь;). 114 
5.3 Описание автомата на языке лоzики предикатов Атомы действий, состояний и формулы переходов являются основой для постановки задачи. Леrко подсчитать, что постановка задачи поиска целевоro состояния, если ее осуществлять по дереву на рис. 5.2, будет содержать 3 атома пля действий, 12 атомов пля состояний и 12 формул пля переходов, в то время KaJ( постановка задачи по rpафу на рис. 5.1 будет содержать 3 атома для действий, 3 атома для состояний и 8 формул для переходов. Если orpaничиться только этими формулами, то в первом случае имеем суммарное число формул, равное 27, во втором случае  14, Т.е. во втором случае число формул уменьщилось почти вдвое. Это, конечно, не означает, что сложность (трудоемкость) поиска при постановке задачи поиска с меньщим количеством фактов будет вcerna ниже, но, по крайней мере, объем памяти, требуемый для запоминания формул, может быть значительно меньще. Конечно, предварительное преобразование исходноro описания постановки задачи в друrое, требующее меньщее количество формул, также требует ресурсов (времени, памяти). Но если это преобразование осуществляется один раз, а после этоrо рещение задачи осуществляется MHoroKpaTHo для поиска различных целей, то затраты на преобразование MOryт оказаться оправданными, Возникает, конечно, вопрос, можно ли использоваТь для поиска цели по rpафу ту же стратеrию, что и по дереву. Леrко заметить, что при поиске по дереву не использовалось никаких соображений, которые учитывали бы свойства дерева. На каждом шаrе поиска состояние, в которое был осуществлен переход после очередноro действия, проверялось, не является ли оно целевым. Если оно таковым оказывалось, то задача поиска (если целевое состояние единственное) считалась завершенной. Таким образом, рассмотренная в rлаве 2 стратеrия Поиска в пространстве состояний никак не эаВИИТ от тoro, имеете ли вы rpаф или дерево. Алroритм разбиения последовательностей на классы эквивалентности требует трудоемкой и yroмительной процедуры проверки отношения R на множестве последовательностей S. В постановке задачи, однако, вместо множества последовательностей действий S имеем множество состояний и переходов. Каждой последовательности действий а., ведущей из начальноro состояния, соответствует на дереве последовательность переХОДОВ,ведущих из начальноrо состояния дерева в одно из промежyroчнbIX или целевых состояний. Каждая последовательность ведет ТОльКо в одно состояние, Т.е. каждое состояние взаимно однозначно соответствует последовательности переходов, ведущей в Hero. Эto означает, что если последовательность действий а" ведет из начальноrо состояния в состояние Ь, то можно считать, что <р*(а' == q>(b). Исходя из этоro. вместо классов эквивалентности последовательностей действий можно получать классы эквивалентности состояний на осно.ве трансформации отношения R в отношение, которое обозначим е, определяемое следующим образом: b.R b b 2 . если Ь.. Ь 2 Е В И <р(Ь';) == <р(Ь"2) дЛЯ ВСех а\ fra fr , а 2 "а " Е ,A't" таких, что а. fr ведет в Ь\, а 2 " ведет в Ь 2 . а " ведет из состояния Ь\ В состояние Ь';, а из' состояния Ь 2 В состояние Ь';. 115 
5. Среды и языки 5.4. Построение автомата методом детермиlПl38ЦИИ Из определения отношения R непосредственно следует. ч.то две последовательности о. ., 02 fr множества Р тоrда и Т()лько тоrда яаходятся в от.н.ошении R, коrда q> '(О. ., == q> '(02 ,. Следовательно, если в одно множество включать только те последовательности множества Р, для каждой пары о. *, 02 * которых,имеет место <р*(о. *) == <p*(" , то множество Р. разобьerсп на конечное число подмножств (классов), которые будем обозначать Q.(O), Q/O), ..., QtiQ(O). 5.4.1. Пример пocrpoellИJl автомата Пусть S == {о.с.. 0.0'С 2 ' 0.02С.. 020'С2' ес], 0.020.С2' 010202С" 02020,с.. 010,0,0,С2, 0.01020,0IС2' 02С]' 0202С]' 01010IС]' 010102С]}' Для этоro множества будем иметь классы QI(O)::z: {е, 02' 02' 010'0" а,0102}' Q2(O) == {о.. 0,02' 010202' °2 0 2 0 1} , Q](O) == {0'01' 020.. 01020" 01010'0" 0101020.}, Сопоставим эти классы соответственно состояниям Ь'.(О) , Ь'2(О), Н,(О) HeKoтoporo автомата М. (О), построив для Hero rpаф переходов точно так же, как для автомата М'Р' но используя классы Q.(O), Q2(O), Q](O). Тоrда получим автомат, rpаф переходов Koтoporo показан на рис. 5.3. Эroт aвroмa1". является недетерминированным, так как из состояния Ь' .(0) исходят две дyrи, помеченные одним и тем же действием о.. Если с помощью алrоритма р6иения пOCJl(ЩОвательностей на классы эквивалеН'IНblXДЛЯ ТОI"O же множества S построить классы эквивалеиnюсти, то их будет четыре Q. == {е, 02 й 2}' Q2 == {Ор 0'02' 0102' °2 0 2 0 .} , Q] == {01 0 ., 02 а " 0.020.' 0,010.0,' й1 0 1 0 2 0 1}' Q4 == {02' 0'0101' й1 0 1 0 2}' Сравнивая О., Q2' Q], Q и Q (O) . Q (O)._ Q (O) В ИДИМ ......... (О)::z Q u Q 4 l' 2' 3' , ..... у ". , 4' Q2(O) == Q2' Q](O) == .Q], Т.е. ДЛJI тoro, ч.тобы по классам Q.(O) пос.троить детерминированный 3ВroMaT М'Р: достаточно разбить множество Ql (О) на два непересекающихсJt подмнож:ecrвa Q, и Q4' Эra процсщура coorвeтcrnyeт замене состояния ь'1 (О) недетерминированноrо автомата М.(О) двумя состояниями Ь', и ь' 4' В результате чеrо он превращается в детерминированный a.вroMaT М .  'Р В общем случае под .mqAlIIInIJII'C8e8 будем понимать итеративную процедуру (более детально эта процедура будет рассмотрена чyrь позднее) построения автомата МI/) по aвтoMa'I)' 116 02 02 Рвс. 5.3. fраф переходов автомата М;(fI/ 
! 5.4. Построение овтомото методом детерминизоции М(Н) с ПОМОЩЬЮ разбиения некоторых классов Q(I'), соответствующих состояниям автомата MO'), на непересекающиеся пОдклассы Q(i), соответствующие состояниям автомата М(I).Разобьем JCЛасс Q.(O) == {е,- 02' 0202' 0,0,0., 0,0.02} автомата М.(О) на подклассы по следующему принципу: любые две последовательности о, *, 02 * Q,(O) будем помещать в один и тот же поnкласс, если ЛЛЯ них имеет место <р "(О. *0) == <р "(02 *0) ЛЛЯ всех действий о. Класс Q,(O) в этом случае можно разбить на два подкласса {е, 020} и {02' 0,0,0.. 0'0'02}' так как <р "(ео,) == <р "(02020,) == С" <р "(е0 2 ) == <р "(020202) == С з , qJ "(020,) == q> "(0,0,0,0,) == <р "(0,0,020,) == С 2 , q> "() == q> "(0,0,0102) == <р "(0,а'02 0 ,) == С з . Введем новые обозначения классов Q/I) == {е, 02 0 2}' Q2(') == {о.. 0'02' 0'0202' 02 0 2 0 .}, Q (')  { . } з  0,0" 020" 0,020.. 0,0,0,0" 0,0,020, ' Q4(1) == {02' 0,0.0.. 0'0'02}' Эти классы совпадают соответственно с классами Q" Q;, Qз, Q4' полученными по алrоритму разбиения последовательности На классы эквиваленТносТИ И',;'следовательно, автомат М,(1), который можно построить по этим классам, является детерминированным. На.стоящим примером был проиллюстрирован подход к процедуре детерминизации. Перейдем к более строroй ФОрмулировке этой процедуры в виде алrоритма. Рассмотрим отношеНlre ЕИ на множестве А*": о, *.E;<1)02 *, если о. *, 02 *Е А*", <р"(0.*0-> == <р"(02 *0-> ЛЛЯ всех 0* Е А*" ллиной 1(0-,  i. Из определения отношения E(I) следует, что отношение Е(О) как раз разбивает множестВо последовательностей Р из paccMoтpeHНOro примера на классы Q,jO), Q2(0) , Qз(О). Действительно отношение Е (О) проверяется только для последовательностей о *, длина которых равна НУЛЮ,' а такая последо вательность существует только одна  пустая последовательность е, Torдa по определению -.Б(/) !l'IЯ любых двух последовательностей о, *, 02 * Е Р имеет место а, *Е(0)02 *, если qt "(о, -> == <р "(02 *). В то же время , если i выбрано равным или большим длине '1 самой ллинной входной последовательности из множ.ества Р, то из определеНЮJ отношения E(I) следует, что отношение E(q) совпадает с отношением R, а отношение Е(/+') разбивает множество Р на классы, каждый из которых являетСЯ подклассом отношения В/). т.е. ДЛЯ ка:ж:доr() класса Q}/+') сущес;твует J(ЛаСf:: Q,,(I), 'fакой, что q(/+I) Q,,(i!.JJ общем случае автомат М(;) == (А, B(fJ, C(fJ, !(,\ <р(I) строится аналоrично автомату 117 
5. Среды и язьucи М... Состояниям Ь',(о, Ь'2Ф' ... Ь'.? этоro автомата соответствуют классы Q {I) Q (I) Q (/) l' 2' .,. Iti. Функцией переходов aвтQMaTa M(I) является функция f(i)(a, Ь'}О) := {b'h(/) I а. Е цт, а*а е Qh(l)} , а функцией выходов rp(i)(b'}/» := {rp*(a.a) := rp(/)(b'h(l) la*E Q/" а.й Е Qh(/)}. Начальным состоянием автомата M(j) является состояние Ь', (j), соответствующее классу QJ(j), который содержит ПУC1)'lO последовательность е. Автомат М(I) в общем случае является NeдeтepJNUНllpotlllNN6lAI, так как из одноro и тoro же состояния Ь'}/), по одному И тому же входному состоянию а возможен переход в несколько различных состояний b'h(/)' При этом, поскольку отношение E(ТI) совпадает с отношением R, 1'0 при выполнении условий полноты, непротиворечивости и реryлярности для множества S автомат M(ТI) совпадает с автоматом М, Т.е, является инициальным, ., детерминированным и конечным. Создадим с использованием отнощения Е (1) алroритм построения автомата М, реализующеro заданное множество S последовательностей. ., 5.4.2. Aлroриrм детерминнзации по множеству последовательностей Запищем этот aлroритм в виде а) принять ; == о; б) разбить множество Р на классы Q.(O, Q2(j), ." Q,/) по отношению E(j), rдe Q, (j) является классом, содержащим ПУC1)'lO последовательность е; в) отождествить классы QI(i). Q2(i). ... Q,}j) С внyrpeнними состояниями Ь',т, Ь'2т, ...Ь',/) автомата Мт. Построить автомат МЮ с эtими внyrpeнними coc 'I'Oяниями Ь'.т, b'2(j), ...b'ki(j), функцией переходов рil и функцией выходов rp(i); r) проверить, является л'и автомат M(j) детерминированным. Если он детерминированный, то перейти к пункту е), в противном случае перейти к следующему пункту; д) разбить кажды класс Q.(j), Q2(i), ... Q,/) по отношению E(I+I) на подклассы. Считать множество этих подклассов новым множеством классов Q (/+J) Q (1+') Q (1+') [ д е Q (1+1) явля ется классом со д е р жа щи м ПУ r"Т"\Т1n , ' 2 ,..., i(1+1)" . 'J. последовательность е. Принять; == ; + 1 и перейти к пункту в); е) считать автомат M(i) автоматом М.,. Конец. Рассмотренные алroритмы построения автомата в качестве исходноrо задания использовали множество (язык) последовательностей S. В то же время каждое такое множество однозначно представляется деревом, причем каждой последовательности а. Е P(S) однозначно соответствует состояние дерева из множества всех состояний В, в которое она ведет из начальноro сocrояния. Следовательно, эти алroритмы MOIyr быть модифицированы для работы сразу с деревом и ero состояниями без перехода к множеству S. для 118 
5.5. Fраф переходов состаяний среды этоro достаточно заменить отношение ЕЮ на множестве А*" следующим отношением: D(I): b.D(I)b 2 , если ы' Ь 2 Е В, <р*(а*, Ь.) :=; <р*(о*, Ь 2 ) для всех а.Е А*" длиной I(a->  i. Torдa функции переходов и выходов будyr иметь вид J<I)(O, Ь'}'» == {b'h(1)1 ы  Е Q?, Ь } == Ла, Ь) Е Qh(I)}, <р(О(ь'}О) == {<p(b j ) I Ь } Е Qh(I)}. Следовательно, вместо алrоритма детерминизации по множеству последовательностей действий можно использовать следующий алroритм. 5.4.3. AлropIrI'М детерминизации по множесп)' СОСТОJDIИЙ Запишем этот алroритм в виде а) принять i == о; б) разбить множество В на классы Q,(I), Q2(1), ..., Qk/(I) по отношению D(/), rде Q,(I) является классом, содержащим начальное состояние Ь О ; в) отождествить классы Q,(I), Q2(1) , ..., Q,,/') С внyrpeнними состояниями ь'\(/), Ь'2(1), ..., ь' k/(I) автомата М('). Построить автомат М(') с этими внyrpeнними состояниями b'.(I). Ь'2(1), .... ь' k/(I), функцией переходовJ<l)и функцией выходов <p(I); r) проверить, является ли автомат M(I) детерминированным. Если он детерминированный, то перейти к пункту е), в противном случае перейти к следующему пункту; д) разбить каждый класс Q.(I), Q2(i) , ..., Q,}/j по отношению IY/+/) на подклассы. Считать множество этих подклассов новым множеством классов Q.(i+'), Q2(i+ 1) , ... Q/t1.IH)(i+ 1) , rде Q.(I+.) является классом, содержащим пуcryю последовательность е. Принять i == i+ 1 и перейти к пункту в); е) считать автомат M(I) aВТOMa';l'OM М.,. Конец. 5.5. fраф переходов состояний среды Вернемся теперь снова к примеру со средой кота из второй rлавы и рис. 2.2, на котором показано дерево переходов из начальноro состояния во все состояния этой среды. or этоrо дерева леrко перейти к rpафу переходов, оставив только одну из повторяющихся вершин (ту, которая расположена ближе к начальному состоянию) и направив дyry в оставшуюся вершину. В результате получится rpаф переходов, показанный на рис. 5.4. На этом rрафе каждая вершина имеет петлю. Это означает, что при действии (действиях), соответствующем петле, состояние среды остается неизменным и такие действия желательно не осуществлять. Устраним их на rpафе, изображенном на рис. 5.4. В результате получим rpаф без петель, показанный на рис. 5.5. Зададим на множестве состояний этоro rpафа функцию <р(Ь). Будем пoлaraть, что на целевых состояниях <р(Ь 7 ) == <р(Ь в ) == с.. а на всех остальных <р(Ь) == С 2 . Построим автомат М., по последнему алroритму. Получим классы 119 
 cpeды. и JIЗblки О, Рис. 5.4. rраф переходов с петлями для среды кота Q.(O) := (Ь.. Ь 2 , Ь), Ь 4 , b s , Ь 6 }, Q2(O) = {Ь 7 , ь в }' Если по этим МНОЖествам построить rpаф пеpt!ХОДОВ . автомата МО), то он будеТ иметь два состояния и не будет детерминированным, поскольку подмножества СОС1'оstний {Ь.. Ь 2 , Ь 4 , b s }', {Ь), Ь 6 } одноro и 'I'Oro же класса Q/O) переходят в состояния различных классов Q.(O) и Q2(O). Поэтому по этм классам не может быть построен автомат М., и класс Q/OI необходимо разбить на подклассы Q.(I) := {ы' Ь 2 , Ь 4 , b s }, Q2(1) := {Ь ЗJ Ь 6 }, Q)(I) == Q2()' Если построить по этим классам автомат М(I), то он будет иметь три состояния, но опять не будет flетерминированным, пОСкольку подмножества состояний {Ь., Ь 2 }, {Ь 4 , b s }, одноro и Toro же класса Q.(J) переходЯТ в состояния различных классов Q.(I)и Q/II. Это ВИДНQ на рис. 5, 7. Разобьем класс Q.(I) на два подкласса. В результате получим классы Q.(2) == {Ь.. Ь 2 }, Q2(2) == {Ь 4 . b s }, Q)(2) == Q2(1), Q4(2) == Q)(I). В соответствии с этими классами уже может бwь построен детерминированный автомат М , . цоскольку все состояния каждоrо из классов переходят в состояния кaKOH) либо одноrо класса QP) Это видно из рис. 5. 8. Автомат М пос тро енный по множеств у классов Q (2) Q (2) Q (2) Q Ф .,' .' 2',)' 4' показан на рис. 5. 9. На этом рисунке классы Q.(2). Q2(2), Q)(2), Q4(2)He заменены на состояния Ь (2) Ь (2) Ь (2) Ь (2) для TOro чтобы ви д еть каки е "2')'4 ' , исходные состояния среды их образуют. 120 
5.5. [раф переходов C8e1I'IОRНUЙ среды о, Рис. 5.5. rраф переходов без neтeльд1lЯ среды кота а: О ) а: ОI а: ОI а(ОI I а:"1 а';' а:'" C. 5.6. Переходы СОС1'ояний классов Q/O) и Q2'O) а(ОI 1 Рис. 5.7. Переходы состояний классов Q.'I), Q2(1), Q]II) ь, at1 al) a() Рис. 5.8. Переходы СОСТОЯНИЙ классов Q 1 12I, Q2 121 , Q](2), Q4 121 121 
5. Среды и языки 5.6. Использование rpафа переходов для поиска в пространстве состояний в настоящей rлаве была рассмотрена взаимосвязь между языком, автоматом и средой. Язык  это множество последовательностей символов, в частности последовательностей действий areнтa. Постановка задачи поиска целевых состояний требует формулировки знаний 'О среде. Язык используется для формулировки этих знаний с явным или неявным упоминанием состояний среды. Язык может быть реализован автоматом. В этом случае автомат может рассматриваться просто какдрyraя форма представления знаний. Более TOro, aВfOMaT то же можно рассматривать как язык, более нarлядный и компактный в ero rpафовом эквиваленте  дереве или rpафе переходов, особенно для представления знаний о простых средах. Объем требуемых исходных знаний и сложность поиска зависят от языка представления знаний. Автоматное представление знаний позволяет оптимизировать исходное представление знаний и даже упорядочивать ИХ, как это видно из примера со средой кота. [раф на рис. 5.9 имеет почти линейную структуру, что позволяет без лишнеrо блуждания по дереву находить целевые состояния. о. о, о. Рвс. 5.9. Автомат М , построенный по множеству состояний классов · Q (2) Q (2) Q (2) Q (2) l' 2' 3' 4 122 
5.7. Построение zрафа состояний 5.7. Построение rpафа состояний 5.7.1. Дерево СOCТOJUIIIЙ Построение дерева состояний рассмотрим на при мере простой среды. Среда и дерево состояний среды для нас не различимы. Если дерево состояний построено, то по нему можно построить автомат, который в этом случае также адекватен среде. Поэтому мы сразу будем rоворить не о среде, а о дереве состояний и автомате, помня при этом, что речь всетаки идет об объектах, в определенной степени адекватных среде. Итак, пусть требуется построить автомат М, адекватный некоторой среде и имеюший один двоичный вход х и один двоичный выход Z. На вход этоro автомата (воздействие на среду) поступает произвольная бесконечная последовательность нулей и единиц, Т.е. входной алфавит А == {О, 1}. Каждая подпоследовательность подряд идущих входных символов 0.40.)0.20.1 (0.; Е А) входной бесконечной последовательности поступает на вход автомата соответственно в моменты времени t;), t;2' t;.. t;, rде t;  не который момент времени; t;1  момент времени, предшествующий моменту t;; t'2  момент времени, предшествуюший моменту t H ; t;)  момент времени, предшествующий моменту t;2' Каждая такая подпоследовательность 0.40.)0.20.1 рассматривается как четырехразрядное двоичное число 0.423 + 0.)22 + 21 + 0.,20 (т. е. это число подается на вход автомата, начиная со старших разрядов). Задачей автомата М является классификация десятичных эквивалентов подпоследовательностей 0.40.)0.20.., подаваемых на ero вход соответственно в моменты времени t;), t;2' t;., t;, на две rpуппы: меньших или равных 9 и больших 9. На выходе автомата должен появляться О в первом случае и 1  во втором. . Отметим, что рассматриваемый автомат является представителем 06ширноrо класса автоматов, принадлежаших к декодируюшим устройствам, задачей которых является обнаружение во входной бесконечной последовательности, подаваемой на их входы, некоторых подпоследо вательностей, обладающих тем или иным свойством. ДЛя практических задач естественно считать, что автомат, прежде чем начать свою работу; находится в некотором начальном состоянии, через которое он может MHoroKpaTHo проходить в проuессе своей работы. Пусть nля рассматриваемоrо автомата М это будет состояние Ь О ' Очевидно, что существует вcero 24 различные входные последовательности 0.40.р 2 0.. длиной 4. Учитывая сказаННое, дерево состояний автомата можно строить следующим образом. Будем полаrать, что в начальном состоянии Ь О ' находяшемся на ярусе О дерева, нам неизвестны значениЯ переменных (неизвестные значения переменныхобозначим знаком ?), которые подавались на вход автомата в предыдушие моменты времени. Состояния  последователи начальноro состояния (начальное состояние находится на ярусе О) получаются в результате действия, присваиваюшеrо переменной 0.4 одно из возможных значений (О или 1). В результате имеем состояния яруса 1. Последователи состояний яруса 1 получаются в результате 123 
5. Среды и языки действия, присваивающеro одно из возможных значений переменной аз, и Т.Д. Начальное дерево соСТОЯНИЙ, которое можно, как ранее, называть деревом поиска состояний, показано на рис. 5. 10. Как вcerna внyrpи вершин стоят обозначения состояний (вместо записи Ь;записываем просто i). Слева ????@ ??ОО Рис. S.10. Дерево поиска состояний автомата М 124 
5.7. Построение zрафа состояний от вершин указаны входные последовательности а.аэарl' получающиеся после подачи очередноrо входноrо симliQла. Еще' неизвестные значения переменной а; обозначены знаком ..?... Дуrи помечены значениями О или 1, означающими действие по присвоению соответственно О или 1 переменной а,., если эти дyrи входят в вершины яруса i. 5.7.1. Построение иеМlDllDl8JJWlO1'O rpафа переходов для Toro чтобы можно было от построенноrо дерева l:Ia рис. 5.10 перейти к неминимальному rpафу переходов, б-удем полаraть, что нам известна подпоследовательность а.а э а 2 а.. в результате которой автомат попал в состояние Ь О ' Вообще это можеТ быть любая подпоследовательность из числа допустимых. Пусть это будет подпоследовательность 0000. Torдa во всех подпоследовательностях дерева, показанноro на рис. 5.10, символ ..?.. следует заменить на о. В результа получим дерево, показанное на рис. 5.11. Каждой вершине этоro дерева соответствует одна конкретная подпоследовательность а.арр.. состояща'я из О и 1. .Все конкретные подпоследовательности встречаются на дереве. Дерево, представленн()С) на рис. 5.10, может быть пpWJ.олжен,. поскольку-. на автомат подatm:я бесконечная последовательность из ь:и 1. Но'новыхподпоследоваТeJlьностей' и соотствующих им СОСТОJJНItЙ уж;е не пояаится. ДЛя каждоro из состояний на .дереве рис. 5.1 О.. из KOfoporo дyrи Ще не выходят. найдется уже получеНI-[ое соtтряние, в кОТС>pot из этоrо СОСТОЯНия может быть направлена дyra. Поэтому нет смысла продолжать построение дерева, а BOBTOpЫX, MWКНO удалить те поддеревья, которые начинаются в состояниях, встречающихся повторно, перенаправив идущие к этим подцеревьям дyrи в ранее встречающиеся состояния. В результате из дерева на рис. 5.1 1 получится rpаф переходов, показанный на рис. 5.12. Рве. 5.11. Дeвo поиска состояни после конкретизации начальной последовательности а.а э а 2 а. 125 
5. Среды и языки Рис. 5.12. fраф переходов автомата, полученный по дереву, показанному на рис. 5.11 QDlQDI QDlq" QDlQOIQOJQOJ crlQOJ QOJQOJ Рвс. 5.13. Классы состояний Q<0) автомата, показанноro на рис. 5.12 QIIQ'1 QllQ11 QIIQI' Q'IC1,I' QIIQIIQ/IQII QIIQII Q"QIIQ"QII QIIQI) @JO QIIQ'1 QIIQI' QI'Q" QIIQII QI)Q'I QIIQ" Рис. 5.14. Классы состояний Q<1) автомата, показанноro на рис. 5.12 126 
5.8. Языки и ZpaммaтUKU Q:2;  8le G@ @ l' @@ CflQ2 J Q2 J Q2 J а/'о/: "1 211 @ 3п QЗJQЗI Q3;Q 0;:10;;' q]. Iдl  2621 "2e QЗJQЗ 1 Q/)q) Q:IQ;' Рвс. 5.16. Классы СОСТОЯНИЙ (Р) автомата, показанноro на рИС. 5.12 о Рвс. 5.17. СОСТОЯНИЯ И переходы минимальноro автомата, полученные по алroритму детерминизации СОСТОЯНИЙ 127 
5. Среды u Н3Ь11(и 5.7.3. МинимиЗIIЦIIJI ЧIICJIа СОСТОRНИЙ Перейдем теперь к минимизаuии числа состояний автомата, показанно на рис. 5.12, по алroритму детерминизаuии по ножеству состояний. На рис. 5.13' 5.16 показаны совокупности классов состояний (}Ol, QII, "21, (}31, полученные по этому алroритму. В соответствии с классами (}З 1 после переобозначениЙ классов символами состояний получаем автомат, rpаф переходов Koтoporo показан на рис. 5.17. 5.8. Языки. rpамматики в предыдущих параrpaфах было дано понятие языка, используемоro для описания поведения среды. Был рассмотрен простейший вариант TaKoro языка в виде конечноrо множества последовательностей s. Было показано, как от TaKoro простейшеrо описания, обладающеrо определенными свойствами, можно перейти  rpафовому представлению этоrо языка!J виде автомата и представить этот автомат на языке лоrики. Обратим внимание, что в реальных !6дачах areHT, реализуемый как проrpамма, работа которой:осушеСТВЛЯется на основе какоro':либо числения и стратеrии вывода, имеет, как правило, дело не с физической средой.  как раз с описанием. свойств этой среды на какомлибо языке. Задать эти языкИ простым пер'ечислением конечноrо множества послеД01Jательностей S практически Jfевозможно. Задание станови1'СЯ более С]J.Oжным. Изучая именно такоro рода задния, можно перейти от них К формальной. постановке задачи на языке Toro или иноro исчисления. Собственно, это задание или описание и выступает чаще Bcero для areHтa в качестве эквивалента среды, за исключением может быть areHТOB, реад.изуемых как роботы, которые обладают орrанами восприятия И реакuии. Кроме тщо, при мультиаrентной реализаиии систем areHTbl взаимодействуют дpyr с друroм с помощью сообщений, передаваемых на какомлибо языке. Именно поэтому важно знать, как MOryr быть формально описаны свойства среды в языках, не яаляющихся лоrическими языками, И как можно перейти от таких языков к формальной постановке задачи в том или ином исчислении или как разобрать сщение, поступающее данному areHТY извне. В настоящем разделе будYr рассмотрены способы определения языков с помощью формальных rpамматик, будет показано, как можно перейти от TaKoro определения к аксиомам, определяющим свойства среды, и как можно разбирать и выполнять действия на основе языковых сообшений. 5.8.1. Формат.иwе rpамматп:и Назовем некоторое множество А, состоящее из элементов а, тep.м8 NIlA6R6IAI IlAфtl.8тOJN, а ero элементы тepJtIlUlllAtlJtI8. Введем также конечное неПУСТQе множество символов N, которые назовем Ne",epJtI8Nfl,4flJtI8. Множества N и А не пересекаются. Объединение этих множеств обозначим 128 
5.8. ЯЗblки и ZpaммamUKU символом V. Элементы множества А будем попрежнему обозначать строчными символами а, а элементы множества N  заrлавными буквами. Множество всех последовательностей в ал,фавите V обозначим V.. Если к множеству V. добавить пустой символ, то получим множество V.'. Наконеи, множество упорядоченных пар (\1, w), rдe \1 ЯW1Яется элементом множества V .'х А х V.', а w  элементом множества V., обозначим символом. . Каждая упорядоченная пара (\1, w) называется 1I0рождllЮIl411JN 1I}Н18IUOJН. Порождающее правило обычно обозначается v ----+ w. Из определения порождаюшеrо правила следует, что w не может быть пустой последо вательностью. ФорJNIlA6Rоii zpllJNJНllmllкoii называют четверку: G == (N, А, Р, S), rдe Р является непустым конечным множеством порождаюших правил, а S  спеuиальный непустой символ, называемый 1IIl1UU'"61J11 HemepJNIlIIIU6R6IJII CILltUlOAOJN. Н. Хомским преможена классификаuия формальных rpамматик, состояшая из четырех типов: О, 1,2 и 3, в зависимости от типа порождаюших правил. Классификаuия XOMcKoro (/(v) означает длину последовательности v) приведена в табл. 5.1. Из этой таблиuы следует, что любая автоматная rрамматика является одновременно контекстносвободно"й, любая контекстносвободная  контекстно--зависимой, любая контекстнозависимая  rpамматикой типа О. Последовательность w.выводима из последовательности v.c помощью правила v ----+ w, если последовательность \1 * содержит подпоследовательность v, замена которой на w дает w.. Вывод последовательности w* из последовательности v. с помощью правила g обозначим \1 *  W *. Последовательность w * выводима II из \1* С помошью правил gl, g2, ..., gk, g(k+l), если существует множество Таблиuа 5.1 Тип Название rрамматики Вид порождающих правил rpамматики О Типа О V Е V.'x А xV.', w EV. I Контекстнозависимая V Е V.'x Ах V.', w EV*, '(У)  I(w) 2 КонтеКстносвободJiaЯ V Е N, w Е V. 3 Автоматная V Е N, w Е А х N или w Е А УЕ N, w Е N х А или w Е А 5 1141 129 
5. Среды и языки последовательностей v.*, v/, ..., V k . таких, что v*g. ::::) v.*, V.*g2::::) v 2 *, * * * . V k gk.::::) V k +, ' Vk+. g(k+I)::::) W . 5.8.2. Языки Язык L( G), по рождаемый zрамматикой G, является множеством всех последовательностей о. множества А., которые MOryr быть выведены из начальноrо нетерминальноrо символа с помощью правил rpамматики G. Пример. Дана автоматная rpамматика G: А == {о.. 02}' N == {N" N 2 }, S, р == {S N" N 1  0.N 2 , N 2  0IN 2 , N 2  02} Язык, порождаемый этой rpамматикой имеет вид ЦС) == {0,т0 2 , т  l}. Здесь 0.т0 2 означает любую последовательность из идущих подряд т символов о.. за которыми следует единственный символ 02. Пример. Дана контекстносвободная rpамматика G: А == {о.. 02}' N == {N.}, S, Р == {S  N.. лr.  0IN,02' N,  0102}' Порождаемый язык ЦС) == {0,п0 2 п, п  О. Пример. Контекстнозависимая rpамматика А == {о.. 02' Оз}' N == {N.. N 2 , N з }, S, Р == {S  Nl' N.  0.N\N 2 , N.  0'02 0 з' 02N2  02020з' oз N 2  N 2 0 з }. Порождаемый язык ЦС) == {о,по/озп, п  1}. 5.9. fрамматический анализ и автоматы в предьщущем параrpафе рассматривались формальные rpамматики и порождение с их помощью, начиная с начальноrо символа, языков или отдельных последовательностей, при надлежащих языкам. В этом параrpафе решим обратную задачу. Дана rpaмматика и некоторая последовательность. Требуется определить, принадлежит ли данная последовательность языку, порождаемому данной rpамматикой, или нет. rрамматика в этом случае ВЫС1)'Пает как средство распознавания последовательностей языка. Оrpаничимся случаем самой простой rpамматики  автоматной. Для распознавания последовательностей, порождаемых автоматными rpамматиками, может быть использована модель конечноrо автомата, рассмотренная в настоящей rлаве, поскольку меЖдУ автоматной rpамматикой и конечным автоматом имеется тесная связь. Суть этой связи состоит в том, что для любоrо языка, все последова тельности KOToporo порождаются не которой автоматной rpамматикой, может 130 
5.9. Fра.мматuческuй анШlU3 u автоматы быть всеrда построен конечный автомат (не обязательно детерминированный), реализующий все эти последовательности, и этот автомат может быть использован для распознавания последовательностей данноro языка. В модели конечноrо автомата, необходимоrо для распознавания последовательностей языка и называемоrо pacп03lUllOl/4llAC, удобно выделить из множества всех внутренних состояний подмножество F  В, состояния котороro называются фulUlA6RWAUI, и не использовать множество выходных состояний и функuию выхода. Распознающий автомат определяется следующим образом: м == (А, В, f, Ь о , Е), rде А == {а" a z ' ..., а)  входной алфавит; В == {Ь., b z ' ..., Ь,,}  внутренний алфавит (множество состояний автомата); /: А х В ----+ В функция переходов, записываемая так же, как /(а, Ь) == Ь., а Е А, Ь;, Ь, Е В; F  непустое множество финальных состояний, F  8. Количество финальных состояний выбирается из практических соображений, Мы офаничимся одним финальным состоянием bF. Начальное состояние ЬоЕ В. Будем полаrать, что Ь О == Ь\. Последовательности a.a z ... а; языка, порождаемоrо какойлибо автоматной tpамматикой, поступают на вход распознающеrо автомата. Если последовательность принадлежит языку, то автомат после подачи последнеro символа а; последовательности a.a z ... а; должен оказаться в одном из состояний множества финальных состояний. Если последовательность не ПРИНaдrIежит языку, то этоrо не произойдет, и этот факт используется для распознавания последовательностей, не ПРИНaдrIежащих языку. Распознающий автомат построим по распознающей rpaмматике следующим образом. Каждому нетерминальному символу  rpамматики сопоставим внутреннее состояние Ь,. , Каждому правил у N. ----+ aN. сопоставим дуry (переход) из состояния Ь в , J , состояние Ь по входному состоянию а. J Каждому правилу  ----+ а сопоставим дуry (переход) из состояния Ь; в состояние b F по входному состоянию а. Пример. Дана автоматная rpамматика G: А ::;: {ар a z ' а з }, N == {NI' N z ' N з }, S == NI' Р == {Н. ----+ a.N z ' N z ----+ a.N z ' N з  а з , N\  a.N з , N z ----+ a z }. Порождаемый язык L(G) == {а.а з } u {a."a z ' п <!: I}. S. 131 
5. Среды и языки Конечный автомат, распознающий язык L( G) (рис. 5.18): А == {а" 02' а)}, в == {Ь/, Ь 2 , Ь), Ь.}. f: ла р Ь.) == {Ь 2 , Ь)}. Лар Ь 2 ) == {Ь 2 }. /(Qi. Ь 2 ) == {Ь.}, /(0), Ь) == {Ь.}, Ь О == Ь" F == {Ь.}. Эrот простой конечный автомат не является детерминированным. Можно показать, что любой недетеРМИЩ1wванный конечный автомат может быть преобразован  эквивалентный детерминированный автомат или в систему эквивалентных детерминированных автоматов. Под эквивалентностью автоматов в данном случае понимается их способность распознавать одни и те же язки. Системы автоматов способны распознавать и более мощные языки, например, порождаемьщ контекстносвдными rpамматиками. Таким образом, модель конечноro iВToMaTa М,QЖет служить основой для распознавания достаточно широкоro класса языков. Учитывая это, модедь конеЧiюrо автомата может быть использована для создания areHToB, способных выполнять следующие функции. Распонавать язьiки (послеовательности, предложения, сообщения в этих языках), на которых описаны знания о среде, проверяя, таким образом, синтаксическую правильность представления знаний о среде. Конечный автомат, распознающий язык, на котором представлены знания о среде, может рассматриваться как некий эквивалент этой среды. В этом Рвс:. 5.18. rраф переходов распознаюшеro автомата 132 
5.10. ПерetJод с oдHOZO языка на друzой случае сocroяния автомата соответствуют состояниям средЫ, и автомат может быть использован areНТOM для поиска целевых состояний в пространстве состояний, как это было уже продемонстрировано ранее в настоящей rлаве. В том и дрyroм случае (распознавании и поиске цели), находя те или иные состояния, areHT может совершать определенные действия или вьщавать сообщения друrим areHTaM. Например, в случае распознавания действия MOryт быть направлены на перевод одних сообщений (последовательностей языка) в дрyrие. Рассмотрим на простейшем при мере, как это может быть сделано. 5.10. Перевод с одноro языка на дрyroй Рассмотрим на простейщем примере перевод с одноro языка на дрyroй. Исходный язык задан rpамматикой G: А == {а, +}, N =: {НI' Н 2 , N з }, S == NI' Р == {N. ----+ aN 2 , Н 2 ----+ !, N 2 ----+ +N з , N з ----+ aN 2 }, Применяя rpамматику G, получаем язык L( G) == {а( +а)"! , п  О}. Автомат, распознающий язык L(G), будет следующим: А == {а, +}, В == {ы' Ь 2 , ь з }' f: Ла, Ь.) =: {Ь 2 }, f( +, Ь 2 ) =: {Ь З }' Ла, Ь з ) =: {Ь 2 }, Л!, Ь 2 ) == {Ь 4 }, Ь О =: Ь., F =: {Ь 4 }. Рис. 5.19. rраф переходов автомата, распознаюшеro язык L( G) rраф переходов автомата показан на рис. 5.19. Рассматриваемый язык состоит из множества последовательностей, каждая из которых представляет сумму чисел, обозначаемых символом а. Символ «!') означает конец последовательности. Перед нами стоит задача перевода любой последо вательности в последовательность комаНд Поместить а; (поместить число а в сумматор), Сложить а; (добавить число а к содержимому сумматора), Прекратить (завершить процесс суммирования). Pac смотрим процесс перевода на примере, 133 
5. Среды и языки например, последовательности а + а + а!. Результатом перевода должна быть последовательность Поместить а; Сложить а; Сложить а; Прек.ратить. Проuесс перевода состоит из следуюших повторяюшихся шаrов. На автомат слева направо поступает очередной символ последовательности а + а + а! Если этот символ допустим для данноro языка, то автомат, воспринимая ero, переходит в какоелибо одно состояние автомата (в данном с.лучае автомат детерминированный). Если он не допустим, то выдается сообшение об ошибке. Состояние сопоставлено с некоторым действием, которое и выполняется. После этоro все повторяется для следуюшеro символа. Введем единственное элементарное действие Соединить (и, v) над последовательностями и, v. В результате выполнения этоrо действия получается новая последовательность uv. Проuесс перевода представим в виде таблиuы (табл. 5.2). В первом столбuе таблиuы указывается очередной символ, поступаюший на автомат, во втором столбuе указано состояние, в которое Таблиuа 5.2 Очередной . Состояние Действие Результат действия входной символ автомата Ь. и ==Поместить Ь 2 и == Соединить (и, а) и ==Поместить а а == Соединить( и, ;) и == Поместить а; и Ь] и == Соединить и ==Поместить а; + (и, Сложить) Сложить и == Поместить а; Ь 2 и == Соединить (и, а) Сложить а а и == Соединить(и, ;) и == Поместить а; Сложить а; == Соединить и == Поместить а; Ь] и Сложить а; + (и, Сложить) Сложить и == Поместить а; Сложить а; Ь 2 и == Соединить (и, а) Сложить а а и == Соединить(и, ;)) и == Поместить а; Сложить а; Сложит а; и == Поместить а; I Ь 4 и == Соединить Сложить а; (и, Пре"ратить) Сложить а; Пре"ратить 134 
Вопросы и упражнения автомат переходит в результате поступления очередноro входноro символа, в третьем столбце указаны действия, соответствующие состоянию и, наконец, в последнем столбце указан результат каждоro действия. Вопросы и упрaJКllеИИJI 1. Дайте формальное определение конечноrо инициальноrо детерминированноrо автомата. 2. Почему автомат называют конечным и как это проявляется в определении? 3. Почему ero называют инициальным и как это проЯВJIяется в определении? 4. Почему ero называют детерминированным и как это ПРОЯВJIЯется в определении? 5. Вспомните, что такое язык и объясните, почему множество BXOДOBЫXOДHЫX последовательностей в настоящей rлаве называют языком. 6. Что такое реализация ЯЗыка автоматом? 7. Какими свойствами должен обладать язык, чтобы ero можно было реализовать в инициальном детерминированном автомате? 8. Дайте определение отношения эквивалентности R на множестве ВXOДOBЫXOДНЫX последовательностей, реализуемых автоматом, и объясните, как это отношение может быть использовано для минимизации числа состояний автомата. 9. В чем cyrb, связь, различие между алrоритмами сокращения числа состояний автомата по множеству последовательностей с помощью проверки отношения Я, детерминизации по множеству ПOCJlедовательиостей, детерминизации по множеству состояний? 10. Нарисуйте простой rраф переходов инициальноrо детерминированноrо конечноrо автомата. 11. Постройте инициальный детерминированный автомат по множеству последо вательностей S == (ес\, а,с\, D а,а,с.. D.DID.D,{;.. D 2 D 2 C i , а,а,с 2 , а 2 с 2 , й 2 й 2 й 2 с 1 ), выразите в виде аксиом условия перехода каждоrо состояния в дрyrие состояния, а в ВИде теоремы условие детерминированности автомата. Докажите теорему методом резолюции. 12. Постройте инициальный детерминированный автомат по множеству последо вательностей S == {ес\, а.с\, DtDJD,C" а,а,а,о.с.. а 2 а 2 с.. й.й.С 2 , а2С2' а 2 а 2 а 2 с 2 , а,а.а.а 2 с 2 , й.й 2 С 2 , а 2 а 2 а,с р й 2 й 2 й 2 а.с 2 ). минимизируйте число ero состояний методом детерминизации. '. 
6. СТРАТЕrии ПОИСКА . ., в этой zлаве nроанализupoваны различные cmpamezuu, с помощью которых можно QCуществмть поиск целевых состояний. Во второй rлаве рассматривались понятия, используемые при постановке и решении задачи в пространстве состояний, в частнрсти бьто введено онятие вывода ДЛЯ нахОЖдения цели, Вывод не является однозначным и после очередноro шаra приходится определять, какой же следующий шar целесообразно сделать, чтобы поскорее достичь цели. Очередной шаr зависит от тoro, какая С1ратеrия вывода выбрана. Понятие BЫВOД» обычно используют вместе с .той или иной лоrической системой; понятие «поиск»  безотносительно к какой либо лоrической системе. В настоящей rлаве описаны некоторые стратеrии поиска, иллюстрируемые простым и примерами из области нахождения подходящеro маршрyra. Нanомним некоторые ранее определенные понятШI и введем ряд новых. Состояние (или состояния) среды, с Koтoporo areHT начинает решение задачи, называют HO.,lUbH6lJtI состоянием. Соответственно множество всех состояний, достижимых из начальноro с помощью всех допустимых пОСАедовотеАъностей действий, называют простронством состОllний и обозначают В. Последовательность вершин, ведущих из начальноrо состояния в дрyrое в данном пространстве состояний, называют путем. Длиной пyrи называют количество вершин на этом пyrи. Процесс нахождения целевоrо состояния (состояний) называют cтpoтe zueii поиско цели, или поиском цели. AreHT, являющийся исполнителем той или иной стратеrии, должен действовать таким образом, чтобы при анализе состояний среды максимизировать свой успех. Эrо требование носит слишком общий характер, чтобы ero МОжно было непосредственно воплотить в конкретную стратеrию. Рассмотрим сначала, какие оценки MOryr характеризовать успех. 136 J 
6.1. Оценки успеха при поиске цели 6.1. Оценки успеха при поиске цели Оиенки успеха, характеризующие эффективность поиска, MOryт быть самыми различными. Будем полаrать, что оценка успеха является положительным числом или нулем и чем больше ЧI1СЛО, тем успешнее дейстьует ateHT. Тоrда самая очевидная оиенка ......:... это возможностъ iJocтllЖt!НU иели вообше. Эта оиенка носит двузначный характер: например, она принимает некоторое максимальное значение, если иель достижима, и минимальное в противном случае. Друraя оиенка может быть иеной пyrи, вычисляемой с ПОМQщью функиии иены пyrИI Третья оценка может быть 1feНO" nOllCКII, характеризующейся объемом необходимыхдля поиска времени и памяти. Наконеи, еше одна. щенка успеха может быть о6l1Се" чено';., являющейся некоторой функиией. от иены пyrи и иены поиска. Цена поиска зависит от мноrих обстоятельств. Так, например, если areHT сильно стеснен во времени, то иена поиска может быть пропорииональна времени, затрачиваемому на поиск. Общая иена может зависеть от пройденноrо расстояния и затраченноro-на поиск времени. Вычисление общей цены непростая задача, поскольку выбор пyrи,. а следовательно, и ПРОЙденное расстояние MOryт определяться временем, затраченным на поиск. Чем меньше времени по:rрачено на поиск, тем дальше ОТОПТtlМальноro М0жет оказаться выбор пyrн. З.ач!;\стую в этих у.СJJOВИ прщюда.,тся идти на некий компромисс, далекий от оптимальноro решения. CтplllnellUllUJllCKa pa:vlичаются последовательностью или порядком просмотра состояний или множеств состояний в пространстве всех состояний среды. Стратеrии поиска в пространстве состояний обычно сравнивают по ряду критериев. Основными критериями являются следуюшие. ПОJlнотll: стратеrиЯ является IIOЛ1iОй. при условии, что она всеrда обеспечивает нахожаение решения (иелевоro состояния или состояний), если оно вообще существует в данном пространстве состояний. иожност. по Вpe,rtUШIl: время, необходимое. для нахождения решения. Uoжностъ по 1UlJtIJIтIl: объем памяти, необходимый дЛя решения задачи. OпmaмllAbHOCmt: стратеrию назЫВШ<)Т оптимальной при УСЛОЩIИ, что она обеспечивает нахождение рещения, Которое может не быть наилучшим, но известно, что оно принадлежит некоторому классу или подмножеству, все элементы KOТOporo обладают неким общим СВОЙСТВОм (или свойствами), соrласно которому Мы их относим к оптимальным решениям. M""rиuиЫloe",.:. стратеrия является минимальной, если она raрантирует нахо:ждe.tiе наилучшеro решения. Минимальность, такцм образом,.является частным и более сильным случаем оптимальности, Стратеrии поиска разбивают на две БОЛЬUJие rруппы: САепо" поиск и lUlпjНIue,u,61il поиск. Различие между слепым и направленным ПОИСКОм можно продемонстрировать на следуюшем простом примере. Представим себе, что arem приехал в Россию по 1УРисТической пyreвке с иелью совершить пyreществие по золотому кольцу России. Ero самолет сел в аэропорту Шереметьево. . 137 
6. Cmpamezuu поиска Обратный вылет тоже из Шереметьева. Пyreшествие по золотому кольцу areHT совершал на автобусе. Посетив все roрода золотоro кольua, areHT самостоятельно поехал в близлежащий roрод Иваново, rде задержался и отстал от аIЛ"обуса. В отличие, например; от Ярославля, Иваново не имеет прямой а,втострады, соединяющей, ero с Москвой. У areHтa есть обратный билет на самолет С.датой вылета на следующий день, билет не может быть продлен, да к тому же обратных билетов вообще нет на ближайшие две недели. Срок визы также заканчивается через два дня. Orправляяс'ь в поездку, areHT ставил перед собой, помимо туристических, несколько друrих целей: улучшить знание русскоro языка, завязать полезные деловые контакты, написать несколько пейзажей с видами русской при роДЫ и Т.п. Но, учитьmая серьезность ситуации, rлавной ero целью теперь стало вовремя добраться до аэропорта Шереметьево, не опоздав на свой самолет. После формулировки rлавной цели areHT может принимать во внимание и дрyrие факторы, влияющие на ее достижение. Прежде всеro, следует решить, что мы будем понимать под действиями и состояниям.и. Если бы вдрyr нам пришло в roлову в качестве действий выбрать такие, как «повернуть руль на 10 [радусов» или «продвинуться вперед на 1 Meтp, то решение задачи на таком уровне детализации стало бы практичесКи нерарешимой задачей. В нашем tлучае в качестве действий лучше всеro выбрать переезд из OllHOro roрода в дрyroй, а в качестве состояний нахождение areHтa в том или i1HOM населенном пункте. Целевым состоянием' в этом случае будет нахождение areHTa в аэропорту Шереметьево (в Москве). Поиск будет слепым, если areHT не имеет никакой информации о дороrax, ведущих из Иванова в друrие roрода, и будет перебирать все дороrи подряд. И наоборот, ero поиск станет направленным, если он ознакомится с картой, увидит, что Москва лежит на юrозападе от Иванова, и будет пытаться выбиратьдороrи, ведущие в юroвосточном или близком к нему направлении. 6.2. Слепой поиск .' 6.1.1. ПОИСК в ширину Одна из самых очевидных стратеrий поиска называется пOIlCKOJN . IlUl.]JIIHY, Поиск начинается с корневой вершины, определяются все последователи корневой вершины, затем все последователи каждоro из последователей корневой вершины, далее все последователи каждоro из последователей, найденных на преды.дущем шаrе, и т,д. до тех пор, пока не будут найдены все вершины, соответствующие целевым состояниям. Соrласно этой стратеrии, вершины rлубиной k ищутся после тoro, как будут найдены все вершины rлубиной k 1, На рис, 6. I показана последовательность нахождения 138 
6.2. . Слепой поиск @ Рвс. 6.1. Деревья поиска в ширину при 1== 2: нулевая вершина (дерево rлубиной k == О), дерево после нахождения последователей нулсвой вершины (дерево rлубиной k ==1), дерево после нахождения последователей первой вершины, дерево после нахождения последователей второй вершины (дерево rлубиной k == 2) вершин при поиске в ширину и при числе последователей каждой вершины, равном 2. При поиске в ширину сначала рассматриuaются все пути, длина которых равна 1, затем длиной 2 и т,д. Очевiшно, что поиск в ширину удовлетворяет критерию полноты и минимальности, поскольку в процессе этоrо поиска рассматриваются все пути, ведущие из начальной вершины (состояния) во все остальные. Оценим время и память, затрачиваемые в процессе поиска в ширину. Будем полаraть, что число последователей каждой вершины равно /. Тоrда в начале поиска в ширину мы имеем одну начальную вершину, затем / последователей, потом /2 последователей и Т.д. В общем случае при rлубине дерева поиска, равной k, число вершин, изучаемых в процессе поиска, равно I + / + 12+ 13+ ...+ /". При конкретных значениях / и k по ЭТОй формуле можно вычислить максимальное число вершин дерева поиска, которое может быть tlОлучено в процессе поиска в ширину. Естественно, решение можно найти раньше, чем будут найдены все последователи. Однако для некоторых задач эта величина может быть достиrнута. Обычно вместо этой формулы употребляют ее обозначение в виде 0(/"), которое называют зкспонеНЦlllUЪНОй оценкой САо:жностll. Если полаraть, что получение каждоro последователя требует одной единицы времени, то 0(/") является оценкой сложности по времени. В процессе поиска в ширину каждая вершина дерева должна сохраняться до получения требуемоro решения. Если полаraть, что для этоro сохранения требуется единица памяти, то та же формула является одновременно и оценкой сложности по памяти для поиска в ширину. L 139 
6. Cmpaтei!UU поиска Посмотрим, что это будут за величины при 1 == 10 ДЛЯ различных значений k (табл. 6.1), Предполаrается, что 1000 вершинпоследователей MOryт быть получены за 1 с, и что одна вершина требует 100 байт памяти. Эти значения соответствуют средним затратам времени и памяти, требуемым ДЛЯ решения мноrих иллюстративных задач типа roловоломок, Из табл. 6,1 можно сделать два важных вывода. Вопервых, рост требований к памяти ДЛЯ решения задач поиском в ширину roраздо более серьезная проблема, чем рост требований ко времени решения тех же задач. Так, например, вполне приемлемо подождать решения задачи в течение 18 мин при / == 6, но необходимость наличия 111 Мбайт памяти д1Iя решения таких сравнительно простых задач кажется слишком высокой ценой. BOBTOPЫX, для задач, в которых 1  10, помимо катастрофическоro увеличения требований к памяти, наблюдается стремительный рост. временных затрат, не позволяющий решать реальные задачи с помощью поиска в ширину даже на современных мощных компьютерах. Это привопи'f К С"лепующему заключению: Стратеrии поиска, имеющие экспоненциальные оценки сложности решения задач по времени или памяти, в частности стратеrия поиска в ширину, нельзя использовать ДЛЯ решения задач большой размерности, Т.е. задач, у которых I  10. 6.2.2. МОНОТОIDIЫЙ ПОИСК в mирину Поиск в ширину обеспечивает нахождение целевоro состояния, находящеrося на минимальной rлубине дерева поиска. Однако минимальность цены пути при этом не raрантируется. Монотонный поиск в ширину является некоторой модификацией поиска в ширину, заключающейся в том, что в процессе поиска в ширину всякий раз, коrда определяется очередная вершинапослепователь, одновременно вычисляется цена пути, ведущеrо в эту вершину. Эта цена пути Таблица 6,1 rлубина дерева Количество Требуемое для Требуемая для вершин поиска время поиска память О 1 1 миллисекунда 100 байт 2 III 0,1 секунды I1 килобайт 4 H.III 11 секунд 1 меrабайт 6 1()6 18 минут I11 меrабайт 8 lOН 31 час 1I rиrабайт 10 1010 128 дней 1 терабайт 12 1012 35лет 111 терабайт 14 IO' 3500 лет II1II терабайт 140 "\. 
6.2. Слепой поиск используется для оценки целесообразности поиска вершин, продолжаюших данный пyrь, сравнением с друrими, уже полученными ценами пyrей. Если цена данноro пyrи меньше цен всех этих пyrей, то поиск Ьершин на этом пути продолжается. В противном случае поиск вершин на этом пути откладывается, а продолжается поиск вершин на пyrях, цена которых меньше данноro. Коrда на какомлибо пyrи будет достиrнyra целевая вершина, поиск на пyrях, цена которых выше цены этоro 'пути, вообще прекращается, Все пyrи, имеющие одинаковую минимальную цену пyrей, ведущих в целевую вершину, являются решением задачи. Вернемся к задаче поиска пyrи из Иванова в Москву. На рис. 6. 2, б схематически показана карта участка дороr, ведущих из Иванова в Москву. Каждая из дороr, ведущих из одноro пункта в друrой, снабжена ЧИСЛОвой оценкой действия. На рис. 6, 1, а показана последователЬНость MOHoТoHHOro поиска в ширину. Каждая из вершин помечена uеной nyrM, ведущеro в эту вершину.  а Ростов б Рис. 6. 2. Задача нахождения маршрyrа из Иванова в Москву: а  порядок MOHOTOHHOro поиска в ширину. Каждая вершина помечена ценой пyrи, ведущим в нее из начальной вершины (снаружи вершины) и номером ее получения в процессе поиска (внyrpи вершины). На последнем шаrе MOHOTOHHOro поиска в ширину найдена целевая вершина с ценой пyrи, равным 10; б пространство состояний, иллюстрирующее цену действий, соответствующую . участкам пyrи между rородами 141 
6. Страте2ии поиска 6.2.3. ПОИСК в rлубину При по.ске в иy6fиty, начиная с корневой вершины (корневая вершина находится на уровне J), рассматриваются все инцидентные ей вершины уровня 2, начиная слева направо. Если удается найти среди них все целевые вершины, то на этом поиск прекрашается, Если среди них не удается найти .все целевые вершины, а максимальная rлубина дерева еще не достиrнyra, то берется самая левая вершина уровня 2 и рассматриваются все инцидентные ей вершины уровня 3 слева направо. Если после этоro все целевые вершины все еще не найдены, то берется самая левая вершина из уровня 3. Затем снова рассматриваются все инцидентные ей вершины уровня 3 слева направо и так до тех пор, пока либо не будут найдены все целевые вершины, либо достиrнyra максимальная rлубина дерева, на которой в соответствии с рассматриваемой процедурой просмотрены все вершины, инцидентные самой левой вершине предьщущеro уровня, и все целевые все еще не найдены. В последнем случае осуществляется подъем по дереву на один уровень вверх, выбор на этом уровне самой левой вершины, инцидентные которой вершины следуюшеro уровня еше не рассмотрены, и поиск дальше среди целевых вершин по тому же принципу. И так до тех пор, пока все вершины дерева не будут рассмотрены. На рис. 6.3 показана последовательность поиска в rлубину для дерева с тремя уровнями и степенью ветвления 2. Вершины на этом рисунке пронумерованы в соответствии с последовательностью их просмотра. o л , 142 Рис. 6.3. Стратеrия поиска в rлубину 
6,2. Слепой поиск Требования к объему памяти при поиске в rлубину сушественно меньше, чем при поиске в ширину. Как видно из рис. 6. 3, в памяти необходимо хранить все вершины, инuидентные вершинам на пути из корневой вершины к любой друroй, соседние вершины которой рассматриваются. Очевидно, что при степени ветвления 1 и rлубине дерева k оценка сложности по памяти при поиске в rлубину равна O(/k). Оиенка сложности по времени д1Iя поиска в rлубину остается такой же, как и при поиске в ширину, а именно O(lk). Для задач, дерево поиска для которых конечно, а число uелей сравнительно невелико, поиск в rлубину может оказаться эффективным, так как имеет шанс найти это небольшое число uелей без просмотра всех вершин. для задач, имеюших большую или даже бесконечную rлубину дерева, поиск в rлубину может оказаться крайне неэффективным, так как будет стремиться все время в rлубину, в то время как uель может оказаться близкой к корню дерева, но на том пуrи, который еше не был просмотрен. Поиск же все время уходит вниз и в случае бесконечной rлубины дерева может никоrда не вернуться назад к просмотру вершин, среди которых находятся uелевые. Вследствие этоrо следует избеraть использования поиска в rлубину для решения задач с большой или бесконечной rлубиной дерева. Поиск в rлубину, таким образом, нельзя считать ни полным, ни оптимальным, 6.2.4. Оrpаниченный ОО"СI[ в rлубину Ozpa"u.,e"H6IU поиск tI zлу6инуявляется частным случаем поиска в rлубину. При этом поиске используется оrpаничение на rлубину поиска. Например, при поиске маршрута из Иванова в Москву при наличии информации о числе населенных пунктов, которые MOryт встретиться на этом пути, rлубину поиска можно оrpаничить числом ЭТих населенных пунктов. При оrраниченном поиске в rлубину, как только достиrается уровень, совпадаюший с этим числом, происходит возврат назад так же, как это делается при обычном поиске в rлубину. Оrpаниченный поиск в rлубину полный, если оrpаничение на rлубину поиска выбрано таким образом, чтобы обеспечить просмотр всех вершин дерева. Оuенки сложности по времени и памяти при оrpаниченном поиске в rлубину те же, что и при обычном поиске в rлубину. 6.2.5. ИтераТIIВIIWЙ ооиск в rлубину При оrpаниченном поиске в rлубину сложность поиска зависит от выбора оrраничения. Например, при поиске маршрута можно использовать не число всех населенных пунктов в районе поиска подходяшеrо маршрута, а максимальное число населенных пунктов, которые MOryт встретиться на каждом из возможных маршрутов. Эrо число называют обычно радиусом пOIlCКQ. Знание радиуса поиска приводит к более эффективному оrраниченному поиску в rлубину. Однако в большинстве задач радиус поиска не известен до тех пор, пока задача не будет решена. Итеративный поиск в rлубину использует стратеrию, основанную на итеративном применении оrpаниченноrо поиска в 143 
6. Cmpamezuu поиска G) @Л @')5( /: Iл o 0 6 7 6 7 8 9 10 11 @) л Л' Рис. 6.4. Итеративный поиСк в шубину rлубину сначала для радиуса поиска, равноro О, затем 2, после этоro 3 и т.Д. Четыре итераuии тaKoro поиска для бинарноro дерева иллюстрирует рис, 6. 4. ИmeрllтиВН6Iii поиск в zлу6ину может показаться очень неэффективным, поскольку некотор,ыle вершины просматриваются мноroкратно, Однако ДЛЯ мноrих задач подавляющая доля вершин находится на низком уровне. Напомним, что оиенка сложности по времени при оrpаниченном поиске в rлубину вычисляется по формуле О(Р) == 1 + / + [2 +.... + /k2 + /k1 + /k. Например, для / == 10, k == 5 будем иметь O(/k) == 111111. При итеративном поиске на rлубину k верщины rлубины k просматриваются один раз, rлубины k 1  два раза, rлубины k2  три и т.Д. Корневая вершина просматривается k + 1 раз. Таким образом, оценка сложности по времени при итеративном поиске в rлубину вычисляется по формуле O(/k) == (k + 1) /0 + (k) /1 + (k 1) [2+ ,... + 3 /И + 2 /k1 + 1 /k. Для / == 10, k == 5 будем иметь O(/k) == 123456. По сравнению с оценкой сложности по времени для оrpаНИченноro поиска в rлубину слоЖность по времени ДЛЯ итеративноro поиска в rлубину возросла только на 11 %, Из формулы, приведенной выше, видно, что чем выше степень ветвления, тем ниже доля сложности, получающейся за счет повторноro просмотра вершин. Но даже для случая, коrда / == 2, сложность по времени итеративноro поиска в rлубину только в два раза превосходит сложность по времени простоro поиска в rлубину. ЭТо означает, что оценка сложности по времени 144 
r I 1 6.3. Направленный поиск итерационноro поиска в rлубину попрежнему равна О(/Ао), а сложность по памяти  O(/k). Итеративный поиск в шубину достаточно хорошо себя зарекомендовал для задач с большим пространством поиска и неизвестой ею шубиной. 6.2.6. двунаправлеllllый поиск Идея двунаnраВАеННОlО поиска основана на использовании cpy двух стратеfИЙ  прямоro поиска от корневой вершины и обрarноro от целевой вершины. Процесс поиска прекращается, Korдa оба этих процесса встретятся на середине шубины. Если считать, что степень ветвления при прямом и обратом поиске одинакова, то оценка сложности по времени двунаправленноro поиска будет 0(2/k/2) == 0(/k/2). Эra оценка сушественно лучше, чем аналоrичная для рассмотренных стратеrий поиска. Однако все это в идеале, Т.е. при условии, что цель только одна, степень ветвления и сложность нахождения последователей и предшественников одна и та же. При решении практических задач, однако, это условие может нарушаться. Кроме этоro MOIyr возникать и дрyrие проблемы. Например, установление факта появления одной и той же верlШlНЫ в той И дрyroй половине поиска может пorpeбoвать значительных усилий и составиrь значиreльнyю долю сложности. Если все ЭIИ проблемы можно решить за постоянное время, не зависящее от числа вершин, то оценка сложности по времени двунаправленноro поиска останется равной 0(/k/2). 6.2.7. Срuнение C'Ip81'end поиска Характеристики шести рассмотренных стратеrий, [де /  степень ветвления, k  шубина поиска, d максимальная шубина дерева поиска, r  оrpаничение на шубину поиска, сведены в табл. 6.2. Таблица 6.2 Поиск КРИIfeРИИ В Монотонный .В Оrpани Итера Двyнa rлубину ченный тивный правлен ширину в ширину в rлубину в rлубину ный Время [k [k i'I " [k lk/2 Память [k [k i'I " [k lk/2 Оптималь Да Да Нет Нет Да Да ность Полнота Да Да Нет Да, Да Да если r k 145 
6. Cтpaтezuu поис"а 6.3. Направленный поиск Как бьulO показано В предыдущем ра:щеле, все стратеrии слепоro поиска обладают экспоненциальными оценками сложности по времени поиска, а некоторые и по памяти, и, вследствие этоrо, приrодны для решения сравнительно небольших задач. В стратеrиях слепоrо поиска знания, используемые при выборе очередной вершины, определяют ТОЛько общий порядок выбора и никак не учитывают качество выбора, например, по сложности поиска целевой вершины. В стртеrиях направленноro поиска знания, используемые для выбора очередной вершины, более rлубокие и используют специальные функции, называемые крuтерШIJНU. Если для каждой вершины Ь, участвующей в поиске, критерий может быть вычислен, а множество всех вершин упорядочивается по этому критерию, то выбор очередной вершины производится в соответствии со значением этоro критерия. Чем лучше значение критерия (например, выше или ниже), тем предпочтительнее выбор. Иными словами, из множества альтернативных вершин выбирается та, для которой критерий имеет наилучшее значение. Поэтому стратеrии выбора подобноro типа называются стратеfИЯМИ выбора по наилучшему критерию. Критерии обычно выбираются таким образом, чтобы оптимизировать сложность поиска, найти оптимальное решение или достичь Toro и друrоro. В настоящем разделе рассмотрим некоторые страТеrии направленноrо поиска, при котором используются дополниreльны знания о среде, позволяющие понизить сложность поиска. Рассмотрим, как осуществляется напраМеННЫЙ поиск при решении оптимизационных задач. 6.3.1. Поиск по криreрию блИЗOC'Пl к цели Критерием близости к цели обычно является числовая функция h(b)  О, вычисляемая для вершины Ь и характеризующая близость этой вершины к целевой. При использовании критерия близости к цели, начиная с корневой вершины, просматриваются все соседние ей вершины, выбирается та, для которой h(b) минимальна, и все повторяется вновь для выбранной вершины. И так до тех пор, пока не будет достиrнута целевая вершина, для которой h(b) == О, Т.е. выбирается та вершина, которая ближе Bcero находится к цели. Вид критерия близости. к цели зависит от средЫ (является проблемно зависимым). Чтобы получить достаточно полное представление об этом критерии, вернемся к задаче поиска маршрута из Иванова в Москву. Критерием выбора в этом случае будет минимальное расстояние по прямой (кратчайшее расстояние) от вершины (населенноro пункта) до Москвы. Естественно, чтобы значение критерия моrло быть вычислено, необходимо иметь карту или какойлибо друroй источник информации, содержащий сведения о кратчайших расстояниях от населенных пунктовдо Москвы. Нарис. 6. 5 показана последовательность поиска по критерию близости к цели для примера с поиском маршрута из Иванова в Москву, использованноro при рассмотрении MOHOТOHHOro поиска в ширину. 146 
6.3. Направленный поиск o Иваново Владимир 1 3 ЮрЬев--Польский h = 180 h = 140 Владимир 1 h= 76 h=2ЗО h=52 h=O Рис. 6.5. Поиск по критерию близости к цели На первом шаrе вычисляется кратчайшее расстояние от корневой вершины (Иваново) до Москвы (h = 230). На втором шаre просматриваются все вершины (rорода), в которые ведет дороrа из Иванова и вычисляется кратчайшее расстояние h от этих rородов до Москвы. По этому критерию ближайшим по прямой до цели (Москвы) оказывается ЮрьевПольский (h = 140). На третьем шаrе просматриваются все вершины, в которые ведет дороrа из Юрьева 147 
6. Cmpaтezuu поиска Польскоro. Для них снова вычисляется кратчайшее расстояние h до Москвы. Кратчайшим оказывается расстояние от Киржача (h == 76). Наконеи, на последнем шаrе вновь просматриваются все вершины, в которые ведет дороrа из Киржача, а также вычисляется кра1'lайшее расстояние до этих rородов. Среди этих rородов оказывается rород с кратчайшим расстоянием h == О, Т.е. uелевая вершина (Москва). На этом поиск по критерию близости к uели завершается. Поиск по критерию близости к uели является поиском в rлубину, но с выбором на каждом шаrе единственной вершины, от которой начинается следующий шаr. Недостатки этой стратеrии те же, что и для слепоrо поиска в rлубину, а именно, она неоптимальная и неполная, поскольку может случиться, что поиск пойдет по бесконечному пути и никоrда не вернется назад. Оценка сложности по времени этой стратеrии поиска равна 0(/"), rде d  максимальная rлубина пространства поиска. При поиске по критерию близости. к цели приходится хранить все вершины, рассматриваемые при поиске. Поэтому оиенка сложности по памяти для этой стратеrии та же, что и оценка сложности по времени. Если критерий близости к uели выбран достаточно удачно, то сложность поиска может быть существенно уменьшена. 6.3.2. Поиск по критер8lO цеиw пути (А *  поиск) Обозначим g(b)  критерий иены пути из корневой вершины в вершину Ь, а h(b)  уже рассмотренный критерий близости к uели. Пустьоба критерия имеют одну и ту же размерность. Функuию ЛЬ) == g(b) + h(b) можно считать критерием цены пути из корневой вершины в uелевую. С помощью этоro критерия можно находить пути с минимальной uеной. Рассмотрим стратеrию поиска на основе этоrо критерия и покажем, что она будет полна и оптимальна, если ввести небольшие оrpаничения на критерий h(b). Идея этоro оrpаничения состоит в том, чтобы выбирать критерий h(b) таким образом, чтобы не переоuенивать близость к uели, Т.е. не выбирать значение h(b) меньше, чем оно есть на самом деле. Критерий h(b), выбираемый таким образом, называется дoпycтll.мыJN. Стратеrия поиска, использующая критерий ЛЬ) и допустимый критерий h(b), известна как,.4"  поис". Критерий близости uели h(b), использованный в примере С поиском маршрута из Иванова в Москву, является типичным примером допустимоrо критерия, поскольку не может быть пути из одноro населенноrо пункта в дрyrой короче, чем кра1'lайший путь. На рис. 6. 6 показаны первые четыре шаrа поиска пути из Иванова в Москву с использованием критерия ЛЬ) в A. поиске. Заметим, что в результате этоro поиска, в отличие от поиска только по критерию близости к uели, paCCMoтpeHHOro в предьшущем разделе, выбран путь к Москве не через Юрьев Польский, а через Владимир, хотя ЮрьевПольский ближе к Москве, чем Владимир. Такой выбор объясняется тем, что иена пути g(b) от Иванова до ЮрьеваПольскоro выше, чем до Владимира вследствие очень плохой дороrи. Дальнейший выбор маршрута можно проследить по рисунку, rде на любом пуш от корневой вершины значение критерия ЛЬ) ниrде не уменьшается при переходе к рассмотрению очередной вершины. Это не случайность и справеД1Iиво 148 
6.3. Направленный поиск o Иваново f=0+230 = =230 Владимир з Юpt.евПольский f =150+180 = f = 200+140 = = 320 = 340 f = 100+164 = =264 з К)РЬ88ОЛЬСКИЙ f:: 200+140 = =340 f .-200+230 = =430 f"" 350+0 = ;;;350 Рис. 6.6. Поиск по критерию цены пyrи (А*  поиск) почти для всех допустимых критериев h(b) близости к цели. Критерии/(Ь), для которых имеет место подобное свойство, называются монотонными. Если монотонность нарушается, то пyreм незначительной коррекции это нарушение может быть устранено. Рассмотрим, например, пару веРШИН Ь, Ь', rде Ь предшественник, а Ь' 7" последователь. Предположим, что g(b) :::: 3, h(b) == 4. Тоrда /(Ь) == 7, Т.е. цена пyrи через вершИНу Ь самое меньшее равна 7. Предположим также, что g(b') == 4, h(b') == 2, Т.е. /(b')/== 6 . Ясно, что в Э1'ом случае критерий /(Ь) Не является .монотонным. }q счастью, блаroдаря тому, что любой пyrь через 11 является также пyreм з Ь, цена пути /(11) == 6 является бессмысленной. Поэтому каждый раз, как рассматривается какая либо вершина Ь' и оказывается, что ее цена пyrи /(11) < ЛЬ), мы полаraем, что ЛЬ') == /(Ь), Т.е. ЛЬ') ::; max ([(Ь), /(Ь'». Таким способом немонотонность может быть всеrда устранена, и критерий ЛЬ) иикоrда не будет уменьшаться вдоль одноro и тоro же пyrи при условии, что h(b) допустимое. Если же /(Ь) никоrда не уменьшается вдоль одноro и TOro же пyrи, начинающеrося от корневой вершины, то на пространство СОСТОЯНИЙ можно наложить контуры, каждый из которых охватывает множество вершин 'Ь, для которых значение критерия /(Ь) меньше определенной величины. с. Процесс поиска можно представить как переход 149 
6. Cmpamezuu поиска от просмотра еще не просмотренных вершин какоrолибо BHyтpeHHero контура, для всех вершин Ь , KOToporo имеет место ЛЬ.) s; C 1 ' К просмотру вершин HeKoтoporo внешнеro контура, пля всех вершин Ь 2 KOTOpOro имеет место ЛЬ 2 ) s; С 2 и С. < С 2 . Это продолжается до тех пор, пока внутри очередноro контура не окажется целевая вершина с h(b) == О. При удачном выборе критерия ЛЬ) контуры как бы растяrиваются в сторону целевой вершины, фокусируясь BOKpyr оптимальноrо пути. Обозначим с* иену оптимальноro пути. Torдa можно утверждать следуюшее: A* поиск просматривает вершины с ЛЬ) s; с*. A* поиск осушествляет направленный просмотр вершин, стремясь к просмотру вершин контура, для которых имеет место ЛЬ) == С*, Решение, получаемое с помошью A* поиска, является оптимальным, поскольку находится вершина с максимальным значением f(b), а следовательно, и максимальным g(b), так как h(b) == О. A* поиск является также полным, поскольку увеличивая постепенно значение критерия ЛЬ), мы должны, в конце кониов, найти путь к целевой вершине. Заметим также, что для данноro критерия ЛЬ) не существует никакой друroй процедуры поиска, которая давала бы более оптимальные решения, чем A* поиск. Все эти утверждения требуют более строrих доказательств, которые мы здесь не приводим. Оиенки сложности по времени и памяти для A* поиска аналоrичны оценкам для поиска по критерию близости цели. На идее A* поиска построено MHOro дрyrих методов поиска, учитывающих особенности конкретной среды, которые влияют на выбор критериев, и различные оrраничения, например по доступным ресурсам (времени выполнения и доступной памя.ти). 6.3.3. Оптимизирующий иreративный поиск Во MHorux задачах поиск целевоrо состояния (состояний) в пространстве состояний ставится как задача нахождения TaKoro состояния (состояний), которое.В определенном смысле наилучшее (оптимальное), При этом не имеет особоro значения цена пути нахождения цели, если эта цель может быть достиrнyrа за приемлемые затраты времени и памяти. Идея отимизирующеrо итеративноrо поиска станет понятной, если полаraть, что состояния  ЭТО точки на поверхности HeKoToporo ropHoro ландшафта. Чем выше точка находится над уровнем моря, тем лучше (оптимальнее) состояние, которое она представляет. Точки, соответствующие пикам, являются оптимальными точками. Задачей оптимизирующеrо итеративноrо поиска является такой порядок просмотра точек, или иначе такое движение по поверхности ландшафта, при котором в коние кониов достиrаются (находятся) оптимальные точки. Имеется большое разнообразие процедур оптимизирующеrо итеративноro поиска. Одной из таких процедур является rpадиентный поиск. Рассмотрим суть ЭТОЙ процедуры. Идея rpадиентноrо поиска чрезвычайно проста  двиraться в направлении подъема вверх, начиная с HeKoToporo начальноrо состояния. Дерево поиска не хранится, а сохраняется только последнее наЙденное состояние Ь и оценка 150 
Вопросы и упражнения ero качества ЦЬ). Если попадаются несколько состояний с одинаковой оценкой качества, то, как правило, выбираerся одно из них. rрадиентный поиск в чистом виде обладает тремя известными недостатками. Если вершин несколько, то поднявшись на одну из них, процесс поиска остановится, полаraя, что цель достиrнyra, хотя достиrнyraя вершина ЯWIЯется вcero лишь Аоltшьным Oптll.ltlYJtlOJtl и далека от наилучшей. Если ландшафr имеет плато, то процесс поиска по нему становится случайным. Если ландшафr имеет rpебни (хребты) со слабым наклоном, то леrко достиrнув rpебня, процесс поиска может очень долю идти по rpебню, пока не достиrнет оптимальной вершины. После остановки процесса rpадиентною поиска начинается следующая итерация с дрyroю начальною состояния, Найденное оптимальное состояние сохраняется до тех пор, пока не будет найдено лучшее. этот итеративный процесс поиска осуществляется конечное число раз или пока не будет найдено устраивающее решение. Ясно, что если провести достаточное число подобных иreрациЙ, то dIПИМальное решение, в конце концов, будет наЙдено. Успех rpадиеlПНОro поиска сильно зависит от вида пространства состояний. Если число локальных минимумов невелико, то оптимальное решение будет найдено сравнительно быстро. Процедуры rpадиентноrо поиска MOryr отличаться способом выбора очередной вершины в процессе подъема на вершину, выбором очередной вершины для новой итерации и Т.Д. Вопросы н упражнения 1. В чем состоит rлавное отличие между слепым и направленным поиском? 2. Каковы критерии качества стратеrий поиска? З. Что такое сложность поиска? 4. Какие оценки сложности поиска чаще Bcero используются? 5. Выберите начальное состояние, целевое состояние, действия и цену действия для каждой из следуюших задач (расскажите, какую стратеrию вы примените для решения каждой из них): а) найдите телефонный номер жителя Москвы Ивана Ивановича Иванова при условии, что в телефонном справочнике все телефоны упорядочены сначала по фамилиям, затем внyrpи одинаковых фамилий по именам и в последнюю очередь по отчестваt..f; б) та же самая задача, но без отчества; в) вы Имеете четыре цветные краски и ваша задача  раскрасить карту таким образом. чтобы никакие два соседних субъекта федерации не были раскрашены одним цветом. Выберите стратеrию раскраски и покажите, что раскраска с помощью этой стратеrии возможна; r) вы потерялись в незнакомом маленьком roроде и ХОТИте вернyrъcя на автобусную craнцию, откуда вы начали маршрyr по ropoдy. У вас нет никакой карты. Все жители уже заперлись в своих домах, поскольку уже поздно, и спросить, куда }ЩТИ, уже не у KOro. Какую стратеrию поиска вы выберите? 151  
6. Cтpaтezuu поиска 6. Сформулируйте извеC11fyJO задачу об ОХ011fике, козе, волке, капусте и лодке в терминах состояний и используйте поиск в ширину для нахОЖII.енИJI caмoro KOpoткOro по времени решения. 7. Придумайте среду, для которой итеративный поиск в rлубину будет хуже, чем просто поиск в шубину. 8. Сформулируйте процедуру двунаправленноro поиска в ширину в том и npyroM напраалении таким образом, что в каждом направлении в каждую единицу времени находится по одной вершине. 9. Было показано, что допустимый критерий h(b) позволяет получить неуменьшающийся критерийf(Ь). Можно ли показать, что монотониостьf(Ь) вcerдa влечет допустимость h(b)? 10. Можно ли построить процедуру двунаправленноrо А.поиска? Если можно, то при каких условиях? Опишите процедуру поиска. 11. Не которая среда имеет конечное множество состояний, каждое из которых определяется набором значений п двоичных переменных х....., х". На множестве этих переменных определена целочисленная фykкцииf(х.. ..., х). Переходы ВозМ()жны только между соседними состояниими (состояниими, отличающимиси значением только одной переменноА}. Выберите подходищyIO стрrию поиска наборов значений переменных х.' ..., х", на которых функции f(x.. ..., х") принимает максимальное значение. 
7. СИТУАЦИОННОЕ ОПИСАНИЕ СРЕДЫ в этой ZIlat1e рассмотрены некоторые свойства ситуационной динамиllеской среды и их пpeikтавление на язше ЛOlUlGи предикатов первою порядка. Лоrикa предикатов первоro порJШЮi  это средство представления знаний и рассуждений (см. rл. 1). Однако сама по себе она является общим инструмецroм и не дает рекомендаций по выбору конкретных выразительных средств (фактов, словаря, аксиом, целей) для описания 3.fIaНий о конкретной предметной обцасти (среде). для Э1'ИХ целей обычно применяют то или иное ситуационное исчисление, имеющее свой выразительный язык. ВыразитеЛi?Ные средства языка, как правило, зависят от вида среды и обычно содержат. ряд разделов. Сmyационному исчислению в целом и языкам ситуационных исчислений и посвящены следующие rлавы. При решении реальных задач дело имеют не с физической средой, а с ее моделью. как уже roворилось в rлаве 5, с точки зрения areнra физичесЮUI среда и модель среды неразличимы. Модель среды сложно представить или описать на какомлибо языке. Мы будем использовать язык лоrики преДИЮl'I'Oв первоro пol'Rдкз. В 'настоящей rлаве рассмотрено не описание КОНкpe11IOй среды, а наиболее mпичные языковые конструкции, используемые для представления моделей сред. 7.1. Бaзoawе поUТIIJI еитуациоиной модели Формирование базовых понятнй сmyaционной модели осуществляется на основе лоrики предикатов первоro порядка с использованием ее синтаксиса и семантики. Поэтому  базовые понятия ситуационной модели строятся на основе термов, атомов, литералов, функций и формул лоrики предикатов Первоro порядка. Если синraксис какоroлибо базовоro понятия совпадает с синтаксисом в лоrике предикатов первоro порядка, еro семантика также совпадаеу с семантикой аналоrичноro понятия в лоrике предикатов первоro порядка. Несмотря на то 1fI'O лоrикa предикатов в четвертой rлаве рассмотрена достаточно по.цробно, некоторые понятия yroчним для удобства чтения rЛЩJЫ. 153 
z Ситуационное описание среды 7.1.1. Объекты Объекты реальноrо или вымышленноrо мира (последние называют ментшьными объектами) обозначают прописными буквами, словами или предложениями pyccKoro языка, начинающимися с прописной буквы, выделяемыми курсивом и написанными слитно вследствие употребления символа подчеркивания между словами. Например, С, Стол, Столдеревянный. 7.1.2. Объектные переменные Объектные переменные или просто переменные определяют объекты и их обозначают строчными буквами, словами или предложениями pyccKoro языка, начинающимися со строчной буквы, выделяемыми курсивом и написанными слитно вследствие употребления символа подчеркивания между словами. Например, с, стол, столдеревянный. 7.1.3. Катеroрии Часто рассуждения ведyrся не на уровне KOHKpeтHoro объекта, а на уровне множества, или KtlтeZOpии, к которой этот объект относится. Имеется два основных способа представления катеrорий в лоrике предикатов первоrо ПОрЯдКа. Первый способ связан с использованием одноместноrо предиката, характеризующеrо своиство объектов, относящихся к данной катеrории. Предикат является истинным, если значение ero apryмeHTa совпадает с одним из объектов, обладающих данным свойством или, иначе, принадлеж:ащим данной катеrории. Например, одноместный предикат томатыеБарао (х) истинен, коrда х есть томат сорта Де Барао, т,е. предикат истинен, коrда х принадлежит множеству томатов сорта Де Барао, обозначаемых константами Х., Х 2 , Х т . Таким образом, этот предикат представляет катеroрию томатов сорта Де Барао. Второй способ основан на Мtlтериtuuзtlчии "tlmt!zopии и заключается в представлении катеrории как объекта. В этом случае, например, катеrория ТоматыеБарао выступает как объект, являющийся множеством всех томатов, и мы можем использовать выражение ТоматыеБарао (X 1 , Х 2 , ..., Х,) дЛЯ тoro, чтобы сказать, что данная катеroрия состоит из конкретных сортов помидор , i == 1, ..., т. Материализаuия катеrории позволяет рассуждать о самих катеrориях, а не только об их членах, поскольку катеroрия ТоматыеБарао выступает как объектная константа, обозначающая конкретный объект  катеrорию томатов определенноrо сорта. Материализauия катеrорий позволяет также вводить переменные, обозначающие катеrории, и рассуждать с использованием этих переменных. Мы будем использовать оба способа представления катеrорий. Катеroрии I выполняют важную роль для описания, систематизаuии и наследовз).fИЯ признаков объектов. Приведенные ниже примеры дают достаточно полное представление о ВОЗМОЖНОСТях подобноro описания. 154 
z 1. Базовые понятия ситуационной модели Объект х является элементом катеroрии Томаты--ДеБарао (х., , ..., Х т ): элемент"атеzории (х, ТоматыеБарао) = х == Х. v х ==  V... V Х == Х т . Катеroрия Томаты--ДеБарао (X,,, ..., Х т ) является элементом катеroрии Томаты, а катеrория Томаты  элементом катеroрии Овощи: Овощи (Томаты (Томаты--ДеБарао (х., А;, ..., Х т ), TOMaтыMи"aдo (, >;, ..., >:,», Оzyрцы (Изящные (Ц, Ц, ..., и), ВязниК08СКue (V.' f';, ..., V). Все элементы катеrории ТоматыеБарао имеют общие свойства (являются красными и крyrлыми): (V' х) зле.менткатеzории (х, Томаты--ДеБарао)::> красный (х) 1\ "руzлый (х). Все элементы катеrории Арбузы MOryr быть распознаны по некоторым свойствам: (V' х) KpaCHыйвHyтpи (х) 1\ зеленыйснаружи (х) 1\ Л эле.мент"атеzории (х, Бахчевые) ::> эле.мент"атеzории (х, Арбузы). Катеroрия Томаты имеет свойства томатов, районированных в Московской области томаты.....Районированные  в  Московской  области ( Томаты). Все катеroрии, элементы которых обладают определенными свойствами, входят в катеrорию Томаты: (V' х) (V' у) KpaCHыйвнyтpи (х) 1\ зеленыйснаружи (х) 1\ 1\ элемент"атеzории (х, у) ::> эле.мент"атеzоpuи (у, Томаты). Катеrории к. и "2 не имеют общих элементов: (V' к.. "2) неu.меютобщuxэле.ментов (К р "2) = (V' э.. э 2 ) (эле.менткатеzории (эр к\) 1\ эле.ментlCDтеzории (э 2 , к 2 ) 1\ Э 2  э l ). Катеrории Кр , "э входят в одну катеrорию К4 (являются частью катеrории "4): (V' ".. "2' "э' "4) входятводнукатеzорию (К р "2' "э' к 4 ) = (V' 3.. э 2 , ээ) (эле.мент1CDтеzории (э l , K 1 ) л эле.менткатеzории (э 2 , к 2 ) 1\ 155 
7. Ситуационное описание среды л злемент"атеzории (33' '(3) Л (3 34' 3 s ' 36) (зле.мент"атеzории (34' '(4) Л л эле.мент"атezории (3 s , '(4) 1\ эле.мент"атеzории '(36' "J 1\ 3. == == 34 Л 32 == 3s 1\ 33 == 36' Катеroрии ".. "2 ЯШ1Яются разбиением катеrории "3 на две катеrории, не имеющие общих элементов, объединение которых совпадает с катеrорией "3: (V' ".. "2' '(3) разбиение (".. "2' '(3) == неимеютобщихэле.ментов (".. '(2) 1\ 1\ входятводну"атеzорию (".. "2' '(3) 1\ (V' 3) [элемент"атеzории (3, '(3) ::::> ::::> элемент"атеzории (3, ".) v элемент"атеzории (3, '(2)]' Необходимые и достаточные условия для ВХОЖдения объекта х в одну и ту же катеrорию Инженеры. (V' х) злемент"атеzории (х, Инженеры) == высшееобразование (х) 1\ 1\ за"ончил  техничес"ий YHивepcитeт (х). 7.1.4. Сортовые к.атеroрии для удобства и выразительности описания моделей сред вводят особые, заранее предопределенные, непересекающиеся ни с какими дрyrими катеropии объектов. Чаще вcero объекты эrиx катеroрий являются вымышленными. Обычно эти особые катеroрии объектов называют COpтD8WМII КIlтеZОРШlJНII, или сортамll. 7.1.5. Cтцдaprнwe предика..... CтaHдapтнWМII пpeдllКllIlUlJНII называют заранее определенные предикаты, apryMeHTbI (термы), истинностные значения которых заранее предопределены. 7.1.6. Библиотечные функции Б,,6АlIOтеIUlWМII фУIUЩШlJНII назывaюr заранее определенные функции, область определения и область значений которых заранее предопределены. Собственно фиксация сортовых катеroрий, стандартных предикатов, библиотечных функций и вид ряда аксиом, описывающих отличительные свойства среды, и составляют cyrb .модели среды. Рассмотрим основные сортовые катеrории, стандартные предикаты, библиотечные функции и вид некоторых аксиом, используемых для описания ситуационных моделей сред. 156 
7.1. Базовые понятия ситуационной модели 7.1.7. МiIКpOCПy8ЦИИ Каждая сортовая катеrория микроситуаuий содержит множество вымышленных объектов, называемых JtlII"pocllmyal(lIJIJtIlI. Среда может находИ}"ься только в одной микроситуаuии данной катеroрии. В то же время среда может находиться сразу в нескольких микроситуаuиях различных катеrорий. Микроситуаuия может изменяться при определенных действиях. О микроситуаuиях приходится рассуждать. Переменная, соответствующая микроситуации, обозначается символом у. Кажп.ая катеrория микроситуаuий может быть материализованной и обладать всеми чертами обычноro объекта. СтаНдартный предикат микроситуация (у) вводится для Toro, чтобы определить свойство объекта находиться в микроситуаuии у данной сортовой катеrории, Т.е. он истинен, Korдa объект находится в микроситуации у. Микроситуаuия используется в качестве apryмeHTa в различных предикатах. Одним из таких предикатов является стаНдартный предикат достижима (R, у). Он истинен, коrда переменная у принимает определенное значение из своей катеroрии микроситуаuий и этому значению соответствует объектная константа R. 7.1.8. СеетоJUDUI в реальных задачах, которые мы хотели бы решать, число микроситуаuий мо/Кет быть велико, причем приходится иметь дело с различными их комбинациями, Т.е. определять совокупные свойства наборов микроситуauий. Так, например, одним из таких наборов является ВlIеlllнее сосmОЯНllе. или маqюclUllУIII(llJl: набор значений микроситуаuий, в который входит по одной микроситуации из каждой катеrории. Понятно, что число макроситуаций в катеrории макроситуаций равно мощности декартова произведения всех катеrорИЙ микроситуаций. Понятно также, что в случае использования одной катеrории микроситуаuий, микроситуация является одновременно макроситуацией. JJнyтpelllCllМ СОСIfUJJUI-М среды называют набор значений всех обых переменных, не являющихся микроситуациям";. П0All6lJtl COCтoJlllllUl среды называют пару BHyrpeHHee состояние  внешнее состояние. Таким образом, внутреннее и внешнее СОСТ01lния являются частью полноrо. Среда 8сеrда находится в одном из полных состоя ниц, которые чаще Bcero будем называть просто COCтDJflllUlJNlI. Микро И макроситуации используют для Toro, чтобы наводить определенный порядок на множестве состояний и рассуждать о состояниях среды с учетом этоrо порядка. Стандцртный предикат IIIQкроситуаЦШl (s) вводят для указания TOro, что среда находится в макроситуации s. Макроситуаuию, так же как 'и микроснтуацию, используют в качестве apryмeHтa в различных предикатах. Одним из таких предикатов является стандартный предикат достUЖШfа (R, s). ОН истинен, Korna макроситуwия s принимает определенное значение и этому значению соответствует объектная константа R. 157 l 
7. Ситуационное описание среды 7.1.9. Действия Действия совершаются над объектами. В результате изменяются значения объектных переменных, а следовательно, и состояния среды. Так, например, если мы имеем такой объект, как автомобиль, который может быть заведен илИ незаведен, то мы можем ввести действие завести (автомобиль), в результате KOToporo он заводится. Если при описании среды не используются такие понятия, как микроситуация или макроситуация, то условие совершения и результат этоrо действия можно записать в виде ...., заведен (автомобиль) 1\ завести (автомобиль) ::::> заведен (автомобиль). Если же мы хотим, чтобы действия совершались только тоrда, Korдa среда находится в определенной макроситуации, то, обозначив ее символом s, а действие  символом d, условие совершения и результат этоrо действия MOO записать в виде макроситуацuя (s) 1\ ...., заведен (автомобиль) 1\ действие (d)::::> ::::> макроситуация (s) 1\ заведен (автомобиль). J В обеих приведенных формулах использован предикат заведен (автомобиль). Во мноrих случаях более удобно не вводить подобноrо рода предикаты, а использовать катеrории свойств объектов. Например, в данном случае такой катеroрией может быть (Заведен, Незаведен). Torдa, используя стандартный предикат достижима, условие совершения и результат действия можно заПИсать в виде достижима (Незаведен, s.) 1\ действие (d) ::::> достижима (Заведен, s). , J Еще один вариант формулы можно получить, если ввести функцию переход (d, s). Значением этой функции является одна из макроситуаций среды, в которую она переходит в результате действия d. Для нашеrо при мера с автомобилем можно считать, что Sj == переход (d, s). С использованием этой функции вышеприведенную формулу можно переписать в следующем виде: достижима (Незаведен, s) 1\ действие (d) ::::> ::::> достижима (Заведен, переход (d, s). 7.1.10. Ситуация Понятие ситуации является центральным в ситуационном исчислении. В принципе, можно было бы ero не вводить, а рассуждать в терминах состояний, что иноrда и делают. Однако, как уже отмечалось, для реальных задач большой размерности состояния, необходимые для описания модели среды, даже невозможно перечислить. Кроме Toro, во мноrиx задачах нет необходимости знать значение полноro состояния. Достаточно знать, что наступило следующее 158 
z 1. БаЗ08ые понятия ситуационной модели состояние и значения только некоторых переменных этоro состояния. Каждая ситуация по смыслу эквивалентна даже не одному состоянию, а какомулибо подмножеству множества всех состояний среды, и задается не в виде перечисления этоrо подмножества, а в виде формул предикатов первоrо порядка, определяющих условия наступления этой ситуации. Схема описания знаний и последующих рассуждений на основе этих знаний с использованием ситуаций выrлядит следующим образом. Есть некоторая НiI'UU61UU1 cllllfyal(lI.R, которая задается формулой или совокупностью формул, определяющих условия наступления начальной ситуации. Эту ситуацию обозначим символом So (переменные ситуации, так же как макроситуации, обозначим символом s). Есть множество действий, применимых в этой ситуации и переводящих ее в дрyrие ситуации. Каждая из этих дрyrих ситуаций опять может быть переведена с помощью действий в следующие ситуации и так до тех пор, пока не появится ситуация, удовлетворяющая нас по условиям решения задачи. При этом каждая последующая ситуация S} вычисляется по предыдущей S, и дейст»ию d с помощью функции S} == переход (d, s). 7.1.11. Мера, измеритель и единица измерения в любой области знаний (среде) объекты имеют длину, вес, цену или определяются какимилибо друrими величинами, используемыми для характеристики их свойств, называемых мерамll. Для Toro чтобы указать тип меры, используют одноместные предикаты, например длина, вес, цена, арryментами которых являются измеряемые объекты. Если объект L имеет меру длина, то предикат длина (L) истинен. Если объект не имеет этой меры, то предикат ложен. С мерой связано ее значение, как правило, числовое, называемое величиной .меры и представляемое переменной величина Mepы. ДЛя TOro чтобы можно было определять численное значение меры, используют объекты, называемые uзмерllmе/IJIМ1l мер". Например, если требуется измерять мину объекта L, то измерителем длины может быть объект Рулетка. ДЛя тoro чтобы выразить числовое значение меры, используют .объектную константу, представляющую используемую единицу измерения. Например, если единицей измерения является Сантиметр, то для TOro, чтобы выразить измеренную длину объекта L с помощью рулетки, запишем Длина (L) ::> Результатизмерения (L, величинамерЫ, Рулетка, Сантиметр), rдe переменная величинамеры при обретает значение результата измерения рулеткой объекта L в сантиметрах. Аналоrично можно записать вес (томат) ::> результатuзмеренUR (томат, величина.меры, Весы, Кuлozримм)-, цена (томат) ::> результатuзмерения (томат, величинамеры, Kaccoвыйaппapaт, Доллар), 159 
z Ситуационное описание среды (V' х) элементкатеzории (х, Дни) ::> ::> результатизмеренuя (х, величинамеры, Хронометр, Час). Величина меры не обязательно должна быть только числовой. 7.1.12. Времи Время в ситуационных моделях сред является важным фактором, используемым дЛЯ задания моментов времени начала и окончания свершения действий, наступления состояний, ситуаций, а также указания интервалов времени, в течение которых действия, состояния, ситуации не изменяются. Для представления времени вводится катеrория К, упорядоченных положительных чисел 1, называемых моментами времени или просто моментами. С помощью момсштов времени задаются интервалы времени 11.. 12]' rде 1.. 12  моменты времени, 1. :s; 12' С интервалом связана ero продолжительность, равная '.  12' ДЛя Toro чтобы рассуждать во времени, вводят функции начало (х), окончание (х), продолжительность (х), rде х обозначает действие, состояние или ситуацию. Эти функиии принимают следующие значения: начало (х) == 1.. окончание (х) ==, продолжительность (х) == начало (х)  окончание (х). Наряду с функциями ВВОдЯт также предикаты соседние (х, у), до (х, у), после (х, у), внутри (х, у), rпе х, у обозначают действие, состояние или ситуацию. Истинность этих предикатов определяется следующими аксиомами: (V' х, у) соседние (х, у) == окончание (х) == начало (у), (V' х, у) до (х, у) == окончание (х» < начало (у), (V' х, у) после (х, у) == до (у, х), (V' х, у) внутри (х, у) == (начало (у) < начало (х» 1\ 1\ (окончание (х) < окончание (у», (V' х, у) перекрытие (х, у) .. (начало (х) < начало (у» 1\ л (начало (у) < Оl«Jнчание (х» л (окончание (х) < окончание (у». Рассмотрим примеры представления нескольких простых сред с помощью введенных понятий. 160 
7.2. Среда лоzuческих электронных схем 7.2. Среда лоrических электронных схем Рассмотрим широко известную схему одноразрядноrо сумматора С (рис. 7. 1). Она состоит из двух Функuиональных элементов ИСКЛИЛИ, двух И и одноrо ИЛИ и имеет три входа х.. Х 2 ' Х Э И два выхода ""' На входы Х.. Х 2 подаются складываемые двоичные значения (биты), на вход Х Э подается значение rrepeHoca. На выходе Z. появляется значение суммы, а на выходе   значение переноса. 7.2.1. Основополаraющие соображеНИ.II Лоrическая схема состоит из лоrических элементов (в дальнейшем элементов) и соединяющих их проводов, называеых обычно соединениями. Лоrические элементы, так же как и вся схема С, имеют входы и выходы: каждый лоrический элемент имеет по два входа и по одному выходу. На входы элементов поступают сиrналы (биты). Каждый сиrнал может принимать два значения О и 1. Наша задача состоит в анализе корректности схемы, Т.е. в проверке правильности вьщачи ею выходных сиrналов в ответ на входные. Для тoro чтобы такой анализ осуществить, необходимо иметь модель этой схемы. Желательно при этом, чтобы она не содержала лишних сведений; которые не будут использоваться ['.ри анализе. Так, например, в данной задаче анализа мы не собираемся использовать такие свойства схемы, как ее размер, стоимость, ивет, форму, длину соединений, места пересечения этих соединений, время распространения сиrнала и Т.п. В друrих задачах анализа эти сведения моrли бы потребоваться, Т.е. описание модели зависит не только ИСКЛИЛИ ИСКЛИЛИ С Х I У I ZI Х2 И Х З И УЗ ИЛИ У2 Z2 Рвс. 7.1. Лоrическая схема двоичноrо сумматора С с тремя входами Х., Х 2 , Х з И двумя выходами Z.,  ' состоящая из двух ИСКЛИЛИ, двух И и одноrо ИЛИ 6 1141 161 l 
7. Ситуационное описание среды от предметной области, с которой мы имеем дело, но и от постановки задачи анализа, а это в свою очередь влияет на выбор выразительных средств из числа тех, которые были рассмотрены в предыдущем параrpафе. 7.2.2. Создание модели сумматора Пристynим К выбору имен функций, предикатов, переменных и констант, которые мы будем ИСПОЛЬЗ0ватьдля описания схемы. Каждый проводник схемы, соединяющий в единое llелое rpуппы входов и выходов лоrических элементов, сопоставим со своей переменной (см. рис. 7. 1). Все такие соединения схемы поделим на три rpуппы, сопоставив им следующие переменные: переменные х" Х 2 ' х з ' соответствующие соединениям, ОдНовременно являющимся входами схемы, переменные Z.. Z2' соответствующие соединениям, являющимся одновременно выходами схемы, переменные У.. У 2 , У р соответствующие соединениям, не являющимся входами или выходами схемы (все введенные переменные показаны на рис. 7.1 рядом с соответствующими им соединениями). Каждый лоrический элемент в схеме сумматора имеет два входа и один выход. Поэтому для каждоro типа лоrическоrо элемента (и, или, ИСКЛИЛИ) определим свой трехместный предикат элементИ (вход, вход, выход), элементИЛИ (вход, вход, выход), элементИСКЛИЛИ (вход, вход, выход), rne каждая переменная вход, вход; выход совпадает с одной из переменных х.' х 2 , х з , У.. У 2 , УЗ, Z.. Z}, Т.е. вход, выход Е {x.., х з ' У.. У 2 , УЗ, Z.. Z2)' Переменные х.. х 2 , х з , У., У 2 , УЗ, Z.. -'2 MOryт принимать только значения О или 1. Каждый из предикатов, представляющих собой соответствующий лоrический элемент, истинен, коrда набор значений переменных вход, вход, выход этоro предиката совпадает со строкой таБЛИllЫ истинности этоrо лоrическоro элемента. Например, предикат элементИ (вход, вход, выход) истинен Только при следующих значениях своих переменных элементИ (О, О, О), элементИ (О, 1, О), элементИ (1, О, О), эJiементИ (1, 1, 1). Предикат элементИЛИ(вход, вход, выход). истинен только при следующих значениях своих переменных: 162 
Z2. Среда лоzuческих электронных схем элементИЛИ (О, О, О), элементИЛИ (О, 1, 1), элементИЛИ (1, О, 1), элементИЛИ (1, 1, 1). Предикат злеМентИСКЛИЛИ (вход, вход, выход) истинен только при следующих значениях своих переменных: злементИСКЛИЛИ (О, О, О), элементИСf(JlИЛИ (О, 1, 1), злементИ-СКJlИЛИ (1, О, 1), элементИСКЛИЛИ (1, 1, О). Теперь осталось представить весь сумматор как единое целое, имеющий в соответствии со схемой на рис. 7. 1 три входа и два выхода. для этоrо, используя уже введеЩ{lе nерем.енные, введем предикат сумматор (вход, вход, вход, выход, выход). Предикат сумматор будет истинным, Korдa значения выходных переменных вычисляются в соответствии со схемой соединений лоrических элементов рис. 7. 1 и ихтабицами истинности. для cтpororo определения этоrо правила ВЫчисления значений выходных переменных по значениям входных введем аксиому 3ЛеА4ентИСКЛИЛИ (х" Х 2 ' У.) 1\ элементИСКЛИЛИ (уl' Х 2 ' Z,) 1\ 1\ элементИ (хl' х 2 , У 2 ) 1\ злементИ (х з ' У.. Уз) 1\ 1\ элементИЛИ (уз' У 2 , ) ::> сумматор (хl' х 2 , Х З ' Z.. ). На этом описание двоичноrо сумматора завершается и можно ero использов.ать для анализа корректности схемы, для чеrо необходимо сформулировать задачи' анализа в виде целей, которые требуется достичь. 7.2.3. Формулировка целей анализа Типичными целями (вопросами) анализа для лоrических схем являются следующие. Если известны значения сиrналов на выходах схемы, то какие значения сиrналов на входах схемы? Если известны значения сиrналов на входах схемы, то какие значения сиrналов будyr на ВJ>lХОДах схемы? 6. 163 
z Ситуационное описание среды Если известны значения сиrналов на некоторых входах и выходах, то каковы значения неизвестных сиrналов на остальных входах и выходах? Так, например, в более конкретном виде применительно к схеме нашеrо при мера вопрос первоrо типа Mor бы выrлядеть так: какие наборы сиrналов на входах схемы сумматора MOryr приводить к сиrналу О на выходе Z\ и к сиrналу 1 на выходе  схемы? Формально на языке лоrики предикатов вопрос выrлядит следующим образом: сумматор (Х.. Х 2 , Х з , О, l)? Как можно получить ответы на подобные вопросы для схемы на рис. 7.1 на основе уже изученных процедур вывода в лоrике предикатов, подробно рассмотрено в четвертой rлаве. Эrот при мер очень прост. В нем использовано небольшое количество понятий из числа введенных в настояшей rлаве. Однако он достаточно типичен для задач проверки корректности схем. во мноrиx дрyrиx средах может быть использован подобный подход к описанию знаний о среде. 7.3. Среда обезьяны и банана Пример среды обезьяны и банана также достаточно известен и часто используется в качестве простоrо примера задачи из области искусственноro интеллекта. Рассмотрим при мер среды в следующем варианте. Около двери комнаты на полу находится обезьяна, а в определенном месте комнаты подвешен банан. Обезьяна rолодна и хотела бы съесть банан, но не может до Hero дотянyrься с пола. Около окна на полу лежит ящик, который обезьяна может передвинyrь, залезть на Hero и схватить банан, если ящик находится прямо под бананом. Создадим ситуационную модель среды обезьяны и банана. Будем полaraть, что обезьяна может находиться в одном из четырех мест: у двери на полу (константа Yдвepи), у ящика на полу (константа Уящи"а), на яшике (константа Наящи"е). Аналоrично введем константы, характеризующие местоположение ящика Под6анано.м, YO"Ha, и константы, характеризуюшие состояние банана Схвачен, Несхвачен. Обезьяна может совершать каждый раз одно из следующих действий d: схватить банан (Схватить), залезrь на ящик, (Залезть), слезrь с ящика (Слезть), передвинyrь ящик под банан (Передвинуть), отодвинyrъ ящик от банана к окну (Отодвинуть), перейти к ящику (Перейти ,,ящику), перейти к двери (Перейти K двери). Эrо, конечно, упрощенная среда, поскольку в ней исключены промежyroчные положения обезьяны и ящика. Теперь можно описать условия изменения местоположений обезьяны: (V' s) достижима (Yдвepи, переход (d, s» = d == Перейти K двери v v достижима (Yдвepи), s) л..., (d == Перейти K ящику), (V' s) достижима (Уящи"а, nереход (d, s» = d == Перейтикящику v v достижима (Уящи"а, s) л..., (d == Перейти K двери), 164 
Вопросы и упражнения (\1' s) достижима (Наящи"е, переход (d, s» == л d == Залезть v v достижима (Наящи"е, s) л....., (d == Слезть). Аналоrично для ящика можно записать следующие yrверждения: (\1' s) достижима (YO"Ha, переход (d, s» == л d == Отодвинуть v v достижима (YO"Ha, s) л....., (d == Передвинуть), (\1' s) достижима (Подбананом, переход (d, s» == л d == Передвинуть v v достижима (Подбананом, s) л....., (d == Отодвинуть). для банана будем иметь следующие yrвeрждения: (\1' s) достижима (Несхвачен, переход (d, s» == == достижима (Несхвачен, s) л....., (d == СХ8атить). (\1' s) достижима (СХ8ачен, переход (d, s» == == d == схватить v достижима (СХ8ачен, s). Кроме этих yrверждений необходимо также описать условия совершения действий и начальную ситуацию. Читателю предоставляется выполнить ЭТО в качестве упражнения в следующей rлаве. Один из вопросов, ответ на который нас может интересовать в настоящем примере, теперь можно сформулировать следующим образом: существует ли такая ситуация, Korдa банан схвачен? На языке лоrики предикатов этот вопрос ВЫfЛЯДИТ следующим образом (3 s) достижима (СХ8ачен, s)? Вопросы и упражнеllИJl 1. Дайте определения для теоретикомножественных операций над катеrориями: пересечения, объединения, дополнения. 2. Используя описанный в rлаве одноразрядный сумматор опишите четырехразрядный сумматор. Сформулируйте вопросы по проверке корректности ero функционирования. 3. Напишите множество аксиом, позволяющих вычислять цену какоrолибо предмета (например, томата), при условии, что известна цена за килоrpaмм и все томаты имеют одинаковый вес. 4. В процессе обучения на старшем курсе студенты должны выбрать 3 курса из 9, которые им надлежит обязательно прослушать. Курсы разбиты на три rpуппы. Каждая rpуппа содержит курсы с обязательным одинаковым свойством и различными необязательныии свойствами. Выбранные курсы в совокупности должны содержать все 165 
7. Ситуационное описание среды обязательные СВОЙства. Необязательные СВОЙСТва определяются по желанию С1)'дента. Ахсиоматизируй1'е процесс выбора подходящих курсов с учетом обязательных 'фе6ований. Сформулируйте вопрос по поиску подходящих курсов. 5. Аксиоматизируйте процесс выбора покупки в Елисеевском racтpoHoMe в Москве. В качестве отправной точки для аксиоматизации воспользуйтесь преДlIожением: «Вчера rалина зашла в Елисеевский racтpoHoM в Москве и купила orypUOB и филе судака.. Ваше аксиоматическое описание должно быть достаточным Д1Iя ответа на вопросы, связанные с преДlIожениями подобноro типа. Следующие наводящие вопросы MOryr помочь вам В аксиоматизации. а) какие катеroрии продуктов и отношений между ними вам необходимы? б) какая иерархия существует между этими катеroриями? в) какие оrpаничения на эти отношения можно наложить? r) какие свойства продуктов необходимо детально описать? Формируемая вами система аксиом (база знаний) должна быть достаточной Д1IЯ ответа на ваши вопросы, список которых вы должны составить заранее. Постарайтесь сделать вашу базу знаний как можно более общей. Вопросы не должны быть тривиальными. Например, вопрос «rалина купила филе судака?.. тривиален, если в базе знаний имеется аксиома, эквивалентная преДlIожению «rалина купила филе судака... Вопросы должны быть такими, чтобы ДIIЯ ответа на них требовалась цепочка шаrов вывода. MHoroe в описании модели процесса выбора покynки в racтpoHoMe может быть приблизительным, но должно позволять сделать вывод при 01'Вете на вопросы следующеrо типа. а) rалина ребенок или взрослая? б) rалина купила три orypua? в) rалина купила скольконибудь филе судака? r) если Варя была в маrазине в это же время, то rалина видела ее? д) orypUbl pac1Yf в racтpoHoMe? е) можно ли в racтpoHoMe купить шампунь? ж) что rалина будет делать с оryрцами? з) rалина взяла с собой деньrи в racтpoHoM? и) у rалины остались деньrи после покупки? 
8. СИТУАЦИОННОЕ ИСЧИСЛЕНИЕ в этой zлаве рассмотрены основные выразительные средства языка ситуациОННOZQ исчисления в настояшей rлаве продолжается начатое в предыдушей rлаве обсуждение СИ1)'ационноrо исчисления. Ситуационное исчисление рассматривается более cтporo как лоrический язык, содержаший ряд разделов. Развитием ситуационных исчислений для моделирования динамическоro поведения различных сред занималось MHoro исСледователей в различных странах. Некоторые ситуационные исчисления очень похожи между собой. Различия между дрyrими более заметны. Сушествуют исчисления, не используюшие понятие ситуации. Так, например, следующая rлава посвящена исчислению, называемому временной модальной лоrикой, которое по сути относится к ситуационному исчислению. Ситуационное исчисление является формальной системой, базирующейся на лоrике предикатов первоrо порядка. В основе ero лежит понятие ситуации, рассмотренное в предыдушей rлаве. Как и в более простом случае, Korдa мы рассматривали вопросы рассуждения в пространстве состояний на основе лоrики высказываний (см. rл. 2) ИЛй лоrики предикатов первоrо порядка (см. rл. 3, 4), будем полаrать, что среда переходит из одной ситуации в дрyryю в результате выполнения HeKoToporo действия. И единственая возможность 'лерехода в дрyryю ситуацию  ЭТО совершение действия. В настояшей rлаве рассмотрим современный вариант довольно простоrо ситуационноrо исчисления, который можно было бы назвать иничиllA6НЫМ детерминированным ситуачионн6lМ IlC'IIlCAeНШ!AI, поскольку оно предполаrает, 'По все изменения в среде начинаются с некоторой начальной ситуации и переход из любой ситуации при совершении любоrо действия возможен только в одну ситуацию. Все пространство ситуаций и переходов между ними можно представить в виде дерева, корневой вершиной KOTOporo является начальная ситуация. Степень ветвления дерева не превосходит числа действий. В настоящей rлаве рассмотрены основные разделы, составляющие это исчисление, не очень сложные примеры и процедуры решений некоторых из них. Сначала напомним ряд уже введенных ранее обозначений и введем некоторые новые. 167 l 
8. Ситуационное исчисление 8.1. Язык ситуационноro исчисления Ситуационное ис.,исление является лоrическим языком ДЛЯ описания динамики изменения среды. Интуитивно язык ситуационноro исчисления предполаrает, что есть не которая начальная ситуация Sои среда изменяется от ситуации к ситуации по мере выполнения действий. При этом предполаrается, что друrих ситуаций, помимо тех, которые MOryт быть достиrнуты с помощью выполнения действий, не существует. В этом языке используются следующие катеrории, предикаты и функции. Три непересекающиеся катеroрии: I«I1nelOjНUl дейст,ий.4, "melОрия ситуаций S и катеlОрu.я 06ъектов среды D. Попрежнему строчные буквы (а, s, J, d, х, у, ... ) или слова, начинаюшиеся с этих букв, используются для обозначения переменных этих катеrорий, а прописные буквы (А, S, F, х, у, ...) или слова, начинающиеся с этих букв  для обозначения констант. Элементами катеrории действий являются простые или сложные константы, обозначаюшие действия. Сложные константы этой катеrории, Т.е. константы, сами являющиеся катеroриями, MOryr содержать в качестве элементов только элементы катеroрии D. Элементами катеroрии ситуаций являются простые константы, обозначаюшие ситуации. Элементами катеrории D являются любые простые или сложные константы, кроме именующих действия и ситуации. Сложные константы этой катеroрии MOryr содержать в качестве элементов только элементы катеrориИ D. Стандартная функция переход: А х S ----+ S. Значением функции переход (а, s) является ситуация s', в которую переходит ситуация s в результате действия а. So  начальная ситуация. Стандартный предикат до (s.. S2)' который будет также записываться в обычном инфиксном виде s, < S2' Этот предикат истинен, если ситуация s\ наступает раньше ситуации S2; s. s; S2 означает s. < S2 v s. == S2' Стандартный предикат допустимо (а, s). Этот предикат истинен, если действие а допустимо (может быть выполнено) в ситуации s. Функторный предикат q> (d.. d 2 , ..., d n , s), rде d.. d 2 , ..., d n  переменные или константы катеrории D, q>  предикатный символ. Функторный предикат содержит единственный aprYMeHT s, значение KOToporo принадлежит катеrории ситуаций S. Смысл функторноrо предиката следующий: если свойство или отношение q> между d.. d 2 , ..., d n имеет место в ситуации s, то предикат q> (dl' d 2 , ..., d n , s) истинен в этой ситуации s, и наоборот. Например, если предикат проданы (Чашка, Чайник, Тарелка, S) истинен в ситуации S, то это означает, что некоторые конкретные чашка, чайник и тарелка с именами Чашка, Чайник, Тарелка проданы в ситуации S. ФунктОРНaJI ФУНКЦUR f(d.. d 2 , ..., d n , S), rде d.. d 2 , ..., d n  переменные или константы катеrории D. Функторная функция также содержит единственный apryмeHT s, значение KOToporo ПРИНадЛежит катеrории ситуаций 168 
8. J. Язык ситуационнozо исчисления S. Значение функции принадлежит катеroрии D. Например, значением функции изеотовлена (еончар, <!Лина, S) может быть значение переменной чашка. Остальные обозначения будем вводить по мере необходимости. 8.2. Аксиомы ситуационноro исчисления Все аксиомы рассматриваемоro ситуационноrо исчисления подразделяют на следующие rpуппы: базовые аксиомы; допустимых действий; перехода в следующие ситуации; начальной ситуации; оrpаничений. 8.2.1. Базовые аксиомы к числу базовых относится сравнительно небольшое число аксиом, устанавливающих отношения между ситуациями, действиями и переходами между ситуациями в результате выполнения этих действий. Основными среди них являются следующие аксиомы. Аксиому (V q>)[(So) 1\ (V а, s)(q>(s) ::::> q> (переход (а, s»)] ::::> (V s)(q>(s» (8.1) называют индукчионной аксиомой. В таком виде она не является аксиомой лоrики предикатов первоro порядка, поскольку q>здесь обозначает некоторую формулу и это обозначен1-Iе формулы рассматривается в данном случае как переменная, связанная квантором общности. Это не мешает, однако, использовать ее в рамках ситуационноrо исчисления, OCHoвaHHOro на лоrике предикатов первоrо порядка, для доказательства истинности формулы q> по следующей схеме: если удалось доказать, что в начальной ситуации So справедливо некоторое свойство, представляемое формулой <р, И если во всех ситуациях s справедливость свойства q> влечет справедливость этоrо свойства в ситуации s' == переход (а, s) для всех действий а, то 'свойство q> имеет место для всех ситуаций s. Эта аксиома позволяет доказывать свойства, справедливые для всех ситуаций. Порядок доказательства при этом состоит из трех шаrов: доказательства TOro, что q>(So) истинна, доказательства Toro, что для любоrо действия а и любой ситуации s истинна импликация q>(s) ::::> <р(переход (а, s», заключения (вывода), что предикат q>(s) истинен для всех s. Следующая аксиома rоворит о том, что ни в одну ситуацию нельзя перейти из двух различных ситуаций в результате различных действий, или, друrими словами, в каждую ситуацию ведет только один переход. Эта базовая аксиома свидетельствует о том, что множество переходов между ситуациями можно 169 
8. Ситуационное исчисление представить в виде дерева, начинаюшеrося в некоторой начальной ситуации So: (V' а.. а 2 , S.. S2) переход (а.. S,) == переход (а 2 , S2) :::> :::> а. == а 2 1\ S. == S2' К числу базовых относятся также следуюшие аксиомы: (8.2) (V' s) So < s, Т.е. любая ситуация наступает позже начальной: (V' s) S  So :::> (3 а, s')(s == переход (а, s'», если не которая ситуация S не является начальной, то существует действие а и ситуация s', из которой при выполнении этоrо действия осуществляется переход в ситуацию s (иными словами, в любую ситуацию можно попасть из некоторой друrой); (\1' S.. S2' S3) S. < S2 1\ S2 < S3 ::> S. < S3' если ситуация s, была до ситуации S2' а ситуация S2 дО ситуации S3' то ситуация s. была до ситуации S3; (\1' а.. а 2 , S.. S2) переход (а.. S.) < переход (а 2 , s) :::> S. < S2' если переход из ситуации S. был до перехода из ситуации S2' то и ситуация s. была до ситуации S2; (V' а, s) (s < переход (а, s», т.е. любая ситуация наступает до ситуации, в которую она переходит; (\1' а, s, s') (переход (а, s»  s':::> S  S если ситуация, в которую был осушествлен переход из ситуации s, была до или тоrда же, что и ситуация s', то и ситуация S была до или Torдa же, коrда и ситуация s'. Этот список базовых аксиом может быть расширен. 8.2.2. Аксиомы допустимых действий в каждой ситуации может совершаться множество действий. Суммарное число действий, используемых для различных задач, может существенно превышать число действий, которые допустимы в тех или иных ситуациях. Аксиомы допустимых действий опредеlIЯЮТ ту совокупность действий из числа всех действий, которые допустимы в тех или иных ситуациях, позволяя сужива:rь пространство поиска решения. В общем, каждая аксиома допустимых действий имеет следующий вид: 170 
8.3. Охота на индейку допустимо (а (d.. d 2 , ..., d), s)" =="Л а (d.. d 2 , ..., d", s), rдe a(d.. d 2 , ..., d,,)  п  местный функциональный символ, задаюший действие с областью значения А, rдe d.. d 2 , ..., d"  переменные или константы катеrории D, а 1t a (d., d 2 , ..., d", s)  формула со свободной пере мен ной s, не содержашая предикатных символов допустимо и имеюшая единственную ситуационную переменную s. Такие формулы будем называть простыми. Например, если одним из действий, которые может совершать охотник в ситуаuии s, имея ружье, является выстрелить (Охотник, Ружье) и это действие в любой ситуации s может быть совершено при условии, что ружье заряжено, то одной из аксиом допустимых действий может быть аксиома допустимо (выстрелить (Охотник, Ружье), s) == заряжено (Ружье, s). 8.2.3. Аксиомы перехода в следующие ситуации Аксиомы перехода в следуюшие ситуации определяют значения функторных предикатов и функций в ситуации, в которую среда попадает в результате перехода из некоторой предыдшейй ситуации после выполнения HeKoтoporo действия. Аксиома ДЛJI фyюcroрноro предиката: 1t n (d., d 2 , ..., d", s) == ч>п(d., d 2 , ..., d", переход (а, s». Здесь ч>п(d.. d 2 , ..., d", переход (а, s» является п+1MeCTHЫM функторным предикатом, а 1t n (d.. d 2 , ..., d", s)  простая формула, все переменные которой свободные. Напри-мер, формулой для функторноrо предиката заряжено (Ружье, s) может быть следующая: ..., заряжено (Ружье, s) 1\ а ;: зарядить == == заРЯЖено (Ружье, переход (зарядить, s». Аксиома ДIIЯ функторноl функции: 1t ф (d.. d 2 , ..., d", s) == fф(d.. d 2 , ..., d", переход (а, s» == у. Здесь .rф(d., d 2 , ..., d", переход (а, s» является п+1местной функторной функцией, а 1t ф (d.. d 2 , .:., d", s)  простая формула, все переменные которой свободные. Например, формулой для функторной функции может быть следующая: ..., заряжено (Ружье, s) 1\ а ;: зарядить == == вес (Ружье, переход (зарядить, s» == 2585. 171 
8. Ситуационное исчисление 8.2.4. Аксиомы однозначности имен для действий Действия а и а', названные поразному, не MorYT совпадать. Это определяется аксиомами однозначности имен действий, имеющих вид a(d.. d 2 , ..., d)  a'(d.. d 2 , ..., d). 8.2.5. Аксиомы начальной ситуации Аксиомы начальной ситуации являются простыми формулами, которые MOryr содержать единственную ситуационную переменную начальной ситуации So' Эrи аксиомы задают начальные условия для среды, описываемой с помощью ситуационноrо исчисления. Заметим, что эти аксиомы Moryт вообще не содержать символа начальной ситуации. 8.2.6. Аксиомы оrpаничений Аксиомы оrpаничений позволяют оrраничить пространство поиска решения при наличии дополнительных знаний о динамике изменения действий и ситуаций. Укажем некоторые из этих аксиом. Введем предикаты достижима (s), произойдет (а, S). Первый из них истинен, если заранее известно, что СИТУаЦИЯ S всеrда достижима, Т.е. для данноro описания среды нам известно, что существует последовательность действий, начинающаяся в начальной ситуации, которая ведет в ситуацию S. Второй предикат истинен, если известно, что ситуация S достижима и в этой ситуации может быть выполнено действие а. На основании сказанноrо справедливы следующие аксиомы: достижима (So), произойдет (а, s) = достижима (переход (а, s», (V а, s) достижима (переход (а, s» ::J достижима (s) л допустимо (а, s). Для каждой конкретной среды совокупность перечисленных аксиом описывает ее поведение в различных ситуациях или ее динамические свойства, являясь тем самым моделью поведения этой среды. Формулируя те или иные вопросы, интересующие нас и касающиеся поведения среды, а затем доказывая или опроверrая их на основе аксиом, можно моделировать те или иные ситуации, Т.е. определять возможность ДОСПf*.ения этих ситуаций и соответствующих им истинностных значений функторных предикатов или функций. Процесс описания поведения среды попрежнему остается нетриlfиальной задачей, требует определенной аккуратности и обеспечения полноты и непротиворечивости исходноrо описания. В процессе доказательства MOryr использоваться различные стратеrии поиска, и они должны rарантировать получение положительноrо ответа, если он существует. Всем этим вопросам в специальной литературе уделяется MHoro внимания. В настоящей книrе в целях избежания переrpузки 172 
8.3. Охота на индейку ее теоретическими проблемами эти вопросы полноты и непротиворечивости не обсуждаются. Далее рассмотрим моделирование поведения ряда простых сред, широко известных в области искусственноrо интеллекта. 8.3. Охота на индейку Эта задача относится к классу широко известных задач о выстреле. В данном варианте речь идет об охоте на индеек. Индейки MOryr быть rлуховаты или хорошо слышать. Если они хорошо слышат, то при зарядке ружья они услышат звук закрываемоro затвора и спрячутся. Если они rлухие, то они не слышат этоrо звука, не прячутся и MOryт быть поражены. Сначала представим необходимые аксиомы, комментируя их по ходу дела. Аксиомы разобьем на введенные ранее rpуппы. 8.3.1. Исходные аксиомы Аксиомы начат.ной ситуации: живая (Индейка, 50)' ..., спрятавшаяся (Индейка, So)' Эти аксиомы свидетельствуют, что в начальной ситуации все индейки живые и они не спрятались. Аксиомы допустимых действий: допустимо (Зарядить, s) л допустимо (Выстрелить, s). Эта аксиома rласит: в любой ситуации, независимо ни от каких условий, можно зарядить ружье и вьttтрелить из Hero, Аксиомы перехода в следующие ситуации: допустимо (а, s) 1\ а == Зарядить::::> заряжено (Ружье, переход (а, ,s», допустимо (а, s) л а == Зарядить л..., zлухая (Индейка, s) ::::> ::::> спрятавшаяся (Индейка, переход (а, s», допустимо (а, s) л а == Выстрелить л заряжено (Ружье, s) л л..., спрятавшаяся (Индейка, s) ::::>..., живая (Индейка, переход (а, s», допустимо (а, s) л а == Выстрелить л заряжено (Ружье, s) 1\ Л спрятавшаяся (Индейка, s) ::::> живая (Индейка, переход (а, s», 173 . 
8. Ситуационное исчисление допустимо (а, s) л а == Разрядить:::> ..., заряжено (Ружье, переход (а, s», допустимо (а, s) :::> [<'Лухая (Индейка, s) ;;; <'Лухая (Индейка, переход (а, s)], допустимо (а, s) :::> (спрятавшаяся (Индейка, переход (а, s» ;;; == а == Зарядить л..., <'Лухая (Индейка, s) v спрятавшаяся (Индейка, s)]. Эти аксиомы ука'зывают, что случится В следующей ситуации с ружьем или индейкой, если то или иное действие допустимо в настоящей ситуации. 8.3.2. Поставленный вопрос Если предположить, что помимо начальной ситуации существуют такие ситуации 51, S2, S3, 54, что SO s: 51 < S2 < S3 < 54 и, соответственно, в ситуациях 51, S2, 53 будут осуществлены действия Зарядить, Ждать, Выстрелить, а ситуация S4 достижима, то спращивается, будет ли жива в этой ситуации индейка, если она не rлухая, Т.е. (SO s: 51 < 52 < 53 < 54) л произойдет (Зарядить, 51) л л произойдет (Ждать, 52) л произойдет (Выстрелить, 53) л л достижима (54) л ..., <'Лухая (Индейка, 51) :::> живая (Индейка, S4)? Таким образом постаменный вопрос означает, что формула (50 s: 51 < 52 < 53 < 54) л произойдет (Зарядить, S1) л л произойдет (Ждать, S2) л произойдет (Вы.стрелить, 53) л л достижима (54) л..., <'Лухая (Индейка, S1) априори предполаrается истинной, а следовательно, на основании правила исключения конъюнкта истинным должен быть каждый из следуюших конъюнктов: (SOs: SI < S2 < S3 < S4), произойдет (Зарядить, 51), произойдет (Ждать, 52), произойдет (Выстрелить, S3), 174 
8.3. Охота на индейку достижима (54), ...., zлухая (Индейка, 51). 8.3.3. ПОJl)"Jeиие ответа на поставленIIый lIOIIP4)t (ВЫ80Д) Доказательство вследствие ею простоты при ведем без комментария и ссылок на используемые аксиомы:  произойдет (Зарядить, 51) == достижима (переход (Зарядить, 51»,  достижима (переход (Зарядить, 51) ::> допустимо (Зарядить, 51) л л достижима (5/),  допусти.мо (Зарядить, 51) л Зарядить == Зарядить л л...., zлухая (Индейка, 51) ::> спрятавшаяся (Индейка, переход (Зарядить, 51»,  спрятавшаяся (Индейка, переход (Зарядить, 51» == == спрятавшаяся (Индейка, 52) л 52 == переход (Зарядить, 51),  спрятавшаяся (Индейка, 52),  допустимо (Зарядить, 51) л Зарядить == Зарядить ::> ::> заряжено (Ружье, переход (Зарядить, 51»,   заряжено (Ружье, переход (Зарядить, 51» == заряжено (Ружье,' 52» л л 52 == переход (Зарядить, 51»,  заряжено (Ружье, 52),  произойдет (Ждать, 52) ::> допустимо (Ждать, 52),  допустимо (Ждать, 52) ::> (спрятавшаяся (Индейка, переход (ждать, 52) == == Ждать == Зарядить л...., zлухая (Индейка, s) v спрятавшаяся (Индейка, 52)], 175 
8. Ситуационное исчисление  спрятавшаяся (Индейка, переход (Ждать, 52» = = спрятавшаяся (Индейка, 52)],  спрятавшаяся (Индейка, 53) л 53 == переход (Ждать, 52) = = спрятавшаяся (Индейка, 52)],  спрятавшаяся (Индейка, 53)],  произойдет (Выстрелить, 53) :::> допустимо (Выстрелить, 53),  допустимо (Выстрелить, 53) л Выстрелить == Выстрелить л л заряжено (Ружье, 53) л спрятавшаяся (Индейка, 53) :::> :::> живая (Индейка, переход (Выстрелить, 53»,  живая (Индейка, переход (Выстрелить, 53» = живая (Индейка, 54) л л 54 == переход (Выстрелить, 53),  живая (Индейка, 54). Вопросы и упражнения 1. Что такое ЯЗblК ситуаuионноro исчисления? 2. Какие rpYnnbl аксиом входят в ЯЗblК ситуаuионноro исчисления? 3. Перепишите вывод к задаче об охоте на индейку, приводя на каждом шаrе вывода используеМblе аксиомы. 4. Задача об автоматическом Вblстреле сформулирована на ЯЗblке ситуаuионноro исчисления в виде следующей rpYnnbl аксиом: допустимо (Зарядить, s) л допустимо (Выстрелить, s). допустимо (Разрядить, s) = заряжено (Ружье, s); живой (Индивидуум, s); произойдет (Зарядить, 51) л произойдет (Ждать, 52) л л произойдет (Выстрелить, 53); 51 < 52 < 53 < 54; 176 
Вопросы и упражнения достижима (54); допустимо (а, s) =:J [заряжено (Ружье, переход (а, s» == а == зарядить л л  а == Зарядить л заряжено (Ружье, s)]; допустимо (а, s) =:J [живой (Индивидуум, переход (а, s» == ==  (а = Выстрелить л заряжено (Ружье, s) л живой (Индивидуум, s)]. Разбейте аксиомы задачи об автоматическом выстреле на rpYnnbI. Объясните существо задачи на естественном языке. Сформулируйте на языке ситуационноro исчисления вопрос: существует ли ситуация 54, в которой Индивидуум может остаться живым после выстрела. Дайте ответ на этот вопрос с помощью формальноrо вывода на языке ситуационноro исчисления. 5. Задача о стенфордском преступлении отличается от задачи об автоматическом выстреле тем, что в третьей аксиоме исключается литерал произойдет (Зарядить, 51) и добавляется аксиома..., живой (Индивидуум, 54). Разбейте аксиомы этой задачи на rpYnnbI. Сформулируйте на языке ситуационноro исчисления вопрос: было ли ружье заряжено в ситуации 54. Дайте ответ на этот вопрос с помощью формальноrо вывода на языке ситуаuионноro исчисления. 6. Задача о русской охоте на индейку отличается от задачи об охоте на индейку, рассмотренной в настоящей rлаве, тем, что вместо ружья используется револьвер, барабан KOToporo заряжен не полностью. В зависимости от поворота барабана возможны две ситуации. В одной из них патрон окажется напротив бойка, а в друrой патрон будет вне бойка. Будем полаrать, что каЖдое из ЭТИХ положений. барабана зависит от двух действий П()вернутьнапротив и Повернутьвне. Torna аксиоматизаuия этой задачи Выrлядит следующим образом: допустимо (Повернутьнапротив, s) л допустимо (Повернутьвне, s). допустимо (Зарядить, s) л допустимо (Выстрелить, s); допустимо (а, s) =:J [}аряжен (Револьвер, переход (а, s» == а == зарядить v v заряжен (Револьвер, s)l; допустимо (а, s) =:J [zотовквыстрелу (Револьвер, переход (а, s» == == а == Повернутьнапротив v zотовквыстрелу (Револьвер, s) л л..., а == Повернутьнапротив]; оопустимо (а, s) =:J [живая (Индейка, переход (а, s» == живая (Индейка, s) л л  (а == выстрелить л заряжен (Револьвер, s) л л i!Oтовквыстрелу (Револьвер, s)]; произойдет (зарядить, 51) л проuзойдет (выстрелить, 5З); произойдет (Повернутьнапротив, 52) v произойдет (Повернутьвне, 51). Разбейте аксиомы этой задачи на rpYnnbI. Сформулируйте на языке ситуаuионноrо исчисле'ния вопросы: 1) может ли остаться индейка живой в ситуации 54; 2) может 177 
8. Ситуационное исчисление ли индейка быть подстреленной в ситуации 54. Дайте ответ на эти вопросы с помощью формальноro вывода на языке ситуационноro исчисления. 7. Задача об yroHe автомобиля состоит в следующем. Владелец припарковал автомобиль на улице в неположенном месте и удалился по своим делам. Коша он вернулся, автомобиля на месте не было. Заключение владеЛbUа  автомобиль был украден (yrHaH) после пар ковки или убран с улицы службами автоинспекции вследствие неправильной парковки до ero возвращения к .месту парковки. Введем действия Припарковать, Yzнaть и Убрать. Предположим, что автомобиль был припаркован в Некоторой ситуации 5,.. На языке ситуauионноro исчисления это можно записать следующим образом: припаркован (АвтомоБWlЬ, 5m) л достижима (5 m ); факт исчезновения автомобиля чуть позже после парковки записывается следующим образом: достижима (5) л..., п р ипа 'Р кован ( АвтомоБWlЬ, 5) л S. < 5. п п т п Введем аксиому перехода в следующую ситуацию: допустимо (а, s) ::::) (припар"ован (АвтомоБWlЬ, переход (а, s» == == припар"ован (АвтомоБWlЬ, s) л а :1; YZHaтb л а :1; Убрать л л а == Припар"овать). Сформулируйте на языке ситуационноro исчисления вопросы: 1) Mor ли быть автомобиль yrHaH? 2) Mor ли быть автомобиль убран? Расширьте аксиоматизацию, если введенных аксиом недостаточно. Разбейте аксиомы на rpYnnbl. Дайте ответ на вопросы с помощью формальноro вывода на языке ситуационноrо исчисления. 
9. MOДAJIЬHOCTЬ В СИТУАЦИОННОМ ИСЧИСЛЕНИИ в этой i!Лаве рассказано, что такое модальность и какую роль она Ui!paem в ситуационном исчислении, превращая ею в модальное ситуационное исчисление или модальную ЛОi!ику. Особое внимание уделено прuменению модальной ЛOi!ики для анализа корректности поведения параллельнbIX процессов. Изложены основы использования модальной ЛОi!ики для анализа корректности параллельных процессов. Описана используемая для этою анализа модель парал.лельных процессов. Подробно рассмотрены наиболее типичные свойства корректности параллельных процессов, их формальная запись в языке модальной ЛОi!ики. Приведены сведения о принципах формальною доказа тельства (проверки) свойств корректности. 9. t. Модальность и модальная лоrика При развитии различных исчислений как формальной основы для рассуждений о тех или иных явлениях нашей среды постоянно наблюдается стремление по возможности полно и точно выразить и учесть динамику изменений этой среды. Самым простым исчислением является лоrика высказываний (см. rл. 2). Для TOro чтобы выразить динамику изменений среды, например во времени, средствами лоrики высказываний, придется ввести переменные, истинность которых будет означать наступление Toro или иноrо момента времени. Если таких моментов MHoro, то описание в лоrике высказываний становится крайне неудобным. Лоrика предикатов nepBoro порядка (см. rл. 3) является более сложным, но и более выразительным исчислением в результате введения кванторов, функций и предикатов. Функции и предикаты Moryт зависеть от временных переменных, которые позволяют описывать динамику среды. Ситуационные исчисления еще более удобны для описания динамики среды, поскольку они основаны на использовании специальных ситуационных переменных, значения которых MOryт зависеть от времени или пространства. 179 
9. Модальность в ситуационном исчислении В некоторых случаях рассуждения о динамике изменения во времени ситуаций и связанных с этими ситуациями фактов не требуют знания ни точноrо времени наступления этих ситуаций, ни использования самих ситуаций (ситуационных переменных). Достаточным является установление истинности Toro, что та или иная формула, выражающая определенные отношения между объектами среды, станет, в конце концов, истинной, не станет истинной, станет истинной с какойлибо степенью уверенности и Т.п. при определенных значениях объектных переменных внекоторой ситуации, явное значение которой нас не интересует. На естественном языке для выражения этих отношений обычно используют слова типа "допустимо", "необходимо", "возможно" и друrие, выражающие определенную степень уверенности наступления какихлибо событий во времени или пространстве, но без указания точноro времени или места. Возможность делать в лоrике высказывания, содержащие выразительные средства, которые характеризуют подобную степень уверенности или «силу» высказывания, называют .мoo.uьностью. Исчисления, в которых введены специальные символы или слова (модальные операторы), с помощью которых это делается, называют модальными исчислениями. В настоящей rлаве рассмотрим при мер одною из таких исчислений, основанною на лоrике предикатов первою порядка и называемоrо обычно BpeMeHHblM модальным исчислением или временной модальной лоrикой. Слово "временное" появляется здесь в вязи с тем, что изменение подразумеваемых ситуаций происходит во времени. В нашем случае время течет линейно. Ситуации, естественно, тоже изменяются линейно в этом времени. Обсудим более подробно концептуальную суть временною модальною исчисления. Рассмотрим, например, утверждение: «Идет дождь». Очевидно, что истинность этою yrверждения зависит от двух факторов (параметров): даты и места, которые подразумеваются, но не употреблены. Выбирая определенные дату (о и место 10 и yroчняя с их помощью указанною утверждения, получаем друrое yrверждение: 4Идет дождь в месте 10 во время (о'" Это yrверждение полностью определено и должно быть либо ложным, либо истинныI.. Теперь можно ввести атом дождь (/, (): «Идет дождь В месте 1 во время (», который имеет равные приоритеты для обоих параметров 1 и (. Модальный подход предполаraет два различных приоритета или уровня для параметров 1 и (. Параметр с более высоким приоритетом определяет ситуацию и не употребляется явно в высказываниях. Так, если в качестве переменной, полностью определяющей ситуацию, выбрать время, то вместо атома дождь (/, () будет использоваться атом дождь (/). Значение этоrо предиката зависит как от ситуации (в данном случае времени или даты), так и от места. Но точное значение ситуации нас не интересует, поскольку мы собираемся рассуждать о таких вещах, как возможность дождя в месте 1 в принципе или неизбежность дождя в месте 1 коrдалибо вообще и Т,П. 180 
9, J. МодШlьность и модШlЬНая лоzuк.о Переход от лоrики предикатов к модальной лоrике не такой резкий, как переход от лоrики исчисления высказываний к лоrике предикатов. При этом выбор переменных, определяющих ситуацию, произволен и зависит от субъективной точки зрения. Имеются очевидные преимущества введения модальноrо формализма. Он позволяет нам сделать перемеННblе, определяющие ситуацию, более важными, чем все остальные, и ввести неявную зависимость формул модальной лоrики от ситуаций и тем самым от переменных, ее определяющих. Временная модальная лоrика предполаraет наличие базисною отНОlllеНIIR достиЖllJtlостll между ситуациями: R(5, 51), которое определяет возможность перехода из одной ситуации 5 в друryю ситуацию 5'. Это отношение имеет место, если ситуация 51 достижима из ситуации s. Вернемся снова к примеру о дожде, Как уже отмечалось, здесь ситуации определяются датами (днями), Т.е. ситуация и день или дата в данном случае одно и то же. Между ситуациями можно установить отношение достижимости: R(5, 51), если ситуация (день) 51 следует за ситуацией (днем) s. fлавная идея обозначений, принятых в модальной лоrике, состоит в стремлении избежать обозначения ситуаций (дат в нашем при мере) и отношения достижимости. Вместо этоrо вводят два специальных модальных оператора, описывающих свойства ситуаций, ДОСТИЖИМЫХ из данной ситуации: оператор _ необходи мости О и оператор возможности О. Смысл этих операторов заключается в следующем. Пусть w является некоторой формулой модальной лоrики. Torдa Dw и Ow также формулы модальной лоrики. Значение формул w , Dw И Ow неявно зависит от некоторой текущей ситуации 5. Формула Dw считается истинной в ситуации s, если формула w исп.fнна на всех ситуациях, достижимых из ситуации 5, включая собственно ситуацию 5. Формула Ow считается истинной в ситуации s, если формула w истинна хотя бы в одной ситуации, достижимой из ситуации s. Обозначим w(s) значение формулы w в ситуации s. Тоrда правила вывода истинных З'начений модальных формул Dw(s) и Ow(5) можно записать следующим образом: w(s), V(s')IR(s, 5') л w(s'» f--- Dw(s), w(s), 3(s')[R(s, s') л w(s')]  OW(5). (9.1) Эти правила введены только для тою, чтобы пояснить смысл модальных операторов. На самом деле, как уже юворилось в формулах модальной лоrики символ ситуации не используется, но подразумевается. Модальная формула записывается с помошью пропозициональных символов, предикатных символов (включая равенство), функциональных символов, констант, переменных, классических операторов (связок) и кванторов, а также модальных операторов. Формулу без модальных операторов, являющуюся по существу формулой лоrики предикатов первоrо порядка, называют иноrда стllтll.еск.ой. 181 
9, МодШlЬНQсть в ситуационном исчислении Модальная формула, называеМa5iI иноrда iJшItIJfIll"ескоu, содержит статические подформулы, к которым применены классические и модальные операторы. Истинностное значение модальной формулы в не которой ситуации можно найти на основе правил (9.1). При этом предполаrается, что в каждой рассматриваемой ситуации все классические символы формулы можно интерпретировать и конкретизировать таким образом, что ее истинностное значение будет оцределено. Например, формула дождь (/) ::> О..., дождь (/) эквивалентна yrверждению «если В какойлибо день в какомлибо месте 1 идет дождь, то наступит друrой день, коrда в этом же месте 1 не будет дождя». Для Toro чтобы эта формула стала истинной при некотором конкретном значении места 1, должен существовать день 5) в который дождь начался и затем прошел в этом же месте, Утверждению «если в какойлибо день в какомлибо месте 1 идет дождь, то он будет идти и в любой дрyrой день в этом же месте 1» соответствует формула дождь (1) ::> Одождь (1). Для ТОю чтобы эта формула стала истинной при не котором конкретном значении места 1, должен существовать день 5, в который дождь начался и затем уже никоrда не прекращался в этом месте. Приведем при меры формул модальной лоrики, поясняя на основе правил (9.1), при каких условиях эти формулы будyr истинными. Формула O(Ow) истинна в ситуации 5, если существует хотя бы одна ситуация 5', достижимая из ситуации 5, в которой истинна формула Ow. Иными словами, истинность формулы O(Ow) означает, что существует ситуация 5'. достижимая из ситуации s, такая, что в ситуации s' и во всех достижимых из нее истинна формула w. Формула D(Ow) истинна в ситуации s, если во всех,ситуauиях s', достижимых из ситуации s, истинна формула Ow. Иными словами, истинность формулы O(Ow) означает, что для всех ситуаций s', достижимых из сит.уации $, можно найти хотя бы одну достижимую из s' ситуацию, в которой истинна формула w. Формула O(w::::> Ow) истинна, если для всех ситуаций 5', достижимых из s, истинна формула w ::> Ow. Истинность формулы w ::::> Ow в ситуации s' означает истинность формулы w во всех ситуациях, достижимых из ситуации 5'. Таким образом, истинность формулы O(w::> Ow) означает, что формула w становится всеrда истинной в любой ситуации .$', достижимой из 5, И остается истинной для всех ситуаций, достижимых из 5'. Модальная лоrика построена на базе лоrики предикатов первоrо порядка, и в ней, естественно справедливы понятия, используемые в последней: общезначимость, выводимость и др. В частности, формулы O...,W::>..., Ow, О ..., w ;: ..., Ow 182 
9. J. МодШlьность u модШlьная ЛOluка общезначимы. Формула О( w. :::> w 2 ):::> (Dw l :::> Dw 2 ) также общезначима. Это означает (на основе правила модус поненс), что истинность формулы D(w. :::> w 2 ) всеrда влечет истинность формулы Dw. :::> Dw 2 . Задавая разлlfчные оrpаничения на отношение ДОСТИЖИМОСПI R, можно получать различные модальные исчисления. В нашем случае полаraем, что отношение R всеrда рефлексивно (5&) и транзитивно «SI&2 л 52&3) :::> 5.&з», Вследствие этоro общезначимы все следующие формулы: OW:::> W блаrодаря рефлексивности (если во всех ситуациях, достижимых из 5, истинна w, то w истинна и в ситуации 5); OOw :::> Ow блаroдаря транзитивности отношения R (если существует ситуация 52' достижимая из 5.. которая в свою очередь достижима из 50' причем в ситуации 52 формула w истинна, то существует 5з, достижимая из 50' в которой формула w также истинна, и 5з == 52)' Как уже отмечалось, модальная лоrика, рассматриваемая в настоящей книrе, в своем названии имеет добавку «временная,). В связи С этой добавкой на модальную лоrику, а точнее на базовое отношение достижимости, налаraются дополнительные условия, состояшие в том, что ситуация 5' достижима из ситуации 5, если ситуация 5 может перейти в ситуацию 5' блаrодаря изменениям среды во времени, В настоящей книrе оrpаничиваемся линейным и дискретным изменением ситуаций. Это означает, что , рассматриваемая нами временная модальная лоrика имеет дело с последовательностями вида 50' 51' ..., причем 5j достижимо из 5, тоrда и только ТОrда, если ;  j, а 50 есть единственная начальная ситуация, Блаrодаря дискретности последовательностей ситуаций мы можем ссылаться не только на ситуации, которые являются далекими последователями данной, но и на единственную следующую ситуацию. Поэтому в ряде случаев целесообразно ввести оператор следующей ситуации, обозначаемый о, и отношение непосредственноrо следования '(5, 5'). Очевидно при этом, что транзитивное рефлексивное замыкание отношения r дает отношение достижимости R, введенное выше. Последовательность 50' 5., 52' ,.., для которой отношение r(s" 5,+1) имеет место для всех ;  О, интуитивно соответствует развитию процессов во времени, наблюдаемому как последовательность дискретных ситуаций. Дадим теперь краткую характеристику языка временной модальной лоrики, который мы частично уже рассмотрели и который будем использовать в дальнейшем. В книre этот язык используется для рассуждений о процессах и проrpаммах, и ero детали вводятся постепенно и на при мерах. 183 
9. Модальность в ситуационном исчислении 9.2. Язык временной модальной лоrики Язык временной модальной лоrики основан на языке лоrики предикатов первоrо порядка и использует множество ИНдивидуальных (объектных) и пропозициональных переменных и констант, Функuиональных и предикатных символов. Множество всех переменных разбивается на два подмножества: rлобальных и локальных переменных. fлобальные переменные имеют одну область интерпретации. Локальные переменные подразделяются на rpуппы, каждая из КO'fорых имеет свою, O'fличную от дрyrих rpупп, область интерпретации. Речь об этих rруппах пойдет позднее. Форму"ы epe.мelfllOii MOi)tlA6Hoii .II0ZIlKU строятся из атомарных формул (атомов), к которым применяются лоrические (л, v, =>, =, ....,) связки, модальные операторы (О, О, О, u), скобки и кванторы (3, \1') над индивидуальными rлобальными переменными. Формулу называют КAaCCIl'leCKOii, если она не имеет модальных операторов. Для TOro чтобы уметь вычислять формулы временной модальной лоrики, как и ранее, необходимо определить среду и интерпретировать в этой среде множество переменных, констант, функций, предикатов, формул. Интерпретация и вычисление значений формул будет подробно проиллюстрировано применительно к конкретной среде параллельных проиессов или, точнее, модели параллельных проuессов. 9.3. Модель параллельных процессов Одной из популярных областей применения модальной лоrики является формулировка условий корректности параллельных nporpaMM или процессов и проверка истинности этих условий для конкретных параллельных проrpамм. Для Toro чтобы формулировать эти условия, необходимо четко знать, что же собой представляют параллельные процессы. Для этоro рассмотрим модель параллельных процессов. Модель параллельных проuессов состоит из т, т 1, проuессов Р.. ..., Рm' выполняющихся параллельно. Каждый процесс Р;, ; == 1, .." т, представляет собой rpаф переходов с вершинами, обозначаемыми ', ', ..., '. Множество L, == {/, 1'.. ..., ':} называется также множеством мест проuесса Р;. Места Moryт быть активными и пассивными. Переходом а в rрафе переходов процесса называется дуra, помеченная условием и следствием перехода. Переход вместе с инuидентными ему вершинами (местами) изображен на рис. 9.1. Q) I С а (,) I ':=/а(') I  Q) Рис. 9.1. Переход а и инцидентные ему вершины (места) 1, l' 184 
9.3. Модель парамельных процессов На рисунке обозначено: у ::;:: (У)I ..., У")  множество локальных ИНдивидуальных и пропозициональных переменных, са(у)  условие, при истинности Koтoporo и активном месте / происходит выполнение перехода а из места / в место /'; у: ::;:: f. (y )  действие или константа перехода а', f. Q Q  преобразование, ассоциируемое с этим действием. Если место ак:rивно и са(Ь) истинно, то rоворят, что переход а является допустимым для у::;:: h Место / может иметь k инцидентных ему переходов (рис. 9.2). С](У)/ у:=!](у) [} ckfy)/ y:=!kfy) lk Рис. 9.2. Совокупность переходов 1, ..., k Полным входным условием для места / является Е,(у) ::;:: с.(у) v С 2 (у) V ... V ck(Y), При этом с;(у) л cj(y) ЕЕ Л, если i :F- j, И не требуется, чтобы Е,(у) == И. Такие процессы называют обычно детерминированными. Если процесс Р; имеет хотя бы один переход а, который является допустимым, то процесс Р J называют дoпycтuмы.м. Переменные множества у::;:: (Уl' ..., у) называют Рllспределяемы.мu. Эти переменные доступны всем процессам. Поэтому рассматриваемую модель параллельных процессов называют .модеАъю с РllспредеAJIе.мы.ми пере.менны.ми. В такой модели свя'зь и синхронизация между процессами осушествляется с помощью распределяемых переменных. Совокупность параллельных процессов будем так:же называть npolptI.JНJНoii. Часто будем представлять процесс в текстовой линейной форме вместо rpафовой. Каждый переход и инцидентные ему вершины будем представлять одним предложением, называя ero иноrда комаНдОЙ. Приведем примеры предложений в текстовой форме и соответствующие им rpафы (рис. 9.3, 9.4), являющиеся частным случаем rpафическоro представления Переходов, приведенных на рис. 9.1, 9.2: ЕСЛИ * /* ТО у: ::;:: f(y) НА /'; или /: у. ::;:: f(y) НА /'; (9.2) ([) I у: == f(y) НJ Рис. 9.3. Переход, соответствуюший (9.2) 185 
9, Модальность 8 ситуационном исчислении ЕСЛИ * /* С(у) ТО НА т; или /: ЕСЛИ С(у) ТО НА т; ЕСЛИ * /* НЕ С(у) ТО НА /'; или /: ЕСЛИ НЕ С(у) ТО НА /'; (9.3) ЕСЛИ * / * ТО (и., ..., и): == /(v., ..., v) НА /'. Рис. 9.4. Переход, соответствуюший (9.3) Последнее предложение содержит проrpаммный cerMeHT (и., .."и): == == f(v.. ...,v), деталями KOТOporo мы не интересуемся. Сущеcrвeнным для нас является только следующее: 1) cerMeHT может изменять только переменные и.. ..., и". р  о и может использовать д.ля этоro только переменные v.. "',V., S  о; 2) ВЫПОЛJ:lение cerмeHтa должно обязательно завершиться. Предложение, В результате KOТOpOro происходит остановка выполнения процесса в месте /, если оно до этоro Бы!o активным, имеет ВИд ЕСЛИ * / * ТО СТОП; или /: СТоп. п....м,.,. Рассмотрим параллельную проrpамму вычисления биноминальных коэффициентов C для чисел п и k, таких, что О s: k s; п: ПРОFРАММА Биноминальные коэффициенты ВХОДНЫЕ ЦЕЛЫЕ п, k, У. : == п, У2: == о, Уз: == 1 ВЫХОДНЫЕ ЦЕЛЫЕ Уз ПРОЦЕСС Числитель ВХОДНЫЕ ЦЕЛЫЕ У.. У2 186 
r 9.3, Модель параллельнЬ/Х процессов ВЫХОДНЫЕ ЦЕЛЫЕ Уз ЕСЛИ. /0. (У, == (п  k» ТО НА /. ЕСЛИ. /0 · НЕ (У. == (п  k» ТО НА /. ЕСЛИ.. /,. ТО Уз: == УзУ. НА /2 ЕСЛИ. /2. ТО У.: == У, l НА /0 , ЕСЛИ. /.. ТО СТОП КОНЕЦ Процесс Числитель ПРОЦЕСС Знаменатель i ВХОДНЫЕ ЦЕЛЫЕ У.. У2 ВЫХОДНЫЕ ЦЕЛЫЕ Уз ЕСЛИ. то. (У2 == k) ТО НА т. ЕСЛИ. то. НЕ (У2 == k) ТО НА т. ЕСЛИ. т,. ТО У2: == У2+ 1 НА т 2 ЕСЛИ. т 2 · (У.  У2  п) ТО НА тз ЕСЛИ. т 2 · НЕ (У. + У2  п) ТО НА т 2 ЕСЛИ. тз. ТО Уз: == У/У2 НА то ЕСЛИ. т. ТО СТОП . КОНЕЦ Процесс Знаменатель КОНЕЦ Процесс БиномиНШlьные коэффициенты. Как видно из приведенноro описания, процесс Числитель, последовательно используя значения УI' равные" п, nl, ..., nk+l, вычисляет числитель в Уз' Проuесс Знаменатель, используя значения У 2 ' последовательно равные 187 i 
9. Модальность 8 ситуационном исчислении 1, 2, ..., k, вычисляет знаменатель, присваивает значения У 2 , а затем делит Уз на У 2 . Предложения ЕСЛИ'" т 2 * (у. + У2  п) ТО НА тз, ЕСЛИ'" т 2 '" НЕ (YI + У 2  п) ТО НА т 2 синхронизируют выполнение процесса Р2 (Знаменатель) с процессом Р. (Числитель), чтобы обеспечить деление Уз на i только после тoro, как оно будет умножено на ni+ 1 без остатка. Основанием этому служит теорема, утверждающая, что произведение i последовательных чисел k. (k + 1) ... (k + i 1) всеrда делится на i! Рассмотрим теперь, как параллельные процессы вычисляются. Вместо понятия «вычисление» будем использовать понятие «выполнение» как соответствующее понятию процесса. 9.4. Мультипроrpаммное выполнение параллельных процессов На уровне модели паралJ1ельных процессов предполаraется, что процессы выполняются параллельно. Физически это обусловливает наличие для аждоro процесса cвoero индивидуальноro процессора. В реальной жизни количество процессоров компьютера оrpаничено и вместо дисциплины параллельноro выполнения процессов используются дисциплины квазипараллельноrо, в частности на одном процессоре. В этом случае для эквивалентности результатов необходимо учитывать дополнительные оrраничения на выполнение процессов и использовать специальные средства синхронизации. В настоящей rлаве рассмотрен однопроцессорный вариант выполнения параллельных процессов, называемый мультипроrраммным, причем все процессы предполаraются детерминированными. Ero rлавное свойство состоит в чередовании выполнения переходов различных процессов на одном процессоре как последовательности дискретных шаrов. На каждом шаrе (такте) выбирается один процесс, выполнение Koтoporo допустимо, и выполняется ero допустимый переход. (Заметим, что этот переход в каждом процессе единственный вследствие детерминированности процессов.) Выбором процесса ведает специальный планировщик или диспетчер. Диспетчер может осуществлять холостые такты, в которых ни один процесс не выполняется, и значения всех переменных, включая переменные места, остаются неизменными. В случае, коrда ни один из допустимых проuессов не может быть выполнен и холостой такт является единственно возможным выбором, будем roворить, что модель параллельных процессов находится в дед.ло"е. Спеuиальный случай такой ситуации проявляется, коrда все процессы остановились (находятся в терминальных местах). Следует также отметить, что каждый переход выполняется без KaKoro либо вмешательства со стороны дрyrих процессов, в связи с чем все операции, относящиеся к переходу, называются неделимыми или атомарными. Рассмотрим условия, при которых мультипроrpаммное выполнение параллельных процессов будет давать те же результаты, что и чисто 188 
9.4. МультиnрОi!ра.ммное вьтолнение парамельных nрОцессов параллельное. Предположим, что в нашем распоряжении имеется два параллельных процесс а Р. и Р2' имеющих соответственно допустимые переходы (рис. 9.5). Мульrnпроrpаммное выпо;шение этих процессов дает единственный результат у == О, так как не имеет значения, что мы сделаем вначале: прибавим 1 в процессе Р" а затем вычтем I в процессе Р2 или поступим наоборот. Истинно параллельное выполнение может дать либо у == 1, либо у ==  1 в зависимости от реальноrо времени выполнения переходов. При этом предполаrается, что процессы одновременно получают значение у == о и какой из них последним положит вычисленное им значение у, тем оно и будет, Т.е. если Р. выдает результат вычисления значения у позже Р2' то будем иметь у == I в качестве результата, если раньше, то у == I. Таким образом, мультипроrpаммное выполнение не отражает реальноrо параллелизма. Эrо является следствием тoro, что при мультипроrpаммном выполнении команды у: == у + 1, у: == у  1 содержат слишком MHoro событий и не являются «атомарными». (Атомарными мы называем те команды или переходы, которые происходят без вмешательства какихлибо друrих.) Выполнение каждой из этих команд включает в себя: выбор значения распределяемой переменной, вычисление выражения, стоящеrо справа, присвоени& значения распределяемой переменной. В реальном параллельном выполнении процессов эти события MOryт чередоваться с событиями в дрyrих процессах, приводя таким образом к взаимовлиянию. При тщательном изучении выполнения п.роцессов обнаруживается, что "plI"'lI'1eC"1IAUI событиями являются выбор и присвоение значений распределяемым переменным. Разделим все переменные на две rpуппы: локальные, или частные, переменные процесса   это те переменные, которые изменяются только этим процессом; распределяемые переменные  ЭТ9 те переменные, к которым имеют доступ дрyrие процессы. Появление переменной в левой части команды назовем .модllфllll,lIрующеii ССы""ой на переменную, в правой  ссы""ой дос",упа " пере.менной. Появление переменной в команде данноro процесса назовем "ри",lI'1ес"ой ССЫАКОй на пере.менную, если справедливо одно из следующих услоий: 1" у: == о Процесс Р. Процесс Р] Рис. 9.5. Параллелъные процессы Р. и Р2 189 
9. Модальность в ситуационном UC'lислении у: == О модифицирующая ссылка на пере менную, к которой имеется ссылка доступа со стороны дpyroro процесса; ссылка доступа к. переменной, на которую имеется модифицирующая ссылка со стороны друroro процесса. Мультипроrраммное выполнение позволяет получить те же результаты, что и при реальном параллелизме, если О справедливо следующее пpa.uo един- ственност. "puтuvec"oi ссшжи: кая команда может иметь cat-foe большее одну критическую ССblЛку. В предыдущем при мере команда у: == у +) нарушает это правило, :так как она имеет две критические ссылки. Модифицируем рассмотренную выше fJporpaMMY следyIO Рис. 9.6. Модифицированные шим образом (рис. 9.6). На рисунке 1. параллельные процессы Р. и Р1 И 11  локальные перемеННJ>I-е . процессов Р. и Р2 COOTBeTCTBeHHO. Теперь при мультипроrpаммном ВЬШ01lНении нашей модели возможно получение в качестве результата {О,  1, +)} в зависимости от диспетчирования. Подь(тожим обсуждение отношения между параллельным и мультипроr раммным выполнением параллельных процессов. Модель параллельныx процессов, подчиняющаяся правилу единственности критической ссьтки, может давать одно и то же множество результатов при параллельном и мультипроrpаммном выполнении. Для каждой модели параллельных процессов существует эквивалентная модель, подчиняющаяся правилу единственности ссылки. Таким образом, используя мультипроrpаммное выполнение параллельных npoцессов, можно представить все возможные сиryации, возникающие. при параллельном ВЫполнении. Однако следование только правилу единственности критической ссьтки при мультипроrpаммном выполнении еще не raрантирует результата, эквивалентноro результату параллельноro выполнения. Для достижения эквивалентности результатов необходимо должным образом управлять (диспетчировать) выполнением процессов, в частности, запрещать вмешиваться в вьmолнение определенноro множества переходов (команд) ошюro процесса до их завершения, прежде, чем переходить к выполнению переходов дрyroro. Управление тaкoro типа обычно называют синхронизацией выполнения : процессов. Одним из средств такой синхронизации являются специальные I переходы или команды, называемые семафорами. 9.4.1. Семафоры Семафоры являются особыми атомарными командами, для которых делается необходимое в этом случае исключение из правила единственности 190 
9.4, Мультипроеро.ммное выполнение nараллельных процессов критической ссылки, поскольку они выступаюr как стандартный способ синхронизации параллельных процессов и имеюr дело со специальными семафорными переменными. . Эrих команд две и их обозначают занять (у) и освободить (у). Koмatlд занять (у) эвалентна предложению ЕСЛИ * [* у >0 ТО у: == y 1 НА [', rде ['  место перехода, следующеrо в записи процесса сразу за этим предло жением. для краткости этот переход можно записывать в виде [: занять (у). Команда освободить (у) эквивалентна предложению  ЕСЛИ * [* ТО у: == у + 1 НА [', rде [' также место перехода, следующеro в записи процесса за этим предло жением. для краткости ее можно записa:rь в виде [: освободить (у). При преобразованиях процессов с целью удовлетворить правила един ственности критической ссылки семафоры не изменяют и всеrда оставляют в том виде, как они определены выше. Никакие друrие операции над семафорными переменными у, кроме указанных выше, не допускаются. Обычно семафорным переменным вначале присваивается 1 или друroe положительное целое число. Процесс, достиrший команды занять (у), будет выполняться дальше только в том случае, если у > О, после этоrо у уменьшиться на 1 и получит значение, равное О. Таким образом, место, которому cooтвeтc:rByeT команда занять (у), является точкой, которая синхронизирует данный процесс с друrими процессами, содержащими команды занять (у) И освободить (у) с той же самой переменной у. Пример. Рассмотрим модель параллельных процессов следующеro вида: у: == 1 Процесс Р)  [1: занять (у) m l : освободить (у) Процесс Р 2 [2: занять (у) пil: освободить (у) Процесс P k [k: занять (у) . тk; освободить (у) Предположим, что Р 1 первым достиraет [1, Korдa у == 1, Он проходит [1 И устанааливает у == О. ДО тех пор пока Р 1 J;iаходится М<:Жду [1 и m l , у будет ocтaBaTЬC равным О и любой дрyroй процесс Р;, который попытается идти далее cBoero Места [1, i > 1, будет задержан здесь, поскольку УСЛQвие у > о ложно. ОН будет ожидать здесь до тех пор, пока у снова не станет положительным, что может быть только после вызова' процессом Р 1 своей команды освoбodить (у) в m l . Даже если Р. и Р 2 достиrли [1 и [2 одновременно, неделимость команды занять (у) raрантирует, что только один процесс Р; може:r получить доступ к своей области, лежащей меЖдУ [; и m i . эта область 191 L 
9. Модшzьность в ситуационном исчислении называется "Pllтllflec"oi се"l(lIем, и наше использование семафоров в этом при мере rарантирует вЗlIlIМное IIС""Юflенllе достУlI11 " "plIтllflec"ou се"l(lIl1, Т.е. только один из процессов может выполнять критическую секцию в любом такте. Взаимное исключение критических секций необходимо, KOrдa двум или более процессам необходим доступ к распределяемым переменным или ресурсам, таким, например, как диски, и нам необходимо защитится от взаимовлияния этих процессов или от попыток дрyrих процессов получить доступ к тому ресурсу, с которым данный процесс уже имеет дело. Пример. Вернемся еще раз к проrpамме вычисления биноминальных коэффициентов. Заметим, что Уз  критически распределяемая переменная, Т.е. переменная, которая встречается в команде /.: Уз: == УзУ!, не удовлетворяющей правилу единственности критической ссьтки. Следовательно, мы должны разбить команду ЕСЛИ * /.* ТО Уз: == УзУ, на две: ЕСЛИ * /, * то 1,: == УзУ, НА /; ЕСЛИ * /. то Уз: == 1,. Подобным образом команду ЕСЛИ * тз * то Уз: == У/У2 разобьем на две: ЕСЛИ * тз * Т О 12: == У/У2 НА т;; ЕСЛИ * т; * то Уз: == 12' Если считать, что допустима последовательность /" тз, /;. т;, то это означает, что /; запоминает некоторое значение в Уз. а т; немедленно перезаписывает туда дpyroe значение, запомненное в 12' Таким образом, значение УЗ, вычисляемое в 1" будет полностью потеряно и результат будет неверным. Чтобы предотвратить такую неудачу. мы должны защитить каждую из последовательностей /,. /; и тз. т; от взаимноro влияния с помощью семафора У4' В результате проrpамма вычисления биноминальных коэф фициентов принимает вид 192 
9.4. Мультипроzраммное выполнение паршLлельных процессов У.: == п, У 1 =: О, Уз: == 1, У 4 == 1 Процесс Р. Процесс Р 1 10: ЕСЛИ У. == (пk) ТО НА Iс 1,: занять (У4) 11: 1.: == УзУ. I з : Уз: == 1. 14: освободить (У4) 15: : Y 1 : == Y. 1 16: НА 10 1: СТОП . то: ЕСЛИ Y 1 == k ТО НА т. т.: Y 1 : == У 1 + 1 m 1 : ЕСЛИ У. + Y 1 < п ТО НА т 1 тз: занять (yJ т 4 : 11: == У/Уз m s : Y 1 : == 11 т 6 : освободить (У4) т 7 : НА то т: СТОП . Взаимно защищенными критическими секциями здесь являются (/1' I з . 14) и (т 4 . m s ' т 6 ) соответственно. Введение этих секций raрантирует вычисление значения Уз в каждом из процессов без какоroлибо влияния друr на друrа. Результат работы этих процессов эквивалентен приведенным ранее процессам вычисления биноминальных коэффициентов, которые не обеспечивали единственность критической ССЬV1ки. Помимо необходимости синхронизации выполнения параллельных процессов, управление ими со стороны диспетчера при их мультипроrpaммном выполнении должно обладать свойством справедливости. Рассмотрим сущность этЬrо свойства. , 9.4.2. Справедливость Рассмотрим сначала проrpамму без семафоров с полным условием Е;(У) дЛЯ каждоrо нетерминальщ)ro места 1"* 1. ' Т.е. Е,(у) == Истина для любоro У. При этих условиях каждый процесс, который еще не окончился, допустим, Т.е. всеrда имеет допустимый переход, который выполняется, Korдa выбран диспетчером. Каждый процесс должен выполняться до тех пор, пока он не достиrнет терминальноro места. Для моделирования этоro свойства в мультипроrpаммном режиме мы требуем, чтобы диспетчер был спраl1едлusЫJН. Под справедливостью понимается такое поведение диспетчера, при котором любой процесс, rотовый к выполнению, Т.е. допустимый, должен в конце концов выполнить свой допустимый переход. Иными словами, запрешается ситуация, 8 которой какомулибо процессу, еще не закончившему свое выполнение, Т.е. имеющему допустимые переходы и не находящемуся в 7  1141 193 i . 
9. Модальность в ситуационном исчислении терминальном месте, никоrда не будет предоставлена возможность выполняться. В общем случае требование справедЛИВОСТИ формулируется следующим образом: требование справедливости по отношению к процессу соблюдается, если всякий раз, коrда процесс roTOB выполняться, он в конце концов получит такую возможность, даже если будет roTOB выполняться бесконечно часто. Рассмотрим простой пример двух процессов P 1 и Р 2 , которые синхронизируются с помощью семафора: Процесс Р, Процесс Р 2 y==1 10: занять (у) 1,: освобоqить (у) 12: на 10 то: занять (у) т. : освободить (у) т 2 : на то Очевидно, что если бесконечное чередование мест образует последо вательность 11' 12' 10' т., т 2 , то, /" 12' 10' т., т 2 , то, ..., то требования справедливости по отношению к процессам Р. и Р 2 соблюдаются. В то же время, если чередование мест образует последовательность /" /2' 10' 1" 12' 10"'" коrда процесс Р 2 ПОстоянно находится в месте то, то требования справед:1IИВОСТИ не соблюдаются. На практике любой диспетчер удовлетворяет требованию: никакой процесс, roтовый к выполнению, не может быть oTBeprнyт им более чем k раз. Здесь k является константой, характеризующей диспетчера. 9.5. Модальная лоrика и анализ параллельных процессов Для Toro чтобы использовать модальную лоrику как средство описания и анализа свойств параллельных процессов (проrpамм), введем точное понятие ситуации и последовательности ситуаций применительно к проrpамме. Cllтyaquei, или состояниeJtl, назовем набор значений s == < л; '1 >. Здесь л == < Л" ..., Л т >  вектор значений переменных места 1t == {п р ..., п т }, В котором 1t изменяется в пределах множества мест L.== {Ii o ; ..., I ...,!i} процесса , , J е Р.. Значение переменной места п. указывает на место /1 в процессе Р., которое I '} I активировано. т] == <Т].. ..., Т]п> Е Dп  вектор значений распределяемых индивидуальных и пропозициональных переменных у в ситуации S. ВыпОЛНReJtIоii последовательностью ситуаций проrpаммы Р == p.II..11 Р т называется в общем случае бесконечная последовательность ситуаций S == SO' S" S2' ...., такая, что каждая ситуация Sk+1 == <л'; Т]' > получается из ситуации Sk == <л; т] >, начиная с начальной ситуации SO' соrласно одному из следующих правил: 194 
9.5. Модальная лоzи"а и анализ параллельных процессов холостой такт: SH'= Sk; iй рабочий такт: выбираем ОДИН из процессов Р;, 1 < i < т, содержащий допустимый переход. l ЕСЛИ · Л; · с(у) ТО у': == f(y) НА л'; при14екотором значении у = '11, такой, что с(ч) == Истина. Соrласно этому переходу получаем Л' заменой л;на л:. для Bcexj::l; ; имеем л; == л; l1'получаем по команде у': == f(y) допустимоrо перехода процесса р,: '11': == Jt'l1). Выполняемая последовательность ситуаuий cr является сnраведливоu. если для нее соблюдается сформулированное ранее по отношению к процессам требование справедливости. Таким образом, поведение параллельных проuессов характеризуется множеством ero справедливых выполняемых последовательностей ситуаций. Используя формализм временной модальной лоrики, будем устанавливать свойства этих последовательностей для параллельных проuессов, характеризуя. таким образом. их динамическое поведение. Введем предварительно ряд дополнительных обозначений и понятий. Формулы временной модальной лоrики будем рассматривать, используя следующие переменные: локальные распределяемые У.. ..., У п ; . локальные мест п.. ..., п т ; rлобальные Х.. ..., X k ' и р и 1 . ... Переменные У" :... У п называют также npozpaммHым.. Переменные Х,. ..., X k называют входными и их можно изменять только в определенные оrовариваемые заранее такты выполнения проuессов извне (не MorYT изменяться процессами). Будем полаraть. что их значения задаются перед началом выполнения проuессов и после этоro остаются неизменными. Переменные иl' и р ... являются дo6aвO.H6IJНи. остаются постоянными 'в течение Bcero выполнения (не изменяются от состояния к состоянию) и используются для задания отнощений 'между локальными значениями в различных состояниях. Например. формула Vu[(y == и)  о(} = u+l)] означает, что в будущем будет такой такт, в котором значение переменной У будет больше на 1, чем ее текущее значеНl1е. Для места / EL; атомарную формулу п;  / обозначим вMecтe (/), Т.е. в.мecтe (/) = Истина, если п; = /. Таким образом для данной ситуаuии S == <л; ч> и места / Е L; формула вMecтe (/) истинна в этой ситуаuии S. если процесс Р; находится в месте /, Т.е, Л;= /. В более общем случае для множества мест L  L; формула вMecтe (L) истинна, если процесс Р; находится в одном И3 мест, принадлежащих множеству L, Т.е. вMecтe (L) истинна. если значение переменной места п/  L, т.е. если L = {/о' /0+1' ..., /ь} для некоторых О s; а s; b j . то будем так же записывать вMecтe (L), как вMecтe (/0' /0+1' ..., /ь)' ,=h Таким образом вMecтe (L) == вMecтe (/0' /0+\' .... /ь) == ,':и вMecтe Ц). 7. 195 
9. Модальность в ситуационном исчислении ДЛя данной совокупности параллельных процессов (проrpаммы) Рпустьф(х) будет предусловием вxoдHых nepeмeHHых' задающим начальные значения и оrраничения для входных переменных х, а fo(x)  nредуС40tJием пpocjнlJtfJlfHых nepeмeHHых' задаюшим начальные значения для переменных у, 'l'0(1t)  предусловием, задающим начальные значения мест Проrpаммы. Начальное предусловие, ассоциируемое с допустимым вычислением, представляется формулой 1; (х, у, п) == ф(х) л fo(x) л 'l'0(1t). Выполняемая последовательность ситуаций cr является (Р,Ф)  иницlulлuзируе.мыJн вычислением, если она является справедливой выполняемой последовательностью ситуаций проrpаммы Р, и 50 == <л; '11> есть первая ситуация последовательности cr, такая, что л совпадает с множеством начальных мест (/, ..., /) процессов, а '11 == fo(x) для входных значений х, таких, что имеет место предусловие ф(х). Выполняемая последовательность ситуаций является (Р, ф)вычислением, если она является суффиксом (Р, ф) инициализируемоrо вычисления. Множество F(P, ф) обозначает множество всех (Р, ф)вычислений. Множество F(P, ф) называют также дoпycтu.мыJн вычислением, а каждую последовательность этоro множества  дoпycтu.мoй выпо.llНЯемой пOC.llедовательностью. Формула w временной модальной лоrики является F(P, ф)правильной, если она истинна для всех последовательностей множества F(P, ф). Такая формула является cвoUcIlUJOМ nроljJШNJНЫ Р. Нас интересуют именно формулы TaKoro ти па, выражающие правильные проrраммные свойства. Введем обозначение  w, которое означает, Что формула w является F(P, ф) правильной, Т.е. w истинна для каждоrо справедливоro (Р, ф)вычисления проrpaммы Р. Иными словами, выражение  w означает, что формула w истинна для любой допустимой выполняемой последовательности. Orметим, что коша мы rоворим об истинности формулы w для множества допустимых выполняемых последовательностей, то полаrаем, что формула w содержит условия, позволяюшие проверять свойства проrраммы, относяшиеся именно только к этому множеству. Например, если речь идет о свойствах проrраммы, касаюшихся только последовательностей, ведущих в терминальные состояния, то при формулировке этих свойств следует оrоворить, что все допустимые выполняемые последовательности, о свойствах которых идет речь, оканчиваются именно в терминальных состояниях. Доказательство свойств ведется только для этих последовательностей. Значение формулы w на остальных допустимых выполняемых последовательностях может быть несушественным. Выражения вида  w служат базовыми утверждениями свойств проrраммы (теоремами). fлавной нашей uелью является составление таких формул (теорем) и рассмотрение процедур доказательства их истинности. Разработчик проrрамм, желаюший убедиться, что ero ПроrраММbJ удовлетворяют определенным свойствам, должен сформулировать эти свойства, а затем доказать их. 196 
9.6. Инвариантные свойства ДЛя дальнейшею рассмотрении важно следующее справед/IИВое yrверждение: F w ::::>  w. Оно означает, что если w истинна для любой возможной последовательности, то она истинна также для каждоrо (Р, ф)вычисления. Это утверждение позволяет нам записать общезначимые формулы временной модальной лоrики F w с использованием BBeдeHHoro обозначения  :  О  w j!!;  Ow,  D(w,::::> W 2 ) ::::> (Dw.::::> Dw 2 ),  D(w ::::> о w) ::::> (w ::::> Dw). Справедливым является также следующее выражение:  w ::::> F Dw. Оно означает: если w истинна для всех (Р, ф)вычислений, то Dw также всеrда истинна для них. Перейдем теперь к rлавной uели настоящей rлавы  изучению свойств, которым, как правило, должны удовлетворять проrраммы. Естественно, эти свойства не являются всеобъемлющими, MorYT ПОПОЛНЯТЬСя или модифиuироваться, но являются достаточно характерными для рассматриваемоrо типа nporpaMM. Их классифиuируют в зависимости от вида представляющих эти свойства формул. Принuипы доказательства истинности формул в принuипе ничем не отличаются от изложенных в rлаве 4, за исключением TOro, что в дополнение к уже изученным используются правила вывода, содержащие модальные операторы. Принuипам доказательства и примерам доказательства будет посвящен отдельный параrpаф настоящей rлавы. Сначала рассмотрим только nporpaMMHbIe свойства. 9.6. Инвариантные свойства Проrpаммные свqйства, которые всеrла должны выполняться для данной nporpaMMbI, называют инвариантными своiiствllJNи. Они описываются формулой вида F Dw. Это означает, что формула w должна быть истинна для каждой последовательности допустимою вычисления, определяемоrо начальными условиями этой формулы, Т.е. w  инвариант по отношению к такому допустимому вычислению (исходя из этоrо, можно было бы вместо F OW написать F w). Чтобы подчеркнyrь тот факт, что мы имеем дело с предусловием (x, у, п), иноrда будем записывать (x, у, п) ::::> Dw. Формула в этом виде выражает инвариантное свойство, известное как свойство безопасности, базирующееся на предпо1tожении, что ничеrо плохоrо случиться не может, если выполнены начальные предпосылки (x, у, п). Чаше всею полное предусловие (x, у, п) при формулировке Toro или иноrо свойства будем оrоваривать отдельно, записывая перед формулой свойства, ero часть или вообще ничеrо не записывая. 197 
9. Модальность в ситуационном исчислении "9.6.1. Частичная корректность Это свойство имеет значение только для проrpамм, в которых каждый проuесс содержит терминальное место I. Такие проrpaммы назовем терJIIllнllAьныJIIu в отличие от нетерJIIuнIlAьных проrрамм, которые предполаrают бесконечное выполнение и поэтому не содержат терминальных мест. Пусть (x, у, п)  предусловие, которое задает оrраничения на множество значений входных и проrраммных переменных и переменных мест, для KOTOporo предполаraется, что проrрамма является правильной. <р(х, у)  утверждение о корректности проrраммы, Т.е. отношение, которое должно установиться между входными переменными х и результируюшими значениями у при приходе всех проuессов в терминальные места. Используя введенные обозначения, свойство частичной корректности записывается следуюшим образом:  (x, у, п) ::> D(вMecтe (/) ::> <р(х, у», rдe / == (11, О", 1 т)  множество терминальных мест всех проuессов. Эта    формула означает, что если начальная ситуаuия удовлетворяет оrpаничивающему предусловию I;(x, у, п), ТО В любой терминальной сит.уаuии, достижимой из начальной, Т.е. 8 такой, что л == /, имеет место отношение <р(х, у) между входными значениями х и полученными значениями у. Заметим, что х остается постоянным в течение Bcero времени вычислений, но при ЭТОМ окончание проrpаммы само по себе не raрантируется. "ример. Проrpамма вычисления факториала: У. == Х, У2 == J 1,): ЕСЛИ У. == О то НА ( 1.: (у., У2): == (у.  1, У. У2) 12: НА 1" 1: стоп.  в результате выполнения этой проrраммы после ее останова в месте I будем иметь y == х! Утверждение частичной корректности для этой проrpаммы CIIедуюшее:  (x, у, п) ::> D(в.Mecтe (/.> ::> У2 == х!), rne начальные условия, ассоuиируемые с допустимым вычислением, имеют вид (x, у, п) == вMecтe (10) л У 1 == Х л У2 == 1 л Х  О. 198 
9.6. Инвариантные свойства Свойство частичной корректности как инвариантное свойство фактически является частью совокупности инвариантов. Обычно ШIЯ TOro, чтобы доказать свойство частичной корректности, доказывают инвариантность более полной формулы, из которой следует частичная корректность: F (вMecтe (/0) л У. == х л У 2 == Х  О) ::::> О{[ вMecтe (/0)::::> (У.  О) л л (УзУ.! == х!)] л (вMecтe (/.)::::> (У.  О) л (У2 У '! == х !») л (вMecтe (/2) ::::> ::::> (У.  О) л (yJ-'.! == х!») л (вMecтe (О ::::> (у, == О) л (У2 == х!»}. Пример. Проrрамма, подсчитываюшая число вершин в двоичном дереве Х: s == (Х), с == О 10: ЕСЛИ s== () ТО НА lе про верка стека S на наличие в нем вершин дерева Х. , . 1.: (т, S): == (zолова (S), хвост (s» выбор rоловы zолова (s) и хвоста хвост (s) стека 5 и помещение их в Т и S соответственно. 12: ЕI:ЛИ Т== 0 ТО НА 10 про верка переменной дерева на отсутствие в нем вершин. I з : С: == С + 1 Увеличение счетчика на 1. 14: s: == левое (Т) правое (Т) S Помещение левоro и правоrо подперевьев в стек S. Is: НА 10 1: СТОп. е Здеь Т  переменная дерева; S  стек, содержаший вначале дерево х, состоящее из подперевьев; zолова (5)  взятие rоловы стека S; хвост (5)  взятие хвоста стека S; левое (Т)  дает левое ПОДllерево; правое(Т)  дает правое подперево. Определяя I т I как число вершин в дереве Т, можем вырить утверждение частичной корректности: F O[вMecтe (/)::::> С == Ixl]. Начальные условия, соответствующие допустимому вычислению ШIЯ этоrо случая, имеют вид вMecтe (/0) л S == (х) л С == О. 199 
9. Модальность в ситуационно-м исчислении "ример. Параллельная проrpaмма вычисления биноминальных коэффиuиентов: Утверждение частичной корректности: F (О  k  п) ::::> D[(в-мecтe (/) л в-мecтe (т) ::::> у == C)]. Полное начальное условие, ассоuиируемое с допустимым вычислением: в-мecтe (/0) л в-мecтe (то) л У, == п л У 2 == О л Уз == 1 л У 4 == 1 л О  k  п. 9.6.2. Чистое поведение . Свойство чистоro поведения обусловливает правильность выполtrения переходов (команд) для каждоro места проuессов проrpаммы. Например, в случае деления свойство чистоrо поведения может обусловливать, что делитель не ноль и не слишком мал, чтобы не приводить к переполнению. Если проrрамма содержит ссылку на лемент массива, то свойство чистоrо поведения может обусловливать попадание индекса в определенные rpаниuы. Обозначив условие чистоrо поведения в месте 1 как 0./, будем иметь следующую запись свойства чистоro поведения: F I;(x, у, п) ::::> О l' (в-мecтe (/) ::::> 0.,). Конъюнкuия берется по всем потенuиально опасным местам nporpaMMbI. "ример. Проrpамма должна давать только uелые числа в течение Bcero времени вычисления. Тоша условие чистоrо поведения для проrpаммы вычисления факториала в месте 1.. являющемся критическим, будет следующим: F (х  О) ::::> D[вместе (1.) ::::> (У. > О». "ример. Если проrpамма деление содержит команду 1: ЕСЛИ * 1 *У. > Уз ТО У.: == (5[i] + У2)' rле +  оператор uелоrо деления и изменение индекса i массива S лежит в пределах от 1 до п, то условие чистоrо поведения в месте 1 будет следующим: F D{[в-мecтe (!) л (У. > У 2 )] ::::> [(1  i  п) л (У2::1; О)]} . "ример. Свойство чистоrо поведения для проrраммы, считаюшей вершины дерева, имеет вид F D{[в-мecтe (/1) ::::> S 'f; ( ) л (в-мecтe (/4) ::::> T::I; 0]. Это утверждение raрантирует, что не будет сделана попытка вытолкнуть (взять) данные из пустоrо стека или декомпозировать пустое дерево. 200 
9.6, Инвариантные свойства "ример. fлавное условие чистorо поведения для Проrpаммы вычисления биноминальных коэффициентов будет следующим: р: 0(0 $ k $ п ) ::> O{вMecтe (т 4 ) ::> [(у2  О) л (уз mod У2 == О)]). 9.6.3. fлобальная инвариаlПНОСТЬ Очень часто некоторые свойства проrpамм не зависят от какоroлибо KOHKpeTHoro места. В этом случае rоворят о rлобальных инвариантностях. Свойство rлобальной инвариантности в общем виде выrлядит следующим образом: 1= Оф(х) ::> ор, Т.е. свойство 13 всеrла имеет место в течение допустимоrо выполнения. "ример. Условие Toro, что У. всеrла должно быть положительным для проrpaммы вычисления факториала, выrлялит следуюшим образом: 1= (х  О) ::> О(у.  О). Дрyrое условие rлобальной инвариантносtи для этой проrpаммы может быть следующим:  (х  О) ::::> D(У2 У .! == х!). "ример. Свойство rлобальной инвариантности для проrpаммы вычисления биноминальных коэффициентов имеет вид 1= (О $ k $ п) ::::> O[(nk $ У. $ п) л (О $ У 2 $)]. Те же самые обозначения можно использовать для локальной инвариантности по отношению к определенному месту /: 1= O(вMecтe (/) ::> 13). "ример. Условие, которое должно быть истинным, коrда мы находимся в месте /0' для nporpaMMbI подсчета вершин дерева выrлядит следующим образом: 1= O[вMecтe (/)0::::> (1: ITI + с == [ХI )], т,е. сумма вершин поддеревЬеВ в стеке S плюс значение счетчика С есть число вершин дерева Х. 201 
9. Модальность в ситуационном исчислении 9.6.4. Взаимное IIСlUUOчение Понятие критической секции и взаимноro исключения было введено ранее. Вернемся к ним и сформулируем свойства корректности проrрамМ. Рассмотрим два параллельных процесса Р. и Р2' Предположим, что каждый процесс содержит секцию С;  LI' i == 1.2, которая критична к попеременному выполнению команд из секции друrоrо процесса. Например, это может быть доступ к распределяемому устройству (такому, как диск) или распределяемой переменной. Как уже rоворилось, если природа этих секций такова, что они ни при каких обстоятельствах не M()Jyr выполняться одновременно, то их называют Kp"т".,eCKu.м". Свойство взаимноrо исключения для С. и С; можно представить следующим образом: ф(х) ::::> О ...., (вMecтe (С.) Л,вместе (С 2 ). Это свойство означает, что Bcerna, Korna активно хотя бы одно место секции С р то в секиии С 2 не может быть ни одноrо активноrо Места, и наоборот. 9.6.5. Orcутствие Дeд1Ioкa Как уже отмечалось, параллельная проrpамма, состоящая из т процессов, находится в дедАоке, если ни один из проиессов не является .цопустимы. Это означает, что единственно возможным тактом 1VIЯ диспетчера является холостой, в результате чеrо непрерывно повторяется одна и та же ситуация демока. Ясно, что в ситуации демока каждый процесс р, заблокирован в некотором месте I Е L;, полное входное условие 1VIЯ KOToporo является все время ложным при всех текущих значениях т] переменных у. Следовательно, единственными потенциальными источниками дедлока являются места 1, для которых полные входные условия Е остаются все время ложными. Такие места называют ожuiJающllМU. Терминальное место I в этом смысле также является ожидающим. Однако специальный случай, в котором все процессы нахОдЯтся в терминальных состояниях, считается OCтaHOtIOJН. а не дедлоком. Рассмотрим набор 1 == (/1, ..., 1т) ожидающих мест, Р EL, не все из которых терминальные. Пусть Ер о.., Ет являются полным входными условиями, соответствующими этим местам. Чтобы предотвратить дедлок в 1 , требуется выполнение следующеro свойства: );т );т 1= ф(х) ::::> D( v вMecтe (/')::::> V (y». );) );) Это означает, что в случае, коrда процессы находЯТСЯ в 1, то по крайней мере один из них допустим. Этот процесс может выполняться, и тем самым дедлок предотвращается. Для TOro чтобы предотвратить возможность дедлока во всей проrрамме, необходимо налаraть подобные требования на каждый набор ожидающих мест, исключая 1 == (/1, ..., 1т).    202 
9. 7. Свойства живости (осуществимости) "ример. Условие отсутствия дедлока для Проrраммы вычисления биноминальных коэффиuиентов является следующим:  (О  k  п) ::::> O{[(вMecтe (/.) л вMecтe (тз) ::::> (У4> О)} л [(вMecтe (/.) л л вMecтe (т) ::::> (У4> О)] л [(вMecтe (/.) л вMecтe (тз) ::::> (У4> О»}. Это условие учитывает тот факт, что при нахождении в (/.' тз) имеет место У4 > О И один из проuессов должен выполняться. Если один из проuессов оказывается в терминальном месте, то друrой не должен попасть в дедлок при выполнении команды занять. 9.7. Свойства живости (осуществимости) Эта катеrория свойств выражается общей формулой: 1= W. ::::> Ow 2 . Эта формула означает, что для каждоrо допустимоro вычисления, если W. является изначально истинной, W 2 должна в конце концов также стать истинной. В отличие от свойств инвариантности, которые описывают только сохранение желаемых свойств при переходах от одноrо места к друrому, свойства живости rоворят о том, что некоторые события в конце концов должны осуществиться. Эта формула 8 определенном смысле формулирует uель, которая обязательно должна быть достиrнута после HeKoToporo, в общем случае неизвестноrо, числа тактов. Заметм, что вследствие замкнутости оператора О относительно множества суффиксов допустимых вычислений приведенная формула, выражающая свойство живости, эквивалентна следующей:  O(w.::::> Ow 1 ). 9.7.1. Абсолютная корректность Это свойство похоже на частичную корректность и имеет смысл только для проrрамм с терминальными местами. fоворят, что проrpамма-абсолютно корректна, если для всех значений входных переменных х, удовлетворяющих ф(х), ее окончание raрантировано и выходное значение у после окончания выполнения проrpаммы удовлетворяет <р(Х, у). Более TOro, пусть '. обозначает набор терминальных мест проrpаммы. Тоrда абсолютная корректность выражается так:  ф(Х) ::::> O(вMecтe (1.) л <р(Х. у». Это означает, что если мы имеем допустимую выполняемую последовательность, начинающуюся в ситуаuии, определяемой местами 'о и значениями у == Io(Х) , в которой ф(х) истинна, то далее дЛя этой выполняемой 203 
9. МодШlьность в ситуационном исчислении последовательности rарантированно будет иметь место ситуаuия, определяемая 1. и удовлетворяющая <р(х, у). "ример. Проrpамма вычисления факториала: 1= (х  О) ::::> o(вMecтe (/) А У 2 == х!). "ример. Проrpамма подсчета верщин дерева: 1= (S == (х» ::::> O(вMecтe (1) А С == Ixl). "ример. Проrpамма вычисления биноминальных коэффиuиентов: 1= (О ::; k ::; п) ::::> o[(вMecтe (1.) А вMecтe (т) А Уз == C». 9.7.2. rарантированное осущеCТВJIение Свойства живости позволяют выразить причинноследственную связь между любыми двумя событиями, возникающими в течение выполнения проrраммы, а не только между началом и окончанием проrраммы. Такая возможность особенно существенна, коrда проrрамма является uикл ической. Общий вид формулы, выражающей свойство rарантированноrо осуществления, следующий: 1= (вMecтe (/) А <р) ::::> O(вMecтe (/)' А <р'). Эта формула означает, что если q> истинна в месте /, то в коние концов будет достиrнуто место 1', в котором <р' истинна. "ример. Для проrраммы Подсчета числа верщин в дереве утверждение rарантированноrо осуществления, которое служит основой для доказательства ее корректности, имеет вид 1= lвMecтe (/0) А S == u.s А С == с) А OIBMecme (/0) А S == s АС == С + 'и 1), rле и, s, с использованы в роли rлобальныx переменных, в то время как S и С  локальные переменные. Это утверждение rоворит о том, что нахождение в 10 с непустым стеком rарантирует попадание в коние концов в одном из последующих тактов снова в 10' При этом верхний элемент стека и будет уже взят и значение Сбудет увеличено на число вершин в этом верхнем элементе. Следующие свойства живости имеют значение для параллельных проrpамм, содержащих более OHHOro проuесса. 9.7.3. Доступность Рассмотрим снова проuесс, который имеет критическую секцию С. В предыдущем разделе при изучении свойства взаимноrо исключения было 204 
9. Z Свойства живости (осуществимости) показано, как установить зашиту ДЛЯ такой секuии от вмешательства со стороны друrих проuессов. Продолжаюшим и дополняюшим свойством К свойству взаимноro исключения является свойство доступности, означаюшее следуюшее: если проиесс желает войти в свою критическую секuию, он, в конечном счете, попадает туда, Т.е. не будет неопределенно долrо удерживаться механизмом зашиты. Очевидно, что зашитный механизм является бесполезным, если он не позволяет в коние кониов проиессу войти в ero критическую секuию. Пусть /,  место перед критической секuией. Тот факт, что проиесс находится в /.. отражает намерение войти в критическую секuию. Пусть С является множеством мест в критической секuии. Torдa выражение свойства достуnности выrлядит следуюшим образом: t= вMecтe (/.)  OвMecтe (С). Правильная конструкuия критической секuии должна rарантировать выполнение этих двух полезных свойств: взаимноro исключения и доступности. 9.7.4. Беступик-овость Более общий класс свойств живости связан с возможностью осуществления продвижения проиедуры вычисления любоrо проuесса, находящеrося в месте /. Здесь мы не оrpаничиваемся только местами, содержашими семафорные команды. Рассмотрим произвольное нетерминальное место / внекотором проиессе Р" Т.е. /"* /.. Если вычисление проиесса должно развиваться таким образом, что он обязательно должен покинуть место /, то он не может оставаться блокированным в / вследствие ошибки диспетчера, который управляет выполнением проиесса Р;. Это означает, что проиесс Р;, находясь в месте /, в котором истинна формула вMecтe (/), должен ero обязательно покинуть, в результате чеro станет истинной формула ...., вMecтe (/). Следовательно, свойство 6естуnиковости ДЛЯ любоro места /, / * /., может быть выражено следующим образом: t= 0(...., вMecтe (/», или эквивалентной формулой t=...., DвMecтe (/), которая означает, что мы никоrда не будем заблокированы в месте /. Свойство беступиковости так же известно как свобода от индивидуальноro зависания, определяемоro как ситуаuия, в которой некоторые проиессы, которые не находятся в терминальных местах, не MorYT продвиrаться (выполняться), несмотря на то, что nporpaMMa в uелом выполняется за счет продвижения друrих проиессов. Заметим, что это более сильное требование, 205 
9. Модальность в ситуационно", исчиС.1ениll чем отсутствие дедлока, поскольку считается, что nporpaMMa не попала в дедлок до тех пор, пока хотя бы один проиесс выполняется. 9.7.5. Отзывчивость Очень важным классом nporpaMM, относяшихся обычно к параллельным nporpaMMaM. ЯВ.'lяются операиионные системы и такие проrpаммы реальноro времени, как системы резервирования билетов в авиаиии или друrие системы баз данных, функиионируюшие в режиме online. Эти nporpaMMbl удобно рассматривать как непрерывные или ииклические nporpaMMbI, работаюшие постоянно. Остановка выполнения этих nporpaMM обычно отражает ошибочные условия. Следовательно, эти проrраммы работают не на получение конечноro результата, а для результатов, производимых в течение их бесконечноro выполнения. Таким образом. понятия абсолютной и частичной корректности 'шесь не при мени мы и должны быть заменены утверждениями, учитываюшими непрерывное выполнение nporpaMM. Одним из важнейших свойств таких nporpaMM является отзывчивость. Пример. Предположим, что прorрамма, моделируюшая операиионную систему G (диспетчер), обслуживает ряд nporpaMM (проиессов) пользователей R" ..., R,. управляя распределением между ними ресурсов. Ресурсами MOryT быть жесткий диск, rлавная память и Т.д. Пусть проrpаммы пользователей взаимодействуют с диспетчером, запрашивая ресурсы через булевы (пропозиииональные) переменные {r" g,}, i == 1, ..., (. Переменная r устанавливается истинной пользователем nporpaMMbl R, чтобы с'иrнализировать о запросе ресурса. Переменная g, устанавливается стинной операuионной системой С, сообшаюшей тем самым пользователю R, что он может взять ресурс. После использования ресурса пользоватеь R возврашает ресурс обратно системе С, присваивая переменной r, ложно значение. Операиионная система признает освобождение ресурса присвоением переменной g, ложноro значения. Итак, имеем R, выдает запрос  r,: == истина; G предоставляет ресурс  g;: == истина; R, освобождает ресурс  r,: == ложь; G признает освобождение  g,: == ложь. Утверждением а" означаюшим, что диспетчер справедливо реаrирует на запросы потребителя, является а,: r, O g" т.е. коrда бы r, не стала истинной в коние кониов g, будет истинной. Заметим, что это утверждение не требует, чтобы r j становилась истинной, коrда диспетчер G находится в какомлибо определенном месте. 206 
9. Z Свойства живости (осуществимости) Подобным образом необходимо обеспечить подтверждение Ь; освобождения ресурса присвоением g, ложною значения: Ь;: ..., r,  0(..., g). Более TOro, система не сможет работать нормально, если не будет обеспечено должноro взаимодействия между проrpаммами пользователей. Например, система не может обещать пользователю R 2 предоставления ресурса, если пользователь RI' который в это время занимает ero в конце концов ero не освободит. Следовательно, требуется, чтобы поведение пользователя R, удовлетворяло определенным требованиям С;, а именно: С,: g,  O(r). Это yrверждение rоворит о том, что в случае предоставления потребителю R; ресурса r; этот ресурс в конце концов будет освобожден. К сформулированным yrверждениям обычно добавляются yrверждения, raрантирующие правильное непрерывное поведение G. Одним из таких yrверждений является следующее: ;>=1 d: D( r. g,  1), i1 означающее, что в любом такте диспетчер предоставляет ресурс самое большее одному потребителю. Оно относится к типу yrверждений взаимноro исключения. Введем теперь утверждение KoppeKTHoro поведения диспетчера G в целом: ,=1 ;==1 == ла л л Ьлd. ;=1' ,, I Корректное поведение, ожидаемое от пользователей Ri' имеет вид q>== ;==1 Л С.. , ,:::::, Проблема доказательства правильноro ПОJleдения диспетчера G может быть решена двумя различными пyrями. В первом случае рассматривается параллельная nporpaMMa, которая состоит из одноrо диспетчера G. Переменные r; и g, рассматриваются как входные и выходные переменные этой проrpаммы. Значения переменных r, устанавливаются внешними пользователями RI' ..., R,. Для этой Проrpаммы необходимо доказать истинность формулы 1= ОЧ>  O, задающей свойство отзывчивости. Смысл этой формулы состоит в том, что при условии непрерывно правильноro поведения пользователей, формирующих внешнее воздействие в соответствии с формулой q>, диспетчер G должен всеrда вести себя соответствующим образом в соответствии с формулой правильноro поведения . 207 
9. МодШlьность в ситуационном исчислении Во втором случае рассматривается параллельная проrpамма р, которая состоит из операционной системы G, работаюшей совмесТНО с проrpаммами R" ..., R" Т.е. Р == G IIR. 11 .., 11 R,. Для каждоrо R; устанавливается модель, которая raрантирует выполнение условия с;. В упрошенном виде такую модель можно представить как следуюшую nporpaмMY пользователя R; при начальном значении r; == Ложь: 'о: НА '. '.: r, == Истина '2: ЕСЛИ.., g; ТО НА '2 '2: ЕСЛИ g, ТО НА '3 '3: занять ресурс '4: r, == Ложь '5: ЕСЛИ.., g, ТО НА '6 '5: ЕСЛИ g, ТО НА '5 '6: на 'о' Если полаrать, что эта модель R; хорошо представляет реальноrо потребителя R, в части ero взаимодействия с G, то Д1IЯ raрантии корректною поведения nporpaMMbI необходимо доказать истинность формулы F о (ч> /\ ), также задаюшей свойство оТЗblВЧИВОСТИ. Таким образом, ВОЗМОЖНbI две моделируюшие ситуацию альтернативы: рассмотрение диспетчера G в единственном числе и во взаимодействии с внешними пользователями посредством перемеННblХ r;, g; или рассмотрение совокупной систеМbI, состояшей из G и R.. ..., R,. В первом случае соответствуюшее поведение внешних по отношению к G пользователей проверяется и обеспечивается отдельно посредством непрерывною сохранения значения q>. Во втором случае поведение пользователей R; проверяется вместе с соответствуюшим поведением G. АналоrИЧНblЙ анализ может Быьb распространен на друrие ситуации, rде необходимо обеспечивать взаимодействие с внешними устройствами и реаrировать соответствуюшим образом на внешние сиrналbl. 208 
9.8. Свойства предшествованuя 9.8. Свойства предmествоваНИJl Третий класс рассматриваемых нами свойств составляют свойства, которые называются свойствами предшествованuя и выражаются с помощью оператора «по тех пор пока» U и пополнительноrо оператора препшествования Р, который можно рассматривать как частный случай оператора U. В простейшем случае свойства предшествования описываются следующим выражением: t= w, U W 2 . ЭТО выражение означает (истинно), что во всех допустимых вычислениях проrpаммы) если в бупущем наступит ситуация, в которой формула W 2 станет истинной, причем до этоro такта она была ложной, а w. была истинной, то формула W. перестанет быть истинной в этой ситуации. Этот оператор очень полезен ДЛЯ выражения отношений препшествования между ситуациями. Для пополнительноrо оператора предшествования Р выражение wlPw} эквивалентно..., «..., W 1 ) U w}). Выражение W 1 PW 2 читается как "W 1 предшествует W}" и является истинным, если W 2 станет истинной в какойлибо ситуации, бупучи по этоro ложной, а ситуация, в которой стала истинной WI' наступила ранее. Несколько очевидных свойств дополнительноro оператора предшествования р можно получить из соответствующих свойств оператора U и опрепеления оператора Р: 1) wPw == О ..., w; 2) w.Pw 2 Л w 2 Рw з ::> w.Рw з ; 3) w,Pw 2 ==..., w 2 Л [w.л.(w.Рw 2 )J; 4) О..., w 2 ::> w.Pw 2 ; 5) w.Pw 2 V w 2 Pw. v O(w. л w 2 ). Выражение I свипетельствует о том, что W всеrда предшествует себе, если W является всеrда ложной: W не может предшествовать самой себе. Выражение 2 означает транзитивность отношения предшествования: если W. препшествует W 2 ' а послепняя предшествует W З ' то W, предшествует W З ' Выражение 3 дает индуктивную характеристику оператора Р. Оно rоворит о том, что W. препшествует W 2 ' если в настоящей ситуации W 2 не истинно, а W. истинно, либо в настоящей ситуации W 2 не истинно, а начиная со слепующей ситуации W. препшествует W 2 . Выражение 4 rоворит о том, что если w 2 никоrпа не становится истинной, то W. препшествует W 2 ДЛЯ любоro w.. . 209 
" 9. МодШlьность в ситуационном исчислении Выражение 5 характеризуer линейность развития событий во времени для любых двух W. и W 2 : или W. предшествует W 2 ' или W 2 предшествует W.. или обе истинные в одной и той же ситуации, Рассмотрим некоторые из свойств. предшествования, использующих операторы U и Р. 9.8.1. Безопасность Выражение типа Dw. можно интерпретировать по отношению к прorpамме как свойство, выполнение KOToporo мы хотим всеrда иметь для определенной raрантии правильности проrpаммы, выражение типа OW 2  как свойство, вьmолнение KOТOporo нарушает указанную raрантию. Torдa ДЛЯ некоторых случаев выражение w. U W 2 можно интерпретировать как комбинацию свойств Dw. и Ow 2 , поскольку справедливо выражение t= (Dw. л w 2 ) :J w.Uw 2 , КОТорое и является одним из ctloicme 6езОIlIlCНlJCmи. Однако более интересен случай, коrда w\ Bcerдa имеет место Вl1Лотьдо ситуации, в которой происходит w 2 ' Т.е. Korдa свойство Dw. имеет место вплоть до свойства w 2 ' знаменующеrо наступление нежелательных явлений, нарушающих правильность проrpаммы. Друrое свойство безопасности, использующее оператор U, является уточнением свойства t= (вMecтe (/) л ф) ::) (вMecтe (/') л ф'), используемоro для TOro, чтобы выразить достижение проrpаммой внекоторой ситуации места /', в котором формула ф' будет истинна, если в настоящей ситуации проrpамма находится в месте / и формула Ф истинна. Место /' при этом не обязательно должно достиraться первый раз. В отличие от этоro свойства выражение (также относящееся к классу свойств безопасности) t= (вMecтe (/) л ф) :::J «...., вMecтe (/'» u (вMecтe (/') л ф'» roворит о том, что если Проrpамма находится в месте / и формула Ф истинна, то в некоторой ситуации она должна достичь места /' и при первом же приходе в это место /' формула ф' будет истинной. Пример. Для проrpаммы вычисления биноминальных коэффициентов имеем t= (О  k  п) ::> {[(вMecтe (m 4 ):J (Y2;t: О) л (уз mod У 2 == О) л (kk  У.  п)} л л (О  У 2  К) U (вMecтe (/) л вMecтe (т) л УЗ == CH. Это свойство roворит о том, что до тех пор, пока не будет достиrнуто окончание nporpaMMbI с правильным результатом, должны выполняться свойства чистоro поведения и rлобальной инвариантности. 210 
9.8. Свойства предшествованuя 9.8.2. Предусмотренная реаlЩИЯ (отзывчивость) Свойства, выражаемые формулой W. ::::> OW 2 , относятся К числу своиств Otn36lB'IU8OCтU, выполнение которых raрантирует, что на каждую ситуацию, в которой формула W. истинна, nporpaMMa отвечает в конце концов истинным значением формулы W 2 . Часто желательно дополнить это свойство требованием, чтобы формула W 2 никоrда не становилась истинной, если этому не предшествует истинность формулы W.. Т.е. чтобы проrpaмма не реаrировала на непредусмотренную ситуацию. Это свойство в обшем случае можно выразить с помошью оператора предшествования, но в каждом конкретном случае требуется тшательно выбирать ситуации, после наступления которых проверяется предшествование. Хорошим примером выражения, задаюшеrо свойство предусмотренной отзывчивости, является следуюшее: . [вMecтe () ::::> W. Р W 2 » /\ [(W 2 /\ О W 2 ) ::::>0 (W 1 Р W 2 ». Этот при мер иллюстрирует тшательный выбор ситуаций: предшествование W. по отношению к W 2 проверяется либо начиная с ситуации, определяемой начальным местом 'о' либо после ситуации, в которой W 2 была истинна и изменила свое значение на ложное в следуюшей ситуации. В большинстве практических случаев имеется дополнительная информация о W. и W 2 , которая помorает сформулировать требования в более простой форме. Пример. Вернемся к примеру с операционной системой G, которая распределяет ресурс между пользователями R.. ..., R,. Простейший протокол взаимодействия между потребителем R, и операционной системой определяется следуюшими четырьмя выражениями: 1) t= (r; /\...,g,)::::> °r,. Это выражение roворит о том, что если r, истинна, а g, ложна, Т.е. запрос на ресурс со стороны r имеется, но он еше не предоставлен, то пользователь R обязан настаивать' на своем Т р ебовании, подтверждая значние r в , , следуюшем такте; 2) t= (r, /\ g,) ::::> g,. Это выражение означает, что если ресурс бьV1 предоставлен пользователю R" то диспетчер не имеет права отнять ero до тех пор, пока пользователь не присвоит r; ложное значение; 3) t= (r; /\ g,) ::::> о ..., r,. Это утверждение означает, что если диспетчер еше не при знал отказа от ресурса пользователя R" то R; не может выставлять HOBOro требования; 211 
9. Модальность в ситуационном исчислении 4)  (..., r, л ...,g)  o...,g,. Это утверждение означает, что если ресурс не занят пользователем R,И не затребован им, то ресурс не предоставляется проuессу, который ero не требует. Все это и есть описание свойства предусмотренной отзывчивости. Выполнение перечисленных свойств вместе со следуюшими дополнительными выражениями rарантирует правильное поведение проrpаммы: 5)  r,  Og,; 6) g,O...,r,; 7)  ..., r  О ..., g . , , Четыре первых утверждения характеризуют поведение проrраммы в соседних ситуаuиях. В rлобальном стиле свойства предусмотренной реакuии можно выразить следуюшими выражениями: а)  r,  Ir, Щg, л r)]; б)  K (g, U (!", А g,)(; в) ..., r, (..., r, щ...,g, л..., r)]; r)  ..., g, (r, Р g). Эти выражени.я заменяют все остальные. Утверждение а) rоворит о том, что если r, истинно, то оно должно оставаться истинным до тех пор, пока g, истинно. Утверждение б) rоворит о тоМ. что если ресурс предоставлен, то он остается предоставленным до тех пор, пока от Hero не откажутся. Утверждение в) rоворит о том, что если от ресурса отказались, то он не может быть затребован до тех пор, пока отказ от Hero не будет признан- Утверждение r) rоворит о том, что если ресурс не назначен, то ero назначению должен предшествовать запрос. 9.8.3. Справедливая отзывчивость Во мноrих случаях предшествование двух ситуаuий (Ч>I предшествует Ч>2) связано с предшествованием двух друrих ситуаuий (Ф 1 предшествует Ф2)' Korila Ф, предшествует событию Ф2. Такой случай назовем условным предшествование.м. Ero можно представить выражением  (Ф 1 Р Ф2)  (Ч>. Р ч», которое означает, что если Ф 1 предшествует Ф 2 ' то Ч>I предшествует Ч>2' 212 
9.9. Доказательство свойств корректности Вместе с выражениями отзывчивости t= Ф. ::> Oq>.. t= Ф 2 ::> Oq>2' выражение условноro предшествования называют спptUJeдлшюii От36Uf11l1tlOCmью. Иначе roворя, если t= Ф, ::> Oq>. и t= Ф 2 ::> 0</>2 интерпретируются как ответ </>; на требование Ф;' то отзывчивость означает, что каждое требование будет обязательно сопровождаться ответом. Справедливая О1ЗЫВЧИВОСТЬ устанавливает порядок ответа и дополнительно требует: если Ф. предшествует Ф2' то ответ на ФI' а именно <Р. должен предшествовать ответу на Ф 2 ' а именно </>2' Пример. Рассмотрим распределение ресурсов для операционной системы и обслуживаемых ею пользователей. Наложим требование справедливости на свойства отзывчивости. Это требование может быть залано выражением (r, Р r) ::> (g, Р ), которое означает, что если потребитель R, поместил свой запрос раньше потребителя R, то он раньше и будет обслужен. Однако J здесь необходимо быть осторожным, ставя жесткие условия. Например, если g истинно, в то В р емя как оба r и r. ложны, то может иметь место ситуация, , I J коrда нельзя обещать, что g; будет предшествовать . ДЛя исключения такой ситуации необходимо исходить из ложности g. Тоrда выражение условноrо 1 предшествования будет выrлядеть следующим образом: t= (.., g ) ::> [(r Р r) ::> (g Р g)]. 'J , J ,') 9.9. Доказательство свойств корректности Из материала настоя шей rлавы ясно, что временная модальная лоrика является одним из видов ситуационноro исчисления. Интерпретация формул этой лоrики осушествляется посредством лоrики предикатов первоro порядка. Принципы доказательства в модальной лоrике те же, что и для друrих исчислений, базируюшихся на лоrике предикатов первоrо Порядка. Единственное отличие состоит в использовании при доказательстве правил и формул, содержаших модальные операторы. Для доказательства свойств корректности нам необходимо иметь следуюшие исходные данные. Аксиомы собственно модальной лоrики, часть из которых была рассмотрена в начале настояшей rлавы. Эти аксиомы, как обычно, назовем базовыми a"cиOMllМи. Правила вывода в модальной лоrике. Эти правила также по аналоrии с предьщушей rлавой назовем бtl30tlыJllи пpaвllJlllМи. Общие аксиомы, описывающие свойства модели параллельных процессов (проrраммы), не зависящие от KOHKpeTHoro типа проrраммы, свойства корректности которой необходимо доказать. Эrи аксиомы, как обычно, назовем мtIOeльными aкcиOМllМи. 213 
9. МодШlьность в ситуационном исчислении Частные аксиомы, описывающие свойства конкретной проrpаммы, корректность которой необходимо доказать. Эти аксиомы, поскольку мы имеем дело с проrpаммами, назовем npozptlJtt/NH6IJNU "ксиомами. Формулировку свойства корректности, которое требуется доказать для данной проrpаммы. В настоящем параrpaфе оrpaничимся рассмотрением при мера доказательства корректности для простой Проrpаммы (рис. 9.7), содержащей только один процесс и, следовательно, являющейся последовательной детерминированной проrpаммой. Мы не будем выписывать все известные к настоящему времени базовые аксиомы и правила модальной лоrики. Будем вводить эти аксиомы и правила по мере необходимости в ходе доказательства. 9.9.1. Модел......е аксиомw Нам потребуется только одна модельная аксиома М, на основе которой будут порождены все проrpаммные аксиомы. Эту аксиому можно записать следующим образом: . М: (вMecтe (/) л с(у) л у == и] ::::> (вMecтe (1' == переход (с(у), 1» л лу == Ли) лJ; (х) == h (у»), Она rласит: если процесс находится в активном месте / (истинен предикат вMecтe (/» и истинно условие перехода с(у), а текущее значение переменных набора у есть и, то он переходит в место /', если значение условия с(у) истинно. В месте /, выполняется присвоение переменным набора у значений переменных набораf(и) и вычисляется (конкретизируется)J;(х) == h (у). Из этой аксиомы видно, что проверка условия с(у) выступает здесь в роли действия, в результате KOToporo осуществляется переход в место /'. 9.9.2. Проrpаммные аксиомы Рассмотрим проrpамму возведения в целую степень   о действительноro числа Х" Т.е. nporpaMMy вычислеНия Х."2. Эта проrpамма имеет три места /0' [.' /2" Место [о является начальным и до начала вычисления истинно действие ..., Начать. Вычисление начинается в результате выполнения действия Начать. Предположим, что 00 ==1. Необходимо по казать корректность этой проrpаммы, Т.е. что она действительно вычисляет указанную степень. [раф переходов этой nporpaMMbI представлен на рис. 9.7. Torдa проrpаммными аксиомами, полученными по модельной аксиоме для каждоrо перехода проrpаммы, будyr следующие: Мо: вMecтe (/0) л..., Начать ::> (вMecтe (/0 == переход (..., Начать, /0» л лу == и л и == (х" Х 2 ' 1) л Х."2 == УЗ У."2], 214 
9.9, Доказательство свойств корректности М.: вMecтe (10) л НачатЬ-::J [вMecтe (/. == переход (Начать, 10» л л у == 11 л 11 == (Х р Х 2 , 1) Л Х."2 == УЗ У. У 2], М 2 : [вMecтe (1. ) л У 2 == О л у == 11] -::J [вMecтe (/2 == переход (У2 == о, 11» л л у:::: 11 л Х."2 == Уз Y I Y 2], м з : [вMecтe (/.) л У 2 > О л нечетный (У 2 ) л у == II]-::J -::J [вMecтe (/. == переход (У2> О л нечетный (У2)' 11» л у == (ир и2 1, U l ' из) л л x 1 "2 == Уз У{2), М4: [вMecтe (/.) л У 2 > О л четный (У 2 ) л у == II)-::J -::J [вMecтe (1. == переход (У2> О л четный (У2)' 1.» л у == (и/, и 2 +2, из) л л x 1 "2 == Уз У{21. ....,Ночать I (J;, ,) :== (Xl'' 1), лf2=?J;Ji Ночать I cv., ,) :== (oЖj, Х 1 ' 1), xf2== JiY: Рис. 9.7. rраф переходов nporpaMMbI возведения в целую степень Х 2 числа Х.. 9.9.3. Свойство корректности Для Toro чтобы установить корректность проrpаммЫ вычисления степени, необходимо доказать истинность выражения 215 
9. Модальность в ситуационном исчислении 1= вMecтe (/0) л Начать л Х 2  О :J OвMecтe (/2) л У3== х."2. Соrласно классификации свойств, приведенной ранее, это выражение относится к числу свойств осуществимости. Напомним, знак 1= rоворит о том, что доказательство истинности должно вестись только для справедливоrо (Р, ф)выполнения проrpаммы. Но поскольку наш пример простейший и имеет дело только с одним процессом, то следует доказать истинность выражения F вMecтe (/0) л Начать л Х 2  О ::> OвMecтe (/2) л У3 == х."2. 9.9.4. Доказательство Для Toro чтобы было удобно следить за процесс ом доказательства корректности проrpaммы, каждый ero шаr будем нумеровать. Как всеrда, формула со знаком  впереди означает, что она стала истинной в результате вывода на этом шаre. Выше будем указывать те правила или аксиомы, которые использовались для доказательства ее истинности. Некоторые из этих правил и аксиом ранее ниrде не упоминались. Большинство из этих правил леrко вывести из правил и аксиом, рассмотренных в предьшущих rлавах. Если потребуется, то будем давать также пояснения к доказательству на соответствующем шаre. В соответствии с приведенным ранее определением ситуация s есть состояние прщ-раммы, коrда она находится в месте / и ожидает выполнения очередноrо действия для перехода в друryю ситуацию (место при этом может оказаться тем же самым). Обратим внимание, что как только проrpамма попадет в место /, переменным набора у присваиваются значения промежуточноro набора 11 и вычисляется очередное промежyrочное значение Уз' У.У2 == Х,"2. Начальное условие имеет вид  (вMecтe (/0) л Начать л Х 2  О. (9.4) Используя проrpаммную аксиому Мо и подставляя вместо У3 ее значение, равное 1, получаем  (вMecтe (/0) л у == 11 л 11 == (х,. Х2. 1) л Х.Х2 == 1. У.У2 . (9.5) Т.е. имеем истинную формулу 216 
9.9. Доказательство свойств корректности Р(/о) == [вMecтe (/0) л у == 11 л 11== (х.,х 2 ,1) л X. == 1. У/2]. Используя проrpаммную аксиому М.. начальное условие (9.1), формулу (9.5) и правило модус поненс, имеем  вMecтe (/.)л у == 11 л 11 == (Х..Х 2 ,1) л X. == 1. У. У 2. (9.6) Начальное условие Х 2  О представляем в виде P(/.) == вMecтe (/.) л у == 11 л 11 == (х., Х2, 1) л X. == 1. У. У 2. Имеем  х2  О == Х 2 == О v Х 2 > О. (9.7) Используя формулы (9.6)(9, 7) и правило введения конъюнкции, получаем  вMecтe (/.)л у == IIл 11 == (x..x 2 ,1) Л x.==I. У. У 2 л Х 2 == О v Х 2 > О). (9.8) Используя формулу (9.8) и правило (1. == 12)  /(1'1 1.) = /(1" 1.), имеем  вMecтe (/.) л у == 11 л 11 == (х.. Х 2 ' 1) Л XI ==1. У. У 2 л Л Уз' У. У 2 == XI Л х2 == О v Х 2 > О. (9.9) Используя формулу (9.9), правило исключения конъюнкта и правило (1. == 12)  /(1" 1.) = /(1" 12)' получаем  вMecтe (/.) л У == IIл 11 == (х..х 2 ,1) л Х. Х 2== У з 'У. У 2 Л У 2 == О. (9.10) Используя формулу (9.10), правило исключения конъюнкта и правило (1. == 12)  /(1'1 1.) = /иl' 12)' имеем  вMecтe (1.) л У == 11 л 11 == (Х.. х 2 ,1) л Х. Х 2 == У з 'У. У 2 л У 2 > О. (9.11) Формула (9.11) для случая нечетноro У 2 имееТ вид  вMecтe (11) л У == 11 л 11 == (х.. X 2 ,I) л Х.Х2 == У з 'У I У 2 Л нечетный (У2) л ЛУ2 > о. (9.12) Формула (9.12) для случая четноro У 2 имеет вид  в"'ecтe (1.) л у == и л 11 == (Х.. Х 2 ' 1) л х.х2 == уз. у / 2 Л четный (У2) л У2 > О. (9.13) 217 
9. Модальность в ситуационном исчислении Используя проrpаммную аксиому М2' формулу (9.\0) и правило модус поненс, получаем истинную формулу Р(а, 1.) для случая, коrда У 2 == о, и == (X 1 , Х 2 , \)  вMecтe (/2) л у == и л и == (X 1 , Х 2 , 1) /\ X 1 x 2 == YJ'J/'2 л У 2 == о. (9.\4) Используя проrpаммную аксиому МЗ' формулу (9.\2) и правило модус поненс, получаем истинную формулу Р (а, 11) для случая, коrда У 2 > о, и == (X 1 , Х 2 , \) и нечетный (У2)  в  месте (/1) /\ У == и л и == (Х р Х 2  \, X 1 ) /\ нечетный (У2) /\ /\ Уз' У/2 == X 1 x 2/\ У 2 > о. (9.\5) Используя проrpаммную аксиому М 4 , формулу (9.1 З) и правило модус поненс, получаем истинную формулу Р(о, /1» для случая, коша У2 > О, и == (X 1 ' Х 2 ' \) и четный (yJ  вMecтe (11) л у == и /\ и == (xll, Х 2 -<- 2, \) /\ четный (У2) /\ л Уз' У."2 == X 1 x 2/\ У2 > о. Предположим теперь, что формула (9.\6 ) P(/) == вMecтe (11) л у == и л и == (u l , и 2 , и) л x 1 -'2 == Y1.YI"2 == и з .и."2 л /\ и 2 == О v и 2 > о) истинна для любоro места 1. Тоша используя проrраммную аксиому М 2 , формулу (9.\4) и правило модус поненс, получаем истинную формулу Р(а, /1) для случая, коrда У 2 == о, и == (u l , и 2 , из) == (u l , о, из), четный (У2)  вMecтe (12) л у == и л и == (ир О, из) л X 1 x 2 == У з .У/2 == и з .и."2 == из.и.О == == и з .\ == из == У З "/\ У 2 == о. Используя проrpаммную аксиому МЗ' формулу (9.\5) и правило модус поненс, получаем истинную формулу Р (о, 1) для случая, кorда У 2 > о, и == (u l . и 2 \, иl.и з ) и нечетный (У)  вMecтe (1) /\ У == и л и == (ир и 2  \, uJ.u J ) /\ нечетный (У2) л == Х(2 == 11  I == Y J 'Y 1 '2 == и l .u з .и I 2 == u з .и."2/\ У 2 > о. (9.\7) 2\8 
Вопросы u упражнения Используя проrpаммную аксиому М4' формулу (9.16) и правило модус поненс, получаем истинную формулу Р (а, '.) для случая, Korдa У2 > О, 11 == (и р и 2 I, U.'U з ) и четный (У2) f--- вMecтe (/.) л у == 11 л 11== (U I 2 , и 2 ... 2, 1) л четныЙ (У2) л х.-'2 == Уз' У .)'2 == U 2 " 2 == I.(u/) . == u з 'u,U2" У2 > О. (9.18) Друrих формул Р (а, '1) не существует. Таким образом, показана истинность Р(/о) и истинность '1(а, /) (Р(/» ::::> Р(а, /)). Из индукционной аксиомы следует истинность формулы '1(/) Р(/» == '1(/)(вMecтe (/) л у == 11 ': 11 == (и.. и 2 , u з ) Л х,Ж2 == У]'У,)'2 == == U]'U.u2) := D(вMecтe (1) " у == 11 " 11 == (и.. и 2 , и]) Л л х. ж2 == Уз' У .)'2 == U].U.u2). (9,19) Используя аксиому модальной лоrики Df::::> О!. получаем O(вMecтe (/) л у == и л и == (и.. и 2 , u з ) " х.ж2 == УЗ. У I)'2 == U з .U,U 2 ). (9.20) Начальным значением Х 2 ' присваиваемым промежуточной переменной и 2 , является положительное конечное число. Промежуточное значение и 2 == У2 соrласно выполняемым действиям уменьшается до тех пор, пока не станет равным О . При этом значении и 2 == У2 == О И формула (9.20) приобретает следующий вид: o(вMecтe (1) л у == 11 л и == (u 1 ' О, и]) " Х.Х 2 == уз)' (9.21) Используя правило исключения конъюнкта, получаем O(вMecтe (1) л Х. Ж 2 == уз). (9.22) Таким образом, имеем F вMecтe Ц) л Начать л Х 2  О ::::> OвMecтe (/2) л Уз== Х I Ж 2. Корректность проrpаммы доказана. Вопросы и УПр3JКllения 1. Что такое модальность? 2: Зачем вводятся модальные операторы во временной модальной лоrике? 3. Каков смысл модальных операторов? 4. Из каких конструкuий состоит язык временной модальной лоrики? 219 
9. Модальность в ситуационном' исчислении 5. В чем содержательная суть модели параллельных npoueccoB? Дайте формальное определение модели параллельных npoueccoB. Что такое nporpaMMa? 6. В чем состоит мультипроrpаммное выполнение параллельных npoueccoB? 7. Адекватно ли мультипроrраммное выполнение параллельных проuессов параллельному выполнению? Если неадекватно, то в чем состоит неадекватность и как ее избежать? 8. Что такое дедлок? Вследствие каких явлений параллельные npoueccbl MOryr попасть в дедлок? Как избежать дедлока? 9. Чем модальная временная лоrика удобна для описания и про верки правильноrо выполнения nporpaMMbl? 10. Какие свойства nporpaMM вам известны? Дайте их содержательное толкование. Запишите эти свойства на языке временной модалЬной лоrики. 11. Какова структура доказательства корректности (свойства) nporpaMMbl? Какие типы аксиом применяются для доказатльства корректности nporpaMM? 12. Постройте иниuиальный детерминированный автомат по множеству последовательностей S == {ес.. о,с" 0,0,0/" О,О,О,О,С" °1 0 1 С ' , 0,0'С 1 ' 01С1' 010101С1}' Сформулируйте свойство отсутствия перехода любоro состояния в себя по любому входу о,. Докажите или onpoBeprHeTe это свойство. 13. Постройте иниuиальный детерминированный автомат по множеству последовательностей S == {ес., о,с" о.о,о,с" О.О,О.О,С" 01 0 1 С " 0,0'С 1 ' 01С1' 010Р1С1}. Сформулируйте свойстводетерминированности автомата. Докажите или onpoвeprHeTe это свойство. 14. Постройте иниuиальный детерминированный автомат по множеству последовательностей S == {ес.. о,с.. о,о,о.с" О.О,О,О,С" 0101С" 0.0'С 1 ' 01С1' 010Р1С1}. Сформулируйте свойство достижимости каждоrо состояния из начальноrо. Докажите или onpoBeprHeTe это свойство. 15. Постройте иниuиальный детерминированный автомат щ) множеству последовательностей S == {ес" о,с" о.о,о,с.' О,О.О.О,С.' 0101С" 0,О'С 1 ' 01С1' 010101С1}' Сформулируйте свойство наличия uиклическоrо перехода по входу О, из начальноro состояния через все остальные снова в начальное. Докажите или onpoBeprHeтe это свойство. 16. Постройте иниuиальный детерминированный автомат по множеству последовательностей S == {ес., о.с,' о,о.о,с.. о,о\о.о,с.' 0101С" о,0'С 1 ' 01С1' 010101С1}' Сформулируйте свойство отсутствия перехода любоrо состояния в себя по любому входу. Докажите или onpOBeprHeTe Э'ТО свойство. 
10. ДЕДУКТИВНЫЕ БАЗЫ ДАННЫХ в настоящей zлаве рассмотрены некоторые аспекты теории дедуктивных баз данных, запросы к которым удовлетворяются на основе использования исчислений. Современный компьютеризованный мир ТРУДНО представить без баз данных, хранящих orpoMHbIe массивы информации, называемой данными. Эти базы данных постоянно обновляются. К ним непрерывно поступают запросы на поиск информации по определенным признакам и отношениям между данными. Теоретическим и практическим вопросам баз данных посвящено MHoro работ. Базы данных различаются по структуре хранящихся в них данных и бывают иерархическими, сетевыми (rрафовыми), объектноориентированными и реляционными. После появления реляционных баз данных стали публиковаться и теоретические работы, предлаraющие строить теорию реляционных баз данных на основе какойлибо формальной системы или исчисления. Запросы к реляционным базам данных или поиск в базах данных в этом случае предлаraлось осуществлять как вывод в не котором исчислении. В настоящее время интерес к этому направлению развития баз данных стал особенно ощyrим в связи С бурным развитием сетевых технолоrий и необходимостью работать с распределенными данными различноro типа. Именно базам тaKoro типа посвящена настоящая rлава. Распространенной точкой зрения на реализацию дедуктивной базы данных является подход, основанный на определенном расширении системы управления данными в реляционной базе. Рассмотрим cyrb этоro подхода. 10.1. Реляционные базы данных Данные в реляционных базах хранятся в виде таблиц, задающих определенные отношения между этими данными. Каждому столбцу таблицы взаимно однозначно соответствует атрllбут (имя столбца) a i , а атрибуту  множество значений переменных {x i .. х/ 2 , ,.., x i ) == . Переменные одноrо и Toro же множества Х, принимают значения из одноrо универсума. Множество значений d, == (О'.. 02'..., о') переменных (x i .. X i 2 , ..., x i ) называют домено.м. 221 
/О. Дедуктивные бозы донных Под схемои отношении подразумевают выражение а(о\(Х\), ..., От(Х т »' В котором а является именем схемы отношений, оР9  термы базы, i == 1, ..., т. Схему отношений, все термы которой конкретизированы a(o,(d , ), ..., °m(d» , называют конкретизированной схемой отношениЙ,или таблицей a(o.(d , ), ..., 0m(d m ». Если нас не интересуют конкретные множества переменных и доменов, то схему отношений обозначают а(о.. ..., От)' а соответствующую ей таблицу Па). База данных  это множество конкретизированных схем отношений или таблиц, называемых также конкретизацией,ИЛИ состоянием базы. Состояние базы, т.е. ее конкретизация, может изменяться. Множество всех атрибутов базы есть А == {o,li EN}, rде N == {l,...,N}, N  количество атрибутов. Подмножество атрибутов множества А, состоящее из i атрибутов, индексы которых пробеrают множество значений /('), обозначим А(I(I). Будем полаrать, что атрибуты всеrда упорядочены в соответствии с порядком индексов в множестве /(1), а /<,1 упорядочено по возрастанию. Таким образом, А( /<'» == {о Ij Е /<О}. Множество А( / ('» будем называть основой схемы отношении. J В каждом состоянии базы данных каждому атрибуту соответствует один домен d == {O-' I ' 0-' 2 ' ..., 0-' } из HeKoToporo конечноro множества всех доменов D. J п Соответствие между множеством атрибутов о, и доменов  в каждом состоянии S базы данных можно выразить в виде Функuии dom (О" S): А  D, отображаюшей множество атрибутов на множество доменов, Т.е. dom (О;, S) == ==  == {О-'.. 0-'2' ..., 0-'). Символ состояния базы данных будем, как правило, опускать, имея в виду, что база всеrда конкретизирована, Т.е. имеет состояние. Множество всех различных подмножеств индексов /<1), rдe 1 s i s N, содержащих i различных индексов из множества индексов N всех атрибутов, обозначают J,(Л) == {(,II j == 1, ...,С'.,,}, rдe C'N  количество сочетаний из N по i. С учетом введенных обозначений схему отношений можно обозначить как а(А(I(т}». Обозначим dom(A(I('») Х dom(o,). JE/(') Здесь Х  знак операuии декартова произведения всех доменов, атрибyrы ,Е/(') которых при надлежат множеству А(/(I'). Строкои таблицы a(o\(d , ), о.., 0m(d m », rде d, == {d " 0'2' ..., О;п}' i == 1, ..., т. называют упорядоченное множество (кортеж) Jl,(a) == Jl, (a(ol(d.), ..., 0m(d m ))) == == {о." 02}, ..., от,}, 1 Е {I, ..., ri}. Конкретный элемент строки Jl}(a), лежащий на пересечении ее со столбuом, соответствующим атрибуту О" обозначим Jl,(o)== о'}. Множество всех строк Jl,(a), 1 == {l, ..., ri} таблицы a(o.(d , ), .... Om(d» обозначим Jl(a). 222 
10.1. Реляционные базы дaHHых Пример. Зададим конкретизированную схему отношений ДЛЯ данных о поездах, следующих из начальных до конечных пунктов в центральной России. Эту схему отношений назовем прямыемаршруты. Введем ДЛЯ нее атрибуты номерпоезда, пунктотправления, пунктназначения, деньотправления, времяотправления и соответствующие им домены: dom (номерпоезда) == (МТlOО, TK200, КМЗОО), dom (пунктотправления) == (Москва, Тула, Калуzа), dom (пунктназначения) == (Тула, Калуzа, Москва), dom (деньотправления) == (Понедельник, Среда, Пятница), dom (времяотправления) == (10.00, 14.00, 16.00). Конкретизированную схему отношений прямыемаршруты можно представить в виде таблицы (табл. 2.1). Таблица 2.1 номерпоезда пYHKтoтпpaв пунктназна дeHboтпpaв времяотправ ленuя ченuя ленuя ленuя MT 100 Москва Тула Понедельник 10. 00 . TK200 Тула Калуzа Среда 14.00. кмзоо Калуzа Москва Пятница 16.00 10.2. Реляционная алreбра Реляционной алrеброй обычно называют язык, позволяющий формулировать запросы к базе данных и вычислять ответы на эти запросы. Этот язык содержит ряд операторов, основными из которых являются следующие. . Оператор выбора V, позволяющий выбирать строку из таблицы. . Оператор проекщш /1, позволяющий осуществлять проекцию таблицы на определенные ее столбцы. . Операторы пересечения 11, объединения u и разности \, определенные для таблиц одинаковоro формата. 223 
10. Дедуктивные базы данных . Оператор картезианскоrо произведения х. Рассмотрим эти операторы более формально. 10.2.1. Оператор выбора v Дана таблица a(a.(d.), ..., aт(d», в которой представлено множество атрибyrов А(1/т), И выражение vQw, rде Q Е {<, S, ==, '/;, , >}, v, W Е {А(1Щ) u u dom (А(1(т))}, причем имеет место один из следующих случаев: v, W Е А(1/т), v Е А(1/т), W Е dom (А(1/т)), v Е dom (А(l/т)), W Е А(1!т). В случае применения оператора выбора к таблице a(a.(d.), ..., aт(d», rдe d, == {а'.. cr i 2 , ..., а'), i == 1, ..., т, и выражению vQw получим таблицу, имеющую то же множество атрибутов А(1(т) и множество строк Il,(a)== == J.1,(a(a.(d t ), ..., a",(d») == {а'" су}" ..., а"',}, / Е {1, ..., ri}, исходной таблицы a(a.(d.), ..., °т(d» , таких, что \t(/)Il,(v) Q IlДW», если v, W Е A(1/ml), \t(/)Il,(v) Q w, если v Е A(1lml), W Е dQm (А(1l т ,» , \t(l) }' Q 1l,«W» , если v Е dom (A(1/m J », W Е A(1(ml). Пример. В результате применения операции выбора к табл. 2.2 при условии, что v == пУНlCтотправленuя, Q == " == ", W == Тула, получим табл. 2.3. Таблица 2.2 номерпоезда пYHKтoтпpaв пунктНllЗНll дeнboтпpaв времяотправ леНllЯ ченuя ления ленuя MT100 Москва Тула Понедельник 10.00 ТК 200 Тула Калуzа Среда 14.00 кмзоо K{/JIyza Москва Пятница 16.00 М  150 Москва K{/JIyza Вторник 12.00 МТ200 Москва Тула Среда 17.00 224 
/0.2. Реляционная алi!ебра Таблица 2.3 номер поезда пYHKmomпpaB пYHKmHa3Ha дeнbomпpaB времяоmправ ленuя ченuя ленuя ленuя MT100 Москва Тула Понедсльнuк 10.00 MT200 Москва Тула Среда 17.00 10.2.2. Оператор проекции l'1 Дана таблица a(a.(d , ), ..., ak(d k », ..., am(d», имеюшая множество атрибуroв А(/(т) , а также множество атрибутов A(/(j), такое, что А(/I)))  A(/Im'). Применение оператора проекции к таблице a(a.(d.), ..., am(d m » и множеству атрибутов А(/(Л) дает новую таблицу, получение которой осушествляется в два этапа. На первом этапе формируется таблица a'(a.;(d;), ..., a;(d,), ..., a'(d'», такая, что {а . ', ..., а'} == А(/и) и V(i) (а'== а.) ::::) dom (а') == dom (а.). J J J I А , А На втором этапе в этой таблице Все одинаковые строки заменяются одной из них. Пример применения операции проекции. Пусть дана табл. 2.2, а также множество атрибутов {пУНlCтотправления, пУНlCтназначения}. Тоrда, применяя к ним операцию проекции, получаем табл. 2.4. Таблица 2.4 пунюпomnpавленuя пунюпназначенuя Москва Тула Тула Ka.1iyza Калуzа Москва Москва Калуzа 10.2.3. Оператор пересечения n Даны таблицы, имеюшие одно и то же множество атрибутов, но, возможно, разные домены. В результате применения оператора пересечения 8 1141 225 
10. Дедуктиеные базы данных получается новая таблица, имеюшая то же множество атрибутов и множество всех строк, встречаюшихся как в первой, так и во второй исходных таблицах. 10.2.4. Оператор объединения u Даны таблицы, имеюшие одно и то же множество атрибутов, но, возможно, разные домены. В результате применения оператора объединения получается новая таблица, имеющая то же множество атрибутов и множество строк, являюшееся объединением строк первой и второй исходной таблиц. 10.2.5. Оператор разности \ Даны таблицы, имеюшие одно и то же множество ат:рибутов, но, возможно, разные домены. В результате применения оператора разности получается новая таблица, имеюшая то же множество атрибутов и множество строк, встречаюшихся только в первой таблице, но не встречаюшихся во вторЬЙ. 10.2.6. Оператор картезианскоro произведения х Даны две таблицы, имеюшие соответственно множество атрибутов А(I(т') И А(I(JI). Оператор картезианскоro произведения позволяет получить по этим таблицам новую таблицу, мн()жество атрибутов которой является объединением {A(llт,) U A(lIJ)} атрибyrов двух исходных таблиц, а множество строк получается как результат конкатенации каждой строки первой таблицы с каждой строкой второй. Пример. Даны две таблицы (табл. 2.5 и 2.6). В результате применения к ним операции картезианскоrо произведения получим табл. 2.7. Кроме перечисленных операторов в реляционной алreбре MOryr встречаться и друrие. Реляционная алrебра является вычислительной основой пользовательских языков, на которых, собственно, и осушествляется контакт пользователя (запросы, создание, модификация и т.п.) с базой данных. Таблица 2.5 Таблица 2.6 I.юмерпоезда пYHKтoтпpaB пYHKтнa3Ha ления ченuя MT100 Москва Тула ТК 200 Тула Калуzа дeHboтпpaB времяотправления ления Понедельнuк 10.00 Среда 14.00 226 
10.3. TpuzzepbI Таблиuа 2.7 номер поезда пYHKmomпpaв пYHKmHa3Ha дeHbomпpaв Времяотправ ления чения ления леНIIЯ MT100 Москва Тула П онедеЛЬНIIК 10.00 MT10O- Москва Тула Среда 14.00 тк 200 Тула Калуzа ПонедеЛЬНIIК 10.00 ТК 200 Тула Калуzа Среда 14.00 Одним из таких языков является SQL (Structured Query иngиаве), семантику преДl10жений Koтoporo можно леrко истолковать с. помошью введенных понятий и операторов реляuионной алrебры. Этот язык является CBoero рода стандартом языка запросов ДI1я коммерческих баз данных. В задачу настояшей книrи не входит рассмотрение всех аспектов реляuионной алrебры и пользовательских языков типа SQL. ОНИ нам нужны только ДI1я TOro, чтобы показать в дальнейшем их связь и использование ДI1я построения дедуктивных баз данных. 10.3. Триrrеры Современные базы данных позволяют указывать и выполнять над базой данных действия с помошью рассмотренных операторов реляuионной алreбры или их аналоrов в языке SQL в зависимости от свершения таких изменений в базе данных, как создание, удаление или модификаuия таблиu. Эти изменения обычно называют событиями. ОписаНИе действий осуществляется с помошью спеuиальных правил, не очень удачно называемых 111J'"ZZep4JНII. События, при водящие к Выполнению правил, называют обычно тpllzzepHWAIII C0661тIlJlJNII. В настоящем параrpафе рассмотрим концепuию 1'риrrеров, поскольку они MOIyr быть использованы для реализаuии вывода в дедуктивных базах данных. Триrreры не входят в определение понятия базы данных. Они воспринимаются и выполняются системой управления базой данных. Синтаксически триrrер определяется следуюшим образом: Tpuzzep  Указатель Tpuzzep Имя mpuzzepa для Имя таблицы Коzда Событие Режим выполнения Спецификация действия [Список трииеров с большим приоритето-м) {Список трuzzеров с меньшим приоритето-м), Указатель  Создать I Заменить, 8. 227 
то. Дедуктивные базы данных Событие  Ввести данные в таблицу I Удалить данные из таблицы I Обновить значения в столбцах таблицы [Список столбцов таблицы), Режим выполнения  для каждой строки I для таблицы, Спецификация действия --+ Начало Если Условие То Действие Конец. Каждый триrrер определяется по отношению к таблиuе базы данных. Событиями являются введение данных в таблиU}', удаление данных из таблиuы и обновление значения в определенных столбuах таблиuы. Совершение событий дает возможность выполнить действия, указываемые в спеuификаuии триrreра. Это выполнение может про изойти, Но может и не произойти. Все зависит от условия, предшествующеro действию в спеuификаuии действия. Режим выполнения указывает, будет ли действие выполняться отдельно для каждой строки таблиuы или для таблиuы в uелом. В списке три22еров с большим приоритетом задаются триrrеры, приоритет выполнения которых ВЫше, чем у даНноrо. Список три2zeров с меньшим приоритетом указывает триrrеры, приоритет выполнения которых ниже, чем у данноro. Если сразу несколько триrrеров с одинаковым приоритетом MorYT выполняться, то система управления базой данных выполняет один из них в произвольном порядке. Пример. База данных HeKoToporo предприятия содержит две таблиuы форматов заказ (поставщик, изделие. количество, сумма, исполнитель, статус). бюджет (исполнитель, сумма бюджета). Таблиuа заказ хранит сведения о поставщиках изделий, которые заказал исполнитель в некотором количестве на определенную сумму. Таблиuа бюджет хранит информаuию об исполнителях и суммах бюджета, которые они MOryт потратить. На предприятии действуют три правила, Сумма, которую может потратить каждый исполнитель, не должна превосходить сумму ero бюджета. Заказы посылаются поставшику по электронной Почте. Если сумма заказа превышает 1000 руб., то исполнитель должен получить разрешение на ее расходование от вышестоящеro начальника. Не используя введенный выше формализм для триrreров, рассмотрим суть их использования для проверки выполнения этих правил. Первое и третье правила MOryт быть реализованы триrrерами, выполняемыми в результате введения данных в таблиuу заказ. Прежде Bcero должен выполняться триrrер, проверяющий, является ли сумма заказа исполнителя по данному изделию 228 
10.4. Реляционная база данных и лоzические исчисления менее 1000 руб. Если это так, то статус исполнителя по данному изделию устанавливается разрешающим закупку. В противном случае выполняется друroй триrrер, в результате чеrо по электронной почте посылается запрос начальнику исполнителя на разрешение закупки, который в своем ответе устанавливает соответствующий статус исполнителя. Триrreр, реализующий второе правило, выполняется, коrда статус исполнителя является разрешающим. При использовании триrrеров требуется решение двух rлавных вопросов. Любое ли изменение в любой базе данных при водит к конечному числу шаroв выполнения триrrеров? Является ли выполнение триrreров детерминированным? В большинстве существующих систем управления базами данных положительноrо ответа на эти вопросы добиваются специальными ОIl'аничениями на выполнение триrreров. 10.4. РeJlJlционнаи база данных и лоrические исчислении Таблица Т(о.) (таблица с именем а) реляционной базы данных может рассматриваться как хранилише фактов 0.(0-1" 0-2" ..., cr'",), / Е {1, .." ri}, каждый из которых взаимно однозначно соответствует строке ,(o.) == (0-1" 0-2" ..., о-т) таблицы о.. Пример представления таблицы как мвожества фактов. Пусть имеется таблица преподаватели (табл. 2.8). Таблица 2.8 фамWlUЯ зарплата дОllЖность Павлов 3000 Профессор Ивин 2500 Доцент Селuxoв 2000 Старшийпреподаватель Эту таблицу можно представить множеством фактов: преподаватели (Павлов, 3000, Профессор), преподаватели (Ивин, 2500, Доцент), преподаватели (Селихов, 2000, Старшийпреподаватель). 229 
10. Дедуктивные базы данных Иными словами, таблицу преподаватели можно рассматривать как интерпретацию атома преподаватели (фамилия, зарплата, должность). Запрос к базе данных, звучаший как "Преподаватели с какой фамилией, зарплатой и должностью делают атом преподаватели (фамилия, зарплата, должность) истинным?", можно рассматривать как поиск всех конкретизаций этоro атома при данной интерпретации. Таким образом, схема отношений a(A(/lт») может быть атомом с предикатным символом а и множеством переменных А(/(т». При этом предполаraется, что все строки конкретизированной схемы отношений (таблицы) Т(а) являются конкретизациями атома a(A(/lт»), делаюшими ero истинным. Используя атомы по правиJiам TOro или иноrо исчисления, можно формулировать аксиомы, на основе которых с использованием базовых аксиом этоro исчисления ОСуШествляется вывод целевой формулы. Одним из таких исчислений может быть и€числение, используюшее 1ОЛько хорновские формулы и обобшенное правило вывода модус поненс. Черты этоro исчисления были рассмотрены в четвертой rлаве. Дрyrим исчислением может быть ситуационное исчисление, рассмотренное в восьмой rлаве. Формулировку цели в постановке задачи применительно к базе данных обычно называКYf 3II1IJIOC0Itf, а наЙденную (выведенную) цель  OтитOltf НII ЗIl1fJIOC. Язык любоrо исчисления, используемоro для формальной постановки задачи запроса и дедуктивноrо вывода для получения ответа на'запрос, обычно называют ДеiimtlAОZОJN (Datalog), а описание на нем ДeiiтtlAоz"рОlрllJНJlU}ii. Часть Дейталоrпроrpаммы, не содержащую фактов, называют ДеiiтtlAоz "p"tllUtlJNU. Теперь peA1Il(UOHHOii 6tnoii iJa"H6lX назовем пару, состоящую из множества таблиц (конкретизированных схем отношений) и Дейталorправил. При ведем при мер реляционной базы данных, содержашей одну таблицу пункты (табл. 2.9) и два Дейталоrправила. Таблица 2.9 пункmоmправлеНlIЯ пункmназначеНI Москва Тула Тула Калуzа Калуzа Москва Дейталоrправила: пункты (пунктотправления, пунктназначения) ::> ::) маршрут (пунктотправления, пунктназначения), пункты (пунктотправления, промежуточныйпункт) л 230 
10.5. Переход от Дейталоzа к SQL л железнооорожный  маршрут (промежуточный  пункт, пункт  назначения) л л пунктотправления  пунктназначенUЯ ::> маршрут (пунктотправления, пунктназначения). Дейталоrпроrpамма, соответствуюшая этой реляuионной базе данных, будет следуюшей: . пункты (пунктотправления, пунктназначения) ::> ::> маршрут (пунктотправления, пунктназначения), пункты (пунктотправления, промежуточныйпункт) л л маршрут (промежуточныйпункт, пунктназначения) л л пунктотправления  пунктназначения::> ::> маршрут (пунктотправления, пунктназначения), пункты (Москва, Тула), пункты (Тула, Калуzа) , пункты (Калуzа, Москва). Множество всех атомов Дейталоrпроrpаммы, являюшихся фактами, называют экстенсионlUОJН. Множество всех остальных конкретизированных атомов, выводимых с помошью Дейталоrпроrраммы, называют интенсионlUОJН. ДедуктивнШI база донных состоит из реляuионной базы данных (т.е. множества таблиu, соответствуюших экстенсионалу, И Дейталоrправил) и множества таблиu, соответствуюших интенсионалу. Всем фактам экстенсионала, имеюшим опин и тот же препикатный символ, соответствует опна таблиuа, атрибуты которой совпадают с именами переменных факта, а строки являются' наборами значений этих переменных. Всем атомам интенсионала, имеюшим один и тот же предикатный символ, соответствует также одна таблиuа, атрибуты которой совпадают с именами переменных атома. Строки этой таблиuы MOryr заполняться поразному. Это зависит от интерпретаuии атрибутов, в частности от области значений каждоro атрибута. В крайнем случае, это может быть множество всех возможных наборов значений атрибутов. 10.5. Переход от Дейталоra к SQL Вместо TOro, чтобы строить отдельную систему вывода для ответа на запросы в языке Дейталоr, покажем, как можно перевести эти запросы в 231 
/о. Дедуктивные базы данных язык SQL и тем самым получить ответ на запрос с помощью вычислений в реляционной алrе6ре, стояшей за операторами языка SQL. Вернемся к приведенной выше Дейталоrпроrpамме, соответствующей реляционной базе данных. Введем с целью наrлядности следующие более короткие имена apryMeHToB в этой проrpамме: пунктотправленuя == по, пунктназначенuя == пн, промежуточныйпункт == пп. После введения этих обозначений Дейталоrпроrpамма будет иметь вид пункты (по, пн) => маршрут (по, пн), пункты (по, пп) л маршрут (пп, пн) л по  пн => маршрут (по, пн), пункты (Москва, Тула), пункты (Тула, Калуzа) , пункты (Калуzа, Москва). Экстенсионалу этой проrpаммы соответствует таблица пункты (табл. 2.10). Таблица 2.10 по пн Москва Тула Тула Калуzа Калуzа Москва Интенсионалу проrраммы соответствует таблица маршруты (см. табл. 2.11), имеющая те же атрибyrы и те же строки, что и таблица пункты. Это объясняется тем, что атом маршруты (по, пн) имеет в качестве apryMeHToB то же множество переменных, что и атом пункты (по, пн), наборы значений которых определены одними и теми же фактами пункты (Москва, Тула), пункты (Тула, Калуzа) , пункты (Калуzа, Москва). 232 
10.5. Переход от ДеuталО2а к SQL Таблиuа 2.11 по пн Москва Тула Тула Калу..а Калут Москва Если бы проrpамма не содержала BTOpOro правила, То на запрос маршрут (по, пн) должны быть выданы ответы маршрут (Москва, Тула), маршрут (Тула, Калуza) , маршрут (Калуza, Москва), что соответствует табл. 2.12. Таблиuа 2.12 по пн Москва Тула Тула Калу..а Калу..а Москва Очевидно, '!ТО В языке SQL дЛЯ получения TaKoro ответа должен быть сформулирован запрос Se/ect пункты.по, пункты.пн from пункты. Если бы проrpамма не содержала первоro правила, то на запрос маршрут (по, пн) должны быть выданы также три ответа: маршрут (Москва, Калуza), маршрут (Тула, Москва), 233 
10. Дедуктивные базы данных маршрут (Калуzа, Тула), что соответствует формированию табл. 2.13. Таблица 2.13 по пн Москва Калуzа Тула Москва Калуzа Тула Для получения TaKoro ответа в языке SQL должен быть сформулирован запрос Se/ect пунктЫ.по, маршрутЫ.пн from пункты, маршруты Where пунктЫ.пн == маршруты.по And пунктЫ.по  маршрутЫ.пн. Если проrpамма содержит оба правила, то на запрос маршрут (по, пн) должна быть выдана табл. 2.14, являюшаяся объединением таблиц, полученных для каждоrо правила в отдельности. Таблица 2.14 по пн Москва Тула Тула Калуzа Калуzа Москва Москва Калуzа Тула Москва Калуzа Тула 234 
10.6. Ситуационное исчисление в деду"тивной базе данных Для получения TaKoro ответа в. языке SQL должен быть сформулирован запрос SeleCI пун"тЫ.по, пун"тЫ.пн from пун"ты Union SeleCI пун"тЫ.по, маршрутЫ.пн from пун"ты, маршруты Where пун"тЫ.пн == маршрутЫ.по And пун"тЫ.по '* маршрутЫ.пн. Мы рассмотрели только принципы расширения реляционной базы данных, в результате которых она становится дедуктивной базой данных, и использования Дейталоrа путем перехода от Hero к реляционному языку запросов типа SQL. Достоинствами TaKoro расширения, которое приобретает система управления реляционной базой данных в результате превращения ее в дедуктивную базу данных, являются следующие. База данных как хранилище фактов (экстенсионал) остается той же самой и работа с ней, например с целью орrанизаиии мноroпользовательскоrо доступа, обновления, управления транзакциями, восстановления, не изменяется. Дейталоrriроrpамма, в особенности, если она допускает реКУрС8Ю как язык запроса к базе данных, являе-r<;я более выразительным средством, чем язык запросов типа SQL. Ответы на запросы и подзапросы, получаемые в проиессе вывода, не обязательно помещать в базу данных и хранить там, что уменьшает риск повреждения данных в базе и не приводит к ее переполнению. Таким образом, превращение реляционной базы данных в дедуктивную базу не изменяет структуры хранимых данных, а касается только изменения системы управления базой данных, преврашая ее в дедуктивную систему управления базой данных. ИАЫМИ словами, понятие дедуктивной базы данных выражает не свойство структуры данных, а свойство дедуктивной системы управлеНИ$l данными, состоящее в том, что она позволяет осуществлять дедуктивный вывод. Конечно, переход от запроса .дейталоr проrpаммы к запросу на языке типа SQL неоднозначен. В ряде случаев такой переход целесообразно выполнять с использованием триrrеров. Все эти вопросы в настоящей книre не рассматриваются. 10.6. Ситуационное исчисление В дедуктивной базе данных Преимущества дедуктивной базы данных становятся еще более заметными, если в качестве основы для Дейталоrпроrpaммы используется ситуаиионное исчисление. Проrраммы такою типа будем называть ситуаиионными Дейталоrпроrpаммами. Оrpаничимся демонстраиией на простом при мере студенческой ситуационной Дейталоrпроrpaммы тех возможностей, которые 235 
/О. Дедуктивные базы даннЬ/.Х открываются перед нами в случае использования ситуационноrо исчисления, черты KOToporo рассмотрены в rлаве 8. При этом мы не будем рассматривать структуру таблиц базы данных, соответствующих атомам ситуационноro исчисления или переход от запроса в языке ситуационноrо исчисления к языку SQL. Оrpаничимся уровнем ситуационной Дейталоrпроrpаммы. При этом предполаrается, что дедуктивная база данных находится- в некоторой ситуации (состоянии) до тех пор, пока не будет ВЫполнено некоторое действие, пере водящее ее в друryю ситуацию. 10.6.1. Катеroрии Студенческая среда для нашеrо при мера содержит три катеroрии: фамилий студентов: Ксmуде"m == {Светланова, Маринина, Борисов, Иванов}, читаемых курсов: KKY == {Физика, Механика, Математика, Химия, электроника, Информатика, ПРОi!раммирование} , оценок К == {2, 3, 4, 5}. Ol(tмo Переменная, принимающая значение из катеrории студентов, обозначается студент. Переменная, принимающая значение из катеrории курсов, обозначается "Урс, а из катеroрии оценок  оценка. 10.6.2. OrиоmеНIUI Orношения в студенческой среде задаются следующими предикатами: записан (студент, курс, s): предикат истинен, если студент студент записан на курс курс, коrда база находится в ситуации s. экзаменован (студент, курс, оценка, s): предикат истинен, если студент студент экзаменован по курсу курс с оценкой оценка, Korдa база находится в ситуации S. прослушан (студент, курс.. курс 2 ): предикат истинен, если прослушивание курса курс. является обязательным для записи на курс КУРС 2 студента студент. Заметим, что значение этоrо предиката не зависит от ситуации, в которой находится база данных. 10.6.3. ДеicтвlUl Действия, которые MOryт осуществляться в студенческой среде, являются следующими: 236 
10.6. Ситуационное исчисление в дедуктивной базе данных Записать (студент, курс): записать студента студент на курс курс, Поставить (студент, курс, оценка): Поставить студенту студент оценку оценка за сдачу курса курс. Отчислить (студент, курс): отчислить студента студент с курса Курс. 10.6.4. Аксиомы начальной ситуации Аксиомы начальной ситуации определяют содержимое базы данных в начальной ситуации 50: записан (Светланова, Информатика, so) v записан (Светланова, Электроника, 50)' (\1" студент, курс) прослушан (студент, Курс, Электроника) == == курс == Физика л курс == Математика, (\1" студент, курс) ...., прослушан (студент, курс, Информатика), (3 курс) записан (Борисов, курс, 50)' (\1" курс) записан (Борисов, Информатика, 50» == курс == Физика v v курс == Математика v курс == Механика, , ; записан (Маринина, Информатика, So)' ...., записан (Иванов, Электроника, 50)' экзаменован (Светланова, Физика, 4, So)' 10.6.5. Аксиомы допустимых действий Студент может бьrrь записан на курс КУРС2 только В том случае, если он получил оценку не ниже 3 по курсу курс.. обязательному для записи на курс курс 2 : допустимо (Записать (студент, КУРС2)' s) == {\1" (курс.) проС//ушан (студент, курс.. курс 2 ) :J (3 оценка) экзаменован (студент, курс.. оценка, s) л л оценка  3. 237 
/О, Дедуктивные базы данных Студенту может быть поставлена новая оценка, если она отличается от старой: допустимо (Поставить (студент, "урс, оценка 2 ), s) == (3 оценка.) экзаменован (студент, курс, оценка.. s) л оценка 2 -:F- оценка.. Студент может быть отчислен с курса, если он перед этим был на Hero записан: допустимо (Отчислить (студент, курс), s) ;;: записан (студент, курс, s). 10.6.6. Аксиомы перехода в следующие ситуации записан (студент, курс, переход (а, s» :: а ::::: Записать (студент, курс) v v записан (студент, курс, s» л а -:F- Отчислить (студент, курс). Эта аксиома задает условия, при которых студент в следующей ситуации окажется записанным на курс. Это происходит либо вследствие выполнения действия записи студента, или вследствие Тою, что он уже был записан в предьшущей ситуации, и действия по ею отчислению не осуществлялись, экзаменован (студент, курс, оценка., переход (а, s» == а == == Поставить (студент, курс, оценка.) v зкзаменован (студент, курс, оценка.. s) л (\1' оценка 2 ) а -:F- Поставить (студент, курс, оценка 2 ). Эта аксиома задает условия, при которых студент окажется экзаменованным в следующей ситуации. Это происходит либо вследствие выполнения действия По выставлению оценки, либо вследствие Тою, что он уже был экзаменован, и никакая новая оиенка не ставилась. 10.6.7. Запросы к ситуационной Деiiталоrпроrpамме Обратим внимание, что аксиомы начальной ситуации, представленные в языке ситуационноrо исчисления и, вообще, ЛlOбоrо исчисления, не изменяются средствами Toro исчисления, которое используется. Их изменение осущеСТWIЯется извне, Кем и с помощью каких средств ЭТо делается в настоящей книrе, мы даже не интересуемся. Использование же действий необходимо нам тоЛько для Toro, чтобы можно было запрашивать у дедуктивной базы данных ответы на rипотетические вопросы типа: "Может ли случиться некоторая ситуация, в которой истинны определенные предикаты при определенных значениях их apryмeHToB, если такието и такие то действия и в такойто последовательности бьulИ бы выполнены?" Примером запроса этоЮ типа для нашею примера Mor бы быть следующий: "Если была выполнена последовательность действий Отчислить (Иванов, Математика), 238 
10.6. Ситуационное исчисление в дедуктивной базе данных Записать (Маринина, Математика), то в результате ее выполнения студент Иванов записан на какойлибо курс?" Для положительноrо ответа на этот rипотетический вопрос необходимо установить истинность формулы (3 курс) (записан (Иванов, курс, переход (Записать (Маринина, Математика), переход (Отчислить (Иванов, Математика), SO») хотя бы ДЛЯ одною значения переменной курс, 10.6.8. Оrpаничения целостности дедуктивной базы данных Таким образом, ответы на запросы к ситуаuионной Дейталоrпроrpамме, несмотря на наличие действий, не изменяют начальной базы данных. В проuессе поиска ответа, конечно, устанавливаются новые отношения, но все они выводятся только на основании аксиом начальной ситуаиии, аксиом допустимых действий и аксиом перехода в следующие ситуаuии. Эти аксиомы Moryт быть изменены с помощью операuий добавления, удаления или модификации, причем чаще изменяются аксиомы начальных ситуаuий, а не аксиомы допустимых действий и перехода в следующие ситуаиии. Новые запросы к базе данных осуществляются после завершения этих операиий. Ozpan".,eНlleAI lI,еАостностll ситуационной Дейталоrпроrpаммы называются такие ее инвариантные свойства, которые должны всеrда выполняться, в какой бы ситуаuии база не находилась или даже какие бы изменения экстенсионала не произошли. Оrpаничения uелостности задаются в виде аксиом и проверяются всякий раз после изменения экстенсионала. Так, например, ДЛЯ рассмотренной студенческой базы данных моrло бы быть введено следующее оrpаничение целостности: ни один студент не может иметь сразу две оuенки По одному И тому же предмету, Если предположить, что ситуаuионная Дейталоrпроrpамма содержит информаuию о стипендиях, получаемых студентами в течение срока обучения, с использованием предикатов типа стипендия (студент, размер стипендии, s); то оrpаничением целостности моrло бы быть следующее: стипеНдИЯ каЖдою студента не может уменьшаться в течение всею срока ею учебы. Если ввести действие Назначить (студент, р"азмерстипендии), то оrpаничение uелостности можно задать формулой (\1' 5, s', студент, размерстипендии, размерстипендии') л S $; s' л л стипендия (студент, размерстипендии, s) л стипендия (студент, размерстипендии', s') :::> размерстипендии $; размерстипендии'. Естественно, чтобы была возможность проверять это оrраничение uелостности, т .е. устанавливать истинность инвариантных свойств Дейталоr проrpаммы, необходимо ввести аксиому допустимых действий и аксиому перехода в следующую ситуаuию: 239 
/О. Дедуктивные базы данных допустимо (Назначить (студент, размерстипендии), 5)  == (3 размерстипендии') стипендия (студент, размерстипендии', s) /\ /\ размерстипендии' < размерстипендии, стипендия (студент, размерстипендии, переход (а, 5» !!!! а  Назначить (студент, размерстипендии) v стипендия (студент, размерстипендии)'/\ /\ V (размерстипендии') а *- Назначить (студент, размерстипендии'). Потребуется также следующая аксиома единственности имен: Назначить (студент, размерстипендии)  Назначить (студент', размерстипендии') => студент == студент' /\ размерстипендии ==  размерстипендии'. Поиск ответов на запросы к СИ1уаuионной Дейталоrпроrpaмме осушествляerся традиuионным прямым или обратным выводом, стратеrии KOТoporo рассмотрены в rлаве 8 и друrих rлавах. При доказательстве же иелостности обычно используют индукuионные аксиомы, с одной из которых мы подробно ознакомились и привели в rлаве 9. детальное доказательство на ее основе корректности nporpaMMbl. Применяются и друrие индукиионные аксиомы. В частности, для проверки целостности ситуационной Дейталоrпроrраммы часто применяerся двойная индукuионная аксиома. Рассмотрим, как может быть использована эта аксиома для доказательства иелостности ситуационной Дейталоrпроrpаммы. 10.7. Проверка OI'Раничений целостности Проверку оrpаничений uелостности можно осуществить с помощью двoiiнoii UHдyKI(UOHHOii аксиомы второю порядка. Двойная индукиионная аксиома очень похожа на простую индукиионную аксиому и использует не одну, а две ситуационные переменные: (V ер) ер (50' 5;) /\ (V а, 5)(ер (s, 5» => ер(5, переход (а, 5))) /\ [(\1' а, 5, 5') (5 < 5' /\ ер(5, 5') ::> ер(5, переход (а, 5'))) => (\1' 5, 5')(ер(5, 5'». Двойная индукuионная аксиома аналоrична простой индукuионной аксиоме. Так, для нашею примера со стипендиями студентов надо доказать истинность формулы (\1' 5, 5') 5 :=:; 5' => (V (студент, размерстипендии, размерстипендии') стипендия (студент, размерстипендии, s) /\ стипендия (студент, размерстипендии', 5') => размерстипендии :=:; размерстипендии'J, 240 
Вопросы и упражнения лоrически эквивалентной приведенной выше формуле, задаюшей оrpаничение uелостности. Если обозначить q>(s, s') == \/ (студент, розмерстипендии, розмерстипендии') стипендия (студент, розмерстипендии, s) л стипендия (студент, розмерстипендии', s') :) розмерстипендuи:s: розмерстипендии', то схема использования двойной индукuионной аксиомы пля доказательства uелостности будет состоять из следующих шаroв: доказать истинность формулы q>(So' So). предположить истинность формулы (\/ о, s) q> (s, s). На основании этоro предположения показать, что истинна формула (\/ о, s)(q>(s, Переход (о, s». предположить истинность формулы (\/ о, s, s')(s < s' л q>(s, s'». На основании этоrо предположения показать, что истинна формула [(\/ о, s, s') (s < S' 1\ q> (s, переход (о, s'))]. если удастся доказать истинность всех этих формул, то сделать заключение, что имеет место истинность формулы (\/ s, s ')( q>(s, s '», что и требуется доказать. Оrpаничение uелостности является частным случаем оrpaничений на ситуаuии (состояния), KOTopbie формулируются с помощью ИНдукuионных аксиом различноro типа. Индукuионные аксиомы BToporo порядка MOryт быть использованы для определения свойств различных сред, в которых выразительных средств лоrики предикатов первоrо порядка недостаточно, Вопросы и ynpажнеНИJI 1. Доказать оrpaничение целостности студенческой базы: "Стипендия каждоro cтyдeнra не может уменышпъся в течение вcero срока ero учебы", исполъзуя введенные выше аксиомы. 2. Используя индукционные аксиомы BToporo порядка, опишите свойства следуюших множеств. а) Множество N натуральных чисел, такое, что О Е N. Если х Е N, то s(x) Е N, rдe s(x)  натуральное число, получающееся из числа х на следующем шаrе с помощью HeKoтoporo преобразования. б) Множество D потомков Адама и Евы, таких, что Адам Е D и Ево Е D. Если х Е D и У является потомком х, то у Е D; в) Минимальное множество формул лоrики высказыванй L, такое, что любая переменная х лоrики высказываний принадлежит множеству L. Если формулы W.. W 2 Е L, то формулы не (w,), влечет (w" W 2 ) также при надлежат множеству L; r) Множество всех состояний инициальноrо детерминированноrо автомата, находящихся в отношеНИИ эквивалеНl1fOСТИ R (см. rлаву 5). З. Какоелибо подмножество Т множества всех состояний инициальноrо детерминированноro автомата, находящихся в отношении эквивалентности R, является примером так называемоrо тРQНЗllтllВНОZО зtl.МЫКQНII.Я. Используя двойную индукционную аксиому второro порядка, опишите свойства множества Т. 4. Пусть r(s, s')  атом, истинный, коrда состояния s, s' инициальноrо детерминированноro автомата находятся в отношении эквивалентности R, I(S, s')  атом, истинный, коrда состояния s, s' при надлежат транзитивному замыканию Т. Показать, что следующее определение транзитивноro замыкания на языке лоrики предикатов nepBoro порядка ошибочно: I(s, s') :; r(s, s') v (3 s") t(s, s") л r(s", s'). 241 
11. НЕЧЕТКИЕ ЗНАНИЯ И РАССУЖДЕНИЯ Рассматривается, как можно представлять знания о среде в условиях, коzда нет полной уверенности, что эти знания истинны, и как в этом случае может быть орzанизован вывод, Любая формула лоrики высказываний или лоrики предикатов первоrо порядка может быть только либо ложн()й, либо истинной. Это означает, что при использовании этих лоrnк areHT имеет возможность делать только одно из противоположных суж.дений о ложности или истиНности какихлибо событий, фактов, отношений в среде, с которой он и'меет дело. Реальные среды далеки от TaKoro идеала, при котором о любом явлении, событии, отношении в среде Можно rоворить с катеrорической уверенностью, что оно имеет или не имеет места. Основными источниками TRKoro рода неопределенности являются следуюшие факторы. Практическая не возможность или нежелание сделать описание знаний о среде полным вследствие высокой размерности среды и, как следствие, высокой сложности описания, например, по затратам времени и памяти. В терминах состояний среды это означает неполное описание состояний среды и переходов между ними в результаtе действий areHTa, требуемых для решения задачи. Недостаточная теоретическаЯ изученность свойств среды, что не позволяет описать ее достаточно адекватно, В терминах состояний и переходов между ними получаем тот же результат, что и в предыдушем случае. Недетерминированность переходов среды из одноrо состояния в друrое. для описания знаний о таких средах средствами лоrики предикатов требуется либо детерминизация этоrо описания, либо применен.ие адекватных средств описания, позволяюших учитывать и какимлибо образом представлять недетерминированность среды. Настояшая rlIaBa nосвяшена тому, как можно задавать такою рода неопределенность и как осушествлять вывод в этом случае, Имеются различные подходы и основанные на них eтoды задания и вычисления неопределенности. Среди всех этих подходов можно выделить два .rлавенствуюших. 242 
11.1. Нечеткое множество и функция принадлежности Один из них основан на введении числовой оценки. характеризующей степень уверенности или доверия к истинностным значениям вычисляемых формул, По степени уверенности можно судить, как далеки формулы от полной истинности или ложности. Иначе rоворЯ. сначала формула вычисляется так же, как и прежде, и определяется, истинна она или ложна, а потом вычисляется степень уверенности в истинности этой формулы. Существуют различные подходы к вычислению степени уверенности. Чаще вcero степень уверенности  это положительное число, изменяющееся в диапазоне от О до 1. Чем 9ольше это число, тем выше степень уверенности в истинности формул. Математические аппараты для вычисления степени уверенности также MOryт быть различными. Очень популярным является аппарат теории вероятностей. В этом случае степень уверенности ИС11iННОСТИ атомов задается как вероятность, а степень истинности формул, в которые эти атомы входят, вычисляется по законам условной вероятности. При дpyroM подходе для каждоrо атома а(х" .... х т > ИЛИ формулы вводятся целый спектр возможных значений, лежащих между О (Л) и I (И), и правила вычисления этих значений. вычсленныыe таким образом значения определяют степень иCпUlHHOCти формул, В настоящей rлаве рассмотрен второй подход. Фундаментом этоrо подхода является Ne'lenиulJl AOZIlКII. предложенная Л. Заде в начале 60x rодов. Рассмотрим основополаrающие понятия нечеткоro множества и функции принадлежНости. 11.1. Нечетк:ое множество и ФУНJЩIIЯ принадлежности Нечетким множеством А называют совокупность упорядоченных пар: А == {< Jl)и)/u >} . rде Jl"  функция принадлежности нечеткоrо множества А, ее значение Jl)U): и....... [О, 1] характеризует степень принадлежности элемента и множеству и. Множество и называют YHUBepCllAbНWМ множесmtJом, или универсумом. С нечетким множеством связан ряд следующих понятий и определений, необходимых в дальнейшем. Под основой Support(A) нечеткоrо множества А подразумевают подмножество . множества и. на всех элементах и котороro Функиия принадлежности имеет значение. большее 1, Т.е. Support (А) = {и EUIJlA(U) > О}. тJIOМ нечеткоrо множества А называют множество Kerпel(A) = {и Е U I JlA(U) = I}. Нечеткое множество А HOpMllAbНDe, если А *- О, или. друrими словами. если в множестве А существует хотя бы один элемент. функция принаддежности KOTOporo равна 1, В противном случае нечеткое множество является tlнoм1u6IIыJtf. ДЛя нечетких множеств на упорядоченных универсумах вводят понятие выпуклости. Нечеткое множество А называют Bы1lкAwм,' если еro функция 243 
1 J. Нечеткие знания и рассуждения принадлежности выпукла, Т.е. для любых трех точек и.. и 2 , из е U справедливо выражение " 1 Ц2 UЗ :JI-LА(U2)miП[I-LА(UI),I-LА{UЗ»)- На множестве нечетких множеств HeKoToporo универсума и, которое обозначим 9i(U) == {I-LII-L: и....... (О,I]), вводят следующие операuии, аналоrичные обычным теоретикомножественным операциям. ДOlUМlleHиe.м нечеткоro множества А в унивеуме U называют нечеткое множество ...,А =U(1I-LA{U)/U), иеи 0бъед8неН8е.м нечетких множеств А и В называют нечеткое множество Au В = UmaX[I-LА(U),l-Ln{U»)/ и. иеи Пересе.,енlIeJtI нечетких множеств А и В называют нечеткое множество А п В = UmiП[IlА(U),l-Ln(U)]fU. иеи BКAIOVНIIe А  В для нечетких множеств определяют с помощью отношения линейноro порядка функuий принадлежности на интервале [О, 1 J: А  B=I-LА(u)  1l8(U), \/ие и, 11.2. ПРИНЦИП обобщения и степень совместимости Использование нечеткоro множества позволяет обобщить обычные (четкие) отображения, функции, операuии, отношения и т.п. на случай, коrда apryMeHTbI нечетко определены. Пусть f: Х....... У  четкое отображение из универсума Х в универсум У. Если А  нечеткое множество, заданное на универсуме Х, то ero образом будет нечеткое множество В, заданное на универсуме У: в = U sup{I-LА(х)lхе Х,у = ЛХ)}/ у, уеУ rде sup обозначает верхнюю rpаниuу (наибольшее значение) функиии I принадлежности I-L..c<x) , Это выражение обычно называют "р8нципоJtl обобщения. В случае, коrда область определения функции f обладает 244 
11.2. Принцип обобщения и степень совместимости не которой структурой, например является подмножеством декартова произведения универсумов Х. х А; х .., х , на которых заданы соответственно нечеткие множества Ар А 2 , ..., Ар а универсумы независимы друr от друra, принцип обобщения имеет следующий вид: В =Usup{min[A(XJ),A(X2)"",A(X,)]IX) Е Х)'Х2 Е Х 2 ,...,х, Е Х" уеУ у = [(х), Х2 ,...,х,)} / у. Таким образом, с помощью paccMoтpeHHoro принципа обобщения можно осуществить переход от нечетких множеств, каждое из которых имеет свою функиию принадлежности и задано на своем универсуме из множества универсумов Х р Х 2 , .." , к одному нечеткому множеству, заданному на одном универсуме Х. х А; х ... х , С одной функиией принадлежности: suр{miП[А(Х)'А(Х2)'''''А(Х'))}' rдех) Е Х)'Х2 Е Х 2 ,...,х, Е Х,. В настоящей книrе принцип обобщения напрямую практически не используется. Ero роль является важной при определении так называемой степени совместимости нечетких множесТВ. В дальнейшем, в результате нечеткоrо вывода MOryт быть получены различные нечеткие множества, которые необходимо сравнивать друr с друrом с той или иной иелью, например, для оценки их близости. Степень совместимости нечеткоro множества В с нечетким множеством А, каждое из которых задано на одном и том же универсуме и, определяется следующим образом. Пусть A: и ---+ [О, 1], B: и ---+ [О, 1]  функции принадлежности нечетких множеств А и В соответственно. Функция t == B(и) определяет степень принадлежносtи элемента и Е и нечеткому множеству В. Используя принцип обобщения, можно получить нечеткое множество С(В, А): С(В,А)== USUP{A(U)IUE А, I==B(U)}/I. 11=1'8(") Это нечеткое множество и называют степенью coвмecтuмocти нечеткоro множества В с нечетким множеством А. Универсумом нечеткоro множества С(В, А) является интервал [О, 1]. Чем ближе нечеткое множество В к нечеткому множеству А, тем больше элементов множества С(В, А), в которых значение 1 совпадает с A (/). Если эти множества ОдИнаковы, то 1 == A (/) для всех 1. Во мноrих прикладных задачах, например, распознавание сиrналов и образов по эталонам, сравнение одной формулы с друroй (эталонной), семантика эталонов задается нечетКИМ множеством А, а семантика вновь полученноrо образа, сиrнала или формулы  множеством В. В этом случае степень совместимости используют для оценки степени близости вновь полученноro сиrнала, образа или формулы, семантика которых выражается нечетким множеством В, к эталонам, семантика которых выражается нечетким множеством А. На основе степени совместимости MOryт быть построены различные меры для оценки степени близости. 245 
11. Нечеткие знания и рассуждения 11.3. Нечеткая база данных Нечеткую базу данных можно рассматривать как обобщение реляционной базы данных. Напомним сначала некоторые понятия реляuионных баз данных, введенные в предыдущей rлаве и используемые также ДЛЯ нечеткой базы данных. Каждому столбцу таблицы взаимно однозначно соответствует атрибут (имя столбuа) а, а атрибуту  множество значений переменных J {Х;., Х;2' ..., х;) == А:. Переменные одноrо и Toro же множества  принимают значения из одноrо универсума. Множество значений d; == {а;.. а;2' .,., а') переменных {Х'.. Х'2' ..., Х') называется iJOMellOM. Схемой omlI08elf.ii называют выражение а(а.(Х.), ..., ат(Х т », в котором а является IlAfelfeм схемы omHOIIIelluii, а,(А:)  термы базы, i == 1, ..., т. Схему отношений, все термы которой конкретизированы a(a.(d.), ..., am(d",», называют конкретизированной схемой отНОlllениii..ши таблицей a(a.(d.), ..., am(d",». Если нас не интересуют конкретные множества переменных и доменов, то схема отнощений обозначается просто а(а" ..., ат)' а соответствующая ей таблиuа обозначается Т(а). Подретщионной 6азоii iJalfHЫX понимают множеств() конкретизированных схем отношений или таблиu, называемых тн(же конкретизацией, или состоянием базы. Состояние базы, Т.е. ее конкретизация, может изменяться. Множество всех атрибyrов базы есть А == {а; I i Е N}, rде N == {1 ,...,N). N  количество атрибyrов. Подмножество атрибyrов множества А, состоящее из i атрибутов, индексы которых пробеrают множество значений ]щ, обозначается A(J(i). Атрибyrы всеrда упорядочены в соответствии с порядком индексов в множестве /(1), а /(;) упорядочено по возрастанию. Таким образом, А(/I") == {а и ЕР')}. J Множество А(I(;) называют основой схемы отношений. В каждом состоянии базы данных каждому атрибуту соответствует один домен  == а'., а'2' ..., а;п из HeKoToporo конечноrо множества всех доменов D. Соответствие между множеством атрибyrов а; и доменов  в каждом состоянии S базы данных может быть выражено в виде функuии doт (а;, S): А ----+ D, отображающей множество атрибyrов на множество доменов, Т.е. doт (а, S) == d =={cri . , 0' 2 ' ..., о' .). Символ , J п состояния базы данных, как правило, опускается, имея в виду, что база всеrда конкретизирована, Т.е. имеет состояние. Множество всех различных подмножеств индексов 1 (1), rдe I $ i $ N, содержащих i различных индексов из множества индексов Nвcex атрибyrов, обозначается (N) =={J}') I j == I....,C'N}, rде C;N  количество сочетаний из N по i. С учетом введенных обозначений схема отношений может обозначаться как а(А(/I""». 246 
11.3. НечетКШI база данных He'leткou схемо. от"о.е".й называют выражение O:(Of(X" R.), ..., а",(Х"" R » , rдe о: попрежнему является именем схемы отношений, R  имя ", f нечеткоrо множества, соответствующеrо атрибуту а; и определенноrо на множестве nepeMeHHblx . Herreткou "O"KpeтIl38ptНJIl1UIOU схемой отноlllе"8. o:(a.(d" R.), ..., a",(d"" R",» называют нечеткую схему отношений o:(a.(d l , R.), ..., a",(d"" R",», все термы которой конкретизированы. He'leтКII.R база данных  это множество нечетких конкретизированных схем отношений базы. Множество всех ее доменов называют также состОЯ"8ем "e'leткou 6t1361 данных. Пару (А(lЩ), Ra]' rде A(I(i) :=: {a l , ..., а",}, Ra :=: {JlRa(cr)!cr}, cr Е doт (A(I(;I», Ra :=: {JlRa(cr)!cr}  нечеткое множество, получаемое по нечетким множествам R.. ..., R"" называют 060611(ен"о. "neтко. схемо. oтHOlllell8U. В нечетком множестве R Функuия п\,инадлежности определена на всех cr Е dom (A(I/;I», Т.е. R: :=: {JlRa(cr)!cr I cr Е dom (A(I('))}. Обобщенную нечеткую схему отношений (A(I/I), R] обозначим так же, как R (A(I(')], опуская индекс 0:, если ero употребл;ние не вызвано особой необходимостью, и называя обобщенную нечеткую схему отношений просто схемой отношений. Получение Ra является одной из важных задач настоящей rлавы. В частном случае R может быть получено на основе принципа обобщения. Схему отношениЙ (A(I/I) , R] называют 1I0PJflIl.JlMOU, если Ra является нормальным нечетким множество, Т.е. (3 u)(u Е dom (А(I/;'» л JlR(u) :=: 1. Схема отношений ЩА(JI")] сепара6еАънШl, если для любоro разбиения А :=: { I j :=: 1, ..., т} множества 1/;1, TaKoro, что 1 ", /(1) == U1;), j  i; 1;) п1;, == 0, )=1 имеет место ", тА(I(I)] == Х Proj тА(I(I»], 1=1 1; 1 rдe проекция нечеткоrо множества R(A(I(')} на , задана формулой 1 Projl; RIА(lИ)]. .1 Операuия проекции подробно рассмотрена далее. Сепарабельн'.iЯ схема отношений R(A(JI')] обладает замечательными свойствами: 1) она может быть ПОЛуЧена как декартово произведение схем отношений Щ], являющихся . 1 проекuиями схемы отношений R(A(I(i)J, которые соответствуют непересекающимся подмножествам . Е А множества /1;1, образуют разбиение 1 А; 2) .схемы отношений RK] MOryт быть получены в результате проекilии 1 схемы отношений R(A(I(t)] на 1;,. 247 
J J. Нечеткие знания и рассуждения 11.4. Нечеткие действия (операторы) Как и в случае ре,lЯUИОННЫХ баз ланных, нал нечеткой базой ланных совершаются различные действия. Эти действия совершаются лля тоro, чтобы достичь, как и ранее, определенных uелей, но уже в условиях нечеткости схем отношений. Множество всех лействий распалается на следуюшие три rруппы. Действия, направленные на изменение состояния базы: модификаuию функuий приналлежности и доменов. Действия, направленные на изменение схем отношений (замена, добавление, удаление или модификаuия схем). Действия, направленные на формирование обобшенных схем отношений на основе имеющихся в базе конкретизированных или вновь образованных схем отношений без изменения состояния базы. Первая rpуппа действий может изменять состояние базы данных (изменение доменов). Вторая roуппа действий изменяет схемы. Состояние базы при этом может изменяться. Третья rpуппа действий ничеro не изменяет в базе, порождая новые схемы и предназначена для вывола заключений по фиксированному состоянию базы данных. Рассмотрение первых лвух rpупп не входит в залачу настоящей rлавы. Действия третьей rpуппы соответствуют в теории реляuионных баз данных операторам или операuиям, но в нашем случае осуществляются не нал четкими схемами отношений, а нал нечеткими. Таким образом. в нашем случае объектом третьей rpуппы лействий являются конкретизированные нечеткие схемы отношений a(al(d p R,), ..., а, (d" R». Каждой такой нечеткой схеме отношений однозначно соответствует основа схемы отношений A(J(I) == {ар ..., а,}, множество доменов d l , ..., d j и нечеткие множества R" ..., R,. Введем также следуюшие обозначения. Множество всех основ схем отношений {Аи")}: п {A(I(')}=U U A(I(/». 1=1 /(/) E.J Л") Множество всех основ схем отношений включает все возможные основы схем отношений с любой арностью от унарных ло NapHbIx. База данных, содержащая множество схем, соответствующих всем основам, называется полной. В противном случае она неполноя. Множество всех схем отношений {R[A(/(i)>J}: {R(A(/"')J} == {R[A(/(t)] I А(/И) Е {А([lО)}}. Множество всех действий (операuий) третьей rруппы над нечеткими схемами отношений, в результате которых формируются новые нечеткие схемы отношений и определяются соответствующие им нечеткие множества, можно подразделить на слелуюшие rpуппы: 248 
/1.4. Нечеткие действия (операторы) теоретикомножественные операции дополнения, объединения, пересечения: {....., u, n, с}; операции линейноrо преобразоваНИЯ:{Л'k.Ь)I k  О, (k)  Ь  1}; пороrовые операции: {1l(р)1 р Е [О, I)}; операции цилиндрическоrо продолжения: {С/ИI i Е N, J';) Е Jj'N)}; операции проекции: {Proj /1iI1 i EN, /';) Е J.'N)}. . , 11.4.1. Теоретикомножественные операции Теоретикомножественные операции, рассматриваемые в настоящем разделе, являются обобщением операций над нечеткими множествами для одноrо универсума. Рассматриваемые операции применяются к исходным схемам отношений R [A(I'j)), нечеткое множество R которых известно и задано на универсуме, яяющемся множеством dom (АйИ». в результате этих операций получается новая нечеткая схема отношений, определенная на том же универсуме. Таким образом, теоретикомножественные операции будем рассматривать применительно к схемам R == {R (х)/х} == R [A(I'j)), rде А(I';) == (а и E/'j)}, х Е dom (A(I'j)). а а а J В результате применения операции допОАнено, обозначаемой знаком ...." по схеме R [A(I'j)) получаем схему R'[A(I(i)): а а R[A(I")]==....,RQ == u 'H..(X)/X' xed"m(A(/I<I)) При мер применения операции дополнения представлен на рис. 11.1, rдe с помощью выносных линий показаны функции ПРИНадЛежности инечеткие множества, в KOTople они входят. Основа схем отношений А(J';) на рис. 11. 1 и всех последующих указана в общем виде, несмотря на то, что рисунки иллюстрируют только случаи для основ, содержащих один или два атрибyrа. ДЛя рис. 11.1 это означает, что А(I';) == А(I(I), причем и == dom (А(I(I)). }.JJl.a }.JJI."a ......Ra [А [,,)]  1 о и Рис. 11.1. Операция дополнения 249 
//. Нечеткие знания и рассуждения При меняя операцию oIf&eдинение, обозначаемую знаком u, получаем Ra U RII == U max(a(x)'II(x»/(x). xedom(A(1(') » п  n......"........ nn"n<>"UIn .....IIIPI"...P"II" nfin"1нячяемV1CI знаком n. имеем Ra n RII == n min(a(x)'II(x»/(x). xedom(A(l(')) Примеры операuий объединения и пересечения показаны на рис. 11.2. J.i Ra [А(ZИ)JuRр[ А(! (i»] J.i 1 Ra (А(! (1)>]r\Rp [А(! (,»] Rp [А(! (1)] u о и о а б Рвс. 11.2. Операции объединения (а); пересечения (6) Применяя операцию следotJlIНflЯ, обозначаемую знаком с, получаем (R a C) == Ry == {I-.\(X)/X)}, rде { I. J.l.R (х) SJ.l.R (х); а  J.I. (х) = R, J.I. (х), I-1RJX) > J.I. (х). 250 
11.4. Нечеткие действия (операторы) Пример применения операции следования представлен на рис. 11.3. J1 Ra[ А(lИ)]с Rp[ А(lИ)] о u Рис. 11.3. Операция следования 11.4.2. Операции линейною п)leOOразования Операции линейноro преобразования определяются двумя параметрами k и Ь (k  О, (k) :$; Ь :$; 1) и являются унарными, Т.е" как и операция дополнения, совершаются над одним нечетким множеством. В результате применения этих операций получается новое нечеткое множество R. Иными у словами, любая операция линейноrо преобразования является унарной операцией, принимающей в качестве apryMeHTa нечеткое множество Ra и возвращающей в качестве результата в общем случае друrое нечеткое множество R, которому соответствует та же основа схемы отношений. Таким у образом, при этой операции преобразованию подвержена только функция ПРИНaдlIежности. Друrими словами, функция ПРИНaдlIежности Il R нечеткоro . у множества R является результатом линейноrо преобразования функции у принадлежности Jl R нечеткоrо множества R : а а JlR., (х) == Л(k.ь)Jl Rа (х). Каждая операция Л(k.ь) определяется значением параметров k и Ь, Т.е. зависит от взаимноrо расположения прямой у == kx + Ь и еДИНИЧНОro квадрата [O,I)x[O,I), внутри. KOTOpOro расположена функция ПРИНaдlIежности JlIla(X). При k > О (прямая у == kx + Ь монотонно возрастает) существуют семь вариантов взаимноro расположения этой прямой и единичноrо квадрата (рис. 1 1.4). Рассмотрим каждый из этих вариантов. 251 
//. Нечеткuе знания u рассуждения у 7 Х k Рис. 11.4. Варианты (1  7) взаимноro расположения прямой у =о kx + Ь и единичноro квадрата Вариант 1. k > О, Ь == 1. В этом варианте прямая у == kx + Ь пересекает единичный квадрат в точке <0,1> и полностью лежит выше ero. Как следствие этоrо Ri(X) == Ra(X). Вариант 2. k > О, (k) < Ь < 1. Прямая у == kx + Ь в этом варианте проходит через две стороны квадрата, которые определяются вершинами: <0,0>, <0,1> и <1,0>, <1,1> соответственно, Т.е. корни уравнений kx + Ь == О и kx + Ь == 1 не принаплежат интервалу (0,1) по оси абсuисс. Пересечение прямой у == kx + Ь и единичноrо квадрата обеспечивается при выполнении условия k > О и (k) < Ь < 1. Корни уравнения kx + Ь == О b Ь не принаплежат интервалу (0.1), если ....... s О или   I Разрешая эти к k неравенства относительно Ь и учитывая, что k > О, получим Ь  О или Ь :5 (k). Заметим, что при Ь :5 (k) прямая у == kx + Ь либо не пересекает, либо имеет единственную точку пересечения с единичным квадратом, а значит, имеет смысл рассматривать только условие Ь  О. Аналоrично. корни уравнения kx + Ь == 1 не принаплежат интервалу (0,1), если lb sO или lb 1 ,т.е. k k Ь  1 или Ь :5 (1  k). Учитывая, что при Ь  1 прямая у == kx + Ь либо не пересекает, либо имеет е..:шнственную точку пересечения с единичным квадратом, оставим только условие Ь :5 (1  k). Таким образом, этот вариант полностью характеризуется условиями О < k :5 1, ...,0 :5 Ь :5 (1  k). При мер применения операuии Л(А.ЬJ' соответствую шей этому варианту, представлен на рис. 11.5. 252 
/ /.4. Нечеткuе действия (операторы) а а u yk'x+b у I J.1 I ь ь о I х о Рис. 11.5. Применение операции A.t.b/ по варианту 2 при О < k < I и О < Ь  (1 k) Вариант 3. Определяется условием k == I и Ь == О (частный случай арианта 2). Операция Л(t.ЬJ' соответствующая этому варианту, дает Ri(X) == Ra(X), Вариант 4. Прямая у == kx + Ь, соответствующая этому варианту, проходит через две стороны квадрата, определенные вершинами: <0,0>, < 1 ,О> и < 1 ,0>, < 1,1> соответственно. Это условие можно выразить следующим образом: во первых, корень уравнения kx + Ь == О принадлжит интервалу (0,1), Т.е. (k) < Ь < о; во вторых, корень уравнения kx + Ь == 1 не принадлежит интервалу (0,1), Т.е. Ь s (1  k). Таким образом, вариант 4 полностью определяется условиями: (k) < Ь s (Ik), если k > 1, и (k) < Ь < О, если k < 1. В результате применения операции Л(k,Ь)' соответствующей этому варианту, получается нечеткое множество R 1 , являющееся подмножеством нечеткоrо множества Ra' Т.е. R}X) s Ra(X)' При мер применения операции Л(k,ь) по этому варианту при k > 1 и Ь == 1 k, представлен на рис. 11.6. а yk-xb о 11 I УI о u ь Рис. 11.6. Применение операции A(t.b/ по варианту 4 при k > I и Ь == 1 k 253 
11. Нечеткие 31юния и рассуждения Вариант 5. Прямая у == kx + Ь, соответствующая этому варианту, проходит через две стороны квадрата, определенные вершинами: <0,0>, <0,1> и <0,1>, < 1,1> соответственно. Это условие можно выразить так: вопервых, О :s Ь < 1; BOBTOpЫX, корень уравнения kx + Ь == 1 принадлежит Интервалу (0,1), Т.е. (l k) < Ь < 1. Таким образом, вариант 5 полностью определяется условием: (1 k) < Ь < 1, если k < 1, и O:s Ь < 1, если k > 1. В результате применения операuии \k.b)' СООТВе'ТС'Твующей этому варианту, получается неЧе'Ткое множество Ry' включающее нечеткое множество Ra.' Т.е. f.1 R ,,(x)  f.1 R }x). При мер применения операuии Л(k.ы по этому варианту при k >.1 и Ь == 1 k представлен на рис. 11.7. а k.hJRrIA(I (,)] yk.x+b у 1 11 I ь ь о а I х о u Рис. 11.7. Применение операuии Л(kh) по варианту 5 при k > I и О < Ь < I Вариант 6. Прямая у == kx + Ь, соответствующая этому варианту, проходит через две стороны квадрата, определенные вершинами: <0,0>, <0,1> и < 1 ,О>, <1,1>. Это условие можно выразить следующим образом, вопервых, корень уравнения kx + Ь == О принадлежит интервалу (0,1), Т.е. (k) < Ь < о; BO вторых, корень уравнения kx + Ь == 1 также принадлежит интервалу (0,1), т.е. (lk) < Ь < 1. Одновременное выполнение 'НИХ условий возможно только при k > 1. Таким образом. вариант 6 полностью характеризуется условием k > 1, (lk) < Ь < О. При значениях параметров, удовлетворяющих этому условию, операция Л(k.Ь) увеличивает значения функции принадлежности, которые превышают (b)/( 1 + k), и уменьшает те, которые меньше, чем (b)/(l + k). При мер применения операции Л(k.ь) при k > 1 и (1 k) < Ь < О представлен на рис. 11.8. Вариант 7. Для этоro варианта Ь == (k), Т.е. прямая у == kx + Ь пересекает единичный квадрат в точке < 1 ,о> и полностью лежит ниже ero. Как следствие этоro f.1Ry(x) == О. 254 
yk-xb //.4. Нечет"uе действия (операторы) у 1 о f.J 1 с (b)/(l k) , а 1 х L' о Рис. 11.8. Применение операции Л(k.ь) по варианту 6 при k > 1 и lk < k < О При k == О (у == kx + Ь (Ь  константа» и О  Ь 1 ФУ!:lКUИЯ принаплежности Jlя(х) == Л(k.ЬRa(Х) == Ь для любоro элемента множества доменов dom (A(l(i)) (рис. 1 1.9). u частности, при Ь == I получим нечеткое множество, функция принадлежности KOToporo на любом элементе универсума равна 1, а при Ь == О, соответственно, нулю. /i 1 . ь о k.ba [А(I (1)] Rа[А(/И)] и Рис. 11.9. Рзультат операции Л(k.Ь) при k == О, О  Ь l 11.4.3. Пороroau onepaIUI.II Пороrовая операция 1l(p) имеет параметр р Е [0,1], называемый пороrом, и может рассматриваться как предельный случай операции линейноro 255 
J J. Нечеmкuе знания и рассуждения b преобразования Л(k.ы при k  00 и р = т . в результате ее применения получается нечеткое множество, функция принаплежности KOToporo Jl R (х) == ТJ(pIJl R (х) == р. у а При мер применения операции 1l(Р1 предстаБЛен на рис. 11.10. р и у Iш....ш......... . f.J о р х о Рис. 11.10. Применение пороroвой операции 11.4.4. Цилиндрическое продолжение Операция цилиндрическоrо продолжения, в отличие от уже рассмотренных, имеет дело не с одной схемой отношений, а с двумя. Если A(/(il) И А(Юi»  основы этих схем отношений, то ее можно определить следующим образом: CK(j)RJA(J(j))==Ry[A(/(j) uЮ Л »), rде R  нечеткое множество, определенное на универсуме dom (A(J(j) u К/Л». у Функция принадлежности множества Ry определяется так: JlRy(U' v) == JlRa(u) для всех и Е dom (A(/(j'», (и, v) Е dom (A(/(j) u .IOJ)). При мер применения операции цилинприческоrо продолжения пля нечетких множеств Ra[A(J(i)) и [А(КШ»), в результате чеrо получено нечеткое множество R,[A(J(j) u К\Л») представлен на рис. 11_11. 11.4.5. ПроеlЩИJl Опе р ация П р оекции нечеткоrо отношения R [А(JЩ u К/J»), rде R . а а I нечеткое множество, определенное на универсуме (и, v) Е (dom (Аи(;)) х ' х dom (А(К<Л», на нечеткое множество dom (A(J(j» определяется следующим образом: Projх(л RJA(J(i) u .IOJ») == Ry[A(J(;)), 256 
11.4. Нечеткие действия (операторы) rде R  нечеткое множество, определенное на универсуме dom (A(/(j'» с у функцией принадлежности Jl R (и) == Sup{Jl R (и. v) I и Е dom (A(/(i»), v Е dom (ЮЛ), у а (и, v) Е (dom (A(/(i'» х dom (А(ЮЛ». Пример применения операции проекции представлен на рис. 11.12. Udoт(A(/ (1) "'doт(K(f) ,» и xJ-'dот(А(J (I'vK () '» f.J I Rr[ А(! (i'vK (j ')]c K(J' Ra [А(/ (")] о и Рис. 11.11. Применение операции цилиндрическоro продолжения J.J 1 Udoт(A(! (',) J/doт(K(J () ,» и х J/doт(A(J (,,) v А(К ()))) ProjK(i' Ra[A(J(") v А(К () ,)] о и Рис. 11.12. Применение операции проекции нечеткоrо отношения 9 1141 257 
11. HeltemKue знания и рассуждения Посредством введенных операций можно получить друrие операции над нечеткими множествами, например, операции декартова произведения и копроизведения. 11.4.6. Декартово произведение Операция декартова произведения нечетких .множеств Ra[A(J(i))] и Rf\[А(Ю Л » , rде [Ю n ЮЛ == О, является пересечением цилиндрических продолжений: RJA(I(i»] х RpIA(K(j»)==CKUlRJA(J(i)] n C/(i)[A(K(j»]. 11.4.7. Копроизведение Операция копроизведения тех же нечетких множеств является объединением цилиндрических продолжений RJA(J(i») + [А(КИ)) == CK(JJRJA(I(i») u Cii)[A(KUI». 11.4.8. Выборка Операция выборки Se/eC/ 8 позволяет сформировать новое нечеткое множество Rу[А(Ю Л » по нечеткому множеству RJA(/(i)) на основе проверки формулы о: Se/ec/ 8 RJA(I(i»] == Ry[A(K(j»). В принципе формула О может быть любой формулой, построенной с использованием связок л, v и операций сравнения доменов. В результате операции выборки в множество dom (А(Ю Л » отбираются только те домены {Oll' 012' ..., 01,1' 021 ' 012' ..., от., от 2 , ..., om,J с doт (А(IИ» , дЛя которых формула О истинна. Функции принаплежности этих доменов не изменяются. 11.4.9. Сравиение Операция сравнения состоит в сравнении двух нечетких множеств. Нечеткое множество [А(ЮЛ» равно нечеткому множеству Ra[A(I(i)), если [И == ЮЛ и для всех и Е doт (А(IИ» имеет место IlRa(и) == IlRp(U). Операцию сравнения двух нечетких множеств будем записывать как [А(КИ»] == RJA(I(i»]. 11.4.10. Включение Операция включения состоит в проверке на включение одноro множества в дрyroe. Нечеткое множество RJA(I(i») включается в [А(КИ»], анечеткое множество [А(ЮЛ)] включает (содержит) RJА(I(iJ)!,.'если [(i) == ЮЛ И для всех и Е dom (А(JИ» имеет место IlRa(U)  IlRp(U). Операцию включения будем записывать как RJA(J(i»] !;; [А(КИ»]. 258 
11.5. Неltеткозначное исчисление 11.5. Нечеткозвачвое иС,числевие Введенные в предыдущих разделах понятия ПОЗВQЛЯЮТ ввести WIIemкo3lUl'llUН! 8С"IIСАеИ8е, значениями формул KOToporo будут не Истина или Ложь, а конретизированные нечеткие отношения. Сами формулы при этом называют фор.мУ4fIJNlI ие'lет"О3ИIl'lllОlО IIС'IIIС.4еИIIR. Значения формул, являющиеся конкретизированными нечеткими отношениями, определяют наличие или отсутствие тех или иных нечетких отношений в среде (базе данных). Перейдем к более конкретным определениям нечеткозначноrо исчисления. Сделаем два необходимых для дальнейшеrо утверждения, которые достаточно очевидны и MOryт быть леrко доказаны. Проекuия нормальной схемы отношений RJA(I(i)] на любую подсхему Rp[A(K(j)) с RJA(/(i)) является нормальной схемой отношений. Проекuия сепарабельной схемы отношений RJA(l(j)] на любую подсхему [А(КШ)] с RJA(I(i)] является сепарабельной схемой отношений. Рассмотрим предварительно некоторые свойства сепарабельных нормальных нечетких схем отношений. Имеем сепарабельную нормальную нечеткую схему отношений R.,[A(I(iJ)], rде ; Е N == (1, 2, ..., М. Пусть l == {R[A(l(i)) 1, ; Е N, I(i) Е J?/)}  все нечеткие схемы отношений, полученные с помошью всех возможных проекuий схемы R.,[A(I(j)), включая саму эту cxey. Соrласно приведенным ранее утверждениям, любая схема R[А(I(О») Е l, как и схема R.,[A(I(i)], является нормальной и сепарабельной. Отсюда следует, что схема R[A(I(i)] может быть получена с помощью использования одной из следующих операuий. Операuия декартова произведения двух схем R[A(K(j)) и R[А(J(i)\Ю)))), Т.е. R[A(I(j)) == R[А(ЮЛ)] х R[А(I(j)\ЮiI»). Операuия проекuии схемы R[А(Ю)J», такой, ЧТо 1(0  ЮЛ, Т.е. R[A(I(iJ)J == ProjfiJ R[А(ЮiI)]. Операuия включения в схему R'[A(I(iJ»), Т.е. R[A(I(j))  R'[A(I(iI)], Множеством всех схем R'[A(I(")] при фиксированн.ом ; является Т(lIiI): R'[A(I!<I»)  nl\II) == {R'[A(I\II» I R'[A(llil)] ;;;2 R[(I(j))}. Множество схем njCjl) в СБОЮ очередь входит в множество нормальных сепарабельных схем Т: п Т(/(I)}  Т = U ,I U T(/('I), /(lI е J:'\/) 9* 259 
//. Нечеткие знания и рассуждения Таким образом, все множество рассмотренных. схем можно представить с помощью диаrpаммы Венна так, как показано на рис.II.13. Здесь n  множество всех нечетких схем отношений, L  множество нечетких схем отношений, которые MOryт быть получены по сепарабельным нормальным схемам множества Т с помощью операций, но не обязательно являются сепарабельными и нормальными. Поскольку исходная схема отношений Ro[A(/UI») является подмножеством множества Е, то ее вывод может быть всеrпа осуществлен с помощью операций проекции, декартова произведения и включения. Q J) с Рис.Н.13. Взаимосвязь множеств нечетких отношений Нечеткий вывод. На основании рассмотренных выше операций введем следующие правила 1UIя осуществления нечеткоrо вывода, 11.5.1. Правило следованИJI Если известна нечеткая конкретизированная схема отношений RJA(I(i)) и существует нечеткая конкретизированная схема Яр[А(/")), такая, что Rp[A(lI"»)  Ra[A(lI;'»), то можно вывести нечеткую конкретизированную схему [A(/"'»): RJA(/")), Яр[А(I"'») , [A(lI"»)  RJA(I")) r [A(lI;I»). 11.5.2. Правило обобщения Если известна нечеткая конкретизированная схема отношений R [A(lI;)) а и кт::::> [Ii), то можно вывести нечеткую конкретизированную схему отношений Rр[К'Л») == CKIJ/RJA(I(i)): RJA(J<"», KVI::::> [1') r CKlj)RJA(lI'I». 260 
11.6. Задача дuazнocтUKU тепловых сетей 11.5.3. Правило проеlЩllll Если известна нечеткая конкретизированная схема отношений RJA(fI"») и ЮЛ с 1(iJ, то выводима нечеткая конкретизированная схема отношений [A(I(i)) == Рrojк(лRJА(I(iJ»): RJA(f(i'»), ЮiJ с I(i,  ProjKu,RJA(I(i)). 11.5.4. Правило пересечения Если известны нечеткие конкретизированные схемы отношений RJA(I(')] и RjI[A(I(I)), то выводима нечеткая конкретизированная схема отношений Ry[A(J("» == RJA(I("}J (\ Rp[A(I(iJ»): RJA(I(iJ)], Rp[A(I(i))  RJA(I("}J (\ Rp[A(I("». Под выводом в нечеткозначном исчислении будем понимать такую последовательность применения перечисленных правил, в результате KOTOporo выводится требуемая целевая формула, значением которой является нормальная сепарабельная нечеткая схема отношений. При этом важным является тот факт, что применение правил следования, обобщения, проекции к любым элементам множества Т (сепарабельным нечетким нормальным схемам) порождает только элементЫ множества Т. Таким образом, задавшись некоторым конечным множеством нечетких конкретизированных схем отношений, при надлежащих множеству Т (аксиом), и при меняя правила следования, обобщения, проекции, мы можем выводить новые нечеткие сепарабельные нормальные конкретизированные схемы отношений (теоремы). Однако, если заранее неизвестно, что все исходные нечеткие конкретизированные схемы отношений таковы, что они принадлежат множеству т., то использование приведенных правил может привести к результату, который не является нормальной сепарабельной схемой. Следовательно, возникает проблема установления принадлежности всех аксиом множеству Т. Множество Т является множеством нормальных и сепарабельных схем отношений. Поэтому все значения исходноrо множества аксиом таюке должны быть нормальными и сепарабельными схемами, а в результате применения к ним перечисленных правил должны выводиться также нормальные и сепарабельные схемы отношений. Если все исходные нормальные и сепарабельные схемы отношений являются таковыми, то они называются СOlAQсоваННЫJНи. Для проверки множества схем на соrласованность MOryт быть использованы разные стратеrии. Одной из них может быть стратеrия проверки на каждом очередном шаrе вывода нормальности и сепарабельности вновь выведенной схемы нечетких отношений. Если она таковой не является, то следует возвратиться к предыдущему шаry вывода, отказываясь от пути вывода, который привел к получению аномальной схемы отношений. 261 
//. НечетlШе ЗНIlНия и рассуждения Использование нечеткознаЧНQfО исчисления непосредственно в рассмотренном виде неудобно, хотя и возможно. На практике используются более выразительные языки, семантика которых определяется посредством нечеткозначноrо исчисления. Эти языки учитывают особенности среды, с которой приходится иметь дело и называются обычно про6J1емно opueHтUp081lHH6IJNU Jl3bIKIlJNU. Рассмотрим при мер такою языlш,' ПрЗВИJ.Ia перехода от Hero к нечеткозначному исчислению и решение запачи с помощью нечеткозначноrо исчисления. 11.6. Задача диarиостики тепловых сетей Среда состоит из простейшей тепловой сети (ТС), тополоrия которой показана на рис. 11.14. Здесь цифрой 1 обозначена котельная; 2  узел ветвления; 3  центральный тепловой пункт 1 (UТПI); 4"  ценТРаЛыtый тепловой пункт 2 (UТП2). Ветви 1 2 и 2 I  подающая и обратная маrистрали соответвенно; 23 и 32  подающая и обратная линии uтп 1; 24 и 42  подающая и обратная линии UТПZ. Предположим, что имеется возможность измерять величину подпиточноro расхода, а также величины давлений в Подающем и обратном трубопроводах на входе и выходе котельной, UТП1 и UТП2. Для характеристики подпиточноro расхода будем пользоваться терминами: «маленьКИЙ», «средний» И «большой,>, а величины давлений 4 будyr характеризоваться словами: «низкое», «нормальное,> И «высокое'>. Нормальное Рис. 11.14. Тополоrия тепловой функционирование те (отсутствие повреж сети дений) можно определить как состояние, при котором расход подпиточной воды небольшой и все измеряемые давлtЖия в пределах нормы. В любом дрyrом случае функпионирование нельзя считать нормальным. Одной из возможнь}х причин ненормальноro функционирования Moryт быть закупЬрка И порыв трубопроводов. Эта информация может быть получена от эксперта. или, как в нашем простом примере, из соображений здравоro смысла и поверхностных знаний законов rидравлики. Введем дополнительные обозначения: подпиточный расход обозначим символом q; давления на входе в подающую маrистраль, на входе ЦТП 1., на входе ЦТП2, a в",ходе ЦТП 1, на выходе UТП2 и на выходе обратной маrистрали обозначим, соответственно, символами pl, р2, р3, р4, р5 и р6. е учетом введенных обозначений следующее описание можно рассматривать как неформальное описание функционирования тепловой сети: 262 
11.6. Задача диатостики теff/ю8ых сетей Если q  небольшой и pl, р2, р3, р4, р5, р6 нормальные, то те функционирует нормально, Если имеет место повреждение  порыв или закупорка, то те функционирует в аварийном режиме, Если имеет место порыв, то q  большое, Если имеет местО порыв на подающей маzuстрали, то рl  очень ни:лсое, а р2, р3, р4, р5, р6  низкие, Если имеет место порыв на подающей линии цтл 1, то р2, р4  очень низкие, а р1, р3, р5, р6  низкие, Если имеет место порыв на подающей линии ЦТЛ2. то р3,р5  очень . ,j' низкие, а pi, р2, р4, р6  низкие, Если имеет место порыв на обратной линии цтл 1, то р4 -: очен.ь низкое, а pl, р2, р3, р5, р6  низкие, Если имеет место порыв на обратной линии ЦТЛ2, то р5  очень низкое, а р1, р2, р3, р4, р6  низкие, Если имеет место порыв на обратной маzистрали, то р6  очень низкое, а pt, р2, р3, р4, р5  низкие, е уверенностью 90%, если имеет место закупорка, то q  маленький, Если имеет место закупорка на подаIOЩeй мшистрали, то р'  очень высокое, а р2, р3, р4, р5, р6  очень низкие, Если имеет место закупорка на подаюЩfй линии ЦТЛ1, то pl, р6 нормальные, р2, р4  очень низкие, а р3, р5  примерно нормальные, Если имеет место закупорка на подающей линии ЦТЛ2, то р 1, р6  нормальные, р3, р5  очень низкие, а р2, р4  примерно нормальные, 263 
/ J. Нечеткие знания и рассуждения Если имеет место закупорка на Qбратной линии ЦТП /, то р 1, р6  НОрМШlьные, р2, р4  высокие, а р3, р5  примерно НОрМШlьные, Если имеет место закупорка на обратной линии ЦТП2, то р1, р6  НОрМШlьные, р3, р5  высокие, а р2, р4  примерно НОрМШlьные, Если имеет место закупорка на обратной маzистРШlи, то р1, р2, р3, р4, р5  очень высокие, а р6  очень низкое. Задача диаrностики тепловой сети состоит в обнаружении повреждений на основе приведенноrо описания функuионирования. Иными словами, В проuессе диаrностики необходимо получить ответы на вопросы дву'х типов: а) прямые вопросы (определение факта возникновения повреждения): (,Имеет ли место повреждение при текущем состоянии тепловой сети? б) обратные вопросы (определение типа и локализаuия места повреждения): <,Повреждение KaKoro типа имеет место при текущем состоянии тепловой сети и установленном факте возникновения повреждения?» и «В каком месте находится повреждение при тех же исходных данных?» Наша цель  это научиться решать подобные задачи формально, используя нечеткозначное исчисление. Для этоrо необходимо перейти от неформальноrо описания функционирования тепловой сети сначала к формальному описанию на проблемноориентированном языке, а затем к языку нечеткозначноro исчисления, на котором и осуществить вывод. Рассмотрим вариант тaKOro проблемноориентированноrо языка. 11.7. Проблемно..ориентированный язык: Плодотворным подходом, используемым для создания проблемно ориентированных языков, семантика которых зиждется на нечеткозначном исчислении, является подход, основанный на понятии ЛUНZtluсmи"ескоii nере.менной. 11.7.1. ЛИНl1SИC'I'IIЧeCIWI переменная Линrвистическая переменная характеризуется пятеркой: <Х, е(Х), и, G, М>, Здесь Х  название линrвистической переменной; е(Х)  обозначает множество лиНZtlUсmU'lескux 3HtI"eHUii (лuнпuсmu"ескux термOtI) переменной Х, каждое из которых представляет собой слово или выражение ecтecTвeHHoro языка. Среди всех линrвистических значений множества е(х) выделяется спеuиальное их подмножество еб(х), которое назовем бll3ot1ы.Jн множестtlом AlUIZtlllCтичесКIIX 3Н1l'leний. Оно считается заданным, а остальные линrвистические значения (имена) порождаются CUнтtlKCи"eCKIIJIIII прtltlllAtlММ G. 264 
11. 7. Проблемноориентированный язык Каждому линrвистическому значению ставится в соответствие нечеткое множество, заданное на универсуме и. Нечеткое множество, соответствующее линrвистическому значению, выражает ero смысл. Соответствие между линrвистическим значением из множества 8(Х) и каким либо нечетким множеством задается с помощью отображений М, называемых также семантическими правилами. Семантические правила ставят в соответствие линrвистическим термам схемы нечетких отношений следующим образом, Каждому линrвистическому терму из базовоrо МНQЖества взаимно однозначно соответствует какойлибо атрибут а; нечеткой схемы отношений, В этом случае линrвистический терм обозначается так же, как атрибут а;. Линrвистический терм а; соответствует также домену dom (а) =: {а\, а;2' ..., а;п} этоrо атрибута, и значением линrвистическоrо терма является нормальное сепарабельное нечеткое множество R(a) =: {Il(cr'.)/cr'., (ll(cr;2)/cr;2' ....(Il(cr;ri)/cr'ri}, определенное на этом домене. Функции принадлежности нечетких множств, задающих смысл линrвистических термов одной и той же линrвистической переменной, должны обладать определенными свойствами. К числу этих свойств относятся следующие: нечеткое множество, соответствующее каждому линrвистическому значению, должно быть нормальным и выпуклым; если упорядочить линrвистические значения одной и той же линrвистической пере мен ной по возрастанию носителей нечетких множеств, то для двух любых смежных линrвистических термов а; и а; +. необходимо, чтобы носители соответствующих им нечетких множеств R;, R;+, пересекались (Support (R) n Support (R;+.) "* 0), а ядра этих множеств не пересекались (Кете/ (R) n Кете/ (R;+,) "* 0); универсум линrвистической переменной должен иметь верхнюю и нижнюю rpаницы (3хl' Х, =: шfU; 3 Х 2 ' Х 2 == supU), И эти величины должны принадлежать ядрам нечетких множеств крайних термов. Создание проблемноориентированноrо языка включает введение помимо линrвистических перемеННblХ необходимых лоrических связок, модальностей, формул. Значениями формул также являются схемы отношений. Часть линrвистических переменных вводится естественным образом. В нашем примере  это подпиточный расход, который, если временно опустить синтаксические и семантические правила, можно определить как <q, {маленький, средний. большой}, Q>, rде Q  множество всевозможных значений расхода подпиточной воды в данной тс. АналоrичНО определяются линrвис:rические переменные давления: <р;, {низкое, среднее, высокое}, Р. >, ;:::: 1, ...,6, rде Р  все возможные значения соответствующеro давления. , , Друrие же переменные вводятся более «искусственно». Для обозначения вида повреждения введем линrвистическую переменную <повреждение. {порыв, нет, закупорка}, [l, 1», в которой в качестве универсума примем отрезок 265 I 
11. Нечеткие знания и рассуждения (1, 1). В ЭТОМ отрезке значение О будем трактовать как ()тсутствие повреждений, интервал [1, О) ...... как шкалу тяжести порыва, а (0,1)  как шкалу степени закупорки. Режим функционирования ТС выразИМ с помощью переменной <авария, {нет, да}, (0,1», которую можно рассматривать как аналоr лоrической с линrвистическими значеними ,ИСТИННОСТИ' I ДЛЯ ,0gQзначен.ия места повреждения в те также нужно ввести линrвистическую переМенную. Учитывая, что п.ля нашеrо при мера повреждениям подвержены только участки трубопроводов, место повреждения удобнее Bcero измерять в расстоянии до каI<:ойлиБО' фиксированной точки в ТС, например' до начала подаюшей маrистрали. Однако наша ТС имеет нелинейную структуру, следствием чеrо оказывается, что универсум мест повреждений не будет линейно упорядоченным. что, в свою очередь, затруднит дальнейшее манипулирование с переменной места повреждения. Во избежание зтоrо применим следующий прием. Рассмотрим эквивалентную схему ТС (рис. 11.15), в которой вьщелим два KQHТYpa. Первый контур составляЮ"i котельная  подающая маrистраль  подаюшая линия ЦТП 1  обратная линия цтп 1  обратная маrистраль. Второй  котельная  подаlQШая маrистраль  подающая линия ЦТП2  обратная линия ЦТП2  обратная маrистраль соответственно. Если рассматривать эти контуры по отдельности. то каждый из универсумов мест повреждений окажется линейно упорядоченным. 2 Контур 1 Контур 2 4 3 2 Рис. 11.15. Контурное представление те (обозначения те же, что и на рис. 11.14) Введем две линrвистические переменные: <MKI, {ПМ, ПЛI, ОЛI, ОМ},L? и <мю., {ПМ, пт, от, ОМ},L 2 >, rдe имена MКl и МК2 означают место в контуре 1 и контуре 2; ПМ, ПЛI, пт, ОЛI, от, ОМ  подаюшая маrистраль, подаюшая линия ЦТПI, подаюшая линия UТП2, обратная линия UТП1, обратная линия ЦТП2 и обратная маrистраль соответственно; L. == == (О, I.] и L 2 :c (О, 1 2 ]  расстояния от начала подаюшей маrистрали по контуру 1 и по контуру 2. 266 
11. 7. Проблемноориентированный язык Особенностью мноrих реальных задач является то., что объекты, с которыми они имеют дело, для описания функционирования используют модальности. В нашем примере это предложение,. в котором используется модальность «с уверенностью 90 %'>. Вид используемой модальности зависит от отношения индивидуума, составляюшеro описание, к описываемой среде. Кроме TOro, модальности одноrо и TOro же вида MOryт отличаться друr от друra «силой'> отношения. Так, если сравнить, например, модальности «возможно'> И «очень возможно", то становится ясно, что вторая модальность в большей степени определяет возможность суждения, чем первая. Таким образом, любую модальность можно представить парой: <вид модальности, zрадация модальности>, rne вид модальности определяет разновидность отношения между суждением и реальной средой, а rpадация  силу этоro отношения. fрадаuию модальности удобнее Bcero выражать количественно, в виде процентноrо отношения между определяемой модальностью и максимально возможной модальностью этоro вида. Так, вид встретившейся в нашем примере модальностк можно определить как процент уверенности, а ее rpадацию  как 90 %. Этот вид модальности можно обозначить символом % и в результате получить обозначение «% 90,> для модальности «с уверенностью 90 %'>. Введем обозначения для ряда друrих слов в неформальном описании функционирования тепловой сети: есть  связка между именами линrвистических переменных и их значениями; не, очень, почти, и, или  линrвистические модификаторы и связки для получения новых линrвистических значений; , л, V, :J, ==  лоrические связки. Если переписать приведенный выше неформальный текст с учетом введенных линrвистических переменных и обозначений связок, то получим при мер формализованноro описания повреждений в тепловой сети: (q есть не большой л р1 есть нормалЬное л р2 есть НОРМШlьное л р3 есть нормальное л р4 есть нормальное л р5 есть нормальное л р6 есть нормальное) :J :J (авария есть нет); (повреждение есть (порыв или закупорка» :J (авария есть да); (повреждение есть порыв) :J (q есть большоii),; (повреждение gCmb порыв л МКl есть ПМ л MКl есть ПМ):J (р1 есть очень низкое л р2 есть низкое л р3 есть низкое л р4 есть низкое л р5 есть низкое л л р6 есть низкое); 267 I , 
//, Нечеткие знания и рассуждения (повреждение есть порыв лМКI есть ПЛI) :J (рl есть низкое л р2 есть очень низкое /\ р3 есть низкое /\ р4 есть очень низкое /\ р5 есть низкое л лр6 есть низкое); (повреждение есть порыв л МК2 есть ПJТ2) :J (рl есть низкое л р2 есть низкое л р3 есть очень низкое л р4 есть низкое л р5 есть очень низкое л л р6 есть низкое); (повреждение есть порыв л MКI есть ОЛI) :J (рl есть низкое л р2 есть низкое л р3 есть низкое л р4 есть очень низкое л р5 есть низкое л р6 есть низкое); (повреждение есть порыв л МК2 есть ОШ) :J (рl есть низкое /\ р2 есть низкое л р3 есть низкое л р4 есть низкое л р5 есть очень низкое /\ р6 есть низкое); (повреждение есть порыв л МКI есть ОМ л МК2 есть ОМ) :J (рl есть низкое /\ р2 есть низкое л р3 есть низкое л р4 есть низкое л р5 есть низкое л л р6 есть очень низкое); % 90 «повреждение есть закупорка) :J (q есть маленький); (повреждение есть закупорка л МКI есть ПМ л МК2 есть ПМ) :J (рl есть очень высокое л р2 есть очень низкое л р3 есть очень низкое л р4 есть очень низкое л р5 есть очень низкое /\ р6 есть очень низкое); (повреждение есть закупорка л MКI есть ПЛI) :J (рl есть нормальное л л р2 есть очень низкое л р3 есть почти нормальное л р4 есть очень низкое л л р5 есть почти нормальное л р6 есть нормальное); (повреждение есть закупорка /\ МК2 есть ПJТ2) :J (рl есть нормальное л л р2 есть почти нормальное л р3 есть очень низкое л р4 есть почти нормальное л р5 есть очень низкое л р6 есть нормальное); 268 
//. 7. Проб/lемНQориентированный ЯЗЫК (повреждение есть закупорка 1\ МКl есть ОЛ1) ::J (р1 есть нормальное 1\ 1\ р2 есть высокое 1\ р3 есть почти нормальное 1\ р4 есть высокое 1\ pS есть почти нормальное л р6 есть нормальное); (nовреждение есть закупорка 1\ МК2 естЬ ОШ) ::J (pl есть нормальное 1\ 1\ р2 есть почти нормальное 1\ р3 есть высокое 1\ р4 есть почти нормальное 1\ 1\ р5 есть высокое 1\ р6 есть нормальное); (повреждение есть закупорка 1\ МКl есть ОМ 1\ МК2 есть ОМ) ::J (р1 есть очень высокое 1\ р2 есть очень высокое 1\ р3 есть очень высокое 1\ р4 есть очень высокое 1\ р5 есть очень высокое 1\ р6 есть очень низкое). Текушее состояние ТС описывается теми же средствами: q есть большое 1\ р1 есть очень низкое 1\ р2 есть низкое 1\ рЗ есть низкое 1\ 1\ р4 есть низкое 1\ р5 есть низкое 1\ р6 есть низкое. 11.7.2. Сипraксис прооблемноориентированноro языка Основываясь на сказанном и приведеl-fНОМ при мере, определим более cтporo синтаксис проблемноориентированноrо языка L, Алфавит А[ языка L состаWIЯЮТ следуюшие rpуппы символов: имена линrвистических переменных: Х = {Х., Х 2 , ..., X N }; термы линrвистических переменных: " е == U е(Х,) ,I символы модальностей; лоrические связки: {.., 1\, v, ::J}; связка есть и скобки (, ). Элементы множества 8 порождаются синтаксическими правилами линrвистических переменных  Е Х. Вообше roворя, синтаксические правила различных линrвистических переменных MOryт От:Iичаться друr от друra. Но для . простоты будем считать, что все они построены единообразно и в соответствии со следуюшим определением. Пусть имеется линrвистическая переменная <Х, е(Х), и, G, М>. Алфавит АGсинтаксических правил G включает в себя: базовые термы: 8 б (Х); 269 
11. Нечеткие знания и рассуждения {Не. Очень, Почти, Или, И}  линrвистические модификаторы и связки; скобки (,). Любой терм из множества 8(Х) представляет собой цепочку символов алфавита AG' удовлетворяющую следующему описанию на метаязыке БэкусаНаура: Терм  Базовыйтерм 1 Не Терм 1 Очень Терм I Почти Терм I Терм Или Терм I Терм И Терм. rде Базовыйтерм  терминальный символ. принадлежащий множеству базовых термов 8 б (Х). Символы модальностей содержат префикс и следующее за ним число. Префикс определstет конкретный вид модальности из HeKoToporo заранее зап.анноrо конеЧНОfС множества видов. а число  количественное.выражение rpадации этой модальности. Будем использовать модальности вида: невозможность, случайность, возможность, необходимость и процент уверенности. Пусть им соответствуют префиксы {Невозможно. Вероятно. Возможно, Необходимо. %}. Число, следующее за Flрефиксом и выражающее rрадацию соответствующей модальности, должно быть -Натуральным и не должно превышать сотни. Кроме этоro ШIя модальности процент уверенности допустимой rpап.ацией может быть число О. Построенные таким образом символы модальности читаются так: НевозможноN  «с Nпроцентной невозможностью»; &роятноN  «с N проuентной случайностью,>; ВозможноN  «с Nпроцентной возможностью.; НеобходuмоN  «с NпроцентноМ необходимостью»; % N  4С уверенностью N %,>, rде N  выраженное в процентах значение rpадации. Следовательно, при заданном алфавите A Mod ' включающем следующие rpуппы символов: виды модальностей: {Невозможно, Вероятно, Возможно, Необходимо, %}; цифры: {О, 1, 2, 3, 4, 5, 6, 7, 8, 9}, символ модальности должен УДОWIетворять описанию на метаязыке Бэкуса Наура: Цифра  1121з141516171819, НОЛЬ  О, N  Цифра I Цифра О I Цифра Цифра I 100, (11.1) Префикс  Невозможно  1 Вероятно  I Возможно  Необходимо  %, т  Префикс N I % Ноль. 270 
11. Нечеткие знания и рассуждения Кетеl (М( Т,» (\ Кете/ (М( +I» == 0. в дальнейшем будем считать, что функция принадлежности каждоro терма имеет трапециевидную форму. Выбор такой формы фУНКIlИИ принадлежности обоснован следующими соображениями: эта функция вcerna выпукла (трапеция  выпуклая фиryра); rрафик функции может быть построен по четырем точкам на действительной плоскости, как показано на рис. 11.16. )lw(U) в С А==(а, О); В==(Ь, 1); С==(с, 1); lF(d, О). о а ь и А с Рис. 11.16. Трапециевидная форма функции I1РИН3дЛежности Аналитически трапециевидную функцию принадлежности можно записать следуюшим образом: Jlw(U) = 1, Ь $, U $, с; 1 а 'и,а<и<Ь; ba ba l d .u+,c<u<d; dc dc О, (и $, a)v(u  d). (11.2) Параметрически это можно выразить так: S == (а, Ь, с, d), rле a:S b:s с :s d. Может показаться, что такое определение функции принадлежности достаточно примитивно -и приближенно предстамяет реальное смысловое значение определяемоrо понятия. Однако существует мнение, что не обязательно располаrать точными значениями функции принадлежности. Например, некоторые авторы полаrают, что на практике достаточно приближенноro предстамения функции принадлежности, поскольку: ошибка не будет возрастать при ее использовании вследствие применения в большинстве случаев только операции нахождения максимума и минимума. 272 
11. 7. ПроблемноориентиР08анный ЯЗЫК Нечеткие множества для термов, порождаемЬ,\х синтаксическими правилами, MOryт быть леrко вычислены с помошью применения конечноro числа операций. каждая из которых соответствует конкретному линrвистическому модификатору или связке. Семантические правила построения нечетких множеств для термов следуюшие: М(Т), rде Т Е 8 Б (Х), определяется в диалоrе с экспертом; Пусть Т" Т] Е е(Х), Torдa М(неТ;) == ..., М( Т.), rдe..., М( Т.)  дополнение нечеткоrо множества М( Т.): Vи Еи, Iliu) == 1 IlA(U) (здесь и далее М(т.) == в, М(1;) == А); М(оченьТ i ) == CON (М( Т.», rде CON (М( т.»  опера",ия кон",ентриpoвtlНия нечеткоrо множества, которая В обшем случае заключается в нахождении подмножества М( Т.). Иноrда эта операция определяется как Vu Е и, IlCON(A)(U) == == Iliu)l. Будем ее определять так же с помошью операции \k,b) при k > 1 и Ь == 1  k как Vu Е и, IlCON(A)(U) == Л(2.I)lliи); М(почтиТ.) == D/L(M(T.», rде D/L (М(Т.»  опера",UJI /lllстяженuя нечеткоro множества, которая обычно определяется как Vu Е и, IlDlLjA)(U) = vlliu ). Будем ее определять так же с помошью операции Л(k.ь) при k > I и Ь == О как Vu Е и, IlDlщ)(и) == Ла.OIlliи); М( Т. или 1;) == М( Т.) u М( ), rде М( т.) u M()  объединение нечетких множеств М( т.) и М( Т 1 ): Vu Е и, Il A ,"в(и) == max[lli u ), Iliu)]; М( Т. и 1;) == М( 1;) п М( ), rде М( 1;) п М( 1;)  пересечение нечетких множеств М( т.) и М( ): Vu Е и, Il A пв(и) == min[lli u ), IlB(U)]' Семантика модальностей. Введем линrвистическую переменную <уверенность, Mod, [0,1], С, М>, значения которой будем трактовать как модальности языка L. Эта переменная несколько отличается от обычных линrвистических переменных следуюшими факторами. . Вопервых, базовое терммножество переменной уверенность составляют символы модальности, правила построения которых определяются синтаксическими правилам и (11.1). Хотя базовое терммножество Mod и конечно, но достаточно велико: содержит 501 терм (модальности вида невозможно, вероятно, возможно и необходимо имеют по 100 rpадаuий, а модальность процент уверенности  101 rрадацию). BOBTOpЫX, синтаксическое правило G порождает только элементы базовоro TepM множества Mod. Втретьих, универсумом линrвистической переменной уверенность является отрезок [0,1], причем, конкретная интерпретаuия элементов универсума зависит от вида модальности. Вчетвертых, семантическое правило М отображает базовое терммножество Mod в множество нечетких подмножеств Fuw ([0,1 ]): 273 
11. HeeтKиe знания и рассуждения м: Mod ---+ FuW «(0,11). Ввиду рассмотренных отличий, семантические правила линrвистической переменной уверенность также отличаются от рассмотренных ранее следующим. 1. Семантические правила М включают только один вид правил, поскольку все термы переменной уверенность являются базовыми. 2. Семантика модальностей накладывает ряд оrpаничений на моделирующие ее нечеткие множества. Например, невозможно линейно упорядочить базовое терммножество Мod линrвистической переменной уверенность 8 соответствии с условием, рассмотренным выше. Очевидно, что линейный порядок сушествует только среди модальностей одноrо вида, коrда они сравниваются по rpадации. Таким образом, модальности одноrо вида следует рассматривать независимо от остальных и, с учетом этоrо, необходимо несколько изменить условие полноты базовоro терммножества, а условие непротиворечивости заменить условием соrласованности. Условие полноты запишем так: nSupport(M(T»:1; 0. TEM"d Это означает, что существует по крайней мере один элемент универсума, принадлежащий всем носителям всех нечетких множеств М( Т). Если символ модальности с Il'адацией N обозначить ТNи упорядочить термы 110 возрастанию rpадации, то условие соrласованности будет иметь вид M(T N ) С M(T N + 1 ), rде N == N ... 99; N . == О lLJIЯ модальности п р оцент уверенности и N . == 1 ПIШ 111111 mш ДЛЯ остальных видов. Остальньiе условия для нечетких множеств, порождаемь!х семантическими правилами 1VIя элементов базовоro терммножества, остаются в силе. Следует заметить, что рассмотренные оrpаничения не влияют на тип используемых трапециевидных функций принадлежности. 3. Не требуется определять отображение М для каждоro из 501 возможноro терма. Достаточно рассмотреть вcero пять случаев, соответствующих видам модальностей. МодальиotТИ вида nрои,ент уверенности. Для этоro. вида модальности отрезок [0,1] следует интерпретировать как шкалу уверенности, в которой ноль означает отсутствие уверенности, а единица  абсолютную уверенность. Все остмьные оценки располаrаются между этими двумя rpаи.ичными случаями и выражают степень уверенности. Любое модальное понятие вида 274 
11. 7. Проблемноориентированный ЯЗЫК (,%N. содержит в себе оиенку уверенности, которОЙ на шкале [0,1] соответствует определенная точка: Кете/ (М(%М) == Sиppoп (М(%М) == [п, 1], В соответствии с методикой построения трапеииевидных функиий принадлежности и формулами (11.2), получим { О. Ou«NII00); M(%N)(U)= 1. (NI100)ul. Модальности вида процент уверенности имеют функиии принадлежности, представленные на рис. 11.17. 11м (%N ) О N/IOO п РИС. 11.17. Виды Функuий ПРИН3ДJ1ежности модальности пРОЦ8нт ytrepeIUIocтu Для остальных видов МQДaJlьнос;rей обшими будут следую.шие замечания. С каждым видом модальности связана своя собственная шкала (отрезок (0,1]). Любое модальное понятие вида невоз.можность, случайность, возможность и необходимость, имеюшее rрадацию п, содержит оценку, которой на соответствую шей шкале соответствует точка п == NjIOO. Между модальностями невозможно, вероятно, возможно, необходимо су шествует определенная взаимосвязь. Невозможным ЯRJlЯется то, что не ЯRJlЯется возможным, и наоборот, Следовательно, эти понятия антиподы, и оценке N на одной шкале соответствует оценка 1 п на второй. Необходимым является то, что не случайно, и наоборот. Как и в предыдушем случае, необходимость и случайность  антиподы, и оиенке п на одной шкале соответствует оиенка 1 п на второй. Необходимо все то, что возможно. Обратное не верно. Точнее, оиенка возможности Bcerna превосходит оценку необходимости, то есть точке п на шкале необходимости может соответствовать точка из отрезка [п, 1] на шкале возможности. 275 
J J. Нечеткие знания и рассуждения Модальности вида вО3JНожность. Пусть п == Nj100  точка на шкале возможности. Если полаrать, что, rоворя о возможности чеrолибо, мы предполаrаем также, что сушествует и большая возможность Toro же самоro, а roворить о возможности при ее полном отсутствии неверно, тоша модальное понятие «ВозможноN» полностью совместимо со всеми оuенками возможности, которые не меньше п, а абсолютно не совместима единственная оиенка, равная нулю. Таким образом, Кете/ (М(ВозможноN» == [п, 1]; Support (М(ВозможноN) == (О, 1]. Формула (11. 2) для этоrо случая приобретает вид { О, U  о: ] , М(ВОНfO:ЖНО N)(U)  .и, 0< U <n;  n 1, n  U  ]. Модальности вида возможность имеют Функuии принадлежности, представленные на рис. 11.18, а. Модальиости вида невозможность. Рассмотрим модальное понятие НевозможноN и противоположное ему понятие ВозможноN', ше N' == IOON. Пусть п == N/100  точка на шкале невозможности, а (lп) == N'/IOO  соответствуюшая ей точка на шкале возможности. Поскольку НеlJозможноN  антипод ВозможноN', то с ним полностью совместима единственная оиенка возможности, равная нулю, а абсолютно не совместимы все те опенки, которые не меньше 1 п. Таким образом, Кете/ (М(НевозможноN)) == {О}; Support (М(НевозможноN) == [О, lп). Следовательно, формула (11. 2) при обретает вид { ]' иO; ] М(Не80ЗМО:ЖНО N)(U)= 'u+l. O<u«In);  ]п О. (]п)и1. 276 
//. 7. Пробле.мноориентированный ЯЗЫК Модальности вида невозможность ИМеют функции принадлежности представленные на рис. 11.18, б. Модальиость вида He06xoouмocть. Пусть п == NjlOO  точка на шкале необходимости. На шкале возможности ей может соответствовать любая точка из отрезка (п, 1). Полаraя, что все, что необходимо, должно быть возможно, можно заключить, что с модальным понятием НеобходuмоN полностью совместима единственная оценка возможности, равная единице, а абсолютно не совместимы все те оценки, которые меньше п. Таким образом, Кете/ (М(НеобходuмоN» == {I}; Sиpport (М(НеобходимоN) == (п, 1). Следовательно, формула (11.2) принимает вид { О, Oи<п; I п М(Необхо()и.,оN)(U) =  I 'и 1 . п  u < 1; п п 1. u=l. Модальности вида необходимость имеют функции принадлежности, представленные на рис. 11.18, в. Модальности вида CIIY"oiiнocть. Рассмотрим модальное понятие ВероятноN и ero противоположность НеобходuмоN', rlle N' == 100N. Пусть п == N/100  точка на шкале случайности, а (1п) == N'/100  соответствующая ей точка на шкале необходимости. которой может соответствовать любая точка отрезка [1п,11 на шкале возможности. Поскольку «Вероятно;N»  антипод Необходuмо N', то с ним полностью совместимы все те оценки возможности, которые мёiiьше I п, а абсолютно не совместима единственная оценка, равная единице. Таким образом, Кете/ (М(ВероятноN» == [О, Iп); Support (М(ВероятноN) == (О, 1). Следовательно, формула (11.2) приобретает вид Модальности вида случайность имеют функции принадлежности, представленные на рис. 11.18, 2. { I' О  и<(I п); I 1 М(ВероятноN)(U)= .и+-;;. (lп)u<l; О, u=l. 277 
J J. Нечеткие знания и рассуждения /-JМ(II,шю-ж-нu N) /-JМ(Не8(ШIO-Ж-НО Н) 1 1  80з..юж"//(}  1 H-евоз.wоЖН():.' 00 Воз.wо.жно '00 Невоз.wо.ж-но 1 о 0.1 п 1 х о Iп 0.99 х а 6 /-JМ(Необход,,-,ю Н) РМ(ВеРОll"'НО  Н) 1 ................ш..... 1 8еРОllтно  1 00 НеООходrщо  100 ВерОllтно  1 НеООходи.ю 1 о 0.1 п 1 .Х о I-n 0.99 х в z Рвс. 11..8. Виды фунций принадлежнQCТИ для МЩI.ьнqЙ:;!l  возможность; б  невозможность; в  необходи.мость; z случайность На рис. 11.18 сплошными линиями показаны функдии принадлежности, соответствующие rраничным rрадациям модьности (1 и 100). а пунктирными ЛИНI1ЯМИ  некоторой промежуточной rpадации 1'<' N < 100; I . п == НjlОО. :. Рассматривая параметрическое задание нечетких множеств, порождаемых семантическими правилами переменной yвepelfHocтb, можно заметить, ч1'о модальности имеют три или два постоянных параметра, а остальные параметры зависят от rpадаuии модальности. Причем ДЛЯ модальности процент уверенности переменными параметрами ЯВЩIТСЯ первый и второй, для невоз.можности  четвертый, DЛЯ случайности  третий, DЛя ВО3Можности  вТорой и ДJIя Heo6xoдuмocти  первый. Семантические правила, определяющие смысл модальностей, выражаются следующим набором правил: М(%Н) == (О.О1.Н, О.О1.Н, 1,1), rдe N == 0,1 ..., 100; М(НевозможноN) == (О, О, 0,1-0.01.N), rдe N == 1, 2 ..., 100; 278 
6а BUJ0..l '1 Юllqtl1 lЧuлwdоф аJqнqUО8tиоdu Ь и d WИhВнtоgо 'ОН8И)lЛ11'НИ 11:>OIHua11'aduo 1 В)lIЧf.11 uлwdоф ХlЧнqIre:>О I1и11' B11'oxadau ВUИ8вdu '[(ш/)vJн == <н 'р)о 'l1инаU:>Иh:>И OJOHhBHtO)lahaH Wl1инаhвнtоgо он:>вшо:) 'aHawo11' }'tO€ вн wоннаuа11';ЮUО '(р)и W08:>ажоНW WИ)I.Lahан и р WOHawo11' 'о wолgиdв :> wowda WlqННВ80dИtиаd)lНО)l WИ)IаhаН 11:>l1и8B:>11'du 1 B)llqtl1 о qШ:Jд Ю Iqилwdоф и:>lqw:> 'a' 'р вн aOHua11'aduo '(р)и == н 08:>ажонw ;Ю)lаhан  Н wda lЧннmюdиtиаd)lНО)l И)lаhан  (Н 'р)о аПJ '(н '1»0  (о qШ:Jд ю)s :O 'wda И)l:>аhИ:>И8Jнии аа  (ю)е 3 о е '"OHHawadau О)l:>аhИ:>И8JНИIf I1WИ  Ю ИIf:>3 'ХИН J.O ХlqН11'08tИodu 111т }'t;)et в 'lfл}'tdОФ X1tIHdBl'<o.LB 111т BIrehBH:> B11'ox;)d;)u ВIfИ8rou WИ[{;)11';ЮUО Л}'to.u;оu .1V ЕJ.И8ВфIre ()lotH8:» 80[{08WИ:> ХИ)I:>аhИJОU ИUИ aJ.:>онqlllШОI'< 80U081'<И:> OIqmol'<Ou :> Хlчнdв}'to.LВ tИ BH;){)d.L:>oU ogИU '(BI'<OJ.B OJOH11'O tИ ;)mHO.L:>o:» oHdBI'<OJ.B оgиu H:>.LaHIf9H 7 ЮllqtН вuлwdоф IregOlu o.Lh '}'tИJ.;)}'tВ( 'U ЮllqtН ОUЛl'<dоф онqUИ8e<lu U:)IЧ}'t:> ;) ;)mOlB11'Rt И 7 В}!lЧtН ОIfЛl'<dоф ОН(ШИ8вdu Л11'ж;)1'< аиаЗ;)8ОО:> ;)В8ИU8ВНВJ.:>Л Xlqdoo}! tИ аоUЖВ}! 'l1(!oxiJdaи "woll1lBl1dи ХIЧI'<;)В8IчtВН 'UИ8вdu dOgBH "В}! ч.LениdJ.ВI'<З:>ro онжоl'< «(.,,) аин;)жe<lgo.l.() 'ОНН;)I'<;Ю;)u О}!:>;)hИ.L:>И8JНИU o.u; rюwлзd;)8ИНЛ l:S:)иmOlНU9Н 'H;)I'<011' 08:> Het118:> l'<олgиdJ.В I'<IЧНJ.;)d}!НО)l I'<Jq11Же}! :> Oh и 'ин;)mон.LO I'<;)ХЗ ХИ}!.L;)h;)Н Иl'<в.IAgиdLв H:>OIHIf9H '7 B}!JqtH ;)И8ефIre 8 нзхиmOlВhad.L:>8 'XlqHH;)I'<;)d;)u ХЮ!З;)hИ.L:>И8JНИU ВН;)I'<И o.Lh 'qJ.RlBUOU 1'<;)11'Л9 «('1 [) 'О  1 :s 'S аинажеdgоо aodOO)laH "В)I U нинаlfЗИhЗИ OJOHhBHtO)lahaH lЧtН )1 7 В)llЧtl1 ОJонневоdИJ.н;)иdоонwаlfgоdu J.O 11'ox;)d;)u WИJ{;)uаduо винаJrЗJlЬИ OJORЬ8HEO]UЗh3H il...EB ,. 8,....ЕВ OJОНН8вodll.LнзиdО"ОНW3Irgоdu O П' охооз u "8"11 'нинаUЗИh:>И OJOHhBHtO)lJ.ahaH a)llqtH ВН 01 ИНВ:>ИUО ЛWОНJ.н ;)иВ8 И8)1€ И)I:>;)hИJ.неwа:> )1 a)!lqtH wоннmЮdИJ.наиdоонwаugоdU 8 ИНВ:>ИUО J.O Buoxad;)u лdлuаnоdu wиdLоw:>звd qdaua.L 'В)!lЧtН ОJОННВ80dИJ.наиdоонwаugоdU OJонqIrn:>d:тинл ончи08011' "Иn)lлdL:>но)! Х;):)8 в)!инеw;):) BH;)J{;)11'aduo ВUlЧg 'wotBdgo WИ)lВl. '001 ,... z: " == N;)UJ '(1 '1 '1 'N'10'0) == (NowпeOx90iJH)jf :001 ,... l " == N ;)ПJ '(, '1 'N'IO'O'O) == (Nонжоwr:О8)jf OOI .... z: " == N a11'J '([ 'N'IO'OI'O (0) == (NОНШlfodд8)jf IтНдюпюп 020НhVНЕ:l»tШiJhiJН tf""ШI" D""Ю' нvвodпШНiJпdоонwalfgodu шо {!ОХ;ЮiJU .8"11 
J J. Нечет"ие знания и рассуждения образами этих формул и формул, получающихся из них с помощью связок, будут следующие нечеткие схемы отношений: S(P) =о Rp[A(/(i)), S(q) =о RJА(Юj)), S(..., р) =о ..., R,[A(/(;)), S(p л q) =о СК()) Rp[A(I(/\)] п C,(/) Rq[A(K(j)), если f(i) п КШ *- 0, S(p л q) =о Rp(A(/(/)] Х Rq[А(Ю i )), если J</) п ЮЛ =00, (11.4) S(p v q) =о Ск(л Rp[A(I(/)) U C,(i) Rq[А(Ю Л »), если /(/) п ЮЛ *- 0, S(p v q) =о Rp[A(J<')) + Rq[A(K(j)), если f(/) п ЮJ) =00, S( n :J q ) =о С и) R [A ( f(/) ) :J С (/) R [А(К<Л»). \р 1( р g' q Правила перехода ДЛЯ модальностей можно представить в виде S( %N p ) =о Jj(N/lOO/ [A(/(/)], S(ВозможноNр) =о Л(k.ь/[А(/(/)), 1 N rдe k =. Ь = О; п =. п' 100 S(НеобходuмоNр) =о \k.b/[A(/(i)), 1 п N rде k='b=' п=' п ' 1  п ' 100 S(НевозможноNр) =о..., \k.b/[A(/(/I», 1 N rде k ==. ь=о' п =. п' , 100 S(ВероятноNр) =о ..., Л(k.ь/[А(I(i)), 1 Iп N rде k='b=' п=' п' п' 100 Здесь. Р[А(/('»)  схема отношений, полученная пля формулы р соrласно правилам (11.4), 280 
I8Z: IffiП1О1еltоu 'чи-еdL:>ИJеw IffiП1О1еltоu ::::н dЛНо)l нипо о)IЧ1fО OIЛП1О1WIЧе8ХО и Хl1ина11Жd80U О о)IЧ1fО OIилеwdофни OIЛП1ежdаltо:> ';})llчrl1 wоннwоdин;}иdо oHwa1fgodu ен ин:>иuо ОJоннапвиdu ч:>еh wаwчr08 l1инажgеН:>О1fuа IЧwа:>и:> И)lИ:>ОНJеиlt Иhепвr l1инаmаd 80еЧ1fлrаd ииnеd:>OI1f1fИ I1ип OIИН"Ii.)ИIh)И ЛwОНh1rm;О]l"h;JН ]1 D'ox;Jd"u и 8.L:>ЭЖОНW XJnIJ.;Jh"H "ИН"Ir;}i(;нIuо T6'11 ':>/(... wаwиdu епох:>еd l1инаdаwrи Iчлинипа a8:>be)l g 'lчlt08 ОНhОИUПОU wопох:>t!d  90 + t o == 80 аlltЛ WOH; 8 eHaIe01fUa ltox:>ed е 'е)lоиdu WО)lИНhО:>И H:>alНrnI18 1fаtл 'нинажgеН:>ОП08 oJahl1doJ IЧltЖЛН ен IЧlt08 08aa:> l1ина1fgаdоu инаhенt анпаd:> J.OIлrиdа)lеdех 90 и t o ХВlltЛ хин; 8 еНJеОIШ Iчпох:>еd е 'ИWН1fаиgаdLоu 11:>OIH1f8119 и J1 Jчlltл 'ии-еdL:>ИJеw oHedgo rи OIЛНЧ1fаО)l 8 ЛltОХ8 ЫЛ8:>Ы800:> 81frл Ч1fеd:>ИJеw OIлнеdgо 8 Z:U.ln ИИНИ1f oHedgo и 1 U.ln ИИНИ1f "oHedgo НИНI1ИIf:> t!)lhO  L Ifаrл Z:U.ln IJ'ОХIЧ8  9 1frл Z:U.ln ПОХ8  r lfаrЛ IU.ln ltОХJЧ8  J1 1frл IU.ln ПОХ8  [ Ifrл Z:U.ln OIИНИ1f OIЛП1О1е1ЮU И 1 U.ln OIИНИIr OIЛП1О1еltоU ен ии-еdL:>ИJеw П1О1еиоu НИНII'ЯЫВtt!d e)lhO  l1frл ЧlffidL:>ИJеw OIЛП1О1еltоu 8 ОНЧ1fО)l rи ЛltОХIЧ8 ЫЛ8:>Ы800:> [ Irrл '8a8 6 и 80lJtЛ 8 WИ qun 1ffi)l:>hИlJ1lеdltИJ Ob 'ОН:>11 е)lнл:>иd rи ИU;)П ОЖ);)hИIJ1lf)dUИJ f)"';)X:) '61'11 'Эlfd () 90 (О (z) f>0 (t) '61' 11 ':>иd ен eHJ1'8t!:>ltadu 'и:> !10801fUa Л)lнл:>иd ЛWОН; l1t!mOlЛО:>800:> 'чun l1е)l:>hИIf8t!dltИJ 'S (' 1 ( ':>иd ен "OHHere)lOU 'нинжgеН:>Оlfuа И:> лdwиdu )1 l1:>wHdag иu,,}) VO]l3ahН1t1I8dirJu 8W"X:) Т6"II .. IOIИJ.:)ОНJ1rИ'l1' иь1П:l'8t Dяаmзd ru1U.'I IfЛЕ3 d .6".. тlnШ;ЮН2Vпе пhVeVf IтHaтad 1'Iшvшql/маJ '6'[[ 
J J. Нечет"ие знания и рассуждения линия ЦТП 1, обратная линия ЦТП 1, обратная маrистраль. Для описания · этой части систеМЫ теплОснабжения введем линrвистические nФеменные. Давление на входе в подающую маrистраль: .' <Р" 6 Б (р,), и, G, М>, rде 6 Б (р.) == {низ"ое, нормальное,высо"ое} . базовое терммножеств() линrвистической переменной Р.;и == [О МПа, 1 мпа]  универсум, означающий, что давление на входе в подающую маrистраль может изменяться оТ О до 1 МПа; G  синтаксическое правило; М  семантические правила, определяющие следующее смысловое содержание базовых термов: 11.., ) == ( О, О, 0.25, 0.5); r,."IIUJlCtJe J.1.... ) == (0.25, 0.5, 0.6, 0.8); "1,NОРМалоиое 11 " ( ) == (0.6, 0.8, 1, 1). r т' высокое Здесь и далее нечеткие множества, определяющие смысловое содержание базовых термов переменной Р.. заданы своими трапециевидными функциями принадлежности и записаны в параметрическом виде. На рис.ll.20 представлены rрафики функций, принадлежнос-ти нечетких множеств, соответствующих базовым термам линrвистической переменной Р,. J.! 1 / J.!М(нuзкое) J.!M(BblCOKoe) О 0.25 0.5 0.6 0.8 Р. . МПа Рис. 11.10. Функции принадлеж.ности базовых pMOB линrвистической . переменной Р. Описание остальных линrвистических переменных не такое подробное, какДIlЯ переменной Р,. Так, значения базовоro терммножества и универсума внося:rся непосредственно в кортеж, определяющий линrвистическую переменную; синтаксические и семантические правила дополнительно не 282 
J J. 9. Результаты решения задачи дuazHocmUKU оrовариваются, так как о них уже шла речь ранее. В опрепелении линrвистической переменной указывается только смысловое содержание базовых термов; rpaфики функuий принадлежности базовых термов линrвистических переменных Р 2 , Р з ' Р 4 И Ps не привопятся, так как по внешнему виду они аналоrичны изображенным на рис. 1 1.20 и отличаются только параметрами. Давление на входе UТП 1: <Р2' {низкое, нормальное, высокое}, [О МПа, 0.6 МПа), G, М>; "" ( ) ж (О, О, 0.2, 0.25); r "11 HIIJ"Of "" ( ) == (0.2, 0.25, 0.35, 0.4 ), ' r "11 ноpltfальн(И I1MB"'C"oe) == (0.35, 0.4, 0.6, 0.6). Давление на входе UТП2: <рз, {низкое, нормальное, высокое}, (О МПа, 0.7 МПа), G, М>; I1 M (H'IJKoel ==(O, О, 0.25, 0.3); " М( ) == (0.25, 0.3, 0.4, 0.45 ) ; r НОpltfаАЬНМ I1MB"'COKoe) == (0.4, 0.45, 0.7, 0.7). Давление на выходе UТП 1: <Р4' {низкое, нормальное, высокое}, (О МПа, 0.3 МПа), G, М>; I1MHII1KOe) == (О, О, 0.025, 0.05); I1 M ) == (0.025, 0.05, 0.15, 0.2); ноpltfа.'IЬН(и "" ( == ( 0.15, 0.2, 0.3, 0.3 ) . r"" f11J1('OA:) Давление на выходе UТП2: <Ps' {низкое, нормальное, высокое}, (О МПа, 0.3 МПа), G, М>; I1MHIIJKDe) == (О, О, 0.025, 0.05); I1M"......,.,,"') == (0.025, 0.05, 0.15, 0.2); I1MB"COKDe) == (0.15, 0.2, 0.3, 0.3). 283 
//. Нечеткие знания и рассуждения Линrвистическим переменным Р.. Р2' РЗ' Р4 И Ps соответствуют конкретные узловые давления Р.. Р2' РЗ' Р4' Ps' Линrвистическая переменная авария: <авария, {нет, да), (0,1), С, М>; I-1 М (иет) == (О, О, 0,1); I-1 М (tIО) == (О, 1, 1, 1). Линrвистическая переменная авария при штатном (безаварийном) режиме функционирования сети теплоснабжения принимает значение нет, а при аварийном  да. На рис. 11.21 представлены rрафики функций ПРИНадЛежности базовых термов линrвистической переменной авария. fl 1 о 1 х Рис. 11.21. Функции принадлежности базовых термов линrвистической переменной авария Место повреждения в контуре 1: <МК/, {ПМ, ПЛ/, ОЛ/, ОМ), (О М, 2040 М), С, М>; I-1мтм) == (0,0,520,524); l-1М(пл/) == (520, 524, 1018, 1022); l-1М(ол/) == (1018, 1022, 1516, 1520); I-1 M (OM) == (1516, 1520, 2040, 2040). fрафики функций принадлежности базовых термов линrвистической переменной М К / прелставлены на рис, 11.22. Описание повреждений на языке L имеет вид «Р. есть НОРМШlьное л (Р2 есть НОРМШlьное л (рз есть НОРМШlьное л (Р4 есть НОРМШlьное л Ps есть НОРМШlьное)))) == (авария есть нет»; 284 
//.9. Результаты решения задачи диl12ностики р /-1м (ПМ) !lМ(ППl) /-1М(ОЛl) /-1м(ом) о 520 524 1018 1022 1516 1520 2040 L, м Рис. 11.22. ФУНКЦИИ принадлежности базОВЫХ термов «Р. есть низкое л (Р2 есть низкое л (рз есть низкое л (Р4 есть низкое л л ps есть низое)))) == (авария есть да»; «МК/ есть ПМ) == (Р. есть очень низкое л (Р2 есть низкое л (рз есть низкое л л (Р4 есть низкое л ps есть низкое»)))); «МК/ есть ПЛ/) == (р. есть низкое л (Р2 есть очень низкое л (рз есть низкое л л (Р4-.есть очень низкое л ps есть низкое»»); «М К/ есть ОЛ/) == (р. есть низкое л (Р2 есть низкое л (рз есть низкое л л (Р4 есть очень низкое л ps есть низкое»»); «М К/ есть ОМ) == (р. есть низкое л (Р2 есть низкое л (рз есть низкое л л (Р4 есть низкое лрs есть низкое»»). ПреДПОЛQЖИМ, ЧТО нас интересуют ответы на два вопроса (прямой и обратный). Имеет ли место повреждение? ЭrОТ вопрос на языке L выrлядиттак: ?аварuя есть да. [де находится повреждение? На языке L он выrлЯДИТ так: ? МК/. В приведенной части описания на языке L каждую формулу можно представить в обшем виле следующим образом: 285 
11. Нечеткие знания и рассуждения P1(X.) л Р 2 (Х 2 ) л р)(х) л Р 4 (Х 4 ) л Р 5 (Х 5 ) = авария (YI)' P1(X 1 ) л Р 2 (Х 2 ) л р)(х) Л Р4(Х 4 ) л Р 5 (Х 5 ) = МКl (У2)' . rде ХI' Х 2 ' Х)' Х 4 ' Х 5 ' У.. У2  значения соответствующих линmистических переменных, Соrласно правилам перехода от формул проблемно ориентированноrо языка к формулам нечеткозначноrо исчисления, получим С ео ."""., R[ {р.. ..., Р 5 }] =>g C(PI' .'0' Р5' Rо.оpt,.[{авария}], С(МК/I R[{P.. ..., Р 5 }] =>к С(рl' ....Р5 1 R MK .({MK1}), rде Rp[{PI.... 'Р5}] = n c ll .....51 R,[{ р,}], RJ{pJ] (; == 1...5)  унарное нечеткое ,=1...5 отношение, несущее информацию о значении давления Р;; I, ...: 51  операция цилиндрическоrо продолжения нечеткоro отношения со схемой {PJ на схему {р.. ..., р 5 }. Функция принадЛежности нечеткоro множества R, входящеro в состав нечеткоro отношения RJ{PJJ, принималасъ трапециевидой: JlR, == ( Б,   Е, Р + Е, Р + Б), rде Р.  значение соответствующеrо узловоrо давления; J J J о, Е(О S Е < о)  оценки максимальной и минимальной абсолютной поrpешности вычислений. Значения узловоrо давления в реальных условиях снимаются со специальных датчиков, 0==0,001 МПа, Е == 0,0005 МПа. На рис. 11.23 представлен rpафик такой функции принадЛежности. IJR ; 1 о PiO Pi& Pi Pi+& Pi+O Р, МПа Рис. 11.23. Функuия принадлежности R (; ==1...5) , Проверка на соrласованность результата перехода от формул языка L к языку нечеткозначноro исчисления дма положительный результат, который здесь не приведен. 286 
11.9. Результаты решения задачи диazнocтиKи 11.9.3. Резуm.Т8ТW решения Аварийный режим функционирования возникает, коrда появляется повреждение на одном из участков тепловой сети. Авария в этом случае характеризуется местом повреждения и степенью ero тяжести, Т.е. расходом воды, вытекающей через место повреждения. Практика эксплуатации тепловых сетей показывает, что степень тяжести может измен.Ю'ЬСЯ от 1 до 75 % расхода воды, протекающей по поврежденному участку. Для диаrностики мест повреждений выберем середины подающей маrистрали, подающей линии ЦТП 1, обратной линии ЦТП 1 и обратной маrистрали. В каждом из этих мест для повреждений со степенью тяжести, равной 25, 50 и 75 % от расхода, установившеrося на соответствующей ветви rидравлической цепи при среднем водопотреблении (Q4 == 0,024 м 3 /с, Q6 == 0,0016 м 3 /с), определим соответствующие значения узловых давлений (как уже отмечалось, в реальных условиях. эти значения, например, определяются с помощью датчиков). После этоrо, ,пользуясь полученными формулами нечеткозначноrо исчисления, вычислим ответы на вопросы ?аварuя есть да и? МК1. Результаты этих вычислений (процедуры вычислений и СQответствующие им узловые давления не приводим) показаны в таблице для середин подающей маrистрали (строки 13), подающей линии ЦТП1 (строки 46), обратной линии ЦТПI (строки 79) и обратной маrистрали (строки 1O12). Анализируя эту таблицу, можно сделать следующие заключения. Во всех рассмотренных ответах на первый вопрос Воз.можноl00 аварщ есть да, что соответствует исходной ПОСЫлке  режим функционирования аварийный. При ответе на вопрос относительно повреждений любой степени тяжести, произошедших в середине подающей маrистрали, место повреждения определяется формулой В()з.можноl00 (МКl есть ЛМ) л (ВероятноJOО (МКl есть ЛЛ1) л (Невоз.можноl{)() (МКl есть ОЛl) 1\ Невоз.можноl00 (МКl есть ОМ). В переводе на естественный язык это означает: «е возможностью 100% повреждена подаюшая. маrистраль, со случайностью 100% может оказаться поврежденной подающая линия. UТП 1, но сневозможностью 100% повреждена обратная линия ЦТП1 и С"невозможностью 100% повреждена обратная маrистраль», или более коротко «С большой долей уверенности повреждена подающая маrистраль, но не исключено, что повреждена подающая линия UТПI». Очевидно, что этот ответ соrласуется с исходной посылкой. При моделировании повреждений, имеюших степени тяжести 25 и 50% и произошедших в середине подающей линии ЦТП 1, место повреждения определяется -формулой %0 (МКl есть ЛМ) л (%0 (МКl есть ЛЛ1) л (Невоз.можноl00 (МКl есть ОЛl) л Невоз.можноl{)() (МКl есть ОМ), что в переводе на естественный язык означает: «е уверенностью 0% порыв произошел на подающей маrистрали и с уверенностью 0% порыв произошел на подающей линии ЦТ'n 1, но сневозможностью 100% повреждена обратная линия ЦТП I и сневозможностью 100% повреждена обратная маrистраль», или более коротко .Повреждение rneTo в подаюших трубопроводах». 287 
11. Нечеткие знания и рассуждения Таблица 11.1 Степень тяжести Ответ на вопрос повреЖдения, % ? аоар"я есть да ?МК1 ВоЭМОЖНQIОО (MКl есть 11М) л 25 ВоЭМОЖ1lOIОО asapflJl есть да л (ВеРОЯmнo 100 (MКl есть llЮ) л л (НевОЭМОЖIl0IОО (MКl есть OJlI) л л НевОЭМОЖ'IO100 MКl е.:ть ОМ) ВоЗМОЖ1lO100 (MКl есть lIМ) л 50 ВоЭМОЖ1lQ100 авария есть да л (ВероятJlO100 (MКl есть 1IЮ) л л (НевОЭМОЖJlOIОО (MКl есть ОЮ) л л Невоэможно100 MКl есть ОМ) ВоЗМОЖJlOIОО (MКl есть llМ) л 75 ВоэМОЖ1lOIОО авария есть да л (ВероятJlOIОО (MКl есть 1 lЛI) л л (НевОЭМОЖ1lOIОО (MКl есть ОЛI) л л НевОЭМОЖJlOIОО MКI есть ОМ) %0 (MКl есть ПМ) л (%0 (MКI есть 25 ВоЭМОЖ1lOIОО asapflJl есть да ПЛI) л (НевОЭМОЖ1lOIОО (MКl есть ОЛI) л НевОЭМОЖ1lOIОО (MКl is ОМ) %0 (MКI есть ПМ) л (%О (MКl есть 50 ВоЭМОЖ1lOIОО авария есть да" ПЛI) л (НевО3МОЖIl0IОО (MКl ест!> ОЛI) л Невоэможн(UОО (MКI ocm!> ОМ) Верояmнol00 (MКI есть ПМ) л 75 ВоЭМОЖ1lOIОО авария есть да л (ВоэМОЖ1lO100 (MКI есть ПЛI) л л (ВероятJlO100 (MКl есть ОЛI) л л НевоэмоЖJlOIOО (MКI есть ОМ»))) НевОЭМОЖ1lO100 (MКl есть ПМ) л 25 Во3МОЖJlOIОО авария есть да л (%O(MКl есть ПЛI) л (%O(MКl есть ОЛI) л %0 (MКI есть ОМ) НевОЭМОЖ1lO100 (MКI есть ПМ) л 50 ВоЭМОЖJlOIОО авария есть да л (%0 (MКl есть ПЛI) л (%0 (MКI есть ОЛI) л %0 (MКI есть ОМ) НевОЭМОЖJlOIОО (MКl есть ПМ) л 75 ВоэМОЖIl0IОр аваР'1Jl есть да л (%O(MКl есть ПЛI) л (%O(MКl есть ОЛI) л %0 (MКI есть ОМ) %0 (MКl есть ПМ) л (%0 (MКl есть 25 ВоЭМОЖ1lO100 авария есть да ПЛI) л (%0 (MКl есть ОЛI) л %0 (MКl есть ОМ) %0 (MКI есть ПМ) л (%0 (MКl есть 50 ВоЭМ0Ж1/010О аваР'1Jl есть да ПЛI) л (%0 (MКl есть ОЛI) л л %о (MКI есть ОМ) %0 (MКI есть ПМ) л (%0 (MКl есть 75 ВоэМОЖ1lO100 авария есть да ПЛI) л (%0 (MКI есть ОЛI) л л %0 (MКI есть ОМ) 288 
Вопросы u упражнения Этот ответ менее точен, чем в предыдущем случае, но соrласуется с исходной посылкой. При моделировании порыва со степенью тяжести 75%, произощедшеrо в середине подающей линии UТП1, место повреждения определяется формулой ВероятноJOО(МКl есть ПМ) 1\ (ВозможноJOО(МКl есть ПЛ/) 1\ (ВероятноLJOО (}rfK1 есть ОЛ!) 1\ Нево3.МожноJOО (МКl есть ОМ), что означает «С большой степенью уверенности повреждение на подающей линии UТП), но не исключено, что повреждена подаюшая маrистраль или обратная линия UТП),). Этот ответ также соrласуется с исходной посылкой и представляется более точным, чем при аналоrичных повреждениях с меньшей степенью тяжести. При моделировании порыва любой степени тяжести, произощедшеrо в середине обратной линии UТП), место повреждения определяется формулой НевозможноJOО(МКl есть ПМ) 1\ (%0 (МКl есть ПЛ/) 1\ (%0 (МКl есть ОЛ/) 1\ %0 (МКl есть ОМ), что означает: «Повреждение может оказаться в любом месте за исключением подающей маrистрали,). Очевидно, что этот ответ соrласуется с исходной посылкой, но очень неточен. При моделировании повреждений в середине обратной маrистрали место повреждения определяется формулой %0 (МКl есть ПМ) 1\ (%О(МКl есть ПЛ/) 1\ (%О(МКl есть ОЛ/) 1\ %О(МКl есть ОМ), что означает «Место повреждения не определено». Вопросы и упражиеНИJI 1. Измерения маrнитноro поля про изводятся вблизи поверхности roловы человека в целях определения активности мозrа с помощью двух датчиков. Колебания маrнитноrо ПОЛЯ наблюдаются в пределах от 1 до 3 с дискретностью 0,5 в некоторых условных единицах измерения. Точность показаний каждоro из датчиков оценивается функцией принадлежности нечетких множеств D. и D 2 : а) D. == (I/L, 0.75/1.5, 0.3/3, 0.15/2.5, 0/3); б) D 2 == {I/I, 0.6/1.5, 0.2/3, 0.1/2.5, 0/3). 2. Для этих двух нечетких множеств найдете следующие нечеткие множества: а) D.u D2' D.п D 2 ; б) ...; D" .., D 2 ; в)" .., (D. u D 2 ), ..,(D. п D 2 ); r) D. u .., D" D, п.., D.; д) D 2 U .., D2' D 2 U .., D 2 . 3. Банк, выдающий кредитные карты, хотел бы знать, каковы привычки клиента при трате neHer. Например, было бы желательно знать, сколько он обычно тратит за определенный период, какова величина единовременной траты и т.п. Как правило, эти привычки имеют значительный разброс даже для клиентов С одинаковым уровнем доходов. Введем линrвистическую переменную клиент, линrвистическими значениями которой будут термы бережливый, умеренный, щедрый, транжир. В качестве универсума выберем отрезок от О до 10000 условных денежных единиц. а. Постройте на введенном универсуме нечеткие множества, соответствующие каждому терму и имеющие трапецеидальные функции принадлежности. Нечеткие IO 1141 289 
11. Нечеткие знания и рассуждения множества должны отражать ваш взrляд на семантику линrвистических термов и обладать свойством нормальности. б. Постройте rpафическое представление этих множеств. в. Найдите rрафически для каЖдОЙ пары введенных вами А, В соседних (пересекающихся) нечетких множеств А, В множества Au В, Аn В, .., (Au В), .., (Аn В). r. Сформулируйте на естественном языке смысл каждоro из этих множеств. 4. Простейщая распознаюшая система должна обнаруживать среди множества объектов те, которые обладают характерными признаками. Множество объектов определим как Множество термов {автомоБUIIЬ, танк, корабль, i'Opa} линrвистической переменной объект, универсумом для которой яilляются упорядоченные наборы значений некоторых признаков. В данном случае нас не интересуют эти признаки. Для нас сушественным является то, что мя каЖдоrо терма линrВИСТ}fческой ,переменной ои.ект можно на этом универсуме построить совокупность нормальных нечетких множеств. Объект распознается на основании сравнения ero с образами. объекта, являющимися rеометрическими фиrурами. fеометрические фиrуры определим как множество термов {квадрат, восьмиуzольник, треуzольник, KpyZ, эллипс} линrвистической переменной образ, универсумом для которой также яВлЯЮТся упорядоченные наборы значений некоторых признаков. а. Постройте rипотетические нечеткие множества для всех терМОВ обеих линrвистических переменных. б. Изобразите их в rpафичt!скомвиде. в. Постройте схемы отношени для предложений образ (кеадрат) ::) объе1(т (аtJтомоБUIIЬ), образ (квадрат) ::) объект (танк), образ (эллипс) ::) ои.ект (корабль), образ (треуzольнuк) ::) объект (корабль), образ (KPYZ) ::) объект (zopa), образ (восьмиуzольник) ::) объект (zopa). r. Найдите схемы 011ющений для этих формул. д. Постройте нечеткие множества Д11я этих схем отношений. 5. Скорость вращения вала двиraтеля зависит от напряжения, поданноrо на Hero, и от тормозящих усилий на валу ДВИraтеля. Пусть скорость измеряется в пределах от 1 до 10, напряжение в пределах от О до 7, усилия  ОТ О до 5. а. Придумайте три терма для линrвистической переменной скорость, пять термов для линrвистической переменной напряжение, три терма Д11я переменной УСUllие. б. Введите разумные с ващеЙ точки зрения трапецеидальные функции принадлежности и соответствующие им нечеткие множества Д11я всех термов. в. Введите формулы нечеткоrо проблемноориентированноrо языка, задающие зависимость скорости от напряжения и тормозящих усилий на валу ДВИraтеля. r. Приведите формулы нечеткозначноrо исчисления отношений, cooтвeT ствующие этим формулам. д. Вычислите значения этих формул нечеткозначноro исчисления. е. Постройте rpaфическое предстамение значений формул нечеткозначноrо исчисления. 290 
12. ПЛАНИРОВАНИЕ ДЕЙСТВИЙ в настоящей О1аве рассмотрены принципы нахождения последовательностей действий (планов) для достижения целей на основе аксио-матичеСКОi!О описания исходной постановки задачи. Оценка эффективности плана проведена с использование-м нечеткux -множеств, изученных в предыдущей О1аве. В предыдущих rлавах книrи описано решение задач достижения определенных целей на основе использования определенных действий. Для мноrих реальных задач нужно не просто найти целевое состояние, но и построить пAIIH или последовательность действий, при водящих к цели, чтобы ero можно было MHoroKpaTHo использовать для достижения подобных целей, не повторяя вновь поиск решения, или реально выполнить ero и достиrнyrь цели. Желательным при этом является нахождение таких планов, которые оптимальны в определенном смысле. По существу, вывод или поиск цели всеrда связан с нахождением какоrолибо плана, и это означает, что неявно мы уже занимались планированием почти во всех предыдущих rлавах, отыскивая пyrь к достижению целей. Однако при этом не ставилась задача извлечения и оценки плана в явном виде. В данной rлаве на простом хорошо известном примере с двумя сосудами, наполняемыми водой, рассмотрим принципы II./IIIНllроtlllНIlЯ (нахождения плана) на основе использования ситуационноrо исчисления. 12.1. Задачи планированИJI Пусть сосуды для воды А и В имеют различную емкость  3 и 4 rаллона соответственно (рис. 12.1). Каждый сосуд наполняется из CBoero крана и имеет свой сливной кран. Кроме TOro, каждый сосуд имеет трубу с краном для перелива воды в друrой сосуд. Допускается выполнение трех действий над каждым сосудом: опустошение сосуда, наполнение сосуда и перелив из одноro сосуда в друroй. Введем две функции содержuмое (сосуд). Если сосуд == А, то областью значений функции является множество {О, 1,2, 3}, а если сосуд == В, то областью значений функции является множество {О, 1, 2, 3, 4}. Введем также предикат состояние 10. 291 
12. Планирование действий Кран А Кран В НаПО,lнение НаПО:lНен сосуда А сосуда В Псрсливанис из сосуда А Сосуд А Сосуд В 1 ПереJ1ивание из 1 сосуда в не Опу\."Тошение СОСУД" А Опустошение сосуда В Рис. 12.1. Задача о поиске плана наполнения сосудов (сосуд, содержимое (сосуд), s), характеризующий состояние сосуда. Этот предикат истинен, если в ситуации s содержимое сосуда равно одному из значений функции содержимое (сосуд) из области ее значений. Аксиомами ситуационноro исчисления для нашей задачи будyr следующие. 12.1.1. Аксиомы начальной ситуации состояние (А, о, So) л состояние (В, О, So)' 12.1.2. Аксиомы допустимых деlcт8ий Аксиомы onycтomeНAJI сосудов: допустимо (Убавить (сосуд), s) с состояние (сосуд, содержимое (сосут, s) л л содержимое (сосуд)  О. Аксиомы наполнеНAJI сосудов: допустимо (добавить (А), s) с состояние (А, содержимое (А), s) л л содержимое (А)  3, допустимо (добавить (Щ, s) с состояние (В, содержимое (Щ, s) л л содержимое (В)  4. 292 
12.1. Задачи планирования Аксиомы переливаНИJI из сосуда в сосуд: допустимо (перелить (А, В), s) с состояние (А, содержимое (А), s) л л содержимое (А) *" О л состояние (содержимое (8), s) л содержимое (8) *" 4, допустимо (перелить (В, А), s) с состояние (В, содержимое (В), s) л л содержимое (8) *" о л состояние (содержимое (А), s) л содержимое (А)  3. 12.1.3. Аксиомы перехода в CJlедylOЩllе ситуации Запишем эти аксиомы в виде Допустимо (убавить (сосуд), s) л состояние (сосуд, содержимое (сосуд), s) ::> состояние (сосуд, содержимое (сосуд) 1, переход (убавить (сосуд), s», дoпycтuмo (добавить (сосуд), s) л состояние (сосуд, содержимое (cocyд) s) ::> состояние (сосуд, содержимое (сосуд) +1, переход (добавить (сосуд), s», допустимо (перелить (сосуд, сосуд'), s) л состояние (сосуд, содержимое (сосуд), s) л состояние (сосуд', содержимое (сосуд'), s) ::> состояние (сосуд, содержимое (сосуд)  1, переход (перелить (сосуд, сосуд'), s» л л состояние (сосуд, содержимое (сосуд') + 1, переход (перелить (сосуд, cocyд'), s). Наша цель в данном случае  нахождение плана (последовательности действий), в результате которых сосуды окажутся в ситуации s, в которой состояние сосудов будет определяться формулой состояние (А, 2, s) л состояние (В, 2, s). 12.1.4. Процедура поика плана Стратеrии поиска плана Moryт быть самыми различными. Часть из них безотносительно к какомулибо языку описания поведения среды фактически рассмотрена в rлаве 6. В настоящей rлаве используем процедуру обратноrо поиска, основанную на резолюции (см. rл. 4). эта процедура состоит в следующем: опровержение цели, которая должна быть достиrнута; преобразование аксиом в клаузальную форму; до тех пор, пока есть разрешимые клаузы, выполнение следующих шаroв: 293 
12. Планирование действий нахождение пары разрешимых клауз, начиная с опровержения цели, и разрешение их; добавление результата разрешения (резольвенты) к списку клауз. если достиrнута пустая клауза (Ni/), то прекращение процедуры и констатация факта нахождения плана; выписывание плана в явном виде и оценка возможности ero выполнения; усли разрешимых клауз нет, а пустая клауза не достиrнута, то констатация, что при данном множестве аксиом uель не может быть достиrнута и план не может быть построен. 12.1.5. Клаузы Для нашеrо при мера отрицание цели будет следующим: ..., состояние (А, 2, s) v..., состояние (В, 2, s). Начальные клаузы имеют вид (12.1) состояние (А, 1, So)' (12.2) состояние (В, 3, So)' ( 12.3) Клауза опустошения сосудов следует из аксиомы опустошения: допустимо (убавить (сосуд), s) v..., состояние (сосуд, содержимое (сосуд), s) v..., содержимое (сосуд) "* О. (12.4) Клауза наполнения сосуда А вытекает из аксиомы наполнения сосуда А: допустимо (добавить (А), s) v..., состояние (А, содержимое (А), s) v ..., содержимое (А) "* 3. (12.5) Клауза наполнения сосуда В получается из аксиомы наполнения сосуда В: допустимо (добавить (8), s) v..., состояние (В, содержимое (8), s) v ..., содержимое (8) "* 4. ( 12.6) Клаузы переливания из сосуда в сосуд можно получить, используя соответствующие аксиомы переливания: 294 
12.1, Задачи манированuя допустимо (перелить (А, В), s) v..., состояние (А, содержимое (А), s) v ..., содержимое (А) "* О v..., состояние (содержимое (8), s) v..., содержимое (В) "* 4, (12.7) допустимо (перелить (В, А), s) v..., состояние (В, содержимое (В), s) v ..., содержимое (В) "* О v..., состояние (содержимое (А), s) v..., содержимое (А) "* 3. (12.8) Клаузы перехода в следующие ситуаuии: ..., допустимо (добавить (сосуд), s) у..., состояние (сосуд, содержимое (сосуд), s) v состояние (сосуд, содержимое (сосуд) + 1, переход (добавить (сосуд), s», (12.9) ..., допустимо (убавить (сосуд), s) v..., состояние (сосуд, содержимое (сосуд), s) v состояние (сосуд, содержимое (сосуд)  1, переход (убавить (сосуд), s», (12.10) ..., допустимо (перелить (сосуд, сосуд'), s) v..., состояние (сосуд, содержимое (сосуд), s) v..., состояние (сосуд', содержимое (сосуд'), s) v v состояние (сосуд, содержимое (сосуд)  1, переход (перелить (сЬсуд, сосуд'), s», (12.11) .., допустимо (перелить (сосуд, сосуд'), s) v ..., состояние (сосуд, содержимое (сосуд), s) v..., состояние (сосуд', содержимое (сосуд'), s) v v состояние (сосуд, содержимое (сосуд') + 1, переход (перелить (сосуд, сосуд' ». (12.12) 12.1.6. Обратный вывод Проuедура вывода на основе опровержения и обобщенноrо правила резолюuии приведена ниже (см. rл. 4). Каждый шаr вывода состоит из трех клауз  двух исходных и резольвенты с используемыми подстановками. Литералы, которые не попадают в резольвенту, подчеркиваются: 295 
12. Планирование действий ..., состояние (А. 2. пеоеход (добавить (А). S» v ..., состояние (В, 2, s), (12.13) ..., допустимо (добавить (А), s) v ..., состояние (А, 1, s) v состояние (А. 2. nеоеход (добавить (А). s)) , (12.14) ..., доnvстимо (добавить (А). s) v..., состояние (А, 1, s) v ..., состояние (В, 2, s), (12.15) (12.16) доnvстимо (добавить (А). s) v..., состояние (А, 1, s) v...., 1  3, ...., состояние (А, 1, s) v ...., состояние (В, 2, s), (12.17) (12.18) ...., состояние (А. 1. Sq.L v ...., состояние (В, 2, s), состояние (А. 1. SJ. , (12.19) ...., СQстояние (В, 2, s), ( 12.20) ...., состояние (В. 2. nеоеход (vбавить оп. s)) , (12.21) ...., допустимо (убавить (В), s) v...., состояние (В, 3, s) v состояние (В. 2. nереход (vбавить (В). s)) , Ni/. ( 12.22) (12.23) ...., 3  О, (12.24) (12.25) (12.26) (12.27) ( 12.28) ...., доnvстимо (vбавить (8). s) v...., состояние (В, 3, s), допустимо (vбавить (В). s) v...., состояние (В, 3, s) v ...., состояние (В. 3, s), ...., состояние (В. 3. Sq1 , состояние (В. 3. Sol , 12.1.7. Построение плана Суть построения плана достаточно проста. Рассмотрим участок процесса вывода (12.22)  (12.27). Преобразуем клаузы (12.22), (12.24), (12.27) этоro участка в эквивалентные формулы: 296 
12.2. Оценка плана допустимо (убавить (8), s) 1\ состояние (8, 3, s) ::::> состояние (8, 2, Переход (убавить (8), s», (12.29) допустимо (убавить (8), s) с состояние (8, 3, s) r-.. 3 -# О, (12.30) состояние (8, 3, 50)' (12.31) Используя эти формулы и обобшенные правила модус поненс, можем осушествить следуюший прямой вывод: состояние (8, 3, 50)' состояние (8: 3, 50) 1\ 3 -# О ::::> допустимо (убавить (8), 50)  допустимо (убавить (8), 50)' допустимо (убавить (8), 50)' состояние (8, 3, 50)' состояние (8, 3, 50) r-.. r-.. дoпycтuмo (убавить (8), 50) ::::> состояние (8, 2, переход (убавить (8), 50» состояние (8, 2, переход (убавить (8), 50»' На основании этоro вывода приходим к заключению об истинности формулы состояние (8, 2, переход (убавить (8), 50»' ( 12.32) интерпретация которой означает, что сосуд 8 переводится в состояние, коrда ero содержимое равно 2, в результате действия Убавить (8), осушествленноro в ситуации 50' Точно так же можно установить истинность формулы состояние (А, 2, Переход (Добавить (А), 50»' (12.33) интерпретация которой означает, что сосуд А переводится в состояние, коша ero содержимое равно 2, в результате действия Добавить (А), осуществленноrо в ситуации 50' Таким образом, план достижения цели определяется формулой перexnд (убавить (8), 50) r-.. переход (добавить (А), 50»' (12.34) Этот план не Является единственным. Аналоrично можно найти дрyrие планы достижения той же цели. 12.2. Оценка плава Если планов достижения одной и той же цели может быть несколько, то возникает задача выбора наилучшеro из них. Эта задача отчасти аналоrична задаче нахождения наилучшей стратеrии достижения цели (см. rл. 6), 297 
J 2. Планирование действий поскольку план можно рассматривать как путь, ведущий к достижению цели. И Torдa для оценки и выбора наилучшеrо пути можно воспользоваться методами, описанными в rлаве 6. В настоящей rлаве рас€мотрИМ друrой подход к выбору наилучшеro плана, основанный на материале предыдущей rлавы. Критерием оценки плана будем считать значение формулы нечеткоro проблемноориентированноrо языка, задающей путь достижения цели на основании найденноrо плана. Вернемся к примеру, приведенному в настоящей rлаве. План, полученный ранее, является четким. Будем полаraть, что вместо языкалоrики предикатов первоrо порядка в этом при мере используется какойлибо нечеткий проблемноориентированный язык, в котором выражение состояние (сосуд, содержимое (сосуд), s) эквивалентно выражению (состояние (сосуд, s) есть содержимое (сосуд», в котором состояние (сосуд)  линrвисти.ческая переменная, а выражение Содержимое (сосуд)  это не функция, принимающая целочисленные значения, а один из линrвистических термов Нуль (А), Один (А), Два (А), Три (А) и Нуль (В), Один (О), Два (В), Три (В), Четыре (8) соответственно линrвистических переменных состояние (А) и состояние (В). Каждому из этих термов л соответствует нечеткое множество М(Л), заданное на универсуме действительных чисел. Например, для сосуда А MOryт быть следующие нечеткие множества (функции принадлежности ДЛЯ них в данном случае не являются трапециевидными): М(Нуль (А» == {I/O, 0.7/0.25; 0.2/0.5; 0.1/0.75; 0/1; 0/1.25 + 0/4}, М(Один (А» == {о/о; 0.1/0,25; 0.2/0.5; 0.7/0.75; 1/1; 0.7/1.25; 0.2/1.5; 0.1/1.75; 0/2, 0/2.25 + 0/3}, М(Два (А» == {О/О, 0/0.25; 0/0.5; 0/0.75; 0/1; 0.1/1.25; 0.2/1.5; 0,7/1.75; 1/2; 0.7/2.25; 0.2/2.5; 0.1/2.75; 0/3, 0/3.25 + 0/3), М(Три (А» == {О/О, 0/0.25; 0/0.5; 0/0.75; 0/1; 0/1.25; 0/1.5; 0/1.75; 0/2; 0.1/2.25; 0.2/2.5; 0,7/2.75; 1/3}. Содержательно носитель (основу) каждою из этих множеств можно рассматривать как возможные отклонения реальных значений содержимоrо сосудов от номинальноrо значения, а функцию принадлежности как оценку этоrо отклонения. ДЛя сосуда В смысл нечетких множеств тот же самый, и их можно получить аналоrично: М(Нуль (В» == {1/0, 0.7/0.25; 0.2/0.5; 0.1/0.75; 0/1; 0/1.25 + 0/4}, 298 
12.2. Оценка плана М(Один (В» == {о/о; 0.1/0,25; 0.2/0.5; 0.7/0.75; 1/1; 0.7/1.25; 0.2/1.5; 0.1/1.75; 0/2. 0/2.25 "'" 0/4}. М(Два (В» == {о/о. 0/0.25; 0/0.5; 0/0.75; 0/1; 0.1/1.25; 0.2/1.5; 0.7/1.75; 1/2; 0.7/2.25; 0,2/2.5; 0.1/2.75; 0/3. 0/3.25 "'" 0/4}. М(Три (8» == {о/о. 0/0.25; 0/0.5; 0/0.75; 0/1; 0/1.25; 0/1.5; 0/1.75; 0/2; 0.1/2,25; 0.2/2.5; 0.7/2.75; 1/3.0.7/3.25; 0.2/3.5; 0.1/3.75; 0/4}. М(Четыре (А» == {О/О, 0/0.25; 0/0.5; 0/0.75; 0/1; 0/1.25; 0/1.5; 0/1.75; 0/2; 0/2.25; 0/2.5; 0/2.75; 0/3; 0.1/3.25; 0.2/3.5; 0.7/3.75; 1/4}. Пусть вместо начальных состояний. определяемых формулами (12.2), (12.3). имеют место следующие формулы нечеткоrо проблемно ориентированноrо языка: состояние (А. Один (А), 50)' состояние (В. Три (В). 50). Кроме тою. вместо любой четкой формулы (атома) состояние (сосуд, содержимое (сосуд), s) будем использовать формулу, в которой л является термом линrвистической переменной состояние (сосуд, s) и ему соответствует нечеткое множество М(л). Запишем это соответствие в виде М(состояние (сосуд. л, s) == М(л). Тоrда М(состояние (А, Один (А). 50) == М( Один (А», (12.35) М(состояние (В, Три (В), 50) == М(Три (В», (12.36) М(состояние (А, Два (А), переход (добавить (А), 50» == М(Два (А», (12.37) М(состояние (В, Два (В), переход (убавить (8), 50» == М(Два (В». (12.38) 299 
12, Планирование действий Так как план (12. 34) позволяет достичь цели, формулу, определяющую достижение цели с помощью этоrо плана на нечетком проблемно ориентированном языке, можно представить в виде (состояние (А, Один (А), so) ::J состояние (А, Два (А), Переход (Добавить (А), 50» 1\ (состояние (В, Три (В), 50) ::J состояние (В, Два (В), переход (убавить (В), 50»' (12.39) Смысл первой импликации означает, что если содержимое сосуда А в ситуации 50 было Один (А), то после выполнения действия добавить (А) сосуд А переходит в ситуацию переход (добавить (А), 50» и ero содержимое становится равным Два (А). Смысл второй импликации аналоrичен. Используя формулы (12.35)(12.39) и правила перехода от проблемно ориентированноrо языка к нечеткозначному исчислению (11.3), имеем для оценки нашеrо плана формулу S(М(Один (А» =>в М(Два (А» 1\ (М(Три (В» ::J g М(Два (В» == С1ВJ(М(Один (А» ::J g М(Два (А» n AJ(M(Tpu (B»::J g М(Два (В», rдe {А} и {в}  нечеткие схемы отношений соответствующие линrвистическим переменным А и В. Подставив в нее соответствующие значения нечетких множеств, получим следующие оценки нашеro плана: М. == (М(Один (А» ::J g М(Два (А» == {О/О; 0/0,25; 0/0.5; 0/0.75; 0/1; 0.1/1.25; 0.2/1.5; 0.7/1.75; 1/2; 1/2.25; 1/2.5; 1/2.75; 1/3)}, М 2 == (М(Три (о) ::J g М(Дiю (В» == {О/О, 0/0,25; 0/0.5; 0/0.75; 1/1; 1/1.25; 1/1.5; 1/1.75; 1/2; 0.7/2.25; 0.2/2.5; 0.1/2.75, 0/3, 0/3.25 -;- 0/4}, C1ВJ(M.) == {О/О,О; 0/0,25,0; 0/0.5,0; 0/0.75,0; 0/1,0; 0.1/1.25,0; 0.2/1.5,0: 0.7/1.75,0; 1/2,0; 1/2.25,0; 1/2.5,0; 1/2.75,0; 1/3,0; 0/0,0,25; 0/0,25,0,25; 0/0.5,0.25; 0/0.75,0.25; 0/1,0.25; 0.1/1.25,0.25; 0.2/1.5, 0.25; 0.7/1.75,0.25; 1/2,0,25; 1/2.25,0.25; 1/2.5,0.25; 1/2.75,0.25; 1/3,0,25; 300 
Вопросы и упражнения 0/0,4; 0/0,25,4; 0/0.5,4; 0/0.75,4; 0/1,4; 0.1/1.25,4; 0.2/1.5,4; 0.7/1.75,4; 1/2,0; 1/2.25,4; 1/2.5,0; 1/2.75,4; 1/3,4)}, AI(M2) == {О/О,О, 0/0,0.25; 0/0,0.5; 0/0,0.75; 1/0,1; 1/0,1.25; 1/0,1.5; 1/0,1.75; 1/0,2; 0.7/0,2.25; 0.2/0,2.5; 0.1/0,2.75, 0/0,3, 0/0,3.25 + 0/0,4; 0/0.25,0,0/0.25,0.25; 0/0.25,0.5; 0/0.25,0.75; 1/0.25,1; 1/0.25,1.25; 1/0.25,1.5; 1/0.25,1.75; 1/0.25,2; 0.7/0.25,2.25; 0.2/0.25,2.5; 0.1/0.25,2.75, 0/0.25,3, 0/0.25,3.25 + 0/0.25,4; 0/3,0,0/3,0.25; 0/3,0.5; 0/3,0.75; 1/3,1; 1/3,1.25; 1/3,1.5; 1/3,1.75; 1/3,2; 0.7/3,2.25; 0.2/3,2.5; 0.1/3,2.75, 0/3,3, 0/3,3.25 + 0/3,4}. Остается вычислить нечеткое множество С!IJI(М') n С сА )(М 2 ) (в следуюшем разделе предлаraется с.nелать это вычисление в качестве упражнения). Функция принадлежности множества CCBI(M.) n С СА )(М 2 ) является интеrpальной оценкой качества плана. Вопросы и упражнения 1. Начальным состоянием в среде кубиков ямяется следующее: кубики А и В лежат на столе. Кубик С лежит на кубике А. В целевом состоянии кубик С должен лежать на столе, на нем  кубик В, а на кубике В должен оказаться кубик А. Если на кубике ничеro не лежит, то ero можно переместить на стол или на друroй кубик, на котором также ничеro не должно лежать: а) осуществите формальную постановку задач, используя язык ситуационноrо исчисления; б) найдите план, требующий наименьшеro числа действий дЛя достижения цели. 2. Вычислите нечеткое множество c.iM,) 11 c.A,(M 1 ), получение KOToporo не завершено в предыдущем разделе. Дайте rpафическое предстзмение этоro множества. Объясните., используя это rрафическое представление, почему функция принадлежности этоro множества может служить оценкой плана. 3. Используя задачу о среде обезьяны и банана, рассмотренную в rJIaBe 7, выполните следующее: а) завершите полностью формальное описание среды обезьяны и банана на языке ситуационноro исчисления; 301 
12. Планирование действий б) найдите два плана достижения обезьяной цели, коrда банан схвачен; в) введите линrвистические переменные и термы, характеризующие состояния среды обезьяны и банана; r) введите нечеткие множества, которые на ваш взrляд отражают семантику термов линrвистических переменных; д) вычислите нечеткие множества, оценивающие планы; е) проанализируйте правдоподобность этих оценок. 
13. онтолоrии И ИХ ПРИМЕНЕНИЕ Настоящая zлава представляет собой введение в область искусственною интеллекта интересующуюся онтолоzия.ми. Определено понятие онтолоzии, рассмотрены .назначение онтолоzий, методолоzия их создания. Особое вHuмaHиe уделено прuменению онтолоzий. Подробно описан подход к созданию и использованию онтолоzии в области проектирования сложных систем. в книrе подробно рассмотрены языки исчислений, которые MOryт быть использованы для описания свойств различных сред и выявления (вывода) новых. Составление подобных описаний. особенно для сложных сред. непростая задача. Описания подобною типа стали называть oнmoAOlIUlJNU. Появился новый раздел искусственною интеллекта, посвященный созданию и использованию онтолоrий. Возникают следующие вопросы: Что означает термин <<онтолоrия»? Какие перспективы связывают с использованием онтолоrий? Что является теоретическим базисом онтолоrии? Ответам на эти вопросы посвящен следующий раздел. 13.1. Введение в онтолоrию 13.1.1. Что означает термин «онтолоrия.? Люди, орraнизации и проrpаммные системы взаимосвязаны между собой. Способ выражения знаний даже об одних и тех же вещах и на одном и том же языке может быть СТоль различным, что это при водит К непониманию между людьми даже при разrоворе об одном и том же предмете. Об этом мною написано, в том числе в литературе, не имеющей прямою отношения к искусственному интеллекту. Непонимание становится еще более значительным в случае обмена информацией между людьми, орraнизациями и проrраммами. Возможности взаимодействия проrраммных моделей, созданных в различных орrанизациях, возможности повторноrо использования и распространения этих моделей весьма оrpаничены. Это в свою очередь приводит к повторным усилиям по созданию проrpаммных моделей, мало отличающихся от уже созданных. Такая ситуация напоминает повторное изобретение велосипеда. 303 
/У. Онтолоcuu u их пpuмeHeHиe Спрашивается, как можно избежать TaKoro рода изобретений? Естественный ответ  это устранить или свести к минимуму концептуальную и терминолоrическую путаницу и установить однозначное понимание языка, используемоro ДЛЯ формирования требований и спецификаций сложных систем. Такой язык должен прежде Bcero служить средством коммуникации между людьми, имеюшими различный взrляд на одни и те же веши, взаимодействия между проrpаммными системами путем трансляции в Hero и из Hero, инструментальной поддержки дЛя повторноro использования блаroдаря формальной спецификации, унификации представления различных моделей, автоматизации проверки корректности, переводимости различных методов моделирования в унифицированное представление. Онтолоzuей называют представленные на некотором языке, обладаюшем перечисленными ранее свойствами, знания о некоторой области интересов (среде, мире). Онтолоrии непременно сопутствует некотораЯ концепция этой области интересов. Чаше Bcero эта концепция выражается посредством определения базовых объектов (индивидуумов, атрибутов, процессов) и отношений между ними. Определение этих объектов и отношениймежду ними обычно называют концептуалuзацuей. На определенном этапе концептуализация может быть неявной (или ментальной, т.е. сушествуюшей только в чьейто rолове). Онтолоrия является явным представлением некоторой концептуализации и может иметь несколько форм представления: неформальную на какомлибо естественном языке; полуформальную на какомлибо структурированном подмножестве eCTeCTBeHHOro языка; слабоформализованную на какомлибо языке из области искусственноro интеллекта с формальным синтаксисом; формализованную на какомлибо языке из области искусственноro интеллекта с формальным синтаксисом, семантикой, значимым и полным механизмом вывода. Следуюшее определение онтолоrии, обобшает различные определения онтолоrий: OHmOAozueu является обшепринятая и обшедоступная концептуализация определенной области знаний (мира, среды), содержашая базис для моделирования этой области знаний и определяюшая протоколы дЛя взаимодействия между аrентами, которые используют знания из этой области, и наконец, включаюшая соrлашения о представлении теоретических основ данной области знаний. 13.1.2. Перспективы, связываемые с ОIПОЛОПlJlМИ Литературные источники боrаты описанием различных онтолоrий и ожидаемых от их использования перспектив. Эти перспективы можно подразделить на следуюшие катеroрии: улучшение взаимодействия; унификация обмена данными; 304 
J З. J. Введение в онтолоzuю формализация процессов спецификации, повышения надежности и обеспечения мноroкратности использования. Улучшение взаимодействия связывают с уже упомянутыми надеждами на уменьшение терминолоrической и концептуальной путаницы и неоднозначности пони мания на основе осушествления следуюших мероприятий. 1. Создание в конкретной области человеческой деятельности (среде) унифицируюшеro нормативноro ядра понятий, которое позволило бы достичь однозначноrо семантическоro толкования основных объектов и процессов этой области. Предполаrается, что это нормативное ядро является семантической основой ДЛЯ порождения, переопределения и интерпретации новых понятий. 2. Создание однозначно понимаемоro множества отношений между понятия м и нормативноro ядра, допускаюшеro исследование динамических и статических аспектов среды, влияния на нее различных факторов, вывод и планирование ситуаций. 3. Обеспечение совместимости онтолоrий, разработанных различными коллективами путем широкоrо использования полисинонимии и ретранслируемости. 4. Обеспечение возможности коллективной работы по соrласованию и унификации онтолоrий и их нормативноro ядра. Унификацию обмена данными связывают с созданием интеrpированных инструментальных проrраммных средств, построенных на основе использования нормативноro ядра и множества отношений. Эти средства должны обеспечивать возможность обмена данными для созданных или создаваемых на базе онтолоrий систем моделирования сред и выступают как средство межъязыковоrо обшения, как своеобразный декларативный язык, на который переводятся друrие языки и из KOToporo перевод осуществляется в индивидуальный язык пользовател.я. Эти средства должны иметь в своем составе поддерживаемые, развиваюшиеся и доступные для использования извне библиотеки онтолоrий. Формализацию процессов спецификации, повышения надежности и обеспечения мноroкратности использования связывают с ролью онтолоrий, которую они призваны иrpать для развития систем моделирования сред. Язык онтолоrии выступает в этом случае как средство спецификации таких систем и является декларативным. Роль онтолоrии зависит от степени выразительности, формализованности и друrих свойств декларативноrо языка онтолоrии. Повышение надежности систем моделирования связывают с возможностью И удобством полуформальноrо и формальноro анализа декларативноrо описания на языке онтолоrии. При этом, roворя о формальном анализе, полаraют, что описание допускает формальный вывод (доказательство) наличия тех или иных свойств среды. Обеспечение мноrократности использования предполаrает наличие в онтолоrии 305 
13. Онтолozии и их применение мета уровня , позволяющеrо настроить онтолоrию на конкретную задачу применения, определить степень ее приroдности для решения конкретной задачи и модифицировать и.nи расширить ее, если это необходимо. 13.1.3. Co ОlПOЛоrвi Несмотря на то что в литературе имеется MHOro информации о создании онтолоrий, какойлибо общепринятой или тем более стандартизованной процедуры их создания не существует, Процесс разработки онтолоrий во MHorOM схож с развитием проrраммных моделей сложных систем. Типичными являются следуюшие этапы создания конкретной онtoлоrии. 1. Постановка задачи. На этом этапе изучается среда, для lCоторой создается онтолоrия, обдумывается, зачем нужна онтолоrия, как и кем она будет использоваться. 2. Построение онтолоrии. Этот этап разбивается Jla три подэтапа: формализация понятий, кодирование и интеrрация. В процессе формализации понятий осуществляется: а) выявление основных объектов и отношений предметной области (среды), б) текстовое описание этих объектов и отношений, в) сопоставление этим объектам термов, а отношениям  утверждений (аксиом). В ПрОllессе кодирования формируется описание на какомлибо формальном языке результатов предыдущеro подэтапа. Обычно кодирование включает: а) выбор формальноrо языка для кодирования, б) кодирование в выбранном языке термов и базовых отношений, в) описание с использованием введенных кодов термов и базовых отношений формул, соответствующих У1:верждениям. Подэтап интеrрации выполняется параллельно двум упомянутым и требует тщательноro обдумывания, каким образом вновь создаваемая онтолоrия будет интеrpироваться с уже существующими. 3. Формирование вопросов. На этом этапе осуществляется обдумывание и формальное описание вопросов, на которые онтолоrия должна давать ответы, выбирается проrpaммная среда дhя реализации онтолоrии. В следуюшем разделе на примере конкретной среды достаточно подробно рассмотрим процесс разработки и использования онтолоrии. Еще раз заметим, что принципиальным для создания онтолоrий является не ПрОllедурный, а декларативный подход. Теоретической основой большинства языков, используемых для кодирования онтолоrий, являются различные исчисления, в основе которых, как правило, лежит лоrика предикатов первоro поряпка с равенством. Используются и друrие лоrики в качестве теоретической основы для онтолоrий. 132. Постановка З&да'IИ создаНИJI ОВТOJlОПIИ На обоrpев зданий расходуется от 40 до 50% энерrии, потреб.n:яемой человечеством в развитых странах, и этот расход имеет тенденции к росту. Так, например, доля потребления энeprии на нужды отопления жилых зданий 306 
13.2. Постановка задачи создания онтолozии в Западной Европе состаWIЯет 52% всей вырабатываемой энерrии. Близкая оценка (40%) ПРИВОДИТСЯ в США. Мноrие источники называют похожие llИфРЫ для Канады, России, Южной Африки. Подсчитано, что только блаrодаря проектированию более эффективных систем теплоснабжения зданий можно высвободить до 30% энерrии, Все это свидетельствует о том, ЧТО необходимы средства эффективноro проектирования систем теплоснабжения, позволяющие осуществить необходимую человечеству экономию энерrии. 13.2.1. ИСХ9днwе соображени.и ДJUI соНИJI онтолоrии Отправным материалом для проектирования реальных систем теплоснабжения здания ЯWIяется архитектурный проект, который определяет размеры здания и ero помещений, конструкции всех элементов здания, места установки и размеры окон и дверей, расположение инженерных сооружений, в частности систем теплоснабжения, канализации, вентиляции, Т.е. вcero, что необходимо в соответстви с действующими строительными нормами и правилами. Для TOro чтобы иметь возможность осущестWIЯТЬ оптимальное автоматизированное проектирование систем теплоснабжения жилых зданий, необходимо иметь формальную модель, с помощью которой можно бьuIO бы рещать задачу. Спрашивается, какие соображения должны быть положены в основу подобной модели? С одной стороны, в настоящее время известны различные математические модели, которые используютС11 при проектировании систем теплоснабжения зданий, основанные на законах те пл.опередач и , например, дифференциальные уравнения, линейные уравнения стационарноrо режима. Все бьuIO бы хорошо, если бы задача выrлЯДeJIа как классическое совместное решение системы уравнений дJIя нахождения оптимальных переменных системы теплоснабжения по известным исходным данным. К сожалению, для большинства реальных задач использование классическоrо подхода встречает серьезные препятствия, связаНliые со следующим. Вопервых, в рассмотрение при оптимизации должны быть включены показатели затрат, выраженные в ВИде эмпирических формул для расчета, например, стоимости жизненноro цикла здания и друrих переменных, множество разнородных условий и требований, диктуемых действующими нормами и правилами. BOBTOpЫX, при классическом подходе невозможно учесть требования, которые носят субъективный, присущий только данному проекту характер и изменяются по мере продвижения. процесса проектирования. Втретьих, упомянутый классический подход не oXBaTbiBaeT Метауровня, без KOToporo современная автоматизация проектирования вообще неосуществима, а именно уровня планирования алroритмов оптимальноrо поиска в пространстве допустимых значений. Возможным путем хотя бы частичноrо преодоления указанных препятствий является лоrический подход к решению задачи оптимальноro автоматИзированноrо проеК'11-fрования систем теплоснабжения жилых зданий, в основе Koтoporo лежит комплексная онтолоrия, которую назовем онтолоrией теплоснабжения, включающая в себя весь бaraж накопленных знаний. 307 
13. Онтолozии и их применение В настоящей rлаве не ставится задача рассмотрения всех аспектов онтолоrии теплоснабжения как формальной теории. ДЛя этоro понад06илась бы отдельная книra. Рассмотрим лишь некоторые свойства онтолоrии теплоснабжения и результаты ее применения. Вопросы, на которые предполаrается" получать ответ с помощью онтолоrий, обычно tfазывают K(JJtIпemellтн6IJNU. Их формулируют как теоремы, в результате лоrическоrо доказательства которых и получают ответ на поставленные вопросы. Как всеrда"выделяют два типа вопросов: прямые вопросы (анализа) и обратные вопросы (синтеза). При мер вопроса прямоrо типа: «Каковы будут эксплуатационные характеристики здания (комфортность и стоимость) при заданных значениях переменных здания и системы теплоснабжения (конструкции, применяемых материалах, ценах)?.. Пример вопроса обратноrо типа: «Каковы должны быть значения переменных конструкиии, чтобы обеспечить требуемые или наилучпmе (оптимальные) эксплуатационные характеристики здания при заданных условиях, определяемых некоторыми константами (климатическими, стоимостными и т.п.)?» 13.2.2. Построение ОlПOлorии теплоснабжеНIUI в данном случае онтолоrия состоит из четырех rpynn аксиом. Вид этих аксиом зависит от языка исчисления, на котором они представляются. В настоящей rлаве нас интересует не столько язык, сколько смысл Toro, что представляют эти rpуппы аксиом. Поэтому для их представления оrpаничимся языком лоrики предикатов первоro порядка. Рассмотрим следующие довольно типичные (и не только ДЛЯ данной среды) rpуппы аксиом: а) аксиомы идентификаuии, получаемые по известным математическим уравнениям теплопередачи, формулам ДЛЯ расчета температуры, эмпирическим формулам ДЛЯ расчета стоимости жизненноro uикла систем теплоснабжения; б) аксиомы вычислений, формулирующие правила вычисления значений искомых переменных; в) аксиомы корректности, задающие порядок и условия корректности вычислений, r) аксиомы оптимизации, позволяюшие получать ответы на обратные вопросы и определяюшие правила поиска оптимальных решений. Аксиомы идентификации. Будем полаrать, что здание в целом, включая систему теплоснабжения, имеет множество объектных переменных Х == {х., ..., x N }, включая все известные и неизвестные, исходные и промежуточные, оuеночные и конструктивные и т. п. В реальном проектировании требуется находить или уточнять значения части этих переменных, которые, как правило, должны попадать в определенный иllтервfl.II ЗНО'lеllим. Интервалом в нашем случае называют множество действительных чисел r, таких, что 1  r  h, rдe 1, h  rpаницы интервала. Интервал значений переменной Х обозначим [х) == [/, h), rдe 1, h являются левой и правой rpаниuами интервала соответственно, и будем ero называть значением переменной х. Множество 308 
13.2. Постановка задачи создания онтОЛО2ии интервалов значений множества переменных Х т  Х обозначим [XmJ. Каждой переменной х сопоставим предикат параметр (х, [х) истинный, KOrдa переменная х лежит в интервале [/, h). В дальнейшем все переменные, как всеrда, будем обозначать малыми буквами, константы большими, а множества переменных  большими полужирными. Введем множество отношений {R.. ..., R ). Каждое отношение R связывает некоторое подмножество переменных т Х т С Х И используется дл вычисления неизвестных значений переменных Х :''''Х  Х т по известным значениям переменных Х:,х  Х т ' Этот процесс называется вычислением отношения Rj' Как конкретно осуществляется вычисление неизвестных значений в зависимости от множества известных значений, определяют аксиомы вычислений, рассматриваемые чуть ниже. В самом общем случае предполаrается, что для вычисления любоrо неизвестноrо значения переменной х, а точней  rpаниu интервала ее значений всеrда найдется набор переменных ХтВХ, значения которых известны и .позволяют найти значение х. Введем переменную r, значением которой ЯWIяется одно из конкретных отношений множества {R" ..., R m ). Одно и то же отнощение может связывать различные подмножества Х т Х Все ПОЯWIения onHoro и тoro же отнощения перенумеруем и введем переменную т, значениями которой будем считать эти номера. Введем также предикат экземпляр (r, т, Х т ' (Х т ) == экземпляр (r, т, Х). Этоrо предикат истинен, если отношение r с номером т связывает множество переменных Х т значениями которых является множество (Х т ). Множество переменных Х т предиката экземпляр может совпадать, пересекаться или не пересекаться с множествами переменных друrих предикатов экземпляр. Вычисляемые (выходные) переменные onHoro предиката экземпляр Moryт быть входными для друrих, в результате чеrо получается некоторая сеть предикатов экземпляр, которую можно изобразить в виде rpафа, если каждый такой предикат представить вершиной, а ребрами представить переменные. Таким образом, все знания о проектируемой системе теплоснабжения, будь то система уравнений или какиелибо эмпирические формулы представляются в виде множества предикатов типа параметр и экземпляр. Эти простейшие предикаты и составЛяют rpуппу аксиом идентификаuии. Аксиомы вычислений. Следующий этап формирования онтолоrии  это формулировка аксиом вычислений, задающих правила вычисления отношений. Как уже отмечалось, каждое отнощение r == r(X) связывает множество переменных Х т И используется лля вычисления неизвестных значений переменных Х :'''''  Х т по известным значениям переменных х:,х  Х т ' Разбиений множества Х т на подмножества Х:,х и Х :''''Х может быть достаточно MHoro (К). Каждому такому разбиению сопоставим оператор 309 
J 3. Онтолozuu u их пpuмeHeHиe fmA(Xm/x, Хт/"'Х) , k == 1, ..., К, по которому осуществляется вычисление неизвестных значений переменных. Введем предикат оператор if тk (Хт/х, (Xm/xJ, Хт/'OIX, (Xтk..oa]) = оператор и-тk (Хт/х, Х т /""», который истинен, если известны значения переменных множества X тk """ k Х т оператора!п.k ' и в результате вычисляются значения неизвестных переменных X тk """ k Х т ' Torдa множество аксиом вычислений отношения r дляодноro множества Х == {Х l ' ..., Х } с Х выrлядит следующим образом: т т тq параметр (х т .. [/" h.]) л ... л параметр (x, [/ q , hqJ) л л (оператор (!п. (Хт/х, Xтk....X» ::J экземпляр (r, т, Хт>, rпе k == 1, ..., к. Интервальная арифметика лежит в основе вычисления формул. Поэтому напомним элементарные правила'вычислений в этой арифметике. Операuии сложения, вычитания, умножения и деления над двумя интервалами (1., h,J и (/2' h 2 ] имеют вид: (1., h.J + [/2' h 2 ] == (1. + h.. 12"+ h 2 ], [/" h.]  [/2' h 2 J == (1,  h 2 , 12  h.J, (1" h.1 * [/2' h 2 1 == [min{/..h., 1..h 2 , 1 2 .h.. 1 2 .h 2 }, max{/..h.. 1..h 2 , 1 2 .h., .h2}]' (1., h.JI[/ 2 , h 2 J == [min{/.Jh.. l.Jh2' I/h" l/h 2 } , max{/.Jh" l.Jh2' I/h.. l/h 2 }] , О е' [/21 h21. РасСМO'fpим теперь пример аксиом вычислений для отношения. сложения, связывающerо три переменные множества Х == {Х., Х 2 . Х)} отношением сложения R+. ДЛя отношения сложения возможны только три оператора: а) вычисляющий по известным Х. и Х 2 неизвестную Х)' б) вычисляющий По известным Х. и Х) неизвестную Х 2 и в) вычисляющий ПО известным Х) и Х 2 неизвестную х.. Аксиомы вычислений для отношения R+ будут определяться следующим образом: (параметр (Х., [/.. h , ]) л параметр (Х 2 ' [/2' h 2 ]) Л параметр (Х), (/), h)l) л л (/), h)J :::: (1., h.1 + [/2' h 2 J ::J экземпляр (R+, О, Х.. Х 2 ' Х)' (1.. h , ), [/2' h 2 ], [/), h)J), пара.метр (X 1 ' [/.. h l ]) л пара.метр (Х 2 , [/2' h21) Л пара.метр (Х)' (/), h)]) л [/2' h21 == == (/); h)J  [/., h.1 ::> экземпляр (R+, О, Х.' Х 2 ' Х)' (1" h,), [/2' h 2 ], (1), h)), 310 
13.2. ПостаН06ка задачи l;оздания онтОЛ02ии пара.метр (х" (/)' h l ) л параметр (Х 2 ' (/2' h 2 ) Л параметр (Х 3 ' [/з, h з ]) л [1.. h.) == (/з, h з )  (/2' h 2 ) ::J экземпляр (R, О, х)' Х 2 ' Х 3 ' (/1' h.), (/2' h 2 ), [/з' h з ]), Аксиомы вычислений должны быть заданы ШIЯ всех отношений, участвуюших в онтолоrии, и их используют для вычисления значений переменных. Аксиомы оrpаиичений. Перед началом вычислений задается множество начальных значений входных переменных в вид множества предикатов параметр (х, [/, h), rдe х, 1, h соответственноо имя переменной и rpаницы интервала' ее значений. Обозначим множество начальных значений всех переменных Ео, Первый шаr вычисления  это нахОЖдение тех предикатов типа экземпляр (r, т, Х,), отношения которых MOryr быть вь{числены соrласно аксиомам вычислений с использованием множества Ео, Обозначим это множество предикатов 80' После нахОЖдения множества 50 осушествляется вычисление отношений и получается но"ое множество значений переменных Ер и все повторяется сначала, но вместо множества Ео используется множество Е,. Процесс пмучения множеств значений переменных Ео, Е.. ... и соответствуюших им множеств 50,5.. ... в принцице может продолжаться бесконечно. На практике останов происходит либо в результате появления на некотором этапе вычислений пустоrо множества, что. соответствует отсутствию вычислимых отношений, либо в результате предписанноrо заранее числа допустимых итераций, либо в результате достижения устраиваюшеrо пользователя результата, либо в результате какихлибо друrих критериев останова. В частности, поскольку в основе вычислений лежит интервальная арифметика, то можно воспользоваться ее результатами, позволяюшими при определенных условиях осушествить сходимость итеративной процедуры вычисления интервальных значений переменных к HeKO'fOpbIM локализуюшим интервалам, содержашим требуемые решения. Аксиомы, Qписываюшие условия останова или оrраничиваЮШие какимлибо 06разо... область вычислений (после решения), называl9Т IIКC lЮ.lIl1!"lI 02ptllUl'lelUlii. сиомы 01lТllМll38.lUUt. для TOro чтобы можно было получать ответы на обратные вопросы, необходимо иметь возможность нахОЖдения оптимальных значений некоторых переменных, называемых критериями. Это означает, что в онтолоrии должна быть rpуппа соответствуюших аксиом ОПТИмизации. Критериями, например, в нашем случае MorYT быть переменные комфортности и стоимость здания, причем для достижения энерrетической эффект.вности стоимость должна УЧlПЫвать все затраты жизненноrо цикла здания, т. е. расходы на эксплуатацию, энрrию, ремонт. Это означает, что задача оптимизации является мноrокритериальной, а !<.ритерии противорчивы. В теории математическоro Проrpаммирования такая задача ставится как векторная задача оптимизации с оrpаничениями. Зl1 
/3. ОнтОЛО2UU u их применение Среди объектных переменных, описываюших здание, выделим те, которые мы можем изменять в процессе поиска их оптимальноro сочетания. Они образуют вектор переменных Х, конкретное значение KOTOporo [Х] будем называть решением. Решение представляет собой точку в пространстве значений переменных. Будем полаrать, что оптимальное решение принадлежит множеству Парето ( решение [Х*] принадлежит множеству Парето, если это дОПустимое решение и для любоrо друrоrо решения [Х] из допустимой области значение хотя бы onHOro критерия хуже, чем для [Х*]). Множество Парето  это множество неулучшаемых решений, таК как для любоro из них нельзя найти друroro допустимоro решения, в котором один критерий бы улучшался, а остальные бы не ухудшались, Однако получение множества Парето недостаточно для решения практических задач. Необходимо применить дополнительные знания в конкретной постановке задачи для выбора единственноro [Х*] из множества Парето. Возможны три Типа постановок задачи оптимальноro поиска: а) значения критериев комфортности залаются, а оптимизируется только стоимость, б) залается верхняя rpаница стоимости, которую нельзя превышать, а оптимизируются только критерии комфортности, в) совместно оптимизируются все критерии для поиска компромиссноro решения. Первая задача является однокритериальной. Задачи б) и в)  мноroкритериальные, из которых наиболее общая  последняя. Рассмотрим сначала подход к ее решению. Сушествуюшие методы ре.шения мноrокритериальных залач связаны с тем или. иным учетом системы предпочтений человека и, на основе этоro, с выбором какоroлибо принципа оптимальности. Методы делятся на несколько rpynn: методы назначения весовых коэффициентов для каждоro критерия, упорядочения критериев по важности, оптимизации наихудшеrо критерия, минимизации суммы отклонений критериев от идеальных значений и интерактивной оптимизации. Не во всех методах леrко выразить предпочтения проектировшика и не все методы даюТ, в конечном итоrе, оптимальное по Парето решение. Популярными являются методы оптимизации наихудшеrо критерия, сушность которых состоит В следующем. Решается залача оптимальноrо поиска по каждому критерию х отдельно, и определяются наилучшие [X]/lII'" и наихудшие [х]mi/l ero значения. Далее, для каждоro критерия определяется множество ero относительных значений, вычисляемых по формуле [х]отн == [х]  [х)ШiJl / [х]шзх  {х]шi/l. Очевидно, что среди всех относительных значений данноrо критерия существует минимальное. Оптимальным считается решение [х*], имеюшее максимальное относительное значение критерия среди всех минимальных относительных значений критериев в множестве всех ДОПУСТИмых решений. Какой бы метод получения оптимальноro решения не применялся, в любом случае  это некий оrpаниченный поиск в пространстве значений наборов 312 
J 3.3. Использование онтолоеий переменных Х Например, это может быть оптимизирующий интерактивный поиск, рассмотренный в rлаве 6, или какойлибо друroй из той же rлавы. Конкретный вид аксиом оптимизации зависит от выбираемоro вида поиска и в настоящей книrе не при водится. Таковы основные типы аксиом онтолоrии теплоснабжения, предназначенной ДЛЯ решения задач анализа и оптимизации. Конечно, это не онтолоrия целиком. Даже те предикаты, которые мы ввели, кроме аксиом идентификации, требуют своих правил, выражающих их через более простые предикаты. Однако приведенноrо материала достаточно, чтобы понять структуру онтолоrии и основополаrающие подходы к ее созданию. Теперь рассмотрим некоторые результаты использования онтолоrии теплоснабжения. 13.3. Использование онтолоrий Чтобы продемонстрировать возможности онтолоrии теплоснабжения, рассмотрим характер тех наиболее типичных результатов анализа, которые получаются на основе ее использования. В качестве практическоrо примера возьмем roтовый типовой проект жилоro индивидуалрноro двухэтажноro дома, предназначенноro для строительства в центральных районах Европейской части России. Поставим задачу, вопервых, получить оптимальное решение, а BOBTOpЫX, сравнить ero с решениями типовоro проекта и исследовать WIияние различных факторов на оптимальность решения и найти rлавные. На основе рассмотренных выше принципов была разработана онтолоrия, позволяющая рассчитывать температуры воздуха в зонах здания, температуры внутренних поверхностей стен, тепловую устойчивость конструкции здания, наrpузку системы отопления и размеры радиаторов, а также стоимость жизненноro цикла здания и отдельных компонент: стоимость строительства, величину roдовых отчислений на эксплуатацию и roдовые затраты на топливо. Из переменных проекта были выбраны двенадцать, это  толщины и материалы основных элементов оrpаждающих конструкций. Критериями, по которым проводилась оптимизация, в различных вариантах решения выступали температуры воздуха в жилых зонах, тепловая устойчивость, первоначальная стоимость здания и, конечно, стоимость жизненноrо цикла. Решение проводилось следующим образом. Значения переменных брались из проекта, строительной справочной литературы и действующих СНиП. В зависимости от варианта решения заполнялась база данных, потом искалось оптимальное решение соrласно описанной онтолоrии. Была проведена серия экспериментов по оптимизации стоимости жизненноrо цикла системы. На рис. 13.1 изображена зависимость различных состааляющих стоимости жизненноrо цикла от назначаемых температур в помещении. Все стоимости приведены к одному roду эксплуатации, ДЛя ВЫЯWIения зависимости диапазон изменения температур, 1624 ос, взят несколько шире, чем реrламентируется СНиП. 313 
Вопросы и упражнения , который наиболее тесно связан с температурой в зонах. Кроме Toro, на рисунках показаны параметры решения, соответствуюшие исходному типовому проекту. При прочих равных условиях оптимизированное проектное решение, полученное с помощью рассмотренной онтолоrии, выявило возможность сокращения стоимости жизненноro uикла на 10% в основном блаrодаря сокращению расхода топлива на 35 % при повышении теплозащитных свойств здания. Результаты друroй серии экспериментов, в которой вводились оrpаничения на стоимость жизненноro uикла и исследовалось их влияние на температуру в жилых зонах, показаны на рис. 13.2., подтверждают очевидный результат для данноrо типа зданий  рост температуры с увеличением затрат. Вопросы и упрuweВИJI 1. Что означает термин «онтолorия.? 2. Какие формы онтолоrий наиболее типичны? 3. Какие перспеКТИ8Ы связывают с ж:пользованием онтолоrий? 4. Что Я8Лиется теоретическим базисом онтолоrий и какие nporpaMMHble средства ИСПОЛЬЗУЮТ Ш1Я реализации онтолоrий? 5. Каковы этапы создания онтолоrий? 6. Каковы наиболее типичные rpYnnbl аксиом при создании онтолоrий? 
14. РEAJIИЗАЦИЯ СИСТЕМ в настоящей i!Лаве рассмотрены этапы создания систем искусственноео интеллекта на пpuмepe конкретной среды. Архитектуры реальных систем искусственноro интеллекта, в особенности мноеоаеентных (или MYJt6тllllzeHтHblX) систем, MorYT быть самыми разнообразными. Для реализации подобных систем разрабатываются специальные инструментальные проrраммные средства. Эти средства предполаrают определенную технолоrию создания мультиаrентных систем. Подобная технолоrия включает ряд крупных этапов, типичными из которых являются следующие: выбор архитектуры мультиаreнтной системы (числа и типов areHToB; локальных целей, стоящих перед каждым из них; принципов взаимодействия и выработки rлобальноrо рещения); изучение свойств и поведения среды, с которой придется иметь дело areHTaM, и представление этих знаний в виде неформальной онтолоrии. Этот этап часто называют извлечением знаний о среде; представление rлобальных (доступных всем areHтaM) и локальных знаний (доступных отдельным areHTaM), полученных на этапе извлечения знаний, на формальном языке какоroлибо исчисления в виде формальных rлобальной и локальной онтолоrий. Этот этап часто называют формализацией; выбор стратеrии вывода для каждоro из areHToB, на основе использования которой areHT будет достиrать поставленной перед ним цели; разработка проrраммы и аппаратуры, реализующей мультиаrентную систему. Этот этап иноrда называют реализацией. В настоящей rлаве рассмотрены все эти этапы на при мере построения одноаrентной системы искусственноro интеллекта. 14.1. Архитектура Архитектура системы показана на рис. 14.1. AreHT получает сообщения от телеметрической системы сбора информации сети распределения и подачи воды. Задачей areHTa является анализ различных ситуаций в сети распределения и подачи воды на основе этих сообщений и выдача операТОI-У результатов этоro анализа. 316 
14.2. Извлечение знаний areHTa Сеть распределения и подачи воды AreHT Действия Восприятия (реакции) areHтa Рис. 14.1. Архитектура одноаrентной системы 14.2. Извлечение знаний 14.2.1. Источники приобретеиия знаний Рассмотрим типичные источники знаний. Оператор. Несмотря на указанные выше трудности извлечения знаний из оператора, он является rлавным источником знаний. Система наблюдения и КОитролJl. Этот источник используется совместно с оператором в процессе интервью с ним. Если система наблюдения и контроля достаточно развита, то наблюдение с ее помошью за поведением сети 8 реальном масштабе времени делает интервью с оператором более леrким, выразительным и эффективным. . МатематическаJl модель поведения, Математические модели поведения физической сети (в случае сети распределения и подачи воды  это rидравлическая модель) реализуются в виде компьютерных проrpамм. Путем экспериментов с этими проrpaммами извлекаются дополнительные знания о реакциях сети в ответ на определенные воздействия извне; проверяются знания эксперта, извлеченные в ходе интервью с ним; формируются правила и стратеrии lSывода и Т.п. Архма данных. В процессе наблюдения за поведением любой реальной среды осушествляется накопление и архивация данных, характеризуюших ее поведение. В случае сети распределения и подачи воды  это телеметрическая информация от датчиков давления и расхода воды, сведения о затратах энерrии, данные об уровне воды в резервуарах и т.п. Данные в архиве структурированы по часам, дням, месяцам и доступны для анализа в процессе извлечения и проверки знаний. За работой сети распределения и подачи воды наблюдает rруппа операторов, которые, если это необходимо, MOtyr вмешиваться в ее работу. Они ответственны за процесс управления сетью распределения и подачи воды, экономию и качество воды, безопасную работу сети. fлавная задача areHтa состоит в том, чтобы помочь оператору принять правильные решения. Операторы MOtyr иметь мноrолетний опыт эксплуатации сети распределения и подачи воды, хорошо знают ее поведение в различных СИ1j'ациях, типичные причины возможных отказов и мероприятия по их устранению. Поэтому 317 
14. Реализация систем одним из источников знаний о сети являются именно операторы. Источником более тонких знаний о поведении сети являются инженеры, обслуживаюшие оборудование сети. Иными словами, весь персонал, участвуюший в эксплуатации, управлении, ремонте сети, может служить источЮ1ком знаний о ее поведении. Этот источник rлавный, но не единственный. Все, кто является источником знаний, называются эксnертамll. Процесс извлечения знаний не является хорошо определенным и однозначным. Он является скорее искусством и набором приемов, чем наукой. При извлечении знаний из персонала, обслуживаюшеrо сеть, используется I,нтерв61О. Toro, кто занимается извлечением знаний (и не только из персонала), будем называть tlHIlAIlтIlКOJН. Одна из самых больших проблем, связанных с извлечением знаний на основе интервью, состоит внеточности, приблизительности, а иноrда и ошибочности извлекаемых знаний. Источником этих неточностей чаше Bcero является эксперт, для KOТOpOro бывает трудно нефьрмально на естественном языке выразить те знания, обладателем которых он является, а Hpyroro способа их выражения он не имеет. Вследствие этоrо довольно часто эксперты дают ответы о своих действиях в той или иной сй'ryаi.tии, не соответствующие их фактическому поведению. Типичная си1Уация  это Korдa аналитик не знаком с областью знаний эксперта, а эксперт не знаком с мето.l(ами искусственноrо интеллекта. Идеальной является ситуация, коша экспертом и аналитиком является одно лицо, хотя это слуЧается крайне 'редко. В условиях разнополюсных знаний эксперта и аналитика процесс извлечения знаний является трудоемкой и 11Лительной процедурой. Друraя проблема, связаннWiI с процессом извлечения знаний, состоит в субъективности аналитика. Ответы эксперта интерпретируются и преобразовываются аналитиком в понятную ему формальную онтолоrию. Этот процесс преобразования субъективен. Аналитик может неправильно понять или извратить знания эксперта, что впоследстВии привеnет к ошибочной работе areHтa; К сожалению, перечисленные проблемы никоrда не MOryт быть разрешены полностью, поскольку процесс извлечения знаний сильно зависит от специфических особенностей среды. Накопление человечеством формальных онтолоrий может сильно помочь в уходе от этих проблем. Целью аналитика является не только извлечение знаний, но и представление их В виде формальной онтолоrии. Процесс получения знаний от эксперта чаше вcero проходит путем MHorOKpaTIjЫX интервью с Эl(:спертом на естественном языке. Аналитик обрабатывает эти знания, формализуя их. Будем полаraть, что аналитик. проводит интервью на естественном ,языке, а формализацию результатов интервью представляет в виде схем cllтytll(U. Схемой ситуаций Н(qывается ориентированный .-раф с тремя типами вершин: sepllUlII СIlmУIЩ.ш. восnРlUlтlUl, ]le1UЩ1Ш. Вершины цоследиеrо типа позволяют образовывать некоторую иерархию схем и разбивать процесс извлечения знаний по частя.м. 318 
/4.2. Извлечение знаний 14.2.2. Поетроен- схем ситуаций Построение каждой схемы ситуаций состоит из следующих простых шаroв. Вводится круrлая залитая вершина начальной ситуации (начальная вершина) с уникальным индексом. Далее итеративно из каждой вершины ситуации, начиная с исходно{l, проводятся дуrи в овальные вершины восприятия, вводимые по результатам интервью. Каждая из этих овальных вершин соответствует одному из альтернативных высказываний, истинность KOToporo в данной ситуации следует установить. Внутри этой вершины записывается соответствующее высказывание в виде формулы предикатов nepBoro порядка <Х. Из каждой овальной вершины восприятия проводится enинствеliНая дyrа в прямоуrольную вершину реакции, внутри которой записывается действие d. Из прямоуrольной вершины реакции выходит единственная дуrа, направленная в какуюлибо вновь вводимую незалитую или существующую вершину ситуации данной схемы ситуации или внезалитую круrлую начальную вершину обозначающую начальную ситуацию друrой схемы ситуаций. В последнем случае рядом с этой вершиной записывается на естественном языке название соответствующей схемы ситуаций, имеющей эту вершину ситуации (залитую круrлую) в качестве начальной. Из незалитой круrлой вершины, соответствующей начальной ситуации друroй схемы, дyr не выходит. Любой путь, ведущий от вершины ситуации  через овальную вершину с формулой <х действие (d) в прямоуrоль\-lую вершину с действием d к вершине ситуации S, представляется парой формул J  л <х ::>, действие (d), переход (d, S) == s.. , J Напомним, что запись  в первой из этих формул является сокращенной записью атома ситуация (S), , а затем переход (d, ) во второй формуле является функцией. Таким образом, схема ситуаций является не чем иным, как некоторой формой представления формул. Схема ситуаций используется для извлечения знаний путем постепенноro ее построения в процессе интервью, начиная от начальной вершины. Извлечение знаний в этом случае состоит в получении ответов на следующие вопросы и построении по результатам ответа соответствующей схемы ситуаций. Какова начальная ситуация дЛя данной схемы ситуаций? Если мы находимся в некоторой ситуации (вершине ситуации), то истинность каких альтернативных высказываний <х следует проверить в этой ситуации? 319 
/4. Реализация систем Если мы установили истинность высказывания 0., соответствующеrо какой либо вершине восприятия, то какое действие d теперь следует совершить? Если мы совершили действие d, соответствующее какойлибо вершине реакции, то в какую ситуацию мы после этоrо попадем? Если это начальная ситуация какойлибо схемы ситуаций, то каково ее название? В результате ответа на каждый из этих вопросов может быть построен очередной участок схемы ситуаций. Схема ситуаций может быть очень большой и избыточной, схем может быть несколько. rлу6ина схемы может зависеть от начальной ситуации, с которой начинается процесс ее построения. Число вершин и дуr схемы характеризует сложность процесса извлечения знаний. Эта сложность может быть уменьшена рядом приемов. Один из них  это объединение вершин, все возможные пути из которых одинаковы, и переход, таким образом, от дерева к rpафу. Рассмотрим процедуру извлечения аналитиком знаний (построения схем ситуаций) о поведении и управлении типичной сетью распределения и подачи воды. 14.2.3. Сеть распределения н подачи ВОДЫ Упрошенно сеть распределения и подачи воды можно рассматривать как разветвленную сеть трубопроводов разноrо диаметра, в определенных узлах которой находятся так называемые контрольные точки, давление воды в которых может быть измерено. для нашей сети таких контрольных точек 12. В друrих узлах этой сети находятся насосные станции, каждая из которых содержит некоторое число насосов, подающих воду из резервуара, соответствующеrо станции, в сеть. Число таких станций  12. Большинство насосов станций работает с постоянной частотой (скоростью) врашения. Только две насосные станции (2 и 6) имеют возможность автоматическоro реrулирования частоты врашения (скорости насосов). Автоматическое реryлирование позволяет поддерживать постоянное давление в определенных контрольных точках сети путем изменения скорости насосов. В нашем случае такая точка единственная  4. Потребителями воды являются жители rорода, три тепловые станиии и различные предприятия. Эти знания о сети довольно скудные, Опустим важный, но простой этап перехода от определений и понятий на естественном языке к термам и атомам языка лоrики предикатов первоrо порядка. Введем HeKoTopbie из них сразу. Заметим только, что в реальной ситуации процесс введения необходимых термов и атомов не ЯRЛяется единовременным и осущеСТRЛяется в процессе построения схемы ситуаций. 14.2.4. Термы н атомы Как правило, эксперт не знаком с терминолоrией лоrики предикатов первоro порядка, и формирование термов, атомов и формул осушествляется аналитиком по результатам интервью с экспертом на естественном языке. Аналитик, прежде чем определить необходимые термы и атомы, должен 320 
J 4.2. Извлечение знаний ознакомиться с принципами работы сети, терминолоrией, используемой экспертом. После этоro он сам выбирает термы и атомы, которыми будет пользоваться. Введем некоторые их них. Перемевные и KOHcтaJfI'W. Переменная точка, областью значений которой является множество номеров от ТочкаJ до ТочкаJ2всех контрольных точек сети распределения и подачи воды. Переменная станция, областью значений' которой является множество номеров станций от СтанцияJ до СтанцияJ2. Переменная значениедавления, принимающая значения Высокое, Низкое, Нормальное. Переменная значениескорости, принимающая значения Высокая, Низкая, Нормальная. Переменная значение уровня, принимающая значения Высокий, Низкий, Нормальный. Атомы. Атом давление (точка, значение давления). Этот атом истинен, если давление в контрольной точке точка принимает одно из значений значение  давления: атом скорость (станция, значениескорости), атом уровень (станция, значениеуровня). Функции. Функция насоснаястанция (точка) задается табл. 14.1. ApryмeHToM этой функции является одна из контрольных точек, а значением  насосная станция, наиболее влияющая на давление в данной точке. Перейдем теперь к формированию схем ситуаций. 14.2.5. Первичнu схема ситуаций Построение схем ситуаций начинается с первичной схемы. Выбирается начальная ситуация So' и эксперту задается вопрос: «Если мы находимся в ситуации So' то истинность каких альтернативных высказываний следует проверить в этой ситуации?) Ответом на этот вопрос является перечень следующих трех альтернативных высказываний на русском языке, подлежащих проверке на истинность или ложность: Наличие хотя бы одной контрольной точки, в которой давление высокое или низкое. Наличие хотя бы одной насосной станции, с ко;юсть . вращения реryли руемых насосоВ которой высокая или низкая. . Наличие хотя бы одноrо резервуара, уровень воды в котором низкий. После фОРМaJJизации этих ответов получим часть схемы ситуаций, показанную на рис. 14.2. 11  1141 321 
/4. Реализация систем Таблица 14.1 Значение функции Значение переменной точка ftасоснаястаftцuя( точка) Точкаl Стаftцuяl О Точка2 Стаftцuя7 Точка3 Стаftt,uя6 , Точка4 Станцuя6 Точка5 Станt,uя6 Точка6 СтаftЦUЯ3 Точка7 Стаftt,uя6 Точка8 Сmaftцuя12 Точка9 Станцuя7 Точка10 Стаftцuя7 Точка11 Стаftцuя7 Точка12 Стаftt,UЯ7 Рис. 14.2. Исходный шаr в построении первичной схемы ситуаций Затем следует продолжить опрос с учетом уже полученных ответов. Типы возможных вопросов перечислены ранее при рассмотрении схем ситуаиий. В упрошенном виде на русском ЯЗblке эти ВОПрОСbl можно сформулировать следуюшим образом. Если наличие хотя бы одной контрольной точки, в Которой давление высокое или низкое, установлено, то что делать дальше? 322 
/4.2. Извлечение знаний Если наличие хотя бы одной насосной.станции, скорость реryлируемых насосов которой высокая или низкая. установлено, то что делать дальше? Если наличие хотя бы OHHOro резервуара, уровень воды в котором низкий, установлено, то что делать дальше? Возможными ответами на эти вопросы MOryт быть соответственно: Реryлировать давление. Схема ситуаций для реryлирования давления в контрольных точках. Реryлировать скорость. Схема ситуаций для реryлирования скорости насосов. Реryлировать уровень. Схема ситуаций для реryлирования уровня резервуаров. Эти ответы позволяют завершить первичную схему ситуаций на рис. 14.2. В результате получим схему, показанную на рис. t4.3. 50 Схема ситуаций Схсма СlIтуапий Скема Сllтуаций д.1Я рсrУ,1ироваНIIЯ даВ:IСIIIIЯ Д.1Я рсrу.lирования CKOpOCТII рсrу.ll1рова.нИ!l УрОВllЯ воды В КОIПРОЛЫIЫХ точках враlllСIОIЯ IlaCOCOB в рсзервуарах Рис. 14.3. Первичная схема ситуаций 14.2.6. Схема ситуаций Д1IИ реryлироваНИJI даалеНИJl. KOнтpo.llWlblX точках Построение схемы ситуаций для реryлирования давлений в контрольных точках начинается. как и в случае первичной схемы. с начальной ситуации 5.. но уже предварительно определенной в первичной схеме ситуаций. После этоrо следует вопрос к эксперту: «Если мы находимся в ситуации 5.. то истинность каких альтернативных высказываний следует проверить в этой ситуации?) Ответ может быть следующим. Наличие контрольной точки. давление в ,которой высокое и не ниже. чем во всех остальных контрольных точках. Наличие контрольной точки. давление в которой низкое и не Выше. чем ВО всех остальных контрольных точках. 11. 323 
/4. Реалuзация систем После формализации этих ответов получим часть схемы ситуаиий ШIЯ реryлирования павления в контрольных точках, показанную на рис. 14.4. SI Рис. 14.4. Начальный шаr в построении схемы ситуаций для реryлирования дамений в контрольных точках ситуаций Далее следует продолжить опрос с учетом уже полученных ответов. На русском языке дальнейшие вопросы можно сформулировать следуюшим образом. . Если установлено наличие контрольной точки, павлеtlие в котоРой высокое и не ниже, чем во всех остальных контрольных точках, то что следует делать дальше? Если установлено наличие контрольной точки, давление в которой низкое и не выше, чем во всех остальных контрольных точках, то что следует делать дальше? Ответами на них Moryт быть соответственно следуюшие: Если установлено наличие контрольной точки, давление в которой высокое и не ниже, чем во всех остальных контрольных точках, то выключить какой либо из включенных насосов на насосной станции, оказываюшей наибольшее влияние на найденную точку, и перейти к начальной ситуации. Если установлено наличие контрольной точки, давление в которой низкое и не ВЫше, чем во всех остальных контрольных точк, то включить какой либо из выключенных насосов на насосной станции, оказывающей наибольшее влияние на найденную точку, и перейти к начальной ситуации. После формализации этих ответов получим окончательную схему ситуаций ДJlЯ реryлирования давления в контрольных точках, показанную на рис. 14.5. Теперь можно перейти к построению схемы ситуаций ШIЯ реryлирования скорости насосов. .14.2.7. Схема ситуаций для реl)'JlИровзнlUI CKopocтн'нkOCOB Скорость врашения насосов, которая реryлируется автоматически, является важным показателем, знание KOToporo позволяет принимать решения о 324 
/4.2. Извлечение знаний 51 .............. . вЫIUlOчить( "аСI)(""аRстШlЦиR( точка) ) Рис. 14.5 Схема ситуаций для реryлирования дамения в контрольных точках включении или выключении тех или иных насосов. Мы не будем больше описывать те вопросы аналитика и ответы эксперта, на основании которых строится схема ситуаций. Возможность сделать это будет предоставлена читателю в разделе «Вопросы И упражнения). Здесь же при ведем результаты интервью в описательной форме на естественном языке и представим соответствуюшие схемы ситуаций. Измеряется частота вращения (скорость) насосов только одной насосной станции 6. Для принятия решений недостаточно знать, какова эта частота вращения: нормальная, низкая или высокая. Необходимо знать характер изменения частоты вращения и потребление населением воды. Характер потребления воды можно представить rpафиком потребления, типичным для данной сети и полученным путем MHoroKpaTHbIx наблюдений. Такой rpафик показан на рис. 14.6. Сведем все полученные в процессе интервью ответы эксперта в табл. 14.2. На основании результатов интервью, сведенных в эту таблицу, получаем схему ситуаций, показанную на рис. 14.7. 14.2.8. Схема ситуаций ДJUI реryлироаания уровня воды в резервуарах Вода поступает в сеть из резервуаров. Резервуары наполняются с помощью специальных насосов первичной подачи воды. Включением и выключением этих насосов управляет специальная автомати.кз. Если уровень воды в резервуарах низкий, то соответствующие насосы включаются на заполнение резервуаров. Коrда уровень воды высокий  насосы выключаются. Обычно операторы не управляют этими процессами. Однако может оказаться, что потребление воды из резервуаров выше поступления. Поэтому оператор обязан предотвращать ситуацию, коrда какойлибо из резервуаров окажется пустым. Делает он это выключением насосов станции потребления, 325 
14, Реализация систем Потрсб;.с.шс 80ДЫ '1<1 ОДНО"О жи'rсля 10 J 9 к 7 6 s 4 2 О S gg  88g= Время Рис. 14.6. Типичный rpафик потребления воды (в л/ч) на одноro жителя в течение суток .Таблица 14.2 Скорость.насосов Да8llение Потребление ВОдЫ в контрольной Действия станции 6 точке 4 населением Включить Высокая Уменьшается  дополнительный насос станции 10 Включить Высокая Не уменьшается Увеличивается дополнительный насос станции 12 Низкая Увеличивается Выключить насос  станции 10 Включить Низкая Не увеличивается Уменьшается дополнительный насос станции 12 326 
14.3. ФоРМШlизация  Рис. 14.7. Схема ситуаций ДIIЯ реryлироваНИЯ скорости насосов забирающих воду из резервуара, и включением вместо выключенных друrих насосов станции замещения. Станции замещения определяются заранее эмпирически, расчетами или с помощьК? моделирования сети, Введем функцию станция  замещения (станция  потребления), значением которой ЯWIяется номер замещающей станции, а apryMeHТOM  номер потребляющей станции. Зададим эту функцию в виде табл. 14.3. Схема ситуаций реryлирования уровня воды В резервуарах показана на рис, 14.8. Итак, построение схем ситуаций завершено. Перейдем к следующему этапу построения системы, 14.3. ФормализаЦИJI Для удобства часть этапа формализации, заключающаяся во введении термов и атомов, была выполнена при рассмотрении этапа ИЗWIечения знаний. Оставшаяся часть этапа формализации состоит в переходе от схем ситуаций к формулам, начиная с первичной схемы ситуаций на рис. 14.3, В нашем случае этот этап облеrчается блаroдаря тому, что в схемах ситуаций уже использованы формулы лоrики предикатов первоrо порядка. 14.3.1. Формулw. получаемые по первичной схеме ситуаций Первичная схема ситуаций имеет одну ситуацию 50' из которой исходят три дуrи, ведущие в овальные вершины, помеченные соответственно 327 
/4. Реализация систем Таблица 14,3 стаfщt/.Яnотребния станциязамния ( стаНtlияпотребления) СтанцияО4 СтанцияО7 Станция12 СтанцияО4 СтанцияО6 СтаНtltlЯ12 Станtlияl О СтаНtltlЯOl СтанцtlЯOl СтаНtltlЯll СтаНtlияll СтанцияlО СтанцияО2 Станцияl О СтанцtlЯО3 СтаflцtlЯОS СтанцtlЯО5 СтанцtlЯО3 Ста нцwСО8 СтаНtltlЯО9 СтанцuяО9 СтанцuяО8 СmанцuяО7 СтанцtlЯО4 IIW"""'''IIIfI.(IЮС:О<:, C",II".,JC/} л л 8.-......".... (WIICoc, тaH". У411'II(""". (C",tJl/l4"./)) Al""""IIIfI.(""CO<", C"'IIIlI(,lt./} Л Л а.,,..,,,,,.( 1lIILOC, ctIf."I(,It. J411"II(t"". (C"'tJl/l4"./)J IIW'U""ШII.("IIС:О<:. C"'II..I(,It./) л л .,...,.""",.( "acOf, mмнЦII. J411'lI(tlliI/I (Cтll,,';".1 JJ . Рас. 14.8. Схема ситуаций для реryлирования уровня ВОДЫ в резервуарах 328 
/4.3. Формализация выражениями (3 точка)[давление (точка, Низкое) v давление (точка, Высокое), (3 насос) [скорость (насос, Высокая) v скорость (насос, Низкая), (3 станция) уровень (станция, Нuзкий). Из овальных вершин, помеченных этими выражениями, велут луrи в прямоуrольные вершины, помеченные соответственно действиями Ресулировать  давление, Реzyлировать  скорость, Реzулировать уровень. Из этих вершин луrи велут в вершины ситуаций 51' 52' 53. Это означает, что истинность формул в овальных вершинах влечет истинность соответствующих действий, а истинность действий  переход в соответствующие ситуации. Следовательно, имеем формулы 50 л (3 тО'lка)lдавление (точка, Нuзкое) v давление (точка, Высокое)]::::> ::::> действие (Реzулир080тьдавление), 50 л (3 насос)[скорость (насос, Высокая) v скорость (насос, Низкая)]::::> ::::> действие (Ресулироватьскорость), 50 л (3 станция)(уровень (станция, Низкий)) ::::> ::::> действие (Реzyлироватьуровень), переход (РеZYllироватьдавленц, 50) == 51' , . переход (Реzyлироватьскорость, 50) == 52' переход (Ре2улuроватьуровень, 50) == 53. 14.3.2. Формулы реryлироваиия давления в контрольных точках На схеме реryлирования ламениЯ в контрольных точках (рис. 14.5) из ситуации 5. выходят лве дуrи, направленные в овальные вершины, которые помечены соответственно формулами (3 точка) [давление (точка, Высокое) л (\7' точка', р) давление (точка, Высокое) л давление (точка', р) л Высокое  р] (14.1) 329 
/4. РеШluзация систем (3 точка)[давление (точка, Низкое» /\ (\7' точка', р) давление (точка, Низкое) 1\ давление (точка', р»)/\ Низкое $ р. (14.2) Из овальных вершин, соответствуюших этим формулам, ведут дуrи в прямоуrольные вершины, которым соответствуют действия вЫКЛЮчить (насос, насоснаястанция (точка», (14.3) включить (насос, насоснаястанция (точка». (14.4) Это означает, что истинность формулы (14.1) в ситуации S. влечет истинность формулы (14,3), а истинность формулы (14.2) мечет истинность формулы (14. 4) в этой же ситуаuии, Следовательно, имеем формулы S. /\ (3 точка) [давление (точка, Высокое) /\ (\7' точка', р) давление (точка, Высокое) /\ давление (точка', р) .л Высокое  р) ::::> действие (выключить (насос, насосная  станция (точка»), . (14.5) S. /\ (3 точка) [давление (точка, Низкое) /\ (\7' точка', р) давление (точка, Низкое) /\ давление (точка', р) /\ Низкое $ р) ::::> действие (включить (насос, насоснаястанция (точка»). ( 14.6) Из прямоуroльных вершин, соответствуюших действиям (14.3), (14.4), дуrи ведут вновь в ситуаuию S.. Следовательно, имеем формулы переход (выключить (насос, насоснаястанция (точка», 5.) == 5.. (14.7) переход (включить (насос, насоснаястанция (точка», 5.) == 5.. ( 14.8) Таким образом, мы получили формулы (l4.5) (,14.8) языка лоrики препикатов nepBoro поряпка, аксиоматизируюшие повепенАе оператора сети распрепеления и попачи воды при реryлировании павления в контрольных точках. Две первые формулы включают кванторы. Вслепствие конечноro и сравнительно небольшоro числа контрольных точек эти формулы леrко преобразуются в эквивалентные, не содержащие кванторов формулы, Сначала избавимся от квантора сушествования. В результате получим формулы 330 
14.3. ФормализацUR [5. /\ (давление (ТочкаОI, Высокое» /\ (V' точка', р) (давление (ТочкаОI, Высокое) /\ давление (точка', р) /\ Высокое p) ::> действие выключить (насос, насоснаястанцUR (ТочкаОI»)] v v [5. /\ давление (ТочкаО2, Высокое) /\ (V' точка', р)(давление (ТочкаО2, Высокое) /\ давление (точка', р) /\ Высокое p) ::> действие (выключить (насос, насоснаяJтанцUR (ТочкаО2)))) v v [5. /\ давление (Точка12, Высокое» /\ (V' точка', р)(давление (Точка12, Высокое) /\ давление (точка', р) /\ Высокое p) ::> действие (выключить (насос, насосная JтаlЩUR (Точка  12))) 1; (14.9) [5. /\ (давление (ТочкаОI, Низкое» /\ (V' точка', р) (давление (ТочаОI, Низкое) /\ давление (точка', р) /\ Низкое $.р) ::> действие (включить (насос, насоснаястанцUR (ТочкаОI»)J v v [5. /\ давление (ТочкаО2, Низкое) /\ (V' точка', р)(давление (Точка02, Низкое) /\ давление (точка', р) /\ Низкое $. р) ::> действие (включить (насос, насоснаЯJmанцUR (ТочкаО2)))J v v [5. /\ давление (Точка12, Низкое» /\ (V' точка', р)(давление (Точка12, Низкое) /\ давление (точка', р) /\ Низкое $. р) ::> действие (включить (насос, насоснаястанцUR (Точка12)))J, (14.10) После избавления от квантора общности получим формулы [5. ./\ (давление (ТочкаОI, Высокое» /\ (давление (ТочкаОI, Высокое) /\ /\ давление (ТочкаОI, р) /\ Высокое  р) /\ (давление (ТочкаОI, Высокое) /\ 331 
14. Реализация систем /\ давление (ТочкаО2, р) /\ Высокое  р) /\ /\ (давление (Точка  01, Высокое) 1\ /\ давление (Точка12, р) /\ Высокое p) => действие (вЫl<Лючить (насос, насоснаястанция (ТочкаОI))] v v [5. /\ давление (ТочкаО2, Высокое) /\ (давление (ТочкаО2, Высокое) /\ /\ давление (ТочкаОI, р) /\ Высокое  р) /\ (давление (ТочкаО2, Высокое) /\ /\ давление (ТочкаО2, р) /\ Высокое p) /\ /\ (давление (ТочкаО2, Высокое) /\ давление (Точка12, р) /\ Высокое  р) => => действие (вЫl<Лючить (насос, насоснаястанция (ТочкаО2»J v v [5. /\ давление (Точка12, Высокое) /\ (давление (Точ"а12, Высокое) /\ /\ давление (ТочкаОl, р) /\ Высокое  р) /\ (давление (Точка12, Высокое) /\ /\ давление (Точка02, р) /\ Высокое  р) 1\ /\ (давление (Точка12, Высокое) /\ давление (To'tlCa12, р) /\ Высокое p) => => действие (вЫl<Лючить (насос, насоснаястанция (Точка12))]; (14.11) [5. /\ (давление (ТочкаОI, Низкое» /\ (давление (ТочкаОI, Низкое) /\ 1\ давление (ТочкаОl, р) 1\ Низкое 5. р) 1\ (давление (ТочкаОl, Низкое) /\ /\ давление (Точка02, р) /\ Низкое $ р) /\ (давление (ТОЧК(lОI, Низкое)/\ /\ давление (Точка12, р) 1\ Низкое $р) => действие (вЫl<Лючить (насос, насосная  станция (Точка  01))) ] v 332 
/4.3. ФоРМШlизацUR v (5. 1\ давление (ТочкаО2, Низкое) 1\ (давление (ToIfKa02, Низкое) "- 1\ давление (ТочкаО), р) 1\ Низкое $. р) л (давление (TO"Ka02, Низкое) 1\ 1\ давление (ТочкаО2, р) 1\ Низкое $. р) 1\ 1\ (давление (ТочкаО2, Низкое) 1\ давление (Точка12, р) 1\ Низкое  р) ::::> ::::> действие (выключить (насос, насоснаястанцUR (Точка02»)] v v [5. i\ давление (Точка12, Низкое) 1\ (давление (Точка12, Низкое) 1\ давление (ТочкаО), р) 1\ Низкое $. р) 1\ (давление (Точка12, Низкое) л давление (ТочкаО2, р) 1\ Низкое  р) 1\ л (давление (Точка ) 2, Низкое) 1\ давление (Точка  12, р) 1\ Низкое  р) ::::> ::::> действие (выключить (насос, насоснаястанция (Точка12»)]. (14.12) Каждая из формул (14.11), (14.12) является формулой, состоя'щей из дизъюнкции импликаций, левая часть которых является конъюнкцией цтомов, а правая состоит из одноro атома. Очевидно, что для показательства истинности такой формулы достаточно доказать истинность хотя бы одной импликации. Для доказательства же может быть использовано обобщенное правило модус поненс. Аналоrично можно получить формулы и по остальным схемам ситуаций. Выпишем их без комментариев. 14.3.3. Формулы реryлирования скорости насосов Получение формул реryлирования скорости насосов леrко проследить по рис. 14.7, Имеем 52 1\ (3 насос) [скорость (Станция6, насос, Высокая) 1\ давление (Точка 4, Уменьшается) ::::> действие (включить (насос, Насосная  станция  1 О»], 333 
/4. Реализация систем 52 1\ (3 насос) [скорость (Станция6, насос, Низкая) 1\ давление (Точка4, Неуменьшается) 1\ потребление (Уменьшается) ::::> действие (включить (насос, Насоснаястанция12»], 52 1\ (3 насос) [скорость (Станция6, насос, Высокая) 1\ давление (Точка 4, Неуменьшается) 1\ потребление (Увеличивается) ::::> действие (включить (насос, Насоснаястанция12»], 52 1\ (3 насос) [скорость (Станция6, насос, Низкая) 1\ давление (Точ"а 4, Увеличивается) ::> действие (выключить (насос, Насосная  станция  1 О»], переход (включить (насос, Насоснаястанцuя10), 52) == 52' переход (включить (насос, Насоснаястанция12), 52) == 52' переход (выключить (насос, НасоснаястанцияIO), 52) == 520 14.3.4. Формулы реryлирования уровня воды в резервуарах Получение формул реrулирования уровня волы в резервуарах леrко проследить по рис. 14.8: 5з 1\ уровень (Станцияl, Низкий) ::::> действие (включить (насос, станциязамещения (Стuнцияl) 1\ действие (выключить (насос, СтанцияI), 5) 1\ уровень (Станцuя2, Низкиii) ::::> действие (включить (насос, станциязамещения (Станция2) 1\ действие (выключить (насос, Станция2), 334 
14.4. Выбор cmpamezuu вывода SЗ 1\ уровень (Станцuя12, Низкий) ::::> действие (включить (насос, станцuязамещенuя (Станцuя12) 1\ действие (выключить (насос, Станция12), переход (включить (насос, станцuязамещенuя (Станцuяl), SЗ) == Sз, переход (включить (насос, станцuязамещенuя (Станцuя2), 5з) == 5з, переход (включить (насос, станцuязамещенuя (Станцuя12), 5з) == 53. 14.4. Выбор стратеrии вывода На этом этапе выбирается стратеrия вывода, которая будет использоваться в процессе нахождения areHТOM решений. Рассмотрим, как это делается на примере первой формулы (14.11) из rpуппы формул реryлирования давления в контрольных точках [5. 1\ (давление (Точка  01, Высокое» 1\ (давление (Точка  01, Высокое) 1\ 1\ давление (ТочкаОl, р) 1\ Высокое p) 1\ (давление (ТочкаОl, Высокое) 1\ 1\ давление (Точка02, р) 1\ Высокое p) 1\ 1\ (давление (Т очка  01, Высокое) 1\ 1\ (давление (Точка12, р) 1\ Высокое p)::> действие (выключить (насос, насосная Jтанцuя (Точка  01)))] v [S. 1\ давление (Точка02, Высокое) 1\ (давление (ТочкаО2, Высокое) 1\ 1\ давление (ТочкаОI, р) 1\ Высокое p) 1\ (давление (ТочкаО2, Высокое) 1\ давление (Точка 02, р) 1\ Высокое  р) 1\ 335 
14.5. Реализация Предполаrая, что все остальные формулы имеют такую же структуру и являются аксиомами, опредеЛ}1ЮЩИМИ взаимодействие среды и areHTa, каждый шаr стратеrии вывода можно сформулировать следующим образом. Для всех текущих ситуаций 5;, начиt-tая с начальной, получить восприятие (множество значений входных переменных). Конкретизировать, используя это восприятие, все импликации вида S 1\ а ::J действие (d). I Найти все импли'кации, левая часть которых .s: 1\ а при осущеСТWIенной конкретизации истинна. Для каждой такой импликации считать выведенной ее .правую часть действие (d). Сформировать реакцию areHTa, соответствующую конкретизированным BЫBeдeHHЬJ.M действиям d в правых частях импликаций .s: 1\ а::J действие (d). Использовать конкретизированные выведенные правые чсти (действия) для нахождения следующих ситуаций по формулам переход (d, .s:) == . Очевидно, что эта стратеrия является стратеrие прямоro вывода в ширину на основе обобщенноro правила модус поненс со следующими ОТЛичиями: часть, а может быть и все значения переменных, используемых для конкретизации, берутся из восприятия areHTa, а не аксиоматизируются заранее; процесс вывода может быть бесконечным. 14.5. Реализация На этапе реализации решается множество практических вопросов разработки выбранной архитектуры в виде конкретной проrраммы или аппаратуры. На этом этапе приходится осущестWIЯТЬ выбор инструментальных проrpаммных и аппаратных средств ДЛЯ реализации системы, разработку структуры системы, проrраммирование, отладку. На рис. 14.9 показана структура аппаратнопроrраммных средств, реализующих архитектуру одноаrентной системы на рис. 14J. Блоки системы, показанные на этом рисунке, осущестWIЯЮТ следующие функции, 14.5.1. Блок упраВJJения Телеметрические панные обноWIЯЮТСЯ телеметрической системой сбора и передачи каждые ]0 с. Поэтому блок управления areнтa также оБНОWIяет свое восприятие, получаемое от этой системы, каждые 10 с, синхронизируя это обновление с телеметрической системой сбора и передачи, Делает он это, используя таймер. Блок упраWIениJ.l осушестWIЯет TalQКe запуск проrpаммных блоков системы, показанных на рис. 14.9: интерфейса с телеметрической системой сбора, машины вывопа, архи.ватора, интерфейса с оператором в соответствии с определенной временной диаrpаммой между ДВУМЯ соседними восприятиями. Блок упраWIения также синхронизирует свою работу с дрyrими проrраммами, выполняемыми на том же процессоре (компьютере). 337 
14. Реализация систем Сen. рашределения: и ПОШi'IИ BOlD>l Блок значений Интерфейс с телемerpичеа:ой системой Блок правил Машина вывода Блок управления Архиватор Блок архива Интерфейс с оператором А zeHm Омротор Рис. 14.9. Структура аппаратнопроrраммных среДСТВ, реализующих архитектуру одноаrентной системы упрамения распределением и подачей воды 14.5.2. Интерфейс с телеметрической системeii Телеметрические данные, получаемые телеметрической системой сбора и передачи, запоминаются ею в специальной области телеметрических данных, доступ к которой areHToM осуществляется на основе динамическоrо протокола обмена данными. 338 
Вопросы и упражненеuя 14.5.3. Блок значениА Блок значений хранит значения термов, вычисленных на очередном шаrе вывода. 14.5.4. Блок правил Этот блок содержит все формулы (аксиомы), используемые для вывода. 14.5.5. Блок архива в этом блоке, как и в блоке значений, хранятся значения термов, полученных за несколько предыпуших шаroв вывода. 14.5.6. Машина вывода Этот блок осушествляет вывод, используя значения термов из блоков значений и архива, на основе правил из блока правил. Полученные на очередном шаrе значения термов помешаются в блок значений. 14.5.7. Архиватор Архиватор осушествляет перемещение значений из блока значений в блок архива перед их обновлением в результате вывода и структуризацию этих значений в архиве по времени и типам термов. В случае мультиаrентной системы каждый дополнительный areHT может иметь структуру, аналоrичную структуре paCCMOTpeHHOro areHTa. Если areHTbI взаимодействуют между собой, то для орrанизации 31оrо взаимодействия может быть использован аrентменепжер. Лfенты MOryr взаимодействовать и напрямую, передавая сообщения npyr дpyry, или через общие блоки значений. Вопросы и упражнения 1. Назовите основные этапы реализации мультиаreнтных систем. Какие задачи решаются на каждом ЭТапе? 2. Сформулируйте перечень вопросов, которые MOryr быть использованы для построения схем ситуаций на рис. 14.7, 14.8. 3. Вспомните задачу со средой чудовища, рассмотренную в rлавах 3, 4. В той задаче был только один areHT, целью KOTOpOro являлось нахождение и вынос золота. Чудовище все время находилось в одной и той же ячейке. Изменим условия задачи. Будем считать, что чудовище является вторым areHTOM, способным блуждать по ячейкам по тем же правилам, что И первый areHT, с тем отличием, что он не может определить местонахождение первоro areHтa до тех пор, пока не окажется с ним в одной ячейке. Он не может так же заходить в ячейку с золотом и теряет право перемещаться, как только первый areHT достиrнет ячейки с золотом. Чудовище съедает первоro areHтa, если они оба оказываются в одной ячейке. Лreнты совершают действия по очереди, пока это возможно. Сделайте следующее. 339 
14. Реализация систем а) выберите архитектуру двухаrентной системы для этой задачи; б) постройте схемы СИ1)'аций для каждоro areHтa; В) получите формулы, описывающие поведение каждоro зreнта в среде; r) сформулируйте цель nepвoro areHтa, состоящую в достижении ячейки с золотом; д) используя общий блок значений, покажите, существует ли вывод, в результате KOТOporo первый areHT достиraет Rчейки с золотом (из тoro же начальноro состояния, которое приведено на рис. 2.3), если перывм действие СОвершает первый areHT; е) мформулируйте цель moporo areHтa (чудовища), состоящую в уничтожении или блокировании перемещений nepBoro areHтa; ж) используя общий блок значен'ий, покажите, существует Ли вывод, в результате Koтoporo первый areHT будет уничтожен или заблокирован, если первое действие по прежнему совершает первый areHT. 4. Модифицируйте условия задачи со средой чудовища, введя дополнительную возможность для первоro areHтa застрелить чудовище, если оно находится в соседней ячейке, первый areHT знает об этом и СТОИТ к чудовищу лицом. 
ЗАКЛЮЧЕНИЕ Обсуждается возможность создания думающих машин и не"оторые требовй1ШЯ " мультиаzентнbI.М системам uc"yccmeeHHOi!O интелле"та. .1\ о возможности СОздalOUl думаюlЦJlX машин Предмет искусственноrо интеллекта тесно связан с вопросами, которыми философы задаются на протяжении мноrих веков: «Как работает человеческий мозr?», «Moryт ли животные думать?», «Можно ли создать думающую машину?» или «Может ЛИ машина мыслить?,) и Т.П. Ответы на них волнуют философов и до сих пор. Вопрос же о возможности создания мысй машины тесно связан с искусственным интеллектом, а взrляд на Hero философов и специалистов в области искусственноrо интеллекта зачастую не только неоднозначен, но даже носит антаrонистический характер. В настояшей книre детально не обсуждаются большинство перечисленных вопросов, причины и cyrь упомянyroro антаroнизма. Зю:ронем лишь последний из них, непосредственно связанный с содержанием учебника, а именно: «Может ли машина думать?,) Прежде, чем отвечать на этот вопрос, yrочн.им смысл, вкладываемый 8 слово 4<Думать», Korдa речь lЩет о машине. Например, в нашем индустриальном мире вполне естественно услышать такие фразы: «CaмoJ,leт летаеТ\), «Автомобиль пожираеТ\), ..Корабль плавает., «Компьютер думает,). Здесь rлаrолы «летаеТ\), «пожирает», «плавает,), как и rлаrол «думаеТ\), употребляются применительно к машинам раз.личноrо типа и означают совсеМ не то же самое, что в них вкладывается, Korдa речь lЩет .не о машинах, а О животном или человеке. Так, если мы ,rоворим: «Птица летает», то это более или менее ПОХОже на то, как это делает самолет, но если мы rоворим «Человек пожираеТ\), то зто совсем не похоже на то, как это делает автомобиль, пожирая бензин. Аналоrичная ситуация имеет место при использовании слова «думать,) ПО отношению к человеку и компьютеру. При употреблении всех ЭТИХ слов (думает, летает, плаваеТ, пожирает) по отношению к машинам очень MHoro метафоричности. Korдa мы rоворим: «Мой компьютер тупой. Он слишком долrо думает, ЧТобы с ним можно было нормально общаться,),  то мы совсем не предполаraем, что машина способна быть тупой, как человек, способна думать, как человек, и общаться, как человек. 341 
Заключение Появление у компьютеров свойств, Напоминающих способность думать, относится к 4OM rr. ХХ в. Но если определить способность думать как способность рассуждать и принимать решения с помощью орraническоrо ecтecTвeHHoro мозra, то следует заключить, что компьютеры не MOryт думать. Алан Тьюринr в 1950 r. в своей известной книrе «Вычислительные машины и интеллект» предложил вместо Toro, чтобы спрашивать «Может ли машина думать?,),  разработать для нее некоторый тест на интеллектуальность. Он предположил, что к 2000 r. компьютер с памятью 109 бит можно будет достаточно хорошо запроrpаммировать, чтобы создавалось впечатление, что он думает. И это оправдалось. Тьюринr также рассмотрел широкий спектр возражений, касающихся возможности создания интеллектуальных (думающих машин). Несмотря на то что эти возражения относились к середине 40x rr. ХХ в., некоторые из них не сняты до сих пор. Рассмотрим ряд этих возражений, Неспособность к творчеству Под неспособностью к творчеству понимается отсутствие у машины способности придумать чтонибудь заново, без указания свыше от проrpаммиста, Самостоятельно накапливать и обобщать данные, получаемые в процессе наблюдения за средой. В настоящее время это возражение ОПроверrается, например, созданием современных проrpамм для иrры в шахматы, способных самостоятельно совершенствовать свою иrру, начиная с относительно слабой квалификации. Нecnосolвocть lIpODЛJIТЬ человеческие чyвcтu Под этой неспособностью понимается отсyrствие у машины проявлений доброты, дружбы, инициативы, юмора, склонности ошибаться, любить, радоваться, размышлять о себе и т.п. Возражения по поводу неспособности машины проявлять человеческие чувства во мнотом основаны, даже на современном этапе ИХ развития С непониманием или неверием даже технически образованных людей в способности машин извлекать с помощью датчиков, имитирующих opraHLI чувств человека, информацию из окружающей среды, а также воздействовать на среду с помощью своих исполнительных opraHoB подобно человеку. На современном уровне развитиЯ' компьютеров мноrие человеческие чувства достаточно хорошо ими имитируются. Конечно, до создания полноrо прототипа человека с ero эмоциональным миром еще очень далеко, но это не кажется чемто нереальным. Неспособность отвеча.... На определенные вопросы Чаще всею это возражение основывают на так называемой теореме fеделя о неполноте формальных систем (исчислений). Суть этой теоремы состоит в том, что в любой непротиворечивой лоrической теории (формальном языке, множествах аксиом и правил вывода) можно сформулировать истинное предложение, которое в ней недоказуемо, Т.е. недоказуемо с использованием только исходных аксиом и правил вывода. 342 
Неспособность отвечать на определенные вопросы Более детально теорема rеделя о неполноте может быть пояснена на примере лоrической теории натуральных чисел. В этой теории имеется единственная константа О и единственная функция f, такая, что 1(0) == 1,/(/(0» == 2, 1([([(0))) == 3, ... Язык лоrической теории натуральных чисел содержит также символы арифметических операций и обычный набор связок и кванторов. Любое множество А истинных предложений а в языке этой лоrической теории можно пере нумеровать. Для этоrо достаточно упорядочить в лексикоrрафическом порядке сначала предложенИЯ длины 1, затем 2 и Т.д., а затем присвоить каждому из предложений а уникальный номер #а, который обычно называют rеделевским номером предложения. Доказательно теоремы fеделя в полном виде является достаточно сложным. Но вполне убедительным рассуждением, свидетель ствующим о ero справедливости, является следующее. Предположим, что мы имеем множество А истинных предложений (высказываний) относительно натуральных чисел. Помня, что каждое предложение а Е А ИМеет уникальный номер #а, обозначим #А множество всех номеров предложений, входящих в А. Пусть а(#Ь, А) означает следующее истинное высказывание: для доказательства предлож.ения Ь с номером #Ь недостаточно только аксиом рассматриваемой лоrической теории. Пусть теперь Ь == а( #Ь, А) и Ь Е А, тоща предложение Ь утверждает собственную недоказуемость 11 является истинным в данной лоrической теории. Допустим, что утверждение Ь доказуемо с использованием только аксиом этой теории. Тоша наше исходное утверждение ложно. Следовательно, ложное предложение Ь доказуемо в нашей теории. Но Ь Е А, а это означает, что А состоит не только из истинных предложений. Это противоречит определению А. Следовательно, Ь недоказуемо в нашей лоrической теории. Но это именно то, что утверждает Ь. Значит, предложение Ь истинно. Поведение компьютера может быть представлено внекоторой лоrической теории, поэтому на основе теоремы fеделя о неполноте лоrических систем можно заключить, что вcerдa найдутся задаваемые маШИНе вопросы, истинность которых она установить не сможет. Это, конечно, справедливо. Но точно так же это справедливо и по отношению к человеку, если считать, что при решении проблемы (доказательстве теорем) он использует одну лоrическую теорию. На самом деле наша интуиция подсказывает, что человек использует не одну лоrическую теорию, а целый спектр теорий. При не возможности доказать теорему в одной из них он переходит к дрyrой, затем, если с tiей ничеrо не получаетсЯ,  к третьей и Т.д. ДО тех пор пока не удастся наткнуться на лоrическую теорию, которая ПОзволяет осуществить доказательство. Не видно никаких препятствИЙ компьютеру делать то же самое, перебирая или конструируя новую лоrическую теорию в попытке доказать теорему (ответить на вопрос). Мы затронули незначительную часть возражений, касаюшихся возможности создания думающих машин. fрубо Все возражения можно поделить на те, которые выражают сомнения в технической осуществимости думаюших машин, и те, которые выражают принципиальную невозможность создания чеrото эквивалентноro по силе человеческому мозrу. Первые из этих возражений даже на основании тoro, что уже было сказано, не очень убедительны и чрезмерно пессимистичны. Зачастую, они высказываются людьми, не очень сведущими в 343 
Заключение теории искусственноrо интеллекта и COBpeMeHOM уровне технолоrическоrо развития ЭJjементной базы компьютеров. Возражения второro рода на наш взrляд также недостаточны. Зачастую их невозможно опроверrнуть, но. точно так же неl}ЗМОЖНО СтРОЮ доказать. К счастью, в наше время все эти возражения практически не сказываются на развитии как практики, так и теории искусственноrо интеллекта. И одна из важнейших тенденций ero развития в ближайшем будушем  это развитие мультиаrентных систем. Какими же rлавнейшими особенностями эти мультиаrентные системы должны обладать? Особенности мул.тиаrelП1lWX систем Мультиаrентные системы должны помоraть человеку в решении сложных интеллеК1)'альных задач и не проявлять своенравия в поведении там, rдеэтоro от них tfe требуется. Для этоrо они должr-tы удовлетворять ряду необходимых требований. Найболее значимыми из них являются следующие три. AreHT должен вести себя рационально. Под I'IIl(ilOHllAlIll6lAf IIofleiJeHlleJtl понимается такое поведение areHтa, Korna на любое восприятие ero реакция является рациональной. Это очень расплывчатое определе-ние. Что такое рациональное повtдение и реакция  определяет конструктор areнтa. Будем Полаraт-ь, Что он ЭТо может 8Cerna сделать. Конечно, рациональность поведения зависит от типа среды и цели, поставленной аrеН1У KOн.cТPS'IcrOpOM. Если areHТY поставлена цель ухаживать за raзоном, ТО ero поведение, Korдa он вместо тoro, чт06ы подстриrать rазон, начнет копать ямы на нем, не можеТ СЧИТаться раuиональнЫм. Лrент должен иметь такую стратеrию вывода, которая расходует время, необходимое для вычисления, рационально. Это требование менее субъективно, чем предьшушее. Зачастую 1'1Il(1I0ll1uMыi I'lIcxoiJ H" требует компромисса межлу качеством решения и расходуемым временем. Иноrда расход времени на вывод считается рациональным, если он не превосходит HeKoToporo предела. Зачастую рациональным расходом времени считается такой расход, при котором поВедение areHтa происходит в реальном времени. Обычно, ЭТО означает, что среда является динамической и ее состояния изменяются чеptз определенные интервалы времени. Лrент лолжеН воспринимать (распознавать) каЖдое из этих изменяюшихся во времени состояний среды и успевать вырабатывать реакцию не позже, чем этот интервал закончится. Лrент должен иметь рациональную СЛОЖНОСТh реализации. pIIl(801f1uыlиI С40жностъ petl.4l1311qllll предполаraет, что число единиц (лоrнческих элементов, проrраммных команд, процессоров и Т.п.), необходимых конструктору для создания areHтa, либо оптимально, либо не превосходит не которой величины, либо еще какимлибо образом оценивается. Для Toro чтобы можно было сконструировать areHTa, удовлетворяюшеro перечисленным требованиям, необходимо иметь инструментарий, в основе Koтoporo лежат соответствуюшие теоретические положенИЯ. Часть из них рассмотрена в настоящей книrе. Чем сложнее среда, с которой имеет дело аrент, тем сложнее структура ero знаний и тем выше требуемый тип areHтa. Лrент caMOro простоrо типа (комбинационный), выдает реакцию в тот же момент времени, в который он осушествил восприятие. Поэтому, если в задачу конструктора входит создание areHтa, поведение KOТOporo 344 
Особенности мультиаzентных систем ДОЛЖНО про исходить в реальном времени, то комбинационные и последовательностные areHTbl  это то, что надо. Однако следует иметь в виду, что как для четких, так и нечетких сред это можеТ привести к увеличению сложности реализации. Если же среда и структура знаний о ней очень сложные, то представление этих знаний в виде, который требуется для комбинационноrо и последовательностноrо areHTa, может оказаться непростым или даже невозможным делом. Тем не менее, в любом случае путь от нерациональноrо расхода времени целенаправленными или целеустремленными аrентами Лежит в направлении «переписывания» всей или части их базы знаний на язык комбинационных или последовательностных areHToB с учетом требований рациональноrо расхода времени и рациональной реализации. Это «переписывание» связано с определенной структуризацией знаний, с распределением задач между отдельными параллельно функционирующими аrентами, с введением не которой иерархии и координаuией поведения areHТOB метааrентами. В заключение хотелось бы сказать, что в настояшее время уже появился современный инструментарий и технолоrии, используюшие языки лоrических исчислений для разработки онтолоrий и функционирующих на их базе мультиаrентных систем. Предлаrаемая читателю книrа является введением в теоретическую подоплеку этих раЗ8Ивающихся технолоrий, яркую перспективу которых в настоящее время уже никто не оспаривает. И наконец, автор считает своим долrом отметить, что на стиль изложения материала книrи и выбор ее содержания оказала больщое влияние книrа Стюарта Русселя и Питера Норвиrа «Искусственный интеллект. Современные методы». 
Список литературы 1. Братко И. Проrpаммирование на языке Пролоr для искусственною интеллекта: Пер. с анrл. М.: Мир, 1990. 2. Fаврилов М.А.,Девятков В.В., Пупырев Е.И..лоrическое:проектирование дискретных автоматов. Языки, методы, алrоритмы. М.: Наука, 1977. 3. Клини С Математическая лоrика: Пер. с анrл. М.: Мир, 1973. 4. КовалЫ:ки Р. Лоrика в решении проблем: Пер. с аНrЛ. М.: Наука, 1990. 5. Лоrический подход к искусственному интеллекту. от классической лоrики к лоrическому проrраммированию/ А. Тэйс, П. rрибомонт, Ж. Луис и др.: Пер. с фр. М.: Мир, 1990. 6. Лоrический подход к искусственному интеллекту. От модальной лоrики к лоrике баз данных/А. Тэйс, П. fрибомонт, [. Халин и др.: Пер. с фр. М.: Мир, 1998. 7. Лорьер Ж.л. Системы искусственноrо интеллекта: Пер. с фр. М.: Мир, 1991. 8. Малnас Д. Реляционный язык Пролоr и ero применение: Пер. с анrл., М.: Наука, 1990. 9. Новиков И.С Элементы математической лоrики. М.: Физматrиз, 1959. 10. Переверзев В.Н Лоrистика. Справочная книra по лоrике. М.: Мысль, 1995. 11. Поспелов Д.А. Ситуационное управление. Теория и практика. М.: Наука, 1986. 12. СтерлиНi! л., Шапиро Э. Искусство проrpаммирования на Языке Пролоr: Пер. с анrл. М.: Мир, 1990. 13. Хоееер К Введение в лоrическое проrpаммирование: Пер. с анrл. М.: Мир, 1988. 14. Rich Е., Knight К Artificial Intelligence. McGrawHiII, New York, 1991. 15. Winston Р.Н. Artificial IntelIigence. AddisonWesley, Reading, Massachusetts, Third Edition, 1992. 
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ А A* поиск 148 AreHT 11 Аксиома 59  оrpаничений 311 Алфавит 24 Аналитик 318 Аномальное нечеткое множество 243 Атом 55 . Атрибyr 221, 246 Б База данных 222  знаний 89 Базовое множество линrвистических значений 264 Базовые  аксиомы 213  клаузы 97  правила 213 Библиотечная функция 156 в Введение квантора существования 68 Вершина восприятия 318  реакции 318  СИ1)'ации 318 Взаимное исключение ДОС1)'па к критической секции 192 Включение 244 Внешнее состояние 157 Внутреннее состояние 157 Внyrpeнний алфавит 106 Возможность достижения цели 137 Восприятие 14, 318 Время 160 Входная переменная 14, 195 Входной алфавит 106 Вывод 23 Выводимость 29, 59 Выполнимая формула 29 Выполняемая последовательность 194 Выпуклое нечеткое множество 243 Выходная переменная 14 Выходной алфавит 106 д Датчик 13 Двойная индукционная аксиома 240 ДвунапраWlенный поиск 145 ДедтlOК 188, 202 Дедуктивная база данных 231 Действия 16, 158 Дейталоr 230 Дейталоrправила 230  проrpамма 230 Детерминизация 116 Детерминированная среда 17 Динамическая среда 17  формула 182 Дискретная среда 17 Добавочная переменная 195 Доведение до противоречия 99 Домен 221, 246 Дополнение 244, 249 Допустимая выполняемая последовательность 196 Допустимая последовательность действий 136 Допустимое вычисление 196 Допустимый критерий 148  процесс 185 З Заключение 28 Запрос 230 Законы лоrики высказываний 28 Замена переменной 83 Знания 14 и Измеритель меры 159 Импликативная формула 28 347 
Предметный указатель Импликация 28 Имя схемы отношений 222, 246 Инвариантные свойства 197 Индивидная переменная 52 Индивидуальный предикантный символ 67 Индукционная аксИ,ома 169 Инициализируемое вычисление 196 Инициальное детерминированное ситуационное исчисление 167 Интенсионал 231 Иmeрвал 40  значений 308 Интервальная форма 40 Интервью 318 Интерпретация 25, 59 Исключение кваIПора общности 67   существования 67 Искусственный интеллект II Исполнительный opraH 13 Истинностные значения 26, 52 Исчисление 30  высказываний 30 Итеративный поиск в rлубину 144 к Катеroрия 154  действий 168  объектов среды 168  ситуаций 168 Квантор 55  общности 56  существования 56 Классическая формула 184 Классическое исчисление высказываний 30 Классическое исчисление предикатов 65 Клауза 97 Клаузальная форма 97 Комбинационный areHT 14 КомпетеIПные вопросы 308 348 Конкретизация 26, 222, 246  переменной 83 Конкретизированная схема отношений 222, 246 Конституента 33 Концептуализация 304 Коньюнктивная нормальная формула 97 Критерий 146 Критическая секция 192, 202 Критическая ссылка на переменную 189 Критическое событие 189 л Линrвистическая переменная 264 Линrвистическое значение переменной 264 Литерал 55, 59 Лоrистика 13 Лоrическое исчисление 30 Локальный оптимум 151 м Макроситуация 157 Материализация катеroрии 154 Ментальные объекты 154 Мера 159 Микровосприятие 14 Микрореакция 14 Микроситуация 157 Минимальность 137 Мноrоаrентная система 316 Мноrоместный предикат 60 Модальность 180 Модель 29, 59  парЗJUlельных процессов с распределяемыми переменными 185 Модельные аксиомы 213 Модифицирующая ссылка 189 Монотонный критерий 149 Мультиаrентная система 316 
Предметный указатель Операция концентрирования 273  следования 250  растяжения 273 Опровержение 99 Оптимальность 137 Основа 243  схемы отношений 222, 246 Останов 202 Orвeт на запрос 230 Orношение достижимости 181 Orношение эквивалентности 108 Оценочная функция 106 н Направленный поиск 137 Натуральное исчисление высказываний 31 Начальная ситуация 159 Начальное состояние 21. 106, 136 Начальный нетерминальный символ 129 Невыполнимая формула 29 Недетерминированный автомат 118 Недетерминированная среда 17 Неклассическое исчисление 67 НеПОЛНая база данных 248 Неполное исчисление 93 Непрерывная среда 17 Непротиворечивое исчисление 93 Непротиворечивость 108 Нетерминал 128 Нетерминальная nporpaMMa 198 Нечеткая база данных 247  лоrика 243  схема отношений 247 Нечеткозначное исчисление 259 Нормальное множество 243 Нормальная схема отношений 247 о Обобщенная нечетная схема отношений 247 обобщенная резолюция 96 Обобщенное правило модус поненс 83 Обратный вывод 89 Общая цена 137 Общезначимость 59 Общезначимая формула 27 Объединение 244, 250 Объектная константа 52, 54  переменная 52. 53 Оrpаничение целостности 239 Оtpаниченный поиск в rлубину 143 Одноместный предикат 60 Ожидающее место 202 Онтолоrия 303, 304 п Переименование переменной 83 Пересечение 244. 250 ПЛан 291 Подцелевая формула 89 Поиск 23  в rлубину 142  в ширину 138 Полная база данных 248  конъюнкция 33  стратеrия вывода 93 Полное исчисление 93  состояние 157 Полнота 108, 137 Порождающее правило 129 Последовательностный areHT 11 Постановка задачи 23 Правила 59  введения кванторов 66  вывода 29  единственности критической ссылки 190  перехода 279 Правильно построенная формула 25 Предикат 52 Предикатный символ 55 Предметная переменная 52 Предусловие входных переменных 196  nporpaMMHblX переменных 196 Принцип обобщения 244 Принципы планирования 291 349 
Предметный указатель Сепарабельная схема отношений 247 Синтаксис 24 Синтаксические правила 264 Ситуационное исчисление 168 Ситуация 158, 194 Следствие 30 Слепой поиск 137 Сложность по времени 137 Сложность по памяти 137 Соrласованные схемы 261 Сорт 156 Сортовая катеrория 156 Состояние 18, 157, 194  базы 222, 246  нечеткой базы данных 247  среды 18 Состоятельные правиЛа 30 Справедливая отзывчивость 213  последовательность 195 Справедливость 193 Среда 13 Ссылка доступа кпеременной 189 Стандартный предикат 156 Статическая среда 17  формула 181 Степень ветвления 82  истинности 243  совместимости 245  уверенности 243 Стратеrия поиска 23, 137  цели 136 Строка таблицы 222 Существенные переменные 39 Схема ситуаций 318  отношений 222, 246 Проблемноориентмрованный язык 262 Проrpамма 185 Проrpаммная переменная 195 Проrpаммные аксИомы 214 Простая формула 171 Пространство состояний 136 Противоречивое исчисление 93 Процент уверенности 267 Прямой вывод 89  нечеткий вывод 246 Путь 136 р Равенство 58 Радиус поиска 143 Распознающий автомат 131 Распределяемое множество переменных 185 Рассуждение 20, 23 Рациональная сложность реализации 344 Рациональное поведение 344 Рациональный расход времени 344 Реакция 13, 318 Реализация множества последовательностей автоматом 107 Реryлярность 108 Резольвента 96 Рекурсия 235 Реляционная база данных 230, 246 Решатель 14 с Свободная переменная 57 Свойства доступности 205 Свойство безопасности 21 О  беступиковости 205  отзывчивости 206, 211  предшествования 209  проrpаммы 196 Связанная переменная 57 Семантика 24 Семафор 190 350 т Таблицы истинности 26 Теорема 59 Терм 54, 176, 231 Терминал 128 Терминальная проrpамма 198  алфавит 128 Транзитивное замыкание 241 Т риrrер 227 Триrrерное событие 227 
у Предметный указатель х Универсальное множество 243 Универсум 243 Унификация 84 Унифицированная формула 84 Условие 30 Условное предшествование 212 ф Факт 59 Финальное состояние 131 Формальная rpамматика 129 Формальный язык 24 Формула 25  нечеткозначноrо исчисления 259  временной модальной лоrики 184 Формулировка цели 22 Функторная функция 168 Функторный предикат 168 Функциональный символ 54 Функция 54  выходов 106  переходов 106  Сколема 103 Хорновские формулы 84 ц Uелевая формула 59 Uелевыбираюший areHT 16 Uелевые состояния 22 Uеленапраменный areHT 15 Uель 59 иена поиска 137 э Эксперт 318 Экспоненциальная оценка сложности 139 Экстенсионал 231 Элементарная конъюнкция 32 Элементарный терм 54, 96 я Ядро 243 Язык 107 , порождаемый rpамматикой 130 
Учебное издание Информатика В техническом уннверситете ДевJП1(6В Владимир ВалеlПИНОВИЧ сиcfEмы искусcrвЕнноrо ИНТЕЛЛЕКТА Редактор F.A. Нилова Художник СС: Водчиц Корректор о.ю. Соколова Компьютерная верстка Н.Ю. Луканиной ИЗд. лиц. ЛР NQ 020523 от 25.04.97 r. Подписано в печать 17.01.01. Формат 70xI00/16. Печать офсетная. Бумаra офсетная. rарнитура ..Таймс... Усл. печ. л. 28.38. Уч.изд. л. 29. Тираж 3000 экз. Заказ N.! 1141 И:шатепьство MlТY им. Н.Э. Баумана. 107005, Москва, 2я Бауманская ул., Д. 5. Orпенатано с ориrиналмакета в ППП ..Типоrpафия ..Наука... 121099, Москва, Шубинский пер., 6.