ÄÄÇ»ÅÍ Áøȸ¦ À̲ö À§´ëÇÑ ¾Ë°í¸®Áò(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
<ÀúÀÛ±ÇÀÚ © Å×ũȦ¸¯, ¹«´Ü ÀüÀç ¹× Àç¹èÆ÷ ±ÝÁö>