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).
est un homomorphisme, où σ est un symbole et 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 que
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?
est la longueur de w .
est lesymbole i t h de w , où 1 ≤ i ≤ | w | .
.