Inscription / Connexion Nouveau Sujet
Niveau énigmes
Partager :

[Énigme] Tetravex

Posté par
Alishisap
05-01-18 à 13:34

Bonjour à tous,

voici un puzzle largement inspiré du jeu Tetravex proposé sur certains systèmes Linux (au moins le mien !), développé par Lars Rydlinge.

Voici une grille de 36 cases contenant quatre chiffres chacune ainsi qu'un caractère alphanumérique d'identification en haut à gauche (pour ceux qui n'arrivent pas à lire, de gauche à droite et de haut en bas se trouvent les 26 lettres de l'alphabet suivis des chiffres de 0 à 9).

[Énigme] Tetravex

Le but est d'échanger les cases de cette grille (sans effectuer de rotation) afin d'obtenir une nouvelle grille, toujours de 6 par 6, de sorte à ce que lorsque deux cases se touchent, leur chiffre en contact soient identiques.
Par exemple, sur la grille originale, on voit que les cases V et 1 respectent cette propriété (9 en contact), de même que les cases G et H (3 en contact) mais ce n'est pas le cas pour les cases A et B car leur chiffre en contact sont différents (6 et 9).

Vous donnerez votre grille-réponse en donnant simplement le caractère d'identification de chaque case, dans l'ordre, de la nouvelle grille. Voici un exemple de réponse (bien évidemment faux) :

8 U Q D W E
5 F 4 3 I O
T 2 S Y L 7
0 B X 9 K 6
M 1 P C V N
J A G H R Z

Si plusieurs réponses sont possibles, une seule suffira.

Bonne chance !

Posté par
LittleFox
re : [Énigme] Tetravex 05-01-18 à 15:00

 Cliquez pour afficher

Posté par
LittleFox
re : [Énigme] Tetravex 05-01-18 à 15:00

Merci pour le puzzle

Posté par
Alishisap
re : [Énigme] Tetravex 05-01-18 à 15:09

Bonjour LittleFox et merci pour ta participation !

 Cliquez pour afficher

Posté par
dpi
re : [Énigme] Tetravex 06-01-18 à 10:18

Bonjour,

J'ai tenté à la main,mais rapidement on voit les limites du jeu.
Je vais essayer par les combinaisons.
A mon avis très compliqué.

Posté par
Alishisap
re : [Énigme] Tetravex 06-01-18 à 15:05

Bonjour,

je reconnais, pour avoir testé, qu'à la main c'est très difficile. Il y a énormément de possibilités et de maigres indices (quoique je pense qu'avec beaucoup de patience et sans connaître à l'avance la réponse, ça doit être faisable).

En ce cas, pour permettre aux gens de participer sans que ça soit trop casse-tête, je propose, pour ceux qui n'arrivent pas à le résoudre entièrement, cette variante :

Essayez d'insérer le plus de cases possibles dans la grille 6x6 respectant la propriété. Attention, toutes les cases doivent être connectées (c'est-à-dire qu'il ne doit pas y avoir d'îlots).

Posté par
dpi
re : [Énigme] Tetravex 06-01-18 à 16:19

Je n'ai jamais dépassé  13 cases +quelques appendices....

Si tu connais la solution, il serait bon comme au sudoku de nous positionner
un minimum de cases sures .
Sinon seul un programme déroulant finira pas trouver ....

Posté par
veleda
re : [Énigme] Tetravex 06-01-18 à 18:55

bonjour,
Alishisap

 Cliquez pour afficher

Posté par
Alishisap
re : [Énigme] Tetravex 06-01-18 à 19:17

dpi :
oui, je connais la solution.

Bravo, 13 cases c'est bien.

Je m'abstiendrai pour l'heure de donner des cases sûres car après quelques recherches à la main, je sais qu'on peut, à l'aide de raisonnements logiques, de l'astuce et indépendamment de la connaissance a priori de la réponse, trouver au moins 4 cases certaines (c'est évidemment bien insuffisant pour résoudre toute la grille, mais je me dis qu'on peut en trouver d'autres).

Pour l'heure, j'attends de voir comment les membres réagissent.

Après, il est bien sûr possible de le faire informatiquement, mais l'esprit était plutôt de le faire à la main (ce qui n'enlève pas l'adresse d'un tel programme qui résoudrait correctement ce puzzle ).

veleda :

 Cliquez pour afficher

Posté par
javatasmanie
re : [Énigme] Tetravex 06-01-18 à 23:18

Bonjour

 Cliquez pour afficher

Posté par
Alishisap
re : [Énigme] Tetravex 07-01-18 à 00:34

Bonsoir javatasmanie et merci d'avoir participé.

 Cliquez pour afficher

Posté par
vham
re : [Énigme] Tetravex 07-01-18 à 01:39

Bonne nuit

 Cliquez pour afficher

Posté par
vham
re : [Énigme] Tetravex 07-01-18 à 01:41

mille excuses, une { au lieu de [ n'a pas blanké....Mauvaise vue !

**** lafol > c'est réparé

Posté par
vham
re : [Énigme] Tetravex 07-01-18 à 02:02

 Cliquez pour afficher

Posté par
dpi
re : [Énigme] Tetravex 07-01-18 à 09:49

Bonjour,

A la main je suis arrivé à cela.
Je vais voir avec les blanks où j'ai dérivé.....

 Cliquez pour afficher

Posté par
javatasmanie
re : [Énigme] Tetravex 07-01-18 à 09:54

salut vlam

 Cliquez pour afficher

Posté par
Alishisap
re : [Énigme] Tetravex 07-01-18 à 10:20

Bonjour vham et merci d'avoir participé.

 Cliquez pour afficher


dpi :

 Cliquez pour afficher

Posté par
dpi
re : [Énigme] Tetravex 07-01-18 à 10:37

Félicitations à vham...
Mon idée de départ vient de l'unicité de 4601 qui impose soit IE soit PE
Ensuite on remarque l'unicité  de  9702 qui impose 2 à gauche de I.
Ensuite on teste au mieux...ma dérive vient de 9 au lieu de 0  après K

Posté par
dpi
re : [Énigme] Tetravex 07-01-18 à 10:38

Après V pardon!

Posté par
LittleFox
re : [Énigme] Tetravex 09-01-18 à 10:58

Aaaaah ma réponse est la même que javatasmanie et vham. Juste transposée. Je me suis trompé dans mes coordonées lors de l'impression du résultat

Posté par
vham
re : [Énigme] Tetravex 09-01-18 à 23:00

Bonsoir,

--> Littlefox
j'ai sagement programmé en VB.net

j'aimerais suivre votre programme Python
Quelques commentaires et le cheminement de l'algorithme m'y aiderait surement.
Merci par avance

Posté par
Alishisap
re : [Énigme] Tetravex 10-01-18 à 10:41

LittleFox : oui, j'avais remarqué que c'était la solution transposée, je m'étais douté que tu t'en mordrais les doigts.

Compliments pour ton habile programme !

Posté par
LittleFox
re : [Énigme] Tetravex 10-01-18 à 18:11

@vham

Je pars d'un grille vide de 6x6 (A) et d'un ensemble de cases à mettre dedans (G).

J'essaie de remplir la grille en partant du coin en haut à gauche puis en suivant des diagonales de façon à avoir le maximum de contraintes le plus tôt possible (getPath()).

subsolve(p) signifie qu'il reste p cases à insérer dans la grille et donc que G ne contient plus que p cases. Pour chacune de ces cases j'essaie de l'insérer au Pème emplacement  de getPath (put(A,N,p,c)). Si ça marche j'avance à la case de la grille suivante (appel récursif à subsolve). S'il n'y a plus de case à mettre alors c'est que j'ai trouvé une solution et je l'imprime. Dans tout les cas je reviens en arrière, enlève la case de la grille (reset) et remet la case courante dans l'ensemble des case G. Je fais ainsi jusqu'à avoir testé toutes les possibilités.

Ce programme n'est pas très intelligent, c'est du test et backtracking en essayant de voir que la combinaison est impossible le plus tôt possible.

Posté par
vham
re : [Énigme] Tetravex 11-01-18 à 18:05

Bonjour,

Merci Littlefox
J'étais réticent à écrire une fonction récursive qui serait appelée 36 fois,
transposée en VB.net elle donne le résultat encore plus rapidement que le programme que j'ai écrit en premier

Posté par
LittleFox
re : [Énigme] Tetravex 11-01-18 à 18:42


Oui, en python non plus les récursions de son pas conseillées : les stackframe sont larges et prennent du temps à être empilée et inversement.

D'ailleurs il y a une limite software en python qui est par défaut à 1000 récursions de profondeur (on peut modifier cette limite).

On en est loin avec nos 36 récursions .



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 !