組卡說明

組卡

目標、最優證明與搜尋策略

目錄
01

最佳化的目標

每個推薦目標對應一個數值,搜尋讓這個數值盡可能大:撃奏ライブ和自由ライブ是所選歌曲、難度的期望分數;刷活動 PT 是每局的期望活動 PT;綜合力最高是隊伍綜合力。

期望分數:每局開始時,5 名成員的技能發動順序會被隨機打亂。我們把 5 人的 120 種順序視為等機率,每種順序都完整模擬一整局(技能、Snap 效果,撃奏ライブ還包括激走區間與名次加分),再取平均。技能或任務帶抽籤時,按遊戲中的機率對抽籤結果求期望。

演奏條件:預設是理論最佳打法,全部 Perfect,撃奏ライブ中能判 Just 的音符全部 Just。在「演奏假設」裡調整 Great 率或 Just 率後,按比例把 Great 和非 Just 的判定均勻分布到整張譜面上再計算。它描述的是一份聲明的演奏,不是對你實際表現的預測。

一支隊伍由隊長、其餘 4 名成員和每人搭配的 Snap 組成。4 名成員之間換站位不影響分數,所以結果裡的站位只是展示。

02

候選範圍

候選範圍 D 是你卡池裡所有合法的隊伍:滿足遊戲的編成規則,以及你在「卡牌限制」裡設定的必選和排除。不同的隊長、成員組合和 Snap 搭配都是不同的候選。

計算使用你登錄的卡牌養成(等級、特訓、卡階、技能等級)和玩家加成。卡池中缺少的數值會先列出來請你補齊;結果沒有涵蓋全部持有卡時,頁面會註明。

03

「已證明最優」的定義

「已證明最優」表示:在完整的合法候選範圍 D 中,列出的結果恰好是按「目標值降序 → 綜合力降序 → 規範 ID 順序」排列的前 min(K, |D|) 支隊伍,K 是頁面回傳的數量(5)。隊伍的選擇、名次和同分時的先後都已確定。

證明不需要逐一計算每支隊伍。每個候選要麼和結果精確比較過,要麼被可靠的上界排除:它能達到的最好值已經低於第 K 名的精確值。這不是抽樣,也不是近似。

如果 D 為空,「已證明」表示在這些條件下沒有可行的隊伍。

這是相對於聲明的計算模型的演算法證明,依賴模型、上界和程式都正確。沒有登錄的卡、填錯的養成、實際演奏中的失誤都不在計算之內。

目標值
所選推薦目標的精確值,例如 120 種順序的平均分。
上界
保證不低於真實值的估計。上界已經低於門檻的候選,真實值只會更低,可以直接排除。
規範 ID 順序
目標值和綜合力都相同時,按卡牌編號的固定順序排列,同一輸入總是得到同一結果。
04

「未證明」與目前最佳

「未證明」表示精確搜尋尚未完成最優性證明;已有結果可能最優,也可能不是。

到達你選的最長計算時間或手動停止時會出現這種情況。頁面列出目前找到的最好隊伍,它們的數值都經過精確計算;同時給出「目前最好」和「最優不超過」兩個數。任何隊伍都不會超過後者,所以真正的最優落在兩者之間,差距越小,離最優越近。

想要證明,可以把最長計算時間調長或選「不限」,再算一次。

06

怎麼讀結果

每個結果顯示目標值、綜合力、遊戲原生樣式的編成,以及每個位置的成員卡、養成和搭配的 Snap。

目標值有時顯示為區間,表示精確值落在其中,例如帶抽籤的技能還沒有細化時。

計算完成後,每支隊伍還會列出 120 種順序中分數最低、居中和最高的順序,用來了解技能順序帶來的波動。

07

原始碼

計算模型(crates/ournotes-sim)與搜尋演算法(crates/ournotes-search)都在 GitHub 的 empty-sekai/ournotes-deck 儲存庫公開,組卡頁頂部有直達連結。