mcpField
M
math-model-selector

math-model-selector

github.com/parcadeiその他3.9k102 回インストール39 週間前に更新
リポジトリ

math-model-selector について

問題に適した数学的フレームワークを質問に沿って選ぶスキルです。どの数学分野を使うべきか判断できない場合に、変化、不確実性、最適化、必要な精度をもとに選択を導きます。

主な機能

  1. 01問題の特性に応じた分野選択
  2. 02離散変化と連続変化の区別
  3. 03ランダム性と不確実性の評価
  4. 04最適化目標と種類の確認
  5. 05必要な精度に応じた手法選択

活用シーン

  1. 01現実の問題に適した枠組みの特定
  2. 02モデリングの初期方程式や手法の選択
  3. 03求める精度に応じた解析またはシミュレーションの選択

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/parcadei/continuous-claude-v3 --skill math-model-selector

インストール後、Claude Code で/math-model-selectorを入力して読み込まれたか確認します。

詳細

数学モデル選択ツール

使用するタイミング

次のようなフレーズが使われたときに起動します。

  • 「どの数学を使えばよいですか」
  • 「どの数学的フレームワークが適切ですか」
  • 「これをどのようにモデル化すればよいですか」
  • 「これはどのような種類の問題ですか」
  • 「この問題を形式化してください」

ユーザーが問題を抱えているものの、どの数学分野が当てはまるかわからない場合に使用します。

プロセス

ポリア式の質問を使って、ユーザーを判断ツリーに沿って案内します。

1. 量を特定する

質問: 「理解しようとしている量や現象は何ですか?」

  • 物理の問題 -> 保存則、微分方程式
  • 経済学 -> 均衡、最適化
  • データのパターン -> 統計、回帰
2. 変化の特徴を捉える

質問: 「何が、どのように変化しますか?」

  • 離散的なステップ -> 差分方程式、漸化式
  • 連続的な変化率 -> ODE
  • 変化率の変化が重要 -> 2階 ODE
  • 空間的な変化 -> PDE
3. 不確実性を確認する

質問: 「ランダム性や不確実性が関係していますか?」

  • 決定論的 -> 標準的な解析
  • 認識論的不確実性 -> ベイズ法
  • ランダム過程 -> 確率論、確率過程
4. 最適化を確認する

質問: 「何かを最適化していますか?」

  • 凸目的関数 -> 線形計画法/二次計画法
  • 非凸 -> 勾配降下法、進化的手法
  • 離散的な選択 -> 組合せ論、整数計画法
5. 回答の精度

質問: 「どの程度の精度の回答が必要ですか?」

  • 大まかな推定 -> 次元解析
  • 定性的な挙動 -> 相図、安定性
  • 数値的な回答 -> シミュレーション
  • 厳密な閉形式 -> 解析的手法

たずねるべき重要な質問

  1. 何が変化しますか?(離散的か連続的か)
  2. 何が変化を引き起こしますか?(変化率への依存関係)
  3. 何がランダムですか?(不確実性の種類)
  4. 何を最適化していますか?(目的関数)
  5. どの程度の精度が必要ですか?(定性的か定量的か)

出力形式

Framework Recommendation:
- Primary: [framework name]
- Why: [one-sentence justification]

Starting Point:
- Key equations: [relevant formulas]
- Initial approach: [first step]

Tools to Use:
- [specific script or computation tool]

Related Skills:
- [domain skill to activate next]

対話例

User: I want to model how a rumor spreads through a population

Claude: Let me help you find the right framework.

Q1: What quantity are we tracking?
> Number of people who heard the rumor over time.

Q2: What causes it to change?
> Spread rate depends on who knows and who doesn't.

Q3: Is there randomness?
> Assume deterministic (average behavior) for now.

Q4: Optimizing anything?
> No, just understanding dynamics.

Q5: What precision?
> Qualitative behavior, maybe predict peak rate.

Framework Recommendation:
- Primary: First-order ODE (logistic growth)
- Why: Rate depends on current state nonlinearly

Starting Point:
- dN/dt = r * N * (1 - N/K)
- N = heard count, K = population, r = spread rate

Tools:
- sympy_compute.py solve (equilibrium)
- Phase line for qualitative behavior

Related Skills:
- math/math-intuition-builder (understand the model)
- odes-pdes/first-order-odes (solve it)

併用するスキル

フレームワークの選択後、次を提案します。

  • math-intuition-builder - フレームワークを理解するため
  • 該当する分野のスキル - 実際の計算を行うため
  • math-mode - 記号的な検証を行うため

コメント