2015-01-25 00:52:39
|
Á¶È¸¼ö : 1,403
|
ÇÁ·Î±×·¡¹ÖÀ» ÅëÇÑ ¹®Á¦ ÇØ°á ¹æ¹ý |
|
¹éµµ¿ø | õ¾È¼ºÁ¤ÁßÇб³ 3Çгâ |
|
¡®ÄÄÇ»ÅÍ¡¯´Â ¾î¶² ¹®Á¦¸¦ ÇØ°áÇϴµ¥ ÀÖ¾î ÀÚÁÖ »ç¿ëµÈ´Ù. ´Ü¼ø °è»êÀ» Çϱâ À§ÇØ °è»ê±â ±â´ÉÀ» »ç¿ëÇϱ⵵ ÇÏÁö¸¸, ÇÁ·Î±×·¡¹ÖÀ» ÅëÇØ ¹®Á¦¸¦ ÇØ°áÇϱ⵵ ÇÑ´Ù. ÇÁ·Î±×·¡¹ÖÀ» ÅëÇØ ÇØ°áÇÒ ¼ö ÀÖ´Â ¹®Á¦ÀÇ ¿¹¸¦ µé¸é ´ÙÀ½°ú °°´Ù. ¡®¾î¶² ÀÚ¿¬¼ö ¼ö¿ÀÌ ÀÌ·ç¾îÁ³À» ¶§, ÀÌ ¼ö¿¿¡ Á¸ÀçÇÏ´Â ºÎºÐ ¼ö¿µé Áß °¡Àå ±æÀÌ°¡ ±ä ¼ö¿(ÃÖÀå Áõ°¡ ºÎºÐ ¼ö¿)ÀÇ ±æÀ̸¦ ±¸ÇϽÿÀ.¡¯ ¿¹¸¦ µé¾î, ÀÚ¿¬¼ö ¼ö¿ ¡®2 4 3 1 5¡¯°¡ ÁÖ¾îÁ³À¸¸é, ÀÌ ¼ö¿ÀÇ ÃÖÀå Áõ°¡ ºÎºÐ ¼ö¿Àº ¡®2 3 5¡¯·Î ±æÀÌ´Â 3ÀÌ´Ù. ÀÌ ¶§, ÀÚ¿¬¼ö ¼ö¿Àº ÀÓÀÇ·Î ÁÖ¾îÁö±â ¶§¹®¿¡, ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ´Â ¡®°èȹ¡¯ÀÌ ÇÊ¿äÇÏ´Ù. ÀÌ·¯ÇÑ ¡®°èȹ¡¯À» ¾Ë°í¸®ÁòÀ̶ó°í ÇÑ´Ù. ÀÌ ±Û¿¡¼´Â, ÇÁ·Î±×·¡¹ÖÀ» ÅëÇØ ¹®Á¦¸¦ ÇØ°áÇÒ ¶§ ÀÚÁÖ »ç¿ëµÇ´Â ¾Ë°í¸®Áòµé¿¡ ´ëÇØ ¼³¸íÇÏ°Ú´Ù.
¸ÕÀú, ºÐÇÒ Á¤º¹(Divide and Conquer) ¹æ¹ýÀÌ ÀÖ´Ù. ºÐÇÒ Á¤º¹ ¹æ¹ýÀº, ¾î¶² ¹®Á¦¸¦ ¿©·¯ °³ÀÇ ºÎºÐ ¹®Á¦·Î ³ª´©¾î ÇØ°áÇÏ´Â ¹æ¹ýÀÌ´Ù. ¡®Äü Á¤·Ä¡¯Àº ºÐÇÒ Á¤º¹À» ÀÌ¿ëÇÏ´Â ¹®Á¦´Â ¾Æ´ÏÁö¸¸, ºÐÇÒ Á¤º¹°ú ºñ½ÁÇÑ °³³äÀ» ÀÌ¿ëÇÏ´Â ¹®Á¦ÀÌ´Ù. Äü Á¤·ÄÀº ´ÙÀ½°ú °°Àº °úÁ¤¿¡ ÀÇÇØ ÁøÇàµÈ´Ù. ¸ÕÀú, ±âÁØÀÌ µÇ´Â ¼ö(pivot)¸¦ Á¤ÇÑ´Ù. ±×¸®°í, ÁÖ¾îÁø ¼ö¿ÀÇ ¼öµéÀ» pivot°ªº¸´Ù ÀÛÀº ¼öµéÀÇ ÁýÇÕ A¿Í, pivot°ªº¸´Ù Å« ¼öµéÀÇ ÁýÇÕ B·Î ³ª´«´Ù. ¸¶Áö¸·À¸·Î, ÁýÇÕ A¿Í ÁýÇÕ B¿¡ ´ëÇØ °¢°¢ Á¤·ÄÀ» ¼öÇàÇÑ´Ù. ÀÌ °úÁ¤À» °è¼Ó ¹Ýº¹Çϸé, °á±¹ ¼ö¿ÀÇ ¸ðµç ¼öµéÀÌ Á¤·ÄµÈ´Ù. ¿¹¸¦ µé¾î, ÀÚ¿¬¼ö ¼ö¿ ¡®3 4 2 1 5¡¯ÀÌ ÁÖ¾îÁ³À» ¶§ Äü Á¤·Ä °úÁ¤À» ¼³¸íÇØ º¸°Ú´Ù. ¸ÕÀú, ±âÁØÀÌ µÇ´Â ¼ö¸¦ 3À¸·Î Çϸé, ÀÌ ¼ö¿Àº ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ¸é¼ ¡®2 1 3 4 5¡¯°¡ µÈ´Ù. Áï, 3À» ±âÁØÀ¸·Î 3º¸´Ù ÀÛÀº ¼öµé°ú 3º¸´Ù Å« ¼öµéÀÌ ³ª´©¾îÁø °ÍÀÌ´Ù. ÀÌÁ¦, ¼ö¿ ¡®2 1¡¯¿¡ ´ëÇØ °°Àº ¹æ¹ýÀ¸·Î Á¤·ÄÀ» ¼öÇàÇÏ°í, ¼ö¿ ¡®4 5¡¯¿¡ ´ëÇØ °°Àº ¹æ¹ýÀ¸·Î Á¤·ÄÀ» ¼öÇàÇϸé, Á¤·ÄÀÌ ¿Ï·áµÈ´Ù.
¶ÇÇÑ, Åð°¢ °Ë»ö(Backtracking) ¹æ¹ýÀÌ ÀÖ´Ù. Åð°¢ °Ë»öÀº °£´ÜÈ÷ ¸»Çؼ, °¡´ÉÇÑ ¸ðµç °æ¿ì¸¦ Ž»öÇؼ Çظ¦ ã´Â ¹æ¹ýÀÌ´Ù. Åð°¢ °Ë»öÀ¸·Î ÇØ°áÇÒ ¼ö ÀÖ´Â ´ëÇ¥ÀûÀÎ ¹®Á¦·Î, N-Queen ¹®Á¦°¡ ÀÖ´Ù. ÀÌ ¹®Á¦´Â, N*N ü½ºÆÇ¿¡ N°³ÀÇ queenÀ» ¹èÄ¡ÇÏ´Â ¹æ¹ýµé Áß, queenµéÀÌ ¼·Î Àâ¾Æ¸ÔÁö ¸øÇϵµ·Ï queenµéÀ» ¹èÄ¡ÇÏ´Â ¹æ¹ýÀÇ ¼ö¸¦ ±¸ÇÏ´Â ¹®Á¦ÀÌ´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é, queenµéÀÌ ¹èÄ¡µÉ ¼ö ÀÖ´Â, °¡´ÉÇÑ ¸ðµç °æ¿ì¸¦ °í·ÁÇÏ¸é µÈ´Ù. Á¶°ÇÀ» ¸¸Á·ÇÏ·Á¸é, ÇÑ Çà¿¡´Â ¹Ýµå½Ã queenÀÌ 1°³¸¸ ÀÖ¾î¾ß ÇÑ´Ù. Áï, °¢ Çà¿¡¼ N°³ÀÇ ¿ Áß ¾î¶² ¿¿¡ queenÀ» ¹èÄ¡½ÃųÁö °áÁ¤Çϸé queenµéÀÌ ¹èÄ¡µÇ´Â ¹æ¹ý 1°¡Áö°¡ °áÁ¤µÇ¹Ç·Î, (N^N)°³ÀÇ ¹èÄ¡µé¿¡ ´ëÇØ Á¶°ÇÀÌ ¸¸Á·µÇ´ÂÁö È®ÀÎÇÏ¸é ´äÀ» ±¸ÇÒ ¼ö ÀÖ´Ù. ÇÁ·Î±×·¥ ½ÇÇà ½Ã°£À» ÁÙÀ̱â À§Çؼ´Â ´ÙÀ½°ú °°ÀÌ ÇÁ·Î±×·¥À» °³¼±ÇÒ ¼ö ÀÖ´Ù. ù ¹ø° Çà¿¡ queenÀ» ¹èÄ¡ÇÒ ¶§¿¡´Â, N°³ÀÇ ¿¿¡ ¸ðµÎ queenÀÌ ¹èÄ¡µÉ ¼ö ÀÖÀ¸¹Ç·Î N°¡Áö ¹æ¹ýÀÌ ÀÖÁö¸¸, µÎ ¹ø° ÇàÀÇ queenÀº, N°³ÀÇ ¿ Áß Ã¹ ¹ø° ÇàÀÇ queenÀÌ ¹èÄ¡µÈ ¿¿¡´Â ¹èÄ¡µÉ ¼ö ¾ø´Ù. Áï, µÎ ¹ø° Çà¿¡ queenÀÌ ¹èÄ¡µÉ ¼ö ÀÖ´Â ¹æ¹ýÀÇ ¼ö´Â (N-1)°¡ÁöÀÌ´Ù. ÀÌ·¸°Ô Ž»öÀ» Çϸé, N!°³(N!Àº 1ºÎÅÍ N±îÁöÀÇ ¸ðµç ¼öµéÀ» °öÇÑ °ÍÀ» ÀǹÌÇÑ´Ù.)ÀÇ ¹èÄ¡µé¿¡ ´ëÇØ Á¶°ÇÀ» ¸¸Á·ÇÏ´ÂÁö È®ÀÎÇÏ¸é ´äÀ» ±¸ÇÒ ¼ö ÀÖ´Ù.
Áö±Ý±îÁö ¼³¸íÇÑ ¾Ë°í¸®Áò ¿Ü¿¡µµ, µ¿Àû °èȹ¹ý(Dynamic Programming), ±×¸®µð(Greedy) ¹æ¹ý, ÃÖ´Ü °æ·Î¸¦ ±¸ÇÏ´Â ´ÙÀͽºÆ®¶ó(Dijkstra) ¾Ë°í¸®Áò µî ¸¹Àº ¾Ë°í¸®ÁòµéÀÌ ÀÖ´Ù. ¾î¶² ¹®Á¦¸¦ ÇØ°áÇÒ ¶§ ÀÌ¿ëµÇ´Â ¾Ë°í¸®ÁòÀ» ÇнÀÇϱâ Àü¿¡, ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» ¸ÕÀú »ý°¢ÇØ º¸°í ¾Ë°í¸®ÁòÀ» ÇнÀÇÑ´Ù¸é, ¾Ë°í¸®Áò¿¡ ´ëÇÑ ÀÌÇصµ¸¦ ³ôÀÏ ¼ö ÀÖÀ» °ÍÀÌ´Ù. |
|
´äº¯´Þ±â |
|
|
|
|
|