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 と一致させる。