第四章 實驗結果
4.5 以內建 AI 為對手學習阻擋行為時超車成功率與時間
4.5.1 以 40 秒為判斷成功與否時的表現
在第三章中有提到過阻擋行為時的表現因學習時間長度不同對超車時間分 布也會有所變化。表 4-10 為以 40 秒為學習時間限制下經 200 次學習階段所統計 出的成功率與成功次數。在超車成功率中百分比旁邊的括號中代表 200 次學習階 段中成功超車的次數。平均超車時間的部分只採計在 40 秒內有成功超車的次數。
超車時間分布如圖 4-2。圖 4-2 分別是以 lliaw、tita 及 bt 為對手時的超車時間分 佈。圖中可以看到被超車時間大部分集中在 41~50 秒的區間中,這部分推測是在 使用圖 3-1 這個具有較長直線的測試賽道時,兩車在這個時間帶中正準備入彎或 出彎,且因為學習時間限制為 40 秒,所以沒有學習到這部份該有的行為。與 Fully reactive blocker 比較後發現,在面對 TORCS 內建 AI 這些行為模式較固定的對手 時,Q-learning blocker 可能會對內建 AI 中較常出現的模式過分學習(overfitting), 如 lliaw 與 tita,這兩個駕駛 AI 會在接近前車時將速度降低,而 Q-learning blocker 只需與超車者較靠近的一側稍微偏移即可在一段時間內不被超車者超過。也因此 若下次超車的情況與前次的行為有些不同便很有可能被超越,所以在這裡 Q-learning blocker 的表現會較 Fully reactive blocker 差。同樣的,bt 在超車時也以 向賽道內側偏移為主,若前車與內側距離過近(接近彎道時)才會向外側偏移進 行超車。
表 4-10:學習時間 40 秒下的超車成功率
對手駕駛 AI 超車成功率
Lliaw 28% (56/200)
Tita 28.5% (57/200)
Bt 30.5% (61/200)
圖 4-2:學習阻擋行為之超車時間分佈圖:每個時間區間中左邊是 lliaw 測試結果,
中間是 tita 測試結果而右邊則是 bt 測試結果。
因為在學習時間被限制為 40 秒的情況下,我們發現在超車時間的分布裡,
出現了超車時間都擠在 40 秒後的區間之中,推測可能是因為時間限制的關係導 致沒有學到針對 40 秒以後的行為。於是我們將學習時間拉長至 60 秒再次觀察其 時間分布。表 4-11 是以 60 秒為學習界限時經 200 次學習階段所統計出的成功率 與成功次數。在超車成功率中百分比旁邊的括號中代表 200 次學習階段中成功超 車的次數。時間分布如圖 4-3。
表 4-11:學習時間 60 秒下的超車成功率
對手駕駛 AI 超車成功率
Lliaw 26.5% (53/200)
Tita 28% (56/200)
Bt 31% (62/200)
0 20 40 60 80 100 120
0~10 11~15 16~20 21~25 26~30 31~35 36~40 40~50 50~60 61~
lliaw tita bt
圖 4-3:60 秒學習阻擋行為之超車時間分佈圖:每個時間區間中左邊是 lliaw 測 blocker 進行學習後的 Q-learning overtaker 時,在對 Q-learning blocker 進行三次 不同學習,此處 Q-learning overtaker 不再更新其 Q-table 內動作對應的值,只對 阻擋行為進行學習。經測試,三次學習超車成功率分別為 37%、39.5%及 36.5%,
平均成功率可達到約 37.7%。對比表 4-2 Q-learning blocker 與 Fully reactive blocker 的測試結果中可以知道在長直線賽道上,Q-learning blocker 的表現優於 Fully reactive blocker。實際觀察兩者之駕駛行為後發現,Fully reactive blocker 是對後 車的位置去調整自己與賽道中心線的距離,所以當後車行進路線貼近賽道邊緣時,
Fully reactive blocker 也會讓自己的行進路線貼近邊緣,造成另外一側有非常大寬 度的賽道,當後車切換路徑的速度夠快時(如 Q-learning overtaker),則較容易被
0
0~10 11~15 16~20 21~25 26~30 31~35 36~40 40~50 50~60 61~
lliaw tita bt
超越。相對的,Q-learning blocker 在直線上很少會讓自己貼近賽道邊緣,在後方 有來車時,都與賽道邊緣維持一段距離。如此行為模式讓超車者較難超車,因為 AI 不會開到超過賽道邊緣的草地上,使得某一側的賽道空間不足以進行超車,
而要切換至另一側時,依然有很大機會被阻擋者用這種方法阻擋下來。但在預備 入彎與出彎時,因為 berniw 在過彎時會讓賽車由外側開進內側,再由內側開回 外側,使得在彎道的出入口附近會有較容易被超車的情形發生。而前面提到的面 對內建 AI 時可能有 overfitting 的問題在這邊較不嚴重,因為 Q-learning overtaker 切換路徑的速度較 AI 快,所以學習的時候會出現的情況也較多。被超車成功率 的上升主要因為 Q-learning overtaker 的超車行為較強。