Les automates multipebble peuvent-ils décider de tous les langages contextuels déterministes?


12

Un MPA (automate multipebble) est un 2DFA (automate fini déterministe bidirectionnel) qui peut utiliser un nombre arbitraire de cailloux (en fait au plus cailloux sur une entrée donnée w - l'entrée est écrite sur la bande entre deux extrémités -marqueurs comme # w # ). Pendant le calcul, un MPA peut détecter si le symbole sous la tête a un caillou, puis il peut mettre un caillou (retirer le caillou) s'il n'y a pas de caillou (un caillou).|w|+2w#w#

est un homomorphisme, où σ est un symbole et k > 0 .hk(σ)=σσk times=σkσk>0

Pour tout langage déterministe contextuel il n'est pas difficile de montrer qu'il existe un k > 0 tel que h k ( L ) puisse être reconnu par un MPA. Donc, en gros, on peut dire queL  (LDSPACE(n)),k>0 hk(L)

tout «problème» décidable par une DTM à espace linéaire (machine de Turing déterministe) peut être résolue par une MPA.

Est-ce également vrai pour n'importe quelle langue en ? Les AMP peuvent-elles décider de tous les langages déterministes contextuels?DSPACE(n)


est la longueur de w .|w|w

est lesymbole i t h de w , où 1 i | w | .wiithw1i|w|

.hk(L)={hk(w1)hk(w2)hk(w|w|)wL}


question interessante; l'intention de publier des références vaguement liées qui peuvent être pertinentes si personne d'autre ne propose quelque chose de meilleur / de plus proche. une question cependant. Les CSL qui sont dans DSpace (n) ne sont pas nécessairement les mêmes que tous les DTM à espace linéaire, non? en fait c'est une question ouverte non? ou étroitement lié à un? parce que les CSL se sont avérés être égaux à NSpace (n) et son ouvert si NSpace (n) == DSpace (n).
vzn

@vzn: les CSL qui se trouvent dans DSPACE (n) sont appelées CSL déterministes et forment exactement DSPACE (n).
Abuzer Yakaryilmaz

D'accord. la référence que j'avais en tête comme "probablement liée" est les arguments de galets utilisés pour attaquer la question DTime (n ^ k) =? Ntime (n ^ k), par exemple les résultats récents de Santhanam s'appuyant sur le résultat PPST. un autre problème que je pense intuitivement lié est le problème de la compression d'une séquence d'exécution TM
vzn

pouvez-vous plz clarifier quelque peu la question? N'avez-vous pas simplement affirmé dans le texte surligné que les AMP peuvent décider de toutes les CSL déterministes? Par exemple, existe-t-il un moyen de reformuler votre question en termes de h_k (L)?
vzn

2
Le théorème est que si est un DCSL, il y en a k tels que h k ( σ ) peut être calculé par un MPA. La question est, pouvons-nous prendre k = 1 ? σkhk(σ)k=1
Ben Standeven

Réponses:


3

Peut-être que vous pouvez construire un langage dans DPSACE (n) qui ne peut pas être reconnu par un MPA avec utilisant un argument de diagonalisation (probablement l'idée est similaire à celle dans la réponse de Ben, mais je n'y ai pas creusé):k=1

Supposons que sur l'alphabet vous encodez un MPA en utilisant une liste de transitions:Σ={0,1}

s,a,ps,p,L|R;...#

est l'état actuel, a est le symbole actuel, p est l'état de galet, s est le nouvel état, p est le nouvel état de galet, L | R est la direction du mouvement, #sapspL|R# est un indicateur de fin).

Une machine de Turing sur l'entrée x peut vérifier s'il s'agit d'une description valide d'un M P A x et la simuler sur l'entrée x pour 4 | x | étapes en utilisant 6 | x | + journal | x | cellules, en étirant l'entrée de cette manière:MxMPAxx4|x|6|x|+log|x|

 MPA description # MPA tape # curr_state # counter #

Où:

  • La description MPA est la chaîne d'entrée d'origine (a une longueur | x | );x|x|
  • La bande MPA est la représentation de la bande MPA: pour chaque cellule, nous pouvons utiliser 3 bits pour stocker l'indicateur de tête, l'indicateur de galet et le contenu de la bande (fixe) (a une longueur 3|x| );
  • curr_state stocke l'état actuel du MPA (a une longueur );log|x|
  • compteur est le compteur d'étapes de simulation qui est mis à jour après chaque étape de simulation (a une longueur ).2|x|

MPAx4|x|MM

x>x04|x|2|x|+2|x|log|x|MPAxMPAx4|x|

MPAyLMMPAyy>x0 (il suffit d'ajouter états dum).

MPAy(y)=1M(y)=1MPAy(y)


Oui, c'est l'argument que j'avais à l'esprit.
Ben Standeven

3

log(N(|k|+2))+|k|+2

Puisque ce langage est décidable dans l'espace linéaire, il est également exprimable en DCSL.


Peut-être que je manque quelques points simples, mais je n'ai pas pu comprendre comment fonctionne votre contre-exemple. Pourriez-vous s'il vous plaît être plus descriptif sur le fonctionnement de votre argument? Merci!!!
Abuzer Yakaryilmaz
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.