ストロガッツの5章で、様々なタイプのロミオとジュリエットについての恋愛問題を解いた。このついでに、よりややこしい恋愛問題について考察を試みようと思った。具体的には、3人でもつれあう恋愛を扱おうとした。
そこで複雑な恋愛を呈する作品何かあったかな~と思いを巡らしたが、普段あまり恋愛ものを観ない・読まないために、「あの夏で待ってる」まで遡ることとなった。あの夏では6人が恋愛の連鎖をしているが、その中でも最も報われなかった柑菜(異論は認める)を取り上げることとした。
柑菜(Kanna: K)、海人(Kaito: U)、イチカ(Ichika: I)として、それぞれの好意を次のように表すこととした。
KU: 柑菜 to 海人
UK: 海人 to 柑菜
IU: イチカ to 海人
UI: 海人 to イチカ
(カイトがUなのは、Kがカンナと被ったために「うみんちゅ」の頭文字を使った)
それぞれの好意の特徴を次のように設定した。異論は認める。
・かんな to かいと (KU)' = IU + UI
イチカ-海人 間の恋愛が熟すことにより燃え上がる略奪要素を有する。KUとUKの効果は、それまでに進展が無かったことを考えるとゼロなのかなと。
・かいと to かんな (UK)' = 0.5*KU - UI
基本的に柑菜に興味はないのだが、柑菜からそれとなく好意が出ていると若干その気になってくるヘタレ。でもイチカ先輩が好きになっちゃうと柑菜への好意は低下するヘタレ。
・いちか to かいと (IU)' = -0.5*KU - UK + IU + UI
自分から海人への好意、海人から自分への好意が増すほどどんどん好きになる積極的お姉さん。ただし柑菜には若干の同情心がある。
・かいと to いちか (UI)' = IU + UI
イチカへの好意に柑菜は関与しないヘタレ。
開始時点は海人がイチカを気になりだしたタイミングとし、この時柑菜はすでに海人へ好意を持っているとし、初期値はこんな感じにした。
KU0=2
UK0=0
IU0=0
UI0=1
UK0=0
IU0=0
UI0=1
-----------------------------------------------------------------------
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
KU0=2
UK0=0
IU0=0
UI0=1
UK0=0
IU0=0
UI0=1
KUI=np.array([KU0, UK0, IU0, UI0]).reshape(4, 1)
A=np.array([
[0, 0, 1, 1],
[0.5, 0, 0, -1],
[-0.5, -1, 1, 1],
[0, 0, 1, 1]
])
[0, 0, 1, 1],
[0.5, 0, 0, -1],
[-0.5, -1, 1, 1],
[0, 0, 1, 1]
])
dt=0.001
Tmax=2
T=np.arange(0, Tmax, dt)
Tmax=2
T=np.arange(0, Tmax, dt)
for t in T:
x=KUI[:, -1]
#Runge-Kutta method
k1=np.dot(A, x)
temp=x+k1*dt/2
k2=np.dot(A, temp)
temp=x+k2*dt/2
k3=np.dot(A, temp)
temp=x+k3*dt
k4=np.dot(A, temp)
x=x+(k1+2*k2+2*k3+k4)*dt/6
KUI=np.c_[KUI, x.reshape(4, 1)]
t+=dt
x=KUI[:, -1]
#Runge-Kutta method
k1=np.dot(A, x)
temp=x+k1*dt/2
k2=np.dot(A, temp)
temp=x+k2*dt/2
k3=np.dot(A, temp)
temp=x+k3*dt
k4=np.dot(A, temp)
x=x+(k1+2*k2+2*k3+k4)*dt/6
KUI=np.c_[KUI, x.reshape(4, 1)]
t+=dt
plt.plot(np.arange(0, Tmax+dt, dt), KUI[0], label='Kanna to Kaito')
plt.plot(np.arange(0, Tmax+dt, dt), KUI[1], label='Kaito to Kanna')
plt.plot(np.arange(0, Tmax+dt, dt), KUI[2], label='Ichika to Kaito')
plt.plot(np.arange(0, Tmax+dt, dt), KUI[3], label='Kaito to Ichika')
plt.legend()
plt.title('Anonatsu')
plt.show()
plt.plot(np.arange(0, Tmax+dt, dt), KUI[1], label='Kaito to Kanna')
plt.plot(np.arange(0, Tmax+dt, dt), KUI[2], label='Ichika to Kaito')
plt.plot(np.arange(0, Tmax+dt, dt), KUI[3], label='Kaito to Ichika')
plt.legend()
plt.title('Anonatsu')
plt.show()
-----------------------------------------------------------------------
振られるのは避けられなかった。。。
柑菜がもし「好きになればなるほど好きになる」タイプだったとしたらどうなったのだろうか。 (KU)' =0.5*KU + 0.5*UK + IU + UI としてRedo。
どの夏も待ってない!あるのは冬のみ!氷河期到来!
不憫なのでもうちょっと強くして (KU)' =0.9*KU + 0.9*UK + IU + UI としてみた。
これくらい行くと逆転できたか。
結論:柑菜はツンデレをやめるべきだった。
0 件のコメント:
コメントを投稿