Министерство образования и науки Российской Федерации Балтийский государственный технический университет «Военмех» Кафедра информационных систем и компьютерных технологий А.Н. ГУЩИН, И.А. РАДЧЕНКО ЭКСПЕРТНЫЕ СИСТЕМЫ Учебное пособие Санкт-Петербург 2007 УДК 681.3.06 Гущин А.Н., Радченко И.А. Экспертные системы: учебное пособие / А.Н. Гущин, И.А. Радченко; Балт. гос. техн. ун-т. — СПб., 2007 — с. В данном учебном пособии в краткой форме изложены основные понятия, характеристики, а также принципы устройства и функционирования экспертных систем и систем представления знаний. В пособии содержится большое количество иллюстраций и таблиц, что будет полезно студентам при изучении дисциплин «Языки программирования в интеллектуальных системах» и «Моделирование систем представления знаний», как в рамках теоретического курса, так и при выполнении практических работ, предусмотренных учебной программой. Пособие предназначено для студентов, обучающихся по специальности «Автоматизированные системы обработки информации и управления» и «Информационные системы и технологии». УДК 681.3.06 Р е ц е н з е н т доц. Т. Павловская Утверждено редакционно-издательским советом университета © БГТУ, 2007 © А.Н. Гущин, И.А. Радченко, 2007 2 ВВЕДЕНИЕ Как известно, одной из наивысших человеческих способностей является генерация знаний, в особенности новых знаний. В недалеком прошлом считалось, что это доступно только естественному интеллекту. Однако в связи с развитием за последние десятилетия технической и информационной среды для существования искусственного интеллекта, проблема генерации новых знаний может решаться на автоматизированной основе. Одним из наиболее развитых типов интеллектуальных систем являются экспертные системы, при изучении которых важным является представление структуры экспертных систем и их классификация, принципы построения и технология их разработки, представление знаний в экспертных системах и достижение целей. При этом особое внимание уделено рассмотрению продукционных экспертных систем. В данном учебном пособие дается общее представление об экспертных системах и о методах поиска и извлечения знаний. Пособие состоит из пяти глав. В первой главе дается общая классификация экспертных систем. Во второй главе рассказывается об общих принципах построения экспертных систем. В третьей главе представлены модели представления знаний. В четвертой главе рассмотрены методы эвристического поиска. В пятой главе даны методы формализации знаний о предметной области. В библиографический список включена литература, рекомендуемая для детального изучения тематики экспертных систем. 3 1. КЛАССИФИКАЦИЯ СИСТЕМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА Экспертные системы (ЭС) являются одним из уже реализованных видов систем, получивших общее название «систем искусственного интеллекта». Под системой искусственного интеллекта понимают программную систему, имитирующую на компьютере мышление человека. Существующие в настоящее время системы искусственного интеллекта можно условно разделить следующим образом. 1. Системы восприятия и распознавания образов. Предназначены для преобразования исходных данных, поступающих в информационную систему по каналам восприятия, в образы, которыми может оперировать данная система. Наиболее важными для человека источниками информации являются органы зрения и слуха. Техническими аналогами глаза являются системы технического зрения (телекамеры, лазерные координаторы). Технические слуховые системы реализуются с помощью различных микрофонов. Однако системы распознавания образов могут работать и с информацией, недоступной для непосредственного восприятия человеком: например, системы распознавания радиолокационных или инфракрасных образов, системы распознавания гидроакустической информации. 2. Системы автоматического доказательства теорем и решения задач. Одной из первых областей применения систем искусственного интеллекта были задачи автоматического построения вычислительной процедуры (такие системы называются автоматическими решателями задач) и задачи автоматического доказательства теорем. В процессе создания таких программ были более глубоко изучены и получили дальнейшее развитие теории доказательств и эффективных методов их построения. 3. Системы управления. Системы с элементами искусственного интеллекта используются для автоматизации различных технологических процессов (управление роботами, роботами-манипуляторами, автопилоты) и других задач управления сложными техническими системами. 4 4. Системы решения игровых задач. Игры, характеризующиеся четкими правилами и конечным числом ситуаций, являются хорошей сферой применения дедуктивных методов. Широко известны системы, способные самостоятельно играть в интеллектуальные игры (например, шахматы). 5. Экспертные системы. Реализация при помощи компьютера процесса принятия решений специалистом в некоторой предметной области (экспертом – специалистом очень высокого класса). Приведем формальное определение экспертной системы: Экспертная система – это программа для компьютера, которая оперирует со знаниями в определенной области с целью выработки рекомендаций или решения проблем. Важной особенностью экспертных систем является изначальное их предназначение для использования человеком и оказания ему эффективной помощи. Необходимым средством для этого является возможность диалога на естественном языке программы со специалистом. Кроме того, необходимо, чтобы специалист понимал систему и в случае необходимости мог сообщить ей свои рассуждения и «убедить» ее в их справедливости. Для этого нужно, чтобы декларативные знания, используемые системой, были отделены от обслуживающих их программных средств и в то же время были доступны самой системе. Необходимо также, чтобы выводы системы были простыми и устойчивыми и их можно было легко объяснить. И самое главное состоит в том, чтобы специалисты и эксперты могли легко передавать системе свои знания, обогащать ее. Для этого нужно иметь возможность вводить в систему знания в произвольном порядке, чисто описательным способом (не ориентируясь на их будущее использование, в отличие от классических жестких алгоритмических процедур). Сама система должна уметь упорядочивать и структурировать эти знания, сравнивать их с уже имеющимися и строить свою собственную модель знаний. Смена поколений вычислительной техники приравнивается к очередной научно-технической революции, и это не преувеличение. 5 С компьютеров появлением нового поколения не только стал решаться принципиально новый класс задач во всех отраслях науки и техники, но и существенно расширяются возможности при решении прежних традиционных задач на новом, более качественном, уровне. Более высокий качественный уровень в решении задач предполагает, прежде всего, обеспечение необходимой и достаточной интеллектуальной поддержкой. Интеллектуализация информационно-вычислительных систем (ИВС) имеет в виду использование не только нового поколения инструментальных средств, но и нового поколения математического, алгоритмического и программного обеспечения. Информационно-вычислительные системы с интеллектуальной поддержкой, как правило, применяются для решения сложных задач, где логическая (смысловая) обработка информации превалирует над вычислительной. Примерами подобных задач являются: 1. понимание и синтез текстов на естественном языке (ЕЯ); 2. понимание и синтез речи; 3. анализ визуальной информации; 4. управление роботами; 5. анализ ситуаций и принятие решений. В последние десятилетия подобные системы получили значительное распространение в мире. 1.1. Определения и классификации в теории интеллектуализированных систем Прежде всего, уточним определение системы с элементами искусственного интеллекта и понятия «интеллектуальной системы» и «интеллектуализированной системы». Интеллектуальная система — 1. Это информационно- вычислительная система (ИВС) с интеллектуальной поддержкой при решении задач без участия оператора (лица, принимающего решение — ЛПР). 2. Это ИВС с интеллектуальной поддержкой при решении задач с 6 участием оператора — ЛПР. 3. Система, способная самостоятельно принимать решения. Под способностью системы самостоятельно принимать решение необходимо понимать способность системы получать и анализировать информацию, понимать ее и делать новые выводы (пополняя ее), формулировать заключения, т.е. «мыслить», помогая естественному интеллекту — человеку, который, в свою очередь, корректируя, «улучшает» принятое интегрированное решение. Здесь следует оговорить, что существуют автоматы или просто механическое или электронное реле, которые реагируют на наличие или отсутствие сигнала или при контроле параметров работают по принципу «годен — негоден». Это тоже принятие решения, однако, отнесем их к ИВС с низким уровнем «интеллектуализации». Под интеллектуализированной системой (ИнС) будем понимать систему, способную принимать решение в условиях: — необходимости обрабатывать и анализировать большой массив информационной базы данных; — ограниченной информации; — неопределенности; — многомерного пространства; — необходимости распознавать ситуацию (образы, сцены и т.д.); — различных стадий жизненного цикла объектов (процессов); — проектирования, производства, эксплуатации; — динамических, эволюционизирующих, нестационарных фактов, влияющих на решение задачи; — формализации и представления знаний; — адаптации, самообучения, самоорганизации и т.д. Таким образом, если ИВС имеет необходимую математическую, алгоритмическую, программную и инструментальную поддержку в принятии решения в перечисленных условиях, то будем считать, что она имеет 7 интеллектуальную поддержку при решении широкого класса разнообразных задач. Иными словами, можно формально записать: ИнС = <МО, АО, ПО, ИО>|(А, В, …, И), где МО, АО, ПО, ИО — соответственно математическое, алгоритмическое, программное и инструментальное обеспечение; <>|() — означает при условии. Все существующие ИнС можно разбить на два класса: общего назначения и специализированные. К ИнС общего назначения отнесены те, которые не только исполняют заданные процедуры; но на основе метапроцедур поиска генерируют и исполняют процедуры решения новых конкретных задач. Технология использования таких систем состоит в следующем. Пользователь-оператор (эксперт) формирует знания (данные и правила), описывающие выбранное приложение (прикладные задачи, предметную область). Затем на основании этих знаний, заданной цели и исходных данных метапроцедуры системы генерируют и исполняют процедуру решения конкретной задачи. Эксперты, вторичные источники Знания, описывающие предметную область Заданная цель Метапроцедуры Генерация и процедуры исполнения задачи 1 Задачи 2 Исходные данные Задачи 3 Рис. 1. Технология использования ИнС общего назначения (инженерия знаний) Данную технологию называют технологией систем, основанных на знании, или технологией инженерии знаний (рис. 1). 8 К специализированным ИнС отнесены те, которые выполняют решение фиксированного набора задач, предопределенного при проектировании системы. Для использования таких систем требуется наполнить их данными, соответствующими выбранному приложению (прикладным задачам, предметной области). До недавнего времени при разработке специализированных ИнС использовалась технология традиционного (процедурного) программирования, что позволяет обеспечить их высокую эффективность (рис. 2). Процедурное программирование задачи 1 Исходные данные Процедурное программирование задачи 2 Исходные данные … Процедурное программирование задачи N Исходные данные Рис. 2. Традиционный подход к разработке специализированных ИнС (с использованием процедурного программирования) Однако эта технология существенно ограничивала способность ИнС к изменению их поведения при изменяющемся окружении, что крайне важно при решении многих интеллектуальных задач. В связи с этим в последнее время для устранения этого недостатка отдельные виды ИнС (системы речевого общения, обработки изображений и т.д.) стали разрабатывать, используя технологию инженерии знаний, в виде ЭС. Примерами специализированных ИнС являются интеллектуальные диалоговые системы и прикладные ЭС. Так как терминология в области разработки ИнС находится на стадии формирования, для ясности определим основные термины. Предметная область — объектно-ориентированным образом выделенная и формально описанная область человеческой деятельности 9 (множество сущностей, описывающих область исследования или экспертизы). Проблемная область — предметная область плюс совокупность решаемых в ней задач. Неформализованные задачи — задачи, которые обладают одной или несколькими из следующих характеристик: 1. они не могут быть заданы в числовой форме, т.е. задаются в качественном виде или в терминах теории нечетких множеств; 2. цели не могут быть выражены в терминах точно определенной целевой функции; 3. не существует алгоритмического решения задач; 4. алгоритмическое решение существует, но его нельзя использовать из-за ограниченности ресурсов (время, память). Экспертная система (система, основанная на знаниях, СОЗ) — сложный программный комплекс, аккумулирующий в формальном виде знания специалистов в конкретных предметных областях. Пользователь (конечный пользователь) — лицо, для которого предназначена система. Инженер по знаниям (когнитолог, инженер-интерпретатор) — специалист по ИИ, выступающий в роли промежуточного буфера между экспертом и базой знаний. Эксперт — высококвалифицированный специалист, согласившийся поделиться опытом в рассматриваемой предметной области. Интерфейс пользователя — комплекс программ, реализующих диалог пользователям с ИнС на всех стадиях функционирования ИнС. База знаний (БЗ) — ядро ИнС, совокупность знаний предметной области, записанная на машинный носитель на языке представления знаний (обычно приближенном к естественному). 10 Решатель (машина логического вывода, дедуктивная машина, интерпретатор) — программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ. Подсистема объяснений — программа, позволяющая пользователю получать ответы на вопросы: как была получена та или иная рекомендация и почему система приняла такое решение? Технология синтеза ЭС — технология создания на основе знаний экспертов систем, решающих неформализованные задачи в слабоструктурированных предметных областях. Существует порядка 8—10 типовых задач (табл. 1), для которых использование технологии ИнС приносит значительные результаты. В общем случае все ИнС можно подразделить на решающие задачи анализа и на решающие задачи синтеза. Примерами задач анализа являются задачи интерпретации данных и диагностики. Примерами задач синтеза являются задачи проектирования и планирования. Комбинированные задачи — задачи обучения, мониторинга, управления. Таблица 1. Типы задач, решаемых ИнС Тип задачи Интерпретация Определение (адресуемые задачи) Процесс определения смысла данных (построение описаний по наблюдаемым данным) Диагностика Процесс обнаружения неисправностей (в технике и в живых организмах) Слежение (мониторинг) Непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходах параметров за допустимые пределы Прогнозирование Предсказание будущих событий на базе моделей прошлого и настоящего (вывод вероятных следствий из заданных ситуаций) Планирование Конструирование плана, т.е. программы действий Проектирование Построение спецификаций на создание объектов с заранее Отладка, ремонт определенными свойствами Выработка рекомендаций по устранению неисправностей Обучение Диагностика, интерпретация, планирование, проектирование Управление Интерпретация, прогноз, планирование, моделирование, оптимизация выработанных решений, мониторинг На рис. 3 — 6 представлены наиболее классификаций ИнС. 11 распространенные типы Существуют и другие классификации ИнС: — по предметной области (медицина, геология, авиация и т.д.); Демонстрационный (50 — 100 правил, 3 мес.) Прототипы Исследовательский (200 — 500 правил, 1-2 года) ИнС Действующий (500 — 1000 правил, 2-3 года) Промышленные системы (500 — 1500 правил, 2-4 года) Коммерческие системы (1000 — 3000 правил, 3-5 лет) Рис. 3. Классификация ИнС по степени реализации (стадиям существования) Поверхностные (используют знания в виде правил типа «условие —> действие») ИнС Глубинные (используют более сложные модели представления знаний) Рис. 4. Классификация ИнС по степени сложности — по моделям представления данных (продукционные, фреймовые и др.); — по типу вывода (прямого или обратного); — по типу компьютеров (персональные компьютеры, сетевые сервера, универсальные высокопроизводительные компьютеры — мейнфреймы, кластерные системы и суперкомпьютеры. Ранее было распространено деление на малые, средние, большие компьютеры). Следует отметить, что подавляющее число ИнС, используемых для решения практически значимых задач, являются интегрированными, т.е. состоящими из традиционной ИнС и других программных систем (рис. 5), с которыми ИнС взаимодействуют в процессе работы (СУБД, пакеты прикладных программ (ППП), электронные таблицы и т.д.). Базовой проблемой в таких ИнС является проблема интеграции, которую можно рассматривать с точки зрения следующих аспектов: 12 — интеграция в ИнС различных компонентов, определяющих специфику функционирования системы в целом (ИнС с поверхностной и глубинной интеграцией компонентов); — интеграция (функциональная, структурная, концептуальная), связанная с основными проектными решениями и концепциями; Традиционные (автономные) (использование только методов ИнС) ИнС Интегрированные Объединение ИнС с САПР Объединение ИнС с СУБД Объединение ИнС с ППП графического и расчетного характера … Рис. 5. Классификация ИнС по степени интеграции с другими программными системами (САПР — система автоматизированного проектирования; СУБД — система управления базами данных; ППП — пакет прикладных программ) ИнС Простые Сложные Глубинные ИнС Поверхностные ИнС Интегрированные ИнС Традиционные ИнС Выполняются на символьных компьютерах, рабочих станциях, мощных универсальных компьютерах Выполняются на ПЭВМ Коммерческая стоимость 100-25000 долл. Стоимость разработки 50000-500000 долл. Стоимость разработки 510 млн. долл. Время разработки 3-12 мес. Время разработки 1-5 лет Количество правил 2001000 Количество правил 150010000 Рис. 6. Классификация ИнС по сложности и типу компьютеров 13 — интеграция (информационная, программная, техническая), связанная с используемыми технологиями программирования, инструментальными средствами и платформами. Следует отметить, что с ростом производительности средств вычислительной техники, традиционно относимых к классу персональных компьютеров, на них становится возможным выполнение и определенной части сложных ИнС, в результате чего приведенная на рис. 6 классификация становится менее четкой. 1.2. Проблемная область искусственного интеллекта В настоящее время в области искусственного интеллекта выделено шесть основных проблем (направлений развития). 1. Представление знаний. В рамках этой проблемы решаются задачи, связанные с формализацией и представлением знаний в памяти ИнС. Для этого разрабатываются специальные модели представления знаний и языки для описания знаний, выделяются различные типы знаний. Изучаются источники, из которых ИнС может черпать знания, и создаются процедуры и приемы, с помощью которых возможно приобретение знаний для ИнС. Проблема представления знаний для ИнС чрезвычайно актуальна, так как ИнС — это система, функционирование которой опирается на знания о проблемной области, которые хранятся в ее памяти. 2. Манипулирование знаниями. Для того чтобы знаниями можно было пользоваться при решении задач, ИнС должна уметь: 1. оперировать знаниями; 2. пополнять знания (с помощью разрабатываемых способов на основе неполного описания знаний); 3. классифицировать хранящиеся в системе знания; 4. обобщать по тем или иным разработанным процедурам знания; 5. формировать на основе знаний абстрактные понятия; 6. осуществлять достоверный и правдоподобный вывод на основе имеющихся знаний с помощью создаваемых методов; 14 7. пользоваться моделями рассуждений, имитирующими особенности человеческих рассуждений. Манипулирование знаниями и представление знаний — эти два направления тесно связаны друг с другом. Создающаяся в настоящее время теория баз знаний включает исследования, относящиеся как к первому, так и ко второму направлению. 3. Общение. В круг задач этого направления входят: а) проблема понимания связных текстов; б) понимание речи и синтез речи; в) теория моделей коммуникации между человеком и ИнС. 4. Восприятие. Это направление включает: — проблемы анализа трехмерных сцен; — разработку методов представления информации о зрительных образах в базе знаний; — создание методов перехода от зрительных сцен к их текстовому описанию и методов обработки перехода; — разработку процедур когнитивной графики (КГ). 5. Обучение. Основная черта ИнС — это способность к обучению, то есть решение задач, с которыми они ранее не встречались. 6. Поведение. Так как ИнС должны действовать в некоторой окружающей среде, то необходимо разработать специальные поведенческие процедуры, которые позволили бы им адекватно взаимодействовать с окружающей средой, другими ИнС и людьми. Эти вопросы, возникающие перед конечным пользователем и инженером по знаниям, необходимо решить на этапе предварительного системного анализа конкретной предметной области (ПрО). 1.3. Представление данных и знаний Всегда вызывает интерес соотношение между данными и знаниями, в особенности представления (способы формализации) тех и других, модели 15 представления данных и знаний, поскольку данные и знания — это форма представления информации в компьютере. Информация, с которой имеет дело компьютер, разделяется на процедурную и декларативную. Процедурная информация овеществлена в программах, которые выполняются в процессе решения задач, декларативная — в данных, с которыми эти программы работают. Стандартной формой представления информации в компьютере является машинное слово, состоящее из определенного для данного типа компьютера числа двоичных разрядов — битов. В ряде случаев машинные слова разбиваются на группы по восемь двоичных разрядов, которые называются байтами. Одинаковое число разрядов в машинных словах для команд и данных позволяет рассматривать их в компьютере в качестве одинаковых информационных единиц (ИЕ) и выполнять операции над командами, как над данными. Содержимое памяти образует информационную базу. Для удобства сравнения данных и знаний можно выделить основные формы (уровни) существования знаний и данных. У данных и знаний много общего. Однако знания имеют более сложную структуру, и переход от данных к знаниям является закономерным следствием развития и усложнения информационных структур, обрабатываемых на компьютере. Поэтому знания иногда называют хорошо структурированными данными, метаданными, данными о данных и т.д. Сравнение данных и знаний можно проиллюстрировать сравнением ИнС и обычных программных систем. ИнС существенным образом отличаются от традиционных программных систем не только наличием БЗ, в которой знания хранятся и модифицируются в форме, понятной специалистам предметной области (именно поэтому вопросы разработки БЗ являются центральными при создании ИнС). Дело в том, что стиль программирования ИнС непохож на 16 стиль традиционного программирования с использованием обычных алгоритмических языков. Кроме общих выделенных особенностей разработки ИнС и традиционных программных систем каждый тип ИнС обладает, как правило, своим собственным стилем программирования, что затрудняет его использование для других ИнС. Тем не менее, в качестве основного вывода по сравнительной характеристике ИнС и традиционных программных систем можно отметить, что обычное для классических систем соотношение: ДАННЫЕ + АЛГОРИТМЫ = ПРОГРАММА заменяется на новую архитектуру, основу которой составляет БЗ и интерпретатор БЗ (машина логического вывода): ЗНАНИЯ + ВЫВОДЫ = СИСТЕМА. 1.4. Данные Параллельно с развитием структуры компьютеров происходило развитие информационных структур для представления данных. Появились способы описания данных в виде: векторов, матриц, списочных структур, иерархических структур, структур, создаваемых программистом (абстрактных типов данных). По мере развития исследований в области ИнС возникла концепция знаний, которая объединила в себе многие черты процедурной и декларативной информации. База данных (БД) как естественнонаучное понятие характеризуется двумя основными аспектами: информационным и манипуляционным. Первый аспект отражает такую структуризацию данных, которая является наиболее подходящей для обеспечения информационных потребностей, возникающих в предметной области. Под системой управления базами данных (СУБД) понимается комплекс средств (языковых, программных и, возможно, аппаратных), поддерживающих определенный тип БД. Главное назначение СУБД, с точки 17 зрения пользователей, состоит в обеспечении их инструментарием, позволяющим оперировать данными в абстрактных терминах (именах и/или характеристиках информационных объектов), не связанных со способами хранения данных в памяти компьютера. Следует заметить, что средств СУБД может не хватать для решения всех задач той или иной ПрО. Поэтому на практике приходится адаптировать (дополнять, настраивать) средства СУБД для обеспечения требуемых возможностей. Системы, получаемые путем адаптации СУБД к данной ПрО, относятся к ИнС. Жизнеспособная ИнС, т. е. способная поддерживать модель БД с учетом динамики развития ПрО, по необходимости должна в качестве своего ядра содержать СУБД. Выработанная на сегодняшний день методология проектирования ИнС (с точки зрения БД) включает четыре основные задачи: 1. системный анализ ПрО, спецификацию информационных объектов и связей между ними (в результате вырабатывается так называемая концептуальная, или семантическая, модель ПрО); 2. построение модели БД, обеспечивающей адекватное представление концептуальной модели ПрО; 3. разработку СУБД, поддерживающей выбранную модель БД; 4. функциональное расширение (посредством некоторой системы программирования) СУБД с целью обеспечения возможностей решения требуемого класса задач, т.е. задач обработки данных, характерных для данной ПрО. Эти задачи и связи между ними естественно рассматривать как конкретизацию триады «модель — алгоритм — программа» применительно к проблематике ИнС. На практике в каждом рассматриваемом случае пути решения этих задач выбираются исходя из специфики ПрО, функциональных возможностей доступных СУБД и вычислительных систем, допустимых затрат на создание ИнС и др. Рассмотрим кратко основные направления исследований в области БД. 18 На раннем этапе (примерно до 1975 г.) развития этой области наиболее характерными являются исследования способов структуризации данных, не зависящих от специфики организации среды хранения (памяти компьютера). Разработанные способы структуризации данных получили название моделей данных. Каждая такая модель характеризуется определенными средствами и методами структурирования данных. Наиболее известны, как уже упоминалось, иерархическая, сетевая и реляционная модели данных. Реляционная модель (разработанная Э. Ф. Коддом в 1970 г.) выгодно отличается от всех других моделей данных за счет простоты, математической строгости и практической полезности. Большинство публикаций по БД было так или иначе связано с реляционным подходом. Основной прагматической направленностью этого подхода было построение средств структурирования данных и манипулирования ими, которые позволяли бы решать задачи проектирования СУБД, языков манипулирования данными, отвлекаясь при этом от всего того, что связано с организацией среды хранения данных, адресации и доступа к ним. Структуры данных в этой модели уточняются через конечные отношения (или реляции, отсюда и название «реляционные» БД), заданные на доменах (множествах) первичных данных. Важным моментом реляционного подхода явилась также реляционная алгебра, рассматриваемая как аппарат построения одних структур данных из других, уже ранее построенных или первоначально заданных. Все это послужило толчком к разработке новых и интересных, с практической точки зрения, языков манипулирования данными и СУБД. На втором этапе (1975—1980 гг.) развития теории БД акценты заметно смещаются в сторону анализа прагматико-смысловых интерпретаций данных. Практика показала, что «хорошая» ИнС должна обеспечивать возможности манипулирования и обработки данных в соответствии с пониманием (пользователями) их смысла. Известные на это время модели данных оказались неадекватными с точки зрения информационного 19 представления в БД знаний о фрагменте действительности — предметной области ИнС. Все это привело к формированию нового направления исследований, ориентированного на вскрытие структур и закономерностей ПрО. Для этого периода характерно построение моделей данных путем расширения иерархической, сетевой и реляционной моделей за счет включения элементов «смысловой интерпретации» информационных объектов ПрО, связей и зависимостей между ними. Однако наиболее удачной в смысле математической строгости и прагматической полноты оказалась расширенная реляционная модель, предложенная Э. Ф. Коддом в 1979 г. Эта модель в отличие от других интересна еще тем, что при ее разработке была удовлетворительно решена задача уточнения как информационного, так и манипуляционного аспектов БД. Важность манипуляционного аспекта автор этой модели БД особенно подчеркивает тем, что структуры данных без способов и правил манипулирования ими похожи на анатомию без физиологии. В этот период были также получены интересные результаты, связанные с различными типами зависимостей между компонентами структур данных в реляционных БД. Такие зависимости, называемые еще ограничениями целостности БД, играют роль информационных инвариантов ПрО и в связи с этим должны поддерживаться в БД на протяжении всего периода ее использования. Однако попытки реализации моделей БД с достаточно богатыми типами зависимостей натолкнулись на трудности, связанные с недостаточно глубоко исследованными механизмами их поддержания. В первой половине 80-х годов внимание исследователей сконцентрировалось на построении самостоятельных, автономных моделей ПрО и выработке методов отображения их в модели БД. Что же касается структур данных и средств манипулирования ими, то они в данном случае полностью или частично выпали из поля зрения исследователей. Ввиду большой сложности проблемы моделирования ПрО предложенные языковые средства моделирования представляют собой, как правило, набор синтаксических 20 структур без строгой семантической их интерпретации. Поэтому, как и следовало ожидать, исследования по моделированию ПрО не привели к появлению глубоких результатов в теории БД, хотя и обеспечили богатый фактологический материал, касающийся этой проблематики. В целом проблематика БД и ИнС развивалась по экстенсиональному пути. Это означает, что основное внимание уделялось широте охвата вопросов, не придавая особого значения расстановке акцентов на них, не отделяя главные, второстепенных. носящие Большое принципиальный количество характер публикаций в вопросы этой от области, разобщенность взглядов авторов, интуитивная трактовка понятий породили своего рода «терминологический Вавилон». Все это не могло не сказаться отрицательно на интенсиональном характере развития этой проблематики. Другими словами, вопросы построения и исследования основополагающих концепций БД, познания их глубинной природы затрагивались слабо. Пожалуй, только в рамках реляционного подхода был сделан определенный (хотя и довольно локальный) шаг в сторону интенсионализации проблематики БД. Такое положение в области БД не делает ее каким-то исключением. Любая достаточно емкая и комплексно трудная научная область в изначальном своем развитии характеризуется тем, что экстенсиональный этап будет предшествовать интенсиональному. Перейдем к более подробному обсуждению вопросов, касающихся концепций структур данных, средств манипулирования ими и базирующихся на них моделей БД. При этом основное внимание будет уделено семантическому (как определяющему) аспекту структур данных и средств их обработки. Рассмотрим табличные структуры данных и действий над ними, так как на связанных с ними понятиях основывается изучение наиболее простых и в то же время очень интересных, с практической точки зрения, БД — табличных БД. Кроме того, интерес к этому классу БД вызван еще тем, что он включает ставшие широко известными реляционные БД. 21 Табличные структуры данных. Во многих областях человеческой деятельности используется термин «таблица». При этом в каждом конкретном случае в него вкладывается свой смысл. Наряду со смыслом, или сущностью, таблицы обладают теми или иными формами их представления. Понятие таблицы многоаспектно. Налицо, по меньшей мере, три аспекта — прагматика, семантика и синтаксис. Прагматика задает цели рассмотрения таблиц. Исходя из прагматики, определяется их сущность (семантика). Синтаксический аспект таблиц связан с построением их форм, наиболее подходящих для заданного восприятия (здесь может учитываться ориентация на человека, устройство-автомат и др.). Связь между этими аспектами таблиц выражается как принцип подчиненности: синтаксический аспект подчинен семантическому, а последний зависит от прагматического. Понятие таблицы будет выступать в качестве одной из основных концепций баз данных (БД), названных в связи с этим табличными БД (ТБД). Посредством таблиц в ТБД представляется информация (сведения) о совокупности однородных объектов, их свойств, фактов, событий, характерных для этой или иной предметной области. Над таблицами как структурами (манипуляции), данных должны задаваться обеспечивающие определенные информационные действия потребности пользователей БД. В рамках ТБД нас будут интересовать таблицы в плане их сущностей. Что же касается их синтаксического аспекта, то с целью концентрации основного внимания на семантическом аспекте мы от него будем умышленно отвлекаться. В этом заключается принцип отделения, который так же, как и принцип подчиненности указанных аспектов таблиц, выступает в качестве основополагающего принципа ТБД. 1.5. Знания Рассмотрим общую совокупность качественных свойств для знаний (специфических признаков знаний) и перечислим ряд особенностей, присущих этой форме представления информации в компьютере и позволяющих охарактеризовать сам термин «знания» [8]. 22 Прежде всего, знания имеют более сложную структуру, чем данные (метаданные). При этом знания задаются как экстенсионально (т.е. через набор конкретных фактов, соответствующих данному понятию и касающихся предметной области), так и интенсионально (т.е. через свойства, соответствующие данному понятию, и схему связей между атрибутами). С учетом сказанного перечислим свойства. Внутренняя интерпретируемость знаний. Каждая информационная единица (ИЕ) должна иметь уникальное имя, по которому ИС находит ее, а также отвечает на запросы, в которых это имя упомянуто. Когда данные, хранящиеся в памяти, были лишены имен, то отсутствовала возможность их идентификации системой. Данные могла идентифицировать лишь программа. При переходе к знаниям в память компьютера вводится информация о некоторой протоструктуре информационных единиц. В рассматриваемом примере она представляет собой специальное машинное слово, в котором указано, в каких разрядах хранятся сведения о фамилиях, годах рождения, специальностях и курсе. При этом должны быть заданы специальные словари, в которых перечислены имеющиеся в памяти системы фамилии, года рождения, название специальностей и курса. Все эти атрибуты могут играть роль имен для тех машинных слов, которые соответствуют строчкам таблицы. По ним можно осуществлять поиск нужной информации. Каждая строка таблицы будет экземпляром протоструктуры. В настоящее время СУБД обеспечивают реализацию внутренней интерпретируемости всех ИЕ, хранимых в базе данных. Структурированность (рекурсивная структурированность) знаний. Информационные единицы должны обладать гибкой структурой. Для них должен выполняться «принцип матрешки», т.е. рекурсивная вложимость одних ИЕ в другие. Каждая ИЕ может быть включена в состав любой другой, и из каждой ИЕ можно выделить некоторые составляющие ее ИЕ. Другими словами, должна существовать возможность произвольного установления 23 между отдельными отношений типа «часть — целое», «род — вид» или «элемент — класс». Связность (взаимосвязь единиц знаний). В информационной базе между ИЕ должна быть предусмотрена возможность установления связей различного типа. Прежде всего, эти связи могут характеризовать отношения между ИЕ. Семантика отношений может носить декларативный или процедурный характер. Например, две или более ИЕ могут быть связаны отношением «одновременно», две ИЕ — отношением «причина — следствие» или отношением «аргумент — функция». Приведенные отношения характеризуют декларативные знания. Различают отношения структуризации, функциональные отношения, каузальные отношения и семантические отношения. С помощью первых задаются иерархии ИЕ, вторые несут процедурную информацию, позволяющую находить (вычислять) одни ИЕ через другие, третьи задают причинно-следственные связи, четвертые соответствуют всем остальным отношениям. Между ИЕ могут устанавливаться и иные связи, например определяющие порядок выбора ИЕ из памяти или указывающие на то, что две ИЕ несовместимы друг с другом в одном описании. Перечисленные три особенности знаний позволяют ввести общую модель представления знаний, которую можно назвать семантической сетью, представляющей собой иерархическую сеть, в вершинах которой находятся ИЕ. Эти единицы снабжены индивидуальными именами. Дуги семантической сети соответствуют различным связям между ИЕ. При этом иерархические связи определяются отношениями структуризации, а семантические связи — отношениями иных типов. Семантическая метрика (семантическое пространство знаний с метрикой). На множестве ИЕ в некоторых случаях полезно задавать отношение, характеризующее ситуационную близость ИЕ, т.е. ас- социативную связь между ИЕ. Его можно было бы назвать отношением релевантности для ИЕ. Такое отношение дает возможность выделять в 24 информационной базе некоторые типовые ситуации (например, «покупка», «регулирование движения на перекрестке»). Отношение релевантности при работе с ИЕ позволяет находить знания, близкие к уже найденным. Активность знаний. С момента появления компьютера и разделения используемых в нем ИЕ на данные и команды создалась ситуация, при которой данные пассивны, а команды активны. Все процессы, происходящие в компьютере, инициируются командами, а данные используются этими командами лишь в случае необходимости. Для ИнС эта ситуация неприемлема. Выполнение программ в ИнС должно инициироваться текущим состоянием информационной базы. Появление в базе фактов или описаний событий, установление связей может стать источником активности системы. Следует упомянуть о функциональной целостности знаний, т.е. возможности выбора желаемого результата, времени и средств получения результата, средств анализа достаточности полученного результата. Перечисленные пять особенностей ИЕ определяют ту грань, за которой данные превращаются в знания, а базы данных перерастают в базы знаний (БЗ). Совокупность средств, обеспечивающих работу со знаниями, образует систему управления базой знаний (СУБЗ). Однако к БЗ, в которых в полной мере была бы реализована внутренняя интерпретируемость, структуризация, связность, введена семантическая мера и обеспечена активность знаний, еще необходимо проделать определенный путь. Все приведенные выше качественные свойства знаний касаются в основном уровня 3Hi и связаны со сложной природой знания, изучение которой происходит на междисциплинарном стыке таких наук, как кибернетика, лингвистика, психология и т.д. Жесткие знания позволяют получать однозначные четкие рекомендации при заданных начальных условиях. Мягкие знания допускают множественные, расплывчатые решения и различные варианты рекомендаций. 25 Поверхностные знания — совокупность эмпирических ассоциаций и причинно-следственных отношений между понятиями предметной области) Глубинные знания — абстракции, образы, аналогии, в которых отражается понимание структуры предметной области и взаимосвязь отдельных понятий тех или иных действий способствуют знания, имеющиеся в системе. Знания о процессах решения задач, используемые решателем (интерпретатором). Знания о языке общения и способах организации диалога, используемые диалоговым компонентом (средствами общения). Знания о способах представления и модификации знаний, используемые компонентом приобретения знаний 2. ОБЩИЕ ПРИНЦИПЫ ПОСТРОЕНИЯ ЭКСПЕРТНЫХ СИСТЕМ 2.1. Формальные основы экспертных систем Большинство экспертных систем базируются на понятии «формальная продукционная система». Продукционная система является системой, эквивалентной машине Тьюринга. Следовательно, продукционные системы универсальны, то есть любая формальная система, оперирующая символами, может быть реализована в одной из продукционных систем. Система продукций Поста задается своим алфавитом C={c, …, c} и системой базисных продукций xiW Wyi где xi, yi – слова в алфавите С. Пусть некоторое слово Y начинается словом xi. Применить к Y продукцию xiW Wyi — это значит вычеркнуть из Y начальный отрезок xi и затем оставшемуся слову приписать слово yi. Например, применив к слову aba продукцию abW Wc, получим слово ac. 26 Каждая система продукций понимается как формальная система с правилами вывода pi (i = 1, …, l), где pi (F, Y) считается истинным (применимым), если слово Y получается из F при помощи продукции xiW Wyi. Наложив на набор упорядоченных продукций неявную управляющую структуру, перейдем к понятию нормального алгоритма Маркова. В алгоритме Маркова упорядоченные продукции (формулы подстановки) применяются к некоторому заданному слову. Первая же из упорядоченных продукций, которая может быть применена к слову, применяется, изменяя слово. Затем процесс проверки применимости продолжается, начиная с продукции, имеющей наивысший приоритет. Этот цикл «проверка (выполнение)» продолжается до тех пор, пока не останется ни одной применимой продукции либо не будет применена некая продукция, помеченная как заключительная. Психологические человеком показали, исследования что, рассуждая, процессов человек принятия решений использует правила, аналогичные продукциям, то есть правила вида «условие действие». А. Ньюэлл предложил использовать продукционные системы для моделирования на компьютере процесса принятия решений. Формализуя предложения Ньюэлла, определим продукционную систему (PS) следующим образом: PS = <R, B, I>, где R – рабочая область системы (называемая также базой данных), содержащая текущие данные (элементы рабочей памяти); B – база знаний, содержащая множество продукций (правил вида «условие действие»); I – интерпретатор (решатель), реализующий процесс вывода, который в цикле выполняет следующие действия: определяет множество означиваний, то есть множество пар: {правило (pi), набор текущих данных (ai), на котором это правило удовлетворяется}; выполняет определенные означивания, производя изменения в рабочей области. 27 Интерпретатор формально может быть представлен четверкой: I = <V, S, K, W>, где V – процесс выбор из B и из R подмножества активных продукция Bv и подмножества активных данных Rv соответственно, которые будут использованы в очередном цикле работы интерпретатора. Механизм выбора может быть тривиальным (на каждом цикле выбираются все правила и все данные) или более сложным для того, чтобы устранить из рассмотрения те правила, условия которых заведомо не удовлетворяются данными рабочей памяти или малополезны. В усложненных системах механизм выбора может использовать управления, иерархию подобные правил, сетям метаправила Петри; S – или сложные процесс схемы сопоставления, определяющий множество означиваний, т.е. множество пар: правило (pi) – данные (di), где pi Bv, {di} Rv, причем каждое pi применимо к элементам множества {di} (будем также говорить, что pi удовлетворяется на элементах множества {di}). Операция сопоставления может требовать много времени, так как в общем случае влечет за собой означивание многих переменных; К – процесс разрешения конфликтов (или процесс планирования), определяющий, какое из означиваний будет выполняться. Механизм разрешения конфликтов может быть неявным или явным (например, в виде некоторого множества метаправил или процедур, описывающих выбор выполняемого правила). Метаправила позволяют обеспечить прямым и понятным способом применение динамических эвристик для разрешения конфликтов; W — процесс, осуществляющий выполнение выбранного означенного правила (выполнение действий, указанных в правой части правила). Результатом выполнения является модификация данных в R или операция ввода-вывода. 2.2. Классификация экспертных систем Существующие в настоящее время экспертные системы могут осуществлять: 1. анализ текущей ситуации в процессах управления; 28 2. диагностику и контроль технических систем; 3. прогнозирование; 4. проектирование (с помощью экспертных систем может оцениваться эффективность и надёжность проектируемых объектов). В целом, все решаемые экспертными системами задачи по своему типу целесообразно разделить в первую очередь на задачи анализа и синтеза. В задаче анализа задана модель сущности (объекта) и требуется в результате анализа этой модели определить некоторые неизвестные характеристики (функции) модели. В задаче синтеза задаются условия, которым должны удовлетворять характеристики (функции) некоторой «неизвестной» модели сущности, и требуется построить модель этой сущности. Решение задачи синтеза представляет собой итерационный процесс, состоящий из следующих шагов: 1. создание исследовательской модели сущности; 2. анализ этой модели (решение задачи анализа); 3. сравнение результатов анализа с условиями задачи. Таким образом, задача синтеза включает в себя анализ. Отметим, что в процессе создания конкретной ЭС, решающей задачу анализа, разработчик, создавая БЗ (модель области экспертизы), решает задачу синтеза, а построенная ЭС будет решать задачу анализа. Задачи синтеза и анализа могут решаться в статических и динамических областях. Если ЭС базируется на предположении, что исходная информация о предметной области (об окружающем мире), на основе которой решается задача, не изменяется за время решения задач, то говорят о статической предметной области (точнее о статическом представлении области в ЭС). Если информация о предметной области изменяется за время решения задач, то говорят о динамической предметной области. При представлении динамической области возникает задача моделирования окружающего мира, в частности моделирования активных агентов. 29 Если задачи, решаемые ЭС, явно не учитывают фактор времени и (или) не изменяют в процессе своего решения данные (знания) об окружающем мире, то говорят, что ЭС решает статические задачи, если задачи учитывают фактор времени и (или) изменяют в процессе решения данные об окружающем мире, то говорят о решении динамических задач. Таким образом, ЭС работает в статической проблемной среде, если она использует статическое представление и решает статические задачи. ЭС работает в динамической проблемной среде, если она использует динамическое представление и (или) решает динамические задачи. Учитывая значимость времени в динамических проблемных средах, многие специалисты называют их приложениями (ЭС), работающими в реальном времени. Обычно выделяют следующие системы реального времени: псевдореального времени, мягкого реального времени и жесткого реального времени. Системы псевдореального времени, как следует из названия, не являются системами реального времени, однако они, в отличие от статических систем, получают и обрабатывают данные, поступающие от внешних источников. Системы псевдореального времени решают задачу быстрее, чем происходят значимые изменения информации об окружающем мире. Системы «мягкого» реального времени работают в тех приложениях, где допустимо время реакции на события более 0.1 – 1 с. К этому диапазону относятся почти все существующие ЭС реального времени. Системы «жесткого» реального времени должны обеспечивать время реакции быстрее 0.1 – 0.5 с. Для достижения такого быстродействия они используют специализированные операционные системы и специализированные компьютеры, обеспечивающие быстрое время реакции. Приведем классификацию экспертных систем (рис. 6). 1. По назначению: — квалификационные (для выдачи рекомендаций); — исследовательские; 30 — управляющие (для управления в реальном масштабе времени). 2. По сложности: — неглубокие (простые); — глубокие (сложные). Экспертные системы По сложности По назначению Квалификационные Управляющие Неглубокие (простые) Глубокие (сложные) Исследовательские Рис. 7. Классификация экспертных систем Причины успешного практического использования экспертных систем состоят в том, что при их построении учитываются следующие выводы исследований в области искусственного интеллекта, которые можно сформулировать в виде трех принципов. 1. Мощность экспертной системы обусловлена в первую очередь мощностью базы знаний и возможностью её пополнения и только во вторую очередь – используемыми методами (процедурами). В исследованиях по искусственному интеллекту первоначально господствовала обратная точка зрения. Источником интеллектуальности считали небольшое количество общих мощных процедур вывода. Однако опыт показал, что важнее иметь разнообразные специальные знания, а не общие процедуры вывода [19]. 2. Знания, позволяющие эксперту (экспертной системе) получать качественные и эффективные решения задач, являются в основном эвристическими, экспериментальными, неопределенными, правдоподобными. Причина этого заключается в том, что решаемые задачи являются неформализованными или слабо формализованными. Необходимо также подчеркнуть, что знания экспертов имеют индивидуальный характер, то есть свойственны конкретному человеку. 31 3. Учитывая неформализованность решаемых задач и эвристический, личностный характер используемых знаний, пользователь (эксперт) должен иметь возможность непосредственного взаимодействия с экспертной системой в виде диалога. Архитектура экспертной системы вытекает из принципов, сформулированных выше. В соответствии с первыми двумя принципами ЭС включает два компонента: решатель (процедуры вывода) и динамически изменяемую базу знаний. Выбор в качестве основы для реализации систем продукций предопределяет наличие в ЭС также и рабочей памяти. 2.3. Типовая структура экспертной системы Задачи, для решения которых разрабатываются экспертные системы, обычно слабоформализуемы, поэтому нет чёткой методики построения и проектирования экспертных систем. Как следствие, разработка экспертной системы в меньшей мере поддается автоматизации, чем разработка других программных средств, таких как математические пакеты, базы данных, информационно-поисковые системы и так далее. Можно сказать, что наиболее общим свойством экспертных систем является моделирование с помощью компьютера процесса принятия решения специалистом предметной области – экспертом. Однако способ моделирования данного процесса может существенно варьироваться в экспертных системах различного назначения (что связано с многообразием предметных областей), а также в системах одного и того же назначения, созданных разными реализаторами (что связано с отличием взглядов на одну и ту же задачу). Тем не менее, можно выделить общие принципы построения экспертных систем, которым в той или иной степени следуют многие разработчики и которым соответствует большинство систем, именующихся экспертными. Для этого рассмотрим развернутую типовую структуру экспертной системы, а также назначение и функционирование её подсистем. Рассматриваемая далее структура экспертной системы приведена на рис. 8. 32 СРЕДА КОНСУЛЬТАЦИИ СРЕДА РАЗРАБОТКИ База знаний Пользователь факты, известные о предметной области правила, отражающие формальные знания Интерфейс пользователя Объяснения Рекомендуемые действия Инженер по знаниям Машина вывода Приобретение знаний Получение знаний Эксперт Интерпретатор Планировщик Совершенствование вывода «Доска объявлений» Рис. 8. Типовая структура экспертной системы Экспертная система в общем случае содержит следующие подсистемы: — приобретения знаний; — базы знаний; — машины вывода; — «доски объявлений» (рабочей памяти); — интерфейса пользователя; — подсистемы объяснений; — подсистемы совершенствования вывода. Подсистема приобретения знаний предназначена для решения задачи получения информации, необходимой для успешного построения и функционирования экспертной системы. Основной метод — использование знаний экспертов, а также извлечение информации из научно-технической литературы, научно-исследовательских информации, документации. 33 отчетов, различной экспресс- Возможно применение систем автоматизированного извлечения информации из машинно-читаемых источников, включая глобальные компьютерные сети (например, Интернет). Используя эту информацию, инженер по знаниям занимается построением базы знаний, которая должна включать информацию, необходимую для понимания, формирования и решения проблемы. База знаний содержит два основных элемента: 1. факты (данные из предметной области); 2. специальные эвристики (правила), управляющие использованием фактов при решении проблемы. Иногда в базе знаний используются еще и метаправила (правила о правилах). Машина вывода — это компьютерная программа, реализующая методологию обработки информации из базы знаний, производящая выдачу заключений и рекомендаций. Машина вывода выполняет управляющую структуру и интерпретатор данных (или правил, если в экспертной системе используются правила), то есть осуществляет управление использованием имеющихся данных. Основными элементами машины вывода являются: 1. интерпретатор (в большинстве экспертных систем — интерпретатор правил) выполняет выбранную программу-«повестку» — алгоритм функционирования (решения задачи); 2. планировщик управляет процессом выполнения «повесток» (правил), оценивая эффект применения различных правил с точки зрения приоритетов или других критериев. Доска объявлений – это область рабочей памяти, выделенная для описания текущей проблемы, со спецификацией входных и выходных данных и записью промежуточных результатов. На доске объявлений записываются текущие гипотезы и управляющая информация: — план — стратегия, выбранная для решения проблемы; — «повестка» — потенциальные действия, ожидающие выполнения; 34 — решения — гипотезы и альтернативные способы действий, сгенерированные системой. Совокупность машины вывода и базы знаний, а при ее наличии – и рабочей памяти, образуют управляющий компонент экспертной системы, обеспечивающий управляющей интеллектуальность «интеллектуальной» ее функционирования. части ЭС опирается Работа на два фундаментальных понятия символическая система и поиск, выделенных А. Ньюэллом и М. Саймоном в результате проведенного ими анализа исследований в области искусственного интеллекта. Символическая символические система структуры, и есть набор набор символов, процессов. образующих Процессы способны производить, разрушать и модифицировать символические структуры. Символ — это первичное понятие. Символические структуры могут рассматриваться как типы данных в некотором языке. Они могут обозначать объекты, процессы и другие символические структуры; и если они обозначают процессы, то они могут быть интерпретированы. Символическая структура обозначает некоторую сущность (объект, процесс или другую символическую структуру), если символическая система может осуществлять поведение, определяемое данной сущностью, или может воздействовать на эту сущность. Система может интерпретировать символическую структуру, если структура обозначает некоторый процесс, и система может выполнить этот процесс. А.Ньюэлл и М.Саймон обосновали две гипотезы, на которых базируются исследования по искусственному интеллекту: гипотезу символических систем и гипотезу поиска. Согласно первой гипотезе символические системы имеют необходимые и достаточные условия для осуществления интеллектуальных действий. Согласно второй гипотезе символические системы решают задачи с помощью поиска, то есть они генерируют потенциальные решения и постепенно модифицируют их, пока последние не будут удовлетворять 35 заданным условиям решения. Приведенные гипотезы разделяются большинством специалистов в области ИИ. Можно утверждать также, что все существующие экспертные системы подтверждают их. Общая схема функционирования управляющего компонента экспертной системы приведена на рис. 8. Управляющий компонент экспертных систем обычно называют интерпретатором (механизмом вывода). Задача механизма вывода состоит в том, чтобы на основании текущего состояния рабочей памяти определить, какой модуль и с какими данными будет работать. По окончании работы текущего модуля (правила) механизм вывода проверяет условия окончания задачи, и если они не удовлетворены, то выполняется очередной цикл. Каждый модуль (правило) снабжается образцом, то есть описанием, указывающим, при выполнении каких условий этот модуль (правило) может приступить к работе. Данные Рабочая память (база данных) Интерпретатор (машина вывода) Образцы Память состояний Модули (база знаний) Рис. 8. Схема функционирования управляющей компоненты экспертной системы В общем случае работа механизма вывода в каждом цикле состоит в последовательном выполнении четырех этапов: выборки, сопоставления, разрешения конфликтов, выполнения (рис. 10). Работа механизма вывода зависит только от состояния рабочей памяти и от состава базы знаний. Информация о поведении механизма вывода запоминается в памяти состояний (рис. 9). Обычно память состояний содержит протокол работы системы. Рабочая память (база данных) Сопоставление Конфликтное множество База правил Разрешение конфликта Выполняемое правило Критерий выбора правил 36 Действие Рис. 10. Цикл работы механизма вывода (интерпретатора) В общем случае каждый из этапов использует в своей работе три источника знаний: рабочую память, базу знаний и память состояний. Для повышения эффективности функционирование системы на каждом из этапов направляется стратегиями управления (некоторыми эвристическими правилами). Возможности стратегий зависят от того, какие функции механизма вывода могут изменяться, а какие встроены в него жестко. Встраивание определенных функций в механизм вывода повышает эффективность его работы, но ограничивает степень воздействия на процесс функционирования. Как правило, в механизм вывода встраивают общую схему поиска решения (метод), а через стратегии управляют деталями поиска. Рассмотрим теперь назначение и основные функции этапов, представленных на рис. 10. На этапе выборки осуществляется определение подмножества элементов рабочей памяти и подмножества правил (модулей) базы знаний, которые могут быть использованы в текущем цикле. При реализации этапа выборки обычно используется один из двух подходов. Первый подход, называемый иногда синтаксической выборкой, выполняет грубый отбор знаний, данных и (или) правил, которые могут быть полезны в текущем цикле. Основанием для выборки знаний в данном случае являются формальные (синтаксические) знания, встроенные в систему разработчиком. Второй подход, называемый иногда семантической выборкой, осуществляет отбор знаний на основании таких сведений, как модель предметной области, разбиение задачи на подзадачи, текущие цели и т. п. Семантические знания, используемые на этапе выборки, вводятся в систему экспертом, например, в виде метаправил. В результате работы этапа выборки происходит выделение активного набора данных и активного набора правил (модулей), 37 то есть осуществляется фокусирование внимания системы на определенном ограниченном количестве данных и правил (модулей). На этапе сопоставления определяется, какие активные модули и на каких активных данных готовы к работе. Модуль готов к работе, если среди активных данных есть данные, удовлетворяющие условиям этого модуля, указанным в его образце. Такие модули называются означенными. Результатом работы этапа сопоставления является набор означенных модулей. Набор означенных модулей часто называют конфликтным набором, подчеркивая этим тот факт, что к работе готовы все модули набора, но механизм вывода не знает еще, какой из них предпочесть. Теоретически сопоставление выполняется в каждом цикле работы механизма вывода над всеми активными знаниями (образцы всех активных модулей сопоставляются со всеми активными данными). На практике в целях повышения эффективности все означивания не вырабатываются заново на каждом очередном цикле. На этапе разрешения конфликтов механизм вывода выбирает из конфликтного набора те означивания, которые будут выполняться в текущем цикле. На данном этапе интерпретатор оценивает означенные модули с точки зрения их полезности при достижении текущей цели. Подчеркивая этот факт, данный этап иногда называют этапом планирования. На этапе выполнения осуществляется исполнение правил (модулей), выбранных на этапе разрешения конфликтов. В ходе этого этапа осуществляется модификация рабочей памяти, выполняются операции вводавывода и изменяется память состояний интерпретатора. На рис. 9 и 10 приведено обобщенное описание управляющей компоненты ЭС. В настоящее время при реализации этой общей схемы используются две основные архитектуры. Различия в реализации общей схемы являются в первую очередь следствием различной сложности используемых модулей. При одном подходе модулями являются относительно небольшие автономные фрагменты знаний, представляемые в 38 виде правил (в частном случае – в виде продукционных правил), которые понятны пользователю (эксперту), не знакомому с программированием. Этот подход часто называют подходом, использующим управляемые образцами правила, а системы, основанные на данном подходе, – системами, управляемыми правилами. При втором подходе в качестве модулей используются большие сложные автономные фрагменты знаний, представленные в виде программ, смысл которых, конечно, не может быть понятен непрограммисту. Этот подход называют подходом, использующим управляемые образцами модули. Типичным примером первого подхода являются системы OPS 5, MYCIN и другие, а примером второго подхода — система HEARSAY-II. Оба подхода используют управление, основанное на сопоставлении образцов (по окончании работы одного модуля его преемником является один из тех модулей, образцы которых будут означены элементами рабочей памяти). Информационная и управляющая взаимосвязь модулей в обоих подходах осуществляется через общую память. В первом подходе модуль называют правилом, а в остальном терминология и структура построения системы соответствуют схеме, приведенной на рис. 9. Во втором подходе используется другая терминология. Рабочая память называется классной доской, конфликтный набор — агендой, программы, разрешающие конфликты, — политическими модулями, а модули — источниками знаний. Каждый источник знания имеет образец. Если образец некоторого источника знаний сопоставляется с данными на «классной доске», то этот означенный источник знания заносится в агенду. Агенда представляет собой упорядоченный список работ, готовых к выполнению. Под работой понимается источник знания с описанием данных, которые он может обрабатывать в текущий момент. В каждый момент времени с агендой работает один из политических модулей. Выбор политического модуля зависит от обрабатываемой гипотезы. Политический модуль переупорядочивает агенду и выбирает некоторую работу на 39 исполнение. Результатом выполнения работы является изменение содержимого «классной доски». Политические модули, являясь источниками знания, также заносятся в агенду и выбираются на исполнение. Множество политических модулей обеспечивает разнообразие способов выработки управляющих решений. Модификация систем подобного типа достигается за счет независимости источников знания. Концепция управляемых образцами модулей позволяет решать более сложные задачи и строить более эффективные системы. Однако этот подход затрудняет реализацию объяснительных способностей и способностей по приобретению новых знаний. Использование в данном подходе больших фрагментов знаний связано с разработкой для каждой проблемной области своих политических модулей, осуществляющих детальное планирование и использование знаний. Кроме того, возможности данного подхода к решению задач различных классов ограничены номенклатурой имеющихся модулей и способами их взаимодействия. Концепция управляемых образцами правил позволяет (за счет ограниченной сложности используемых фрагментов знания и представления их в понятном для пользователя виде) решать разнообразные задачи, обеспечивая развитые объяснительные способности и способности по приобретению знаний. Оба рассмотренных подхода, несмотря на некоторые различия, являются вариантами одного и того же метода управления. Подход с правилами, управляемыми используемого образцами представления обладает знаний и большей в связи декларативностью с этим большей универсальностью. Механизмы вывода (MB), используемые в этом подходе, различаются следующим: — используются только частные знания или допускаются и общие знания; — каким способом (при наличии общих знаний) обеспечивается сокращение вычислительных затрат на выполнение операций выборки, сопоставления и разрешения конфликтов. 40 Только простейшие ЭС не используют общих знаний. Механизм вывода в этих инструментальных средствах сводит решение задачи к поиску пути в дискриминационном дереве (графе), которое компилируется на этапе приобретения знаний. Развитые ЭС базируются на технологии объектноориентированного подхода и, как следствие, используют частные и общие знания. Недостатки использования частных знаний сводятся к увеличению в 10 и более раз количества правил по сравнению с использованием общих правил, что приводит к необозримости базы знаний (БЗ) конечным пользователем; увеличению времени разработки и отладки БЗ; усложнению модификации приложения, так как вместо изменения одного общего правила надо изменять десятки подобных частных правил. Представление исполняемых утверждений (правил, процедур, действий) в общем виде обеспечивает применение одного утверждения к множеству однотипных конкретных объектов, что значительно снижает трудоемкость накопления базы знаний, упрощает сопровождение (модификацию) приложения, минимизирует ошибки при отладке БЗ. Использование общих утверждений при всех их плюсах создает одну серьезную проблему. Исполнение общих правил требует значительных вычислительных затрат, которые минимизируются двумя рассматриваемыми ниже подходами: — использование синтаксических средств типа алгоритма Rete, сокращающих на каждом цикле работы MB перебор при выполнении операции сопоставления; — использование семантических средств, сокращающих перебор при выполнении операции выборки и разрешении конфликтов путем использования метапланирования и фокусирования на объектах или правилах. Суть синтаксических подходов ускорения процесса сопоставления сводится к следующему. В общем случае в каждом цикле работы MB для получения означиваний (конфликтного набора) требуется заново сопоставить все правила из БЗ (из ее активного подмножества) со всеми экземплярами 41 объектов из рабочей памяти (из ее активного подмножества). Задача синтаксических методов состоит в том, чтобы избежать на каждом цикле работы MB повторных сопоставлений правил и данных, так как значительная часть означиваний i-гo цикла может быть использована в i-м цикле. Наиболее популярным синтаксическим методом, минимизирующим сопоставления, является алгоритм Rete. В данном алгоритме каждое правило рассматривается как один или несколько образцов, с каждым из которых связывается список всех активных сопоставляющихся с ним элементов рабочей памяти (РП). Этот список модифицируется на каждом цикле изменения РП. Если некоторый элемент вводится в РП (или модифицируется), то MB находит все образцы (правила), которые сопоставляются с этим элементом, и добавляет его к спискам соответствующих образцов. При удалении некоторого элемента из РП MB устраняет его из списков всех образцов, которые с ним сопоставлялись. Таким образом, MB, запоминающая указанную информацию, не сопоставляет всю РП со всеми правилами. Описания изменений рабочей памяти, поступающие в Rete-алгоритм, называются признаками. Признак представляет собой упорядоченную пару, состоящую из метки и списка элементов. В простейшем исполнении для Rete-алгоритма необходимы две метки: «+» и «–», означающие соответственно добавление в РП или устранение чего-то из рабочей памяти. Если некоторый элемент модифицируется, то на вход алгоритма поступают два признака: один указывает, что старая форма элемента устраняется из рабочей памяти, а другой – что новая форма добавляется. Задача алгоритма состоит в том, чтобы определить, какие правила будут удовлетворены поступившими на вход признаками (т. е. изменениями элементов рабочей памяти). Простейшее решение этой задачи состоит в сопоставлении признаков со всеми правилами. При таком подходе на каждом цикле будет множество повторных («лишних») просмотров. Для того чтобы избежать лишних сопоставлений, образцы правил преобразуются в сетевую 42 структуру, которая выполняет функции индексирования правил. Сеть образцов представляет собой разновидность дискриминационной сети. В вершинах дискриминационной сети проверяются характеристики элементов. В зависимости от результатов проверок признак, поступивший на вход сети, пройдет через сеть по тому или иному пути (путям) и в результате сообщит, какие правила удовлетворяют этому признаку. Сеть составляется специальной программой (компилятором) на основе анализа условий правил, хранимых в рабочей памяти. Семантические подходы, как правило, применяются на этапе выборки и разрешения конфликтов. На этапе выборки механизм вывода фокусируется на определенном подмножестве элементов рабочей памяти и подмножестве правил базы знаний, которые могут быть использованы в текущем цикле. Обычно выделяют два типа выборки: простую выборку и иерархическую выборку. Простая выборка характеризуется тем, что выбираемые сущности рассматриваются как сущности одного уровня. Поясним суть простой выборки на примере выборки правил. В данном случае при появлении нового элемента в рабочей памяти те правила, которые содержат этот элемент в условии правила (при поиске от данных), помечаются как активные. При удалении элемента из памяти метки у соответствующих правил снимаются. Выборка в данном случае сводится к выбору из всего множества правил тех, которые помечены. При иерархической выборке объекты (правила, данные) разбиваются на иерархические подмножества (классы). Выборка в данном случае состоит в использовании метаправила для выбора одного из классов. При этом классы могут быть как непересекающимися, так и пересекающимися. Введение иерархии правил неизбежно влечет за собой и иерархию данных, что не всегда явно признается разработчиками систем. Действительно, метаправила в отличие от правил применяются не к объектам предметной области, а к метаданным (уместно говорить о появлении в рабочей памяти данных и метаданных). 43 Объекты, подлежащие выборке на текущем цикле, задаются либо по имени, либо по описанию свойств. При задании по имени указывается либо перечень объектов (данных, правил), либо перечень имен классов, описывающих объекты. При задании объектов через описания свойств указывают не имена объектов (классов объектов), а перечень свойств, которыми эти объекты должны обладать. Интерфейс пользователя должен содержать языковой процессор для дружественного проблемно-ориентированного общения между компьютером и пользователем. Он может быть реализован на естественном языке, с использованием графического сопровождения или с применением системы многооконных меню. Подсистема объяснения предназначена для предоставления возможности проверки соответствия выводов их посылкам и объяснения поведения экспертной системы. Позволяет дать ответы на следующие вопросы: как было получено некоторое заключение; почему некоторая альтернатива была отвергнута; каков план получения решения. Подсистема объяснения может отсутствовать, поскольку не влияет непосредственно на процесс выдачи заключения экспертной системой. Подсистема совершенствования вывода — экспертная система должна уметь анализировать свою работу, опыт, знания и улучшать их, то есть программа должна анализировать причины своего успеха или неудачи (свойство адаптации). В настоящее время в коммерческих экспертных системах эта подсистема отсутствует, но активно развивается в экспертных системах по машинному обучению. С другой стороны, определенная адаптивность может быть реализована предоставлением пользователю возможности изменять исходную информацию в виде заложенных в систему правил. Как было отмечено выше, такая структура экспертной системы является обобщенной, и структуры реальных систем могут значительно отличаться. В любом случае, для того, чтобы экспертная система могла 44 успешно функционировать, она должна включать в себя как минимум интерфейс пользователя, машину вывода и базу знаний, причем не обязательно непосредственным пользователем ЭС является человек, им может быть и другая программа, использующая возможности ЭС через соответствующий «пользовательский интерфейс» и, в свою очередь, обеспечивающая опосредованный интерфейс экспертной системой. Структура такой пользователя-человека с экспертной системы приведена на рис. 11. Пользователь: человек или другая программа Интерфейс пользователя Машина вывода База знаний Рис. 11. Минимальная структура экспертной системы Такие компоненты, как интерфейс пользователя и машина вывода могут не иметь четкого разделения внутри системы, а в некоторых случаях и база знаний также оказывается тесно связанной с машиной вывода (как, например, в системах, использующих фреймовую модель представления знаний, которая будет рассмотрена далее). Процесс решения задачи экспертной системой сводится к запросу пользователем о конкретных фактах, для которых системой выдаётся заключение. При наличии такой возможности пользователь может запросить объяснение поведения экспертной системы. 2.4. Общие подходы к представлению знаний в экспертных системах Показателем интеллектуальности системы с точки зрения представления знаний считается способность системы использовать в нужный момент необходимые (релевантные) знания. Системы, не имеющие средств для определения релевантных знаний, неизбежно сталкиваются с 45 проблемой «комбинаторного взрыва». Можно утверждать, что эта проблема является одной из основных причин, ограничивающих сферу применения экспертных систем. В проблеме доступа к знаниям можно выделить три аспекта: связность знаний и данных, механизм доступа к данным и способ сопоставления. Связность знаний (агрегация) является основным способом, обеспечивающим ускорение поиска релевантных знаний. Большинство специалистов пришли к убеждению, что знания следует организовывать вокруг наиболее важных объектов (сущностей) предметной области. Все знания, характеризующие некоторую сущность, связываются и представляются в виде отдельного объекта. При подобной организации знаний, если системе понадобилась информация о некоторой сущности, она ищет объект, описывающий эту сущность, а затем уже внутри объекта отыскивает информацию о данной сущности. В объектах целесообразно выделять два типа связок между элементами: внутренние и внешние. Внутренние связки объединяют элементы в единый объект и предназначены для выражения структуры объекта. Внешние связки отражают взаимозависимости, существующие между объектами в области экспертизы. Многие исследователи классифицируют внешние связки на логические и ассоциативные. Логические связки выражают семантические отношения между элементами знаний. Ассоциативные связки предназначены для обеспечения взаимосвязей, способствующих ускорению процесса поиска релевантных знаний. Основной проблемой при работе с большой базой знаний является проблема поиска знаний, релевантных решаемой задаче. В связи с тем, что в обрабатываемых данных может не содержаться явных указаний на значения, необходимые для их обработки, необходим более общий механизм доступа, чем метод прямого доступа (метод явных ссылок). Задача этого механизма состоит в том, чтобы по некоторому описанию сущности, имеющемуся в рабочей памяти, найти в базе знаний объекты, удовлетворяющие этому 46 описанию. Очевидно, что упорядочение и структурирование знаний могут значительно ускорить процесс поиска. Нахождение желаемых объектов в общем случае уместно рассматривать как двухэтапный процесс. На первом этапе, соответствующем процессу выбора по ассоциативным связкам, совершается предварительный перебор в базе знаний потенциальных кандидатов на роль желаемых объектов. На втором этапе путем выполнения операции сопоставления потенциальных кандидатов с описаниями кандидатов осуществляется окончательный выбор искомых объектов. При организации подобного механизма доступа возникают определенные трудности (как выбрать критерий пригодности кандидата? как организовать работу в конфликтных ситуациях?) и т. п. Операция сопоставления может использоваться не только как средство выбора нужного объекта из множества кандидатов; она может быть использована для классификации, подтверждения, декомпозиции и коррекции. Для идентификации неизвестного объекта он может быть сопоставлен с некоторыми известными образцами. Это позволит классифицировать неизвестный объект как такой известный образец, при сопоставлении с которым были получены лучшие результаты. При поиске сопоставление используется для подтверждения некоторых кандидатов из множества возможных. Если осуществлять сопоставление некоторого неизвестного объекта с неизвестным описанием, то в случае успешного сопоставления будет осуществлена частичная декомпозиция описания. Операции сопоставления весьма разнообразны. Обычно выделяют следующие их формы: синтаксическое, параметрическое, семантическое и принуждаемое сопоставления. В случае синтаксического сопоставления соотносят формы (образцы), а не содержание объектов. Успешным является сопоставление, в результате которого образцы оказываются идентичными. Обычно считается, что переменная одного образца может быть идентична любой константе (или выражению) другого образца. Иногда на переменные, 47 входящие в образец, накладываются требования, определяющие тип констант, с которыми они могут сопоставляться. Результат синтаксического сопоставления является бинарным: образцы сопоставляются или не сопоставляются. В параметрическом сопоставлении вводится параметр, определяющий степень сопоставления. В случае семантического сопоставления соотносят не образцы объектов, а функции. В случае принуждаемого сопоставления один сопоставляемый образец рассматривается с точки зрения другого. В отличие от других типов сопоставления здесь может быть получен положительный результат. Вопрос состоит в силе принуждения. Принуждение могут выполнять специальные процедуры, связываемые с объектами. Если эти процедуры не в состоянии осуществить сопоставление, то система сообщает, что успех может быть достигнут только в случае, если определенные части рассматриваемых сущностей можно считать сопоставляющимися. 3. МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ В ЭКСПЕРТНЫХ СИСТЕМАХ Характеристики экспертной системы во многом зависят от модели представления знаний в ней — формального способа описания реального мира, который, в свою очередь, зависит от области использования экспертной системы. Часто вопрос выбора модели представления знания сводят к обсуждению баланса между декларативным (ДП) и процедурным представлением (ПП). Различие между ДП и ПП можно выразить как различие между «знать что» и «знать как». ПП основано на предпосылке, что интеллектуальная деятельность есть знание проблемной среды, вложенное в программы, то есть знание о том, как можно использовать те или иные сущности. ДП основано на предпосылке, что знание неких сущностей («знать что») не имеет глубоких связей с процедурами, используемыми для обработки этих сущностей. При использовании ДП считается, что интеллектуальность базируется на некотором универсальном множестве 48 процедур, обрабатывающих факты любого типа, и на множестве специфических фактов, описывающих частную область знаний. Основное достоинство ДП по сравнению с ПП заключается в том, что в ДП нет необходимости указывать способ использования конкретных фрагментов знания. Простые утверждения могут использоваться несколькими способами, и может оказаться неудобным фиксировать эти способы заранее. Указанное свойство обеспечивает гибкость и экономичность ДП, так как позволяет поразному использовать одни и те же факты. В ДП знание рассматривается как множество независимых или слабозависимых фактов, что позволяет осуществлять модификацию знаний и обучение простым добавлением или устранением утверждений. Для ПП проблема модификации значительно сложнее, так как здесь необходимо учитывать, каким образом используется данное утверждение. Однако известно, что существует значительное количество сущностей, которые удобно представить в виде процедур и весьма трудно – в чисто декларативном представлении. Желание использовать достоинства ДП и ПП привело к разработке формализмов, использующих смешанное представление, то есть декларативное представление с присоединенными процедурами (например, фрейм-представление или сети с присоединенными процедурами) или процедурное представление в виде модулей с декларативными образцами. В наиболее совершенном виде эта проблема реализована в объектно-ориентированном подходе. Модели представления знаний обычно делят на логические (формальные) и эвристические (формализованные). В основе логических моделей представления знаний лежит понятие формальной системы (теории). Примерами формальных теорий могут служить исчисление предикатов и любая конкретная система продукций. В логических моделях, как правило, используется исчисление предикатов первого порядка, дополненное рядом эвристических стратегий. Эти методы являются системами дедуктивного типа, так как в них используется модель 49 получения вывода из заданной системы посылок с помощью фиксированной системы правил вывода. Дальнейшим развитием предикатных систем являются системы индуктивного типа, в которых правила вывода порождаются системой на основе обработки конечного числа обучающих примеров. В логических моделях представления знаний отношения, существующие между отдельными единицами знаний, выражаются только с помощью тех небогатых средств, которые предоставляются синтаксическими правилами используемой формальной системы. В отличие от формальных моделей эвристические модели имеют разнообразный набор средств, передающих специфические особенности той или иной проблемной области. Именно поэтому эвристические модели превосходят логические как по возможности адекватно представить проблемную среду, так и по эффективности используемых правил вывода. К эвристическим моделям, используемым в экспертных системах, можно отнести сетевые, фреймовые, продукционные и объектно- ориентированные модели. Следует отметить, что продукционные модели, используемые для представления знаний в экспертных системах, отличаются от формальных продукционных систем тем, что они используют более сложные конструкции правил, а также содержат эвристическую информацию о специфике проблемной среды, выражаемую часто в виде семантических структур. В настоящее время для баз знаний экспертных систем применяются следующие модели представления знаний: 1. продукционные правила; 2. логическое исчисление; 3. фреймы; 4. семантические сети; 5. объектные модели. 50 Подходы к представлению знаний Процедурные Смешанные Декларативные Семантические Алгоритмическая реализация модели предметной области сети с присоединенными Объектноориентрованный подход процедурами Исчисление предикатов Продукционные правила Фреймы Семантические Эвристические (формализованные) Формальные продукционные системы сети Логические (формальные) Модели представления знаний Рис. 12. Способы представления знаний Более подробная классификация способов представления знаний в базах знаний экспертных систем приведена на рис. 12. Поскольку модель представления знаний должна позволять адекватно отображать некоторую предметную область, то производить детальное сравнение различных моделей между собой отдельно, вне контекста решения какой-либо конкретной задачи не имеет смысла. И тем более невозможно сказать, какой именно подход окажется способным решить любую задачу с максимальной эффективностью. 3.1. Продукционная модель представления знаний В продукционных системах база знаний состоит из базы данных и базы правил. База данных содержит факты, описывающие вводимые данные и состояние системы, они могут иметь различную форму, но у всех 51 продукционных систем могут быть представлены как группа данных, содержащая имя данных, имена атрибутов, значения атрибутов. База знаний содержит набор продукционных правил вида: ЕСЛИ <условие>, ТО <действие>. Механизмом выводов в продукционных системах является интерпретатор правил. Существуют два варианта организации цепочки выводов: суждение по цепочке вперёд и суждение по цепочке назад. При суждении по цепочке вперёд выполняются все правила, которые могут быть выполнены в настоящий момент, при их исполнении происходит модификация базы данных, которая может привести к возможности выполнения других правил из базы знаний. Основной недостаток состоит в том, что необходимо пройти всю цепочку, чтобы получить требуемый результат (излишние затраты времени и финансовых средств, то есть неоптимальная работа системы). Эффективнее вывод при суждении по цепочке назад: в базе правил отыскивается правило, содержащее искомый факт в правой части (после TO), а затем в базе данных ищутся факты, указанные в левой части правила (после ЕСЛИ). Если таких фактов нет, система пытается найти правила, позволяющие прийти к ним, и так происходит до тех пор, пока не будут найдены все требуемые факты ("удача рассуждения"), или же не будет исчерпана возможность их нахождения ("неудача рассуждения"). В общем виде функционирование продукционной системы представлено на рис. 12. Ввод База данных Вывод Интерпретатор База знаний Рис. 12. Функционирование продукционной системы 52 3.2. Логические модели представления знаний В логическом исчислении применяются модели представления знаний с помощью предикатов (функций n-переменных произвольных типов, возвращающих логические значения истина или ложь) и представление знаний в виде логически правильных формул. При обработке знаний с помощью исчисления предикатов исключительно важное значение приобретает возможность логически выводить новые факты и правила из некоторого заданного набора. Вообще, способность логики к порождению ("логическому выводу") новой информации на основании старой представляет интерес в сфере программирования как средства для управляемого автоматизированного порождения логического вывода. Конструирование сложных высказываний из элементарных с помощью кванторов и логических связок подчиняется определенным правилам, называемым правилами построения. Образованные по этим правилам сложные высказывания называются правильно построенными формулами ППФ. Правила вывода — утверждения самого общего характера о взаимосвязях между допущениями и заключениями, которые с позиций исчисления предикатов всегда справедливы. В исчислении предикатов есть много различных правил вывода. Обладая для исчисления предикатов универсальной истинностью, они могут применяться либо для установления истинности утверждения в целом, либо для порождения заключения. Их можно использовать отдельно и в сочетании с другими правилами. К таким правилам, например, относится правило двойного отрицания: А |- ~(~А), правило А->В, А|-В, правило А->В, ~В|- ~А и т.д. Одно из отрицательных свойств исчисления предикатов – множество путей утверждения одного и того же положения. Другим недостатком можно считать то, что при автоматизации процесса обработки знаний с помощью логического вывода возникает ряд серьезных проблем, связанных с различной природой рассуждений в исчислении предикатов и ходом рассуждений, основанном на здравом смысле. 53 3.3. Метод резолюций и процедура резолюций Метод резолюций позволяет справится с такими проблемами, как выбор правил вывода и порождение не относящихся к делу высказываний, путем сведения процедуры доказательства к применению единственного правила. В случае использования метода резолюций выполняется операция исключения высказывания из различных предложений, если эти высказывания противоречивы (в одних предложениях отрицаются, в других — нет). Преимущество логических моделей состоит в единственности теоретического обоснования и возможности реализации системы формально точных определений и выводов. Недостатком таких моделей является то, что классическая логика не позволяет решать ряд задач, что может требовать включения временных, модальных и т.п. категорий, для которых отсутствуют автоматические системы вывода, а также сложность создания подсистемы объяснений. 3.4. Использование нечеткой логики для представления знаний Одним из способов, позволяющим решать более широкий класс задач на основе логических моделей, является применение нечеткой логики (fuzzy logic). Подход, основанный на идеях нечеткой логики, в последнее время все шире используется как при создании экспертных систем, так и при создании автономных управляющих систем. Также, как булева логика строится на основе понятия множеств, нечеткая логика строится на основе понятия нечетких множеств. То знание, которое использует эксперт при оценке признаков, обычно базируется скорее на отношениях между классами данных и классами гипотез, чем на отношениях между отдельными данными и конкретными гипотезами. Большинство методик решения проблем в той или иной форме включает классификацию данных (сигналов, признаков и т.п.), которые рассматриваются как конкретные представители некоторых более общих категорий. Редко когда эти 54 более общие категории могут быть четко очерчены. Конкретный объект может обладать частью характерных признаков определенной категории, а частью не обладать, принадлежность конкретного объекта к определенному классу может быть размыта. Предложенная Заде, теория нечетких множеств представляет собой формализм, предназначенный для формирования суждений о таких категориях и принадлежащих к ним объектах. Эта теория лежит в основе нечеткой логики (fuzzy logic) и теории возможностей (possibility theory). Классическая теория множеств базируется на двузначной логике. Выражения в форме а А, где а представляет индивидуальный объект, а А — множество подобных объектов, могут принимать только значение истина либо ложь. После появления понятия нечеткое множество прежние классические множества иногда стали называть жесткими. Жесткость классической теории множеств стала источником ряда проблем при попытке применить ее к нечетко определенным категориям. Интуитивно кажется, что в противовес жестким множествам, нечеткие множество можно представить как множество с размытыми границами, где принадлежность элементов множеству может быть ранжирована. В таком случае можно говорить о том, что отдельный объект более или менее типичен для этого множества (категории). Можно с помощью некоторой функции/охарактеризовать степень принадлежности объектов X такому множеству. Функция f(x) определена на интервале [0,1]. Если для объекта X функция f(x) = 1, то объект определенно является членом множества, если f(x) = 0, то объект определенно не является членом множества. Все промежуточные значения означают степень членства объекта X в этом множестве. Ту роль, которую в классической теории множеств играет двузначная булева логика, в теории нечетких множеств играет многозначная нечеткая логика, в которой предположения о принадлежности объекта множеству, 55 могут принимать действительные значения в интервале от 0 до 1. Используя концепцию неопределенности, вычисления значений сложных выражений производятся следующим образом. По аналогии с теорией вероятности, если F представляет собой нечеткий предикат, операция отрицания реализуется по формуле F(x) = 1 – F(x). Но аналоги операций конъюнкции и дизъюнкции в нечеткой логике не имеют никакой связи с теорией вероятностей. В нечеткой логике существует соглашение: если F и G являются нечеткими предикатами, то fFG(X) = min (fF(X),fG(X)). Аналог операции дизъюнкции в нечеткой логике определяется следующим образом: fFG(X) = max (fF(X),fG(X)). Здесь также очевидна полная противоположность с теорией вероятностей, в которой Р(А В) = Р(А) + Р(В) - Р(А В). Операторы обладают свойствами коммутативности, ассоциативности и взаимной дистрибутивности. Как и к операторам в стандартной логике, к ним применим принцип композитивности, т.е. значения составных выражений вычисляются только по значениям выражений-компонентов. В этом операторы нечеткой логики составляют полную противоположность законам теории вероятностей, согласно которым при вычислении вероятностей конъюнкции и дизъюнкции величин нужно принимать во внимание условные вероятности. 3.5. Фреймовая модель Фреймовая модель представляет собой систематизированный в общей теории технологический процесс памяти человека и его сознания. Она имеет 56 все свойства, присущие языку представления знаний, и одновременно являет собой новый способ обработки информации. Фреймовая модель есть метод представления знаний, основанный на теории фреймов, опубликованной М. Минским в 1975 г., как одном из научных подходов к описанию знаний. Основой фреймовой модели является фрейм — структура данных о рассматриваемом объекте или ситуации. (Структура данных о текущей реальной ситуации — фрейм-прототип, структура данных об отображении текущей ситуации (то есть, как она мыслится) – фрейм-экземпляр.) Фрейм представляет собой множество слотов. Каждый слот представляется определённой структурой данных – атрибутами слота. Структура фрейма приведена на рис. 13. Фрейм: Имя фрейма [<роль1>] Слот1: Атрибуты слота1 [<роль2>] Слот2: Атрибуты слота2 … СлотN: Атрибуты слотаN Рис. 13. Структура фрейма Одной из характерных особенностей представления фреймами является назначение наследования (наследование атрибутов). Оно позволяет избежать дублирования информации и устранить противоречивые знания. Выводы во фреймовой системе исполняются обменом сообщениями между фреймами. Достоинствами фреймовой модели является естественность, наглядность представления и модульность, недостатком – отсутствие механизмов управления выводом. Отличие систем представления знаний, основанных на фреймах от систем управления базами данных, заключается в том, что в последних выполняется трансляция схемы БД и во время загрузки базы данных устанавливаются жесткие связи между экземплярами записей в соответствии со схемой. В базах знаний связи устанавливаются оперативно в зависимости от значения атрибутов или слотов в узле. 57 Фреймовая система не только описывает знания, но и может также использоваться человеком для написания алгоритмов вывода. Благодаря подобным свойствам, можно формально строить фреймовые системы в самом широком диапазоне. 3.6. Представление знаний семантическими сетями Семантические сети — это формализованное представление знаний в виде ориентированного графа, в котором множество вершин образуется объектами или ситуациями, а множество дуг – отношениями между ними. Выводы на семантических сетях определяются отношениями между множеством дуг, имеющих общие узлы. Если вершины не имеют собственной структуры, то соответствующие сети называют простыми сетями. Если вершины обладают некоторой структурой, то такие сети называют иерархическими. Одно из основных отличий иерархических семантических сетей от простых семантических сетей состоит в возможности разделить сеть на подсети (пространства) и устанавливать отношения не только между вершинами, но и между пространствами. Все вершины и дуги являются элементами по крайней мере одного пространства. Понятие пространства аналогично понятию скобок в математической нотации. Различные пространства, существующие в сети, могут быть упорядочены в виде дерева пространств, вершинам которого соответствуют пространства, а дугам — отношения видимости. На рис. 14 приведен пример дерева пространств, в соответствии с которым, например, из пространства Р6 (пространствопотомок) видимы все вершины и дуги, лежащие в пространствах-предках P4, P3, Р0, а остальные пространства невидимы. Отношение видимости позволяет сгруппировать пространства в упорядоченные множества — перспективы. Перспектива обычно используется для ограничения сетевых сущностей, видимых некоторой процедурой, работающей с сетью. Обычно в перспективу включают не любые, а иерархически сгруппированные пространства. 58 P0 P1 P3 P2 P4 P5 P6 P7 Рис. 14. Пример разбиения сети на пространства При необходимости в иерархических сетях можно представить любые логические связки и кванторы. Кроме представления логических связок и кванторов сеть может быть использована также для кодирования других структур высших порядков. При решении многих конкретных задач представление знаний только в виде семантических сетей оказывается неудобным или неэффективным. По этой причине в семантических сетях вводят механизм процедурных присоединений. Проблемой семантических сетей является смешение групп знаний, относящихся к совершенно различным ситуациям при назначении дуг между узлами, что делает сеть трудной для понимания. 3.7. Объектный подход к представлению знаний Наиболее развитым способом представления знаний в ЭС является объектно-ориентированная парадигма. Этот подход является развитием фреймового представления. В его основе лежат понятия объект и класс. В реальном мире, а точнее в интересующей разработчика предметной области, в качестве объектов могут рассматриваться конкретные предметы, а также абстрактные или реальные сущности. Объект обладает индивидуальностью и поведением, имеет атрибуты, значения которых определяют его состояние. 59 Каждый объект является представителем некоторого класса однотипных объектов. Класс определяет общие свойства для всех его объектов. К таким свойствам относятся состав и структура данных, описывающих атрибуты класса и соответствующих объектов, и совокупность методов — процедур, определяющих взаимодействие объектов этого класса с внешней средой. Например, описание класса автомобиль может включать такие атрибуты, определяющие состояние объектов, как название и тип, которые индивидуальны для каждого объекта этого класса – конкретного автомобиля, штатную комплектацию, количество оставшегося топлива, а также методы: перемещение заданным курсом и скоростью и т.д. Объекты и классы обладают характерными свойствами, которые активно используются при объектно-ориентированном подходе и во многом определяют его преимущества. К этим свойствам относятся перечисленные ниже. Инкапсуляция — это скрытие информации [8]. При объектноориентированном программировании имеется возможность запретить любой доступ к атрибутам объектов, доступ возможен только через его методы. Внутренняя структура объекта в этом случае скрыта от пользователя, объекты можно считать самостоятельными сущностями, отделенными от внешнего мира. Для того чтобы объект произвел некоторое действие, ему извне необходимо послать сообщение, которое инициирует выполнение нужного метода. Инкапсуляция позволяет изменять реализацию любого класса объектов без опасения, что это вызовет нежелательные побочные эффекты в программной системе. Тем самым упрощается процесс исправления ошибок и модификации программ. Наследование — возможность создавать из классов новые классы по принципу "от общего к частному". Наследование позволяет новым классам при сохранении всех свойств классов-родителей (называемых в дальнейшем суперклассами) добавлять свои черты, отражающие их 60 индивидуальность. С точки зрения программиста новый класс должен содержать только коды и данные для новых или изменяющихся методов. Сообщения, обработка которых не обеспечивается собственными методами класса, передаются суперклассу. Наследование позволяет создавать иерархии классов и является эффективным средством внесения изменений и дополнений в программные системы. Полиморфизм — способность объектов выбирать метод на основе типов данных, принимаемых в сообщении. Каждый объект может реагировать посвоему на одно и то же сообщение. Полиморфизм позволяет упростить исходные тексты программ, обеспечивает их развитие за счет введения новых методов обработки. Объектно-ориентированный подход заключается в представлении системы в виде совокупности классов и объектов предметной среды. При этом иерархический характер сложной системы отражается в виде иерархии классов, а ее функционирование рассматривается как взаимодействие объектов, с которыми ассоциируются, например, продукционные правила. Ассоциирование продукционных правил ЭС с иерархией классов осуществляется за счет использования общих правил, в качестве префикса которых обычно используется ссылка на класс, к которому данное правило применимо. Указанный префикс с точки зрения декларативного представления знаний семантически подобен квантору всеобщности в исчислении предикатов. 3.8. Методы построения машины вывода экспертной системы Несмотря на то, что основой интеллектуальности экспертных систем является способ представления знаний и объем базы знаний, необходимо уделить должное внимание и функционированию машины вывода. Если основная часть машины вывода – интерпретатор, как правило, определяется выбранным способом представления знаний, то планировщик требует отдельного рассмотрения, так как принципы его построения могут быть 61 общими при различных формах представления знаний в ЭС. Основным отличием планировщика машины вывода ЭС от управляющих структур в традиционном программировании связан с необходимостью использовать в экспертных системах нетрадиционные методы управления, вызванной в первую очередь неформализованностью решаемых ими задач. Особенности неформализованных задач с точки зрения организации управления приводят к тому, что процесс решения таких задач не удается представить в виде детерминированной последовательности правил (программных модулей). Здесь в некоторый текущий момент к исполнению пригодно несколько правил (или одно правило, но над разными данными), причем не существует надежной информации, позволяющей предпочесть одно правило другому. Задача управляющей компоненты состоит в том, чтобы обеспечить функционирование системы в подобных условиях. В традиционном программировании модули (программы) вызываются по имени, поэтому программист в ходе составления и отладки программы должен выявить множество всех мыслимых ситуаций, которые возникнут в ходе работы общей программы при различных входных данных; в каждой точке, где завершается работа одного модуля, в явном виде (указав имя модуля и перечень используемых им данных) необходимо запрограммировать однозначный переход к очередному модулю. Такая организация управления не позволяет решать неформализованные задачи. Основные отличия управляющей компоненты экспертных систем от традиционных механизмов управления состоят в следующем: — отдельные модули (правила) вызывают не по имени, а по описанию ситуации; — способ взаимосвязи модулей (правил) формируется в процессе решения задачи, так как выбор очередного модуля (правила) зависит от текущей ситуации и не может быть сформирован заранее. Основным механизмом, обеспечивающим разнообразное управление в рамках общей схемы работы интерпретатора, являются стратегии. 62 Стратегии можно рассматривать по крайней мере с трех точек зрения: как средство разрешения конфликтов; как способ представления метазнаний и как средство повышения эффективности метода, встроенного в механизм вывода (интерпретатор). Первая точка зрения важна в случаях, когда размер конфликтного множества достаточно велик. При этом во избежание слепого исчерпывающего поиска необходимо использовать знания, направляющие процесс выбора текущего модуля. Ясно, что качество сделанного выбора будет сильно влиять на «интеллектуальность» системы. Во многих системах знания, на основании которых осуществляется указанный выбор, не являются явными и не выражены в достаточно общей форме. В первом приближении стратегией можно называть знания о том, какой модуль (правило) следует выбрать при наличии нескольких модулей, пригодных к работе. В более общих терминах стратегии можно рассматривать как метазнания о том, как и когда использовать различные источники знаний объектного уровня (знания о предметной области). Метазнания могут выражать знания о разбиении задачи на подзадачи, знания о кооперации источников знания, знания о наличии различных стратегий поиска. Необходимо подчеркнуть важность явного задания подобных знаний, то есть задания знаний в такой форме, которую система может анализировать. Явное задание знаний обеспечивает гибкое поведение системы. Кроме того, стратегии традиционно рассматривают как средство повышения эффективности некоторого общего метода. Таковы, например, стратегии, ограничивающие принцип резолюции в логических системах. В более общих терминах стратегии можно рассматривать как любые знания о том, как, когда и какие модули (правила) использовать: стратегии можно рассматривать не только как средство оптимизации некоторого метода, но и как средство для выбора (и даже для определения) метода. 63 Приведем классификацию стратегий, используемых в экспертных системах, по следующим параметрам: общность; явное или неявное задание; содержание. По принципам общности стратегии можно классифицировать следующим образом: стратегии, не зависящие от способа представления знаний; стратегии, не зависящие от предметной области; стратегии, учитывающие специфику предметной области, и стратегии, учитывающие специфику цели. Примерами общих стратегий, не зависящих от способа представления, являются стратегии поиска от целей или от данных. Примером стратегий, не зависящих от предметной области, является стратегия множества поддержки, используемая при доказательстве теорем в исчислении предикатов. Отметим, что данная стратегия зависит от выбранного способа представления, так как она применима только в контексте доказательства теорем и исчисления предикатов. Однако эта стратегия применима к любой области, где можно использовать технику доказательства теорем. Стратегии, учитывающие специфику области, имеют более ограниченное применение, чем стратегии первых двух типов, однако именно они позволяют использовать знания о конкретной области для получения качественных и эффективных решений. Стратегии, учитывающие специфику цели, позволяют управлять процессом решения в зависимости от текущих задач системы. Стратегии можно разделить на заданные явно и неявно. Стратегия задана явно, если она может быть идентифицирована как отдельная сущность системы, то есть смена стратегии проходит для системы безболезненно. Неявные стратегии иногда подразделяют на концептуально неявные и неявные по выполнению. Концептуально неявными являются стратегии, механизм которых рассредоточен по системе. Например, их результат проявляется как побочный эффект выполнения какой-либо другой части системы. Стратегии, неявные по выполнению, – это стратегии, основные 64 идеи которых выражены явно, но при этом из-за специфики выполнения имеется некоторая вложенность стратегий в другие конструкции системы. Не касаясь специфики предметной области, содержание стратегии можно охарактеризовать по крайней мере тремя независимыми параметрами: масштабом, составом знаний, используемых стратегией и полезностью стратегии. Параметр «масштаб» делит все стратегии на локальные и глобальные. Локальными называют те стратегии, которые определяют поведение интерпретатора в текущем цикле его работы, в отличие от глобальных стратегий, которые определяют некоторую линию рассуждений интерпретатора, то есть последовательность выполняемых (предполагаемых к выполнению) циклов (шагов). Параметр «состав используемых знаний» делит знания на два класса: знания о текущем цикле работы интерпретатора и знания об истории работы интерпретатора. Заметим, что теоретически для работы экспертной системы достаточно только текущих знаний, однако на практике в целях повышения эффективности систем используют и знания об истории работы. Параметр «полезность» подразделяется на индивидуальную и сравнительную полезность. Индивидуальная полезность характеризует некоторое знание само по себе, вне сравнения его с другими знаниями. Сравнительная полезность характеризует ценность некоторого знания по сравнению с другим знанием. 4. МЕТОДЫ ПОИСКА Методы решения задач, основанные на сведении их к поиску, зависят от особенностей предметной области, в которой решается задача, и от требований, предъявляемых пользователем к решению. Особенности предметной области с точки зрения методов решения можно характеризовать следующими параметрами: — размер, определяющий объем пространства, в котором предстоит искать решение; 65 — изменяемость области, характеризует степень изменяемости области во времени и пространстве (здесь будем выделять статические и динамические области); — полнота модели, описывающей область, характеризует адекватность модели, используемой для описания данной области. Обычно если модель не полна, то для описания области используют несколько моделей, дополняющих друг друга за счет отражения различных свойств предметной области; — определенность данных о решаемой задаче, характеризует степень точности (ошибочности) и полноты (неполноты) данных. Точность (ошибочность) является показателем того, что предметная область с точки зрения решаемых задач описана точными или неточными данными; под полнотой (неполнотой) данных понимается достаточность (недостаточность) входных данных для однозначного решения задачи. Требования пользователя к результату задачи, решаемой с помощью поиска, можно характеризовать количеством решений и свойствами результата и (или) способом его получения. Параметр «количество решений» может принимать следующие основные значения: одно решение, несколько решений, все решения. Параметр «свойства» задает ограничения, которым должен удовлетворять полученный результат или способ его получения. Параметр «свойства» может определять и такие особенности, как время решения («не более чем», «диапазон времени» и т.п.), объем памяти, используемой для получения результата, указание об обязательности (невозможности) использования каких-либо знаний (данных) и т.п. Сложность параметров, задачи, варьируется определяемая от простых вышеприведенным задач малой набором размерности с неизменяемыми определенными данными и отсутствием ограничений на результат и способ его получения до сложных задач большой размерности с изменяемыми, ошибочными и неполными данными и произвольными ограничениями на результат и способ его получения. Из общих соображений 66 ясно, что каким-либо одним методом нельзя решить все задачи. Обычно одни методы превосходят другие только по некоторым из перечисленных параметров. Рассмотренные ниже методы могут работать в статических и динамических проблемных средах. Для того чтобы они работали в условиях динамики, необходимо учитывать время жизни значений переменных, источник данных для переменных, а также обеспечивать возможность хранения истории значений переменных, моделирования внешнего окружения и оперирования временными категориями в правилах. Существующие методы решения задач, используемые в экспертных системах, можно классифицировать следующим образом: — методы поиска в одном пространстве — методы, предназначенные для использования в следующих условиях: области небольшой размерности, полнота модели, точные и полные данные; — методы поиска в иерархических пространствах — методы, предназначенные для работы в областях большой размерности; — методы поиска при неточных и неполных данных; — методы поиска, использующие несколько моделей, предназначенные для работы с областями, для адекватного описания которых одной модели недостаточно. Предполагается, что перечисленные методы при необходимости должны объединяться для того, чтобы позволить решать задачи, сложность которых возрастает одновременно по нескольким параметрам. Методы поиска решений в одном пространстве обычно делятся на поиск в пространстве состояний, поиск методом редукции, эвристический поиск и поиск методом «генерация-проверка». 4.1. Поиск в пространстве состояний Задача поиска в пространстве состояний обычно формулируется в теоретико-графовой интерпретации. 67 Пусть задана тройка (S0, F, ST), где S0 – множество начальных состояний (условия задачи); F – множество операторов задачи, отображающих одни состояния в другие; ST – множество конечных (целевых) состояний (решений задачи). В этой постановке решить задачу – значит определить такую последовательность операторов, которая преобразует начальные состояния в конечные. Процесс решения можно представить в виде графа G = (X, Y), где X = {х0 xi, ...} – множество (в общем случае бесконечное) вершин графа, каждая из которых отождествляется с одним из состояний, a Y – множество, содержащее пары вершин (xi, xj), (хi, xj) X. Если каждая пара (хi, xj) неупорядочена, то ее называют ребром, а граф – неориентированным. Если для каждой пары (хi, xj) задан порядок (направление), то пару (хi xj) называют дугой (ориентированным ребром), а граф называют ориентированным (направленным). Вершины пары (хi, xj) называют концевыми точками ребра (дуги). Поиск в пространстве состояний естественно представить в виде ориентированного графа. Наличие пары (хi, xj) свидетельствует о существовании некоторого оператора f (f F), преобразующего состояние, соответствующее вершине хi, в состояние xj. С точки зрения поиска в пространстве состояний для некоторой вершины xi уместно выделить множество всех направленных пар (хi, xj) Y, т.е. множество дуг, исходящих из вершины хi (родительской вершины), и множество вершин (называемых дочерними вершинами), в которые эти дуги приводят. Множество дуг, исходящих из вершины хi, соответствует множеству операторов, которые могут быть применены к состоянию, соответствующему вершине xi. Во множестве вершин X выделяют подмножество вершин Х0 Х, соответствующее множеству начальных состояний (So), и подмножество вершин ХT Х, соответствующее множеству конечных (целевых) состояний (ST). Множество ХT может быть задано как явно, так и неявно, через свойства, которыми должны обладать целевые состояния. 68 Граф G может быть задан явно и неявно. Неявное задание графа G состоит в определении множества Х0 Х (соответствующего множеству начальных состояний) и множества операторов, которые, будучи применимы к некоторой вершине графа, дают все ее дочерние вершины. Итак, граф G задает пространство состояний, т. е. пространство, в котором осуществляется поиск решения. Построение пространства осуществляется с помощью следующего процесса. Берется некая вершина х0 Х0, к ней применяются все возможные операторы, порождающие все дочерние вершины. Этот процесс называют процессом раскрытия вершин. Если получена целевая вершина, то она не раскрывается. Процесс построения пространства состояний заканчивается, когда все нераскрытые вершины являются целевыми, или терминальными (вершинами, к которым нельзя применить никаких операторов). В связи с тем, что пространство состояний может содержать бесконечное количество вершин, на практике процесс порождения пространства ограничивают либо временем, либо объемом памяти. В практических приложениях часто требуется обеспечить полноту поиска (организовать поиск так, чтобы все целевые вершины были найдены, если они существуют). Надежным способом обеспечения полноты является полный перебор всех вершин. Для задания процесса перебора необходимо определить порядок, в котором будут перебираться вершины графа. Обычно выделяют два основных способа поиска: поиск в глубину и поиск в ширину. При поиске в глубину сначала раскрывается та вершина, которая была построена самой последней. Глубина вершины в графе определяется следующим образом: 1. глубина начальной вершины равна нулю; 2. глубина неначальной вершины равна единице плюс глубина наиболее близкой родительской вершины. При практической реализации поиск направлении завершается в следующих случаях: 69 в глубину в некотором 1. при достижении целевой вершины; 2. при достижении терминальной вершины; 3. при построении в ходе поиска вершины, глубина которой превышает некоторую граничную глубину. При поиске в ширину вершины раскрываются в том же порядке, в котором они порождаются. Если в пространство состояний ввести операторы, переводящие состояние Si в предшествующее состояние Si-1, то поиск можно осуществлять не только в направлении от начального состояния к целевому, но и в обратном направлении. Поиск первого типа называют поиском от данных, или прямым поиском, а поиск второго типа — поиском от цели, или обратным поиском. Можно организовать поиск в двух направлениях одновременно. Такой поиск называют двунаправленным (или бинаправленным). На рис. 15 приведен пример решения задачи поиском в глубину (рис. 15, а) и в ширину (рис. 15, б). Вершины пронумерованы в том порядке, в котором они раскрываются (а не порождаются), целевые вершины помечены черными, а терминальные — белыми квадратами. 1 2 3 5 7 4 8 6 9 а) 1 2 5 3 6 4 7 8 9 б) Рис. 15. Пространство состояний, построенное поиском в глубину (а) и поиском в ширину (б) 70 При использовании каждого из способов могут быть найдены все решения. При переборе всего пространства оба метода будут анализировать одинаковое количество вершин, однако метод поиска в ширину будет требовать существенно больше памяти, так как он запоминает все пути поиска (а не один, как при поиске в глубину). 4.2. Поиск методом редукции При поиске методом редукции решение задачи сводится к решению совокупности образующих ее подзадач. Этот процесс повторяется для каждой подзадачи до тех пор, пока каждая из полученного набора подзадач, образующих решение исходной задачи, не будет иметь очевидное решение. Подзадача считается очевидной, если ее решение общеизвестно или получено ранее. Процесс решения задачи разбиением ее на подзадачи можно представить в виде специального направленного графа G, называемого И/ИЛИ-графом. Каждой вершине этого графа ставится в соответствие описание некоторой задачи (подзадачи). В графе выделяют два типа вершин: конъюнктивные вершины и дизъюнктивные вершины. Конъюнктивные вершины, или вершины типа И, вместе со своими дочерними вершинами интерпретируются так: решение задачи сводится к решению всех ее подзадач, соответствующих дочерним вершинам конъюнктивной вершины. Дизъюнктивные вершины, или вершины типа ИЛИ, вместе со своими дочерними вершинами интерпретируются так: решение задачи сводится к решению любой из ее подзадач, соответствующих дочерним вершинам дизъюнктивной вершины Во множестве вершин И/ИЛИ-графа выделяют подмножество начальных вершин, задач, которые следует решить, и подмножество конечных (целевых) вершин, заведомо разрешимых задач. Решение задачи при поиске методом редукции (при поиске в И/ИЛИ-графе) сводится к нахождению в И/ИЛИ-графе решающего графа, определение которого будет дано ниже. Заметим, что метод сведения задач к подзадачам является в некотором роде обобщением подхода с использованием 71 пространства состояний. Действительно, перебор в пространстве состояний можно рассматривать как тривиальный случай сведения задачи всегда к одной подзадаче. Графически для различения дизъюнктивной и конъюнктивной вершин дуги, исходящие из конъюнктивной вершины, соединяются дужкой при вершине. Пример графического представления разбиения задачи на подзадачи приведен на рис. 16: S0 – исходная задача, для решения которой требуется решить подзадачу S3 или подзадачи S1 и S2 Решение задачи S1 сводится к решению либо подзадачи S4, либо подзадачи S5. Решение подзадачи S3 сводится к решению подзадач S6 и S7. Решение задач S2, S5, S7 предполагается известным, решение задач S4 и S6 неизвестно. В приведенном примере задача S0 может быть решена либо путем решения задачи S3, либо путем решения задач S1 и S2. В связи с тем, что в И/ИЛИ-графе каждая вершина относится только к одному типу (либо И, либо ИЛИ), то для записи графа в виде И/ИЛИ-графа, надо ввести дополнительную вершину (вершина R1). На рис. 16 двойными линиями выделен решающий граф задачи S0, а конечные вершины обозначены зачерненными квадратами. Цель процесса поиска в И/ИЛИ-графе — показать, что начальная вершина разрешима, то есть для этой вершины существует решающий граф. Определение разрешимой вершины в И/ИЛИ-графе можно сформулировать рекурсивно следующим образом. 1. Конечные (целевые) вершины разрешимы, так как их решение известно по исходному предположению. 2. Вершина ИЛИ разрешима тогда и только тогда, когда разрешима по крайней мере одна из ее дочерних вершин. 3. Вершина И разрешима тогда и только тогда, когда разрешима каждая из ее дочерних вершин. Решающий граф определяется как подграф из разрешимых вершин, который показывает, что начальная вершина разрешима (в соответствии с 72 приведенным выше определением). На рис. 16 разрешимые вершины зачернены, а неразрешимые оставлены белыми. S0 S3 R S7 S 1 6 S S 1 2 S S 4 5 Рис. 16. Пример И/ИЛИ-графа На рис. 17 приведен пример поиска в ширину (рис. 17, а) и поиска в глубину (рис. 17, б). На рисунке вершины пронумерованы в том порядке, в котором они раскрывались; конечные вершины обозначены квадратами, разрешимые вершины зачернены, дуги решающего графа выделены двойными линиями. 1 2 4 8 3 5 7 6 9 1 0 Рис. 17. Пример разбиения задач на подзадачи 4.3. Эвристический поиск Методы поиска в глубину и ширину называют слепым поиском, поскольку в этих методах порядок раскрытия вершин предопределен и никак не зависит от расположения цели. При увеличении пространства поиска методы слепого поиска требуют чрезмерных затрат времени и (или) памяти. Стремление сократить время поиска привело к созданию эвристических методов поиска, то есть методов, использующих некоторую информацию о предметной области для рассмотрения не всего пространства поиска, а таких путей в нем, которые с наибольшей вероятностью приводят к цели. Один 73 способ сокращения перебора состоит в выборе более «информированного» оператора, который не строит так много вершин, не относящихся к делу. Другой способ состоит в использовании эвристической информации для определения на каждом шаге дальнейшего направления перебора. Для этого необходимо ввести меру «перспективности» вершины в виде некоторой оценочной функции. В некоторых случаях удается ввести такую оценочную функцию, что она, сокращая перебор, не теряет свойства полноты. Чаще же используемые эвристики, существенно сокращая перебор, влекут за собой потерю свойства полноты. Как правило, оценочные функции пытаются количественно оценить расстояние от текущей вершины до конечной. Из двух вершин при одинаковой глубине перспективней та, от которой меньше расстояние до цели. Для многих приложений, в частности для экспертных систем, применение количественных оценок не позволяет эффективно направлять процесс поиска. 4.4. Поиск методом «генерация-проверка» Процесс поиска может быть сформулирован в терминах «генерацияпроверка». Действительно, пространство поиска (пространство состояний или И/ИЛИ-граф), как правило, явно не задано. Поэтому для осуществления процесса поиска необходимо генерировать очередное возможное решение (состояние или подзадачу) и проверить, не является ли оно результирующим. Разумно потребовать, чтобы генератор удовлетворял требованиям полноты и неизбыточности. Говорят, что генератор является полным, если он обеспечивает генерацию всех возможных решений. Генератор является неизбыточным, если он генерирует каждое решение только один раз. Обеспечение свойства неизбыточности является важным, но трудновыполнимым, так как в соответствии с этим требованием не допускается генерация не только тождественных, но и синонимичных решений. При генерации текущего возможного решения (состояния или подзадачи) возникает проблема распределения знаний между генератором и устройством проверки. При слепом и эвристическом поиске генератор имеет 74 минимальные знания об области, достаточные для генерации всех возможных решений (состояний или подзадач), а устройство проверки определяет, не является ли очередное решение целевым. В принципе некоторые знания можно перенести из устройства проверки в генератор, чтобы он не генерировал решения, которые заведомо не могут привести к успеху. Увеличение знаний генератора об области приводит к сокращению пространства, повышаются в котором затраты на осуществляется генерацию поиск. каждого Однако очередного при этом состояния (подзадачи). Можно выделить важную форму метода «генерация-проверка», называемую «иерархическая генерация-проверка». В этом случае на верхнем уровне генератор вырабатывает не полное, а частично определенное решение (будем для краткости называть такие решения частичными). Каждое частичное решение описывает не все состояние, а только его некоторую часть, определяя таким образом класс возможных состояний. Идея состоит в том, что устройство проверки может уже по виду частичного решения определить, что оно (а следовательно, и все полные решения, которые могут быть получены из него) не ведет к успеху. Если же проверка не отвергает частичное решение, то на следующем уровне генератор продолжает вырабатывать из данного частичного решения все полные решения, а устройство проверки определяет, являются ли они целевыми. 4.5. Поиск в иерархии пространств Методы поиска в одном пространстве не позволяют решать сложные задачи, так как с увеличением размера пространства время поиска экспоненциально растет. При большом размере пространства поиска следует разбить общее пространство на подпространства и осуществлять поиск сначала в них. В качестве классического примера использования абстрактных пространств можно привести задачу определения кратчайшего пути на карте. Пусть требуется переехать из центра города А в центр города В. Если осуществлять поиск требуемого пути на детальной карте, 75 содержащей все улицы во всех городах, встретившихся по дороге, то задача может стать практически неразрешимой. При определении пути из города А в город В целесообразно спланировать маршрут по крупномасштабной карте (осуществить поиск в абстрактном пространстве), а затем по детальной карте спланировать выезд из города А и въезд в город В. В данном разделе будут рассмотрены методы, использующие общую идею иерархии пространств, но отличающиеся природой пространств. Методы поиска решения в иерархических пространствах обычно делятся на поиск в факторизованном пространстве, поиск в фиксированном и изменяющемся множестве пространств. 4.6. Поиск в факторизованном множестве пространств Во многих приложениях требуется найти все решения. Однако пространство поиска в практических приложениях бывает столь велико, что не позволяет применить слепые методы поиска. Применение эвристических методов в данном случае, как правило, также исключено, так как они не обеспечивают получение всех возможных решений. Если пространство поиска удается факторизовать, то поиск даже в очень большом пространстве можно организовать факторизованным, если эффективно. оно Пространство разбивается на называется непересекающиеся подпространства (классы) частичными (неполными) решениями. Причем по виду частичного решения можно определить, что оно не приведет к успеху, иначе говоря, что все полные решения, образованные из него, не приведут к целевым решениям. Поиск в факторизованном пространстве осуществляется на основе метода «иерархическая генерация-проверка» (см. выше). Генератор вырабатывает текущее частичное решение, затем проверяется, может ли это решение привести к успеху. Если текущее частичное решение отвергается, то из рассмотрения без генерации и проверки устраняются все полные решения этого класса. Если текущее частичное решение не отвергается, то генератор вырабатывает на его основе 76 все полные решения, а устройство проверки определяет, являются ли эти решения целевыми. Применение метода факторизации пространства ограничено тем, что для ряда областей не удается по частичному решению сделать заключение о его непригодности. Примерами таких областей являются задачи планирования и конструирования. Действительно, как правило, по фрагменту плана или конструкции нельзя сказать, что этот фрагмент не может являться частью полного решения. В этих случаях могут быть применены методы поиска, использующие идею абстрактного пространства. Методы различаются предположениями о природе этого пространства. Абстракция должна подчеркнуть важные особенности рассматриваемой задачи, позволить разбить задачу на более простые подзадачи и определить последовательность подзадач (план решения), приводящую к решению основной задачи. В простейшем случае пространство поиска разбивается на фиксированную последовательность подзадач (подпространств), с помощью которых можно решить любую исходную задачу. 4.7. Поиск в изменяющемся множестве иерархических пространств В ряде приложений не удается все решаемые задачи свести к фиксированному набору подзадач. План решения задачи в таком случае должен иметь переменную структуру и не может быть сведен к фиксированному набору подзадач. Для решения подобных задач может быть использован метод нисходящего уточнения (top-down refinement). Для того чтобы упростить процесс решения некоторой задачи в сложном пространстве, целесообразно получить обобщенное пространство (пространство меньшей размерности) и попробовать получить решение в этом пространстве. Указанный прием можно повторять многократно. При этом полный процесс решения задачи можно представить как нисходящее движение в иерархии пространств от наиболее абстрактного к конкретному, в котором получается окончательное решение. Существенной характеристикой такого процесса 77 являются поиск решения задачи в абстрактном пространстве, преобразование этого решения в решение более низкого уровня и т.д. Причем на каждом уровне вырабатывается окончательное решение и только затем осуществляется переход на следующий, более конкретный уровень. Внутри каждого уровня подзадачи рассматриваются как независимые, что создает частичное упорядочение абстрактных состоянии. Формирование более абстрактного пространства осуществляется путем игнорирования части описаний менее абстрактного пространства (на первом шаге — конкретного на основе пространства). ранжирования Игнорирование описаний по описаний степени осуществляется важности. Часто ранжирование осуществляется на основе учета степени неизменности фактов (наиболее абстрактны те описания, которые не могут изменяться). При этом абстрактные пространства, с одной стороны, должны для упрощения решения задачи обеспечивать значительное упрощение исходного пространства, а с другой стороны, должны быть подобны друг другу и конкретному пространству, чтобы процесс нисходящего переноса решения из более абстрактных пространств в менее абстрактные не требовал больших вычислительных затрат. Завершая описание метода нисходящего уточнения, отметим, что абстрактные пространства здесь создаются индивидуально в соответствии с решаемой задачей. Необходимо отметить, что метод базируется на следующих предположениях: 1. возможно осуществить частичное упорядочение понятий области, приемлемое для всех решаемых задач; 2. решения, принимаемые на верхних уровнях, нет необходимости отменять на более нижних. 4.8. Использование ограничений при поиске решения Ограничения можно рассматривать как способ частичного описания некоторых сущностей. Ограничения могут быть заданы как в числовой, так и в символьной форме. Примером задания ограничения в числовой форме 78 является любая формула, которая накладывает ограничения на соотношение входящих в формулу переменных. Ограничения могут быть использованы для представления целей в методах поиска в иерархических пространствах. Использование ограничений вместо получения конкретного решения дает возможность отложить принятие решения. Откладывание решения, как правило, вызвано недостаточной информацией. Вторая из указанных причин иллюстрирует важный феномен процесса решения задач — взаимодействие подзадач. Если для решения подзадач требуется их незначительная координация, то говорят, что подзадачи почти независимы. Обычно такие подзадачи имеют более одного решения, если при получении решения учитываются только локальные ограничения, то есть ограничения, вытекающие из самой подзадачи, а не из других подзадач, от которых данная подзадача почти независима. Если получать решение таких подзадач как независимых, то часто при объединении подзадач возникают несоответствия. Введение ограничений позволяет избежать преждевременного получения решений, учитывающих не все, а только локальные ограничения. Использование ограничений позволяет применять принцип наименьших свершений (см. ниже). Этот принцип позволяет переключать внимание с одной подзадачи на другую и избегать преждевременных решений. 4.9. Принцип наименьших свершений Основной недостаток метода нисходящего уточнения состоит в том, что он не имеет обратной связи. Метод предполагает, что одни и те же решения должны приниматься в одинаковых ситуациях при решении любой задачи. При решении ряда задач детализация решения, полученного на абстрактном уровне, оказывается невозможной, так как при построении абстрактного плана были опущены детали, препятствующие его уточнению, иначе говоря, требуется пересмотр абстрактного плана (решения). В подобных ситуациях целесообразно применение принципа 79 наименьших свершений. В соответствии с данным принципом решение не строится сразу до конца на верхних уровнях абстракции. Частичное решение детализируется постепенно, по мере появления информации, подтверждающей возможность решения и вынуждающей принять решение. Рассуждение, основанное на использовании принципа наименьших свершений, требует, чтобы система была в состоянии совершить следующие действия: 1. определить, когда накопилось достаточно информации для принятия решения; 2. приостанавливать работу над некоторой подзадачей, когда для решения нет достаточной информации; 3. переходить с одной подзадачи на другую, возобновляя выполнение приостановленной подзадачи при появлении недостающей информации; 4. объединять информацию, полученную различными подзадачами. Принцип наименьших свершений координирует процесс поиска решения с наличием необходимой информации и в соответствии с доступной информацией перемещает фокус активности по решению задачи от одной подзадачи к другой. Данный подход непригоден, когда существует много возможностей, но нет надежных оснований для выбора решения. В этих случаях необходимо использовать некоторые формы правдоподобных рассуждений или переходить на использование другой модели (см. ниже). 4.10. Метапространства в иерархии пространств При решении любой задачи многократно возникает вопрос: «Что делать на следующем шаге?» В простейшем случае решение предопределено методом поиска решения. При поиске в абстрактных и конкретных пространствах на каждом шаге решался вопрос о том, какой из операторов, существующих в проблемной области, применить к текущему состоянию проблемной области. Вопрос о том, как решающая программа это сделает, не обсуждался. Можно оказывать не явное, а косвенное влияние на определение того, «что делается на следующем шаге в проблемной области» путем 80 выбора того или иного метода, известного решателю. Подобный подход требует явного разграничения знаний о процессе решения и знаний о проблемной области. Для этого необходимы знания на метауровне. Решатель в метапространстве содержит явное описание процесса организации поиска, то есть описание состояний, операторов, условий применимости операторов, описание доступных методов (стратегий) поиска и способов их взаимодействия. Получить решение в метапространстве – это значит определить, какой метод (программа) будет применен на следующем шаге, другими словами, составить метаплан решения задачи. Метаплан, в отличие от абстрактного плана, выражается не в терминах операторов проблемной области, а в терминах методов (программ), известных решателю. Не существует причин ограничивать метазнания одним уровнем. По аналогии с факторизацией абстрактного пространства можно говорить о разбиении метапространства на метазадачи (методы, программы). Разбиение на метазадачи является полезным методом организации знаний в экспертных системах, однако в настоящее время еще далеко до общего теоретического осмысления данного вопроса. 4.11. Поиск в альтернативных пространствах Рассмотренные выше методы поиска исходят из молчаливой предпосылки, что знания о предметной области и данные о решаемой задаче являются точными и полными и для них справедливо следующее: 1. все утверждения, описывающие состояние, являются истинными; 2. применение оператора к некоторому состоянию формирует некоторое новое состояние, описание которого состоит только из истинных фактов. Однако при решении любых практических задач и особенно при решении неформализованных задач распространена обратная ситуация. Эксперту приходится работать в условиях неполноты и неточности знаний (данных) и, как правило, в условиях дефицита времени. Когда эксперт решает задачу, он использует методы, отличающиеся от формальных 81 математических рассуждений. В математических рассуждениях каждое заключение должно строго следовать из предыдущей информации. В противоположность этому в правдоподобных рассуждениях, основанных на здравом смысле, заключения основываются на частичной информации. В этом случае эксперт делает правдоподобные предположения, которые он не может доказать, тем самым вопрос об их истинности остается открытым. Все утверждения, полученные на основе этих правдоподобных предположений, также не могут быть доказаны. Один из способов обоснования предположений заключается в том, чтобы рассматривать их как возможные значения, задаваемые по умолчанию. Обычно человек знает, что некоторые предположения верны только при определенных условиях. Если информация, указывающая на нарушение этих условий, отсутствует, то предположение может быть высказано. Другое обоснование предположений базируется на рассмотрении рассуждения как процесса с ограниченными ресурсами. Можно считать, что предположение X имеет место, если, используя ограниченные ресурсы, нельзя доказать истинность противоположного утверждения. Предположение и выводы, сделанные на его основе, должны устраняться, если появилась информация, показывающая ошибочность этого предположения. Этот аспект в построении умозаключений с использованием предположений называется немонотонностью. Любая формальная система является монотонной, то есть если А, В и С есть некоторые высказывания, такие, что если В выводится из А, то В будет выводиться и из А С. Система немонотонна, если В выводится из А, но B выводится из А С. Для того чтобы система могла делать умозаключения, основанные на здравом смысле, при работе с неполными (неточными) данными и знаниями, она должна быть способна делать предположения, а при получении новой информации, показывающей ошибочность предположений, отказываться как от сделанных предположений, так и от 82 умозаключений, полученных на основе этих предположений. Мнение системы о том, какие факты имеют место, изменяется в ходе рассуждения, таким образом можно говорить о ревизии мнений. Следовательно, даже если рассматривать проблемную область как статическую, неполнота (и неточность) знаний и данных влечет за собой рассмотрение этой области при различных (и даже противоположных) предположениях, что, в свою очередь, приводит к представлению области в виде альтернативных пространств, соответствующих различным, возможно, противоречивым и (или) взаимодополняющим предположениям и мнениям. Мнение В можно представлять в виде отношения, состоящего из субъекта мнения а (индивида или системы, имеющих рассматриваемое мнение), объекта мнения р (то, о чем субъект имеет мнение) и обоснования мнения т (причины, по которым субъект имеет данное мнение), или в формальном виде — В(а, р, r) (а думает, что р, так как r). Будем говорить, что множество мнений, свойственных некоторому индивиду (системе), составляет его систему мнений. Основываясь на некоторой системе мнений, можно образовать пространство поиска, предназначенное для решения каких-либо задач. В ходе рассуждений человек (система) может менять свои мнения, образуя различные системы мнений. Совокупность мнений, которой система придерживается в текущий момент, будем называть активной системой мнений. Каждой из систем мнений соответствует свое пространство поиска, а все вместе они образуют альтернативные пространства. Для того чтобы изменить мнение, система должна быть способна рассуждать о зависимостях, существующих в активной системе мнений. Новые мнения могут быть следствием новой информации, полученной извне, или выведенной. Зависимости в системе мнений должны содержать сведения о мнениях, правилах вывода и обоснованиях (поддержках) мнений. Простейшим видом обоснования (justification) может являться информация о том, на каких мнениях основываются данные. 83 Остановимся на особенностях механизма поиска в альтернативных пространствах. В рассмотренных ранее методах поиск в некотором направлении прерывался при достижении целевого или терминального состояния. Если достигалось целевое состояние, то либо работа завершалась(при поиске одного решения), либо продолжался поиск следующего решения. При достижении терминального состояния необходимо вернуться в некоторое предыдущее состояние пространства и продолжить поиск в новом направлении. Обычно при реализации поиска использовался механизм бэктрекинга (backtracking). Бэктрекинг работает по принципу «Last In, Last Out» («последним вошел, первым вышел»), то есть сначала устраняется последнее рассматриваемое состояние, для реализации которого может быть применен механизм стека. Применение механизма бэктрекинга при поиске в альтернативных пространствах будет приводить к излишней неэффективности, так как все неудачи, возникшие при поиске в одном направлении, не запоминаются при переходе к поиску в другом направлении. Та же самая причина неудачи может заново обнаруживаться и на новом направлении. Механизм традиционного бэктрекинга отбрасывает слишком много информации. Осуществлять возврат целесообразно не к состоянию, непосредственно предшествующему данному, а к тому состоянию, которое является причиной возникновения неудачи. Поскольку причиной неудач являются предположения, (недоказуемые утверждения), при обнаружении неудачи необходимо возвращаться в состояние, где это предположение было сделано, и испытывать другое предположение. Для выполнения описанного способа поиска необходимо использовать информацию о зависимости, представленную в том или ином виде. 4.12. Системы с использованием нескольких моделей Все методы поиска, рассмотренные до сих пор, использовали при представлении проблемной области какую-то одну модель, то есть рассматривали область с какой-то одной точки зрения. При решении 84 сложных задач в условиях ограниченных ресурсов использование нескольких моделей может значительно повысить мощность системы. Объединение в одной системе нескольких моделей дает возможность преодолеть следующие трудности. Во-первых, переход с одной модели на другую позволяет обходить тупики, возникающие при поиске в процессе распространения ограничений. Во-вторых, использование нескольких моделей позволяет в ряде случаев уменьшить вероятность потери хорошего решения (следствие неполного поиска, вызванного ограниченностью ресурсов) за счет конструирования полного решения из ограниченного числа частичных кандидатов путем их расширения и комбинации. В-третьих, наличие нескольких моделей позволяет системе справляться с неточностью (ошибочностью) данных. Следует отметить, что использование нескольких моделей требует дополнительных знаний о том, как создавать и объединять различные точки зрения. 4.13. Выбор метода решения задач Выбор метода решения задачи зависит прежде всего от сложности задачи, которая определяется особенностями проблемной области и требованиями, предъявляемыми пользователем к решению задачи. Простые задачи характеризуются небольшой размерностью пространства поиска, точностью и полнотой данных, статичностью области, возможностью адекватного описания области с помощью одной модели. На практике встречается мало приложений, удовлетворяющих перечисленным требованиям. Сложные задачи характеризуются тем, что значение хотя бы одного из перечисленных параметров оказывается в них более сложным. Для преодоления трудностей, вызванных большим пространством поиска, используются методы, основанные на введении иерархии пространств (конкретных, абстрактных и метапространств). Простейший из этих методов основывается на факторизуемости пространства решений, что позволяет производить раннее отсечение. Метод обеспечивает получение всех 85 решений. Если пространство поиска не удается факторизовать, но при этом не требуется получать все решения или выбирать лучшее, то могут быть применены методы, использующие иерархию однородных абстрактных пространств. Если пространство поиска таково, что любая задача может быть сведена к известной заранее последовательности подзадач, то используется фиксированное абстрактное пространство. Эффективность этого метода определяется возможностью использовать безвозвратную стратегию. В тех случаях, когда решение задачи не может быть получено без механизма бэктрекинга, применяются более сложные методы. Метод нисходящего уточнения применим в том случае, когда все задачи не могут быть сведены к фиксированному набору подзадач, однако существует фиксированная упорядоченность понятий области и фиксированный частичный порядок между подзадачами. В случае, если подзадачи взаимозависимы, то есть для решения некоторой подзадачи может требоваться информация, получаемая другой подзадачей, и подзадачи не могут быть упорядочены, целесообразно применять принцип наименьших свершений. Этот подход позволяет приостанавливать решение подзадачи, для которой недостает информации, переходить к решению другой подзадачи и возвращаться к исходной задаче, когда отсутствующая информация станет доступной. Использование данного подхода требует более разнообразных знаний о решении задачи, чем в предыдущих случаях. При использовании разнообразных знаний о процессе решения становится целесообразным объединять принцип наименьших свершений с методами, использующими метазнания. Принцип наименьших свершений может приводить к образованию тупиков в процессе решения задачи, что препятствует использованию этого принципа в чистом виде. Для преодоления тупиков используют предположения или применяют метод нескольких моделей. Для преодоления трудностей, вызванных неполнотой и (или) неточностью данных (знаний), используют вероятностные, размытые и точные методы. 86 Все эти методы основываются на идее увеличения надежности путем комбинирования фактов комбинирования и использования фактов. метазнаний Неточные о подходы возможностях (вероятностные, псевдовероятностные, размытые) используют разнообразные априорные оценки, условные вероятности и размытые множества; точные подходы используют предположения и ревизию мнений при немонотонных рассуждениях. Для преодоления неадекватности модели проблемной области используются методы, ориентированные на использование нескольких моделей. Эти методы позволяют объединить возможности различных моделей, описывающих проблемную область с различных точек зрения. Кроме того, использование нескольких моделей позволяет уменьшить вероятность потери хорошего решения, несмотря на неполноту поиска, вызванную ограниченностью вычислительных ресурсов. 5. МЕТОДЫ ФОРМАЛИЗАЦИИ ЗНАНИЙ О ПРЕДМЕТНОЙ ОБЛАСТИ 5.1. Понятийная структура предметной области При построении описания выделенного фрагмента реальной действительности (предметной области) одним из основных допущений является предположение о том, что мир состоит из независимых объектов (предметов, процессов, вещей или сущностей), которые могут быть уникально идентифицированы. В дальнейшем при обозначении реальных объектов ПрО для однозначности будем использовать термин сущность. Сущность — это объект произвольной природы, принадлежащий реальному или виртуальному миру. На самом общем уровне сущности делятся на следующие категории (классы): предмет, свойство (атрибут), состояние, процесс, событие, оценка, модификатор, квантификатор, модальность. Любое понятие относится к одной из этих категорий. Сущность ПрО необходимо адекватным образом представить в памяти вычислительной машины, чтобы с ее помощью обеспечить поиск, анализ, 87 обработку и выдачу накопленной информации в форме, удобной для принятия решений. Эта задача может быть решена путем использования соответствующих средств описания ПрО, предоставляющих необходимые базовые понятия, инвариантные по отношению к любым ПрО, и правила, позволяющие строить более сложные синтаксические конструкции на основе базовых. Средства предоставления информации о ПрО различные исследователи называют по-разному. Под понятием (концептом) понимается класс сущностей, объединяемых на основе общности признанных (атрибутивных) структур. Наиболее естественным для человека способом описания любых сущностей ПрО является соотнесение с ними в собственной памяти совокупности определенных понятий (простых и сложных), образующих понятийную структуру предметной области, а в памяти компьютера — как правило, некоторых объектов, состоящих из атрибутов со значениями (хотя это не единственный способ реализации описания понятий в памяти компьютера). В ряде случаев вообще не делается попыток различения понятийной структуры и объектов предметной области, а сразу отмечается, что предметную область можно характеризовать совокупностью объектов, характеристик объектов и отношений между объектами. Справедливость подобных утверждений будет вполне очевидна после рассмотрения некоторых приведенных ниже определений. Под простым понятием понимается тройка, состоящая из имени, интенсионала и экстенсионала понятия. Имя понятия — любой идентификатор; интенсивная понятия — множество атрибутов (свойств) понятия с областями их определения; экстенсионал понятия — совокупность кортежей значений, удовлетворяющих интенсионалу; атрибуты — первичные характеристики данной ПрО, не подлежащие дальнейшей структуризации. 88 Сложные понятия — это понятия, образованные из ранее определенных понятий применением некоторых правил. Простота или сложность понятий является явлением относительным и изменяющимся с развитием науки, причем изменение статуса понятия возможно и в процессе разработки конкретной ИнС. Отметим также, что для определения понятийной структуры области необходимо выявление отношений на множестве понятий, которые являются отражением объективных законов ПрО или субъективных мнений специалистов. Классические модели данных (иерархические и сетевые) базируются на таких понятиях, как запись, атрибут и связь. Современные модели данных (реляционные и семантические) используют математическое понятие отношение, которое задается на множествах, и понятие объекта для представления сущностей ПрО в БД. В соответствии с данными определениями отметим следующее. Структура признаков — это совокупность взаимосвязанных признаков (атрибутов), характеризующих понятие, выделяющих его среди других понятий. Признаки, входящие в совокупность, называются существенными. Их состав определяется исходя из множества понятий, в котором необходимо выделить рассматриваемое. Совокупность существенных признаков, характеризующих понятие, называется его содержанием (интенсионалом). В силу ограниченного числа существенных признаков A1,...,Aj,...,Ak будем представлять содержание понятия А множеством A = {A1,...,Aj,...,Ak}. При этом содержание понятия должно отвечать взаимнопротивоположным требованиям полноты и неизбыточности. Совокупность существенных признаков можно рассматривать как координаты k-мерного признакового пространства. Оно должно отличаться от признакового пространства, характеризующего другое понятие. Если отойти от двух градаций 1-го признака — его наличия, либо отсутствия в анализируемом понятии — и определить меру схожести, то можно решать задачу выявления аналогии понятий. 89 Класс сущностей, объединяемых в понятие, называется его объемом (экстенсионалом). Сущности, входящие в объем понятия и называемые экземплярами, вариантами или фактами, задаются перечислением. Объем понятия, в отличие от его содержания, может варьироваться заданием ограничений. Знаковое представление понятий. Понятия именуются с помощью слов или словосочетаний естественного языка, которые играют роль знаков или имен. Таким образом, носителем знаковой формы представления знания является естественный язык. Он позволяет с применением символов (букв и цифр) зафиксировать любую информацию, в том числе и графическую. Такая специфическая форма информации, как музыкальная, записывается с помощью знаков специального вида (нотная запись). Для представления понятия в естественном языке используется слово или словосочетание, называемое именем. Оно играет роль идентификатора, выделяя понятие среди остальных. Имя или знак (sign) — единица языка, отражающая семантически сущность отображаемого мира, а синтаксически — субъект или объект высказывания. В пропозициональной функции имя представляется предметной переменной или константой. Знак — это заменитель некоторого объекта, явления или процесса, используемый для накопления, хранения, переработки и передачи информации или знаний. Пара, состоящая из имени и обозначаемого, в семиотике называется знаковой ситуацией. Сущности ПрО, на которые можно ссылаться с помощью имени или знака называются денотатами. Денотат знака — это конкретная сущность или предмет, на которые указывает данный знак. Денотат знака является способом интерпретации данного знака в рамках некоторой ситуации, рассматриваемой в ПрО. Денотат знака — это значение, которое может иметь знак в рамках данной знаковой ситуации. Можно указать на следующие основные свойства знаковой ситуации: 90 имена способны замещать денотаты. Например, имя понятия АВТОМОБИЛЬ может использоваться в качестве заместителя любого конкретного автомобиля; имя нетождественно денотату, оно не может полностью заменить денотат. Так, при алгебраических преобразованиях мы можем использовать буквенные обозначения чисел. Однако если не обходимо вычислить числовое значение выражения, то требуется подставить конкретные числа (денотаты) вместо букв; связь «имя — денотат» многозначна, т.е. некоторое имя может обозначать множество денотатов — омонимия, и наоборот, одному денотату можно поставить в соответствие несколько имен — синонимия. Схема и формулы понятий. Сущности, составляющие объем понятия, различаются с помощью признаков. Признаковые отношения предписывают одним понятиям выполнять роль некоторых качественных свойств по отношению к другим понятиям. Признаки понятий могут быть отнесены к одному из следующих типов: дифференциальные, характеристические и валентные. Дифференциальные признаки используются в качестве характеристики содержания понятия. Характеристические — это признаки, которые позволяют отличить сущности, относящиеся к объему одного и того же понятия. Валентные — это признаки, обеспечивающие связь между различными понятиями. Без потери общности можно считать такие связи бинарными. Признак характеризуется именем и значением. Можно выделить несколько типов значений признаков: логические, числовые, символьные и др. Имя признака вместе с его значением образует полное наименование соответствующего признака. Например, признак ВОЗРАСТ вместе со значением 30 лет образует наименование признака возраст 30 лет. 91 Имя признака позволяет указать ту семантическую роль, которую играет его значение в организации связи между сущностью и признаком, ее характеризующим. В предыдущем примере имя признака ВОЗРАСТ характеризует определенную роль понятия 30 лет по отношению к некоторой сущности, в качестве которой выступает конкретный человек. Разные понятия могут иметь один и тот же экстенсионал. Понятия «множество точек, равноудаленных от сторон данного угла» и «прямая, делящая угол на два равных угла», имеют одно и то же множество точек в качестве денотатов (биссектрису данного угла). Эти понятия имеют общий экстенсионал, но выражают различный смысл, который мы связываем с их интенсионалами. Следовательно, понятие не полностью характеризуется экстенсионалом. Необходимо учитывать также интенсиональный аспект понятия, который связан с его концептом. Интенсионал понятия — это тот смысл, который вкладывается в данное понятие, т. е. интенсионал характеризует концепт данного понятия, его содержание. Абстрагирование понятий. Абстракция понятий представляет собой основной механизм, с помощью которого человек познает окружающий мир. Абстракция — это выделение существенных признаков и связей понятий, используемых при решении данной задачи, и игнорирование несущественных. Абстрагирование является основным методологическим приемом при разработке программного обеспечения. Оно позволяет разбить решаемую задачу на подзадачи, каждая из которых проще исходной задачи. Причем при рассмотрении начальной задачи нет необходимости учитывать те детали и ту более подробную информацию, которые используются на этапе рассмотрения подзадач. В поле зрения должны находиться только те сведения, которые позволяют охватить проблему целиком и осуществить ее декомпозицию на более простые подзадачи. 92 Абстрагирование обеспечивает упорядочение, структуризацию и понимание информации о реальном мире, поэтому методы абстракции широко используются в формальном описании предметной области. Известны следующие основные типы абстрагирования понятий: агрегация, обобщение, типизация и ассоциация. Синтез и анализ понятий используются в абстракции агрегации. В процессе объединения понятий на основе их сходства или выявленного подобия порождается новое понятие, которое является обобщением исходных понятий. При установлении определенного сходства сущностей в процессе сравнения или сопоставления их признаков может порождаться новое более общее понятие, которое объединяет целый класс подобных понятий, что соответствует абстракции типизации. Если в процессе связывания понятий образуется новое понятие, а исходные понятия выступают в виде членов вновь порожденного понятия, то это абстракция ассоциации. Вследствие того, что для каждого метода абстрагирования возможно как повышение уровня абстракции, так и его понижение, можно выделить пары операций над понятиями: агрегация — декомпозиция, обобщение — специализация, типизация — конкретизация, ассоциация — индивидуализация. Данные виды абстракций фиксируют простейшие базовые отношения между понятиями и поэтому более подробно рассматриваются ниже. Агрегация понятий используется в тех случаях, когда вновь порожденное понятие включает исходные понятия в качестве своих компонент или составных частей. Например, понятие АВТОМОБИЛЬ включает в качестве своих составных частей такие компоненты, как КУЗОВ, ШАССИ и ДВИГАТЕЛЬ. Допустима точка зрения, когда признаки также рассматриваются как составные части понятия. Это означает, что понятие является агрегатом, состоящим из своих признаков. Семантическое отличие агрегации признаков 93 от агрегации понятий заключается в том, что признаки не определяются как независимые понятия ПрО и, следовательно, могут быть представлены в модели знаний только в том случае, когда описаны соответствующие базовые понятия. Абстракция агрегации выражает такую связь понятий, которая семантически обозначается как «часть — целое». Процессом, противоположным абстракции агрегации, является декомпозиция. При декомпозиции исходное понятие расчленяется на ряд независимых компонент, каждая из которых обладает лишь частью признаков исходного понятия. Абстракция агрегации используется в тех случаях, когда необходимо синтезировать сложное понятие, состоящее из совокупности более простых понятий. Если в результате данного процесса получается понятие, состоящее из других понятий, то можно говорить об иерархии агрегации. Например, понятие КУРС может включать понятие ГРУППА, которое в свою очередь включает понятие СТУДЕНТ. Таким образом, абстракция агрегации позволяет выразить семантику внутренних связей, существующих между отдельными элементами системы. При этом структура сложного понятия раскрывается путем его декомпозиции на совокупность составляющих понятий, называемых компонентами. Такая декомпозиция приводит к представлению анализируемого понятия в виде многоуровневой иерархической системы компонент, дающих описание внутреннего устройства сложного понятия. Обобщение понятий — это такая форма порождения нового понятия R на основе одного или нескольких подобных понятий Р и Q, когда порождаемое понятие R сохраняет общие признаки исходных понятий Р и Q, но игнорирует их более тонкие различительные признаки. В отличие от операции обычного объединения множеств, когда любые различия между элементами объединяемых множеств игнорируются, при выполнении операции размеченного объединения существовавшие различия 94 элементов исходных множеств сохраняются. Это означает, что для обобщения возможен противоположный процесс, когда исходное понятие может делиться на несколько более узких понятий. Такой процесс называется специализацией, или ограничением понятий. Следовательно, при обобщении подобные видовые понятия соотносятся с родовым понятием более высокого уровня, а при специализации, наоборот, родовые понятия делятся на два или более видовых понятия низшего уровня. Использование абстракций обобщения и агрегации и правил наследования признаков обеспечивает мощные механизмы накопления и обработки информации, хранящейся в БД и в БЗ, о фрагменте действительности. Абстракции агрегации и обобщения обеспечивают возможность структурированного описания предметной области без дублирования информации и возникновения противоречий и вместе с тем позволяют путем использования процедур логического вывода, основанных на правилах наследования признаков, произвести ее корректную переработку. Группировка объектов на основе соответствия их интенсионалов некоторому эталону называется типизацией, а полученный при этом класс объектов именуется типом. Например, класс объектов ЛИЧНОСТЬ может быть создан путем объединения таких понятий-сущностей, как Петров, Сидоров или Александров, при том условии, что совокупности основных признаков этих понятий совпадают. Обратным по отношению к процессу типизации является процесс порождения экземпляров. Понятие-тип обычно выражает то общее, что присуще некоторой совокупности сущностей ПрО. Причем это общее в первую очередь выражает однородность, индивидуальные отличия однотипность сущностей друг сущностей от друга, и игнорирует определяемые значениями признаков. Идентифицировать определенную сущность внутри типа можно только в том случае, когда заданы значения ее признаков. Набор признаков, 95 единственным образом идентифицирующий сущность внутри экстенсионала данного типа, обычно называют ключом. Таким образом, понятие-тип можно интерпретировать как отношение эквивалентности, которое задается на экстенсионале данного понятия. Так как всякое отношение эквивалентности может быть выражено через отношение БЫТЬ ЭТАЛОНОМ, то отсюда следует, что сущности принадлежат одному типу в том случае, когда они имеют общий эталон, который может быть отождествлен с их интенсионалом. Принадлежность сущностей одному типу позволяет переносить знания с одной сущности на другую. Так, можно утверждать, что сущности, принадлежащие экстенсионалу одного типа, имеют одинаковое внутреннее устройство, а значит, и обладают одной и той же схемой. Сопоставление абстракции типизации с абстракцией обобщения показывает, что типизация является частным случаем обобщения. Семантически типизация позволяет выразить отношение ЕСТЬ ЭКЗЕМПЛЯР между понятием-сущностью и понятием-типом и абстрагироваться от различий между описываемыми экземплярами. Ранее мы рассматривали такие отношения между понятиями, для которых определены специальные правила, позволяющие по интенсионалам исходных понятий перейти к интенсионалу искомого понятия, а также указать формулы, позволяющие определить его схему на основе схем базовых понятий. Однако при формальном описании очень часто встречается ситуация, когда нет необходимости в такой сильной интеграции понятий, хотя определенные связи между понятиями следует отразить. Данная возможность обеспечивается путем использования абстракции ассоциации. Связь между двумя независимыми понятиями, при которой необходимо учесть соответствие между экземплярами сущностей, принадлежащих экстенсионалам понятий одного или разных типов, называется ассоциацией. 96 Связи между интенсионалами и схемами для ассоциации в общем случае не определяются, однако в каждом конкретном приложении они должны быть специфицированы. Наиболее подходящей формой для указания данной информации является использование правил в виде хорновских дизъюнктов. Спецификация соотношений, связывающих интенсионалы понятий ассоциации в виде хорновских дизъюнктов, позволяет применять стандартные методы логического вывода. Сопоставление различных методов абстрагирования понятий показывает, что фундаментальными видами абстракций являются агрегация и обобщение. Абстракция типизации — лишь частный случай абстракции обобщения, когда игнорируются различия в интенсионалах и схемах обобщаемых понятий, а абстракция ассоциации эквивалентна абстракции агрегации по способу формирования экстенсионалов, но использует более частные методы комбинирования интенсионалов и схем, зависящие от исследуемой ПрО. Коренное различие между агрегацией и обобщением состоит в следующем. Агрегация обеспечивает понимание строения одних понятий ПрО через строение других понятий, связанных с первым определенным отношением. В обобщении, напротив, понимание строения понятий ПрО достигается через сравнение, сопоставление понятий между собой и выделение в них общей структуры, которая имеется во всех обобщаемых понятиях. 5.2. Формализованное представление базы знаний Для размещения базы знаний в компьютере ИнС с целью ее использования для решения прикладных задач, необходимо ее формальное описание с помощью математических моделей. Как уже упоминалось, представление знаний возможно с помощью декларативных и процедурных моделей. К типовым декларативным моделям обычно относят сетевую и фреймовую модели. Несмотря на то что они, как правило, содержат 97 процедурные составляющие, название дается по преимущественной декларативной составляющей. 5.2.1. Декларативные модели представления знаний Понятия могут быть простыми и сложными. Основным механизмом образования сложных понятий является связывание входящих в них понятий. В естественном языке мы находим многочисленные примеры предложений, которые выражают взаимосвязь понятий. Семантические модели представления знаний. Совокупность взаимосвязанных понятий образует семантическую сеть понятий; Эта сеть является концептуальной моделью ПрО. Обычно она состоит из понятий различных категорий: объектов, свойств, операций, событий и т. д. Семантическая сеть понятий содержит в первую очередь интенсиональные знания о ПрО. Если ПрО рассматривать как совокупность понятий и связей (отношений) между ними, то семантические сети дают возможность представлять знания о ПрО в наглядной и структурированной форме, что не всегда возможно при других способах представления знаний. Семантические сети понятий обеспечивают представление ПрО в виде ориентированного графа, вершинами которого выступают понятия, а ребрами — связи между ними. Если в сети предусмотрена иерархия обобщения, то при этом можно использовать механизм логического вывода, основанный на наследовании признаков. Например, начиная навигацию от исходного понятия, можно по ребрам связей достичь другого понятия за некоторое число шагов. Однако такая навигация может стать простым перебором вариантов, если путь продвижения по сети понятий не определен. Семантическую сеть можно рассматривать как композицию троек (синтагм) вида А r В, где А и В — два понятия, а r — связь между ними. Связь между понятиями семантической сети выражает минимальный объем знаний, простейший факт, относящийся к двум понятиям. Более сложные утверждения в рамках семантической сети могут быть определены путем выделения соответствующих подграфов. В естественном языке такие 98 подграфы выделяются с помощью отдельных законченных предложений, которые описывают определенные ситуации, возникающие между понятиями ПрО. Напомним, что ПрО в каждый момент времени может быть представлена в виде совокупностей сущностей, понятий и ситуаций. Выделенная совокупность сущностей, понятий и ситуаций ПрО называется ее состоянием. Любое изменение состояния ПрО будем связывать с некоторым событием в ПрО. Основной сферой использования событий являются ситуации, приводящие к изменению состояний понятий ПрО. Каждой ситуации можно поставить в соответствие некоторое утверждение или суждение об ее истинности или ложности, поэтому взаимосвязь группы понятий носит информационный характер, что позволяет считать ситуации основной категорией для описания ПрО. Различие методов концептуального моделирования в основном определяется теми формальными средствами, которые используются для описания ситуаций: в семантических сетях и фреймах — это понятия и их взаимосвязи, в логических методах — предикаты и логические формулы, в объектноориентированном подходе — объекты, классы и сообщения. Использование ситуаций обеспечивает механизм для декомпозиции семантической сети понятий, моделирующей ПрО, на боле простые, семантически связанные блоки понятий. Ситуация — простейшая логически законченная структура, которая может выступать в виде некоторого автономного блока семантической понятий, рассматриваемой ПрО. Основу модели семантической сети составляют понятия ПрО, представляемые вершинами. В системе SIMER-MIR вершины (узлы) сети делятся на события, атрибуты, комплексы признаков и процедуры. Под событиями здесь понимаются различные объекты ПрО: суждения, факты (индивидные понятия), результаты наблюдений, ре- комендации. События могут представляться как словосочетаниями, так и числами. События группируются тематически 99 или функционально в разделы. Имена последних должны отличаться от имен входящих в них событий. Одно событие может быть более чем в одном разделе. Если существование события возможно только при реализации всех его свойств, оно относится к полным событиям. Полным, в частности, является событие, имеющее единственный атрибут или комплекс признаков. Процедуры являются специфическими компонентами сети, выполняющими преобразование информации. Они позволяют вычислять значения одних атрибутов на основании других, оперируя как с числами, так и с символами. Для вывода знания события в сетевой модели делятся на исходные признаки и целевые гипотезы. Значения признаков предполагаются известными. Все признаки, помимо присущих им значений: Истинно (Да) и Ложно (Нет) — имеют еще два стандартных значения: Пока неизвестно и Неизвестно. При задании последнего значения признак исключается из рассмотрения. Значения исходных атрибутов либо выбираются из определенного списка, либо вводятся извне. Объектами вывода в рассматриваемой модели являются гипотезы. К ним относятся рекомендации, диагнозы, прогнозы и другие решения, определяемые спецификой ПрО. Условием вывода должно быть существование хотя бы одной гипотезы. В этом случае решением является оценка ее истинности. 5.2.2. Виды семантических связей Семантическая связь (СС) отражает отношение понятий в понятийной системе. В лексике им соответствуют лексемы любого вида, в том числе представляющие предикаторы «меньше», «равно», «если, то» и др. Модель фрейма была предложена М. Минским с целью борьбы с высокой размерностью сетевых моделей. Каждый фрейм (рамку, скелет) можно рассматривать как фрагмент сети, объединяющий сущности на основе 100 семантической близости. Например, с помощью фрейма можно описать такую локальную ситуацию, как обстановка в комнате, при составлении сетевой модели квартиры. Принципиальными особенностями фреймовой модели, отличающими ее от реляционной модели данных, являются: 1. возможность смешанного заполнения слотов константами (как в базе данных) и переменными; 2. возможность наличия пустых слотов; 3. размещение в слотах указателей на другие фреймы (наследование частей) для создания сети; 4. размещение в слотах имен выполняемых процедур. Использование аппарата ссылок позволяет реализовывать сложные модели представления знаний путем детализации любых понятий фреймов. Например, могут потребоваться знания о других поездах. Тогда в слот вместо поезда №1 будет помещена ссылка на список поездов. Там могут быть помещены сведения об уровне сервиса, количестве свободных мест и т.д. В свою очередь, если потребуется пояснить характеристики свободных мест (плацкартное/купейное, верхнее/нижнее, поперечное/боковое и т.д.), по ссылке заводится фрейм, содержащий эти характеристики. Аналогичным образом детализируется уровень сервиса. Таким образом, с помощью аппарата ссылок формируется иерархическая фреймовая сеть. Дочерний фрейм, на который делается ссылка, находится в отношении PART OF к своему родителю. Наличие процедур в слотах фрейма означает, что фреймовая модель (ФМ) является смешанной моделью представления знаний, в основу которой положена декларативная составляющая. Фреймом-прототипом называется фрейм, у которого значения всех или части слотов являются переменными ПрО, а фреймом-экземпляром (или фреймом-примером) — фрейм, у которого значения всех слотов являются константами. 101 Основной механизм вывода из ФМ — сопоставление (matching). Различают синтаксическое сопоставление, когда сравнивается структура единиц знания (фреймов или слотов), и семантическое сопоставление, когда сравнивается содержимое этих единиц. Результат сопоставления может быть бинарным (да/нет) или иметь параметрический характер (введенный параметр отражает степень сопоставимости образцов). Рассмотрим вывод на примере медицинской системы, состоящей из корневого фрейма DISEASE, семи фреймов для каждой болезни (типа template) и фреймов-экземпляров для каждой болезни (типа instance). Вывод начинается передачей сообщения в слот LOGIC фрейма DISEASE. При этом запускается присоединенная процедура MAINLOGIC, которая последовательно передает сообщения всем семи фреймам названий болезни. Из полученных на основе анализа данных во фреймах-экземплярах результатов делается вывод о наиболее вероятной болезни. Универсализм ФМ приводит к такому разнообразию конкретных реализаций, что достоинства и недостатки определяются уже не фреймовой идеологией, а конкретной реализацией. Характерными чертами фреймовых языков являются: 1. представление иерархической модели понятий ПрО и отвечающей ей совокупности экземпляров; 2. реализация связей и закономерностей ПрО присоединенными процедурами; 3. семантическое сопоставление понятий при поиске по образцу. В настоящее время универсальным средством для представления знаний являются объектно-ориентированные языки программирования, которые способны реализовать все особенности фреймовой модели. 5.3. Процедурные модели представления знаний К типовым процедурным моделям представления знаний относят, как правило, логические модели, реализуемые на языках алгебры логики (исчисления высказываний и предикатов), продукционные модели. 102 Логические модели представления знаний. При традиционном подходе к представлению информации для некоторой задачи приложений системный аналитик составляет алгоритм ее решения в виде процесса, а также явно задает требуемые операции и отношения между сущностями. Причем такое описание задачи неотделимо от процесса ее решения, а соответствующие операции и отношения определяются указанием конкретного способа их вычисления. Основное отличие логического способа представления знаний от ПрО заключается в отделении средств описания задачи от процедур вычисления. Логическое представление не является описанием процесса вычислений. Оно не содержит ни присваиваний, ни условных выражений, ни циклов. Логическое представление фрагмента ПрО обычно представляет собой совокупность правил, определяющих понятия и отношения между ними. Таким образом, в; основе логического представления лежит идея описания знаний о ПрО в виде некоторого множества утверждений, выраженных в виде логических формул, и получение решения построением вывода в некоторой формальной (дедуктивной) системе. Интерпретатор логических выражений, пользуясь логическим выводом, сам строит i необходимую цепочку вычислений на основе исходного описания. Семантика логического программирования. Для выяснения слабо логических программ необходимо каждой программе приписать некоторое значение, вычисляемое программой. Возможны три хода к определению семантики логических программ: декларативная семантика, процедурная (или операционная) семантика и вычислительная семантика. Декларативная семантика определяет такие значения конкретных отношений, заданных логическими формулами, когда они становятся истинными. В соответствии с процедурной семантикой условия, входящие в состав логической формулы, специфицируют процесс установления истинного значения данной формулы, т.е. условия тракт как последовательность 103 шагов, которые необходимо выполнить, чтобы .соблюдалось отношение, определяемое формулой. При выполнении запроса интерпретатор применяет по отношению к множеству логических формул некоторую стратегию решения задачи, которая определяет поведение интерпретатора в процессе обработки логической программы. Основное преимущество логических представлений — наличие регулярных методов вывода, в терминах которых можно определять процедуры доказательства. Второе преимущество логических методов состоит в возможности использования семантики, которая допускает разную трактовку в зависимости от целей логических представлений. Декларативная семантика может применяться в том случае, когда требуется решить задачу понимания ПрО, а процедурная семантика обеспечивает применение использования вычислительных машин для доказательства выводимости утверждений из логически заданных закономерностей о данной ПрО. Третье достоинство логических представлений заключается в простоте, лаконичности и единообразии употребляемой нотации для представления знаний о ПрО, что обеспечивает возможность создания однозначно интерпретируемых описаний баз знаний. Основной недостаток логических методов состоит в отсутствии принципов структуризации логических формул, составляющих основу базы знаний. Для больших баз знаний данное требование весьма существенно, так как без его соблюдения невозможно обеспечить цельность и знания. В непротиворечивость получаемых представлений. Продукционно-фреймовая модель представления соответствии со своим названием эта модель является смешанной, что позволяет сочетать преимущества составляющих моделей. Такая модель реализована в инструментальной системе Leonardo, предназначенной для создания, отладки и функционирования экспертных систем. 104 База знаний этой модели состоит из совокупности продукций (правил), задающих причинно-следственные отношения простыми и сложными объектами (сущностями). В качестве сложных объектов используются фреймы. На основе объектов-условий определяется значение выделенного объекта цель, играющее одной из гипотез. Вывод истинной гипотезы в этой модели может осуществляться в двух направлениях: прямом (от правил) и обратном (от цели), а также смешанным образом. При прямом выводе осуществляется обход дерева условий от корня до соответствующей заданным условиям гипотезы. При обратном выводе выполняется проверка истинности условий, при которых предполагаемая гипотеза оказывается истинной. ЗАКЛЮЧЕНИЕ Про БИБЛИОГРАФИЧЕСКИЙ СПИСОК 1. Амамия М., Танака Ю. Архитектура ЭВМ и искусственный интеллект. Пер с япон. — М.: Мир, 1993. 2. Андрейчиков А.В., Андрейчикова О.Н. Интеллектуальные информационные системы: Учебник. — М.: Финансы и статистика, 2004. 3. Башмаков А.И., Башмаков И.А. Интеллектуальные информационные технологии: Учеб. пособие. — М.: Изд-во МГТУ им. Н.Э. Баумана, 2005. 105 4. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. — СПб.: Питер, 2000. 5. Гаврилова Т.А., Червинская К.Р. Извлечение и структурирование знаний для экспертных систем. — М.: Радио и связь, 1992. 6. Гаскаров Д.В. Интеллектуальные информационные системы. — М.: Высш. шк., 2003. 7. Джексон П. Введение в экспертные системы. 3-е издание. Пер. с англ. — М.: Изд. дом «Вильямс», 2001. 8. Джонс М.Т. Программирование искусственного интеллекта в приложениях. — М.: ДМК Пресс, 2004. 9. Дюк В.А., Самойленко А. Data Mining: учебный курс. — СПб: Питер, 2001. 10.Искусственный интеллект: справочник. Кн.2. Модели и методы. / Под ред. Д.А. Поспелова. — М.: Радио и связь, 1990. 11.Кандрашина Е.Ю., Литвинцева Л.В., Поспелов Д.А. Представление знаний о времени и пространстве в интеллектуальных системах / Под ред. Д.А. Поспелова. — М.: Наука, 1989.. 12.Лорьер Ж.Л. Системы искусственного интеллекта. Пер. с франц. — М.: Мир, 1991. 13.Люгер Д.Ф. Искусственный интеллект. Стратегии и методы решения сложных проблем. 4-е издание. Пер. с англ. — М.: Изд. дом «Вильямс», 2003.. 14.Микони С.В. Модели и базы знаний. Учебное пособие. — СПб.: СПГУПС, 2000. 15.Минский М. Фреймы для представления знаний. Пер. с англ. — М.: Энергия, 1979. 16.Непейвода Н.Н. Прикладная логика. — Новосибирск: Изд-во НГУ, 2000. 17.Нечеткие множества в моделях управления и искусственного интеллекта / Под ред. Д.А. Поспелова. — М.: Наука, 1986. 106 18.Нильсон Н. Принципы искусственного интеллекта. Пер. с англ. — М.: Радио и связь, 1985. 19.Осипов Г.С. Приобретение знаний интеллектуальными системами. — М.: Наука, 1997. 20.Осуга С. Обработка знаний. Пер. с япон. — М.: Мир, 1989. 21.От моделей поведения к искусственному интеллекту. /Под ред. В.Г. Редько. М.: Комкнига, 2006. 22.Попов Э.В. Экспертные системы. — М.: Наука, 1987 23.Попов Э.В. Экспертные системы, решение неформализованных задач в диалоге с ЭВМ. — М.: Наука, 1987 24.Попов Э.В., Фоминых И.Б., Кисель Е.Б., Шапот М.Д. Статические и динамические экспертные системы. — М.: Финансы и статистика, 1996 25.Представление и использование знаний. Пер. с япон. / Под ред. Х.Уэно, М.Исидзука. — М.: Мир, 1989 26. Приобретение знаний / Под ред. С.Осуги, Ю.Саэки. — М.: Мир, 1990. 27. Радченко И.А. Интеллектуальные мультиагентные системы: учебное пособие. Балт. гос. техн. ун-т. СПб, 2006. 28. Рассел С., Норвиг П. Искусственный интеллект: современный подход, 2-е изд.: Пер с англ. — М.: Издательский дом «Вильямс», 2006. 29. Рыбина Г.В. Технология проектирования прикладных экспертных систем: Учеб. Пособие. — М.: МИФИ, 1988. 30.Рыков А.С. Методы системного анализа: многокритериальная и нечетка оптимизация, моделирование и экспертные оценки. — М.: Издво «Экономика», 1999. 31.Смородинский С.С., Батин Н.В. Алгоритмы и программные средства интеллектуальных систем принятия решений. Ч.2. — Мн.: БГУИР, 1994. 32.Страбыкин Д.А. Логический вывод в системах обработки знаний. — СПб.: СПГЭТУ, 1998. 107 33.Таунсенд К., Фохт Д. Проектирование и программная реализация экспертных систем на персональных ЭВМ. — М.: Финансы и статистика, 1990. 34.Тейз А., Грибомон П., Луи Ж. и др. Логический подход к искусственному интеллекту: от классической логики к логическому программированию. / Пер. с фр. — М.: Мир, 1990. 35. Уинстон П. Искусственный интеллект. Пер. с англ. — М.: Мир, 1980. 36. Уотермен Д. Руководство по экспертным системам. — М. Мир, 1989. 37.Финн В.К. Интеллектуальные системы: проблемы их развития и социальные последствия // Будущее искусственного интеллекта / Под ред. К.Е. Левитина, Д.А. Поспелова. — М.: Наука, 1991. 38.Хейес-Рот Ф., Уотерман Д., Ленат Д. Построение экспертных систем. — М.: Мир, 1987. 39.Хорошевский В.Ф. Автоматизация программирования экспертных систем: Учеб. Пособие. — М.: МИФИ, 1988. 40.Частиков А. П., Гаврилова Т.А., Белов Д.Л. Разработка экспертных систем. Среда CLIPS. — СПб.: БХВ-Петербург, 2003. 41.Шамис А.Л. Поведение, восприятие, мышление: проблемы создания искусственного интеллекта. — М.: Едиториал УРСС, 2005. ОГЛАВЛЕНИЕ ВВЕДЕНИЕ ........................................................................ 3 1. КЛАССИФИКАЦИЯ СИСТЕМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА .................................................................... 4 1.1. Определения и классификации в теории интеллектуализированных систем ....................................................................................................................... 6 1.2. Проблемная область искусственного интеллекта....................................... 14 1.3. Представление данных и знаний .................................................................. 15 1.4. Данные ............................................................................................................. 17 1.5. Знания .............................................................................................................. 22 2. ОБЩИЕ ПРИНЦИПЫ ПОСТРОЕНИЯ ЭКСПЕРТНЫХ СИСТЕМ ........................................................................... 26 2.1. Формальные основы экспертных систем..................................................... 26 2.2. Классификация экспертных систем ............................................................. 28 108 2.3. Типовая структура экспертной системы...................................................... 32 2.4. Общие подходы к представлению знаний в экспертных системах .......... 45 3. МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ В ЭКСПЕРТНЫХ СИСТЕМАХ....................................................................... 48 3.1. Продукционная модель представления знаний ......................................... 51 3.2. Логические модели представления знаний ................................................. 53 3.3. Метод резолюций и процедура резолюций ............................................ 54 3.4. Использование нечеткой логики для представления знаний .................... 54 3.5. Фреймовая модель.......................................................................................... 56 3.6. Представление знаний семантическими сетями ......................................... 58 3.7. Объектный подход к представлению знаний ............................................. 59 3.8. Методы построения машины вывода экспертной системы ....................... 61 4. МЕТОДЫ ПОИСКА. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5 4.1. Поиск в пространстве состояний .................................................................. 67 4.2. Поиск методом редукции .............................................................................. 71 4.3. Эвристический поиск ..................................................................................... 73 4.4. Поиск методом «генерация-проверка» ........................................................ 74 4.5. Поиск в иерархии пространств ..................................................................... 75 4.6. Поиск в факторизованном множестве пространств ................................... 76 4.7. Поиск в изменяющемся множестве иерархических пространств ............. 77 4.8. Использование ограничений при поиске решения ..................................... 78 4.9. Принцип наименьших свершений ................................................................ 79 4.10. Метапространства в иерархии пространств .............................................. 80 4.11. Поиск в альтернативных пространствах.................................................... 81 4.12. Системы с использованием нескольких моделей ..................................... 84 4.13. Выбор метода решения задач...................................................................... 85 5. МЕТОДЫ ФОРМАЛИЗАЦИИ ЗНАНИЙ О ПРЕДМЕТНОЙ ОБЛАСТИ ......................................................................... 87 5.1. Понятийная структура предметной области ............................................... 87 5.2. Формализованное представление базы знаний ........................................... 97 5.2.1. Декларативные модели представления знаний ....................................... 98 5.2.2. Виды семантических связей ..................................................................... 100 5.3. Процедурные модели представления знаний ............................................ 102 БИБЛИОГРАФИЧЕСКИЙ СПИСОК ................................... 105 109 Гущин Артем Николаевич Радченко Ирина Алексеевна Экспертные системы Редактор и корректор Г.М. Звягина Подписано в печать 2007. Формат 60х84/16. Бумага документная. Печать трафаретная. Усл. печ. л. Уч.-изд. л. Тираж 100 экз. Заказ № Балтийский государственный технический университет «Военмех» Типография БГТУ 190005, С.-Петербург, 1-я Красноармейская ул., д. 1 110