profile-img
The merit of an action lies in finishing it to the end.
slide-image

Greedy Best-First Search

Evaluation Func & Heuristic Func

  1. Evaluation func f(n)
    1. node n์˜ estimated cost
  2. Heuristic func h(n)
    1. node n์—์„œ goal state๋กœ ๊ฐ€๋Š” ๊ฐ€์žฅ ์ €๋ ดํ•œ ๋น„์šฉ์˜ ์ถ”์ •์น˜
    2. root-finding problem์—์„œ ๊ฐ ๋„์‹œ๋ณ„ ์ง์„ ๊ฑฐ๋ฆฌ ํ•จ์ˆ˜

Greedy Best-First Search

  1. ์ •์˜: best-first search์˜ ์ผ์ข… → h(n) value๊ฐ€ ๊ฐ€์žฅ ์ ์€ ๋…ธ๋“œ๋ฅผ ํ™•์žฅ
    1. table์„ ์œ ์ง€ํ•˜๋Š” ๊ฒฝ์šฐ ๊ทธ๋ž˜ํ”„ (์ค‘๋ณต์„ ๊ณ ๋ ค)
    2. ์—†์• ๋Š” ๊ฒฝ์šฐ tree search (์ค‘๋ณต์„ ๊ณ ๋ คํ•˜์ง€ ์•Š์Œ)
  2. ์„ฑ๋Šฅ ํ‰๊ฐ€
    1. Completeness → ์‚ฌ์ดํด ๋ฐœ์ƒ
      1. Not complete: tree-like search
      2. complete: graph search
    2. Not cost-optimal
    3. Time Complexity: O(b^m)
    4. Space Complexity: O(b^m)

A* Search

  1. ์ •์˜: f(n) = g(n) + h(n)์„ evaluation function์œผ๋กœ ์ด์šฉ
    1. g(n): n๊นŒ์ง€ ์˜ค๋Š” ๋ฐ ๋น„์šฉ
    2. h(n): n๋ถ€ํ„ฐ goal๊นŒ์ง€ ๊ฐ€๋Š” ๋ฐ ์ถ”์ •๋˜๋Š” ๋น„์šฉ
  2. Admissible Heuristic Function
    1. goal์— ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ๋น„์šฉ์„ ์ ˆ๋Œ€ overestimateํ•˜์ง€ ์•Š์Œ
    2. h(n) <= h*(n) : h(n)์€ ์‹ค์ œ ๊ฐ’
    3. admissible heuristic function์„ ์ด์šฉํ•œ๋‹ค๋ฉด A* search๋Š” cost-optimalํ•˜๋‹ค.
  3. Consistent Heuristic Function
    1. consistent: ๋ชจ๋“  ๋…ธ๋“œ n๊ณผ a๋ผ๋Š” ํ–‰๋™์œผ๋กœ ์ƒ์„ฑ๋œ ์ž์‹ n’์ด ์žˆ์„ ๋•Œ
    2. h(n) <= c(n,a,n') + h(n') ์„ฑ๋ฆฝ
    3. consistent heuristic function์„ ์ด์šฉํ•œ๋‹ค๋ฉด A* search๋Š” cost-optimalํ•˜๋‹ค → ๋ชจ๋“  consistent heuristic์€ admissibleํ•˜๋‹ค.
  4. Search contours
    1. A*๋Š” ๊ฐ€์žฅ ์ ์€ f-cost๋ฅผ ๊ฐ€์ง„ frontier ๋…ธ๋“œ๋ฅผ ํ™•์žฅํ•˜๋ฏ€๋กœ ๋“ฑ๊ณ ์„ ์ด ์ปค์ง€๋ฉด์„œ cost๊ฐ€ ์ ์  ์ปค์ง€๋Š” ํ˜•ํƒœ์ด๋‹ค.
    2. ์ข‹์€ ํœด๋ฆฌ์Šคํ‹ฑ์„ ๊ฐ€์กŒ๋‹ค๋ฉด, ๋“ฑ๊ณ ์„ ์€ ์ ์  goal state์— ๊ฐ€๊นŒ์›Œ์งˆ ๊ฒƒ์ด๋ฉฐ ์ตœ์  ๊ฒฝ๋กœ์— ๊ฐ€๊นŒ์›Œ์งˆ์ˆ˜๋ก ๋” ์ข์•„์งˆ ๊ฒƒ์ด๋‹ค.
  5. Optimally Efficient → C* : optimal cost
    1. surely expanded: f(n)<C*
    2. depends: f(n)=C*
    3. never expended: f(n) > C*
  6. Weighted A* Search
    1. ์ •์˜: C์™€ WC*์‚ฌ์ด์˜ cost๋ฅผ ๊ฐ€์ง€๋Š” ํ•ด๋‹ต์„ ์ฐพ๋Š” ๊ฒƒ
    2. f(n)=g(n)+W*h(n)
    3. Suboptimal search techniques
      1. bounded suboptimal search: ์‹ค์ œ optimal cost์˜ 1/2๋ฐฐ ..
      2. bounded-cost search: ์‹ค์ œ cost๋Š” ๋ชจ๋ฅด๊ณ  ์–ผ๋งˆ ์•ˆ์— ๋„๋‹ฌํ•˜๋Š” ๊ฒฝ๋กœ ์ฐพ๊ธฐ
      3. unbounded-cost search
      4. beam search: ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ ๊ฒŒ ์œ ์ง€ → ๊ฐ€์žฅ ์ข‹์€ score์ธ ๊ฒƒ๋งŒ ์œ ์ง€ํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” ๊ฐ€์ง€์น˜๊ธฐ
  7. ์„ฑ๋Šฅ ํ‰๊ฐ€
    1. Complete
    2. Cost-optimal
    3. Time-complexity <= O(b^d)
    4. Space complexity <= O(b^d)

Iterative-Deepening A* Search

  1. ์ •์˜ (IDA*)
    1. iterative deepening search + A* Search
    2. ์ด์ „ ๋ฐ˜๋ณต์—์„œ cutoff๋ฅผ ์ดˆ๊ณผํ•˜์˜€๋˜, f-cost๊ฐ€ ๊ฐ€์žฅ ์ž‘์€ ์ž„์˜์˜ ๋…ธ๋“œ๋ฅผ cutoff → ๊ธฐ์ค€๋ณด๋‹ค ํฌ์ง€ ์•Š์•˜๋‹ค๋ฉด ๊ณ„์† ๋‚ด๋ ค๊ฐ
  2. ํŠน์ง•
    1. f-cost๊ฐ€ ๋ชจ๋‘ ์ •์ˆ˜์ผ ๋•Œ ์ž˜ ์ž‘๋™
    2. f-cost๊ฐ€ ๋ชจ๋‘ ๋‹ค๋ฅธ ๋…ธ๋“œ์ผ ๋•Œ, ๋ฐ˜๋ณต ์ˆซ์ž๊ฐ€ ๊ฒฐ๊ตญ state์ˆ˜์™€ ๊ฐ™์•„์งˆ ์ˆ˜ ์žˆ๋‹ค.

Recursive Best-First Search

  1. ์ •์˜ (RBFS)
    1. recursive depth-first search + best-first search
    2. f-limit์„ ํ˜„์žฌ ๋…ธ๋“œ๊ฐ€ ์ดˆ๊ณผํ•œ๋‹ค๋ฉด ๋‹ค์‹œ ๊ฐ์•„ ๋‚ด๋ ค๊ฐ€์„œ alternative path๋กœ ์ด๋™
  2. ์ง„ํ–‰ ๊ณผ์ •
    1. ์ผ๋‹จ ์ฒ˜์Œ limit = ๋ฌดํ•œ๋Œ€
    2. ๋‹ค์Œ ๊ฒฝ๋กœ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ cost์ธ ์ชฝ์„ ์„ ํƒ, limit์€ ๋‘ ๋ฒˆ์งธ๋กœ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ
    3. ๋‚ด๋ ค๊ฐ€์„œ limit๊ณผ cost์˜ ๊ฐ’์„ ๋น„๊ต → cost๊ฐ€ limit๋ณด๋‹ค ํฌ๋ฉด ํ•ด๋‹น cost๋ฅผ limit์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ , limit๊ณผ ๊ฐ™์€ cost๋ฅผ ๊ฐ€์กŒ๋˜ node๋ฅผ ํ™•์ธ
  3. ์„ฑ๋Šฅ ํ‰๊ฐ€
    1. Complete
    2. Cost-optimal
    3. time complexity <= O(b^d)
    4. space complexity <= O(bd)
      • ์ง€๋‚˜์น˜๊ฒŒ ์ ์€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ → ๊ณ„์† ๊ฐ™์€ state๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ํƒ์ƒ‰

Simplified Memory-Bounded A* Search

  1. ์ •์˜
    1. A* search๋ฅผ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ฝ‰ ์ฐฐ ๋•Œ๊นŒ์ง€ ์ง„ํ–‰
    2. ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ฝ‰ ์ฐผ๋‹ค๋ฉด f-cost๊ฐ€ ๊ฐ€์žฅ ํฐ worst leaf node๋ฅผ ๋ฒ„๋ฆผ
    3. ์žŠ์–ด๋ฒ„๋ฆฐ ๋…ธ๋“œ์˜ ๊ฐ’์„ ๋‹ค์‹œ ๋ถ€๋ชจ์—๊ฒŒ ์ „๋‹ฌ
  2. ์„ฑ๋Šฅ ํ‰๊ฐ€
    1. Complete
    2. Cost-optimal
    3. time complexity <= O(b^d)
    4. space complexity <= O(b^d)
'School/COSE361 ์ธ๊ณต์ง€๋Šฅ' Related Articles +