Просмотреть всю тему "Считаем БС...." »»
Re: Считаем БС....   ID:45629   ответ на 45612 Пн, 19 августа 2002 00:00 [#]
ЗилОн Форумы Покер.ру
Добрый вечер!
Вы будете смеятся, но для того, чтобы посчитать БС пришлось заново переписать код.
...И сразу разочарование. Контрольный пример: берём против туза.
Значения среднего выигрыша(проигрыша) на стр. 154 книги Лесного совпадают для 20, 19,18
А дальше фигня:
для 11 у меня ~ -22.7
для 10 у меня ~ -22.7 (в пределах погрешности*)
для 9 у меня ~ -34.75
для 9 у меня ~ -41.6

*погрешность может возникнуть из-за того, что вероятности набора дилером с туза я забил из
книжки. То есть {17,18,19 - 13.08 и т.д.)

Я считал так. Предположим, у игрока 20 очков, а у дилера туз. Делаем серию экспериментов -
в одном случае берём, в другом нет. Выясняется, что брать невыгодно. Поэтому, ЕСЛИ на 19
наберём 20, то НЕ БЕРЁМ. Может тут ошибка? Я предполагаю, что это функция непрерывна,
однако уже на 11 следует всплеск Smile))



Мне очень интересен алгоритм, по которому считали Вы. Как Вы программировали игрока, его
действия?

ЗЫ Выкладываю кусочек кода, дабы не быть голословным.

class Igrok {
public:
Igrok();
Igrok(int opr_summa_o4kov); //òèïà óæå ãîòîâûé
// Igrok(int karta1, int karta2); //òèïà óæå ãîòîâûé


int kolvo_kart; ///êîëè÷åñ&ogr ave;âî êàðò Âñïîìîã&agrave ;òåëüíàÿ âåëè÷èí&agrav e;
int summa_o4kov; ///êîëè÷åñ&ogr ave;îâ î÷êîâ
int nabor[16];

//double veroyatnocti[7];
// // 17, 18, 19, 20, 21,BJ, ïåðåáîð
int zest_myag; //bool
int perebor;

void vzyat_karty();
int* cdelat_nabor();
};