Vers l'ordinateur quantique



Documents pareils
UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Les opérations binaires

Calculateur quantique: factorisation des entiers

Recherche dans un tableau

Système binaire. Algèbre booléenne

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

Conception de circuits numériques et architecture des ordinateurs

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

Représentation d un entier en base b

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

Introduction à l'informatique. Vincent Boyer et Jean Méhat

Chapitre 1 I:\ Soyez courageux!

CH.6 Propriétés des langages non contextuels

LibreOffice Calc : introduction aux tableaux croisés dynamiques

OPÉRATIONS SUR LES FRACTIONS

Méthodes de développement. Analyse des exigences (spécification)

chapitre 4 Nombres de Catalan

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

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

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Traitement numérique de l'image. Raphaël Isdant

Patentamt JEuropaisches. European Patent Office Numéro de publication: Office européen des brevets DEMANDE DE BREVET EUROPEEN

Algorithmes de recherche

Initiation à la programmation en Python

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

GPA770 Microélectronique appliquée Exercices série A

Traitement de texte : Quelques rappels de quelques notions de base

QUESTION 1 {2 points}

Par combien de zéros se termine N!?

Google Drive, le cloud de Google

Pourquoi l apprentissage?

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

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

Contrat d'hébergement

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:

Licence Sciences, Technologies, Santé Mention Informatique Codage de l'information

Dossier Logique câblée pneumatique

Calculons avec Albert!

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

Régime de retraite patronal-syndical (Québec) de l'association internationale des machinistes (A.I.M.)

Couples de variables aléatoires discrètes

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

TEXT MINING von 7

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

Conversion d un entier. Méthode par soustraction

(VM(t i ),Q(t i+j ),VM(t i+j ))

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Logiciel de Base. I. Représentation des nombres

La correction des erreurs d'enregistrement et de traitement comptables

Cours Informatique 1. Monsieur SADOUNI Salheddine

modélisation solide et dessin technique

RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES

Travail collaboratif avec OpenOffice Texte (Writer)

1.1 L EXPLORATEUR WINDOWS

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

CHAPITRE VI ALEAS. 6.1.Généralités.

IFT1215 Introduction aux systèmes informatiques

Structures algébriques

Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo

Les probabilités. Chapitre 18. Tester ses connaissances

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

Licence Sciences et Technologies Examen janvier 2010

Jeux de caracte res et encodage (par Michel Michaud 2014)

CHAPITRE VIII : Les circuits avec résistances ohmiques

Introduction à NetCDF

LE PROBLEME DU PLUS COURT CHEMIN

Espaces probabilisés

BADPLUS V5 MANUEL D'UTILISATION. Imports de données joueurs à partir de la base fédérale en ligne Poona. Stéphan KIEFFER - Dominique BOSSERT

Fiche animateur : module écriture collaborative

V- Manipulations de nombres en binaire

Table des matières. 10 Gimp et le Web. Option de traitement d'images Mémento pour la séance N o Création d'animation

Partie 1 : la construction du nombre chez l'enfant. Page 2. Partie 2 : Des jeux et des nombres Page 8

Algorithmique avec Algobox

Machines virtuelles Cours 1 : Introduction

Conditions générales.

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Éléments d'architecture des ordinateurs

Cours Excel : les bases (bases, texte)

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

Date : Tangram en carré page

Raisonnement par récurrence Suites numériques

Chapitre 1 : Introduction aux bases de données

Algorithmes d'apprentissage

B2i. LE B2i Brevet Informatique et Internet. Niveau : tous. 1 S'approprier un environnement informatique de travail. b2ico1.odt.

Gé nié Logiciél Livré Blanc

Introduction : Cadkey

Organigramme / Algorigramme Dossier élève 1 SI

Représentation des Nombres

Devenez expert. en trading d'or. Tout ce qu'il faut savoir pour trader l'or

Les bases de données Page 1 / 8

Informatique Générale

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

Les nombres entiers. Durée suggérée: 3 semaines

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Peut-on tout programmer?

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

Annexe : La Programmation Informatique

Les mises à disposition de personnels ou de matériels

Transcription:

Cours A&G Vers l'ordinateur quantique Données innies On a vu dans les chapîtres précédents qu'un automate permet de représenter de manière nie (et même compacte) une innité de données. En eet, un automate A a un nombre ni d'états alors que le langage qu'il reconnaît L (A) est le plus souvent inni. Le miracle vient du fait que l'automate ne représente pas directement les données mais un calcul à eectuer pour obtenir les données. On a donc échangé de l'espace mémoire (celui des données) contre du temps (le temps nécessaire pour les calculer). Le même principe de représentation des données sous forme de calcul permet de représenter l'innité des décimales du nombre π par un programmme (d'un millier de ligne) qui calcule la n e décimale de π pour tout n N. Innités d'opérations Maintenant qu'on sait représenter des données innies, on aimerait eectuer des calculs sur ces données sans avoir à les énumérer sinon on sera à nouveau confronter à l'inni. C'est possible dans une certaine mesure et les automates en orent un bon exemple. Construction d'additionneurs L'objectif de ce chapître est de faire un pas vers l'informatique quantique capable de réaliser une innité d'opérations en un temps ni. Considérons des automates A n et A p qui reconnaissent des mots sur Σ = {, }. Les mots de L (A n ) et L (A p ) peuvent être vus comme des nombres binaires. L'automate A n est le codage de l'ensemble des nombres binaires (éventuellement une innité) qu'il reconnaît L (A n ) = {n, n 2,...}. De même L (A p ) = {p, p 2,...} On va voir qu'il est possible de constuire un automate, noté A n A p, qui reconnaît exactement l'ensemble des sommes formées de nombres n L (A n ) et p L (A p ). Autrement dit, L (A n A p ) = {n + p n L (A n ), p L (A p )}. Pour calculer et acher explicitement cet ensemble, il faudrait faire une innité d'opérations. L'utilisation d'automates permet de contourner cet obstacle et d'obtenir une représentation compacte de cet ensemble sous la forme d'un automate A n A p par un algortihme ecace en O((N P ) 2 ) où N est la taille A n et P celle de A p. Transducteur Un transducteur T est un automate qui consomme des symboles dans un ux d'entrée et produit des symboles sur un ux de sortie (un automate est un cas particulier de transducteur qui ne produit rien). Les transitions d'un transducteur sont de la forme q i/o q où i est le symbole consommé sur le ux d'entrée par la transition et o est le symbole produit sur le ux de sortie. La transition consomme i et produit o : on dit donc que o est la traduction du symbole i ; d'où le nom de transducteur. Ainsi, lorsqu'on exécute un transducteur T sur un mot ω, il se comporte comme un automate et s'il reconnaît le mot il produit une traduction du mot sur le ux de sortie. Langage d'entrée, langage de sortie Le langage d'entrée d'un transducteur T est le langage de l'automate obtenu en considérant les transitions de T comme des transitions d'automate classique ; c'est-à-dire en considérant uniquement la partie q i q des transitions q i/o q. L i (T ) = L (Input(T )) avec Input(q i/o q ) = q i q Le langage de sortie d'un transducteur T est le langage de l'automate obtenu en considérant uniquement la partie q o q des transitions q i/o q.

L o (T ) = L (Output(T )) avec Output(q i/o q ) = q o q Exécution d'un transducteur (à rédiger) Donnez un transducteur T qui reconnaît les mots sur Σ = {, } commençant et qui inverse les et les.. Donnez un transducteur T qui reconnaît tous les mots sur Σ = {, } et qui supprime les Donnez un transducteur T qui reconnaît tous les mots sur Σ = {, } et qui supprime les situés après un. Produit d'un automate A et d'un transducteur T Le principe est le même que pour les automates (à nombre) d'états ni : on exécute simultanément A et T ; pour avancer de concert il faut que A et T soient d'accord sur le symbole d'entrée, et on garde la partie production des transitions de T. (q a, q t ) (q i/o a, q t) i A T si et seulement si q a q a i/o A et q t q t T Image d'un automate A par un transducteur T La traduction (ou l'image) des mots de A par un transducteur correspond au langage de sortie de l'automate produit A T, c'est donc Image de A par T = Output(A T ) Q. Donnez un automate A qui reconnaît les nombres binaires pairs écrits avec les unités à gauche. Exemples : - ()N () 2 (...) 2 (. ) 2 / L (A) - (2)N (.) 2 (.. ) 2 L (A) - (3)N (.) 2 (.. ) 2 / L (A) = a A a Q2. Faîtes le produit de A par le transducteur T qui reconnaît tous les mots et inverse les et les. A T = a a / q (a,q) / / (a,q) / / 2

Q3. Donnez l'automate qui correspond aux mots de A traduit par le transducteur T. et décrire en une phrase le langage reconnu par cet automate. Output(A T ) = (a,q) (a,q) nombres binaires impairs Addition numérique des langages de deux automates Pour constuire l'automate A n A p, on transforme l'un d'eux (le plus simple), disons A p en transducteur-additionneur T p, on prend l'image des mots de A n par le transducteur-additionneur T p A n A p = Output(A n T p ) 2 Algorithme de construction d'un transducteur additionneur 2. Remarque préliminaire Lorsqu'on veut additionner deux nombres n et p, on complète le plus court des deux par des an d'obtenir des nombres de même taille ou on leur ajoute même un pour prévoir le cas d'une retenue en n d'addition. Exemple : on considére des nombres binaires écrits avec les unités à gauche et donc on fait l'addition de gauche à droite : = n + = p détail des calculs : sens du calcul retenue = n complété + = p complété Tout nombre binaire p est équivalent à p. : le nombre p auquel on a ajouté des non signicatifs. 2.2 Étapes de constructions du transducteur-additionneur associé à A p Étant donné un automate A p sur l'alphabet Σ = {, }, l'algorithme suivant produit un transducteur qui implante l'addition numérique avec retenue d'un nombre p du langage L (A p ). Exemple : On commence par un exemple simple en considérant l'automate A = a a étape : extension de A p avec des non-signicatifs À chaque état accepteur de A p on ajoute l'extension suivante qui reconnaît les non-signicatifs : ɛ Puis on renomme les transitions et de A p en + et +. Exemple : Pour A p, on obtient a ɛ a a 2 qui se simplie en a a 2 on obtient alors une chose qui n'est ni un automate ni un transducteur A p = a + a 2 + 3

Transformation des transitions +? en transitions de transducteur Chaque transition q + q doit incrémenter le digit lu en entrée ; elle donne donc naissance à deux transitions /.. /.. et en fonction de l'entrée et en tenant compte de la retenue. On indique la valeur de la retenue dans les états du transducteur qui sont donc de la forme (q, r = ), (q, r = ). Une transition q + q génère donc les transitions suivantes dans le transducteur : (q, r = ) / + (q, r = ) car r = + + le '' lu donne et r = (q, r = ) / + (q, r = ) car r = + + le '' lu donne et r = (q, r = ) / + (q, r = ) car r = + + le '' lu donne et r = (q, r = ) / + (q, r = ) car r = + + le '' lu donne et r = Une transition q + q génère donc les transitions suivantes dans le transducteur : (q, r = ) / + (q, r = ) car r = + + le '' lu donne et r = (q, r = ) / + (q, r = ) car r = + + le '' lu donne et r = (q, r = ) / + (q, r = ) car r = + + le '' lu donne et r = (q, r = ) / + (q, r = ) car r = + + le '' lu donne et r = L'état initial de T est l'état initial de A avec la retenue égale à. Les états accepteurs du transducteur sont les états de la forme (q, r = ) avec q accepteur et une retenue égale à. Exemple : À partir de A p = a + a 2 + on obtient le transducteur : T p = (a,r=) +: /,/ / a 2,r= + + / + / (a 2,r=) +: / qu'on écrit plus simplement / /,/ T p = / / / 2.3 Généralition et algorithme Le Transducteur-additionneur T associé à un automate A sur l'alphabet Σ = {, } est déni de la manière suivante : 4

q + q A p = q + q A p = /, / (q, r = ) (q, r = ) (q, r = ) (q /, r = ) T p (q, r = ) / (q, r = ) (q, r = ) / (q, r = ) (q, r = ) / (q, r = ) (q, r = ) / (q, r = ) (q, r = ) / (q, r = ) q Init(A p ) = (q, r = ) Init(T p ) q Acc(A p ) = (q, r = ) Acc(T p ) T p Tout état avec une retenue (..., r = ) ne peut-être ni initial, ni accepteur. Q. Donnez l'automate A n qui reconnaît les nombres binaires pairs écrits avec les unités à gauche et donnez une expression régulière équivalente. A n = a a.( ) Q2. Construire le transducteur-additionneur T p associé à l'automate A p = a a a 2 Q3. À partir de l'automate A n et du transducteur-additionneur T p, constuire l'automate qui reconnait le langage {n + p n L (A n ), p L (A p )}. 5