PIECES=:;:NAMES=:'LR KN BB QU KI WB KN RR BI'
S=:s:PIECES NB. symbols make a pretty display
([NAMES) =: S
A=:(A.~ i.@:!@:#) 8{.S NB. all anagrams
position=:A&(i."1)
lt=:<&position
white=:(2 | ])@position
black=:-.@:white
NB. king surrounded by rooks, white and black bishops.
B=:((LR lt KI)*.(KI lt RR)*.(black BB)*.(white WB))#A
NB. whoops! Bishops are indistinguishable
C=:(e.&(WB,BB))`(,:&BI)}B
FISCHER_RANDOM_SETS =: ~. C
#FISCHER_RANDOM_SETS NB. Fischer 960 indeed.
960
8 (] {~ [: ? (# #)) FISCHER_RANDOM_SETS NB. 8 sampled setups.
`LR `BI `KN `KN `BI `KI `QU `RR
`KN `LR `KN `QU `BI `BI `KI `RR
`LR `BI `KN `KI `BI `RR `KN `QU
`BI `KN `LR `KN `KI `BI `RR `QU
`LR `BI `BI `QU `KN `KN `KI `RR
`KN `QU `KN `BI `BI `LR `KI `RR
`BI `LR `KI `KN `RR `BI `QU `KN
`LR `BI `KI `QU `BI `RR `KN `KN
NB. Can't tell left from right rooks? ha ha.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm