»ó´Ü¿©¹é
HOME ±ÝÀ¶¡¤ÇÉÅ×Å©
ÄÄÇ»ÅÍ ÁøÈ­¸¦ À̲ö ¡®À§´ëÇÑ ¾Ë°í¸®Áò 9¡¯



ÄÄÇ»ÅÍ ÁøÈ­¸¦ À̲ö À§´ëÇÑ ¾Ë°í¸®Áò(Algorithms)¿¡´Â ¾î¶² °Ô ÀÖÀ»±î. IT ±â¼úÀº ³î¶ó¿î ÁøÈ­ ¼Óµµ¸¦ º¸¿© ¿Ô´Ù. À̸¦ µÞ¹ÞħÇÏ´Â ¿ä¼Ò °¡¿îµ¥ Çϳª´Â ¾Ë°í¸®ÁòÀ̶ó°í ºÒ¸®´Â ó¸® ¹æ¹ýÀÌ´Ù. ¾Ë°í¸®ÁòÀº ÄÄÇ»ÅÍ ÁøÈ­¿¡ Áö´ëÇÑ ¿µÇâ·ÂÀ» º¸¿´´Ù°í Çصµ °ú¾ðÀÌ ¾Æ´Ï´Ù. ÀÌ·± À§´ëÇÑ ¾Ë°í¸®Áò¿¡´Â ¾î¶² °Ô ÀÖÀ»±î.

¸ÕÀú ÇãÇÁ¸¸ ÄÚµù(Huffman Coding). ÇãÇÁ¸¸ ÄÚµùÀº Áö³­ 1951³â µ¥À̺ñµå ÇãÇÁ¸¸(David Huffman)ÀÌ °³¹ßÇÑ ¾Ë°í¸®ÁòÀÌ´Ù. ºóÃâºóµµ¿¡ µû¶ó¼­ ÀÚÁÖ ÀÌ¿ëÇÏ´Â ¹®ÀÚ¿¡ ´ëÇؼ± ÀûÀº ¼ö ºñÆ®¸¦ ¾²´Â °É ¸»ÇÑ´Ù. ¹Ý´ë·Î ºóµµ¼ö°¡ ÀûÀ¸¸é ±ä ºÎÈ£¸¦ ºÎ¿©ÇÑ´Ù.

¸ðµç ¹®ÀÚ°¡ °°Àº ºóµµ·Î Àü¼ÛµÇÁö ¾Ê´Â´Ù´Â Á¡À» ÀÌ¿ëÇÑ °ÍÀ¸·Î ºóµµ¼ö¿¡ µû¶ó¼­ ±æÀÌ°¡ °¡º¯ÀÎ Äڵ带 ¸¸µé±â ¶§¹®¿¡ °íÁ¤ ±æÀ̸¦ ¾µ ¶§º¸´Ù µ¥ÀÌÅ;çÀ» ÁÙÀÌ´Â ¾ÐÃà È¿°ú¸¦ ÁØ´Ù. ÇãÇÁ¸¸ ÄÚµùÀº JPEG³ª MP3 °°Àº ¾ÐÃà ±â¼ú¿¡ È°¿ëµÇ°í ÀÖ´Ù.



´ÙÀ½Àº °ø°³Å° ¾Ïȣȭ ¹æ½Ä(Public-key Cryptography). ¾Ïȣȭ´Â Åë½Å ±â¹Ð¼ºÀ» ³ôÀÌÁö¸¸ Çص¶À» À§ÇÑ Å° Àü´Þ °úÁ¤¿¡¼­ µµÃ»µÉ À§ÇèÀÌ ÀÖ´Ù. À̸¦ ÇØ°áÇÑ °ÍÀÌ °ø°³Å° ¾Ïȣȭ ¹æ½ÄÀÌ´Ù. °³ÀÎÅ° »Ó ¾Æ´Ï¶ó °ø°³Å° 2°¡Áö ¾Ïȣȭ۸¦ Á¦°øÇØ µµÃ» À§ÇèÀ» ÇؼÒÇÑ °ÍÀÌ´Ù.

´ÙÀͽºÆ®¶ó ¾Ë°í¸®Áò(Dijkstra's Algorithm)Àº Áö³­ 1956³â ¿¡µå°Å W ´ÙÀͽºÆ®¶ó°¡ °í¾ÈÇÑ °ÍÀ¸·Î ÃÖ´Ü °æ·Î¸¦ Ž»öÇÏ´Â ¾Ë°í¸®ÁòÀÌ´Ù. Åë½Å°£ ÃÖ´Ü °æ·Î¸¦ °áÁ¤Çϱâ À§ÇØ °æ·Î ±æÀ̸¦ °è»êÇÏ´Â °ÍÀ¸·Î ÀÌ ¾Ë°í¸®ÁòÀÇ °¡Àå Å« ÀåÁ¡Àº ºÒÇÊ¿äÇÑ °æ·Î¸¦ »ý·«ÇÒ ¼ö ÀÖ°Ô ÇØÁá´Ù´Â °ÍÀÌ´Ù. ´ÙÀͽºÆ®¶ó ¾Ë°í¸®ÁòÀº ÀÚµ¿Â÷ ³»ºñ°ÔÀÌ¼Ç °°Àº ±â±â¿¡¼­ °æ·Î Ž»ö µî¿¡ È°¿ëµÇ°í ÀÖ´Ù.



ÀÌÁø °Ë»ö ¾Ë°í¸®Áò(Binary Search Algorithm)Àº Á¤·ÄµÇ¾î ÀÖ´Â ¸ñ·ÏÀ» 2°³·Î ºÐÇÒÇϸ鼭 Ž»öÇØ Å½»ö ¹üÀ§¸¦ Â¥ ³ÖÀ¸¸é¼­ È¿À²ÀûÀ¸·Î ¸ñÇ¥¿¡ µµ´ÞÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â ¾Ë°í¸®ÁòÀÌ´Ù. ÀüÈ­¹øÈ£ºÎ °Ë»ö ±â¼ú µî¿¡ ÀÀ¿ëµÇ°í ÀÖ´Ù.



ºü¸¥ Á¤·Ä(Quicksort)Àº Áö³­ 1960³â Åä´Ï È£¾î(Tony Hoare)°¡ ¹ß¸íÇÑ ¾Ë°í¸®Áò. À¯´Ð½º(UNIX)ÀÇ µðÆúÆ® Á¤·Ä ±â´ÉÀ¸·Î äÅõǸ鼭 ÀϾà À¯¸í¼¼¸¦ Ÿ°Ô µÇ±âµµ Çß´Ù. ÁÖ¾îÁø ÆÄÀÏ¿¡¼­ ƯÁ¤Å° °ªº¸´Ù ÀÛÀº °ªÀ» °®´Â ·¹ÄÚµå¿Í Å« °ªÀ» °¡Áø ·¹Äڵ带 ºÐ¸®Çؼ­ ÆÄÀÏ 1°³¸¦ ³í¸®ÀûÀ¸·Î ºÎÆÄÀÏ 2°³·Î Àç¹è¿­ÇÑ´Ù. ÀÌ·± ºÎÆÄÀÏ¿¡ ¼øȯÇؼ­ °°Àº ºü¸¥ Á¤·ÄÀ» Àû¿ëÇØ ÆÄÀÏÀ» Á¤·ÄÇÏ´Â ¹æ½ÄÀ» ¸»ÇÑ´Ù.

ºü¸¥ Á¤·ÄÀÇ °¡Àå Å« ÀåÁ¡Àº µ¥ÀÌÅÍ ºñ±³¿Í ±³È¯ Ƚ¼ö°¡ ÀûÀº ¾Ë°í¸®ÁòÀ̶ó´Â °ÍÀÌ´Ù. ´öºÐ¿¡ ÀÓÀÇ·Î Èð¾îÁ® ÀÖ´Â µ¥ÀÌÅ͸¦ È¿À²ÀûÀ¸·Î Á¤·ÄÇÒ ¼ö ÀÖ´Â °¡Àå ºü¸¥ Á¤·Ä ¾Ë°í¸®ÁòÀ¸·Î Æò°¡¹Þ°í ÀÖ´Ù.



´ÙÀ½Àº Ä«¶ó½´¹Ù ¾Ë°í¸®Áò(Karatsuba Algorithm). Å« ¼ö¸¦ °ö¼ÀÇÒ ¶§ °¡°¨ Ƚ¼ö¸¦ ´Ã·Á¼­ °ö¼À Ƚ¼ö¸¦ ÁÙÀÌ´Â °ÍÀÌ´Ù. ½±°Ô ¸»ÇÏÀÚ¸é µÎ ÀÚ¸´¼ö °ö¼ÀÀ» ÇÑ´Ù¸é ÀÏ¹Ý ¹æ½ÄÀ» ÀÌ¿ëÇÑ´Ù¸é ÇÖ ÀÚ¸´¼ö °ö¼ÀÀ» 4¹ø ÇØ¾ß ÇÑ´Ù. ÇÏÁö¸¸ Ä«¶ó½´¹Ù ¾Ë°í¸®ÁòÀº ÇÑ ÀÚ¸´¼ö °ö¼ÀÀº 3¹ø ÇÏ°í ³ª¸ÓÁö´Â µ¡¼À°ú »¬¼ÀÀ¸·Î °á°ú¸¦ ±¸ÇÏ´Â °ÍÀÌ´Ù.

ÀÌ·± ¹æ½ÄÀ» ¾²´Â ÀÌÀ¯´Â °ö¼Àº¸´Ù °¡°¨ ÂÊÀÌ °è»ê 󸮼ӵµ°¡ ÈξÀ ºü¸£±â ¶§¹®. °á±¹ °è»ê ¼Óµµ¸¦ °í¼ÓÈ­ÇÒ ¼ö ÀÖ´Ù´Â °Ô ÀÌ ¾Ë°í¸®ÁòÀ¸·Î ¾òÀ» ¼ö ÀÖ´Â ÀåÁ¡ÀÎ °ÍÀÌ´Ù.



´ÙÀ½Àº À¯Å¬¸®µå È£Á¦¹ý(Euclidean Algorithm)ÀÌ´Ù. À¯Å¬¸®µå´Â ±âÀü Àü 330³â ±×¸®½ºÀÇ °í´ë ¼öÇÐÀÚ´Ù. À¯Å¬¸®µå È£Á¦¹ýÀº ÃÖ´ë°ø¾à¼ö¸¦ ±¸ÇÏ´Â ¾Ë°í¸®ÁòÀÌ´Ù. µÎ ÀÚ¿¬¼öÀÇ ÃÖ´ë°ø¾à¼ö¸¦ °£´ÜÇÏ°í Àçºü¸£°Ô ã¾Æ³¾ ¼ö ÀÖ´Â ÀÌ ¾Ë°í¸®ÁòÀº °ø°³Å° ¾Ïȣȭ°¡ ¿ä±¸ÇÏ´Â °è»ê¿¡ È°¿ëµÇ´Â µî Çö´ë ÄÄÇ»ÅÍ ±â¼ú¿¡¼­µµ ¿©ÀüÈ÷ È°µ¿ ÁßÀÎ Çö¿ª ¾Ë°í¸®ÁòÀÌ´Ù.



ºê·¹Á¨Çè ¶óÀÎ ¾Ë°í¸®Áò(Bresenham's Line Algorithm)Àº Áö³­ 1962³â IBM¿¡ ±Ù¹«ÇÏ´ø Àè ¾ÙÆ° ºê·¹Á¨ÇèÀÌ °³¹ßÇÑ ¾Ë°í¸®ÁòÀÌ´Ù. ÄÄÇ»ÅÍ ½ºÅ©¸°¿¡¼­ Á÷¼±À» ±×¸®´Â µ¥ »ç¿ëÇϸç È®ÀåÇØ ¿øÀ» ±×¸± ¼öµµ ÀÖ´Ù. ºê·¹Á¨Çè ¶óÀÎ ¾Ë°í¸®ÁòÀº ½Ç¼ö¸¦ ÀÌ¿ëÇÏÁö ¾Ê°í Á¤¼ö¸¸À¸·Î ¼±À» ±×¸°´Ù. Á¤¼ö °¡°¨¹ý°ú ºñÆ® ½ÃÇÁÆ®¸¸ ÀÌ¿ëÇÏ´Â °£´ÜÇÑ ¹æ¹ýÀ̾ú±â ¶§¹®¿¡ ¼ö¸¹Àº ÄÄÇ»ÅÍ¿¡¼­ ¾²ÀÏ ¼ö ÀÖ¾ú´Ù. ÄÄÇ»ÅÍ ±×·¡ÇÈ Ãʱ⿡¼­ °¡Àå Çõ¸íÀûÀÎ ¾Ë°í¸®ÁòÀ¸·Î ²ÅÈù´Ù. ¶Ç ÀÌ·± °£°áÇÔ ´ö¿¡ ¿äÁò ±×·¡ÇÈÄ«µå¿¡¼­µµ ¾²ÀÌ°í ÀÖ´Ù°í ÇÑ´Ù.



¸¶Áö¸·Àº ºü¸¥ ¿ª Á¦°ö±Ù ¾Ë°í¸®Áò(Fast Inverse Square Root)ÀÌ´Ù. 1999³â Ãâ½ÃµÈ FPS °ÔÀÓÀÎ ÄùÀÌÅ©¥² ¾Æ·¹³ª(Quake¥² Arena)¿¡¼­ äÅÃÇÑ ¾Ë°í¸®ÁòÀÌ´Ù. 3D ±×·¡ÇÈ¿¡¼­ ºû ¹Ý»ç¸¦ ºü¸£°Ô °è»êÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. Á¤¹Ðµµº¸´Ù´Â ¼Óµµ°¡ ¿ä±¸µÇ´Â Àå¸é¿¡¼­ ÁÖ·Î È°¿ëµÈ´Ù. °ü·Ã ³»¿ë ¿ø¹®Àº ÀÌ°÷¿¡¼­ º¼ ¼ö ÀÖ´Ù.

À̼®¿ø ±âÀÚ  lswcap@techholic.co.kr

<ÀúÀÛ±ÇÀÚ © Å×ũȦ¸¯, ¹«´Ü ÀüÀç ¹× Àç¹èÆ÷ ±ÝÁö>

À̼®¿ø ±âÀÚÀÇ ´Ù¸¥±â»ç º¸±â
Àαâ±â»ç
Ãßõ±â»ç
±â»ç ´ñ±Û 0°³
Àüüº¸±â
ù¹ø° ´ñ±ÛÀ» ³²°ÜÁÖ¼¼¿ä.
¿©¹é
¿©¹é
Àç¹ÌÀÖ´Â Å×Å©¿ùµå ¼¼»ó
¿©¹é
¿©¹é
¿©¹é
¿©¹é
¿©¹é
¿©¹é
¿©¹é
Back to Top