Logique contrainte
En informatique théorique et en théorie des jeux, la logique contrainte (nom original en anglais : constraint logic) est un formalisme proposé par Robert A. Hearn et Erik D. Demaine pour démontrer plus simplement des résultats de complexité théorique pour des jeux de plateau, comme le jeu de pousse-pousse qui a été montré complet pour la classe PSPACE. La logique contrainte propose des gadgets et est utilisée pour prouver la dureté de généralisation de problèmes sur les graphes comme ensemble indépendant.

Définition 

La logique contrainte est un ensemble de règles de coups possibles dans un jeu sur des graphes particuliers appelés des graphes contraints. Un graphe contraint est un graphe orienté où chaque arc est pondéré par 1 (on le dessine alors en rouge), soit 2 (on le dessine alors en bleu). Chaque sommet est étiqueté par un entier, appelé flot entrant minimal. En fait, on peut supposer que le flot entrant minimal est toujours de deux. Le flot entrant d'un sommet est la somme des poids des arcs entrants dans ce sommet. Les contraintes sont les suivantes : une configuration est légale si en chaque sommet, le flot entrant est plus grand ou égal au flot entrant minimal.

Un coup dans un graphe contraint consiste à inverser un arc, si la configuration reste toujours légale. Dans un tel jeu, on exécute plusieurs coups et un joueur gagne s'il inverse un arc particulier.

Si le jeu est multi-joueurs, chaque joueur contrôle un ensemble d'arcs et un possède un arc particulier à inverser pour gagner. On dit que le jeu est déterministe si la suite d'inversions est forcée. On dit que le jeu est borné si on rajoute la condition que chaque arc n'est inversé qu'une fois au plus.

La logique contrainte permet de simuler des portes ET et des portes OU, mais ne permet pas de simuler des portes NON (en ce sens, la logique est dite monotone ).

Simulation d'une porte ET 
La figure ci-contre représente un sommet d'un graphe contraint. On suppose son flot entrant minimal est 2. Les deux arcs rouges pondérés par 1 représentent les deux entrées de la porte. L'un des arcs représente la valeur vraie s'il est dirigé vers le sommet, et faux sinon. L'arc bleu est pondéré par 2 et représente la sortie de la porte. Il est vrai s'il est sortant. La table suivante donne la table de vérité d'un ET et l'interprétation sur la porte ET dans un graphe contraint :

Simulation d'une porte OU 
Une porte OU est simulé par un sommet de flot entrant minimal égal à 2, mais avec trois arcs bleus pondérés par 2. Deux d'entre eux représentent les deux entrées de la porte. L'autre représente la sortie. De la même manière, un arc d'entrée est dirigé vers le sommet s'il est vraie, alors que l'arc de sortie représente le vrai s'il est sortant. La table suivante donne la table de vérité d'un OU et l'interprétation sur la porte OU dans un graphe contraint :

Lien entre jeu et complexité 
Le problème de satisfaction d'un graphe contraint, i.e. savoir si on peut orienter les arêtes d'un graphe non orienté avec des arcs de poids 1 ou 2 de façon à avoir un flot entrant de 2 en chaque sommet, est NP-complet. La démonstration donnée par Erik Demaine et Robert A. Hearn repose sur une réduction depuis 3SAT.

La table suivante donne les complexités de décider l'existence d'une stratégie gagnante : étant donné un graphe contraint, l'arc à inverser (ou les arcs à inverser) pour gagner, existe-t-il une stratégie gagnante pour que chaque joueur inverse son arc à inverser.

Le problème de l'existence d'une stratégie gagnante pour un joueur dans le cas borné est PSPACE-complet et se démontre depuis le problème TQBF, qui est le problème qui consiste à savoir si une formule booléenne quantifiée est vraie. La démonstration utilise des gadgets pour la formule CNF et pour les quantificateurs existentiels et universels.

Le cas de plus de 2 joueurs donne les mêmes complexités que pour 2 joueurs . Le dernier cas est différent et consiste à opposer deux équipes de joueurs. Mais les joueurs ont de l'information imparfaite comme dans les travaux de Peterson et Reif. Aussi, dans la version bornée, on allège un peu l'hypothèse : on donne une borne k et chaque arc ne peut être retourner qu'au plus k fois ; la complexité dans le cas k=1 est un problème ouvert lorsque l'ouvrage a été écrit.

On modifie donc la logique contrainte de la façon suivante  Il y a N joueurs : 1, 2..., N. Il y a deux équipes : les blancs et les noirs. Chaque joueur appartient à une et une seule des deux équipes. Chaque joueur ne voit l'orientation que d'un sous-ensemble d'arcs. Les arcs contrôlés par un joueur sont vus par ce même joueur. Le jeu se déroule ainsi : chaque joueur joue à tour de rôle : 1, 2, ..., N. Chaque joueur inverse un arc contrôlé par lui, qui n'a pas été précédemment inversé ; de plus, il doit savoir que ce coup est légal, juste à partir de la connaissance de l'orientation des arcs vus par lui. L'équipe blanche (noire) gagne si l'un des joueurs blancs (noirs) inverse son arc gagnant. La démonstration de la NEXPTIME-dureté repose sur une variante des formules booléennes quantifiées : formules booléennes quantifiées avec dépendance.

De manière intéressante, les bornes inférieures des complexités sont les mêmes si on se restreint aux graphes planaires.

Références 

Théorie des jeux
En informatique théorique et en théorie de les jeux , la logique contrainte ( nom original en anglais \ : constraint logic ) est un formalisme proposé par Robert A. Hearn et Erik D. Demaine pour démontrer plus simplement de les résultats de complexité théorique pour de les jeux de plateau , comme le jeu de pousse-pousse qui a été montré complet pour la classe PSPACE . La logique contrainte propose de les gadgets et est utilisée pour prouver la dureté de généralisation de problèmes sur les graphes comme ensemble indépendant . Définition La logique contrainte est un ensemble de règles de coups possibles dans un jeu sur de les graphes particuliers appelés de les graphes contraints . Un graphe contraint est un graphe orienté où chaque arc est pondéré par ( on le dessine alors en rouge ) , soit ( on le dessine alors en bleu ) . Chaque sommet est étiqueté par un entier , appelé flot entrant minimal . En fait , on peut supposer que le flot entrant minimal est toujours de deux . Le flot entrant d' un sommet est la somme de les poids de les arcs entrants dans ce sommet . Les contraintes sont les suivantes \ : une configuration est légale si en chaque sommet , le flot entrant est plus grand ou égal à le flot entrant minimal . Un coup dans un graphe contraint consiste à inverser un arc , si la configuration reste toujours légale . Dans un tel jeu , on exécute plusieurs coups et un joueur gagne s' il inverse un arc particulier . Si le jeu est multi-joueurs , chaque joueur contrôle un ensemble d' arcs et un possède un arc particulier à inverser pour gagner . On dit que le jeu est déterministe si la suite d' inversions est forcée . On dit que le jeu est borné si on rajoute la condition que chaque arc n' est inversé qu' une fois à le plus . La logique contrainte permet de simuler de les portes ET et de les portes OU , mais ne permet pas de simuler de les portes NON ( en ce sens , la logique est dite monotone ) . Simulation d' une porte ET La figure ci-contre représente un sommet d' un graphe contraint . On suppose son flot entrant minimal est Les deux arcs rouges pondérés parreprésentent les deux entrées de la porte . L' un de les arcs représente la valeur vraie s' il est dirigé vers le sommet , et faux sinon . L' arc bleu est pondéré paret représente la sortie de la porte . Il est vrai s' il est sortant . La table suivante donne la table de vérité d' un ET et l' interprétation sur la porte ET dans un graphe contraint \ : Simulation d' une porte OU Une porte OU est simulé par un sommet de flot entrant minimal égal à mais avec trois arcs bleus pondérés par Deux d' entre eux représentent les deux entrées de la porte . L' autre représente la sortie . De la même manière , un arc d' entrée est dirigé vers le sommet s' il est vraie , alors que l' arc de sortie représente le vrai s' il est sortant . La table suivante donne la table de vérité d' un OU et l' interprétation sur la porte OU dans un graphe contraint \ : Lien entre jeu et complexité Le problème de satisfaction d' un graphe contraint , i.e. savoir si on peut orienter les arêtes d' un graphe non orienté avec de les arcs de poidsoude façon à avoir un flot entrant deen chaque sommet , est NP-complet . La démonstration donnée par Erik Demaine et Robert A. Hearn repose sur une réduction depuisAT . La table suivante donne les complexités de décider l' existence d' une stratégie gagnante \ : étant donné un graphe contraint , l' arc à inverser ( ou les arcs à inverser ) pour gagner , existe -t -il une stratégie gagnante pour que chaque joueur inverse son arc à inverser . Le problème de l' existence d' une stratégie gagnante pour un joueur dans le cas borné est PSPACE-complet et se démontre depuis le problème TQBF , qui est le problème qui consiste à savoir si une formule booléenne quantifiée est vraie . La démonstration utilise de les gadgets pour la formule CNF et pour les quantificateurs existentiels et universels . Le cas de plus dejoueurs donne les mêmes complexités que pourjoueurs \ . Le dernier cas est différent et consiste à opposer deux équipes de joueurs . Mais les joueurs ont de l' information imparfaite comme dans les travaux de Peterson et Reif . Aussi , dans la version bornée , on allège un peu l' hypothèse \ : on donne une borne k et chaque arc ne peut être retourner qu' à le plus k fois ; la complexité dans le cas k=1 est un problème ouvert lorsque l' ouvrage a été écrit . On modifie donc la logique contrainte de la façon suivante Il y a N joueurs \ :.. , N . Il y a deux équipes \ : les blancs et les noirs . Chaque joueur appartient à une et une seule de les deux équipes . Chaque joueur ne voit l' orientation que d' un sous-ensemble d' arcs . Les arcs contrôlés par un joueur sont vus par ce même joueur . Le jeu se déroule ainsi \ : chaque joueur joue à tour de rôle \ :\ ... , N. Chaque joueur inverse un arc contrôlé par lui , qui n' a pas été précédemment inversé ; de plus , il doit savoir que ce coup est légal , juste à partir de la connaissance de l' orientation de les arcs vus par lui . L' équipe blanche ( noire ) gagne si l' un de les joueurs blancs ( noirs ) inverse son arc gagnant . La démonstration de la NEXPTIME-dureté repose sur une variante de les formules booléennes quantifiées \ : formules booléennes quantifiées avec dépendance . De manière intéressante , les bornes inférieures de les complexités sont les mêmes si on se restreint à les graphes planaires . Références Théorie de les jeux