giovedì 6 ottobre 2016

Sconvolgimenti

“Jacopo ha appena finito di imbustare le ultime lettere che ha scritto e si sta accingendo a scrivere gli indirizzi. Ma il suo gatto è molto giocherellone e, mentre Jacopo apre il cassetto, la belva salta sulla scrivania, Jacopo si spaventa, la mano gli scivola, perde l'equilibrio, si sbraccia e, sbam, colpisce inavvertitamente la pila delle buste e la scaraventa in aria.

Scocciatissimo, si alza dalla sedia, le raccoglie, e le rimette sulla scrivania. Ma ha un problema: ha perso l'ordine.

Che fare? Aprire nuovamente tutte le buste, vedere a chi sono indirizzate le lettere, e scrivere gli indirizzi? Una noia mortale. No: Jacopo piuttosto si affida al caso. Prende una busta, e ci scrive sopra il primo indirizzo della sua lista. Prende una seconda busta, e via col secondo indirizzo. E prosegue così fino alla fine.“

“Chissà quanti errori ha fatto.”

“Gli è andata male, in effetti: ha fatto il massimo numero di errori
possibile.”

“Ma dai, non ha beccato nemmeno un indirizzo?”

“No, nessuna lettera ha l'indirizzo giusto.”

“Non è possibile, è stato sfortunatissimo.”

“Chissà. Bisognerebbe fare i conti.”

“Oh, no, dai, un problema anche qui?”

“Eh, la vita è fatta di problemi.”

“...”

“Questo è un problema di dismutazioni.”

“Di cosa?.”

Dismutazioni, o sconvolgimenti. Sono le permutazioni senza punti fissi.“

“Quelle in cui mescolo tutto?”

“Esatto. Quelle in cui nessun elemento rimane al suo posto.”

“Io so calcolare le permutazioni, ma queste sono casi particolari che non saprei gestire.”

“Eh, non è facile calcolarle, infatti. Il modo più bello per farlo è scrivere una formula ricorsiva.”

“Ah, certo, formula ricorsiva, bellissima, certo, certo.”

“Noto dell'ironia.”

“Daai?”

“Il concetto di funzione ricorsiva è la quintessenza dello spirito matematico. È il cercare di ottenere il massimo rendimento con il minimo sforzo, è il non fare fatica inutile, è lo stare seduti lungo la sponda di un fiume, allungare la mano e pescare il pesce, e scoprire che è già cotto e pulito.”

“Ok, va bene, rinuncio. Vediamo questa fantomatica formula.”

“L'idea è questa: supponiamo di avere 10 caselle numerate da 1 a 10 e riempite con i numeri da 1 a 10, e di mescolare il tutto in modo tale che in nessuna casella cada il numero corrispondente.”

“Cioè nella casella 1 non cade il numero 1, nella casella 2 non cade il numero 2, eccetera?”

“Esatto. Vogliamo contare in quanti modi possibili si possa realizzare una situazione di questo tipo”.

“E come si fa?”

“Si comincia a guardare la prima casella. Cosa c'è dentro?”

“Ah, boh? Certamente non c'è il numero 1.”

“Bene: cosa ci mettiamo? Scegli.”

“Ah, non saprei. Diciamo che ci sia il numero 7?”

“Va bene, nella prima casella c'è il numero 7. Ora andiamo nella casella numero 7: cosa contiene?”

“Certamente non contiene il numero 7, no?”

“Esatto. Ora la domanda è: contiene 1?”

“Beh, potrebbe contenerlo oppure no.”

“E allora facciamo due casi. O 1 è contenuto nella casella 7 oppure no.”

“E questi due casi a cosa ci servono?”

“Analizziamoli. Primo caso: la casella 1 contiene 7 e la casella 7 contiene 1.”

“Ok. Quindi?”

“Quindi abbiamo già sistemato i due numeri 1 e 7, ora dobbiamo risolvere un problema analogo al precedente, con una importante differenza: se prima avevamo a che fare con 10 elementi, ora ne abbiamo 8. Un problema più semplice.”

“Mh, vabbé, ma se non sapevo risolvere quello di prima non so nemmeno risolvere questo.”

“Fammi finire: c'è anche il caso 2: la casella 1 contiene 7 ma la casella 7 non contiene 1.”

“Ok, conterrà qualcos'altro.”

“Certo. Vogliamo capire se si tratta di un problema già risolto in precedenza.”

“Mh, credo di aver capito a cosa ti riferisci: prima abbiamo ricondotto il problema al caso di 8 elementi. Ma adesso?”

“Adesso dobbiamo riempire le caselle da 2 a 10…”

“Quindi abbiamo 9 caselle.”

“E in ognuna di esse non possiamo mettere un numero.”

“Aspetta, perché? Cioè, ho capito che nella casella 2 non posso mettere 2, nella 3 non posso mettere 3, eccetera. Ma nella 7? Il 7 è già stato usato per riempire la 1, quindi quale numero non posso mettere dentro alla casella 7?”

“Ricordati che siamo nel secondo caso: la casella 7 non contiene 1.”

“Ah, ma certo, altrimenti cado nel primo caso che ho già studiato.”

“Esatto. Quindi, praticamente, in questo secondo caso ti sei ricondotto al problema con 9 buste.”

“Giusto.”

“Per concludere: ricorda che siamo partiti da un esempio: abbiamo detto che dentro alla casella 1 è contenuto il 7. Ma 7 è stato scelto a caso.”

“Certo, l'ho scelto io.”

“E quante scelte avevi?”

“Dieci?”

“No, non dieci: nella casella 1 è vietato mettere il numero 1.”

“Allora ho 9 scelte. Quindi il calcolo che stiamo facendo va moltiplicato per 9.”

“Perfetto. A questo punto è fatta la formula ricorsiva: il numero di dismutazioni di 10 elementi lo puoi calcolare sommando il numero di dismutazioni di 8 elementi più quello di 9 elementi, e moltiplicando il risultato per 9.”

“Ma io non so calcolare il numero di dismutazioni di 8 elementi! E nemmeno quello di 9!”

“Ed ecco la magia della ricorsività: ha qualcosa di speciale il numero 10?”

“Eh, uhm, no, direi di no, l'hai scelto tu come esempio, suppongo.”

“Esatto, quindi in realtà io potrei scrivere una formula ricorsiva generica, per il calcolo delle dismutazioni di n elementi.”

“Penso di sì. Anzi, forse ci riesco anche io: posso indicarle con D(n)?”

“Certo.”

“Allora la formula dovrebbe essere questa: il numero di dismutazioni di n elementi, D(n), è uguale a quello di n−1 elementi, cioè D(n−1), sommato a quello di n−2 elementi, cioè D(n−2), il tutto moltiplicato per n−1.”

“Molto bene! La formula è esattamente questa: D(n) = (n−1)(D(n−1) + D(n−2)).”

“Questo ancora non mi aiuta. Se io non so calcolare D(8) e D(9) non mi muovo.”

“Puoi muoverti invece, andando all'indietro. Sai calcolare D(8)?”

“Ho detto di no!”

“Hai detto male: secondo la tua formula, D(8) = 7(D(7) + D(6)).”

“Ma così si complica ancora di più! Non so calcolare niente!”

“Invece no: se continui ad andare indietro, arrivi a calcoli molto facili che puoi ottenere immediatamente.”

“Ah.”

“Per esempio, quanto vale D(1)?”

“Dismutazioni con 1 elemento? Ma si può fare? Un solo elemento non si permuta, rimane fermo al suo posto!”

“Certo, e quindi quante sono le dismutazioni di 1 elemento?”

“Non esistono. Ah, ho capito, sono i giochini che fate voi Veri Matematici con lo zero… Dato che non esistono, dico che il loro numero è 0”

“Bene, vedo che ti stai abituando alla mentalità matematica. Adesso: quanto vale D(2)?”

“Vediamo: con 2 elementi posso fare solo due cose. O li lascio fermi, e non ho una dismutazione, o li scambio tra loro, e questa volta ho una dismutazione. Quindi D(2) = 1”

“Ottimo, ecco fatto. Ora puoi calcolare tutto, basta usare la formula ricorsiva tante volte fino a che non arrivi a dover calcolare D(1) e D(2)”

“Ahh, molto bene!”

“Ecco i risultati:”

D(3) = 2(D(2) + D(1)) = 2(1 + 0) = 2
D(4) = 3(D(3) + D(2)) = 3(2 + 1) = 9
D(5) = 4(D(4) + D(3)) = 4(9 + 2) = 44
D(6) = 5(D(5) + D(4)) = 5(44 + 9) = 265
D(7) = 6(D(6) + D(5)) = 6(265 + 44) = 1854
D(8) = 7(D(7) + D(6)) = 7(1854 + 265) = 14833
D(9) = 8(D(8) + D(7)) = 8(14833 + 1854) = 133496
D(10) = 9(D(9) + D(8)) = 9(133496 + 14833) = 1334961

“Quindi, volendo rispondere alla mia domanda iniziale, cioè se è stato un caso sfortunato oppure no, dovrei calcolarmi il rapporto tra queste dismutazioni e tutte le possibili permutazioni di 10 elementi”

“Che sono 10 fattoriale, cioè 3628800.”

“Il rapporto risulta circa 0.37, è stato sfortunato”

“Già. E del fatto che questo risultato sia molto vicino a 1/e ne parliamo un'altra volta.”

“Oh!”

“Eh.”