Formal Language

Table of Contents

General Infromation

Course Number: 332321
Instructor: Jyun-Ao Lin
Location: 科研大樓 334e
Time: 09:10 – 12:00, Monday Office hour: 先鋒大樓 1310 13:30 – 17:30, Monday (subject to change)

Overviews

This course explores the mathematical foundations of computation. How do we quantify computational power? Are there limits on the kinds of problems that computers can solve? To answer such questions, we examine the curious connection between computation and mathematical linguistics.

Recommended Prerequisites

Some basic discrete mathematics, algorithms and theory of computation.

Communication

When you need help from the course staff, please use office hours or hang around after lecture. For issues requiring privacy, please feel free to email the course instructor.

Office Hours

TBA

Learning Objectives

  • Describe how computation can be modeled mathematically.
  • Describe how computational problems can be described as formal languages.
  • Classify formal languages according to their complexity.
  • Describe and transform formal languages across their different representations.
  • Describe the limits of various computational models.

Topics and Class Schedule

Topics

Finite State Automata and Regular Languages

Deterministic finite automata: Transition Diagrams, Language of an automation, Nondeterministic finite automata, Subset construction, ε-transitions, Application: text-searching.

Regular expressions: Regular expression in practice, Equivalence of regular expression and finite automata, The algebra of regular expression, Testing algebraic identities.

Properties of regular language: The pumping lemma, Boolean operations, Testing emptiness of regular languages, Testing membership in an regular languages, Testing Distinguishability of states, Minimizing DFA

Pushdown Automata and Context-Free Languages

Context-free grammars: Derivations and languages, Leftmost and rightmost derivations, Sentential forms, Parse trees, Equivalence of parse trees and derivations, Ambiguous grammars, Eliminating ambiguity, Parsers, Document type definitions.

Push-down automata: Pushdown automata, Moves of a PDA, Acceptance by DPA, Instantaneous Descriptions, PDA and grammars, Deterministic PDA, Acceptance by deterministic PDA, The languages accepted by DPDA's.

Properties of CFL: Elimininating useless symbols, Eliminating ε- and unit-productions, Chomsky normal form, The pumping lemma, Operations that preserve CFL, Testing emptiness of a CFL, Testing membership in a CFL.

Turing Machine

Turing machine and decidable languages: The Turing machine, Acceptance by a Turing machine, Recursively enumerable languages, Instantaneous descriptions of a TM, Storage in the finite control, Multiple tracks, Multitape TM, Nondeterministic TM, Semi-infinite tape TM, Multistack machine, Counter machine, Simulating a TM by a real computer, Simulating a computer by a TM.

Undecidability: Recursive and recursively enumerable languages, Complements of recursive and RE languages, Decidability and undecidability, The language \(L_d\), The universal language, Rice's theorem, Post's correspondence problem, Undecidable CFL problems.

Complexity Classes (Optional)

Intractable problems: The class P and NP, The P=NP questions, Polynomial-Time reductions, NP-complete problem, NP-Complete satisfiability problems, Other NP-Complete problem.

Class Schedule

The current schedule is tentative and subject to change.

Date # Lecture Support
02/19 1 Introduction slide
02/26 2 Finite State Automata slide
03/04 3 Regular Expression slide
03/11 4 Properties of Regular Languages slide
03/18 5 Context-Free Grammar slide
03/25 6 Pushdown Automata slide
04/01 7 Properties of Context-Free Languages slide
04/08 8 Review before mid-term  
04/15 9 Mid-term  
04/22 10 Turing Machine slide
04/29 11 Turing Machine and Undecidable Problem slide
05/06 12 PCP and Intractability slide
05/13 13 Introduction to Model-Checking slide
05/20 14 LTL, CTL and CTL* slide
05/27 15 Automata Theoretic Approach to LTL MC slide
06/03 16 Final Project  
06/10 17 Holiday  
06/17 18 Final Project  

Useful References

  • M. Sipser, Introduction to the Theory of Computation
  • John Hopcroft and Jeffrey Ullman, Introduction to Automata Theory, Languages, and Computation.

Evalution

Asseignments (50 %)

Written Homework:

The goal of the written homework is to help you refine the fundamental skills, and better understand the theoretical underpinnings, that you will need in order to do well on the exams. Grading for these assignments is based on the correctness of your answer, and the presentation of your reasoning. You should strive for clarity and conciseness, while making sure to show each step of your reasoning. Categorical answers with no explanation will not even receive partial credit, but lucid explanations of your attempt to find the answer will.

Written homework will be handed in in PDF format via Gradescope, and should preferably be typeset in LaTeX.

Academic Integrity

Students are expected to complete each assignment on their own, and should be able to explain all of the work that they hand in. Copying code or proof material from other students, from online sources, or from prior instances of this course is not allowed. However, you are encouraged to discuss assignments with each other at a sufficiently high level to avoid the risk of duplicating implementation or proof. Examples of this would be discussing algorithms and properties referred to in the assignment, helping other students with questions, discussing a general proof technique, or referring to an online source with useful information. Similarly, you may consult online sources, tutorials, and generative AI programs. If you find specifically helpful material it is critical that you (a) do not copy the code or proof, but study it as a guide and then do your own work, and (b) cite the source with a suitable URL in your solution. If you have questions about whether something might be permissible, contact the course staff before you proceed.

Late Assignments

You will have a total of 5 late days to use throughout the semester, but you may use at most 2 for any given assignment. Due to grade submission deadlines, you are not allowed to use late days on some specific assignment, which will be announced when the are released.

Mid-terms (20 %)

Final (20 %)

Attendance (10 %)

Useful links

Credits

Created: 2024-05-30 Thu 23:22

Validate