院試hub

中部 · 名古屋工業大学

名工大情報工学系の院試過去問・解答|2027年度3科目の解説

名工大情報工学系の公式過去問と解答例の入手先、必答・選択条件を掲載。2027年度問題24〜26のソフトウェア・ハードウェア・情報数学を解説。ハッシュ法、形式言語、回路、キャッシュ、通信路容量、ハミング符号を図・途中式・証明で説明します。販売PDFは2024〜2026年度18問が対象です。

最終更新: 2026/10/17

名古屋工業大学の一般選抜5系・公式過去問を見る

名古屋工業大学の情報工学系は、ネットワーク・知能情報・メディア情報・情報数理の4プログラム共通の問題冊子を公開しています。公式の最新掲載は2027年度です。公式PDFの入手先と試験条件に続き、2027年度・問題24のハッシュ法・形式言語と、問題25の計算機ハードウェア、問題26の情報数学を解説します。院試hubの販売PDFに収録する2024〜2026年度・6科目18問の出題分析も掲載しています。

他の系も含めた問題と解答は、名工大の院試過去問一覧にまとめています。

2027年度一般選抜の必答・選択科目と試験時間

情報工学系の科目指定は、プログラムによって異なります。

プログラム解答する科目
ネットワーク・知能情報・メディア情報計算機ソフトウェア、計算機ハードウェア、情報数学の3科目すべて必答。
情報数理上記3科目と、微分積分・線形代数、数理科学1、数理科学2の計6科目から3科目を選択。

微分積分・線形代数は計算問題中心で、微分方程式を含まない指定です。数理科学1は複素関数論・ベクトル解析・常微分方程式(フーリエ解析を含む)、数理科学2は微分積分・線形代数の理論的内容が対象です。

専門試験は180分・300点。英語はTOEIC L&RまたはTOEFL iBTを100点満点に換算し、面接と学業成績も含めて判定されます。第1志望の指導教員への事前相談と、出願時の英語スコア提出も必要です。英語の形式・期限と出願手順を確認してください。

この条件は2026年夏に実施済みの2027年4月入学・一般選抜のものです。次回の受験には新年度の要項を照合します。公式過去問は2025〜2027年度が公開され、2026・2027年度の解答例・出題意図もWebで読めます。2025年度の解答例は窓口・郵送で請求する案内です。院試hubの本分野の解答解説は2024〜2026年度を収録しています。

情報工学系の公式問題PDF・解答例

公開範囲は2026年10月17日に大学公式ページで確認しました。訂正が公表された問題は公式配布ページの注記と修正版を確認してください。公式解答例は無料で読めます。以下の2027年度の解説は問題24・25が対象です。販売PDFは2024〜2026年度の収録で、2027年度は含みません。

2027年度・問題24 Iの解答解説:ハッシュ法

公式問題PDFの4〜5ページ(印刷された1〜2ページ)に対応します。以下はハッシュ法を扱うI(1)〜(3)の解説です。公式解答の1ページと照合し、途中の操作と計算量の根拠を説明します。形式言語を扱うIIはこの節の対象に含みません。

(1) 用語をデータの流れに対応させる

キーをハッシュ関数に渡し、得られたハッシュ値で表の格納先を決めます。異なるキーが同じ値になることが衝突です。空欄は、A=ハッシュ表、B=ハッシュ値、C=ハッシュ関数、D=衝突、E=オープンアドレス法となります。Eは開番地法とも呼びます。表の中で別の空きを探す方式で、この問題の(2)では線形探索を使います。

(2) 空きが多くても、最悪の場合はO(n)

nは入力データ数、mは配列の長さです。nがmより十分小さくても、n個のキーが同じハッシュ値に集中する場合を排除できません。線形探索で順に置くと、連続したn個の領域が埋まることがあります。

  • 新規格納:埋まった領域を通り抜け、次の空きを探すため、最悪でn個に比例する回数を調べます。
  • 格納済みデータの探索:連続領域の最後に目的のキーがあると、それまでのキーも調べます。
  • 未格納データの探索:同じハッシュ値から始めると、連続領域の後の空きまで調べて不在を確定します。

したがって、(a)格納・(b)格納済みの探索・(c)未格納の探索はいずれも最悪O(n)です。「ハッシュ法だからO(1)」と書くと、平均的な場合と最悪の場合を混同します。

(3)(i)(ii) 2つの候補だけで探せる理由と計算量

改良ハッシュ法でキーxを置く場所は、A1[f1(x)]かA2[f2(x)]です。そのためF・Gには、順不同でx == A1[f1(x)]とx == A2[f2(x)]が入ります。どちらも一致しなければ未格納です。問題ではf1・f2の計算は定数時間とされています。

処理最悪時間根拠
(a) 新規格納O(MaxLoop)=O(log₂ n)各反復で最大2回の交換。反復上限が⌈log₂ n⌉。
(b) 格納済みの探索O(1)候補は2か所だけ。
(c) 未格納の探索O(1)2か所とも不一致なら終了。

格納では、指定位置の値と手元のxを交換します。交換後のxは追い出された値に変わるので、次の格納先もその値から計算し直します。空きを取り出せば成功して終了し、上限まで空きが見つからなければ失敗を返します。この擬似コードには再ハッシュは含まれていません。

(3)(iii) 7個の値を順に格納する

入力順は3、7、13、14、18、24、25です。m=11、n=7なので、MaxLoop=⌈log₂ 7⌉=3です。1反復にはA1とA2への交換があるため、3は交換回数の上限ではありません。初期状態では両配列とも空です。

f1(x)=x mod 11,f2(x)=⌊x3⌋ mod 11.\begin{aligned}f_1(x)&=x\bmod 11,\\f_2(x)&=\left\lfloor\frac{x}{3}\right\rfloor\bmod 11.\end{aligned}
入力値交換する順序
3A1[3]に3。空きなので終了。
7A1[7]に7。空きなので終了。
13A1[2]に13。空きなので終了。
14A1[3]に14を入れ、元の3をA2[1]へ移す。
18A1[7]に18を入れ、元の7をA2[2]へ移す。
24A1[2]に24を入れ、元の13をA2[4]へ移す。
25A1[3]に25、A2[4]に14、A1[2]に13、A2[8]に24の順に書き込む。

最後の25を入れる直前、A1[3]には14、A2[4]には13、A1[2]には24があります。次の4回の交換を、2反復で行います。

  1. f1(25)=3なのでA1[3]に25を入れ、14を取り出します。
  2. 手元の値が14になったので、f2(14)=4を計算します。A2[4]に14を入れ、13を取り出します。
  3. 次の反復でf1(13)=2を計算します。A1[2]に13を入れ、24を取り出します。
  4. f2(24)=8なのでA2[8]に24を入れます。ここは空きなので終了します。

空でない要素の最終状態は次のとおりです。

配列添字と値
A1[2]=13、[3]=25、[7]=18
A2[1]=3、[2]=7、[4]=14、[8]=24

図2の記号に対応させると、7は(f)、13は(a)、24は(j)です。13と24は、それぞれを挿入した直後の場所から後で移動します。途中の配置を最終解答として答えないことが、この設問の確認点です。

2027年度・問題24 IIの解答解説:形式言語

公式問題PDFの6ページ(印刷3ページ)の(1)(a)(b)、(2)(a)〜(d)を扱います。公式解答PDFの2〜3ページに対応し、文法から文字列の形を求める過程と、証明に使う条件を説明します。

(1)(a)(b) 素数の上限があるため、有限言語になる

12以下の素数は2、3、5、7、11です。したがって、L₁に入る文字列は次の5個だけです。

L1={a2,a3,a5,a7,a11}.L_1=\{a^2,a^3,a^5,a^7,a^{11}\}.

(a)は正規言語です。有限個の文字列の和集合なので、次の正規表現で表せます。ここで縦棒は選択を表し、aの右肩の数字は繰り返す個数です。

aa∣aaa∣a5∣a7∣a11aa\mid aaa\mid a^5\mid a^7\mid a^{11}

(b)は文脈自由言語です。すべての正規言語は文脈自由言語に含まれます。文法を直接示すなら、開始記号S₁から上の5個の文字列へ書き換える規則を用意すれば足ります。「長さが素数」という部分だけで、上限のない言語についての議論を始めないようにします。この設問では、どちらも非正規性・非文脈自由性の証明は不要です。

(2)の文法が生成する文字列を求める

指定された文法G₂の開始記号はS、非終端記号はS・T・B、終端記号はa・bです。生成規則は次のとおりです。

S→aTb,T→aTB∣TB∣b,B→b.\begin{aligned}S&\to aTb,\\ T&\to aTB\mid TB\mid b,\\ B&\to b.\end{aligned}

Tを書き換えるとき、T→aTBを1回使うごとに左側のaと右側のBが1個ずつ増え、T→TBでは右側のBだけが1個増えます。前者をk回、後者をℓ回使い、最後にT→bとB→bで終端記号だけにすると、次の形になります。

T⇒∗akbk+ℓ+1,S⇒∗ak+1bk+ℓ+2,k,ℓ≥0.\begin{aligned}T&\Rightarrow^* a^k b^{k+\ell+1},\\ S&\Rightarrow^* a^{k+1}b^{k+\ell+2},\qquad k,\ell\ge0.\end{aligned}

aが少なくとも1個あり、bの個数はaより必ず多くなります。逆に、1≤m<nを満たす任意の整数m・nについて、k=m−1、ℓ=n−m−1と置けば上の導出を作れます。したがって、片方の包含だけでなく、次の等式が成り立ちます。

L(G2)={ambn∣1≤m<n}.L(G_2)=\{a^m b^n\mid 1\le m<n\}.

たとえばabb、abbb、aabbbは含まれます。abやaabbは個数が等しく、bはaがないため含まれません。途中でaとbが交互になる文字列も生成されません。

(2)(a) 文法の左端導出を、1状態のPDAで模倣する

状態をqの1個だけにし、初期スタックをSとします。入力をすべて読み終え、スタックが空になったときに受理する非決定性プッシュダウンオートマトン(PDA)を構成します。状態qにいるだけでは受理しません。

遷移の「c, X / γ」は、入力cを読み、スタック先頭のXをγへ置き換える意味です。εは空語を表すため、入力欄のεは文字を読まない遷移、置換先のεは先頭の消去です。スタックは左端を先頭とし、たとえばaTbを積むときは、aが次に取り出される向きにします。

文法G₂を模倣する1状態のプッシュダウンオートマトン開始状態q、初期スタックS。qへの自己ループは、ε,S/aTb、ε,T/aTB、ε,T/TB、ε,T/b、ε,B/b、a,a/ε、b,b/εの7本。入力をすべて読み終え、スタックが空になったときに受理する。ε, S / aTbε, T / aTBε, T / TBε, T / bε, B / ba, a / εb, b / εq開始
7本の遷移を同じ自己ループにまとめた図。初期スタックはSで、空スタック受理を使います。

最初の5本は文法の規則をそのまま模倣します。残る2本は、スタック先頭の終端記号と次の入力が一致したときに両方を消費する遷移です。Tの書き換え方には複数の選択肢がありますが、いずれかの遷移列で入力を読み切り、空スタックにできれば受理します。

入力abbでは次のように動きます。表のスタックも左端が先頭です。

操作未読入力スタック
開始abbS
S→aTbabbaTb
aを読むbbTb
T→bbbbb
bを読むbb
bを読むεε

一般の入力でも、スタックは導出のうちまだ読み合わせていない部分を保持します。受理する遷移列からはG₂の左端導出を取り出せ、G₂の左端導出からも受理する遷移列を作れるため、このPDAはL(G₂)を受理します。公式解答のように底記号Z₀を使う場合は、最初にZ₀をSZ₀へ置き換え、最後にZ₀を消すε遷移を加えても、1状態のまま同じ言語を受理します。

(2)(b) 正規言語ではないことを証明する

L(G₂)が正規言語だと仮定し、正規言語のポンピング補題の長さをp≥1とします。次の文字列はL(G₂)に属し、長さもp以上です。

w=apbp+1.w=a^p b^{p+1}.

補題によれば、w=xyzと分解でき、|xy|≤p、|y|≥1を満たし、すべての整数i≥0に対してxyⁱzも言語に属するはずです。ところが、先頭p文字はすべてaなので、条件を満たすどの分解でもy=aᵈ(1≤d≤p)となります。

xy2z=ap+dbp+1.xy^2z=a^{p+d}b^{p+1}.

d≥1なのでaの個数p+dは、bの個数p+1以上になります。これはL(G₂)の条件m<nに反します。補題で許されるどの分解でもi=2で矛盾するため、L(G₂)は正規言語ではありません。

自分で選んだ1通りの分解だけを崩しても証明にはなりません。ここでは|xy|≤pを使うことで、すべての候補で繰り返す部分yがaだけになると示しています。

(2)(c) 文脈自由言語である理由

G₂の各生成規則の左辺は、非終端記号1個だけです。したがってG₂は文脈自由文法であり、その生成言語L(G₂)は文脈自由言語です。(b)の非正規性と矛盾しません。正規言語に含まれない文脈自由言語の例になっています。

この判定に「空語への規則がないこと」は必要ありません。文脈自由文法は空語を生成する規則を持つこともあります。設問では、与えられた文法が文脈自由文法の定義を満たすことを示せば十分です。

(2)(d) チョムスキー標準形へ変換する

変換できます。右辺が非終端記号2個、または終端記号1個になるようにします。まずaを表す非終端記号Aを追加し、bには既存のB→bを使います。するとS→aTbとT→aTBの右辺は、どちらもATBへ置き換えられます。さらにTBを表す非終端記号Cを追加すると、次の文法になります。開始記号はSのままです。

S→AC,T→AC∣TB∣b,C→TB,A→a,B→b.\begin{aligned}S&\to AC,\\ T&\to AC\mid TB\mid b,\\ C&\to TB,\\ A&\to a,\\ B&\to b.\end{aligned}

元のS→aTbはS→AC→ATBに対応し、AとBを終端記号へ直すとaTbになります。元のT→aTBもT→AC→ATBに対応します。他の規則T→TB、T→b、B→bはそのままです。AとCはこの置換のためだけの記号なので、逆に展開をまとめれば元の導出へ戻せます。

どの規則も右辺が非終端記号2個か終端記号1個になっており、開始記号Sは右辺に現れません。空語は元の言語に含まれないので、そのための規則も不要です。公式解答と補助記号の数が異なっていても、同じ言語を生成し、標準形の条件を満たせば解答になります。

2027年度・問題25の解答解説:計算機ハードウェア

公式問題PDFの8〜12ページ(印刷5〜9ページ)に対応します。Iの数値表現、IIの比較回路、IIIのキャッシュ・TLB・性能計算を順に解説します。公式解答PDFの4〜6ページと併せて、計算の途中と判定条件を確認してください。

I(1)〜(3) 基数変換と16進数の演算

I(1)では、2進数の各桁を2の整数乗で重み付けします。小数点の右側は、順に1/2、1/4、1/8です。

(101010)2=32+8+2=42,(101.011)2=4+1+14+18=5.375.\begin{aligned}(101010)_2&=32+8+2=42,\\(101.011)_2&=4+1+\frac14+\frac18\\&=5.375.\end{aligned}

I(2)(a)の207は128+64+8+4+2+1です。I(2)(b)の整数部68は64+4、小数部0.625は1/2+1/8なので、次の2進表現になります。

207=(11001111)2,68.625=(1000100.101)2.\begin{aligned}207&=(11001111)_2,\\68.625&=(1000100.101)_2.\end{aligned}

8進数へは、小数点から左右それぞれに3ビットずつ区切ります。整数部の左端は0で補えますが、小数部の先頭に0を足すと値が変わるので注意します。

(011 001 111)2=(317)8,(001 000 100.101)2=(104.5)8.\begin{aligned}(011\ 001\ 111)_2&=(317)_8,\\(001\ 000\ 100.101)_2&=(104.5)_8.\end{aligned}

I(3)は16を基数として桁上がり・桁借りを行います。和の右から2桁目ではC+8=20なので4を書いて1を繰り上げ、続く9+A+1も20になります。差では9−Aの桁で左から16を借り、結果はFです。次の桁もA−Eとなるため、もう一度借りてCになります。

演算(16進数)結果(16進数)
A4B9C7+23EA85C8A44C
A4B9C7−23EA8580CF42

I(4) 8ビットの2の補数を、符号付きで計算する

8ビットの2の補数では、先頭が1の値を符号なしで読んだ値から256を引くと、符号付きの値になります。表せる範囲は−128〜127です。

(a)の1011 0011は179−256=−77、0010 1110は46です。差は−77−46=−123で、範囲内に収まります。256−123=133を8ビットで表します。

−123⟷(1000 0101)2.-123\longleftrightarrow(1000\ 0101)_2.

(b)の1010 1000は168−256=−88、0000 0100は4です。商は−22なので、256−22=234を8ビットで表します。この割り算の余りは0です。

−22⟷(1110 1010)2.-22\longleftrightarrow(1110\ 1010)_2.

II(1)(2) 上位ビットと下位ビットの比較を分ける

入力は2ビットのA=A₁A₀、B=B₁B₀です。出力Z₂Z₁Z₀は、A>Bなら001、A=Bなら010、A<Bなら100なので、Z₀はA>Bのときだけ1になります。以下の論理式では、積がAND、+がOR、上線がNOTを表します。

(1)のA₀<B₀では、下位ビットはAの方が小さいため、A>Bになるには上位ビットがA₁=1、B₁=0でなければなりません。

Z0=A1B1‾.Z_0=A_1\overline{B_1}.

(2)のA₀>B₀では、上位ビットが等しい場合もA>Bになります。A₁B₁の組が10・11・00の3通りを、積和標準形にします。積和標準形なので、各積には指定された変数A₁・B₁を両方入れます。

Z0=A1B1‾+A1B1+A1‾ B1‾.\begin{aligned}Z_0={}&A_1\overline{B_1}+A_1B_1\\&+\overline{A_1}\,\overline{B_1}.\end{aligned}

II(3) カルノー図から最小の積和形を作る

行をA、列をBとし、A>Bのマスに1、それ以外に0を入れます。並びは00、01、11、10です。隣り合うマスでは1ビットだけが変わり、左右端・上下端もつながっています。

2ビット比較器のZ₀のカルノー図行A₁A₀、列B₁B₀はともに00、01、11、10の順。各行は0000、1000、1101、1100。緑は左下の4マス、青は列00の行01と11、橙は行11の左右端をまとめる。A₁A₀B₁B₀00000101111110100000100011011100
行・列ともグレイコード順です。橙の破線で示した左右端の2マスは、隣接する1つの組として扱います。

1のマスは、次の3つの組で覆えます。共有するマスを重ねて使っても構いません。

  • 左下の4マス:A₁=1、B₁=0が共通で、A₀とB₀は変わります。
  • 列00の行01・11:A₀=1、B₁=B₀=0が共通です。
  • 行11の左右端:A₁=A₀=1、B₀=0が共通で、B₁は変わります。
Z0=A1B1‾+A0B1‾ B0‾+A1A0B0‾.\begin{aligned}Z_0={}&A_1\overline{B_1}\\&+A_0\overline{B_1}\,\overline{B_0}\\&+A_1A_0\overline{B_0}.\end{aligned}

A=2・B=1のマスは第1の組、A=1・B=0は第2の組、A=3・B=2は第3の組でしか、これらの大きな組にまとめられません。3組とも必要で、2リテラルの項1個と3リテラルの項2個になります。条件付きの(1)(2)の式と、4変数すべてを使うこの式を区別します。

II(4) 等しいときの出力をNORで作る

AとBが等しいのは、A<BでもA>Bでもない場合です。したがって(a)のゲートはNORです。

Z1=Z2+Z0‾.Z_1=\overline{Z_2+Z_0}.

CMOSでは、入力が0のときに導通するpMOSを上側に、入力が1のときに導通するnMOSを下側に置きます。NORは、両入力が0のときだけ電源につながり、どちらかが1なら接地につながる構成にします。

NORのCMOS回路:直列pMOSと並列nMOS電源から出力Z₁までにZ₂とZ₀をゲート入力とするpMOSを直列接続。出力から接地までには同じ2入力のnMOSを並列接続。両入力が0のときだけ出力が1になる。Z₂Z₀Z₂Z₀VccZ₁pMOSnMOS
公式問題の選択肢(iv)に対応します。ゲートの丸印がある側がpMOSです。同じ入力名は同じ信号を表します。

上側のpMOSは直列なので、Z₂=Z₀=0のときだけ両方が導通します。下側のnMOSは並列なので、どちらかが1なら出力を0へ引き下げます。よって(b)は(iv)です。選択肢(iii)はNAND、(i)はNANDの後に反転器があるAND、(ii)はNORの後に反転器があるORに対応します。

III(1) キャッシュのアドレスを3つに分ける

総容量16KB=16,384B、2ウェイ、1ブロック32Bです。バイトアドレッシングなので、ブロック内の32バイトを区別する(a)のオフセットは5ビットです。

32=25.163842×32=256=28.32=2^5.\qquad\frac{16384}{2\times32}=256=2^8.

1セットに32Bのブロックが2個入るため、(b)のセット数は256です。全ブロック数512をセット数としないようにします。256セットを区別する(c)のインデックスは8ビット、残る(d)のタグは32−8−5=19ビットになります。

32ビットアドレスの区分上位19ビットがタグ、次の8ビットがセットのインデックス、下位5ビットがブロック内オフセット。ビット範囲は順に31〜13、12〜5、4〜0。タグセット位置19 bit8 bit5 bit31〜1312〜54〜0
位置はブロック内オフセット、セットはインデックスです。19+8+5=32ビットになります。

III(2) TLBとページ表を順に確認する

ページサイズは4KB=2¹²Bなので、ページ内オフセットは12ビットです。キャッシュのブロック内オフセット5ビットとは別の区切りです。16進数3桁が12ビットに当たるため、(a)の0x00001ABCは次のように分かれます。

page number=0x00001=1,page offset=0xABC.\begin{aligned}\text{page number}&=\mathrm{0x00001}=1,\\\text{page offset}&=\mathrm{0xABC}.\end{aligned}

(b)では、まずTLBに有効な変換情報があるか調べ、なければページ表を参照します。

順番・仮想アドレス判定と理由
(i) 0x00001ABCTLBヒット。ページ1→物理フレーム7の有効な情報があり、物理アドレスは0x00007ABC。
(ii) 0x00000123TLBミス。ページ0はTLBにないが、ページ表では有効1、物理フレーム3。ページフォルトにはならない。
(iii) 0x00005ABC公式解答はページフォルトと判定。ページ5のTLBエントリは有効0。ページ表の掲載範囲については下記の補足を参照。

(i)は、物理フレーム番号7の後ろに元のオフセットABCを付けます。(ii)ではページ表から変換情報を得てTLBを更新できます。変換後の物理アドレスまで求めると0x00003123です。

(iii)には読み取り上の注意があります。問題の図4にあるページ表はページ0〜3の行だけで、ページ5の有効ビットを図から直接読むことはできません。公式解答はページ5についてページフォルトとしていますが、TLBの有効ビット0だけからページフォルトとは判断できません。TLBミス後に参照したページ表でも主記憶に有効なページがない場合に、ページフォルトが発生します。

III(3) ヒットしたときもLRUの順序を更新する

1セットに置けるのは2ブロックです。最初は空で、アクセス順はA、B、A、C、Bです。表の状態は物理的な格納場所ではなく、左が最も古く、右が最後に使ったブロックという順序を表します。

入力結果置換古→新
(i) AミスなしA
(ii) BミスなしA → B
(iii) AヒットなしB → A
(iv) CミスBA → C
(v) BミスAC → B

3回目にAへヒットするため、次に追い出すのはBです。格納した順だけを維持してAを追い出すと、LRUをFIFOと取り違えています。

III(4) AMATとCPIで、足す時間を区別する

TLBヒット率95%からミス率は0.05、キャッシュヒット率97%からミス率は0.03です。TLBとキャッシュのアクセスは各1サイクル、TLBミス時のページ表参照は10サイクル、キャッシュミスのペナルティは100サイクルです。メモリアクセス命令は全体の30%、ミスがないときのCPIは1とされています。

(a)は問題で指定された平均メモリアクセス時間の式に代入します。

AMAT=1+0.05×10+1+0.03×100=5.5 cycles.\begin{aligned}\mathrm{AMAT}&=1+0.05\times10\\&\quad+1+0.03\times100\\&=5.5\ \text{cycles}.\end{aligned}

TLBとキャッシュを調べる基本時間に、それぞれのミス率×追加時間を足しています。1GHzでは1サイクル=1nsなので、この平均は5.5nsです。

(b)の実効CPIは、もともとのCPI=1に、ミスで増える待ち時間を命令全体の平均として加えます。問題の式では、AMAT全体をそのまま0.30倍するのではありません。

CPI=1+0.30(0.05×10+0.03×100)=1+0.30×3.5=2.05.\begin{aligned}\mathrm{CPI}&=1+0.30\bigl(0.05\times10\\&\qquad\qquad+0.03\times100\bigr)\\&=1+0.30\times3.5=2.05.\end{aligned}

(c)のTLBだけがある場合は、キャッシュがないためデータの主記憶アクセスを毎回数えます。キャッシュだけがある場合は、アドレス変換のためのページ表参照を毎回数えます。

CPITLB only=1+0.30(0.05×10+100)=31.15,CPIcache only=1+0.30(10+0.03×100)=4.9.\begin{aligned}\mathrm{CPI}_{\text{TLB only}}&=1+0.30(0.05\times10+100)\\&=31.15,\\\mathrm{CPI}_{\text{cache only}}&=1+0.30(10+0.03\times100)\\&=4.9.\end{aligned}

ここでは公式解答と同じく、(c)でもページ表参照時間を10サイクルとして計算しています。問題の表2ではこの10サイクルにキャッシュ経由という注記があるため、キャッシュを外した実機でも必ず同じ時間になるという一般則にはしないでください。与えられた性能計算のモデルに沿った値です。

III(5) ページフォルト率の百分率を確率へ直す

ページフォルト率0.001%は0.00001です。これはメモリアクセス命令あたりの率なので、(a)のCPI増分には命令全体に占める割合0.30を掛けます。さらにTLBミス率を掛ける必要はありません。

ΔCPI=0.30×0.00001×10,000,000=30.\begin{aligned}\Delta\mathrm{CPI}&=0.30\times0.00001\\&\quad\times10{,}000{,}000\\&=30.\end{aligned}

(b)は(4)(b)の値に、この増分を加えます。

CPI=2.05+30=32.05.\mathrm{CPI}=2.05+30=32.05.

(c)(i)では、TLBヒット率を99%に変えるのでミス率は0.01です。ページフォルトによる増分30は変えません。

CPI=1+0.30(0.01×10+0.03×100)+30=31.93.\begin{aligned}\mathrm{CPI}&=1+0.30(0.01\times10\\&\qquad\qquad+0.03\times100)+30\\&=31.93.\end{aligned}

(c)(ii)では、ページフォルト率0.0001%=0.000001を使います。TLBとキャッシュの条件は元のままなので、(4)(b)の2.05に新しいページフォルト増分3を加えます。

CPI=2.05+0.30×0.000001×10,000,000=2.05+3=5.05.\begin{aligned}\mathrm{CPI}&=2.05+0.30\times0.000001\\&\qquad\times10{,}000{,}000\\&=2.05+3=5.05.\end{aligned}

この条件では、頻度の低いページフォルトでも1回のペナルティが大きいため、CPIへの影響が大きくなります。ヒット率の数字だけを比べず、発生率と1回あたりの時間の積で比較します。

2027年度・問題26の解答解説:情報数学

公式問題PDFの14〜15ページ(印刷11〜12ページ)にある、Z通信路とハミング符号を解説します。I・IIの各5項目について、公式解答PDFの7〜12ページと対応させながら、確率の重み付けや証明の途中を確認します。

I(1) 入力の確率と通信路の遷移確率を掛ける

入力X=0は確率1/2で出力Y=0、残りの確率1/2でY=1になります。入力X=1は必ずY=1になります。入力0が選ばれる確率をq、入力1が選ばれる確率を1−qとします。

入力0だけが確率1/2で反転するZ通信路入力0から出力0へ確率1/2、入力0から出力1へ確率1/2、入力1から出力1へ確率1。入力1から出力0への遷移はない。入力 X出力 Y01011/21/21
矢印の数字は、入力を固定したときの出力の確率です。入力0を選ぶ確率qは、これとは別に与えられています。

Y=0に至るのは、X=0を選び、その0が反転しなかった場合だけです。Y=1には、X=0から反転する場合と、X=1からそのまま出力される場合の2通りがあります。

PY(0)=q⋅12+(1−q)⋅0=q2,PY(1)=q⋅12+(1−q)⋅1=1−q2.\begin{aligned}P_Y(0)&=q\cdot\frac12+(1-q)\cdot0=\frac q2,\\P_Y(1)&=q\cdot\frac12+(1-q)\cdot1\\&=1-\frac q2.\end{aligned}

遷移確率1/2だけを出力分布の答えにせず、入力の分布で重み付けします。2つの出力確率の和は1です。

I(2) 条件付きエントロピーは入力ごとの平均

X=0と分かっていてもYは半々なので、H(Y|X=0)=1ビットです。X=1と分かればY=1に決まるので、H(Y|X=1)=0です。この2つを、入力確率qと1−qで平均します。

H(Y∣X)=q h ⁣(12)+(1−q)h(0)=q⋅1+(1−q)⋅0=q.\begin{aligned}H(Y\mid X)&=q\,h\!\left(\frac12\right)+(1-q)h(0)\\&=q\cdot1+(1-q)\cdot0=q.\end{aligned}

H(Y|X)=1となるのは入力が常に0のq=1の場合です。入力0のときの値と、入力全体で平均した値を区別します。

I(3) 出力のエントロピーから残る不確かさを引く

2元エントロピー関数hを使うと、出力のエントロピーはH(Y)=h(q/2)です。入力が分かった後にも残るH(Y|X)を引けば、相互情報量が求まります。

I(q)=I(X;Y)=H(Y)−H(Y∣X)=h ⁣(q2)−q.\begin{aligned}I(q)=I(X;Y)&=H(Y)-H(Y\mid X)\\&=h\!\left(\frac q2\right)-q.\end{aligned}

ここで使うのは出力Yの分布です。入力Xのエントロピーh(q)からH(Y|X)を引くと、異なる条件付きエントロピーを混ぜた式になります。q=0・1では入力が定数なので、いずれも相互情報量は0です。

I(4) 最大にする入力確率はq=2/5

0<q<1で微分します。h(q/2)の微分には、内側のq/2から生じる係数1/2が付きます。対数の底は2です。

I′(q)=12h′ ⁣(q2)−1=12log⁡2 ⁣2−qq−1.\begin{aligned}I'(q)&=\frac12h'\!\left(\frac q2\right)-1\\&=\frac12\log_2\!\frac{2-q}{q}-1.\end{aligned}

I′(q)=0を解くと、対数の値は2となります。

log⁡2 ⁣2−qq=2,2−qq=4⟹q=25.\begin{aligned}\log_2\!\frac{2-q}{q}&=2,\\\frac{2-q}{q}&=4\quad\Longrightarrow\quad q=\frac25.\end{aligned}

問題ではI(q)が上に凸であることを使えます。さらに0<q<1で2階微分を計算しても、負になります。

I′′(q)=−1(ln⁡2) q(2−q)<0.I''(q)=-\frac{1}{(\ln2)\,q(2-q)}<0.

したがって、この停留点は最大点です。両端q=0・1の値は0であり、内部のq=2/5で最大になります。対称でない通信路なので、入力を半々にするq=1/2が最適とは限りません。

相互情報量はq=2/5で最大になる横軸は入力0の確率q、縦軸は1回あたりの相互情報量。qが0と1のときは0、qが0.4のときに最大値log2(5/4)、約0.322ビットを取る。相互情報量(bit)00.10.20.302/51入力0の確率 q最大値 約0.322
入力を半々にするq=1/2よりも、q=2/5で相互情報量が大きくなります。最大性は本文の微分でも確認できます。

I(5) 通信路容量をhを使わずに表す

q=2/5を代入し、h(1/5)の対数を展開します。設問ではhを残さない形が指定されています。

h ⁣(15)=−15log⁡215−45log⁡245=log⁡25−85,C=h ⁣(15)−25=log⁡25−2=log⁡254.\begin{aligned}h\!\left(\frac15\right)&=-\frac15\log_2\frac15-\frac45\log_2\frac45\\&=\log_2 5-\frac85,\\C&=h\!\left(\frac15\right)-\frac25\\&=\log_2 5-2=\log_2\frac54.\end{aligned}

容量は1回の通信路使用あたり約0.321928ビットです。比較すると、一様入力q=1/2での相互情報量は約0.311278ビットになります。

II(1) 検査行列の階数から符号語数を求める

以下の計算は2元体上で行うため、1+1=0です。問題の検査行列Hは、列を次の順に並べた3行7列の行列です。

H=(100110101010110010111).H=\begin{pmatrix}1&0&0&1&1&0&1\\0&1&0&1&0&1&1\\0&0&1&0&1&1&1\end{pmatrix}.

列数から符号長はn=7です。最初の3列が単位行列なのでHの階数は3で、Hxᵀ=0の解空間の次元は7−3=4です。自由な4ビットの各組に符号語が1つ対応します。

n=7,k=7−rank⁡H=4,M=24=16.\begin{aligned}n&=7,\qquad k=7-\operatorname{rank}H=4,\\M&=2^4=16.\end{aligned}

7ビットの列すべてを数えた2⁷ではなく、3つの独立な検査条件を満たす16個を数えます。

II(2) 1がある位置の列を足して判定する

Hの第j列をHⱼと書きます。Hvᵀは、vの成分が1である位置の列を足したものです。この検査値をシンドロームと呼び、零ベクトルなら符号語です。

ベクトル検査値符号語
v₁=(1,1,0,0,1,1,0)(0,0,0)ᵀはい
v₂=(1,0,1,1,0,0,1)(1,0,0)ᵀいいえ
Hv1T=H1+H2+H5+H6=(1+0+1+00+1+0+10+0+1+1)=(000),Hv2T=H1+H3+H4+H7=(1+0+1+10+0+1+10+1+0+1)=(100).\begin{aligned}Hv_1^{\mathsf T}&=H_1+H_2+H_5+H_6\\&=\begin{pmatrix}1+0+1+0\\0+1+0+1\\0+0+1+1\end{pmatrix}=\begin{pmatrix}0\\0\\0\end{pmatrix},\\Hv_2^{\mathsf T}&=H_1+H_3+H_4+H_7\\&=\begin{pmatrix}1+0+1+1\\0+0+1+1\\0+1+0+1\end{pmatrix}=\begin{pmatrix}1\\0\\0\end{pmatrix}.\end{aligned}

成分の和が2なら0、3なら1となります。Hの列の順序は教材によって異なるため、問題にある行列の順番をそのまま使ってください。

II(3) 最小距離を非零符号語の最小重みに変える

空欄Aはw(c)、空欄Bは零ベクトルです。

dmin⁡=min⁡c∈Cc≠0w(c).d_{\min}=\min_{\substack{c\in C\\c\ne\boldsymbol0}}w(c).

線形符号では、異なる符号語x・yの和c=x+yも符号語で、cは零ではありません。したがって、距離d(x,y)=w(x+y)は非零符号語の重みになります。逆に、非零符号語cは零符号語との距離d(c,0)=w(c)を持つため、2つの最小値は一致します。設問では説明不要ですが、この対応を押さえると後の証明につながります。

II(4) 異なる2列の和は零にならない

重み2のベクトルなら、異なる2か所i・jだけが1です。このベクトルにHを掛けるとHᵢ+Hⱼになります。Hの7列はすべて互いに異なり、2元体ではHᵢ+Hⱼ=0となるのはHᵢ=Hⱼの場合だけです。

c=ei+ej,i≠j,HcT=Hi+Hj≠0.\begin{aligned}c&=e_i+e_j,\qquad i\ne j,\\Hc^{\mathsf T}&=H_i+H_j\ne\boldsymbol0.\end{aligned}

よって、重み2のベクトルは検査条件を満たさず、符号語ではありません。7列とも零でないことから、重み1の符号語も存在しません。

II(5) 重み3の符号語を1つ示して下限と一致させる

重み1・2の非零符号語がないので、II(3)から最小距離は3以上です。3に等しいと示すには、重み3の符号語を実際に1つ挙げます。Hの第4列は第1列と第2列の和なので、次のcを使えます。

c=(1,1,0,1,0,0,0),w(c)=3,HcT=H1+H2+H4=(100)+(010)+(110)=0.\begin{aligned}c&=(1,1,0,1,0,0,0),\\w(c)&=3,\\Hc^{\mathsf T}&=H_1+H_2+H_4\\&=\begin{pmatrix}1\\0\\0\end{pmatrix}+\begin{pmatrix}0\\1\\0\end{pmatrix}+\begin{pmatrix}1\\1\\0\end{pmatrix}=\boldsymbol0.\end{aligned}

cは符号語で、零符号語との距離が3です。したがって最小距離は3以下でもあり、下限と合わせてdₘᵢₙ=3と分かります。重み1・2がないことだけでは3以上までしか示せないため、この具体例が必要です。

2024〜2026年度の6科目を比較する

ソフトウェアだけでなく、数値表現・回路・情報理論と数学まで出題されています。表は院試hubの年度別解答に基づく分類です。テーマが複数年に出ていても、次回の出題や配点を予測するものではありません。

年度出題テーマ準備に使う見方
2026木の走査と探索、正規性と文法、2の補数・組合せ回路・命令処理、エントロピーと相互情報量、集合・グラフ・写像、2変数関数、行列、複素関数、微分方程式、独立集合族、ガンマ・ベータ関数。木の走査・情報量の集計と、変数変換・複素関数の係数計算を分けて復習する。
2025ソート、オートマトン、チューリング機械、数値表現、10進風カウンタ、MIPSとパイプライン、2重マルコフ情報源、論理・集合・代数、関数列、行列、複素関数、微分方程式、内積、方向微分。ソートと計算モデル、ハードウェア、情報理論を横断する。状態表・制御表・定常分布を手で書けるかを見る。
2024巡回路と木、正規言語と文脈自由言語、数値表現、カウンタ、MIPS、通信路、集合・グラフ・代数、2変数関数、行列、複素関数、フーリエ級数、補間、正項級数。TSP近似で三角不等式を使う理由、通信路容量の上界と達成条件、級数の収束条件を説明する。

解答で確かめたい3つの違い

2026年度・ソフトウェア:走査順と探索時間を分ける

木の走査では、先行順・中間順・後行順の違いを「節点を出力する時点」で区別します。中間順なら左部分木、自分、右部分木の順です。再帰をスタックに直す場合も、まだ出力していない祖先を保持することでこの順序を保ちます。

二分探索木の探索時間は木の高さに依存します。平衡な木で対数時間になることと、一直線に退化した木で線形時間になることを分けて説明してください。単に「二分探索だから対数時間」と書くと、条件が抜けます。

2025年度・情報数学:2記号を一つの状態にする

2重マルコフ情報源では、直前2記号の組00・01・10・11を状態として遷移表を作ります。定常分布を求め、末尾の記号が同じ状態の確率を足すと、1記号の周辺分布になります。その後でエントロピーを計算すれば、状態の確率と記号の確率を取り違えずに済みます。

1重マルコフ情報源として表せる条件は別の確認です。直前1記号が同じ状態どうしで、次の記号の分布が一致するかを比較します。定常分布が求まったことだけでは、この条件を満たしたとはいえません。

2026年度・微積線形:停留点と境界上の候補を両方調べる

多変数関数の最大・最小では、偏微分から得た停留点だけで比較を終えないことが大切です。この年度の関数は2x−yを新しい変数にすると式と境界を整理できます。領域の内部と境界を分け、どの候補が元の指定領域に入るかを確認してから値を比べます。

過去問を解いた後の復習先

  • 走査・ソートで止まった場合:アルゴリズムの章で、途中列と最悪計算量を同じ例で確認する。
  • 2の補数や命令処理で止まった場合:計算機アーキテクチャの数値表現・制御信号の章へ戻り、ビット幅と符号拡張を手で表にする。
  • 情報量で止まった場合:情報理論の同時分布・条件付きエントロピーの章へ戻り、確率の総和が1になるか確かめる。
  • 複素関数で止まった場合:ローラン展開・留数の章で、極の位数と負1次の係数を分けて求める。

一律の解答順や時間配分を決める前に、自分の答案で止まった箇所を記録してください。

情報工学系2024〜2026年度・18問の解答・解説PDFと実物見本では、中間式を含めた解説を確認できます。大学公式の問題冊子と併用する形式で、公式問題本文は収録していません。

不合格後の成績開示

2027年度博士前期課程一般選抜の成績開示は、出願時に申し込んだ人が対象です。総合評定の閲覧期間は2026年10月1日〜11月30日で、出願後の個別請求は受け付けません。名工大の成績開示に必要な番号と公式要項を確認してください。

途中式と最終答まで読める解説

問題本文は含みません。公式の問題冊子と併用してください。

情報工学系の収録解説の分野(2024〜2026年度・18項目)

院試hubの収録解説3実施回・18項目の見出しを分野別に数えたものです。設問を分割した項目や、公開資料の制約を説明する項目を含むため、公式問題の大問数や完成答案数とは一致しません。が9項目(全体の50%)で最多。・情報・数学は3実施回すべてに出ています。

分野項目数全項目に占める割合直近の連続出題最後に出た回
950%3回連続2026年度
情報633%3回連続2026年度
数学317%3回連続2026年度

収録年度と解説項目数

院試hubに収録した3実施回の一覧です。どの回も解説見出しは6項目です。

頻出論点と、同じ論点を出す他大学

院試hubが解答した大問の論点を、他大学の出題と突き合わせたものです。併願先を 探すときの重なりの実数として使えます。

論点この専攻での出題出題年度同じ論点を出す他大学全国の出題大学
留数定理3問2026・2025・2024東京大学・北海道大学・名古屋大学・筑波大学・大阪公立大学18大学
正規表現・形式言語3問2026・2025・2024京都大学・東京大学・東京科学大学・東北大学・早稲田大学10大学
固有値・固有ベクトル2問2026・2025神戸大学・京都大学・東京大学・大阪大学・名古屋大学25大学
重積分と極座標2問2026・2024神戸大学・京都大学・大阪大学・名古屋大学・電気通信大学23大学
オートマトン理論2問2026・2025九州工業大学・静岡大学・早稲田大学・東京科学大学・東京大学11大学
情報エントロピー2問2026・2025京都大学・名古屋大学・京都工芸繊維大学・東京大学5大学
フーリエ級数1問2024京都大学・北海道大学・東北大学・東京科学大学・東京大学11大学
ソートアルゴリズム1問2025京都大学・静岡大学・東京科学大学・京都工芸繊維大学・東京大学9大学
ベータ関数・ガンマ関数1問2026東京大学・京都大学・東京都立大学・大阪公立大学・早稲田大学12大学
木構造・二分探索木1問2026京都大学・東京大学・大阪大学・名古屋大学・東京科学大学9大学

名工大 公式の過去問の公開年度と公式解答例

公式の過去問ページ
工学研究科(博士前期課程)
公開されている年度
2025〜2027年度
公式の解答例
一部年度・一部科目のみ公開
英語の扱い
2027年度一般選抜はTOEIC L&RまたはTOEFL iBTを100点満点に換算。TOEIC IP・TOEFL ITPは不可。TOEICは公式認定証原本かデジタル認定証の印刷、TOEFLはETSから出願期間中に直送(コード8549、MyBest不可)。専門300点・面接等と合わせて判定。
院試hubが最後にリンクを確認した日
2026-10-16
ページの内容
生命・応用化学系〜社会工学系の全プログラム専門試験問題を年度別に掲載(応用物理・材料機能・機械工学・情報工学系を含む)。解答例・出題意図は2026・2027年度分をプログラム別PDFで公開、2025年度分は入試課窓口又は郵便で請求(出題意図なし)。情報工学系はネットワーク・知能情報・メディア情報・情報数理の4プログラム共通の1冊。販売PDFには問題本文・公式解答例を転載しない。

よくある質問

名工大情報工学系の過去問と公式解答例は無料で読めますか。

大学公式ページで2025〜2027年度の問題PDFを公開しています。2026・2027年度の解答例・出題意図もWebで読めます。2025年度の解答例は入試課窓口または郵送で請求する案内です。郵送条件は公式ページを確認してください。

院試hubの解答PDFに2027年度は含まれますか。

この情報工学系の解答PDFは2024〜2026年度の3年分・18問が対象です。2027年度は大学公式の問題・解答例と、本記事の問題24〜26の無料解説を案内しています。販売PDFの収録年度には含めていません。

プログラミングだけを対策すればよいですか。

2027年度一般選抜のネットワーク・知能情報・メディア情報は、計算機ソフトウェア・計算機ハードウェア・情報数学の3科目すべてが必答です。情報数理はこの3科目と微分積分・線形代数、数理科学1・2の計6科目から3科目を選びます。プログラミング1科目だけでは受験範囲を満たしません。

2027年度問題24 IIの、長さが素数の言語は正規言語ですか。

この設問では素数が12以下に限られるので、文字列はa²・a³・a⁵・a⁷・a¹¹の5個です。有限言語のため正規言語であり、文脈自由言語でもあります。上限のない素数長の言語と混同しないでください。

問題24 IIの文法G₂は、どのような文字列を生成しますか。

aが1個以上並び、その後にaの個数より多いbが並ぶ文字列です。a^m b^n、1≤m<nと表せます。文脈自由言語ですが正規言語ではありません。本文で両方向の導出、1状態PDA、ポンピング補題による証明、チョムスキー標準形への変換を示しています。

問題25のTLBミスは、必ずページフォルトになりますか。

いいえ。TLBに有効な変換情報がなくても、ページ表から有効な物理フレーム番号が得られればページフォルトにはなりません。III(2)(b)(ii)のページ0がその例です。(iii)は公式解答がページフォルトとする一方、問題のページ表にはページ5の行がないため、本文で読み取れる条件と公式解答の判定を分けています。

ページフォルト率0.001%なのに、CPIが大きく増えるのはなぜですか。

問題25では1回のペナルティが1,000万サイクルです。メモリアクセス命令の割合0.30と、率0.001%を確率へ直した0.00001を掛けると、CPIの増分は30になります。元の2.05と合わせて32.05です。

問題26のZ通信路は、入力を半々にすると相互情報量が最大になりますか。

この通信路では、入力0を選ぶ確率q=2/5で最大になります。出力0の確率がq/2、条件付きエントロピーがqなので、相互情報量はh(q/2)−qです。これを微分するとq=2/5が得られ、通信路容量はlog₂(5/4)、約0.321928ビットとなります。

重み1・2の符号語がなければ、最小距離は3と証明できますか。

それだけでは3以上という下限までです。問題26では、重み3の符号語(1,1,0,1,0,0,0)を示せます。検査行列の第1列+第2列+第4列が零なので検査条件を満たし、最小距離が3以下でもあることから、3に等しいと証明できます。

公式過去問と併用する解答・解説PDFを、名古屋工業大学の研究科・科目別に掲載しています。収録年度と価格は各ページで確認できます。

名古屋工業大学の解答PDF一覧で、名古屋工業大学の研究科・専攻・科目をまとめて確認できます。

院試対策ガイド一覧(大学別)