Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методология ПО.docx
Скачиваний:
12
Добавлен:
30.03.2015
Размер:
254.64 Кб
Скачать

2.2 Описание алгоритма

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

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

Рассмотрим модифицированный алгоритм генерации графа ПС [8]. Ниже представлено словесное описание разработанного алгоритма калибровки моделей БС по коэффициенту кластеризации.

Начало

G – генерируемый граф, изначально является небольшим графом-затравкой.

Цикл по добавляемым вершинам n = 1, …, N

Разыгрывается случайное число ребер rk

Цикл по добавляемым вершинам c новой вершиной ребер k = 1, rk

1. Вначале каждое из rk новых ребер в соответствии с ускоренным алгоритмом генерации графа ПС [3] выбирает вершину для присоединения своего свободного конца с вершиной из множества вершин с заданной степенью связности i (слоя) по правилу ,

j = 1, K, где K – число слоев в G

2. Затем, если (rk > 1) выполняется процедура случайного (равновероятного) выбора ребра e в графе G, связывающего вершины из выбранных слоев. К смежным к ребру е вершинам присоединяется 2 из r новых ребер, образуя гарантированный треугольник из вершин

3. Остальные (rk – 2) ребра выбирают вершины из соответствующих слоев равновероятно.

4. Добавляется вершин и rk ребер

Конец цикла по rk

Конец цикла по n

Конец алгоритма

Блок схема данного алгоритма представлена на рисунке 4.

Рисунок 4 – Блок схема ускоренного алгоритма

Рассмотрим данный алгоритм на примере. Пусть существует некая группа людей, которая представлена в виде графа. Некоторые люди внутри этой группы знают друг друга («знакомство» двух людей является ребром в этом графе). Присоединение новой вершины к графу сравнимо с попаданием ещё одного человека в этот коллектив. Он присоединяется к случайной паре знакомых людей (выбирается вершина со степенью связности равной 2). Таким образом, образуется новый треугольник (человек влился в коллектив). Далее алгоритм повторяется с уже другим человеком (вершиной).

2.3 Тестирование алгоритма

Для проверки эффективности данного алгоритма была взята сеть автономных сетей Интернет, мгновенный снимок которой был получен в 2006 году на проекте Oregon RouteViews [9]. Данные об этой сети были взяты из [10].

По данным этой реальной сети были построены модели графов ПС и модели с использованием предложенного алгоритма.

В данной работе особый интерес представляли такие характеристики графа как его диаметр и коэффициент кластеризации. Поэтому в таблице 2 представлены характеристики графа именно по этим структурным характеристикам сл.г.

Коэффициент кластеризации и диаметр графа взяты как среднее из 100 значений. Данные параметры моделей считались в пакете R.

Таблица 2 – Сравнение диаметра графа и коэффициента кластеризации в различных моделях сети автономных систем

Сеть

Коэффициент кластеризации

Диаметр графа

Мгновенный снимок сети Автономных систем

0.0111464

11

Граф БА, m = 2

0.0008704

9.13

Граф БА, m = 2, с модифицированным правилом выбором вершин

0.0938698

14.19

Граф ПС с распределением ребер в приращении rk = {0/0.0000000, 1/0.3509441, 2/0.427474478, 3/0.082815651, 4/0.038862743, 5/0.099902998}

0.0032301

8.81

Граф ПС с распределением ребер в приращении rk ={0/0.0000000, 1/0.442421898, 2/0.457278271, 3/0, 0.033445638, 4/0.01771394, 5/0.009795921, 6/0.005440743, 7/0.003764738, 8/0.00143948, 9/0.001057483, 10/0.001174982, 11/0.00129248, 12/0.001409978, 13/0.023764444}

0.0045669

9.07

Граф ПС с распределением ребер в приращении rk = {0/0.0000000, 1/0.3509441, 2/0.427474478, 3/0.082815651, 4/0.038862743, 5/0.099902998}. Используется модифицированное правило выбора вершин.

0.0090506

11.97

Первый столбец таблицы 2 представляет собой описание характеризуемой сети.

Вначале идёт реальная сеть. Именно данные из этой строки являются образцом для сравнения.

Граф БА со средней степенью связности равно 2, это модель, построенная полностью по правилу построения графа БА.

Далее данный граф строился с применением данного алгоритма.

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

Из полученных результатов можно сделать вывод, что данный алгоритм увеличивает коэффициент кластеризации и диаметр, то есть приближает характеристики моделей к характеристикам реальных сетей.

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