Differentiate Between Ambiguous and Unambiguous Grammar

Bhanu Priya
Updated on 15-Jun-2021 12:14:50

8K+ Views

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 More

Construct DFA of Alternate 0's and 1's

Bhanu Priya
Updated on 15-Jun-2021 12:13:10

4K+ Views

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 More

Construct a TM Performing Multiplication of Two Unary Numbers

Bhanu Priya
Updated on 15-Jun-2021 12:11:27

11K+ Views

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 More

Design a Turing Machine to Compute Addition of Two Unary Numbers

Bhanu Priya
Updated on 15-Jun-2021 12:08:55

12K+ Views

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 More

Plot True/False or Active/Inactive Data in Matplotlib

Rishikesh Kumar Rishi
Updated on 15-Jun-2021 12:07:58

2K+ Views

To plot true/false or active/deactive data in Matplotlib, we can take the following steps −Set the figure size and adjust the padding between and around the subplots.Create data using numpy with True or False.Create a new figure or activate an existing figure using figure() method.Add an '~.axes.Axes' to the figure as part of a subplot arrangement.Use imshow() method to display data as an image, i.e., on a 2D regular raster.To display the figure, use show() method.Exampleimport matplotlib.pyplot as plt import numpy as np plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True data = np.random.random((20, 20)) > 0.5 fig = ... Read More

View All Colormaps Available in Matplotlib

Rishikesh Kumar Rishi
Updated on 15-Jun-2021 12:06:49

195 Views

To view all colormaps available in Matplotlib, we can take the following steps −Set the figure size and adjust the padding between and around the subplots.Create a new figure or activate an existing figure.Add an '~.axes.Axes' to the figure as part of a subplot arrangementMake an axis that is divider on the existing axes.Create random data using numpy.Display the data as an image, i.e., on a 2D regular raster.Create a colorbar for a ScalarMappable instance, im.Set a title for the current figure.Animate the image with all colormaps available in matplotlib.Make an animation by repeatedly calling a function.To display the figure, ... Read More

Distinguish Between Finite Automata and Turing Machine

Bhanu Priya
Updated on 15-Jun-2021 12:06:32

6K+ Views

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 More

Build DFA for Languages Ending with 01 in C

Bhanu Priya
Updated on 15-Jun-2021 12:03:41

18K+ Views

ProblemDesign deterministic finite automata (DFA) with ∑ = {0, 1} that accepts the languages ending with “01” over the characters {0, 1}.SolutionThe strings that are generated for a given language are as follows −L={01, 001, 101, 110001, 1001, ……….}The minimum length of the string is 2, the number of states that the DFA consists of for the given language is: 2+1 = 3 states.Here, q0 − On input 0 it goes to state q1 and on input 1 it goes to itself.q1 − On input 0 it goes to itself and on input 1 it goes to State q2.q2 − ... Read More

Construction of Finite and Infinite Language

Bhanu Priya
Updated on 15-Jun-2021 12:02:27

2K+ Views

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 More

Design a Turing Machine to Recognize Palindromes Over {a, b}

Bhanu Priya
Updated on 15-Jun-2021 12:00:34

30K+ Views

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 More

Advertisements