Recursive generator for combinations of a multiset?

Dan Stromberg drsalists at gmail.com
Thu Dec 5 23:05:00 EST 2013


On Wed, Nov 20, 2013 at 10:46 PM, John O'Hagan <research at johnohagan.com>wrote:

>
> Short story: the subject says it all, so if you have an answer already,
> fire away. Below is the long story of what I'm using it for, and why I
> think it needs to be recursive. It may even be of more general
> interest in terms of filtering the results of generators.
>


> Any suggestions?
>
I've updated my code at
http://stromberg.dnsalias.org/svn/anagrams/trunk/; It's multiword now.
 It can blast through the word "punishment" in 4
seconds, but for "The public art galleries" it ate about 7 gigabytes of RAM
and ran for more than a day before I killed it.

I believe it's an exponential problem.  Parallelization might help, but
it'd probably take a lot of RAM that way.  Maybe the RAM use would be
better with CPython, but it's much faster with Pypy; I did most of my
testing with Pypy 2.2.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20131205/15873954/attachment.html>


More information about the Python-list mailing list