Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1
  • 2
  • 3
  • 4

ТЕМА: Уточнение некоторых правил для новой программы

Re: Уточнение некоторых правил для новой программы 18 Июн 2012 22:52 #8797

  • Nom
  • Nom's Avatar
  • Вне сайта
  • Administrator
  • Сообщений: 828
Nom wrote:
Jimmy wrote:
Без таблицы Combo было бы очень сложно запрограммировать принцип неповторения. А нет чего-нибудь аналогичного для учета принципа одноразового подсчета? В вышеуказанном примере вроде разобрался, но общей схемы не представляю.
Грубо говоря, сет может использоваться только два раза: в "основном" фане и в одном "дополнительном", не более.
Я немножечко соврал. Даже чоу может использоваться больше двух раз. Главное, чтобы в комбинации _было_в_наличии_ чоу, которое не использовалось более одного раза.
Администратор запретил публиковать записи.

Re: Уточнение некоторых правил для новой программы 20 Июн 2012 06:51 #8799

  • Combo
  • Combo's Avatar
  • Вне сайта
  • Administrator
  • Сообщений: 3177
Jimmy wrote:
Пока я оцениваю наличие Фанов по следующей схеме.
1. Сначала определяю множество, в которое записываю номера всех возможных Фанов, пока независимо друг от друга.
2. Перебираю все Фаны этого множества в порядке возрастания их номера, и выбрасываю те, которые в таблице Combo помечены красной ячейкой и буквой П. (Учитываю принцип "неповторения").
3. Учитываю повторяющиеся Фаны 64, 65, 69, 70, 71, 72, 73, 81 в другом массиве.
Принципы "неразделения" и "большее против меньшего" я учитываю так: составляю комбинации так, чтоб получилась Лигитимная рука, считаю стоимость, применяя пункты 1-3, потом перестраиваю комбинации, если это возможно, снова считаю, и из всех вариантов выбираю лучший.
Вопрос 1. Принцип "неидентичности" будет при таком подходе учтен автоматически?
Вопрос 2. Принцип "одноразового подсчета". Нельзя ли просто перебрать после пункта 3 все возможные варианты ситуаций, когда этот принцип нарушается? Ведь он будет нарушаться если только Фаны "из трех сетов" будут пересекаться с Фанами "из двух сетов". Или нет? Причем, если это возможно, то нельзя ли сформулировать этот перебор так: если в множество Фанов (после п1,2,3) входят Фаны скажем, X,Y,Z, и может быть какие то еще, то Фан Z надо выбросить (или уменьшить его повторение в массиве повторний на 1)? Вариантов будет больше, чем ячеек в таблице Combo?
Jimmy, относительно учёта фанов, состоящих из 2+ сетов дам скорее практическое правило (из верхней части цитируемого), нежели строгое теоретическое обоснование.
Итак, из руки, точнее из 4-х сетов (пара -- строго не в счёт) "извлекаются" 2-3 сета, образующие фан.
Эти сеты "маркируются" (условно).
Далее, для добавления нового сета необходимо ОБЯЗАТЕЛЬНО добавить к этой маркированной группе не менее 1 НОВОГО сета, образуя новый фан. И т.д.
Крайне важно, что выбирать новый фан МОЖНО, но это должен быть строго 1 фан!

Как следствие, из 4-х сетов можно получить только 1+1+1 фанов, состоящих из 2 сетов и 1+1 фанов из "3 сета" + "2 сета".
При этом мы вольны учитывать любые варианты (на финальные очки это не повлияет, доказано!).
Примеры:
1) :1d: :2d: :3d: +:4d: :5d: :6d: +:1b: :2b: :3b: +:4b: :5b: :6b: разбиваем как:
(:1d: :2d: :3d: +:4d: :5d: :6d: ) + (:1b: :2b: :3b: ) + (:4b: :5b: :6b: -- либо короткий ряд, либо два одинаковых разномастных чоу)
2) :1d: :2d: :3d: +:4b: :5b: :6b: +:7c: :8c: :9c: +:1b: :2b: :3b: разбиваем как:
(:1d: :2d: :3d: +:4b: :5b: :6b: +:7c: :8c: :9c:) + (:1b: :2b: :3b: -- либо короткий ряд, либо два одинаковых разномастных чоу)
3) :1d: :2d: :3d: +:4b: :5b: :6b: +:7c: :8c: :9c: +:1b: :2b: :3b: разбиваем как:
(:1d: :2d: :3d: +:4b: :5b: :6b: +:7c: :8c: :9c:) + (:1c: :2c: :3c: -- либо два терминальных чоу, либо два одинаковых разномастных чоу)
Сюда же можно добавить варианты на пангах -- три смещённых панга + двойной панг (и т.п.).
Заметим, что можно с подсчёте фанов идти в любом порядке (например, 2 сета + 3 сета).
Последнее редактирование: 24 Окт 2012 16:03 от Combo.
Администратор запретил публиковать записи.

Re: Уточнение некоторых правил для новой программы 22 Июн 2012 15:31 #8805

  • Jimmy
  • Jimmy's Avatar
  • Вне сайта
  • Мад...
  • Сообщений: 49
Выкладываю свой Маджан версии 3.0 с 8-ю видами правил на Ваш суд.
files.mail.ru/8NQ8NE
Пока есть много недостатков, но силы кончились, надо сделать перерыв.
1. Самый главный недостаток: пока проигнорирован принцип "одноразового подсчета" в Спортивном Маджане.
2. Пока не запрограммирована таблица Combo для ситуаций с Конгами.
3. Пока нет Ограбления Открытого Конга.
4. Пока нет Дискарда.
5. Слабый интеллект компьютерных игроков.
6. Возможны ошибки, мелкие и серьёзные.
Однако всё это постараюсь исправить в следующих версиях.
Буду очень признателен, если услышу замечания и увижу инфу об ошибках, в этом случае желательно со screen'ами.
Интересуют все виды правил, не только Спортивные, игра как с компом, так и под сеть и т.д.
Правила и оговорки подробно описаны в файле помощи.
Combo, Moonkeeper, Nom и Tweek, если вас заинтересует программа, вышлю вам лицензионные файлы.
491176601 - ася, toby_shelton - Skype, Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript - Mail. Жду ваших замечаний.
Всем спасибо!
Администратор запретил публиковать записи.

Re: Уточнение некоторых правил для новой программы 23 Июн 2012 10:02 #8809

  • Combo
  • Combo's Avatar
  • Вне сайта
  • Administrator
  • Сообщений: 3177
Jimmy, спасибо Вам за Ваш труд!
Создавать всегда нелегко, я уверен, что после перерыва к Вам вернутся вдохновение и силы!
Администратор запретил публиковать записи.

Re: Уточнение некоторых правил для новой программы 28 Июн 2012 10:30 #8815

  • Jimmy
  • Jimmy's Avatar
  • Вне сайта
  • Мад...
  • Сообщений: 49
И снова появился вопрос. Описание Фана 47 (Ограбление Конга): "Выигрыш с помощью кости, которую кто-либо добавил к открытому пангу...". При этом в описании 3.6.8 (Как играть Конг) сказано, что Конг можно сыграть только имея ЗАКРЫТЫЙ Панг. Вроде бы противоречие?
Администратор запретил публиковать записи.

Re: Уточнение некоторых правил для новой программы 29 Июн 2012 10:44 #8816

  • Combo
  • Combo's Avatar
  • Вне сайта
  • Administrator
  • Сообщений: 3177
Jimmy, проблема с конгами заключается в неадекватном переводе с китайского на английский.

Всего существует 3 типа конгов:
* закрытый -- 4 тайла сразу из закрытой руки (в спортивных правилах откладываются взакрытую, однако в некоторых правилах часть тайлов открывается),
* открытый -- 3+1 тайлов, т.е. на 3 тайла в руки берётся тайл со сноса,
* промотированный -- 2+1+1 тайлов, т.е. сначала на пару из руки объявляется панг, затем (не в этом ходе!) к пангу на столе доставляется тайл. ИМЕННО ЭТОТ тип можно ограбить в спортивных правилах (хотя другие правила необходимо проверять отдельно. Точно известно, что для "13 сирот" в риичи позволяется ограбить даже закрытый конг).

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

Вы можете воспользоваться поиском на этом сайте, мне кажется, подобное обсуждение уже имело место.
Последнее редактирование: 29 Июн 2012 10:49 от Combo.
Администратор запретил публиковать записи.

Re: Уточнение некоторых правил для новой программы 29 Июн 2012 11:37 #8817

  • Jimmy
  • Jimmy's Avatar
  • Вне сайта
  • Мад...
  • Сообщений: 49
Большое спасибо! Вы снова меня выручили!
Администратор запретил публиковать записи.

Re: Уточнение некоторых правил для новой программы 21 Окт 2012 08:23 #9166

  • Jimmy
  • Jimmy's Avatar
  • Вне сайта
  • Мад...
  • Сообщений: 49
Вновь решил вернуться к принципу одноразового подсчета. Учитывая то, что здесь было сказано предлагаю свой алгоритм выбрасывая лишних фанов, с учетом этого принципа.
1. Определяем всевозможные фаны без каких-бы то ни было принципов.
2. Выбрасываем лишние, учитывая принципы неповторения(1) и неидентичности(3).
3. Если есть фан, состоящий из трех сетов, он может быть только один. Это так? (Указываю только те, что представляют интерес для принципа одноразового подсчета.) №17,23,24,28,30,32,33,39,41,42,51. Тогда из всех фанов, состоящих из двух сетов (№48,57,65,66,69,70,71,72), я оставляю один любой, на очки не повлияет какой именно.
4. Если нет фанов, состоящих из трех сетов, но есть фаны из двух сетов (какие, см. п.3), из них я оставляю любые три, лишь бы каждый сет входил в оставшиеся фаны не более двух раз. Если такой тройки сетов не найдется, оставляю любые два сета.

Подскажите, так ли это?
Заранее спасибо!

(Наверное стоит выбросить из рассуждений фаны № 17,33,48,57?)
Последнее редактирование: 21 Окт 2012 08:31 от Jimmy.
Администратор запретил публиковать записи.

Re: Уточнение некоторых правил для новой программы 24 Окт 2012 13:36 #9167

  • KenichiQ
  • KenichiQ's Avatar
занимаюсь похожей работой :)
тоже хотелось бы услышать более точное и понятное толкование правила "одноразового подсчета"
Последнее редактирование: 24 Окт 2012 13:37 от KenichiQ.
Администратор запретил публиковать записи.

Re: Уточнение некоторых правил для новой программы 24 Окт 2012 16:02 #9168

  • Combo
  • Combo's Avatar
  • Вне сайта
  • Administrator
  • Сообщений: 3177
KenichiQ wrote:
тоже хотелось бы услышать более точное и понятное толкование правила "одноразового подсчета"
KenichiQ, извините, что не ответил Вам в личных сообщениях -- запарка на работе -- принцип одноразового подсчёта был детально описан в сообщении #8799 в этой же ветке.
Администратор запретил публиковать записи.

Re: Уточнение некоторых правил для новой программы 24 Окт 2012 17:34 #9169

  • KenichiQ
  • KenichiQ's Avatar
Combo
Пока писал ответ, на меня снизошло озарение :) и до меня наконец-то дошел этот принцип.
Итак. То как я его понял.
Будем брать на примере самой просто руки :
:1d: :2d: :3d: - :4d: :5d: :6d: - :1d: :2d: :3d: - :4d: :5d: :6d:
Раньше я считал что тут должно быть 4 фана. Два коротких ряда, и два чистых двойных чоу. Каждый сэт используется не более двух раз, а значит нету никаких проблем с принципом "одноразового подсчета"
Теперь до меня дошло :)
мы определяем один фан(это будет короткий ряд 123 456). маркируем вошедшие в него сеты, как принадлежащие главной комбинации.
и теперь дважды вырываем из этого основного фана по одному сэту(разному! потому что мы не имеем права использоват сет более чем один раз, тоесть 123 и 456), для двух оставшихся сетов(которые мы тоже не имеем права использовать более чем один раз 123 и 456), и получаем два чистых двойных чоу (123-123 и 456-456).

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

Re: Уточнение некоторых правил для новой программы 24 Окт 2012 17:50 #9170

  • Jimmy
  • Jimmy's Avatar
  • Вне сайта
  • Мад...
  • Сообщений: 49
Как я понял - можете, но только один раз.
Администратор запретил публиковать записи.

Re: Уточнение некоторых правил для новой программы 24 Окт 2012 17:55 #9171

  • KenichiQ
  • KenichiQ's Avatar
В том и дело, что если главным фаном я определю короткий ряд, а потом добавлю к нему как второстепенный фан тоже короткий ряд, то ни на 123-123 ни на 456-456 я уже не смогу сказать чистое двойное чоу.
другое дело если я объявил главным фаном короткий ряд и навесил на него сверху два чистых двойных чоу.
или же наоборот, объявил главным чистое двойное чоу, и сверху навесил два коротких ряда.
Администратор запретил публиковать записи.

Re: Уточнение некоторых правил для новой программы 24 Окт 2012 17:57 #9172

  • Jimmy
  • Jimmy's Avatar
  • Вне сайта
  • Мад...
  • Сообщений: 49
И если я правильно понял в любом случае мы заработаем 3 очка, что вроде и утверждается в моем алгоритме, указанным на основе пояснений Combo. Но конечно нет уверенности, что это так.
Администратор запретил публиковать записи.

Re: Уточнение некоторых правил для новой программы 24 Окт 2012 18:03 #9173

  • KenichiQ
  • KenichiQ's Avatar
Вы все правильно поняли. Мой вопрос скорее всего звучит как буквоедство, и просто желание поразмыслить над неточными парвилами.
Администратор запретил публиковать записи.
  • Страница:
  • 1
  • 2
  • 3
  • 4
Время создания страницы: 0.183 секунд
You are here Forum Форум сайта mahjong.ru Общий форум Маджонг и компьютер Уточнение некоторых правил для новой программы