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

Example Problems

  1. Robotic Vacuum Cleaner
  2. 8-Puzzle
  3. 8-queens
  4. Route-finding problem

Solving Problems by Searching

์šฉ์–ด ์ •์˜

  1. Problem formulation: ์–ด๋–ค ๊ณ ๋ คํ•  state, action์„ ๊ฒฐ์ •ํ• ์ง€ ์ •ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค → ๋ชฉํ‘œ๋Š” ์ฃผ์–ด์ ธ ์žˆ์Œ
  2. ๋ฌธ์ œ๋Š” state space, initial state, goal state, action, transition model, action cost function์œผ๋กœ ๊ตฌ์„ฑ
  3. action์˜ ์—ฐ์†์€ path๋ฅผ ๊ตฌ์„ฑ
  4. solution: initial state→goal state๋กœ ๊ฐ€๋Š” path
  5. optimal solution: path cost๊ฐ€ ๊ฐ€์žฅ ์ ์€ ํ•ด๋‹ต
  6. search: ๋ชฉํ‘œ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ํ–‰๋™์˜ ์—ฐ์†์„ ์ฐพ๋Š” ๊ฒƒ
  7. execution phase์—์„œ ํ–‰๋™์„ ํ•œ ๋ฒˆ์— ํ•œ ๊ฐœ์”ฉ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

Abstraction

  1. ์ •์˜: ํ‘œํ˜„์— ํ•„์š” ์—†๋Š” ๋””ํ…Œ์ผ์€ ๊ฐ์ถ”๋Š” ๊ฒƒ
    1. Useful abstraction
    2. Valid abstraction
    3. level of abstraction

State space

  1. ์ •์˜: ํ™˜๊ฒฝ์ด ์ฒ˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅํ•œ state์˜ ์ง‘ํ•ฉ
  2. ๊ทธ๋ž˜ํ”„๋กœ ํ‘œํ˜„: vertices → state, edges → actions
  3. solution

Search Tree

  1. Node expansion: Node generation, parent / child / successor node
  2. reached state: ํ•ด๋‹น state์— ๋งž๋Š” ๋…ธ๋“œ๊ฐ€ ์ƒ์„ฑ๋œ ์ƒํƒœ
  3. frontier: unexpanded node์˜ ์ง‘ํ•ฉ
  4. redundent path and cycle ์‹ ๊ฒฝ์“ฐ๋ฉด → graph search, ์•„๋‹ˆ๋ฉด → tree-like search

ํƒ์ƒ‰ ์ „๋žต ๋ฐ ์„ฑ๋Šฅ ํ‰๊ฐ€

  1. ํƒ์ƒ‰ ์ „๋žต
    1. FIFO
    2. LIFO
    3. Highest priority first
  2. ์„ฑ๋Šฅ ํ‰๊ฐ€
    1. completeness
    2. cost optimality
    3. time complexity
    4. space complexity

Task Environment์˜ ํŠน์ง•

  • Task environment: ์„ฑ๋Šฅํ‰๊ฐ€, ํ™˜๊ฒฝ, actuator, sensor
  • fully observable, partially observable, unobservable ⇒ sensor
  • deterministic, nondeterministic, stochastic ⇒ transition model
  • discrete, continuous ⇒ state, action, sensor, time
  • known, unknown ⇒ laws of physics
  • single, multiagent ⇒ agent
  • episodic, sequential ⇒ dependency
  • static, dynamic, semi-dynamic ⇒ state and action
  • fully observable, deterministic, known environment → solution = fixed sequence of actions

Uninformed Searches

Breadth-First Search

  1. ์ •์˜: ๋ฃจํŠธ ๋…ธ๋“œ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ํ™•์žฅ๋˜๊ณ , ๋ฃจํŠธ ๋…ธ๋“œ์˜ ์ž์‹์ด ํ™•์žฅ๋˜๊ณ , ๊ทธ ๋‹ค์Œ ๊ทธ๋“ค์˜ ์ž์‹์ด ํ™•์žฅ๋˜๊ณ … ํ•˜๋Š” ์‹
  2. ์ˆ˜๋„์ฝ”๋“œ ํŠน์ง•
    • IsGoal ํ•จ์ˆ˜: frontier์— FIFO queue๋ฅผ ์‚ฌ์šฉ
    • reached: ๋…ธ๋“œ๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด reached list์— ์ €์žฅ
  3. ์„ฑ๋Šฅ ํ‰๊ฐ€
    1. Complete: ์œ ํ•œํ•œ branching factor, ์œ ํ•œ/๋ฌดํ•œ state space
    2. Cost optimalํ•˜์ง€ ์•Š์Œ
    3. time complexity: O(b^d) → b: branching factor, d: ๊ฐ€์žฅ ์–•์€ ํ•ด
    4. space complexity: O(b^d)
    5. ๋‹ต์ด ์žˆ์œผ๋ฉด ๋ฌด์กฐ๊ฑด ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

Uniform-Cost Search

  1. ์ •์˜: ๊ฐ€์žฅ ์ ์€ path cost g(n)์„ ๊ฐ€์ง„ ๋…ธ๋“œ n์œผ๋กœ ํ™•์žฅ
  2. ์ˆ˜๋„์ฝ”๋“œ ํŠน์ง•
    • reached: lookup table → key problem.Initial & value node
    • child.PathCost < reached[s].PathCost : ๋ฐฉ๋ฌธ์€ ์ด๋ฏธ ํ•œ ์ƒํƒœ์—์„œ ๋น„๊ต๋งŒ
    • late goal test
  3. ์„ฑ๋Šฅ ํ‰๊ฐ€
    1. Complete: ๋ชจ๋“  cost๊ฐ€ ์–‘์ˆ˜๋ผ๋Š” ์กฐ๊ฑด์ด ์žˆ์–ด์•ผ ํ•จ
    2. Cost-Optimal
    3. Time complexity: O(b^{1+\lfloor{C/\epsilon}\rfloor})
    4. Space complexity: O(b^{1+\lfloor{C/\epsilon}\rfloor}) → C*: optimal solution์˜ cost
  4. ํ•˜๋‚˜๋งŒ ์„ ํƒํ•˜๋ ค๋ฉด time๋ณด๋‹ค๋Š” space๋ฅผ ์ค„์ด๋Š” ๊ฒƒ์ด ํ•„์š”

Depth-First Search

  1. ์ •์˜: Frontier์— ์žˆ๋Š” ๊ฐ€์žฅ ๊นŠ์€ ๋…ธ๋“œ๋ฅผ ํ™•์žฅ
    • backing search: ๋‹จ 1๊ฐœ์˜ successor๋งŒ์ด ์ƒ์„ฑ๋จ → ๋ถ€๋ถ„์ ์œผ๋กœ ํ™•์žฅ๋œ ๋…ธ๋“œ๋Š” ๋‹ค์Œ ๋ฒˆ์— ํ™•์žฅ๋  ๋…ธ๋“œ์— ๋Œ€ํ•ด์„œ ๊ธฐ์–ต
    • ์ƒˆ๋กœ์šด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํ˜„์žฌ ์ƒํƒœ ์„ค๋ช…์„ ์ง์ ‘ ๋ณ€๊ฒฝํ•จ์œผ๋กœ์จ successor ์ƒ์„ฑ → backtrack์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋˜๋Œ๋ฆฌ๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ
  2. ์„ฑ๋Šฅ ํ‰๊ฐ€
    1. Completeness
      • not complete: infinite state space, tree-like search
      • complete: finite, graph
    2. Not cost-optimal
    3. Time complexity: $O(b^m)$ → m: ํŠธ๋ฆฌ์˜ ์ตœ๋Œ€ ๊นŠ์ด
    4. Space complexity
      1. O(b^m): graph search → backtracking ์ •๋ณด๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•˜๋ฏ€๋กœ
      2. O(bm): tree-like search → ํŠธ๋ฆฌ ์„œ์น˜๋ฅผ ํ•˜๋ฉด completeํ•ด์ง€์ง€ ์•Š์œผ๋ฏ€๋กœ
      3. O(m): backtracking search

Depth-Limited Search

  1. ์ •์˜: depth limit l์ด ์ •ํ•ด์ ธ ์žˆ์Œ → ๊นŠ์ด l์ธ ๋…ธ๋“œ์˜ ๊ฒฝ์šฐ๋Š” successor๊ฐ€ ์—†๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ทจ๊ธ‰
  2. ์ˆ˜๋„์ฝ”๋“œ ํŠน์ง•
    1. result ← cutoff
  3. ์„ฑ๋Šฅ ํ‰๊ฐ€
    1. Not complete
    2. Not cost-optimal
    3. time complexity: $O(b^l)$ → l: depth limit
    4. space complexity: $O(bl)$ → ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ ๋ฆฌ์ŠคํŠธ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ

Iterative Deepening Search

  1. ์ •์˜: depth-limited search + increasing limits
  2. ์„ฑ๋Šฅ ํ‰๊ฐ€
    1. Complete
    2. Not cost-optimal
    3. Time complexity: O(b^d)
    4. Space complexity: O(bd) → ๋ฉ”๋ชจ๋ฆฌ ์ ˆ์•ฝ
  3. ํŠน์ง•
    1. depth first search์™€ breadth first search์˜ ์žฅ์ ์„ ๋ชจ๋‘ ํฌํ•จ
    2. hybrid approach๋กœ ์ด์šฉ ๊ฐ€๋Šฅ
    3. state space๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๋ณด๋‹ค ํฌ๊ณ  depth๊ฐ€ ์•Œ๋ ค์ง€์ง€ ์•Š์•˜์„ ๋•Œ ์ด์šฉ
    4. Iterative lengthening search: cost๊ฐ€ ๋ชจ๋‘ ๋™์ผํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ๋ฉด cost๊ฐ€ ์ปค์ง€๋Š” ๋ฐฉ์‹์œผ๋กœ deepening

Bidirectional Search

  1. ์ •์˜: 2๊ฐœ์˜ frontier๋กœ ํ™•์žฅ → 1๊ฐœ๋Š” initial state, 1๊ฐœ๋Š” goal state → ์ค‘๊ฐ„์—์„œ ๋งŒ๋‚˜๊ธฐ๋ฅผ ๊ธฐ์›
  2. ์ˆ˜๋„์ฝ”๋“œ ํŠน์ง•
    1. solution ์„ ํƒ ์‹œ ์–ด๋–ค ๋ฐฉํ–ฅ์ด ๊ฐ€์žฅ ๋น„์šฉ์ด ์ ์„์ง€ ํŒ๋‹จํ•˜์—ฌ ๊ทธ๊ฒƒ์„ ์„ ํƒํ•จ
    2. proceed ํ•จ์ˆ˜: ์ƒ๋Œ€๋ฐฉ์˜ reached state ์ •๋ณด๋ฅผ ๋ฐ›์•„์„œ ์‹คํ–‰
  3. ์„ฑ๋Šฅ ํ‰๊ฐ€
    1. Complete
    2. Not cost-optimal
    3. time complexity: O(b^{d/2})
    4. space complexity: O(b^{d/2})

'School/COSE361 ์ธ๊ณต์ง€๋Šฅ' Related Articles +