• 検索結果がありません。

形式言語の理論

N/A
N/A
Protected

Academic year: 2021

シェア "形式言語の理論"

Copied!
30
0
0

読み込み中.... (全文を見る)

全文

(1)

形式言語の理論

5.

文脈依存言語

(2)

Chomsky

階層の4言語族

句構造

文脈依存言語

文脈自由言語

正規言語 句構造とは,

(1) N, 

N = 

なる空でない有限集合.

(2) P

  

の形をした記号列の有限集合

ただし,

  N

で,

,  (N  )*

かつ

は少なくとも1個の

N

の要素を含む.

(3)

5.1.

文脈依存文法とその標準形

文脈依存文法

定理

5.1

文脈依存文法 ⇔ 単調文法

補題

5.2

単調文法の次数は下げられる

補題

5.3

任意の単調文法は次数2の単調文法に変形できる

定理

5.4

任意の文脈依存文法は線形有界文法に変形できる

(4)

文脈依存文法

句構造文法

G = (N, , P, S )

のすべての生成規則が

A ( , ,   (N  )*,   , AN )

の形をしているとき,

G

は文脈依存文法とよばれる

文脈依存文法(

context-sensitive grammar: CSG

)は,

を生成しないことに注意.

5.1 L = {a

n

b

n

c

n

| n  1}

を生成する

CSG

S  a S B C a B  a b

S  a B C b B  b b

C B  A B b C  b c

(5)

単調文法

句構造文法

G = (N, , P, S )

が単調であるとは,

G

のすべての生成規則

    P

| |  | |

満たすことをいう.

単調文法と文脈依存文法は表現力が同等である.

5.1

の は単調文法である.

(6)

定理

5.1

 文脈依存文法⇔単調文法)

任意の言語

L   *

に対して,

L

が文脈 依存言語であるための必要十分条件は,

L

が単調文法で生成されることである.

[ 証明 ]

文脈依存文法は単調文法なので,必要性は 明らか.

任意の単調文法に対して,等価な文脈依存 文法が存在することを示せばよい.

(7)

補題

5.2

 単調文法の次数は下げられ る)

任意の次数

n (n  3)

の単調文法

G

に対 して,

G

と等価な次数

n1

の単調文法

G

が存在する.

まず,任意の単調文法

G

に対して,

G

と等価な 単調文法

G = (N, , P, S )

で,すべての生成規 則が  

A  a (a  , AN )

もしくは

(,  N

+

)

の形をしているものが存在することに注意.

次数:生成規則のうちの右辺の最大

(8)

補題

5.2

の証明

A  a

の形をしていない生成規則には非終端記号 しか現れないと考えて良い.

   

G

の生成規則とする.

| |  2

の場合はそのまま.それ以外の場合には,

= A  ,  = BCD  (A, B, C, D  N,  ,   N*)

とおける

 = 

の場合

A  A

1

A

2

A

1

 B C A

2

 D 

   (  = E   )

の場合

A E  A E

A  B

E     C D 

(9)

補題

5.3

任意の単調文法は次数2の単調文法に変形でき る)

任意の単調文法

G

に対して,

G

と等価な 次数

2

の単調文法が存在する.

[ 証明 ]

 補題

5.2

を繰り返して得られる

G

が補題

5.3

を満たすのは明らか.

(10)

定理

5.1

の証明

補題

5.3

より,

G

は次数

2

の単調文法としてよ い.

A B  C D (A  C

かつ

B  D)

の形をした生成規則を次のように置き換えて新 たな単調文法

G

とする.

A B  A B A B  A D A D  C D

G

は文脈依存文法であり,かつ

G

と等価.

(11)

5.2

単調文法

G = ({S, B, C}, {a, b, c}, P, S) S  a S B C

S  a B C C B  B C a B  a b b B  b b b C  b c c C  c c

5.1

の文脈依存文法はこの生成規則の

C B  B C

を書き換えたものである.

(12)

線形有界(黒田標準形)

文脈依存文法

G = (N, , P, S )

が線形有界で あるとは,

P

中のすべての生成規則が次の いずれかの形をしていることをいう.

ただし,

A, B, C, D  N  {S}

である.

S  S A S  A

A  B A B  C D

単調文法と同一視していることに注意 単調文法と同一視していることに注意

(13)

定理

5.4

任意の文脈依存文法は線形有界文法に変形できる)

任意の文脈依存文法

G

に対し,

G

と等価な 線形有界文法

G

が存在する.

線形有界文法の性質

線形有界文法においては,

S  S A

の形以外の生 成規則は導出される記号列の長さを変えない.

開始記号

S

を右辺にもつ生成規則は,

S  S A

に限られる.

任意の線形有界文法

G = (N, , P, S )

と任意の

,  (N  )*

に対して,

S 

G

S

ならば,

= 

かつ

  (N  {S})*

である.

*

(14)

5.2

線形有界オートマトン

線形有界オートマトン

補題

5.6

文脈依存言語 ⇒ 線形有界オートマトン

補題

5.7

線形有界オートマトン ⇒ 文脈依存言語

定理

5.8

文脈依存言語 ⇔ 線形有界オートマトン

(15)

線形有界オートマトン

1

テープ非決定性

Turing

機械

M = (Q, , , , q

0

, F) (1) {¢, $}  ,

(2)

任意の

p, q  Q

に対し,

(q, a, X)  (p, ¢)

ならば,

a = ¢

かつ

X = R

(3)

任意の

p, q  Q

に対し,

(q, a, X)  (p, $)

ならば,

a = $

かつ

X = L

¢ w $

有限制御部 有限制御部

(16)

補題

5.6

文脈依存言語 ⇒ 線形有界オートマト

任意の文脈依存言語

L   *

に対して,

L

を受理する線形有界オートマトンが存 証明の手順在する.

L(G) = L

となる

G

をとる.

この

G

に基づき,(天下り的に)線形有界オー トマトン

M = (Q, , , , q

0

, {q

f

})

を次のように つくる.

Q = {q

0

, q

f

, s

0

, s

1

, r

0

, r

1

, r

2

}{s

A

| ABCDP }  = {¢, $}

= N 

(17)

証明

¢ w $

q 0

s 1

r 1

q f r 0

r 2 s 0

s A

¢ / ¢,R

a / a,R

$ / $,L

A / A,{L,R} ¢ / ¢,R $ / $,L B / A,R C / A,R

D / B,R

S / S ,L ¢ / ¢,R S / ¢,R A / S,R

$ / $,L

(18)

補題

5.7

線形有界オートマトン ⇒ 文脈依存言

任意の線形有界オートマトン

M = (Q, , ,

, q 0 , F)

に対して,

L(M) {}

は文脈依存 言語である.

証明の手順

M

に基づき,(天下り的に)文脈依存文法

G = (N, , P, S )

をつくる.

L(G) = L(M) {}

を証明する.

(19)

導出の仕組み

(5.20)

(5.21)

の規則から,ある語

w = a

1

a

2・・・

a

n

に対応する初期様相を表す文形式

a

1

, q

0

¢a

1

a

2

, a

2

・・・

a

n

, a

n

$

を生成する.

(5.22)

(5.23)

の生成規則を繰り返し適用することで,

非終端記号

a

1

,

の第2項の部分を使って

M

の計算過 程を模倣しながら導出を続ける.

模倣の過程で,

M

が最終状態に達するならば,非酒単記

a

1

, q

が現れるので,

(5.24)

を用いて終端記号

a

に置き換える.

後は,

(5.25)

を繰り返し適用し,すべての非終端記号を

終端記号に置き換え,語

w = a

1

a

2・・・

a

n を得る.

(20)

定理

5.8

と系

5.9

L   *

が文脈依存言語であるための必要十分条件は

L = L(M)

なる線形有界オートマトン

M

が存在す

ることである.

5.9

 (→定理

5.13

の証明に関係)

CSL = NSPACE(n)

消去可能文脈依存文法

次の生成規則からなる文法

G

は,消去可能文脈依存 文法という.

A  (  , ,   (N  )*, AN )

消去可能文脈依存文法は句構造と同等の生成能力を

(21)

5.3

文脈依存言語の性質

定理

5.10

文脈依存言語族は和と連接について閉じている

定理

5.11

文脈依存言語族は正閉包について閉じている

定理

5.12

文脈依存言語族は積について閉じている

定理

5.13

任意の文脈依存言語

L   *

に対して,

 *L

の補集合 は文脈依存言語である

補題

5.14

任意の

s (n)  log n

に対して,

NSPACE( s (n) ) = co-NSPACE( s (n) )

である

(22)

定理

5.10

(文脈依存言語族は和と連接について閉じている)

L

1

, L

2

 *

を任意の文脈依存言語とする.

(1) L

1

L

2 の和

L

1

 L

2 は文脈依存言語である.

(2) L

1

L

2 の連接

L

1

L

2 は文脈依存言語である.

G

L1  L2

= (N

1

N

2

{S},  , P

1

 P

2

{SS

1

, SS

2

}, S)

G

L1 L2

= (N

1

N

2

{S},  , P

1

 P

2

{SS

1

S

2

}, S)

G

i の生成規則の左辺に終端記号が現れないと仮定

G

i の生成規則の左辺に終端記号が現れないと仮定

(23)

定理

5.11

(文脈依存言語族は正閉包について閉じている)

任意の文脈依存言語

L   *

に対して,

L

の正閉包

L

+ は文脈依存言語である.

G

L+

= (N∪N∪{S

+

, X}, , P

+

, S

+

)

N∩N = 

となる

G

のコピー

G = (N, , P, S ) N∩N = 

となる

G

のコピー

G = (N, , P, S )

N = { A | AN }

P = {    |  P

かつ

  ,

,

        非終端記号

A

A

で置き換えたもの

}

P

+

= PP {S

+

S, XS, S

+

SX, X SS

+

}

(24)

定理

5.12

(文脈依存言語族は積について閉じている)

任意の文脈依存言語

L

1

, L

2

 *

に対して,

L

1

L

2 の積

L

1

∩L

2 は文脈依存言語である.

[

証明

]

L

i

(i = 1, 2)

を受理する線形有界オートマトンを

M

i

= ( Q

i

, ,

i

,

i

, q

0i

, F

i

)

とする.

この

M

i から,線形有界オートマトン

M

L1∩L2 を構 築する.

a b a b b a b c

¢ a b a b b a b c $

(25)

定理

5.13

(文脈依存言語の補集合も文脈依存言語である)

任意の文脈依存言語

L   *

に対して,

 *L

の補集合は文脈依存言語である.

[

証明

]

5.9

と補題

5.14

による.

5.9

 

CSL = NSPACE (n)

5.9

 

CSL = NSPACE

(n)

補題

5.14 NSPACE( s (n) ) = co-NSPACE( s (n) )

補題

5.14 NSPACE( s (n) ) = co-NSPACE( s (n) )

CSL = co-CSL

CSL = co-CSL

(26)

補題

5.14

NSPACE( s (n) ) = co-NSPACE( s (n) )

任意の

s(n)  log n

に対して,

NSPACE( s(n) ) = co-NSPACE( s(n) )

である

[

証明

]

任意の

s(n)

領域有界

Turing

機械

M

に対して,

 *L(M)

を受理する

s(n)

領域有界

Turing

機械

M

が存在すること を証明する.

線形有界オートマトンは領域有界

Turing

機械 線形有界オートマトンは領域有界

Turing

機械

(27)

5.4

言語族の階層

 Chomsky

階層の4言語族

句構造言語(

0

型)

文脈依存言語(

1

型)

文脈自由言語(

2

型)

正規言語(

3

型)

RGL

CFL CSL

FSL

RGL  CFL  CSL  FSL

補題

5.15

補題

5.15

補題補題

5.16 5.16

補題

5.17

補題

5.18

補題

5.17

補題

5.18

(28)

補題

5.15

と 補題

5.16

補題

5.15 RGL  CFL

[証明] 言語

L = { a

n

b

n

| n  1 }

を・・・

生成する文脈自由文法はあるので,文脈自由言語

受理する有限オートマトンはないので,

正規言語ではない

補題

5.16 CFL  CSL

[証明] 言語

L = { a

n

b

n

c

n

| n  1 }

を・・・

生成する文脈依存文法はあるので,文脈依存言語

生成する文脈自由文法はないので,

(29)

補題

5.17

と 補題

5.18

補題

5.17

すべての文脈依存言語は帰納的である.

補題

5.18

文脈依存言語でない帰納的集合が存在する.

[証明]

L = { x i | x iL(G i ) }

を使った対角線論法により 証明する.

任意の

x

に対し,

xL

かどうか判定できる 任意の

x

に対し,

xL

かどうか判定できる

(30)

定理

5.19 ( RGL  CFL  CSL  FSL

RGL  CFL  CSL  FSL

[証明]

補題

5.15, 5.16, 5.17, 5.18

による.

言語族 受理系 生成系

FSL

(句構造)

Turing

機械 句構造文法

CSL

(文脈依

存) 線形有界オートマトン 文脈依存文法

CFL

(文脈自

由) プッシュダウン・オートマ

トン 文脈自由文法

参照

関連したドキュメント

C−1)以上,文法では文・句・語の形態(形  態論)構成要素とその配列並びに相互関係

Key Words: Geolinguistics (linguistic geography), Willem Grootaers, Bernhard Karlgren, Language Atlas of China (LAC), Project on Han Dialects (PHD), Huaihe line, Changjiang

地図 9 “ソラマメ”の語形 語形と分類 徽州で“ソラマメ”を表す語形は二つある。それぞれ「碧豆」[pɵ thiu], 「蚕豆」[tsh thiu]である。

「父なき世界」あるいは「父なき社会」という概念を最初に提唱したのはウィーン出身 の精神分析学者ポール・フェダーン( Paul Federn,

語基の種類、標準語語幹 a語幹 o語幹 u語幹 si語幹 独立語基(基本形,推量形1) ex ・1 ▼▲ ・1 ▽△

Bases for rst order theories and subtheories, Journal of Symboli

前章 / 節からの流れで、計算可能な関数のもつ性質を抽象的に捉えることから始めよう。話を 単純にするために、以下では次のような型のプログラム を考える。 は部分関数 (

(2003) A universal approach to self-referential para- doxes, incompleteness and fixed points... (1991) Algebraically