Speeding up permutations generation

Dave Angel davea at davea.name
Fri Mar 6 06:22:34 EST 2015


On 03/06/2015 05:32 AM, Gene Heskett wrote:
>
>
> On Friday 06 March 2015 03:24:48 Abhiram R wrote:
>>> A list of 100 elements has approximately 9.33 x 10**157
>>> permutations. If you could somehow generate one permutation every
>>> yoctosecond, exhausting them would still take more than a hundred
>>> orders of magnitude longer than the age of the universe.
>>> --
>>> https://mail.python.org/mailman/listinfo/python-list
>>
>> ​True that :D I may have exaggerated on the number. Let's consider
>> something more practically manageable​ => 50 elements with a 50!
>> permutation.
>> Is there a solution now?
>
> Yes, but its now only 8.881784197e+84 elements so it is still not a
> practical target.  Doing all elements of a matrix is generally equ to
> n!, and 50 raised to the 50th power is still a number that will probably
> use up this suns remaining lifetime doing it in assembly.


Sorry, but 50! is not even close to 50**50.  The latter is 85 digits as 
you say, but 50! is "only" 64.


30414093201713378043612608166064768844377641568960512000000000000L


Still an enormous number of course, so an exhaustive visit to all those 
permutations is still impossible on a conventional computer.

-- 
DaveA



More information about the Python-list mailing list