【学习】人工智能:一种现代的方法
推薦專欄:https://blog.csdn.net/weixin_39278265/column/info/24474 前面的內容很詳細,有助于理解
其實我是在看planning那一節看得一知半解的,結果搜到博主的專欄把前面都溫習了一遍,前面寫的超級詳細,之前自己看的時候知識點很混亂,看完稍微有了點章節的框架,不過看到我很需要的內容那里作者寫得比較簡略,很多東西還是沒搞懂,所以記錄一下。
待完成
- 作者分享了 JADE(Java Agent DEvelopment Framework)
一個很酷的在Java上進行Agent開發的框架。你可以用這個框架很輕易的搭建一個MAS(多智能體系統),在這些系統中,各個Agent是自治的,而且可以互相通信,很酷誒!
- 研究一下合取范式和 dpll 的python代碼
不理解的地方
1 如何表示狀態及其轉換?
雖然舉了例子,但還是很抽象?
1)Atomic representation 原子表示
The state is stored as black box, i.e. without any internal structure.
例子:
For example, for Roomba(a robotic vaccum cleaner), the internal state is a patch already vaccumed, you don’t have to know anything else. As depicted in the image, such representation works for model and goal based agents and used in various AI algorithms such as search problems and adversarial games.
2)Factored Representation 要素化表示
The state, in this representation, is no longer a black box. It now has attribute-value pairs, also known as variables that can contain a value.
例子
For example, while finding a route, you have a GPS location and amount of gas in the tank. This adds a constraint to the problem. As depicted in the image, such representation works for goal based agents and used in various AI algorithms such as constraint satisfaction and bayesian networks.
3)Structured Representation 結構化表示
In this representation, we have relationships between the variables/ factored states. This induces(引起 cause) logic in the AI algorithms.
例子
For example, in natural language processing, the states are whether the statement contains a reference to a person and whether the adjective in that statement represents that person. The relation in these states will decide, whether the statement was a sarcastic one. This is high level Artificial Intelligence, used in algorithms like ?rst order logic, knowledge-based learning and natural language understanding. [1]
2.關于A*算法
關于一致理解的還不透徹,有關A* 復雜度這塊也不理解,這個復雜度相對誰而言?關于最后一條h2>h1有效降低搜索空間理解的不是很透徹
最優性:如果 A* 是可采納的,那么A* 的樹搜索版本是最優的,如果h(n)是一致的,那么圖搜索的 A* 算法是最優的。
缺點:A* 的時間復雜度比較高,嚴重依賴于對狀態空間所做的假設。而且內存保留了所有已生成的節點,使得 A* 算法常常在計算完之前就耗盡了自己的內存。
對于兩個啟發式函數h1,h2,如果對于任何節點n,h2(n)>h1(n),那么就說h2比h1占優勢。優勢可以直接轉化為效率。
3.連續空間中的局部搜索
有點質疑第一句話的正確性
在討論過的算法里面,除了首選爬山法和模擬退火,沒有一個能夠處理連續的狀態和動作空間,因為連續空間的分支因子是無限的。
重要的知識點
約束問題
- csp 約束滿足問題 絕對約束
- cop 約束優化問題 偏好約束
- 變量個數任意的約束稱為全局約束。
- 1)Alldiff約束:表示所有相關變量必須取不同的值。
- 2)atmost約束(另一個重要的高階約束):也叫資源約束。
- 變量順序
1)選擇“合法”取值最少的變量——稱為最少剩余值(MRV)啟發式。(做一個強有力的引導,方便提早遇到失敗,從而剪枝)
2)度啟發式:通過選擇與其他未賦值變量約束最多的變量來試圖降低未來的分支因子。(用來打破僵局,如選擇第一個著色區域) - 取值順序
最少約束至:優先選擇的賦值是給鄰居變量留下更多的選擇(為了找到一個解,所以沒必要排序,二十要最少約束)
邏輯
- 邏輯推理:用蘊含推導出結論
- 模型檢驗:通過枚舉所有可能的模型來檢驗KB為真的情況下α都為真,即M(KB)含于M(α)
- 可靠的:只導出蘊含句的推理算法被稱為可靠的
- 完備性:如果推理算法可以生成任一蘊含句,則完備。(在有限的情況下確實完備咯,但是常常不完備)
- SAT問題:命題邏輯語句的可滿足性判定。是第一個被證明為NP完全的問題。(如CSP,就是詢問在某個賦值下約束是否滿足的)
總結
以上是生活随笔為你收集整理的【学习】人工智能:一种现代的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数字图像与编码
- 下一篇: 人工智能:一种现代的方法 书本课后习