Transcript Document

言語プロセッサ2006
-No.2(平成19年10月3日)東京工科大学
コンピュータサイエンス学部
亀田弘之
Copyright© 2007 School of Computer Science, Tokyo University of Technology
数式の例
• A = B*3.14 + C/A
• Area = 2*3.14*R*R
Copyright© 2007 School of Computer Science, Tokyo University of Technology
数式の解析
•
kingaku = teika + teika * shouhizei
Copyright© 2007 School of Computer Science, Tokyo University of Technology
数式の解析
1. 読み込み(文字列として)
“kingaku = teika + teika * shouhizei”
2. 要素(token)の切り出し
“kingaku”, “=“, “teika”, “+”, “*”, “shouhizei”
3. 要素の相互関係の分析
=
kingaku
+
teika
*
teika
shouhizei
Copyright© 2007 School of Computer Science, Tokyo University of Technology
ソース言語
読み込み
字句解析
分析
構文解析
中間語生成
合成
コード生成
目的言語
Copyright© 2007 School of Computer Science, Tokyo University of Technology
数式の解析
1. 読み込み(文字列として)
“kingaku = teika + teika * shouhizei”
2. 要素(token)の切り出し
“kingaku”, “=“, “teika”, “+”, “*”, “shouhizei”
3. 要素の相互関係の分析
=
kingaku
+
teika
*
teika
shouhizei
Copyright© 2007 School of Computer Science, Tokyo University of Technology
数式の解析
1. 読み込み(文字列として)
“kingaku = teika + teika * shouhizei”
2. 要素(token)の切り出し
“kingaku”, “=“, “teika”, “+”, “*”, “shouhizei”
3. 要素の相互関係の分析
=
kingaku
+
teika
*
teika
shouhizei
Copyright© 2007 School of Computer Science, Tokyo University of Technology
数式の解析
1. 読み込み(文字列として)
“kingaku = teika + teika * shouhizei”
2. 要素(token)の切り出し
“kingaku”, “=“, “teika”, “+”, “*”, “shouhizei”
3. 要素の相互関係の分析
=
kingaku
+
teika
*
teika
shouhizei
Copyright© 2007 School of Computer Science, Tokyo University of Technology
数式の解析
1. 読み込み(文字列として) 読み込み
“kingaku = teika + teika * shouhizei”
2. 要素(token)の切り出し 語句解析
“kingaku”, “=“, “teika”, “+”, “*”, “shouhizei”
3. 要素の相互関係の分析 構文解析
=
kingaku
+
teika
*
teika
shouhizei
Copyright© 2007 School of Computer Science, Tokyo University of Technology
数式の解析
1. 読み込み
– ファイルからの入力技法
2. 語句解析
– 有限オートマトンの理論
– 正規文法
– 正規表現
3. 構文解析
– 線形有界オートマトン理論
– 文脈自由文法
Copyright© 2007 School of Computer Science, Tokyo University of Technology
前提知識
• 言語理論とオートマトン
– 前期科目「言語理論とオートマトン」(横井教授)
– 抽象的・論理的な思考への慣れ
• プログラミング技法
– 今までいろいろと習ってきましたよね!
– 基本的な知識があれば一応OK
– ファイルの入出力が難しい人もいるかも…
Copyright© 2007 School of Computer Science, Tokyo University of Technology
学んで得られるもの
• 言語理論とオートマトン
– 抽象的・論理的な思考への慣れ
– ソフトウェア分野における基本的概念
• 正規表現 etc.
• プログラミング言語へのより深い理解
• プログラミング技法
– プログラミング力(知識)アップ
– 洗練されたアルゴリズムの理解
などなど
Copyright© 2007 School of Computer Science, Tokyo University of Technology
• 言語プロセッサ関連は、コンピュータサイエン
スの英知が集積されている!
• この授業を取った人は先見の明がある!
Copyright© 2007 School of Computer Science, Tokyo University of Technology
それでは基礎知識の話から
(今日の本題です。)
Copyright© 2007 School of Computer Science, Tokyo University of Technology
そもそも言語とはなにか?
(CSでは言語をどうとらえるのか?)
=>言語理論
Copyright© 2007 School of Computer Science, Tokyo University of Technology
言語理論とオートマトンの授業を
覗いてみよう
Copyright© 2007 School of Computer Science, Tokyo University of Technology
オートマトンと言語
Automaton & Languages
平成16年度開講科目
オートマトンとは
 Automaton (pl. automata)
 Αυτοματον(ギリシア語)
(pl. Αυτοματα)
 自動機械
I have a book.
英語だ!
Tut mir Leid.
???!
記号列
Automaton
Aha!
一般化
 単語の一般化
I ⇔x1, have ⇔x2, a ⇔ x3, book ⇔ x4,
. ⇔ x5, ・・・, kanete ⇔ xn-1, ;⇔ xn
言語の形式的定義
 単語w: X1, X2, X3, ・・・, Xn (はじめに単語ありき)
 語彙V (Vocabulary) : 単語の集合
V = { X1, X2, X3, ・・・, Xn } (有限集合)
 文(sentence): 単語の並び(単語の列)
(注)
– Vの要素( X1 や X2 など)は単語
– S1 = Xa Xb Xc Xd など
– でも何でも良いわけではない。
例
 語彙V={ birds, fly }
 文:={
birds, fly,
birds birds, birds fly, fly birds, fly fly,
birds birds birds, birds birds fly,
birds fly birds, fly birds birds,
birds fly fly, fly birds fly, fly fly birds,
…}
(無限個存在する!)
考察
 文は無限個存在する。
(単語は有限個)
 英語として意味のあるものとそうでないものと
が混ざっている。
⇒ 英語として意味のある文をすべて集めた集合は、
1つの言語L(今の場合は英語)を定める。
⇒ 意味があるものとないものとを区別したい。
つまり、任意の文に対して、それが言語Lの文か
否かを判定したい。
 そんなことできるのだろうか?
でも、人間はやっているよ!
じゃあ、できるんだね!(信念)
自動機械(オートマトン)を作ってみよう!
作成のためのアイデア
 はじめに言語Lの文すべてを知っているならば、
下記のような機械ができる。
文S1
オートマトン
S1 S2 S3
… Sn
S1は言語Lの
文だよ!
問題点1
 でも、
「言語Lの文すべてを知っている」
なんて、不可能だよ!
 例:「2006年10月4日は、言語プロセッサの授
業が、講A202教室で、パワーポイントを用い
て行われた。」 という文をあなたは事前に知っ
ていましたか?
問題点2
 もし何らかの方法により、事前に言語Lのすべての文
を知っていたとしても...
s = get_sentence();
if ( s ∈ Lの文の集合 ) then
s は Lの文である
else
s は Lの文ではない
end if
Lの文の集合が無限集合のときは、このプログラムは
停止しないことがある!!!
それではどうしようか?!
ここまでのまとめ
• 言語
– 意味のある文の集合
• 文法の必要性
– ある言語(例えば日本語)の文すべてを
あらかじめ知っているなんてことは不可能!
• オートマトン
– ある文が対象としている言語Lの文なのかを自動
判定する装置
Copyright© 2007 School of Computer Science, Tokyo University of Technology
どうも文法が大切らしい。
もう少し文法について学んでみよう!
Copyright© 2007 School of Computer Science, Tokyo University of Technology
Copyright© 2007 School of Computer Science, Tokyo University of Technology
オートマトンと言語
Automaton & Languages
平成16年度開講科目
2回目
文法とは?

一般的な定義:
規範としての文法
 言語現象記述のための文法

規範としての文法(1)





「何々でなければならない」規則集
「ら抜きことば」は間違っている
若者語はけしからん!
この考え方の根底には、「言語とは社会的なものであり、
みながその規約を守らなければ、言語は適切に機能し
ない。」という思想がある。
従って、「この事実と言語(文法)そのものを、規範とし
て学校で教えるべきである。」という具合になる。
規範としての文法(2)

規範文法とは:

その言語を使用する人たちが皆で守り従わなけ
ればならない言語に関する規則の総体。
規範文法への批判(1)
でも、ら抜き言葉は多くの人に使われていま
すよ!
 これって、もう“日本語”ではないの?
 今の日本語の中には、かつての日本語では
使われていないものもありますよね。
 言語は変化しますよね。

規範文法への批判(2)

言語変化の実例:
「進歩する」(100年ほど前は「進歩をする」)
 「更なる進化」(20年ぐらい前は「更に進歩する」)
 It’s bad! It’s cool.
など

規範文法も「言語政策」・「言語教育」のため
に重要だが、現在使われている日本語に関
する言語規則はどうなっているのか?
 このような観点からのものが、「言語現象記
述のための文法」である。
 このような文法は、機械翻訳・電話通訳など
の実現のために重要である。




さらにもう一歩考えをすすめて...
「あらゆる言語に共通の言語規則はある
の?」と考えるのが、「一般普遍文法」である。
これについて、少し詳しく話すと...
一般普遍文法(1)
前回のオートマトンの説明を思い起こすと…
 すべての子供はやがて言葉を話しはじめる。
 日本人のこどもも、エスキモーのこどもも、
エジプトのこどもも…
 人種・民族にかかわらず話し始める。
 でも、日本人は日本語、エスキモー人はエス
キモー語をしゃべり始める。Why?

Because…

その言語をしゃべる環境で育ったから?

環境が習得言語を決める?

でも、なぜ基本的に人は皆しゃべり始めるの?
ミミズはしゃべらないのに?(ホント?)

それは、...

ホントにしゃべれるよ
うになるのかなぁ

すべてのヒトは、
言語に依存しない普遍的な処理能力をもった装
置(device)を生得的に持っており、
 個別言語に関する知識は後天的に獲得されるか
らだ。

僕にもこん
な装置がほ
しいなぁ…
これが私の基
本的考えです。

その知識は、「文法」という形で獲得される。

Chomskyはそのように考えた。

それでは彼の考えを見てみよう。
ここからが大切
Copyright© 2007 School of Computer Science, Tokyo University of Technology
文法の定義

文法G=( Vn, Vt, P, S ):

ただし、




Vn:
Vt:
P:
S:
非終端記号の集合
終端記号の集合
書き換え規則の集合
開始記号
文法

文法G=( Vn, Vt, P, S ):

ただし、




Vn:
Vt:
P:
S:
非終端記号の集合 <= 構文木構成要素の集合
終端記号の集合
<= 単語の集合
書き換え規則の集合
開始記号
例1-1

G=(Vn, Vt, P, S)
Vn = { S, NPs, NPo, VP, PN, DET, N }
 Vt = { I, You, have, throw, a, the, book, ball }
 P= {
①:S → NPs VP,
②:NPs → PN,
③:PN → I,
④:PN → You,
⑤:NPo → DET N,
⑥:VP → V NPo,
⑦:DET → a,
⑧:DET → the,
⑨:N → book,
⑩:N → ball,
⑪:V → have,
⑫:V → throw }

例1-2

S =>
=>
=>
=>
=>
=>
=>
=>
NPs VP
PN VP
I
VP
I V NPo
I throw NPo
I throw DET N
I throw a N
I throw a ball
by
by
by
by
by
by
by
by
①
②
③
⑥
⑫
⑤
⑦
⑩
開始記号

S =>
=>
=>
=>
=>
=>
=>
=>
例1-2
非終端記号
NPs VP
PN VP
I
VP
I V NPo
I throw NPo
I throw DET N
I throw a N
I throw a ball
終端記号
適応規則
by
by
by
by
by
by
by
by
①
②
③
⑥
⑫
⑤
⑦
⑩
例1-2

S =>
=>
=>
=>
=>
=>
=>
=>
文
NPs VP
PN VP
I
VP
I V NPo
I throw NPo
I throw DET N
I throw a N
I throw a ball
by
by
by
by
by
by
by
by
終端記号のみの列
①
②
③
⑥
⑫
⑤
⑦
⑩
例1-2に対する問題
これを木(tree)として記述せよ。
 この文法Gにより生成される文をすべて列挙
せよ。

言語の定義


言語Lとは、文法Gにより生成されるあらゆる
文の集合のこと。
つまり、L=L(G)。
問題(Palindrome)

Palindromeのみを生成する文法を示せ。
ただし、
G=( Vn, Vt, P, S )
Vn = { S }, Vt = { a, b, c }
とする。
ヒント

Palidromeの性質
ε, a, b, c はPalindrome。
2.
wがPalindromeならば、
xwx (x ∈ Vt)
もPalindrome。
3. 上記1と2のもののみがPalindrome。
1.
文法の分類
文法にはいくつかの種類がある。
 それに応じて、処理装置・処理方法が異なっ
てくる。

ここまでのまとめ
• 文法 : G=( Vn, Vt, P, S ):
– ただし、
•
•
•
•
Vn:
Vt:
P:
S:
非終端記号の集合 <= 構文木構成要素の集合
終端記号の集合
<= 単語の集合
書き換え規則の集合
開始記号
• 言語 :L=L(G)
Copyright© 2007 School of Computer Science, Tokyo University of Technology
Copyright© 2007 School of Computer Science, Tokyo University of Technology
Copyright© 2007 School of Computer Science, Tokyo University of Technology
オートマトンと言語
Automaton & Languages
平成16年度開講科目
3回目
Copyright© 2007 School of Computer Science, Tokyo University of Technology
前回までの復習
•
•
•
•
人間の頭の中には、言語処理装置がある。
すべての文を記憶しているわけではない。
文法として記憶している。
文法とは何か?
– 規範文法(Prescriptive Grammar)
– 記述文法(Descriptive Grammar)
• 形式文法と形式言語
Copyright© 2007 School of Computer Science, Tokyo University of Technology
形式文法と形式言語
• 文法G = ( Vn, Vt, P, S ):
– ただし、
• Vn(非終端記号の集合): 0 < #Vn < +∞
• Vt: 終端記号の集合:
0 < #Vt < +∞
• P: 書き換え規則の集合
{α→β| α, β ∈ (Vn∪Vt)*}
• S:
開始記号(S∈Vn)
• 言語L = L(G) = { x | S =*> x }
– ただし、S => ・・・ => x ∈ Vt
Copyright© 2007 School of Computer Science, Tokyo University of Technology
形式文法と形式言語(例)
• 文法G = ( Vn, Vt, P, S ):
– Vn ={S}, Vt={}
– P={ }
• 言語L = L(G) = { x | S =*> x }
Copyright© 2007 School of Computer Science, Tokyo University of Technology
言語の階層(重要)
• 言語は文法の種類に応じて、階層構造をなし
ている。
– 句構造言語
– 文脈依存言語
– 文脈自由言語
– 正規言語
⇔
⇔
⇔
⇔
句構造文法
文脈依存文法
文脈自由文法
正規文法
一般的
特殊的
Chomsky階層
(Chomsky Hierarchy)
とも言う。
Copyright© 2007 School of Computer Science, Tokyo University of Technology
句構造文法
(Phrase-Structure Grammar; PSG)
• 文法G = ( Vn, Vt, P, S ):
– Vn(非終端記号の集合):
0 < #Vn < +∞
– Vt:
終端記号の集合: 0 < #Vt < +∞
– P:
書き換え規則の集合
{α→β| α, β ∈ (Vn∪Vt)*}
– S:
開始記号(S∈Vn)
Copyright© 2007 School of Computer Science, Tokyo University of Technology
句構造文法
(Phrase-Structure Grammar; PSG)
• 文法G = ( Vn, Vt, P, S ):
– Vn(非終端記号の集合):
0 < #Vn < +∞
– Vt:
終端記号の集合: 0 < #Vt < +∞
– P:
書き換え規則の集合
{α→β| α, β ∈ (Vn∪Vt)*}
– S:
開始記号(S∈Vn)
Copyright© 2007 School of Computer Science, Tokyo University of Technology
句構造文法
(Phrase-Structure Grammar; PSG)
• 文法G = ( Vn, Vt, P, S ):
– Vn(非終端記号の集合):
0 < #Vn < +∞
– Vt:
終端記号の集合: 0 < #Vt < +∞
– P:
書き換え規則の集合
{α→β| α, β ∈ (Vn∪Vt)*}
– S:
開始記号(S∈Vn)
ここに制限が付くと他の
文法になる。
Copyright© 2007 School of Computer Science, Tokyo University of Technology
文脈依存文法
(Context-Sensitive Grammar; CSG)
• 文法G = ( Vn, Vt, P, S ):
– Vn(非終端記号の集合): 0 < #Vn < +∞
– Vt:
終端記号の集合: 0 < #Vt < +∞
– P:
書き換え規則の集合
{αXβ→αγβ| α, β ∈ (Vn∪Vt)*, X∈Vn,
γ∈ (Vn∪Vt)+ }
– S:
開始記号(S∈Vn)
Copyright© 2007 School of Computer Science, Tokyo University of Technology
文脈自由文法
(Context-Free Grammar; CFG)
• 文法G = ( Vn, Vt, P, S ):
– Vn(非終端記号の集合):
0 < #Vn < +∞
– Vt:
終端記号の集合: 0 < #Vt < +∞
– P:
書き換え規則の集合
{ X→α| α∈ (Vn∪Vt)*}
– S:
開始記号(S∈Vn)
Copyright© 2007 School of Computer Science, Tokyo University of Technology
正規文法
(Regular Grammar; RG)
• 文法G = ( Vn, Vt, P, S ):
– Vn(非終端記号の集合):
0 < #Vn < +∞
– Vt:
終端記号の集合: 0 < #Vt < +∞
– P:
書き換え規則の集合
{X→aY, X→b| X,Y∈Vn, a,b ∈ Vt*}
– S:
開始記号(S∈Vn)
Copyright© 2007 School of Computer Science, Tokyo University of Technology
生成規則部分の比較
•
•
•
•
PSG:
CSG:
CFG:
RG:
α→β
αXβ→αγβ
X→α
X→aY, X→b
– ただし、
• α,β∈V*
• X, Y∈Vn
・γ∈V+
・a, b∈Vt
・V=Vn∪Vt
Copyright© 2007 School of Computer Science, Tokyo University of Technology
生成規則部分の比較
•
•
•
•
PSG:
CSG:
CFG:
RG:
α→β
αXβ→αγβ
X→α
X→aY, X→b
– ただし、
• α,β∈V*
• X, Y∈Vn
・γ∈V+
・a, b∈Vt
・V=Vn∪Vt
Copyright© 2007 School of Computer Science, Tokyo University of Technology
生成規則部分の比較
•
•
•
•
PSG:
CSG:
CFG:
RG:
α→β
αXβ→αγβ
X→α
X→aY, X→b
– ただし、
• α,β∈V*
• X, Y∈Vn
・γ∈V+
・a, b∈Vt
・V=Vn∪Vt
Copyright© 2007 School of Computer Science, Tokyo University of Technology
生成規則部分の比較
•
•
•
•
PSG:
CSG:
CFG:
RG:
α→β
αXβ→αγβ
X→α
X→aY, X→b
– ただし、
• α,β∈V*
• X, Y∈Vn
・γ∈V+
・a, b∈Vt
・V=Vn∪Vt
Copyright© 2007 School of Computer Science, Tokyo University of Technology
生成規則部分の比較
•
•
•
•
PSG:
CSG:
CFG:
RG:
α→β
αXβ→αγβ
X→α
X→aY, X→b
– ただし、
• α,β∈V*
• X, Y∈Vn
・γ∈V+
・a, b∈Vt
・V=Vn∪Vt
Copyright© 2007 School of Computer Science, Tokyo University of Technology
重要
Chomsky階層
PSG
CSG
CFG
RG
Copyright© 2007 School of Computer Science, Tokyo University of Technology
言語の包含関係
L(PSG) ⊃ L(CSG) ⊃ L(CFG) ⊃ L(RG)
このうち、大切なのはCFGとRG。
Copyright© 2007 School of Computer Science, Tokyo University of Technology
CFGとRG
• CFG(文脈自由文法):
– プログラミング言語設計
– コンパイラの構文解析
– 自然言語処理(機械翻訳・仮名漢字変換)
• RG(正規文法):
– 正規表現(検索・コンパイラの語彙解析)
Copyright© 2007 School of Computer Science, Tokyo University of Technology
CFGの特徴
1.
2.
3.
4.
5.
CFGには標準形がある。
導出の過程を木で表現できる(導出木の存在)。
解析手法が豊富に知られている。
自然言語処理に部分的に適用できる。
プログラミング言語設計に利用されている。
Copyright© 2007 School of Computer Science, Tokyo University of Technology
1.CFGの標準形
• Chomskyの標準形
• Greibachの標準形
Copyright© 2007 School of Computer Science, Tokyo University of Technology
Chomskyの標準形
• 任意のCFGにおける書き換え規則群Pは、
A→BC または A→a という形だけで表現
できる。
Copyright© 2007 School of Computer Science, Tokyo University of Technology
Greibachの標準形
• 任意のCFGにおける書き換え規則群Pは、
A→aα という形だけで表現できる。ただし、
X∈Vn, a∈Vt, α∈Vn*。
Copyright© 2007 School of Computer Science, Tokyo University of Technology
Chomskyの標準形への変換方法
(次回のお楽しみ。事前に予習すると理解しや
すいですよ。)
Copyright© 2007 School of Computer Science, Tokyo University of Technology
2.導出木
• 導出木とは
– 導出の過程を木構造で表現したもの。
S
• 例:
S => SJ VP
=> Tom V ADV
=> Tom ran fast
SJ
Tom
VP
V
ADV
ran
fast
Copyright© 2007 School of Computer Science, Tokyo University of Technology
3.解析手法
•
•
•
•
•
•
•
•
•
CKY法(Cocke-Kasami-Younger method)
Early法(Early’s algorithm)
Chart法(Chart algorithm)
優先順位文法法
LK ( R ) 法
LR( k ) 法
LALR( k ) 法
SLR( k ) 法
LL( k ) 法
などなど
Copyright© 2007 School of Computer Science, Tokyo University of Technology
解析手法は重要なので後日あらため
て取り上げます。
• 機械翻訳・通訳電話などの自然言語処理
• コンパイラ
などで応用されている。
Copyright© 2007 School of Computer Science, Tokyo University of Technology
参考文献
• 文法:
– 英語学概論 -三大文法の流れと特徴-,松井
千枝,朝日出版(1980).
Copyright© 2007 School of Computer Science, Tokyo University of Technology
ここまでのまとめ
• 言語には階層がある(Chomsky階層)
• 正規言語(正規文法)は語句解析に深い関係
がある。
• 文脈自由言語(文脈自由文法)は構文解析に
深い関係がある。
Copyright© 2007 School of Computer Science, Tokyo University of Technology
もう少し話を進めましょう!
Copyright© 2007 School of Computer Science, Tokyo University of Technology
文法と言語とオートマトン
•
•
•
•
句構造文法(PSG)
文脈依存文法(CSG)
文脈自由文法(CFG)
正規文法(RG)
Copyright© 2007 School of Computer Science, Tokyo University of Technology
言語の階層(重要)
• 言語は文法の種類に応じて、階層構造をなし
ている。
– 句構造言語
– 文脈依存言語
– 文脈自由言語
– 正規言語
⇔
⇔
⇔
⇔
句構造文法
文脈依存文法
文脈自由文法
正規文法
一般的
特殊的
Chomsky階層
(Chomsky Hierarchy)
とも言う。
Copyright© 2007 School of Computer Science, Tokyo University of Technology
重要
Chomsky階層
PSG
CSG
CFG
RG
Copyright© 2007 School of Computer Science, Tokyo University of Technology
文法と言語とオートマトン
----------------------------------------------------文 法
処理装置
----------------------------------------------------• 句構造文法(PSG)
⇔ ?
• 文脈依存文法(CSG)
⇔ ?
• 文脈自由文法(CFG)
⇔ ?
• 正規文法(RG)
⇔ ?
----------------------------------------------------Copyright© 2007 School of Computer Science, Tokyo University of Technology
文法と言語とオートマトン
---------------------------------------------------------------文 法
処理装置
---------------------------------------------------------------• 句構造文法(PSG)
⇔
Turing 機械
• 文脈依存文法(CSG) ⇔
線形有界オートマトン
• 文脈自由文法(CFG) ⇔
プッシュダウンオートマトン
• 正規文法(RG)
⇔
有限オートマトン
----------------------------------------------------------------
Copyright© 2007 School of Computer Science, Tokyo University of Technology
まずは有限オートマトンから
Copyright© 2007 School of Computer Science, Tokyo University of Technology
有限オートマトンのイメージ
• FAの概観
a1 a2
セル
入力記号
・・・
ai-1 ai
・・・
・・・
an
qk
入力テープ
内部状態
ヘッド
Copyright© 2007 School of Computer Science, Tokyo University of Technology
有限オートマトンの定義
FA = ( K, Σ, δ, q0, F )
ただし、
K : 状態の集合( Kは有限集合)
Σ : 入力アルファベット(Σは有限集合)
δ : 状態遷移関数
δ: K×Σ∋( a, qi ) → qj ∈ K
q0 : 初期状態
F : 最終状態の集合 ( F ⊆ K )
Copyright© 2007 School of Computer Science, Tokyo University of Technology
Copyright© 2007 School of Computer Science, Tokyo University of Technology
次回、この続きを話します。
• 有限オートマトン
– 決定性有限オートマトン
– 非決定性有限オートマトン
•
•
•
•
正規表現
正規表現から有限オートマトンの生成
状態数最少有限オートマトン
正規表現→非決定性有限オートマトン→決
定性有限オートマトン→状態数最少有限オー
トマトン
Copyright© 2007 School of Computer Science, Tokyo University of Technology
Copyright© 2007 School of Computer Science, Tokyo University of Technology