Question sudoku solver V2
- crogiez
- Auteur du sujet
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 102
- Remerciements reçus 0
il y a 7 ans 2 mois #24343
par crogiez
sudoku solver V2 a été créé par crogiez
bonjour
moi, j'aime les sudoku
personne n'est parfait !!
je résous niveau +10
j'ai récupérer le solver de Jean Luc Moreau
www.powershell-scripting.com/index.php?o...;id=194&Itemid=2
je suis en train de l'améliorer
pour avoir un compte rendu explicite
sur la façon de résoudre
aie ! ya une procédure récursive
qui s’exécute plus d'une centaine de fois
est ce que çà vous interesse ?
bisoux<br><br>Message édité par: crogiez, à: 3/10/17 15:20
moi, j'aime les sudoku
personne n'est parfait !!
je résous niveau +10
j'ai récupérer le solver de Jean Luc Moreau
www.powershell-scripting.com/index.php?o...;id=194&Itemid=2
je suis en train de l'améliorer
pour avoir un compte rendu explicite
sur la façon de résoudre
aie ! ya une procédure récursive
qui s’exécute plus d'une centaine de fois
est ce que çà vous interesse ?
bisoux<br><br>Message édité par: crogiez, à: 3/10/17 15:20
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 7 ans 2 mois #24346
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:sudoku solver
Hello !!
Bien sûr que ça nous intéresse
N'hésite pas à poster ta version ici, dans ce forum.
Arnaud
Bien sûr que ça nous intéresse
N'hésite pas à poster ta version ici, dans ce forum.
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- crogiez
- Auteur du sujet
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 102
- Remerciements reçus 0
il y a 7 ans 2 mois #24351
par crogiez
Réponse de crogiez sur le sujet Re:sudoku solver
bien le bonjour mrs dames
j'ai envoyé mail à jean luc
mais pas de réponse
je suis rentré dans son code
je ne modifie pas la methode
j'ameliore juste la presentation
et les messages de relosution
quand un sudoku est tres dur à resoudre
le bon chemin cest decrire tous les candidats possibles
alors on voit des relations
et chiffres impossibles dans certaines cases
au fur et à mesure on elimine
et on trouve
çà peut durer 24H
le prog de JLM permet de saisir un sudoku \"dur\"
d'afficher automatiquement les candidats
et de tester certaines methodes
pour enfin éliminer certains chiffres
il faut connaitre plusieurs methodes pour résoudre
et plusieurs façon de chercher
JLM à retranscris ces methodes en script
là je dis chapeau bas
au moins 1 mois de boulot
moi j'ai deja du mal à comprendre les méthodes
et à trouver les eliminations
cest pourquoi j'ai ajouté des messages
apres chaque chiffre trouvé et exclusion trouvée
exemple
.
106|090|082
000|302|700
320|500|046
---+---+---
860|019|030
004|000|200
010|470|068
---+---+---
540|008|079
009|105|000
280|030|604
.
Appel CheckAllCells
Appel VerifChoixUnique
Candidat Unique 7
Ligne 1 Colonne 4 : Insertion de 7
.
106|790|082
000|302|700
320|500|046
---+---+---
860|019|030
004|000|200
010|470|068
---+---+---
540|008|079
009|105|000
280|030|604
.
bon j'y retourne
A+<br><br>Message édité par: crogiez, à: 3/10/17 09:23
j'ai envoyé mail à jean luc
mais pas de réponse
je suis rentré dans son code
je ne modifie pas la methode
j'ameliore juste la presentation
et les messages de relosution
quand un sudoku est tres dur à resoudre
le bon chemin cest decrire tous les candidats possibles
alors on voit des relations
et chiffres impossibles dans certaines cases
au fur et à mesure on elimine
et on trouve
çà peut durer 24H
le prog de JLM permet de saisir un sudoku \"dur\"
d'afficher automatiquement les candidats
et de tester certaines methodes
pour enfin éliminer certains chiffres
il faut connaitre plusieurs methodes pour résoudre
et plusieurs façon de chercher
JLM à retranscris ces methodes en script
là je dis chapeau bas
au moins 1 mois de boulot
moi j'ai deja du mal à comprendre les méthodes
et à trouver les eliminations
cest pourquoi j'ai ajouté des messages
apres chaque chiffre trouvé et exclusion trouvée
exemple
.
106|090|082
000|302|700
320|500|046
---+---+---
860|019|030
004|000|200
010|470|068
---+---+---
540|008|079
009|105|000
280|030|604
.
Appel CheckAllCells
Appel VerifChoixUnique
Candidat Unique 7
Ligne 1 Colonne 4 : Insertion de 7
.
106|790|082
000|302|700
320|500|046
---+---+---
860|019|030
004|000|200
010|470|068
---+---+---
540|008|079
009|105|000
280|030|604
.
bon j'y retourne
A+<br><br>Message édité par: crogiez, à: 3/10/17 09:23
Connexion ou Créer un compte pour participer à la conversation.
- crogiez
- Auteur du sujet
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 102
- Remerciements reçus 0
il y a 7 ans 2 mois #24354
par crogiez
Réponse de crogiez sur le sujet Re:sudoku solver
çà se précise
il y a 3 script
- pour remplir une grille
- pour lancer une resolution => log
- fonctions de resolutions
pour dialoguer entre les scripts
il a utilisé $script:
le plus dur c'est de faire une log
pour une procedure recursive
un truc qui tourne +7000 fois
et faut retenir que la bonne solution
mais je suis plus un débutant
je fais du basic depuis le 8086
à cette époque, c'était des K7 !!!
une petite log recursive (en bas)
Traitement du fichier
grille initiale =009006080080509300100000000000000003270800900000000210406007090930050000000040700
mardi 3 octobre 2017 15:19:50
.
009|006|080
080|509|300
100|000|000
---+---+---
000|000|003
270|800|900
000|000|210
---+---+---
406|007|090
930|050|000
000|040|700
.
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Candidat Unique caché 9
Ligne 3 Colonne 9 : Insertion de 9
.
009|006|080
080|509|300
100|000|009
---+---+---
000|000|003
270|800|900
000|000|210
---+---+---
406|007|090
930|050|000
000|040|700
.
Candidat Unique caché 7
Ligne 8 Colonne 3 : Insertion de 7
.
009|006|080
080|509|300
100|000|009
---+---+---
000|000|003
270|800|900
000|000|210
---+---+---
406|007|090
937|050|000
000|040|700
.
Candidat Unique caché 9
Ligne 9 Colonne 4 : Insertion de 9
.
009|006|080
080|509|300
100|000|009
---+---+---
000|000|003
270|800|900
000|000|210
---+---+---
406|007|090
937|050|000
000|940|700
.
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Appel VerifCaseUniqueC
Candidat Unique caché 3
Ligne 9 Colonne 8 : Insertion de 3
.
009|006|080
080|509|300
100|000|009
---+---+---
000|000|003
270|800|900
000|000|210
---+---+---
406|007|090
937|050|000
000|940|730
.
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Candidat Unique caché 6
Ligne 9 Colonne 9 : Insertion de 6
.
009|006|080
080|509|300
100|000|009
---+---+---
000|000|003
270|800|900
000|000|210
---+---+---
406|007|090
937|050|000
000|940|736
.
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Candidat Unique caché 6
Ligne 8 Colonne 4 : Insertion de 6
.
009|006|080
080|509|300
100|000|009
---+---+---
000|000|003
270|800|900
000|000|210
---+---+---
406|007|090
937|650|000
000|940|736
.
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Appel VerifCaseUniqueC
Appel VerifCaseUniqueM
Appel VerifNPaireR
Appel VerifHPaireR
Appel VerifNPaireC
Appel VerifHPaireC
Appel VerifNPaireM
Appel VerifHPaireM
Appel VerifVerrou1R
Verrou ligne type 1 avec Filtrage 8
Ligne 9 Colonne 6 Exclusion de 8
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Appel VerifCaseUniqueC
Appel VerifCaseUniqueM
Appel VerifNPaireR
Appel VerifHPaireR
Appel VerifNPaireC
Appel VerifHPaireC
Appel VerifNPaireM
Appel VerifHPaireM
Appel VerifVerrou1R
Verrou ligne type 1 avec Filtrage 5
Ligne 7 Colonne 2 Exclusion de 5
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Appel VerifCaseUniqueC
Appel VerifCaseUniqueM
Appel VerifNPaireR
Appel VerifHPaireR
Appel VerifNPaireC
Appel VerifHPaireC
Appel VerifNPaireM
Appel VerifHPaireM
Appel VerifVerrou1R
Appel VerifVerrou1C
Appel VerifVerrou2R
Appel VerifVerrou2C
Appel VerifNTripletR
Appel VerifNTripletC
Appel VerifNTripletM
Appel VerifNQuadR
Appel VerifNQuadC
Appel VerifNQuadM
Appel VerifModeleXR
Appel VerifModeleXC
Appel VerifModeleXY
Appel VerifSwordfishR
Appel VerifSwordfishC
Appel VerifCouleurs
Appel VerifMCouleurs
Couleurs multiples avec Filtrage 6
Ligne 4 Colonne 1 Exclusion de 6
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Appel VerifCaseUniqueC
Appel VerifCaseUniqueM
Appel VerifNPaireR
Appel VerifHPaireR
Appel VerifNPaireC
paire nue 58 en colonne 1
Ligne 1 Colonne 1 Exclusion de 5
paire nue 58 en colonne 1
Ligne 6 Colonne 1 Exclusion de 5
paire nue 58 en colonne 0
Ligne 6 Colonne 1 Exclusion de 8
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Appel VerifCaseUniqueC
Appel VerifCaseUniqueM
Appel VerifNPaireR
Appel VerifHPaireR
Appel VerifNPaireC
Appel VerifHPaireC
Appel VerifNPaireM
Appel VerifHPaireM
Appel VerifVerrou1R
Appel VerifVerrou1C
Appel VerifVerrou2R
Appel VerifVerrou2C
Appel VerifNTripletR
Appel VerifNTripletC
Appel VerifNTripletM
Appel VerifNQuadR
Appel VerifNQuadC
Appel VerifNQuadM
Appel VerifModeleXR
Appel VerifModeleXC
Appel VerifModeleXY
Appel VerifSwordfishR
Appel VerifSwordfishC
Appel VerifCouleurs
Appel VerifMCouleurs
resolu par essais successifs
.
359|426|187
784|519|362
162|783|549
---+---+---
841|295|673
273|861|954
695|374|218
---+---+---
426|137|895
937|658|421
518|942|736
.
Tentatives du solveur récursif = 7874
Echecs du solveur récursif = 7823
Status de résolution = True
Temps ecoule = 00:00:03.2853512
Echelle de difficulté = 29
grille résolue =359426187784519362162783549841295673273861954695374218426137895937658421518942736
.
Ligne 1 Colonne 1 jessaye 3
Ligne 1 Colonne 2 jessaye 2
Ligne 1 Colonne 2 jessaye 4
Ligne 1 Colonne 2 jessaye 5
Ligne 1 Colonne 4 jessaye 1
Ligne 1 Colonne 4 jessaye 2
Ligne 1 Colonne 4 jessaye 4
Ligne 1 Colonne 5 jessaye 1
Ligne 1 Colonne 5 jessaye 2
Ligne 1 Colonne 7 jessaye 1
Ligne 1 Colonne 9 jessaye 7
Ligne 2 Colonne 1 jessaye 6
Ligne 2 Colonne 1 jessaye 7
Ligne 2 Colonne 3 jessaye 2
Ligne 2 Colonne 3 jessaye 4
Ligne 2 Colonne 5 jessaye 1
Ligne 2 Colonne 8 jessaye 2
Ligne 2 Colonne 8 jessaye 6
Ligne 2 Colonne 9 jessaye 2
Ligne 3 Colonne 2 jessaye 2
Ligne 3 Colonne 2 jessaye 6
Ligne 3 Colonne 3 jessaye 2
Ligne 3 Colonne 4 jessaye 3
Ligne 3 Colonne 4 jessaye 7
Ligne 3 Colonne 5 jessaye 3
Ligne 3 Colonne 5 jessaye 8
Ligne 3 Colonne 6 jessaye 3
Ligne 3 Colonne 7 jessaye 4
Ligne 3 Colonne 7 jessaye 5
Ligne 3 Colonne 8 jessaye 4
Ligne 4 Colonne 1 jessaye 5
Ligne 4 Colonne 1 jessaye 8
Ligne 4 Colonne 2 jessaye 1
Ligne 4 Colonne 2 jessaye 4
Ligne 4 Colonne 3 jessaye 1
Ligne 4 Colonne 4 jessaye 2
Ligne 4 Colonne 5 jessaye 6
Ligne 4 Colonne 5 jessaye 7
Ligne 4 Colonne 5 jessaye 9
Ligne 4 Colonne 6 jessaye 5
Ligne 4 Colonne 7 jessaye 6
Ligne 4 Colonne 8 jessaye 7
Ligne 5 Colonne 3 jessaye 3
Ligne 5 Colonne 5 jessaye 6
Ligne 5 Colonne 6 jessaye 1
Ligne 5 Colonne 8 jessaye 5
Ligne 5 Colonne 9 jessaye 4
Ligne 6 Colonne 1 jessaye 6
Ligne 6 Colonne 2 jessaye 9
Ligne 6 Colonne 3 jessaye 5
Ligne 6 Colonne 4 jessaye 3
Ligne 6 Colonne 5 jessaye 7
Ligne 6 Colonne 6 jessaye 4
Ligne 6 Colonne 9 jessaye 8
Ligne 7 Colonne 2 jessaye 1
Ligne 7 Colonne 2 jessaye 2
Ligne 7 Colonne 4 jessaye 1
Ligne 7 Colonne 5 jessaye 3
Ligne 7 Colonne 7 jessaye 8
Ligne 7 Colonne 9 jessaye 5
Ligne 8 Colonne 6 jessaye 2
Ligne 8 Colonne 6 jessaye 8
Ligne 8 Colonne 7 jessaye 4
Ligne 8 Colonne 8 jessaye 2
Ligne 8 Colonne 9 jessaye 1
Ligne 9 Colonne 1 jessaye 5
Ligne 9 Colonne 2 jessaye 1
Ligne 9 Colonne 3 jessaye 8
Ligne 9 Colonne 6 jessaye 2
.
359|426|187
784|519|362
162|783|549
---+---+---
841|295|673
273|861|954
695|374|218
---+---+---
426|137|895
937|658|421
518|942|736
.
03/10/2017 15:19:54
Version 1 Jean Luc MOREAU
Version 2 Philippe CROGIEZ
il y a 3 script
- pour remplir une grille
- pour lancer une resolution => log
- fonctions de resolutions
pour dialoguer entre les scripts
il a utilisé $script:
le plus dur c'est de faire une log
pour une procedure recursive
un truc qui tourne +7000 fois
et faut retenir que la bonne solution
mais je suis plus un débutant
je fais du basic depuis le 8086
à cette époque, c'était des K7 !!!
une petite log recursive (en bas)
Traitement du fichier
grille initiale =009006080080509300100000000000000003270800900000000210406007090930050000000040700
mardi 3 octobre 2017 15:19:50
.
009|006|080
080|509|300
100|000|000
---+---+---
000|000|003
270|800|900
000|000|210
---+---+---
406|007|090
930|050|000
000|040|700
.
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Candidat Unique caché 9
Ligne 3 Colonne 9 : Insertion de 9
.
009|006|080
080|509|300
100|000|009
---+---+---
000|000|003
270|800|900
000|000|210
---+---+---
406|007|090
930|050|000
000|040|700
.
Candidat Unique caché 7
Ligne 8 Colonne 3 : Insertion de 7
.
009|006|080
080|509|300
100|000|009
---+---+---
000|000|003
270|800|900
000|000|210
---+---+---
406|007|090
937|050|000
000|040|700
.
Candidat Unique caché 9
Ligne 9 Colonne 4 : Insertion de 9
.
009|006|080
080|509|300
100|000|009
---+---+---
000|000|003
270|800|900
000|000|210
---+---+---
406|007|090
937|050|000
000|940|700
.
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Appel VerifCaseUniqueC
Candidat Unique caché 3
Ligne 9 Colonne 8 : Insertion de 3
.
009|006|080
080|509|300
100|000|009
---+---+---
000|000|003
270|800|900
000|000|210
---+---+---
406|007|090
937|050|000
000|940|730
.
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Candidat Unique caché 6
Ligne 9 Colonne 9 : Insertion de 6
.
009|006|080
080|509|300
100|000|009
---+---+---
000|000|003
270|800|900
000|000|210
---+---+---
406|007|090
937|050|000
000|940|736
.
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Candidat Unique caché 6
Ligne 8 Colonne 4 : Insertion de 6
.
009|006|080
080|509|300
100|000|009
---+---+---
000|000|003
270|800|900
000|000|210
---+---+---
406|007|090
937|650|000
000|940|736
.
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Appel VerifCaseUniqueC
Appel VerifCaseUniqueM
Appel VerifNPaireR
Appel VerifHPaireR
Appel VerifNPaireC
Appel VerifHPaireC
Appel VerifNPaireM
Appel VerifHPaireM
Appel VerifVerrou1R
Verrou ligne type 1 avec Filtrage 8
Ligne 9 Colonne 6 Exclusion de 8
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Appel VerifCaseUniqueC
Appel VerifCaseUniqueM
Appel VerifNPaireR
Appel VerifHPaireR
Appel VerifNPaireC
Appel VerifHPaireC
Appel VerifNPaireM
Appel VerifHPaireM
Appel VerifVerrou1R
Verrou ligne type 1 avec Filtrage 5
Ligne 7 Colonne 2 Exclusion de 5
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Appel VerifCaseUniqueC
Appel VerifCaseUniqueM
Appel VerifNPaireR
Appel VerifHPaireR
Appel VerifNPaireC
Appel VerifHPaireC
Appel VerifNPaireM
Appel VerifHPaireM
Appel VerifVerrou1R
Appel VerifVerrou1C
Appel VerifVerrou2R
Appel VerifVerrou2C
Appel VerifNTripletR
Appel VerifNTripletC
Appel VerifNTripletM
Appel VerifNQuadR
Appel VerifNQuadC
Appel VerifNQuadM
Appel VerifModeleXR
Appel VerifModeleXC
Appel VerifModeleXY
Appel VerifSwordfishR
Appel VerifSwordfishC
Appel VerifCouleurs
Appel VerifMCouleurs
Couleurs multiples avec Filtrage 6
Ligne 4 Colonne 1 Exclusion de 6
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Appel VerifCaseUniqueC
Appel VerifCaseUniqueM
Appel VerifNPaireR
Appel VerifHPaireR
Appel VerifNPaireC
paire nue 58 en colonne 1
Ligne 1 Colonne 1 Exclusion de 5
paire nue 58 en colonne 1
Ligne 6 Colonne 1 Exclusion de 5
paire nue 58 en colonne 0
Ligne 6 Colonne 1 Exclusion de 8
.
Appel CheckAllCells
Appel VerifChoixUnique
Appel VerifCaseUniqueR
Appel VerifCaseUniqueC
Appel VerifCaseUniqueM
Appel VerifNPaireR
Appel VerifHPaireR
Appel VerifNPaireC
Appel VerifHPaireC
Appel VerifNPaireM
Appel VerifHPaireM
Appel VerifVerrou1R
Appel VerifVerrou1C
Appel VerifVerrou2R
Appel VerifVerrou2C
Appel VerifNTripletR
Appel VerifNTripletC
Appel VerifNTripletM
Appel VerifNQuadR
Appel VerifNQuadC
Appel VerifNQuadM
Appel VerifModeleXR
Appel VerifModeleXC
Appel VerifModeleXY
Appel VerifSwordfishR
Appel VerifSwordfishC
Appel VerifCouleurs
Appel VerifMCouleurs
resolu par essais successifs
.
359|426|187
784|519|362
162|783|549
---+---+---
841|295|673
273|861|954
695|374|218
---+---+---
426|137|895
937|658|421
518|942|736
.
Tentatives du solveur récursif = 7874
Echecs du solveur récursif = 7823
Status de résolution = True
Temps ecoule = 00:00:03.2853512
Echelle de difficulté = 29
grille résolue =359426187784519362162783549841295673273861954695374218426137895937658421518942736
.
Ligne 1 Colonne 1 jessaye 3
Ligne 1 Colonne 2 jessaye 2
Ligne 1 Colonne 2 jessaye 4
Ligne 1 Colonne 2 jessaye 5
Ligne 1 Colonne 4 jessaye 1
Ligne 1 Colonne 4 jessaye 2
Ligne 1 Colonne 4 jessaye 4
Ligne 1 Colonne 5 jessaye 1
Ligne 1 Colonne 5 jessaye 2
Ligne 1 Colonne 7 jessaye 1
Ligne 1 Colonne 9 jessaye 7
Ligne 2 Colonne 1 jessaye 6
Ligne 2 Colonne 1 jessaye 7
Ligne 2 Colonne 3 jessaye 2
Ligne 2 Colonne 3 jessaye 4
Ligne 2 Colonne 5 jessaye 1
Ligne 2 Colonne 8 jessaye 2
Ligne 2 Colonne 8 jessaye 6
Ligne 2 Colonne 9 jessaye 2
Ligne 3 Colonne 2 jessaye 2
Ligne 3 Colonne 2 jessaye 6
Ligne 3 Colonne 3 jessaye 2
Ligne 3 Colonne 4 jessaye 3
Ligne 3 Colonne 4 jessaye 7
Ligne 3 Colonne 5 jessaye 3
Ligne 3 Colonne 5 jessaye 8
Ligne 3 Colonne 6 jessaye 3
Ligne 3 Colonne 7 jessaye 4
Ligne 3 Colonne 7 jessaye 5
Ligne 3 Colonne 8 jessaye 4
Ligne 4 Colonne 1 jessaye 5
Ligne 4 Colonne 1 jessaye 8
Ligne 4 Colonne 2 jessaye 1
Ligne 4 Colonne 2 jessaye 4
Ligne 4 Colonne 3 jessaye 1
Ligne 4 Colonne 4 jessaye 2
Ligne 4 Colonne 5 jessaye 6
Ligne 4 Colonne 5 jessaye 7
Ligne 4 Colonne 5 jessaye 9
Ligne 4 Colonne 6 jessaye 5
Ligne 4 Colonne 7 jessaye 6
Ligne 4 Colonne 8 jessaye 7
Ligne 5 Colonne 3 jessaye 3
Ligne 5 Colonne 5 jessaye 6
Ligne 5 Colonne 6 jessaye 1
Ligne 5 Colonne 8 jessaye 5
Ligne 5 Colonne 9 jessaye 4
Ligne 6 Colonne 1 jessaye 6
Ligne 6 Colonne 2 jessaye 9
Ligne 6 Colonne 3 jessaye 5
Ligne 6 Colonne 4 jessaye 3
Ligne 6 Colonne 5 jessaye 7
Ligne 6 Colonne 6 jessaye 4
Ligne 6 Colonne 9 jessaye 8
Ligne 7 Colonne 2 jessaye 1
Ligne 7 Colonne 2 jessaye 2
Ligne 7 Colonne 4 jessaye 1
Ligne 7 Colonne 5 jessaye 3
Ligne 7 Colonne 7 jessaye 8
Ligne 7 Colonne 9 jessaye 5
Ligne 8 Colonne 6 jessaye 2
Ligne 8 Colonne 6 jessaye 8
Ligne 8 Colonne 7 jessaye 4
Ligne 8 Colonne 8 jessaye 2
Ligne 8 Colonne 9 jessaye 1
Ligne 9 Colonne 1 jessaye 5
Ligne 9 Colonne 2 jessaye 1
Ligne 9 Colonne 3 jessaye 8
Ligne 9 Colonne 6 jessaye 2
.
359|426|187
784|519|362
162|783|549
---+---+---
841|295|673
273|861|954
695|374|218
---+---+---
426|137|895
937|658|421
518|942|736
.
03/10/2017 15:19:54
Version 1 Jean Luc MOREAU
Version 2 Philippe CROGIEZ
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 7 ans 2 mois #24355
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:sudoku solver
Salut Philippe !
Je ne suis pas sûr de comprendre tout ce que tu fais mais ça se précise on dirait !?
Une époque lointaine que j'ai connu également le Basic ! Personnellement j'ai commencé mon apprentissage de la programmation en Basic sur Amstrad CPC 464 (K7). C'était en 1984, j'avais 10 ans
@+
Arnaud
Je ne suis pas sûr de comprendre tout ce que tu fais mais ça se précise on dirait !?
Une époque lointaine que j'ai connu également le Basic ! Personnellement j'ai commencé mon apprentissage de la programmation en Basic sur Amstrad CPC 464 (K7). C'était en 1984, j'avais 10 ans
@+
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- crogiez
- Auteur du sujet
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 102
- Remerciements reçus 0
il y a 7 ans 2 mois #24356
par crogiez
Réponse de crogiez sur le sujet Re:sudoku solver
bonjour
but1 : comprendre le code
but2 : voir si tout fonctionne
là je trouve des trucs bizarres
JLM devait avoir une seule façon de s'en servir
il y a une dizaine de grilles résolues
moi je veux plusieurs façons
- saisir une grille
- utiliser les outils pour résoudre visuellement
si on trouve pas,
si on bloque
- lancer une recherche de résolution
- avoir un compte rendu sur la façon de résoudre
pour apprendre à résoudre mieux et plus
j'y suis presque
but3 :
la résolution utilise
-plusieurs recherches logiques basées sur théories
-une proc récursive qui essaie toute les possibilités
jusqu'à trouver la bonne et unique
en pratique, çà revient à utiliser la \"gomme\"
on écrit au crayon,
si çà marche pas, on gomme,
et on recommence avec un autre chiffre
=pas drôle
exemple :
grille résolue =359426187784519362162783549841295673273861954695374218426137895937658421518942736
.
Ligne 1 Colonne 1 jessaye 3 <= ousp trouvé
Ligne 1 Colonne 2 jessaye 2 <= pas bon
les recherches suivantes avec ce chiffre
sont cachées, perdues, on s'en fou, puisque pas bon
Ligne 1 Colonne 2 jessaye 4 <= pas bon
Ligne 1 Colonne 2 jessaye 5 <= oups trouvé
Ligne 1 Colonne 4 jessaye 1
Ligne 1 Colonne 4 jessaye 2
Ligne 1 Colonne 4 jessaye 4 <= oups trouvé
Ligne 1 Colonne 5 jessaye 1
résumé
Ligne 1 Colonne 1 jessaye 3 <= ousp trouvé
Ligne 1 Colonne 2 jessaye 5 <= oups trouvé
Ligne 1 Colonne 4 jessaye 4 <= oups trouvé
correspond à
grille résolue =3594261...
donc là j'ai une log de la proc récursive
but4 :
ajouter d'autres fonctions
basées sur les théories
et les transcrire en code
c'est mieux q'une résolution par essai successifs
même si le truc fonctionne en quelques secondes
çà c'est bleffant !!!
bixoux
but1 : comprendre le code
but2 : voir si tout fonctionne
là je trouve des trucs bizarres
JLM devait avoir une seule façon de s'en servir
il y a une dizaine de grilles résolues
moi je veux plusieurs façons
- saisir une grille
- utiliser les outils pour résoudre visuellement
si on trouve pas,
si on bloque
- lancer une recherche de résolution
- avoir un compte rendu sur la façon de résoudre
pour apprendre à résoudre mieux et plus
j'y suis presque
but3 :
la résolution utilise
-plusieurs recherches logiques basées sur théories
-une proc récursive qui essaie toute les possibilités
jusqu'à trouver la bonne et unique
en pratique, çà revient à utiliser la \"gomme\"
on écrit au crayon,
si çà marche pas, on gomme,
et on recommence avec un autre chiffre
=pas drôle
exemple :
grille résolue =359426187784519362162783549841295673273861954695374218426137895937658421518942736
.
Ligne 1 Colonne 1 jessaye 3 <= ousp trouvé
Ligne 1 Colonne 2 jessaye 2 <= pas bon
les recherches suivantes avec ce chiffre
sont cachées, perdues, on s'en fou, puisque pas bon
Ligne 1 Colonne 2 jessaye 4 <= pas bon
Ligne 1 Colonne 2 jessaye 5 <= oups trouvé
Ligne 1 Colonne 4 jessaye 1
Ligne 1 Colonne 4 jessaye 2
Ligne 1 Colonne 4 jessaye 4 <= oups trouvé
Ligne 1 Colonne 5 jessaye 1
résumé
Ligne 1 Colonne 1 jessaye 3 <= ousp trouvé
Ligne 1 Colonne 2 jessaye 5 <= oups trouvé
Ligne 1 Colonne 4 jessaye 4 <= oups trouvé
correspond à
grille résolue =3594261...
donc là j'ai une log de la proc récursive
but4 :
ajouter d'autres fonctions
basées sur les théories
et les transcrire en code
c'est mieux q'une résolution par essai successifs
même si le truc fonctionne en quelques secondes
çà c'est bleffant !!!
bixoux
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.140 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Contributions à la communauté
- sudoku solver V2