Haskell, Genetic Algorithm, Graph Theory, Programming.
shuffleTiles :: RandomGen g => g -> [Tile] -> (g, [Tile]) shuffleTiles g tiles = (g3, result) where (g1, g2) = split g shuffledTiles = shuffle' tiles (length tiles) g1 (g3, result) = mapAccumL randomizeTile g2 shuffledTiles In order to score the random arrangements of tiles, it’s useful to have a