turing machineの概念図mizutani/lecture/language/lang9.pdfmasahiro mizutani...

3
Masahiro Mizutani チューリング機械 言語機械の能力とその限界 大東文化大学 経営学部 水谷正大 Masahiro Mizutani Turing Machineの概念図 状態 のときテープ記号 を読むと 状態 に遷移し、記号 に書き換えて ヘッドが  に移動 q i A k B q j R 機械動作 無限長のテープ A 1 ..... ..... # # # テープヘッド 内部状態 制御部 ...... q k q A 2 A 3 A k A n L R δ (q i ,A k )=(q j ,B,R) 書きえ記号 ヘッド移動の方向 状態変化 計算過程 ヘッドの触れている記号 ヘッドの触れている記号 (A 1 ...A k-1 q k A k ...A n ) (A 1 ...A k-1 Bq j A k+1 ...A n ) k番目の記号を書き換えて、ヘッドを右に移動 or N テープヘッドは左L,Rに動く テープ記号は書き換え可能 テープヘッド無限長 留まったままNもあり Masahiro Mizutani Turing Machineの定義 計算状況 (A 1 ...A k-1 qA k ...A n ) A 1 A 2 ...A n : テープに書かれた空白以外の記号列 q Q : 内部状態 ヘッドが k 番目の記号 A k にあるとき状態 q をその左に書く (Q, Γ, δ,q 0 ,H ) Q: 内部状態の有限集合 q 0 Q: 開始状態 Γ : テープ記号の集合。空白文字# を含む H Q : 停止状態 状態遷移関数 δ : Q × Γ Q × Γ × {L, R, N } Masahiro Mizutani 停止(halt) 計算状況 α に対して α β なる計算状況 β がない 計算(computation) α 1 に始まり α r で終わる 計算状況の列 α 1 , α 2 ,... α r に対して α i α i+1 (1 i<r) であり α r = uq h v(q h H, u, v Γ * ) で停止する 停止しないと、たとえ動作していても計算するとはいわない

Upload: dangliem

Post on 22-Jul-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Masahiro Mizutani

チューリング機械言語機械の能力とその限界

大東文化大学 経営学部水谷正大

Masahiro Mizutani

Turing Machineの概念図

状態 のときテープ記号 を読むと状態 に遷移し、記号 に書き換えてヘッドが  に移動

qi Ak

Bqj

R

機械動作

無限長のテープA1 ..... ..... # # #

テープヘッド

内部状態

制御部

......qk q�

A2 A3 Ak An

L R

�(qi, Ak) = (qj , B, R)書き換え記号

ヘッド移動の方向状態変化

計算過程ヘッドの触れている記号 ヘッドの触れている記号

(A1 . . . Ak�1qkAk . . . An) � (A1 . . . Ak�1BqjAk+1 . . . An)k番目の記号を書き換えて、ヘッドを右に移動

or N

テープヘッドは左L,右Rに動く

テープ記号は書き換え可能

テープヘッド無限長

留まったままNもあり

Masahiro Mizutani

Turing Machineの定義

計算状況 (A1 . . . Ak�1qAk . . . An)A1A2 . . . An :テープに書かれた空白以外の記号列q � Q :内部状態ヘッドが k番目の記号 Ak にあるとき状態 qをその左に書く

(Q, �, �, q0,H)Q: 内部状態の有限集合

q0 � Q: 開始状態

� : テープ記号の集合。空白文字# を含む

H � Q : 停止状態状態遷移関数 � : Q� �� Q� �� {L,R, N}

Masahiro Mizutani

停止(halt)計算状況 �に対して � � � なる計算状況 � がない

計算(computation)�1 に始まり �r で終わる計算状況の列 �1,�2, . . . �r に対して�i � �i+1 (1 � i < r)であり�r = uqhv(qh � H,u, v � ��)で停止する

停止しないと、たとえ動作していても計算するとはいわない

Masahiro Mizutani

Q = {q0, q1, q2, q3, q4, q5}

H = {q5}� = {0, 1, A,B, #}

q4

q0

q3

q2

q10� A,R

0� 0, R

B � B,R

B � B,L

1� B,L

A� A,R

A� A,R

B � B,R

0� 0, L

#� B,R

0� 0, L

0� 0, L

(q00011) � (Aq1011) � (A0q111) � (Aq20B1) � (q4A0B1)� (Aq00B1) � (AAq1B1) � (AABq11) � (AAq2BB) � (Aq2ABB)

� (AAq3BB) � (AABq3B) � (AABBq3#) � (AABBBq5#)

計算過程

{0n1n |n � 1}を認識する Turing機械例

Masahiro Mizutani

非終端記号集合 VN、終端記号集合 VT

置換規則の集合 P、開始記号 S � VNG = (VN , VT , P, S)

文脈依存文法 (Context Sensitive Grammar, 1型言語)P の全ての置換規則 �� � が条件

|�| � |�|を満たす等価

(VN � VT )� � �1, �2,�(�= �)と A � VN について�1A�2 � �1��2

0型言語 (Type 0 Grammar)

P の全ての置換規則 �� � に特に条件がない

Masahiro Mizutani

線形有界オートマトン(Linear Bounded Automaton)

テープの長さが入力記号列の長さに比例した長さに制限された非決定性Turing機械制限されたテープ長の制限を超えてヘッドが移動しないように工夫されている

定理:線形有界オートマトンの言語識別能力文脈依存言語は線形有界オートマトンで認識される。逆に、線形有界オートマトンで認識できる記号列は文脈依存言語である。

Masahiro Mizutani

機械の認識可能性と言語

非決定性有限オートマトンと等価な決定有限オートマトンが構成可能、したがって認識可能な言語クラスは一致

有限オートマトン 正規言語等価

決定性プッシュダウンオートマトンで認識可能な言語クラスは文脈自由言語の真部分集合であるが、応用上では非常に重要(プログラミング言語や言語情報処理)

文脈自由言語非決定プッシュダウンオートマトン 等価

非決定線形有界オートマトン 文脈依存言語等価

Masahiro Mizutani

Chomskyの階層

文脈自由文法

0型文法 �� �

文脈依存文法(1型) �1A�2 � �1��2

文脈自由文法(2型) A� BC

D � e正規文法(3型)

X � aY

X � b

句構造文法理論の階層N. Chomsky, “Three models for the description of language”IRE Transactions on Information Theory (2): 113-124 (1956).

ただし、全ての言語がこの階層のどれかに属するわけではない

Masahiro Mizutani

帰納的可算な言語(Recursively Enumerable)ある手続きによって、ある言語に属する文を一つずつ可算的に生成できる言語

0型言語は書換規則を適用して、全ての文を可算的に導出可能であるために帰納的に可算な言語

定理:Turing機械の言語識別能力0型文法によって生成される言語はTuring機械で認識される。逆に、Turing機械で認識できる記号列は0型言語で生成される。

0型言語は帰納的可算な言語

Masahiro Mizutani

言語階層と認識可能性非帰納的可算集合 (Turing機械で認識不可能)

0型言語=帰納的可算集合 (Turing機械で認識可能)

帰納的集合 (Turing機械で決定可能)

1型言語=文脈依存言語 (線形有界オートマトンで認識可能)

2型言語=文自由存言語 (非決定プッシュダウンオートマトンで認識可能)

決定プッシュダウンオートマトンで認識可能な言語

3型言語=正規言語 (有限オートマトンで認識可能)