En écrivant un petit post sur la complexité des jeux vidéo Nibbler et Snake ; J'ai trouvé que les deux peuvent être modélisés comme des problèmes de reconfiguration sur les graphes planaires; et il semble peu probable que de tels problèmes n'aient pas été bien étudiés dans le domaine de la planification du mouvement (imaginez par exemple une chaîne de chariots ou de robots liés). Les jeux sont bien connus, mais voici une courte description du modèle de reconfiguration associé:
PROBLÈME DE SERPENT
Entrée : étant donné un graphe planaire , l galets p 1 , . . . , P l sont placés sur des nœuds u 1 , . . . , u l qui forment un chemin simple. Les cailloux représentent le serpent , et le premier p 1 est sa tête. La tête peut être déplacée de sa position actuelle vers un nœud libre adjacent, et le corps la suit. Certains nœuds sont marqués d'un point; lorsque la tête atteint un nœud avec un point, le corps augmente de cailloux dans les e mouvements suivants de la tête. Le point sur le nœud est supprimé après la traversée du serpent.
Problème : Nous demandons si le serpent peut être déplacé le long du graphique et atteindre une configuration cible où la configuration cible est la description complète de la position du serpent, c'est-à-dire la position des cailloux.
Il est facile de prouver que le problème SNAKE est NP-difficile sur les graphes planaires de degré maximum 3 même si aucun point n'est utilisé et également sur les graphes de grille SOLIDE si nous pouvons utiliser un nombre arbitraire de points. Les choses se compliquent sur les graphiques à grille solide sans points (c'est lié à un autre problème ouvert).
Je voudrais savoir si le problème a été étudié sous un autre nom.
et, en particulier, s'il y a une preuve qu'il est en NP ...
Edit: le problème s'est avéré être PSPACE complet même sur les graphes planaires et le résultat semble très intéressant, il reste donc à savoir s'il s'agit d'un nouveau problème et s'il existe des résultats connus à ce sujet.
Un exemple simple (les cailloux sont représentés en vert, la tête du serpent est P1).