Inscription / Connexion Nouveau Sujet
Niveau énigmes
Partager :

Démineur revisité

Posté par
Vassillia
27-01-22 à 21:35

Bonsoir à tous,

J'espère que vous connaissez le jeu démineur sinon ça va me donner un coup de vieux... mais la question sera compréhensible quand même !

A partir d'une grille de l\times c cases blanches, on peut noircir les cases de notre choix. Sur chaque case, on inscrit le nombre de cases noires parmi les cases qui ont un coté commun et elle-même. Le but du jeu est de créer une grille où tous les nombres inscrits sont impairs.

Pour quelle valeurs de l\times c est-ce possible ?
Si on est très motivé, lorsque c'est possible, on peut se demander combien de grilles différentes sont constructibles ?

Exemple pour 2\times 3

Démineur revisité

Posté par
mathafou Moderateur
re : Démineur revisité 28-01-22 à 10:58

Bonjour,

dans le démineur classique le décompte n'est pas le même ...

Démineur revisité

les cases en diagonale comptent, et au départ on ne voit même pas les nombres du tout (une case vide correspond à 0)

en tout cas je proposerais d'examiner des "constellations" autorisées de cases noires sur une grille (infinie)
en particulier il sera impossible d'avoir des zones totalement blanches (contenant des 0 qui est pair)
une ligne isolée de cases noires est impossible aussi car il y aurait des 2 à ses extrémités

Démineur revisité

etc

Posté par
verdurin
re : Démineur revisité 28-01-22 à 18:27

Bonsoir,
pour les grilles 2\times c\ ;\ c>1 on peut noircir toutes les cases et on a des 3 dans toutes les cases.

Posté par
mathafou Moderateur
re : Démineur revisité 28-01-22 à 19:18

euh .. pas d'accord

Démineur revisité

les cases marquées 4 ont bien trois voisines noircies mais avec elles mêmes ça fait 4.

Posté par
mathafou Moderateur
re : Démineur revisité 28-01-22 à 21:05

les 2 x (2n+1) sont une extension évidente de l'exemple initial

 Cliquez pour afficher

Posté par
mathafou Moderateur
re : Démineur revisité 28-01-22 à 21:36

les 3 x (6n+3)

 Cliquez pour afficher

Posté par
Vassillia
re : Démineur revisité 28-01-22 à 21:43

Joli mathafou, nous voilà déjà avec plein de grilles !

Posté par
verdurin
re : Démineur revisité 30-01-22 à 21:01

Après une erreur grossière, un résultat pour les grilles 2\times2n.

 Cliquez pour afficher

Posté par
LittleFox
re : Démineur revisité 31-01-22 à 10:13


Voici où j'en suis


Démineur revisité

Le cas 1 x n est résolu. En effet le bloc couvre les cas n=3k, n=3k-1 et n=3k-2.

Le cas 2 x n est résolu. Le premier bloc couvre les cas n=4k, n=4k-1 et n=4k-2. Le second couvre les cas n=2k+1.

Le cas 3 x n n'est pas encore résolu, il manque le cas 6k+4. Le premier bloc couvre les cas n=6k, n=6k-1, n=6k-2. Le second couvre les cas n= 2k+1

Posté par
mathafou Moderateur
re : Démineur revisité 31-01-22 à 10:18

edit : réponse à verdurin
et même 2n+1
LittleFox ayant dit entre temps les 2 x (2n+1)

une disposition assez semblable donne les 4 x (5n+2) et 4 x (5n+4)

Posté par
LittleFox
re : Démineur revisité 31-01-22 à 11:15


Pardon, c'est le cas 3 x (6k+2) que je n'ai pas encore résolu. Et non 3 x (6k+4) qui est couvert par le premier bloc.

Posté par
LittleFox
re : Démineur revisité 31-01-22 à 18:40


Comme d'habitude j'ai fait un petit programme
Ça m'a fait réaliser un point clé: Tout le schéma est déterminé par la première colonne! Ainsi il devient facile de tester les différentes permières colonnes et de voir les blocs possibles.

 Cliquez pour afficher

Code disponible ici :

Ce qui m'a permis de démontrer tous les blocs m x n sont possibles pour m <= 12.

Voici tous les blocs possibles pour m <= 4:
Démineur revisité

Y a-t-il un pattern dans la longueur des blocs de base?

m   longueurs
1   3
2   4
3   6, 12
4   5, 10
5   24
6   9, 18
7   12, 24
8   28
9   30, 60
10  31, 62
11  48
12  63, 126

Posté par
LittleFox
re : Démineur revisité 31-01-22 à 19:08


Juste pour le fun, un bloc 63x96

 Cliquez pour afficher


Démineur revisité

Posté par
LittleFox
re : Démineur revisité 31-01-22 à 19:09


Oops, j'ai pas fermé mon tag

Posté par
Vassillia
re : Démineur revisité 31-01-22 à 19:58

verdurin a joliment complété les grilles entamées mais j'adore le programme de LittleFox, j'ai bien fait de poser la question !!!
Sa dernière grille est magnifique, j'aurais été incapable de la sortir, je peux juste dire qu'il en existe une, tant pis pour le constructivisme...

Posté par
LittleFox
re : Démineur revisité 31-01-22 à 23:25


J'ai l'impression que c'est toujours possible de remplir une grille m x n de façon valide.
Mais même si je sais générer plein de grilles, je n'ai pas le début d'une preuve générale. Et si tu dis que ta preuve est non constructiviste, je ne suis pas dans la bonne direction.

Posté par
Vassillia
re : Démineur revisité 01-02-22 à 02:31

En fait, on va essayer de faire mieux :
Un nœud peut être blanc ou noir, a des relations de voisinage avec d'autres nœuds et a pour poids le nombre de nœuds noirs qu'on compte parmi lui et ses voisins.
Une coloration consiste à changer la couleur d'un ensemble de nœud
Une coloration gagnante est une coloration qui partant d'une situation où tous les nœuds sont blancs rend impair le poids de chaque nœud. Donc si on l'applique en partant d'une situation quelconque, cette coloration va changer la parité de tous les poids des nœuds présents.

Raisonnons sur le nombre de nœuds, si n=1 c'est trivial puisqu'il suffit de le colorier en noir.
Par récurrence, supposons qu'on arrive à trouver une coloration gagnante pour chacun des sous-ensemble de n nœuds parmi les n+1 nœuds sans s'occuper du nœud retiré.

- si une de ces colorations donne un poids impair au nœud retiré, c'est gagné
- sinon
cas n+1 pair :
En partant de tous les nœuds blancs, on va appliquer successivement toutes les n+1 colorations identifiées en retirant un unique nœud à chaque fois. A chaque coloration, tous les nœuds vont voir la parité de leur poids changer sauf le nœud retiré (en effet si c'était le cas, il aurait obtenu un poids impair avec l'une des colorations et on aurait déjà gagné précédemment).
Chaque nœud va voir son poids changer de parité n fois or n est impair donc c'est gagné.

cas n+1 impair :
On commence par montrer qu'il existe au moins un nœud qu'on appellera N avec un nombre pair de voisins.
En effet, si tous les nœuds ont un nombre impair de voisin, comme il y a un nombre impair de nœud, en sommant le nombre de voisins de chaque nœud, on aurait une somme impair. Mais au final, on a compté 2 fois chaque relation de voisinage, cette somme se doit d'être pair, ce n'est pas possible.

En partant de tous les nœuds blancs, on va appliquer successivement les colorations identifiées en retirant un unique nœud parmi N et ses voisins (dont le nombre est pair).
Les nœuds en dehors de N et ses voisins ont donc subit un nombre impair de coloration, ils ont donc maintenant un poids impair
N et ses voisins ont subit un nombre pair de coloration (pour la même raison que précédemment, le nœud retiré ne peut pas changer de parité sinon on aurait gagné dès le début avec la coloration correspondante), ils ont donc tous un poids pair. Il ne reste plus qu'à changer notre nœud N de couleur ce qui fera changer la parité de son poids mais aussi celui de ses voisins.

Posté par
Vassillia
re : Démineur revisité 01-02-22 à 02:35

En théorie je pourrai construire n'importe quelle grille avec ce raisonnement mais en pratique... je ne me vois pas le faire

Posté par
LittleFox
re : Démineur revisité 01-02-22 à 09:24


C'est un raisonnement constructif mais plutôt lent

Si je ne me trompe pas, O((mn)!) contre un O(n2^m) pour mon algo. Et je trouvais mon algo déjà très lent

Mais il est plus générique (on peut l'appliquer à n'importe quel graphe) et grâce à la récursivité on démontre pour tous les graphes.
Joli

Posté par
verdurin
re : Démineur revisité 01-02-22 à 18:40

À LittleFox et Vassillia : bravo.



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !