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

»  Теория. Алгоритм распасовки. Подписаться | Сообщить другу | Версия для печати
      » 11/03/2013, 14:57,  Байкер 
Ну, можно подобрать простейшие случаи... Например:
Первые распасы, 2 рука имеет вид
В 9
Д 7
В
Т Д В 1 7
Состоялось:
1. Т3 (вскрытие) 1 В Д
2. 93 (вскрытие) 7 ? (что проносить?)
      » 11/03/2013, 15:15,  Morozko_prr 
isabsent ("11/".$m["мар"]."/2013," 15:08)
Morozko_prr ("11/".$m["мар"]."/2013," 13:22)
Уровень точности (тысячные после запятой) - дело второстепенное.
Ваш алгоритм должен в итоге УМЕТЬ находить лучший ход из ВСЕХ возможных, а пока этот самый алгоритм у Вас должным образом НЕ отлажен если заведомо самый худший ход (Тч) вместо 5-го места занимает почетное 2-е.

I)Не соглашусь, так как из-за недостаточного уровня точности в следующем расчете того же самого расклада я легко могу получить, что ♥A и ♥10 меняются местами. Однако же ни один из 20 расчетов не убрал ♦9 из первой по оптимальности позиции.
Morozko_prr ("11/".$m["мар"]."/2013," 13:22)
1) он не является гарантированной отдачей в ситуации 7-8 на разных руках у оппов;
2а) при этом ходе карта 1-й руки СРАЗУ становится слишком "сильно читаемой" для оппов:
пика 1 (9)
бубна 2 (Т9)
Несложно догадаться, что трефа/черва у нас - 4/3 (3/4)(при этом расклад 5/2(2/5) исключаем, поскольку у нас нет хозяйки в масти 5-ти карт и одновременно отсутствует НАДЕЖНЫЙ перехват в масти 2-ки.
2б)Как только оппы проведут это несложный анализ после хода 9б 1-й руки они быстро доберут 2 трефы и отдадутся в 7т (возможно через переход-прием в черве).

II)Именно это и происходит - First перехватывает бубной эту девятку, добирает две трефы и отдается на шестой взятке в ♦7(4,00) или ♥8(4,00) - для него тут уже расклад полностью ясен и его взяток больше нет.

Morozko_prr ("11/".$m["мар"]."/2013," 13:22)
Чтобы не быть голословным мой ряд оптимальности в.у. 5-ки ходов такой: 10ч-9т-9б-Вт-Тч

III) Хотелось бы увидеть расчет вероятностей этой интуитивной оценки или какого-то более простого этюда. Это возмножно?

P.S. Мой алгоритм не совсем плохой rolleyes.gif - обратите внимание, что он с БОЛЬШИМ ОТРЫВОМ находит правильные с точки зрения игровой интуиции ходы до первого хода в третьей взятке и после него. (Хотя у меня небольшой опыт - может Вы заметите еще какие-то ошибки?). Если он не ошибается ни до ни после, то логично начать подозревать, что ♦9 тоже не является ошибкой...

I) Дело не в том, что "...я легко могу получить, что ♥A и ♥10 меняются местами." - это как раз не мудрено: алгоритм Ваш что хотите, то делайте с ним.
Постарайтесь вникнуть в мое обоснование того, что ход Тч самый плохой (из 5-ти) и для начала научите этому пониманию свой алгоритм.

II)
♦7: [1,68, 6,27, 2,06]
♦K: [2,89, 4,08, 3,03]
♦10:[2,05, 5,26, 2,70]
Computer moves as First ♦K

И почему же тогда Ваша прога(=алгоритм) в лице First не пропустила 9б 1-й руки (Player)??
7б - ведь лучший ход, Second кладет соответственно 8б (у него "миллион" приемов-отдач в оставшихся 2-х мастях и, кроме того, бубну они с First-ом и не будут больше разыгрывать (между собой)).

III) Нет у меня ТАКИХ вероятностей (и не было никогда). Я не знаю как их считать (пока, по-крайней мере).

--------------------
Мои статьи можно почитать на сайте "Преф-Ревю"
      » 11/03/2013, 15:52,  isabsent 
Morozko_prr ("11/".$m["мар"]."/2013," 15:15)
I) Постарайтесь вникнуть в мое обоснование того, что ход Тч самый плохой (из 5-ти) и для начала научите этому пониманию свой алгоритм.

II)И почему же тогда Ваша прога(=алгоритм) в лице First не пропустила 9б 1-й руки (Player)??
7б - ведь лучший ход, Second кладет соответственно 8б (у него "миллион" приемов-отдач в оставшихся 2-х мастях и, кроме того, бубну они с First-ом и не будут больше разыгрывать (между собой)).

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

Может быть Вы хотите сказать, что Тч настолько неудачный ход, что он не может так близко находиться к остальным ходам?

II) Может быть First хочет отобрать свои, потому как опасается, что у него отберут мелкие бубну и черву и потом дадут в кресту, после чего он заберёт все остальные взятки?
      » 11/03/2013, 16:38,  isabsent 
Байкер ("11/".$m["мар"]."/2013," 14:57)
Ну, можно подобрать простейшие случаи... Например:
Первые распасы, 2 рука имеет вид
В 9
Д 7
В
Т Д В 1 7
Состоялось:
1. Т3 (вскрытие) 1 В Д
2. 93 (вскрытие) 7 ? (что проносить?)


First move: Player
Prikup: ♦A,♦9
************************ Trick #1 *******
Player: ♠ A,K,Q, ♣ J,10,9,8, ♦ 10,8,7, ♥
First: ♠ J,9, ♣ Q,7, ♦ J, ♥ A,Q,J,10,7,
Second: ♠ 10,8,7, ♣ A,K, ♦ K,Q, ♥ K,9,8,

♦8: [4,00, 3,16, 2,84]
♦10:[3,69, 3,36, 2,95]
Computer moves as Player ♦10

Computer moves as First ♦J

Computer moves as Second ♦K

Tricks: [0, 0, 1]
************************ Trick #2 ************************
Player: ♠ A,K,Q, ♣ J,10,9,8, ♦ 8,7, ♥
First: ♠ J,9, ♣ Q,7, ♦ ♥ A,Q,J,10,7,
Second: ♠ 10,8,7, ♣ A,K, ♦ Q, ♥ K,9,8,

Computer moves as Player ♦8

♥7: [2,91, 3,61, 3,48]
♣Q: [4,03, 1,98, 3,99]
♣7: [3,64, 2,84, 3,52]
♠J: [4,03, 1,26, 4,71]
♥A: [3,93, 1,87, 4,20]
♥Q: [4,26, 1,81, 3,93]
♠9: [3,60, 1,97, 4,43]
Computer moves as First ♠J

Computer moves as Second ♦Q

Tricks: [0, 0, 2]

Это сообщение отредактировал isabsent - 11/03/2013, 17:07
      » 11/03/2013, 18:29,  Байкер 
Насколько я понял, ответ В1. Это правильный ответ. Дальше...
Первые распасы, 2 рука имеет вид
В 9
Д 7
В
Т Д В 1 7
Состоялось:
1. Т3 (вскрытие) 1 В Д
2. 93 (вскрытие) 7 В1 К
3. К2 Д В
4. 82 7 9
5. 8 ? К4
То есть в 5-й взятке 3-я рука вышла в короля червей. 1-я рука дала 8. Как играть на 2-й руке: брать или "подкладываться"?
      » 11/03/2013, 18:38,  isabsent 
Байкер ("11/".$m["мар"]."/2013," 18:29)
Насколько я понял, ответ В1. Это правильный ответ.

Да - валет пик. Я не большой специалист по игре (особенно по распасам), но вроде бы есть правило:

"При ренонсах в масти выхода сносим бланку от 9 и выше. Нет бланки - сносим от двоек. Вот все 23 двойки:
ТК, ТД, ТВ, Т8, Т7, К7, КД, Д7, Д8, Т10, К10, Д10, ДВ, В10, К9, Д9, К8, Д8, В8, В7, В9, 109, 107.
Правило - СНОСИМ ОТ ЛЕВОЙ ДВОЙКИ. "

Левая двойка Д7, а алгоритм сносит В9...

      » 11/03/2013, 18:54,  Morozko_prr 
2 isabsent
"I) Я ничему не учу свой алгоритм."
---
а)В этом-то и кроется главная проблема неверных рекомендаций Вашего алгоритма.

"Это просто вычисление среднестатистического значения количества взяток (хотя есть нюансы, связанные с некооперативностью распасов). В него не закладывается умение человека играть в преферанс."
---
б1) Вот Вы ТУПО расчитываете среднестатистическое значение количества взяток, а это само по себе абсолютно бессмысленное занятие. Поясню - значение это ОБЯЗАНО зависеть от "уровня мастерства" оппонентов (т.е. Вы обязаны заложить в алгоритм квази-человеческие действия оппонентов).
б2)Грубо говоря слабые соперники могут ходить "от балды", а вот "более мастеровитые" не будут прощать Ваших дурацких ходов и варианты их (оппов) дурацких ходов-ответов (в Вашу пользу) должны быть ИСКЛЮЧЕНЫ из расчетов при получении среднего результата сдачи в ЭТОМ случае.

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

"Может быть Вы хотите сказать, что Тч настолько неудачный ход, что он не может так близко находиться к остальным ходам?"
---
г) именно так. Я думаю разница между средними результатами сдачи у хода 10ч и Тч где-то 0.85-0.9 взяток

"II) Может быть First хочет отобрать свои, потому как опасается, что у него отберут мелкие бубну и черву и потом дадут в кресту, после чего он заберёт все остальные взятки?"
---
д) Повторюсь: сразу после 3-го хода 1-й руки (Player) в 9б масть бубна ни для кого уже не секрет. И 1-я и 2-я рука понимают, что именно они между собой будут ее доигрывать и они уже знают кто из них победит (это владелец хозяйки). Так почему же не дать единственную взятку в этой масти 1-й руке ?
После 7б 2-й руки мудрый игрок на 3-й руке обязан по-игроцки положить 8б и - да остаться с приемом Вб для того, чтобы зачехлить 1-ю руку в черве (или трефе, если 1-я рука 4-м ходом не доберет черву (2-й руки), а сразу отдастся в трефу) в концовке.

Это сообщение отредактировал Morozko_prr - 11/03/2013, 18:58

--------------------
Мои статьи можно почитать на сайте "Преф-Ревю"
      » 11/03/2013, 19:13,  Байкер 
()
но вроде бы есть правило:
"При ренонсах в масти выхода сносим бланку от 9 и выше. Нет бланки - сносим от двоек. Вот все 23 двойки:
ТК, ТД, ТВ, Т8, Т7, К7, КД, Д7, Д8, Т10, К10, Д10, ДВ, В10, К9, Д9, К8, Д8, В8, В7, В9, 109, 107.
Правило - СНОСИМ ОТ ЛЕВОЙ ДВОЙКИ. "
Левая двойка Д7, а алгоритм сносит В9...

Это неправильное и даже глупое правило. Его тут пропагандировал Сашун, "подсмотрев" у Розалиева. При всем уважении к каким-то другим аспектам игры этих людей, в распасах они разбираются недостаточно хорошо. Конечно, ситуации всякие можно придумать, но, если давать абстрактный ряд из двоек - как и сделано, - то в нем Т7, к примеру, никак не может оказаться впереди тех же Т1 или там Д9.
Но я понял, похоже, в чем твоя проблема: нет критерия правильности. Лично я при создании своего (логического, правда, а не счетного а ля Монте-Карло алгоритма) решил эту проблему очень просто. Я взял около 30 практически случайных (не помню, чтобы я как-то подбирал их) раздач в распасах, и разыграл их оптимально за все руки. Зная расклад, это нетрудно. Ну, а самому себе ты и не сможешь врать насчет действительно доступной информации каждого игрока в каждый момент. А после этого и на полученной базе за две-три сотни часов открыл не менее 90% всех необходимых правил и законов разыгрывания распасов. Если бы это было не со мной, я бы тоже сказал, что 30 раздач для этого недостаточно. ))
Попробуй, всё получится, и это займет не больше недели рабочего времени (на все варианты за все руки). Правда, в моем варианте надо сначала систему классификации мастей разработать и потом над функцией расчета расклада поработать, но тебе (при твоем подходе) это вроде как ни к чему. Короче, проделай то, что я сказал, это действительно и недолго, и достаточно. Как ни странно.
В принципе, те мои посчитанные расклады можно взять. Но мне не хочется всем этим заниматься.

Это сообщение отредактировал Байкер - 11/03/2013, 19:15
      » 11/03/2013, 19:43,  isabsent 
Байкер ("11/".$m["мар"]."/2013," 18:29)
Первые распасы, 2 рука имеет вид
В 9
Д 7
В
Т Д В 1 7
Состоялось:
1. Т3 (вскрытие) 1 В Д
2. 93 (вскрытие) 7 В1 К
3. К2 Д В
4. 82 7 9
5. 8 ? К4
То есть в 5-й взятке 3-я рука вышла в короля червей. 1-я рука дала 8. Как играть на 2-й руке: брать или "подкладываться"?

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

Я попробовал такой:
Player: ♠ 10,8,7, ♣ K,8, ♦ 10,8,7, ♥ 9,8,
First: ♠ J,9, ♣ Q,7, ♦ J, ♥ A,Q,J,10,7,
Second: ♠ A,K,Q, ♣ A,J,10,9, ♦ K,Q, ♥ K,
Prikup: ♦A,♦9

но он не хочет ходить в К2.
      » 11/03/2013, 19:59,  isabsent 
Morozko_prr ("11/".$m["мар"]."/2013," 18:54)
б1) Вот Вы ТУПО расчитываете среднестатистическое значение количества взяток, а это само по себе абсолютно бессмысленное занятие. Поясню - значение это ОБЯЗАНО зависеть от "уровня мастерства" оппонентов (т.е. Вы обязаны заложить в алгоритм квази-человеческие действия оппонентов).
б2)Грубо говоря слабые соперники могут ходить "от балды", а вот "более мастеровитые" не будут прощать Ваших дурацких ходов и варианты их (оппов) дурацких ходов-ответов (в Вашу пользу) должны быть ИСКЛЮЧЕНЫ из расчетов при получении среднего результата сдачи в ЭТОМ случае.

б1) Уровень мастерства "мастеровитого" отличается от уровня мастерства "слабого" умением считать вероятности и выбирать исходя из них наиболее статистически обоснованный ход (если абстрагироваться от психологии и телепатии). Именно это моя прога и делает - только в отличие от человека она ничего не забывает и не ошибается (я надеюсь rolleyes.gif ). Поэтому она должна играть как "более мастеровитая" - что она и делает, только кажется не в распасах пока.

б2) Если Вы знакомы с алгоритмом minimax'а, то он как раз и построен на том, что не прощает дурацких ходов. Более того, он считает, что его оппонент никогда не ошибается (что приводит к осложнениям в игре с человеком, но это несколько другая тема). Любой неоптимальный ход человека minimax сразу же наказывает взяткой. Вариант, когда вместо обычной игры компа с человеком идёт игра в поддавки невозможен. Комп не умеет поддаваться, если играет с помощью minimax'a обычную игру. Поэтому никаких "дурацких ходов и варианты их (оппов) дурацких ходов-ответов" в расчетах среднего количества взяток заведомо нет.
« Предыдущая тема | Перечень тем | Следующая тема »
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей: