This course covers fundamentals of programming/natural language processings, and focuses on phrase structure grammar, regular expression, finite automaton, pushdown automaton, and properties of formal languages.
The aim of this course is to understand fundamental theories of language processing by learning formal languages from the viewpoints of language generation and analysis methods.
At the end of this course, students will be able to:
1) Have an understanding of definitions and properties of regular and context-free languages.
2) Have an understanding of regular and context-free grammars, and solve related problems such as conversion to normal form.
3) Have an understanding of deterministic/non-deterministic finite automata, and solve related problems such as generating an automaton for a given grammar.
4) Have an understanding of definition of pushdown automaton, and solve problems of related algorithms.
phrase structure grammar, regular language, context-free language, regular grammar, context-free grammar, regular expression, finite automaton, pushdown automaton, pumping lemma
|✔ Specialist skills||Intercultural skills||Communication skills||Critical thinking skills||Practical and/or problem-solving skills|
1) At the beginning of each class, the previous class is reviewed, and solutions to exercise problems are given.
2) Exercise problems of the day are given towards the end of class (around 30 min).
|Course schedule||Required learning|
|Class 1||introduction, phrase structure grammar||formal language, phrase structure grammar, derivation of sentence|
|Class 2||regular grammar||regular grammar, regular language, union/concatenation/Kleene-closure of regular languages, elimination of ε-production|
|Class 3||finite automaton||formal definition of automaton, state transition diagram, deterministic finite automaton (DFA), nondeterministic finite automaton (NFA)|
|Class 4||regular grammar and finite automaton||conversion from NFA to DFA, derivation of regular grammar from NFA|
|Class 5||automaton with ε-transition||automaton with ε-transition, elimination of ε-transitions, NFA for union, complement, intersection, concatenation, and Kleene-closure|
|Class 6||minimization of deterministic finite automaton||minimization algorithm of the number of DFA states, proof of minimality, proof of uniqueness|
|Class 7||pumping lemma of regular language||pumping lemma of regular language, method to prove that a language is not regular|
|Class 8||conversion from regular expression to automaton||bottom-up method, top-down method|
|Class 9||conversion from automaton to regular expression||Kleene's method, method by solving recurrence equations|
|Class 10||exercise problems of regular language and finite automaton||solve exercise problems of regular language and finite automaton|
|Class 11||review of regular language and finite automaton, and midterm exam||review of regular language and finite automaton, and midterm exam|
|Class 12||context-free grammar (CFG)||context-free grammar, context-free language, derivation tree, ambiguity, elimination of ε-productions|
|Class 13||Chomsky normal form||Chomsky normal form (CNF), elimination of unit productions|
|Class 14||pumping lemma of context-free language (CFL)||derivation tree for CNF, pumping lemma of context-free language, method to prove that a language is not CFL (by the pumping lemma)|
|Class 15||Ogden's lemma||Ogden's lemma, method to prove that a language is not CFL (by the Ogden's lemma)|
|Class 16||nondeterministic pushdown automaton (NPDA)||nondeterministic pushdown automaton (formal definition, state-transition diagram, languages accepted), instantaneous description|
|Class 17||equivalency of context-free language and pushdown automaton 1||NPDA construction for given context-free grammar, languages accepted by empty stack|
|Class 18||equivalency of context-free language and pushdown automaton 2||generation of context-free grammar for given NPDA|
|Class 19||properties of context-free language||Closure for operations (intersection, union, complement, concatenation, and Kleene-closure), emptiness problem, inclusion relation, membership problem, finiteness problem|
|Class 20||deterministic pushdown automaton||deterministic pushdown automaton, deterministic context-free language (DCFL)|
|Class 21||exercise problems of context-free language and pushdown automaton||solve exercise problems of context-free language and pushdown automaton|
|Class 22||review of context-free language and pushdown automaton, and final exam||review of context-free language and pushdown automaton, and final exam|
V. J. Rayward-Smith, A First Course in Formal Language Theory. Norwich UK: Blackwell Scientific Publishers. ISBN: 978-0077092450
J. Hopcroft, R. Motowani, J. Ullman . Introduction to Automata Theory, Languages, and Computation. London: Pearson. ISBN: 978-1292039053
Students will be assessed on their understanding of this course, such as properties of formal languages, phrase structure grammar, and automata, and their ability to apply them to solve problems.
Students' course scores are based on exercise problems (40%), midterm exam (30%), and final exam (30%).
Course handouts will be uploaded to OCWi.