So a friend of mine brought Bananagrams over last night http://en.wikipedia.org/wiki/Bananagrams and it got me thinking about what an optimal algorithm would be to solve your board. I couldn't convince myself I had an optimal answer so I thought we could brainstorm.