| 
Home Forum Giochi Sudoku Creare un sudoku

Creare un sudoku

Sudoku e varianti. Parliamone.

Moderatori: alkross, Klaus

4 messaggi • Pagina 1 di 1

Creare un sudoku

Messaggioda voltaren » gio giu 28, 2007 5:28 pm

Un saluto a tutti
Ho una curiosità che mi attanaglia da tempo e che credevo fosse comune a molti giocatori di sudoku, ma non mi sembra confermata da quanto posso leggere nel forum.
Come si fa a creare uno schema sudoku?
Naturalmente senza l'aiuto di programmi, quindi solo con carta e penna.
Un grazie a tutti voi.
voltaren
Silente
 
Messaggi: 3
Iscritto il: mer mag 30, 2007 3:09 pm
Località: Roma

Messaggioda gabriele46 » gio giu 28, 2007 9:16 pm

ciao voltaren,
guarda che i programmi ragionano come l'uomo, soltanto in maniera più veloce.
La tecnica più diffusa dei generatori è quella di creare una griglia risolta e poi cominciare a cancellare le celle fino ad arrivare ad uno schema con soluzione unica.
Io ho invece usato un metodo diverso, pertendo proprio dalla tua domanda: quale è la tecnica più facile per produrre uno schema? Allora:
si comincia a piazzare numeri a caso su celle e sulle loro simmetriche avendo cura di cancellare tutti i candidati in base ai numeri introdotti.
Si va avanti così per 10 -11 numeri.
Man mano che i numeri introdotti crescono devi cominciare a usare tutte le tecniche che conosci per cercare di eliminare il maggiior numero di candidati.
Se hai fortuna riesci a produrre la griglia.
Cosa c'entra la fortuna?
C'entra!
Non tutti i candidati rimasti, in base ai quali scegli il nuovo numero da introdurre ,sono sempre possibili.
Anche il mio generatore deve , qaulche volta (circa 1 volta su 10), tornare indietro perche ha introdotto un candidato impossibile.
Però, mentre il computer, in caso di errore, ha buttato via qualche secondo, per l'uomo potrebbe essere frustrante accorgersi di aver lavorato tanto per poi scoprire che c'era un candidato impossibile.
Il problema, forse, non esiste se si adopera la prima tecnica, che però non ho mai provato.
Non so se tutte le tecniche finora conosciute siano in grado di scovare tutti i candidati impossibili.
Tanto è vero che ogni tanto gli appassionati trovano una tecnica nuova.
Il che mi costringe a continuare ad aggiornare il mio programma, attualmente sono alle prese con i "NICE LOOPS".
Spero di essere stato chiaro, comunque non giureri su quanto ho asserito. Penso, e spero, sia così
Ciao
kevin mitnick
gabriele46
Matita
 
Messaggi: 34
Iscritto il: mer mar 07, 2007 12:04 pm
Località: italia

Messaggioda voltaren » ven giu 29, 2007 12:18 am

Sul fatto che i computer elaborino ad una velocità stratosferica non ci sono dubbi, che poi possano ragionare come l'uomo permettimi di averne più di qualcuno...

Per tornare un attimo all'argomento della discussione, non potresti spiegarmi meglio, magari facendo qualche esempio, quello che hai detto?

Mi sembra molto interessante ma non riesco a visualizzare bene il procedimento di scviluppo del sudoku.

Ciao
voltaren
Silente
 
Messaggi: 3
Iscritto il: mer mag 30, 2007 3:09 pm
Località: Roma

Messaggioda gabriele46 » ven giu 29, 2007 12:46 pm

mi sono espresso male:
il computer non ragiona come l'uomo, ma come il programmatore gli ha insegnato.
Quindi per generare uno schema, prima ho pensato a come costruire una griglia e poi ho programmato il computer per seguire il mio ragionamento.
Mi ero dimenticato di dirti che generare è molto, ma molto più di difficile che risolvere.
E per produrre un BUON generatore devi aver a disposizione un OTTIMO risolutore.
Ma veniamo agli esempi:
il generatore numero le celle da 0 a 80
cella=0 --> r1c1
cella=80 --> r9c9
il primo numero rappresenta la cella
il secondo il numero introdotto
ad ogni inserimento devi eliminare i candidati conseguentemente
appena possibile comincia ad eliminare i candidati anche con tutte le tecniche conosciute.
Gli schemi sono super simmetrici: cioè anche con simmetria verticale e orizzontale
1) generazione senza errore
17 2
63 4
9 8
71 7
55 9
25 6
61 1
19 2
5 8
75 5
3 1
77 1
58 4
22 5
73 8
7 3
79 2
1 4
44 9
36 2
50 2
30 4
48 7
32 5
42 6
38 5
53 1

2) generazione con errore
18 2
62 7
26 8
54 8
5 4
75 5
3 2
77 2
0 7
80 3
8 6
72 9
60 4
20 6
56 2
24 5
12 9
68 9
14 7
66 1
2 5
78 8
6 3
74 4
quando il generatore ha riempito la cella 74, il 4 era presente tra i candidati , ma per per qualche ragione era invece impossibile ed ha portato ad un errore. Mi spiego meglio:
forse il 4 avrebbe dovuto essere eliminato in base ad un colori o ad una forcing chain o ad un nice loop. Tecniche che il generatore non applica perchè appesantirebbero di molto il tempo di generazione. E' molto più veloce tornare indietro in caso di errore.
Spero sia chiaro, in caso contrario non esitare a chiedere ulteriori spiegazioni.
kevin mitnick
gabriele46
Matita
 
Messaggi: 34
Iscritto il: mer mar 07, 2007 12:04 pm
Località: italia


4 messaggi • Pagina 1 di 1

Torna a Sudoku

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron