Existe-t-il des ensembles dénombrables qui ne sont pas énumérables par ordinateur?

15

Un ensemble est dénombrable s'il a une bijection avec les nombres naturels et est numériquement calculable (ce) s'il existe un algorithme qui énumère ses membres.

Tout ensemble non finissable pouvant être énuméré doit être dénombrable puisque nous pouvons construire une bijection à partir de l'énumération.

Y a-t-il des exemples d'ensembles dénombrables qui ne sont pas énumérables par ordinateur? Autrement dit, une bijection entre cet ensemble et les nombres naturels existe, mais aucun algorithme ne peut calculer cette bijection.

Peter Olson
la source
1
La terminologie établie est énumérable de façon calculable . Beaucoup de gens diront que "dénombrable" et "énumérable" sont synonymes. J'ai modifié la question en conséquence.
Andrej Bauer
@AndrejBauer, calculables et récursifs sont des synonims, non?
rus9384
1
@ rus9384 Oui. En ce qui concerne le vocabulaire, la clarté devrait régner, comme l'écrit Robert Irving Soare dans Turing-Post Relativized Computability and Interactive Computing (2011) : En 1995, la confusion était devenue intolérable. J'ai écrit un article sur la calculabilité et la récursivité pour le taureau. de Sym. Logic (1996) sur l'histoire et les raisons scientifiques pour lesquelles nous devrions utiliser «calculable» et non «récursif» pour signifier «calculable». «Récursif» devrait signifier «inductif» comme il l'avait fait pour Dedekind et Hilbert. Au début, peu étaient prêts à faire un tel changement ...
David Tonhofer

Réponses:

23

Existe-t-il des exemples d'ensembles dénombrables qui ne sont pas énumérables?

Oui. Tous les sous-ensembles des nombres naturels sont dénombrables mais pas tous énumérables. (Preuve: il existe un nombre incalculable de sous-ensembles différents de  mais uniquement de nombreuses machines Turing qui pourraient agir comme des énumérateurs.) Ainsi, tout sous-ensemble de  N que vous connaissez déjà n'est pas énumérable récursivement est un exemple - tel que l'ensemble de tous les nombres codant Turing machines qui s'arrêtent pour chaque entrée.NN

David Richerby
la source
3
@JorgePerez Non et non .
David Richerby
3
Cela prouve l'existence, mais ne donne pas d'exemple ..
BlueRaja - Danny Pflughoeft
2
@ BlueRaja-DannyPflughoeft, donner un exemple revient à en énumérer un. "Pouvez-vous donner un exemple de quelque chose dont vous ne pouvez pas donner un exemple? Non? Par conséquent, il n'y a rien dont vous ne pouvez pas donner un exemple." C'est le constructivisme mathématique en bref.
Wildcard
2
Est-ce que l'image de la fonction de castor occupé un tel ensemble? Puisque Σ augmente strictement, il forme trivialement une bijection avec N , mais aucune machine de Turing ne peut énumérer Σ . ΣΣNΣ
orlp
7
@Wildcard Non, donner un exemple revient à en définir un, n'est-ce pas? Il existe des ensembles qui peuvent être définis mais ne peuvent pas être énumérés par un algorithme, comme l'ensemble de toutes les machines Turing qui ne s'arrêtent pas.
Tanner Swett
17

Oui, chaque langue indécidable (non semi-décidable) possède cette propriété.

Par exemple, considérons l'ensemble .L={(x,M)M does not halt on input x}

Supposons que nous ayons un algorithme qui puisse énumérer les membres de cet ensemble. Si un tel algorithme existait, nous pourrions l'utiliser pour résoudre le problème d'arrêt avec les entrées , avec l'algorithme suivant:x,M

  • Alterner entre la machine en marche pour n étapes de x , et dénombrer le n ième élément de L .MnxnL

s'arrête ou ne s'arrête pas sur x . S'il s'arrête, nous trouverons finalement un n où nous atteindrons un état d'arrêt. Si cela ne s'arrête pas, nous atteindrons finalement ( M , x ) dans notre énumération.Mxn(M,x)

Ainsi, nous avons une réduction, et nous pouvons conclure qu'il n'y a pas une telle énumération.

Notez que de telles énumérations peuvent exister pour des problèmes semi-décidables. Par exemple, vous pouvez énumérer l'ensemble de toutes les paires entrée-machine d'arrêt en énumérant toutes les traces possibles de toutes les exécutions de Turing Machine après étapes et filtrer celles qui ne se terminent pas dans un état d'arrêt. n

jmite
la source
N'y a-t-il pas des langues d'une complexité infinie?
rus9384
@ rus9384 Je ne sais pas ce que tu veux dire. "Uncountable" est une mesure de taille; la "complexité" est une mesure de la difficulté de décider. Mais il n'y a pas de langues indénombrables de chaînes finies: si vous voulez qu'une langue soit indénombrable, vous devez autoriser des chaînes infinies (ou un "alphabet" indénombrable, ou les deux).
David Richerby
@DavidRicherby, eh bien, jmite prétend que chaque problème indécidable fonctionne avec des chaînes finies? Je pense que cela ne vaut que pour chaque problème indécidable reconnaissable par Turing .
rus9384
@ rus9384 Toute langue sur un alphabet fini est dénombrable, et la calculabilité ignore généralement les alphabets infinis. Voir aussi cette question .
jmite
1
@ rus9384 oui, une langue est un ensemble de chaînes finies sur un alphabet fini. Une telle chose est dénombrable. Si vous voulez obtenir un langage indénombrable, vous devez supprimer une ou les deux instances de "fini" de cette définition. Mais si quelqu'un dit simplement «langue», cela signifie un ensemble de chaînes finies sur un alphabet fini.
David Richerby
7

Dans la théorie de la calculabilité, nous traitons des sous-ensembles de , où Σ = { 0 , 1 } . Ce langage est infiniment dénombrable, et donc tout sous-ensemble L Σ est dénombrable. En outre, il existe de nombreux langages indécidables mais récursivement énumérables dont les compléments ne sont pas récursivement énumérables. Ces langues sont un sous-ensemble de Σ et sont donc dénombrables.ΣΣ={0,1}LΣΣ

fade2black
la source
Nous ne traitons pas nécessairement avec des chaînes binaires. Il existe de nombreux cas où nous pourrions être intéressés par des chaînes sur d'autres alphabets, et les personnes qui appellent la calculabilité "théorie de la récursivité" ont tendance à traiter directement avec des ensembles de nombres naturels. (Autrement dit, les nombres eux-mêmes sont considérés comme primitifs, et non codés comme, par exemple, des chaînes binaires.)
David Richerby
@DavidRicherby il y a quelques semaines, vous m'avez affirmé le contraire dans les commentaires de la réponse de Yuvals. Et ce n'est pas le premier cas similaire.
fade2black
Yuval publie beaucoup de réponses, et je publie beaucoup de commentaires, vous devez donc être plus précis. Je maintiens certainement mon commentaire ci-dessus, donc si j'ai dit le contraire à un moment donné, alors soit je me suis trompé ou confus, soit vous m'avez mal compris ou je parlais d'un scénario spécifique ou quelque chose comme ça. Je suis désolé si je vous ai confondu, surtout si je l'ai fait en disant quelque chose de peu clair ou incorrect!
David Richerby
2
@DavidRicherby, en fait, chaque alphabet fini peut être réduit en binaire, donc je ne comprends pas en quoi cela importe. Ou avons-nous un alphabet infiniment dénombrable dans ce cas (où chaque numéro a un symbole unique)?
rus9384
{0,1}