跳到主要内容

東京大学 情報理工学研究科 数理情報学 2022年8月実施 第2問

Author

hari64boli64

Description

nn 次元実ベクトル空間 Rn\mathbb{R}^n のベクトル uu の第 ii 成分を uiu_i と表す。 すべての i=1,,ni = 1, \ldots, n に対して ui>0u_i > 0 である uRnu \in \mathbb{R}^n を正値であるといい。正値ベクトル全体の集合を Xn\mathcal{X}_n で表す。 また、ベクトル aRna \in \mathbb{R}^n に対し、(i,i)(i, i) 成分が ai (i=1,,n)a_i \ (i = 1, \ldots, n) であるような対角行列を diag(a1,,an)\text{diag}(a_1, \ldots, a_n) で表す。 行列 MM の転置を MTM^T で表す。

正則な n×nn \times n 実行列 A=(aij)A = (a_{ij}), ベクトル vRnv \in \mathbb{R}^n に対し、xXnx \in \mathcal{X}_n の関数 Fi(x)F_i(x)

Fi(x)=xi(vi+j=1naijxj)(i=1,,n)F_i(x)=x_i \left(v_i+\sum_{j=1}^{n}a_{ij}x_j \right) \quad (i = 1, \ldots, n)

と定める。ここで、Fi(x)=0 (i=1,,n)F_i(x^*) = 0 \ (i = 1, \ldots, n) を満たす xXnx^* \in \mathcal{X}_n が存在するとする。 そして、x(t)Xnx(t) \in \mathcal{X}_n についての微分方程式系

dxi(t)dt=Fi(x(t))(t0, i=1,,n)\begin{align} \frac{\text{d}x_i(t)}{\text{d}t} = F_i(x(t)) \quad (t \geq 0, \ i = 1, \ldots, n) \tag{*} \end{align}

を考える。以下の設問に答えよ。

(1) ベクトル cXnc \in \mathcal{X}_n に対し、xXnx \in \mathcal{X}_n の関数 L(x)L(x)

L(x)=i=1nci[xilogxixixi+xi]L(x) = \sum_{i=1}^n c_i \left[ x_i^* \log \frac{x_i^*}{x_i} - x_i^* + x_i \right]

とする。 x(0)=xXnx(0) = x' \in \mathcal{X}_n を初期値とする方程式 (*) の解 x(t)x(t) に対し、L˙(x)\dot{L}(x')L˙(x)=dL(x(t))dtt=0\dot{L}(x') = \left. \frac{\text{d}L(x(t))}{\text{d}t} \right|_{t=0} と定める。 また、行列 CCC=diag(c1,,cn)C = \text{diag}(c_1, \ldots, c_n) と定める。対称行列 CA+ATCCA + A^T C が負定値となるとき、かつそのときに限り、任意の xXn{x}x' \in \mathcal{X}_n \setminus \{ x^* \} に対して L˙(x)<0\dot{L}(x') < 0 となることを示せ。

(2) ベクトル wXnw \in \mathcal{X}_n に対し、zRnz \in \mathbb{R}^n の関数 Hw(z)H_w(z)

Hw(z)=12i=1nwizi2H_w(z) = \frac{1}{2} \sum_{i=1}^n w_i z_i^2

とし、Hw(z)H_w(z)zz における勾配を Hw(z)=(Hwz1(z),,Hwzn(z))T\nabla H_w(z) = \left( \frac{\partial H_w}{\partial z_1}(z), \ldots, \frac{\partial H_w}{\partial z_n}(z) \right)^T と表す。 方程式 (*) の解 x(t)x(t) に対して、z(t)=x(t)xz(t) = x(t) - x^*

dz(t)dt=G(z(t))Hw(z(t))\frac{\text{d}z(t)}{\text{d}t} = G(z(t)) \nabla H_w(z(t))

を満たすような行列関数 G(z)G(z) を求めよ。 ただし、関数 G(z)G(z) は、A,W=diag(w1,,wn),X=diag(x1,,xn),Z=diag(z1,,zn)A, W = \text{diag}(w_1, \ldots, w_n), X^* = \text{diag}(x_1^*, \ldots, x_n^*), Z = \text{diag}(z_1, \ldots, z_n) を用いて表すこと。

(3) 対角行列 C=diag(c1,,cn)C = \text{diag}(c_1, \ldots, c_n) に対し、対称行列 CA+ATCCA + A^T C が負定値となる cXnc \in \mathcal{X}_n が存在するとする。 このとき、次のことが成り立つようなベクトル wXnw \in \mathcal{X}_n を一つ求めよ。

z(t)U{0}z(t) \in U \setminus \{0\} ならば dHw(z(t))dt<0\frac{\text{d}H_w(z(t))}{\text{d}t} < 0 となる、0Rn0 \in \mathbb{R}^n の開近傍 URnU \subset \mathbb{R}^n が存在する。」

Kai

(1)

まず、Fi(x)=0F_i(x^*)=0 という条件より、 また、xXnx^* \in \mathcal{X}_n より、xi0x^*_i \neq 0 であることより、 vi=j=1naijxjv_i=-\sum_{j=1}^{n}{a_{ij}x^*_j} である。

条件を整理していくと、

L(x)˙=dL(x(t))dtt=0=i=1nci(xixi+1)dxidtt=0=i=1nci(xixi+1)Fi(x)=i=1nci(xixi+1)xi(vi+j=1naijxj)=i=1nci(xi+xi)(vi+j=1naijxj)=i=1ncixivii=1ncixi(j=1naijxj)+i=1ncixivi+i=1ncixi(j=1naijxj)=i=1nj=1ncixiaijxji=1nj=1ncixiaijxji=1nj=1ncixiaijxj+i=1nj=1ncixiaijxj=xTCAxxTCAxxTCAx+xTCAx=(xx)TCA(xx)\begin{aligned} \dot{L(x')} & =\left.\frac{\text{d}L(x(t))}{\text{d}t}\right|_{t=0} \\ & =\sum_{i=1}^{n}{c_i \left(-\frac{x_i^*}{x'_i}+1 \right)\left.\frac{\text{d}x_i}{\text{d}t}\right|_{t=0}} \\ & =\sum_{i=1}^{n}{c_i \left(-\frac{x_i^*}{x'_i}+1 \right)F_i(x')} \\ & =\sum_{i=1}^{n}{c_i \left(-\frac{x_i^*}{x'_i}+1 \right)x'_i \left(v_i+\sum_{j=1}^{n}a_{ij}x'_j \right)} \\ & =\sum_{i=1}^{n}{c_i \left(-x_i^*+x'_i \right) \left(v_i+\sum_{j=1}^{n}a_{ij}x'_j \right)} \\ & =-\sum_{i=1}^{n}{c_ix_i^*v_i}-\sum_{i=1}^{n}{c_ix_i^* \left(\sum_{j=1}^{n}a_{ij}x'_j \right)} +\sum_{i=1}^{n}{c_ix'_iv_i}+\sum_{i=1}^{n}{c_ix'_i \left(\sum_{j=1}^{n}a_{ij}x'_j \right)} \\ & =\sum_{i=1}^{n}\sum_{j=1}^{n}{c_ix_i^*a_{ij}x^*_j}-\sum_{i=1}^{n}\sum_{j=1}^{n}{c_ix_i^*a_{ij}x'_j} -\sum_{i=1}^{n}\sum_{j=1}^{n}{c_ix'_ia_{ij}x^*_j}+\sum_{i=1}^{n}\sum_{j=1}^{n}{c_ix'_ia_{ij}x'_j} \\ & ={x^*}^TCAx^*-{x^*}^TCAx'-{x'}^TCAx^*+{x'}^TCAx' \\ & =(x^*-x')^TCA(x^*-x') \end{aligned}

となる。

よって、

(xXn{x})L(x)˙<0(xXn{x})(xx)TCA(xx)<0(xXn{x})((xx)TCA(xx)<0)((xx)TATC(xx)<0)(yRn)yT(CA+ATC)y<0CA+ATC0\begin{aligned} & (\forall x'\in \mathcal{X}_n\setminus \{x^*\}) \dot{L(x')} < 0 \\ \Leftrightarrow & (\forall x'\in \mathcal{X}_n\setminus \{x^*\})(x^*-x')^TCA(x^*-x')<0 \\ \Leftrightarrow & (\forall x'\in \mathcal{X}_n\setminus \{x^*\}) \left((x^*-x')^TCA(x^*-x')< 0 \right) \wedge \left((x^*-x')^TA^TC(x^*-x')< 0 \right) \\ \Leftrightarrow & (\forall y \in \mathbb{R}^n) y^T(CA+A^TC)y< 0 \\ \Leftrightarrow & CA+A^TC \prec 0 \end{aligned}

となる。 なお、xxx^*-x' から yy への変換には注意が必要である。 全ての yRny\in \mathbb{R}^n に対して、 xx=yx^*-x'=y を満たす xXn{x}x'\in \mathcal{X}_n\setminus \{x^*\} が存在するとは限らない。 ここでは長さに関する定数倍の変換が挟まっている。

(2)

まず、Hw(z)=(w1z1,,wnzn)T\nabla H_w(z)= (w_1z_1,\dots,w_nz_n)^T である。

ここで、

dzi(t)dt=dxi(t)dt=Fi(x(t))=xi(t)(vi+j=1naijxj(t))=(xi(t)xi+xi)(j=1naij(xj(t)xj))=(zi(t)+xi)(j=1naijzj(t))\begin{aligned} \frac{\text{d}z_i(t)}{\text{d}t} & =\frac{\text{d}x_i(t)}{\text{d}t} \\ & =F_i(x(t)) \\ & =x_i(t)\left(v_i+\sum_{j=1}^{n}a_{ij}x_j(t) \right) \\ & =(x_i(t)-x^*_i+x^*_i)\left(\sum_{j=1}^{n}a_{ij}(x_j(t)-x^*_j) \right) \\ & =(z_i(t)+x^*_i)\left(\sum_{j=1}^{n}a_{ij}z_j(t) \right) \end{aligned}

となるので、

dz(t)dt=(Z+X)Az(t)=(Z+X)AW1Wz(t)=(Z+X)AW1Hw(z(t))\begin{aligned} \frac{\text{d}z(t)}{\text{d}t} & =(Z+X^*) A z(t) \\ & =(Z+X^*) A W^{-1} W z(t) \\ & =(Z+X^*) A W^{-1} \nabla H_w(z(t)) \end{aligned}

となる。

(3)

条件をより平易な表現で言い表すと、limz(t)0\lim_{z(t) \to 0} において、 dHw(z(t))dt<0\frac{\text{d}H_w(z(t))}{\text{d}t}<0 を満たすような ww を、cc を用いて表現せよ、 ということになる。

このことを念頭に置いて式変形していくと、

dHw(z(t))dt=i=1nwizi(t)dzi(t)dt=Hw(z(t))TG(z(t))Hw(z(t))=Hw(z(t))T((Z+X)AW1)Hw(z(t))\begin{aligned} \frac{\text{d}H_w(z(t))}{\text{d}t} & =\sum_{i=1}^{n}{w_iz_i(t)\frac{\text{d}z_i(t)}{\text{d}t}} \\ & =\nabla H_w(z(t))^TG(z(t))\nabla H_w(z(t)) \\ & =\nabla H_w(z(t))^T\left((Z+X^*)AW^{-1}\right)\nabla H_w(z(t)) \end{aligned}

となり、

dHw(z(t))dt<0Hw(z(t))T((Z+X)AW1)Hw(z(t))<0Hw(z(t))T((Z+X)C1(CA+ATC)W1)Hw(z(t))<0\begin{aligned} & \frac{\text{d}H_w(z(t))}{\text{d}t}<0 \\ \Leftrightarrow & \nabla H_w(z(t))^T\left((Z+X^*)AW^{-1}\right)\nabla H_w(z(t))<0 \\ \Leftrightarrow & \nabla H_w(z(t))^T\left((Z+X^*)C^{-1}(CA+A^TC)W^{-1}\right)\nabla H_w(z(t))<0 \end{aligned}

となる。 なお、最後の変形で、W,X,ZW,X^*,Z が対角行列であることを用いた。

以上より、(Z+X)C1(CA+ATC)W1(Z+X^*)C^{-1}(CA+A^TC)W^{-1}CA+ATCCA+A^TC に関する 二次形式の形で記述出来る時、これはその負定値性より負になる。

これは、

W1T=(Z+X)C1W=(Z+X)1C\begin{aligned} & {W^{-1}}^T=(Z+X^*)C^{-1} \\ \Leftrightarrow & W=(Z+X^*)^{-1}C \end{aligned}

を意味し、Z0Z \to 0 を考慮すると、W=XCW=X^*C を満たすような ww であれば、 題意を満たすことが分かる。