Моделирование процессов принятия решений на основе системы интеллектуального имитационного моделирования РДО (Еремеев А., Шутова П.), страница 11
Описание файла
Документ из архива "Моделирование процессов принятия решений на основе системы интеллектуального имитационного моделирования РДО (Еремеев А., Шутова П.)", который расположен в категории "". Всё это находится в предмете "теория игр и исследование операций" из 8 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "теория игр и исследование операций" в общих файлах.
Онлайн просмотр документа "Моделирование процессов принятия решений на основе системы интеллектуального имитационного моделирования РДО (Еремеев А., Шутова П.)"
Текст 11 страницы из документа "Моделирование процессов принятия решений на основе системы интеллектуального имитационного моделирования РДО (Еремеев А., Шутова П.)"
Таблица 5.4
Функ-ция | Тип значения | Тип 1-го аргумента | Тип 2-го аргумента | Описание |
Abs(x) ArcCos(x) ArcSin(x) ArcTan(x) Cos(x) Cotan(x) Exp(x) Floor(x) Frac(x) IAbs(x) IMax(x, y) IMin(x, y) Int(x) | Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный Целый Вещественный Целый Целый Целый Целый | Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный Целый Целый Целый Вещественный | Целый Целый | Вычисляет абсолютную величи-ну вещественного аргумента х Вычисляет арккосинус аргумен-та х, заданного в радианах Вычисляет арксинус аргумента х, заданного в радианах Вычисляет арктангенс аргумен-та х, заданного в радианах Вычисляет косинус аргумента х, заданного в радианах Вычисляет котангенс аргумента х, заданного в радианах Вычисляет значение е в степени х Результат функции наиболь-шее целое число, не превосхо-дящее х Возвращает дробную часть ве-щественного аргумента х Вычисляет абсолютную величи-ну целого аргумента х Возвращает максимальное из значений двух целых аргумен-тов х,у Возвращает минимальное из значений двух целых аргумен-тов х,у Результат функции наиболь-шее целое число, не превосхо-дящее х |
Продолжение табл. 5.4 | ||||
Функ-ция | Тип значения | Тип 1-го аргумента | Тип 2-го аргумента | Описание |
IntPower (x, y) Ln(x) Log10(x) Log2(x) LogN(x, y) Max(x, y) Min(x, y) Power (x, y) Round(x) Sin(x) Sqrt(x) Tan(x) | Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный Целый Вещественный Вещественный Вещественный | Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный Вещественный | Целый Вещественный Вещественный Вещественный Вещественный | Вычисляет значение х в целой степени у с учетом знака х. Если х отрицателен и у нечетная, то результат отрицателен Вычисляет натуральный лога-рифм положительного аргумен-та х Вычисляет логарифм по осно-ванию 10 положительного аргу-мента х Вычисляет логарифм по осно-ванию 2 положительного аргу-мента х Вычисляет логарифм по осно-ванию у положительного аргу-мента х. Аргумент у должен быть положительным Возвращает максимальное из значений двух вещественных аргументов х и у Возвращает минимальное из значений двух вещественных аргументов х и у Вычисляет значение х в степени у. Х должен быть неотри-цателен Округляет значение веществен-ного аргумента х к ближайшему целому числу Вычисляет синус аргумента х, заданного в радианах Вычисляет значение квадрат-ного корня из х. Х должен быть неотрицателен Вычисляет тангенс аргумента х, заданного в радианах |
Кроме стандартных арифметических функций в языке определены четыре стандартные функции, значением которых является ИСТИНА или ЛОЖЬ. Синтаксис вызова этих функций следующий:
<имя_функции> "("<имя_типа_ресурсов> :
( <логическое_выражение>| NoCheck ) ")"
Стандартные логические функции используются в логических выражениях. В табл. 5.5 приведены их имена и способы вычисления значений.
Если вместо логического выражения указано зарезервированное слово NoCheck, то рассматриваются все ресурсы указанного типа. В этом случае функция Exist определяет, существует ли хотя бы один ресурс указанного типа, функция For_All всегда выдает значение ИСТИНА (даже если нет ни одного ресурса указанного типа), а функция Not_For_All всегда выдает значение ЛОЖЬ.
Пример на вызов стандартных логических функций:
Exist (Студенты : Студенты.Состояние = Пришел and
Студенты.Зачет = 1)
Not_Exist (Студенты : NoCheck)
Таблица 5.5
Имя функции | Значение |
Exist Not_Exist For_All Not_For_All | Если существует хотя бы один ресурс указанного типа, состояние которого удовлетворяет заданному логическому выражению, то функция выдает значение ИСТИНА, в противном случае ЛОЖЬ. Если не существует ни одного ресурса указанного типа, состояние которого удовлетворяет заданному логическому выражению, то функция выдает значение ИСТИНА, в противном случае ЛОЖЬ. Если состояние всех ресурсов указанного типа удовлетворяет заданному логическому выражению, то функция выдает значение ИСТИНА, в противном случае ЛОЖЬ. Если состояние не всех ресурсов указанного типа удовлетворяет заданному логическому выражению, то функция выдает значение ИСТИНА, в противном случае ЛОЖЬ. |
6. ДЕМОНСТРАЦИОННЫЕ ПРИМЕРЫ
В этой главе рассмотрены два, иллюстрирующие различные классы СДС и процессов принятия решений в таких системах, примера моделирования: экзамен и игра "Крестики-нолики". Первый из них представляет собой модель экзамена, и протекающие в ней процессы связаны со временем: с длительностью подготовки к экзамену и его сдачи, со временем прихода. Поэтому для моделирования используется объект операций. В качестве второго примера рассматривается игра, в которой все действия лица, принимающего решения, зависят не от времени, а только лишь от очередности ходов и выбранных клеток игрового поля. Поэтому вместо объекта операций используется объект точек принятия решений.
6.1. Моделирование экзамена
Одним из инструментов моделирования дискретных процессов являются сети Петри и их модификации. Сети Петри широко используют для решения различных задач, и данный аппарат продолжает активно развиваться (см., например, статьи в журналах «Программирование» и «Известия РАН. Теория и системы управления»). Он позволяет описывать параллельные, асинхронные, иерархические процессы достаточно простыми средствами. Математическая модель описываемого сетью Петри процесса достаточно наглядна и легко алгоритмизируема для моделирования на ЭВМ.
Весь процесс сдачи экзамена можно представить в виде временной сети Петри. Как и в простой сети Петри, изменение в маркировке сети отражает изменение состояния описываемого объекта. Маркировка сети изменяется согласно ряду правил, в результате чего сеть переходит из заданного начального состояния в некоторое конечное состояние, определяемое либо исследователем, либо автоматически системой в случае невозможности продолжения процесса имитации при сложившейся маркировке сети.
Такая модификация сетей Петри, как временные сети, позволяет в явном виде ввести в процесс имитации время протекания действий, например, интервал прихода студентов, время подготовке к ответу и т.д.
Другое добавление к сети Петри специальные вершины, служащие для оперативного управления объектом. Их маркировку можно изменять нажатием соответствующих клавиш.
Модифицированная сеть Петри для моделирования экзамена представлена на рис. 6.1. Цифрами в кружках указаны количества маркеров в соответствующих местах (позициях) сети. Каждый переход подписан и отображает некоторое действие, имеющее определенную длительность. Все позиции и переходы описаны в табл. 6.1.
Выполнение перехода это удаление маркеров по каждой дуге с входных мест перехода и появление дополнительных маркеров по каждой дуге в выходных местах выполняемого перехода. Переход может быть выполнен, если во всех его входных местах имеется достаточное число маркеров для их удаления.
Функционирование системы описывается последовательной сменой ее состояний, т.е. последовательной сменой маркировок. Изменение маркировки в позициях сети может произойти только при выполнении некоторого перехода, т.е. при выполнении некоторого действия на экзамене или при изменении пользователем маркировки управляющих вершин.
При реализации сети Петри на ЭВМ возникают ситуации, когда возможно выполнение нескольких переходов. Для однозначного выбора одного перехода для запуска могут использоваться приоритеты. Как отмечалось при описании объекта операций, больший приоритет имеет переход, операция для реализации которого описана раньше по тексту.
Начальная маркировка сети по умолчанию равна (0, 0, 0, 0, 0, 40, 8, 1, 0, 0, 0, 0, 0, 2, 1) при просмотре слева направо и сверху вниз по схеме. Процесс имитации продолжается до тех пор, пока все студенты не будут опрошены, что соответствует маркировке ( 0, 0, 0, 0, 40, 0, …)
Таблица 6.1
Имя | Название | Описание |
Места и начальная | маркировка | |
p1 | Студенты в коридоре (Очередь 1) = 0 | Количество студентов, пришедших на экзамен и стоящих за дверью, так как нет вакантных мест или аудитория закрыта |
p2 | Студенты готовятся | Количество студентов, вошедших в аудиторию и начавших готовиться |
p3 | Студенты, готовые отвечать (Очередь 2) = 0 | Количество студентов, готовых к ответу и ждущих, когда освободится один из преподавателей |
p4 | Отвечающие студенты = 0 | Количество отвечающих студентов и занятых преподавателей |
p5 | Ответившие студенты = 0 | Количество студентов, уже сдавших экзамен. Экзамен заканчивается, когда экзамен сдали все студенты группы |
p6 | Студентов в группе (еще не пришли) | Количество студентов, которые должны прийти на экзамен. В начале моделирования равняется количеству студентов в группе, в конце 0 |
p7 | Вакантных мест | В начале моделирования количество одноместных парт в аудитории, которые могут одновременно быть заняты. В процессе число вакантных мест. Регулируется управляющими местами p10 и p11 |
p8 | Свободных преподавателей | В начале число преподаваелей на экзамене. В процессе количество преподавателей, находящихся в аудитории и не занятых опросом студентов |
p9 | Открыть/Закрыть аудиторию | Управляющая позиция для ограничения прохода в аудиторию студентов. При нажатии на клавишу пробела "SPACE" закрывает либо открывает дверь |
p10 | Уменьшить | Управляющая позиция для регулирования длины очереди готовых к ответу студентов. При нажатии на клавишу управления курсором "DOWN" маркируется единицей |
p11 | Увеличить | Управляющая позиция для регулирования очереди к преподавателю готовых к ответу студентов. При нажатии на клавишу управления курсором "UP" маркируется единицей |
p12 | Уменьшить | Управляющая позиция для регулирования количества экзаменаторов в аудитории. При нажатии на клавиши "CTRL" + "DOWN" маркируется единицей |
p13 | Увеличить | Управляющая позиция для регулирования количества экзаменаторов в аудитории. При нажатии на клавиши "CTRL" + "UP" маркируется единицей |
p14 | Запасные места | Количество парт в аудитории, которые должны оставаться свободными |
p15 | Отдыхающие преподаватели | Количество преподавателей вне аудитории, которых можно позвать принимать экзамен |
Продолжение табл. 6.1 | ||
Имя | Название | Описание |
Переходы | ||
t1 | Приход студента | Выполняется, если есть еще не пришедшие студенты, и переход не занят. Интервал прихода студентов вычисляется следующим образом. Первые три приходят с интервалами 0.01, 0.02 и 0.01 часа, вторые четыре с интервалами от 0.02 до 0.10 часа, третьи три с интервалами 0.03, 0.04 и 0.08, а остальные с интервалами, получаемыми с помощью генератора случайных чисел по экспоненциальному закону со средним 0.2 на интервале от 0.0 до 0.5 часа |
t2 | Вход в аудиторию | Выполняется, если дверь в аудиторию открыта и есть вакантные места. Длительность = 0.0 |
t3 | Подготовка к ответу | Выполняется по приходу студента в аудиторию в течение интервала времени, получаемому с помощью генератора псевдослучайных чисел по нормальному закону со математическим ожиданием = 0.4 часа (24 мин) и дисперсией = 0.1 (6 мин) в диапазоне от 0.1 (6 мин) до 0.6 часа (36 мин) |
t4 | Студент идет отвечать | Выполняется при наличии свободного преподавателя и готового отвечать студента. При этом освобождается вакантное место. Длительность = 0.0 |
t5 | Студент отвечает | Выполняется при наличии отвечающего студента. Длительность ответа вычисляется с помощью генератора псевдослучайных чисел по равномерному закону распределения на интервале от 0.1 (6 мин) до 0.3 часа (18 мин) |
t6 | Уменьшение вакантных мест | Выполняется при наличии вакантных мест и маркированном управляющем месте уменьшения вакантных мест. Длительность = 0.0 |
t7 | Увеличение вакантных мест | Выполняется при наличии запасных мест и маркированном управляющем месте увеличения вакантных мест. Длительность = 0.0 |
t8 | Уменьшение количества преподавателей | Выполняется при наличии свободных преподавателей в аудитории и маркированном управляющем месте уменьшения количества экзаменаторов. Длительность = 0.0 |
t9 | Увеличение количества преподавателей | Выполняется при наличии отдыхающих преподавателей и маркированном управляющем месте увеличения количества экзаменаторов. Длительность = 0.0 |
Целью исследователя является определение нагрузки преподавателей и времени ожидания освобождения экзаменатора готовыми к ответу студентами. Для регулирования этих факторов можно изменять количество преподавателей и мест в аудитории, открытие и закрытие входной двери. Также возможно изменение начальных установок в объекте прогона для количеств экзаменаторов и студентов в группе и длительности различных операций.