Interprétation géométrique du calcul


14

Étant issu de la physique, j'ai été formé pour étudier de nombreux problèmes d'un point de vue géométrique. Par exemple la géométrie différentielle des variétés dans les systèmes dynamiques, etc. Quand je lis les fondements de l'informatique, j'essaie toujours de trouver des interprétations géométriques. Comme une interprétation géométrique plausible d'ensembles récursivement énumérables (j'ai travaillé sur une partie où j'ai essayé de les relier à la géométrie algébrique en exploitant l'équivalence avec les ensembles diophantiens mais la connexion semblait forcée et je n'ai pas pu trouver une expression "naturelle" des faits dans ce formulation) ou un beau résultat géométrique pour un algorithme simple de tri des nombres. Bien que je ne sois pas un expert, j'ai lu des enquêtes sur la théorie de la complexité géométrique et c'est sûrement un programme intéressant, mais je suis plus intéressé à avoir une vue géométrique de concepts extrêmement fondamentaux comme la dynamique d'une machine de Turing, le calcul Lambda ou la structure de ( ensembles non calculables (plutôt que problèmes spécifiques). Est-ce un travail désespéré de trouver une structure géométrique dans ces objets ou peut-on s'attendre à des résultats complexes? Existe-t-il une formulation du TCS qui le traite géométriquement?


2
Je pense que la question est trop verbeuse et pas très claire et doit être améliorée. Il me semble que vous posez essentiellement une question de demande de référence sur la formulation géométrique et le traitement du TCS.
Kaveh

1
Si vous les recherchez pour être en mesure d'apprendre la théorie de la calculabilité, vous n'aurez pas beaucoup de chance car ces travaux sont généralement écrits pour des personnes qui connaissent bien le traitement classique de la théorie de la calculabilité. Vous devez apprendre la nouvelle langue si vous voulez apprendre la théorie de la calculabilité. Cela dit, il existe des traitements catégoriques de la théorie de la calculabilité (mais comme je l'ai dit, ils sont écrits pour les personnes qui connaissent la théorie de la calculabilité).
Kaveh

5
@Kaveh, il serait extrêmement utile que vous puissiez me fournir une référence à un traitement catégorique de la théorie de la calculabilité. Bien que, comme vous l'avez dit, cela ne soit pas compréhensible sans une compréhension rigoureuse du traitement classique de la calculabilité, je fais de mon mieux pour y arriver.
swarnim_narayan

Pouvez-vous clarifier ce que vous entendez par géométrie dans le contexte de votre question?
Martin Berger

@wang, je pense que "la demande de référence pour la calculabilité du point de vue de la théorie des catégories" peut être une nouvelle question distincte, et il y en a d'autres comme Andrej (voir par exemple ceci ) qui peuvent y répondre beaucoup mieux que moi.
Kaveh

Réponses:


12

La sémantique des programmes informatiques peut être comprise géométriquement de trois manières distinctes (et apparemment incompatibles).

  • L'approche la plus ancienne est via la théorie des domaines . L'intuition derrière la théorie des domaines provient de l'asymétrie derrière la terminaison et la non-terminaison.

    Lorsque vous traitez des programmes de manière étendue (c'est-à-dire en ne regardant que leur comportement d'E / S et non leur structure interne), il est toujours possible de confirmer en temps limité qu'un programme s'arrête - il suffit d'attendre qu'il s'arrête. Cependant, il n'est pas possible de confirmer qu'un programme ne s'arrête pas , car peu importe le temps que vous attendez, il existe toujours un programme d'arrêt qui s'exécutera pendant quelques étapes de plus que ce que vous avez attendu.

    En conséquence, l'arrêt et la boucle peuvent être considérés comme formant un espace topologique ( l'espace Sierpiński ). Cela soulève des notions plus riches d'observation (via la topologie de Scott), et vous pouvez ainsi interpréter les programmes comme des éléments d'espaces topologiques. Ces espaces sont généralement assez surprenants d'un point de vue traditionnel - les domaines ne sont généralement pas Hausdorff.

    La meilleure introduction topologique que je connaisse à ces idées est la topologie courte et extrêmement accessible de Steve Vickers via Logic . Cela peut être compris comme une sorte d'échauffement pour les espaces de pierre beaucoup plus formidables de Peter Johnstone .

    Si vous recherchez des notes de cours en ligne, permettez-moi de suggérer la topologie synthétique des types de données et des espaces classiques de Martin Escardo .

  • Un autre point de vue découle de la théorie de la concurrence. Un programme simultané peut être compris comme ayant plusieurs exécutions valides (séquences d'états), selon la façon dont les races sont résolues. Ensuite, l'ensemble des exécutions peut être considéré comme un espace, chaque séquence possible d'états étant comprise comme un chemin à travers cet espace. Ensuite, des méthodes issues de la topologie algébrique et de la théorie de l'homotopie peuvent être appliquées pour dériver des invariants concernant l'exécution du programme.

    Nir Shavit et Maurice Herlihy utilisent cette idée pour prouver l'impossibilité de certains algorithmes distribués, pour lesquels ils ont remporté le prix Gödel 2004. (Voir La structure topologique du calcul asynchrone .) Eric Goubault a un document d'enquête expliquant les idées pertinentes dans Some Geometric Perspectives in Concurrency Theory .

  • Plus récemment, il a été observé que la structure du type d'identité dans la théorie des types dépendants correspond très étroitement à la notion de type homotopique dans la théorie de l'homotopie - si étroitement, en fait, que la théorie des types dépendants peut en fait être considérée comme une sorte de "théorie synthétique de l'homotoptie"! (Vladimir Voevodsky a plaisanté en disant qu'il a passé plusieurs années à développer un nouveau calcul pour la théorie de l'homotopie, pour découvrir que ses collègues du département CS l'enseignaient déjà aux étudiants de premier cycle.)

    Voir le lien de cody ci-dessus vers le livre de théorie des types d'homotopie .

Fait intéressant, ces trois points de vue semblent incompatibles, ou du moins très difficiles à concilier. La théorie des types dépendants est un langage total, donc la non-terminaison (et la topologie de Scott) n'y survient pas. Il est également confluent, de sorte que la vue des calculs en tant qu'espaces ne se pose pas non plus. De même, la formulation de la concurrence en termes de théorie des domaines s'est révélée férocement difficile, et un compte complètement satisfaisant reste un problème ouvert.


"En conséquence, l'arrêt et le bouclage peuvent être considérés comme formant un espace topologique (l'espace Sierpiński). Cela se transforme en notions d'observation plus riches (via la topologie Scott), et vous pouvez ainsi interpréter les programmes comme des éléments des espaces topologiques." est une bonne référence pour cela qui est disponible en ligne?
T ....

1
@JAS: J'ai ajouté un lien vers certaines notes de cours de Martin Escardo sur le sujet.
Neel Krishnaswami

6

Comme cela se produit, il y a eu récemment un développement dans la théorie des types dépendants , dans laquelle un type, qui représente traditionnellement un invariant statique pour un programme informatique, peut être interprété comme un espace topologique, ou plutôt une classe d'équivalence de tels des espaces ( type homotopique ).

Cela a fait l'objet d'intenses recherches au cours des dernières années, qui ont abouti à un livre .

Des travaux plus anciens ont tenté de donner une description de modèles de systèmes de calcul, comme le purλ -calculus , en termes de certains espaces topologiques appelés domaines . L' article de Wikipedia donne un bon aperçu.


6

Vous connaissez GCT, mais vous ne connaissez peut-être pas les travaux antérieurs de Mulmuley sur la démonstration d'une séparation entre un sous-ensemble de calculs PRAM et P, qui utilise des idées géométriques sur la façon dont un calcul peut être considéré comme découpant un espace.

De nombreuses limites inférieures pour les problèmes du modèle d'arbre de décision algébrique se réduisent à un raisonnement sur la topologie des espaces sous-jacents de solutions (les nombres de Betti apparaissent comme un paramètre pertinent).

Dans un sens, TOUTES les optimisations sont géométriques: les programmes linéaires impliquent de trouver le point le plus bas d'un polytope dans des dimensions élevées, les SDP sont des fonctions linéaires sur l'espace des matrices semi-finies, etc. La géométrie est largement utilisée dans la conception d'algorithmes ici.

Sur ce thème, il existe un lien long et profond entre notre capacité à optimiser certaines fonctions sur les graphiques et notre capacité à intégrer des espaces métriques dans certains espaces normés. C'est une vaste littérature maintenant.

Enfin, au cours des dernières années, il y a eu un grand intérêt pour les mécanismes dits «de levage et de projet» pour résoudre les problèmes d'optimisation, et ceux-ci font un usage intensif de la géométrie sous-jacente et des ascensions vers des espaces de dimension supérieure: les notions de la géométrie algébrique jouent un rôle important ici.


".... le modèle d'arbre de décision algébrique se réduit à un raisonnement sur la topologie des espaces de solutions sous-jacents" Est-il vrai que de nombreux résultats sur les calculs peuvent être réduits à la recherche d'informations sur les ensembles connectés? Ou ce résultat est-il spécial?
T ....

1
@JAS: Il existe une poignée de résultats qui peuvent être réduits à limiter le nombre de composants connectés, mais je ne dirais pas "beaucoup". Dans la complexité algébrique, la technique la plus courante (au moins au cours des 10 à 15 dernières années) consiste à délimiter les dimensions de divers espaces de dérivées partielles et d'espaces associés. Cela peut être considéré comme la recherche d'équations qui disparaissent sur certaines variétés algébriques, ce qui est en quelque sorte «géométrique». Mais je ne dirais toujours pas que cela couvre "la plupart" des résultats, en particulier. Résultats de la complexité booléenne, qui utilisent une variété de techniques (au moins apparemment) non géométriques.
Joshua Grochow

@JoshuaGrochow Yah Je n'ai pas vu beaucoup de travail topologique autant que l'AG classique même dans les dérivées partielles. Je pensais aux réponses à cette question ici cstheory.stackexchange.com/questions/5907/… quand j'ai vu cette question.
T ....

5

T1 ). Ils sont "dirigés" dans un sens, il faudrait donc trouver une géométrie dirigée pour tenir compte du phénomène. Et il y a des tours à jouer qui symétrisent la situation (essentiellement vous vous tenez debout).

Une façon de comprendre la relation entre le traitement de l'information (également appelé "calcul") et la géométrie est que le traitement de l'information est une géométrie antérieure . Ce point de vue devrait être familier de certaines parties de la physique. Par exemple, dans la théorie de la relativité, nous étudions à la fois la structure causale de l'espace-temps (son traitement de l'information) ainsi que sa structure géométrique . Beaucoup considéreraient ce dernier comme plus fondamental que le premier.

Ces connexions ont été remarquées dans le passé et il y a plusieurs années, un effort a été fait pour relier les aspects théoriques de l'information de l'informatique à la théorie de la relativité. L'une des tâches que les gens voulaient résoudre était: à partir de la structure de causalité de l'espace-temps (qui n'est qu'un ordre partiel sur l'espace-temps), reconstruire la topologie de l'espace-temps, ou peut-être aussi la géométrie. La récupération de la topologie à partir d'un ordre partiel est le genre de chose dans laquelle la théorie des domaines est bonne, donc il y a eu un certain succès.

Les références:



4

en interprétant de manière créative votre question, certaines possibilités autres que GCT, comme vous le mentionnez, vous viennent à l'esprit. une façon consiste à rechercher des problèmes indécidables (alias l'exhaustivité de Turing) qui sont assez omniprésents.

  • Carrelage apériodique Plan & Carrelage Penrose . il a été prouvé que la question de savoir s'il existe un pavage apérodique de l'avion est indécidable.

  • Les automates cellulaires qui sont également de plus en plus connus pour avoir des liens profonds avec la physique, de nombreux problèmes indécidables associés, une MT éprouvée et complète, et ils sont naturellement interprétés comme (et convertis entre) des tableaux de calcul TM.

  • (X,y)

  • Indécidabilité dans les systèmes dynamiques (Hainry), là encore parfois étroitement liée à la physique. les systèmes dynamiques ont généralement une interprétation géométrique multidimensionnelle.

  • Langages de programmation visuels . un programme peut être vu comme un type de graphe (dirigé?) avec différents types de sommets (par exemple conditionnel, opération arithmétique), etc.


re automates cellulaires, voir aussi jeu de la vie . conway est généralement reconnu pour avoir prouvé qu'il est complet, bien qu'une référence exacte semble difficile à trouver. c'est probablement aussi la première preuve de l'exhaustivité de Turing associée aux AC.
vzn
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.