I was reading book on Automata Theory by Peter Linz.

He gives transition function of the non deterministic finite automata as follows:

$\delta:Q\times (\Sigma\cup\{\lambda\})\rightarrow 2^Q$

But the transition function of non deterministic pushdown automata is given as:

$\delta:Q\times(\Sigma\cup\{\lambda\})\times\Gamma\rightarrow$ set of finite subsets of $Q\times \Gamma^*$

I understand it talks about "finite subsets", because $Q\times \Gamma^*$ is infinite and can have infinite subsets, should it be $2^{Q\times \Gamma^*}$? That is, should the transition function be:

$\delta:Q\times(\Sigma\cup\{\lambda\})\times\Gamma\rightarrow$ set of finite subsets of $2^{Q\times \Gamma^*}$

PS: $Q$ is set of states in automata, $\Sigma$ is an alphabet, $\lambda$ is empty symbol, $\Gamma$ is stack alphabet

  • $\begingroup$ "$Q$ is number of states in automata, $\Sigma$ is size of alphabet" -- Is that really what the author wrote? So for the NDFA we take the union of an integer with a set containing one string, multiply another integer by the result, and the result of that not only is defined but is the domain of a transition function? $\endgroup$ – David K Nov 12 '19 at 13:04
  • $\begingroup$ @davidk Q is of course the set of states. $\endgroup$ – MJD Nov 12 '19 at 14:56
  • 1
    $\begingroup$ @DavidK sorry to put words "number" and "size" there. I was trying to figure out number of different possible automata for given alphabet, inputs and states. So I revisited transition function and got this doubt. In the hurry I put those words. $\endgroup$ – anir Nov 12 '19 at 15:07
  • $\begingroup$ @MJD I guessed as much. The point really was just that correct writing matters. $\endgroup$ – David K Nov 12 '19 at 21:46
  • $\begingroup$ A more helpful way to put it would have been "I think you meant to say that $Q$ is the set of states, not the number if states. Is that right?" $\endgroup$ – MJD Nov 12 '19 at 21:49

$2^S$ is the set of all subsets of $S$, not only the finite ones but the infinite ones also. If $S$ is finite, there are no infinite subsets, and “$2^S$” means the same as "finite subsets of $S$”.

But if $S$ is infinite, $2^S$ includes some infinite subsets also. Then “Finite subsets of $S$” means something different.

Linz wants the output of the transition function to be a finite set in both cases. For the NDPDA he has to say so explicitly. For the NFA he doesn't need to say it because the NFA is already finite.

  • $\begingroup$ one slightly related question: does this means for given input alphabet, stack alphabet and number states, we can prepare infinite number of deterministic and non deterministic PDAs? $\endgroup$ – anir Nov 12 '19 at 15:33
  • $\begingroup$ Yes. Consider a PDA which under some circumstances, pushes one token on to its stack. Then consider an identical PDA, except it pushes two tokens on its stack instead of only one. Then consider another identical PDS, except that it pushes three tokens instead of only one. (And so on.) $\endgroup$ – MJD Nov 12 '19 at 19:49
  • $\begingroup$ I had a thought that for given alphabets and movements, we cant prepare infinite number of TMs. But we can make infinite number of DPDAs and NPDAs. Still TMs are more powerful than PDAs. How? I know its because of functioning of TMs, they are not limited to just push and pop operations. But still the thought confused me for a while. Any comment on this too? $\endgroup$ – anir Nov 12 '19 at 19:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.