Форум программистов, компьютерный форум, киберфорум
Статистика, теория вероятностей
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 29.01.2017
Сообщений: 4
1

Как вычислить вероятность победы одного из игроков?

29.01.2017, 14:55. Показов 3472. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет! Впервые на этом форуме.

Во время разработки игр довольно часто приходится просчитывать вероятность того или иного события, обычно для решения несложных задач мне хватает знаний с первого курса универа, но сейчас с толкнулся с более сложной задачей для меня. Я понемногу изучаю теорию вероятности но дается она не просто, и все более менее сложные задачи решаю методом монте-карло. Буду благодарен если вы поможете мне ПРАВИЛЬНЫМ способом решить одну несложную задачу.

Задача:
Красный игрок (здоровье: 100, урон: от 10 до 15)
Синий игрок (здоровье: 90, урон: от 8 до 20)
Каждый ход игроки одновременно наносят урон друг другу (у урона есть небольшой разброс указанный выше).
Если оба игрока умирают в одном ходе, победитель определяется случайным образом, ничьи не может быть.
Как вычислить вероятность победы одного из игроков?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2017, 14:55
Ответы с готовыми решениями:

Вычислить вероятность победы одного из соперников и ничьи в 2 оставшихся играх
Помогите расчитать... Александр,Андрей,Артём,Арсений устроили между собой турнир по...

Какова вероятность, что хотя бы у одного из игроков соберутся все карты одного достоинства
1) Колода из 36 карт сдается поровну девяти игрокам. Какова вероятность, что хотя бы у одного из...

Какова вероятность победы, если игра ведется до полного разорения одного из участников
У Кондрата есть 1 тугрик, у Семена два. Кондрат выигрывает в одной партии с вероятностью 2/3,...

Какова вероятность того что у одного из игроков будут все 13 карт одной масти?
Между 4 игроками поровну распределили 52 карты (каждому по 13). Какова вероятность того что у...

16
2664 / 2239 / 240
Регистрация: 03.07.2012
Сообщений: 8,141
Записей в блоге: 1
29.01.2017, 17:34 2
Проще всего смоделировать 100тыс (например) игр и получить вероятности.
0
0 / 0 / 0
Регистрация: 29.01.2017
Сообщений: 4
29.01.2017, 17:42  [ТС] 3
Монте-карло конечно простой выход, но интересно как решить эту задачу сложным способом )
0
2664 / 2239 / 240
Регистрация: 03.07.2012
Сообщений: 8,141
Записей в блоге: 1
29.01.2017, 18:20 4
Найдете решение - напишите
0
Эксперт по математике/физике
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
30.01.2017, 15:33 5
Уточняю условия, для которых проводился расчет.
Силы урона (8-20 и 10-15) имеют равномерное распределение.
Если уровень здоровья игроков на одном и том же ходе у обоих становится <=0, то победа присваивается игрокам с вероятностями 1/2 - 1/2.
Результат моделирования приведен в файле.
В результате синий игрок победит с вероятностью 0.52531, проиграет с вероятностью 0.47469
Вложения
Тип файла: xlsx A-B(100-90).xlsx (35.4 Кб, 26 просмотров)
1
0 / 0 / 0
Регистрация: 29.01.2017
Сообщений: 4
30.01.2017, 16:05  [ТС] 6
Спасибо!
Это самый простой способ решить эту задачу, но хочется найти линейное решение.
0
2664 / 2239 / 240
Регистрация: 03.07.2012
Сообщений: 8,141
Записей в блоге: 1
31.01.2017, 06:55 7
Что это за термин - "линейное"?

У меня получилоcь так:
чистая победа красного 88.37%
чистая победа синего 0.92%
одновременно умерли 10.71%

Что интересно - результаты кардинально отличаются от полученных "самым простым способом"
0
137 / 107 / 23
Регистрация: 06.10.2008
Сообщений: 451
31.01.2017, 07:13 8
А каково распределение урона при ударе (равномерное, нормальное, дискретное непрерывное и т.д.)?
0
1957 / 1066 / 162
Регистрация: 06.12.2012
Сообщений: 4,677
31.01.2017, 07:52 9
zer0mail, если оба умерли, то 10,71% нужно между ними поделить поровну.

Добавлено через 1 минуту
mevn, скорее всего равномерно дискретное.
0
Эксперт по математике/физике
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
31.01.2017, 08:00 10
Цитата Сообщение от mevn Посмотреть сообщение
А каково распределение урона при ударе (равномерное, нормальное, дискретное непрерывное и т.д.)?
Равномерное дискретное.

Цитата Сообщение от zer0mail Посмотреть сообщение
чистая победа красного 88.37%
чистая победа синего 0.92%
Несколько странный результат.
Оценим положение мат.ожидания.
Для победы красному в среднем надо 90/((10+15)/2)=90/12.5=7.2 хода
Для победы синему в среднем надо 100/((8+20)/2)=100/14 =7.143 хода
То есть в среднем синий имеет небольшое преимущество.

При классивфикации с ничьей получаю следующий результат
чистая победа красного 26.51%
чистая победа синего 31.57%
одновременно умерли 41.92%
0
2664 / 2239 / 240
Регистрация: 03.07.2012
Сообщений: 8,141
Записей в блоге: 1
31.01.2017, 08:52 11
Цитата Сообщение от Таланов Посмотреть сообщение
zer0mail, если оба умерли, то 10,71% нужно между ними поделить поровну.
Это очевидно, но три числа дают более полную картину. После того, как поделили, обратную операцию сделать невозможно.

Добавлено через 1 минуту
Цитата Сообщение от SSC Посмотреть сообщение
Для победы красному в среднем надо 90/((10+15)/2)=90/12.5=7.2 хода
Вообще-то у красного 100

Добавлено через 1 минуту
Цитата Сообщение от mevn Посмотреть сообщение
каково распределение урона при ударе (равномерное, нормальное, дискретное непрерывное и т.д.)?
Равномерное
0
Эксперт по математике/физике
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
31.01.2017, 09:18 12
Цитата Сообщение от zer0mail Посмотреть сообщение
Вообще-то у красного 100
Вообще я считал что воюют рыцари, а не самураи.
Игрок наносит повреждение противнику, а не делает харакири.
Вот даже цитата
Цитата Сообщение от Виталий С Посмотреть сообщение
Каждый ход игроки одновременно наносят урон друг другу
Цитата Сообщение от zer0mail Посмотреть сообщение
Равномерное
Равномерное может быть непрерывным и дискретным, тут я делал предположение что дискретное, но может быть и непрерывное в условиях это не указано.
0
2664 / 2239 / 240
Регистрация: 03.07.2012
Сообщений: 8,141
Записей в блоге: 1
31.01.2017, 09:34 13
Дискретное, разумеется. ТС неясно написал, как понимать урон: 10-15 наносится красному или синему. Если 10-15 другому, то Ваш расчет правильный.

Добавлено через 3 минуты
Красный 26.51%
Синий 31.57%
Ничья 41.92%

Добавлено через 2 минуты
Да-а-а, сказывается, что я в игры-бои не играю
0
Эксперт по математике/физике
505 / 465 / 100
Регистрация: 30.01.2017
Сообщений: 1,371
31.01.2017, 10:47 14
Можно здесь заметить марковскую цепь - громоздкая, но компьютеру это не страшно. Руками-то, конечно, не посчитаешь.
0
0 / 0 / 0
Регистрация: 29.01.2017
Сообщений: 4
31.01.2017, 11:45  [ТС] 15
Обычно нужно считать по 500 таких сражений с разными характеристиками, что бы контролировать сложность прохождения игры. И раскладывать каждое сражение в Excel по ходам, не получится, нужен другой подход. Конечно есть вариант все делать юнит тестами в коде, но этот подход совсем не гибкий, хочется оставаться в рамках Excel.
0
137 / 107 / 23
Регистрация: 06.10.2008
Сообщений: 451
31.01.2017, 15:53 16
В принципе при большом числе ударов n распределение урона аппроксимируется нормальным распределением с параметрами
<x> = n (a+b)/2
sigma2=n* ((b-a+1)2-1)/12
В этом случае у меня получилось
Красный 21,8%
Синий 33,2%
Ничья 45%
Возможно где-то в расчетах напутал.
1
2664 / 2239 / 240
Регистрация: 03.07.2012
Сообщений: 8,141
Записей в блоге: 1
05.02.2017, 09:01 17
Цитата Сообщение от eropegov Посмотреть сообщение
Да не надо тут ничего моделировать. Здесь очевидная марковская цепь - громоздкая, но компьютеру это не страшно. Руками-то, конечно, не посчитаешь.
Не надо давать советов сделать то, что уже сделано. Марковскую цепь уже рассчитали и привели результаты: SSC - в Excel, я - на C++.
0
05.02.2017, 09:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2017, 09:01
Помогаю со студенческими работами здесь

Найти вероятности событий: все тузы попадут к одному из игроков; двое определенных игроков не получат ни одного туза
52 карты раздаются четырем игрокам (каждому по 13 карт). Найти вероятности следующих событий: C =...

Как просчитать вероятность победы одной из команд, если количество атак каждой команды 10
Сидел я и придумывал задачку на python. Суть следующая. Команда 1 забивает в 3 случаях из 7...

Найти вероятность победы
Х равных игроков играют У матчей. Найдите вероятность того, что победит первый игрок, если...

Вероятность победы шахматиста
Здравствуйте, прошу помощи с задачей. В общем, проводится чемпионат по шахматам, в котором нет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru