How many circular permutations are there of the multiset $$S=\{2*a,3*b,4*c,5*d\}$$ where for each type of letter, all letters of that type do not appear consecutively.
2026-03-25 22:09:18.1774476558
Circular Permutations of a Multiset
1.3k Views Asked by Bumbble Comm https://math.techqa.club/user/bumbble-comm/detail At
1
There are 1 best solutions below
Related Questions in PERMUTATIONS
- A weird automorphism
- List Conjugacy Classes in GAP?
- Permutation does not change if we multiply by left by another group element?
- Validating a solution to a combinatorics problem
- Selection of at least one vowel and one consonant
- How to get the missing brick of the proof $A \circ P_\sigma = P_\sigma \circ A$ using permutations?
- Probability of a candidate being selected for a job.
- $S_3$ action on the splitting field of $\mathbb{Q}[x]/(x^3 - x - 1)$
- Expected "overlap" between permutations of a multiset
- Selecting balls from infinite sample with certain conditions
Related Questions in MULTISETS
- Expected "overlap" between permutations of a multiset
- Bijection between sets and multisets
- Optimal way to choose a "prediction" for a random variable
- Binary Entropy solving over uniform distributions
- Permutation of a multiset with restrictions on two characters.
- Simplification of a Finite Sum
- I am confused with braces inside braces. Please help me to figure out which are elements and which are sets in this set given in the picture .
- How many distinct subsets of the set $S=\{1,8,9,39,52,91\}$ have odd sums?
- Family over a set such that the union is the set
- Generating function for sequence $a_i={n+im-1 \choose im}$
Trending Questions
- Induction on the number of equations
- How to convince a math teacher of this simple and obvious fact?
- Find $E[XY|Y+Z=1 ]$
- Refuting the Anti-Cantor Cranks
- What are imaginary numbers?
- Determine the adjoint of $\tilde Q(x)$ for $\tilde Q(x)u:=(Qu)(x)$ where $Q:U→L^2(Ω,ℝ^d$ is a Hilbert-Schmidt operator and $U$ is a Hilbert space
- Why does this innovative method of subtraction from a third grader always work?
- How do we know that the number $1$ is not equal to the number $-1$?
- What are the Implications of having VΩ as a model for a theory?
- Defining a Galois Field based on primitive element versus polynomial?
- Can't find the relationship between two columns of numbers. Please Help
- Is computer science a branch of mathematics?
- Is there a bijection of $\mathbb{R}^n$ with itself such that the forward map is connected but the inverse is not?
- Identification of a quadrilateral as a trapezoid, rectangle, or square
- Generator of inertia group in function field extension
Popular # Hahtags
second-order-logic
numerical-methods
puzzle
logic
probability
number-theory
winding-number
real-analysis
integration
calculus
complex-analysis
sequences-and-series
proof-writing
set-theory
functions
homotopy-theory
elementary-number-theory
ordinary-differential-equations
circles
derivatives
game-theory
definite-integrals
elementary-set-theory
limits
multivariable-calculus
geometry
algebraic-number-theory
proof-verification
partial-derivative
algebra-precalculus
Popular Questions
- What is the integral of 1/x?
- How many squares actually ARE in this picture? Is this a trick question with no right answer?
- Is a matrix multiplied with its transpose something special?
- What is the difference between independent and mutually exclusive events?
- Visually stunning math concepts which are easy to explain
- taylor series of $\ln(1+x)$?
- How to tell if a set of vectors spans a space?
- Calculus question taking derivative to find horizontal tangent line
- How to determine if a function is one-to-one?
- Determine if vectors are linearly independent
- What does it mean to have a determinant equal to zero?
- Is this Batman equation for real?
- How to find perpendicular vector to another vector?
- How to find mean and median from histogram
- How many sides does a circle have?
The key observation here is the following. The problem becomes interesting when there are duplicate counts in the multiset or when the GCD of the counts is more than one.
Remark. The task that we are treating here represents the case where the forbidden configurations are those that contain a block where all letters of one type appear consecutively, e.g. in the example from the OP this would be a block of two $a$s, three $b$s, four $c$s or five $d$s.
Applying the Polya Enumeration Theorem (PET) we have the cycle index of the cyclic group
$$Z(C_n) = \frac{1}{n}\sum_{d|n} \varphi(d) a_d^{n/d}.$$
Let the multiset be represented by the polynomial
$$A_1^{q_1} A_2^{q_2} \times\cdots\times A_p^{q_p}.$$
where $p$ is the number of different types of elements and the $q$ represent multiplicities. Introduce $A=\{1,2,\ldots p\}$ and define for $B\subseteq A$
$$s(B) = |B|+\sum_{k\in A\setminus B} q_k.$$
Furthermore we introduce
$$t(B) = \prod_{k\in B} A_k \prod_{k\in A\setminus B} A_k^{q_k}.$$
The sets $B$ represent fused blocks where the types contained in $B$ appear consecutively. We then have by inclusion-exclusion the closed form
$$\sum_{B\subseteq A} (-1)^{|B|} \left[t(B)\right] Z(C_{s(B)}) \left(\sum_{k\in A} A_k\right).$$
where $\left[t(B)\right]$ denotes coefficient extraction.
Applying this to $A_1^2 A_2^3 A_3^4 A_4^5$ yields the answer
$$\bbox[5px,border:2px solid #00A000]{144029}.$$
The Maple code for this was as follows. (We have included a total enumeration routine which is practicable only for small element counts but does nonetheless confirm the results from PET in those cases that were checked.)
with(numtheory); with(combinat); pet_varinto_cind := proc(poly, ind) local subs1, subs2, polyvars, indvars, v, pot, res; res := ind; polyvars := indets(poly); indvars := indets(ind); for v in indvars do pot := op(1, v); subs1 := [seq(polyvars[k]=polyvars[k]^pot, k=1..nops(polyvars))]; subs2 := [v=subs(subs1, poly)]; res := subs(subs2, res); od; res; end; pet_cycleind_cyclic := proc(n) local d, s; s := 0; for d in divisors(n) do s := s + phi(d)*a[d]^(n/d); od; s/n; end; mset_incl_excl := proc(mset) option remember; local res, pset, types, dist, pos, gf, src, cind, slots; types := nops(mset); res := 0; for pset in powerset([seq(q, q=1..types)]) do dist := [seq(`if`(member(q, pset), 1, mset[q]), q=1..types)]; slots := add(q, q in dist); src := add(A[q], q=1..types); cind := pet_cycleind_cyclic(slots); gf := pet_varinto_cind(src, cind); gf := expand(gf); for pos to types do gf := coeff(gf, A[pos], dist[pos]); od; res := res + gf*(-1)^nops(pset); od; res; end; mset_enum := proc(mset) local perm, cperm, orbits, orbit, rot, pos, src, kind, types, slots, runl; types := nops(mset); src := [seq(seq(q, p=1..mset[q]), q=1..types)]; slots := add(q, q in mset); orbits := table(); for perm in permute(src) do orbit := {}; for pos to slots do rot := [seq(perm[q], q=pos..slots), seq(perm[q], q=1..pos-1)]; orbit := orbit union {rot}; od; cperm := [op(perm), op(perm)]; for kind to types do runl := 0; for pos to nops(cperm) do if cperm[pos] = kind then runl := runl + 1; else runl := 0; fi; if runl = mset[kind] then break; fi; od; if pos <= nops(cperm) then break; fi; od; if kind = types + 1 then orbits[orbit] := 1; fi; od; nops([indices(orbits)]); end;Addendum Nov 2 2016. The above formula admits radical simplification. We effectively remove all symmetries as soon as we fuse a block of similar elements. Therefore we only need the cycle index in the first step when we compute the set of all circular configurations. We may simply divide by the number of elements thereafter. This gives the formula
$$[t(\emptyset)] Z(C_{s(\emptyset)})\left(\sum_{k\in A} A_k\right) + \sum_{B\neq\emptyset, B\subseteq A} (-1)^{|B|} \frac{(s(B)-1)!}{\prod_{k\in A\setminus B} q_k!}.$$
The Maple code now becomes
mset_incl_excl2 := proc(mset) option remember; local res, pset, types, dist, pos, gf, src, cind, slots; types := nops(mset); slots := add(q, q in mset); src := add(A[q], q=1..types); cind := pet_cycleind_cyclic(slots); gf := pet_varinto_cind(src, cind); gf := expand(gf); for pos to types do gf := coeff(gf, A[pos], mset[pos]); od; res := gf; for pset in powerset({seq(q, q=1..types)}) minus {{}} do dist := [seq(`if`(member(q, pset), 1, mset[q]), q=1..types)]; slots := add(q, q in dist); res := res + (-1)^nops(pset)*(slots-1)! / mul(q!, q in dist); od; res; end;