CSI3504 Introduction aux langages formels Notes de cours

Documents pareils
Calculabilité Cours 3 : Problèmes non-calculables.

Cours 1 : La compilation

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

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

Algèbre binaire et Circuits logiques ( )

Machines virtuelles Cours 1 : Introduction

Algorithmique et Programmation Fonctionnelle

Utilisation des tableaux sémantiques dans les logiques de description

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

"Calcul et hyper-calcul"

Informatique Machines à calculer en théorie et en pratique

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Apprentissage Automatique

Évaluation et implémentation des langages

1.1 Rappels sur le produit cartésien Relations Graphes dirigés Arbres Exercices Motivation...

Limites finies en un point

Raisonnement par récurrence Suites numériques

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

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

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

Continuité d une fonction de plusieurs variables

Intelligence Artificielle et Robotique

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

La Certification de la Sécurité des Automatismes de METEOR

Chapitre 2 Le problème de l unicité des solutions

Système binaire. Algèbre booléenne

Définitions. Numéro à préciser. (Durée : )

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Modèles de Calcul. Yassine Lakhnech. 2007/08 Université Joseph Fourier Lab.: VERIMAG. Modèles de Calcul Start p.

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

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

Peut-on tout programmer?

Cours d algorithmique pour la classe de 2nde

3. Conditionnement P (B)

Université de Sherbrooke, Département d informatique

6. Les différents types de démonstrations

TABLE DES MATIÈRES CHAPITRE I. Les quanta s invitent

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

Texte Agrégation limitée par diffusion interne

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

Présentation du langage et premières fonctions

Théorie des Langages

Correction de l examen de la première session

Liste de nos biens immobiliers

Équations non linéaires

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Réalisabilité et extraction de programmes

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE

COMPTE-RENDU «MATHS EN JEANS» LYCEE OZENNE Groupe 1 : Comment faire une carte juste de la Terre?

Continuité et dérivabilité d une fonction

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

Architecture des Systèmes d Information Architecture des Systèmes d Information

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

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

2 Comment fonctionne un ordinateur, dans les grandes lignes

Le Collège de France crée une chaire pérenne d Informatique, Algorithmes, machines et langages, et nomme le Pr Gérard BERRY titulaire

FORMATS DE JEU POUR LA PRATIQUE DU SOCCER AU QUÉBEC FÉDÉRATION DE SOCCER DU QUÉBEC

Format de l avis d efficience

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

6 - La conscience est-elle un processus algorithmique?

ITIL, une approche qualité pour la gestion des services(*) informatiques. Pourquoi et comment introduire ITIL dans son organisation

Algorithme. Table des matières

Cours d Informatique

C algèbre d un certain groupe de Lie nilpotent.

Programmes des classes préparatoires aux Grandes Ecoles

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

Dérivation : Résumé de cours et méthodes

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

O, i, ) ln x. (ln x)2

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Une brève introduction aux Sciences Cognitives

O b s e r v a t o i r e E V A P M. Taxonomie R. Gras - développée

Raisonnement probabiliste

Table des matières. Introduction

Chp. 4. Minimisation d une fonction d une variable

Algorithmes récursifs

Circulaire 2013/xy Distribution de placements collectifs. Distribution au sens de la législation sur les placements collectifs de capitaux

Mathématiques I Section Architecture, EPFL

Plus courts chemins, programmation dynamique

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

Dérivation CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES

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

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

FORMATIONS LINGUISTIQUES : DIPLOMES & TEST D ESPAGNOL

Intelligence Articielle (1) Introduction

Utilisation de l analyse statique comme outil d aide au développement. par. Yves Gauthier

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

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

Cours d électricité. Circuits électriques en courant constant. Mathieu Bardoux. 1 re année

Chapitre 5 : Flot maximal dans un graphe

Informatique et Société : une brève histoire

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.

A - «Le nombre dans l art» (L œuvre d art et sa composition)

Transcription:

CSI3504 Introduction aux langages formels Notes de cours Amy Felty Hiver 2017 I. Théorie des automates II. Théorie des langages non contextuelles III. Théorie des machines de Turing

Chapitre 1: Introduction Théorie des ordinateurs Étudier des modèles mathématiques Abstraire Simplifier Codifier (une relation au vrais ordinateurs) Calculabilité 2

Questions de base Quels sont les modèles théoriques de l ordinateur? Qu est-ce qu on peut et ne peut pas calculer avec un ordinateur d aujourd'hui ainsi que celui du futur? Pourquoi? On a besoin de réponses précises: Donner des questions et preuves non ambigües a l aide de méthodes formelles. On apprendra aussi la rigueur mathématique. 3

Histoire Cantor (1845-1918) théorie des ensembles Hilbert (1862-1943) rigueurs mathématiques Gödel (1906-1978) Théorème d incomplétude Church, Kleene, Post, Markov, von Neumann, Turing Pour quels énoncés existe-t-il des preuves? Les premiers pas vers la construction d'algorithmes mathématiques Turing (1912-1954) Machine universelle et ses limitations McCulloch, Pitts Réseau de neurons (similaire mais limitations differentes) Chomsky Modèles mathématiques qui décrivent les langues et langages 4

p. 434 I. Automates II. Langages Formels III. Machines de Turing Langage défini par Machine correspondante Nondéterminisme= Déterminisme Clos par Décidable? Exemples d Applications I. Expression rationelle Automate fini, Graphe de transition Oui réunion, produit de concaténation, étoile, intersection, complément équivalence, langage vide, finitude, appartenance Traiteurs de texte, circuits séquentiels, vérification II. Grammaire non contextuelle Automate à pile Non réunion, produit de concaténation, étoile langage vide, finitude, appartenance Analyse syntaxique, compilateurs III. Grammaire de type 0 Machine de Turing, Machine de Post, Automate à pile Oui réunion, produit de concaténation, étoile pas beacoup Ordinateurs 5

Chapitre 2: Langages Modèles mathematiques des ordinateurs Analyse des langages d entrée Étude des limitations Définitions alphabet un ensemble fini de caractères, noté Σ lettre, caractère un élément de l alphabet Σ mot sur l alphabet Σ une suite finie de caractères dans Σ Λ (mot vide) le mot qui ne contient aucun caractères langage un ensemble de mots sur un alphabet 6

Deux Exemples Mots-Français Phrases-Français alphabet Σ={a,b,c,d, } Γ=Mots du français + espace + caractères de ponctuation lettre, caractère lettre mot mot mot phrase langage tous les mots dans un dictionnaire toutes les phrases acceptable en français 7

2 façons de définir les langages une liste de tous les mots un ensemble de règles (grammaire) L alphabet est toujours fini. L ensemble de mots peut être infini. Syntaxe, non pas la sémantique Quelles sortes de règles sont permises? Il faut être possible de reconnaître si un mot est dans le langage ou pas en un temps fini. (algorithme) 8

Exemple L 1 : Σ={x} L 1 ={x, xx, xxx, xxxx, } ou L 1 ={x n n=1, 2, 3, } Définition: concaténation, enchaînement deux mots écrits un après l autre. Un nouveau mot est formé. a=xx b=xxx ab=xxxxx facteur un des deux mots d une concaténation xx xxx Exemple L 2 : Σ={0, 1, 2, 3, 4, 5, 6, 7, 8, 9} L 2 ={mots finis qui ne commencent pas avec 0} 9

Définition: longueur le nombre de caractères du mot longueur(xxxxx) = 5 longueur(1025)=4 longueur(λ)=0 inverse inverse(xxx)=xxx inverse(157)=751 Exemple PALINDROME: Σ={a, b} PALINDROME:={Λ et x inverse(x) = x} 10

La clôture de Kleene Définition: clôture d un alphabet Σ, l étoile de Σ Soit Σ un alphabet. Σ* (l étoile de Σ) est le langage qui contient toutes suites finies de lettres de Σ, y compris le mot vide Λ. Exemples: Σ = {x} Σ* = {Λ, x, xx, xxx, } Σ = {0, 1} Σ* = {Λ, 0, 1, 00, 01, 10, 11, 000, 001, } Σ = {a, b, c} Σ* =? 11

Définition: clôture ou l étoile d un ensemble de mots (ou un langage) Soit S un ensemble de mots. S* est le langage qui contient tous mots qui peuvent se mettre sous la forme de concaténations de mots de S, y compris le mot vide Λ. Exemples: S = {a, ab} S* = {Λ, a, aa, ab, aaa, aab, aba, aaaa, } abaaababa S* ab a a ab ab a les facteurs S* = {Λ ainsi que tous les mots qui commencent par a et qui ne contiennent pas deux b consécutif} Est-ce que la factorisation des mots de S* est unique? 12

Une factorisation non-unique S = {xx, xxx} xxxxxxx S* xx xx xxx xx xxx xx xxx xx xx S* = {Λ ainsi que tous les mots qui ont au moins deux x} 13

Exemple: Σ = φ Σ* = {Λ} La clôture d un alphabet Σ est toujours infinie sauf si Σ est vide. Exemple: S = {a, b, ab} T = {a, b, bb} S* = T* ab a a ab ab a a b a a a b a b a La clôture d un langage S est toujours infinie sauf si S = φ ou S = {Λ}. Alors S* = {Λ}. 14

La Clôture Positive Définition: S+, Σ+ Le langage qui contient toutes les concaténations avec au moins 1 mot de S 1 lettre de Σ (S* éventuellement sans Λ) Si Λ appartient à S, S* = S+. Exemples: Σ = {x} Σ+ = {x, xx, xxx, } S = {aa, bbb, Λ} S+ = {aa, bbb, Λ, aaaa, aabbb, } (N.B. aλ = a) 15

Théorème 1: Si S est un ensemble de mots alors S**=S*. Définitions: égalité entre deux ensembles S = T: S T et T S sous-ensembles S T: pour tout x qui appartient à S, x appartient aussi à T Exemple: S = {a,b} aaba, baaa, aaba S* aaba baaa aaba S** a a b a b a a a a a b a S* 16

Théorème 1: S**=S* Démonstration: 1ère cas: S** S* Chaque mot de S** est l enchaînement d un nombre fini de facteurs de S* (définition de l étoile). Puisque chaque mot de S* est l enchaînement d un nombre fini de facteurs de S, alors chaque mot de S** est l enchaînement d un nombre fini de facteurs de S. Donc S** S*. 2e cas: S* S** Pour tout ensemble A, on peut démontrer que A A*. Soit w un mot de A. Le mot w appartient certainement à A*. Si on prend S* pour A, on peut conclure S* S**. Par définition de l égalité des ensembles, on peut conclure S* = S**. 17