What are the differences in the computational power of Automata with deterministic and a non-deterministic stack?

Is there a difference in computational power between a deterministic and a non-deterministic stack automaton?

Author: Jefferson Quesado, 2017-11-26

1 answers

Yes, there is a difference between the two. And she's brutal. Non-deterministic stack Automata can solve far more context-free languages than deterministic ones.

I would like to point out that this goes against other Automata, where the non-deterministic Turing machine does not provide computational power beyond that which deterministics can provide, just as in the non-deterministic finite state machine it can be transformed into deterministics without loss of computational power.

The set of languages recognized by deterministic stack Automata is a proper subset of the set of languages recognized by non-deterministic stack Automata.

For example, the language composed of every parenthesis needs to be closed in order of opening is deterministic. For example, using only curved and square brackets, the grammar would be:

S --> '(' S ')'
S --> '[' S ']'
S --> '(' ')'
S --> '[' ']'

Now for palindromes, that doesn't happen. Take a simple palindrome, consisting only of a and b:

S --> 'a' S 'a'
S --> 'b' S 'b'
S --> 'a' 'a'
S --> 'b' 'b'
S --> 'a'
S --> 'b'

How can the automaton distinguish whether it should consider a terminal a to be the beginning of a pair's creation or the end? For example, the following words are ambiguous:

aabaa
aabababaa

It is impossible for a deterministic stack automaton to determine whether the a after the b should be to start a new pair or if it marries the previous a.

 8
Author: Jefferson Quesado, 2018-02-07 17:04:26