Como dicen otros coroanos, contar el número de tales trastornos es un problema famoso. Probablemente haya una buena prueba significativa de los resultados, pero también puede encontrarla fácilmente mediante una combinatoria simple:
Suponga que desea contar los trastornos de [matemáticas] \ {1,…, n \} [/ matemáticas]
Llamemos a [math] A_ {i} [/ math] el número de permutaciones en las que [math] i [/ math] es un punto fijo, es decir, permanece en el mismo lugar.
- ¿Puedes darme una idea para un juego simple que implemente el algoritmo (como el algoritmo A *) o la inteligencia artificial para NPC en el juego?
- ¿En qué punto una gran notación O de velocidad de aumento más rápida ignora una notación O grande de velocidad de aumento más lenta?
- ¿Cuánto tiempo te lleva programar un algoritmo razonablemente complicado?
- ¿Me puede explicar qué es una estructura de datos?
- ¿Cuál es el número máximo de nodos que se pueden encontrar en un árbol binario en los niveles 3, 4 y 12?
Entonces el conjunto de permutaciones con al menos un punto fijo es [math] \ cup_ {i = 1} ^ {n} A_ {i}. [/ Math]
Utilizando el principio de inclusión-exclusión, sabemos que la tarjeta [matemática] (\ cup_ {i = 1} ^ {n} A_ {i}) = \ sum _ {\ emptyset \ neq J \ subseteq \ {1,2, \ ldots, n \}} (- 1) ^ {| J | -1} tarjeta (\ cap_ {j \ in J} A_ {j}). [/ math]
Pero contar la tarjeta [math] (\ cap_ {j \ in J} A_ {j}) [/ math] es fácil: [math] \ cap_ {j \ in J} A_ {j} [/ math] simplemente es el número de permutaciones de [math] \ {1, …, n \} [/ math] en las que los elementos de [math] J [/ math] se mantienen fijos. Por lo tanto, [math] card (\ cap_ {j \ in J} A_ {j}) = (n – card (J))! [/ Math].
Al inyectar este resultado en la ecuación anterior, obtenemos la tarjeta [matemáticas] (\ cup_ {i = 1} ^ {n} A_ {i}) = \ sum _ {\ emptyset \ neq J \ subseteq \ {1,2, \ ldots , n \}} (- 1) ^ {| J | -1} (n – tarjeta (J))!. [/ math]
Eso no es tan malo, pero podemos hacerlo mejor. Puede observar que [math] (n – card (J))! [/ Math] solo depende del número de elementos de [math] J [/ math] y no le importa cuáles son los elementos reales de [math] J [/ matemáticas]. Por lo tanto, podemos intentar agrupar [matemáticas] J [/ matemáticas] s con el mismo cardenal.
tarjeta [matemática] (\ cup_ {i = 1} ^ {n} A_ {i}) = \ sum _ {\ emptyset \ neq J \ subseteq \ {1,2, \ ldots, n \}} (- 1) ^ {| J | -1} (n – tarjeta (J))! = \ sum_ {i = 1} ^ {n} \ sum_ {J \ subseteq \ {1,2, \ ldots, n \}, tarjeta (J) = i} (- 1) ^ {| J | -1} (n – tarjeta (J))! [/ matemáticas]
Aquí solo hemos dicho que los subconjuntos no vacíos de [math] \ {1, …, n \} [/ math] son de tamaño [math] 1 [/ math] o [math] 2 [/ math], … o [matemáticas] n [/ matemáticas]. Como la ecuación interna solo depende de [math] card (J) [/ math] podemos reemplazar [math] \ sum_ {J \ subseteq \ {1,2, \ ldots, n \}, card (J) = i} (-1) ^ {| J | -1} (n – tarjeta (J))! [/ Math] por [math] (- 1) ^ {i-1} * numberofsubsetsofcardinali * (n – i)! [/ matemáticas]. Como deberías saber,
[math] numberofsubsetsofcardinali = \ binom {i} {n}. [/ math]
Así
[matemáticas] tarjeta (\ cup_ {i = 1} ^ {n} A_ {i}) = \ sum_ {i = 1} ^ {n} \ sum_ {J \ subseteq \ {1,2, \ ldots, n \ }, tarjeta (J) = i} (- 1) ^ {| J | -1} (n – tarjeta (J))! = \ sum_ {i = 1} ^ {n} (-1) ^ {i – 1} \ binom_ {i} {n} (n – i)! [/ math]
Aquí, hemos contado el número de permutaciones con al menos un punto fijo, pero le interesa lo contrario. Para encontrar sus resultados, simplemente restamos lo que encontramos del número total de permutaciones de tamaño [matemáticas] n [/ matemáticas].
[matemáticas] numberofderangements = n! – tarjeta (\ cup_ {i = 1} ^ {n} A_ {i}) n! – \ sum_ {i = 1} ^ {n} (-1) ^ {i – 1} \ binom_ {i} {n} (n – i)! [/ Math]