スキル一覧に戻る

model-markov-chain

pjt222
更新日 Yesterday
12 閲覧
17
2
17
GitHubで表示
メタaidesign

について

このスキルは、離散または連続マルコフ連鎖の構築と解析を行い、遷移行列の構築、状態の分類、定常分布の計算などのタスクを処理します。メモリレスシステムのモデリング、定常状態確率と到達時間の期待値の計算、あるいは隠れマルコフモデル(HMM)やマルコフ決定過程(MDP)の基礎として使用されます。主な機能には、吸収確率と平均初到達時間の算出が含まれます。

クイックインストール

Claude Code

推奨
メイン
npx skills add pjt222/agent-almanac -a claude-code
プラグインコマンド代替
/plugin add https://github.com/pjt222/agent-almanac
Git クローン代替
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/model-markov-chain

このコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします

ドキュメント

模馬可夫鏈

由原轉數或域定構、分、析離時或續時馬可夫鏈,生定態、平均首至時、模驗。涵 DTMC 與 CTMC 端至端流。

用時

  • 模未來態唯依當前態之系(無記性)
  • 已察有限態間之轉數或率
  • 求程之久態定概
  • 須定預至時或吸概
  • 分態為過、回、吸以析構
  • 比同系之代馬可夫模
  • 為高模築基(隱馬可夫、強化學習 MDP)

InputTypeDescription
state_spacelist/vectorExhaustive enumeration of all states in the chain
transition_datamatrix, data frame, or edge listRaw transition counts, a probability matrix, or a rate matrix (for CTMC)
chain_typestringEither "discrete" (DTMC) or "continuous" (CTMC)

可選

InputTypeDefaultDescription
initial_distributionvectoruniformStarting state probabilities
time_horizoninteger/float100Number of steps (DTMC) or time units (CTMC) for simulation
tolerancefloat1e-10Convergence tolerance for iterative computations
absorbing_stateslistauto-detectStates explicitly marked as absorbing
labelsliststate indicesHuman-readable names for each state
methodstring"eigen"Solver method: "eigen", "power", or "linear_system"

第一步:定態空與轉

1.1. 列諸異態。確單盡而互斥。

1.2. 若由原察始,列轉數於 n x n 數陣 C,其中 C[i,j] 乃由 ij 所察轉之數。

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 = pisum(pi) = 1

  • 重式為 pi * (P - I) = 0 附歸約
  • 用特值分解:piP 對應特值 1 之左特向,歸至和 1

4.2. 不可約周鏈:定態仍存而鏈不從任始態收。如 4.1 算之。

4.3. 可約鏈:每回類獨算定態。總定態為依過態吸概之凸合。

4.4. CTMC:解 pi * Q = 0sum(pi) = 1

4.5. 驗:算 piP(或 Q),確結等 pi(容差內)。

4.6. 可約鏈中,算每過態至每回類之吸概。此概合每類定態給依始態之久行。

4.7. 錄譜隙(最大特值與次大之差)。此量控收於定之率,於第六步定模驗所需步數有用。

得:n 之概向 pi 諸入非負,和 1,於容差內滿足平衡式。非周不可約鏈譜隙當正。

敗則: 若特解器不收,試迭冪法(pi_k+1 = pi_k * P 至收)。若多特值等 1,鏈可約——按 4.3 處。若譜隙極小,鏈混緩,驗需極長模。

第五步:算平均首至時

5.1. 定平均首至時 m[i,j] 為從 ij 之預步數。

5.2. 不可約鏈中解線性式系:

  • m[i,j] = 1 + sum(P[i,k] * m[k,j] for k != j)i != j
  • m[j,j] = 1 / pi[j](平均回時)

5.3. 吸鏈中算吸概與至吸預時:

  • P 為過(Q_t)與吸塊
  • 基本陣:N = (I - Q_t)^{-1}
  • 至吸預步:N * 1(一柱向)
  • 吸概:N * RR 為過至吸塊

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(CTMC Q 行和 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

GitHub リポジトリ

pjt222/agent-almanac
パス: i18n/wenyan/skills/model-markov-chain
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

関連スキル

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を選択してください。

スキルを見る