https://forum.gipsyteam.ru/index.php?viewtopic=142685&st=60#entry5978018задачка уже обсуждалась, но вот мои соображения.
Имея незаконченную руку, мы можем (с помощью дерева) посчитать все возможные завершения.
Предположим, у нас осталось 2 подьёма и существует 1 завершение. Для этого одного завершения подойдут 4 годные(нужные) и 2 ненужные карты. Вероятность достать их за 2 подьёма считается.
После очередного подьёма вероятность достичь завершения может как увеличиться, так и уменьшиться(в зависимости от кол-ва годных карт, которые мы вытащили в текущем подьёме).
Если мы не вытащили ни одной годной карты, то вероятность вытащить их за оставшиеся подьёмы равна нулю и мы смело пишем -6(или 0) в графу "итоги".
Теперь увеличим кол-во возможных завершений. На Nом подьёме у нас возникнет дилемма: пришло 2 годных карты, можно пойти к 2 разным завершениям(либо использовать обе для кого-то одного). Выбор сведётся к очкам за то или иное завершение и вероятности его достичь.
Вероятность у нас строго зависит от кол-ва годных карт, оставшихся в колоде, её каждый раз считать не надо. Находить все возможные завершения тоже не надо, они найдены уже в начале.
Если какая-та годная для завершения карта пошла в сброс на Nом подьёме, то это завершение либо полностью удаляется из списка(вероятность =0), либо для неё уменьшается вероятность(годных карт стало меньше).
Нововведение, которое я планирую использовать, это то, что если не пришла ни одна годная карта для списка завершений, то придётся "уничтожить" завершения, которые на текущий момент приносят меньше всего очков.
Вот такой план. Критика приветствуется )