2

デビッド・シルバーとしてマルコフ連鎖のプロパティについて説明しています。将来は(ビデオに4分)現在関数型プログラミングとマルコフ連鎖は何とか関係していますか?

https://www.youtube.com/watch?v=lfHX2hHRMVQ与えられた過去とは無関係です

これは、との弦を打ちました私は現在、関数型プログラミング(FP)について学んでいるからです。

FPでは、何らかのアクションを実行して新しい状態を出力するために、関数が現在の状態のみを必要とするため、過去を無視することもできます。これは、オブジェクト指向では必ずしも真ではありません。出力が異なる場所のいくつかの状態に依存する可能性があるからです。

私が気付いていないFPとマルコフ連鎖の間にはいくらかの関係はありますか?

たとえば、FPで書かれた関数が確定的なマルコフ連鎖であると言うのは正確ですか?

+1

あなたは単に状態マシン(AKA有限オートマトン)について考えているかもしれません。 –

+2

「異なる場所」!=「過去」。また、OOPでは、将来の状態は、以前の動作ではなく、現在の状態のみに依存します。それは時間の基本的な特性です。そのため、マルコフ・チェーンはそのモデリングに適しています。 FPとは関係がありませんが、両方とも数学と密接に関係しています。 – Bergi

+0

マルコフは1922年に死去して以来、マルコフ連鎖に関する彼の考えには関数型プログラミングは含まれていなかったと私は思います。 – duffymo

答えて

4

実際には、マルコフチェーンと機能プログラミングの間に接続があります。マルコフ連鎖は、非確定的なFinite-State Machine(FSM)のタイプですが、チェーンの純粋な関数は、確定的なFSMを生成します。ここでの注意点は、現実世界(例えば、ウェブアプリケーション)では、純粋ではない機能(例えば、外部データベースの変更または照会)も必要とすることが多いことである。

プログラム状態を有限状態機械(FSM)としてモデリングすることは、メタファーとしても、状態と遷移をモデル化するための具体的な方法としても非常に便利です。たとえば、FSMは、(Web)ユーザーインターフェイスを実装するときには、which actions are allowed at which stateをうまく表しています。

+0

優秀 - 私は、決定的なFSMとして純粋な機能プログラムを見るというアイデアが気に入っています。そして、私はFSMにいくらかの確率論を加えるだけで、最初は完全に機能プログラミングに無関係であると思われるマルコフ連鎖が得られることは非常に涼しいと思います。 – COOLBEANS

関連する問題