model-markov-chain
Acerca de
Esta habilidad construye y analiza cadenas de Markov discretas o continuas, manejando tareas como construir matrices de transición, clasificar estados y calcular distribuciones estacionarias. Se utiliza para modelar sistemas sin memoria, calcular probabilidades de estado estable y tiempos esperados de alcance, o como base para HMMs y MDPs. Las capacidades clave incluyen determinar probabilidades de absorción y tiempos medios de primer paso.
Instalación rápida
Claude Code
Recomendadonpx 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-chainCopia y pega este comando en Claude Code para instalar esta habilidad
Documentación
模馬可夫鏈
由原轉數或域定構、分、析離時或續時馬可夫鏈,生定態、平均首至時、模驗。涵 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 — 通模框,可施於馬可夫鏈樣徑與蒙特卡洛驗
Repositorio GitHub
Habilidades relacionadas
content-collections
MetaEsta habilidad proporciona una configuración probada en producción para Content Collections, una herramienta centrada en TypeScript que transforma archivos Markdown/MDX en colecciones de datos con tipado seguro mediante validación Zod. Úsala al construir blogs, sitios de documentación o aplicaciones Vite + React con mucho contenido para garantizar seguridad de tipos y validación automática de contenido. Abarca todo, desde la configuración del plugin de Vite y compilación MDX hasta la optimización de despliegue y validación de esquemas.
polymarket
MetaEsta habilidad permite a los desarrolladores crear aplicaciones con la plataforma de mercados de predicción Polymarket, incluyendo la integración de API para operaciones y datos de mercado. También proporciona transmisión de datos en tiempo real a través de WebSocket para monitorear operaciones en vivo y actividad del mercado. Úsela para implementar estrategias de trading o crear herramientas que procesen actualizaciones de mercado en tiempo real.
creating-opencode-plugins
MetaEsta habilidad ayuda a los desarrolladores a crear complementos de OpenCode que se conectan a más de 25 tipos de eventos, como comandos, archivos y operaciones LSP. Proporciona la estructura del complemento, las especificaciones de la API de eventos y los patrones de implementación para módulos en JavaScript/TypeScript. Úsala cuando necesites interceptar, monitorear o extender el ciclo de vida del asistente de IA de OpenCode con lógica personalizada basada en eventos.
sglang
MetaSGLang es un framework de alto rendimiento para el servicio de LLM que se especializa en generación rápida y estructurada para JSON, expresiones regulares y flujos de trabajo de agentes utilizando su caché de prefijos RadixAttention. Ofrece una inferencia significativamente más rápida, especialmente para tareas con prefijos repetidos, lo que lo hace ideal para salidas complejas y estructuradas, y conversaciones multiturno. Elige SGLang sobre alternativas como vLLM cuando necesites decodificación restringida o estés construyendo aplicaciones con uso extensivo de prefijos compartidos.
