1. 程式人生 > >2018軟件測試_Homework 1

2018軟件測試_Homework 1

可能 ble 學習 軟件 work 人工智能 ++ learning 得到

三年過去了,自己也寫了不少代碼,當然bug也是各種各樣,下面我將簡單描述一下大三上學期我的人工智能大作業中出現的一個error

這是一個偽隨機數的問題。我的C++項目通過Double Q-learning進行學習,尋找玩21點遊戲的最優策略,要以特定的概率執行一系列動作,最後通過訓練優化策略,因此我需要隨機數進行概率事件的模擬,但我發現每次運行時總會固定執行某些動作,即某些狀態的動作執行不是依據概率來的,而是固定的,結果就造成了我的模型始終無法達到理想的效果。

通過閱讀源碼,我覺得可能是隨機數出了問題,上網進行了解,得知隨機數以時間為種子,而我將種子作為參數通過傳值傳入了函數中,導致隨機數種子的異常,結果就是隨機數不再隨機。

接著我便不再將種子作為參數傳入函數中,而是將實現過程全部寫在main函數裏,這樣得到的是連續的時間,隨機數的異常也就解決了,唯一的缺點可能就是main函數比較臃腫。

2018軟件測試_Homework 1