Problèmes de calcul infiniment grands mais localement finis

14

Cette question est inspirée d'un commentaire de Jukka Suomela sur une autre question .

Quels sont les exemples de problèmes de calcul infiniment grands mais localement finis (et algorithmes)?

En d'autres termes, quels sont les exemples de calculs qui s'arrêtent dans un temps fini, dans lesquels chaque machine Turing lit et traite uniquement des données finies, mais dans l'ensemble le calcul résout un problème de taille infinie s'il existe une infinité de machines Turing en réseau?

Aaron Sterling
la source
J'allais dire que cette idée semble la même chose qu'une seule MT avec une infinité de bandes, ce que je pensais avoir vu auparavant, mais maintenant je ne trouve plus de référence. Suis-je en train de rêver ou est-ce une idée explorée? Certes, d'autres extensions d'hypercomputation comme les MT à temps infini ont été étudiées. L'idée de la «mise en réseau» de la MT ajoute-t-elle quelque chose à ce modèle?
Huck Bennett
@HuckBennett: Je ne sais pas; ce pourrait être la même chose. J'ai senti dans le commentaire original de Jukka qu'il pensait à des problèmes comme la coloration de graphes sur un graphique infini de degré borné (bien que je ne sais pas si ce problème particulier serait une réponse à cette question). Chaque MT exécuterait le même algorithme et parlerait à un ensemble fini de voisins. Il semble qu'une MT avec des bandes infiniment nombreuses puisse simuler un graphique avec des bords infiniment nombreux entre deux nœuds, ce qui est en principe différent de ce que j'ai en tête. Je connais cependant très peu ces modèles.
Aaron Sterling

Réponses:

13

Juste pour donner quelques idées de ce qui est possible (mais quelque peu non trivial), voici un exemple: un algorithme distribué qui trouve un bourrage maximal sur un graphe à degrés bornés.

Définition du problème

Étant donné un graphe simple non orienté , une garniture d'arête (ou correspondance fractionnaire) associe un poids w ( e ) à chaque arête e E de telle sorte que pour chaque nœud v V , le poids total des arêtes incidentes à v est au plus 1 . Un nœud est saturé si le poids total des bords incidents est égal à 1 . Un compactage de bord est maximal si tous les bords ont au moins un point de terminaison saturé (c'est-à-dire qu'aucun des poids ne peut être étendu goulûment).G=(V,E)w(e)eEvVv11

Observez qu'une correspondance maximale définit une garniture de bord maximale (ensemble w ( e ) = 1 si e M ); il est donc facile à résoudre dans un cadre centralisé classique (en supposant que G est fini).MEw(e)=1eMG

Les emballages de bord ont en fait certaines applications, du moins si l'on définit une application dans le sens TCS habituel: l'ensemble des nœuds saturés forme une approximation d'une couverture de sommet minimale (bien sûr, cela n'a de sens que dans le cas d'un G fini ) .2G

Modèle de calcul

Nous supposerons qu'il existe une constante globale telle que le degré de tout v V soit au plus Δ .ΔvVΔ

Pour garder cela aussi proche de l'esprit de la question d'origine, définissons le modèle de calcul comme suit. Nous supposons que chaque nœud est une machine de Turing, et un bord { u , v } E est un canal de communication entre u et v . La bande d'entrée de v code le degré deg ( v ) de v . Pour chaque v V , les arêtes incidentes à v sont étiquetées (dans un ordre arbitraire) avec des entiers 1 , 2 , vV{u,v}Euvvdeg(v)vvVv ; elles sont appeléesétiquettes de bord local(l'étiquette de { u , v } E peut être différente pour u et v ). La machine a des instructions avec lesquelles elle peut envoyer et recevoir des messages à travers chacun de ces bords; une machine peut s'adresser à ses voisins en utilisant les étiquettes de bord local.1,2,,deg(v){u,v}Euv

Nous exigeons que les machines calculer un bord valide emballage pour G . Plus précisément, chaque v V doit imprimer sur sa bande de sortie un codage de w ( e ) pour chaque bord e incident à v , ordonné par les étiquettes de bord local, puis s'arrêter.wGvVw(e)ev

Nous disons qu'un algorithme distribué trouve un compactage de bord maximal dans le temps T , si ce qui suit vaut pour tout graphique G de degré maximal Δ , et pour tout étiquetage de bord local de G : si nous remplaçons chaque nœud de G par une copie identique de la machine de Turing A et démarrer les machines, puis après les étapes T, toutes les machines ont imprimé une solution valide (globalement cohérente) et se sont arrêtées.ATGΔGGAT

Infinis

Maintenant, tout ce qui précède est parfaitement logique même si l'ensemble des nœuds est infiniment comptable.V

La formulation du problème et le modèle de calcul n'ont aucune référence à , directement ou indirectement. La longueur de l'entrée pour chaque machine de Turing est limitée par une constante.|V|

Ce qui est connu

Le problème peut être résolu en temps fini même si est infini.G

Le problème n'est pas anodin dans le sens où une certaine communication est nécessaire. De plus, le temps de fonctionnement dépend de . Cependant, pour tout Δ fixe , le problème peut être résolu en temps constant quelle que soit la taille de G ; en particulier, le problème peut être résolu sur des graphes infiniment grands.ΔΔG

Je n'ai pas vérifié quel est le temps d'exécution le plus connu dans le modèle défini ci-dessus (qui n'est pas le modèle habituel utilisé sur le terrain). Néanmoins, un temps de fonctionnement polynomial dans devrait être assez facile à réaliser, et je pense qu'un temps de fonctionnement qui est sublinéaire dans Δ est impossible.ΔΔ

Jukka Suomela
la source
3

Trouver la prochaine génération d'un automate cellulaire .

Cela peut être résolu comme vous l'avez décrit en temps constant. (c.-à-d. indépendant de l'entrée)


la source
Je pense que plus de soin est nécessaire pour formuler réellement un problème de calcul (non trivial, intéressant) qui peut être résolu en temps fini en utilisant des automates cellulaires?
Jukka Suomela
1
Je suis d'accord avec @Jukka. Je considère que la version actuelle de cette réponse est au niveau d'un commentaire et non informative. Il ne décrit ni un problème de calcul ni un algorithme. Voté.
Aaron Sterling
2

Essentiellement, chaque problème qui est au moins aussi difficile que la coloration nécessite un algorithme avec un temps d'exécution dépendant du nombre de nœuds dans le réseau et ne peut donc pas fonctionner dans un graphe infini mais localement fini. Cela découle de la borne inférieure logiale n * de Linial .

Peter
la source
2
Mais quel est précisément votre modèle de calcul ici? Linial suppose que tous les nœuds ont des identificateurs numériques uniques; si nous essayons de le mapper dans le paramètre suggéré dans la question d'origine, nous aurions des machines Turing qui reçoivent leurs identifiants numériques sur leurs bandes d'entrée. Mais maintenant, la taille de l'identifiant est illimitée; attendre simplement que toutes les machines aient lu leurs propres identifiants prend infiniment de temps. Je dirais que l'obstacle n'est pas vraiment la borne inférieure de Linial, mais c'est le modèle de calcul: les identifiants uniques sont le mauvais modèle lorsque nous traitons les infinis.
Jukka Suomela
1
@Jukka: J'avais imaginé un système où tous les processeurs étaient anonymes quand j'ai écrit la question, exactement pour éviter les identifiants qui se développent sans limite. Mais il me semble maintenant qu'il peut y avoir un problème non trivial ici. Si vous choisissez une taille de programme et une fonction calculable qui limite la taille du voisinage de n'importe quel processeur, l'adversaire tout-puissant peut peut-être choisir un ensemble d'ID large mais fini afin que la limite de Linial soit toujours un facteur. Cependant, l'adversaire peut avoir besoin de pouvoir calculer une fonction qui croît plus rapidement que n'importe quelle fonction calculable.
Aaron Sterling
0

AC0AC0

Joshua Grochow
la source