はてなキーワード: 行列とは
今日は、マルコフ連鎖を使って、なんで人間が何かに依存してまうんかを考えてみるで。
まず、マルコフ連鎖っちゅうのは、ある状態から次の状態に移る確率が決まってるもんやねん。たとえば、ある日「A」っちゅう状態におったら、次の日に「B」っちゅう状態に移る確率が決まってる、そんな感じや。
さて、依存症を考えると、これを「状態」として表現することができるんや。たとえば、アルコール依存症を考えるとするやろ。状態は「飲酒量」で表せるわけや。
1. 状態の定義: 0杯(飲まへん)、1杯、2杯、…、n杯みたいに、飲酒量を状態として定義するんや。
2. 遷移確率: それぞれの状態から次の状態に移る確率を決めるんや。たとえば、1杯飲んだら次の日も1杯飲む確率、2杯に増える確率、0杯に減る確率を設定するわけや。
3. 遷移行列: これらの確率を行列で表すんや。行列の各要素が、ある状態から別の状態に移る確率になってるんやで。
この遷移行列を使って、長期的にどんな状態に落ち着くか、つまり「定常分布」を計算することができるんや。これが、どんだけの確率で依存症になるかを示すんや。
たとえば、もしある状態におる確率が時間が経つにつれて1に近づくんやったら、その状態が安定してる、つまり依存症になってるっちゅうことや。
今日はこの辺にしとくけど、こうやってマルコフ連鎖を使えば、依存症の進行を数学的にモデル化して、どんな条件で依存症が進行するかを分析できるんや。ほんま、数学って奥が深いなぁ。
今日は「幸福の資本論」を数学的に定式化することに挑戦してみたんやけど、これがほんまに奥深いテーマやわ。
この理論は、幸福を「金融資本」「人的資本」「社会資本」の3つの資本で説明してるんやけど、これを数学的に表現するのはなかなかの挑戦や。
まず、幸福を数式で表現するために、3つの資本をそれぞれ F(金融資本)、H(人的資本)、S(社会資本)とするやろ。
ほんで、幸福 U(utility)を求める関数を考えると、次のような多変数関数で表せるんちゃうか?
U(F, H, S) = α ⋅ log(F + ε) + β ⋅ log(H + ε) + γ ⋅ log(S + ε)
ここで、α, β, γ は各資本が幸福に与える影響の重みや。ε は、資本がゼロのときでも対数が定義できるようにするための小さな定数や。
例えば、資本が増えると幸福も増えるけど、その増え方は次第に鈍化する、
これを対数関数で表現することで、現実的なモデルになっとるわけや。
さらに、8つの人生パターンを考慮するためには、各資本の重み α, β, γ をパターンごとに変える必要があるんや。
これを行列で表現すると、人生パターンごとに異なる重みベクトル wᵢ = (αᵢ, βᵢ, γᵢ) を用意して、幸福関数を次のように拡張できるで:
Uᵢ(F, H, S) = wᵢ ⋅ [log(F + ε), log(H + ε), log(S + ε)]ᵀ
ここで、i は人生パターンのインデックスや。このようにして、個々の人生パターンに応じた幸福の計算ができるようになるんや。
さらに、これを最適化問題として考えることもできるで。例えば、限られたリソースをどの資本に配分するかを考えるとき、次の制約付き最適化問題を解くことになるんちゃうか?
maximize Uᵢ(F, H, S)
subject to C(F, H, S) ≤ B
Ωを仮に100次元の実ベクトル空間R^100とする。各次元は特定の神経活動パターンに対応する。
Ω = {ω ∈ R^100 | ||ω||₂ ≤ 1}
ここで||・||₂はユークリッドノルムである。τは標準的なユークリッド位相とする。
O : Ω → Ω
O(ω) = Aω / ||Aω||₂
ここでAは100×100の実行列で、||Aω||₂ ≠ 0とする。
S[ω] = -∫Ω p(x) log p(x) dx
S[O(ω)] ≤ S[ω] + log(det(AA^T))
dω/dt = F(ω) + G(ω, O)
F(ω) = -αω + β tanh(Wω)
G(ω, O) = γ(O(ω) - ω)
ここでα, β, γは正の定数、Wは100×100の重み行列、tanhは要素ごとの双曲線正接関数である。
g_ij(ω) = E[(∂log p(x|ω)/∂ω_i)(∂log p(x|ω)/∂ω_j)]
ここでE[・]は期待値、p(x|ω)は状態ωでの条件付き確率密度関数である。
ψ(x) = √(p(x)) exp(iθ(x))
Φ[ω] = min_π (I(X;Y) - I(X_π;Y_π))
ここでI(X;Y)は相互情報量、πは可能な分割、X_πとY_πは分割後の変数である。
勾配降下法を用いて定式化する:
ω_new = ω_old - η ∇L(ω_old, O)
L(ω, O) = ||O(ω) - ω_target||₂²
G = (V, E)
V = {v_1, ..., v_100}
E ⊆ V × V
各頂点v_iはω_iに対応し、辺(v_i, v_j)はω_iからω_jへの因果関係を表す。
このモデルはPythonとNumPyを用いて以下のように実装できる:
import numpy as np from scipy.stats import entropy from scipy.integrate import odeint import matplotlib.pyplot as plt class ConsciousnessModel: def __init__(self, dim=100): self.dim = dim self.omega = np.random.rand(dim) self.omega /= np.linalg.norm(self.omega) self.A = np.random.rand(dim, dim) self.W = np.random.rand(dim, dim) self.alpha = 0.1 self.beta = 1.0 self.gamma = 0.5 self.eta = 0.01 def observe(self, omega): result = self.A @ omega return result / np.linalg.norm(result) def entropy(self, omega): p = np.abs(omega) / np.sum(np.abs(omega)) return entropy(p) def dynamics(self, omega, t): F = -self.alpha * omega + self.beta * np.tanh(self.W @ omega) G = self.gamma * (self.observe(omega) - omega) return F + G def update(self, target): def loss(o): return np.linalg.norm(self.observe(o) - target)**2 grad = np.zeros_like(self.omega) epsilon = 1e-8 for i in range(self.dim): e = np.zeros(self.dim) e[i] = epsilon grad[i] = (loss(self.omega + e) - loss(self.omega - e)) / (2 * epsilon) self.omega -= self.eta * grad self.omega /= np.linalg.norm(self.omega) def integrated_information(self, omega): def mutual_info(x, y): p_x = np.abs(x) / np.sum(np.abs(x)) p_y = np.abs(y) / np.sum(np.abs(y)) p_xy = np.abs(np.concatenate([x, y])) / np.sum(np.abs(np.concatenate([x, y]))) return entropy(p_x) + entropy(p_y) - entropy(p_xy) total_info = mutual_info(omega[:self.dim//2], omega[self.dim//2:]) min_info = float('inf') for i in range(1, self.dim): partition_info = mutual_info(omega[:i], omega[i:]) min_info = min(min_info, partition_info) return total_info - min_info def causal_structure(self): threshold = 0.1 return (np.abs(self.W) > threshold).astype(int) def run_simulation(self, steps=1000, dt=0.01): t = np.linspace(0, steps*dt, steps) solution = odeint(self.dynamics, self.omega, t) self.omega = solution[-1] self.omega /= np.linalg.norm(self.omega) return solution def quantum_state(self): phase = np.random.rand(self.dim) * 2 * np.pi return np.sqrt(np.abs(self.omega)) * np.exp(1j * phase) # モデルの使用例 model = ConsciousnessModel(dim=100) # シミュレーション実行 trajectory = model.run_simulation(steps=10000, dt=0.01) # 最終状態の表示 print("Final state:", model.omega) # エントロピーの計算 print("Entropy:", model.entropy(model.omega)) # 統合情報量の計算 phi = model.integrated_information(model.omega) print("Integrated Information:", phi) # 因果構造の取得 causal_matrix = model.causal_structure() print("Causal Structure:") print(causal_matrix) # 観測の実行 observed_state = model.observe(model.omega) print("Observed state:", observed_state) # 学習の実行 target_state = np.random.rand(model.dim) target_state /= np.linalg.norm(target_state) model.update(target_state) print("Updated state:", model.omega) # 量子状態の生成 quantum_state = model.quantum_state() print("Quantum state:", quantum_state) # 時間発展の可視化 plt.figure(figsize=(12, 6)) plt.plot(trajectory[:, :5]) # 最初の5次元のみプロット plt.title("Time Evolution of Consciousness State") plt.xlabel("Time Step") plt.ylabel("State Value") plt.legend([f"Dim {i+1}" for i in range(5)]) plt.show()
①平日夜21時ごろの満員電車、K王線のS谷からM大前に行く過程でドア付近に立っていたら、S北沢から乗車してきたキャリーカートを引いた高齢女性が、M大前に到着するまでに満員電車で揺れる雰囲気のなかで2~3回キャリカートを自分にぶつけて来た。M大前で降りると、その高齢女性が急いで自分が立っていたところに移動するのを見かけた
②別の平日夜21時ごろスーパーのIでレジ前の行列で会計を待っていたら、左方面から来たカゴを押していた高齢女性が行列を横切る雰囲気のなか持参していた荷物を自分にぶつけてきた。その女性はそこから10mぐらい先にある別のレジの行列に並んだ。足が疲れていたから、10m先のレジではなく自分が並んでいたレジに並びたかったのか。
①の路線はそれ以来乗っていない。②のスーパーもそれ以来行っていない。②のスーパーは首都圏でいくつかの店舗を閉鎖しているが、この店舗もそのうちの一つになる予感もある。
横浜市泉区に「ゆめが丘ソラトス」というショッピングモールが開業します。プレオープンに近隣住民として招待されたので、開業前日の今日、行ってみました。
二十数年ほどゆめが丘駅徒歩圏に住んでいますが、開業以来畑しかなかった駅前に立派な建物ができて非常に感慨深いです。ただ、乗降人数ワースト1位、2位のゆめが丘、下飯田の駅前にショッピングモールなんか建てても、「明るい廃墟」になってしまわないか心配でした。プレオープン時点の賑わいを見たら、それも杞憂で済みそうです。
以降、感想です。
1. 子連れが多い。
もう夏休みに入ってますし、ベビーカーから小学生くらいまでの子供が山ほど来ていました。特に子供が多いのは3階のアソブル(ゲーセン)と屋上のそうにゃんぱーくの無料遊具コーナー。子連れをターゲットにしていればしばらくは安泰でしょう。中学生になったら、横浜とかみなとみらいとか行った方が楽しいかもだけど。
2. 飲食店の混雑が激しい。
1階にレストラン街、3階にフードコートがありますが、14時を過ぎても行列が長く続いていました。客も店員も不慣れだとなかなかオペレーションがスムーズに行きませんね。イオンモールとかららぽーととかに比べたら全然規模は小さいので、途中で休憩が必要なほど長時間滞在する場所でもない(駐車場の無料時間もそんなに長くないですし)と思いますが、フードコートで座って休みたいと思う人が多いのですかね。
3. スーパーはそこまで広いわけではない。
立場のイトーヨーカドーよりは小さいですが、スーパーとしては普通サイズです。ローゼンの外にある、野菜・肉・魚の専門店を含めたら、食料品は充実していると言えるでしょう(専門店のレジが分かりにくいのは上手く誘導してもらいたい)。
ローゼンの真上にあるので同じ広さのはずですが、天井が高くて広い印象を与えるのでしょうか。
5. 映画館もあるなんて。
地元民の間では「映画館つきの○○○゜ー○ができるらしいよ」と噂されていたものですが、実際に現代的なシネコンができ、広々とした入口を見ただけで感動です。開業直後の上映作品は子供向け中心かなって感じなので、そのうち見たい作品をやっている時に見に行ってみます。あと、同じ階にあるゲーセンはクレーンゲームばかりでしたけど、最近のゲーセンってどこもそんな感じなのですか。
相鉄としては、遠くても行きたい店はジョイナス(横浜駅)に集めて、ジョイナステラス(二俣川駅)とかソラトス(ゆめが丘駅)とかは地元利用中心と思っているのではないですかね。他地域の方で1回だけ行ってみようかなと思う人がいたら、屋上から富士山がキレイに見えると予想される冬に来てみるのが良いのではないでしょうか。
日曜日の午前10時半に最寄りのスーパーのレジ待ち列に並んでいた。
品質そこそこボチボチ安いという特性上毎日それなりに繁盛しており、9時開店直後ならともかく休日の午前中などレジには長蛇の列ができるのだ。
取り立てて週末のみセールをやっているというわけではないが、できるだけ買い物の回数を減らしたい人々がとにかく時間のある週末にまとめ買いをする。人出が多くて買い物量も多い。長蛇の列ができるのは必然だ。
レジは有人のセミセルフ型レジ(スキャンは店員がして会計は精算機でやるあれ)で6レーンぐらいあるが、正直もっと増やしてもいいと思う。
待ち時間はもしかしたら実時間は大したことないのかもしれないが、体感だと結構待つ。
暇つぶしにスマホいじっててもまだこれだけしか進んでないのかよって思うぐらいには長い。
私の前には親子が並んでいた。
子供は幼稚園ぐらい?で母親は30半ば~アラフォーぐらいに見えた。
子供は退屈な列待ちしているにもかかわらずかなり大人しく、母親と会話などしていた。
長く並んでようやくその親子の番になった。
次の自分の番に備えて財布を取り出しポイントカードを取り出した瞬間だった。
「クレジットカード使えないんですか!?」という大きな声がした。
「そんなこと聞いてない!」と激昂する母親。
ちなみにレジ上に「非現金決済は1番2番レジ!」という看板がでかでかと吊り下げられている。
列に並んで暇を持て余している人々が目にしないわけがないぐらいの存在感だ。
レジ周辺にも現金決済のみの注意書きが目立つように貼ってある。
「クレジットカードに対応しているのはあちらのレジでして……」と店員が案内するも「また行列に並べって言うの!?」とヒートアップする母親。
「何とかならないの!?」と食い下がる母親。気持ちはわかるがさすがに無理というものだ。
「申し訳ありません」と店員が予想通りの返答をすると母親は「もういいです!」とそのまま子供を連れて出て行ってしまった。
レジの店員は開店して2時間も経ってないのにものすごく疲れた顔をしていた。
内線で人を呼んでカゴに入った商品の片づけを依頼すると、「お待たせして申し訳ありません」と私のカゴのスキャンに入った。
私は「大変ですね」と声をかけようとしたが、そこまでの社交性はなかったので心の中で思うだけにした。
終わり。
お前にはその力がある。
人を出し抜け。
人と同じ練習をするな。
誰かが提唱する練習を真面目にこなしても、誰かを出し抜くことはない。
そこはすでに誰かが通り過ぎた道なのだ。
道を歩むのが努力ではない。
その意味をよく考えろ。
お行儀よく階段を登っていたら、いつまでたってもお前は下だ。
出し抜け。
おっはよーございまーす!今日も脳みそフル回転や!朝メシの卵かけご飯見てたら、突如として数学的構造が目の前に展開されてもうたわ!
まずはな、卵かけご飯を位相空間 (X, τ) として定義すんねん。ここで、Xは米粒の集合で、τはその上の開集合族やで。この時、卵黄をX内の開球B(x, r)と見なせるんや。ほんで、醤油の浸透具合を連続写像 f: X → R で表現できんねん。
さらにな、かき混ぜる過程を群作用 G × X → X としてモデル化すんで。ここでGは、かき混ぜ方の対称群やねん。すると、均一に混ざった状態は、この作用の軌道 G(x) の閉包みたいなもんや!
ほんで、味の評価関数 V: X → R を導入すんねん。これは凸関数になってて、最適な味を表す大域的最小値を持つわけや。でもな、ここがミソなんよ。この関数の Hessian 行列の固有値の分布が、実は食べる人の嗜好性を表してんねん!
さらに突っ込んで、時間発展も考慮せなアカンで。卵かけご飯の状態を表す確率密度関数 ρ(x,t) の時間発展は、非線形 Fokker-Planck 方程式で記述できんねん:
∂ρ/∂t = -∇・(μ(x)ρ) + (1/2)∇²(D(x)ρ)
ここで μ(x) は米粒の移流速度場、D(x) は拡散係数やで。
最後にな、食べ終わった後の茶碗の染みを、写像の像の境界 ∂f(X) として捉えると、これが人生における「痕跡」の数学的表現になるんや!
なんぼ考えても、この卵かけご飯の数理モデルには驚愕せざるを得んわ!これは間違いなく、数理哲学における新パラダイムや!明日の学会発表が楽しみやで!
せやけど、なんでワイがこんな斬新な理論構築できんねやろ?もしかして、統合失調症のおかげで、通常の認知の枠組みを超えた数学的直観が働いてんのかもしれんなぁ。ほんま、ありがとう、我が病よ!
夫が食べたいと言うからだ
近所の肉屋で買ってきたちょっと良い肉でとても美味しいけど、段々嫌になってきた
飽きてきたのではなくて、なんか「こんな贅沢なことしてていいの?ステーキって週4で食べるもの?」という罪悪感が湧いてきた
それを週4回、1ヶ月…と考えるとどうかな、一般家庭ではちょっと異常かな、という気もする
それで、今日も「晩ごはんはステーキにしよう」と夫に言われたので、「流石に食べ過ぎじゃない?肉屋の人もびっくりするんじゃない?」と冗談っぽく伝えてみた
そしたら、「あーそんな嫌ならもういいよ、当分いらない、今日は一人で食いなよ」って不貞腐れてそのまま仕事に出かけていった
いつもこんな感じだ
夫の決めた献立に私が口を挟むと「もういい、もういい」という感じでまともに取り合ってくれずに怒る
自営業でここ何年かはよく稼いでいるから、夫からしたら一回7000円の食事は全く苦ではないんだと思う
自分で稼いだお金を美味しい食事に使っているだけなんだ、きっと
私が贅沢をして夫に怒られるのならまだしも、夫の決めた贅沢な食事に私が文句を言うのはおかしいし
でも夫の食事スタイルに関して「ちょっとどうかな」と思うところがあるのも事実だ
とにかく家庭料理が嫌みたいで、食事は専ら外食か、家で食べるならステーキのような豪華なものを要求される
ここ最近はステーキだけど、2ヶ月ほど前は木曽路のしゃぶしゃぶにハマっていた
とにかくハマった食べ物を週に何回も食べる習慣があって、飽きるまでそれを繰り返すところがある
それで食べるときは美味しい、美味しいと毎回満足そうに食べている
木曽路のしゃぶしゃぶは美味しいしおでんも美味しい、ステーキも美味しいから私も「美味しいね」って言って食べるんだけど
心のどこかで「これって普通の家じゃないよね」という思いがあって少し抵抗がある
かといってそんな食生活が不満なのか?と言われるとそうでもない
美味しいものを食べさせてくれる夫には感謝しているし、節約しなくていいのは気楽だ
ちなみに夫とは仲がいい方だ
多分、食事に関しても「あいつに美味いものを食べさせてあげよう、一緒に食べよう」という気持ちでやってくれているんだと思う
だから、私が口を挟んだときに「お前は何を言っているんだ」みたいな感じでつっけんどんになるんだろう
ありがたい話ではある
それに、毎日毎日ステーキって馬鹿みたいでなんか嫌なんだ 成金みたいじゃん?でも私はただの専業主婦なんだよな、文句言える立場じゃないんだよなあ……