C’est au pied du mur qu’on voit le maçon

On dispose de briques de longueur 1 ... n. On souhaite élever un mur dont chaque rangée comporte chacune des briques de 1.. N et dont aucune jointure ne se superpose. Bref on cherche une couverture exacte des nombres compris entre 1 et n(n+1)/2 -1 à partir de n! rangées possibles
Ainsi voici des solutions pour n = 1, 2, 4, 6, 8,10
1

1 2
2 1

1 2 3 4
2 3 4 1
4 3 1 2

1 2 3 4 5 6
5 2 4 3 6 1
2 6 5 3 1 4
4 5 3 6 1 2

1 2 3 4 5 6 7 8
4 7 3 8 2 6 5 1
2 7 4 6 1 5 8 3
7 5 6 8 3 2 1 4
5 3 8 1 6 4 7 2

1 2 3 4 5 6 7 8 9 10
9 8 5 4 7 1 6 2 10 3
2 10 6 1 4 8 7 3 9 5
5 2 7 10 3 8 9 4 1 6
4 7 9 10 2 5 6 8 3 1
8 5 3 9 4 10 7 1 6 2

Est-ce un problème connu ? L’algorithme dancing links de Kuhn https://en.wikipedia.org/wiki/Dancing_Links permet de trouver les solutions pour des petites valeurs de n, mais pour les grandes ?

Réponses

  • Je ne comprends pas le problème. Que veux-tu dire par « dont aucune jointure ne se superpose ». C'est quoi une jointure ? C'est quoi précisément « superposer » ? C'est quoi « une couverture exacte des nombres entre $1$ et $n(n+1)/2-1$ » ?
  • Bonjour,

    Voici l'exemple ave N = 4 pour clarifier

    - -- --- ----
    -- --- ---- -
    ---- --- - --
    Une jointure est l'endroit ou deux briques d'une meme rangée se touchent. Pour le premier rang elles se trouvent a
    1,3,6
    pour le second rang
    2,5,9
    Pour le dernier rang
    4,7,8
    Elles couvrent donc l'ensemble (1,2,3,4,5,6,7,8,9) et il n'est pas possible de construire un mur plus haut sans que deux jointures n'empiètent sur un nombre identique. Il y a donc n(n+1)/2 -1 possibilités de jointure. (et n! possibiités de placer les briques sur une rangée) donc au plus n/2 +1 rangées. J'espère que c'est plus clair.
  • Un zeste. Si $\sigma_k$ désigne la permutation de la ligne $k$, les jointures sont donc aux entiers $\sigma_k(1),\ \sigma_k(1)+\sigma_k(2),\dots,\ \sigma_k(1)+\cdots+\sigma_k(n-1)$. Ce que tu veux, c'est que tous ces nombres soient différents, c'est ça ?
  • C'est ça!
Connectez-vous ou Inscrivez-vous pour répondre.