基本事項
アルファベット … 記号の有限集合
語(記号列) … アルファベットΣ上の記号からなる記号列
言語 … アルファベットΣ上の語の集合
べき乗集合 … Aの部分集合全体からなる集合
A={a,b,c}
2A={∅,{a},{b},{c},{a,b},{b,c},{a,c},{a,b,c}}
∣A∣=n⇒∣2A∣=2n
クリーネ閉包 … Σに含まれる0個以上の文字列を連結して作ることができる文字列の集合
Σ={xx}
Σ∗={∅,xx,xxxx,...}
同値関係
xとyの関係性をxRyと書く
集合X上の関係Rが同値関係を満たすためには3つの条件が必要(a,b,c∈X)
- 反射的 aRa
- 対称的 aRb⇒bRa
- 推移的 aRb∧bRc⇒aRc
DFAの基礎
A=⟨Q,Σ,δ,q0,F⟩
- Q … 状態の有限集合
- Σ … 入力記号の有限集合
- δ … 動作関数 Q×Σ=Q
- q0 … 初期状態(∈Q)
- F … 受理状態(⊆Q)
具体例
ちょうど2個の0を含む語からなる言語A=⟨Q,Σ,δ,q0,F⟩where Q={q0,q1,q2,q3}Σ={0,1}δ(q0,0)=q1,δ(q0,1)=q0,δ(q1,0)=q2,δ(q1,1)=q1,δ(q2,0)=q3,δ(q2,1)=q2,δ(q3,0)=q3,δ(q3,1)=q3,F={q2}
NFAの基礎
A=⟨Q,Σ,δ,q0,F⟩
- Q … 状態の有限集合
- Σ … 入力記号の有限集合
- δ … 動作関数 Q×Σ=2Q
- q0 … 初期状態(∈Q)
- F … 受理状態(⊆Q)
DFAとの違い
NFAは0個を含め複数の状態に遷移できる
具体例
2個の連続した0を含む語全体からなる言語空動作付きNFA
ϵ -NFAは δ(q,ϵ) となる動作(=空動作, ϵ 動作)がある非決定性オートマトン
動作関数は Q×(Σ∪{ϵ})→2Q
定義より非決定性は ϵ 動作のある非決定性の一部