Aspetti di Teoria dei Grafi nel gioco del Sudoku.

Università degli studi di
Firenze
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Matematica
Aspetti di Teoria dei Grafi nel gioco del
Sudoku
Tesi di Laurea in Matematica
Relatore:
Prof. Francesco Fumagalli
Candidato:
Valentina Brandani
Sessione 20 Aprile 2011
Anno Accademico 2009/2010
1
Introduzione
Il noto gioco del Sudoku, fu pubblicato per la prima volta negli Stati Uniti nel
maggio del 1979 sulla rivista Dell Pencil Puzzles Word Games. Ideato da Howard Gans, che lo aveva battezzato Numbers in Place, divenne però popolare
in Giappone a opera della casa editrice Nikoli che gli cambiò nome in suuji wa
dokushin ni kagiru (traducibile in ”numeri solitari”), successivamente abbreviato in Sudoku da Maki Kaji. Nel 1997 un giudice neozelandese in pensione notò
il gioco, convincendo cinque anni dopo un quotidiano del New Hampshire ad
aprire una rubrica ad esso dedicata. La vera esplosione si ebbe però nel 2005,
quando il Times di Londra accettò di ripetere l’esperimento. Da quel momento
il Sudoku si trova su giornali, riviste e libri di tutto il mondo.
In questa tesina abbiamo analizzato alcuni aspetti matematici legati al Sudoku,
in particolare abbiamo visto come ricondurre il gioco del Sudoku ad un problema
di colorazione di un grafo, che abbiamo chiamato Sud3 , di cui abbiamo studiato il gruppo degli automorfismi. Abbiamo visto quanti sono i possibili giochi
risolti, utilizzando risultati derivanti dalla Teoria dei Gruppi. Infine abbiamo
stimato la probabilità che un Quadrato Latino sia anche un Sudoku.
2
Il grafo Sudoku: Sudn
Lo schema del Sudoku consiste in una griglia di 9 × 9 celle raggruppate in 9
sottogriglie 3 × 3. Risolvere il gioco consiste nel posizionare i numeri da 1 a 9
in modo che ogni riga, ogni colonna e ogni sottogriglia li contenga esattamente
una volta, partendo da una parziale assegnazione. Possiamo associare un grafo
alla griglia 9 × 9 del Sudoku. Tale grafo ha 81 vertici, ognuno corrispondente
ad una delle celle della griglia. Due vertici distinti sono considerati adiacenti
se e solo se le celle corrispondenti nella griglia si trovano o nella stessa riga, o
nella stessa colonna o nella stessa sottogriglia. Generalizziamo, considerando
una griglia n2 × n2 , con n ≥ 2 intero. Associamo ad ogni cella della griglia
un vertice etichettato dalla coppia (i, j), con 0 ≤ i, j ≤ n2 − 1. Diremo che i
0
0
0
0
vertici (i, j) e (i , j 0 ) sono adiacenti se i = i o j = j oppure se bi/nc = bi /nc e
0
bj/nc = bj /nc (dove la notazione b·c indica la parte intera inferiore, ovvero bαc
è il più grande intero ≤ α). Indichiamo questo grafo con Sudn e lo chiamiamo
grafo Sudoku di rango n. Possiamo osservare che Sudn è un grafo regolare, in
cui ogni vertice ha grado pari a n2 − 1 + 2n(n − 1) = 3n2 − 2n − 1, in quanto
ciascun vertice è adiacente agli n2 − 1 vertici della sottogriglia in cui giace, agli
n(n − 1) vertici della sua riga e agli n(n − 1) vertici della sua colonna. Nel caso
in cui n = 3, Sud3 è un grafo 20-regolare.
Ricordiamo che una colorazione dei vertici di un grafo G è una applicazione
ψ : V (G) → N, tale che per ogni u, v ∈ V , se u e v sono adiacenti allora
ψ(u) 6= ψ(v). Gli elementi del codominio sono detti colori.
Detto in modo informale, una colorazione di un grafo G è una assegnazione di
un colore a ciascun vertice di G in modo che vertici adiacenti non abbiano lo
stesso colore.
Ogni grafo finito G ammette una colorazione con un numero finito di colori,
1
ed il numero minimo di colori mediante i quali è possibile colorare G è detto
numero cromatico di G e si indica con χ(G).
Una griglia del Sudoku risolta corrisponde quindi ad una colorazione completa
del grafo Sudn . Il numero cromatico del grafo del Sudoku nel caso n = 3 è 9,
come provato dal seguente teorema.
Teorema 2.1. [[7], Theorem 3] Per ogni numero naturale n esiste una colorazione completa del grafo Sudn usando n2 colori. Il numero cromatico di
Sudn è n2 .
2.1
s prodotto di grafi e gruppo degli automorfismi di
Sudn
Studiamo ora il gruppo degli automorfismi del grafo Sudn . Per farlo, esprimiamo tale grafo come un particolare prodotto di due grafi più piccoli. Limiteremo
la nostra trattazione al caso n = 3.
Sia B3 il grafo il cui insieme di vertici è V (B3 ) = Z/3Z × Z/3Z e il cui insieme
di lati E(B3 ) è cosı̀ definito:
(a, b) ∼ (c, d) ⇔ a = c oppure b = d.
Quindi | V (B3 ) |= 9 e | E(B3 ) |= 6 32 = 18 (escludendo i 9 cappi).
Proposizione 2.1.1. Aut(B3 ) ' (S3 ×S3 )oZ2 . In particolare | Aut(B3 ) |= 72 .
Osserviamo adesso che l’insieme dei lati (non-cappi) di B3 ammette una ripartizione invariante per automorfismi di B3 in due sottoinsiemi O e V, cioè
esistono O, V ⊆ E(B3 ) disgiunti tali che:
1. E(B3 ) = O ∪ V, | O |=| V |=| E(B3 ) | /2 = 9
2. Aut(B3 ) agisce sull’insieme {O, V}.
Per fissare le idee, possiamo immaginare il grafo B3 nel piano cartesiano come
un reticolo quadrato con gli archi aggiuntivi, in cui O e V sono rispettivamente
l’insieme dei lati orizzontali e di quelli verticali.
Consideriamo adesso il grafo completo su 9 vertici, K9 . Dotiamo l’insieme dei
vertici V (K9 ) di due ripartizioni o e v cosı̀ fatte
o = {o1 , o2 , o3 } , v = {v1 , v2 , v3 }
tali che:
- V (K9 ) =
S3
i=1
oi =
S3
i=1
vi ;
- | oi |= 3 =| vi | per ogni i = 1, 2, 3;
- oi ∩ oj = ∅ = vi ∩ vj se i 6= j;
2
- | oi ∩ vj |= 1 per ogni i, j = 1, 2, 3.
Sia adesso Ω = V (B3 ) × V (K9 ) e definiamo la relazione di incidenza in Ω
ponendo ∀ (b1 , k1 ), (b2 , k2 ) ∈ Ω, (b1 , k1 )ρ(b2 , k2 ) se e solo se:
- b1 = b2
oppure
- ∃ i = 1, 2, 3 tale che k1 , k2 ∈ oi
se b1 ∼ b2 in O
- ∃ i = 1, 2, 3 tale che k1 , k2 ∈ vi
se b1 ∼ b2 in V.
oppure
Munito di tale relazione Ω è un grafo, ed è proprio il grafo Sud3 . Risulta
pertanto che V (Sud3 ) = Ω e E(Sud3 ) è definito dalla relazione ρ. Denotiamo
Sud3 ≡ B3 s K9
e lo chiamiamo prodotto Sudoku dei grafi B3 e K9 .
Tale costruzione si generalizza per n ≥ 2, ottenendo il grafo
Sudn ≡ Bn s Kn2 .
Preoccupiamoci ora di studiare il gruppo degli automorfismi di Sud3 .
Definiamo per ogni (b, k) ∈ V (Sud3 ), l’applicazione
c : V (Sud3 ) −→ V (B3 )
(b, k) 7→ b
c è la contrazione di ogni componente K9 .
È facile notare che c manda lati del grafo Sud3 in lati del grafo B3 e pertanto c è un morfismo tra grafi.
Fissiamo ora un elemento k1 ∈ V (K9 ) e, per ogni b ∈ V (B3 ), definiamo
l’applicazione
i : V (B3 ) −→ V (Sud3 )
b
7→ (b, k1 )
e notiamo che i manda lati del grafo B3 in lati del grafo Sud3 e pertanto anche’essa è un morfismo tra grafi.
Abbiamo provato il seguente lemma tecnico, il quale è cruciale per studiare
la struttura del gruppo degli automorfismi di Sud3 .
Lemma 2.1.2. Per ogni ϕ ∈ Aut(Sud3 ), per ogni b ∈ V (B3 ) e per ogni
h, k ∈ V (K9 ), vale che
c(ϕ(b, h)) = c(ϕ(b, k)),
3
ovvero gli automorfismi di Sud3 non spezzano le sottogriglie.
Dimostrazione. Prendiamo ϕ ∈ Aut(Sud3 ) e supponiamo per assurdo che ϕ
spezzi, ad esempio, la sottogriglia in alto a sinistra. Supponiamo quindi che
esistano (b1 , h), (b1 , k) ∈ V (Sud3 ) con h 6= k, tali che ϕ(b1 , h) = (b2 , r) e
ϕ(b1 , k) = (b3 , s) con b2 6= b3 . Dividiamo la dimostrazione in due casi.
Caso 1. Siano h, k appartenenti ad oi per qualche i ∈ {1, 2, 3}. Sia Γ l’insieme dei vertici adiacenti contemporaneamente a (b1 , h) e (b1 , k), ovvero sia
Γ = Γ(b1 , h) ∩ Γ(b1 , k), allora | Γ |= (9 − 2) + 6 = 13. Ora,
| ϕ(Γ) |=| Γ(ϕ(b1 , h)) ∩ Γ(ϕ(b1 , k)) |=| Γ(b2 , r) ∩ Γ(b3 , s) |≤ 7,
e questo è un assurdo.
Analogamente si tratta il caso in cui h, k apartengono a vi per qualche i ∈
{1, 2, 3}.
Caso 2. Supponiamo che h, k non appartengano nè ad oi nè a vi , per ogni
i = 1, 2, 3. Consideriamo l’elemento che si trova sulla stessa colonna di (b1 , h) e
sulla stessa riga di (b1 , k): la sua immagine, per il primo caso, si deve trovare
nella stessa sottogriglia sia di (b2 , r) che di (b3 , s) e questo è ovviamente un
assurdo. Il lemma appena dimostrato permette di ottenere il seguente risultato.
Lemma 2.1.3. L’applicazione
ψ : Aut(Sud3 ) −→ Aut(B3 )
7→ c ◦ ϕ ◦ i
ϕ
è un omomorfismo suriettivo di gruppi.
Lemma 2.1.4. Il nucleo di ψ è isomorfo al prodotto diretto di sei copie di
S3 .
Dimostrazione.
Kerψ = {ϕ ∈ Sud3 | c(ϕ(b, h)) = b ∀b ∈ V (B3 ), ∀h ∈ V (K9 )},
ovvero il nucleo di ψ è costituito da tutti gli automorfismi di Sud3 che fissano
ogni sottogriglia. Le possibili operazioni che possiamo fare sono le permutazioni
delle tre colonne all’interno di ciascuna delle tre pile e le permutazioni delle tre
righe all’interno di ciascuna delle tre fasce. Tali operazioni sono indipendenti
l’una dall’altra e ciascuna dà luogo ad un gruppo isomorfo a S3 . È facile vedere
che queste sono tutte e sole le possibili operazioni: l’altra operazione che potremmo pensare di fare è scambiare le righe con le colonne, ma questo è assurdo
perchè in tal modo non vengono preservate le adiacenze. I due lemmi precedenti ed il primo teorema di omomorfismo di gruppi ci permettono di ottenere il seguente teorema.
Teorema 2.1.5.
| Aut(Sud3 ) |= 2 (3!)8 = 3359232
4
Generalizzando, abbiamo provato che vale quanto segue.
Teorema 2.1.6.
| Aut(Sudn ) |= 2 (n!)2n+2 .
3
Numero di colorazioni del grafo Sud3
Lo studio appena fatto della struttura di Aut(Sud3 ) permette di calcolare, mediante la nota formula di Cauchy-Frobenius, il numero di colorazioni possibili
del grafo Sud3 con nove colori ammissibili. Storicamente ciò è stato fatto tra il
2005 e il 2007 da Betram Felgenhauer, Frazer Jarvis e Ed Russel ([8],[9]).
Vogliamo stimare quante sono le colorazioni essenzialmente diverse, ovvero
quante sono le colorazioni totali a meno di automorfismi del grafo Sud3 .
Teorema (Cauchy-Frobenius). [[6], Theorem 4.18] Siano G un gruppo finito e S un insieme finito non vuoto su cui agisce G. Allora il numero n di
orbite di G su S è dato da
1 X
| f ix(g) |
n=
|G|
g∈G
dove f ix(g) = {s ∈ S | g · s = s}.
Osservazione. Osserviamo che se ci sono k classi di coniugio {C1 , ..., Ck },
possiamo considerare un sistema di rappresentanti T = {g1 , ..., gk } con gi ∈
Ci ∀i = 1, ..., k con gi 6= gj ∀i, j = 1, ..., k. In questo modo otteniamo che il
numero n di orbite è dato da
n=
k
1 X
1 X
| f ix(g) |=
| f ix(gi ) | · | Ci |,
|G|
| G | i=1
g∈G
formula senza dubbio più maneggevole se il gruppo G ha cardinalità elevata.
Utilizzando il software GAP si vede che il gruppo Aut(Sud3 ) ha 275 classi
di coniugio e che solo 27 di esse hanno punti fissi nell’azione naturale su Sud3 .
Ad esempio, pensiamo alla riflessione della griglia del Sudoku attorno all’asse
orizzontale. Tutti i numeri nella riga centrale (la quinta) rimangono invariati.
La griglia, dopo la riflessione, deve essere trasformata in se stessa. Questo significa, per esempio, che i due numeri nella prima colonna della quarta e sesta
riga sono lo stesso, e questo è chiaramente impossibile perchè due numeri uguali
non possono appartenere alla stessa sottogriglia.
Il teorema di Cauchy-Frobenius fornisce come risultato n ≈ 5, 472 × 109 . Indicando con No il numero di colorazioni totali si ha che
N0 =| Aut(Sud3 ) | ·n · 9! ≈ 6, 671 × 1021 .
5
4
Soluzioni del gioco del Sudoku
Il gioco del Sudoku, cosı̀ come viene proposto sui giornali, corrisponde a completare una colorazione parziale del grafo Sud3 . In questo ambito è significativo
il seguente teorema.
Teorema 4.1. [[7], Theorem 1] Sia G un grafo finito con v vertici. Sia C
una colorazione parziale di t vertici di G usando d0 colori. Sia pG,C (λ) il numero di modi per completare la colorazione C usando λ colori al fine di ottenere
una colorazione completa del grafo G. Allora per λ ≥ d0 , pG,C (λ) è un polinomio ad una variabile , λ, con coefficienti interi di grado v − t .
Dimostrazione. Una dimostrazione diretta di questo teorema utilizza la teoria degli insiemi parzialmente ordinati e la funzione di Möbius.
Sia data la coppia (G, C), con G grafo e C una colorazione di alcuni dei vertici
di G.
0
Dato un grafo qualunque H con a, b ∈ V (H) e a ∼ b, definiamo H e lo chiamiamo contrazione di H, il grafo che si ottiene da H collassando a con b.
0
0
Diremo che la coppia (G , C) è un sottografo di (G, C) se G è ottenuto contraendo qualche lato di G con al massimo un solo estremo in C. L’insieme P
di tutte queste contrazioni è parzialmente ordinato. La contrazione minima è
l’insieme dei vertici di C con le adiacenze tra loro conservate. Usiamo, con
abuso di notazione, la lettera C anche per indicare il grafo minimo nel nostro
0
insieme parzialmente ordinato. Per ogni elemento (G , C) di P, sia pG0 ,C (λ) il
0
numero di modi per colorare completamente G con λ colori tra quelli specificati per C. Sia qG0 ,C (λ) il numero di modi per colorare (non necessariamente
0
in modo proprio) i vertici di G usando λ colori tra quelli specificati per C.
0
0
0
Chiaramente qG0 ,C (λ) = λv −t , dove v é il numero di vertici di G e t il numero
di vertici di C. Se λ ≥ d0 , allora, data una λ-colorazione di (G, C), possiamo
0
derivare una colorazione completa di un unico sottografo (G , C) semplicemente
contraendo i lati ogni volta che due vertici adiacenti di (G, C) hanno lo stesso
colore assegnato. In questo modo otteniamo la relazione
X
(1)
qG,C (λ) = λv−t =
pG0 ,C (λ).
G0 : G0 ≥C
Abbiamo dunque una funzione a valori reali
f : P −→ N
0
(G , C) 7→ pG0 ,C (λ).
Applicando la formula di inversione di Möbius ([3],chapter 3, Proposition 2)
a (1), deduciamo che
X
pG,C (λ) =
0
0
G : G ≥C
6
0
µ(C, G )λv
0
−t
,
quindi il secondo membro è un polinomio ad una variabile a coefficienti interi
di grado v − t, essendo v − t l’esponente di grado maggiore assegnabile a λ. Corollario 4.2. Il numero di modi per completare il grafo Sudoku è dato da
pSud3 ,C (9). Un dato Sudoku (Sud3 , C) ha quindi un’unica soluzione se e solo se
pX3 ,C (9) = 1 .
Osservazione 4.3. [[7], Theorem 2] Sia G un grafo con numero cromatico
χ(G) e C una colorazione parziale di G usando χ(G) − 2 colori. Se la colorazione parziale può essere estesa ad una colorazione completa di G, allora ci sono
almeno due modi per estendere la colorazione.
Da quanto appena detto segue che se C è una colorazione parziale di un grafo G
che può essere estesa univocamente ad una colorazione completa, allora C deve
utilizzare almeno χ(G) − 1 colori. In particolare abbiamo che in un qualunque
Sudoku 9 × 9, per avere un’unica soluzione, devono essere usati almeno 8 colori
nelle celle date.
Uno dei problemi ancora non risolti legati al Sudoku è quello riguardante il
numero minimo di entrate che devono essere assegnate nella colorazione parziale affinchè ci sia un’unica soluzione. Attualmente tale numero è 17. Alcuni
matematici, in primis Gordon Royle, stanno cercando di capire se il gioco ha
un’unica soluzione anche con 16 entrate.
5
Confronto tra il grafo Sudn e i Quadrati Latini
n2 × n2
Definizione 5.1. Sia n ∈ N. Un Quadrato Latino di ordine n è una griglia
n × n con simboli appartenenti ad un insieme {1,2,...,n}, con la proprietà che
ciascun simbolo è presente esattamente una sola volta in ciascuna colonna e in
ciascuna riga.
Dalla definizione appena data segue che ogni Sudoku è un Quadrato Latino
e il risultato che qui riportiamo è la stima della probabilità che un Quadrato
Latino sia anche un Sudoku.
Teorema 5.2.[[7], Theorem 7] Sia pn la probabilità che una scelta casuale di
quadrati Latini di ordine n2 sia anche un quadrato Sudoku di rango n. Allora
pn ≤ e−0.5n
4
+O(n3 ln n)
.
In particolare, pn → 0 quando n tende all’infinito.
7
Riferimenti bibliografici
[1] B.Bollobás, Graph Theory, Springer-Verlag, 1979.
[2] C.Casolo, Appunti per il corso di Algebra 2.
[3] G.C.Rota, Gian-Carlo Rota on combinatorics: introductory papers and
commentaries, Joseph P.S.Kung Editor, Birkhäuser, 1995.
[4] P.J.Cameron, Combinatorics: topics, techniques, algorithms, Cambridge
University Press, 1994.
[5] J.H. van Lint, R.M.Wilson, A course in combinatorics, Press, 1992.
[6] I.M.Isaacs, Algebra: a graduate course, Brooks/Cole Publishing Company,
1994.
[7] A.M.Herzberg, M.R.Murty, Sudoku Squares and Chromatic Polynomials,
Notice of the AMS 54,6 (2007), 708-717.
[8] B.Felgenhauer , F.Jarvis, Mathematics of Sudoku I, Applied Probability
Trust 39,1 (2006), 15-22.
[9] E.Russel, F.Jarvis, Mathematics of Sudoku II Applied Probability Trust
39,2 (2007), 54-58.
8