Haskell, Genetic Algorithm, Graph Theory, Programming.
Bool -> Double objective gen = unsafePerformIO $ do g <- newStdGen return $ sum $ scoreTiles g 500 $ decodeTiles gen The Final Result Using moo, I was able to maintain or improve on all components of the scoring. For the tiles I drew in attempt #2: 13 bridges were needed across the 40 tile designs.