Saya cukup terkesan dengan keanggunan jawaban @whuber. Sejujurnya saya harus banyak berkenalan dengan konsep-konsep baru untuk mengikuti langkah-langkah dalam solusinya. Setelah menghabiskan banyak waktu untuk itu, saya memutuskan untuk memposting apa yang saya dapatkan. Jadi yang berikut adalah catatan eksegetis terhadap tanggapannya yang sudah diterima. Dengan cara ini tidak ada upaya orisinalitas, dan satu-satunya tujuan saya adalah memberikan beberapa poin penahan tambahan untuk mengikuti beberapa langkah yang terlibat.
Jadi begini ...
2n
2. Bisakah kita menurunkan formula untuk kekacauan?
n
d(n)=(n−1)[d(n−2)+d(n−1)]=
=nd(n−2)−d(n−2)+nd(n−1)−d(n−1)
d(n)−nd(n−1)=−[d(n−1)−(n−1)d(n−2)]
Sekarang memperhatikan paralelisme antara LHS dari persamaan ini dan bagian pada RHS dalam kurung kita dapat melanjutkan secara rekursif:
d(n)−nd(n−1)=−[d(n−1)−(n−1)d(n−2)]=
=(−1)2[d(n−2)−(n−2)d(n−3)]=⋯=(−1)n−2d(2)−2d(1)
d(n)=nd(n−1)+(−1)n
Bekerja mundur:
d(2)=1
d(3)=3d(2)−1=3∗1−1
d(4)=4d(3)+1=4∗3∗1−4+1
d(5)=5d(4)−1=5∗4∗3∗1−5∗4+5−1
d(6)=6d(5)+1=6∗5∗4∗3∗1−6∗5∗4+6∗5−6+1=
=6!(12−13∗2+14∗3∗2−15∗4∗3∗2+16!)=
=6!(16!−15!+14!−13!+12!−11!+1)
Jadi secara umum,
d(n)=n!(1−1+12!−13!+14!+⋯+1n!)
exx=−1
d(n)≈n!e
a,b,c,d,e,fb,d,a,c,f,ea -> b -> d -> c after which it returns to a
e -> f
(a b d c)(e f)
4
(2n)!2n2nn!p(2n)=(2n)!2nn!
Untuk R
simulasi:
1. paired <- function(x) crossprod(x[x] - 1:length(x))==0
x[x]
8Paul -> Maria
Maria -> Paul
Max -> John
John -> Max
Max -> Maria
Maria -> Max
Paul -> John
John -> Paul
i
1
2. good <- function(x) sum(x==1:length(x)) == 0
x(1,2,3,4,5,6,7,8)
3.k.paired <- sum(i.good & i.paired)
ada untuk mengecualikan permutasi berpasangan seperti yang di atas dalam diagram, yang bukan gangguan:
v <- c(1,2,3,4,5,6,7,8)
w <- c(1,2,3,5,4,6,7,8)
(c("is v paired?" = paired(v), "is w paired?" = paired(w),
"is v a derang?" = good(w), "is w a derang?" = good(w)))
# not all paired permutations are derangements.