全ては食と睡眠から

この記事は、Aizu Advent Calendar 2015の14日目の記事です。
前の記事は、@a_r_g_vさんで、
次の記事は、@upamuneさんです。

はじめに

食事を取ることと睡眠をすることは、人間が生命を維持するうえで必要不可欠な行為です。
しっかりと食べて寝て健康でいたいものですね。
本記事は、その2つに関するポエムです。

食に関して

研究室のメンバーなどと外食することになっても、食べたいものが思い浮かばないとか良いお店が思い浮かばないとかの要因で、なかなか行き先が決まらないことが良くあります(少なくとも僕の周りでは)。

ところで、僕の研究室はSlackのチームを持っています。しかし、過疎が激しくほとんど使われていない状況でした。
後輩の一人が、某声優をモデルにしたbotを投入し、ちょっとした業務連絡をさせたりすることでSlackを活用していますが、やはり過疎であることには変わりなく、botしか投稿していない日もしばしばあります。
僕も、その後輩に触発されbotを制作しSlackを活用することにしました。食事の行き先を決めてくれるbotです。

botの内容

「ご飯」に類する単語が含まれたリプライを飛ばすと、食べログから3店ほど店を探してきてURLを返してくれます。
選んでくるお店は基本ランダムですが、最寄り駅と定休日でふるいにかけています。

例えば、次のようにリプライを飛ばしたとします。
f:id:yakumo890:20151221105541p:plain

するとbotは、次のような検索結果を返してくれます。
f:id:yakumo890:20151221105722p:plain
f:id:yakumo890:20151221105732p:plain

botのモデルが高垣楓なのは自分の趣味です。気にしないでください。

現状の実装

クエリが飛ばせず、細かい条件の指定が出来ません。
リプライが飛ばされたときの曜日が、定休日の文章に含まれていたら候補には入れません。
最寄り駅が、会津若松駅七日町駅以外の店は候補に入れません。これは、大学から自転車で行ける範囲で絞るためです。
最大3件の候補を返してくれます。

今後考えていること

リプライが来た時刻に入れる店を候補にする。これは、最低限実装したい機能ですね。
夕食時に利用することを主に考えているので、甘味処みたいな明らかに夕食にそぐわないような店をふるいにかけるようにしようとおもいます。
行き先に迷った時に活用するものなので、正直クエリは受け付けなくてもいいかなとは思っているのですが、食事に行くのか飲みに行くのかというオプションはあったほうが良いかもしれませんね。


このbotにより少しでも、食事処で悩む不毛な時間が少なくなって、ラボのSlackが活性化してくれたらいいなと思っています。

睡眠に関して

大学から家に帰るのが億劫なときって良くありますよね。僕が住んでいる地域は冬になると積雪が激しく、これからの時期は外を移動するのが本当にしんどいです。さらに、これからの時期は何かと忙しく研究室に居る頻度も増えることでしょう。そうなると、大学で寝たいなと思うことが良くあると思います。
研究室で寝る場合、椅子を並べてその上に寝る等の手法が考えられますが、毛布が無いととても寒く、毛布を持ってくるしか無いのです。僕の研究室には、ベッドやソファーがあったのですが事情により最近撤去されてしまい寝床に貧窮しています。

そこで、研究室に寝袋を設置しました。
f:id:yakumo890:20151221113042j:plain

大変快適です。冬用の物なので、とてもあたたかく寝られます。

また、寝袋を持って夜に星を見に行くことも出来ます。
f:id:yakumo890:20151221113340j:plain

QoLが向上するので皆さんも寝袋どうですか?
ちなみに自分の寝袋はこれです
Amazon.co.jp | 寝袋 シュラフ 封筒型 レッド 丸洗いできる寝袋 【最低使用温度-10度】 スリーピングバッグ キャンプ アウトドア 冬用 軽量 | スポーツ&アウトドア 通販

おしまい

直積集合についての見直し

僕は今まで、直積集合についてしっかりと理解をしているつもりでいた。
でも、位相空間論を勉強しているうちに、直積集合の理解があやふやでいたことがわかった。
最近、改めて見直したのでこの記事に自分の理解を書き記すことにする。

順序対

{\displaystyle (x_1,x_2)}
のような形をしている要素を順序対と言う。
2次元座標を考えるとわかりやすい。座標の点は、
{\displaystyle (x,y)}
の様に表されるが、これは順序対である。
{\displaystyle x,y}が違う値であれば、
{\displaystyle (x,y)\neq(y,x)}
である。これも、座標を考えるとすぐにわかる。
つまり、
{\displaystyle (x_1,x_2)=(y_1,y_2) \Leftrightarrow x_1=y_1 \land x_2=y_2}

この順序対の説明は厳密でないが、今回の話題においては基本が理解できていれば良いので、この程度に止めておく

集合族

{\displaystyle \Lambda}を集合として、任意の{\displaystyle \lambda \in \Lambda}に対応する集合{\displaystyle X_{\lambda}}があるとき、その対応を集合族と呼ぶ。これは、次のように書かれる。
{\displaystyle (X_{\lambda})_{\lambda \in \Lambda}}

対象の集合が無限個ある時にでも、これを用いてうまく表すことが出来る。
例えば、無限個の集合の和集合は集合族を用いて次のように表される。
{\displaystyle \bigcup_{\lambda \in \Lambda} X_{\lambda}}

直積

直積集合とは、複数の集合の要素で順序対を作る演算である。次のように書かれる。
{\displaystyle A \times B=\{(a,b) \mid a \in A, b \in B\}}
要素が順序対であるので、一般的には、
{\displaystyle A \times B \neq B \times A}
となる。
また、直積集合を次のような記号を使って表す。
{\displaystyle \prod_{i=1}^n X_i = X_1 \times X_2 \times \cdots \times X_n}
我々が普段使っている2次元の直交座標は、2つの実数の順序対の集合であるから次のように表される。
{\displaystyle \mathbb{R} \times \mathbb{R}}
{\displaystyle \mathbb{R}}は、実数全体の集合である。

また、直積集合は写像の集合として定義される。(僕の理解があやふやだったのはここから)
{\displaystyle Map(A,B)}{\displaystyle A,B}は集合
を、AからBへの写像の全体とすると、直積集合は次のように定義される。
{\displaystyle \prod_{\lambda \in \Lambda} X_{\lambda} = \left\{ x \in Map \left(\Lambda,\bigcup_{\lambda \in \Lambda} X_{\lambda} \right) \middle| \forall\lambda \in \Lambda, x_{\lambda} \in X_{\lambda} \right\} }
ここでの、{\displaystyle x_{\lambda} }は、{\displaystyle x(\lambda) }の事である。{\displaystyle x }写像だから、{\displaystyle x(\lambda) }は、写像{\displaystyle x }による{\displaystyle \lambda }の対応先である。
この集合は、{\displaystyle \Lambda }から{\displaystyle \bigcup_{\lambda \in \Lambda} X_{\lambda} }への写像全体なので、本当は{\displaystyle \lambda_{i} \in \Lambda }が、{\displaystyle X_{\lambda_{i}} }の元へ対応して欲しい(というか対応しないと、直積として成り立たない)ところを、他の{\displaystyle X_{\lambda_{j}} }の元へ対応してしまう可能性がある。
だから、{\displaystyle \forall\lambda \in \Lambda, x_{\lambda} \in X_{\lambda} } という条件をつけている。

※2024/02/07 追記
あたかも順序対による定義と写像による定義が対立するもののように書いてしまっていますが、順序対も写像による構築ができます。
写像 \displaystyle x(\lambda) \rightarrow a_\lambda \in A_\lambda, \lambda \in \Lambda は、 \lambda番目の集合からA_\lambdaの要素を取ってくる写像なので、
(\displaystyle x(\lambda_1), \displaystyle x(\lambda_2),...), \displaystyle x(\lambda_1) \in A_1, \displaystyle x(\lambda_2) \in A_2,... のようにすれば順序対になります。

対象とする集合の中に空集合があると、その集合に対して元を対応させることができなくなるので、直積は空集合になる。つまり、
{\displaystyle \exists \lambda \in \Lambda \; s.t.\; X_{\lambda} = \emptyset \Rightarrow \prod_{\lambda \in \Lambda} X_{\lambda} = \emptyset}

射影

射影という概念があって、これは次のような写像である。
{\displaystyle p_{\lambda_i (\in \Lambda)}: \prod_{\lambda \in \Lambda} X \rightarrow X_{\lambda_i} }

例えば2次元座標における射影は次のようになる。
{\displaystyle p_{1}: \mathbb{R}\times\mathbb{R} \rightarrow \mathbb{R},\; p_{1}\left((x_1,x_2)\right) = x_1 }
まあ、要はある順序対のi番目の要素を見に行く操作と考えるとわかりやすい。

写像だから逆像が定義できるわけで、これは例えば次のようになる。
{\displaystyle p_{\lambda_i(\in \Lambda)}^{-1}\left(A_{\lambda_i} \left(\subset X_{\lambda_i}\right)\right) = X_{\lambda_1} \times \cdots \times A_{\lambda_i} \times \cdots }

一般に、射影は全射であるが単射でない。ある{\displaystyle x_{i} \in X_{i} }を含んだ順序対は複数作れるからね。
もし、任意の{\displaystyle \lambda_{i} \in \Lambda(\lambda_{i} \neq k) }について、{\displaystyle |X_{\lambda_{i}}| = 1}なら、{\displaystyle p_{k} }全単射になるね。

まとめ

僕は、直積集合の要素を写像として見ること、射影を曖昧なままにしていたので、この概念を使う直積空間で躓いたんだと思う。
今回調べて、僕の集合論に対する知識はより深くなったように思う。

この記事で、間違い等あったらコメントでどんどん教えて下さい。

参考にさせていただいたサイト

理系インデックス(集合論インデックス)

Wiener過程をこれから勉強したいって話

こんにちは
この記事は、Aizu Advent Calendar 2014の20日目の記事です。

前の記事 @masaponto
多層パーセプトロンを実装してみた - Masaponto's Blog

投稿が遅れまして、申し訳ありませぬ。

この記事は、僕が確率過程を勉強するぞ と言う宣言の記事です。
記事の中に、間違い等あったらバシバシつっこんでください。

背景

確率論、統計論的な記事を書きたいとか思ってたんですけど、当初やる予定だった記事を諸事情によりやめることにしたのと、新たなネタを得るための学習期間ってかなりかかってしまうと言う問題がありました。数学的な記事書くのには、きちんと理解しないといけないので。
じゃあ、これから勉強するぜ的な感じの記事でも書こうと言う結論に至りました。
こういうところに書いといたほうが、今後のモチベ等にもなりそうだしね。

なぜWiener過程か

興味があるから。
まあ、確率過程勉強したいなと思ってまして、確率過程の中で一番メジャーっぽいWiener過程をとりあえず理解しようという魂胆です。
あと、確率論そのものの理解を深めたいってのもあります。

概要 of Wiener過程

確率過程

何か不確定な要因持つ現象を、時系列で変化していく様子を数学的に記述したものを確率過程といいます。
確率過程は、物理学や経済学での応用が有るようです。例えば、粒子の動きや、株価の変動など。ちなみに、電話がかかってくる回数は、Poisson過程という確率過程でモデル化されるらしいです。このような物も数学的に解析されるってのは興味深いですよね。

Brown運動

確率過程の話から少しずれるのですが、Brown運動という物理的現象を先に説明します。

ものすごい小さい微粒子が、水や空気などの流体の中を動くときに、ランダムにごちゃごちゃと動くのですが、この運動をBrown運動と呼びます。(ブラウン運動 - Wikipedia)
ちなみに、水中での花粉の運動と説明されつことがありますが、これは誤りで、正確には花粉の中にある微粒子が水中でランダムに動く現象ですね。

Wiener過程

Wiener過程は、Brown運動の数理的なモデルであり、確率過程の一種です。数理モデルなので、Brown運動を正確に記述しているわけではありません。ただ、Brown運動はこのWiener過程を基に研究されています。
確率過程において、様々な性質が有るのですが、Wiener過程は、Markov性、自己相似性だとか定常性などの重要な性質をいくつも持っているのです。これも、Winer過程がよく知られている所以ですかね。
このへんの話題は、これから勉強していきますぞ。

今後

僕は、確率過程の講義を受けていたのですが、初期の方に可測の話をされてウワーッとなった覚えがあります。もっとも僕の大学は、測度論の講義が無いので、測度の話を厳密にはしませんでしたが。
やはり確率空間についての理解を深めるためには測度論をやるべきでしょう。
その後に、確率空間、確率密度、確率分布やら条件付き期待値などについて勉強すれば、確率過程と対等に渡り合える知識は得られると考えています。
そうして、Gauss過程やらLévy過程と共に、Wiener過程を勉強しまする。

今は、位相論の勉強をしています。測度論の理解の助けになると思いまして。

おわりに

Wiener過程の概要および、僕がこれから勉強したい事をさっくりと書きました。
三日坊主にだけは、ならないようにはしたい。
また、せっかくブログ作ったし、勉強した事をぼちぼち綴れたらなとか思ってます。

以上、Aizu Advent Calendar 2014の20日目の記事でした。


次の記事 @ishi_kuro