コンテンツにスキップ

HPDBN外部定義最適化

HPDBNは、外部で定義された最適化問題を非緊急・非同期に解く仕組みを提供します。対象は経路割当、ノード負荷分散、スケジューリング、接続重み、量子・QUBO形式の問題などです。外部解が到着しない場合でも、ローカル推論と利用側の安全制御は継続します。

問題のライフサイクル

sequenceDiagram
    participant App as Application
    participant PFC as Local PFC
    participant Solver as External Solver
    participant Verify as Core Validator
    App->>PFC: 入力要約 + 問題定義
    PFC->>PFC: 緊急度・期限・通信状態を判定
    PFC->>Solver: versioned problem envelope
    Solver-->>Verify: solution envelope
    Verify->>Verify: 認証・期限・世代・入力ハッシュ・制約を検証
    Verify-->>App: 検証済み計画または破棄理由
    PFC-->>App: ローカル経路を継続

問題定義

外部ソルバーへ渡す問題は、利用側が定義する不透明な文字列ではなく、バージョン付きの構造化 envelope として扱います。最低限、次を含めます。

項目 目的
problem_id / problem_version 問題スキーマの識別
node_id / model_version 対象ノードとモデルの固定
input_hash どの観測要約から作った問題かの固定
plan_generation 古い計画の再適用防止
created_at_us / expires_at_us 単調時刻による期限管理
目的関数と制約 解の意味と許容範囲
許可された変数・サイズ上限 DoSと意図しない問題拡大の防止
認証情報 送信元と改ざんの検証

生画像、生点群、秘密鍵、Safety Barrierの内部状態は問題定義に含めません。必要な情報は最小の特徴量・集約値に変換します。

解の検証と適用

解は受信しただけでは適用しません。Coreまたは利用側の検証器が次を確認します。

  1. 署名または認証済み送信元である
  2. problem_versionmodel_versionnode_id が現在の契約と一致する
  3. input_hash が現在の入力要約と一致する
  4. plan_generation が現在値より新しい
  5. 単調時刻で期限内であり、未来の時刻でない
  6. 変数の型、範囲、件数、制約を満たす
  7. 解の目的関数値・検証結果が許容閾値内である

どれか1つでも不一致なら解を破棄し、理由コードを監査ログへ記録します。検証済み計画であっても、Safety Barrierが拒否できる設計にします。

通信断・遅延・ソルバー障害

  • 通信断またはRTT超過時は新しい外部ジョブを投入しない
  • 期限切れのジョブ結果は適用しない
  • ソルバー障害、タイムアウト、部分解はローカル計画へ自動的に置き換えない
  • 必要なら利用側が明示的に期限付きキャッシュを採用する
  • 外部解が無い場合の動作は、ローカルCPU/SNNまたはSafety Barrierで定義する

QUBO、量子、地上GPU、クラウド最適化は、緊急制御の待ち合わせ点ではありません。最悪実行時間と通信遅延は、対象デバイス・ネットワークごとに測定します。

SDKと既存プラグイン

既存の DevicePlugin は、最適化問題を解く外部サービスそのものではありません。デバイス実行は既存プラグインを DevicePluginRuntimeAdapter で再利用し、外部最適化の問題定義・送信・検証・適用は別のアプリケーション境界で管理します。

SDK利用者は HPDBN SDK統合ガイドEvoSpikeNet-Core/examples/sdk/hpdbn_existing_plugin_bridge.py を参照してください。

責務範囲

Core標準は契約、期限、世代、ハッシュ、認証、制約検証の境界を定義します。目的関数の妥当性、ソルバーの品質、機体・ロボット固有の制御、安全認証、秘密管理は利用側の責務です。