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

Параллельный алгоритм раскраски предфрактального графа, порожденного множеством затравок Текст научной статьи по специальности «Математика»

CC BY
147
20
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЗАТРАВКА / ПРЕДФРАКТАЛЬНЫЙ ГРАФ / ПАРАЛЛЕЛЬНЫЙ АЛГОРИТМ / РАСКРАСКА ГРАФА / СМЕЖНОСТЬ РЕБЕР ГРАФА

Аннотация научной статьи по математике, автор научной работы — Рубежная Ирина Николаевна, Кочкаров Расул Ахматович

Рассмотрен параллельный алгоритм вершинной раскраски предфрактального графа, порожденного множеством затравок, смежность старых ребер которого сохраняется

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

This article is devoted to the parallel algorithm of coloring tops of prefractal graph. Old edges of prefractal graph are adjoining

Текст научной работы на тему «Параллельный алгоритм раскраски предфрактального графа, порожденного множеством затравок»

4

Математическое моделирование: методы, алгоритмы, технологии^

УДК 519.6; 519.17

И.Н. Рубежная, Р.А. Кочкаров

параллельный алгоритм раскраски предфрактального графа, порожденного множеством затравок

В статье предложен параллельный алгоритм вершинной раскраски предфрактального графа, порожденного множеством затравок H = {Ht}, смежность старых ребер которого сохраняется. Параллельный алгоритм Р*3 построен для PRAM (Parallel Random Access Machine) - модели параллельной вычислительной системы [1].

Для правильной работы алгоритма Р* важна следующая теорема.

Теорема 1. Предфрактальный граф Gl = (VL, El ), порожденный множеством затравок H = {#} = H H, ..., H, ..., H} T > 2 с сохранением смежности старых ребер, является /■хроматическим, т. е. x(GL) = f, где f = max x(H,).

t=1,T

Доказательство теоремы изложено в [2].

Алгоритм Р*3

Рассмотрим предфрактальный

граф

Оь = (Уь, Еь), порожденный множеством затравок Н = {Я} = |я1, Н2, ..., Я, ..., Нт}, Т > 2, смежность старых ребер которого сохраняется. Каждая из затравок Н является / -хроматическим графом. Алгоритм использует к процессоров р1, р2,..., рк, где к = п1-1 [3, 4].

Опишем принцип работы алгоритма Р*3. Поскольку каждая порождающая затравка И является / -хроматической, то для ее правильной и одновременно минимальной раскраски понадобится ровно цветов, т. е. хроматическое число х(Н) = , / < |. Отметим, что для раскраски затравки Н t будет использоваться известный алгоритм минимальной раскраски [5]. Алгоритм минимальной раскраски представим в виде процедуры МинРаскраска, которая вызывается основным алгоритмом в нужное время.

В начале алгоритма процессор р1 назначается подграф-затравке первого ранга г(1). Для раскраски подграф-затравки г(1) понадобится цветов, в соответствие с предположением о -хроматической затравке И . Далее, для каждой подграф-затравки второго ранга ^ назначим процессоры р^ , s2 = 1,2,..., п .

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

Для того чтобы не загружать алгоритм дополнительными обозначениями, число цветов ft для окрашивания некоторой подграф-затравки считаем равным числу цветов, необходимых для раскраски соответствующей затравки Ht. То есть фактически для раскраски подграф-затравки z^) используется свое число ft .

Рассмотрим подграф-затравку z(2), одна из ее вершин оказалась окрашенной, например, в цвет 1. Используя процедуру МинРаскраска, окрасим оставшиеся вершины в (ft -1) неиспользованных цветов. Окрасим таким же образом все подграф-затравки второго ранга z®.

Далее рассмотрим подграф-затравки третьего

(3)

ранга zs , у каждой из них оказалось окрашенной по одной вершине. Окрашиваем подграф-затравки третьего ранга zf) с помощью процедуры МинРаскраска в соответствии с описанным ранее.

Дойдя до L -го ранга, назначим каждой подграф-затравке z^ процессоры рч, sL = 1,2,..., nL-1. Таким образом, окрашивая подграф-затравки до L -го ранга включительно, получим правильную f -раскраску предфрактального графа Gl , где f = max ft.

t=1,2,..., T

Алгоритм P*3 включает в себя процедуру Мин -Раскраска. Процедура МинРаскраска используется для минимальной ft -раскраски подграф-затравок разных рангов. На вход процедуры подается подграф-затравка с одной окрашенной вершиной, далее оставшиеся вершины подграф-затравки окрашиваются в (ft -1) свободных цветов в соответствии с последовательным алгоритмом минимальной раскраски [5]. На выходе процедуры получаем правильную ft -раскраску подграф-затравки.

Алгоритм Р*3

Вход: предфрактальный граф ОЬ = (¥Ь, ЕЬ).

Выход: минимальная / -раскраска предфрак-тального графа ОЬ.

Шаг 1. Назначим процессор р1 подграф-затравке первого ранга г1(1). Процессор р1 применяет процедуру МинРаскраска к подграф-затравке 21(1).

Для всех I = 2,3,..., Ь выполнить:

Шаг 1. 1. Назначим каждый из к процессоров р1,р2, ..., рк подграф-затравкам ), 5 = 1, п1 -1 . Каждый процессор будет обрабатывать только назначенную ему подграф-затравку.

2. Одновременно к процессоров р1,р2,...,рк параллельно и независимо друг от друга применяют процедуру МинРаскраска к назначенной подграф-затравке.

Процедура МинРаскраска

Вход: граф О = (V, Е), окрашенная вершина V.

Выход: минимальная раскраска графа О.

На рисунке изображена минимальная 3-рас-краска предфрактального графа О3, порожденного множеством затравок Н = с сохранением смежности старых ребер. Затравки Н1 и Н2 являются 3-хроматическими, а зптравка Нъ - 2-хроматической. Граф О1 = Н2, т. е. О1 является 3-хроматическим, а граф О2 состоит только из затравок Н 2, Н3 и также является 3-хромати-ческим. Можно видеть, что раскраска графа О3 фактически ведет к поэтапной раскраске графов О1 и О2. Раскраска подграф-затравки г1(1) пред-фрактального графа О3 совпадает с раскраской графа О1, а раскраска подграф-затравки г1(1) и

подграф-затравок графа G2.

Теорема 2 ность алгоритма

z

(2) z(2) z(2) -

2

z

с раскраской

Вычислительная

р; на

фе Gl , порожденного

слож-

предфрактальном гра-множеством затравок H = {Ht }={Hj, H 2,..., Ht,..., HT }, T > 2 с сохранением смежности старых ребер, равна O(n2 • N).

Доказательство. Для упрощения доказательства будем считать, что предфрактальный граф порождается затравками Ht = (Wt, Qt) с количеством вершин равным n = max \Wt\. То есть

t=1,2,..., T 1

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

Алгоритм Р*; на первом шаге окрашивает n вершин подграф-затравки z1(1) процессором p1, с помощью процедуры МинРаскраска. Процеду-

ра МинРаскраска, по сути, известный последовательный алгоритм, который требует порядка п операций для раскраски п-вершинного графа [5, 6]. Тогда для раскраски п-вершинной затравки потребуется п2 операций. На втором шаге окрашиваются вершины подграф-затравок второго ранга . На каждой подграф-затравке работает назначенный ей процессор р , 52 = 1,2,..., п, а процесс раскраски осуществляется с помощью процедуры МинРаскраска. Для раскраски каждой подграф-затравки требуется по п2 операций, а в сумме для всех подграф-затравок второго ранга п • п2 операций. На третьем шаге окрашиваются вершины подграф-затравок третьего ранга процессорами р , 53 = 1,2,..., п2. Для раскраски каждой подграф-затравки требуется п2 операций, а в сумме для всех подграф-затравок третьего ранга - п2 • п2 операций. Далее, на последнем Ь -м шаге окрашиваются вершины подграф-затравок Ь -го ранга ^Ь) процессами р , = 1,2,..., пЬ-1. Сложив число всех операций, необходимых для раскраски вершин подграф-затравок разных рангов, получим:

1 • n2 + n • n2 + n2

n2 +... + nL-1

n2 =

= п2(1 к п к п2 к... к пЬ-1) = = п2(пЬ - 1)/(пЬ - 1) < п2 ■ пЬ/(п - 1) <

< п2 ■ п = п2 ■ N.

Таким образом, вычислительная сложность алгоритма Р*3 равна 0(п2 • N).

Отметим, что в качестве процедуры МинРаскраска можно использовать другие известные последовательные алгоритмы, тогда будет меняться и вычислительная сложность алгоритма Р*.

Теорема 3. Временная сложность алгоритма Р*3 на предфрактальном графе ОЬ = (¥Ь, ЕЬ), порожденного множеством затравок

Н = {Н }={Н1, Н 2,..., Н,,..., Нт }, Т > 2 с сохранением смежности старых ребер, равна 0(п2 • Ь).

Доказательство. Как и в доказательстве теоремы 2, для каждой подграф-затравки количество вершин будем считать равным п. Алгоритм Р*3 на первом шаге требует выполнения п операций для раскраски подграф-затравки г1(1) процессором р1 . На втором шаге параллельно окрашиваются подграф-затравки второго ранга ^ процессорами р1,р2,...,рп . Поскольку процессоры работают параллельно, для раскраски всех подграф-затравок второго ранга потребуется времени п2. На третьем шаге параллельно

4

Математическое моделирование: методы, алгоритмы, технологии

Я

2 2

Я2 Я3

1 2

\ а-о

С\~Н2

• О О

1 2 3

ТУ 2 1

в2 = (У2,Е2)

42)=Щ

С3 = (У3,£3)

Минимальная 3-раскраска предфрактального графа 03

окрашиваются подграф-затравки третьего ранга процессорами р , 53 = 1,2,..., п2, для чего также потребуется затратить п2 времени. Далее, на последнем Ь -м шаге окрашиваются вершины подграф-затравок Ь -го ранга процессами

рЬ , Яь = 1,2,...,пЬ-1.

Складывая время, необходимое для раскраски на каждом шаге алгоритма Р*3, получаем п2 • Ь . Таким образом, время исполнения алгоритма Р*3 равно 0(п2 ■ Ь).

Теорема 4. Ускорение параллельного алгоритма Р*3 при использовании к процессоров, к = пЬ-1, от последовательного алгоритма Р*3 равно 0(пЬ / Ь) [6].

Доказательство. Время исполнения параллельного алгоритма Р*3 равно 0(п2 • Ь). Время исполнения последовательного алгоритма Р*3, т. е. его вычислительная сложность равна 0(п2 • N). Тогда ускорение алгоритма Р*3 есть разница 0(п2 • пЬ)/0(п2 • Ь) = 0(пЬ /Ь).

СПИСОК ЛИТЕРАТУРЫ

1. Воеводин, В.В. Параллельные вычисления [Текст]/В.В. Воеводин, Вл.В. Воеводин.-СПб.: БХВ-Петербург, 2002.-608 с.

2. Кононова, Н.В. Многокритериальная задача о раскраске на предфрактальных графах. Дисс. ...канд. физ.-мат. наук [Текст]/Н.В. Кононова.-Ставрополь: СГУ, 2008.-9 с.

3. Кочкаров, А.А. Параллельные алгоритмы на предфрактальных графах [Текст]/А.А. Кочкаров, Р. А. Кочкаров.-М.: Ин-т прикладной математики имени М.В. Келдыша РАН, 2003. -№ 84.

4. Кочкаров, А.М Распознавание фрактальных графов. Алгоритмический подход [Текст]/ А.М. Кочкаров.-Нижний Архыз: РАН САО, 1998.-170 с.

5. Кристофидес, Н. Теория графов. Алгоритмический подход [Текст]/Н. Кристофидес, Э.В. Вершкова, И.В. Коновальцева; пер. с англ.-М.: Мир, 1978. -432 с.

6. Асанов, М.О. Дискретная математика: графы, матроиды, алгоритмы [Текст]/М.О. Асанов, В.А. Баранский, В.В. Расин.-Ижевск: НИЦ «РХД», 2001. -288 с.

УДК 681.3

И.В. Аникин

технология интеллектуального анализа данных для выявления внутренних нарушителей в компьютерных системах

Своевременное выявление инцидентов информационной безопасности (ИБ) в компьютерных системах и сетях - одна из важнейших задач для современного общества. При этом наибольшую актуальность приобретает выявление нарушений ИБ, реализуемых внутренними сотрудниками организации (инсайдерами).

Для выявления таких нарушений ИБ в настоящее время значительный практический интерес получают системы обнаружения вторжений (СОВ), работающие по принципу выявления аномалий. На первом этапе своей работы системы обнаружения аномалий (СОА) формируют эталонные профили, характеризующие нормальное поведение субъектов компьютерной системы (а при необходимости - и поведение при осуществлении атаки). На втором этапе происходит сравнение действительного поведения субъектов с эталонными профилями и сигнализация о выявленных отклонениях. Такой подход обладает рядом преимуществ перед сигнатурными анализаторами. Наибольшее распространение СОА получили для выявления сетевых атак [1-5], однако известно немало примеров использования СОА для выявления попыток злоупотребления пользователей своими полномочиями [6].

Один из основных компонентов СОА — база знаний (БЗ), содержащая эталонные профили поведения субъектов. Поэтому задача качественного формирования баз знаний является одной из важнейших при проектировании СОА. Для формирования таких БЗ часто применяют методы интеллектуального анализа данных (Data Mining) [7—8].

В настоящей статье предлагается технология интеллектуального анализа данных, предназначенная для выявления событий безопасности в компьютерной системе, связанных с получением доступа нарушителя к системе под учетной записью другого пользователя. При этом выполняется анализ работы пользователя с прикладными программами.

Технология интеллектуального анализа данных

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

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