- •Содержание
- •1. Системно-кибернетические понятия курса
- •1.1 Общая характеристика научных понятий
- •1.2 Система
- •1.4 Среда
- •1.5 Состояние системы
- •1.6 Управление
- •1.7 Информация
- •1.8 Количественная мера информации
- •2. Вербальная модель ис
- •2.1. Информация как объект преобразований в ис
- •2.2. Информационный процесс
- •2.3. Информационная система как «машина» для реализации поручаемых ей информационных процессов
- •2.4. Автоматизация информационных процессов
- •Локальная сеть пд
- •2.5. Влияние внешней среды на ис
- •2.6. Человек в структуре ис
- •2.7. Показатели качества ис
- •3. Формализованные системы
- •3.1 Понятие модели системы
- •3.2. Декомпозиция и агрегирование в исследованиях ис
- •3.3 Математический аппарат для описания сложных систем
- •3.4 Виды математических моделей ис
- •Структурная модель и модель поведения ис
- •Структурная модель и модель поведения ис
- •3.5. Связной граф системы моделей
- •3.6 Особенности описания задач синтеза
- •3.7 Математические модели преобразующих элементов
- •4. Математическое описание источников информации, сигналов и помех
- •4.1. Математические модели источников информации и сообщений
- •Энтропия источника
- •4.2. Математические модели сигналов
- •4.3. Математические модели помех
- •4.4. Прохождение сигналов и помех через линейные системы
- •5. Синтез элементов ис на базе теории статистических решений
- •5.1. Статистические задачи в ис
- •5.2. Вероятностные характеристики обнаружения
- •5.3. Правило выбора решения и критерии его качества
- •5.4. Обнаружение методом однократного отсчета
- •5.5. Корреляционный метод обнаружения
- •5.6. Синтез приемников непрерывных сигналов
- •5.7. Синтез приемников дискретных сигналов.
- •5.8. Помехоустойчивость приемников бинарных сигналов
- •6.Модели и методы логико-вероятностного преобразования сообщений и сигналов
- •6.1 Классификация и кодирование информации
- •6.2 Методы оптимального кодирования сообщений
- •6.3 Модуляция сигналов
- •6.4 Дискретные манипулированные сигналы
- •6.5 Цифровые методы передачи непрерывных сигналов
- •6.6 Вероятностная модель канала связи
- •6.7 Помехоустойчивое кодирование сообщений
- •7. Анализ качества объектов ис коллективного пользования
- •7.1. Объекты коллективного использования в структуре ис
- •7.2. Поток событий
- •7.3. Смо с потерями
- •7.4 Смо с ожиданием
- •7.5. Смо с приоритетами
- •7.6. Сети смо
- •8. Методы анализа сетевых структур информационных систем
- •8.1 Особенности информационных сетей
- •8.2. Графовая модель сети
- •8.3. Методы анализа и синтеза сетей
- •8.4 Управление информационными сетями
8.3. Методы анализа и синтеза сетей
Задачи анализа относятся к случаям, когда задана структура и характеристики элементов сети, а требуется определить характеристики обслуживаемых потоков. Или, наоборот, заданы характеристики потоков, а необходимо определить потребности в каналах.
Задачи синтеза связаны с построением сети, с поиском лучших структур, алгоритмов обмена информацией. Все эти задачи относятся к классу оптимизационных, когда осуществляется поиск лучшего решения.
Процесс решения оптимизационных задач складывается из ряда этапов:
Изучение объекта. Надо понять исследуемый объект, разобраться в происходящих в нем процессах, выделить необходимые характеристики, взаимосвязи.
Описательное моделирование. Осуществляется словесная формулировка (фиксация) основных связей и зависимостей между характеристиками процесса с точки зрения оптимизационного критерия.
Математическое моделирование. Перевод описательной модели на формальный математический язык. Все условия записываются в виде уравнений, неравенств (системы ограничений). Любое решение этой системы называется допустимым решением. Критерий записывается в виде функции, называемой целевой. Процесс оптимизации состоит в отыскании на множестве допустимых решений максимального или минимального значения целевой функции.
Выбор (или создание) метода решения задачи. После того как задача записана в математической форме, ее прикладная специфика уже не интересует. Главное внимание обращается на математическую структуру.
Выбор или написание программы для решения задачи на ЭВМ. Подавляющая часть сетевых задач из-за большого числа переменных и зависимостей между ними могут быть решены в разумные сроки только с помощью ЭВМ. Для решения их следует составить программу, реализующую выбранный метод решения, или использовать уже готовую, «стандартную» программу из библиотеки программ, если таковые есть.
Решение задачи на ЭВМ. Вся необходимая информация для решения задачи вводится в память машины вместе с программой. ЭВМ производит необходимую обработку в соответствии с программой и исходными данными. Результат выдается человеку в удобной для него форме.
Анализ полученного решения. Анализ двух видов: 1) формальный (математический), когда проверяется соответствие полученного решения построенной математической модели, и 2) содержательный (технологический, экономический и т.п.), когда проверяется соответствие полученного решения тому объекту (процессу), который моделировался. В результате такого анализа в модель могут быть внесены изменения или уточнения.
Решение многих задач анализа сетей начинается с определения путей между узлами сети. Одним из наиболее удобных и легко поддающихся машинизации способов определения путей является построение дерева путей. Оно (дерево путей) позволяет определить все пути от одного наперед заданного узла ко всем остальным узлам сети. Перечень путей удобно записывать в виде таблицы путей.
Существуют три стандартных алгоритма решения задач отыскания кратчайшего пути: алгоритм Беллмана-Форда, алгоритм Дийкстра и алгоритм Флойда-Уоршела. Первые два алгоритма находят кратчайшие пути от данного узла-источника ко всем другим узлам (или, эквивалентно, от всех узлов к данному узлу адресату),а третий алгоритм находит кратчайшие пути от всех узлов ко всем другим узлам.
Алгоритм Беллмана-Форда
Предположим, что узел 1 является узлом-источником и требуется найти длины кратчайших путей от узла 1 до каждого другого узла сети.
Основная идея алгоритма Беллмана-Форда состоит в том, чтобы сначала найти длины кратчайших путей при условии, что пути содержат не более одной дуги, затем длины кратчайших путей при условии, что пути содержат не более двух дуг и т.д. Кратчайший путь при условии, что путь содержит не более h дуг(ветвей),будет называться кратчайшим (≤ h) путём.
Пусть
- длина кратчайшего (≤ h) пути от узла 1
до узла i. Будем считать, что
=0
для всех h, а
∞,
если отсутствует дуга (i,j).
Алгоритм Беллмана-Форда состоит в следующем.
Вначале
∞
для всех i≠1.
При каждом последующем h≥0
для всех i≠1.
Рис. 8.5 иллюстрирует работу алгоритма
8
1
У
зел-
1 2 4 2 Длины дуг указаны
и сточник 4
2
∞
Кратчайшие пути,
использующие не более одной дуги.
∞
Кратчайшие
пути,
использующие не более двух дуг.
Кратчайшие пути,
использующие не более трёх дуг.
Итоговое
дерево
кратчайших путей.
Рис.8.5
Число операций
алгоритма в худшем случае равно N-1,каждая
операция должна быть проведена для N-1
узла, а для каждого узла минимизация
осуществляется самое большее по N-1
переменной. Таким образом, в худшем
случае объём вычислений записывается
в виде 0(
),где
N – число узлов в сети.
Алгоритм Дийкстра
Этот алгоритм
требует, чтобы длины всех путей были
положительны(это выполняется в сетях
передачи данных).Объём вычислений в
худшем случае для этого алгоритма
значительно меньше, чем у алгоритма
Беллмана-Форда. Основная идея алгоритма
состоит в том, чтобы отыскивать кратчайшие
пути в порядке возрастания длины пути.
Кратчайшим из всех кратчайших путей
от узла 1 является путь, состоящий из
одной дуги, соединяющий узел 1 с ближайшим
соседним узлом. Следующим кратчайшим
среди кратчайших путей должен быть либо
путь из одной дуги к следующему ближайшему
соседу узла 1,либо кратчайший путь из
двух дуг, проходящей через узел, выбранный
на первом шаге, и т.д. Для формального
описания алгоритма каждый узел i имеет
метку
,означающую
оценку длины кратчайшего пути от узла
1.Когда оценка становиться неизменной,
считается, что узел окончательно
помечен. Множество окончательно
помеченных узлов обозначим через P.
Узел, который будет добавлен на очередном
шаге к P, является ближайшим к узлу 1
среди всех узлов, ещё не вошедших в P,
так как кратчайшее расстояние получается
минимизацией по j
P
величины
.Вычислительная
сложность алгоритма будет порядка 0(
).
Рис.8.6 иллюстрирует работу алгоритм Дийкстра, а также алгоритма Беллмана-Форда.
3
1 2
1 1
4 4
1
Беллман-Форд
Дийкстра
=4
=3
=3
=6
=5
=4
=2
=3
=2
=3
=2
P={1,2} P={1,2,5} P={1,2,3,4,5}
Рис. 8.6
Формально алгоритм работает следующим образом.
Сначала P={1},
=0
и
для j≠1.
Шаг 1(поиск
следующего ближайшего узла).Найти i
P
такой, что
Положить
P:=P
{i}.Если
P содержит все узлы, то на этом работа
алгоритма заканчивается.
Шаг 2(обновление
меток).Для всех j
P
положить
.
Перейти к шагу 1.
Алгоритм Флойда-Уоршела
Этот алгоритм в отличии от предыдущих двух находит кратчайшие пути сразу для всех пар узлов. Если в алгоритме Беллмана-Форда итерируется число дуг в пути, а в алгоритме Дийкстра – длина пути, то в алгоритме Флойда-Уоршела итерируется множества узлов, которые допускается иметь в качестве промежуточных узлов на путях. Как и оба других алгоритма. Алгоритм Флойда-Уоршела начинается с расстояний из одной дуги (т.е. без промежуточных узлов),выбранных в качестве исходных оценок для длин кратчайших путей. Затем вычисляются кратчайшие пути с тем ограничением, что промежуточным узлом может быть только узел 1,затем с ограничением, что промежуточными узлами могут быть только узлы 1 и 2 и т.д.
Для более строгого
описания алгоритма обозначим через
Длину кратчайшего пути от узла i к узлу j при ограничении, что только узлы 1,2,…, n могут использоваться в качестве промежуточных узлов на пути. Алгоритм при этом работает следующим образом.
Сначала
=
для всех i,j,i≠j.
Для n=0,1,…,N-1,
для всех i≠j.
Объём
вычисления по данному алгоритму
оценивается величиной 0(
),т.е.
он такой же, как и алгоритм Дийкстра
повторённого для всех узлов, выбранных
в качестве источника.
