Speeding up permutations generation

Gene Heskett gheskett at wdtv.com
Fri Mar 6 11:14:06 EST 2015



On Friday 06 March 2015 06:22:34 Dave Angel wrote:
> 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

What utility output that as an L ?

But you are right, new wheezy install with TBE desktop and kcalc has been 
played with. I used the wrong button.  It seems every new and 
streamlined version is progressively stripped of some function I have 
formerly found useful,  Grrrrrr. Not related to this, but now the binary 
bit display has been excised.  Handier than bottled beer when 
checking/designing address decoders.

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

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>



More information about the Python-list mailing list