如何使用骰子确定Fischer Random中的起始位置?


15

使用一组柏拉图骰子(四面体,立方体,八面体,十二面体和二十面体),在菲舍尔国际象棋(Chess 960)游戏中选择初始位置的哪种方法使用的掷骰子最少?

我正在寻找一种方法

  • 不会简单地产生1到960之间的数字,然后您可以在开始位置的有序列表中查找

  • 允许按顺序放置棋子-例如,首先是菜鸟,然后是主教,然后是国王,或者是其他顺序

  • 以相等的概率产生960个头寸中的每个头寸

规则规定,对于每个球员,主教必须在相反颜色的正方形上,国王必须在新手之间。

您不必使用每个骰子。如果仅需要使用八面体,那就好!


1
我知道国际棋联从其规则书中删除了手册,但是在2011年或2012年,我编写了绘制费舍尔·兰德象棋起始位置的应用程序时就可以使用它。它具有关于步骤及其顺序的非常清晰的说明。如果可以找到-我将其发布。建议使用Google备用计算机检查FIDE手册页,或搜索大约10年的FIDE规则版本。另外,如果我克服了懒惰,我会在周末检查我的应用程序代码。
Drako '18 -10-26

Answers:


8

维基百科上介绍了几种方法。例如:

将所有骰子一掷一掷,然后将White的棋子放置如下:

  • 按照八面体(d8)的指示,将主教放在八个正方形之一(从左侧开始,从'a'到'h')。

  • 将另一个主教放在四面体(d4)指示的相反颜色的四个正方形之一上。

  • 将女王放在立方体(d6)指示的其余六个正方形之一上。

  • 取二十面体的值(d20),除以四(四舍五入),然后让'x'=商,'y'=余数+1。在第'x'个空方块上放置一个骑士。然后将另一个骑士放在第y个剩余的空方格上。换句话说,将第一个骑士的d20视为d5:1-4、5-8、9-12、13-16和17-20。然后,对于第二个骑士,在组中查看以得到d4。例如,第五组中的20代表该组中的第四名,因此将骑士放置在第五方和第四方中。11在第三组和第三名中。

您也可以仅使用d10,因为一旦放置了主教和女王,骑士的位置就只有十个。在最左边的正方形上握住一个骑士,在空的正方形上数一,二,三,四个骑士,然后在循环时,将最左边的骑士向右移动一个正方形,即五,六,七,然后再次循环,八个,九个,最后有十个,两个骑士都走得很远。例如,如果骑士人数为6,则将骑士放置在五个空方格中的第二个方格上,然后将骑士放置在骑士右边的三个空方格中的第二个方格中。在两个不同颜色的d4:s和d6之后以这种方式使用d10是最小的一卷方法,因为4×4×6×10恰好是960。(而且,通过从每个模具中减去一个并乘以1,4 ,分别为16和96,

或者(使用其他骰子和不同的计算方法):根据d20骰子的值放置第一个骑士,方法是计数五个空方格,并在到达最右边的空方格时向左循环。然后在剩下四个空方块的情况下,使用十二面体(d12)模具对另一个骑士进行相同的操作。使用此方法,每个位置都以48种不同的方式表示。

  • 将国王放置在其余三个正方形的车子之间。

据指出(但未证明),该方法(和其他方法)“以相等的概率生成随机起始位置”。


谢谢。二十面体尤其整洁。如果我们修改以二十面体的方式放置Ns的方法,那么我们总是需要精确地抛出4次(两个B分别为d4,Q为d6,两个N为d20)。
h34

2
原则上,应该进行3次抛出,因为960 = 20 * 12 * 4。但是,编码变得更加复杂。
Federico Poloni '18

1
当然,这基本上与香农的无噪编码定理相同
Glorfindel

例如,一种这样的方法将是:d4告诉黑色B的位置;d12告诉白色B的位置,给出一个1-3的数字,该数字与d20的第一位数字(0或1)组合以编码Q的位置;然后d20的第二个数字对Ns的位置进行编码。
Federico Poloni '18 October

3

从白色的左边开始编号,并假设每个骰子都包含从1开始的连续整数,则可以按BQN的顺序进行操作,如下所示:

  • 扔四面体; 如果n向上,则将白方块B放置在第n个空白白方块上
  • 对另一个B进行相同的操作,除了将其放置在第n个自由黑色正方形上
  • 扔一个立方体 如果n向上,则将Q放在第n个自由正方形上
  • 扔一个立方体 重新抛出,直到数字n≠6为止;在第n个自由方块上放置N
  • 扔四面体; 如果n向上,则将另一个N放置在第n个自由正方形上
  • 现在按该顺序将RKR放在剩余的自由正方形上

此方法使用两个骰子:四面体和立方体。四面体投掷3次;立方体最少2次,平均2.2次。

等效地,使用单个十二面体,并根据是否使用四面体或立方来解释n 4或6基。然后,您需要至少掷出5次,平均投掷5.2次。

这很简单,因为您只需要记住“ BQN”即可。但是我不知道这是否以相等的概率产生所有960个职位。


如果你没有一个四面体,就可以了,当然,抛出一个普通的六面的骰子,直到你得到的结果是不是5或6
亚瑟

2

在2005年或更早的一年中,爱德华·D·柯林斯(Edward D. Collins)编写了以下过程“如何创建费舍尔随机开仓头寸”。

棋子在其原始方块上移动。这些棋子将根据菲舍尔国际象棋的规则随机放置在后排。主教必须使用相反的颜色,国王必须在两个白嘴鸦之间。对于下面的前五个步骤中的每个步骤,只需滚动模具并采取相应的措施即可放置白色块。放置白色的棋子之后,黑色的棋子只是一个镜像。

步骤#1为主教选择一个黑色正方形如果滚动1,将主教放在a1上。如果滚动2,则将主教放在c1上。如果滚动3,则在e1上放置一个主教。如果滚动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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.