九州大学 システム情報科学府 情報理工学専攻 2018年8月実施 オートマトンと言語
Author
Zero
Description
【問1】
以下の状態遷移図を持つ非決定性有限オートマトン M=(K,Σ,δ,q0,F) に対し、次の各問いに答えよ。
ただし、K={q0,q1}, Σ={a,b}, δ, q0, F={q0,q1} は、それぞれ状態の集合、アルファベット、遷移関数、初期状態、最終状態の集合を表す。
(1) M が受理する長さ 4 の文字列をすべて列挙せよ。
(2) M が受理する言語 L1 に含まれる文字列を説明せよ。
(3) L1 を受理する状態数最小の決定性有限オートマトンの状態遷移図を与えよ。
(4) 文字 a で始まり文字 b で終わる Σ 上の文字列の集合を言語 L2 とする。
言語 L1∩L2 を受理する状態数最小の決定性有限オートマトンの状態遷移図を与えよ。
【問2】
1+2+3 や 4+4−10 のように数の加減算を行う式を扱える、次の文脈自由文法 G を考える。
文法 G の終端記号は 0,1,2,3,4,5,6,7,8,9,+,−、非終端記号は S,N,D、開始記号は S であり、生成規則は次の通りである。
SND→N∣S+N∣S−N→D∣DN→0∣1∣2∣3∣4∣5∣6∣7∣8∣9
開始記号 S から生成規則に従った書換えにより導出できる文字列が、G によって生成される文字列である。
例えば G は文字列 4+4−10 を次の導出木により生成する。
次の各問い (1), (2) に答えよ。
(1) 次の各文字列は G によって生成されるか。されるならば導出木を与え、されないならば理由を説明せよ。
- (a) 5+13+9
- (b) 25
- (c) 空文字列
- (d) -4+15
(2) G は 05+3-0007 のように個々の数を表す部分の先頭に不要な 0 が付いた文字列も生成してしまう。
このような文字列が生成されないように修正した文法 G′ を考える。
文法 G′ の終端記号は 0,1,2,3,4,5,6,7,8,9,+,−、非終端記号は S,N,M,D、開始記号は S であり、生成規則は次の通りである。
ただし ε は空文字を表す。
SNMD→N∣S+N∣S−N→0∣ i →ε∣ ii ∣ iii →1∣2∣3∣4∣5∣6∣7∣8∣9
G′ が意図通りになるよう空欄 i , ii , iii を埋めよ。
ただし G により生成される文字列のうち、排除したい文字列以外は、すべて G′ により生成されるようにすること。
また他の数字が直後に続かない単独の 0 が現れることは許すものとする。
G′ は例えば 0 や 1+301 や 0+0-203 を生成するが、00 や 1+0301 は生成しない。
题目描述
【问题 1】给定非确定性有限自动机 M=(K,Σ,δ,q0,F),其中
K={q0,q1}、Σ={a,b}、初始状态为 q0、终态集合
F={q0,q1},转移函数 δ 见原题状态迁移图。回答:
- 枚举 M 接受的所有长度为 4 的字符串。
- 记 M 接受的语言为 L1,描述 L1 中字符串的共同特征。
- 画出接受 L1 且状态数最少的确定性有限自动机的状态迁移图。
- 令 L2 为 Σ 上所有以 a 开头、以 b 结尾的字符串组成的语言,画出接受交集语言 L1∩L2 且状态数最少的确定性有限自动机的状态迁移图。
【问题 2】考虑能表示数的加减算式(如 1+2+3、4+4−10)的上下文无关文法 G。其终结符为
0,1,2,3,4,5,6,7,8,9,+,−,非终结符为 S,N,D,开始符号为 S,产生式为
SND→N∣S+N∣S−N,→D∣DN,→0∣1∣2∣3∣4∣5∣6∣7∣8∣9.
能从 S 按产生式改写得到的字符串即为 G 生成的字符串;原题以 4+4−10 的推导树为例。回答:
-
分别判断下列字符串能否由 G 生成;若能,画出推导树;若不能,说明理由:
- (a)
5+13+9
- (b)
25
- (c) 空字符串
- (d)
-4+15
-
文法 G 还会生成 05+3-0007 这类在数值部分前带有多余 0 的字符串。现构造文法 G′ 排除它们:终结符仍为
0,1,2,3,4,5,6,7,8,9,+,−,非终结符为 S,N,M,D,开始符号为 S,且 ε 表示空字符串,
SNMD→N∣S+N∣S−N,→0∣ i ,→ε∣ ii ∣ iii ,→1∣2∣3∣4∣5∣6∣7∣8∣9.
填写空格 i 、 ii 、 iii ,使 G′ 恰好排除数值部分含无用前导零的情形,而 G 生成的其他字符串仍全部可由 G′ 生成。允许不紧跟其他数字的单独 0:例如 G′ 应生成 0、1+301、0+0-203,但不能生成 00 或 1+0301。
- 非确定性有限自动机与语言刻画:从非确定性自动机转移图枚举定长接受串,并归纳 L1 的字符串特征。
- 确定性有限自动机最小化与积自动机:为 L1 构造最小确定性自动机,并通过语言交运算构造、最小化识别 L1∩L2 的自动机。
- 上下文无关文法与推导树:按给定产生式判断算式字符串的可生成性,并为可生成字符串画出完整推导树。
- 文法约束设计:补全非终结符 N,M,D 的产生式,在保留合法整数和算式的同时排除多余前导零。
Kai
【問1】
(1)
aaaa,aaab,aaba,abab,abaa,baaa,baba,baab
(2)
b が連続しない文字列
(3)
(4)
【問1】
(1)
(a)
(b)
(c)
生成されない。生成規則に空文字列を終端記号として導出するものが存在しない。
(d)
生成されない。文頭は最終的に非終端記号 S から導出されるが、S から「-」は導出されない。
(2)
または