在我們的遊戲中,我們有一位老闆(NPC),他的生命正在一段時間內被檢查,比如說1分鐘。 我需要找到一種推斷已知點(生命,時間)的方法,並在一分鐘後近似預測生命(1分鐘後生命將再次檢查,並將放入數據集) 此外,外推法需要考慮大多數最近的變化(例如,如果我們有10分,而後兩個變化很快,那麼它應該能夠預測下一個點更快的變化)。 我發現多個示例this one和this one,但似乎我無法在as3代碼中翻譯所有這些內容。基本上我在找的是2D外推。根據變化率計算敵方的生命值(外推)?
P.S.問題是任何計算的值都不應該高於以前的值,這是因爲老闆的生命值不能增加,也不能保持不變;他們只能減少。我想這意味着推斷不會。所以我正在尋找另一種算法。
這看起來不錯。對於未知數量的數據點,是否有可能用某種遞歸函數來總結這一點?謝謝! – 2014-12-07 20:29:59
這個想法是使用差分來估計變化。如果你有時間序列數據列表'd [i]'和另一個列表'd2 [i] = d [i] - d [i-1]',那麼'd2 []'是'd []'所有時間'i> 1'。由於'd2 []'也是*時間序列,您可以繼續這樣做並鏈接這些術語。我猜想,在一個點之後,這些條款會停止相關......個人而言,我會保留一定數量的條款積壓,同時增加新的條目,同時刪除最舊的條目。 – Conduit 2014-12-07 21:08:05
因此,基本上如果您決定3個術語「足夠好」,則保留最後三個損傷值的列表並應用上述功能。從初始值爲0(無損傷)開始,然後循環 - 如果前三個損傷測量值爲1,5,10,20,則列表變爲[0,0,0] - > [1,0,0] - > [5,1,0] - > [10,5,1] - > [20,10,5]。在每次推/推後重新計算估計值。 – Conduit 2014-12-07 21:12:17