Robert,<br>
<br>
I spent way to much time thinking about this problem yesterday.<br>
<br>
I came up with this REALLY cool recursive algorithm to find all the possible 8 letter combinations given 16 characters. and then piped it into aspell -a since Text::Aspell is too slow. It turns out aspell  -a is too slow too also. I think it's because it's spending all its time trying to give you alternate spellings when you really just want it to tell you yes or no.<br>
<br>
Watching the output I realized the code was spending WAY too much time determining if a series of combinations was right when the human watching the output scroll by could obviously see that nothing starts with "sse". So I went and found a 350,000 word text dictionary and wrote something that could answer: anything_starts_with("sse"); It turns out you can save even more time if you know what the word length will need to be since what you really want to know is "does any word of length 8 start with sse?"<br>
<br>
So the joke is that I now had my program running time on this program from 5+ minutes to 30 seconds:<br>
<br>
$> time perl -Ilib -MWordBrain::Combos -E'WordBrain::Combos::find_words("ssehrckeionisswl", [4, 4, 8]);'<br>
<br>
At this point I was still using aspell when I had the final word to verify it. It occurred to me I could use my anything_starts_with check on the 8 character string just as good as the partials. I made this change and suddenly the program time dropped to 3 seconds.<br>
<br>
So TL;DR; Aspell sucks for what this code needs it for. Code attached to make run time reasonable. What I'd probably do is NOT use find_words but instead just use anything_starts_with() to short my maze walker when I get to an invalid sequence. I suspect that would bring almost all puzzles down to a manageable time. NOTE You have to clear the cache and set $max_dict_word_len when your word length changes.<br>
<br>
I could not divine how to go about altering the code to make this work.<br>
<br>
Code attached.<br>
<br>
<br>
<br>
<br>
On Wed, Feb 17, 2016 at 7:48 PM, Robert Stone via Houston <<a href="javascript:;" onclick="_e(event, 'cvml', 'houston@pm.org')">houston@pm.org</a>> wrote:<br>
> Greetings,<br>
><br>
> A tremendous THANK YOU to everyone who was able to join me for my "Solving<br>
> WordBrain" presentation.  It certainly is a little rough around the edges<br>
> but I really appreciate the opportunity to present to everyone.<br>
><br>
> Moreover, the feedback provided was fantastic!  I'm looking forward to<br>
> implementing some of the changes everyone suggested.<br>
><br>
> I hope everyone enjoyed the presentation as much as I enjoyed delivering it.<br>
> Thank you all again for having me.<br>
><br>
> Best Regards,<br>
> Robert Stone<br>
><br>
> _______________________________________________<br>
> Houston mailing list<br>
> <a href="javascript:;" onclick="_e(event, 'cvml', 'Houston@pm.org')">Houston@pm.org</a><br>
> <a href="http://mail.pm.org/mailman/listinfo/houston" target="_blank">http://mail.pm.org/mailman/listinfo/houston</a><br>
> Website: <a href="http://houston.pm.org/" target="_blank">http://houston.pm.org/</a><br>
<br>
<br>
<br>
--<br>
Todd Rinaldo<br>
<a href="javascript:;" onclick="_e(event, 'cvml', 'todd@rinaldo.us')">todd@rinaldo.us</a><br>
<br><br>-- <br>Todd Rinaldo<br><a href="mailto:todd@rinaldo.us" target="_blank">todd@rinaldo.us</a><br>