Ястреб и голубь

Материал из RunaWFE
Перейти к навигации Перейти к поиску

Задание на разработку бизнес-процесса "Ястреб и голубь".

Краткое описание предметной области: Игра «ястреб и голубь» является биологическим примером игры. В этой версии двое игроков выбирают одну из двух стратегий поведения.

Представим себе популяцию животных, в которой отдельные особи конкурируют между собой. В простейшем случае это могут быть брачные турниры, каждый из которых можно представить как игру двух участников. Предположим, что каждый участник выбирает одну из двух стратегий поведения – условно назовём их «голубь» и «ястреб».

Стратегии состоят в следующем: Ястребы всегда дерутся до победы и отступают только в том случае, если получат серьёзные увечья. Голуби ограничиваются угрозами и демонстрацией агрессивности, однако если дело доходит до настоящей схватки, они отступают.

Таким образом, если "голубь" дерётся с "ястребом", победа достаётся "ястребу", однако отступивший "голубь" не получает в схватке никаких повреждений и ничего не теряет. Если дерутся два голубя, то победа достаётся одному из них, увечий никто из них не получает, однако оба затрачивают определённую энергию на длительное психологическое противостояние. Если дерутся два ястреба, то побеждает один из них, а для другого схватка заканчивается тяжёлыми увечьями. Победа в поединке оценивается в 50 очков, проигрыш в 0 очков, получение тяжёлого увечья в минус 100 очков, а затраты энергии на длительное противостояние - в минус10 очков.

То есть, в поединке двух "голубей" победивший получает 40 очков, а проигравший - минус 10 очков, вероятность победы для каждого одинакова. В схватке двух ястребов победивший получает 50 очков, а проигравший - минус 100 очков, вероятность победы для каждого одинакова. В схватке голубя с ястребом голубь проигрывает и получает 0 очков, ястреб выигрывает и получает 50 очков.

В игре играют два игрока. Играют раундами. В начале каждого раунда оба игрока независимо друг от друга выбирают стратегию "Голубь" или "Ястреб". Далее каждый получает очки в соответствии с описанными выше правилами. Очки, полученные в каждом раунде, суммируются. После окончания заранее известного числа раундов игра заканчивается. Игрок, набравший большее количество очков, объявляется победителем. Если оба игрока набрали одинаковое количество очков, то объявляется ничья.


Описание ролей и действий бизнес-процесса:

В бизнес-процессе должны быть следующие роли

  1. Ведущий
  2. Первый игрок
  3. Второй игрок

Описание действий исполнителей:

Ведущий запускает экземпляр бизнес-процесса. В стартовой форме он вводит количество раундов, выбирает первого и второго игрока. Игроки выбираются из членов группы "Группа МП-15-1". Далее игра ведется в соответствии с правилами. После окончания игры все участники получают сообщение о том, кто выиграл и сколько очков набрал каждый игрок. После того, как все участники ознакомятся с сообщением, бизнес-процесс завершается.


Замечание0. В данном бизнес-процессе для определения результата каждого турнира (раунда игры) надо воспользоваться функцией random() формулы-обработчика. Функция random() возвращает случайное вещественное число от 0 до 1. Если при одинаковых стратегиях игроков возвращенное случайное число меньше или равно 0.5, то победил первый игрок, иначе – второй.


Замечание1. Схема разработанного бизнес-процесса должна умещаться на экране компьютера. Если схема не помещается на экране, то ее части надо выносить во внутренние или внешние подпроцессы.


Замечание2. По возможности надо использовать парные разделения и слияния. Нотация BPMN позволяет использовать в схемах бизнес-процессов элементы разделения без парных им элементов - слияний. В этом случае для удаления выполнивших свою задачу точек управления можно использовать элемент - завершение потока управления. Однако, предпочтительной схемой является схема с парными разделениями и слияниями, так как такие схемы, несмотря на большее число содержащихся в них элементов, являются более понятными бизнес-аналитику, так как участок схемы между разделением и парным им слиянием можно мысленно декомпозировать и таким образом разделить схему бизнес-процесса на две более простых.


Замечание3. Разделения и парные им слияния должны быть так расположены (обычно на одной горизонтальной, или вертикальной линии), чтобы на схеме бизнес-процесса для одного элемента можно было бы легко найти парный ему элемент.


Замечание4. Желательно, чтобы линии переходов, соответствующих одновременно выполняющимся потокам действий, были параллельными, т.к. это увеличивает понятность схемы.


Замечание5. Использовать элементы «окончание бизнес-процесса» предпочтительнее, чем элементы «завершение потока управления», так как в этом случае бизнес-аналитику легче анализировать схему выполняющегося экземпляра бизнес-процесса с нанесенными на нее точками управления. В случае прихода точки управления в элемент «окончание бизнес-процесса» экземпляр бизнес-процесса сразу завершается, в случае же использования элементов «завершение потока управления» бизнес-аналитику приходится затрачивать больше усилий для того, чтобы следить за тем, чтобы все точки управления пришли в элементы «окончание бизнес-процесса».