1. Parametric Search ๋?
์ต์ ํ ๋ฌธ์
๋ฅผ ์ฌ๋ฌ ๊ฐ์ ๊ฒฐ์ ๋ฌธ์
+ ์ด๋ถ ํ์
์ผ๋ก ๋ณํ์ํค๋ ๋ฌธ์ ์ ๊ทผ ๋ฐฉ๋ฒ์ด๋ค. ์ฌ๊ธฐ์ 3๊ฐ์ง ํค์๋๊ฐ ๋์๋๋ฐ, ์ด๋ถํ์์ด ๋ญ์ง๋ ๋ง์ ์ฌ๋๋ค์ด ์ํ
๋, ์ต์ ํ ๋ฌธ์
์ ๊ฒฐ์ ๋ฌธ์
์ ๋ํด ๋จผ์ ์ค๋ช
ํ๊ณ ๊ฐ๊ฒ ๋ค.
(1) ์ต์ ํ ๋ฌธ์
๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํด์ ๋ฒ์ฃผ๊ฐ ์กด์ฌํ๊ณ , ๊ทธ ์ค์์ ์ต์ ์ ๋ต(์ต์๊ฐ, ์ต๋๊ฐ ๋ฑ)์ ๊ตฌํ๋ ๋ฌธ์ ๋ฅผ ๋งํ๋ค.
Thread Knots๋ผ๋ ๋ฌธ์ ๋ฅผ ์์๋ก ๋ค์ด๋ณด๋ฉด, ํด๋น ๋ฌธ์ ๋ 'n๊ฐ์ ๋งค๋ญ์ ์ฑ๊ณต์ ์ผ๋ก ๋์์ ๋, ๊ฐ์ฅ ๊ฐ๊น์ด ๋ ๊ฐ์ ๋งค๋ญ ์ฌ์ด์ ์ต๋ ๊ฑฐ๋ฆฌ๋ฅผ ์ถ๋ ฅํ๋ผ'๊ณ ์๊ตฌํ๋ค.
๊ทธ๋ ๋ค๋ฉด, ์ฌ๊ธฐ์ ๊ฐ๋ฅํ ํด์ ๋ฒ์ฃผ๋ n ๊ฐ์ ๋งค๋ญ์ ๊ฐ Thread์ ์ฑ๊ณต์ ์ผ๋ก ๋๋ ๋ชจ๋ ๊ฒฝ์ฐ
์ด๊ณ ,
์ต์ ์ ํด๋ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ ๋งค๋ญ ์ฌ์ด์ ์ต๋ ๊ฑฐ๋ฆฌ
์ผ ๊ฒ์ด๋ค.
(2) ๊ฒฐ์ ๋ฌธ์
๋ฌธ์ ์ ๋ต์ YES or NO๋ก ํ๋ ๋ฌธ์ ๋ฅผ ๋ปํ๋ค.
'์๋ฆฌ๋ฒ ์ดํฐ ์์ 15๋ช
์ด ๋ค์ด๊ฐ ์ ์๋๊ฐ?', 'ํ ์์ผ์ ์ฃผ๋ง์ธ๊ฐ?' ๋ฑ์ด ์ด๋ฌํ ๊ฒฐ์ ๋ฌธ์
์ผ ๊ฒ์ด๋ค.
์ด๋ฐ ๊ฒ ๊ฐ๋ฅํ๋ ค๋ฉด, ๋ฌธ์ ๋ด๋ถ์ ๋ฌธ์ ์ ์ ๋ต ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ์ง๋ ์กฐ๊ฑด
์ด ์กด์ฌํด์ผ ํ๋ค.
(3) ์๊ฒฐ
์ด์ ๋ ๋ฌธ์ ์ ํ์ ๋ป์ ์์๋ค. Parametric Search
๋ ์ต์ ํ ๋ฌธ์
โ ์ฌ๋ฌ ๊ฐ์ ๊ฒฐ์ ๋ฌธ์
+์ด๋ถ ํ์
์ผ๋ก ๋ฐ๊พธ๋ ๋ฌธ์ ์ ๊ทผ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ํ๋ค. ์ด์ ๋ ์ด๋ป๊ฒ ๊ทธ๋ ๊ฒ ๋ณํํ ์ ์๋์ง์ ๋ํด์ ์ง์ค์ ์ผ๋ก ์ดํด ๋ณด์.
2. Parametric Search ๊ณผ์
- 1๏ธโฃ
YES or NO
์กฐ๊ฑด ์ ๋ง๋ค์ด์ ์ต์ ํด๋ฅผ ์กฐ๊ฑด์ ๋ต ์ค ํ๋๋ก ํฌํจ์ํค๊ธฐ - 2๏ธโฃ
YES or NO
์กฐ๊ฑด์ ๋ต์ด ๋จ์กฐ์ ์ด์ด์ ์์ธก ๊ฐ๋ฅํ์ง ํ์ธ (๋ถ๊ฐํ๋ฉดParametric Search
๋ชป ์) - 3๏ธโฃ
YES or NO
๋ต์ ๋ฒ์ฃผ ๋ด์์ ์ด๋ถ ํ์์ผ๋ก ๋ต ์ฐพ๊ธฐ
ํ๋์ฉ ์ดํด๋ณด์.
1๏ธโฃ YES or NO
์กฐ๊ฑด ์ ๋ง๋ค๊ธฐ โ ์ต์ ํด๋ฅผ ์กฐ๊ฑด์ ๋ต ์ค ํ๋๋ก
ํด๋น ๊ณผ์ ์ด ๋ฐ๋ก ์ต์ ํ ๋ฌธ์ ๋ฅผ ์ฌ๋ฌ ๊ฐ์ ๊ฒฐ์ ๋ฌธ์ ๋ก ๋ง๋๋ ๊ณผ์ ์ด๋ค.
๋ณํ์ ์ผ์ค์ ์์ญ์ด๊ธด ํ์ง๋ง, ์ด๋ถํ์ ๋ฌธ์ ๋ฅผ ๋ง์ด ํ๋ค๋ณด๋ฉด ๊ฐ์ด ์จ๋ค. ์ฌ๊ธฐ์ ์ค์ํ ์ ์ ์ต์ ํด๋ฅผ ๊ฒฐ์ ๋ฌธ์ ๋ต ์ค ํ๋๋ก ํฌํจ ์ํฌ ์ ์๋๊ฐ? ์ด๋ค.
์์ Thread Knots๋ฅผ ์๋ก ๋ค์ด๋ณด๋ฉด, ๋ฌธ์ ๋ '๊ฐ์ฅ ๊ฐ๊น์ด ๋ ๋งค๋ญ ์ฌ์ด์ ์ต๋ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ผ' ๋ผ๊ณ ํ๋ค.
์ด๋ '๋ชจ๋ ๋งค๋ญ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๊ฐ d ์ด์์ด ๋๋๊ฐ?'๋ก ๋ณํ ๊ฐ๋ฅํ๋ค.
์ด๋ ๊ฒ ๋ณํ์ด ๊ฐ๋ฅํ ์ด์ ๋ ์ฒ์ ๋งค๋ญ์ ๋์์ ๋, ๊ฐ์ฅ ๊ฐ๊น์ด ๋ ๋งค๋ญ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ์ ์ง์ ์ผ๋ก ๋๋ฆฌ๋ค๋ณด๋ฉด, ๊ทธ ๋ ๋งค๋ญ์ด ๋ ์ด์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋งค๋ญ์ด ์๋๊ฒ ๋ ์ ์๋ค. ๋ฐ๋ผ์ ๋ ๊ฐ์ ์ ์ ํน์ ํด์ ๋ณด๋ ๊ฒ์ ์์ฉ์ด ์๊ณ , ๋ชจ๋ ์ ์ ๋ํด์ ์ต์ ๊ธฐ์ค์ ํต๊ณผํ๋์ง ํ์ธํด์ผ ํ๋ค. ๊ทธ๋ ๋ค๋ฉด '๋ชจ๋ ๋งค๋ญ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๊ฐ d ์ด์์ด ๋๋๊ฐ?'๋ฅผ f(d)
๋ผ๊ณ ํ๋ค๋ฉด, ์ด f(d)
์ d์ ์ต๋๊ฐ์ด ๋ฐ๋ก Thread Knots๋ฌธ์ ์ ๋ต์ด ๋ ๊ฒ์ด๋ค.
์ด์ ์ต์ ํด๊ฐ ๊ฒฐ์ ๋ฌธ์ ์ ๋งค๊ฐ๋ณ์ ์ค ํ๋๋ก ํฌํจ๋๋ฏ๋ก 1๏ธโฃ ์ ์ฑ๊ณต์ ์ผ๋ก ๋ง์ณค๋ค. (๊ฒฐ์ ๋ฌธ์ ์ ๋งค๊ฐ ๋ณ์๋ฅผ ์ฐพ๋ ํ์ด ๋ฐฉ์์ด๋ผ ์ด๋ฆ์ด Parametric Search (๋งค๊ฐ ๋ณ์ ํ์)
์ด๋ค.)
2๏ธโฃ YES or NO
์กฐ๊ฑด์ ๋ต์ด ๋จ์กฐ์ ์ด์ด์ ์์ธก ๊ฐ๋ฅํ์ง ํ์ธ
๊ฒฐ๋ก
: ๋จ์กฐ
โ ์์ธก ๊ฐ๋ฅ
โ ์ด๋ถํ์ ์ธ ์ ์์
๋จ์กฐ๋? โจ
์ํ์์ ๋จ์กฐ
๋ผ๋ ๋ง์ ์๋ฏธ๋ ์์ด์ด ์ฆ๊ฐํ๊ฑฐ๋ ํน์ ๊ฐ์ํ๋ ํ๋์ ๊ท์น(mono)๋ง์ ๊ฐ์ง๋ค๋ ๋ง์ด๋ค. ์ฆ ์ค๋ฆ์ฐจ์์ด๋, ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ ์ํ๋ฅผ ์๋ฏธํ๋ค. ๋ต์ด TRUE
์๋๋ฉด FALSE
๋ฐ์ ์๋ ๊ฒฐ์ ๋ฌธ์ SET์์ ๋จ์กฐ์ ์ด๋ผ๋ ๊ฒ์ ๋ฌด์์ ๋งํ๋ ๊ฒ์ผ๊น?
'๊ฒฐ์ ๋ฌธ์ ์ ๋ฐํ ๊ฐ๋ค์ด ๋จ์กฐ์ ์ด๋ค. '
*์ด๋ผ๋ ๋ง์, *'TRUE = 0
, FALSE = 1
๋ก ๋ณด์์ ๋, ๋ด๋ฆผ์ฐจ์ ํน์ ์ค๋ฆ์ฐจ์์ด ์ฑ๋ฆฝํ๋ค.'๋ ์๋ฏธ์ด๋ค.
๊ฒฐ์ ๋ฌธ์ ๋ฐํ SET์ด ๋จ์กฐ์ ์ธ ๊ฒ์ด ์ ์ค์ํ๊ฐ? โจ
๊ฒฐ์ ๋ฌธ์ ๋ฐํ SET์ด ๋จ์กฐ์ ์ธ ๊ฒ์ด ์ค์ํ ์ด์ ๋, ๋ต์ด ๋๋ ๋งค๊ฐ ๋ณ์์ ์์น๋ฅผ ์์ธกํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ฐ๋ฆฌ๋ ๊ฒฐ์ ๋ฌธ์ SET์ ๊ตฌํ ํ, ์ด๋ถ ํ์
์ ํ์ฉํด, ๋ต์ด ๋๋ ๋งค๊ฐ ๋ณ์๋ฅผ ์ฐพ๋๋ค. ์ด๋ถํ์์ ํ์ฉํ ์ ์๋ Data Set์ ์ ์ ์กฐ๊ฑด์ ๋ฌด์์ด์๋๊ฐ? ๋ฐ๋ก ์ ๋ ฌ๋ ์ํ์ด๋ค.
์ ๋ ฌ๋ ์ํ๊ฐ ํ์ํ ์ด์ ๋ ๋๊ฐ์ด '๋ต์ด ์กด์ฌํ๋ ์์ญ์ ์์ํ ์ ์๊ฒ ๋ง๋ค์ด์ค์' ์ด๋ค. ํ์ฌ ๊ฐ๋ฆฌํค๊ณ ์๋ MID
๊ฐ์ด TARGET
๋ณด๋ค ์๋ค๋ฉด, MID
๋ณด๋ค ์์ ๊ฐ์ ์ด์งํผ ๋ต์ด ์๋๋ฏ๋ก ํ์ธํ ํ์๊ฐ ์๋ค. ๋ฐ๋ผ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ Data Set์์๋ MID๋ณด๋ค ์์ ๊ฐ (์์ญ์ ์ ๋ฐ)์ ๊ฐ ํ๋ณด์์ ์ ์ธ์ํฌ ์ ์์๋ค.
์ถํ, ๋ต์ด ๋๋ ๋งค๊ฐ๋ณ์๋ฅผ ์ฐพ๊ธฐ ์ํด ์ด๋ถํ์ ๊ณผ์ ์ด ํ์์ ์ด๋ฏ๋ก ๊ฒฐ์ ๋ฌธ์ ๋ํ, ์ ๋ ฌ๋ Data Set ์ฒ๋ผ ๋จ์กฐ์ ์ธ ์ฑ์ง์ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค. Thread Knots ์์๋ฅผ ๊ณ์ ๋ณด์. ์์์ f(d)
= ๋ชจ๋ Thread์ ๋ํด์ ๋งค๋ญ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๊ฐ d ์ด์์ด ๋๋๊ฐ?
๋ก ๋์๋ค. ์ผ๋จ f(d)
๋ฅผ ๊ตฌํ๋ ๊ฒ์ ์ฐจ์น ํด๋๊ณ , ์ด๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ์ป์๋ค๊ณ ๊ฐ์ ํ ๋, ๋ฐ๊ณผ ๊ฐ์ด ๋์ฌ ๊ฒ์ด๋ค.
f(6)๋ณด๋ค ๋ ๋ง๊ฒ ์ง๋ง, ์ ์ ํ์๊ฐ ์์๋ค. ์๋ํ๋ฉด f(7)์ด์์ ๋ต์ ์ ๋ถ X
์ผ ๊ฒ์ต ๋๋ฌธ์ด๋ค. ๋ง์ฝ MID
= 5 ๋ผ๋ฉด 5์ด์์ ๊ฐ๋ค์ ๋ ์ด์ ์ ๋ด๋ ๋๋ค. ์๋ํ๋ฉด, d = 5 ์ธ๋ฐ๋, ๋งค๋ญ ์ฌ์ด ๊ฑฐ๋ฆฌ๋ฅผ ์ถฉ์กฑ ๋ชปํ๋๋ฐ, 5๋ฅผ ์ด๊ณผํ ๊ฐ๋ค์ ๋ํด์๋ ๋น์ฐํ f(d)
= false๋ผ๋ ๊ฒ ์์ธก ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ด๋ค.
3๏ธโฃ YES or NO
๋ต์ ๋ฒ์ฃผ ๋ด์์ ์ด๋ถ ํ์์ผ๋ก ๋ต ์ฐพ๊ธฐ
์ด๋ฏธ 2๏ธโฃ์์ ๋ค๋ฃจ์์ง๋ง, ๊ตฌํ ์ผ๋ จ์ f(d)
Data Set์์ ์ด๋ถ ํ์์ ํตํด ์ํ๋ ๋ต์ ์ฐพ์ผ๋ฉด ๋๋ค. Thread Knots ๋ฌธ์ ์์๋ f(d)
= true
์ธ ๊ฐ ์ค ์ ์ผ ์ค๋ฅธ์ชฝ์ ์๋ ๊ฐ์ด ๋ต์ด ๋ ๊ฒ์ด๋ค.
๊ทธ๋ฌ๋ฉด f(d) ๊ฒฐ๊ณผ DATA SET์ ๋ชจ์กฐ๋ฆฌ ๊ตฌํด์ผ ํ๋์? ๐ค
์๋๋ค. ์์์ ์ค๋ช ํ๋ค์ํผ, f(d)์ ๊ฒฐ๊ณผ๋ ์์ธก ๊ฐ๋ฅํ๋ค. ๋ฐ๋ผ์ mid์ ํด๋นํ๋ ๊ฐ๋ง ๊ทธ๋ ๊ทธ๋ ๊ตฌํ๋ฉฐ ๋ฌธ์ ๋ฅผ ํ์ด๊ฐ๋ฉด ๋๋ค.