180
Общетехнические задачи и пути их решения
УДК 519.71 А. Г. Котенко
О ПОДХОДАХ К СНИЖЕНИЮ ВЫЧИСЛИТЕЛЬНОЙ СЛОЖНОСТИ ЛОГИЧЕСКИХ ЗАДАЧ АНАЛИЗА РИСКА
При вычислении вероятностей логических функций риска их аналитические представления оказываются, как правило, очень громоздкими, поэтому предложено, отказавшись от таких форм представления, заменить их комбинаторными. Показана практическая целесообразность перехода к приближенным вычислениям вероятности сложных логических функций риска.
анализ риска, алгебра логики, полином Жегалкина, комбинаторика, математическое программирование.
Введение
В задачах анализа риска логические переменные (ЛП), как аргументы логических функций (ЛФ), сопровождаются набором атрибутных данных. При этом главным и часто единственным атрибутом ЛП является их вероятность.
Для простых ЛФ, т. е. для ЛФ со сравнительно небольшим числом ЛП, вычисление вероятностей их значений по значениям вероятностей аргументов широко известно [1]. ЛФ представляются аналитически в булевой алгебре различными эквивалентными нормальными формами (НФ): дизъюнктивной (ДНФ), совершенной дизъюнктивной (СДНФ), конъюнктивной (КНФ) и др. Алгоритмы преобразования из одной формы в другую хорошо изучены, и применительно к ним разработаны эффективные вычислительные процедуры [2], [3].
Однако при большом числе ЛП, в случае сложных логических функций (СЛФ), когда число логических слагаемых в выражении для ЛФ становится достаточно большим, запись ЛФ в аналитическом виде оказывается громоздкой, а организация машинных вычислений - весьма затратной. Последнее характерно для логических задач анализа риска, богатых содержанием и, соответственно, требующих больших размерностей ЛФ [4]. В таких задачах вряд ли целесообразно использовать для вычислений аналитическое представление СЛФ. Практическую их реализацию можно осуществлять на основе приближенных комбинаторных методов.
В частности, если условиться, что элементы ЛФ расположены в некотором порядке и для однозначной идентификации любого члена логической суммы достаточно задать число элементов множества ЛП и порядковый номер этого члена, то номера индексов конъюнктивных элементов
2011/1
Proceedings of Petersburg Transport University
Общетехнические задачи и пути их решения
181
каждого члена логической суммы могут быть определены методами комбинаторики [5].
Оперирование с упорядоченными множествами позволяет заменить символьное представление СЛФ относительно простыми программами, обеспечивающими быстрое вычисление индексов ЛП и их атрибутов для использования в последующих численных операциях.
1 Принцип сведения логических задач к арифметическим
1.1 Общие положения
В настоящее время при синтезе баз знаний интеллектуальных систем обычно используется трехэлементный (булев) базис алгебраического представления, образованный тремя простыми операциями: конъюнкцией, дизъюнкцией, отрицанием - И, ИЛИ, НЕ.
Однако существует другой, более удобный для вычислений базис, образованный операциями сложения и умножения. Идея такого базиса и, следовательно, идея арифметизации символьной логики принадлежит И. И. Жегалкину [6], [7]. Основываясь на алгебре Буля, он упростил законы оперирования с логическими сложением и умножением (например, логическая связка «или» употребляется только в разделительном смысле, т. е. как связка «либо») и свел эти операции к действиям, на которые распространяются арифметические законы ассоциативности, коммутативности и дистрибутивности. В результате появилась новая каноническая форма представления ЛФ - полином Жегалкина.
Обобщая операцию дизъюнкции с исключением (.хог — ® ) на случай многих переменных и называя это многоместной суммой по модулю два, к примеру,
®(a,b,c,d) = a®b®c®d = mod2 sum(a,b,c,d),
полином Жегалкина определяется как многоместная сумма по модулю два попарно различных положительных элементарных конъюнкций (содержащих только положительные символы аргументов). Число таких конъюнкций, включая пустую, не содержащую ни одного аргумента и представляемую константой 1, равно k:
к = 2й-1,
где n - число переменных.
Полином Жегалкина можно получить из СДНФ путем последовательных эквивалентных преобразований. Его можно построить и отправляясь от произвольной ДНФ после ее предварительной ортогонализации. Часто преобразования оказываются слишком длинными, поэтому к настоящему времени разработаны компактные векторно-матричные процедуры пере-
ISSN 1815-588 Х. Известия ПГУПС
2011/1
182
Общетехнические задачи и пути их решения
хода от СДНФ к полиному Жегалкина и обратно [8]. Это позволяет свести решение и анализ логических задач к решению и анализу систем вида
где A - прямоугольная двоичная матрица размерности [n, m], n > m; S -фундаментальный вектор логической системы размерности n; b - двоичный вектор размерности n; U - знак логического умножения.
Последнее означает, что вычисление СЛФ может быть осуществлено переводом ЛФ из булева базиса в базис Жегалкина, а интерпретация полученных решений - обратным переходом в булев базис. Тогда логический вывод представляется как процедура обращения двоичных матриц, а принятие решения - как многократное повторение этой процедуры при изменении начальных условий.
Вместе с тем, очевидно, что использование этого приема выдвигает дополнительные требования к процессу формирования баз знаний предметной области [8].
1.2 Характеристики логических систем в базисе Жегалкина
В связи с многообразием трактовок одних и тех же терминов в литературе по системам искусственного интеллекта и для простоты понимания излагаемого материала необходимо уточнить ряд применяемых понятий -характеристик логических систем. Используем подход, изложенный в [9].
1. ЛП - символьная строка, используемая для обозначения структуры данных (связанного множества данных), одной частью которой является истинность ЛП (истинности или ложности соответствует логическое содержание символов «1» и «0»), другой частью - атрибутная часть ЛП (набор данных любого типа). ЛП используется в качестве аргумента ЛФ и является неделимой (атомарной) логической формой.
2. ЛФ - структура, эквивалентная ЛП, но используемая и как аргумент, и как функция с любой глубиной вложенности. Как правило, ЛФ представляет собой логическую сумму ЛП или других ЛФ (СЛФ).
3. Каноническая форма ЛФ - логическое произведение идентификационной строки Cj и фундаментального вектора S:
где идентификационная строка ЛФ - строка, состоящая из нулей и единиц, например, вида
причем равенство единице последнего элемента строки означает отрицание ЛФ, что позволяет не вводить дополнительные идентификаторы для
A*S = b,
(1)
С, = <1,0,0,1,1,1,0,1,...,!),
2011/1
Proceedings of Petersburg Transport University
Общетехнические задачи и пути их решения
183
операции отрицания (not). Единицы Cj идентифицируют элементы вектора S, которые в i-й ЛФ складываются по модулю два.
Если СЛФ представить в виде
/», =/*/2*-*/У,
где / =С, *5, /2 =С2 *5,..., fj=Cj*S,
™ f,„=cm*s,
а идентификационная строка Cm равна дизъюнкции вектор-строк логических сомножителей СЛФ, т. е. результату дизъюнкций элементов векторстрок, имеющих равные индексы:
C.(l)oC,(l)vC2(l)v...vCy(l);
C.(2)oC,(2)vC2(2)v...vC/2);..............
с„ (щ) <=> С1 (»S)v Ci ("s)v ■ ■■ ■■ V Cj (ns),
где ns = 2n - размерность вектора S; - знак эквивалентности; v- знак дизъюнкции.
Вектор S представляет собой упорядоченное множество элементов sj
S = (si,s2,...,sll),
полученное из множества элементов декартова произведения базисного вектора X логической системы, дополненного единицей на месте последнего элемента:
S 5 Х2 5 • • • 5 Хп ’ "^1
* х2, JCj
* х3,...,х1
* Хо
* х3,...,х1
*Х, JC
п ?
о.
где Xj - базисные элементы логической системы (ЛП), a S' означает транспонирование S. Соответственно транспонированный базисный вектор логической системы
X’= (х1,х2,...,хп). (2)
Аналогично фундаментальный вектор ЛФ является упорядоченным множеством элементов декартова произведения базисного вектора F, дополненного единицей на месте последнего элемента:
Следовательно, все элементы фндаментального вектора ЛФ, кроме последнего, представляют собой конъюнкции элементов вектора F:
ISSN 1815-588 Х. Известия ПГУПС
2011/1
184
Общетехнические задачи и пути их решения
Введенные понятия позволяют свести проблему анализа СЛФ к задаче построения алгоритма перевода ЛФ, сформулированной в булевом базисе при помощи операций импликации и эквивалентности и представленной, например, в форме ДНФ
кг...* <=> A v к V... v fm V... v fk
к алгебраической форме системы линейных уравнений
1.3 Комбинаторные операции в логических системах
Порядок следования элементов sj в фундаментальном векторе S может подчиняться строгому закону.
Если индексы компонент xj базисного вектора X, входящих в компоненты sj фундаментального вектора S, представить в виде кортежей An целых чисел, расположенных в порядке возрастания, то можно принять условие, что любой кортеж индексов An имеет такое значение их произведения, которое не может быть больше значения произведения индексов, входящих в кортеж An+i, и не может быть меньше значения произведения индексов кортежа An-f.
п-1 п п+1
П'^П^П'
i=1 i=1 i=1
Тогда, исключив возможность повторения сочетаний, входящих в кортежи индексов компонент xj базисного вектора, фундаментальному вектору S можно поставить в соответствие таблицу A, строками которой являются кортежи целых чисел An, обозначающих индексы компонент xj.
В основу алгоритма упорядочения элементов sj вектора S можно положить комбинаторную процедуру генерирования всех ^-элементных подмножеств множества {1, ..., m}, названную в [10, п. 1.4, с. 25] лексикографическим упорядочиванием.
Все элементы sj после лексикографического упорядочивания могут быть разбиты на группы, номера которых определяются по признаку количества элементов в каждом слагаемом. При этом, если число групп в S равно m, число элементов mn в группе с номером n
тп =т\/п\(т - п)\
Пусть, например, требуется определить набор индексов S пятого элемента (i = 5) в четвертой группе (n = 4) для числа переменных, равного
2011/1
Proceedings of Petersburg Transport University
Общетехнические задачи и пути их решения
185
шести (т = 6). После процедуры лексикографического упорядочивания можно получить искомую последовательность индексов ЛП (таблица).
ТАБЛИЦА. Наборы индексов ЛП при т = 6 и n = 4
i 1 2 3 4 5 13 14 15
A 1 2 3 4 1 2 3 5 1 2 3 6 1 2 4 5 1 2 4 6 2 3 5 6 2 4 5 6 3 4 5 6
Из таблицы видно, что i = 5 соответствует кортеж A =<1 2 4 6>, а число членов этой группы
mt =сб4 = 6!/4!(6 — 4)! = 15.
Таким образом, замена символьной формы представления ЛФ на форму индексных векторов и применение комбинаторных методов их обработки позволяют существенно развить идею арифметизации символьной логики и тем сократить сложность соответствующих вычислений.
2 Оптимизация решений в логических задачах анализа риска
Наиболее изученной и часто встречающейся оптимизационной задачей поиска наилучшего решения является нахождение допустимого решения с максимальным значением его вероятности, что характерно для нечетких задач анализа риска логико-вероятностного типа.
Пусть базисный вектор (2) задает множество ЛП некой ЛФ
/=/(*).
как множество факторов риска, где реализация или нереализация опасного события определяется соответственно
/ = 1 и / = 0.
Из всех возможных наборов факторов может быть задан набор
х(1),х(2),x(J\х(т), j = 1,2,...,т,
и соответствующий ему ряд значений ЛФ
f(J)=fW)),
где функция f (x( j)) имеет неявный вид.
Требуется при известном векторе вероятностей проявления указанных факторов (базисном векторе вероятностей логической системы)
К = {РмР2’~’Р»)
(3)
ISSN 1815-588 Х. Известия ПГУПС
2011/1
186
Общетехнические задачи и пути их решения
дать прогноз значения вероятности к-й ЛФ как вероятности реализации опасного события относительно произвольной совокупности факторов х(к).
Представляя набор факторов риска в виде матрицы размерности [m, n] A'x={x(l\x(2\...,x(j\...,x(m)), (4)
а соответствующий ряд значений ЛФ - в виде вектора
согласно (1) будем иметь:
/; = (с * 5(1),С * 5(2),...,С * S(m)) = С * (5(1),5(2),...^(ш)} = С * Т',
где A's - матрица вычисленных значений вектора S в соответствии с (4). После транспонирования получим уравнение
^*С' = Л, (5)
анализ которого показывает проблематичность определения вектора С' без введения дополнительных условий (матрица As - прямоугольная с
размерами [т, 2й], вектор С имеет множество решений) и, следовательно, целесообразность применения приближенных методов для получения результатов.
Можно показать, что значение вероятности логической суммы двух совместных ЛФ в базисе Жегалкина fx 2 = fx 0 f2 определяется
Ра, = Ра +Ра ~2Рал>
для трех ЛФ
Ра,, = Ра +Р/, +Р/, ~2(Раа +Раа, +Р/2л'>+4Рааа
и так далее, где вероятности
являются элементами вектора Psf - фундаментального вектора вероятности реализации опасного события (ЛФ), полученного на основе (3).
То есть в общем случае вероятность опасного события, выраженного произвольной ЛФ и приведенной к виду (5), можно представить как произведение
= R*Psf,
2011/1
Proceedings of Petersburg Transport University
Общетехнические задачи и пути их решения
187
где R - вектор-строка, содержащая k + 1 группу упорядоченных элементов Ti (i обозначает номер группы, k - число логических слагаемых в исходной ЛФ), все элементы в i-й группе равны, а их число ni определяется числом сочетаний из k по i.
Значения элементов Ti для каждой i-й группы, кроме последней, могут быть определены формулой
ri = (-1)’1*1(-2)м.
Значение коэффициента Ti+1 - единственного элемента последней группы -равно нулю при вычислении вероятности опасного события и равно единице при вычислении вероятности его отрицания.
В случае представления ЛФ в форме ДНФ выражение вероятности ЛФ совпадает с общеизвестным выражением для вероятности совместных событий, которая может быть вычислена по формуле
Р.М : =^d* ?Sf >
а элементы rdi вектора Rd - по формуле
rdx =(—1)(МН*+1.
Таким образом, при представлении любой ЛФ в виде произведения идентификационной строки и фундаментального вектора вероятность этой функции можно рассматривать как алгебраическую сумму, каждый элемент которой может вычисляться независимо от других компонент по своему порядковому номеру.
Процесс вычисления вероятностей в этом случае легко описывается алгоритмически и, несмотря на особенности, аналогичен комбинаторному процессу, изложенному в п. 1.3. Вместе с тем построение оптимизационной процедуры представляет собой самостоятельную задачу, выходящую за рамки данной статьи, однако изложенные принципы анализа СЛФ вполне позволяют строить итерационные алгоритмы нахождения экстремума выбранной целевой функции.
Заключение
В наиболее общей форме модель знаний интеллектуальной системы анализа риска, содержащая данные в символьной форме, таблицы чисел, диапазоны значений величин и вычислительные процедуры, может быть представлена конечным автоматом в виде логической системы нелинейного типа. При этом, согласно существующей парадигме, решение логических задач в системе реализуется методами дедуктивной машины логического вывода, где для преодоления нелинейного характера ЛФ применяются эвристики.
ISSN 1815-588 Х. Известия ПГУПС
2011/1
188
Общетехнические задачи и пути их решения
Вместе с тем имеется возможность линеаризации ЛФ путем представления их в виде произведения идентификационных строк и фундаментального вектора системы. Для этих целей могут использоваться известные приемы сравнения символьных строк с представлением их в базисе Жегал-кина и подстановок.
Арифметизация символьной логики дает возможность существенно снизить вычислительную сложность логических задач анализа риска, поскольку позволяет перейти к приближенным оценкам параметров на основе упорядочения причинно-следственных связей в соответствующих комбинаторных задачах математического программирования.
Библиографический список
1. Теория вероятностей / Е. С. Вентцель. - М. : Высшая школа, 2006. - 576 с. -ISBN 5-06-005688-0.
2. Булевы функции / С. С. Марченков. - М. : Физматлит, 2002. - 72 с. - ISBN 59221-0253-2.
3. Логические уравнения / А. Д. Закревский. - М. : Едиториал УРСС, 2003. -96 с. - ISBN 5-354-00468-3.
4. Метод построения модели оценки рисков информационной безопасности в автоматизированной системе / А. А. Корниенко, А. Г. Котенко // Проблемы информационной безопасности. Компьютерные системы. - 2003. - № 4. - С. 12-15.
5. Комбинаторный метод вычисления вероятности сложных логических функций / А. Е. Городецкий, В. В. Дубаренко // Журнал вычисл. математики и мат. физики. -
1999. - № 7. - Т. 39. - С. 1246-1248.
6. О технике вычислений предложений в символьной логике / И. И. Жегалкин // Мат. сб. - 1927. - Т. 34. - Вып. 1. - С. 237-265.
7. Арифметизация символической логики / И. И. Жегалкин // Мат. сб. - 1928. -Т. 35. - Вып. 3. - С. 311-373. - 1929. - Т. 36. - Вып. 4. - С. 205-238.
8. Полиномиальная реализация частичных булевых функций и систем / А. Д. Закревский, Н. Р. Торопов. - М. : Едиториал УРСС, 2003. - 200 с. - ISBN 5-35400500-0.
9. Алгебраический подход к решению задач логического управления / А. Е. Городецкий, В. В. Дубаренко, А. А. Ерофеев // Автоматика и телемеханика. -
2000. - № 2. - С. 127-138.
10. Комбинаторика для программистов / В. Липский ; пер. с польск. - СПб. : Питер, 2000. - 205 с. - ISBN 7-94567-183-3.
Статья поступила в редакцию 07.02.2011;
представлена к публикации членом редколлегии В. А. Ходаковским.
2011/1
Proceedings of Petersburg Transport University