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

»  Теория. Алгоритм распасовки. Подписаться | Сообщить другу | Версия для печати
      » 13/03/2013, 17:20,  Клейн 
isabsent ("13/".$m["мар"]."/2013," 16:54)
Клейн ("13/".$m["мар"]."/2013," 16:36)
Замечательный ход!!.

Спасибо :). Хотел бы я так же уметь анализировать расклады на руках, как Вы!

Поверьте, есть несколько десятков человек (скорее сотня), которые считают в реальном времени (за столом) лучше нынешнего меня.
Относительно же постановки 10:h: , то я бы хотел указать на тот факт, что я не понимаю и не знаю как работает ваша прога.
Для понимания почему ставить 10:h: всё же надо, могу привести ряд аргументов.
Должен признать, с руки Востока расклад полностью (вплоть до фосок треф) не считается, но вероятностно (по его ходам) нахождение именно у Запада и 7:c: , и 8:c: и точно 5-карт этих треф.
К тому же, стоит сыграть на ошибку Юга - это увеличивает шансы.
А Югу, если у него есть одна из ключевых карт в трефе (7-ка или 8-ка) посчитать можно, но сложно и в реальном времени совсем уж тяжко.
А также, рискуя взять одну лишнюю взятку, Восток имеет большие щансы избавиться от нескольких лишних взяток.
Всё это в сумме делает постановку 10 черв гораздо более выгодной.
Где-то так вот.


Касательно же второго знака после запятой, то есть ещё гроссмейстеры, которые считают карту скорее уж по третьему, если не по четвёртому знаку, тех цифр, которые выдаёт вам прога.

Вас не должно это удивлять, так как ваша программа, как я понял, не отбрасывает львиную долю рук и раскладов о которых гросс и мастер просто не задумываются.
А вот если бы вы когда-нибудь нашли алгоритм отсеивания рук и раскладов, которые не подлежат рассмотрению, то речь шла бы уже не о втором-третьем знаке после запятой, а, скорее, о целых числах.
Мне так кажется.
      » 13/03/2013, 17:47,  Клейн 
isabsent ("12/".$m["мар"]."/2013," 16:06)
Уточните, что может быть не так с БК-контрактами всветлую?

Раз уж ввязался в беседу, то попытаюсь раскрыть мысль относительно проблем проги на БК-контрактах.
1. Речь идёт в основном о контрактах 6 БК, где есть шансы взять 4 или 5, 5 или 6.
2. Сильные игроки умеют играть такие контракты и особенно против тех, кто считает снос по оптимальности МО.
3. Если контракт БК проблемный, то это означает:
а) скорее всего по три карты до сноса во всех мастях,
б) во всех четырёх мастях, или минимум в трёх, есть угрозы (потенциал на взятие лишней взятки играющим).
Играющему проблемный БК надо что-то снести.
Например, ТД9:s: , ТК10:c: , КД10:d: , ТД7:h:
Зачастую, играющий приводит сдачу к моменту, когда вистующим надо угадать одну из мастей.
Как вы думаете, снос, положим, Д :s: и оставление при этом 9 :s: прогой будет часто угадан или никогда, если ей уже в процессе сдачи показали ту самую 9-ку пик а одна из мастей угадайки именно пика с Кхх?
      » 13/03/2013, 17:50,  isabsent 
Клейн ("13/".$m["мар"]."/2013," 17:20)
А вот если бы вы когда-нибудь нашли алгоритм отсеивания рук и раскладов, которые не подлежат рассмотрению...

Думаю, что для моего уровне игры в преферанс это неподъемная задача. :( Тут нужен огромный опыт и результат не будет гарантирован даже при бесконечной вычислительной мощности. А если действовать перебором, то есть надежда ничего не пропустить - если хватит мощности.

Я думаю запустить Вашу задачу на ночь в полном варианте (с первого хода) - посмотреть что алгоритм насчитает (если вообще досчитает до конца). Судя по тому, что он за час не просчитывает второй ход - дерево вариантов там просто огромное. Чувствую, что результат будет не очень радостным :D.
      » 13/03/2013, 17:58,  isabsent 
Клейн ("13/".$m["мар"]."/2013," 17:47)
Как вы думаете, снос, положим, Д :s:  и оставление при этом 9 :s: прогой будет часто угадан или никогда, если ей уже в процессе сдачи показали ту самую 9-ку пик а одна из мастей угадайки именно пика с Кхх?

Я могу неверно понять вопрос, но если Вы снова дадите полные расклады на руках, то бескозырку я легко проверю - она считается мгновенно. А если я правильно понял вопрос, то алгоритм найдёт решение в 50% случаев - если это угадайка между двумя картами - не зависимо от того, ходил ли кто-то уже с 9:s: или нет. Больше тут вероятность угадывания не поднимешь скорее всего.

P.S. А эта задача не эквивалентна ловле дырки на мизере при угадайке 50/50?

Это сообщение отредактировал isabsent - 13/03/2013, 18:33
      » 13/03/2013, 18:02,  Клейн 
isabsent ("13/".$m["мар"]."/2013," 17:58)
то алгоритм найдёт решение в 50% случаев - если это угадайка между двумя картами - не зависимо от того, ходил ли кто-то уже с 9:s: или нет.

Ах, вот оно как у вас считает, не обращая внимания на логику сноса.
Тогда я, видимо, не прав.
Сдачу быстро предоставить не могу, уже пьян. :)
Но может быть, на днях - не обещаю.
      » 13/03/2013, 18:31,  isabsent 
Клейн ("13/".$m["мар"]."/2013," 18:02)
1) Ах, вот оно как у вас считает, не обращая внимания на логику сноса. Тогда я, видимо, не прав.

2) Сдачу быстро предоставить не могу, уже пьян. :)
Но может быть, на днях - не обещаю.

1) Тут я еще не уверен на каком варианте остановится. Сначала я обсчитывал только наиболее вероятные сносы, но с увеличением скорости счета появилась возможность учитывать ВСЕ возможные сносы. В текущем алгоритме я её и оставил, так как не пришел к однозначным выводам. Конечно, с одной стороны оставление всех раскладов портит статистику - тузов и марьяжи никто не сносит. С другой стороны если допускать к обсчету только разумные сносы, а особо хитрый (или особо бестолковый) пользователь снесет марьяж, то алгоритм может не найти правильное решение никогда - сколько раз его не прогоняй - так как такой расклад он не обсчитывает. С третьей стороны пользователь сам себя накажет таким сносом. С четвертой стороны это наказание в какой-то мере будет скомпенсировано невозможностью алгоритма наказать пользователя за безумный снос... Короче - ситуация как у Буриданова осла... :D

2) Возвращайтесь! :)
      » 13/03/2013, 23:14,  Клейн 
С ЧЕГО ВСЁ НАЧАЛОСЬ. :)

http://www.gambler.ru/forum/index.php?show...dpost&p=1407060
сдача взята отсюда, но приведена в более привычный для форума вид.

Задача Морозко хз откуда из сети.
Игра идёт втроём.
Ситуация распас.
Первый ход Востока.
* - выделяет карту, которая была положена на стол первой в данной взятке.


Север
s K 7
h -
d -
c -
Запад
s -
h -
d -
c -
Восток
s 9
h A K 10 9
d A 9
c J 9 8
Юг
s -
h -
d -
c -
Машинка высчитала следующие хода

ВостокЮгЗападприкуп

Начало игры
     
 passpasspass 
    sK*
Взятка 1s9*s8sA 
Взятка 2dA*sQs10s7*
Взятка 3d9*dKdJ 
Взятка 4cJcA*cK 
Взятка 5c9cQ*c10 
Взятка 6c8d7*d8 
Взятка 7h10h8h7* 
Взятка 8    





В трёх-карточной концовке у Востока осталась масть AK9:h: , а 8, 7 и 10 в ней уже вышли.
Надо-де уразуметь как играть: сверху-снизу или просто снизу на 2-2 черва?

Прога говорит, что надо отдаться снизу в 9-ку черв.
И прога приводит цифры, мол выход в туза почти в два раза хуже выхода в 9-ку.

♥A: [3,20, 4,40, 2,40]
♥9: [1,70, 5,15, 3,15]
Computer moves as Player ♥9

Ну, вот совсем я с прогой НЕСОГЛАСНЫЙ

Мы точно знаем, что у Запада есть 7 :c: .
Точно знаем, что у юга есть J :s: .
И типа расклад будет вот такой:
Север
s -
h -
d -
c -
Запад
s нет
h ??
d ??
c 7
Восток
s -
h A K 9
d -
c -
Юг
s J
h ??
d ??
c нет


Где-то болтается пара бубён (Q:d: и 10:d: ) и пара черв (Q:h: и J:h: )


Решение может быть единственным: играть A :h: и затем 9-ка

Обратите внимание на взятку № 3 и взятку № 6.

Ни один вменяемый человек не будет разыгрывать масть типа KQ7:d: или К107:d: таким образом.
Кроме того, имеющий QJ8:h: в четырёх-карточной концовке должен пускать черву, ибо у него что так две взятки, что так и ему это видно.
Но чтобы было это "что так, что так" Восток должен принять верное решение.

И тут прога сыграла, как абсолютно железная болванка.
Что-то это меня начинает смущать, касательно умения проги играть пасы. :)


isabsent, пока оформлял этот пост, понял почему такая очерёдность мастей туточки - это бриджевая замутка и очерёдность оттуда же







ПОЛНЫЙ РАСКЛАД:
Север
s K 7
h -
d -
c -
Запад
s A 10
h Q J 7
d J 8
c K 10 7
Восток
s 9
h A K 10 9
d A 9
c J 9 8
Юг
s Q J 8
h 8
d K Q 10 7
c A Q
      » 13/03/2013, 23:25,  Клейн 
Клейн ("13/".$m["мар"]."/2013," 23:14)
Ни один вменяемый человек не будет разыгрывать масть типа KQ7:d:  или К107:d:  таким образом.

С пьяну забыл указать, что ни один чел не будет так играть, потому что у него сбоку есть ещё 8:h: для хода.
Ему нет надобности ходить в 7:d: , если у него было три бубны.
Значит у него было или две бубны, или четыре.
Тогда черва точно лежит 3-1.
Счёт простейший - даже пьяный смог посчитать.

Почему прога выбрала 9:h: ?
Что-то не ладно в Датском королевстве.
      » 14/03/2013, 05:16,  isabsent 
Клейн ("13/".$m["мар"]."/2013," 23:14)
Мы точно знаем, что у Запада есть 7 :c: .
Точно знаем, что у юга есть J :s: .

Я не уловил откуда мы это знаем? Вроде бы кроме Востока до 8-ой взятки никто ничего не проносил. Значит с точки зрения Востока эти 6 оставшихся у оппов карт могут лежать на руках Юга и Запада как угодно. И алгоритм мой пишет, что с точки зрения Востока ситуация такая:

Not empty suits for Player:
false,false,false,true,
true,true,true,true,
true,true,true,true,

Если она действительно такая, то вероятность расклада :h: у оппов будет 2(вся у одного из них) к 3(черва пополам). А количество взяток, которое возьмет Восток будет при ходе с Т:h: 1(при всей :h: у одного) и 3(:h: пополам), при ходе с 9:h: 2(при всей :h: у одного) и 0(:h: пополам). Получается, что среднее количество взяток для Т:h: (2х1 + 3х3)/5 = 2.2. Для хода 9:h: оно будет (2х2 + 3х0)/5 = 0.8 - то есть ход с 9:h: более предпочтителен.

На 7-ой взятке Восток уже имел 1 взятку. Значит при ходе с Т:h: он будет иметь в среднем 3.2 взятки, а при ходе с 9:h: - 1.8 взятки. Алгоритм дал 1.7 вместо 1.8 из-за округления, которое в нем есть (это непринципиально - можно и точно посчитать, но памяти потребуется в 3 раза больше).

Клейн ("13/".$m["мар"]."/2013," 23:14)
Ни один вменяемый человек не будет разыгрывать ... К107  таким образом.

Если это о розыгрыше 6-ой взятки, то наверное Вы имели ввиду Q,10,7:d: ?

Клейн ("13/".$m["мар"]."/2013," 23:14)
С пьяну забыл указать, что ни один чел не будет так играть, потому что у него сбоку есть ещё 8:h: для хода.

Обратите внимание, что для хода 8:h: среднее ТАКОЕ ЖЕ как и для 7:d: Это значит, что в след раз алгоритм может сходить и 8:h: - ему тут все равно. Он просто видит, что ему надо отдаваться в этом месте, а вероятность отдаться одинакова для двух этих карт и он случайно выбирает одну из них.
************************ Trick #6 ********
Player: ♠ ♣ 8, ♦ ♥ A,K,10,9,
First: ♠ J, ♣ ♦ Q,10,7, ♥ 8,
Second: ♠ ♣ 7, ♦ 8, ♥ Q,J,7,

♦7: [2,50, 4,00, 3,50]
♠J: [1,87, 5,00, 3,13]
♥8: [2,33, 4,00, 3,67]
♦Q: [1,32, 6,00, 2,68]
Computer moves as First ♦7

Клейн ("13/".$m["мар"]."/2013," 23:14)
Ему нет надобности ходить в 7:d: , если у него было три бубны. Значит у него было или две бубны, или четыре. Тогда черва точно лежит 3-1. Счёт простейший - даже пьяный смог посчитать.

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

Можно ли Ваше утверждение сформулировать так:
"Наличие :d:Q,10,7 на руке в этой сдаче гарантирует, что среднее значение для 8:h: будет более предпочтительным, чем 7:d: и поэтому алгоритм ошибся." ?

Это сообщение отредактировал isabsent - 14/03/2013, 07:11
      » 14/03/2013, 07:26,  isabsent 
Клейн ("13/".$m["мар"]."/2013," 23:14)
Обратите внимание на взятку № 3...

Обратил :) Собственно, с нею я и пришёл сюда. Логику алгоритма трудно анализировать на начальных взятках, так как мне слишком сложно считать вероятности руками в этой области, а вариантов для перебора там очень много, обсчитывается только часть из них и понять почему алгоритм уходит в эту ветку пока невозможно. Поэтому я и спрашивал - может кто-то на этом форуме сможет ТОЧНО посчитать среднее количество взяток вручную для 3-го хода или предложит пример где это можно сделать чтобы сравнить с тем как мой алгоритм посчитает.

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

Это сообщение отредактировал isabsent - 14/03/2013, 07:31
« Предыдущая тема | Перечень тем | Следующая тема »
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей: