COS3701 Assignment 2
(COMPLETE ANSWERS) 2024
(365071) - DUE 27 June 2024
;100% TRUSTED workings,
explanations and solutions.
ADMIN
[COMPANY NAME]
, Question 1 [15] Build a DPDA to show that the language L = {(ba)na(ab)n-2 |
n > 2} is deterministic context free.
To demonstrate that the language
�={(��)�(��)�−2∣�>2}L={(ba)n(ab)n−2∣n>2} is deterministic context-free,
we can construct a deterministic pushdown automaton (DPDA) that recognizes it.
Here's the high-level idea of how to design such a DPDA:
1. The DPDA needs to ensure that there are at least three 'ba' pairs at the beginning and at least one
'ab' pair at the end.
2. After the minimum required 'ba' pairs at the beginning, it needs to allow any number of 'ab' pairs
minus two.
Let's build the DPDA:
• State set: �={�0,�1,�2,�3,�4,�5}Q={q0,q1,q2,q3,q4,q5}
• Input alphabet: Σ={�,�}Σ={a,b}
• Stack alphabet: Γ={�,�,�}Γ={a,b,Z} where �Z is the initial stack symbol.
• Transition function: Define transition rules based on the current state, input symbol, and
top of the stack.
• Initial state: �0q0
• Initial stack symbol: �Z
• Accept state: �5q5
The DPDA transitions are as follows:
1. From �0q0, upon reading 'b', push 'b' onto the stack and remain in �0q0.
2. From �0q0, upon reading 'a', push 'a' onto the stack and transition to �1q1.
3. From �1q1, upon reading 'b', transition to �2q2 without consuming input or popping stack.
4. From �2q2, upon reading 'a', transition to �3q3 without consuming input or popping stack.
5. From �3q3, upon reading 'b', transition to �4q4 without consuming input or popping stack.
6. From �4q4, upon reading 'a', transition to �5q5 without consuming input or popping stack.
Additionally, for states �1,�2,�3,�4q1,q2,q3,q4, when reading 'a' or 'b', they remain in
their respective states without consuming input or popping the stack.