人工智慧搜尋演算法


搜尋演算法是人工智慧最重要的領域之一。本主題將解釋有關AI中搜尋演算法的所有資訊。

解決問題的代理

在人工智慧中,搜尋技術是普遍的問題解決方法。AI中的合理代理或問題解決代理主要使用這些搜尋策略或演算法來解決特定問題並提供最佳結果。解決問題的代理是基於目標的代理並使用原子表示。在本主題中,我們將學習各種解決問題的搜尋演算法。

搜尋演算法術語

  • 搜尋:搜尋是一個一步一步的過程,用於解決給定搜尋空間中的搜尋問題。搜尋問題可能有三個主要因素:
    • 搜尋空間:搜尋空間表示系統可能具有的一組可能的解決方案。
    • 開始狀態:代理開始搜尋的狀態。
    • 目標測試:它是一個觀察當前狀態並返回目標狀態是否達到的函式。
  • 搜尋樹:搜尋問題的樹表示稱為搜尋樹。搜尋樹的根是與初始狀態對應的根節點。
  • 操作:它向代理提供所有可用操作的描述。
  • 過渡模型:每個動作的描述,可以表示為過渡模型。
  • 路徑成本:它是一個為每個路徑分配數位成本的功能。
  • 解決方案:它是一個從起始節點到目標節點的動作序列。
  • 最佳解決方案:如果解決方案在所有解決方案中成本最低。

搜尋演算法的屬性

以下是搜尋演算法的四個基本屬性,用於比較這些演算法的效率:

  • 完整性:如果搜尋演算法保證在任何隨機輸入存在至少任何解決方案的情況下保證返回解決方案,則稱該搜尋演算法是完整的。
  • 優化性:如果為演算法找到的解決方案被保證是所有其他解決方案中的最佳解決方案(最低路徑成本),那麼這種解決方案被認為是最佳解決方案。
  • 時間複雜度:時間複雜度是演算法完成任務的時間度量。
  • 空間複雜性:它是搜尋過程中任何點所需的最大儲存空間,因為問題的複雜性。

搜尋演算法的型別

基於搜尋問題,我們可以將搜尋演算法分類為不知情(盲搜尋)搜尋和通知搜尋(啟發式搜尋)演算法。

搜索算法的類型

1. 不知情/盲搜尋

不知情搜尋不包含任何領域知識,如親密度,目標的位置。它以蠻力的方式執行,因為它只包含有關如何遍歷樹以及如何識別葉子和目標節點的資訊。不知情的搜尋應用搜尋搜尋樹的方式,沒有任何關於搜尋空間的資訊,如初始狀態運算子和目標測試,因此它也稱為盲搜尋。它檢查樹的每個節點,直到它達到目標節點。

它可以分為五種主要型別:

  • 廣度優先搜尋
  • 統一成本搜尋
  • 深度優先搜尋
  • 疊代加深深度優先搜尋
  • 雙向搜尋

2. 知情搜尋

知情搜尋演算法使用領域知識。在知情搜尋中,可以獲得可以指導搜尋的問題資訊。知情搜尋策略可以比不知情的搜尋策略更有效地找到解決方案。知情搜尋也稱為啟發式搜尋。

啟發式演算法可能無法始終保證最佳解決方案,但保証在合理的時間內找到一個好的解決方案。
知情搜尋可以解決許多無法以其他方式解決的複雜問題。