【コラム】恋愛微分方程式

URLをコピーする
URLをコピーしました!
zuka

こんにちは。
zuka(@beginaid)です。

この記事はコラムシリーズの1つになります。今回は大学の講義で恋愛微分方程式について学んだので,そちらの概要をメモ程度に記している内容になります。コラム記事のまとめは以下のページからご覧ください。

目次

恋愛微分方程式とは

以下の論文に基づきます。

[1] Strogatz, Steven H. “Love affairs and differential equations.” Mathematics Magazine 61.1 (1988): 35-35.

世の中の営みを数学によってモデル化して問題解決を行おうとすることは,学問の意義を裏付けるという意味でも非常に重要なことです。例えば,最近では機械学習を用いて工場の異常検知やデータ分析などを行おうとする研究も盛んに行われています。このように「提起された問題に対する適切なモデル化とその解法」というのは,数学の応用先として様々なな示唆を含んでいます。

対象の問題の1つとして,恋愛を考えてみようというのが恋愛微分方程式です。名前の通り,用いる手法としては,機械学習ではなく微分方程式を利用してモデル化を行なっていきます。

定式化

恋愛微分方程式では,以下の微分方程式を解きます。

\begin{align}
\frac{dx}{dt} = a_1x + a_2y, \quad& \frac{dy}{dt} = b_1x + b_2y \\
x(0) = x_0, \quad& y(0) = y_0
\end{align}

ここで,各変数について定義とパラメータ設定を確認します。$x$,$y$はそれぞれ自分の気持ち,相手の気持ちを表します。ここで,必ずしも異性間で恋愛を行う訳ではないため,$x$と$y$に関して自分と相手という定義を採用していることにしましょう。参考元[1]では,ロミオとジュリエットを題材にして定式化を行なっていますが,今回はより汎用性を持たせるために自分と相手という設定にしています。

$a_1, b2 > 0$の場合は時間の経過とともに自分自身の気持ちが高ぶるために,恋愛にのめり込んでいくタイプであり,逆に$a_1, b2 < 0$の場合は時間の経過とともに気持ちの変動を抑えようとするために,俯瞰して中立の立場に立とうとするタイプであることが分かります。一方で,$a_2, b_1 > 0$の場合は時間の経過とともに相手の気持ちと同じ方向に気持ちが揺れるため素直なタイプ,$a_2, b_1 < 0$の場合は時間の経過とともに相手の気持ちと反対の方向に気持ちが揺れるため天邪鬼なタイプです。

パラメータ設定

先ほどの考察を元に,パラメータ設定を行なっていきます。上記の通り,係数$a_1, a_2, b_1, b_2$の設定により,恋愛のタイプは以下の4タイプに分類されます。

  • 恋愛にのめり込む素直タイプ ($a_1>0 \land a_2>0$)
  • 恋愛にのめり込む天邪鬼タイプ ($a_1>0 \land a_2<0$)
  • 中立の立場で俯瞰する素直タイプ ($a_1<0 \land a_2>0$)
  • 中立の立場で俯瞰する天邪鬼タイプ ($a_1<0 \land a_2<0$)

文献[1]では,「恋愛にのめり込む素直タイプ」を”eager beaver”と表現しています。

例えば,あなたを「中立の立場で俯瞰する天邪鬼タイプ」としましょう。このとき,$a_1 < 0 \land a_2 < 0$となります。また,あなたが自分自身の気持ちよりも相手の気持ちに優先されやすいタイプだとすると,$|a_1| < |a_2|$となります。相手のパラメータに関しては未知であることが多いため,ここでは$|b_1|=|b_2|$かつ$b_1\cdot b_2 > 0$として設定しましょう。

以上の条件を満たすように係数を適当に定めると,以下のようになります。

\begin{align}
a_1=-1, \quad a_2=-2, \quad b_1=-1, \quad b_2=-1
\end{align}

ここでは,相手側も「中立の立場で俯瞰する天邪鬼タイプ」に設定されました。さて,先ほどの微分方程式を行列形式で書き直します。

\begin{align}
\frac{d}{dt}
\begin{bmatrix}
x \\
y \\
\end{bmatrix}
\begin{bmatrix}
-1 & -2 \\
-1 & -1 \\
\end{bmatrix}
\begin{bmatrix}
x \\
y \\
\end{bmatrix}
= A \begin{bmatrix}
x \\
y \\
\end{bmatrix}
\end{align}

以下では,この微分方程式を解いていきます。

解法

行列の対角化を用いることで,この微分方程式は見通しよく解けます。固有値問題を解くことで,以下の対角化の手続きを得ます。

\begin{align}
P &=
\begin{bmatrix}
\sqrt{2} & \sqrt{2} \\
-1 & 1 \\
\end{bmatrix}\\
P^{-1} A P &=
\begin{bmatrix}
-1+\sqrt{2} & 0 \\
0 & -1-\sqrt{2} \\
\end{bmatrix}
\end{align}

すると,以下のような式変形によって,変数分離形の微分方程式に帰着させることができます。

\begin{align}
P^{-1}\frac{d}{dt}
\begin{bmatrix}
x \\
y \\
\end{bmatrix}
&=
P^{-1} A P P^{-1} \begin{bmatrix}
x \\
y \\
\end{bmatrix}\\
&=
\begin{bmatrix}
-1+\sqrt{2} & 0 \\
0 & -1-\sqrt{2} \\
\end{bmatrix}
P^{-1}\begin{bmatrix}
x \\
y \\
\end{bmatrix}
\end{align}

以下のように$x’$,$y’$を定めます。

\begin{align}
\begin{bmatrix}
x’ \\
y’ \\
\end{bmatrix}
&=
P^{-1}
\begin{bmatrix}
x \\
y \\
\end{bmatrix}\label{定義}
\end{align}

すると,先ほどの式は以下のように変形できます。

\begin{align}
\frac{d}{dt}\begin{bmatrix}
x’ \\
y’ \\
\end{bmatrix}
&=
\begin{bmatrix}
-1+\sqrt{2} & 0 \\
0 & -1-\sqrt{2} \\
\end{bmatrix}
\begin{bmatrix}
x’ \\
y’ \\
\end{bmatrix} \label{変数分離}
\end{align}

式(\ref{変数分離})は変数分離形の微分方程式であるため,簡単に解くことができて,解は以下のようになります。

\begin{align}
\begin{bmatrix}
x’ \\
y’ \\
\end{bmatrix}
&=
\begin{bmatrix}
x'(0)e^{(-1+\sqrt{2})t} \\
y'(0)e^{(-1-\sqrt{2})t} \\
\end{bmatrix}
\end{align}

先ほどの変換式(\ref{定義})を用いれば,以下のように微分方程式を計算することができます。

\begin{align}
\begin{bmatrix}
x \\
y \\
\end{bmatrix}
&= P
\begin{bmatrix}
x’ \\
y’ \\
\end{bmatrix}\\
&=
\begin{bmatrix}
\sqrt{2} & \sqrt{2} \\
-1 & 1 \\
\end{bmatrix}
\begin{bmatrix}
x'(0)e^{(-1+\sqrt{2})t} \\
y'(0)e^{(-1-\sqrt{2})t} \\
\end{bmatrix} \\
&=
\begin{bmatrix}
\sqrt{2}x'(0)e^{(-1+\sqrt{2})t}+\sqrt{2}y'(0)e^{(-1-\sqrt{2})t} \\
-x'(0)e^{(-1+\sqrt{2})t}+y'(0)e^{(-1-\sqrt{2})t} \\
\end{bmatrix}\label{答え}
\end{align}

最後に,初期値$x'(0)$,$y'(0)$を計算します。先ほどの変換式(\ref{定義})を用いれば,以下のように初期値を求められます。

\begin{align}
\begin{bmatrix}
x'(0) \\
y'(0) \\
\end{bmatrix}
&=
P^{-1}
\begin{bmatrix}
x(0) \\
y(0) \\
\end{bmatrix}\\
&=
\frac{\sqrt{2}}{4}
\begin{bmatrix}
1 & -\sqrt{2} \\
1 & \sqrt{2} \\
\end{bmatrix}
\begin{bmatrix}
x(0) \\
y(0) \\
\end{bmatrix}\\
&=
\frac{\sqrt{2}}{4}
\begin{bmatrix}
x(0)-\sqrt{2}y(0) \\
x(0) + \sqrt{2}y(0) \\
\end{bmatrix}
\end{align}

以上で,微分方程式の解が求められました。

結果の考察

まず,式(\ref{答え})について見ていきます。$x$の解を見ると,第1項目が発散,第2項目が収束するため全体としては発散します。$y$も同様に発散します。したがって,大抵の場合はお互いの気持ちが発散してしまいます。

しかし,初期値によってはお互いの気持ちが収束する場合もあります。つまり,第1項目の係数が0であれば,発散の項が最初から無視されるため,結果として気持ちは収束することになります。具体的な条件は以下の通りです。

\begin{alignat}{3}
x'(0) &= 0 \Rightarrow x \rightarrow 0 \quad &\text{and} \quad &y \rightarrow 0 \label{初期値}\\
x'(0) &> 0 \Rightarrow x \rightarrow \infty \quad &\text{and} \quad &y \rightarrow -\infty \\
x'(0) &< 0 \Rightarrow x \rightarrow -\infty \quad &\text{and} \quad &y \rightarrow \infty \label{初期値_2} \\
\end{alignat}

この条件から,$x(0)=\sqrt{2}y(0)$という絶妙な気持ちの初期値を自分が持っていれば自分の気持ちは収束することが分かります。同様に,相手も$x(0)=-\sqrt{2}y(0)$という絶妙な気持ちの初期値を持っていれば,相手の気持ちも収束します。また,$x(0)>\sqrt{2}y(0)$のときは自分の気持ちは正に発散し,相手の気持ちは負に発散します。$x(0)<\sqrt{2}y(0)$のときは自分の気持ちは負に発散し,相手の気持ちは正に発散します。

最後に,この恋愛が成就するような条件について考察します。ここでは,恋愛が成就することを以下のように定義します。

お互いの微分方程式の解が発散しない場合,または正の方向に発散する場合。

まず,先ほどの結果から,お互いの気持ちが発散しない場合の条件の1つとしてお互いの気持ちの初期値が式(\ref{初期値})に限りなく近いという条件を満たしているという例が挙げられます。これは,「中立の立場で俯瞰する天邪鬼タイプ」同士が恋愛をすると,お互いの気持ちの初期値が絶妙でない限り,どちらかの気持ちが発散してしまうということを意味しています

他にも,実は固有値の実部が0である場合には解が振動するため,恋愛が成就する条件の1つではあります。

さて,お互いの気持ちが正に発散する場合を考えましょう。しかし,式(\ref{初期値})〜式(\ref{初期値_2})を見ると,お互いが正の方向に発散する場合が存在しないことが分かります。そのため,「中立の立場で俯瞰する天邪鬼タイプ」同士が恋愛すると正の方向に発散するという恋愛成就の結末はないということです。

それでは,お互いが正の方向に発散するような恋愛成就をするためには,どのような制約を加えれば良いのでしょうか。それは,式(\ref{答え})の導出過程を見ればよいです。固有ベクトルを並べた行列である$P$をかけることでお互いの微分方程式の解における各項の正負が決定されるため,固有ベクトルの傾きの符号がお互い等しい場合に「お互いが正の方向に発散する」という恋愛成就のハッピーエンドが迎えられる可能性があることが分かります。

実際に,傾きの符号が等しい固有ベクトルを持つ2人の恋愛モデルを考えて,本記事を締めくくりたいと思います。まず,行列$P$を

\begin{align}
P=
\begin{bmatrix}
1 & 1 \\
1 & 2 \\
\end{bmatrix}
\end{align}

と設定し,それぞれの固有値を$\lambda_x$,$\lambda_y$とします。このとき,先ほどの解放の類推から,以下のように解を求めることができます。

\begin{align}
\begin{bmatrix}
x \\
y \\
\end{bmatrix}
&=
\begin{bmatrix}
x'(0)e^{\lambda_x} + y'(0)e^{\lambda_y} \\
x'(0)e^{\lambda_x} + 2y'(0)e^{\lambda_y} \\
\end{bmatrix}
\end{align}

先ほどの条件を考えれば,(第1項目,第2項目)がそれぞれ(正に発散,正に発散),(正に発散,収束),(収束,正に発散)の3つのパターンを考えればよいので,

  1. $(\lambda_x>0) \land (x'(0)>0) \land (\lambda_y>0) \land (y'(0)>0)$
  2. $(\lambda_x>0) \land (x'(0)>0) \land (\lambda_y<0)$
  3. $(\lambda_x<0) \land (\lambda_y>0) \land (y'(0)>0)$

のいずれかの条件を満たしていれば,「お互いが正に発散する」という恋愛成就を迎えられることが分かりました。

シェアはこちらからお願いします!
URLをコピーする
URLをコピーしました!

コメント

コメントする

目次
閉じる