์—ฌํƒœ๊นŒ์ง€ ์š”์•ฝ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ฐ์ดํ„ฐ์™€ ํ”„๋กœ์‹œ์ ธ๋ฅผ ํ‘œํ˜„ํ•˜๋Š”์ง€ ๋นŒ๋“œ์—… ์ค‘.

๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๊ฐœ๋…๋“ค์„ ๋ฐฐ์šด ๋’ค, ์ง€๊ธˆ์€ ๊ณ ์ฐจ์›์ ์ธ ์ถ”์ƒํ™”๊ฐ€ ์–ผ๋งˆ๋‚˜ ์–ธ์–ด์˜ ํ‘œํ˜„๋ ฅ์„ ๋†’์—ฌ์ฃผ๋Š”๊ฐ€๋ฅผ ๋ฐฐ์šฐ๋Š”์ค‘.


------------------------------------------------------


์ด๋ฒˆ ์„ธ์…˜์—์„œ๋Š” ๊ณ ์ฐจ์› ์ถ”์ƒํ™”๋กœ ์ธํ•ด ์–ธ์–ด์˜ ํ‘œํ˜„๋ ฅ์ด ์–ผ๋งˆ๋‚˜ ๋†’์•„์ง€๋Š”๊ฐ€๋ฅผ ๋ฐฐ์šด๋‹ค.

๊ทธ๊ฒƒ์„ ์ฒดํ—˜ํ•˜๊ธฐ ์œ„ํ•ด ๋‰ดํ„ด๋ฐฉ๋ฒ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•œ๋‹ค.


1. ์ฒ˜์Œ์—๋Š” ๊ฐ€์žฅ ๊ธฐ์ดˆ์ ์ธ ์ถ”์ƒํ™”๋งŒ์„ ์ด์šฉํ•ด ์ œ๊ณฑ๊ทผ์„ ๋‰ดํ„ด๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌํ•˜๊ณ ,

2. ๊ทธ ๋‹ค์Œ์—๋Š” ํ”„๋กœ์‹œ์ ธ๋ฅผ ์ธ์ˆ˜๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ถ”์ƒํ™”์™€ ๋ฆฌํ„ด๊ฐ’์œผ๋กœ ํ”„๋กœ์‹œ์ ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ถ”์ƒํ™”๋ฅผ ์ด์šฉํ•ด ์ข€ ๋” ์ œ๋„ˆ๋Ÿดํ•œ ๋‰ดํ„ด๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•œ๋‹ค.


์ถ”์ƒํ™”๊ฐ€ ๊ณ ์ฐจ์›ํ™” ๋˜๊ฐ์— ๋”ฐ๋ผ ์–ด๋–ป๊ฒŒ ํ‘œํ˜„๋ ฅ์ด ์˜ฌ๋ผ๊ฐ€๋Š”์ง€,

์ˆ˜ํ•™์  ๊ฐœ๋…์„ ํ‘œํ˜„ํ•˜๋Š”๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”ํ•˜๋Š”์ง€๋ฅผ ์‚ดํŽด๋ณด์ž.



๋จผ์ € ๊ฐ€์žฅ ๊ธฐ์ดˆ์ ์ธ ์ถ”์ƒํ™”๋งŒ์„ ์ด์šฉํ•ด ์ œ๊ณฑ๊ทผ์„ ๋‰ดํ„ด๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌํ•ด๋ณด์ž.


๋‰ดํ„ด ๋ฐฉ๋ฒ• (Newton's Method) ์˜ ์ž์„ธํ•œ ์„ค๋ช…์€ ์œ„ํ‚ค๋ฅผ ์ฐธ์กฐ.

https://ko.wikipedia.org/wiki/%EB%89%B4%ED%84%B4_%EB%B0%A9%EB%B2%95


๊ฐ„๋‹จํ•˜๊ฒŒ ๋‰ดํ„ด ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜์ž๋ฉด,

๋ฏธ๋ถ„ ๊ฐ€๋Šฅํ•œ ํ•จ์ˆ˜ f ์˜ ๊ทผ์„ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์Šคํ…์„ ๊ทผ์— ์ถฉ๋ถ„ํžˆ ๊ฐ€๊นŒ์›Œ์งˆ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋Š”๊ฒƒ.

1. f(x0)์ด 0์— ์ถฉ๋ถ„ํžˆ ๊ฐ€๊นŒ์šด์ง€ ์ฒดํฌ.

2. 0์ด ์•„๋‹๊ฒฝ์šฐ x1 = x0 - f(x0) / f'(x0) ๋กœ ์„ค์ •.

3. f(x1) ์ด 0์— ์ถฉ๋ถ„ํžˆ ๊ฐ€๊นŒ์šด์ง€ ์ฒดํฌ.

์—ฌ๊ธฐ์„œ xn์€

2cf3c028e2f206a26d81f6e7478374

์œ„์˜ ์Šคํ…์„ f(xn)์ด 0์— ์ถฉ๋ถ„ํžˆ ๊ฐ€๊นŒ์›Œ์งˆ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋Š”๊ฒƒ.


2cbc8468e2db3e8650bbd58b3682726bd36e

๋ณด๋‹ค์‹œํ”ผ ์Šคํ…์„ ๋ฐ˜๋ณตํ•  ๋•Œ๋งˆ๋‹ค 0์— ๊ฐ€๊นŒ์›Œ์ง€๋Š”๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


๋‰ดํ„ด๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด ์ œ๊ณฑ๊ทผ์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์„ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์ถ”์ƒํ™”๋ฅผ ์ด์šฉํ•ด์„œ ๊ตฌํ˜„์„ ํ•ด๋ณด์ž.

์ž„์˜์˜ ์ˆ˜ k์˜ ์ œ๊ณฑ๊ทผ์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด f๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•œ๋‹ค.


f(x) = x^2 - k


f(x) = 0 ์ด ๋˜๋Š” x๊ฐ’์„ ์ฐพ์œผ๋ฉด ๋œ๋‹ค๋Š”๊ฑฐ.


๊ทธ๋ ‡๋‹ค๋ฉด f์˜ ๋ฏธ๋ถ„์€ f'(x) = 2 * x ์ด ๋˜๊ณ ,

xn์˜ ๋‹ค์Œ๊ฐ’์ธ x(n+1)์€ ์•„๋ž˜์™€ ๊ฐ™์€ ์ˆ˜์‹์ด ๋œ๋‹ค.


x(n+1) = xn - (f(xn) / (2 * xn))

x(n+1) = xn - ((xn^2 - k) / (2 * xn))


๊ทธ๋ ‡๋‹ค๋ฉด ์ž„์˜์˜ ์ˆ˜ k์˜ ์ œ๊ณฑ๊ทผ์„ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.


1. x0์„ ์„ ํƒํ•œ๋‹ค.

2. x0์ด ์ถฉ๋ถ„ํžˆ ๊ฐ€๊นŒ์šธ๊ฒฝ์šฐ -> x0์„ ๋ฆฌํ„ด.

3. x0์ด ๊ฐ€๊น์ง€ ์•Š์„๊ฒฝ์šฐ -> x1์„ ์„ ํƒํ•ด์„œ 2๋กœ ๋Œ์•„๊ฐ„๋‹ค.


์œ„์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ lisp ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.


2cf3c028e2f206a26d81f6e2468774


guess ๋Š” ์ฒ˜์Œ์— ์ถ”์ธกํ•˜๋Š” ์ˆ˜ x0์ด๊ณ ,

x๋Š” ์œ„์˜ ์‹์˜ k์— ํ•ด๋‹นํ•œ๋‹ค. (2์˜ ์ œ๊ณฑ๊ทผ์„ ๊ตฌํ•˜๋ผ ๋ผ๊ณ  ํ•œ๋‹ค๋ฉด x=2)

๊ทธ๋ฆฌ๊ณ  good-enough? ํ”„๋กœ์‹œ์ ธ๋Š” ์ถ”์ธกํ•œ ์ˆ˜๊ฐ€ ์ œ๊ณฑ๊ทผ์— ์ถฉ๋ถ„ํžˆ ๊ฐ€๊นŒ์šด๊ฐ€๋ฅผ ํŒ๋‹จํ•œ๋‹ค.

์ถ”์ธก์ˆ˜๋ฅผ ์ œ๊ณฑํ•œ ์ˆ˜์™€ x์˜ ์ฐจ๊ฐ€ 0.001 ์ดํ•˜๋ผ๋ฉด ์ถฉ๋ถ„ํžˆ ๊ฐ€๊น๋‹ค๊ณ  ํŒ๋‹จ.


2cf3c028e2f206a26d81f6e043867c


improve ๋Š” ์ฒ˜์Œ ์ถ”์ธกํ•œ x0์ด ๊ฐ€๊น์ง€ ์•Š์„๊ฒฝ์šฐ ๋‹ค์Œ x1์„ ๊ตฌํ•˜๋Š” ์‹์„ ํ‘œํ˜„ํ•œ ํ”„๋กœ์‹œ์ ธ์ด๋‹ค.


x(n+1) = xn - ((xn^2 - k) / (2 * xn))

2cf3c028e2f206a26d81f6e4418473


์ด๋ ‡๊ฒŒ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์ถ”์ƒํ™”๋งŒ์œผ๋กœ ์ œ๊ณฑ๊ทผ์„ ๊ตฌํ•˜๋Š” ๋‰ดํ„ด๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•ด ๋ณด์•˜๋‹ค.


ํ•˜์ง€๋งŒ ์œ„์˜ ๊ตฌํ˜„์€ ์ œ๊ณฑ๊ทผ๋งŒ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์„ ๋ฟ, ๋ฒ”์šฉ์ ์ธ ๋‰ดํ„ด๋ฐฉ๋ฒ•์ด ์•„๋‹ˆ๋‹ค.

์ข€ ๋” ์ œ๋„ˆ๋Ÿดํ•œ ๋‰ดํ„ด ๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ?

๋‰ดํ„ด๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ข€ ๋” ๊ณ ์ฐจ์›์ ์ธ ์ถ”์ƒํ™”๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

ํ•˜๋‚˜๋Š” ์ธ์ž๋กœ์„œ์˜ ํ”„๋กœ์‹œ์ ธ, ๋˜ ํ•˜๋‚˜๋Š” ๋ฆฌํ„ด๊ฐ’์œผ๋กœ์˜ ํ”„๋กœ์‹œ์ ธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.


์ธ์ˆ˜๋กœ์„œ์˜ ํ”„๋กœ์‹œ์ ธ์™€ ๋ฆฌํ„ด๊ฐ’์œผ๋กœ์„œ์˜ ํ”„๋กœ์‹œ์ ธ ์‚ฌ์šฉํ•ด ๋‰ดํ„ด๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•œ๋‹ค. (๊ณ ์ฐจ์› ์ถ”์ƒํ™”)


๋‰ดํ„ด๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฒ˜์Œ์˜ ์ถ”์ธก์ด ๊ฐ€๊น์ง€ ์•Š์„๋•Œ, ๋‹ค์Œ์˜ ์ถ”์ธก์„ ๊ตฌํ•˜๋Š” ์‹์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค.


2cf3c028e2f206a26d81f6e7468971


์œ„์˜ ์‹์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” f์˜ ๋ฏธ๋ถ„ f ํ”„๋ผ์ž„ ์„ ๊ตฌํ•˜์—ฌ๋งŒ ํ•œ๋‹ค.

์—ฌ๊ธฐ์—์„œ ์ฃผ๋ชฉํ•ด์•ผ ํ•˜๋Š”๊ฒƒ์ด, f์™€ fํ”„๋ผ์ž„ ์€ ์‹์ด๋ผ๋Š”๊ฒƒ.

์–ด๋– ํ•œ ์‹์„ ์ธ์ˆ˜๋กœ์„œ ๋ฐ›์•„์„œ, ๊ทธ ์‹์„ ์ฒ˜๋ฆฌํ•ด์„œ, ๋ณ€ํ˜•๋œ ์‹์„ ๋ฆฌํ„ดํ•ด์•ผ ํ•œ๋‹ค.

์ฆ‰, ์—ฌ๊ธฐ์—์„œ ์ธ์ˆ˜๋กœ์„œ์˜ ํ”„๋กœ์‹œ์ ธ์™€ ๋ฆฌํ„ด๊ฐ’์œผ๋กœ์„œ์˜ ํ”„๋กœ์‹œ์ ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ถ”์ƒํ™”๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ผ๋Š”๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.


๋จผ์ € ์–ด๋– ํ•œ ์‹์˜ ๋ฏธ๋ถ„์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.


2cf3c028e2f206a26d81f6e74f827c

dx๊ฐ€ ์ถฉ๋ถ„ํžˆ ์ž‘๋‹ค๋ฉด, Dg(x)๋Š” g์˜ ๋ฏธ๋ถ„์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.


์ด๊ฒƒ์„ Lisp๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.


2cf3c028e2f206a26d81f6e7468973


๋ณด๋ฉด ์•Œ๋‹ค์‹œํ”ผ, g๋Š” ์ธ์ˆ˜๋กœ์„œ์˜ ํ”„๋กœ์‹œ์ ธ์ด๊ณ , deriv ๊ฐ€ ๋ฆฌํ„ดํ•˜๋Š”๊ฒƒ์€ ๋žŒ๋‹ค์‹, ์ฆ‰ ๋ฆฌํ„ด๊ฐ’์œผ๋กœ์„œ์˜ ํ”„๋กœ์‹œ์ ธ์ด๋‹ค.


๊ทธ๋ ‡๋‹ค๋ฉด ์ด ๋ฏธ๋ถ„์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ์‹œ์ ธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋‹ค์Œ ์ถ”์ธก์„ ๊ณ„์‚ฐํ•˜๋Š” improve๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.


2cf3c028e2f206a26d81f6e7448171


๋˜ํ•œ ์ถ”์ธก๊ฐ’์ด ๊ทผ์— ์ถฉ๋ถ„ํžˆ ๊ฐ€๊นŒ์šด๊ฐ€? ๋ฅผ ์ฒดํฌํ•˜๋Š” good-enough? ๋„ ์ข€ ๋” ์ œ๋„ˆ๋Ÿดํ•˜๊ฒŒ ๋ฐ”๊ฟ”์•ผ ํ•œ๋‹ค.

์ถ”์ธกํ•œ ๊ฐ’ guess ์— ๋Œ€ํ•ด f(guess) ๊ฐ’์ด 0์— ์ถฉ๋ถ„ํžˆ ๊ฐ€๊นŒ์šด์ง€ ์ฒดํฌํ•˜๋Š” ์‹์œผ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.


2cf3c028e2f206a26d81f6e4438773

๊ทธ๋ ‡๋‹ค๋ฉด ๋‰ดํ„ด๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค.


2cf3c028e2f206a26d81f6e7408574

์ด๋ ‡๊ฒŒ ๋‰ดํ„ด๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•ด ๋ณด์•˜๋‹ค.

์ด๋ฒˆ ์„ธ์…˜์—์„œ๋Š” ์ถ”์ƒํ™”์˜ ๊ณ ์ฐจ์›ํ™”๋กœ ์–ผ๋งˆ๋‚˜ ์–ธ์–ด์˜ ํ‘œํ˜„๋ ฅ์ด ๋†’์•„์ง€๋Š”์ง€ ์•Œ์•„๋ณด์•˜๋‹ค.

๊ณ ์ฐจ์› ์ถ”์ƒํ™”๊ฐ€ ์—†์œผ๋ฉด ๋‰ดํ„ด๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•˜๋Š”๊ฒƒ์€ ์–ด๋ ต์ง€ ์•Š์„๊นŒ.


์—ฌํ•˜ํŠผ ์˜ค๋Š˜์€ ์—ฌ๊ธฐ๊นŒ์ง€