ЛЕКЦИЯ №8 Тема №4 Представление данных и знаний о

advertisement
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
СТАВРОПОЛЬСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ
УТВЕРЖДАЮ
Заведующий кафедрой
______________________
«___»_____________2012 г.
ЛЕКЦИЯ №8
по дисциплине «Теория информационных процессов и систем»
Тема №4 Представление данных и знаний о предметной области
Занятие 4.2 Представление знаний и искусственный интеллект
для студентов
направления
230400.62
«Информационные системы и
технологии»
Наименование направления
(специальности)
шифр
Рассмотрено УМК
" " ___________ 2012 года
протокол N ______________
Ставрополь - 2012 г.
1
Учебные цели:
1.
Сформировать информационно-наглядное представление о процедурах
представления знаний и искусственном интеллекте.
2.
Дать характеристику семантическими нейронным сетям а так же
мультиагентным системам.
3.
Охарактеризовать логическую модель представления знаний.
4.
Показать роль и значение дисциплины в фундаментальной подготовке
по направлению.
Время:_______________________________________________________________ 90 мин.
Учебно-материальное обеспечение:
1.
Опорная лекция.
2.
ГОС ВПО по специальности
3.
Рабочая программа дисциплины.
4.
Основная и дополнительная литература.
5.
Презентация к лекционному занятию.
Распределение времени:
I
Вступительная часть
7 мин.
II.
Учебные вопросы:
1.
Функциональные семантические сети.
15 мин.
2.
Фреймы и сети фреймов
15 мин.
3.
Логическая модель представления знаний.
20 мин.
4.
Искусственные нейронные сети.
15 мин.
5.
Мультиагентные системы.
10 мин.
III.
Заключительная часть
8 мин.
2
СОДЕРЖАНИЕ ЗАНЯТИЯ
Вступительная часть:
Исследования в области искусственного интеллекта распространяются в
следующих направлениях:
 имитация творческих процессов человека (шахматы);
 комплексный диалоговый интерфейс, т. е. создание средств
общения неспециалистов с ЭВМ;
 повышение внутренней интеллектуализации ЭВМ;
 целенаправленное поведение роботов.
Работы по комплексному диалоговому интерфейсу позволили создать и
развить новую информационную технологию решения задач.
При внедрении искусственного интеллекта исключаются такие, ранее
игравшие роль посредников между пользователем системы и вычислительной
техников субъекты, как математики, аналитики, прикладные и системные
программисты и другие функциональные службы. В соответствии с этим
пользователи получают возможность:
 общения
с
компьютером
на
естественном
или
ограниченном
естественном языке пользователя;
 поиска в базе необходимой информации (в базах данных и знаний);
 распознавания и диагностики процессов в системе (на основе
накопленных знаний);
 формулировки планов действий;
 выдвижения и проверки гипотез;
 выделения закономерностей;
 получения новых знаний, осуществляя логический вывод;
 решения задач по их постановкам;
3
 осуществления контроля вычислительного процесса решения задач в
любой момент времени.
Эти возможности позволяют обеспечить специалистам предметных
областей
необходимый
информационный
и
управленческий
комфорт,
повысить их доверие к результатам решения задач и, в конечном итоге,
обеспечить необходимую эффективность производства.
Приведем основные понятия и определения.
Предметная область — область деятельности, описываемая знаниями и
данными.
Проблемная область — совокупность предметной области и задач, в ней
решаемых.
Данные — исходные, промежуточные или окончательные (выходные)
конкретные сведения или факты о решаемой задаче в текущий момент
времени.
Знания — любая информация об общих свойствах и закономерностях
предметной области, которая хранится в системе вне зависимости от того,
решается в данный момент задача или нет, и выраженные в терминах
некоторой модели представления знаний.
Информация, представляемая в ЭВМ, существует в двух формах:
процедурной
(программы)
и
декларативной
(данные
для
программ).
Одинаковое представление этих составляющих позволяет обрабатывать их
одинаково.
Программы
+
данные
образуют
внутримашинную
информационную базу.
Развитие средств представления данных прошло несколько этапов: от
матричного описания к абстрактным типам, списочным структурам и моделям
данных в БД, в развитии которых также имел место переход от иерархических
и сетевых к реляционным моделям и объектным структурам. При этом в
4
наиболее
развитых
моделях
выделяют
интенсиональную
и
экстенсиональную компоненты.
Экстенсиональная компонента — различные сведения о предметной
области (данные).
Интенсиональная компонента — схемы связей между атрибутами,
отражающие основные закономерности системы в предметной области
решаемых функциональных задач. Для разработчиков моделей данные — это
схема БД, для представителей ИИ — это знания о проблемной области.
При
представлении
знаний
вводится
протоструктура
(первичная
структура) информационных единиц в ЭВМ. При этом указываются имена,
свойства и отношения с помощью информационных единиц — понятий.
Конкретные данные, соответствующие понятиям, представляют экземпляры
протоструктуры.
В чем же состоит отличие знаний от данных? Этих отличий пять:
 внутренняя интерпретируемость (уникальное имя для единицы
=>).
Знания
могут
быть
доступны
извне
(вследствие
именованности), а данные — только внутри программы, которая их
обрабатывает;
 структурированность знаний, их вложенность по принципу
матрешки.
На
устанавливаются
множестве
родовидовые
информационных
отношения,
единиц
обеспечивающие
наследование свойств, и отношения агрегации (часть-целое),
отражающие физическое вложение компонентов;
 связность. Между различными информационными единицами
формируются связи различного типа: причинно-следственные,
временные,
контекстные,
функциональные,
статистические,
семантические,
отражающие
модельные,
фактически
существующие в предметной области отношения. Указанные
5
свойства позволяют построить общую модель представления
знаний;
 семантическая метрика — позволяет отразить существующую на
множестве информационных единиц ситуационную близость
единиц и вывести знания, аналогичные известным;
 активность знаний. Данные — пассивны. Знания — порождают
действия.
Сформулированные свойства определяют ту грань, за которой данные
переходят в знания.
Рассмотрим
основные
направления
исследований,
связанных
с
представлением знаний:
 разработка методологии построения проблемно-ориентированных
математических моделей;
 разработка формального аппарата для описания таких моделей;
 разработка теорий вычислений в таких моделях;
 разработка технологии реализации программной поддержки таких
моделей.
При разработке моделей представления знаний могут быть поставлены
вопросы: что представлять и как представлять. Первый вопрос связан с
организацией (выбором структуры) знаний, второй — с представлением
знаний в выбранной структуре.
Состав знаний интеллектуальных информационных систем зависит от
проблемной области, требований и целей пользователей, назначения и
структуры, языка общения.
При разработке практически любой интеллектуальной системы
требуется следующий минимальный набор знаний:
 о процессе решения задач;
6
 языке
общения
и
способах
организации
диалога
ЭВМ-
пользователь; n - проблемной области;
 способах представления и модификации знаний, используемых
компонентой извлечения знаний;
 используемых
объяснительной
компонентой
(структурные
и
поддерживающие знания).
Возможность разрабатывать универсальные модели основана на гипотезе,
что знания, как научные и профессиональные, так и общечеловеческие,
устроены приблизительно одинаково. Мир состоит из отдельных явлений,
вещей, которые обладают определенными свойствами, находятся между
собой в определенных отношениях и могут взаимодействовать. Человек,
наблюдая мир, выделяет общие для некоторой совокупности элементов
свойства и формулирует элемент, в котором аккумулируются эти общие
свойства. М.Минский, который сформулировал эту гипотезу, определил
данный элемент как стереотипную ситуацию (СС). Каждая СС имеет свое
имя. Анализируя СС, люди выделяют их компоненты и определяют их
функциональное назначение в данной СС (те роли, которые они играют по
отношению
к
определенное
сложных
или
исходной
ситуации).
Каждой
множество
(конечное
или
элементарных
ситуаций.
СС
соответствует
бесконечное)
Это
конкретных
множество
должно
удовлетворять некоторому набору свойств:
 если две конкретные ситуации соответствуют одной и той же СС,
то: они обе либо элементарные, либо сложные;
 имеют одно и тоже число компонент;
 множество ролей у них совпадает;
 все конкретные ситуации, соответствующие одной и той же СС,
удовлетворяют совокупности свойств (ограничений), связанных с
этой СС.
7
Таким образом, СС характеризуется структурой (числом и набором
компонент, каждая из которых имеет уникальное в СС имя — название роли),
а также совокупностью признаков (свойств или ограничений).
В свою очередь, каждая сложная компонента СС может представлять
собой другую СС, т.е. СС задает определенные отношения между своими
компонентами. Учитывая иерархический характер связи между СС, а также
тот факт, что одна и та же СС может исполнять различные роли в различных
СС, в которых она выступает в качестве компоненты, можно говорить о некой
сети СС, описывающей реальный мир, — понятийной структуре знаний.
Понятие — наше представление о СС, таким образом, совокупность понятий
и отношений между ними и образует понятийную структуру знаний, что
позволяет упростить представление знаний (ПрЗ) путем расчленения
сложного знания на ряд более простых. Основная идея ПрЗ — строить
математические модели реального мира и его частей. Совокупность моделей
ПрЗ и связанных с ней процедур образует систему представления знаний
(СПрЗ).
Как в представлении данных, так и в представлении знаний
существуют
две
формы
представления
знаний:
процедурная
и
декларативная.
Процедурная форма — это описание процедур в явном виде. Выполнение
процедуры задается самим писанием. Такое представление позволяет
отказаться от описания всех возможных состояний и ограничиться хранением
некоторого начального состояния и процедуры, генерирующей необходимые
состояния из начального, но при таком представлении накопление и
коррекция знаний почти невозможны. При декларативной форме множество
утверждений существуют вне зависимости от сферы использования, принцип
— структуризация.
8
Разделение на декларативные и процедурные компоненты по существу
условно,
так
как
обе
формы
практически
присутствуют
в
любой
интеллектуальной системе.
В искусственном интеллекте разработаны и находят применение в
интеллектуальных информационных системах (ИИС) следующие модели
представления знаний:
 сетевые (семантические и функциональные семантические сети);
 фреймовые;
 логические;
 продукционные;
 нечеткие;
 нейросетевые (технологии);
 байесовские (вероятностные) — сети доверия;
 эволюционные и генетические алгоритмы.
Примером семантической сети с богатыми возможностями описания
семантики предметной области может служить развитый П.Ченом и другими
специалистами формализм «Сущность — связь», который находит широкое
применение в теории баз данных при проектировании концептуальной модели
данных. Поэтому рассматривать его не будем и перейдем к функциональным
семантическим сетям.
9
Первый учебный вопрос - Функциональные семантические сети
Функциональные
семантические
сети
—
сети
математических
отношений, под которыми понимается структура вида:
х * у * г = 0,
(1.1)
где * — символ некоторой алгебраической операции.
Например, периметр треугольника равен сумме всех его сторон. Данное
утверждение записывается в виде р = а + b + с, где а, b, с — стороны
треугольника; р — периметр. Данное выражение является «разрешением»
математического отношения:
а + b + с - р = 0.
(1.2)
Множество показателей проблемной области (ПрО) входит в различные
математические отношения, которые таким образом оказываются связанными
через эти показатели между собой. Таким образом, функциональная сеть —
это граф (X,F,G), где X — вершины графа, отображающие множество
показателей ПрО; F— вершины, отображающие математические отношения;
G — ребра, связывающие некоторые подмножества вершин из X с
некоторыми подмножествами вершин из F. В качестве примера рассмотрим
фрагмент
функциональной
сети,
описывающей
проблемную
область
«треугольник». Пусть а, b, с — стороны треугольника, А, В, С — его углы, ha,
hb, hc — высоты, р — периметр и S — площадь треугольника.
Соответствующий фрагмент функциональной сети представлен на Слайде___.
Перейдем к анализу процедур поиска решений на функциональных сетях.
Рассматривая в качестве примера проблемной области геометрическую
фигуру — треугольник, сведем основные соотношения, связывающие
параметры треугольника, в таблицу 1.
С параметрами треугольника связаны параметры еще двух фигур:
вписанной и описанной окружностей. Поэтому для полноты описания данной
10
предметной области необходимо ввести в рассмотрение также и эти фигуры
(таблица 2).
Слайд_____ Фрагмент функциональной сети
Выражение
F42 — переходное соотношение, описывающее связи
параметров указанных фигур с параметрами треугольника. Можно показать,
что в данной сети все отношения — первого ранга.
Будем считать, что каждое из отношений имеет все разрешения и каждое
из разрешений представлено соответствующим программным модулем. В
дальнейшем разрешения будем обозначать так же, как и отношения, но с
индексом, указывающим на параметр, вычисляемый с помощью данного
разрешения. Рассмотрим один из алгоритмов решения задач в такой системе
по их постановкам.
11
Таблица 1 Основные соотношения, связывающие параметры треугольника
Продолжение таблицы 1
12
Таблица 2 Параметры вписанной и описанной окружности
Алгоритм 1. Этот алгоритм реализует стратегию обратной волны, начиная
поиск (планируя) решения задачи с целевой вершины графа, т.е. от искомого
параметра. В соответствии с алгоритмом поиска решений Нильсона образуем
списки: S1 — параметры, которые должны быть рассчитаны; S2 —
параметры, для которых выбраны разрешения для расчета. Дополнительно
образуем еще два списка: S3 — разрешения, включаемые в план решения
задачи; S4 — оценки сложности реализации разрешения, выбранного в план
решения задачи. Данные оценки позволяют при наличии нескольких планов
выбрать наилучший, т.е. реализовать классическую постановку задачи
принятия решений.
Ш а г 1. Поместите искомый параметр в список S2 и найдите разрешение (в
дальнейшем оператор Fi), с помощью которого может быть рассчитан
искомый параметр. Если таких разрешений несколько, возьмите разрешение,
содержащее наименьшее число неизвестных аргументов. Если все аргументы
данного оператора известны, то план считается найденным и можно перейти к
собственно организации вычислений, иначе — записать неизвестные
аргументы в список S1 и перейти к шагу 2.
Ш а г 2. Упорядочите список S1 в соответствии со следующим правилом:
самым первым в списке поместите параметр, для которого разрешение имеет
наибольшее число неизвестных аргументов, а на последнее место —
параметр, для которого все аргументы известны (если такое разрешение имеет
место). Переходите к шагу 3.
13
Ш а г 3. Возьмите очередной неизвестный параметр из списка S1 и
поместите его в список S2. Если это был последний в списке параметр и
список S1 стал пустым, то поиск данного плана считается законченным и
можно перейти, либо к поиску следующего возможного плана, либо к
организации вычислений в соответствии с данным планом, иначе —
поместить неизвестные аргументы данного разрешения в список S1 и перейти
к шагу 2.
14
Второй учебный вопрос – Фреймы и сети фреймов
Слово «фреймы» часто встречается в современной научно- технической
литературе. Впервые его употребил в принятом теперь смысле американский
ученый М.Минский (Marvin Minsky) в книге «А Framework For Representing
Knowledge» («Фреймы для представления знаний»).
По Минскому, «Фрейм -— структура данных для представления
стереотипной ситуации. С каждым фреймом ассоциирована информация
разных видов. Одна ее часть указывает, каким образом следует
использовать данный фрейм, другая — что предположительно может
повлечь за собой его выполнение, третья — что предпринять, если эти
ожидания не подтвердятся».
Использование фреймов началось с развитием практического применения
теории структур данных и вычислений. Сегодня фреймовые представления
используются
при
проектировании
прикладных
систем
различного
назначения. Основные идеи объектно-ориентированного программирования
почерпнуты из концепции фреймов Минского.
Фрейм рассматривается как некоторый семантический блок (модуль)
модели представления знаний, вся модель строится в виде сети фреймов, т.е.
определенным образом связанных совокупностей фреймов.
Модели представления фреймов разделяют на два набора:
 набор
фреймов,
составляющих
библиотеку
внутреннего
представления знаний;
 механизмы преобразования, связывания, означивания и т.д.
Различают фрейм-образец (прототип) и фрейм-экземпляр (пример).
Фрейм-образец — интенсиональное (INT) описание некоторого множества
фреймов-экземпляров, а фрейм-экземпляр — экстенсиональное представление
фреймов-образцов.
15
Существуют два подхода к использованию фреймов в практике
проектирования программных систем. Один из них заключается в
использовании фреймовых инструментальных средств высокого уровня,
которые
позволяют
непосредственно,
без
обращения
к
языкам
программирования, создавать прикладные системы, ориентированные на
непрофессионального в области программирования пользователя. Платой за
такое удобство обычно являются неэффективность прикладных систем по
критериям затрат памяти и быстродействия, ограничения в создании удобных
средств взаимодействия пользователя с системой. Реализацией такого подхода
можно считать систему \ FRAMEWORK.
Второй
путь
заключается
в
применении
пакетов
программ,
предназначенных для использования в среде того или иного языка
программирования.
Эффективность
такого
подхода
состоит
в
том,
что
наряду
с
функциональной мощностью фреймовых механизмов сохраняются мощность
и гибкость базового языка программирования. Пакет прикладных программ
FRAMEBOX
(разработка
информационно-программного
центра
«ИНТЕЛЛЕКТ-БАНК») поддерживает реализацию второго подхода. При этом
базовым языком программирования является PROLOG.
Рассмотрим структуру фреймов. Фрейм представляет собой набор данных
специального вида (слотов), имеющий свое имя. Количество слотов в каждом
фрейме не ограничено (Слайд №____):
<Имя фрейма> — идентификатор, присваиваемый фрейму в данной
модели, уникально определяет этот фрейм.
Слоты — строки таблицы (Слайд №_____), число слотов может ' быть
произвольным. Внутри фрейма различают служебные и пользовательские
слоты.
Служебные слоты отображают тип связи между фреймами (например,
связь между фреймом-образцом и фреймом-экземпляром). В родительском
16
слоте перечисляются имена фреймов- потомков, а в слоте-потомке — имена
родительских фреймов.
Слайд №___ Набор данных специального вида
Пользовательские
слоты
отображают
свойства
соответствующего
объекта (имя каждого слота уникально в рамках данного фрейма). Слот
представляется набором фасет, в котором указываются: Y1 — указатель
наследования, Y2 — указатель типа значения слота, V— значение слота, Dem
(демоны)
—
инициализации
модификации,
процедуры,
слота
Рr
—
и
которые
делятся
включаются
на
присоединенные
процедуры
процедуры,
автоматически
удаления,
при
запроса,
включаются
при
выполнении каких-либо условий и делятся на внешние и внутренние.
Внутренние — могут быть написаны на том же языке, что и сами фреймы, а
внешние — на каком-либо другом языке и вызываться по некоторому заранее
определенному условию. Ниже приводится описание фреймов, баз фреймов И
действий над ними, принятых в пакете FRAMEBOX, который может
рассматриваться как некоторая версия СУБД. Имя фрейма в пакете
FRAMEBOX представляется последовательностью произвольных символов
без пробелов, длина которой не может превышать 15 символов.
Каждый слот имеет фиксированную структуру в виде набора из девяти
фасет (полей) следующего вида (Слайд №___):
Поле «пате». Представляет имя слота. Является строкой символов
произвольной длины. Именем слота может быть любая последовательность
17
символов, включая пробелы. В одном фрейме не может быть двух слотов с
одинаковыми именами.
Поля «value» и «type». Поле «value» представляет значение слота. Это
может быть число, строка символов, список чисел или строк символов, имя
другого фрейма, имя текстового файла, имя процедуры, а также другие типы
информации. Слот может иметь неопределенное значение. Поле «type»
определяет тип значения слота, содержащегося в поле «value».
Поле «spec». Не имеет определенного назначения и может быть
использовано в различных служебных целях. В нем может содержаться
произвольная строка символов. Содержимое поля фреймовой системой не
контролируется.
Поле «rng». Не имеет определенного назначения. В этом поле может
размещаться информация тех же типов, что и в поле «value». Содержимое
поля фреймовой системой не контролируется.
Поле «с/mode». Определяет режим копирования слота при создании
экземпляра фрейма.
Поле «v/mode». Управляет режимом поиска значения слота при его
запросе, если значение самого слота не определено (имеет значение «п»),
Поле «demA». Содержит имя демона запроса.
Поле «demM». Содержит имя демона модификации или демона удаления.
Основными характеристиками слота являются его имя и значение.
Структуру фрейма удобно представлять в виде дерева, как показано на
Слайде №___.
С фреймами и слотами выполняют следующие операции:
fr_create(...) — создать фрейм;
fr_delete(...) — удалить фрейм;
sl_inserta(...) — вставить слот в начало фрейма;
18
sl_insertz(...) — вставить слот в конец фрейма;
sl_insertafter(...) — вставить слот после заданного слота;
sl_delete(...) — удалить слот;
si_replace(...) — изменить поля слота.
База фреймов в концепции пакета FRAMEBOX представляет собой
множество фреймов. В одной базе не может быть двух фреймов, имеющих
одинаковые имена.
Механизм управления базой фреймов использует механизмы EXTERNAL
DATABASE SYSTEM системы Prolog.
Физически одна база фреймов хранится в двух базах EXTERNAL
DATABASE
SYSTEM,
имеющих
одинаковые
имена,
но
разные
предопределенные расширения: NAME.FKB — основная база; NAME.FBT —
вспомогательная база.
Правила размещения каждой из баз полностью соответствуют правилам
размещения EXTERNAL DATABASE SYSTEM (in_file в дисковом файле, in
memory — в оперативной памяти, in_ems в расширенной оперативной
памяти). Основная и вспомогательная базы могут независимо размещаться в
разных местах (in file, in memory, in ems).
Слайд №____ Структура фрейма
19
Место размещения баз определяется программистом при открытии базы
фреймов в зависимости от размера базы и требований к быстродействию
системы.
В любой момент может быть открыто несколько баз фреймов, информация
которых доступна одной программе. Ограничение определяется только
числом файлов и буферов, определенных в файле CONFIG.SYS.
С базой фреймов выполняют следующие операции:
bs_create(...) — создать базу фреймов;
bs_open(...) — открыть ранее созданную базу фреймов;
bs_close(...) — закрыть базу фреймов;
bs_save(...) — сохранить открытую базу на диске.
Теперь перейдем к рассмотрению механизмов логического вывода
фреймовой системы. Логический вывод на фреймах заключается в получении
значений полей слотов или свойств фреймовой системы в ответ на
соответствующий запрос.
Запрос содержимого слота является предикатом языка PROLOG с набором
аргументов, значением которого может быть true или fail («истина» или
«неуспех»). Запрос может быть сделан с целью получения значений
аргументов или для выяснения принадлежности указанных значений
аргументов множеству значений, допустимых фреймом или множеством
фреймов. В последнем случае говорят о сопоставимости запроса и фреймовой
системы.
Запрос имеет вид:
get(..., Frame, Slot,...),
где Frame — имя фрейма; Slot — набор полей слота, включая его имя.
20
Основными механизмами логического вывода во фреймовой системе
пакета
FRAMEBOX
являются
выводы,
использующие
концепцию
присоединенных процедур.
Перечисленные механизмы вывода в пакете FRAMEBOX действуют
наряду с механизмами логического вывода языка PROLOG.
Механизмы логического вывода используют информацию, содержащуюся
в слотах фрейма.
Отношения между фреймами устанавливаются путем использования имен
фреймов в качестве значений слотов. Фреймы при использовании таких
ссылок могут быть организованы в сети, в которых действуют определенные
правила установления и получения значений слотов.
Во
фреймовой
системе
пакета
FRAMEBOX
между
фреймами
используются отношения «родители-потомки»; отношения связи и отношения
собственности.
Отношения «родители— потомки». Некоторый фрейм (например, фрейм
А) может являться родителем по отношению к другому фрейму (например, Б).
Фрейм А в этом случае называется родительским фреймом (или фреймомродителем), а фрейм Б —дочерним (или фреймом-потомком). Фреймродитель и фрейм-потомок связаны механизмом наследования слотов. Это
означает, что слоты, принадлежащие фрейму-родителю, принадлежат также
его фрейму-потомку, хотя в явном виде не содержатся в дочернем фрейме.
Фрейм-потомок может иметь свои слоты, отражающие его особенности.
Правилами фреймовой системы пакета FRAMEBOX установлено, что
фрейм-родитель содержит слот со служебным именем «DAU» (от «daughter»),
значением которого является список имен фреймов-потомков. Фрейм-потомок
имеет слот со служебным именем «АКО» (от «А Kind Of»), значением
которого является список имен фреймов-родителей. Таким образом, , каждый
фрейм-родитель может иметь более, чем одного потомка, а каждый фреймпотомок может иметь более, чем одного родителя.
21
Отношение «родители—потомки» именуется также отношением типа
«АКО».
Если принять, что слоты являются свойствами некоторого объекта, то
родительский фрейм (или их множество) представляет свойства некоторого
класса объектов. Класс объектов может иметь множество подклассов этих
объектов или множество конкретных объектов (экземпляров класса),
принадлежащих этому классу. Принадлежность слотов фреймов-родителей
фреймам-потомкам означает, что подклассы объектов или экземпляры класса
обладают теми же свойствами, что и весь класс (наследуют эти свойства).
В концепции пакета FRAMEBOX каждый фрейм может являться
родительским по отношению к множеству других фреймов. Кроме того,
любое количество фреймов может являться родителями по отношению к
одному или более фреймам. В этом случае каждый фрейм-потомок наследует
все слоты всех своих родителей. Механизм наследования действует и в том
случае, если родители сами имеют родителей, т.е. всякий фрейм, находящийся
в иерархической структуре с отношениями
«родители—потомки», наследует слоты всех фреймов, лежащих выше в этой
иерархии.
Фреймовая структура с отношениями типа АКО, допустимая в пакете
FRAMEBOX, может быть наглядно представлена в виде структуры,
приведенной на Слайде №____, где направление стрелки указывает на
родительский фрейм.
В сети, представленной на рисунке, фрейм F наследует все слоты фреймов
D, А, В; фрейм G наследует все слоты фреймов А, В, С, D, Е; фрейм Я
наследует все слоты фреймов В, С, Е\ фрейм D наследует слоты фреймов А, Б;
фрейм Е-слоты фреймов В, С.
Действие механизма наследования по любому из маршрутов наследования
по отношению к некоторому слоту может быть прервано, если фрейм—
потомок имеет слот с таким же именем, что и родитель. В этом случае
22
актуальным
является
Соответственно,
все
значение
фреймы,
такого
лежащие
слота
ниже
во
фрейме-потомке.
этого
фрейма-потомка,
наследуют его слоты.
Отношения связи. Объекты, явления, свойства и т.д. могут находиться в
различных отношениях. К ним относятся отношение «часть—целое»,
отношение
«причина—следствие»,
отношение
времени,
ассоциативные
отношения (черная кошка на дороге—к беде). Один и тот же объект может
одновременно находиться в разных отношениях с разными объектами.
Слайд №_____ Фреймовая структура с отношениями типа АКО
Для представления таких отношений в пакете FRAMEBOX используется
универсальный
механизм
—
механизм
межфреймовых
связей.
Он
заключается в том, что некоторые (или все) слоты любого фрейма в качестве
своих значений могут иметь имена других фреймов. Такие слоты называются
слотами связи, а отношения, представленные ими, — отношениями связи.
Наличие слотов связи позволяет строить из фреймов различные сетевые
структуры, узлами которых являются фреймы, а связями — отношения,
представленные слотами связи. Частным случаем таких сетей являются
древовидные иерархические структуры. Пример фреймовой сети приведен на
Слайде №___, где А, В, С, D, Е, F, G, Н — имена фреймов; а, Ь, с, d, е, /, д, h, i,
к, р — имена слотов связи, представляющие отношения.
23
В качестве примера рассмотрим отношение «часть—целое». Такие
отношения
характерны
для
структурированных
объектов.
Например,
предприятие состоит из служб и цехов. Службы, в свою очередь, могут
состоять из отделов, цехи — из участков и т.д. С другой стороны, если каждое
из подразделений занимает некоторые производственные площади, то они
также могут находиться в отношении «часть-целое» (отдельные помещения
принадлежат этажу, этажи составляют здание, несколько зданий составляют
производственный комплекс и т.д.). Другими примерами структурированных
объектов могут являться конструкция изделия, структура программы и т. п.
Слайд №_____ Фреймовая сеть
Отношения собственности. Фрейм (например, В), на который ссылается
слот связи фрейма А, может иметь признак того факта, что фрейм А является
«владельцем» фрейма В. Фрейм в таком случае называется собственным
фреймом фрейма А. Такой факт отражается во фрейме В наличием слота со
служебным именем «OWN», значением которого является имя фрейма А. Во
фрейме А отношение собственности никак не отражается. Таким образом, у
каждого фрейма может быть только один фрейм-владелец, хотя ссылаться на
него с помощью слотов связи могут любые другие фреймы. Фрейм-владелец
может отсутствовать (т.е. может отсутствовать слот с именем «OWN»).
Отношение собственности используется в механизме поиска значений
слотов собственных фреймов. Кроме того, отношение собственности влияет
на выполнение операций создания и удаления фреймов и фрагментов
фреймовых сетей.
24
Охарактеризуем выводы, использующие отношения между фреймами.
Вывод
путем
локального
поиска.
Локальный
поиск
значения
производится, если при обращении к указанному фрейму с заданным именем
слота слот с таким именем в указанном фрейме существует и его значение
определено. Результатом вывода является результат сопоставления запроса с
содержимым этого слота.
Вывод наследованием. Механизм вывода наследованием включается в том
случае, если при обращении с запросом к некоторому фрейму с заданным
именем слота выясняется, что такого слота во фрейме нет и фрейм содержит
служебный слот «АКО» с указанием имен родительских фреймов.
В этом случае обращение производится поочередно ко всем родителям
этого фрейма. Если в очередном родительском фрейме слот с указанным
именем отсутствует, то производится обращение к родителям этого родителя
и т.д. Если на самой вершине родительской иерархии слота с указанным
именем нет, то обращение повторяется к следующему родителю, указанному
в слоте «АКО» фрейма. Результатом вывода является результат сопоставления
запроса с содержимым найденного таким образом слота. Если в итоге слот не
найден, то результат вывода — fail (неуспех).
Вывод путем глобального структурного поиска. В случае, если в
указанном фрейме слот имеется, но его значение не определено (в качестве
значения указано «п»), возможны варианты структурного вывода значения,
которые устанавливаются в описании слота:
1. поиск производится в том же указанном фрейме, но в слоте с другим
именем;
2. искомым значением является значение слота с тем же или с другим
именем (в зависимости от указанного в описании слота) фрейма, на который
указывает слот связи. В этом фрейме поиск осуществляется с использованием
всех
возможных
механизмов
логического
25
вывода,
включая
вывод
наследованием. Если слотов связи несколько, то поиск осуществляется в
порядке их расположения;
3. искомым значением является значение слота с тем же или с другим
именем (в зависимости от указанного в описании слота) фрейма, в чьем
владении
находится
указанный
фрейм.
Во
фрейме-владельце
поиск
осуществляется с использованием всех возможных механизмов логического
вывода, включая вывод наследованием;
4. искомым значением является значение слота с тем же или с другим
именем (в зависимости от указанного в описании слота) в любом из фреймовродителей указанного фрейма при поочередном их просмотре. В каждом
фрейме-родителе поиск осуществляется с использованием всех возможных
механизмов логического вывода, включая вывод наследованием;
5. искомым значением является значение слота с тем же или с другим
именем (в зависимости от указанного в описании слота) в любом из фреймовпотомков указанного фрейма при поочередном их просмотре. В каждом из
фреймов-потомков поиск осуществляется с использованием всех возможных
механизмов логического вывода, включая вывод наследованием. Описанный
" механизм позволяет производить «транспортировку» значений слотов во
фреймовой сети по маршруту любой глубины, даже если имена фреймов
неизвестны на момент поиска.
Вывод структурных свойств фреймовой сети. Если фреймы являются
узлами сети, то имена слотов можно рассматривать как имена связей между
узлами (селекторы). Маршрут из одного узла сети в другой узел той же сети
может быть представлен как список селекторов. Например, в структуре,
приведенной на рис. 5.5, из узла А в узел Я существуют три маршрута: [a,p,f],
[b,h,i] и [a,p,g,h,i].
Длина списка, представляющего маршрут в сети, в пакете FRAMEBOX
называется расстоянием в сети.
26
Маршрут
называется
множественно
определенным,
если
значение
некоторых селекторов безразлично. Например, в сети, представленной на
Слайде ____, маршрут, заданный в виде [р,_], представляет два маршрута из
узла С: маршрут [р,д], ведущий в узел В, и [p,f], ведущий в узел Н.
Структурным свойством фреймовой сети называется сочетание значений
таких параметров, как: имена первого и второго узлов, маршрут, имя слота,
значения полей слота.
Выводы, использующие концепцию демонов. Во многих фреймовых
системах с каждым слотом фрейма могут быть связаны программы, которые
автоматически выполняются, если наступают определенные события. Такие
программы называются ДЕМОНАМИ. Во фреймовой системе пакета
FRAMEBOX предусмотрены три вида таких демонов, как демон запроса
значения (ASK-ДЕМОН), демон модификации значения (MODI- ДЕМОН),
демон удаления слота (DEL-ДЕМОН).
ASK-ДЕМОН, MODI-ДЕМОН и DEL-ДБМОН являются программами на
языке PROLOG и создаются разработчиком прикладной системы. Функции
демонов определяются решаемой задачей. У каждого слота могут быть свои
демоны, не связанные с демонами других слотов. В то же время некоторые
демоны могут быть одинаковыми у нескольких слотов.
ASK-ДЕМОН выполняется всегда, когда запрашивается значение слота и в
описании слота выполнение этого демона разрешено. ASK-ДЕМОН может
произвести изменения в структуре фреймовой сети, разрешить выдать
реальное значение слота или выдать значение, являющееся результатом
логического вывода или математических вычислений с использованием
значений любых слотов любых фреймов и особенностей структуры
фреймовой сети.
MODI-ДЕМОН выполняется, если выполняется операция изменения
какого-либо поля слота.
27
DEL-ДЕМОН
выполняется,
если
выполняется
операция
удаления
соответствующего слота. Необходимым условием выполнения демона
является указание его имени в соответствующем поле слота.
Использование демонов позволяет ясно и прозрачно программировать
реакции системы на действия пользователя и других программ.
Выводы, использующие концепцию присоединенных процедур. Во
фреймовой системе пакета FRAMEBOX к каждому фрейму может быть
присоединена одна или несколько процедур в виде программы на языке
PROLOG или в виде оттранслированной программы, написанной на любом
языке программирования (ЕХЕ- или СОМ-файл). Программа создается
разработчиком системы.
Имя присоединенной процедуры указывается как значение слота.
Присоединенная процедура выполняется, если соответствующая программа
вызывает ее по имени слота.
Механизм наследования слотов дочерними фреймами обеспечивает
возможность иметь присоединенную процедуру только в родительском
фрейме. И если обращение на выполнение присоединенной процедуры
поступает к дочернему фрейму, то выполняется присоединенная процедура
фрейма-родителя. Таким образом, фреймы одного класса обрабатываются
одними и теми же процедурами, если они имеются по одному экземпляру во
фрейме-родителе. Всякий вновь образованный фрейм класса становится
пользователем этой процедуры или обрабатывается ею с момента своего
создания.
Механизм получения значения слота в случае, если его значение не
определено, позволяет использовать фрейму присоединенные процедуры
других фреймов, с которыми у него есть непосредственная или транзитивная
связь через слоты связи.
Механизмы присоединенных процедур оказываются очень эффективными
в тех случаях, когда во фреймовой системе происходит динамичный процесс
28
создания
и
удаления
новых
фреймов
с
полностью
или
частично
определенными значениями слотов. Обработка знаний, представляемых вновь
появляющимися фреймами, оказывается зависимой от местоположения таких
фреймов во фреймовой структуре.
Важное значение имеют преобразования структуры фреймовой системы.
Преобразования структуры фреймовой системы заключаются в использовании
механизмов, позволяющих создавать новые фреймы, устанавливать между
ними отношения для проведения последующих операций логического вывода.
Приведенные выше операции над фреймами и слотами позволяют решать эти
задачи. Например, установление отношения «родители—потомки» может
быть произведено, если в один из фреймов (который будет родительским)
записать слот со служебным именем «DAU», указать в качестве его значения
имя дочернего фрейма, а в другой (дочерний фрейм) — служебный слот
«АКО», значением которого сделать имя родительского фрейма. Аналогично
могут быть созданы и другие отношения. Однако эти операции трудоемки и
чреваты ошибками.
Фреймовый механизм пакета FRAMEBOX предлагает два специальных
предиката для выполнения таких операций, а также некоторые
управляемые свойства уже приведенных предикатов:
1)
<fr_instance(..ParentList,
NewFrame..)>
—
предикат
обеспечивает
создание нового фрейма с именем NewFrame, являющегося дочерним по
отношению к множеству фреймов, заданному списком их имен ParentList
(может быть задан и один фрейм-родитель). При выполнении этой операции
создается фрейм NewFrame, слотами которого являются копии слотов
фреймов-родителей, разрешенных для копирования полем c/mode каждого
соответствующего слота. Операция обеспечивает уникальность имен слотов
во фрейме-экземпляре на тот случай, когда во фреймах-родителях имеются
слоты с одинаковыми именами. В копию каждого слота (если она создается)
29
может быть передана либо копия значения слота фрейма- родителя, либо
неустановленное значение (определяется полем c/mode);
2) Sys_instance(...,Frame,SlotName,...) — предикат вызывает создание
экземпляра фрейма, на который указывает слот связи SlotName, по правилам,
аналогичным правилам создания экземпляра, установленным для предиката fr
instance. При этом новому фрейму автоматически присваивается имя,
генерируемое системой. После создания такого экземпляра слот связи
SlotName указывает на этот новый фрейм. Если слот SlotName указывает на
константный фрейм, то экземпляр не создается и указатель слота связи
остается неизменным.
В ряде случаев необходимо создать не только отдельный экземпляр
фрейма-родителя (или группы фреймов-родителей), но и экземпляр фрагмента
сети, т. е. фреймовый механизм пакета FRAMEBOX обеспечивает создание
экземпляров-деревьев (частного случая сетей).
Если множество фреймов образует связный ориентированный граф — сеть,
и эта сеть имеет структуру, отличную от структуры дерева, то для каждого
фрейма такой сети всегда может быть найдено единственное дерево —
фрагмент сети, корнем которого является этот фрейм, а ориентированные
дуги направлены от корня дерева к его листьям. При этом возможны случаи
вырожденных деревьев, содержащих единственную вершину — заданный
фрейм.
Один из параметров предикатов «fr instance» и «sys instance» определяет
режим выполнения операции создания экземпляра — либо режим создания
отдельного экземпляра фрейма, либо режим создания экземпляра дерева.
Последний назван режимом «дерево».
При создании экземпляра фрейма в режиме «дерево» создается дерево,
структура которого повторяет структуру исходного дерева, а каждый из
фреймов дерева-экземпляра является экземпляром соответствующего фрейма
исходного дерева, т.е. между ними установлены отношения «родители—
30
потомки».
При
этом
каждый
фрейм
дерева-экземпляра
становится
собственным фреймом вышележащего связанного с ним фрейма.
Если создается экземпляр фрейма с использованием более чем одного
родителя, то в исходном дереве корни всех деревьев, определяемых
фреймами-родителями, сливаются в один корень с исключением повторений
селекторов, ведущих от корня, и связанных с ними деревьев. Экземпляр
константного фрейма и дерева, корнем которого он является, не создается.
Если выполняется предикат «fr_delete» и при этом производится удаление
родителя
или
потомка
фрейма,
то
фреймовый
механизм
пакета
FRAMEBOX корректирует содержимое слотов АКО и DAU, определяющих
отношения «родители-потомки».
В частности, если удаляется дочерний фрейм, то его имя в родительском
фрейме исключается из списка дочерних фреймов слота DAU. Если фреймовродителей несколько, то корректировка производится в каждом из них. Если
удален последний дочерний фрейм, то слот DAU удаляется.
Если удаляется фрейм-родитель, то во всех его дочерних фреймах имя
этого родителя удаляется из списка родительских фреймов слота АКО. Если
удален последний родительский фрейм, то слот АКО удаляется.
Если удаляется фрейм, являющийся дочерним для одних фреймов и
родительским для других, то наряду с указанными корректировками
производятся изменения:
1. все родители удаленного фрейма становятся родителями каждого его
дочернего фрейма;
2. все дочерние фреймы удаленного фрейма становятся дочерними
фреймами каждого его фрейма-родителя.
Удаление фреймового дерева производится, если в предикате «fr_delete»
установлен режим «дерево». Корнем удаляемого дерева является фрейм,
указанный в качестве одного из параметров предиката «fr_delete».
31
Если некоторый фрейм дерева удаляется, то фрейм, на который указывает
каждый слот связи удаляемого фрейма, удаляется, если он является
собственным фреймом удаляемого фрейма и не является константным
фреймом.
Таким образом, в режиме «дерево» для каждого удаляемого фрейма
действует правило, в соответствии с которым удаляются только его
собственные фреймы. Кроме того, константные фреймы не удаляются из сети
фреймов при выполнении операций над деревьями.
Удаление дерева может быть произведено также при выполнении
предиката «sl_delete» в режиме «дерево», если удаляется слот связи и он
указывает на собственный фрейм фрейма, в котором удаляется слот связи.
Константный фрейм и в этом случае удалению не подлежит.
32
Третий учебный вопрос - Логическая модель представления знаний
Логическая модель является одним из примеров формальной системы и
описывается структурой: М = <T,P,A,S>.
Применительно к логической модели — исчислению предикатов первого
порядка составляющие формальной системы раскрываются следующим
образом.
Алфавит или множество базовых элементов Т, включает несколько типов
элементов:
 предметные константы (фиксированные элементы проблемной
области чаще всего — имена субъектов);
 предметные
символы
(переменные).
Обозначаются
малыми
латинскими буквами;
 функциональные
символы.
Служат
для
выражения
функциональных зависимостей между элементами. Обозначаются
буквами f, д, h и др.;
 предикатные символы. Обозначаются большими латинскими
буквами;
 логические (пропозициональные) связки: and(&), or(V), no(l), —>
(импликация), <=> (эквивалентность);
 кванторы: всеобщности V (от All), существования 3 (от Existence).
Функциональные и предикатные символы имеют некоторую местность (0местный, 1-местный и др.). Нульместный функциональный символ есть
константа. Нульместный предикатный символ совпадает с высказыванием.
Синтаксические правила Р обеспечивают формирование производных
элементов: термов, атомов, формул.
Остановимся кратко на синтаксисе и семантике исчисления предикатов 1го порядка.
Синтаксис термов:
33
 любая константа есть терм;
 если / есть n-местный функциональный символ и tl,t2,.. .,tn —
термы, то функциональная форма f(tl,t2,...,tn) есть терм;
 любая переменная есть терм;
 других термов нет.
Синтаксис атомов:
 всякая пропозициональная буква (0-местный предикат) есть атом;
 если Р—n-местный предикатный символ и tl,t2,.. .,tn — термы, то
Р(tl,t2,...,tn) — атом;
 других атомов нет.
 Синтаксис формул:
 атом есть формула;
 если Q и R — формулы, то 1Q; Q & R-, Q V R; Q —> R,Q R —
также формулы;
 если Q — формула и х — переменная, то (Vx)Q и (Зж)<3 также
являются формулами;
 других формул нет.
Составляющие А и S логической модели раскроем позднее при
рассмотрении принципа резолюций.
Предикат, или логическая функция, — функция от любого числа
элементов, принимающая истинностные значения Т(И) и F(JT). Аргументы
принимают значения
из
произвольного конечного или бесконечного
множества С, называемого предметной областью.
Пусть Р(х) — предикат, где х — предметная переменная. Говорят, что
предикат Р(х) получен в результате применения предикатной буквы к
предметной переменной х.
В предикат вместо предметных переменных могут быть подставлены
константы или n-местные функции f(tl,t2,.. .,tn), отображающие C n в С . Такая
34
операция
называется
означиванием.
Означивание
всех
предметных
переменных переводит предикатное утверждение в обычное высказывание.
Одноместные предикатные функции служат для отображения свойств,
присущих объектам некоторой предметной области. Например, высказывание
«ПК имеет высокую надежность» может быть представлено в виде предиката
R(x), где R — предикатная буква, обозначающая свойство «высокая
надежность», ах — предметная переменная, соответствующая предметной
переменной
ПК.
Многоместные
предикаты
отображают
отношения,
существующие в данной предметной области. Например: предикат Т(xl,x2),
где x1 — есть студент, х2— есть преподаватель, может отображать отношение
«сдавать экзамен». При определении предикатов могут быть выделены два
случая:
 когда предметная переменная может пробегать все возможные
значения из некоторой предметной области С. Этот случай в
исчислении предикатов отображается квантором (все) общности:
(x)R(x);
 если предметная переменная пробегает не все значения, а только
некоторые значения из всего диапазона значений. Этот случай
отображается с помощью квантора существования: (x)R(x).
Предметная переменная, которая находится в области действия квантора,
называется связанной предметной переменной и не может быть произвольно
означенной.
Предметная переменная, которая не находится в области действия
квантора, называется свободной предметной переменной. В предикатной
формуле (x)R(x,y) х— связанная, у — свободная переменная.
Существуют
ситуации,
когда
в
многоместном
предикате
переменные находятся в области действия различных кванторов.
35
разные
Говорят, что связанные переменные являются фиктивными буквами. Они
могут быть заменены другими буквами без изменения смысла данного
предиката. Свободные переменные также могут быть заменены переменными
той же самой категории. Однако для свободных переменных допустима
замена константными символами. Для связанных переменных такая замена
недопустима.
Семантика
исчисления
предикатов
первого
порядка
основана
на
исчислении предикатов как логической модели представления знаний. При
этом существуют два вида интерпретации: внутренняя (предикатные
выражения могут принимать значения истинности — Т, F) и внешняя
(определяет соответствия между элементами формальной логической модели
и элементами конкретной предметной области).
Необходимо установить соответствия между:
 предметными константами и объектами предметной области. Как
правило, константам соответствуют имена объектов;
 предметными переменными и объектами предметной области;
 функциональными
формулами
и
соответствующими
зависимостями, существующими в предметной области;
 предикатными функциями и свойствами объектов и отношений
между ними в определенной предметной области. При этом при
установлении
местность
таких
соответствий
соответствующих
должна
предикатных
быть
определена
функций,
т.е.
количество мест предикатных переменных, которые соответствуют
числу объектов предметной области, участвующих в данных
отношениях.
Кроме того, каждому предикату должно соответствовать значение
«Истина» или «Ложь».
36
Четвертый учебный вопрос - Искусственные нейронные сети
Известно, что искусственные нейронные сети (ИНС) создавались в
противовес
экспертным
системам,
чтобы
устранить ряд
недостатков
последних. Сравнительные характеристики экспертных систем и нейронных
сетей приведены в таблица 1.
Таблица 1 Сравнение прогнозирующих характеристик экспертной системы
и нейронной сети
В дальнейшем выяснилось, что сами ИНС имеют достаточно сложную
структуру.
Их
применение
для
малоразмерных
систем
управления
проблематично. Основой ИНС является базовый процессорный элемент
(БПЭ), который является имитацией естественного биологического нейрона и
представляет собой одномерный элемент ADALINE. Схема БПЭ (или
ADALINE) показана на Слайде ______. Здесь  i  1  i  1 — некоторые веса,
которые могут изменяться,  0 — некоторый порог срабатывания элемента, f(s)
— соматическая функция — функция активации.
Наиболее распространенными являются функции: линейные f(s) = s;
37
экспоненциальные f(s) =
es
2
/ 2
, где  — числовой параметр;
1
логистические кривые f(s) =
— (в с т р е ча е тс я наиболее часто).
1  e s
Слайд №____ Базовый процессорный элемент (БПЭ)
Слайд №___- Сигмоидальная функция
Логистическая кривая практически бесконечно дифференцируема, ее
производная
имеет
вид
f(s)
=1+f(s).
Эту
кривую
называют
также
сигмоидалъной функцией (Слайд №___). Она может быть записана в форме
f(s) = 1/[1 + exp(-s)]. Если взять два числовых значения s = s1 и s = s2 при
s1>s2, то первая кривая будет круче около точки s = 0. В общем виде :
f(s) = b+(1/[1 + ехр(—{s - а})]), где а и b — константы, обеспечиваемые
соответстующими смещениями  0 . При а < 0 и b < 0 начало координат
сместится так, как показано пунктиром на Слайде №____, а.
38
При f(s) = -1/[1 + exp(-s)] кривая имеет вид, показанный на Слайде №___, б.
Таким образом, с помощью весов вид функции может быть изменен. Этим
свойством пользуются при применении ИНС в диагностике. В простейшем
случае БПЭ описывается выражением:
Его возможности при линейной соматической функции ограничены. В
связи с этим был предложен многомерный однослойный БПЭ MADALINE
(Слайд №____):
В то же время имеется необходимость в многослойной сети, простейшая
структура которой представлена на Слайде №_____.
Слайд №___ Многослойный БПЭ
39
Очень часто во втором и следующих слоях может не использоваться
функция суммы, а в качестве соматической применяют линейную функцию. В
связи с этим часто слой определяется набором соответствующих весов.
На основе БПЭ могут быть построены различные виды искусственных
нейронных сетей.
Вариант классификации ИНС приведен на Слайде №___. Иногда
структуры классов систем рисуют упрощенно.
Слайд №___ Классификация ИНС
Однослойная структура представлена на Слайд №____. Обычно
рассматриваются сети без боковых связей.
Слайд №___ Однослойная структура
40
Сеть Хопфилда изображена на Слайде №_____.
Слайд №____ - Сеть Хопфилда
Она является сетью с обратной связью и по свойствам близка к системам
автоматического управления.
Необходимость многослойной схемы наиболее четко видна из задачи
распознавания образов (Слайд №___).
Слайд №___ Иллюстрация применения ИНС для распознавания образов
Имеется два вида элементов: крестики х и нолики 0. Необходимо их
разделить на области I—III, а затем области I и III объединить. Рассмотрим
первую часть задачи.
Очевидно, что задача может быть решена, если удастся сформировать
некоторую ступенчатую кривую а (см. Слайд №___) с соответствующими
параметрами. Для этого формируется сеть (Слайд №_____) с элементами
41
xi
Слайд №____ Пример многослойной ИНС
Элемент x 0 обладает порогом  0 элемент х1 копирует элемент х0, в
элементе х2 вес w12 < 0, а w13 > 0. В элементах х2 и х3 используется
сигмоидальная функция, элемент х4 суммирует сигналы х2 и х3 с
соответствующими весами.
Покажем, что функция у близка к ранее отображенной. Запишем
функции:
Используем трансформацию сигмоидальной функции в зависимости от
весов и смещения и получим результат, показанный на Слайде №___.
Слайд №____ Процесс распознавания образов
42
Следовательно, за счет весов с соответствующими величинами смещений
формируется кривая x4, которая при подборе соответствующих числовых
значений может быть близкой к кривой на Слайде №____.
Слайд №___ Иллюстрация применения ИНС для распознавания образов
Таким образом, для решения данной задачи потребовалась многослойная
сеть.
ИНС могут быть использованы для распознавания образов; параллельных
вычислений;
оптимизации
процессов;
обучения;
идентификации
и
управления.
В области управления ИНС могут быть использованы для:
 проектирования с выбором функции активации / в соответствии с
поставленной целью;
 задания
алгоритма
обучения
сети
с
помощью
подбора
соответствующих весов;
 запоминания (в процессе работы) при зафиксированных
 весах.
В последнем случае говорят, что ИНС имеет ассоциативную память. В
двух последних случаях ИНС рассматривается как замкнутая. В силу наличия
большого количества нелинейности и многослойности возможно много
состояний равновесия.
43
Каждое из таких состояний называется аттрактором. Фактически
аттракторы соответствуют незашумленным значениям входного сигнала
44

.
Пятый учебный вопрос – Мультиагентные системы
Теория мультиагентных систем только начала складываться. В связи с этим
рассмотрим только основные положения.
Показанные
на
Слайде
№____
предметные
области
развивались
практически автономно.
Слайд №_____ Соотношение предметных областей
Область систем искусственного интеллекта (СИИ) в отношении принятия
решений сильно ограничена. В основном рассматриваются дискретные
процессы. В то же время появились адаптивные непрерывные системы.
Адаптация возможна к изменению параметров объекта управления
(самонастраивающаяся
система)
и
к
изменению
структуры
ОУ
(самоорганизующаяся система).
Решать задачу интеграции предметных областей, характеризующихся
кривой 1 на Слайде №____, оказалось сложно, поэтому изучают интеграцию
предметных областей, ограниченных кривой 2.
Считается, что эта интеграция является началом решения понимания
термина «искусственный интеллект». Одним из таких методов интеграции
45
является метод мультиагентных (многоагентных) систем (MAC). В силу
неустоявшейся терминологии такие системы называются многоагентными
системами.
В мультиагентных системах используют модальную логику (логику
достоверности). Достоверность может иметь три разновидности:
 аподиктическую (наибольшую достоверность) — целое больше
части;
 ассерторическую (утвердительную логику) — яблоко разделено на
части;
 проблематичную — фактор уверенности, нечетные переменные.
Модальная логика не может «работать» без пропозициональной логики
(логики предложений, в частности логики правил).
Введем необходимые определения.
Агент — лицо, действующее по поручению и (вне компьютерного
понимания) полномочию другого лица. Основные характеристики агента —
относительная автономность и целенаправленность.
С компьютерной точки зрения агент — это вычислительный процесс,
реализующий
приложений.
автономную
С
точки
коммуникационную
зрения
систем
функциональность
искусственного
интеллекта
целесообразно иметь интеллектуального агента.
Интеллектуальный агент (ИА) — программно-аппаратный объект,
автономно функционирующий в рамках достижения цели (поставленной
перед
ним
владельцем/пользователем,
обладающим
определенными
интеллектуальными способностями).
Уровень способностей классифицируется в зависимости от среды, в
которой агент работает (Слайд №___). В таблице 5.1 представлены методы
математического описания ИА в зависимости от типа среды.
46
Слайд №___ Уровень способностей в зависимости от среды
Таблица 5.1 Методы математического описания
Для агентов сформулирован целый ряд свойств, часть из которых
отображена в таблице. 5.2.
Автономный (простой) агент — агент, взаимодействующий только с
пользователем.
Разумный (когнитивный, способный) агент - агент, владеющий знаниями
о среде, имеющий цели в жизни и знающий способы их достижения.
Интеллектуальный агент
- агент,
обучению.
47
обладающий способностью к
Действительно
интеллектуальный
агент
-
агент,
способный
самостоятельно действовать.
Таблица 5.2 Свойства агентов
Если агент взаимодействует с другими агентами, то говорят о
мультиагентной системе.
Считается, что агент должен обладать такими свойствами, как
реактивность
(аналог
условных
рефлексов);
активность
(проявление
инициативы); наличие БД о себе, о среде и других агентах. Эти свойства
характеризуют постоянную часть знаний.
К
переменной
части
знаний
относятся:
убеждение
(может
измениться); желание; намерение (выполнить по обязательствам для других
агентов).
48
Необходимо изучать свойства правдивости и рациональности (но не
уклонение от достижения цели).
Поведение
агентов
может
принимать
разные
формы,
их
классифицируют по уровням взаимодействия:
 уровень 0 — связность устанавливается извне владельцем и не
воспринимается агентами;
 уровень
1
—
координация,
позволяющая
другим
агентам
осуществлять деятельность эффективным образом;
 уровень 2 — кооперация: поведение агента частично определяется
поведением других агентов для совместного достижения цели;
 уровень 3 — сотрудничество: совместная работа агентов, в которой
выигрывает каждый;
 уровень 4 — образование союза, продолжительная совместная
деятельность.
При этом базовые знания обязательны, убеждения должны быть
интерпретированы в структуре MAC в виде правил формирования выводов,
базовой шкалы, веса критериев.
Убеждения делят:
 на внутренние,
 индуктивные,
 коммутативные.
Внутренние
убеждения
агента
(алгоритмы,
сценарии,
оценки)
закладываются при разработке или вносятся при эксплуатации.
Индуктивные убеждения являются результатом анализа состояния среды
и формируются, например, продукциями (если есть факт X, то убеждение Z
достоверное).
Коммутативные убеждения получаются из связи с другими агентами по
соответствующим правилам. Например, если агент А сообщает о факте X и А
заслуживает доверия, то убеждение Z — достоверное.
49
Убеждения пытаются описывать правилами. Изучение перечисленных
свойств привело к появлению целого ряда направлений для исследования:
1.
Теория агентов (абстрактное представление структуры и свойств
агентов, математические методы описания, формальное представление);
 методы
коллективного
поведения
агентов
(собственно
мультиагентные системы);
 архитектура агентов мультиагентных систем;
 языки и средства коммутации агентов в системе;
 разработка специализированных языков программирования;
 методы
и
средства
автоматизированного
проектирования
мультиагентных систем;
 методы и средства обеспечения мобильности агентов.
В
разработке
логических
формализмов
ментальности
понятий
имеются две основные проблемы.
1. Представление синтаксиса языка формализации. Решением
может служить
применение
модальных логик,
содержащих
неистинностные модальные операторы, и применение языков,
основанных
на
многосортной
логике
первого
порядка
и
содержащих термины, определяющие формулы некоторого другого
языка.
2. Создание семантической модели (синтаксиса или языка).
При рассмотрении архитектуры агентов выделяют делиберативную,
реактивную (бихевиористическую, поведенческую), гибридную.
Делиберативная
(интеллектуальная)
архитектура
—
агенты
используют только точное представление картины мира в символьной форме,
а решения принимаются на основе формальных рассуждений и использования
метода сравнения по образцу. Иначе эту архитектуру называют архитектурой,
основанной на значениях.
Реактивная архитектура — нет точного представления картины мира
(внешней
среды),
а
функционирование
50
осуществляется
по
правилу:
«ситуация—действие» — это направление заимствовано из рефлексов живых
существ.
Гибридная архитектура: одна часть агентов строится по одной
архитектуре, а другая часть — по другой.
Некоторые характеристики архитектур представлены в таблице 5.3.
Таблица 5.3 Характеристика архитектур
Среди реактивных агентов выделяют так называемые мобильные агенты. В
программном отношении к ним относят Component Object Model (COM),
Common Object Request Broker Architecture (CORBA).
51
Заключительная часть:
Т.О. в ходе лекционного занятия:
1.
Сформировано информационно-наглядное представление о процедурах
представления знаний и искусственном интеллекте.
2.
Дана характеристика семантическими нейронным сетям а так же
мультиагентным системам.
3.
Охарактеризована логическую модель представления знаний.
4.
Показана роль и значение дисциплины в фундаментальной подготовке
по направлению.
Контрольные вопросы к базовой лекции:
1.
Какие
существуют
направления
исследований
в
искусственном
интеллекте?
2.
Охарактеризуйте интенсиональную и экстенсиональную компоненты
модели данных.
3.
В чем состоит отличие знаний от данных?
4.
Что такое стереотипная ситуация?
5.
Какие существуют формы представления знаний?
6.
Какие существуют модели представления знаний?
7.
Какие сети относятся к семантическим?
8.
Выделите основные характеристики алгоритма, реализующего стратегию
обратной волны.
9.
Выделите основные характеристики алгоритма, реализующего стратегию
прямой волны.
10. Раскройте понятие фрейм.
11. Какие существуют модели представления фреймов?
12. Какова структура фреймов?
13. Какие отношения между фреймами используются во фреймовой системе
пакета FRAMEBOX?
52
14. Охарактеризуйте фреймовую структуру с отношениями типа АКО.
15. В чем заключается механизм межфреймовых связей?
16. Охарактеризуйте выводы, использующие отношения между фреймами.
17. Раскройте преобразования структуры фреймовой системы.
18. Укажите типы элементов логической модели представления знаний.
19. Раскройте содержание синтаксиса и семантики исчисления предикатов 1го порядка.
20. Какие случаи можно выделить при определении предикатов?
21. Что такое предваренная или (пренексная) каноническая нормальная
форма?
22. В чем заключается поиск решений методом доказательства теорем?
23. В чем заключается принцип резолюции (резольвенции)?
24. В чем заключаются квантифицированные утверждения?
25. Какие существуют классы стратегий управления выводом?
26. Перечислите синтаксические стратегии.
27. В чем заключается стратегия опорного или несущего множества?
28. Что является основой ИНС?
29. Охарактеризуйте многомерный однослойный БПЭ.
30. В каких областях могут быть использованы ИНС?
31. Какие варианты использования ИНС вы знаете?
32. Какое состояние называется аттрактором?
33. Перечислите методы обучения ИНС.
34. Какая настройка осуществляется фактически в ИНС?
35. Какие этапы включает работа с искусственными нейронными сетями?
36. Какие системы называются многоагентными?
37. Что такое агент и интеллектуальный агент?
38. Что такое мультиагентная система?
39. Перечислите уровни взаимодействия агентов.
40. Какие направления исследования агентов вы знаете?
41. Какие существуют разновидности архитектуры мультиагентных систем?
53
Лекцию разработал:
Доцент
кафедры
информационных
систем и технологий
кандидат технических наук, доцент
В.Е. Рачков
«_____»_______________________2012 г.
54
Download