Sujet de TER.

 

Algorithmes de pavage de la droite.

 

Encadrants: Raluca Uricaru (uricaru_AT_lirmm.fr) et Eric Rivals (rivals_AT_lirmm.fr)

 

4 étudiants.

 

Etant donné un ensemble d'entier, par exemple {0,2,4}, on cherche à savoir si l'on peut combler un intervalle des entiers, par exemple, [0,11], en posant à différentes positions des copies de l'ensemble.  Dans notre exemple, il suffit de poser des  tuiles aux positions : 0, 1, 6, 7 pour combler exactement l'intervalle [0,11]. On dira alors que {0,2,4} est une tuile de [0,11]. Le mot paver est synomyme de combler. Dans un  pavage, aucune position ne peut être remplie plus d'une fois, et chaque position doit être remplie au moins une fois.   Il est facile de vérifier que {0,2,3} n'est pas une tuile de [0,11], ni d'aucun intervalle [0,n], quel que soit l'entier n.

 

Le premier travail est d'implanter un algorithme de reconnaissance d'un ensemble qui pave un intervalle donné. Cet algorithme existe, est décrit dans un article de recherche, et sera fourni. Ensuite, il convient de développer une interface pour visualiser un pavage, dans un objectif pédagogique. Pour compliquer un peu, on considère ensuite un intervalle circulaire (c.a.d., un intervalle [0,n] dans lequel après la position n on revient sur la position 0). Ce type d'intervalle est appelé tore. La tâche sera d'énumérer des tuiles du tore qui ne sont pas de tuiles de l'intervalle simple (non circulaire). Vous pourrez aussi essayer de donner des propriétés des tuiles qui sont spécifiques du tore.