Obsérvese que la función generadora de estas cartas viene dada por
$$(A_1+A_2+\cdots+A_{13})(X_1+X_2+X_3+X_4).$$
Se deduce por el Teorema de Enumeración de Polya (operador de conjuntos) que la función generadora de siete cartas que se eligen de éstas es
$$Z(P_7)((A_1+A_2+\cdots+A_{13})(X_1+X_2+X_3+X_4))$$
donde $Z(P_7)$ es el índice de ciclo del operador de conjunto que actúa sobre siete ranuras.
Ahora, utilizando la inclusión-exclusión para eliminar aquellos términos en los que faltan algunos trajes faltan obtenemos
$$\sum_{S\subseteq X} (-1)^{|S|} \left.Z(P_7)((A_1+A_2+\cdots+A_{13})(X_1+X_2+X_3+X_4))\right|_{S=0}.$$
La regla de sustitución para el índice de ciclo dice que utilizamos
$$a_d = (A_1^d+A_2^d+\cdots+A_{13}^d)(X_1^d+X_2^d+X_3^d+X_4^d).$$
Esto da como resultado
$$a_d = 13 \times (4-|S|).$$
De este modo, obtenemos
$$\sum_{k=0}^4 {4\choose k} (-1)^k Z(P_7)_{a_d = 13(4-k)}.$$
El índice del ciclo en cuestión es
$$Z(P_7) = {\frac {{a_{{1}}}^{7}}{5040}}-{\frac {{a_{{1}}}^{5}a_{{2}}}{ 240}}+{\frac {{a_{{1}}}^{4}a_{{3}}}{72}}+1/48\,{a_{{1}}}^{3}{a _{{2}}}^{2}\\ -1/24\,{a_{{1}}}^{3}a_{{4}}-1/12\,{a_{{1}}}^{2}a_{{ 2}}a_{{3}}-1/48\,a_{{1}}{a_{{2}}}^{3}+1/10\,{a_{{1}}}^{2}a_{{5 }}\\+1/8\,a_{{1}}a_{{2}}a_{{4}} +1/18\,a_{{1}}{a_{{3}}}^{2}+1/24 \,{a_{{2}}}^{2}a_{{3}}-1/6\,a_{{1}}a_{{6}}\\ -1/10\,a_{{2}}a_{{5} }-1/12\,a_{{3}}a_{{4}}+1/7\,a_{{7}}.$$
Obtenemos $76200748$ casos favorables para una probabilidad de
$$76200748 \times {52\choose 7}^{-1} = {\frac {63713}{111860}} \approx 0.5695780440.$$
El código de Maple para esto era el siguiente.
pet\_cycleind\_set :=
proc(n)
local p, s;
option remember;
if n=0 then return 1; fi;
expand(1/n\*add((-1)^(l-1)\*a\[l\]\*
pet\_cycleind\_set(n-l), l=1..n));
end;
X :=
proc()
option remember;
local k, res, ind, subsl;
ind := pet\_cycleind\_set(7);
res := 0;
for k from 0 to 4 do
subsl := \[seq(a\[d\]=13\*(4-k), d=1..7)\];
res := res +
binomial(4,k)\*(-1)^k\*subs(subsl, ind);
od;
res;
end;
El operador de la serie se documentó en este MSE enlace y el argumento de inclusión-exclusión en este Enlace MSE II .
Parece que este problema es lo suficientemente simple como para ser tratado por enumeración total. El siguiente Perl script hace esto, usando aproximadamente veinticinco minutos de tiempo de cálculo para producir la respuesta $$76200748.$$
#! /usr/bin/perl -w
#
sub choose {
my ($src, $sofar, $fref) = @\_;
my $sel = scalar(@$sofar);
if($sel == 7){
my %suits = ();
@suits{ map { $src->\[$\_\]->\[0\] }
@$sofar } = (1) x 7;
$$fref++ if scalar(keys(%suits)) == 4;
return;
}
my $base = 0;
$base = $sofar->\[-1\] + 1 if $sel > 0;
for(my $idx = $base; $idx < 52; $idx++){
push @$sofar, $idx;
choose($src, $sofar, $fref);
pop @$sofar;
}
return;
}
MAIN : {
$| = 1;
my $cards = \[\];
for(my $suit = 1; $suit <= 4; $suit++){
for(my $card = 1; $card <= 13; $card++){
push @$cards, \[$suit, $card\];
}
}
my $favorable = 0;
choose($cards, \[\], \\$favorable);
print "$favorable\\n";
}