0% found this document useful (0 votes)
14 views

455 (Toa)

The document discusses theory of automata. It provides definitions of regular expressions, deterministic finite automata (DFA), transition grammars, and grammar transition graphs for describing formal languages. Several examples of languages are given along with their corresponding regular expressions, DFAs, transition grammars, and grammar transition graphs.

Uploaded by

Haroon Rasheed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

455 (Toa)

The document discusses theory of automata. It provides definitions of regular expressions, deterministic finite automata (DFA), transition grammars, and grammar transition graphs for describing formal languages. Several examples of languages are given along with their corresponding regular expressions, DFAs, transition grammars, and grammar transition graphs.

Uploaded by

Haroon Rasheed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Theory of Automata

Submission date
Submission ID:
File name: Assignment docx (110.11K)
Word count:
Character count:
Assignment no 1
Question no1

I. (a + b)* a(Ɛ + bbbb)


a. Valid Strings:
abaa (Length: 4, Reverse: aaba)
bba (Length: 3, Reverse: abb)
aaaaa (Length: 5, Reverse: aaaaa)
b. Σ and Σ+* Sets:
Σ = {a, b}
Σ+* = {Ɛ, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba, bbb, aaaa, aaab, aaba, aabb, abaa,
abab, abba, abbb, baaa, baab, baba, babb, bbaa, bbab, bbba, bbbb, aaaaa, aaaab, aaaba, aaabb,
aabaa, aabab, aabba, aabbb, abaaa, abaab, ababa, ababb, abbaa, abbab, abbba, abbbb, baaaa,
baaab, baaba, baabb, babaa, babab, babba, babbb, bbaaa, bbaab, bbaba, bbabb, bbbaa, bbbab,
bbbba, bbbbb}
II. (a(a + bb))
a. Valid Strings:
a (Length: 1, Reverse: a)
abbabb (Length: 6, Reverse: bbabba)
aaa (Length: 3, Reverse: aaa)
b. Σ and Σ+* Sets:
Σ = {a, b}
Σ+* = {Ɛ, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba, bbb, aaaa, aaab, aaba, aabb, abaa,
abab, abba, abbb, baaa, baab, baba, babb, bbaa, bbab, bbba, bbbb, aaaaa, aaaab, aaaba, aaabb,
aabaa, aabab, aabba, aabbb, abaaa, abaab, ababa, ababb, abbaa, abbab, abbba, abbbb, baaaa,
baaab, baaba, baabb, babaa, babab, babba, babbb, bbaaa, bbaab, bbaba, bbabb, bbbaa, bbbab,
bbbba, bbbbb}
III. (a(aa)b(bb))*
a. Valid Strings:
ab (Length: 2, Reverse: ba)
aabb (Length: 4, Reverse: bbaa)
aabbbbbb (Length: 9, Reverse: bbbbbbaaa)
b. Σ and Σ+* Sets:
Σ = {a, b}
Σ+* = {Ɛ, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba, bbb, aaaa, aaab, aaba, aabb, abaa,
abab, abba, abbb, baaa, baab, baba, babb, bbaa, bbab, bbba, bbbb, aaaaa, aaaab, aaaba, aaabb,
aabaa, aabab, aabba, aabbb, abaaa, abaab, ababa, ababb, abbaa, abbab, abbba, abbbb, baaaa,
baaab, baaba, baabb, babaa, babab, babba, babbb, bbaaa, bbaab, bbaba, bbabb, bbbaa, bbbab,
bbbba, bbbbb}
IV. (b(bb))(a(aa)b(bb))*
a. Valid Strings:
baabbbbab (Length: 9, Reverse: babbbbaab)
bbbbaaaaabbab (Length: 14, Reverse: babbaaaaaabbb)
b. Σ and Σ+* Sets:
Σ = {a, b}
Σ+* = {Ɛ, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba, bbb, aaaa, aaab, aaba, aabb, abaa,
abab, abba, abbb, baaa, baab, baba, babb, bbaa, bbab, bbba, bbbb, aaaaa, aaaab, aaaba, aaabb,
aabaa, aabab, aabba, aabbb, abaaa, abaab, ababa, ababb, abbaa, abbab, abbba, abbbb, baaaa,
baaab, baaba, baabb, babaa, babab, babba, babbb, bbaaa, bbaab, bbaba, bbabb, bbbaa, bbbab,
bbbba, bbbbb}
V. (b(bb))(a(aa)b(bb))(a(aa))*
a. Valid Strings:
baabbbbabaaa (Length: 12, Reverse: aaaabbbaabab)
bbbbaaaaabbabaaaa (Length: 18, Reverse: aaaababaaaaabaaaa)
b. Σ and Σ+* Sets:
Σ = {a, b}
Σ+* = {Ɛ, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba, bbb, aaaa, aaab, aaba, aabb, abaa,
abab, abba, abbb, baaa, baab, baba, babb, bbaa, bbab, bbba, bbbb, aaaaa, aaaab, aaaba, aaabb,
aabaa, aabab, aabba, aabbb, abaaa, abaab, ababa, ababb, abbaa, abbab, abbba, abbbb, baaaa,
baaab, baaba, baabb, babaa, babab, babba, babbb, bbaaa, bbaab, bbaba, bbabb, bbbaa, bbbab,
bbbba, bbbbb}
VI. ((a + b)a)*
a. Valid Strings:
a (Length: 1, Reverse: a)
bba (Length: 3, Reverse: abb)
aaaaa (Length: 5, Reverse: aaaaa)
b. Σ and Σ+*

Question no 2
a. 𝐿 = {𝑎𝑎, 𝑏𝑏, 𝑎𝑎𝑎𝑎, 𝑏𝑏𝑏𝑏, 𝜆}

**Regular Expression (RE):**


\[ (aa + bb + aaaa + bbbb + \varepsilon) \]

DFA (Deterministic Finite Automaton):**

States: \( Q = \{q_0, q_1, q_2, q_3, q_4\} \)


Alphabet: \( \Sigma = \{a, b\} \)

Transition Table:

\[
\begin{array}{c|cc}
& a & b \\
\hline
q_0 & q_1 & q_2 \\
q_1 & q_3 & q_4 \\
q_2 & q_4 & q_3 \\
q_3 & q_3 & q_3 \\
q_4 & q_4 & q_4 \\
\end{array}
\]

Start State: \( q_0 \)


Accept States: \( F = \{q_0, q_1, q_2\} \)

d. 𝐿 = {𝑧𝑤𝑣: |𝑤| = 2, 𝑤{𝜖𝑎, 𝑏}+, 𝑧 {𝜖𝑎, 𝑏}+, 𝑣{𝜖𝑎𝑏𝑎}+ }


**Regular Expression (RE):
\[ (a + b)(a + b)(a + b)(a + b)(a + b) \]

DFA:
- This language represents strings of length 5, where the first and last symbols are either 'a' or 'b',
and the middle symbol is either 'a' or 'b'.

### f. 𝐿 = {𝑣𝑤𝑧: |𝑤| = 1, 𝑣{𝑎𝑏}+, 𝑧 {𝑏𝑎 } ∗, 𝑤{𝑎, 𝑏}∗}

Regular Expression (RE):


\[ (ab + ba)(a + b)^*b(a + b)^* \]

**DFA:**
- This language represents strings where the first two symbols are 'ab' or 'ba', the last symbol is
'b', and there can be any number of 'a' or 'b' in between.

b. 𝐿 = {𝑣𝑤𝑧: |𝑤| = 1, 𝑣{𝑎𝑎𝑎}+, 𝑧 {𝑏𝑏𝑎 }∗, 𝑤{𝑎, 𝑏}∗}

Regular Expression (RE):


\[ (aaa)(a + b)^* (bba)^* (a + b)^* \]

DFA:
- This language represents strings where the first three symbols are 'aaa', the middle part can
have any number of 'a' or 'b', and the last part can have any number of 'b' followed by 'a' or 'b'.

### j. 𝐿 = {𝑣𝑤𝑧: |𝑣| = 4, 𝑣 {𝑎, 𝑏}∗, 𝑧 {𝑎𝑏, 𝑤}+ , 𝑎 {𝑏, ∗}∗}

**Regular Expression (RE):**


\[ (a + b)^4 (a + b)^* (a + b)^+ (a + b)^* \]

DFA:
- This language represents strings of length 5 or more, where the first four symbols can be 'a' or
'b', and there must be at least one 'a' or 'b' in the middle.

g. 𝐿 = {𝑎, 𝑏𝑎, ,𝑏𝑏𝑏𝑎 }

Regular Expression (RE):


\[ a + ba + \varepsilon + bba \]

DFA:
- This language includes the strings 'a', 'ba', 'bba', and the empty string.

i. 𝐿 = {𝑎𝑏𝑎, 𝑏𝑎𝑏, 𝑏𝑏𝑏𝑏, 𝑎𝑎𝑎}

Regular Expression (RE):


\[ aba + bab + bbbb + aaa \]

DFA:
- This language includes the strings 'aba', 'bab', 'bbbb', and 'aaa'.
Question no 3
### a) {𝑎𝑤𝑎𝑎: 𝑤 ≥ 3, 𝑤{𝑏{𝑎, 𝑏}∗𝑏𝑏}}

Regular Expression (RE):


\[ ab{a, b}^*bb{a, b}^*aa \]
Transition Grammar (TG):
1. \( S \rightarrow abT \)
2. \( T \rightarrow aaU \)
3. \( U \rightarrow bbV \)
4. \( V \rightarrow {a, b}^* \)

Grammar Transition Graph (GTG):


- Nodes: \( S, T, U, V \)
- Edges: \( S \xrightarrow{a} T, T \xrightarrow{a} U, U \xrightarrow{b} V, V \xrightarrow{{a,
b}} V \)

### d) Language of the words that start with aa and end bb and have aab as a substring.

RE:
\[ aaXbb + aaYaabZ + aaZaabYbb + aaWaabZaabYbb \]

TG:
1. \( S \rightarrow aaT \)
2. \( T \rightarrow bb \)
3. \( U \rightarrow aaV \)
4. \( V \rightarrow aabW \)
5. \( W \rightarrow Z \)
6. \( Z \rightarrow bb \)

GTG:
- Nodes: \( S, T, U, V, W, Z \)
- Edges: \( S \xrightarrow{a} U, U \xrightarrow{a} V, V \xrightarrow{b} W, W \xrightarrow{Z}
Z, Z \xrightarrow{b} T \)

### b) Language of the words that start and end with different double letters and have aaa as a
substring.

RE:
\[ (XX + YY + ZZ + WW)aaa(X + Y + Z + W) \]

TG:
1. \( S \rightarrow XX + YY + ZZ + WW \)
2. \( T \rightarrow aaaU \)
3. \( U \rightarrow X + Y + Z + W \)

GTG:
- Nodes: \( S, T,U \)
- Edges: \( S \xrightarrow{aaa} T, T \xrightarrow{X + Y + Z + W} U \)

c) {𝑎𝑤𝑎: |𝑤| ≤ 2, {𝑎{𝑎, 𝑏}∗𝑏}}

RE:
\[ a{a, b}^*b + aa{a, b}^*b + aaa{a, b}^*b \]
TG:
1. \( S \rightarrow aT \)
2. \( T \rightarrow {a, b}^*b \)

GTG:
- Nodes: \( S, T \)
- Edges: \( S \xrightarrow{a} T, T \xrightarrow{{a, b}} T \)

j) Language of the words that start with bb and end aa with and have baa as a substring.

RE:
\[ bbXaa + bbYbaaX + bbZbaaYaaX + bbWbaaZaaYaaX \]

TG
1. \( S \rightarrow bbT \)
2. \( T \rightarrow aaU \)
3. \( U \rightarrow baV \)
4. \( V \rightarrow aaW \)
5. \( W \rightarrow X \)
6. \( X \rightarrow Y \)
7. \( Y \rightarrow Z \)
8. \( Z \rightarrow W \)
GTG:
- Nodes: \( S, T, U, V, W, X, Y, Z \)
- Edges: \( S \xrightarrow{a} T, T \xrightarrow{a} U, U \xrightarrow{b} V, V \xrightarrow{a}
W, W \xrightarrow{X} X, X \xrightarrow{Y} Y, Y \xrightarrow{Z} Z, Z \xrightarrow{W} T \)

k) All the Strings in which the total no of 1’s is divisible by 3, no matter how they are arranged
such as 1101100101.
RE:
\[ (0 + (1(1(1(0 + 00)0 + 0) + 0)))^* \]

TG:
1. \( S \rightarrow 0T \)
2. \( T \rightarrow (1U + 0)^* \)
3. \( U \rightarrow (1V + 0)^* \)
4. \( V \rightarrow (1(1W + 00) + 0)^* \)
5. \( W \rightarrow (1(1X + 00)0 + 0)^* \)
6. \( X \rightarrow 1Y + 0 \)
7. \( Y \rightarrow (1Z + 00)0 \)
8. \( Z \rightarrow 1W + 0 \)

GTG:
- Nodes: \( S, T, U, V, W, X, Y, Z \)
- Edges: \( S \xrightarrow{0} T, T \xrightarrow{(1U + 0)^*} T, U \xrightarrow{(1V + 0)^*} U,
V \xrightarrow{(1(1W + 00) + 0)^*} V, W \xrightarrow{(1(1X + 00)0 + 0)^*} W, X \
xrightarrow{1Y + 0} Y, Y \xrightarrow{(1Z + 00)0} Y, Z \xrightarrow{1W + 0} W \)

l) All the words in which any 0’s that occur are found in clumps of odd numbers.
RE:
\[ (1 + (0(00)^*1))^* \]
TG:
1. \( S \rightarrow 1T \)
2. \( T \rightarrow (0U + 1)^* \)
3. \( U \rightarrow (00V + 1)^* \)
4. \( V \rightarrow 1 \)

GTG:
- Nodes: \( S, T, U, V \)
- Edges: \( S \xrightarrow{1} T, T \xrightarrow{(0U + 1)^*} T, U \xrightarrow{(00V + 1)^*} U,
V \xrightarrow{1} T \)

You might also like