Rapport du Projet 12 Janvier Université Bordeaux1. Master 2 ISC Technologie de Vérification Année universitaire

Documents pareils
CONFIGURATION DU SERVEUR DE MAILS EXIM. par. G.Haberer, A.Peuch, P.Saade

Rappel sur les bases de données

Présentation du PL/SQL

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Solution logicielle pour le pilotage et l ERM. Journées d études IARD 26 mars mars 2010

PRXSENTATION D UN GESTIONNAIRE DE DONNEES NUMERIQUES HIERARCHISEES DESTINE AU DE- -POUILLEMENT D ENQUETES

Sauvegarde/Restauration

MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE UNIVERSITE ABDELHAMID IBN BADIS MOSTAGANEM TUNISIE MAROC ALGERIE

Le compte épargne temps

COMMUNAUTE ECONOMIQUE ET MONETAIRE DE L AFRIQUE CENTRALE LA COMMISSION

Cours Base de données relationnelles. M. Boughanem, IUP STRI

exigences des standards ISO 9001: 2008 OHSAS 18001:2007 et sa mise en place dans une entreprise de la catégorie des petites et moyennes entreprises.

Ill. Commentaire des articles p. S IV. Fiche financiere p.s v. Fiche d' impact p. 6

UNIVERSITE PARIS 1 PANTHEON SORBONNE

P R E - D O S S I E R V A E

Gestion d'une billeterie défilé des talents

Communication sur l engagement Global Compact_ IAE Nice - juillet Communication sur l engagement Global Compact IAE Nice_2015

Remarketing Dynamique - Comment le mettre en place et pourquoi est-ce indispensable pour un e-comme dinsdag 29 april :46

(ATTENTION : une seule réponse possible pour les questions à choix multiples)

ANNEE UNIVERSITAIRE 2014/2015

La Valorisation des Acquis de l Expérience (VAE) en Communauté française.

Dossier de candidature : "L'innovation technologique en Afrique du 21 ème siècle"

LE PROBLÈME DE RECHERCHE ET LA PROBLÉMATIQUE

UNIVERSITE DE TOULON UFR FACULTE DE DROIT REGLEMENT D EXAMEN ANNEE 2012/2017 LICENCE DROIT MENTION DROIT GENERAL

SNMP for cloud Jean Parpaillon. SNMP4cloud - 1

FAQ RENOUVELLEMENT QUESTIONS ESSENTIELLES AU RENOUVELLEMENT :

Ingénierie des Modèles. Méta-modélisation

Industrial Phd Progam

DOSSIER D INSCRIPTION PÉDAGOGIQUE

MASTER MARKETING VENTE, SPECIALITE MANAGEMENT ET DIRECTION DES EQUIPES COMMERCIALES

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

TP3 : Creation de tables 1 seance

Cours de Master Recherche

UNIVERSITÉ DE LORRAINE Master MIAGE (Méthodes Informatiques Appliquées à la Gestion des Entreprises)

SERVEUR DE SAUVEGARDE POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

Programmation parallèle et distribuée (Master 1 Info )

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Explications sur l évolution de la maquette. Version : 1.0 Nombre de pages : 9. Projet cplm-admin

Synchroniser ses photos

CHAPITRE VIII : Les circuits avec résistances ohmiques

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI

client. ECOUTE, SIMPLICITE, SERVICE... Pour ELCIA, l'accompagnement est la clé de la satisfaction ELCIA, le savoir-faire et l'écoute

Techniques d interaction dans la visualisation de l information Séminaire DIVA

FAQ Foire aux questions. Sur cette page, vous trouverez les réponses à toutes vos questions relatives aux études de la musique en Europe.

UNIVERSITE DE BORDEAUX Référence GALAXIE : 94

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Analyse de grandes bases de données en santé

pour préparer l'après bac

Master I Génie Logiciel

Grégoire de Lassence. Copyright 2006, SAS Institute Inc. All rights reserved.

Le nouveau régime de compte épargne temps

Master 2- Réalisation Documentaire de Création

Expériences des Universités européennes dans l enseignement de la Finance islamique. Zineb Bensaid, Senior Consultant ISFIN

Section des Formations et des diplômes

Nom du candidat :... (nom de famille suivi éventuellement du nom du conjoint)

DOSSIER DE CANDIDATURE MASTER Master 1 avec Option :

MICROSTAGE COM602 Département des lettres et communications. Automne 2015 (10 juin 2015)

UNIVERSITE LYON 3 (JEAN MOULIN) Référence GALAXIE : 4140

Mettre en place une infrastructure Web nouvelle génération avec Drupal et Acquia

1 La société GIR. 2 La solution proposée

LibreOffice Calc : introduction aux tableaux croisés dynamiques

Initiation aux bases de données (SGBD) Walter RUDAMETKIN


Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad

Guide de configuration d'une classe

Master Marchés Financiers

Cours Informatique Master STEP

Gestion de données avec TALEND

ÉPREUVES D'ADMISSION 2011 QUESTIONNAIRE SOCIO-CULTUREL RC-R/TV

Dossier de candidature 2014 Concours international

Matérialiser les données d une BdD : créer une carte de densité de points par maillage

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

FAQ Conditions de candidature... 2 Procédure de candidature et remise de prix... 2 Le dossier de candidature... 3

Introduction 1. Bibliographie 317 Remerciements 323 Index Pearson Education France Investisseurs de légende Glen Arnold

Programme conjoint de bourses universitaires Japon/Banque mondiale (JJ/WBGSP) MODALITÉS DE DÉPÔT DES CANDIDATURES AU TITRE DE L'ANNÉE 2015

Dossier d inscription Cycle MASTER Année universitaire Pour étudiants français et étrangers MASTER SCIENCES ET TECHNOLOGIES

2. Technique d analyse de la demande

Une offre pléthorique de formations de haut niveau

Catalogue des formations. Depuis 15 ans, nous soutenons votre évolution. Leadership et potentiel humain Amélioration des processus

Pour les entreprises de taille moyenne. Descriptif Produit Oracle Real Application Clusters (RAC)

Demande d inscription ANNEE UNIVERSITAIRE

MATHÉMATIQUES ET SCIENCES HUMAINES

Décret n du 19 août 2013

Le contrat de professionnalisation à l Université Paul Sabatier GUIDE DES STAGIAIRES DE LA FORMATION CONTINUE MISSION FORMATION «POLE ALTERNANCE»

Gestion mémoire et Représentation intermédiaire

Township of Russell: Recreation Master Plan Canton de Russell: Plan directeur de loisirs

EBS 204 E C B S. Publication : Novembre 96

MASTER. Gestion de patrimoine. Domaine : Droit, Economie, Gestion. Mention : Comptabilité-finance. Organisation : Ecole Universitaire de Management

Les diagrammes de modélisation

La gestion des données de référence ou comment exploiter toutes vos informations

Compte rendu d activité

DOSSIER DE CANDIDATURE

SUPPLEMENT AU DIPLOME

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

Objectif. Participant. Prérequis. Oracle BI Suite EE 10g R3 - Développer des référentiels. 5 Jours [35 Heures]

La pratique - ITIL et les autres référentiels. Fonctions ITIL et informatique en nuage

Transcription:

Université Bordeaux1 Master 2 ISC Technologie de Vérification Année universitaire 2006-2007 Rapport du Projet Présenté par : Enseignant : M. Emmanuel Fleury Modélisation du Jeu SUDOKU Master 2 ISC 1 BDDSudoku

Sommaire Introduction 3 I. Sudoku: Jeu de logique 1. Présentation du Jeu 2. Présentation de BDD 4 4 5 II. Modélisation du Jeu 1. Objectifs 2. Moyens utilisés 3. Travaux effectués 4. Résultats 5. Conclusions 6 6 7 7 8 8 Master 2 ISC 2 BDDSudoku

Introduction Dans le cadre de l année de Master 2 ISC, on a été amené à réaliser un Projet qui concrétise nos connaissances qu on a acquises en «technologie de vérification des systèmes» au cours de l année. Le sujet du Projet qu on a effectué est très représentatif de la tendance actuelle en matière de modélisation des jeux de logique. Ce jeu a déjà inspiré plusieurs versions de sudoku électroniques qui apportent un intérêt différent à la résolution des grilles de Sudoku. Sa forme en grille et son utilisation ludique le rapprochent d'autres casse-tête publiés dans les journaux, tels les mots croisés et les problèmes d'échecs, le sudoku est partout. Ce projet a consisté à modéliser un jeu de logique «Sudoku», et à essayer de résoudre le problème en utilisant des BDD. Ce rapport présente dans une première partie le jeu. Puis il décrit, avec un regard critique, le travail qu on a effectué. Master 2 ISC 3 BDDSudoku

I. Sudoku: Jeu de logique 1. Présentation du jeu La grille du jeu est composée de 9 lignes, 9 colonnes et de 9 régions La grille du jeu contient toujours des chiffres de 1 à 9 et des cases vides, le but est donc de remplir entièrement la grille de manière logique. La règle du jeu est simple : chaque ligne, colonne et région ne doit contenir qu'une seule fois tous les chiffres de un à neuf. Formulé autrement, chacun de ces ensembles doit contenir tous les chiffres de un à neuf. La plupart du temps, le jeu est proposé sous la forme d'une grille de 9 9, et composé de sous grilles de 3 3, appelées «régions». Quelques cellules contiennent des chiffres, dits «dévoilés». Le but est de remplir les cellules vides, un chiffre dans chacune, de façon à ce que chaque rangée, chaque colonne et chaque région soient composées d'un seul chiffre allant de 1 à 9. En conséquence, chaque chiffre dans la solution apparaît une seule fois selon les trois «directions», d'où le nom «chiffre unique». Lorsque qu'un chiffre peut s'inscrire dans une cellule, on dit qu'il est candidat. Vous avez plusieurs difficultés accessibles : En grille 4*4 :- Enfant facile,- Enfant difficile, En grille 9*9 :- Facile,- Moyen,- Difficile,- Diabolique, En grille 16*16 :- Samouraï. L'intérêt du jeu réside dans la simplicité de ses règles, et dans la complexité de ses solutions. Les grilles publiées ont souvent un niveau de difficulté indicatif. En général, les grilles contenant le plus de chiffres pré remplis fussent les plus simples, l'inverse n'est pas systématiquement vrai. La véritable difficulté du jeu réside plutôt dans la difficulté à trouver la suite exacte de chiffres à ajouter. Master 2 ISC 4 BDDSudoku

2. Présentation de la BDD Une BDD est une représentation compacte (parfois) d'une formule booléenne. Vous pouvez faire l'intersection (ET) et se joindre (OU) des formules booléennes directement sur le BDD. Elle est parfois compacte, mais pas toujours. Il y a des formules booléennes qui n'ont aucune BDD compacte (les formules qui décrivent la multiplication par exemple). Mais puisque le sudoku est NP-complet, on pourra avoir un doute en l intérêt de résoudre un sudoku en utilisant des BDD. Pour plus de détails sur ce sujet, veuillez lire Resolution and Binary Decision Diagrams cannot simulate each other polynomially par janv. Friso Groote et Hans Zantema, écrit en 2000. Il explique la substance. Exemple de BDD Master 2 ISC 5 BDDSudoku

II. Modélisation du Jeu 1. Objectifs En ce basant sur les BDD on a été amené a modéliser un solveur de sudoku. Le format d'entrée du logiciel doit avoir cette forme: {{5,3,0,0,7,0,0,0,0}, {6,0,0,1,9,5,0,0,0}, {0,9,8,0,0,0,0,6,0}, {8,0,0,0,6,0,0,0,3}, {4,0,0,8,0,3,0,0,1}, {7,0,0,0,2,0,0,0,6}, {0,6,0,0,0,0,2,8,0}, {0,0,0,4,1,9,0,0,5}, {0,0,0,0,8,0,0,7,9}} 2. Moyens utilisés En terme de moyens techniques : Langage de programmation : C++. Plateforme de développement : Emacs. Outils : buddy dans sa version 2.4. En terme de moyens temporels, on mis à profit deux semaines pour réaliser ce travail. 3. Travaux effectués Pour réaliser ce jeu «BDDSudoku», on a commencé par résoudre le problème comme un problème SAT. Une fois on a trouvé la solution en utilisant des formules booléennes on a employé la bibliothèque Buddy pour résoudre le problème avec des BDD. 1. Rappel: L exemple de placement d une reine dans un échiquier nous à été d une grande utilitée pour plusieurs raisons: Master 2 ISC 6 BDDSudoku

- C est un problème simple a comprendre et implémenté dans les exemples d utilisation de la bibliothèque Buddy, ce qui nous à permis d avoir rapidement une idée claire sur le fonctionnement des BDD en utilisant cette bibliothèque. - Après l étude de l exemple précèdent, nous avons établi le lien entre le problème de queen et le problème du sudoku. En effet le premier est un cas particulier du deuxième avec la particularité d avoir a placé un seul chiffre, au lieu de N pour le deuxième, donc nous l avons utilisé comme base que nous avons adapté à nos besoin. 2. Modélisation du sudoku en BDD : Les structures des données : Chaque case de la grille d un sudoku est exprimée comme étant une BDD. La résolution du problème nécessite essentiellement une matrice de BDD à trois dimensions à partir de laquelle les expressions logiques seront calculer et stocker dans une BDD qui contient les expressions logiques qui doivent respecter les contraintes. La modélisation des contraintes : La bibliothèque buddy possède les fonctions nécessaires pour pouvoir exprimer aisément les contraintes, donc dans une fonction intitulée «build» nous avons rassemblé les contraintes classiques liées à chaque case de la grille. La seule manière de résoudre un problème du sudoku est d avoir une grille complète, cette contrainte a été exprimé grâce à une règle logique qui impose à la solution finale d avoir au moins une valeur pour chaque case de la grille. Une règle supplémentaire a été rajoutée à la fonction «build» dans un souci de performance des calculs et qui rappelle que chaque case du tableau doit avoir au maximum une seule valeur. En l absence de cette dernière règle le résultat reste le même car la règle qui impose au moins une valeur pour chaque case combiné avec les contraintes classique permet d avoir toutes les cases de la grille avec exactement une seul valeur ( 9 valeurs pour 9 cases «case ici est utilisé au terme d un tableau» ) de la grille. La résolution du problème : Une fois les contraintes exprimées pour chaque case de la matrice de départ la «BddGride» contient l ensemble des solutions du problème. Ainsi nous pouvons connaître le nombre de solutions, ainsi que les solutions elles-mêmes 3. Gestion des entrées sorties : Master 2 ISC 7 BDDSudoku

Pour adapter les formats d entrées et puis de sorties des données à nos objectifs, nous avons gérer les entrées sorties de façon quasi manuelle, mais le travail effectué a visé une utilisation simple de notre application, nous pouvons donc avoir le format d entrée comme demandé, et le format de sortie de la même manière. 4. Résultats Nous avons fait le choix de vous exposer des résultats pour une grille 4*4, mais pour les autres tailles l application donne des résultats satisfaisant. Format d entrée Format de sortie {{1,0,3,4}, {4,3,0,1}, {2,0,4,3}, {3,4,1,2}} There are 1 solutions one is: {{1,2,3,4}, {4,3,2,1}, {2,1,4,3}, {3,4,1,2}} Le BDD obtenu contient bien une seul branche conduisant à une solution. Nous l avons nommé res44.dot. Pour une grille 4*4 initialement vide {}: There are 288 solutions one is: {{4,3,2,1}, {2,1,4,3}, {3,4,1,2}, {1,2,3,4}} 5. Conclusion Pendant la réalisation de ce projet, on a progressivement bénéficié, pendant, d avantage d autonomie dans la résolution des sudoku. Le point fort de la résolution de ce problème en utilisant les BDD est la résolution de façon automatique une fois les contraintes exprimées. Donc le travaille de modélisation à remplacer le travail de développement qui est très compliqué pour ce problème. Donc finalement nos doutes à propos des BDD ont disparu pour ce type de problèmes. Master 2 ISC 8 BDDSudoku