model-markov-chain
について
このスキルは、離散または連続マルコフ連鎖の構築と解析を行い、遷移行列の構築、状態の分類、定常分布の計算などのタスクを処理します。メモリレスシステムのモデリング、定常状態確率と到達時間の期待値の計算、あるいは隠れマルコフモデル(HMM)やマルコフ決定過程(MDP)の基礎として使用されます。主な機能には、吸収確率と平均初到達時間の算出が含まれます。
クイックインストール
Claude Code
推奨npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/model-markov-chainこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
模馬可夫鏈
由原轉數或域定構、分、析離時或續時馬可夫鏈,生定態、平均首至時、模驗。涵 DTMC 與 CTMC 端至端流。
用時
- 模未來態唯依當前態之系(無記性)
- 已察有限態間之轉數或率
- 求程之久態定概
- 須定預至時或吸概
- 分態為過、回、吸以析構
- 比同系之代馬可夫模
- 為高模築基(隱馬可夫、強化學習 MDP)
入
必
| Input | Type | Description |
|---|---|---|
state_space | list/vector | Exhaustive enumeration of all states in the chain |
transition_data | matrix, data frame, or edge list | Raw transition counts, a probability matrix, or a rate matrix (for CTMC) |
chain_type | string | Either "discrete" (DTMC) or "continuous" (CTMC) |
可選
| Input | Type | Default | Description |
|---|---|---|---|
initial_distribution | vector | uniform | Starting state probabilities |
time_horizon | integer/float | 100 | Number of steps (DTMC) or time units (CTMC) for simulation |
tolerance | float | 1e-10 | Convergence tolerance for iterative computations |
absorbing_states | list | auto-detect | States explicitly marked as absorbing |
labels | list | state indices | Human-readable names for each state |
method | string | "eigen" | Solver method: "eigen", "power", or "linear_system" |
法
第一步:定態空與轉
1.1. 列諸異態。確單盡而互斥。
1.2. 若由原察始,列轉數於 n x n 數陣 C,其中 C[i,j] 乃由 i 至 j 所察轉之數。
1.3. 續時鏈中,並收每態之留時與轉去處。
1.4. 確無態漏:每察源與所至皆於態空。
1.5. 文檔數源、察期、所施過。此源錄為復析與釋異所要。
得: 大小 n 之明態空與含諸察轉之數陣或(源、至、率/數)三元組。態空當足小可陣運(密法常 n < 10000)。
敗則: 若態漏,再察源並擴列。若態空於陣法太大,慮聚稀態為「他」總態或轉模析。若數陣極稀,驗察期足以含典轉。
第二步:構轉陣或生
2.1. 離時(DTMC):歸數陣每行得轉概陣 P:
P[i,j] = C[i,j] / sum(C[i,])- 驗每行和為 1(容差內)
2.2. 續時(CTMC):構率(生)陣 Q:
- 非對角:
Q[i,j] = i 至 j 之轉率 - 對角:
Q[i,i] = -sum(Q[i,j] for j != i) - 驗每行和為 0(容差內)
2.3. 處零數行(從未為源之態)需定平策:拉普拉斯平、吸定、或標審
2.4. 存陣於宜下流之式(小鏈密、大鏈稀)
得: 有效隨陣 P(行和為 1)或生陣 Q(行和為 0),P 無負非對角入,Q 無正對角入。
敗則: 若行和逾容,察數壞或浮點。重歸或察源。
第三步:分態
3.1. 由轉陣導之有向圖(唯正概邊)找強連通分量算通類。
3.2. 每通類定:
- 回:類無至他類之出邊
- 過:有出邊
- 吸:類含一態而
P[i,i] = 1
3.3. 每回類算可至類內任態之諸環長之 GCD 察周期。
- 周 = 1 為非周
3.4. 定鏈為 不可約(一通類)或 可約(多類)。
3.5. 要:列每類、其類(過/回)、周、有無吸態。
得: 全分類:每態於一通類附籤(過、正回、零回、吸)與周。
敗則: 若圖析不一致,驗轉陣無負入且行正和。極大鏈用迭圖法非全陣冪。
第四步:算定態
4.1. 不可約非周鏈:解 pi * P = pi 附 sum(pi) = 1。
- 重式為
pi * (P - I) = 0附歸約 - 用特值分解:
pi為P對應特值 1 之左特向,歸至和 1
4.2. 不可約周鏈:定態仍存而鏈不從任始態收。如 4.1 算之。
4.3. 可約鏈:每回類獨算定態。總定態為依過態吸概之凸合。
4.4. CTMC:解 pi * Q = 0 附 sum(pi) = 1。
4.5. 驗:算 pi 乘 P(或 Q),確結等 pi(容差內)。
4.6. 可約鏈中,算每過態至每回類之吸概。此概合每類定態給依始態之久行。
4.7. 錄譜隙(最大特值與次大之差)。此量控收於定之率,於第六步定模驗所需步數有用。
得: 長 n 之概向 pi 諸入非負,和 1,於容差內滿足平衡式。非周不可約鏈譜隙當正。
敗則: 若特解器不收,試迭冪法(pi_k+1 = pi_k * P 至收)。若多特值等 1,鏈可約——按 4.3 處。若譜隙極小,鏈混緩,驗需極長模。
第五步:算平均首至時
5.1. 定平均首至時 m[i,j] 為從 i 至 j 之預步數。
5.2. 不可約鏈中解線性式系:
m[i,j] = 1 + sum(P[i,k] * m[k,j] for k != j)諸i != jm[j,j] = 1 / pi[j](平均回時)
5.3. 吸鏈中算吸概與至吸預時:
- 分
P為過(Q_t)與吸塊 - 基本陣:
N = (I - Q_t)^{-1} - 至吸預步:
N * 1(一柱向) - 吸概:
N * R,R為過至吸塊
5.4. CTMC 中以生陣之預留時代步數。
5.5. 結果以陣或要態對首至時表呈。
得: 平均首至時陣,對角入等平均回時(1/pi[j]),非對角入於通態對為有限。
敗則: 若線系奇,鏈有過態不可至標。報不可至對為無限。驗第三步鏈構。
第六步:模驗
6.1. 自始分布模 K 獨樣徑,每行 T 步。
6.2. 棄燒入後,跨諸徑算態占頻以實估定態。
6.3. 比模頻與析定態。算總變距或卡方統計。
6.4. 跨復記每標態之首至時實估平均首至時。
6.5. 報合度量:
- 析與模定概之最大絕差
- 模首至時對析值之 95% 信區
6.6. 若差逾容,再察轉陣構與分類步。
得: 模定態於析解總變距 0.01 內(足長行)。模平均首至時於析值 10% 內。
敗則: 增模長 T 或復數 K。若差持,析解或有數誤——以更高精重算。
驗
- 轉陣
P諸入非負且每行和為 1(CTMCQ行和 0) - 定態
pi為有效概向滿足pi * P = pi - 平均回時等
1/pi[j],每回態j - 模態頻收於析定態
- 態分類一致:無回態邊出其通類
P諸特值絕值至多 1,每回類正一特值等 1- 吸鏈:每過態吸概跨諸吸類和為 1
- 基本陣
N = (I - Q_t)^{-1}諸入正(預訪數正) - 細衡若且唯若鏈可逆:
pi[i] * P[i,j] = pi[j] * P[j,i]諸i,j
陷
- 態空不盡:態漏生子隨陣(行和小於 1)。析前必驗行和
- 混 DTMC 與 CTMC:率陣必非正對角且行和 0。施 DTMC 式於率陣生謬
- 忽周:周鏈有有效定態而於常義不收。混時析必慮周
- 大鏈數不穩:大密陣特分解費而失精。逾數百態用稀解器或迭法
- 零概轉:轉陣構零可使鏈可約。算單定態前驗不可約
- 模長不足:短模混差生偏估。必算有效樣大並察跡圖
- 未驗即設可逆:諸析簡(如細衡)唯施可逆鏈。用倚可逆之結前驗
pi[i] * P[i,j] = pi[j] * P[j,i] - 冪法浮點積:屢迭
pi * P積捨誤。冪迭中定期重歸pi至和 1
參
- Fit Hidden Markov Model — 擴馬可夫鏈為含發放之潛態模
- Simulate Stochastic Process — 通模框,可施於馬可夫鏈樣徑與蒙特卡洛驗
GitHub リポジトリ
関連スキル
content-collections
メタこのスキルは、Content Collections(Markdown/MDXファイルを型安全なデータコレクションに変換するTypeScriptファーストのツール)の本番環境でテストされた設定を提供します。Zodバリデーションによる型安全性を実現し、ブログ、ドキュメントサイト、コンテンツ重視のVite + Reactアプリケーション構築時にご利用ください。Viteプラグインの設定、MDXコンパイルから、デプロイ最適化、スキーマバリデーションまで、すべてを網羅しています。
polymarket
メタこのスキルは、開発者がPolymarket予測市場プラットフォームを活用したアプリケーション構築を可能にします。API統合による取引や市場データの取得に加え、WebSocketを介したリアルタイムデータストリーミングにより、ライブ取引や市場活動を監視できます。取引戦略の実装や、ライブ市場更新を処理するツールの作成にご利用ください。
creating-opencode-plugins
メタこのスキルは、開発者がコマンド、ファイル、LSP操作など25種類以上のイベントタイプにフックするOpenCodeプラグインを作成することを支援します。JavaScript/TypeScriptモジュール向けに、プラグイン構造、イベントAPI仕様、および実装パターンを提供します。カスタムイベント駆動ロジックでOpenCode AIアシスタントのライフサイクルをインターセプト、監視、または拡張する必要がある場合にご利用ください。
sglang
メタSGLangは、高性能なLLMサービングフレームワークであり、RadixAttentionプレフィックスキャッシュを活用したJSON、正規表現、エージェントワークフロー向けの高速で構造化された生成を特長とします。特にプレフィックスが繰り返されるタスクにおいて、大幅に高速な推論を実現し、複雑な構造化出力やマルチターン対話に最適です。制約付きデコードが必要な場合や、広範なプレフィックス共有を伴うアプリケーションを構築する場合は、vLLMなどの代替案ではなくSGLangを選択してください。
