¿ù°£ Àα⠰Խù°

°Ô½Ã¹° 58°Ç
   
STRING MATCH ¾Ë°í¸®Áò (KMP / BM)
±Û¾´ÀÌ : ÃÖ°í°ü¸®ÀÚ ³¯Â¥ : 2010-07-24 (Åä) 20:50 Á¶È¸ : 10690
±ÛÁÖ¼Ò :
                          

http://www-igm.univ-mlv.fr/~lecroq/string/node8.html#SECTION0080
http://www-igm.univ-mlv.fr/~lecroq/string/node14.html#SECTION00140


KMP ¾Ë°í¸®ÁòÀº O(m+ n)<mÀº pattern ÀÇ ±æÀÌ, n Àº textÀÇ ±æÀÌ> ÀÇ Optimal Time À» °¡Áø´Ù.

BM(Boyer-Moore) ¾Ë°í¸®ÁòÀº, KMP ¾Ë°í¸®ÁòÀÌ left-to-right ºñ±³ ¾Ë°í¸®ÁòÀε¥ ºñÇÏ¿© right-to-left ºñ±³ ¾Ë°í¸®ÁòÀÌ´Ù. ÀÏ´Ü Patern°ú TextÀÇ ÀϺκÐÀ» right-to-left ·Î ºñ±³ÇØ ³ª°£ ÈÄ mismatch°¡ ÀϾ¸é mistmatchµÈ TextÀÇ ¹®ÀÚ¸¦ °¡Á®¿Í¼­ LOF(Last-Occurrence Function) ·Î ºÎÅÍ ¿À¸¥ÂÊÀ¸·Î Á¡ÇÁÇÒ IndexÀÇ °ªÀ» ¾ò´Â´Ù.
BM Àº ¹«ÇÑ·çÇÁ¿¡ ºüÁú °¡´É¼ºÀÌ Á¸ÀçÇϴµ¥, bad character(mismatch µÈ TextÀÇ ¹®ÀÚ) ÀÇ LOF °ªÀÌ ÇöÀçÀÇ Index º¸´Ù Ŭ °æ¿ì ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. »ý°¢ÇØ º¸¸é ÀÌÀ¯¸¦ ½±°Ô ¾Ë ¼ö Àִµ¥ ºñ±³ Index°¡ ¾Õ µÚ·Î À̵¿À» ¹Ýº¹ÇÏ°Ô µÈ´Ù.

BM ¾Ë°í¸®ÁòÀº O(mn + s)<s´Â LOF ¸¦ ¸¸µå´Â ½Ã°£> ½Ã°£¿¡ ¼öÇàµÇ´Â ¾Ë°í¸®ÁòÀÌ°í DNA ¿Í °°ÀÌ ÇÑÁ¤µÈ ¹®ÀÚ·Î ¹Ýº¹µÇ´Â Text ¿¡¼­ ÃÖ¾ÇÀÇ ¼º´ÉÀ» ¹ßÈÖÇÑ´Ù. ±×·¯³ª English Text ¿Í °°Àº ÀÚÀ¯¹®¹ýÀÇ ¹®ÀÚ¿­ÀÏ °æ¿ì »ó´çÈ÷ ºü¸¥ ¼öÇà½Ã°£À» º¸¿©ÁØ´Ù. ÀÌ °æ¿ì Brute-force ¾Ë°í¸®Áò°ú ºñ±³ÇÏ¸é ¸Å¿ì ¶Ù¾î³­ ¼öÇà½Ã°£À» º¸ÀδÙ.

À̸§ Æнº¿öµå
ºñ¹Ð±Û (üũÇÏ¸é ±Û¾´À̸¸ ³»¿ëÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.)
¿ÞÂÊÀÇ ±ÛÀÚ¸¦ ÀÔ·ÂÇϼ¼¿ä.
   

 



 
»çÀÌÆ®¸í : ¸ðÁö¸®³× | ´ëÇ¥ : ÀÌ°æÇö | °³ÀÎÄ¿¹Â´ÏƼ : ·©Å°´åÄÄ ¿î¿µÃ¼Á¦(OS) | °æ±âµµ ¼º³²½Ã ºÐ´ç±¸ | ÀüÀÚ¿ìÆí : mojily°ñ¹ðÀÌchonnom.com Copyright ¨Ï www.chonnom.com www.kyunghyun.net www.mojily.net. All rights reserved.