Здравствуйте, гость Правила · Помощь

»  мизер: вопрос знатокам, играю мизер, не знаю чем ходить Подписаться | Сообщить другу | Версия для печати
      » 8/07/2017, 22:33,  Pochemuk 
extasy ( "8/".$m["июл"]."/2017," 22:20)
Я понимаю, но твою идею я пока не полностью осознал и не знаю, будет ли она универсально работать без сбоев на всех без исключения случаях.

- Доверься силе, Люк! ©

Посмотри, эта идея основана на интуитивно понятных правилах:

1. Не делается снос, способный сделать из чистой масти дырявую.
2. Не делается снос, способный увеличить число взяток в уже дырявой масти.
3. Не делается снос из чистой масти, при наличие лучших вариантов - ликвидировать дыру или уменьшить ее опасность (хитрые сносы пока не в счет).

И т.д.

Т.е. игрок интуитивно может понять, стала ли масть после сноса "хуже" или "лучше". И ни в коем случае не делает себе "хуже". А если можно сделать "лучше", то не делает нейтральных сносов.

Но, повторю, хитрые сносы пока не рассматриваем.

Это сообщение отредактировал Pochemuk - 8/07/2017, 22:33
      » 8/07/2017, 23:32,  extasy 
Кутруповезет ( "8/".$m["июл"]."/2017," 21:45)
Pochemuk ( "8/".$m["июл"]."/2017," 20:01)

Так опасался паровоза на черву, что считал самым лучшим сносом Дd.gif и фоску червей. Был не прав sad.gif

Если сносится одна из черв, то со своим ходом в оставшуюся черву нет никакого смысла оставлять трефового туза.
Интересно, как выглядят МО для этих двух сносов с чужим ходом.
dAh8 0,92028
dQh8 1,09226

ForcedCard : -
Result : 1.08227
0 tricks : 7.61058%
1 tricks : 72.1362%
2 tricks : 17.0869%
3 tricks : 3.13765%
4 tricks : 0.0286865%
5 tricks : 0%
6 tricks : 0%
7 tricks : 0%
8 tricks : 0%
9 tricks : 0%
10 tricks : 0%


1.
2. sJ97 cAJ97 dQ7 h9
3.
4. dAh8

Count 184756
GameType FIXED_VARIANT
SelectionMode FULL_SELECTION
MizerMode MIZER_ON
Variant 1
Talon 0
Trump NO_TRUMP
Player SECOND_HAND
TableSize 1805003811
TableRecords 10537383
NodeCount 230058985
Time 60.861 sec
----------------------------
ForcedCard : -
Result : 1.21757
0 tricks : 0.0194852%
1 tricks : 79.3977%
2 tricks : 19.3693%
3 tricks : 1.21349%
4 tricks : 0%
5 tricks : 0%
6 tricks : 0%
7 tricks : 0%
8 tricks : 0%
9 tricks : 0%
10 tricks : 0%

1.
2. sJ97 cAJ97 dA7 h9
3.
4. dQh8

Count 184756
GameType FIXED_VARIANT
SelectionMode FULL_SELECTION
MizerMode MIZER_ON
Variant 1
Talon 0
Trump NO_TRUMP
Player SECOND_HAND
TableSize 1805003811
TableRecords 7681617
NodeCount 153417683
Time 40.653 sec

--------------------
the elephant has you..
      » 9/07/2017, 09:31,  Кутруповезет 
extasy ( "8/".$m["июл"]."/2017," 23:32)

Сначала подумал, что это нелогично, что и с чужим ходом не надо оставлять туза бубей, а потом сообразил, что тут есть второй перехват в трефе - видимо, дело в этом.
      » 9/07/2017, 15:38,  extasy 
Pochemuk ( "8/".$m["июл"]."/2017," 22:33)
extasy ( "8/".$m["июл"]."/2017," 22:20)
Я понимаю, но твою идею я пока не полностью осознал и не знаю, будет ли она универсально работать без сбоев на всех без исключения случаях.

- Доверься силе, Люк! ©

Посмотри, эта идея основана на интуитивно понятных правилах:

1. Не делается снос, способный сделать из чистой масти дырявую.
2. Не делается снос, способный увеличить число взяток в уже дырявой масти.
3. Не делается снос из чистой масти, при наличие лучших вариантов - ликвидировать дыру или уменьшить ее опасность (хитрые сносы пока не в счет).

И т.д.

Т.е. игрок интуитивно может понять, стала ли масть после сноса "хуже" или "лучше". И ни в коем случае не делает себе "хуже". А если можно сделать "лучше", то не делает нейтральных сносов.

Но, повторю, хитрые сносы пока не рассматриваем.

Андрей, если проработаешь эту идею, создашь таблицу с весами и будет очевидно, что алгоритм универсально работает во всех случаях без потери решения, то я заменю систему фильтрации на этот алгоритм.

--------------------
the elephant has you..
      » 9/07/2017, 19:27,  Pochemuk 
extasy ( "9/".$m["июл"]."/2017," 15:38)
Андрей, если проработаешь эту идею, создашь таблицу с весами и будет очевидно, что алгоритм универсально работает во всех случаях без потери решения, то я заменю систему фильтрации на этот алгоритм.

Во! Я понял основную идею! Вернее, как ее сформулировать.

Сносы бывают доминирующими и мажорируемыми.

Мажорируемые сносы это такие, которые не улучшают ни одной масти (а некоторые другие масти даже ухудшают, добавляя или усиливая дырки в них) по сравнению с некоторыми другими сносами (доминирующими над ними).

Исключая все мажорируемые сносы (т.е. те, для которых есть однозначно лучшие сносы), мы получаем тот набор, который еще имеет смысл рассматривать. И лучший снос находится среди них, потому что все исключенные сносы заведомо хуже.

Что касается весов, то даже простейшая схема 0-1-2-3 (по максимальному количеству взяток в масти, 3 так же для паровозных мастей) дает вполне приемлемый отсев - несколько лучший, чем твой метод исключения семерок-восьмерок.

Улучшение весовой схемы позволит, во-первых, лучше различать дырки и не делать из слабых дырок сильные, а во-вторых, позволит отсекать сносы, приводящие к слабому улучшению руки (или совсем не улучшающие ее), при наличии гораздо более улучшающих вариантов сноса.
      » 13/07/2017, 23:02,  extasy 
Есть обобщение идеи.

Используя решатель, можно рассчитать МО всевозможных дыр в масти в зависимости от структуры руки и номера руки. И это значение использовать в качестве веса.
Создать мегатаблицу дыр по типу таблиц Морозко, только без вероятностей ловли, а с весами (МО) и охватывающую все возможные комбинации в масти на каждой из трех позиций руки.
Далее, делается утверждение, что вес руки меньше, либо равен сумме весов в каждой масти.

Таким образом, мы оценим верхнюю границу МО мизерной руки, то есть получим инструмент первого приближения, работающий мгновенно.

Во-первых, это позволит правильно оценивать сносы и сократить их до минимально возможного числа, отсекая ВСЕ нелогичные сносы. Важно, что веса не нужно интуитивно подбирать. Веса будут рассчитываться решателем.

Во-вторых, верхнюю границу МО можно использовать в альфа-бета переборе, что даст отсев слабых ходов и сокращение количества узлов.

В-третьих, такую оценку можно использовать для просеивания потенциальных заявок мизера.

Очень вероятно, что это будет чрезвычайно мощной оптимизацией.
Задача очень непростая и требующая высокой квалификации и детальной проработки. Я пока не буду ей заниматься.
Сейчас цель зарелизить текущую версию решателя, а оптимизация модулей это процесс бесконечный.

На данный момент программа готова, осталось прикрутить интерфейс в виде диалогового окна. Это займет какое-то время, так как с графическими интерфейсами дело не имел.

Это сообщение отредактировал extasy - 13/07/2017, 23:18

--------------------
the elephant has you..
      » 14/07/2017, 00:50,  Pochemuk 
Это, действительно, мегазадача ...

И я не знаю:

1. Решаема ли она в принципе.
2. Решаема ли она достаточно просто и быстро. Может быть эффективнее будет полный перебор без предварительного составления всяких таблиц.
3. Решаема ли она достаточно точно, чтобы оценивать сносы без риска отсечь чего-то там лишнего ...

Т.е. ты предлагаешь оценивать каждый снос количественно по оценке получаемой после него руки. И сравнивать эти сносы между собой.

Я же предлагаю не сравнивать сносы, а оценивать каждый снос достаточно грубо. Только его знак: положительный это снос или отрицательный. Ну еще слабоположительные отсеивать при наличии сильноположительных.

И критерий простой:

Если снос ухудшает хоть одну масть, то он ухудшает всю руку целиком.

Этого уже достаточно, чтобы отсечь достаточное количество неэффективных сносов.
      » 14/07/2017, 01:19,  extasy 
Pochemuk ("14/".$m["июл"]."/2017," 00:50)
3. Решаема ли она достаточно точно, чтобы оценивать сносы без риска отсечь чего-то там лишнего ...

Важный вопрос.

Дело в том, что рассчитать МО дыры без информации о структуре в других мастях непросто. Например, на количество взяток может повлиять наличие или отсутствие перехвата. И спрашивается, а какую структуру побочных мастей брать для расчета среднего?
В любом случае, задача о создании быстрых инструментов первого приближения для отсева неподходящих раскладов очень важна.
Если ее решить с достаточной точностью, то это избавит от необходимости копать многие другие механизмы оптимизаций, являющиеся "мажорируемыми" относительно инструментов первого приближения.

Если у кого есть идеи по поводу создания системы быстрой оценки, то просьба поделиться.
Причем, как в задаче минимизации, так и в задаче максимизации(что еще более важно) числа взяток.

Это сообщение отредактировал extasy - 14/07/2017, 01:29

--------------------
the elephant has you..
      » 14/07/2017, 02:37,  Байкер 
extasy ("13/".$m["июл"]."/2017," 23:02)
... можно рассчитать МО всевозможных дыр в масти в зависимости от структуры руки и номера руки. И это значение использовать в качестве веса.
Создать мегатаблицу дыр по типу таблиц Морозко, только без вероятностей ловли, а с весами (МО) и охватывающую все возможные комбинации в масти на каждой из трех позиций руки.
Далее, делается утверждение, что вес руки меньше, либо равен сумме весов в каждой масти.

Таким образом, мы оценим верхнюю границу МО мизерной руки, то есть получим инструмент первого приближения, работающий мгновенно.

Во-первых, это позволит правильно оценивать сносы и сократить их до минимально возможного числа, отсекая ВСЕ нелогичные сносы. Важно, что веса не нужно интуитивно подбирать. Веса будут рассчитываться решателем.

Во-вторых, верхнюю границу МО можно использовать в альфа-бета переборе, что даст отсев слабых ходов и сокращение количества узлов.

В-третьих, такую оценку можно использовать для просеивания потенциальных заявок мизера.

Очень вероятно, что это будет чрезвычайно мощной оптимизацией.
Задача очень непростая и требующая высокой квалификации и детальной проработки.

Вообще-то это описание алгоритма, которым пользуюсь я. Другое дело, что у меня многое упрощено и там осталось много резервов для дальнейшего совершенствования. Но тем не менее...
Интересно еще то, что я несколько раз всё это рассказывал. Но к некоторому моему удивлению меня никто не слушал. Ну, теперь хоть один сам до этого дошел. )

"структура в других мастях" важна, и мной частично учитывается в виде поправок. Точнее, важнее, что можно купить для минимизации исходного ущерба, а структура - следствие их этого аспекта. Но это тоже будет понято, когда кто-то начнет этим заниматься.
Кстати, сам я сейчас занимаюсь уточнением именно алгоритма заявки "Мизер", ибо стала очевидной важность еще одной вещи, которая даже важнее "структуры в других мастях".

Да, еще "веса (МО)" я называл ущербом от дырок. Например, когда я в связи с публикацией Морозко таблиц с вероятностями отлова мизерных дырок говорил, что этого (вероятностей) в общем случае недостаточно. Помню, сначала не понимали, говорили "Что еще за ущерб, что за фигня", потом сказали, что это очевидно. Вижу, что сейчас это действительно стало очевидно. ))
      » 14/07/2017, 11:49,  extasy 
Байкер ("14/".$m["июл"]."/2017," 02:37)
Вообще-то это описание алгоритма, которым пользуюсь я. Другое дело, что у меня многое упрощено и там осталось много резервов для дальнейшего совершенствования. Но тем не менее...
Интересно еще то, что я несколько раз всё это рассказывал. Но к некоторому моему удивлению меня никто не слушал. Ну, теперь хоть один сам до этого дошел. )

"структура в других мастях" важна, и мной частично учитывается в виде поправок. Точнее, важнее, что можно купить для минимизации исходного ущерба, а структура - следствие их этого аспекта. Но это тоже будет понято, когда кто-то начнет этим заниматься.
Кстати, сам я сейчас занимаюсь уточнением именно алгоритма заявки "Мизер", ибо стала очевидной важность еще одной вещи, которая даже важнее "структуры в других мастях".

Да, еще "веса (МО)" я называл ущербом от дырок. Например, когда я в связи с публикацией Морозко таблиц с вероятностями отлова мизерных дырок говорил, что этого (вероятностей) в общем случае недостаточно. Помню, сначала не понимали, говорили "Что еще за ущерб, что за фигня", потом сказали, что это очевидно. Вижу, что сейчас это действительно стало очевидно. ))

Насколько я понимаю, твой алгоритм основан на некоторых статистических данных, полученных в реальной игре.
Реальная игра вносит искажения за счет неоптимальности участников.
А моя идея набрать статистику на основе розыгрышей между оптимальными участниками.
Такой инструмент не должен(и не может) быть точным. Но должен давать приемлемую погрешность, чтобы его можно было использовать в точном расчете, желательно, без потерь решения. Или с минимальными потерями, которые на задаче перебора прикупов будут нивелироваться или размываться и минимально влиять на общий результат.
Суть в скорости работы.


--------------------
the elephant has you..
« Предыдущая тема | Перечень тем | Следующая тема »
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей: