ГЕРТ-сеть требует выполнения условия марковости для вероятностей перехода по дугам (вероятность начала выполнения работы). Также ГЕРТ-сети не позволяют вводить дополнительные параметры для узлов-состояний и дуг-работ. Эти требования существенно ограничивают применимость данного метода моделирования.
Подробное описание ГЕРТ-сетей можно посмотреть в книге K. Neumann [1] и Д. Филлипс, А. Гарсиа-Диас [3].
Очень важными для стохастических сетей являются два понятия: выполнение и реализация сети. Выполнением сети будем называть процесс выполнения случайного эксперимента, тогда как реализацией сети будем называть итог одного случайного эксперимента.
Сеть G(N, A) называется МГ-сетью (модифицированной ГЕРТ-сетью), если:
- она представлена ориентированной связанной сетью;
- она обладает, по крайней мере, одним источником и одним стоком;
- каждый узел из N достижим, по крайней мере, из одного источника и из каждого узла достижим, по крайней мере, один сток;
- заданы типы входящих и выходящих функций узлов;
- задано начальное распределение вероятности выполнения источников qsub, где subÍR;
- в течение каждого выполнения проекта для каждого стока активируется не более одного источника, из которого данных сток достижим;
- задан набор параметров, которыми обладает каждый активированный узел (по крайней мере, вероятность активации);
- для каждой дуги указаны функции преобразования параметров активированного узла, вычислимые в момент его активации;
- хотя бы один источник активируется в момент времени 0 (если параметр, отвечающий за время, определен).
Условие марковости для вероятностей перехода по дугам ГЕРТ-сети позволяет применять аналитические методы расчета параметров данной сети. В результате его исключения единственным методом расчета МГ-сети является численный расчет всех реализаций сети.
Любая сеть, обладающая хотя бы одним циклом, имеет бесконечное количество реализаций, однако вероятность выполнения реализации на каждом последующем витке цикла уменьшается в геометрической прогрессии, следовательно, их вклад в конечный результат так же сокращается.
Таким образом, реализация сети является допустимой, если в процессе выполнения каждый из активированных узлов сети активируется не более, чем maxA>=1 раз, или он активируется с вероятностью, большей minP>0.
Результатом расчета МГ-сети является множество реализаций, удовлетворяющих приведенным выше условиям.
Наиболее простой алгоритм расчета МГ-сети без узлов с IOR- и AND-входными функциями - это алгоритм генерации всех возможных обходов графа (в глубину или в ширину) с последующим расчетом каждого перехода.
Для расчета параметров узла с IOR- или AND-входной функцией необходимо знать параметры «концов» всех дуг, входящих в него. Необходимо учитывать, что для каждой дуги <i, j>, входящей в узел j, существует множество путей заканчивающихся дугой <i, j>. Следовательно, для построения множества реализаций, заканчивающихся узлом j с IOR- или AND-входной функцией, необходимо построить множество всех возможных выборов путей по одному из каждой дуги, входящей в узел j.
Реализация такого алгоритма расчета МГ-сети при прямом обходе графа достаточно сложна из-за необходимости «фиксации» реализаций заканчивающейся дугой, входящей в узел j, до того момента, пока все возможные реализации по каждой из дуг, входящих в j, не будут получены.
Для расчета МГ-сетей автором предлагается алгоритм обратного обхода графа от стока к источнику. Данный алгоритм похож на алгоритмом разбора арифметических выражений.
Пусть A, B, C, D, E - некоторые участки сети. «*»- операция объединения сетей от первого аргумента ко второму. «( , , ..., )» - операция параллельного объединения, где сеть стоящая слева от открывающей скобки заканчивается узлом с детерминированным выходом, сеть, стоящая справа от закрывающей скобки, начинается узлом с IOR- или AND-входом, а сети, перечисленные внутри скобок, параллельные участки, их соединяющие.
Рассмотрим работу алгоритм на примере сети вида A*(B, C, D)*E.
- Последовательно перемещаемся по всем узлам сети E до узла j с IOR- или AND-входной функцией.
- Рассчитываем параметры узлов сети A. Результат: множество реализаций WA.
- Используя полученное множество реализаций WA, рассчитываем параметры узлов сетей B, C, D. Результат: множества реализаций WB, WC, WD.
- Строим множество всех возможных выборов путей по одному из каждой дуги входящей в узел j и для каждой комбинации рассчитываем параметры узла j.
- Рассчитываем параметры узлов сети E.
Данный алгоритм использован в созданной библиотеке для расчета модифицированной ГЕРТ-сети. Рекламно техническое описание библиотеки можно получить в ОФАП.
СПИСОК ЛИТЕРАТУРЫ
- K. Neumann. Stochastic Project Networks. Temporal Analysis, Scheduling and Cost Minimization. Springer-Verlag.
- Лебедев В. А., Трохов Н. Н., Царев Р. Ю. Параллельные процессы обработки информации в управляющих системах. - Красноярск, НИИ СУВПТ, 2001. Стр. 84-133.
- Филлипс Д., Гарсиа-Диас А. Методы анализа сетей.-М.: Мир, 1984. стр. 387-411.
- Дегтерев А.С., Письман Д.М. GERT-сетевой анализ времени выполнения задачи на неспециализированном гетерогенном кластере. Фундаментальные Исследования. № 4. 2005. Стр. 79-80.
- Письман Д.М. Модели оценки времени выполнения задачи на кластере с последовательной и параллельной архитектурой обмена данными. Вестник университетского комплекса: Сб. научн. Трудов / Под общей ред. Профессора Н.В. Василенко; Красноярск: ВСФ РГУИТП, НИИ СУВПТ. - 2005. Вып. 3 (17). Стр. 161-175.