При проведении аудита соответствия системы обеспечения безопасности персональных данных требованиям законодательства необходимо выявить уровень соответствия [5]. Уровень соответствия может быть определен по трем критериям:
– степень документированности;
– степень выполнения;
– степень информированности.
Каждый критерий рассчитывается на основе значений, полученных в процессе проведения аудита методами получения свидетельств по заданной системе частных показателей. Система частных показателей, как правило, имеет иерархическую структуру. Оценивание системы частных показателей осуществляется с применением нечеткого логического контроллера, одним из основных компонентов которого является база нечетких продукций [6]. В связи с тем, что законодательство в области защиты персональных данных находится в стадии развития, т.е. постоянно изменяется, то это влечет за собой и изменение структуры частных показателей [3]. Этот факт требует корректировки базы нечетких продукций. Поэтому для создания адаптационного механизма нечеткого логического контроллера потребовалось разработать алгоритм автоматического формирования базы нечетких продукций.
Ядро нечеткой продукции
Рассмотрим подробно структуру центрального компонента (ядра) нечеткой продукции (A ⇒ B) [1, 2, 7]. Оно представляет собой правило типа «Если А ⇒ То В», в котором А есть множество посылок (предусловий) {a1, …, an}, а В множество заключений {b1, …, bm}. Элементы ai ∈ A и bj ∈ B представляют собой предикат над фактами и подразумевают выражение вида:
<лингвистическая переменная> = <значение>. (1)
Лингвистическая переменная является входной, обозначает некоторый параметр, являющийся некоторой характеристикой предметной области (в нашем случае частный или групповой показатель) и представляет собой предикат над фактами, принимающий значения из некоторого списка, который называется терм-множеством Т.
Элемент bj ∈ B является заключением правила и регистрирует факт, что предусловие A выполнимо (истинно).
Примеры предусловия и заключения:
1) предусловие:
a1 = I1 is low, a2 = I2 is very high;
2) заключение:
b1 = O is middle.
В этих примерах I1, I2 – входные лингвистические переменные, O – выходная лингвистическая переменная, а термы {«low», «very high», «middle»} ∈ T.
Тогда нечеткая продукция будет иметь вид:
r1 = If (I1 is low) and (I2 is very high) then (O1 is middle).
Таким образом, имеем:
– множество входных лингвистических переменных I = {I1, …, In};
– множество выходных лингвистических переменных O = {O1, …, Om};
– множество термов лингвистических переменных T = {t1, …, tk}.
Обозначим предикаты предусловия символами pci и предикаты заключения – pco, тогда pci и pco соответственно имеют вид (2) и (3):
pcii = (Ii is tj), Ii ∈ I, i = 1..|I|, tj ∈ T, j = 1...|T|; (2)
pcoi = (Oi is tj), Oi ∈ O, i = 1...|O|, tj∈T, j = 1...|T|. (3)
Предусловие есть логическая формула, в которой атомарные формулы (предикаты pci) связаны между собой конъюнкцией. В том случае, когда требуется логическая операция «дизъюнкция», вместо одного правила можно написать (n + 1) правил, не содержащих дизъюнкцию (n – число дизъюнкций).
Итак, необходимо разработать алгоритм, позволяющий генерировать базу нечетких продукций, обладающую полнотой, неизбыточностью и непротиворечивостью. Нечеткие продукции, составляющие базу знаний, необходимые для оценки системы частных показателей, должны иметь заключение, в котором содержится одна атомарная формула и предусловие, включающее более одной атомарной формулы. Такая структура нечеткой продукции называется MISO-структурой (MultiInput – SingleOutput, много входов – один выход).
Алгоритм формирования множества нечетких продукций
Естественно, что формирование нечеткой продукции, в первую очередь, включает в себя формирование ее компонентов, т.е. предусловия (CI) и заключения (CO), комбинация которых определяет нечеткую продукцию.
1. Множество возможных предусловий. Компонентами данного множества являются атомарные формулы логики предикатов вида (1). Для формирования множества атомарных формул A создадим таблицу, в строках которой расположены входные лингвистические переменные Ii, а в столбцах – термы tj. Элемент таблицы aij есть пересечение i-й входной лингвистической переменной и j-го терма, соединенных глаголом «is» (обозначение отношения характеризации «является» или «есть»): Ii is tj. Таким образом, множество A = {aij} есть множество всех возможных атомарных формул предусловий.
Обозначим множество элементов i-й строки таблицы как Аi, тогда множество возможных предусловий CI найдем как декартово произведение множеств Аi:
Cl = A1×A2×…×An,
где n = |I|.
Например, пусть имеем множество входных лингвистических переменных I = {I1, I2, I3}, множество нечетких переменных: T = {t1, t2, t3}, тогда множество атомарных формул А составляют элементы таблицы.
Табличное представление элементов множества А
Термы → Входные лингвистические переменные ↓ |
t1 |
t2 |
t3 |
I1 |
I1 is t1 |
I1 is t2 |
I1 is t3 |
I2 |
I2 is t1 |
I2 is t2 |
I2 is t3 |
I3 |
I3 is t1 |
I3 is t2 |
I3 is t3 |
A1 = {(I1 is t1), (I1 is t2), (I1 is t3)}.
A2 = {(I2 is t1), (I2 is t2), (I2 is t3)}.
A3 = {(I3 is t1), (I3 is t2), (I3 is t3)}.
Для приведенного примера Cl = A1×A2×A3. Мощность этого множества есть произведение мощностей множеств Аi – компонентов декартова произведения, в примере |Сl| = 27:
Сl = { ((I1 is t1) and (I2 is t1) and (I3 is t1), ((I1 is t1) and (I2 is t1) and (I3 is t2)), ((I1 is t1) and (I2 is t1) and (I3 is t3)),
((I1 is t1) and (I2 is t2) and (I3 is t1), ((I1 is t1) and (I2 is t2) and (I3 is t2)), ((I1 is t1) and (I2 is t2) and (I3 is t3)),
((I1 is t1) and (I2 is t3) and (I3 is t1), ((I1 is t1) and (I2 is t3) and (I3 is t2)), ((I1 is t1) and (I2 is t3) and (I3 is t3)),
((I1 is t2) and (I2 is t1) and (I3 is t1), ((I1 is t2) and (I2 is t1) and (I3 is t2)), ((I1 is t2) and (I2 is t1) and (I3 is t3)),
((I1 is t2) and (I2 is t2) and (I3 is t1), ((I1 is t2) and (I2 is t2) and (I3 is t2)), ((I1 is t2) and (I2 is t2) and (I3 is t3)),
((I1 is t2) and (I2 is t3) and (I3 is t1), ((I1 is t2) and (I2 is t3) and (I3 is t2)), ((I1 is t2) and (I2 is t3) and (I3 is t3)),
((I1 is t3) and (I2 is t1) and (I3 is t1), ((I1 is t3) and (I2 is t1) and (I3 is t2)), ((I1 is t3) and (I2 is t1) and (I3 is t3)),
((I1 is t3) and (I2 is t2) and (I3 is t1), ((I1 is t3) and (I2 is t2) and (I3 is t2)), ((I1 is t3) and (I2 is t2) and (I3 is t3)),
((I1 is t3) and (I2 is t3) and (I3 is t1), ((I1 is t3) and (I2 is t3) and (I3 is t2)), ((I1 is t3) and (I2 is t3) and (I3 is t3))}.
Данное множество полное и неизбыточное.
2. Множество возможных заключений. Данное множество есть декартово произведение множества выходных лингвистических переменных Оi на множество термов Т.
Например, пусть множество выходных лингвистических переменных, как в нашем случае, состоит из одной переменной и имеет вид: O = {O1}, а множество термов – T = {t1, t2, t3}, тогда множество заключений есть {O1}×T = {(O1, t1), (O1, t2), (O1, t3)} или, применяя к каждой паре вид атомарной формулы, получаем CO = {(O1 is t1), (O1 is t2), (O1 is t3)}.
Данное множество также является полным и неизбыточным.
3. Множество нечетких продукций. Множество нечетких продукций R можно найти, как декартово произведение R = CI×CO.
Для вышеприведенного примера множество R имеет вид:
R = { if (I1 is t1) and (I2 is t1) and (I3 is t1)) then (O1 is t1),
if ((I1 is t1) and (I2 is t1) and (I3 is t2)) then (O1 is t1),
if ((I1 is t1) and (I2 is t1) and (I3 is t3)) then (O1 is t1),
if ((I1 is t1) and (I2 is t2) and (I3 is t1) then (O1 is t1),
if ((I1 is t1) and (I2 is t2) and (I3 is t2)) then (O1 is t1),
if ((I1 is t1) and (I2 is t2) and (I3 is t3)) then (O1 is t1),
…
if (I1 is t1) and (I2 is t1) and (I3 is t1)) then (O1 is t2),
if ((I1 is t1) and (I2 is t1) and (I3 is t2)) then (O1 is t2),
if ((I1 is t1) and (I2 is t1) and (I3 is t3)) then (O1 is t2),
…
if (I1 is t1) and (I2 is t1) and (I3 is t1)) then (O1 is t3),
if ((I1 is t1) and (I2 is t1) and (I3 is t2)) then (O1 is t3),
if ((I1 is t1) and (I2 is t1) and (I3 is t3)) then (O1 is t3),
…
if ((I1 is t3) and (I2 is t3) and (I3 is t3)) then (O1 is t3)}.
Мощность данного множества R равна 78.
Полученное множество R является полным, неизбыточным, но противоречивым. Поэтому далее необходимо выполнить преобразования над этим множеством, которые позволят избавиться от обладания свойством противоречивости.
4. Удаление противоречивых нечетких продукций. В работе [4] предложены определения непротиворечивости множества правил классических продукций. Рассмотрим определения непротиворечивости множества правил нечетких продукций, уточненные с точки зрения решаемой задачи.
Определение 1: База нечетких продукций обладает свойством непротиворечивости, если не содержит непротиворечивых нечетких продукций.
Определение 2: Нечеткая продукция называется непротиворечивой, если факты предусловия правила не противоречат фактам заключения, т.е. факты заключения не содержат термов, которые предшествуют термам предусловия или термов, которые следуют за термами предусловия.
Сформированное множество R включает подмножество R′, элементами которого являются противоречивые нечеткие продукции в соответствии с определением 2. Примеры противоречивых фактов:
r1 = If (I1 is low) and (I2 is low) then (O1 is middle).
r2 = If (I1 is low) and (I2 is low) then (O1 is high).
r3 = If (I1 is high) and (I2 is middle) then (O1 is low).
r4 = If (I1 is high) and (I2 is high) then (O1 is middle).
В данном примере множеству термов Т соответствует шкала S:
Это означает, что:
– в r1 терм предусловия «low» предшествует терму заключения «middle»;
– в r2 терм предусловия «low» предшествует терму заключения «high»;
– в r3 термы предусловия «middle» и «high» предшествуют терму заключения «low»;
– в r4 терм предусловия «high» предшествует терму заключения «middle».
Ниже приведены примеры непротиворечивых продукций:
r5 = If (I1 is high) and (I2 is low) then (O1 is middle).
r6 = If (I1 is high) and (I2 is middle) then (O1 is middle).
r7 = If (I1 is high) and (I2 is middle) then (O1 is high).
Примеры показывают, что непротиворечивыми продукциями являются те, у которых терм заключения лежит в пределах термов предусловия.
Таким образом, необходимо найти подмножество R′ ∈ R при условии:
Из множества R требуется удалить подмножество R′:
Таким образом, получили множество
Сформированное множество нечетких продукций является полным, неизбыточным и непротиворечивым.
Результаты исследования и их обсуждение
С целью проверки достоверности алгоритма выполнена его программная реализация. Сформированная база нечетких продукций записывается в xml-файл, который используется нечетким логическим контроллером. Вычислительные эксперименты, связанные с оценкой частных показателей, на данный момент показали корректность базы нечетких продукций. Поясним на небольшом примере.
Пусть имеем две входные лингвистические переменные I1, I2, одну выходную лингвистическую переменную O и два терма t1, t2.
Аналог xml-файла, сгенерированного в результате вычислительного эксперимента, имеет вид:
R1 = {
if ((I1 is t1) and (I2 is t1) then (O1 is t1)), // правило r11
if ((I1 is t1) and (I2 is t2) then (O1 is t1)), // правило r12
if ((I1 is t2) and (I2 is t1) then (O1 is t1)), // правило r13
if ((I1 is t1) and (I2 is t2) then (O1 is t2)), // правило r14
if ((I1 is t2) and (I2 is t1) then (O1 is t2)), // правило r15
if ((I1 is t2) and (I2 is t2) then (O1 is t2))}. // правило r16
Множество нечетких продукций, полученное в результате декартова произведения CI ×CO:
R2 = {
if ((I1 is t1) and (I2 is t1) then (O1 is t1)), // правило r21
if ((I1 is t1) and (I2 is t2) then (O1 is t1)), // правило r22
if ((I1 is t2) and (I2 is t1) then (O1 is t1)), // правило r23
if ((I1 is t2) and (I2 is t2) then (O1 is t1)), // правило r24
if (I1 is t1) and (I2 is t1) then (O1 is t2)), // правило r25
if ((I1 is t1) and (I2 is t2) then (O1 is t2)), // правило r26
if ((I1 is t2) and (I2 is t1) then (O1 is t2)), // правило r27
if ((I1 is t2) and (I2 is t2) then (O1 is t2))}. // правило r28
Как видим, в R1 отсутствуют правила r24 и r25, принадлежащие R2, так как являются противоречивыми в силу определения 2.
Заключение
В статье рассмотрен способ генерации нечетких продукций, имеющих MISO-структуру. Формируемая база знаний обладает свойствами полноты, неизбыточности и непротиворечивости. Алгоритм дает положительный эффект при его применении для решения задач, предметные области которых не отличаются стабильностью.
Рецензенты:
Мижидон А.Д., д.т.н., профессор, заведующий кафедрой «Прикладная математика», ФГБОУ ВПО «Восточно-Сибирский государственный университет технологий и управления», г. Улан-Удэ;
Ширапов Д.-Д.Ш., д.ф.-м.н., профессор, заведующий кафедрой «Электронно-вычислительные системы», ФГБОУ ВПО «Восточно-Сибирский государственный университет технологий и управления», г. Улан-Удэ.
Работа поступила в редакцию 18.04.2014.