人工智能-搜索


搜索是人工智能很重要的一種解決問題的途徑,以下對各種搜索進行一個分類總結。

首先是搜索的定義,我們要解決一個問題,要經過很多步驟才能達到最終的目標,搜索就是要找到這些步驟,即解決問題的方法。

搜索有其局限性,它必須依賴於現有的知識,它不能自己學習知識,人工智能解決問題的另外一種途徑就是學習,通過學習可以創造或者吸取新的知識。

下面是正文

搜索(Search)

求解一個問題就是一系列動作,並且搜索是為達到目標尋找這些動作的過程。

針對不同數據結構:

  • 圖搜索

  • 樹搜索

 

經典搜索(Classic Search)

  • 無信息搜索(uninformed search 即盲目搜索,沒有除定義之外的信息)

    按照節點的擴展順序區分

    • 寬度優先(breadth-first),用FIFO隊列實現

    • 深度優先(depth-first):拓展最深的未擴展節點,用LIFO隊列實現

      • 深度受限搜索(depth-limited):限制搜索深度

      • 迭代加深搜索(iterative deepening):結合深度優先與寬度優先的優勢

    • 一致代價搜索(uninform-cost):擴展最低代價的未擴展節點

    • 雙向搜索(bidirectional )

    無信息搜索的策略評價

    • 完備性:是否總能找到一個存在的解

    • 時間復雜性

    • 空間復雜性

    • 最優性:是否總能找到最優的解

     

  • 有信息搜索(informed search 亦稱啟發式搜索,采用問題定義外的信息,能夠找到比無信息搜索更有效的解)

    • 最佳優先搜索(best-first):基於評價函數選擇最優拓展節點,大多數該類算法還包括一個啟發式函數

      • 貪心搜索

      • A*搜索

以上的搜索是經典搜索,它們的特點是

  • 可觀測

  • 確定性

  • 已知環境

經典搜索保留搜索的路徑,其路徑就是問題的解

但在很多問題中,到達目標的路徑不重要,因此就有了超越經典搜索

 

有路徑-->無路徑

超越經典搜索(Beyond Classical Search)

分為局部搜索與群體智能

  • 局部搜索(local search)

    不關注路徑,搜索后不保留路徑,其優點為

    1.占用內存小

    2.能在大的或者無限的空間中找到合理的解

    • 爬山法(hill-climbing):一種迭代算法,開始時隨機選取一解,對其不斷優化

      • 隨機爬山法(Stochastic hill-climbing):向上移動的過程中隨機選擇,收斂速度慢

      • 首選爬山法(First-choice hill-climbing):隨機生成后繼節點,直到出現更好的

      • 隨機重啟爬山法(Random-restart hill-climbing):完備性高,接近於1

    • 局部束搜索(Local Beam Search)

      • 隨機束搜索(Stochastic Beam Search)

    • 禁忌搜索(Tabu Search)

      三種策略

      • 禁止策略(Forbidding strategy)

      • 釋放策略(Freeing strategy)

      • 短期策略(Short-term strategy)

    • 模擬退火(Simulated Annealing):一種在大搜索空間逼近全局最優解的元啟發方法

    • 遺傳算法(Genetic Algorithms):一種模仿自然選擇過程的啟發式算法

  • 群體智能(Swarm Intelligence)

    通過大量智能體通過合作實現,它是分布式的、自組織的、在一個環境內分布的。

    • 蟻群優化(Colony Optimization):受蟻群尋炸食物的行為的啟發,用於發現一個圖上的最佳路徑

    • 粒子群優化(Particle Swarm Optimization):受魚類,鳥類群體行為的社會行為啟發

     

     

    單智能體-->多智能體

對抗搜索(Adversarial Search)

我們在針對其他智能體做規划時,那些智能體有可能也在做着規划

以上搜索針對單智能體,而對抗搜索針對多智能體

  • 博弈(Game)

  • 零和博弈(Zero sum games):智能體之間完全對立

  • 非零和博弈(Non-zero sum games):智能體之間是自主的方式

  • 完全信息(Perfect information)/不完全信息(Imperfect information)

  • 確定性(Deterministic)/隨機性(Stochastic)

    • 剪枝 (Alpha-Beta Pruning)

      博弈樹的大小往往呈指數增加,通過剪枝,可以減小博弈樹,加快搜索時間

    • 啟發評價函數(Heuristic Evaluation Function)

      盡管通過剪枝可以去掉博弈樹的大部分,但是搜索的深度依然很深,因此用評價函數計算在指定位置該博弈的期望值

    • 隨機博弈(Stochastic Game)

      一種有一定概率轉換的動態博弈

    • 蒙特卡羅方法(Monte-Carlo Methods)

      憑借重復隨機采樣來獲得數值結果

    • 蒙特卡羅樹搜索(MCTS Monte-Carlo Tree Search)

      將蒙特卡洛仿真與博弈樹搜索相結合

 

約束滿足問題(Constraint Satisfaction Problem)

狀態必須滿足若干約束的對象

標准搜索中狀態不可分割,GSP中狀態用因子表示,是一系列變量。

GSP問題通常復雜性很高

范疇

  • 有限/無限

  • 離散/連續

    約束

  • 線性/非線性

  • 1元/多元

  • 回溯搜索(Backtracking Search)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM