Jeux sur des graphes finis

Documents pareils
Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Introduction à la théorie des graphes. Solutions des exercices

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Nouveau Barème W.B.F. de points de victoire 4 à 48 donnes

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Une introduction aux codes correcteurs quantiques

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Quelques tests de primalité

Cours de Master Recherche

Une nouvelle approche de détection de communautés dans les réseaux sociaux

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

données en connaissance et en actions?

Chapitre 5 : Flot maximal dans un graphe

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Université Paris-Dauphine DUMI2E 1ère année, Applications

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

COURS GESTION FINANCIERE A COURT TERME SEANCE 4 LE VOCABULAIRE BANCAIRE ET FINANCIER

Conversion d un entier. Méthode par soustraction

Optimisation for Cloud Computing and Big Data

Algorithmique et Programmation, IMA

Big Data et Graphes : Quelques pistes de recherche

Glossaire des nombres

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Chapitre 7. Récurrences

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Projet Matlab : un logiciel de cryptage

1.1 Codage de source et test d hypothèse

Année 2014/ er septembre Version de Anca Muscholl, issue du poly de Marc Zeitoun. 1/143

Créer et modifier un fichier d'import des coordonnées approximatives avec Excel

PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE

Programmation Par Contraintes

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Objets Combinatoires élementaires

14. Introduction aux files d attente

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Optimisation Discrète

Quelques Algorithmes simples

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Algorithmique et Programmation Fonctionnelle

Probabilités. C. Charignon. I Cours 3

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Model checking temporisé

Big Data et Graphes : Quelques pistes de recherche

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

Calculs financiers (1) : intérêts simples, composés.

Algorithmes d'apprentissage

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Qu est-ce qu une probabilité?

Décision Markovienne appliquée à un jeu de stop ou encore : Pickomino (Heckmeck Am Bratwurmeck)

Qu est-ce qu un ordinateur quantique et à quoi pourrait-il servir?

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Model checking temporisé Algorithmes efficaces et complexité

Plus courts chemins, programmation dynamique

Matrice d accès. Master SEMS, Pierre Paradinas. October 16, 2013

Chapitre 2. Eléments pour comprendre un énoncé

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Logiciel de Base. I. Représentation des nombres

Cryptographie et fonctions à sens unique

Fondements de l informatique Logique, modèles, et calculs

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Calculs de probabilités conditionelles

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Calculateur quantique: factorisation des entiers

MIS 102 Initiation à l Informatique

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

INF 4420: Sécurité Informatique Cryptographie II

Compression Compression par dictionnaires

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

CCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme?

Jean-Philippe Préaux

Simulation de variables aléatoires

Exercices sur les interfaces

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Table des matières. I Mise à niveau 11. Préface

Programmation C++ (débutant)/instructions for, while et do...while

Chapitre 1. Une porte doit être ouverte et fermée. 1.1 Les enjeux de l'informatique quantique

Travaux dirigés d introduction aux Probabilités

Poker. A rendre pour le 25 avril

Introduction à la Programmation par Contraintes (PPC) Ruslan Sadykov LIX, École Polytechnique

Eléments de Théorie des Graphes et Programmation Linéaire

VÉRIFICATION DES SYSTÈMES À PILE AU MOYEN DES ALGÈBRES DE KLEENE

POKER ET PROBABILITÉ

Transcription:

Jeux sur des graphes finis Arène de jeu A = (V 0, V 1, E) Deux joueurs J 0 et J 1. L ensemble des sommets est partitionné en deux ensembles disjoints V 0 (sommets appartenant à J 0 ) et V 1 (sommets appartenant à J 1 ). Ensemble d arêtes E V V, V = V 0 V 1. Parties Une partie dans A est soit un chemin infini π = v 0, v 1,... dans le graphe (V, E), ou un chemin fini π = v 0, v 1,..., v n dans (V, E) tel que v n n a pas de successeur dans (V, E). 1/10

Jeux Jeux et stratégies Un jeu est décrit par une paire (A, Win), où A est une arène et Win V ω est la condition de victoire. Exemples (où F V et F P(V )) : jeux d accessibilité : Win = V FV ω jeux d obligation : Win = F ω pour F F jeux de Büchi (répétition) : Win = (V F) ω jeux de Muller : Win = {π V ω Inf(π) F} jeux de parité... Stratégies Stratégie de J 0 : fonction f : V V 0 V t.q. f (πv) ve := {w V (v, w) E}, où π V, v V. Partie π = v 0, v 1,... conforme avec stratégie f de J 0 : v i+1 = f (v 0 v i ) pour tout i t.q. v i V 0. Stratégie positionnelle : f : V 0 V t.q. f (v) ve pour tout v V 0. 2/10

Example a c b f d e g F = {a, d} : J 0 gagne partout ; F = {e} : J 0 gagne partout sauf dans a 3/10

Attracteurs Jeux d accessibilité Attr 0 0(F) = F Attr n+1 0 (F) = Attr n 0 (F) {v V 0 w Attr n 0 (F), (v, w) E} {v V 1 w Attr n 0 (F), (v, w) E} Attr 0 0(F) Attr 1 0(F) Attr V 0 (F) Attr i 0(F) est l ensemble des nœuds à partir desquels J 0 peut forcer la partie d arriver à F en moins de i coups. Attr V 0 (F) est la région gagnante de J 0, et V \ Attr V 0 (F) est la région gagnante de J 1. Jeux d accessibilité Les jeux d accessibilité sont déterminés : à partir de chaque sommet, un des deux joueurs a une stratégie gagnante. Les stratégie gagnantes sont positionnelles (stratégies d attracteur). 4/10

Définition Jeux d obligation La condition de victoire d un jeu d obligation est un ensemble F P(V ) d ensembles d états. Le joueur J 0 gagne une partie π, si l ensemble Occ(π) d états rencontrés dans π appartient à F (i.e., combinaison booléenne de conditions d accessibilité). Réduction On réduit un jeu d obligation à un jeu plus simple (et plus grand) : jeu de parité faible. Dans un jeu de parité faible on colorie les sommets par des entiers : χ : V N. Le joueur J 0 gagne une partie π si max(χ(occ(π))) est pair. Réduction : arène A = (V 0, V 1, E ) avec V 0 = V 0 P(V ), V 1 = V 1 P(V ), E = {(v, R) (w, R {v}) (v, w) E}. Coloriage : χ(v, R) = 2 R si R F ; χ(v, R) = 2 R 1 si R / F. Les jeux de parité faible ont des stratégies gagnantes positionnelles. En conséquence, on peut obtenir des stratégies gagnantes à mémoire finie pour les jeux d obligation. 5/10

Jeux de parité faible Exemple : réduction 1 2 3 4 5 6 7 Pour la condition de victoire π Win ssi {2, 7} Occ(π) le joueur J 0 a besoin de mémoire (1 bit) dans l état 1 : il doit passer par 2 et 5 de façon alternée. Partie π : 1, 2, 3, 4,... dans jeu d obligation. Partie π : (1, ), (2, {1}), (3, {1, 2}), (4, {1, 2, 3}),... dans jeu de parité faible, avec χ(1, ) = 1, χ(2, {1}) = 1, χ(7, {1,..., 6}) = 12. 6/10

Jeux de parité faible Exemple a b c d e f g χ(a) = χ(e) = 0, χ(b) = χ(f ) = 1, χ(c) = χ(g) = 2, χ(d) = 3. d Win 1 et Attr 1 (d) = {d, c, b} Win 1 V = V \ {b, c, d} est piège pour J 1, donc définit sous-jeu pour J 0 Attr 0 (g) V = {g, f } Win 0 V = V \ {f, g} piège pour J 0, donc sous-jeu pour J 1 Win 1 V =, Win 0 V = {a, e} Conclusion : Win 0 = {a, e, f, g}, Win 1 = {b, c, d}. Les stratégies sont positionnelles (stratégies d attracteur). 7/10

Jeux de parité Vers les jeux de parité La condition de victoire est donnée par un coloriage des nœuds χ : V {1,..., k}. Une partie est gagnée par J 0 si max(χ(inf(π))) est pair. Rem. Chaque jeu (A, Win) avec condition de victoire Win régulière se réduit à un jeu de Muller (A, Win ). Prop. Pour chaque jeu de Muller (A, F) il existe un jeu de parité (A, χ) et une fonction s : V V t.q. pour chaque sommet v V : J 0 gagne (A, F) à partir de v ssi J 0 gagne (A, χ) à partir de s(v). Réduction LAR (last appearance record) : On définit A en rajoutant à A une mémoire M (plus une fonction de mise-à-jour f : V M M ), qui aide à déterminer l ensemble Inf(π). 8/10

LAR Soit : Réduction LAR V = V 0 V 1, V 0 = V 0 M, V 1 = V 1 M E = {((u, m), (v, f (v, m)) (u, v) E, m M } M consiste de mots X sur l alphabet V {#} tels que chaque symbole apparaît au plus une fois dans X, et # exactement une fois. Mise-à-jour f : V M M : x#yzv si M = xvy#z f (v, X) = xy#zv si M = x#yvz M v si v n apparaît pas dans M Exemple : au chemin π : 4 1 2 3 2 3 1... dans A correspond le chemin π : (4, #4) (1, #41) (2, #412) (3, #4123) (2, 41#32) (3, 41#23) (1, 4#231)... dans A. On met s(v) = #v et χ(v, x#y) = 2 y si y F et 2 y 1 sinon. 9/10

Algorithmes Jeux de parité Les jeux de parité ont des stratégies gagnantes positionnelles (pour les 2 joueurs), qu on peut calculer en temps exponentiel (plus exactement, en NP co-np). L algorithme dit strategy improvement (Jurdzinski/Vöge) est l algorithme le plus efficace en pratique (rq. : on ne connaît pas d exemple qui nécessite un temps de calcul exponentiel). Cas particulier : jeux de Büchi Les jeux de Büchi ont des stratégies gagnantes positionnelles qu on peut calculer en temps polynomial (stratégies d attracteur). On calcule Attr + 0 (F) : ensemble des états à partir desquels J 0 a une stratégie pour arriver à F en au moins 1 pas. On calcule ensuite V i : ensemble des états à partir desquels J 0 a une stratégie pour passer au moins i fois par F (sans compter l état initial). V 1 = Attr + 0 (F), V i+1 = Attr + 0 (V i F) Win 0 = i 1 V i 10/10