Jeu de Hex ATTENTION!

Documents pareils
Le chiffre est le signe, le nombre est la valeur.

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Baccalauréat technologique

C est à vous qu il appartient de mettre en place des conditions optimales pour permettre la meilleure réalisation possible.

Par combien de zéros se termine N!?

EBS 204 E C B S. Publication : Novembre 96

1. Création d'un état Création d'un état Instantané Colonnes Création d'un état Instantané Tableau... 4

Algorithmique avec Algobox

Algorithmes de recherche

Examen Médian - 1 heure 30

TP3 : Creation de tables 1 seance

Espaces probabilisés

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

Introduction a l'algorithmique des objets partages. Robert Cori. Antoine Petit. Lifac, ENS Cachan, Cachan Cedex. Resume

Guide du tuteur en entreprise

Partie 7 : Gestion de la mémoire

REGLEMENT DU MARATHON TOURAINE LOIRE VALLEY 2015

MODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN

Propagation sur réseau statique et dynamique

du 23 février Le Département de l'economie,

2 Grad Info Soir Langage C++ Juin Projet BANQUE

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

BACCALAURÉAT PROFESSIONNEL ÉPREUVE DE MATHEMATIQUES. EXEMPLE DE SUJET n 2

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne

La simulation probabiliste avec Excel

TEXT MINING von 7

FÉDÉRATION INTERNATIONALE DE PÉTANQUE ET JEU PROVENÇAL REGLEMENT DU CHAMPIONNAT DU MONDE DE TIR INDIVIDUEL

BACCALAURÉAT PROFESSIONNEL M R I M : MICRO INFORMATIQUE ET RESEAUX : INSTALLATION ET MAINTENANCE

OPTIMISATION À UNE VARIABLE

Mise en place d'un Réseau Privé Virtuel

LimeSurvey Editeur de Questionnaire

Application 1- VBA : Test de comportements d'investissements

C f tracée ci- contre est la représentation graphique d une

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

LE PROBLEME DU PLUS COURT CHEMIN

EXTRAIT du règlement. Challenge Cyclisme CREDIT AGRICOLE CAHIER DES CHARGES

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Algorithmes d'apprentissage

Création d'un questionnaire (sondage)

UNITÉS ET MESURES UNITÉS DE MESURE DES LONGUEURS. Dossier n 1 Juin 2005

Programmation Objet - Cours II

Recherche dans un tableau

LA COMMISSION DE L'UNION ECONOMIQUE ET MONETAIRE OUEST AFRICAINE (UEMOA)

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Ebauche Rapport finale

KeePass - Mise en œuvre et utilisation

- un jeu de K cartes représentées par des nombres C 1, C 2 à C K avec K entier strictement

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

Les dates des épreuves orales sont laissées à l appréciation de mesdames et messieurs les Recteurs

1. Utilisation du logiciel Keepass

Pourquoi l apprentissage?

POKER ET PROBABILITÉ

POUR ALLER UN PEU PLUS LOIN SUR UN TABLEUR. Version EXCEL

CHAMPIONNAT SUISSE ELITE GENEVE 2009

Construire un portail de ressources numériques avec Netvibes

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

1 TD 2 : Construction d'une chier Acrobat et envoi par

Diplôme d études EN langue française DELF B1. Option professionnelle. Document du candidat Épreuves collectives

Chaînes de Markov au lycée

Les différents types de données et leurs opérations de base

Date : Tangram en carré page

CODE CIVIL FRANÇAIS (ANTERIEUR A 1960)

Rank Xerox (UK) Business Services

CORRECTION EXERCICES ALGORITHME 1

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

Initiation à la programmation en Python

ÉPREUVE COMMUNE DE TIPE Partie D

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

A V I S N Séance du mercredi 1er avril

DEVOIR MAISON : THEME : LES CLES DE CONTROLE. I. La clé des codes barres

A. Définition et formalisme

Reaper : utilisations avancées

Triangle de Pascal dans Z/pZ avec p premier

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

Programme de la formation. Écrit : 72hdepréparation aux épreuves d admissibilité au CRPE

GUIDE DU CANDIDAT INDIVIDUEL

GUIDE DU CANDIDAT INDIVIDUEL (CNED salariés ex-apprentis ex-scolaires ex-formation continue)

Utiliser Access ou Excel pour gérer vos données

Concours 2008 / 2009 externe et interne réservé d ingénieurs des services culturels et du patrimoine, spécialité «services culturels»

2.1 Le point mémoire statique Le point mémoire statique est fondé sur le bistable, dessiné de manière différente en Figure 1.

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

CODE PROFESSIONNEL. déontologie

D'UN THÉORÈME NOUVEAU

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4.

Quelques tests de primalité

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

POLICE D ASSURANCE AUTOMOBILE DU QUÉBEC F.P.Q. N O 7 FORMULE D ASSURANCE EXCÉDENTAIRE DE LA RESPONSABILITÉ CIVILE


Chapitre 1 : Introduction aux bases de données

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

Cours Informatique Master STEP

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Elfenland Règles du jeu

A.-M. Cubat PMB - Import de notices à partir d un tableur Page 1 Source :

1 Recherche en table par balayage

TESTS D'HYPOTHESES Etude d'un exemple

Transcription:

Jeu de Hex Épreuve pratique d'algorithmique et de programmation Concours commun des Écoles normales supérieures Durée de l'épreuve: 3 heures 30 minutes Juin/Juillet 2013 ATTENTION! N oubliez en aucun cas de recopier votre u 0 à l emplacement prévu sur votre fiche réponse Important. Sur votre table est indiqué un numéro u 0 qui servira d'entrée à vos programmes. Les réponses attendues sont généralement courtes et doivent être données sur la che réponse fournie à la n du sujet. À la n du sujet, vous trouverez en fait deux ches réponses. La première est un exemple des réponses attendues pour un ũ 0 particulier (précisé sur cette même che et que nous notons avec un tilde pour éviter toute confusion!). Cette che est destinée à vous aider à vérier le résultat de vos programmes en les testant avec ũ 0 au lieu de u 0. Vous indiquerez vos réponses (correspondant à votre u 0 ) sur la seconde et vous la remettrez à l'examinateur à la n de l'épreuve. En ce qui concerne la partie orale de l'examen, lorsque la description d'un algorithme est demandée, vous devez présenter son fonctionnement de façon schématique, courte et précise. Vous ne devez en aucun cas recopier le code de vos procédures! Quand on demande la complexité en temps ou en mémoire d'un algorithme en fonction d'un paramètre n, on demande l'ordre de grandeur en fonction du paramètre, par exemple: O(n 2 ), O(n log n),... Il est recommandé de commencer par lancer vos programmes sur de petites valeurs des paramètres et de tester vos programmes sur des petits exemples que vous aurez résolus préalablement à la main ou bien à l'aide de la che réponse type fournie en annexe. Enn, il est recommandé de lire l'intégralité du sujet avant de commencer an d'eectuer les bons choix de structures de données dès le début.

Figure 1 Un plateau de Hex. On dénit par récurrence u n = 15091u n 1 modulo 64007. u 0 vous est donné (sur votre table) et doit être recopié sur votre che réponse. Des réponses types vous sont données à titre d'exemple pour un u 0 particulier. On notera indiéremment u n = u(n). On considère une grille de Hex (Fig. 1). Deux joueurs jouent à tour de rôle. Au début du jeu la grille est vide. À chaque tour, un des joueurs remplit une des cases de la grille. Le joueur 1 commence. Le joueur 1 remplit une case en y inscrivant un X. Le joueur 2 remplit une case en y inscrivant un O. Il est interdit de jouer sur une case déjà remplie. Le joueur 1 gagne si à un moment ou à un autre les X connectent le Nord et le Sud sans que les O aient jamais connecté les côtés Est et Ouest ; sinon le joueur 2 gagne. Il est connu que cette dénition équivaut à la dénition symétrique basée sur le joueur 2. Il est connu qu'il ne peut pas y avoir d'égalité ; il arrive forcément à un moment ou à un autre que soit Nord et Sud sont connectés par des X, ou bien Est et Ouest sont connectés par des O. Le jeu peut se jouer en taille variable ; la taille est s, le nombre de cases sur un côté ; le nombre total de cases est s 2. On utilise pour index soit une paire (un numéro de ligne et un numéro de colonne), soit un nombre de 0 à s 2 1, comme indiqué en Fig. 1. Étant donné une case d'index n, tout entier n + k s 2, pour un entier k, sera aussi considéré comme un index de cette case. On appelle stratégie du joueur 1 une application qui à un plateau de jeu comportant autant de X que de O associe une case vide. On appelle stratégie du joueur 2 une application qui à un plateau de jeu comportant un X excédentaire par rapport aux O associe une case vide. Une stratégie du joueur 1 et une stratégie du joueur 2 dénissent naturellement une partie de Hex, nécessairement gagnée par l'un des joueurs. Il est connu que quel que soit le premier coup, il existe une stratégie gagnante pour l'un des joueurs. Dans la suite, lorsque l'on pose la question "quel joueur gagne" (dans les questions 7, 8 et 9), on sous-entend dans le cas où chaque joueur est capable de déterminer et suivre une stratégie optimale. 1 / 4

1 Analyse de plateaux Question 1 Plaçons-nous en taille s = 17. Supposons que le joueur 1 ait posé un X sur la case i si et seulement si u i+m est pair ; sinon, le joueur 2 a posé un O sur cette case. On n'a pas forcément un nombre de X et un nombre de O compatibles avec les règles, mais cela importe peu pour cette question. Combien y a-t-il de O sur le plateau si M = 1414? Combien y a-t-il de O sur le plateau si M = 1919? Combien y a-t-il de O sur le plateau si M = 4242? Question 2 On génère des plateaux de jeu comme dans la question précédente, mais cette fois-ci en taille s = 171. Y a-t-il une connection de X entre Nord et Sud si M = 1414? Combien de X sont reliés à Nord? Y a-t-il une connection de X entre Nord et Sud si M = 1919? Combien de X sont reliés à Nord? Y a-t-il une connection de X entre Nord et Sud si M = 4242? Combien de X sont reliés à Nord? Question à développer pendant l'oral : Quelle est la complexité de l'algorithme employé, en temps et en espace-mémoire? 2 Simulations de parties Question 3 On déroule des parties comme suit : le joueur 1 joue u M+2i avec i 0 minimal tel que la case de tel index soit vide ; le joueur 2 joue u M+2i+1 avec i 0 minimal tel que la case de tel index soit vide. Quel joueur gagne si s = 150 et M = 14000 ; à quel tour gagne-t-il? (on numérote le Quel joueur gagne si s = 150 et M = 17000 ; à quel tour gagne-t-il? (on numérote le Quel joueur gagne si s = 150 et M = 42000 ; à quel tour gagne-t-il? (on numérote le Question à développer pendant l'oral : Quelle est la complexité de l'algorithme utilisé? Considérer à la fois la complexité en temps et en espace-mémoire. Question 4 On déroule un match comme précédemment, mais avec M tiré au sort aléatoirement et uniformément entre u(i), u(1 + i), u(2 + i),..., u(15 + i). Quelle est la probabilité pour que le joueur 1 gagne si i = 0, si i = 16, si i = 32? Question 5 On déroule des parties comme suit : le joueur 1 joue la case d'index u M+i avec i 0 minimal tel que cette case soit vide ; le joueur 2 joue la case d'index u M+i avec i 0 minimal tel que cette case soit vide. Quel joueur gagne si s = 231 et M = 14000 ; à quel tour gagne-t-il? (on numérote le 2 / 4

Quel joueur gagne si s = 231 et M = 17000 ; à quel tour gagne-t-il? (on numérote le Quel joueur gagne si s = 231 et M = 42000 ; à quel tour gagne-t-il? (on numérote le Question 6 On génère des parties de la même manière qu'à la question 4. Combien de valeurs de M {14000, 14001,..., 14000 + s 2 1} mènent à la victoire du joueur 1 si s = 50? Combien de valeurs de M {17000, 17001,..., 17000 + s 2 1} mènent à la victoire du joueur 1 si s = 50? Combien de valeurs de M {42000, 42001,..., 42000 + s 2 1} mènent à la victoire du joueur 1 si s = 50? 3 Optimisation de stratégies Question 7 Supposons s = 3. Supposons que les joueurs soient capables de jeu parfait, c'est-à-dire que s'il existe une stratégie leur permettant de gagner pour l'un d'entre eux, alors il va gagner à coup sûr. On ajoute une règle forçant le joueur 1 à jouer u(4) au premier tour. Quel joueur gagne? Et s'il jouait u(4) au lieu de u(4)? Et s'il jouait u(4) + 1 au lieu de u(4)? Et s'il jouait u(4) + 2 au lieu de u(4)? On ajoute une règle forçant le joueur 1 à jouer u(5) au premier tour. Quel joueur gagne? Et s'il jouait u(5) au lieu de u(5)? Et s'il jouait u(5) + 1 au lieu de u(5)? Et s'il jouait u(5) + 2 au lieu de u(5)? On ajoute une règle forçant le joueur 1 à jouer u(3) au premier tour. Quel joueur gagne? Et s'il jouait u(3) au lieu de u(3)? Et s'il jouait u(3) + 1 au lieu de u(3)? Et s'il jouait u(3) + 2 au lieu de u(3)? Question 8 Supposons s = 4. Supposons que les joueurs soient capables de jeu parfait, c'est-à-dire que s'il existe une stratégie leur permettant de gagner pour l'un d'entre eux, alors il va gagner à coup sûr. On ajoute une règle forçant le joueur 1 à jouer u(4) au premier tour et le joueur 2 à répondre u(4) + 2i + 1. Quel joueur gagne si i = 0, i = 1, i = 2? On ajoute une règle forçant le joueur 1 à jouer u(5) au premier tour et le joueur 2 à répondre u(5) + 2i + 1. Quel joueur gagne si i = 0, i = 1, i = 2? On ajoute une règle forçant le joueur 1 à jouer u(3) au premier tour et le joueur 2 à répondre u(3) + 2i + 1. Quel joueur gagne si i = 0, i = 1, i = 2? Question à développer pendant l'oral : Quelle est la complexité en temps et espacemémoire de votre algorithme? Question 9 Supposons s = 4. Supposons que les joueurs soient capables de jeu parfait, c'est-à-dire que s'il existe une stratégie leur permettant de gagner pour l'un d'entre eux, alors il va gagner à coup sûr. On ajoute une règle forçant le joueur 1 à jouer u(4) au premier tour. Quel joueur gagne? Et s'il jouait u(4) au lieu de u(4)? 3 / 4

On ajoute une règle forçant le joueur 1 à jouer u(5) au premier tour. Quel joueur gagne? Et s'il jouait u(5) au lieu de u(5)? On ajoute une règle forçant le joueur 1 à jouer u(3) au premier tour. Quel joueur gagne? Et s'il jouait u(3) au lieu de u(3)? Question à développer pendant l'oral : Il est connu qu'en l'absence de contraintes sur le premier coup, le premier joueur gagne la partie s'il joue optimalement. Proposez une méthode pour déterminer un premier coup du joueur 1 qui rende la partie intéressante. Proposer des méthodes pour accélérer votre algorithme. Question à développer pendant l'oral : Pistes pour accélérer la méthode? 4 / 4

Fiche réponse type: Jeu de Hex ũ 0 : 17 Question 1 140 139 1, 52373 1, 52370 Question 6 131 1038 Question 2 non - 5004 oui - 5501 1154 1173 Question 7 oui - 7696 1,1,2,2 Question 3 2, 21807 2, 22477 2,2,2,1 2,2,1,1 Question 8 2, 22001 1,1,1 Question 4 0.4375 0.4375 1,1,1 1,1,1 Question 9 0.625 2,1 Question 5 1, 52802 1,2 I / II

1,2 II / II

Fiche réponse: Jeu de Hex Nom, prénom, u 0 :......................................... Question 1 Question 6 Question 2 Question 7 Question 3 Question 8 Question 4 Question 9 Question 5 I / II

II / II