
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
๊น์ง ๋ค๋ฃจ๋ฉด์
ํ์์ด๋ผ๋ ๊ฐ๋ ์ด ๋จ์ํ ๊ทธ๋ํ ๊ฒฝ๋ก ํ์์ ๋์ด ์ต์ ํ ๋ฌธ์ ๊น์ง ์ฐ๊ฒฐ๋ ์ ์๋ค.
๋ ๊ฒ์ ๋ณด์ฌ์ค๋ค.
๋จผ์ ์ด์ Lesson์์ ๋ค๋ค๋ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐํด๋ณด์.
BFS
DFS
Uniform Cost Search
์ด ์๊ณ ๋ฆฌ์ฆ๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก
๋ฌธ์ ์์ ์ฃผ์ด์ง ์ ๋ณด๋ง ๊ฐ์ง๊ณ ํ์ํ๋ค.
์๋ฅผ ๋ค์ด BFS๋ผ๋ฉด
๊ฐ์ฅ ์์ Node๋ถํฐ ํ์
ํ๊ณ ,
Uniform Cost Search๋ผ๋ฉด
ํ์ฌ๊น์ง์ Path Cost๊ฐ ๊ฐ์ฅ ์์ Node๋ถํฐ ํ์
ํ๋ค.
๊ทธ๋ฐ๋ฐ ์ค์ ๋ก ์ฐ๋ฆฌ๊ฐ ๋ชฉ์ ์ง์ ๋ํ ์ ๋ณด๋ฅผ ์กฐ๊ธ์ด๋ผ๋ ์๊ณ ์๋ค๋ฉด ์ด๋จ๊น?
์๋ฅผ ๋ค์ด ์์ธ์์ ๋ถ์ฐ๊น์ง ์ด์ ํ๋ค๊ณ ํด๋ณด์.
๋ชจ๋ ๋๋ก๋ฅผ ํ๋ํ๋ ํ์ํ๋ ๊ฒ๋ณด๋ค
"๋ถ์ฐ์ ๋๋ต ๋จ๋์ชฝ์ ์๋ค."
๋ผ๋ ์ ๋ณด๋ผ๋ ๊ฐ์ง๊ณ ์๋ ํธ์ด ํจ์ฌ ์ ๋ฆฌํ๋ค.
์ด๋ฌํ ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ํ์์ ์ฌ์ฉํ๋ ๊ฒ์ด
Informed 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๋ผ๋ ๋จ์ด ๊ทธ๋๋ก
ํ์ฌ ์๊ฐ ๊ฐ์ฅ ์ข์ ๋ณด์ด๋ ์ ํ์ ํ๋ค.
๋ผ๋ ์์ด๋์ด๋ค.
์ฝ๋ฉํ ์คํธ์์๋ ์๋นํ ์์ฃผ ๋ฑ์ฅํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์๋ฅผ ๋ค์ด ๋์ ์ ์ต์ ๊ฐ์๋ก ์ฌ์ฉํด์ ๊ธ์ก์ ๋ง๋ ๋ค๊ณ ํ ๋
ํน์ ์กฐ๊ฑด์์๋ ๊ฐ์ฅ ํฐ ๋์ ๋ถํฐ ์ ํํ๋ ๋ฐฉ์์ด Greedy๊ฐ ๋ ์ ์๋ค.
500์
100์
50์
10์
์ด ์๋ค๊ณ ํ๋ฉด
๊ฐ์ฅ ํฐ ๋์ ๋ถํฐ ์ฌ์ฉ
ํ๋ ๋ฐฉ์์ด๋ค.
Search Problem์์๋ ์กฐ๊ธ ๋ค๋ฅด๊ฒ ํํํ๋ค.
Greedy Search์์๋ Heuristic Function์ด๋ผ๋ ๊ฒ์ ์ฌ์ฉํ๋ค.
๋ณดํต
h(n)
์ด๋ผ๊ณ ํํํ๋ค.
h(n)์
ํ์ฌ Node n์์ Goal๊น์ง ์ผ๋ง๋ ๋น์ฉ์ด ๋ค ๊ฒ ๊ฐ์์ง ์ถ์ ํ ๊ฐ
์ด๋ค.
์ค์ํ ์ ์ ์ค์ ๋น์ฉ์ด ์๋๋ผ ์ถ์ ๊ฐ์ด๋ผ๋ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค์ด ์ ์ฃผ์์ ์์ธ๊น์ง ๊ฐ๋ค๊ณ ์๊ฐํด๋ณด์.
์ค์ ๋๋ก๋ฅผ ๋ฐ๋ผ ์ด๋ํ๋ ๊ฑฐ๋ฆฌ๋
์ฝ 200km
์ผ ์ ์์ง๋ง,
์ง๋์์ ์ง์ ๊ฑฐ๋ฆฌ๋ง ๊ณ์ฐํ๋ฉด
์ฝ 170km
๊ฐ ๋์ฌ ์ ์๋ค.
์ด ์ง์ ๊ฑฐ๋ฆฌ๋ฅผ
h(n)
์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
๊ฐ์์์๋ ์ด์ 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๋ ์ค์ง
h(n)
๋ง ๋ณธ๋ค.
์ฆ,
์ง๊ธ๊น์ง ์ผ๋ง๋ ์๋๊ฐ?
๋ ํฌ๊ฒ ์ ๊ฒฝ ์ฐ์ง ์๊ณ
์์ผ๋ก Goal๊น์ง ์ผ๋ง๋ ๋จ์๋๊ฐ?
๋ง ๋ณธ๋ค.
๊ทธ๋์ ํ๊ฐ ํจ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
f(n) = h(n)
๋ผ๊ณ ์๊ฐํ ์ ์๋ค.
์ด ๋ฐฉ์์ ์ฅ์ ์ ๋ถ๋ช ํ๋ค.
Heuristic์ด ์ข๋ค๋ฉด
์ธ๋ฐ์๋ Node๋ฅผ ํ์ํ์ง ์๊ณ Goal ๋ฐฉํฅ์ผ๋ก ๋น ๋ฅด๊ฒ ๊ฐ ์ ์๋ค.
ํ์ง๋ง ๋ฌธ์ ๊ฐ ์๋ค.
์๋๋ค.
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๋
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
์ธ ๊ฒฝ๋ก๋ฅผ ๋จผ์ ํ์ํ๋ค.
์ฆ,
์ด๋ฏธ ์ฌ์ฉํ ๋น์ฉ๊ณผ ์์ผ๋ก ์ฌ์ฉํ ๊ฒ ๊ฐ์ ๋น์ฉ์ ๋์์ ๊ณ ๋ คํ๋ค.
Greedy Search๋
h(n)
๋ง ๋ณธ๋ค.
๋ฐ๋ผ์ ๋ชฉํ์ ๊ฐ๊น์ ๋ณด์ธ๋ค๋ ์ด์ ๋ง์ผ๋ก
๋งค์ฐ ๋น์ผ ๊ฒฝ๋ก๋ฅผ ์ ํํ ์๋ ์๋ค.
A*๋
g(n) + h(n)
์ ๋ณด๊ธฐ ๋๋ฌธ์
์์ผ๋ก ์ผ๋ง๋ ๋จ์๋๊ฐ?
+
์ง๊ธ๊น์ง ์ผ๋ง๋ ์ผ๋๊ฐ?
๋ฅผ ๋ชจ๋ ๊ณ ๋ คํ๋ค.
๊ฐ์ธ์ ์ผ๋ก ์ด ๋ถ๋ถ์ ๋ณด๊ณ
"A*๋ Greedy๋ฅผ ์กฐ๊ธ ๋ ํ์ค์ ์ผ๋ก ๋ง๋ ์๊ณ ๋ฆฌ์ฆ์ด๊ตฌ๋."
๋ผ๊ณ ์ดํดํ๋ค.
์ฌ๊ธฐ์ ์ค์ํ ์ฃผ์์ ์ด ํ๋ ์๋ค.
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 ๊ฒฝ๋ก๋ฅผ ๋ง๋ค์ด๋ธ๋ค.
์ฌ๊ธฐ๊น์ง ๋ค์ผ๋ฉด ํ ๊ฐ์ง ์๋ฌธ์ด ์๊ธด๋ค.
h(n)
์ ๊ทธ๋ฅ ๋ด๊ฐ ์๋ฌด๋ ๊ฒ๋ ์ถ์ ํด๋ ๋๋๊ฐ?
๊ทธ๋ ์ง ์๋ค.
A*๊ฐ ์ต์ ํด๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด์๋
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์
์ค์ ๋น์ฉ ์ดํ
์ฌ์ผ ํ๋ค.
Romania ์์ ์์ ์ฌ์ฉํ๋
Straight-Line Distance
๋ ์ข์ ์๋ค.
๋ ๋์ ์ฌ์ด๋ฅผ ์ค์ ๋๋ก๋ก ์ด๋ํ๋ฉด
๋ณดํต ์ง์ ๊ฑฐ๋ฆฌ๋ณด๋ค ์งง์์ง ์ ์๋ค.
์ฆ,
์ง์ ๊ฑฐ๋ฆฌ โค ์ค์ ๋๋ก๊ฑฐ๋ฆฌ
์ด๋ค.
๋ฐ๋ผ์ Bucharest๊น์ง์ ์ง์ ๊ฑฐ๋ฆฌ๋ฅผ h(n)์ผ๋ก ์ฌ์ฉํ๋ฉด
์ค์ ๋น์ฉ์ ๊ณผ๋ํ๊ฐํ์ง ์๋๋ค.
๊ทธ๋์ Admissible Heuristic์ด ๋๋ค.
๊ฐ์์์๋ 8-Puzzle์ ์ด์ฉํด์
๋ ๊ฐ์ง Heuristic์ ์๊ฐํ๋ค.
Lesson 3์์๋ ๋์๋ ํผ์ฆ์ด๋ค.
ํ์ฌ ํผ์ฆ
โ
ํ์ผ ์ด๋
โ
Goal State
์ฌ๊ธฐ์์ ๋ํ์ ์ธ Heuristic์ด ๋ ๊ฐ์ง ์๋ค.
์ฒซ ๋ฒ์งธ๋
h1(n)
= ๋ชฉํ ์์น์ ์์ง ์์ Tile์ ๊ฐ์
๋ค.
์๋ฅผ ๋ค์ด 8๊ฐ์ Tile ์ค
6๊ฐ๊ฐ ์๋ชป๋ ์์น์ ์๋ค๋ฉด
h1(n) = 6
์ด๋ค.
๊ฐ Tile์ ์ต์ ํ ๋ฒ์ ์์ง์ฌ์ผ ์ ์๋ฆฌ๋ก ๋์๊ฐ ์ ์์ผ๋ฏ๋ก
์ด ๊ฐ์ ์ค์ ๋น์ฉ์ ๋์ง ์๋๋ค.
๋ฐ๋ผ์ Admissibleํ๋ค.
๋ ๋ฒ์งธ๋ Manhattan Distance๋ค.
๊ฐ Tile์ด ํ์ฌ ์์น์์
์์ ์ ๋ชฉํ ์์น๊น์ง ์ด๋ํด์ผ ํ๋
๊ฐ๋ก ์นธ ์ + ์ธ๋ก ์นธ ์
๋ฅผ ๊ณ์ฐํ๋ค.
์๋ฅผ ๋ค์ด ํ Tile์ด
์ค๋ฅธ์ชฝ 2์นธ
์๋ 3์นธ
์ ์ด๋ํด์ผ ํ๋ค๋ฉด
Manhattan Distance = 5
์ด๋ค.
๊ทธ๋ฆฌ๊ณ ๋ชจ๋ Tile์ Manhattan Distance๋ฅผ ํฉํ๋ค.
๊ฐ์ ์์ ์์๋
h2(S) = 14
๊ฐ ๋์จ๋ค.
๋ ๋ค Admissibleํ๋ค๊ณ ํด์
์ฑ๋ฅ์ด ๋๊ฐ์ ๊ฒ์ ์๋๋ค.
๊ฐ์์์๋ Dominance๋ผ๋ ๊ฐ๋ ์ ์ค๋ช ํ๋ค.
๋ง์ฝ ๋ชจ๋ Node์ ๋ํด
h2(n) โฅ h1(n)
์ด๊ณ ๋ Heuristic ๋ชจ๋ Admissible์ด๋ผ๋ฉด
h2๊ฐ h1์ dominateํ๋ค.
๊ณ ํ๋ค.
์ ๋ ํฐ ๊ฐ์ด ์ข์ ๊ฑธ๊น?
๋จ,
์ค์ ๋น์ฉ์ ๋์ง ์๋ ๋ฒ์
์์๋ Goal๊น์ง์ ์ค์ ๋น์ฉ์ ๋ ์ ํํ๊ฒ ์ถ์ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ฆ,
๋๋ฌด ์๊ฒ ์ถ์ ํ๋ Heuristic
๋ณด๋ค
์ค์ ๋น์ฉ์ ์ต๋ํ ๊ฐ๊น๊ฒ ์ถ์ ํ๋ Heuristic
์ด ํ์ํ Node๋ฅผ ๋ ๋ง์ด ์ค์ผ ์ ์๋ค.
๊ฐ์์ 8-Puzzle ์์ ์์๋ Manhattan Distance๋ฅผ ์ฌ์ฉํ์ ๋
์๋ชป ๋์ธ Tile ๊ฐ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ํ์ Node ์๊ฐ ํฌ๊ฒ ๊ฐ์ํ๋ค.
์ด ๋ถ๋ถ์ด ๊ฝค ์ธ์์ ์ด์๋ค.
Heuristic์ด ์กฐ๊ธ๋ง ์ข์์ ธ๋
ํ์ํด์ผ ํ๋ Node์ ๊ฐ์๊ฐ ์์ฒญ๋๊ฒ ๋ฌ๋ผ์ง ์ ์๋ค.
๊ฒฐ๊ตญ A*์ ์ฑ๋ฅ์
A* ์๊ณ ๋ฆฌ์ฆ ์์ฒด
๋ฟ๋ง ์๋๋ผ
์ผ๋ง๋ ์ข์ h(n)์ ๋ง๋ค ์ ์๋๊ฐ?
์ ํฌ๊ฒ ์ข์ฐ๋๋ค.
์ฆ,
A*๋ฅผ ์ ์ฐ๋ ํต์ฌ์ ๊ฒฐ๊ตญ ๋ฌธ์ ์ ์ ํฉํ Heuristic์ ์ค๊ณํ๋ ๊ฒ์ด๋ค.
๋ง์ฝ ๋ ๊ฐ์ Admissible Heuristic
ha(n)
hb(n)
์ด ์๋ค๋ฉด
h(n) = max(ha(n), hb(n))
์ผ๋ก ์ฌ์ฉํ ์๋ ์๋ค.
๋ ๋ชจ๋ ์ค์ ๋น์ฉ์ ๋์ง ์๋๋ค๋ฉด
๊ทธ์ค ํฐ ๊ฐ์ ์ฌ์ฉํ๋๋ผ๋ ์ฌ์ ํ ์ค์ ๋น์ฉ์ ๋์ง ์๋๋ค.
๋ฐ๋ผ์ ์๋ก์ด h(n)๋ Admissibleํ๋ค.
๊ทธ๋ฆฌ๊ณ ๊ธฐ์กด ๋ Heuristic๋ณด๋ค
๋ ์ค์ ๊ฐ์ ๊ฐ๊น์ด ์ถ์ ์น๋ฅผ ์ฌ์ฉํ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ข์ Heuristic์ ์ด๋ป๊ฒ ๋ง๋ค๊น?
๊ฐ์์์๋ ํ ๊ฐ์ง ์ค์ํ ๋ฐฉ๋ฒ์ผ๋ก
Relaxed Problem์ ์๊ฐํ๋ค.
์๋ ๋ฌธ์ ์ ์กฐ๊ฑด์ ์กฐ๊ธ ์ํํ ๋ฌธ์ ๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค์ด 8-Puzzle์์๋ ์ค์ ๋ก Tile์ด ์์ง์ผ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ์ฝ์ด ์๋ค.
๊ทธ๋ฐ๋ฐ
Tile์ด ์๋ฌด ์์น๋ก ์ด๋ํ ์ ์๋ค.
๊ณ ์กฐ๊ฑด์ ์ํํ๋ฉด ๋ฌธ์ ๋ ํจ์ฌ ์ฌ์์ง๋ค.
์ด Relaxed Problem์์ ๊ตฌํ ์ต์ ๋น์ฉ์
์๋ ๋ฌธ์ ์ ์ต์ ๋น์ฉ๋ณด๋ค ํด ์ ์๋ค.
Relaxed Problem Cost
โค
Original Problem Cost
๋ฐ๋ผ์ Relaxed Problem์ ์ ํํ Solution Cost๋ฅผ
์๋ ๋ฌธ์ ์ Heuristic์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
๊ฐ์์์๋ Travelling Salesperson Problem, ์ฆ TSP๋ ์๋ก ๋ ๋ค.
TSP๋
๋ชจ๋ ๋์๋ฅผ ํ ๋ฒ์ฉ ๋ฐฉ๋ฌธํ๋ฉด์ ์ด ์ด๋ ๊ฑฐ๋ฆฌ๋ฅผ ์ต์ํํ๋ ๋ฌธ์
๋ค.
๊ต์ฅํ ์ด๋ ค์ด ์ต์ ํ ๋ฌธ์ ๋ค.
ํ์ง๋ง ๋ฌธ์ ์ ์กฐ๊ฑด์ ์ํํด์
Minimum Spanning Tree๋ฅผ ๊ณ์ฐํ๋ฉด
์ค์ TSP Tour์ ๋น์ฉ๋ณด๋ค ์์ Lower Bound
๋ฅผ ์ป์ ์ ์๋ค.
์ด ๊ฐ์ Heuristic์ผ๋ก ํ์ฉํ ์ ์๋ค.
๊ฐ์ ์๋ฃ์์ A*์ ํน์ง์ ์ ๋ฆฌํ๋ฉด
Complete: Yes
Optimal: Yes
์ด๋ค.
๋ฌผ๋ก ์์์ ์ค๋ช
ํ ๊ฒ์ฒ๋ผ
์ ์ ํ Heuristic ์กฐ๊ฑด์ด ํ์ํ๋ค.
๋ํ A*๋ ๊ฐ์ Heuristic์ ์ฌ์ฉํ๋ Optimal Search Algorithm ์ค
ํ์ ์ด์์ผ๋ก ๋ง์ Node๋ฅผ ํ์ฅํ์ง ์๋๋ค๋ ์๋ฏธ์์
Optimally Efficientํ๋ค๊ณ ์ค๋ช
ํ๋ค.
๋ค๋ง ๋ฌธ์ ๊ฐ ์๋ค.
A*๋ Frontier์ ํ์ํ Node๋ค์ ๊ณ์ ์ ์ฅํ๋ค.
๊ทธ๋์ ์ํ ๊ณต๊ฐ์ด ๋งค์ฐ ์ปค์ง๋ฉด
Memory
๊ฐ ํฐ ๋ฌธ์ ๊ฐ ๋๋ค.
Heuristic์ด ์ข์์ง๋ฉด ํ์ Node ์๋ฅผ ํฌ๊ฒ ์ค์ผ ์ ์์ง๋ง,
๋ฌธ์ ๊ฐ ์ถฉ๋ถํ ํฌ๋ค๋ฉด A* ์ญ์ ๋ง์ Memory๋ฅผ ์๊ตฌํ๋ค.
์ฆ,
์ข์ Heuristic
โ ํ์๋ ๊ฐ์
ํ์ง๋ง
โ ๋ชจ๋ ๋ฌธ์ ๊ฐ ๊ฐ์๊ธฐ ์ฌ์์ง๋ ๊ฒ์ ์๋๋ค.
๊ฐ์์์๋ 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๋ ํ์ฌ State์์ ์์ํด์
์ฃผ๋ณ์ Neighbor State
๋ฅผ ํ์ํ๋ค.
ํ์ง๋ง ๊ธฐ์กด Graph Search์ ๋ฌ๋ฆฌ
์ง๋์จ ๊ฒฝ๋ก๋ฅผ ๋ชจ๋ ์ ์ฅํ์ง ์๋๋ค.
ํ์ฌ State
โ
Neighbor ํ๊ฐ
โ
๋ ์ข์ State๋ก ์ด๋
โ
๋ค์ Neighbor ํ๊ฐ
๋ฅผ ๋ฐ๋ณตํ๋ค.
์ฝ๊ฒ ๋งํ๋ฉด
ํ์ฌ ๋ต์ ์กฐ๊ธ์ฉ ์์ ํ๋ฉด์ ๋ ์ข์ ๋ต์ ๋ง๋ค์ด๊ฐ๋ ๋ฐฉ์
์ด๋ค.
์๋ฅผ ๋ค์ด ์๋ฌด Tour ํ๋๋ฅผ ๋ง๋ ๋ค.
A โ B โ C โ D โ E โ A
๊ทธ๋ฆฌ๊ณ ๋ ๊ฒฝ๋ก๋ฅผ ์๋ก ๋ฐ๊ฟ๋ณธ๋ค.
ํ์ฌ Tour
โ
์ผ๋ถ Edge ๊ตํ
โ
์๋ก์ด Tour
์๋ก์ด Tour์ ๋น์ฉ์ด ๋ ์๋ค๋ฉด
๊ทธ ์ํ๋ฅผ ์ฑํํ๋ค.
์ด๋ฌํ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉด
์ ์ ๋ ์ข์ Solution์ผ๋ก ์ด๋ํ ์ ์๋ค.
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์ด๋ค.
๊ฐ์์ ํํ์ด ์ฌ๋ฏธ์์๋ค.
"Like climbing Everest in thick fog with amnesia"
์๊ฐ๊ฐ ์์ฑํ ์๋ฒ ๋ ์คํธ์์
์ฃผ๋ณ๋ง ๋ณด๋ฉด์ ๋ ๋์ ๊ณณ์ผ๋ก ๊ณ์ ์ฌ๋ผ๊ฐ๋ ๊ฒ๊ณผ ๊ฐ๋ค.
ํ์ฌ ์์น์์ ์ฃผ๋ณ์ ๋ณธ๋ค.
ํ์ฌ๋ณด๋ค ์ข์ Neighbor๊ฐ ์๋๊ฐ?
์๋ค๋ฉด ์ด๋ํ๋ค.
ํ์ฌ State
โ
๊ฐ์ฅ ์ข์ Neighbor
โ
์ด๋
โ
๋ฐ๋ณต
๋ ์ข์ Neighbor๊ฐ ์๋ค๋ฉด ์ข ๋ฃํ๋ค.
๋ฌธ์ ๋ ์ฐ๋ฆฌ๊ฐ ๋์ฐฉํ ๊ณณ์ด
์ง์ง ์ต๊ณ ์ ์ง์ ์ด๋ผ๋ ๋ณด์ฅ์ด ์๋ค๋ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค์ด
Global Maximum
/\
/ \
/\ / \
/ \_/ \
Local Maximum
๊ฐ์ ๊ณต๊ฐ์ด ์๋ค๊ณ ํด๋ณด์.
Hill Climbing์ Local Maximum์ ๋์ฐฉํ๋ฉด
์ฃผ๋ณ์ ๋ ์ข์ ๊ณณ์ด ์์
์ด๋ผ๊ณ ํ๋จํ๊ณ ์ข ๋ฃํ ์ ์๋ค.
ํ์ง๋ง ๋ฉ๋ฆฌ ๋จ์ด์ง ๊ณณ์๋
๋ ์ข์ Global Maximum์ด ์์ ์๋ ์๋ค.
์ด ๋ฌธ์ ๋ฅผ ์ํํ๊ธฐ ์ํ ๊ฐ๋จํ ๋ฐฉ๋ฒ์
๋ค๋ฅธ ์์น์์ ๋ค์ ์์
ํ๋ ๊ฒ์ด๋ค.
์ด๋ฅผ Random-Restart Hill Climbing์ด๋ผ๊ณ ํ๋ค.
Random Start
โ
Hill Climbing
Random Start
โ
Hill Climbing
Random Start
โ
Hill Climbing
์ ๋ฐ๋ณตํ๋ฉด์ ๋ ์ข์ Solution์ ์ฐพ๋๋ค.
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์ ๋น ์ ธ๋๊ฐ ๊ฐ๋ฅ์ฑ์ด ์๊ธด๋ค.
Simulated Annealing์์๋ Temperature T๋ผ๋ ๊ฐ๋ ์ ์ฌ์ฉํ๋ค.
์ด๋ฐ์๋ T๊ฐ ํฌ๋ค.
T๊ฐ ํผ
โ ๋์ ์ ํ๋ ๋น๊ต์ ์์ฃผ ํ์ฉ
โ Exploration
์๊ฐ์ด ์ง๋๋ฉด T๋ฅผ ์ ์ ์ค์ธ๋ค.
T๊ฐ ์์
โ ๋์ ์ ํ์ ๊ฑฐ์ ํ์ฉํ์ง ์์
โ Exploitation
์ฆ,
์ด๋ฐ
โ ๋ค์ํ๊ฒ ํ์
ํ๋ฐ
โ ์ข์ ์ง์ญ์ ์ง์ค
ํ๋ค.
Machine Learning์์ ์์ฃผ ๋ฃ๋
Exploration vs Exploitation
์ ๊ด๊ณ์ ๋น์ทํ๋ค.
Local Search๋ฅผ ํ๋์ State๋ง ๊ฐ์ง๊ณ ํ์ง ์๊ณ
์ฌ๋ฌ ๊ฐ์ State๋ฅผ ๋์์ ์ ์งํ ์๋ ์๋ค.
์ด๊ฒ์ด Local Beam Search๋ค.
ํ์ฌ State k๊ฐ
โ
๊ฐ State์ Successor ์์ฑ
โ
์ ์ฒด ์ค ์ข์ k๊ฐ ์ ํ
โ
๋ฐ๋ณต
์ค์ํ ๊ฒ์
๋
๋ฆฝ์ ์ธ Search๋ฅผ k๊ฐ ๋๋ฆฐ๋ค
๋ ์๋ฏธ๊ฐ ์๋๋ผ๋ ๊ฒ์ด๋ค.
๋ชจ๋ Successor๋ฅผ ํจ๊ป ๋น๊ตํ๊ณ
๊ทธ์ค ๊ฐ์ฅ ์ข์ k๊ฐ๋ฅผ ์ ํํ๋ค.
๋ง๋ค.
๊ณ์ ์ข์ State๋ง ์ ํํ๋ฉด
๊ฒฐ๊ตญ k๊ฐ์ State๊ฐ ๋ชจ๋ ๋น์ทํ Local Optimum์ ๋ชจ์ผ ์ ์๋ค.
๊ทธ๋์ ์ข์ State๋ฅผ ์ ํํ ํ๋ฅ ์ ๋์ด๋
Randomness๋ฅผ ์๋ ๋ฐฉ๋ฒ๋ ์ฌ์ฉํ ์ ์๋ค.
์ฌ๊ธฐ์์ ๊ฐ์๋ ์์ฐ์ค๋ฝ๊ฒ
Genetic Algorithm์ผ๋ก ์ฐ๊ฒฐํ๋ค.
Genetic Algorithm์
์๋ฌผ์ ์์ฐ ์ ํ๊ณผ ์งํ๋ฅผ ๋ชจ๋ฐฉํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
ํต์ฌ์
Population
Selection
Crossover
Mutation
Next Generation
์ด๋ค.
๋จผ์ ํ๋์ Solution์
์ด๋ค ํํ๋ก ํํํด์ผ ํ๋ค.
Genetic Algorithm์์๋ ๋ณดํต ํ๋์ Solution์
String
์ผ๋ก ํํํ๋ค.
์๋ฅผ ๋ค์ด
1011010011
๊ฐ์ Binary String์ ์ฌ์ฉํ ์๋ ์๋ค.
์ด๊ฒ์ ์๋ฌผ์
Chromosome
์ฒ๋ผ ์๊ฐํ๋ ๊ฒ์ด๋ค.
Solution ํ๋๋ง ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋ผ
์ฌ๋ฌ Candidate Solution์ ๋ง๋ ๋ค.
Solution 1
Solution 2
Solution 3
Solution 4
...
์ด ์งํฉ์ Population์ด๋ผ๊ณ ํ๋ค.
์ด๊ธฐ Population์ ๋ณดํต Randomํ๊ฒ ์์ฑํ๋ค.
๊ฐ Solution์ด ์ผ๋ง๋ ์ข์์ง ํ๊ฐํด์ผ ํ๋ค.
์ด๋ฅผ Fitness Function์ด๋ผ๊ณ ํ๋ค.
Fitness๊ฐ ๋๋ค
โ ์ข์ Solution
Fitness๊ฐ ๋ฎ๋ค
โ ์ข์ง ์์ Solution
์ด๋ผ๊ณ ์๊ฐํ ์ ์๋ค.
์ข์ Solution์ผ์๋ก
๋ค์ Generation์ ์์ ์ ์ ๋ณด๋ฅผ ์ ๋ฌํ ํ๋ฅ ์ ๋์ธ๋ค.
๊ฐ์์์๋ Roulette Wheel Selection์ ์๋ก ๋ ๋ค.
Fitness๊ฐ ๋์ ๊ฐ์ฒด์ผ์๋ก
Roulette Wheel์์ ๋ ํฐ ์์ญ์ ์ฐจ์งํ๋ค.
๋ฐ๋ผ์ ์ ํ๋ ํ๋ฅ ์ด ๋๋ค.
์ ํ๋ ๋ 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
๊ฐ ๋ ์ ์๋ค.
ํ์ง๋ง Parent๋ผ๋ฆฌ ๊ณ์ ์๊ธฐ๋ง ํ๋ฉด
Population์ด ์ ์ ๋น์ทํด์ง ์ ์๋ค.
๊ทธ๋ฌ๋ฉด Local Optimum์ ๋น ์ง ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
๊ทธ๋์ ์์ฃผ ์์ ํ๋ฅ ๋ก ์ผ๋ถ ๊ฐ์ Randomํ๊ฒ ๋ณ๊ฒฝํ๋ค.
์๋ฅผ ๋ค์ด
101101
์์
101001
๋ก Bit ํ๋๋ฅผ ๋ฐ๊พธ๋ ๊ฒ์ด๋ค.
์ด๋ฅผ Mutation์ด๋ผ๊ณ ํ๋ค.
Mutation์ Population์ ์๋ก์ด ๋ค์์ฑ์ ์ ๊ณตํ๋ค.
Selection, Crossover, Mutation์ ํตํด
์๋ก์ด Candidate Solution์ ๋ง๋ ๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ค์ ๋ค์ Generation์ผ๋ก ์ฌ์ฉํ๋ค.
Generation 1
โ
Selection
โ
Crossover
โ
Mutation
โ
Generation 2
โ
...
์ด ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
๋๋ก๋ ์ด์ Generation์ ๊ฐ์ฅ ์ข์ Solution์
๋ค์ Generation์ ๊ทธ๋๋ก ์ ์ง์ํค๊ธฐ๋ ํ๋ค.
์ด๋ฅผ Elitism์ด๋ผ๊ณ ํ๋ค.
์ฒ์์๋ Genetic Algorithm์ด
Graph Search์ ์์ ํ ๋ค๋ฅธ ๋ด์ฉ์ฒ๋ผ ๋ณด์๋ค.
ํ์ง๋ง ๊ฐ์๋ฅผ ๋ฐ๋ผ๊ฐ๋ค ๋ณด๋ฉด
๊ฒฐ๊ตญ ์ด๊ฒ๋
State Space์์ ๋ ์ข์ State๋ฅผ ์ฐพ๋ Search
๋ผ๋ ํฐ ํ ์์ ์๋ค.
๋จ์ง
BFS / DFS
โ ๋ช
ํํ Frontier๋ฅผ ํ์
Local Search
โ Neighbor๋ฅผ ์ด์ฉํด ๊ฐ์
Genetic Algorithm
โ Population์ ์งํ์ํค๋ฉฐ ํ์
์ด๋ผ๋ ์ฐจ์ด๊ฐ ์์ ๋ฟ์ด๋ค.
์ง๊ธ๊น์ง ๋๋ถ๋ถ์ 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์ด ์กด์ฌํ๋ค.
Continuous State Space์์๋
Neighbor๋ฅผ ํ๋ํ๋ ์์ฑํ๊ธฐ๋ณด๋ค Gradient๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
Gradient๋ ์ฝ๊ฒ ์๊ฐํ๋ฉด
ํ์ฌ ์์น์์ ํจ์ ๊ฐ์ด ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ๋ณํ๋ ๋ฐฉํฅ
์ด๋ค.
๊ฐ์ ์ต๋ํํ๊ณ ์ถ๋ค๋ฉด
Gradient Ascent
๋ฅผ ์ฌ์ฉํ๊ณ ,
๊ฐ์ ์ต์ํํ๊ณ ์ถ๋ค๋ฉด
Gradient Descent
๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
Machine Learning์ ์กฐ๊ธ ๊ณต๋ถํ๋ค๋ฉด
์ ๋ง ์์ฃผ ๋ณด๋ ์ด๋ฆ์ด๋ค.
์๋ฅผ ๋ค์ด Loss Function์ ์ค์ด๊ณ ์ถ๋ค๊ณ ํด๋ณด์.
ํ์ฌ Parameter์์
Loss๊ฐ ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ์ฆ๊ฐํ๋ ๋ฐฉํฅ
์ด Gradient๋ผ๋ฉด,
๊ทธ ๋ฐ๋ ๋ฐฉํฅ์ผ๋ก ์ด๋ํ๋ค.
Parameter
โ
Gradient ๊ณ์ฐ
โ
Gradient ๋ฐ๋ ๋ฐฉํฅ ์ด๋
โ
Loss ๊ฐ์
โ
๋ฐ๋ณต
์ด๊ฒ์ด Gradient Descent๋ค.
๊ฒฐ๊ตญ Deep Learning์์ ์ฌ์ฉํ๋ Optimization๋
ํฐ ๊ด์ ์์ ๋ณด๋ฉด
๋ ์ข์ State๋ฅผ ์ฐพ๋ Search
๋ผ๊ณ ๋ณผ ์ ์๋ค๋ ์ ์ด ์ธ์์ ์ด์๋ค.
์ด๋ฒ 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
๊ฒฐ๊ตญ ๋ง์ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋
์๋ง์ ๊ฐ๋ฅํ ์ํ ์ค์์ ๋ ์ข์ ์ํ๋ฅผ ์ด๋ป๊ฒ ํจ์จ์ ์ผ๋ก ์ฐพ์๊ฐ ๊ฒ์ธ๊ฐ?
๋ผ๋ ํ๋์ ์ง๋ฌธ์ผ๋ก ์ฐ๊ฒฐ๋๋ ๊ฒ ๊ฐ๋ค.