y = k=1
*CP((yесть B<k)\,(y есть B'<k)\) (1) ' У
Х ^CP((y есть B<k)),(y есть В'<к)})(1)
(16)
Дефаззификация
Четкое значение выходной переменной y, если B' не представлено одноточечным множеством или четкой функцией, получить как результат дефаззификации нечеткого множества B՛.
Преимущество рассмотренного метода нечеткого вывода по сравнению с композиционным
правилом вывода заключается в том, что вычисления переносятся в пространство нечетких значений истинности. Это позволяет уйти от предметной области и использовать универсальное представление для выражения таких вербальных понятий, как «истинно», «очень истинно» и т.п.
На основе данной системы нечеткого вывода можно построить нейро-нечеткую систему. Дальнейшие исследования связаны с разработкой специально адаптированного для данной задачи генетического алгоритма, с помощью которого реализуются процессы обучения и настройки нейро-нечеткой системы.
K
ОЦЕНКА ЭФФЕКТИВНОСТИ СИСТЕМ ЛОГИЧЕСКОГО ВЫВОДА МОДИФИЦИРУЕМЫХ ЗАКЛЮЧЕНИЙ
М.Н. Томчук (Вятский государственный университет, г. Киров); Д.А. Страбыкин (Кировский филиал МГЭИ)
Системы обработки знаний на сегодняшний день распространены достаточно широко в виде экспертных систем, систем принятия решений, систем логического программирования. Разработка новых методов и средств обработки знаний способствует расширению класса решаемых задач и, следовательно, расширению области применения систем обработки знаний.
Особого внимания заслуживают системы обработки знаний, основанные на моделировании рассуждений человека средствами логического вывода. В таких системах знания обычно представляются в виде логических формул исчисления высказываний или исчисления предикатов первого порядка, что позволяет достаточно просто описывать исходные посылки и интерпретировать результат, а также отслеживать ход моделирования рассуждений.
В настоящее время перспективными являются системы логического вывода, основанные на принципе деления дизъюнктов, отличительными чертами которого являются двунаправленный вывод (что сокращает число шагов логического вывода) и значительный возможный параллелизм обработки знаний (что позволяет эффективно решать задачи логического вывода на современных многопроцессорных вычислительных системах и комплексах) [1].
Одним из новых видов логического вывода является логический вывод модифицируемых заключений, который позволяет преобразовать изначально невыводимое заключение с целью сделать его следствием исходных посылок [2]. Этот вид вывода делает возможным расширение класса решаемых системами логического вывода задач, в частности, за счет задач интеллектуального обу-
чения, интеллектуального управления вычислительными процессами, автоматического управления объектами и других.
При разработке новых методов и средств логического вывода возникает задача оценки эффективности их работы. Такая оценка позволяет, с одной стороны, оценить целесообразность разработки, а с другой - определить характеристики систем обработки знаний, построенных на основе новых методов и средств логического вывода. В работе рассматриваются критерии оценки эффективности систем обработки знаний и предлагаются способы расчета времени логического вывода и степени модификации заключения для логического вывода модифицируемых заключений.
Критерии эффективности
Для оценки эффективности систем обработки знаний предложено множество критериев. Все критерии можно разделить на следующие группы:
а) критерии пользователей: прозрачность, удобство интеллектуального интерфейса;
б) критерии приглашенных экспертов: оценка решений, предлагаемых системой, сравнение решений системы с собственными решениями, оценка подсистем;
в) критерии коллектива разработчиков: эффективность реализации, производительность, время отклика, дизайн, широта охвата предметной области, глубина анализа предметной области, непротиворечивость базы знаний, наличие и количество тупиковых ситуаций, анализ чувствительности программы к изменениям в представлении знаний, данных и т.д.
Кроме того, для рассматриваемой системы следует ввести критерии, специфические для вы-
вода модифицированных заключений: время и степень модификации заключения.
Первый из критериев имеет однозначный смысл: чем время выполнения вывода меньше, тем эффективнее работа системы. Учитывая, что метод вывода параллельный, данный критерий следует рассматривать с учетом количества вычислителей и выбранной глубины параллелизма.
Второй критерий не столь однозначен, однако, как правило, следует считать, что чем меньше степень модификации, тем качественнее результат вывода.
Расчет времени вывода
Расчет времени вывода необходимо проводить с учетом как структуры системы логического вывода, так и структуры самого процесса вывода. Также необходимо принимать во внимание особенность организации аппаратных средств, на которых проводятся вычисления. В общем случае, принимая во внимание основные этапы метода логического вывода модифицируемых заключений, рассчитаем время:
Твмз—Тпрзак+Тр+Тмин+Тф, (1)
где Тпрзак - время преобразования заключения во множество дизъюнктов; Тр - время расширения формулы заключения; Тмин - время минимизации формулы заключения; Тф - время фильтрации вариантов модификации.
Время преобразования заключения во множество дизъюнктов относительно мало и может быть рассчитано по следующей формуле:
Тпрзак—(Т+Тпрф)-^ф/Щ, (2)
где т - временные затраты на организацию вычислительного процесса («накладные расходы» на создание процесса, передачу параметров и результата, удаление процесса); Тпрф - среднее время преобразования во множество дизъюнктов одной формулы заключения; N - количество формул в заключении; N - количество вычислителей; ] [ -операция округления до ближайшего большего целого.
Время преобразования одной формулы Тпрф в значительной степени зависит от сложности формулы, глубины вложенности скобок, наличия кванторов и т.д. Существенного влияния на общее время вывода величина Тпрф не оказывает.
Рассчитаем время расширения формулы заключения:
Т— Тр—
—
i=1
tr
+Т +Т +Т
+ Т рз+ Т рп+ Т рф,
(3)
где tpl - время выполнения 1-го шага вывода; I -общее количество шагов вывода; Трз - время согласования решений и формирования вариантов формул дополнительных посылок; Трп - время подготовки и выполнения проверочного дедуктивного вывода; Трф - время формирования результата.
Время выполнения l-го шага вывода зависит от количества процедур вывода и для 1—1 может быть рассчитано по формуле:
Ц—(т+Тте)-]^1/Щ, (4)
где - среднее время выполнения процедуры вывода; Nw1 - количество выводимых дизъюнктов первого шага (соответствует количеству дизъюнктов заключения).
Для i>1 время рассчитывается по формуле: ^—(т+Тте)-]2^/Щ, (5)
где Nwl - количество выводимых дизъюнктов на i-м шаге.
Логический вывод делением дизъюнктов допускает несколько возможных уровней параллелизма (табл. 1).
Таблица 1
Уровни параллелизма логического вывода
Уровень параллелизма Выполняемые операции Количество параллельных операций
1 Обработка дизъюнктов заключения 1-10
2 Выполнение процедур вывода 1-10
3 Полное деление дизъюнктов 10-100 (10-10 000)
4 Частичное деление дизъюнктов 1-10 (10-100 000)
5 Унификация литералов 10-100 (100-10 000 000)
Когда количество вычислителей больше количества одновременно выполняемых процедур вывода, целесообразно повысить уровень параллелизма вывода; время выполнения шага при этом уменьшается:
где Тп - время выполнения процедуры полного деления дизъюнктов; ] - количество исходных посылок; Ттеф - время формирования результата процедурой вывода.
Если же и в этом случае остаются свободные вычислители, необходимо повысить уровень параллелизма. Однако при этом значительно возрастает доля расходов времени на организацию процессов.
Значения Тр и Трф по сравнению с остальными значениями малы и не вносят существенного вклада в общее время вывода.
Время дедуктивного вывода Трп сопоставимо со временем абдуктивного вывода Тр, и с некоторой незначительной погрешностью их можно принять равными: Трп—Тр.
Время минимизации заключения рассчитать точно достаточно сложно, так как количество операций заранее не определяется и зависит от результатов вывода с расширением формулы заключения. Для расчетов необходимо ввести следующие обозначения: U - общее количество дизъюнктов, полученное после вывода с расширением за-
ключения; Lu - длина (количество литералов u-го дизъюнкта, где u=1, ..., U); Eu - количество исключенных из u-го дизъюнкта литералов; Ru - количество полученных минимальных решений для u-го дизъюнкта (последние два параметра заранее неизвестны).
Тогда время минимизации можно рассчитать по формуле:
Тм„н«Тд ЕЦ2^^+(Lu - EuMRu-l)]-(Eu+l)j, (7)
где Тд - время дедуктивного вывода (рассчитывается по формуле расчета времени Тр (3)).
Время фильтрации вариантов рассчитывается по формулам: (8) - для первого уровня параллелизма и (9) - для второго и более:
ТфЦтахО^-То+Тфф+т^МШ, (8)
Тф=(Т0+т).]У/^[+(Тфф+т)-М/Щ, (9)
где То - время выполнения функции оценки для одного дизъюнкта; Тфф - время формирования результатов фильтрации для одного исходного дизъюнкта заключения; W - количество исходных дизъюнктов заключения; V - общее количество модификаций дизъюнктов; Vj - количество модификаций для i-го исходного дизъюнкта заключения (j=1,...,W).
Время вывода в значительной степени зависит от сложности задачи, определяемой следующими факторами: количество дизъюнктов базы знаний; средняя длина дизъюнктов базы знаний; количество дизъюнктов заключения; средняя длина дизъюнктов заключения; количество переменных в формулах; количество функторов в формулах; количество связанных переменных в дизъюнктах.
При выполнении различных задач в одной реализации системы логического вывода на одной платформе время вывода характеризует сложность задачи.
Время вывода также зависит от выбранной аппаратно-программной платформы. Чем быстрее аппаратная платформа, больше количество процессорных элементов, эффективнее работа системного программного обеспечения, тем меньшее время вывода может быть достигнуто.
Время вывода может быть использовано и для оценки эффективности реализации системы обработки знаний как программной системы. При этом реализация должна в большей или меньшей степени соответствовать аппаратно-программной платформе. Оценку реализации системы логического вывода целесообразно проводить на специально подобранном наборе задач, учитывающем различные аспекты вывода.
Расчет степени модификации заключения
Представим степень модификации заключения некоторым безразмерным числом МЗ. Поскольку заключение представлено в виде набора дизъюнктов, данную величину можно вычислить,
просуммировав степени модификации отдельных дизъюнктов:
W
Мз= ЕМ,, (10)
где Мд, - степень модификации дизъюнкта w (w=1,...,W); W - количество дизъюнктов в заключении.
Степень модификации дизъюнкта может определяться несколькими видами модификации:
- модификация предметных констант и переменных;
- модификация функторов (замена на другой функтор, константу, переменную);
- модификация набора литералов.
В данном случае имеется необходимость учесть в одном скалярном числе три вида модификации. Сделать это можно, задав для каждого вида модификации некоторый весовой коэффициент, характеризующий значимость степени модификации данного вида. Подобранные коэффициенты приведены в таблице 2.
Таблица 2 Коэффициенты видов модификации
Вид модификации Обозначение коэффициента Значение коэффициента
Модификация предметных констант и переменных к1 0,01
Модификация функторов к2 0,05
Модификация набора литералов кз 1,0
Тогда степень модификации дизъюнкта может быть рассчитана следующим образом:
МД,=кгМ1,+кгМ2,+кз-Мэ,, (11)
где М1т М2,, М3, - степени модификации соответствующих видов.
Первые два значения связаны с заменой термов. Подсчет количества замененных термов достаточно прост: если некоторый терм исходного дизъюнкта заключения отличается от терма модифицированного дизъюнкта, соответствующая степень модификации увеличивается на единицу. Местность предикатных и функциональных констант при выводе сохраняется, поэтому невозможно в пределах данного предиката или функтора добавление или исключение термов первого уровня. Таким образом, можно сказать, что М1, -это количество замененных предметных переменных и констант; М2, - количество замененных функциональных констант.
Модификация набора литералов оценивается несколько сложнее. Возможны три варианта модификации: появление (исчезновение) инверсии; добавление литерала; удаление литерала.
По мнению авторов, считать все три варианта равноправными не следует, поэтому предлагается ввести весовые коэффициенты, приведенные в таблице 3.
Таблица 3
Коэффициенты степени модификации уровня литералов
Вид модификации Обозначение коэффициента Значение коэффициента
Модификация инверсии ki 0,5
Добавление литерала k2 1,0
Удаление литерала k3 1,0
Тогда степень модификации уровня литералов можно рассчитать по формуле:
Maw=krNi+krN++k3-N- , (12)
где NI - количество инвертированных литералов; N+ - количество добавленных литералов; N- - количество исключенных литералов.
В общем случае следует считать, что качество модификации тем выше, чем меньше ее степень, рассчитанная по формуле (10). Если нет специальных ограничений или требований, то степень
модификации дизъюнкта может выступать в качестве функции оценки при отборе наилучших вариантов модификации. В этом случае обеспечивается максимально возможное для данного примера качество модификации.
Рассмотренные критерии позволяют оценить как эффективность реализации систем логического вывода, основанных на принципе деления дизъюнктов, так и эффективность их работы на различных аппаратно-программных платформах.
Список литературы
1. Страбыкин Д.А. Логический вывод в системах обработки знаний / Под ред. Д.В. Пузанкова. - СПб: Изд-во СПбГЭТУ,1998.
2. Страбыкин Д.А., Томчук М.Н. Логический вывод с модификацией заключения в исчислении высказываний. // Вестник Вятского науч. центра Верхне-Волж. отделения Акад. техноло-гич. наук РФ. // Сб. науч. тр. - Киров: ВНЦ. - 2003. -С. 9-16.
ПРОГРАММНАЯ СИСТЕМА ДЕДУКТИВНОГО ЛОГИЧЕСКОГО ВЫВОДА
М.М. Шихов (Вятский государственный университет, г. Киров), Д.А. Страбыкин (Кировский филиал МГЭИ)
В современном мире все большую роль играют интеллектуальные системы (ИнтС) [1].
Основная цель создания подобных систем заключается в оказании помощи человеку при решении сложных задач. ИнтС должна не только освободить пользователя от рутинных вычислений, но и дать возможность быстрого применения накопленных знаний (методик решения, подходов и пр.) в процессе решения такой задачи или ей подобных. ИнтС состоит из следующих компонент:
ИнтС=РИС+ПИС+ИнИн+АП, (1)
где РИС - рассуждатель интеллектуальной системы, состоящий из генератора гипотез, доказателя теорем и вычислителя; ПИС - поисковая информационная система, которая доставляет информацию, релевантную цели рассуждения; ИнИн - интеллектуальный интерфейс; АП - подсистема автоматического пополнения базы данных и базы знаний из текстов, образующих информационную среду для ИнтС [1]. В системах, основанных на достоверном выводе, важной частью РИС является подсистема дедуктивного логического вывода. Эта подсистема может активно использоваться и подсистемой АП.
В работе рассматривается программная система дедуктивного логического вывода, в исчислении предикатов первого порядка с переменными на множествах отображений. Предлагаемая система анализируется с трех точек зрения: представление входных для системы данных (структура базы знаний) и введение переменных на множествах отображений; внутреннее представление дан-
ных и алгоритмы их обработки и, третье, представление результатов работы подсистемы.
Структура базы знаний и переменные на множествах отображений
База знаний задается в логике предикатов первого порядка [1,2]. В синтаксис базы знаний были внесены изменения, которые не соответствуют логике первого порядка, а сводимы к ней. Так, в некоторых прикладных задачах возникает необходимость в обобщении элементов множества отображений или создании отображений на этом множестве. Пример такого описания: «для всех допустимых кодов операций КОП процессора, найдется (определена) функция дешифрации DC, результат вычисления которой определяет корректный алгоритм P выполнения закодированной операции на множестве входных сигналов Y и внутреннего состояния процессора S»: Укоп, 3DC,VY,SP(DC(Y,S)). Данное выражение
не является выражением исчисления предикатов первого порядка, так как под знаком квантора существования находится имя функциональной буквы (DC). Тем не менее, без потери смысла данное выражение может быть преобразовано к выражению вида: Укоп, 3DC,VY,SP(f(DC,Y,S)), где f
можно определить как функцию, выполняющую некоторое преобразование DC на множестве аргументов Y, S. Данное выражение является выражением исчисления предикатов первого порядка, и после исключения кванторов существования ал-