[Coursera][Automata] 自動機理論-Automata筆記-第一週Finite Automata
前言 主要是因為有大師推薦,然後發現這堂課的教授就是所謂的Compiler恐龍課本的作者Jeffrey Ullman(Compiler Design的聖經). 加上自動機本身不僅僅實作牽扯到regular expression之外,更在分散式系統中的狀態機(state machine)扮有相當重要的部分. 所以需要來好好學習. 課程鏈結在這裡https://class.coursera.org/automata-004. 相關文章 [Coursera][Automata] 自動機理論-Automata筆記-第一週Finite Automata(本篇) [Coursera][Automata] 自動機理論-Automata筆記-第二週: Regular Expression [Coursera][Automata] 自動機理論-Automata筆記-第三週: Context-Free Grammars and Pushdown Automata [Coursera][Automata] 自動機理論-Automata筆記-第四週: Pushdown Automata and Properties of Context-Free Languages [Coursera][Automata] 自動機理論-Automata筆記-第五週: Turing Machines and Undecidability [Coursera][Automata] 自動機理論-Automata筆記-第六週(上): Intractable Problems and NP-completeness [Coursera][Automata] 自動機理論-Automata筆記-第六週(下): Intractable Problems and NP-completeness 第一週課程 DFA(Deterministic Finite Automata)基本定義 alphabet: 任何有限的符號集合. (可以是ASCII也可以是Unicode) ex: {0,1} (binary alphabet), {a,b} {s,p} 都是alphabet string: 透過alphabet產生的list,其中每一個元素都要是該alphabet其中一個元素. length代表的是該string有的個數. ex alphabet {0, 1} 其 string {01} length=2 ε 代表是empty string其中他的length=0 language: 為alphabedt產生出所有string的subset. DFA: Deterministic Finite Automata: A formalism for defining languages.由以下組成: 有限的狀態(states) 表示為 Q 固定的input alphabet 表示為 Σ 一個起始狀態 (start state) 表示為q0 至少一個結束狀態 (final state) (這裏指的final state也是指可接受的狀態) 表示為 F 一個transition function 表示為 δ(Q, A)其中 A 代表是一個輸入的 alphabet transition function代表的是,一個輸入所要進入的一個狀態. δ(Q, A) 代表是從狀態Q透過輸入A來計算下一個狀態會是哪裡. 範例: {0, 1} 是一個alphabet {0, 1}* = {ε, 0, 1, 00, 01, 10, 11, 010, …} 是alphabet {0,1}為可能出現的string組合,其中 {e} length=0 {0} length=1 {00} {01} {10} {11} length=2 如果要討論language,我們可以說 {ε,...
繼續閱讀