Разработка программного обеспечения для анализа и моделирования взвешенных сетей
Понятие сетей и связи их компонентов. Характеристики и структура сетей. Основные модели, описывающие поведение сетей. Проектирование и реализация взвешенных сетей: требования к интерфейсу, выбор среды разработки, структура приложения. Анализ результатов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 29.06.2012 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
- Введение
- Теоретико-аналитическая часть
- Основные характеристики
- Основные модели, описывающие поведение сетей
- Проектирование и реализация
- Общие требования к интерфейсу
- Функциональные требования
- Выбор среды разработки
- Структура приложения
- Реализация
- Анализ результатов
- Заключение
Список литературы
Введение
Активно развивающаяся в последнее время теория сложных сетей позволяет понять и количественно характеризовать многие свойства окружающего нас мира. К сложным сетям относятся сети социальных и экономических связей, сети трафика транспорта, энергии, информации и многое другое. Основная цель изучения сетей -- разработка алгоритмов для управления, оптимизации и предсказания процессов в сетях.
Однако, как давно было признано, многие сети являются существенно взвешенными, их ребра имеют различную силу. В социальных сетях между людьми могут быть более сильные или более слабые социальные связи. В сети метаболизма может быть больший или меньший поток вдоль частных путей реакции. В пищевых сетях может быть больший или меньший энергетический или углеродный поток между парами жертва-хищника. Весам ребер в сетях уделяется в физической литературе относительно небольшое внимание по той исключительной причине, что в любой области рекомендуется рассмотреть сначала простые случаи (невзвешенные сети) и только потом перейти к более сложным (взвешенные сети). С другой стороны, есть много случаев, когда веса ребер сети известны, и игнорировать их -- значит отбросить много данных, которые, по меньшей мере теоретически, могли бы помочь нам лучше понять эти системы.
Данная работа посвящена разработке программного обеспечения для анализа и моделирования взвешенных сетей.
Теоретико-аналитическая часть
Взвешенная сеть представляет собой сеть, где связи между узлами имеют веса, привязанные к ним. Сеть представляет собой систему, элементы которой так или иначе связаны. Элементы системы представлены в виде узлов (вершин) и связей (ребер) между ними. Узлы могут быть нейронами, индивидами, группами, организациями, аэропортами или даже странами, тогда как связь может осуществляться в форме дружбы, общения, сотрудничества, союза, поток или торговли.
В ряде реальных сетей не все связи в сети имеют одинаковую мощность. На самом деле, связи часто ассоциируются с весами, которые отличают их по своей силе, интенсивности или мощности. С одной стороны, сила социальных отношений в социальных сетях -- это показатель их продолжительности, эмоциональной напряженности, интимности и обмена услугами. С другой стороны, для несоциальных сетей, вес часто ссылается на функцию, выполняемую связью, например, поток углерода между видами в пищевых цепях, количество синапсов в нейронных сетях или объем трафика, проходящего по связям в транспортных сетях.
Основные характеристики
Степень узла. В современной теории сетей число связей узла называется степенью (degree). Как видно из рисунка 1, узел A имеет степень пять, остальные узлы -- степень три. Понятие степень является локальной характеристикой графа [1].
Рис. 1. Невзвешенный граф
Матрица смежности. Сетевые структуры можно описывать в матричной форме. Сеть из N узлов описывается квадратной матрицей смежности a размерности , в которой ненулевые элементы матрицы обозначают наличие связей между соответствующими узлами. Для неориентированных сетей недиагональный элемент матрицы смежности равен числу связей между узлами i и j, и, следовательно, матрица для такой сети симметрична. Предполагается, что петли единичной длины и кратные связи запрещены, следовательно, значения диагональных элементов равны нулю [1].
На рисунке 2 показан пример матрицы смежности для соответствующей сети.
Рис. 2. Матрица смежности
Распределение степеней. Функция распределения степеней узлов P(k) -- вероятность того, что узел i имеет степень ki = k [2].
. (1)
Кластеризация. Кластеризация -- это локальная характеристика сети. Она характеризует степень взаимодействия между собой ближайших соседей данного узла. В большинстве сетей, если узел А соединен с узлом В, а узел В -- с узлом С, то существует большая вероятность, что узел А соединен с узлом С (друзья наших друзей обычно также являются и нашими друзьями).
Коэффициент кластеризации данного узла есть вероятность того, что два ближайших соседа этого узла сами есть ближайшие соседи. Другими словами, если узел j имеет ближайших соседей с числом связей между ними, то локальный коэффициент кластеризации равен:
. (2)
Число есть суммарное число треугольников -- циклов длины 3 -- прикрепленных к узлу j, а -- максимально возможное число треугольников. Если все ближайшие соседи узла j взаимосвязаны, то . Когда между ними нет связей (как у деревьев), то .
Кластеризация всей сети определяется как:
, (3)
где -- число треугольников в сети, а -- число связанных триад, где «связанная триада» означает узел и два его ближайших соседа [1].
Рис. 3. Кластеризация
На рисунке 3 показан пример кластеризации. Данная сеть состоит из одного треугольника и восьми «вилок», (под «вилкой» понимают вершину с двумя ребрами), поэтому коэффициент кластеризации для заданной сети будет равен:
. (4)
Вес ребра. Это значение, поставленное в соответствие данному ребру взвешенной сети. Сумма весов всех связей узла i называется силой этого узла.
Матрица весов. Вариант матрицы смежности для взвешенной сети, представляет собой квадратную матрицу a размерности (N -- число вершин), элемент которой равен весу ребра , если таковое имеется в сети; в противном случае элемент полагается равным нулю или бесконечности в зависимости от решаемой задачи. На рисунке 4 показан пример матрицы весов для соответствующей сети.
Рис.4. Матрица весов
Основные модели, описывающие поведение сетей
Модель случайных графов Эрдеша - Реньи. В 1959 г. Эрдеш и Реньи предложили математическую теорию случайных графов. Процесс построения сети Эрдеша и Реньи можно описать в терминах «орел и решка»: имеется конечное число узлов, выбирается два узла, если выпадает орел, узлы связываются между собой; в случае решки эти два узла не соединяются; далее случайно выбирается другая пара вершин, и процесс повторяется (или в более общем случае случайно выбранная пара вершин сети с вероятностью соединяется, а вероятностью не соединяется, где ). Авторы рассматривали сети с достаточно большим числом вершин и показали, что топология сети описывается биномиальным распределением.
До работ Эрдеша и Реньи теория графов концентрировалась исключительно на малых и регулярных графах, которые не содержали неопределенностей в структуре. Но при исследованиях таких сложных систем, как Интернет или клетка, регулярные графы становятся скорее исключением, чем нормой. Эрдеш и Реньи впервые показали, что большие случайные графы очень «усложнены» и в принципе могут быть описаны с помощью теории вероятностей.
В 1982 г. один из учеников Эрдеша -- Б. Боллобас, профессор математики в Университете Мемфиса в США и в Колледже Троицы в Великобритании, рассматривал случайные сети с бесконечным числом вершин и описал форму распределения степеней (вероятность того, что случайным образом выбранная вершина имеет k ребер). Он показал, что распределение степеней для такой сети описывается распределением Пуассона. Распределение Пуассона имеет характерный максимум, указывающий на то, что узлы сети в среднем имеют примерно одинаковое число связей. По обе стороны пика распределение быстро спадает, отклоняясь достаточно мало от среднего значения (см. рис. 5).
Рис. 5. Распределение степеней для случайных графов. N = 1000, p = 0.5
Модель сети с предпочтительным присоединением. В 1999 г. Барабаси и Альберт предложили модель растущей сети, основанную на двух принципах:
1) рост: начинаем с небольшого числа () вершин, на каждом временном шаге к сети добавляется новая вершина, которая связывается ( ) ребрами с уже существующими в системе вершинами;
2) предпочтительное присоединение: вероятность того, что новая вершина окажется связанной ребром с вершиной пропорциональна ее степени:
(5)
С помощью этой модели, объединяющей рост и предпочтительное присоединение, удалось генерировать сеть с масштабно-инвариантным распределением степеней. Но, к сожалению, масштабно-инвариантная модель не могла в полной мере воспроизвести реальные сети. Хотя она порождала сеть со степенным распределением степеней , значение показателя степени в ней оказывалось фиксированным -- , в то время как для сетей реального мира значение находится в интервале от 2 до 3. Многие эффекты, а именно: появление новых случайных связей, исчезновение узлов и связей и пересвязывание, в этой модели были для простоты проигнорированы. Тем не менее, масштабно-инвариантная модель вызвала огромный интерес и в дальнейшем были предложены различные ее модификации (см. рис. 6).
Рис. 6. Модель предпочтительного присоединения
Модель взвешенного предпочтительного присоединения. Модель роста взвешенных сетей, которая объединяет добавление новых ребер и вершин и динамическое изменение весов. Модель основана на простой динамике весов и создает сеть, представляющую статистические свойства, которые наблюдаются в нескольких реальных системах. В частности, модель дает нетривиальную эволюцию во времени свойств вершин и масштабно-инвариантное поведение распределений весов, сил и степеней [3]. Модель была предложена А. Барратом, М. Бартелэмью и А. Веспиньяни (BBV).
Присоединение новых вершин совершается согласно распределению вероятностей:
(6)
где - сила узла. Добавление новых узлов приводит к перераспределению весов в сети по определенному правилу. На рисунке 7 показано это правило.
Рис. 7. Перераспределение весов
Взвешенное присоединение -- подходящий механизм для многих технологических сетей. В Интернете, новые маршрутизаторы подключаются к лучшим маршрутизаторам с точки зрения пропускной способности и возможности обработки передачи данных, а в сетях аэропортов новые соединения, как правило, устанавливаются с аэропортами с большими пассажирскими потоками [3].
Модель взвешенного группового предпочтительного присоединения. Баррат и соавторы реализовали модель, которая учитывает сочетание изменение во времени топологии и весов, и которая, возможно, самая простая в классе взвешенных растущих сетей. Новизна в модели -- динамическое изменение весов, возникающей при добавлении в сеть новых вершин и ребер. Этот простой механизм создает широкий спектр сложного и масштабно-инвариантного поведения [4].
На основе модели BBV предлагается модель взвешенного группового предпочтительного присоединения (WGP).
В этой модели развитие динамики весов, возникающей при добавлении в сеть новых ребер и вершин и, особенно, выбор нового узла для присоединения происходит согласно механизму группового предпочтения, а именно: для каждого нового узла, выбор целевых узлов происходит в соответствии с их общим весом, а не каждого узла отдельно [4]. На рисунке 8 показан пример работы модели.
Рис. 8. Иллюстрация модели WGP
Проектирование и реализация
Сложные сети реального мира содержат множество узлов и ребер. Для их моделирования и анализа необходимо специальное программное обеспечение. Для пользователя важно, чтобы приложение обладало определенным набором функций. Таким образом, можно выделить основные требования к системе.
Общие требования к интерфейсу
Пользовательский интерфейс представляет собой совокупность методов и средств, при помощи которых пользователь взаимодействует с множеством элементов системы. Требования к пользовательскому интерфейсу можно разбить на две группы:
1. Требования к внешнему виду и формам взаимодействия с пользователем;
2. Требования по доступу к внутренней функциональности системы при помощи пользовательского интерфейса.
К системе должно прилагаться руководство пользования - документ, предоставляющий помощь в использовании системы.
Пользовательский интерфейс должен быть интуитивно понятным. Под этим подразумевается, что пользователь обращается к руководству не чаще, чем раз в десять минуть на этапе обучения и что доступ к любой функции системы осуществляется не более чем за пять щелчков мыши.
Функциональные требования
Приложение должно иметь возможности:
1. генерировать сети;
2. вычислять основные характеристики:
2.1. распределение степеней;
2.2. коэффициент кластеризации;
2.3. распределение сил узлов;
3. строить графики зависимостей основных характеристик;
4. сохранять и загружать смоделированные сети;
5. сохранять результаты анализа сетей.
Выбор среды разработки
Для разработки был выбран объектно-ориентированный язык C#. Используемый в нем механизм наследования позволяет описывать классы на основе уже существующего (родительского), при этом свойства и функциональность родительского класса заимствуются новым классом. Это позволяет структурировать объекты системы, тем самым облегчая доступ к полям и функциям наследуемых объектов.
Язык C# содержит богатый инструментарий для создания многофункционального пользовательского интерфейса, поэтому, в настоящее время, широко используется в разработке оконных приложений.
Выбранная среда разработки накладывает следующие требования к ЭВМ:
1. Операционная система Windows XP или более поздняя версия;
2. Для работы приложения необходима установленная программная платформа .NET Framework версии 3.5 или выше.
Структура приложения
Рис.9. Контекстная диаграмма
Разрабатываемое приложение позволяет моделировать взвешенные и невзвешенные сети, а также дает возможность проводить их анализ. Для этого пользователю нужно ввести необходимые параметры, которые зависят от выбранной модели. Моделирование проводится по 4 алгоритмам:
1. алгоритм модели Эрдеша-Реньи:
1) в начальный момент времени в сети изолированных вершин;
2) с некоторой вероятностью вершины сети связываются между собой.
2. алгоритм модели Альберта-Барабаси:
1) в начальный момент времени в сети изолированных вершин, ;
2) на каждом шаге добавляется новый узел t с m ребрами, ;
3) новая вершина связывается с уже существующими с вероятностью, пропорциональной числу связей узлов в сети:
(7)
3. алгоритм модели BBV (Баррат-Бартелэмью-Веспиньяни):
1) в начальный момент времени в сети связанных вершин, каждая связь имеет начальный вес ;
2) на каждом шаге добавляется новый узел t с m ребрами, который присоединяется к существующей вершине i, согласно механизму группового предпочтения:
(8)
где - сила узла;
3) появление нового ребра вносит изменения в веса всей сети. Перераспределение весов между узлами совершается по определенному правилу,
(9)
где и [4].
4. алгоритм модели взвешенного предпочтительного присоединения:
1) в начальный момент времени в сети связанных вершин, каждая связь имеет начальный вес ;
2) на каждом шаге добавляется новый узел t с m ребрами, который присоединяется к существующим m вершинам, согласно распределению вероятности:
(10)
где - сила узла;
3) появление нового ребра вносит изменения в веса всей сети. Перераспределение весов между узлами совершается по определенному правилу,
(11)
где и [4].
Смоделированную сеть можно сохранить в текстовый файл в виде списка вершин и их соседей. В дальнейшем, сохраненные сети можно загрузить в приложение для анализа.
Анализируются основные характеристики: распределение степеней, распределение весов, кластеризация. Полученные данные также можно сохранить в виде списка и визуализировать. Для распределений степеней и весов графики строятся по логарифмической шкале.
Особенностью приложения является его открытость. Это означает, что оно имеет возможность добавления новых моделей, характеристик для расчета и модулей.
На рисунке 10 показана детализация работы приложения.
Рис. 10. Детализация работы системы
Реализация
Главное окно программы содержит строку меню, прижатую к верхней части окна, и рабочую область (см. рис. 11). В рабочей области представлены выбор моделей, поля для ввода параметров, а также кнопки для визуализации интересующих величин.
Рис.11. Главное окно приложения
Строка меню содержит 3 пункта: «Файл», «Модули» и «Справка». Пункт «Файл» дает доступ к функциям сохранения и загрузки (см. рис. 12).
Рис. 12. Пункт меню «Файл»
Через пункт «Модули» можно перейти к исследованию эпидемиологических процессов или к определению структуры сообществ (см. рис. 13).
Рис. 13. Пункт меню «Модули»
Пункт меню «Справка» содержит помощь по работе и информацию о программе (см. рис. 14).
Рис. 14. Пункт меню «Справка»
Анализ результатов
Используя созданное приложение, проведем сравнительный анализ модели взвешенного предпочтительного присоединения и группового предпочтительного присоединения.
Были смоделированы сети с параметрами: , где -- начальное количество узлов, -- количество новых вершин, -- количество новых ребер. На рисунках 15,16 показаны результаты для распределения степеней в моделях BBV и WGP соответственно.
Рис. 15. Распределение степеней для модели BBV
Рис. 16. Распределение степеней для модели WGP
На рисунках 17, 18 показаны распределения весов для моделей BBV и WGP соответственно.
сеть проектирование взвешенный интерфейс среда
Рис. 17. Распределение весов для модели BBV
Рис. 18. Распределение весов для модели WGP
Заключение
В данной работе были изучены подходы к моделированию и анализу сложных сетей и их основные характеристики. Были определены необходимые требования к функционалу и пользовательскому интерфейсу программного обеспечения для моделирования сетей и расчета основных характеристик.
Результатом работы является приложение для моделирования и анализа взвешенных и невзвешенных сетей. Приложение удовлетворяет всем предъявленным требованиям и протестировано путем моделирования сетей по нескольким моделям. Для них были рассчитаны основные характеристики: распределение степеней, распределение весов, кластеризация и корреляция.
Дальнейшее развитие приложения предполагает добавление новых характеристик, а также дополнительных модулей для анализа взвешенных сетей.
Список литературы
1. И.А. Евин. Введение в теорию сложных сетей.
2. Dorogovtesev S.N., Mendes J.F.F. Evolution of networks. Oxford University Press, Oxford.
3. Alain Barrat, Marc Bartheґlemy and Alessandro Vespignani. Weighted Evolving Networks: Coupling Topology and Weight Dynamics.
4. Jinying Tonga, Zhenzhong Zhanga, Rongrong Dai. Weighted scale-free networks induced by group preferential mechanism.
Размещено на Allbest.ru
Подобные документы
Пример матрицы смежности для соответствующей сети. Функция распределения степеней узлов. Вариант матрицы смежности для взвешенной сети. Распределение степеней для случайных графов. Требования к интерфейсу. Алгоритм модели Баррат-Бартелэмью-Веспиньяни.
контрольная работа [1,4 M], добавлен 13.06.2012Создание компьютерных сетей с помощью сетевого оборудования и специального программного обеспечения. Назначение всех видов компьютерных сетей. Эволюция сетей. Отличия локальных сетей от глобальных. Тенденция к сближению локальных и глобальных сетей.
презентация [72,8 K], добавлен 04.05.2012Понятие и характеристики компьютерных сетей. Классификация сетей по ряду признаков: по назначению, территориальной распространенности, по типу функционального взаимодействия, типу среды передачи, топологии сетей, скорости передач, по сетевым ОС.
презентация [510,5 K], добавлен 12.09.2011Понятие и структура компьютерных сетей, их классификация и разновидности. Технологии, применяемые для построения локальных сетей. Безопасность проводных локальных сетей. Беспроводные локальные сети, их характерные свойства и применяемые устройства.
курсовая работа [441,4 K], добавлен 01.01.2011Детерминированный и вероятностный подходы к оценке живучести сетей. Анализ моделей гибели и вероятности связности сетей. Табличное представление результатов вычислений и построение графических зависимостей в программе, написанной на языке Object Pascal.
дипломная работа [2,9 M], добавлен 03.09.2013Классификация и виды компьютерных сетей, их функциональные особенности, принцип работы и взаимодействие компонентов. Линии связи и каналы передачи данных, типы и принципы построения сетей по данному признаку. Организация рабочего места администратора.
отчет по практике [34,6 K], добавлен 18.06.2014Эволюция систем безопасности сетей. Межсетевые экраны как один из основных способов защиты сетей, реализация механизмов контроля доступа из внешней сети к внутренней путем фильтрации всего входящего и исходящего трафика. Управление безопасностью сетей.
курсовая работа [37,5 K], добавлен 07.12.2012Классификация компьютерных сетей в технологическом аспекте. Устройство и принцип работы локальных и глобальных сетей. Сети с коммутацией каналов, сети операторов связи. Топологии компьютерных сетей: шина, звезда. Их основные преимущества и недостатки.
реферат [134,0 K], добавлен 21.10.2013Понятие сетей Петри, их применение и возможности. Сетевое планирование, математические модели с использованием сетей Петри. Применение сетевых моделей для описания параллельных процессов. Моделирование процесса обучения с помощью вложенных сетей Петри.
курсовая работа [1,0 M], добавлен 17.11.2009Организационная структура цеха тепловых сетей, информационная связь с другими подразделениями предприятия. Автоматизация отслеживания водяных насосов и скважин с помощью информационных технологий. Разработка базы данных для паспортизации участков сетей.
отчет по практике [149,7 K], добавлен 28.09.2015