# Category Archives: Theory of Computation & Automata

## TOC | Introduction of Theory of ComputationNovember 13, 2017

Automata theory (also known as Theory Of Computation) is a theoretical branch of Computer Science and Mathematics, which mainly deals with the logic of computation… Read More »

## TOC | Context-sensitive Grammar (CSG) and Language (CSL)

Context-Sensitive Grammar – A Context-sensitive grammar is an Unrestricted grammar in which all the productions are of form – Where α and β are strings… Read More »

## Theory of Computation | Union & Intersection of Regular languages with CFLOctober 17, 2017

Prerequisite – Chomsky Hierarchy, Regular Languages As we all are aware that languages accepted by finite automata are called regular languages and those which are… Read More »

## Undecidability and ReducibilityJune 9, 2016

Decidable Problems A problem is decidable if we can construct a Turing machine which will halt in finite amount of time for every input… Read More »

## Ambiguity in Context free Grammar and Context free LanguagesJune 6, 2016

Prerequisite – Pushdown Automata and Context Free Languages . Suppose we have a context free grammar G with production rules: S->aSb|bSa|SS|ɛ Left most derivation (LMD)… Read More »

## Mealy and Moore MachinesJune 5, 2016

Moore Machines: Moore machines are finite state machines with output value and its output depends only on present state. It can be defined as (Q, q0, ∑, O, δ, λ) where: Q is finite set of states. q0 is the initial state. ∑ is the input alphabet. O is the output alphabet. δ is transition function which maps Q×∑ → Q. λ is the output function which maps Q → O.  Figure 1 In the moore machine shown in Figure 1, the output is represented with each input state separated by /. The length of output for a moore machine is greater than input by 1. Input: 11 Transition: δ (q0,11)=> δ(q2,1)=>q2 Output: 000 (0 for q0, 0 for q2 and again 0 for q2)  Mealy Machines: Mealy machines are also finite state machines with output value and its output depends on present state and current input symbol. It can be defined as (Q, q0, ∑, O, δ, λ’) where: Q is finite set of states. q0 is the initial state. ∑ is the input alphabet. O is the output alphabet. δ is transition function which maps Q×∑ → Q. ‘λ’ is the output function which maps Q×∑→ O. Figure 2 In the mealy machine shown in Figure 1, the output is represented with each input symbol for each… Read More »

## Simplifying Context Free GrammarsMay 28, 2016

The definition of context free grammars (CFGs) allows us to develop a wide variety of grammars. Most of the time, some of the productions of… Read More »

## Theory of Computation | DecidabilityMay 10, 2016

Identifying languages (or problems*) as decidable, undecidable or partially decidable is a very common question in GATE. With correct knowledge and ample experience, this question… Read More »

## Turing MachineMay 4, 2016

Turing Machine was invented by Alan Turing in 1936 and it is used to accept Recursive Enumerable Languages (generated by Type-0 Grammar). A turing machine… Read More »

## Recursive and Recursive Enumerable LanguagesApril 8, 2016

Recursive Enumerable (RE) or Type -0 Language RE languages or type-0 languages are generated by type-0 grammars. An RE language can be accepted or recognized… Read More »

## Theory of Computation | Minimization of DFAMarch 26, 2016

DFA minimization stands for converting a given DFA to its equivalent DFA with minimum number of states. Minimization of DFA Suppose there is a DFA… Read More »

## Theory of Computation | Conversion from NFA to DFA

An NFA can have zero, one or more than one move from a given state on a given input symbol. An NFA can also have… Read More »

## Theory of Computation | Closure Properties of Context Free Languages

Context Free languages are accepted by pushdown automata but not by finite automata. Context free languages can be generated by context free grammar which has… Read More »

## Theory of Computation | Pushdown Automata

We have already discussed finite automata. But finite automata can be used to accept only regular languages. Pushdown Automata is a finite automata with extra… Read More »