Machine de Turing. Intelligence Artificielle et Systèmes Formels Master 1 I2L

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

Machines virtuelles Cours 1 : Introduction

Algorithmes récursifs

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

"Calcul et hyper-calcul"

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

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

UTILISER UN SITE COLLABORATIF

Table des matières. Introduction

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

Limites finies en un point

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

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

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

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 =

Modèles et simulations informatiques des problèmes de coopération entre agents

6 - La conscience est-elle un processus algorithmique?

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

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

Cours 1 : La compilation

Algorithmique et Programmation Fonctionnelle

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Trois nouveaux formulaires sont donc nécessaires : Pour l affichage de la liste, un formulaire de sortie WEB_Liste associé à la table des [Films] ;

Logique. Plan du chapitre

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)

Intégration et probabilités TD1 Espaces mesurés Corrigé

Évaluation et implémentation des langages

STAGE IREM 0- Premiers pas en Python

CARTE DE VOEUX À L ASSOCIAEDRE

Cours de Master Recherche

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

Algorithme. Table des matières

La mesure de Lebesgue sur la droite réelle

Cours 1 : Qu est-ce que la programmation?

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Projet Matlab : un logiciel de cryptage

Initiation à la Programmation en Logique avec SISCtus Prolog

Cours d algorithmique pour la classe de 2nde

Informatique Générale

Image d un intervalle par une fonction continue

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

La persistance des nombres

Informatique Machines à calculer en théorie et en pratique

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Coûts, avantages et inconvénients des différents moyens de paiement

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

Encryptions, compression et partitionnement des données

Plan du cours Cours théoriques. 29 septembre 2014

Le Dessin Technique.

Présentation du langage et premières fonctions

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

Le modèle standard, SPE (1/8)

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

DOCM Solutions officielles = n 2 10.

Logique : ENSIIE 1A - contrôle final

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

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

MATHEMATIQUES ET SCIENCES POUR L INGENIEUR

Comment créer un nouveau compte? 1/2- Pour le consommateur

MPI Activité.10 : Logique binaire Portes logiques

MIS 102 Initiation à l Informatique

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

Peut-on tout programmer?

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011


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

Cours 7 : Utilisation de modules sous python

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

Durée estimée :1 journée Date de la réalisation : Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

Cours d Informatique

Consigne : je remplis le tableau en tenant compte des informations de la ligne supérieure et de la colonne de gauche (droite pour les gauchers)

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

Simulation de variables aléatoires

Consignes pour les travaux d actualité Premier quadrimestre

Compter à Babylone. L écriture des nombres

TP 1. Prise en main du langage Python

Chapitre 4 : Guide de Mouvement et Masque

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

Le langage C. Séance n 4

Introduction à l algorithmique et à la programmation (Info 2)

Cours Composant 2. Qualité logicielle et spécications algébriques

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Correction de l examen de la première session

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

COMMENT REDIGER UN RAPPORT TECHNIQUE?

Résolution d équations non linéaires

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Rappels Entrées -Sorties

Intégrale de Lebesgue

M2 IAD UE MODE Notes de cours (3)

Une nouvelle manière de collaborer

Un modèle stochastique du taux d intérêt implicite en microcrédit

PEUT-ON «VOIR» DANS L ESPACE À N DIMENSIONS?

Le nombre d or et Fibonacci

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle

Tout au long de votre cursus Quel métier futur? Dans quel secteur d activité? En fonction de vos goûts et aptitudes et du «niveau d emploi» dans ce

Théorie des Langages

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

OPTIMAXMD. Assurance vie permanente avec participation. Faites fructifier votre argent

Transcription:

Machine de Turing Intelligence Artificielle et Systèmes Formels Master 1 I2L Sébastien Verel verel@lisic.univ-littoral.fr http://www-lisic.univ-littoral.fr/ verel Université du Littoral Côte d Opale Laboratoire LISIC Equipe CAMOME

Objectifs de la séance 08 Connaitre la définition d une machine de Turing Savoir exécuter une machine de Turing Savoir définir le langage reconnu par une machine de Turing Savoir définir la fonction calculée par une machine de Turing Savoir définir une machine de Turing pour reconnaître un langage ou calculer une fonction Connaitre la thèse de Church-Turing Savoir que le problème de l arrêt est non calculable Questions principales du jour : Qu est-ce qu une procédure effective?

Plan 1 Introduction 2 Machine de Turing 3 Fonction calculée, Indécidabilité

Introduction D après P. Dehornoy, université de Caen Automate : modèle abstrayant la notion de calcul sans écriture L est décidable par automate si pour tout mot w de L, on peut répondre à la question w appartient-il à L? en lisant le mot et en utilisant la mémoire finie. Machine de Turing : modèle analogue avec une notion plus élaborée de calcul L est décidable par automate si pour tout mot w de L, on peut répondre à la question w appartient-il à L? en lisant le mot et en utilisant la mémoire finie mais aussi en écrivant des informations sur un support illimité Version formalisée du calcul mental Version formalisée du calcul au sens général

La machine d A. Turing Motivation Machine abstraite crée par Alan Turing, 1936 Alan M. Turing, On computable numbers with an application to the Entsheidungsproblem, Proc. London Math. Society, 2, 42, pp. 230-265, 1936. Date du premier ordinateur? Précurseur théorique des machines Participe à la construction de système de décryptage pendant la seconde guerre mondiale reposant sur ces principes Modèle de calcul parmi les plus commodes Tous les ordinateurs sont équivalents à cette petite machine

La machine d A. Turing Motivation Machine abstraite crée par Alan Turing, 1936 Alan M. Turing, On computable numbers with an application to the Entsheidungsproblem, Proc. London Math. Society, 2, 42, pp. 230-265, 1936. Date du premier ordinateur? 1941 le Z3, 1944 le ASCC/Mark1 Précurseur théorique des machines Participe à la construction de système de décryptage pendant la seconde guerre mondiale reposant sur ces principes Modèle de calcul parmi les plus commodes Tous les ordinateurs sont équivalents à cette petite machine

Introduction par les langages Langages Grammaires Procédure effective 3 Rationnels régulières à droite ou A a, A ab, A ɛ Automates réguliers A, B N a T finis (régulières à gauche) 2 algébriques algébriques, non-contextuelles Automates ou A α à pile non-contextuels A N α (N T ) 1 contextuelles, monotones Machine de Turing contextuels α β ou A ɛ à l espace α, β (N T ), A axiome linéairement borné α β 0 récursivement contextuelles avec effacement énumérables α β Machine de Turing α (N T ) + β (N T ) aucune contrainte

Caractéristiques d un automate fini Automate fini Etats : mémoire finie, Lecture des symboles, Programme : fonction de transition d états états a b 1 2 1 2 3 4 3 4 1 4 4 4 b a 1 2 b 3 a a b 4 a,b a a b a 1

Caractéristiques d un automate fini Automate fini Etats : mémoire finie, Lecture des symboles, Programme : fonction de transition d états états a b 1 2 1 2 3 4 3 4 1 4 4 4 b a 1 2 b 3 a a b 4 a,b a a b a 2

Caractéristiques d un automate fini Automate fini Etats : mémoire finie, Lecture des symboles, Programme : fonction de transition d états états a b 1 2 1 2 3 4 3 4 1 4 4 4 b a 1 2 b 3 a a b 4 a,b a a b a 3

Caractéristiques d un automate fini Automate fini Etats : mémoire finie, Lecture des symboles, Programme : fonction de transition d états états a b 1 2 1 2 3 4 3 4 1 4 4 4 b a 1 2 b 3 a a b 4 a,b a a b a 1

Caractéristiques d un automate fini Automate fini Etats : mémoire finie, Lecture des symboles, Programme : fonction de transition d états états a b 1 2 1 2 3 4 3 4 1 4 4 4 b a 1 2 b 3 a a b 4 a,b a a b a 2

Caractéristiques d une machine de Turing Support illimité de l information : Ruban a a b a 1 Machine de Turing Etats : mémoire finie, Lecture des symboles du ruban, Ecriture sur le ruban Programme : fonction de transition d états et de déplacement et d écriture

Premier exemple Fonction de transition Ancien état Symbole lu Symbole écrit Mouv. Nouvel état arrêt 1 a b 1 b a 1 a a b a 1

Premier exemple Fonction de transition Ancien état Symbole lu Symbole écrit Mouv. Nouvel état arrêt 1 a b 1 b a 1 a a b a 1 b a b a 1

Transition : Tableau à double entrée a b 1 b,, 1 a,, 1,, arrêt a a b a 1 Exo Exécutez la machine de Turing ci-dessus et décrivez sa fonction de calcul.

Exemple plus sophistiqué a b 0 a,, 0 b,, 0,, 1 1 b,, 1 a,, 1,, arrêt a a b a b a

Langage décidé par une machine de Turing a b 0,, 1 refusé accepté 1 a,, 1 b,, 1,, 2 2 refusé,, 3 3 a,, 3 b,, 3,, 0 a a a b b b a a a b a b Exo Exécutez la machine de Turing sur les mots ci-dessus et décrivez le langage reconnu.

Définition formelle Machine de Turing (MT) Une machined e Turing à un ruban infini est septuplet (Q, Γ, Σ, δ, q 0, B, F ) où : Q ensemble fini d état, Γ alphabet fini des symboles du ruban, Σ Γ alphabet fini des symboles d entrée, B Γ \ Σ symbole particulier dit blanc q 0 état initial F ensemble des états acceptants δ relation de transition La MT est déterministe si pour chaque chaque configuration, elle a au plus une possibilité d évolution.

Relation de transition Relation de transition δ Q Γ Q Γ {, } Notation d une règle : q, σ q, σ, m Prédécesseur : q : état courant de la machine σ symbole lu sur le ruban Successeur : q : nouvel état de la machine σ symbole à écrire sur le ruban m déplacement de la tête de lecture Relation de transition : sous forme de table ou de diagramme

Notion de configuration La configuration d une MT décrit l état général de la machine : état du ruban, état courant de la machine et position de la tête de lecture. (f, q, p) f : IN Γ le ruban q Q l état de la machine p IN la position sur le ruban La relation de transition permet alors de calculer chaque élément de la nouvelle configuration.

Langage reconnu Le langage accepté par M = (Q, Γ, Σ, δ, q 0, B, F ) est défini par : L(M) = {w Σ tels que : } l état initial de M est q 0 le mot w est écrit sur le ruban la tête de lecture est positionnée sur la première lettre de w M atteint un état acceptant de F en un nombre fini d étape cf. exercice 1 fiche 08

Classe de langages Une MT s arrête lorsque elle atteint un état final elle ne peut plus effectuer de transition Langage récursif Un langage reconnu par une MT qui s arrête sur tous les mots en entrée est dit langage récursif Langage récursivement énumérable Un langage reconnu par une MT qui s arrête sur tous les mots du langage (et peut ne pas s arrêter sur les autres) est dit langage récursivement énumérable engendré par une grammaire de type 0.

Fonction calculée par une machine de Turing La sortie d une MT est le mot inscrit sur le ruban lorsque la MT s arrête. Fonction calculée La fonction calculée f par une MT M est définie par : A toute entrée x sur laquelle M s arrête, on associe la sortie y : f (x) = y Aucune image n est associée au mot x sur lequel M ne s arrête pas.

MT équivalente On peut imaginer beaucoup de variantes de MT : sur un demi ruban sur deux ou plusieurs rubans la tête de lecture peut être stationnaire non-déterminisme écrire ou non de symbole blanc... Et pourtant, elles sont toutes équivalentes (reconnaissance du même langage ou fonction calculée identique) La machine de Turing semble bien représenter une notion de calcul par une procédure effective.

MT universelle Machine de Turing universelle Une machine de Turing universelle est capable de simuler le comportement de n importe quelle autre machine de Turing. Existence Par exemple, en utilisant 2 rubans : sur un ruban le programme de la machine de Turing originale sur l autre ruban le calcul de cette machine

Fonctions calculables Thèse de Church-Turing Les fonctions calculables par une procédure effective le sont par une machine de Turing. Modélisation de la notion de calcul et procédure effective Ce n est pas un résultat que l on peut démontrer Fonctions calculables par MT = fonctions définies par λ-calcul de Chruch Base de la théorie de la calculabilité Alonzo Church (1903-1995), mathématicien, logicien américain. Tous les ordinateurs sont équivalents à une machine de Turing...

Fonctions non-calculables Exercice L ensemble des machines de Turing est-il dénombrable? Existe-il un ensemble de fonctions non-dénombrables? Existe-t-il des fonctions non calculables?

Décidabilité Définition Une famille dénombrable de propriétés P(x) est décidable si sa fonction caractéristiques f P est calculable. { 1 si P(x) est vrai, f P = 0 si P(x) est faux.

Première fonction non calculable, indécidabilité Fonction qui associe l arrêt d une machine de Turing : { 1 si la machine de Turing M s arrête sur l entrée e A(M, e) = 0 sinon. Problème de l arrêt La fonction A, qui associe l arrêt d une machine de Turing, est non calculable. Preuve : argument diagonal Supposons qu il existe une MT MA qui calcule la fonction A soit la machine : { si MA(e, e) = 1 alors boucle infinie MD(e) = si MA(e, e) = 0 alors terminer Contradiction en analysant MA(MD, MD)

Conséquences Impact pratique Pas de débugger parfait qui prédit l arrêt ou non d un programme! Ramasse-miette : libérer une zone mémoire lorsqu elle n est plus utilisée Détection de virus...