Existe-t-il une notion de calculabilité sur des ensembles autres que les nombres naturels?

10

Existe-t-il une notion de calculabilité sur des ensembles autres que les nombres naturels? Par souci d'argument, disons sur les ensembles qui se bijectent avec .NSN

Il est tentant de dire "oui, ce sont ces fonctions de la forme où est toute bijection et est toute fonction calculable ". Je suis prudent avec cette définition pour deux raisons. g NS f NNgfg1gNSfNN

  1. Il privilégie sur les autres ensembles dénombrables. Pourquoi spécial lorsqu'il s'agit de définir la calculabilité? J'aimerais une définition "sans coordonnées" de la calculabilité sans référence à un ensemble privilégié de la même manière. Je voudrais une définition "sans coordonnées" d'un concept d'algèbre linéaire sans référence à une base privilégiée.NNN

  2. Cela soulève des questions sur le choix de . Je soupçonne qu'il peut être possible de trouver des contradictions par des choix particulièrement pathologiques de et . Par exemple, si je choisis et une bijection non calculable, est-ce vraiment le cas que est calculable pour tout calculable ?S g S = N g g f g - 1 fgSgS=Nggfg1f

    Il est tentant d'exiger dans la définition que soit calculable, mais malheureusement, cela pose la question.g

Existe-t-il un moyen général de décrire la calculabilité sur des ensembles dénombrables autres que ?N

Tom Ellis
la source
1
Eh bien, à part , la calculabilité est également souvent définie sur , où est un alphabet fini ... Mais encore une fois, ces définitions diffèrent par une bijection calculable (c'est-à-dire que dans un sens, il est calculable en utilisant la définition , et son inverse est calculable en utilisant la définition ). Donc, vous pouvez certainement le faire, où vos et sont tous deux calculables, mais je suis d'accord que cela soulève la question plus générale ...Σ Σ NΣ N Σ g g - 1NΣΣNΣNΣgg1
Joshua Grochow
1
Qu'en est-il du modèle de calcul comme les systèmes de mosaïque, les automates cellulaires, les systèmes de balises, etc.?
Marzio De Biasi
2
Pourquoi ne devrions-nous pas privilégier sur d'autres ensembles dénombrables? Nous avons une raison extrêmement forte de le faire: les CPU, c'est-à-dire la chose qui fait le calcul, fonctionnent sur (ou des chaînes finies sur qui est essentiellement la même chose). Bien sûr, vous pouvez choisir d'autres ensembles, mais pourquoi devrait-on accepter votre définition? Comment justifiez-vous l'affirmation selon laquelle ce que vous appelez la calculabilité est réellement, sauf en la reliant au calcul sur , c'est-à-dire les CPU? N B NNNBN
Martin Berger
1
@Martin, je donne un argument dans ma réponse que nous privilégions sur au moins dans une certaine mesure en ce qui concerne la complexité temporelle. La raison pour laquelle cela est faux sans introspection est que nous pouvons supposer que certains résultats sont naturels alors qu'ils ne sont en fait que des artefacts du modèle. N{0,1}N
Dan Brumleve
1
Y a-t-il une raison pour laquelle vous limitez votre attention uniquement aux ensembles dénombrables?
Andrej Bauer

Réponses:

12

Cette question n'est pas au niveau de la recherche, mais comme elle reçoit des réponses, je voudrais offrir une réponse qui pourrait en fait éclaircir un peu les choses et fournir des références.

Il existe tout un domaine de l'informatique théorique qui étudie la calculabilité en analyse, en algèbre et en topologie. La notion de calculabilité pour les nombres réels est d'une importance capitale. En fait, le document original de Turing sur les machines de Turing commence par la phrase suivante:

Les nombres "calculables" peuvent être décrits brièvement comme les nombres réels dont les expressions sous forme décimale sont calculables par des moyens finis.

Parfois, il vaut mieux retourner à la source.

Il existe plusieurs façons de configurer la calculabilité sur des ensembles généraux, dont l'une des plus générales est la théorie de la réalisabilité . L'idée de la théorie de la réalisabilité remonte à l'article de Kleene On the Interpretation of Intuitionistic Number Theory de 1945, mais a depuis été généralisée et développée en une mini-branche de calculabilité, avec un bon mélange de théorie des catégories, voir par exemple le livre de Jaap van Oosten "Réalisabilité: une introduction à son côté catégorique" (Studies in Logic and the Foundations of Mathematics, vol. 152, Elsevier, 2008).

Permettez-moi de décrire brièvement l'idée de réalisabilité, et de discuter plus tard de votre exigence de "libre coordination". Commencez avec un modèle de calcul, comme les machines de Turing, le -calculus, un langage de programmation ou toute autre algèbre combinatoire partielle (vous pouvez même prendre certains espaces topologiques pour être des "modèles de calcul", ce genre de choses est général ). Pour le concret, considérons les machines de Turing. Nous codons les machines de Turing par des nombres naturels, mais notez que j'aurais pu prendre un autre modèle de calcul, vous ne devez donc pas supposer que l'utilisation deλN λNest en aucun cas essentiel ici. (D'autres possibilités incluent: le jeu de nombres naturels, les séquences infinies de nombres naturels, la syntaxe du -calculus non typé , certaines catégories de jeux, etc.)λ

Une structure de calculabilité sur un ensemble est donnée par une relation entre et , appelée la relation de réalisabilité , telle que pour chaque il n'y a telle que . Nous appelons de telles structures des assemblées . Cette définition correspond directement à l'idée intuitive que certains morceau de données respresents, ou réalise un , un élément . (Par exemple, certaines séquences de bits représentent des listes finies de paires de chaînes de caractères.)XXNXxXnNnXxnxX

Etant donné deux assemblages et , une carte est réalisée (ou "calculable") s'il existe une machine de Turing , telle que, chaque fois que puis termine et . Encore une fois, il s'agit d'une translittération directe de ce que signifie informellement «programmer» une fonction abstraite : la machine de Turing correspondante fait pour représenter les données tout ce que fait aux éléments correspondants.(X,X)(Y,Y)f:XYT n X x T ( n ) T ( n ) Y f ( x ) f fTnXxT(n)T(n)Yf(x)ff

Les assemblages peuvent être étendus à un topos de réalisabilité . Un topos est un modèle de mathématiques intuitionnistes d'ordre supérieur. Cela nous indique que chaque topos de réalisabilité (il y en a un pour chaque modèle de calcul) contient beaucoup d'objets intéressants. Par exemple, il contient un objet de nombres réels, ce qui nous donne donc une calculabilité sur des réels. Mais il contient également de nombreux autres objets, tels que les espaces de Hilbert, les espaces de Banach, les espaces de cartes lisses, etc. Vous avez demandé une autre structure calculable, mais vous avez obtenu quelque chose de bien meilleur: des mondes mathématiques entiers de calculabilité.

Étant donné que la théorie des catégories et les topos peuvent être effrayants et nécessitent une certaine maîtrise technique de la théorie de la calculabilité, de la théorie des catégories et de la logique, nous pourrions également travailler dans un seul topos concret, mais nous exprimons tout de manière concrète et non abstraite. Un monde de calcul particulièrement bon découle de la réalisabilité de la fonction de Kleene et porte le nom d' analyse calculable .

Permettez-moi de commenter l'exigence "sans coordonnées":

  • La commutation entre les modèles de calcul donne différents types de mondes calculables. C'est un peu comme basculer entre différents champs donnant différents types d'algèbre linéaire.

  • Un ensemble peut être équipé de nombreuses structures de calcul , tout comme un ensemble de vecteurs a de nombreuses bases. Cependant, alors que toutes les bases sont équivalentes, toutes les structures de calculabilité sur sont pas équivalentes par calcul.XX XXX

  • Si nous travaillons concrètement avec des structures de calculabilité , c'est un peu comme travailler avec des matrices en algèbre linéaire. Cela peut être très utile, mais n'est pas abstrait.(X,X)

  • Pour travailler de manière "sans coordonnées", nous travaillons de manière réalisable pour exploiter et exploiter la puissance de la théorie des catégories (oui, c'est un cliché mais ça marche).

  • Nous pouvons même travailler de façon «libre du monde»: développer les mathématiques dans une logique intuitionniste, puis interpréter les résultats en termes de réalisabilité.

Andrej Bauer
la source
Je ne vois pas le choix de ici comme analogue au choix de comme champ sur lequel nous pourrions considérer les espaces vectoriels. Cette notion de "relation de réalisabilité" me semble plutôt définir ce que signifie être mesurable en définissant la mesure Borel sur , puis déclarer "un espace mesurable est tout ce qui se bijecte avec et mesurable fonction est tout ce qui induit une carte mesurable .R R R RRNRRRRR
Tom Ellis
Les espaces mesurables découlent naturellement de (certains) espaces topologiques et il est généralement considéré comme un théorème que les espaces non discrets sont mesurablement isomorphes à . Ce que j'aimerais idéalement trouver, c'est l'analogue de la théorie du calcul de l'ancienne construction. Quelle est la structure sous-jacente qui donne lieu à quelque chose sur lequel vous pouvez calculer? Une correspondance avec , imposée par fiat, n'est pas particulièrement satisfaisante. NRN
Tom Ellis
Il n'y a pas de "choix de ", il n'y a que le choix d'un modèle de calcul. Si par "choix de " vous voulez dire "utilisons des machines de Turing (codées par des nombres)", alors mon point est le suivant: pour chaque choix de structure de calcul vous obtenez une topos réalisable . Ceci est analogue à: pour chaque choix d'un champ vous obtenez la catégorie des espaces vectoriels sur . N S R T ( S ) F V e c t FNNSRT(S)FVectFF
Andrej Bauer
Imposer des mesures sur des ensembles est en effet un peu comme imposer des structures de calculabilité sur des ensembles. Et dans les deux cas, certains ensembles ont des structures naturelles qui leur sont associées.
Andrej Bauer
2
Cher Andrej, permettez-moi de vous remercier pour vos réponses réfléchies. Je suis ravi qu'un vétéran de 20 ans dans le domaine prenne du temps pour éclairer un néophyte comme moi plutôt que de voter pour clore ma question comme inutile. Je suis également heureux de déduire que la théorie des topos et les pages du nLab sont désormais considérées comme accessibles à ceux qui sont au niveau de la pré-recherche.
Tom Ellis
4

Les deux articles ci-dessous développent une notion de calculabilité pour les ensembles arbitraires. Fait intéressant, même une notion de théorie de la complexité peut être définie pour ce modèle de calcul.

Cobham Recursive Set Functions and Weak Set Theories Arnold Beckmann, Sam Buss, Sy-David Friedman, Moritz Müller, Neil Thapen.

Récursion bornée par sous-ensemble et modèle de circuit pour les fonctions d'ensemble récursif de Cobham Arnold Beckmann, Sam Buss, Sy-David Friedman, Moritz Müller, Neil Thapen.

Mateus de Oliveira Oliveira
la source
-1

Ceci est similaire à la façon dont nous définissons la calculabilité en termes de machines Turing, puis oublions rapidement les machines Turing. Puisqu'il s'avère qu'une machine de Turing est aussi bonne définition qu'une autre, nous l'utilisons comme point d'ancrage pour toute une classe d'équivalence de modèles, et nous nous retrouvons avec la même classe, quel que soit l'élément à partir duquel nous la générons. Fondamentalement, c'est la thèse de Church-Turing et elle définit l'ensemble de chaînes de bits calculables.

De même, pour définir la calculabilité sur un autre ensemble , nous jetons l' ancre avec une fonction partielle particulier de chaînes de bits à . En fait, peu importe si cette fonction est une bijection ou une injection ou tout autre type de fonction (pour un cas où nous ne voulons pas vraiment que ce soit une injection, considérons un groupe défini par sa présentation où nous n'avons pas une représentation unique pour ses éléments). Il ne doit même pas être une surjection si nous permettons que les ensembles singleton puissent être non calculables. En composant cette fonction avec toute bijection calculable de chaînes de bits en chaînes de bits (un concept déjà défini), nous obtenons une définition de la calculabilité pourS S SSSSc'est invariant par rapport à la fonction que nous avons choisie à l'origine (tant que nous avons choisi quelque chose de raisonnable). Autrement dit, une thèse de CT pour notre série . Mais si nous ne choisissons pas une fonction raisonnable, nous obtenons une définition différente de la calculabilité.S

Cette fonction permet également de définir la calculabilitØ d'autres fonctions avec domaine ou intervalle égal à . En changeant la gamme de , en gardant le domaine en tant que , nous obtenons aussi un définition invariante de la complexité de Kolmogorov pour . Et nous pouvons enfin dire que la fonction que nous avons choisie est elle-même calculable.S { 0 , 1 } O ( 1 ) SSS{0,1}O(1)S

Je pense donc que la réponse à votre question est NON. Nous devons définir la calculabilité pour chaque ensemble dont nous voulons parler, car il existe des définitions non équivalentes. Mis à part une discussion très technique ou pédagogique, cela ne devrait pas être nécessaire, car une personne raisonnable peut imaginer une définition raisonnable de manière indépendante.

Mais attendez, que soit un ensemble infiniment dénombrable, et c'est tout. Quelle est notre définition raisonnable de la calculabilité pour ? Savoir que l'ensemble des bijections entre et est non vide ne nous dit pas lesquelles sont raisonnables. Nous n'avons pas de chance sans plus de détails.S S { 0 , 1 } SSS{0,1}

Et nous pouvons rencontrer plusieurs alternatives inégales mais tout aussi raisonnables. Supposons que chaque arbre ait un certain nombre de feuilles rouges et un certain nombre de feuilles vertes, et que pour chaque il existe exactement un arbre avec feuilles rouges, et que pour chaque il existe exactement un arbre à feuilles vertes. Les deux bijections sont raisonnables dans le sens où nous pouvons compter les feuilles et distinguer les couleurs, et nous pouvons marcher sans but dans les bois en comptant les feuilles sur les arbres jusqu'à ce que nous trouvions l'arbre avec exactement feuilles vertes, ou celui avec r g N g 23 23 N 2 N N 2 NrNrgNg2323feuilles rouges. Il n'est pas clair s'il faut identifier un arbre à l'aide de son nombre de feuilles rouges ou de son nombre de feuilles vertes car ce choix conduit à des définitions inégales de la calculabilité des ensembles d'arbres. Si nous faisons plutôt notre définition en combinant les nombres avec une fonction d'appariement calculable bijective de à (ayant une calculabilité correctement définie sur ), cela identifie également chaque arbre, mais la situation est encore pire car ce n'est pas une bijection entre les arbres et , maintenant peut-être que tous les ensembles d'arbres calculables sont finis!N2NN2N

Ainsi, afin d'éviter toute la discussion, il faut comprendre non seulement qu'il existe une définition raisonnable de la calculabilité sur l'ensemble en question, mais également qu'il existe exactement une classe de définitions raisonnables.

Je pense que la situation devient beaucoup plus intéressante si nous apportons une complexité temporelle à l'image. Même lorsque l'on considère uniquement des entiers, nos choix sont plus importants. Par exemple, que se passerait-il si nous voulions représenter chaque nombre comme une somme de quatre carrés? On peut trouver une telle représentation, à partir d'une représentation de base, en temps quadratique attendu avec accès au hasard. Ou à la place, comme une liste de ses facteurs premiers, qui peuvent ou non être calculables en temps polynomial. Dans la mesure où nous permettons des représentations dures, nous perdons de la précision dans la complexité temporelle. Par exemple, nous ne pouvons pas dire de manière significative que certaines fonctions sont calculables en temps quadratique si nous avons une représentation deN F : NNF:NNNqui peut nécessiter plus de temps quadratique pour se convertir vers ou depuis une représentation de base. Je pense que cette perspective révèle que la représentation de base est une norme quelque peu arbitraire. (Standard en ce sens que la représentation de base est ce que quelqu'un a en tête quand il dit quelque chose comme " est calculable en temps quadratique", si le modèle sous-jacent est celui qui calcule le bit chaînes de bits et nous sommes censés en déduire le sens.)F:NN

Dan Brumleve
la source