๐Ÿ‡บ๐Ÿ‡ธ USC ๋น…๋ฐ์ดํ„ฐ ์ปจํผ๋Ÿฐ์Šค ์ฐธ๊ฐ€๊ธฐ๐Ÿ‡บ๐Ÿ‡ธ | [USC AI/DS] Lesson 4. Informed Search์™€ A* ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋Œ€ํ˜„ยท2026๋…„ 8์›” 13์ผ
post-thumbnail

๐Ÿ‡บ๐Ÿ‡ธ USC ๋น…๋ฐ์ดํ„ฐ ์ปจํผ๋Ÿฐ์Šค ์ฐธ๊ฐ€๊ธฐ๐Ÿ‡บ๐Ÿ‡ธ | [USC AI/DS] Lesson 4. Informed Search์™€ A* ์•Œ๊ณ ๋ฆฌ์ฆ˜

Lesson 3์—์„œ๋Š” BFS, DFS, Uniform Cost Search์™€ ๊ฐ™์€
๊ธฐ๋ณธ์ ์ธ Search Algorithm์— ๋Œ€ํ•ด ์ •๋ฆฌํ–ˆ๋‹ค.

์ด๋ฒˆ Lesson 4์—์„œ๋Š” ์—ฌ๊ธฐ์—์„œ ํ•œ ๋‹จ๊ณ„ ๋” ๋‚˜์•„๊ฐ€
Informed Search๋ฅผ ๋‹ค๋ฃฌ๋‹ค.

๋ง ๊ทธ๋Œ€๋กœ

๋ชฉํ‘œ์— ๋Œ€ํ•œ ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•

์ด๋‹ค.

์ด๋ฒˆ ๋‹จ์›์—์„œ๋„ Greedy Search์™€ ๊ฐ™์€ ๋‚ด์šฉ์€
์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋ฅผ ์ค€๋น„ํ•˜๋ฉด์„œ ์–ด๋А ์ •๋„ ์ ‘ํ•ด๋ณธ ๋‚ด์šฉ๋“ค์ด๋ผ ๋น„๊ต์  ์ต์ˆ™ํ–ˆ๋‹ค.

๋‹ค๋งŒ ๋‹จ์ˆœํžˆ

Greedy = ์ง€๊ธˆ ๊ฐ€์žฅ ์ข‹์•„ ๋ณด์ด๋Š” ๊ฒƒ์„ ์„ ํƒํ•œ๋‹ค.

์ •๋„๋กœ ์•Œ๊ณ  ์žˆ์—ˆ๋Š”๋ฐ,

์ด๋ฒˆ ๊ฐ•์˜์—์„œ๋Š” ์ด๋ฅผ Heuristic, Best-First Search, ๊ทธ๋ฆฌ๊ณ  A* Search๊นŒ์ง€ ์—ฐ๊ฒฐํ•ด์„œ ์„ค๋ช…ํ–ˆ๋‹ค.

ํŠนํžˆ A* Search๋Š” ์˜ˆ์ „์— ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜์—…์—์„œ๋„ ์ด๋ฆ„๋งŒ ๋ช‡ ๋ฒˆ ๋“ค์–ด๋ดค๋Š”๋ฐ,
์ด๋ฒˆ์—๋Š”

์™œ Greedy Search๋ณด๋‹ค ์•ˆ์ •์ ์ธ์ง€
์™œ ์ตœ์ ํ•ด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š”์ง€
Heuristic์€ ์–ด๋–ค ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•˜๋Š”์ง€

๊นŒ์ง€ ์กฐ๊ธˆ ๋” ์ž์„ธํžˆ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ›„๋ฐ˜๋ถ€์—๋Š”

Local Search
Hill Climbing
Simulated Annealing
Local Beam Search
Genetic Algorithm
Gradient Descent / Ascent

๊นŒ์ง€ ๋‹ค๋ฃจ๋ฉด์„œ

ํƒ์ƒ‰์ด๋ผ๋Š” ๊ฐœ๋…์ด ๋‹จ์ˆœํ•œ ๊ทธ๋ž˜ํ”„ ๊ฒฝ๋กœ ํƒ์ƒ‰์„ ๋„˜์–ด ์ตœ์ ํ™” ๋ฌธ์ œ๊นŒ์ง€ ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋‹ค.

๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์ค€๋‹ค.


Uninformed Search์™€ Informed Search

๋จผ์ € ์ด์ „ Lesson์—์„œ ๋‹ค๋ค˜๋˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ƒ๊ฐํ•ด๋ณด์ž.

BFS
DFS
Uniform Cost Search

์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์€ ๊ธฐ๋ณธ์ ์œผ๋กœ
๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ์ •๋ณด๋งŒ ๊ฐ€์ง€๊ณ  ํƒ์ƒ‰ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด BFS๋ผ๋ฉด

๊ฐ€์žฅ ์–•์€ Node๋ถ€ํ„ฐ ํƒ์ƒ‰

ํ•˜๊ณ ,

Uniform Cost Search๋ผ๋ฉด

ํ˜„์žฌ๊นŒ์ง€์˜ Path Cost๊ฐ€ ๊ฐ€์žฅ ์ž‘์€ Node๋ถ€ํ„ฐ ํƒ์ƒ‰

ํ•œ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์‹ค์ œ๋กœ ์šฐ๋ฆฌ๊ฐ€ ๋ชฉ์ ์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์กฐ๊ธˆ์ด๋ผ๋„ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ์–ด๋–จ๊นŒ?

์˜ˆ๋ฅผ ๋“ค์–ด ์„œ์šธ์—์„œ ๋ถ€์‚ฐ๊นŒ์ง€ ์šด์ „ํ•œ๋‹ค๊ณ  ํ•ด๋ณด์ž.

๋ชจ๋“  ๋„๋กœ๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ํƒ์ƒ‰ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค

"๋ถ€์‚ฐ์€ ๋Œ€๋žต ๋‚จ๋™์ชฝ์— ์žˆ๋‹ค."

๋ผ๋Š” ์ •๋ณด๋ผ๋„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํŽธ์ด ํ›จ์”ฌ ์œ ๋ฆฌํ•˜๋‹ค.

์ด๋Ÿฌํ•œ ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ํƒ์ƒ‰์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด
Informed Search๋‹ค.


Best-First Search

๊ฐ•์˜์—์„œ๋Š” ๋จผ์ € Best-First Search๋ผ๋Š” ํฐ ๊ฐœ๋…๋ถ€ํ„ฐ ์„ค๋ช…ํ•œ๋‹ค.

ํ•ต์‹ฌ ์•„์ด๋””์–ด๋Š” ๊ฐ„๋‹จํ•˜๋‹ค.

๊ฐ Node์— ๋Œ€ํ•ด

์ด Node๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ข‹์•„ ๋ณด์ด๋Š”๊ฐ€?

๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ ๋‹ค.

์ด๊ฒƒ์„ Evaluation Function์ด๋ผ๊ณ  ํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  Frontier์— ์žˆ๋Š” Node ์ค‘

๊ฐ€์žฅ ์ข‹์•„ ๋ณด์ด๋Š” Node

๋ฅผ ๋จผ์ € ํƒ์ƒ‰ํ•œ๋‹ค.

์ฆ‰,

Frontier
โ†“
๊ฐ Node์˜ Evaluation Value ๊ณ„์‚ฐ
โ†“
๊ฐ€์žฅ ์ข‹์€ Node ์„ ํƒ
โ†“
Expand

ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

Best-First Search์˜ ๋Œ€ํ‘œ์ ์ธ ๋‘ ๊ฐ€์ง€ ํ˜•ํƒœ๊ฐ€ ๋ฐ”๋กœ

Greedy Search
A* Search

๋‹ค.


Greedy Search

๋จผ์ € Greedy Search๋‹ค.

Greedy๋ผ๋Š” ๋‹จ์–ด ๊ทธ๋Œ€๋กœ

ํ˜„์žฌ ์ˆœ๊ฐ„ ๊ฐ€์žฅ ์ข‹์•„ ๋ณด์ด๋Š” ์„ ํƒ์„ ํ•œ๋‹ค.

๋ผ๋Š” ์•„์ด๋””์–ด๋‹ค.

์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ๋„ ์ƒ๋‹นํžˆ ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋™์ „์„ ์ตœ์†Œ ๊ฐœ์ˆ˜๋กœ ์‚ฌ์šฉํ•ด์„œ ๊ธˆ์•ก์„ ๋งŒ๋“ ๋‹ค๊ณ  ํ•  ๋•Œ
ํŠน์ • ์กฐ๊ฑด์—์„œ๋Š” ๊ฐ€์žฅ ํฐ ๋™์ „๋ถ€ํ„ฐ ์„ ํƒํ•˜๋Š” ๋ฐฉ์‹์ด Greedy๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.

500์›
100์›
50์›
10์›

์ด ์žˆ๋‹ค๊ณ  ํ•˜๋ฉด

๊ฐ€์žฅ ํฐ ๋™์ „๋ถ€ํ„ฐ ์‚ฌ์šฉ

ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

Search Problem์—์„œ๋Š” ์กฐ๊ธˆ ๋‹ค๋ฅด๊ฒŒ ํ‘œํ˜„ํ•œ๋‹ค.


Heuristic์ด๋ž€?

Greedy Search์—์„œ๋Š” Heuristic Function์ด๋ผ๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•œ๋‹ค.

๋ณดํ†ต

h(n)

์ด๋ผ๊ณ  ํ‘œํ˜„ํ•œ๋‹ค.

h(n)์€

ํ˜„์žฌ Node n์—์„œ Goal๊นŒ์ง€ ์–ผ๋งˆ๋‚˜ ๋น„์šฉ์ด ๋“ค ๊ฒƒ ๊ฐ™์€์ง€ ์ถ”์ •ํ•œ ๊ฐ’

์ด๋‹ค.

์ค‘์š”ํ•œ ์ ์€ ์‹ค์ œ ๋น„์šฉ์ด ์•„๋‹ˆ๋ผ ์ถ”์ •๊ฐ’์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ „์ฃผ์—์„œ ์„œ์šธ๊นŒ์ง€ ๊ฐ„๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž.

์‹ค์ œ ๋„๋กœ๋ฅผ ๋”ฐ๋ผ ์ด๋™ํ•˜๋Š” ๊ฑฐ๋ฆฌ๋Š”

์•ฝ 200km

์ผ ์ˆ˜ ์žˆ์ง€๋งŒ,

์ง€๋„์—์„œ ์ง์„ ๊ฑฐ๋ฆฌ๋งŒ ๊ณ„์‚ฐํ•˜๋ฉด

์•ฝ 170km

๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

์ด ์ง์„ ๊ฑฐ๋ฆฌ๋ฅผ

h(n)

์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.


Romania ์˜ˆ์ œ

๊ฐ•์˜์—์„œ๋Š” ์ด์ „ Lesson์—์„œ๋„ ์‚ฌ์šฉํ–ˆ๋˜
๋ฃจ๋งˆ๋‹ˆ์•„ ๋„์‹œ ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์‚ฌ์šฉํ•œ๋‹ค.

๋ชฉํ‘œ๋Š”

Arad
โ†“
Bucharest

๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋ฒˆ์—๋Š” ๊ฐ ๋„์‹œ์—์„œ Bucharest๊นŒ์ง€์˜
Straight-Line Distance, ์ฆ‰ ์ง์„ ๊ฑฐ๋ฆฌ๋ฅผ ์ถ”๊ฐ€์ ์œผ๋กœ ์•Œ๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด

Arad โ†’ Bucharest ์ง์„ ๊ฑฐ๋ฆฌ = 366

Sibiu โ†’ Bucharest ์ง์„ ๊ฑฐ๋ฆฌ = 253

Timisoara โ†’ Bucharest ์ง์„ ๊ฑฐ๋ฆฌ = 329

Zerind โ†’ Bucharest ์ง์„ ๊ฑฐ๋ฆฌ = 374

๊ฐ™์€ ์ •๋ณด๊ฐ€ ์žˆ๋‹ค.

Arad์—์„œ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ณณ์ด

Sibiu
Timisoara
Zerind

๋ผ๋ฉด Greedy Search๋Š”

h(Sibiu) = 253
h(Timisoara) = 329
h(Zerind) = 374

๋ฅผ ๋น„๊ตํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์ธ

Sibiu

๋ฅผ ์„ ํƒํ•œ๋‹ค.

์™œ๋ƒํ•˜๋ฉด

"ํ˜„์žฌ ๊ธฐ์ค€์œผ๋กœ Bucharest์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์›Œ ๋ณด์ด๋Š” ๋„์‹œ"

์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.


Greedy Search์˜ ํ•ต์‹ฌ

Greedy Search๋Š” ์˜ค์ง

h(n)

๋งŒ ๋ณธ๋‹ค.

์ฆ‰,

์ง€๊ธˆ๊นŒ์ง€ ์–ผ๋งˆ๋‚˜ ์™”๋Š”๊ฐ€?

๋Š” ํฌ๊ฒŒ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๊ณ 

์•ž์œผ๋กœ Goal๊นŒ์ง€ ์–ผ๋งˆ๋‚˜ ๋‚จ์•˜๋Š”๊ฐ€?

๋งŒ ๋ณธ๋‹ค.

๊ทธ๋ž˜์„œ ํ‰๊ฐ€ ํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

f(n) = h(n)

๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด ๋ฐฉ์‹์˜ ์žฅ์ ์€ ๋ถ„๋ช…ํ•˜๋‹ค.

Heuristic์ด ์ข‹๋‹ค๋ฉด
์“ธ๋ฐ์—†๋Š” Node๋ฅผ ํƒ์ƒ‰ํ•˜์ง€ ์•Š๊ณ  Goal ๋ฐฉํ–ฅ์œผ๋กœ ๋น ๋ฅด๊ฒŒ ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.


Greedy๋Š” ํ•ญ์ƒ ์ตœ์ ์ผ๊นŒ?

์•„๋‹ˆ๋‹ค.

Greedy Search๋Š” ํ˜„์žฌ ์ˆœ๊ฐ„์˜ ์„ ํƒ๋งŒ ๋ณด๊ธฐ ๋•Œ๋ฌธ์—
์ „์ฒด ๊ฒฝ๋กœ๊ฐ€ ์ตœ์ ์ด๋ผ๋Š” ๋ณด์žฅ์ด ์—†๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด

Start
โ”œโ”€โ”€ A โ†’ Goal
โ””โ”€โ”€ B โ†’ C โ†’ Goal

์ด๋ผ๋Š” ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•ด๋ณด์ž.

A๊ฐ€ Goal์— ํ›จ์”ฌ ๊ฐ€๊นŒ์›Œ ๋ณด์ธ๋‹ค๊ณ  ํ•ด์„œ
๋ฐ˜๋“œ์‹œ

Start โ†’ A โ†’ Goal

์˜ ์‹ค์ œ ๋น„์šฉ์ด ์ž‘์€ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

A๋กœ ๊ฐ€๋Š” Edge Cost๊ฐ€ ์—„์ฒญ๋‚˜๊ฒŒ ํด ์ˆ˜๋„ ์žˆ๋‹ค.

์ฆ‰,

Goal๊ณผ ๊ฐ€๊นŒ์›Œ ๋ณด์ธ๋‹ค
โ‰ 
์ „์ฒด ๋น„์šฉ์ด ์ž‘๋‹ค

์ด๋‹ค.

๋˜ํ•œ ๋ฐ˜๋ณต State๋ฅผ ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด
Loop์— ๋น ์งˆ ์ˆ˜๋„ ์žˆ๋‹ค.

๊ฐ•์˜์—์„œ๋„ Greedy Search๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ

Complete X
Optimal X

๋ผ๊ณ  ์„ค๋ช…ํ•œ๋‹ค.

๋‹ค๋งŒ finite state space์—์„œ repeated-state checking์„ ํ•œ๋‹ค๋ฉด
Completeness๋ฅผ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋‹ค.


๊ทธ๋ ‡๋‹ค๋ฉด ์ง€๊ธˆ๊นŒ์ง€ ์˜จ ๊ฑฐ๋ฆฌ๋„ ๊ฐ™์ด ๋ณด๋ฉด ๋˜์ง€ ์•Š์„๊นŒ?

์—ฌ๊ธฐ์—์„œ A* Search๊ฐ€ ๋“ฑ์žฅํ•œ๋‹ค.

Lesson 3์—์„œ ๋‹ค๋ค˜๋˜ Uniform Cost Search๋Š”

g(n)

์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

g(n)์€

Start Node์—์„œ ํ˜„์žฌ Node๊นŒ์ง€ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•œ ๋น„์šฉ

์ด๋‹ค.

๋ฐ˜๋ฉด Greedy Search๋Š”

h(n)

์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

g(n)
= ์ง€๊ธˆ๊นŒ์ง€ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•œ ๋น„์šฉ

h(n)
= ์•ž์œผ๋กœ Goal๊นŒ์ง€ ํ•„์š”ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ๋น„์šฉ

๊ทธ๋ ‡๋‹ค๋ฉด ๋‘ ๊ฐœ๋ฅผ ๋”ํ•˜๋ฉด ์–ด๋–จ๊นŒ?

f(n) = g(n) + h(n)

๋ฐ”๋กœ ์ด๊ฒƒ์ด A* Search์˜ ํ•ต์‹ฌ์ด๋‹ค.


A* Search

A* Search๋Š”

Uniform Cost Search
+
Greedy Search

์˜ ์•„์ด๋””์–ด๋ฅผ ํ•ฉ์นœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๊ฐ•์˜์—์„œ๋„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค๋ช…ํ•œ๋‹ค.

Uniform Cost Search
โ†’ backward cost g(n)

Greedy Search
โ†’ forward cost h(n)

A*
โ†’ g(n) + h(n)

์ฆ‰ A*์˜ ํ‰๊ฐ€ ํ•จ์ˆ˜๋Š”

f(n) = g(n) + h(n)

์ด๋‹ค.

๊ฐ๊ฐ์˜ ์˜๋ฏธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

g(n)
= Start์—์„œ n๊นŒ์ง€ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•œ ๋น„์šฉ

h(n)
= n์—์„œ Goal๊นŒ์ง€ ์˜ˆ์ƒ๋˜๋Š” ๋น„์šฉ

f(n)
= n์„ ๊ฑฐ์ณ Goal๊นŒ์ง€ ๊ฐˆ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ์ „์ฒด ๋น„์šฉ

๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋กœ ์ดํ•ดํ•ด๋ณด์ž

์ž๋™์ฐจ ๋‚ด๋น„๊ฒŒ์ด์…˜์„ ์ƒ๊ฐํ•˜๋ฉด ๊ฝค ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค.

ํ˜„์žฌ๊นŒ์ง€

์ „์ฃผ โ†’ ๋Œ€์ „

์œผ๋กœ 100km๋ฅผ ์ด๋™ํ–ˆ๋‹ค๊ณ  ํ•˜์ž.

๊ทธ๋ฆฌ๊ณ  ๋Œ€์ „์—์„œ ์„œ์šธ๊นŒ์ง€ ๋‚จ์€ ๊ฑฐ๋ฆฌ๋ฅผ
์•ฝ 150km๋ผ๊ณ  ์ถ”์ •ํ•œ๋‹ค๋ฉด

g(n) = 100
h(n) = 150

์ด๋ฏ€๋กœ

f(n) = 250

์ด๋‹ค.

๋ฐ˜๋ฉด ๋‹ค๋ฅธ ๊ฒฝ๋กœ์—์„œ๋Š”

g(n) = 150
h(n) = 80

์ผ ์ˆ˜๋„ ์žˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด

f(n) = 230

์ด๋‹ค.

A*๋Š” ์ด ๋‘˜ ์ค‘

230

์ธ ๊ฒฝ๋กœ๋ฅผ ๋จผ์ € ํƒ์ƒ‰ํ•œ๋‹ค.

์ฆ‰,

์ด๋ฏธ ์‚ฌ์šฉํ•œ ๋น„์šฉ๊ณผ ์•ž์œผ๋กœ ์‚ฌ์šฉํ•  ๊ฒƒ ๊ฐ™์€ ๋น„์šฉ์„ ๋™์‹œ์— ๊ณ ๋ คํ•œ๋‹ค.


A*๊ฐ€ Greedy๋ณด๋‹ค ์ข‹์€ ์ด์œ 

Greedy Search๋Š”

h(n)

๋งŒ ๋ณธ๋‹ค.

๋”ฐ๋ผ์„œ ๋ชฉํ‘œ์— ๊ฐ€๊นŒ์›Œ ๋ณด์ธ๋‹ค๋Š” ์ด์œ ๋งŒ์œผ๋กœ
๋งค์šฐ ๋น„์‹ผ ๊ฒฝ๋กœ๋ฅผ ์„ ํƒํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

A*๋Š”

g(n) + h(n)

์„ ๋ณด๊ธฐ ๋•Œ๋ฌธ์—

์•ž์œผ๋กœ ์–ผ๋งˆ๋‚˜ ๋‚จ์•˜๋Š”๊ฐ€?
+
์ง€๊ธˆ๊นŒ์ง€ ์–ผ๋งˆ๋‚˜ ์ผ๋Š”๊ฐ€?

๋ฅผ ๋ชจ๋‘ ๊ณ ๋ คํ•œ๋‹ค.

๊ฐœ์ธ์ ์œผ๋กœ ์ด ๋ถ€๋ถ„์„ ๋ณด๊ณ 

"A*๋Š” Greedy๋ฅผ ์กฐ๊ธˆ ๋” ํ˜„์‹ค์ ์œผ๋กœ ๋งŒ๋“  ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๊ตฌ๋‚˜."

๋ผ๊ณ  ์ดํ•ดํ–ˆ๋‹ค.


A*๋Š” Goal์„ ๋ฐœ๊ฒฌํ•˜๋ฉด ๋ฐ”๋กœ ๋๋‚ ๊นŒ?

์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ์ฃผ์˜์ ์ด ํ•˜๋‚˜ ์žˆ๋‹ค.

A*์—์„œ๋Š” Goal Node๋ฅผ Frontier์— ๋„ฃ์—ˆ๋‹ค๊ณ  ๋ฐ”๋กœ ์ข…๋ฃŒํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.

์ฆ‰,

Goal์„ Enqueue
โ†’ ์ข…๋ฃŒ X

์ด๋‹ค.

Goal์ด Frontier์—์„œ ์‹ค์ œ๋กœ

Dequeue

๋  ๋•Œ ์ข…๋ฃŒํ•ด์•ผ ํ•œ๋‹ค.

์™œ๋ƒํ•˜๋ฉด Goal์„ ์ฒ˜์Œ ๋ฐœ๊ฒฌํ–ˆ๋”๋ผ๋„
Frontier ์•ˆ์— ๋” ์ž‘์€ f(n) ๊ฐ’์„ ๊ฐ€์ง„ ๋‹ค๋ฅธ Node๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๊ทธ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด

๋” ์ž‘์€ ์‹ค์ œ ๋น„์šฉ์œผ๋กœ Goal

์— ๋„๋‹ฌํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.

๊ฐ•์˜์˜ Romania ์˜ˆ์ œ์—์„œ๋„
Bucharest๊ฐ€ ์ฒ˜์Œ Frontier์— ๋“ฑ์žฅํ•œ ์‹œ์ ๋ณด๋‹ค

Pitesti

์˜ f(n) ๊ฐ’์ด ๋” ์ž‘์•„์„œ Pitesti๋ฅผ ๋จผ์ € ํƒ์ƒ‰ํ•œ๋‹ค.

๊ฒฐ๊ตญ Pitesti๋ฅผ ๊ฑฐ์ณ๊ฐ€๋Š” ๊ฒฝ๋กœ๊ฐ€
๋” ์ €๋ ดํ•œ Bucharest ๊ฒฝ๋กœ๋ฅผ ๋งŒ๋“ค์–ด๋‚ธ๋‹ค.


A*์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ Heuristic์ด๋‹ค

์—ฌ๊ธฐ๊นŒ์ง€ ๋“ค์œผ๋ฉด ํ•œ ๊ฐ€์ง€ ์˜๋ฌธ์ด ์ƒ๊ธด๋‹ค.

h(n)

์€ ๊ทธ๋ƒฅ ๋‚ด๊ฐ€ ์•„๋ฌด๋ ‡๊ฒŒ๋‚˜ ์ถ”์ •ํ•ด๋„ ๋˜๋Š”๊ฐ€?

๊ทธ๋ ‡์ง€ ์•Š๋‹ค.

A*๊ฐ€ ์ตœ์ ํ•ด๋ฅผ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”
Heuristic์ด ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค.

์ด๋ฅผ Admissible Heuristic์ด๋ผ๊ณ  ํ•œ๋‹ค.


Admissible Heuristic

์‹ค์ œ n์—์„œ Goal๊นŒ์ง€์˜ ์ตœ์†Œ ๋น„์šฉ์„

h*(n)

์ด๋ผ๊ณ  ํ•˜์ž.

A*์—์„œ ์‚ฌ์šฉํ•˜๋Š” Heuristic h(n)์€

h(n) โ‰ค h*(n)

์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค.

์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด

์‹ค์ œ ๋น„์šฉ๋ณด๋‹ค ํฌ๊ฒŒ ์ถ”์ •ํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.

๋ผ๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋ฅผ ๊ฐ•์˜์—์„œ๋Š”

optimistic

ํ•˜๋‹ค๊ณ  ํ‘œํ˜„ํ•œ๋‹ค.

์กฐ๊ธˆ ๋‚™๊ด€์ ์œผ๋กœ ๋ณด๋Š” ๊ฒƒ์ด๋‹ค.


์™œ ๋น„์šฉ์„ ํฌ๊ฒŒ ์žก์œผ๋ฉด ์•ˆ ๋ ๊นŒ?

์˜ˆ๋ฅผ ๋“ค์–ด ์‹ค์ œ Goal๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๊ฐ€

10

์ธ๋ฐ

h(n) = 100

์ด๋ผ๊ณ  ํ•ด๋ฒ„๋ ธ๋‹ค๊ณ  ํ•˜์ž.

๊ทธ๋Ÿฌ๋ฉด A*๋Š” ์ด ๊ฒฝ๋กœ๋ฅผ

๋„ˆ๋ฌด ๋น„์‹ผ ๊ฒฝ๋กœ

๋ผ๊ณ  ํŒ๋‹จํ•ด ํƒ์ƒ‰ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์‹ค์ œ๋กœ๋Š” ๊ทธ ๊ฒฝ๋กœ๊ฐ€ ์ตœ์  ๊ฒฝ๋กœ์ผ ์ˆ˜๋„ ์žˆ๋‹ค.

์ฆ‰ Heuristic์ด ์‹ค์ œ ๋น„์šฉ์„ ๊ณผ๋Œ€ํ‰๊ฐ€ํ•˜๋ฉด

์ข‹์€ ๊ฒฝ๋กœ๋ฅผ ๋ฏธ๋ฆฌ ๋ฒ„๋ฆด ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ž˜์„œ A*์—์„œ ์‚ฌ์šฉํ•˜๋Š” Heuristic์€

์‹ค์ œ ๋น„์šฉ ์ดํ•˜

์—ฌ์•ผ ํ•œ๋‹ค.


์ง์„ ๊ฑฐ๋ฆฌ๊ฐ€ ์ข‹์€ Heuristic์ธ ์ด์œ 

Romania ์˜ˆ์ œ์—์„œ ์‚ฌ์šฉํ–ˆ๋˜

Straight-Line Distance

๋Š” ์ข‹์€ ์˜ˆ๋‹ค.

๋‘ ๋„์‹œ ์‚ฌ์ด๋ฅผ ์‹ค์ œ ๋„๋กœ๋กœ ์ด๋™ํ•˜๋ฉด
๋ณดํ†ต ์ง์„ ๊ฑฐ๋ฆฌ๋ณด๋‹ค ์งง์•„์งˆ ์ˆ˜ ์—†๋‹ค.

์ฆ‰,

์ง์„ ๊ฑฐ๋ฆฌ โ‰ค ์‹ค์ œ ๋„๋กœ๊ฑฐ๋ฆฌ

์ด๋‹ค.

๋”ฐ๋ผ์„œ Bucharest๊นŒ์ง€์˜ ์ง์„ ๊ฑฐ๋ฆฌ๋ฅผ h(n)์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด
์‹ค์ œ ๋น„์šฉ์„ ๊ณผ๋Œ€ํ‰๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.

๊ทธ๋ž˜์„œ Admissible Heuristic์ด ๋œ๋‹ค.


8-Puzzle์˜ Heuristic

๊ฐ•์˜์—์„œ๋Š” 8-Puzzle์„ ์ด์šฉํ•ด์„œ
๋‘ ๊ฐ€์ง€ Heuristic์„ ์†Œ๊ฐœํ•œ๋‹ค.

Lesson 3์—์„œ๋„ ๋‚˜์™”๋˜ ํผ์ฆ์ด๋‹ค.

ํ˜„์žฌ ํผ์ฆ
โ†“
ํƒ€์ผ ์ด๋™
โ†“
Goal State

์—ฌ๊ธฐ์—์„œ ๋Œ€ํ‘œ์ ์ธ Heuristic์ด ๋‘ ๊ฐ€์ง€ ์žˆ๋‹ค.


h1 : ์ž˜๋ชป ๋†“์ธ ํƒ€์ผ์˜ ๊ฐœ์ˆ˜

์ฒซ ๋ฒˆ์งธ๋Š”

h1(n)
= ๋ชฉํ‘œ ์œ„์น˜์— ์žˆ์ง€ ์•Š์€ Tile์˜ ๊ฐœ์ˆ˜

๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด 8๊ฐœ์˜ Tile ์ค‘
6๊ฐœ๊ฐ€ ์ž˜๋ชป๋œ ์œ„์น˜์— ์žˆ๋‹ค๋ฉด

h1(n) = 6

์ด๋‹ค.

๊ฐ Tile์€ ์ตœ์†Œ ํ•œ ๋ฒˆ์€ ์›€์ง์—ฌ์•ผ ์ œ์ž๋ฆฌ๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ
์ด ๊ฐ’์€ ์‹ค์ œ ๋น„์šฉ์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค.

๋”ฐ๋ผ์„œ Admissibleํ•˜๋‹ค.


h2 : Manhattan Distance

๋‘ ๋ฒˆ์งธ๋Š” Manhattan Distance๋‹ค.

๊ฐ Tile์ด ํ˜„์žฌ ์œ„์น˜์—์„œ
์ž์‹ ์˜ ๋ชฉํ‘œ ์œ„์น˜๊นŒ์ง€ ์ด๋™ํ•ด์•ผ ํ•˜๋Š”

๊ฐ€๋กœ ์นธ ์ˆ˜ + ์„ธ๋กœ ์นธ ์ˆ˜

๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ํ•œ Tile์ด

์˜ค๋ฅธ์ชฝ 2์นธ
์•„๋ž˜ 3์นธ

์„ ์ด๋™ํ•ด์•ผ ํ•œ๋‹ค๋ฉด

Manhattan Distance = 5

์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  Tile์˜ Manhattan Distance๋ฅผ ํ•ฉํ•œ๋‹ค.

๊ฐ•์˜ ์˜ˆ์ œ์—์„œ๋Š”

h2(S) = 14

๊ฐ€ ๋‚˜์˜จ๋‹ค.


์–ด๋–ค Heuristic์ด ๋” ์ข‹์€๊ฐ€?

๋‘˜ ๋‹ค Admissibleํ•˜๋‹ค๊ณ  ํ•ด์„œ
์„ฑ๋Šฅ์ด ๋˜‘๊ฐ™์€ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

๊ฐ•์˜์—์„œ๋Š” Dominance๋ผ๋Š” ๊ฐœ๋…์„ ์„ค๋ช…ํ•œ๋‹ค.

๋งŒ์•ฝ ๋ชจ๋“  Node์— ๋Œ€ํ•ด

h2(n) โ‰ฅ h1(n)

์ด๊ณ  ๋‘ Heuristic ๋ชจ๋‘ Admissible์ด๋ผ๋ฉด

h2๊ฐ€ h1์„ dominateํ•œ๋‹ค.

๊ณ  ํ•œ๋‹ค.

์™œ ๋” ํฐ ๊ฐ’์ด ์ข‹์€ ๊ฑธ๊นŒ?

๋‹จ,

์‹ค์ œ ๋น„์šฉ์„ ๋„˜์ง€ ์•Š๋Š” ๋ฒ”์œ„

์—์„œ๋Š” Goal๊นŒ์ง€์˜ ์‹ค์ œ ๋น„์šฉ์„ ๋” ์ •ํ™•ํ•˜๊ฒŒ ์ถ”์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ฆ‰,

๋„ˆ๋ฌด ์ž‘๊ฒŒ ์ถ”์ •ํ•˜๋Š” Heuristic

๋ณด๋‹ค

์‹ค์ œ ๋น„์šฉ์— ์ตœ๋Œ€ํ•œ ๊ฐ€๊น๊ฒŒ ์ถ”์ •ํ•˜๋Š” Heuristic

์ด ํƒ์ƒ‰ํ•  Node๋ฅผ ๋” ๋งŽ์ด ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

๊ฐ•์˜์˜ 8-Puzzle ์˜ˆ์ œ์—์„œ๋„ Manhattan Distance๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ
์ž˜๋ชป ๋†“์ธ Tile ๊ฐœ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํƒ์ƒ‰ Node ์ˆ˜๊ฐ€ ํฌ๊ฒŒ ๊ฐ์†Œํ•œ๋‹ค.


์ข‹์€ Heuristic์€ Search Cost๋ฅผ ํฌ๊ฒŒ ์ค„์ธ๋‹ค

์ด ๋ถ€๋ถ„์ด ๊ฝค ์ธ์ƒ์ ์ด์—ˆ๋‹ค.

Heuristic์ด ์กฐ๊ธˆ๋งŒ ์ข‹์•„์ ธ๋„
ํƒ์ƒ‰ํ•ด์•ผ ํ•˜๋Š” Node์˜ ๊ฐœ์ˆ˜๊ฐ€ ์—„์ฒญ๋‚˜๊ฒŒ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค.

๊ฒฐ๊ตญ A*์˜ ์„ฑ๋Šฅ์€

A* ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž์ฒด

๋ฟ๋งŒ ์•„๋‹ˆ๋ผ

์–ผ๋งˆ๋‚˜ ์ข‹์€ h(n)์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”๊ฐ€?

์— ํฌ๊ฒŒ ์ขŒ์šฐ๋œ๋‹ค.

์ฆ‰,

A*๋ฅผ ์ž˜ ์“ฐ๋Š” ํ•ต์‹ฌ์€ ๊ฒฐ๊ตญ ๋ฌธ์ œ์— ์ ํ•ฉํ•œ Heuristic์„ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.


์—ฌ๋Ÿฌ Heuristic์„ ํ•ฉ์น  ์ˆ˜๋„ ์žˆ๋‹ค

๋งŒ์•ฝ ๋‘ ๊ฐœ์˜ Admissible Heuristic

ha(n)
hb(n)

์ด ์žˆ๋‹ค๋ฉด

h(n) = max(ha(n), hb(n))

์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

๋‘˜ ๋ชจ๋‘ ์‹ค์ œ ๋น„์šฉ์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค๋ฉด
๊ทธ์ค‘ ํฐ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ ์—ฌ์ „ํžˆ ์‹ค์ œ ๋น„์šฉ์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค.

๋”ฐ๋ผ์„œ ์ƒˆ๋กœ์šด h(n)๋„ Admissibleํ•˜๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ธฐ์กด ๋‘ Heuristic๋ณด๋‹ค
๋” ์‹ค์ œ ๊ฐ’์— ๊ฐ€๊นŒ์šด ์ถ”์ •์น˜๋ฅผ ์‚ฌ์šฉํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.


Relaxed Problem

๊ทธ๋ ‡๋‹ค๋ฉด ์ข‹์€ Heuristic์€ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค๊นŒ?

๊ฐ•์˜์—์„œ๋Š” ํ•œ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ
Relaxed Problem์„ ์†Œ๊ฐœํ•œ๋‹ค.

์›๋ž˜ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ์กฐ๊ธˆ ์™„ํ™”ํ•œ ๋ฌธ์ œ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด 8-Puzzle์—์„œ๋Š” ์‹ค์ œ๋กœ Tile์ด ์›€์ง์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ์ œ์•ฝ์ด ์žˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ

Tile์ด ์•„๋ฌด ์œ„์น˜๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ณ  ์กฐ๊ฑด์„ ์™„ํ™”ํ•˜๋ฉด ๋ฌธ์ œ๋Š” ํ›จ์”ฌ ์‰ฌ์›Œ์ง„๋‹ค.

์ด Relaxed Problem์—์„œ ๊ตฌํ•œ ์ตœ์  ๋น„์šฉ์€
์›๋ž˜ ๋ฌธ์ œ์˜ ์ตœ์  ๋น„์šฉ๋ณด๋‹ค ํด ์ˆ˜ ์—†๋‹ค.

Relaxed Problem Cost
โ‰ค
Original Problem Cost

๋”ฐ๋ผ์„œ Relaxed Problem์˜ ์ •ํ™•ํ•œ Solution Cost๋ฅผ
์›๋ž˜ ๋ฌธ์ œ์˜ Heuristic์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.


TSP์—์„œ๋„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

๊ฐ•์˜์—์„œ๋Š” Travelling Salesperson Problem, ์ฆ‰ TSP๋„ ์˜ˆ๋กœ ๋“ ๋‹ค.

TSP๋Š”

๋ชจ๋“  ๋„์‹œ๋ฅผ ํ•œ ๋ฒˆ์”ฉ ๋ฐฉ๋ฌธํ•˜๋ฉด์„œ ์ด ์ด๋™ ๊ฑฐ๋ฆฌ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฌธ์ œ

๋‹ค.

๊ต‰์žฅํžˆ ์–ด๋ ค์šด ์ตœ์ ํ™” ๋ฌธ์ œ๋‹ค.

ํ•˜์ง€๋งŒ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ์™„ํ™”ํ•ด์„œ
Minimum Spanning Tree๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉด

์‹ค์ œ TSP Tour์˜ ๋น„์šฉ๋ณด๋‹ค ์ž‘์€ Lower Bound

๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

์ด ๊ฐ’์„ Heuristic์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.


A* Search์˜ ํŠน์ง•

๊ฐ•์˜ ์ž๋ฃŒ์—์„œ A*์˜ ํŠน์ง•์„ ์ •๋ฆฌํ•˜๋ฉด

Complete: Yes

Optimal: Yes

์ด๋‹ค.

๋ฌผ๋ก  ์•ž์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ
์ ์ ˆํ•œ Heuristic ์กฐ๊ฑด์ด ํ•„์š”ํ•˜๋‹ค.

๋˜ํ•œ A*๋Š” ๊ฐ™์€ Heuristic์„ ์‚ฌ์šฉํ•˜๋Š” Optimal Search Algorithm ์ค‘
ํ•„์š” ์ด์ƒ์œผ๋กœ ๋งŽ์€ Node๋ฅผ ํ™•์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์˜๋ฏธ์—์„œ
Optimally Efficientํ•˜๋‹ค๊ณ  ์„ค๋ช…ํ•œ๋‹ค.

๋‹ค๋งŒ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.


A*์˜ ๊ฐ€์žฅ ํฐ ๋‹จ์ , Memory

A*๋Š” Frontier์™€ ํƒ์ƒ‰ํ•œ Node๋“ค์„ ๊ณ„์† ์ €์žฅํ•œ๋‹ค.

๊ทธ๋ž˜์„œ ์ƒํƒœ ๊ณต๊ฐ„์ด ๋งค์šฐ ์ปค์ง€๋ฉด

Memory

๊ฐ€ ํฐ ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค.

Heuristic์ด ์ข‹์•„์ง€๋ฉด ํƒ์ƒ‰ Node ์ˆ˜๋ฅผ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์ง€๋งŒ,
๋ฌธ์ œ๊ฐ€ ์ถฉ๋ถ„ํžˆ ํฌ๋‹ค๋ฉด A* ์—ญ์‹œ ๋งŽ์€ Memory๋ฅผ ์š”๊ตฌํ•œ๋‹ค.

์ฆ‰,

์ข‹์€ Heuristic
โ†’ ํƒ์ƒ‰๋Ÿ‰ ๊ฐ์†Œ

ํ•˜์ง€๋งŒ
โ†’ ๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ๊ฐ‘์ž๊ธฐ ์‰ฌ์›Œ์ง€๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

A*๋Š” ์–ด๋””์— ์‚ฌ์šฉ๋ ๊นŒ?

๊ฐ•์˜์—์„œ๋Š” A*์˜ ํ™œ์šฉ ๋ถ„์•ผ๋„ ์—ฌ๋Ÿฌ ๊ฐœ ์†Œ๊ฐœํ–ˆ๋‹ค.

๋Œ€ํ‘œ์ ์œผ๋กœ

Video Game
Path Finding
Routing
Resource Planning
Robot Motion Planning
Language Analysis
Machine Translation
Speech Recognition

๋“ฑ์ด๋‹ค.

๊ฐœ์ธ์ ์œผ๋กœ ๊ฐ€์žฅ ์ต์ˆ™ํ•œ ๊ฒƒ์€ ์—ญ์‹œ ๊ฒŒ์ž„์˜ Path Finding์ด๋‹ค.

NPC๊ฐ€ ์žฅ์• ๋ฌผ์„ ํ”ผํ•ด ๋ชฉ์ ์ง€๊นŒ์ง€ ์ด๋™ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์—์„œ

ํ˜„์žฌ ์œ„์น˜
โ†“
A*
โ†“
๋ชฉ์ ์ง€๊นŒ์ง€ ํšจ์œจ์ ์ธ ๊ฒฝ๋กœ

๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค.


์ด์ œ ๊ฒฝ๋กœ ์ž์ฒด๊ฐ€ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๋ฌธ์ œ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž

์—ฌ๊ธฐ๋ถ€ํ„ฐ ๊ฐ•์˜๊ฐ€ ์กฐ๊ธˆ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค.

์ง€๊ธˆ๊นŒ์ง€๋Š”

Start
โ†“
...
โ†“
Goal

์ด๋ผ๋Š” ๊ฒฝ๋กœ๊ฐ€ ์ค‘์š”ํ–ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์–ด๋–ค ์ตœ์ ํ™” ๋ฌธ์ œ์—์„œ๋Š”
๊ฒฝ๋กœ๊ฐ€ ๋ณ„๋กœ ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค.

์ค‘์š”ํ•œ ๊ฒƒ์€

์ตœ์ข… ์ƒํƒœ ์ž์ฒด

๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด TSP์—์„œ๋Š”

์–ด๋–ค ๊ณผ์ •์„ ๊ฑฐ์ณ ์ด Tour๋ฅผ ๋งŒ๋“ค์—ˆ๋Š”๊ฐ€?

๋ณด๋‹ค

์ตœ์ข… Tour์˜ ๊ธธ์ด๊ฐ€ ์–ผ๋งˆ์ธ๊ฐ€?

๊ฐ€ ์ค‘์š”ํ•˜๋‹ค.

์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด
Local Search๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.


Local Search

Local Search๋Š” ํ˜„์žฌ State์—์„œ ์‹œ์ž‘ํ•ด์„œ

์ฃผ๋ณ€์˜ Neighbor State

๋ฅผ ํƒ์ƒ‰ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ๊ธฐ์กด Graph Search์™€ ๋‹ฌ๋ฆฌ
์ง€๋‚˜์˜จ ๊ฒฝ๋กœ๋ฅผ ๋ชจ๋‘ ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.

ํ˜„์žฌ State
โ†“
Neighbor ํ‰๊ฐ€
โ†“
๋” ์ข‹์€ State๋กœ ์ด๋™
โ†“
๋‹ค์‹œ Neighbor ํ‰๊ฐ€

๋ฅผ ๋ฐ˜๋ณตํ•œ๋‹ค.

์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด

ํ˜„์žฌ ๋‹ต์„ ์กฐ๊ธˆ์”ฉ ์ˆ˜์ •ํ•˜๋ฉด์„œ ๋” ์ข‹์€ ๋‹ต์„ ๋งŒ๋“ค์–ด๊ฐ€๋Š” ๋ฐฉ์‹

์ด๋‹ค.


TSP๋ฅผ Local Search๋กœ ํ’€์–ด๋ณด์ž

์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ฌด Tour ํ•˜๋‚˜๋ฅผ ๋งŒ๋“ ๋‹ค.

A โ†’ B โ†’ C โ†’ D โ†’ E โ†’ A

๊ทธ๋ฆฌ๊ณ  ๋‘ ๊ฒฝ๋กœ๋ฅผ ์„œ๋กœ ๋ฐ”๊ฟ”๋ณธ๋‹ค.

ํ˜„์žฌ Tour
โ†“
์ผ๋ถ€ Edge ๊ตํ™˜
โ†“
์ƒˆ๋กœ์šด Tour

์ƒˆ๋กœ์šด Tour์˜ ๋น„์šฉ์ด ๋” ์ž‘๋‹ค๋ฉด
๊ทธ ์ƒํƒœ๋ฅผ ์ฑ„ํƒํ•œ๋‹ค.

์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉด
์ ์  ๋” ์ข‹์€ Solution์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.


n-Queens

Local Search์˜ ๋˜ ๋‹ค๋ฅธ ๋Œ€ํ‘œ ์˜ˆ์ œ๊ฐ€
n-Queens Problem์ด๋‹ค.

์ฒด์ŠคํŒ ์œ„์— n๊ฐœ์˜ Queen์„ ๋†“๋Š”๋ฐ

๊ฐ™์€ Row X
๊ฐ™์€ Column X
๊ฐ™์€ Diagonal X

๊ฐ€ ๋˜๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค.

์—ฌ๊ธฐ์—์„œ Heuristic์„

์„œ๋กœ ๊ณต๊ฒฉ ๊ฐ€๋Šฅํ•œ Queen Pair์˜ ์ˆ˜

๋ผ๊ณ  ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด

h = 5

๋ผ๋ฉด ์ถฉ๋Œ์ด 5๊ฐœ ์žˆ๋‹ค๋Š” ๋œป์ด๊ณ ,

Queen์„ ํ•˜๋‚˜ ์ด๋™ํ•ด์„œ

h = 2

๋กœ ๋งŒ๋“ ๋‹ค.

๊ณ„์† ์ค„์—ฌ์„œ

h = 0

์ด ๋˜๋ฉด Solution์ด๋‹ค.


Hill Climbing

์ด ์•„์ด๋””์–ด๋ฅผ ๊ฐ€์žฅ ๋‹จ์ˆœํ•˜๊ฒŒ ๊ตฌํ˜„ํ•œ ๊ฒƒ์ด
Hill Climbing์ด๋‹ค.

๊ฐ•์˜์˜ ํ‘œํ˜„์ด ์žฌ๋ฏธ์žˆ์—ˆ๋‹ค.

"Like climbing Everest in thick fog with amnesia"

์•ˆ๊ฐœ๊ฐ€ ์ž์šฑํ•œ ์—๋ฒ ๋ ˆ์ŠคํŠธ์—์„œ
์ฃผ๋ณ€๋งŒ ๋ณด๋ฉด์„œ ๋” ๋†’์€ ๊ณณ์œผ๋กœ ๊ณ„์† ์˜ฌ๋ผ๊ฐ€๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

ํ˜„์žฌ ์œ„์น˜์—์„œ ์ฃผ๋ณ€์„ ๋ณธ๋‹ค.

ํ˜„์žฌ๋ณด๋‹ค ์ข‹์€ Neighbor๊ฐ€ ์žˆ๋Š”๊ฐ€?

์žˆ๋‹ค๋ฉด ์ด๋™ํ•œ๋‹ค.

ํ˜„์žฌ State
โ†“
๊ฐ€์žฅ ์ข‹์€ Neighbor
โ†“
์ด๋™
โ†“
๋ฐ˜๋ณต

๋” ์ข‹์€ Neighbor๊ฐ€ ์—†๋‹ค๋ฉด ์ข…๋ฃŒํ•œ๋‹ค.


Hill Climbing์˜ ๋ฌธ์ œ

๋ฌธ์ œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ๋„์ฐฉํ•œ ๊ณณ์ด
์ง„์งœ ์ตœ๊ณ ์˜ ์ง€์ ์ด๋ผ๋Š” ๋ณด์žฅ์ด ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด

        Global Maximum
           /\
          /  \
    /\   /    \
   /  \_/      \
Local Maximum

๊ฐ™์€ ๊ณต๊ฐ„์ด ์žˆ๋‹ค๊ณ  ํ•ด๋ณด์ž.

Hill Climbing์€ Local Maximum์— ๋„์ฐฉํ•˜๋ฉด

์ฃผ๋ณ€์— ๋” ์ข‹์€ ๊ณณ์ด ์—†์Œ

์ด๋ผ๊ณ  ํŒ๋‹จํ•˜๊ณ  ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ๊ณณ์—๋Š”
๋” ์ข‹์€ Global Maximum์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ๋‹ค.


Random Restart

์ด ๋ฌธ์ œ๋ฅผ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€

๋‹ค๋ฅธ ์œ„์น˜์—์„œ ๋‹ค์‹œ ์‹œ์ž‘

ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋ฅผ Random-Restart Hill Climbing์ด๋ผ๊ณ  ํ•œ๋‹ค.

Random Start
โ†“
Hill Climbing

Random Start
โ†“
Hill Climbing

Random Start
โ†“
Hill Climbing

์„ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ๋” ์ข‹์€ Solution์„ ์ฐพ๋Š”๋‹ค.


Simulated Annealing

Local Maximum ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ
๋” ์žฌ๋ฏธ์žˆ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค.

๋ฐ”๋กœ Simulated Annealing์ด๋‹ค.

ํ•ต์‹ฌ ์•„์ด๋””์–ด๋Š”

๊ฐ€๋”์€ ์ผ๋ถ€๋Ÿฌ ๋” ๋‚˜์œ ์„ ํƒ๋„ ํ—ˆ์šฉํ•˜์ž.

์ด๋‹ค.

Hill Climbing์€ ํ•ญ์ƒ

์ข‹์•„์ง€๋Š” ๋ฐฉํ–ฅ

์œผ๋กœ๋งŒ ์ด๋™ํ•œ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๊ทธ๋Ÿฌ๋ฉด Local Optimum์„ ๋น ์ ธ๋‚˜์˜ค๊ธฐ ์–ด๋ ต๋‹ค.

Simulated Annealing์€ ๊ฒฝ์šฐ์— ๋”ฐ๋ผ

๋‚˜์œ ์ƒํƒœ

๋กœ๋„ ์ด๋™ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.


์™œ ์ผ๋ถ€๋Ÿฌ ๋‚˜์œ ์„ ํƒ์„ ํ• ๊นŒ?

์˜ˆ๋ฅผ ๋“ค์–ด ํ˜„์žฌ Local Minimum์— ๊ฐ‡ํ˜€ ์žˆ๋‹ค๊ณ  ํ•ด๋ณด์ž.

     Global Minimum
        \        /
         \      /
      ___ \____/
     /
Local Minimum

Global Minimum์œผ๋กœ ๊ฐ€๋ ค๋ฉด
์ผ์‹œ์ ์œผ๋กœ ๋” ๋†’์€ ๋น„์šฉ์˜ ์ƒํƒœ๋ฅผ ์ง€๋‚˜์•ผ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

Hill Climbing / Descending์€ ์ด๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

ํ•˜์ง€๋งŒ Simulated Annealing์€ ์ผ์ • ํ™•๋ฅ ๋กœ

์ผ์‹œ์ ์œผ๋กœ ๋” ๋‚˜์œ ์ƒํƒœ

๋ฅผ ๋ฐ›์•„๋“ค์ธ๋‹ค.

๊ทธ๋ž˜์„œ Local Optimum์„ ๋น ์ ธ๋‚˜๊ฐˆ ๊ฐ€๋Šฅ์„ฑ์ด ์ƒ๊ธด๋‹ค.


Temperature

Simulated Annealing์—์„œ๋Š” Temperature T๋ผ๋Š” ๊ฐœ๋…์„ ์‚ฌ์šฉํ•œ๋‹ค.

์ดˆ๋ฐ˜์—๋Š” T๊ฐ€ ํฌ๋‹ค.

T๊ฐ€ ํผ
โ†’ ๋‚˜์œ ์„ ํƒ๋„ ๋น„๊ต์  ์ž์ฃผ ํ—ˆ์šฉ
โ†’ Exploration

์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด T๋ฅผ ์ ์  ์ค„์ธ๋‹ค.

T๊ฐ€ ์ž‘์Œ
โ†’ ๋‚˜์œ ์„ ํƒ์„ ๊ฑฐ์˜ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ
โ†’ Exploitation

์ฆ‰,

์ดˆ๋ฐ˜
โ†’ ๋‹ค์–‘ํ•˜๊ฒŒ ํƒ์ƒ‰

ํ›„๋ฐ˜
โ†’ ์ข‹์€ ์ง€์—ญ์— ์ง‘์ค‘

ํ•œ๋‹ค.

Machine Learning์—์„œ ์ž์ฃผ ๋“ฃ๋Š”

Exploration vs Exploitation

์˜ ๊ด€๊ณ„์™€ ๋น„์Šทํ•˜๋‹ค.


Local Beam Search

Local Search๋ฅผ ํ•˜๋‚˜์˜ State๋งŒ ๊ฐ€์ง€๊ณ  ํ•˜์ง€ ์•Š๊ณ 
์—ฌ๋Ÿฌ ๊ฐœ์˜ State๋ฅผ ๋™์‹œ์— ์œ ์ง€ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

์ด๊ฒƒ์ด Local Beam Search๋‹ค.

ํ˜„์žฌ State k๊ฐœ
โ†“
๊ฐ State์˜ Successor ์ƒ์„ฑ
โ†“
์ „์ฒด ์ค‘ ์ข‹์€ k๊ฐœ ์„ ํƒ
โ†“
๋ฐ˜๋ณต

์ค‘์š”ํ•œ ๊ฒƒ์€

๋…๋ฆฝ์ ์ธ Search๋ฅผ k๊ฐœ ๋Œ๋ฆฐ๋‹ค

๋Š” ์˜๋ฏธ๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์ด๋‹ค.

๋ชจ๋“  Successor๋ฅผ ํ•จ๊ป˜ ๋น„๊ตํ•˜๊ณ 
๊ทธ์ค‘ ๊ฐ€์žฅ ์ข‹์€ k๊ฐœ๋ฅผ ์„ ํƒํ•œ๋‹ค.


๊ทธ๋Ÿฐ๋ฐ ์ข‹์€ State๋“ค๋งŒ ๋‚จ๊ธฐ๋ฉด ๋น„์Šทํ•ด์ง€์ง€ ์•Š์„๊นŒ?

๋งž๋‹ค.

๊ณ„์† ์ข‹์€ State๋งŒ ์„ ํƒํ•˜๋ฉด
๊ฒฐ๊ตญ k๊ฐœ์˜ State๊ฐ€ ๋ชจ๋‘ ๋น„์Šทํ•œ Local Optimum์— ๋ชจ์ผ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ข‹์€ State๋ฅผ ์„ ํƒํ•  ํ™•๋ฅ ์„ ๋†’์ด๋˜
Randomness๋ฅผ ์„ž๋Š” ๋ฐฉ๋ฒ•๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ๊ฐ•์˜๋Š” ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ
Genetic Algorithm์œผ๋กœ ์—ฐ๊ฒฐํ•œ๋‹ค.


Genetic Algorithm

Genetic Algorithm์€
์ƒ๋ฌผ์˜ ์ž์—ฐ ์„ ํƒ๊ณผ ์ง„ํ™”๋ฅผ ๋ชจ๋ฐฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

ํ•ต์‹ฌ์€

Population
Selection
Crossover
Mutation
Next Generation

์ด๋‹ค.


Representation

๋จผ์ € ํ•˜๋‚˜์˜ Solution์„
์–ด๋–ค ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•ด์•ผ ํ•œ๋‹ค.

Genetic Algorithm์—์„œ๋Š” ๋ณดํ†ต ํ•˜๋‚˜์˜ Solution์„

String

์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด

1011010011

๊ฐ™์€ Binary String์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

์ด๊ฒƒ์„ ์ƒ๋ฌผ์˜

Chromosome

์ฒ˜๋Ÿผ ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค.


Population

Solution ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ
์—ฌ๋Ÿฌ Candidate Solution์„ ๋งŒ๋“ ๋‹ค.

Solution 1
Solution 2
Solution 3
Solution 4
...

์ด ์ง‘ํ•ฉ์„ Population์ด๋ผ๊ณ  ํ•œ๋‹ค.

์ดˆ๊ธฐ Population์€ ๋ณดํ†ต Randomํ•˜๊ฒŒ ์ƒ์„ฑํ•œ๋‹ค.


Fitness Function

๊ฐ Solution์ด ์–ผ๋งˆ๋‚˜ ์ข‹์€์ง€ ํ‰๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค.

์ด๋ฅผ Fitness Function์ด๋ผ๊ณ  ํ•œ๋‹ค.

Fitness๊ฐ€ ๋†’๋‹ค
โ†’ ์ข‹์€ Solution

Fitness๊ฐ€ ๋‚ฎ๋‹ค
โ†’ ์ข‹์ง€ ์•Š์€ Solution

์ด๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค.


Selection

์ข‹์€ Solution์ผ์ˆ˜๋ก
๋‹ค์Œ Generation์— ์ž์‹ ์˜ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•  ํ™•๋ฅ ์„ ๋†’์ธ๋‹ค.

๊ฐ•์˜์—์„œ๋Š” Roulette Wheel Selection์„ ์˜ˆ๋กœ ๋“ ๋‹ค.

Fitness๊ฐ€ ๋†’์€ ๊ฐœ์ฒด์ผ์ˆ˜๋ก
Roulette Wheel์—์„œ ๋” ํฐ ์˜์—ญ์„ ์ฐจ์ง€ํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ์„ ํƒ๋  ํ™•๋ฅ ์ด ๋†’๋‹ค.


Crossover

์„ ํƒ๋œ ๋‘ Parent๋ฅผ ์„ž์–ด์„œ
์ƒˆ๋กœ์šด Child๋ฅผ ๋งŒ๋“ ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด

Parent 1

11011 | 00100

Parent 2

10101 | 11100

์ด๋ผ๊ณ  ํ•˜๋ฉด

Child 1

11011 | 11100

Child 2

10101 | 00100

์ฒ˜๋Ÿผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

์ด๋ฅผ Crossover๋ผ๊ณ  ํ•œ๋‹ค.

ํ•œ ์ง€์ ์—์„œ ์ž๋ฅด๋ฉด

Single Point Crossover

์ด๊ณ ,

๋‘ ์ง€์ ์—์„œ ์ž๋ฅด๋ฉด

Two Point Crossover

๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.


Mutation

ํ•˜์ง€๋งŒ Parent๋ผ๋ฆฌ ๊ณ„์† ์„ž๊ธฐ๋งŒ ํ•˜๋ฉด
Population์ด ์ ์  ๋น„์Šทํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด Local Optimum์— ๋น ์งˆ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.

๊ทธ๋ž˜์„œ ์•„์ฃผ ์ž‘์€ ํ™•๋ฅ ๋กœ ์ผ๋ถ€ ๊ฐ’์„ Randomํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด

101101

์—์„œ

101001

๋กœ Bit ํ•˜๋‚˜๋ฅผ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋ฅผ Mutation์ด๋ผ๊ณ  ํ•œ๋‹ค.

Mutation์€ Population์— ์ƒˆ๋กœ์šด ๋‹ค์–‘์„ฑ์„ ์ œ๊ณตํ•œ๋‹ค.


Next Generation

Selection, Crossover, Mutation์„ ํ†ตํ•ด
์ƒˆ๋กœ์šด Candidate Solution์„ ๋งŒ๋“ ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด๋“ค์„ ๋‹ค์Œ Generation์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

Generation 1
โ†“
Selection
โ†“
Crossover
โ†“
Mutation
โ†“
Generation 2
โ†“
...

์ด ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.

๋•Œ๋กœ๋Š” ์ด์ „ Generation์˜ ๊ฐ€์žฅ ์ข‹์€ Solution์„
๋‹ค์Œ Generation์— ๊ทธ๋Œ€๋กœ ์œ ์ง€์‹œํ‚ค๊ธฐ๋„ ํ•œ๋‹ค.

์ด๋ฅผ Elitism์ด๋ผ๊ณ  ํ•œ๋‹ค.


๊ฒฐ๊ตญ Genetic Algorithm๋„ Search๋‹ค

์ฒ˜์Œ์—๋Š” Genetic Algorithm์ด
Graph Search์™€ ์™„์ „ํžˆ ๋‹ค๋ฅธ ๋‚ด์šฉ์ฒ˜๋Ÿผ ๋ณด์˜€๋‹ค.

ํ•˜์ง€๋งŒ ๊ฐ•์˜๋ฅผ ๋”ฐ๋ผ๊ฐ€๋‹ค ๋ณด๋ฉด
๊ฒฐ๊ตญ ์ด๊ฒƒ๋„

State Space์—์„œ ๋” ์ข‹์€ State๋ฅผ ์ฐพ๋Š” Search

๋ผ๋Š” ํฐ ํ‹€ ์•ˆ์— ์žˆ๋‹ค.

๋‹จ์ง€

BFS / DFS
โ†’ ๋ช…ํ™•ํ•œ Frontier๋ฅผ ํƒ์ƒ‰

Local Search
โ†’ Neighbor๋ฅผ ์ด์šฉํ•ด ๊ฐœ์„ 

Genetic Algorithm
โ†’ Population์„ ์ง„ํ™”์‹œํ‚ค๋ฉฐ ํƒ์ƒ‰

์ด๋ผ๋Š” ์ฐจ์ด๊ฐ€ ์žˆ์„ ๋ฟ์ด๋‹ค.


๋งˆ์ง€๋ง‰์€ Continuous State Space

์ง€๊ธˆ๊นŒ์ง€ ๋Œ€๋ถ€๋ถ„์˜ Search ๋ฌธ์ œ๋Š”
State๊ฐ€ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„๋˜๋Š” Discrete Space์˜€๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด

City A
City B
City C

๋˜๋Š”

Puzzle State 1
Puzzle State 2

์ฒ˜๋Ÿผ ๊ตฌ๋ถ„๋œ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ํ˜„์‹ค์—๋Š” Continuousํ•œ ๋ฌธ์ œ๋„ ๋งŽ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ง€๋„ ์œ„์— ๊ณตํ•ญ 3๊ฐœ๋ฅผ ์–ด๋””์— ๋ฐฐ์น˜ํ• ์ง€ ๊ฒฐ์ •ํ•œ๋‹ค๊ณ  ํ•ด๋ณด์ž.

๊ฐ ๊ณตํ•ญ์˜ ์œ„์น˜๊ฐ€

(x1, y1)
(x2, y2)
(x3, y3)

๋ผ๊ณ  ํ•˜๋ฉด

์ด 6๊ฐœ์˜ Continuous Variable์ด ์กด์žฌํ•œ๋‹ค.


Gradient-Based Algorithm

Continuous State Space์—์„œ๋Š”
Neighbor๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ์ƒ์„ฑํ•˜๊ธฐ๋ณด๋‹ค Gradient๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Gradient๋Š” ์‰ฝ๊ฒŒ ์ƒ๊ฐํ•˜๋ฉด

ํ˜„์žฌ ์œ„์น˜์—์„œ ํ•จ์ˆ˜ ๊ฐ’์ด ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ๋ณ€ํ•˜๋Š” ๋ฐฉํ–ฅ

์ด๋‹ค.

๊ฐ’์„ ์ตœ๋Œ€ํ™”ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด

Gradient Ascent

๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ,

๊ฐ’์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด

Gradient Descent

๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.


Gradient Descent

Machine Learning์„ ์กฐ๊ธˆ ๊ณต๋ถ€ํ–ˆ๋‹ค๋ฉด
์ •๋ง ์ž์ฃผ ๋ณด๋Š” ์ด๋ฆ„์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด Loss Function์„ ์ค„์ด๊ณ  ์‹ถ๋‹ค๊ณ  ํ•ด๋ณด์ž.

ํ˜„์žฌ Parameter์—์„œ

Loss๊ฐ€ ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ์ฆ๊ฐ€ํ•˜๋Š” ๋ฐฉํ–ฅ

์ด Gradient๋ผ๋ฉด,

๊ทธ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

Parameter
โ†“
Gradient ๊ณ„์‚ฐ
โ†“
Gradient ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ ์ด๋™
โ†“
Loss ๊ฐ์†Œ
โ†“
๋ฐ˜๋ณต

์ด๊ฒƒ์ด Gradient Descent๋‹ค.

๊ฒฐ๊ตญ Deep Learning์—์„œ ์‚ฌ์šฉํ•˜๋Š” Optimization๋„
ํฐ ๊ด€์ ์—์„œ ๋ณด๋ฉด

๋” ์ข‹์€ State๋ฅผ ์ฐพ๋Š” Search

๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ์ธ์ƒ์ ์ด์—ˆ๋‹ค.


Lesson 4๋ฅผ ์ •๋ฆฌํ•˜๋ฉด

์ด๋ฒˆ Lesson์€ ์‚ฌ์‹ค ๊ฝค ๋งŽ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋‹ค๋ฃจ๊ณ  ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ํฐ ํ๋ฆ„์œผ๋กœ ๋ฌถ์œผ๋ฉด ์ƒ๊ฐ๋ณด๋‹ค ๋‹จ์ˆœํ•˜๋‹ค.

๋จผ์ €

Uninformed Search

์—์„œ ๋ฒ—์–ด๋‚˜

Heuristic

์ด๋ผ๋Š” ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ 

Greedy Search
โ†’ h(n)

Uniform Cost Search
โ†’ g(n)

A*
โ†’ g(n) + h(n)

์œผ๋กœ ์—ฐ๊ฒฐ๋œ๋‹ค.

๊ทธ ์ดํ›„์—๋Š” ๊ฒฝ๋กœ ์ž์ฒด๋ณด๋‹ค
์ตœ์ข… ์ƒํƒœ๊ฐ€ ์ค‘์š”ํ•œ Optimization Problem์œผ๋กœ ํ™•์žฅํ•˜๋ฉด์„œ

Local Search
โ†“
Hill Climbing
โ†“
Simulated Annealing
โ†“
Local Beam Search
โ†“
Genetic Algorithm

์„ ๋‹ค๋ฃฌ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ Continuous State Space์—์„œ๋Š”

Gradient Ascent
Gradient Descent

๊นŒ์ง€ ์—ฐ๊ฒฐ๋œ๋‹ค.


์ˆ˜์—…์„ ๋“ฃ๊ณ  ๋‚˜์„œ

์ด๋ฒˆ Lesson์˜ ์•ž๋ถ€๋ถ„์€ ๊ฝค ์ต์ˆ™ํ–ˆ๋‹ค.

Greedy Algorithm์€ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋ฅผ ์ค€๋น„ํ•˜๋ฉด์„œ ์ž์ฃผ ์ ‘ํ•ด์™”๊ณ ,
๋ฌธ์ œ๋ฅผ ๋ณด๊ณ 

ํ˜„์žฌ ๊ฐ€์žฅ ์ข‹์€ ์„ ํƒ์„ ๋ฐ˜๋ณตํ•ด์„œ ํ•ด๋„ ๋˜๋Š”๊ฐ€?

๋ฅผ ๊ณ ๋ฏผํ•˜๋Š” ๊ณผ์ •๋„ ์–ด๋А ์ •๋„ ์ต์ˆ™ํ–ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์ด๋ฒˆ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉด์„œ
Greedy๋ฅผ ๋‹จ์ˆœํ•œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด ๊ธฐ๋ฒ•์ด ์•„๋‹ˆ๋ผ

Heuristic์„ ์ด์šฉํ•˜๋Š” Search Strategy

๋ผ๋Š” ๊ด€์ ์—์„œ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

ํŠนํžˆ

Greedy
โ†’ h(n)

Uniform Cost
โ†’ g(n)

A*
โ†’ g(n) + h(n)

์ด๋ผ๋Š” ์—ฐ๊ฒฐ์ด ๊ฐ€์žฅ ๊ธฐ์–ต์— ๋‚จ์•˜๋‹ค.

๊ทธ๋™์•ˆ A* Search๋Š”

"๊ธธ ์ฐพ๊ธฐ์— ์‚ฌ์šฉํ•˜๋Š” ์œ ๋ช…ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜"

์ •๋„๋กœ๋งŒ ์•Œ๊ณ  ์žˆ์—ˆ๋Š”๋ฐ,

์™œ g(n)๊ณผ h(n)์„ ๋”ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ณ  ๋‚˜๋‹ˆ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌ์กฐ๊ฐ€ ํ›จ์”ฌ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋А๊ปด์กŒ๋‹ค.

๋˜ํ•œ Heuristic์ด ๋‹จ์ˆœํžˆ

๋Œ€์ถฉ Goal๊ณผ ๊ฐ€๊นŒ์šด ์ •๋„

๊ฐ€ ์•„๋‹ˆ๋ผ,

A*์˜ ์ตœ์ ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด

h(n) โ‰ค ์‹ค์ œ ๋‚จ์€ ๋น„์šฉ

์ด๋ผ๋Š” ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ๋„ ์ƒˆ๋กญ๊ฒŒ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.


๋งˆ๋ฌด๋ฆฌ

Lesson 3์—์„œ๋Š”

์–ด๋–ค ์ˆœ์„œ๋กœ State Space๋ฅผ ํƒ์ƒ‰ํ•  ๊ฒƒ์ธ๊ฐ€?

๋ฅผ ๋ฐฐ์› ๋‹ค๋ฉด,

Lesson 4์—์„œ๋Š”

Goal์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ๊ทธ ์ •๋ณด๋ฅผ ์–ด๋–ป๊ฒŒ ํƒ์ƒ‰์— ํ™œ์šฉํ•  ๊ฒƒ์ธ๊ฐ€?

๋ฅผ ๋ฐฐ์› ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

ํŠนํžˆ ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ ๋‚ด์šฉ์„ ํ•˜๋‚˜๋งŒ ๊ณ ๋ฅด๋ผ๊ณ  ํ•œ๋‹ค๋ฉด
์—ญ์‹œ A* Search๋‹ค.

g(n)
= ์ง€๊ธˆ๊นŒ์ง€ ์‹ค์ œ ๋น„์šฉ

h(n)
= ์•ž์œผ๋กœ ํ•„์š”ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ๋น„์šฉ

f(n)
= g(n) + h(n)

๊ทธ๋ฆฌ๊ณ  ์ข‹์€ Heuristic์„ ์‚ฌ์šฉํ•˜๋ฉด
๋ถˆํ•„์š”ํ•œ ํƒ์ƒ‰์„ ํฌ๊ฒŒ ์ค„์ด๋ฉด์„œ๋„ ์ตœ์ ํ•ด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

ํ›„๋ฐ˜๋ถ€์˜ Local Search์™€ Genetic Algorithm, Gradient Descent๊นŒ์ง€ ๋ณด๊ณ  ๋‚˜๋‹ˆ
Search๋ผ๋Š” ๊ฐœ๋…์ด ์ƒ๊ฐ๋ณด๋‹ค ํ›จ์”ฌ ๋„“๋‹ค๋Š” ๊ฒƒ๋„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

Graph์—์„œ ๊ธธ์„ ์ฐพ๋Š” ๊ฒƒ๋„ Search

์ตœ์ ์˜ TSP Tour๋ฅผ ์ฐพ๋Š” ๊ฒƒ๋„ Search

Queen์˜ ๋ฐฐ์น˜๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ๋„ Search

Neural Network์˜ Loss๋ฅผ ์ค„์ด๋Š” ๊ฒƒ๋„ Search

๊ฒฐ๊ตญ ๋งŽ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋Š”

์ˆ˜๋งŽ์€ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ ์ค‘์—์„œ ๋” ์ข‹์€ ์ƒํƒœ๋ฅผ ์–ด๋–ป๊ฒŒ ํšจ์œจ์ ์œผ๋กœ ์ฐพ์•„๊ฐˆ ๊ฒƒ์ธ๊ฐ€?

๋ผ๋Š” ํ•˜๋‚˜์˜ ์งˆ๋ฌธ์œผ๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

profile
๋„์ „์„ ๋ฉˆ์ถ”์ง€ ์•Š๋Š” ๊ฐœ๋ฐœ์ž

0๊ฐœ์˜ ๋Œ“๊ธ€