東京工業大学 情報理工学院 情報工学系 2016年8月実施 午前 2.
Author
祭音Myyura (co-authored with GPT 5.6 SOL)
Description
Σ={0,1} とし、二進整数を最上位ビットから入力する。先頭の 0 は許し、空語は扱わない。状態遷移は行を状態、列を入力記号とする表で答えよ。
例 A0 は Q={q0,q1}、初期状態 q0、受理集合 {q0} とし、両入力で q0,q1 を交互に移る、偶数長の語を受理する DFA である。
- A0 の遷移関数だけを変更し、偶数を受理する2状態 DFA A1 を与えよ。
- A1 を奇数だけ受理するものに変更する方法を30字以内で答えよ。
- Q={r0,r1,r2}、初期状態 r0 の3状態 DFA A2 で3の倍数だけを受理せよ。
- A1,A2 の積により、6の倍数だけ受理する6状態 DFA A3 を定義し、状態の対応を60字以内で説明せよ。
- A1,A2 の和により、偶数または3の倍数を受理する6状態 NFA A4 を、初期状態 s0 として定義せよ。状態の対応を60字以内で説明せよ。
- A4 と等価な DFA A5 を初期状態 s0 として定義し、状態の対応を120字以内で説明せよ。
题目描述
构造识别二进制偶数、奇数、3的倍数、6的倍数的自动机;用非确定自动机实现“偶数或3的倍数”,再确定化。允许前导零,不处理空串。
Kai
| δ1 | 0 | 1 |
|---|
| q0 | q0 | q1 |
| q1 | q0 | q1 |
受理状態の集合を {q1} に変更する。
F2={r0}。rj は読んだ整数の3での剰余 j を表す。
| δ2 | 0 | 1 |
|---|
| r0 | r0 | r1 |
| r1 | r2 | r0 |
| r2 | r1 | r2 |
入力 b により剰余は (2j+b)mod3 となる。
状態 pij=(qi,rj)、初期状態 p00、F3={p00} とする。
| δ3 | 0 | 1 |
|---|
| p00 | p00 | p11 |
| p01 | p02 | p10 |
| p02 | p01 | p12 |
| p10 | p00 | p11 |
| p11 | p02 | p10 |
| p12 | p01 | p12 |
pij は A1 が qi、A2 が rj にある状態を表す。
Q4={s0,q0,q1,r0,r1,r2}、F4={q0,r0} とする。
| δ4 | 0 | 1 |
|---|
| s0 | {q0,r0} | {q1,r1} |
| q0 | {q0} | {q1} |
| q1 | {q0} | {q1} |
| r0 | {r0} | {r1} |
| r1 | {r2} | {r0} |
| r2 | {r1} | {r2} |
最初の入力で両機械に分岐し、その後は各機械の遷移を行う。
Q5={s0}∪{pij:0≤i≤1, 0≤j≤2} とし、pij からの遷移は4)の表と同じとする。追加の行は
| δ5 | 0 | 1 |
|---|
| s0 | p00 | p11 |
受理集合は
F5={p00,p01,p02,p10}.
pij は NFA の状態集合 {qi,rj} に対応する。いずれかの成分が受理状態なら受理する。s0 は入力前だけの状態である。