A+
cOs3701
ASSIGNMEMT 2
SEMESTER 1
THIS DOCUMENT CONTAINS
ANSWERS WORKINGS AND
SOLUTION TO THE QUESTION
BELOW
ADMIN
JIMMYCOSMAS
, COS3701 Assignment 2 (COMPLETE ANSWERS) 2024 DUE 27 June 2024
100% TRUSTED WORKING ,EXPLAINATION AND SOLUTIONS
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}
where Z is the initial stack
• Stack alphabet: Γ={,, symbol.
} Γ={a,b,Z}
• 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: 5 q5
The DPDA transitions are as follows:
1. From 0 q0 , upon reading 'b', push 'b' onto the stack and remain in 0 q0 .
2. From 0 , upon reading 'a', push 'a' onto the stack and transition to
q0 1 q1 .