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

»  мизер: вопрос знатокам, играю мизер, не знаю чем ходить Подписаться | Сообщить другу | Версия для печати
      » 7/07/2017, 11:55,  Кутруповезет 
extasy ( "3/".$m["июл"]."/2017," 13:19)
Альфа версия алгоритма оценки МО расклада до взятия прикупа готова.

А как планируется использовать этот алгоритм? Что получит широкая преферансная общественность?
      » 7/07/2017, 13:28,  extasy 
Байкер ( "7/".$m["июл"]."/2017," 11:28)
На "главный вопрос" extasy сейчас, если захочет, может ответить за пару дней. Ну, за неделю, если без наполеоновских замашек и напрягов. Правда, продвинутые программисты (алгоритмисты) обычно избалованный народ: рутиной заниматься не любит. )

Верно, задумка была в делегировании полномочий ))

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

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

--------------------
the elephant has you..
      » 7/07/2017, 13:35,  extasy 
Кутруповезет ( "7/".$m["июл"]."/2017," 11:55)
extasy ( "3/".$m["июл"]."/2017," 13:19)
Альфа версия алгоритма оценки МО расклада до взятия прикупа готова.

А как планируется использовать этот алгоритм? Что получит широкая преферансная общественность?

Сначала надо довести решатель до "ума", то есть сделать возможным использование его на любом компьютере. На это потребуется время.

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

--------------------
the elephant has you..
      » 7/07/2017, 14:04,  Байкер 
extasy ( "7/".$m["июл"]."/2017," 13:28)
Смысл в том, что без такого программного инструмента быстрая и правильная оценка любой структуры попросту невозможна.

Возможна. У меня и близко нет "такого программного инструмента", но я берусь если и не выиграть торговлю на мизер у твоей программы, то показать вполне приличные и сопоставимые результаты на достоверной дистанции.
Это трудно организовать практически, да и никому это не нужно, но тем не менее. )
      » 7/07/2017, 14:20,  extasy 
Байкер ( "7/".$m["июл"]."/2017," 14:04)
extasy ( "7/".$m["июл"]."/2017," 13:28)
Смысл в том, что без такого программного инструмента быстрая и правильная оценка любой структуры попросту невозможна.

Возможна. У меня и близко нет "такого программного инструмента", но я берусь если и не выиграть торговлю на мизер у твоей программы, то показать вполне приличные и сопоставимые результаты на достоверной дистанции.
Это трудно организовать практически, да и никому это не нужно, но тем не менее. )

Не оч понимаю смысл фразы "выиграть торговлю на мизер".

Если понимать решатель как полный просчет всех возможных случаев, то получим эталонную цифру. Соответственно, "выиграть" у эталона невозможно. Можно лишь приблизиться с некоторой точностью.

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

По поводу организации оценки мизеров с моей стороны не будет проблем, если я оптимизирую алгоритм. Все таки, сейчас это занимает слишком много времени, чтобы решать с хорошей точностью каскад задач. Но и смысла не много. Когда выложу решатель в свободный доступ ты можешь и сам сравнить точность инструментов, а результаты опубликовать в конфе.

--------------------
the elephant has you..
      » 7/07/2017, 14:54,  Pochemuk 
extasy ( "7/".$m["июл"]."/2017," 00:49)
Задам задачку на склейку эквивалентных сносов. Пока нерешенную.

Суть в том, что у нас 231 прикуп, в каждом прикупе 66 сносов.
Некоторые сносы мы отфильтруем.
Останется приличное число, например, для задачи по мизеру из этой темы их было 8169 штук.
Среди них будут эквивалентные, т.е. сносы с одинаковым МО.
Под "сносом" нужно понимать 10 карт на руке игрока + 2 карты непосредственно в сносе.
Задача закодировать эти 12 карт в двумерный вектор 4*8 - т.е. 4 строки и 8 столбцов.
Номер строки представляет масть, номер столбца - номинал карты.
Кодировать будем тремя числами:
0 - карты нет ни на руке игрока, ни в сносе.
1 - карта на руке игрока,
2 - карта в сносе.
Эквивалентным 12 картам должен соответствовать один кодированный вектор.
Достаточно уметь кодировать только 1 масть, то есть из 12 карт выбираем масть и кодируем ее в одномерной вектор длины 8.

Например, пусть у игрока в пиках 7J и в сносе 1 : 7J-1
Очевидно, что
7J-1 ~ 71-A
7J-Q ~ 71-A
7J-K ~ 71-A
7J-A ~ 71-A
71-J ~ 71-A

Николай! Я только с третьего раза понял, что ты хотел своими диаграммами написать!

Я бы записал то же самое так:

{7 (10) В} ~ {7 10 (Т)}
{7 (10) Д} ~ {7 10 (Т)}
{7 (10) К} ~ {7 10 (Т)}
{7 (10) Т} ~ {7 10 (Т)}
{7 10 (В)} ~ {7 10 (Т)}

А в чем сложность? Всё как прежде - 2 бита на карту:

00 - у соперников;
01 - в руке;
10 - в сносе.

Или как-то так. Получим 16-битную переменную на масть. Всего 4 таких переменных. Для совместимости с другими расчетами вписать в существующую структуру из 5 переменных.
      » 7/07/2017, 15:02,  extasy 
Pochemuk ( "7/".$m["июл"]."/2017," 14:54)

Николай! Я только с третьего раза понял, что ты хотел своими диаграммами написать!

Я бы записал то же самое так:

{7 (10) В} ~ {7 10 (Т)}
{7 (10) Д} ~ {7 10 (Т)}
{7 (10) К} ~ {7 10 (Т)}
{7 (10) Т} ~ {7 10 (Т)}
{7 10 (В)} ~ {7 10 (Т)}

А в чем сложность? Всё как прежде - 2 бита на карту:

00 - у соперников;
01 - в руке;
10 - в сносе.

Или как-то так. Получим 16-битную переменную на масть. Всего 4 таких переменных. Для совместимости с другими расчетами вписать в существующую структуру из 5 переменных.

Диаграмма должна быть такой :
7J-1 ~ 71-A
71-Q ~ 71-A
71-K ~ 71-A
71-A ~ 71-A
71-J ~ 71-A
Если у тебя в скобках снос, то неверно.
Нельзя инвертировать {7 (10) Т} ~ {7 10 (Т)}

Я, наверное, не так выразился - сложно не диаграмму закодировать, а алгоритм склейки для любых комбинаций создать.
00, 10, 01 пока не надо, понятно, что закодированный двумерный вектор потом надо двоичным кодом кодировать в четыре 16-битных int. Но это самое простое.

Вот у нас есть вектор масти из 8 карт с кодировкой
0 - карты нет ни на руке игрока, ни в сносе.
1 - карта на руке игрока,
2 - карта в сносе.

Например, возьмем ситуацию 8JQ-71(8JQ - на руке игрока, 71 - в сносе):

7..8..9..1..J..Q..K..A
2..1..0..2..1..1..0..0

Например, мы можем написать цепочку эквивалентных преобразований:

7..8..9..1..J..Q..K..A
2..1..0..2..1..1..0..0

--->

7..8..9..1..J..Q..K..A
1..2..0..2..1..1..0..0

--->

7..8..9..1..J..Q..K..A
1..0..2..2..1..1..0..0

--->

7..8..9..1..J..Q..K..A
1..0..2..1..1..2..0..0

--->

7..8..9..1..J..Q..K..A
1..0..1..1..2..2..0..0

--->

7..8..9..1..J..Q..K..A
1..0..1..1..2..0..0..2

--->

7..8..9..1..J..Q..K..A
1..0..1..1..0..0..2..2

Получим, 791-KA что эквивалентно 8JQ-71

Принцип, задействованный в условных преобразованиях - карты игрока преобразуем к младшему номиналу, карты прикупа - к старшему.

Вот хотелось бы оформить эту идею в качестве алгоритма..

Это сообщение отредактировал extasy - 7/07/2017, 15:39

--------------------
the elephant has you..
      » 7/07/2017, 15:38,  Байкер 
extasy ( "7/".$m["июл"]."/2017," 14:20)
Байкер ( "7/".$m["июл"]."/2017," 14:04)
extasy ( "7/".$m["июл"]."/2017," 13:28)
Смысл в том, что без такого программного инструмента быстрая и правильная оценка любой структуры попросту невозможна.

Возможна. У меня и близко нет "такого программного инструмента", но я берусь если и не выиграть торговлю на мизер у твоей программы, то показать вполне приличные и сопоставимые результаты на достоверной дистанции.

Не оч понимаю смысл фразы "выиграть торговлю на мизер".

Ну, я то имел в виду всего-лишь сопоставление решений на одном множестве раздач, содержащих "мизероподобные" руки. Берется минимум 200 таких раздач, которые по одной предъявляются для решения, наши "инструменты" говорят ответ, одинаковые ответы исключаются, а разные обсчитываются по согласованной процедуре в вистах.
Проблем тут минимум три:
- не так просто отобрать хотя бы 200 раздач, не выплеснув с водой ребенка (я это могу сделать, но тогда я буду знать ответ);
- проблемы с процедурой получения ответа в сложных случаях (снос, ход, угадайки);
- время на все эти дела.

Да и о пустом мы говорим. Я же не утверждаю, что мой алгоритм точно выиграет у твоего. Я утверждаю, что если он проиграет, то очень немного. Потому что он не с потолка взят.
И по времени, как я понимаю, мой в полном порядке, ибо "работает" в реальном времени: в подавляющем большинстве случаев на ответ требуется менее 30 секунд, редко минуту, и совсем исключение - больше минуты на "обдумывание".
      » 7/07/2017, 16:31,  Pochemuk 
extasy ( "7/".$m["июл"]."/2017," 15:02)
Если у тебя в скобках снос, то неверно.
Нельзя инвертировать {7 (10) Т} ~ {7 10 (Т)}

Ну да ... это я погорячился smile.gif

Говорю же, с этой работой думать стало некогда biggrin.gif

Надо писать так:

{7 (10) В} ~ {7 10 (Т)}
{7 (10) Д} ~ {7 В (Т)}
{7 (10) К} ~ {7 Д (Т)}
{7 (10) Т} ~ {7 К (Т)}
{7 10 (В)} ~ {7 10 (Т)}


Это сообщение отредактировал Pochemuk - 7/07/2017, 16:34
      » 7/07/2017, 17:07,  extasy 
Pochemuk ( "7/".$m["июл"]."/2017," 16:31)

Надо писать так:

{7 (10) В} ~ {7 10 (Т)}
{7 (10) Д} ~ {7 В (Т)}
{7 (10) К} ~ {7 Д (Т)}
{7 (10) Т} ~ {7 К (Т)}
{7 10 (В)} ~ {7 10 (Т)}


Да, абсолютно верно!

Это сообщение отредактировал extasy - 7/07/2017, 17:12

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