人工智慧中的常用搜尋策略

2022-07-13 21:15:28 字數 1295 閱讀 5369

人工智慧中的搜尋策略大體分為兩種:無資訊搜尋和有資訊搜尋。無資訊搜尋是指我們不知道接下來要搜尋的狀態哪乙個更加接近目標的搜尋策略,因此也常被成為盲目搜尋;而有資訊搜尋則是用啟發函式f(n)來衡量哪乙個狀態更加接近目標狀態,並優先對該狀態進行搜尋,因此與無資訊搜尋相比往往能夠更加高效得解決問題。

要衡量乙個搜尋策略的好壞,我們需要從四個方面對其進行判斷:完備性、時間複雜度、空間複雜度和最優性。因此以下通過這四個方面來比較常見搜尋策略之間的優劣。

首先擴充套件根節點,然後擴充套件根節點的所有後繼,接著再擴充套件它們的後繼,從而一層一層的對節點進行擴充套件。bfs是乙個簡單的搜尋策略,在搜尋過程中會對所有狀態進行遍歷,因此它是完備的;假設搜尋樹每個節點有b個後繼,深度為d,則時間複雜度和空間複雜度均為o(bd);最後考慮最優性,因為我們總會在最淺那一層找到目標狀態,因此當且僅當每一步的代價都一致的時候,bfs可以得到最優解。

在bfs的基礎上,一致代價搜尋不在擴充套件深度最淺的節點,而是通過比較路徑消耗g(n),並選擇當前代價最小的節點進行擴充套件,因此可以保證無論每一步代價是否一致,都能夠找到最優解。

dfs擴充套件根節點的乙個後繼,然後擴充套件它的乙個後繼,直到到達搜尋樹的最深層,那裡的節點沒有後繼,於是dfs回溯到上一層,擴充套件另外乙個未被擴充套件的節點。在有限狀態空間中,dfs是完備的,因為它可以把所有空間遍歷一遍;而在無限空間中,dfs則有可能會進入深度無限的分支,因此是不完備的。dfs的時間複雜度為為o(bd),而空間複雜度僅為o(d),因為我們只需要儲存當前分支的狀態,因此空間複雜度遠遠好於bfs。然而dfs並不能保證找到最優解。

深度受限搜尋設定乙個最大深度dmax,當搜尋深度大於dmax的時候立即回溯,從而避免了在無窮狀態空間中陷入深度無限的分支。

迭代加深的深度有限搜尋也設定乙個最大深度dmax,開始我們把dmax設為1,然後進行深度受限搜尋,如果麼有找到答案,則讓dmax加一,並再次進行深度有限搜尋,以此類推直到找到目標。這樣既可以避免陷入深度無限的分支,同時還可以找到深度最淺的目標解,從而在每一步代價一致的時候找到最優解,再加上其優越的空間複雜度,因此常常作為首選的無資訊搜尋策略。

貪婪最佳優先搜尋總是擴充套件距離目標最近的節點,其啟發函式f(n)=h(n)其中:

f(n)=節點n到目標節點的最小代價路徑的估計值

貪婪最佳優先搜尋的最大問題是它往往不能找到最優解。

為了找到最優解,a*演算法對乙個節點的評估結合了h(n)和g(n)從開始節點到節點n的路徑代價,即f(n)=g(n)+h(n)

f(n)=經過節點n的最小代價解的估計代價

因為a*搜尋總是搜尋f(n)最小的點,因此它總能找到最優解。

人工智慧搜尋策略的學習

目前正在學習人工智慧的課程理論知識,下面就該課程的主要知識做一些總結梳理。搜尋策略就是結點擴充套件順序的選擇 一 最佳優先搜尋 思想 使用乙個評估函式f n 給每個結點估計他們的希望值。優先擴充套件最有希望的未擴充套件結點。實現 open表中根據希望評估值從大到小排序。最佳優先搜尋策略有 貪婪最佳優...

人工智慧 搜尋概述

人工智慧所研究的物件大多是屬於結構不良或非結構化的問題。對於這些問題,一般很難獲得其全部資訊,更沒有現成的演算法可供求解使用。因此,只能依靠經驗,利用已有知識逐步摸索求解。這種根據問題的實際情況,不斷尋求可用知識,從而構建一條代價最小的推理路線,使問題得以解決的過程稱為搜尋。根據搜尋過程中是否使用啟...

人工智慧 搜尋的含義

依靠經驗,利用已有知識,根據問題的實際情況,不斷尋找可利用知識,從而構造一條代價最小的推理路線,使問題得以解決的過程稱為搜尋 不良結構或非結構化問題 難以獲得求解所需的全部資訊 更沒有現成的演算法可供求解使用。1 按是否使用啟發式資訊 盲目搜尋 按預定的控制策略進行搜尋,在搜尋過程中獲得的中間資訊並...