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

»  Теория. Алгоритм распасовки. Подписаться | Сообщить другу | Версия для печати
      » 14/03/2013, 13:12,  isabsent 
Клейн ("14/".$m["мар"]."/2013," 08:30)
Тогда ДА, прога ошиблась, сходив в 7 буб вместо 8h.gif
См. выше выкладки.

Вообще мне странно, что даже в примере с 9 треф и 7 черв прога выбрала два раза из десяти 7h.gif .
http://www.gambler.ru/forum/index.php?show...dpost&p=1407586

Вообще ни разу не должна выбрать, так как математика говорит, что расклад 5-3-0 (трефа) будет реже, чем 4-2-1 черва (одна черва в выкруте прикупа).
Значит, шанс дать совершть снос кому-то выше при выходе в 7 черв - потому в неё ходить и не надо.

Аналогичная логика и в ныне обсуждаемой сдаче.
Не надо ходить в 7 буб при наличии 8 черв.

Алгоритм, делая ход за текущего игрока, принимает во внимание возможность проноса кем-то другим ТОЛЬКО ЕСЛИ ЭТОТ ПРОНОС ИЗМЕНИТ КОЛИЧЕСТВО ВЗЯТОК У ТЕКУЩЕГО ИГРОКА. Если алгоритм видит. что текущему игроку все равно и его ход и последующий пронос одного из оппов только перераспределит взятки между оппами, то он выберет случайно из двух одинаковых по среднему значению ходов.

Может это и есть та причина, по которой Вы считаете, что ход ошибочный? Результат проноса одного из оппов просто безразличен ходящему? А Вы, играя за ходящего, на всякий случай всегда страхуетесь, исключая ход приводящий к проносу одним из оппов, чтобы не испортить ненароком результат себе?
      » 14/03/2013, 13:53,  Клейн 
isabsent ("14/".$m["мар"]."/2013," 10:04)

Я пересчитал средние для случая, если бы алгоритм знал, у кого креста и трефа.

ход с 9h.gif СНОВА более предпочтителен. Даже ЕЩЕ БОЛЕЕ.
Вы что-то не понимаете.
Перечитайте опять то, что написано тут http://www.gambler.ru/forum/index.php?show...dpost&p=1407649
и можно на один пост выше.


isabsent ("14/".$m["мар"]."/2013," 13:12)
Алгоритм, делая ход за текущего игрока, принимает во внимание возможность проноса кем-то другим ТОЛЬКО ЕСЛИ ЭТОТ ПРОНОС ИЗМЕНИТ КОЛИЧЕСТВО ВЗЯТОК У ТЕКУЩЕГО ИГРОКА. Если алгоритм видит. что текущему игроку все равно и его ход и последующий пронос одного из оппов только перераспределит взятки между оппами, то он выберет случайно из двух одинаковых по среднему значению ходов.

Вы и тут не понимаете. smile.gif
Раз 5 я уже писал вам, что НЕ всё равно, так как некто может выйти ЧИСТЫМ на пасах, раскудрить его через коромысло.
Если алгоритм не понимает этого, то его надо менять или лучше сразу в мусорную корзину.
Вы вот рассуждаете о чём-то, а, похоже, даже правил не прочли.
И мало того, не прочли их когда-то там, так ещё и не читаете то, что вам пишут тут.

Так нх тогда мне что-то вам писать в форуме?

Чистый игрок - игрок не взявший на пасах взяток, СПИШЕТ с горы цифру равную величине двух взяток текущего распаса.
А это значит, что поспособствовав возникновению чистого оппонента за столом, сам Игрок получит как бы ДВЕ лишних взятки.

А теперь рассмотрите два рисунка ниже (я вам даже два их сделал, чтобы понятнее было) и скажите: изменится ли количество взяток у Юга, если он сдуру, как полный идиот, выйдет в 7d.gif , а не в 8 черв.
Север
s K 7
h -
d -
c -
Запад
s A 10
h K J 10
d J 8
c K 10 7
Восток
s 9
h A Q 9 7
d A 9
c J 9 8
Юг
s Q J 8
h 8
d K Q 10 7
c A Q



Это полный расклад.
















Север
s K 7
h -
d -
c -
Запад
s -
h K J 10
d 8
c 7
Восток
s -
h A Q 9 7
d -
c 8
Юг
s J
h 8
d Q 10 7
c -


Это момент истины - момент выбора куда же пойти Югу: в 7d.gif или 8h.gif ?

При выходе в 7d.gif , Восток снесёт трефу и будет чист, что даст по факту ДВЕ лищних взятки Югу.
При выходе в 8h.gif , Восток возьмёт от 2 и выше взяток - смотря, как играть будет.















P.S. Лучше уж вам пока что (на вашем уровне понимания игры) общаться с Морозко.
Удачи в создании алгоритмаsmile.gif

P.P.S. Ещё раз вам предлагаю, займитесь БРИДЖЕМ. Создание алгоритма для него гораздо более простая задача.

Это сообщение отредактировал Клейн - 14/03/2013, 14:00
      » 14/03/2013, 14:05,  isabsent 
Клейн ("14/".$m["мар"]."/2013," 13:53)
Раз 5 я уже писал вам, что НЕ всё равно, так как некто может выйти ЧИСТЫМ на пасах, раскудрить его через коромысло.
Если алгоритм не понимает этого, то его надо менять или лучше сразу в мусорную корзину.
Вы вот рассуждаете о чём-то, а, похоже, даже правил не прочли.
И мало того, не прочли их когда-то там, так ещё и не читаете то, что вам пишут тут.

Так нх тогда мне что-то вам писать в форуме?

Чистый игрок - игрок не взявший на пасах взяток, СПИШЕТ с горы цифру равную величине двух взяток текущего распаса.
А это значит, что поспособствовав возникновению чистого оппонента за столом, сам Игрок получит как бы ДВЕ лишних взятки.

Да не надо так близко к сердцу все принимать. Я нигде не утверждал что алгоритм минимизирует ВИСТЫ В ПУЛЕ. Пока он только минимизирует взятки того играющего, за которого ходит. ЭТО ЕЩЕ НЕ САМА ИГРА - ЭТО ТОЛЬКО ПОПЫТКА НАПИСАТЬ АЛГОРИТМ РАСПАСОВ. Пока стоит задача сделать так, чтобы он не ошибался в минимизации взяток. Потом я научу его и висты минимизировать. Если всё сразу в мусорную корзину кидать, то так никаких алгоритмов не напишешь biggrin.gif

Клейн ("14/".$m["мар"]."/2013," 13:53)
P.S. Лучше уж вам пока что (на вашем уровне понимания игры) общаться с Морозко.
Я и с Morozko пообщаюсь - если он не против будет. Мне нужны ответы, основанные на игровой практике людей, которые играют существенно лучше меня.

Клейн ("14/".$m["мар"]."/2013," 13:53)
1) Удачи в создании алгоритма

2) P.P.S. Ещё раз вам предлагаю, займитесь БРИДЖЕМ. Создание алгоритма для него гораздо более простая задача.

1) Спасибо!
2) Мы не ищем лёгких путей!
P.S. Вы знаете хорошую программу для игры в Бридж? Хочется посмотреть что уже сделано...

Это сообщение отредактировал isabsent - 14/03/2013, 14:18
      » 14/03/2013, 14:59,  isabsent 
smile.gif

Это сообщение отредактировал isabsent - 14/03/2013, 15:10
      » 14/03/2013, 16:14,  Клейн 

()
Общие замечания для улучшения взаимопонимания: обсуждаемый здесь алгоритм распасов
- ПОКА ЕЩЕ минимизирует взятки ходящего, а не его висты
Но тогда все мои комменты вам вряд ли нужны.
Пытаясь аргументировать хорош ход для игрока, или плох, исходил из предполагаемого вистового результата.
Вы же оперируете словами "плох" и "хорош" в неком ином смысле, который мне непонятен и в данном контексте для меня неприемлем.
Вышло, мы разговаривали в разных измерениях.
      » 14/03/2013, 16:31,  isabsent 
Клейн ("14/".$m["мар"]."/2013," 16:14)
()
Общие замечания для улучшения взаимопонимания: обсуждаемый здесь алгоритм распасов
- ПОКА ЕЩЕ минимизирует взятки ходящего, а не его висты
Но тогда все мои комменты вам вряд ли нужны.
Пытаясь аргументировать хорош ход для игрока, или плох, исходил из предполагаемого вистового результата.
Вы же оперируете словами "плох" и "хорош" в неком ином смысле, который мне непонятен и в данном контексте для меня неприемлем.
Вышло, мы разговаривали в разных измерениях.

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

Это сообщение отредактировал isabsent - 14/03/2013, 16:31
      » 14/03/2013, 19:31,  isabsent 
Клейн ("14/".$m["мар"]."/2013," 13:53)
Север
s K 7
h -
d -
c -
Запад
s -
h K J 10
d 8
c 7
Восток
s -
h A Q 9 7
d -
c 8
Юг
s J
h 8
d Q 10 7
c -


Это момент истины - момент выбора куда же пойти Югу: в 7d.gif  или 8h.gif  ?

При выходе в 7d.gif , Восток снесёт трефу и будет чист, что даст по факту ДВЕ лищних взятки Югу.
При выходе в 8h.gif , Восток возьмёт от 2 и выше взяток - смотря, как играть будет.

Север
s K 7
h -
d -
c -
Запад
s -
h A K Q J
d -
c 8
Восток
s -
h 10 9 7
d 8
c 7
Юг
s J
h 8
d Q 10 7
c -

Насколько я понял, Вы немного изменили исходный расклад Morozko, чтобы продемонстрировать неприемлемость хода 7d.gif с точки зрения ухода одного из оппов без взяток. Я тоже попробовал его изменить немного, чтобы показать, что ход 8h.gif может быть неприемлемым в том же самом смысле и только ход в 7d.gif не даст Востоку остаться чистым.

При выходе в 8h.gif, Восток подложит h.gif и будет чист, что даст по факту ДВЕ лищних взятки Югу.
При выходе в 7d.gif, Восток возьмёт одну взятку.

Возможно Вы сможете обосновать с точки зрения логики ОПЫТНОГО игрока, что такой расклад к 6-ой взятке в принципе не реален, но алгоритм его точно не отбрасывает и учитывает наравне с Вашим, что идеологически скорее всего правильно.

P.S. "... алгоритм его точно не отбрасывает" если конечно этот расклад не возник как результат поддавков (это уточнение справедливо и для предложенного Вами варианта расклада).

Это сообщение отредактировал isabsent - 14/03/2013, 20:26
      » 14/03/2013, 20:25,  Клейн 
isabsent ("14/".$m["мар"]."/2013," 19:31)

Север
s K 7
h -
d -
c -
Запад
s -
h A K Q J
d -
c 8
Восток
s -
h 10 9 7
d 8
c J 9 7
Юг
s J
h 8
d Q 10 7
c -


Возможно Вы сможете обосновать с точки зрения логики ОПЫТНОГО игрока, что такой расклад к 6-ой взятке в принципе не реален, но алгоритм его точно не отбрасывает и учитывает наравне с Вашим, что идеологически скорее всего правильно.

Север
s K 7
h -
d -
c -
Запад
s A 10
h A K Q J
d J
c K 10 8
Восток
s 9
h 10 9 7
d A 9 8
c 7
Юг
s Q J 10
h 8
d K Q 10 7
c A Q
Чтобы случилась ваша версия концовки сдачи, надо чтобы полный расклад был вот таким.
Слишком маловероятно подобное, так как Запад с такой рукой вряд ли скажет "пас".

Понимаю, ваш алгоритм учитывает этот расклад.
Но при чём тут я, верность какого-либо хода и тестирование алгоритма на этом форуме?
Вам будут очень часто говорить, что машинка выдаёт абсурдные хода, а вы не будете понимать почему это так.
Повторюсь, мы говорим не в разных плоскостях, а именно в разных измерениях.
Вы рассматриваете проблему в плоскости (разрезе), а я вам предлагаю увидеть её в объёме и утверждаю, походя, что в плоскости её решать нельзя, но находясь в двумерном пространстве и прилипнув к этому пространству, озаботившись достижением успеха в нём, вы не можете понять о чём я (ничего уничижительного для вас не предполагаю таким сравнением).
А я о том, что, на мой взгляд, ваша проблема не решаема без объёмного взгляда на сдачу и ход, а ещё лучше партию целиком (но это уже другой уровень - со всеми турнирными заморочками, к примеру).
Нет, вы сможете создать нечто, что будет брать как бы мало взяток с вашей точки зрения и при ваших условиях оценки, но это не будет востребовано преф-игроками.
      » 14/03/2013, 20:39,  isabsent 
Клейн ("14/".$m["мар"]."/2013," 20:25)
Понимаю, ваш алгоритм учитывает этот расклад.
Но при чём тут я, верность какого-либо хода и тестирование алгоритма на этом форуме?
Вам будут очень часто говорить, что машинка выдаёт абсурдные хода, а вы не будете понимать почему это так.
Повторюсь, мы говорим  не в разных плоскостях, а именно в разных измерениях.
Вы рассматриваете проблему в плоскости (разрезе), а я вам предлагаю увидеть её в объёме и утверждаю, походя, что в плоскости её решать нельзя, но находясь в двумерном пространстве и прилипнув к этому пространству, озаботившись достижением успеха в нём, вы не можете понять о чём я (ничего уничижительного для вас не предполагаю таким сравнением).
А я о том, что, на мой взгляд, ваша проблема не решаема без объёмного взгляда на сдачу и ход, а ещё лучше партию целиком (но это уже другой уровень - со всеми турнирными заморочками, к примеру).
Нет, вы сможете создать нечто, что будет брать как бы мало взяток с вашей точки зрения и при ваших условиях оценки, но это не будет востребовано преф-игроками.

Я понимаю Ваши аргументы и не отрицаю их. Я просто пытаюсь совместить их со следующими утверждениями, которые ПОКА считаю правильным:

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

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

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

Я конечно могу ошибаться в каких-то из этих пунктов (распасы с точки зрения теории игр - это совершенно отдельная и гораздо более сложная для анализа песня по сравнению с другими видами) и хорошо если кто-то скажет почему и в каком.

P.S. Немного раскрою тему - тот объём, о котором Вы говорите, нужен (по моему мнению) ТОЛЬКО ЧЕЛОВЕКУ, который не может как машина посчитать ВСЕ ВОЗМОЖНЫЕ РАСКЛАДЫ и вынужден поэтому исходя из истории и из того ёрзает его оппонент на стуле или сидит развалившись, делать вывод о его картах, откидывая большинство возможных раскладов, просто потому, что у него нет другого выхода - все посчитать мозг не может.

Резюме (и предложение остальным высказаться - а то тут и МФТИ есть и НГУ - и все молчат как неродные... biggrin.gif ):

Алгоритм, использующий "объём" (способ игры человека) предпочтителен, когда нет возможности считать ТОЧНО. Если такая возможность появляется, то "объём" проиграет моей "плоскости". Если конечно сформулированные выше три пункта верны.

Это сообщение отредактировал isabsent - 14/03/2013, 21:45
      » 15/03/2013, 03:14,  Байкер 
Ты ошибаешься в пунктах 1 и 3, и как следствие, во втором. Вот ты говоришь:

1. Вся информация о лучшем ходе в игре для текущего ходящего содержится в текущей позиции. Под текущей позицией я понимаю вышедшие карты всех игроков, прикуп и карты на руке того, кто сейчас должен ходить. Ничего кроме этого ниоткуда взять нельзя (в телепатию мы не верим).
А еще имеет значение (к примеру - я никогда об этом не рассказывал, но для тебя...):
- тип игры оппонента. Эти типы надо еще придумать, но простейшее назову: отбирает свои или отдается.
- структура взятки. Тоже алгоритмисту надо много чего придумать, а в качестве примера: есть ли во взятке пропуски карт или есть ли в ней семерка.
- отсутствие игры в других мастях (после сделанного хода), причем имеет разный информативный смысл отсутствие игры в масти вскрытия и в еще невыхоженной масти.
- кто владелец взятки: автор хода или не автор.
- проносы - тут вообще отдельная песня.
Во всем перечисленном содержится "информация о лучшем ходе в игре для текущего ходящего в текущей позиции", ее можно игнорировать, а можно формализовать и использовать. Более того, без этих логических прибамбасов (только перебором) оптимальный алгоритм распасов не создать точно. И насколько я понял - не вникал в ваш диалог подробно, - Клейн эту мысль пытается тебе сказать другими словами.
Могу сказать больше. Алгоритм, не содержащий или не использующий функцию расчета текущего расклада (а лишь перебирающий оставшиеся в игре карты) не превысит уровень эффективность 70...80% от оптимальных 100%. Для привязки к реальности: носители рейтинга 300...450 в авторассадке играют распасы в среднем на 40...50% оптимальности. Правда, это всё моя интуитивная оценка, и если она не нравится, ею запросто можно пренебречь.

3. Анализ истории ходов и удаление части возможных раскладов исходя из этой истории недопустим, так как нарушает полноту анализа и создает условия для обмана алгоритма игроком, который догадался как алгоритм анализирует историю.
Может, я чего пропустил, но как я понял, твой алгоритм исчисляет МО результата во взятках каждого хода против "всех" раскладов тех карт, что еще остались у оппонентов. Если это по сути так, то тезис №3 не верен. Ты посмотри по тутошней статистике, сколько играется игр на 7+ взяток. Такие случаи измеряются отнюдь не единицами, а увы, десятками процентов. Проще говоря, огромное количество рук в распасах никогда не оказываются. А ты их учитываешь при исчислении МО. Трудно оценить образующуюся погрешность, но я думаю, что везде, где выбор между вариантами был на разрывах в 0,5 (и меньше) взятки, все результаты случайны именно по этой причине. А это означает, что

2. Лучший ход тот, при котором ходящий СРЕДНЕСТАТИСТИЧЕСКИ получит минимальное количество взяток...
по сути не выполняется.

Но в целом ты на правильном пути, и если довести задуманное до ума даже в твоей версии (без всяких там заумностей с раскладами), то, думаю, что твой алгоритм в распасах рейтинг 500- в авторассадке замочит. А это не так уж и мало.
« Предыдущая тема | Перечень тем | Следующая тема »
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей: