Utente:Grasso Luigi/sandbox4/Permutazioni

Ognuna delle sei righe è una diversa permutazione di tre sfere distinte
Ognuna delle sei righe è una diversa permutazione di tre sfere distinte

Una permutazione è un modo di ordinare in successione oggetti distinti, come nell'anagramma di una parola. In termini matematici una permutazione di un insieme si definisce come una funzione biiettiva [note 1].

Elencare e contare le permutazioni

modifica

Il numero delle permutazioni di   oggetti è pari al fattoriale di  :

 

infatti ci sono   modi di scegliere l'oggetto che occupa la prima posizione, per ciascuno di essi ci sono   modi di scegliere l'oggetto che occupa la seconda posizione, poi per ogni coppia di oggetti fissati nelle prime due posizioni ci sono   modi di scegliere l'oggetto nella terza posizione, e così via, fino ad occupare tutte le posizioni.

Ad esempio, le permutazioni possibili dell'insieme di quattro lettere "ABCD" sono 24 e si presentano come:

ABCD BACD CABD DABC
ABDC BADC CADB DACB
ACBD BCAD CBAD DBAC
ACDB BCDA CBDA DBCA
ADBC BDAC CDAB DCAB
ADCB BDCA CDBA DCBA

Insiemi con ripetizioni

modifica

Se nell'insieme di partenza vi sono degli elementi ripetuti, alcune permutazioni danno la stessa sequenza. Ad esempio le permutazioni della serie di quattro lettere "ABAB" forniscono soltanto 6 risultati distinti:

AABB ABAB ABBA
BBAA BABA BAAB

In generale, se l'insieme è formato da   oggetti, di cui   sono di un tipo,   di un altro tipo, ecc. fino a  , con  , il numero di permutazioni distinte

o permutazioni con ripetizioni di un insieme di   elementi, contenente  ,  , ecc. elementi ripetuti ovvero identici tra loro, è il numero di sequenze con elementi distinti pari a

 

che viene detto coefficiente multinomiale. Nelle permutazioni di un insieme con ripetizioni, se un elemento in una data posizione è sostituito da un altro elemento ripetuto la permutazione non cambia.

Nell'esempio mostrato,   e  , e si ottiene quindi

 

Dimostrazione

modifica

Si inseriscano in una tabella tutte le permutazioni semplici di   oggetti in cui solo   si ripetono trattandoli come diversi tra loro in modo da avere sulle righe le permutazioni delle lettere non uguali e sulle colonne le permutazioni delle lettere uguali. Procedendo in questo modo su ogni riga ci saranno le stesse permutazioni, quindi se si calcola il prodotto del numero di righe per il numero di colonne si ottiene il numero di permutazioni:

 

Ci saranno quindi tante righe quante permutazioni delle lettere ripetute e tante colonne quante permutazioni con ripetizione

 

Se gli oggetti che si ripetono sono di più tipi, allora si eliminano prima gli elementi di un tipo trattandoli come diversi da quelli di altro tipo. Quindi si applica la formula sopra ottenendo le permutazioni semplici degli oggetti comprese quelle del tipo rimanente su cui sarà possibile applicare nuovamente la formula ottenendo le permutazioni con ripetizione cercate. Generalizzando si ottiene la formula

 

Composizione

modifica
  Lo stesso argomento in dettaglio: Gruppo simmetrico.

Una permutazione è una funzione biettiva  . Due permutazioni   e   possono quindi essere composte e il risultato è ancora una permutazione. L'insieme   delle permutazioni di   con l'operazione di composizione forma un gruppo, detto gruppo simmetrico. L'elemento neutro è la permutazione che lascia fissi tutti gli elementi.

La notazione detta 2-linea[1]:

     

oppure la notazione detta ciclica:

     

dove

  è un generico li-ciclo     è un generico lj-ciclo  

da notare la differenza tra le notazioni che indicano la corrispondenza di valori   e quella che indica un li-ciclo o un lj-ciclo  

Per la composizione   si possono utilizzare le seguenti tabelle di corrispondenza:

Composizione 2-linea
β α γ = αβ
1-β(1) β(1)-α(β(1)) 1-α(β(1))
2-β(2) β(2)-α(β(2)) 2-α(β(2))
3-β(3) β(3)-α(β(3)) 3-α(β(3))
... ... ...
... ... ...
n-β(n) β(n)-α(β(n)) n-α(β(n))
Composizione ciclica
β α γ = αβ
ls-ciclo dx   l1-ciclo sx lr-ciclo dx   l1-ciclo sx
             
   
 
             
   
   
 
             
   
 

da notare che nella composizione ciclica le righe evidenziate in celeste indicano la chiusura di un ciclo per il risultato. Inoltre i valori delle colonne sono indicativi per quanto riguarda il loro ordine che segue quello del ciclo. Comunque la sequenza iniziale   è corretta. Vedere l'esempio per chiarezza.

esempi

Si considerino ad esempio le due permutazioni dell'insieme   Si può scrivere sotto a ogni numero la posizione in cui questo viene spostato:

     
 

Alternativamente, si può codificare la stessa permutazione sfruttando il teorema enunciato sopra, scrivendola come prodotto di cicli. Nel caso in esempio si ottiene   e  

Con la notazione ciclica due permutazioni possono essere composte in modo agevole: ritornando all'esempio si ha   L'implementazione con le tabelle di corrispondenza risulta più chiara:

Composizione 2-linea
β α γ = αβ
1-2 2-5 1-5
2-3 3-4 2-4
3-1 1-2 3-2
4-4 4-3 4-3
5-5 5-1 5-1
Composizione ciclica
β α γ = αβ
3-ciclo dx 2-ciclo 3-ciclo sx
1 → 2 2 → 2 2 → 5 1 → 5
5 → 5 5 → 5 5 → 1 5 → 1
1
2 → 3 3 → 4 4 → 4 2 → 4
4 → 4 4 → 3 3 → 3 4 → 3
3 → 1 1 → 1 1 → 2 3 → 2
2

Si noti che la composizione ciclica viene effettuata dal ciclo di destra verso il ciclo di sinistra. Per esempio, per vedere dove viene mandato 1 dalla composizione   si vede che   lo manda in 2,   non muove 2, e infine   manda 2 in 5. Quindi 1 va in 5 (corrisponde alla riga evidenziata in grigio nella tabella). Le righe evidenziate in celeste corrispondono alla chiusura di un ciclo del risultato.

Notazioni

modifica

Ci sono diverse notazioni per scrivere una permutazione. Qui definiamo quelle principali. La "notazione ciclica" è la scelta più comune, poiché è compatta e mostra chiaramente la struttura della permutazione. Questo articolo utilizzerà tale notazione se non diversamente specificato.

Notazione 2-linea

modifica

La notazione 2-linea di Cauchy[riv 1][2] lista gli elementi di X nella prima riga, e l'immagine di tali elementi nella seconda riga. Cioè:

 

Pe esempio, sia X = {1, 2, 3, 4, 5, 6} e consideriamo una permutazione di tali numeri tramite la funzione

 

in tale notazione diventa

 

Gli elementi di X possono apparire in qualsiasi ordine nella prima riga, quindi questa permutazione può essere scritta in molti modi:

 

Notazione 1-linea

modifica

Se esiste un ordine "naturale" per gli elementi di X,[postille 1] cioè  , quindi si usa questa scrittura per la prima riga nella notazione 2-linea:

 

Fatte queste premesse, possiamo omettere la prima riga e scrivere la permutazione in notazione detta 1-linea come

 ,

cioè come disposizione ordinata degli elementi di X.[note 2][note 3]

Bisogna fare attenzione a distinguere la notazione 1-linea dalla notazione ciclica descritta di seguito: un uso comune è omettere le parentesi o usare le parentesi quadre o utilizzare le virgole per separare queste voci solo se alcune hanno due o più cifre, mentre si utilizzano parentesi tonde per la notazione ciclica. La notazione 1-linea viene anche detta una rappresentazione parola.[3]

L'esempio visto in tale notazione si scrive:

 

Questa forma compatta è comune nella combinatoria elementare e nell'informatica. In particolare è utilizzata in applicazioni dove le permutazioni devono essere confrontate tra più grande o più piccolo rispetto all'ordine lessicografico.

Notazione ciclica

modifica

La notazione ciclica descrive l'effetto dell'applicazione ripetuta della permutazione sugli elementi dell'insieme X, con un'orbita cioè un sottoinsieme   chiamata un "ciclo". La permutazione è scritta come un elenco di cicli; poiché i cicli distinti coinvolgono sottoinsiemi disgiunti di elementi di X, questa viene definita "scomposizione in cicli disgiunti".

Per scrivere la permutazione   in notazione ciclica si procede come segue:

  1. Aprire una parentesi tonda seguita da un elemento qualsiasi  :  
  2. Tracciare l'orbita di x11, annotando i valori delle successive applicazioni di  :
     
  3. Ripetere fino a quando si verifica   e chiudere le parentesi senza ripetere x11:
      detto l1-ciclo
  4. Prendiamo un elemento x21 of X che non fa parte dell'insieme  , e ripetere il processo al punto 1:  
  5. Ripetere dal punto 1 fino a quando tutti gli elementi di X sono scritti in cicli, cioè:
     

Inoltre, è comune omettere gli 1-ciclo in quanto si possono dedurre: ogni elemento x che non fa parte di tutti i cicli ottenuti, in questi casi si assume implicitamente che  .[note 4]

Seguendo la convenzione di omettere gli 1-ciclo, si può interpretare un ciclo individuale come una permutazione che fissa tutti gli elementi non presenti nel ciclo (una permutazione ciclica avente un solo ciclo di lunghezza maggiore di 1). Allora la lista di cicli disgiunti si può interpretare come composizione di queste permutazioni cicliche. Formalmente una permutazione ciclica è un solo l-ciclo ed (n-l+1) 1-ciclo. Prendiamo un li-ciclo

 

è la permutazione che sposta in avanti di uno tutti gli   e tiene fissi gli altri. Più formalmente è definita nel modo seguente:

 
  per gli altri  

quindi si ottiene la permutazione ciclica

 

L'ordine del ciclo è il numero  .

Una trasposizione è un ciclo   di ordine 2: consiste semplicemente nello scambiare gli elementi   e  , lasciando fissi tutti gli altri. Due cicli   e   sono indipendenti o disgiunti se   per ogni   e  . Due cicli indipendenti   e   commutano, cioè  . L'importanza dei cicli sta nel seguente teorema: ogni permutazione si scrive in modo unico come prodotto di cicli indipendenti. Poiché cicli indipendenti commutano, l'unicità è da intendersi a meno di scambiare l'ordine dei cicli. Notiamo infine che le notazioni   e   definiscono lo stesso ciclo, mentre   e   sono cicli diversi.

Riprendiamo l'esempio, la permutazione 1-linea   in notazione ciclica diventa:

 

Per quanto detto, possiamo esplicitarla come composizione di permutazioni cicliche

 

Mentre le permutazioni in generale non commutano, i cicli disgiunti lo fanno; quindi

 

inoltre, ogni ciclo può essere riscritto partendo da elementi in posizioni diverse; cioè

 

Pertanto si possono scrivere i cicli disgiunti di una data permutazione in molti modi diversi. Una caratteristica utile della notazione ciclica è che la permutazione inversa è data dall'inversione dell'ordine degli elementi in ogni ciclo. Quindi

 

Riassumendo l'esempio con le notazioni descritte si ha:

 

l'ultima scrittura è la notazione ciclica canonica descritta di seguito.

Notazione ciclica canonica

modifica

Nell'ambito combinatorio è utile definire un certo ordine per gli elementi che compongono un singolo ciclo e un ordine tra i cicli disgiunti in cui si decompone la permutazione  . Tale scelta di ordinamento viene detta notazione ciclica canonica. Consideriamo una generica permutazione formata da r cicli:

 

e consideriamo una particolare scrittura tra le tante equivalenti con le seguenti due proprietà

  • in un singolo ciclo l'elemento maggiore compare all'inizio del ciclo, cioè
     
  • i cicli sono ordinati in modo crescente rispetto al primo elemento di ogni singolo ciclo, non omettendo gli 1-ciclo, cioè
     

Ad esempio, consideriamo l'insieme   e il gruppo S9 che agisce su esso tramite la permutazione

 

per poter ottenere la notazione ciclica canonica occorre

  • in ogni ciclo l'elemento maggiore compare all'inizio del ciclo, cioè quelli segnati
     
  • i cicli vanno ordinati in modo crescente rispetto agli elementi segnati di ogni singolo ciclo
     [note 5]

Alcuni autori chiamano tale notazione rappresentazione standard di una permutazione,[note 6] altri la forma standard .[3] Il matematico russo Sergey Kitaev usa il termine forma standard, ma inverte entrambe le proprietà; cioè, ogni ciclo inizia col suo elemento minimo, e i cicli sono ordinati in modo decrescente rispetto al primo elemento di ogni singolo ciclo.[4]

Notazione con matrici

modifica
  Lo stesso argomento in dettaglio: Matrice di permutazione.

Una matrice di permutazione è una matrice n × n che ha esattamente un elemento in ogni colonna e in ogni riga, e tutte le altre sono nulle. Esistono diverse convenzioni per assegnare una matrice di permutazione a una permutazione dell'insieme {1, 2, ..., n}. Ne riportiamo i due più comuni in letteratura.

  1. Un metodo naturale data la permutazione:
     
    consiste nell'associare una matrice detta   definita come segue:
     
    Questa convenzione ha due proprietà:
    • il prodotto delle matrici e delle permutazioni è nello stesso ordine, cioè   per ogni σ e π.
    • se   rappresenta il vettora colonna standard   (il vettore con ei = 1 e all other entries equal to 0), then  .
  2. L'altra convenzione è quella inversa, data la permutazione σ viene associata la matrice   cioè:
     
    Le precedenti proprietà diventano:
    • le matrici di permutazione si moltiplicano nell'ordine opposto rispetto alle composizioni di due permutazioni, cioè .
    • la matrice di permutazione permuta gli indici di un vettore riga standard   con simbolo  : quindi si ha  .
Esempi
 
La tabella di Cayley del gruppo simmetrico   viene implementata con la rappresentazione a matrice dove la legge di composizione corrisponde ad una moltiplicazione di matrici.

Consideriamo la permutazione  , allora la matrice   ha i valori   e le posizioni restanti sono nulle, cioè

 

consideriamo un'altra permutazione   e la corrispondente matrice

 .

Allora possiamo effettuare la composizione ciclica  , e la corrispondente composizione delle matrici diventa:

 

I vettori colonna associati a   sono

 

L'altro esempio visualizza la tabella di Cayley in questa sezione con le matrici di permutazioni per 3 elementi.

Proprietà

modifica

Il numero di permutazioni di n oggetti distinti abbiamo detto essere n!.

Il numero di permutazioni di n oggetti distinti che hanno k cicli disgiunti è il Numero di Stirling del primo tipo senza segno, cioè

 

qualche testo lo denota C(n, k) oppure Cn,k.[note 7]

Il valore delle dismutazioni parziali, anche detto numero di rincontri, indica il numero di permutazioni di n elementi con k punti fissi e si denota

 [postille 2]

dove l'insieme permutato è { 1, ..., n }.

Tipo o struttura

modifica

I cicli (inclusi i punti fissi) di una permutazione   di un insieme con n elementi crea una partizione; quindi la lunghezza di questi cicli forma una partizione intera di n, che viene detta tipo di ciclo (o talvolta struttura ciclica o forma del ciclo) di  . Ogni punto fisso di   viene detto 1-ciclo, ogni trasposizione si dice 2-ciclo, e così per un generico l-ciclo.

Più precisamente, la forma generale di una struttura ha notazioni

 

dove   sono i numeri di cicli di rispettiva lunghezza  . Il numero di permutazioni od elementi del gruppo simmetrico di un dato tipo di ciclo è[5]

 

dove con   indichiamo il numero di elementi della classe di coniugio che hanno rappresentante   con struttura ciclica o tipo  .

Ad esempio il tipo di ciclo della permutazione   è   Questo può anche essere scritto in una forma più compatta come [11 22 31]. Mentre per il numero di coniugati o dello stesso tipo, si ottiene:

 

con elemento rappresentativo  .

  Lo stesso argomento in dettaglio: Parità di una permutazione.

L'ordine di una permutazione   si definisce come

 .

Corrisponde al minimo comune multiplo delle lunghezze dei suoi cicli. Cioè se   ha struttura ciclica o tipo   si definisce m come:

 

Ad esempio   ha struttura ciclica   ed ammette ordine  .

Segno o parità

modifica

Definizione

modifica

Ogni l-ciclo è prodotto di trasposizioni. Infatti, sempre con la composizione da destra verso sinistra, si ha:

 

in particolare si ha

 

che non sono 2-cicli disgiunti. Ne segue che ogni permutazione è prodotto di trasposizioni. Il numero di queste trasposizioni non è univocamente determinato dalla permutazione: per esempio si può scrivere la trasposizione  anche come   o  . Si può dimostrare che se una stessa permutazione   può essere scritta sia come prodotto di   trasposizioni, sia come prodotto di   trasposizioni, allora   e   hanno la stessa parità, cioè sono entrambi pari o entrambi dispari.

Una permutazione   è detta pari o dispari a seconda che sia ottenibile come prodotto di un numero pari o dispari di trasposizioni. Il segno di   è definito rispettivamente come +1 e -1.

Segno del prodotto di permutazioni

modifica

Definito il prodotto di due permutazioni come la composizione delle stesse, si può dire che la funzione "segno" è moltiplicativa, cioè

 

Ne consegue che  

Gruppo alterno

modifica

Metà delle   permutazioni di un insieme di   elementi sono pari. Poiché la funzione segno è moltiplicativa, le permutazioni pari formano un sottogruppo normale di indice due del gruppo simmetrico   delle permutazioni dell'insieme  , detto gruppo alternante e indicato con   Si tratta del nucleo dell'omomorfismo di gruppi

 

L'immagine è un gruppo ciclico con due elementi.

Formula per il segno

modifica

Fissiamo un elemento   nella notazione 2-linea:

 

consideriamo la coppia   dicesi inversione per σ se si verifica  . Supponendo di ottenere r inversioni, allora il segno della permutazione   può essere calcolato tramite la formula seguente:

 

Abbiamo già visto che ogni permutazione di un insieme finito può essere espressa come il prodotto di trasposizioni. [note 8] Sebbene possano esistere molte espressioni di questo tipo per una data permutazione, si dimostra che contengono tutte un numero pari di trasposizioni oppure un numero dispari di trasposizioni. Pertanto tutte le permutazioni possono essere classificate come pari o dispari a seconda di questo numero.

Questo risultato può essere esteso in modo da assegnare un segno, scritto  , ad ogni permutazione.   se   è pari e   se   è dispari. Tenendo conto del tipo generalizzato con le molteplicità, cioè   cicli di tipo  -ciclo ... si ha

 

Tutte le trasposizioni, cioè i 2-cicli del tipo  , sono dispari.

Ad esempio nel gruppo simmetrico   abbiamo i seguenti 3 casi possibili per le coppie   e in   diventano 6 casi  .

Facciamo vedere che in   con 6 elementi vi sono:

  cioè 3 elementi sono pari;
  sono dispari.

Infatti per   si ottiene

 

quindi possiamo anche dire  . Lo stesso discorso si applica per le restanti riflessioni  

per   si ottiene

 

quindi possiamo anche dire  . Lo stesso discorso si applica per le restanti rotazioni   dove l'ultima è la rotazione nulla (elemento neutro del gruppo S3). Le tre rotazioni sono tutte pari e formano il sottogruppo normale alterno A3.

Permutazioni coniugate

modifica

In genere, la composizione di permutazioni scritte in notazione ciclica non segue uno schema definito: i cicli della composizione possono essere diversi da quelli prima della fase di composizione. Tuttavia il tipo di ciclo viene preservato nel caso particolare di permutazioni coniugate cioè quando due elementi   e   verificano la relazione  . Qui,   è l'elemento coniugato di   tramite   e si può ottenere la sua notazione ciclica prendendo la notazione ciclica per   e applicando   a tutti i singoli cicli di cui è formato   [note 9].

Ne consegue che due permutazioni sono coniugate esattamente quando hanno lo stesso tipo di ciclo o stessa classe di coniugio, come visto in precedenza. Ritornando all'esempio   del tipo [11 22 31], utilizzando l'elemento   si ottiene:

 
 

Permutazioni in combinatoria

modifica

In certe aree matematiche, come nella combinatoria numerica, gli elementi dell'insieme da permutare si devono confrontare tra loro. Quindi è necessario che l'insieme X sia totalmente ordinato. Ad esempio L' insieme X = {1, 2,..., n} è un insieme ordinato tramite la relazione d'ordine "≤" ed è quello più utilizzato in queste applicazioni, ma in genere, si può utilizzare qualsiasi insieme purchè sia totalmente ordinato. In tali aree, avere una disposizione ordinata di una permutazione è necessario per il concetto di posizioni in una permutazione.

Vi sono alcune proprietà legate all'ordinamento totale dell'insieme X, nel seguito utilizzeremo la notazione 1-linea

 

Ascendente, discendente, itinerario, eccedente e record

modifica

Una salita o ascesa di una permutazione σ di n elementi è qualsiasi posizione i ≤ n dove il valore successivo è maggiore di quello corrente. Cioè, se σ = σ(1)σ(2)...σ(i) σ(i+1) ...σ(n), allora i è detto ascendente se si verifica σ(i) < σ(i+1). Possiamo introdurre l'insieme degli elementi ascendenti come

 

analogamente una scesa o discesa è una posizione i < n per cui si ha σ(i) > σ(i+1), quindi l'insieme degli elementi discendenti

 

cioè ogni i con   può essere un ascendente o un discendente di σ.

Un itinerario ascendente è una sottosuccessione contigua crescente e non vuota della permutazione che non può essere estesa a nessuna delle due estremità; corrisponde ad una sequenza massima di salite successive. Una siffatta sottosuccessione può essere vuota (lunghezza 0), oppure avere due discese successive per cui ha lunghezza 1 e infine avere lunghezza massima n. Mentre una sottosuccessione crescente non è vincolata ad essere contigua: cioè una successione crescente di elementi ottenuti dalla permutazione omettendo i valori in alcune posizioni. Una analoga definizione si ha per un itinerario discendente e una sottosuccessione decrescente. Indichiamo l'insieme degli itinerari crescenti e decrescenti con i simboli  .

Una permutazione con k − 1 discese, allora dev'essere l'unione di k ascending runs.[note 10] Il numero di permutazioni di n elementi con k ascendenti è, per definizione il numero euleriano

 ;

e indica pure il numero di permutazioni di n con k discendenti. Alcuni autori tuttavia lo definiscono il numero di permutazioni con k ascending runs, che corrisponde a k − 1 discendenti.[note 11]

Un eccedente di una permutazione σ di n elementi è un indice j per cui si ha σj > j. Se la disuguaglianza non è stretta (cioè, σjj), allora j viene detto eccedente debole. Il numero di n-permutazioni con k eccedenti coincide con il numero di n-permutazioni con k discese.[note 12] Quindi ha senso considerare l'insieme eccedenza debole come

 

Un record o massimo sx-dx (abbreviato in lrm per left-to-right maximum) della permutazione σ è un elemento i che verifica σ(j) < σ(i) per ogni j < i. Indichiamo l'insieme degli lrm con

 .

Esempio: consideriamo la seguente permutazione:

 

ammette i due insiemi

 

il numero di permutazioni tra le   che hanno 5 ascese e 2 discese sono i numeri

 

e corrispondono pure al numero permutazioni con 6 discending run (5 ascese) e al numero di 3 ascending run (2 discese);
sequenza massima di salite successive e discese successive

 
 ;

sottosuccessioni crescenti e decrescenti

 

che ha  ;
insieme delle eccedenze deboli

 .

il numero di permutazioni con 5 eccedenze coincide con quello delle permutazioni con 5 discese calcolato, cioè  ;
infine si hanno gli elementi di massimo da sx-dx

 .

Lemma di transizione di Foata

modifica

Esiste una relazione tra la notazione 1-linea e la notazione ciclica canonica. Consideriamo una permutazione in notazione ciclica canonica

 

se rimuoviamo semplicemente le parentesi, otteniamo la permutazione in notazione 1-linea

 

e viene detta rappresentazione 1-linea parola o rappresentazione word. Il lemma di transizione di Foata stabilisce la natura di questa corrispondenza come una biiezione sull'insieme di n-permutazioni (a se stessa).[note 13] Richard P. Stanley chiama tale corrispondenza la biiezione fondamentale.[note 14]

Sia   la trasformazione elimina-parentesi che ritorna   in notazione 1-linea quando   è in notazione ciclica canonica. Come detto,   opera con una semplice rimozione delle parentesi di ogni singolo ciclo. L'operazione di trasformazione inversa,  , ritorna   in notazione ciclica canonica quando   è in notazione 1-linea, opera come segue:

Given the one-line notation  , the first cycle of   in canonical cycle notation must start with  . As long as the subsequent elements are smaller than  , we are in the same cycle of  . The second cycle of   starts at the smallest index   such that  . In other words,   is larger than everything else to its left, che viene detto left-to-right maximum.

Ogni ciclo nella notazione ciclica canonica inizia con un elemento lrm(left-to-right maximum) che sarebbe il massimo da sinistra a destra.[note 13]

Ritornando all'esempio, nella permutazione scritta in notazione 1-linea

  con  

per cui si hanno i quattro cicli   e per la corrispondenza vista si ottiene la permutazione in notazione ciclica canonica:

 

 , 5 è il primo elemento maggiore rispetto a quello iniziale 3, so the first cycle of   must be  . Then 8 is the next element larger than 5, so the second cycle is  . Since 9 is larger than 8,   is a cycle by itself. Finally, 9 is larger than all the remaining elements to its right, so the last cycle is  . Concatenating these 4 cycles gives   in canonical cycle notation.

Un secondo esempio è una tabella di   e   per le sei permutazioni dell'insieme  . La scrittura in evidenza indica la notazione utilizzata per la permutazione (1-linea   e ciclica canonica per  ) mentre la scrittura standard indica altra notazione (ciclica per  ). Comparing the bold side of each column of the table shows the parenthesis removing/restoring operation of Foata's bijection, while comparing the same side of each column (for example, the LHS) shows which permutations are mapped to themselves by the bijection (first 3 rows) and which are not (last 3 rows).  

   
   
   
   
   
   
   

Come corollario, il numero di n-permutazioni con k lrm è uguale al Numero di Stirling del primo tipo senza segno,  . Inoltre, la corrispondenza di Foata equivale a considerare una n-permutazione con k-eccedenze deboli ed ottenere sempre una n-permuzione con k − 1 ascendenti.[note 13] Ad esempio, (2)(31) = 321 ha due eccedenze deboli (per i=1,2), mentre f(321) = 231 ha un ascendente (i=1; cioè, da 2 a 3).

Inversioni e relazione di Kobayashi

modifica
  Lo stesso argomento in dettaglio: Inversione (matematica discreta).
 
Nel 15 puzzle l'obiettivo è disporre i quadrati in ordine crescente. Le posizioni iniziali che hanno un numero dispari di inversioni sono impossibili da risolvere.[web 1]

Un'inversione di una permutazione σ è una coppia (i, j) di posizioni in cui le voci di una permutazione sono nell'ordine opposto:   e  .[note 15] Quindi una discesa è semplicemente un'inversione in due posizioni adiacenti. Possiamo considerare allora l'insieme:

 

analogamente un'inversione è definita come la coppia di valori (σ(i),σ(j)) il cui ordine è invertito; tale definizione non varia il numero d'inversioni, e questa coppia (invertita) è anche un'inversione nel senso di una permutazione inversa σ−1 e quindi definire un'antinversione considerando l'insieme

 

e la somma della loro cardinalià equivale al numero di confronti tra le coppie (i,j), cioè:

 

Il numero di inversioni è una misura importante per valutare il grado di disordine delle entrate di una permutazione; questo è vero per σ e anche per σ−1. Per mettere in ordine una permutazione con |inv(σ)| inversioni (cioè, trasformarla nella permutazione identità), applicando successive moltiplicazioni a destra di trasposizioni adiacenti, richiede una sequenza di |inv(σ)| operazioni. Inoltre, occorre una scelta ragionevole per le trasposizioni: è sufficiente ad ogni passo comporre con il 2-ciclo ( i,i + 1) dove i è una discesa nella permutazione che viene eliminata e quindi studiare la permutazione dopo tale operazione. Ogni composizione con la trasposizione riduce il numero d'inversione di 1; fino a quando |inv(σ)|≠0, la permutazione non è quella identica, quindi ammette almeno un discendente. Gli algoritmi di Bubble sort e insertion sort possono essere interpretati come casi particolari di questa procedura per ordinare una sequenza. Per inciso questa procedura dimostra che qualsiasi permutazione σ può essere scritta come prodotto di trasposizioni adiacenti; cioè si può semplicemente invertire qualsiasi sequenza di tali trasposizioni che trasformi σ nell'identità. Infatti, dallo studio della sequenza di trasposizioni adiacenti che trasformerebbero σ nell'identità, otteniamo (dopo l'inversione) una lista completa delle espressioni di lunghezza minima per scrivere σ come prodotto di trasposizioni adiacenti.

Riprendiamo l'esempio considerando la permutazione:

 

allora abbiamo di certo due inversioni per le discese i=3,4 cui corrispondono le coppie (5,2) e (2,1). Operando tutti i confronti di numero   si ottiene l'insieme

 

e per riordinare utilizziamo le seguenti composizioni di trasposizioni:

       
3452167 1235467 {3,4} 7
3451267 1243567 {3} 6
3415267 1324567 {2,4} 5
3145267 2134567 {1,4} 4
1345267 1235467 {4} 3
1342567 1243567 {3} 2
1324567 1324567 {2} 1
1234567 -- {∅} 0

quindi si ottiene pure la decomposizione a 2-cicli non disgiunti[postille 3]

 
 
 
 

ed è una permutazione con segno - o che si decompone in 2-cicli di numero dispari, cioè im 7 trasposizioni.

Il numero di permutazioni di n con k inversioni viene espresso da un numero Mahoniano.[note 16] Questi sono i coefficienti   di un polinomio nella variabile q ottenuto dal seguente prodotto

 

La notazione   indica il q-fattoriale. Questa espansione compare nello studio combinatorio di oggetti detti collane.

Ad esempio per n=3 otteniamo il polinomio

 

e ci fornisce le seguenti inversioni per le permutazioni di S3 dove nella prima colonna σ è in notazione 1-linea

       
    1 0
    2 1
    2 2
    1 3

Relazione Kobayashi

modifica

Una permutazione σ si dice Grassmanniana se ha solo un discendente in posizione k, cioè:

 

e possiamo introdurre l'insieme delle permutazioni con tale proprietà

 

nel caso delle permutazioni inverse si ha l'insieme   Una permutazione σ si dice biGrassmanniana se σ e σ-1 sono entrambi Grassmanniane. Da notare che se σ è Grassmanniana allora σ-1 ammette al più una valle (dip), cioè

 

quindi una permutazione è biGrassmanniana se e solo se ammette al più un discendente e un dip. Indichiamo tale insieme come

 

Sia   per cui   e  . Allora denotiamo peso dell'inversione per   la quantità  . Kobayashi (2011)[riv 2] ha provato la seguente relazione:

 

dove   denota la relazione d'ordine di Bruhat definita nel gruppo simmetrico. Tale ordine parziale graduato spesso si applica nello studio dei gruppi di Coxeter.

Esempio: consideriamo la seguente permutazione:

 

ammette i due insiemi

 

quindi σ ∈ Gn. Adesso è facile vedere che

 

quindi σ è biGrassmanniana. Ciò si può vedere pure considerando σ-1

 

ammette i due insiemi

 

inoltre

 
 

per cui abbiamo 42 permutazioni biGrassmanniane che stanno in relazione secondo Bruhat con la nostra permutazione σ.

Permutazioni nell'informatica

modifica

Codificare le permutazioni

modifica

Un modo per rappresentare le permutazioni di n elementi è tramite un intero N con 0 ≤ N < n!, a condizione di utilizzare metodi convenienti per la conversione tra il numero N e la rappresentazione di una permutazione come disposizione ordinata (sequenza). Ciò fornisce la rappresentazione più compatta di una permutazione e in informatica è particolarmente interessante quando "n" è piccolo abbastanza che N possa essere contenuto in una sequenza macchina di tipo WORD (parole a 16-bit) ciò significa n ≤ 8 oppure 0≤ N ≤ 40*103; per DWORD (parole a 32-bit) ciò significa n ≤ 12 oppure 0≤ N ≤ .5*109, e per QWORD (parole a 64-bit) significa n ≤ 20 oppure 0≤ N ≤ 2*1018. Per convertire N ad una permutazione partiamo dalla seguente successione di numeri iniziale

 

possiamo omettere d1, essendo sempre 0, ma la sua presenza rende più semplice la successiva conversione in una permutazione.

Il primo passo è di esprimere N nel sistema di numeri fattoriale, cioè una particolare rappresentazione di numerazione base mista, dove, per numeri minori di n!, le basi (valori posizionali o fattori di moltiplicazione) delle cifre successive sono  , cioè:

 .

Il secondo passo interpreta tale successione come un codice di Lehmer o (in maniera quasi equivalente) come una tabella d'inversione. I codici Lehmer, noti anche come vettori di inversione, sono rappresentazioni vettoriali di permutazioni in cui ciascuna coordinata può assumere valori non limitati dai valori di altre coordinate. Questa trasformazione consente il disaccoppiamento delle coordinate e l'esecuzione dell'aggregazione tramite semplici calcoli scalari di mediana o modalità.

Nel codice Lehmer per la seguente permutazione σ nella notazione 1-linea, cioè:

 

il numero dn rappresenta la scelta fatta per il primo termine σ(1), il numero dn−1 è associato al termine σ(2) tra i rimanenti n − 1 elementi dell'insieme da permutare X = {1, 2, ... ,n}, e così via. Più precisamente, ogni dn+1−i dà il numero di elementi rimanenti strettamente inferiori al termineσ(i). Poiché quegli elementi rimanenti sono destinati a presentarsi come termine successivo σ(j), la cifra dn+1−i conta le inversioni (i,j) coinvolgendo i come indice più piccolo (il numero di valori j per i quali i < j e σ(i) > σ(j).

 

Una tabella inversione per σ è abbastanza simile, e viene definita come segue

 
 
 

ma adesso dn+1−k è il numero d'inversioni (i,j) dove k = σ(i) si verifica come il più piccolo dei due valori visualizzati in ordine invertito.[note 17] Perhaps the most important fact about inversions is Marshall Hall's observation that an inversion table uniquely determines the corresponding permutation.

Ritornando al nostro esempio   si ha

 

e quindi N diventa

 

Diagramma di Rothe

modifica
Diagramma di Rothe  
σ(i)=k
i
1 2 3 4 5 6 7  
1 × × 2
2 × × 2
3 × × 2
4 × 1
5 0
6 0
7 0
  4 3 0 0 0 0 0
 
  
Diagramma di Rothe  
σ(i)=k
i
1 2 3 4 5 6 7  
1 × × × × × 4
2 × × 3
3 × × × × × 0
4 0
5 × 0
6 × × × 0
7 × × 0
  2 2 2 1 0 0 0
 

Entrambe le codifiche possono essere visualizzate da un diagramma di Rothe n * n [6] (named after Heinrich August Rothe) in which dots at (i,σi) mark the entries of the permutation, and a cross at (i,σj) marks the inversion (i,j); by the definition of inversions a cross appears in any square that comes both before the dot (j,σj) in its column, and before the dot (i,σi) in its row. Il codice Lehmer elenca i numeri delle croci nelle righe successive, mentre la tavola di inversione elenca i numeri delle croci nelle colonne successive; mentre il diagramma della permutazione inversa si ottiene dal suo diagramma trasposto comesi nota nelle due tabelle accanto.

Codice Lehmer a permutazione

To effectively convert a Lehmer code dn, dn−1, ..., d2, d1 into a permutation of an ordered set S, one can start with a list of the elements of S in increasing order, and for i increasing from 1 to n set σi to the element in the list that is preceded by dn+1−i other ones, and remove that element from the list. To convert an inversion table dn, dn−1, ..., d2, d1 into the corresponding permutation, one can traverse the numbers from d1 to dn while inserting the elements of S from largest to smallest into an initially empty sequence; at the step using the number d from the inversion table, the element from S inserted into the sequence at the point where it is preceded by d elements already present. Alternatively one could process the numbers from the inversion table and the elements of S both in the opposite order, starting with a row of n empty slots, and at each step place the element from S into the empty slot that is preceded by d other empty slots.

Ordine lessicografico

modifica

Converting successive natural numbers to the factorial number system produces those sequences in lexicographic order (as is the case with any mixed radix number system), and further converting them to permutations preserves the lexicographic ordering, provided the Lehmer code interpretation is used (using inversion tables, one gets a different ordering, where one starts by comparing permutations by the place of their entries 1 rather than by the value of their first entries). The sum of the numbers in the factorial number system representation gives the number of inversions of the permutation, and the parity of that sum gives the signature of the permutation. Moreover, the positions of the zeroes in the inversion table give the values of left-to-right maxima of the permutation (in the example 6, 8, 9) while the positions of the zeroes in the Lehmer code are the positions of the right-to-left minima (in the example positions the 4, 8, 9 of the values 1, 2, 5); this allows computing the distribution of such extrema among all permutations. A permutation with Lehmer code dn, dn−1, ..., d2, d1 has an ascent Template:Math if and only if Template:Math.

Algoritmi che generano permutazioni

modifica

In computing it may be required to generate permutations of a given sequence of values. The methods best adapted to do this depend on whether one wants some randomly chosen permutations, or all permutations, and in the latter case if a specific ordering is required. Another question is whether possible equality among entries in the given sequence is to be taken into account; if so, one should only generate distinct multiset permutations of the sequence.

An obvious way to generate permutations of n is to generate values for the Lehmer code (possibly using the factorial number system representation of integers up to n!), and convert those into the corresponding permutations. However, the latter step, while straightforward, is hard to implement efficiently, because it requires n operations each of selection from a sequence and deletion from it, at an arbitrary position; of the obvious representations of the sequence as an array or a linked list, both require (for different reasons) about n2/4 operations to perform the conversion. With n likely to be rather small (especially if generation of all permutations is needed) that is not too much of a problem, but it turns out that both for random and for systematic generation there are simple alternatives that do considerably better. For this reason it does not seem useful, although certainly possible, to employ a special data structure that would allow performing the conversion from Lehmer code to permutation in O(n log n) time.

Generazione casuale di permutazioni

modifica
  Lo stesso argomento in dettaglio: Fisher–Yates shuffle.

For generating random permutations of a given sequence of n values, it makes no difference whether one applies a randomly selected permutation of n to the sequence, or chooses a random element from the set of distinct (multiset) permutations of the sequence. This is because, even though in case of repeated values there can be many distinct permutations of n that result in the same permuted sequence, the number of such permutations is the same for each possible result. Unlike for systematic generation, which becomes unfeasible for large n due to the growth of the number n!, there is no reason to assume that n will be small for random generation.

The basic idea to generate a random permutation is to generate at random one of the n! sequences of integers d1,d2,...,dn satisfying Template:Math (since d1 is always zero it may be omitted) and to convert it to a permutation through a bijective correspondence. For the latter correspondence one could interpret the (reverse) sequence as a Lehmer code, and this gives a generation method first published in 1938 by Ronald Fisher and Frank Yates.[7] While at the time computer implementation was not an issue, this method suffers from the difficulty sketched above to convert from Lehmer code to permutation efficiently. This can be remedied by using a different bijective correspondence: after using di to select an element among i remaining elements of the sequence (for decreasing values of i), rather than removing the element and compacting the sequence by shifting down further elements one place, one swaps the element with the final remaining element. Thus the elements remaining for selection form a consecutive range at each point in time, even though they may not occur in the same order as they did in the original sequence. The mapping from sequence of integers to permutations is somewhat complicated, but it can be seen to produce each permutation in exactly one way, by an immediate induction. When the selected element happens to be the final remaining element, the swap operation can be omitted. This does not occur sufficiently often to warrant testing for the condition, but the final element must be included among the candidates of the selection, to guarantee that all permutations can be generated.

The resulting algorithm for generating a random permutation of a[0], a[1], ..., a[n − 1] can be described as follows in pseudocode:

for i from n downto 2 do
    di ← random element of { 0, ..., i − 1 }
    swap a[di] and a[i − 1]

This can be combined with the initialization of the array a[i] = i as follows

for i from 0 to n−1 do
    di+1 ← random element of { 0, ..., i }
    a[i] ← a[di+1]
    a[di+1] ← i

If di+1 = i, the first assignment will copy an uninitialized value, but the second will overwrite it with the correct value i.

However, Fisher-Yates is not the fastest algorithm for generating a permutation, because Fisher-Yates is essentially a sequential algorithm and "divide and conquer" procedures can achieve the same result in parallel.[8]

Generazione in ordine lessicografico

modifica

There are many ways to systematically generate all permutations of a given sequence.[9] One classic, simple, and flexible algorithm is based upon finding the next permutation in lexicographic ordering, if it exists. It can handle repeated values, for which case it generates each distinct multiset permutation once. Even for ordinary permutations it is significantly more efficient than generating values for the Lehmer code in lexicographic order (possibly using the factorial number system) and converting those to permutations. It begins by sorting the sequence in (weakly) increasing order (which gives its lexicographically minimal permutation), and then repeats advancing to the next permutation as long as one is found. The method goes back to Narayana Pandita in 14th century India, and has been rediscovered frequently.Template:Sfn

The following algorithm generates the next permutation lexicographically after a given permutation. It changes the given permutation in-place.

  1. Find the largest index k such that Template:Math. If no such index exists, the permutation is the last permutation.
  2. Find the largest index l greater than k such that Template:Math.
  3. Swap the value of a[k] with that of a[l].
  4. Reverse the sequence from a[k + 1] up to and including the final element a[n].

For example, given the sequence [1, 2, 3, 4] (which is in increasing order), and given that the index is zero-based, the steps are as follows:

  1. Index k = 2, because 3 is placed at an index that satisfies condition of being the largest index that is still less than a[k + 1] which is 4.
  2. Index l = 3, because 4 is the only value in the sequence that is greater than 3 in order to satisfy the condition a[k] < a[l].
  3. The values of a[2] and a[3] are swapped to form the new sequence [1, 2, 4, 3].
  4. The sequence after k-index a[2] to the final element is reversed. Because only one value lies after this index (the 3), the sequence remains unchanged in this instance. Thus the lexicographic successor of the initial state is permuted: [1, 2, 4, 3].

Following this algorithm, the next lexicographic permutation will be [1, 3, 2, 4], and the 24th permutation will be [4, 3, 2, 1] at which point a[k] < a[k + 1] does not exist, indicating that this is the last permutation.

This method uses about 3 comparisons and 1.5 swaps per permutation, amortized over the whole sequence, not counting the initial sort.[10]

Generazione con cambi minimi

modifica
  Lo stesso argomento in dettaglio: Steinhaus–Johnson–Trotter algorithm e Heap's algorithm.

An alternative to the above algorithm, the Steinhaus–Johnson–Trotter algorithm, generates an ordering on all the permutations of a given sequence with the property that any two consecutive permutations in its output differ by swapping two adjacent values. This ordering on the permutations was known to 17th-century English bell ringers, among whom it was known as "plain changes". One advantage of this method is that the small amount of change from one permutation to the next allows the method to be implemented in constant time per permutation. The same can also easily generate the subset of even permutations, again in constant time per permutation, by skipping every other output permutation.Template:Sfn

An alternative to Steinhaus–Johnson–Trotter is Heap's algorithm,[11] said by Robert Sedgewick in 1977 to be the fastest algorithm of generating permutations in applications.[9]

The following figure shows the output of all three aforementioned algorithms for generating all permutations of length  , and of six additional algorithms described in the literature.

 
Ordering of all permutations of length   generated by different algorithms. The permutations are color-coded, where Template:Legend-inline, Template:Legend-inline, Template:Legend-inline, Template:Legend-inline.[12]
  1. Lexicographic ordering;
  2. Steinhaus–Johnson–Trotter algorithm;
  3. Heap's algorithm;
  4. Ehrlich's star-transposition algorithm:Template:Sfn in each step, the first entry of the permutation is exchanged with a later entry;
  5. Zaks' prefix reversal algorithm:[13] in each step, a prefix of the current permutation is reversed to obtain the next permutation;
  6. Sawada-Williams' algorithm:[14] each permutation differs from the previous one either by a cyclic left-shift by one position, or an exchange of the first two entries;
  7. Corbett's algorithm:[15] each permutation differs from the previous one by a cyclic left-shift of some prefix by one position;
  8. Single-track ordering:[16] each column is a cyclic shift of the other columns;
  9. Single-track Gray code:[16] each column is a cyclic shift of the other columns, plus any two consecutive permutations differ only in one or two transpositions.
  10. Nested swaps generating algorithm in steps connected to the nested subgroups  . Each permutation is obtained from the previous by a transposition multiplication to the left. Algorithm is connected to the Factorial_number_system of the index.

Generation of permutations in nested swap steps

modifica

Explicit sequence of swaps (transpositions, 2-cycles  ), is described here, each swap applied (on the left) to the previous chain providing a new permutation, such that all the permutations can be retrieved, each only once.[17] This counting/generating procedure has an additional structure (call it nested), as it is given in steps: after completely retrieving  , continue retrieving   by cosets   of   in  , by appropriately choosing the coset representatives   to be described below. Note that, since each   is sequentially generated, there is a last element  . So, after generating   by swaps, the next permutation in   has to be   for some  . Then all swaps that generated   are repeated, generating the whole coset  , reaching the last permutation in that coset  ; the next swap has to move the permutation to representative of another coset  .

Continuing the same way, one gets coset representatives   for the cosets of   in  ; the ordered set   ( ) is called the set of coset beginnings. Two of these representatives are in the same coset if and only if  , that is,  . Concluding, permutations   are all representatives of distinct cosets if and only if for any  ,   (no repeat condition). In particular, for all generated permutations to be distinct it is not necessary for the   values to be distinct. In the process, one gets that   and this provides the recursion procedure.

EXAMPLES: obviously, for   one has  ; to build   there are only two possibilities for the coset beginnings satisfying the no repeat condition; the choice   leads to  . To continue generating   one needs appropriate coset beginnings (satisfying the no repeat condition): there is a convenient choice:  , leading to  . Then, to build   a convenient choice for the coset beginnings (satisfying the no repeat condition) is  , leading to  .

From examples above one can inductively go to higher   in a similar way, choosing coset beginnings of   in  , as follows: for   even choosing all coset beginnings equal to 1 and for   odd choosing coset beginnings equal to  . With such choices the "last" permutation is   for   odd and   for   even ( ). Using these explicit formulae one can easily compute the permutation of certain index in the counting/generation steps with minimum computation. For this, writing the index in factorial base is useful. For example, the permutation for index   is:     , yelding finally,  .

Because multiplying by swap permutation takes short computing time and every new generated permutation requires only one such swap multiplication, this generation procedure is quite efficient. Moreover as there is a simple formula, having the last permutation in each   can save even more time to go directly to a permutation with certain index in fewer steps than expected as it can be done in blocks of subgroups rather than swap by swap.

Applicazioni

modifica

Le permutazioni vengono utilizzate come componenti interleaver e sono ampiamente utilizzati negli algoritmi di rilevazione e correzione d'errore negli schemi di codifica su canali bursty, come i turbo codici, per esempio lo standard di telecomuinicazione mobile 3GPP Long Term Evolution usa questo concetto (vedi la specifica tecnica 36.212 3GPP[18]).

Tali applicazioni sollevano la questione della generazione rapida di permutazioni che soddisfino determinate proprietà desiderabili. One of the methods is based on the permutation polynomials. Also as a base for optimal hashing in Unique Permutation Hashing.[19]

Le permutazioni dette esagrammi venivano usate in Cina nell'I Ching (Pinyin: Yi Jing) già nel 1000 a.C..

In Grecia, Plutarco scrisse che Senocrate di Calcedonia (396–314 a.C.) scoprì il numero di sillabe diverse possibili della lingua greca. Questo sarebbe stato il primo tentativo non documentato di risolvere un difficile problema di permutazioni e combinazioni.[20]

Al-Khalil (717–786), un matematico arabo e crittografo, ha scritto il Libro dei Messaggi Crittografici. Contiene il primo utilizzo di permutazioni e combinazioni, per elencare tutte le possibili parole arabe con e senza vocali.[riv 3]

Nella cultura indiana la relazione per calcolare il numero di permutazioni di n oggetti se ne fa menzione intorno al 1150 AD. L'opera Lilavati del matematico indiano Bhaskara II contiene la seguente traduzione:

Il prodotto della moltiplicazione della serie aritmetica inizia e aumenta per unità e continua fino al numero di posti, will be the variations of number with specific figures.[riv 4]

Nel 1677, Fabian Stedman studioso inglese del ASCY ha descritto i fattoriali quando calcola il numero di permutazioni per usare il metodo del suono permutato di più campane. A partire da due campane: "primo, two must be admitted to be varied in two ways", which he illustrates by showing 1 2 and 2 1.[note 18] He then explains that with three bells there are "three times two figures to be produced out of three" which again is illustrated. His explanation involves "cast away 3, and 1.2 will remain; cast away 2, and 1.3 will remain; cast away 1, and 2.3 will remain".[note 19] He then moves on to four bells and repeats the casting away argument showing that there will be four different sets of three. Effectively, this is a recursive process. He continues with five bells using the "casting away" method and tabulates the resulting 120 combinations.[note 20] At this point he gives up and remarks:

Now the nature of these methods is such, that the changes on one number comprehends the changes on all lesser numbers, ... insomuch that a compleat Peal of changes on one number seemeth to be formed by uniting of the compleat Peals on all lesser numbers into one entire body;[note 21]

Stedman widens the consideration of permutations; he goes on to consider the number of permutations of the letters of the alphabet and of horses from a stable of 20.[note 22]

A first case in which seemingly unrelated mathematical questions were studied with the help of permutations occurred around 1770, when Joseph Louis Lagrange, in the study of polynomial equations, observed that properties of the permutations of the roots of an equation are related to the possibilities to solve it. This line of work ultimately resulted, through the work of Évariste Galois, in Galois theory, which gives a complete description of what is possible and impossible with respect to solving polynomial equations (in one unknown) by radicals. In modern mathematics, there are many similar situations in which understanding a problem requires studying certain permutations related to it.

Permutations played an important role in the cryptanalysis of the Enigma machine, a cipher device used by Nazi Germany during World War II. In particular, one important property of permutations, namely, that two permutations are conjugate exactly when they have the same cycle type, was used by cryptologist Marian Rejewski to break the German Enigma cipher in turn of years 1932-1933.[riv 5][web 2]

  1. ^ Neal H. McCoy, 1968
  2. ^ Bogart K. P.,1990, p. 17
  3. ^ Gerstein L. J., p. 217
  4. ^ Hall M.,1959, p. 54
  5. ^ Bona M., 2012, pp. 87
    [Il libro contiene un errore di battitura, poiché fornisce (45) invece di (54).]
  6. ^ Stanley R. P., p. 30, Prop 1.3.1
  7. ^ Bona M., 2012, pp. 97-103
  8. ^ Hall M.,1999, p. 60
  9. ^ Humphreys, p. 84
  10. ^ Bona M., 2004, p. 4f
  11. ^ Bona M., 2012, pp. 4-5
  12. ^ Bona M., 2012, p. 25
  13. ^ a b c Bona M., 2012, pp. 109-110
  14. ^ Stanley R. P., p. 23
  15. ^ Bona M., 2004, p. 43
  16. ^ Bona, 2004, pp. 43ff
  17. ^ Knuth D, 1973, p. 12
  18. ^ Stedman F., p. 4
  19. ^ Stedman F., p. 5
  20. ^ Stedman F., pp. 6-7
  21. ^ Stedman F., p. 8
  22. ^ Stedman F., pp. 13-18
Libri
  1. ^ (EN) Lang S., II. Groups, in Undergraduate Algebra, 3ª ed., ‎Springer Verlag, 2005, ISBN 978-0387220253.
  2. ^ Hans Wussing, The Genesis of the Abstract Group Concept: A Contribution to the History of the Origin of Abstract Group Theory, Courier Dover Publications, 2007.
  3. ^ a b Martin Aigner, A Course in Enumeration, Springer GTM 238, 2007, 24–25, ISBN 978-3-540-39035-0.
  4. ^ Sergey Kitaev, Patterns in Permutations and Words, Springer Science & Business Media, 2011, p. 119, ISBN 978-3-642-17333-2.
  5. ^ (EN) Bruce E. Sagan, 1, in The Symmetric Group, 2ª ed., Springer, 2001, p. 3, DOI:10.1007/978-1-4757-6804-6, ISBN 978-0-387-95067-9.
  6. ^ H. A. Rothe, Sammlung combinatorisch-analytischer Abhandlungen 2 (Leipzig, 1800), 263–305. Cited in Knuth,  p. 14
  7. ^ Statistical tables for biological, agricultural and medical research, 3rd, London, Oliver & Boyd, 1948, pp. 26–27.
  8. ^ Generating Random Permutations by Coin Tossing: Classical Algorithms, New Analysis, and Modern Implementation., p. 24–43.
  9. ^ a b R Sedgewick, Permutation generation methods (PDF), in Computing Surveys, vol. 9, n. 2, 1977, pp. 137–164, DOI:10.1145/356689.356692.
  10. ^ std::next_permutation, in cppreference.com, 4 December 2017.
  11. ^ B. R. Heap, Permutations by Interchanges, in The Computer Journal, vol. 6, n. 3, 1963, pp. 293–298, DOI:10.1093/comjnl/6.3.293.
  12. ^ Generate permutations, su combos.org.
  13. ^ S. Zaks, A new algorithm for generation of permutations, in BIT Numerical Mathematics, vol. 24, n. 2, 1984, pp. 196–204, DOI:10.1007/BF01937486.
  14. ^ A Hamilton path for the sigma-tau problem, New Orleans, Louisiana, Society for Industrial and Applied Mathematics (SIAM), 2018, pp. 568–575.
  15. ^ P. F. Corbett, Rotator graphs: An efficient topology for point-to-point multiprocessor networks, in IEEE Transactions on Parallel and Distributed Systems, vol. 3, n. 5, 1992, pp. 622–626, DOI:10.1109/71.159045.
  16. ^ a b Matters Computational. Ideas, Algorithms, Source Code, Springer, 2011, DOI:10.1007/978-3-642-14764-7, ISBN 978-3-642-14763-0.
  17. ^ Quickly Handling Big Permutations, priv. comm., 2002.
  18. ^ 3GPP TS 36.212, su 3gpp.org.
  19. ^ Unique permutation hashing, in Theoretical Computer Science, vol. 475, 2013, pp. 59–65, DOI:10.1016/j.tcs.2012.12.047.
  20. ^ (EN) Sir Heath Thomas Little, A history of Greek mathematics, New York, Dover Publications, 1981, DOI:0-486-24073-8, OCLC 7703465.
Riviste
  1. ^ (FR) Cauchy A. L., Mémoire Sur le Nombre des Valeurs qu'une Fonction peut acquérir, lorsqu'on y permute de toutes les manières possibles les quantités qu'elle renferme, in Journal de l'École polytechnique, vol. 10, 1815, pp. 1-28.
  2. ^ (EN) Kobayashi Masato, Enumeration of bigrassmannian permutations below a permutation in Bruhat order, in Order, vol. 1, 2011, pp. 131-137, DOI:10.1007/s11083-010-9157-1.
  3. ^ (EN) Broemeling Lyle D., An Account of Early Statistical Inference in Arab Cryptology, in Am. Stat., vol. 65, n. 4, 2011, pp. 255–257, DOI:10.1198/tas.2011.10191.
  4. ^ (EN) N. L. Biggs, The Roots of Combinatorics, in Hist. Math., vol. 6, n. 2, 1979, pp. 109-136, DOI:10.1016/0315-0860(79)90074-0.
  5. ^ (EN) Rejewski Marian, An application of the theory of permutations in breaking the Enigma cipher, in Appl. Math., vol. 16, n. 4, 1980, pp. 543–559, DOI:10.4064/am-16-4-543-559, ISSN 1233-7234 (WC · ACNP).
Fonti web
  1. ^ (EN) Slocum Jerry; Weisstein Eric W., 15 – puzzle, su mathworld.wolfram.com, Wolfram Research, Inc., 1999. URL consultato il 2-04-2024.
  2. ^ David Cash, CMSC 28400 Introduction to Cryptography Autumn 2019 - Notes #2: Permutations and Enigma (PDF), su people.cs.uchicago.edu, 2019.
Postille
  1. ^ L'ordine è spesso implicitamente compreso. Un insieme di numeri interi è naturalmente scritto dal più piccolo al più grande; un insieme di lettere è scritto in ordine lessicografico. Per gli altri insiemi è necessario specificare un ordine naturale esplicitamente.
  2. ^ Attenzione alla notazione:
      numero delle disposizioni semplici
      numero delle dismutazioni parziali
  3. ^ La permutazione identica ammette  . Inoltre l'inversa di una permutazione formata da r 2-cicli non disgiunti è:
     

Bibliografia

modifica

Voci correlate

modifica

Altri progetti

modifica

Collegamenti esterni

modifica


  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica