Does it make sense to do this in reverse? That is, generate boards at random, then "play" the boards. Board play is along 2 lines -- mean number of random touches to clear, and minimum number of touches in best play.
Easy boards will have less variation between random and best play, compared to hard boards. As the board difficulty rises, then given number of touches gets closer to best play. (It's up to you whether you use the "infallible" level, where allowed touches == best play.)
Thanks for the diversion today!
Quantum Mechanics: The dreams stuff is made of