コンテンツにスキップ

Decision Modules

対象: pca.decision

Purpose

任意の decision point に対して PolicyDecision を返す policy 関数を提供する。NN-only、remote inference、local batcher、heuristic reranker、rule agent との接続は最終的にこの型へ統一される。

Modules

Module Role Implementation Details
pca.decision.policy policy core PolicyDecision, PolicyRuntimeStats, deterministic fallback, NN single/batch inference, checkpoint policy adapter を実装する。
pca.decision.batched_policy local inference batcher worker process から queue に来る inference request を batch forward する。self-play 並列時の NN 効率化に使う。
pca.decision.remote_policy HTTP policy client serving.policy_server に observation を送り、JSON response を PolicyDecision に戻す。
pca.decision.reranker heuristic reranker base policy score に attack/prize/board safety 系 heuristic score を合成する。

Public API

API Usage
PolicyDecision 全 policy 実装の戻り値。
deterministic_token_policy(obs) checkpoint がない時の fallback。
neural_policy(obs, model, torch, ...) single observation の NN 推論。
neural_policy_batch(observations, model, torch, ...) batched NN 推論。
remote_policy(url, timeout) HTTP inference policy を作る。
batched_policy_client(...) local multiprocessing batcher 用 policy を作る。
with_heuristic_reranker(policy, config) score reranking 付き policy に包む。

PolicyDecision Contract

Field Meaning
selected CABT select.option index。
scores legal option ごとの score/logit。
value 現在手番プレイヤー視点の value。
target_policy self-play target として明示する distribution。
meta aux heads、teacher metadata、diagnostics。

Usage

from pca.decision.policy import deterministic_token_policy

decision = deterministic_token_policy(obs)
selected = decision.selected

Notes

  • value は current player perspective。ISMCTS は root player perspective に直して leaf backup する。
  • scores の長さは EncodedObservation.action_count と一致させる。