Un algoritmo efficace per
anagrammare una parola
Algoritmo è un termine
che deriva dal nome Al -Huwarizmi, un matematico arabo del IX secolo,
viene usato dai programmatori per indicare una flusso d' istruzioni da
inserire in un programma per elaboratore. Il buon funzionamento di un
programma dipende molto anche dall'efficacia degli algoritmi di cui dispone.
L'algoritmo che ho usato per
mettere in ordine le parole di pag.1 e le carte nella pag.3 è è il
seguente.
Si contano le lettere della parola
da anagrammare o le carte da disporre.
Poi si fa il fattoriale del numero
di carte o lettere, meno 1 = (n-1)! : nell'esempio di pag. 3
abbiamo usato 4 carte, perciò 4-1 = 3! = 3x2x1= 6.
A questo punto si fa una colonna di
6 carte tutte uguali, nell'esempio qui sotto ho usato 6 assi.
Poi si fa il fattoriale del numero
di carte o lettere, meno 2 = (n-2)!
:perciò
4-2 = 2! = 2x1=2.
Perciò dopo la prima colonna di carte tutte uguali
si fa un'altra colonna di 6 carte, fatta con 2 carte uguali, con ognuna delle 3 carte diverse
rimaste a disposizione, nell'esempio qui sotto ho usato,
prima i 2 re, poi le 2 regine, poi i 2 cavalieri.
Infine si fa il fattoriale del
numero di carte o lettere, meno 3 = (n-3)!
:perciò 4-3 = 1! = 1.
Significa che la terza e la quarta colonna sono fatte con le 2 carte diverse che sono rimaste a disposizione, nell'esempio sotto, dove
c'erano asse e re ho messo alternativamente regina e cavaliere, dove
c'erano asse e regina, ho messo re e cavaliere e infine dove c' erano
asse e cavaliere ho messo re e regina. L'esempio qui sotto
ti chiarirà il concetto più di 1000 parole.
Una volta realizzata la prima serie di 6 colonne di 4 carte,
puoi usare lo stesso procedimento per le altre 3 serie di disposizioni, basta
mettere una carta diversa nella prima colonna di ogni serie.
Se guardi a pag.3 nella seconda
serie di 6 X 4 carte, ho messo per prima carta il re, nella terza serie la regina e
nella quarta il cavaliere.
Naturalmente ogni carta
può essere sostituita da una delle 4 lettere
che compone la parola in esame.
Con la parola AMORE si formano 5x4x3x2x1= 120 parole
Prima lettera = 24 a
amore
amoer
amroe
amreo
ameor
amero
2° lettera 6m,6o,6r,6e
aomer
aomre
3° lettera, 2 lettere uguali per ognuna delle tre rimaste
aoemr
aoerm
aorem
aorme
arome
aroem
armoe
armeo
aremo
areom
aerom
aermo
aemor
aemro
aeorm
aeomr
4° e 5° lettera scelta tra le 2 ultime rimaste
|
mareo
maroe
maore
maoer
maeor
maero
moare
moaer
morae
morea
moera
moear
mearo
meaor
meora
meoar
merao
meroa
mraeo
mraoe
mroae
mroea
mreao
mreoa
|
oarem
oarme
oamre
oamer
oamre
oamer
omare
omare
omrea
omrae
omera
omear
orema
oream
ormea
ormae
orame
oraem
oearm
oeamr
oerma
oeram
oemar
oemra
|
ramoe
rameo
raome
raoem
raemo
raeom
roame
roaem
roema
roeam
romae
romea
reoma
reoam
reamo
reaom
remao
remoa
rmoea
rmoae
rmaeo
rmaoe
rmeao
rmeoa
|
earmo
earom
eaomr
eaorm
earom
earmo
emroa
emrao
emroa
emrao
emora
emoar
eroma
eroam
eramo
eraom
ermao
ermoa
eorma
eoram
eomra
eomar
eoarm
eoamr
|
Questo algoritmo funziona per ogni parola di n. parole o
n. carte
Se si vogliono sistemare 5 carte o
anagrammare una parola di 5 lettere, basta fare il
fattoriale di (5-1)! perciò 4x3x2x1= 24. In questo caso con la lettera A la prima delle
5 lettere della parola AMORE, vedi l'esempio qui sopra, formeremo una prima colonna 24 lettere uguali .
Per la seconda lettera dopo la (A) servono (5-2=)3! = 3x2x1 = 6, perciò metteremo 6 lettere uguali per ognuna delle 4 rimaste. Perciò prima 6 lettere (M), poi 6 (O), 6 (R), e infine 6 (E).
Per la terza lettera usiamo la formula (5-3=)2! = 2x1= 2, ossia mettiamo 2
lettere uguali, scelte fra le 3 rimaste a disposizione ma messe a in
modo alternato.
Infine la quarta e quinta lettera vengono aggiunte scegliendole
alternativamente tra le ultime 2 lettere rimaste.
In questo modo con una parola di 5 lettere o carte si formano una prima serie 24 parole diverse, ma dato che con una parola di 5 lettere si possono formare 120 di parole,
dobbiamo ripetere lo stesso procedimento cominciando con una lettera iniziale sempre diversa e dato che le lettere sono 5, avremo alla fine 5 colonne di 24 parole = 120 parole, o disposizioni di carte diverse.
Questo algoritmo spiegato così sembra più complicato di quello che ho usato per mettere i giocatori intorno ad un tavolo, ma vi assicuro che è molto efficace.
Se qualcuno ne trova uno più efficiente, lo prenderò in cosiderazione.
Se il calcolo combinatorio comincia ad interessarti, collegati a questo sito :-
http://www.chihapauradellamatematica.org/ è molto istruttivo con molti esempi, non solo formule.
I libri che mi hanno stimolato alla realizzazione di queste pagine.
Insalate di matematica : sette buffet per stuzzicare l'appetito numerico / Robert Ghattas. - Milano : Sironi, 2004. - 153 p. : ill. ; 21 cm.
Autore principale: Ghattas, Robert
Il libro dei numeri / John H. Conway, Richard K. Guy. - Milano : U. Hoepli, (1999). - VIII, 277 p. : ill. ; 24 cm. ((Trad. di Alessandro Zaccagnini.
Autore principale: Conway, John H.
Se hai qualche domanda da fare
scrivimi
cliccando qui.
sergio.savoldelli@gmail.com
|