Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: k-permutations enumeration

  • To: mathgroup at smc.vnet.net
  • Subject: [mg116383] Re: k-permutations enumeration
  • From: Michal Kvasnicka <michal.kvasnicka at gmail.com>
  • Date: Sat, 12 Feb 2011 05:21:17 -0500 (EST)
  • References: <ij0eaq$9eo$1@smc.vnet.net> <ij2umh$7kn$1@smc.vnet.net>

On Feb 11, 10:14 am, Ray Koopman <koopman at sfu.ca> wrote:
> On Feb 10, 2:23 am, Michal Kvasnicka <michal.kvasni... at gmail.com>
> wrote:
>
>
>
> > How can I find the number of k-permutations of n objects, where there
> > are x types of objects, and r1, r2, r3 ... rx give the number of each
> > type of object?
>
> > Example:
> > I have 20 letters from the alphabet. There are some duplicates - 4 of
> > them are a, 5 of them are b, 8 of them are c, and 3 are d. How many
> > unique 15-letter permutations can I make?
>
> > In the example:
>
> > n = 20
> > k = 15
> > x = 4
> > r1 = 4, r2 = 5, r3 = 8, r4 = 3
>
> > Furthermore, if there isn't a straightforward solution: how
> > efficiently can this problem be solved? Any Mathematica code?
>
> Please disregard my previous post, which counted only
> "words" containing all of the x different "letters".
>
> k = 15; r = {4,5,8,3};
> Tr[Multinomial@@@Select[Tuples[Range[0,#]&/@r],Tr@#==k&]]
>
> 187957770

Ooooh ... nice work!!! This is really very compressed mathematica
code.

Is there any chance to find general enumeration closed form for k-
permutation of multiset? Just
like following form for special case (k=n):
(r1+r2+...+rx)!/(r1!r2!... rx!), n=r1+r2+...rx.

Michal


  • Prev by Date: Re: 3D surface plots - non deletion of data inside undesirable
  • Next by Date: Re: two questions - Mathematica's statistical capacities
  • Previous by thread: Re: k-permutations enumeration
  • Next by thread: Re: k-permutations enumeration