26
CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah 1 , Frédéric Chyzak 2 , Philippe Dumas 2 Center for Education and Research in Information Assurance and Security & 1 Department of Computer Sciences, Purdue University West Lafayette, IN 47907 2 INRIA

A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

CERIAS Tech Report 2001-05

A Randomized Algorithm for Approximate String Matching

Mikhail Atallah1, Frédéric Chyzak2, Philippe Dumas2

Center for Education and Research in Information Assurance and Security

& 1Department of Computer Sciences, Purdue University

West Lafayette, IN 47907 2INRIA

Page 2: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

� ��������� ������������������������ � ���!��"#"#����$%��&�'���)(*�������#�+ �'�-,��#���#�

.0/21�3546/87�9-:5;=<>46787?4@35ABDC�E%F ;�GH46I5J

KMLON54@PQ<QRHLOIS<�T@U B TVRWNYX-<QLOP%G�Z[/8LOI5Z[L@\]^XYP>JSX-L`_MI-/8a�LOP>\�/2<�b

cdL@\e<%f�4OUg4hb�Li<Q<QLkj F�l)mSn@oqprn_s:tG5:u;s:

v5w-xky{zY|~}����-���V���^}e�k�r��-PY�L@J*�LOP�/?Z B 3Sb��@461Y�

F�l#E%F ;E T�ZO��X-LOI5Z TVX-P�<Oj5�#:�]':�� pV�n@� � �q� f�L B 3-Lh\eI54Ob B L@J�LO�

�{P�46I5Z L� �-���-���5��z�}��V�S�Y�Sxq�-y-�@�-�-��x�}��-�

]~3-/872/2NYN�L�KMXYR�4V\F�l#E%F ;

E T�ZO��X-LOI{Z[TVX-P�<Oj5�#:u]�:�� pV�nh� � �q� f�L B 3YL@\eI54Ob B LhJSLO�

�-P>46I{Z[L  �¡�r¢Y�6���5��}�£��rv¡x�|qy-�6�Y�-�rx^}¤�Y�

¥=¦5§e¨�©>ªV«>¨¬5­�®2¯ °?­¡±�²�±?³�´�µ?¶�¯ ·2­2´�±2¸ ®?µ?²¹¯ º�»g¶¼¯ ³~´�­2ºu­2²�¶�¯ ³¤¯ ½�º¹¯ ¾5º¹¯ ¶S­�¿OÀÂÁø µ?®@Ä~ÅVÆǵ?²S­8½�º¹¯ ¶S±?ºÇ¯ ³g®�º�»�­5½�¾2µ?²u­°?­2¾8º�µ?²�µ2Æq¶S±?º�¾È»�­8½VÉ�­2ºÇÊ ­2­2³¡±5º�­2Ë̺�½�º�²¹¯ ³�®�µ2Æ@¸ ­2³g®?º�»~Ás±?³g´�±�Í�±?º�ºu­2²�³�½�ºu²¹¯ ³�®�µ2Æ@¸ ­2³�®?ºu»~Ä~Î>¯ÐÏ ­?Ï Îº�»�­5°?­2¾8º�µ?²�µ?É�º�±2¯ ³�­8´~ÊO»�­8³�º�»�­5Í�±?º�ºu­2²�³�¯ ½-½¹¸ ¯ ´�±2¸ µ?³�®�ºu»�­5º�­2Ë̺ÈÎ6±?³g´�º�»g­�³ÌÑ�¶�É�­2²qµ2Æ�¶�±?º�¾È»�­2½V¯ ½¾2µ?Ñ�³Ìº�­8´6Æǵ?²Q­8±?¾È»�Íeµ?½Ç¯ ºÇ¯ µ?³�ÏhÒ�´Ì¯ ²u­2¾2º>±?Ígͤ¸ ¯ ¾8±?º¹¯ µ?³S¯ ½>±?Í�Í�²�µ8ËÓ¯ ¶�±?º�­O½�ºu²¹¯ ³�®V¶�±?º�¾È»¤¯ ³�®ÌÏ>ÔO»�­ ²�±?³�´�µ?¶�¯ ·2­2´±2¸ ®?µ?²¹¯ º�»�¶%É�±?½�­2½iµ?³-¾2µ?³Ì°?µ2¸ Ñ�º¹¯ µ?³5º�µVÕ�³�´S±?³Y­2½�º¹¯ ¶�±?º�µ?²Oµ2Æ�º�»�­@½�¾2µ?²u­2½ÈÖ�º�»�­@°2±?²¹¯ ±?³�¾8­Vµ2Æ º�»g­6­8½�º¹¯ ¶�±?º�µ?²¯ ½SÍ�±?²uº¹¯ ¾2Ѥ¸ ±?²¹¸ ×~½�¶�±2¸ ¸OÆǵ?²�½�¾8µ?²�­2½�º�»�±?º�±?²�­5¾È¸ µ?½u­�ºuµ�Ä�Îi¯ Ï ­?Ï Î[Æǵ?²�±?Í�Íg²�µ2Ë?¯ ¶S±?º�­5µÌ¾2¾8Ñ�²�²�­8³�¾2­8½6µ2Æqº�»g­Í�±?º�º�­8²�³�¯ ³Yº�»�­Oº�­8ˤºÂÏ[ØOµ�±?½�½�Ñg¶SÍ�ºÇ¯ µ?³�¯ ½@¶S±?´�­i±?Éeµ?Ñgº[º�»g­6Íg²�µ?É�±?ɤ¯ ¸ ¯ ½�º¹¯ ¾S¾È»�±?²u±?¾2º�­8²¹¯ ½�º¹¯ ¾2½Oµ2Æ�º�»�­O¯ ³�Í�Ñ�ºÂε?²@±?Éeµ?ÑgºVº�»�­�½Ç¯ ·8­�µ2ÆOºu»�­�±2¸ Í�»�±?É�­2ºÈÏ�ÔO»�­q½�µ2¸ Ñ�º¹¯ µ?³'­2Ë̺�­2³�´g½Oº�µ-½�ºu²¹¯ ³�®-¶�±?º�¾È»¤¯ ³�®SÊ ¯ ºu»�¾t¸ ±?½�½u­2½ÈÎ>¾t¸ ±?½�½¾2µ?¶�ͤ¸ ­2¶�­2³Ìº�½ÈÎeÙȳg­2°?­2²i¶S±?º�¾È»�Ú�±?³g´�Ùȱ2¸ Ê[±8פ½�¶�±?º�¾È»�Ú�½�×̶�É�µ2¸ ½ÂÎeº�µ�º�»�­qÊ[­È¯ ®?»Ìº�­8´�¾8±?½�­V±?³g´�ºuµS»¤¯ ®?»�­8²´¤¯ ¶S­8³�½¹¯ µ?³�½ÈÏÛ-ÜÌÝeÞqß�à2á�â¤ã ¾2µ?³Ì°?µ2¸ Ñ�º¹¯ µ?³�Î>ä>ä>Ô@Î�±?Í�Í�²�µ8ËÓ¯ ¶�±?º�­V½uº�²¹¯ ³�®�¶S±?º�¾È»¤¯ ³�®ÌÎ�²�±?³�´�µ?¶�¯ ·2­8´S±2¸ ®?µ?²¹¯ º�»�¶�½ÈÏ

å æ=ç�èDé-ê�ëíì*î%ïñðóò�ò#é-è�ô%õQö÷ì^øYêùæ*øYé-õQî%úüû ì~øYçþýõ�îú

ÿ���������� �� ��� �������� ��������������! ���"#���%$'&�(�)+*-,/.�,1032�2425,/687�09�:&�;<�>=��?�������@&"#���#$&�(<AB*DC�.�C�0�242�2EC�FG7�0�H�IJ�K��;�;L�@�4"�"M��N��>=�����OLP��QR�?S8T!��Q9=�U��%$'&�(V��N���W�XZY�[#\]_^a`cbedaf�g�h5`4i!j�k!j_f@h5l_mgcnonep8f�q/r�s4i�tunel1v�kZl#dad5g�w4w?i!j5h�mj5i!x<h5`4l�yaz�{}|�~3��yul1s�h5l#j}f�h}��g4j5v�g4l3f�s�v

beh5d�d5w?i!s4d5i!j5d#�� ^a`�l}d5l1q#i!s4v�f@s4vJh5`�bej5v�f@g4h5`4i!j5d#��t}iZj5r3taf@d�d5g4w4w?i!j5h5l#v�besJw?f�j5h���p3h5`4la��i!s4k3^�l#j5x�{}l#d5l%f@j5q_`

��j5i��5l#q#ha~�neq1i!x��E|�^<�E�J�Z�!�@�Z���ai@m�h5`4l�z�g4j5i!w?l%f@s���s�bei!s��

Page 3: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

� \!X��5Y�[�Y�������5X� \cW �@\����3\!\�� )������ A����JNL$E"�$E"�;L����&��4; � "a��N������4T!������� I�N�� "%� �5�@NT!��Q9=�� &���& ��!�"�$E" ��N��9&LU�Q O���� �?S�Q �?�ZT@N��4" O����#IJ����& �@N��9���! �� �?&�;��@N��9=��?�������@&I�N���& ��N��#���!"#�JP�����������:S ��N��M=��:��������&>$E" =�� "/$�#$��&��4;G$&�S5����&L�J�?S3��N��$�5��N>P�����@�����?S��N���"#���#$&�(&%1"#������$(�U���� �(' �)��L"/$�#$��& ����! �� 242�2 O T � � O T � � O O O � T 2�242)3�:��������& � O � O O �*��?�!T�N��4" + +

��$'( U���� ��, �JN���=��?�@������&>$E"M"/P $E;�� P'� &�(9��N����@�! �8�:&�;>S5�����4��T@N =�� "/$�#$��& IJ� T!��U�& ���N�� & U�Q O���� �?S�Q �:�ZT�N��4" O����#IJ����&���N�� =��?�������@&��?&�;G��N��9T!�������4"#=���&�; $&�( "/P $ET!�9�?S��N��M���! ���-���NL$E"J(?$.���4" ��N���"�T!� ���$�/%_N����@�$�0"a*21 ' �

3 ���!PE�?���4; =��@��OLP��Q $E"4��5�5�[#Y76789�����5\ W:�5[�89�<;=�����5X�<89�<;�HMI�NL$ET@N T!� &�"/$E"#�Z">$&��&�; $'&�(V� T�T!U����@��&�T!�4"��:S "%Q ��P P �?�?�#$E�?�#$��&�" �?SJ��N�� =��:��������& "%���#$&�(�A $& ��N�� ���! �"#���#$&�( )$���JN���"%���#$&�( " S ��U�&�; ; $?>u���>S5����Q ��N�� =��?�@������& O<@ ��S5��I $&�"#���@�#$��&�"�H;L�!P'���%$'� &�"�H3��� "#U�O�"#�#$��U��#$��&�" �?SJP���������!"��BA���Q =�U��#$&�( ��N���"�T!�����C���4T!������"#�:PD� �4" ������Z"/$��&>�?Sa��N�� =�����OLP��Q �?S��?=�=����� L$Q �?���8"%���#$&�( Q �?�ZT@NL$&�( I N������8� &LPD@>"#U�O�"#�#$��UFE�#$��&�"J�?����=�����Q $�����4; , �:& �! ���T!��Q>�?�ZT@NKT!���@���4"#=�� &�;�"��@� ��"@T!�����G!�*IHJ-��MQ>�?�ZT@NIJ$��NLK ���������Z" �@� ��"�T!�����M! *JH NOK��P_& ��NL$E"MIJ���RQ�IJ� � P "%� T!��&�"/$E;L���S5T�����5\�[U�����5X�V8W�V;&�X89�W�X�Y?�?W!W \cW H�I�N������9�9=�� "/$�#$��&�$&<�@N���=��?���@����& $ "M� P P�?IJ�4; ��� Q>�?�ZT@N�?&V@ P��������� S �@��Q �C��&L$���KT@PE��"@"�H�O�U�� ;L��&���� ��;�;L���4"�" ��N�� T���"#� �?S8"#�4�:�ZT�NL$&�(GS ���[1\�;�Z<Y?��[�\[6R5�[#\cWZW�8EY��W�H I NL$ T@N�IJ��ULPE; T!�����@�4"#=���&�;G���9Q �:�ZT�NL$&�(��?&<@�=��?��������&>S5����Q�S��&L$��� T@PE��"�"cH����8�?&<@>����=����#$�#$��& �?S�� (?$.����& =��:��������&\�

3 =�=����� $Q �?�@��"#���%$'&�( Q �?�!T�NL$&�( N���"9Q>�?&V@ �?=�=LP $ET��?�#$��&�"�H $&�T@PU�; $&�( $&L����UFE"/$��& ;L�����4T!�%$'� & $& �<T!� Q9=�U������ "�@�"#����Q^] ����_ H $'Q>�?(����:&���P.@ "/$E"�HJ�?&�; ;��?�Z�<T!��QCE=����4"�"/$��&`]a1 _ �bP_&>��N��#���Z"#�J�?=�=LP $ T��:�#$��&aH�� P'=�N��:O����8"�@LQ O��?PE"�T!� �����4"#=���&�;9�@� ��� ��& �Z"$'& ��"�@�"#����Q H��?&�;<"/$&�T!��"#��Q9� ������&L�Z" �?��� Q9����� $Q9=������Z�?&L���@N��?&�����N����Z"c%5S �@��Q��"#�4T!U��#$��@�=��?$& �M�:S � $'��I ' Ha��N��9"�T!� ���4" ����d UL$'�@�9����O��&�3\�8?;7V�5\���OV@ ��N�� ���!PE�?�#$.���$'Q =������!�?&�T!� �?S � P'=�N��:O�����"�@LQ O��?PE"����JNL$E" P�4��;�" ��� T!��&�"1$ ;L����� I��!$(�NL���4;e�����Z"/$��&�?S �@N��M=�����OLP��Q I NL$ T@N�T!� Q9=�U����4"G�3\f8g;(V�5\U�>W�X!Y�[#\�W

!�"�*F�7�0hiRj .�k

%EC i 'ml�nWoapfq�r sRqut v�w � wyx NLH t

I�N������ x z H H l�{7r | ;L��&������4" ��N��~} ����&��4T�Q���� "�@ Q O��:P HJ�?&�; k $E" �<T!� Q9=LP�! TE� ��PU��4; S5U�&�T!�#$��& ;L����&��4; �7�����>��N��<��P=�N��?O��������JN���O���"1$ T &���&FE5IJ�!$(�NL���4; T���"#�T!�������4"#=���&�;�" ���9�9T!��&�"#�Z�:& ��S5U�&�T!�#$��& k %EC ' * � �

1

Page 4: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

�D� ��}���������?��N����3��N��:&�S5��T!U�"/$&�(���&9T!��Q9=�U��%$'&�( ��N��J�! �� T!��"�T!�����4"�H?IJ��;L�����!P��=$'& ��NL$E"M=��:=���� �V[�������Y��8���\U�<��P(�� �#$��N�Q �?S�* ��& �@��E�A��?�#P����@ =��9����T!��Q9=�U���� �:&U�& OL$E��"#�4; �4"%�#$Q �?���>�?S8��N���"�T!���@� ���4T!�@�����~�JN�� � P'( ���#$��N�Q�T!��Q9=�U����4" ��N���"�T!���@����4T!�����>OV@ � T!��&<���?PU��#$��&aH I�NL$ET�N Q �7Q �4" $��=��L"�"/$OLP�<��� U�"#� ��N�� S_��"#� ����U��#$������Z�?&�"/S5����Q&� 3 P'�@N���U�(�N<�Z�:&�;L��Q $��4;}H�$�Z"MO���N��f��$��U�� &��!$��N����9;L��=���&�;�" � & �?&<@ �=��#$���#$�=��@��O��?OL$ P $ "%�#$ETM��"�"#U�Q9=��%$'� & � &9��N��J$&�=�U��4HL&����3��& ��N���"/$��8�?S}��N��8��P=�N��?O������P_� =���� T!���4;�" O<@ T!��Q9=�U��%$'&�( �:&�; �f�����Z�?(:$'&�(��>$&�;L��=���&�;L��&L� ��d�U���P P.@�; $E"#�@�#$O�U����4;�4"#�#$Q �?���4" S � ����N�� "�T!�����0���4T!��� ���X�JN��J�! =��4T!���4;M�?��PU��8�:S���N��8�f�����!�?(��4;M�4"%�#$Q �?�����$ " ��d U���P��@����N��9�! ���T!�$�?��PU���� P_& ����N���� I�� �Z;�"�H}��N��9�! �=��4T!�@�4; � ��PU��>�?S���N�� �5�@NT!��Q9=�� &���& �� !�"��?S ��U����4"#�#$Q �?�@� �R�?S ��N��<"�T!�����`� �4T!�����>��d�U���PE"B!�" �/P/� ��U���&�"��U��8�@N��?�8�@N�� "%�Z�?&�;��?�Z; ;L����$E�?�%$'� &�$E" O���U�&�;L�4;�O<@B%mH N !�" '���� �}Ha�:&�; �@N��?����N����P(����#$��N�QBT��?&�O�� ��U�&��4; ���K�:���Z��$& �?&<�?��OL$���!�?�R@ P'��� �!P��?S � T�T!U��Z��T�@�� * ���@���u� ���4H��N��MS5��IJ���8��N�� &LU�Q O����GH NL! " �?S�Q $E"#Q>�?�ZT@N��4"�H��@N���O����@�����8�@N�� �:=�=����� $Q �?�%$'� &��N��?�J��N�����P(����%$'�@N�Q �@����U���&�" , ������&>$ S3��N��M�4"#�#$Q �?�@�4;�"�T!�����MT��?&�; $g>a���8"%��Q9��I�N��?�S ��� Q ��N��9�! ���T!�S� ��PU��>I�N���& �@N��9=��?�������@& �?&�;���N��>���! ��MN��f��� P $���#P��Q �?�ZT@NaH��:&��PQ9� "#� T!��Q =LP'���@��Q>�?�ZT@N IJ$ P P O����@�4T!��(�&L$��4; O<@ ��N��<��P(����%$'�@N�Q~�J�JN�� PE�?���������N U�" P� T��:���4" $& �����@�4"#�#$&�( =�� "1$'�%$'� &�"�IJ$��N (��L� ; ��T�T!U��Z��T�@�H �?&�; ��N��<��P(����#$��N�QT��?&K�:��P�4��"%���@N����������#$ET���P P.@�O��MU�"#�4;>��"J� ��P����� , ��S5�����J�MS5��I =�� "1$'�%$'� &�"�N��f����O�����&���4T!��(�&L$��4; � " (��L� ; T��?&�; $E;��?�@�4" S5���9�?=�=����� L$'Q>�?����Q �?�!T�N��4"�H ��N����! �� T!� "�T!�����4"T��?&<O���T!��Q9=�U��@�4;�S5���M��N�� "%� S ��I =�� "1$'�%$'� &�"�� &LPD@�����U�� Q9����N���;<(���&����!��P $���4" �����N��MIJ�!$'( N ���4; T���"#����" I��!P P ����a���� ����� ��}� 3 "���P���4��;<@�Q ��& �#$��&��4;}H�I��M� O��Z��$& �?& ��"�@LQ9=���� �#$ET���P PD@>S_��"#����P.E(����#$��N�Q OV@�U�"1$'&�(>S_��"#�M��� U��#$���M���Z�?&�"/S5����Q+����T!��Q9=�U��@� T!� &V���:P'U��%$'� &�"$]�� _ � 3 "8����4"#ULP��� U�� ��P(�� �#$��N�Q �@U�&�"}$& ;L���@����Q $&L$E"#�#$ETJ�#$Q9�! �%"� x�# %mH '�� H ' HZI N������ # %mH '$ " ��N����%$'Q �9&����4;L�4;����>=����#S5����QB�@N�� T!� &V���:P'U��%$'� &��:S��1IJ� ���4T!�����!"��?S3P��&�(��@NLHJ�$���&�T!�!S5������NaH I����@��=LP � T!� # %�H ' OV@LH P��(0H I�NL$ET�N T!�������4"%=���&�;�" ������N�� T!��QCE=�U��Z�?�#$��&���PJQ9��;L�!P I N������K�:& �?�#$��N�Q9���%$ T ��=����Z�?�#$��& �Z�7Q��4" T!��&�"#�Z�:& � �#$Q9���&%<���N U�" ( ��� �?&<��P(�� �#$��N�Q $& ;L���@����Q $&L$E"#�#$ET �#$Q9�' �%(� x P��(�H ' �*)����@����N�� ���Z� ;L��E�7> O����#I�����&��#$Q9�>T!��Q9=LP�! $��@<�?&�;���T�T!U��Z��T�@ , OV@�T�N��L� "/$&�(GP �:��(����G� � P'U��4" �?S+�}HQ9��������T�T!U��Z�?�@� �4"#�%$'Q>�?���4"9�?�@� ��O��!��$&��4; �,$ � IJ��������H�=��@�!P $Q $&��?��@ �! �=����#$Q9��&L�Z""#U�(�(��4"#� ��N��:� "#Q � P P#� ��PU��4" S5���'� �:���K"%U�-KT@$��& � $& =��Z� T!�#$ET!�����<��T�NL$����� � ���4�(E"#��&��?OLP�M��T�T!U��Z��T�@�� � N���S5�?P P� I $'&�( ��N���� ����Q "#U�Q9Q �?�%$���4"���U���Q ��$&>���4"#ULP��$'&>��N��&���&FE5IJ�!$'( N ���4; T���"#���. �}� �}�4��0/��21G��\cW:��8W�����5\X��Y�[#�W \ W X!Y�[#\�� �@\����3\!\�� �M�5\[6u� W:�5[�89�<; Y��$Y \��<;��W x�����=�&5F�����5\4[�� W��5[U8W�V; Y��BY \f�V;�W H XU�����@\�XZY�� 5 Z<�5\��y�43 ��5�Y�� �5\4687���[UY Y ��Y96;�Y�[�89�W<� 89� ��89� \� �%"� x P��( H '�: �� \�[1\���8 W �W \B��Z<�M��\�[ Y�� 8W�5\4[�����8�Y���W 8W�=�W \��Y ;�Y�[�89�W<�<;>=\ \>[������ Y���8��\U��[#\�W�Z<Yg� V�?W � \����`� �����\U� X�<\�� �5[83eV�?W � � � [U8�6����X!\M��Y�Z<��� \U� �43�%�H N`!�" '"?@� ��;

A

Page 5: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

����������� �������?��� ������ �� �� �� 3 T!��&L�#$& U�� U�"3�?&�; $'&L����&�"/$.���J���4"%�4�?�ZT@N ��>a���@��"/$&�T!���N�� � ��� v�� "}N���"uP'�4; ���M� (����4�?�3;L�4��P��?S��?=�=����� L$'Q>�?����"%���#$&�(8Q>�?�ZT@NL$'&�(�� P'( ���#$��N�Q "���JN��4"#�8��P(�� �#$��N�Q "���@ =L$ET���P P.@ N��f����� �#$Q9��T!��Q9=LP�! $��@ P $'&��4�:�3$&9��N���"/$�� x �?S���N�����! ��H�O�U��3IJ$��N��M;L��=���&�;L��&�T�@ $& ��N���"/$��GH �?S���N�� =��?��������& O����1IJ����& P $&��4�?���?&�;P'� ( �?�#$��N�Q $ET���P �*%V��=�����T!���4;���� P $E"#� �?&�; "�Q ���ZT�N ��N�� Q ��$&��! $E"#�%$'&�( � P'( ���#$��N�Q "��3 P Pa��N��MT!��Q9=LP�! $��@9���?��PU��?�#$��&�"JO��!P'�?I �@�!S ������� �?�%$'�@N�Q9���#$ET8T!� Q9=LP�! $��@K�:&�; �?�@�O���"#�4;>��& �9T!� Q9=�U��Z�?�#$��&�� PuQ � ;L�!Pa$& I�NL$ET�N ��N���T!��&<���?PU��#$��& �:S��#I������4T!�@���Z"��?SP'��&�( ��N~H $E"J=����#S5����Q9�4; $&��#$Q9�2 c%mH P'� ( H ' �X�JN�� P $ "%� "#=LP $�Z"�$&L���9��N��@���M�m@L=��4"�?S ��P(����#$��N�Q>" , ��P(����#$��N�Q>"9O���"%�4; ��& S ��"%�9Q ULP'�%$'=LP $ET��?�#$��& S5���9PE�?�@(���$&L����(����Z"�H=��Z��T!�#$ET���P � P'( ���#$��N�Q " O�� "#�4; ��& N��?�Z;LI��?����H��:&�; ��Q9�����>���4T!��&L�9(���&����Z�:�#$��& �?S�Z�?&�;L��Q $��4; ��P(����#$��N�Q "[�

�JN��b���Z"#�3��P(����#$��N�Q-��N��:��T!��Q9�4"���� Q $&�;MS5���3T!��Q9=�U��#$&�(M�! ���T!�3"�T!���������4T!�����Z"$ " ��N���&���$.���B%#;L��������Q $&L$E"#�#$ET ' ��P(����#$��N�Q�I $'�@N ���#$Q9� T!��Q9=LP�! L$�m@ �:S �%R% x NH �7' H ' �����������!��P���P(����#$��N�Q " �4"�T��?=�� ��NL$E"�d U���;L�Z�?�#$ETMT!��Q =LP'�! L$��@�OV@>��N��MU�"#��?S ��-�T@$'��&L� Q ULP�#$=LP $ET��?�#$��& � P'( ���#$��N�Q "�S5����PE�?��(�� $&L����(����Z" ,

��$E"�T@N����8�?&�; )3�?�����Z"%��& U�"%� T!��&<���?PU��#$��&��@� "%�?P.���M��N��M"#=��4T@$E��P T�� "#�M�?S\��&�;<E$&�( ��P PM�! ���T!�>��T�T!U�������&�T!�4"&%5$ �o���H "�T!�����4" ��N��?� ��d�U���PM�! ���T!�#P.@2H ' $& ��N��=����4"%��&�T!���?S��c��PI �f@�"aQ>�?�ZT@N��8"�@LQ O��?PE" ]�� _ �X�JNL$E"���P(����%$'�@N�Q-N���"��#$Q9�8T!��QCE=LP�! L$'��@ c% x P��(0H P'� (�� ' �?&�;>����d UL$���4" ��N�����P=�N��?O���� ���9O��G�� ��4;}H<��&L$����H�?&�;eQ &��?I�&�O��!S ���@��N��?&�; � 3 P��N���U�( N��@N�� "1$��� �?S��@N�� � P'=�N��:O����MU�"#�4;GS5��� ����! ����?S�P��&�(���N x T��?& O�� ��" PE�?��(�� ��" x H�"#=LP $���#$&�(���N�� ���! ��J$& T@NLU�&FQ " �?SP��&�(���N �%mH ' ���9O���;L�4��P�8IJ$��NG$&�;L��=���&�;L��&L�#P.@���&�"%U����4"J���9IJ����Q9IJ$��N��:&��P=�N��?O���� "/$���� * c%mH ' H3I�NL$ET�N �! �����&�;�" �@N���=�������$��U�" ��P(����#$��N�Q " �����N���T�� "#�MI�N���&�� P'=�N��:O����Z" �?���M&���� Q &��?I�&�O��!S ���@��N��?&�; �

3 O��Z�?N��?Q>"#��&��:&�;~} � "��:�Z���#U�$&�;L��=���&�;L��&L�#P.@<�! �����&�;L�4;���N�� ��P(����#$��N�QBO<@��$E"�T@N������?&�;C)3�?�����Z"#� &�$&L������;L���@����Q $&L$E"#�#$ET8� P'( ���#$��N�Q-S5����T!��Q =�U��#$&�(���N�����4T!�@��� � $&��%$'Q � T!��Q9=LP�! L$�m@ �?S �� x � HBP��(0H�� ] � H ��v(_ H���P P�?IJ$&�(>S ���(���&����!��P $���4;�� P'=�N��:O����Z"�IJ$��N�T@PE��"�"#�4"J�?&�; &�� � QL&�� I &9O��!S5������N��?&�;e%1T@SR�����4T�E�#$��&�� ' �=�JN��!$� T@P�������K�:=�=���� ��T@N Q �7Q��4"��#U�; $ET@$'� U�">U�"#���?SM�1IJ��; $g>a������&L�Q9���@N�� ;�" , T!��&V� �?PU��#$��& �@� T!��Q9=�U����9�@N�� T!��&L���#$O�U��#$��&<�?S8��P=�N��?O����9"�@ QCEO��?PE" ��N��?� � T�T!U�� S5����d U���& �#P.@ -a�>Q9����� ; $���4T!��%1�?&�;Bd UL$'�@� "%���Z��$(�NL�#S5����I��?�Z; 'Q9���@N�� ; ��� T!��Q =�U���� ��N�� T!��&L���#$O�U��#$��&<�:S ��P=�N��?O���� "�@LQ O��?PE"M�@N��?�8��T�T!U��$&LS5����d�U���&L�#P.@�� ) ����� ��N��?� 3 O��Z�?N��?Q>"#��& ��PE"#�9(:$D� �4"8�S� �:�#$E�?& �M��P(����%$'�@N�Q �?S�#$Q9��T!��Q =LP'�! L$��@< c% x P'� ( H ' ���4"#���#$ET!���4; ���#�� �4; ��&L$���M��P=�N��?O����!"XQL&�� I &O��!S ���@��N��?&�; �?&�;�� P P�?IJ$&�(�T@P � "�"#�4"S] ��_ �

�JS��>; $g>a������&L� &��?��U�����H}"#�������Z� P ��"�@LQ9=������%$ T�� P P.@�"/P� I-��P(����%$'�@N�Q "�Q>�7Q���T!��UFET@$ � P�U�"#�J�?S���N��JN��?�Z;LI��?��� $& � �Z;L���3��� P'�4"@"#��&9��N��!$�3=��Z��T!�%$ T�� P�T!��Q =LP'�! L$��@ , $& "#=L$����?S � O���; ��N����������%$ T�� P�T!��Q9=LP�! $��@ $& c%mH x`' ��N���@ O��4�?�M��N�� ���@N�������P(����#$��N�Q "

Page 6: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

$'&>=��Z��T!�%$ T!� S5����"#Q>��P P�"1$���4"[� �JNL$E" $ "���N�� T���"#� �?Sa��N��8&��! ����#IJ����P(����%$'�@N�Q "�I�NL$ET�NQ9����� (���&����Z� P P.@<;L�4��P�IJ$��N �?=�=����� $Q �:���9"#���#$&�(�Q �?�!T�NL$&�(�I�N���&�$&�"#���@�#$��& �?&�;;L�!P'���%$'� & �:������PE"#� ��P P�?IJ�4; ,

��N�� ��P(����#$��N�Q �?S��J�?�44�7E����:���4"8�:&�;�� ��&�&����M"#�?P.���4" ��N���=���� OLP'��Q $&��#$Q9� c% x H P��( H � P��( x`' ] � _ HJI�NL$ET�N $E" O����������>��N��?& �% x P��( H ' S ���C�����R@"#Q>��P P H Hu$ � ���H�H *��%5P��( x4' �����4"/$E;L�4"�H�S5���M������& "%Q ��P P���$� � P'U��4" �?S�H H"��f@�H * �% �7' H?��NL$E"�� P'( ���#$��N�Q N�� "��G� ���R@ P'�?I =��Z��T!�#$ET���P�T!��Q9=LP�! L$�m@�H P $&FE�4�?��$& x IJ$��N9�JP�?I T!��&�"#�!�?& �uS ��T!�@���4H�O��4T��?U�"#� ��P P =��?�!�?Q9�������Z"��?S���N�����P(��E�#$��N�Q+T��?&9��N���& O���=���T�Q��4; � &9��N���"��?Q9� Q ��T@NL$'&�� I�� �Z; �?&�; O�� =�����T!�4"�"#�4;U�"/$&�( �����R@ S ��I N��?�Z;LI��?��� ��=����!�?�#$��&�"�-

��N�� ��P(����#$��N�Q �?S���:�44�7E����?���4"��?&�;�)����%P'��O�����( "#�?P.���4"G��N�� =��@��OLP��Q $&�#$Q9� �% x H� ����� ' I�N������� ������$E">��N�� Q �� L$'Q>��P ��T�T!U�������&�T!� S5����d U���&�T�@�?S�"�@ Q O��:P " $&���N���=��?�@������&L]�� _ � �JN�� $ ;L�4�>�:S���N�� ��P(�� �#$��N�Q $E"����>���!P.@ � &S_��"#��� =����Z�?�%$'� &�"J��&�P $&FQ��4;GP $E"#�Z"���������=��?���@����&�"��@ULP'�4;GOV@ �:& ��d UL$'=��@��O��?OLP�������&���ULP P $�Q � ;L�!P_Ha�@N�� �f�����!�?(����%$'Q � T!� Q9=LP�! $��@ $ " �% x H � � ' H�I NL$ T@N�$E"(��L��;>S5��� PE�?��(�� ��P=�N��?O����Z" I�N���&���N�� =��?�������@&�"/$�� H $ " �� ��4; �2$ �?I���� ���4H$& ��$��I �:S�� S � $'�JT!��Q9=��?�%$ "%��&9��� ����N�������P(����%$'�@N�Q "3I�N���& H $E"3PE�?�@(���H�&����@���N��:�aQ ��$&L�Z��$&L$&�(M��N���T!��Q9=LP�! $��@��:S ��NL$E"3��P(�� �#$��N�Q "%Q ��P P_H�"��f@ x�� �%mH ' H����d UL$���4"�������M��� ����&�;���� v H��?&�; �����9( ���?I U�&LO�� U�&�;L�4; I $'�@N~HJ�

�JN�� $&L�������4"#� $& ��N��G���4T!�@��� �D$E" U�"#U���P P.@ Q9� �#$.� �?���4; $&��?=�=LP $ T��:�#$��&�" OV@>��N��&����4; ���e��&�; ��P P�=�� "1$'�%$'� &�" $& ��N��>���! �� �:� I NL$ T@N �@N�� =��?�@������&I��Y?� Y:W:�MY�XZXfZ [@W H$ � ���HL��N��8�(>�"%���Z"X�3"#U�T@N ��N��:� ! " $E"�T@P� "%�M����H �3������Q ��NL$E"���$��I�=��?$& �4H�T!��Q9=�U��#$&�(�! ���T!�0�?��PU��4"JS5�����@N���"�T!�����4" $E"�&����J&����4;L�4; � 3 ���4T!��&L���@����&�; $E"J�@N���$&L������;LU�T!�#$��&�?S �!�?&�;L��Q $4�?�#$��&G$& ��N���T!��Q =�U��Z�?�#$��&��?S�"�T!���@�4"��

3 &9��P(����#$��N�Q-�?S�;L���@����Q $&L$E"#�#$ETJ�#$Q9� c% x P��(�H ' I���"�(?$.����& $&~] Af_ H?I�N�� "%��?&�� PD@�"/$E" ;L��=���&�;�" ��& "#��Q9�M�@�4"#���#$ET!�#$.��� ��"�"#U�Q9=��%$'� &�"J��&���N��M=���� O��?OL$ P $E"#�%$ TT@N��?�Z��T!�@���#$E"#�#$ET�" �?S8�@N��>$'&�=�U���HJ&��?Q9�!P.@ ��N���������&���ULP P $ Q � ;L�!P � 3 P��N���U�(�N��NL$E" Q9��;L�!P�$E" &����8�@�4��P $ "%�#$ET?H}��N�� T!��&L���#$O�U��#$��&��?S3��NL$E" =��?=�����$E" ��N�� $'&L�����E;LU�T!�#$��& �?S��Z�:&�;L��Q $4�?�#$��& $&9�@N���=�����OLP��Q �:Su�?=�=����� L$Q �?����"#���%$'&�(MQ>�?�ZT@NFE$&�(�HL����( ����N�����IJ$��N��MN�� "#NL$&�( �:Su�@N�� ��P=�N��?O�����I�NL$ET@NK��P P�?I8"������@�4;LU�T!�8���IJ���RQ $&�(9IJ$��N �S�� ��4; � P'=�N��:O����#Q &��?I�&�O��!S ���@��N��?&�; �

3 "9� =�=�� "#�4; ��� ��$E"#N���� �?&�; )3�?�����Z"#� &aH�}M�?�#P�7> "#�@U�; $'�4; ��N��<T���"%� I�N���&��N�����P=�N��?O����>$E">&����CQ &��?I�& O��!S5������N��?&�; �?&�; ( �f��� � T@P������� ;L��������Q $&FE$E"#�#$ET ��P(����#$��N�Q��:S �#$Q9� c% x P'� (��\H ' S � � �4"%�#$Q �?�#$&�( ��P P8��N�� "�T!���@�4" �?SQ $E"#Q>�?�ZT@N��4"G]�� _ � $���� P "%�9=����7��$E;L�4; ���!�?&�;L��Q $��4; �?�?�#$E�?&L���?S ;L���@����Q $&L$E"�E�#$ET �#$Q9�9T!��Q9=LP�! $��@ c% x P��( ? H ' ��}M�:�#P�7> � " �4"#�#$Q �?��� �J$E"�89� �5\�����8�Y�� ��Y9Y 3

Page 7: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

��������� , � �@�! ��) * ,_.�2�2425,� 0��� F�7�0 �?&�;9� =��:��������&9A * C�.3242�2C�F�7�0�I�N��������N��M, " � " �?&�;>��N���C " � "��?�@� P'���@�����Z"�S5����Q�� -� ��������� , �?& �4"#�%$'Q>�?��� S5���J��N���"�T!�����G� �4T!����� �C�� ��������� * ��t 1 t������Ft � ,

%1� ' �Z�:&�;L��Q P.@K�:&�;>U�&L$ S5����Q PD@�"#�!P�4T!� ��� ��� S5����Q � * ] vFt � '"! -%_O ' S5����QB��N�� ���! ��M)�H���O��Z��$& ��T!��Q =LP'�! "#��d U���&�T!�>) ��� �?S "/$�� % � # ' H OV@>����=LPE��T@$&�(��������R@�"�@LQ O��?Pa,�$'& ) O<@%$'& À)(8Å � n -

%1T ' S5����Q+��N��M=��?�@������& A H���O��!��$&��9T!��Q =LP'�! �"%��d�U���&�T!� A ��� OV@$ ������=LPE��T@$&�(>�������R@�"�@LQ O��?P�C>$&�A-O<@%$ 7 & À)(8Å � s -$ $ � =���;�; $&�(>IJ$��N # H %_���Z��$ P $&�( ' ������ �4"[-

%1; ' T!��Q =�U�������N�� ���4T!��� �c� ��� � " ��N�� T!��&<���?PU��#$��& �?S8) �*� IJ$��N �@N������� ���Z"#�M�?S A �*� H $ � ���H

! �*� " *FG7�0hiRj .$ & À)(8Å � n9oapfq $ & À)(8Å � s�q *

F�7�0hi�j .$ & À)(8Å � n9o pfq 7 & À+(2Å � sRq -

1F��T!��Q =�U���� �@N�� ���4T!����� � *,h� j 0

� ��� � � �?&�; ��U���=�U�� $� ��" �?& �4"#�#$Q �?�@�

�?SX�M�

��$(�U�����1 , 3 P(����%$'�@N�Q *4A

�[89�?W�\�� $'&V���Z;L���M����(�U��:�Z�?&L����� &����M�����7�������4"#�%$'Q>�?��� ��N��9&LU�Q O������:S�Q $E"�EQ �:�ZT�N��4" O<@ Q ����� ��N��?&<��T!��&�"#�!�?& � Q ULP�#$=LP $ET��?�%$D� �>S ��T!�@�����$�JN�� Q9���@N�� ;�?=�=��:����& �%PD@ T��?&�&�����O��<Q9��; $g���4; ��� �4"#�#$Q �?�@���@N��<& U�Q O������?S Q �:�ZT�N��4"%_�!�?��N����J��N��?&��?S3Q $E"#Q �:�ZT�N��4" ' �

- .)ê'ë-ç�é-õ�òMøYõ�èî è�/Wø5ý%ê ð10�ú*èDé-õ�ø�ý#ö

3 "�"%U�Q9� �@N��?�MIJ�9N��f���9�#IJ� "#���#$&�( " �?S�P'��&�( ��NOH �u� ����� ��&L$��� ��P=�N��?O����2�D�?ST��?�Z; $&���P $�m@ �b� � N�� ��P(�� �#$��N�Q $ " O���"#�4;>��&>��N�� S �?P P�?IJ$&�( $E;L�4� , $ S3I�� ����&LU�Q O������N�� P'���@�����Z" OV@ ��N��9�?=�=LP $ T��:�#$��&<�?S�� Q �?=3� S ��� Q ��N�� ��P=�N��?O���� ���>��N��M$&L����(����$'&L�����R�?��P

] v t � ' *54 vFt������Ft � N �76Vt

8

Page 8: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

I��>��O��Z� $'&V�1IJ�G$'&L����(����9"#��d U���&�T!�4"���.�242�2���F�7�09�?&�;��>.3242�2��>F�7�0f� ) �?I &����@���N��?�3��Q �:�ZT�N O����1IJ����& ��N����1IJ�M"#���#$&�( "��?��=�� "1$'�%$'� &�� $&�;LU�T!�4"�� Q �:�ZT�N�� i *�� i ��JNL$E"8T!��&L���#$O�U����4" � $& ��N�� $�����Q $'�%$ �:&�$&�&����8=��@� ;LU�T!�

F�7�0hiRj .$� q $ q * F�7�0

hiRj .$� q 7 q t

I�N������ $ ;L��&������4">�?&V@ =��#$Q $�#$.��� �}�@N ���L���>�?S�U�&L$�m@�� ��& �@N���� ��N���� N��:&�; �Q $E"#Q �?�ZT@N T!��&L���#$O�U����4" � =����@��U���O��?�#$.���M�@����Q $ � q 7 q �

���@��QB��N�� & ULP P $��@ �?SJ��N�� "#U�QB�:S � P P��@N�� �}��N����L���Z" �?SJU�&L$�m@�H���&�� ��O�"#���R���4"��N��?���@N���Q9�4�?&��� $��� $E" ����@��I N���&�� $E"9�GU�&L$ S5����Q PD@ ; $E"#���#$O�U����4; �Z�?&�;L��Q� �?�#$E�?OLP�>�7������] vFt � ' ��A���&�"#��d U���&L�#$E��P PD@VI�� $&L������;LU�T!�9��N�� "#����� �?S���P P�=�� "�"/$OLP�Q �?=�=L$&�( "�S5����Q�� ��� ] vFt � ' H��?&�; ��U���& � $& �@� � U�&L$ S5����Q PD@�; $E"#���#$O�U����4;G�Z�?&�;L��Q� �?�#$E�?OLP� �7����� � "#� � "���� ��O��Z��$& �@N�� "�T!���@��O����#IJ����& O�����N�"#���#$&�( " ��"J��N�� Q9�4�?&�?S �@N��2$�����Q $'�%$ �:&�$&�&����M=�����;LU�T!���7��������P P ����&LU�Q O����#$&�( "[�

3 "J���9��U�� =�����OLP��QB�?S�T!��Q9=�U��#$&�(>��N���"�T!�����S���4T!������� H�IJ� T!��ULPE;�Q>�7Q��MU�"#��?S �@N���=������ $��U�"J$E;L�4� ��� T!��Q =�U������4��T@N �:S�$�Z" x N H � ��& �@�#$�4"8"#U�T�T!�4"@"/$.���!P.@��$��?IJ�������4HL��NL$E"JIJ��ULPE; $&��!PU�T!�Z�?OLP.@�P�4��;>���9� �%$'Q ��T!��Q9=LP�! $��@��?S c% x H ' ���JN����U���&L$&�(�=��?$& ���?S���U��3Q ����N�� ; $E"3�@� $'&L������=��@���3��N��8"�T!���@� � �4T!��������"���N��JQ9�4�:& �7�������P P�P'���@�������@��& U�Q O����%$'&�(L"3�?S���N��MX!Y�� � Y�Y?ZV��8�Y�� �?S��#IJ���Z�:&�;L��Q $��4;S��&L$����"#��d U���&�T!�4"�?S�T!��Q9=LP�! &LU�Q O����Z"��XP/&9��NL$E"�I���@�H?�@N���W�89��Z<Y?������\!Y�Z W8T���PET!ULP �:�#$��&��?S���P P���N��#!�" � "$ "GQ ��;L��=��L"�"/$OLP�<OV@ ��N��<U�"#���?SMS_��"#� ����U��#$�������Z�:&�"/S � ��Q~� 3 ;�; $�#$��&�� P P.@�H IJ��?=�=LP.@ ��N���"#�Z�:&�;��?�Z;V���4T�N�&L$9d U��`] 8f_ �?S�=��?���#$�#$��&L$&�(<��N��>���! �� $'&L�����7�����#PE�?=�=L$&�(T�NLU�&FQ " �?S "1$���&% � # ' H �4��T@NaH��:&�; �@N���&<=�����T!�4"�"/$&�(��4��T�N T�NLU�&FQ<"#��=��?�Z�?�@�!PD@��)3����T!�4"�"/$&�(<��&���T@N U�&FQ "%U�=�=LP $�4" # H T!��Q9=���&���&L�Z" �?S �9H3"#����N��:��IJ� &����4; &��Q9��������N��?& x�� % # H ' T@N U�&FQ�"���P_& ��NL$E"3; $E"�T!U�"�"1$'� &aH �@N���=��:�Z�?Q9������� # Q>��@�;L��=���&�;��&`HJ�*%V� T@N��L� "#� $�M��� O�� �%�H ' �?&�;GPE�?��(����M��N��:& ��T!� &�"#�Z�?&L�4H}"#� �@N��?�8�4� T�NT�NLU�&FQ �@��d�UL$���4"9� �#$Q9� %R% � # ' H P��(�%�% � # ' H '�' � �JN����#$Q9� T!��Q =LP'�! L$��@S ��� ��&�� $�����Z�?�#$��&�"#����=>$E"J��N����@�!S ���@�

x# H %R% � # ' H P��(F%R% � # ' H 'R'

* �� � ##

x P'� (F%R% � # ' H '�� * �% x P��(�H ' 2�JN����7�����Z� P P��#$Q9��T!� Q9=LP�! $��@M�?S���U���* ��&L����E�A��?�#P����P(����%$'�@N�Q $E"a��N���&2 c%"�FH P��( H 'I�N������ � $E"���N��V& U�Q O����V�?S9����=����#$�#$��&�" =����#S5����Q9�4; � �JN�� O���"/$ET T���"#� x *% � # ' H �?SM��N�� ��P(�� �#$��N�QR$E" "�Q����ZT@N��4; $& ��$(�U����~1 � %<��&��?Q9�G$� *4A ��S�E��������N��$* ��&L����E�A��?�%P'�>�?=�=���� ��T@N>U�"#�4; �

�JN�� ��&�;>�?S���N��M"#�4T!�#$��&>$E"�;L��� �����4; ���MS5U�����N�����T!��Q9Q ��& �Z"J�?&�; ����� �:�#$E�?�#$��&�"�?S �@N�����P(����#$��N�Q~�

Page 9: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

3 T@P� "#��� P�L��Q<�?� ��N�� ;L��=���&�;L��&�T�@ $& # �:S �@N��KT!��Q =LP'�! L$��@<=�����Q $'�!"�U�" ���Q $&L$'Q $������N��G$Q9=LP $'�4; T!��&�"%�Z�?&L��$& ��N���OL$( ��N\� �a����NL$E" ��&�;}H3$&L������;LU�T!� ��N��T!��&�"#�Z�?&L���V;L����&��4; OV@���N�� T!� Q9=LP�! $��@ # %mH ' *��FH P'� ( H �?S���N��>�3�X�G�a�������N���"/$Q9=LP�8T@N��?$ET!� # * � H���N���T!��Q =LP'�! L$��@����4;LU�T!�4"����G1�� x P��(F%m1�H ' ���JN���O����������T�N��?$ET!� # * P'� ( H P�4"�"#��&�"���N���T!� &�"#�Z�?&L��1J��� � S%5P��(3P��(0H '�� P��( H H�U�=��@��������Q "�?S � �Z;L��� �% ��� P��( H ' �X�JNL$E"8"%U�(�(��4"#�Z" �?&���=��#$Q ��P�T@N��?$ET!� �?S # *��G%5P��(�H ' �

�J�L���Z"��?S}U�&L$�m@9�?=�=��4�?��$&9�#IJ� ; $?>a������&L��I��f@ "u$& ��N�����P(�� �#$��N�Q~� ��&9��N��J��&��N��?&�; �u��N<���L���Z" �?S�U�&L$'��@ $ " �?�@� U�"#�4;V��� ��&�T!� ;L�>��N�����P=�N��?O���� $& �@� T!� Q9=LP�! & U�Q O����!"��&��& ��N�� ����N���� N��?&�;���N�� �3�X�D�@� T!��Q9=�U����9�@N�� T!��&<���?PU��#$��&<�?S��#IJ�T!��Q9=LP�! ~���4T!�����!"J�?S�"/$�� % � # ' H U�"#�4" ���L���Z"J�:S U�&L$��@�� " �?S3���Z;L���8� =��?IJ�����?S�1IJ��I�NL$ET@N�$E" &�����"#Q ��P P��� ��N��?& % � # ' HJ��P/� "#N�� ULP ;VO��>T@P'�4�:� �@N��?��$ $E"M&�������!PE�?���4;V������HuS � ����N�� � P'=�N��:O���� "/$����?&�;���N��>���! ���"/$�� �?��� $&�;L��=���&�;L��& � S5����Q��&�� �?&�� ��N�������P/&�"#=L$��� �?S��@N��G�� ��4; =��@�4T@$ "1$'� &<�?S3��N�� & U�Q9���%$ T�� P T!��Q =�U��Z�?�#$��&�"�H���Z"#�3�! �=����#$Q9��&L�Z��P}���4"#ULP�Z"�% ���4T!�#$��& � ' "#N��?I ��N��?����N������ U�&�;<E5�7>K���@�����3T��?U�"#�4"3&���?=�=��?����&L�JP� "�" �?SX� ��P $E; $�m@ �?S3��N��M��N����������%$ T�� P�=����4; $ET!�#$��&�"�� �3���4H��?&�U�&��f���?$E;��?OLP����4"#���#$ET!�#$��& $E" ��N��?� ��N��>=����4T@$E"/$��& �?S ��N�� &LU�Q9���#$ET���P8T���PET!ULPE�?�#$��&�" O��>P�4"�" ��N��:&��N�� $&V�����!"#���?S3��N��M=�����;LU�T!�G1<% � # ' �FH �X�

) ��������N��:����&��8T!� ULP ;>��&�T!��;L� ��N�� � P'=�N��:O�����$& ���9� ��&L$'�@�����!PE; $&�"#���4��; �?Sa��N��T!��Q9=LP�! uH��?&�; U�"#� �3�X� $&��@NL$ " S �!�?Q9��IJ���RQ �G�JNL$E" I�� ULP ;V��� �?$E; �?&<@ ��� U�&�;<E5�7>���������Z"cH�O�U���IJ��ULPE; �@��d�UL$��� ���!PE;�" s�� S5����� PE�?��( ��=��#$Q9�JCaH �?&�; ��� T!��Q =�U�����IJ$��N��N���"��?Q9�M&LU�Q O���� �?S3OL$'�!"���"�$& �@N���T!��Q9=LP�! �T���"#���

�dé-è��#ì�#õ 0�õ�ëSøYõeç�ð)î%ì 0��%ë-õ�ë�è�/Wø5ý%ê����=øYò��=ø�� ëSøYõ�ö÷ì~ø-ê

�}����U�"�&��?I "%��U�;<@M��N���Q �4�?& �?&�; ��N�� �?�?�#$E�?&�T!�J�?S���N����4"#�#$Q �?�@���Z" !�"��\P/����U��@&�"a��U����N��?�J��N��MQ9�4�?& �e%� !�" ' $ " !�"1H��:&�;>��N��?�J��N���"#�Z�:&�;��?�Z;�;L��� $ �:�#$��&��?S !�"a$E"JO���U�&�;L�4;OV@&%mH^NL!�" '���� � � �JNL$E"J���4"%ULP'� I���"J��P���4��;<@ "#U�Q Q �?�#$��4;>$&B�JN���������Q � �

3 P P}��N�� �Z�?&�;L��Q��?�?�#$E�?OLP�4" !�"a�?���8;L����&��4; $&K� "/$Q $ PE�?��I��f@ -?N���&�T!� IJ��(���&����RE$ T�� P P.@�T!��&�"/$E;L���8�@N����Z�?&�;L� Q �?�?�#$E�?OLP�

� * ��,h� j 0

FG7�0hiRj .$ & À)(8Å � n?q 7 & À+(2Å � sRq t

I�N������J��N��J, i � "��?&�; ��N��3C i � "��:���X�� ��4; �?&�; ��N��JQ �?=�=L$&�( "�� �*� � "��?���3$&�;L��=���&�;L��& ��?&�; U�&L$ S � ��Q P.@9; $ "%���#$O�U����4; �Z�?&�;L��Q-Q �:=�=L$'&�(L"�S5����Q �<���M] v t � ' � �JN���&LU�Q O����0!�?S Q>�?�ZT@N��4"JO����#IJ����&�, . 2�242/, F�7�0 �?&�; C . 2�242�C F�7�0 $ "

! *F�7�0hiRj .

l�n?q�r sRq 2

Page 10: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

�JN��M�Z�:&�;L��Q � �:�#$E�?OLP�* � $E" ��N��MQ9�4�?&��:S � $&�;L��=���&�;L��&L�M$E;L��& �%$ T�� P P.@�; $ "%���#$OFEU����4; �Z�?&�;L� Q�� �?�#$E�?OLP�4" � �*� � $ ��&�T!�J$��"%U�-KT!�4"�����T!��&�"/$E;L������N��J�Z�?&�;L��Q��?�?�#$E�?OLP�

� *F�7�0hi�j .$ & � nDq 7 & � sRq t

S ��� ��N��MQ9�4�?& �?&�;e� �?�%$ �:&�T!���?S ���?�@�M��N���&� % � ' *��0%�� ' �?&�; ���?� % � ' * ���?�[% � '

� 2

%<��"#�!�?���JOV@>��� � P'U��:�#$&�(���N��MQ9�4�?&��?S �MI $'�@N ��N�� S5�?P P� I $'&�( P��Q9Q �F��3�� �� /���=\L\M� \U��� Y��* �&8WM�W \ ��Z<�M��\�[ !>Y��M�����5X[ \�W �@\����3\!\���,/.�242�2_,/F�7�0����� C . 2�242C FG7�0 ;��[#Y4Y�� ;#�JN��MQ9�4�?&��:S � $ "

� % � ' * �0% � ' * F�7�0hiRj .

� � $ & � n?q 57 & � sRq � 2)��?I�H ��O�"#���R������N��:����N���Q9�4�?& $&�"/$E;L� ��N��<"#U�Q $E"&������ U�&LP�4"�" , i * C i H O���ET��?U�"#� $ & � n?q 57 & � sRq $E"���d�U���P P.@ P $.Q��!P.@>����O�� �:&V@ �?Sa��N�� �u��N9���L���Z" �?SaU�&L$'��@�HLI�N�� "%�"#U�Q+$E" ����@��� * ����� =����4T@$E"#�!P.@�H}IJ�MN���� �M��N��M��d�U�� P $��@

� � $ & � nDq 7 & � sRq � * l�n?q�r sRq�tS ��� Q I�NL$ET�N ��N��M���4"#ULP� S �:P P�?I8"��

) �! �4H�IJ��T!��&�"1$ ;L���3�@N�� � �:�#$E�?&�T!�J�?S ��� %<�JQ9��& �%$'� &���N��JT!�������4"#=���&�; $&�(M���4"#ULP�&�� I S5���3��N�� =�U���=�� "%���?S��! �=��L"/$�#$��&aHLO�U���=��L"#��=�� &��J$�Z"3=����L�?S}���M��N��J&��! �J"#�4T!�#$��&I�N������M$E"�$� =����7���4; $& Q9� ���8( ��&����Z��P $�m@���3�� �������=\L\ � ��[�89����XZ\ Y�� �e8W$��YZV� ��\U� �?W�� Y�YWY Y���W��

���?� % � ' w %mH^N`! ' ?� 2

�JN������@��Q � &��?I S �?P P�?I8" S ��� Q �u��Q9Q �?�Z� � �?&�; 1F�

Page 11: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

� � ê^îê�é-ì 0�õ���ê�ï æDø-é-õQî%úñû ì~øYçþýõ�îú

%<�8�! �����&�; ��N�� =�������$��U�" ���4T�N�&L$9d U��M��� "%�������Z��Pa; $'�@�4T!�#$��&�"��0�JN��8Q>��$&KT!��&L���#$O�UFE�#$��& N������J$E"�����"#N��?I ��N��?��T@PE��"�"/$ET���P�( ��&����Z��P $4�?�#$��&�"J��PE"#���?=�=LP.@��@�M��U�����P(����#$��N�Q�?&�;���� =����#S5����Q ��N�� T!� �����4"#=���&�; $&�( T!��Q9=LP�! $��@��:&���P.@ "#�4"[���JN��G���Z"%�8�! �����&�"/$��&����O�� �:&���P.@ "#�4;�$ " �>IJ�!$'( N ���4;&�����!"/$��&<�?SJ��N�� =�����OLP��Q~�M�JNL$E"�� P P�?I8" S5���MQ9���@�(���&����Z��P�S5U�&�T!�#$��&�"���N��?&9�@N�� T@N��?�Z� T!�����#$E"#�#$ET S U�&�T!�#$��& �?SaQ �?�ZT@N��4"�H��?&�; $E" U�"#�4;9O<@��N��M����N������! �����&�"/$��&�"[� �JN���&aH�I���"%N�� I N��?I ��U�� ��P(����#$��N�Q �! �����&�;�"J�@�9=��?�������@&Q �?�ZT@NL$&�(8�?S��:���Z�f@ "�$'& =LPE��T!�J�?S�IJ���Z;�"�H����aQ9� ����(���&����!��P PD@ ��� NL$'( N���� ; $Q9��&�"/$��&�� P�?���Z�f@�"���) �! ��H �M; $?>a������& ���! �@��&�"/$��& �:S���U�����P(�� �#$��N�Q ��P P�?I8"3U�" ������T�T!��Q � ;��?�@�T@P � "�"#�4" �?S8P�����@���Z"�HJT@P � "�" T!� Q9=LP��Q9��& �!"�H �!&��������9Q>�?�ZT@N����:&�; ����PI��f@ " Q �:�ZT�N��"�@ Q O��?PE" $'&���N�� =��?�@������&�" �?&�; I�N���&�=�� "�"1$'OLP� $&���N�� ���! ��Z"�� ����� ��N�� "1$'Q =LP $ET@$��@�?S���N�� �! =�� "/$�#$��&aH�IJ� =��@�4"#��& �M�4� T�N<�! �����&�"/$��& "#��=��?�Z�?�@�!PD@�H�O�U�����N���@�T!��ULPE; � P PO���Q ����(��4; $& ��N�� "��?Q9�M��P(����%$'�@N�Q �?&�; $Q9=LP��Q9��&L�Z�?�%$'� &\��-� � ���� �� �������c��� � N���Q ����N�� ; �?&�; ���4"%ULP'�!"�I���;L�����!P��=��4;9�?=�=LP.@ ��� I��!$(�NL���4;�����Z"/$��&�" �?S���N��9=���� OLP'��Q H}$ �o���H}�����@N�� =��@��OLP��Q �?S�T!��Q9=�U��#$&�(�IJ�!$(�N �@�4;<"�T!�����4";L����&��4; O<@

!�"�*F�7�0hiRj . k

%�C i 'ml�n9o pfqUr s�qut

I�N������ k $E"�� T!��Q9=LP�! FE�� ��PU��4;>S5U�&�T!�#$��& ;L����&��4;>�7�����3��N��M��P=�N��?O������XP_&>S_��T!�4H IJ�T!��&�"/$E;L��� "@T!�����4"J�?S3��N�� S5����Q

!�"a*F�7�0hi�j .

\%/, " i '�� %EC i 'ml�nWoapfq�r sRqut

I�N������ �?&�; � �?�@� T!��Q9=LP�! FE�� ��PU��4;DS5U�&�T!�#$��&�"<;L����&��4;D�7�������@N�� ��P=�N��?O�������JN��4"#� �#I�� S5����Q ULPE�?�#$��&�" Q �f@ "#����Q ��d�UL$.� � P'��&L���*) ��&�����N��!P�4"�"�H�I��MU�"%� �@N�� "#�4T�E��&�;>S5����Q ULPE�?�#$��&�O��4T��?U�"#�M$�8"%U�(�(��4"#�Z" � O������@���J$& ��UL$�#$��&��?S3��N�����P(�� �#$��N�Q �?&�;��&��?OLP�4" ��N�� S U��@��N������! �����&�"/$��&�" �?S �@N��M&��! �8"%�4T!�#$��&�"��

P_& ��N�����P(�� �#$��N�Q H?��N��J��&�T!��; $'&�( �?S���N�����P=�N��?O�����U�"/$&�(M���L���Z"��?S�U�&L$��@ N�� "a���O�� T@N��?&�(��4; ��T�T!���Z; $&�(?P.@ , I�N���&�T!�@�4�?�#$&�( ) ��� I��M&��?I �@��=LP � T!� ��� ���R@K"�@ Q O��:P�,$'& ) OV@ \%/, ' $ & À)(8Å � n H?I�NL$ P�8I N���& T!�@�4�?�#$&�(�A ��� I��J����=LPE��T!� �������R@ "�@ Q O��:P:C $& AOV@ � %�C ' $ 7 & À)(8Å � s �

3 "�� Q �?�@�����3�?S�S_��T!�4H IJ��=��@� T!���4; ���M=����%S ���@Q ��U����?&�� PD@�"/$E" $& ��N�� ������&9Q9���@�(���&����Z��P T�� "#�M�?S3I��!$(�NL���4;�"�T!� ���4"J�?S3��N�� S5����Q

!�"a*F�7�0hi�j .

%_, " i t C i 'ml�nWoapfq�r sRqut

��v

Page 12: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

I�N������$E" � T!��Q9=LP�! FE�� ��PU��4; S5U�&�T!�#$��& ��& =���$�Z"G�?S�P�����@���Z">$& � ? � %<� ;L�

��NL$E" �4"�"#��&L�#$E��P PD@ S5���M��N�� =�U���=�� "%�9�?S���N�� Q �?�@N���Q �?�#$ET���P �:&���P.@ "/$E"�H���P��N���U�(�N���U��T!��&V� �?PU��#$��&FE5O���"#�4;���P(�� �#$��N�Q T��?& � &LPD@>;L�4��PaIJ$��N �@N�� "#=��4T@$E��P T���"#� �?S

%�� t��f' *

\%�� '�� % �f' � �JN����Z�?&�;L��Q $���4; ���4T!����� �RIJ����O��Z��$& "#�#$ P P N���" ��N���=�����=�������@ ���O��M�D$&���N��MQ9�4�?&aH}�?&�;G��N��$�?�?�#$E�?&�T!� �?S !�"���� O��' �%R%�H N !�" '�� � � ' � $ �?I���� ���4H��N������4"#���%$ T!�%$'� & ���<��N�� "#=��4T@$E��P T���"#���:S8IJ�!$'( N �Z" $ " T!��U�T@$E��P PD@ &����4;L�4; S5����QR��N��T!��Q9=�U��Z�?�%$'� &���Pa=��?$&L���?S�� $��I ��� ����=����4"#��&L�4H��?&�;�T!��Q =�U�����HL��N��G���4T!�����J"�T!�����MO<@�9T!��&<���?PU��#$��&\�

��&�T!� �:( ��$&aH�IJ�M(���&����#$ET���P P.@�T!��&�"1$ ;L��� ��N��M�Z�:&�;L��Q � �:�#$E�?OLP�

�M* ��,h� j 0

F�7�0hiRj .

%_, i t C i ' $ & À)(8Å � n?q 57 & À)(8Å � s�q t

I�N������ �@N�� , i � "9�?&�; ��N�� C i � "9�?��� �� ��4; �:&�; ��N�� � �*� � "9�:���>$&�;L��=���&�;L��&L���?&�;U�&L$ S5����Q PD@ ; $E"#���%$'O�U��@�4; �Z�?&�;L��Q Q �?=�=L$&�( " S5����Q � ���I] vFt � ' �I�JN���I��!$(�NL���4;"�T!�����MO����1IJ����& ,_.3242�2_,/F�7�0M�?&�;9C�.32�242C�FG7�0 $E"

!�*F�7�0hi�j .

%_, i t C i 'ml�n?qUr s�q 2

�JN��M�Z�:&�;L��Q � �:�#$E�?OLP�* � $E" ��N��MQ9�4�?&��:S � $&�;L��=���&�;L��&L�M$E;L��& �%$ T�� P P.@�; $ "%���#$OFEU����4; �Z�?&�;L� Q�� �?�#$E�?OLP�4" � �*� � $ ��&�T!�J$��"%U�-KT!�4"�����T!��&�"/$E;L������N��J�Z�?&�;L��Q��?�?�#$E�?OLP�

� *F�7�0hi�j .

%_, i t C i ' $ & � n?q 57 & � sRq t

S ��� �9"/$&�(?P���Z�:&�;L��Q ����&LU�Q O����#$&�( � � �JN��MQ9�4�:& �?&�; �?�?�#$E�?&�T!���:S� � �?���M��N���&

� % � ' *��0%�� ' �?&�; ���?� % � ' * ���?�[% � '� 2

�JN�� �?&���P.@ "1$ "M; $?>a���Z" S �@��Q ��N�� U�& IJ�!$(�NL���4; T���"%�M$&���N��?����N�� ���?P� �?S l�{7r | $&��N��MU�& IJ�!$(�NL���4; T�� "#� $E"�&��?I =LPE�f@��4;>O<@

%�� t�� 'ml {7r | � %<��"#�Z�?�@��I $'�@N���N���Q9�4�:&\�

�3�� ���a��=\L\�� \�����Y�� � 8 W �WL\M�3\�8?;7V�5\�� W X!Y�[#\

! *F�7�0hiRj .

%/, i t C i 'ml�n?q�r sRq

��\f���3\Z\f�9,_.�24242/,_FG7�0C����� C�.3242�2EC�F�7�0 ;

���

Page 13: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

��[#Y4Y�� ;#�JN��MQ9�4�?&��:S � $ "

�e% � ' *�� % � ' * F�7�0hi�j .

� �%/, i t C i ' $ & � n?q 7 & � s�q �

*F�7�0hiRj .

%_, i t C i ' � � $ & � n?q 57 & � sRq � *2! t"/$&�T!� �� $ & � n?q 7 & � sRq � * l n?q�r sRq �

%<�M&��?I ��U��@&���� ��N��$�?�?�#$E�?&�T!��H�=����7� $&�( �}��Q Q �M19��" � =��?���#$ET!ULPE�?�8T�� "#����3�� �������=\L\ � ��[�89����XZ\ Y�� �e8W$��YZV� ��\U� �43

���:� % � ' w���� ����� %mH^NL! ' ?� t

�� \4[#\ ��� ����� ��\f��Y��5\cW$�W \����76u8W��ZV� � ��Y?Z \ Y�� � %�� t��F' � Y � \4[ � ?�;��[#Y4Y�� ;#�a�M�! �=����4"�" ���:��% � ' * �� � � � ? � N � �0% � ' � ?�H�IJ�����Z"#��;L���#$.��� �?& �! =LP $ET@$��S5����QS ��� ��N��MQ9�4�?&��?S � � � ? * � � H�"#�Z�?�@�#$&�(9IJ$��N���N�� ��d�U���P $��@� % � � ' * h

.F" r i�� F %/, " t CF" '

%_, i t C i ' � � $ & � nWo 57 & � s:o 57 & � n?q & � sRq � 2

% N���& $ & � n9o 57 & � s:o 7 & � n?q & � sRq * � $&�;L��=���&�;L��&��#P.@�S5����Q � H�$ �o���H}I N���&<, " *D, i�?&�;9CF"�* C i H�����I�N���&�, "3*<CF"��?&�;>, i * C i H���N�� $&�&����MQ9�4�?&

� � $ & � n9o 7 & � s:o 57 & � n?q & � sRq �$ " � -L����N����@IJ$E"#��HL$��$E" v �

��@K� "/$Q9=LP��$&�T@PU�"/$��&FE5�! �T@PU�"/$��& �:��(�U�Q9��&L�4H $��S5�?P P� I "J��N��?�

�e% � � ' *h

.F" r i � F %_, " t CF" '

%_, i t C i ' l�n9oWr s:o�l�n?q�r sRq l�n9o r n?q:l�s:oWr s�q N l�n9o r n?q:l�s:oWr s�q:l�n9oWr s:o�l�nDqUr sRq � 2

% $��N ��N��G���!"#�8=��@� ;LU�T!� �?S } ����&��4T�Q����M"�@LQ O��?PE"�H���&������4T!� (�&L$��4" ��N����! �=��?&�"/$��&�?S � �0% � ' � ? H�"%�9��N��?����:��% � ' * � � � � ? � N � �0% � ' � ?

* h.F" r i�� F

%_, " t CF" '%_, i t C i ' l�nWoWr n?q:l�s:o r sRq � N l�n9oWr s:o�l�nDqUr sRq � 2

� 1

Page 14: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

�}����U�"K$'&L������;LU�T!�<��N������4� P "�@ Q Q9�����#$ET Q �?���%$ �� * ] # " r i _ �:S "/$�� � � �IJ$��N`%m� t � ' ��N ��&L���R@>(?$.����& O<@

# " r i * l�nWoWr n?q:l�s:o r sRq � N l�nWoWr s:o�l�n?q�r sRq � t�?&�; ��N��B���4T!������� IJ$��N��5��N ��& ����@

%_, " t CF" ' � %<����O��Z� $'& ���?�[% � ' * ������� H

I�N�������) ;L��&������4"}��N������Z�?&�"%=�� "#�3�:S Q �:���#$ET!�4"��XAJ��P P��%� ' ��N���"#=��4T!���Z��PL�Z��; $U�"a�:S��3H$ � ���H}��N�� PE�?��(��4"#� Q9��;LULPU�"M�?S�$'�!"��!$(���&<� ��PU��4"�� �?$&�T!���V$E" =�� "/$�#$.���9"#��Q $ ;L����&L$���%_O��4T��?U�"%�9$� ;L�4"@T!�#$O��4"S� �?�%$ �:&�T!�4" ' H�$�Z"M�!$(���&<� ��PU��4"9�:���9&���&FE5&���( �:�#$.��� �?&�;�� % � '$ " ��N�� PE�?��( �4"#���!$(���&<� ��PU����!%<�MN��f���

���?��% � ' * � � ��� w � % � ' � � � 2�a� $Q9=����7��� ��& ��N���=������ $��U�"3U�=�=�����O�� U�&�; �?&�; Q �(Q���$'��Q9�����J�! �=LP $ T@$�4HLIJ��&����4;���9�Z�7Q �8��N��M&LU�Q O����G! �?S3Q �?�ZT@N��4" $'&L������T�T!��U�&L���

�JN��>& U�Q O���� # " r i $ " v U�&LP�4"�" , "M* , i��*-CF"M*-C i �&P_� ��& �!��$ P " ��N��?�M$& T���"#��?S � Q �?�ZT@N , " * C " H}O�� ��N���N��M�5��NGP $&����?&�; ��N��M�5��N�T!�?PU�Q9&<�?S�� �?��� v � 3 S ���������& U�Q O����#$&�( ��N�� P $'&��4" �?&�; T!�?PU�Q9&�"J$&��<�?&�;�� HLIJ�M=��?�����@N���Q ��"�S5�?P P� I " ,

� *�� v vv ����� �?&�; �B*��������� t

I�N�������� � *�� # �" r i � $E"M� Q �?���#$ �?S�"1$��� %mH^NL! ' � %�H N ! ' �?&�;�� � $E"8�C���4T!������?S "1$���C%mH^N`! ' ��P_� S �?P P�?I8"J��N��:�� � ���B* � � � � � � � w � % � � ' � � � � � 2��& ��N�� ����N�����N��?&�;}H���N���"#=��4T!���Z��P��Z��; $U�"�� % � � ' �:S!� � $E" O���U�&�;L�4; O<@���N�� � T�NLU��&�����Q#" % � � ' I�NL$ET@N�$E"�;L����&��4; O<@ ,"�%� � ' ? * h

0�F" r i �F�7%$ � # �" r i � ? w %mH N`! ' ? 2

��U�����N����@Q9������H�"#�����%$'&�(

��� ����� * Q � � {7r | '& ! � � %�� t�� ' � tI��M� O��Z��$& � � �(� � w ��� ���

?� %mH N ! ' 2��$'&�� P P.@�H

���?� % � ' * ���?��%�� '� * ���)�)�

� * � � � � � � �� w���� ��� ?� %�H N`! ' ?

� 2

� A

Page 15: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

�JN��M�#IJ� P'��Q Q �?�Z�9�:O��7���M����( ����N����J=����7���M��N�� S5�?P P'�?IJ$&�(>��N���������Q&�. �}� �}�4�� �}���aY�[ �WL\ �3\f8g;(V�5\U� � \�[�W�8EY� Y����W \b5�[#YV�[Y \f� : ���9\cW:��8W�����5\ � ��Y�[0�W \W X!Y�[#\X� �@\����3\!\����G�5\[6u��W:�5[�8W�V; Y�� Y \��<;��W x ��� � ��5F�����5\4[�� W��5[U8W�V; Y�� Y \f�V;��W�H X������\ XZY��5 ZV�5\��M�43G� 5�Y�� �5\46�7 ��[�Y YS��Y ;�Y�[�8W�WV�J8W� � \��5\4[���89� 8W���8�X���89� \ c%"� x P��(0H '�X89�W~� \����B����� � ��[�8W����X!\

� � � � *2� �?&�; ���?�[%8 !�" ' w ��� ��� ?� %mH NL!�" ' ?� 2

* � "#��T!��Q9Q ��&LP.@�I�N���& ��N�� IJ�!$'( N �Z" �?����;L����&��4; OV@��9"/$&�(?P� S5U�&�T!�#$��& k ��"$'& ��N�� $& �@��� ;LU�T!�%$'� &��:S���NL$E"8"%�4T!�#$��&aH

��� ��� � * ��� k ��� � * Q �� { & ! � k %�� ' � 23 PE"#�9&�� ���M��N��?�J��N��#� �?�%$ �:&�T!�M$E"J��&�T!���?(L��$&�=��?���#$ET!ULPE�?�#P.@ "#Q � P PaI�N���&~!�"�$E"�T@P� "#���� H �� � ���}� ���&� ���� � � �a�}��� ���?�4��� � � %<� "�Q����!T�N ��N����! �����&�"/$��& �@���#IJ��E_; $Q9��&FE"/$��&���P��?���!��@�"u$'& ��N��J&���&FE5IJ�!$'( N ���4; T���"#��- "1$'Q $ PE�?� $E;L�4��"3IJ��ULPE; �! �����&�; $����� ��N�������?&�;�NL$(�N�����; $Q9��&�"/$��&�"cH��?&�;G���9Q $ ��4; IJ�!$(�NL���4;�NL$(�N�����E_; $'Q ��&�"/$��&���P � ���Z"/$��&�"��"JIJ�!P P �

��� �M��N�� "��7Q � �:S "1$'Q =LP $ET@$��@�H3IJ� ��"�"%U�Q9� $&<��N�� "%��d�U��!PJ��N��?��H �?&�; x �?�@���N��9"Rd�U��:���4" �?S��#IJ� $& ����( ���Z"�H\H * � ? �?&�; x * � ? Ha�:&�; �@N��?� x z HJ�G�JN�����! �M)D$E" &��?I �>Q �?�@�#$ ��?S�"/$�� � � ��H}��N��9=��?���@����&�A $E"M��"#Q>��P P'��� Q �?���%$ ��?S"/$���� � ��H��?&�; ��N�� ���4"#ULP�JI��M"#����Q $E"J�?&&%�� � N � ' � %�� � N � ' Q>�?���#$ �I�N������

!�" r i * 7�0h,�j .

7�0h� j .

l � o p��� q p� r � �� tS ��� v/w � t � w �=N �B� � N�� �#$Q9� ��� T!��Q9=�U���� ��U�� �4"#�#$Q �?�@� � �?S � $E"&�� I �%(� x P��(0H ' H��:&�; IJ��"#�#$ P P N��f��� � � � � * � �:&�;����?��% �!�" r i '~w %mH N! " r i ' ? � � � %<�M&��! ��8O��#$����@ "�Q ���ZT�N�N��?I ��NL$E" $ " ;L��&����

%<���1U�"%�#$ S @>��U���S ��T!U�"����9��T@NL$'��� $&�(K� �#$Q9�MT!��Q9=LP�! L$�m@��:S c%"�FH P��( H ' S �����N�� T���"#� � *J1 � O<@ ��N�� S �?P P�?IJ$&�(�"#�!�?&�;��?�Z; ���4;LU�T!�#$��& ] 8f_ ������NL$E"�T���"%��S5����Q��N��M(���&����Z��P3T���"#�����y1 � ,

� T!�7�����9)BI $'�@N x�� H �7�����#PE�?=�=L$&�( "Rd U��?���4">) " r i �?S "1$��� 1 � � 1 � �4��T�NaHI�N����@�<) " r i T!� &�"/$E"#�Z"��:S ��N�� "�d�U��?�@� "%U�O�Q �?���#$ �?S ) �?S9"/$��O1 � � 1 ���N��:��N���">$�Z"G����=FE�P�!S ��T!����&������?� =�� "/$�#$��& %m��� t � � ' $'&D)$� $���&�T!� ) " r i

� �

Page 16: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

�?&�;G) " }0 r i }0 �u� ���#PE�?= �7�����8� ����(?$��& �:S )D�?S�"/$�� � � ��H�) " r i �?&�;G) " r i }0�7�����#PE�?= �7����� � ����(:$'� & �?S8"/$��~1 � � ��H�) " r i �?&�;V) " }0 r i �7�����#PE�?= �7����� �����(:$'� &��?S "1$����� � 1 �B-

� ��N��9��P(�� �#$��N�Q S � �8��N��>T���"#� � * 1 � $E"M��N���&�U�"#�4; ��&��4��T�N��?S��@N�� x�� H=���$�Z"c%_) " r i t A ' �?S��@�! ���?&�; =��?��������&\��P/� $E"��4� "�@ ��� "%���9��N��?�M��N��4"%� x�� H�?&�"%I����!"���� (�����N�����T!��&L�Z��$&<��;L�4"�T!�#$=��#$��&<�:S���N��9;L�4"/$���4;�Q>�?���#$ �C�$�JN���7�����Z� P P��#$Q9� T!� Q9=LP�! $��@ ���<T!��Q9=�U������@N���QR$E"' �%R% x�� H ' �FH P��( H ' * c%"� x P��(0H ' H � "J����d UL$'�@�4; �

�JN������!S5������H�IJ�MN���&�T!�!S5������N ��"@"#U�Q9�M��N��?� � *21 �B��JN�� �! ����&�"1$'� & �?S���N�� ��&���E_; $Q9��&�"/$��&���P�"%�?PU��#$��& ���>�#IJ� ; $Q9��&�"1$'� &�"MIJ���RQ�"

OV@M���!�?&�"/S5����Q $&�( ��N����#IJ��E_; $Q9��&�"/$��&���P�=�����OLP��Q $& ���M� ��&���E_; $Q9��&�"/$��&���P}��&�� ] 8f_ H�?&�;�$& ��N��9=�����T!�4"�" $& �@��� ;LU�T!�4" �!&���� ��� Q>�?�ZT@N���"�@ Q O��?PE" , ��N��?� $E"�H�$ S �D$E"M��N����P=�N��?O�����S5������N�� �#IJ��E_; $Q9��&�"/$��&���P}=�����OLP��Q HL��N���&>��N��8T!�����@�4"#=���&�; $&�( � P'=�N��:O����S ���>��N�����&���E_; $Q9��&�"/$��&�� P =�����OLP��Q $E" ��� 4�� 6 I�N����@���V$E" � �!&���� ��� Q �:�ZT�N��"�@ Q O��?P�$& ��N�� "#��&�"#� ��N��?�4H $ S � � � � %/��� O�����N ' ��d�U���P��V��N���& l�{7r | * v ��"9�T!��&V� ��& �#$��&\�

* ������"#=��4T@$?��T���P P.@�HJS5����Q ��N�� �@�! �9Q>�?���#$ ) �:S "/$�� 1 � � 1 ��H3IJ� T!���4�?�@���N�� T!�����@�4"#=���&�; $&�(����! ��G���4T!������� O<@ T!� &�T��?����&��?�#$&�(���N�� ���?I8" �?S�)S�M�JN U�"��N���" P��&�(���N�� �&?7� ����� Q �@N���=��?��������& Q>�?���#$ A �?S�"/$�� � � ��H�IJ��T!���4�?��� �=��?��������&4���4T!����� �?SJP��&�(���N=1 � ? O<@ �:U�(�Q9��&L�#$&�(��4� T�N<�:S �@N�� ���?I8" �?S8A O<@�?=�=���&�; $&�(���� ��N��M��&�;G�?S��4��T@N��?S3��N���Q �B"�@LQ O��?PE"��>�?&�;>��N���& T!��&�T��:����&��?�#$&�(��N��9�?U�(�Q9��&L���4; ���?I8"�� �u��� � O��9��N��9"�T!� �������4T!����� IJ$��N�� ��" ���! ���:&�;� ��"=��?��������&aH $ � ���H

� " * ? � 7�0hi�j .

l�� oapfq�r ��q

S ��� vMw � w 1 �&?��?&�; IJ$��N���N�� U�&�;L���Z"#�!�?&�; $&�(9��N��?� l�{7r | $E"!������ $ S �!$��N���� �>��� ���d�U���PE" ��N���"#=��4T@$ � P "�@LQ O��?P����

�JN�� T!��&�&��4T!�#$��&�O����#IJ����&����:&�;���N�� "�T!����� Q �?���#$ ~� S ��� ���! � )-�?&�;�=��?��E������& AD$E" &��?I (:$D� ��& O<@

!�" r i *�� ? � "�7�0 i 2�JN������!S5������H�T!��Q9=�U��%$'&�( �@N���Q>�?���#$ 2� ���4;LU�T!�4">��� T!� Q9=�U��#$&�( ��N��~� �4T!�������L��JN�� T!� Q9=�U��Z�?�#$��& $ "�&�����Q U�T�N9Q �����8T!��Q =LP $ET��?�@�4;9O<@9��N���=��@�4"#��&�T!�8�:Su�@N��8&���I�H"#=��4T@$E��P���"�@LQ O��?P , IJ��"/$Q9=LP.@GS �?P P�?I �@N��M��ULP�4" �?S 3 P(����#$��N�Q *4A �! �T!��=��8��N��:�4H�?����N��M=LPE��T!� I�N��������@N�����P(����#$��N�Q �@��d�UL$���4" ��� T!���4�:����$ & � n %_���4"%=\� $ 7 & � s ' H�IJ���&LP.@�;L� "#� $ S�,G%_�@�4"#=\��C ' $ " &�� �8��N�����"�@LQ O��?P_Ha�?&�; IJ�9T!���4�?��� � v $&�"#�@�4��;G$ SJ,

� �

Page 17: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

%_���4"#=\��C ' $E"M��N���� "�@ Q O��?P �2$���&�T!� I�� U�"#� ��N�� IJ�!$(�NL���4;�Q9��;L�!P�$&L������;LU�T!�4;�$&��N��M=������ $'� U�"8"#�4T!�%$'� &aH�IJ$��N��@N���IJ�!$(�N � S U�&�T!�#$��&�"

%�� ' * � %�� ' * �

S ��� �?&V@ P��������� ��� � �! �T!��=���S5����Q\% � ' * � % � ' * v 2

�}��Q9Q �?�!� � �?&�; 19"1$'Q =LPD@>P�4��;G���9��N�� S5�?P P�?IJ$&�( ��N���� ����Q~�. �}� �}�4�� �����aY�[X�W \����3Y 6m��8W� \���W�8�Y�����Y � \4[@W�8EY�� Y��0�W \�5�[#YV�[Y \�� : ��� \cW:��8W�����5\ �� Y�[G�WL\�W�X!Y�[#\$��[![�� 3$� ��\f���3\Z\f� � �5\[6u����[Z[�� 3 Y��MW:8���\�� � ��� ��Y�[ � ? * x�� ��� �M�5T�����5\�[U� ��[![m� 3MY���W�8��\� � ��� � Y�[ �&? *2H � X���� �@\�X!Y�� 5 ZV�5\����@3 � 5�Y�� �5\46�7 ��[�Y Y��Y ;�Y�[�89�W<� 8W�B��\��5\�[U��8W��8 W:��8�X$��8W� \2 �%"� x P��( H ' �X89�W~� \����~��� � � ��[�8W����X!\

� � � � *2� �?&�; ���?� % �!�" r i ' w %mH N ! " r i ' ?� 2

�� 4��� � � �D�� � � � � ����� �� � � ��� �c� � � �}��� ��O�� P���������Z"�$&<�?& ��P=�N��?O������ � @ �X�Y?�?W!W ] �L0�24242 ��� _ IJ�JQ9�4�?& � &���I "�@LQ O��?P��@N��?�3Q �?�ZT@N��4"3�?&<@��?Sa��N�� P'���@�����Z" � ��P_&=��?���#$ET!ULPE�?�4HLP�����@���Z"JT��?& O�� � $��IJ�4;���"�T@PE��"�"%�4" , ��N��MT@PE��"�"#�4"JT!��&�"/$E"#�%$'&�( $'& � "/$&�(?P�P'���@������� 3 &����@N����8"#=��4T@$E��P�T@PE��"�" $E"���N��0��Z<Y9YaXfY?�?WZW�H $ �o���H���N�� T@PE��"�"�T!��&�"1$ "%�#$&�(��?S���N��I�N��?P� ��P=�N��?O������

%<�e���Z"#�9���4"%���#$ET!� �@� ��P P� I $'&�( T@PE��"@"#�4" $& �!$��N�������N�� ���! � ���9��N�� =��?��������&\�% $��N�� U��JP� "�" �?S ( ��&����Z��P $�m@�H�IJ� S ��T!U�" ��& T@PE��"�"#�4" $& =��?���@����&�"������T�N�"�@LQ O��?P�C i$'& �G=��?�������@& AB*-C . 242�2EC F�7�0 $E"�&��?I+� T@PE��"�" ] C i r 0 242�2EC i r � q _ �&%<�>Q9��; $ S�@<��U����P(����#$��N�Q O<@>����=LPE��T@$&�(��4��T�N T@PE��"@"�C i $'& ��N��M=��?���@����&�OV@

� qh j 0 k

%EC i r ' $ 7 & À+(2Å � sRq �

I�NL$ P'�9T!���4�:�#$&�( A ��� �X�JN�� T!��&<���?PU��#$��&&���4T!������� ��� $E" ��N U�"

! �*� " *F�7�0hi�j .

� qh j 0 k

%�C i r ' $ & À+(2Å � n9oapuq $ 7 & À)(8Å � sRq � t

"#� �@N��?�8�@N�� Q � ; $?���4;<��P(�� �#$��N�Q "%�#$ P P�N�� "���N��9"��:Q9���#$Q9�9�?&�;�"#=�� T!� T!� Q9=LP�! TE$'�%$'�4"[��������Q9�4�:& �?&�;4� �?�#$E�?&�T!���?&���P.@�"#�4"�H3IJ�9� &�T!�K�?(L��$&<(���&����#$ET���P P.@ T!��&�"/$E;L�����N��M�Z�?&�;L��Q � �?�#$E�?OLP�

�M*F�7�0hi�j .

� qh j 0 k

%�C i r ' $ & � n?q $ 7 & � sRq � 2

��8

Page 18: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

� @>��N�� P $&��4�?�%$'��@��?S3��N��MQ9�4�:&aH�IJ�MN���� �

� % � ' * F�7�0hi�j .

� qh j 0 k

%EC i r 'ml n?q�r sRq � 2

��������N�� �?�?�#$E�?&�T!���?&�� PD@�"/$E"�H�IJ� Q9��&L�Z��P P.@9����=LP $ET��?����� i �#$Q9�4"��4��T@N>, i $&>��N��8�@�! �4HI�NL$ P'� Q9��&L�Z��P P.@ ����=LPE��T@$&�(>�4��T@N9C i OV@ C i r 0�2�242C i r � q $&���N��M=��?�������@&\��%V���?��� ��N U�"P'�4; ��� �#IJ�9"#���#$&�( " �?S�P'��&�( ��N H � *�� i � i H�I�N��?P� T!��&V� �?PU��#$��&~@ $�!P ;�" �@N�� "��?Q �"�T!��������" �?O��7�����X�JNL$E" @�$�!PE;�" ��N�� S5�?P P'�?IJ$&�(>��N���������Q&�. �}� �}�4�� ����� \f�L��YWY Y��X8W�V;�XfYg�:WZW�\�W�89�`�WL\S5T�����5\�[U� : �� \cW:��8W�����5\ � ��Y�[��W \W X!Y�[#\X�J��\f���3\Z\f���G�5\�6u��W��5[U8W�V; Y�� Y \��<;��W x ��� �G�05T����5\4[�� W:�5[�8W�V;�C>* C�.3242�2EC�F�7�0Y�� Y \��<;��W H � Y�[ X�Y?�?W!W \cW�C i * ] C i r .324242 C i r � qU_ XU�� �@\8X!Y�� 5 Z<�5\U�M�@3$� 5�Y�� �5\46�7 ��[�Y Y��Y ;�Y�[�89�W<� 8W�B��\��5\�[U��8W��8 W:��8�X$��8W� \2 �%"� x P��( H ' �X89�W~� \����~��� � � ��[�8W����X!\

� � � ��*2� �?&�; ���?��%� ! " ' w ��� ��� ?� %�H � N`!�" '"?� S5��� H � * F

hi�j 0

� i z H 2

���MS_�?�4H IJ��N��f������&LP.@9IJ�!$(�NL���4; P���������Z"�U�&L$ S5����Q P.@9IJ$��N>���4"#=��4T!�J����=�� "/$�#$��&�"$'&���N�� ���! �� �?&�;K$&��@N���=��?���@����&aH�O<@���N���IJ�!$(�NL��S5U�&�T!�#$��& k �0P/��$E" ��;�; $�#$��&���P P.@=�� "�"1$'OLP����� IJ�!$'( N � P'���@�����Z"MI $'�@NL$'& � T@PE��"@"�H3��P P'�?IJ$&�(<; $?>a������& � IJ�!$(�NL�Z" S5���M��N��"��?Q9� P��������� ��T�T!� �Z; $&�(��@� $�Z" =�� "/$�#$��& $& ��N��>���! �� ��� $'& �@N�� =��?�@������& , P��� U�";L��&�������O<@ � �h

" j 0CF" ��"��

��N��~�3\�8?;7<�5\U��X�Y?�?W!W T!��&�"/$E"#�%$'&�(��?SJ��N�� P���������!" �" � " IJ�!$'( N ���4; OV@���N���C " � "[� �JNL$E"&����#$��& �! �����&�;�"J�@N��?���?S T@PE��"@"#�4"�H}"/$&�T!��IJ�MN��f���� �h

" j 0��"��* ] �L0�2�242���� _ 2

3 " �?&�����N���� �! ��?Q =LP'��H���N�� CF" � "MT��?&<O�� � $'��IJ�4; ��" =�����O��:OL$ P $�#$�4" I�N���&<��N���C " � "��;�; U�= �@� � �\P/��$E"���N���&�=�� "�"/$OLP�8�@�8��P P� I T@PE��"@"#�4"�O����@NM$& ��N��J=��?��������& �?&�; $& ��N�����! ��Ha�?&�; ��� ( ������T!��&�"/$E"#����&L� $& �����@=������Z�?�#$��& S5���M��NL$E" , S5��� ��"%�4T!��&�; I��!$(�NL���4;T@P � "�" ��h

" j 0 � " � "� t� �

Page 19: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

��������� , �G���! � ) *+,_.�2�242/, ? F�7�09�:&�; ��=��?���@����& A *-C�.3242�2EC�F�7�0 I�N��������N��M, " � " �?&�;>��N���C " � "��?�@� P'���@�����Z"�S5����Q���� 4�� 6 -� ��������� , �?& �4"#�%$'Q>�?��� S5���J��N���"�T!�����G� �4T!����� �C�� � �J��=LPE��T!� ��P P�� OV@ � $'& O�����N ��N�� �@�! ���?&�; ��N���=��?�������@&aH��?&�; �?=�=LP.@3 P(����#$��N�Q *4A -���NL$E" Q>�?�ZT@N��4" P���������Z" $& ��N����@�! �9�?( � $'&�"%� P���������Z" $&��N��M=��:��������&\-

1F�J����=LPE��T!� � P P�� O<@�� �?&�; ��P PJP'���@�����Z" OV@ ��$& ��N��>���! ��4H��?&�; ��P P�P���������Z"O<@��<�?&�;���P P�� O<@ �>$&���N�� =��?��������&aH}�?&�;��?=�=LP.@ 3 P(����#$��N�Q *4A -���NL$E"Q �:�ZT�N��4" ����PI��f@ " Q �?�!T�N��9"�@ Q O��:P " $&<�@N�� �@�! �M�?( ��$&�"#� P���������Z" $&<�@N��=��?�@������&\-

A �J����=LPE��T!����P PJP���������Z" O<@�� �:&�; ��P P� OV@��G$& ��N��>���! ��H��?&�; ��P P��KO<@��?&�;���P P3P���������!"MO<@��>$&<�@N�� =��:��������&aHa�?&�;��?=�=LP.@ 3 P'( ���#$��N�Q *4A -���NL$E"Q �:�ZT�N��4" P���������Z" $&���N�� ���! �� �:( ��$&�"#� ����PI��f@ " Q �?�ZT@N�� "�@ Q O��:P " $&<�@N��=��?�@������&\-

���J����=LPE��T!�>��P P�� O<@�� $&<O�� ��N<��N��9�@�! ���?&�; ��N�� =��?��������&<�?&�;V��P P�P���������Z"O<@ ��H �:&�;��?=�=LP.@ 3 P(����%$'�@N�Q *4A -���NL$E"JQ>�?�ZT@N��4" �c��PI �f@�"�Q �?�ZT@N�� "�@ QCEO��?PE"J$& �@N��M���! � �?( ��$&�"#� ����PI��f@ " Q �?�ZT@N�� "�@ Q O��?PE"J$& �@N��M=��?��������&\-

�F����;�; ��N�� S ��U��M�4"%�#$Q �?���4" =������ $��U�"/P.@<��O��!��$&��4;<�?&�;������@U���&���N�� "#U�Q ��"��N��M�@�4"#ULP�8�?S���N�� ��P(�� �#$��N�Q~�

��$(�U��@� AF, 3 P'( ���#$��N�Q *`A IJ$��N � 3 P'I��f@�"�*��?�ZT@N�� ��@LQ O��?PE"I���;L����&�� ��N���Q>�?�ZT@N O����1IJ����& O�����N T@PE��"@"#�4"��@� O��

�h" j 0

hi�j 0

C " � i l� oWr � q 2P_&���NL$E"�=��@��O��?OL$ P $ "%�#$ET $&L������=������Z�:�#$��&aH��@N�� "�T!���@� T!��U�&L�Z"J��N�� Q �?�ZT@N��4" ��T�T!���Z; $&�(������N�� =�����O��?OL$ P $�m@ �?Sa� T�T!U����@��&�T!�8�?Sa�4��T@N P��������� $& �4��T@N T@PE��"�"[� 3 P(�� �#$��N�Q $ET���P P.@�HT!��Q9=�U��#$&�(<��NL$E"9"@T!������O<@ 3 P(�� �#$��N�Q *4AD$ " ��T�NL$�����4; O<@ U�"/$&�( ��� ��&�T!��;L���N���C " � "��?&�; � ���9��&�T!��;L����N�� � " � "����� ���}��� �D�� � ���V�}� � � ��� � ��� � �D�� � ��� � �3������ ��� �a�9��P P�?I Q ����� ���! TE$'OLP� "#���#$&�(�Q>�?�ZT@NL$'&�( ��&��M(:$D� ��&K��P=�N��?O���� � �?&�;>��T�NL$�����M�MO�������������T�T!U��Z� T�@9�?S��N��J�4"#�#$Q �?���4"cH?I�����; �#�?$&9�#IJ�8&���I "%=��4T@$E��Pu"�@ Q O��:P "cH�� �!&��������3Q �?�!T�N�� "�@LQ O��?P ��?&�; �?& �c��PI �f@�"�Q �?�ZT@N�� "�@ Q O��?P��F�

� �

Page 20: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

�JN����!&��������>Q �?�ZT@N��<"�@LQ O��?P�� I���"9��P���4��;<@ $&L������;LU�T!�4; $& ��N�� =������ $��U�""#�4T!�#$��&\� P/� T!�����@�4"#=���&�;�" ��� � "�@LQ O��?P��@N��?��&��������!"MQ �?�!T�N��4" �?&V@����@N����MP����������-$'& ����N���� IJ���Z;�"�H $'�9"��:�#$E" ���4" l r � * l � r * v S5���9�?&<@�P��������� � � � �4P_� Q �f@"/$Q ULP�Z�:&�����U�"/P.@ O���U�"#�4; $& ��N���=��?���@����& �?&�; $& �@N�� ���! ��K�:&�; ��N�� I��!$(�NL���4;Q9� ;L�!P��! ����&�;�" ��� ��NL$E" &���I "�@LQ O��?PaO<@K"1$'Q =LPD@���"�"#U�Q $'&�(

\% � ' * � % � ' * v 2%<���RQ $&�( IJ$��N���N�� �! �����&�;L�4;���P=�N��?O������ � 4 � 6 ;L�L�4" &����MT�N��:&�(�����N��9�?&�� PD@�"/$E"�?S �@N��M=�������$��U�" "#�4T!�#$��&�"[�

�JN�� ����PI��f@ "�Q �?�!T�N�� "�@LQ O��?P � T!�����@�4"#=���&�;�"��@� �M"�@LQ O��?P���N��?��Q �?�!T�N��4"3�?&<@����N����}P���������f-�$'& ����N�����IJ���Z;�"�H!$�3"��?�#$E" ���4" l r � * l � r * � S5�����?&<@ P'���@����� � � � � P_�Q �f@ "1$'Q ULP�Z�?&���� U�"/P.@9O�� U�"#�4; $'&>��N���=��:��������& �:&�; $& ��N�� ���! �J�?&�; ��N�� I��!$(�NL���4;Q9� ;L�!P��! ����&�;�" ��� ��NL$E" &���I "�@LQ O��?PaO<@K"1$'Q =LPD@���"�"#U�Q $'&�(

% � ' * � �?&�; � % � ' * k % � ' 2P_&���NL$E"��@�4"#=��4T!�4H�$��$E" �����R@>Q U�T�NGP $.Q�� ��N�� S ULP P�T@PE��"�" %_��N�� T@PE��"@"8T!��&�"1$ "%�#$&�( �?S�� P P��N��9�!P��Q9��&L�Z"M�?SJ��N��9��P=�N��?O���� ' � ���#$ P P_H�$'� $E"M�?S���; $g>a������&L��&��:��U�����Ha; $?>a���#$&�( $&��N��9I��f@�I��!$(�NL�Z" �?���9;L�4��P��IJ$��N\����&LP.@ � "M�?&��! �T!��=��#$��&aH�O�����N<&����%$'� &�"�"#N��?�@���N�� "��:Q9��"#��Q �?&L�#$ET�"�$& �@N���"/$Q9=LP� T�� "#��I�N���&�&��>IJ�!$(�N �!"��?��� U�"#�4;}H�$ � ���H�I�N���&Q �?�ZT@N��4"3�?���JT!��U�& �@�4;�O<@ � � "��:&�;�Q $ "%Q �?�ZT@N��4"�OV@ v � "X% k * �7' � 3 "��MT!��&V� ��& �#$��&aH��N�� ��� P'I��f@�"9Q �:�ZT�N��V"�@ Q O��?P Q>�?�ZT@N��4" $�Z"#�!P SR- I�N�����N���� ����PI��f@ " Q �?�ZT@N��<�?&�;�!&��������MQ �?�!T�N��>"�@LQ O��?PE"�Q>�?�ZT@N��4� T�N ����N���� $E" $�����!P��� �?&L�M$&���N��9"#��d U��!P �GP_& � P P��N��8T���"#�4"cH�IJ�J(������?& ��P(�� �#$��N�Q ��N��:��$ " ��&LP.@ S ��U����#$Q9�4"�"1P'�?IJ���3���G@ $�!P ;>"#N��?�@=�����4"#�#$Q �?���4"[� �JNL$E" ��P(����#$��N�Q $E"�O�� "#�4;���&>S5��U��8�:=�=LP $ET��?�%$'� &�"M�?S3��U��8��P(�� �#$��N�Q $&��N�� S �:P P�?IJ$&�(9I��f@�� �}������O���� &���I "�@LQ O��?P_H�I�NL$ET@N�I���� ; �1�?$&���� ��N���� P'=�N��:O�����?&�; � $��I ��"�� P�����@���G%5$ �o���HL$��� &LPD@�Q>�?�ZT@N��4"�$�Z"#�!P S ' �

3 "9�?& � =��#$Q $4�?�#$��&aH8"%����=�"M1<�?&�; A �:S ��N�����P(����#$��N�Q T!��ULPE; O����f���?$E;L�4;I�N���& �c��PI �f@�" Q �?�ZT@N���"�@LQ O��?PE"��:���9&����MU�"#�4; $& �@N��9���! ���%1�?&�;�I�N���&��!&��������Q �?�ZT@N�� "�@ Q O��:P "M;L�>&����MQ �:�ZT�N�����PI��f@ "JQ>�?�ZT@N�� "�@LQ O��?PE" ' � P/&<��NL$E"MT���"#��H���&��I�� ULP ; "/$Q9=LP.@�T!��U�&L����N�� & U�Q O������?S ����PI��f@ "�Q �:�ZT�N�� "�@ Q O��?PE"�$&��@N��M=��?��������&aH�?&�;���;�; ��N��9T!�������4"#=���&�; $&�(�T!��&L���#$O�U��#$��&V��� �@N�� �@�4"#ULP����� N�� � P'( ���#$��N�QB��N���&��&LP.@�����d�UL$���4" �#IJ$ET!����"JQ U�T@N��#$Q9� ��" ��N��M���#$(?$&���P � P'( ���#$��N�Q *4A �

) ���#$&�(9��N��?��"#�@��=�" 1�H A �?&�; ��@�$�!PE;��! ���T!���4"#�%$'Q>�?���4"�Q �7Q��4" ��N�� �:&���P.@ "/$E" �?S��N�����P(����#$��N�Q �4��"�@�H��?&�;GIJ�M��O��Z��$&���N�� S5�?P P� I $'&�(>��N������@��Q~�. �}� �}�4�� � ��� \f�2�Y9Y Y��X8W�V;�����\ � \�[ �����5X���B���������Y?�X� 3�W~�����5X[��L�@Y��W=89��W \~�5\[6u�G��� � 8W�=�W \c5T�����5\�[U� : ��� \�W���89�����5\ � � Y [M�W \�W�X!Y�[#\M� ��\f���3\Z\f�=� �5\[6u�W:�5[�89�<; Y��cY \f�V;��W x �����B�c5T�����5\�[U� W��5[U8W�V;GY�� Y \��<;��W H X����=��\>XZY��5 ZV�5\��`�43 �

� �

Page 21: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

5�Y�� �5\4687���[UY YB��Y ;�Y [U8W�WV� 8W� ��\��5\�[U��8W��8 W:��8�X ��8W� \' �%"� x P��( H ' �X89�W`� \����=������ ��[�89���X!\

� � � � *2� �?&�; ���?�[%8 !�" ' w ��� ��� ?� %mH NL!�" '"?� 2

��� T!� Q9=��?��� ��N��M�?&���P.@ "%�4"J��O��Z��$&��4;>I�N���&�U�"1$'&�( ��N�� ����PI��f@ " Q �?�ZT@N�� "�@ QCEO��?P��M������N��JS5ULP PuT@PE��"�"�HLT!��&�"/$E;L�����@N����! �@����Q9��T���"#�J�?Sa� =��?��������&9T!��&�"1$ "%�#$&�( �:S H"�@ Q O��?PE"��$%#�?&�; ; $ "@��P P'�?I�� $&9�@N������! �� ' ��� N���� �?�%$ �:&�T!����O��Z��$&��4; O<@M�JN���������Q��$ " ��N���&��������H�"/$&�T!�~!�"8* H S � � � P P��R� ) �?I�H3T!��&�"/$E;L��� �G=��?��������&VQ ��;L�>�?S HT!��=L$�4"��?S3��N�� S5ULP P T@PE��"�"[� �JN��$�?�?�#$E�?&�T!� ��O��Z��$&��4;�O<@ �JN���������Q � $ " &�� I

��� ��� ?� % � N �7' ?�H ?�

I�N�������� $E" ��N�� T��?�Z; $&���P $��@ �?S8�@N�� ��P=�N��?O������ A���&�"%��d�U���&L�#P.@�HJ��N���U�"#� �?S8��N��S ULP P�T@PE��"�" $&L������;LU�T!�4"�� P��� �?S�&��?$E"#� S5���M�>&����8�@� ��"#Q ��P P���P=�N��?O����4H�;LU�� ���>��N���Z�?&�;L��Q $4�?�%$'� & �?S8�@N�� ��P(����#$��N�Q~�=��� ��T@NL$����� ���4� "#��&��?OLP� � �:�#$E�?&�T!�4" �:&V@LI���@��N���&�����d�UL$���4" �>& U�Q O����2� �:S3$'�@���Z�?�#$��&�" �?S���N��9��P(����#$��N�QB�:S���N�� ���Z;L���M�?S ��?4H��N U�" ��� $&�T!���4��"#� ��N�� �#$Q9�9T!��Q9=LP�! L$�m@��G�JN��9"��:Q9��=�N���&���Q ��&���&<�?�#$E"#�4" $& S ��T!�S ������P P��@PE�?��( � ��T@PE��"�"#�4"cH�$ �o��� H T@PE��"@"#�4"JIJ$��N�T��?�Z; $&���P $��@ T@P'�L"#�8�@� �b-���NL$E"JQ9� �#$.� �?���4"��N��M&��! �M"#�4T!�#$��&\�� ���� � ���a���� ������� ��� 3 P P�?IJ$&�( �@PE�?�@(�� � T@PE��"�"%�4" $& ��N��>=��?���@����&<��� $'& ��N�����! �#@ $'�!PE;�" P �:��(��$�?�?�#$E�?&�T!�4"�Ha� "8;L�4"�T!�%$'O��4;�O<@���N��MS5����Q ULPE�?�M$&`�JN������@��Q ���#�a���� �?$E;<��NL$E"�H $'�9T��?& O�� � ;<� �?&L�Z�?(���� U�" $& "#��Q9�>T���"#�4" ����;L�4"@T!�#$O�� �4� T�N��@PE�?��(�� �T@P � "�" � "9��N�� XZY��5 Y \f� \���� �?S � �c"#Q ��P P�� T@PE��"@" , S � � � T@PE��"@"~] � 0 242�2 � � _ HJIJ��$&FE������;LU�T!� �9&���I+"�@LQ O��?P ] � 0�2�242 �� _ �@N��?�8Q>�?�ZT@N��4"M�?&V@GP���������Z" O�U��M��N�� � � "[� 3 "I��>=������ $��U�"/P.@ ; $E;VS ���9T@PE��"�"%�4"�H3IJ�K� P P�?I T@PE��"�" T!��Q9=LP��Q9��&L�Z" $'& ��N��>=��?��������&�"��&LP.@�H�$'& ���Z;L���9�@��( ��� �<"#��&�"/$ET���P $'&L������=��@���Z�?�#$��&\�y* ���@���u� ���4H3IJ�K;L�4� P8IJ$��N �&���&FE5IJ�!$'( N ���4; ��P=�N��?O����f�IP_& �@NL$ ">T���"#��H���N�� Q �?�ZT@N �?S�� P��������� � �?(L��$&�"#�9��N��T@P � "�" T!��Q9=LP��Q9��&L� ] �L0�2�242 �� _ $E" T!��U�&L���4;VOV@<�@N�� Q �:�ZT�NV�?S � �?(L��$&�"#� � Q $'&LU�"��N��8Q>�?�ZT@N9�?S � �?( � $'&�"%� ] � 0�242�2 �� _ �X�JNL$E"�@ $'�!PE;�" ��N��JS5�?P P� I $'&�(>��P(����#$��N�Q H I�N������T@P � "�" T!� Q9=LP��Q9��& �!" �?�@� O���"/$ET���P P.@y� $��IJ�4; ��" ����PI��f@ " Q �?�!T�N��<"�@ Q O��:P �?&�; �T!�������4T!�#$&�(�T!��&L���#$O�U��#$��&>$E"��@��Q9�7���4;��?� ������= � �

�JN������@��Q�� "#�#$ P P�N��:P ;�"���S5�����3����=LPE��T@$&�( ��T@PE��"�"#�4" � OV@ ��T@PE��"@"#�4"��?&�; T@P � "�"�T!��QCE=LP'��Q ��& �Z" �F�

� �-ö÷ò�0�ê^ö÷ê^î�øYì~ø-õ�è=îñì*î%ï ��ô%òsê'é-õQö�ê~î�ø-ì~øYõ�èî

%<��N��f��� $Q9=LP��Q9��& �@�4;��:&�;����4"#�@�4;>��U��8��P(����%$'�@N�Q H�=����%S ���@Q $&�(K"#��� ���Z��Pa�! =����#$.EQ9��& �!"J��&�"%�������Z��P���@L=��4" �?S�;��?�Z� , �!�?&�;L��Q P.@�(���&����Z�:���4;����! ��4H�"%��d�U���&�T!�4; (���&��4"�H

1 v

Page 22: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

��������� , �G���! � ) *+,_.�2�242/, ? F�7�09�:&�; ��=��?���@����& A *-C�.3242�2EC�F�7�0 I�N��������N��8, " � "��?&�; ��N��JCF" � "��?��� P'���@�����Z" S �@��Q ����4�� 6 H T@PE��"�"#�4"����JT@PE��"�"JT!��Q9=LP��Q9��&L�Z"�u� �����#-� ��������� , �?& �4"#�%$'Q>�?��� S5���J��N���"�T!�����G� �4T!����� �C�� � �J��=LPE��T!� ��P P � O<@�� �?&�; �4� T�N T@PE��"@" T!��Q9=LP��Q9��&L� ] �L0�2�242 �� _ O<@ �@N��IJ�!$(�NL���4; T@PE��"�"&] � �" j 0 N � " _ $'& O�����N �@N�� ���! ��K�:&�; ��N�� =��?��������&aHJ�?&�;�?=�=LP.@ 3 P(����#$��N�Q *4A -

1F�J����=LPE��T!�>��P P �K�?&�;���P P�T@PE��"�" T!��Q9=LP��Q9��&L��O<@ �<�?&�;���P P3P���������!"MO<@��>$&��N��J���! ��4HL�?&�; ��P P�P���������Z"�O<@ �9�?&�;9� P P � �?&�; ��P P�T@P � "�"�T!��Q =LP'��Q ��& ��OV@��$& �@N��M=��?��������&aH��?&�; �?=�=LP.@ 3 P(�� �#$��N�Q *4A -

A �J����=LPE��T!�>��P P3P'���@�����Z" O<@ �<�?&�;V��P P �K�?&�;���P P�T@PE��"�" T!��Q9=LP��Q9��&L��O<@��>$&��N��J���! ��4HL�?&�; ��P P � �:&�;9��P P�T@PE��"�"�T!� Q9=LP��Q9��& ��OV@ �9�:&�;9��P P�P���������!"�OV@��$& �@N��M=��?��������&aH��?&�; �?=�=LP.@ 3 P(�� �#$��N�Q *4A -

���J����=LPE��T!�M��P P ���?&�;>��P PuT@PE��"@"�T!� Q9=LP��Q9��& �JO<@ � $&>O�����N>��N����@�! �J�?&�;9�@N��=��?�@������&��?&�; ��P PaP�����@���Z"JO<@ ��H��?&�;��?=�=LP.@ 3 P(����#$��N�Q *4A -

�F����;�; ��N�� S ��U��M�4"%�#$Q �?���4" =������ $��U�"/P.@<��O��!��$&��4;<�?&�;������@U���&���N�� "#U�Q ��"��N��M�@�4"#ULP�8�?S���N�� ��P(�� �#$��N�Q~�

��$(�U���� � , 3 P(����#$��N�Q *`A IJ$��N`A3PE��"@"#A���Q9=LP��Q9��&L�Z"

1 �

Page 23: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

;L��Q ��$&�" $&<=��@�����!$&�"�H�P $�����Z�?��U��@� $& "#�������Z� P &��?�@U��Z��P�P �:&�(�U��?(��4"�Ha�:&�;`*&P��#P���&FET!� ; $&�( �?S�T@PE��"�"/$ET���PMQ U�"/$ET7� 3 P��N���U�(�N ��N�� Q�$&�; �?S�"#���#$&�(<Q>�?�ZT@NL$'&�( IJ$��N���U��$'&�"%�����#$��&��:&�;�;L�!P'���%$'� & ; $E"�T!U�"@"#�4;�N������MQ>��@ &����8��PI��f@ "�O�� IJ�!P P3"#UL$���4; $& ���4��P.EP $ S5���?=�=LP $ET��?�#$��&�"�H��@N��8�! ��?Q9=LP�4"JT�N��L"#��& � ���#$ S @9�@N��8��� O�U�"#��&��4"�"��?Sa��N��M��P(����#$��N�Q��&�� O��@� ��; �?�?�#$����@��?S�"��?Q9=LP����@L=��4"��!% N��?� $ " ��O�"#�������4;>$E" $'& �! �T!�!P P��&L� �?(��@����EQ9��& � �?S3��N����! �=����%$'Q ��& �Z" I $'�@N��@N���=�N���&���Q9��&�� =����4; $ET!���4;�O<@>��N�����N���� �R@ , ��N����P(����#$��N�Q ������U���&�"���T�T!U��Z�?��� ���4"#ULP�Z"J��"�"%� ��&>��"���N�� =��?��������& $E"J"#U�-KT@$��&L�#P.@ PE�?��(��%_��@ =L$ET���P P.@�HL�?Su"/$�� H PE�?��( ���3��N��?& A 1 ��� 8 �MO<@L���4" ' H?������& S �����M"%Q ��P P�� ��PU����:S���N��=��?�Z�?Q9���@��� � ��N��:��T!��&L�����?PE" ��N���&LU�Q O����J�?Sa����=����#$�#$��&�" $&>��N�� � P'( ���#$��N�Q~�X��@ =L$.ET���P PD@�H�� & U�Q O������?S �K* A ����=����%$'�%$'� &�"�"%U�-KT!�4"�S5����"%Q ��P P�� ��PU��4"��?S\H HL�?&�;'�>* ���P���4��;<@ @�$�!PE;�" ���!P $E�?OLP� ���4"%ULP'�!" S � ��=��?���@����&�" �?S8"/$��~H * 1 � 8 ��� Q9����� $ SMIJ�; $ "%����( �?�Z; ��N��9"�T!� ���4"��@N��?� T!� �����4"#=���&�; ��� Q �������@N��?& 1 v =����!T!��& �M�?S��4"%�#$Q �?���4;Q $E"#Q �?�ZT@N\��9�}���a�� ����� ���}� ���� �� � . � �� �� P/& ���Z;L�����@��;L��Q9��&�"%���Z�?��� ��N�� ��T�T!U��Z� T�@<�?S��N�� �:=�=����� $Q �?�%$'� &�"3�?Sa��U��J��P(����#$��N�Q HL�#���Z"%���! �=����#$Q9��&L�JI � "3=����%S ���@Q9�4; IJ$��N�Z�?&�;L��Q P.@M(���&����!�?���4;M�@�! ���:&�;M=��?���@����&���T�T!���Z; $&�( ���8��������&���ULP P $ Q9��;L�!P � ��=��4T@$ S�E$ T�� P P.@�H��9���! �� �?S�� � ��1 OV@L���4" I � "8;L�Z��I�&��?���Z�:&�;L��Q � T�T!���Z; $&�(����>��N���U�&L$ S5����Q; $ "%���#$O�U��#$��&��7�������@N�� 3 �FA�PmP�� P'=�N��:O������0�JN��0���Z"%� � v � 8 OV@L���4"3IJ����� =L$ T�Q��4;}H��?&�;�>=��?��������&�I���" ��O��!��$&��4;�OV@�Q9��; $ S @ $&�(���N���Q �?�M�Z�?&�;L� Q H�"#� � " ��� Q�����= � v �V1Q �?�ZT@N��4"��8��������NL$E"MT���"%��H���N�� =��?�Z�?Q �������Z" �?��� x * 1H * � � ��1�H���* 1 � 8 H��?&�;I�� =����#S5����Q9�4; ��N��8� P'( ���#$��N�Q-S5���!�>* � H�1�HL�?&�; A � %<����O��Z� $'&��4;>�?&�;>T!��Q9=��?�@�4;��N��9�4"#�#$Q �:���4;<"�T!���@�4" IJ$��N<��N�� T!� �����4"#=���&�; $&�(��! ���T!��"�T!� ���4"�� 3 =��?��� S5����QB��N����PQ9� "#� T!��Q9=LP�����>Q �?�ZT@N<IJ$��N �! �� T!� "�T!���@� � v �V1�H���P P�� ��N�����=�� "/$�#$��&�" N��f��� �:&�! ���T!�J"�T!����� P�4"�"���N��?&9� ����d U���P���� � �F�X�JN��M��PQ9� "#�JT!��Q9=LP����� Q �?�ZT@N $E"J;L�����4T!���4;OV@��?&��4"#�#$Q �?���4;�"�T!� ��� IJ$��N �?&�������� �8�?S�P�4"�"M��N��:& v �a19=����ZT!��&L��� 3 ;�; $�#$��&���P P.@��N��8=��@��(��Z�?Q-O���N��f���4"�I��!P P}��& ��P Pa����N����J"#NL$ S �Z"cH�IJ$��N�"�T!�����4" ��N��?��I����@��&������7������E�4"#�#$Q �?���4; O<@ Q9��������N��:& � S_��T!��� � �:S � , ��P P8����N���� �4"#�#$Q �?���4; "@T!�����4" �?����&����Q9�����M��N��:&�� � 8�v * A�vv HLI�NL$ET�NG$ " Q U�T�N>P�4"�" ��N��?& � v � 8 �� ���� � � �?���2��� � � ��� �JN�� &��! ����! �=����#$Q9��&L�9"#N��?I8" ��N��?�M��N��?�M�@N�� � T�T!U��Z��T�@��?S��N��9��P(����#$��N�Q $E" =����4"#���R���4;G$&���N�� T�� "#� �?S�"#Q ��P P3=��?�������@&�"�$& �9�@�4��P.E�P $ S5� �?=�=LP $.ET��?�#$��& , IJ� T!��&�"/$E;L�����4;V��N��9"#�4�?�!T�N S5��� �:=�=����� $Q �?�@����T�T!U�������&�T!�4"M�:S �>T@P �:�#$&������N���Q9�J$& �������@N��u� ��& � "���$ S5��N ��@LQ9=�N���&<@�� �JN�� �! =����#$Q9��& ��T!��&�"1$ "%�Z"�$&�"#�!P�4T!�#$&�(����N���Q9� S5����QB��N�� "�@ Q9=�N�� &V@ �:&�;<"#�4�?�ZT@NL$&�( S ����"1P $ET!�4" $& ��N��>I�N��?P� Q U�"/$ET���P=L$'�4T!�J��N��:���?����"/$Q $ PE�?��������NL$E"}�@N���Q9���X�JN���;��?�Z��"��?��� *&P��#P}T!� ;L��H��?&�; �@N��3P��&�(���N�?S���N���"#�!P�4T!���4;��@N���Q9�M$E"#H * � 1 ��H�"#�>��N��?��IJ��"#��� x * 1H * 1 � 8 H��V* � 1 ��H�?&�; I�� �Z�:& ��N��9��P(����%$'�@N�Q S ���2� * � H 1�Ha�?&�; A � 3 ��N����4"#N��?PE; �?S���* v 2��9I���"U�"#�4; $&����Z;L���M���C��P��������U��M�?=�=����� L$Q �?��� Q �?�!T�N��4" %5$ �o���H}��N�� =���� (��Z�?Q ��U���=�U��Z"

1�1

Page 24: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

����������� � � � � � ������������������������������ � � � � � ����������������� � � � � � ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

���������� �� �!�"� �����������������������������# $� %��� �!� � ���������������&� �'�!���'�'( ������� ( ����� ( ������� ( ����� ( ������� ( ������� ( ������� ( ����� ( ������� ( ����� ( ������� ( ����� ( ������� ( ������� (�( ����� (�( ��� (�( ����� (�( ��� (�( ����� (�( ��� (�( ����� (�( ����� (�( ����� (�( ����� (�( ����� (�( ����� ( ������� (

���������� �� !�!� �!��� �������������� � ���������# $� !�)�%��� �!���������������&� � �%� � �!(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�( � (�(�(�( � ( � (�( � ( ������� ( ����� ( ������� ( ����� ( ������� ( ����� ( ������� ( � (�( � ( ������� ( ����� (�( ����� ( ����� (�( ����� ( ����� (�( ����� ( � ( ��� (�( ����� ( ������� (�( ����� ( � (�( ��� (�(�( �

���������� �� !� � �"�"���������������%�'���������# $� !�"�'� �%����������������� $� '�)���"� � ( ������� ( ����� ( ������� ( ����� ( � (�( � ( � (�( � ( ������� ( ����� ( ������� ( ����� ( ������� ( ����� ( � (�( � ( � (�( � (�( ����� ( ����� (�( ����� ( ����� (�( ����� ( ����� (�( ����� ( � (�( � (�(�(�( � ( � (�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(

���������� �� !�%���"�����������������%�!���������# $� !� � ��������������������&�*��'��� �"( ������� ( ����� ( ������� ( ����� ( ������� ( ������� ( ������� ( ����� ( ������� ( ����� ( ������� ( ����� ( ������� ( ��� (�(�(�( ����� (�( ��� (�(�( ��� (�( ��� (�(�( ��� (�( ��� (�(�(�( � (�( � (�(�(�(�(�(�(�(�( � (�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(

���������� �� !���%��"�%��������������%����������# $� )� �%�!�%�����������������&�*� �)� ���)������������������������������������� ( � (�( � ( � (�(�(�(�(�(�(�(�(�(�( ������������������������������������� ( � (�( � ( � (�(�(�(�(�(�(�(�(�(�( � (�( ����� ( ����� (�( ����� ( ������� (�(�( ����� (�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(

��$(�U���� � , ���4�:�ZT�NL$&�( S � � � T@P �:�#$&����8��N���Q �M$& ��������N��7����& � " ��$ S5��N ��@LQ9=�N���&<@��&LP.@ ��N�� "%� Q>�?�ZT@N��4"�IJ$��N`! z ��H ' � ���!P�4T!���4;�=��:���Z" �?S���N�� ��U���=�U�� S � � � * A H"#�������4;VO<@ ;L�4T!���4� "/$&�( "�T!�����4"cH��?����; $E"#=LPE��@ �4; $& ��$(�U������F� ����T�N OLP� T�Q T!�����@��E"#=���&�;�" ����� "/P $ET!�>�?S���N�� ���! ��8I�NL$ET@N �?=�=����� L$Q �?���!P.@ Q>�?�ZT@N��4"���N�� ��N���Q ����������4��T�NVOLP'��T�Q�H���N������!PE;,+.-0/�1 (:$D� �4"M��N��9�4"%�#$Q �?���4;<"@T!������ !�" � H H���N������!PE;,+3254.60/

(?$.���4" ��N�� �! �� T!��"�T!������! " � H Ha�?&�; ��N��S���!PE;87940/�:3;>(?$.���4" �@N�� �!�?�#$� ! " � ! " � )����@���N�� ��T�T!U��!��T�@ �:S ��N�� ��P(����#$��N�Q ��&���NL$E" �! �4T!U��%$'� & , ��N��M�Z�?�#$�� !�" � !�"�� �?�%$'�4" P $���#P��?����U�&�; � ������T�N��?=�=����� L$'Q>�?���MQ �?�!T�NG$ " $ P PU�"#���Z�:���4; OV@ �>"#���#$&�(>I�NL$ET�N P��T��?���4"��N��MQ �?�ZT@N��4"�O����#IJ����& Q U�"/$ET���Pa&����@�4" , ��N��M"�@LQ O��?PE"� �?&�;=< ����=����4"#��&L����Q>�?�ZT@N�?&�; �VQ $E"#Q �?�!T�NaH����4"#=��4T!�#$.���!P.@�� ���4"/$E;L����N�� �! ���T!� � T�T!U����@��&�T!���:S ��N�� ��N���Q9�%����Z"#� OLP'��T�Q ' H�IJ� T��?�!T�N "%�������Z��P���T�T!U�������&�T!�4" I N������9��N��9=��:��������& �:&�;<��N�� ���! ���PQ9� "#�JQ �?�!T�N�;LU��#$&�( P��&�(9"#��d U���&�T!�4"G%_&��! ���S � U���OLP� T�Q�" ' H���"�IJ�!P P���"J�?& ��T�T!U��RE����&�T!�8I N������J$& �@����Q9�4; $E�?����E_"/$��4;�"#��d U���&�T!�4"��?Sa�! �� T!��Q �?�!T�N9�?��� $'&L�����#PE��T!�4; IJ$��N"#��d�U���&�T!�4" �?S�S ULP P3Q $E"#Q �?�!T�NB%5PE��"%��OLP� T�Q ' �����> �}��� �?� � ÿ����� �� � � � � 3 P(�� �#$��N�Q *4A-N���" ��P�?I ��"�@LQ9=������%$ T�� P T!� Q9=LP�! TE$'��@<O�U�� $E" &���� Q9�4�:& � ����O�����S_��"#� =��Z��T!�#$ET���P���&����BP/& �GPE��"#� �! �=����#$Q9��&L�4H�IJ�=�����=��L"#� �@����� ��PU��?���>��N����4"%N��?PE;�"�I $'�@N ���4"%=��4T!���@� ��N�� "1$���~H �?S���N�� =��?��������&�"S ��� I�NL$ET@N $� O��4T!��Q �4" S ��"%��������N��?& ��N���� ��N����8� &��4"�� ��� �@NL$ " ��&�;}H�IJ��N��f��� =����RES ���@Q9�4; ��N�� "#�4�?�!T�N��?SJ=������� �4" �?S���"#��d U���&�T!�4;<=��@�����!$&�$& �>=������@�!$'& ;��?�Z�?O���"%�U�"/$&�(M$Q9=LP��Q9��&L�Z�?�#$��&�" S5���3��N���&���$.��� ��P(����#$��N�Q H ��N�� ��"#NL$ S5�RE_��;�;���� P'( ���#$��N�Q O<@���:�44�7E����?���4"��:&�;��8� &�&����$] � _ H���N�� �cT!��U�& �%$'&�(��9��P(����#$��N�Q O<@ �J�?�44�7E����:���4"��?&�;)����#P��O�����(y]�� _ H �:&�;<��U��M* ��&L����E�A��?�%P'����P(����#$��N�Q&� 3 P��N���U�(�N ��N��>=��������!$&�"9�?�@���&�T!� ;L�4;��7����� �?&���P=�N��?O�����IJ$��N�� S5��I-;L� ���&�" �?S�"�@LQ O��?PE" ��&LP.@�H}��N�� ;��?�Z�?O���"%���PE"#�9T!��& �!��$&�" �?�?�#$��U�" $&LS � ��Q �?�#$��&��?&�;>T!��Q9Q9��&L�Z"�HL"#���@N��?��IJ��Q���=��J��N��M��P=�N��7EO���� T!� &�"/$E"#�#$&�(��?S ��P P 3 �FA P�P�T!� ;L�4"c%_IJ$��N � * � 1 � ' � ���4"/$E;L�>��NL$E"�HaIJ�9��P P� IJ�4;�!&���������Q �:�ZT�N�� "�@ Q O��?PE"JO����@N�$& ��N��M=��:��������&�"��:&�; $'& ��N����@�! �4H�"/$&�T!� ��N���=����E���!$& ;��:�Z�?O���"#�MIJ� U�"#�4; T!��&L�Z��$&�" "#U�T@N � &���������Q �?�!T�N��>"�@LQ O��?PE"����JN�� =��?��������&�"

1 A

Page 25: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

U�"#�4; �?�@�M�?S "1$����H *21 s S ����C>S �@��Q ����� � 1C%5S5����Q H *21 � 8 �@� H * � v � 8<' ���� ���4��T@N �?S3��N�� � P'( ���#$��N�Q "�H���N�����O�"%���R���4;>�#$Q9� T!��Q9=LP�! $��@�T@P� "%�!PD@��?(������4"

IJ$��N ��N����@N������R@�� ����� Q &LU�Q9���#$ET���P ����(����4"�"1$'� & S5����Q ULPE�?� IJ����O��!��$& ��N��?�9��U��* � & ����E�AJ�?�#P� ��P(����%$'�@N�Q O��4T!��Q9�4" S ��"%�����9��N��?& ��N�� �c"#NL$ S �RE_� ;�;�� �?=�=��@� ��T@N S ���=��?��������&�" PE�?��( ������N��?& �GS ��I+NLU�&�;L���4;�"�H��:&�;�S_��"#����� ��N��?& ��N��>&���$.��� ��P(����#$��N�QO���@���&�;V����U�( NLPD@V�1I $ T!�>��" PE�?��( � ����N��@�4"#N��?PE; �~�JNL$E" S � T!�M��N��?���@N�����"#NL$ S5�RE_��;�;��Q9����N���;V$ " ����U�(�NLP.@ �1I $ T!� "1P'�?IJ��� ��N��?& ��N��>&���$.��� ��P(�� �#$��N�Q T!��Q9�4" S ��� Q ��N��P �:��(�� � � P'U��4" �?S$H �@N��?� I��>U�"#�4;}H��?&�; ;L�L�4" &����9T!��&L���Z� ; $ T!� ��N�����O�"#���R�?�?�#$��&$'& ] � _ ��N��?�9��N�� ��"#NL$ S5�RE_��;�;���Q ����N�� ; ( ���Z" ��N������>�#$Q9�4" S � "#����� ��N��?& ��N���&���$.�����P(����#$��N�Q S5����H � �F� P_&�;L���4;}H���NL$E"�=�N���&�� Q9��&���& "#����Q>" S5����Q �@N�� S � T!����N��?�"#�������Z��P�=��:�Z�?Q9�������!"��?S���N�� ��P(����#$��N�Q T��?& ��&LP.@ O��8=�� TRQ��4; $&>��N���"��?Q9��Q>��T�NL$&��I�� �Z;��?&�;>=�����T!�4"�"#�4; "/$Q ULP�Z�:&�����U�"/P.@�S5���0�����R@�"#Q ��P P H �

3 " S_�?� ��" ��N�����T!��U�&L�#$&�( � � P'( ���#$��N�Q $ ">T!��&�T!����&��4;}H ��N�� ��N����4"#N��:P ; N��4�f�VE$ P.@<;L��=���&�;�" ��&���N�� =��?�Z�?Q ������� ������� P_&���N�� �! =����#$Q9��&L�4Ha��N��S� ��PU��9� O�"#���R���4;S ���� ����� I � " ��� 1F-�$&�;L���4;}H���N�� "�@ Q O��?PE"�$& �@N���=��:��������&�"��?=�=��4�?��IJ$��N S5����d U���&�T�@P'�4"@" ��N��?&����+�! �T!��=�� S5��� ��&�� "#=��4T@$E��P�=���;�; $&�( "�@LQ O��?P3�?S3S5����d U���&�T�@ ��� 1 � �JN����N����4"#N��?PE;>��O��!��$&��4; $'&>��NL$E"�"/$��U��:�#$��&9$E"J�@��U�(�NLP.@ 1SQ �#� 3 "/$Q9=LP�M�! ����Z�?=��?PE�?�#$��&@�$�!PE;�"9�@N�� ��N��@�4"#N��?PE;�" � 1�H � � v H��?&�; � ��v Q �DS5���$�?��PU��4"� ����� * ��� ��v H ��� ��vv H�?&�; ��� 1 � 8 HL���4"#=��4T!�%$D� �!PD@�� 3 "���P���4� ;<@ Q9��&L�#$��&��4;}H�IJ�8U�"#�4; �9"#�?S5��$Q9=LP��Q9��& �!�7E�#$��& �:Su�3�X� I NL$ T@N�"#U<>a���Z"�S5����QDPE�?��( �8T!��&�"#�Z�:& � S ��T!�@���Z"�$&9$�Z" �#$Q9�MT!��Q9=LP�! $��@��3 P��N���U�( N ��U���� P'( ���#$��N�Q "%N���ULPE;<IJ���RQ O������@����IJ$��N<�@N�� �3�X�-"#����=<=����#S5����Q9�4;OV@�;L�4; $ET��?���4; T@NL$=�"�H�������& �9"#=����4;<E5U�=��:S � S_��T!����� ��v�vv $&���U�� $'Q =LP'��Q ��& �Z�:�#$��&I�� ULP ;G&�����@ $�!P ; � ��N����4"%N��?PE;>P�?I���� ��N��?& A Q � S ����������8* ��� ��v�v �� ��� ��� � � � � ��������� �� �JN��9�?U��@N����Z" I��?��Q P.@���N��:&FQ �J��O�������� �?$'���@�Z�>I�N�� "#��Ed�U���&�T!�4; ��N���I�N��:P'��"�@LQ9=�N���&<@<$&2*&P �#P T!��;L��HJ����(�����N���� IJ$��N ����N����9Q U�"/$ET���P=L$'�4T!�4"cH��?&�;GQ ��;L�M��N���Q S �����!P.@ �f� � $ PE�?OLP� ��&���N��*% � � �� ê / ê�é-ê~î%ç�ê'ë

] ��_���� ��� �������������� �8��&����Z��P $��4;�"#���%$'&�( Q �?�ZT@NL$&�(������(1*5! ; 7�Y�� 5 Z<� ;�"$#?H8 % � � ��� ' H ��v A ��% ��v � � �

]a1 _�'&� �($(� ��)�+*,�.-/�0�21435 �768�)�:9;�0�< ��/=?>�@BAC D�/E7�GFH�IEJ6K�MLN� 3 =��?��E�����@&<Q �?�ZT@NL$&�(<�?=�=���� ��T@N<���G$Q �?(���T!��Q9=����4"@"/$��&\�~P/& ��[#Y4X!\!\U��8W�V;:W Y�� �W \=\<8E[���POQO'OR�U� �5\4[�������8�Y����Y�7�Y��[� \�[#\���X!\MY��S�U����; \ �J[#Y4X!\�W!W:8W�V; :/T ��Z�W���� ��\ :� �X89� ��\4[�Y?�����&% � � � 8<' H =�=\� A � ��% A � 8 �

] A7_�'&� �($(� ��)�U*,�V-J�0�U-W /XGYDZ 5 &'� � �0�[ ���=\>�@�A] ��/E7�GF^��E/6_�LN� )3�?�@������&Q �:�ZT�NL$&�( IJ$��NDQ $E"#Q �:�ZT�N��4" , � "/$Q9=LP� �Z�?&�;L��Q $���4; ��P(����#$��N�Q �?&�; $�Z"

1��

Page 26: A Randomized Algorithm for Approximate String Matching · 2002. 9. 5. · CERIAS Tech Report 2001-05 A Randomized Algorithm for Approximate String Matching Mikhail Atallah1, Frédéric

�?&�� PD@�"/$E"�� P_& 7�Y��M�[89� ���5Y�[�89��Y �0�����5\4[��&5B���5X�V8W�V; � �J[#Y4X!\Z\���8W�V;?WJY��G�W \�=\V8�[m�1G� ��Z<��Y�� 37��5�Y?W�89Z<� \�Y?�`8W� =�ZLX�W�Y�� : 1M[�8��Y�� � : 1 5�[�89Y�������5 � 3:" : "������ �% �����#P $&aH � � ��1 ' H 3 � 3 =�� "%���?P $ET!��HV* �A�����T�N���Q9� ����H���� �M��P $ P_H��?&�;S�u*��?&LO����4H��;�"��H ���?P � 8 � �>�?S T \ZXf��Z [#\�MY��5\cW�8W� 7�Y��5 ZV�5\�[ �}X�8�\���XZ\�H ��=��#$&�(����RE �3���#PE�?(�H=�=\��1 �]% � v �

] � _� 5 @I � K9 �& 5 �W���V�Q�H�0�J ��/=,1�D�/� 5 &'�Q1����H� 3 &���I-�?=�=���� � T�N���� ���! �"#�4�:�ZT�NL$&�(�� 7�Y����'; 1 7 5����4% � � ��1 ' H�� �I% ��1F�

]�� _� 5 @I � K9 �& 5 �W��� � �H�0� ��/= � 5 �G( 5 5 ��� ������U� ��� "#�9�?&�; =��Z��T!�#$ET���P�?=�=��@�4 L$Q �?����"%���#$&�( Q>�?�ZT@NL$'&�( � �U����Y�[��<; ��[#Y4X!\�W!W ; T \���� ;����?H � % � � � 8<' HF1 � %1��<�

] 87_�� �B��X/� 5 ���D� 5 �G*,�0�� D�/=��� /&G& 5 � ��LN� =�\�67� �Y ; Y�[�89�WV� W��F�JN��#A3PE�?����&�;L��&) ���4"�" �J S5���Z;� &L$D� ���Z"/$��@ )3���4"@"�H )���I��3� �RQ�H � � ��� � % $��N � =����!S_��T!� OV@!����$�M��P $ P �

]�� _"'6 � X�� 5 � � *,��-J�0�Q ���= � �& 5 ��� �D�)� *,� > � ���@�#$&�(�E5Q �?�ZT@NL$&�(<�?&�;�����N����=�����;LU�T!�Z"��7P/& 7�Y��5 Y \[6u8W� 38Y���X!Y�� 5 ZV�����8EY�� � ��[#Y4X�; ���"1 5 6 1*5S� 1 5�5 Y; 5 ���W ;� 3u� 5�Y?W@; : � \f�$#�Y [&% : "���'(� � %�)3���7� $ ;L��&�T!��H��G�7PU� H � ��� � ' H 3 Q9�����7*��?��N\� ��� T7�H=�=\� � � A % � 1 �F����P 3 * % 3 * � )3����T7�H �3�?P � �#P�PU�

]�� _� D�7(���)�) �*�H� ��� "#����P(����#$��N�Q>"�S ���J�?=�=����� L$'Q>�?���!P.@9T!��U�& �%$'&�( Q $E"#Q �?�!T�N��4"���U�[� Y [U�'; ��[#Y4X!\�W!W@; T \���� ;,+.-?H 1C% � � � AT' H�� A % 8�v �

]�� _� ��Z�&��)�0/��21 � =\ \ ��[���Y��9X!Y�� 5 ZV�5\�[#5�[#YU; [�������8W�V;�;43�Y�Y;0��Ha"#�4T!��&�; �4; �3 ;�; $E"#��&FE %<�4"/P��@B)3U�OLP $E"#NL$&�(LA����H �J�4��; $&�(�H\*���"�"[�H � � � � � ����Q $& U�Q9���%$ T�� P��P(�� �#$��N�Q "�H 3 ;�; $E"#��&FE %<�4"/P��@ �����#$�4" $&=A�� Q9=�U������ � T@$��&�T!�K�:&�;BP_&LS5����Q �(E�#$��&~) ����T!�4"�"/$&�(��

] ��v7_� ���] ��� �5 Z)� > �6�V� � -�T@$'��&L��"#���%$'&�(>Q �?�!T�NL$&�(��G*��?&LU�"�T!�#$=��4H87?��N�&�"*$ ��=FEQ $&�"9 &L$.�����Z"/$��@�H � � � �V�

] ����_� Z�� �� �>��0� ��/= >GA] �)�)����G=)�:1 ���H� 3 =��?��������&FE5Q>�?�ZT@NL$'&�(VQ9� ;L�!P S ���$&L����U�"/$��&<;L�����4T!�#$��&\� P_& ��[#Y�XZ\!\U�89�<;?W8Y��M�W \:� ����8�Y�� ��Y 7�Y�� 5 ZV�5\�[[��\!X�ZL[U8W� 37�Y����\4[#\���XZ\S% � � ��� ' H =�=\� ��� %T1 � �

1 �