Download presentation
Presentation is loading. Please wait.
Published byBarnard Tucker Modified over 9 years ago
1
A shorted version from: Anastasia Berdnikova & Denis Miretskiy
2
‘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 grammars2
3
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 grammars3
4
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: α 1 Wα 2 → α 1 βα 2. AB → BA unrestricted (phase structure) grammars: α 1 Wα 2 → γ Transformational grammars4
5
5
6
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 grammars6
7
--------------------------------------------------- GrammarParsing automaton --------------------------------------------------- regular grammarsfinite state automaton context-free grammarspush-down automaton context-sensitive grammarslinear bounded automaton unrestricted grammarsTuring machine --------------------------------------------------- Transformational grammars7
8
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 grammars8
9
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 grammars9
10
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 grammars10
11
RG cannot describe language L when: L contains all the strings of the form aa, bb, abba, baab, abaaba, etc. (a palindrome language). L contains all the strings of the form aa, abab, aabaab (a copy language). Transformational grammars11
12
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 grammars12
13
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 grammars13
14
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 grammars14
15
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 grammars15
16
Copy language: cc, acca, agaccaga, etc. initialisation: S → CWterminal generation: nonterminal generation:CA → aC W → AÂW | GĜW | CCG → gC nonterminal reordering: ÂC → Ca ÂG → GÂ ĜC → Cg ÂA → AÂtermination: ĜA → AĜCC → cc ĜG → GĜ Transformational grammars16
17
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 grammars17
18
Nondeterministic polynomial problems: 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 grammars18
19
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 grammars19
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.