Haskell, Genetic Algorithm, Graph Theory, Programming.
map topSide tiles ++ map (topSide . flipTile) tiles numFullyConnected :: [Tile] -> Int numFullyConnected tiles = length [() | Tile a b <- tiles, length a == 1 || length b == 1] scoreTiles :: RandomGen g => g -> Int -> [Tile] -> [Double] scoreTiles g n tiles = [ -0.05 * fromIntegral (numBridges