Ricerca di anagrammi di parole e frasi

Un messaggio a titolo personale


Sostieni la divulgazione scientifica!

Regalati o regala un abbonamento a Sapere, la piu' antica rivista di divulgazione scientifica italiana. Anche in formato digitale.

Il link alla rivista e' questo.




Chi ama i numeri puo' visitare il mio nuovo sito:
Numbers Aplenty



Numero max anagrammi:


Numero di parole   min:    max: 
Lunghezza parole   min:    max: 

Parole Incluse Jolly
Vocabolario: Ristretto Esteso Small Eng.

Ricerca: Ordinata  Casuale

ATTENZIONE! Sono disponibili (gratis!): Verbatron, un programma per anagrammi e altri giochi di parole e Encalc, un programma per il Calcolo Enigmatico e altri criptaritmi.

FORMATO dei RISULTATI e SPIEGAZIONI VARIE

Se anagrammando CAROTONE ottenete, ad esempio:
[CONTA CANTO] [REO ORE ERO]
questo significa che una soluzione e' costituita da una parola tra CONTA e CANTO e da una tra REO, ORE ed ERO, per esempio "CONTA ORE" oppure "CANTO REO". In questo modo, una sola riga di output puo' rappresentare piu' anagrammi

La ricerca Parole Incluse serve a cercare tutte le parole che si possono formare con le parole date. L'opzione Jolly mostra anche le parole che si possono ottenere con una ulteriore lettera arbitraria. Questo tipo di ricerca puo' servire a trovare parole per lo Scarabeo, ad esempio.

Molti cercano l'anagramma del proprio nome e cognome. In questo caso spesso si ottengono risultati interessanti mettendo il numero massimo di parole uguale a 2.

Le maiuscole e gli spazi tra le parole vengono totalmente ignorati, quindi e' inutile provare ad anagrammare prima "telefono" e poi "Te Le foNo" : per il programma i due input sono assolutamente identici.

La generazione Ordinata genera gli anagrammi privilegiando quelli che contengono parole piu' lunghe. La generazione Random rimescola parzialmente le parole prima di procedere alla generazione degli anagrammi: in questo modo si possono ottenere piu' anagrammi ripetendo la generazione. La mancanza di questa opzione in altri anagrammatori on-line e' stata la principale motivazione per scrivere questo. Questa distinzione (Ordinata/Random) vale solo per gli anagrammi con al massimo 32 lettere (vedi sotto).

Il vocabolario Esteso contiene circa 270.000 parole italiane (molte delle quali, mi duole dirlo, di uso raro). Il vocabolario Ristretto contiente circa 30.000 parole italiane tra le piu' comuni. Il vocabolario Small English contiene circa 45.000 parole inglesi comuni. Esiste una versione inglese di questa pagina che usa un vocabolario piu' ampio.

Il mio programma e' scritto in linguaggio C (sotto Linux) ed e' interfacciato direttamente con un form HTML (non ho usato il Perl). La prima versione funzionante (circa 200 linee di codice) ha richiesto circa 2 ore di lavoro.

Il tempo massimo di CPU ammesso per una ricerca varia tra circa 5 e 10 secondi. La maggior parte degli anagrammi vengono comunque ottenuti in meno di 1 secondo.

Se la frase contiene piu' di 32 lettere uso un metodo lievemente diverso (per motivi tecnici). Questo metodo:

  • forza implicitamente l'opzione Random,
  • non tiene conto del numero minimo e massimo di parole nella soluzione,
  • non garantisce che tutti gli anagrammi trovati siano distinti (anche se con alta probabilita' lo sono).

La versione finale del programma consta di meno di 250 linee di codice C.

Le citazioni che appaiono in fondo alla pagina dei risultati sono estratte a caso da un archivio che contiene al momento circa 500 frasi, che ho selezionato dal campionario molto piu' vasto del pacchetto fortune di linux.

Se trovate qualche bug, scrivetemi!