-
Notifications
You must be signed in to change notification settings - Fork 0
/
idea.txt
38 lines (32 loc) · 4.7 KB
/
idea.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Это первая версия программы
Первая версия ассистента будет корректно работать только для игры, в которой у пользователя один противник
Этот недостаток, возможно, будет исправлен в будущем
Ориентировочный план:
1-я часть(?*)) Максимально точно высчитать вероятности выигрыша для каждой из 52 * 51 = 2652 возможных
стартовых карт (самый банальный вариант: для каждой комбинации симитировать все возможные раздачи(около 504 миллиардов)
и выяснить относительную вероятность выигрыша для текущей комбинации из 2-х карт)
2-я часть) создать покерный калькулятор, с API, который принимает некоторое колличество
карт (стартовая рука, или стартовая рука + флоп/терн/ривер), и выдаёт вероятность выигрыша
Принцып работы: если в API передаётся 2 стартовые карты, то просто делается запрос в БД, созданую на первом шагу,
и выдаётся результат. После этого, сразу начинает генерироваться БД, которая до появления флопа частично
будет иметь в себе вероятности выигрыша для некоторых сочетаний введеной руки и флопа
Если в API передаётся 2 стартовые карты + флоп, то калькулятор старается найти соответствующаю запись в
динамической базе данных, создаваемой до этого момента. Если калькулятор успел сгенерировать точную вероятность
для выпавшего влопа, то калькулятор сразу выдаёт эту вероятность, после чего удаляет БД. Если он не успел сгенерировать
нужную запись, то произойдёт одно из двух событий:
- Если это будет не очень долго по времени (< 3 секунд), то вероятность для выпавшего флопа сгенерируется с максимальной точностью
по полному алгоритму
- Если это будет слишком длинное действие, то калькулятор запустит несколько десйтков тысяч случайных игр (столько, сколько
успеет запуститься за указанный пользователем таймаут), и будет возвращена приближённая вероятность
* Какое действие будет делать калькулятор нужно решить, провёв соответствующие тесты
Если в API передаётся 2 стартовые карты + флоп/ривер, то калькулятор точно высчитает вероятности для
указаных данных
3-я часть) создать нейронную сеть с факторами: блеф, игра по математическому ожиданию, скрытая игра.
Блеф тоже будет делиться на много факторов
Игра по математическому ожиданию - неподельный фактор
Скрытая игра будет делиться на несколько факторов, в зависимости от текущего стека
a wonderful future: Если создать все эти шаги, то такой ассистент будет обыгрывать стандартный покерный калькулятор,
каким бы полным он не был. Так как в основе этого ассисента уже будет лежать подобный калькулятор, + он будет
принимать решения когда нужно блефовать, и тд.
* - 1-ю часть теоретически можно пропустить и использовать уже имеющиеся таблицы в инете, но они все неточные,
и лично я им не очень доверяю