# Automata Theory and Formal Languages
NTNU 自動機理論與正規語言
##### [Back to Note Overview](https://hackmd.io/@NTNUCSIE112/NTNUNote)
{%hackmd @sophie8909/pink_theme %}
###### tags: `AutomataTheoryandFormalLanguages` `110-1` `選修` `CSIE` `NTNU`
<!-- tag順序 [課程] [學期][系 必選] or [學程 學程名(不含學程的 e.g. 大師創業)][學校] -->
<!-- 記得加到 Note Overview -->
##### Textbook: An Introduction to Formal Languages and Automata, 6th edition, by Peter Linz. Jones and Bartlett Inc., 2017, 開發圖書
## Score
- Midterm 25%-40%
- 11/16
- Range:
- Final 25%-40%
- 01/11
- Homework 20%-35%
- 題目在課本都有解答
- HW1(10/19)
- Deadline: 10/26
- range: ch.1 - ch.3
- HW2(12/7)
- Deadline: 12/14
## Outline
1. Finite Automata
- formal language
2. Pushdown Automata
- Conotext-Free languages
3. Turing Machine
### [Ch.01 Introduction to the theory of computation](https://hackmd.io/@NTNUCSIE112/AT110-1_1)
- Why study theory
- Mathematical preliminaries ans notation
- What is automation
- What is formal language
- What is algorithm
### [Ch.02 Finite automata](https://hackmd.io/@NTNUCSIE112/AT110-1_2)
- Deterministic finite accepters
- Nondeterministic finite accepters
- Equivalence of deterministic and nondeterministic finite accepters
### [Ch.03 Regular languages and regular grammars](https://hackmd.io/@NTNUCSIE112/AT110-1_3)
- Two alternative methods for representing regular languages, such as regular expressions and regular grammars
### [Ch.04 Properties of regular languages](https://hackmd.io/@NTNUCSIE112/AT110-1_4)
- Closure properties
- Elementary questions about regular languages, such as membership questions.
#### Identifying nonregular languages
### Ch.05 Conotext-Free languages (CFL)
- Define context-free grammars and languages
- Parsing: describe sentence structures
- Ambiguity(歧異性): for understanding the meaning of sentence
- Context-free grammars and programming languages
### Ch.06 Simplification of context-free grammars and normal forms
- Study several transformations ans substitution because in many instances, it is desirable to place even more stringent restrictions on the grammars
- Investigate normal forms for context-free grammars
### Ch.07 Pushdown automata (PdA)
- Because finite automata cannot recognize all context-free languages, we introduce a new class of automata, i.e., pushdown automata
- Nondeterministic pushdown automata
- accept exactly context-free languages
- Deterministic pushdown automata
- accept deterministic context-free languages
### Ch.08 Properties of context-free languages
- The family of context-free languages occupies a central position in a hierarchy of formal languages
- To study the relationship between language families and to exhibit their similarities and differences, we investigate the characteristic properties of the various families
- Closure properties
- Decision algorithm for context-free languages
### Ch.09 Turing machine
Turing machine ↔ modern computers
- Want to discover even more powerful language families if we give the automation **more flexible storage**
- Standard Turing machine
- Combing Turing machines for complicated tasks
- Turing's thesis
<!-- 預計學期進度到這 -->
<!-- ### Ch.10
### Ch.11 -->