A couple additional parameters:
- Ubiquity of the word. For example, common words are more likely to be put up there, so a better AI would pick common words first. A worse AI will pick at random.
- Figuring out what letters can or cannot be next to another. For example, "xz" doesn't happen ever in English. Same with eeii and other combinations. A smart algorithm uses that information to prune the search tree. A dumb one doesn't.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?