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または利用側の検証器が次を確認します。
- 署名または認証済み送信元である
problem_version、model_version、node_idが現在の契約と一致するinput_hashが現在の入力要約と一致するplan_generationが現在値より新しい- 単調時刻で期限内であり、未来の時刻でない
- 変数の型、範囲、件数、制約を満たす
- 解の目的関数値・検証結果が許容閾値内である
どれか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標準は契約、期限、世代、ハッシュ、認証、制約検証の境界を定義します。目的関数の妥当性、ソルバーの品質、機体・ロボット固有の制御、安全認証、秘密管理は利用側の責務です。