Как использовать кости, чтобы определить начальную позицию в Fischer Random?

15

Используя набор платоновских костей (тетраэдр, куб, октаэдр, додекаэдр и икосаэдр), какой способ выбора начальной позиции в игре Fischer Random Chess (Chess 960) использует наименьшее количество бросков костей?

Я ищу способ, которым

  • не просто дает число от 1 до 960, которое вы затем смотрите в упорядоченном списке стартовых позиций

  • позволяет размещать фигуры в последовательности - например, сначала грачи, затем слоны, затем король или в каком-то другом порядке

  • дает каждую из 960 позиций с равной вероятностью

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

Вам не нужно использовать каждый кубик. Если только, скажем, октаэдр нужно использовать, это нормально!

H34
источник
1
Я знаю, что ФИДЕ взяла руководство по этому вопросу из своей книги правил, но в 2011 или 2012 году, когда я написала заявку на отрисовку стартовых позиций шахмат Фишера, это было доступно; у него были очень четкие инструкции о шагах и их порядке. Если найду - выложу. Предлагаем проверить страницу справочника ФИДЕ с помощью устройства возврата Google или найти версию правил ФИДЕ, которая существует около 10 лет. Также, если я преодолею свою лень, я проверю код своего приложения на выходных.
Драко

Ответы:

8

Несколько способов сделать это описаны в Википедии . Например:

Бросьте все кости за один бросок и расставьте фигуры белых следующим образом:

  • Поместите епископа в один из восьми квадратов (считая слева, от 'a' до 'h'), как указано октаэдром (d8).

  • Поместите другого слона в один из четырех квадратов противоположного цвета, как указано тетраэдром (d4).

  • Поместите королеву в один из оставшихся шести квадратов, как указано кубом (d6).

  • Возьмите значение икосаэдра (d20), разделите на четыре (округлите вверх), и пусть «x» = частное, а «y» = остаток + 1. Поместите коня в «x» -й пустой квадрат. Затем поместите другого рыцаря на оставшуюся пустую клетку. Другими словами, смотрите d20 как d5 для первого рыцаря: 1-4, 5-8, 9-12, 13-16 и 17-20. Затем для второго рыцаря, посмотрите в группе, чтобы получить d4. Например, 20 в пятой группе и четвертое место в этой группе, поэтому поместите рыцарей в пятый и четвертый квадрат. 11 находится в третьей группе и третьем месте.

Вы также можете использовать только d10, поскольку после размещения епископов и королевы есть только десять уникальных мест размещения рыцарей. Держите одного рыцаря на самом левом квадрате и сосчитайте один, два, три, четыре с другим рыцарем на пустом квадрате, затем, когда он зациклится, переместите самого левого рыцаря на один квадрат вправо, пять, шесть, семь, затем он снова зациклится , восемь, девять, и, наконец, с десятью оба рыцаря так далеко, как они идут. Например, с шестью рыцарь будет помещен на второй из пяти пустых квадратов, тогда второй рыцарь будет на втором из трех квадратов, которые являются пустыми справа от рыцаря. Использование d10 таким образом после двух разноцветных d4: s и d6 является минимальным однократным способом, поскольку 4 × 4 × 6 × 10 составляет ровно 960. (И, вычитая по одному из каждого кристалла и умножая на 1, 4 16 и 96 соответственно,

Или в качестве альтернативы (используя дополнительный кубик и другие расчеты): поместите первого коня в соответствии со значением кубика d20, посчитав пять пустых квадратов и вернувшись назад к левому краю, достигая крайнего правого пустого квадрата. Затем, оставив четыре пустых квадрата, сделайте то же самое для другого рыцаря, используя кубик додекаэдра (d12). С помощью этого метода каждая позиция представлена ​​48 различными способами.

  • Поместите короля между ладьями на оставшиеся три клетки.

Установлено (но не доказано), что этот метод (и другие) «генерирует [e] случайные стартовые позиции с равной вероятностью».

Глорфиндель
источник
Благодарю. Это особенно хорошо с икосаэдром. Если мы изменим мой метод, чтобы использовать икосаэдр таким образом, чтобы разместить N, то нам всегда нужно ровно 4 броска (d4 для каждого из двух B, d6 для Q, d20 для двух N вместе).
h34
2
В принципе, должно быть возможно сделать это с 3 бросками, так как 960 = 20 * 12 * 4. Кодирование становится все более сложным.
Федерико Полони
1
Конечно, это по сути то же самое, что и теорема Шеннона о бесшумном кодировании .
Глорфиндель
Например, одним из таких методов будет: d4 сообщает положение черного B; d12 указывает положение белого B и дает число 1-3, которое объединяется с первой цифрой d20 (0 или 1) для кодирования положения Q; затем вторая цифра d20 кодирует позиции Ns.
Федерико Полони
3

Нумерация слева от белых и предположение, что каждый кубик несет последовательные целые числа, начиная с 1, вы можете сделать это в следующем порядке: BQN:

  • бросить тетраэдр; если n вверх, поместите квадрат B в квадрате n-го свободного белого квадрата
  • сделайте то же самое для другого B, за исключением того, что поместите его в n-й свободный черный квадрат
  • бросить кубик; если n вверх, поместите Q на n-й свободный квадрат
  • бросить кубик; перебрасывать, пока не наберется число n ≠ 6; поместите N на n-й свободный квадрат
  • бросить тетраэдр; если n вверх, поместите другой N на n-й свободный квадрат
  • Теперь поместите РКР на оставшиеся свободные квадраты в указанном порядке.

Этот метод использует два кубика: тетраэдр и куб. Тетраэдр брошен 3 раза; куб минимум в 2 раза и в среднем в 2,2 раза.

Эквивалентно, используйте один додекаэдр и интерпретируйте основание 4 или 6 в зависимости от того, будете ли вы в противном случае использовать тетраэдр или куб. Затем вам нужно бросить как минимум 5 раз, а в среднем 5,2 раза.

Это аккуратно, потому что все, что вам нужно помнить, это "BQN". Но я не знаю, дает ли это все 960 позиций с равной вероятностью.

H34
источник
Если у вас нет тетраэдра, вы, конечно, можете бросить обычный шестигранный кубик, пока не получите результат, который не 5 или 6.
Артур
2

В 2005 году или ранее Эдвард Д. Коллинз написал следующую процедуру «Как создать произвольную открытую позицию Фишера».

Пешки идут на свои исходные поля. Фишки будут размещены случайным образом на заднем ранге в соответствии с правилами случайных шахмат Фишера. Епископы должны быть разного цвета, а король должен находиться между двумя ладьями. Для каждого из первых пяти шагов ниже, просто бросьте кубик и действуйте соответственно, чтобы поместить белые части. Размещая фигуры белых, фигуры черных - просто зеркальное отражение.

Шаг # 1 Выберите черный квадрат для слона. Если вы бросаете 1, ставьте слона на a1. Если вы бросаете 2, ставьте слона на с1. Если вы бросаете 3, ставьте слона на е1. Если вы бросаете 4, ставьте слона на g1. Если вы бросаете 5 или 6, бросьте снова.

Шаг № 2 Выберите белый квадрат для следующего слона. Если вы бросаете 1, ставьте слона на b1. Если вы бросаете 2, ставьте слона на d1. Если вы бросаете 3, ставьте слона на f1. Если вы бросаете 4, ставьте слона на h1. Если вы бросаете 5 или 6, бросьте снова.

Шаг № 3 Поместите Королеву на пустой квадрат числа, которое вы катите. Например, если вы бросаете 1, поместите Королеву на первый пустой квадрат. Если вы бросаете 3, поместите Королеву на третий пустой квадрат.

Шаг № 4 Поместите коня на пустой квадрат числа, которое вы катите. Опять же, например, если вы бросаете 2, поместите коня на второй пустой квадрат. Если вы бросаете 6, бросьте снова.

Шаг № 5 Повторите Шаг № 4 для другого рыцаря. Если вы бросаете 5 или 6, бросьте снова.

Шаг № 6 Наконец, поместите Короля между двумя ладьями.

Эта процедура создает любую из 960 возможных настроек открытия с равной вероятностью.

РЕДАКТИРОВАТЬ: источник http://www.edcollins.com/chess/fischer-random.htm

djnavas
источник