Also hatten wir Secret Santa bei der Arbeit.
Wir sind 8 Leute. Wir wechselten uns ab und zogen ein kleines Stück Papier aus einer Schüssel mit einem Namen darauf. Einzige Regel: Wenn Sie Ihren Namen ziehen, müssen Sie das Stück Papier wieder in die Schüssel legen und es erneut versuchen.
Nennen wir die Leute A, B, C, D, E, F, G, H, was auch die Reihenfolge ist, in der sie ihr Stück Papier ausgewählt haben.
Wir haben gestern Abend den Geschenkaustausch gemacht.
A war Fs geheimer Weihnachtsmann.
B war E's geheimer Weihnachtsmann.
C war Ds heimlicher Weihnachtsmann.
D war Cs geheimer Weihnachtsmann.
E war B's geheimer Weihnachtsmann.
F war A's geheimer Weihnachtsmann.
G war Hs geheimer Weihnachtsmann.
H war Gs geheimer Weihnachtsmann.
Sehen Sie, was passiert ist? Wir haben Paare gemacht.
A und F waren die geheimen Weihnachtsmänner des anderen.
B und E waren die geheimen Weihnachtsmänner des anderen.
C und D waren die geheimen Weihnachtsmänner des anderen.
G und H waren die geheimen Weihnachtsmänner des anderen.
Wie hoch ist die Wahrscheinlichkeit dafür und wie berechnen Sie sie?
quelle
Antworten:
Die Gesamtzahl der Aufgaben unter Personen, denen niemand zugewiesen ist, beträgt d ( 2 n ) = ( 2 n ) ! ( 1 / 2 - 1 / 6 + ⋯ + ( - 1 ) k / k ! + ⋯ + 1 / ( 2 n ) ! ) . (Diese werden als Störungen bezeichnet .) Der Wert liegt sehr nahe bei (2n
Wenn sie perfekten Paarungen entsprechen, sind sie ein Produkt disjunkter Transpositionen . Dies impliziert, dass ihre Zyklusstruktur die Form hat
Die Anzahl unterschiedlicher solcher Muster ist die Reihenfolge der Gruppe aller Permutationen der Namen geteilt durch die Reihenfolge des Stabilisators des Musters. Ein stabilisierendes Element kann eine beliebige Anzahl von Paaren tauschen und es kann auch das n permutieren ! Paare, woher gibt es 2 n n ! stabilisierende Elemente. Deshalb gibt es2n n! 2nn!
solche Paarungen.
Da alle diese perfekten Paarungen Störungen sind und alle Störungen gleich wahrscheinlich sind, ist die Chance gleich
Für Personen daher die genaue Antwort ist 15 / 2119 ≈ 0,00707881 während die Näherung e / ( 2 42n=8 15/2119≈0.00707881 : Sie stimmen mit fünf signifikanten Zahlen überein.e/(244!)≈0.00707886
Zur Überprüfung zeichnet diese
R
Simulation eine Million zufälliger Permutationen von acht Objekten, behält nur diejenigen bei, die Störungen sind, und zählt diejenigen, die perfekte Paarungen sind. Es gibt seine Schätzung, den Standardfehler der Schätzung und einen Z-Score aus, um sie mit dem theoretischen Wert zu vergleichen. Seine Ausgabe istDer kleine Z-Score stimmt mit dem theoretischen Wert überein. (Diese Ergebnisse stimmen mit jedem theoretischen Wert zwischen und 0,0073 überein .)0.0066 0.0073
quelle
Ich war ziemlich beeindruckt von der Eleganz in @whuber Antwort. Um ehrlich zu sein, musste ich mich viel mit neuen Konzepten vertraut machen, um den Schritten in seiner Lösung zu folgen. Nachdem ich viel Zeit damit verbracht habe, habe ich beschlossen, das zu posten, was ich habe. Was folgt, ist eine exegetische Anmerkung zu seiner bereits akzeptierten Antwort. Auf diese Weise gibt es keinen Versuch der Originalität, und mein einziges Ziel ist es, einige zusätzliche Verankerungspunkte bereitzustellen, um einige der Schritte zu befolgen.
Also los geht's ...
2. Können wir die Formel für Störungen ableiten?
Wenn wir nun die Parallelität zwischen der LHS dieser Gleichung und dem Teil auf der RHS in Klammern bemerken, können wir rekursiv fortfahren:
Rückwärts arbeiten:
Also im Allgemeinen
a -> b -> d -> c after which it returns to a
e -> f
For the
R
simulation:1.
paired <- function(x) crossprod(x[x] - 1:length(x))==0
This function boils down to understanding8 element vector representing the present assignments, and determine whether it is composed of 2-element loops, as in the Santa Claus problem. As long as the permutations correspond to transposing elements so that if Paul was supposed to give a present to Maria (
x[x]
: It is meant to evaluate anPaul -> Maria
and vice versa,Maria -> Paul
) and Max to John (Max -> John
/John -> Max
) initially, the resultant transposition just results in new perfect pairing (Max -> Maria
/Maria -> Max
andPaul -> John
/John -> Paul
) we are fulfilling the initial condition of perfect pairing:In other words, if we go back to the example of the hats in Wikipedia person1 .
i
always takes back hat2.
good <- function(x) sum(x==1:length(x)) == 0
This function evaluates whether we are dealing with a derangement by comparing the vectorx element wise to the the vector (1,2,3,4,5,6,7,8) , and making sure there is no coincidence.
3.
k.paired <- sum(i.good & i.paired)
is there to exclude paired permutations like the one above in the diagram, which are not derangements:quelle