4 (743480), страница 2
Текст из файла (страница 2)
Наиболее часто используемые модели представления знаний для решения задач искусственного интеллекта (ИИ) приведены в табл. 1.1.
Таблица 1.1
Описательные формализмы | Иерархия | Наследование | Модульность |
Семантические сети | + | - | - |
Фреймовая модель | + | + | - |
Продукционная модель | + | - | + |
ОО модель | + | + | + |
Для проекта "Учебное расписание" был выбран объектно-ориентированный (ОО) формализм представления знаний, который можно трактовать как уточнение формализма фреймов (в формализме фреймов не делается различия между видом отношений класс/подкласс и видом отношений класс/конкретный экземпляр, в то время как в ОО формализме эти два вида отношений являются ортогональными).
ОО модель знаний также выгодна с точки зрения процесса представления знаний, который включает в себя следующие этапы:
1. Идентификация классов и объектов данного уровня абстракции;
2. Идентификация семантики классов и объектов;
3. Идентификация связей между классами и объектами;
4. Идентификация классов и объектов (программная реализация).
2.1.1. Объектно-ориентированная модель представления знаний
Концептуальной основой объектно-ориентированного стиля представления систем является подход, которому соответствуют четыре главных элемента:
- абстрагирование;
- ограничение доступа;
- модульность;
- иерархия.
Под абстрагированием понимают выделение существенных характеристик (атрибутов) объектов (определение абстрактного типа данных), которые отличают его от всех других видов объектов и, таким образом, четко определяют особенности данного объекта с точки зрения дальнейшего рассмотрения и анализа.
На данном этапе введем понятие инкапсуляции как объединения атрибутов объектов и функций управления объектами в единую описательную структуру - класс. Таким образом, понятие класс определяет множество объектов, связанных общностью структуры и поведения.
Следует разделять внутреннее и внешнее проявление класса. Интерфейсная часть описания класса соответствует его внешнему проявлению, подчеркивает его абстрактность, но скрывает его структуру и особенности поведения. Реализация класса составляет его внутреннее проявление и определяет особенности поведения, т.е. в данной части раскрывается реализация тех операций, которые перечислены в интерфейсной части описания.
Интерфейсная часть класса состоит из перечня действий, который допускает описание, других классов, констант, переменных и других особенностей, необходимых для полного определения данной абстракции. Интерфейсная часть описания класса разделена на три составные части:
- общедоступная;
- защищенная;
- обособленная (скрытая).
К = , (2.1)
где
А – атрибуты класса;
Ф – функции (методы) класса.
В свою очередь:
А =<ОА, ЗА, СА>, (2.2),
а
Ф = <ОФ, ЗФ, ОФ>, (2.3)
где
О[А,Ф] - общедоступные элементы класса;
З[А,Ф] - защищенные элементы класса;
С[А,Ф] - скрытые элементы класса.
В общедоступной части интерфейса класса декларируются определения, "видимые" для всех объектов-пользователей данного класса.
В защищенной части интерфейса класса даются определения, "видимые" только для объектов, относящихся к подклассам данного класса.
В обособленной части интерфейса класса декларируются определения, "скрытые" для объектов всех других классов.
Созданию абстракции объекта предшествуют решения о способе ее реализации. Выбранный способ реализации должен быть скрыт и защищен для большинства объектов, обращающихся к данной абстракции. Ограничение доступа определяет процесс защиты отдельных элементов объекта, не затрагивающий существенных характеристик объекта как целого.
Модульность является свойством системы, которое связано с возможностью декомпозиции ее на ряд тесно связанных модулей (областей).
Иерархия реализует механизм отношений между классами объектов. Отношения между классами могут быть комбинацией следующих типов иерархий;
- наследование;
- использование;
- метаклассы.
Наследование – отношение между классами, когда один класс повторяет (включает в себя) структуру и поведение другого (простое наследование) или других (множественное наследование) классов. Класс, структура и поведение которого наследуются, называются суперклассом (класс-предок), а производный от суперкласса класс навивается подклассом (класс-наследник). Очевидно, что лучшим способом сохранения единства подхода к проекту и решения проблемы избыточности описания, является создание для каждого вида данных отдельного класса, что позволит защитить данные в каждом классе и увязать их с выполняемыми операциями.
Отношение использования связано с объявлением общности (дружественности) классов, которая означает возможность доступа к защищенным элементам класса объектам других классов.
Метакласс (абстрактный класс) является классом, объекты которого сами являются классами.
2.1.2. Блочная альтернативная сеть
2.1.2.1. Элементарный блок альтернатив
Постановку задачи выбора альтернативных результатов для задач синтеза технических решений осуществим следующим образом.
Пусть существует объект R (R~О), который будем называть решением. При этом существует несколько показателей (атрибутов), характеризующих объект:
П = (П1,...,П,... ,ПN) (2.4)
Каждый атрибут может принимать качественные и количественные значения, которые определяются как параметры (значения атрибута). Эти параметры могут быть постоянными и переменными во времени:
П=(1, …, j, …, I),
или (2.5)
А=(1, …, j, …, I)
Схема атрибутивного представления решения сложной задачи приведена на рис. 2.1.
Решение сложной задачи в соответствии о таким представлением будет определяться как прямое произведение его атрибутов:
R (А1 ... А ... АN). (2.6)
С учетом того, что каждый атрибут определяется множеством его значений, решение будет задаваться матрицей атрибутов:
А 1 = (11, …, 1j, …, 1m1)
…………………………..
А = (1, …, j, …, m) (2.7)
……………………………
AN = (N1, …, Nj, …, NmN)
Естественно, что значения атрибутов, а в ряде случаев и сами атрибуты могут выступать в качестве альтернативных характеристик или величин-параметров. В рассмотрение можно включить некоторый
атрибут А и набор его альтернативных значений j, если сам атрибут и его значения заданы. Следует отметить, что значения j атрибута А могут иметь непрерывный или дискретный характер. Это могут быть числовые величины или некоторые понятия. Отношение атрибут-значение можно представить в виде первичного дерева иерархии (рис. 2.2).
Здесь атрибут А выступает в качестве корневой вершины, а значения j (j=l,... ,N) определяются как альтернативные, так как предполагается, что в любой момент времени атрибут А может принимать одно и только одно значение j.
Элементарный блок альтернатив (БА) можно представить как поименованную .структуру организации данных, т.е. класс, определяющий множество объектов-альтернатив (рис. 2.3).
В подобной структуре должна быть реализована функция выбора альтернативы (ФВА) при условии существования значения (кода) альтернативы. Обычно подобная функция содержит в своем теле две составляющие: рекурсивный (R) и транзитный (Т) блоки. Рекурсивный блок используется тогда, когда необходимо решить задачу поиска альтернативного значения на массиве альтернатив, т. е. Организовать циклический процесс. Транзитный блок используется в тех случаях, когда ни одна из альтернатив в общем решении не участвует, а в частном случае может выступать как ограничитель для рекурсивного перебора альтернатив.
Решение - R
1
о
m










Рис. 2.1 Атрибутивное представление решения сложной задачи
А
Рис. 2.2 Отношение атрибут-значение в виде первичного дерева иерархии
вход
А




R
T
якорь
выход
Рис. 2.3. Элементарный блок альтернатив
Инкапсулируя БА с ФБА, получим замкнутую систему работы с данными по поиску и выборке альтернатив (рис. 2.4).
Тогда входной массив данных Ах можно интерпретировать как набор входных аргументов для ФВА, а выходной массив Ау сопоставить с конкретным объектом-альтернативой, атрибутивным описанием которого является Ау.
Альтернативы могут формироваться в соответствии с теми или иными дисциплинами упорядочения в ФВА, в зависимости от которых определяются стратегии поиска альтернативы (эвристический поиск), т. е. ФВА может быть связана с базой знаний, содержащей правила для выбора альтернатив.
Формально реализацию механизма эвристического поиска представим в виде следующей последовательности:
Этап 1. Выбор из множества возможных действий некоторого действия: