์ฐ์ ๋ช๊ฐ์ง ์ ์ ๊ฐ ์๋ค.
1. ์ธ๋ฒคํ ๋ฆฌ๋ ๊ฒฉ์ํ์ผ๋ก ๋๋์ด์ ธ ์์ผ๋ฉฐ ๊ทธ ํ ๋๋ฆฌ๋ ์ฌ๊ฐํ์ ํ์์ ๋๊ณ ์๋ค.
2. ์์ดํ ์ญ์ ํ ๋๋ฆฌ๋ ์ฌ๊ฐํ์ ํ์์ ๋๊ณ ์๋ค.
3. ์์ดํ ๋ค์ ์๋ก ๊ฒน์น ์ ์๋ค.
์ด๋ฌํ ์ ์ ์์์ ๋๋ ์ฐ์ ํ๊ฐ์ง๋ฅผ ๊ด์ฐฐํ ์ ์์๋๋ฐ, ์ด ๋ฌธ์ (https://www.wikiwand.com/en/Polygon_covering#/Covering_a_rectilinear_polygon_with_rectangles)๋ฅผ ํ ์ ์๋ค๋ฉด ์๊ณ ๋ฆฌ์ฆ์ ๋๋จธ์ง๋ ๋งค์ฐ ๊ฐ๋จํ๋ค๋ ๊ฒ์ด์์.ย
๋ฌธ์ ์์ฒด๋ฅผ ์ค๋ช ํ๋๊ฑด ๊ฐ๋จํจ. ํ ๋๋ฆฌ ์ ์ด ์ค์ง ์ํ์ด๊ฑฐ๋ ์์ง์ธ ๋ค๊ฐํ์ด ํ๋ ์์ ๋ ์๋ก๊ฐ์ ๊ฒน์น ์ ์๋ ๊ฐ์ฅ ์ ์ ์ซ์์ ์ฌ๊ฐํ์ ํตํด ๊ทธ ๋ค๊ฐํ์ ์ ์ฒด๋ฅผ ๋ฎ๋ ๋ฌธ์ ์.
์ ์ด ๋ฌธ์ ๊ฐ ์ธ๋ฒคํ ๋ฆฌ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ํธ๋๋ฐ ์ฐ๊ด์ด ์๋๋ฉด, ์ด ๋ฌธ์ ๋ฅผ ํ๊ณ ๋๋ฉด ์ฌ๊ฐํ๋ค์ ์งํฉ์ ํ๋ ์ป๊ฒ ๋์์? ๊ทธ ์ฌ๊ฐํ๋ค์ ํฉ์ ์ ๋ค๊ฐํ์ ๋ฎ๊ณ . ์ฌ๊ธฐ์ ์ด ๋ค๊ฐํ์ ์ธ๋ฒคํ ๋ฆฌ ์์ ์๋ ๋น ๊ณต๊ฐ๋ค์ ํฉ์ด๋ผ๊ณ ๋ณด์. ๊ทธ๋ฌ๋ฉด ์ด ์ฌ๊ฐํ๋ค์ ์ธ๋ฒคํ ๋ฆฌ ์์ ์์ดํ ๋ค์ ๋์ ์ ์๋ ๊ฐ๊ธฐ ๋ค๋ฅธ ์์น์ ๊ทธ ์์น์ ๋์ ์ ์๋ ์์ดํ ์ ์ต๋ ํฌ๊ธฐ๋ฅผ ๋ํ๋ด๋ ๊ฒ์ด๋ผ ๋ณผ ์ ์์. ๊ทธ๊ฑธ ์์๋ด๊ณ ๋๋ฉด ์ธ๋ฒคํ ๋ฆฌ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์, ์ธ๋ฒคํ ๋ฆฌ๋ฅผ ๋น์ฐ๊ณ , ์ธ๋ฒคํ ๋ฆฌ ์์ ์๋ ์์ดํ ๋ค์ ์ด๋ ์์๋๋ก ๋ค์ ์ธ๋ฒคํ ๋ฆฌ์ ์ง์ด๋ฃ๊ณ , ์ด๋ ์ฌ๊ฐํ์ ์์ดํ ์ ๋ฃ์ ๊ฒ์ธ๊ฐ, ์ด ์ ๋ ๋ฌธ์ ๋ค๋ง ๋จ์.
๋๋ ์ด ๋ฌธ์ ๋ฅผ ์ด ๋ ผ๋ฌธ(https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.69.4576)์ ์ฐธ๊ณ ํด์ ํ์. ์ด ๋ ผ๋ฌธ์์ ์ ์ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์์ ๋งํ ๋ฌธ์ ๋ฅผ ํด๋ฆฌ์คํฑ(heuristic)์ผ๋ก ํธ๋๋ฐ, ํต์ฌ ์๋ฆฌ๋ ์ง์ง ๊ฐ๋จํจ.
1. ๋ค๊ฐํ์ ํ์์ด ์ฃผ์ด์ง๋ฉด ๋ค๊ฐํ์ด ๋ง๋ ๊ณณ๊ณผ ๋ค๊ฐํ์ด ์๋ ๊ณณ์ผ๋ก ๋๋๋ค. ๊ทธ๋ฌ๋๊น ๋ค๋ชจ๋ ๋๋์ย ํ์์ด ์ฃผ์ด์ง๋ฉด ๊ทธ ์ค ๋๋ ๋ถ๋ถ์ ๋ค๊ฐํ์ด ๋ง๊ณ ๊ทธ ํ ๋๋ฆฌ์ ์ค์ฌ์ ๊ตฌ๋ฉ์ ๋ค๊ฐํ์ด ์๋ ๊ณณ์ธ๊ฑฐ์ง. ํธ์์ ์์ผ๋ก ๋ค๊ฐํ์ด ๋ง๋ ๊ณณ์ '๋ค๊ฐํ'์ด๋ผ ๋ถ๋ฅด๊ณ ย ๋ค๊ฐํ์ด ์๋ ๊ณณ์ย '๊ตฌ๋ฉ'์ด๋ผ ์นญํ๊ฒ ์.
2. x์ขํ๋ ๊ฐ๊ณ y์ขํ๋ง ๋ค๋ฅธย ๋๊ฐ์ ๊ตฌ๋ฉ ์ฌ์ด์ ์ต์ ํ ์นธ ์ด์์ ๋ค๊ฐํ์ด ์๋ค๋ฉด ๊ตฌ๋ฉ ์ฌ์ด์ ์๋ ๋ชจ๋ ๋ค๊ฐํ์ ํ๋์ '์ค'์ ํ์ฑํ๋ค.
3. ๋ค๊ฐํ ์์ ์กด์ฌํ๋ ๋ชจ๋ ์ค์ ์ฐพ์์ ํ๋์ ์งํฉ์ ๋ชจ์๋๋๋ค.
4. ๋ชจ๋ ์ค ๋ง๋ค ๊ทธ ์ค์ ์ผ์ชฝ์ผ๋ก ๊ทธ ๋ค์์๋ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ฐ์ด์ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์ฌ๊ฐํ์ ๋ชจ์๋๋๋ค.
5. ์์ ํ ๊ฒน์น๋,ย ๊ทธ๋ฌ๋๊น ๋ชจ๋ ๊ผญ์ง์ ์ ์์น๊ฐ ๋์ผํ ์ฌ๊ฐํ๋ค์ ํ๋๋ง ๋จ๊ธฐ๊ณ ๋๋จธ์ง๋ ์์ค๋ค.
6. ์ด๋ ๊ฒ ์ป์ด๋ธ ์ฌ๊ฐํ๋ค์ ๋ค๊ฐํ์ ํ์์ ๋น์ฐํ ๋ชจ๋ ๋ฎ๊ณ , ์ต์ ์ ํด์ ์ต๋ ์ค์ง ์ฝ๊ฐ์ ์ฐจ์ด์ ๋ง์ ๊ฐ์ง๋ค.
์ด๋ ๊ฒ ํ๊ณ ๋๋ฉด ๋จ์ ๊ฒ์ ๊ฐ๋จํจ.
1. ์ธ๋ฒคํ ๋ฆฌ ์์์ ๋ชจ๋ ์์ดํ ์ ๋น์ด๋ค.
2. ์์ดํ ๋ค์ ํฌ๊ธฐ์ ๋ฐ๋ผ ์ ๋ ฌ์ํจ๋ค.
3. ํฌ๊ธฐ๊ฐ ํฐ ์์๋๋ก ์์ดํ ์ ์ธ๋ฒคํ ๋ฆฌ์ ๋ค์ ์ง์ด๋ฃ๋๋ค.
4. ์์ดํ ์ ์ธ๋ฒคํ ๋ฆฌ์ ์ง์ด๋ฃ์ ๋,ย
4.1. ์ธ๋ฒคํ ๋ฆฌ ์์ ์์ดํ ์ด ์๋ ๊ณณ๊ณผ ์ธ๋ฒคํ ๋ฆฌ ๊ฐ์ฅ์๋ฆฌ ๋ฐ๊นฅ์ ๊ตฌ๋ฉ์ผ๋ก ์ง์ ํ๊ณ ์์ดํ ์ด ์๋ ๊ณณ์ ๋ค๊ฐํ์ผ๋ก ์ง์ ํ ๋ค์ ๋ฐ๋ก ์์ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ๊ทธ๊ฑธ ๋ฎ๋ ์ฌ๊ฐํ๋ค์ ๊ณ์ฐํด๋ธ๋ค.
4.2. ์์ดํ ์ ์ง์ด๋ฃ์ ์ ์๋ ์ฌ๊ฐํ๋ค ์ค ๊ฐ์ฅ ํฌ๊ธฐ๊ฐ ์์ ๊ฒ์ ๊ณจ๋ผ ๊ทธ ์ฌ๊ฐํ์ ์ผ์ชฝ ์ ๊ตฌ์์ ์์ดํ ์ ์ง์ด๋ฃ๋๋ค.
4.3. ์๋ก ์์ดํ ์ด ๋ค์ด๊ฐ ๊ณณ์ ๊ตฌ๋ฉ์ผ๋ก ์ง์ ํ ํ ๋ค์ ์์ดํ ์ ๋๊ฐ์ด ๋ฐ๋ณต.
๋.
ใ ใ
๋ชฌ..๋ชฌ๊ฐ ์ผ์ด๋๊ณ ์๋๊ฒ์
๊ทธ๋ฅ ์ธ๋ฒคํ ๋ฆฌ๋ฅผ ๊ทธ๋ฆฌ๋ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค๊ณ , ๊ทธ๋ฆฌ๋์ ํด๋นํ๋ bool 2์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ ๋ค์์ ํฐ ๋๋ถํฐ ์ค์ ๋ฃ์ผ๋ฉด ๋๋๊ฑฐ ์๋๊ฐ์ค?
์ด๊ฒ๋ ์ธ๋ฒคํ ๋ฆฌ๊ฐ ๊ทธ๋ฆฌ๋์ด๊ธด ํ๋ฐ ์ฌํํผ ๊ทธ๊ฒ๋ ํ ๋ฐฉ๋ฒ์ด์ง๋ง ๋ค์ ์ด์ ๋ค ๋๋ฌธ์ ์ด๋ ๊ฒ ํจ. ์ฐ์ , ๊ทธ๋ ๊ฒ ํ๋ฉด ๊ทธ ๊ณผ์ ์์ ์ผ์ด๋ ์ ์๋ ์ฌ๋ฌ ํน์ํ ์ฌ๋ก๋ค์ ํ๋ํ๋ ์ง์ ์๋ด์ผํ ๊ฑฐ ๊ฐ์์. ์๋ฅผ ๋ค์๋ฉด 3x3, 3x2, 1x3, 3x1, ์ด๋ ๊ฒ 4๊ฐ์ ์์ดํ ์ด ์๋ค๊ณ ํ์. 3x3์ด ๊ฐ์ฅ ํฌ๋ ๊ทธ๊ฒ ๊ฐ์ฅ ๋จผ์ ์ง์ด๋ฃ์ด์งํ ๊ณ , ๊ทธ ๋ค์ ํฐ ๊ฒ์ 3x2์ด๋ 3x3์ ์์ 3x2์ด ๋์์ง๊ฒ ์ง. ๊ทธ ๋ค์์ผ๋ก 1x3์ด 3x2 ์์ ๋์์ง๋ค๊ณ ํ์. ๊ทธ๋ผ ์ด ๊ฒฝ์ฐ์ ๋ง์ง๋ง 3x1 ์์ดํ ์ ์ด๋์ ๋์ฌ์ ธ์ผ ํ๋๊ฐ๊ฐ ๋ด ์๊ฐ์ ๋ฌธ์ ๊ฐ ๋ ๊ฑฐ ๊ฐ์์. 3x3๊ณผ 1x3 ์ฌ์ด 3x2 ๋ฐ๋ก ์๋์ ๋์ฌ์ ธ์ผ ํ๋๊ฐ, ์๋๋ฉด 1x3 ์์ ๋์ฌ์ ธ์ผ ํ๋๊ฐ.
์ด ๊ฐ๋จํ ์๋ ํฐ ๋๋ถํฐ ์ง์ด๋ฃ๋๋ค๋ ๋ง์ด ์ค์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ ์ฉํ๊ธฐ์๋ ๋๋ฌด ๋๋ฃจ๋ญ์คํ๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค. ํฐ ๋๋ถํฐ ์ ํํ ์ด๋ป๊ฒ ์ง์ด๋ฃ์ ๊ฒ์ธ๊ฐ. ๋ด ์๊ณ ๋ฆฌ์ฆ๋ ๋ณด๋ฉด ๋์ค์ง๋ง ํฐ ๋๋ถํฐ ์ง์ด๋ฃ์. ์ฐจ์ด์ ์ ํฐ ๋๋ถํฐ ์ ํํ ์ด๋ป๊ฒ ์ง์ด๋ฃ๋๋๊ฐ ์ญ์ ํฌํจ๋์ด ์๋ค๋ ๊ฒ์ด๊ฒ ์ง.
๊ทธ ๋ค์ ์ด์ ๋ ๋ด๊ฐ ์ด๊ฒ์ ๋ง๋ค ๋ ๋ฌ์ฑํ๊ณ ์ ํ ๋ชฉํ๊ฐ ์ธ๋ฒคํ ๋ฆฌ ์ ๋ฆฌํ๋ ๊ฒ์ ๊ตญํ๋์ง ์๊ณ ๋ชจ์ข ์ ์ธ๋ฒคํ ๋ฆฌ์ ๋ชจ์ข ์ ์์ดํ ์ด ์ฃผ์ด์ก์ ๋ ๊ทธ ์์ดํ ์ ์ธ๋ฒคํ ๋ฆฌ์ ์๋์ผ๋ก ์ด๋ป๊ฒ ์ง์ด๋ฃ๋๊ฐ, ์ด๊ฒ ์ญ์ ํฌํจํ๊ณ ์๋ค๋ ๊ฒ์. ์์ดํ ํ๋ ์ง์ด๋ฃ์ ๋๋ง๋ค ๋งค๋ฒ ์ธ๋ฒคํ ๋ฆฌ๋ฅผ ํต์ฑ๋ก ์ ๋ฆฌํ ์๋ ์์์? ์ด ์๊ณ ๋ฆฌ์ฆ์ ์กฐ๊ธ๋ง ์์ฉํ๋ฉด ์ธ๋ฒคํ ๋ฆฌ๋ฅผ ํต์ฑ๋ก ์ ๋ฆฌํ์ง ์๊ณ ๋ ๋ชจ์ข ์ ์์ดํ ์ ์ต์ ์ ์ฅ์์ ์ง์ด๋ฃ๋ ๋ชฉ์ ์ผ๋ก ์ธ ์ ์์.
๋ง์ง๋ง ์ด์ , ์ด๋ ๊ฒ ์ง๋ ๊ฒ์ด ๊น๋ํ๋๊น. ํ์ฅ์ฑ ์๊ณ ์ผ๋ฐํ ๋์ด ์์ผ๋ฉฐ ๋ค์ฉ๋๋ก ์ธ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ง๋ค์ด ๊ทธ๊ฑธ ์ฝ๋๋ก ๊ตฌํํ๋๊ฒ ๋ ๊น๋ํจ. ๋์ค์ ํ์ฅ ๋ฐ ์ ์ง๋ฅผ ๊ณ ๋ คํ๋ฉด ์ด๊ฒ ๋ ๋์ ๋ฐฉ์์ด๋ผ ํ๋จ๋์์.
ํฐ๋๋ถํฐ๋ผ๋๊ฒ, ๊ทธ๋ฅ ๊ฐ๋ก ๊ณฑํ๊ธฐ ์ธ๋ก ๊ฐ์ด ํฐ ๋ ์์๋ก ์ ๋ ฌ์ด์ง. ์ด์ฐจํผ ๊ฒ์์ด๋ผ๋ ํน์ฑ์, ์ ๋ ฌ์ด ์ด์๊ณ ์ ๋๋๋ณด๋ค๋ ์ผ๋ง๋ ๋น ๋ฅด๊ฒ ๋๋์ ๋ฌธ์ ์ธ๋ฐ ๊ทธ๋ฌ๋ฉด ๊ทธ๋ฆฌ๋๋ก ๋ง๋ค๋ฉด ์์ฐ์ ์ขํ๊ฐ์ ๊ฐ์ง๋ ์ฌ๊ฐํ ๋ํ๋ค๋ก ๋ง๋ค๊ณ 2์ฐจ์ ๋ฐฐ์ด๋ก ๋ง๋ ๋ค์์ ์ง์ด๋ฃ์ผ๋ฉด ๋์ง ์ถ์.
์ด ์๊ณ ๋ฆฌ์ฆ์ ๋ค๋ฅธ๋ฐ์ ์ด์ฉํ ์ ์๋ค๋ ์ ์์๋ ๋๋ ๋์ํ๊ณ , ์ํ๋ผ์ค ์ํธ ๋ง๋๋๊ฑด ์ด๋ฐ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ง๋ค์๋๋ฐ ์ธ๋ฒคํ ๋ฆฌ๋.. ์.
๊ทธ๋ฆฌ๊ณ ๊ธฐํ์ ์ผ๋ก ํด๊ฒฐํ ์๋ ์๋๊ฒ ๋ง์. ์ธ๋ฒคํ ๋ฆฌ์ ํฌ๊ธฐ๊ฐ ์์ ์ ์ฌ๊ฐํ์ธ ๊ฒฝ์ฐ๋ณด๋ค๋, ์ด๋์ชฝ์ผ๋ก ๋ ๊ธด์ง๋ฅผ ๋ณด๊ณ , ๋๋ถ๋ถ์ ์์ดํ ์ด ๊ทธ์ชฝ์ผ๋ก ๊ธธ๋๋ก ๋ง๋ค์ด์ฃผ๋ฉด ๋จ. ์๊ณ ๋ฆฌ์ฆ์ ์๋ณด๋๊ฒ ์๋๋ผ ์ธํ๊ฐ์ ์ธ์์ ์ผ๋ก ์ ๋ณด๋ ๊ฒ์ธ๋ฐ, 10x15์ง๋ฆฌ ์ธ๋ฒคํ ๋ฆฌ์ ๊ฒฝ์ฐ ์์ดํ ์ ํฌ๊ธฐ๊ฐ ๊ฐ๋ก๋ณด๋ค ์ธ๋ก๊ฐ ์ธ์ ๋ ๊ฐ๊ฑฐ๋ ๊ธธ๊ฒ ๋ง๋ค์ด์ฃผ๋ฉด ์ ๋ ฌ๋ ์ฌ์์ฌ.
์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ ๋ฆฌํด์ ์ฌ๋ ค์ค ์ ์์?