Existe-t-il des variantes d'automates visiblement pushdown qui permettent de pousser des mots sur la pile?


16

Je me demande s'il y a des articles ou des recherches traitant des automates visiblement pushdown, mais permettant aux mots, plutôt qu'aux lettres simples, d'être poussés sur la pile.

Alternativement, une construction qui a permis de symboles d'être poussé sur ϵ -Transitions pourrait atteindre le même objectif.

De toute évidence, de telles variations peuvent se former, mais je me demande si cela ruine les propriétés de fermeture et de décidabilité qui rendent les APV intéressants.

Je regarde une construction où utiliser la pile comme compteur, l'incrémenter par des constantes basées sur les symboles initiaux lus, puis décompter en fonction des autres symboles lus.

Pour ceux qui ne le savent pas, les automates visiblement déroulants sont ceux où l'alphabet peut être divisé en symboles poussants, symboles popping et symboles n'affectant pas du tout la pile. Le choix de pousser ou de sauter est entièrement déterminé par le symbole actuel lu. Ils sont fermés sous l'intersection, l'union, la concaténation, l'étoile et le complément, ce qui leur donne une multitude de propriétés décidables. Consultez cet article pour en savoir plus.


2
il semble que la question évidente est de savoir si ces automates sont équivalents aux automates de refoulement standard avec les "mots" convertis en séquences d'états? afaik, oui? sinon, un exemple illustratif d'un cas où il échoue serait utile.
vzn

2
@vzn Ils ne peuvent pas être équivalents. Ces PDA visiblement semblent être plus faibles. La dernière fois que j'ai vérifié, les LFC n'étaient pas fermées sous l'intersection.
Kai

Ainsi, VPDAs sont fermés sous intersection, et sont connus pour être correctement entre et D C F L . Cependant, je n'ai aucune idée si ma variante est fermée sous intersection, elle pourrait donc être équivalente. J'en doute, mais je ne suis pas sûr. REGDCFL
jmite

Cet article dx.doi.org/10.1145/1516512.1516518 donne une caractérisation grammaticale des VPDA et une construction pour la conversion entre les grammaires et les VPDA. Peut-être que la grammaire peut être utilisée pour simuler la poussée de mots entiers?
Evgenij Thorstensen

Pourquoi pousser un mot sur un symbole équivaudrait-il à autoriser des poussées sur les transitions eps?
domotorp

Réponses:


3

Avec epsilon pousse

Pour la version avec pushs sur epsilon-transitions, la preuve d'indécidabilité de l'universalité des pushdown-automata peut être adaptée à ce nouveau paramètre, nous perdons donc au moins les propriétés suivantes: fermeture sous complémentation, déterminisabilité, décidabilité de l'universalité et inclusion.

Schéma de preuve: Prenez une machine de Turing , nous voulons construire un VPA A avec epsilon-push de sorte qu'il soit universel si et seulement si M n'a pas de cycle d'acceptation.MA

Nous concevons tel qu'un mot n'est pas accepté si et seulement il est de la forme:A

#C0&C0$(C0¯)R#C1&C1$(C1¯)R#C2&C2$(C2¯)R#Cn&Cn$(Cn¯)R
  1. Chaque code une configuration valide de MCiM
  2. est initial,C0 accepteCn
  3. uR est l'inverse d'un mot u
  4. u¯ est une copie de utilisant des lettres popu
  5. sont des symboles de séparation spéciaux qui ne sont pas dans l'alphabet de M#,&,$M
  6. est toujours une transition valide de MCiCi+1M

Le VPA est obligé de faire du pop sur des facteurs de la forme C R i . Un peut deviner de manière non déterministe une violation de l'une ou l'autre propriété et la vérifier. La clé est qu'il peut soit appuyer sur C i , soit ne rien faire, ce qui permet de vérifier toutes les conditions (en fait deviner leurs violations). En particulier, il peut deviner que la première (ou la seconde) occurrence de C i ne correspond pas à ( ¯ C i ) R , en ignorant l'autre composante. On peut aussi deviner que C iC i + 1ACiRACiCi(Ci¯)RCiCi+1 n'est pas une transition valide, en poussant les deux occurrences de Ci , puis en éclatant une, en poussant non et en comparant ( ¯ C i + 1 ) R au contenu de la pile. Pour les autres C j qui ne font pas partie de la supposition, un composant est poussé et le ( ¯ C j ) R est sauté.Ci+1(Ci+1¯)RCj(Cj¯)R

Pousser des mots

(S,R,u)uAa(S,R,va)(S,R,v)SR

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.