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

»  Бридж для четверых, Может кому-нибудь пригодится... Подписаться | Сообщить другу | Версия для печати
      » 22/11/2005, 16:41,  ystein 
Сразу извинюсь за то, что изложенное здесь, возможно, кем-то когда-то уже писалось и обсуждалось. Я не нашел – наверное, плохо искал.

Идея.
Существует расхожее мнение, что для игры в бридж достаточно четырех человек (и колоды карт, конечно :-) ). Это не совсем верно. Всё-таки "спортивный бридж" тем и отличается от любой другой карточной игры, что является дубликатным. Как раз за счет дублирования сдач нивелируется изначальное преимущество одной команды перед другой, продиктованное случайным раскладом. Поэтому минимальное количество игроков для игры в спортивный бридж равно восьми. Это создает определенные трудности – собрать в одном месте и в одно время восемь человек не всегда возможно. Это касается как любительского бриджа в теплой компании, так и тренировок спортивной команды при подготовке к турнирам. Тем не менее, есть две разновидности бриджа для игры вчетвером.
Первая разновидность – роббер. Это игра не спортивная, выигрыш в роббере во многом определяется "везением", т.е. удачным раскладом. Да и стратегия игры сильно отличается как от стратегии парных турниров, так и от стратегии матчей. Он хорош для проведения досуга, но не годится для спортивный тренировок.
Вторая разновидность – компенсарик. Его основная идея в том, чтобы компенсировать преимущество одной команды перед другой, созданное раскладом. Фактически, компенсацию можно рассматривать, как результат, достигнутый (виртуальными) партнерами обоих команд в другой (виртуальной) комнате. К сожалению, компенсация учитывает только распределение старших карт (тузы, короли, дамы и валеты) между игроками. Это снова приводит к изменению стратегии игры: есть 25 очков на линии – нужно ставить гейм, даже если он никак не выигрывается.
Я предлагаю третью разновидность. По сути это тот же компенсарик, но компенсирующий результат определяется оптимальным контрактом в данном раскладе. Оптимальный контракт – это математически строго определенное понятие. Для каждого конкретного расклада оптимальный контракт – это результат, который получается при наилучшей игре каждой из команд. Очевидная сложность применения этой разновидности игры в бридж на практике состоит в необходимости для каждого расклада "просчитывать" оптимальный контракт. Это долго, а для многих раскладов еще и очень сложно. Игра затягивается, интерес пропадает.

Воплощение.
Мотивируясь приведенными соображениями, а также влекомый просто исследовательским интересом, еще в 1992г. я задался целью написать программу, вычисляющую оптимальный контракт для данного расклада. В то время эта попытка не увенчалась успехом – программа двое суток просчитывала 5-карточную концовку, а при большем числе карт просто "умирала".
Недавно я наткнулся на свои старые исходники и попытался их реанимировать. Неоценимую помощь в ускорении алгоритмической части оказала информация по этой теме и исходники решателя бриджевых задач, любезно предоставленные Словесновым Алексеем на его сайте http://slovesnov.narod.ru.
Теперь программа завершена и она работает. Программа запускается и начинает генерировать расклады и расчитывать их оптимальные контракты. В среднем от 10 до 30 раскладов в час (в силу применения алгоритма альфа-бета отсечений время расчета сильно варьируется от расклада к раскладу). Расчитанные расклады складываются в 5 текстовых файлов. 4 файла содержат отдельно руки N, E, S и W (с указанием номера сдачи, зональности и открывающегося). Пятый файл содержит полные расклады и оптимальный результат (в таком виде, как это принято в спортивных соревнованиях - номер сдачи, зональность, открывающийся, заказанный контракт, разыгрывающий, количество взятых взяток, результат (для NS). Примеры сгенерированных файлов можно скачать с http://rikt.ru/~ystein/Deals.ZIP. Уже само по себе их изучение оказалось достаточно занимательным – а смогли бы вы найти такой контракт и его выполнить.

Практика.
Вернемся к началу – для чего все это делалось. Я опишу тут процедуру, как происходит игра вчетвером. Сначала я запускаю программу, которая генерит и обсчитывает расклады. Потом отправляю все 5 файлов на печать (естественно, не смотря, в пакетном режиме с сортировкой по файлам). Все это можно проделать заранее. Когда мы садимся играть, я выдаю каждому бумажки с его раскладами (а себе – со своими). Для игры необходимо 4 колоды карт. Каждому игроку выдается полная колода карт. Каждый игрок выбирает из своей колоды карты в соответствии со своим раскладом, написанным в бумажке. После этого играют раздачу (каждый игрок картами своей колоды). После розыгрыша карты не смешиваются, а возвращаются каждым игроком в свою колоду. После розыгрыша нескольких или всех сдач результаты сверяются с результатами "виртуальной" комнаты (то есть с распечатанными ранее оптимальными контрактами), и определяется победитель.
Стратегия игры, видимо, максимально напоминает турнир на среднее, где ценны как безопасный розыгрыш, так и лишние взятки.

ЗЫ. Напоследок – задачка.
Как известно, оптимальные контракты могут быть только двух видов – сыгранный контракт (без контры) и несыгранный контракт под контрой (без реконтры). Однако теоретически возможен еще и ноль (т.е. 4 паса). В этом случае "кто играет, тот дурак". Т.е. любой контракт на линии NS сидит, и любой контракт на линии EW сидит. Задача состоит в том, чтобы доказать, что такого не бывает или привести пример такого расклада (я не смог, ответа не знаю).

      » 22/11/2005, 17:49,  Музыка 
Хочу такую программу -)))
      » 22/11/2005, 17:59,  Gombo 
Бесплатный совет - проще делать наоборот: сначала сдавать играть, записывать расклад, а уж потом загонять их в анализатор. Правда, результаты будут с задержкой, но, если играть вчетвером и компьютер под рукой, то процесс можно распараллелить - вы играете следующую сдачу, компьютер считает предыдущую.
      » 22/11/2005, 17:59,  Nikson 
Решатель от Словеснова http://slovesnov.narod.ru/bridge/ru/bridge.zip

--------------------
Fiat lux!
      » 22/11/2005, 18:15,  полифем 
Качаете с люого сайта протоколы турнира - заряжаете, играете. В протокол добавляете свой результат. Получаете возможность оценить выигрыш/проигрыш вашей пары + при желании можете посчитать своё, весьма, впрочем, условное, место в этом турнире...
      » 22/11/2005, 18:36,  avgera 
ystein ("22/".$m["ноя"]."/2005," 13:41)
ЗЫ. Напоследок – задачка.
Как известно, оптимальные контракты могут быть только двух видов – сыгранный контракт (без контры) и несыгранный контракт под контрой (без реконтры). Однако теоретически возможен еще и ноль (т.е. 4 паса). В этом случае "кто играет, тот дурак". Т.е. любой контракт на линии NS сидит, и любой контракт на линии EW сидит. Задача состоит в том, чтобы доказать, что такого не бывает или привести пример такого расклада (я не смог, ответа не знаю).

Решал буквально пару минут, ибо ничего сложного.. У всех 6331, где 6-карт ровно ТКД без плотности, а сингл в масти партнера. В любом мастевом контракте снимаются по ТКД в своих мастях, в 7-й взятке разводятся лежащие 3-3 козыри. В бескозырном с атаки снимается 12 старших взяток.
      » 22/11/2005, 18:44,  ystein 
2Музыка:
Интерфейс чуток приведу в порядок и выложу. Сейчас там только 2 кнопки - ок и cancel :)

2Gombo:
Пробовалось. Времени на вбивание расклада уходит больше, чем собственно игры.

2Nikson:
Так я ж эту ссылку и использовал. Только, во первых, для вычисления оптимального контракта этого не достаточно - нужно еще перебрать все козыри и всех атакующих, а потом еще результаты разных уровней контрактов посчитать и т.д. Во-вторых, в пакетном режиме она не запускается (чтобы раскрады нагенерить и расчитать). Но для способа Gombo можно приспособить...

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

2avgera
Похоже на правду. Я не додумался :)
      » 22/11/2005, 19:44,  полифем 
Ну, в общем-то у тех клубов, которые просто не могут набрать больше 2-4 столов и выхода то иного нет, как играть по описанной методе. Если, конечно, игроков хоть мало-мальски интересует рост спортивного мастерства. Так что - да, воплощали и будем воплощать. Если не нравится средний уровень игроков - заряжайте сдачи Бермудского Кубка. Всё остальное тоже технические проблемы.
      » 23/11/2005, 10:49,  srg 
Кстати на турнире в Пуле, в раскладах, которые выдаются игрокам после сессии, прописаны возможные контракты от каждой линии и разыгрывающего. Как встретимся напомни, я нарисую как это выглядит. Было бы замечательно, если бы на Новосибирских турнирах появилась такая приблуда. wink.gif До встречи.
      » 23/11/2005, 10:59,  sam13 
На страничках БК "Бермудский треугольник" и на официальном сайте РЛСБ лежат протоколы, расклады всех официальных турниров лиги, плюс протоколы турниров в Треугольнике. Не нравится уровень турниров, как правильно сказал полифем, загружайте протоколы Бермудского кубка и играйте-сравнивайте, проблем в поиске-никаких.
« Предыдущая тема | Перечень тем | Следующая тема »
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей: