Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 групповая лаба.docx
Скачиваний:
2
Добавлен:
07.10.2024
Размер:
6.33 Mб
Скачать

1.5 Стратегии с использованием метода Монте-Карло

Данные стратегии основываются на 5 предыдущих, с отличием в том, что исходы условий перестали быть гарантированными. Это реализовано путем сверки с установленными значениями сгенерированного случайного числа. Стратегии с негарантированными исходами для протагониста-Барда и антагониста-Тролля представлены на рисунке 1.31. Аналогичным образом были разработаны стратегии для сражения протагониста-Барда и антагониста- Дракона (рисунок 1.32) и балора (рисунок 1.33).

Рисунок 1.31 – Стратегии против антагониста-Тролля с использованием метода Монте-Карло

Рисунок 1.32 – Стратегии против антагониста-дракона с использованием метода Монте-Карло

Рисунок 1.33 – Стратегии против антагониста-балора с использованием метода Монте-Карло

Для данных стратегий были проведено по несколько экспериментов. На рисунках 1.34 - 1.39 представлены результаты (количество побед и поражений).

Рисунок 1.34 – Вероятность победы Bard-Troll используя 1 стратегию

Рисунок 1.35 – Вероятность победы Bard-Troll используя 2 стратегию

Рисунок 1.36 – Вероятность победы Bard-Clockwork Dragon используя 1 стратегию

Рисунок 1.37 – Вероятность победы Bard-Clockwork Dragon используя 2 стратегию

Рисунок 1.38 – Вероятность победы Bard-Ballor используя 1 стратегию

Рисунок 1.39 – Вероятность победы Bard-Ballor используя 2 стратегию

1.6 Анализ логов

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

- результат игры для протагониста «Win/Lose»;

- «число раундов»;

- строка, кодирующая действия Антагониста;

- строка, кодирующая действия Протагониста.

Для реализации логов были добавлены палитры и переменные (рисунок 1.40). Палитра Result содержит в себе значения Win и Lose, для записи в лог результат игры. Палитры ANTLIST и PROLIST необходимы для записи выбранных действий антагонистом и протагонистом соответственно.

Рисунок 1.40 – Описание переменных

С перехода Check Winner, используя переменную ending, передается результат игры, где «1» – это проигрыш, «2» – победа (рисунок 1.41). Также эта переменная используется для очистки LOGLIST.

Рисунок 1.41 – Передача результата игры

На рисунке 1.42 представлен лог одной игры Bard-Troll, a на рисунках 1.41 – 1.42 игры Bard-Clockwork Dragon и Bard-Balor. Данные для лога передаются из переходов Apply Actions и Check Winner.

Рисунок 1.42 – Лог одной игры Bard-Troll

Рисунок 1.43 – Лог одной игры Bard-Clockwork Dragon

Рисунок 1.44 – Лог одной игры Bard-Balor

Данные для лога передаются из переходов Antagonist Acts, Protagonist Acts и Check Winner. Из переходов Antagonist Acts и Protagonist Acts в ANTLIST и PROLIST передаются выбранные действия персонажами. Переход, для записи данных в LLOG, срабатывает только при условии если переменная ending имеет значения 1 или 2. Переменная i необходима для передачи номера раунда.

На рисунке 1.45 представлен лог партий Bard-Troll, a на рисунках 1.46 и 1.47 партий Bard-Clockwork Dragon и Bard-Balor (приложение Ж).

Рисунок 1.45 – Лог записи партий Bard-Troll

Рисунок 1.46 – Лог записи партий Bard-Clockwork Dragon

Рисунок 1.47 – Лог записи партий Bard-Balor

Соседние файлы в предмете Моделирование автоматизированных информационных систем