- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# How to use Turing machines to recognize languages in TOC?

A Turing machine (TM) can be formally described as seven tuples −

(Q,X, ∑, δ,q0,B,F)

Where,

Q is a finite set of states.

X is the tape alphabet.

∑ is the input alphabet.

δ is a transition function: 𝛿:QxX->QxXx{left shift, right shift}.

q0 is the initial state.

B is the blank symbol.

F is the final state.

A Turing machine T recognises a string x (over ∑) if and only when T starts in the initial position and x is written on the tape,

T halts in a final state.

T is said to recognize a language A, if x is recognised by T and if and only if, x belongs to A.

Be aware that while running a TM, you can also read/write other symbols from/onto a tape, not necessarily only those from the alphabet A.

A Turing machine T does not recognize a string x, if T does not halt in a state that is not final.

There are TMs which for an input don’t halt at all and run forever.

**Instantaneous Description**

To describe the TM at a given time we need to understand three things, which are given below −

What is on the tape?

Where is the tape head?

What state is the control in?

We will represent this information as follows:

State i − B a a b a b B

Here, the B symbol represents an empty cell (repeated indefinitely to left and right) and the position of the tape head is in red.

**Example**

For ∑ = {a, b} design a Turing machine that accepts the language denoted by the regular expression a*.

Step 1 − Starting at the left end of the input, we read each symbol and check that it is a.

Step 2 − If it is, we continue moving right.

Step 3 − If we reach a blank symbol without encountering anything but a, we terminate and accept the string.

Step 4 − If the input contains a b anywhere (the string is not in L(a*)) we halt in a non-final state.

To keep track of the computation, two states 0 (initial) and 1 (final) are sufficient. As the transition function we can use −

T(0, a) = (0, a, R),

T(0,B ) = (1,B , R)

Or we can draw a figure −

- Related Articles
- How to recognize when to use : or = in JavaScript?
- What is Turing Machine in TOC?
- Explain the universal Turing machine in TOC
- Explain Multi tape Turing Machine in TOC?
- What is The Church-Turing Thesis in TOC?
- What are the Turing machine variations in TOC?
- Explain the technique for combining two languages in TOC?
- How to recognize mood disorder and treat it?
- How to recognize and protect yourself from Cybercrime?
- How to Recognize and Reduce Water Retention (Edema)?
- Getting Safari to recognize HTML 5
- How do I get IntelliJ to recognize common Python modules?
- How to convert from NFA to DFA in TOC?
- How to set up different languages in Video.js player?
- How do you get selenium to recognize that a page loaded?