育成の結果がプラスになるのかマイナスになるのか、
それぞれのステータスがどれほどの重みを持っているのか求めるにはどうするのか、調べた結果を記録
育成の各ステータスの伸びを行列としてAに格納
育成の総戦力の伸びを行列としてbに格納
Aの逆行列を np.linalg.inv()で求めて、Ainvに格納。
bにAinvをかけると筋力・敏捷・知力・体力 それぞれの重みがわかる。
import numpy as np
#育成の各ステータスの伸び
A = np.array([[13,-14,12,-11],[10,11,12,-6],[10,-12,-2,5],[5,8,3,-9]])
#育成後の総戦力の伸び
b = np.array([49,91,97,3])
Ainv = np.linalg.inv(A)
x= np.dot(Ainv,b)
#各ステータスの重みを求めることができる
print(x)
#[8.6197591 1.41495949 2.35168356 6.49705801]
#求めた重みxを使えば育成で予想される戦力の伸びを計算することができる。
test = np.array([[-3],[13],[14],[-2]])
print(np.dot(x,test))