Greedy Best-First Search
Evaluation Func & Heuristic Func
- Evaluation func f(n)
- node n์ estimated cost
- Heuristic func h(n)
- node n์์ goal state๋ก ๊ฐ๋ ๊ฐ์ฅ ์ ๋ ดํ ๋น์ฉ์ ์ถ์ ์น
- root-finding problem์์ ๊ฐ ๋์๋ณ ์ง์ ๊ฑฐ๋ฆฌ ํจ์
Greedy Best-First Search
- ์ ์: best-first search์ ์ผ์ข
→ h(n) value๊ฐ ๊ฐ์ฅ ์ ์ ๋
ธ๋๋ฅผ ํ์ฅ
- table์ ์ ์งํ๋ ๊ฒฝ์ฐ ๊ทธ๋ํ (์ค๋ณต์ ๊ณ ๋ ค)
- ์์ ๋ ๊ฒฝ์ฐ tree search (์ค๋ณต์ ๊ณ ๋ คํ์ง ์์)
- ์ฑ๋ฅ ํ๊ฐ
- Completeness → ์ฌ์ดํด ๋ฐ์
- Not complete: tree-like search
- complete: graph search
- Not cost-optimal
- Time Complexity: O(b^m)
- Space Complexity: O(b^m)
- Completeness → ์ฌ์ดํด ๋ฐ์
A* Search
- ์ ์: f(n) = g(n) + h(n)์ evaluation function์ผ๋ก ์ด์ฉ
- g(n): n๊น์ง ์ค๋ ๋ฐ ๋น์ฉ
- h(n): n๋ถํฐ goal๊น์ง ๊ฐ๋ ๋ฐ ์ถ์ ๋๋ ๋น์ฉ
- Admissible Heuristic Function
- goal์ ๋๋ฌํ๊ธฐ ์ํ ๋น์ฉ์ ์ ๋ overestimateํ์ง ์์
- h(n) <= h*(n) : h(n)์ ์ค์ ๊ฐ
- admissible heuristic function์ ์ด์ฉํ๋ค๋ฉด A* search๋ cost-optimalํ๋ค.
- Consistent Heuristic Function
- consistent: ๋ชจ๋ ๋ ธ๋ n๊ณผ a๋ผ๋ ํ๋์ผ๋ก ์์ฑ๋ ์์ n’์ด ์์ ๋
- h(n) <= c(n,a,n') + h(n') ์ฑ๋ฆฝ
- consistent heuristic function์ ์ด์ฉํ๋ค๋ฉด A* search๋ cost-optimalํ๋ค → ๋ชจ๋ consistent heuristic์ admissibleํ๋ค.
- Search contours
- A*๋ ๊ฐ์ฅ ์ ์ f-cost๋ฅผ ๊ฐ์ง frontier ๋ ธ๋๋ฅผ ํ์ฅํ๋ฏ๋ก ๋ฑ๊ณ ์ ์ด ์ปค์ง๋ฉด์ cost๊ฐ ์ ์ ์ปค์ง๋ ํํ์ด๋ค.
- ์ข์ ํด๋ฆฌ์คํฑ์ ๊ฐ์ก๋ค๋ฉด, ๋ฑ๊ณ ์ ์ ์ ์ goal state์ ๊ฐ๊น์์ง ๊ฒ์ด๋ฉฐ ์ต์ ๊ฒฝ๋ก์ ๊ฐ๊น์์ง์๋ก ๋ ์ข์์ง ๊ฒ์ด๋ค.
- Optimally Efficient → C* : optimal cost
- surely expanded: f(n)<C*
- depends: f(n)=C*
- never expended: f(n) > C*
- Weighted A* Search
- ์ ์: C์ WC*์ฌ์ด์ cost๋ฅผ ๊ฐ์ง๋ ํด๋ต์ ์ฐพ๋ ๊ฒ
- f(n)=g(n)+W*h(n)
- Suboptimal search techniques
- bounded suboptimal search: ์ค์ optimal cost์ 1/2๋ฐฐ ..
- bounded-cost search: ์ค์ cost๋ ๋ชจ๋ฅด๊ณ ์ผ๋ง ์์ ๋๋ฌํ๋ ๊ฒฝ๋ก ์ฐพ๊ธฐ
- unbounded-cost search
- beam search: ๋ฉ๋ชจ๋ฆฌ๋ ์ ๊ฒ ์ ์ง → ๊ฐ์ฅ ์ข์ score์ธ ๊ฒ๋ง ์ ์งํ๊ณ ๋๋จธ์ง๋ ๊ฐ์ง์น๊ธฐ
- ์ฑ๋ฅ ํ๊ฐ
- Complete
- Cost-optimal
- Time-complexity <= O(b^d)
- Space complexity <= O(b^d)
Iterative-Deepening A* Search
- ์ ์ (IDA*)
- iterative deepening search + A* Search
- ์ด์ ๋ฐ๋ณต์์ cutoff๋ฅผ ์ด๊ณผํ์๋, f-cost๊ฐ ๊ฐ์ฅ ์์ ์์์ ๋ ธ๋๋ฅผ cutoff → ๊ธฐ์ค๋ณด๋ค ํฌ์ง ์์๋ค๋ฉด ๊ณ์ ๋ด๋ ค๊ฐ
- ํน์ง
- f-cost๊ฐ ๋ชจ๋ ์ ์์ผ ๋ ์ ์๋
- f-cost๊ฐ ๋ชจ๋ ๋ค๋ฅธ ๋ ธ๋์ผ ๋, ๋ฐ๋ณต ์ซ์๊ฐ ๊ฒฐ๊ตญ state์์ ๊ฐ์์ง ์ ์๋ค.
Recursive Best-First Search
- ์ ์ (RBFS)
- recursive depth-first search + best-first search
- f-limit์ ํ์ฌ ๋ ธ๋๊ฐ ์ด๊ณผํ๋ค๋ฉด ๋ค์ ๊ฐ์ ๋ด๋ ค๊ฐ์ alternative path๋ก ์ด๋
- ์งํ ๊ณผ์
- ์ผ๋จ ์ฒ์ limit = ๋ฌดํ๋
- ๋ค์ ๊ฒฝ๋ก ์ค ๊ฐ์ฅ ์์ cost์ธ ์ชฝ์ ์ ํ, limit์ ๋ ๋ฒ์งธ๋ก ๊ฐ์ฅ ์์ ๊ฐ์ผ๋ก ๋ณ๊ฒฝ
- ๋ด๋ ค๊ฐ์ limit๊ณผ cost์ ๊ฐ์ ๋น๊ต → cost๊ฐ limit๋ณด๋ค ํฌ๋ฉด ํด๋น cost๋ฅผ limit์ผ๋ก ๋ณ๊ฒฝํ๊ณ , limit๊ณผ ๊ฐ์ cost๋ฅผ ๊ฐ์ก๋ node๋ฅผ ํ์ธ
- ์ฑ๋ฅ ํ๊ฐ
- Complete
- Cost-optimal
- time complexity <= O(b^d)
- space complexity <= O(bd)
- ์ง๋์น๊ฒ ์ ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ → ๊ณ์ ๊ฐ์ state๋ฅผ ๋ฐ๋ณตํ์ฌ ํ์
Simplified Memory-Bounded A* Search
- ์ ์
- A* search๋ฅผ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ฝ ์ฐฐ ๋๊น์ง ์งํ
- ๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ฝ ์ฐผ๋ค๋ฉด f-cost๊ฐ ๊ฐ์ฅ ํฐ worst leaf node๋ฅผ ๋ฒ๋ฆผ
- ์์ด๋ฒ๋ฆฐ ๋ ธ๋์ ๊ฐ์ ๋ค์ ๋ถ๋ชจ์๊ฒ ์ ๋ฌ
- ์ฑ๋ฅ ํ๊ฐ
- Complete
- Cost-optimal
- time complexity <= O(b^d)
- space complexity <= O(b^d)