Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
Articles by Bhanu Priya
Page 93 of 106
Construct a DFA recognizing the language {x | the number of 1's is divisible by 2, and 0'sby 3} over an alphabet ∑={0,1}
ProblemThe given language L={ x | the number of 1's is divisible by 2, and 0's by 3} over an alphabet ∑={0, 1}.SolutionThe language is divided into two parts, first we need to find the number of 1’s divisible by 2 and second find out the number of 0’s divisible by 3, finally combine the two parts to generate a result.Step 1 − DFA for the first part, number of 1’s divisible by 2.Here, q0 on 0 goes to q0 which is a final state, and generates a string 0, accepted by the given language.q0 on 1 goes to q1, ...
Read MoreDifferentiate between Ambiguous and Unambiguous Grammar
Before understanding the differences between ambiguous grammar and unambiguous grammar, let us learn about these concepts.Ambiguous GrammarA grammar is said to be ambiguous if there exists more than one left most derivation or more than one right most derivation or more than one parse tree for a given input string.If the grammar is not ambiguous then we call unambiguous grammarIf the grammar has ambiguity then it is good for compiler constructionNo method can automatically detect and remove the ambiguity, but we can remove the ambiguity by re-writing the whole grammar without ambiguity.ExampleLet us consider a grammar with production rules −E=I ...
Read MoreConstruct DFA of alternate 0’s and 1’s
ProblemConstruct deterministic Finite automata (DFA) whose language consists of strings with alternate 0’s and 1’s over an alphabet ∑ ={0, 1}.SolutionIf Σ = {0, 1} (ε + 1)(01)* (ε + 0) is the set of strings that alternate 0’s and 1’s Another expression for the same language is (01)*+ 1(01)*+ (01)*0+ 1(01)*0.The strings the given language generates are as follows −If no input is either 0 or 1 then it generates {ε} .String starts with 0 and followed by 1 = {0101…}.String starts with 1 followed by 0 ={101010….. }So, based on string generation it is clear the strings are ...
Read MoreConstruct a TM performing multiplication of two unary numbers
AlgorithmStep 1 - Read the leftmost ‘0’ replace it by ‘x’ and move right to process the immediate symbol after ‘#’.Step 2 - Replace the symbol ‘0’ by x and move right reach the first ‘B’ after ‘#’Step 3 - Replace B by ‘0’ and move left until the nearest ‘x’ is reachedStep 4 - Replace the ‘x’ by 0 and move right to process the next symbol of the multiplicand.Step 5 - Perform steps 2, 3 and 4 until all the symbols of the multiplicand are processed.Step 6 - Move left to replace the symbol of the multiplier, ‘x’ ...
Read MoreDesign a TM to compute addition of two unary numbers
The unary input number n is represented with a symbol 0 n – times.Example4 → 00001 → 05 → 00000The separation symbol, „#‟ (any other special character) shall be used to distinguish between two or more inputs.For Example: 5, 2 are the inputs represented by 00000 # 00.AlgorithmStep 1 - Read the symbols of the first input with no replacements and move right.Step 2 - When the symbol = ‘#’, replace it by ‘0’ and move right.Step 3 - Traverse right side until the rightmost ‘0’ (left to B – last symbol)Step 4 - Replace the rightmost ‘0’ by BStep ...
Read MoreDistinguish between Finite Automata and Turing Machine
Before understanding the differences between the finite automata (FA) and the turing machine (TM), let us learn about these concepts.Finite AutomataFinite automata is an abstract computing deviceIt is a mathematical model of a system with discrete inputs, outputs, states and set of transitions from state to state that occurs on input symbol from alphabet ΣFinite Automata RepresentationFA can be represented as following in the theory of computation (TOC) −Graphical (Transition diagram)Tabular (Transition table)Mathematical (Transition function)Formal definition of Finite AutomataA Finite automata is a five tuplesM=(Q, Σ, δ, q0, F)Where, Q − Finite set called statesΣ − Finite set called alphabetsδ ...
Read MoreExplain the construction of finite and infinite language?
Firstly, let us learn about the infinite language and then understand how to construct the finite and infinite language in the theory of computation (TOC).Infinite languageThere is no bound on the length of any strings in an infinite language.There is no bound on any number of derivation steps used to derive the strings also.For example, if the grammar has n productions, then any derivation consisting of n + 1 steps uses some production twice.If the language is said to be infinite, then some production or sequence of productions must be used repeatedly to construct the derivationsExampleThe infinite language {anb | ...
Read MoreDesign a TM which recognizes palindromes over = {a, b}
AlgorithmStep 1 - If there is no input, reach the final state and halt.Step 2 - If the input = “a‟, then traverse forward to process the last symbol = “a‟. Convert both a‟s to B‟.Step 3 - Move left to read the next symbol.Step 4 - If the input = “b‟, replace it by B and move right to process its equivalent “B‟ at the rightmost end.Step 5 - Convert the last ’b’ to ‘B’.Step 6 - Move left and process step 2 – 5 until there are no more inputs to process.Step 7 - If the machine reaches ...
Read MoreExplain type 2 grammar with properties
Type 2 grammars are context free grammars (CFG).All productions are of the form −A → x — where A is nonterminal, x is a string of nonterminal and terminals, A context-free grammar is equivalent to a pushdown automaton (PDA) and to context free languages.Example − Pushdown Automaton (PDA)PropertiesA grammars, G = (V, T, P, S) is said to be context free if the production rule is of the form, A → α .The transition allows A → ε [i.e., α → ε] where, A is a non terminal symbol α is any terminal or non-terminal symbol.Here, the left hand side of ...
Read MoreConstruct a TM recognizing strings of the form an bn cn| n≥1 over = {a, b, c}
AlgorithmStep 1: Process the leftmost „a‟ and replace it by „x‟.Step 2: Move right until the leftmost „b‟ is reached. Replace it by „y‟.Step 3: Move right until the leftmost „c‟ is reached. Replace it by „z‟.Step 4: Move left to reach the leftmost „a‟ and perform steps 1, 2 and 3 (n – 1) times.Step 5: Halt if there are „n‟ number of x, y, z.Turing Machine for the given language is as follows −The Turing machine, M is given by M = (Q, Σ, Γ, δ, q0, B, F)Where, Q = {q0, q1, q2, q3, q4, q5}Σ = ...
Read More