Indcidabilit - PowerPoint PPT Presentation

1 / 58
About This Presentation
Title:

Indcidabilit

Description:

Supposons au contraire qu'il existe une machine de Turing M qui accepte L0. ... Simuler une tape du calcul de M sur x. Si M accepte x, alors T accepte x; ... – PowerPoint PPT presentation

Number of Views:51
Avg rating:3.0/5.0
Slides: 59
Provided by: Pat145
Category:

less

Transcript and Presenter's Notes

Title: Indcidabilit


1
Indécidabilité

2
Un langage qui nest pas un langage à structures
de phrase
  • Lencodage ci-dessus nous donne une fonction
    surjective f N ? machines de Turing, pour un
    alphabet ? donné.
  • Soit w ??. Notons Mw la machine f(w) cest la
    machine avec alphabet ? dont lencodage est le
    nombre longueur de w (siw nest pas lencodage
    dune machine de Turing, prendre la machine
    ci-dessus pour Mw).
  • Soit maintenant le langageL0 w Mw naccepte
    pas w.

3
Théorème
  • Soit L0 le langage L0 w Mw naccepte pas w.
    L0 nest pas Turing-acceptable.

4
Démonstration
  • La preuve est une preuve par contradiction.
    Supposons au contraire quil existe une machine
    de Turing M qui accepte L0.

5
La machine M peut alors être encodée, selon la
technique de Brookshear, par un nombre binaire,
disons n. Il existe certainement une séquence w0
? ? telle que w0 n. La machine M
reconnaissant L0 est alors Mw0, et on a L0
L(Mw0).
6
Question
  • A-t-on w0 ? L(Mw0)?
  • Supposons que oui. Puisque L0 L(Mw0), on a w0 ?
    L0. Par définition de L0 , cela veut dire que Mw0
    naccepte pas w0 , et donc que w0 ? L(Mw0). Cest
    une contradiction on ne peut donc avoir w0 ?
    L(Mw0). Examinons lautre possibilité.

7
  • A-t-on w0 ? L(Mw0)?
  • Supposons que non (cest-à-dire supposons que w0
    ? L(Mw0)). Puisque L0 L(Mw0), on a w0 ? L0. Par
    définition de L0 , cela veut dire que Mw0 accepte
    w0 , et donc que w0 ? L(Mw0). Cest une
    contradiction on ne peut donc avoir w0 ? L(Mw0).

8
Comme nous ne pouvons avoir ni w0 ? L(Mw0) ni w0
? L(Mw0), cela nous force à conclure que la
supposition initiale est erronée. Il nexiste
donc pas de machine de Turing qui puisse
reconnaître L0. Cela veut dire quil existe un
langage qui nest pas Turing acceptable et quon
vient den exhiber un.
9
  • Que se passe-t-il si lon donne ?(M) en entrée à
    M? Ou bien M sarrête ou bien elle ne sarrête
    pas (pas très fort comme résultat). Soit
    maintenantLh ?(M) M accepte ?(M) Lh
    contient les descriptions des machines de Turing
    qui sarrêtent normalement lorsque leur séqeunce
    dentrée est ?(M).

10
Question
  • Est-ce que Lh est décidable? À cause de la
    définition de Lh, on appelle ce problème le
    problème de larrêt.

11
Théorème
  • Lh nest pas décidable.

12
Démonstration
  • Montrons-le par contradiction. Supposons quil
    existe une machine de Turing Mh qui décide Lh.
    Modifions Mh pour quelle réponde par ? 1 ? ?
    et ? 0 ? ?
  • au lieu de ? O ? ? et ? N ? ?
  • respectivement. Appelons cette machine modifiée
    Mh. Lalphabet de ruban de Mh est 0, 1, ?.

13
  • Soit la machine M0 avec lalphabet de ruban ?0
    0, 1, ? définie ainsi

M0 arrêtesi et seulement si Mh arrête dans la
configuration ? 0 ? ? si et seulement si Mh
arrête dans la configuration ? N ? ?
14
  • Est-ce que M0 sarrête avec lentrée ?(M0)?
  • Supposons que oui. Alors, par définition de Lh,
    ?(M0) ? Lh, doù Mh sarrête avec un O, doù Mh
    sarrête avec un 1, doù M0 ne sarrête pas.
    Contradiction. Examinons lautre possibilité.
  • Supposons que non. Alors, ?(M0) ? Lh, doù Mh
    sarrête avec N, doù Mh sarrête avec un 0,
    doù M0 sarrête. Contradiction.
  • Puisque M0 ne peut ni sarrêter ni ne pas
    sarrêter, il faut abandonner lhypothèse
    initiale quil existe une machine de Turing Mh
    décidant Lh.

15
Descriptions de MT
  • Pour parler des enjeux de décidabilité, il est
    pratique de décrire les machines de Turing de
    façon plus grossière à laide de pseudo-code. On
    suivra les conventions suivantes
  • On dénote ltMgt lencodage binaire dune machine de
    Turing.
  • Lalphabet est toujours binaire 0,1.

16
  • Le fonctionnement dune machine M est donné par
  • M  Entrée x
  • Étape 1
  • Étape 2
  •  
  • n. Étape n 
  • Chaque étape décrit une opération simple quune
    machine de Turing peut clairement effectuer.
  • Dans chaque étape on peut accepter lentrée x (la
    machine sarrête en écrivant 1 sur le ruban) ou
    rejeter cette entrée (la machine sarrête en
    écrivant 0 sur le ruban).
  • On peut spécifier que x a une certaine forme, par
    exemple en utilisant  Entrée ltNgt pour indiquer
    que nos données sont interprétées comme la
    description dune machine de Turing N.

17
Exemple
  • La machine suivante accepte le langage de larrêt
    Lh.
  • T  Entrée ltMgt
  • Simuler M sur ltMgt
  • Si M accepte ltMgt alors T accepte ltMgt 

18
Théorème
  • Si L est décidable alors son complément Lc est
    également décidable.

19
Preuve
  • Supposons que L est décidable grâce à la machine
    de Turing T.
  • Considérons la machine suivante
  • S  entrée w
  • Simuler T sur w
  • Si T accepte w alors rejeter w. Si T rejette w
    alors accepter w 

20
  • Pour toute entrée w, la machine S simule T sur w
    et comme T décide L, cette simulation se termine
    toujours. Donc S sarrête toujours.
  • L(S) Lc car w est accepté par S ssi w est
    rejeté par T.
  • Donc S décide le langage Lc.

21
Théorème
  • Si L est Turing acceptable et si son complément
    Lc est également Turing acceptable alors le
    langage L est décidable.

22
Preuve
  • Supposons que M et N sont des machines de Turing
    telles que L(M) L et L(N) Lc.
  • Nous navons par contre pas de garantie que M et
    N terminent les exécutions sur des mots quils
    nacceptent pas.

23
  • Considérons la machine suivante.
  • T   Entrée x
  • Répéter étapes 2 et 3 jusquà larrêt
  • Simuler une étape du calcul de M sur x. Si M
    accepte x, alors T accepte x
  • Simuler une étape du calcul de N sur x. Si N
    accepte x alors T rejette x 

24
  • Que fait T? Considérons deux cas
  • Si x ? L alors M accepte x en un nombre fini
    détapes. Donc T accepte x en un nombre fini
    détapes.
  • Si x ?L alors on a x ? Lc. Donc N accepte x en un
    nombre fini détapes. Donc T rejette x en un
    nombre fini détapes.
  • ? T décide L.

25
  • Le langage Lh nest pas décidable mais est
    Turing-acceptable.
  • Son complément L0 nest pas décidable mais nest
    pas non plus Turing acceptable.

26
Un autre problème indécidable
  • Soit NVMT ltMgt M une m.t. et L(M) ? ?
  • Nous allons montrer que ce langage nest pas
    décidable.
  • Idée clé Si NVMT est décidable alors le problème
    de larrêt est également décidable.

27
Démonstration
  • Supposons que NVMT est décidable grâce à la
    machine de Turing R.
  • On peut définir pour chaque machine de Turing M
    une machine de Turing SM comme suit
  • SM  Entrée x
  • Si x ? 0 alors rejeter x
  • Si x 0 alors simuler M sur ltMgt et accepter x
    ssi M accepte ltMgt 
  • Donc si M accepte ltMgt on a L(SM) 0. Par
    contre si M naccepte pas ltMgt on a L(SM) ?.

28
  • Notez aussi quil est facile de construire la
    machine SM à partir de ltMgt.
  • Que fait alors la machine de Turing suivante?
  • T   Entrée ltMgt
  • Construire la machine SM et produire ltSMgt
  • Simuler R sur lentrée ltSMgt et accepter ltMgt si R
    accepte ltSMgt mais rejeter ltMgt si R rejette
    ltSMgt 

29
  • Considérons deux cas.
  • Si M accepte ltMgt alors L(SM) 0. Ce langage
    nest pas vide donc R va accepter ltSMgt et T
    accepte ltMgt.
  • Si M naccepte pas ltMgt alors L(SM) ? donc R va
    rejeter ltSMgt et T rejette ltMgt.
  • Donc L(T) Lh. Mais T termine toujours car R est
    un décideur. Donc Lh est décidable.
  • Contradiction! Donc NVTM nest pas décidable.

30
  • On a donc une série dinclusions strictes
  • Langages réguliers
  • (a? b), w w contient au moins 2 a, etc.
  • Langages non-contextuels
  • an bn n ? N, ensemble des palindromes, etc.
  • Langages décidables
  • an bn cn n ? N, ltMgt M un automate fini et
    L(M) ???
  • Langages Turing-acceptables
  • Lh ltMgt M une m.t. et M accepte ltMgt
  • Langages non-acceptables
  • ltMgt M une m.t. et M naccepte pas ltMgt, NVTM

31
Fonctions calculables
  • Définition Une fonction f0,1 ?? 0,1 est
    calculable si il existe une machine de Turing qui
    lorsquelle démarre avec la configuration ??w??
    sarrête dans la configuration ??f(w)??

32
Exemple
  • Les fonctions suivantes sont calculables
  • f(w) ww
  • f(w) wr
  • Ces deux exemples sont très simples (exercice
    construisez les machines de Turing qui calculent
    ces fonctions.)

33
Exemple
  • La fonction f suivante est calculable
  • Si w nest pas lencodage dune machine de Turing
    alors f(w) ??.
  • Si w ltMgt alors f(w) ltNMgt où NM est une
    machine de Turing qui accepte xx si M accepte x.

34
Preuve
  • Voici une grossière description dune machine de
    Turing T qui calcule f.
  • T   Entrée ltMgt
  • Bâtir une machine NM qui effectue la tâche
    suivante
  • NM  Entrée x
  • Simuler M sur xx et accepter si M accepte 
  • 2. Retourner NM 

35
Réductions
  • Soient L et K deux langages de 0,1. Le langage
    L se réduit au langage K (dénoté L ??m K) sil
    existe une fonction calculable
  • f 0,1 ? 0,1 telle que
  • w ? L ?? f(w) ? K.
  • En dautres mots, la fonction f nous permet de
    transformer une question de type L en une
    question de type K.

36
Exemple
  • Le langage L 0n1n n ? N se réduit au langage
    K 0n12n0n n ? N.
  • Considérons la fonction f 0,1 ? 0,1 qui
    donne f(w) wwr.
  • Si w est dans L alors w 0n1n pour un certain n
    et donc wwr 0n12n0n. Ainsi, f(w) ? K.
  • Par contre si w?L alors on a forcément f(w) ?K

37
Théorème
  • Si K est un langage décidable et si L ?m K alors
    L est aussi décidable.
  • Si K est un langage Turing acceptable et si on a
    L ?m K alors L est aussi Turing acceptable.

38
Preuve
  • Supposons que K peut être accepté par la machine
    de Turing M. Nous allons construire une machine T
    qui accepte L grâce à la fonction calculable f
    qui réduit L à K.
  • T  Entrée x
  • Calculer f(x)
  • Simuler M sur f(x). Si M accepte f(x) alors T
    accepte x. Si M rejette x alors T rejette x 

39
  • Que fait T?
  • Si x ? L alors f(x) ? K par la définition de la
    réduction. Donc M accepte f(x) et donc T accepte
    x.
  • Si x ? L alors f(x) ? K parce que f définit une
    réduction de L à K. Donc M naccepte pas f(x) et
    donc T naccepte pas x.
  • ? L(T) L.

40
  • La machine T sarrête-t-elle toujours?
  • Létape 1 (calcul de f) se termine toujours car f
    est calculable.
  • À létape 2, si M poursuit une éxécution infinie
    sur f(x) alors T simule M indéfiniment. Sinon, T
    sarrête après un nombre fini détapes.
  • Donc si M est un décideur, T est un décideur.
    Donc on peut conclure
  • K décidable ? L décidable
  • K Turing-acceptable ? L Turing-acceptable

41
Corollaire
  • Si L est un langage non-décidable et si L ?m K
    alors K est non-décidable.
  • Si L est un langage qui nest pas
    Turing-acceptable et si L ?m K alors K nest pas
    Turing acceptable.

42
  • Ce corollaire est très utile pour démontrer quun
    problème K nest pas décidable (ou pas Turing
    acceptable).
  • À condition de bien lutiliser!
  • Pour obtenir notre contradiction, il faut montrer
    quil existe une réduction dun langage
    non-décidable L vers notre cible K et non
    linverse.

43
Exemple
  • Je narrive pas à décider sil va pleuvoir
    demain.
  • Il est clair que décider sil va pleuvoir demain
    est un problème plus simple que de voir lavenir.
  • Conclusion je ne peux pas voir lavenir?

44
Exemple
  • Le langage REGTM ltMgt M est une mt et L(M) est
    un langage régulier est indécidable.
  • Pour le montrer, nous allons montrer quil existe
    une réduction du langage indécidable Lh à REGTM.

45
  • Nous voulons trouver une fonction calculable f
    telle que
  • Si ltMgt est dans Lh alors f(ltMgt) est dans REGTM.
  • Si ltMgt nest dans Lh alors f(ltMgt) nest pas dans
    REGTM.
  • Autrement dit
  • Si M accepte ltMgt alors f(ltMgt) est la description
    dune mt N telle que L(N) est régulier
  • Si M naccepte pas ltMgt alors f(ltMgt) est la
    description dune mt N telle que L(N) nest pas
    régulier.

46
  • Pour chaque machine M, considérons la machine NM
    suivante
  • NM  Entrée x
  • Si x 0n1n pour un certain n alors N accepte x
  • Sinon, simuler M sur ltMgt. Si M accepte ltMgt alors
    NM accepte x 
  • Que fait NM ?
  • Si M accepte ltMgt alors NM accepte tous les x,
    soit à létape 1, soit à létape 2. Donc L(NM )
    0,1, un langage régulier.
  • Si M naccepte pas ltMgt alors, NM ne peut accepter
    x que dans létape 1. Donc L(NM ) 0n1n n ?
    N, un langage non-régulier.

47
  • Étant donné une description ltMgt dune machine de
    Turing M, on peut facilement calculer la
    description lt NM gt de la machine NM.
  • Donc la fonction f définie par f(ltMgt) ltNMgt est
    une fonction calculable.
  • Si M accepte ltMgt alors ltNMgt est dans REGTM.
  • Si M naccepte pas ltMgt alors ltNMgt nest pas dans
    REGTM.
  • Donc Lh ? REGTM.
  • Daprès le corollaire, puisque Lh nest pas
    décidable, alors REGTM nest pas décidable.

48
Exemple
  • Le langage REGTM ltMgt M est une mt et L(M) est
    un langage régulier nest pas non plus
    Turing-acceptable.
  • Pour le montrer, nous allons montrer quil existe
    une réduction du langage non-acceptable L0 à
    REGTM.

49
  • Nous voulons trouver une fonction calculable f
    telle que
  • Si ltMgt est dans L0 alors f(ltMgt) est dans REGTM.
  • Si ltMgt nest dans L0 alors f(ltMgt) nest pas dans
    REGTM.
  • Autrement dit
  • Si M naccepte pas ltMgt alors f(ltMgt) est la
    description dune mt NM telle que L(NM) est
    régulier
  • Si M accepte ltMgt alors f(ltMgt) est la description
    dune mt NM telle que L(NM) nest pas régulier.

50
  • Pour chaque machine M, considérons la machine NM
    suivante
  • NM  Entrée x
  • Si x ? 0n1n pour un certain n alors N rejette x
  • Sinon, simuler M sur ltMgt. Si M accepte ltMgt alors
    NM accepte x 
  • Que fait NM ?
  • Si M accepte ltMgt alors NM accepte tous les x qui
    non pas été rejetés à létape 1. Donc L(NM )
    0n1n n ? N, un langage non-régulier.
  • Si M naccepte pas ltMgt alors, NM ne peut accepter
    x ni à létape 1 ni à létape 2. Donc L(NM ) ?,
    un langage régulier.

51
  • Étant donné une description ltMgt dune machine de
    Turing M, on peut facilement calculer la
    description lt NM gt de la machine NM.
  • Donc la fonction f définie par f(ltMgt) ltNMgt est
    une fonction calculable.
  • Si M accepte ltMgt (donc si ltMgt nest pas dans L0)
    alors L(NM) 0n1n n ? N donc ltNMgt nest pas
    dans REGTM.
  • Si M naccepte pas ltMgt alors ltNMgt est dans REGTM.
  • Donc L0 ? REGTM.
  • Daprès le corollaire, puisque L0 nest pas
    acceptable, alors REGTM nest pas acceptable.

52
Exercices
  • Montrez que ces langages ne sont pas décidables.
  • NCTM ltMgt M est une mt et L(M) est
    non-contextuel
  • ACCTM ltMgtw M est une mt et M accepte w
  • Montrez aussi que le premier langage nest pas
    Turing-acceptable.

53
Problèmes décidables
  • EQREG ltM1,M2gt M1,M2 des automates finis et
    L(M1) L(M2)
  • Ce problème est décidable.

54
Preuve
  • La machine de Turing suivante décide EQREG.
  • T  Entrée ltM1,M2gt
  • Construire lautomate N reconnaissant lunion de
    L(M1) et du complément de L(M2).
  • Tester si L(N) ?. Sinon rejeter lentrée.
  • Construire lautomate N reconnaissant lunion
    de L(M2) et du complément de L(M1).
  • Tester si L(N) ?. Sinon rejeter lentrée.
  • Accepter lentrée. 

55
Remarques
  • La plupart des problèmes de décision reliés aux
    automates finis sont décidables.
  • La plupart des problèmes de décision reliés aux
    machines de Turing sont indécidables
  • Seuls certains problèmes à propos des grammaires
    non-contextuelles sont décidables.

56
Exemples
  • Le problème EQGNC ltG,Hgt G et H sont des
    grammaires non-contextuelles et L(G) L(H) est
    indécidable.
  • Le problème TOUTGNC ltGgt G est non-contextuelle
    et L(G) ? est indécidable.
  • Le problème VGNC ltGgt G est non-contextuelle
    et L(G) ? est décidable.

57
Dautres problèmes indécidables
  • Dixième problème de Hilbert étant donné une
    équation à plusieurs variables et dont les
    coefficients sont des entiers, décider si
    léquation possède une solution dentiers.
  • Posé au tournant du XXe siècle, résolu dans les
    années 70 cest indécidable!

58
  • Le programme X est il malicieux. (si on prend une
    définition très générale de  malicieux )
  • Lénoncé arithmétique P est-il un théorème. (Par
    exemple, le théorème de Fermat serait donné par P
    ??n ? 3??x,y,z xn yn ? zn)
  • Life est indécidable.
Write a Comment
User Comments (0)
About PowerShow.com