• Aucun résultat trouvé

Jeux, Logique, Topologie et Automates

N/A
N/A
Protected

Academic year: 2022

Partager "Jeux, Logique, Topologie et Automates"

Copied!
61
0
0

Texte intégral

(1)

Jeux, Logique, Topologie et Automates

Rémi Cheval

ENS - Formation du Master Parisien de Recherche en Informatique Mars-Juillet 2011 - Stage recherche de Master 1

Encadré par Jacques Duparc (professeur) Département des systèmes d’information (ISI)

Université de Lausanne, Bâtiment Internef Quartier UNIL-Dorigny, 1015 Lausanne, Suisse

Assistants :

Kévin Fournier , doctorant FNS 2e année

Yann Péquignot , doctorant FNS 1ère année

(2)

Introduction

La théorie des jeux est un domaine qui prend son essor en 1944 après la publication de l’ouvrage Theory of Games and Economic Behavior par John von Neumann et Oskar Mor- genstern, dans lequel est définie mathématiquement la notion de jeu à information parfaite.

Un exemple simple de ce type de jeu est le jeu des échecs dans lequel l’information parfaite signifie que les deux joueurs connaissent à tout moment les coups joués par leur adversaire.

Durant ce stage, nous nous sommes intéressé à deux grandes preuves de la théorie des jeux et notre objectif a été de trouver des ressemblances entre ces deux preuves qui même si elles utilisent des notions différentes peuvent avoir des raisonnements semblables.

La première preuve est la détermination des boréliens écrite en 1975 par D.A. Martin, un mathématicien français. Elle utilise des notions de topologie métrique avec les ensembles de Borel et essaye de montrer un grand problème de la théorie des jeux : la détermination (dans tous les cas, l’un des deux joueurs a une stratégie gagnante). Pour étudier cette preuve, j’ai eu la possibilité de travailler avec Kévin Fournier et Yann Péquignot puisqu’ils ont eu l’occasion de l’étudier cette preuve durant leur master de Mathématiques.

Plus tournée vers l’informatique, la seconde preuve est une réduction du model-checking problem sur les jeux à pile et le µ-calcul propositionnel présentée par Igor Walukewicz dans son papierPushdown processes : games and model-checking. Ma principale contribution a été l’étude de cette preuve pour permettre ensuite de ressortir les ressemblances avec la preuve précédente.

Avant de lire et de comprendre ces différentes preuves, mon maitre de stage Jacques Du- parcm’a proposé d’étudier un cours du professeur allemand Wolfgang Thomas,Automata and Reactive Systems. J’ai commencé à voir que les automates pouvaient reconnaître des mots infinis avec différentes conditions d’acceptation : de Büchi, de Muller, de Rabin, de parité, ...

À la différence des automates à mots finis, nous obtenons des problèmes pour le détermi- nisme des automates. En effet, le langage (a+b)aω est reconnu par un automate de Büchi non déterministe mais pas par un déterministe. Ce problème résume très bien la difficulté à faire la différence entre rencontrer un nombre infini de lettre a et rencontrer un nombre fini, mais aussi grand que l’on veut, de lettre a.

Après les automates infinis, le cours s’est intéressé à différentes logiques (LTL, S1S, S2S, ...), aux jeux infinis (jeu de parité, de Gale-Stewart, ...) et aux automates d’arbres infinis.

(3)

Reconnaissant maintenant des arbres, ces automates se comprennent très bien en parallèle des jeux infinis. L’arbre va représenter l’ensemble des parties possibles du jeu infini et donc si notre arbre est accepté par notre automate infini, cela signifie l’existence d’une stratégie gagnante pour l’un des joueurs dans le jeu infini.

Nous allons donc dans ce rapport commencer par la partie plus mathématiques avec la dé- termination des boréliens et essayer de retirer les passages qui nous intéressent. Ensuite, nous aborderons les différentes résultats d’Igor Walukiewicz avec des preuves assez techniques mais avec des notions plus familière. Et enfin, nous aborderons les différentes questions et problèmes qui restent en suspend.

Remerciements Avant de finir cette introduction, je voudrais remercier mon maitre de stage Jacques Duparc ainsi que les deux thésards avec qui j’ai eu l’occasion de travailler durant ce stage, Kévin Fournier et Yann Péquignot. Je tiens également à remercier les personnes que j’ai côtoyé à l’université de Lausanne et au restaurant université, la Banane ainsi que la famille qui m’a hébergé. Et pour terminer, un merci pour SergeHaddadet Jean Goubault-Larracq, mes deux tuteurs de stage.

(4)

Table des matières

Introduction 1

I La détermination des ensembles de Borel 5

1 Vers la détermination des fermés 6

1.1 Suites infinies, arbres, et espace topologique . . . 6

1.2 Hiérarchie des boréliens et détermination des fermés . . . 9

1.3 Recouvrements : les réductions de la théorie des jeux . . . 10

2 Détermination des boréliens : Preuve de Martin 11 2.1 Cohérence entre recouvrement et détermination . . . 13

2.2 Cas simple du fermé : construction d’un jeu auxiliaire sur un arbreT̃ . . . 13

2.3 Cas de récurrence : passage à l’union dénombrable . . . 14

II Model-checking sur les arbres à pile 15

3 Préliminaires 16 3.1 Automate à pile . . . 16

3.2 Jeu de parité et µ-calcul . . . 17

3.3 Points fixes du µ-calcul et théorème de Knaster - Tarksi . . . 19

3.4 Réduction du problème de model checking . . . 19

3.5 Construction de la région gagnante . . . 23

4 Stratégie à pile pour un jeu de parité sur un graphe à pile 24 4.1 Existence d’une stratégie canonique . . . 24

4.2 Utilisation des sous-jeux G( ⃗A, z, θ, q) . . . 25

4.3 Construction de cette stratégie à pile . . . 28

5 Jeu de parité : Réduction de la complexité du graphe 30 5.1 Découpage d’un sous-jeuG( ⃗A, z, θ, q). . . 30

5.2 Construction du graphe fini . . . 32

5.3 Existence d’une stratégie gagnante sur le graphe fini . . . 33

(5)

5.4 Existence d’une stratégie gagnante sur l’arbre à pile . . . 33

Conclusion 34 Bibliographie 35

III Annexes 36

6 Annexes - Partie I 37 6.1 Détermination des fermés . . . 37

6.2 Détermination : passage par un k-recouvrement . . . 39

6.3 Dénouement d’un fermé L . . . 40

7 Annexes - Partie II 41 7.1 Points fixes du µ-calcul . . . 41

7.2 Construction de la région gagnante . . . 44

7.3 Construction de la stratégie à pile . . . 47

7.4 Existence d’une stratégie gagnante sur le graphe fini . . . 53

7.5 Existence d’une stratégie gagnante sur l’arbre à pile . . . 55

(6)

Première partie

La détermination des ensembles de Borel

(7)

Chapitre 1

Vers la détermination des fermés

Pour commencer cette partie sur la détermination des ensembles de Borel, nous allons devoir définir les différents notions de topologique dont nous aurons besoin pour la suite.

Ensuite, nous verrons comment les utiliser dans des jeux infinis à deux joueurs et com- ment définir formellement une transformation des coups des joueurs, des stratégies employées et des hypothèses faites, tout cela entre deux jeux différents. Nous appellerons par recouvre- ment ces transformations.

Par notions topologiques, nous parlons de suites infinies et d’arbres élagués (sans feuille), d’ensembles ouverts et fermés et aussi d’intersections et d’unions dénombrables de famille d’ensembles : notions permettant de définir une hiérarchie dans les ensembles. Et puis bien sûr, nous allons devoir définir l’objet topologique qui nous intéresse c’est-à-dire les ensembles de Borel.

Maintenant que les notions mathématiques sont définies, nous pourrons commençer à jouer avec des jeux de Gale-Stewart et par jouer, je parle d’une petite preuve sur la déter- mination des fermés (faites par Gale et Stewart eux-même en 1953).

1.1 Suites infinies, arbres, et espace topologique

Dans nos suites infinies, nos arbres, nos jeux ... nous allons travailler avec un alphabetΣ et pour une meilleure compréhension, nous essayerons de parsemer nos longues définitions d’exemples.

Suites infinies et arbres élagués Si on concatène un nombre fini de lettres, nous formons une suite finie w= (w0, w1..., wn1) deΣet si on prend un nombre infini, nous obtenons une suite infinie de Σω (on pourrait écrire que Σ = Σ<ω ). Nous utiliserons ces suites pour représenter la succession des coups des deux joueurs durant une partie.

Maintenant, si on s’intéresse à l’ensemble des parties possibles (en fonction des coups des joueurs), on va plutôt utiliser un arbre qu’une ensemble de suites de coups.

(8)

Dans la majorité des jeux, les deux joueurs ne rencontrerons pas de cul-de-sac, nous travaillons donc sur des arbres élagués, c’est-à-dire sans feuilles.

Σω est complément métrisable Nous n’allons pas rentrer dans les détails de la topologie pour savoir ce que veut dire que Σω est complément métrisable mais nous allons essayer de bien comprendre la définition d’ouvert de base, d’ensemble ouvert et d’ensemble fermé.

– Ouverts de base : Ces ensembles sont les vecteurs de base de la topologie de Σω :

∀w∈Σ w.Σω = {w.x ∣ x∈Σω}

Ainsi, tous les sous-ensembles de Σω sont des unions (quelconques) d’ouverts de base.

– Ensembles ouverts : Tout ouvert O de Σω peut être décrit comme une union disjointe d’ouverts de base (avec W prefix-free, c’est-à-dire ne contient pas deux mots distincts tel que l’un est préfixe de l’autre) :

∃W ⊆Σ<ω O = W.Σω = ⋃

wW

w.Σω

– Ensembles fermés : Les fermés sont les complémentaires des ouverts dans Σω. exemple : {aω} puisque Σω/{aω} = (a.b).Σω avec ici Σ= {a, b}

Proposition 1.1 (Les ouverts/fermés ("clopen") de Σω) Les ouverts/fermés deΣω sont les unions finies de vecteurs de base : L = W.Σω avec W prefix-free et fini.

Démonstration Preuve par double implication.

⇐ SoitL=W.Σω avecW fini. Soitl la longueur du plus grand mot de W. Nous obtenons le résultat suivant :

Σω/L = {v ∈Σω ∣ ∣v∣ =l et v n’a pas de prefixe dans W }.Σω

⇒ Soit L un ouvert/fermé. Nous avons donc W, V ⊆Σ<ω, prefix-free, tel que L=W.Σω et Σω/L=V.Σω (union disjointe → prefix-free). Montrons que : V ∪W est fini.

L’ensemble T des mots de Σ<ω qui n’ont aucun préfixe dans V ∪W forme un arbre sans branche infinie (sinon cette branche forme un mot w ∉ (W.Σω∪V.Σω)). Sans branche infinie, notre ensemble T est fini donc à partir d’une certaine longueur, tous les mots ont un préfixe dans V ∪W. Donc V ∪W est fini puisque les deux ensembles sont prefix-free.

(9)

Faisons une pause dans la topologie pour voir à quel jeu allons nous jouer.

Définition 1.1 (Jeux de Gale-Stewart) À un ensembleLdeΣω, on associe un jeu infini à deux joueurs. Le joueur 0 joue un élément w0 de Σ, puis le joueur 1 joue un élément w1 de Σ, puis 0 joue w2 et ainsi de suite. Une partie dans ce jeu donne lieu à la création d’une suite infinie w= (w0, w1, w2, ...) ∈Σω.

Le joueur 0 gagne une partie si et seulement si w∈L; tandis que 1 gagne si et seulement si 0 ne gagne pas (w∉L). Le jeu ainsi défini est un jeu infini à deux joueurs, à information parfaite (les choix d’un joueur sont par l’autre) et à somme nulle (l’un des deux joueurs gagnent la partie) appelé jeu de Gale-Stewart et désigné par G(Σ, L) ou G(L) s’il n’y a pas d’ambiguïté.

D’une manière générale, on se met dans la peau du joueur 0 et on essaie de battre le joueur 1. Nous avons donc le plaisir de commencer chaque partie.

Stratégie dans un jeu Dans un jeu G(Σ, L), on formalise la notion de stratégie pour le joueur 0 (pour le joueur 1) par une application qui à partir d’une suite de longueur paire (impaire) deΣ renvoie une unique lettre deΣ :

ϕ0 ∶ (Σ2)<ω Ð→ Σ

Le début d’une partie dans laquelle 0 suit cette stratégie ϕ0 est de la forme : 0∶

1∶

ϕ0(ǫ)

a1

ϕ00(ǫ).a1)

a3 ...

Avant de voir la définition des ensembles de Borel et sa hiérarchie, voyons quelques nota- tions et une proposition intéressante (que nous ne démontrerons pas ici) donnant une bonne intuition des ouverts et des fermés. Soit T un arbre sur Σ (cela peut être la représentation d’une stratégie) :

– [T] est appelé le tronc de T : l’ensemble des chemins infinis de T.

– (T∣k) est la restriction de l’arbre T aux k premières générations (on utilise la même notation pour les mots).

Proposition 1.2 (Tronc d’un arbre élagué ?) L’application suivante est une bijection : f ∶ {arbres élagués} Ð→ {fermés}

T z→ [T]

Dans un jeu, on construit une suite infinie au fur et à mesure d’une partie. Ainsi, pour un ouvert, on sait après un temps fini qu’on finira dans l’ensemble. À l’inverse, dans un fermé, on sait après un temps fini qu’on ne finira pas dans l’ensemble.

(10)

1.2 Hiérarchie des boréliens et détermination des fermés

Dans la suite du rapport, il va falloir bien faire la distinction entre un ensemble et une famille d’ensembles (un ouvert et l’ensemble des ouverts).

Unions et intersections dénombrables et complémentaires d’une famille de sous- ensembles deΣω Nous allons construire la hiérarchie des Boréliens avec les outils suivants :

Soit F une famille de sous-ensembles de Σω.

– L’ensemble des unions dénombrables d’éléments de F :

ω F = { ⋃

nω

An ∣ An∈ F } – L’ensemble des intersections dénombrables d’éléments de F :

ω F = { ⋂

nω

An ∣ An∈ F } – L’ensemble des complémentaires dans Σω des éléments deF :

¬ F = { A⊆Σω ∣ X/A∈ F }

Définition 1.2 (Les ensembles de Borel) Dans la topologie (Σω, O) où O est la famille des ouverts, la famille des boréliens de Σω, noté BΣω, est la σ-algèbre engendrée par les ouverts O de Σω.

La principale chose qu’il faut savoir sur la définition de " σ- algèbre engendrée par " est que la famille des boréliens est :

– La plus petite famille de sous-ensembles de Σω contenant les ouverts

– Close par complémentaire, par intersection dénombrable et par union dénombrable.

Définition 1.3 (Hiérarchie des boréliens) La hiérarchie est composée des classes sui- vantes :

∀ ordinal α>0, Σ0α , Π0α et ∆0α = Σ0α∩Π0α – si α=1 :

Les ouverts : Σ01 = O Les fermés : Π01 = ¬Σ01 Les "clopen" : ∆01 – si α=β+1 avec β>0∶

Σ0α = ∀ω Π0β Π0α = ¬ Σ0α – si α est une limite :

Σ0α = ∀ω ( ⋃

β<α

Π0β) Π0α = ¬ Σ0α

(11)

Diagramme des Boréliens Il est possible de démontrer les inclusions suivantes entre les différentes classes de la hiérarchie des Boréliens :

Σ01 Σ02

⊆ ⊆ ⊆ ⊆

010203 ...

⊆ ⊆ ⊆ ⊆

Π01 Π02

Détermination des ouverts Quelques années après leur ouvrage de 1944, Gale et Stewart démontrent la détermination des ouverts (et des fermés).

Théorème 1.3 (Gale-Stewart, 1953) Soit T un arbre élagué non vide sur Σω. – Soit L⊆ [T] un ouvert ou un fermé dans [T].

– Alors G(T, L) est déterminé

Démonstration Voir la preuve en annexe à la page 37.

◻ Ce théorème est le point de départ de la preuve "détermination des boréliens" que nous verrons dans les chapitres suivants.

1.3 Recouvrements : les réductions de la théorie des jeux

Comme expliqué en introduction, les recouvrements vont nous permettre de passer d’un jeu de Gale-Stewart à un autre en modifiant l’arbre élagué dans lequel on joue.

Définition 1.4 (Recouvrement de T) Soit T un arbre élagué non vide de Σω. Un recou- vrement de T est un triplet ( ̃T , π, ϕ) où :

– T̃ est un arbre élagué non vide sur un ensembleΣ̃ω. On ajoutera des informations supplémentaires dans l’alphabet Σ.

– π ∶ T̃ Ð→ T une application monotone permettant de traduire le déroulement d’une partie vers l’autre (on note π∶ [ ̃T] → [T] l’application induite).

– ϕ une application des stratégies sur T̃ vers les stratégies sur T. 1. L’application π conserve la longueur : ∀s∈ ̃T , long(π(s)) =long(s). 2. L’image d’une stratégie sur T̃ par ϕest une stratégie sur T.

3. Si ̃σ est une stratégie sur T̃, alors :

a. ∀ 0≤m≤n, ϕ(̃σ∣m) =ϕ(̃σ∣n)∣m et ϕ(̃σ∣n) =ϕ(̃σ)∣n b. ∀ x∈ [ϕ(̃σ)], ∃ ̃x∈ [̃σ] tel que π(̃x) =x

(12)

Chapitre 2

Détermination des boréliens : Preuve de Martin

Avant de présenter le plan de la preuve de Martin publiée en 1975, intéressons nous à deux définitions sur les recouvrements.

Définition 2.1 (Un k-recouvrement) On dira qu’un recouvrement ( ̃T , π, ϕ) de T est un k-recouvrement si les k premiers coups des deux joueurs sont les mêmes dans les deux jeux (les arbres T et T̃ sont également les mêmes pour les 2k premières générations) :

T∣2k = T̃∣2k et π( ̃T∣2k) est l’identié

Définition 2.2 (Un recouvrement dénoue un ensemble) Un recouvrement ( ̃T , π, ϕ) de T dénoue un ensemble L⊆ [T] si :

L’ensemble (π)1(L) est ouvert et fermé ("clopen") dans [ ̃T]

Pour une meilleure compréhension, présentons cette notion sous la forme d’une schéma :

Jeu : G(T, L) Partie : π(w) Stratégie : ϕ(σ)

Jeu : G( ̃T ,(π)−1(L)) Partie : w

Stratégie : σ

Ensemble de Borel Ouvert/fermé ("clopen") ( ̃T , π, ϕ)

(13)

Plan de la démonstration Dans le chapitre précédent, nous venons de démontrer la dé- termination des fermés, occupons-nous maintenant de la suite et fin de la preuve. Elle sera divisée en trois parties qui correspondent aux trois sections du chapitre.

1. Détermination : passage par un recouvrement

Prenons un k-recouvrement ( ̃T , π, ϕ)de T et un ensemble L⊆ [T]:

Si le jeu G( ̃T ,(π)1(L)) est déterminé alors G(T, L) l’est aussi Il nous reste plus qu’à construire pour tous les boréliens L, un k-recouvrement qui le dénoue.

2. Dénouement d’un fermé L :

Voici la partie la plus intéressante puisqu’il va falloir construire, pour tout entier k, un jeu auxiliaire sur l’arbreT̃tel qu’il existe un k-recouvrement( ̃T , π, ϕ)deT qui dénoue L.

3. Récurrence : cas d’un ensemble Lde Σ0α([T])

Il existe une famille d’ensemble (Li)iω telle que :

∀i∈ω, Li∈Π0αi([T]) avecαi<α et L = ⋃

iω

Li

Hypothèse de récurrence :

Il existe une famille de recouvrement (Ti, πi, ϕi)iω qui dénoue la famille (Li)iω . Objectif :

Construire un k-recouvrement qui dénoue notre ensembleL : preuve très technique.

(14)

2.1 Cohérence entre recouvrement et détermination

Proposition 2.1 (Détermination : passage par un k-recouvrement) Soient k un entier, ( ̃T , π, ϕ) un k-recouvrement de T et L⊆ [T] un ensemble.

Si le jeu G( ̃T ,(π)1(L)) est déterminé alors G(T, L) l’est aussi

Démonstration Voir la preuve en annexe à la page 39.

2.2 Cas simple du fermé : construction d’un jeu auxiliaire sur un arbre T ̃

Avec la construction d’un jeu auxiliaire sur un arbreT̃, nous allons devoir faire une preuve longue mais pas forcément très technique pour prouver la proposition suivante :

Proposition 2.2 (Dénouement d’un fermé L) Soit T un arbre élagué non vide et L⊆ [T] un fermé.

∀k≥0, il existe un k-recouvrement ( ̃T , π, ϕ) de T qui dénoue L

Démonstration Dans cette partie du rapport, nous allons donner l’intuition du fonction- nement du jeu auxiliaire sur l’arbre T̃ et présenter ensuite un plan détaillé de la preuve.

Son intégralité se trouve en annexe à la page 40.

Précédemment, nous avons parler d’une bijection entre les arbres élagués et leurs troncs, des fermés (voir Proposition 1.2) :

f ∶ {arbres élagués} Ð→ {fermés}

T z→ [T]

f1 ∶ {fermés} Ð→ {arbres élagués}

L z→ TL= { w∣n ∣ w∈L et n∈ω }

Donc pour les arbres, on utilisera la notation T(w0,...,wn) pour parler du sous-arbre de T enraciné à la fin du chemin (w0, ..., wn) . Dans le même sens, on notera TL pour l’arbre élagué associé à un fermé L.

(15)

Présentation du jeu auxiliaire G( ̃T ,(π)1(L)) :

2.3 Cas de récurrence : passage à l’union dénombrable

(16)

Deuxième partie

Model-checking sur les arbres à pile

(17)

Chapitre 3 Préliminaires

3.1 Automate à pile

Les différentes commandes que nous pouvons faire sur une pile sont : Com(Σs) = {skip, pop} ∪ {push(z) ∶ z∈Σs} avec Σs un alphabet de pile.

Définition 3.1 (Automate à pile)

A = ⟨Q,Σs, q0 ∈Q,– ∈Σs, δ∶Q×ΣsÐ→ P(Q×Com(Σs))⟩

Nous nous intéressons aux configurations de l’automate et non au langage qu’il reconnaît, d’où l’absence d’alphabet de lecture. La configuration d’un automateAest la paire (q, s)avec q∈Q et s∈Σ+s. On ne peut pas dépiler le contenu initial –.

Utilisation des automates à pile Par la suite, nous allons utiliser les configurations d’un automate pour construire le graphe d’un jeu de parité et on utilisera aussi un automate pour définir une stratégie de jeu.

Définition 3.2 (Arbre à pile) Un automate à pile A peut être vu comme un arbre TA ⊆ (Q×Σ+s)+, ensemble de suites finis :

– La racine de cet arbre est la configuration initiale de l’automate (q0,–) – Un noeud (q0, s0), ...,(qi, si) représente un chemin dans cet automate A.

– Ainsi pour chaque noeud (q0, s0), ...,(qi, si) s’il existe une arrête sortante (qi, si) Ð→

(q, s) alors un des fils de ce noeud sera (q0, s0), ...,(qi, si),(q, s). – Enfin, on dira que (qi, si) est l’étiquette du noeud (q0, s0), ...,(qi, si).

Le contenu de la pile peut-être aussi grand que l’on souhaite, l’arbre à pile est donc un graphe avec une infinité de sommets. Dans le cas d’un jeu à deux joueurs (0 et 1), nous supposerons que la racine est contrôlée par le joueur 0, que ses fils sont au joueur 1, que la génération en dessous est au joueur 0et ainsi de suite.

(18)

Définition 3.3 (Stratégie à pile)

B = ⟨QBios,B, q0,–, δB ∶QB×Σs,B× (Σi× {τ}) Ð→ QB×Com(Σs,B) × (Σo× {τ})⟩

où QB est l’ensemble fini des états et Σios,B sont les alphabets d’entrée, de sortie et de pile. q0 est l’état initial et – est le symbole initial de pile.

Une stratégie représente la manière de jouer qu’un joueur adopte. Dans le cas des jeux sur un arbre à pile, il va falloir faire attention car nous avons deux automates : l’un pour le graphe du jeu (noté A) et l’autre pour la stratégie (noté B). De plus toujours sur un arbre à pile, nous aurons en entrée de la stratégieΣi=Q×Σs quand l’adversaire fait un mouvement dans le jeu et en sortie Σo=Q×Σs quand le joueur doit faire son choix (unique). On posera τ pour représenter l’absence d’entrée ou de sortie.

Les automates peuvent reconnaître des mots infinis Avant de cloturer cette partie sur les automates à pile, je voudrais revenir sur des choses que j’ai apprises durant ce stage et que l’on n’utilisera pas dans ce rapport : les automates reconnaissant des mots infinis comme aω (un nombre infini de a). En effet, j’ai commencé mon stage par l’étude du cours de Wolfgang Thomas.

3.2 Jeu de parité et µ-calcul

Avant de rentrer au coeur de la preuve d’Igor Walukiewic nous présentant des résultats très intéressants sur les jeux de parité : passage d’un jeu de parité sur un arbre à pile (une infinité de sommet) à un jeu de parité sur un graphe fini, nous allons commencer par l’étude du µ-calcul permettant de résoudre les jeux de parité. J’ajouterai que ce résultat permet également de diminuer la complexité du problème de model checking sur le µ-calcul.

Jeu infini Un jeu de parité est un jeu infini. Ce type de jeu se joue avec deux joueurs sur un graphe contenant des sommets reliés par des transitions. À partir d’un sommet initial prédéfini, nous allons avancer dans le graphe et former un chemin. Et en l’absence de cul de sac, la partie peut durer et former un chemin infini d’où le nom de jeu infini.

Les sommets du graphe sont répartis entre les deux joueurs et c’est bien sûr au joueur possédant le sommet actuel que revient le plaisir de choisir le sommet suivant grâce à une transition. Nous verrons dans la partie sur la détermination des boréliens qu’une partie d’un jeu infini peut former un mot infini et non un chemin infini (jeu de Gale-Stewart).

Définition 3.4 (Jeu de parité) Jeu infini entre les joueurs 0 et 1.

G = ⟨V =V0∪V1, E ⊆V ×V, Ω∶V Ð→ {0, ..., n}⟩

(19)

Soit σ une partie dans ce jeu de parité.

Condition de victoire : Le joueur 0 gagne σ ssi le joueur 1 est bloqué ou ssi la plus petite priorité rencontrée une infinité de fois est paire. On en déduit facilement la condition de victoire pour le joueur 1.

Définition 3.5 (Le µ-calcul propositionnel) Cette logique est une extension de la lo- gique modale à laquelle nous avons ajouté l’opérateur du plus petit point fixe µet l’opérateur du plus grand fixe ν. Beaucoup de logiques temporelles comme CT L peuvent être encodées facilement avec le µ-calcul.

Modèle, variables, valuation, syntaxe ...

– P rop= {p1, p2, ...} est l’ensemble des constantes propositionnelles.

– V ar= {X, Y, ...} est l’ensemble des variables

– M = ⟨S, R⊆S×S, σ∶P rop→ P(S)⟩ est un modèle pour les formules duµ-calcul où unepi est vraie aux sommets de σ(pi).

– V al∶ V ar→ P(S) est la valuation pour les variables.

– Les formules du µ-calcul sont construites par la grammaire suivante : F ∶= { P rop ¬P rop V ar F ∧F F ∨F

◇F ◻F µV ar.F νV ar.F Sémantique du µ-calcul propositionnel :

– Soient M un modèle, V al une valuation et ϕune formule du µ-calcul.

– L’ensemble des sommets de S où ϕ est vraie, noté ∣∣ϕ∣∣MV al, se définit par induction de la manière suivante :

∣∣p∣∣MV al=ρ(p) ∣∣¬p∣∣MV al=S−ρ(p)

∣∣X∣∣MV al = V al(X)

∣∣α∨β∣∣MV al = ∣∣α∣∣MV al ∪ ∣∣β∣∣MV al

∣∣α∧β∣∣MV al = ∣∣α∣∣MV al ∩ ∣∣β∣∣MV al

∣∣ ◇α∣∣MV al = { s∈Q ∣ ∃s∈Q, R(s, s) ∧s∈ ∣∣α∣∣MV al }

∣∣ ◻α∣∣MV al = { s∈Q ∣ ∀s∈Q, R(s, s) ⇒s∈ ∣∣α∣∣MV al }

∣∣µX. α(X)∣∣MV al = Inf{ S⊆S ∣ ∣∣α(X)∣∣MV al[S/X]⊆S }

∣∣νX. α(X)∣∣MV al = Sup{ S⊆S ∣ S⊆ ∣∣α(X)∣∣MV al[S/X] } – V al[S/X] (X) = S

– V al[S/X] (Y) = V al(Y)pour Y ≠X

M, s, V al ⊧ ϕ ⇔ s ∈ ∣∣ϕ∣∣MV al

(20)

3.3 Points fixes du µ-calcul et théorème de Knaster - Tarksi

Avant le début de ce stage, je ne connaissais pas le µ-calcul. Pour me familiariser, j’ai donc essayé de traduire des conditions de victoire comme "Sommets depuis lesquels il existe un chemin infini". J’ai également refait les preuves du passage de la sémantique des points fixes à la définition intuitive que nous leur donnons.

Voir l’annexe en page 41.

Résolution des jeux de parité par le µ-calcul Nous allons dans un premier temps faire la transformation la plus simple. C’est-à-dire qu’à partir d’un modèle M(arbre à pile) et d’une formule ϕduµ-calcul, nous allons construire un jeu de parité Gsur un arbre à pile tel que :

M ⊧ϕ ⇐⇒ il existe une stratégie gagnante à partir de la racine pour 0 dans G Ensuite, nous allons utiliser les formules du µ-calcul pour déterminer la région gagnante W0 du joueur 0 (la région gagnante pour un joueur est l’ensemble des sommets à partir desquels le joueur a une stratégie gagnante).

W0 = ∣∣νZ0.µZ1...νZn. ϕ0(Z0, Z1, ..., Zn)∣∣

avec n un entier pair représentant la priorité maximale utilisée dans G et ϕ0 une fonction que nous définirons par la suite.

3.4 Réduction du problème de model checking

Pour bien comprendre cette transformation, nous allons travailler sur un exemple. Com- mençons donc par prendre un automate à pile et déplions le pour former un arbre à pile.

Exemple Soit A = ⟨Q,Σs, q0 ∈Q,– ∈Σs, δ⟩ l’automate à pile suivant :

q0,– q0, a q1, a

q0, b

push(a) push(a)

skip push(b) pop

(21)

Nous déplions cet automate en un arbre à pile TA∶ q0,– q0, a

q0, ab q1, aa q0, a q0, aa

q0, ab q1, aa q0, aab q1, aaa

Nous allons prendre comme formule du µ-calcul :

ϕ = νX.µY. ◇ (p0∧X) ∨ ◇Y avec σ(p0) = {(q0, ab)}

Dépendance entre points fixes Avant la construction du jeu de parité, nous allons devoir définir les priorités pour chaque point fixe présent dans la formule du µ-calcul. Je rappelle que nous allons associer aux µune priorité impair et aux ν une priorité pair. Mais les points fixes peuvent être emboités dans une formule, nous allons donc définir une dépendance entre ces points fixes pour pouvoir définir les priorités facilement.

Supposant que la formule ϕ est bien nommée, pour toute variable liée X, il existe un unique sous-terme de ϕ de la forme µX.β(X) ou νX.β(X). On définit ainsi la binding définition associée à ϕpar :

Dϕ(X) ∶= { µX.β(X) pour toute µ-variableX νX.β(X) pour toute ν-variable X

Définition 3.6 (Ordre de dépendance entre les variables liées) Prenons ϕ une for- mule du µ-calcul. Nous pouvons ainsi construire une relation d’ordre ≤ϕ sur les variables liées tel que :

Si X apparaît dans Dϕ(Y) alors X≤ϕY

Et avec cette relation d’ordre, nous construisons sa linéarisation X0, X1, ..., Xn tel que : – ∀0≤i, j≤n si XiϕXj alors i≤j

– ∀0≤i≤n si X est uneµ-variable alors i est impair – ∀0≤i≤n si X est uneν-variable alors i est pair

Il est possible d’ajouter de nouvelles variables pour construire cette linéarisation.

(22)

Construction du jeu de parité associé Le graphe de ce jeu de parité est un arbre à pile construit à partir de l’automate suivant (F L(ϕ)représente l’ensemble des sous-formules deϕ, ϕcompris) :

C = ⟨Q×F L(ϕ),Σs,(q0, ϕ),–, δC

Transitions de δC pour le modèle TA : ∀z∈Σs, q∈Q et α∈F L(ϕ), ((q, α), skip) ∈ δC((q,◇α), z) si δ(q, z) = (q, skip)

((q, α), pop) ∈ δC((q,◇α), z) si δ(q, z) = (q, pop) ((q, α), push(z)) ∈ δC((q,◇α), z) si δ(q, z) = (q, push(z))

δC((q,◻α), z) = δC((q,◇α), z)

Transitions de δC pour la formule ϕ : ∀z∈Σs, q∈Q et α, β∈F L(ϕ) δC((q, α∨β), z) = { ((q, α), skip),((q, α), skip) } δC((q, α∧β), z) = { ((q, α), skip),((q, α), skip) } δC((q, µX. α(X)), z) = { ((q, X), skip) }

δC((q, νX. α(X)), z) = { ((q, X), skip) } δC((q, X), z) = { ((q, γ(X)), skip) } si Dϕ(X) =µX.γ(X) ouνX.γ(X)

Joueurs et fonction de priorité :

– Joueur 0: si l’état du sommet est (q, α∨β), (q, µX.α(X)), (q, νX.α(X)), (q, X) ou (q,◇α).

– Joueur 1: si l’état du sommet est (q, α∧β) et(q,◻α). – Fonction de priorité Ω :

– Ω((q, Xi)) =i

– Ω((q, α)) =n+1sinon

Sommets gagnants : Notre formule du µ-calcul peut posséder des constantes propo- sitionnelles (p1, p2, ...). Ainsi ∀q∈Q, ∀s∈Σ+s, ∀p∈P rop

v = ((q, p), s) ∈V est gagnant ⇔ v ∈σ(p)

Condition de victoire : Si la partie se termine dans un sommet gagnant, le joueur 0 gagne. Sinon on applique la condition de victoire des jeux de parité.

(23)

Revenons à notre exemple et essayons de construire ce jeu de parité :

ϕ = νX.µY. φ

avec φ= ◇(p0∧X) ∨ ◇Y et σ(p0) = {(q0,–ab)}

Exemple (Jeu de parité associé à notre exemple) (q0, ϕ),–

(q0, X),– (q0, µY φ),–

(q0, Y),– (q0, φ),–

(q0,◇(p0∧X)),– (q0,◇Y),–

(q0, p0∧X),–a

(q0, Y),–a (q0, φ),–a (q0, p0),–a

(q0, X),–a ⋮

⋮ (q0,◇Y),–a (q0,◇(p0∧X)),–a

(q1, p0∧X)),–aa

(q0, p0∧X)),–ab

(q1, Y),–aa (q1, φ),–aa

(q0, Y),–ab (q0, φ),–ab

⋮ ⋮

(q0, X),–ab (q0, µY φ),–ab

(q0, Y),–ab (q0, φ),–ab

(q0, p0)),–ab

(q0,◇(p0∧X)),–ab (q0,◇Y),–ab

⋮ ⋮

Légende :

– Les sommets arrondis sont contrôlés par le joueur 1.

– Les sommets entourés de bleu sont gagnants (de rouge, perdants).

– Les textes bleu sont de priorité 0 et les textes rouge de priorité 1.

– Les flèches bleu représentent la stratégie gagnante pour le joueur 0.

(24)

3.5 Construction de la région gagnante

Dans un jeu de parité, on définit la région gagnante Wi du joueur i comme l’ensemble des sommets à partir desquels le joueur a une stratégie gagnante. L’objectif de cette partie est de construire une formule du µ-calcul tel que cette formule soit vraiment unique dans la région gagnante.

Toujours pour me familiariser avec le µ-calcul et les jeux de parités, nous allons commen- cer par un jeu de parité à une priorité puis deux priorités.

Après avoir bien compris les deux cas à 1 et 2 priorités (Voir l’annexe en page ??), nous allons parler ici de la généralisation à n+1priorités.

Jeu de parité - modèle : Voici le jeu de parité sur lequel nous allons travailler : G = ⟨V, V0, V1, E, Ω∶V → {0, ..., n}⟩

Les formules du µ-calcul auront pour modèle le système de transition suivant : G = ⟨V, E, {j0, j1, p0, p1, ..., pn}⟩

avec ∣∣j0∣∣G=V0 , ∣∣j1∣∣G=V1 et ∀0≤i≤n, ∣∣pi∣∣G= {v ∈V∣ Ω(v) =i} Théorème de Knaster-Tarski : ∀α(X)formule du µ-calcul.

∣∣µX. α(X)∣∣ = ⋃

n0

∣∣αn(–)∣∣

Dans le cas d’une partie infinie, le joueur0perd si la plus petite priorité visitée une infinité de fois est impair. À la visite d’un sommet de priorité impair, nous allons faire décroitre cet entier n. Ainsi on ne pourra pas visiter une infinité de fois ce genre de sommet (sinon nous aurons l’existence d’une suite infinie strictement décroissante, ce qui est absurde).

Généralisation à (n+1) priorités Nous allons supposer que n est pair.

ϕ0(Z0, ..., Zn) = (j0 ⇒ ⋀

i=0,...,n

(pi⇒ ◇Ni)) ∧ (j1 ⇒ ⋀

i=0,...,n

(pi⇒ ◻Ni)) Si i est pair :

Ni = ⋀

ji, j pair

Zj Si i est impair :

Ni = ⋁

ji, j impair

Zj Région gagnante pour le joueur 0:

W0 = ∥νZ0.µZ1...νZn. ϕ0(Z0, ..., Zn)∥G

(25)

Chapitre 4

Stratégie à pile pour un jeu de parité sur un graphe à pile

Après avoir vu dans la partie précédente, comment construire la région gagnante d’un joueur à partir d’une formule du µ-calcul, nous allons utiliser les limites de suites pour chaque plus petit point fixe µ. Ainsi à chaque sommet du graphe de G, nous allons associé un vecteur d’ordinaux (τ0, ..., τn), appelé Signature canonique, défini comme le plus petit vecteur vérifiant une certaine propriété.

Avec cette signature canonique, la stratégie canonique pour un joueur consistera à prendre le sommet suivant ayant la plus petite signature canonique (en cas d’égalité, on fait un choix sans importance).

Enfin dans les parties 2 et 3, nous allons entrer dans le premier grand résultat de la preuve d’Igor Walukiewicz : l’existence d’une stratégie à pile (à partir d’une stratégie gagnante) pour résoudre un jeu de parité sur un arbre à pile.

Théorème 4.1 (Existence d’une stratégie à pile) Dans un jeu de parité à pile GA, s’il existe une stratégie gagnante pour le joueur 0 alors il existe une stratégie gagnante à pile pour celui-ci.

4.1 Existence d’une stratégie canonique

L’idée principale de cette stratégie canonique est de considérer les plus petits points fixes µcomme des limites de suites. Commençons par voir la définition par induction de ce point fixe µ.

Définition 4.1 (µτZ.α(Z) : construction par induction) ∀ ordinal τ et ∀ formule α.

∥µ0Z.α(X)∥MV al= ∅ ∥µτ+1Z.α(X)∥MV al= ∥α(X)∥MV al[µτZ.α(X)/X]

∥µτZ.α(X)∥MV al = ⋃ρ<τ ∥µρZ.α(Z)∥MV al (τ une limite ordinale)

(26)

Par le théorème de Knaster - Tarski, ∥µZ.α(Z)∥MV al= ⋃τ∥µτZ.α(Z)∥MV al. Nous allons utiliser l’ordre lexicographique sur les vecteurs d’ordinaux (τ0, ..., τn).

Définition 4.2 (Signature canonique) La signature canonique, Sig(v), d’un sommet v∈ V est la plus petit séquence d’ordinaux τ⃗= (τ0, ..., τn) tel que :

v ∈ ∥ϕ0(P0τ, ..., Pnτ)∥

où les formules P0τ, ..., Pnτ sont définies par induction :

− Piτ = µτiZi. νZi+1...νZn. ϕ0(P0τ, ..., Piτ1, Zi, ..., Zn) si i est impair

− Piτ = νZi. µZi+1...νZn. ϕ0(P0τ, ..., Piτ1, Zi, ..., Zn) si i est pair Quand i est pair, la coordonnéeτi n’est pas utilisée, la définition implique donc queτi=0.

Une signature qui décroit durant la partie Dans le cas d’une parité impair, nous aurons une décroissance stricte et une non stricte pour une parité pair.

Définition 4.3 (Relation d’ordre sur les vecteurs) Une signature est un vecteur de (n+1) ordinaux. Nous utiliserons =, < et ≤ pour l’ordre lexicographique. Et ∀i= {0, ..., n}, on utili- sera =i, <i et ≤i si on ne s’intéresse qu’aux (i+1) cordonnées des vecteurs.

Définition 4.4 (Une signature régulière) Une signature S est dit régulière sur un en- semble U ⊆V si : ∀u∈U

(i) soit u∈V0 et il existe un successeur w∈U tel que :

S(w) ≤(u) S(u) et l’inégalité est stricte si Ω(y) est impair. (4.1) (ii) soit u∈V1 et tous les successeurs w vérifient w∈U et la condition (3.1).

4.2 Utilisation des sous-jeux G ( ⃗ A, z, θ, q )

Nous avons un automate à pile A. Pour simplifier le jeu sur l’arbre à pile, nous allons supposer que les transitions des états de Q0 ne vont que vers les états de Q1 et vice-versa.

Ainsi sur l’arbre à pile, nous aurons un jeu de parité, où les deux personnes joueront chacun leur tour.

Pour construire une stratégie à pile, nous allons utiliser des sous-jeux G( ⃗A, z, θ, q) où nous allons oublier le reste du contenu de la pile du jeu en ne gardant que le haut de pile.

Définition 4.5 (Sous-jeu G( ⃗A, z, θ, q)) ∀ ⃗A∈ P(Q)n+1, z∈Σs, θ∈ {0, ..., n}, q∈Q Nous définissons le sous-jeu G( ⃗A, z, θ, q) de la manière suivante.

(27)

– Graphe de jeu : Le graphe est l’arbre des configurations de A où nous commençons par la configuration (q,–z). On remarquera que durant le déroulement d’une partie, le graphe de G( ⃗A, z, θ, q) sera une partie du graphe de GA dans lequel les configurations (q,–ss)ont été remplacées par(q,–s)(∀q∈Q, s∈Σs) tel que(q,–sz)soit remplacé par (q,–z).

– Configurations gagnantes : À partir d’un moment, certaines configurations seront de la forme (q,–)pour un certain q∈Q. On dira que (q,–) est gagnant si :

q ∈ Amin(p,θ)

où p est la plus petite priorité rencontrée dans la dérivation de (q,–z) à (q,–) (sans compter la priorité de q).

Si l’appartenance n’est pas vérifiée, on dira que la configuration est perdante.

– Condition de victoire : Le joueur 0 gagne la partie si elle atteint une configuration gagnante. Dans le cas d’une partie infinie, la condition de victoire reste celle des jeux de parité.

Sous-jeu initial Une partie va commencer dans le sous-jeu G((∅, ...,∅),–, n, q0) et nous avons l’égalité suivante :

G((∅, ...,∅),–, n, q0) = GA

Nous ne pouvons pas dépiler –, donc il n’y aura pas de configuration gagnante/perdante.

Contenue des deux piles On se rappelle que dans cette construction, nous avons deux piles à considérer : celle du jeu de partié (automateA) et celle de la stratégie à pile(B)que nous essayons de construire.

z5 z4 z3 z2 z1

–

État q5 dans A

A⃗5 z5 θ5 A⃗4 z4 θ4 A⃗3 z3 θ3 A⃗2 z2 θ2 A⃗1 z1 θ1

–

État q5 dans B Quand nous avons A, z, θ⃗ en haut des piles :

– A⃗est un vecteur de (n+1) coordonnées.Ap est l’ensemble des états que nous pouvons atteindre après avoir dépilerz de la pile et tel quepsoit la plus petite priorité rencon- trée durant la dérivation (sans compter la dernière).

(28)

Une fois que nous avons empiléA, z, θ⃗ dans la pile deB,A⃗ne sera pas modifié. Il faudra faire une mise à jour, grâce aux signatures canoniques, après chaque push(z).

– z représente le symbole de Σs que nous avons empilé dans A.

– θ représente la plus petite priorité visitée tant que A, z, θ⃗ est dans la pile. θ est initia- lisé à n puisqu’après un push(z) rien n’a encore été visité (la dernière configuration ne compte pas). Cette remarque n’est valable que quand A, z, θ⃗ est en haut de la pile.

L’objectif de la stratégie sera de bien mettre à jour cette valeur car elle risque de chan- ger assez souvent.

Choix du joueur 0 en fonction de la signature On suppose que le joueur 0 a une stratégie gagnante dans le sous-jeuG( ⃗A, z, θ, q). On définitSig( ⃗A, z, θ, q)comme la signature canonique de la racine (q,–z) associée à cette stratégie gagnante.

Définition 4.6 (Signature, Hint) Nous devons faire les choix du joueur 0, donc q ∈Q0. Soit v le fils de la racine (q,–z) ayant la plus petite signature (en cas d’égalité, on fait un choix arbitraire).

– Si l’étiquette de v est (q,–), Hint( ⃗A, z, θ, q) = (q, pop) – Si l’étiquette de v est (q,–z), Hint( ⃗A, z, θ, q) = (q, skip) – Si l’étiquette de v est (q,–zz), Hint( ⃗A, z, θ, q) = (q, push(z))

Mise à jour du vecteur A⃗ Dans cette mise à jour, nous allons utiliser des inégalités sur les signatures de la forme Sig( ⃗A, z, θ, q). Et nous avons vu que cette signature était définie s’il existait une stratégie gagnante dans le jeu G( ⃗A, z, θ, q). Par la suite, nous allons devoir construire étape par étape ces stratégies gagnantes pour pouvoir utiliser ces termes Sig( ⃗A, z, θ, q).

Définition 4.7 (Fonction Update) On définit U p( ⃗A, z, θ, q) comme la séquence d’en- semble B⃗= {Bp}p=0,...,n, où chaque Bp est l’ensemble des états q tel que :

Sig( ⃗A, z, min(Ω(q), p, θ), q) ≤min(Ω(q),p) Sig( ⃗A, z, θ, q) dans le cas où min(Ω(q), p) est pair et

Sig( ⃗A, z, min(Ω(q), p, θ), q) <min((q),p) Sig( ⃗A, z, θ, q) sinon.

(29)

4.3 Construction de cette stratégie à pile

Les différents objets étant maintenant définis, nous allons pouvoir construire notre stra- tégie à pile :

B = ⟨QBios,B, q0,(⃗∅–n), δB ∶QB×Σs,B×(Σi×{τ}) Ð→ QB×Com(Σs,B)×(Σo×{τ})⟩

à partir du jeu de parité sur le graphe :

A = ⟨Q,Σs, q0 ∈Q,– ∈Σs, δ∶Q×ΣsÐ→ P(Q×Com(Σs))⟩

– QB = Q

– Σio= Q×Com(Σs)

– Σs,B = P(Q)n+1×Σs× {0, ..., n}

Nouvelle commande pour la pile : Pour la pile de la stratégie B, nous allons utiliser la commande :

repmin(θ)

– Si le haut de pile est à Azθ, alors on le remplace par⃗ Azθ⃗ 1 oùθ1 =min(θ, θ).

– Maintenant supposons que δB(q,Azθ, a⃗ ) = (q, pop;repmin(θ)) , nous passons de la configuration (q, s A⃗1z1θ1 Azθ⃗ ) à la configuration (q, s A⃗1z1min(θ1, θ)). Transitions de la fonction δB :

– Si q∈Q0 alors :

– si Hint( ⃗A, z, θ, q) = (q, skip)

δB(q,Azθ, τ⃗ ) = (q, repmin(Ω(q)), ”(q, skip)”) – si Hint( ⃗A, z, θ, q) = (q, pop)

δB(q,Azθ, τ⃗ ) = (q, pop;repmin(min(θ,Ω(q))), ”(q, pop)”) – si Hint( ⃗A, z, θ, q) = (q, push(z))avec A⃗=U p( ⃗A, z, θ, q)

δB(q,Azθ, τ⃗ ) = (q, repmin(Ω(q));push( ⃗Azn), ”(q, push(z))”)

(30)

– Si q∈Q1 alors : – si (q, skip) ∈δA(q, z)

δB(q,Azθ,⃗ ”(q, skip)”) = (q, repmin(Ω(q)), τ) – si (q, pop) ∈δA(q, z)

δB(q,Azθ,⃗ ”(q, pop)”) = (q, pop;repmin(min(θ,Ω(q))), τ) – si (q, push(z)) ∈δA(q, z)avec A⃗=U p( ⃗A, z, θ, q)

δB(q,Azθ,⃗ ”(q, push(z))”) = (q, repmin(Ω(q));push( ⃗Azn), τ) Démonstration Nous venons de définir une stratégie B pour le joueur 0. En utilisant la signature canonique dans les sous-jeux, nous allons vérifier que cette stratégie est bien gagnante.

– Pas de récurrence : Si le joueur 0 gagne G( ⃗A, z, θ, q) et (q, sAzθ⃗ ) → (q, sA⃗zθ) alors :

Sig( ⃗A, z, θ, q) ≤(q) Sig( ⃗Az, θ, q) avec < si Ω(q) impair

– Généralisation : Si la configuration (q, sAzθ⃗ ) est atteinte dans B à partir de la confi- guration initiale (q0,⃗∅–n) alors :

Sig( ⃗A, z, θ, q) est définie

– Boucle : Supposons que le joueur 0 gagne GA. Soit (q, sAzθ⃗ ) une configuration de B atteint à partir de l’initiale.

Si nous avons une boucle avec une séquence d’actionw, (q, sAzθ⃗ ) Ð→w (q, sAzθ⃗ ) oùsAz⃗ reste dans la pile pendant la boucle et oùp la plus petite priorité visitée.

1. θ= min(p, θ)

2. Sig( ⃗A, z, θ, q) ≤p Sig( ⃗A, z, θ, q) avec <p si p est impair.

– Gagnant ? :

B est bien une stratégie gagnante à pile Pour plus de précisions dans les preuves, voir l’annexe page ??.

(31)

Chapitre 5

Jeu de parité : Réduction de la complexité du graphe

Rappelons que nous avons un jeu de parité sur un arbre à pile avec une partition Q= Q0∪Q1 et une fonction de priorité Ω∶QÐ→ {0, ..., n}.

A = ⟨ Q,Σs, q0 ∈Q,– ∈Σs, δ∶Q×ΣsÐ→ P(Q×Com(Σs)) ⟩

Dans ce chapitre, nous voulons savoir à partir de A,Q0, Q1 etΩs’il existe une stratégie gagnante pour le joueur 0 dansGA. Pour cela, nous allons faire une réduction de ce problème vers l’existence d’une stratégie gagnante dans un jeu de parité à un graphe fini.

5.1 Découpage d’un sous-jeu G ( ⃗ A, z, θ, q )

Dans le chapitre précédent, nous avons présenté des méthodes pour résoudre les sous- jeuxG( ⃗A, z, θ, q). Donc avant de construire le graphe fini, essayons de présenter les différentes intuitions pour résoudre notre jeu :

GA = G( (∅, ...,∅),–, n, q0 ) Résolution d’un sous-jeu G( ⃗A, z, θ, q) avecq∈Q0

1. Si nous avons une transition (q, pop) ∈δ(q, z) avec q∈Amin(θ,Ω(q)) Le joueur 0 prend cette transition (q, pop) et il gagne puisque q∈Amin(θ,Ω(q)) 2. Si notre meilleure transition est (q, skip) ∈δ(q, z)

On prend cette transition (q, skip) et on se réduit au problème du sous-jeu G( ⃗A, z, min(θ,Ω(q)), q). On verra qu’il y a une décroissance de la signature.

(32)

3. Si notre meilleur transition est (q, push(z)) ∈δ(q, z)

Le cas du "push" est plus compliqué car il va falloir gérer plusieurs sous-jeux à la fois.

q,–z

q,–zz

1) On ne dépilera pas la lettre z

2) On dépilera la lettrez en arrivant à (q′′,–z)

Le premier cas est simple puisqu’il suffit d’oublier la lettre z’. Le second cas est plus compliqué car nous ne pouvons pas garder en mémoire le contenu de pilez pour notre graphe fini.

Pour résoudre le second cas, nous allons devoir faire l’hypothèse du vecteur B⃗ pour le sous-jeu G( ⃗B, z, n, q) et lancer plusieurs sous-jeux en parallèle.

Rappelons que B⃗ = B0, ..., Bn avec Bp l’ensemble des états q′′ tel que (q′′,–z) est atteinte à partir (q,–z) (où p est la plus petite priorité visitée entre les deux configurations).

– Que se passe-t-il pendant la boucle (q,–z) Ð→ (q′′,–z)? Résolution de : G( ⃗B, z, n, q) – Que se passe-t-il après la boucle ?

Résolution de : G( ⃗A, z, min(θ, p), q′′) (∀p≤Ω(q), q′′∈Bp)

Nous venons ainsi de réduire le problème de résoudre le sous-jeu G( ⃗A, z, θ, q) par la résolution de tous ces nouveaux jeux.

C’est ainsi que si nous souhaitons faire perdre notre adversaire, il faut choisir le bon sous-jeu où notre adversaire perd. Et vu que nous faisons le choix de ce sous-jeu, nous avons de nouveau un seul sous-jeu à résoudre et toujours sans utiliser de mémoire (pour retenir le passé).

(33)

5.2 Construction du graphe fini

Définition 5.1 (Game MA) À partir du jeu de partié GA, nous allons construire notre jeu fini MA= ⟨ SM,→,ΩM ⟩ .

Sommets utilisés Les sommets SM que nous allons utiliser sont les suivants :

∀ ⃗A,B⃗∈Qn+1, z, z∈Σs, q, q∈Q et θ, p∈ {0, ..., n}, Check( ⃗A, z, θ, p, q) P ush( ⃗A, z, θ, q)

M ove(( ⃗A, z, θ, q),(?, z, q)) M ove(( ⃗A, z, θ, q),( ⃗B, z, q))

P op(q) Err(q)

où ? est un symbole spécial.

Intuition pour le sommet Check( ⃗A, z, θ, p, q) Ce sommet va représenter une boucle où la plus petite priorité visitée est p. Or il peut tout à fait y avoir plusieurs boucles à la suite.

Donc la valeur θ représente la plus petite priorité visitée sans dépiler Az.⃗ Sommets du joueur 0 ∀q∈Q0, et ∀ ⃗A, z, z, θ, p, q, q′′ :

Check( ⃗A, z, θ, p, q) P ush( ⃗A, z, θ, q) M ove(( ⃗A, z, θ, q′′),(?, z, q)) Sommets du joueur 1 ∀q∈Q1, et ∀ ⃗A, B, z, z⃗ , θ, p, q, q′′ :

Check( ⃗A, z, θ, p, q) P ush( ⃗A, z, θ, q) M ove(( ⃗A, z, θ, q′′),( ⃗B, z, q))

Sommets Pop(q) et Err(q) ∀q∈Q, les sommets P op(q) et Err(q) sont des culs de sac. P op(q) est gagnant pour le joueur 0 et Err(q) pour le joueur 1.

Fonction de priorité La fonction ΩM est définie de la manière suivante : ΩM(Check( ⃗A, z, θ, p, q)) =p ΩM(P ush( ⃗A, z, θ, q)) =Ω(q)

M(m) =n+1 sinon

Références

Documents relatifs

L’idée que l’ADN est même le seul support de l’information génétique commence à être répandue vers 1950.. En 1950, Erwin Chargaff de l’Université de Columbia mesure

Les bases portent l’information la plus importante, qui doit être accessible au reste de la cellule, c’est un autre argument pour disposer les bases vers

Pour utiliser une formule, on doit tout simplement remplacer chaque lettre par un nombre.. Et respecter quelques règles

Nous allons alors grâce à cela, inscrire un pentagone régulier dans un cercle, dont le rayon sera pris comme unité.. Elle coupe le cercle en deux points E

Le système d'un côté et l'environnement de l'autre peuvent être représentés par deux joueurs S et E qui jouent respectivement sur les sommets bleus et jaunes du graphe...

Le système d'un côté et l'environnement de l'autre peuvent être représentés par deux joueurs S et E qui jouent respectivement sur les sommets bleus et jaunes du graphe...

Le système d'un côté et l'environnement de l'autre peuvent être représentés par deux joueurs S et E qui jouent respectivement sur les sommets verts et jaunes du graphe.

 Allez dans le menu Analyse, Comparer les moyennes, puis Test T pour échantillons indépendants..  Ensuite, vous insérez la ou les variables continues dans la boite Variable(s)