Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен / ММвСС. Экзаменационные вопросы и ответы.docx
Скачиваний:
155
Добавлен:
15.01.2020
Размер:
3.62 Mб
Скачать

20. Имитационное моделирование. Принцип построения дискретных событийных моделей. Упрощенная структура системы моделирования и алгоритм функционирования.

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

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

Общая структура имитационной событийной модели

Алгоритм функционирования

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

Пусть требуется получить значения случайной величины , распределенной в интервале с плотностью вероятности .

Метод обратной функции предполагает следующие действия:

  1. Необходимо сгенерировать случайную величину (значение случайной величины ), равномерно распределенную в интервале .

  2. Приравнять сгенерированное случайное число известной функции распределения и получить уравнение:

  1. Решая уравнение , находим искомое значение .

Пример.

Экспоненциальное распределение

22. Расчет необходимой пропускной способности канала (линии связи) на примере услуг VoIp.

Частный случай:

  1. Интенсивность исходящей нагрузки: Эрл.

  2. Необходимое число "виртуальных" линий: .

  3. Скорость кодирования G.711: 64 Кбит/с.

  4. Скорость передачи данных Ethernet: Кбит/с.

  5. Интенсивность трафика: Кбит/с.

  6. Выберем модель линии доступа , допустимая задержка мс.

  7. Найдем минимально допустимую пропускную способность.

мс. Мбит/с.

Общий случай:

  1. Интенсивность исходящей нагрузки: Эрл.

  2. Необходимое количество "виртуальных" линий: .

  3. Скорость передачи данных для услуги: бит/с или пакетов/с.

  4. Скорость передачи данных в сети: бит/с.

  5. Интенсивность трафика: бит/с или пакетов/с.

  6. Выбор модели и нормы качества (аппроксимация Маршала):

– среднее время обслуживания пакета

  1. Оценить дисперсии интервала между заявками и времени обслуживания .

  2. Оценить требуемую пропускную способность .

23. Задачи динамического программирования. Общее определение подхода к решению задачи. Пример постановки задачи, решаемой методом динамического программирования.

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

Основные принципы динамического программирования:

  • Многошаговость (разбиение задачи на подзадачи);

  • Оптимальность (оптимальное поведение по отношению к предшествующим решениям).

Основное функциональное уравнение динамического программирования (уравнение Беллмана):

– вектор состояния, – вектор переменных

Три шага:

  1. Разбиение задачи на подзадачи меньшего размера.

  2. Нахождение оптимального решения подзадач рекурсивно, проделывая такой же трехшаговый алгоритм.

  3. Использование полученного решения подзадач для конструирования решения исходной задачи.

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

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

Классические задачи динамического программирования

  • Задача о наибольшей общей подпоследовательности: даны две последовательности, требуется найти самую длинную общую подпоследовательность.

  • Задача поиска наибольшей увеличивающейся подпоследовательности: дана последовательность, требуется найти самую длинную возрастающую подпоследовательность.

  • Задача о вычислении чисел Фибоначчи.

  • Алгоритм Флойда — Уоршелла: найти кратчайшие расстояния между всеми вершинами взвешенного ориентированного графа.

  • Алгоритм Беллмана — Форда: найти кратчайший путь во взвешенном графе между двумя заданными вершинами.

Пример постановки задачи. Из большого числа остовов связного неориентированного графа нужно найти один, у которого сумма весов ребер наименьшая.

Примечание. Остов — ациклический1 связный2 подграф данного связного неориентированного графа, в который входят все его вершины.