Моделирование систем и сетей телекоммуникаций. Учебное пособие. Санкт-Петербург 2012. 1. УДК 519.718. Kutuzov, O.I. and Tatarnikova, T.M. Simulation of systems and telecom-munications networks: мmathematical schemes and algorithms.


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
Министерство образования и науки Российской Федерации
СанктПетербург
1
УДК 19718
Кутузов ОИ, Татарникова ТМ Моделирование систем и сетей
телекоммуникаций Учебное пособие – СПб, изд РГГМУ, 1 – 1
с
ISBN
Рецензент: Сикарев АД, др техн наук, проф, зав кафедрой
СанктПетербургского университета водных коммуникаций
Учебное пособие содержит материал, связанный с имитационным
моделированием телекоммуникационных сетей и их элементов, фор
мально представляемых в виде случайных графов и систем массового
обслуживания Каждая глава содержит вопросы и задания для закреп
ления пройденного материала
Предназначено для студентов, обучающихся по специальности
Информационная безопасность
Kutuzov, OI  tkov,  Smuto of ytem  teecom
mucto etok: мmthemtc cheme  othm A mu 
St Peteu, RSU Puhe, 1 – 1

he ook cot mte ete to muto of teecommucto
etok  the eemet fomy eeete  om h 
ueu ytem Ech chte cue ueto  met to
coote the mte covee
he mu  ee fo t eet ecz  fomto
ecuty
ISBN
Кутузов ОИ, Татарникова ТМ, 1
Российский государственный гидрометеорологический
университет, РГГМУ, 1
ПРЕДИСЛОВИЕ
Моделирование систем и сетей телекоммуникаций
изучается
студентами, обучающимися по специальности Информационная безо
пасность с целью усвоения теории и подготовки к овладению техноло
гиями компьютерного моделирования сложных систем
В пособии излагается материал, связанный с имитационным моде
лированием информационных сетей и их элементов, формально пред
ставляемых в виде случайных графов и систем массового обслуживания
Такой формализм широко используется в качестве математических моде
лей сетейПособие включает три раздела
В первом разделе излагается ряд общих сведений, обеспечивающих,
по мнению авторов, терминологическое и понятийное содержание
излагаемого материала
Важным направлением при анализе и синтезе сетей с очень большим
количеством узлов, структура которых нерегулярна, сложна и динами
чески эволюционирует во времени, является моделирование на основе
аппарата теории графов Другой широко распространенной формализа
цией сетей и их элементов узлов, каналов связи являются сети и системы
массового обслуживания Материал, связанный с современными под
ходами к описанию графов и моделей сетей
представлен во втором разделе
В третьем разделе представлен материал по принципам и схемам
построения моделирующих алгоритмов, обеспечивающих отображение
функционирования объекта во времени При имитационном моделиро
вании воспроизводятся траектории движения моделируемого объекта
в пространстве смены его состояний При наличии в модели случайных
факторов имитационные эксперименты выполняются с привлечением
метода статистических испытаний или, иначе, метода МонтеКарло Суть
метода в генерации значений случайной базовой величины и нахождении
по ним значений произвольной случайной величины В разделе также
приводится материал, связанный с генетическими алгоритмами, которые
все чаще используются при оптимизации в сочетании с имитационным
моделированием
Список литературы представлен небольшим числом книг, в которых
можно при желании получить сведения по теме пособия, в том числе и
библиографические
ВВЕДЕНИЕ
Информационные сети ИС
есть результат слияния средств обра
ботки и обмена информацией В роли элементов ИС выступают инфор
мационные и прикладные процессы
Информационные процессы
ИП представляют собой совокупность
взаимосвязанных процессов выявления, отбора, формирования инфор
мации, ее ввода в техническую систему, обработки, хранения и передачи
Прикладные процессы
ПП – типы ИП, ориентированные на выпол
нение конкретной прикладной задачи
Обобщенно функциональную архитектуру ИС можно представить
в виде
трехуровневой концептуальной модели
рис 11:
первый уровень
внутренний описывает функции и правила взаи
мосвязи при передаче различных видов информации между территори
ально удаленными абонентскими системами через физические каналы
связи передачи и реализуется
транспортной сетью
второй уровень
промежуточный описывает функции и правила
обмена информацией в интересах взаимосвязи прикладных процессов
различных абонентских систем и реализуется
телекоммуникационной
сетью
 Телекоммуникационная сеть представляет собой единую инфра
структуру для обмена различными видами информации в интересах
пользователей информационной сети;
Информационная
сеть
Транспортная сеть
Телекоммуникационная
сеть
Абонентская система
ПП
Абонентская
система
Сеть каналов связи
передачи
ПП
Абонентская система
ПП
Абонентская система
ПП
Рис 11 Концептуальная модель информационной сети
третий уровень
внешний образуется совокупностью
прикладных
процессов
, размещенных в территориально удаленных
абонентских
системах
 Абонентские системы АС являются потребителями инфор
мации и выполняют её содержательную обработку Третий уровень, до
полняя первый и второй указанными функциями обработки информа
ции, образует внешний облик
информационной сети
Информационные сообщения на входы ИС поступают случайным
образом и с разной степенью интенсивности Разнородность сообщений,
их разный приоритет, содержательная обработка сообщений иили па
кетов в узлах сети определяют случайную длительность их пребывания
как в отдельной части сети, так и в сети в целом Большое количество вза
имодействующих элементов выполняют сложные функции для достиже
ния заданной цели в условиях взаимодействия внешней среды со мно
жеством случайных факторов Неопределенность обстоятельств, с кото
рыми придется столкнуться в реальности  всё это позволяет отнести ИС
к классу сложных стохастических систем Поэтому на этапах проектиро
вания, модернизации, эксплуатации ИС возникает большое количество
проблем, связанных с исследованием механизма внутрисетевых взаимо
действий, формулировкой соответствующих требований к сети и её от
дельным компонентами и разработкой алгоритмов управления сетью
Любая система управления нуждается в информации об управля
емом объекте и модели управляемого объекта, в моделировании тех или
иных управляющих решений
1
ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ
Моделирование
 это замещение одного объекта оригинала дру
гим моделью и фиксация и изучение свойств модели Замещение произ
водится с целью упрощения, удешевления, ускорения изучения свойств
оригинала Объектоморигиналом может быть естественная или искус
ственная, реальная или воображаемая система
Любая система может
быть описана количественно с помощью определённой совокупности
величин Эту совокупность можно разделить на два класса:
 Параметры – величины, описывающие первичные свойства систе
мы, её элементов и не зависимые от других величин;
 Характеристики – величины зачастую, векторные, описывающие
качественные свойства системы и являющиеся вторичными по отноше
нию к параметрам, те зависящие от параметров
Система проявляет свои свойства под влиянием внешних воздействий
Множество параметров системы
и их значений отражает её внутреннее
содержание: структуру и принципы функционирования Характеристики
– это в основном её внешние признаки, которые важны при взаимодей
ствии с другими системами Характеристики
находятся в функцио
нальной зависимости от её параметров Каждая характеристика системы
определяется в основном ограниченным числом параметров Остальные
параметры не влияют на значение данной характеристики
 Иссле
дователя интересуют, как правило, только некоторые характеристики при
конкретных воздействиях на систему
Модель
 это тоже система со своими множествами параметров и
характеристик В модель включаются только существенные аспекты,
представляющие оригинал, и отбрасываются
все остальные
которых
бесконечное большинство Существенный или несущественный аспект
описания определяют согласно цели исследования Модель
адекватна
реальному объекту в рамках поставленной задачи На практике двигаются
от простых моделей к более сложным
Структурно модель
можно представить рис 1
В математическом виде модель
=

 закономерность, преоб
разующая входные значения в выходные
Модель
Вход
ход
Рисунок 1 Структурное изображение модели
С выражением
=
 можно решить три вида задач, которые приведе
ны в табл 11
Условия, которые должны быть, безусловно, выполнены для реше
ния задач, называются
ограничениями
 А часть ограничений, относитель
но которых высказывают только пожелания быть как можно больше
или меньше, называются
критериями
Решений обычно бывает много Для нахождения лучшего следует
сузить область решений, накладывая определённые ограничения, чтобы
отсеять неудовлетворяющие этим ограничениям Такие задачи часто на
зывают
задачами управления
 В целом получается обратная задача А то,
что надо определить  управляемая переменная Другими словами как
следует изменить входной параметр управление, чтобы обеспечить
выполнение критерия, не выйти за ограничения, чтобы при этом крите
рий принял наилучшее значение?
Цель моделирования
– получение новых сведений об изучаемом
объекте или явлении Познание любой системы сводится по существу к
созданию её модели Моделирование целесообразно, когда у модели отсут
ствуют те признаки оригинала, которые препятствуют его исследованию
Достижения математики привели к распространению математичес
ких моделей ММ различных объектов и процессов ММ представляют
собой формализованное представление системы с помощью математи
ческих соотношений, отражающих процесс функционирования системы
По принципам построения математическое моделирование делится на
аналитическое и имитационное
Аналитическое
моделирование  формализованное описание систе
мы, которое позволяет получить решение уравнения в явном виде, ис
пользуя известный математический аппарат Однако аналитическое пред
ставление подходит лишь для очень простых и сильно идеализированных
задач и объектов Сложные объекты редко удаётся описать аналитически,
к их описанию привлекаются имитационные модели
Имитационное
моделирование  это частный случай математичес
кого моделирования, а имитационная модель  логикоматематическое
описание объекта
Известно
Неизвестно
Решение
Прямая задача
Обратная задача
Задача настройки модели
Таблица 11
Виды задач моделирования
Имитационная модель ИМ  это совокупность описания системы
и внешних воздействий, алгоритмов функционирования системы или
правил изменения состояния системы под влиянием внешних и внут
ренних возмущений Эти алгоритмы и правила позволяют имитировать
процесс функционирования системы и производить нахождение оценок
интересующих характеристик в режиме вариантных расчётов путем вы
полнения имитационных экспериментов с целью получения информа
ции о моделируемой системе Экспериментирование с моделью называ
ют имитацией
Метод имитационного моделирования ИМ заключается в создании
логикоаналитической математической модели системы и внешних
воздействий, имитации функционирования системы, те в определении
временных изменений состояния системы под влиянием внешних воз
действий и в получении выборок значений выходных параметров, по
которым определяются их основные вероятностные характеристики Дан
ное определение справедливо для стохастических систем При исследова
нии детерминированных систем отпадает необходимость изучения выбо
рочных значений выходных параметров
Процесс моделирования есть процесс перехода из реальной области
в виртуальную модельную посредством
формализации
 Далее проис
ходит изучение модели собственно
моделирование
 и, наконец,
интер
претация
результатов как обратный переход из виртуальной области в
реальную Этот путь заменяет прямое исследование объекта в реальной
области
Формализация обеспечивает построение
математической схемы
Математическую схему можно рассматривать как звено при переходе
от содержательного к формализованному описанию процесса функцио
нирования системы с учётом воздействия внешней среды, те имеет
место цепочка: описательная концептуальная модель  математическая
схема  аналитическая или имитационная модель
При имитационном моделировании сетей понятие математичес
кая схема позволяет рассматривать математику не как метод расчёта, а
как метод мышления, средство формулирования понятий, что является
наиболее важным при переходе от словесного описания к формализован
ному представлению процесса функционирования системы в виде неко
торой математической модели ММ
Важным направлением при анализе и синтезе сетей с очень боль
шим количеством узлов, структура которых нерегулярна, сложна и дина
мически эволюционирует во времени
является моделирование на основе
аппарата теории графов Примерами таких сетей служат технологичес
кие Интернет как сеть компьютеров, корпоративные компьютерные
сети, транспортные и электрические сети, информационные цитиро
вания в научных статьях, ссылок , биологические сети нейронов
в мозге, взаимодействующих протеинов, генетические сети, ячейки
химических реакций, социальные системы люди и связи между ними
В последнее десятилетие возрос интерес исследователей к сетям
с очень большим количеством узлов, структура которых нерегулярна,
сложна и динамически эволюционирует во времени В пособии рассмат
риваются основные особенности и типы случайных графов и подходы к
их моделированию
Другой широко распространенной формализацией сетей и их эле
ментов узлов, каналов связи являются сети и системы массового об
служивания Применение этих математических схем широко исполь
зуется для оценивания необходимых сетевых ресурсов в зависимости от
нагрузки, поступающей в сеть Однако представление процесса функци
онирования распределенной информационной системы управления в
виде сети схем массового обслуживания позволяет хорошо описать про
цессы, происходящие в системе, но при сложных законах входящих пото
ков и потоков обслуживания не даёт возможности получения результатов
в явном виде, что определяет необходимость имитационного моделиро
вания таких математических схем
Особенностью имитационного моделирования является то, что
имитационная модель позволяет воспроизводить моделируемые объекты
с сохранением их логической структуры, с сохранением поведенческих
свойств последовательности чередования во времени событий, проис
ходящих в системе, те динамики взаимодействий
При наличии в модели случайных факторов если изучаемый про
цесс достаточно сложен, то почти неизбежно он случаен имитационные
эксперименты выполняются с привлечением метода статистических
испытаний или, иначе, метода МонтеКарло 7
Метод МонтеКарло есть метод математического моделирования
случайных явлений, в которых сама случайность непосредственно вклю
чается в процесс моделирования и представляет собой его существенный
элемент Каждый раз, когда в ход операции вмешивается тот или другой
случайный фактор, его влияние имитируется с помощью специально
организованного розыгрыша или жребия В результате розыгрыша
получается один экземпляр – одна реализация случайного явления Про
изведя такой розыгрыш очень большое число раз, получают статис
тический материал – множество реализаций случайного явления, кото
рый можно обработать обычными методами математической статис
тики При этом применяется закон больших чисел теорема Чебышева
Согласно этой теореме, при большом числе опытов среднее арифмети
ческое наблюденных значений случайной величины почти наверняка
мало отличается от её математического ожидания Аналогичным образом

могут быть найдены и другие выборочные характеристики случайных
величин
Отметим ещё раз Основными элементами, из совокупности кото
рых складывается монтекарловская модель, являются отдельные реали
зации моделируемого случайного явления Реализация представляет со
бой как бы один случай осуществления моделируемого случайного явле
ния процесса со всеми присущими ему случайностями Она разыгры
вается с помощью специально разработанной процедуры или алгоритма,
в котором важную роль играет собственно розыгрыш или бросание
жребия Каждый раз, когда в ход моделируемого процесса вмешивается
случайность, её влияние учитывается не расчётом, а бросанием жребия
В англоязычной литературе терминам имитация, имитационная
модель, имитационный эксперимент приблизительно соответствует
термин muto Наиболее известна трактовка термина имитация,
которую дал Р Шеннон, определив её как процесс конструирования
модели реальной системы и постановки экспериментов на этой модели
с целью понять поведение системы либо оценить в рамках ограничений,
накладываемых некоторым критерием или совокупностью критериев
различные стратегии, обеспечивающие функционирование данной сис
темы Аналогичное определение этому термину дает Т Нейлор: чис
ленный метод проведения на цифровых вычислительных машинах
экспериментов с математическими моделями, описывающими поведе
ние сложных систем в течение продолжительных периодов времени
Обе приведённые трактовки термина muto укладываются в то
содержание терминов имитация, имитационная модель, имитаци
онный эксперимент, которое рассмотрено выше
При создании имитационных моделей в настоящее время использу
ется два подхода: дискретный и непрерывный Выбор подхода в значитель
ной мере определяется свойствами объектаоригинала и характером воз
действия на него внешней среды Метод статистического моделирования
можно рассматривать как частный случай дискретных вероятностных
имитационных моделей
В основе дискретных вероятностных имитационных моделей лежит
понятие событие
Событие
определяется как точка во времени, в кото
рой происходят скачкообразные изменения состояний системы Для полу
чения требуемых результатов моделирования достаточно наблюдать
систему в те моменты, когда происходят события Резкие переходы скач
ки, совершаемые моделью при переходе от одного события к другому,
указывают на то, что процесс протекает в дискретном времени, откуда
появилось название дискретное моделирование
Современными технологиями дискретного имитационного модели
рования ИМ охватываются два самодостаточных вместе и порознь

подхода: дискретнособытийное моделирование и мультиагентный
подход
Дискретнособытийное моделирование есть способ описания и мо
делирования процессов, присущих системам массового обслуживания,
системам с отказами и восстановлением элементов, дискретным произ
водствам и тп В дискретнособытийном моделировании функциониро
вание системы представляется как хронологическая последовательность
событий Событие происходит в определенный момент времени и знаме
нует собой изменение состояния системы Продвижение системного
времени реализуется посредством программирования симулятора –
движителя, который с минимальными затратами машинного ресурса
воспроизводит во времени движение смену состояний объекта модели
рования, отображая действие механизма причинноследственных связей
на смену состояний
Мультиагентное моделирование
 метод, исследующий поведение
децентрализованных
агентов
и то, как такое поведение определяет по
ведение всей системы в целом Другими словами, поведение агентов
определяется на индивидуальном уровне, а глобальное поведение возни
кает как результат деятельности множества агентов моделирование сни
зу вверх и их взаимодействия Агент – это, по сути, процесс, последова
тельность событий и работ, описывающая поведение во времени какого
либо объекта в моделируемой системе С формальнологической точки
зрения выбор, осуществляемый любым агентом, предопределён достиг
нутым на момент выбора состоянием системы и значениями парамет
ров, известных агенту Поэтому действия
агентов имитируются в модели
точно так же, как и любые другие события – как прямые следствия из
достигнутого состояния системы И модельное время продвигается си
мулятором строго вперед, в точном соответствии с механизмом причин
и следствий
В семантическом плане концепция агентов как самостоятельных,
активно действующих сущностей, оказывается чрезвычайно полезной
при моделировании систем, в которых совокупное действие подобных
сущностей приводит к эволюции, непредсказуемой с точки зрения от
дельных агентов, и иногда более разумной, чем поведение любого от
дельно взятого агента Эта концепция существенно расширяет сферу
практического использования ИМ, поскольку приводит к новым смыслам
при интерпретации моделей, и она поддерживается новыми языковыми
и графическими средствами ИМ 
В обеих версиях дискретного ИМ симулятордвижитель продвигает
вперед текущий временной срез системы Этот срез, а точнее – времен
ной слой, имеет минимальную толщину, необходимую для правиль
ного определения ближайших предстоящих изменений и для правильного
рекуррентного пересчета показателей, требующего помнить моменты
1
последних произошедших изменений В основе построения движителя
лежат две основные схемы построения алгоритмов моделирования: схема
событий и схема процессов  Схема событий используется при дискрет
нособытийном моделировании, а схема процессов – при мультиагент
ном моделировании
Таким образом, при моделировании стохастических систем пара
дигма
имитационного
статистического, вероятностного 
модели
рования
включает две составляющие: симулятор – движитель, реали
зующий продвижение системного времени, и метод МонтеКарло, обес
печивающий разыгрывание случайностей В совокупности эти две сос
тавляющие и строят траектории – реализации функционирования моде
лируемой системы, в которой присутствуют случайные факторы и
объек
ты Обе составляющие наличествуют в обоих методах дискретного ИМ
Для реализации ИМ на ЭВМ разработаны как специализированные
языки моделирования, так и имитационные системы Наиболее из
вестными языками моделирования являются SIULA, SISCRIP, GPSS,
SOL, CSL Эффективность языков моделирования существенно зависит
от наличия диалоговых и графических средств Поэтому в систему ими
тации помимо совокупности имитационных моделей с их программным
и информационным обеспечением входят средства программного сер
висного обеспечения Популярны системы AyLoc, ALAB и Smuk,
Ae, СИМПАС и др
Удобство языка моделирования во многом определяется ориента
цией на определенную предметную область Но это и определенное ог
раничение языков моделирования по сравнению с универсальными язы
ками программирования высокого уровня В вузах, например, широко
используют Паскаль и его расширения, С и др Поэтому в данном по
собии авторы сделали акцент на модельную и алгоритмическую состав
ляющие при изложении вопросов, связанных с имитационным моделиро
ванием систем и сетей телекоммуникаций
Вопросы и задания
1 Приведите примеры прямой и обратной задач
 В чем отличие аналитического моделирования от имитационного?
 Какова основная цель математического моделирования?
 Приведите пример задачи настройки параметров
 В чем суть дискретного моделирования?
6 Что означает динамическое моделирование?
7 В чем суть мультиагентного моделирования?
8 Каким образом реализуется дискретнособытийное моделирование?
9 Объясните назначение метода МонтеКарло в моделировании

1 Какие виды объектов можно представлять с помощью графов и почему?
11 Что называют задачами управления?
1 Какова основная цель моделирования вообще? Приведите примеры
1 Объясните, как реализуется непрерывное моделирование

 МА
ТЕМА
ТИЧЕСКИЕ С
ХЕМЫ МО
ДЕ
ЛИР
ОВ
АНИЯ
СИСТЕМ И СЕТЕЙ ТЕЛЕКОММУНИКАЦИЙ
1 Графовые модели сетей
Моделирование на основе аппарата теории графов является важ
ным направлением при анализе и синтезе сетей с очень большим коли
чеством узлов, структура которых нерегулярна, сложна и динамически
эволюционирует во времени Учение о графах, представляющих собой
системы линий, соединяющих какието заданные точки, объединяет
геометрическую наглядность с математической содержательностью
Первым исследователем графов, являющихся математическим образом
сетей, был Леонард Эйлер 177–178 гг Изначально теория графов
описывала регулярные графы, однако начиная с 19х гг, сложные сети
стали описывать с помощью теории случайных графов, предложенных
в качестве наиболее подходящей модели сложных сетей
11 Некоторые понятия теории графов
Граф
 это совокупность узлов 
вершин
 со связями ребрами меж
ду ними

В строгом определении графом называется пара множеств
=
E
, где
есть подмножество любого счётного множества,
 под
множество
 Примеры графов изображены на рис 1
Отметим некоторые частные представления графов
Простые неориентированные графы
Схема, состоящая из изолированных вершин, называется
нулевым
графом
Графы, в которых не построены все возможные ребра, называют
ся
неполными
графами
рис
Рис 1 Примеры графов

При изображении графов на рисунках или схемах отрезки могут
быть прямолинейными или криволинейными; длины отрезков и
расположение точек произвольны Например, все три фигуры на рис 
изображают один и тот же граф
На рис  изображен граф, соответствующий всем связям между
вершинами каждый узел соединен с каждым Такой граф называется
полным
Если полный граф имеет
вершин, то количество ребер будет равно
1 Совокупность вершин графа с ребрами, превращающими непол
Рис  Неполный граф с пятью вершинами
Рис  Разное изображение одного и того же графа
Рис  Полный граф с пятью вершинами

ный граф в полный, называется д
ополнением
графа
На рис  представлено несколько вариантов изображения полного
графа с четырьмя вершинами
Графы, изображенные на рис , дают одну и ту же информацию о
совершенных связях Такие графы называют изоморфными одинаковыми
Графы изоморфны, если у них одинаковое количество вершин, и
если вершины одного графа соединены ребром, то и соответствующие
им вершины другого графа тоже соединены ребром
Граф, который можно начертить так, чтобы его ребра пересекались
только в вершинах, называется плоским графом На рис ,а и ,в изо
бражены плоские графы Простые циклы и деревья являются наглядными
примерами плоских графов
Граф называется связным, если любая пара его вершин  связная
Граф называется
несвязным
, если в нём есть хотя бы одна несвязная па
ра вершин Совокупность вершин, связанных между собой ребрами, но
отдаленных от остальной части графа, называется
компонентом
графа
На рис 6 изображен несвязный граф, состоящий из двух компо
нентов Если, например, между вершинами Д и Е либо какими другими
разных компонентов графа рис 6 провести ребро, то граф станет связ
ным Такое ребро в теории графов после удаления которого граф из связ
ного превращается в несвязный называется
мостом
В современной теории сетей число связей узла, количество ребер,
присоединенных к
й вершине, называется
степенью
eee, или
поряд
ком k
этой вершины, а две вершины, соединенные ребром, называются
соседними
Как видно из рис 7, средний узел В имеет степень пять,
остальные узлы  степень три
Вершина называется
нечётной
, если степень этой вершины нечёт
ная,
чётной
 если степень этой вершины четная
Для рассмотренных выше определений в теории графов сформули
рованы следующие закономерности:
а
б
в
Рис  Варианты изображения полного графа с четырьмя вершинами
6
 если степени всех вершин графа равны, то граф называется
регу
лярным
Любой полный граф – однородный, и степени вершин полного
графа на единицу меньше числа вершин этого графа;
 сумма степеней вершин графа число чётное, равное удвоенному
числу ребер графа Эта закономерность справедлива не только для пол
ного, но и для любого графа;
 число нечётных вершин любого графа чётно
Понятие степень 
порядок
 является
локальной
характеристикой гра
фа Нелокальную,
целостную
структуру сети определяют двумя поняти
ями:
путь
th и
петля
oo, или
цикл
cyce Путь – это чередующа
яся последовательность смежных узлов и связей между этими узлами, ког
да узлы не повторяются Циклом или петлей называется путь, когда нача
льный и конечный узел совпадают
Сети без циклов называются деревь
ями
Число
узлов
называемое
размером
сети и число
связей
L
в де
Рис 6 Пример несвязного графа
Рис 7 Граф для проблемы Эйлера
узлы этого графа – четыре района старого Кенигсберга, соединенные между
собой семью мостами, которым соответствуют ребра графа В 176 г Эйлер
доказал, что начав с некоторой точки, невозможно пройти все мосты и
вернуться в исходную точку, не посетив один из мостов дважды
7
ревьях связаны простым соотношением
– 1 
Приведённые на рисунках конструкции относятся к классу
простых
неориентированных графов
их называются также
невырожденными
графами
 У невырожденных графов две вершины либо не соединены, ли
бо связаны неориентированными ребрами, но ни одна из вершин не со
единена сама с собой В
вырожденных
или
псевдографах
возможны мно
гократные связи между вершинами
Ориентированные графы
Существуют значительные классы практических задач, которые ре
шить с помощью ранее рассмотренных типов графов невозможно Так,
например, схема дорог и площадей города изображается с помощью плос
кого графа Но если нужно этой схемой воспользоваться с целью проезда
по городу на автомашине, а движение на отдельных или на всех улицах
одностороннее, тогда могут помочь сориентироваться в этой ситуации
стрелки, расположенные, например, прямо на ребрахулицах рассматри
ваемой схемы графа города
Ребро графа называется
ориентированным ребром
, если одну из его
вершин считать началом, а другую  концом этого ребра Граф, у которо
го все ребра ориентированные, называется
ориентированным
графом
На практике часто ориентированные графы используют для нагляд
ного представления процесса и результата спортивных соревнований
Так, на рис 8 с помощью ориентированного графа показаны резуль
таты игр между командами А, Б, В, Г, Д, Е Если игра может быть сыграна
вничью, то обычно ребро графа оставляют неориентированным ребро
ВЕ и такой граф называют
смешанным
По аналогии с ранее рассмотренными неориентированными гра
фами ориентированные графы имеют такие характеристики, как
степень
вершины
, понятия
пути
и
цикла
Рис 8 Ориентированный граф АБВГДЕ
8
Степенью выхода
вершины ориентированного графа называется
число ребер, для которых эта вершина является началом число ребер,
выходящих из вершины
Степенью входа
вершины ориентированного графа называется
число ребер, для которых эта вершина является концом число ребер,
входящих в вершину
Так, на рис 9 изображен ориентированный граф АБВГД Степени
входа и выхода некоторых его вершин такие:
СтвхА=, СтвыхА=1, СтвхВ=, СтвыхВ=, СтвхД=1, СтвыхД=
Путём
в ориентированном графе от вершины А1 к вершине A
на
зывается последовательность ориентированных ребер A1A, AA, ,
1, A
, в которой конец каждого предыдущего ребра совпадает с нача
лом следующего, и каждое ребро встречается в этой последовательности
только один раз
На рис 1 показаны примеры путей в ориентированном графе При
чём, первые два пути – простые, ни одна из вершин не содержится в нём
Рис 9 Ориентированный граф АБВГД
а
б
в
Рис 1 Примеры путей в ориентированном графе
1
Рис 11 Примеры путей разной длины в ориентированном графе
Рис 1 Ориентированный граф, в котором
БД=
более одного раза Третий путь не является простым, так как через верши
ну Г путь проходил дважды
Ориентированным циклом
называется замкнутый путь в ориентиро
ванном графе На рис 1 б, в приведены примеры ориентированных
циклов в графах Цикл, как и любой другой путь в графе, имеет длину,
которая определяется числом ребер в этом пути Так, на рис 11 пути
от А к Д могут быть различны и иметь различную длину Первый путь
имеет длину , второй  , а третий  
Длина кратчайшего пути между двумя вершинами называется
расстоянием между ними
Так, расстояние между вершинами А и Д на
графе рис 11 равно ; записывают так:
АД=
Если в ориентированном графе нельзя пройти от одной вершины
до другой, то расстояние между ними называют бесконечным обозна
чают значком бесконечности Так, расстояние между вершинами Б и Д
графа, представленного на рис 1 бесконечно:
БД =
Нагрузка узла
eteee cetty Для многих сетей транс
портных, телекоммуникационных, социальных необходимо определить
относительную важность входящих в неё узлов Загруженность узла в
сети определяется как суммарное число кратчайших путей между всеми
остальными узлами, которые проходят через данный узел
1
АГ
АГ
АГ
где
загруженность
го узла сети;
АГ

число кратчайших путей
из узла А
в узел Г через узел
;
АГ

число кратчайших путей между все
ми парами А и Г
Эта величина важна в изучении транспортных потоков и обычно
называется
нагрузкой
загруженностью узла или связи, поскольку ха
рактеризует долю проходящих через узел кратчайших путей Эту величи
ну можно также считать индикатором наиболее влиятельных и важных
персон VIP в социальной сети Узлы с высоким значением
B
являются
наиболее загруженными В отличие от степени узла, понятие важности
узла отражает топологию всей сети
Помимо транспортных задач ориентированные графы активно ис
пользуются в сетевом планировании, в математике: теория игр, теория
множеств, при решении многих задач, в частности, комбинаторных
1
Случайные графы и сети
Графы, в которых
распределение связей
между узлами имеет слу
чайный характер, называются
случайными графами

Впервые случайные
графы были изучены венгерскими математиками Полом Эрдосом Pu
Eх и Альфредом Реньи Afe
Réy

Произвольный конкретный граф сеть является конкретной реали
зацией случайного графа случайной сети В свою очередь, всякая чис
ловая характеристика случайного графа может рассматриваться как
случайная величина Для того чтобы получить среднее значение для не
которой величины в случайной сети, нужно усреднять эту величину по
всем реализациям, принимая во внимания их статистический вес
Числовые характеристики случайных сетей
Кратчайшая длина пути
геодезическая линия
Длины всех связей
между смежными узлами считаются равными единице
Кратчайшее рас
стояние
j
между узлами

и
есть
длина самого короткого
пути

гео
езическая линия
 между ними в сети Среднее межузловое расстояние
есть среднее
j
по всем тем парам узлов 
,j
, между которыми сущест
вует хотя бы один соединяющих их путь сеть может содержать несое
динённые между собой узлы

Диаметр сети
Диаметр с
ти
есть максимальное расстояние
между узлами сети Зависимость
или от размера
сети зависит и от
11
архитектуры сети Кратчайшая длина пути сети и её диаметр являются
нелокальными
свойствами сети
Матрицы смежности
Сетевые структуры можно описывать в мат
ричной форме Сеть из
узлов описывается квадратной матрицей смеж
íîñòè

размерности
 Ненулевые элементы такой матрицы обознача
ют наличие связей между соответствующими узлами Для неориентиро
ванных сетей недиагональный элемент
j
матрицы смежности равен
числу связей
j
между узлами
и
и, следовательно, матрица для такой
сети симметрична Предполагается, что петли единичной длины и крат
ные связи запрещены, следовательно, значения диагональных элементов
равны нулю Любые структурные свойства сети могут быть выражены
через свойства матрицы смежности Например, степень узла
равна:
j
Реальные сети и их модели являются разреженными Число соедине
ний в таких сетях значительно меньше, чем у полносвязанной сети Таким
образом, огромное большинство элементов матриц смежности реальных
сетей равно нулю
Помеченные
графы – такие графы, у которых различаются как вер
шины, так и рёбра Каждый такой граф можно представить матрицей смеж
ности, элемент
j
которой определяется количеством рёбер между верши
нами

j
, если

j
, или удвоенное число рёбер, если
=
Распределение узлов по числу связей
eee tuto

Перечень
порядков степеней
 графа определяет распределение вероятностей
по порядкам
степеням
 Часто распределением узлов по числу связей
eee tuto для отдельного графа
называется отношение вида
 = N
 N
 = N
 N
, где
есть число узлов степени
в графе
Бинарная функция
, 
задаёт совместную вероятность одной вер
шине иметь порядок
, а другой
– 
Распределение узлов по числу связей является простейшей статис
тической характеристикой случайной сети Во многих случаях знание
этой характеристики достаточно для понимания свойств такой сети и
процессов, которые в ней происходят
Кластеризация

это локальная характеристика сети Она характе
ризует степень взаимодействия между собой ближайших соседей данно
го узла В большинстве сетей, если узел А соединен с узлом Б, а узел Б –
с узлом Д, то существует большая вероятность, что узел А соединен с
узлом Д друзья наших друзей, обычно, также являются и нашими
друзьями
Коэффициент кластеризации
данного узла есть вероятность того,
что два ближайших соседа этого узла сами есть ближайшие соседи Други
1
ми словами, если узел
имеет
ближайших соседей с числом
связей
между ними, то локальный коэффициент кластеризации равен:
Число
j
есть суммарное число треугольников циклов длины ,
прикрепленных к узлу
, а
1 – максимально возможное число воз
можных треугольников см рис 1 Если все ближайшие соседи узла
взаимосвязаны, то
= 1  Когда между ними нет связей как у деревьев,
то
=  
Изображенная на рис 1 сеть содержит один треугольник цикл
длины  и восемь соединенных триад Следовательно, у этой сети коэффи
циент кластеризации равен
С
= ¸18 = 8 Отдельные узлы имеют коэффи
циенты кластеризации 1, 1, 16,  и , а среднее значение равно
= 1
Кластеризация всей сети определяется как
= М
М
V
, где М

число треугольников в сети, а
 число связанных триад Связанная
триада означает узел и два его ближайших соседа рис 1 Можно
показать, что число триад из узлов равно
По сути, коэффициент кластеризации
есть доля тех триад, у кото
рых есть три ребра, образующих треугольник, те циклов длины 
Среднее значение кластеризации по всем узлам:
Таким образом,
кластеризация характеризует статистику цик
лов
треугольников в сети Большинство реальных сетей в мире обладают
высокой кластеризацией,
В пределе с фиксированным
при
N
получаем
разряженные
сети
, в которых число связей в узле намного меньше, чем в полносвязан
Рис 1 Фрагмент сети
1
ном графе В таких неориентированных сетях вводится понятие гигантс
кого связанного кластера узлов сети Если относительный размер наиболь
шего связанного кластера узлов сети приближается к ненулевому значе
нию при росте числа узлов к бесконечности, этот кластер называется
гигантским связанным кластером
или наибольшей
связанной компонен
той
сети Без гигантского связанного кластера сеть представляет собой
лишь множество маленьких разделенных кластеров Возникновение тако
го кластера можно рассматривать как
структурный фазовый переход
Подграфы и мотивы
 Для характеристики локальных структурных
свойств сетей используется подход на основе анализа паттернов связей
узлов Например, связанный подграф представляет собой подмножество
узлов, соединенны
между собой специфической структурой соединений
Так, узлы A, B, C образуют треугольный подграф, а узлы A, B, F,
и G образуют четырехугольный подграф рис1 Число различных воз
можных подграфов растёт экспоненциально с ростом числа узлов в сети
Не все подграфы возникают в сетях с одинаковой частотой Так, в
квадратных решетках имеются только квадратные подграфы В сложных
сетях со случайным соединением связей между узлами можно обнару
жить и треугольные, и квадратные, и пятиугольные подграфы
Конфигурация форма и взаимосвязь как два важнейших аспекта
организации графа объединены в понятие
паттерна
При этом некото
рые подграфы, называемые
мотивами
, имеют большую частоту появле
ния в сетях определенной структуры, чем в рандомизированных версиях
тех же самых сетей
Например, ориентированный треугольный подграф
на рис
1 мож
но обнаружить во многих биологических сетевых струк
турах нейронных сетях, регуляторных клеточных структурах
Рис 1 Различные типы подграфов в сети
1
В то же время мотив из четырех узлов на рис 16 можно найти в
электрических сетях, но его не встретишь в биологических структурах
Решётки
В регулярных решетках конечной размерности зависимо
сть
имеет степенной закон:
где
есть размерность решетки – целое число Например, для двумерной
решетки из 1
1
узлов
1
К сетевым структурам, в которых растет более медленно, чем по
степенному закону с положительным индексом, применяется термин
феномен тесного мира
m o heomeo
Клики, сообщества, общины, группы, коммуны
Кликами cue
называются полносвязные подграфы некоторого графа
Под
сообществами
понимается подграфы, для которых связи меж
ду узлами внутри подграфов сильнее, многочисленнее и насыщеннее,
чем между узлами различных подграфов рис 17
Допустим, связи с максимальной важностью eteee cetty
удаляются одна за другой Каждое такое удаление изменяет структуру
Рис 1 Ориентированный треугольный подграф
Рис 16 Ориентированный четырехугольный подграф
1
кратчайших путей в сети, а следовательно, и важность каждой связи, и
поэтому эти параметры пересчитываются после каждого удаления На
некотором шаге сеть оказывается разделенной на два кластера – два
самых больших сообщества, и далее процедура продолжается В результа
те, получается дерево, в котором сообщества малых размеров включены
в более большие сообщества Распределение по размерам сообществ,
выявляемых в результате этой процедуры, в большинстве реальных сетей
подчинено степенному закону
Модели случайных графов
Случайную сеть граф можно определить не как единичную сеть,
а как
статистический ансамбль
, в котором каждая конкретная сеть
имеет определенную вероятность реализации, те каждая сеть ансамбля
имеет свой собственный статистический вес Для моделирования слож
ных стохастических сетей используют модель классический случайный
граф, модель графа Тесный мир и модель бесмасштабного графа
Модель Классический случайный граф
Простейшими случай
ными сетями являются так называемые
классические случайные графы
модель ЭрдешаРеньи EoRey, в статистическом ансамбле ко
торых все возможные графы с числом узлов
и числом связей
имеют
одинаковый статистический вес реализации
те для таких сетей веро
ятность существования связи между любыми двумя узлами одинакова
Для случайных сетей ЭрдешаРеньи
o
Ансамбли, в которых их статистические веса не изменяются во вре
мени, не эволюционируют, называются
равновесными
 В
неравновесных
способных к эволюции ансамблях статистические веса изменяются во
Рис 17 Схематическое изображение сети из трёх сообществ
16
времени и множество конфигураций также изменяется
Растущие
сети
являются неравновесными Даже среди сетей с фиксированным числом
связей возможны неравновесные сети
Наиболее известны две модели классического случайного графа:
1
L
ребер распределены произвольно и независимо между
вер
шинами графа;
 фиксируется вероятность
, с которой может объединяться каждая
пара вершин
В пределе при
N
для обоих вариантов распределение порядков
ов
вершин определяется формулой Пуассона:
где среднее значение порядка
=
для первой модели и
=
N –
для
второй модели
Процесс построения случайного графа заключается в следующем
Вначале генерируется
изолированных вершин К вершинам последова
тельно добавляются ребра, случайным образом соединяющие произ
вольные пары вершин Образуется множество малых компонент графа
Разрастание малых компонент приводит к образованию
гигантского
кластера
связанных вершин, число которых составляет конечную долю
полного числа
Образование гигантского кластера наблюдается только при условии,
что вероятность
связывания вершин, постепенно возрастающая в про
цессе генерации, приобретает значение, превышающее критический
порог В результате произойдет спонтанное образование гигантского
кластера, напоминающее конденсацию капли воды в пересыщенном па
ре Такой процесс имеет ярко выраженный характер
фазового перехода
в результате которого доля связанных вершин, принадлежащих гигант
скому кластеру, определяется выражением:
= 1–
В классическом случайном графе гигантский компонент появляется
при критической плотности ребер

=1 До этого момента компонент име
ет число вершин 
, а после начинает линейно увеличиваться с ростом
N
В классическом случайном графе с фиксированным распределением
Компонентом графа называется совокупность вершин, связанных между собой,
но отдаленная от основной части графа
17
порядка
условие возникновения гигантского кластера определяется
неравенством:
В точке превращения распределения размеров случайного клас
тера, обладающего определенным распределением порядков вершины,
значение спадает по степенному закону с показателем  В окрест
ностях этой точки распределение размеров компонентов также следует
степенному закону, который, однако, обрезается экспонентным хвостом
Такое поведение подобно явлению
перколяции
, где в критическом состо
янии размеры компонентов также распределены по степенному закону
Модель графа Тесный мир

Существует обычно круг ближайших
знакомых персоны, затем люди, знающие ближайших знакомых персоны
но не знающие непосредственно персону и тд и тп В результате возни
кают цепочки, из которых ясно, что любой член общества опосредовано
знаком с любым другим членом общества В этом смысле мир является
тесным и его модель носит название Тесный мир
Компьютерная модель Тесного мира была разработана Уотсом
и Строгацем tt  J, Stotz S  Её построение начинается с
одномерной периодической цепочки, состоящей из
вершин рис18
Сначала каждая вершина соединяется

ребрами с другими вершинами,
где
 –
чётное положительное число Затем с некоторой вероятностью
каждое ребро перебрасывается в произвольную позицию
Компьютерное моделирование показало, что свойства тесного
Регулярный Тесный
мир Случайный
граф граф
=
=1
повышение значения пар
метра
Рис 18 Схема трансформации регулярной цепочки в граф
Тесного мира, а затем в случайный граф Параметр
р
определяется
вероятностью переброса ребер в случайные положения
>
=
18
мира” обладают сети с высокой степенью кластеризации и малой сред
ней длиной пути между узлами Регулярные кристаллические решётки
например, треугольные имеют высокое значение коэффициента клас
теризации и большую среднюю длину пути Классические случайные
сети имеют низкое значение коэффициента кластеризации и небольшую
среднюю длину пути
Сети тесного мира можно рассматривать как суперпозицию
регулярных решёток и классических случайных сетей
, поскольку они
обладают высокой кластеризацией и низким значением средней длины
пути
Сети тесного мира – весьма специфический вид сетевых структур
Свойством тесного мира обладают практически все реальные сети Фор
мально, сети со свойством тесного мира имеют бесконечную размер
ность Реальные сетевые структуры, как правило, имеют и высокий коэф
фициент кластеризации
Модель безмасштабного графа
Распределение числа связей по
закону Пуассона имеет строгий максимум около среднего значения
Однако для многих реальных сетей, например, Интернета и его виртуаль
ного двойника o e e такого среднего значения не существует
В таких сетях небольшое число узлов содержит очень большое число
связей, а огромное число узлов содержит лишь несколько связей Соответ
ствующее вероятностное распределение подчиняется степенному закону

Степенная функция является признаком самоподобия системы,
которая не обладает какимлибо масштабом изменения характерных
величин Поэтому такие графы называются
безмасштабными
, а сети
получили название
безмасштабных сетей
ce fee etok
от
сутствие узла с типичным числом связей в такой сети Отличие таких
графов в том, что классический случайный граф имеет намного более
быстро спадающий хвост 1


, чем безмасштабный
Для безмаштабных сетей
oo
, где
– число узлов в сети
Для случайных классических сетей –
o
 Получены свидетельства
того, что функциональные связи в мозге человека образуют безмасштаб
ные сети Полная сеть содержит до 1 узла
Модель Барабаши  Альберт
Барабаши и Альберт показали, что
для возникновения и эволюции безмасштабных сетей необходимы два
условия:
Вероятность наличия в графе узлов с возрастающим порядком быстрее снижается
в классическом случайном графе, чем в безмасштабном степенном

1 Рост Начиная с небольшого числа узлов, на каждом временном
шаге добавляется один новый узел с
m
 связями, которые соединяют
этот новый узел с различными уже существующими узлами
 Предпочтительное присоединение Pefeec ttchmet Когда
выбираются узлы, к которым присоединяется новый узел, предполага
ется, что вероятность
, с которой новой узел будет соединяться с уже
существующим узлом
, зависит от числа связей, которыми этот узел
уже связан с другими узлами, так что
Безмасштабные сети  это одно из проявлений феноменологии кри
тических явлений в сложных системах, поскольку их структура подчиня
ется степенному закону
1 Перколяция Основные понятия
Существующие методы моделирования сетей ориентированы на
анализ систем с регулярной структурой и не очень приспособлены для
моделирования сетей, имеющих случайную структуру Одним из подхо
дов, который может помочь преодолеть существующие трудности, явля
ется использование теории перколяции
Перколяционные процессы в природе и технологиях
Перколяция является удобной моделью для описания широкого
класса явлений, которые принято называть критическими Техника, раз
витая для теории перколяции, имеет многочисленные приложения в зада
чах о случайных процессах Для описания перколяции рассмотрим при
мер Представим себе большой противень, на котором случайным обра
зом размещены кружочки жидкого теста разного диаметра Затем проти
вень с печеньем помещается в духовку Допускается, что в процессе
выпечки каждая капля теста может расплыться Если два печенья сопри
касаются, то они сливаются и образуется одно печенье И если не следить
за выпечкой, то можно получить одно гигантское печенье, которое будет
занимать значительную часть противня рис 19
Если такое образование простирается от одного края до другого, то
говорится, что оно просачивается перколирует сквозь структуру
Типы перколяций
Наиболее распространенными задачами теории перколяции явля
ются
решёточные
задачи:
задача узлов и задача связей
Представим шах

Рис 19 Путь из перекрывающихся кружков закрашены
соединяет верхнюю и нижнюю стороны противня
матную доску как квадратную решетку Предположим, что каждый квад
рат, или ячейка этой решетки может находиться в двух состояниях:
занято или пусто Квадратная решетка может быть бесконечной
либо с заданным размером, например Ч рис  Закрасим зай
мем часть квадратов черным цветом В нашем случае их , Доля зак
рашенных квадратов составляет
р
N
чёрн
1, Каким образом выби
раются квадратики для закрашивания? Вопервых, можно выбирать ква
дратики случайно и независимо; вовторых, можно ввести какиелибо
правила В первом случае говорят о
случайной перколяции
математики
называют её
перколяцией Бернулли
, во втором –
коррелированной
Занятые ячейки либо изолированы друг от друга, либо образуют
группы занятых ячеек решетки, связанных с ближайшим соседом по сто
роне ячейки рис а,б,в,г Такие группы называют кластерами
Клас
тер
cute – гроздь –
это группа связанных объектов
, состоящая из
ближайших соседей
Простой способ занятия квадратиков ячеек решетки основан на ис
пользовании генератора случайных чисел Вся процедура сводится к то
му, чтобы сгенерировать случайное число, а затем занять ячейку решёт
ки, если случайное число меньше
 Эт
процедура выполняется для каж
а б в г д
Рис  Пример ячеечного перколяционного кластера на квадратной
решётке со стороной
=: а две ближайшие занятые ячейки закрашенные
квадраты в этом случае являются одним кластером; б три занятые ячейки
образуют один кластер; в и г кластер состоит из ти ячеек;
д кластеров нет
1
дой ячейки решетки Если вероятность занятия ячейки мала, то можно
ожидать, что будут присутствовать только небольшие изолированные
кластеры рис1,а Если
1, то ожидается, что большинство занятых
ячеек образуют один большой кластер, который протянется от одной
стороны решетки до другой рис1,г Такой кластер называют
соеди
няющим кластером
 Посмотрим, что произойдет для промежуточных
значений
, например, для
от , до ,6 рис1,б,в
В пределе бесконечной решётки существует вполне определённая
пороговая” вероятность
, такая, что для
сущетсвует один соеди
няющий кластер, или
путь
; для
р
р
с
нет ни одного соединяющего клас
тера и все кластеры
конечны
 Такая модель просачивания называется
яче
ечной перколяцией
Характерной особенностью перколяции является связность Пос
кольку связность обнаруживает качественное изменение при конкрет
ном значении некоторого параметра, который можно менять непрерыв
но, то переход из состояния, не содержащего соединяющий кластер, в
состояние с одним соединяющим кластером представляет собой
фазо
вый переход
Ещё одна модель просачивания
цепная перколяция
 Заменим шах
матную доску квадратной сеткой решеткой, бесконечным регулярным
графом Точки пересечения линий называют узлами вершинами Сами
линии
связями ребрами Простейшей задачей цепной перколяции
является перколяция сквозь Бернуллиевы решётки
Представим себе большую квадратную решётку, составленную из
двух видов стержней: одни сделаны из изолирующего винила, другие –
из электропроводной меди Такая решётка может считаться
решёткой
Бернулли
, если каждый стержень выбран совершенно случайно, неза
=,

=,
=,6
=,8
а б в г
Рис 1 Примеры ячеечных перколяционных кластеров на квадратной
решетке со стороной
= 8 для значений
р
= ,, ,, ,6 и ,8: в среднем доля
занятых ячеек закрашенные квадраты равна
; для значения
р
= ,6
существует кластер, который соединяет стороны решетки в горизонтальном
направлении, но не в вертикальном; при значении
р
= ,8 кластер соединяет
стороны решетки и по вертикали, и по горизонтали

висимо от других стержней, причём вероятность выбора проводящего
стержня равна
 Наибольшие скопления связанных между собой медных
или виниловых стержней образуют, соответственно, медные или винило
вые кластеры Если решётка содержит хотя бы одну непрерывную цепоч
ку медных стержней, электрический ток сможет пройти всю решётку
насквозь, от одного края до другого В таких случаях говорят, что решётка
перколирует Все стержни, находящиеся в неразрывном электрическом
контакте одновременно с верхним и нижним краями решётки образуют
соединяющий
кластер, а стержни, непосредственно участвующие в пере
даче, составляют так называемую магистраль кластера Наиболее рас
пространенными задачами теории перколяции являются решёточные
за
дачи:
задача узлов
и
задача связей
В задаче связей ищут ответ на вопрос: какую долю связей нужно
удалить перерезать, чтобы сетка распалась на две части? В задаче узлов
блокируют узлы удаляют узел, перерезают все входящие в узел связи и
ищут, при какой доле блокированных узлов сетка распадется
Квадратная сетка является только одной из возможных моделей
Можно рассматривать перколяцию на треугольной, шестиугольной сет
ках, деревьях, трёхмерных сетках, например, кубической или в прост
ранстве с размерностью больше , Сетка не обязательно должна быть
регулярной Рассматриваются процессы и на
случайных сетках
Порог перколяции
Теория перколяции позволяет описать процессы самой разной при
роды, когда при плавном изменении одного из параметров системы
концентрации чегото свойства системы меняются скачком Одним из
основных вопросов, на которые пытается ответить теория перколяции:
при какой доле
закрашенных квадратов возникает цепочка черных
квадратов, соединяющая стороны решетки?
Для сетки конечного размера такие цепочки могут возникать при
разных концентрациях рис  и 1 Однако если размер решётки ус
тремить к бесконечности, то критическая концентрация станет вполне
определённой Это строго доказано Такую
критическую концентрацию
называют
порог перколяции
Рассмотрим квадратную решетку со стороной
и присвоим каж
дой ячейке этой решётки случайные числа от нуля до единицы Ячейка
занимается, если присвоенное ей случайное число меньше
 Так порож
дается ячеечная перколяционная конфигурация В вероятностном под
ходе порог перколяции
определяется как такая вероятность
, при
которой появляется первый
бесконечный
соединяющий
кластер
на
бесконечной решётке Для конечной решётки со стороной
, которую

можно промоделировать на компьютере, всегда существует
ненулевая
вероятность того, что будет появляться соединяющий кластер, связываю
щий одну сторону решетки с другой Для малых значений
эта вероят
ность порядка
рL
 По мере увеличения
вероятность появления соединя
ющего кластера стремится к нулю и для достаточно малых значений
будут существовать только конечные кластеры Поскольку правило про
текания необходимо применить для конечной решетки, определим

как среднее значение
, при котором впервые появляется соединяющий
кластер Для конечной решетки определение протекания произвольно и,
следовательно, вычисленное значение
зависит от критерия протекания
Например, можно определить соединяющий путь одним из способов:
он связывает решетку в выбранном направлении в вертикальном либо
в горизонтальном; соединяет решетку в обоих направлениях Все эти пра
вила протекания должны приводить к одному и тому же экстраполиро
ванному значению
при
Кроме квадратной решетки наиболее известной двумерной решёт
кой является
треугольная
 Существенным различием между квадратной
и треугольной решётками является число ближайших соседей
Характеристики перколяционных сетей
Определим, какие основные характеристики вычисляют в перколя
ционных моделях Итак, при перколяции существует порог перколяции
, и появляется соединяющий путь, или кластер, при
c
вероят
ность занятия ячейки Более полную информацию можно получить из
распределения кластеров по размерам, определяемого формулой
=

11
где
полное число ячеек решетки;
– число кластеров размером
При
соединяющий кластер исключается из
По историчес
ким причинам под размером кластера подразумевается число ячеек в
кластере, а не его пространственная протяженность Анализ рис 1,а
показывает, что для проведенного одного испытания
р
= 1, = 6, 16
и 6 для
=1,  и  соответственно и равно нулю в других случаях, по
скольку представляет собой концентрацию занятых ячеек, 
концентра
цию занятых ячеек в кластерах размером
, величина

1
является вероятностью того, что занятый узел, выбранный случайным
образом, принадлежит кластеру размером
 Следовательно, средний раз
мер кластера
определяется как

1
Так, средний размер кластера на примере рис1,а равен
= 71,
Обозначим через
число ячеек в соединяющем кластере, тогда
вероятность того, что случайным образом выбранный занятый узел при
надлежит соединяющему кластеру или иначе эту величину называют
параметром порядка
 выражается отношением

занятых
1
В случае бесконечной решетки 
 =  при
и 
 =1 при
р
= 1
Анализ рис 1, в показывает, что 
= ,6 = 6 для приведённой
конфигурации
Итак, кластер – это цепочка связанных объектов Кластер, соединя
ющий две противоположные стороны системы, называется
соединяю
щим
перколяционным, бесконечным или стягивающим Ниже порога
перколяции имеются только кластеры конечного размера Остов кластера
– токопроводящая часть кластера Мёртвые концы – части кластера,
соединенные с остовом посредством одного узла связи, стороны ячей
ки Мертвые концы составляют большую часть кластера, однако не участ
вуют в проводимости
Красные связи

одиночные связи
, при разрушении которых перко
ляционный кластер перестает проводить ток
Скелет кластера
– объе
динение всех кратчайших путей от данного узла до узлов на заданном
расстоянии
Эластичный остов
– объединение всех кратчайших путей
между двумя данными узлами
Оболочка,
или
внешний периметр
состо
ит из тех узлов кластера, которые соприкасаются с пустыми узлами и
соединены с бесконечностью посредством пустых узлов
Полный пери
метр
включает также пустоты внутри кластера Все эти подструктуры
описываются различными
фрактальными
размерностями, для ряда из
них на сегодняшний день значения получены только путём компьютер
ного моделирования
Критические показатели и масштабная инвариантность
В окрестности порога перколяции поведение системы тесно связано
с наличием больших, но конечных кластеров Более прямой способ наб
людения влияния длины связан с введением характерного линейного
размера или длины корреляции средней длины связности
 Для боль
ших значений
L

возрастающая функция в диапазоне
и убываю
щая для
>
рис 

Качественное поведение функции
соответствует физическому пред
ставлению о кластерах: по мере приближения
к
возрастает вероят
ность того, что два занятых узла находятся в одном кластере Такое качест
венное рассмотрение наталкивает на мысль, что в пределе
сингулярна в критической области

|  1
Другой рассматриваемой величиной является средний размер клас
тера

На конечной решетке не могут происходить истинные фазовые пе
реходы, описываемые расходящимися физическими величинами Вместо
этого
и
достигают конечного максимума при значении
=

Фазовый переход определяется только для бесконечных систем Ис
пользуя терминологию теории фазовых переходов, можно сказать, что
ячеечная и цепная перколяции принадлежат одному классу универсаль
ности и их критические показатели равны
Другой важной идеей в области критических явлений считается су
ществование зависимостей между критическими показателями Задача
определения, казалось бы, относительно простая Однако за редкими
исключениями не удается вычислить аналитически – необходимо
довольно сложное численное моделирование
К задачам, решаемым в рамках теории перколяции и анализа слож
ных сетей относятся такие, как определение предельного уровня проводи
мости пропускной способности, изменения длины пути и его траекто
рии извилистости, параллельности при приближении к предельному
уровню проводимости, количества узлов, которые необходимо удалить,
чтобы нарушить связанность сети
Теория перколяции применима в различных областях науки Термин
перколяция, означающий
протекание
, отражает, соответственно, и воз
р

Рис  Качественная зависимость длины корреляции
ξ
 от
стремление
ξ
к бесконечности в критической области происходит по
степенному закону
6
можность моделирования протекания жидкости, например, воды или
нефти в почвенных средах В физике теория перколяции применяется
при расчёте распространения токов в случайной сетке проводников В
разделе материаловедения теория разрушений она используется для
изучения распространения трещин при деформации материалов В меди
цине теорию перколяции используют для моделирования распростране
ния инфекций при заболеваниях организма
Хорошие перспективы применения имеет эта теория в информати
ке и вычислительной технике Если, например, необходимо оградить гло
бальную сеть от компьютерного вируса, то достаточно, чтобы каждый
отдельный узел этой сети был недоступен для вируса с вероятностью,
хотя бы немного превосходящей критическую вероятность В этом слу
чае сеть в целом будет гарантированно оставаться связной и работоспо
собной Частичные потери функциональности сети например, потери
её суммарной производительности определяются при этом распределе
нием размеров кластеров, поражаемых вирусом
Перколяцию рассматривают и на случайных сетях ЭрдошаРеньи,
УаттсаСтрогатса и тп Так, перколяционный подход использовали ис
следователи из Калифорнийского университета для разработки быстрого
алгоритма маршрутизация в пиринговых сетях по принципу пчелиного
роя Алгоритм использует принцип порога перколяции связей между тес
но связанными узлами в случайным образом сформированных масшта
бируемых сетях, таких как интернет
Для определения критической вероятности в подобных нерегуляр
ных сетях и для установления законов распределения контактных класте
ров требуется проводить статистическое моделирование решёток с
нере
гулярной
структурой
Вопросы и задания
1 Изобразите с помощью графа договорные отношения между пред
приятиями А, Б, В, Г, Д, Е, если к рассматриваемому моменту:
 предприятие А установило договорные отношения со всеми дру
гими предприятиями;
 Б установило с Г и Д;
 В установило со всеми предприятиями, кроме предприятия Е
Сколько вершин и сколько ребер имеет полученный граф?
 Сколько ребер нужно провести чтобы достроить граф, изобра
жённый на рис  до полного?
 Сколько существует путей из вершины А в вершину Д на графе
рис 
 Найдите простые пути на графе рис 
7
Рис  Неполный граф
Рис  Примеры графов
Рис  Ориентированный граф
 Укажите степени вершин графа на рис 
6 Дайте определение изоморфного графа и укажите, какой из гра
фов, изображенных на рис , не является изоморфным с другими
7 Среди графов, изображенных на рис  найдите плоский граф
и дайте ему определение
8 Приведите пример нулевого графа и дайте ему определение
9 Приведите собственный пример несвязного графа и моста на нём
1 Между четырьмя государствами были подписаны двухсторон
ние договорные обязательства Каждый договор был подписан президен
тами обоих договаривающихся государств Сколько всего подписей фигу
8
рировало в договорах, если каждый договор подписывался в двух экзем
плярах? Укажите закономерность, которая позволяет найти число под
писей
11 Определите степени входа и выхода всех вершин ориентирован
ного графа на рис 
1 Дайте определение длины пути и найдите её значение от вершины
Д до всех остальных вершин графа, изображенного на рис 
1 Дайте определения пути и цикла на графе и найдите их, если они
есть на графе рис 

Системы и сети массового обслуживания
Система массового обслуживания
одна из основных моделей, ис
пользуемых инженерамисистемотехниками В терминах
систем массо
вого обслуживания
СМО описываются многие реальные системы: вы
числительные системы, узлы сетей связи, системы посадки самолетов,
магазины, производственные участки
любые системы, где возможны
очереди и или отказы в обслуживании
В вычислительной системе роль обслуживающего прибора играет
ЭВМ, роль заявок
решаемые задачи Источником заявок служат терми
налы пользователей Моментом выдачи заявки является момент нажатия
клавиши для подачи директивы о запуске задачи на решение Операци
онная системы ЭВМ исполняет роль диспетчера: определяет очередность
решения задач В роли ячеек буфера выступают ячейки памяти ЭВМ, хра
нящие сведения о задачах, требующих решения
В системе разгрузки судна другой пример реальной системы, ис
точниками заявок являются направления, откуда прибывают суда Мо
мент выдачи заявки
это момент прибытия судна в зону морского порта
для разгрузкипогрузки Обслуживающим прибором является причал
вместе с персоналом и техническими средствами, организующими разг
рузкупогрузку Роль буфера играет акватория порта
В телекоммуникационной сети в качестве отдельной СМО оказыва
ется коммутатор, в котором источниками заявок являются входящие ка
налы, момент выдачи заявки – поступление на вход порта коммутатора
очередного пакета кадра, обслуживающим прибором оказывается ком
мутационная схема, в роли ячеек буфера выступают накопители портов
Целью использования СМО как модели является анализ качества
функционирования указанных и других системоригиналов, связанных
с распределением илии расчетом того или иного ресурса
Как
модель
СМО рассматривается в теории массового обслужива
ния другое название
теория очередей Теория массового обслужива
ния связана с разработкой и анализом математических, те абстрактных

моделей, которые описывают процесс обслуживания некоторых объ
ектов, поступающих на вход обслуживающего прибора в виде некоторого
потока и образующего в общем случае очередь на входе обслуживаю
щего прибора
Поскольку рассматриваются абстрактные модели, совершенно не
важна природа обслуживаемых объектов и их физические свойства будь
то вызовы, управляющие или информационные кадры в сети связи или
посетители магазина, или детали на автоматической линии и тп Суще
ственным являются моменты появления этих объектов, правила и законы
математические их обслуживания, так как от этих моментов и законов
зависит адекватное отображение эволюции моделируемого объекта во
времени Поэтому, когда говорят о методах анализа очередей, имеют в
виду математические абстрактные модели, а из контекста всегда должно
быть ясно, для исследования какой реальной системы применяются эти
модели
Термин массовое обслуживание предполагает многократную
повторяемость ситуаций много прибывших в систему и обслуженных
заявок, большое число находящихся в эксплуатации аналогичных систем
и статистическую устойчивость картины  Усложнение структур и ре
жимов реальных систем затрудняет применение классических методов
теории массового обслуживания ввиду возрастающей размерности ре
шаемых задач, что особенно характерно для систем с сетевой структурой
Одним из возможных путей преодоления размерности является исполь
зование моделей в форме сетей массового обслуживания СеМО
СеМО представляет собой совокупность конечного числа обслу
живающих узлов, в которой циркулируют заявки, переходящие в соот
ветствии с маршрутной матрицей из одного узла в другой При этом от
дельные СМО отображают функционально самостоятельные части ре
альной системы, связи между СМО связи между этими частям, а требо
вания, циркулирующие по СеМО,
составляющие материальных пото
ков сообщения пакеты в коммуникационной сети, задания в мульти
процессорных системах, контейнеры грузопотоков и тп
СеМО используют для определения важнейших системных харак
теристик информационных систем: производительности; времени дос
тавки пакетов; вероятности потери сообщений и блокировки в узлах;
области допустимых значений нагрузки, при которых обеспечивается
требуемое качество обслуживания и др Наиболее разработана теория
экспоненциальных СеМО Сеть называется экспоненциальной, если вхо
дящие потоки требований в каждую СМО пуассоновские, а времена
каждого этапа обслуживания, реализуемого на любой СМО сети, имеют
экспоненциальное распределение Это позволяет считать, что этапы об
служивания независимы между собой и не зависят ни от параметров

входящего потока, ни от состояния сети, ни от маршрутов следования
требований
Теорию экспоненциальных СеМО широко применяют как для ис
следования сетей передачи данных, так и для исследования мультипро
цессорных вычислительных систем ВС Разработаны практические фор
мы расчета вероятностновременных характеристик ВВХ таких сетей и
систем CеМО
это, прежде всего, совокупность взаимосвязанных сис
тем массового обслуживания Поэтому необходимо вспомнить основ
ные особенности этих систем
1 Система массового обслуживания как модель
Основными элементами системы массового обслуживания являют
ся входной поток заявок, очередь, прибор канал обслуживания
Заявки
требования на обслуживание поступают через постоянные
или случайные интервалы времени
Приборы
каналы служат для обслу
живания этих заявок Обслуживание длится некоторое время, постоянное
или случайное Если в момент поступления заявки все приборы заняты,
заявка помещается в
очередь
буфер и ждёт там начала обслуживания
Если все места в очереди заняты, заявка получает
отказ
в обслуживании
и теряется
Вероятность потери заявки
вероятность отказа
одна из
основных характеристик СМО Другие характеристики:
среднее время
ожидания
начала обслуживания,
средняя длина очереди
,
коэффициент
загрузки прибора
доля времени, в течение которого прибор занят обслу
живанием и тд
В зависимости от объема очереди различают
СМО с отказами
где
нет буфера,
СМО с ожиданием
, где буфер не ограничен например,
очередь в магазин на улице и
СМО
смешанного типа
, где буфер имеет
конечное число заявок В СМО с отказами нет очереди, в СМО с ожи
данием нет потерь заявок, в СМО смешанного типа то и другое возможно
Иногда различают заявки по их
приоритету
, те по важности Заяв
ки высокого приоритета обслуживаются в первую очередь
Абсолютный
приоритет
дает право прервать обслуживание менее важной заявки и
занять её место в приборе или в буфере, если все приборы заняты столь
же важными заявками Вытесненная заявка либо теряется, либо посту
пает в буфер, где ждет дообслуживания Иногда приходится возобновлять
обслуживание вытесненной заявки с начала, а не продолжать с точки
прерывания Если заявка вытеснена из буфера, она, естественно, теря
ется Примером заявки с абсолютным приоритетом является судно, полу
чившее пробоину и нуждающееся в срочной разгрузке В вычислитель
ных системах абсолютным приоритетом обладают команды оператора
Относительный приоритет
дает право первоочередного занятия осво
1
бодившегося прибора Он не дает право на вытеснение заявки из прибора
или буфера Лица, имеющие льготы при обслуживании в кассе, у врача
и тп, как правило, имеют относительный приоритет Абсолютный и отно
сительный приоритеты различаются и моментом действия: абсолютный
реализуется в момент поступления, а относительный  в момент освобож
дения прибора
Различают фиксированные и динамические приоритеты Фикси
рованные приоритеты чаще называют дисциплиной
обслуживания
Дисциплина обслуживания
задает порядок выбора из очереди в
освободившийся прибор заявок одинакового приоритета Выделим сле
дующие дисциплины: FIFO Ft Iut  Ft Outut: первым пришёл
первым обслужен, LIFO Lt Iut  Ft Outut: последним пришёл
первым обслужен, RAN Rom: случайный выбор из очереди В бы
ту обычно действует дисциплина FIFO Дисциплина LIFO реализуется в
буфере, организованном по принципу стека Такая дисциплина может ока
заться целесообразной, например, при передаче информации, если её
ценность быстро падает со временем
В теории массового обслуживания важным является понятие
слу
чайного потока
как некоторой последовательности событий, наступаю
щих в случайные моменты времени
Случайный поток может быть задан
функцией распределения вели
чины промежутка интервала времени между моментами наступления
событий:
j
= t
j
 t
j1
Р
t
Если величины
независимы в совокупности, то поток обладает
ограниченным последействием
В случае
t
 =
t
t
 для всех
j
поток является
рекуррентным
Рекуррентный поток, для которого
t
t
 = 1 e
называется
пуассоновским
Для такого потока вероятность наступления за проме
жуток времени ,
событий есть
=
!e
, а мате
матическое ожидание числа событий, наступивших за время
, λ
, где
λ
среднее число событий, наступающих в единицу времени
Пуассоновский поток характеризуется отсутствием последействия
Если кроме этого выполняются условия
стационарности
ординар
ности,
то пуассоновский поток будет
простейшим
Для стационарного потока распределение не зависит от положения
интервала
τ
на оси времени и зависит только от длительности
τ
Отсутствие
последействия означает независимость числа событий в неперекрываю
щихся интервалах
Свойство ординарности заключается в том, что вероятность появле
ния более одного события на бесконечно малом интервале имеет поряд

ок малости выше, чем вероятность появления одного события на этом
интервале
Величину
в случае пуассоновского потока называют
интенсив
íîñòüþ
потока событий
Если
=
= cot, то поток является регулярным
или детерминированным
Для обозначения типа CО используется система
обозначений,
имеющих вид
Δ|Θ|Ξ|Ω
Здесь
Δ –
обозначение закона распределения
вероятностей для интервалов поступления заявок,
Θ –
обозначение закона
распределения вероятностей для времени обслуживания,
Ξ –
число кана
лов обслуживания,
Ω –
число мест в очереди
Обозначение законов распределения в позициях
Δ
и
Θ
выполняется
обычно буквами из следующего списка:
– экспоненциальное;
– эрланговское порядка
– равномерное;

– детерминированное постоянная величина;
– произвольное любого вида и тд
Если число мест в очереди не ограничено, то позиция
не указы
вается Например,
|
| 1 означает простейшую СМО оба распределения
экспоненциальные, канал обслуживания один, очередь не ограничена
Обозначение
R
|

|  | 1 соответствует СМО с равномерным распре
делением интервалов поступления требований, фиксированным време
нем их обслуживания, двумя каналами и 1 местами в очереди В этой
СМО заявки, приходящие в моменты, когда все места в очереди заняты,
покидают систему те теряются
Если в СМО поступает
потоков заявок у каждого потока свой
приоритет, то
Δ
и
Θ
приписывают число
в виде индекса Например,
|
 | 1 обозначает СМО с двумя потоками заявок, на входе имеющими
экспоненциальное распределение, с экспоненциальным временем об
служивания, своим для каждого потока В системе
 |
| 1 время обслу
живания всех заявок имеет одно и то же распределение В случае несколь
ких входных потоков, имеющих разные приоритеты, необходимо допол
нительно указывать типы приоритетов  абсолютные, относительные
 Экспоненциальная система массового обслуживания
Одноканальная однородная экспоненциальная СМО
Одноканальная экспоненциальная СМО определяется следующими
свойствами СМО имеет канал В СМО приходят
заявки
 Если СМО пустая
нет заявок, то приходящая заявка занимает канал Приходящая в непус
тую СМО заявка становится в очередь последней Любая занявшая канал

заявка обслуживается, освобождает канал и уходит из СМО Если в мо
мент ухода очередь непустая, первая в ней заявка выходит из очереди и
занимает канал Кружком обозначен канал
, тремя прямоугольниками
 очередь рис 6
Стрелки указывают направление движения заявок, точки у стрелок
вход и выход СМО Приходы заявок образуют пуассоновский поток
событий Это означает, что время между приходами любых двух
последовательных заявок есть независимая случайная величина с
экспоненциальной функцией распределения вероятностей:
 = 1  e
VX
1
Параметр
есть интенсивность потока заявок, те среднее число
заявок, приходящих в единицу времени, равно
 В дальнейшем интен
сивность прихода заявок в СМО будем обозначать через
 Время обслу
живания заявки  тоже независимая случайная величина с экспоненци
альной функцией распределения вероятностей вида 1 Но параметр
V
в этом случае имеет другое значение Будем обозначать его через
μ
Величину 1
μ,
равную среднему времени обслуживания заявки, обозна
чим через
обс
В виде одноканальной экспоненциальной СМО можно промодели
ровать, например, периферийное устройство мультипрограммной вы
числительной системы Тогда приходы заявок будут соответствовать обра
щениям программ к устройству для выполнения операции ввода или
вывода информации;
будет интенсивностью таких обращений,
обс
средним временем выполнения требуемой операции Одноканальная
экспоненциальная СМО задается параметрами
,
обс
 Цель её анализа
заключается в расчёте характеристик, важнейшие из которых следующие:

коэффициент загрузки

средняя длина
очереди;

среднее число
заявок в СМО;

среднее время ожидания обслуживания

среднее время
пр
пребывания заявки в СМО 
Коэффициент загрузки рассчитывается по формуле
обс
Рис 6 Одноканальная СМО

ρ = λ
обс

Если выполняется условие:
1,

то существует стационарный режим функционирования СМО В стаци
онарном режиме все вероятностные характеристики системы являются
постоянными во времени величинами Сами происходящие в СМО собы
тия остаются при этом случайными Если  не выполняется, то ста
ционарного режима у СМО не существует
В стационарном режиме среднее число
заявок в СМО постоянно,
поэтому среднее число заявок, приходящих в СМО в единицу времени,
равно среднему числу заявок, в единицу времени, уходящих из СМО
Следовательно, в стационарном режиме интенсивность потока уходящих
заявок равна
 Коэффициент загрузки
в стационарном режиме есть:
а среднее значение той части единицы времени, в течение которой
канал занят;
б вероятность того, что канал занят;
в среднее число заявок в канале
В последующем речь будет идти только о стационарных значениях
характеристик
Средняя длина очереди среднее число заявок в очереди в однока
нальной экспоненциальной СМО рассчитывается по формуле

=
–––– 

1 
Среднее число
заявок в СМО равно сумме среднего числа
заявок в очереди и среднего числа
заявок в канале:

=
–––– 

1 
Заявка перемещается в очереди в среднем с постоянной скоростью
Среднее число переходов заявки в очереди на одно место вперед за
единицу времени равно
 При такой скорости перемещения
переходов
произойдет за время, равное в среднем
ож
=
обс
6
Формула 6 дает среднее время прохождения заявки через
очередь Это есть среднее время ожидания
Среднее время пребывания заявки в СМО есть сумма среднего
времени ожидания и среднего времени обслуживания заявки:

пр
=
обс
7
Вероятность наличия в системе
требований определяется с помо
щью геометрического закона распределения в виде
,
,1,
ρ
1
Характеристики 
7 могут давать ценную информацию
о моделируемой в виде СМО системе Пусть, например, СМО изобра
жает периферийное устройство вычислительной системы Тогда
равен
коэффициенту использования устройства, 1

коэффициенту простоя
Необходимо, чтобы коэффициент использования был достаточно велик
Величина характеризует среднее время, в течение которого программы
ожидают освобождения устройства В это время программы фактически
простаивают” Желательно, чтобы оно было достаточно мало
Многоканальная экспоненциальная СМО отличается от однока
нальной числом каналов, которых в ней более одного Приходящая заявка
становится в очередь, если все каналы заняты В противном случае заявка
занимает свободный канал
Многоканальная экспоненциальная СМО
Многоканальная экспоненциальная СМО задается тремя парамет
рами: интенсивностью
прихода заявок, средним временем обслужива
ния
ож
и числом
каналов рис 7
Формулы для расчёта характеристик многоканальной экспонен
циальной СМО немногим сложнее 
7
Коэффициент загрузки определяется в виде:
обс
8
Его значение должно отвечать условно стационарности 
Средняя длина очереди в блоке ожидания:


обс
обс
9
где
стационарная вероятность того, что в СМО нет заявок Эта веро
ятность определяется в виде:
6


1
обс
обс
обс
K
1
Остальные характеристики вычисляются через параметры СМО
следующим образом:
=

11
ож
=
1
=
ож

обс
1
Многоканальную СМО можно поставить в соответствие, например,
многопроцессорному блоку вычислительной системы, имеющему об
щую память для всех процессоров и, следовательно, общую очередь задач
Формула Полячека–Хинчина
Формула ПолячекаХинчина  для однолинейной СМО
М|
G|1 при
прямой процедуре обслуживания первым пришёл – первым обслужен
с пуассоновским потоком на входе и произвольным характером времени
обслуживания в системе определяет среднее время ожидания обслужи
вания в виде:
ОЖ
1
где
– интенсивность входного простейшего потока заявок;
– среднее
время обслуживания;
=
  – второй момент распределения дли
тельности обслуживания  – дисперсия
Заявка перемещается в очереди в среднем с постоянной скоростью
Среднее число переходов заявки в очереди на одно место вперед за еди
ницу времени равно
 При такой скорости переходов за время
ож
заявка
λ
обс
Рисунок 7 Двухканальная СМО
7
совершит
переходов Это есть средняя длина очереди, те
ож
1
Подставляя в 1 вместо его определение 1, получаем
выражение для средней очереди СМО
|1 в виде:
16
Здесь
=
– коэффициент загрузки СМО
Из 16, в частности, следует, что для модели
|1 экспонен
циальное время обслуживания, когда  =

, для средней длины очереди
справедливо соотношение:
сэ
Формула Полячика–Хинчина широко используется для расчета
характеристик отдельных СМО, но применение этой формулы для ана
лиза сетевых систем затруднено
Системы |М|1 обладают тем свойством, что выходящий поток об
служенных требований в стационарном режиме является пуассонов
ским Сохранение пуассоновости в выходящем из отдельных СМО потоке
облегчает построение и расчёт характеристик аналитических моделей
сетей, представленных в виде стохастических очередей СеМО, посколь
ку при этом условии сохраняется независимость длительностей пребыва
ния требований в различных узлах моделей сетевых систем
Системы |G|1 не гарантируют сохранение пуассоновости в выходя
щем потоке Отсутствие независимости длительностей пребывания тре
бований в различных узлах моделей сетевых систем с нестандартными
дисциплинами приводит к значительным трудностям при анализе моде
лей сетевых систем
Так, например, при достаточно реалистическом
предположении о том, что длина требования остается постоянной в
процессе его передачи через узлы сети что характерно для сетей с
пакетной коммутацией, необходимо прослеживать путь каждого тре
бования, что делает невозмож
ным аналитический расчет характеристики
для сети с числом узлов
> 
Аналитический анализ допускают
экспоненциальные СеМО
 Экспоненциальные сети массового обслуживания
Сеть массового обслуживания
представляет собой совокупность
конечного числа
обслуживающих узлов, в которой циркулируют заяв
8
ки, переходящие в соответствии с маршрутной матрицей из одного узла
в другой Для наглядного представления СеМО используется граф, вер
шины которого узлы соответствуют отдельным СМО, а дуги отобража
ют связи между СМО узлами
Переход заявок между узлами происходит мгновенно в соответствии
с переходными вероятностями:
,N
,j
j

где
j
вероятность того, что заявка после обслуживания в узле
перей
дет в узел
 Естественно, если узлы непосредственно не связаны между
собой, то
j
= 
Если из

го узла переход только в один какойлибо узел
, то
j
= 
Таким образом, экспоненциальной будем называть СеМО, отвечаю
щую требованиям:

входные потоки в СеМО пуассоновские;

во всех N СМО время обслуживания заявок имеет экспоненциаль
ную функцию распределения вероятностей и заявки обслуживаются в
порядке прихода;

переход заявки с выхода
й СМО на вход
й является независи
мым случайным событием, имеющим вероятность
,N
,j
j

где
о
вероятность ухода заявки из CeМО
Если заявки приходят в сеть и уходят из неё, то сеть называется
ра
зомкнутой
 Если заявки не приходят в сеть и из неё не уходят, сеть называ
ется
замкнутой
 Число заявок в замкнутой сети постоянное
Свойства разомкнутой экспоненциальной СеМО
В разомкнутой СеМО входным потоком заявок СМО будем называть
поток заявок, приходящих на вход отдельной СМО из внешней среды
сети, те не с выхода какойлибо СМО В общем случае число входных
потоков СеМО равно числу СМО
В экспоненциальной СеМО поток заявок на входе отдельной СМО
складывается из входного потока возможно, имеющего нулевую интен
сивность и из потоков, поступающих с выходов некоторых других СМO
Характеристики СМО отвечают формулам   1 Поэтому для
их расчёта в заданной СеМО достаточно найти интенсивности
,,
входных потоков СМО Нахождение интенсивностей
,,
осущест
вляется на основе уравнений баланса сети с учётом простых свойств сли
яния и разветвления потоков При слиянии
потоков заявок с интенсив

ностями
,,
образуется поток, имеющий интенсивность
λ = λ
,,
При ветвлении потока с интенсивностью
на
направлений, вероятности
перехода заявки в которые равны
,,
, образуется
потоков c интен
сивностями
,,
соответственно
В стационарной СеМО среднее число заявок в любой её фиксиро
ванной части постоянное Отсюда следует, что суммарная интенсивность
входящих в эту часть потоков равна суммарной интенсивности выходя
щих Запись данного закона в математической форме называется
урав
нением баланса
 Выделяя различные части в СеМО и составляя для них
уравнения баланса, можно получить систему уравнений, связывающую
неизвестные интенсивности
,,
c известными
,,
 Обычно при
этом в качестве отдельных частей СеМО выделяют все СМО В этом слу
чае для
неизвестных имеется
уравнений Можно добавить к ним ура
внение баланса для входных и выходных потоков всей СеМО Тогда полу
чится
1 уравнение, и одно из них можно использовать в качестве про
верочного
Разомкнутая экспоненциальная СеМО задается следующими пара
метрами:
1 числом
СМО;
 числом
,,
каналов в СМО 1,  ,
 матрицей
= ||

j
|| вероятностей передач,
= 1,,
;
=,,
 интенсивностями
,,
входных потоков заявок;
 средними временами обслуживания
обс1
, ,
обс1
заявок в СМО
Например, СеМО рис
8
 будет задана численно в следующем виде:
а
=;

=1;
=1;
=;
c






= 1;
= ;
= ;
e
обс1
= ,7;
обс
= ,6;
обс
= ,
Баланс интенсивностей в сети можно учесть, обозначая интенсив
ности на входах и выходах СМО и СеМО так, как показано на рис 8
Применяя свойства слияния и ветвления потоков, запишем, что
=


=
1
17
=
=

обс1
обс
обс
1
1
1
Рис 8 Разомкнутая экспоненциальная СеМО
При известных
= 1,
= ,1;
= ,;
= , из последних трёх
уравнений находим
= 1,
= ,
=  Используя первое уравнение в
17 для проверки, подставляем в него найденные значения интенсив
ностей и получаем тождество 1 =
   , подтверждающее правильность
произведённых вычислений
Далее выполняем проверку стационарности СеМО СеМО стацио
нарна, если стационарны все СМО, те если
18
Проверить эти условия после того, как определены,
, не предста
вляет труда Условие 18 выполняется, поскольку
= 
обс1
= 1
¸ ,7 = ,7
= 
обс
= 
¸ ,6 = ,
= 
обс
= 
¸ , = ,7
Для стационарной экспоненциальной СеМО с известными интен
сивностями
j
расчёт локальных характеристик сводится к применению
формул   1
Находим, что с
= ,7
;
= 1,6
= ,
ож1
= ,16
пр1
= ,;
= ,
;
= ,1;
= ,;
ож
= ,6;
пр
= ,86; с
= ,7;
= ,176;
= ,;
= 1,8;
ож
= ,1;
пр
= ,
С помощью такой СеМО можно промоделировать, например, вы
числительную систему Тогда входные потоки заявок СеМО будут изобра
жать запросы, поступающие на вход вычислительной системы, отдельные
СМО будут соответствовать этапам их обработки на устройствах про
цессорах, периферийных устройствах и др, выходные заявки СеМО 
результатам обработки запросов
1
Расчёт системных характеристик разомкнутых СеМО
Характеристики СеМО определяются обычно на уровне средних
значений и делятся на локальные и системные К
локальным
характерис
тикам СеМО относятся характеристики всех входящих в нее CМО
Сис
темные
характеристики отражают свойства сети в целом, рассматри
ваемой как единая, неделимая на части система
Наиболее важными системными характеристиками СеМО являются:
1
Среднее время
пр
пребывания в сети
Временем пребывания в
сети называется время между приходом заявки в сеть и её уходом из сети

Передаточные коэффициенты
j
1,

Пусть заявка вхо
дит
в сеть из

го входного потока Её маршрут в сети случаен, поэтому слу
чай
но и число приходов в
ю СМО за время пребывания в сети Среднее зна
чение
j
этого числа приходов называют передаточным коэффициентом
Он однозначно определяется для любых
j
, матрицей
вероятностей передач

Входовые средние времена
,,
пребывания в сети Величина
определяется как среднее время пребывания в сети заявки, поступаю
щей из
j
 го входного потока 


Условные пропускные способности
,,
 Предположим, что
в заданной СеМО значение интенсивности
заменено на максимальное
значение, при котором сеть ещё стационарна Это значение
будем на
зывать условной пропускной способностью по входу
При заданных
j
 сеть стационарна для любых значений

Абсолютные пропускные способности
 Предположим, что в
заданной СеМО интенсивности всех входных потоков, кроме
го, заме
нены на нулевые, а
заменена на предельное значение, при котором
сеть ещё стационарна Это значение
будем называть абсолютной про
пускной способностью по
му входу
Если
>A
, то сеть нестационарна, каковы бы ни были интенсив
ности остальных входных потоков
6
Запасы
,,
по пропускным способностям Запас
=

1,
 Запас
показывает, насколько может быть увеличена интенсив
ность прихода заявок на
м входе при заданных остальных без наруше
ния условия стационарности
Если в виде СеМО моделируется некоторая реальная система, то
названные характеристики могут дать ценную информацию о свойствах
этой реальной системы Например, если СеМО изображает вычислитель
ную систему реального времени, то среднее время пребывания характе
ризует среднее время ответа системы, а запасы
выражают готовность
системы продолжать устойчивое функционирование при увеличении
нагрузки интенсивности запросов по тому или иному входу

Среднее время пребывания
заявки в СеМО рассчитывается по
следующей формуле
пр
пр
19
где
=
 ,,
 I
 передаточные коэффициенты
Важное и полезное свойство передаточных коэффициентов состоит
в следующем В стационарном режиме при любых
 ,,
 I
для
,,
справедливо

11
1


1
NN


Обратим внимание на то, что строка передаточных коэффициентов
в  представляет собой столбец матрицы ||

j
|| Система  вы
ражает интенсивности
прихода заявок в СМО через интенсивности
входных потоков сети
Приведём алгоритм вычисления матрицы ||

j
||
1 Составить уравнения баланса сети, включающие интенсивности
,
в буквенном виде,
 Положить
k
= 
 Решить уравнения баланса для случая, когда
= 1, остальные
= 
Полученные значения
,,
записать в
ю строку матрицы переда
точных коэффициентов
 Положить
k
k

 Если
k
N
, перейти к , иначе к 6
6 Конец
Входовое среднее время пребывания
Рассмотрим СеМО на рис
8 и проследим, как формируется входовое время пребывания в сети
заявки первого потока Это время состоит из двух слагаемых Первое
слагаемое есть среднее время пребывания в СМО –
пр1
 Второе слага
емое включает составляющие: с вероятностью
равной нулю заявка
уходит из сети, с вероятностью
1
равной вхо
довому времени пребыва
ния для входа  заявка входит в сеть через СМО 
и с вероятностью

входовому времени пребывания для входа  Итак, в среднем второе сла
гаемое составляет
¸  

=

величину В целом
среднее входовое время пребывания
равно сумме средних значений
первого и второго слагаемых:


1
1
пр1
1
Рассуждая аналогично о входовых средних временах пребывания
и
можно записать для них сходные с 1 уравнения, которые
вместе с 1 составят следующую систему уравнений:

пр
пр
1
1
пр1

Развернутая форма условия стационарности
Условие стационар
ности СеМО запишем в виде:
1,

1,
Эта запись эквивалентна следующей:
1,
Выражая
через
по формуле , получим развернутую фор
му условия стационарности:
11

1

1

NN


Эта система неравенств эквивалентна 
Абсолютная пропускная способность
Используя развернутую
форму условий стационарности, абсолютную пропускную способность
по
му входу можно найти непосредственно по её определению Дей
ствительно, если все входные интенсивности СеМО, кроме
, положить
равными нулю, то из  получим, что для стационарности
необходимо условие:
обсN
обс
обс1




N

Это условие удобно переписать так:







обс
обс
обс1
N

Из определения
вытекает, что эта величина равна максимальному
из значений
, отвечающих  Следовательно,
равно наименьшей
из правых частей в 
Условная пропускная способность
Условная пропускная способ
ность, как и абсолютная, может быть найдена из  Для нахождения
в  следует подставить заданные значения всех входных
интенсивностей СеМО, кроме
 Затем полученная система разрешается
относительно
в виде:

и
находится как наименьшая из правых частой в  Если условие
стационарности СеМО содержит в себе лишь одно неравенство, как на
рис 8, то нахождение
упрощается
Запасы по пропускным способностям
Формула для вычисления
запасов
дана непосредственно в их определении Рассмотрим пример
анализа СеМО
Определим системные характеристики для СеМО на рис
8
Среднее время пребывания
заявки в СеМО:
6

86

1
пр
пр
c
Передаточные коэффициенты
Значения коэффициентов
j
од
нозначно определяются матрицей
вероятностей передач Из 
вытекает, что при
=
= ,
= 1 имеет место

11
1
Это позволяет найти строку коэффициентов
матрицы ||

j
|| путём
решения уравнений баланса сети для случая найденные значения
,,
будут численно равны коэффициентам
11
,,
 Аналогично для
случая, когда
= 1, остальные
= , решение уравнений баланса даст
значения
,,
kN
Найдем матрицу ||

j
|| для CeМO на рис 8, составим уравнения
баланса:
1
1
1
Решим эти уравнения для
=1,
= Получим
=1,
=,
=
Для
=1,
= решением будет
=1,
=6,
= и для
=1,
=
решением будет
=1,
=,
=
Следовательно, матрица ||
j
|| этой СеМО имеет вид:
1  
1 6 
1  
Входовое среднее время пребывания

Из системы  при
известных

пр
найденных при расчёте схе
мы на рис 8 нетрудно
найти
= ,6,
= ,6,
= ,1
Развернутая форма условия стационарности
 Для конкретных
СеМО некоторые из неравенств системы  оказываются излишними:
такие неравенства можно исключать из системы, не изменяя решения
Для рассматриваемой СеМО условие  примет вид:
1
 1

 1
1,7

 6
 
1,6

 
 
,
или, после сокращения на положительные коэффициенты,


17
 1,


1 
6

 1,
17
6
В этой системе второе неравенство вытекает из первого сравните
их, предварительно умножив первое на 1, Поэтому второе неравенство
может быть отброшено Кроме того, первое неравенство вытекает из
третьего, поэтому его тоже можно отбросить Следовательно, условие
стационарности 6 эквивалентно следующему:


 1,
17
7
Абсолютная пропускная способность
 Для СеМО на рис 8
нахождение
несколько упрощается благодаря тому, что условие
стационарности сети 7 содержит лишь одно неравенство Так,
полагая
=
=  для
из 7 получим
1  7, откуда
= 1 7
Аналогично вычисляются
= 17 и
= 87 Вполне естественно, что
найденные значения совпадают с максимальными значениями для
показанными в правых частях уравнений 6
Условная пропускная способность
Условную вероятность для рас
сматриваемой СеМО найд
м из 7:
= 17,
= 7,
= 1
Запасы по пропускным способностям
Запасы составляют
=1
71= 7,
= 7  =7,
= 1
 =1
Схема расчёта замкнутой СеМО
Итерационный метод анализа 1 средних значений характеристик
замкнутых СеМО ЗСеМО позволяет определять такие практически важ
ные показатели функционирования, как средние длины очередей и вре
мена ожиданий пребываний в СеМО, производительности сети и загруз
ки её узлов и тд
В ЗСеМО циркулирует конечное число заданий Узел
такой ЗСеМО
представляет собой обслуживающий прибор возможно, многоканаль
ный с экспоненциальным распределением времени обслуживания и
очередь заявок, ожидающих обслуживания Дисциплина обслуживания
первым пришел  первым обслужен” такова, что обслуживающий при
бор не простаивает при наличии хотя бы одной заявки в очереди После
обработки заявки в узле
она с вероятностью
j
j
=1, где
 общее число узлов в ЗСеМО
переходит на обслуживание в другой узел
 Общее число заявок по всей
сети постоянно и равно
Решающим в анализе средних значений является вычисление сред
него времени задержки в узле
,
=1,,
, ЗСеМО Рассмотрим момент,
когда заявка поступает в эту систему Средняя задержка, которую испы
7
тывает заявка, состоит из времени t
её обслуживания и времени обслу
живания заявок, ожидавших перед ним в очереди, включая заявку, нахо
дившуюся на обслуживании
Среднее время задержки пребывания заявки в
м узле при нали
чии в сети
j
заявок связано со средним числом ожидающих при наличии
в сети 
j 
1 заявок соотношением 1:
пр
где
 , по определению, есть среднее число заявок в узле
при наличии
в сети
заявок;
число обслуживающих приборов в
м узле
Данное равенство имеет в точности желаемую рекуррентную фор
му Применительно ко всей ЗСеМО эта форма выглядит следующим об
разом Обозначим:
 сеть содержит
узлов;

п
пр
вектор средних времен пребывания заявок
в СМО сети при наличии в сети
v
заявок;
обс
среднее время обслуживания заявок в
k
й СМО, ;


среднее число заявок в
k
СМО при наличии в сети
заявок;
число обслуживающих приборов в
й СМО;
среднее время пребывания заявок в СеМО при наличии в
сети
заявок
Для
и
рассчитывается среднее время пребывания в
й СМО при наличии в сети
v
заявок

п
обс
8
Среднее время пребывания заявок в замкнутой СеМО при наличии
в сети
v
заявок
пр
пр
e
;
9
пр


1
8
Величина

пропускная способность ЗСМО при наличии в ней
заявок
Вектор
является решением системы линейных урав
нений уравнений баланса для замкнутой сети:

eP

которая определяет стационарное распределение цепи Маркова, управ
ляющей переходами заявок в ЗСеМО, с матрицей вероятностей переходов:

j
,
где
j
= Система  решается при дополнительном ограничении
Выполнение процедуры 8  1 начинается с
v
= 1,
= 
для
Вычисления увеличение
v
на 1 ведутся до тех пор, пока ЗСеМО не
войдет в состояние насыщения
Критерий признак насыщения:


 1 


где ,9 
e
 1 – численное значение критерия насыщения
Значение , удовлетворяющее , принимается за пропускную
способность производительность замкнутой СеМО
Характер зависимости

 1 

приведён на рис9:
1
11
1
,9
,8
,7
,6
,
Рис 9 Характеристика процесса насыщения

Рекуррентная численная процедура 8  1 расчёта замк
нутых сетей массового обслуживания широко используется для расчёта
производительности многомодульных систем, например, коммутаторов
в корпоративных сетях
Вопросы и задания
1 Какие объекты называют СМО? Перечислите характеристики
СМО
 Какой характер имеет зависимость характеристик
М
,
,
пр
от
в одноканальной экспоненциальной СМО?
 Подстановка
= 1 в 8 – 1 должна дать формулы для
расчёта характеристик одноканальной СМО Проверьте, так ли это
 Что такое экспоненциальная СеМО?
 Что такое уравнения баланса и для чего они применяются?
6 В чём состоят особенности моделирования многоканальных и
многофазовых СМО?
7 По каким признакам различают СМО? Какова структура описа
ния СМО?
8 Возможно ли улучшение характеристик СМО и какое?
9 Что составляет предмет исследования СМО?
1 Перечислите системные характеристики СеМО
11 Объясните, в чем физический смысл характеристики запасы
по пропускным способностям
1 Объясните, в чём физический смысл характеристики условная
пропускная способность”
1 Предположим, что все входные потоки некоторой СеМО, кроме
го и го, имеют нулевые интенсивности
=  и требуется найти харак
теристики
B
A

, для
= , Необходимо ли для этого вычислить всю
ìàòèöó

j

передаточных коэффициентов или достаточно иметь её 
и ю строки? Если достаточно, то как по ним найти требуемые характе
ристики?

 АЛГ
ОРИТ
МЫ МО
ДЕ
ЛИР
ОВ
АНИЯ СИСТЕМ И СЕТЕЙ
ТЕЛЕКОММУНИКАЦИЙ
1 Имитационное моделирование систем
Имитационное моделирование ИМ
это метод исследования, кото
рый основан на том, что анализируемая динамическая система заменяет
ся имитатором и с ним производятся эксперименты для получения об
изучаемой системе новых сведений Роль имитатора зачастую выполняет
программа ЭВМ Имитационные модели связаны не с аналитическим
представлением, а с принципом динамической имитации с помощью
информационных и программных средств сложных процессов и систем
Модель системы при ИМ представляет собой совокупность моде
лей элементов и их функциональные взаимосвязи Модель элемента аг
регата, обслуживающего прибора  это, в первую очередь, набор правил
алгоритмов поведения устройства по отношению к входным воздейст
виям и правил изменений состояний элемента Элемент отображает функ
циональное устройство на том или ином уровне детализации В простей
шем случае устройство может находиться в работоспособном состоянии
или в состоянии отказа В работоспособном состоянии устройство мо
жет быть занято, например, выполнением определенной операции или
быть свободным
При имитационном моделировании стохастических систем опреде
ляющими являются два аспекта: построение моделирующего алгоритма
и разыгрывание случайных факторов, обуславливающих возможные сос
тояния системы
Моделирующий алгоритм обеспечивает воспроизведение во време
ни процесса смены состояний системы, те строит траектории процесса
функционирования системы Функционирование системы представля
ется как хронологическая последовательность событий Продвижение
системного времени реализуется посредством программирования симу
лятора – движителя, который воспроизводит во времени движение
смену состояний объекта моделирования Для разыгрывания случайных
факторов применяется метод статистических испытаний метод Монте
Карло, особенности которого рассматриваются в следующем разделе
11 Основные понятия имитационного моделирования
Устройство
средство
элемент имитационной модели, который
позволяет провести имитацию процесса обслуживания Простые одно
канальные имитационные модели обслуживают одновременно одну
заявку; сложные многоканальные позволяют одновременно обслужи
вать несколько заявок
1
Заявка
инициирует начало какоголибо процесса в системе Заявка
характеризуется внутренней структурой: одиночная или групповая груп
па однотипных заявок Генератор заявок реализует законы их поступле
ния в систему В соответствии с законом поступления заявки бывают:
детерминированные время поступления заявки в систему четко опреде
лено и вероятностные используется нормальное, равномерное, экспо
ненциальное и др виды распределений
Очередь
– элемент модели, который включает заявки, которые по
каким либо причинам не могут быть обслужены Очереди ставятся перед
каждым устройством, на входе системы, на выходе, либо в точках, кото
рые являются потенциальными узкими местами в системе, либо в
этой точке необходимо провести дополнительное накопление результата
Процесс
– последовательность событий и работ, описывающая
поведение во времени какоголибо объекта в моделируемой системе
Простые процессы характеризуются последовательным характером
выполнения, минимальным количеством типов заявок и условий ини
циации процесса и обслуживания заявок, наличием простых устройств
в обслуживании; сложные процессы описываются большим количест
вом типов заявок, имеют сложные условия развития и инициации, ис
пользуют сложные, многофазные устройства
Для описания процесса необходимо знать:
1 Заявки, которые с ним связаны;
 Характер их поступления в систему условия инициации самого
процесса;
 Устройства, которые связаны с обслуживанием в рамках данного
процесса;
 Планграфик выполнения работ или задач в рамках данного процесса;
 Условия связи с другими процессами;
6 Критерий оценки эффективности
События
– связаны с изменением состояния системы и её объек
тов События обеспечивают прерывистость процесса Процесс представ
ляется из набора активностей и пассивностей Начало каждой активности
связано с возникновением события в системе
Работа
действие, происходящее в моделируемой системе в тече
ние определенного промежутка времени Работа начинается и заканчива
ется событиями
Системное время
 Механизмы учёта системного времени:
1Время изменяется равномерно с определенной дискретностью;
Скачкообразное изменение времени в соответствии с возникно
вением событий Список будущих событий – каждое событие имеет харак
теристику времени возникновения

Управляющая программа
монитор просматривает список буду
щих событий и извлекает событие, которое находится в вершине, произ
водит:

запуск на выполнения данного события;

изменение значения счетчика времени
Случайные факторы в моделировании
 Источники появления слу
чайных факторов могут быть внешними и внутренними Для моделирова
ния случайных факторов необходимо знать закон, по которому изменя
ются случайные факторы Данный закон обычно задается при помощи
соответствующих теоретических либо эмпирических функций распреде
ления При этом необходимо использовать генераторы псевдослучайных
чисел для имитации случайности тех или иных событий
Задачи
– представляют собой любую активность – элемент процесса
1 Построение моделирующего алгоритма
При разработке имитационной модели и планирования проведения
модельных экспериментов различают модельное системное время и
машинное время Машинное время отражает затраты времени ЭВМ на
проведение имитации Системное время соответствует реальному време
ни С помощью механизма системного времени отображается переход
моделируемой системы из одного состояния в другое, производится син
хронизация работы компонентов модели и квазипараллельная реализа
ция событий, которые в реальной системе возникают протекают одно
временно Опишем, как моделируется система в общем случае
В памяти ЭВМ отводится несколько ячеек для переменных, харак
теризующих состояние системы в целом и отдельных её элементов Со
держимое этих ячеек изменяется в соответствии с алгоритмом моделиро
вания так, как это происходит в реальной системе при её функциониро
вании Отдельная ячейка содержит текущее
системное время
, указыва
ющее, к какому моменту времени относится состояние системы, запи
санное в памяти ЭВМ Содержимое указанных ячеек памяти меняется
путем циклического повторения
основной
части алгоритма моделирова
ния, называемой
шагом
циклом
имитации
За один шаг осуществляется
переход к следующему значению системного времени, те

продвижение
по времени
 Попутно изменяется значение переменных, характеризую
щих состояние системы Таким образом, шаг за шагом имитируется
сме
на состояний системы
, те моделируется процесс функционирования
системы
Рассмотрим
принципы продвижения по времени
Принцип
t
Первая мысль
увеличивать системное время за один
шаг на постоянную величину
 Это
так называемый
принцип
 При

использовании этого принципа возникает проблема выбора длины
интервала
 Как правило, алгоритм шага рассчитан на имитацию одного
события: поступления заявки, завершения фазы обслуживания и тп
Событие
это любое изменение в системе Все изменения, связанные
друг с другом причинноследственными связями и происходящие в один
и тот же момент времени, обычно рассматриваются как одно событие
Допустим, поступила заявка При этом увеличилось число заявок в сис
теме Если эта заявка сразу поступила на обслуживание, то изменилось
состояние прибора и количество занятых приборов Все это – одно собы
тие, поступление заявки
Возможно, что за время
в системе например, СМО произойдет
несколько событий в разные моменты В таком случае алгоритм, рас
считанный на имитацию одного события за один шаг, неправильно отра
зит изменения, произошедшие в системе Чтобы избежать это есть два
пути Первый путь
разработка алгоритма шага, рассчитанного на ими
тацию нескольких событий Этот путь приводит к значительному услож
нению алгоритма Другой путь
использование столь малого интервала
, что за это время практически не происходит более одного события
Этот путь приводит к резкому увеличению затрат машинного времени,
так как с уменьшением
соответственно возрастает число шагов, кото
рое надо выполнить, чтобы имитировать процесс на заданном отрезке
времени При малом
большинство шагов окажутся пустыми, так как
события будут происходить лишь на некоторых интервалах
, а на прочих
интервалах состояния СМО будет сохраняться таким же, как на соседних
интервалах
Принцип особых моментов
 Последнее замечание наводит на мысль,
что целесообразно проскакивать за один шаг весь промежуток времени
между соседними событиями и тем самым избегать пустых шагов Это
принцип особых моментов
 Особым моментом принято называть такой
момент времени, когда в системе происходит какоелибо изменение,
иначе говоря, происходит событие За один шаг осуществляется продви
жение по времени на случайный отрезок: от одного особого момента до
другого Рис 1 демонстрирует способы представления и управления
временем в обоих случаях
Примем следующие соглашения:

пусть время – частично упорядоченное множество
=
,
,,
;

пусть существует множество событий
,

= 1,  ;

все происходящие в модели события фиксируются в календаре
событий, обозначим его
событий
 Календарь – это список элементов
где каждый элемент
представляет собой пару 
,
 По оси времени
отложена одна и та же последовательность событий
 Как видно, два

события
и
появляются одновременно Стрелки указывают на точки,
в которых происходит приращение времени на один такт, и моменты
наступления очередных событий в обеих моделях В модели, исполь
зующей принцип особого состояния, имитируемое время при измене
нии сдвигается вперед точно на момент наступления самого раннего из
последующих событий, а в модели, использующей принцип постоянного
шага, имитируемое время сдвинется ровно на фиксирован
ное значение
 Управляющая программа симулятор в модели на рис 1
,а продвигает
время с постоянным шагом
и фиксирует в календаре событий состоя
ние, в котором находится исследуемый объект Симулятор на рис 1,б
продвигает время до ближайшего следующего события и в календаре
фиксирует само событие и время, когда оно произошло – это и будет но
вое состояние, в котором находится исследуемый объект до тех пор, по
ка не произойдет новое событие
Чтобы ЭВМ могла вычислить очередной особый момент, исполь
зуется так называемый
календарь
Календарь, или расписание предсто
ящих событий
это группа ячеек памяти, где для каждого типа события
указан ближайший момент, когда такое событие произойдет Имея кален
дарь, нетрудно определить очередной особый момент Это наименьший
из моментов, записанных в календаре
Чтобы заполнить календарь и в дальнейшем корректировать его со
держимое, осуществляется
планирование событий
Допустим, в теку
щий момент поступила заявка и сразу была взята на обслуживание пер
вым прибором, так как он оказался свободным Закон распределения вре
мени обслуживания задан наряду с другими данными Обратившись к
специальной подпрограмме 
датчику случайных чисел
ЭВМ генери
е









событий
,

б














событий
,
,
Рис 1 Течение модельного времени с постоянным шагом а
и по особымсостояниям б
а

рует случайное время обслуживания в соответствии с указанным законом
распределения Прибавив это время к текущему моменту, ЭВМ вычисля
ет момент, когда освободится первый прибор, и заносит это число в ячей
ку календаря, отведенную для первого прибора Аналогично заполня
ются другие ячейки календаря
При моделировании СМО целью является определение характерис
тик качества функционирования СМО, например, вероятности потери
заявки, или других величин: коэффициента загрузки прибора, средней
длины очереди и тп Эти характеристики и вычисляются по окончании
имитации на основе
статистик,
накопленных в процессе имитации
Примеры статистик:
количество поступивших заявок,
количест
во потерянных заявок,
суммарное время занятости прибора На ос
новании этих статистик можно вычислить оценки искомых характеристик:
вероятности потери заявки
ПОТ
=
З
и коэффициента загрузки одного
прибора
ЗП
=
СЗ
, где
длина реализации, те длительность ими
тированного процесса Операторы, осуществляющие
пополнение ста
тистик
, входят в состав алгоритма шага
Основная часть алгоритма имитации представляет собой цикличес
кое повторение шагов имитации до тех пор, пока не будет выполнено
усло
вие остановки
 Остановка производится после выполнения заданного
числа шагов или достижения заданного значения системного времени дли
ны реализации Чем длиннее реализация, тем точнее оценки искомых ха
рактеристик
Рассмотрим организацию цикла на примере моделирования СМО с
отказами рис  Предполагается получить оценку вероятности потери
заявки вероятности отказа путем воспроизведения на ЭВМ достаточно
длинного отрезка реализации
Два способа оценивания вероятности потери заявки: по заявкам
ОТК
=
ОТ
; по времени
ОТК
=
, где
ОТ
– количество заявок, по
чивших отказ;
– общее количество заявок, поступивших в систему;

суммарное время, когда прибор находится в занятом состоянии;
– общее время моделирования
обс
Рис  Поток заявок, состояние СМО
6
состояние системы:
Z
= 
свободен,
Z
= 1
занят;
интервал между
заявками;
ОБС
время обслуживания заявки;
момент поступления
заявки;
ОСВ
момент освобождения прибора канала обслуживания;
текущий момент
Цикл, организованный по принципу
рис Перед началом
цикла в памяти хранится:
, если
Z
= ;
oсв
, если
=1 Время измеряется
числом тактов
Цикл, организованный по принципу особых моментов
рис 
Особый момент: поступает заявка, закончено обслуживание заявки осво
бождение прибора К началу цикла в памяти хранится:
– послед
ний
особый момент;
– момент поступления очередной заявки;
ОСВ
– мо
мент
освобождения прибора, следующий за
, если в момент
система за
нята Начинается цикл с того, что последний особый момент рассматри
вается как предыдущий и определяется очередной особый момент В каж
дом конкретном случае принцип продвижения времени выбирается
ет
=
1
1=
11
=
1
1:=
обс
от
:=
от
да
обс
:=
обс
обс
:=
ет
ачало
ет
св
Рис  Цикл, организованный по принципу
7
разработчиком в зависимости от характера системы, которую необходи
мо моделировать Принцип
предпочтительнее, если события появля
ются более менее регулярно и распределены во времени относительно
равномерно Принцип особых моментов позволяет экономить машинное
время, когда существенные события могут длительное время не насту
пать; не требует определения величины приращения времени; эффекти
вен при неравномерном распределении событий во времени
Парадоксы времени
Алгоритм управления временем должен следить за тем, чтобы со
бытия выполнялись в хронологическом порядке Эта задача не является
тривиальной Действительно,
логический
процесс заранее не может знать
о том, на какое время будет запланировано событие, которое он получает
от другого логического процесса
Z=
ет
=

1=
1
осв
от
:=
от
ачало
ет
:=
1=
1
обс
обс
:=
обс
:=
1:=
обс
Конец
Рис  Цикл, организованный по принципу особых моментов
8
Рассмотрим пример Пусть модель представляет собой совокупно
сть трёх процессов Один процесс отображает поведение покупателя, вто
рой – магазина, в котором покупатель совершает покупки, а третий про
цесс – деятельность банка, со счёта которого покупатель снимает деньги
Предположим, что покупатель приобрёл товары в магазине на опреде
лённую сумму
в кредит событие
, произошло в момент времени
= 9
 Магазин уведомил об этом банк 
= 1
 Сумма на счё
те уменьшается:
=

 Покупатель посещает банк с целью снять
деньги со счёта 
=11
 Если денег на счёте достаточно, то банк
выдаёт клиенту которым является покупатель запрошенную им сумму
Если счёт меньше запрошенной суммы, то покупателю будет отказано
Хронологический порядок событий:
,
,
представлен на рис 
Рассмотрим ситуацию, когда уведомление в банк из магазина посту
пит позже того, как покупатель снимет сумму с вклада в банке которой
уже нет на счёте, и банк понесёт убытки Ситуация, которая обрисована
выше, возникла вследствие того, что хронология событий была нарушена
рис 6
Нарушение хронологического порядка могло произойти по той при
чине, что в распределённом моделировании время для разных логических
процессов движется с разной скоростью Например, если процесс, реали
зующий работу магазина, выполняется на загруженном процессоре, то
уведомление банку поступает позже, поскольку процесс банка убежал
вперёд он выполняется на менее загруженном процессоре
Имитационный алгоритм должен уметь бороться с такими парадок
сами времени В этом заключается проблема синхронизации компонен
тов имитационного моделирования Было предпринято множество попы
ток решить эту проблему В настоящее время все алгоритмы синхрониза
Покупатель
Магазин
Банк

= 9,


= 1,

= 11,
Покупатель
приходит в
газин
Магазин уведомл
ет
банк о кредите
его
кл
та
Покупатель он же клиент
приходит в банк, чтобы снять
сумму денег со счета
Рис  Банк получает сообщения в хронологическом порядке
6
Покупат
ель
Магазин
Банк







t
= 9,





= 11,

= 1,
Покупатель
приходит в
магазин
Магазин уведо
мляет
банк о кредите его
клиента
Покупатель он же
клиент приходит в
банк, чтобы снять
сумму д
нег со счета
Рис 6 Хронологический порядок событий нарушен
ции делятся на консервативные и оптимистические Консервативный ал
горитм не позволит логическому процессу обрабатывать событие с опре
делённой временной отметкой, пока не убедится, что другой логический
процесс не запланировал событие с меньшей временной меткой Опти
мистический алгоритм позволяет выбирать из списка необработанных
событий очередное событие и обрабатывать его, исключив проверку со
бытий, планируемых другими логическими процессами Однако отдель
ный программный механизм реализует обнаружение ошибок и восста
новление от ошибок выполнения событий, которые происходят не в хро
нологическом порядке
1 Схемы построения моделирующего алгоритма
Наряду со схемой событий большое распространение получила и
схема процессов Сформулируем необходимые понятия: событие, рабо
та, процесс и др
Событие
это изменение в системе, относящееся к какомуто мо
менту времени Применительно к модели
это скачкообразное измене
ние одной или нескольких дискретных величин либо достижение непре
рывно изменяющейся величиной заданной границы Примеры событий:
поступление заявки, освобождение прибора, наступление срока хране
ния скоропортящегося продукта
Работа
действие, происходящее в моделируемой системе в тече
ние определенного промежутка времени Примеры: подготовка заявки,
обслуживание заявки в приборе Время, требующееся для работы, может
быть случайной величиной, но к моменту имитации работы случайная
величина должна получить конкретное значение с помощью датчика
случайных чисел Работа начинается и заканчивается событиями
6
В моделируемой системе событие происходит мгновенно, а работа
требует времени системного В имитационной модели картина обрат
ная: на имитацию события затрачивается некоторое машинное время, а
имитация работы практически не требует машинного времени, так как
имитируется не сама работа, а завершающее её событие
Как правило, для начала работы требуется наличие определенных
условий Например, чтобы начать кирпичную кладку, требуются кир
пичи, раствор и рабочийкаменщик При моделировании дискретных про
цессов в качестве условий чаще всего рассматривается наличие ресурсов
Например, чтобы начать обслуживание заявки, требуется наличие сво
бодного прибора Ресурс можно понимать как оборудование, необходи
мое для выполнения работы станок, прибор, но это может быть и работ
ник Для ресурса характерно, что он занимается в момент начала работы
или заранее и освобождается в момент ее окончания
Процесс
последовательность событий и работ, описывающая пове
дение во времени какоголибо объекта в моделируемой системе Приве
дём три примера
Процесс генерирование заявок источником”:

подготовка заявки работа;

выдача заявки событие
Процесс прохождение заявки”:

занятие прибора событие;

обслуживание заявки в приборе работа;

освобождение прибора событие
Процесс обработка детали на станке”:

занятие рабочего событие;

занятие станка событие;

обработка детали работа;

освобождение станка событие;

контрольные измерения работа;

освобождение рабочего событие
Каждая работа или событие
это
фаза процесса
 Имитация процесса
на ЭВМ производится по фазам Фаза имитируется без прерывания, но
по окончании имитации фазы возможно прерывание и переход к имита
ции другого процесса
Опираясь на введенные понятия, рассмотрим основные черты схе
мы событий и схемы процессов, их положительные и отрицательные
стороны
При моделировании по схеме событий
понятия работы и процесса
не используются Выделяется несколько событий так, чтобы они исключа
ли друг друга и в совокупности охватывали все возможные изменения в
системе Это напоминает разбиение множества элементарных событий
61
на непересекающиеся подмножества события в теории вероятностей
с той разницей, что событие  это не только подмножество элементарных
событий, но и причинноследственные связи между элементарными со
бытиями Например, при моделировании СМО событие поступление
заявки” охватывает несколько элементарных событий: выдача заявки
источником, занятие прибора, начало обслуживания, потеря заявки в
случае отсутствия свободного прибора Видно, что элементарные собы
тия взаимосвязаны; если не удастся занять прибор, то обслуживание не
начнется, а произойдет потеря заявки В алгоритме имитации отражаются
не все элементарные события, а только те, без которых невозможно пост
роение реализации, обеспечивающее нахождение искомых характеристик
Основная трудность при разработке модели по схеме событий

выделение типов событий и составление алгоритмов для каждого типа
так, чтобы не упустить какихто нужных элементарных событий и правиль
но учесть взаимосвязи
Каждому типу события соответствует блок
в алгоритме имитации, а каждому событию  определенное место в
календаре
 Алгоритм шага состоит в выяснении типа очередного собы
тия с помощью календаря и выполнении тех блоков алгоритма, которые
соответствуют этому типу события
При моделировании по схеме процессов
за основу берётся понятие
процесса Процесс отражает поведение одного объекта источника, заяв
ки, детали,
рыси, зайца
и тп, а объектов в системе много Поэтому
па
раллельно
развиваются несколько процессов Их имитация производится
поочередно на одном процессоре Если бы процессы были независимы,
можно было бы имитировать до конца один процесс, а потом переходить
к имитации другого процесса Однако процессы пользуются общими
ресурсами Если очередная фаза процесса состоит в занятии ресурса, а
свободного ресурса нет, процесс приостанавливается и ждёт освобож
дения ресурса При этом ЭВМ переходит к имитации другого процесса
Таким образом, ЭВМ поочередно продвигает процессы на одну или
несколько фаз, учитывая их взаимодействие во времени и в использо
вании общих ресурсов
Продвижение процессов по системному времени можно осущест
влять по принципу
или по принципу особых моментов Будем придер
живаться принципа особых моментов: какому процессу отводится место
в календаре, где указывается, с какой фазы надо начать или продолжить
имитацию процесса и к какому моменту системного времени это собы
тие относится
Процессы могут быть постоянными те развиваться бесконечно
долго и временными
Временный процесс
создается в некоторый момент
времени, существует какоето время, после чего ликвидируется Одна из
фаз процесса может представлять собой создание нового процесса В свя
6
зи с существованием временных процессов количество заполненных
мест в календаре оказывается переменным Признаком свободного места
в календаре может быть нуль в ячейке, отведенной для обозначения мет
ки очередной фазы процесса Если число одновременно существующих
временных процессов не имеет ограничения сверху, число мест в кален
даре отводится с большим запасом, а в случае переполнения календаря
должно выдаваться соответствующее сообщение При создании процесса
отыскивается свободное место в календаре и номер этого места стано
вится номером процесса После ликвидации процесса его место в кален
даре освобождается
За один шаг
основной цикл в алгоритме производится поочерёд
ный просмотр всех процессов и имитация тех из них, для которых созрели
условия, в частности, наступило время исполнения очередной фазы В хо
де имитации очередной фазы процесса может освободиться ресурс,
которого не хватало для имитации ранее просмотренных процессов Кро
ме того, может быть создан процесс и помещен на свободное место в
календаре под меньшим номером, чем текущий процесс В обоих случаях
требуется повторный просмотр процессов в рамках того же шага Для
организации повторного просмотра удобно использовать
флаг
двоич
ную переменную Этой переменной перед началом просмотра присваи
вается значение единицы подъём” флага Освобождение ресурса или
создание нового процесса влечет за собой сброс” флага в нуль Заверше
ние шага и переход к следующему шагу производится только если флаг
остался поднятым
Отметим теперь, что
термин процесс” имеет два разных смысла:
процесс как алгоритм и процесс как структура данных
 Процесс как
алгоритм относится ко всему множеству процессов одинакового типа, а
процесс как структура данных описывает конкретного представителя
этого множества Например, процесс генерирование заявок
м источ
ником” может отражаться следующими величинами их часто называют
атрибутами
процесса:

номер источника 

емкость источника максимальное число заявок в нем;

приоритет, присвоенный заявками этого источника;

среднее время подготовки заявки источником;
среднее время обслуживания заявки этого источника в приборе;

число заявок в источнике в данный момент;

предстоящий момент выдачи очередной заявки;

метка очередной фазы процесса
Первые пять величин постоянны но у каждого источника имеются
свои значения, остальные три меняются в ходе имитации Две последние
 компоненты календаря, эта совокупность данных занимает определён
6
ную группу ячеек в памяти ЭВМ Номер этой группы  это номер процес
са О требуемом количестве групп можно сказать то же, что сказано вы
ше о требуемом числе мест в календаре и о возможности переполнения
Процесс генерирование заявок источником”, понимаемый как ал
горитм, существует в виде части программы моделирования Когда эта
часть программы выполняется, она использует значения атрибутов для
конкретного источника Создание процесса  это заполнение группы
ячеек атрибутами этого процесса Имитация процесса сопровождается
изменением переменных атрибутов Ликвидация процесса означает ос
вобождение группы ячеек, занятых атрибутами
Чтобы различать указанные два смысла, можно поступить двояко
Первый путь: термин процесс оставить за алгоритмом, а структуру дан
ных называть экземпляром процесса Второй путь:
термин процесс
применять к структуре данных, а алгоритм называть классом про
цессов
В языках моделирования применяется и другие термины, но
они не использует слово процесс, которое желательно сохранить
Часть программы, управляющая динамикой модели, те последо
вательностью выполнения отдельных блоков программы в процессе ими
тации, носит название
монитор
 Рассматриваемые схемы построения
моделирующего алгоритма схема событий и схема процессов имеют
существенные различия, но принцип построения монитора у них оди
наковый  повелительный
Повелительный
императивный принцип
состоит в том, что для предстоящих событий заранее определяется время
их наступления оно записываются в календарь и события имитируются,
когда приходит их время Календарь как бы предписывает, в какие мо
менты должны происходить события, в каком порядке их имитировать 
отсюда и название принципа События, которые запланированы на один
и тот же момент времени, могут имитироваться в любом порядке То об
стоятельство, что при использовании принципа процессов некоторые
события забегают вперед”, не меняет сути монитора: в пределах одного
процесса последовательность событий не нарушается, а её нарушение
между событиями носит временный характер сначала один процесс за
бегает вперед, потом другой Главное  для всех событий указано время,
когда они должны произойти
С целью дополнительного пояснения заметим, что повелительный
принцип ассоциируется с синхронными процессами Синхронные про
цессы управляются внешними часами: события в них происходят в зара
нее заданные моменты времени
Сопоставим
схему событий и схему процессов
, так как их можно
считать конкурирующими Схема событий более стройна: события не
пересекаются, за один шаг имитируется одно событие, события имитиру
ются в хронологическом порядке, алгоритм шага делится на этапы с чёт
6
ким функциональным назначением имитация события, пополнение ста
тистик, планирование новых событий Однако в сложных ситуациях до
вольно трудно сформировать перечень типов событий и правильно раз
работать соответствующие им части алгоритма С этой точки зрения схе
ма процессов удобнее, так как не требует при разработке алгоритма
учитывать сразу все, что может происходить в системе, а допускает раз
дельную разработку отдельных процессов Особенно упрощается разра
ботка имитационных моделей при использовании универсальной систе
мы моделирования, когда пользователю требуется только описать после
довательность событий и работ в процессах, а учёт взаимодействия про
цессов, сбор статистики, управление порядком имитации процессов бе
рёт на себя система моделирования Схема процессов не позволяет выде
лить функционально различные части алгоритма: пополнение статистик
и планирование событий исследуют с операциями смены состояний в
рамках одной фазы процесса Это чревато упущениями при разработке
алгоритма Подводя итоги, можно оказать, что на этапе начального обу
чения моделирование и при моделировании простых систем целесооб
разно применять схему событий, а при моделировании сложных систем
с использованием универсальных средств предпочтительнее схема про
цессов Для повышения эффективности моделирующих алгоритмов при
меняются семафоры и списковые структуры данных
1 Семафоры и связные списки
Семафоры являются удобным механизмом разделения общих ре
сурсов
Семафор
это целочисленная переменная, характеризующая
текущее состояние группового ресурса, например, группы одинаковых
приборов Если значение этой переменной неотрицательное, оно пока
зывает количество свободных приборов, а если отрицательное, то без
учёта минуса это будет количество процессов, стоящих в очереди к дан
ному групповому ресурсу
С семафорами производятся две операции, обычно обозначаемые
как
и
 Операция
производится, когда какойто процесс пытается
занять ресурс Состоит эта операция в вычитании единицы из семафора,
что как раз отражает результат попытки Действительно, если имелся
свободный прибор, то он был занят, и потому число оставшихся свобод
ных приборов должно быть уменьшено на единицу Если же свободных
приборов нет, процесс становится в очередь и вычитание единицы из
семафора как раз отражает удлинение очереди Операция
, напротив,
состоит в прибавлении единицы к семафору Она производится при ос
вобождении прибора элемента группового ресурса и отражает либо
уменьшение очереди, либо увеличение числа свободных приборов Ана
6
лизируя содержимое семафоров, можно определять, по какой ветви ал
горитма следует направить выполнение программы Отсюда и термин
семафор
Для организации календаря и всякого рода очередей полезно приме
нять
связные списки
рис 7
Список состоит из элементов, содержащих какуюто информацию,
например, данные о процессе Элемент имеет номер, или адрес, по кото
рому его можно разыскать в памяти ЭВМ Связный список отличается
от простого списка тем, что каждый его элемент помимо основной инфор
мации, составляющей содержание элемента, имеет
ссылку на следующий
элемент
, те адрес следующего элемента Элементы как бы связаны в
цепочку, причём соседние элементы этой цепочки могут быть располо
жены далеко друг от друга, те иметь существенно различные адреса
Связный список снабжается
головным элементом
, который состоит
только из ссылки на первый элемент списка Последний элемент на месте
ссылки содержит признак конца списка, например нуль Удобство приме
нения связных списков в том, что для удаления элемента из списка, вклю
чения нового элемента или перестановки элементов достаточно изменить
некоторые ссылки, основная же информация остается на месте без из
менения
Рассмотрим, как организуется календарь процессов с помощью связ
ного списка В рассмотренном выше календаре каждый процесс имел
номер, обозначенный
, и содержал две величины:
 и
 Следова
тельно, календарь был представлен двумя массивами:
и
каждый
длиной
 Это был простой список Чтобы получить связный список, до
Ад

Информ
ция
Ад

Информ
ция
Ад

Информ
ция
Сп
сок
Головной
эл
мент
Элементы списка
ссылка на следующий элемент
Ад
адрес элемента
Рис 7 Кольцевая очередь
66
бавим для ссылок массив
той же длины и ячейку
для головного
элемента Свяжем процессы по принципу возрастания запланирован
ного момента активизации Тогда
будет содержать номер процесса с
наименьшим значением
 Допустим,

7
 Тогда
=,
=
=7,
=
7= и тд
Выясним, что даёт связный список по сравнению с ранее рассмот
ренной организацией календаря в виде простого списка Вопервых, те
перь не надо просматривать подряд элементы календаря, чтобы найти
те процессы, момент активизации которых совпадает с текущим момен
том
, так как, если такие есть, то они занимают первые места в цепочке
Вовторых, чтобы найти
, не надо искать минимальный элемент
это

Но за преимущества всегда надо чемто платить Это не только допол
нительные затраты памяти на массив
, но и дополнительные операции
Если раньше для создания нового процесса достаточно было отыскать
номер свободной группы
Jv
и написать параметры нового процесса в
Jv
 и
Jv
, то теперь надо еще вставить новый процесс на определенное
место в цепочку Для этого надо отыскать такой номер
, что

Jv
, после чего проделать следующие операции со ссылками:
Jv
:=
;
:=
Jv
При ликвидации процесса с номером
помимо обычной операции
:= потребуется операция со ссылкой
:=
, где
номер
процесса, стоящего в цепочке перед процессом
 Для нахождения
потребуется просмотреть цепочку от начала до элемента
 Чтобы избе
жать этого просмотра, можно применить
двусвязный список
 В нём име
ется еще один массив, который содержит ссылки на предыдущий элемент
цепочки
1 Алгоритмы обслуживания очередей
Чаще всего применяют следующие алгоритмы управления обслу
живания очередями:

FIFO;

приоритетное обслуживание
,
которое называют также подав
ляющим;

взвешенное обслуживание
Традиционный алгоритм FIFO
 Достоинство
простота реализа
ции и отсутствие необходимости конфигурирования Недостаток
невоз
можность дифференцированной обработки заявок различных потоков
Приоритетное обслуживание Poty Queu
 Сначала необ
ходимо решить отдельную задачу
разбить общий входной поток устрой
ства на классы приоритеты Признак, по которому производят разбивку
67
на классы, помещают в поле приоритета рис 8 Затем требование по
мещается в очередь, соответствующую заданному приоритетному классу
Рассмотрим пример с четырьмя приоритетными очередями: высо
кий, средний, нормальный и низкий приоритет Здесь очереди имеют
абсолютный приоритет — пока не обработаны пакеты из очереди более
высокого приоритета не производится переход к более низкоприоритет
ной очереди
При моделировании можно:

выделить одинаковое количество буферов для всех очередей;

на основе анализа трафика поступлений установить нужный раз
мер для каждой из очередей
Недостаток: если высока интенсивность высокоприоритетного тра
фика, обслуживание низкоприоритетного трафика может совсем не про
изводиться
Этот метод можно, например, использовать при моделировании
сети, если в качестве высокоприоритетного будет выбран голосовой тра
фик IP  телефония Это связано с тем, что его интенсивность невелика
обычно 16 Кбитс
Если же в сети в качестве высокоприоритетного выбран видеотра
фик, остальным потокам может и не достаться пропускной способности
Взвешенные настраиваемые очереди ehte Queu
Здесь
делается попытка предоставить всем классам определенный минимум
пропускной способности, те обслуживания, и гарантировать некоторые
требования к задержкам
Под весом для каждого класса понимается про
цент предоставляемой классу пропускной способности от полной выход
ной пропускной способности Алгоритм, используемый администрато
ром для назначения весов, называется настраиваемой очередью рис9
Очереди обслуживаются циклически и в каждом цикле обслужива
ния из каждой очереди выбирается такой объем нагрузки, который соот
ветствует весу этой очереди Например, цикл = 1 с, скорость выходного
Классифик
тор
Входной
трафик
Высокий приоритет
Средн
ий приоритет
Нормальный
Низ
кий
Обработк
Вы
ходная очередь
ходной
трафик
Рис 8 Приоритетное обслуживание
68
интерфейса = 1 Мбитс В каждом цикле из очередей выбираются сле
дующие объёмы данных: 1
1 Мбит, 
1 Мбит, 
 Мбит, 
 Мбит,

 Мбит Здесь, как и в приоритетном обслуживании, можно назначать
различные длины очередям Тем самым появляется возможность сгла
живания нагрузки
Вопросы и задания
1 В чем особенность имитационного моделирования?
 Какие виды времен учитываются при разработке имитационной
модели?
 Объясните суть метода постоянного шага отсчета системного
времени
 В чем особенность принципа особых моментов?
 Почему принцип особых моментов предпочтительнее принципа
6 Что такое календарь и зачем он нужен?
7 Как осуществляется первоначальное заполнение и последующая
корректировка календаря?
8 В состав алгоритма шага цикла входят следующие части: опреде
ление момента очередного события, изменение состояния системы в
целом имитация события, планирование событий корректировка ка
лендаря Что ещё добавить в указанный перечень?
9 Когда возникают парадоксы времени в имитационном моделирова
нии и какие пути существуют для того, чтобы они не возникали?
1 Перечислите этапы процесса имитации
11 Перечислим отличия схемы событий СC от схемы процессов СП
СС: в календаре отведены места для событий СП: в календаре от
ведены места для процессов
СС: в календаре для каждого события одна величина момент со
бытия
Классифик
тор
Входной
трафик
,1
,1
,
,
Обработк
Вы
ходная очередь
ходной
трафик
,
Рис 9 Взвешенные настраиваемые очереди
7
СП: в календаре для каждого процесса две величины момент ак
тивизации и метка фазы
СС: за один шаг имитируется одно событие СП: за один шаг имити
руется одна или несколько фаз одного или нескольких процессов
СС: все объекты существуют постоянно СП: возможны времен
ные объекты
Продолжите этот перечень
1 В чем состоят преимущества и недостатки схемы процессов по
сравнению со схемой событий?
1 Составьте программу моделирования СМО по схеме процессов,
реализующую приведенный алгоритм Убедитесь, что она дает те же сред
ние значения искомых характеристик, что и программа, построенная по
схеме событий
1 Измените алгоритм моделирования СМО так, чтобы он учитывал
возможность существования неограниченной очереди к приборам поте
рянных заявок не будет При этом используйте семафор
1 Сравните по быстродействию три способа организации календаря:
простой список, связный список, двусвязный список
 Статистическое моделирование
Статистическое моделирование – это метод решения вероятностных
и детерминированных задач, основанный на эффективном использова
нии случайных чисел и законов теории вероятностей Статистическое
моделирование эксплуатирует способность современных компьютеров
порождать и обрабатывать за короткие промежутки времени огромное
количество случайных чисел
Подавая последовательность случайных чисел на вход исследуемой
функции или модели, на её выходе получают преобразованную последо
вательность случайных величин –
выборку
 При правильной организации
подобного статистического эксперимента выборка содержит ценную
информацию об исследуемой функции или модели, которую трудно
или практически невозможно получить другими способами Информа
ция извлекается из выборки методами математической статистики – раз
дела теории вероятностей
Метод статистического моделирования синоним этого названия –
метод МонтеКарло позволяет, таким образом, опираясь на строгие зако
ны теории вероятностей, свести широкий класс сложных задач к относи
тельно простым арифметикологическим преобразованиям выборок
Поэтому такой метод получил весьма широкое распространение В част
ности, он почти всегда используется при имитационном моделировании
реальных сложных систем
7
1 Концепция статистического моделирования
В основе статистического моделирования лежит процедура, приме
няемая для моделирования случайных величин и функций и носящая
название метода статистических испытаний метод МонтеКарло
Общая схема метода МонтеКарло может быть записана в виде


1
Результат ищется как математическое ожидание некоторой случай
ной величины
, которая чаще всего является неслучайной функцией
случайной величины
, имеющей распределение
 Случайная вели
чина
имеет распределение
 и запись
 означает, что для неп
рерывной случайной величины плотность вероятности равна
; для
дискретной случайной величины функцию
 надо понимать как функ
цию вероятности Для случайной дискретной величины интеграл 1
заменяется суммой

, в которой суммирование осуществляется
по всем возможным значениям
 Функция
 может иметь несколько ар
гументов, те зависеть от нескольких случайных величин В таком случае
запись 1 остается в силе, только интеграл надо считать многомер
ным,
рассматривать как вектор, а
 – как многомерную плотность
или функцию вероятности Приближенная оценка неизвестного мате
матического ожидания, совпадающая с искомым результатом, находится
как среднее арифметическое результатов независимых опытов Это отра
жено в правой части 1 По закону больших чисел среднее арифмети
ческое сходится к математическому ожиданию
В каждом опыте разыгрывается реализация
случайной величины
в
м опыте реализация
 в соответствии с распределением
 и
вычисляется значение функции в виде
 Индекс
подчеркивает, что
для каждой 
й реализации процесса аргументы, составляющие вектор
, имеют свои случайные значения Вычисленное очередное значение
добавляется к накапливаемой сумме

 На этом заканчивается
очередной опыт После того как проведено М опытов, вычисляется итого
вая оценка в виде правой части выражения 1
Опыты повторяются до тех пор, пока дисперсия оценки
не сни
зится до требуемой величины, зависящей от допустимой погрешности
и коэффициента доверия
Проиллюстрируем суть метода МонтеКарло следующим примером
Пример
: оценка надежности системы
71
Пусть требуется оценить надежность системы, структура которой
представлена на рис 1
Система выполняет свою функцию, если работают цепочки блоков:
1,,,7; 1,,,7; 1,,6,7 Каждый блок характеризуется временем безотказ
ной работы
,
=
1,7
Пусть заданы плотности распределения
,
=
1,7
Какието блоки могут отказать Какова надежность системы в целом? В
качестве критерия оценим среднее время безотказной работы данной
системы Рассмотрим случайную величину
= m
t
, m m 
,
, m m 
,
,,

где
время безотказной работы системы
Применим метод статистических испытаний В отдельном опыте
разыгрываются значения всех
,
=
1,7
в соответствии с
,
=
1,7

Ис
пользуя полученные реализации
,
=
1,7
, по формуле  вычисляем
отдельную реализацию
 Один опыт дает одну реализацию одно выбо
рочное значение
 Проводим
опытов испытаний, получаем
статистический материал выборку Берём среднее арифметическое
времени безотказной работы системы в качестве оценки надежности
системы При необходимости можно построить закон распределения
вероятностей случайной величины
в виде соответствующей гисто
граммы
Таким образом, испытания реальной системы заменены испытания
ми математической модели Каждое испытание сопровождается рас
чётом Поэтому имитационное моделирование и называют численным
экспериментом на ЭВМ с математической моделью модель выступает
как объект исследования При реализации испытания возможны и логи
ческие операции И расчетные, и логические операции реализуются на
ЭВМ с помощью соответствующих алгоритмов, которые в совокупности
и составляют моделирующий алгоритм
Рис 1 Блочная структура системы
7
Моделирующий алгоритм обеспечивает построение траекторий
смены состояний системы во времени, а воспроизведение случайных
факторов, определяющих эти состояния, конструируется с использова
нием заданных законов случайных событий и величин Значения произ
вольных случайных величин реализуются преобразованиями значений
базовой случайной величины БСВ
 Моделирование случайных факторов
Случайными факторами называют случайное событие, случайную
величину, случайный процесс и вообще любые объекты, случайный вы
бор которых определяется соответствующими вероятностями Под реа
лизацией случайного фактора понимают сам акт случайного выбора од
ного такого объекта из заданного множества, наделённого вероятностной
мерой
Построение модели любого случайного фактора сводится к подхо
дящему функциональному преобразованию базовых случайных величин
 При моделировании случайных факторов исходят из того, что имею
щийся в распоряжении датчик БСВ идеален, т е значения
на его выходе
равномерно распределённые 
 R,1 и независимые Это позволяет
конструировать модели разнообразных случайных факторов и устанав
ливать их свойства, опираясь только на положения теории вероятностей
и не прибегая к громоздким процедурам статистического тестирования
В целях наглядности представления результатов будем модели слу
чайных факторов иллюстрировать некоторыми примерами простой ста
тистической обработки выборок, получаемых с помощью этих моделей
Построение и тестирование датчиков БСВ
Базовой случайной величиной БСВ в статистическом моделирова
нии называют непрерывную случайную величину
, равномерно распре
деленную на интервале 
t
1 Её плотность распределения вероят
ностей п р в задаётся формулой:
f
=

t
1

Математическое ожидание м о
 и дисперсия
 базовой слу
чайной величины
имеют следующие значения:
 = 1 и

 = 11
Нетрудно определить и начальный момент
го порядка:
= 1 

 1,
= 1, , 
БСВ моделируются на ЭВМ с помощью программных датчиков
Датчик БСВ – это программа, выдающая по запросу одно случайное
значение БСВ  Путём многократного обращения к датчику БСВ получают
выборку независимых случайных значений
,
,
,  ,
7
Программный датчик БСВ обычно вычисляет значения
,
,
, 
по какойлибо рекуррентной формуле вида:

1
=

при заданном стартовом значении
Заданное значение
полностью определяет посредством формулы
 всю последовательность
,
,
,  , поэтому величину
z
на выходе
датчика
БСВ
называют
псевдослучайной
величиной В практическом
применении датчиков БСВ статистические свойства псевдослучайной
последовательности чисел в широких пределах идентичны свойствам
чисто случайной последовательности
Программные датчики БСВ обладают, по сравнению с аппаратными
датчиками, следующими достоинствами:
– простотой создания датчиков;
– простотой применения;
– простотой тиражирования датчиков;
– надёжностью;
– быстродействием;
– компактностью;
– высокой точностью достижения необходимых статистических
свойств, сравнимой с точностью представления вещественных чисел;
– возможностью повторного воспроизведения, когда это нужно,
любой последовательности случайных значений без их предварительного
запоминания
Путём преобразования БСВ можно получать модельные реализации
многих других случайных объектов, включая любые непрерывные или
дискретные случайные величины как простые, так и многомерные,
случайные события, случайные процессы, графы, схемы и т д Поэтому
БСВ
называют
базовой
случайной величиной
Для построения программно реализуемых датчиков широко исполь
зуется конгруэнтный метод Так называемый мультипликативный конг
руэнтный датчик БСВ однозначно задаётся двумя параметрами:
модулем
и
множителем
 Обычно эти параметры представляют собой дос
таточно большие целые числа При заданных
,
псевдослучайные числа
вычисляются мультипликативным конгруэнтным датчиком по рекур
рентной формуле:
= 

 mo
,
= 1, , 

=
где
– модуль,
k
– множитель,
– начальное значение, mo – операция
вычисления остатка от деления произведения 
kЧA

 на
 Заметим,
что вычисление остатка от деления эквивалентно выбору младшей циф
ры частного в системе счисления с основанием
7
Датчик  даёт
периодическую
псевдослучайную последователь
ность
,
,  с длиной периода
–1 Чтобы длина периода
была
максимальной, модуль
берут близким к максимальному представи
мому в компьютере целому числу
Для упрощения операций деления и вычисления остатков в двоич
ных ЭВМ часто берут
= 
 Рекомендуется также брать достаточно
большой множитель
, причем взаимно простой с
Заметим, что не существует рекомендаций, гарантирующих высо
кое качество датчиков до того, как будет проведено их специальное тес
тирование Обозначим равномерное распределение вероятностей на ин
тервале , 1 через
,1 и утверждение, что БСВ
имеет распределение
,1, кратко запишем в виде

,1
С помощью статистических тестов проверяют два свойства датчика
БСВ, делающих его точной моделью идеальной математической БСВ:
вопервых, проверяют
равномерность
распределения
чисел, выдаваемых
датчиком на интервале , 1, и, вовторых, их
статистическую
незави
симость
 При этом последовательность
псевдослучайных чисел
на
выходе датчика рассматривают как статистическую выборку
Проверка равномерности распределения БСВ сводится к построе
нию эмпирических вероятностных характеристик моментов и распреде
лений случайной величины св
по выборке
,
,
,  ,
и их срав
нению с теоретическими характеристиками равномерного распределе
ния
,1 В силу закона больших чисел с ростом длины выборки
эм
пирические характеристики должны приближаться к теоретическим При
этом, поскольку компьютер позволяет легко получать выборки весьма
большой длины, такое сближение эмпирических и теоретических харак
теристик можно наблюдать непосредственно, без использования специ
альных статистических тестов
Простейшую проверку статистической независимости БСВ можно
осуществить, оценивая линейную корреляцию между числами
и

отстоящими друг от друга в псевдослучайной последовательности на фик
сированный шаг
1 Тогда во всей выборке
,
,  ,
имеем следую
щие 
 реализаций пары
,,
По этим реализациям можно рассчитать оценку
коэффициента
корреляции для значений БСВ по формуле
1
7
Коэффициент корреляции двух случайных величин св характери
зует степень линейной зависимости между ними Поэтому с ростом
длины выборки
оценка должна приближаться к нулю Если это выпол
няется, то тест на
линейную
зависимость можно считать успешно прой
денным
Как явная дискретность БСВ
, так и явная их функциональная зави
симость каждое следующее значение БСВ однозначно определяется пре
дыдущим
=
km
¸
1
mo
 логически несовместимы с требова
ниями непрерывности и независимости, но на практике это имеет огра
ниченное значение В то же время, это замечание о противоречивом ха
рактере требований к датчикам БСВ указывает на необходимость приме
нения только тех датчиков БСВ, которые разработаны и тщательно вывере
ны компьютерными математикамипрофессионалами
В настоящее время, как правило, любые языки программирования
и пакеты моделирования содержат встроенные датчики БСВ и необходи
мость в самостоятельной разработке или тестировании датчиков возни
кает редко
Моделирование случайных событий
Случайные события бывают различного типа: простыми и сложны
ми, совместными и несовместными, зависимыми и независимыми Слу
чайные величины – дискретными и непрерывными Поэтому моделиро
вание случайных событий и величин подразделяется на ряд отдельных
процедур в зависимости от условий Рассмотрим их по мере усложнения
Моделирование случайного события
Основной характеристикой лю
бого случайного события
является вероятность его появления –
Процедура моделирования простого случайного события
состоит из:
– формирования значения БСВ
z
R;
– сравнения
с заданной вероятностью
 появления события
Если условие

 выполняется, то исходом моделирования является со
бытие
В противном случае
противоположное событие

 = 1 

Алгоритм моделирования отдельных случайных событий имеет вид,
приведенный на рис 11
Моделирование полной группы несовместных случайных событий
Пусть задано некоторое множество элементарных исходов 
,  ,
 c
их вероятностями
,  ,
соответственно 
  
=1
Чтобы построить
программную модель, оживляющую такую совокупность исходов,
разобьём мысленно интервал значений БСВ 
t
1 на
отрезков
76
длиной
,,
 Это всегда возможно, так как
  
=1 Например,
можно определить отрезки так:
= ,
,
= 
,
1

,
= 

,




,
  
= 

  
1
, 1
Алгоритм моделирования случайных исходов
состоит в том,
чтобы, обратившись к датчику БСВ, определить, в какой из интервалов
,,

попало значение БСВ Факт его попадания в конкретный ин
тервал
предопределяет переход алгоритма к процедуре имитации соот
ветствующего, имеющего тот же номер, исхода
 Поскольку вероятно
сть попадания БСВ в интервал
равна его длине
, то и вероятность ис
хода
будет равна
 Такой метод моделирования простых независимых
событий называют исход испытания по жребию
В качестве примера построим модель операции, состоящей в вытас
кивании шара из урны, содержащей пять белых шаров Б, три красных К
и два черных Ч Так как исходы Б, К, Ч имеют вероятности
= ,,
= ,
и
= , соответственно, то интервал ,1 разбиваем на отрезки ;,,
,;,8 и ,8;1
Алгоритм моделирования имеет примерно следующий вид:
1 Получить значение z из датчика БСВ
 Если
1 , вывести Б”, иначе, если
81 , вывести К”, иначе
вывести Ч”
Приведём пример 6кратного выполнения этого алгоритма на ком
пьютере; мы видим, что частота появления каждого исхода примерно
соответствует его вероятности:
БКБКБКБКББКЧБББККББКЧЧББЧЧКББЧБЧББЧБКЧЧБББККББЧКБЧКББЧКБЧББ
Фиксируется
Фиксируется

Да
ет

Рис 11 Алгоритм моделирования отдельных случайных событий
77
Так, исход Б” здесь появился 1 раз % случаев, К”
1 раз %
и Ч”
1 раз %
Моделирование сложных случайных событий
Сложные события
являются исходом, зависящим от двух или более простых событий Мо
дели этого типа рассматриваются для двух случаев: для независимых
простых событий и для зависимых простых событий
Генерирование сложного события, являющегося результатом наб
людения простых независимых случайных событий рассмотрим на при
мере, когда даны два простых события
и
, для которых заданы вероят
ности их появления
и
 соответственно События
А
как и
, образуют полные группы несовместных событий, те

 =1;
Р

 =1
Возможные исходы совместных испытаний:
АВ, А
В,
и
соответствующие этим исходам вероятности Р
Р
, Р 
Р 
, Р 
Р
,
 Эти сложные исходы образуют полную группу независимых
событий, те
Р
Р
Р 
Р 
Р 
Р
=1 Используя эти
вероятности и способ исход испытания по жребию разыгрываем все
возможные исходы
Второй способ моделирования заключается в поочередном модели
рования события
, а затем события
, или, наоборот, сначала
В,
затем
 Получаем один из четырех приведенных выше исходов
Генерирование зависимых случайных событий
В тех случаях, когда
и
являются зависимыми событиями, проце
дура моделирования слож
ного события выполняется несколько иначе
Исходными данными для модели являются вероятности появления собы
тий
,
и
, те соответственно
,
 и
 –
условная вероят
ность появления события
при условии, что событие
наступило
Возможным исходам
АВ, А
В,
соответствуют вероятности:
,
1–
, 1–

,
1–
 6
Условная вероятность
 находится предварительно из
формулы полной вероятности для события
 =
 

Используя вероятности 6, разыгрываем возможные реализации
сложного события способом исход испытания по жребию либо,
78
используя вероятности
,
и
А,
поочередно моделируем события
, а
затем события
Моделирование дискретных случайных величин
Принцип моделирования дискретных св не отличается от принципа
моделирования случайных событий Дискретная св
задаётся конеч
ным или счётным множеством возможных значений
,
,  и их вероят
ностями
,
,   Она реализуется по тому же принципу, по которому
моделируются случайные события Интервал , 1 предварительно раз
бивается на отрезки, длины которых равны вероятностям
,
,  элемен
тарных исходов
 При этом каждый конкретный исход
рассматрива
ется здесь как выбор случайной величиной соответствующего значения
=
Пример
 Пусть требуется реализовать дискретную с в
, принима
ющую значения ; ; 1;  и ,1 с вероятностями ,1; ,1; ,; , и ,1
соответственно Если отрезки с длинами, равными перечисленным веро
ятностям, откладывать на числовой оси вправо от нуля, то их правыми
границами будут точки ,1; ,; ,7; ,9 и 1 Составим таблицу
чисел
табл 1, в которой определенной правой границе сопоставлена со
ответствующее значение дискретной св
Для реализации датчика данной дискретной св остаётся опреде
лить, между какими границами, указанными в верхней строке таблички,
попадает значение БСВ, и выбрать соответствующее значение св из
нижней строки таблички В двух частных случаях этот общий алгоритм
реализации дискретной с в целесообразно упростить
Первый случай
– это случай целочисленной св
, принимающей
значения , 1, ,
–1 с одинаковыми вероятностями, равными 1
 Такую
дискретную с в можно получить с помощью БСВ
одним оператором
присваивания, реализующим формулу вычисления целой части:
7
Формулу 7 можно легко приспособить и к другим близким
ситуациям Например, для моделирования игральной кости с числом
очков
от 1 до 6 можно результат её выбрасывания проимитировать по
формуле:
Таблица 1
Правые границы дискретной св

1

1
8
Второй случай
, когда алгоритм реализации дискретной св следует
упрощать, это случай дискретной св с бесконечным счётным множест
вом возможных значений В такой ситуации часто можно построить
компактную программу, применяя рекурсивный вариант общего метода
Суть проблемы состоит в том, что перед программированием алгоритма
разбить интервал , 1 на бесконечное число вероятностных отрезков с
длинами
,
,  невозможно Поэтому в программе сначала реализуется
значение БСВ
, а затем выполняется построение и одновременно – про
верка вероятностных отрезков интервала , 1 по одному последователь
но, одного за другим, до тех пор, пока не будет построен и проверен от
резок, в котором при его проверке обнаружится реализованное значение
БСВ
 После этого случайной величине
присваивается соответствую
щее найденному отрезку значение
 Благодаря такому последователь
ному построению и просмотру вероятностных отрезков, для реализации
любого значения
приходится строить лишь конечное их число Кон
кретный пример использования этого метода для реализации пуассо
новской св приводится в 1
Моделирование непрерывных случайных величин
В современной учебной литературе по моделированию методы по
строения датчиков непрерывных св наиболее полно разбираются в
книге  Вместе с тем, во многих языках и пакетах моделирования име
ется большое число удобных для использования встроенных датчиков
непрерывных св Так, например, в S Ece в меню
СервисАнализ
данныхГенерация случайных чисел
предоставляется возможность ге
нерации выборок из следующего списка распределений: равномерное,
нормальное, Бернулли, биномиальное, Пуассона С учётом сказанного
ниже приводятся лишь алгоритмы и формулы для реализации наиболее
часто встречающихся непрерывных св
Моделирование непрерывных св методом обращения
Пусть тре
буется реализовать непрерывную св
, которая имела бы заданную
функцию распределения вероятностей фрв
, те тре
буется, чтобы было

 Согласно методу обращения, это можно сде
лать с помощью БСВ
по следующей формуле:
=
1

Примечание
 Выражение
 для расчета

через
можно
получить следующим известным способом:
1 Записать формальное уравнение
 =
z
 Разрешить его относительно
8
Моделирование экспоненциальной св
Экспоненциальная св
имеет фрв:
где
t
 и параметр
>  Для экспоненциальной св

 = 1
,
 = 1
Для построения генератора такой св используем метод обращения
1 Записываем формальное уравнение
 =
 = 1

t
=
 Решаем его относительно

 = 
1
1 
8
Формулу 8 можно упростить, заменив 1
 на
, так как обе эти
величины совпадают по распределению Тогда из 8 получаем:

 = 
1

9
Частотная гистограмма экспоненциальной св при
= 1и

= 1
При независимых
генератор 9 дает независимые значения
экспоненциальной св
 На рис 1 приводится частотная гистограмма,
полученная при испытании этого генератора для
=1  Оценки моментов
составили
= ,99,
= ,978
Рис 1 Частотная гистограмма экспоненциальной св
= 1 при
= 1
81
Моделирование равномерной случайной величины
Построим датчик равномерно распределённой на интервале
A
t
B
св

, используя метод обращения
Функция распределения св

 R
,
 имеет вид
F
= 
  A
  
B  A
Отсюда получаем модель для разыгрывания значений св, равно
мерно распределённой на интервале
A
t
B,
в виде
=
 
¸
z
Для равномерной св математическое ожидние и дисперсия равны
 =
 
B–A
,

 = 
B–A
1
На рис 1 приводится гистограмма относительных частот, полу
ченная при испытании генератора равномерной св Оценки моментов
составили

= ,,
= 11
Моделирование эрланговской случайной величины
Эрланговская св

порядка
1 имеет функцию распределения
вероятностей
Рис 1 Гистограмма относительных частот
равномерной св 
= , при
= 1
8
и плотность распределения вероятностей
!
t
,
где параметр
>   Её математическое ожидание и дисперсия таковы:
 =
,
 =
Поскольку распределением Эрланга обладает сумма
независимых
экспоненциальных св, имеющих одно и то же значение параметра
, то,
с учётом 9, сгенерировать эрланговскую св

можно просто как
сумму:


1
где

= 1, ,
 – независимые реализации базовой случайной величины
На рис 1 приводятся результаты моделирования 1 значений
по 1 при
=1,
k
= Так как
х
х
, где
 =1
=1,
 =1
=1,

=1,,, то
 =,
 = Статистические оценки, полученные
при испытаниях, составили
 = ,968,
 = ,98
Моделирование нормальной случайной величины
Утверждение, что некоторая св
имеет нормальное распределение
с мо
 =
m
и дисперсией
 =
, будем записывать в виде

N
m,

Функция распределения вероятностей такой св имеет вид
Рис 1 Гистограмма эрланговской св го порядка при

= 1
8


11
Составив уравнение
 =
z
и разрешив его относительно
получим модель для разыгрывания значений нормальной св:

1
Практическое применение формулы 1 при использовании БСВ
затруднительно, так как оно связано с необходимостью вычисления об
ратной функции Лапласа
¸ Аналитических формул для этого нет
Существуют и применяются в расчётах таблицы значений обратной функ
ции Алгоритмизировать же расчёт обратной функции Лапласа в проце
дурах ИМ при необходимости получения нормально распределенных
чисел, представляется возможным только с применением приближенных
формул Для того чтобы это избежать, применяется другой метод
Для реализации любой нормальной св достаточно иметь датчик
стандартной т е нормированной и центрированной нормальной св
Чтобы реализовать св
с распределением 11 используют следу
ющее линейное преобразование стандартной нормальной св
При этом стандартную нормальную св часто реализуют прибли
жённо как сумму других св, основываясь на центральной предельной
теореме теории вероятностей Например, её можно реализовать в виде
суммы двенадцати независимых значений БСВ:
1
1
Однако такой подход даёт плохое приближение для больших уклоне
ний от среднего, превышающих 
Метод Бокса и Мюллера позволяет получить два независимых значе
ния
и
стандартной нормальной с в из двух независимых значений
и
базовой случайной величины по формулам:

co

,


1
На рис 1 приведена гистограмма нормальной св, полученной
методом Бокса и Мюллера при
=1
8
Рис 1 Гистограмма нормальной св при

= 1
Этот метод точный, но считается трудоёмким  Однако, как показы
вают эксперименты, это мнение устарело ввиду того, что современные
персональные компьютеры оснащены арифметическими сопроцессо
рами Точный метод 1 в действительности оказывается также и бо
лее быстрым, чем приближённый метод 1 7
Метод отбора
Метод предложен фон Нейманом Называется также
методом Неймана, методом исключения 
Рассмотрим вариант метода, когда требуемое распределение задано
плотностью вероятности, отличной от нуля на конечном интервале 
,
Алгоритм состоит в следующем Из очередной пары базовых чисел
и
находятся два числа:
=
 

 ¸
=
¸
,
1
где
максимальное значение плотности
Еcли
f
, те если точка 
лежит под графиком
 рис
16, то
принимается в качестве очередного числа

В противном
случае берётся следующая пара базовых чисел, и процедура повторяется
Убедимся, что отобранные числа имеют требуемый закон распреде
ления Согласно 1 точка 
 равномерно распределена в прямоу
гольнике с основанием 
,
 и высотой
, площадь которого равна
= 
¸
Следовательно, вероятность попадания точки под график
f
 равна
отношению площади под графиком к площади прямоугольника, те равна
8

а вероятность попадания точки под график в пределах участка 
c,
 заш
трихованная область на рис 16 равна

Таким образом, доля точек, отобранных в качестве
на участке
c,
 по отношению ко всем точкам составляет

:

что и означает соблюдение требуемого закона распределения
 Точность результатов моделирования
При моделировании методом МонтеКарло многократно повторя
ются опыты со случайным исходом и оценка

искомого результата
определяется путём осреднения результатов отдельных опытов:


16
где

результат
го опыта
Рис 16 Иллюстрация метода отбора
86
Алгоритм моделирования строится так, что математическое ожи
дание результата одного опыта совпадает с искомым результатом, те

 =
17
При этом оценка 17 оказывается несмещённой, те



 =
18
Хотя в среднем оценка

совпадает с
, в
каждом конкретном случае
она отличается от
на случайную величину, средний квадрат которой
представляет собой дисперсию оценки Чем больше дисперсия, тем боль
ше случайные отклонения оценки от искомого результата, те меньше
её точность С увеличением числа опытов дисперсия оценки уменьша
ется, а точность, соответственно, растет Ниже выводится правило, указы
вающее, до какой величины надо снижать дисперсию путем увеличения
числа опытов, чтобы можно было считать оценку достаточно точной
Поскольку оценка является случайной величиной, точность ее
рассматривается применительно ко всему множеству возможных
значений оценки с учетом вероятностей этих значений Требования к
точности обычно формулируются в виде вероятностного утверждения:
 |


|

доп
=
19
где
доп
– допустимая погрешность;
γ
– заданный коэффициент доверия
В конкретном случае значение оценки может отличаться от искомо
го результата больше чем на
доп
 Однако с вероятностью
это не про
изойдет, если условие 19 соблюдено
Связь между
доп
и
зависит от распределения оценки  Согласно
центральной предельной теореме, теория вероятностей, оценка 16
имеет распределение, близкое к нормальному, если
не слишком мало
С учётом 18 можно записать

 N 
,

или


, 1

Следовательно,
t
Это соотношение позволяет, задав
доп
= σ,
вычислить
=
t
=
 – 1,
Запись
N
m,
обозначает, что с в
имеет нормальное распределение c
математическим ожиданием
и дисперсией
87
где
¸ – интегральная функция стандартного нормального распреде
ления
N
, 1 В частности, для
k
= 1,, значение
равно соответственно
,686; ,9; ,997 Утверждая, что погрешность не превышает 
σ,
мы
ошибаемся менее чем в трёх случаях из 1 Следовательно, обеспечив
σ =

 , можно быть достаточно уверенным, что погрешность не
превысит допустимого значения
Из сказанного вытекает практическая рекомендация:
число опытов
при моделировании должно быть настолько большим, чтобы
дисперсия оценки снизилась до величины

доп

где выбор
определяется требуемым коэффициентом доверия Чтобы
применять это правило остановки, необходимо уметь вычислять диспер
сию оценки при заданном числе опытов
γ
Оценка по множеству независимых реализаций
Для многих
случаев результаты опытов представляют собой повторную выборку

, те совокупность независимых реализаций св
 Математи
ческое ожидание её должно совпадать с
 Дисперсию этой св обозначим
 Поскольку реализации независимы, дисперсия оценки 16 равна
= 

В соответствии о правилом  требуемое число опытов равно

доп
1
Таким образом,
требуемое число опытов обратно пропорцио
нально квадрату допустимой погрешности
 Этим обусловлена труд
ность получения высокой точности результатов при вероятностном моде
лировании
Особые трудности возникают, когда искомым результатом является
вероятность некоторого события, причем вероятность малая В этом
случае
,
с вероятностью
, с вероятностью 1
,
,
Требуемое число опытов удобно выразить через допустимую отно
сительную погрешность
88
доп
доп
Формула 1 принимает вид
доп

Чем меньше вероятность
,
тем больше требуется опытов для
обеспечения допустимой относительной погрешности
 При малых
вероятностях даже грубая оценка требует слишком много опытов Напри
мер, при
порядка 1
,
k
= ,
доп
= , формула  дает
=1
Обычно такое число опытов требует много машинного времени
Заметим, что в формулу 1 входит величина , которая заранее не
известна Её приближенно находят в процессе моделирования по формуле
Проделав некоторое число опытов, вычисляют , а затем по формуле
1 находят примерно необходимое число опытов Опыты продол
жают до получения нужного их числа, после чего можно заново вычис
лить уже более точно Аналогично поступают с величиной
 Вначале проб
ным моделированием определяют
а затем подставляют найденное значение в формулу  По мере
увеличения количества опытов значения можно эпизодически уточнять
 Планирование статистического эксперимента
Задача планирования
Пусть
= 
,  ,

вектор случайных вели
чин, имеющий распределение
 Во многих случаях цель статистического
эксперимента может быть сведена к определению математического ожи
дания св
y

, где


заданная функция распределения св
 Типо
вая схема статистического эксперимента имеет следующий вид рис 17

= 1
Рис 17 Типовая схема статистического эксперимента

Здесь оценка
y
приближается к точному значению
 с ростом
числа опытов
 Задача
планирования
статистического эксперимента
состоит в нахождении такого
, при котором достигается заданная точ
ность оценки


Y
;
X
= 
,,
k
;
значение св
в
м опыте;
 число опытов
Теоретическое решение задачи планирования
Оценка
является
случайной величиной, так как представляет собой функцию от случайных
величин:

В типовой схеме статистического эксперимента рис 17 использу
ются независимые реализации
, поэтому св
в формуле  также
независимы Из центральной предельной теоремы вытекает, что св

 при больших

имеет нормальное распределение, те

N

Определим параметры этого распределения:


Рис 18 Распределение св

в зависимости от


Таким образом, при увеличении числа опытов на порядок
умень
шается в
1
 раза На рис 18 схематически показан вид распреде
ления оценки


в зависимости от
Диапазон вероятных отклонений оценки от точного значения
сужается пропорционально
Параметр
используют как показатель
точности оценки Поскольку
имеет нормальное распределение, то
практически достоверно, что
y
отклоняется от искомого
 не более
чем на 
 Можно сказать, что
является аналогом абсолютной пог
решности, а 
самой абсолютной погрешностью В качестве аналога
относительной погрешности для св
можно рассматривать её коэф
фициент вариации:
=

m
а в качестве самой относительной погрешности
величину 
 Из 
и  находим, что


6
где
коэффициент вариации св
Соотношения  и 6 показывают, что абсолютная пог
решность”

и относительная погрешность”

оценки

убывают
пропорционально
Из формулы  находим решение задачи планирования: для
достижения заданной точности
требуется
опытов
7
Если требование к точности задано в форме коэффициента вариации
, то требуемое число опытов определяется из формулы 6 в виде:
8
В решении 7 кроме заданного
для определения
необходимо
знать
, в варианте 8
коэффициент вариации
 Ни то, ни другое
до эксперимента, как правило, не известно Поэтому планирование числа
опытов на практике осуществляется в ходе самого статистического экспе
римента Достаточно удобными методами такого планирования являются
метод
автоостанова
1
Метод автоостанова
Схема статистического эксперимента с авто
остановом изображена на рис 19 Покажем на примере достижения
точности
= ,1
Как видно из рисунка, в ходе эксперимента ведется непрерывный
контроль за оценкой
’ коэффициента вариации
 Когда оценка
v’
ус
тойчиво входит в зону
’  ,1, эксперимент завершается
Рис 19 Схема эксперимента с автоостановом
= 1,
=
1
=
,
= 
y=
S

Генератор св
Конец
Печатать
,
= 
v’
,1
A=A
ет
Начало
ет

Устойчивое достижение неравенства
’  ,1 здесь обеспечивается
требованием, чтобы это неравенство было подтверждено
= 1 раз
Заметим, что минимальное начальное значение счётчика подтверж
дений на рис 19, задаваемое в начале алгоритма, должно составлять
=, так как необходимо исключить одно ложное подтверждение, которое
имеет место при
= 1 Действительно, при
= 1 оценка дисперсии равна
нулю, поэтому получается
’ =  При
= 1 получится несколько лиш
них” повторений цикла Однако так как

обычно составляет десятки ты
сяч, то увеличение его на несколько лишних единиц не имеет существен
ного практического значения
Вопросы и задания
1 От каких величин зависит требуемое число опытов? Откуда бе
рутся их численные значения?
 Во сколько раз надо увеличить число опытов, чтобы снизить пог
решность в 1 раз?
 Приведите алгоритм моделирования отдельных случайных собы
тий
 Приведите алгоритм генерирования зависимых случайных собы
тий
 Какие методы тестирования датчиков БСВ Вы знаете? Приведите
примеры
6 Как можно оценить коэффициент корреляции св? Что он пока
зывает?
7 Перечислите характеристики, которыми задается генератор заявок
8 Раскройте суть метода МонтеКарло
9 Каким образом реализуется приоритетное обслуживание заявок?
1 Объясните, каким образом решается задача планирования ста
тистического эксперимента
11 Какими методами может быть оценена точность результатов
моделирования?
1 Объясните каким образом осуществляется моделирование слож
ных случайных событий
1 Объясните схему статистического эксперимента с автоостановом,
изображенную на рис 19
 Генетические алгоритмы в моделировании
Генетические алгоритмы ГА
это специальная технология для
поиска оптимальных решений, опирающаяся на метод проб и ошибок,
которая успешно применяется в различных областях науки и бизнеса

Генетические алгоритмы часто применяются совместно с нейронными
сетями, позволяя создавать предельно гибкие, быстрые и эффективные
инструменты анализа данных
1 История возникновения генетических алгоритмов
Генетические алгоритмы возникли в результате наблюдения и по
пыток копирования естественных процессов, происходящих в мире живых
организмов, в частности, эволюции и связанной с ней селекции естест
венного отбора популяций живых существ, поэтому они получили назва
ние генетических алгоритмов
Эволюционная теория утверждает, что каждый биологический вид
целенаправленно развивается и изменяется для того, чтобы наилучшим
образом приспособиться к окружающей среде В процессе эволюции
многие виды насекомых и рыб приобрели защитную окраску, ёж стал
неуязвимым благодаря иглам, человек стал обладателем сложнейшей
нервной системы Можно сказать, что эволюция
это процесс оптими
зации всех живых организмов Рассмотрим, какими же средствами приро
да решает эту задачу оптимизации
Основной механизм эволюции  это естественный отбор Его суть
состоит в том, что более приспособленные особи имеют больше воз
можностей для выживания и размножения и, следовательно, приносят
больше потомства, чем плохо приспособленные особи При этом благо
даря передаче генетической информации генетическому наследованию
потомки наследуют от родителей основные их качества Таким образом,
потомки сильных индивидуумов также будут относительно хорошо при
способленными, а их доля в общей массе особей будет возрастать После
смены нескольких десятков или сотен поколений средняя приспособ
ленность особей данного вида заметно возрастает
Чтобы сделать понятными принципы работы генетических алгорит
мов, рассмотрим, как устроены механизмы генетического наследования
в природе В каждой клетке любого животного содержится вся генетичес
кая информация этой особи Эта информация записана в виде набора
очень длинных молекул ДНК Каждая молекула ДНК  это цепочка, состоя
щая из молекул нуклеотидов четырех типов, обозначаемых А, , C и G
Собственно, информацию несет порядок следования нуклеотидов в ДНК
Таким образом, генетический код индивидуума  это просто очень длин
ная строка символов, где используются всего  буквы В животной клетке
каждая молекула ДНК окружена оболочкой  такое образование назы
вается хромосомой
Каждое врожденное качество особи цвет глаз, наследственные бо
лезни, тип волос и тд кодируется определенной частью хромосомы,

которая называется
геном
этого свойства Например, ген цвета глаз содер
жит информацию, кодирующую определенный цвет глаз Различные
значения гена называются его
аллелями
При размножении животных происходит взаимодействие двух роди
тельских ДНК, образуя ДНК потомка Основной способ взаимодействия
кроссовер coove, скрещивание
При кроссовере ДНК предков
делятся на две части, а затем обмениваются своими половинками
При наследовании возможны мутации изза радиоактивности или
других воздействий, в результате которых могут измениться некоторые
гены в клетках одного из родителей Измененные гены передаются потом
ку и придают ему новые свойства Если эти новые свойства полезны,
они, скорее всего, сохранятся в данном виде  при этом произойдет
скачкообразное повышение приспособленности вида
В начале 7х гг ХХ в была озвучена идея использования данного
природного процесса в задачах оптимизации, причем вне зависимости
от сферы применения полученных результатов Высказал эту идею аме
риканский учёный Джон Холланд и предложил реализовать в виде ком
пьютерной программы алгоритм, который будет решать сложные задачи
так, как это делает природа  путем эволюции Алгоритм оперировал по
следовательностями двоичных цифр единиц и нулей, которые и полу
чили название хромосом Алгоритм имитировал эволюционные процес
сы в поколениях таких хромосом: в них были реализованы механизмы
селекции и репродукции, аналогичные применяемым при естественной
эволюции Так же, как и в природе, генетические алгоритмы осущест
вляли поиск хороших хромосом без использования какойлибо ин
формации о характере решаемой задачи Требовалась только некая оцен
ка каждой хромосомы, отражающая её приспособленность Механизм
селекции заключается в выборе хромосом с наивысшей оценкой те
наиболее приспособленных, которые репродуцируют чаще, чем особи
с более низкой оценкой хуже приспособленные Репродукция означает
создание новых хромосом в результате рекомбинации генов родитель
ских хромосом Рекомбинация  это процесс, в результате которого возни
кают новые комбинации генов Для этого используются две операции:
скрещивание, позволяющее создать две совершенно новые хромосомы
потомков путем комбинирования генетического материала пары родите
лей, а также мутация, которая может вызывать изменения в отдельных
хромосомах Таким образом, генетический алгоритм представляет собой
метод, отражающий естественную эволюцию методов решения проблем
и, в первую очередь, задач оптимизации Генетические алгоритмы  это
процедуры поиска, основанные на механизмах естественного отбора и
наследования В них используется эволюционный принцип выживания
наиболее приспособленных особей Они отличаются от традиционных

методов оптимизации несколькими базовыми элементами В частности,
генетические алгоритмы:
 обрабатывают не значения параметров самой задачи, а их закоди
рованную форму;
 осуществляют поиск решения исходя не из единственной точки, а
из их некоторой популяции;
 используют только целевую функцию, а не её производные либо
иную дополнительную информацию;
 применяют вероятностные, а не детерминированные правила вы
бора
Эти свойства приводят в результате к устойчивости генетических
алгоритмов и к их превосходству над другими широко применяемыми
технологиями
Основным недостатком ГА является то, что неизвестно, сколько
понадобится времени для решения задачи
Только в конце 9х г стали появляться научные работы, показавшие
применимость и значимость использования генетических алгоритмов в
задачах оптимизации технических систем
 Интерпретация основных понятий генетических алгоритмов
При описании генетических алгоритмов используются определе
ния, заимствованные из генетики Например, речь идёт о популяции осо
бей, в качестве базовых понятий применяются ген, хромосома, генотип
и другие Этим генетическим терминам соответствуют определения из
технического лексикона, в частности, цепь, двоичная последовательность,
итерация, структура
Генетический алгоритм осуществляет поиск лучшего решения в
пространстве поиска решений Это пространство под воздействием меха
низмов эволюции изменяется в направлении улучшения содержащих
ся в нём решений Результатом такой эволюции должно быть пространст
во поиска, содержащее наилучшие или приемлемые решения, которые
и обнаруживаются алгоритмом
В терминологии ГА пространство поиска решений интерпрети
руется как
популяция
Р
= 
,,
,,
, а каждое решение из этого
пространства – как
хромосома
или
особь
, представляемая в виде
строки символов, называемых
генами
=
,,
,,
Для этого выполняется кодирование независимых хромосом либо
в двоичном формате, либо в формате с плавающей запятой Тогда геном
6
в этой хромосоме будет один бит С каждым геном
сопоставлено мно
æåñòâî
= 
 его возможных значений

аллелей
 или 1 На
множестве решений хромосом задается целевая функция ЦФ –
функция полезности
=
  эффективность решения
Эта функция играет важнейшую роль, поскольку позволяет оценить
степень приспособленности конкретных особей в популяции и выбрать
из них наиболее приспособленные те имеющие наибольшие значения
функции приспособленности в соответствии с эволюционным прин
ципом выживания сильнейших лучше всего приспособившихся В за
дачах оптимизации функция приспособленности, как правило, оптимизи
руется точнее, максимизируется и называется целевой функцией Та
ким образом, генетический алгоритм осуществляет поиск хромосомы
, для которой
m

На каждой итерации генетического алгоритма приспособленность
каждой особи данной популяции оценивается при помощи функции
приспособленности, и на этой основе создается следующая популяция
особей, составляющих множество потенциальных решений проблемы
Размерность
численность
популяции
может изменяться в про
цессе работы алгоритма, но наиболее распространены ГА, для которых
= сot От размера популяции зависит время поиска решения и его
качество Важно, что размер популяции значительно меньше числа
всех допустимых решений Именно это позволяет находить решение за
приемлемое время
Очередная популяция в генетическом алгоритме называется
поколением
, а к вновь создаваемой популяции особей применяется тер
мин
новое поколение
или
поколение потомков
 Операторы генетического алгоритма
Последовательность генетических операторов обычно включает
операторы отбора репродукции, кроссинговера скрещивание, мута
ции и инверсии Все эти операторы являются вероятностными, те их
параметры – случайные величины
Отбор селекция
есть формирование следующей популяции из
имеющейся в данный момент Он имитирует принцип выживания силь
нейших и осуществляется путем стохастической, но целенаправленной
селекции, те отбора лучших хромосом на основе их значений функции
полезности Основные виды селекции: пропорциональная, турнирная
и усечёнием
7
При
пропорциональной селекции
вероятность выбора
й хромосо
мы определяется как
1
при условии, что

>  для всех
k
=1
Этот принцип программно реализуется на основе метафоры коле
са рулетки Данный метод отбирает особей с помощью
запусков
рулетки Колесо рулетки содержит по одному сектору для каждого члена
популяции Всё колесо рулетки соответствует сумме значений функции
приспособленности всех хромосом рассматриваемой популяции Каж
дой хромосоме
соответствует сектор колеса
, выраженной в про
центах согласно формуле:
v
 =
P
1%
Поэтому чем больше значение функции приспособленности, тем
больше сектор на колесе рулетки Следовательно, члены популяции с бо
лее высокой приспособленностью с большей вероятностью будут чаще
выбираться, чем особи с низкой приспособленностью рис
Если всю окружность колеса рулетки представить в виде цифрового
интервала , 1, то выбор хромосомы можно отождествить с выбором
числа из интервала 
,
, где
и
обозначают соответственно начало и
окончание фрагмента окружности, соответствующего этому сектору ко
ëåñà; î÷åâèäíî, ÷òî


1 В этом случае выбор с помощью ко
леса рулетки сводится к выбору числа из интервала , 1, которое со
ответствует конкретной точке на окружности колеса
При
турнирной селекции
из популяции
случайным образом вы
бирается подмножество
P
и хромосома из этого подмножества,
1
1111
1%

111111
%

1111
%

11111111
%
Рис  Метод рулетки с пропорциональными секторами
функции приспособленности
8
имеющая максимальное значение функции приспособленности, выби
àåòñ â ñëåäóþùóþ îóëöèþ
P
1
 Эта операция повторяется
раз
Строки в полученном промежуточном массиве затем используются для
скрещивания также случайным образом Размер группы строк, отбира
емых для турнира, часто равен  В этом случае говорят о двоичномпар
ном турнире, а
называют численностью турнира Преимуществом дан
ной стратегии является то, что она не требует дополнительных вычисле
ний и упорядочивания строк в популяции по возрастанию приспособлен
ности
Отбор усечением
Данная стратегия использует отсортированную
по возрастанию популяцию Число особей для скрещивания выбирается
в соответствии с порогом ; 1 Порог определяет, какая доля особей,
начиная с самой первой самой приспособленной, будет принимать
участие в отборе В принципе, порог можно задать и числом больше 1,
тогда он будет просто равен числу особей из текущей популяции, допу
щенных к отбору Среди особей, попавших под порог” случайным обра
зом
раз выбирается самая везучая и записывается в промежуточный
массив, из которого затем выбираются особи непосредственно для скре
щивания Изза того, что в этой стратегии используется отсортированная
популяция, время её работы может быть большим для популяций боль
шого размера и зависеть также от алгоритма сортировки
Кроссинговер скрещивание
 В простейшем случае кроссинговер
в генетическом алгоритме реализуется так же, как и в биологии, его ус
ловная схема приведена на рис 1 При этом хромосомы разрезаются
в случайной точке и обмениваются частями между собой Например,
если хромосомы 1, , , ,  и , , , ,  разрезать между третьим и
четвертым генами и обменять их части, то получатся потомки 1, , , ,
 и , , , , 
На первом этапе скрещивания выбираются пары хромосом из роди
тельской популяции родительского пула Это временная популяция сос
тоящая из хромосом, отобранных в результате селекции и предназначен
ных для дальнейших преобразований операторами скрещивания и мута
ции с целью формирования новой популяции потомков На данном этапе

1














1













Рис 1 Условная схема кроссинговера

хромосомы из родительской популяции объединяются в пары Это объе
динение производится случайным способом в соответствии с вероят
ностью скрещивания
 Далее для каждой пары отобранных таким об
разом родителей разыгрывается позиция гена в хромосоме, определяю
щая так называемую точку скрещивания Если хромосома каждого из ро
дителей состоит из
генов, то очевидно, что точка скрещивания
пред
ставляет собой натуральное число, меньше
 Поэтому фиксация точки
скрещивания сводится к случайному выбору числа из интервала 1,
1
В результате скрещивания пары родительских хромосом получается сле
дующая пара потомков:
1 потомок, хромосома которого на позициях от 1 до
состоит из
генов первого родителя, а на позициях от
 1 до
из генов второго
родителя;
 потомок, хромосома которого на позициях от 1 до
, состоит из
генов второго родителя, а на позициях от
1 до
 из генов первого
родителя
Приведённые примеры относятся одноточечному кроссинговеру
Используются также различные варианты многоточечного кроссинго
вера, когда хромосомыродители разрываются не в одном месте, а в нес
кольких
Мутация
применяется с некоторой достаточно низкой вероятно
стью
обычно
,1 к хромосомам, полученным после кроссин
говера Оператор одноточечной мутации выбирает случайным образом
ген в хромосоме и меняет его значение на другое из области допустимых
значений Например, если в хромосоме 111111 мутации подвер
гается ген на позиции 7, то его значение, равное 1, изменяется на , что
приводит к образованию хромосомы 11111 Вероятность
мутации может эмулироваться, например, случайным выбором числа
из интервала ,1 для каждого гена и отбором для выполнения этой опе
рации тех генов, для которых разыгранное число оказывается меньшим
или равным значению
 Применяется и многоточечная мутация, ко
торая является композицией нескольких одноточечных мутаций
Инверсия
может применяться с ненулевой и очень низкой вероят
ностью наряду с мутациями Она изменяет не значения генов, а только
порядок их следования в случайно выбранной хромосоме В простейшем
случаем в такой хромосоме случайным образом выбирается точка раз
рыва, и меняются местами начало и конец хромосомы Допустимо при
менение многоточечной инверсии
Кроссинговер, мутация и инверсия могут порождать новые хромо
сомы решения, которые никогда не встречались в предыдущих популя
циях Их следует оценить значениями функции приспособленности Пос

ледующая популяция
1
может быть образована как целиком только из
потомков хромосом предыдущей популяции
, полученных в результате
применения к
генетических операторов, так и частичным сохранением
наилучших особей из
 В первом случае новые хромосомы полностью
заменяют старые, а во втором – только менее ценные из них
Работа ГА прекращается при достижении текущей популяцией сос
тояния адаптации, которое идентифицируется по стягиванию ядра попу
ляции сначала в круг, а затем в точку Алгоритм не гарантирует получение
глобального экстремума хотя это и возможно, а даёт некоторое хоро
шее решение за приемлемое время
 Классический генетический алгоритм
Работа ГА – итеративный процесс, продолжающийся вплоть до вы
полнения заданных условий остановки: близость полученных решений
к заданному значению, прекращение роста средней полезности попу
ляции, минимальная численность популяции, число итераций и др Основ
ной классический генетический алгоритм состоит из следующих шагов:
1 генерация случайным образом начальной популяции хромосом
= 
,,
k
,, A
No
;
 оценка приспособленности хромосом в популяции;
 проверка условия остановки алгоритма;
 селекция хромосом;
 применение к начальной популяции последовательности генети
ческих операторов, порождающей новую популяцию
б формирование новой популяции
P
1
7 выбор наилучшей хромосомы
Блоксхема основного генетического алгоритма изображена на рис
 Рассмотрим конкретные этапы этого алгоритма с использованием
дополнительных подробностей, представленных на рис 
Генерация
или формирование исходной популяции заключается в
случайном выборе заданного количества хромосом особей, закодиро
ванных двоичными последовательностями фиксированной длины
Оценивание приспособленности хромосом в популяции
состоит в
расчёте функции приспособленности для каждой хромосомы этой попу
ляции Чем больше значение этой функции, тем выше качество хромо
сомы Предполагается, что функция приспособленности всегда прини
мает неотрицательные значения и, кроме того, что для решения оптими
зационной задачи требуется максимизировать эту функцию
Проверка условия остановки алгоритма
 Определение условия
остановки генетического алгоритма зависит от его конкретного приме
1
нения В оптимизационных задачах, если известно максимальное или
минимальное значение функции приспособленности, то остановка алго
ритма может произойти после достижения ожидаемого оптимального
значения, возможно, с заданной точностью Остановка алгоритма также
может произойти в случае, когда его выполнение не приводит к улучше
нию уже достигнутого значения Алгоритм может быть остановлен по
истечении определенного времени выполнения или после выполнения
заданного количества итераций Если условие остановки выполнено, то
производится переход к завершающему этапу выбора наилучшей хро
мосомы В противном случае на следующем шаге выполняется селекция
Селекция хромосом
заключается в выборе по рассчитанным на
втором этапе значениям функции приспособленности тех хромосом,
которые будут участвовать в создании потомков для следующей попу
ляции, те для очередного поколения Такой выбор производится, соглас
но принципу естественного отбора, по которому наибольшие шансы на
Начало
Генерация
исходной попул
ции
хромосом
Оценивание приспособлен
ности
хр
мосом в популяции
Условие завершения
выполнено?
Селекция хромосом
Применение
генетических
операторов
Создание новой
популяции
Нет
Да
Выбор
наилучшей
хромосомы
Конец
Рисунок  Схема классического генетического алгоритма

участие в создании новых особей имеют хромосомы с наибольшими зна
чениями функции приспособленности
Существуют различные методы селекции, наиболее популярные
описаны в разд  В результате процесса селекции создается роди
тельская популяция, также называемая родительским пулом с числен
Рис 
Этапы генетического алгоритма
11
1

11
1
Инициализация
=
Попу
ляция

Хромосома 1:
Хромосома :

Хромосома
Порядок
1


Оценивание приспособленности
Хромосомы в
пуляции
1   
Функция
присп
соб
ленности
 Условие завершения:
если оно выполнено,
то выбрать наилуч
шую хромосому и КОНЕЦ
 Селекция:

Популяция


Популяция
М
Родительский пул

Селекция
Хромосома1:
Хромосома :
Хромосома :
Хромосома :

Хромосома
Хромосома
1:
 Генетические опера
торы:
Скрещивание в точке
Одна пара хромосом,

111

111
выбранная из

111


111
популяции
с вероятностью


Порядок: 1


Мутация в точке
Одна пара хромосом,

11 1
выбра
нная из
популяции


Порядок: 1


с вероятностью

скрещивание
мутация
1
11
1
1



11


Популяция
1
Хромосома 1:
Хромо
сома :

Хромосома
Порядок:
1


6 Новая популяция
Переход к шагу 

ностью
, равной численности текущей популяции
Применение гене
тических операторов
к хромосомам, отобранным с помощью селекции,
приводит к формированию новой популяции потомков от созданной на
предыдущем шаге родительской популяции
В классическом генетическом алгоритме применяются два основ
ных генетических оператора: оператор скрещивания и операторы мута
ции и инверсии Однако следует отметить, что операторы мутации и
инверсии играют явно второстепенную роль по сравнению с оператором
скрещивания Это означает, что скрещивание в классическом генетичес
ком алгоритме производится практически всегда, а мутация и инверсия
достаточно редко Вероятность скрещивания, как правило, достаточно
велика обычно ,
1, тогда как вероятности мутации и инверсии
устанавливаются весьма малыми чаще всего 
,1; 
,1
Это следует из аналогии с миром живых организмов, где мутации проис
ходят чрезвычайно редко
В генетическом алгоритме мутация и инверсия хромосом могут
выполняться на популяции родителей перед скрещиванием или на попу
ляции потомков, образованных в результате скрещивания
Формирование новой популяции
 Хромосомы, полученные в резуль
тате применения генетических операторов к хромосомам временной
родительской популяции, включаются в состав новой популяции Она
становится так называемой текущей популяцией для данной итерации
генетического алгоритма На каждой очередной итерации рассчитыва
ются значения функции приспособленности для всех хромосом этой
популяции Затем проверяется условие остановки алгоритма и либо фик
сируется результат в виде хромосомы с наибольшим значением функции
приспособленности, либо осуществляется переход к следующему шагу
генетического алгоритма, те к селекции В классическом генетическом
алгоритме вся предшествующая популяция хромосом замещается новой
популяцией потомков, имеющей ту же численность
Выбор наилучшей хромосомы
Если условие остановки алгоритма
выполнено, то следует вывести результат работы, те представить искомое
решение задачи Лучшим решением считается хромосома
с наиболь
шим значением функции приспособленности
m

 Применение генетического алгоритма для решения задачи
обеспечения отказоустойчивости вычислительного кластера
Рассмотрим задачу обеспечения отказоустойчивости вычислитель
ного кластера Этот подход реализуется посредством отказоустойчивого

размещения задач, те такого статического распределения задач по серве
рам, при котором определенное число копий каждой задачи размещается
на различных серверах
Кластер рассматривается как совокупность
однотипных серверов,
объединенных коммутационной системой рис  Каждый сервер
имеет один процессор и память ограниченного объема Кластер выпол
няет фиксированное задание Г, которое представляет собой известное
ìíîæåñòâî çàäà÷ Ã=
,
,  ,
 с заданными требованиями к порядку
их выполнения и взаимосвязям
Каждая задача
характеризуется следующими показателями:
– вес задачи, те величина, определяющая важность задачи
для
системы более важной задаче соответствует больший вес;
– объем оперативной памяти, требуемый для хранения и выполне
ния задачи;
– время выполнения задачи
В процессе работы кластера возможны отказы серверов Состояние
кластера определяется как
,,
, где
=, если
– работоспособ
ный сервер 
сервер и
=1, если
– отказавший сервер 
сервер;
=  – начальное состояние кластера; все состояния
назы
ваются искаженными Известно начальное распределение задач по
серверам при отсутствии их отказов для состояния
, описываемое
Рис  Общая схема взаимодействия пользователей с кластером

матрицей
=

j
, где

j
= 1, если задача
назначена для выполнения
на сервере
и размещена в нем,

j
=  в противном случае; каждая за
дача назначена на один и только один сервер Задачи, назначенные на
сервер
в соответствии с начальным размещением задач, назовем
собственными задачами этого сервера
Качество работы кластера оцениваем его функциональной мощно
стью
в состоянии
v
, которое определяется как сумма весов всех задач,
назначаемых для выполнения в работоспособные серверы в состоянии
Требуемый уровень отказоустойчивости кластера задается множе
ством
=
 работоспособных состояний, которое определяется как
множество всех таких состояний, число
отказавших серверов для кото
рых не превосходит заданного значения
, очевидно
S
= 
, где
=
множество искаженных работоспособных состояний
Требуется путем организации при отказах сервера надлежащего
перераспределения задач между различными
серверами обеспечить
выполнение заданных требований к отказоустойчивости кластера и к
другим его показателям Для этого при проектировании кластера или
при подготовке к реализации в нём определенного задания, необходимо
найти оптимальные планы
=
j
распределения задач для каждого
состояния
и результирующее отказоустойчивое размещение задач
Z =
j
для всех серверов, где
j
= 1, если задача
размещена на сервере
те её программный код загружен в память сервера
,
j
=  в про
тивном случае;
j
определяется как дизъюнкция значений
j
для всех
состояний
включая начальное
После того как оптимальные планы
найдены, каждый сервер
заранее обеспечивается аппаратными и программными ресурсами, не
обходимыми для выполнения задач, которые могут назначаться ему в
любом состоянии
S
При
переходе кластера вследствие отказов неко
торых серверов в любое искаженное состояние
и обнаружении
этого факта во всех
серверах начинается выполнение задач, назначен
ных им в соответствии с планом
Применим ГА для решения задачи рационального статистического
перераспределения задач
Постановка задачи:
Для каждого искаженного работоспособного
состояния
найти такой план
=
j
распределения задач
при
котором достигается максимальное значение функциональной мощнос
ти системы в состоянии


j
m,

6
где

множество собственных задача отказавших серверов;
мно
жество
серверов для состояния
, при ограничениях:
1 на суммарное время выполнения сервером
всех задач, назна
ченных ему в состоянии
j
,,

где
число
серверов в состоянии
,
ресурс вре
мени для размещения на сервер
копий задач отказавших серверов,

заданное граничное значение суммарного времени выпол
нения всех задач, назначенных на
сервер
;

суммарное время
выполнения всех собственных задач сервера

на объём памяти каждого
сервера
, доступный для размеще
ния копий задач, дополнительно назначаемых этому серверу для вы
полнения в искаженном состоянии

j



,  = 1,,
где
максимальный объ
м памяти сервера
;
объём
памяти сервера

, занятый его собственными задачами;
чис
ло таких состояний
, в которых данный сервер
не отказал и при
учёте, что в каждом состоянии
задача

может либо назначена
только в один
сервер, либо отброшена, те
j

Рассматриваем случай, когда в каждом состоянии
подвергаются
перераспределению, те передаются для выполнения в какиелибо
серверы, либо отбрасываются только собственные задачи отказавших
серверов, а собственные задачи всех
серверов продолжают выполнять
ся на своих серверах
Решение задачи
 В качестве функции полезности
 принята функ
циональная мощность системы в состоянии
сумма весов тех задач
, для которых
 для данной хромосомы
 Решение задачи состоит
в вычислении с помощью ГА плана размещения задач
для каждого
состояния
 Затем на основе всех полученных планов
и плана
7
начального размещения задач формируется план
Z =
j
результиру
ющего отказоустойчивого размещения задач для всех серверов, как ука
зано выше Последовательность выполнения ГА, формирующего план
состоит из следующих шагов
Создание начальной популяции Р
состоит в выполнении опера
ции инициализации для каждой особи из её
хромосом, те случай
ного распределения задач по
ПМ некоторого данного состояния с од
новременной проверкой заданных ограничений на объём памяти ПМ и на
максимальное суммарное время выполнения задач на каждом серве
ре
задается пользователем Алгоритм инициализации одной хромосомы:

формирование случайного списка задач;

выбор очередной задачи из списка, если он не пуст, в противном
случае окончание работы алгоритма;

попытка размещения выбранной задачи в
й
сервер данного
состояния 

=1,,
,
– число
серверов, начиная с

=1 при проверке
ограничений  и : данная задача назначается для решения в
й
сервер, если ограничения  и  для него не нарушены, иначе –
попытка разместить её в 
1й сервер; процедура продолжается до наи
большего номера
сервера;

если данную задачу не удается разместить ни на один сервер –
отбрасывание этой задачи и переход к шагу 

Селекция отбор хромосом для скрещивания
 В данной реализа
ции алгоритма выбран метод пропорциональной селекции хромосом
непосредственно из предшествующей популяции на первой итерации
– из начальной Из них случайным образом формируются пары различ
ных хромосом, и над каждой из этих пар с заданной вероятностью выпол
няется операция кроссинговера
Выполнение операторов генетического алгоритма
Над дан
ной
парой хромосом вначале с заданной вероятностью
выполняется опе
рация кроссинговера Реализуется операция следующим образом Если
случайно сгенерированное число

Р
, то
над данной парой выполня
ется кроссинговер Потомки проверяются на ограничения и сравнива
ются с родительскими хромосомами Если потомок не удовлетворяет
ограничениям или если полезность потомка меньше полезности роди
тельской хромосомы, то потомок отбрасывается и ищется новая родитель
ская пара для кроссинговера Если

>
Кр
, то над данной парой кроссинго
вер не выполняется, а несостоявшиеся родители переходят в следую
щий родительский пул
для выполнения следующего генетического
оператора
мутации Если потомок удовлетворяет ограничениям и
полезность потомка больше полезности родителя, то потомок переходит
в промежуточный родительский пул
, а родители отбрасываются В
8
данном варианте реализации ГА используется одноточечный кроссин
говер
Операция одноточечной мутации выполняется для каждого элемен
та бита каждой хромосомы из популяции
с заданной вероятностью
Мут
: попытка обмена задачи
, соответствующей выбранному элемен
ту
m
, на какуюлибо из отброшенных задач

, то есть назначенных сог
ласно данной хромосоме в фиктивный сервер с номером  Данная
хромосома переходит на следующий этап алгоритма, если после некото
рой попытки такого обмена она удовлетворяет ограничениям  и
, иначе ищется другая задача из множества отброшенных задач В
случае неудачи таких попыток для всех отброшенных задач хромосома
переходит на следующий этап без изменения
Пусть
 дочерняя популяция, полученная из популяции
в ре
зультате кроссинговера её особей и последующей мутации В следую
ùóþ íîâóþ îóëöèþ
1
могут попасть как особи только дочерней
популяции
, так и лучшие особи из дочерней
и родительской
по
пуляций
Создание новой популяции P
: хромосомы, полученной в резуль
тате операций отбора, кроссинговера и мутации над хромосомами теку
щей популяции
, переходят в
1
Вычисление качества популяции
 Данный этап необходим для
ведения статистики и для определения значения критерия останова: после
каждого шага ГА вычисляется полезность каждой хромосомы и полез
ность всей популяции, как сумма всех при
k
=1
Замена предыдущей популяции на новую и проверка критерия
останова
 В реализации ГА для данной задачи использованы следующие
критерии останова:
а заданное максимальное количество популяций;
б заданное максимальное значение полезности хромосомы
задан
ный процент от суммы весов всех задач начального множества
Самая полезная хромосома в популяции, полученная перед оста
новом, является решением задачи Данный алгоритм реализован на языке
программирования С
Интерфейс программы содержит две формы ввода:
а ввод данных, относящихся к основным параметрам кластера рис 
:

число заданий количество транзакций – 1;

суммарное число задач
N
, которое необходимо выполнить, чтобы
обслужить заявки задания пользователей количество ПМ
 – ;
ПМ – Программный модуль, так названы задачи в том смысле, что их решение в
кластере подразумевает выполнение задач на программном уровне
1

интенсивность поступления заданий m – ;

распределение задач по заданиям N
обр
 – , разыгрывается
случайно на интервале 1,
 – ;

производительность серверов м производительность и м
производительность – 6, разыгрывается случайно;

приоритеты выполняемых задач – 7;

количество операций в каждой задаче – 8;
количество серверов устройств обработки – УО, которое можно
задать кнопка Константа – 9, тогда задачи будут оптимально распре
делены по существующим серверам или не задавать кнопка Случ чис
ло – 1, тогда алгоритм определит оптимальное число серверов в клас
тере для обеспечения должного выполнения заданий пользователей
б ввод данных, относящихся к параметрам генетического алгоритма
рис 6:

размер популяции – 1, задается пользователем;

вероятность мутации – , задается пользователем;

критерий останова, который реализован в двух вариантах:
а порог – полезность популяции из поколения в поколение меняется
незначительно – ;
б число шагов выполнения алгоритма – 
1
11
Рис  Окно ввода исходных данных  основных параметров кластера
1
1
Рис 6 Окно ввода исходных данных – параметров генетического
алгоритма и вывода результатов работы генетического алгоритма
Результат работы генетического алгоритма выводится в это же ин
терфейсное окно на рис 6:

количество серверов в кластере, необходимое для выполнения за
даний транзакций пользователя с обеспечением оптимального времени
обслуживания заданий – 

распределение задач по серверам; если задан приоритет выполне
ния задач
, то и распределение приоритетов – 6;

количество итераций, которое понадобилось для получения луч
шей особи – 7;

можно посмотреть лучшую особь и худшую особь за всё время
работы генетического алгоритма – 8;

приспособленность особи: время обработки задания, которое скла
дывается соответственно из обработки и доставки результата задания 9;

распределение времен обработки и ожидания задач по серверам
кластера – 1
Оценим работу генетического алгоритма для двух вариантов: без
приоритета выполнения задач на серверах кластера и с приоритетом
Вариант 1
без приоритетная обработка задач в кластере, коли
чество серверов – случайное число
11
Исходные данные:

количество заданий – 7;

количество задач – 1;

обработка задач – без приоритетная;

количество операций в каждой задаче одинаково и равно ;
ПМ №
1
11
1
1
1
1
УО №
1

1
1
1
ПМ №
16
17
18
19

1




6
7
8
9

1
УО №
1

1
1
17
1
1
17
1
17
ПМ №




6
7
8
9

1




6
7
УО №
1
1
17
1
1
18
1
19
18
1
11
ПМ №
8
9

1




6
7
8
9
6
61
6
6
УО №
1
1

11

16
19
1
ПМ №
6
6
66
67
68
69
7
71
7
7
7
7
76
77
78
79
УО №
1

1
1
1
11
1
ПМ №
8
81
8
8
8
8
86
87
88
89
9
91
9
9
9
9
УО №
19
1



17

1
1
ПМ №
96
97
98
99
УО №
1
1
Таблица 
Распределение задач по серверам кластера для варианта 1
Рис 7 Результаты работы генетического алгоритма для варианта 1
1

количество серверов кластера – случайное число;

производительность серверов варьируется от  опс до 1 опс;

матрица распределения интенсивностей и задач по заданиям при
ведена на рис , обозначения  и 
Результат работы генетического алгоритма для варианта 1 приведен
на рис 7 и табл 
Лучшая хромосома
 за все время работы генетического алгорит
ìà ¹79, ìàêñèìàëüíîå çíà÷åíèå
 полезности хромосомы – это вре
мя обработки задания, которое составило ,7 единицы времени, из
них 1,896 – это обработка и 9,1796 – доставка Решение, близкое к реаль
ному, было найдено за 17 итераций Для обслуживания заданий пользо
вателей необходимо  сервера
Полное распределение задач по серверам кластера, которое получа
ется в результате работы генетического алгоритма, приведено в табл 
Распределение задач по серверам позволяет определить производи
тельность обработки заданий
уо
, среднее время обработки ROu и сред
нее время ожидания ROt заданий рис 7
Вариант 
:
без приоритетная обработка задач в кластере, коли
чество серверов – задано
Исходные данные: те же, что и для варианта 1, но количество серве
ров кластера задано и равно 1 рис 8 Соответственно, задачи будут
Рис 8 Исходные данные для варианта 
1
Рис 9 Результаты работы генетического алгоритма для варианта 
перераспределены с  серверов на 1 будем считать, что 1 серверов в
состоянии
сервер Оценим, как изменится при данных обстоятельствах
время обработки заданий пользователей
Результат работы генетического алгоритма для варианта  приведен
на рис 9 и табл Как видно из рис 9, общее время обработки
ПМ №
1
11
1
1
1
1
УО №
1
11
1
11
1
1
1
1
11
1
ПМ №
16
17
18
19

1




6
7
8
9

1
УО №
1
1

9
17
17
6
1
7
8
16

1
ПМ №




6
7
8
9

1




6
7
УО №
1
16

8

1
7

9
8

19

11
1

ПМ №
8
9

1




6
7
8
9
6
61
6
6
УО №

9
17
1
1

1

1
18
8

19

7
ПМ №
6
6
66
67
68
69
7
71
7
7
7
7
76
77
78
79
УО №
1
19

8
1
6
1
16


19
18
8

ПМ №
8
81
8
8
8
8
86
87
88
89
9
91
9
9
9
9
УО №
19
1



17

1
ПМ №
96
97
98
99
УО №
Таблица 
Новое распределение задач по серверам кластера для варианта 
1
Рис  Исходные данные для варианта 
заданий увеличилось, поскольку увеличилась загруженность серверов
кластера, находящихся в состоянии
сервер
Вариант 
:
приоритетная обработка задач в кластере, количест
во серверов – случайное число
Исходные данные:
 количество заданий, задач, матрицы распределений задач по тран
закциям и количество операций для каждой задачи не изменилось; уста
новлено  уровня приоритета обслуживания задач рис 
Результат работы генетического алгоритма для варианта  приведен
на рис 1 и табл 
С введением приоритета время обработки изменилось незначительно
Вариант 
:
приоритетная обработка задач в кластере, количест
во серверов – задано
Исходные данные: те же, что и для варианта  Количество серверов
кластера задано и равно 7 рис  Соответственно, задачи будут пере
распределены с 1 серверов на 7 будем считать, что 8 серверов в состоя
нии
сервер Оценим, как изменится при данных обстоятельствах время
обработки заданий пользователей
Результат работы генетического алгоритма для варианта  приведен
на рис  и табл 
В результате перераспределения задач с 1 серверов на меньшее –
1
Рисунок 1 Результаты работы генетического алгоритма для варианта 
ПМ №
1
11
1
1
1
1
УО №
1
1
11
11
ПМ №
16
17
18
19

1




6
7
8
9

1
УО №
1
11
1
1
1
1
ПМ





6
7
8
9

1




6
7
УО №
1
11
11
1
1
11
1
ПМ №
8
9

1




6
7
8
9
6
61
6
6
УО №
1
1
ПМ №
6
6
66
67
68
69
7
71
7
7
7
7
76
77
78
79
УО №
1
1
1
1
1
1
ПМ №
8
81
8
8
8
8
86
87
88
89
9
91
9
9
9
9
УО №
1
1
1
ПМ №
96
97
98
99
УО №
11
Таблица 
Распределение задач с приоритетами по серверам кластера
для варианта 
16
Рисунок  Исходные данные для варианта 
Рисунок  Результаты работы генетического алгоритма для варианта 
17
ПМ №
1
11
1
1
1
1
УО №
1
1
11
11
1
1
1
19
16
ПМ №
16
17
18
19

1




6
7
8
9

1
УО №
1
1
1
1
1
11
1
1
18
17
1
ПМ №




6
7
8
9

1




6
7
УО №


1
19
1
1
16

18

1
16
1
ПМ №
8
9

1




6
7
8
9
6
61
6
6
УО №
8
1
1
17
1
1
19
1
ПМ №
6
6
66
67
68
69
7
71
7
7
7
7
76
77
78
79
УО №
1
18

11
11
1
1

19
1


18
ПМ №
8
81
8
8
8
8
86
87
88
89
9
91
9
9
9
9
УО №
17
1
1
1
11
1
1
1
1
ПМ №
96
97
98
99
УО №
Таблица 
Перераспределение задач с приоритетами по серверам кластера
для варианта 
7 серверов общее время обработки заданий пользователей увеличилось
с 1,7 единиц времени на ,18
Вопросы и задания
1 Составьте схему поиска оптимального пути на графе в терминах
генетического алгоритма
 Приведите последовательность действий при реализации метода
отбора усечением
 Разработайте последовательность действий алгоритм реализации
метода пропорциональной селекции
 Разработайте последовательность действий алгоритм реализации
метода турнирной селекции
 От чего зависит число итераций в генетическом алгоритме? Обос
нуйте ответ
6 В чём состоят недостатки генетического алгоритма? Как эти не
достатки сказываются на результате работы генетического алгоритма?
7 Каково назначение операции мутация в генетическом алго
ритме, какое значение вероятности она принимает и почему?
18
8 Каково назначение операции кроссинговер в генетическом ал
горитме, какое значение вероятности она принимает и почему?
9 Каково назначение операции инверсия в генетическом алго
ритме, какое значение вероятности она принимает и почему?
1 Каким образом оценивается функция приспособленности и ка
кую роль она играет в генетическом алгоритме?
11 Составьте схему поиска оптимального количества серверов вы
числительного кластера в терминах генетического алгоритма Количество
серверов в кластере должно быть достаточным, чтобы заявки пользовате
лей обрабатывались за допустимое время
1 Приведите схему классического генетического алгоритма Объ
ясните, как он работает
1 Объясните суть задачи обеспечения отказоустойчивости вычис
лительного кластера, решаемой с применением генетического алгоритма

ЗАКЛЮЧЕНИЕ
Моделирование является основным методом исследований во всех
областях знаний и научно обоснованным методом оценок характеристик
сложных систем, используемым для принятия решений в различных
сферах инженерной деятельности Существующие и проектируемые си
стемы можно эффективно исследовать с помощью математических мо
делей аналитических и имитационных, реализуемых на современных
компьютерах, которые в этом случае выступают в качестве инструмента
экспериментатора с моделью системы
Модели сложных систем, какими являются сети телекоммуникаций,
обычно имеют комплексный вид, используют в своём составе сразу не
сколько представлений Сложная система  это такая, которую нельзя
понять, рассматривая её только с одной точки зрения и отобразив эту
точку зрения в виде наглядной модели рисунка на бумаге или в виде
математической модели, взаимосвязанной с наглядной моделью Чтобы
осмыслить многие аспекты, необходимые для решения задачи проекти
рования сложной системы, её разработчики должны рассматривать эту
систему с нескольких точек зрения Практика показала, что разработчи
кам иногда приходится отображать отдельную точку зрения на сложную
систему не одной, а несколькими моделями Различные точки зрения на
систему и все отображающие эти точки зрения модели объединяются в
проектной документации и в умах разработчиков в единое интегральное
представление о системе
Модели могут принимать различную форму в зависимости от спо
соба мышления исследователя, его взгляда на мир, используемой алгеб
ры Использование различных математических аппаратов впоследствии
приводит к различным возможностям в решении задач
Каждый подход к моделированию имеет свои достоинства и недос
татки Разные модели имеют разные возможности мощность для реше
ния задач, разные потребности в вычислительных ресурсах Один и тот
же объект может быть описан различными способами Инженер должен
грамотно применять то или иное представление, исходя из текущих
условий и стоящей перед ним проблемы

ЛИТЕР
ТУР
1 Задорожный ВН Имитационное и статистическое моделирование:
Учебное пособие – Омск: Издво ОмГТУ, 7 –1 с
 Карпов Ю Г Имитационное моделирование систем Введение в моде
лирование с AyLoc  – СПб : БХВПетербург,  –  с
 Кутузов ОИ, Задорожный В Н, Олзоева С И Имитационное модели
рование сетей массового обслуживания: Учебное пособие – УланУдэ:
Издво ВСГТУ, 1 – 8 с
 Поляк Ю Г Вероятностное моделирование на ЭВМ – М: Советское
радио, 1971 –  с
 Рыжиков Ю И Имитационное моделирование Теория и технологии
– СПб : КОРОНА принт,  – 8 с
6 Советов Б Я, Яковлев СА Моделирование систем: Учебник для вузов
– М: Высшая школа, 1 –  с
7 Соболь И М Численные методы МонтеКарло – М, 197 – 1 с
1
СОДЕРЖАНИЕ
ПРЕДИСЛОВИЕ

ВВЕДЕНИЕ

1 ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ

Вопросы и задания

1
 МА
ТЕМА
ТИЧЕСКИЕ С
ХЕМЫ МО
ДЕ
ЛИР
ОВ
АНИЯ
СИСТЕМ И СЕТЕЙ ТЕЛЕКОММУНИКАЦИЙ

1
1 Графовые модели сетей

1
11 Некоторые понятия теории графов

1
1 Случайные графы и сети

1
1 Перколяция Основные понятия


Вопросы и задания

7
 Системы и сети массового обслуживания

9
1 Система массового обслуживания как модель

1
 Экспоненциальная система массового обслуживания


 Экспоненциальные сети массового обслуживания

8
Вопросы и задания

9
 АЛГ
ОРИТ
МЫ МО
ДЕ
ЛИР
ОВ
АНИЯ СИСТЕМ
И СЕТЕЙ ТЕЛЕКОММУНИКАЦИЙ

61
1 Имитационное моделирование систем

61
11 Основные понятия имитационного моделирования

61
1 Построение моделирующего алгоритма

6
1 Схемы построения моделирующего алгоритма

7
1 Семафоры и связные списки

7
1 Алгоритмы обслуживания очередей

77
Вопросы и задания

79
 Статистическое моделирование

8
1 Концепция статистического моделирования

81
 Моделирование случайных факторов

8
 Точность результатов моделирования

96
 Планирование статистического эксперимента

99
Вопросы и задания

1
 Генетические алгоритмы в моделировании

1
1 История возникновения генетических алгоритмов

1
 Интерпретация основных понятий
генетических алгоритмов

16
 Операторы генетического алгоритма

17
 Классический генетический алгоритм

11
 Применение генетического алгоритма для
решения задачи обеспечения отказоустойчивости
вычислительного кластера

11

Вопросы и задания

17
ЗАКЛЮЧЕНИЕ

1
ЛИТЕРАТУРА

11
CONENS
FOREOR

INROUCION

1 BASIC CONCEPS
AN
YPES OF SIULA
ION OF
SYSES
AN
ELECOUNICA
IONS NEORKS

Queto  Poem

1
 A
EA
ICAL
SCEES OF SIULA
ION OF SYSES
AN
ELECOUNICA
IONS NEORKS

1
1 Gh moe of etok

1
11 Some cocet of h theoy

1
1 Rom h  etok

1
1 Pecoto Key cocet


Queto  Poem

7
 Queu ytem  etok

9
1
ueu ytem   moe

1
 Eoet ueu ytem QS


 Eoet ueu etok QN

8
Queto  Poem

9

ALGORIS OF SIULA
ION OF SYSES
AN
ELECOUNICA
IONS NEORKS

61
1 Smuto moe of ytem

61
11 Bc cocet of muto moe

61
1 Cotuct the muto othm

6
1 Scheme of cotuct the muto othm

7
1 Semhoe  thee t

7
1 Queu othm

77
Queto  Poem

79
 Stttc moe

8
1 he cocet of tttc moe

81
 Smuto of om fcto

8
 Accucy of muto eut

96
 P  tttc eemet

99
Queto  Poem

1
 Geetc othm  muto

1
1 toy of eetc othm

1
 Iteetto of the c cocet of eetc othm

16

 he oeto of eetc othm

17
 he cc eetc othm

11
 Acto of eetc othm to ove the oem
of fut toece comut cute

11
Queto  Poem

17
CONCLUSIONS

19
REFERENCES

1

Учебное издание
Олег Иванович Кутузов,
Татьяна Михайловна Татарникова
МОДЕЛИРОВАНИЕ
СИСТЕМ И СЕТЕЙ
ТЕЛЕКОММУНИКАЦИЙ
Учебное пособие
åààæòèð Î1Ñ1 ðàéíèâà
èìíüþòåðíàÿ â¸ðñòæà 11 Åð¸ìèí
ЛР № 9 от 196
Подписано в печать 1 Формат 6х9 116 Гарнитура Таймс”
Печать цифровая Усл печ л , Тираж  экз Заказ № 
РГГМУ, 19196, СанктПетербург, Малоохтинский пр 98
Отпечатано в ЦОП РГГМУ

Учебное издание
Олег Иванович Кутузов,
Татьяна Михайловна Татарникова
МОДЕЛИРОВАНИЕ
СИСТЕМ И СЕТЕЙ
ТЕЛЕКОММУНИКАЦИЙ
Учебное пособие
åààæòèð Î1Ñ1 ðàéíèâà
èìíüþòåðíàÿ â¸ðñòæà 11 Åð¸ìèí
ЛР № 9 от 196
Подписано в печать

1 Формат 6х9 116 Гарнитура Таймс”
Пе
чать цифровая Усл печ л
 Тираж  экз Заказ № 
РГ
ГМУ, 19196, СанктПетербург, Малоохтинский пр 98
Отпечатано в ЦОП РГГМУ

 he oeto of eetc othm17
 he cc eetc othm11
 Acto of eetc othm to ove the oem
of fut toece comut cute11
Queto  Poem17
CONCLUSIONS19
REFERENCES1

Вопросы и задания17
ЗАКЛЮЧЕНИЕ1
ЛИТЕРАТУРА11
CONENS
FOREOR
INROUCION
1 BASIC CONCEPS AN YPES OF SIULAION OF
SYSES AN ELECOUNICAIONS NEORKS6
Queto  Poem1
 AEAICAL SCEES OF SIULAION OF SYSES
AN ELECOUNICAIONS NEORKS1
1 Gh moe of etok1
11 Some cocet of h theoy1
1 Rom h  etok1
1 Pecoto Key cocet
Queto  Poem7
 Queu ytem  etok9
1 Queu ytem   moe1
 Eoet ueu ytem QS
 Eoet ueu etok QN8
Queto  Poem9
 ALGORIS OF SIULAION OF SYSES AN
ELECOUNICAIONS NEORKS61
1 Smuto moe of ytem61
11 Bc cocet of muto moe61
1 Cotuct the muto othm6
1 Scheme of cotuct the muto othm7
1 Semhoe  thee t7
1 Queu othm77
Queto  Poem79
 Stttc moe8
1 he cocet of tttc moe81
 Smuto of om fcto8
 Accucy of muto eut96
 P  tttc eemet99
Queto  Poem1
 Geetc othm  muto1
1 toy of eetc othm1
 Iteetto of the c cocet of eetc othm16
1
СОДЕРЖАНИЕ
ПРЕДИСЛОВИЕ
ВВЕДЕНИЕ
1 ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ6
Вопросы и задания1
 МАТЕМАТИЧЕСКИЕ СХЕМЫ МОДЕЛИРОВАНИЯ
СИСТЕМ И СЕТЕЙ ТЕЛЕКОММУНИКАЦИЙ1
1 Графовые модели сетей1
11 Некоторые понятия теории графов1
1 Случайные графы и сети1
1 Перколяция Основные понятия
Вопросы и задания7
 Системы и сети массового обслуживания9
1 Система массового обслуживания как модель1
 Экспоненциальная система массового обслуживания
 Экспоненциальные сети массового обслуживания8
Вопросы и задания9
 АЛГОРИТМЫ МОДЕЛИРОВАНИЯ СИСТЕМ
И СЕТЕЙ ТЕЛЕКОММУНИКАЦИЙ61
1 Имитационное моделирование систем61
11 Основные понятия имитационного моделирования61
1 Построение моделирующего алгоритма6
1 Схемы построения моделирующего алгоритма7
1 Семафоры и связные списки7
1 Алгоритмы обслуживания очередей77
Вопросы и задания79
 Статистическое моделирование8
1 Концепция статистического моделирования81
 Моделирование случайных факторов8
 Точность результатов моделирования96
 Планирование статистического эксперимента99
Вопросы и задания1
 Генетические алгоритмы в моделировании1
1 История возникновения генетических алгоритмов1
 Интерпретация основных понятий
генетических алгоритмов16
 Операторы генетического алгоритма17
 Классический генетический алгоритм11
 Применение генетического алгоритма для
решения задачи обеспечения отказоустойчивости
вычислительного кластера11

ЛИТЕРАТУРА
1 Задорожный ВН Имитационное и статистическое моделирование:
Учебное пособие – Омск: Издво ОмГТУ, 7 –1 с
 Карпов Ю Г Имитационное моделирование систем Введение в моде
лирование с AyLoc  – СПб : БХВПетербург,  –  с
 Кутузов ОИ, Задорожный В Н, Олзоева С И Имитационное модели
рование сетей массового обслуживания: Учебное пособие – УланУдэ:
Издво ВСГТУ, 1 – 8 с
 Поляк Ю Г Вероятностное моделирование на ЭВМ – М: Советское
радио, 1971 –  с
 Рыжиков Ю И Имитационное моделирование Теория и технологии
– СПб : КОРОНА принт,  – 8 с
6 Советов Б Я, Яковлев СА Моделирование систем: Учебник для вузов
– М: Высшая школа, 1 –  с
7 Соболь И М Численные методы МонтеКарло – М, 197 – 1 с

ЗАКЛЮЧЕНИЕ
Моделирование является основным методом исследований во всех
областях знаний и научно обоснованным методом оценок характеристик
сложных систем, используемым для принятия решений в различных
сферах инженерной деятельности Существующие и проектируемые си
стемы можно эффективно исследовать с помощью математических мо
делей аналитических и имитационных, реализуемых на современных
компьютерах, которые в этом случае выступают в качестве инструмента
экспериментатора с моделью системы
Модели сложных систем, какими являются сети телекоммуникаций,
обычно имеют комплексный вид, используют в своём составе сразу не
сколько представлений Сложная система  это такая, которую нельзя
понять, рассматривая её только с одной точки зрения и отобразив эту
точку зрения в виде наглядной модели рисунка на бумаге или в виде
математической модели, взаимосвязанной с наглядной моделью Чтобы
осмыслить многие аспекты, необходимые для решения задачи проекти
рования сложной системы, её разработчики должны рассматривать эту
систему с нескольких точек зрения Практика показала, что разработчи
кам иногда приходится отображать отдельную точку зрения на сложную
систему не одной, а несколькими моделями Различные точки зрения на
систему и все отображающие эти точки зрения модели объединяются в
проектной документации и в умах разработчиков в единое интегральное
представление о системе
Модели могут принимать различную форму в зависимости от спо
соба мышления исследователя, его взгляда на мир, используемой алгеб
ры Использование различных математических аппаратов впоследствии
приводит к различным возможностям в решении задач
Каждый подход к моделированию имеет свои достоинства и недос
татки Разные модели имеют разные возможности мощность для реше
ния задач, разные потребности в вычислительных ресурсах Один и тот
же объект может быть описан различными способами Инженер должен
грамотно применять то или иное представление, исходя из текущих
условий и стоящей перед ним проблемы
18
8 Каково назначение операции кроссинговер в генетическом ал
горитме, какое значение вероятности она принимает и почему?
9 Каково назначение операции инверсия в генетическом алго
ритме, какое значение вероятности она принимает и почему?
1 Каким образом оценивается функция приспособленности и ка
кую роль она играет в генетическом алгоритме?
11 Составьте схему поиска оптимального количества серверов вы
числительного кластера в терминах генетического алгоритма Количество
серверов в кластере должно быть достаточным, чтобы заявки пользовате
лей обрабатывались за допустимое время
1 Приведите схему классического генетического алгоритма Объ
ясните, как он работает
1 Объясните суть задачи обеспечения отказоустойчивости вычис
лительного кластера, решаемой с применением генетического алгоритма
17
ПМ №

1




6
8
9
1
11
1
1
1
1
УО № 7 1
9 1
7 11
11
8 1 1 9
1
19
16
 1 1  1 1  
1   
ПМ №
16
17
18
19

1




6
7
8
9

1
УО № 1
9 6 1
1 1
9 8
9 1 11 1
1
18
17
1
  1 1  1 1 
 1  
ПМ №




6
7
8
9

1




6
7
УО № 

1 7 19 1
1
16

9 18 
1
16
1
1    1 1  1 1
1 1 
 
ПМ №
8
9

1




6
7
8
9
6
61
6
6
УО №  8
7 8 1 1 9 17
1
1 6 19 1 1  
 1 1    1   1   1   
ПМ №
6
6
66
67
68
69
7
71
7
7
7
7
76
77
78
79
УО № 1
6 18  11 11
1
1

7 19 1

 
18
  1  1 1    1 1  1 1  
ПМ №
8
81
8
8
8
8
86
87
88
89
9
91
9
9
9
9
УО №   8 17 1 1
6 9 1
11 1 16
1
1
1
1
  1 1 1 1 1 1 1 1   1   
ПМ №
96
97
98
99
УО №    6
  1 1
Таблица 
Перераспределение задач с приоритетами по серверам кластера
для варианта 
7 серверов общее время обработки заданий пользователей увеличилось
с 1,7 единиц времени на ,18
Вопросы и задания
1 Составьте схему поиска оптимального пути на графе в терминах
генетического алгоритма
 Приведите последовательность действий при реализации метода
отбора усечением
 Разработайте последовательность действий алгоритм реализации
метода пропорциональной селекции
 Разработайте последовательность действий алгоритм реализации
метода турнирной селекции
 От чего зависит число итераций в генетическом алгоритме? Обос
нуйте ответ
6 В чём состоят недостатки генетического алгоритма? Как эти не
достатки сказываются на результате работы генетического алгоритма?
7 Каково назначение операции мутация в генетическом алго
ритме, какое значение вероятности она принимает и почему?
16
Рисунок  Исходные данные для варианта 
Рисунок  Результаты работы генетического алгоритма для варианта 
1
Рисунок 1 Результаты работы генетического алгоритма для варианта 
ПМ №

1




6
8
9
1
11
1
1
1
1
УО № 6 1
 1
1 9 11
 8 11 9
 1 1  1 1  
1   
ПМ №
16
17
18
19

1




6
7
8
9

1
УО №  1  1
11 7  
 9 1 1
1
1
1
  1 1  1 1 
 1  
ПМ №




6
7
8
9

1




6
7
УО № 1
11
7  11 8 6 8 1
 1 11
1

1    1 1  1 1
1 1 
 
ПМ №
8
9

1




6
7
8
9
6
61
6
6
УО №  1
 1 6 7  8 7 9  1 7 1  1
 1 1    1   1   1   
ПМ №
6
6
66
67
68
69
7
71
7
7
7
7
76
77
78
79
УО № 6  1 1   1
 1
 9 1
6 1 1
7
  1  1 1    1 1  1 1  
ПМ №
8
81
8
8
8
8
86
87
88
89
9
91
9
9
9
9
УО №    1 1 7   8 1 9 8  7 1

  1 1 1 1 1 1 1 1   1   
ПМ №
96
97
98
99
УО № 11
9  
  1 1
Таблица 
Распределение задач с приоритетами по серверам кластера
для варианта 
1
Рис  Исходные данные для варианта 
заданий увеличилось, поскольку увеличилась загруженность серверов
кластера, находящихся в состоянии
сервер
Вариант 
:
приоритетная обработка задач в кластере, количест
во серверов – случайное число
Исходные данные:
 количество заданий, задач, матрицы распределений задач по тран
закциям и количество операций для каждой задачи не изменилось; уста
новлено  уровня приоритета обслуживания задач рис 
Результат работы генетического алгоритма для варианта  приведен
на рис 1 и табл 
С введением приоритета время обработки изменилось незначительно
Вариант 
:
приоритетная обработка задач в кластере, количест
во серверов – задано
Исходные данные: те же, что и для варианта  Количество серверов
кластера задано и равно 7 рис  Соответственно, задачи будут пере
распределены с 1 серверов на 7 будем считать, что 8 серверов в состоя
нии
сервер Оценим, как изменится при данных обстоятельствах время
обработки заданий пользователей
Результат работы генетического алгоритма для варианта  приведен
на рис  и табл 
В результате перераспределения задач с 1 серверов на меньшее –
1
Рис 9 Результаты работы генетического алгоритма для варианта 
перераспределены с  серверов на 1 будем считать, что 1 серверов в
состоянии
сервер Оценим, как изменится при данных обстоятельствах
время обработки заданий пользователей
Результат работы генетического алгоритма для варианта  приведен
на рис 9 и табл Как видно из рис 9, общее время обработки
ПМ №

1




6
8
9
1
11
1
1
1
1
УО № 1
6 11 1
11 9 1
1
9 8 1 7
1
11
1
ПМ №
16
17
18
19

1




6
7
8
9

1
УО № 1
8 1 
9 17
17
6
1
9 7 8
16

1
ПМ №




6
7
8
9

1




6
7
УО № 1
16
 8
 1
7

9
8  19

11
1

ПМ №
8
9

1




6
7
8
9
6
61
6
6
УО №  9
17 1 1  1 
1
18 8   19  7
ПМ №
6
6
66
67
68
69
7
71
7
7
7
7
76
77
78
79
УО № 1 19
 8 1 6
1
16

 19 7 18
8
9 
ПМ №
8
81
8
8
8
8
86
87
88
89
9
91
9
9
9
9
УО № 19 7 1  7 9 6 
7   17

1
 
ПМ №
96
97
98
99
УО №    
Таблица 
Новое распределение задач по серверам кластера для варианта 
1

количество серверов кластера – случайное число;

производительность серверов варьируется от  опс до 1 опс;

матрица распределения интенсивностей и задач по заданиям при
ведена на рис , обозначения  и 
Результат работы генетического алгоритма для варианта 1 приведен
на рис 7 и табл 
Лучшая хромосома
 за все время работы генетического алгорит
ìà ¹79, ìàêñèìàëüíîå çíà÷åíèå
 полезности хромосомы – это вре
мя обработки задания, которое составило ,7 единицы времени, из
них 1,896 – это обработка и 9,1796 – доставка Решение, близкое к реаль
ному, было найдено за 17 итераций Для обслуживания заданий пользо
вателей необходимо  сервера
Полное распределение задач по серверам кластера, которое получа
ется в результате работы генетического алгоритма, приведено в табл 
Распределение задач по серверам позволяет определить производи
тельность обработки заданий
уо
, среднее время обработки ROu и сред
нее время ожидания ROt заданий рис 7
Вариант 
:
без приоритетная обработка задач в кластере, коли
чество серверов – задано
Исходные данные: те же, что и для варианта 1, но количество серве
ров кластера задано и равно 1 рис 8 Соответственно, задачи будут
Рис 8 Исходные данные для варианта 
11
Исходные данные:

количество заданий – 7;

количество задач – 1;

обработка задач – без приоритетная;

количество операций в каждой задаче одинаково и равно ;
ПМ №

1




6
8
9
1
11
1
1
1
1
УО № 1
8 
1 6 8 
 8 1 7
1
1
ПМ №
16
17
18
19

1




6
7
8
9

1
УО №  8
1 
1 1
17
1
1
 17 1
17
ПМ №




6
7
8
9

1




6
7
УО № 1
1  17 1
9 1
18 1 19
18
1
11
ПМ №
8
9

1




6
7
8
9
6
61
6
6
УО № 1 1
8 6 1 
6 11
 8  16 1 1 19 1
ПМ №
6
6
66
67
68
69
7
71
7
7
7
7
76
77
78
79
УО №  1
   1
1
6 1 1 11  1 1
9 1
ПМ №
8
81
8
8
8
8
86
87
88
89
9
91
9
9
9
9
УО № 19 7 1    6 
7   17

1
 1
ПМ №
96
97
98
99
УО № 1 6  1
Таблица 
Распределение задач по серверам кластера для варианта 1
Рис 7 Результаты работы генетического алгоритма для варианта 1
1
1
Рис 6 Окно ввода исходных данных – параметров генетического
алгоритма и вывода результатов работы генетического алгоритма
Результат работы генетического алгоритма выводится в это же ин
терфейсное окно на рис 6:

количество серверов в кластере, необходимое для выполнения за
даний транзакций пользователя с обеспечением оптимального времени
обслуживания заданий – 

распределение задач по серверам; если задан приоритет выполне
ния задач
, то и распределение приоритетов – 6;

количество итераций, которое понадобилось для получения луч
шей особи – 7;

можно посмотреть лучшую особь и худшую особь за всё время
работы генетического алгоритма – 8;

приспособленность особи: время обработки задания, которое скла
дывается соответственно из обработки и доставки результата задания 9;

распределение времен обработки и ожидания задач по серверам
кластера – 1
Оценим работу генетического алгоритма для двух вариантов: без
приоритета выполнения задач на серверах кластера и с приоритетом
Вариант 1
без приоритетная обработка задач в кластере, коли
чество серверов – случайное число
1

интенсивность поступления заданий m – ;

распределение задач по заданиям N
обр
 – , разыгрывается
случайно на интервале 1,
 – ;

производительность серверов м производительность и м
производительность – 6, разыгрывается случайно;

приоритеты выполняемых задач – 7;

количество операций в каждой задаче – 8;
количество серверов устройств обработки – УО, которое можно
задать кнопка Константа – 9, тогда задачи будут оптимально распре
делены по существующим серверам или не задавать кнопка Случ чис
ло – 1, тогда алгоритм определит оптимальное число серверов в клас
тере для обеспечения должного выполнения заданий пользователей
б ввод данных, относящихся к параметрам генетического алгоритма
рис 6:

размер популяции – 1, задается пользователем;

вероятность мутации – , задается пользователем;

критерий останова, который реализован в двух вариантах:
а порог – полезность популяции из поколения в поколение меняется
незначительно – ;
б число шагов выполнения алгоритма – 
1
11
Рис  Окно ввода исходных данных  основных параметров кластера
8
данном варианте реализации ГА используется одноточечный кроссин
говер
Операция одноточечной мутации выполняется для каждого элемен
та бита каждой хромосомы из популяции
с заданной вероятностью
Мут
: попытка обмена задачи
, соответствующей выбранному элемен
ту
m
, на какуюлибо из отброшенных задач

, то есть назначенных сог
ласно данной хромосоме в фиктивный сервер с номером  Данная
хромосома переходит на следующий этап алгоритма, если после некото
рой попытки такого обмена она удовлетворяет ограничениям  и
, иначе ищется другая задача из множества отброшенных задач В
случае неудачи таких попыток для всех отброшенных задач хромосома
переходит на следующий этап без изменения
Пусть
 дочерняя популяция, полученная из популяции
в ре
зультате кроссинговера её особей и последующей мутации В следую
ùóþ íîâóþ îóëöèþ
1
могут попасть как особи только дочерней
популяции
, так и лучшие особи из дочерней
и родительской
по
пуляций
Создание новой популяции P
: хромосомы, полученной в резуль
тате операций отбора, кроссинговера и мутации над хромосомами теку
щей популяции
, переходят в
1
Вычисление качества популяции
 Данный этап необходим для
ведения статистики и для определения значения критерия останова: после
каждого шага ГА вычисляется полезность каждой хромосомы и полез
ность всей популяции, как сумма всех при
k
=1
Замена предыдущей популяции на новую и проверка критерия
останова
 В реализации ГА для данной задачи использованы следующие
критерии останова:
а заданное максимальное количество популяций;
б заданное максимальное значение полезности хромосомы
задан
ный процент от суммы весов всех задач начального множества
Самая полезная хромосома в популяции, полученная перед оста
новом, является решением задачи Данный алгоритм реализован на языке
программирования С
Интерфейс программы содержит две формы ввода:
а ввод данных, относящихся к основным параметрам кластера рис :

число заданий количество транзакций – 1;

суммарное число задач
N
, которое необходимо выполнить, чтобы
обслужить заявки задания пользователей количество ПМ
 – ;
ПМ – Программный модуль, так названы задачи в том смысле, что их решение в
кластере подразумевает выполнение задач на программном уровне
7
начального размещения задач формируется план Z =
j
результиру
ющего отказоустойчивого размещения задач для всех серверов, как ука
зано выше Последовательность выполнения ГА, формирующего план
состоит из следующих шагов
Создание начальной популяции Р
состоит в выполнении опера
ции инициализации для каждой особи из её
хромосом, те случай
ного распределения задач по
ПМ некоторого данного состояния с од
новременной проверкой заданных ограничений на объём памяти ПМ и на
максимальное суммарное время выполнения задач на каждом сервере
задается пользователем Алгоритм инициализации одной хромосомы:

формирование случайного списка задач;

выбор очередной задачи из списка, если он не пуст, в противном
случае окончание работы алгоритма;

попытка размещения выбранной задачи в
й
сервер данного
состояния 

=1,,
,
– число
серверов, начиная с

=1 при проверке
ограничений  и : данная задача назначается для решения в
й
сервер, если ограничения  и  для него не нарушены, иначе –
попытка разместить её в 
1й сервер; процедура продолжается до наи
большего номера
сервера;

если данную задачу не удается разместить ни на один сервер –
отбрасывание этой задачи и переход к шагу 

Селекция отбор хромосом для скрещивания
 В данной реализа
ции алгоритма выбран метод пропорциональной селекции хромосом
непосредственно из предшествующей популяции на первой итерации
– из начальной Из них случайным образом формируются пары различ
ных хромосом, и над каждой из этих пар с заданной вероятностью выпол
няется операция кроссинговера
Выполнение операторов генетического алгоритма
Над данной
парой хромосом вначале с заданной вероятностью
выполняется опе
рация кроссинговера Реализуется операция следующим образом Если
случайно сгенерированное число

Р
, то
над данной парой выполня
ется кроссинговер Потомки проверяются на ограничения и сравнива
ются с родительскими хромосомами Если потомок не удовлетворяет
ограничениям или если полезность потомка меньше полезности роди
тельской хромосомы, то потомок отбрасывается и ищется новая родитель
ская пара для кроссинговера Если

>
Кр
, то над данной парой кроссинго
вер не выполняется, а несостоявшиеся родители переходят в следую
щий родительский пул
для выполнения следующего генетического
оператора
мутации Если потомок удовлетворяет ограничениям и
полезность потомка больше полезности родителя, то потомок переходит
в промежуточный родительский пул
, а родители отбрасываются В
6
где

множество собственных задача отказавших серверов;
мно
жество
серверов для состояния
, при ограничениях:
1 на суммарное время выполнения сервером
всех задач, назна
ченных ему в состоянии

jj
,,1,
=
=


где
число
серверов в состоянии
,


ресурс вре
мени для размещения на сервер
копий задач отказавших серверов,

заданное граничное значение суммарного времени выпол
нения всех задач, назначенных на
сервер
;

суммарное время
выполнения всех собственных задач сервера
на объём памяти каждого
сервера
, доступный для размеще
ния копий задач, дополнительно назначаемых этому серверу для вы
полнения в искаженном состоянии



=
jj
V



,  = 1,,
где

SN
VV
=
максимальный объъём памяти сервера
;
объём
памяти сервера

, занятый его собственными задачами;

SN
чис
ло таких состояний
, в которых данный сервер
не отказал и при
учёте, что в каждом состоянии
задача

может либо назначена
только в один
сервер, либо отброшена, те
j

,1

Рассматриваем случай, когда в каждом состоянии
подвергаются
перераспределению, те передаются для выполнения в какиелибо
серверы, либо отбрасываются только собственные задачи отказавших
серверов, а собственные задачи всех
серверов продолжают выполнять
ся на своих серверах
Решение задачи
 В качестве функции полезности
 принята функ
циональная мощность системы в состоянии
сумма весов тех задач
, для которых
 для данной хромосомы
 Решение задачи состоит
в вычислении с помощью ГА плана размещения задач
для каждого
состояния
 Затем на основе всех полученных планов
и плана

матрицей
=

j
, где

j
= 1, если задача
назначена для выполнения
на сервере
и размещена в нем,

j
=  в противном случае; каждая за
дача назначена на один и только один сервер Задачи, назначенные на
сервер
в соответствии с начальным размещением задач, назовем
собственными задачами этого сервера
Качество работы кластера оцениваем его функциональной мощно
стью
в состоянии
v
, которое определяется как сумма весов всех задач,
назначаемых для выполнения в работоспособные серверы в состоянии
Требуемый уровень отказоустойчивости кластера задается множе
ством
=
 работоспособных состояний, которое определяется как
множество всех таких состояний, число
отказавших серверов для кото
рых не превосходит заданного значения
, очевидно
S
= 
, где
=
множество искаженных работоспособных состояний
Требуется путем организации при отказах сервера надлежащего
перераспределения задач между различными
серверами обеспечить
выполнение заданных требований к отказоустойчивости кластера и к
другим его показателям Для этого при проектировании кластера или
при подготовке к реализации в нём определенного задания, необходимо
найти оптимальные планы
=
j
распределения задач для каждого
состояния
и результирующее отказоустойчивое размещение задач
Z =
j
для всех серверов, где
j
= 1, если задача
размещена на сервере
те её программный код загружен в память сервера
,
j
=  в про
тивном случае;
j
определяется как дизъюнкция значений
j
для всех
состояний
включая начальное
После того как оптимальные планы
найдены, каждый сервер
заранее обеспечивается аппаратными и программными ресурсами, не
обходимыми для выполнения задач, которые могут назначаться ему в
любом состоянии
S
При
переходе кластера вследствие отказов неко
торых серверов в любое искаженное состояние
и обнаружении
этого факта во всех
серверах начинается выполнение задач, назначен
ных им в соответствии с планом
Применим ГА для решения задачи рационального статистического
перераспределения задач
Постановка задачи:
Для каждого искаженного работоспособного
состояния
найти такой план
=
j
распределения задач
при
котором достигается максимальное значение функциональной мощнос
ти системы в состоянии




U
jj

m,


размещения задач, те такого статического распределения задач по серве
рам, при котором определенное число копий каждой задачи размещается
на различных серверах
Кластер рассматривается как совокупность
однотипных серверов,
объединенных коммутационной системой рис  Каждый сервер
имеет один процессор и память ограниченного объема Кластер выпол
няет фиксированное задание Г, которое представляет собой известное
ìíîæåñòâî çàäà÷ Ã=
,
,  ,
 с заданными требованиями к порядку
их выполнения и взаимосвязям
Каждая задача
характеризуется следующими показателями:
– вес задачи, те величина, определяющая важность задачи
для
системы более важной задаче соответствует больший вес;
– объем оперативной памяти, требуемый для хранения и выполне
ния задачи;
– время выполнения задачи
В процессе работы кластера возможны отказы серверов Состояние
кластера определяется как
,,
, где
=, если
– работоспособ
ный сервер 
сервер и
=1, если
– отказавший сервер 
сервер;
=  – начальное состояние кластера; все состояния
назы
ваются искаженными Известно начальное распределение задач по
серверам при отсутствии их отказов для состояния
, описываемое
Рис  Общая схема взаимодействия пользователей с кластером

ностью
, равной численности текущей популяции
Применение гене
тических операторов
к хромосомам, отобранным с помощью селекции,
приводит к формированию новой популяции потомков от созданной на
предыдущем шаге родительской популяции
В классическом генетическом алгоритме применяются два основ
ных генетических оператора: оператор скрещивания и операторы мута
ции и инверсии Однако следует отметить, что операторы мутации и
инверсии играют явно второстепенную роль по сравнению с оператором
скрещивания Это означает, что скрещивание в классическом генетичес
ком алгоритме производится практически всегда, а мутация и инверсия
достаточно редко Вероятность скрещивания, как правило, достаточно
велика обычно ,
1, тогда как вероятности мутации и инверсии
устанавливаются весьма малыми чаще всего 
,1; 
,1
Это следует из аналогии с миром живых организмов, где мутации проис
ходят чрезвычайно редко
В генетическом алгоритме мутация и инверсия хромосом могут
выполняться на популяции родителей перед скрещиванием или на попу
ляции потомков, образованных в результате скрещивания
Формирование новой популяции
 Хромосомы, полученные в резуль
тате применения генетических операторов к хромосомам временной
родительской популяции, включаются в состав новой популяции Она
становится так называемой текущей популяцией для данной итерации
генетического алгоритма На каждой очередной итерации рассчитыва
ются значения функции приспособленности для всех хромосом этой
популяции Затем проверяется условие остановки алгоритма и либо фик
сируется результат в виде хромосомы с наибольшим значением функции
приспособленности, либо осуществляется переход к следующему шагу
генетического алгоритма, те к селекции В классическом генетическом
алгоритме вся предшествующая популяция хромосом замещается новой
популяцией потомков, имеющей ту же численность
Выбор наилучшей хромосомы
Если условие остановки алгоритма
выполнено, то следует вывести результат работы, те представить искомое
решение задачи Лучшим решением считается хромосома
с наиболь
шим значением функции приспособленности
AFAF
m

 Применение генетического алгоритма для решения задачи
обеспечения отказоустойчивости вычислительного кластера
Рассмотрим задачу обеспечения отказоустойчивости вычислитель
ного кластера Этот подход реализуется посредством отказоустойчивого

участие в создании новых особей имеют хромосомы с наибольшими зна
чениями функции приспособленности
Существуют различные методы селекции, наиболее популярные
описаны в разд  В результате процесса селекции создается роди
тельская популяция, также называемая родительским пулом с числен
Рис 
Этапы генетического алгоритма
11
1

11
1
Инициализация
=
Популяция

Хромосома 1:
Хромосома :

Хромосома
:
Порядок:
1

 Оценивание приспособленности
Хромосомы в
популяции

1   
1
Функция
приспособ
ленности
 Условие завершения:
если оно выполнено,
то выбрать наилучшую хромосому и КОНЕЦ
 Селекция:

Популяция
 Популяция
М

Родительский пул
Селекция
Хромосома1:
Хромосома :
Хромосома :
Хромосома :

Хромосома
:
Хромосома
1:
 Генетические операторы:
Скрещивание в точке
:
Одна пара хромосом, 111 111
выбранная из 111 111
популяции

с вероятностью
Порядок: 1


L

Мутация в точке
:
Одна пара хромосом, 11 1
выбранная из
популяции
 Порядок: 1


L

с вероятностью

скрещивание
мутация
1111
1

11
Популяция
1
Хромосома 1:
Хромосома :

Хромосома
:
Порядок:
1
6 Новая популяция
Переход к шагу 
1
нения В оптимизационных задачах, если известно максимальное или
минимальное значение функции приспособленности, то остановка алго
ритма может произойти после достижения ожидаемого оптимального
значения, возможно, с заданной точностью Остановка алгоритма также
может произойти в случае, когда его выполнение не приводит к улучше
нию уже достигнутого значения Алгоритм может быть остановлен по
истечении определенного времени выполнения или после выполнения
заданного количества итераций Если условие остановки выполнено, то
производится переход к завершающему этапу выбора наилучшей хро
мосомы В противном случае на следующем шаге выполняется селекция
Селекция хромосом
заключается в выборе по рассчитанным на
втором этапе значениям функции приспособленности тех хромосом,
которые будут участвовать в создании потомков для следующей попу
ляции, те для очередного поколения Такой выбор производится, соглас
но принципу естественного отбора, по которому наибольшие шансы на
Начало
Генерация исходной популяции
хромосом
Оценивание приспособлен
ности хромосом в популяции
Условие завершения
выполнено?
Селекция хромосом
Применение
генетических
операторов
Создание новой
популяции
Нет
Да
Выбор
наилучшей
хромосомы
Конец
Рисунок  Схема классического генетического алгоритма

ледующая популяция
1
может быть образована как целиком только из
потомков хромосом предыдущей популяции
, полученных в результате
применения к
генетических операторов, так и частичным сохранением
наилучших особей из
 В первом случае новые хромосомы полностью
заменяют старые, а во втором – только менее ценные из них
Работа ГА прекращается при достижении текущей популяцией сос
тояния адаптации, которое идентифицируется по стягиванию ядра попу
ляции сначала в круг, а затем в точку Алгоритм не гарантирует получение
глобального экстремума хотя это и возможно, а даёт некоторое хоро
шее решение за приемлемое время
 Классический генетический алгоритм
Работа ГА – итеративный процесс, продолжающийся вплоть до вы
полнения заданных условий остановки: близость полученных решений
к заданному значению, прекращение роста средней полезности попу
ляции, минимальная численность популяции, число итераций и др Основ
ной классический генетический алгоритм состоит из следующих шагов:
1 генерация случайным образом начальной популяции хромосом
= 
,,
k
,, A
No
;
 оценка приспособленности хромосом в популяции;
 проверка условия остановки алгоритма;
 селекция хромосом;
 применение к начальной популяции последовательности генети
ческих операторов, порождающей новую популяцию
б формирование новой популяции
P
1
7 выбор наилучшей хромосомы
Блоксхема основного генетического алгоритма изображена на рис
 Рассмотрим конкретные этапы этого алгоритма с использованием
дополнительных подробностей, представленных на рис 
Генерация
или формирование исходной популяции заключается в
случайном выборе заданного количества хромосом особей, закодиро
ванных двоичными последовательностями фиксированной длины
Оценивание приспособленности хромосом в популяции
состоит в
расчёте функции приспособленности для каждой хромосомы этой попу
ляции Чем больше значение этой функции, тем выше качество хромо
сомы Предполагается, что функция приспособленности всегда прини
мает неотрицательные значения и, кроме того, что для решения оптими
зационной задачи требуется максимизировать эту функцию
Проверка условия остановки алгоритма
 Определение условия
остановки генетического алгоритма зависит от его конкретного приме

хромосомы из родительской популяции объединяются в пары Это объе
динение производится случайным способом в соответствии с вероят
ностью скрещивания
 Далее для каждой пары отобранных таким об
разом родителей разыгрывается позиция гена в хромосоме, определяю
щая так называемую точку скрещивания Если хромосома каждого из ро
дителей состоит из
генов, то очевидно, что точка скрещивания
пред
ставляет собой натуральное число, меньше
 Поэтому фиксация точки
скрещивания сводится к случайному выбору числа из интервала 1,
1
В результате скрещивания пары родительских хромосом получается сле
дующая пара потомков:
1 потомок, хромосома которого на позициях от 1 до
состоит из
генов первого родителя, а на позициях от
 1 до
из генов второго
родителя;
 потомок, хромосома которого на позициях от 1 до
, состоит из
генов второго родителя, а на позициях от
1 до
 из генов первого
родителя
Приведённые примеры относятся одноточечному кроссинговеру
Используются также различные варианты многоточечного кроссинго
вера, когда хромосомыродители разрываются не в одном месте, а в нес
кольких
Мутация
применяется с некоторой достаточно низкой вероятно
стью
обычно
,1 к хромосомам, полученным после кроссин
говера Оператор одноточечной мутации выбирает случайным образом
ген в хромосоме и меняет его значение на другое из области допустимых
значений Например, если в хромосоме 111111 мутации подвер
гается ген на позиции 7, то его значение, равное 1, изменяется на , что
приводит к образованию хромосомы 11111 Вероятность
мутации может эмулироваться, например, случайным выбором числа
из интервала ,1 для каждого гена и отбором для выполнения этой опе
рации тех генов, для которых разыгранное число оказывается меньшим
или равным значению
 Применяется и многоточечная мутация, ко
торая является композицией нескольких одноточечных мутаций
Инверсия
может применяться с ненулевой и очень низкой вероят
ностью наряду с мутациями Она изменяет не значения генов, а только
порядок их следования в случайно выбранной хромосоме В простейшем
случаем в такой хромосоме случайным образом выбирается точка раз
рыва, и меняются местами начало и конец хромосомы Допустимо при
менение многоточечной инверсии
Кроссинговер, мутация и инверсия могут порождать новые хромо
сомы решения, которые никогда не встречались в предыдущих популя
циях Их следует оценить значениями функции приспособленности Пос
8
имеющая максимальное значение функции приспособленности, выби
àåòñ â ñëåäóþùóþ îóëöèþ
P
1
 Эта операция повторяется
раз
Строки в полученном промежуточном массиве затем используются для
скрещивания также случайным образом Размер группы строк, отбира
емых для турнира, часто равен  В этом случае говорят о двоичномпар
ном турнире, а
называют численностью турнира Преимуществом дан
ной стратегии является то, что она не требует дополнительных вычисле
ний и упорядочивания строк в популяции по возрастанию приспособлен
ности
Отбор усечением
Данная стратегия использует отсортированную
по возрастанию популяцию Число особей для скрещивания выбирается
в соответствии с порогом ; 1 Порог определяет, какая доля особей,
начиная с самой первой самой приспособленной, будет принимать
участие в отборе В принципе, порог можно задать и числом больше 1,
тогда он будет просто равен числу особей из текущей популяции, допу
щенных к отбору Среди особей, попавших под порог” случайным обра
зом
раз выбирается самая везучая и записывается в промежуточный
массив, из которого затем выбираются особи непосредственно для скре
щивания Изза того, что в этой стратегии используется отсортированная
популяция, время её работы может быть большим для популяций боль
шого размера и зависеть также от алгоритма сортировки
Кроссинговер скрещивание
 В простейшем случае кроссинговер
в генетическом алгоритме реализуется так же, как и в биологии, его ус
ловная схема приведена на рис 1 При этом хромосомы разрезаются
в случайной точке и обмениваются частями между собой Например,
если хромосомы 1, , , ,  и , , , ,  разрезать между третьим и
четвертым генами и обменять их части, то получатся потомки 1, , , ,
 и , , , , 
На первом этапе скрещивания выбираются пары хромосом из роди
тельской популяции родительского пула Это временная популяция сос
тоящая из хромосом, отобранных в результате селекции и предназначен
ных для дальнейших преобразований операторами скрещивания и мута
ции с целью формирования новой популяции потомков На данном этапе
1    
    
1    
    
Рис 1 Условная схема кроссинговера
7
При
пропорциональной селекции
вероятность выбора
й хромосо
мы определяется как


AF
AF
AP
1
при условии, что
 >  для всех
k
=1
Этот принцип программно реализуется на основе метафоры коле
са рулетки Данный метод отбирает особей с помощью
запусков
рулетки Колесо рулетки содержит по одному сектору для каждого члена
популяции Всё колесо рулетки соответствует сумме значений функции
приспособленности всех хромосом рассматриваемой популяции Каж
дой хромосоме
соответствует сектор колеса
, выраженной в про
центах согласно формуле:
v
 =
P
1%
Поэтому чем больше значение функции приспособленности, тем
больше сектор на колесе рулетки Следовательно, члены популяции с бо
лее высокой приспособленностью с большей вероятностью будут чаще
выбираться, чем особи с низкой приспособленностью рис
Если всю окружность колеса рулетки представить в виде цифрового
интервала , 1, то выбор хромосомы можно отождествить с выбором
числа из интервала 
,
, где
и
обозначают соответственно начало и
окончание фрагмента окружности, соответствующего этому сектору ко
ëåñà; î÷åâèäíî, ÷òî


1 В этом случае выбор с помощью ко
леса рулетки сводится к выбору числа из интервала , 1, которое со
ответствует конкретной точке на окружности колеса
При
турнирной селекции
из популяции
случайным образом вы
бирается подмножество
P
и хромосома из этого подмножества,
111111%
111111%
1111%
11111111%
Рис  Метод рулетки с пропорциональными секторами
функции приспособленности
6
в этой хромосоме будет один бит С каждым геном
сопоставлено мно
æåñòâî
= 
 его возможных значений

аллелей
 или 1 На
множестве решений хромосом задается целевая функция ЦФ –
функция полезности
=
  эффективность решения
Эта функция играет важнейшую роль, поскольку позволяет оценить
степень приспособленности конкретных особей в популяции и выбрать
из них наиболее приспособленные те имеющие наибольшие значения
функции приспособленности в соответствии с эволюционным прин
ципом выживания сильнейших лучше всего приспособившихся В за
дачах оптимизации функция приспособленности, как правило, оптимизи
руется точнее, максимизируется и называется целевой функцией Та
ким образом, генетический алгоритм осуществляет поиск хромосомы
, для которой
AFAF
m


На каждой итерации генетического алгоритма приспособленность
каждой особи данной популяции оценивается при помощи функции
приспособленности, и на этой основе создается следующая популяция
особей, составляющих множество потенциальных решений проблемы
Размерность
численность
популяции
может изменяться в про
цессе работы алгоритма, но наиболее распространены ГА, для которых
= сot От размера популяции зависит время поиска решения и его
качество Важно, что размер популяции значительно меньше числа
всех допустимых решений Именно это позволяет находить решение за
приемлемое время
Очередная популяция в генетическом алгоритме называется
поколением
, а к вновь создаваемой популяции особей применяется тер
мин
новое поколение
или
поколение потомков
 Операторы генетического алгоритма
Последовательность генетических операторов обычно включает
операторы отбора репродукции, кроссинговера скрещивание, мута
ции и инверсии Все эти операторы являются вероятностными, те их
параметры – случайные величины
Отбор селекция
есть формирование следующей популяции из
имеющейся в данный момент Он имитирует принцип выживания силь
нейших и осуществляется путем стохастической, но целенаправленной
селекции, те отбора лучших хромосом на основе их значений функции
полезности Основные виды селекции: пропорциональная, турнирная
и усечёнием

методов оптимизации несколькими базовыми элементами В частности,
генетические алгоритмы:
 обрабатывают не значения параметров самой задачи, а их закоди
рованную форму;
 осуществляют поиск решения исходя не из единственной точки, а
из их некоторой популяции;
 используют только целевую функцию, а не её производные либо
иную дополнительную информацию;
 применяют вероятностные, а не детерминированные правила вы
бора
Эти свойства приводят в результате к устойчивости генетических
алгоритмов и к их превосходству над другими широко применяемыми
технологиями
Основным недостатком ГА является то, что неизвестно, сколько
понадобится времени для решения задачи
Только в конце 9х г стали появляться научные работы, показавшие
применимость и значимость использования генетических алгоритмов в
задачах оптимизации технических систем
 Интерпретация основных понятий генетических алгоритмов
При описании генетических алгоритмов используются определе
ния, заимствованные из генетики Например, речь идёт о популяции осо
бей, в качестве базовых понятий применяются ген, хромосома, генотип
и другие Этим генетическим терминам соответствуют определения из
технического лексикона, в частности, цепь, двоичная последовательность,
итерация, структура
Генетический алгоритм осуществляет поиск лучшего решения в
пространстве поиска решений Это пространство под воздействием меха
низмов эволюции изменяется в направлении улучшения содержащих
ся в нём решений Результатом такой эволюции должно быть пространст
во поиска, содержащее наилучшие или приемлемые решения, которые
и обнаруживаются алгоритмом
В терминологии ГА пространство поиска решений интерпрети
руется как
популяция
Р
= 
,,
,,
, а каждое решение из этого
пространства – как
хромосома
или
особь
, представляемая в виде
строки символов, называемых
генами
=
,,
,,

Для этого выполняется кодирование независимых хромосом либо
в двоичном формате, либо в формате с плавающей запятой Тогда геном

которая называется
геном
этого свойства Например, ген цвета глаз содер
жит информацию, кодирующую определенный цвет глаз Различные
значения гена называются его
аллелями
При размножении животных происходит взаимодействие двух роди
тельских ДНК, образуя ДНК потомка Основной способ взаимодействия
кроссовер coove, скрещивание
При кроссовере ДНК предков
делятся на две части, а затем обмениваются своими половинками
При наследовании возможны мутации изза радиоактивности или
других воздействий, в результате которых могут измениться некоторые
гены в клетках одного из родителей Измененные гены передаются потом
ку и придают ему новые свойства Если эти новые свойства полезны,
они, скорее всего, сохранятся в данном виде  при этом произойдет
скачкообразное повышение приспособленности вида
В начале 7х гг ХХ в была озвучена идея использования данного
природного процесса в задачах оптимизации, причем вне зависимости
от сферы применения полученных результатов Высказал эту идею аме
риканский учёный Джон Холланд и предложил реализовать в виде ком
пьютерной программы алгоритм, который будет решать сложные задачи
так, как это делает природа  путем эволюции Алгоритм оперировал по
следовательностями двоичных цифр единиц и нулей, которые и полу
чили название хромосом Алгоритм имитировал эволюционные процес
сы в поколениях таких хромосом: в них были реализованы механизмы
селекции и репродукции, аналогичные применяемым при естественной
эволюции Так же, как и в природе, генетические алгоритмы осущест
вляли поиск хороших хромосом без использования какойлибо ин
формации о характере решаемой задачи Требовалась только некая оцен
ка каждой хромосомы, отражающая её приспособленность Механизм
селекции заключается в выборе хромосом с наивысшей оценкой те
наиболее приспособленных, которые репродуцируют чаще, чем особи
с более низкой оценкой хуже приспособленные Репродукция означает
создание новых хромосом в результате рекомбинации генов родитель
ских хромосом Рекомбинация  это процесс, в результате которого возни
кают новые комбинации генов Для этого используются две операции:
скрещивание, позволяющее создать две совершенно новые хромосомы
потомков путем комбинирования генетического материала пары родите
лей, а также мутация, которая может вызывать изменения в отдельных
хромосомах Таким образом, генетический алгоритм представляет собой
метод, отражающий естественную эволюцию методов решения проблем
и, в первую очередь, задач оптимизации Генетические алгоритмы  это
процедуры поиска, основанные на механизмах естественного отбора и
наследования В них используется эволюционный принцип выживания
наиболее приспособленных особей Они отличаются от традиционных

Генетические алгоритмы часто применяются совместно с нейронными
сетями, позволяя создавать предельно гибкие, быстрые и эффективные
инструменты анализа данных
1 История возникновения генетических алгоритмов
Генетические алгоритмы возникли в результате наблюдения и по
пыток копирования естественных процессов, происходящих в мире живых
организмов, в частности, эволюции и связанной с ней селекции естест
венного отбора популяций живых существ, поэтому они получили назва
ние генетических алгоритмов
Эволюционная теория утверждает, что каждый биологический вид
целенаправленно развивается и изменяется для того, чтобы наилучшим
образом приспособиться к окружающей среде В процессе эволюции
многие виды насекомых и рыб приобрели защитную окраску, ёж стал
неуязвимым благодаря иглам, человек стал обладателем сложнейшей
нервной системы Можно сказать, что эволюция
это процесс оптими
зации всех живых организмов Рассмотрим, какими же средствами приро
да решает эту задачу оптимизации
Основной механизм эволюции  это естественный отбор Его суть
состоит в том, что более приспособленные особи имеют больше воз
можностей для выживания и размножения и, следовательно, приносят
больше потомства, чем плохо приспособленные особи При этом благо
даря передаче генетической информации генетическому наследованию
потомки наследуют от родителей основные их качества Таким образом,
потомки сильных индивидуумов также будут относительно хорошо при
способленными, а их доля в общей массе особей будет возрастать После
смены нескольких десятков или сотен поколений средняя приспособ
ленность особей данного вида заметно возрастает
Чтобы сделать понятными принципы работы генетических алгорит
мов, рассмотрим, как устроены механизмы генетического наследования
в природе В каждой клетке любого животного содержится вся генетичес
кая информация этой особи Эта информация записана в виде набора
очень длинных молекул ДНК Каждая молекула ДНК  это цепочка, состоя
щая из молекул нуклеотидов четырех типов, обозначаемых А, , C и G
Собственно, информацию несет порядок следования нуклеотидов в ДНК
Таким образом, генетический код индивидуума  это просто очень длин
ная строка символов, где используются всего  буквы В животной клетке
каждая молекула ДНК окружена оболочкой  такое образование назы
вается хромосомой
Каждое врожденное качество особи цвет глаз, наследственные бо
лезни, тип волос и тд кодируется определенной частью хромосомы,

Устойчивое достижение неравенства
’  ,1 здесь обеспечивается
требованием, чтобы это неравенство было подтверждено
= 1 раз
Заметим, что минимальное начальное значение счётчика подтверж
дений на рис 19, задаваемое в начале алгоритма, должно составлять
=, так как необходимо исключить одно ложное подтверждение, которое
имеет место при
= 1 Действительно, при
= 1 оценка дисперсии равна
нулю, поэтому получается
’ =  При
= 1 получится несколько лиш
них” повторений цикла Однако так как

обычно составляет десятки ты
сяч, то увеличение его на несколько лишних единиц не имеет существен
ного практического значения
Вопросы и задания
1 От каких величин зависит требуемое число опытов? Откуда бе
рутся их численные значения?
 Во сколько раз надо увеличить число опытов, чтобы снизить пог
решность в 1 раз?
 Приведите алгоритм моделирования отдельных случайных собы
тий
 Приведите алгоритм генерирования зависимых случайных собы
тий
 Какие методы тестирования датчиков БСВ Вы знаете? Приведите
примеры
6 Как можно оценить коэффициент корреляции св? Что он пока
зывает?
7 Перечислите характеристики, которыми задается генератор заявок
8 Раскройте суть метода МонтеКарло
9 Каким образом реализуется приоритетное обслуживание заявок?
1 Объясните, каким образом решается задача планирования ста
тистического эксперимента
11 Какими методами может быть оценена точность результатов
моделирования?
1 Объясните каким образом осуществляется моделирование слож
ных случайных событий
1 Объясните схему статистического эксперимента с автоостановом,
изображенную на рис 19
 Генетические алгоритмы в моделировании
Генетические алгоритмы ГА
это специальная технология для
поиска оптимальных решений, опирающаяся на метод проб и ошибок,
которая успешно применяется в различных областях науки и бизнеса
1
Метод автоостанова
Схема статистического эксперимента с авто
остановом изображена на рис 19 Покажем на примере достижения
точности
= ,1
Как видно из рисунка, в ходе эксперимента ведется непрерывный
контроль за оценкой
’ коэффициента вариации
 Когда оценка
v’
ус
тойчиво входит в зону
’  ,1, эксперимент завершается
Рис 19 Схема эксперимента с автоостановом
= 1,
= 1
= ,
= 
y=
S


=
Генератор св
Конец
Печатать
,
= 
v’
,1
A=A
Да
Нет
Начало
vv
Нет
Да

y


Таким образом, при увеличении числа опытов на порядок
умень
шается в
1 
 раза На рис 18 схематически показан вид распреде
ления оценки


в зависимости от
Диапазон вероятных отклонений оценки от точного значения
сужается пропорционально
 Параметр
используют как показатель
точности оценки Поскольку
имеет нормальное распределение, то
практически достоверно, что
y
отклоняется от искомого
 не более
чем на 
 Можно сказать, что
является аналогом абсолютной пог
решности, а 
самой абсолютной погрешностью В качестве аналога
относительной погрешности для св
можно рассматривать её коэф
фициент вариации:
=

m
а в качестве самой относительной погрешности
величину 
 Из 
и  находим, что

y
==

6
где
коэффициент вариации св
Соотношения  и 6 показывают, что абсолютная пог
решность”

и относительная погрешность”

оценки

убывают
пропорционально
Из формулы  находим решение задачи планирования: для
достижения заданной точности
требуется
опытов
7
Если требование к точности задано в форме коэффициента вариации
, то требуемое число опытов определяется из формулы 6 в виде:
8
В решении 7 кроме заданного
для определения
необходимо
знать
, в варианте 8
коэффициент вариации
 Ни то, ни другое
до эксперимента, как правило, не известно Поэтому планирование числа
опытов на практике осуществляется в ходе самого статистического экспе
римента Достаточно удобными методами такого планирования являются
метод
автоостанова

Здесь оценка
y
приближается к точному значению
 с ростом
числа опытов
 Задача
планирования
статистического эксперимента
состоит в нахождении такого
, при котором достигается заданная точ
ность оценки


Y
;
X
= 
,,
k
;
значение св
в
м опыте;
 число опытов
Теоретическое решение задачи планирования
Оценка
является
случайной величиной, так как представляет собой функцию от случайных
величин:

В типовой схеме статистического эксперимента рис 17 использу
ются независимые реализации
, поэтому св
в формуле  также
независимы Из центральной предельной теоремы вытекает, что св

 при больших

имеет нормальное распределение, те

N

Определим параметры этого распределения:

11
yy

y
y



11

==
Рис 18 Распределение св

в зависимости от
88
доп
доп
Формула 1 принимает вид
1
доп

Чем меньше вероятность
,
тем больше требуется опытов для
обеспечения допустимой относительной погрешности
 При малых
вероятностях даже грубая оценка требует слишком много опытов Напри
мер, при
порядка 1
,
k
= ,
доп
= , формула  дает
=1
Обычно такое число опытов требует много машинного времени
Заметим, что в формулу 1 входит величина , которая заранее не
известна Её приближенно находят в процессе моделирования по формуле

1
Проделав некоторое число опытов, вычисляют , а затем по формуле
1 находят примерно необходимое число опытов Опыты продол
жают до получения нужного их числа, после чего можно заново вычис
лить уже более точно Аналогично поступают с величиной
 Вначале проб
ным моделированием определяют
а затем подставляют найденное значение в формулу  По мере
увеличения количества опытов значения можно эпизодически уточнять
 Планирование статистического эксперимента
Задача планирования
Пусть
= 
,  ,

вектор случайных вели
чин, имеющий распределение
 Во многих случаях цель статистического
эксперимента может быть сведена к определению математического ожи
дания св
y

, где


заданная функция распределения св
 Типо
вая схема статистического эксперимента имеет следующий вид рис 17

= 1
Рис 17 Типовая схема статистического эксперимента
87
где
¸ – интегральная функция стандартного нормального распреде
ления
N
, 1 В частности, для
k
= 1,, значение γ равно соответственно
,686; ,9; ,997 Утверждая, что погрешность не превышает σ, мы
ошибаемся менее чем в трёх случаях из 1 Следовательно, обеспечив
σ =

 , можно быть достаточно уверенным, что погрешность не
превысит допустимого значения
Из сказанного вытекает практическая рекомендация:
число опытов
при моделировании должно быть настолько большим, чтобы
дисперсия оценки снизилась до величины

доп

где выбор
определяется требуемым коэффициентом доверия Чтобы
применять это правило остановки, необходимо уметь вычислять диспер
сию оценки при заданном числе опытов γ
Оценка по множеству независимых реализаций
Для многих
случаев результаты опытов представляют собой повторную выборку

, те совокупность независимых реализаций св
 Математи
ческое ожидание её должно совпадать с θ Дисперсию этой св обозначим
 Поскольку реализации независимы, дисперсия оценки 16 равна
= 

В соответствии о правилом  требуемое число опытов равно

доп
1
Таким образом,
требуемое число опытов обратно пропорцио
нально квадрату допустимой погрешности
 Этим обусловлена труд
ность получения высокой точности результатов при вероятностном моде
лировании
Особые трудности возникают, когда искомым результатом является
вероятность некоторого события, причем вероятность малая В этом
случае
1, с вероятностью
, с вероятностью 1



,1,1
Требуемое число опытов удобно выразить через допустимую отно
сительную погрешность
86
Алгоритм моделирования строится так, что математическое ожи
дание результата одного опыта совпадает с искомым результатом, те

 =
17
При этом оценка 17 оказывается несмещённой, те



 =
18
Хотя в среднем оценка

совпадает с
, в
каждом конкретном случае
она отличается от
на случайную величину, средний квадрат которой
представляет собой дисперсию оценки Чем больше дисперсия, тем боль
ше случайные отклонения оценки от искомого результата, те меньше
её точность С увеличением числа опытов дисперсия оценки уменьша
ется, а точность, соответственно, растет Ниже выводится правило, указы
вающее, до какой величины надо снижать дисперсию путем увеличения
числа опытов, чтобы можно было считать оценку достаточно точной
Поскольку оценка является случайной величиной, точность ее
рассматривается применительно ко всему множеству возможных
значений оценки с учетом вероятностей этих значений Требования к
точности обычно формулируются в виде вероятностного утверждения:
 |


|

доп
=
19
где
доп
– допустимая погрешность; γ – заданный коэффициент доверия
В конкретном случае значение оценки может отличаться от искомо
го результата больше чем на
доп
 Однако с вероятностью γ это не про
изойдет, если условие 19 соблюдено
Связь между
доп
и γ зависит от распределения оценки  Согласно
центральной предельной теореме, теория вероятностей, оценка 16
имеет распределение, близкое к нормальному, если
не слишком мало
С учётом 18 можно записать

 N 
,

или


, 1

Следовательно,

te
kPkP
=
,


Это соотношение позволяет, задав
доп
= σ, вычислить
=
π
t
,
=
 – 1,
Запись
N
m,
обозначает, что с в
имеет нормальное распределение c
математическим ожиданием
и дисперсией
8
f

а вероятность попадания точки под график в пределах участка 
c,
 заш
трихованная область на рис 16 равна
f

Таким образом, доля точек, отобранных в качестве
на участке
c,
 по отношению ко всем точкам составляет
f

:
f

что и означает соблюдение требуемого закона распределения
 Точность результатов моделирования
При моделировании методом МонтеКарло многократно повторя
ются опыты со случайным исходом и оценка

искомого результата
определяется путём осреднения результатов отдельных опытов:




16
где

результат
го опыта
Рис 16 Иллюстрация метода отбора
8
Рис 1 Гистограмма нормальной св при

= 1
Этот метод точный, но считается трудоёмким  Однако, как показы
вают эксперименты, это мнение устарело ввиду того, что современные
персональные компьютеры оснащены арифметическими сопроцессо
рами Точный метод 1 в действительности оказывается также и бо
лее быстрым, чем приближённый метод 1 7
Метод отбора
Метод предложен фон Нейманом Называется также
методом Неймана, методом исключения 
Рассмотрим вариант метода, когда требуемое распределение задано
плотностью вероятности, отличной от нуля на конечном интервале 
,
Алгоритм состоит в следующем Из очередной пары базовых чисел
и
находятся два числа:
=
 

 ¸
=
¸
,
1
где
максимальное значение плотности
Еcли
f
, те если точка 
лежит под графиком
 рис
16, то
принимается в качестве очередного числа
 В противном
случае берётся следующая пара базовых чисел, и процедура повторяется
Убедимся, что отобранные числа имеют требуемый закон распреде
ления Согласно 1 точка 
 равномерно распределена в прямоу
гольнике с основанием 
,
 и высотой
, площадь которого равна
= 
¸
Следовательно, вероятность попадания точки под график
f
 равна
отношению площади под графиком к площади прямоугольника, те равна
8


Ф1
m
F
=

11
Составив уравнение
 =
z
и разрешив его относительно
получим модель для разыгрывания значений нормальной св:

1
=
m
1
Практическое применение формулы 1 при использовании БСВ
затруднительно, так как оно связано с необходимостью вычисления об
ратной функции Лапласа
¸ Аналитических формул для этого нет
Существуют и применяются в расчётах таблицы значений обратной функ
ции Алгоритмизировать же расчёт обратной функции Лапласа в проце
дурах ИМ при необходимости получения нормально распределенных
чисел, представляется возможным только с применением приближенных
формул Для того чтобы это избежать, применяется другой метод
Для реализации любой нормальной св достаточно иметь датчик
стандартной т е нормированной и центрированной нормальной св
Чтобы реализовать св
с распределением 11 используют следу
ющее линейное преобразование стандартной нормальной св
При этом стандартную нормальную св часто реализуют прибли
жённо как сумму других св, основываясь на центральной предельной
теореме теории вероятностей Например, её можно реализовать в виде
суммы двенадцати независимых значений БСВ:
z
1
=
1
Однако такой подход даёт плохое приближение для больших уклоне
ний от среднего, превышающих 
Метод Бокса и Мюллера позволяет получить два независимых значе
ния
и
стандартной нормальной с в из двух независимых значений
и
базовой случайной величины по формулам:
=
=
πco
,π
zz
zz
1
На рис 1 приведена гистограмма нормальной св, полученной
методом Бокса и Мюллера при
=1
8
и плотность распределения вероятностей

tf
!1
λλ
t
,
где параметр
>   Её математическое ожидание и дисперсия таковы:
 =
,
 =
Поскольку распределением Эрланга обладает сумма
независимых
экспоненциальных св, имеющих одно и то же значение параметра λ, то,
с учётом 9, сгенерировать эрланговскую св

можно просто как
сумму:

zz
==
1
где

= 1, ,
 – независимые реализации базовой случайной величины
На рис 1 приводятся результаты моделирования 1 значений
по 1 при
=1,
k
= Так как
х
х
, где
 =1
=1,
 =1
=1,

=1,,, то
 =,
 = Статистические оценки, полученные
при испытаниях, составили
 = ,968,
 = ,98
Моделирование нормальной случайной величины
Утверждение, что некоторая св
имеет нормальное распределение
с мо
 =
m
и дисперсией
 =
, будем записывать в виде

N
m,

Функция распределения вероятностей такой св имеет вид
Рис 1 Гистограмма эрланговской св го порядка при

= 1
81
Моделирование равномерной случайной величины
Построим датчик равномерно распределённой на интервале
A
t
B
св

, используя метод обращения
Функция распределения св

 R
,
 имеет вид
F
= 
  A
  
B  A
Отсюда получаем модель для разыгрывания значений св, равно
мерно распределённой на интервале
A
t
B,
в виде
=
 
¸
z
Для равномерной св математическое ожидние и дисперсия равны
 =
 
B–A
,

 = 
B–A
1
На рис 1 приводится гистограмма относительных частот, полу
ченная при испытании генератора равномерной св Оценки моментов
составили

= ,,
= 11
Моделирование эрланговской случайной величины
Эрланговская св

порядка
1 имеет функцию распределения
вероятностей
,,

1

=
te
tF
Рис 1 Гистограмма относительных частот
равномерной св 
= , при
= 1
8
Моделирование экспоненциальной св
Экспоненциальная св
имеет фрв:
etF
=
1
где
t
 и параметр
>  Для экспоненциальной св

 = 1
,
 = 1
Для построения генератора такой св используем метод обращения
1 Записываем формальное уравнение
 =
 = 1

t
=
 Решаем его относительно

 = 
1
1 
8
Формулу 8 можно упростить, заменив 1
 на
, так как обе эти
величины совпадают по распределению Тогда из 8 получаем:

 = 
1

9
Частотная гистограмма экспоненциальной св при
= 1и

= 1
При независимых
генератор 9 дает независимые значения
экспоненциальной св
 На рис 1 приводится частотная гистограмма,
полученная при испытании этого генератора для
=1  Оценки моментов
составили
= ,99,
= ,978
Рис 1 Частотная гистограмма экспоненциальной св
= 1 при
= 1
8
16
=
z
Второй случай
, когда алгоритм реализации дискретной св следует
упрощать, это случай дискретной св с бесконечным счётным множест
вом возможных значений В такой ситуации часто можно построить
компактную программу, применяя рекурсивный вариант общего метода
Суть проблемы состоит в том, что перед программированием алгоритма
разбить интервал , 1 на бесконечное число вероятностных отрезков с
длинами
,
,  невозможно Поэтому в программе сначала реализуется
значение БСВ
, а затем выполняется построение и одновременно – про
верка вероятностных отрезков интервала , 1 по одному последователь
но, одного за другим, до тех пор, пока не будет построен и проверен от
резок, в котором при его проверке обнаружится реализованное значение
БСВ
 После этого случайной величине
присваивается соответствую
щее найденному отрезку значение
 Благодаря такому последователь
ному построению и просмотру вероятностных отрезков, для реализации
любого значения
приходится строить лишь конечное их число Кон
кретный пример использования этого метода для реализации пуассо
новской св приводится в 1
Моделирование непрерывных случайных величин
В современной учебной литературе по моделированию методы по
строения датчиков непрерывных св наиболее полно разбираются в
книге  Вместе с тем, во многих языках и пакетах моделирования име
ется большое число удобных для использования встроенных датчиков
непрерывных св Так, например, в S Ece в меню
СервисАнализ
данныхГенерация случайных чисел
предоставляется возможность ге
нерации выборок из следующего списка распределений: равномерное,
нормальное, Бернулли, биномиальное, Пуассона С учётом сказанного
ниже приводятся лишь алгоритмы и формулы для реализации наиболее
часто встречающихся непрерывных св
Моделирование непрерывных св методом обращения
Пусть тре
буется реализовать непрерывную св
, которая имела бы заданную
функцию распределения вероятностей фрв
, те тре
буется, чтобы было

 Согласно методу обращения, это можно сде
лать с помощью БСВ
по следующей формуле:
=
1

Примечание
 Выражение
 для расчета

через
можно
получить следующим известным способом:
1 Записать формальное уравнение
 =
z
 Разрешить его относительно
78
используя вероятности
,
и
А,
поочередно моделируем события
, а
затем события
Моделирование дискретных случайных величин
Принцип моделирования дискретных св не отличается от принципа
моделирования случайных событий Дискретная св
задаётся конеч
ным или счётным множеством возможных значений
,
,  и их вероят
ностями
,
,   Она реализуется по тому же принципу, по которому
моделируются случайные события Интервал , 1 предварительно раз
бивается на отрезки, длины которых равны вероятностям
,
,  элемен
тарных исходов
 При этом каждый конкретный исход
рассматрива
ется здесь как выбор случайной величиной соответствующего значения
=
Пример
 Пусть требуется реализовать дискретную с в
, принима
ющую значения ; ; 1;  и ,1 с вероятностями ,1; ,1; ,; , и ,1
соответственно Если отрезки с длинами, равными перечисленным веро
ятностям, откладывать на числовой оси вправо от нуля, то их правыми
границами будут точки ,1; ,; ,7; ,9 и 1 Составим таблицу
чисел
табл 1, в которой определенной правой границе сопоставлена со
ответствующее значение дискретной св
Для реализации датчика данной дискретной св остаётся опреде
лить, между какими границами, указанными в верхней строке таблички,
попадает значение БСВ, и выбрать соответствующее значение св из
нижней строки таблички В двух частных случаях этот общий алгоритм
реализации дискретной с в целесообразно упростить
Первый случай
– это случай целочисленной св
, принимающей
значения , 1, ,
–1 с одинаковыми вероятностями, равными 1
 Такую
дискретную с в можно получить с помощью БСВ
одним оператором
присваивания, реализующим формулу вычисления целой части:
z
=
7
Формулу 7 можно легко приспособить и к другим близким
ситуациям Например, для моделирования игральной кости с числом
очков
от 1 до 6 можно результат её выбрасывания проимитировать по
формуле:
Таблица 1
Правые границы дискретной св
,1 , ,7
,9 1


1
 ,1
77
Так, исход Б” здесь появился 1 раз % случаев, К”
1 раз %
и Ч”
1 раз %
Моделирование сложных случайных событий
Сложные события
являются исходом, зависящим от двух или более простых событий Мо
дели этого типа рассматриваются для двух случаев: для независимых
простых событий и для зависимых простых событий
Генерирование сложного события, являющегося результатом наб
людения простых независимых случайных событий рассмотрим на при
мере, когда даны два простых события
и
, для которых заданы вероят
ности их появления
и
 соответственно События
А
как и
, образуют полные группы несовместных событий, те

 =1;
Р

 =1
Возможные исходы совместных испытаний:
АВ, А
В,
и
соответствующие этим исходам вероятности Р
Р
, Р 
Р 
, Р 
Р
,
 Эти сложные исходы образуют полную группу независимых
событий, те Р
Р
Р 
Р 
Р 
Р

=1 Используя эти
вероятности и способ исход испытания по жребию разыгрываем все
возможные исходы
Второй способ моделирования заключается в поочередном модели
рования события
, а затем события
, или, наоборот, сначала
В,
затем
 Получаем один из четырех приведенных выше исходов
Генерирование зависимых случайных событий
В тех случаях, когда
и
являются зависимыми событиями, проце
дура моделирования сложного события выполняется несколько иначе
Исходными данными для модели являются вероятности появления собы
тий
,
и
, те соответственно
,
 и
 – условная вероят
ность появления события
при условии, что событие
наступило
Возможным исходам
АВ, А
В,
соответствуют вероятности:

,
 1–
, 1–

,
1–
 6
Условная вероятность
 находится предварительно из
формулы полной вероятности для события
 =
 

Используя вероятности 6, разыгрываем возможные реализации
сложного события способом исход испытания по жребию либо,
76
длиной
,,
 Это всегда возможно, так как
  
=1 Например,
можно определить отрезки так:
= ,
,
= 
,
1

,
= 

,




,
  
= 

  
1
, 1
Алгоритм моделирования случайных исходов
состоит в том,
чтобы, обратившись к датчику БСВ, определить, в какой из интервалов
,,

попало значение БСВ Факт его попадания в конкретный ин
тервал
предопределяет переход алгоритма к процедуре имитации соот
ветствующего, имеющего тот же номер, исхода
 Поскольку вероятно
сть попадания БСВ в интервал
равна его длине
, то и вероятность ис
хода
будет равна
 Такой метод моделирования простых независимых
событий называют исход испытания по жребию
В качестве примера построим модель операции, состоящей в вытас
кивании шара из урны, содержащей пять белых шаров Б, три красных К
и два черных Ч Так как исходы Б, К, Ч имеют вероятности
= ,,
= ,
и
= , соответственно, то интервал ,1 разбиваем на отрезки ;,,
,;,8 и ,8;1
Алгоритм моделирования имеет примерно следующий вид:
1 Получить значение z из датчика БСВ
 Если
1 , вывести Б”, иначе, если
81 , вывести К”, иначе
вывести Ч”
Приведём пример 6кратного выполнения этого алгоритма на ком
пьютере; мы видим, что частота появления каждого исхода примерно
соответствует его вероятности:
БКБКБКБКББКЧБББККББКЧЧББЧЧКББЧБЧББЧБКЧЧБББККББЧКБЧКББЧКБЧББ
Фиксируется
Фиксируется

Да
Нет


Рис 11 Алгоритм моделирования отдельных случайных событий
7
Коэффициент корреляции двух случайных величин св характери
зует степень линейной зависимости между ними Поэтому с ростом
длины выборки
оценка должна приближаться к нулю Если это выпол
няется, то тест на
линейную
зависимость можно считать успешно прой
денным
Как явная дискретность БСВ
, так и явная их функциональная зави
симость каждое следующее значение БСВ однозначно определяется пре
дыдущим
=
km
¸
1
mo
 логически несовместимы с требова
ниями непрерывности и независимости, но на практике это имеет огра
ниченное значение В то же время, это замечание о противоречивом ха
рактере требований к датчикам БСВ указывает на необходимость приме
нения только тех датчиков БСВ, которые разработаны и тщательно вывере
ны компьютерными математикамипрофессионалами
В настоящее время, как правило, любые языки программирования
и пакеты моделирования содержат встроенные датчики БСВ и необходи
мость в самостоятельной разработке или тестировании датчиков возни
кает редко
Моделирование случайных событий
Случайные события бывают различного типа: простыми и сложны
ми, совместными и несовместными, зависимыми и независимыми Слу
чайные величины – дискретными и непрерывными Поэтому моделиро
вание случайных событий и величин подразделяется на ряд отдельных
процедур в зависимости от условий Рассмотрим их по мере усложнения
Моделирование случайного события
Основной характеристикой лю
бого случайного события
является вероятность его появления –
Процедура моделирования простого случайного события
состоит из:
– формирования значения БСВ
z
R;
– сравнения
с заданной вероятностью
 появления события
Если условие

 выполняется, то исходом моделирования является со
бытие
В противном случае
противоположное событие

 = 1 

Алгоритм моделирования отдельных случайных событий имеет вид,
приведенный на рис 11
Моделирование полной группы несовместных случайных событий
Пусть задано некоторое множество элементарных исходов 
,  ,
 c
их вероятностями
,  ,
соответственно 
  
=1
Чтобы построить
программную модель, оживляющую такую совокупность исходов,
разобьём мысленно интервал значений БСВ 
t
1 на
отрезков
7
Датчик  даёт
периодическую
псевдослучайную последователь
ность
,
,  с длиной периода
–1 Чтобы длина периода
была
максимальной, модуль
берут близким к максимальному представи
мому в компьютере целому числу
Для упрощения операций деления и вычисления остатков в двоич
ных ЭВМ часто берут
= 
 Рекомендуется также брать достаточно
большой множитель
, причем взаимно простой с
Заметим, что не существует рекомендаций, гарантирующих высо
кое качество датчиков до того, как будет проведено их специальное тес
тирование Обозначим равномерное распределение вероятностей на ин
тервале , 1 через
,1 и утверждение, что БСВ
имеет распределение
,1, кратко запишем в виде

,1
С помощью статистических тестов проверяют два свойства датчика
БСВ, делающих его точной моделью идеальной математической БСВ:
вопервых, проверяют
равномерность
распределения
чисел, выдаваемых
датчиком на интервале , 1, и, вовторых, их
статистическую
незави
симость
 При этом последовательность
псевдослучайных чисел
на
выходе датчика рассматривают как статистическую выборку
Проверка равномерности распределения БСВ сводится к построе
нию эмпирических вероятностных характеристик моментов и распреде
лений случайной величины св
по выборке
,
,
,  ,
и их срав
нению с теоретическими характеристиками равномерного распределе
ния
,1 В силу закона больших чисел с ростом длины выборки
эм
пирические характеристики должны приближаться к теоретическим При
этом, поскольку компьютер позволяет легко получать выборки весьма
большой длины, такое сближение эмпирических и теоретических харак
теристик можно наблюдать непосредственно, без использования специ
альных статистических тестов
Простейшую проверку статистической независимости БСВ можно
осуществить, оценивая линейную корреляцию между числами
и

отстоящими друг от друга в псевдослучайной последовательности на фик
сированный шаг
1 Тогда во всей выборке
,
,  ,
имеем следую
щие 
 реализаций пары

zzzzzz
,,, ,,,
11
По этим реализациям можно рассчитать оценку
коэффициента
корреляции для значений БСВ по формуле
1


zz

7
Программный датчик БСВ обычно вычисляет значения
,
,
, 
по какойлибо рекуррентной формуле вида:

1
=

при заданном стартовом значении
Заданное значение
полностью определяет посредством формулы
 всю последовательность
,
,
,  , поэтому величину
z
на выходе
датчика
БСВ
называют
псевдослучайной
величиной В практическом
применении датчиков БСВ статистические свойства псевдослучайной
последовательности чисел в широких пределах идентичны свойствам
чисто случайной последовательности
Программные датчики БСВ обладают, по сравнению с аппаратными
датчиками, следующими достоинствами:
– простотой создания датчиков;
– простотой применения;
– простотой тиражирования датчиков;
– надёжностью;
– быстродействием;
– компактностью;
– высокой точностью достижения необходимых статистических
свойств, сравнимой с точностью представления вещественных чисел;
– возможностью повторного воспроизведения, когда это нужно,
любой последовательности случайных значений без их предварительного
запоминания
Путём преобразования БСВ можно получать модельные реализации
многих других случайных объектов, включая любые непрерывные или
дискретные случайные величины как простые, так и многомерные,
случайные события, случайные процессы, графы, схемы и т д Поэтому
БСВ
называют
базовой
случайной величиной
Для построения программно реализуемых датчиков широко исполь
зуется конгруэнтный метод Так называемый мультипликативный конг
руэнтный датчик БСВ однозначно задаётся двумя параметрами:
модулем
и
множителем
 Обычно эти параметры представляют собой дос
таточно большие целые числа При заданных
,
псевдослучайные числа
вычисляются мультипликативным конгруэнтным датчиком по рекур
рентной формуле:
= 

 mo
,
= 1, , 

=
где
– модуль,
k
– множитель,
– начальное значение, mo – операция
вычисления остатка от деления произведения 
kЧA

 на
 Заметим,
что вычисление остатка от деления эквивалентно выбору младшей циф
ры частного в системе счисления с основанием
7
Моделирующий алгоритм обеспечивает построение траекторий
смены состояний системы во времени, а воспроизведение случайных
факторов, определяющих эти состояния, конструируется с использова
нием заданных законов случайных событий и величин Значения произ
вольных случайных величин реализуются преобразованиями значений
базовой случайной величины БСВ
 Моделирование случайных факторов
Случайными факторами называют случайное событие, случайную
величину, случайный процесс и вообще любые объекты, случайный вы
бор которых определяется соответствующими вероятностями Под реа
лизацией случайного фактора понимают сам акт случайного выбора од
ного такого объекта из заданного множества, наделённого вероятностной
мерой
Построение модели любого случайного фактора сводится к подхо
дящему функциональному преобразованию базовых случайных величин
 При моделировании случайных факторов исходят из того, что имею
щийся в распоряжении датчик БСВ идеален, т е значения
на его выходе
равномерно распределённые 
 R,1 и независимые Это позволяет
конструировать модели разнообразных случайных факторов и устанав
ливать их свойства, опираясь только на положения теории вероятностей
и не прибегая к громоздким процедурам статистического тестирования
В целях наглядности представления результатов будем модели слу
чайных факторов иллюстрировать некоторыми примерами простой ста
тистической обработки выборок, получаемых с помощью этих моделей
Построение и тестирование датчиков БСВ
Базовой случайной величиной БСВ в статистическом моделирова
нии называют непрерывную случайную величину
, равномерно распре
деленную на интервале 
t
1 Её плотность распределения вероят
ностей п р в задаётся формулой:
f
=
1,
t
1

Математическое ожидание м о
 и дисперсия
 базовой слу
чайной величины
имеют следующие значения:
 = 1 и

 = 11
Нетрудно определить и начальный момент
го порядка:
= 1 

 1,
= 1, , 
БСВ моделируются на ЭВМ с помощью программных датчиков
Датчик БСВ – это программа, выдающая по запросу одно случайное
значение БСВ  Путём многократного обращения к датчику БСВ получают
выборку независимых случайных значений
,
,
,  ,
71
Пусть требуется оценить надежность системы, структура которой
представлена на рис 1
Система выполняет свою функцию, если работают цепочки блоков:
1,,,7; 1,,,7; 1,,6,7 Каждый блок характеризуется временем безотказ
ной работы
,
=
1,7
Пусть заданы плотности распределения
,
=
1,7
Какието блоки могут отказать Какова надежность системы в целом? В
качестве критерия оценим среднее время безотказной работы данной
системы Рассмотрим случайную величину
= m
t
, m m 
,
, m m 
,
,,
,
где
время безотказной работы системы
Применим метод статистических испытаний В отдельном опыте
разыгрываются значения всех
,
=
1,7
в соответствии с
,
=
1,7
 Ис
пользуя полученные реализации
,
=
1,7
, по формуле  вычисляем
отдельную реализацию
 Один опыт дает одну реализацию одно выбо
рочное значение
 Проводим
опытов испытаний, получаем
статистический материал выборку Берём среднее арифметическое
времени безотказной работы системы в качестве оценки надежности
системы При необходимости можно построить закон распределения
вероятностей случайной величины
в виде соответствующей гисто
граммы
Таким образом, испытания реальной системы заменены испытания
ми математической модели Каждое испытание сопровождается рас
чётом Поэтому имитационное моделирование и называют численным
экспериментом на ЭВМ с математической моделью модель выступает
как объект исследования При реализации испытания возможны и логи
ческие операции И расчетные, и логические операции реализуются на
ЭВМ с помощью соответствующих алгоритмов, которые в совокупности
и составляют моделирующий алгоритм

1



6
7
Рис 1 Блочная структура системы
7
1 Концепция статистического моделирования
В основе статистического моделирования лежит процедура, приме
няемая для моделирования случайных величин и функций и носящая
название метода статистических испытаний метод МонтеКарло
Общая схема метода МонтеКарло может быть записана в виде

y

 
θθ
=
1
Результат ищется как математическое ожидание некоторой случай
ной величины
, которая чаще всего является неслучайной функцией
случайной величины
, имеющей распределение
 Случайная вели
чина
имеет распределение
 и запись
 означает, что для неп
рерывной случайной величины плотность вероятности равна
; для
дискретной случайной величины функцию
 надо понимать как функ
цию вероятности Для случайной дискретной величины интеграл 1
заменяется суммой

, в которой суммирование осуществляется
по всем возможным значениям
 Функция
 может иметь несколько ар
гументов, те зависеть от нескольких случайных величин В таком случае
запись 1 остается в силе, только интеграл надо считать многомер
ным,
рассматривать как вектор, а
 – как многомерную плотность
или функцию вероятности Приближенная оценка неизвестного мате
матического ожидания, совпадающая с искомым результатом, находится
как среднее арифметическое результатов независимых опытов Это отра
жено в правой части 1 По закону больших чисел среднее арифмети
ческое сходится к математическому ожиданию
В каждом опыте разыгрывается реализация
случайной величины
в
м опыте реализация
 в соответствии с распределением
 и
вычисляется значение функции в виде
 Индекс
подчеркивает, что
для каждой 
й реализации процесса аргументы, составляющие вектор
, имеют свои случайные значения Вычисленное очередное значение
добавляется к накапливаемой сумме

 На этом заканчивается
очередной опыт После того как проведено М опытов, вычисляется итого
вая оценка в виде правой части выражения 1
Опыты повторяются до тех пор, пока дисперсия оценки
не сни
зится до требуемой величины, зависящей от допустимой погрешности
и коэффициента доверия
Проиллюстрируем суть метода МонтеКарло следующим примером
Пример
: оценка надежности системы
7
СП: в календаре для каждого процесса две величины момент ак
тивизации и метка фазы
СС: за один шаг имитируется одно событие СП: за один шаг имити
руется одна или несколько фаз одного или нескольких процессов
СС: все объекты существуют постоянно СП: возможны времен
ные объекты
Продолжите этот перечень
1 В чем состоят преимущества и недостатки схемы процессов по
сравнению со схемой событий?
1 Составьте программу моделирования СМО по схеме процессов,
реализующую приведенный алгоритм Убедитесь, что она дает те же сред
ние значения искомых характеристик, что и программа, построенная по
схеме событий
1 Измените алгоритм моделирования СМО так, чтобы он учитывал
возможность существования неограниченной очереди к приборам поте
рянных заявок не будет При этом используйте семафор
1 Сравните по быстродействию три способа организации календаря:
простой список, связный список, двусвязный список
 Статистическое моделирование
Статистическое моделирование – это метод решения вероятностных
и детерминированных задач, основанный на эффективном использова
нии случайных чисел и законов теории вероятностей Статистическое
моделирование эксплуатирует способность современных компьютеров
порождать и обрабатывать за короткие промежутки времени огромное
количество случайных чисел
Подавая последовательность случайных чисел на вход исследуемой
функции или модели, на её выходе получают преобразованную последо
вательность случайных величин –
выборку
 При правильной организации
подобного статистического эксперимента выборка содержит ценную
информацию об исследуемой функции или модели, которую трудно
или практически невозможно получить другими способами Информа
ция извлекается из выборки методами математической статистики – раз
дела теории вероятностей
Метод статистического моделирования синоним этого названия –
метод МонтеКарло позволяет, таким образом, опираясь на строгие зако
ны теории вероятностей, свести широкий класс сложных задач к относи
тельно простым арифметикологическим преобразованиям выборок
Поэтому такой метод получил весьма широкое распространение В част
ности, он почти всегда используется при имитационном моделировании
реальных сложных систем
68
интерфейса = 1 Мбитс В каждом цикле из очередей выбираются сле
дующие объёмы данных: 1
1 Мбит, 
1 Мбит, 
 Мбит, 
 Мбит,

 Мбит Здесь, как и в приоритетном обслуживании, можно назначать
различные длины очередям Тем самым появляется возможность сгла
живания нагрузки
Вопросы и задания
1 В чем особенность имитационного моделирования?
 Какие виды времен учитываются при разработке имитационной
модели?
 Объясните суть метода постоянного шага отсчета системного
времени
 В чем особенность принципа особых моментов?
 Почему принцип особых моментов предпочтительнее принципа
t
6 Что такое календарь и зачем он нужен?
7 Как осуществляется первоначальное заполнение и последующая
корректировка календаря?
8 В состав алгоритма шага цикла входят следующие части: опреде
ление момента очередного события, изменение состояния системы в
целом имитация события, планирование событий корректировка ка
лендаря Что ещё добавить в указанный перечень?
9 Когда возникают парадоксы времени в имитационном моделирова
нии и какие пути существуют для того, чтобы они не возникали?
1 Перечислите этапы процесса имитации
11 Перечислим отличия схемы событий СC от схемы процессов СП
СС: в календаре отведены места для событий СП: в календаре от
ведены места для процессов
СС: в календаре для каждого события одна величина момент со
бытия
Классификатор
Входной
трафик
,1
,1
,
,
Обработк
Вы
ходная очередь
Выходной
трафик
,
Рис 9 Взвешенные настраиваемые очереди
67
на классы, помещают в поле приоритета рис 8 Затем требование по
мещается в очередь, соответствующую заданному приоритетному классу
Рассмотрим пример с четырьмя приоритетными очередями: высо
кий, средний, нормальный и низкий приоритет Здесь очереди имеют
абсолютный приоритет — пока не обработаны пакеты из очереди более
высокого приоритета не производится переход к более низкоприоритет
ной очереди
При моделировании можно:

выделить одинаковое количество буферов для всех очередей;

на основе анализа трафика поступлений установить нужный раз
мер для каждой из очередей
Недостаток: если высока интенсивность высокоприоритетного тра
фика, обслуживание низкоприоритетного трафика может совсем не про
изводиться
Этот метод можно, например, использовать при моделировании
сети, если в качестве высокоприоритетного будет выбран голосовой тра
фик IP  телефония Это связано с тем, что его интенсивность невелика
обычно 16 Кбитс
Если же в сети в качестве высокоприоритетного выбран видеотра
фик, остальным потокам может и не достаться пропускной способности
Взвешенные настраиваемые очереди ehte Queu
Здесь
делается попытка предоставить всем классам определенный минимум
пропускной способности, те обслуживания, и гарантировать некоторые
требования к задержкам
Под весом для каждого класса понимается про
цент предоставляемой классу пропускной способности от полной выход
ной пропускной способности Алгоритм, используемый администрато
ром для назначения весов, называется настраиваемой очередью рис9
Очереди обслуживаются циклически и в каждом цикле обслужива
ния из каждой очереди выбирается такой объем нагрузки, который соот
ветствует весу этой очереди Например, цикл = 1 с, скорость выходного
Классификатор
Входной
трафик
Высокий приоритет
Средн
ий приоритет
Нормальный
Низ
кий
Обработк
Вы
ходная очередь
Выходной
трафик
Рис 8 Приоритетное обслуживание
66
бавим для ссылок массив
той же длины и ячейку
для головного
элемента Свяжем процессы по принципу возрастания запланирован
ного момента активизации Тогда
будет содержать номер процесса с
наименьшим значением
 Допустим,

7
 Тогда
=,
=
=7,
=
7= и тд
Выясним, что даёт связный список по сравнению с ранее рассмот
ренной организацией календаря в виде простого списка Вопервых, те
перь не надо просматривать подряд элементы календаря, чтобы найти
те процессы, момент активизации которых совпадает с текущим момен
том
, так как, если такие есть, то они занимают первые места в цепочке
Вовторых, чтобы найти
, не надо искать минимальный элемент
это

Но за преимущества всегда надо чемто платить Это не только допол
нительные затраты памяти на массив
, но и дополнительные операции
Если раньше для создания нового процесса достаточно было отыскать
номер свободной группы
Jv
и написать параметры нового процесса в
Jv
 и
Jv
, то теперь надо еще вставить новый процесс на определенное
место в цепочку Для этого надо отыскать такой номер
, что

Jv
, после чего проделать следующие операции со ссылками:
Jv
:=
;
:=
Jv
При ликвидации процесса с номером
помимо обычной операции
:= потребуется операция со ссылкой
:=
, где
номер
процесса, стоящего в цепочке перед процессом
 Для нахождения
потребуется просмотреть цепочку от начала до элемента
 Чтобы избе
жать этого просмотра, можно применить
двусвязный список
 В нём име
ется еще один массив, который содержит ссылки на предыдущий элемент
цепочки
1 Алгоритмы обслуживания очередей
Чаще всего применяют следующие алгоритмы управления обслу
живания очередями:

FIFO;

приоритетное обслуживание
,
которое называют также подав
ляющим;

взвешенное обслуживание
Традиционный алгоритм FIFO
 Достоинство
простота реализа
ции и отсутствие необходимости конфигурирования Недостаток
невоз
можность дифференцированной обработки заявок различных потоков
Приоритетное обслуживание Poty Queu
 Сначала необ
ходимо решить отдельную задачу
разбить общий входной поток устрой
ства на классы приоритеты Признак, по которому производят разбивку
6
лизируя содержимое семафоров, можно определять, по какой ветви ал
горитма следует направить выполнение программы Отсюда и термин
семафор
Для организации календаря и всякого рода очередей полезно приме
нять
связные списки
рис 7
Список состоит из элементов, содержащих какуюто информацию,
например, данные о процессе Элемент имеет номер, или адрес, по кото
рому его можно разыскать в памяти ЭВМ Связный список отличается
от простого списка тем, что каждый его элемент помимо основной инфор
мации, составляющей содержание элемента, имеет
ссылку на следующий
элемент
, те адрес следующего элемента Элементы как бы связаны в
цепочку, причём соседние элементы этой цепочки могут быть располо
жены далеко друг от друга, те иметь существенно различные адреса
Связный список снабжается
головным элементом
, который состоит
только из ссылки на первый элемент списка Последний элемент на месте
ссылки содержит признак конца списка, например нуль Удобство приме
нения связных списков в том, что для удаления элемента из списка, вклю
чения нового элемента или перестановки элементов достаточно изменить
некоторые ссылки, основная же информация остается на месте без из
менения
Рассмотрим, как организуется календарь процессов с помощью связ
ного списка В рассмотренном выше календаре каждый процесс имел
номер, обозначенный
, и содержал две величины:
 и
 Следова
тельно, календарь был представлен двумя массивами:
и
каждый
длиной
 Это был простой список Чтобы получить связный список, до
Ад Информация
Ад Информация
Ад Информация

Список
Головной
элемент
Элементы списка
ссылка на следующий элемент
Ад – адрес элемента
Рис 7 Кольцевая очередь
6
ким функциональным назначением имитация события, пополнение ста
тистик, планирование новых событий Однако в сложных ситуациях до
вольно трудно сформировать перечень типов событий и правильно раз
работать соответствующие им части алгоритма С этой точки зрения схе
ма процессов удобнее, так как не требует при разработке алгоритма
учитывать сразу все, что может происходить в системе, а допускает раз
дельную разработку отдельных процессов Особенно упрощается разра
ботка имитационных моделей при использовании универсальной систе
мы моделирования, когда пользователю требуется только описать после
довательность событий и работ в процессах, а учёт взаимодействия про
цессов, сбор статистики, управление порядком имитации процессов бе
рёт на себя система моделирования Схема процессов не позволяет выде
лить функционально различные части алгоритма: пополнение статистик
и планирование событий исследуют с операциями смены состояний в
рамках одной фазы процесса Это чревато упущениями при разработке
алгоритма Подводя итоги, можно оказать, что на этапе начального обу
чения моделирование и при моделировании простых систем целесооб
разно применять схему событий, а при моделировании сложных систем
с использованием универсальных средств предпочтительнее схема про
цессов Для повышения эффективности моделирующих алгоритмов при
меняются семафоры и списковые структуры данных
1 Семафоры и связные списки
Семафоры являются удобным механизмом разделения общих ре
сурсов
Семафор
это целочисленная переменная, характеризующая
текущее состояние группового ресурса, например, группы одинаковых
приборов Если значение этой переменной неотрицательное, оно пока
зывает количество свободных приборов, а если отрицательное, то без
учёта минуса это будет количество процессов, стоящих в очереди к дан
ному групповому ресурсу
С семафорами производятся две операции, обычно обозначаемые
как
и
 Операция
производится, когда какойто процесс пытается
занять ресурс Состоит эта операция в вычитании единицы из семафора,
что как раз отражает результат попытки Действительно, если имелся
свободный прибор, то он был занят, и потому число оставшихся свобод
ных приборов должно быть уменьшено на единицу Если же свободных
приборов нет, процесс становится в очередь и вычитание единицы из
семафора как раз отражает удлинение очереди Операция
, напротив,
состоит в прибавлении единицы к семафору Она производится при ос
вобождении прибора элемента группового ресурса и отражает либо
уменьшение очереди, либо увеличение числа свободных приборов Ана
6
ную группу ячеек в памяти ЭВМ Номер этой группы  это номер процес
са О требуемом количестве групп можно сказать то же, что сказано вы
ше о требуемом числе мест в календаре и о возможности переполнения
Процесс генерирование заявок источником”, понимаемый как ал
горитм, существует в виде части программы моделирования Когда эта
часть программы выполняется, она использует значения атрибутов для
конкретного источника Создание процесса  это заполнение группы
ячеек атрибутами этого процесса Имитация процесса сопровождается
изменением переменных атрибутов Ликвидация процесса означает ос
вобождение группы ячеек, занятых атрибутами
Чтобы различать указанные два смысла, можно поступить двояко
Первый путь: термин процесс оставить за алгоритмом, а структуру дан
ных называть экземпляром процесса Второй путь:
термин процесс
применять к структуре данных, а алгоритм называть классом про
цессов
В языках моделирования применяется и другие термины, но
они не использует слово процесс, которое желательно сохранить
Часть программы, управляющая динамикой модели, те последо
вательностью выполнения отдельных блоков программы в процессе ими
тации, носит название
монитор
 Рассматриваемые схемы построения
моделирующего алгоритма схема событий и схема процессов имеют
существенные различия, но принцип построения монитора у них оди
наковый  повелительный
Повелительный
императивный принцип
состоит в том, что для предстоящих событий заранее определяется время
их наступления оно записываются в календарь и события имитируются,
когда приходит их время Календарь как бы предписывает, в какие мо
менты должны происходить события, в каком порядке их имитировать 
отсюда и название принципа События, которые запланированы на один
и тот же момент времени, могут имитироваться в любом порядке То об
стоятельство, что при использовании принципа процессов некоторые
события забегают вперед”, не меняет сути монитора: в пределах одного
процесса последовательность событий не нарушается, а её нарушение
между событиями носит временный характер сначала один процесс за
бегает вперед, потом другой Главное  для всех событий указано время,
когда они должны произойти
С целью дополнительного пояснения заметим, что повелительный
принцип ассоциируется с синхронными процессами Синхронные про
цессы управляются внешними часами: события в них происходят в зара
нее заданные моменты времени
Сопоставим
схему событий и схему процессов
, так как их можно
считать конкурирующими Схема событий более стройна: события не
пересекаются, за один шаг имитируется одно событие, события имитиру
ются в хронологическом порядке, алгоритм шага делится на этапы с чёт
6
зи с существованием временных процессов количество заполненных
мест в календаре оказывается переменным Признаком свободного места
в календаре может быть нуль в ячейке, отведенной для обозначения мет
ки очередной фазы процесса Если число одновременно существующих
временных процессов не имеет ограничения сверху, число мест в кален
даре отводится с большим запасом, а в случае переполнения календаря
должно выдаваться соответствующее сообщение При создании процесса
отыскивается свободное место в календаре и номер этого места стано
вится номером процесса После ликвидации процесса его место в кален
даре освобождается
За один шаг
основной цикл в алгоритме производится поочерёд
ный просмотр всех процессов и имитация тех из них, для которых созрели
условия, в частности, наступило время исполнения очередной фазы В хо
де имитации очередной фазы процесса может освободиться ресурс,
которого не хватало для имитации ранее просмотренных процессов Кро
ме того, может быть создан процесс и помещен на свободное место в
календаре под меньшим номером, чем текущий процесс В обоих случаях
требуется повторный просмотр процессов в рамках того же шага Для
организации повторного просмотра удобно использовать
флаг
двоич
ную переменную Этой переменной перед началом просмотра присваи
вается значение единицы подъём” флага Освобождение ресурса или
создание нового процесса влечет за собой сброс” флага в нуль Заверше
ние шага и переход к следующему шагу производится только если флаг
остался поднятым
Отметим теперь, что
термин процесс” имеет два разных смысла:
процесс как алгоритм и процесс как структура данных
 Процесс как
алгоритм относится ко всему множеству процессов одинакового типа, а
процесс как структура данных описывает конкретного представителя
этого множества Например, процесс генерирование заявок
м источ
ником” может отражаться следующими величинами их часто называют
атрибутами
процесса:

номер источника 

емкость источника максимальное число заявок в нем;

приоритет, присвоенный заявками этого источника;

среднее время подготовки заявки источником;
среднее время обслуживания заявки этого источника в приборе;

число заявок в источнике в данный момент;

предстоящий момент выдачи очередной заявки;

метка очередной фазы процесса
Первые пять величин постоянны но у каждого источника имеются
свои значения, остальные три меняются в ходе имитации Две последние
 компоненты календаря, эта совокупность данных занимает определён
61
на непересекающиеся подмножества события в теории вероятностей
с той разницей, что событие  это не только подмножество элементарных
событий, но и причинноследственные связи между элементарными со
бытиями Например, при моделировании СМО событие поступление
заявки” охватывает несколько элементарных событий: выдача заявки
источником, занятие прибора, начало обслуживания, потеря заявки в
случае отсутствия свободного прибора Видно, что элементарные собы
тия взаимосвязаны; если не удастся занять прибор, то обслуживание не
начнется, а произойдет потеря заявки В алгоритме имитации отражаются
не все элементарные события, а только те, без которых невозможно пост
роение реализации, обеспечивающее нахождение искомых характеристик
Основная трудность при разработке модели по схеме событий

выделение типов событий и составление алгоритмов для каждого типа
так, чтобы не упустить какихто нужных элементарных событий и правиль
но учесть взаимосвязи
Каждому типу события соответствует блок
в алгоритме имитации, а каждому событию  определенное место в
календаре
 Алгоритм шага состоит в выяснении типа очередного собы
тия с помощью календаря и выполнении тех блоков алгоритма, которые
соответствуют этому типу события
При моделировании по схеме процессов
за основу берётся понятие
процесса Процесс отражает поведение одного объекта источника, заяв
ки, детали,
рыси, зайца
и тп, а объектов в системе много Поэтому
па
раллельно
развиваются несколько процессов Их имитация производится
поочередно на одном процессоре Если бы процессы были независимы,
можно было бы имитировать до конца один процесс, а потом переходить
к имитации другого процесса Однако процессы пользуются общими
ресурсами Если очередная фаза процесса состоит в занятии ресурса, а
свободного ресурса нет, процесс приостанавливается и ждёт освобож
дения ресурса При этом ЭВМ переходит к имитации другого процесса
Таким образом, ЭВМ поочередно продвигает процессы на одну или
несколько фаз, учитывая их взаимодействие во времени и в использо
вании общих ресурсов
Продвижение процессов по системному времени можно осущест
влять по принципу
или по принципу особых моментов Будем придер
живаться принципа особых моментов: какому процессу отводится место
в календаре, где указывается, с какой фазы надо начать или продолжить
имитацию процесса и к какому моменту системного времени это собы
тие относится
Процессы могут быть постоянными те развиваться бесконечно
долго и временными
Временный процесс
создается в некоторый момент
времени, существует какоето время, после чего ликвидируется Одна из
фаз процесса может представлять собой создание нового процесса В свя
6
В моделируемой системе событие происходит мгновенно, а работа
требует времени системного В имитационной модели картина обрат
ная: на имитацию события затрачивается некоторое машинное время, а
имитация работы практически не требует машинного времени, так как
имитируется не сама работа, а завершающее её событие
Как правило, для начала работы требуется наличие определенных
условий Например, чтобы начать кирпичную кладку, требуются кир
пичи, раствор и рабочийкаменщик При моделировании дискретных про
цессов в качестве условий чаще всего рассматривается наличие ресурсов
Например, чтобы начать обслуживание заявки, требуется наличие сво
бодного прибора Ресурс можно понимать как оборудование, необходи
мое для выполнения работы станок, прибор, но это может быть и работ
ник Для ресурса характерно, что он занимается в момент начала работы
или заранее и освобождается в момент ее окончания
Процесс
последовательность событий и работ, описывающая пове
дение во времени какоголибо объекта в моделируемой системе Приве
дём три примера
Процесс генерирование заявок источником”:

подготовка заявки работа;

выдача заявки событие
Процесс прохождение заявки”:

занятие прибора событие;

обслуживание заявки в приборе работа;

освобождение прибора событие
Процесс обработка детали на станке”:

занятие рабочего событие;

занятие станка событие;

обработка детали работа;

освобождение станка событие;

контрольные измерения работа;

освобождение рабочего событие
Каждая работа или событие
это
фаза процесса
 Имитация процесса
на ЭВМ производится по фазам Фаза имитируется без прерывания, но
по окончании имитации фазы возможно прерывание и переход к имита
ции другого процесса
Опираясь на введенные понятия, рассмотрим основные черты схе
мы событий и схемы процессов, их положительные и отрицательные
стороны
При моделировании по схеме событий
понятия работы и процесса
не используются Выделяется несколько событий так, чтобы они исключа
ли друг друга и в совокупности охватывали все возможные изменения в
системе Это напоминает разбиение множества элементарных событий
6
Покупатель
Магазин
Банк


t
= 9,

= 11,
= 1,
Покупатель
приходит в
магазин
Магазин уведомляет
банк о кредите его
клиента
Покупатель он же
клиент приходит в
банк, чтобы снять
сумму денег со счета
Рис 6 Хронологический порядок событий нарушен
ции делятся на консервативные и оптимистические Консервативный ал
горитм не позволит логическому процессу обрабатывать событие с опре
делённой временной отметкой, пока не убедится, что другой логический
процесс не запланировал событие с меньшей временной меткой Опти
мистический алгоритм позволяет выбирать из списка необработанных
событий очередное событие и обрабатывать его, исключив проверку со
бытий, планируемых другими логическими процессами Однако отдель
ный программный механизм реализует обнаружение ошибок и восста
новление от ошибок выполнения событий, которые происходят не в хро
нологическом порядке
1 Схемы построения моделирующего алгоритма
Наряду со схемой событий большое распространение получила и
схема процессов Сформулируем необходимые понятия: событие, рабо
та, процесс и др
Событие
это изменение в системе, относящееся к какомуто мо
менту времени Применительно к модели
это скачкообразное измене
ние одной или нескольких дискретных величин либо достижение непре
рывно изменяющейся величиной заданной границы Примеры событий:
поступление заявки, освобождение прибора, наступление срока хране
ния скоропортящегося продукта
Работа
действие, происходящее в моделируемой системе в тече
ние определенного промежутка времени Примеры: подготовка заявки,
обслуживание заявки в приборе Время, требующееся для работы, может
быть случайной величиной, но к моменту имитации работы случайная
величина должна получить конкретное значение с помощью датчика
случайных чисел Работа начинается и заканчивается событиями
8
Рассмотрим пример Пусть модель представляет собой совокупно
сть трёх процессов Один процесс отображает поведение покупателя, вто
рой – магазина, в котором покупатель совершает покупки, а третий про
цесс – деятельность банка, со счёта которого покупатель снимает деньги
Предположим, что покупатель приобрёл товары в магазине на опреде
лённую сумму
в кредит событие
, произошло в момент времени
= 9
 Магазин уведомил об этом банк 
= 1
 Сумма на счё
те уменьшается:
=

 Покупатель посещает банк с целью снять
деньги со счёта 
=11
 Если денег на счёте достаточно, то банк
выдаёт клиенту которым является покупатель запрошенную им сумму
Если счёт меньше запрошенной суммы, то покупателю будет отказано
Хронологический порядок событий:
,
,
представлен на рис 
Рассмотрим ситуацию, когда уведомление в банк из магазина посту
пит позже того, как покупатель снимет сумму с вклада в банке которой
уже нет на счёте, и банк понесёт убытки Ситуация, которая обрисована
выше, возникла вследствие того, что хронология событий была нарушена
рис 6
Нарушение хронологического порядка могло произойти по той при
чине, что в распределённом моделировании время для разных логических
процессов движется с разной скоростью Например, если процесс, реали
зующий работу магазина, выполняется на загруженном процессоре, то
уведомление банку поступает позже, поскольку процесс банка убежал
вперёд он выполняется на менее загруженном процессоре
Имитационный алгоритм должен уметь бороться с такими парадок
сами времени В этом заключается проблема синхронизации компонен
тов имитационного моделирования Было предпринято множество попы
ток решить эту проблему В настоящее время все алгоритмы синхрониза
Покупатель
Магазин
Банк

= 9,
= 1,
= 11,
Покупатель
приходит в
магазин
Магазин уведомл
ет
банк о кредите
его клиента
Покупатель он же клиент
приходит в банк, чтобы снять
сумму денег со счета
Рис  Банк получает сообщения в хронологическом порядке
7
разработчиком в зависимости от характера системы, которую необходи
мо моделировать Принцип
предпочтительнее, если события появля
ются более менее регулярно и распределены во времени относительно
равномерно Принцип особых моментов позволяет экономить машинное
время, когда существенные события могут длительное время не насту
пать; не требует определения величины приращения времени; эффекти
вен при неравномерном распределении событий во времени
Парадоксы времени
Алгоритм управления временем должен следить за тем, чтобы со
бытия выполнялись в хронологическом порядке Эта задача не является
тривиальной Действительно,
логический
процесс заранее не может знать
о том, на какое время будет запланировано событие, которое он получает
от другого логического процесса
Z=
Да
Нет
=



1=
1



осв
:=1
от
:=
от
1
Да

Начало
ет
:=
1=
1


:=
обс
обс
:=
обс
:=
1
1:=

обс
Конец
Рис  Цикл, организованный по принципу особых моментов
6
состояние системы:
Z
= 
свободен,
Z
= 1
занят;
интервал между
заявками;
ОБС
время обслуживания заявки;
момент поступления
заявки;
ОСВ
момент освобождения прибора канала обслуживания;
текущий момент
Цикл, организованный по принципу
рис Перед началом
цикла в памяти хранится:
, если
Z
= ;
oсв
, если
=1 Время измеряется
числом тактов
Цикл, организованный по принципу особых моментов
рис 
Особый момент: поступает заявка, закончено обслуживание заявки осво
бождение прибора К началу цикла в памяти хранится:
– последний
особый момент;
– момент поступления очередной заявки;
ОСВ
– момент
освобождения прибора, следующий за
, если в момент
система за
нята Начинается цикл с того, что последний особый момент рассматри
вается как предыдущий и определяется очередной особый момент В каж
дом конкретном случае принцип продвижения времени выбирается
=
Да
Нет
=
1
1=
11
:=
1
:=1
1:=

обс
от
:=
от
1
да
обс
:=
обс
обс
:=
1
Да
Нет
А
В
Начало
ет
oсв
А
Рис  Цикл, организованный по принципу

рует случайное время обслуживания в соответствии с указанным законом
распределения Прибавив это время к текущему моменту, ЭВМ вычисля
ет момент, когда освободится первый прибор, и заносит это число в ячей
ку календаря, отведенную для первого прибора Аналогично заполня
ются другие ячейки календаря
При моделировании СМО целью является определение характерис
тик качества функционирования СМО, например, вероятности потери
заявки, или других величин: коэффициента загрузки прибора, средней
длины очереди и тп Эти характеристики и вычисляются по окончании
имитации на основе
статистик,
накопленных в процессе имитации
Примеры статистик:
количество поступивших заявок,
количест
во потерянных заявок,
суммарное время занятости прибора На ос
новании этих статистик можно вычислить оценки искомых характеристик:
вероятности потери заявки
ПОТ
=
З
и коэффициента загрузки одного
прибора
ЗП
=
СЗ
, где
длина реализации, те длительность ими
тированного процесса Операторы, осуществляющие
пополнение ста
тистик
, входят в состав алгоритма шага
Основная часть алгоритма имитации представляет собой цикличес
кое повторение шагов имитации до тех пор, пока не будет выполнено
усло
вие остановки
 Остановка производится после выполнения заданного
числа шагов или достижения заданного значения системного времени дли
ны реализации Чем длиннее реализация, тем точнее оценки искомых ха
рактеристик
Рассмотрим организацию цикла на примере моделирования СМО с
отказами рис  Предполагается получить оценку вероятности потери
заявки вероятности отказа путем воспроизведения на ЭВМ достаточно
длинного отрезка реализации
Два способа оценивания вероятности потери заявки: по заявкам
ОТК
=
ОТ
; по времени
ОТК
=
, где
ОТ
– количество заявок, по
лучивших отказ;
– общее количество заявок, поступивших в систему;
– суммарное время, когда прибор находится в занятом состоянии;
– общее время моделирования
t
обс
Z
1

Рис  Поток заявок, состояние СМО

события
и
появляются одновременно Стрелки указывают на точки,
в которых происходит приращение времени на один такт, и моменты
наступления очередных событий в обеих моделях В модели, исполь
зующей принцип особого состояния, имитируемое время при измене
нии сдвигается вперед точно на момент наступления самого раннего из
последующих событий, а в модели, использующей принцип постоянного
шага, имитируемое время сдвинется ровно на фиксированное значение
 Управляющая программа симулятор в модели на рис 1,а продвигает
время с постоянным шагом
и фиксирует в календаре событий состоя
ние, в котором находится исследуемый объект Симулятор на рис 1,б
продвигает время до ближайшего следующего события и в календаре
фиксирует само событие и время, когда оно произошло – это и будет но
вое состояние, в котором находится исследуемый объект до тех пор, по
ка не произойдет новое событие
Чтобы ЭВМ могла вычислить очередной особый момент, исполь
зуется так называемый
календарь
Календарь, или расписание предсто
ящих событий
это группа ячеек памяти, где для каждого типа события
указан ближайший момент, когда такое событие произойдет Имея кален
дарь, нетрудно определить очередной особый момент Это наименьший
из моментов, записанных в календаре
Чтобы заполнить календарь и в дальнейшем корректировать его со
держимое, осуществляется
планирование событий
Допустим, в теку
щий момент поступила заявка и сразу была взята на обслуживание пер
вым прибором, так как он оказался свободным Закон распределения вре
мени обслуживания задан наряду с другими данными Обратившись к
специальной подпрограмме 
датчику случайных чисел
ЭВМ генери
е








событий
1
t

t
е
t
е
,

е
t
б













событий
1

,
,
Рис 1 Течение модельного времени с постоянным шагом а
и по особымсостояниям б
а

использовании этого принципа возникает проблема выбора длины
интервала
 Как правило, алгоритм шага рассчитан на имитацию одного
события: поступления заявки, завершения фазы обслуживания и тп
Событие
это любое изменение в системе Все изменения, связанные
друг с другом причинноследственными связями и происходящие в один
и тот же момент времени, обычно рассматриваются как одно событие
Допустим, поступила заявка При этом увеличилось число заявок в сис
теме Если эта заявка сразу поступила на обслуживание, то изменилось
состояние прибора и количество занятых приборов Все это – одно собы
тие, поступление заявки
Возможно, что за время
в системе например, СМО произойдет
несколько событий в разные моменты В таком случае алгоритм, рас
считанный на имитацию одного события за один шаг, неправильно отра
зит изменения, произошедшие в системе Чтобы избежать это есть два
пути Первый путь
разработка алгоритма шага, рассчитанного на ими
тацию нескольких событий Этот путь приводит к значительному услож
нению алгоритма Другой путь
использование столь малого интервала
, что за это время практически не происходит более одного события
Этот путь приводит к резкому увеличению затрат машинного времени,
так как с уменьшением
соответственно возрастает число шагов, кото
рое надо выполнить, чтобы имитировать процесс на заданном отрезке
времени При малом
большинство шагов окажутся пустыми, так как
события будут происходить лишь на некоторых интервалах
, а на прочих
интервалах состояния СМО будет сохраняться таким же, как на соседних
интервалах
Принцип особых моментов
 Последнее замечание наводит на мысль,
что целесообразно проскакивать за один шаг весь промежуток времени
между соседними событиями и тем самым избегать пустых шагов Это
принцип особых моментов
 Особым моментом принято называть такой
момент времени, когда в системе происходит какоелибо изменение,
иначе говоря, происходит событие За один шаг осуществляется продви
жение по времени на случайный отрезок: от одного особого момента до
другого Рис 1 демонстрирует способы представления и управления
временем в обоих случаях
Примем следующие соглашения:

пусть время – частично упорядоченное множество
=
,
,,
;

пусть существует множество событий
,

= 1,  ;

все происходящие в модели события фиксируются в календаре
событий, обозначим его
событий
 Календарь – это список элементов
где каждый элемент
представляет собой пару 
,
 По оси времени
отложена одна и та же последовательность событий
 Как видно, два

Управляющая программа
монитор просматривает список буду
щих событий и извлекает событие, которое находится в вершине, произ
водит:

запуск на выполнения данного события;

изменение значения счетчика времени
Случайные факторы в моделировании
 Источники появления слу
чайных факторов могут быть внешними и внутренними Для моделирова
ния случайных факторов необходимо знать закон, по которому изменя
ются случайные факторы Данный закон обычно задается при помощи
соответствующих теоретических либо эмпирических функций распреде
ления При этом необходимо использовать генераторы псевдослучайных
чисел для имитации случайности тех или иных событий
Задачи
– представляют собой любую активность – элемент процесса
1 Построение моделирующего алгоритма
При разработке имитационной модели и планирования проведения
модельных экспериментов различают модельное системное время и
машинное время Машинное время отражает затраты времени ЭВМ на
проведение имитации Системное время соответствует реальному време
ни С помощью механизма системного времени отображается переход
моделируемой системы из одного состояния в другое, производится син
хронизация работы компонентов модели и квазипараллельная реализа
ция событий, которые в реальной системе возникают протекают одно
временно Опишем, как моделируется система в общем случае
В памяти ЭВМ отводится несколько ячеек для переменных, харак
теризующих состояние системы в целом и отдельных её элементов Со
держимое этих ячеек изменяется в соответствии с алгоритмом моделиро
вания так, как это происходит в реальной системе при её функциониро
вании Отдельная ячейка содержит текущее
системное время
, указыва
ющее, к какому моменту времени относится состояние системы, запи
санное в памяти ЭВМ Содержимое указанных ячеек памяти меняется
путем циклического повторения
основной
части алгоритма моделирова
ния, называемой
шагом
циклом
имитации
За один шаг осуществляется
переход к следующему значению системного времени, те

продвижение
по времени
 Попутно изменяется значение переменных, характеризую
щих состояние системы Таким образом, шаг за шагом имитируется
сме
на состояний системы
, те моделируется процесс функционирования
системы
Рассмотрим
принципы продвижения по времени
Принцип
t
Первая мысль
увеличивать системное время за один
шаг на постоянную величину
 Это
так называемый
принцип
 При
1
Заявка
инициирует начало какоголибо процесса в системе Заявка
характеризуется внутренней структурой: одиночная или групповая груп
па однотипных заявок Генератор заявок реализует законы их поступле
ния в систему В соответствии с законом поступления заявки бывают:
детерминированные время поступления заявки в систему четко опреде
лено и вероятностные используется нормальное, равномерное, экспо
ненциальное и др виды распределений
Очередь
– элемент модели, который включает заявки, которые по
каким либо причинам не могут быть обслужены Очереди ставятся перед
каждым устройством, на входе системы, на выходе, либо в точках, кото
рые являются потенциальными узкими местами в системе, либо в
этой точке необходимо провести дополнительное накопление результата
Процесс
– последовательность событий и работ, описывающая
поведение во времени какоголибо объекта в моделируемой системе
Простые процессы характеризуются последовательным характером
выполнения, минимальным количеством типов заявок и условий ини
циации процесса и обслуживания заявок, наличием простых устройств
в обслуживании; сложные процессы описываются большим количест
вом типов заявок, имеют сложные условия развития и инициации, ис
пользуют сложные, многофазные устройства
Для описания процесса необходимо знать:
1 Заявки, которые с ним связаны;
 Характер их поступления в систему условия инициации самого
процесса;
 Устройства, которые связаны с обслуживанием в рамках данного
процесса;
 Планграфик выполнения работ или задач в рамках данного процесса;
 Условия связи с другими процессами;
6 Критерий оценки эффективности
События
– связаны с изменением состояния системы и её объек
тов События обеспечивают прерывистость процесса Процесс представ
ляется из набора активностей и пассивностей Начало каждой активности
связано с возникновением события в системе
Работа
действие, происходящее в моделируемой системе в тече
ние определенного промежутка времени Работа начинается и заканчива
ется событиями
Системное время
 Механизмы учёта системного времени:
1Время изменяется равномерно с определенной дискретностью;
Скачкообразное изменение времени в соответствии с возникно
вением событий Список будущих событий – каждое событие имеет харак
теристику времени возникновения

 АЛГОРИТМЫ МОДЕЛИРОВАНИЯ СИСТЕМ И СЕТЕЙ
ТЕЛЕКОММУНИКАЦИЙ
1 Имитационное моделирование систем
Имитационное моделирование ИМ
это метод исследования, кото
рый основан на том, что анализируемая динамическая система заменяет
ся имитатором и с ним производятся эксперименты для получения об
изучаемой системе новых сведений Роль имитатора зачастую выполняет
программа ЭВМ Имитационные модели связаны не с аналитическим
представлением, а с принципом динамической имитации с помощью
информационных и программных средств сложных процессов и систем
Модель системы при ИМ представляет собой совокупность моде
лей элементов и их функциональные взаимосвязи Модель элемента аг
регата, обслуживающего прибора  это, в первую очередь, набор правил
алгоритмов поведения устройства по отношению к входным воздейст
виям и правил изменений состояний элемента Элемент отображает функ
циональное устройство на том или ином уровне детализации В простей
шем случае устройство может находиться в работоспособном состоянии
или в состоянии отказа В работоспособном состоянии устройство мо
жет быть занято, например, выполнением определенной операции или
быть свободным
При имитационном моделировании стохастических систем опреде
ляющими являются два аспекта: построение моделирующего алгоритма
и разыгрывание случайных факторов, обуславливающих возможные сос
тояния системы
Моделирующий алгоритм обеспечивает воспроизведение во време
ни процесса смены состояний системы, те строит траектории процесса
функционирования системы Функционирование системы представля
ется как хронологическая последовательность событий Продвижение
системного времени реализуется посредством программирования симу
лятора – движителя, который воспроизводит во времени движение
смену состояний объекта моделирования Для разыгрывания случайных
факторов применяется метод статистических испытаний метод Монте
Карло, особенности которого рассматриваются в следующем разделе
11 Основные понятия имитационного моделирования
Устройство
средство
элемент имитационной модели, который
позволяет провести имитацию процесса обслуживания Простые одно
канальные имитационные модели обслуживают одновременно одну
заявку; сложные многоканальные позволяют одновременно обслужи
вать несколько заявок

Рекуррентная численная процедура 8  1 расчёта замк
нутых сетей массового обслуживания широко используется для расчёта
производительности многомодульных систем, например, коммутаторов
в корпоративных сетях
Вопросы и задания
1 Какие объекты называют СМО? Перечислите характеристики
СМО
 Какой характер имеет зависимость характеристик
М
, λ,
пр
от ρ
в одноканальной экспоненциальной СМО?
 Подстановка
= 1 в 8 – 1 должна дать формулы для
расчёта характеристик одноканальной СМО Проверьте, так ли это
 Что такое экспоненциальная СеМО?
 Что такое уравнения баланса и для чего они применяются?
6 В чём состоят особенности моделирования многоканальных и
многофазовых СМО?
7 По каким признакам различают СМО? Какова структура описа
ния СМО?
8 Возможно ли улучшение характеристик СМО и какое?
9 Что составляет предмет исследования СМО?
1 Перечислите системные характеристики СеМО
11 Объясните, в чем физический смысл характеристики запасы
по пропускным способностям
1 Объясните, в чём физический смысл характеристики условная
пропускная способность”
1 Предположим, что все входные потоки некоторой СеМО, кроме
го и го, имеют нулевые интенсивности
=  и требуется найти харак
теристики
B
A

, для
= , Необходимо ли для этого вычислить всю
ìàòèöó

j

передаточных коэффициентов или достаточно иметь её 
ю и ю строки? Если достаточно, то как по ним найти требуемые характе
ристики?
8
Величина

пропускная способность ЗСМО при наличии в ней
заявок
Вектор
Nkee
,1,
==
является решением системы линейных урав
нений уравнений баланса для замкнутой сети:

ePe

которая определяет стационарное распределение цепи Маркова, управ
ляющей переходами заявок в ЗСеМО, с матрицей вероятностей переходов:

j
PP
,
,,1
N
,,1
Nj
где
j
= Система  решается при дополнительном ограничении
1
Выполнение процедуры 8  1 начинается с
v
= 1,
= 
для
Nk
,1
=
Вычисления увеличение
v
на 1 ведутся до тех пор, пока ЗСеМО не
войдет в состояние насыщения
Критерий признак насыщения:


 1 


где ,9 
e
 1 – численное значение критерия насыщения
Значение , удовлетворяющее , принимается за пропускную
способность производительность замкнутой СеМО
Характер зависимости

 1 

 приведён на рис9:

1     6 7 8 9 1
11
1
,9
,8
,7
,6
,
Рис 9 Характеристика процесса насыщения
7
тывает заявка, состоит из времени t
её обслуживания и времени обслу
живания заявок, ожидавших перед ним в очереди, включая заявку, нахо
дившуюся на обслуживании
Среднее время задержки пребывания заявки в
м узле при нали
чии в сети
j
заявок связано со средним числом ожидающих при наличии
в сети 
j 
1 заявок соотношением 1:
=
j
пр
где
 , по определению, есть среднее число заявок в узле
при наличии
в сети
заявок;
число обслуживающих приборов в
м узле
Данное равенство имеет в точности желаемую рекуррентную фор
му Применительно ко всей ЗСеМО эта форма выглядит следующим об
разом Обозначим:
 сеть содержит
узлов;

Nkv
,1 ,
п
пр
вектор средних времен пребывания заявок
в СМО сети при наличии в сети
v
заявок;
обс
среднее время обслуживания заявок в
k
й СМО, ;
 


среднее число заявок в
k
СМО при наличии в сети
заявок;
число обслуживающих приборов в
й СМО;
v
среднее время пребывания заявок в СеМО при наличии в
сети
заявок
Для
,1
и
Nk
,1
рассчитывается среднее время пребывания в
й СМО при наличии в сети
v
заявок


v
п
обс

v
8
Среднее время пребывания заявок в замкнутой СеМО при наличии
в сети
v
заявок
пр
пр
ev
;
9



пр

vevv

1
6
В этой системе второе неравенство вытекает из первого сравните
их, предварительно умножив первое на 1, Поэтому второе неравенство
может быть отброшено Кроме того, первое неравенство вытекает из
третьего, поэтому его тоже можно отбросить Следовательно, условие
стационарности 6 эквивалентно следующему:


 1,
17
7
Абсолютная пропускная способность
 Для СеМО на рис 8
нахождение
несколько упрощается благодаря тому, что условие
стационарности сети 7 содержит лишь одно неравенство Так,
полагая
=
=  для
из 7 получим
1  7, откуда
= 1 7
Аналогично вычисляются
= 17 и
= 87 Вполне естественно, что
найденные значения совпадают с максимальными значениями для
показанными в правых частях уравнений 6
Условная пропускная способность
Условную вероятность для рас
сматриваемой СеМО найдём из 7:
= 17,
= 7,
= 1
Запасы по пропускным способностям
Запасы составляют
=1
71= 7,
= 7  =7,
= 1  =1
Схема расчёта замкнутой СеМО
Итерационный метод анализа 1 средних значений характеристик
замкнутых СеМО ЗСеМО позволяет определять такие практически важ
ные показатели функционирования, как средние длины очередей и вре
мена ожиданий пребываний в СеМО, производительности сети и загруз
ки её узлов и тд
В ЗСеМО циркулирует конечное число заданий Узел
такой ЗСеМО
представляет собой обслуживающий прибор возможно, многоканаль
ный с экспоненциальным распределением времени обслуживания и
очередь заявок, ожидающих обслуживания Дисциплина обслуживания
первым пришел  первым обслужен” такова, что обслуживающий при
бор не простаивает при наличии хотя бы одной заявки в очереди После
обработки заявки в узле
она с вероятностью
j
j
=1, где
 общее число узлов в ЗСеМО
переходит на обслуживание в другой узел
 Общее число заявок по всей
сети постоянно и равно
Решающим в анализе средних значений является вычисление сред
него времени задержки в узле
,
=1,,
, ЗСеМО Рассмотрим момент,
когда заявка поступает в эту систему Средняя задержка, которую испы


11
1
Это позволяет найти строку коэффициентов
матрицы ||

j
|| путём
решения уравнений баланса сети для случая найденные значения
,,
будут численно равны коэффициентам
11
,,
 Аналогично для
случая, когда
= 1, остальные
= , решение уравнений баланса даст
значения
,,
kN
Найдем матрицу ||

j
|| для CeМO на рис 8, составим уравнения
баланса:
λλλ
11
III
1
1
=
1
1
λλ
=
1
1
λλ
=
Решим эти уравнения для
=1,
= Получим
=1,
=,
=
Для
=1,
= решением будет
=1,
=6,
= и для
=1,
=
решением будет
=1,
=,
=
Следовательно, матрица ||
j
|| этой СеМО имеет вид:
1  
1 6 
1  
Входовое среднее время пребывания
 Из системы  при
известных

пр
j
найденных при расчёте схемы на рис 8 нетрудно
найти
= ,6,
= ,6,
= ,1
Развернутая форма условия стационарности
 Для конкретных
СеМО некоторые из неравенств системы  оказываются излишними:
такие неравенства можно исключать из системы, не изменяя решения
Для рассматриваемой СеМО условие  примет вид:
1
 1

 1
1,7

 6
 
1,6

 
 
,
или, после сокращения на положительные коэффициенты,


17
 1,


1 
6

 1,
17

Это условие удобно переписать так:







обс
обс
обс1
N
N
ТKI
ТKI
ТKI

Из определения
вытекает, что эта величина равна максимальному
из значений
, отвечающих  Следовательно,
равно наименьшей
из правых частей в 
Условная пропускная способность
Условная пропускная способ
ность, как и абсолютная, может быть найдена из  Для нахождения
в  следует подставить заданные значения всех входных
интенсивностей СеМО, кроме
 Затем полученная система разрешается
относительно
в виде:

BI
11
BI
BI

и
находится как наименьшая из правых частой в  Если условие
стационарности СеМО содержит в себе лишь одно неравенство, как на
рис 8, то нахождение
упрощается
Запасы по пропускным способностям
Формула для вычисления
запасов
дана непосредственно в их определении Рассмотрим пример
анализа СеМО
Определим системные характеристики для СеМО на рис
8
Среднее время пребывания
заявки в СеМО:
6,
1
,86,,1
1
пр
пр



III
c
Передаточные коэффициенты
Значения коэффициентов
j
од
нозначно определяются матрицей
вероятностей передач Из 
вытекает, что при
=
= ,
= 1 имеет место


1
1
пр1
1
Рассуждая аналогично о входовых средних временах пребывания
и
можно записать для них сходные с 1 уравнения, которые
вместе с 1 составят следующую систему уравнений:

пр
пр
1
1
пр1
=
=
=

Развернутая форма условия стационарности
Условие стационар
ности СеМО запишем в виде:
1, 1,
Nj
jj
=
Эта запись эквивалентна следующей:
1,,
Nj
K
jjj
Выражая
через
по формуле , получим развернутую фор
му условия стационарности:



K
II
11
111

αα
1

KI
II


11

αα

KI
II
NN
NNN

αα
11


Эта система неравенств эквивалентна 
Абсолютная пропускная способность
Используя развернутую
форму условий стационарности, абсолютную пропускную способность
по
му входу можно найти непосредственно по её определению Дей
ствительно, если все входные интенсивности СеМО, кроме
, положить
равными нулю, то из  получим, что для стационарности
необходимо условие:
обсN
обс

обс1
11




ТKI
ТKI
ТKI
NN



Среднее время пребывания
заявки в СеМО рассчитывается по
следующей формуле
пр
пр
19
где
=
 ,,
 I
 передаточные коэффициенты
Важное и полезное свойство передаточных коэффициентов состоит
в следующем В стационарном режиме при любых
 ,,
 I
для
,,
справедливо
II
NN

ααλ
111
1
=
NN

αα

1
=
II
NNN

ααλ

11
=

Обратим внимание на то, что строка передаточных коэффициентов
в  представляет собой столбец матрицы ||

j
|| Система  вы
ражает интенсивности
прихода заявок в СМО через интенсивности
входных потоков сети
Приведём алгоритм вычисления матрицы ||

j
||
1 Составить уравнения баланса сети, включающие интенсивности
,
в буквенном виде,
 Положить
k
= 
 Решить уравнения баланса для случая, когда
= 1, остальные
= 
Полученные значения
,,
записать в
ю строку матрицы переда
точных коэффициентов
 Положить
k
k

 Если
k
N
, перейти к , иначе к 6
6 Конец
Входовое среднее время пребывания
Рассмотрим СеМО на рис
8 и проследим, как формируется входовое время пребывания в сети
заявки первого потока Это время состоит из двух слагаемых Первое
слагаемое есть среднее время пребывания в СМО –
пр1
 Второе слага
емое включает составляющие: с вероятностью
равной нулю заявка
уходит из сети, с вероятностью
1
равной входовому времени пребыва
ния для входа  заявка входит в сеть через СМО  и с вероятностью

входовому времени пребывания для входа  Итак, в среднем второе сла
гаемое составляет
¸  

=

величину В целом
среднее входовое время пребывания
равно сумме средних значений
первого и второго слагаемых:
1
Расчёт системных характеристик разомкнутых СеМО
Характеристики СеМО определяются обычно на уровне средних
значений и делятся на локальные и системные К
локальным
характерис
тикам СеМО относятся характеристики всех входящих в нее CМО
Сис
темные
характеристики отражают свойства сети в целом, рассматри
ваемой как единая, неделимая на части система
Наиболее важными системными характеристиками СеМО являются:
1
Среднее время
пр
пребывания в сети
Временем пребывания в
сети называется время между приходом заявки в сеть и её уходом из сети

Передаточные коэффициенты
Nj
j
1,, ,
Пусть заявка входит
в сеть из

го входного потока Её маршрут в сети случаен, поэтому случай
но и число приходов в
ю СМО за время пребывания в сети Среднее зна
чение
j
этого числа приходов называют передаточным коэффициентом
Он однозначно определяется для любых
j
, матрицей
вероятностей передач

Входовые средние времена
,,
пребывания в сети Величина
определяется как среднее время пребывания в сети заявки, поступаю
щей из
j
 го входного потока 
Nj


Условные пропускные способности
,,
 Предположим, что
в заданной СеМО значение интенсивности
заменено на максимальное
значение, при котором сеть ещё стационарна Это значение
будем на
зывать условной пропускной способностью по входу
При заданных
j
 сеть стационарна для любых значений

Абсолютные пропускные способности
 Предположим, что в
заданной СеМО интенсивности всех входных потоков, кроме
го, заме
нены на нулевые, а
заменена на предельное значение, при котором
сеть ещё стационарна Это значение
будем называть абсолютной про
пускной способностью по
му входу
Если
>A
, то сеть нестационарна, каковы бы ни были интенсив
ности остальных входных потоков
6
Запасы
,,
по пропускным способностям Запас
=

Nj
1,
 Запас
показывает, насколько может быть увеличена интенсив
ность прихода заявок на
м входе при заданных остальных без наруше
ния условия стационарности
Если в виде СеМО моделируется некоторая реальная система, то
названные характеристики могут дать ценную информацию о свойствах
этой реальной системы Например, если СеМО изображает вычислитель
ную систему реального времени, то среднее время пребывания характе
ризует среднее время ответа системы, а запасы
выражают готовность
системы продолжать устойчивое функционирование при увеличении
нагрузки интенсивности запросов по тому или иному входу

обс1
обс
обс
1
1
Рис 8 Разомкнутая экспоненциальная СеМО
При известных
= 1,
= ,1;
= ,;
= , из последних трёх
уравнений находим
= 1,
= ,
=  Используя первое уравнение в
17 для проверки, подставляем в него найденные значения интенсив
ностей и получаем тождество 1 =
   , подтверждающее правильность
произведённых вычислений
Далее выполняем проверку стационарности СеМО СеМО стацио
нарна, если стационарны все СМО, те если
Nj
,1 ,1
=
18
Проверить эти условия после того, как определены,
, не предста
вляет труда Условие 18 выполняется, поскольку
= 
обс1
= 1
¸ ,7 = ,7
= 
обс
= 
¸ ,6 = ,
= 
обс
= 
¸ , = ,7
Для стационарной экспоненциальной СеМО с известными интен
сивностями
j
расчёт локальных характеристик сводится к применению
формул   1
Находим, что с
= ,7;
= 1,6;
= ,;
ож1
= ,16;
пр1
= ,;
= ,;
= ,1;
= ,;
ож
= ,6;
пр
= ,86; с
= ,7;
= ,176;
= ,;
= 1,8;
ож
= ,1;
пр
= ,
С помощью такой СеМО можно промоделировать, например, вы
числительную систему Тогда входные потоки заявок СеМО будут изобра
жать запросы, поступающие на вход вычислительной системы, отдельные
СМО будут соответствовать этапам их обработки на устройствах про
цессорах, периферийных устройствах и др, выходные заявки СеМО 
результатам обработки запросов

ностями λ
,,λ
образуется поток, имеющий интенсивность λ = λ
,,λ
При ветвлении потока с интенсивностью λ на
направлений, вероятности
перехода заявки в которые равны
,,
, образуется
потоков c интен
сивностями λ
,,λ
соответственно
В стационарной СеМО среднее число заявок в любой её фиксиро
ванной части постоянное Отсюда следует, что суммарная интенсивность
входящих в эту часть потоков равна суммарной интенсивности выходя
щих Запись данного закона в математической форме называется
урав
нением баланса
 Выделяя различные части в СеМО и составляя для них
уравнения баланса, можно получить систему уравнений, связывающую
неизвестные интенсивности λ
,,λ
c известными
,,
 Обычно при
этом в качестве отдельных частей СеМО выделяют все СМО В этом слу
чае для
неизвестных имеется
уравнений Можно добавить к ним ура
внение баланса для входных и выходных потоков всей СеМО Тогда полу
чится
1 уравнение, и одно из них можно использовать в качестве про
верочного
Разомкнутая экспоненциальная СеМО задается следующими пара
метрами:
1 числом
СМО;
 числом
,,
каналов в СМО 1,  ,
 матрицей
= ||

j
|| вероятностей передач,
= 1,,
;
=,,
 интенсивностями
,,
входных потоков заявок;
 средними временами обслуживания
обс1
, ,
обс1
заявок в СМО
Например, СеМО рис
8
 будет задана численно в следующем виде:
а
=;

=1;
=1;
=;
c
1
1
,,1,


  1 
= 1;
= ;
= ;
e
обс1
= ,7;
обс
= ,6;
обс
= ,
Баланс интенсивностей в сети можно учесть, обозначая интенсив
ности на входах и выходах СМО и СеМО так, как показано на рис 8
Применяя свойства слияния и ветвления потоков, запишем, что
=


=
1
17
=
=
8
ки, переходящие в соответствии с маршрутной матрицей из одного узла
в другой Для наглядного представления СеМО используется граф, вер
шины которого узлы соответствуют отдельным СМО, а дуги отобража
ют связи между СМО узлами
Переход заявок между узлами происходит мгновенно в соответствии
с переходными вероятностями:
,N,j,
j
1
где
j
вероятность того, что заявка после обслуживания в узле
перей
дет в узел
 Естественно, если узлы непосредственно не связаны между
собой, то
j
= 
Если из

го узла переход только в один какойлибо узел
, то
j
= 
Таким образом, экспоненциальной будем называть СеМО, отвечаю
щую требованиям:

входные потоки в СеМО пуассоновские;

во всех N СМО время обслуживания заявок имеет экспоненциаль
ную функцию распределения вероятностей и заявки обслуживаются в
порядке прихода;

переход заявки с выхода
й СМО на вход
й является независи
мым случайным событием, имеющим вероятность
,N,j,
j
1
где
о
вероятность ухода заявки из CeМО
Если заявки приходят в сеть и уходят из неё, то сеть называется
ра
зомкнутой
 Если заявки не приходят в сеть и из неё не уходят, сеть называ
ется
замкнутой
 Число заявок в замкнутой сети постоянное
Свойства разомкнутой экспоненциальной СеМО
В разомкнутой СеМО входным потоком заявок СМО будем называть
поток заявок, приходящих на вход отдельной СМО из внешней среды
сети, те не с выхода какойлибо СМО В общем случае число входных
потоков СеМО равно числу СМО
В экспоненциальной СеМО поток заявок на входе отдельной СМО
складывается из входного потока возможно, имеющего нулевую интен
сивность и из потоков, поступающих с выходов некоторых других СМO
Характеристики СМО отвечают формулам   1 Поэтому для
их расчёта в заданной СеМО достаточно найти интенсивности λ
,,λ
входных потоков СМО Нахождение интенсивностей λ
,,λ
осущест
вляется на основе уравнений баланса сети с учётом простых свойств сли
яния и разветвления потоков При слиянии
потоков заявок с интенсив
7
совершит
переходов Это есть средняя длина очереди, те
ож
1
Подставляя в 1 вместо его определение 1, получаем
выражение для средней очереди СМО
|1 в виде:
ρ1
16
Здесь
=
– коэффициент загрузки СМО
Из 16, в частности, следует, что для модели
|1 экспонен
циальное время обслуживания, когда  =

, для средней длины очереди
справедливо соотношение:
ρ1
сэ
Формула Полячика–Хинчина широко используется для расчета
характеристик отдельных СМО, но применение этой формулы для ана
лиза сетевых систем затруднено
Системы |М|1 обладают тем свойством, что выходящий поток об
служенных требований в стационарном режиме является пуассонов
ским Сохранение пуассоновости в выходящем из отдельных СМО потоке
облегчает построение и расчёт характеристик аналитических моделей
сетей, представленных в виде стохастических очередей СеМО, посколь
ку при этом условии сохраняется независимость длительностей пребыва
ния требований в различных узлах моделей сетевых систем
Системы |G|1 не гарантируют сохранение пуассоновости в выходя
щем потоке Отсутствие независимости длительностей пребывания тре
бований в различных узлах моделей сетевых систем с нестандартными
дисциплинами приводит к значительным трудностям при анализе моде
лей сетевых систем Так, например, при достаточно реалистическом
предположении о том, что длина требования остается постоянной в
процессе его передачи через узлы сети что характерно для сетей с
пакетной коммутацией, необходимо прослеживать путь каждого тре
бования, что делает невозможным аналитический расчет характеристики
для сети с числом узлов
>  Аналитический анализ допускают
экспоненциальные СеМО
 Экспоненциальные сети массового обслуживания
Сеть массового обслуживания
представляет собой совокупность
конечного числа
обслуживающих узлов, в которой циркулируют заяв
6


λ
1!
λ
обс
обс
обс
K
K
1
Остальные характеристики вычисляются через параметры СМО
следующим образом:
=

¸ρ,
11
ож
=
1
=
ож

обс
1
Многоканальную СМО можно поставить в соответствие, например,
многопроцессорному блоку вычислительной системы, имеющему об
щую память для всех процессоров и, следовательно, общую очередь задач
Формула Полячека–Хинчина
Формула ПолячекаХинчина  для однолинейной СМО
М|
G|1 при
прямой процедуре обслуживания первым пришёл – первым обслужен
с пуассоновским потоком на входе и произвольным характером времени
обслуживания в системе определяет среднее время ожидания обслужи
вания в виде:
1
ОЖ
1
где
– интенсивность входного простейшего потока заявок;
– среднее
время обслуживания;
=
  – второй момент распределения дли
тельности обслуживания  – дисперсия
Заявка перемещается в очереди в среднем с постоянной скоростью
Среднее число переходов заявки в очереди на одно место вперед за еди
ницу времени равно
 При такой скорости переходов за время
ож
заявка
К
К
λ
обс
Рисунок 7 Двухканальная СМО

пр
=
ρ1
обс
7
Вероятность наличия в системе
требований определяется с помо
щью геометрического закона распределения в виде
,
,1,,
ρ1
=
Характеристики 
7 могут давать ценную информацию
о моделируемой в виде СМО системе Пусть, например, СМО изобра
жает периферийное устройство вычислительной системы Тогда ρ равен
коэффициенту использования устройства, 1 ρ
коэффициенту простоя
Необходимо, чтобы коэффициент использования был достаточно велик
Величина характеризует среднее время, в течение которого программы
ожидают освобождения устройства В это время программы фактически
простаивают” Желательно, чтобы оно было достаточно мало
Многоканальная экспоненциальная СМО отличается от однока
нальной числом каналов, которых в ней более одного Приходящая заявка
становится в очередь, если все каналы заняты В противном случае заявка
занимает свободный канал
Многоканальная экспоненциальная СМО
Многоканальная экспоненциальная СМО задается тремя парамет
рами: интенсивностью
прихода заявок, средним временем обслужива
ния
ож
и числом
каналов рис 7
Формулы для расчёта характеристик многоканальной экспонен
циальной СМО немногим сложнее 
7
Коэффициент загрузки определяется в виде:
обс
8
Его значение должно отвечать условно стационарности 
Средняя длина очереди в блоке ожидания:

,
1
λ
обс
обс
1
KK
9
где
стационарная вероятность того, что в СМО нет заявок Эта веро
ятность определяется в виде:

ρ = λ ¸
обс

Если выполняется условие:
ρ
1,

то существует стационарный режим функционирования СМО В стаци
онарном режиме все вероятностные характеристики системы являются
постоянными во времени величинами Сами происходящие в СМО собы
тия остаются при этом случайными Если  не выполняется, то ста
ционарного режима у СМО не существует
В стационарном режиме среднее число
заявок в СМО постоянно,
поэтому среднее число заявок, приходящих в СМО в единицу времени,
равно среднему числу заявок, в единицу времени, уходящих из СМО
Следовательно, в стационарном режиме интенсивность потока уходящих
заявок равна λ Коэффициент загрузки ρ в стационарном режиме есть:
а среднее значение той части единицы времени, в течение которой
канал занят;
б вероятность того, что канал занят;
в среднее число заявок в канале
В последующем речь будет идти только о стационарных значениях
характеристик
Средняя длина очереди среднее число заявок в очереди в однока
нальной экспоненциальной СМО рассчитывается по формуле

= –––– 

1 
Среднее число
заявок в СМО равно сумме среднего числа
заявок в очереди и среднего числа ρ заявок в канале:

= –––– 

1 
Заявка перемещается в очереди в среднем с постоянной скоростью
Среднее число переходов заявки в очереди на одно место вперед за
единицу времени равно λ При такой скорости перемещения
переходов
произойдет за время, равное в среднем
ож
=
ρ1
обс
6
Формула 6 дает среднее время прохождения заявки через
очередь Это есть среднее время ожидания
Среднее время пребывания заявки в СМО есть сумма среднего
времени ожидания и среднего времени обслуживания заявки:

заявка обслуживается, освобождает канал и уходит из СМО Если в мо
мент ухода очередь непустая, первая в ней заявка выходит из очереди и
занимает канал Кружком обозначен канал
, тремя прямоугольниками
 очередь рис 6
Стрелки указывают направление движения заявок, точки у стрелок
вход и выход СМО Приходы заявок образуют пуассоновский поток
событий Это означает, что время между приходами любых двух
последовательных заявок есть независимая случайная величина с
экспоненциальной функцией распределения вероятностей:
 = 1  e
VX
1
Параметр
есть интенсивность потока заявок, те среднее число
заявок, приходящих в единицу времени, равно
 В дальнейшем интен
сивность прихода заявок в СМО будем обозначать через λ Время обслу
живания заявки  тоже независимая случайная величина с экспоненци
альной функцией распределения вероятностей вида 1 Но параметр
V
в этом случае имеет другое значение Будем обозначать его через μ
Величину 1 μ, равную среднему времени обслуживания заявки, обозна
чим через
обс
В виде одноканальной экспоненциальной СМО можно промодели
ровать, например, периферийное устройство мультипрограммной вы
числительной системы Тогда приходы заявок будут соответствовать обра
щениям программ к устройству для выполнения операции ввода или
вывода информации; λ будет интенсивностью таких обращений,
обс
средним временем выполнения требуемой операции Одноканальная
экспоненциальная СМО задается параметрами λ,
обс
 Цель её анализа
заключается в расчёте характеристик, важнейшие из которых следующие:

коэффициент загрузки ρ;

средняя длина
очереди;

среднее число
заявок в СМО;

среднее время ожидания обслуживания

среднее время
пр
пребывания заявки в СМО 
Коэффициент загрузки рассчитывается по формуле
К
обс
Рис 6 Одноканальная СМО

ок малости выше, чем вероятность появления одного события на этом
интервале
Величину λ в случае пуассоновского потока называют
интенсив
íîñòüþ
потока событий Если
= τ = cot, то поток является регулярным
или детерминированным
Для обозначения типа CО используется система
обозначений,
имеющих вид Δ|Θ|Ξ|Ω Здесь Δ – обозначение закона распределения
вероятностей для интервалов поступления заявок, Θ – обозначение закона
распределения вероятностей для времени обслуживания, Ξ – число кана
лов обслуживания, Ω – число мест в очереди
Обозначение законов распределения в позициях Δ и Θ выполняется
обычно буквами из следующего списка:
– экспоненциальное;
– эрланговское порядка
– равномерное;

– детерминированное постоянная величина;
– произвольное любого вида и тд
Если число мест в очереди не ограничено, то позиция Ξ не указы
вается Например,
|
| 1 означает простейшую СМО оба распределения
экспоненциальные, канал обслуживания один, очередь не ограничена
Обозначение
R
|

|  | 1 соответствует СМО с равномерным распре
делением интервалов поступления требований, фиксированным време
нем их обслуживания, двумя каналами и 1 местами в очереди В этой
СМО заявки, приходящие в моменты, когда все места в очереди заняты,
покидают систему те теряются
Если в СМО поступает
потоков заявок у каждого потока свой
приоритет, то Δ и Θ приписывают число
в виде индекса Например,
|
 | 1 обозначает СМО с двумя потоками заявок, на входе имеющими
экспоненциальное распределение, с экспоненциальным временем об
служивания, своим для каждого потока В системе
 |
| 1 время обслу
живания всех заявок имеет одно и то же распределение В случае несколь
ких входных потоков, имеющих разные приоритеты, необходимо допол
нительно указывать типы приоритетов  абсолютные, относительные
 Экспоненциальная система массового обслуживания
Одноканальная однородная экспоненциальная СМО
Одноканальная экспоненциальная СМО определяется следующими
свойствами СМО имеет канал В СМО приходят
заявки
 Если СМО пустая
нет заявок, то приходящая заявка занимает канал Приходящая в непус
тую СМО заявка становится в очередь последней Любая занявшая канал
1
бодившегося прибора Он не дает право на вытеснение заявки из прибора
или буфера Лица, имеющие льготы при обслуживании в кассе, у врача
и тп, как правило, имеют относительный приоритет Абсолютный и отно
сительный приоритеты различаются и моментом действия: абсолютный
реализуется в момент поступления, а относительный  в момент освобож
дения прибора
Различают фиксированные и динамические приоритеты Фикси
рованные приоритеты чаще называют дисциплиной
обслуживания
Дисциплина обслуживания
задает порядок выбора из очереди в
освободившийся прибор заявок одинакового приоритета Выделим сле
дующие дисциплины: FIFO Ft Iut  Ft Outut: первым пришёл
первым обслужен, LIFO Lt Iut  Ft Outut: последним пришёл
первым обслужен, RAN Rom: случайный выбор из очереди В бы
ту обычно действует дисциплина FIFO Дисциплина LIFO реализуется в
буфере, организованном по принципу стека Такая дисциплина может ока
заться целесообразной, например, при передаче информации, если её
ценность быстро падает со временем
В теории массового обслуживания важным является понятие
слу
чайного потока
как некоторой последовательности событий, наступаю
щих в случайные моменты времени
Случайный поток может быть задан
функцией распределения вели
чины промежутка интервала времени между моментами наступления
событий:
j
= t
j
 t
j1
Р
t
Если величины
независимы в совокупности, то поток обладает
ограниченным последействием
В случае
t
 =
t 
t
 для всех
j
поток является
рекуррентным
Рекуррентный поток, для которого
t 
t
 = 1 e
, называется
пуассоновским
Для такого потока вероятность наступления за проме
жуток времени ,
событий есть
=
!e
, а мате
матическое ожидание числа событий, наступивших за время
, λ
, где λ
среднее число событий, наступающих в единицу времени
Пуассоновский поток характеризуется отсутствием последействия
Если кроме этого выполняются условия
стационарности
ординар
ности,
то пуассоновский поток будет
простейшим
Для стационарного потока распределение не зависит от положения
интервала τ на оси времени и зависит только от длительности τ Отсутствие
последействия означает независимость числа событий в неперекрываю
щихся интервалах
Свойство ординарности заключается в том, что вероятность появле
ния более одного события на бесконечно малом интервале имеет поряд

входящего потока, ни от состояния сети, ни от маршрутов следования
требований
Теорию экспоненциальных СеМО широко применяют как для ис
следования сетей передачи данных, так и для исследования мультипро
цессорных вычислительных систем ВС Разработаны практические фор
мы расчета вероятностновременных характеристик ВВХ таких сетей и
систем CеМО
это, прежде всего, совокупность взаимосвязанных сис
тем массового обслуживания Поэтому необходимо вспомнить основ
ные особенности этих систем
1 Система массового обслуживания как модель
Основными элементами системы массового обслуживания являют
ся входной поток заявок, очередь, прибор канал обслуживания
Заявки
требования на обслуживание поступают через постоянные
или случайные интервалы времени
Приборы
каналы служат для обслу
живания этих заявок Обслуживание длится некоторое время, постоянное
или случайное Если в момент поступления заявки все приборы заняты,
заявка помещается в
очередь
буфер и ждёт там начала обслуживания
Если все места в очереди заняты, заявка получает
отказ
в обслуживании
и теряется
Вероятность потери заявки
вероятность отказа
одна из
основных характеристик СМО Другие характеристики:
среднее время
ожидания
начала обслуживания,
средняя длина очереди
,
коэффициент
загрузки прибора
доля времени, в течение которого прибор занят обслу
живанием и тд
В зависимости от объема очереди различают
СМО с отказами
где
нет буфера,
СМО с ожиданием
, где буфер не ограничен например,
очередь в магазин на улице и
СМО
смешанного типа
, где буфер имеет
конечное число заявок В СМО с отказами нет очереди, в СМО с ожи
данием нет потерь заявок, в СМО смешанного типа то и другое возможно
Иногда различают заявки по их
приоритету
, те по важности Заяв
ки высокого приоритета обслуживаются в первую очередь
Абсолютный
приоритет
дает право прервать обслуживание менее важной заявки и
занять её место в приборе или в буфере, если все приборы заняты столь
же важными заявками Вытесненная заявка либо теряется, либо посту
пает в буфер, где ждет дообслуживания Иногда приходится возобновлять
обслуживание вытесненной заявки с начала, а не продолжать с точки
прерывания Если заявка вытеснена из буфера, она, естественно, теря
ется Примером заявки с абсолютным приоритетом является судно, полу
чившее пробоину и нуждающееся в срочной разгрузке В вычислитель
ных системах абсолютным приоритетом обладают команды оператора
Относительный приоритет
дает право первоочередного занятия осво

моделей, которые описывают процесс обслуживания некоторых объ
ектов, поступающих на вход обслуживающего прибора в виде некоторого
потока и образующего в общем случае очередь на входе обслуживаю
щего прибора
Поскольку рассматриваются абстрактные модели, совершенно не
важна природа обслуживаемых объектов и их физические свойства будь
то вызовы, управляющие или информационные кадры в сети связи или
посетители магазина, или детали на автоматической линии и тп Суще
ственным являются моменты появления этих объектов, правила и законы
математические их обслуживания, так как от этих моментов и законов
зависит адекватное отображение эволюции моделируемого объекта во
времени Поэтому, когда говорят о методах анализа очередей, имеют в
виду математические абстрактные модели, а из контекста всегда должно
быть ясно, для исследования какой реальной системы применяются эти
модели
Термин массовое обслуживание предполагает многократную
повторяемость ситуаций много прибывших в систему и обслуженных
заявок, большое число находящихся в эксплуатации аналогичных систем
и статистическую устойчивость картины  Усложнение структур и ре
жимов реальных систем затрудняет применение классических методов
теории массового обслуживания ввиду возрастающей размерности ре
шаемых задач, что особенно характерно для систем с сетевой структурой
Одним из возможных путей преодоления размерности является исполь
зование моделей в форме сетей массового обслуживания СеМО
СеМО представляет собой совокупность конечного числа обслу
живающих узлов, в которой циркулируют заявки, переходящие в соот
ветствии с маршрутной матрицей из одного узла в другой При этом от
дельные СМО отображают функционально самостоятельные части ре
альной системы, связи между СМО связи между этими частям, а требо
вания, циркулирующие по СеМО,
составляющие материальных пото
ков сообщения пакеты в коммуникационной сети, задания в мульти
процессорных системах, контейнеры грузопотоков и тп
СеМО используют для определения важнейших системных харак
теристик информационных систем: производительности; времени дос
тавки пакетов; вероятности потери сообщений и блокировки в узлах;
области допустимых значений нагрузки, при которых обеспечивается
требуемое качество обслуживания и др Наиболее разработана теория
экспоненциальных СеМО Сеть называется экспоненциальной, если вхо
дящие потоки требований в каждую СМО пуассоновские, а времена
каждого этапа обслуживания, реализуемого на любой СМО сети, имеют
экспоненциальное распределение Это позволяет считать, что этапы об
служивания независимы между собой и не зависят ни от параметров
8
рировало в договорах, если каждый договор подписывался в двух экзем
плярах? Укажите закономерность, которая позволяет найти число под
писей
11 Определите степени входа и выхода всех вершин ориентирован
ного графа на рис 
1 Дайте определение длины пути и найдите её значение от вершины
Д до всех остальных вершин графа, изображенного на рис 
1 Дайте определения пути и цикла на графе и найдите их, если они
есть на графе рис 
 Системы и сети массового обслуживания
Система массового обслуживания
одна из основных моделей, ис
пользуемых инженерамисистемотехниками В терминах
систем массо
вого обслуживания
СМО описываются многие реальные системы: вы
числительные системы, узлы сетей связи, системы посадки самолетов,
магазины, производственные участки
любые системы, где возможны
очереди и или отказы в обслуживании
В вычислительной системе роль обслуживающего прибора играет
ЭВМ, роль заявок
решаемые задачи Источником заявок служат терми
налы пользователей Моментом выдачи заявки является момент нажатия
клавиши для подачи директивы о запуске задачи на решение Операци
онная системы ЭВМ исполняет роль диспетчера: определяет очередность
решения задач В роли ячеек буфера выступают ячейки памяти ЭВМ, хра
нящие сведения о задачах, требующих решения
В системе разгрузки судна другой пример реальной системы, ис
точниками заявок являются направления, откуда прибывают суда Мо
мент выдачи заявки
это момент прибытия судна в зону морского порта
для разгрузкипогрузки Обслуживающим прибором является причал
вместе с персоналом и техническими средствами, организующими разг
рузкупогрузку Роль буфера играет акватория порта
В телекоммуникационной сети в качестве отдельной СМО оказыва
ется коммутатор, в котором источниками заявок являются входящие ка
налы, момент выдачи заявки – поступление на вход порта коммутатора
очередного пакета кадра, обслуживающим прибором оказывается ком
мутационная схема, в роли ячеек буфера выступают накопители портов
Целью использования СМО как модели является анализ качества
функционирования указанных и других системоригиналов, связанных
с распределением илии расчетом того или иного ресурса
Как
модель
СМО рассматривается в теории массового обслужива
ния другое название
теория очередей Теория массового обслужива
ния связана с разработкой и анализом математических, те абстрактных
7
Рис  Неполный граф
Рис  Примеры графов
Рис  Ориентированный граф
 Укажите степени вершин графа на рис 
6 Дайте определение изоморфного графа и укажите, какой из гра
фов, изображенных на рис , не является изоморфным с другими
7 Среди графов, изображенных на рис  найдите плоский граф
и дайте ему определение
8 Приведите пример нулевого графа и дайте ему определение
9 Приведите собственный пример несвязного графа и моста на нём
1 Между четырьмя государствами были подписаны двухсторон
ние договорные обязательства Каждый договор был подписан президен
тами обоих договаривающихся государств Сколько всего подписей фигу
6
можность моделирования протекания жидкости, например, воды или
нефти в почвенных средах В физике теория перколяции применяется
при расчёте распространения токов в случайной сетке проводников В
разделе материаловедения теория разрушений она используется для
изучения распространения трещин при деформации материалов В меди
цине теорию перколяции используют для моделирования распростране
ния инфекций при заболеваниях организма
Хорошие перспективы применения имеет эта теория в информати
ке и вычислительной технике Если, например, необходимо оградить гло
бальную сеть от компьютерного вируса, то достаточно, чтобы каждый
отдельный узел этой сети был недоступен для вируса с вероятностью,
хотя бы немного превосходящей критическую вероятность В этом слу
чае сеть в целом будет гарантированно оставаться связной и работоспо
собной Частичные потери функциональности сети например, потери
её суммарной производительности определяются при этом распределе
нием размеров кластеров, поражаемых вирусом
Перколяцию рассматривают и на случайных сетях ЭрдошаРеньи,
УаттсаСтрогатса и тп Так, перколяционный подход использовали ис
следователи из Калифорнийского университета для разработки быстрого
алгоритма маршрутизация в пиринговых сетях по принципу пчелиного
роя Алгоритм использует принцип порога перколяции связей между тес
но связанными узлами в случайным образом сформированных масшта
бируемых сетях, таких как интернет
Для определения критической вероятности в подобных нерегуляр
ных сетях и для установления законов распределения контактных класте
ров требуется проводить статистическое моделирование решёток с
нере
гулярной
структурой
Вопросы и задания
1 Изобразите с помощью графа договорные отношения между пред
приятиями А, Б, В, Г, Д, Е, если к рассматриваемому моменту:
 предприятие А установило договорные отношения со всеми дру
гими предприятиями;
 Б установило с Г и Д;
 В установило со всеми предприятиями, кроме предприятия Е
Сколько вершин и сколько ребер имеет полученный граф?
 Сколько ребер нужно провести чтобы достроить граф, изобра
жённый на рис  до полного?
 Сколько существует путей из вершины А в вершину Д на графе
рис 
 Найдите простые пути на графе рис 

Качественное поведение функции ξ соответствует физическому пред
ставлению о кластерах: по мере приближения
к
возрастает вероят
ность того, что два занятых узла находятся в одном кластере Такое качест
венное рассмотрение наталкивает на мысль, что в пределе
ξ
сингулярна в критической области |

|  1
Другой рассматриваемой величиной является средний размер клас
тера

На конечной решетке не могут происходить истинные фазовые пе
реходы, описываемые расходящимися физическими величинами Вместо
этого ξ и
достигают конечного максимума при значении
=

Фазовый переход определяется только для бесконечных систем Ис
пользуя терминологию теории фазовых переходов, можно сказать, что
ячеечная и цепная перколяции принадлежат одному классу универсаль
ности и их критические показатели равны
Другой важной идеей в области критических явлений считается су
ществование зависимостей между критическими показателями Задача
определения, казалось бы, относительно простая Однако за редкими
исключениями не удается вычислить аналитически – необходимо
довольно сложное численное моделирование
К задачам, решаемым в рамках теории перколяции и анализа слож
ных сетей относятся такие, как определение предельного уровня проводи
мости пропускной способности, изменения длины пути и его траекто
рии извилистости, параллельности при приближении к предельному
уровню проводимости, количества узлов, которые необходимо удалить,
чтобы нарушить связанность сети
Теория перколяции применима в различных областях науки Термин
перколяция, означающий
протекание
, отражает, соответственно, и воз

р

Рис  Качественная зависимость длины корреляции ξ
 от
стремление ξ
к бесконечности в критической области происходит по
степенному закону

==





1
Так, средний размер кластера на примере рис1,а равен

= 71,
Обозначим через
число ячеек в соединяющем кластере, тогда
ве
роятность того, что случайным образом выбранный занятый узел при
надлежит соединяющему кластеру или иначе эту величину называют
параметром порядка
 выражается отношением

занятых
1
В
случае бесконечной решетки 
 =  при
и 
 =1 при
р
= 1
Анализ рис 1, в показывает, что 
= ,6 = 6 для приведённой
конфигурации
Итак, кластер – это цепочка связанных объектов Кластер, соединя
ющий две противоположные стороны системы, называется
соединяю
щим
перколяционным, бесконечным или стягивающим Ниже порога
перколяции имеются только кластеры конечного размера Остов кластера
– токопроводящая часть кластера Мёртвые концы – части кластера,
соединенные с остовом посредством одного узла связи, стороны ячей
ки Мертвые концы составляют большую часть кластера, однако не участ
вуют в проводимости
Красные связи

одиночные связи
, при разрушении которых перко
ляционный кластер перестает проводить ток
Скелет кластера
– объе
динение всех кратчайших путей от данного узла до узлов на заданном
расстоянии
Эластичный остов
– объединение всех кратчайших путей
между двумя данными узлами
Оболочка,
или
внешний периметр
состо
ит из тех узлов кластера, которые соприкасаются с пустыми узлами и
соединены с бесконечностью посредством пустых узлов
Полный пери
метр
включает также пустоты внутри кластера Все эти подструктуры
описываются различными
фрактальными
размерностями, для ряда из
них на сегодняшний день значения получены только путём компьютер
ного моделирования
Критические показатели и масштабная инвариантность
В окрестности порога перколяции поведение системы тесно связано
с наличием больших, но конечных кластеров Более прямой способ наб
людения влияния длины связан с введением характерного линейного
размера или длины корреляции средней длины связности ξ
 Для боль
ших значений
L
ξ

возрастающая функция в диапазоне
и убываю
щая для
>
рис 
.
.

можно промоделировать на компьютере, всегда существует
ненулевая
вероятность того, что будет появляться соединяющий кластер, связываю
щий одну сторону решетки с другой Для малых значений
эта вероят
ность порядка
рL
 По мере увеличения
вероятность появления соединя
ющего кластера стремится к нулю и для достаточно малых значений
будут существовать только конечные кластеры Поскольку правило про
текания необходимо применить для конечной решетки, определим

как среднее значение
, при котором впервые появляется соединяющий
кластер Для конечной решетки определение протекания произвольно и,
следовательно, вычисленное значение
зависит от критерия протекания
Например, можно определить соединяющий путь одним из способов:
он связывает решетку в выбранном направлении в вертикальном либо
в горизонтальном; соединяет решетку в обоих направлениях Все эти пра
вила протекания должны приводить к одному и тому же экстраполиро
ванному значению
при
Кроме квадратной решетки наиболее известной двумерной решёт
кой является
треугольная
 Существенным различием между квадратной
и треугольной решётками является число ближайших соседей
Характеристики перколяционных сетей
Определим, какие основные характеристики вычисляют в перколя
ционных моделях Итак, при перколяции существует порог перколяции
, и появляется соединяющий путь, или кластер, при
c
вероят
ность занятия ячейки Более полную информацию можно получить из
распределения кластеров по размерам, определяемого формулой
=

11
где
полное число ячеек решетки;
– число кластеров размером
При
соединяющий кластер исключается из
По историчес
ким причинам под размером кластера подразумевается число ячеек в
кластере, а не его пространственная протяженность Анализ рис 1,а
показывает, что для проведенного одного испытания
р
= 1, = 6, 16
и 6 для
=1,  и  соответственно и равно нулю в других случаях, по
скольку представляет собой концентрацию занятых ячеек, 
концентра
цию занятых ячеек в кластерах размером
, величина




1
является вероятностью того, что занятый узел, выбранный случайным
образом, принадлежит кластеру размером
 Следовательно, средний раз
мер кластера
определяется как

висимо от других стержней, причём вероятность выбора проводящего
стержня равна
 Наибольшие скопления связанных между собой медных
или виниловых стержней образуют, соответственно, медные или винило
вые кластеры Если решётка содержит хотя бы одну непрерывную цепоч
ку медных стержней, электрический ток сможет пройти всю решётку
насквозь, от одного края до другого В таких случаях говорят, что решётка
перколирует Все стержни, находящиеся в неразрывном электрическом
контакте одновременно с верхним и нижним краями решётки образуют
соединяющий
кластер, а стержни, непосредственно участвующие в пере
даче, составляют так называемую магистраль кластера Наиболее рас
пространенными задачами теории перколяции являются решёточные
за
дачи:
задача узлов
и
задача связей
В задаче связей ищут ответ на вопрос: какую долю связей нужно
удалить перерезать, чтобы сетка распалась на две части? В задаче узлов
блокируют узлы удаляют узел, перерезают все входящие в узел связи и
ищут, при какой доле блокированных узлов сетка распадется
Квадратная сетка является только одной из возможных моделей
Можно рассматривать перколяцию на треугольной, шестиугольной сет
ках, деревьях, трёхмерных сетках, например, кубической или в прост
ранстве с размерностью больше , Сетка не обязательно должна быть
регулярной Рассматриваются процессы и на
случайных сетках
Порог перколяции
Теория перколяции позволяет описать процессы самой разной при
роды, когда при плавном изменении одного из параметров системы
концентрации чегото свойства системы меняются скачком Одним из
основных вопросов, на которые пытается ответить теория перколяции:
при какой доле
закрашенных квадратов возникает цепочка черных
квадратов, соединяющая стороны решетки?
Для сетки конечного размера такие цепочки могут возникать при
разных концентрациях рис  и 1 Однако если размер решётки ус
тремить к бесконечности, то критическая концентрация станет вполне
определённой Это строго доказано Такую
критическую концентрацию
называют
порог перколяции
Рассмотрим квадратную решетку со стороной
и присвоим каж
дой ячейке этой решётки случайные числа от нуля до единицы Ячейка
занимается, если присвоенное ей случайное число меньше
 Так порож
дается ячеечная перколяционная конфигурация В вероятностном под
ходе порог перколяции
определяется как такая вероятность
, при
которой появляется первый
бесконечный
соединяющий
кластер
на
бесконечной решётке Для конечной решётки со стороной
, которую
1
дой ячейки решетки Если вероятность занятия ячейки мала, то можно
ожидать, что будут присутствовать только небольшие изолированные
кластеры рис1,а Если
1, то ожидается, что большинство занятых
ячеек образуют один большой кластер, который протянется от одной
стороны решетки до другой рис1,г Такой кластер называют
соеди
няющим кластером
 Посмотрим, что произойдет для промежуточных
значений
, например, для
от , до ,6 рис1,б,в
В пределе бесконечной решётки существует вполне определённая
пороговая” вероятность
, такая, что для
сущетсвует один соеди
няющий кластер, или
путь
; для
р
р
с
нет ни одного соединяющего клас
тера и все кластеры
конечны
 Такая модель просачивания называется
яче
ечной перколяцией
Характерной особенностью перколяции является связность Пос
кольку связность обнаруживает качественное изменение при конкрет
ном значении некоторого параметра, который можно менять непрерыв
но, то переход из состояния, не содержащего соединяющий кластер, в
состояние с одним соединяющим кластером представляет собой
фазо
вый переход
Ещё одна модель просачивания
цепная перколяция
 Заменим шах
матную доску квадратной сеткой решеткой, бесконечным регулярным
графом Точки пересечения линий называют узлами вершинами Сами
линии
связями ребрами Простейшей задачей цепной перколяции
является перколяция сквозь Бернуллиевы решётки
Представим себе большую квадратную решётку, составленную из
двух видов стержней: одни сделаны из изолирующего винила, другие –
из электропроводной меди Такая решётка может считаться
решёткой
Бернулли
, если каждый стержень выбран совершенно случайно, неза
=,

=,
=,6
=,8
а б в г
Рис 1 Примеры ячеечных перколяционных кластеров на квадратной
решетке со стороной
= 8 для значений
р
= ,, ,, ,6 и ,8: в среднем доля
занятых ячеек закрашенные квадраты равна
; для значения
р
= ,6
существует кластер, который соединяет стороны решетки в горизонтальном
направлении, но не в вертикальном; при значении
р
= ,8 кластер соединяет
стороны решетки и по вертикали, и по горизонтали

Рис 19 Путь из перекрывающихся кружков закрашены
соединяет верхнюю и нижнюю стороны противня
матную доску как квадратную решетку Предположим, что каждый квад
рат, или ячейка этой решетки может находиться в двух состояниях:
занято или пусто Квадратная решетка может быть бесконечной
либо с заданным размером, например Ч рис  Закрасим зай
мем часть квадратов черным цветом В нашем случае их , Доля зак
рашенных квадратов составляет
р
N
чёрн
1, Каким образом выби
раются квадратики для закрашивания? Вопервых, можно выбирать ква
дратики случайно и независимо; вовторых, можно ввести какиелибо
правила В первом случае говорят о
случайной перколяции
математики
называют её
перколяцией Бернулли
, во втором –
коррелированной
Занятые ячейки либо изолированы друг от друга, либо образуют
группы занятых ячеек решетки, связанных с ближайшим соседом по сто
роне ячейки рис а,б,в,г Такие группы называют кластерами
Клас
тер
cute – гроздь –
это группа связанных объектов
, состоящая из
ближайших соседей
Простой способ занятия квадратиков ячеек решетки основан на ис
пользовании генератора случайных чисел Вся процедура сводится к то
му, чтобы сгенерировать случайное число, а затем занять ячейку решёт
ки, если случайное число меньше
 Эта процедура выполняется для каж
а б в г д
Рис  Пример ячеечного перколяционного кластера на квадратной
решётке со стороной
=: а две ближайшие занятые ячейки закрашенные
квадраты в этом случае являются одним кластером; б три занятые ячейки
образуют один кластер; в и г кластер состоит из ти ячеек;
д кластеров нет

1 Рост Начиная с небольшого числа узлов, на каждом временном
шаге добавляется один новый узел с
m
 связями, которые соединяют
этот новый узел с различными уже существующими узлами
 Предпочтительное присоединение Pefeec ttchmet Когда
выбираются узлы, к которым присоединяется новый узел, предполага
ется, что вероятность
, с которой новой узел будет соединяться с уже
существующим узлом
, зависит от числа связей, которыми этот узел
уже связан с другими узлами, так что

P
Безмасштабные сети  это одно из проявлений феноменологии кри
тических явлений в сложных системах, поскольку их структура подчиня
ется степенному закону
1 Перколяция Основные понятия
Существующие методы моделирования сетей ориентированы на
анализ систем с регулярной структурой и не очень приспособлены для
моделирования сетей, имеющих случайную структуру Одним из подхо
дов, который может помочь преодолеть существующие трудности, явля
ется использование теории перколяции
Перколяционные процессы в природе и технологиях
Перколяция является удобной моделью для описания широкого
класса явлений, которые принято называть критическими Техника, раз
витая для теории перколяции, имеет многочисленные приложения в зада
чах о случайных процессах Для описания перколяции рассмотрим при
мер Представим себе большой противень, на котором случайным обра
зом размещены кружочки жидкого теста разного диаметра Затем проти
вень с печеньем помещается в духовку Допускается, что в процессе
выпечки каждая капля теста может расплыться Если два печенья сопри
касаются, то они сливаются и образуется одно печенье И если не следить
за выпечкой, то можно получить одно гигантское печенье, которое будет
занимать значительную часть противня рис 19
Если такое образование простирается от одного края до другого, то
говорится, что оно просачивается перколирует сквозь структуру
Типы перколяций
Наиболее распространенными задачами теории перколяции явля
ются
решёточные
задачи:
задача узлов и задача связей
Представим шах
.
18
мира” обладают сети с высокой степенью кластеризации и малой сред
ней длиной пути между узлами Регулярные кристаллические решётки
например, треугольные имеют высокое значение коэффициента клас
теризации и большую среднюю длину пути Классические случайные
сети имеют низкое значение коэффициента кластеризации и небольшую
среднюю длину пути
Сети тесного мира можно рассматривать как суперпозицию
регулярных решёток и классических случайных сетей
, поскольку они
обладают высокой кластеризацией и низким значением средней длины
пути
Сети тесного мира – весьма специфический вид сетевых структур
Свойством тесного мира обладают практически все реальные сети Фор
мально, сети со свойством тесного мира имеют бесконечную размер
ность Реальные сетевые структуры, как правило, имеют и высокий коэф
фициент кластеризации
Модель безмасштабного графа
Распределение числа связей по
закону Пуассона имеет строгий максимум около среднего значения
Однако для многих реальных сетей, например, Интернета и его виртуаль
ного двойника o e e такого среднего значения не существует
В таких сетях небольшое число узлов содержит очень большое число
связей, а огромное число узлов содержит лишь несколько связей Соответ
ствующее вероятностное распределение подчиняется степенному закону

Степенная функция является признаком самоподобия системы,
которая не обладает какимлибо масштабом изменения характерных
величин Поэтому такие графы называются
безмасштабными
, а сети
получили название
безмасштабных сетей
ce fee etok
от
сутствие узла с типичным числом связей в такой сети Отличие таких
графов в том, что классический случайный граф имеет намного более
быстро спадающий хвост 1


, чем безмасштабный
Для безмаштабных сетей
oo
, где
– число узлов в сети
Для случайных классических сетей –
o
 Получены свидетельства
того, что функциональные связи в мозге человека образуют безмасштаб
ные сети Полная сеть содержит до 1 узла
Модель Барабаши  Альберт
Барабаши и Альберт показали, что
для возникновения и эволюции безмасштабных сетей необходимы два
условия:
Вероятность наличия в графе узлов с возрастающим порядком быстрее снижается
в классическом случайном графе, чем в безмасштабном степенном
17
порядка
условие возникновения гигантского кластера определяется
неравенством:
В точке превращения распределения размеров случайного клас
тера, обладающего определенным распределением порядков вершины,
значение спадает по степенному закону с показателем  В окрест
ностях этой точки распределение размеров компонентов также следует
степенному закону, который, однако, обрезается экспонентным хвостом
Такое поведение подобно явлению
перколяции
, где в критическом состо
янии размеры компонентов также распределены по степенному закону
Модель графа Тесный мир

Существует обычно круг ближайших
знакомых персоны, затем люди, знающие ближайших знакомых персоны
но не знающие непосредственно персону и тд и тп В результате возни
кают цепочки, из которых ясно, что любой член общества опосредовано
знаком с любым другим членом общества В этом смысле мир является
тесным и его модель носит название Тесный мир
Компьютерная модель Тесного мира была разработана Уотсом
и Строгацем tt  J, Stotz S  Её построение начинается с
одномерной периодической цепочки, состоящей из
вершин рис18
Сначала каждая вершина соединяется

ребрами с другими вершинами,
где
 –
чётное положительное число Затем с некоторой вероятностью
каждое ребро перебрасывается в произвольную позицию
Компьютерное моделирование показало, что свойства тесного
Регулярный Тесный
мир Случайный
граф граф
=
=1
повышение значения параметра
Рис 18 Схема трансформации регулярной цепочки в граф
Тесного мира, а затем в случайный граф Параметр
р
определяется
вероятностью переброса ребер в случайные положения
>
=
16
времени и множество конфигураций также изменяется
Растущие
сети
являются неравновесными Даже среди сетей с фиксированным числом
связей возможны неравновесные сети
Наиболее известны две модели классического случайного графа:
1
L
ребер распределены произвольно и независимо между
вер
шинами графа;
 фиксируется вероятность
, с которой может объединяться каждая
пара вершин
В пределе при
N
для обоих вариантов распределение порядковов
ершин определяется формулой Пуассона:
гд
е среднее значение порядка
=
для первой модели и
=
N –
ля
второй модели
Процесс построения случайного графа заключается в следующем
Вначале генерируется
изолированных вершин К вершинам последова
тельно добавляются ребра, случайным образом соединяющие произ
вольные пары вершин Образуется множество малых компонент графа
Разрастание малых компонент приводит к образованию
гигантского
кластера
связанных вершин, число которых составляет конечную долю
полного числа
Образование гигантского кластера наблюдается только при условии,
что вероятность
связывания вершин, постепенно возрастающая в про
цессе генерации, приобретает значение, превышающее критический
порог В результате произойдет спонтанное образование гигантского
кластера, напоминающее конденсацию капли воды в пересыщенном па
ре Такой процесс имеет ярко выраженный характер
фазового перехода
в результате которого доля связанных вершин, принадлежащих гигант
скому кластеру, определяется выражением:
= 1–
ek
В классическом случайном графе гигантский компонент появляется
при критической плотности ребер

=1 До этого момента компонент име
ет число вершин 
, а после начинает линейно увеличиваться с ростом
N
В классическом случайном графе с фиксированным распределением
Компонентом графа называется совокупность вершин, связанных между собой,
но отдаленная от основной части графа
,
1
кратчайших путей в сети, а следовательно, и важность каждой связи, и
поэтому эти параметры пересчитываются после каждого удаления На
некотором шаге сеть оказывается разделенной на два кластера – два
самых больших сообщества, и далее процедура продолжается В результа
те, получается дерево, в котором сообщества малых размеров включены
в более большие сообщества Распределение по размерам сообществ,
выявляемых в результате этой процедуры, в большинстве реальных сетей
подчинено степенному закону
Модели случайных графов
Случайную сеть граф можно определить не как единичную сеть,
а как
статистический ансамбль
, в котором каждая конкретная сеть
имеет определенную вероятность реализации, те каждая сеть ансамбля
имеет свой собственный статистический вес Для моделирования слож
ных стохастических сетей используют модель классический случайный
граф, модель графа Тесный мир и модель бесмасштабного графа
Модель Классический случайный граф
Простейшими случай
ными сетями являются так называемые
классические случайные графы
модель ЭрдешаРеньи EoRey, в статистическом ансамбле ко
торых все возможные графы с числом узлов
и числом связей
имеют
одинаковый статистический вес реализации
те для таких сетей веро
ятность существования связи между любыми двумя узлами одинакова
Для случайных сетей ЭрдешаРеньи
N
o
Ансамбли, в которых их статистические веса не изменяются во вре
мени, не эволюционируют, называются
равновесными
 В
неравновесных
способных к эволюции ансамблях статистические веса изменяются во
Рис 17 Схематическое изображение сети из трёх сообществ
1
В то же время мотив из четырех узлов на рис 16 можно найти в
электрических сетях, но его не встретишь в биологических структурах
Решётки
В регулярных решетках конечной размерности зависимо
сть

N
имеет степенной закон:
N
1

где
есть размерность решетки – целое число Например, для двумерной
решетки из 1
1
узлов
1
К сетевым структурам, в которых растет более медленно, чем по
степенному закону с положительным индексом, применяется термин
феномен тесного мира
m o heomeo
Клики, сообщества, общины, группы, коммуны
Кликами cue
называются полносвязные подграфы некоторого графа
Под
сообществами
понимается подграфы, для которых связи меж
ду узлами внутри подграфов сильнее, многочисленнее и насыщеннее,
чем между узлами различных подграфов рис 17
Допустим, связи с максимальной важностью eteee cetty
удаляются одна за другой Каждое такое удаление изменяет структуру
Рис 1 Ориентированный треугольный подграф
Рис 16 Ориентированный четырехугольный подграф
1
ном графе В таких неориентированных сетях вводится понятие гигантс
кого связанного кластера узлов сети Если относительный размер наиболь
шего связанного кластера узлов сети приближается к ненулевому значе
нию при росте числа узлов к бесконечности, этот кластер называется
гигантским связанным кластером
или наибольшей
связанной компонен
той
сети Без гигантского связанного кластера сеть представляет собой
лишь множество маленьких разделенных кластеров Возникновение тако
го кластера можно рассматривать как
структурный фазовый переход
Подграфы и мотивы
 Для характеристики локальных структурных
свойств сетей используется подход на основе анализа паттернов связей
узлов Например, связанный подграф представляет собой подмножество
узлов, соединенных между собой специфической структурой соединений
Так, узлы A, B, C образуют треугольный подграф, а узлы A, B, F,
и G образуют четырехугольный подграф рис1 Число различных воз
можных подграфов растёт экспоненциально с ростом числа узлов в сети
Не все подграфы возникают в сетях с одинаковой частотой Так, в
квадратных решетках имеются только квадратные подграфы В сложных
сетях со случайным соединением связей между узлами можно обнару
жить и треугольные, и квадратные, и пятиугольные подграфы
Конфигурация форма и взаимосвязь как два важнейших аспекта
организации графа объединены в понятие
паттерна
При этом некото
рые подграфы, называемые
мотивами
, имеют большую частоту появле
ния в сетях определенной структуры, чем в рандомизированных версиях
тех же самых сетей Например, ориентированный треугольный подграф
на рис 1 можно обнаружить во многих биологических сетевых струк
турах нейронных сетях, регуляторных клеточных структурах
Рис 1 Различные типы подграфов в сети
1
ми словами, если узел
имеет
ближайших соседей с числом
связей
между ними, то локальный коэффициент кластеризации равен:


1
jj
jj

C
Число
j
есть суммарное число треугольников циклов длины ,
прикрепленных к узлу
, а
1 – максимально возможное число воз
можных треугольников см рис 1 Если все ближайшие соседи узла
взаимосвязаны, то
= 1  Когда между ними нет связей как у деревьев,
то
=  
Изображенная на рис 1 сеть содержит один треугольник цикл
длины  и восемь соединенных триад Следовательно, у этой сети коэффи
циент кластеризации равен
С
= ¸18 = 8 Отдельные узлы имеют коэффи
циенты кластеризации 1, 1, 16,  и , а среднее значение равно
= 1
Кластеризация всей сети определяется как
С
= М
М
V
, где М

чи
сло треугольников в сети, а М
 число связанных триад Связанная
триада означает узел и два его ближайших соседа рис 1 Можно
показать, что число триад из узлов равно

jj

1
По
сути, коэффициент кластеризации
есть доля тех триад, у кото
рых есть три ребра, образующих треугольник, те циклов длины 
Среднее значение кластеризации по всем узлам:
Таким образом,
кластеризация характеризует статистику цик
лов
треугольников в сети Большинство реальных сетей в мире обладают
высокой кластеризацией,
В пределе с фиксированным
при
N
получаем
разряженные
ети
, в которых число связей в узле намного меньше, чем в полносвязан
Рис 1 Фрагмент сети
.
11
архитектуры сети Кратчайшая длина пути сети и её диаметр являются
нелокальными
свойствами сети
Матрицы смежности
Сетевые структуры можно описывать в мат
ричной форме Сеть из
узлов описывается квадратной матрицей смеж
íîñòè

размерности
 Ненулевые элементы такой матрицы обознача
ют наличие связей между соответствующими узлами Для неориентиро
ванных сетей недиагональный элемент
j
матрицы смежности равен
числу связей
j
между узлами
и
и, следовательно, матрица для такой
сети симметрична Предполагается, что петли единичной длины и крат
ные связи запрещены, следовательно, значения диагональных элементов
равны нулю Любые структурные свойства сети могут быть выражены
через свойства матрицы смежности Например, степень узла
равна:
j

Реальные сети и их модели являются разреженными Число соедине
ний в таких сетях значительно меньше, чем у полносвязанной сети Таким
образом, огромное большинство элементов матриц смежности реальных
сетей равно нулю
Помеченные
графы – такие графы, у которых различаются как вер
шины, так и рёбра Каждый такой граф можно представить матрицей смеж
ности, элемент
j
которой определяется количеством рёбер между верши
нами

j
, если

j
, или удвоенное число рёбер, если
=
Распределение узлов по числу связей
eee tuto

Перечень
порядков степеней
 графа определяет распределение вероятностей
по порядкам
степеням
 Часто распределением узлов по числу связей
eee tuto для отдельного графа
называется отношение вида
 = N
 N
 = N
 N
, где
есть число узлов степени
в графе
Бинарная функция
, 
задаёт совместную вероятность одной вер
шине иметь порядок
, а другой
– 
Распределение узлов по числу связей является простейшей статис
тической характеристикой случайной сети Во многих случаях знание
этой характеристики достаточно для понимания свойств такой сети и
процессов, которые в ней происходят
Кластеризация

это локальная характеристика сети Она характе
ризует степень взаимодействия между собой ближайших соседей данно
го узла В большинстве сетей, если узел А соединен с узлом Б, а узел Б –
с узлом Д, то существует большая вероятность, что узел А соединен с
узлом Д друзья наших друзей, обычно, также являются и нашими
друзьями
Коэффициент кластеризации
данного узла есть вероятность того,
что два ближайших соседа этого узла сами есть ближайшие соседи Други
.
1
АГ
АГ
σ

АГ
B
гд
е
загруженность
го узла сети;
АГ

число кратчайших путей
из узла А
в узел Г через узел
;
АГ

число кратчайших путей между все
ми парами А и Г
Эта величина важна в изучении транспортных потоков и обычно
называется
нагрузкой
загруженностью узла или связи, поскольку ха
рактеризует долю проходящих через узел кратчайших путей Эту величи
ну можно также считать индикатором наиболее влиятельных и важных
персон VIP в социальной сети Узлы с высоким значением
B
являются
наиболее загруженными В отличие от степени узла, понятие важности
узла отражает топологию всей сети
Помимо транспортных задач ориентированные графы активно ис
пользуются в сетевом планировании, в математике: теория игр, теория
множеств, при решении многих задач, в частности, комбинаторных
1
Случайные графы и сети
Графы, в которых
распределение связей
между узлами имеет слу
чайный характер, называются
случайными графами

Впервые случайные
графы были изучены венгерскими математиками Полом Эрдосом Pu
Eх и Альфредом Реньи Afe Réy
Произвольный конкретный граф сеть является конкретной реали
зацией случайного графа случайной сети В свою очередь, всякая чис
ловая характеристика случайного графа может рассматриваться как
случайная величина Для того чтобы получить среднее значение для не
которой величины в случайной сети, нужно усреднять эту величину по
всем реализациям, принимая во внимания их статистический вес
Числовые характеристики случайных сетей
Кратчайшая длина пути
геодезическая линия
Длины всех связей
между смежными узлами считаются равными единице
Кратчайшее рас
стояние
j
между узлами

и
есть
длина самого короткого
пути

гео
езическая линия
 между ними в сети Среднее межузловое расстояние
есть среднее
j
по всем тем парам узлов 
,j
, между которыми сущест
вует хотя бы один соединяющих их путь сеть может содержать несое
динённые между собой узлы

Диаметр сети
Диаметр се
ти
есть максимальное расстояние
между узлами сети Зависимость
или от размера
сети зависит и от
,
1
Рис 11 Примеры путей разной длины в ориентированном графе
Рис 1 Ориентированный граф, в котором
БД=
более одного раза Третий путь не является простым, так как через верши
ну Г путь проходил дважды
Ориентированным циклом
называется замкнутый путь в ориентиро
ванном графе На рис 1 б, в приведены примеры ориентированных
циклов в графах Цикл, как и любой другой путь в графе, имеет длину,
которая определяется числом ребер в этом пути Так, на рис 11 пути
от А к Д могут быть различны и иметь различную длину Первый путь
имеет длину , второй  , а третий  
Длина кратчайшего пути между двумя вершинами называется
расстоянием между ними
Так, расстояние между вершинами А и Д на
графе рис 11 равно ; записывают так:
АД=
Если в ориентированном графе нельзя пройти от одной вершины
до другой, то расстояние между ними называют бесконечным обозна
чают значком бесконечности Так, расстояние между вершинами Б и Д
графа, представленного на рис 1 бесконечно:
БД =
Нагрузка узла
eteee cetty Для многих сетей транс
портных, телекоммуникационных, социальных необходимо определить
относительную важность входящих в неё узлов Загруженность узла в
сети определяется как суммарное число кратчайших путей между всеми
остальными узлами, которые проходят через данный узел
8
Степенью выхода
вершины ориентированного графа называется
число ребер, для которых эта вершина является началом число ребер,
выходящих из вершины
Степенью входа
вершины ориентированного графа называется
число ребер, для которых эта вершина является концом число ребер,
входящих в вершину
Так, на рис 9 изображен ориентированный граф АБВГД Степени
входа и выхода некоторых его вершин такие:
СтвхА=, СтвыхА=1, СтвхВ=, СтвыхВ=, СтвхД=1, СтвыхД=
Путём
в ориентированном графе от вершины А1 к вершине A
на
зывается последовательность ориентированных ребер A1A, AA, ,
1, A
, в которой конец каждого предыдущего ребра совпадает с нача
лом следующего, и каждое ребро встречается в этой последовательности
только один раз
На рис 1 показаны примеры путей в ориентированном графе При
чём, первые два пути – простые, ни одна из вершин не содержится в нём
Рис 9 Ориентированный граф АБВГД
а
б
в
Рис 1 Примеры путей в ориентированном графе
7
ревьях связаны простым соотношением
– 1 
Приведённые на рисунках конструкции относятся к классу
простых
неориентированных графов
их называются также
невырожденными
графами
 У невырожденных графов две вершины либо не соединены, ли
бо связаны неориентированными ребрами, но ни одна из вершин не со
единена сама с собой В
вырожденных
или
псевдографах
возможны мно
гократные связи между вершинами
Ориентированные графы
Существуют значительные классы практических задач, которые ре
шить с помощью ранее рассмотренных типов графов невозможно Так,
например, схема дорог и площадей города изображается с помощью плос
кого графа Но если нужно этой схемой воспользоваться с целью проезда
по городу на автомашине, а движение на отдельных или на всех улицах
одностороннее, тогда могут помочь сориентироваться в этой ситуации
стрелки, расположенные, например, прямо на ребрахулицах рассматри
ваемой схемы графа города
Ребро графа называется
ориентированным ребром
, если одну из его
вершин считать началом, а другую  концом этого ребра Граф, у которо
го все ребра ориентированные, называется
ориентированным
графом
На практике часто ориентированные графы используют для нагляд
ного представления процесса и результата спортивных соревнований
Так, на рис 8 с помощью ориентированного графа показаны резуль
таты игр между командами А, Б, В, Г, Д, Е Если игра может быть сыграна
вничью, то обычно ребро графа оставляют неориентированным ребро
ВЕ и такой граф называют
смешанным
По аналогии с ранее рассмотренными неориентированными гра
фами ориентированные графы имеют такие характеристики, как
степень
вершины
, понятия
пути
и
цикла
Рис 8 Ориентированный граф АБВГДЕ
6
 если степени всех вершин графа равны, то граф называется
регу
лярным
Любой полный граф – однородный, и степени вершин полного
графа на единицу меньше числа вершин этого графа;
 сумма степеней вершин графа число чётное, равное удвоенному
числу ребер графа Эта закономерность справедлива не только для пол
ного, но и для любого графа;
 число нечётных вершин любого графа чётно
Понятие степень 
порядок
 является
локальной
характеристикой гра
фа Нелокальную,
целостную
структуру сети определяют двумя поняти
ями:
путь
th и
петля
oo, или
цикл
cyce Путь – это чередующа
яся последовательность смежных узлов и связей между этими узлами, ког
да узлы не повторяются Циклом или петлей называется путь, когда нача
льный и конечный узел совпадают
Сети без циклов называются деревь
ями
Число
узлов
называемое
размером
сети и число
связей
L
в де
Рис 6 Пример несвязного графа
Рис 7 Граф для проблемы Эйлера
узлы этого графа – четыре района старого Кенигсберга, соединенные между
собой семью мостами, которым соответствуют ребра графа В 176 г Эйлер
доказал, что начав с некоторой точки, невозможно пройти все мосты и
вернуться в исходную точку, не посетив один из мостов дважды

ный граф в полный, называется д
ополнением
графа
На рис  представлено несколько вариантов изображения полного
графа с четырьмя вершинами
Графы, изображенные на рис , дают одну и ту же информацию о
совершенных связях Такие графы называют изоморфными одинаковыми
Графы изоморфны, если у них одинаковое количество вершин, и
если вершины одного графа соединены ребром, то и соответствующие
им вершины другого графа тоже соединены ребром
Граф, который можно начертить так, чтобы его ребра пересекались
только в вершинах, называется плоским графом На рис ,а и ,в изо
бражены плоские графы Простые циклы и деревья являются наглядными
примерами плоских графов
Граф называется связным, если любая пара его вершин  связная
Граф называется
несвязным
, если в нём есть хотя бы одна несвязная па
ра вершин Совокупность вершин, связанных между собой ребрами, но
отдаленных от остальной части графа, называется
компонентом
графа
На рис 6 изображен несвязный граф, состоящий из двух компо
нентов Если, например, между вершинами Д и Е либо какими другими
разных компонентов графа рис 6 провести ребро, то граф станет связ
ным Такое ребро в теории графов после удаления которого граф из связ
ного превращается в несвязный называется
мостом
В современной теории сетей число связей узла, количество ребер,
присоединенных к
й вершине, называется
степенью
eee, или
поряд
ком k
этой вершины, а две вершины, соединенные ребром, называются
соседними
Как видно из рис 7, средний узел В имеет степень пять,
остальные узлы  степень три
Вершина называется
нечётной
, если степень этой вершины нечёт
ная,
чётной
 если степень этой вершины четная
Для рассмотренных выше определений в теории графов сформули
рованы следующие закономерности:
а
б
в
Рис  Варианты изображения полного графа с четырьмя вершинами

При изображении графов на рисунках или схемах отрезки могут
быть прямолинейными или криволинейными; длины отрезков и
расположение точек произвольны Например, все три фигуры на рис 
изображают один и тот же граф
На рис  изображен граф, соответствующий всем связям между
вершинами каждый узел соединен с каждым Такой граф называется
полным
Если полный граф имеет
вершин, то количество ребер будет равно
1 Совокупность вершин графа с ребрами, превращающими непол
Рис  Неполный граф с пятью вершинами
Рис  Разное изображение одного и того же графа
Рис  Полный граф с пятью вершинами

 МАТЕМАТИЧЕСКИЕ СХЕМЫ МОДЕЛИРОВАНИЯ
СИСТЕМ И СЕТЕЙ ТЕЛЕКОММУНИКАЦИЙ
1 Графовые модели сетей
Моделирование на основе аппарата теории графов является важ
ным направлением при анализе и синтезе сетей с очень большим коли
чеством узлов, структура которых нерегулярна, сложна и динамически
эволюционирует во времени Учение о графах, представляющих собой
системы линий, соединяющих какието заданные точки, объединяет
геометрическую наглядность с математической содержательностью
Первым исследователем графов, являющихся математическим образом
сетей, был Леонард Эйлер 177–178 гг Изначально теория графов
описывала регулярные графы, однако начиная с 19х гг, сложные сети
стали описывать с помощью теории случайных графов, предложенных
в качестве наиболее подходящей модели сложных сетей
11 Некоторые понятия теории графов
Граф
 это совокупность узлов 
вершин
 со связями ребрами меж
ду ними

В строгом определении графом называется пара множеств
=
E
, где
есть подмножество любого счётного множества,
 под
множество
 Примеры графов изображены на рис 1
Отметим некоторые частные представления графов
Простые неориентированные графы
Схема, состоящая из изолированных вершин, называется
нулевым
графом
Графы, в которых не построены все возможные ребра, называют
ся
неполными
графами
рис
Рис 1 Примеры графов

1 Какие виды объектов можно представлять с помощью графов и почему?
11 Что называют задачами управления?
1 Какова основная цель моделирования вообще? Приведите примеры
1 Объясните, как реализуется непрерывное моделирование
1
последних произошедших изменений В основе построения движителя
лежат две основные схемы построения алгоритмов моделирования: схема
событий и схема процессов  Схема событий используется при дискрет
нособытийном моделировании, а схема процессов – при мультиагент
ном моделировании
Таким образом, при моделировании стохастических систем пара
дигма
имитационного
статистического, вероятностного 
модели
рования
включает две составляющие: симулятор – движитель, реали
зующий продвижение системного времени, и метод МонтеКарло, обес
печивающий разыгрывание случайностей В совокупности эти две сос
тавляющие и строят траектории – реализации функционирования моде
лируемой системы, в которой присутствуют случайные факторы и объек
ты Обе составляющие наличествуют в обоих методах дискретного ИМ
Для реализации ИМ на ЭВМ разработаны как специализированные
языки моделирования, так и имитационные системы Наиболее из
вестными языками моделирования являются SIULA, SISCRIP, GPSS,
SOL, CSL Эффективность языков моделирования существенно зависит
от наличия диалоговых и графических средств Поэтому в систему ими
тации помимо совокупности имитационных моделей с их программным
и информационным обеспечением входят средства программного сер
висного обеспечения Популярны системы AyLoc, ALAB и Smuk,
Ae, СИМПАС и др
Удобство языка моделирования во многом определяется ориента
цией на определенную предметную область Но это и определенное ог
раничение языков моделирования по сравнению с универсальными язы
ками программирования высокого уровня В вузах, например, широко
используют Паскаль и его расширения, С и др Поэтому в данном по
собии авторы сделали акцент на модельную и алгоритмическую состав
ляющие при изложении вопросов, связанных с имитационным моделиро
ванием систем и сетей телекоммуникаций
Вопросы и задания
1 Приведите примеры прямой и обратной задач
 В чем отличие аналитического моделирования от имитационного?
 Какова основная цель математического моделирования?
 Приведите пример задачи настройки параметров
 В чем суть дискретного моделирования?
6 Что означает динамическое моделирование?
7 В чем суть мультиагентного моделирования?
8 Каким образом реализуется дискретнособытийное моделирование?
9 Объясните назначение метода МонтеКарло в моделировании

подхода: дискретнособытийное моделирование и мультиагентный
подход
Дискретнособытийное моделирование есть способ описания и мо
делирования процессов, присущих системам массового обслуживания,
системам с отказами и восстановлением элементов, дискретным произ
водствам и тп В дискретнособытийном моделировании функциониро
вание системы представляется как хронологическая последовательность
событий Событие происходит в определенный момент времени и знаме
нует собой изменение состояния системы Продвижение системного
времени реализуется посредством программирования симулятора –
движителя, который с минимальными затратами машинного ресурса
воспроизводит во времени движение смену состояний объекта модели
рования, отображая действие механизма причинноследственных связей
на смену состояний
Мультиагентное моделирование
 метод, исследующий поведение
децентрализованных
агентов
и то, как такое поведение определяет по
ведение всей системы в целом Другими словами, поведение агентов
определяется на индивидуальном уровне, а глобальное поведение возни
кает как результат деятельности множества агентов моделирование сни
зу вверх и их взаимодействия Агент – это, по сути, процесс, последова
тельность событий и работ, описывающая поведение во времени какого
либо объекта в моделируемой системе С формальнологической точки
зрения выбор, осуществляемый любым агентом, предопределён достиг
нутым на момент выбора состоянием системы и значениями парамет
ров, известных агенту Поэтому действия
агентов имитируются в модели
точно так же, как и любые другие события – как прямые следствия из
достигнутого состояния системы И модельное время продвигается си
мулятором строго вперед, в точном соответствии с механизмом причин
и следствий
В семантическом плане концепция агентов как самостоятельных,
активно действующих сущностей, оказывается чрезвычайно полезной
при моделировании систем, в которых совокупное действие подобных
сущностей приводит к эволюции, непредсказуемой с точки зрения от
дельных агентов, и иногда более разумной, чем поведение любого от
дельно взятого агента Эта концепция существенно расширяет сферу
практического использования ИМ, поскольку приводит к новым смыслам
при интерпретации моделей, и она поддерживается новыми языковыми
и графическими средствами ИМ 
В обеих версиях дискретного ИМ симулятордвижитель продвигает
вперед текущий временной срез системы Этот срез, а точнее – времен
ной слой, имеет минимальную толщину, необходимую для правиль
ного определения ближайших предстоящих изменений и для правильного
рекуррентного пересчета показателей, требующего помнить моменты

могут быть найдены и другие выборочные характеристики случайных
величин
Отметим ещё раз Основными элементами, из совокупности кото
рых складывается монтекарловская модель, являются отдельные реали
зации моделируемого случайного явления Реализация представляет со
бой как бы один случай осуществления моделируемого случайного явле
ния процесса со всеми присущими ему случайностями Она разыгры
вается с помощью специально разработанной процедуры или алгоритма,
в котором важную роль играет собственно розыгрыш или бросание
жребия Каждый раз, когда в ход моделируемого процесса вмешивается
случайность, её влияние учитывается не расчётом, а бросанием жребия
В англоязычной литературе терминам имитация, имитационная
модель, имитационный эксперимент приблизительно соответствует
термин muto Наиболее известна трактовка термина имитация,
которую дал Р Шеннон, определив её как процесс конструирования
модели реальной системы и постановки экспериментов на этой модели
с целью понять поведение системы либо оценить в рамках ограничений,
накладываемых некоторым критерием или совокупностью критериев
различные стратегии, обеспечивающие функционирование данной сис
темы Аналогичное определение этому термину дает Т Нейлор: чис
ленный метод проведения на цифровых вычислительных машинах
экспериментов с математическими моделями, описывающими поведе
ние сложных систем в течение продолжительных периодов времени
Обе приведённые трактовки термина muto укладываются в то
содержание терминов имитация, имитационная модель, имитаци
онный эксперимент, которое рассмотрено выше
При создании имитационных моделей в настоящее время использу
ется два подхода: дискретный и непрерывный Выбор подхода в значитель
ной мере определяется свойствами объектаоригинала и характером воз
действия на него внешней среды Метод статистического моделирования
можно рассматривать как частный случай дискретных вероятностных
имитационных моделей
В основе дискретных вероятностных имитационных моделей лежит
понятие событие
Событие
определяется как точка во времени, в кото
рой происходят скачкообразные изменения состояний системы Для полу
чения требуемых результатов моделирования достаточно наблюдать
систему в те моменты, когда происходят события Резкие переходы скач
ки, совершаемые моделью при переходе от одного события к другому,
указывают на то, что процесс протекает в дискретном времени, откуда
появилось название дискретное моделирование
Современными технологиями дискретного имитационного модели
рования ИМ охватываются два самодостаточных вместе и порознь
вания в научных статьях, ссылок , биологические сети нейронов
в мозге, взаимодействующих протеинов, генетические сети, ячейки
химических реакций, социальные системы люди и связи между ними
В последнее десятилетие возрос интерес исследователей к сетям
с очень большим количеством узлов, структура которых нерегулярна,
сложна и динамически эволюционирует во времени В пособии рассмат
риваются основные особенности и типы случайных графов и подходы к
их моделированию
Другой широко распространенной формализацией сетей и их эле
ментов узлов, каналов связи являются сети и системы массового об
служивания Применение этих математических схем широко исполь
зуется для оценивания необходимых сетевых ресурсов в зависимости от
нагрузки, поступающей в сеть Однако представление процесса функци
онирования распределенной информационной системы управления в
виде сети схем массового обслуживания позволяет хорошо описать про
цессы, происходящие в системе, но при сложных законах входящих пото
ков и потоков обслуживания не даёт возможности получения результатов
в явном виде, что определяет необходимость имитационного моделиро
вания таких математических схем
Особенностью имитационного моделирования является то, что
имитационная модель позволяет воспроизводить моделируемые объекты
с сохранением их логической структуры, с сохранением поведенческих
свойств последовательности чередования во времени событий, проис
ходящих в системе, те динамики взаимодействий
При наличии в модели случайных факторов если изучаемый про
цесс достаточно сложен, то почти неизбежно он случаен имитационные
эксперименты выполняются с привлечением метода статистических
испытаний или, иначе, метода МонтеКарло 7
Метод МонтеКарло есть метод математического моделирования
случайных явлений, в которых сама случайность непосредственно вклю
чается в процесс моделирования и представляет собой его существенный
элемент Каждый раз, когда в ход операции вмешивается тот или другой
случайный фактор, его влияние имитируется с помощью специально
организованного розыгрыша или жребия В результате розыгрыша
получается один экземпляр – одна реализация случайного явления Про
изведя такой розыгрыш очень большое число раз, получают статис
тический материал – множество реализаций случайного явления, кото
рый можно обработать обычными методами математической статис
тики При этом применяется закон больших чисел теорема Чебышева
Согласно этой теореме, при большом числе опытов среднее арифмети
ческое наблюденных значений случайной величины почти наверняка
мало отличается от её математического ожидания Аналогичным образом
Имитационная модель ИМ  это совокупность описания системы
и внешних воздействий, алгоритмов функционирования системы или
правил изменения состояния системы под влиянием внешних и внут
ренних возмущений Эти алгоритмы и правила позволяют имитировать
процесс функционирования системы и производить нахождение оценок
интересующих характеристик в режиме вариантных расчётов путем вы
полнения имитационных экспериментов с целью получения информа
ции о моделируемой системе Экспериментирование с моделью называ
ют имитацией
Метод имитационного моделирования ИМ заключается в создании
логикоаналитической математической модели системы и внешних
воздействий, имитации функционирования системы, те в определении
временных изменений состояния системы под влиянием внешних воз
действий и в получении выборок значений выходных параметров, по
которым определяются их основные вероятностные характеристики Дан
ное определение справедливо для стохастических систем При исследова
нии детерминированных систем отпадает необходимость изучения выбо
рочных значений выходных параметров
Процесс моделирования есть процесс перехода из реальной области
в виртуальную модельную посредством
формализации
 Далее проис
ходит изучение модели собственно
моделирование
 и, наконец,
интер
претация
результатов как обратный переход из виртуальной области в
реальную Этот путь заменяет прямое исследование объекта в реальной
области
Формализация обеспечивает построение
математической схемы
Математическую схему можно рассматривать как звено при переходе
от содержательного к формализованному описанию процесса функцио
нирования системы с учётом воздействия внешней среды, те имеет
место цепочка: описательная концептуальная модель  математическая
схема  аналитическая или имитационная модель
При имитационном моделировании сетей понятие математичес
кая схема позволяет рассматривать математику не как метод расчёта, а
как метод мышления, средство формулирования понятий, что является
наиболее важным при переходе от словесного описания к формализован
ному представлению процесса функционирования системы в виде неко
торой математической модели ММ
Важным направлением при анализе и синтезе сетей с очень боль
шим количеством узлов, структура которых нерегулярна, сложна и дина
мически эволюционирует во времени, является моделирование на основе
аппарата теории графов Примерами таких сетей служат технологичес
кие Интернет как сеть компьютеров, корпоративные компьютерные
сети, транспортные и электрические сети, информационные цитиро
С выражением
=
 можно решить три вида задач, которые приведе
ны в табл 11
Условия, которые должны быть, безусловно, выполнены для реше
ния задач, называются
ограничениями
 А часть ограничений, относитель
но которых высказывают только пожелания быть как можно больше
или меньше, называются
критериями
Решений обычно бывает много Для нахождения лучшего следует
сузить область решений, накладывая определённые ограничения, чтобы
отсеять неудовлетворяющие этим ограничениям Такие задачи часто на
зывают
задачами управления
 В целом получается обратная задача А то,
что надо определить  управляемая переменная Другими словами как
следует изменить входной параметр управление, чтобы обеспечить
выполнение критерия, не выйти за ограничения, чтобы при этом крите
рий принял наилучшее значение?
Цель моделирования
– получение новых сведений об изучаемом
объекте или явлении Познание любой системы сводится по существу к
созданию её модели Моделирование целесообразно, когда у модели отсут
ствуют те признаки оригинала, которые препятствуют его исследованию
Достижения математики привели к распространению математичес
ких моделей ММ различных объектов и процессов ММ представляют
собой формализованное представление системы с помощью математи
ческих соотношений, отражающих процесс функционирования системы
По принципам построения математическое моделирование делится на
аналитическое и имитационное
Аналитическое
моделирование  формализованное описание систе
мы, которое позволяет получить решение уравнения в явном виде, ис
пользуя известный математический аппарат Однако аналитическое пред
ставление подходит лишь для очень простых и сильно идеализированных
задач и объектов Сложные объекты редко удаётся описать аналитически,
к их описанию привлекаются имитационные модели
Имитационное
моделирование  это частный случай математичес
кого моделирования, а имитационная модель  логикоматематическое
описание объекта
Известно Неизвестно Решение
Прямая задача
,
=

Обратная задача
,
=
–1

Задача настройки модели
,
=
,

Таблица 11
Виды задач моделирования
1 ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ
Моделирование
 это замещение одного объекта оригинала дру
гим моделью и фиксация и изучение свойств модели Замещение произ
водится с целью упрощения, удешевления, ускорения изучения свойств
оригинала Объектоморигиналом может быть естественная или искус
ственная, реальная или воображаемая система
Любая система может
быть описана количественно с помощью определённой совокупности
величин Эту совокупность можно разделить на два класса:
 Параметры – величины, описывающие первичные свойства систе
мы, её элементов и не зависимые от других величин;
 Характеристики – величины зачастую, векторные, описывающие
качественные свойства системы и являющиеся вторичными по отноше
нию к параметрам, те зависящие от параметров
Система проявляет свои свойства под влиянием внешних воздействий
Множество параметров системы
и их значений отражает её внутреннее
содержание: структуру и принципы функционирования Характеристики
– это в основном её внешние признаки, которые важны при взаимодей
ствии с другими системами Характеристики
находятся в функцио
нальной зависимости от её параметров Каждая характеристика системы
определяется в основном ограниченным числом параметров Остальные
параметры не влияют на значение данной характеристики
 Иссле
дователя интересуют, как правило, только некоторые характеристики при
конкретных воздействиях на систему
Модель
 это тоже система со своими множествами параметров и
характеристик В модель включаются только существенные аспекты,
представляющие оригинал, и отбрасываются
все остальные
которых
бесконечное большинство Существенный или несущественный аспект
описания определяют согласно цели исследования Модель
адекватна
реальному объекту в рамках поставленной задачи На практике двигаются
от простых моделей к более сложным
Структурно модель
можно представить рис 1
В математическом виде модель
=

 закономерность, преоб
разующая входные значения в выходные
Модель
Вход
Выход
Y
Рисунок 1 Структурное изображение модели
третий уровень
внешний образуется совокупностью
прикладных
процессов
, размещенных в территориально удаленных
абонентских
системах
 Абонентские системы АС являются потребителями инфор
мации и выполняют её содержательную обработку Третий уровень, до
полняя первый и второй указанными функциями обработки информа
ции, образует внешний облик
информационной сети
Информационные сообщения на входы ИС поступают случайным
образом и с разной степенью интенсивности Разнородность сообщений,
их разный приоритет, содержательная обработка сообщений иили па
кетов в узлах сети определяют случайную длительность их пребывания
как в отдельной части сети, так и в сети в целом Большое количество вза
имодействующих элементов выполняют сложные функции для достиже
ния заданной цели в условиях взаимодействия внешней среды со мно
жеством случайных факторов Неопределенность обстоятельств, с кото
рыми придется столкнуться в реальности  всё это позволяет отнести ИС
к классу сложных стохастических систем Поэтому на этапах проектиро
вания, модернизации, эксплуатации ИС возникает большое количество
проблем, связанных с исследованием механизма внутрисетевых взаимо
действий, формулировкой соответствующих требований к сети и её от
дельным компонентами и разработкой алгоритмов управления сетью
Любая система управления нуждается в информации об управля
емом объекте и модели управляемого объекта, в моделировании тех или
иных управляющих решений
ВВЕДЕНИЕ
Информационные сети ИС
есть результат слияния средств обра
ботки и обмена информацией В роли элементов ИС выступают инфор
мационные и прикладные процессы
Информационные процессы
ИП представляют собой совокупность
взаимосвязанных процессов выявления, отбора, формирования инфор
мации, ее ввода в техническую систему, обработки, хранения и передачи
Прикладные процессы
ПП – типы ИП, ориентированные на выпол
нение конкретной прикладной задачи
Обобщенно функциональную архитектуру ИС можно представить
в виде
трехуровневой концептуальной модели
рис 11:
первый уровень
внутренний описывает функции и правила взаи
мосвязи при передаче различных видов информации между территори
ально удаленными абонентскими системами через физические каналы
связи передачи и реализуется
транспортной сетью
второй уровень
промежуточный описывает функции и правила
обмена информацией в интересах взаимосвязи прикладных процессов
различных абонентских систем и реализуется
телекоммуникационной
сетью
 Телекоммуникационная сеть представляет собой единую инфра
структуру для обмена различными видами информации в интересах
пользователей информационной сети;
Информационная сеть
Транспортная сеть
Телекоммуникационная
сеть
Абонентская система
ПП
Абонентская система
Сеть каналов связи
передачи
ПП
Абонентская система
ПП
Абонентская система
ПП
Рис 11 Концептуальная модель информационной сети
ПРЕДИСЛОВИЕ
Моделирование систем и сетей телекоммуникаций
изучается
студентами, обучающимися по специальности Информационная безо
пасность с целью усвоения теории и подготовки к овладению техноло
гиями компьютерного моделирования сложных систем
В пособии излагается материал, связанный с имитационным моде
лированием информационных сетей и их элементов, формально пред
ставляемых в виде случайных графов и систем массового обслуживания
Такой формализм широко используется в качестве математических моде
лей сетейПособие включает три раздела
В первом разделе излагается ряд общих сведений, обеспечивающих,
по мнению авторов, терминологическое и понятийное содержание
излагаемого материала
Важным направлением при анализе и синтезе сетей с очень большим
количеством узлов, структура которых нерегулярна, сложна и динами
чески эволюционирует во времени, является моделирование на основе
аппарата теории графов Другой широко распространенной формализа
цией сетей и их элементов узлов, каналов связи являются сети и системы
массового обслуживания Материал, связанный с современными под
ходами к описанию графов и моделей сетей, представлен во втором разделе
В третьем разделе представлен материал по принципам и схемам
построения моделирующих алгоритмов, обеспечивающих отображение
функционирования объекта во времени При имитационном моделиро
вании воспроизводятся траектории движения моделируемого объекта
в пространстве смены его состояний При наличии в модели случайных
факторов имитационные эксперименты выполняются с привлечением
метода статистических испытаний или, иначе, метода МонтеКарло Суть
метода в генерации значений случайной базовой величины и нахождении
по ним значений произвольной случайной величины В разделе также
приводится материал, связанный с генетическими алгоритмами, которые
все чаще используются при оптимизации в сочетании с имитационным
моделированием
Список литературы представлен небольшим числом книг, в которых
можно при желании получить сведения по теме пособия, в том числе и
библиографические
УДК 19718
Кутузов ОИ, Татарникова ТМ Моделирование систем и сетей
телекоммуникаций Учебное пособие – СПб, изд РГГМУ, 1 – 1
с
ISBN
Рецензент: Сикарев АД, др техн наук, проф, зав кафедрой
СанктПетербургского университета водных коммуникаций
Учебное пособие содержит материал, связанный с имитационным
моделированием телекоммуникационных сетей и их элементов, фор
мально представляемых в виде случайных графов и систем массового
обслуживания Каждая глава содержит вопросы и задания для закреп
ления пройденного материала
Предназначено для студентов, обучающихся по специальности
Информационная безопасность
Kutuzov, OI  tkov,  Smuto of ytem  teecom
mucto etok: мmthemtc cheme  othm A mu 
St Peteu, RSU Puhe, 1 – 1

he ook cot mte ete to muto of teecommucto
etok  the eemet fomy eeete  om h 
ueu ytem Ech chte cue ueto  met to
coote the mte covee
he mu  ee fo t eet ecz  fomto
ecuty
ISBN
Кутузов ОИ, Татарникова ТМ, 1
Российский государственный гидрометеорологический
университет, РГГМУ, 1
Министерство образования и науки Российской Федерации
ÔéÄéÀËÜÎé ÃÑÓÄÀÑÒÂéÎÎé ÁÄÆéÒÎé ÁÀÇÂÀÒéËÜÎé
Ó×éÆÄéÎÅé ÂÛÑØéÃ ÏÔéÑÑÅÎÀËÜÎÃ ÁÀÇÂÀÎÅì
ÑÑÅÉÑÉ ÔéÄéÀÖÅÅ
ÑÑÅÉÑÅÉ ÃÑÓÄÀÑÒÂéÎÎÛÉ ÃÅÄÌéÒéËÃÅ×éÑÅÉ
ÓÎÅÂéÑÅÒéÒ
ОИ КУТУЗОВ, ТМ ТАТАРНИКОВА
МОДЕЛИРОВАНИЕ СИСТЕМ
И СЕТЕЙ ТЕЛЕКОММУНИКАЦИЙ
Учебное пособие
СанктПетербург
1

Учебное издание
Олег Иванович Кутузов,
Татьяна Михайловна Татарникова
МОДЕЛИРОВАНИЕ
СИСТЕМ И СЕТЕЙ
ТЕЛЕКОММУНИКАЦИЙ
Учебное пособие
åààæòèð Î1Ñ1 ðàéíèâà
èìíüþòåðíàÿ â¸ðñòæà 11 Åð¸ìèí
ЛР № 9 от 196
Подписано в печать

1 Формат 6х9 116 Гарнитура Таймс”
Печ
ать цифровая Усл печ л
Тираж  экз Заказ № 
РГГ
МУ, 19196, СанктПетербург, Малоохтинский пр 98
Отпечатано в ЦОП РГГМУ

 he oeto of eetc othm17
 he cc eetc othm11
 Acto of eetc othm to ove the oem
of fut toece comut cute11
Queto  Poem17
CONCLUSIONS19
REFERENCES1

Вопросы и задания17
ЗАКЛЮЧЕНИЕ1
ЛИТЕРАТУРА11
CONENS
FOREOR
INROUCION
1 BASIC CONCEPS AN YPES OF SIULAION OF
SYSES AN ELECOUNICAIONS NEORKS6
Queto  Poem1
 AEAICAL SCEES OF SIULAION OF SYSES
AN ELECOUNICAIONS NEORKS1
1 Gh moe of etok1
11 Some cocet of h theoy1
1 Rom h  etok1
1 Pecoto Key cocet
Queto  Poem7
 Queu ytem  etok9
1 Queu ytem   moe1
 Eoet ueu ytem QS
 Eoet ueu etok QN8
Queto  Poem9
 ALGORIS OF SIULAION OF SYSES AN
ELECOUNICAIONS NEORKS61
1 Smuto moe of ytem61
11 Bc cocet of muto moe61
1 Cotuct the muto othm6
1 Scheme of cotuct the muto othm7
1 Semhoe  thee t7
1 Queu othm77
Queto  Poem79
 Stttc moe8
1 he cocet of tttc moe81
 Smuto of om fcto8
 Accucy of muto eut96
 P  tttc eemet99
Queto  Poem1
 Geetc othm  muto1
1 toy of eetc othm1
 Iteetto of the c cocet of eetc othm16
1
СОДЕРЖАНИЕ
ПРЕДИСЛОВИЕ
ВВЕДЕНИЕ
1 ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ6
Вопросы и задания1
 МАТЕМАТИЧЕСКИЕ СХЕМЫ МОДЕЛИРОВАНИЯ
СИСТЕМ И СЕТЕЙ ТЕЛЕКОММУНИКАЦИЙ1
1 Графовые модели сетей1
11 Некоторые понятия теории графов1
1 Случайные графы и сети1
1 Перколяция Основные понятия
Вопросы и задания7
 Системы и сети массового обслуживания9
1 Система массового обслуживания как модель1
 Экспоненциальная система массового обслуживания
 Экспоненциальные сети массового обслуживания8
Вопросы и задания9
 АЛГОРИТМЫ МОДЕЛИРОВАНИЯ СИСТЕМ
И СЕТЕЙ ТЕЛЕКОММУНИКАЦИЙ61
1 Имитационное моделирование систем61
11 Основные понятия имитационного моделирования61
1 Построение моделирующего алгоритма6
1 Схемы построения моделирующего алгоритма7
1 Семафоры и связные списки7
1 Алгоритмы обслуживания очередей77
Вопросы и задания79
 Статистическое моделирование8
1 Концепция статистического моделирования81
 Моделирование случайных факторов8
 Точность результатов моделирования96
 Планирование статистического эксперимента99
Вопросы и задания1
 Генетические алгоритмы в моделировании1
1 История возникновения генетических алгоритмов1
 Интерпретация основных понятий
генетических алгоритмов16
 Операторы генетического алгоритма17
 Классический генетический алгоритм11
 Применение генетического алгоритма для
решения задачи обеспечения отказоустойчивости
вычислительного кластера11

ЛИТЕРАТУРА
1 Задорожный ВН Имитационное и статистическое моделирование:
Учебное пособие – Омск: Издво ОмГТУ, 7 –1 с
 Карпов Ю Г Имитационное моделирование систем Введение в моде
лирование с AyLoc  – СПб : БХВПетербург,  –  с
 Кутузов ОИ, Задорожный В Н, Олзоева С И Имитационное модели
рование сетей массового обслуживания: Учебное пособие – УланУдэ:
Издво ВСГТУ, 1 – 8 с
 Поляк Ю Г Вероятностное моделирование на ЭВМ – М: Советское
радио, 1971 –  с
 Рыжиков Ю И Имитационное моделирование Теория и технологии
– СПб : КОРОНА принт,  – 8 с
6 Советов Б Я, Яковлев СА Моделирование систем: Учебник для вузов
– М: Высшая школа, 1 –  с
7 Соболь И М Численные методы МонтеКарло – М, 197 – 1 с

ЗАКЛЮЧЕНИЕ
Моделирование является основным методом исследований во всех
областях знаний и научно обоснованным методом оценок характеристик
сложных систем, используемым для принятия решений в различных
сферах инженерной деятельности Существующие и проектируемые си
стемы можно эффективно исследовать с помощью математических мо
делей аналитических и имитационных, реализуемых на современных
компьютерах, которые в этом случае выступают в качестве инструмента
экспериментатора с моделью системы
Модели сложных систем, какими являются сети телекоммуникаций,
обычно имеют комплексный вид, используют в своём составе сразу не
сколько представлений Сложная система  это такая, которую нельзя
понять, рассматривая её только с одной точки зрения и отобразив эту
точку зрения в виде наглядной модели рисунка на бумаге или в виде
математической модели, взаимосвязанной с наглядной моделью Чтобы
осмыслить многие аспекты, необходимые для решения задачи проекти
рования сложной системы, её разработчики должны рассматривать эту
систему с нескольких точек зрения Практика показала, что разработчи
кам иногда приходится отображать отдельную точку зрения на сложную
систему не одной, а несколькими моделями Различные точки зрения на
систему и все отображающие эти точки зрения модели объединяются в
проектной документации и в умах разработчиков в единое интегральное
представление о системе
Модели могут принимать различную форму в зависимости от спо
соба мышления исследователя, его взгляда на мир, используемой алгеб
ры Использование различных математических аппаратов впоследствии
приводит к различным возможностям в решении задач
Каждый подход к моделированию имеет свои достоинства и недос
татки Разные модели имеют разные возможности мощность для реше
ния задач, разные потребности в вычислительных ресурсах Один и тот
же объект может быть описан различными способами Инженер должен
грамотно применять то или иное представление, исходя из текущих
условий и стоящей перед ним проблемы
18
8 Каково назначение операции кроссинговер в генетическом ал
горитме, какое значение вероятности она принимает и почему?
9 Каково назначение операции инверсия в генетическом алго
ритме, какое значение вероятности она принимает и почему?
1 Каким образом оценивается функция приспособленности и ка
кую роль она играет в генетическом алгоритме?
11 Составьте схему поиска оптимального количества серверов вы
числительного кластера в терминах генетического алгоритма Количество
серверов в кластере должно быть достаточным, чтобы заявки пользовате
лей обрабатывались за допустимое время
1 Приведите схему классического генетического алгоритма Объ
ясните, как он работает
1 Объясните суть задачи обеспечения отказоустойчивости вычис
лительного кластера, решаемой с применением генетического алгоритма
17
ПМ №

1




6
8
9
1
11
1
1
1
1
УО № 7 1
9 1
7 11
11
8 1 1 9
1
19
16
 1 1  1 1  
1   
ПМ №
16
17
18
19

1




6
7
8
9

1
УО № 1
9 6 1
1 1
9 8
9 1 11 1
1
18
17
1
  1 1  1 1 
 1  
ПМ №




6
7
8
9

1




6
7
УО № 

1 7 19 1
1
16

9 18 
1
16
1
1    1 1  1 1
1 1 
 
ПМ №
8
9

1




6
7
8
9
6
61
6
6
УО №  8
7 8 1 1 9 17
1
1 6 19 1 1  
 1 1    1   1   1   
ПМ №
6
6
66
67
68
69
7
71
7
7
7
7
76
77
78
79
УО № 1
6 18  11 11
1
1

7 19 1

 
18
  1  1 1    1 1  1 1  
ПМ №
8
81
8
8
8
8
86
87
88
89
9
91
9
9
9
9
УО №   8 17 1 1
6 9 1
11 1 16
1
1
1
1
  1 1 1 1 1 1 1 1   1   
ПМ №
96
97
98
99
УО №    6
  1 1
Таблица 
Перераспределение задач с приоритетами по серверам кластера
для варианта 
7 серверов общее время обработки заданий пользователей увеличилось
с 1,7 единиц времени на ,18
Вопросы и задания
1 Составьте схему поиска оптимального пути на графе в терминах
генетического алгоритма
 Приведите последовательность действий при реализации метода
отбора усечением
 Разработайте последовательность действий алгоритм реализации
метода пропорциональной селекции
 Разработайте последовательность действий алгоритм реализации
метода турнирной селекции
 От чего зависит число итераций в генетическом алгоритме? Обос
нуйте ответ
6 В чём состоят недостатки генетического алгоритма? Как эти не
достатки сказываются на результате работы генетического алгоритма?
7 Каково назначение операции мутация в генетическом алго
ритме, какое значение вероятности она принимает и почему?
16
Рисунок  Исходные данные для варианта 
Рисунок  Результаты работы генетического алгоритма для варианта 
1
Рисунок 1 Результаты работы генетического алгоритма для варианта 
ПМ №

1




6
8
9
1
11
1
1
1
1
УО № 6 1
 1
1 9 11
 8 11 9
 1 1  1 1  
1   
ПМ №
16
17
18
19

1




6
7
8
9

1
УО №  1  1
11 7  
 9 1 1
1
1
1
  1 1  1 1 
 1  
ПМ №




6
7
8
9

1




6
7
УО № 1
11
7  11 8 6 8 1
 1 11
1

1    1 1  1 1
1 1 
 
ПМ №
8
9

1




6
7
8
9
6
61
6
6
УО №  1
 1 6 7  8 7 9  1 7 1  1
 1 1    1   1   1   
ПМ №
6
6
66
67
68
69
7
71
7
7
7
7
76
77
78
79
УО № 6  1 1   1
 1
 9 1
6 1 1
7
  1  1 1    1 1  1 1  
ПМ №
8
81
8
8
8
8
86
87
88
89
9
91
9
9
9
9
УО №    1 1 7   8 1 9 8  7 1

  1 1 1 1 1 1 1 1   1   
ПМ №
96
97
98
99
УО № 11
9  
  1 1
Таблица 
Распределение задач с приоритетами по серверам кластера
для варианта 
1
Рис  Исходные данные для варианта 
заданий увеличилось, поскольку увеличилась загруженность серверов
кластера, находящихся в состоянии
сервер
Вариант 
:
приоритетная обработка задач в кластере, количест
во серверов – случайное число
Исходные данные:
 количество заданий, задач, матрицы распределений задач по тран
закциям и количество операций для каждой задачи не изменилось; уста
новлено  уровня приоритета обслуживания задач рис 
Результат работы генетического алгоритма для варианта  приведен
на рис 1 и табл 
С введением приоритета время обработки изменилось незначительно
Вариант 
:
приоритетная обработка задач в кластере, количест
во серверов – задано
Исходные данные: те же, что и для варианта  Количество серверов
кластера задано и равно 7 рис  Соответственно, задачи будут пере
распределены с 1 серверов на 7 будем считать, что 8 серверов в состоя
нии
сервер Оценим, как изменится при данных обстоятельствах время
обработки заданий пользователей
Результат работы генетического алгоритма для варианта  приведен
на рис  и табл 
В результате перераспределения задач с 1 серверов на меньшее –
1
Рис 9 Результаты работы генетического алгоритма для варианта 
перераспределены с  серверов на 1 будем считать, что 1 серверов в
состоянии
сервер Оценим, как изменится при данных обстоятельствах
время обработки заданий пользователей
Результат работы генетического алгоритма для варианта  приведен
на рис 9 и табл Как видно из рис 9, общее время обработки
ПМ №

1




6
8
9
1
11
1
1
1
1
УО № 1
6 11 1
11 9 1
1
9 8 1 7
1
11
1
ПМ №
16
17
18
19

1




6
7
8
9

1
УО № 1
8 1 
9 17
17
6
1
9 7 8
16

1
ПМ №




6
7
8
9

1




6
7
УО № 1
16
 8
 1
7

9
8  19

11
1

ПМ №
8
9

1




6
7
8
9
6
61
6
6
УО №  9
17 1 1  1 
1
18 8   19  7
ПМ №
6
6
66
67
68
69
7
71
7
7
7
7
76
77
78
79
УО № 1 19
 8 1 6
1
16

 19 7 18
8
9 
ПМ №
8
81
8
8
8
8
86
87
88
89
9
91
9
9
9
9
УО № 19 7 1  7 9 6 
7   17

1
 
ПМ №
96
97
98
99
УО №    
Таблица 
Новое распределение задач по серверам кластера для варианта 
1

количество серверов кластера – случайное число;

производительность серверов варьируется от  опс до 1 опс;

матрица распределения интенсивностей и задач по заданиям при
ведена на рис , обозначения  и 
Результат работы генетического алгоритма для варианта 1 приведен
на рис 7 и табл 
Лучшая хромосома
 за все время работы генетического алгорит
ìà ¹79, ìàêñèìàëüíîå çíà÷åíèå
 полезности хромосомы – это вре
мя обработки задания, которое составило ,7 единицы времени, из
них 1,896 – это обработка и 9,1796 – доставка Решение, близкое к реаль
ному, было найдено за 17 итераций Для обслуживания заданий пользо
вателей необходимо  сервера
Полное распределение задач по серверам кластера, которое получа
ется в результате работы генетического алгоритма, приведено в табл 
Распределение задач по серверам позволяет определить производи
тельность обработки заданий
уо
, среднее время обработки ROu и сред
нее время ожидания ROt заданий рис 7
Вариант 
:
без приоритетная обработка задач в кластере, коли
чество серверов – задано
Исходные данные: те же, что и для варианта 1, но количество серве
ров кластера задано и равно 1 рис 8 Соответственно, задачи будут
Рис 8 Исходные данные для варианта 
11
Исходные данные:

количество заданий – 7;

количество задач – 1;

обработка задач – без приоритетная;

количество операций в каждой задаче одинаково и равно ;
ПМ №

1




6
8
9
1
11
1
1
1
1
УО № 1
8 
1 6 8 
 8 1 7
1
1
ПМ №
16
17
18
19

1




6
7
8
9

1
УО №  8
1 
1 1
17
1
1
 17 1
17
ПМ №




6
7
8
9

1




6
7
УО № 1
1  17 1
9 1
18 1 19
18
1
11
ПМ №
8
9

1




6
7
8
9
6
61
6
6
УО № 1 1
8 6 1 
6 11
 8  16 1 1 19 1
ПМ №
6
6
66
67
68
69
7
71
7
7
7
7
76
77
78
79
УО №  1
   1
1
6 1 1 11  1 1
9 1
ПМ №
8
81
8
8
8
8
86
87
88
89
9
91
9
9
9
9
УО № 19 7 1    6 
7   17

1
 1
ПМ №
96
97
98
99
УО № 1 6  1
Таблица 
Распределение задач по серверам кластера для варианта 1
Рис 7 Результаты работы генетического алгоритма для варианта 1
1
1
Рис 6 Окно ввода исходных данных – параметров генетического
алгоритма и вывода результатов работы генетического алгоритма
Результат работы генетического алгоритма выводится в это же ин
терфейсное окно на рис 6:

количество серверов в кластере, необходимое для выполнения за
даний транзакций пользователя с обеспечением оптимального времени
обслуживания заданий – 

распределение задач по серверам; если задан приоритет выполне
ния задач
, то и распределение приоритетов – 6;

количество итераций, которое понадобилось для получения луч
шей особи – 7;

можно посмотреть лучшую особь и худшую особь за всё время
работы генетического алгоритма – 8;

приспособленность особи: время обработки задания, которое скла
дывается соответственно из обработки и доставки результата задания 9;

распределение времен обработки и ожидания задач по серверам
кластера – 1
Оценим работу генетического алгоритма для двух вариантов: без
приоритета выполнения задач на серверах кластера и с приоритетом
Вариант 1
без приоритетная обработка задач в кластере, коли
чество серверов – случайное число
1

интенсивность поступления заданий m – ;

распределение задач по заданиям N
обр
 – , разыгрывается
случайно на интервале 1,
 – ;

производительность серверов м производительность и м
производительность – 6, разыгрывается случайно;

приоритеты выполняемых задач – 7;

количество операций в каждой задаче – 8;
количество серверов устройств обработки – УО, которое можно
задать кнопка Константа – 9, тогда задачи будут оптимально распре
делены по существующим серверам или не задавать кнопка Случ чис
ло – 1, тогда алгоритм определит оптимальное число серверов в клас
тере для обеспечения должного выполнения заданий пользователей
б ввод данных, относящихся к параметрам генетического алгоритма
рис 6:

размер популяции – 1, задается пользователем;

вероятность мутации – , задается пользователем;

критерий останова, который реализован в двух вариантах:
а порог – полезность популяции из поколения в поколение меняется
незначительно – ;
б число шагов выполнения алгоритма – 
1
11
Рис  Окно ввода исходных данных  основных параметров кластера
8
данном варианте реализации ГА используется одноточечный кроссин
говер
Операция одноточечной мутации выполняется для каждого элемен
та бита каждой хромосомы из популяции
с заданной вероятностью
Мут
: попытка обмена задачи
, соответствующей выбранному элемен
ту
m
, на какуюлибо из отброшенных задач

, то есть назначенных сог
ласно данной хромосоме в фиктивный сервер с номером  Данная
хромосома переходит на следующий этап алгоритма, если после некото
рой попытки такого обмена она удовлетворяет ограничениям  и
, иначе ищется другая задача из множества отброшенных задач В
случае неудачи таких попыток для всех отброшенных задач хромосома
переходит на следующий этап без изменения
Пусть
 дочерняя популяция, полученная из популяции
в ре
зультате кроссинговера её особей и последующей мутации В следую
ùóþ íîâóþ îóëöèþ
1
могут попасть как особи только дочерней
популяции
, так и лучшие особи из дочерней
и родительской
по
пуляций
Создание новой популяции P
: хромосомы, полученной в резуль
тате операций отбора, кроссинговера и мутации над хромосомами теку
щей популяции
, переходят в
1
Вычисление качества популяции
 Данный этап необходим для
ведения статистики и для определения значения критерия останова: после
каждого шага ГА вычисляется полезность каждой хромосомы и полез
ность всей популяции, как сумма всех при
k
=1
Замена предыдущей популяции на новую и проверка критерия
останова
 В реализации ГА для данной задачи использованы следующие
критерии останова:
а заданное максимальное количество популяций;
б заданное максимальное значение полезности хромосомы
задан
ный процент от суммы весов всех задач начального множества
Самая полезная хромосома в популяции, полученная перед оста
новом, является решением задачи Данный алгоритм реализован на языке
программирования С
Интерфейс программы содержит две формы ввода:
а ввод данных, относящихся к основным параметрам кластера рис :

число заданий количество транзакций – 1;

суммарное число задач
N
, которое необходимо выполнить, чтобы
обслужить заявки задания пользователей количество ПМ
 – ;
ПМ – Программный модуль, так названы задачи в том смысле, что их решение в
кластере подразумевает выполнение задач на программном уровне
7
начального размещения задач формируется план Z =
j
результиру
ющего отказоустойчивого размещения задач для всех серверов, как ука
зано выше Последовательность выполнения ГА, формирующего план
состоит из следующих шагов
Создание начальной популяции Р
состоит в выполнении опера
ции инициализации для каждой особи из её
хромосом, те случай
ного распределения задач по
ПМ некоторого данного состояния с од
новременной проверкой заданных ограничений на объём памяти ПМ и на
максимальное суммарное время выполнения задач на каждом сервере
задается пользователем Алгоритм инициализации одной хромосомы:

формирование случайного списка задач;

выбор очередной задачи из списка, если он не пуст, в противном
случае окончание работы алгоритма;

попытка размещения выбранной задачи в
й
сервер данного
состояния 

=1,,
,
– число
серверов, начиная с

=1 при проверке
ограничений  и : данная задача назначается для решения в
й
сервер, если ограничения  и  для него не нарушены, иначе –
попытка разместить её в 
1й сервер; процедура продолжается до наи
большего номера
сервера;

если данную задачу не удается разместить ни на один сервер –
отбрасывание этой задачи и переход к шагу 

Селекция отбор хромосом для скрещивания
 В данной реализа
ции алгоритма выбран метод пропорциональной селекции хромосом
непосредственно из предшествующей популяции на первой итерации
– из начальной Из них случайным образом формируются пары различ
ных хромосом, и над каждой из этих пар с заданной вероятностью выпол
няется операция кроссинговера
Выполнение операторов генетического алгоритма
Над данной
парой хромосом вначале с заданной вероятностью
выполняется опе
рация кроссинговера Реализуется операция следующим образом Если
случайно сгенерированное число

Р
, то
над данной парой выполня
ется кроссинговер Потомки проверяются на ограничения и сравнива
ются с родительскими хромосомами Если потомок не удовлетворяет
ограничениям или если полезность потомка меньше полезности роди
тельской хромосомы, то потомок отбрасывается и ищется новая родитель
ская пара для кроссинговера Если

>
Кр
, то над данной парой кроссинго
вер не выполняется, а несостоявшиеся родители переходят в следую
щий родительский пул
для выполнения следующего генетического
оператора
мутации Если потомок удовлетворяет ограничениям и
полезность потомка больше полезности родителя, то потомок переходит
в промежуточный родительский пул
, а родители отбрасываются В
6
где

множество собственных задача отказавших серверов;
мно
жество
серверов для состояния
, при ограничениях:
1 на суммарное время выполнения сервером
всех задач, назна
ченных ему в состоянии

jj
,,1,
=
=


где
число
серверов в состоянии
,


ресурс вре
мени для размещения на сервер
копий задач отказавших серверов,

заданное граничное значение суммарного времени выпол
нения всех задач, назначенных на
сервер
;

суммарное время
выполнения всех собственных задач сервера
на объём памяти каждого
сервера
, доступный для размеще
ния копий задач, дополнительно назначаемых этому серверу для вы
полнения в искаженном состоянии



=
jj
V



,  = 1,,
где

SN
VV
=
максимальный объъём памяти сервера
;
объём
памяти сервера

, занятый его собственными задачами;

SN
чис
ло таких состояний
, в которых данный сервер
не отказал и при
учёте, что в каждом состоянии
задача

может либо назначена
только в один
сервер, либо отброшена, те
j

,1

Рассматриваем случай, когда в каждом состоянии
подвергаются
перераспределению, те передаются для выполнения в какиелибо
серверы, либо отбрасываются только собственные задачи отказавших
серверов, а собственные задачи всех
серверов продолжают выполнять
ся на своих серверах
Решение задачи
 В качестве функции полезности
 принята функ
циональная мощность системы в состоянии
сумма весов тех задач
, для которых
 для данной хромосомы
 Решение задачи состоит
в вычислении с помощью ГА плана размещения задач
для каждого
состояния
 Затем на основе всех полученных планов
и плана

матрицей
=

j
, где

j
= 1, если задача
назначена для выполнения
на сервере
и размещена в нем,

j
=  в противном случае; каждая за
дача назначена на один и только один сервер Задачи, назначенные на
сервер
в соответствии с начальным размещением задач, назовем
собственными задачами этого сервера
Качество работы кластера оцениваем его функциональной мощно
стью
в состоянии
v
, которое определяется как сумма весов всех задач,
назначаемых для выполнения в работоспособные серверы в состоянии
Требуемый уровень отказоустойчивости кластера задается множе
ством
=
 работоспособных состояний, которое определяется как
множество всех таких состояний, число
отказавших серверов для кото
рых не превосходит заданного значения
, очевидно
S
= 
, где
=
множество искаженных работоспособных состояний
Требуется путем организации при отказах сервера надлежащего
перераспределения задач между различными
серверами обеспечить
выполнение заданных требований к отказоустойчивости кластера и к
другим его показателям Для этого при проектировании кластера или
при подготовке к реализации в нём определенного задания, необходимо
найти оптимальные планы
=
j
распределения задач для каждого
состояния
и результирующее отказоустойчивое размещение задач
Z =
j
для всех серверов, где
j
= 1, если задача
размещена на сервере
те её программный код загружен в память сервера
,
j
=  в про
тивном случае;
j
определяется как дизъюнкция значений
j
для всех
состояний
включая начальное
После того как оптимальные планы
найдены, каждый сервер
заранее обеспечивается аппаратными и программными ресурсами, не
обходимыми для выполнения задач, которые могут назначаться ему в
любом состоянии
S
При
переходе кластера вследствие отказов неко
торых серверов в любое искаженное состояние
и обнаружении
этого факта во всех
серверах начинается выполнение задач, назначен
ных им в соответствии с планом
Применим ГА для решения задачи рационального статистического
перераспределения задач
Постановка задачи:
Для каждого искаженного работоспособного
состояния
найти такой план
=
j
распределения задач
при
котором достигается максимальное значение функциональной мощнос
ти системы в состоянии




U
jj

m,


размещения задач, те такого статического распределения задач по серве
рам, при котором определенное число копий каждой задачи размещается
на различных серверах
Кластер рассматривается как совокупность
однотипных серверов,
объединенных коммутационной системой рис  Каждый сервер
имеет один процессор и память ограниченного объема Кластер выпол
няет фиксированное задание Г, которое представляет собой известное
ìíîæåñòâî çàäà÷ Ã=
,
,  ,
 с заданными требованиями к порядку
их выполнения и взаимосвязям
Каждая задача
характеризуется следующими показателями:
– вес задачи, те величина, определяющая важность задачи
для
системы более важной задаче соответствует больший вес;
– объем оперативной памяти, требуемый для хранения и выполне
ния задачи;
– время выполнения задачи
В процессе работы кластера возможны отказы серверов Состояние
кластера определяется как
,,
, где
=, если
– работоспособ
ный сервер 
сервер и
=1, если
– отказавший сервер 
сервер;
=  – начальное состояние кластера; все состояния
назы
ваются искаженными Известно начальное распределение задач по
серверам при отсутствии их отказов для состояния
, описываемое
Рис  Общая схема взаимодействия пользователей с кластером

ностью
, равной численности текущей популяции
Применение гене
тических операторов
к хромосомам, отобранным с помощью селекции,
приводит к формированию новой популяции потомков от созданной на
предыдущем шаге родительской популяции
В классическом генетическом алгоритме применяются два основ
ных генетических оператора: оператор скрещивания и операторы мута
ции и инверсии Однако следует отметить, что операторы мутации и
инверсии играют явно второстепенную роль по сравнению с оператором
скрещивания Это означает, что скрещивание в классическом генетичес
ком алгоритме производится практически всегда, а мутация и инверсия
достаточно редко Вероятность скрещивания, как правило, достаточно
велика обычно ,
1, тогда как вероятности мутации и инверсии
устанавливаются весьма малыми чаще всего 
,1; 
,1
Это следует из аналогии с миром живых организмов, где мутации проис
ходят чрезвычайно редко
В генетическом алгоритме мутация и инверсия хромосом могут
выполняться на популяции родителей перед скрещиванием или на попу
ляции потомков, образованных в результате скрещивания
Формирование новой популяции
 Хромосомы, полученные в резуль
тате применения генетических операторов к хромосомам временной
родительской популяции, включаются в состав новой популяции Она
становится так называемой текущей популяцией для данной итерации
генетического алгоритма На каждой очередной итерации рассчитыва
ются значения функции приспособленности для всех хромосом этой
популяции Затем проверяется условие остановки алгоритма и либо фик
сируется результат в виде хромосомы с наибольшим значением функции
приспособленности, либо осуществляется переход к следующему шагу
генетического алгоритма, те к селекции В классическом генетическом
алгоритме вся предшествующая популяция хромосом замещается новой
популяцией потомков, имеющей ту же численность
Выбор наилучшей хромосомы
Если условие остановки алгоритма
выполнено, то следует вывести результат работы, те представить искомое
решение задачи Лучшим решением считается хромосома
с наиболь
шим значением функции приспособленности
AFAF
m

 Применение генетического алгоритма для решения задачи
обеспечения отказоустойчивости вычислительного кластера
Рассмотрим задачу обеспечения отказоустойчивости вычислитель
ного кластера Этот подход реализуется посредством отказоустойчивого

участие в создании новых особей имеют хромосомы с наибольшими зна
чениями функции приспособленности
Существуют различные методы селекции, наиболее популярные
описаны в разд  В результате процесса селекции создается роди
тельская популяция, также называемая родительским пулом с числен
Рис 
Этапы генетического алгоритма
11
1

11
1
Инициализация
=
Популяция

Хромосома 1:
Хромосома :

Хромосома
:
Порядок:
1

 Оценивание приспособленности
Хромосомы в
популяции

1   
1
Функция
приспособ
ленности
 Условие завершения:
если оно выполнено,
то выбрать наилучшую хромосому и КОНЕЦ
 Селекция:

Популяция
 Популяция
М

Родительский пул
Селекция
Хромосома1:
Хромосома :
Хромосома :
Хромосома :

Хромосома
:
Хромосома
1:
 Генетические операторы:
Скрещивание в точке
:
Одна пара хромосом, 111 111
выбранная из 111 111
популяции

с вероятностью
Порядок: 1


L

Мутация в точке
:
Одна пара хромосом, 11 1
выбранная из
популяции
 Порядок: 1


L

с вероятностью

скрещивание
мутация
1111
1

11
Популяция
1
Хромосома 1:
Хромосома :

Хромосома
:
Порядок:
1
6 Новая популяция
Переход к шагу 
1
нения В оптимизационных задачах, если известно максимальное или
минимальное значение функции приспособленности, то остановка алго
ритма может произойти после достижения ожидаемого оптимального
значения, возможно, с заданной точностью Остановка алгоритма также
может произойти в случае, когда его выполнение не приводит к улучше
нию уже достигнутого значения Алгоритм может быть остановлен по
истечении определенного времени выполнения или после выполнения
заданного количества итераций Если условие остановки выполнено, то
производится переход к завершающему этапу выбора наилучшей хро
мосомы В противном случае на следующем шаге выполняется селекция
Селекция хромосом
заключается в выборе по рассчитанным на
втором этапе значениям функции приспособленности тех хромосом,
которые будут участвовать в создании потомков для следующей попу
ляции, те для очередного поколения Такой выбор производится, соглас
но принципу естественного отбора, по которому наибольшие шансы на
Начало
Генерация исходной популяции
хромосом
Оценивание приспособлен
ности хромосом в популяции
Условие завершения
выполнено?
Селекция хромосом
Применение
генетических
операторов
Создание новой
популяции
Нет
Да
Выбор
наилучшей
хромосомы
Конец
Рисунок  Схема классического генетического алгоритма

ледующая популяция
1
может быть образована как целиком только из
потомков хромосом предыдущей популяции
, полученных в результате
применения к
генетических операторов, так и частичным сохранением
наилучших особей из
 В первом случае новые хромосомы полностью
заменяют старые, а во втором – только менее ценные из них
Работа ГА прекращается при достижении текущей популяцией сос
тояния адаптации, которое идентифицируется по стягиванию ядра попу
ляции сначала в круг, а затем в точку Алгор