J'ai lu quelque part qu'une machine Turing ne peut pas calculer cela et c'est donc indécidable mais pourquoi? Pourquoi est-il impossible sur le plan informatique pour une machine de générer l'arbre d'analyse et de prendre une décision? Peut-être que je me trompe et que cela peut être fait?
19
Réponses:
Nous réduisons du problème de correspondance de la poste . Supposons que nous pouvons, en fait, décider de la langue .{ ⟨ G ⟩ | G a CFG et L ( G ) ambigus }
Étant donné : Construisez le CFG : , (où sont de nouveaux caractères ajoutés à l'alphabet, par exemple, ).α1, … , Αm, β1, … , Βm G = ( V, Σ , R , S) V= { S, S1, S2} R = { S→ S1| S2, S1→ α1S1σ1| ⋯ | αmS1σm| α1σ1| ⋯ | αmσm, S2→ β1S2σ1| ⋯| βmS2σm| β1σ1| ⋯ | βmσm} σje σje= i-
Si le langage est ambigu, il y a dérivation d'une chaîne de deux manières différentes. En supposant, wlog, que les dérivations commencent toutes les deux par la règle , la lecture des nouveaux caractères en arrière jusqu'à leur fin s'assure qu'il ne peut y avoir qu'une seule dérivation, donc ce n'est pas possible. On voit donc que la seule ambiguïté peut provenir d'un et d'un 'start'. Mais alors, en prenant la sous-chaîne de jusqu'au début des nouveaux caractères, nous avons une solution au PCP (puisque les chaînes d'indices utilisées après ces points correspondent).w S→ S1 S1 S2 w
De même, s'il n'y a pas d'ambiguïté, le PCP ne peut pas être résolu, car une solution impliquerait une ambiguïté qui ne fait que suivre et , où sont des chaînes de correspondance de et (depuis la correspondance de ). S ⇒ S 2 ⇒ ∗ β ˜ σ α = β α β ˜ σS⇒ S1⇒∗α σ~ S⇒ S2⇒∗βσ~ α = β α β σ~
Par conséquent, nous avons réduit le PCP, et comme c'est indécidable, nous avons terminé.
(Faites-moi savoir si j'ai fait quelque chose de stupide!)
la source