確率的プログラミング

計算可能性と確率的プログラミング

haskellをやっていて、いまさらながらにラムダ関数とか、その背景としての計算可能性とかが気になって来ました。 たとえば、一階述語論理(すべての...、ある...)の決定不能性、とか。 ということで Computability, inference and modeling in probabilistic…

駆け足で読む『確率とモナドと確率論的プログラミング』

記事 ぱらぱらとめくるには、Haskellの理解が浅すぎて無理なので、がんばって読む(が時間は掛けられない) 読みながら気になったこと、調べたこと、等をメモしていく 確率変数を扱いたい。確率変数はいろいろな値をとる変数なので、有限・無限集合。これをリ…

確率的プログラミングの汎用性

資料はこちら Haskellで確率的プログラミング、ということで調べ物をしている 確率事象を扱うために以下のような特徴があることがよい、という話 逆に言うと確率的プログラミングは以下のような取り扱いをするものだ、ということで、それがさらりとできるハ…

Haskellで乱数

こんな記事があって、Haskellでの乱数発生はいろいろあることがわかる mwc-randomはかなり速いし、これを使っておけばよいのでは?という結論 そのmwcは昨日の記事でも使われていた 簡単に言うと、乱数を使う処理は何度もせずに一度に済ませることにする そ…

この処理を眺めてみる ベルヌーイ事象とその独立試行の繰り返しの話 二値型確率事象Bookをデータ型として作り、それに生起確率ベクトルを付け加えている。付け加えるときは、weightedという関数を使っている。有限事象の確率変数なのでFiniteというクラスを…

乱数はいつ決まる?

上記が回ったところで、Main.hsをghciに読み込んで、Main.hsでやっていることを見てみる Probディレクトリの中で、stack buildも終わった状態で以下をやると、Main.hsを回すのに必要なライブラリなどは揃っていて、読み込める stack ghci ghci内で、appフォ…

確率的プログラミング 再 ハスケル

stackは入れておく stackで専用環境を作る stack new Prob cd Prob まず、probableパッケージのこのファイル(/Prob/app/Main.hs)を動くようにする module Main where import Control.Applicative import Control.Monad import Math.Probable import qualifie…