Visualizzazione post con etichetta matematica ricreazionale. Mostra tutti i post
Visualizzazione post con etichetta matematica ricreazionale. Mostra tutti i post

venerdì 9 dicembre 2016

La matematica del Sudoku

 

imageIl gioco giapponese del sudoku, affonda le sue radici nei quadrati magici studiati da Eulero.

Un quadrato magico è uno schieramento di numeri interi distinti in una tabella quadrata tale che la somma dei numeri presenti in ogni riga, in ogni colonna e in entrambe le diagonali dia sempre lo stesso numero; tale intero è denominato la costante magica del quadrato.

Il Sudoku si e’ subito diffuso in tutto il mondo, come era gia’ successo per il cubo di Rubik, il gioco del 15 e altri puzzles che periodicamente ritornano di moda.

Le regole sono molto semplici e occorre soltanto una matita e un foglio di carta. Si gioca su una tabella di nove per nove caselle in ognuna delle quali si deve inserire una cifra, da uno a nove. Ogni riga e ogni colonna deve contenere tutte le cifre da uno a nove senza ripetizioni. Condizione ulteriore, e questa è la novità, anche ogni blocco di caselle tre per tre, contrassegnato da linee più marcate, deve contenere le nove cifre, senza ripetizioni. Il Sudoku si presenta con una parte delle cifre già inserite nelle caselle (vedi figura 1). Per essere un vero Sudoku, deve inoltre avere un’unica soluzione. Richiede normalmente dai dieci minuti alla mezz’ora per essere risolto. Il nome originale del gioco, lanciato vent’anni fa dalla Nikoli, una casa editrice giapponese specializzata in giochi, era Suji wa dokushin ni kagiru ovvero “Numeri limitati ad una sola persona”, un nome sintetizzato in Sudoku, “Numeri unici”.

  image

Figura 1: Raffigurazione di un sudoku come si presenta al giocatore e la usa soluzione.

Per risolvere un Sudoku, esistono diverse tecniche a seconda della difficolta’ del Sudoku stesso. Una delle tecniche piu’ semplici e’ quella della “Singola posizione”.

Si sceglie una riga, una colonna o un box (il quadrato 3x3) e si analizzano i numeri che ancora non sono stati inseriti. A causa della presenza dei numeri iniziali, le posizioni dove poter inserire un nuovo numero sono limitate. Spesso ci sono 2 o 3 celle dove poter inserire un numero ma se si e’ fortunati ce ne sara’ solo una. Per esempio nel sudoku della figura 2, scegliendo la riga verde si vede subito che il numero 7 puo’ essere inserito solo sull’ultima celle verde verso destra.

Questo perche’ in qualsiasi altra cella verde lo avremmo inserito avrebbe generato delle colonne con due cifre 7.

image Figura 2: Tecnica della singola posizione.

Un'altra tecnica semplice e’ quella del “singolo candidato”. In questo caso ce' bisogno di una matita per scrivere in ogni cella i possibili candidati, esaminando le colonne, righe e box circostanti. Nel caso in cui il candidato e’ unico, immediatamente puo’ essere associato alla cella. In figura 3, viene mostrato un esempio di questa tecnica.

image Figura 3: Tecnica del singolo candidato (da sinistra verso destra).

Nella cella indicata in verde nel sudoku di centro, l’unico candidato e’ il 2, mentre nella cella sopra quella contenente il numero 8, i possibili candidati sono 1 e 2. A destra viene mostrato il sudoku dopo l’inserimento di tutti i candidati. Si vede immediatamente che, ci sono 3 celle (in verde) dove c’e’ un unico candidato che quindi puo’ essere associato definitivamente alla cella.

Esiste una tecnica che non dice quale numero inserire in una cella, ma aiuta invece a determinare quali sono le celle dove non e’ possibile inserire un numero. Con l’esempio riportato in figura 4, e’ facile capire come funziona questa tecnica chiamata la tecnica delle linee candidate.

image Figura 4: Tecnica della singola linea (da sinistra verso destra).

Nel quadrato indicato in verde ci sono due possibili celle (indicate in verde piu’ scuro) dove poter inserire il numero 4. Questo automaticamente fa si che e’ possibile rimuovere qualsiasi altro 4 lungo la colonna individuata dai due 4 del box in basso a sinistra come mostrato in figura 4 nelle ultime due griglie a destra.

Esistono altre tecniche simili che qui non vedremo.

Ma nel caso in cui il Sudoku sia particolarmente complicato quale tecnica usare? Ce ne sono alcune che sono molto semplici da capire ma complicate da applicare. Partiamo con la prima, la cosiddetta tecnica delle “catene forzate”. Per applicarla e’ necessario avere a disposizione piu’ di un foglio per prendere appunti.

  image Figura 5: Tecnica della catena forzata (da sinistra verso destra).

Osservando la figura 5, si capisce in che modo la scelta del valore 1 nella cella C3R1 (colonna terza e riga 1) forza il valore della cella C1R4 a 5. Infatti nel primo passaggio la scelta iniziale del 1, forza il valore 4 nella cella C3R4, che a sua volta forza il valore 7 nella cella C6R4 e quindi il valore 5 nella cella C1R4.

Si ripete poi la stessa operazione ma anziche’ partire col numero 1, si parte col numero 2 (vedi figura 6).

image Figura 6: Tecnica della catena forzata (da sinistra verso destra).

In questo caso la catena che viene fuori e’ molto lunga, ma alla fine forza sempre il numero 5 nella cella C1R4. Poiche’ due diverse scelte portano allo stesso numero nella cella C1R4 questo significa che il 5 e’ il numero da associare a questa cella.

La seconda tecnica normalmente utilizzata per risolvere Sudoku complessi e’ quella che va sotto il nome di X-Wing. Osserviamo la figura 7, partendo dalla riga 4 e 9 dove abbiamo 4 celle con il 6 un possibile candidato.

  image Figura 7: Tecnica X-Wing

Il trucco per capire la tecnica del X-Wing e’ quello di immaginare cosa succederebbe se uno scegliesse il 6 in una di queste quattro celle. Se scegliamo il 6 in C3R4 questo implica che non e’ possibile avere lo stesso numero in C9R4 e C3R9 come si puo’ vedere dalla griglia centrale in alto della figura 7. Questa scelta forza la cella C9R9 ad avere 6 come candidato. In altre parole un 6 nella cella in alto a sinistra del quadrato iniziale (vedi griglia in basso a sinistra) forza lo stesso valore nella cella in basso a destra. Esattamente con la stessa logica, un 6 nell’angolo in alto a destra del quadrato dovrebbe forzare lo stesso valore nella cella in basso a sinistra (vedi griglia centrale in basso della figura 7). Detto cio’ e’ chiaro che non e’ possibile avere altri 6 nelle due colonne C3 e C9. Questo ci permette di cancellare quasiasi numero 6 che compare come possibile candidato. Nell’esempio di figura 7, e’ possibile rimuovere il 6 da due celle della colonna C9, che lascia la cella C9R1 con un 8.
A causa della grande popolarita’ del Sudoku, diversi matematici e scienziati del computer hanno lavorato su diverse questioni emerse da questo gioco. La prima di queste riguarda il possibile numero di griglie. In altre parole, stabilire qual’e’ il numero di griglie possibili di Sudoku che possono essere create o equivalentemente il numero di modi in cui e’ possibile riempire una griglia 9x9 con i numeri da 1 a 9 soddisfando le regole del Sudoku.

Per rispondere a tale domanda e’ necessario utilizzare tutte le possibili permutazioni e le proprieta’ di simmetria della griglia del Sudoku.

Bertram Felgenhauer del Dipartimento di Scienza dei computer dell’Universita’ di Dresda e Frazer Jarvis del Dipartimento di Matematica dell’Universita’ di Sheffield in Inghilterra, usando la forza-bruta dei computer sono arrivati a calcolare il numero di griglie valide di Sudoku. Un numero veramente grande: 6670903752021072936960 (circa 6.67*1021). Senza considerare le regole del Sudoku elencate all’inizio del capitolo, il numero di possibili griglie sarebbe 981 . Ovviamente per contare le possibili griglie questo numero dovrebbe essere ridotto eliminando tutte quelle configurazioni che non soddisfano le regole.

Se consideriamo un qualsiasi blocco del Sudoku, questo puo’ avere 9! (362880) possibili configurazioni. I possibili modi con cui arrangiare la “banda” in alto (l’insieme dei tre blocchi da 3x3 celle) saranno dati dal prodotto di 9! del primo blocco per il numero di modi in cui e’ possibile arrangiare il blocco 2 della banda superiore e il numero di modi in cui e’ possibile arrangiare il blocco 3 (quello a destra in alto della griglia del Sudoku).

Questo prodotto e’ uguale a 6.67*1021. Comunque se consideriamo la simmetria della griglia del Sudoku questo numero e’ destinato a diminuire. Per simmetrie, intendiamo quelle operazioni che quando applicate alla griglia del Sudoku, esse creano un’altra griglia che e’ essenzialmente equivalente all’originaria. Per prima cosa etichettiamo una griglia del Sudoku come riportato in figura 8.

 

image Figura 8: Griglia del Sudoku etichettata con le lettere.

La colonna ADG e’ chiamata una “pila”, mentre la riga ABC e’ detta una “striscia”.La selezione di specifici valori per uno qualsiasi dei quadrati e’ conosciuta come “Ri-etichettatura”. L’arrangiamento delle cifre da 1 a 9 nel blocco A, e’ un esempio di operazione di ri-etichettatura. Oltre questa operazione, sono possibili anche le:

· Permutazioni delle “strisce”

· Permutazioni delle “pile”

· Permutazioni delle colonne all’interno delle “pile”

· Permutazioni delle righe all’interno delle “strisce”

· Riflessione o rotazione della griglia.

Frazer Jarvis e Ed Russel, in un lavoro intitolato “Mathematics of Sudoku”, hanno individuato 3359323 simmetrie. Una di queste e’ quella rappresentata in figura 9, dove la griglia riportata rimane praticamente la stessa se sottoposta ad una rotazione di 90 gradi e di ri-etichettatura 1—>3—>9—>7—>1 e 2—>6—>8—>4—>2. Il 5 rimane fisso.

image Figura 9: Griglia di Sudoku che rimane la stessa in seguito ad operazione di rotazione e ri-etichettatura

Tenendo conto di tutte le simmetrie, gli autori sono arrivati a stabilire che tutte le possibili griglie differenti del Sudoku sono 5472730538.

Normalmente, il Sudoku deve avere una sola soluzione, altrimenti il puzzle non e’ valido. Per essere sicuri di cio’, i puzzles sono presentati con un numero di cifre gia’ presenti nella griglia iniziale, lasciando al giocatore la deduzione delle rimanenti cifre da inserire nelle celle libere. Al momento il migliore risultato ottenuto sul minimo numero richiesto nella griglia iniziale e’ di 17 cifre. Questo e’stato ottenuto dal professore Gordon Royle dell’Universita’ dell’Australia. Attualmente non si sa se con 16 cifre iniziali il Sudoku ammette una singola soluzione. Tutte le griglie con 17 entrate iniziali, vengono chiamate i Sudoku minimi. Al momento si conoscono 47793 diversi Sudoku minimi.

Per analizzare il gioco del Sudoku e’ possibile anche utilizzare la teoria dei grafi. E’ quello che hanno fatto Agnes M. Herzberg e M. Ram Murty in un loro lavoro apparso sul giornale Notices of the AMS di Giugno/Luglio 2007. E’ possibile pensare alla griglia del Sudoku, come agli 81 nodi di un grafo. Ogni cifra da 1 a 9 puo’ essere colorato in modo diverso, e due nodi possono essere connessi se e solo se le due celle che essi rappresentano si trovano nella stessa riga, colonna o quadrato 3x3. Poiche’ nessuna riga, colonna o blocco 3x3 puo’ contenere piu’ di una volta lo stesso numero, questo significa che il grafo non avra’ connessioni tra nodi dello stesso colore. Nel linguaggio della teoria dei grafi, un grafo colorato senza connessioni tra nodi dello stesso colore si chiama un “grafo colorato proprio”.

Quello che i giocatori di Sudoku, quindi, fanno tutti i giorni, e’ cercare di estendere un grafo parzialmente-colorato (la griglia iniziale) ad un grafo colorato proprio.
Grazie a questa analogia tra Sudoku e grafi, Herzberg e Murty hanno utilizzato le tecniche dei grafi per provare alcuni teoremi riguardanti il Sudoku.

Per esempio, hanno provato che il numero di modi per trasformare un grafo parzialmente colorato e’ dato da un polinomio. Se il valore di questo polinomio e’ zero per una certa griglia Sudoku, allora il puzzle non ha soluzione. Se il valore e’ 1, allora il puzzle ha una sola soluzione e cosi via. Essi hanno anche dimostrato che affinche’ un Sudoku abbia un’unica soluzione, ci devono essere almeno 8 delle 9 cifre presenti nella griglia iniziale come entrate. Se vengono dati solo 7 numeri, allora il puzzle ha almeno due soluzioni.

Tenendo presente, quindi, il risultato di G. Royle, per avere un’unica soluzione dobbiamo garantirci che nella griglia iniziale ci siano almeno 17 numeri e che questi siano rappresentati da 8 diverse cifre. Per esempio con una sequenza del tipo:

1, 2, 3, 4, 5, 6, 9, 2, 2, 3, 4, 1, 1, 9, 4, 7, 2

come entrate iniziali il puzzle avra’ sicuramente una soluzione unica.

E’ possibile pensare che nel caso ci sia un numero di entrate superiore a 17, sia abbastanza probabile avere un’unica soluzione del Sudoku. E invece non e’ sempre cosi. L’articolo di Herzberg e Murty, riporta un esempio di una griglia con 29 numeri iniziali che ha due differenti soluzioni. Niente male per un rompicapo come il Sudoku. Un altro ricercatore, David Eppstein dell’Universita’ della California, ha applicato anche lui la teoria dei grafi per costruire nuovi metodi di soluzione.

Supponiamo di avere un Sudoku che e’ stato risolto parzialmente. Assegniamo ad ogni cella vuota un nodo del grafo, e connettiamo i nodi con archi etichettati coi numeri candidati per la cella. Eppstein definisce un ciclo non ripetitivo, un tour chiuso che non ha due archi (edge) consecutivi con la stessa etichetta e ciclo ripetitivo uno in cui e’ possibile trovare due archi consecutivi con la stessa etichetta. I connettori consecutivi sono quelli che condividono uno stesso nodo (per esempio A e B sotto).

image

Vediamo come funziona il metodo nel caso di cicli non ripetitivi. In questo caso, per qualsiasi cella C del ciclo, con due archi etichettati con A e B che insistono su di essa, il valore di C puo’ essere solo A o B. Nell’esempio della figura 10, la cella C e’ quella sulla sinistra in basso della griglia. Poiche’ i due archi che insistono su questa cella hanno come numeri 2 e 3 significa che la cella C dovra’ avere uno di questi due numeri. La griglia in alto a sinistra e’ il Sudoku parzialmente completato con altri metodi. In basso a destra invece viene mostrato il puzzle risolto.

image Figura 10: Metodo del ciclo non ripetitivo di Eppstein.

In caso di ciclo ripetitivo, se ad un nodo confluiscono due archi con la stessa etichetta, la cella associata al nodo del grafo non puo’ che avere come valore l’etichetta delle connessioni. Nell’esempio di figura 11, il nodo indicato in nero non puo’ che avere come valore il numero 4.

image

Figura 11: Metodo del ciclo ripetitivo di Eppstein.

sabato 14 luglio 2012

Piramidi di numeri primi palindromi

Sono tanti quelli che hanno avuto la possibilità di ammirare la grandiosità delle piramidi di Giza. Si tratta di opere straordinarie su cui ancora molto si discute. Non si sa ancora con certezza, se all’interno le pareti erano ricoperte di pitture e geroglifici come quasi tutte le altre tombe egizie. Se effettivamente fossero strutture legate ad oggetti stellari (vedi per esempio la teoria di Bouval secondo la quale le tre piramidi altro non sono che la rappresentazione sulla terra delle stelle della cintura della costellazione di Orione) o se invece fossero delle semplici tombe.

In questo capitolo, anche noi, ci occuperemo di piramidi, ma di piramidi matematiche i cui mattoni sono le pietre infrangibili della matematica: i numeri primi.

Ma non tutti i primi vanno bene. Per generare la simmetria delle piramidi rispetto all’asse centrale, bisogna considerare solo i primi palindromi. Ricordiamo che i numeri palindromi sono quei numeri che si leggono allo stesso modo da sinistra a destra e viceversa. Partendo col numero primo 2, per esempio, è possibile costruire due piramidi di altezza 5. Diversamente dagli antichi, noi costruiamo le nostre piramidi dall’alto verso il basso.

Ogni gradino è un numero primo palindromo con il precedente gradino che costituisce le cifre centrali. Queste due piramidi sono le più alte che si possono costruire partendo con il numero 2. Le piramidi più alte che si possono costruire partendo con i numeri primi di una sola cifra sono raffigurate di seguito.

Ma è possibile costruire piramidi sempre più alte?

Se invece di considerare come punto di partenza numeri primi ad una cifra, iniziamo le piramidi con numeri primi palindromi con più cifre è possibile costruirne di più alte? E l’altezza di queste piramidi è sempre finita? Abbiamo visto che partendo con un numero primo ad una cifra e aggiungendo ad ogni lato una nuova cifra, l’altezza massima che si riesce ad ottenere è 5. Questo perché dovendo essere ogni gradino un numero primo abbiamo solo 4 possibili scelte per le cifre da aggiungere su ogni lato: 1, 3, 7, 9.

Partendo con numeri primi più grandi probabilmente non aiuta molto di più. Ma ce ne sono così tanti con cui partire che si può avere fortuna. Qui un esempio di tronco di piramide di altezza 9, che ho trovato nel 2000 e pubblicato in internet sul sito dell’Enciclopedia on-line delle sequenze di numeri interi con codice identificativo A046210.

 

7159123219517

371591232195173

33715912321951733

7337159123219517337

973371591232195173379

39733715912321951733793

3397337159123219517337933

933973371591232195173379339

39339733715912321951733793393

Se invece di aggiungere due cifre, una per ogni lato, consideriamo la possibilità di aggiungerne 4, due per lato, allora partendo con il numero primo 2 è possibile costruire una piramide costituita da ben 26 gradini come mostrato di seguito. Proprio una bella struttura.

 

2

30203

903020309

3790302030973

98379030203097389

969837903020309738969

9996983790302030973896999

72999698379030203097389699927

997299969837903020309738969992799

9099729996983790302030973896999279909

94909972999698379030203097389699927990949

779490997299969837903020309738969992799094977

7977949099729996983790302030973896999279909497797

17797794909972999698379030203097389699927990949779771

751779779490997299969837903020309738969992799094977977157

7375177977949099729996983790302030973896999279909497797715737

72737517797794909972999698379030203097389699927990949779771573727

987273751779779490997299969837903020309738969992799094977977157372789

3098727375177977949099729996983790302030973896999279909497797715737278903

70309872737517797794909972999698379030203097389699927990949779771573727890307

397030987273751779779490997299969837903020309738969992799094977977157372789030793

3539703098727375177977949099729996983790302030973896999279909497797715737278903079353

36353970309872737517797794909972999698379030203097389699927990949779771573727890307935363

333635397030987273751779779490997299969837903020309738969992799094977977157372789030793536333

3433363539703098727375177977949099729996983790302030973896999279909497797715737278903079353633343

99343336353970309872737517797794909972999698379030203097389699927990949779771573727890307935363334399

La stessa cosa si può fare usando come seme di partenza gli altri numeri primi di una sola cifra. C’è una piramide di altezza 29 per entrambi i numeri di partenza 5 e 7, mentre per il numero primo 3 la massima altezza è 28.

Sicuramente aumentando la dimensione della stringa di numeri da aggiungere ai due lati porterà a piramidi con altezze sempre maggiori. Ma di quanto? Quante piramidi è possibile costruire?

Indichiamo con l(n) il numero di cifre del numero n. Sia f(n,h,d) il numero di piramidi con altezza h, con numero primo iniziale n e con d cifre aggiunte ad ogni passo.

Per esempio, f(2,1,d)=1 in quanto c’è una sola piramide con numero iniziale 2 e altezza 1.

Al contrario f(101,2,2)=4 in quanto ci sono 4 piramidi con numero iniziale 101, altezza 2 e passo 2.

È possibile stimare la funzione f(n,h,d) e quindi calcolare la massima altezza ottenibile?

La risposta è si.

In base al teorema dei numeri primi, il numero di primi tra 2 e x è dato in modo approssimato da x/ln(x). Un’interpretazione di questo teorema è che la probabilità che un numero intero scelto a caso sia primo è dato da 1/ln(x). Quando costruiamo la piramide di numeri primi palindromi spostandoci da un gradino a quello successivo, ci sono 10*d interi da provare e quindi:

Nella figura di seguito è riportato l’andamento della curva approssimata per il caso n=2 e d=2.

Grafico della funzione f(2,h,2)/f(2,h-1,2). Notare l’ottimo accordo tra i dati reali e quelli stimati.

La coincidenza tra i dati e la curva approssimata è molto buona.

Osservare che man mano che h cresce il numero delle piramidi comincia a decrescere rapidamente e tende verso zero.

Per questo motivo, due studiosi di numeri primi, G.L. Honaker e Chris Caldwell, hanno congetturato che:

Congettura: Tutte le piramidi prime palindrome con un fissato passo d, hanno un’altezza finita.

Essi hanno inoltre trovato una formula per f(n,h,d) data da:

Osservare che per d=3 e n=2 questa relazione predice che ci dovrebbero essere circa 1030 possibili piramidi. Questo fa capire che voler cercare le piramidi più alte con un programma per computer è impensabile. Considerando, comunque, un numero limitato di piramidi (un massimo di 160), Honaker e Caldwell hanno trovato un altezza massima di 94, 101, 102, e 100 per i numeri primi di partenza 2, 3, 5,e 7 rispettivamente. Se fissiamo il passo d, questo limita le piramidi ad avere un’altezza finita. E se invece permettiamo a d di prendere qualsiasi valore? Argomenti analoghi a quelli riportati precedentemente suggeriscono che per qualsiasi numero primo palindromo di partenza si dovrebbe essere capaci di costruire piramidi tanto alte quanto si vuole. Chiaramente l’altezza h delle piramidi in media è proporzionale allo step d. C’è un caso particolare molto interessante. Supponiamo che per ogni gradino della piramide, il numero palindromo da utilizzare, sia il più piccolo possibile indipendentemente da d. In questo caso partendo da 2 la piramide inizialmente dovrebbe essere la seguente:

 

2

727

37273

333727333

93337273339

309333727333903

1830933372733390381

92183093337273339038129

3921830933372733390381293

1333921830933372733390381293331

18133392183093337273339038129333181

 

Questa piramide può essere considerata come una sequenza dove ogni termine è rappresentato da un gradino. Cioè: a1=2, a2=727, a3=37273 ........

Questa sequenza può anche essere condensata scrivendo a1 seguito dalle cifre che sono aggiunte sulla sinistra ad ogni stadio della piramide.

2, 7, 3, 33, 9, 30, 18, 92, 3, 133, 18, 117, 17, 15, 346, 93, 33, 180, 120, 194, 126, 336, 331, 330, 95, 12, 118, 369, 39, 32, 165, 313, 165, 134, 13, 149, 195, 145, 158, 720, 18, 396, 193, 102, 737, 964, 722, 156, 106, 395, 945, 303, 310, 113, 150, 303, 715, 123

Un’altra sequenza di numeri primi palindromi può essere generata cercando di dare una risposta ad una questione che l’autore ha pubblicato su internet nel 2000 (sequenza A046210) e che recita:

Qual è il più piccolo numero primo palindromo che genera una piramide di altezza massima n?

La sequenza considerando d=1, inizia con:

11, 131, 2, 929, 10301, 16361, 10281118201, 35605550653, 7159123219517…

11 è il più piccolo numero primo che genera una piramide di altezza 1.

Infatti, tutti i numeri che si possono formare con le cifre 2, 3, 7, 9 non sono primi.

Il numero primo successivo 131, è il più piccolo numero primo che forma una piramide di altezza 2 e cosi via.

Come continua questa sequenza? Ad oggi nessuno lo sa, anche se nuove scoperte possono essere dietro l’angolo.

http://www.wikio.it