SlideShare a Scribd company logo
Behind the scenes of
Sudoku
Application of genetic algorithms
for the optimal fun


                                  Thomas Bridi
                    Thomas.bridi@studio.unibo.it
                                                   S
Sudoku: il gioco


 S Gioco di logica

 S Dominio e vincoli

 S Sudoku probabiliatici

 S Sudoku deterministici
L’obbiettivo


 S Generare Sudoku deterministici

 S Creare puzzle sempre più difficili
Inizialmente


 S Mappare il problema della generazione come un CSP

 S Creare un algoritmo ad-hoc per la propagazione dei
   domini

 S Risolutore che mima le tecniche di soluzione usate
   dall’uomo per identificare un puzzle deterministico
Il problema


 S La difficoltà del puzzle non è garantita a causa del
   risolutore: la difficoltà dipende dal numero di tecniche
   implementate ma può capitare che un puzzle generato
   possa essere risolto usando solamente tecniche semplici

 S L’agoritmo riconosce solo un sottoinsieme di puzzle
   deterministici
Una possibile soluzione


 S Generare una popolazione di Sudoku e farli evolvere
   utilizzando un’algoritmo genetico per ottenere puzzle
   sempre più difficili
L’approccio (1)


 S Viene creato un genotipo in base alle celle selezionate
    durante la creazione e al valore inserito

 Genotype:
L’approccio (2)


 S Una funzione di fitness (da ottimizzare) basata su quante
   volte una tecnica (con un determinato peso di difficltà)
   viene utilizzata

 S Viene generata una popolazione iniziale di puzzle

 S Vengono applicate operazioni come mutazione, incrocio
   e selezione naturale
L’ambiente


 S Ambiente molto selettivo

 S Tutti i membri della popolazione vengono incrociati con tutti gli
    altri più volte
 S Tutti i membri vengono mutati

 S Tutti i genitori muiono nella generazione successiva

 S La popolazione viene mantenuta costante dalla selezione
    naturale
 S Possibilità di estinzione
Performance e risultati (1)


 S Solo l’8,24% delle griglie porta con successo a un puzzle
   deterministico prima del fallimento dell’algoritmo spiegato
   in precedenza

 S La percentuale di mutazioni che porta a griglie più difficili
   è il 35,88%

 S L’algoritmo richiede circa 3 ore per generare e mutare
   10000 puzzle (20000 Sudoku differenti)
Performance e risultati (2)

Andamento della difficoltà media e massima su una popolazione costante di
100 puzzle mutati, incrociati e selezionati

1600
1400
1200
1000
 800                                                      Difficoltà media
 600                                                      Difficoltà massima
 400
 200
   0
         0     1     2     3    4     5     6     7
Behind the scenes of Sudoku - Application of genetic algorithms for the optimal fun.

More Related Content

Viewers also liked

l'e-Government per lo sviluppo del territorio
l'e-Government per lo sviluppo del territoriol'e-Government per lo sviluppo del territorio
l'e-Government per lo sviluppo del territorio
Agenda Digitale del Veneto
 
Technology flyer it (selection)
Technology flyer   it (selection)Technology flyer   it (selection)
Technology flyer it (selection)
AdamGordon
 
Offshore funds survey
Offshore funds surveyOffshore funds survey
Offshore funds survey
AdamGordon
 
New Social Networking Consultancy Launched In Glasgow The Drum
New Social Networking Consultancy Launched In Glasgow   The DrumNew Social Networking Consultancy Launched In Glasgow   The Drum
New Social Networking Consultancy Launched In Glasgow The Drum
AdamGordon
 
Thank You Forward - Lifebushido
Thank You Forward - LifebushidoThank You Forward - Lifebushido
Thank You Forward - Lifebushido
medialb
 
Ilugc curl
Ilugc curlIlugc curl
Ilugc curl
Akilan Ram
 
Presentazione Agenda Digitale del Veneto alle Direzioni Regionali
Presentazione Agenda Digitale del Veneto alle Direzioni RegionaliPresentazione Agenda Digitale del Veneto alle Direzioni Regionali
Presentazione Agenda Digitale del Veneto alle Direzioni Regionali
Agenda Digitale del Veneto
 
안드로이드 오픈 액세서리 개발
안드로이드 오픈 액세서리 개발안드로이드 오픈 액세서리 개발
안드로이드 오픈 액세서리 개발
Sangkyoon Nam
 
Knowledge Sharing for Operational Excellence
Knowledge Sharing for Operational ExcellenceKnowledge Sharing for Operational Excellence
Knowledge Sharing for Operational Excellence
Archana Chari
 

Viewers also liked (9)

l'e-Government per lo sviluppo del territorio
l'e-Government per lo sviluppo del territoriol'e-Government per lo sviluppo del territorio
l'e-Government per lo sviluppo del territorio
 
Technology flyer it (selection)
Technology flyer   it (selection)Technology flyer   it (selection)
Technology flyer it (selection)
 
Offshore funds survey
Offshore funds surveyOffshore funds survey
Offshore funds survey
 
New Social Networking Consultancy Launched In Glasgow The Drum
New Social Networking Consultancy Launched In Glasgow   The DrumNew Social Networking Consultancy Launched In Glasgow   The Drum
New Social Networking Consultancy Launched In Glasgow The Drum
 
Thank You Forward - Lifebushido
Thank You Forward - LifebushidoThank You Forward - Lifebushido
Thank You Forward - Lifebushido
 
Ilugc curl
Ilugc curlIlugc curl
Ilugc curl
 
Presentazione Agenda Digitale del Veneto alle Direzioni Regionali
Presentazione Agenda Digitale del Veneto alle Direzioni RegionaliPresentazione Agenda Digitale del Veneto alle Direzioni Regionali
Presentazione Agenda Digitale del Veneto alle Direzioni Regionali
 
안드로이드 오픈 액세서리 개발
안드로이드 오픈 액세서리 개발안드로이드 오픈 액세서리 개발
안드로이드 오픈 액세서리 개발
 
Knowledge Sharing for Operational Excellence
Knowledge Sharing for Operational ExcellenceKnowledge Sharing for Operational Excellence
Knowledge Sharing for Operational Excellence
 

Behind the scenes of Sudoku - Application of genetic algorithms for the optimal fun.

  • 1.
  • 2. Behind the scenes of Sudoku Application of genetic algorithms for the optimal fun Thomas Bridi Thomas.bridi@studio.unibo.it S
  • 3. Sudoku: il gioco S Gioco di logica S Dominio e vincoli S Sudoku probabiliatici S Sudoku deterministici
  • 4. L’obbiettivo S Generare Sudoku deterministici S Creare puzzle sempre più difficili
  • 5. Inizialmente S Mappare il problema della generazione come un CSP S Creare un algoritmo ad-hoc per la propagazione dei domini S Risolutore che mima le tecniche di soluzione usate dall’uomo per identificare un puzzle deterministico
  • 6. Il problema S La difficoltà del puzzle non è garantita a causa del risolutore: la difficoltà dipende dal numero di tecniche implementate ma può capitare che un puzzle generato possa essere risolto usando solamente tecniche semplici S L’agoritmo riconosce solo un sottoinsieme di puzzle deterministici
  • 7. Una possibile soluzione S Generare una popolazione di Sudoku e farli evolvere utilizzando un’algoritmo genetico per ottenere puzzle sempre più difficili
  • 8. L’approccio (1) S Viene creato un genotipo in base alle celle selezionate durante la creazione e al valore inserito Genotype:
  • 9. L’approccio (2) S Una funzione di fitness (da ottimizzare) basata su quante volte una tecnica (con un determinato peso di difficltà) viene utilizzata S Viene generata una popolazione iniziale di puzzle S Vengono applicate operazioni come mutazione, incrocio e selezione naturale
  • 10. L’ambiente S Ambiente molto selettivo S Tutti i membri della popolazione vengono incrociati con tutti gli altri più volte S Tutti i membri vengono mutati S Tutti i genitori muiono nella generazione successiva S La popolazione viene mantenuta costante dalla selezione naturale S Possibilità di estinzione
  • 11. Performance e risultati (1) S Solo l’8,24% delle griglie porta con successo a un puzzle deterministico prima del fallimento dell’algoritmo spiegato in precedenza S La percentuale di mutazioni che porta a griglie più difficili è il 35,88% S L’algoritmo richiede circa 3 ore per generare e mutare 10000 puzzle (20000 Sudoku differenti)
  • 12. Performance e risultati (2) Andamento della difficoltà media e massima su una popolazione costante di 100 puzzle mutati, incrociati e selezionati 1600 1400 1200 1000 800 Difficoltà media 600 Difficoltà massima 400 200 0 0 1 2 3 4 5 6 7