Polyomino
En mathématiques, un polyomino est une réunion connexe de carrés unitaires. Bien que connu depuis au moins un siÚcle, Solomon W. Golomb est le premier à en avoir fait une étude systématique dans un ouvrage intitulé Polyominoes paru en 1953[1].
Ils sont le sujet de multiples problÚmes mathématiques, notamment autour de dénombrement ou de pavage, et ils inspirent différents jeux, notamment Tetris.
Description
Un polyomino est construit en plaçant des carrés identiques à des endroits séparés dans le plan, les carrés se touchant au complet par un cÎté.
Selon le contexte, sa définition est plus souple ou plus stricte. Les carrés peuvent seulement se toucher (par exemple, sur une demi-longueur de cÎté) et les figures ainsi construites s'appellent des polyplets, alors que dans d'autres cas, il y a des trous (en d'autres mots, des régions qui ne sont pas pavées avec des carrés et qui ne touchent pas l'extérieur). Il y a aussi des polyominos en 3D (agrégats de cubes appelés polycubes), en 4D (agrégats d'hypercubes), etc.
Les polyominos font partie de la famille des polyformes, qui contient aussi les polyiamondes (faits de triangles équilatéraux) et les polyhex (formés d'hexagones), entre autres.
Historique
Les polyominos apparaissent réguliÚrement dans les puzzles depuis la fin du XIXe siÚcle et Solomon W. Golomb est le premier à en avoir fait une étude systématique dans un ouvrage intitulé Polyominoes. Il utilisa le terme pour la premiÚre fois lors d'une conférence au Harvard Math Club en 1952. Martin Gardner, dans sa rubrique Mathematical Games, les a vulgarisés en [2].
Aujourd'hui, ils font l'objet d'études mathématiques, tout comme ils ont donné naissance à différents jeux : Tetris et pentamino, entre autres.
Polyominos identiques
Dans la suite du texte, nous abrégeons « polyomino à forme libre » par PFL et « polyomino à forme fixée » par PFF.
De façon informelle, on peut classer les polyominos en au moins deux groupes. Un polyomino Ă forme libre peut ĂȘtre retournĂ©. Si l'une de ses images est pareille Ă un autre polyomino, ils sont dits pareils. Ă l'opposĂ©, un polyomino Ă forme fixĂ©e ne peut pas ĂȘtre retournĂ©. Si sa chiralitĂ© ou son orientation est diffĂ©rente de tous les autres polyominos, il est dit diffĂ©rent.
Il existe trois méthodes courantes pour définir les polyominos selon leur forme :
- fixée : polyominos qui sont nécessairement différents par
- la translation.
- unilatérale : polyominos qui sont nécessairement différents par
- la translation
- la rotation dans le plan
- libre : polyominos qui sont nécessairement différents par
- la translation
- la rotation dans le plan
- la réflexion.
Le groupe diédral D4 est le groupe de symétrie d'un carré. Il contient quatre rotations et quatre réflexions. il est généré en alternant la réflexion selon l'abscisse et une diagonale. Un PFL correspond à au plus 8 PFF, lequel sont ses images selon les symétriques D4. Cependant, ces images ne sont pas nécessairement distinctes : le plus de symétrie un PFL possÚde, le moins il y a de versions de PFF. En conséquence, un polyomino qui est invariant sous toutes ou certaines symétries non-triviales D4 peut seulement correspondre à 4, 2 ou 1 PFF. De façon mathématique, les PFL sont des classes d'équivalence des PFF du groupe D4.
La liste des symétriques possibles (avec le nombre minimum de carrés pour construire un polyomino) est :
- 8 PFF pour chacun des PFL :
- sans symétrie (4)
- 4 PFF pour chacun des PFL :
- symétrie selon l'une des directions sur une grille cartésienne (4)
- symétrie selon l'une des diagonales (3)
- symétrie de rotation double (4)
- 2 PFF pour chacun des PFL :
- symétrie selon les deux directions sur une grille cartésienne et, par conséquent, symétrie de rotation double (2)
- symétrie la direction des deux diagonales et, par conséquent, symétrie de rotation double (7)
- symétrie de rotation quadruple (8)
- 1 PFF pour chacun des PFL :
- toutes les symétries du carré (1)
DĂ©nombrement
Appelons n le nombre de carrés et An le nombre de PFF de n carrés (pouvant également posséder des trous). Leurs noms, en utilisant une racine grecque, sont créés à partir du nombre de carrés qu'ils comportent :
n | nom | nombre de PFL voir âA000105 | nombre de PFL avec trous voir âA001419 | nombre de PFF (An) voir âA001168 |
---|---|---|---|---|
1 | monomino | 1 | 0 | 1 |
2 | Domino | 1 | 0 | 2 |
3 | triomino | 2 | 0 | 6 |
4 | tétromino | 5 | 0 | 19 |
5 | pentamino | 12 | 0 | 63 |
6 | hexamino | 35 | 0 | 216 |
7 | heptamino | 108 | 1 | 760 |
8 | octamino | 369 | 6 | 2725 |
9 | ennéamino | 1285 | 37 | 9910 |
10 | décamino | 4655 | 195 | 36446 |
11 | undécamino | 17073 | 979 | 135268 |
12 | dodécamino | 63600 | 4663 | 505861 |
Le nombre de polyominos sans trou est donné par la suite A000104 de l'OEIS, alors que le nombre de polyominos unilatéraux est donné par la suite A000988 de l'OEIS.
En 2004, Iwan Jensen a Ă©numĂ©rĂ© les PFF jusqu'Ă n = 56 : A56 vaut environ 6,915Ă1031. Les PFL ont Ă©tĂ© Ă©numĂ©rĂ©s jusqu'Ă n = 28 (voir Liens externes pour des tableaux d'Ă©numĂ©ration).
Aucune formule exacte n'est connue, sauf pour quelques cas particuliers. Cependant, plusieurs valeurs estimées sont connues et il existe des algorithmes de décompte.
Ăpuisement par recherche inductive
L'approche la plus Ă©vidente, et la plus lente, pour Ă©numĂ©rer tous les polyominos est l'Ă©puisement par recherche inductive. Connaissant une liste de polyominos d'aire n, prendre chaque polyomino un Ă la fois, insĂ©rer dans un carrĂ© de nĂn, entourer ce carrĂ© avec un collier de cellules de façon Ă crĂ©er un carrĂ© de (n+2)Ă(n+2). Pour chacune des cellules de ce carrĂ© qui est adjacent Ă une cellule occupĂ©e, remplir la cellule et biffer une rangĂ©e de cellules inoccupĂ©es et une rangĂ©e de colonnes inoccupĂ©es. Le carrĂ© de (n+1)Ă(n+1) obtenu est un polyomino candidat d'aire n+1. Si cette construction est nouvelle, elle s'ajoute Ă la liste des polyominos d'aire n+1. Cette comparaison doit se faire en considĂ©rant la position et la symĂ©trie, tout en tenant compte des PFF et des PFL. La position est prise en compte en effectuant une translation du candidat au coin gauche supĂ©rieur du carrĂ© (n+1)Ă(n+1). Pour calculer le nombre de PFF, les rotations et les rĂ©flexions doivent aussi ĂȘtre prises en compte.
Cette méthode se répÚte, en commençant par le monomino, jusqu'à ce que les polyominos de taille requise sont énumérés. Cependant, cette méthode est gourmande pour les grandes surfaces. Par exemple, pour trouver tous les dodécominos, elle prend environ 90 secondes avec un ordinateur équipé d'un Pentium tournant à 1 GHz.
MĂ©thode par croissance
Cette méthode est utilisée par plusieurs auteurs pour démontrer les limites supérieures sur les nombres fournis.
Commencer par un carré et y ajouter récursivement des carrés. Cette méthode permet de compter tous les n-ominos n fois.
La variante la plus simple consiste Ă ajouter un carrĂ© Ă la fois. Imaginer un quadrillage de cellules vides. Parmi celles-ci, identifier une cellule avec 0. Ătant la seule cellule disponible, insĂ©rer un carrĂ© Ă cette position. Identifier dans le sens horaire les cellules vides adjacentes Ă la cellule nouvellement remplie : 1, 2, 3 et 4. Choisir un nombre entre 1 et 4, et ajouter un carrĂ© Ă cette position. Identifier les cellules vides adjacentes Ă toute la construction qui ne sont pas encore identifiĂ©es : 5, 6 et 7. Choisir un nouveau nombre plus grand que celui dĂ©jĂ choisi, ajouter un carrĂ© Ă cette position. RĂ©pĂ©ter ce processus autant que voulu: identifier, choisir et ajouter. Quand n carrĂ©s sont crĂ©Ă©s, un n-omino est crĂ©Ă©.
Cette méthode garantit que chaque polyomino fixé est compté exactement n fois, Une fois pour chaque construction de départ. S'il faut compter les PFL à la place, il faut vérifier les symétries aprÚs la création de chaque n-omino. Cet algorithme énumÚre les dodécominos en environ 20 secondes avec un ordinateur cadencé à 1 GHz. Le temps est proportionnel au nombre de polyominos.
Il est possible d'améliorer la vitesse de cette méthode de façon à compter chaque polyomino une fois seulement, plutÎt que n fois. Dans une grille de cellules vides, mettre le carré dans le coin inférieur gauche. Par la suite, ne pas identifier les cellules qui se trouvent à une position inférieure ou à sa gauche. Cette amélioration divise le temps de recherche par n.
Méthode de Jensen et méthode de Conway
Cet algorithme, le plus efficace pour Ă©numĂ©rer les PFF, est le fruit du travail d'Iwan Jensen. Il amĂ©liore l'algorithme d'Andrew Conway, le rendant exponentiellement plus rapide que les algorithmes prĂ©cĂ©dents, mĂȘme si son temps de recherche est exponentiel en n.
Les deux méthodes comptent le nombre de polyominos qui ont une certaine largeur. Le décompte pour toutes les largeurs est égal au nombre total de polyominos. Elles s'appuient sur l'idée de considérer les rangées de départ valides, puis de compter le nombre minimum de carrés pour compléter un polyomino d'une largeur donnée. Associé aux fonctions génératrices, cette technique compte plusieurs polyominos à la fois, ce qui raccourcit d'autant la durée de l'algorithme lorsque comparé aux autres qui comptent un polyomino à la fois.
En contrepartie de ce gain de vitesse, la quantité de mémoire nécessaire pour qu'il s'exécute croßt de façon exponentielle. Par exemple, il faut plusieurs Gigaoctets de mémoire pour n plus grand que 50. Cet algorithme est nettement plus difficile à implanter et est incapable de compter les PFL.
Polyominos à forme fixée
Différents arguments théoriques, supportés par des calculs numériques, donnent le nombre de polyominos en fonction de n :
oĂč λ = 4,0626 et c = 0,3024. Ce rĂ©sultat n'est cependant pas rigoureusement dĂ©montrĂ© et les valeurs de λ et c ne sont que des estimations.
Les résultats théoriques publiés sont moins précis. On sait seulement que
En d'autres termes, An croßt exponentiellement selon n. La borne inférieure pourλ est 3,72, alors que la borne supérieure est 4,65.
Pour Ă©tablir la borne infĂ©rieure, il suffit d'utiliser une simple et efficace mĂ©thode qui concatĂšne les polyominos. DĂ©finir le coin droit haut comme Ă©tant le dernier carrĂ© droit de la plus haute rangĂ©e du polyomino, mutatis mutandis, de mĂȘme pour le coin infĂ©rieur gauche. Construire un (n+m)-omino unique en attachant le coin droit haut de n'importel quel polyomino de taille n au coin infĂ©rieur gauche du polyomino de taille m. Le nouveau poyomino est unique et . Connaissant ce rĂ©sultat, on dĂ©montre que pour tout n. En raffinant cette procĂ©dure, tout comme en utilisant diffĂ©rentes donnĂ©es pour An, on obtient la borne infĂ©rieure.
La borne supérieure s'obtient en généralisant l'énumération de la méthode par croissance. PlutÎt que d'additionner un carré à la fois, ajouter un amas de carrés (opération souvent décrite comme une addition de twigs en anglais). En démontrant que tous les n-ominos sont une séquence de twigs, ainsi que les limites sur les combinaisons de twigs possibles, on obtient la borne supérieure du nombre de n-ominos. Par exemple, pour la méthode par croissance, à chaque répétition, il faut choisir un nombre plus large, et aprÚs le deuxiÚme répétition, seulement trois nouveaux identificateurs s'ajoutent. Cela suffit pour obtenir la borne supérieure de 6.75. Avec 2,8 millions de twigs, Klarner et Rivest ont calculé une borne supérieure de 4.65. Ce résultat date des années 1970, il est donc possible de l'améliorer avec les ordinateurs d'aujourd'hui, mais aucun résultat n'a été publié jusqu'à maintenant.
Pavage
Jeux et puzzles
Il existe un jeu de table qui consiste à paver une surface imaginaire avec des pentaminos en plastique. Le perdant est celui qui ne peut plus placer l'un de ses pentaminos sans créer un trou. Pour le film 2001, l'Odyssée de l'espace, il semblerait que le cinéaste Stanley Kubrick ait envisagé de montrer les astronautes en train de jouer avec des pentaminos, mais a finalement préféré le jeu d'échecs.
Quelques variantes du Sudoku pavent les régions avec des polyominos. Le jeu vidéo Tetris et ses dérivés font également appel aux polyominos.
Les piÚces du jeu de domino ne sont pas, au sens strict, des polyominos, puisqu'ils sont identifiés par des symboles.
Notes et références
- (en) Solomon W. Golomb, Polyominoes : Puzzles, Patterns, Problems, and Packings, Princeton, New Jersey, Princeton University Press, , 2e Ă©d., xii+184 (ISBN 978-0-691-02444-8, lire en ligne).
- (en) Martin Gardner, « More about the shapes that can be made with complex dominoes (Mathematical Games) », Scientific American, vol. 203, no 5,â , p. 186â201 (DOI 10.1038/scientificamerican1160-186, JSTOR 24940703, prĂ©sentation en ligne).
Voir aussi
Articles connexes
Liens externes
- (en) Site de Solomon W. Golomb
- (en) Pavages de Karl Dahlke
- (en) ĂnumĂ©ration des polyominos
- (en) ĂnumĂ©ration des polyominos Ă forme fixĂ©e, jusqu'Ă n = 56
- (en) Une explication et une implantation logicielle de l'algorithme de Jensen
- (en) Article de Klarner et Rivest (PDF)
- (en) Un article décrivant les estimés modernes (PS)
- (en) Polyiamond de MathWorld
- (en) Un jeu vidéo qui remplit des images avec des polyominos
- (en) Notes sur l'énumération des polyominos