ÌÈÍÈÑÒÅÐÑÒÂÎ ÎÁÐÀÇÎÂÀÍÈß È ÍÀÓÊÈ ÐÎÑÑÈÉÑÊÎÉ ÔÅÄÅÐÀÖÈÈ
Ãîñóäàðñòâåííîå îáðàçîâàòåëüíîå ó÷ðåæäåíèå âûñøåãî ïðîôåññèîíàëüí...
103 downloads
250 Views
350KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
ÌÈÍÈÑÒÅÐÑÒÂÎ ÎÁÐÀÇÎÂÀÍÈß È ÍÀÓÊÈ ÐÎÑÑÈÉÑÊÎÉ ÔÅÄÅÐÀÖÈÈ
Ãîñóäàðñòâåííîå îáðàçîâàòåëüíîå ó÷ðåæäåíèå âûñøåãî ïðîôåññèîíàëüíîãî îáðàçîâàíèÿ ÑÀÍÊÒ-ÏÅÒÅÐÁÓÐÃÑÊÈÉ ÃÎÑÓÄÀÐÑÒÂÅÍÍÛÉ ÓÍÈÂÅÐÑÈÒÅÒ ÀÝÐÎÊÎÑÌÈ×ÅÑÊÎÃÎ ÏÐÈÁÎÐÎÑÒÐÎÅÍÈß
КОМПЛЕКСНАЯ ОЦЕНКА СОСТОЯНИЯ СЛОЖНЫХ СИСТЕМ НА ОСНОВЕ ИММУНОКОМПЬЮТИНГА Методические указания по выполнению лабораторных работ № 1–9
Ñàíêò-Ïåòåðáóðã 2004
Составители: С. П. Соколова, Л. А. Соколова, В. П. Заболотский Рецензент доктор физико-математических наук Тараканов А. О. Методические указания содержат лабораторные работы, целью выполнения которых является разработка пакета прикладных программ для комплексной оценки состояния сложных систем на основе иммунокомпьютинга с использованием инструментария универсальных математических систем MatLab и MatCAD. Предназначены для студентов очной и заочной форм обучения, изучающих дисциплину "Интеллектуальные информационные системы". Подготовлены кафедрой информационных технологий в экономике и менеджменте и рекомендованы к изданию редакционно-издательским советом Санкт-Петербургского государственного университета аэрокосмического приборостроения.
© ГОУ ВПО «СПбГУАП», 2004
Редактор А. В. Подчепаева Компьютерный набор и верстка Н. С. Степановой
Подписано к печати 22.09.04. Формат 60×84 1/16. Бумага офсетная. Печать офсетная. Усл. печ. л. 2,09. Уч. -изд. л. 1,98. Тираж 100 экз. Заказ №
Редакционно-издательский отдел Отдел электронных публикаций и библиографии библиотеки Отдел оперативной полиграфии СПбГУАП 190000, Санкт-Петербург, ул. Б. Морская, 67
2
Математическая основа иммунокомпьютинга Новая вычислительная процедура, называемая "искусственные иммунные системы (ИИС)", основанная на принципах иммунной системы, обладает способностью обучаться новой информации, запоминать ранее полученную информацию и осуществлять распознавание образов и анализ данных на основе принципов биомолекулярного узнавания в высоко распределенной манере [1–3]. Эти системы предлагают мощные и робастные возможности обработки больших массивов информации для решения сложных задач. Строгий математический базис ИИС основан на биологическом прототипе иммунной сети и понятиях формального протеина и формальной иммунной сети (ФИС) [1–3]. Эти математические модели были названы формальной иммунной системой, или иммунокомпьютингом, и основаны на свойствах сингулярного разложения произвольных матриц. Иммунокомпьютинг (ИК) позволяет с большой эффективностью решать следующие задачи: обучения с экспертом, самообучения (обучения без эксперта), группировки и классификации, представления результатов вычислений в пространстве образов. Структурная схема ИК для решения вышеперечисленных задач показана на рис. 1. Как видно из структурной схемы, на основе исходной информации формируется база данных. База данных содержит фактографические данные об исследуемой системе. База знаний содержит сведения, которые отражают закономерности, существующие в рассматриваемой предметной области, позволяют выводить новые знания и прогнозировать потенциально возможные состояния исследуемой области; сведения о структуре и содержании базы данных; сведения по языку общения; метазнания, определяющие способы представления и переработки знаний. В базу знаний помещаются как общедоступные данные, так и знания эксперта в данной предметной области, вычислительные алгоритмы реализации процедур иммунокомпьютинга, результаты группировки и автоматической классификации, а также интерпретация результатов вычислений. Основные вычислительные процедуры – обучение с экспертом, самообучение (обучение без эксперта), автоматической классификации – основаны на свойствах сингулярного разложения произвольных матриц и математическом аппарате иммунокомпьютинга. 1
исходная информация
эксперт база данных
процедура обучения с экспертом
база знаний
процедура самообучения процедура комплексной оценки процедура автоматической классификации Рис. 1. Структурная схема иммунокомпьютинга
В методических указаниях представлен взаимосвязанный комплекс из девяти лабораторных работ, первые четыре выполняются всеми студентами, из последующих пяти студенты по желанию выбирают одну, которая является прикладной и завершающей.
2
Лабораторная работа № 1 МАТРИЧНЫЕ ВЫЧИСЛЕНИЯ НА ОСНОВЕ МАТЕМАТИЧЕСКИХ СИСТЕМ MATLAB И MATCAD Цель работы: освоение операций матричного вычисления средствами универсальных систем MatLab и MatCAD. 1. Задание матриц По умолчанию все числовые переменные в MatLab считаются матрицами с комплексными числами. Скалярная величина есть матрица первого порядка, а векторы являются матрицами, состоящими из одного столбца. Матрицу можно ввести, задавая элементы матрицы или считывая данные из файла, а также в результате обращения к стандартной или написанной пользователем функции. Элементы матрицы в пределах строки отделяются пробелами или запятыми. Ниже приведены правила ввода математических выражений: [ ] – квадратные скобки используются при задании матриц и векторов; – пробел служит для разделения элементов матриц; , – запятая применяется для разделения элементов матриц и операторов в строке ввода; ; – точка с запятой отделяет строки матриц, а точка с запятой в конце оператора (команды) отменяет вывод результата на экран; : – двоеточие используется для указания диапазона (интервала изменения величины) и в качестве знака групповой операции над элементами матриц; ( ) – круглые скобки применяются для задания порядка выполнения математических операций, а также для указания аргументов функций и индексов матриц; . – точка отделяет дробную часть числа от целой его части, а также применяется в составе комбинированных знаков; … – три точки и более в конце строки отмечают продолжение выражения на следующей строке; % – знак процента обозначает начало комментария. Большую матрицу можно определить поэлементно при помощи оператора цикла или набрать ее в обычном редакторе в виде ASCII-файла (например, data.ext), а затем считать при помощи команды 3
>>load data.ext В результате матрица будет присвоена переменной data. 2. Матричные вычисления Функции описания матриц eye zeros ones rand hilb diag triu tril
единичная матрица; нулевая матрица; матрица из единиц; случайная матрица со значениями из интервала [0,1]; гильбертова матрица; создание диагональной матрицы или выделение диагонали; выделение верхней треугольной части матрицы; выделение нижней треугольной части матрицы. Знаки операций
+, – символы плюс и минус обозначают знак числа или операцию сложения или вычитания матриц, причем матрицы должны быть одной размерности; · знак умножения обозначает матричное умножение; ' апостроф обозначает операцию транспонирования (вместе с комплексным сопряжением); / левое деление; \ правое деление; ^ оператор возведения в степень. Матричные характеристики det вычисление определителя; trace вычисление следа матрицы; rank определение ранга матрицы; norm вычисление нормы матрицы; normest оценка нормы матрицы. Команды линейной алгебры inv pinv null orth 4
вычисление обратной матрицы; вычисление псевдообратной матрицы; определение ядра (нуль-пространства) матрицы; вычисление ортонормированного базиса.
Команды факторизации chol разложение Холецкого для симметричных, положительно-определенных матриц; cholnc неполное разложение Холецкого (представление симметричной матрицы в виде произведения верхней треугольной и транспонированной матриц); lu LU-разложение (для квадратных матриц); hess приведение к форме Хессенберга; rref приведение к треугольной форме; qr QR-разложение (представление матрицы в виде произведения ортогональной и верхней треугольной матриц). Команды вычисления спектра poly вычисление характеристического полинома для квадратной матрицы. В результате выполнения команды будут получены коэффициенты нормированного характеристического полинома a1, a2, ..., an: det( pE − A ) = p n + a1 p n −1 + a2 p n −2 + ... + an ; polyeig вычисление собственных значений матричного полинома; eig вычисление собственных чисел и векторов; schur декомпозиция (разложение) Шура; svd сингулярное разложение матрицы (SVD-разложение). Для определения собственных значений и собственных векторов матрицы А служит команда [U, D] = eig( A ). Здесь диагональная матрица D состоит из собственных чисел, а матрица U составлена из собственных векторов-столбцов матрицы A. Если в левой части указан единственный выходной параметр, то результатом будет выступать вектор-столбец собственных чисел eig(A) . Функция svd определяет сингулярное разложение матрицы. Сингулярное число s и соответствующие ему векторы u и v матрицы A удовлетворяют равенствам Av = su,
A T u = sv.
T
Здесь A – транспонированная матрица, s – вещественное число. Образуем матрицу S, в которой расположены на диагонали сингулярные числа. Тогда AV = US, ΑΤU = VS , и A = USV T. Диагональ матрицы S 5
состоит из положительных значений квадратных корней матрицы A ' A . Если матрица A симметричная и положительно определенная, то сингулярные числа совпадают с собственными значениями матрицы A. Вектор сингулярных чисел получается при обращении с одним выходным параметром S = svd(A). Для выполнения сингулярного разложения заданной матрицы A служит команда >>[U, S, V] = svd(A) , где U, V, – соответственно, матрицы левых и правых сингулярных векторов; S – матрица сингулярных чисел. 3. Порядок выполнения работы Средствами универсальных систем MatLab и MatCAD получить для исходной матрицы A размерности (3 4) следующие величины: транспонированную, псевдообратную, евклидову норму; собственные значения и собственные векторы; сингулярные числа, правые и левые сингулярные векторы. Результат вычисления сингулярных чисел, левых и правых сингулярных векторов представить в векторно-матричной и покомпонентной формах. 4. Порядок оформления отчета Отчетом о лабораторной работе является файл с именем, совпадающим с фамилией студента, и результаты работы в папке Мои документы/номер группы. 5. Контрольные вопросы 1. Что такое иммунокомпьютинг? 2. Перечислите основные вычислительные процедуры иммунокомпьютинга. 3. Свойства сингулярного разложения матриц.
6
Лабораторная работа № 2 ВЫЧИСЛИТЕЛЬНАЯ ПРОЦЕДУРА СИНГУЛЯРНОГО РАЗЛОЖЕНИЯ МАТРИЦ Цель работы: создание программного модуля для сингулярного разложения произвольной матрицы на основе инструментария универсальных систем MatLab и MatCAD. 1. Математический аппарат Как известно, для произвольной матрицы A размерности (m n) существует так называемое сингулярное разложение, т. е. представление матрицы в виде (1) A = USV T , где U – (m × m) и V – (n × n) – ортогональные квадратные матрицы, удовлетворяющие критерию ортогональности VV T = V T V = Emxm , UU T = U T U = Enxn , где E – единичные матрицы соответствующих размерностей. Матрица S состоит из квадратного диагонального блока размерности n × r (r = min(m, n)) с неотрицательными элементами на главной диагонали и, если n ≠ m , из дополнительных нулевых строк или столбцов
S = S′; 0 , если m < n, T S = S′; 0 , если m > n,
S = S′, если m = n,
S′ = diag {s1, s2 ,..., sr , s1 ≥ s2 ≥ ... sr }.
Числа si , i = 1, 2,…, r называются сингулярными числами матрицы A, которые определяются матрицей A однозначно. Сингулярное разложение вещественной прямоугольной матрицы A имеет следующее представление: A = s1U1V1T + s2 U 2 V2T + ... + s r U r VrT ,
(2) 7
где si – сингулярные числа матрицы A; Ui, Vi – соответственно, левые и правые сингулярные векторы; r – ранг матрицы. Эти сингулярные числа и сингулярные векторы удовлетворяют следующим соотношениям: s1 ≥ s2 ≥ ... sr ≥ 0, si = UiT AVi , UiT Ui = 1, ViT Vi = 1,
(3)
i = 1,...,r. Известно, что процессы сингулярного разложения для любой вещественной матрицы A обладают весьма полезными свойствами для теории и приложений, а именно, каждая матрица над полем вещественных чисел имеет вещественные сингулярные числа и векторы. Кроме того, сингулярное разложение матриц устойчиво к малым возмущениям матриц, т. е. сингулярное разложение каждой матрицы является хорошо обусловленной процедурой. Относительно практических аспектов, сингулярное разложение матрицы в общем случае может быть получено по достаточно простой и надежной схеме: V T (k+1) = U T ( k ) A, V( k+1) = V( k+1) / V( k+1) , U (k+1) = AV( k+1) ,
U (k+1) = U ( k+1) / U( k+1)
(4)
sk = U Tk AVk ,..., / sk +1 − sk / ≤ ε,
где k = 0, 1, 2,... – номер итерации; U( k+1) – любая векторная норма; ε – заданная точность вычисления. Можно показать, что для произвольных начальных векторов U(0), V(0) итерации по схеме (4) сходятся в общем случае к сингулярным векторам U, V, соответствующим максимальному сингулярному числу Smax = UTAV. Следует отметить, что такие свойства нехарактерны для спектрального разложения, которое в действительности формирует основу для многомерного статистического анализа. В отличие от сингулярного разложения матриц, собственные числа и собственные векторы спектрального разложения являются вещественными только для вещественных симметрических матриц, в общем случае не симметрические вещественные матрицы обладают комплексным спектром и определить его не просто.
8
С использованием вышеприведенного итеративного алгоритма (4) сингулярное разложение матрицы A, представленное в форме (2,3) может быть получено с использованием метода исчерпывания. Сущность этого метода заключается в следующем: максимальное сингулярное число и соответствующие ему левый и правый сингулярный векторы матрицы A вычисляются с помощью итеративT ного алгоритма (4). Формируется матричная компонента A (1) = s1U1V1 ;
формируется матрица невязки A ( 2 ) = A – A (1) = A − s1U1V1T ,
(5)
для которой максимальное сингулярное число и соответствующие ему левый и правый сингулярный векторы матрицы A(2) вычисляются с помощью итеративного алгоритма (4) и т. д. 2. Порядок выполнения работы 1. Открыть универсальную систему MatLab 2. Задать исходную матрицу A размерности (4 3). 3. Используя команду для сингулярного разложения MatLab, получить представление для матрицы A через сингулярные числа, правые и левые сингулярные векторы в покомпонентной (1) и в векторно-матричной (2, 3) формах. Проверить условия ортогональности для вышеперечисленных форм представления. 4. Реализовать итеративную процедуру (4) вычисления максимального сингулярного числа и соответствующих ему правого и левого сингулярных векторов при произвольно заданных начальных значениях левого сингулярного вектора U0 и правого сингулярного вектора V0. Вычислить матричную компоненту, соответствующую найденным максимальному сингулярному числу и соответствующим ему правому и левому сингулярным векторам. 5. Используя процедуру метода исчерпывания, получить матричную невязку (5), для которой выполнить все перечисленные операции пункта 4. 6. Сохранить все результаты выполнения работы в файле на диске. 3. Порядок оформления отчета Отчетом о лабораторной работе является файл с именем, совпадающим с фамилией студента, и результаты работы в папке Мои документы/номер группы. 9
4. Контрольные вопросы 1. Свойство сходимости вычислительной процедуры (4). 2. Преимущество сингулярного разложения матриц перед спектральным разложением матриц. 3. Условие останова итеративного алгоритма вычисления максимального сингулярного числа, правого и левого сингулярного вектора. 4. В чем заключается сущность метода исчерпывания? Лабораторная работа № 3 ВЫЧИСЛИТЕЛЬНАЯ ПРОЦЕДУРА ОБУЧЕНИЯ С ЭКСПЕРТОМ Цель работы: создание программного модуля для реализации вычислительной процедуры обучения с экспертом на основе инструментария универсальных систем MatLab и MatCAD. 1. Математический аппарат Пусть имеется сложная система (научная, техническая, экономическая и т. д.), которая может характеризоваться определенным набором признаков Xk , k = 1, 2, 3, … Такой произвольный вектор значений признаков можно трактовать как образ, принадлежащий пространству признаков {X} . Множество образов представляется в виде множества векторов, состоящего из k подмножеств или классов: z1 = {X}1, ..., zk = {X}k. Для процедуры обучения с экспертом исходной информацией служат векторы значений признаков ситуаций по каждому из рассматриваемых эталонных классов и сформированная на основе мнения эксперта обучающая выборка. Исследуя и анализируя указанным образом, ряд таких систем с привлечением эксперта-человека, можно на основании его знаний и личного опыта выстроить классификацию и оценить, к какому из классов принадлежит исследуемый объект. Набор признаков системы, перечисленный выше, эксперт может оценивать либо по 10-балльной системе, либо в пределах от 0 до 1, как в рассматриваемом ниже примере. 10
На основе полученной информации и с учетом мнения эксперта формируется обучающая выборка, которая представлена в таблице. Обучающая выборка Номер объекта
z1
1 2 3 4
1 0,1 0,2 0,5
Значения признаков z2 z3 ...
0,3 0,6 0,8 1
1 1 0,9 0,7
zn
Классификация эксперта
1 1 0,7 0,1
1 2 3 2
L
1
1
0,5
0,1
1
Задача обучения сводится к разбиению пространства признаков на классы (т. е. к проведению классификации), а задача распознавания сводится к определению класса zj = {X}j , j = 1, ..., k, с помощью векторной нормы: zk ( X ) : min k X − { X }k .
В качестве векторной нормы могут быть использованы следующие известные нормы:
норма расстояния
(∑ i ( X i − X ki )2 ) E X i − X k i = ( ∑ i / X i − X ki / ); M
норма Чебышева
Xi − X ki
евклидова норма
Xi − X ki
=
C
1/ 2
;
= max i / X i − X ki / .
В вычислительных процедурах иммунокомпьютинга в качестве аналога расстояния используется введенное в [1] понятие энергии связи, основанное на сингулярном разложении матрицы. Энергия связи между объектами A и M представляется следующим образом: ωi = − U Ti AVi , U Ti U i = 1, ViT Vi = 1, i = 1,..., r, где Ui, Vi, – левые и правые сингулярные векторы соответственно матрицы A, r – ранг матрицы. Алгоритм вычислительной процедуры обучения с экспертом состоит их следующих шагов.
11
Шаг 1. Сворачивание вектора в матрицу. Заданный вектор X размерности (n 1) сворачиваем в матрицу M размерности nU nV = n . Шаг 2. Формируем матрицы A1, A2, ..., Ak для эталонных классов с = 1, …, k и вычисляем их сингулярные векторы:
{U1 , V1} A = {a1,..., ak } – для A1, {U 2 , V2 } – для A 2 , {U k , Vk } – для A k . Шаг 3. Распознавание. Для каждого входного образа М вычисляем k значений энергии связи между каждой парой сингулярных векторов: ω1 = − U1T MV1 , ..., ωk = − U Tk MVk .
Шаг 4. Определяем класс, к которому принадлежит входной образ M. Минимальное значение энергии связи ω* определяет этот класс: c = ω* = min 0{ω0 }.
2. Порядок выполнения работы 1. Открыть универсальную систему MatLab. 2. Задать исходные матрицы и матрицу размерности (4 3). 3. Программно реализовать шаги 1–4 алгоритма вычислительной процедуры обучения с экспертом. 4. Сохранить все результаты выполнения работы в файле на диске. 3. Порядок оформления отчета Отчетом о лабораторной работе является файл с именем, совпадающим с фамилией студента, и результаты работы в папке Мои документы/номер группы. 4. Контрольные вопросы 1. Что такое энергия связи? 2. Роль эксперта при реализации вычислительной процедуры обучения с экспертом. 3. Что является мерой близости выбранного образа М к конкретному классу?
12
Лабораторная работа № 4 ВЫЧИСЛИТЕЛЬНАЯ ПРОЦЕДУРА САМООБУЧЕНИЯ (ОБУЧЕНИЯ БЕЗ ЭКСПЕРТА) Цель работы: создание программного модуля для реализации вычислительной процедуры самообучения (обучения без эксперта) на основе инструментария универсальных систем MatLab и MatCAD. 1. Математический аппарат Процедура самообучения (обучение без эксперта) основана на автоматической классификации. Считаем, что матрица A = [X1, ..., Xm] размерности (n m) формируется набором m векторов X1, ..., Xm. Алгоритм вычислительной процедуры самообучения (обучения без эксперта) состоит из следующих шагов. Шаг 1. Формируем матрицу A = [X1, ..., Xm] размерности (n m), используя набор m векторов X1, ..., Xm . Шаг 2. Вычисляем сингулярное разложение матрицы A : A = s1U1V1T + s2 U 2 V2T + ... + sr U r VrT ,
(1)
где si – сингулярные числа матрицы A, Ui , Vi – соответственно, левые и правые сингулярные векторы; r – ранг матрицы. Эти сингулярные числа и сингулярные векторы удовлетворяют следующим соотношениям: s1 ≥ s2 ≥ ... sr ≥ 0, si = UiT AVi , UiT Ui = 1, ViT Vi = 1 .
(2)
i = 1, ..., r.
Шаг 3. Произвольным образом выбираем в качестве исходных правые сингулярные векторы Vm1 и Vm2. Определяем значения энергии связи для исходных векторов X1, ...,Xm с Vm1 и Vm2. Результаты вычислений значений энергии связи записываем в таблицу. Шаг 4. Представляем исходные векторы X1, ..., Xm на плоскости вычисленных значений энергии связи. Шаг 5. На плоскости вычисленных значений энергии связи формируем классы и проводим интерпретацию полученных результатов. 13
Результатом работы вычислительной процедуры самообучения (обучения без эксперта) является комплексная оценка состояния исследуемого объекта с учетом всего множества исходной информации. Учитывая, что система способна к самообучению, качество формируемых оценок будет улучшаться в ходе выполнения процедуры самообучения для различных исходных правых сингулярных векторов Vi и Vj . 2. Порядок выполнения работы 1. Открыть универсальную систему MatLab. 2. Задать исходную матрицу размерности (4 3). 3. Программно реализовать шаги 1–6 алгоритма вычислительной процедуры самообучения (обучения без эксперта). 4. Сохранить все результаты выполнения работы в файле на диске. 3. Порядок оформления отчета Отчетом о лабораторной работе является файл с именем, совпадающим с фамилией студента, и результаты работы в папке Мои документы/номер группы. 4. Контрольные вопросы 1. Чем отличается процедура самообучения от процедуры обучения с экспертом? 2. Сущность вычислительной процедуры автоматической классификации. 3. Можно ли назвать процедуру самообучения интеллектуальной процедурой? Лабораторная работа № 5 ПРОВЕДЕНИЕ ЭКСПЕРТИЗЫ НАУЧНО-ТЕХНИЧЕСКИХ ПРОЕКТОВ Цель работы: создание программного модуля для реализации вычислительной процедуры проведения экспертизы научно-технических проектов на основе инструментария универсальных систем MatLab и MatCAD. 14
1. Описание задачи Проведение экспертизы научно-технических проектов, получение экспертных оценок и прогнозов является весьма важной задачей при проведении различного рода тендеров. Процедуры оценки и прогнозирования функционируют в условиях как неполноты, так и субъективности информации, связанной с присутствием в системе человеческого фактора. Разнообразие, большой объем и противоречивость данных, используемых при экспертизе, предопределяют применение новых информационных технологий искусственного интеллекта при разработке процедур обучения, узнавания и принятия решений в условиях неопределенности. Интеллектуальные системы оказывают все большее влияние на сферы человеческой деятельности, в которых возможность решать сложные трудно формализуемые задачи связана с наличием разнообразных знаний о рассматриваемой предметной области. Здесь имеются три положительных момента: знания получают технологическую основу, благодаря интеллектуальной системе, которая сначала получает знания от эксперта, а затем применяет их и формирует новые знания; активизируется деятельность по сбору, организации, хранению, передаче и использованию человеческих знаний, что ведет к расширению и уточнению знаний самих по себе; просматривается принципиальная возможность выявления знаний из накопленного опыта, что открывает совершенно новые перспективы по организации и переработке знаний. Остановимся на функциях эксперта, которым может являться высококвалифицированный специалист, обладающий огромным багажом знаний, в том числе и индивидуальных личных знаний. Такие знания в значительной степени состоят из эмпирических правил, называемых эвристиками. Именно эвристики позволяют эксперту при необходимости выдвигать разумные предложения, находить перспективные подходы к решаемым задачам и эффективно работать при неточных и неполных данных. Поэтому при создании интеллектуальной системы одной из главных проблем является извлечение знаний у эксперта и придание им формы, позволяющей использовать знания в компьютерной обработке. 15
Чтобы понять, как работает эксперт, полезно рассмотреть различие между знанием и умением. Умелое выполнение некоторой задачи часто обладает многими чертами, которые несвойственны работе хорошо информированного, но неумелого человека. В их число входят большая скорость или другой показатель эффективности, меньшее число ошибок, меньшая умственная напряженность (требования к вниманию), большая приспособляемость и робастность (устойчивость к сбоям). В этих чертах проявляются как сами знания, так и техника их использования. Рассмотрим в качестве предметной области экспертизу проектов, которыми могут быть научные, технические, экономические, экологические и другие проекты. Каждый проект характеризуется определенным набором признаков или характеристик. В качестве примера можно указать следующий набор признаков: 1) срок реализации проекта; 2) стоимость проекта; 3) потребность проекта в трудовых ресурсах; 4) источники финансирования проекта: собственные источники финансирования, потребность в заемных средствах, обслуживание кредитов: сумма кредита, процентная ставка, срок кредита, порядок выплат; 5) производственный план: стоимость основных вложений в производство, мощности производства, используемые в проекте, стоимость производства, оценка себестоимости производства единицы продукции, прибыльность выпускаемой продукции, поставщики сырья и нового оборудования; 6) финансовая рентабельность проекта: потоки денежных средств, уровень рентабельности продукции, срок окупаемости, рентабельность собственного капитала, рентабельность активов, рентабельность инвестиций, коэффициент платежеспособности; 16
7) выгоды от реализации проекта: создание новых рабочих мест, освоение передовых технологий. Интеллектуальная система, позволяющая провести комплексную экспертизу проекта и сформировать оценку качества этого проекта, должна на первых порах использовать опыт и знания эксперта, рассматривая эталонные проекты. А затем, обладая способностью к самообучению, узнаванию и принятию решений в условиях неопределенности и неполноты информации, должна формировать комплексную оценку рассматриваемого проекта, по качеству не уступающую оценке эксперта. Такие возможности предоставляют так называемые искусственные иммунные системы, основанные на принципах обработки информации биологической иммунной системой [1]. В настоящее время иммунная система человека изучена значительно лучше, чем человеческий мозг. Она обладает всеми основными свойствами для обработки знаний – памятью, способностью к обучению, узнаванию и принятию решений в незнакомой ситуации. Рассмотрим, как можно использовать подход иммунокомпьютинга для комплексной экспертизы проектов [2]. Как уже сказано ранее, пусть имеется некоторый проект (научный, технический, экономический), который характеризуется определенным набором признаков Xk , k = 1, 2, 3, …, N. Такой произвольный вектор значений признаков можно трактовать как образ, принадлежащий пространству признаков {X}. Множество образов представляется в виде множества векторов, состоящего из k подмножеств или классов:
z1 = {X}1 , ..., zk = {X}k . Исследуя и анализируя указанным образом ряд проектов с привлечением эксперта-человека, можно на основании его знаний и личного опыта выстроить классификацию и оценивать качество представленных проектов как низкое (оценка 3), среднее (оценка 2) и высокое (оценка 1). Набор признаков проекта, перечисленный выше, эксперт может оценивать либо по 10-балльной системе, либо в пределах от 0 до 1, как в нашем примере. На основе полученной информации и с учетом мнения эксперта формируется обучающая выборка.
17
2. Порядок выполнения работы 1. Открыть универсальную систему MatLab. 2. Получить у преподавателя таблицу с обучающей выборкой для решения задачи проведения экспертизы научно-технических проектов. 3. Реализовать вычислительную процедуру обучения с экспертом (использовать программный модуль лабораторной работы № 3). 4. Реализовать вычислительную процедуру самообучения (использовать программный модуль лабораторной работы № 4). 5. Представить результаты решения задачи проведения экспертизы научно-технических проектов. 6. Оформить тематическую заглавную страницу лабораторной работы. 7. Сохранить все результаты выполнения работы в файле на диске. 3. Порядок оформления отчета Отчетом о лабораторной работе является файл с именем, совпадающим с фамилией студента, и результаты работы в папке Мои документы/номер группы. Рекомендуемая литература 1. Tarakanov A., Dasgupta D. A formal model of an artificial immune system // BioSystems, 2000, 55 (1-3). P. 151–158. 2. Tarakanov A., Skormin V., and Sokolova S. Immunocomputing: Principles and Applications. Springer, New-York, 2003, 193 p. 3. Sokolova S. P., Sokolova L. A. Immunocomputing for Complex Interval Objects // Proc. 1-st International Conference on Artificial Immune Systems (ICARIS – 2002), University of Kent at Canterbury, UK, 2002. P. 222–230. Лабораторная работа № 6 КОМПЛЕКСНАЯ ЭКСПЕРТИЗА ВНУТРИВУЗОВСКИХ СИСТЕМ УПРАВЛЕНИЯ КАЧЕСТВОМ ОБРАЗОВАНИЯ Цель работы: создание программного модуля для реализации вычислительной процедуры проведения комплексной экспертизы внутри вузовских систем управления качеством образования на основе инструментария универсальных систем MatLab и MatCAD. 18
1. Описание задачи Качество подготовки специалистов в современных условиях является одной из важнейших задач, определяющих как востребованность выпускников социальной практикой, так и конкурентоспособность учебного заведения на рынке образовательных услуг. В последнее время традиционные подходы по осуществлению контроля качества образования стали трансформироваться в создание систем качества (управления качеством, обеспечения качества), суть которых сводится к установлению степени соответствия заданным целям при помощи самооценки деятельности образовательного учреждения, дополненное суждением внешних экспертов. Процедуры самооценки качества подготовки выпускников функционируют в условиях как неполноты, так и субъективности информации, связанной с присутствием в системе человеческого фактора. В свою очередь разнообразие, большой объем и противоречивость данных, используемых при этом, предопределяют применение новых информационных технологий искусственного интеллекта, важное место среди которых занимают методы распознавания и классификации образов. Интеллектуальные системы, к числу которых относятся искусственные иммунные системы, оказывают все большее влияние на такие сферы человеческой деятельности, как образовательная деятельность, в которых возможность решать сложные трудно формализуемые задачи, связана с наличием разнообразных аспектов, затрудняющих формализацию задачи, в рассматриваемой предметной области. Здесь можно отметить три положительных момента: благодаря интеллектуальной системе информация, полученная от эксперта, приобретает технологическую основу, которая позволяет применять и формировать новые знания; деятельность по сбору информации, ее организации, хранению, передаче и использованию активизируется, что ведет к расширению и уточнению самих знаний; просматривается принципиальная возможность использования накопленного банка данных и знаний, что открывает совершенно новые перспективы по организации и переработке полученной информации о качестве образования. 19
Остановимся на функциях эксперта, оценивающего качество образовательной деятельности вуза и которым может являться высококвалифицированный специалист, обладающий огромным багажом знаний, в том числе и индивидуальных личных. Такие знания в значительной степени состоят из эмпирических правил, называемых эвристиками. Именно эвристики позволяют эксперту при необходимости выдвигать разумные предложения, находить перспективные подходы к решаемым задачам и эффективно работать при неточных и неполных данных. Поэтому при создании интеллектуальной системы одной из главных проблем является извлечение знаний у эксперта и придание им формы, позволяющей использовать его знания при реализации вычислительных процедур обучения с экспертом и самообучения иммунокомпьютинга. Рассмотрим в качестве предметной области экспертизу внутривузовских систем качества. Каждая система представляется определенным набором критериев [1], характеризующих: 1) возможности: роль руководства в организации работ по обеспечению качества подготовки специалистов; использование потенциала преподавателей, сотрудников, обучаемых; планирование в области качества подготовки специалистов; рациональное использование ресурсов; 2) результаты: удовлетворенность преподавателей и сотрудников работой в вузе; удовлетворенность потребителей качеством подготовки специалистов вуза; влияние вуза на общество; результаты итоговой аттестации выпускников вуза. Интеллектуальная система, позволяющая провести комплексную экспертизу системы качества и сформировать оценку этой системы, может работать в двух режимах: обучения с экспертом и обучения без эксперта (самообучения). В режиме обучения с экспертом она использует опыт и знания эксперта. В режиме самообучения на основе исходной информации о значениях критериев (индикаторов), характеризующих качество подготовки специалистов, обладая способностью к узнаванию и принятию решений в условиях неопределенности и не20
полноты информации, формирует комплексную оценку рассматриваемой системы, по качеству не уступающую оценке эксперта. 2. Порядок выполнения работы 1. Открыть универсальную систему MatLab. 2. Получить у преподавателя таблицу с обучающей выборкой для решения задачи проведения экспертизы внутри вузовских систем управления качеством образования. 3. Реализовать вычислительную процедуру обучения с экспертом (использовать программный модуль лабораторной работы № 3). 4. Реализовать вычислительную процедуру самообучения (использовать программный модуль лабораторной работы № 4). 5. Представить результаты решения задачи проведения экспертизы внутри вузовских систем управления качеством образования. 6. Оформить тематическую заглавную страницу лабораторной работы. 7. Сохранить все результаты выполнения работы в файле на диске. 3. Порядок оформления отчета Отчетом о лабораторной работе является файл с именем, совпадающим с фамилией студента, и результаты работы в папке Мои документы/номер группы. Рекомендуемая литература 1. Соловьев В. П., Кочетов А. И., Богданова О. В. Методические рекомендации по проведению самооценки высших учебных заведений. М.: Исследовательский центр проблем качества подготовки специалистов, 2002. 13 с. 2. Tarakanov A., Dasgupta D. A formal model of an artificial immune system // BioSystems, 2000, 55 (1–3). P. 151–158. 3. Sokolova S. P., Sokolova L. A. Immunocomputing for Complex Interval Objects // Proc. 1-st International Conference on Artificial Immune Systems (ICARIS - 2002), University of Kent at Canterbury, UK, 2002. P. 222–230.
21
Лабораторная работа № 7 АЛГОРИТМ ФОРМИРОВАНИЯ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ Цель работы: реализация программной системы безопасного хэширования сообщения произвольной длины на основе средств универсальных систем MatLab и MatCAD. 1. Описание задачи В наше время Internet становится все более обыденным и хорошо известным. Многие пользователи, компании подключаются к глобальной сети Internet для того, чтобы воспользоваться ее ресурсами и преимуществами для получения или обмена любого рода информации. Во многих случаях понятием "информация" обозначают специальный товар, который можно приобрести, продать, обменять на что-то другое и т. п. При помощи средств, предоставляемых Internet, любой пользователь, подключенный к ее сети, становится малой ячейкой во всемирной "паутине", объединившей мир. В связи с этим возникает острая необходимость в разработке эффективных аппаратных или программных средств для обеспечения защиты компьютерных систем обработки и хранения информации от несанкционированного доступа извне. Одним из таких средств безопасности передаваемых данных является аутентификация автора электронного документа и самого электронного документа, т. е. установление подлинности автора и отсутствия изменений в полученном документе. В настоящее время в компьютерных сетях для аутентификации текстов, передаваемых по телекоммуникационным каналам, используется электронная цифровая подпись, которая в принципе аналогична обычной рукописной подписи и следовательно обладает ее основными достоинствами [1]: удостоверяет, что подписанный текст исходит от лица, поставившего подпись; не дает самому этому лицу возможности отказаться от обязательств, связанных с подписанным текстом; гарантирует целостность подписанного текста. Цифровая электронная подпись представляется в виде относительно небольшого количества дополнительной цифровой информации, передаваемой вместе с подписываемым текстом. 22
Система электронной цифровой подписи включает в себя две процедуры [1]: 1) процедуру постановки подписи, в которой отправитель прежде всего вычисляет хэш-функцию h(M) подписываемого текста M. Вычисленное значение хэш-функции h(M) представляет собой один короткий блок информации m, характеризующий весь текст M в целом. Затем число m шифруется секретным ключом отправителя. Получаемая при этом пара чисел представляет собой электронную цифровую подпись для данного текста M; 2) процедуру проверки подписи, при которой получатель сообщения снова вычисляет хэш-функцию m = h(M) принятого по каналу текста M, после чего при помощи открытого ключа отправителя проверяет, соответствут ли полученная подпись вычисленному значению m хэш-функции. Как видно, в обеих процедурах системы электронной цифровой подписи участвует алгоритм хеширования исходного текста M, т. е. по существу сжатия подписываемого документа M произвольной длины до фиксированной длины в несколько десятков или сотен бит. Следует отметить [1], что хэш-функция должна удовлетворять целому ряду условий: хэш-функция должна быть чувствительна к всевозможным изменениям в тексте M, таким как вставки, выбросы, перестановки и т. п.; хэш-функция должна обладать свойством необратимости, т. е. задача подбора документа M ', который обладал бы требуемым значением хэш-функции, должна быть вычислительно неразрешима; вероятность того, что значения хэш-функций двух различных документов (вне зависимости от их длин) совпадут, должна быть ничтожно мала. Вычислительный алгоритм безопасного хэширования на основе использования процедур обучения иммунокомпьютинга состоит из следующих шагов [2]. Шаг 1. Представим текстовую информацию исходного текста M в виде множества отдельных букв I, т. е. в виде (1) I = {i1, i2 , ..., ik } и поставим в строгое соответствие каждой букве ik определенную цифру ak, т. е. вместо буквенного множества (1) в результате получим цифровой ряд вида
A = {a1, ..., ak }.
(2) 23
Шаг 2. Сформируем определенным образом из ряда (2) матрицу A размерности (s q). Шаг 3. Сгенерируем случайным образом набор цифр bk. В качестве примера возьмем формулу генератора случайных чисел вида: bk = ( p + k )2 /100 , т. е. получим цифровой ряд вида (3) {s1, s2, sd}, {U1, U2 ,...,Ud}, {V1, V2 , ...,Vd}. Шаг 4. Сформируем из ряда (3) матрицу B одинаковой с матрицей A размерности (s q). Шаг 5. Осуществим сингулярное разложение матрицы A, т. е. определим множества сингулярных чисел, правых и левых сингулярных векторов: {s1, s2, sd}, {U1, U2, ..., Ud}, {V1, V2, …,Vd}. Шаг 6. Вычислим значение энергии связи ω. Результатом хэширования будет величина l равная ω. После применения вышеуказанного алгоритма, следуя процедуре постановки подписи, автор электронного документа передает получателю тройку (M, l, p), где l представляет собой электронную цифровую подпись, а p – открытый ключ. Пусть, к примеру, текстовый документ M представлен в виде сообщения: "Петров Л. П. вылетел 17 января в Москву. Прошу встретить. Иванов". Сопоставляя в строгое соответствие каждой букве указанного сообщения цифру, получим ряд вида (2), элементы которого отражены в таблице. Цифровое соответствие букв сообщения M П
е
т
р
о
в
Л
.
П
.
14 18 54 48 42 12 53 15 82 14 82 9 4 8 9 т е л 1 7 я н в а 54 18 33 53 1 7 53 93 39 12 11 4 4 М о с к В У . П р о 15 42 51 30 12 57 82 53 14 48 42 5 4 9 т р е т и т ь . И в 54 48 18 54 27 54 84 82 53 15 12 2 4
24
в
ы
л
е
53 12 81 33 18 4 р я в 48 93 53 12 53 4 ш у в с 72 57 53 12 51 4 а н о в . 11 39 42 12 82 4 4
На основе исходных данных сформируем матрицу A размерности (8 8) вида 149 18 158
A=
82 53
149 152
18 . 82
(4)
Подразумевая, что p = 5, сгенерируем ряд (3). Матрица B размерности (8 8) будет иметь вид
0,25 0,36 1,69 1,96 B= 37,21 38,44
1,44 4 . 46,24
(5)
Применяя (1), получим l = 1656,77. Согласно процедуре проверки подписи получатель электронного документа, в свою очередь, по заранее согласованной с автором и переданной по защищенному каналу формуле генератора случайных чисел (3), а также алгоритму хэш-функции вида восстанавливает матрицы A и B, которые, в случае достоверной передачи, должны совпадать с (4) и (5). Затем вычисляет численное значение хэш-функции l'. В том случае, если выполнится равенство вида l = l '', (6) можно с уверенностью сказать, что электронный документ дошел по телекоммуникационному каналу до адресата в неискаженном злоумышленником виде и электронная цифровая подпись автора подлинная. Особо следует отметить, что для обеспечения наилучшей защищенности передаваемой информации исходный текст M и значение хэшфункции l можно зашифровать при помощи известных, действующих криптографических методов. В виду того, что созданная по предложенному алгоритму хэш-функция полностью удовлетворят вышеотмеченным свойствам, а сам алгоритм претендует на нестандартность и хорошо программно реализуем, созданная на основе указанного алгоритма система электронной цифровой подписи будет обеспечивать целостность автоматизированной системы обработки и хранения информации и надежную аутентификацию подлинности электронного документа и его автора. 25
2. Порядок выполнения работы 1. Открыть универсальную систему MatLab. 2. Получить у преподавателя таблицу с обучающей выборкой для реализации алгоритма формирования электронной цифровой подписи. 3. Реализовать вычислительную процедуру обучения с экспертом (использовать программный модуль лабораторной работы № 3). 4. Реализовать вычислительную процедуру самообучения (использовать программный модуль лабораторной работы № 4). 5. Представить результаты реализации алгоритма формирования электронной цифровой подписи. 6. Оформить тематическую заглавную страницу лабораторной работы. 7. Сохранить все результаты выполнения работы в файле на диске. 3. Порядок оформления отчета Отчетом о лабораторной работе является файл с именем, совпадающим с фамилией студента, и результаты работы в папке Мои документы/номер группы. Рекомендуемая литература 1. Романцев Ю. В., Тимофеев П. А., Шаньгин В. Ф. Защита информации в компьютерных системах и сетях. М.: Радио и связь, 1999. 330 с. 2. Абрамов Б. А., Зиямов Т. П., Соколова С. П. Алгоритм формирования электронной цифровой подписи // Конфидент. 2003. № 6. С. 6–12. Лабораторная работа № 8 ИНДЕКС ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ КОМПЬЮТЕРНОЙ СЕТИ НА ОСНОВЕ ИММУНОКОМПЬЮТИНГА Цель работы: реализация процедуры формирования индекса информационной безопасности в компьютерной сети на основе средств универсальных систем MatLab и MatCAD. 1. Описание задачи Индексом сложной многомерной динамической системы является общая величина, которая объединяет большое количество особых мно26
жителей (факторов) или переменных величин, называемых индикаторами. В некоторых случаях такой индекс является единственным путем представления текущего состояния системы и ее динамики, по которым возможно оценить активность системы и предсказать риски и тенденции. Например, риски деловой активности, такие как Dow-Jones или NASDAQ, широко используются в экономике и финансах. Как правило, такие индексы были введены на основе эмпирических соображений, некоторые из них рассчитываются достаточно легко, как среднее арифметическое последовательностей определенных переменных. Например, The Standard and Poor Index применяет стоимость к среднему представлению 500 акций на Нью-Йоркской фондовой бирже в течение дня. The Retail Price Index, как другой пример, измеряет среднее увеличение цены обычной сети продуктов питания в Великобритании. Аналогичные индексы являются такими же важными, как в экономике, так и в других областях, например в медицине. Однако индексы, используемые в области экологии [1], являются намного сложнее и труднее в вычислении. Применение подхода иммунокомпьютинга к индексам с применением математических моделей является эффективным методом сокращения огромного числа сложных, динамических и дискретных переменных в легко понятный индекс, посредством которого можно произвести комплексную оценку состояния сложной динамической системы для важных практических приложений. Такие индексы обеспечивают сжатие исходной информации, т. е. интегрируют сложные разнородные многомерные величины в одно число. Алгоритм формирования и расчета индекса информационной безопасности компьютерной сети, состоит из следующих шагов: Шаг 1. По результатам мониторинга сформировать матрицу M размерности m × n, где m – записи состояния сложной системы которые соответствуют строкам матрицы, а n – значения параметров мониторинга, которые соответствуют столбцам матрицы. Шаг 2. Методом сингулярного разложения матрицы M вычислить правый сингулярный вектор X = [X1, ..., Xm], который соответствует первому (максимальному) сингулярному числу матрицы. Шаг 3. Задать значение масштабного множителя риска r, для приведения значений компонент сингулярного вектора X1, ..., Xm к масштабу обобщенных результатов мониторинга. 27
Шаг 4. Умножить все значения компонент сингулярного вектора на множитель риска, взять целые части от полученных произведений, и получить вектор индексов риска чумы по годам: Entier[rX] . Шаг 5. Для каждого года i, i = 1, …, m, значение ИИБ определяется как i-я компонента вектора индексов: II(i) = Entier[rXi]. Пример Рассмотрим численный эксперимент с фрагментом базы данных, состоящим из 106 регистрационных данных компьютерной сети X1, ..., X106. Данные соответствуют "нормальному поведению" сети и нескольким типам вторжений, как показано в первой колонке таблицы. Фрагмент использует 33 индикатора х1,…, х33 для любого соединения сети, включая х1 – продолжительность (количество секунд) соединения, х2 – количество байтов, посланных от источника в адресат информации, х3 – количество байтов, посланных от адресата информации к источнику, …, х33 – процентное соотношение соединений, содержащих ошибки. Пример записи соединения вектора Х2 для вторжения типа "apache2" приведен ниже. X2 = [906, 57964, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 1, 1, 1, 0, 0, 255, 253, 0.99, 0.01, 0,0, 0, 0, 0.01, 0.01]T. Сформируем учебную матрицу M = [X1, ..., X106] размерности 106 × 33 и вычислим SVD
M = s1U1V1T + ... + sr U r Vr T . s1 ≥ s2 ≥ ... sr ≥ 0, si = UiT MVi , UiT Ui = 1, ViT Vi = 1, i = 1, ..., r. В соответствии с наглядным изображением групп энергий связи для этого примера, выберем 5-й правый сингулярный вектор R5 как "образец антитела" для уравнения ω (Z ) =
1 T Z Vk . sk
Компоненты этого вектора представлены ниже: V5 = [0.0883, 0.0000, –0.0013, 0.0000, 0.0038, 0.0011, –0.0002, 0.0022, 0.0006, 0.0035, 0.0011, 0.0005, 0.0007, 0.0001, 0.0856, –0.0104, 0.0003, 0.0004, 0.0019, 0.0019, –0.0008, 0.0023, –0.0001, 0.4163, –0.9008, –0.0037, 0.0011, –0.0002, –0.0002, –0.0000, 0.0003, 0.0007, 0.0023]T. 28
В соответствии с вычисленным сингулярным числом s5 = 927, предположим, что с0 = 1000. В соответствии с вычисленными числами энергии вторжения для рядов учебной матрицы М, предположим, что с1 = 250 для того, чтобы избежать отрицательных чисел индекса вторжения. Рассмотрим ряды этой матрицы как набор проверочных векторов Z. В таблице показаны числа индекса вторжений, вычисленные посредством формулы I(Z) = Entier (c0 + c1ω). Стоит заметить, что "нормальное поведение" компьютерной сети соответствует относительно маленьким числам индекса вторжений: {3, 34, 63, 82, 118, 119, 236, 252}. Таким образом, мы можем выбрать пороговую величину вторжений, равную Ih = 100. В соответствии с таблицей, любое соединение с I ≤ 100 определенно относится к "нормальному поведению", в то время как любое соединение с I > 100 может быть рассмотрено как вторжение. Вычисленные значения индекса вторжения Тип вторжения
Тип Сервис протокола
Normal apache2 buffer_overflow guess_password Ipsweep
udp tcp tcp tcp icmp
private http telnet pop_3 eco_i
Multihop Named Phf Pod Portsweep Saint Sendmail Snmpgetattack Udpstorm Xlock Xsnoop
tcp tcp tcp icmp tcp tcp tcp udp udp tcp tcp
telnet domain http ecr_i private private smtp private private X11 X11
Индекс вторжения
3, 34, 63, 82, 118, 119, 236, 252 199, 204–206 349, 364, 368 361, 363 175, 182, 222, 224, 227, 239, 242, 249, 250 253, 346, 364, 366, 228, 250, 251, 254, 268, 335, 431 241 234–250, 364 364 366-374 250, 272, 355, 362, 364 117–120 251 164, 246, 262, 301, 359, 370 348, 364
29
Заметим, что некоторые нормальные соединения с индексом вторжения {118, 119, 236, 252} могут рассматриваться как вторжения. Такие примеры трактуются как "ложно позитивные" в моделе распознавания. Однако наиболее важно, что индекс вторжения не имеет "ложно негативных" примеров, т. е. вторжения не имеют индекса меньше 100. Таким образом, предложенный индекс вторжения может быть полезным инструментом для распознавания вторжений. 2. Порядок выполнения работы 1. Открыть универсальную систему MatLab. 2. Получить у преподавателя таблицу с обучающей выборкой для формирования индекса информационной безопасности в компьютерной сети на основе иммунокомпьютинга. 3. Реализовать вычислительную процедуру обучения с экспертом (использовать программный модуль лабораторной работы № 3). 4. Реализовать вычислительную процедуру самообучения (использовать программный модуль лабораторной работы № 4). 5. Представить результаты формирования и вычисления индекса информационной безопасности в компьютерной сети на основе иммунокомпьютинга. 6. Оформить тематическую заглавную страницу лабораторной работы. 7. Сохранить все результаты выполнения работы в файле на диске. 3. Порядок оформления отчета Отчетом о лабораторной работе является файл с именем, совпадающим с фамилией студента, и результаты работы в папке Мои документы/номер группы. Рекомендуемая литература 1. Кузнецов В. И., Миляев В. Б., Тараканов А. О. Математический базис сложной экологической оценки. СПб.: University Press, 1999. 78 с. 2. Sokolova L. A. Index design by immunocomputing // Proc.of the 2nd International Conference on Artificial Immune Systems (ICARIS-2003). Springer, 2003. P. 120–127.
30
Лабораторная работа № 9 ИНДЕКС РИСКА ЧУМЫ НА ОСНОВЕ ИММУНОКОМПЬЮТИНГА Цель работы: реализация процедуры формирования индекса и вычисления индекса риска чумы на основе средств универсальных систем MatLab и MatCAD. 1. Описание задачи Иммунокомпьютинг как новый подход к вычислениям продемонстрировал свои положительные качества при решении многих прикладных задач. В его основе лежит биологический прототип иммунных сетей и строгие математические понятия формального протеина и формальной иммунной сети. В частности, подход к распознаванию образов на основе ИК использует понятие сингулярного разложения матриц для определения экстремальных значений энергии связи между рассматриваемыми объектами. Этот подход с успехом применялся для обработки данных мониторинга проблемы чумы. Введенное понятие индекса риска чумы, вычисляемого на основе процедур иммунокомпьютинга, позволяет существенно сжимать многомерные и разнородные данные (data fusion) в одно число. Это число особенно наглядно сигнализирует об опасных ситуациях и тенденциях. Чума относится к особо опасным инфекциям. Природные очаги чумы существуют с древних времен и расположены в различных частях мира (Индия, Средняя Азия, Африка, Северная и Южная Америка). Пандемии чумы уносили огромное количество человеческих жизней. К примеру, вторая пандемия (под названием "Черная Смерть") длилась с 14 до 17 веков. Как отмечают, это было самое сильное биологическое бедствие в истории. За последние 150 лет вспышки чумы регулярно происходят в различных частях мира и приводят к значительным человеческим и экономическим потерям. В Республике Казахстан природные очаги чумы покрывают площадь в 130 миллионов га и за последние более чем 50 лет они рассматриваются как наиболее активные очаги чумы в мире. Эти очаги характеризуются различными механизмами регулирования на популяционном и 31
биоценотическом уровнях. Чумный эпизоотический процесс является сложной многокомпонентной динамической системой. Поведение отдельных подсистем чумной эпизоотической триады (носитель – переносчик – чумный микроб) и сложные взаимоотношения этих подсистем неоднократно исследовались микробиологами, биологами, эпидемиологами и другими специалистами [1]. На основе математического аппарата иммунокомпьютинга предложен качественно новый подход к прогнозированию эпизоотий в природных очагах чумы как к задаче распознавания образов. Этот подход уже продемонстрировал свою эффективность и робастность, а также перспективность использования в будущих автоматизированных системах мониторинга чумы. Алгоритм формирования и расчета индекса риска чумы (ИРЧ), состоит из следующих шагов. Шаг 1. По результатам мониторинга сформировать матрицу M размерности m × n, где m – годы мониторинга, которые соответствуют строкам матрицы, а n – значения параметров мониторинга, которые соответствуют столбцам матрицы. Шаг 2. Методом сингулярного разложения матрицы M вычислить правый сингулярный вектор V = [Vi , ..., Vm] , который соответствует первому (максимальному) сингулярному числу матрицы. Шаг 3. Задать значение масштабного множителя риска r, для приведения значений компонент сингулярного вектора Vi , ..., Vm к масштабу обобщенных результатов мониторинга. Шаг 4. Умножить все значения компонент сингулярного вектора на множитель риска, взять целые части от полученных произведений, и получить вектор ИРЧ по годам: Entier[rV] . Шаг 5. Для каждого года i, i = 1, …, m, значение ИРЧ определяется как i-я компонента вектора индексов: PRI(i) = Entier[rVi]. Пример Рассмотрим результаты мониторинга 45 параметров состояния природного очага чумы на равнине Акдала в Казахстане за 11 лет. Сформируем матрицу M размерности (11 × 45), и рассчитаем значения ИРЧ по вычислительному алгоритму, представленному выше. Масштабный множитель риска примем равным r =125. Результаты расчетов представлены в таблице. 32
Индекс риска чумы по результатам мониторинга равнины Акдала № п/ п
1 2 3 4 5 6 7 8 9 10 11
Год
Значение правого сингулярного вектора
ИРЧ
1976 1977 1978 1979 1980 1981 1984 1985 1986 1987 1988
0.106 0.101 0.184 0.560 0.125 0.108 0.107 0.109 0.170 0.298 0.680
13 13 23 70 16 13 13 14 21 37 85
Риск эпизоотии
Высокий
Средний Высокий
Сравнение полученных результатов c реальными данными показывает, что предлагаемый ИРЧ четко сигнализирует о пиках численности носителя и переносчика в 1979 и 1988 годах и за этими пиками непосредственно следуют вспышки эпизоотии. Следовательно, введенное понятие ИРЧ вполне оправдывает свое название, т. к. его высокие значения, фактически, сигнализируют о близящейся вспышке эпизоотии. 2. Порядок выполнения работы 1. Открыть универсальную систему MatLab. 2. Получить у преподавателя таблицу с обучающей выборкой для формирования и вычисления индекса риска чумы. 3. Реализовать вычислительную процедуру обучения с экспертом (использовать программный модуль лабораторной работы № 3). 4. Реализовать вычислительную процедуру самообучения (использовать программный модуль лабораторной работы № 4). 5. Представить результаты формирования и вычисления индекса риска чумы. 6. Оформить тематическую заглавную страницу лабораторной работы. 7. Сохранить все результаты выполнения работы в файле на диске. 33
3. Порядок оформления отчета Отчетом о лабораторной работе является файл с именем, совпадающим с фамилией студента, и результаты работы в папке Мои документы/номер группы. Рекомендуемая литература
1. Айкимбаев А. М. и др. Эпидемиологическое обследование чумы в Урал-Эмбенском и Устюртском автономном очагах. Алма-Ата (Казахстан): Гылым, 1994. 178 с. 2. Sokolova L. A. Index design by immunocomputing // Proc.of the 2nd International Conference on Artificial Immune Systems (ICARIS-2003). Springer, 2003. P. 120–127. 3. Соколова Л. А. Индекс риска чумы по иммунокомпьютингу // Труды СПИИРАН. Вып. 1. Т. 3. СПб, 2002. С. 137–141.
34