院試hub

東北大 情報科学研究科 2群 情報・生命系 基礎・専門科目 2023年3月実施 院試 過去問 解答例・解説(全5問)

全5問の分野は情報2問、線形代数1問、電磁気学・回路1問です。解説はすべて、途中式と最終答は大問1問ぶんを公開しています。残りは解答PDFに収録しています。問題本文は含みません。

最終更新:

第1問 — 基礎科目 問題3 情報基礎1:論理関数の簡単化と完全系

方針

クワイン・マクラスキー法は,(i) 最小項を1の個数で分類,(ii) 1ビット違いの併合を打ち止めまで繰り返して主項を得る,(iii) 主項表から必須主項を選ぶ,の3段からなる。「簡単化の過程も示すこと」と明示されているので併合表と主項表を必ず書く。本問は必須主項 P1,P2,P3,P5P_1,P_2,P_3,P_5 だけで全最小項が覆われるため被覆問題に進む必要がない。冗長主項 P4=x1x2x4P_4=x_1x_2x_4 を答えに入れると最簡形ではなくなる。

検算

得られた式の各項が覆う最小項を数え直す。x1x3→{10,11,14,15}x_1x_3\to\{10,11,14,15\},x2‾x3x4‾→{2,10}\overline{x_2}x_3\overline{x_4}\to\{2,10\},x1x2‾ x4‾→{8,10}x_1\overline{x_2}\,\overline{x_4}\to\{8,10\},x2x3‾x4→{5,13}x_2\overline{x_3}x_4\to\{5,13\}。和集合は元の最小項集合に一致し,余分な最小項も現れない。この「両側の一致」を見れば過剰簡単化と簡単化不足を同時に排除できる。併合に使った項に印を付け忘れると主項を取り違えるので,最後の被覆確認は省かない。

設問2 多数決関数を含む極小完全系

方針

完全系の証明は,よく知られた完全系({AND,OR,NOT}\{\text{AND},\text{OR},\text{NOT}\} など)を作れることを示すのが最短である。M(x,y,0)=x⋅yM(x,y,0)=x\cdot y,M(x,y,1)=x+yM(x,y,1)=x+y という2つの等式が本問の核心で,MM は第3引数を定数に固定すると AND と OR に化ける。あとは定数をどう用意するかだけが問題になる。

極小性の示し方

「取り除くと完全でなくなる」は,残った関数がすべて共有し合成で保たれる性質を1つ挙げれば示せる。使えるのは 00 保存・11 保存・単調・自己双対・線形の5種類(Post の定理でいう5つの極大クラス)で,本問は自己双対・00 保存・線形をちょうど1回ずつ使う。なお MM と gg の2つだけでは極小完全系にならない。MM は 00 保存・11 保存・単調・自己双対をすべて満たすので gg はこの4つから外れねばならず,線形からも外れると gg 単独で完全になって「極小」に反する。ところが線形で g(0)=1g(\boldsymbol{0})=1,g(1)=0g(\boldsymbol{1})=0 を満たすものは変数の個数が奇数となり自己双対になって矛盾する。

失点しやすい点

MM と NOT だけで完全だと書く誤答が多い。MM も NOT も自己双対なので,どう組み合わせても自己双対関数しか作れず,AND も OR も定数も作れない。「例として NAND を加える」も誤りで,NAND 単独で完全だから極小性が壊れる。極小完全系は「完全」と「極小」の両方が主張であることを忘れないこと。

設問3 論理式の不等式の証明

別解(場合分け)

変形が思いつかないときは x1x_1 で場合分けする。x1=1x_1=1 なら第3項が 11。x1=0x_1=0 なら左辺は x3+x2‾ x3‾+x2x_3+\overline{x_2}\,\overline{x_3}+x_2 で,x2=1x_2=1 なら 11,x2=0x_2=0 なら x3+x3‾=1x_3+\overline{x_3}=1。

≥\ge の扱いと注意点

f≥gf\ge g を「ff と gg が等しい」と読み違えると証明が成立しない。実際 x1=0,x2=1,x3=0x_1=0,x_2=1,x_3=0 では左辺 =1=1,右辺 =0=0 で等号は成り立たない。変形では a+a‾b=(a+a‾)(a+b)=a+ba+\overline{a}b=(a+\overline{a})(a+b)=a+b を使うが,x1‾ x2‾ x3‾\overline{x_1}\,\overline{x_2}\,\overline{x_3} を x1x2x3‾\overline{x_1x_2x_3} と書き違えるとド・モルガンの適用先が変わって破綻する。

設問4 奇数パリティ関数の最小項の個数

方針と答案の書き方

「最小項の個数」は「関数が 11 を返す入力の個数」と同じである。2n−12^{n}-1 は「全入力から1つを除いた個数」で,入力を半分に分ける関数の値としては形が合わない。まず n=2,3n=2,3 で数えて命題を疑うのが速い。真偽の判定だけでは点にならないので,正しい個数 2n−12^{n-1} とその導出を必ず書く。

この設問が試していること

fpf_p は最小項が 2n−12^{n-1} 個あって主加法標準形が指数的に長くなる一方,x1⊕⋯⊕xnx_1\oplus\cdots\oplus x_n なら n−1n-1 個の演算で済む。積和形の最簡化が万能でないことを意識させる設問である。

解答

(1) 最小項の列挙

各項を (x1x2x3x4)(x_1x_2x_3x_4) の順に2進表現する。否定の付く変数を 00,付かない変数を 11 とすればよく,8つの項はそれぞれ 0101 (5),0010 (2),1101 (13),1000 (8),1011 (11),1110 (14),1010 (10),1111 (15) \texttt{0101}\,(5),\quad \texttt{0010}\,(2),\quad \texttt{1101}\,(13),\quad \texttt{1000}\,(8),\quad \texttt{1011}\,(11),\quad \texttt{1110}\,(14),\quad \texttt{1010}\,(10),\quad \texttt{1111}\,(15) に対応する。したがって ff の最小項の集合は {2,5,8,10,11,13,14,15}\{2,5,8,10,11,13,14,15\} である。

(2) 第1段の併合

1の個数で分類し,隣の群との間で1ビットだけ異なる組を併合する。併合した位置は - で表す。

1の個数

最小項

1

0010(2),1000(8)

2

0101(5),1010(10)

3

1011(11),1101(13),1110(14)

4

1111(15)

組

記号列

組

記号列

(2,10)(2,10)

-010

(10,14)(10,14)

1-10

(8,10)(8,10)

10-0

(11,15)(11,15)

1-11

(5,13)(5,13)

-101

(13,15)(13,15)

11-1

(10,11)(10,11)

101-

(14,15)(14,15)

111-

(3) 第2段の併合と主項

- の位置が一致し1ビットだけ異なる組をさらに併合する。併合できるのは (10,11) 101- と (14,15) 111-,(10,14) 1-10 と (11,15) 1-11 (10,11)\ \texttt{101-}\ \text{と}\ (14,15)\ \texttt{111-},\qquad (10,14)\ \texttt{1-10}\ \text{と}\ (11,15)\ \texttt{1-11} で,いずれも (10,11,14,15)=1-1-(10,11,14,15)=\texttt{1-1-} を与える。他の組は - の位置が合わないか相手がなく,これ以上併合できない。併合に使われなかった項が主項であるから P1=-010=x2‾ x3 x4‾,P2=10-0=x1 x2‾ x4‾,P3=-101=x2 x3‾ x4,P4=11-1=x1 x2 x4,P5=1-1-=x1 x3. \begin{aligned} P_1&=\texttt{-010}=\overline{x_2}\,x_3\,\overline{x_4}, & P_2&=\texttt{10-0}=x_1\,\overline{x_2}\,\overline{x_4}, & P_3&=\texttt{-101}=x_2\,\overline{x_3}\,x_4,\\ P_4&=\texttt{11-1}=x_1\,x_2\,x_4, & P_5&=\texttt{1-1-}=x_1\,x_3. && \end{aligned}

(4) 主項表と必須主項

各主項が覆う最小項を表にする。

主項

2

5

8

10

11

13

14

15

P1=x2‾x3x4‾P_1=\overline{x_2}x_3\overline{x_4}

∙\bullet

∙\bullet

P2=x1x2‾ x4‾P_2=x_1\overline{x_2}\,\overline{x_4}

∙\bullet

∙\bullet

P3=x2x3‾x4P_3=x_2\overline{x_3}x_4

∙\bullet

∙\bullet

P4=x1x2x4P_4=x_1x_2x_4

∙\bullet

∙\bullet

P5=x1x3P_5=x_1x_3

∙\bullet

∙\bullet

∙\bullet

∙\bullet

最小項 2 は P1P_1 のみ,5 は P3P_3 のみ,8 は P2P_2 のみ,11 と 14 は P5P_5 のみが覆うので,P1,P2,P3,P5P_1,P_2,P_3,P_5 は必須主項である。この4つで {2,5,8,10,11,13,14,15}\{2,5,8,10,11,13,14,15\} がすべて覆われる(13 は P3P_3,15 は P5P_5 が覆う)ので,P4P_4 は不要である。

(1) 構成する組

3変数多数決関数を M(x,y,z)=x⋅y+y⋅z+z⋅x M(x,y,z)=x\cdot y+y\cdot z+z\cdot x とし,組 { M, x‾ (NOT), ⊕ (排他的論理和) }\{\,M,\ \overline{\phantom{x}}\ (\text{NOT}),\ \oplus\ (\text{排他的論理和})\,\} を考える。これが極小完全系である。

(2) 完全であること

まず任意の変数 xx から定数 00 が作れる。 x⊕x=0. x\oplus x=0 . これを MM の第3引数に入れると論理積が得られる。 M(x,y,x⊕x)=M(x,y,0)=x⋅y+y⋅0+0⋅x=x⋅y. M(x,y,x\oplus x)=M(x,y,0)=x\cdot y+y\cdot 0+0\cdot x=x\cdot y . 論理和は NOT と組み合わせてド・モルガンの法則から得られる。 x+y=x‾⋅y‾‾=M(x‾,y‾,x‾⊕x‾)‾. x+y=\overline{\overline{x}\cdot\overline{y}} =\overline{M(\overline{x},\overline{y},\overline{x}\oplus\overline{x})}. 論理積・論理和・否定がそろえば,任意の論理関数を主加法標準形(最小項の論理和)で書けるので,この組は完全系である。

(3) 極小であること

3つのうちどれを除いても完全でなくなることを,「ある性質が合成で保たれる」形で示す。

{M, x‾ }\{M,\ \overline{\phantom{x}}\,\}:関数 gg の双対を gd(⋯ )=g(x‾⋯ )‾g^{d}(\cdots)=\overline{g(\overline{\phantom{x}}\cdots)} で定め,gd=gg^{d}=g のとき自己双対という。MM は自己双対である。実際 x,y,zx,y,z のうち 11 が2個以上なら x‾,y‾,z‾\overline{x},\overline{y},\overline{z} のうち 11 は1個以下であり,逆も成り立つので M(x‾,y‾,z‾)=M(x,y,z)‾. M(\overline{x},\overline{y},\overline{z})=\overline{M(x,y,z)} . 否定も x‾‾‾=x‾\overline{\overline{\overline{x}}}=\overline{x} より自己双対である。自己双対関数どうしの合成は自己双対であり,一方 x⋅yx\cdot y の双対は x‾⋅y‾‾=x+y\overline{\overline{x}\cdot\overline{y}}=x+y で x⋅yx\cdot y と一致しない。よって論理積は作れない。

{M, ⊕ }\{M,\ \oplus\,\}:M(0,0,0)=0M(0,0,0)=0,0⊕0=00\oplus 0=0 で,どちらも 00 を保存する。00 保存関数の合成は 00 保存なので,x‾\overline{x}(x=0x=0 で 11)も定数 11 も作れない。

{ x‾, ⊕ }\{\,\overline{\phantom{x}},\ \oplus\,\}:x‾=x⊕1\overline{x}=x\oplus 1 なので両者とも GF(2) 上の1次式(線形関数)であり,合成も線形である。x⋅yx\cdot y は線形でないので作れない。

以上より,3つすべてが必要であり,この組は極小完全系である。

(1) 記号の意味

論理値に 0<10<1 の順序を入れ,論理式 f≥gf\ge g は「すべての変数の割当てで ff の値が gg の値以上である」,すなわち g=1g=1 ならば必ず f=1f=1(g⇒fg\Rightarrow f)を意味する。

(2) 左辺の変形

左辺を LL とおく。 L=x1‾ x3+x1‾ x2‾ x3‾+x1+x2. L=\overline{x_1}\,x_3+\overline{x_1}\,\overline{x_2}\,\overline{x_3}+x_1+x_2 . まず x1x_1 と x1‾x3\overline{x_1}x_3 に吸収則の一般形 a+a‾ b=a+ba+\overline{a}\,b=a+b を使う。 x1+x1‾ x3=x1+x3. x_1+\overline{x_1}\,x_3=x_1+x_3 . よって L=x1+x3+x2+x1‾ x2‾ x3‾=(x1+x2+x3)+x1‾ x2‾ x3‾. L=x_1+x_3+x_2+\overline{x_1}\,\overline{x_2}\,\overline{x_3} =(x_1+x_2+x_3)+\overline{x_1}\,\overline{x_2}\,\overline{x_3}. ド・モルガンの法則より x1‾ x2‾ x3‾=x1+x2+x3‾\overline{x_1}\,\overline{x_2}\,\overline{x_3}=\overline{x_1+x_2+x_3} であるから,u=x1+x2+x3u=x_1+x_2+x_3 とおくと L=u+u‾=1. L=u+\overline{u}=1 .

(3) 結論

LL は変数の値によらず 11 である。右辺 R=x1+x2‾+x3R=x_1+\overline{x_2}+x_3 は論理値なので常に R≤1R\le 1 である。したがってすべての割当てで L≥RL\ge R が成り立つ。

(1) 命題の真偽

命題「fpf_p のうち 11 を出力する最小項の個数は 2n−12^n-1 個である」は偽である(n=1n=1 のときだけ偶然一致する)。正しい個数は 2n−12^{n-1} 個である。

(2) 根拠

nn 変数の入力は全部で 2n2^n 通りあり,fpf_p が 11 を出力するのは 11 の個数が奇数である入力に限る。その個数は ∑k: 奇数(nk)=(1+1)n−(1−1)n2=2n−02=2n−1(n≥1) \sum_{k:\ \text{奇数}}\binom{n}{k} =\frac{(1+1)^n-(1-1)^n}{2} =\frac{2^n-0}{2}=2^{n-1}\qquad(n\ge 1) である。二項定理を使わずに次のように数えてもよい。x1,…,xn−1x_1,\dots,x_{n-1} の値を任意に固定すると,その 11 の個数の偶奇に応じて xnx_n の値は 0,10,1 のうちちょうど一方だけが全体を奇数にする。よって (x1,…,xn−1)(x_1,\dots,x_{n-1}) の 2n−12^{n-1} 通りと 11 を出力する入力とが1対1に対応し,個数は 2n−12^{n-1} である。

(3) 命題との比較

2n−1=2n−12^{n-1}=2^n-1 となるのは 2n−1=12^{n-1}=1 すなわち n=1n=1 のときだけである。n≥2n\ge 2 ではたとえば n=2n=2 で 2n−1=22^{n-1}=2,2n−1=32^n-1=3 となり一致しない(n=2n=2 の奇数パリティ関数は x1⊕x2x_1\oplus x_2 で,11 を出力するのは 01,1001,10 の2通り)。したがって命題は一般には成り立たない。

最終答

f=x1x3+x2‾ x3 x4‾+x1 x2‾ x4‾+x2 x3‾ x4f=x_1x_3+\overline{x_2}\,x_3\,\overline{x_4}+x_1\,\overline{x_2}\,\overline{x_4}+x_2\,\overline{x_3}\,x_4(4項・11リテラル)

{ M(x,y,z), NOT, XOR }\{\,M(x,y,z),\ \text{NOT},\ \text{XOR}\,\}。定数を許すなら { M, NOT, 0 }\{\,M,\ \text{NOT},\ 0\,\} でもよい。

左辺は恒真(≡1\equiv 1)。よって任意の割当てで(左辺)≥\ge(右辺)が成り立つ。

偽。正しくは 2n−12^{n-1} 個(n=1n=1 のときだけ 2n−12^n-1 と一致する)

第2問 — 基礎科目 問題4 情報基礎2:グラフの表現と探索アルゴリズム

方針

(a) は定義どおりに書くだけだが,無向グラフなので行列の対称性と,隣接リストで各枝が2回現れることを外さない。(b) の O(n+m)O(n+m) は「節点の配列 ++ 枝の並び」という内訳を書くと,O(m)O(m) とだけ書いた答案より確実である。(c) はクラスカル法でもプリム法でもよいが,採用・棄却の判断を表にして残す。

最小全域木の一意性

G1G_1 は7本の枝の重みがすべて異なる。重みがすべて異なる連結グラフの最小全域木は一意なので,得られた木は「一つの例」ではなく「唯一の答え」である。答案でこの一言を添えると,たまたま見つけた木を書いたのではないことが伝わる。

検算

全域木は n−1=4n-1=4 本の枝を持ち閉路を含まない。得られた4本 {c,d},{b,e},{b,d},{a,b}\{c,d\},\{b,e\},\{b,d\},\{a,b\} で aa–bb–dd–cc と bb–ee がつながり,5節点がすべて到達可能で閉路がないことを図で確かめる。さらに,棄却した {d,e}\{d,e\} (4) を加えて閉路 bb–dd–ee–bb の最大重み枝 44 を除くと元に戻る(閉路性質)ので,交換して重みが減る枝がないことも確認できる。

失点しやすい点

隣接行列の記憶量を「mm に比例」と書く誤りが多い。隣接行列は枝の有無によらず n2n^2 要素を確保するので,疎なグラフでは隣接リストが有利である。逆に「2節点が隣接するか」の判定は隣接行列が O(1)O(1),隣接リストが O(次数)O(\text{次数}) で,用途によって優劣が入れ替わる。この対比を1行添えると (b) の理解が示せる。

設問2 整列済み行列に対する O(n+m)O(n+m) 探索

なぜ右上から始めるのか

右上の要素は「その行で最大,その列で最小」という両極端の性質を同時に持つ。そのため大小どちらの比較結果でも,行または列のどちらか一方をまるごと捨てられる。左下から始めて右・上へ進んでも同じ理由で成立するが,左上や右下から始めると,比較結果から捨てられる範囲が定まらず破綻する。この「なぜ角のうち2つだけが使えるか」を書けると理解が伝わる。

別解との比較

各行に二分探索をかけると O(nlog⁡m)O(n\log m) で,mm が大きいときは階段状探索より遅い。行列全体を1本の整列列とみなす二分探索は,行をまたぐと順序が保証されないため誤りになる(たとえば第1行の右端が第2行の左端より大きいことがある)。O(n+m)O(n+m) という指定は,比較のたびに行または列を1本ずつ落とす形の解を要求している。

失点しやすい点

終了条件を書き忘れて「見つからない場合」に無限ループになる答案が多い。i>ni>n または j<1j<1 で「No」を出す分岐を明示する。また,xx が複数個含まれる場合や MM に重複値がある場合でも,上の不変条件は「存在するならこの範囲」という形なので,最初に見つけた1個で「Yes」を返せばよく,正当性は変わらない。

この設問が試していること

設問1がデータ構造の記憶量,設問2が探索の時間計算量で,どちらも「nn と mm の両方が現れる OO 記法」を正しく扱えるかを見ている。O(n+m)O(n+m) と O(nm)O(nm),O(nlog⁡m)O(n\log m) の違いを,どの操作が何回起こるかまで戻って説明できるかが評価の分かれ目になる。

基礎科目 問題4 情報基礎2:グラフの表現と探索アルゴリズムの途中式・最終答をPDFで見る

第3問 — 基礎科目 問題6 数学基礎:固有値・ジョルダン標準形と行列のべき

検算

A(1,0,−2)T=(1,0,−2)TA(1,0,-2)^{\mathsf T}=(1,0,-2)^{\mathsf T},A(1,1,−1)T=(3,3,−3)TA(1,1,-1)^{\mathsf T}=(3,3,-3)^{\mathsf T} で正しい。固有値の側はトレース 3+4+0=73+4+0=7 が和 1+3+31+3+3 に,det⁡A=9\det A=9 が積 1⋅3⋅31\cdot3\cdot3 に一致することで確かめられる。

対角化できないことの意味

λ=3\lambda=3 の代数的重複度は2,幾何的重複度は1で一致しない。したがって AA は対角化不可能で,相似変換で到達できるもっとも簡単な形が設問3の BB,すなわちジョルダン標準形である。設問2で BB の右上に 11 が置かれていること自体が「対角化できない」という予告になっている。重複度と解空間の次元を同一視して固有ベクトルを2本書く誤答が多い。

設問2 BnB^{n} の証明

別の導き方と 00=10^{0}=1 の断り

BB は (a)(a) と J=(b10b)J=\begin{pmatrix}b&1\\0&b\end{pmatrix} の直和である。J=bI+NJ=bI+N,N=(0100)N=\begin{pmatrix}0&1\\0&0\end{pmatrix} とおくと N2=ON^{2}=O で bIbI と NN は可換だから,二項定理により Jn=bnI+n bn−1NJ^{n}=b^{n}I+n\,b^{n-1}N となって N2N^{2} 以降が消える。問題文が 00=10^{0}=1 を置いているのは b=0b=0 でも n=1n=1 の式が破綻しないようにするためである。

設問3 aa,bb,PP,P−1P^{-1} の決定

方針

P−1AP=BP^{-1}AP=B を AP=PBAP=PB に直してから列ごとに読むのが定石である。逆行列を含む式のままでは条件が見えないが,AP=PBAP=PB にすれば「第1列は固有値 11,第2列は固有値 33 の固有ベクトル,第3列は (A−3I)p3=p2(A-3I)\boldsymbol{p}_3=\boldsymbol{p}_2」と一つずつ確定する。

解が一意でないこと

p3\boldsymbol{p}_3 には ww の自由度,p1,p2\boldsymbol{p}_1,\boldsymbol{p}_2 には定数倍の自由度があるので PP は一意でなく,条件を満たすものを一つ挙げれば十分である。ただし p2\boldsymbol{p}_2 の定数倍を変えると (A−3I)p3=p2(A-3I)\boldsymbol{p}_3=\boldsymbol{p}_2 の右辺も変わるから,p2\boldsymbol{p}_2 と p3\boldsymbol{p}_3 は必ず組で決める。

設問4 AnA^{n} の計算

検算

n=1n=1 では (1,1)(1,1) 成分が 6−2−1=36-2-1=3,(2,2)(2,2) 成分が 3+1=43+1=4 などとなって AA に一致する。n=2n=2 では第1行が (5,6,2)(5,6,2) となり A2A^{2} の直接計算と合う。

nn の1次の項が現れる理由

AnA^{n} が 11 と 3n3^{n} の定数倍だけでなく n 3n−1n\,3^{n-1} を含むのは,BB の右上の 11(冪零成分)に由来する。対角化可能なら固有値の nn 乗の線形結合だけで書けるので,この項は対角化不可能性の現れである。

基礎科目 問題6 数学基礎:固有値・ジョルダン標準形と行列のべきの途中式・最終答をPDFで見る

第4問 — 専門科目 問題4 計算機1:順序回路の設計と全加算器

方針

Z(t)Z(t) は F(t−1)F(t-1) に依存するので t=1t=1 から順に埋めるしかない。表を X⊕YX\oplus Y,D(t)D(t),F(t−1)F(t-1) の3列に分けて書くと,どこで間違えたかが後から追える。F(0)=0F(0)=0 という初期値を使うのは t=1t=1 の1回だけである。

F(t)F(t) の定義に注意

F(t)F(t) は「Z(t)Z(t) の値の偶奇」ではなく「Z(t)Z(t) を2進表現したときのビットの和の偶奇」である。Z=3=011Z=3=\texttt{011} は奇数だが F=0F=0,Z=4=100Z=4=\texttt{100} は偶数だが F=1F=1 となり,値の偶奇とは一致しない。ここを読み違えると α7\alpha_7 と α10\alpha_{10} が逆になる。ZZ と FF の対応は Z=0,3Z=0,3 で F=0F=0,Z=1,2,4Z=1,2,4 で F=1F=1 の5通りしかないので,表を書き終えたらこの対応表で FF の列を独立に検算できる。

設問2 順序回路のブロック図

ゲート数を減らす工夫

∣xi−yi∣|x_i-y_i| を減算器と絶対値回路で作ると回路が大きくなる。1ビットどうしでは差の絶対値は不一致の判定と同じで,排他的論理和1個で済む。ここに気づけば残りは4つの1ビット値の総和で,全加算器の並べ方の問題に帰着する。なお FA3 は桁上げ入力を 00 に固定しているので実体は半加算器であり,全加算器を減らしたいなら排他的論理和1個と論理積1個で置き換えられる。ただしその場合は追加ゲートが7個になるので,本文の構成の方が問題文の条件には合う。

ZZ が3ビットに収まる根拠

d0+d1+d2≤3d_0+d_1+d_2\le 3 と F(t−1)≤1F(t-1)\le 1 より Z(t)≤4<8Z(t)\le 4<8 である。この上限を書いておかないと,桁あふれの処理が要るのかどうかが採点者に伝わらない。逆に Z=4Z=4 は実際に起こる(設問1の t=5t=5)ので,z2z_2 を省くことはできない。

失点しやすい点

Dフリップフロップを F(t)F(t) の生成より前に置いて Z(t)Z(t) を遅らせてしまう構成が目立つ。遅らせるのは FF だけで,Z(t)Z(t) は同じ時刻の入力から組合せ回路で決まる。また F(0)=0F(0)=0 に対応するリセット入力を図に描き添えると,初期状態の指定まで読めていることが示せる。

設問3 全加算器の最簡積和形

最簡であることの示し方

「最簡積和形で示せ」とあるので,主加法標準形を書くだけでは足りず,これ以上簡単にならない理由を添える。ss については「11 を出す4つの入力がカルノー図で市松模様に並び,隣接する組がない」の一言で足りる。coc_o については必須主項が3つそろって全体を覆うことを示す。

ss を排他的論理和で書く場合

s=a⊕b⊕cis=a\oplus b\oplus c_i は最短の表現だが積和形ではない。問題文が ∧,∨,x‾\wedge,\vee,\overline{\phantom{x}} の3記号を指定しているので,展開した4項の形で答える。なお coc_o は3変数多数決関数そのもので,「入力の2つ以上が 11 なら桁上げが出る」という算術的な意味と一致している。設問2で全加算器を計数器として使えたのもこの性質による。

専門科目 問題4 計算機1:順序回路の設計と全加算器の途中式・最終答をPDFで見る

第5問 — 専門科目 問題5 計算機2:形式文法とスタックによる式の評価

方針

真偽を問う3命題は,偽なら反例1つ,真なら一般の証明が要る。反例の方が圧倒的に安いので,まず小さい語で成り立たない例を探す。ここでは3つとも偽で,(a) だけは「反例がない」ことの証明が必要になる。

曖昧性の判定で見るところ

曖昧性は「言語」ではなく「文法」の性質である。G1G_1 が非曖昧なのは,SS の4つの右辺のうち aSaS だけが非終端記号を含み再帰が1本しかないため,導出の長さが語の長さから一意に定まるからである。(b) で挙げた S::=aS∣Sa∣abaS::=aS\mid Sa\mid aba は逆に曖昧だが,主張は非終端記号の個数だけなので構わない。L2=a+ba+L_2=a^{+}ba^{+} では bb が必ず1個だから,核 abaaba を右辺に直接書き,左右への伸長を aSaS と SaSa に任せる手が使える。

失点しやすい点

(c) で L1L_1 の第2の型 anbaa^{n}ba を n=0n=0 の baba だけと考えると,baba は L2L_2 の条件 i≥1i\ge1 を満たさないので「共通部分は空」と誤答してしまう。3つの型を L2L_2 と1つずつ突き合わせるのが安全である。

設問2 スタックによる後置記法の評価

方針

(b) は「スタックの出入りの収支」を式にするのが要点である。積む・取り出すの回数から p−q2−2q3=1p-q_2-2q_3=1 が出て,長さの定義と連立すれば pp の動ける範囲 (∗)(\ast) が決まる。深さの最大は pp の最大に等しく,最小は3項演算子を使わずに済むかで決まる。

検算

n=4n=4 では (∗)(\ast) が 2.5≤p≤32.5\le p\le3 で p=3p=3,最大の深さは ⌊9/3⌋=3\lfloor9/3\rfloor=3 となり,問題文の例 8 2 7 ▽8\,2\,7\,\triangledown(長さ4・深さ3)と一致する。n=7n=7 では pmax⁡=5p_{\max}=5,q3=2q_3=2,q2=0q_2=0 で深さは 5→3→15\to3\to1 と動く。

偶奇の場合分けを落とさない

(i) で「深さの最小は常に2」と答えるのが典型的な誤りである。nn が偶数だと2項演算子だけでは長さが合わず,3項演算子が必ず奇数個入るので深さ3が下限になる。

専門科目 問題5 計算機2:形式文法とスタックによる式の評価の途中式・最終答をPDFで見る

年度別の解答例(7年度)

  • 2026年3月(全6問)

    電磁誘導 / 二端子対回路 / 全加算器とMUX

  • 2025年8月(全6問)

    平面電磁波の反射と透過 / 線路負荷と過渡応答 / JKフリップフロップ

  • 2025年3月(全6問)

    平行導体と接地平板 / 無損失伝送線路 / 3値入力論理

  • 2024年8月(全6問)

    静電界と静電容量 / 共振回路と変圧器 / 論理式の簡単化

  • 2024年3月(全12問)

    中空円筒導体とポインティングベクトル / 交流回路と結合インダクタ / 多数決関数と中立関数

  • 2023年8月(全12問)

    同心球導体の電界と静電容量 / 並列交流回路と結合インダクタ / リード・マラー標準形

  • 2023年3月実施(このページ・全5問)

    基礎科目 問題3 情報基礎1:論理関数の簡単化と完全系 / 基礎科目 問題4 情報基礎2:グラフの表現と探索アルゴリズム / 基礎科目 問題6 数学基礎:固有値・ジョルダン標準形と行列のべき

2023年3月実施の出題内容

全5問

この5問の分野は情報2問・線形代数1問・電磁気学・回路1問・微分積分・解析1問です。

大問分野主題解説の小見出し最終答
第1問微分積分・解析論理関数の簡単化と完全系極小性の示し方 / 別解(場合分け)あり
第2問情報グラフの表現と探索アルゴリズム最小全域木の一意性 / なぜ右上から始めるのかあり
第3問線形代数固有値・ジョルダン標準形と行列のべき対角化できないことの意味 / 別の導き方と 0^0=1 の断りあり
第4問電磁気学・回路順序回路の設計と全加算器F(t) の定義に注意 / ゲート数を減らす工夫あり
第5問情報形式文法とスタックによる式の評価曖昧性の判定で見るところ / 偶奇の場合分けを落とさないあり

2023年3月実施の解説には検算4件・失点しやすい点4件が付いています。

東北大学の公式過去問

公開年度範囲
2023年8月〜2026年3月
公式の解答例
非公開(問題冊子のみ)
英語の扱い
TOEFL iBT または TOEIC 公開テストのスコア提出。詳細は募集要項で確認。
院試hubの最終確認
2026-09-26
東北大学の公式過去問PDF