200 likes | 372 Views
Transformational grammars. A shorted version from : Anastasia Berdnikova & Denis Miretskiy. Introduction. ‘Colourless green ideas sleep furiously’. Chomsky constructed finite formal machines – ‘ grammars ’.
E N D
Transformational grammars A shorted version from: Anastasia Berdnikova & Denis Miretskiy
Introduction • ‘Colourless green ideas sleep furiously’. • Chomsky constructed finite formal machines – ‘grammars’. • ‘Does the language contain this sentence?’ (intractable) ‘Can the grammar create this sentence?’ (can be answered). • TG are sometimes called generative grammars. Transformational grammars
Definition • TG = ( {symbols}, {rewriting rulesα→β - productions} ) • {symbols} = {nonterminal} U {terminal} • αcontains at least one nonterminal, β – terminals and/or nonterminals. • S→aS, S→bS, S→ e (S →aS| bS| e) • Derivation: S=>aS=>abS=>abbS=>abb. • Parse tree: root – start nonterminal S, leaves – the terminal symbols in the sequence, internal nodes are nonterminals. • The children of an internal node are the productions of it. Transformational grammars
The Chomsky hierarchy • W – nonterminal, a – terminal, α and γ –strings of nonterminals and/or terminals including the null string, β – the same not including the null string. • regular grammars: W→ aW or W→ a • context-free grammars:W→β • context-sensitive grammars:α1Wα2→α1βα2. AB→ BA • unrestricted (phase structure) grammars: α1Wα2→γ Transformational grammars
The Chomsky hierarchy Transformational grammars
Automata • Each grammar has a corresponding abstract computational device – automaton. • Grammars: generative models, automata: parsers that accept or reject a given sequence. • - automata are often more easy to describe and understand than their equivalent grammars. - automata give a more concrete idea of how we might recognise a sequence using a formal grammar. Transformational grammars
Parser abstractions associated with thehierarchy of grammars --------------------------------------------------- Grammar Parsing automaton --------------------------------------------------- regular grammars finite state automaton context-free grammars push-down automaton context-sensitive grammars linear bounded automaton unrestricted grammars Turing machine --------------------------------------------------- Transformational grammars
Regular grammars • W → aW or W → a • sometimes allowed: W → e • RG generate sequence from left to right (or right to left:W → Wa or W → a) • RG cannot describe long-range correlations between the terminal symbols (‘primary sequence’) Transformational grammars
An odd regular grammar • An example of a regular grammar that generates only strings of as and bs that have an odd number of as: start from S, S → aT | bS, T→ aS | bT | e. Transformational grammars
Finite state automata • One symbol at a time from an input string. • The symbol may be accepted => the automaton enters a new state. • The symbol may not be accepted => the automaton halts and reject the string. • If the automaton reaches a final ‘accepting’ state, the input string has been succesfully recognised and parsed by the automaton. • {states, state transitions of FSA}{nonterminals, productions of corresponding grammar} Transformational grammars
What a regular grammar can’t do RG cannot describe language L when: • L containsall the stringsof the form aa, bb, abba, baab, abaaba, etc. (a palindrome language). • L containsall the stringsof the form aa, abab, aabaab (a copy language). Transformational grammars
Regular language: a b a a a b • Palindrome language: a a b b a a • Copy language: a a b a a b • Palindrome and copy languages have correlations between distant positions. Transformational grammars
Context-free grammars • The reason: RNA secondary structure is a kind of palindrome language. • The context-free grammars (CFG) permit additional rules that allow the grammar to create nested, long-distance pairwise correlations between terminal symbols. • S → aSa | bSb | aa | bb S => aSa => aaSaa => aabSbaa => aabaabaa Transformational grammars
Push-down automata • The parsing automaton for CFGs is called a push-down automaton. • A limited number of symbols are kept in a push-down stack. • A push-down automaton parses a sequence from left to right according to the algorithm. • The stack is initialised by pushing the start nonterminal into it. • The steps are iterated until no input symbols remain. • If the stack is empty at the end then the sequence has been successfully parsed. Transformational grammars
Algorithm: Parsing with a push-down automaton • Pop a symbol off the stack. • If the poped symbol is nonterminal: - Peek ahead in the input from the current position and choose a valid production for the nonterminal. If there is no valid production, terminate and reject the sequence. - Push the right side of the chosen production rule onto the stack, rightmost symbols first. • If the poped symbol is a terminal: - Compare it to the current symbol of the input. If it matches, move the automaton to the right on the input (the input symbol is accepted). If it does not match, terminate and reject the sequence. Transformational grammars
Context-sensitive grammars • Copy language: cc, acca, agaccaga, etc. • initialisation: S → CW terminal generation: nonterminal generation: CA→ aC W→ AÂW | GĜW | C CG → gC nonterminal reordering: ÂC → Ca ÂG → GÂ ĜC → Cg ÂA → AÂ termination: ĜA → AĜ CC → cc ĜG → GĜ Transformational grammars
Linear bounded automaton • A mechanism for working backwards through all possible derivations: either the start was reached, or valid derivation was not found. • Finite number of possible derivations to examine. • Abstractly: ‘tape’ of linear memory and a read/write head. • The number of possible derivations is exponentially large. Transformational grammars
NP problems and ‘intractability’ • Nondeterministic polynomialproblems: there is no known polynomial-time algorithm for finding a solution, but a solution can be checked for correctness in polynomial time. [Context-sensitive grammars parsing.] • A subclass of NP problems - NP-complete problems. A polynomial time algorithm that solves one NP-complete problem will solve all of them. [Context-free grammar parsing.] Transformational grammars
Unrestricted grammars and Turing machines • Left and right sides of the production rules can be any combinations of symbols. • The parsing automaton is a Turing machine. • There is no general algorithm for determination whether a string has a valid derivation in less than infinite time. Transformational grammars