์ฌํ๊น์ง ์์ฝ
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ดํดํ๊ธฐ ์ํด์ ๋น๋์ ์ค.
๊ฐ์ฅ ๊ฐ๋จํ ๊ฐ๋ ๋ค์ ๊ณต๋ถํ๊ณ ๊ทธ๊ฒ๋ค์ ์ด์ฉํด ๊ฐ๋จํ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ์.
๊ทธ๋ฆฌ๊ณ ์ง๊ธ ์กฐ๊ธ ๋ ๊ณ ์ฐจ์์ ์ธ ์ถ์ํ์ธ higher order procedures ๋ฅผ ๊ณต๋ถ์ค.
์ ๋ฒ ์๊ฐ์ ๋๋ค๋ฅผ ๊ณต๋ถํ์ผ๋ ์ด๋ฒ ์๊ฐ์๋ ๋๋ค๋ฅผ ์ธ์๋ก ํ์ฉํ๋ฉด ์ผ๋ง๋ ํํ๋ ฅ์ด ์ฌ๋ผ๊ฐ๋์ง๋ฅผ ๋ณธ๋ค.ย
----------------------------------------------------
์ด๋ฒ ์ธ์ ์์๋ย ํ๋ก์์ ธ ์์ฒด๋ฅผ ์ธ์(argument)๋ก ํ์ฉ ๊ฐ๋ฅํ๋ค๋๊ฑฐ, ๊ณ ์ฐจย ์ถ์ํ๋กย ์ผ๋ง๋ ํํ๋ ฅ์ด ์ฌ๋ผ๊ฐ๋์ง๋ฅผ ์์ ๋ฅผ ํตํด ๊ณต๋ถํ๋ค.ย
๊ทธ ์์ ๋กย ์ด๋ถ๋ฒ์ผ๋ก ํจ์์ ๊ทผ์ ์ฐพ๋๊ฒ์ ๊ตฌํํ๋ค.
์ฑ ์๋ ํ๋ ๋ ์์ ๊ฐ ์๋๋ฐ ๊ด์ฌ์๋ ์ฌ๋๋ค์ ์์์ ์ฐพ์๋ณด๊ธธ ๋ฐ๋. ์ฑ 92 ํ์ด์ง์.
ํจ์์ ๊ทผ์ ์ด๋ถ๋ฒ(half-interval method)์ผ๋ก ๊ตฌํ๋๊ฒ์ ๊ตฌํํ๋ค.
์ด๋ถ๋ฒ์ ๋ํ ์์ธํ ์ค๋ช ์ ์ํค๋ฅผ ์ฐธ์กฐ.
https://ko.wikipedia.org/wiki/%EC%9D%B4%EB%B6%84%EB%B2%95_(%EC%88%98%ED%95%99)
๊ฐ๋จํ ์ค๋ช ํ์๋ฉด ์๋์ ๊ฐ๋ค.
ํจ์ f์ ๋ํด f(a) < 0 < f(b) ์ธ๊ฒ์ ์๊ณ , f๊ฐ ์ฐ์์ ์ด๋ผ๋๊ฒ์ ์๋ค๋ฉด, f(x)=0 ์ด ๋๋ x ๋ ๋ฐ๋์ a์ b ์ฌ์ด์ ์กด์ฌํ๋ค.
๊ทธ x๋ฅผ ์ฐพ๊ธฐ ์ํด f(a์ b์ ์ค๊ฐ์ ) ์ ๊ณ์ฐํ๋ค.
๋ง์ผ
f(์ค๊ฐ์ ) > 0 ์ด๋ผ๋ฉด ๊ทผ์ a ์ ์ค๊ฐ์ ์ฌ์ด์ ์์๊ฒ์ด๊ณ ,
f(์ค๊ฐ์ ) < 0 ์ด๋ผ๋ฉด ๊ทผ์ ์ค๊ฐ์ ๊ณผ b ์ฌ์ด์ ์์๊ฒ์ด๋ค.
์ด๊ฒ์ ๊ณ์ ๋ฐ๋ณตํด ๋๊ฐ๋ฉด ์ ์ ๊ทผ์ ๊ฐ๊น์์ง ์ ์์๊ฒ์ด๋ค.
์ถฉ๋ถํ ๊ทผ์ ๊ฐ๊น์์ก๋ค๋ฉด ๋ฐ๋ณต์ ๋ฉ์ถ๋ค.
์ด๊ฒ ์ด๋ถ๋ฒ์ ๋๋ต์ ์ธ ์ค๋ช .
๋จผ์ ๋ฌธ์ ๋ฅผ ๊ฐ๋จํ๊ฒ ํ๊ธฐ ์ํด f(a) < 0 < f(b)๋ฅผ ๋ง์กฑํ๋ f, a, b๋ฅผ ์ ๋ถ ์๊ณ ์๋ค๊ณ ๊ฐ์ ํ์.
๊ทธ๋ ๋ค๋ฉด ์์ ๊ฐ๋ ์ ์๋์ ๊ฐ์ ์ฝ๋๋ก ํํํ ์ ์๋ค.
์ฌ๊ธฐ์ positive? ์ negative? ๋ ์ฃผ์ด์ง x๊ฐ ์์์ธ๊ฐ ์์์ธ๊ฐ๋ฅผ ํ ์คํธํ๋ ํจ์์ด๋ค.
(lisp ์์๋ ๋ฌผ์ํ๊ฐ ํจ์์ด๋ฆ์ผ๋ก ์ฐ์ผ ์ ์์.)
๊ทธ๋ฆฌ๊ณ ์ถฉ๋ถํ ๊ทผ์ ๊ฐ๊น์ด๊ฐ? ๋ฅผ ํ ์คํธ ํ๋ ํจ์์ธ close-enough? ๋ฅผ ์๋์ ๊ฐ์ด ์ ์ํ๋ค.
ํ์ง๋ง ์์ search ํจ์๋ฅผ ์ฐ๋ ค๋ฉด f(a) ์ f(b) ๋ฅผ ์ฌ์ ์ฒดํฌ ํด์ผ ํ๋ค๋ ๋ถํธํจ์ด ์๋ค.
๊ทธ๊ฒ์ ํด๊ฒฐํ๊ธฐ ์ํด์ ์๋์ ๊ฐ์ด ์ด๋ถ๋ฒ ํจ์๋ฅผ ์ ์ํ๋ค.
์ด๋ ๊ฒ ๋๋ค๋ฅผ ์ด์ฉํด์ ์ด๋ถ๋ฒ์ ๊ตฌํํด ๋ดค์.
์ฐ๋ฆฌ๊ฐ ์ฌ๊ธฐ์์ ์ฃผ๋ชฉํด์ผ ํ ์ ์, ํ๋ก์์ ธ ์์ฒด๋ฅผ ์ธ์ (arguments)๋ก ํ์ฉํจ์ผ๋ก ์ธํด ์ผ๋ง๋ ํํํ ์ ์๋๊ฒ๋ค์ด ๋ง์์ง๋๊ฐ ์ด๋ค.
์ธ์ด์ ๋ํ ์ผ์ด ์๋๋ผ ์ด๋ป๊ฒ ์ถ์ํ๊ฐ ๊ณ ์ฐจ์ํ ๋๋ฉด์ ํํ๋ ฅ์ด ๋์ด๋๋๊ฐ๋ฅผ ๋๊ปด๋ผ
๋จผ๊ฐ ์ฌ๊ทํจ์์ ์ญ์ฌ์ ๋ฌธํ์ ๋ฃ๋ ๋๋์ด๊ตฌ๋ง
SICP ๊ฐ 40๋ ์ ์ฑ ์ด๋๊น ใ ใ