問題タブ [markov-chains]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
language-agnostic - 画像には、隣接するk個のピクセルの組み合わせがいくつありますか?
私は数学が苦手なので、これを理解することはできません。画像には、隣接するk個のピクセルの組み合わせがいくつありますか。画像内の合計n*n個のピクセルのうちk個のピクセルの組み合わせ。ただし、2からn * nまでの各kについて、隣接する必要があるという制限があります。推論しているセット内の多くの要素を考慮に入れなければならないプログラムのkのすべての値の合計が必要です。
ネイバーは4接続されており、ラップアラウンドしません。
matlab - MATLAB でランダム ウォーク シミュレーションをベクトル化する方法
読みやすさを重視して、MATLAB でモンテカルロ シミュレーション モデルを書き直しています。このモデルには、(x,y,z) として表される多くの粒子が含まれており、一定の終了確率を持つ状態の小さなセットをランダム ウォークします。出力に関連する情報は、特定の状態で終了する粒子の数です。
シミュレーションには十分な粒子が必要なため、粒子ごとに個別に実行するには法外なコストがかかります。ベクトル化は MATLAB からパフォーマンスを引き出す方法のようですが、MATLAB でこのシミュレーションのベクトル化されたバージョンを作成する慣用的な方法はありますか?
これを達成するために頭を悩ませています - 各粒子と状態の組み合わせを表す (nStates x nParticles) マトリックスを作成しようとさえしましたが、このアプローチは、粒子が状態から跳ね返るため、読みやすさの点ですぐに制御不能になります。互いに独立して述べる。弾丸を噛んで、これにより適した言語に切り替える必要がありますか?
matlab - eig(X、'nobalance')のオクターブに相当するものは何ですか
マルコフ連鎖の平衡分布を見つけようとしています。つまり、それを表す遷移行列の固有値を見つけることを意味しますが、eig関数は、返す固有ベクトルを自動的に正規化します。MatLabには、関数に渡すことができるフラグがあります。この動作を停止するには
eig(X、'nobalance')
ここで、Xは行列です。http://www.mathworks.com/help/techdoc/ref/eig.htmlを参照してください。ただし、これをオクターブで試してみると、エラーが発生します。
エラー:eig:間違った型引数 `sq_string '
他に呼び出すべき関数はありますか?
乾杯
python - for-if 混乱をより良い構造で単純化しますか?
この質問をコード レビュー エリアに移動してください。以下のコードがジャンクであることを知っており、重要なフィードバックがあれば完全に書き直したいので、そちらの方が適しています。私はほとんど車輪を再発明しています。
[アップデート]
ここで理論について少し説明します。おそらく、問題はそのように単純化できます。上記のコードは、A
以下の遷移行列を使用してマルコフ連鎖を構築しようとしています。100
コイントスとイメージできるパターンがそれにあたる。
問題のは、上記average
8
のマトリックスの最初の行の値の合計になります。N=(I-Q)^-1
Q
これで、この明らかにパターンマッチングのみの問題がマルコフ連鎖になることがわかるでしょう。乱雑な for-while-if 条件をマトリックスやマトリックスに似たものに置き換えることができない理由がわかりません。それらを実装する方法はわかりませんが、特に分解する必要がある状態が多い場合は、イテレータを使用して研究することができます。
しかし、Numpy で問題が発生しました。それは何のために、何の-Inf
ためにあるNaN
のでしょうか? (I-Q)**-1
上記のマトリックスから収束する値を確認します。N
からN=I+Q+Q^2+Q^3+...=\frac{I-Q^{n}}{I-Q}
です。
php - PHPで文字列に意味不明な文字列が含まれているかどうかをテストする方法は?
私はウェブサイトの登録フォームを作成していますが、誰もが秘密の回答の入力に意味不明なことを入力すると確信しているため (私は自分で入力します)、その値をプログラムでテストして、より可能性が高いかどうかを確認したいと思います。良い答えです。
PHP でマルコフ チェーン (下部を参照) を生成する関数を調べましたが、そのチェーンの配列に対して文字列をテストして、指定された回答の精度を実際に検出する方法がわかりません。
ここで誰かが似たようなことをしましたか? どのように解決しましたか、またはあきらめましたか?
ありがとうございました
2011-02-04 を編集:
私は簡単な解決策を思いつきました。意味不明な文字列の文字には、同じ文字が何度も何度も含まれている可能性が高いと思います。その小さな関数を思いつきました:
皆さんはどう思いますか?
sha - 大きな整数から可逆的に疑似自然句を生成する
大きくて「一意の」整数(実際にはSHA1ハッシュ)があります。
注:ここでSHA1ハッシュについて話している間、これは暗号化/セキュリティの質問ではありません!私はSHA1を壊そうとはしていません。それが役立つ場合は、SHA1の代わりにランダムな160ビット整数を想像してみてください。
私は(楽しむ以外の理由はありませんが)そのSHA1ハッシュをコンピューターで生成された(疑似)英語のフレーズにマップするアルゴリズムを見つけたいと思っています。マッピングは双方向である必要があります(つまり、アルゴリズムを知っていると、そのフレーズから元のSHA1ハッシュを計算できる必要があります)。
フレーズは意味をなす必要はありません。私はナンセンスの段落全体でさえ解決するでしょう。(ただし、段落の品質(英語性)は、単なるフレーズよりも優れているはずです。)
より良いアルゴリズムは、より短く、より自然に見える、よりユニークなフレーズを生成します。
バリエーション:ハッシュの一部しか扱えなくても大丈夫です。たとえば、最初の6桁の16進数で問題ありません。
生成されたフレーズの可能な使用法:GitコミットIDの人間が読めるバージョン。そのコミットから構築された、特定のプログラムバージョンのモットーとして使用します。(私が言ったように、これは「楽しみのため」です。これが非常に実用的であるとは言いません。または、SHA1自体よりもはるかに読みやすくなっています。)
考えられるアプローチ:過去に、SHAから読み取ったビットに従って、(単語の)確率テーブルを作成し、マルコフ連鎖としてフレーズを生成し、ジェネレーターをシード(確率ツリーからブランチを選択)しようとしました。これはあまり成功しませんでした、結果として生じるフレーズは長すぎて醜いものでした。これがバグなのか、アルゴリズムの一般的な欠陥なのかはわかりません。十分に早く放棄しなければならなかったからです。
今、もう一度問題を解決しようと考えています。これにアプローチする方法について何かアドバイスはありますか?マルコフ連鎖アプローチがここで機能すると思いますか?他に何かありますか?
machine-learning - 著者のユニークな「文体」を使用して、彼/彼女をテキストの著者として識別することができますか?
想像してみてください。同じ人が書いた英語のテキストが2つあります。それぞれを分析するためにいくつかのマルコフ連鎖アルゴリズムを適用することは可能ですか?統計データに基づいてある種の指紋を作成し、異なるテキストから取得した指紋を比較しますか?たとえば、100個のテキストを含むライブラリがあるとします。ある人はテキスト番号1を書いた人もいれば、他の人も書いた人がいます。私たちは彼/彼女の文体を分析することによってどちらを推測する必要があります。それを行う既知のアルゴリズムはありますか?ここでマルコフ連鎖を適用できますか?
math - マルコフ連鎖は有限状態機械と同じですか?
有限状態マシンは、マルコフ連鎖の単なる実装ですか?2つの違いは何ですか?
artificial-intelligence - マルコフ連鎖チャットボットはどのように機能しますか?
マルコフ連鎖のようなものを使ってチャットボットを作ろうと思っていたのですが、どうすればうまくいくのかよくわかりません。私が理解していることから、特定の単語とそれに続く単語を含むデータからテーブルを作成します。ボットのトレーニング中に何らかの確率やカウンターを取り付けることは可能ですか? それは良い考えですか?
問題の 2 番目の部分は、キーワードに関するものです。ユーザー入力からキーワードを特定できると仮定すると、そのキーワードを使用する文をどのように生成すればよいでしょうか? 常に文をキーワードで始めたいわけではないので、どのようにマルコフ連鎖をシードすればよいでしょうか?