**Examples of DFA**

This lecture discusses more than 20 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”.