1. Ban đầu chỉ muốn đánh thẳng mặt, cuối cùng mọc ra phòng thí nghiệm
Mục tiêu ban đầu rất đơn giản: tìm deck mạnh nhất hiện tại. Thu thập deck công khai, khóa luật, cho CPU đánh hàng chục nghìn trận rồi xem ranking.
Sự thật đầu tiên: AI xử lý luật đúng không đồng nghĩa AI chơi hay. Set 8 được cố định với 826 lá, engine commit, environment hash, deck hợp lệ và seed. Baseline lịch sử 12.480 game có rule coverage 100%, unsupported 0, rule gap 0, nhưng AI thô vẫn cho Sword ~79,8%, Forest 63,7%, Dragon 60,9%, Rune 25,6%.
Lặp lại sai lầm 10.000 lần không biến nó thành sự thật; chỉ biến nó thành sai lầm cực kỳ ổn định.
2. Thêm lời khuyên con người, bot yếu đi
human-prior-v1 thêm các nguyên tắc như giữ resource quan trọng, tôn trọng setup và win condition, không tiêu evolution vô tội vạ. Exact A/B gồm 2.016 paired units và 4.032 engine games. Baseline 50,99%; human-prior-v1 49,36%; delta -1,64pt.
Bot nghe người rồi yếu hơn.
Lời khuyên con người luôn có điều kiện. “Giữ lá này” sai nếu không dùng thì chết ngay. Fixed weight giữ câu chữ nhưng giết ngữ cảnh.
3. Adaptive v2 nâng trung bình và làm Witch hỏng
Adaptive v2 chuyển giữa LETHAL, SURVIVE, STABILIZE, SETUP, RESOURCE, PRESSURE, thêm search ngắn và future value. Overall +0,74pt so với v1, nhưng Runecraft -6,25pt, vượt preregistered leader floor -5pt. REJECT.
T11 sau đó +0,30 so với v1 nhưng -2,38 so với reference-v5 và Abyss -16,67. REJECT tiếp.
Điểm trung bình đậu; một môn đang cháy.
4. Phân tích nguyên nhân xong thì bắt nhầm… chính nhà nghiên cứu
Có bug thật: max_nodes=160 không nối vào planner nên 9.067 decisions vượt nominal limit. Sửa xong performance rộng vẫn không tăng.
Rồi xuất hiện bug actor attribution: một intervention được gọi “loss→win” theo fixed player, nhưng với actor thực sự đổi action thì là win→loss. Nhà nghiên cứu bắt nhầm nạn nhân.
Actor/direction/invariant được sửa, nhưng thủ phạm performance vẫn chưa lộ mặt.
5. Sau 31.406 game, “chưa biết” trở thành kết luận hợp lệ
Nghiên cứu policy Set 8 đóng với 20 experiments và 31.406 confirmed actual engine games. Trong 439 discordant units: 0 được giải thích nguyên nhân performance hoàn chỉnh, 11 một phần, 428 unresolved.
Trạng thái PAUSED_COMPLETE_NO_PROMOTION, active vẫn human-prior-v1, final unseen holdout 8.064 game không dùng.
Thành quả không phải super AI mà là hệ thống không thăng cấp AI chỉ vì một biểu đồ trông đẹp.
6. Sau đó cho 52 deck thị trường đánh 46.900 game
Market corpus có 52 decks, 25 archetypes, 7 leaders. Quick/broad, local optimization 1–3 lá, unseen-seed ranking, guide trace tạo thành 46.900 actual engine games.
Bảy deck khuyến nghị direct round robin: 21 unordered pairs, 1.512 games, 72 mỗi non-diagonal cell, reference-v5 756, human-prior-v1 756, first/second 756/756. Coverage 100%, unsupported/rule gap/hidden-info violation = 0.
7. “Bảng xếp hạng hai bên cùng não phẳng” ra đời
| Hạng | Deck | Trung bình 7×7 | Matchup tệ nhất |
|---|---|---|---|
| 1 | Buff Forest | 71,99% | Abyss 59,72% |
| 2 | Rally Sword | 65,97% | Forest 31,94% |
| 3 | Midrange Abyss | 54,17% | 40,3% |
| 4 | Artifact Portal | 54,17% | 36,1% |
| 5 | Ramp Dragon | 53,70% | Forest 25,0% |
| 6 | Evolution Haven | 31,71% | Dragon 12,5% |
| 7 | Calgidensula Witch | 18,29% | Forest 1,4% |
Deck mà “nước mạnh ngay bây giờ” thường vẫn tốt sau đó thì AI hiện tại xử lý dễ. Deck phải hy sinh tempo để mua sức mạnh 2–3 lượt sau thì khó hơn.
8. Trong giải người thật, Witch ở vũ trụ khác
Dexel Rising Cup #2 ngày 8/8/2026 có 64 đội, 192 người, 384 deck. Hand Witch xuất hiện 116 deck, khoảng 30,2%, đứng đầu rõ rệt; AF/Storm Portal 52, Evolution Haven 34, Rally/Evolution Sword 29, Ramp Dragon 25.
Người chơi cấp cao coi Witch là top meta, còn Calgidensula Witch trong AI 7×7 đứng cuối 18,29%. Không được giả định hai archetype là cùng 40 lá, nhưng gap human-vs-AI rất lớn.
Rally Sword mạnh ở cả hai. Heuristic thô: mạnh với AI đơn giản + mạnh với người giỏi có thể nghĩa là chịu lỗi quyết định tốt hơn.
9. Audit Future Optionality
24 mechanics của 7 leaders được audit theo RULE, STATE, VISIBILITY, IMMEDIATE VALUE, FUTURE VALUE, SEQUENCE, SEARCH, PLAN.
Trong 27.810 decisions và 118.575 root candidates, chỉ 8.878 —7,49%— có explicit future value. Rule/state/immediate value được SUPPORTED 24/24. Sequence MISSING 23/24 và plan MISSING 20/24.
AI biết luật và “lợi ngay bây giờ”, nhưng gần như không biểu diễn thứ tự và kế hoạch dài.
10. Witch: biết Spellboost tồn tại chưa phải hiểu Spellboost
Spellboost có rule/state, nhưng visibility/future value PARTIAL và sequence/plan MISSING. DRAW → SPELL khác SPELL → DRAW: lá rút trước có thể nhận boost sau đó, lá rút sau không nhận được lần boost đã xảy ra.
12 synthetic fixtures: DRAW_FIRST_BETTER 4, SPELL_FIRST_BETTER 0, EQUIVALENT 8. 50 representative real states được tổng kết STATE_DEPENDENT. Vì vậy sửa đúng không phải “luôn draw trước”, mà là replan sau khi quan sát.
11. Dragon: +1 max PP là mua quyền hành động tương lai
Ramp có thể mất board hiện tại nhưng mở card đắt, multi-card turn, heal, removal, finisher; 6→7 còn vượt Awakening threshold.
Audit có 12 Dragoncraft MYOPIC_REVERSAL: ramp 6 + Awakening 6. Immediate control cao hơn, nhưng diagnostic continuation t+2 đôi khi đảo ranking. Không được biến điều này thành fixed ramp bonus.
12. Năm class còn lại cũng có biến thể cùng vấn đề
Forest: combo threshold, low-cost generation, bounce order. Sword: Rally 9→10, multi-summon. Abyss: Shadows, reanimate pool, HP resource. Haven: Countdown và Act, nơi “không dùng bây giờ” giữ lựa chọn tương lai. Portal: zero-cost token/copy làm sequence space bùng nổ.
EP, SEP, Extra PP, giới hạn hand 9, board 5, leader area 5 cũng là trade-off giữa giá trị hiện tại và quyền lựa chọn tương lai.
13. Vì vậy xây planner closed-loop ba lượt thật
Planner phải đẩy engine ít nhất ba future turn boundary, không phải ba action. Nó cũng không khóa script ba lượt: làm một action, quan sát draw/generation/random, rồi tính lại ba lượt từ state mới. Cấu trúc gần Receding Horizon / MPC.
Không nhìn future draw order của mình hay true hand đối thủ; dùng belief sampling. FutureRelevantState giữ Spellboost, Extra PP, Countdown, Act, Rally, Shadows, destroyed-follower pool. Không có fixed optionality/Witch/ramp bonus.
14. Implementation thành công. Performance rơi thẳng xuống hầm.
Ablation 56 actual engine games. 3.979 / 3.979 root actions đều được đánh giá, three-turn completion 100%, hidden-info violation 0. Observation replan 81.621 lần, plan change 35.821 lần.
Nhưng base/widen = -37,5pt so với human-prior-v1; replan/state/robust = -25,0pt. Tất cả candidate phá preregistered -10pt floor. Kết luận đúng: REJECT_ACTIVE_UNCHANGED. Targeted/broad/market 7×7/final holdout đều NOT_RUN.
Ta đã tạo được AI nhìn xa hơn và sai tự tin hơn.
15. Điều này không chứng minh ba lượt là đủ
Chỉ nghi ngờ “implementation không thật sự tới ba lượt” bị loại. Chưa chứng minh ba lượt đủ về chiến lược. Base -37,5→replan -25,0 là directional signal thú vị nhưng mỗi candidate chỉ có 8 conditions.
12 Dragon reversal cũ khi replay bằng real three-turn search chỉ 1/12 thực sự đổi ranking sang ramp. Proxy cũ không phải ground truth.
Nghi phạm mới: terminal/leaf evaluator và opponent response model.
16. Câu hỏi tiếp theo: “Mày bảo tương lai này -150. Từ đây chơi 100 lần thắng bao nhiêu?”
Vòng kế tiếp chưa sửa weight. Đóng băng leaf ba lượt, phân rã evaluator raw feature→normalization→weight→contribution để tìm term tạo outlier -150.
Sau đó restart từ cùng leaf 32–128 lần đến terminal để lấy empirical win rate. Raw score không phải probability nên cần calibration score→probability, rồi đo Brier score, log loss, reliability. Ranking đo riêng bằng Spearman, Kendall, same-root argmax accuracy, pairwise concordance, decision regret.
Opponent response được cross-play với human-prior-v1, reference-v5 và search-based stress response. Nhờ vậy mới phân biệt được leaf scoring tệ, opponent model tệ, scale/weight sai, state representation thiếu, hay horizon ba lượt vẫn ngắn.
17. Kết luận: thấy được tương lai, nhưng thang điểm đáng ngờ
AI đã đi từ “nước nào mạnh ngay bây giờ?” tới “tôi thật sự mô phỏng được ba lượt”, nhưng cách nó chấm tốt-xấu của tương lai vẫn chưa đáng tin.
Hành trình đi qua Sword 79,8%, human advice phản tác dụng, Witch hỏng, actor bug, 46.900 market games, Future Optionality audit và finally three-turn foresight.
Rồi AI yếu hơn.
Ban đầu chỉ muốn đánh mặt. Môn tiếp theo lại là Brier score và leaf-value calibration. Shadowverse biến thành cao học lúc nào không biết.
Phụ lục dữ liệu
- Set 8 card DB: 826
- baseline 12.480 games
- policy research 31.406 games
- status
PAUSED_COMPLETE_NO_PROMOTION - active
human-prior-v1 - market 52 decks / 25 archetypes / 7 leaders
- market analysis 46.900 games
- direct 7×7 1.512 games
- optionality 27.810 decisions / 118.575 candidates / 7,49%
- sequence MISSING 23/24; plan MISSING 20/24
- Dragon reversals 12 = ramp 6 + Awakening 6
- RH3 Ablation 56 games
- root coverage 3.979/3.979; completion 100%
- replans 81.621; plan changes 35.821
- result
REJECT_ACTIVE_UNCHANGED - final holdout
NOT_RUN
- Shadowverse: Worlds Beyond official Deck Portal
- Dexel Rising Cup #2
- Silver & Veness (2010), POMCP
- Cowling, Powley & Whitehouse (2012), ISMCTS
- Model Predictive Control / Receding Horizon Control
- Brier score, reliability, clustered validation
