25 декабря 2011 г. 3:53
ТЕХНОЛОГИИ ИНФОРМАЦИОННОГО ОБЩЕСТВА
Автоматизация исследования распада и живучести сетей
Дается постановка додачи и приводится алгоритм исследования распада и живучести сетей при детерминированном и вероятностном подходах, применен графический ввод сети с терминала, организован диалоговый режим с подсказками пользователю. Результаты выводятся в виде таблиц как при разрыве дуг, так и при гибели узлов.
Птицын ГА,
к.т.н. профессор. Кафедра ЗИТПС Щербакова Е.С.
Предпосылки. К настоящему времени получены формулы распада и живучести при детерминированном подходе только для линейной (разомкнутой),кольцевой и звездообразной сетей как при разрыве дуг, так и при гибели узлов, когда наперед задано число m - пораженных дуг или узлов сети. Для полносвязной сети формулы распада получены только при гибели узлов. Вместе с тем представляет интерес оценка распада и живучести для более широкого класса сетей, включая и те, которые имеют избыточные дуги. Ранее Вой-л оковым В .И. был разработан алгоритм, использующий метод полного перебора и позволяющий оценить живучесть древовидных сетей. Однако этот алгоритм не позволял исследовать роспад кроме того требуется расширить перечень структур и применить графический ввод сетей. С увеличением гьколичества узлов дуг сети быстро ростет и число возможных вариантов ееповреждения, поэтому определение показателей роспада и живучести требует огромного объема вычислений. Так суммарное число вариантов гибели узлов и разрыва дуг сети размером п узлов для кольца равно 2|гг*1 *, дгтя древовидной сети 3 * 2Г~1 . Анализ состояний сети при различных вариантах ееповреждения облегчается с помощью ЭВМ. Исходными данными в алгоритме [1] является количество узлов рассматриваемой сети, и все пары узлов связанные дутой. При возрастании числа поврежденных узлов последовательно формируются все возможные комбинации размещения пораженных узлов. Число таких комбинаций равно числу сочетаний из п по т, а в сумме для всех значений 0<=т<=п число их равно 2". Для J-ro варианта поражения М узлов формируется матрица смежности поврежденной сети приравниванием соответствующих элементов нулю: M(i,j) = 0; M(j, i) = 0. Наиболее важным в методе полного перебора является свойство кольцевых и древовидных сетей: при поражении m узлов или дуг сеть разбивается на множество связных фрагментов. Результат выводится в виде таблицы, которую можно распечатать, либо списать с терминала. Исследование живучести методом полного перебора показало, что оно соответствует строгим формулам для аналитического росчето живучести для типовых сетей вида линия, звезда и кольцо. Недостатком полного перебора является возрастающее по показательной функции число вариантов повреждений.
Постановка задач*. Необходимо усовершенствовать подход к анализу работы сети, любой структуры, обеспечив ее графический ввод и возможность оценить распад и живучесть после повреждения, то есть получить при заданном числе пораженных элементов, число и размер фрагментов и долю выживших узлов. Причем, фрагменты размером один узел считается погибшими. Сеть формализована графом. Дуги, узлы — бинарные элементы. Для выживших фрагмен-
тов россчитать число и долю прерванных соединении, число и долю выживших соединений. Результаты вывести в виде таблиц На рис 1 приведена блок-схема.
Блок 1: Начало. Запуск программы. Переход на блок 2.
Блок 2: Создание окна и элементов управления. Моделирование ответов на события и вывод окна на экран. Переход на блок 3.
Блок 3: Ожидание события окна. Отслеживание роботы пользователя с окном; модуль реакции на события. Переход к блоку 4.
Блок 4: Условие: нажатие левой кнопки мыши. Да — переходим к блоку 5; нет — переходим на блок 8.
Блок 5: Условие: нажатие по узлу. Да — выполняем блок 6; нет — блок 7.
Блок 6: Уничтожаем узел и связанные с ним дути. Удаление узла и душ с графической схемы и пересчёт индексов в случае необходимости. По окончании операций возврат на блок 3.
Блок 7: Создаем узел. Создание точки узла на графической схеме и присвоение порядкового номера. Переходим к блоку 3.
Блок 8: Условие: нажатие правой кнопки мыши. Да — переходим на блок 9; нет — на блок 12.
Блок 9: Условие: нажатие мышью по дуге. Да — блок 10; нет — блок 11.
Блок 10 Уничтожение душ. Удаление дуги с графической схемы и очистка переменных, сдвиг индексов при необходимости. Переход к блоку 3.
Блок 11: Создание душ. Рисуем дугу на схеме и присваиваем ей порядковый номер. По завершении переходим на блок 3.
Блок 12: Условие: нажатие кнопки "Расчёт". Да — переход к блоку 13; нет — переход к блоку 23.
Блок 13: Итерац ия по узлам Для каждого узла: выполнение программы с блока 14.
Блок 14: Расчёт количества вариантов распода по узлам. После расчёта — к блоку 15.
Блок 15: Вывод: количество вариантов распада. Записываем результат в таблицу узлов и переходим к блоку 16.
Блок 16: Подпрограмма: перебор вариантов распада по узлам. Запуск подпрограммы и переход к блоку 17.
Блок 17: Выход из итератора по узлам. Если не все узлы рассчитаны — переход к Блоку 14; иначе — переход на блок 18.
Блок 18: Итерация по дугам. Для каждой душ: начало итерации с блока 19.
Блок 19: Расчет количества вариантов распада по дугам. Переход к блоку 20 по завершении.
Блок 20: Вывод количество вариантов распада. Результаты заносятся в таблицу расчётов по дутом; программа переход к блоку 21.
Блок 21: Подпрограмма: перебор вариантов распада по дутом. После выполнения подпрограммы переходим на блок 22.
Блок 22: Выход из итератора по дугам Если остались незатронутые дуги — переход к Блоку 19; иначе — возврат на блок 3.
Блок 23: Условие: закрытие окна. Да — выполняем блок 24; нет — возвращаемся к блоку 3.
Блок 24: Конец Закрытие окна и выход из программы.
T-Comm, # 10-2011
67