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 More
To have colorbar background and label placement, we can take the following steps −Set the figure size and adjust the padding between and around the subplots.Create random data using numpy.Plot the contours.With scalar mappable instance, make the colorbar.Set ticklabels for colorbar with background and label placementTo display the figure, use show() method.Exampleimport numpy as np import matplotlib.pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True data = np.linspace(0, 10, num=16).reshape(4, 4) cf = plt.contourf(data, levels=(0, 2.5, 5, 7.5, 10)) cb = plt.colorbar(cf) cb.set_ticklabels([1, 2, 3, 4, 5]) plt.show()Output
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
The set of all strings (over terminal symbols) which can be derived from the start symbol is the language generated by the grammar G.Example 1Let grammar G be defined by the set of terminals T = {a, b}, the only non-terminal start symbol S and the set of production rules. Hence, the grammar G would be as follows −S → ∧, S → aSbOr in shorthand, it is as mentioned below −S → ∧ | aSbL(G) = {∧, ab, aabb, aaabbb, . . . }DefinitionIf G is called as a grammar with start symbol S and set of terminals T, ... Read More
Type 3 grammars are regular grammars that describe regular / formal languages.These grammars contain production rules consisting of the following −Only one non-terminal at the left hand side, The right hand side has a single terminal and may or may not be followed by non terminals.ExampleA → ε , A → a, A → b, A → aA etc.TypesThere are two types of regular grammars namely −Right linear / Right regular grammarLeft linear / Left regular grammarLet us learn about these two types of grammar in detail.Right linear grammarThis is a regular grammar with the production rules of the formA ... Read More
It is easy to see that for any language L the following simple properties hold −L · {∧} = {∧} · L = LL · ∅ = ∅ · L = ∅Now let’s see the commutativity and associativity of the operation of concatenation.Properties of products – commutativityThe operation of concatenation is not commutative. In other words, the order matters!Given two languages L and M, it’s usually true thatL · M ≠ M · LExampleIf L = {ab, ac} and M = {a, bc, abc}, then the productL · M is the languageL · M = {aba, abbc, ababc, aca, acbc, ... Read More
To plot arbitrary markers on a Pandas data series, we can use pyplot.plot() with markers.StepsSet the figure size and adjust the padding between and around the subplots.Make a Pandas data series with axis labels (including timeseries).Plot the series index using plot() method with linestyle="dotted".Use tick_params() method to rotate overlapping labels.To display the figure, use show() method.Exampleimport pandas as pd from matplotlib import pyplot as plt import numpy as np plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True ts = pd.Series(np.random.randn(10), index=pd.date_range('2021-04-10', periods=10)) plt.plot(ts.index, ts, '*', ls='dotted', color='red') plt.tick_params(rotation=45) plt.show()OutputRead More
There are three common ways of creating a new language from two languages −UnionIntersectionProductLanguages are sets of strings, so they can be combined by the usual set operations of union and intersection.IntersectionIf L1 and L2 are languages over ∑, then L1 ∩ L2 is the language of strings in both L1 and L2 .For example, If L = {aa, bb, ab} and M = {ab, aabb} then, The intersection is as follows −L ∩ M = {ab}AndUnionIf L1 and L2 are languages over the alphabet ∑, then the language L1 ∪ L2 is the language of all strings in at ... Read More
Basically a push down automata (PDA) is as follows −“Finite state machine+ a stack”PDA has three components, which are as follows −An Input tape.A control unit.A Stack with infinite size.A PDA can be formally described as seven tuples(Q, Σ, S, δ, q0, I, F)Where, Q is finite number of statesΣ is input alphabetS is stack symbolΔ is the transition function: QX(Σ∪{e})XSXQq0 is the initial state (q0 belongs to Q)I is the initial state top symbolF is a set of accepting states (F belongs to Q)ProblemConstruct a non-deterministic PDA (NPDA) for accepting the languageL = {a^m b^{2m} | m>=1}.SolutionThe strings which ... Read More
A push down automata (PDA) can be formally described as seven tuples(Q, Σ, S, δ, q0, I, F)Where, Q is finite number of statesΣ is input alphabetS is stack symbolΔ is the transition function: QX(ΣU{e})XSXQq0 is the initial state (q0 belongs to Q)I is the initial state top symbolF is a set of accepting states (F belongs to Q)ProblemConstruct PDA for anbmc(n+m) n, m≥1SolutionSo, the strings which are generated by the given language are as follows−L={abcc, aabccc, aaabbccccc, ….}That is to add the number of a's and b's, and that will equal the number of c's.So for every a's and ... Read More
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP