001-【CS50-AI】【 Introduction to AI with P

1. 人工智能涵蓋了各種類型的技術(shù),包括圖像識別、游戲玩法和自然語言處理等。
2. 搜索是人工智能中的一個重要問題,通過搜索算法,AI可以找到問題的解決方案。
3. 知識表示和推理是AI中的另一個關(guān)鍵領(lǐng)域,AI需要能夠知道信息、表示信息,并能夠從信息中進(jìn)行推理。
4. 不確定性是AI中一個重要的概念,AI需要能夠處理不確定性事件,并根據(jù)概率進(jìn)行決策。
5. 機器學(xué)習(xí)是AI中的一個重要技術(shù),通過學(xué)習(xí)和數(shù)據(jù),計算機可以變得越來越智能,例如垃圾郵件過濾和語音識別等。
6. 在搜索問題中,我們的目標(biāo)是找到最優(yōu)解,即路徑成本最低的解決方案。
7. 我們使用節(jié)點來表示問題中的狀態(tài),每個節(jié)點包含當(dāng)前狀態(tài)、父節(jié)點、從父節(jié)點到當(dāng)前狀態(tài)的操作以及路徑成本。
8. 搜索算法的基本思路是從初始狀態(tài)開始,不斷探索可行的下一步,并將其加入到待探索的節(jié)點集合中。
9. 為了避免陷入無限循環(huán),我們需要記錄已經(jīng)探索過的節(jié)點,并在將節(jié)點加入到待探索集合之前進(jìn)行檢查。
10. 使用棧作為待探索節(jié)點集合可以實現(xiàn)后進(jìn)先出的探索順序。
11. 深度優(yōu)先搜索(DFS)是一種搜索算法,它通過堆棧來實現(xiàn),總是探索最深的節(jié)點。
12. 廣度優(yōu)先搜索(BFS)是一種搜索算法,它通過隊列來實現(xiàn),總是探索最淺的節(jié)點。
13. DFS會一直沿著一個路徑探索,直到遇到死胡同,然后回溯并嘗試其他路徑。
14. BFS會同時探索所有可能的路徑,先探索離初始狀態(tài)更近的節(jié)點。
15. DFS和BFS都可以用來解決問題,但DFS可能不會找到最優(yōu)解,而BFS會找到最短路徑。
16. 在搜索問題中,可以通過遍歷父節(jié)點直到返回初始狀態(tài)來構(gòu)建解決方案的動作序列和單元格列表。
17. 在實現(xiàn)搜索算法時,可以使用已探索集合來避免重復(fù)探索相同的狀態(tài)。
18. 深度優(yōu)先搜索(DFS)和廣度優(yōu)先搜索(BFS)是無信息搜索算法,它們不使用問題特定的知識來解決問題。
19. 貪婪最佳優(yōu)先搜索(GBFS)是一種啟發(fā)式搜索算法,它根據(jù)啟發(fā)函數(shù)估計節(jié)點與目標(biāo)的距離來選擇要擴展的節(jié)點。
20. 曼哈頓距離是一種常用的啟發(fā)函數(shù),它通過計算節(jié)點與目標(biāo)在水平和垂直方向上的步數(shù)來估計它們之間的距離。
21. 通過使用啟發(fā)式函數(shù)來估計目標(biāo)距離,可以幫助我們在搜索算法中做出更好的決策。
22. 貪婪最佳優(yōu)先搜索算法通過選擇啟發(fā)式函數(shù)值最小的節(jié)點來進(jìn)行搜索。
23. 貪婪最佳優(yōu)先搜索算法不一定能找到最優(yōu)解,因為它只關(guān)注局部最優(yōu)解。
24. A*搜索算法在貪婪最佳優(yōu)先搜索的基礎(chǔ)上,同時考慮了節(jié)點到達(dá)目標(biāo)的實際代價。
25. A*搜索算法在啟發(fā)式函數(shù)滿足一定條件下,能夠找到最優(yōu)解。
26. 在博弈中,智能決策是如何進(jìn)行的?玩家需要考慮自己的目標(biāo)以及對手的目標(biāo)。
27. 博弈中的智能決策可以通過算法Minimax來實現(xiàn),該算法適用于兩個玩家的確定性游戲。
28. 在Minimax算法中,最大玩家(Max Player)試圖最大化分?jǐn)?shù),而最小玩家(Min Player)試圖最小化分?jǐn)?shù)。
29. 為了讓計算機理解博弈,需要將游戲狀態(tài)轉(zhuǎn)化為數(shù)字,通過定義初始狀態(tài)、玩家、動作、轉(zhuǎn)換模型、終止條件和效用函數(shù)來實現(xiàn)。
30. Minimax算法是一種遞歸算法,通過考慮所有可能的動作和對手的選擇來確定最優(yōu)的決策。
31. 在博弈論中,決策點的選擇可能是對手在前一步中使用的邏輯的一部分。
32. 極小化極大算法(minimax algorithm)適用于任何具有對抗性目標(biāo)的游戲。
33. 極小化極大算法通過遞歸地使用max value和min value函數(shù)來計算游戲狀態(tài)的值。
34. max value函數(shù)計算最大化狀態(tài)的值,min value函數(shù)計算最小化狀態(tài)的值。
35. 可以通過優(yōu)化算法來減少極小化極大算法的計算時間和空間復(fù)雜度。
36. 在極小化極大算法中,通過alpha-beta剪枝可以有效地減少搜索的時間,提高搜索的效率。
37. 對于復(fù)雜的游戲,如國際象棋,極小化極大算法需要考慮的狀態(tài)數(shù)量太多,無法在合理的時間內(nèi)完成搜索。
38. 為了解決這個問題,可以使用有限深度的極小化極大算法,只考慮一定數(shù)量的步驟后的狀態(tài)。
39. 在有限深度的極小化極大算法中,需要使用評估函數(shù)來估計當(dāng)前狀態(tài)的預(yù)期效用。
40. 評估函數(shù)的好壞將決定AI的智能程度,更好的評估函數(shù)將使AI在游戲中表現(xiàn)更好。