Y at - il un besoin pour être infini indécidable?
Je veux dire que si nous choisissons une langue être une version finie bornée de , c'est-à-dire , ( ), avec . Est-il possible que soit un langage indécidable? L ⊆ Σ ∗ | L ′ | ≤ N N ∈ N L ′ ⊂ L L ′
Je vois qu'il y a un problème de "Comment choisir les mots qui L '" pour lequel nous devons établir une règle pour choisir quels seraient les premiers N éléments de L' , une sorte d'étoile de Kleene "finie" opération. Le but est de trouver un langage indécidable sans avoir besoin d'un ensemble infini, mais je ne le vois pas.∈
Note éditée:
Bien que j'aie choisi une réponse, de nombreuses réponses et tous les commentaires sont importants.
formal-languages
computability
undecidability
Hernan_eche
la source
la source
Réponses:
Oui, il faut que soit infini pour être indécidable.L
Pour résumer les réponses de Raphaël et de Sam, vous devriez considérer «décidable» comme des choses qu'un programme informatique peut résoudre. Le programme requis est très simple, il suffit de sortir "Oui" pour les éléments en , ou sinon, dire non.L
Ainsi, plus est «complexe» , plus le programme que vous devez écrire est long. En d'autres termes, plus le programme est long, vous pouvez vérifier plus de choses ... Donc, si quelqu'un donne un langage qui est fini, disons , vous pouvez écrire le programme suivant:L L L={a1,a2,…,an}
Maintenant, si quelqu'un vous donne un plus grand (mais fini), vous écrirez simplement un programme plus long. C'est toujours vrai, et tout fini aura son propre programme. Le seul cas "intéressant" est ce qui se passe lorsque est infini - votre programme ne peut pas être infini.L L L
La question de la « indécidabilité » est encore plus intéressante: ses (ces infinis) « s qui ont aucun programme qui fonctionne correctement pour eux. Nous savons que de tels langages doivent exister car il y a bien plus de langages (infinis) que le nombre de programmes de longueur finie (mais illimitée).L L
la source
undecidable
, doit être infini. Ce que vous voulez, ce n'est pas un terme différent, à savoir "non décidable par ". Appelez ce dernier indécidable. Alors là pour tout fini , il n'est pas nécessaire que soit infini pour être indécidable. Ne confondez pas (ou abusez) et indécidableundecidable
undecidable
Je ne suis pas sûr de bien comprendre la question, mais chaque langue finie est régulière. Il n'y a pas de langues régulières indécidables et donc pas de langues finies indécidables. Toutes ces déclarations sont bien connues et des preuves peuvent être trouvées dans Hopcroft et Ullman .
la source
Si votre langue est finie, vous pouvez effectuer une recherche de table sur une table codée en dur contenant tous les mots en . C'est gênant à écrire comme machine Turing, mais dans d'autres modèles équivalents, c'est assez clair.L ′L′ L′
En fait, les automates finis sont suffisants. Construisez un automate pour comme suit:L′
L'automate ainsi construit accepte évidemment . Par conséquent, est régulier et donc calculable (par ).L′ L′ REG⊊RE
Notez que le raisonnement s'applique à la co-finie , c'est-à-dire ; vous codez en dur les éléments qui ne sont pas dans .L′ ∣∣L′¯¯¯¯¯∣∣<∞ L′
la source
Pour être intéressant du tout (dans le but de réfléchir à la calculabilité), un problème de décision doit avoir une infinité de réponses «oui» et une infinité de réponses «non». De tels problèmes de décision correspondent exactement aux langues qui contiennent une infinité de chaînes sur leur alphabet et excluent également une infinité de chaînes sur leur alphabet.
Tout le reste est trivialement capable d'être encodé dans seulement une quantité finie d'informations (au pire simplement une grande liste de chaînes dans ou non dans le langage), et donc calculable par de simples DFA / expressions régulières. J'espère qu'il devrait être évident que pour toute liste finie de chaînes, vous pouvez immédiatement écrire une expression régulière qui fait simplement OU toutes les chaînes.
Un esprit de mon professeur de théorie du calcul était que le problème de "Dieu existe-t-il?" est calculable - il est calculé soit par une machine qui accepte immédiatement, soit par une machine qui rejette immédiatement; nous ne savons simplement pas lequel!
la source