All Exams Test series for 1 year @ ₹349 only
Question

Which of the following languages cannot be accepted by push down automata? 

A. $L = \{ a^n b^n c^n : n \ge 0 \}$ 

B. $L = \{ a^p : p \text{ is Prime} \}$ 

C. $L = \{ wcw^R : w \in (a, b)^* \}$ 

D. $L = \{ w \in (a, b)^* : n_a(w) = n_b(w) \}$ 

E. $L = \{ a^n b^m c^{n+m} : n \ge 0, m \ge 0 \}$

The correct answer is
A & B Only

Pushdown Automata Language Recognition Analysis

Pushdown Automata (PDA) are theoretical machines used to recognize Context-Free Languages (CFLs). Their processing power is based on a stack, which allows them to match nested or balanced structures. Languages that require more complex memory or computational capabilities cannot be accepted by PDAs.

Evaluating Language Acceptance by PDA

We examine each language option to determine if it can be accepted by a PDA:

  • A. $L = \{ a^n b^n c^n : n \ge 0 \}$: This language requires the count of 'a's, 'b's, and 'c's to be equal and appear in that specific order. A PDA can handle matching two symbol counts (like $a^n b^n$), but managing three independent sequential counts ($a^n$, $b^n$, $c^n$) simultaneously exceeds its stack-based capabilities. This language belongs to the context-sensitive class, not the context-free class. Thus, PDAs cannot accept it.
  • B. $L = \{ a^p : p \text{ is Prime} \}$: This language involves determining if the number of 'a' symbols corresponds to a prime number. Checking for primality requires arithmetic computations and potentially unbounded storage to handle large numbers, which is beyond the scope of a PDA's stack memory. Such languages are typically recognized by Turing Machines. Therefore, PDAs cannot accept this language.
  • C. $L = \{ wcw^R : w \in (a, b)^* \}$: This language consists of strings formed by a sequence $w$, followed by 'c', followed by the reverse of $w$ ($w^R$). A PDA can recognize this pattern. It pushes symbols of $w$ onto the stack and then pops them to match against $w^R$ after encountering 'c'. This is a characteristic context-free language.
  • D. $L = \{ w \in (a, b)^* : n_a(w) = n_b(w) \}$: This language requires that the number of 'a's ($n_a$) equals the number of 'b's ($n_b$) in any given string $w$. A PDA can handle this by pushing symbols for one character type (e.g., 'a') and popping for the other (e.g., 'b'). If the stack is empty at the end of the string, the counts are equal. This is a context-free language.
  • E. $L = \{ a^n b^m c^{n+m} : n \ge 0, m \ge 0 \}$: This language specifies that the total count of 'c's must equal the sum of the counts of 'a's and 'b's. A PDA can accept this language. For instance, it can push a symbol for each 'a', push another symbol for each 'b', and then pop symbols for each 'c'. By carefully managing the stack operations, it can verify if the counts satisfy the condition $n+m = n+m$. This is a context-free language.

Conclusion on Unaccepted Languages

From the analysis, languages A and B cannot be accepted by pushdown automata due to their inherent complexity. Language A requires matching three independent counts, and Language B requires primality testing, both exceeding PDA capabilities.

The languages that cannot be accepted by push down automata are therefore A & B Only.

Was this answer helpful?
Need Expert Advice?

Start Your Preparation with Prepp Mobile App

Download the app from Google Play & App Store
Download the app from Google Play & App Store
Prepp Mobile App