Научная статья на тему 'Реализация механизмов вывода на основе деревьев решений и семантических сетей'

Реализация механизмов вывода на основе деревьев решений и семантических сетей Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
154
27
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Реализация механизмов вывода на основе деревьев решений и семантических сетей»

Реализация механизмов вывода на основе деревьев решений

и семантических сетей

Солодовников И.В., МГИЭМ

Важным классом задач, решаемых в информационных системах, являются задачи принятия решения. Одним из подходов для их представления является подход, основанный на использовании деревьев решений. Значительно реже в последнее время используется подход с применением семантических сетей. Однако, сочетание семантических сетей и деревьев решений дает дополнительные возможности для этого класса задач и позволяет повысить качество принимаемых решений.

Рис.1. Пример дерева решений

Дерево решений состоит из вершин двух типов. Вершины решений, содержащие вопросы, обозначаются окружностями. Цели или логические выводы обозначаются прямоугольниками. Вершины нумеруются. Каждая вершина может иметь не более одного входа. Для сравнения подходов, основанных на деревьях решений и простейших семантических сетях, рассмотрим пример с приемом на работу, часто используемый в литературе [1].

Таблица дерева решений

№ Переменная Значение Исходная Дуга Тип

вершины вершина вершины

1 Звание - - - решение

2 Должность Отказ 1 нет вывод

3 Возможность да 1 да вывод

4 Открытия - 1 да решение

5 Средний балл - 3 да решение

6 Должность Научный сотрудник 4 да вывод

7 стаж - 5 < 3.5 решение

8 должность конструктор 5 > 3.5 вывод

9 должность Отказ 7 < 2 вывод

10 должность администратор 7 > 2 вывод

Для сохранения результатов будем использовать таблицу вывода (в начальный момент таблица пуста).

Таблица вывода

№ варианта Переменная Значение

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

Пусть задано конечное множество символов А = {А1, . . ., Аг}, называемых атрибутами, и конечное множество Я = {Я1, . . ., Яд} отношений. Схемой или интенсионалом отношения Ш называют набор пар:

ШТ(И) = { . . ., [Л], БОМ(Л])], . . .},

где Ш - имя отношения, БОМ(Л^ - домен Л], т.е. множество значений атрибута Л] отношения Ш.

Объединение всех доменов называется базовым множеством модели или множеством объектов, на которых задаются отношения Я.

Экстенсионалом отношения Ш называют множество

БХТ(Я1) = {Б1, . . ., Бр},

где Бк (к = 1 ^ р) - факт отношения Я! Факт задается совокупностью пар атрибут - значение, называемых атрибутивными парами. Под фактом понимается конкретизация определенного отношения между указанными объектами. В графической интерпретации факт - это подграф семантической сети, имеющий звездообразную структуру. Корень подграфа - вершина предикатного типа, помеченная уникальной меткой, включающей имя соответствующего отношения. Из вершины факта выходят ребра, помеченные именами атрибутов данного факта, ведущие в вершины базового множества, которые являются значениями этих атрибутов.

Для примера с приемом на работу получим:

ГЫТ( Должность) = {[ Звание(да, нет)], [Возможность принять(да, нет)], [Открытия(да, нет)], [Средний балл(<3.5, >3.5)], [Стаж работы(<2, >2)], [Должность(отказ, научный сотрудник, конструктор, администратор)]}

ГЫТ(Возможность принять) = {[Звание(да, нет)], [Возможность принять(да, нет)]}

Отметим, что каждой переменной вывода соответствует свое отношение. Переменные вывода отметим жирным шрифтом. Кроме того, введем еще одно значение Nil, которое может принимать любая переменная, и которое будет обозначать, что данная переменная не учитывается при формировании факта. Дополнительный смысл значения Nil будет пояснен ниже.

Экстенсионалы этих отношений запишем в виде фактов, которые удобно представлять в виде таблиц.

Таблица. Экстенсионал «Возможность принять»

Метка факта Звание Возможность принять

F1 да да

Таблица. Экстенсионал «Должность»

Метка Звание Возможность Откры Средний Стаж Должность

факта принять тия балл работы

F2 нет Nil Nil Nil Nil отказ

F3 да Nil да Nil Nil Научный сотрудник

F4 да да нет >3.5 Nil Конструктор

F5 да да нет <3.5 >2 администрат ор

F6 да да нет <3.5 <2 отказ

Получим следующий граф для рассматриваемого примера (рис.2). Алгоритм преобразования дерева решений в семантическую сеть достаточно прост. Пусть заданы список V переменных вывода и список интенсионалов I. В начальный момент эти списки пусты. Просматривается таблица хранения дерева решений. Для каждой вершины вывода реализуется обратная цепочка рассуждений. Описание семантической сети строится по следующим правилам:

1. Если имя переменной отсутствует в списке V, то оно добавляется в список и делается текущим. Если переменная есть в списке, она делается текущей.

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

3. Одновременно формируется интенсионал. Если в списке I отсутствует элемент с текущим именем переменной вывода, переменной и значением переменной из таблицы вывода, соответствующий элемент добавляется к этому списку.

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

Проведем сравнение этих двух представлений. Дерево решений более просто с точки зрения пользователя, поскольку может быть реализовано, как последовательность ответов на вопросы, причем значения ответов выбираются из заранее определенного перечня. Таким образом, процесс принятия решения достаточно нагляден, так как отображается в виде естественной цепочки рассуждений. Однако, это справедливо лишь для небольших по объему деревьев решений. Действительно, чем больше дерево решений, чем сложнее его структура, тем сложнее отследить логику проводимых рассуждений. Поэтому возникает задача выделения поддеревьев (частичных деревьев решений), которые отображают отдельные аспекты вывода решений. При этом возникает ряд проблем:

- как разбить исходное дерево на поддеревья;

- какое из поддеревьев наиболее информативно для пользователя с точки зрения обоснования принимаемого решения и т.д.

возможность

возможность

Рис.2. Пример семантической сети

Теперь рассмотрим приведенный здесь вариант семантической сети.

Сразу обратим внимание на то, что поскольку существует отображение одного

представления в другое, эти представления с формальной точки зрения

тождественны. Однако, представление в виде семантической сети позволяет

упростить решение целого ряда задач.

Как видно из алгоритма преобразования дерева решений в

семантическую сеть, каждый факт представляет уже готовый вариант вывода.

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

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

21

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

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

Это означает, что в семантической сети возможно введение средств построения функциональных зависимостей подобно тому, как это сделано в языках функционального программирования таких как, например, ЛИСП [4]. Вернемся к примеру с приемом на работу. Рассмотрим экстенсионал «Должность». В описание фактов этого экстенсионала входит атрибут «Возможность принять», который соответствует вершине вывода, а, следовательно, дереву решений (частичному дереву решений). Можно рассматривать факт, как список атомов, каждому из которых ставится в соответствие значение либо непосредственно, либо в процессе вывода. Если ввести операции манипулирования над такими списками, появляется возможность создавать и модифицировать деревья решений формальными методами.

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

Литература

1. Р.Левин, Д.Дранг, Б.Эделсон. Практическое введение в технологию искусственного интеллекта и экспертных систем с иллюстрацией на Бейсике. - М., Финансы и статистика, 1991.

2. Робототехника и гибкие автоматизированные производства. В 9-ти книгах. Кн. 6. Техническая имитация интеллекта / В.М. Назаретов, Д.П. Ким. Под ред. И.М. Макарова. - М., Высшая школа, 1986.

3. Солодовников В.И., Солодовников И.В. Разработка ВС с использованием графовых моделей принятия решений - Новые информационные технологии. Материалы пятого научно-практического семинара. М., 2002.

4. Э.Хювенен, И.Сеппянен. Мир ЛИСПА. Методы и системы программирования. - М., Мир, 1990.

i Надоели баннеры? Вы всегда можете отключить рекламу.