Министерство образования и науки Российской Федерации Балтийский государственный технический университет «Военмех» Кафедра информационных систем и компьютерных технологий А.Н. ГУЩИН ОСНОВЫ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ Учебное пособие Санкт-Петербург 2007 2 Гущин, А.Н. Основы представления знаний: учеб. пособие / А.Н.Гущин; Балт. гос. техн. ун-т. – СПб., 2007 – с. Пособие содержит общую классификацию подходов к представлению знаний и моделей представления знаний, основные принципы продукционных, логических (включая основы нечеткой логики), фреймовых моделей представления знаний, а также представления знаний семантическими сетями. Предназначено для студентов обучающихся по специальности «Теоретическая и прикладная лингвистика», а также для студентов обучающихся по специальностям «Автоматизированные системы обработки информации и управления» и «Информационные системы и технологии». Рецензенты: д-р техн. наук, проф. каф. корабельных систем управления СПбГЭТУ Д.А. Скороходов; канд. техн. наук, доц. каф. И3 БГТУ С.Г. Толмачев 3 ВВЕДЕНИЕ Представление и тесно связанное с ним манипулирование знаниями — это два направления развития теории баз знаний, являющихся одним из основных элементов интеллектуальных информационных систем. В рамках собственно проблемы представления знаний решаются задачи, связанные с формализацией и представлением знаний в информационных системах. Для этого разрабатываются специальные модели представления знаний и языки для описания знаний, выделяются различные типы знаний. Изучаются источники, из которых интеллектуальная система может черпать знания, и создаются процедуры и приемы, с помощью которых возможно приобретение знаний для интеллектуальных систем. В рамках проблемы манипулирования знаниями разрабатываются способы обеспечения интеллектуальных систем возможностями, необходимыми при решении поставленных задач. При этом рассматриваются следующие процессы: 1) оперирование знаниями; 2) пополнение знании (с помощью разрабатываемых способов на основе неполного описания знаний); 3) классификация хранящихся в системе знаний; 4) обобщение по тем или иным разработанным процедурам знания; 5) формирование на основе знаний абстрактных понятий; 6) осуществление достоверного и правдоподобного вывода на основе имеющихся знаний с помощью создаваемых методов; 7) использование моделей рассуждений, имитирующих особенности человеческих рассуждений. В качестве более наглядного введения в основы представления знаний далее предлагается выписка толкований основных терминов, ограничивающих данную проблему, из широко распространенных словарей по информатике и вычислительной техники. Следует сразу отметить, что для 4 части приведенных терминов в пособии будут даны существенно расширенные определения. Представление знаний — совокупность методов и моделей отображения знаний в памяти ЭВМ. Знания представляются в виде различных логико-лингвистических и других моделей. Хранилищем знаний является база знаний. База знаний — семантическая модель, предназначенная для представления в ЭВМ знаний, накопленных человеком в определенной области. Является основной составной частью интеллектуальных, в частности экспертных, систем. Для представления знаний используется ряд моделей, таких как семантическая сеть, процедуральная, фреймовая, продукционная и другие модели. Знания — вид информации, хранимой в БАЗАХ ЗНАНИЙ и отражающей знания человека — специалиста (эксперта) в определенной области; множество всех текущих ситуаций в объектах данного типа и способы перехода от одного описания объекта к другому. Для знаний характерны внутренняя интерпретируемость, структурируемость, связность и активность. Образно говоря, «Знания = Факты + Убеждения + Правила» Непосредственные знания — знания, полученные в результате прямого опыта, без помощи накопленных ранее знаний и правил логического мышления. Информация — 1) совокупность знаний о фактических данных и зависимостях между ними. Является одним из видов ресурсов, используемых человеком в трудовой деятельности и в быту. 2) в вычислительной технике — содержание, присваиваемое данным посредством соглашений, распространяющихся на эти данные; данные, подлежащие вводу в ЭВМ, хранимые в её памяти, обрабатываемые на ЭВМ и выдаваемые пользователям. Данные — информация, представленная в виде, пригодном для обработки автоматическими средствами при возможном участии человека 5 Язык — Совокупность символов, соглашений и правил, используемых для общения, отображения и передачи информации. В вычислительной технике — средство описания данных и алгоритмов решения задач. Естественный язык — язык, правила которого основываются на текущем употреблении без точного предварительного описания Искусственный язык — язык, правила которого точно установлены перед его использованием Интеллектуальная (информационная) система — автоматическая или автоматизированная система, использующая в своей работе элементы или полностью построенная как система искусственного интеллекта. То есть, использующая в своей работе моделирование определенных сторон мыслительной деятельности человека или же решающая неформализованные (и не формализуемые) задачи, не имеющего известного алгоритма для их решения. Предлагаемое учебное пособие состоит из шести разделов. В первом разделе приводится общая классификация подходов к представлению знаний и используемых моделей представления знаний. В последующих пяти разделах более подробно рассмотрены основные модели представления знаний: продукционные, логические, фреймовые модели, семантические сети, объектные модели представления знаний. При рассмотрении логических моделей представления знаний также приводятся основы нечеткой логики. 6 1. ПОДХОДЫ К ПРЕДСТАВЛЕНИЮ ЗНАНИЙ И МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ Характеристики любой искусственной интеллектуальной системы во многом зависят от модели представления знаний в ней – формального способа описания реального мира, который, в свою очередь, зависит от области использования данной интеллектуальной системы. В первую очередь, определим понятие «знания» через общую совокупность качественных свойств (специфических признаков знаний) и перечислим ряд особенностей, присущих этой форме представления информации в информационных системах и позволяющих охарактеризовать сам термин «знания» [1]. Прежде всего знания имеют более сложную структуру, чем данные (метаданные). При этом знания задаются как экстенсионально (т.е. через набор конкретных фактов, соответствующих данному понятию и касающихся предметной области), так и интенсионально (т.е. через свойства, соответствующие данному понятию, и схему связей между атрибутами). С учетом сказанного перечислим свойства. Внутренняя интерпретируемость знаний. Каждая информационная единица (ИЕ) должна иметь уникальное имя, по которому ИС находит ее, а также отвечает на запросы, в которых это имя упомянуто. Когда данные, хранящиеся в памяти, были лишены имен, то отсутствовала возможность их идентификации системой. Данные могла идентифицировать лишь программа. Если, например, в память ЭВМ нужно было записать сведения о студентах вуза, представленные в табл. 1., то без внутренней интерпретации в память ЭВМ была бы записана совокупность из четырех машинных слов, соответствующих строкам этой таблицы. При этом информация о том, какими группами двоичных разрядов в этих машинных словах закодированы 7 сведения о студентах, у системы отсутствует. Они известны лишь программисту. Таблица 1. Сведения о студентах Фамилия Год Факультет Курс рождения Иванов 1978 Экономический 2-й Петрова 1977 Механический 3-й Сидоров 1976 Транспортный 4-й Гришина 1975 Электротехнический 5-й При переходе к знаниям в память ЭВМ вводится информация о некоторой протоструктуре информационных единиц. В рассматриваемом примере она представляет собой специальное машинное слово, в котором указано, в каких разрядах хранятся сведения о фамилиях, годах рождения, специальностях и курсе. При этом должны быть заданы специальные словари, в которых перечислены имеющиеся в памяти системы фамилии, года рождения, название специальностей и курса. Все эти атрибуты могут играть роль имен для тех машинных слов, которые соответствуют строчкам таблицы. По ним можно осуществлять поиск нужной информации. Каждая строка таблицы будет экземпляром протоструктуры. В настоящее время СУБД обеспечивают реализацию внутренней интерпретируемости всех ИЕ, хранимых в базе данных. Структурированность (рекурсивная структурированность) знаний. Информационные единицы должны обладать гибкой структурой. Для них должен выполняться «принцип матрешки», т.е. рекурсивная вложимость одних ИЕ в другие. Каждая ИЕ может быть включена в состав любой другой, и из каждой ИЕ можно выделить некоторые составляющие ее ИЕ. Другими словами, должна существовать возможность произвольного установления между отдельными ИЕ отношений типа «часть — целое», «род — вид» или «элемент — класс». Связность (взаимосвязь единиц знаний). В информационной базе между ИЕ должна быть предусмотрена возможность установления связей различного типа. Прежде всего эти связи могут характеризовать отношения 8 между ИЕ. Семантика отношений может носить декларативный или процедурный характер. Например, две или более ИЕ могут быть связаны отношением «одновременно», две ИЕ — отношением «причина — следствие» или отношением «аргумент — функция». Приведенные отношения характеризуют декларативные знания. Различают отношения структуризации, функциональные отношения, каузальные отношения и семантические отношения. С помощью первых задаются иерархии ИЕ, вторые несут процедурную информацию, позволяющую находить (вычислять) одни ИЕ через другие, третьи задают причинно-следственные связи, четвертые соответствуют всем остальным отношениям. Между ИЕ могут устанавливаться и иные связи, например определяющие порядок выбора ИЁ из памяти или указывающие на то, что две ИЕ несовместимы друг с другом в одном описании. Перечисленные три особенности знаний позволяют ввести общую модель представления знаний, которую можно назвать семантической сетью, представляющей собой иерархическую сеть, в вершинах которой находятся ИЕ. Эти единицы снабжены индивидуальными именами. Дуги семантической сети соответствуют различным связям между ИЕ. При этом иерархические связи определяются отношениями структуризации, а семантические связи — отношениями иных типов. Семантическая метрика (семантическое пространство знаний с метрикой). На множестве ИЕ в некоторых случаях полезно задавать отношение, характеризующее ситуационную близость ИЕ, т.е. ас- социативную связь между ИЕ. Его можно было бы назвать отношением релевантности для ИЕ. Такое отношение дает возможность выделять в информационной базе некоторые типовые ситуации (например, «покупка», «регулирование движения на перекрестке»). Отношение релевантности при работе с ИЕ позволяет находить знания, близкие к уже найденным. Активность знаний. С момента появления ЭВМ и разделения используемых в ней ИЕ на данные и команды создалась ситуация, при 9 которой данные пассивны, а команды активны. Все процессы, протекающие в ЭВМ, инициируются командами, а данные используются этими командами лишь в случае необходимости. Для ИнС эта ситуация неприемлема. Как и у человека, в ИнС актуализации тех или иных действий способствуют знания, имеющиеся в системе. Таким образом, выполнение программ в ИнС должно инициироваться текущим состоянием информационной базы. Появление в базе фактов или описаний событий, установление связей может стать источником активности системы. Следует упомянуть о функциональной целостности знаний, т.е. возможности выбора желаемого результата, времени и средств получения результата, средств анализа достаточности полученного результата. Перечисленные пять особенностей ИЕ определяют ту грань, за которой данные превращаются в знания, а базы данных перерастают в базы знаний (БЗ). Совокупность средств, обеспечивающих работу со знаниями, образует систему управления базой знаний (СУБЗ). Однако к БЗ, в которых в полной мере была бы реализована внутренняя интерпретируемость, структуризация, связность, введена семантическая мера и обеспечена активность знаний, еще необходимо проделать определенный путь. Все приведенные выше качественные свойства знаний связаны со сложной природой знания, изучение которой происходит на междисциплинарном стыке таких наук, как кибернетика, лингвистика, психология и т.д. Знания также можно классифицировать по ряду признаков. Приведем классификацию по основным из них. По «глубине»: — Поверхностные знания (совокупность эмпирических ассоциаций и причинно-следственных отношений между понятиями предметной области) — Глубинные знания (абстракции, образы, аналогии, в которых отражается понимание структуры предметной области и взаимосвязь отдельных понятий) 10 По «жесткости»: — Жесткие знания (позволяют получать однозначные четкие рекомендации при заданных начальных условиях) — Мягкие знания (допускают множественные, расплывчатые решения и различные варианты рекомендаций) По номенклатуре (составу) знаний, используемых различными компонентами интеллектуальной системы: — Знания о процессах решения задач, используемые решателем (интерпретатором) — Знания о языке общения и способах организации диалога, используемые диалоговым компонентом (средствами общения) — Знания о способах представления и модификации знаний, используемые компонентом приобретения знаний — Специальные знания, используемые объяснительным компонентом Для представления знаний в интеллектуальных системах может использоваться процедурный, декларативный или смешанный плодход. Процедурные (императивные) парадигмы (процедурный подход) — как сделать? Декларативные парадигмы (декларативный подход) — что мы знаем? что хотим узнать? Промежуточное положение между процедурным и декларативным подходом занимает объектно-ориентированный подход (ООП): при рассмотрении объектов в программе, как моделей объектов реального мира — ООП можно отнести к декларативному подходу, при рассмотрении реализации поведения объектов — ООП можно отнести к императивному подходу. Перед тем как перейти к описанию конкретных моделей представления, выскажем несколько общих соображений. Часто вопрос 11 выбора модели представления знания сводят к обсуждению баланса между декларативным (ДП) и процедурным представлением (ПП). Различие между ДП и ПП можно выразить как различие между «знать что» и «знать как». ПП основано на предпосылке, что интеллектуальная деятельность есть знание проблемной среды, вложенное в программы, то есть знание о том, как можно использовать те или иные сущности. ДП основано на предпосылке, что знание неких сущностей («знать что») не имеет глубоких связей с процедурами, используемыми для обработки этих сущностей. При использовании ДП считается, что интеллектуальность базируется на некотором универсальном множестве процедур, обрабатывающих факты любого типа, и на множестве специфических фактов, описывающих частную область знаний. Основное достоинство ДП по сравнению с ПП заключается в том, что в ДП нет необходимости указывать способ использования конкретных фрагментов знания. Простые утверждения могут использоваться несколькими способами, и может оказаться неудобным фиксировать эти способы заранее. Указанное свойство обеспечивает гибкость и экономичность ДП, так как позволяет по-разному использовать одни и те же факты. В ДП знание рассматривается как множество независимых или слабозависимых фактов, что позволяет осуществлять модификацию знаний и обучение простым добавлением или устранением утверждений. Для ПП проблема модификации значительно сложнее, так как здесь необходимо учитывать, каким образом используется данное утверждение. Однако известно, что существует значительное количество сущностей, которые удобно представить в виде процедур и весьма трудно – в чисто декларативном представлении. Желание использовать достоинства ДП и ПП привело к разработке формализмов, использующих смешанное представление, то есть декларативное представление с присоединенными процедурами (например, фрейм-представление или сети с присоединенными процедурами) или процедурное представление в виде модулей с 12 декларативными образцами [2]. В наиболее совершенном виде эта проблема реализована в объектно-ориентированном подходе [3]. Модели представления знаний обычно делят на логические (формальные) и эвристические (формализованные). В основе логических моделей представления знаний лежит понятие формальной системы (теории). Примерами формальных теорий могут служить исчисление предикатов и любая конкретная система продукций. В логических моделях, как правило, используется исчисление предикатов первого порядка, дополненное рядом эвристических стратегий. Эти методы являются системами дедуктивного типа, так как в них используется модель получения вывода из заданной системы посылок с помощью фиксированной системы правил вывода. Дальнейшим развитием предикатных систем являются системы индуктивного типа, в которых правила вывода порождаются системой на основе обработки конечного числа обучающих примеров. В логических моделях представления знаний отношения, существующие между отдельными единицами знаний, выражаются только с помощью тех небогатых средств, которые предоставляются синтаксическими правилами используемой формальной системы. В отличие от формальных моделей эвристические модели имеют разнообразный набор средств, передающих специфические особенности той или иной проблемной области. Именно поэтому эвристические модели превосходят логические как по возможности адекватно представить проблемную среду, так и по эффективности используемых правил вывода. К эвристическим моделям, используемым в экспертных системах, можно отнести сетевые, фреймовые, продукционные и объектно-ориентированные модели. Следует отметить, что продукционные модели, используемые для представления знаний в экспертных системах, отличаются от формальных продукционных систем тем, что они используют более сложные конструкции правил, а также содержат эвристическую информацию о специфике проблемной среды, выражаемую часто в виде семантических структур. 13 В настоящее время для баз знаний экспертных систем применяются следующие модели представления знаний: – продукционные правила; – логическое исчисление; – фреймы; – семантические сети; – объектные модели. Более подробная классификация способов представления знаний в базах знаний экспертных систем приведена на рис. 1. Подходы к представлению знаний Процедурные Смешанные Объектноориентрованный подход Алгоритмическая реализация модели предметной области Декларативные Семантические сети с присоединенными процедурами Фреймы Продукционные Исчисление предикатов Семантические сети правила Эвристические (формализованные) Логические (формальные) Модели представления знаний Рис. 1. Способы представления знаний Формальные продукционные системы 14 Поскольку модель представления знаний должна позволять адекватно отображать некоторую предметную область, то производить детальное сравнение различных моделей между собой отдельно, вне контекста решения какой-либо конкретной задачи не имеет смысла. И тем более невозможно сказать, какой именно подход окажется способным решить любую задачу с максимальной эффективностью. Поэтому, в рамках данного учебного пособия ограничимся сравнением методов представления знаний на основе существующего к настоящему моменту опыту создания систем на их основе, по возможности приводя конкретные примеры. Контрольные вопросы 1. Особенности представления знаний в интеллектуальных системах? 2. В чем принципиальное отличие представления данных и знаний в ЭВМ? 3. Каковы классификация и состав знаний в интеллектуальных системах? 4. Подходы к представлению знаний? 5. Существующие модели представления знаний? 2. ПРОДУКЦИОННАЯ МОДЕЛЬ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ В продукционных системах база знаний состоит из базы данных и базы правил. База данных содержит факты, описывающие вводимые данные и состояние системы, они могут иметь различную форму, но у всех продукционных систем могут быть представлены как группа данных, содержащая имя данных, имена атрибутов, значения атрибутов [1, 2]. В наиболее простом случае, база знаний содержит набор продукционных правил вида: ЕСЛИ <условие>, ТО <действие>. Механизмом выводов в продукционных системах является интерпретатор правил. В 15 наиболее полном случае, обладающим большей выразительной способностью, правила имеют вид: (i ); Q; P; A B; N . Здесь A B — ядро, являющееся основным элементом продукции. Обычно оно интерпретируется фразой «Если А, то В». Под А обычно понимается условие существования заключения В; (i) — продукции, с помощью которого данная продукция выделяется из множества продукций. Именем может быть как номер, так и имя понятия, которому она соответствует; Q — сфера применения продукции, описывающая ПО или ситуацию. Это позволяет систематизировать продукции, что облегчает работу с системой продукций; Р — условие применимости ядра продукции (предикат). Если Р истинно, ядро продукции активизируется; N — постусловие продукции. Оно представляет собой процедуру, которую следует выполнить после успешной реализации ядра (необязательно сразу). Например, после покупки вещи у продавца их количество следует уменьшить на 1. Все части продукции, кроме ее ядра, являются факультативными. В зависимости от оценок реализации ядро делится на обязательное и необязательное. В качестве оценок реализации могут применяться вероятность, возможность, коэффициент уверенности. Например: Если А, то с большой долей уверенности реализовать В. Взаимосвязанный набор продукций образует систему. Основной проблемой вывода знания в системе продукций является выбор для анализа очередной продукции. Проиллюстрируем проблему следующим примером: а) А-»В; б) B&D-»A; в) AvB->D; г) D->C. Если истинно условие А, то кандидатами на выполнение являются продукции а) и в), если же истинны условия В и D, то — б), в) и г). Этот пример показывает, с одной стороны, неоднозначность выбора очередной продукции, а с другой — возможность распараллеливания 16 вычислений (одновременной реализации группы продукций). Конкурирующие продукции образуют фронт. Если порядок выполнения продукций важен, то имеется возможность в постусловиях указывать номера следующих продукций. В этом случае система продукций превращается в обычную программу. В противном случае для выбора очередной продукции применяются различные эвристики. 1. Приоритетный выбор. Приоритет может устанавливаться ста- тически или динамически. В первом случае продукции упорядочиваются в процессе построения модели в соответствии со спецификой ПО. Динамические приоритеты вырабатываются в процессе функционирования системы продукций, например в зависимости от времени нахождения продукции во фронте. 2. Принцип метапродукций. Он является разновидностью пре- дыдущего принципа. На основе анализа заданных признаков в условиях продукций, находящихся во фронте, метапродукции устанавливают порядок их выполнения. Если признаки, подлежащие анализу, фиксируются в рабочей памяти, принцип сводится к «классной доске». 3. Принцип стопки книг. Он основан на той идее, что наиболее часто используемая продукция является наиболее полезной. Готовые продукции образуют «стопку», в которой порядок определяется частотой ипользования продукций в прошлом. В этом методе нужно накапливать частоты. Этот принцип используется в планирующих системах роботов для систем относительно независимых продукций. 4. Принцип наиболее длинного условия. Из фронта выбирается та продукция, у которой стало истинным наиболее длинное условие выполнимости ядра. Принцип основан на той идее, что частные правила, относящиеся к узкому классу ситуаций, важнее общих правил, относящихся к широкому классу ситуаций. Используется в системах продукций, упорядоченных в отношении частное-общее. 17 Существуют два варианта организации цепочки выводов: суждение по цепочке вперёд и суждение по цепочке назад. При суждении по цепочке вперёд выполняются все правила, которые могут быть выполнены в настоящий момент, при их исполнении происходит модификация базы данных, которая может привести к возможности выполнения других правил из базы знаний. Основной недостаток состоит в том, что необходимо пройти всю цепочку, чтобы получить требуемый результат (излишние затраты времени и финансовых средств, то есть неоптимальная работа системы). Эффективнее вывод при суждении по цепочке назад: в базе правил отыскивается правило, содержащее искомый факт в правой части (после TO), а затем в базе данных ищутся факты, указанные в левой части правила (после ЕСЛИ). Если таких фактов нет, система пытается найти правила, позволяющие прийти к ним, и так происходит до тех пор, пока не будут найдены все требуемые факты ("удача рассуждения"), или же не будет исчерпана возможность их нахождения ("неудача рассуждения"). В общем виде функционирование продукционной системы представлено на рис. 2. Ввод Вывод База данных Интерпретатор База знаний Рис. 2. Функционирование продукционной системы Продукционная модель имеет следующие преимущества: — простоту и ясность основной единицы базы знаний (БЗ) — продукции; — независимость продукций и легкость модификации БЗ; 18 — строгость, простоту и изученность механизма логического вывода; — асинхронность и естественный параллелизм функционирования, что дает возможность использовать параллельные вычисления. К ее недостаткам относятся: — малая степень структуризации БЗ (всего 1—2 уровня знаний);неясность взаимных отношений продукций; — сложность оценки целостного образа знаний (выявление про- тиворечий); — неуниверсальность (не всякое знание удобно представлять в виде продукций). Контрольные вопросы 1. Состав и содержание базы знаний, использующей продукционной модель представления знаний? 2. В чем отличия сокращенной и полной формы продукционных правил? 3. Предусловия и постусловия в продукционных правилах? 4. Сравнение способов вывода по цепочке вперед и по цепочке назад? 5. Достоинства и недостатки продукционной модели? 3. ЛОГИЧЕСКИЕ МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ Логическое исчисление – применяются модели представления знаний с помощью предикатов (функций n-переменных произвольных типов, возвращающих логические значения "истина" или "ложь") и представление знаний в виде логически правильных формул. При обработке знаний с помощью исчисления предикатов исключительно важное значение приобретает возможность логически выводить новые факты и правила из некоторого заданного набора. Вообще, способность логики к порождению 19 ("логическому выводу") новой информации на основании старой представляет интерес в сфере программирования как средства для управляемого автоматизированного порождения логического вывода. Конструирование сложных высказываний из элементарных с помощью кванторов и логических связок подчиняется определенным правилам, называемым правилами построения. Образованные по этим правилам сложные высказывания называются правильно построенными формулами ППФ. Правила вывода - утверждения самого общего характера о взаимосвязях между допущениями и заключениями, которые с позиций исчисления предикатов всегда справедливы. В исчислении предикатов есть много различных правил вывода. Обладая для исчисления предикатов универсальной истинностью, они могут применяться либо для установления истинности утверждения в целом, либо для порождения заключения. Их можно использовать отдельно и в сочетании с другими правилами. К таким правилам, например, относится правило двойного отрицания: А |- ~(~А), правило А->В, А|-В, правило А->В, ~В|- ~А и т.д. Одно из отрицательных свойств исчисления предикатов – множество путей утверждения одного и того же положения. Другим недостатком можно считать то, что при автоматизации процесса обработки знаний с помощью логического вывода возникает ряд серьезных проблем, связанных с различной природой рассуждений в исчислении предикатов и ходом рассуждений, основанном на здравом смысле. Метод резолюций и процедура резолюций Метод резолюций позволяет справится с такими проблемами, как 1) выбор правил вывода и 2) порождение не относящихся к делу высказываний, путем сведения процедуры доказательства к применению единственного правила. В случае использования метода резолюций выполняется операция исключения высказывания из различных предложений, если эти 20 высказывания противоречивы (в одних предложениях отрицаются, в других - нет). Чтобы воспользоваться приемами решения задач на основе резолюций, предложения исчисления предикатов сначала приводят к упрошенной нотации, называемой "клаузальной формой" (Clause -предложение, составное высказывание). Любая представленная в клаузальной форме фраза состоит из серии высказываний (или их отрицаний), соединенных посредством связки ИЛИ, например, А V ~ В V С V ~D . В основе применения метода резолюции лежит операция исключения высказывания из различных предложений, если эти высказывания в одних предложениях отрицаются, а в других - нет. Пусть Высказывания l. ~B\/A 2. C\/B 3. ~С Цель – доказать A. Дополним список высказываний предложением ~А. 1. ~B\/A 2. C\/B 3. ~С 4. ~А Исключим А и ~А. Процесс исключения называется резолюцией, а получающийся остаток – резольвентой. После первого исключения получаем резольвенту: 1.~В 2. C\/B 21 З.~С Следующая резольвента: 2. C 3. ~C Наконец, получаем нулевую резольвенту. Если удается вывести пустое предложение, то истинность высказывания считается доказанной. К сожалению, сам по себе, метод резолюции не указывает, какие предложения следует выбирать для резолюции. Преимущество логических моделей состоит в единственности теоретического обоснования и возможности реализации системы формально точных определений и выводов. Недостатком таких моделей является то, что классическая логика не позволяет решать ряд задач, что может требовать включения временных, модальных и т.п. категорий, для которых отсутствуют автоматические системы вывода, а также сложность создания подсистемы объяснений. 3.1 ИСПОЛЬЗОВАНИЕ НЕЧЕТКОЙ ЛОГИКИ ДЛЯ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ Одним из способов, позволяющим решать более широкий класс задач на основе логических моделей, является применение нечеткой логики (fuzzy logic). Подход, основанный на идеях нечеткой логики, в последнее время все шире используется как при создании экспертных систем, так и при создании автономных управляющих систем. Также, как булева логика строится на основе понятия множеств, нечеткая логика строится на основе понятия нечетких множеств. То знание, которое использует эксперт при оценке признаков, обычно базируется скорее на отношениях между классами данных и классами 22 гипотез, чем на отношениях между отдельными данными и конкретными гипотезами. Большинство методик решения проблем в той или иной форме включает классификацию данных (сигналов, признаков и т.п.), которые рассматриваются как конкретные представители некоторых более общих категорий. Редко когда эти более общие категории могут быть четко очерчены. Конкретный объект может обладать частью характерных признаков определенной категории, а частью не обладать, принадлежность конкретного объекта к определенному классу может быть размыта. Предложенная Заде, теория нечетких множеств представляет собой формализм, предназначенный для формирования суждений о таких категориях и принадлежащих к ним объектах. Эта теория лежит в основе нечеткой логики (fuzzy logic) и теории возможностей (possibility theory). Классическая теория множеств базируется на двузначной логике. Выражения в форме аА, где а представляет индивидуальный объект, а А — множество подобных объектов, могут принимать только значение "истина" либо "ложь". После появления понятия "нечеткое множество" прежние классические множества иногда стали называть жесткими. Жесткость классической теории множеств стала источником ряда проблем при попытке применить ее к нечетко определенным категориям. Интуитивно кажется, что в противовес жестким множествам, нечеткие множество можно представить как множество с размытыми границами, где принадлежность элементов множеству может быть каким-то образом ранжирована. В таком случае можно говорить о том, что отдельный объект более или менее типичен для этого множества (категории). Можно с помощью некоторой функции/охарактеризовать степень принадлежности объектов X такому множеству. Функция f(x) определена на интервале [0,1]. Если для объекта X функция f(x) = 1, то объект определенно является членом множества, если f(x) = 0, то объект определенно не является членом множе- 23 ства. Все промежуточные значения означают степень членства объекта X в этом множестве. Ту роль, которую в классической теории множеств играет двузначная булева логика, в теории нечетких множеств играет многозначная нечеткая логика, в которой предположения о принадлежности объекта множеству, могут принимать действительные значения в интервале от 0 до 1. Используя концепцию неопределенности, вычисления значений сложных выражений производятся следующим образом. По аналогии с теорией вероятности, если F представляет собой нечеткий предикат, операция отрицания реализуется по формуле F(x) = 1 – F(x) Но аналоги операций конъюнкции и дизъюнкции в нечеткой логике не имеют никакой связи с теорией вероятностей. В нечеткой логике существует соглашение: если F и G являются нечеткими предикатами, то fFG(X) = min (fF(X),fG(X)) Аналог операции дизъюнкции в нечеткой логике определяется следующим образом: fFG(X) = max (fF(X),fG(X)) Здесь также очевидна полная противоположность с теорией вероятностей, в которой Р(А В) = Р(А) + Р(В) - Р(А В). Операторы обладают свойствами коммутативности, ассоциативности и взаимной дистрибутивности. Как к операторам в стандартной логике, к ним применим принцип композитивности, т.е. значения составных выражений вычисляются только по значениям выражений-компонентов. В этом операторы нечеткой логики составляют полную противоположность законам теории вероятностей, согласно которым при вычислении вероятностей 24 конъюнкции и дизъюнкции величин нужно принимать во внимание условные вероятности. Контрольные вопросы 1. Определение логической модели представления знаний. 2. Процедура резолюций. 3. Нечеткие множества. 4. Сравнение четкой и нечеткой логики 5. Достоинства и недостатки логической модели представления знаний 4. ФРЕЙМОВАЯ МОДЕЛЬ Фреймовая модель представляет собой систематизированный в общей теории технологический процесс памяти человека и его сознания. Она имеет все свойства, присущие языку представления знаний, и одновременно являет собой новый способ обработки информации. Фреймовая модель есть метод представления знаний, основанный на теории фреймов, опубликованной М.Минским в 1975 г., как одном из научных подходов к описанию знаний. Модель фрейма была предложена М. Минским с целью борьбы с высокой размерностью сетевых моделей. Каждый фрейм (рамку, скелет) можно рассматривать как фрагмент сети, объединяющий сущности на основе семантической близости. Например, с помощью фрейма можно описать такую локальную ситуацию, как обстановка в комнате, при составлении сетевой модели квартиры. Основой фреймовой модели является фрейм – структура данных о рассматриваемом объекте или ситуации. Фрейм — это некоторая структура для представления знаний, которая при ее заполнении соответствующими значениями превращается в описание конкретного факта, события или 25 ситуации. Фреймовую модель можно считать более специализированной по отношению к сетевой. Она основана на принципе кластеризации (фрагментация) знаний. Основной структурной единицей фрейма является слот, который может быть представлен в виде (имяслота):{(А,У)},{г,}, где А; — имя признака; V — его значения; г( — некоторая связь с другими-слотами. В качестве связей, в частности, могут использоваться отношения ЧАСТЬ-ЦЕЛОЕ, РОД-ВИД, ЕСТЬ-ЭКЗЕМПЛЯР и т. д. Фрейм представляет собой множество слотов. Каждый слот представляется определённой структурой данных – атрибутами слота. Структура фрейма приведена на рис. 3.1. Фрейм: Имя фрейма [<роль1>] Слот1: Атрибуты слота1 [<роль2>] Слот2: Атрибуты слота2 … СлотN: Атрибуты слотаN фрейма Рис. 3. Структура Каждый фрейм можно рассматривать как семантическую сеть, состоящую из выделенных вершин и связей. Верхний уровень фрейма представляет соответствующее понятие, а последующие уровни — терминальные слоты, которые содержат конкретные значения. В качестве примера рассмотрим следующую ситуацию: «Студент Сидоров получил книгу Л.Н. Толстого «Воскресение» в библиотеке им. Н.В. Гоголя, расположенной в Москве». Описание данной ситуации может быть представлено в виде фрейма: ПОЛУЧЕНИЕ: 26 ОБЪЕКТ (КНИГА: (Автор, Воскресение)); АГЕНТ (СТУДЕНТ: Л.Н. Толстой), (Фамилия, Сидоров)); (Название, МЕСТО (БИБЛИОТЕКА: (Название, им. Н.В. Гоголя), (Расположение, г. Москва)). Здесь ОБЪЕКТ, АГЕНТ и МЕСТО — это роли, которые играют слоты соответственно КНИГА, СТУДЕНТ и БИБЛИОТЕКА в рамках фрейма ПОЛУЧЕНИЕ. Одной из характерных особенностей представления фреймами является назначение наследования (наследование атрибутов). Оно позволяет избежать дублирования информации и устранить противоречивые знания. Выводы во фреймовой системе исполняются обменом сообщениями между фреймами. Достоинствами фреймовой модели является естественность, наглядность представления и модульность, недостатком – отсутствие механизмов управления выводом. Отличие систем представления знаний, основанных на фреймах от систем управления базами данных, заключается в том, что в последних выполняется трансляция схемы БД и во время загрузки базы данных устанавливаются жесткие связи между экземплярами записей в соответствии со схемой. В базах знаний связи устанавливаются оперативно в зависимости от значения атрибутов или слотов в узле. Принципиальными особенностями фреймовой модели, отличающими ее от реляционной модели данных, являются: — возможность смешанного заполнения слотов константами (как в базе данных) и переменными (при этом фреймом-прототипом называется фрейм, у которого значения всех или части слотов являются переменными ПО, а фреймом-эк-земпляром (или фреймом-примером) — фрейм, у которого значения всех слотов являются константами); — возможность наличия пустых слотов; — размещение в слотах указателей на другие фреймы (наследование частей) для создания сети; — размещение в слотах имен выполняемых процедур. 27 Использование аппарата ссылок позволяет реализовывать сложные модели представления знаний путем детализации любых понятий фреймов. Например, могут потребоваться знания о других поездах. Тогда в слот вместо поезда №1 будет помещена ссылка на список поездов. Там могут быть помещены сведения об уровне сервиса, количестве свободных мест и т.д. В свою очередь, если потребуется пояснить характеристики свободных мест (плацкартное/купейное, верхнее/нижнее, поперечное/боковое и т.д.), по ссылке заводится фрейм, содержащий эти характеристики. Аналогичным образом детализируется уровень сервиса. Таким образом, с помощью аппарата ссылок формируется иерархическая фреймовая сеть. Дочерний фрейм, на который делается ссылка, находится в отношении PART OF к своему родителю. Наличие процедур в слотах фрейма означает, что фреймовая модель (ФМ) является смешанной моделью представления знаний, в основу которой положена декларативная составляющая. Фреймовая система не только описывает знания, но и может также использоваться человеком для написания алгоритмов вывода. Благодаря подобным свойствам, можно формально строить фреймовые системы в самом широком диапазоне. Основной механизм вывода из фреймовой модели — сопоставление (matching)-Различают синтаксическое сопоставление, когда сравнивается струкура единиц знания (фреймов или слотов), и семантическое сопоставление, когда сравнивается содержимое этих единиц. Результат сопоставления может быть бинарным (да/нет) или иметь параметрический характер (введенный параметр отражает степень сопоставимости образцов). Существует ряд языков представления знаний, основанных на ФМ. В них присоединенные процедуры реализуются на ЛИСПе. К таким языкам относятся FRL, KRL и др. Фреймовую модель можно создавать и на обычных языках программирования, например C++. Универсализм ФМ приводит к такому разнообразию конкретных реализаций, что достоинства и недостатки определяются уже не фреймовой идеологией, а конкретной реализацией. 28 Характерными 1. чертами фреймовых языков являются: представление иерархической модели понятий ПО и отвечающей ей совокупности экземпляров; 2. реализация связей и закономерностей ПО присоединенными процедурами; 3. семантическое сопоставление понятий при поиске по образцу. В настоящее время универсальным средством для представления знаний являются объектно-ориентированные языки программирования, которые способны реализовать все особенности фреймовой модели. Однако то обстоятельство, что здесь знания, по существу, задаются процедурами, усложняет по сравнению с другими методами приобретение знаний. Кроме того, предполагается, что в сложных проблемах отношения между фреймами также становятся сложными. Контрольные вопросы 1. Основные черты фреймового подхода. 2. Возможные значения слота. Обращения к слоту-процедуре. 3. Вложенность и наследование фреймов. 4. Достоинства и недостатки фреймовой модели. 5. ПРЕДСТАВЛЕНИЕ ЗНАНИЙ СЕМАНТИЧЕСКИМИ СЕТЯМИ Семантические сети – это формализованное представление знаний в виде ориентированного графа, в котором множество вершин образуется объектами или ситуациями, а множество дуг – отношениями между ними. Обычно семантическая сеть состоит из понятий различных категорий: объектов, свойств, операций, событий и т. д. Выводы на семантических сетях определяются отношениями между множеством дуг, имеющих общие узлы. Если вершины не имеют собственной структуры, то соответствующие сети называют простыми сетями. 29 Семантическая сеть понятий содержит в первую очередь интенсиональные знания о ПО. Если ПО рассматривать как совокупность понятий и связей (отношений) между ними, то семантические сети дают возможность представлять знания о ПО в наглядной и структурированной форме, что не всегда возможно при других способах представления знаний. Семантические сети понятий обеспечивают представление ПО в виде ориентированного графа, вершинами которого выступают понятия, а ребрами — связи между ними. Если в сети предусмотрена иерархия обобщения, то при этом можно использовать механизм логического вывода, основанный на наследовании признаков. Например, начиная навигацию от исходного понятия, можно по ребрам связей достичь другого понятия за некоторое число шагов. Однако такая навигация может стать простым перебором вариантов, если путь продвижения по сети понятий не определен. Семантическую сеть можно рассматривать как композицию троек (синтагм) вида ArB, где A и B — два понятия, а r — связь между ними. Связь между понятиями семантической сети выражает минимальный объем знаний, простейший факт, относящийся к двум понятиям. Более сложные утверждения в рамках семантической сети могут быть определены путем выделения соответствующих подграфов. В естественном языке такие подграфы выделяются с помощью отдельных законченных предложений, которые описывают определенные ситуации, возникающие между понятиями предметной области. Произвольная предметная область в каждый момент времени может быть представлена в виде совокупностей сущностей, понятий и ситуаций. Выделенная совокупность сущностей, понятий и ситуаций предметной области называется ее состоянием. Любое изменение состояния предметной области будем связывать с некоторым событием в ней. Основной сферой использования событий являются ситуации, изменению состояний понятий предметной области. приводящие к 30 Каждой ситуации можно поставить в соответствие некоторое утверждение или суждение об ее истинности или ложности, поэтому взаимосвязь группы понятий носит информационный характер, что позволяет считать ситуации основной категорией для описания предметной области. Различие методов концептуального моделирования в основном определяется теми формальными средствами, которые используются для описания ситуаций: в семантических сетях и фреймах — это понятия и их взаимосвязи, в логических методах — предикаты и логические формулы, в объектно-ориентированном подходе — объекты, классы и сообщения. Использование ситуаций обеспечивает механизм для декомпозиции семантической сети понятий, моделирующей ПО, на более простые, семантически связанные блоки понятий. Ситуация — это простейшая логически законченная структура, которая может выступать в виде некоторого автономного блока семантической сети понятий, рассматриваемой ПО. Основу модели семантической сети составляют понятия ПО представляемые вершинами. Например, в системе SIMER-MIR вершины (узлы) сети делятся на события, атрибуты, комплексы признаков и процедуры. Под событиями здесь понимаются различные объекты ПО: суждения, факты (индивидные понятия), результаты наблюдений, рекомендации. События могут представляться как словосочетаниями, так и числами. События группируются тематически или функционально в разделы. Имена последних должны отличаться от имен входящих в них событий. Одно событие может быть более чем в одном разделе. События в системе делятся на характеризуемые и характеризующие (события-признаки). Например, событие Дождливая погода характеризуется событием Идет дождь. Это событие называется обусловленным признаком первого, ибо дождливая погода без дождя невозможна. 31 В зависимости от направления влияния на событие признаки делятся на положительные и отрицательные. В примере с дождем приведен положительный признак. Примером отрицательного признака является Сухая земля. Характеризующее событие, имеющее несколько значений, называется атрибутом. Например, свойством понятия Время года является Погода. Поскольку последняя имеет несколько значений: Холодная, Теплая, Дождливая — ее считают атрибутом понятия Времена года. Несколько признаков могут объединяться в комплекс, характеризующий событие в большей степени, чем отдельный признак. Если существование события возможно только при реализации всех его свойств, оно относится к полным событиям. Полным, в частности, является событие, имеющее единственный атрибут или комплекс признаков. Процедуры являются специфическими компонентами сети, выполняющими преобразование информации. Они позволяют вычислять значения одних атрибутов на основании других, оперируя как с числами, так и с символами. Для вывода знания события в сетевой модели делятся на исходные (признаки) и целевые (гипотезы). Значения признаков предполагаются известными. Все признаки помимо присущих им значений: Истинно (Да) и Ложно (Нет) — имеют еще два стандартных значения: Пока неизвестно и Неизвестно. При задании последнего значения признак исключается из рассмотрения. Значения исходных атрибутов либо выбираются из определенного списка, либо вводятся извне. Объектами вывода в рассматриваемой модели являются гипотезы. К ним относятся рекомендации, диагнозы, прогнозы и другие решения, определяемые спецификой ПО. Условием вывода должно быть 32 существование хотя бы одной гипотезы. В этом случае решением является оценка ее истинности. Виды семантических связей. Семантическая связь (СС) отражает отношение понятий в понятийной системе. В лексике им соответствуют лексемы любого вида, в том числе представляющие предикаторы «меньше», «равно», «если, то» и др. Внелексические свойства СС выражаются через рефлексивность, симметричность и транзитивность. Обозначим их значения следующим образом: Rf — рефлексивность; Nrf — нерефлексивность; Arf — антирефлексивность (ни одной рефлексии); Sm — симметричность; Ns — несимметричность; Ans — антисимметричность (ни одной симметрии); As — асимметричность (контекстное свойство — обращение связи дает иную связь из списка); Тг—транзитивность; Ntr— нетранзитивность. Относительно сочетания перечисленных свойств СС делятся на типы, представленные в (табл. 2.). Таблица 2 Свойства семантических связей Номер класса 1 2 3 4 Тип связи (X, Y) Каноническая форма Gen-генеративная Sit-ситуативная Neg- негативная Ins-инструментальная Соm-комитативная Соr-коррелятивная «X является элементом Y» «X находится Arf. Ns, Ntr в ситуации Y» «X отрицает Y» Arf, As, Tr Arf, Sm, Ntr «X является средством Y» Nrf; Ns, Ntr «X сопровождается Y» Rf, Ans, Tr «X иногда увеличивает возможность Y» Rf, Sm, Ntr Fin-финитивная Cous-каузальная Pot-потенсивная «X является целью Y» «X вызывает Y» «X может вызывать Y» Внелексические свойства семантических Свойство Arf, Ns, Ntr Nrf, Ns, Tr Nrf, Ns, Ntr связей в суждениях проверяются следующим образом. 1. Рефлексивность определяется по критерию подстановки: вместо объекта А подставляется объект В(АгВ —> ВгВ) и выбирается один из следующих ответов: 1) вполне возможно (тавтология) -» Rf; 33 2) не исключено —» Nrf; 3) невозможно —» Arf. 2. Симметричность определяется по критерию перестановки: объекты А и В меняются местами (АгВ —> ВгА) и выясняется справедливость полученного предложения. При утвердительном ответе высказыванию приписывается свойство Sm, в противном случае — свойство Ns. 3. Свойство Ns уточняется на более сильные свойства: Ans и As. Первое имеет место для любых примеров анализируемой связи. Например, для связи Com имеет место свойство Ans. 4. Для выявления свойства As используется критерий обращения: если высказывания А предикатор В и В предикатор А принадлежат различным типам высказываний в таблице, то имеет место свойство As. 5. Транзитивность выявляется на основе критерия трансформации, в высказывание вводится уточнение (как 2-я посылка). Например, в качестве уточнения в высказывание вводится модальность необходимости: если А, то необходимо появиться В. При справедливости такого высказывания оно относится к каузальному типу (Caus), в противном случае (модальность возможности) — к потенсивному типу (Pot). Типы связей в высказываниях разбиты в табл. 2 на четыре группы. Группы 1—3 отражают одномоментные зависимости, группа 4 — разномоментную зависимость между объектами высказывания (следствие реализуется позже посылки). Типы связей групп 1 — 3 различаются свойством рефлексии (Arf, Nrf, Rf соответственно). Внутри этих групп типы связей различаются по свойствам симметрии. Поскольку в группе 4 все связи обладают одинаковым свойством несимметрии Ns, для их различения используются свойства рефлексивности и транзитивности. 34 Таким образом, свойства одномоментности, рефлексивности, симметричности и транзитивности можно использовать в качестве признаков установления типов высказываний. Если вершины в семантической сети обладают некоторой структурой, то такие сети называют иерархическими. Одно из основных отличий иерархических семантических сетей от простых семантических сетей состоит в возможности разделить сеть на подсети (пространства) и устанавливать отношения не только между вершинами, но и между пространствами. Все вершины и дуги являются элементами по крайней мере одного пространства. Отметим, что понятие пространства аналогично понятию скобок в математической нотации. Различные пространства, существующие в сети, могут быть упорядочены в виде дерева пространств, вершинам которого соответствуют пространства, а дугам — отношения видимости. На рис. 4 приведен пример дерева пространств, в соответствии с которым, например, из пространства Р6 (пространство-потомок) видимы все вершины и дуги, лежащие в пространствах-предках P4, P3,Р0, а остальные пространства невидимы. 35 P0 P2 P1 P4 P3 P5 P7 P6 Рис. 4. Пример разбиения сети на пространства Отношение видимости позволяет сгруппировать пространства в упорядоченные множества – перспективы. Перспектива обычно используется для ограничения сетевых сущностей, видимых некоторой процедурой, работающей с сетью. Обычно в перспективу включают не любые, а иерархически изображении сгруппированные иерархических пространства. сетей обычно При графическом используют следующие соглашения: 1) вершины и дуги, лежащие в одном пространстве, ограничиваются на рисунках многоугольником (обычно прямоугольником); 2) дуга принадлежит тому пространству, в котором находится имя дуги; 3) пространство Рi (точнее ограничивающий его многоугольник), изображаемое внутри пространства PJ, считается потомком (внутренним уровнем), т.е. из Pi видимо Pj. Отметим, что пространство Pi может рассматриваться как супервершина, которая лежит в Pj Свойство невидимости позволяет повысить эффективность операции поиска в сети. 36 Например, при поиске конкретных фактов информация из кванторных утверждений и правил невидима, так как она заключена в пространствах, ограничивающих эти утверждения и правила. При необходимости в иерархических сетях можно представить любые логические связки и кванторы. На рис. 5 приведено представление выражений, содержащих соответственно импликацию и квантор всеобщности (выраженный через импликацию). ИМПЛИКАЦИЯ X P Предпосылка I Следствие э э p x (x X ) P( x) x(( x X ) P( x)) Рис 5. Изображение в сети квантора всеобщности с использованием импликации. Кроме представления логических связок и кванторов сеть может быть использована также для кодирования других структур высших порядков. При решении многих конкретных задач представление знаний только в виде семантических сетей оказывается неудобным или неэффективным. По этой причине в семантических сетях вводят механизм процедурных присоединений. 37 Проблемой семантических сетей является смешение групп знаний, относящихся к совершенно различным ситуациям при назначении дуг между узлами, что делает сеть трудной для понимания. Контрольные вопросы 1. Определение семантической сети как метода представления знаний. 2. Ситуация в семантической сети. Типы узлов и связей. 3. Свойства семантических связей. 4. Иерархические семантические сети. 5. Достоинства и недостатки семантической модели. 6. ОБЪЕКТНЫЙ ПОДХОД К ПРЕДСТАВЛЕНИЮ ЗНАНИЙ Наиболее развитым способом представления знаний в ЭС является объектно-ориентированная парадигма. Этот подход является развитием фреймового представления. В его основе лежат понятия объект и класс [3]. В реальном мире, а точнее в интересующей разработчика предметной области, в качестве объектов могут рассматриваться конкретные предметы, а также абстрактные или реальные сущности. Например, объектами могут быть: корабль; противоборствующие стороны; цель; оружие. Объект обладает индивидуальностью и поведением, имеет атрибуты, значения которых определяют его состояние. Так, конкретный одиночный корабль, обнаружив цель, принадлежащую противнику, может оказаться в состоянии, когда у него нет оружия, способного её поразить, а его поведение в этом случае заключается в сообщении об обнаруженной цели своим силам. Каждый объект является представителем некоторого класса однотипных объектов. Класс определяет общие свойства для всех его объектов. К 38 таким свойствам относятся состав и структура данных, опи- сывающих атрибуты класса и соответствующих объектов, и совокупность методов - процедур, определяющих взаимодействие объектов этого класса с внешней средой. Например, описание класса "автомобиль" может включать такие атрибуты, определяющие состояние объектов, как название и тип, которые индивидуальны для каждого объекта этого класса – конкретного автомобиля, штатную комплектацию, количество оставшегося топлива, а также методы: перемещение заданным курсом и скоростью и т.д. Объекты и классы обладают характерными свойствами, которые активно используются при объектно-ориентированном подходе и во многом определяют его преимущества. К этим свойствам относятся перечисленные ниже. Инкапсуляция - скрытие информации [3]. При объектно- ориентированном программировании имеется возможность запретить любой доступ к атрибутам объектов, доступ возможен только через его методы. Внутренняя структура объекта в этом случае скрыта от пользователя, объекты можно считать самостоятельными сущностями, отделенными от внешнего мира. Для того чтобы объект произвел некоторое действие, ему извне необходимо послать сообщение, которое инициирует выполнение нужного метода. Инкапсуляция позволяет изменять реализацию любого класса объектов без опасения, что это вызовет нежелательные побочные эффекты в программной системе. Тем самым упрощается процесс исправления ошибок и модификации программ. Наследование - возможность создавать из классов новые классы по принципу "от общего к частному". Наследование позволяет новым классам при сохранении всех свойств классов-родителей (называемых в дальнейшем суперклассами) добавлять свои черты, отражающие их индивидуальность. С точки зрения программиста новый класс должен содержать только коды и данные для новых или изменяющихся методов. Сообщения, обработка 39 которых не обеспечивается собственными методами класса, передаются суперклассу. Наследование позволяет создавать иерархии классов и является эффективным средством внесения изменений и дополнений в программные системы. Полиморфизм - способность объектов выбирать метод на основе типов данных, принимаемых в сообщении. Каждый объект может реагировать посвоему на одно и то же сообщение. Полиморфизм позволяет упростить исходные тексты программ, обеспечивает их развитие за счет введения новых методов обработки. Итак, объектно-ориентированный подход заключается в представлении системы в виде совокупности классов и объектов предметной среды. При этом иерархический характер сложной системы отражается в виде иерархии классов, а ее функционирование рассматривается как взаимодействие объектов, с которыми ассоциируются, например, продукционные правила. Ассоциирование продукционных правил ЭС с иерархией классов осуществляется за счет использования общих правил, в качестве префикса которых обычно используется ссылка на класс, к которому данное правило применимо. Указанный префикс с точки зрения декларативного представления знаний семантически подобен квантору всеобщности в исчислении предикатов. Контрольные вопросы 1. Основные понятия объектного подхода. 2. Достоинства и недостатки объектного подхода. 40 Библиографический список 1. Гаскаров, Д.В. Интеллектуальные информационные системы. Учеб. Для вузов. — М.: Высш. шк., 2003. 2. Статические и динамические экспертные системы: Учеб. Пособие / Э.В.Попов, И.Б.Фоминых, Е.Б.Кисель, М.Д.Шапот. — М.: Финансы и статистика, 1996. 3. Буч, Г. Объектно-ориентированный аналих и проектирование с примерами приложений на C++, 2-е изд. /Пер. с англ. — М.: «Издательство Бином», СПб.: «Невский диалект», 2000. 4. Лорьер Ж.-Л. Системы искусственного интеллекта: пер. с франц. — М.: Мир, 1991. 5. Джексон, Питер. Введение в экспертные системы. : пер. с англ. : уч. пос. — М. : Издательский дом «Вильямс», 2001. 6. Гущин, А.Н. Языковые средства разработки интеллектуальных систем: учеб. Пособие / А.Н. Гущин; Балт. гос. Техн. ун-т. — СПб., 2006. 41 ОГЛАВЛЕНИЕ ВВЕДЕНИЕ.................................................................................................... 3 1. ПОДХОДЫ К ПРЕДСТАВЛЕНИЮ ЗНАНИЙ И МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ ............................................................................... 6 2. ПРОДУКЦИОННАЯ МОДЕЛЬ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ ....... 14 3. ЛОГИЧЕСКИЕ МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ................. 18 3.1 ИСПОЛЬЗОВАНИЕ НЕЧЕТКОЙ ЛОГИКИ ДЛЯ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ ............................................................................. 21 4. ФРЕЙМОВАЯ МОДЕЛЬ........................................................................ 24 5. ПРЕДСТАВЛЕНИЕ ЗНАНИЙ СЕМАНТИЧЕСКИМИ СЕТЯМИ .... 28 6. ОБЪЕКТНЫЙ ПОДХОД К ПРЕДСТАВЛЕНИЮ ЗНАНИЙ ............. 37 Библиографический список ............................................................... 40