院試hub

大阪大学 院試 過去問 解答例

阪大 情報科学研究科 情報数理学専攻 専門科目(情報数理学) 2024年度 院試 解答例・解説

大阪大学 情報科学研究科 情報数理学専攻 専門科目(情報数理学) 2024年度の院試 過去問について、設問ごとの解法方針と確認点を解説。全4問収録の解答・解説PDFと併用できます。問題本文は含みません。

最終更新:

設問ごとの解法方針と確認点を公開しています。

続きの途中式・最終答は解答・解説PDFに収録しています。問題本文は含まれません。

1 — 情報基礎

このアルゴリズムが求めている量

配列 dd には全点対の距離の2乗が入る。平方根を取らないのは、距離の大小関係が距離の2乗の大小関係と同じだからである。したがって本問は、全点対距離のうち LL 番目に小さいものを求める処理だと読める。

計算量の見方

点の個数は NN でも、距離の個数は N(N1)/2N(N-1)/2 である。この変数をいったん MM と置くと、バブルソートの比較回数が M(M1)/2M(M-1)/2 になることがすぐ見える。最後に MMNN で表し直すと、全体の支配的な計算量が O(N4)O(N^4) であることも分かる。

改良案で書くべきこと

「よいソートを使う」と書くだけでは不十分である。なぜなら、目的は全体の整列ではなく LL 番目の値だけを得ることだからである。選択アルゴリズムやヒープを使うと、問題の要求に合った形で計算量を落とせる。

2. チェイン法によるハッシュ表

  1. ハッシュ値の計算を定数時間とみなす。NN 個のデータが MM 個のリストへ一様に格納されているので、各リストの平均長は α=NM \alpha=\frac{N}{M} である。この α\alpha はハッシュ表の負荷率である。 格納済みデータ xix_i を探索するときは、まず h(xi)h(x_i) を計算し、対応するリスト L(h(xi))L(h(x_i)) を先頭から調べる。一様性を仮定すれば、調べるリストの長さの期待値は N/MN/M である。したがって、成功探索の平均計算時間は O(1+NM) O\left(1+\frac{N}{M}\right) である。より細かく比較回数で見れば、リスト内で目的の要素の位置が一様であると考えると平均比較回数はおよそ (N/M+1)/2(N/M+1)/2 である。ただし最悪の場合には同じリストに多数の要素が集まり、O(N)O(N) 時間かかる。
  2. MM を大きくすると負荷率 N/MN/M が小さくなり、各リストが短くなる。したがって探索、挿入、削除の平均時間は定数時間に近づき、衝突も少なくなる。 一方で、MM 個のリストの先頭配列を確保する必要があるため、記憶領域と初期化コストが増える。空のリストが多いとメモリ効率が悪く、キャッシュ効率も落ちやすい。したがって、MM は単に大きくすればよいのではなく、許容したい負荷率に合わせて NN と同じオーダーで選ぶのが実用的である。

負荷率で整理する

チェイン法の性能は、ハッシュ関数がどれだけ一様にデータを分散させるかと、負荷率 α=N/M\alpha=N/M によってほぼ決まる。α\alpha が定数に保たれていれば、平均的には各操作を O(1)O(1) と見なせる。

平均と最悪の区別

ハッシュ表の答案では、平均計算時間と最悪計算時間を混同しないことが重要である。一様に分散するという仮定の下では平均 O(1+N/M)O(1+N/M) だが、悪いハッシュ関数や偏った入力では一つのリストに要素が集中し、線形探索と同じ O(N)O(N) になる。

3. 出次数1の有向グラフとコインの移動

頂点集合を VV とし、各頂点 vv から出る唯一の辺の終点を f(v)f(v) と書く。時刻 tt に頂点 ii にあるコイン数は ni(t)=#{vVft(v)=i} n_i(t)=\#\{v\in V\mid f^t(v)=i\} で表せる。

  1. 有限集合上の写像 f:VVf:V\to V を反復すると、各頂点の軌道は必ず最終的に周期軌道、すなわち有向閉路に入る。これは、v,f(v),f2(v),v,f(v),f^2(v),\ldots の列に同じ頂点が再び現れるためである。 各連結成分は、1つ以上の有向閉路と、それらへ流れ込む有向木からなる。各頂点から閉路に入るまでの長さの最大値を TT とし、全閉路の長さの最小公倍数を PP とする。時刻 TT 以降、すべてのコインは閉路上にある。閉路上では PP 回進むと元の頂点に戻るので、すべての頂点 ii とすべての tTt\ge T について ni(t+P)=ni(t) n_i(t+P)=n_i(t) が成り立つ。
  2. まず、頂点 ii を通る有向閉路が存在しないとする。出次数が1なので、ii はどの閉路上にもない。ii に到達し得る頂点は有限個であり、そのような各コインが ii にいる時刻も高々一回である。したがって、十分大きい TT を取れば ni(T)=ni(T+1)==0 n_i(T)=n_i(T+1)=\cdots=0 となる。 逆に、頂点 ii を通る有向閉路が存在するとする。その閉路の長さを qq とすれば、少なくとも ii から出発したコインは時刻 0,q,2q,0,q,2q,\ldots に再び ii に戻る。したがって ni(t)n_i(t) は無限に何度も正になり、ある時刻以降ずっと0になることはない。よって同値性が示された。
  3. (1) の周期性が始まる最小時刻 TT は、閉路に入るまでに必要な最大ステップ数で決まる。これを最大にするには、できるだけ長い有向道を作り、その終点を閉路に入れればよい。 頂点数が NN のとき、最大値は N1N-1 である。これは、N1N-1 本の辺からなる有向道を1つ作り、その終点を自己ループに入れる場合に達成される。すなわち v1v2vN,vNvN v_1\to v_2\to \cdots \to v_N,\qquad v_N\to v_N の形である。このとき v1v_1 のコインが閉路に入るまで N1N-1 ステップかかるので、これより小さい TT では全頂点のコイン数は周期状態にならない。
  4. 周期 PP は有向閉路の長さの最小公倍数である。頂点数が9のとき、閉路長の和が9以下となるように正整数へ分割し、その最小公倍数を最大化すればよい。 代表的な分割を比べると lcm(5,4)=20,lcm(7,2)=14,lcm(4,3,2)=12,lcm(9)=9 \operatorname{lcm}(5,4)=20,\qquad \operatorname{lcm}(7,2)=14,\qquad \operatorname{lcm}(4,3,2)=12,\qquad \operatorname{lcm}(9)=9 であり、最大は 2020 である。したがって、9頂点を長さ5の有向閉路と長さ4の有向閉路に分ける場合に、(1) を満たす最小の PP が最大となる。

出次数1グラフの構造

出次数が各頂点で1の有向グラフは、関数の反復として見るのが最も簡単である。有限集合上の関数を何度も適用すると、必ずどこかで同じ値に戻るため、各軌道は最終的に閉路へ入る。閉路へ流れ込む部分は一方向の木であり、そこではコインは一度通過したら戻ってこない。

周期開始時刻と周期の違い

TT は「全コインが閉路上に乗るまでの待ち時間」であり、PP は「閉路上の配置が元に戻る周期」である。長い枝は TT を大きくするが PP を大きくしない。一方、互いに素に近い長さの複数の閉路は PP を大きくする。この区別が(3)と(4)の違いである。

9頂点での最大周期

周期を大きくするには閉路長の最小公倍数を大きくすればよい。9を分けるとき、5+45+4 は互いに素で積 2020 を与える。7+27+2 も互いに素だが積は 1414 にとどまり、4+3+24+3+2 は和をうまく使っても最小公倍数は 1212 である。

続きの解答(途中式・最終答)はPDFに収録

2 — 数理基礎

レイリー商で見る

実対称正定値行列の問題では、まず固有値で挟むことを考える。xTQx/xTxx^TQx/x^TxQQ の固有値の重み付き平均であり、必ず最小固有値と最大固有値の間に入る。Q1Q^{-1} についても同じことを行うと、逆行列を含む式も同じ枠組みで扱える。

直線探索の意味

(2) は勾配方向 g(k)-g^{(k)} に沿って ff を1変数関数に落とすだけである。二次関数なので、その1変数関数も二次関数になり、微分して0とおけば厳密に最小化する αk\alpha_k が得られる。分母が正であることは QQ の正定値性から必ず確認する。

収束量の書き換え

ZZ は最小点からの距離を QQ の二次形式で測った量である。g=Q(xx)g=Q(x-x^*) と置き換えると、ZZgTQ1g/2g^TQ^{-1}g/2 になる。この形にしておくと、更新後の減少量を ZZ で割るだけで γk\gamma_k が現れる。

2. 単純な線形計画問題

目的関数の係数を c1,,cnc_1,\ldots,c_n とし cmin=min1inci c_{\min}=\min_{1\le i\le n} c_i とおく。

  1. 最適解が存在するための必要十分条件は ci0(i=1,,n) c_i\ge 0\qquad (i=1,\ldots,n) である。 まず、ある jj について cj<0c_j<0 ならば、xj=tx_j=t, 他の成分を 00 として tt\to\infty とすれば制約を満たしたまま目的関数値は cjtc_jt\to-\infty となる。したがって目的関数は下に有界でなく、最適解は存在しない。 逆にすべての cic_i が非負ならば、任意の実行可能解に対して目的関数値は 00 以上である。また cminc_{\min} を達成する添字 jj を1つ選び、xj=1x_j=1, 他の成分を 00 とすれば実行可能で、目的関数値は cminc_{\min} である。よって最適解は存在する。
  2. すべての cic_i が非負であるとする。このとき最適値は cmin c_{\min} である。 cmin>0c_{\min}>0 の場合、実行可能解 xx について i=1ncixicmini=1nxicmin \sum_{i=1}^n c_ix_i \ge c_{\min}\sum_{i=1}^n x_i \ge c_{\min} である。等号が成り立つのは、ixi=1\sum_i x_i=1 であり、かつ ci>cminc_i>c_{\min} となる成分には xi=0x_i=0 が成り立つ場合である。したがって最適解全体は {xRn|xi0, ixi=1, xi=0 if ci>cmin} \left\{ x\in \mathbb{R}^n \,\middle|\, x_i\ge 0,\ \sum_i x_i=1,\ x_i=0\ \text{if }c_i>c_{\min} \right\} である。 cmin=0c_{\min}=0 の場合、目的関数値は常に 00 以上であり、ci=0c_i=0 の成分だけで制約を満たせば値 00 を達成する。したがって最適解全体は {xRn|xi0, ixi1, xi=0 if ci>0} \left\{ x\in \mathbb{R}^n \,\middle|\, x_i\ge 0,\ \sum_i x_i\ge 1,\ x_i=0\ \text{if }c_i>0 \right\} である。

非有界性を先に見る

線形計画では、実行可能領域が空でないことと最適解が存在することは別である。この問題の実行可能領域は常に空でないが、負の係数が1つでもあると、その変数を大きくするだけで目的関数値をいくらでも下げられる。

係数が非負のときの幾何

制約は非負直交錐の中で ixi1\sum_i x_i\ge 1 という半空間を選んでいる。係数がすべて非負なら、余計に総和を大きくしても目的関数は下がらない。したがって、正の最小係数を持つ場合は ixi=1\sum_i x_i=1 の面上で最小係数の方向だけを使うのが最適である。最小係数が0の場合だけ、0係数方向にどれだけ伸ばしても最適値は変わらない。

3. 対称分布のモーメントと無相関化

U=XμU=X-\mu, V=YμV=Y-\mu とおく。X,YX,Y は平均のまわりに対称な分布に従うので、必要な3次モーメントが存在する範囲で E(U)=0,E(U2)=σ2,E(U3)=0 E(U)=0,\qquad E(U^2)=\sigma^2,\qquad E(U^3)=0 である。また相関係数が ρ\rho で分散がともに σ2\sigma^2 だから Cov(X,Y)=E(UV)=ρσ2 \operatorname{Cov}(X,Y)=E(UV)=\rho\sigma^2 である。

  1. E(X2)=Var(X)+{E(X)}2=σ2+μ2. E(X^2)=\operatorname{Var}(X)+\{E(X)\}^2 =\sigma^2+\mu^2.
  2. X=μ+UX=\mu+U と書くと E(X3)=E{(μ+U)3}=μ3+3μ2E(U)+3μE(U2)+E(U3)=μ3+3μσ2. \begin{aligned} E(X^3) &=E\{(\mu+U)^3\}\\ &=\mu^3+3\mu^2E(U)+3\mu E(U^2)+E(U^3)\\ &=\mu^3+3\mu\sigma^2. \end{aligned}
  3. XXX2+aYX^2+aY が無相関である条件は Cov(X,X2+aY)=0 \operatorname{Cov}(X,X^2+aY)=0 である。ここで Cov(X,X2)=E(X3)E(X)E(X2)=(μ3+3μσ2)μ(μ2+σ2)=2μσ2 \begin{aligned} \operatorname{Cov}(X,X^2) &=E(X^3)-E(X)E(X^2)\\ &=(\mu^3+3\mu\sigma^2)-\mu(\mu^2+\sigma^2)\\ &=2\mu\sigma^2 \end{aligned} であり、 Cov(X,Y)=ρσ2 \operatorname{Cov}(X,Y)=\rho\sigma^2 である。したがって 2μσ2+aρσ2=0 2\mu\sigma^2+a\rho\sigma^2=0 となればよい。ρ0\rho\ne 0 より a=2μρ a=-\frac{2\mu}{\rho} である。

対称性で消える項

平均のまわりに対称という条件は、中心化した変数 U=XμU=X-\mu の奇数次モーメントが0になることを意味する。ここでは特に E(U3)=0E(U^3)=0 が効いている。正規分布とは限らないため、正規分布特有の性質を使う必要はない。

無相関条件は共分散で処理する

「無相関」は独立より弱く、共分散が0という条件だけを使えばよい。したがって Cov(X,X2+aY)=Cov(X,X2)+aCov(X,Y) \operatorname{Cov}(X,X^2+aY) =\operatorname{Cov}(X,X^2)+a\operatorname{Cov}(X,Y) と線形性で分解するのが最短である。相関係数 ρ\rho が0でないという仮定は、最後に aa を一意に決めるために必要である。

続きの解答(途中式・最終答)はPDFに収録

3 — 数学解析

使う定理を最短で選ぶ

この設問は最大値原理や開写像定理でも示せるが、複素平面全体で正則という条件があるため、Liouville の定理を使うのが最も短い。答案では「整関数」「有界」「Liouville」の三点を明記すれば十分である。

零関数の場合を分ける

f|f| が定数という条件だけを見ると M>0M>0 を暗黙に仮定しがちである。M=0M=0 の場合は f0f\equiv 0 で直ちに定数なので、最初に一行で処理しておくと論理の抜けがなくなる。

2. 複素積分と Fourier 変換

関数 g(z)=2e2πiuzeπz+eπz g(z)=\frac{2e^{-2\pi iuz}}{e^{\pi z}+e^{-\pi z}} を考える。分母の零点は e2πz=1 e^{2\pi z}=-1 で与えられるから、積分路の内部にある極は z=i2,z=3i2 z=\frac{i}{2},\qquad z=\frac{3i}{2} である。どちらも単純極であり、 (eπz+eπz)=π(eπzeπz) \left(e^{\pi z}+e^{-\pi z}\right)' =\pi\left(e^{\pi z}-e^{-\pi z}\right) を用いると Resz=i/2g(z)=eπuπi,Resz=3i/2g(z)=e3πuπi \operatorname*{Res}_{z=i/2}g(z)=\frac{e^{\pi u}}{\pi i}, \qquad \operatorname*{Res}_{z=3i/2}g(z)=-\frac{e^{3\pi u}}{\pi i} となる。したがって留数定理より ICR=2πi(eπuπie3πuπi)=2eπu(1e2πu). I_{C_R} = 2\pi i\left( \frac{e^{\pi u}}{\pi i} -\frac{e^{3\pi u}}{\pi i} \right) = 2e^{\pi u}\left(1-e^{2\pi u}\right).

次に RR\to\infty とする。左右の縦辺の積分は分母の指数増大により 00 に収束する。また g(z+2i)=e4πug(z)g(z+2i)=e^{4\pi u}g(z) であるから、上辺の向きを考慮すると ICR(1e4πu)g(x)dx. I_{C_R} \longrightarrow \left(1-e^{4\pi u}\right) \int_{-\infty}^{\infty}g(x)\,dx . u0u\ne 0 では g(x)dx=2eπu(1e2πu)1e4πu=2eπu+eπu. \int_{-\infty}^{\infty}g(x)\,dx = \frac{2e^{\pi u}(1-e^{2\pi u})}{1-e^{4\pi u}} = \frac{2}{e^{\pi u}+e^{-\pi u}}. 両辺は uu について連続なので、u=0u=0 でも同じ式が成り立つ。

最後に h(x)=2eπ/2x+eπ/2x h(x)=\frac{2}{e^{\sqrt{\pi/2}\,x}+e^{-\sqrt{\pi/2}\,x}} とおく。t=2πxt=\sqrt{2\pi}\,x と変数変換すると h^(w)=12πh(t)eiwtdt=2eiw2πxeπx+eπxdx. \begin{aligned} \widehat{h}(w) &= \frac{1}{\sqrt{2\pi}} \int_{-\infty}^{\infty} h(t)e^{-iwt}\,dt \\ &= \int_{-\infty}^{\infty} \frac{2e^{-iw\sqrt{2\pi}x}} {e^{\pi x}+e^{-\pi x}}\,dx . \end{aligned} ここで u=w/2πu=w/\sqrt{2\pi} とおけば、直前の積分公式から h^(w)=2eπw/2π+eπw/2π=2eπ/2w+eπ/2w=h(w) \widehat{h}(w) = \frac{2}{e^{\pi w/\sqrt{2\pi}}+e^{-\pi w/\sqrt{2\pi}}} = \frac{2}{e^{\sqrt{\pi/2}\,w}+e^{-\sqrt{\pi/2}\,w}} = h(w) を得る。

長方形の高さが 2 である理由

分母の零点は虚軸方向に周期 ii で並ぶ。高さ 22 の長方形を使うと、内部に二つの極が入り、さらに g(z+2i)=e4πug(z)g(z+2i)=e^{4\pi u}g(z) という上辺と下辺の関係が得られる。この周期性と留数の二つを組み合わせるのが本問の核心である。

上辺の向きに注意する

下辺は R-R から RR へ進むが、上辺は R+2iR+2i から R+2i-R+2i へ進む。したがって上辺は e4πuRRg(x)dx -e^{4\pi u}\int_{-R}^{R}g(x)\,dx となる。ここで符号を落とすと、最終的な双曲線関数型の答えが逆符号になってしまう。

Fourier 変換の規格化を合わせる

前半の公式は指数が e2πiuxe^{-2\pi iux} の規格化である。一方、後半の Fourier 変換は eiwt/2πe^{-iwt}/\sqrt{2\pi} の規格化で与えられている。t=2πxt=\sqrt{2\pi}x と置くことで二つの規格化が正確に対応し、u=w/2πu=w/\sqrt{2\pi} が現れる。

3. 微分方程式

微分作用素 D=d/dtD=d/dt を用いると pqD2+(p+q)D+1=(pD+1)(qD+1) pqD^{2}+(p+q)D+1=(pD+1)(qD+1) である。特に同次方程式の解は、pqp\ne q なら C1et/p+C2et/q C_{1}e^{-t/p}+C_{2}e^{-t/q} である。

pq=1pq=1 かつ w(t)=1etw(t)=1-e^{-t} の場合を解く。まず定数外力 11 に対する特解は x=1x=1 である。pqp\ne q、すなわち p+q2p+q\ne 2 のときは、et-e^{-t} に対して AetAe^{-t} とおくと A{pq(p+q)+1}et=A(2pq)et A\{pq-(p+q)+1\}e^{-t} = A(2-p-q)e^{-t} であるから A=1p+q2 A=\frac{1}{p+q-2} となる。したがって x(t)=1+etp+q2+C1et/p+C2et/q(pq=1, pq) x(t) = 1+\frac{e^{-t}}{p+q-2} +C_{1}e^{-t/p}+C_{2}e^{-t/q} \qquad(pq=1,\ p\ne q) である。

p=q=1p=q=1 のときは (D+1)2x=1et (D+1)^{2}x=1-e^{-t} であり、et-e^{-t} は二重根に対応する共鳴項である。At2etAt^{2}e^{-t} とおくと (D+1)2(At2et)=2Aet (D+1)^{2}\left(At^{2}e^{-t}\right)=2Ae^{-t} なので A=1/2A=-1/2 である。従って x(t)=1+(C1+C2t)et12t2et(p=q=1) x(t)=1+(C_{1}+C_{2}t)e^{-t}-\frac12 t^{2}e^{-t} \qquad(p=q=1) となる。

次に y=pdxdt+x y=p\frac{dx}{dt}+x とおくと qdydt+y=q(pd2xdt2+dxdt)+pdxdt+x=pqd2xdt2+(p+q)dxdt+x. q\frac{dy}{dt}+y = q\left(p\frac{d^{2}x}{dt^{2}}+\frac{dx}{dt}\right) +p\frac{dx}{dt}+x = pq\frac{d^{2}x}{dt^{2}}+(p+q)\frac{dx}{dt}+x . したがって yy が満たす微分方程式は qdydt+y=w(t) q\frac{dy}{dt}+y=w(t) である。

最後に limtw(t)=W\lim_{t\to\infty}w(t)=W が存在するとする。一次方程式の解表示から y(t)=et/qy(0)+1q0te(ts)/qw(s)ds y(t)=e^{-t/q}y(0)+\frac1q\int_{0}^{t}e^{-(t-s)/q}w(s)\,ds である。指数核の全質量は 11 で、過去の有限区間の寄与は tt\to\infty で消えるため limty(t)=W \lim_{t\to\infty}y(t)=W が成り立つ。さらに pdxdt+x=y(t) p\frac{dx}{dt}+x=y(t) について同じ解表示を使うと x(t)=et/px(0)+1p0te(ts)/py(s)ds x(t)=e^{-t/p}x(0)+\frac1p\int_{0}^{t}e^{-(t-s)/p}y(s)\,ds であり、y(t)Wy(t)\to W から limtx(t)=W \lim_{t\to\infty}x(t)=W を得る。よって limtw(t)\lim_{t\to\infty}w(t) が存在すれば limtx(t)\lim_{t\to\infty}x(t) も存在する。

二階方程式を二つの一次方程式に分解する

係数が pq, p+q, 1pq,\ p+q,\ 1 という形をしているので、作用素を (pD+1)(qD+1)(pD+1)(qD+1) に分解できる。この構造に気づくと、(2) と (3) はほとんど一次方程式の議論だけで済む。

共鳴の場合を落とさない

pq=1pq=1 のもとでは p+q2p+q\ge 2 であり、等号は p=q=1p=q=1 のときだけである。p+q2p+q-2 で割る特解はこの等号の場合に使えない。入試答案では、p=q=1p=q=1 の共鳴ケースを別に書くことで満点答案に近づく。

極限の証明は安定な一次系として見る

qy+y=wq y'+y=w は時定数 qq の安定な一次系である。入力 w(t)w(t) が一定値 WW に近づくと、指数核で平均された出力 y(t)y(t)WW に近づく。同じことを px+x=yp x'+x=y にもう一度適用すれば、二階方程式の解 x(t)x(t) の収束性が自然に従う。

続きの解答(途中式・最終答)はPDFに収録

4 — 情報物理

球殻内部の誘電体に電界は立たない

一様に帯電した薄い球殻では、内側の Gaussian surface が自由電荷を包まない。誘電体があっても D=0\bm{D}=0 であり、線形誘電体なら E=0\bm{E}=0 である。したがって内部をくり抜いても外部電位は変わらず、静電容量も孤立導体球と同じになる。

sinc 型スペクトルの幅の読み方

矩形時間窓を掛けた単色波の Fourier 変換は sinc 型になる。時間窓が長いほど sinc の主ピークは狭く、時間窓が短いほど広がる。第一零点までの幅を使うと Δω2π/τ\Delta\omega\simeq2\pi/\tau であり、これは可干渉時間との積がほぼ 2π2\pi になるという見積もりである。

格子の平行移動は位相だけを変える

物体全体を平行移動すると、Fourier 変換には線形位相因子が掛かる。強度は絶対値二乗なので、単独で観測する回折パターンは動かない。この点は「スリットの位置が変わったから縞も横にずれる」と考えやすいが、遠方の角度分布では位相変化として現れる。

短パルスでは波長依存性を避けられない

単色光では一つの波長に対して明線角が決まる。短パルスでは多くの波長を同時に含むため、同じ次数でも波長ごとに角度が変わる。これは格子分光器の原理そのものであり、パルスを入れると空間的なスペクトル分解と時間的な波束の広がりが同時に問題になる。

続きの解答(途中式・最終答)はPDFに収録

大阪大学 専門科目(情報数理学) — 他の年度