Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode....

175
Cours 4: Incomplétude. Machine de Turing. Olivier Bournez Ecole Polytechnique [email protected] INF412 1

Transcript of Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode....

Page 1: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Cours 4: Incomplétude. Machine de Turing.

Olivier Bournez Ecole [email protected] INF412

1

Page 2: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Au menu

Retour sur l’épisode précédent : complétude

Graphes, Groupes, Corps, . . .Et les entiers ?

Théorème d’incomplétude

Quelques applications

Objectif de la suite du cours

Machines de Turing

Demain et Prochain épisode

Page 3: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Théorème de complétude

On sait construire un (des) système(s) de déduction qui estvalide et complet.

§ Rappel : T $ F pour “F se prouve à partir de T ” dans cesystème.

§ Notons : T |ù F pour “tout modèle de T est un modèle de F .”

C’est-à-dire :

Théorème de Validité : Soit T une théorie. Soit F une formuleclose.Si T $ F alors T |ù F .

Théorème de Complétude. Soit T une théorie. Soit F uneformule close.Si T |ù F alors T $ F .

2

Page 4: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Plus précisément

Retour sur l’épisode précédent : complétudeN’ayons pas peur des répétitionsThéorème de Compacité

Page 5: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Autre façon de comprendre ce qu’on obtient :

prouvabilité et conséquence (sémantique) sont les mêmesnotions.

T $ F si et seulement si T |ù F .

3

Page 6: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Autre façon de le comprendre :

F est prouvable ssi F est vraie dans tous les modèles

F est prouvable à partir des axiomes T ssi F est vraie danstous les modèles de T .

4

Page 7: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Autre façon de le comprendre :

F est prouvable ssi F est vraie dans tous les modèles

F est prouvable à partir des axiomes T ssi F est vraie danstous les modèles de T .

4

Page 8: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Plus précisément

Retour sur l’épisode précédent : complétudeN’ayons pas peur des répétitionsThéorème de Compacité

Page 9: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Théorème de Compacité.

§ Soit T une théorie.

§ T possède un modèle si et seulement si toute partie finie de Tpossède un modèle.

5

Page 10: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Au menu

Retour sur l’épisode précédent : complétude

Graphes, Groupes, Corps, . . .Et les entiers ?

Théorème d’incomplétude

Quelques applications

Objectif de la suite du cours

Machines de Turing

Demain et Prochain épisode

Page 11: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Plus précisément

Graphes, Groupes, Corps, . . .Et les entiers ?Arithmétique de Peano : première tentativeArithmétique de Peano

Page 12: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Axiomes de l’arithmétique

Considérons une signature constituée du symbole de constante0, d’une fonction unaire s, et de deux fonctions binaires ` et˚, et de la relation binaire “.

On souhaite que pN, 0, s,`, ˚,“q en soit un modèle.

6

Page 13: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

1ère tentative

On considère les axiomes

@x spxq “ 0 (1)@x@y pspxq “ spyq ñ x “ yq (2)@x px “ 0_ Dy spyq “ xq (3)

@x 0` x “ x (4)@x spxq ` y “ spx ` yq (5)

@x 0 ˚ x “ 0 (6)@x spxq ˚ y “ x ˚ y ` y (7)

7

Page 14: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Conséquence/Non-conséquence

Rappel : une formule F est dite une conséquence d’unensemble de formules T si tout modèle de la théorie T est unmodèle de F .

§ se note : T |ù F

Comment se persuader qu’une formule close n’est pas uneconséquence de T ?

§ en exhibant un modèle de T qui n’est pas un modèle de F .

8

Page 15: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Conséquence/Non-conséquence

Rappel : une formule F est dite une conséquence d’unensemble de formules T si tout modèle de la théorie T est unmodèle de F .

§ se note : T |ù F

Comment se persuader qu’une formule close n’est pas uneconséquence de T ?

§ en exhibant un modèle de T qui n’est pas un modèle de F .

8

Page 16: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Conséquence/Non-conséquence

Rappel : une formule F est dite une conséquence d’unensemble de formules T si tout modèle de la théorie T est unmodèle de F .

§ se note : T |ù F

Comment se persuader qu’une formule close n’est pas uneconséquence de T ?

§ en exhibant un modèle de T qui n’est pas un modèle de F .

8

Page 17: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Faits

Pour chaque entier n et m, la formule

snp0q ` smp0q “ sn`mp0q,

est une conséquence des axiomes précédents, où snp0q estspsp¨ ¨ ¨ sp0qqq avec s répété n fois.

Mais@x@y x ` y “ y ` x

n’est pas une conséquence de ces axiomes.

9

Page 18: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Faits

Pour chaque entier n et m, la formule

snp0q ` smp0q “ sn`mp0q,

est une conséquence des axiomes précédents, où snp0q estspsp¨ ¨ ¨ sp0qqq avec s répété n fois.

Mais@x@y x ` y “ y ` x

n’est pas une conséquence de ces axiomes.

9

Page 19: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Un modèle où l’addition n’est pas commutativeSoit X un ensemble avec au moins deux éléments.On considère la structure M dont l’ensemble de base est

M “ NY pX ˆ Zq,

et où les symboles s,`, ˚,“ sont interprétés par les conditionssuivantes :

§ “ est interprété par l’égalité. s,`, ˚ étendent les fonctionscorrespondantes sur N ;

§ pour a “ px , nq :‚ spaq “ px , n ` 1q ;‚ a`m “ m ` a “ px , n `mq ;‚ a ˚m “ px , n ˚mq si m ‰ 0, et px , nq ˚ 0 “ 0 ;‚ m ˚ a “ px ,m ˚ nq ;

§ pour a “ px , nq et b “ py ,mq :‚ px , nq ` py ,mq “ px , n `mq ;‚ px , nq ˚ py ,mq “ px , n ˚mq.

Ce modèle est un modèle des axiomes précédents.L’addition n’y est pas commutative.

10

Page 20: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Plus précisément

Graphes, Groupes, Corps, . . .Et les entiers ?Arithmétique de Peano : première tentativeArithmétique de Peano

Page 21: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Idée des axiomes de Peano

ajouter une famille (un schéma) d’axiomes pour permettre lespreuves par récurrence.

cette fois l’addition sera bien nécessairement commutative, i.e.

@x@y x ` y “ y ` x

sera bien toujours satisfaite.

§ et on capture en pratique toutes les propriétés del’arithmétique.

11

Page 22: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Axiomes de PeanoLes axiomes de l’arithmétique de Peano sont :

§ les axiomes

+ ceux de l’égalité ;

@x spxq “ 0 (8)@x@y pspxq “ spyq ñ x “ yq (9)@x px “ 0_ Dy spyq “ xq (10)

@x 0` x “ x (11)@x spxq ` y “ spx ` yq (12)

@x 0 ˚ x “ 0 (13)@x spxq ˚ y “ x ˚ y ` y (14)

§ et l’ensemble de toutes les formules de la forme@x1 ¨ ¨ ¨ @xn

´

`

F p0, x1, ¨ ¨ ¨ , xnq^

@x0 pF px0, x1, ¨ ¨ ¨ , xnq ñ F pspx0q, x1, ¨ ¨ ¨ , xnqq˘

ñ @x0F px0, x1, ¨ ¨ ¨ , xnq¯

où n est n’importe quel entier et F px0, ¨ ¨ ¨ , xnq est n’importequelle formule de variables libres x0, ¨ ¨ ¨ , xn.

12

Page 23: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Axiomes de PeanoLes axiomes de l’arithmétique de Peano sont :

§ les axiomes + ceux de l’égalité ;

@x spxq “ 0 (8)@x@y pspxq “ spyq ñ x “ yq (9)@x px “ 0_ Dy spyq “ xq (10)

@x 0` x “ x (11)@x spxq ` y “ spx ` yq (12)

@x 0 ˚ x “ 0 (13)@x spxq ˚ y “ x ˚ y ` y (14)

§ et l’ensemble de toutes les formules de la forme@x1 ¨ ¨ ¨ @xn

´

`

F p0, x1, ¨ ¨ ¨ , xnq^

@x0 pF px0, x1, ¨ ¨ ¨ , xnq ñ F pspx0q, x1, ¨ ¨ ¨ , xnqq˘

ñ @x0F px0, x1, ¨ ¨ ¨ , xnq¯

où n est n’importe quel entier et F px0, ¨ ¨ ¨ , xnq est n’importequelle formule de variables libres x0, ¨ ¨ ¨ , xn.

12

Page 24: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Au menu

Retour sur l’épisode précédent : complétude

Graphes, Groupes, Corps, . . .Et les entiers ?

Théorème d’incomplétude

Quelques applications

Objectif de la suite du cours

Machines de Turing

Demain et Prochain épisode

Page 25: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

On note ThpNq l’ensemble des formules closes F qui sontvraies sur les entiers.

Théorème d’incomplétude.

§ Il existe des formules closes de ThpNq qui ne sont pasprouvables, à partir des axiomes de Peano, ou de touteaxiomatisation “raisonnable” 1 des entiers.

Second théorème d’incomplétude.

§ La cohérence de l’arithmétique (ou sa négation) est unexemple de telle formule.

1. Formellement, “récursivement énumérable” : voir suite du cours.13

Page 26: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Au menu

Retour sur l’épisode précédent : complétude

Graphes, Groupes, Corps, . . .Et les entiers ?

Théorème d’incomplétude

Quelques applications

Objectif de la suite du cours

Machines de Turing

Demain et Prochain épisode

Page 27: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Entiers non-standards

Il y a d’autres modèles que N des axiomes de Peano.

§ il existe des modèles non-standards de l’arithmétique.

14

Page 28: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Entiers non-standardsIl y a d’autres modèles que N des axiomes de Peano :

§ considérons un nouveau symbole de constante c .

§ considérons T défini comme l’union des axiomes de Peano etde toutes les formules c “ snp0q, pour n un entier.

§ Tout sous-ensemble fini de T admet un modèle, car il estinclus dans l’union des axiomes de Peano et des formules c “ snp0q pour 1 ď n ď N pour un certain entier N :

‚ il suffit d’interpréter c par N ` 1.

§ Donc T admet un modèle.

Ce modèle contient donc un élément qui n’est pas un entierstandard.

15

Page 29: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

...

Analyse non-standard

...

. . .f est continue si et seulement si pour tout y infiniment petitet pour tout réel x standard, f px ` yq ´ f pxq est infinimentpetit . . .

...

16

Page 30: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Deux autres utilisations de la logiqueComment prouver qu’un axiome F est “indépendant” d’unethéorie T ?

§ On utilise un modèle de T pour construire un modèle deT Y tF u, et un modèle de T Y t F u.

§ On prouve en fait la cohérence relative : si T cohérent, alorsT Y tF u cohérent.

Définissabilité :

§ On se donne un graphe (i.e. modèle d’une théorie sur unesignature contenant un symbole de relation R binaire).

§ Peut-on définir :‚ la relation “être accessible en deux coups” par une formule ?‚ la relation “être accessible par un chemin” (i.e. dans la même

composante connexe) ?

§ . . .applications aux requêtes dans les bases de données . . .

17

Page 31: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Au menu

Retour sur l’épisode précédent : complétude

Graphes, Groupes, Corps, . . .Et les entiers ?

Théorème d’incomplétude

Quelques applications

Objectif de la suite du cours

Machines de Turing

Demain et Prochain épisode

Page 32: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Objectif

Objectif de ce cours : répondre à la question suivante :

Qu’est-ce qu’un algorithme ?

AB

DE

C

Exemple d’algorithme :Pour construire un triangle équi-latéral ayant pour coté AB : tra-cer le cercle de centre A de rayonAB ; tracer le cercle de centre B

de rayon AB. Nommer C l’une desintersections de ces deux cercles.Le triangle ABC est la solution re-cherchée.

18

Page 33: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Thèse de Church

Historiquement, plusieurs modèles :

§ Fonctions récursives, Kurt Gödel, 1931-34.§ λ-calcul, Alonzo Church, 1936.§ Machines de Turing, Alan Turing, 1936.

§ Systèmes de Post,§ Machines RAM,§ Programmes JAVA, C, CAML, . . .§ . . .

Il s’avère que ces modèles, très différents, ont exactement lamême puissance

§ Thèse de Church/Turing : une fonction est calculable si etseulement si elle est calculable par machine de Turing.

‚ (exprimée clairement pour la première fois par StephenKleene, étudiant en thèse d’Alonzo Church.)

19

Page 34: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Thèse de Church

Historiquement, plusieurs modèles :

§ Fonctions récursives, Kurt Gödel, 1931-34.§ λ-calcul, Alonzo Church, 1936.§ Machines de Turing, Alan Turing, 1936.§ Systèmes de Post,

§ Machines RAM,§ Programmes JAVA, C, CAML, . . .§ . . .

Il s’avère que ces modèles, très différents, ont exactement lamême puissance

§ Thèse de Church/Turing : une fonction est calculable si etseulement si elle est calculable par machine de Turing.

‚ (exprimée clairement pour la première fois par StephenKleene, étudiant en thèse d’Alonzo Church.)

19

Page 35: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Thèse de Church

Historiquement, plusieurs modèles :

§ Fonctions récursives, Kurt Gödel, 1931-34.§ λ-calcul, Alonzo Church, 1936.§ Machines de Turing, Alan Turing, 1936.§ Systèmes de Post,§ Machines RAM,

§ Programmes JAVA, C, CAML, . . .§ . . .

Il s’avère que ces modèles, très différents, ont exactement lamême puissance

§ Thèse de Church/Turing : une fonction est calculable si etseulement si elle est calculable par machine de Turing.

‚ (exprimée clairement pour la première fois par StephenKleene, étudiant en thèse d’Alonzo Church.)

19

Page 36: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Thèse de Church

Historiquement, plusieurs modèles :

§ Fonctions récursives, Kurt Gödel, 1931-34.§ λ-calcul, Alonzo Church, 1936.§ Machines de Turing, Alan Turing, 1936.§ Systèmes de Post,§ Machines RAM,§ Programmes JAVA, C, CAML, . . .

§ . . .

Il s’avère que ces modèles, très différents, ont exactement lamême puissance

§ Thèse de Church/Turing : une fonction est calculable si etseulement si elle est calculable par machine de Turing.

‚ (exprimée clairement pour la première fois par StephenKleene, étudiant en thèse d’Alonzo Church.)

19

Page 37: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Thèse de Church

Historiquement, plusieurs modèles :

§ Fonctions récursives, Kurt Gödel, 1931-34.§ λ-calcul, Alonzo Church, 1936.§ Machines de Turing, Alan Turing, 1936.§ Systèmes de Post,§ Machines RAM,§ Programmes JAVA, C, CAML, . . .§ . . .

Il s’avère que ces modèles, très différents, ont exactement lamême puissance

§ Thèse de Church/Turing : une fonction est calculable si etseulement si elle est calculable par machine de Turing.

‚ (exprimée clairement pour la première fois par StephenKleene, étudiant en thèse d’Alonzo Church.)

19

Page 38: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Thèse de Church

Historiquement, plusieurs modèles :

§ Fonctions récursives, Kurt Gödel, 1931-34.§ λ-calcul, Alonzo Church, 1936.§ Machines de Turing, Alan Turing, 1936.§ Systèmes de Post,§ Machines RAM,§ Programmes JAVA, C, CAML, . . .§ . . .

Il s’avère que ces modèles, très différents, ont exactement lamême puissance

§ Thèse de Church/Turing : une fonction est calculable si etseulement si elle est calculable par machine de Turing.

‚ (exprimée clairement pour la première fois par StephenKleene, étudiant en thèse d’Alonzo Church.)

19

Page 39: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Parenthèse historique

Théorie de la relativité : 1907/1915Théorème d’incomplétude : 1931

20

Page 40: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Alan M. Turing

. . .BB 2 3 j u i n 1 9 1 2 - - 7 j u i n 1 9 5 4 BB. . .

q

Machines de Turing : 193621

Page 41: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Parenthèse historique

Ces modèles sont nés des suites du théorème d’incomplétudede Kurt Gödel :

Et en fait de la question suivante “Entscheidungsproblem” :

Peut-on décider mécaniquementsi un énoncé est démontrable ou non ?

Il s’avère que préciser “mécaniquement”, c’est formaliser lanotion d’algorithme.

22

Page 42: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Parenthèse historique

Ces modèles sont nés des suites du théorème d’incomplétudede Kurt Gödel :

Et en fait de la question suivante “Entscheidungsproblem” :

Peut-on décider mécaniquementsi un énoncé est démontrable ou non ?

Il s’avère que préciser “mécaniquement”, c’est formaliser lanotion d’algorithme.

22

Page 43: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Parenthèse historique

Ces modèles sont nés des suites du théorème d’incomplétudede Kurt Gödel :

Et en fait de la question suivante “Entscheidungsproblem” :

Peut-on décider mécaniquementsi un énoncé est démontrable ou non ?

Il s’avère que préciser “mécaniquement”, c’est formaliser lanotion d’algorithme.

22

Page 44: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Au menu

Retour sur l’épisode précédent : complétude

Graphes, Groupes, Corps, . . .Et les entiers ?

Théorème d’incomplétude

Quelques applications

Objectif de la suite du cours

Machines de Turing

Demain et Prochain épisode

Page 45: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Plus précisément

Machines de TuringIngrédientsDescription formelleProgrammer avec des machines de TuringTechniques de programmationVariantes de la notion de machine de Turing

Page 46: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Machine de Turing

ruban. . .B B B B B a b a a b B B B B B B B B B B . . .

q

Une machine de Turing (déterministe) est composée deséléments suivants :

§ une mémoire infinie sous forme de ruban, divisé en cases ;§ chaque case peut contenir un élément d’un alphabet fini fixé ;§ une tête de lecture qui se déplace sur le ruban ;§ un programme donné par une fonction de transition qui pour

chaque état de la machine q, parmi un nombre fini d’étatspossibles Q, précise selon le symbole sous la tête de lecture :

1. l’état suivant q1 P Q ;2. le nouvel élément de Σ à écrire à la place de l’élément de Σ

sous la tête de lecture ;3. un sens de déplacement Ð, |, ou Ñ pour la tête de lecture.

23

Page 47: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Machine de Turing

ruban. . .B B B B B a b a a b B B B B B B B B B B . . .

q

Une machine de Turing (déterministe) est composée deséléments suivants :

§ une mémoire infinie sous forme de ruban, divisé en cases ;

§ chaque case peut contenir un élément d’un alphabet fini fixé ;§ une tête de lecture qui se déplace sur le ruban ;§ un programme donné par une fonction de transition qui pour

chaque état de la machine q, parmi un nombre fini d’étatspossibles Q, précise selon le symbole sous la tête de lecture :

1. l’état suivant q1 P Q ;2. le nouvel élément de Σ à écrire à la place de l’élément de Σ

sous la tête de lecture ;3. un sens de déplacement Ð, |, ou Ñ pour la tête de lecture.

23

Page 48: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Machine de Turing

ruban. . .B B B B B a b a a b B B B B B B B B B B . . .

q

Une machine de Turing (déterministe) est composée deséléments suivants :

§ une mémoire infinie sous forme de ruban, divisé en cases ;§ chaque case peut contenir un élément d’un alphabet fini fixé ;

§ une tête de lecture qui se déplace sur le ruban ;§ un programme donné par une fonction de transition qui pour

chaque état de la machine q, parmi un nombre fini d’étatspossibles Q, précise selon le symbole sous la tête de lecture :

1. l’état suivant q1 P Q ;2. le nouvel élément de Σ à écrire à la place de l’élément de Σ

sous la tête de lecture ;3. un sens de déplacement Ð, |, ou Ñ pour la tête de lecture.

23

Page 49: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Machine de Turing

ruban. . .B B B B B a b a a b B B B B B B B B B B . . .

q

Une machine de Turing (déterministe) est composée deséléments suivants :

§ une mémoire infinie sous forme de ruban, divisé en cases ;§ chaque case peut contenir un élément d’un alphabet fini fixé ;§ une tête de lecture qui se déplace sur le ruban ;

§ un programme donné par une fonction de transition qui pourchaque état de la machine q, parmi un nombre fini d’étatspossibles Q, précise selon le symbole sous la tête de lecture :

1. l’état suivant q1 P Q ;2. le nouvel élément de Σ à écrire à la place de l’élément de Σ

sous la tête de lecture ;3. un sens de déplacement Ð, |, ou Ñ pour la tête de lecture.

23

Page 50: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Machine de Turing

ruban. . .B B B B B a b a a b B B B B B B B B B B . . .

q

Une machine de Turing (déterministe) est composée deséléments suivants :

§ une mémoire infinie sous forme de ruban, divisé en cases ;§ chaque case peut contenir un élément d’un alphabet fini fixé ;§ une tête de lecture qui se déplace sur le ruban ;§ un programme donné par une fonction de transition qui pour

chaque état de la machine q, parmi un nombre fini d’étatspossibles Q, précise selon le symbole sous la tête de lecture :

1. l’état suivant q1 P Q ;2. le nouvel élément de Σ à écrire à la place de l’élément de Σ

sous la tête de lecture ;3. un sens de déplacement Ð, |, ou Ñ pour la tête de lecture.

23

Page 51: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Machine de Turing

ruban. . .B B B B B a b a a b B B B B B B B B B B . . .

q

Une machine de Turing (déterministe) est composée deséléments suivants :

§ une mémoire infinie sous forme de ruban, divisé en cases ;§ chaque case peut contenir un élément d’un alphabet fini fixé ;§ une tête de lecture qui se déplace sur le ruban ;§ un programme donné par une fonction de transition qui pour

chaque état de la machine q, parmi un nombre fini d’étatspossibles Q, précise selon le symbole sous la tête de lecture :1. l’état suivant q1 P Q ;

2. le nouvel élément de Σ à écrire à la place de l’élément de Σsous la tête de lecture ;

3. un sens de déplacement Ð, |, ou Ñ pour la tête de lecture.

23

Page 52: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Machine de Turing

ruban. . .B B B B B a b a a b B B B B B B B B B B . . .

q

Une machine de Turing (déterministe) est composée deséléments suivants :

§ une mémoire infinie sous forme de ruban, divisé en cases ;§ chaque case peut contenir un élément d’un alphabet fini fixé ;§ une tête de lecture qui se déplace sur le ruban ;§ un programme donné par une fonction de transition qui pour

chaque état de la machine q, parmi un nombre fini d’étatspossibles Q, précise selon le symbole sous la tête de lecture :1. l’état suivant q1 P Q ;2. le nouvel élément de Σ à écrire à la place de l’élément de Σ

sous la tête de lecture ;

3. un sens de déplacement Ð, |, ou Ñ pour la tête de lecture.

23

Page 53: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Machine de Turing

ruban. . .B B B B B a b a a b B B B B B B B B B B . . .

q

Une machine de Turing (déterministe) est composée deséléments suivants :

§ une mémoire infinie sous forme de ruban, divisé en cases ;§ chaque case peut contenir un élément d’un alphabet fini fixé ;§ une tête de lecture qui se déplace sur le ruban ;§ un programme donné par une fonction de transition qui pour

chaque état de la machine q, parmi un nombre fini d’étatspossibles Q, précise selon le symbole sous la tête de lecture :1. l’état suivant q1 P Q ;2. le nouvel élément de Σ à écrire à la place de l’élément de Σ

sous la tête de lecture ;3. un sens de déplacement Ð, |, ou Ñ pour la tête de lecture.

23

Page 54: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exécution d’une machine de Turing sur un mot :configuration initiale

. . .B B B B B i n f o r m a t i q u e B B B . . .

q0

Initialement :§ l’entrée se trouve sur le ruban, et la tête de lecture est

positionnée sur la première lettre du mot.§ Les cases des rubans qui ne correspondent pas à l’entrée

contiennent toutes l’élément B (symbole de blanc), qui est unelettre particulière.

§ La machine est positionnée dans son état initial q0.

24

Page 55: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exécution d’une machine de Turing sur un mot :configurations suivantes

. . .BBBBB i n f o r m a t i q u e BBB. . .

q0

A chaque étape de l’exécution :

§ la machine, selon son état, lit le symbole se trouvant sous latête de lecture, et selon ce symbole :‚ remplace le symbole sous la tête de lecture par celui précisé

par sa fonction transition ;‚ déplace possiblement cette tête de lecture d’une case vers la

droite ou vers la gauche suivant le sens précisé par la fonctionde transition ;

‚ change d’état vers l’état suivant.

Le mot w est dit accepté lorsque l’exécution de la machinefinit par atteindre son état d’acceptation qa.

25

Page 56: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exécution d’une machine de Turing sur un mot :configurations suivantes

. . .BBBBB I n f o r m a t i q u e BBB. . .

q1

A chaque étape de l’exécution :

§ la machine, selon son état, lit le symbole se trouvant sous latête de lecture, et selon ce symbole :‚ remplace le symbole sous la tête de lecture par celui précisé

par sa fonction transition ;‚ déplace possiblement cette tête de lecture d’une case vers la

droite ou vers la gauche suivant le sens précisé par la fonctionde transition ;

‚ change d’état vers l’état suivant.

Le mot w est dit accepté lorsque l’exécution de la machinefinit par atteindre son état d’acceptation qa.

25

Page 57: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exécution d’une machine de Turing sur un mot :configurations suivantes

. . .BBBBB I N f o r m a t i q u e BBB. . .

q1

A chaque étape de l’exécution :

§ la machine, selon son état, lit le symbole se trouvant sous latête de lecture, et selon ce symbole :‚ remplace le symbole sous la tête de lecture par celui précisé

par sa fonction transition ;‚ déplace possiblement cette tête de lecture d’une case vers la

droite ou vers la gauche suivant le sens précisé par la fonctionde transition ;

‚ change d’état vers l’état suivant.

Le mot w est dit accepté lorsque l’exécution de la machinefinit par atteindre son état d’acceptation qa.

25

Page 58: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exécution d’une machine de Turing sur un mot :configurations suivantes

. . .BBBBB I N F o r m a t i q u e BBB. . .

q1

A chaque étape de l’exécution :

§ la machine, selon son état, lit le symbole se trouvant sous latête de lecture, et selon ce symbole :‚ remplace le symbole sous la tête de lecture par celui précisé

par sa fonction transition ;‚ déplace possiblement cette tête de lecture d’une case vers la

droite ou vers la gauche suivant le sens précisé par la fonctionde transition ;

‚ change d’état vers l’état suivant.

Le mot w est dit accepté lorsque l’exécution de la machinefinit par atteindre son état d’acceptation qa.

25

Page 59: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exécution d’une machine de Turing sur un mot :configurations suivantes

. . .BBBBB I N FO r m a t i q u e BBB. . .

q1

A chaque étape de l’exécution :

§ la machine, selon son état, lit le symbole se trouvant sous latête de lecture, et selon ce symbole :‚ remplace le symbole sous la tête de lecture par celui précisé

par sa fonction transition ;‚ déplace possiblement cette tête de lecture d’une case vers la

droite ou vers la gauche suivant le sens précisé par la fonctionde transition ;

‚ change d’état vers l’état suivant.

Le mot w est dit accepté lorsque l’exécution de la machinefinit par atteindre son état d’acceptation qa.

25

Page 60: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exécution d’une machine de Turing sur un mot :configurations suivantes

. . .BBBBB I N FORm a t i q u e BBB. . .

q2

A chaque étape de l’exécution :

§ la machine, selon son état, lit le symbole se trouvant sous latête de lecture, et selon ce symbole :‚ remplace le symbole sous la tête de lecture par celui précisé

par sa fonction transition ;‚ déplace possiblement cette tête de lecture d’une case vers la

droite ou vers la gauche suivant le sens précisé par la fonctionde transition ;

‚ change d’état vers l’état suivant.

Le mot w est dit accepté lorsque l’exécution de la machinefinit par atteindre son état d’acceptation qa.

25

Page 61: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exécution d’une machine de Turing sur un mot :configurations suivantes

. . .BBBBB I N FORMa t i q u e BBB. . .

q2

A chaque étape de l’exécution :

§ la machine, selon son état, lit le symbole se trouvant sous latête de lecture, et selon ce symbole :‚ remplace le symbole sous la tête de lecture par celui précisé

par sa fonction transition ;‚ déplace possiblement cette tête de lecture d’une case vers la

droite ou vers la gauche suivant le sens précisé par la fonctionde transition ;

‚ change d’état vers l’état suivant.

Le mot w est dit accepté lorsque l’exécution de la machinefinit par atteindre son état d’acceptation qa.

25

Page 62: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exécution d’une machine de Turing sur un mot :configurations suivantes

. . .BBBBB I N FORMA t i q u e BBB. . .

q2

A chaque étape de l’exécution :

§ la machine, selon son état, lit le symbole se trouvant sous latête de lecture, et selon ce symbole :‚ remplace le symbole sous la tête de lecture par celui précisé

par sa fonction transition ;‚ déplace possiblement cette tête de lecture d’une case vers la

droite ou vers la gauche suivant le sens précisé par la fonctionde transition ;

‚ change d’état vers l’état suivant.

Le mot w est dit accepté lorsque l’exécution de la machinefinit par atteindre son état d’acceptation qa.

25

Page 63: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exécution d’une machine de Turing sur un mot :configurations suivantes

. . .BBBBB I N FORMAT i q u e BBB. . .

q2

A chaque étape de l’exécution :

§ la machine, selon son état, lit le symbole se trouvant sous latête de lecture, et selon ce symbole :‚ remplace le symbole sous la tête de lecture par celui précisé

par sa fonction transition ;‚ déplace possiblement cette tête de lecture d’une case vers la

droite ou vers la gauche suivant le sens précisé par la fonctionde transition ;

‚ change d’état vers l’état suivant.

Le mot w est dit accepté lorsque l’exécution de la machinefinit par atteindre son état d’acceptation qa.

25

Page 64: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exécution d’une machine de Turing sur un mot :configurations suivantes

. . .BBBBB I N FORMAT I q u e BBB. . .

q2

A chaque étape de l’exécution :

§ la machine, selon son état, lit le symbole se trouvant sous latête de lecture, et selon ce symbole :‚ remplace le symbole sous la tête de lecture par celui précisé

par sa fonction transition ;‚ déplace possiblement cette tête de lecture d’une case vers la

droite ou vers la gauche suivant le sens précisé par la fonctionde transition ;

‚ change d’état vers l’état suivant.

Le mot w est dit accepté lorsque l’exécution de la machinefinit par atteindre son état d’acceptation qa.

25

Page 65: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exécution d’une machine de Turing sur un mot :configurations suivantes

. . .BBBBB I N FORMAT I Q u e BBB. . .

q2

A chaque étape de l’exécution :

§ la machine, selon son état, lit le symbole se trouvant sous latête de lecture, et selon ce symbole :‚ remplace le symbole sous la tête de lecture par celui précisé

par sa fonction transition ;‚ déplace possiblement cette tête de lecture d’une case vers la

droite ou vers la gauche suivant le sens précisé par la fonctionde transition ;

‚ change d’état vers l’état suivant.

Le mot w est dit accepté lorsque l’exécution de la machinefinit par atteindre son état d’acceptation qa.

25

Page 66: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exécution d’une machine de Turing sur un mot :configurations suivantes

. . .BBBBB I N FORMAT I QU e BBB. . .

q2

A chaque étape de l’exécution :

§ la machine, selon son état, lit le symbole se trouvant sous latête de lecture, et selon ce symbole :‚ remplace le symbole sous la tête de lecture par celui précisé

par sa fonction transition ;‚ déplace possiblement cette tête de lecture d’une case vers la

droite ou vers la gauche suivant le sens précisé par la fonctionde transition ;

‚ change d’état vers l’état suivant.

Le mot w est dit accepté lorsque l’exécution de la machinefinit par atteindre son état d’acceptation qa.

25

Page 67: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exécution d’une machine de Turing sur un mot :configurations suivantes

. . .BBBBB I N FORMAT I QUEBBB. . .

qa

A chaque étape de l’exécution :

§ la machine, selon son état, lit le symbole se trouvant sous latête de lecture, et selon ce symbole :‚ remplace le symbole sous la tête de lecture par celui précisé

par sa fonction transition ;‚ déplace possiblement cette tête de lecture d’une case vers la

droite ou vers la gauche suivant le sens précisé par la fonctionde transition ;

‚ change d’état vers l’état suivant.

Le mot w est dit accepté lorsque l’exécution de la machinefinit par atteindre son état d’acceptation qa.

25

Page 68: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Plus précisément

Machines de TuringIngrédientsDescription formelleProgrammer avec des machines de TuringTechniques de programmationVariantes de la notion de machine de Turing

Page 69: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Machine de Turing

Une machine de Turing est un 8-uplet

M “ pQ,Σ, Γ,B, δ, q0, qa, qr q

où :1. Q est l’ensemble fini des états ;2. Σ est un alphabet fini ;3. Γ est l’alphabet de travail fini : Σ Ă Γ ;4. B P Γ, B R Σ est le caractère blanc ;5. q0 P Q est l’état initial ;6. qa P Q est l’état d’acceptation ;7. qr P Q est l’état de refus (ou d’arrêt) ;8. δ est la fonction de transition : δ est une fonction

(possiblement partielle) de Q ˆ Γ dans Q ˆ Γˆ tÐ, |,Ñu. Lesymbole Ð est utilisé pour signifier un déplacement vers lagauche, Ñ un déplacement vers la droite, et | aucundéplacement.

26

Page 70: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

ConfigurationUne configuration est donnée par la description du ruban,par la position de la tête de lecture/écriture, et par l’étatinterne.

ruban. . .B B B i n f o r m a t i q u e B B B B B . . .

q

§ Notation 1 : pq, fni , ormatiqueq‚ Cas général : C “ pq, u, vq, avec u, v P Γ˚, q P Q : u et v

désignent le contenu respectivement à gauche et à droite de latête de lecture du ruban, la tête de lecture du ruban étant surla première lettre de v . On suppose que les dernières lettres deu et de v ne sont pas B, qu’à droite et à gauche de u et v surle ruban il n’y a que des B et que v est écrit de gauche àdroite, et u de droite à gauche.

§ Notation 2 : inf qormatique.‚ Cas général : uqv , en gardant u et v écrit de gauche à droite.

27

Page 71: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

ConfigurationUne configuration est donnée par la description du ruban,par la position de la tête de lecture/écriture, et par l’étatinterne.

ruban. . .B B B i n f o r m a t i q u e B B B B B . . .

q

§ Notation 1 : pq, fni , ormatiqueq‚ Cas général : C “ pq, u, vq, avec u, v P Γ˚, q P Q : u et v

désignent le contenu respectivement à gauche et à droite de latête de lecture du ruban, la tête de lecture du ruban étant surla première lettre de v . On suppose que les dernières lettres deu et de v ne sont pas B, qu’à droite et à gauche de u et v surle ruban il n’y a que des B et que v est écrit de gauche àdroite, et u de droite à gauche.

§ Notation 2 : inf qormatique.‚ Cas général : uqv , en gardant u et v écrit de gauche à droite.

27

Page 72: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Dérivations entre configurationsUne configuration est dite acceptante si q “ qa, refusante siq “ qr .

Pour w P Σ˚, la configuration initiale correspondant à w est laconfiguration C rw s “ pq0, ε,wq.

On note : C $ C 1 si la configuration C 1 est le successeurdirect de la configuration C par le programme δ de la machinede Turing.

§ Formellement, si C “ pq, u, vq et si a désigne la premièrelettre 2 de v , et si δpq, aq “ pq1, a1,m1q alors C $ C 1 si‚ C 1 “ pq1, u1, v 1q, et‚ si m1 “Ñ, u1 “ a1u, et v 1 est obtenu en supprimant la

première lettre a de v .‚ si m1 “Ð, u1 est obtenu en supprimant la première lettre a2

de u, et v 1 est obtenu en concaténtant a2 et le resultat duremplacement de la premère lettre a de v par a1.

‚ si m1 “ |, u1 “ u, et v 1 est obtenu en remplaçant la premèrelettre a de v par a1.

2. Avec la convention que la première lettre du mot vide est le blanc B.28

Page 73: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Dérivations entre configurationsUne configuration est dite acceptante si q “ qa, refusante siq “ qr .

Pour w P Σ˚, la configuration initiale correspondant à w est laconfiguration C rw s “ pq0, ε,wq.

On note : C $ C 1 si la configuration C 1 est le successeurdirect de la configuration C par le programme δ de la machinede Turing.

§ Formellement, si C “ pq, u, vq et si a désigne la premièrelettre 2 de v , et si δpq, aq “ pq1, a1,m1q alors C $ C 1 si‚ C 1 “ pq1, u1, v 1q, et‚ si m1 “Ñ, u1 “ a1u, et v 1 est obtenu en supprimant la

première lettre a de v .‚ si m1 “Ð, u1 est obtenu en supprimant la première lettre a2

de u, et v 1 est obtenu en concaténtant a2 et le resultat duremplacement de la premère lettre a de v par a1.

‚ si m1 “ |, u1 “ u, et v 1 est obtenu en remplaçant la premèrelettre a de v par a1.

2. Avec la convention que la première lettre du mot vide est le blanc B.28

Page 74: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Calcul par une machine de TuringUn mot w P Σ˚ est dit accepté (en temps t) par la machinede Turing, s’il existe une suite de configurations C1, ¨ ¨ ¨ ,Ct

avec :1. C0 “ C rw s ;2. Ci $ Ci`1 pour tout i ă t ;3. aucune configuration Ci pour i ă t n’est acceptante ou

refusante.4. Ct est acceptante.

Un mot w P Σ˚ est dit refusé (en temps t) par la machine deTuring, s’il existe une suite de configurations C1, ¨ ¨ ¨ ,Ct avec :1. C0 “ C rw s ;2. Ci $ Ci`1 pour tout i ă t ;3. aucune configuration Ci pour i ă t n’est acceptante ou

refusante.4. Ct est refusante.

On dit que la machine de Turing s’arrête sur un mot w , si west accepté, ou refusé, boucle dans le cas contraire (= n’est niaccepté, ni refusé).

29

Page 75: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Calcul par une machine de Turing

Le langage L Ă Σ˚ accepté par M, noté LpMq est l’ensembledes mots w qui sont acceptés par la machine.

On dit qu’un langage L Ă Σ˚ est décidé par Σ par lamachine si :

§ pour w P L, w est accepté par la machine ;§ pour w R L (=sinon), w est refusé par la machine.

‚ Autrement dit, la machine accepte L et termine sur touteentrée.

30

Page 76: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Plus précisément

Machines de TuringIngrédientsDescription formelleProgrammer avec des machines de TuringTechniques de programmationVariantes de la notion de machine de Turing

Page 77: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Premier programme

Construire une machine de Turing qui accepte exactement lesmots w sur l’alphabet Σ “ t0, 1u de la forme 0n1n,n P N, n ą 0.

§ Voici une solution :‚ On considère une machine avec Q “ tq0, q1, q2, q3, q4u,

Γ “ t0, 1,X ,Y ,Bu,‚ l’état d’acceptation q4 et une fonction de transition δ telle

que :‚ δpq0, 0q “ pq1,X ,Ñq ;‚ δpq0,Y q “ pq3,Y ,Ñq ;‚ δpq1, 0q “ pq1, 0,Ñq ;‚ δpq1, 1q “ pq2,Y ,Ðq ;‚ δpq1,Y q “ pq1,Y ,Ñq ;‚ δpq2, 0q “ pq2, 0,Ðq ;‚ δpq2,X q “ pq0,X ,Ñq ;‚ δpq2,Y q “ pq2,Y ,Ðq ;‚ δpq3,Y q “ pq3,Y ,Ñq ;‚ δpq3,Bq “ pq4,B,Ñq.

31

Page 78: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Premier programme

Construire une machine de Turing qui accepte exactement lesmots w sur l’alphabet Σ “ t0, 1u de la forme 0n1n,n P N, n ą 0.

§ Voici une solution :‚ On considère une machine avec Q “ tq0, q1, q2, q3, q4u,

Γ “ t0, 1,X ,Y ,Bu,‚ l’état d’acceptation q4 et une fonction de transition δ telle

que :‚ δpq0, 0q “ pq1,X ,Ñq ;‚ δpq0,Y q “ pq3,Y ,Ñq ;‚ δpq1, 0q “ pq1, 0,Ñq ;‚ δpq1, 1q “ pq2,Y ,Ðq ;‚ δpq1,Y q “ pq1,Y ,Ñq ;‚ δpq2, 0q “ pq2, 0,Ðq ;‚ δpq2,X q “ pq0,X ,Ñq ;‚ δpq2,Y q “ pq2,Y ,Ðq ;‚ δpq3,Y q “ pq3,Y ,Ñq ;‚ δpq3,Bq “ pq4,B,Ñq.

31

Page 79: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Représentation graphique

Convention graphique :

les sommets dugraphe représententles états de lamachine ;

on représentechaque transitionδpq, aq “ pq1, a1,mqpar un arc de l’étatq vers l’état q1étiqueté para{a1 m ;

l’état initial estmarqué par uneflèche entrante ;

l’état d’acceptationest marqué par undouble cercle.

q0start q1 q2

q3 q4

0/X Ñ

Y/Y Ñ

0/0 ÑY/Y Ñ

1/Y Ð

0/0 Ð

X/X ÑY/Y Ð

Y/Y Ñ

B/B Ñ

32

Page 80: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Comment fonctionne-t-il ?

q0start q1 q2

q3 q4

0/X Ñ

Y/Y Ñ

0/0 ÑY/Y Ñ

1/Y Ð

0/0 Ð

X/X Ñ Y/Y Ð

Y/Y Ñ

B/B Ñ

. . .BBBBB 0 0 1 1BBBBBBBBBBB. . .

q0

33

Page 81: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Comment fonctionne-t-il ?

q0start q1 q2

q3 q4

0/X Ñ

Y/Y Ñ

0/0 ÑY/Y Ñ

1/Y Ð

0/0 Ð

X/X Ñ Y/Y Ð

Y/Y Ñ

B/B Ñ

. . .BBBBBX 0 1 1BBBBBBBBBBB. . .

q1

33

Page 82: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Comment fonctionne-t-il ?

q0start q1 q2

q3 q4

0/X Ñ

Y/Y Ñ

0/0 ÑY/Y Ñ

1/Y Ð

0/0 Ð

X/X Ñ Y/Y Ð

Y/Y Ñ

B/B Ñ

. . .BBBBBX 0 1 1BBBBBBBBBBB. . .

q1

33

Page 83: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Comment fonctionne-t-il ?

q0start q1 q2

q3 q4

0/X Ñ

Y/Y Ñ

0/0 ÑY/Y Ñ

1/Y Ð

0/0 Ð

X/X Ñ Y/Y Ð

Y/Y Ñ

B/B Ñ

. . .BBBBBX 0 Y 1BBBBBBBBBBB. . .

q2

33

Page 84: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Comment fonctionne-t-il ?

q0start q1 q2

q3 q4

0/X Ñ

Y/Y Ñ

0/0 ÑY/Y Ñ

1/Y Ð

0/0 Ð

X/X Ñ Y/Y Ð

Y/Y Ñ

B/B Ñ

. . .BBBBBX 0 Y 1BBBBBBBBBBB. . .

q2

33

Page 85: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Comment fonctionne-t-il ?

q0start q1 q2

q3 q4

0/X Ñ

Y/Y Ñ

0/0 ÑY/Y Ñ

1/Y Ð

0/0 Ð

X/X Ñ Y/Y Ð

Y/Y Ñ

B/B Ñ

. . .BBBBBX 0 Y 1BBBBBBBBBBB. . .

q0

33

Page 86: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Comment fonctionne-t-il ?

q0start q1 q2

q3 q4

0/X Ñ

Y/Y Ñ

0/0 ÑY/Y Ñ

1/Y Ð

0/0 Ð

X/X Ñ Y/Y Ð

Y/Y Ñ

B/B Ñ

. . .BBBBBXXY 1BBBBBBBBBBB. . .

q1

33

Page 87: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Comment fonctionne-t-il ?

q0start q1 q2

q3 q4

0/X Ñ

Y/Y Ñ

0/0 ÑY/Y Ñ

1/Y Ð

0/0 Ð

X/X Ñ Y/Y Ð

Y/Y Ñ

B/B Ñ

. . .BBBBBXXY 1BBBBBBBBBBB. . .

q1

33

Page 88: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Comment fonctionne-t-il ?

q0start q1 q2

q3 q4

0/X Ñ

Y/Y Ñ

0/0 ÑY/Y Ñ

1/Y Ð

0/0 Ð

X/X Ñ Y/Y Ð

Y/Y Ñ

B/B Ñ

. . .BBBBBXXYYBBBBBBBBBBB. . .

q2

33

Page 89: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Comment fonctionne-t-il ?

q0start q1 q2

q3 q4

0/X Ñ

Y/Y Ñ

0/0 ÑY/Y Ñ

1/Y Ð

0/0 Ð

X/X Ñ Y/Y Ð

Y/Y Ñ

B/B Ñ

. . .BBBBBXXYYBBBBBBBBBBB. . .

q2

33

Page 90: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Comment fonctionne-t-il ?

q0start q1 q2

q3 q4

0/X Ñ

Y/Y Ñ

0/0 ÑY/Y Ñ

1/Y Ð

0/0 Ð

X/X Ñ Y/Y Ð

Y/Y Ñ

B/B Ñ

. . .BBBBBXXYYBBBBBBBBBBB. . .

q0

33

Page 91: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Comment fonctionne-t-il ?

q0start q1 q2

q3 q4

0/X Ñ

Y/Y Ñ

0/0 ÑY/Y Ñ

1/Y Ð

0/0 Ð

X/X Ñ Y/Y Ð

Y/Y Ñ

B/B Ñ

. . .BBBBBXXYYBBBBBBBBBBB. . .

q3

33

Page 92: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Comment fonctionne-t-il ?

q0start q1 q2

q3 q4

0/X Ñ

Y/Y Ñ

0/0 ÑY/Y Ñ

1/Y Ð

0/0 Ð

X/X Ñ Y/Y Ð

Y/Y Ñ

B/B Ñ

. . .BBBBBXXYYBBBBBBBBBBB. . .

q3

33

Page 93: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Comment fonctionne-t-il ?

q0start q1 q2

q3 q4

0/X Ñ

Y/Y Ñ

0/0 ÑY/Y Ñ

1/Y Ð

0/0 Ð

X/X Ñ Y/Y Ð

Y/Y Ñ

B/B Ñ

. . .BBBBBXXYYBBBBBBBBBBB. . .

q4

33

Page 94: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe :

§ Le ruban reste de la forme X˚0˚Y ˚1˚.§ A chaque fois que l’on lit un 0, on le remplace par un X , et on

rentre dans l’état q1, ce qui correspond à lancer lasous-procédure suivante :‚ on se déplace à droite tant que l’on lit un 0 ou un Y ;‚ dès qu’on a atteint un 1, on le transforme en un Y , et on

revient à gauche jusqu’à revenir sur un X (le X qu’on avaitécrit) et s’être déplacé d’une case vers la droite.

‚ En faisant ainsi, pour chaque 0 effacé (i.e. X marqué), onaura effacé un 1 (i.e. marqué un Y ).

§ Si on a marqué tous les 0 et que l’on atteint un Y , on rentredans l’état q3,‚ ce qui a pour objet de vérifier que ce qui est à droite est bien

constitué uniquement de Y .§ Lorsqu’on a tout lu, c-à-d atteint un B, on accepte,

c’est-à-dire on va dans l’état q4.

. . .BBBBB 0 0 1 1BBBBBBBBBBB. . .

q0

34

Page 95: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe :

§ Le ruban reste de la forme X˚0˚Y ˚1˚.§ A chaque fois que l’on lit un 0, on le remplace par un X , et on

rentre dans l’état q1, ce qui correspond à lancer lasous-procédure suivante :‚ on se déplace à droite tant que l’on lit un 0 ou un Y ;‚ dès qu’on a atteint un 1, on le transforme en un Y , et on

revient à gauche jusqu’à revenir sur un X (le X qu’on avaitécrit) et s’être déplacé d’une case vers la droite.

‚ En faisant ainsi, pour chaque 0 effacé (i.e. X marqué), onaura effacé un 1 (i.e. marqué un Y ).

§ Si on a marqué tous les 0 et que l’on atteint un Y , on rentredans l’état q3,‚ ce qui a pour objet de vérifier que ce qui est à droite est bien

constitué uniquement de Y .§ Lorsqu’on a tout lu, c-à-d atteint un B, on accepte,

c’est-à-dire on va dans l’état q4.

. . .BBBBBX 0 1 1BBBBBBBBBBB. . .

q1

34

Page 96: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe :

§ Le ruban reste de la forme X˚0˚Y ˚1˚.§ A chaque fois que l’on lit un 0, on le remplace par un X , et on

rentre dans l’état q1, ce qui correspond à lancer lasous-procédure suivante :‚ on se déplace à droite tant que l’on lit un 0 ou un Y ;‚ dès qu’on a atteint un 1, on le transforme en un Y , et on

revient à gauche jusqu’à revenir sur un X (le X qu’on avaitécrit) et s’être déplacé d’une case vers la droite.

‚ En faisant ainsi, pour chaque 0 effacé (i.e. X marqué), onaura effacé un 1 (i.e. marqué un Y ).

§ Si on a marqué tous les 0 et que l’on atteint un Y , on rentredans l’état q3,‚ ce qui a pour objet de vérifier que ce qui est à droite est bien

constitué uniquement de Y .§ Lorsqu’on a tout lu, c-à-d atteint un B, on accepte,

c’est-à-dire on va dans l’état q4.

. . .BBBBBX 0 1 1BBBBBBBBBBB. . .

q1

34

Page 97: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe :

§ Le ruban reste de la forme X˚0˚Y ˚1˚.§ A chaque fois que l’on lit un 0, on le remplace par un X , et on

rentre dans l’état q1, ce qui correspond à lancer lasous-procédure suivante :‚ on se déplace à droite tant que l’on lit un 0 ou un Y ;‚ dès qu’on a atteint un 1, on le transforme en un Y , et on

revient à gauche jusqu’à revenir sur un X (le X qu’on avaitécrit) et s’être déplacé d’une case vers la droite.

‚ En faisant ainsi, pour chaque 0 effacé (i.e. X marqué), onaura effacé un 1 (i.e. marqué un Y ).

§ Si on a marqué tous les 0 et que l’on atteint un Y , on rentredans l’état q3,‚ ce qui a pour objet de vérifier que ce qui est à droite est bien

constitué uniquement de Y .§ Lorsqu’on a tout lu, c-à-d atteint un B, on accepte,

c’est-à-dire on va dans l’état q4.

. . .BBBBBX 0 Y 1BBBBBBBBBBB. . .

q2

34

Page 98: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe :

§ Le ruban reste de la forme X˚0˚Y ˚1˚.§ A chaque fois que l’on lit un 0, on le remplace par un X , et on

rentre dans l’état q1, ce qui correspond à lancer lasous-procédure suivante :‚ on se déplace à droite tant que l’on lit un 0 ou un Y ;‚ dès qu’on a atteint un 1, on le transforme en un Y , et on

revient à gauche jusqu’à revenir sur un X (le X qu’on avaitécrit) et s’être déplacé d’une case vers la droite.

‚ En faisant ainsi, pour chaque 0 effacé (i.e. X marqué), onaura effacé un 1 (i.e. marqué un Y ).

§ Si on a marqué tous les 0 et que l’on atteint un Y , on rentredans l’état q3,‚ ce qui a pour objet de vérifier que ce qui est à droite est bien

constitué uniquement de Y .§ Lorsqu’on a tout lu, c-à-d atteint un B, on accepte,

c’est-à-dire on va dans l’état q4.

. . .BBBBBX 0 Y 1BBBBBBBBBBB. . .

q2

34

Page 99: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe :

§ Le ruban reste de la forme X˚0˚Y ˚1˚.§ A chaque fois que l’on lit un 0, on le remplace par un X , et on

rentre dans l’état q1, ce qui correspond à lancer lasous-procédure suivante :‚ on se déplace à droite tant que l’on lit un 0 ou un Y ;‚ dès qu’on a atteint un 1, on le transforme en un Y , et on

revient à gauche jusqu’à revenir sur un X (le X qu’on avaitécrit) et s’être déplacé d’une case vers la droite.

‚ En faisant ainsi, pour chaque 0 effacé (i.e. X marqué), onaura effacé un 1 (i.e. marqué un Y ).

§ Si on a marqué tous les 0 et que l’on atteint un Y , on rentredans l’état q3,‚ ce qui a pour objet de vérifier que ce qui est à droite est bien

constitué uniquement de Y .§ Lorsqu’on a tout lu, c-à-d atteint un B, on accepte,

c’est-à-dire on va dans l’état q4.

. . .BBBBBX 0 Y 1BBBBBBBBBBB. . .

q0

34

Page 100: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe :

§ Le ruban reste de la forme X˚0˚Y ˚1˚.§ A chaque fois que l’on lit un 0, on le remplace par un X , et on

rentre dans l’état q1, ce qui correspond à lancer lasous-procédure suivante :‚ on se déplace à droite tant que l’on lit un 0 ou un Y ;‚ dès qu’on a atteint un 1, on le transforme en un Y , et on

revient à gauche jusqu’à revenir sur un X (le X qu’on avaitécrit) et s’être déplacé d’une case vers la droite.

‚ En faisant ainsi, pour chaque 0 effacé (i.e. X marqué), onaura effacé un 1 (i.e. marqué un Y ).

§ Si on a marqué tous les 0 et que l’on atteint un Y , on rentredans l’état q3,‚ ce qui a pour objet de vérifier que ce qui est à droite est bien

constitué uniquement de Y .§ Lorsqu’on a tout lu, c-à-d atteint un B, on accepte,

c’est-à-dire on va dans l’état q4.

. . .BBBBBXXY 1BBBBBBBBBBB. . .

q1

34

Page 101: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe :

§ Le ruban reste de la forme X˚0˚Y ˚1˚.§ A chaque fois que l’on lit un 0, on le remplace par un X , et on

rentre dans l’état q1, ce qui correspond à lancer lasous-procédure suivante :‚ on se déplace à droite tant que l’on lit un 0 ou un Y ;‚ dès qu’on a atteint un 1, on le transforme en un Y , et on

revient à gauche jusqu’à revenir sur un X (le X qu’on avaitécrit) et s’être déplacé d’une case vers la droite.

‚ En faisant ainsi, pour chaque 0 effacé (i.e. X marqué), onaura effacé un 1 (i.e. marqué un Y ).

§ Si on a marqué tous les 0 et que l’on atteint un Y , on rentredans l’état q3,‚ ce qui a pour objet de vérifier que ce qui est à droite est bien

constitué uniquement de Y .§ Lorsqu’on a tout lu, c-à-d atteint un B, on accepte,

c’est-à-dire on va dans l’état q4.

. . .BBBBBXXY 1BBBBBBBBBBB. . .

q1

34

Page 102: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe :

§ Le ruban reste de la forme X˚0˚Y ˚1˚.§ A chaque fois que l’on lit un 0, on le remplace par un X , et on

rentre dans l’état q1, ce qui correspond à lancer lasous-procédure suivante :‚ on se déplace à droite tant que l’on lit un 0 ou un Y ;‚ dès qu’on a atteint un 1, on le transforme en un Y , et on

revient à gauche jusqu’à revenir sur un X (le X qu’on avaitécrit) et s’être déplacé d’une case vers la droite.

‚ En faisant ainsi, pour chaque 0 effacé (i.e. X marqué), onaura effacé un 1 (i.e. marqué un Y ).

§ Si on a marqué tous les 0 et que l’on atteint un Y , on rentredans l’état q3,‚ ce qui a pour objet de vérifier que ce qui est à droite est bien

constitué uniquement de Y .§ Lorsqu’on a tout lu, c-à-d atteint un B, on accepte,

c’est-à-dire on va dans l’état q4.

. . .BBBBBXXYYBBBBBBBBBBB. . .

q2

34

Page 103: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe :

§ Le ruban reste de la forme X˚0˚Y ˚1˚.§ A chaque fois que l’on lit un 0, on le remplace par un X , et on

rentre dans l’état q1, ce qui correspond à lancer lasous-procédure suivante :‚ on se déplace à droite tant que l’on lit un 0 ou un Y ;‚ dès qu’on a atteint un 1, on le transforme en un Y , et on

revient à gauche jusqu’à revenir sur un X (le X qu’on avaitécrit) et s’être déplacé d’une case vers la droite.

‚ En faisant ainsi, pour chaque 0 effacé (i.e. X marqué), onaura effacé un 1 (i.e. marqué un Y ).

§ Si on a marqué tous les 0 et que l’on atteint un Y , on rentredans l’état q3,‚ ce qui a pour objet de vérifier que ce qui est à droite est bien

constitué uniquement de Y .§ Lorsqu’on a tout lu, c-à-d atteint un B, on accepte,

c’est-à-dire on va dans l’état q4.

. . .BBBBBXXYYBBBBBBBBBBB. . .

q2

34

Page 104: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe :

§ Le ruban reste de la forme X˚0˚Y ˚1˚.§ A chaque fois que l’on lit un 0, on le remplace par un X , et on

rentre dans l’état q1, ce qui correspond à lancer lasous-procédure suivante :‚ on se déplace à droite tant que l’on lit un 0 ou un Y ;‚ dès qu’on a atteint un 1, on le transforme en un Y , et on

revient à gauche jusqu’à revenir sur un X (le X qu’on avaitécrit) et s’être déplacé d’une case vers la droite.

‚ En faisant ainsi, pour chaque 0 effacé (i.e. X marqué), onaura effacé un 1 (i.e. marqué un Y ).

§ Si on a marqué tous les 0 et que l’on atteint un Y , on rentredans l’état q3,‚ ce qui a pour objet de vérifier que ce qui est à droite est bien

constitué uniquement de Y .§ Lorsqu’on a tout lu, c-à-d atteint un B, on accepte,

c’est-à-dire on va dans l’état q4.

. . .BBBBBXXYYBBBBBBBBBBB. . .

q0

34

Page 105: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe :

§ Le ruban reste de la forme X˚0˚Y ˚1˚.§ A chaque fois que l’on lit un 0, on le remplace par un X , et on

rentre dans l’état q1, ce qui correspond à lancer lasous-procédure suivante :‚ on se déplace à droite tant que l’on lit un 0 ou un Y ;‚ dès qu’on a atteint un 1, on le transforme en un Y , et on

revient à gauche jusqu’à revenir sur un X (le X qu’on avaitécrit) et s’être déplacé d’une case vers la droite.

‚ En faisant ainsi, pour chaque 0 effacé (i.e. X marqué), onaura effacé un 1 (i.e. marqué un Y ).

§ Si on a marqué tous les 0 et que l’on atteint un Y , on rentredans l’état q3,‚ ce qui a pour objet de vérifier que ce qui est à droite est bien

constitué uniquement de Y .§ Lorsqu’on a tout lu, c-à-d atteint un B, on accepte,

c’est-à-dire on va dans l’état q4.

. . .BBBBBXXYYBBBBBBBBBBB. . .

q3

34

Page 106: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe :

§ Le ruban reste de la forme X˚0˚Y ˚1˚.§ A chaque fois que l’on lit un 0, on le remplace par un X , et on

rentre dans l’état q1, ce qui correspond à lancer lasous-procédure suivante :‚ on se déplace à droite tant que l’on lit un 0 ou un Y ;‚ dès qu’on a atteint un 1, on le transforme en un Y , et on

revient à gauche jusqu’à revenir sur un X (le X qu’on avaitécrit) et s’être déplacé d’une case vers la droite.

‚ En faisant ainsi, pour chaque 0 effacé (i.e. X marqué), onaura effacé un 1 (i.e. marqué un Y ).

§ Si on a marqué tous les 0 et que l’on atteint un Y , on rentredans l’état q3,‚ ce qui a pour objet de vérifier que ce qui est à droite est bien

constitué uniquement de Y .§ Lorsqu’on a tout lu, c-à-d atteint un B, on accepte,

c’est-à-dire on va dans l’état q4.

. . .BBBBBXXYYBBBBBBBBBBB. . .

q3

34

Page 107: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe :

§ Le ruban reste de la forme X˚0˚Y ˚1˚.§ A chaque fois que l’on lit un 0, on le remplace par un X , et on

rentre dans l’état q1, ce qui correspond à lancer lasous-procédure suivante :‚ on se déplace à droite tant que l’on lit un 0 ou un Y ;‚ dès qu’on a atteint un 1, on le transforme en un Y , et on

revient à gauche jusqu’à revenir sur un X (le X qu’on avaitécrit) et s’être déplacé d’une case vers la droite.

‚ En faisant ainsi, pour chaque 0 effacé (i.e. X marqué), onaura effacé un 1 (i.e. marqué un Y ).

§ Si on a marqué tous les 0 et que l’on atteint un Y , on rentredans l’état q3,‚ ce qui a pour objet de vérifier que ce qui est à droite est bien

constitué uniquement de Y .§ Lorsqu’on a tout lu, c-à-d atteint un B, on accepte,

c’est-à-dire on va dans l’état q4.

. . .BBBBBXXYYBBBBBBBBBBB. . .

q4

34

Page 108: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Diagramme Espace-tempsOn représente souvent une suite de configurations ligne parligne : la ligne numéro i représente la ième configuration ducalcul (en utilisant la notation 2 pour les configurations).Exemple : Diagramme espace-temps du calcul sur 0011.

. . .B B B Bq0 0 0 1 1 B B B B B B B B B B B . . .

. . .B B B B Xq1 0 1 1 B B B B B B B B B B B . . .

. . .B B B B X 0 q1 1 1 B B B B B B B B B B B . . .

. . .B B B B Xq2 0 Y 1 B B B B B B B B B B B . . .

. . .B B B Bq2X 0 Y 1 B B B B B B B B B B B . . .

. . .B B B B Xq0 0 Y 1 B B B B B B B B B B B . . .

. . .B B B B X Xq1Y 1 B B B B B B B B B B B . . .

. . .B B B B X X Yq1 1 B B B B B B B B B B B . . .

. . .B B B B X Xq2Y Y B B B B B B B B B B B . . .

. . .B B B B Xq2X Y Y B B B B B B B B B B B . . .

. . .B B B B X Xq0Y Y B B B B B B B B B B B . . .

. . .B B B B X X Yq3Y B B B B B B B B B B B . . .

. . .B B B B X X Y Yq3B B B B B B B B B B B . . .

. . .B B B B X X Y Y Bq4B B B B B B B B B B . . .

35

Page 109: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exemple : Diagramme espace-temps du calcul sur 0010 :

. . .B B B Bq0 0 0 1 0 B B B B B B B B B B B . . .

. . .B B B B Xq1 0 1 0 B B B B B B B B B B B . . .

. . .B B B B X 0 q1 1 0 B B B B B B B B B B B . . .

. . .B B B B Xq2 0 Y 0 B B B B B B B B B B B . . .

. . .B B B Bq2X 0 Y 0 B B B B B B B B B B B . . .

. . .B B B B Xq0 0 Y 0 B B B B B B B B B B B . . .

. . .B B B B X Xq1Y 0 B B B B B B B B B B B . . .

. . .B B B B X X Yq1 0 B B B B B B B B B B B . . .

. . .B B B B X X Y 0 q1B B B B B B B B B B B . . .

§ sur la dernière configuration plus aucune évolution n’estpossible, et donc il n’y a pas de calcul acceptant partant de0010.

§ on aurait pu construire la machine de telle sorte qu’elle serende dans un état de rejet q5 systématiquement lorsqu’aucunetransition du programme précédent n’est possible.

36

Page 110: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exemple : Diagramme espace-temps du calcul sur 0010 :

. . .B B B Bq0 0 0 1 0 B B B B B B B B B B B . . .

. . .B B B B Xq1 0 1 0 B B B B B B B B B B B . . .

. . .B B B B X 0 q1 1 0 B B B B B B B B B B B . . .

. . .B B B B Xq2 0 Y 0 B B B B B B B B B B B . . .

. . .B B B Bq2X 0 Y 0 B B B B B B B B B B B . . .

. . .B B B B Xq0 0 Y 0 B B B B B B B B B B B . . .

. . .B B B B X Xq1Y 0 B B B B B B B B B B B . . .

. . .B B B B X X Yq1 0 B B B B B B B B B B B . . .

. . .B B B B X X Y 0 q1B B B B B B B B B B B . . .

§ sur la dernière configuration plus aucune évolution n’estpossible, et donc il n’y a pas de calcul acceptant partant de0010.

§ on aurait pu construire la machine de telle sorte qu’elle serende dans un état de rejet q5 systématiquement lorsqu’aucunetransition du programme précédent n’est possible.

36

Page 111: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Soustraction en unaire

Construire un programme de machine de Turing qui réalise unesoustraction en unaire : partant d’un mot de la forme 0m10n,la machine s’arrête avec 0man sur son ruban (entouré deblancs), où m a n est maxp0,m ´ nq.

Détails

37

Page 112: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Plus précisément

Machines de TuringIngrédientsDescription formelleProgrammer avec des machines de TuringTechniques de programmationVariantes de la notion de machine de Turing

Page 113: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Technique 1 :Utiliser l’état interne pour stocker une information finie.

Exercice 1.

§ Construire un programme de machine de Turing qui lit lesymbole en face de la tête de lecture et vérifie que ce derniern’apparaît nulle part ailleurs à droite, sauf sur la toute dernièrelettre à droite.

Détails

38

Page 114: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Technique 2 :Utiliser des sous-procédures

Exercice 2 : Multiplication en unaire.

§ Construire un programme de machine de Turing qui réalise unemultiplication en unaire : partant d’un mot de la forme 0m10n,la machine s’arrête avec 0m˚n sur son ruban.

Détails

39

Page 115: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exercices

Construire une machine de Turing qui ajoute (respectivement :soustrait) 1 au nombre écrit en binaire sur son ruban.

Construire une machine de Turing qui renverse son entrée :partant de w “ a1a2 ¨ ¨ ¨ an, la machine s’arrête avec le motwR “ an ¨ ¨ ¨ a2a1.

Construire une machine de Turing qui partant d’un motw#w1#w2, avec w ,w1,w2 écrits sur l’alphabet t0, 1u, leremplace par w1#w#w2.

. . .

voir la PC de demain.

. . .

40

Page 116: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Exercices

Construire une machine de Turing qui ajoute (respectivement :soustrait) 1 au nombre écrit en binaire sur son ruban.

Construire une machine de Turing qui renverse son entrée :partant de w “ a1a2 ¨ ¨ ¨ an, la machine s’arrête avec le motwR “ an ¨ ¨ ¨ a2a1.

Construire une machine de Turing qui partant d’un motw#w1#w2, avec w ,w1,w2 écrits sur l’alphabet t0, 1u, leremplace par w1#w#w2.

. . .

voir la PC de demain.

. . .

40

Page 117: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Plus précisément

Machines de TuringIngrédientsDescription formelleProgrammer avec des machines de TuringTechniques de programmationVariantes de la notion de machine de Turing

Page 118: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Robustesse du modèle

Le modèle de la machine de Turing est extrêmement robuste.

On peut en effet envisager de nombreuses variantes autour duconcept de machine de Turing,

§ mais aucune de ces variantes ne change ce que l’on arrive àprogrammer avec ces machines.

41

Page 119: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Robustesse du modèle

Le modèle de la machine de Turing est extrêmement robuste.

On peut en effet envisager de nombreuses variantes autour duconcept de machine de Turing,

§ mais aucune de ces variantes ne change ce que l’on arrive àprogrammer avec ces machines.

41

Page 120: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Restriction à un alphabet binaire

Toute machine de Turing qui travaille sur un alphabet Σquelconque peut être simulée par une machine de Turing quitravaille sur un alphabet Σ avec uniquement deux lettres, avecΓ “ ΣY tBu.

Idée de la démonstration :

§ Machine M sur l’alphabet ta, b, cu

. . . B B B B B a b a a c b B B B B B B B B B . . .

q7

§ Machine M 1 simulant M sur l’alphabet t0, 1u.

. . . B B B B B 0 0 0 1 0 0 0 0 1 0 0 1 B B B . . .

q7

a b a a c b

42

Page 121: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Restriction à un alphabet binaire

Toute machine de Turing qui travaille sur un alphabet Σquelconque peut être simulée par une machine de Turing quitravaille sur un alphabet Σ avec uniquement deux lettres, avecΓ “ ΣY tBu.

Idée de la démonstration :

§ Machine M sur l’alphabet ta, b, cu

. . . B B B B B a b a a c b B B B B B B B B B . . .

q7

§ Machine M 1 simulant M sur l’alphabet t0, 1u.

. . . B B B B B 0 0 0 1 0 0 0 0 1 0 0 1 B B B . . .

q7

a b a a c b

42

Page 122: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Restriction à un alphabet binaire

Toute machine de Turing qui travaille sur un alphabet Σquelconque peut être simulée par une machine de Turing quitravaille sur un alphabet Σ avec uniquement deux lettres, avecΓ “ ΣY tBu.

Idée de la démonstration :

§ Machine M sur l’alphabet ta, b, cu

. . . B B B B B a b a a c b B B B B B B B B B . . .

q7

§ Machine M 1 simulant M sur l’alphabet t0, 1u.

. . . B B B B B 0 0 0 1 0 0 0 0 1 0 0 1 B B B . . .

q7

a b a a c b

42

Page 123: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Machines de Turing à plusieurs rubans

ruban 1. . . B B B B B a b a a b B B B B B . . .

ruban 2. . . B B B B B b c a a B B B B B B . . .

ruban 3. . . B B B B B a a b a B B B B B B . . .

q5

43

Page 124: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Toute machine de Turing qui travaille avec k rubans peut êtresimulée par une machine de Turing avec un unique ruban.

Idée de la démonstration :

. . . B B B a b’ a a b # b c a a’ # a a b’ a B B . . .

q0

ruban 1 ruban 2 ruban 3

44

Page 125: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Toute machine de Turing qui travaille avec k rubans peut êtresimulée par une machine de Turing avec un unique ruban.

Idée de la démonstration :

. . . B B B a b’ a a b # b c a a’ # a a b’ a B B . . .

q0

ruban 1 ruban 2 ruban 3

44

Page 126: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Le modèle de la machine de Turing peut paraître extrêmementrudimentaire.

Il n’en demeure pas moins extrêmement puissant, et capablede capturer la notion de calculable en informatique.

45

Page 127: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Au menu

Retour sur l’épisode précédent : complétude

Graphes, Groupes, Corps, . . .Et les entiers ?

Théorème d’incomplétude

Quelques applications

Objectif de la suite du cours

Machines de Turing

Demain et Prochain épisode

Page 128: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Plus précisément

Demain et Prochain épisodeThèse de Church

Page 129: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Thèse de Church

Thèse de Church:

Calculable dans un sens intuitifcorrespond à

calculable par machine de Turing

46

Page 130: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

ANNEXES

Page 131: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBB 0 0 0 1 0BBBBBBBBBB. . .

q0

Page 132: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBB 0 0 1 0BBBBBBBBBB. . .

q1

Page 133: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBB 0 0 1 0BBBBBBBBBB. . .

q1

Page 134: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBB 0 0 1 0BBBBBBBBBB. . .

q1

Page 135: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBB 0 0 1 0BBBBBBBBBB. . .

q2

Page 136: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBB 0 0 1 1BBBBBBBBBB. . .

q3

Page 137: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBB 0 0 1 1BBBBBBBBBB. . .

q3

Page 138: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBB 0 0 1 1BBBBBBBBBB. . .

q3

Page 139: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBB 0 0 1 1BBBBBBBBBB. . .

q3

Page 140: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBB 0 0 1 1BBBBBBBBBB. . .

q0

Page 141: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBBB 0 1 1BBBBBBBBBB. . .

q1

Page 142: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBBB 0 1 1BBBBBBBBBB. . .

q1

Page 143: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBBB 0 1 1BBBBBBBBBB. . .

q2

Page 144: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBBB 0 1 1BBBBBBBBBB. . .

q2

Page 145: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBBB 0 1 1 BBBBBBBBBB. . .

q4

Page 146: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBBB 0 1 BBBBBBBBBBB. . .

q4

Page 147: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBBB 0 BBBBBBBBBBBB. . .

q4

Page 148: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBBB 0 BBBBBBBBBBBB. . .

q4

Page 149: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

SoustractionVoici une solution avec Γ “ t0, 1,Bu.

q0start q1 q2

q3

q4q6q5

0/B Ñ

0/0 Ñ

1/1 Ñ

0/1 Ð

1/1 Ñ0/0 Ð

1/1 Ð

B/B Ñ

B/B Ð

0/0 Ð

1/B ÐB/0 Ñ

B/B Ñ

0/B Ñ

1/B Ñ

1/B Ñ

. . .BBBBBB 0 0 BBBBBBBBBBBB. . .

q6

Page 150: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBB 0 0 0 1 0BBBBBBBBBB. . .

q0

Page 151: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBB 0 0 1 0BBBBBBBBBB. . .

q1

Page 152: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBB 0 0 1 0BBBBBBBBBB. . .

q1

Page 153: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBB 0 0 1 0BBBBBBBBBB. . .

q1

Page 154: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBB 0 0 1 0BBBBBBBBBB. . .

q2

Page 155: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBB 0 0 1 1BBBBBBBBBB. . .

q3

Page 156: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBB 0 0 1 1BBBBBBBBBB. . .

q3

Page 157: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBB 0 0 1 1BBBBBBBBBB. . .

q3

Page 158: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBB 0 0 1 1BBBBBBBBBB. . .

q3

Page 159: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBB 0 0 1 1BBBBBBBBBB. . .

q0

Page 160: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBBB 0 1 1BBBBBBBBBB. . .

q1

Page 161: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBBB 0 1 1BBBBBBBBBB. . .

q1

Page 162: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBBB 0 1 1BBBBBBBBBB. . .

q2

Page 163: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBBB 0 1 1BBBBBBBBBB. . .

q2

Page 164: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBBB 0 1 1 BBBBBBBBBB. . .

q4

Page 165: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBBB 0 1 BBBBBBBBBBB. . .

q4

Page 166: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBBB 0 BBBBBBBBBBBB. . .

q4

Page 167: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBBB 0 BBBBBBBBBBBB. . .

q4

Page 168: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Principe : Retour

§ La machine recherche le 0 le plus à gauche et le remplace parun blanc. Elle cherche alors à droite un 1, quand elle en trouveun elle continue à droite jusqu’à trouver un 0 qu’elle remplacepar un 1. La machine retourne alors à gauche pour trouver le 0le plus à gauche qu’elle identifie en trouvant le premier blancen se déplaçant à gauche et en se déplaçant depuis ce blancd’une case vers la droite.

§ On répète le processus jusqu’à ce que :‚ soit en cherchant à droite un 0, on rencontre un blanc. Alors

les n 0 dans 0m10n ont été changés en 1 et n ` 1 des m 0 ontété changés en B. Dans ce cas, la machine remplace les n ` 11 par un 0 et n blancs, ce qui laisse m ´ n 0 sur le ruban.Puisque dans ce cas, m ě n, m a n “ m ´ n.

‚ ou en recommençant le cycle, la machine n’arrive pas àtrouver un 0 à changer en blanc, puisque les m premiers 0 ontdéjà été changés en B. Alors n ě m, et donc m a n “ 0. Lamachine remplace alors tous les 1 et 0 restants par des blancs,et termine avec un ruban complètement blanc.

. . .BBBBBB 0 0 BBBBBBBBBBBB. . .

q6

Page 169: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Utiliser l’état interne pour stocker une information finie

Si l’on fixe un symbole a0 P Σ, il est facile de construire unprogramme qui vérifie que le symbole a0 n’apparaît nulle partsauf sur la toute dernière lettre à droite.

q0start q2q1

@a P Σ, a ‰ a0, a/a Ñ

B/B Ða0/a0 Ñ

Page 170: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Pour résoudre notre problème, il suffit de lire la première lettrea0 et de recopier ce programme autant de fois qu’il y a delettres dans Σ. Si Σ “ t0, 1, 2u par exemple :

qstart q0{0

q0{1

q0{2

qf

0/0 Ñ

1/1 Ñ

2/2 Ñ

q1{0

@a P Σ, a ‰ 0, a/a Ñ

B/B Ð

0/0 Ñ

q1{1

@a P Σ, a ‰ 1, a/a Ñ

B/B Ð1/1 Ñ

q1{2

@a P Σ, a ‰ 2, a/a Ñ B/B Ð

2/2 ÑRetour

§ On utilise le fait que l’on travaille sur des états qui peuventêtre des couples : ici des couples qi{j avec i P t1, 2u, et j P Σ.

Page 171: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Pour résoudre notre problème, il suffit de lire la première lettrea0 et de recopier ce programme autant de fois qu’il y a delettres dans Σ. Si Σ “ t0, 1, 2u par exemple :

qstart q0{0

q0{1

q0{2

qf

0/0 Ñ

1/1 Ñ

2/2 Ñ

q1{0

@a P Σ, a ‰ 0, a/a Ñ

B/B Ð

0/0 Ñ

q1{1

@a P Σ, a ‰ 1, a/a Ñ

B/B Ð1/1 Ñ

q1{2

@a P Σ, a ‰ 2, a/a Ñ B/B Ð

2/2 ÑRetour

§ On utilise le fait que l’on travaille sur des états qui peuventêtre des couples : ici des couples qi{j avec i P t1, 2u, et j P Σ.

Page 172: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Technique 2 :Utiliser des sous-procédures

Voici une stratégie possible :

1. le ruban contiendra un mot de la forme 0i10n10kn pour uncertain entier k ;

2. dans chaque étape, on change un 0 du premier groupe en unblanc, et on ajoute n 0 au dernier groupe, pour obtenir unechaîne de la forme 0i´110n10pk`1qn ;

3. en faisant ainsi, on copie le groupe de n 0 m fois, une fois pourchaque symbole du premier groupe mis à blanc. Quand il nereste plus de blanc dans le premier groupe de 0, il y aura doncm ˚ n 0 dans le dernier groupe ;

4. la dernière étape est de changer le préfixe 10n1 en des blancs,et cela sera terminé.

Page 173: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Implémenter l’étape 2Transformer une configuration 0m´k1q10n10pk´1qn en0m´k1q50n10kn.

q1start q2

q3

q4

q5

0/X Ñ1/1 Ñ

0/0 Ñ

B/0 Ð1/1 Ð

0/0 Ð

X/X Ñ1/1 Ð

X/0 Ð

1/1 Ñ

Page 174: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Programme global

q0start

q6 q1 q5 q7 q8

q9

q10q11q12

0/B Ñ

0/0 Ñ

1/1 Ñ 0/0 Ð 1/1 Ð

0/0 Ð

0/0 Ð

B/B Ñ

B/B Ñ

1/B Ñ

0/B Ñ

1/B Ñ

§ On utilise le fait que l’on peut réaliser des sous-procédures en“collant” des programmes correspondant à dessous-procédures.

Retour

Page 175: Cours 4: Incomplétude. Machine de Turing.€¦ · Machines de Turing Demain et Prochain épisode. Théorème de complétude On sait construire un (des) système(s) de déduction

Programme global

q0start

q6 q1 q5 q7 q8

q9

q10q11q12

0/B Ñ

0/0 Ñ

1/1 Ñ 0/0 Ð 1/1 Ð

0/0 Ð

0/0 Ð

B/B Ñ

B/B Ñ

1/B Ñ

0/B Ñ

1/B Ñ

§ On utilise le fait que l’on peut réaliser des sous-procédures en“collant” des programmes correspondant à dessous-procédures.

Retour