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

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

p;

Рис. 8. Иллюстрация модели WGP

2. Проектирование и реализация

 

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

 

2.1 Общие требования к интерфейсу

 

Пользовательский интерфейс представляет собой совокупность методов и средств, при помощи которых пользователь взаимодействует с множеством элементов системы. Требования к пользовательскому интерфейсу можно разбить на две группы:

1.Требования к внешнему виду и формам взаимодействия с пользователем;

2.Требования по доступу к внутренней функциональности системы при помощи пользовательского интерфейса.

К системе должно прилагаться руководство пользования - документ, предоставляющий помощь в использовании системы.

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

 

2.2 Функциональные требования

 

Приложение должно иметь возможности:

.генерировать сети;

.вычислять основные характеристики:

.1.распределение степеней;

.2.коэффициент кластеризации;

.3.распределение сил узлов;

.строить графики зависимостей основных характеристик;

.сохранять и загружать смоделированные сети;

.сохранять результаты анализа сетей.

 

2.3 Выбор среды разработки

 

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

Язык C# содержит богатый инструментарий для создания многофункционального пользовательского интерфейса, поэтому, в настоящее время, широко используется в разработке оконных приложений.

Выбранная среда разработки накладывает следующие требования к ЭВМ:

1.Операционная система Windows XP или более поздняя версия;

2.Для работы приложения необходима установленная программная платформа.NET Framework версии 3.5 или выше.

Структура приложения

 

Рис. 9. Контекстная диаграмма

Разрабатываемое приложение позволяет моделировать взвешенные и невзвешенные сети, а также дает возможность проводить их анализ. Для этого пользователю нужно ввести необходимые параметры, которые зависят от выбранной модели. Моделирование проводится по 4 алгоритмам:

1.алгоритм модели Эрдеша-Реньи:

1)в начальный момент времени в сети изолированных вершин;

)с некоторой вероятностью вершины сети связываются между собой.

2.алгоритм модели Альберта-Барабаси:

1)в начальный момент времени в сети изолированных вершин, ;

)на каждом шаге добавляется новый узел t с m ребрами, ;

)новая вершина связывается с уже существующими с вероятностью, пропорциональной числу связей узлов в сети:

 

(7)

матрица смежность программный веспиньяни

Алгоритм модели BBV (Баррат-Бартелэмью-Веспиньяни)

В начальный момент времени в сети связанных вершин, каждая связь имеет начальный вес ;

На каждом шаге добавляется новый узел t с m ребрами, который присоединяется к существующей вершине i, согласно механизму группового предпочтения:

 

(8)

 

где - сила узла;

1)появление нового ребра вносит изменения в веса всей сети. Перераспределение весов между узлами совершается по определенному правилу,

 

(9)

 

где и [4].

Алгоритм модели взвешенного предпочтительного присоединения:

1)в начальный момент времени в сети связанных вершин, каждая связь имеет начальный вес ;

)на каждом шаге добавляется новый узел t с m ребрами, который присоединяется к существующим m вершинам, согласно распределению вероятности:

 

(10)

 

где - сила узла;

3)появление нового ребра вносит изменения в веса всей сети. Перераспределение весов между узлами совершается по определенному правилу,

 

(11)

 

где и [4].

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

Анализируются основные характеристики: распределение степеней, распределение весов, кластеризация. Полученные данные также можно сохранить в виде списка и визуализировать. Для распределений степеней и весов графики строятся по логарифмической шкале.

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

На рисунке 10 показана детализация работы приложения.

 

Рис. 10. Детализация работы системы

 

Главное окно программы содержит строку меню, прижатую к верхней части окна, и рабочую область (см. рис. 11). В рабочей области представлены выбор моделей, поля для ввода параметров, а также кнопки для визуализации интересующих величин.

Строка меню содержит 3 пункта: Файл, Модули и Справка. Пункт Файл дает