Un'altra soluzione è ancora più semplice, IMO, anche se non usa "variabili casuali indicatore".
Poiché tutti i numeri sono distinte, ogni coppia di elementi è o un inversione (i < j
con A[i] > A[j]
) o un non-inversione (i < j
con A[i] < A[j]
). In altre parole, ogni coppia di numeri è in ordine o fuori servizio.
Quindi, per una determinata permutazione, il numero totale di inversioni più non inversioni è solo il numero totale di coppie o n*(n-1)/2
.
Per simmetria di "minore di" e "maggiore di", il numero previsto di inversioni è uguale al numero previsto di non inversioni.
Poiché l'aspettativa della loro somma è n*(n-1)/2
(costante per tutte le permutazioni), e sono uguali, sono ciascuna metà di quello o n*(n-1)/4
.
[Update 1]
A quanto pare la mia "simmetria 'meno' e 'maggiore di'" affermazione richiede una certa elaborazione.
Per qualsiasi array di numeri A
nel range da 1 a n
, definire ~A
come la matrice che si ottiene quando si sottrae ogni numero da n+1
. Ad esempio, se A
è [2,3,1]
, quindi ~A
è [2,1,3]
.
Ora, osservare che per qualsiasi coppia di numeri in A
che sono in ordine, gli elementi corrispondenti di ~A
sono fuori servizio. (Facile da mostrare perché la negazione di due numeri scambia il loro ordine.) Questa mappatura mostra esplicitamente la simmetria (dualità) tra meno e più che in questo contesto.
Quindi, per qualsiasi A
, il numero di inversioni è uguale al numero di non inversioni in ~A
. Ma per ogni possibile A
, corrisponde esattamente uno ~A
; quando i numeri vengono scelti in modo uniforme, sono ugualmente probabili sia A
che ~A
. Pertanto il numero previsto di inversioni in A
corrisponde al numero previsto di inversioni in ~A
, poiché queste aspettative vengono calcolate nello stesso spazio esatto.
Pertanto il numero previsto di inversioni in A
corrisponde al numero previsto di non inversioni. La somma di queste aspettative è l'aspettativa della somma, che è la costante n*(n-1)/2
o il numero totale di coppie.
[Update 2]
Una simmetria semplice: Per qualsiasi matrice A
di n
elementi, definire ~A
come gli stessi elementi, ma in ordine inverso. Associare l'elemento nella posizione i
in A
con l'elemento nella posizione n+1-i
in ~A
. (Ovvero associare ciascun elemento a se stesso nell'array invertito.)
Ora qualsiasi inversione in A
è associata a una non inversione in ~A
, proprio come con la costruzione nell'Aggiornamento 1 sopra. Quindi vale lo stesso argomento: il numero di inversioni in A
è uguale al numero di inversioni in ~A
; sia A
che ~A
sono egualmente sequenze probabili; eccetera.
Il punto dell'intuizione è che gli operatori "minore di" e "maggiore di" sono solo immagini speculari l'uno dell'altro, che è possibile vedere negando gli argomenti (come nell'aggiornamento 1) o scambiandoli (come nell'aggiornamento 2). Quindi il numero previsto di inversioni e non inversioni è lo stesso, dal momento che non si può sapere se si sta guardando un particolare array attraverso un mirror o meno.
Si noti che la domanda è diversa nella seconda edizione del libro. –