Skip to content


Soluzione enigma: La biblioteca di Babele

É arrivato il momento, per la gioia di grandi e piccini, di pubblicare un po' di soluzioni ai miei enigmi… 😉

Enigma della Biblioteca di Babele.

Il problema è trovare un modo per poter ottenere un libro contenuto nella biblioteca.

Osservazioni: il contenuto di un libro può essere composto dai soli caratteri "abcdefghilmnopqrstuvz,._" in totale 24 caratteri (lo spazio lo indichiamo con "_" per comodità di lettura). Adesso consideriamo tutte le possibili sequenze, per esempio, di 3 caratteri. Queste sequenze possono essere facilmente ordinate nel modo seguente:

aaa aab aac aad aae aaf aag aah aai aal aam aan aao aap aaq aar aas aat aau aav aaz aa, aa. aa_
aba abb abc abd abe abf abg abh abi abl abm abn abo abp abq abr abs abt abu abv abz ab, ab. ab_
aca acb acc acd …

Ed è altrettanto semplice, se numeriamo tutte le sequenze da 0 in poi, ottenere una sequenza specifica indicandone il numero: basta convertire il numero in base 24 e assegnare ad ogni cifra il simbolo corrispondente all'alfabeto. Le sequenze totali sono 24^3 = 13824.

A questo punto risolvere il problema iniziale è banale: basta considerare le sequenze composte da 40 righe * 40 colonne * 410 pagine = 656000 lettere.

Supponiamo di catalogare i libri numerandoli. Al primo libro assegniamo il numero di indice 0, al secondo 1, al terzo 2 e così via. Inoltre consideriamo i libri ordinati allo stesso modo con cui abbiamo ordinato le sequenze di tre lettere sopra. Quindi il primo libro sarà composto di sole "aaaaa…" il secondo di sole "aaaaaa…." eccetto l'ultima lettera che sarà una "b" e così via.

Quando vorrò prendere in prestito un libro dalla biblioteca, mi basterà andare dal bibliotecario e fornigli il numero di indice del libro. Questi per ottenere il libro userà un programmino che converte il codice numerico del libro in base 24, genera la sequenza di 656000 lettere corrispondente, la impagina in 410 pagine formato 40×40 e invia il file risultante alla stampante. Alla fine il bibliotecario rilegherà il libro così ottenuto e potrà consegnarmelo! 🙂

In questo caso le combinazioni possibili sono 24^656000. Per chi non riuscisse a cogliere la mostruosità di questo numero: 24^656000 = (10^1.38)^656000 = 10^905418, quindi si tratta di un numero composto da almeno 900.000 cifre. Per segnare un tale numero non basterebbe un block-notes intero, poichè il numero di codice di un libro sarebbe più lungo del libro stesso! In effetti così facendo nel numero d'ordine è contenuta tutta l'informazione contenuta nel libro, è solo codificata in un altro modo!

Ma daltronde in una biblioteca che contiene tutti i libri, come potrei indicare esattamente il libro che desidero… senza indicare il contenuto completo del libro fino all'ultima lettera?

 

Posted in Soluzioni.


One Response

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Perplitudine says

    Eeeeh?
    Beh indicizzando.
    Mica l`ha inventato google eh.
    Cioe` meta informazioni esistevano da prima… delle err informazioni:)
    Scherzo. Prima dell`informatica forse. Ma chi sa. Che e` informatica.

    PS: Che velocita`, eh? Sto scoprendo RSS.