**Examples of DFA**

This lecture discusses more than 30 **examples of DFA**. But you make sure that you have already covered the topic of DFA. There are six different categories are selected for examples of DFA, which are listed below

- Accept Only given Input
- Start and Ends with
- Contains string
- Specific Length
- Divisibility
- Even and odd string

Let’s explain all of these DFA examples in sequence in TOC.

**Example 1:**

Design a DFA over ∑ = {0, 1} that **accepts the only input a string “10”.**

**Solution:**

In the above example, the language contains only one string given below

L= {10}

DFA that **accepts the only input a string “10”** is given below

**Example:2**

Construct a DFA with ∑ = {a, b} that **accepts the only input “aaab”.**

**Solution:**

The given question provides the following language

L= {aaab}

The following diagram represents the DFA accepter for L= {aaab}.

**Example:3**

Construct DFA, which accept all the string over alphabets **∑ {0,1}** that **start with “0”.**

**Solution:**

The given question provides the following language

L = {0, 01, 00, 010, 011, 000, 001,…, }

Let’s draw the DFA, which accepts all the strings **starting with “0”.**

**Example:4**

Construct DFA, which accept all the string over alphabets ∑ {0,1} that start with “01”.

**Solution:**

The given question provides the following language

L = {01, 010, 011, 0100, 0101, 0110, 0111}

Let’s draw the DFA which accepts all the strings of the above language

**Example:5**

Construct DFA, which accepts all the strings over alphabets ∑ {0,1} **that ends with “0”.**

**Solution:**

The given example provides the following language

L = {0, 10, 00, 000, 010, 100, 110, …, }

Let’s draw the DFA, which accepts all the strings **that end with “0”.**

**Example:6**

Construct DFA, which accept all the string over alphabets ∑ {0,1} **that end with “10”.**

**Solution:**

The given question provides the following language

L = {10, 010, 110, 0010, 0110, 1010, 1110,…., }

DFA, which accepts all the strings **that end with “10” **is given under

**Example:7**

Construct a DFA with sigma **∑ = {0, 1},** accepts those string which **starts with one and ends with 0.**

**Solution:**

The given question provides the following language

L= {10, 1100,1010, 1110, 100010, 1000101110,…, }

The following diagram represents the DFA accepter for the above language.

Note: The above automata machine does not accept those strings that start and end with the same input as “10001”.

**Example:8**

Construct DFA, which accepts all the strings over ∑ {0,1} where each **contains “0”.**

**Solution:**

The given question provides the following language

L= {0, 01, 10, 00,001,101,000, …., }

Let’s draw the DFA, which accepts all the strings** containing “0”**.

**Example:9**

Construct DFA, which accept all the string over alphabets ∑ {0,1} where **each string contains “00”.**

**Solution:**

The given question provides the following language

L= { 00, 000, 100, 001, 1100, 0011, 0010, 1001,……, }

Let’s draw the DFA which accepts all the strings of the above language

**Example:10**

Construct a DFA with sigma **∑ = {0, 1},** accepts all strings that **contain three consecutive 0’s.**

**Solution:**

The given question provides the following language

**L= {000, 1000,0001, 111000, 10001, …, }**

DFA, which accepts all the strings that **contain three consecutive 0’s, is given under**

**Example:11**

Construct DFA, which accept all the string over alphabets ∑ {0,1} where **each string contains “101” as a substring.**

**Solution:**

The given question provides the following language

L= {101, 0101, 1101, 1010, 1010, 01010, 01011,……, }

Let’s draw the DFA which accepts all the strings of the above language

**Example:12**

Construct DFA, which accept all the string over alphabets ∑ {0,1} where the **length of each string is exactly 2.**

**Solution:**

The given question provides the following language

L= {00, 01, 10, 11}

The following diagram represents the DFA accepter for the language language where the **length of each string is exactly two.**

**Example:13**

Construct DFA, which accept all the string over alphabets ∑ {0,1} where the** length of each string is ≥ 2.**

**Solution:**

The given question provides the following language

L = {00, 01, 10, 11, 000, 011, 010, 100, 101, 111, 0000, ……, }

The following diagram represents the DFA accepter for the language language where the **length of each string is ≥ 2.**

**Example:14**

Construct DFA, which accept all the string over alphabets ∑ {0,1} where **the length of each string is ≤ 2**

**Solution:**

The given question provides the following language

L = {0, 1, 00, 01, 10, 11}

The following diagram represents the DFA accepter for the language where **the length of each string is ≤ 2**

**Example:15**

Construct DFA, which accept all the string over alphabets ∑ {0,1} where **the length of each string is EVEN.**

**Solution:**

The given question provides the following language

L = {00, 01, 10, 11, 0000, 1111, 0011, ……, }

The following diagram represents the DFA accepter for the language where **the length of each string is even.**

**Example:16**

Construct DFA, which accept all the string over alphabets ∑ {0,1} where **the length of each string is ODD.**

**Solution:**

The given question provides the following language

L = {

0, 1, 000, 111, 011, 100,……, }

The following diagram represents the DFA accepter for the language where **the length of each string is odd.**

**Example:17**

Construct DFA, which accepts all the string over alphabets ∑ {0,1} where **binary integers divisible by 3**

**Solution:**

The given question provides the following language

L = {0, 11, 110, 1001, 1100, 1111, ……, }

The explanation for string 1001 is given below.

1001= 9, 9/3 = 3; hence, 1001 is divisible by 3.

The following diagram represents the DFA accepter for the language where **binary integers are divisible by three.**

**Example:18**

Construct DFA, which accepts all the string over alphabets ∑ {0,1} where **binary integers divisible by 4**

**Solution:**

The given question provides the following language

L = {0, 100, 1000, 1100, 10000,……, }

The explanation for string 10000 is given below.

10000= 16, 16/4 = 4, hence 10000 is divisible by 4.

The following diagram represents the DFA accepter for the language where** binary integers are divisible by four.**

**DFA Example 19:**

Draw a DFA for the language that accepts strings containing neither ’00’ nor ’11’ as a substring over the input alphabet ∑ = {0, 1}.

**Solution:**

The given question provides the following language** (L)** and DFA diagram

L={0,1,10,010,1010,01010,101010,0101010,10101010,010101010,…..}

**DFA Example 20:**

Design a DFA that accepts strings **with ’01’ or ’10’ as a substring** over input alphabets ∑ = {0, 1}.

**Solution:**

The given question provides the following language** (L)** and DFA diagram

L={001,110,1110,0010,0001,1101,…..}

**DFA Example 21**

Construct a DFA with sigma **∑ = {0, 1} **for the language accepting **strings ending in either ’01’ or ’10’.**

**Solution:**

The given question provides the following language** (L)** and DFA diagram

L={01,10, 010, 101, 001, 110…..}

**DFA Example 22**

Construct a DFA with sigma **∑ = {0, 1} **for the language accepting strings **containing exactly two ‘0’.**

**Solution:**

The given question provides the following language** (L)** and DFA diagram

L={00, 100, 001, 1010, 0101, 11100,…….}

**DFA Example 23**

Design a DFA with sigma **∑ = {0, 1} **for the language accepting strings **containing at least two ‘0’.**

**Solution:**

The given question provides the following language** (L)** and DFA diagram

L={00,001,000,0011,0010,0001,0000,1100, 1001…..}

**DFA Example 24**

Draw a DFA with sigma **∑ = {0, 1} **for the language accepting **strings containing at most two ‘0’.**

**Solution:**

The given question provides the following language** (L)** and DFA diagram

L={0,1,10,01,001,1001,1011,1101, …..}

**DFA Example 25**

Construct a DFA with sigma **∑ = {0, 1} **for the language accepting **strings starting and ending with ‘0’ always.**

**Solution:**

The given question provides the following language** (L)** and DFA diagram

L={0,00,010,000, 0110, 0100…..}

**DFA Example 26**

Design a DFA with sigma **∑ = {0, 1} **for the language accepting strings starting and ending with different characters.

**Solution:**

The given question provides the following language** (L)** and DFA diagram

L={01,10,011,100,…..}

**DFA Example 27**

Construct a DFA with sigma **∑ = {0, 1} **for the language accepting strings **starting and ending with the same characters.**

**Solution:**

The given question provides the following language** (L)** and DFA diagram

L={00,11,101,010,…..}

**DFA Example 28**

Design a DFA with sigma **∑ = {0, 1} **for the language accepting strings containing an o**dd number of total zeros (or odd binary numbers strings).**

**Solution:**

The given question provides the following language** (L)** and DFA diagram

L={0,01,10, 101, 010, 1011, 1110,…..}

**DFA Example 29**

Construct a DFA with sigma **∑ = {0, 1} **for the language accepting strings **starting with ‘00’ or ’11’**

**Solution:**

The given question provides the following language** (L)** and DFA diagram

L={00,11,000,111, 110,0001,0010, …..}

**DFA Example 30**

Construct a DFA with sigma **∑ = {0, 1} **for the language accepting strings **ending with ‘0011’.**

**Solution:**

The given question provides the following language** (L)** and DFA diagram

L={0011,00011,10011,110011,000011,…..}

**DFA Example 31**

Construct a DFA with sigma **∑ = {0, 1} **for the language accepting strings **ending with ‘0110’ .**

**Solution:**

The given question provides the following language** (L)** and DFA diagram

L={0110,10110,00110,110110,000110,…..}

**DFA Example 32**

Construct a DFA with sigma **∑ = {0, 1} **for the language accepting strings **ending with ‘00’.**

**Solution:**

The given question provides the following language** (L)** and DFA diagram

L={00,000,0100,01100,01000…..}

**Example:33**

Design a DFA with sigma **∑ = {a, b},** accepts those strings that **have an even number of “0’s” and an even number of “1’s”.**

**Solution:**

The given question provides the following language

**L= {** **ε**, 00, 11, 0101, 1001, **0011, 00001111, 11110000,…., }**

**Note**: Epsilon (**ε**) represents zero, which is even.

Let’s draw the DFA which accepts all the strings of the above language

**In Above DFA,**

- If state q1 becomes final instead of q0, DFA will accept all those strings with Odd “0” and even “1”.
- And if state q2 becomes final instead of q0, then DFA will accept all those strings with even “0” and odd “1”.
- And If state q3 becomes final instead of q0, then DFA will accept all those strings with odd “0” and odd “1”.