Quels sont les isomorphismes appropriés entre les langages formels?

9

Un langage formel sur un alphabet Σ est un sous-ensemble de Σ , c'est-à-dire un ensemble de mots sur cet alphabet. Deux langages formels L et L sont égaux, si les ensembles correspondants sont extensionnellement égaux en tant que sous-ensembles de L L . On peut utiliser les langages dans la théorie de la complexité pour formaliser le concept de «problème». On pourrait se plaindre que l'égalité d'extension "en général" est indécidable, mais je pense que ce serait erroné.LΣΣLLLL

Je réfléchis au problème suivant depuis un certain temps: deux langues et L sur les alphabets Σ = { a , b } et Σ = { c , d } (où a , b , c et dLLΣ={a,b}Σ={c,d}abcdsont des lettres distinctes) ne peuvent jamais être égales, même si elles décrivent "exactement" le même "problème". Mais ils devraient être isomorphes s'ils décrivent vraiment "exactement" le même "problème". Ce que j'aimerais savoir, ce sont des notions possibles d'isomorphisme appropriées à la théorie de la complexité. J'ai d'abord pensé qu'un "traducteur" faible en termes de calcul comme une machine à états finis pourrait être utilisé pour définir les isomorphismes autorisés, mais cela semble déjà se décomposer pour des traductions syntaxiques triviales entre des formules logiques équivalentes. (Voir par exemple ce tableau avec la définition syntaxique du dual en logique linéaireA .)

Aujourd'hui, j'ai eu l'idée suivante: une définition du langage correspondant à un certain "problème de décision" comporte souvent deux parties: (1) un codage des instances de problème autorisées sous la forme de chaînes finies de symboles et (2) une définition du " acceptées "instances de problème qui appartiennent à la langue. Si la vérification si une chaîne finie donnée de symboles est un codage d'une instance de problème autorisée nécessite déjà une machine plus puissante en calcul qu'une machine à états finis, alors cette machine plus forte doit également être utilisée pour la définition des isomorphismes autorisés.

Questions: ce raisonnement at-il une chance de "résoudre" mon problème? Mon problème a-t-il déjà été résolu, il me suffit donc de lire les bonnes références? Mon problème lui-même a-t-il un sens, ou est-ce aussi erroné que de se plaindre de l'indécidabilité de l'égalité extensionnelle?


Edit (pas encore de réponse) J'ai remarqué que "(1) Un encodage des instances de problème autorisées en tant que chaînes finies de symboles" contient déjà l'hypothèse (cachée) d'une entrée normalisée. Sans cette hypothèse, deux chaînes finies différentes pourraient correspondre à la même instance de problème. Au lieu de vérifier si une chaîne finie donnée est valide, la vérification peut produire une entrée normalisée (et mapper des chaînes invalides à une chaîne spéciale).

Ce paramètre présente l'avantage que la machine effectuant la vérification / normalisation est déjà équipée de moyens pour transformer des chaînes finies en d'autres chaînes finies. La machine autorisée (classe de complexité) pour cette tâche pourrait faire partie de la définition du problème, et les morphismes (iso) utiliseraient la même machine (classe de complexité). (La suggestion de "réductions de plusieurs fois poly-temps" dans le commentaire de Raphaël serait alors en fait une possibilité de problèmes en )P

Un inconvénient est que ce mode de spécification peut ne convenir qu'aux machines déterministes. Les machines non déterministes peuvent nécessiter des méthodes plus flexibles pour spécifier / décider si deux chaînes d'entrée correspondent à la même instance de problème.

Thomas Klimpel
la source
1
Toutes les langues infinies (sur les alphabets finis) sont isomorphes (car elles sont dénombrables). Vous devez affiner ce que vous voulez. De plus, dans quelle mesure dites-vous que deux problèmes sont «les mêmes»? On peut dire que les réductions multi-temps poly-temps vous fournissent un mappage comme vous le souhaitez, mais ces mappages de problèmes «différents» (mais tout aussi difficiles) les uns sur les autres.
Raphael
@Raphael Je suis légèrement confus par votre commentaire "Vous devez affiner ce que vous voulez." Cette question porte précisément sur la notion d'isomorphisme que je pourrais "vouloir" utiliser. Il est parfois difficile de savoir ce que l'on veut vraiment! Pour le passage de la question parlant des langages décrivant "exactement" le même "problème", je pensais simplement au cas où l'identification de avec c et b avec d rendrait L et L ' égaux. Poursuivre ce raisonnement est ce qui m'a amené au départ à considérer les machines à états finis comme des «traducteurs», ce qui ne résout finalement pas mon problème.acbdLL
@Raphael Je suppose que pour la plupart des problèmes, les réductions multi-temps poly-temps sont beaucoup trop puissantes pour les isomorphismes que j'ai en tête. Je ne veux pas que l'isomorphisme calcule la solution pour moi ou réduise un problème théorique de graphe à un problème de satisfiabilité logique. Je veux juste qu'il identifie deux encodages légèrement différents mais essentiellement équivalents de la même instance de problème. Je n'ai aucun problème, si cette notion d'isomorphisme devait arriver à identifier également certains (encodages de) problèmes théoriques des graphes avec certains (encodages de) problèmes de satisfiabilité logique.
Thomas Klimpel
à peu près, la complexité associée aux réductions est utilisée à cette fin. une réduction moins forte que le temps P est par exemple des réductions d'espace logarithmique, du temps , etc.O(nc)
vzn

Réponses:

6

Mon problème a-t-il déjà été résolu, il me suffit donc de lire les bonnes références?

La théorie de la famille abstraite des langues est pertinente. Par exemple, les morphismes définis par les transducteurs à états finis conduisent à la famille des cônes . Le court exposé ICM d' Eilenberg de 1970 explique bien ce cadre, voir aussi le chapitre 11 "Propriétés de fermeture des familles de langues" de Introduction to Automata Theory, Languages, and Computation (1ère éd.) Par J. Hopcroft et J. Ullman de 1979. Cependant , seules les langues non déterministes s'inscrivent dans ce cadre 1 . Finalement, le livre Theory of codes de J. Berstel et D. Perrin de 1985 m'a aidé à trouver des solutions raisonnables à mon problème. Codes et automatespar J. Berstel, D. Perrin et C. Reutenauer à partir de 2009 est une révision majeure de ce livre avec une couverture beaucoup plus large.

Ce raisonnement a-t-il une chance de "résoudre" mon problème? Mon problème lui-même a-t-il un sens, ou est-ce aussi erroné que ...?

L'hypothèse selon laquelle il existe une catégorie correcte pour modéliser les isomorphismes entre les langues afin de "formaliser le concept d'un problème" est erronée. Il existe de nombreuses catégories différentes qui peuvent être intéressantes dans le contexte des langues formelles.

Voici trois catégories intéressantes liées à plusieurs réductions, qui seront appelées totales , partielles et relationnelles . Les objets des catégories sont des paires d'un alphabet fini Σ et d'une langue L Σ de mots sur Σ . Pour le total , les morphismes entre l'objet source ( Σ , L ) et l'objet cible ( Σ , L ) sont des fonctions totales f(Σ,L)ΣLΣΣ(Σ,L)(Σ,L) avec L = f - 1 ( L ) . Pourpartiel, les morphismes sont des fonctions partielles f : Σ - 1 ( L ) , où deux fonctions partielles f , g sont considérées comme égales (comme morphismes) si f ( x ) = g ( x )F:ΣΣL=F-1(L) avec L = fF:ΣΣL=F-1(L)FgF(X)=g(X)pour tous les . Pour le relationnel , les morphismes sont des relations R Σ × Σ avec L = R - 1 ( L ) , et deux morphismes quelconques entre la même source et la même cible sont considérés comme égaux. L'ensemble des fonctions ou relations autorisées peut être limité à divers "traducteurs" simples pour obtenir des catégories avec des isomorphismes intéressants.XLRΣ×ΣL=R-1(L)

  • Les homomorphismes monoïdes de à Σ donnent une catégorie totale très basique . Les isomorphismes de cette catégorie ne sont fondamentalement que les bijections entre Σ et Σ . Toute famille raisonnable de langues devrait mieux respecter ces isomorphismes, c'est-à-dire être fermée sous des homomorphismes inverses.ΣΣΣΣ
  • Les fonctions partielles définies par les traducteurs machine de Turing à espace logarithmique déterministe donnent une catégorie partielle assez naturelle . Il est capable d'effectuer de nombreuses transformations syntaxiques triviales (comme l'application des lois de De Morgan pour déplacer les négations vers les atomes), inclut le morphisme défini par les transducteurs fonctionnels à états finis 1 , et peut également trier. Pourtant, il n'identifiera pas deux langues complètement indépendantes comme isomorphes, car l'égalité de la composition de deux morphismes à un morphisme d'identité est une exigence beaucoup plus forte que la simple existence de plusieurs réductions dans les deux sens.
  • Les relations définies par les traducteurs automatiques de Turing à espace log non déterministe donnent une catégorie relationnelle intéressante . Le SAT est isomorphe à HORNSAT dans cette catégorie, mais il reste à savoir si la TAUTOLOGIE ou tout autre problème co-NP-complet est isomorphe à HORNSAT.

Deux langues et L sur les alphabets Σ = { a , b } et Σ =LLΣ={une,b} (où a , b , c et d sont des lettres distinctes) ne peuvent jamais être égales, même si elles décrivent "exactement" le même problème." Mais ils devraient être isomorphes s'ils décrivent vraiment "exactement" le même "problème".Σ={c,}unebc

La catégorie totale très basique décrite ci-dessus résout ce problème.

Le problème devient plus intéressant si "exactement le même" est remplacé par "presque le même pour la plupart des cas pratiques": Soit un langage sur Σ = { U , C , A , G }LΣ={U,C,UNE,g} et Soit le langage sur Σ = { 0 , 1 } obtenu à partir de L par la substitution U 00 , C 01 , A 10 et G 11LΣ={0,1}LU00C01UNEdixg11. Notez que dans toute catégorie totale , et L ne sont pas isomorphes pour L = Σ . Il en irait de même pour les catégories partielles , si la partie "où deux fonctions partielles f , g sont considérées comme égales (en tant que morphismes) si f ( x ) = g ( x ) pour tout x L " était omise de la définition.LLL=ΣFgF(X)=g(X)XL

La catégorie partielle assez naturelle décrite ci-dessus suffit pour rendre et L ' isomorphes. Ce serait bien d'avoir une catégorie plus basique (c'est-à-dire plus restrictive) qui les rend isomorphes. Les catégories suivantes (successivement plus restrictives) me semblent raisonnables:LL

  • Les fonctions partielles réalisées par des transducteurs à états finis sans ambiguïté 2 où le seul état acceptant est l'état initial. Les isomorphismes de cette catégorie partielle sont (un sous-ensemble des) bijections entre des codes de longueur variable reconnaissables .
  • Les fonctions partielles réalisées par des transducteurs à états finis déterministes où le seul état acceptant est l'état initial. Les isomorphismes de cette catégorie partielle sont (un sous-ensemble des) bijections entre codes préfixes .
  • Les fonctions partielles réalisées simultanément par un transducteur déterministe avant et arrière où le seul état acceptant est l'état initial. Les isomorphismes de cette catégorie partielle sont (un sous-ensemble des) bijections entre les codes bifix .
  • Une restriction supplémentaire des fonctions partielles telles que les isomorphismes sont (un sous-ensemble des) bijections entre les codes de bloc pourrait également avoir un sens.

On peut utiliser les langages dans la théorie de la complexité pour formaliser le concept de «problème».

Avant même que j'apprenne la théorie des catégories, je me suis demandé s'il existait des moyens "plus fidèles" de formaliser le concept de "problème". Après m'être familiarisé avec la théorie des catégories, j'ai parfois essayé de trouver des solutions possibles, mais j'abandonnais toujours rapidement au premier obstacle (parce que personne ne s'en soucie de toute façon). Je sais que Yuri Gurevich a résolu quelques questions connexes, mais ses solutions sont pratiquement applicables, alors que je cherchais plus quelque chose de gentil et abstrait, indépendant de l'applicabilité pratique.

La majeure partie de mon temps libre au cours des trois dernières semaines a finalement été consacrée à des progrès sur ce problème. Le plus souvent, le temps était consacré à trouver des problèmes gênants dans les solutions possibles que j'avais à l'esprit. Le sens du progrès est né de la lecture de livres (anciens) et d'articles et de l'apprentissage de nombreux concepts et faits de base sur les transducteurs et les ensembles rationnels. Enfin, j'ai appris les notions de code préfixe et de code bifix (anciennement code biprefix dans le livre de Berstel), ce qui m'a permis de proposer les 3 catégories raisonnables décrites ci-dessus.

Il peut être difficile d'apprécier ces catégories (liées au code), sans avoir vu certains problèmes des catégories les plus évidentes. Un problème général est que la fermeture sous composition peut rendre difficile la définition d'une classe de fonctions partielles bien restreinte. Un autre problème est lié au fait que l'ajout d'un (ou la multiplication par une constante) est une "fonction facile à calculer" si les chiffres du nombre sont donnés dans l'ordre bas de gamme, mais pas si les chiffres sont donnés en gros. ordre endien.


1 Un transducteur à états finis fonctionnel est un transducteur à états finis non déterministe qui réalise une fonction partielle. Ces fonctions partielles ne peuvent pas être réalisées par des transducteurs à états finis déterministes. Ils peuvent être réalisés par des bimachines déterministes , mais celles-ci peuvent nécessiter O(n)O(1)

2 Un transducteur à états finis sans ambiguïté est un transducteur à états finis non déterministe avec au plus un chemin d'acceptation pour chaque entrée. Il réalise une fonction partielle, il est donc également un transducteur à états finis fonctionnel. Il est possible de décider si un transducteur à états finis donné n'est pas ambigu.

RΣ×ΣL=R-1(L)-R-1(Σ-L), et deux morphismes quelconques entre la même source et la même cible sont considérés comme égaux.

Thomas Klimpel
la source