Introduction to Formal Languages-E2

科目ナンバリング U-LAS30 20044 LE10 開講年度・開講期 2021 ・ 後期
単位数 2 単位 授業形態 講義
配当学年 全回生 対象学生 全学向
使用言語 英語 曜時限 月1
教員 未定
授業の概要・目的 Formal language theory is a fundamental area of theoretical computer science that studies (among other things) different ways of representing possibly infinite collections of words having some shared structure.
It is closely related to computability, computational complexity, and mathematical logic, and has practical applications in linguistics, artificial intelligence, and the design of programming languages.
The purpose of this course is to provide an introduction to formal language theory to non-computer science students.
The main topics include finite-state automata, regular languages, pushdown automata, context-free languages, Turing machines, and decidability.
到達目標 After completing this course, the student should be able to:
-Explain the relationships between different classes of formal languages, automata, and grammars.
-Design an automaton or a grammar that accepts or generates a specified formal language, and conversely,determine the formal language that is accepted or generated by a specified automaton or grammar.
-Prove or disprove mathematical properties of formal languages, grammars, and automata.
-Use the diagonalization method or reductions to establish that certain languages are undecidable.
-Understand how the concept of "information" can be defined using computability theory.
授業計画と内容 The course will consist of the following topics:
2.Finite-state automata, regular languages, nondeterminism (1)
3.Finite-state automata, regular languages, nondeterminism (2)
4.Finite-state automata, regular languages, nondeterminism (3)
5.Pushdown automata, context-free languages, grammars (1)
6.Pushdown automata, context-free languages, grammars (2)
7.Pushdown automata, context-free languages, grammars (3)
8.Turing machines (1)
9.Turing machines (2)
10.Decidability, reductions (1)
11.Decidability, reductions (2)
12.Decidability, reductions (3)
13.Advanced topics in computability theory: descriptive complexity
14.Course summary
15. Feedback
成績評価の方法・観点 A written examination at the end of the course.
履修要件 An ability to think abstractly and to solve problems of a mathematical nature will be required for this course.
No programming skills are needed.
授業外学習(予習・復習)等 Students will be expected to spend about 5 hours per week to prepare for and review the lessons.
教科書 Introduction to the Theory of Computation, Third Edition, M. Sipser, (Cengage Learning), ISBN:978-1133187790, 2012