Базы знаний интеллектуальных



страница3/13
Дата22.05.2016
Размер3.92 Mb.
ТипРеферат
1   2   3   4   5   6   7   8   9   ...   13

Рис. 1.1. Семантическая сеть

Данная модель представления знаний была предложена американским психоло-


гом Куиллианом. Основным ее преимуществом является то, что она более других
соответствует современным представлениям об организации долговременной па-
мяти человека [Скрэгг, 1983].

Недостатком этой модели является сложность организации процедуры поиска


вывода на семантической сети.

Для реализации семантических сетей существуют специальные сетевые языки


например NET [Цейтин, 1985], язык реализации систем SIMER+MIR [Осипов
1997] и др. Широко известны экспертные системы, использующие семантичес-
кие сети в качестве языка представления знаний — PROSPECTOR, CASNET
TORUS [Хейес-Рот и др., 1987; Durkin, 1998].

Фреймы

Термин фрейм (от английского frame, что означает «каркас» или «рамка») бьи


предложен Маренном Минским [Минский, 1979], одним из пионеров ИИ, в 70-<
годы для обозначения структуры знаний для восприятия пространственны)
сцен. Эта модель, как и семантическая сеть, имеет глубокое психологическое обо
снование.

Фрейм — это абстрактный образ для представления некоего стереотипа восприятия.

В психологии и философии известно понятие абстрактного образа. Например,
произнесение вслух слова «комната» порождает у слушающих образ комнаты:
«жилое помещение с четырьмя стенами, полом, потолком, окнами и дверью, пло-
щадью 6-20 м2». Из этого описания ничего нельзя убрать (например, убрав окна,
мы получим уже чулан, а не комнату), но в нем есть «дырки» или «слоты» — это
незаполненные значения некоторых атрибутов — например, количество окон,
цвет стен, высота потолка, покрытие пола и др.

В теории фреймов такой образ комнаты называется фреймом комнаты. Фреймом


также называется и формализованная модель для отображения образа.

Различают фреймы-образцы, или прототипы, хранящиеся в базе знаний, и фрей-


мы-экземпляры, которые создаются для отображения реальных фактических си-
туаций на основе поступающих данных. Модель фрейма является достаточно
универсальной, поскольку позволяет отобразить все многообразие знаний о мире
через:

  • фреймы-структуры, использующиеся для обозначения объектов и понятий
    (заем, залог, вексель);

  • фреймы-^олм (менеджер, кассир, клиент);

  • фреймы-сценарии (банкротство, собрание акционеров, празднование име-
    нин);

фреймы-ситуации (тревога, авария, рабочий режим устройства) и др.
Традиционно структура фрейма может быть представлена как список свойств:
(ИМЯ ФРЕЙМА:

(имя 1-го слота: значение 1-го слота),


(имя 2-го слота: значение 2-го слота),

(имя N-го слота: значение N-ro слота)).

Ту же запись можно представить в виде таблицы, дополнив ее двумя столбцами.

Таблица 1.1. Структура фрейма

Имя фрейма

Имя слота

Значение слота

Способ получения
значения

Присоединенная
процедура




































В таблице дополнительные столбцы предназначены для описания способа полу-


чения слотом его значения и возможного присоединения к тому или иному слоту
специальных процедур, что допускается в теории фреймов. В качестве значения
слота может выступать имя другого фрейма, так образуются сети фреймов.
Существует несколько способов получения слотом значений во фрейме-экзем-
,пляре:

  • по умолчанию от фрейма-образца (Default-значение);

  • через наследование свойств от фрейма, указанного в слоте АКО;

  • по формуле, указанной в слоте;

  • через присоединенную процедуру;

  • явно из диалога с пользователем;

  • из базы данных.

Важнейшим свойством теории фреймов является заимствование из теории се-
мантических сетей — так называемое наследование свойств. И во фреймах, и в се-
мантических сетях наследование происходит по АКО-связям (A-Kind-Of = это)
Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявнс
наследуются, то есть переносятся, значения аналогичных слотов.

Пример 1.4

Например, в сети фреймов на рис. 1.2 понятие «ученик» наследует свойства фрейме!
«ребенок» и «человек», которые находятся на более высоком уровне иерархии. Так, ш
вопрос «любят ли ученики сладкое» следует ответ «да», так как этим свойством облада
ют все дети, что указано во фрейме «ребенок». Наследование свойств может быть час
тичным, так как возраст для учеников не наследуется из фрейма «ребенок», поскольку
указан явно в своем собственном фрейме.

Рис. 1.2. Сеть фреймов

Основным преимуществом фреймов как модели представления знаний являете;
то, что она отражает концептуальную основу организации памяти человека-[Шенк
Хантер, 1987J, а также ее гибкость и наглядность.

Специальные языки представления знаний в сетях фреймов FRL (Frame Repre-
sentation Language) [Байдун, Бунин, 1990], KRL (Knowledge Representation Lan-
guage) [Уотермен, 1989], фреймовая «оболочка» Kappa [Стрельников, Бори-
сов, 1997] и другие программные средства позволяют эффективно строить про-
мышленные ЭС. Широко известны такие фрейм-ориентированные экспертные
системы, как ANALYST, МОДИС, TRISTAN, ALTERID [Ковригин, Перфильев,
1988; Николов, 1988; Sisodia, Warkentin, 1992].

Формальные логические модели

Традиционно в представлении знаний выделяют формальные логические модели,


основанные на классическом исчислении предикатов 1-го порядка, когда предмет-
ная область или задача описывается в виде набора аксиом. Мы же опустим описа-
ние этих моделей по следующим причинам. Исчисление предикатов 1-го порядка
в промышленных экспертных системах практически не используется. Эта логи-
ческая модель применима в основном в исследовательских «игрушечных» систе-
мах, так как предъявляет очень высокие требования и ограничения к предметной
области.

В промышленных же экспертных системах используются различные ее модифи-


кации и расширения, изложение которых выходит за рамки этого учебника.

1.3.3. Вывод на знаниях

Несмотря на все недостатки, наибольшее распространение получила продукци-


онная модель представления знаний. При использовании продукционной модели
база знаний состоит из набора правил. Программа, управляющая перебором пра-
вил, называется машиной вывода.

Машина вывода

Машина вывода (интерпретатор правил) выполняет две функции: во-первых,
просмотр существующих фактов из рабочей памяти (базы данных) и правил из
базы знаний и добавление (по мере возможности) в рабочую память новых фак-
тов и, во-вторых, определение порядка просмотра и применения правил. Этот
механизм управляет процессом консультации, сохраняя для пользователя ин-
формацию о полученных заключениях, и запрашивает у него информацию, когда
для срабатывания очередного правила в рабочей памяти оказывается недостаточ-
но данных [Осуга, Саэки, 1990].

В подавляющем большинстве систем, основанных на знаниях, механизм вывода


представляет собой небольшую по объему программу и включает два компонен-
та — один реализует собственно вывод, другой управляет этим процессом.
Действие компонента вывода основано на применении правила, называемого
modus ponens.
Правила срабатывают, когда находятся факты, удовлетворяющие их левой части:
если истинна посылка, то должно быть истинно и заключение.

Компонент вывода должен функционировать даже при недостатке информации.


Полученное решение может и не быть точным, однако система не должна останав-
ливаться из-за того, что отсутствует какая-либо часть входной информации.
Управляющий компонент определяет порядок применения правил и выполняет
четыре функции.

  1. Сопоставление — образец правила сопоставляется с имеющимися фактами.

  2. Выбор — если в конкретной ситуации может быть применено сразу несколько
    правил, то из них выбирается одно, наиболее подходящее по заданному крите-
    рию (разрешение конфликта).

  3. Срабатывание — если образец правила при сопоставлении совпал с какими-
    либо фактами из рабочей памяти, то правило срабатывает.

  4. Действие — рабочая память подвергается изменению путем добавления в не(
    заключения сработавшего правила. Если в правой части правила содержите
    указание на какое-либо действие, то оно выполняется (как, например, в систе
    мах обеспечения безопасности информации).

Интерпретатор продукций работает циклически. В каждом цикле он просматри
вает все правила, чтобы выявить те, посылки которых совпадают с известными н;
данный момент фактами из рабочей памяти. После выбора правило срабатывает
его заключение заносится в рабочую память, и затем цикл повторяется сначала.

В




Рис. 1.3. Цикл работы интерпретатора

одном цикле может сработать только одно правило. Если несколько правил ус
пешно сопоставлены с фактами, то интерпретатор производит выбор по опреде
ленному критерию единственного правила, которое срабатывает в данном цикле
Цикл работы интерпретатора схематически представлен на рис. 1.3.


Правило modus ponens. Если известно, что истинно утверждение А и существует правило
вида «ЕСЛИ А, ТО В», тогда утверждение В также истинно.

Информация из рабочей памяти последовательно сопоставляется с посылкам


правил для выявления успешного сопоставления. Совокупность отобранных прг


вил составляет так называемое конфликтное множество. Для разрешения кон-
фликта интерпретатор имеет критерий, с помощью которого он выбирает
единственное правило, после чего оно срабатывает. Это выражается в занесе-
нии фактов, образующих заключение правила, в рабочую память или в измене-
нии критерия выбора конфликтующих правил. Если же в заключение правила
входит название какого-нибудь действия, то оно выполняется.
Работа машины вывода зависит только от состояния рабочей памяти и от состава
базы знаний. На практике обычно учитывается история работы, то есть поведе-
ние механизма вывода в предшествующих циклах. Информация о поведении ме-
ханизма вывода запоминается в памяти состояний (рис. 1.4). Обычно память со-
стояний содержит протокол системы..

Рис. 1.4. Схема функционирования интерпретатора



Стратегии управления выводом

От выбранного метода поиска, то есть стратегии вывода, будет зависеть порядок


применения и срабатывания правил. Процедура выбора сводится к определению
направления поиска и способа его осуществления. Процедуры, реализующие по-
иск, обычно «зашиты» в механизм вывода, п'оэтому в большинстве систем инже-
неры знаний не имеют к ним доступа и, следовательно, не могут в них ничего из-
менять по своему желанию.
При разработке стратегии управления выводом важно определить два вопроса:

  1. Какую точку в пространстве состояний принять в качестве исходной? От вы-
    бора этой точки зависит и метод осуществления поиска — в прямом или об-
    ратном направлении.

  2. Какими методами можно повысить эффективность поиска решения? Эти ме-
    тоды определяются выбранной стратегией перебора — глубину, в ширину, по
    подзадачам или иначе.

Прямой и обратный вывод

При обратном порядке вывода вначале выдвигается некоторая гипотеза, а затем


механизм вывода как бы возвращается назад, переходя к фактам, пытаясь найти
те, которые подтверждают гипотезу (рис, 1.5, правая часть). Если она оказалась
правильной, то выбирается следующая гипотеза, детализирующая первую и яв-
ляющаяся по отношению к ней подцелью. Далее отыскиваются факты, под-
тверждающие истинность подчиненной гипотезы. Вывод такого типа называется
управляемым целями, или управляемым консеквентами. Обратный поиск приме-
няется в тех случаях, когда цели известны и их сравнительно немного.


Прямой вывод



Начало
поиска

Обратный вывод

Поиск
в глубину

Н
Заключения




Заключения


Начало
поиска


ачало
поиска

П
Начало


поиска

Заключения


Рис. 1.5. Стратегии вывода

оиск
в ширину

1-й проход.



Шаг 1. Пробуем П1, не работает (не хватает данных «отдых — летом»).
Шаг 2. Пробуем П2, работает, в базу поступает факт «отдых — летом».
2-й проход.

Шаг 3. Пробуем П1, работает, активируется цель «ехать в горы», которая и выступает
как совет, который дает ЭС.

ОБРАТНЫЙ ВЫВОД — подтвердить выбранную цель при помощи имеющихся правил
и данных.
1-й проход.

Шаг 1. Цель — «ехать в горы»: пробуем П1 — данных «отдых — летом» нет, они стано-
вятся новой целью и ищется правило, где цель в левой части.
Шаг 2. Цель «отдых — летом»: правило П2 подтверждает цель и активирует ее.
2-й проход. t

Шаг 3. Пробуем Ш, подтверждается искомая цель.

Методы поиска в глубину и ширину

В системах, база знаний которых насчитывает сотни правил, желательным явля-


ется использование стратегии управления выводом, позволяющей минимизиро-
вать время поиска решения и тем самым повысить эффективность вывода. К чис-
лу таких стратегий относятся: поиск в глубину, поиск в ширину, разбиение на
подзадачи и альфа-бета алгоритм [Таунсенд, Фохт, 1991; Уэно, Исидзука, 1989;
Справочник по ИИ, 1990].

При поиске в глубину в качестве очередной подцели выбирается та, которая со-


ответствует следующему, более детальному уровню описания задачи. Например,
диагностирующая система, сделав на основе известных симптомов предположе-
ние о наличии определенного заболевания, будет продолжать запрашивать уточ-
няющие признаки и симптомы этой болезни до тех пор, пока полностью не опро-
вергнет выдвинутую гипотезу.

При поиске в ширину, напротив, система вначале проанализирует все симптомы,


находящиеся на одном уровне пространства состояний, даже если они относятся
к разным заболеваниям, и лишь затем перейдет к симптомам следующего уровня
детальности.

Разбиение на подзадачи — подразумевает выделение подзадач, решение которых


рассматривается как достижение промежуточных целей на пути к конечной цели.
Примером, подтверждающим эффективность разбиения на подзадачи, является
поиск неисправностей в компьютере — сначала выявляется отказавшая подсисте-
ма (питание, память и т. д.), что значительно сужает пространство поиска. Если
удается правильно понять сущность задачи и оптимально разбить ее на систему
иерархически связанных целей-подцелей, то можно добиться того, что путь к ее
решению в пространстве поиска будет минимален.

Альфа-бета алгоритм позволяет уменьшить пространство состояний путем уда-


ления ветвей, неперспективных для успешного поиска. Поэтому просматривают-
ся только те вершины, в которые можно попасть в результате следующего шага,
после чего неперспективные направления исключаются. Альфа-бета алгоритм
нашел широкое применение в основном в системах, ориентированных на различ-
ные игры, например в шахматных программах.

1.4. Нечеткие знания

При попытке формализовать человеческие знания исследователи вскоре столк-


нулись с проблемой, затруднявшей использование традиционного математиче-
ского аппарата для их описания. Существует целый класс описаний, оперирую-
щих качественными характеристиками объектов (много, мало, сильный, очень
сильный и т. п.). Эти характеристики обычно размыты и не могут быть однознач-
но интерпретированы, однако содержат важную информацию (например, «Од-
ним из возможных признаков гриппа является высокая температура»).

Кроме того, в задачах, решаемых интеллектуальными системами, часто прихо-


дится пользоваться неточными знаниями, которые не могут быть интерпретиро-
ваны как полностью истинные или ложные (логические true/false или 0/1). Су-
ществуют знания, достоверность которых выражается некоторой промежуточной
цифрой, например 0.7.

Как, не разрушая свойства размытости и неточности, представлять подобные зна-


ния формально? Для разрешения таких проблем в начале 70-х американский ма-
тематик Лотфи Заде предложил формальный аппарат нечеткой (fuzzy) алгебры и
нечеткой логики [Заде, 1972]. Позднее это направление получило широкое рас-
пространение [Орловский, 1981; Аверкин и др., 1986; Яшин, 1990] и положило на-
чало одной из ветвей ИИ под названием — мягкие вычисления (soft computing).

Л. Заде ввел одно из главных понятий в нечеткой логике — понятие лингвисти-


ческой переменной.

Лингвистическая переменная (ЛП) — это переменная, значение которой определяется
набором вербальных (то есть словесных) характеристик некоторого свойства.

Например, ЛП «рост» определяется через набор {карликовый, низкий, средний
высокий, очень высокий}.

1.4.1. Основы теории нечетких множеств

Значения лингвистической переменной (ЛП) определяются через так называв


мые нечеткие множества (НМ), которые в свою очередь определены на некото
ром базовом наборе значений или базовой числовой шкале, имеющей размер
ность. Каждое значение ЛП определяется как нечеткое множество (например
НМ «низкий рост»).

Нечеткое множество определяется через некоторую базовую шкалу В и функцик


принадлежности НМ — |я(х), хеВ, принимающую значения на интервале [0...1]
Таким образом, нечеткое множество В — это совокупность пар вида (х, ц(х)), гд<
хе В. Часто встречается и такая запись:


Рис. 1.8. График функции принадлежности нечеткому множеству «младенческий возраст»

где Xj — i-e значение базовой шкалы.

Функция принадлежности определяет субъективную степень уверенности экс-
перта в том, что данное конкретное значение базовой шкалы соответствует опре-
деляемому НМ. Эту функцию не стоит путать с вероятностью, носящей объек-
тивный характер и подчиняющейся другим математическим зависимостям.
Например, для двух экспертов определение НМ «высокая» для ЛП «цена автомо-
биля» в условных единицах может существенно отличаться в зависимости от их
социального и финансового положения.

«Высокая_цена_автомобиля_1» = {50000/1 + 25000/0.8 + 10000/0.6 + 5000/0.4}.


«Высокая_цена_автомобиля_2» = {25000/1 + 10000/0.8 + 5000/0.7 + 3000/0.4}

Пример 1.6

Пусть перед нами стоит задача интерпретации значений ЛП «возраст», таких как «мо-
лодой» возраст, «преклонный» возраст или «переходный» возраст. Определим «воз-
раст» как ЛП (рис. 1.6). Тогда «молодой», «преклонный», «переходный» будут значе-
ниями этой лингвистической переменной. Более полно, базовый набор значений ЛП
«возраст» следующий:
В = {младенческий, детский, юный, молодой, зрелый, преклонный, старческий}.


Например, определить значение НМ «младенческий возраст» можно так:

Р



исунок 1.8 иллюстрирует оценку НМ неким усредненным экспертом, который ребен-
ка до полугода с высокой степенью уверенности относит к младенцам (га - 1). Дети до
четырех лет причисляются к младенцам тоже, но с меньшей степенью уверенности
(0.5< m <0.9), а в десять лет ребенка называют так только в очень редких случаях — к
примеру, для девяностолетней бабушки и 15 лет может считаться младенчеством. Та-
ким образом, нечеткие множества позволяют при определении понятия учитывать
субъективные мнения отдельных индивидуумов.


Рис. 1.6. Лингвистическая переменная «возраст» и нечеткие множества,
определяющие ее значения

Д




Рис. 1.7. Формирование нечетких множеств

ля ЛП «возраст» базовая шкала — это числовая шкала от 0 до 120, обозначающая ко-
личество прожитых лет, а функция принадлежности определяет, насколько мы увере-
ны в том, что данное количество лет можно отнести к данной категории возраста. На
рис. 1.7 отражено, как одни и те же значения базовой шкалы могут участвовать в опре-
делении различных НМ.



Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9   ...   13


База данных защищена авторским правом ©dogmon.org 2019
обратиться к администрации

    Главная страница