Ricerca di anagrammi di parole e frasi

Divulgazione!

La logica dell'incertezza
B.Codenotti & G.Resta

logica incertezza
Usando semplici strumenti probabilistici, mostriamo con esempi, aneddoti e paradossi come situazioni di incertezza possano essere affrontate in modo razionale Continua




Chi ama i numeri puo' visitare il mio sito:



Numero max anagrammi:

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

Parole Incluse Jolly
Vocabolario: Ristretto Esteso Small Eng.

Ricerca:OrdinataCasuale

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.

Se trovate qualche bug, scrivetemi!