気分とは
気分が良い、のような、一見数学とは関係がないような事象をどのように扱っていけば良いか。
形式化数学のアイデアを取り入れてモデル化を考える。
個人を P と書く。気分が良い、悪いは、他人との関係もあるかもだが、とりあえず一人だけ。
気分が良い、のようなのは、P のパラメータみたいなものかな。feeling と名付けてみるか。
(定義)
- (個人を想定した)P というものがある。理由はない。とにかくある。
- P には、(パラメータのような)属性がある。
feelingと名付け、その値を $P_{feeling}$ と書くことにする。
$P_{feeling}$ はどのような値を取るのだろうか? どのような値を取るようにすれば、扱いやすいだろうか?
$P_{feeling}=0$ なら無感情。$P_{feeling}>0$ なら正の感情、つまり嬉しい時ならいいかな。
では、どのような時に感情が変化するのだろうか? 大人の感情は複雑すぎるので(笑)、赤ちゃんを考えてみよう。お腹が減っている、いない、が関係するのでは? hungriness なるパラーメータを作ってみよう。他、暑い寒いといった環境 comfort 眠いと機嫌が悪いから、sleepiness
各パラメータは連続値のような気がするので、既存数学の定義を借り、実数としてみよう。
(定義)
- (個人を想定した)$P$ というものに対し、(パラメータのような)属性がある。以下、全て実数を想定する。
- $P_{feeling}$ $P_{hungriness}$ $P_{comfort}$ $P_{sleepiness}$
時間変化を考える
時間の流れ(時刻) $t$ も既存数学の定義から持ってくる。
各パラメータの集合 $ \{ P_{feeling}, P_{hungriness}, P_{comfort}, P_{sleepiness} \} $ は、その赤ちゃんのその時の状態であり、形式化数学では、State と呼ばれるらしい。そのものだな。
$$ S(t) = \{ P_{feeling}(t), P_{hungriness}(t), P_{comfort}(t), P_{sleepiness}(t) \}$$
時刻 $t$ から $t + \delta t$ への時間変化なら、微分とか考えられそうだが、いきなりは難しそうだ... とりあえず、次の時刻へ、段階的に変化することを考えよう。パラメータがいっぱいあって、気分は、お腹の減り具合、環境、つまりその子の前の状態全てに影響するだろうから、行列の演算のようにできそうだ。
$$ S(t_{next}) = A * S(t) $$
式にできたことで、PCによる解析がやりやすくなった。でも...
0 1 にすればさらに計算が簡単に
なるのではないか? と思いつく。
気分が良い=1 機嫌が悪い=0 として、$P_{feeling} = \{ 1, 1, 1, ... \} $ なら気分が最高に良い、あげあげの状況。「キャッ キャッ」と声をあげて喜んでいる状態。 $P_{feeling} = \{ 0, 0, 0, ... \} $ なら、いやだ! とギャン泣きしている状態。お母さんが優しく声をかければ、$P_{feeling} = \{ 0, 0, 1, 0, 0, 1, ... \} $ とだんだん落ち着いてくる。時間軸で積分してしまえば、中途半端な感情も表現できるはず。
こうして、各パラーメータが 0 1 の2値であれば、
$$ S(t_{next}) = A * S(t) $$
の演算は一気に現実味を帯び、GPUだけでなく、小型マイコンのビット演算でもできるかも?
おしまい
ここ2ヶ月ほど、週末の趣味として形式化数学を勉強しています。
今回のように、実務上のトラブル、疑問を、数学の力で解決できないか、とくに形式化数学はコンピュータで扱いやすいように再定義する考えがあるので、問題の本質を考察するのにも良いかなと思います。
あくまで趣味なので「ゆるゆる」ですが、たまにはここで、自分で考えたことをまとめるために投稿させていただきます。