Improved Approach for Exact Pattern Matching
|
|
|
- Priscilla Morris
- 9 years ago
- Views:
Transcription
1 59 Improved Approach for Exact Pattern Matching (Bidirectional Exact Pattern Matching) Iftikhar Hussain 1, Samina Kausar 2, Liaqat Hussain 3 and Muhammad Asif Khan 4 1 Faculty of Administrative Sciences, Kotli, University of Azad Jammu & Kashmir 2 Faculty of Administrative Sciences, Kotli, University of Azad Jammu & Kashmir 3 Faculty of Administrative Sciences, Kotli, University of Azad Jammu & Kashmir 4 Faculty of Commerce, Kotli, University of Azad Jammu & Kashmir Abstract In this research we present Bidirectional exact pattern matching algorithm [20] in detail. Bidirectional (BD) exact pattern matching (EPM) introduced a new idea to compare pattern with Selected Text Window (STW) of text string by using two pointers (right and left) simultaneously in searching phase. In preprocessing phase Bidirectional EPM algorithm improved the shift decision by comparing rightmost and mismatched character of Partial Text Window (PTW) to the left of pattern at same shift length. The time complexity of preprocessing phase of BD exact pattern matching is O(m) and searching phase takes O(mn/2). The proposed Bidirectional EPM algorithm is effective than the number of existing algorithms in many cases. Keywords: Algorithm, pattern matching, exact pattern matching, searching, Bidirectional. 1. Introduction String matching algorithms, also called string searching algorithms are a dominant class of the string algorithms which aim to find one or all occurrences of the string within a larger group of the text [1]. String matching is further divided into two classes exact and approximate string matching. In exact String matching, pattern is fully compared with the selected text window (STW) of text string and display the starting index position. In approximate string matching, if some portion of the pattern matched with STW then it displays the results. The purpose of string matching algorithms is to find all occurrences of the pattern in the text string [1]. In this paper, we discuss in detail Bidirectional exact pattern matching algorithm based on window sliding method of exact string matching problem which will be helpful in various needs of pattern matching. Literature review of previous exact string matching algorithms used to complete this research. After the publications of Knuth-Morris-Pratt and Boyer-Moore exact pattern matching algorithms, so for there have hundreds of papers published related to exact string matching [19]. According to literature survey, all the authors focus to reduce the number of character comparisons as [8] and processing time as [14, 9, 10] in both worst/average cases. In this paper we compare Bidirectional EPM algorithm's results with Boyer-Moore [3], BM Horspool [9], Quick Search [10], and Turbo BM [14] algorithms which considered efficient in terms of number of character comparisons and attempts take to complete the processing of selected text string. In this paper, we present a brief literature review of some existing exact string matching algorithms in Section 2. Section 3 describes the basic concept and working of Bidirectional algorithm with brief example. Then we compare the Bidirectional EPM algorithm with some existing algorithms in terms of their comparison order, preprocessing space complexity, preprocessing time complexity and searching time complexity (best, average and worst). In Section 4, we present experiments that compare the Bidirectional EPM algorithm with existing
2 60 algorithms. Finally, in Section 5, we conclude it on the bases of experiments results. 2. Literature Review Brute force (BF) [1] or Naïve algorithm is the logical place to begin the review of exact string matching algorithms. It compares a given pattern with all substrings of the given text in any case of a complete match or a mismatch. It has no preprocessing phase and did not require extra space. The time complexity of the searching phase of brute force algorithm is O(mn). Knuth-Morris-Pratt (KMP) [2] algorithm is proposed in 1977 to speed up the procedure of exact pattern matching by improving the lengths of the shifts. It compares the characters from left to right of the pattern. In case of match or mismatch it uses the previous knowledge of comparisons to compute the next position of the pattern with the text. The time complexity of preprocessing phase is O(m) and of searching phase is O(nm). Boyer-Moore (BM) [3] algorithm published in 1977 and at that time it considered as the most efficient string matching algorithm. It performed character comparisons in reverse order from right to the left of the pattern and did not require the whole pattern to be searched in case of a mismatch. In case of a match or mismatch, it used two shifting rules to shift the pattern right. The time and space complexity of preprocessing phase is O(m+ ) and the worst case running time of searching phase is O(nm + ). The best case of Boyer-Moore algorithm is O(n/m). Boyer-Moore Horspool (BMH) [9] did not use the shifting heuristics as Boyer-Moore algorithm used. It used only the occurrence heuristic to maximize the length of the shifts for text characters corresponding to right most character of the pattern. It's preprocessing time complexity is O(m+ ) and searching time complexity is O(mn). Quick Search (QS) [10] algorithm perform comparisons from left to right order, it's shifting criteria is by looking at one character right to the pattern and by applying bad character shifting rule. The worst case time complexity of QS is same as Horspool algorithm but it can take more steps in practice. Boyer-Moore Smith (MBS) [11] noticed that by computing the BMH shift, sometimes maximize the shifts than QS shifts. It uses the bad character shifting rule of BMH and QS bad character rule to shift the pattern. It's preprocessing time complexity is O(m+ ) and searching time complexity is O(mn). Turbo Boyer Moore (TBM) [14] is variation of the Boyer- Moore algorithm, which remembers the substring of the text string which matched with suffix of pattern during last comparisons. It does not compare the matched substring again; it just compares the other characters of the pattern with text string. In Reverse Colussi (RC) [15] algorithm comparisons are done in specific order given by the preprocessed phase. The time complexity of preprocessing phase is O(m2) and searching phase is O(n). Two Way algorithm (TW) [17] proposed by Crochemore and Rytter in The Two Way algorithm uses an idea related to the short maximal suffix of the pattern to calculate the shifting lengths of pattern in text string. The Two Way algorithm's time complexity with the short maximal suffix is O(n). Berry Ravindran (BR) [18] algorithm proposed by Berry and Ravindran in 1999, it performs shifts by using bad character shifting rule for two consecutive characters to the right of the partial text window of text string. The preprocessing time complexity is O(m+( )2) and the searching time complexity is O(mn). 3. Bidirectional Exact Pattern Matching 3.1 Basic Idea Proposed Bidirectional exact pattern matching algorithm compares a given pattern with selected text window (STW) from both sides, simultaneously, one character at a time within the text window. It did not require the whole pattern to be searched if a mismatch occurs. In case of a mismatch or a complete match of the pattern, the mismatched and right pointers scan for the mismatched and rightmost characters of the STW to the left of the related text characters in pattern at same shift s length. Then align the pattern to new selected text window of string when rightmost and mismatched characters matched at same shifts in left of pattern. A complete match will be found when the both left and right pointers cross each other at the middle of the pattern. The comparison order of pattern's characters with selected text window can be, as shown in the figure 1. Pattern String Left Pointer Right Pointer Text String Comparison Order Figure 1: Comparison order of pattern's character with STW.
3 Working of Bidirectional EPM Bidirectional EPM algorithm is basically based on the bad character rule of Boyer-Moore algorithm where only one character is used to identify the shifts. Bidirectional EPM algorithm has number of cases to shift the pattern maximum to right of text window. Suppose T(1 n) is the text string and P(1 m) is the pattern and we compare P(1 m) with T(i i+m-1) from both sides of the pattern, one character at a time, start from right side of the pattern. Case 1: If mismatch cause by right pointer at most right position T(i+j-1) P(j) or by left pointer at most left position T(i) P(1) of the pattern here j = m then scan P(j- 1 1) for character P(j ) which is equal to T(i+j-1). If character found in the pattern then align character P(j )=P(j-1 1) with T(i+j-1) as in Figure 2. with T(i+j-1) and P(j )=P(m-1 1) with T(i+m-1) if shifts of both characters are at equal length as shown in Figure 4. Figure 4: Mismatch by left pointer other than left most character. Case 4: If equal shifts of mismatched (either cause by right or left pointer) and right most characters are not found, and P(j )= T(m-1) is found at the left of mismatched character P(j) of the pattern, then align P(j ) with T(m-1) as in Figure 5. Figure 2: When right most or left most character mismatched. Case 2: If mismatch cause by right pointer at position T(i+j-1) P(j) where 1 j m and it is not the right most character of the pattern then scan P(j-1 1) for character P(j ) which is equal to T(i+j-1). And also scan P(m-1 1) for the character P(j ) which is equal to T(i+m-1). If characters found in the pattern then align character P(j )=P(j-1 1) with T(i+j-1) and P(j )=P(m-1 1) with T(i+m-1), if shift s length of both characters are equal as shown in Figure 3. Figure 5: Mismatched character did not find in pattern. Case 5: If equal shifts of mismatched (either cause by right or left pointer) and right most characters, did not find at the left of mismatched character P(j) of the pattern then align left most character of pattern with T(i+m) as shown in Figure 6. Figure 6: Maximum shift; if rightmost character did not find. 3.3 Example of Bidirectional EPM Figure 3: Mismatch by right pointer other than rightmost character. Case 3: If mismatch cause by left pointer at position T(i+j- 1) P(j) where 1 j m and it is not the left most character of the pattern then scan P(j-1 1) for character P(j ) which is equal to T(i+j-1). And also scan P(m-1 1) for the character P(j ) which is equal to T(i+m-1). If characters found in the pattern then align character P(j )=P(j-1 1) Here we give a short example of proposed algorithm, where T= ABCDGHDBDHABABBADBHBBBDABH DBABDABBADBH and P= ABDCGHDB. Attempt 1: 6 comparisons
4 62 In first attempt, mismatch caused by left pointer and it is not the leftmost character of the pattern. So, Case 3 should be applied to perform shift to the right of text window. Attempt 2: text string where the rightmost character of pattern will align. If mismatched character did not find in the left of pattern at same distance, then return the index value according to rightmost character found otherwise return index where shift of whole pattern take place. Comparisons 2: Again mismatch caused by left pointer but it is leftmost character of the pattern. Here Case 1 should be applied to perform shift by considering rightmost character of the text window. Attempt 3: Comparisons 3: Mismatch caused by right pointer now and it is not the rightmost character. Here Case 4 should be applied because the mismatched and rightmost characters are not found in the pattern on equal shifts. Attempt 4: Comparisons 2: Here Case 1 should be applied because mismatch cause by left pointer at leftmost position of pattern. Attempt 5: Comparisons 2: This example takes 15 comparisons in 5 attempts. 3.4 Implementation of Bidirectional EPM Comparison Phase Preprocessing phase finds occurrences of the rightmost and the mismatched characters of text string in the left of the pattern, when a mismatch caused at any position of the pattern. This phase helps to take decision of moving pattern to the right of the selected text window. As algorithm 1 show, preprocess function pass a pattern string, rightmost and the mismatched characters of the text string, and the index of mismatched character. For loop, of this phase scans pattern from second last to leftmost character of the pattern string by decrementing the indexes of pattern. Inside for loop, if rightmost character found in the pattern then check for the mismatched character at same distance as in the selected text window then returns the index of Input: Pattern string of length m. Output: Return index k where last character of P aligns. Preprocessor ( P[ ], char rm, char mm, int Mindex ) { k -1; y length[p] - 2; for i y to 0 if P[i] = rm if mm 0 AND P[mm] = mm k i; i -1; else if mm < 0 k i; i -1; else Break; return k; Algorithm 1: Pseudocode of preprocessing phase Similarly, the flowchart of Algorithm 1 is shown in Fig. 7. k k+1 Searching Phase If j-dif < 0 shift k; Break; Return shift End Start k 1, shift P.length; For P.length > 0; If P[j] = T[i+m-1] If j-dif 0 and P[j-dif] = T[(i+m-dif)-1] shift k; Break; Figure 7: Flowchart of Algorithm 1. Searching will be performed between the pattern and the selected text window of the text string. Algorithm 2 shows, the searching phase of bidirectional exact pattern matching algorithm; as external while loop which is used to shift the pattern to right of the text window.
5 63 Input: Text string of length n and Pattern of length m. Output: One or all occurrences of pattern in text string. BidirectionalPatternM (String T, String P) { n T.length; m P.length; i m-1; while i < n left 0; right m-1; while left < right if P[right] = P[ i - left] AND P[left] = T[i-right] if (left + 1) right "We have match at:" (i+1) - m; i i+((m-1) - preprocessor index); left left+1; right right-1; else if P[left] T [i-right] i i+((m-1)-(preprocessor index); else i i+((m-1)-(preprocessor index); Break Inner While; Algorithm 2: Pseudocode of searching phase Two pointers are used to compare pattern with the selected text window within the second while loop. A complete match will be found, if both pointers cross each other at middle of the pattern. Else, if mismatch caused by left or right pointers, then preprocess function will be executed to calculate the shifts where next attempt will be performed. The flowchart of searching phase of bidirectional exact pattern matching is shown above in Figure Analysis of Bidirectional EPM Preprocessing Phase The worst case time complexity of preprocessing phase of proposed algorithm is O(m), because only one loop is used to scan the pattern to find the rightmost and mismatched characters. Searching Phase The inner while loop runs at most 'm/2' times so, its worst case complexity is O(m/2) because two pointers are used within loop. The worst case time complexity to shift pattern to right of the text is O(n) because the external while loop runs 'n' times at most. The total time complexity of searching phase is O(m/2).O(n), because the inner loop runs within external while loop. It can be written as O(mn/2). Bidirectional algorithm requires O(m) extra memory space in worst case to execute in addition with the text and pattern string. Table 1: Complexities of Bidirectional and other algorithms Start n T.length, m P.length; i 0, j 0; while i n-m left 0, right m-1; while j < (m+1)/2 P[right] = T[i+right] and P[left] = T[i+left] P[right]!= T[i+right] i i+preprocessing function; i i+preprocessing function; End left left+1; right right-1; j = (m+1)/2-1; "Pattern matched at:, i; i i+preprocessing function; The table 1 shows the preprocessing, searching and space complexities of some existing and Bidirectional EPM algorithm in asymptotic notations. The searching phase of Bidirectional algorithm takes O(mn/2) time to execute which is considered efficient than existing algorithms. The comparison order of Bidirectional EPM algorithm is from both sides of the pattern string. Figure 8: Flowchart of Algorithm 2.
6 Results and Discussions In order to assess the efficiency of the Bidirectional exact pattern matching algorithm with existing techniques, we compare proposed technique with existing four techniques (which are considered fastest in practice) named as Boyer- Moore [3], BM Horspool [9], Quick Search [10], and Turbo BM [14]. We pass a text string of 1125 characters and compare patterns of different sizes as 4, 6, 8, 10, 12, 14 and 16 respectively from all these algorithms. Boyer- Moore [3], BM Horspool [9], Quick Search [10], and Turbo BM [14] and Bidirectional algorithms are implemented in java and results are shown in the form of graphs in figure 7 and Shift Based Comparisons Total numbers of shifts made by each algorithm using different pattern lengths are shown in graph form in figure 9. As results in the graph shows that Bidirectional algorithm took minimum shifts as compare to other four algorithms. Results also shows that in short pattern length, number of shifts is closer to other algorithm but when pattern length is increased Bidirectional algorithm becomes more and more efficient as compare to other algorithms. Figure 10: No. of characters compare base Comparison. Results also shows that when long pattern is used then number of characters compare by Bidirectional EPM algorithm are less than other algorithms. 5. Conclusion This research presents a new idea to compare pattern with selected text window from both sides of the pattern simultaneously by using right and left pointers. The preprocessing phase of Bidirectional EPM Algorithm improves shift decision by scanning rightmost and mismatched (either caused by right or left pointer) character of the selected text window to the left of pattern at same shift s length. Asymptotic analysis shows that the time complexity of Bidirectional EPM algorithm is O(mn/2) in searching phase and O(m) in preprocessing phase. Shift base comparison results show that Bidirectional algorithm is faster than existing algorithms. Numbers of characters compare by Bidirectional algorithm are also less than existing especially when long pattern is used. Figure 9: Shift Base Comparison 4.2 No. of Character Based Comparison Total number of characters compare by each algorithm using different pattern lengths are shown in graph form as in figure 10. Results in the graph shows that Bidirectional algorithm compares more characters, when pattern length is short. There are two reason first it use two pointers one compare from left and other from right simultaneously and other reason is the prefix and suffix of the pattern string are matched in text string. If prefix or suffix of the pattern early find mismatches in the text then it produce much more efficient result as compare to other algorithms. References [1] Cormen, T.H., Leiserson, C.E., Rivest, R.L., Introduction to Algorithms, Chapter 34, MIT Press, 1990, pp [2] Knuth, D., Morris, J. H., Pratt, V., "Fast pattern matching in strings," SIAM Journal on Computing, Vol. 6, No. 2, doi: / , 1977, pp [3] R.S. Boyer, J.S. Moore, "A fast string searching algorithm," Communication of the ACM, Vol. 20, No. 10, 1977, pp [4] Rami H. Mansi, and Jehad Q. Odeh, "On Improving the Naïve String Matching Algorithm," Asian Journal of Information Technology, Vol. 8, No. 1, ISSN , 2009, pp [5] Ziad A.A. Alqadi, Musbah Aqel, & Ibrahiem M. M. El Emary, "Multiple Skip Multiple Pattern Matching
7 65 Algorithm," IAENG International Journal of Computer Science, Vol. 34, No. 2, IJCS_34_2_03, [6] Ababneh Mohammad, Oqeili Saleh and Rawan A. Abdeen, "Occurrences Algorithm for String Searching Based on Brute-force Algorithm," Journal of Computer Science, Vol. 2, No. 1, ISSN , 2006, pp [7] A. Apostolic and R. Giancarlo, "The Boyer-Moore-Galil string searching strategies revisited," SIAM J. Computer. Vol. 15, No. l, 1986, pp [8] L. Colussi, Z. Galil, and R. Giancarlo, On the exact complexity of string matching, 31st Symposium an Foundations of Computer Science I, IEEE (October ), pp [9] R. N. Horspool, "Practical fast searching in strings," Software Practice and Experience, Vol. 10, No. 3, 1980, [10] Sunday, D.M., "A very fast substring search algorithm," Communications of the ACM, Vol. 33, No. 8, 1990, pp [11] Smith, P.D., "Experiments with a very fast substring search algorithm," Software-Practice and Experience, Vol. 21, No. 10, pp [12] Karp, R.M., Rabin, M.O., "Efficient randomized pattern matching algorithms," IBM Journal on Research Development, Vol. 31, No. 2, 1987, pp [13] Apostolico, A. Crochemore, M., "Optimal canonization of all substrings of a string," Information and Computation, Vol. 95, No. 1, 1991, pp [14] Crochemore, M., Czumaj, A., Gasieniec, L., Jarominek, S., Lecroq, T., Plandowski. W., Rytter, W., "Speeding up two string matching algorithms," Algorithmica, Vol. 12, No. 4/5, 1994, pp [15] Colussi, L., "Fastest pattern matching in strings," Journal of Algorithms, Vol. 16, No. 2, 1994, pp [16] Hume, A., Sunday, D. M., "Fast string searching," Software Practice & Experience, Vol. 21, No. 11, 1991, pp [17] Crochemore, M. and Rytter, W., "Jewels of Stringology," World Scientific, Singapore, [18] Berry, T. Ravindran, S., "A fast string matching algorithm and experimental results, in proceeding of the Prague Stringology," Club Workshop-99, Collaborative report DC- 99-5, Czech Technical University, Prague, Czech Republic, 1999, pp [19] Frantisek Franek, Christopher G. Jennings, W. F. Smyth, "A simple fast hybrid matching algorithm," Journal of Discrete Algorithms, Vol. 5, 2007, pp [20] Iftikhar Hussain, Muhammad Zubair, Jamil Ahmed and Junaid Zaffar, Bidirectional Exact Pattern Matching Algorithm, TCSET 2010, Feb. 2010, pp. 293 (Abstract). [21] Charras, C. and T. Lecroq, Hand Book of Exact String- Matching Algorithms, Publication 2004, First Edition, ISBN: [22] T. Lecroq, Experimental Results on Exact String Matching, Software-Practice & Experience, Vol. 25, pp , [23] A. Sleit, W. AlMobaideen, A. H. Baarah and A. H. Abusitta, An Efficient Pattern Matching Algorithm, Journal of Applied Sciences, Vol. 7, no. 18, pp , [24] M. Ahmed, M. Kaykobad and R. A. Chowdhury, A New String Matching Algorithm, International Journal Computer and Maths, Vol. 80, no. 7, July 2003, pp [25] A. Hudaib, R. Al-Khalid, D. Suleiman, M. Itriq and A. Al- Anani, A Fast Pattern Matching Algorithm with Two Sliding Windows (TSW), Journal of Computer Science, Vol. 4, no. 5, pp , [26] Iftikhar Hussain, Imran Ali, Muhammad Zubair and Nazarat Bibi, Fastest Approach to Exact Pattern Matching, ICIET 2010, [27] Muhammad Zubair, Fazal Wahab, Iftikhar Hussain and Muhammad Ikram, Text Scanning Approach for Exact String Matching, ICNIT 2010, PP , [28] Muhammad Zubair, Fazal Wahab, Iftikhar Hussain and Junaid Zaffar, Improved Text Scanning Approach for Exact String Matching, ICIET 2010, Iftikhar Hussain is working as lecturer at Faculty of Administrative Sciences, Kotli, University of Azad Jammu & Kashmir since He also worked at Savethechildren US, an international NGO. He has completed his MS in computer science, specialized in software engineering from Iqra University, Islamabad Campus in Before MSCS he has passed his BS in Information Technology from University of Azad Jammu and Kashmir in He has lot of research experience in software engineering, algorithm and internet banking. Samina Kausar has been working as lecturer at Faculty of Administrative Sciences, Kotli, UAJK since She has completed her MS in Computer Science, specialized in database and distributed database systems, from INTERNATIONAL ISLAMIC UNIVERSITY (IIU), Islamabad Campus in Before MSCS she got the degree of MIT from University of AJ&K in She has worked as project coordinator in university of Azad Jammu and Kashmir. She has research experience in data mining and algorithms. Liaqat Hussain is serving as Lecturer Statistics, Faculty of Administrative Sciences Kotli, University of Azad Jammu & Kashmir since 2006.He is an MSc in computer science and Statistics and recently he is performing the duties of Deputy Director Students Affairs (DDSA) at Faculty of Administrative Sciences Kotli. He is the former chairman Department of Computer Science and Information Technology. Muhammad Asif Khan is serving as Lecturer at Faculty of Commerce Kotli, University of Azad Jammu & Kashmir since 2006.His higher degree is M.Phil and he is planning to go for PhD from abroad. He has first position in M.Sc Commerce and M.Phil. His research interests are in the area of E-banking, finance and IT.
A Fast Pattern Matching Algorithm with Two Sliding Windows (TSW)
Journal of Computer Science 4 (5): 393-401, 2008 ISSN 1549-3636 2008 Science Publications A Fast Pattern Matching Algorithm with Two Sliding Windows (TSW) Amjad Hudaib, Rola Al-Khalid, Dima Suleiman, Mariam
Robust Quick String Matching Algorithm for Network Security
18 IJCSNS International Journal of Computer Science and Network Security, VOL.6 No.7B, July 26 Robust Quick String Matching Algorithm for Network Security Jianming Yu, 1,2 and Yibo Xue, 2,3 1 Department
A FAST STRING MATCHING ALGORITHM
Ravendra Singh et al, Int. J. Comp. Tech. Appl., Vol 2 (6),877-883 A FAST STRING MATCHING ALGORITHM H N Verma, 2 Ravendra Singh Department of CSE, Sachdeva Institute of Technology, Mathura, India, [email protected]
A Multiple Sliding Windows Approach to Speed Up String Matching Algorithms
A Multiple Sliding Windows Approach to Speed Up String Matching Algorithms Simone Faro and Thierry Lecroq Università di Catania, Viale A.Doria n.6, 95125 Catania, Italy Université de Rouen, LITIS EA 4108,
Fast string matching
Fast string matching This exposition is based on earlier versions of this lecture and the following sources, which are all recommended reading: Shift-And/Shift-Or 1. Flexible Pattern Matching in Strings,
Knuth-Morris-Pratt Algorithm
December 18, 2011 outline Definition History Components of KMP Example Run-Time Analysis Advantages and Disadvantages References Definition: Best known for linear time for exact matching. Compares from
Lecture 4: Exact string searching algorithms. Exact string search algorithms. Definitions. Exact string searching or matching
COSC 348: Computing for Bioinformatics Definitions A pattern (keyword) is an ordered sequence of symbols. Lecture 4: Exact string searching algorithms Lubica Benuskova http://www.cs.otago.ac.nz/cosc348/
A The Exact Online String Matching Problem: a Review of the Most Recent Results
A The Exact Online String Matching Problem: a Review of the Most Recent Results SIMONE FARO, Università di Catania THIERRY LECROQ, Université de Rouen This article addresses the online exact string matching
Searching BWT compressed text with the Boyer-Moore algorithm and binary search
Searching BWT compressed text with the Boyer-Moore algorithm and binary search Tim Bell 1 Matt Powell 1 Amar Mukherjee 2 Don Adjeroh 3 November 2001 Abstract: This paper explores two techniques for on-line
String Search. Brute force Rabin-Karp Knuth-Morris-Pratt Right-Left scan
String Search Brute force Rabin-Karp Knuth-Morris-Pratt Right-Left scan String Searching Text with N characters Pattern with M characters match existence: any occurence of pattern in text? enumerate: how
An efficient matching algorithm for encoded DNA sequences and binary strings
An efficient matching algorithm for encoded DNA sequences and binary strings Simone Faro and Thierry Lecroq [email protected], [email protected] Dipartimento di Matematica e Informatica, Università
The wide window string matching algorithm
Theoretical Computer Science (00) 9 0 www.elsevier.com/locate/tcs The wide window string matching algorithm Longtao He a,, Binxing Fang a, Jie Sui b a Research Center of Computer Network and Information
Improved Single and Multiple Approximate String Matching
Improved Single and Multiple Approximate String Matching Kimmo Fredrisson and Gonzalo Navarro 2 Department of Computer Science, University of Joensuu [email protected] 2 Department of Computer Science,
High Performance String Matching Algorithm for a Network Intrusion Prevention System (NIPS)
High Performance String Matching Algorithm for a Network Intrusion Prevention System (NIPS) Yaron Weinsberg Shimrit Tzur-David Danny Dolev The Hebrew University Of Jerusalem Email: {wyaron,shimritd,dolev}@cs.huji.ac.il
A Performance Study of Load Balancing Strategies for Approximate String Matching on an MPI Heterogeneous System Environment
A Performance Study of Load Balancing Strategies for Approximate String Matching on an MPI Heterogeneous System Environment Panagiotis D. Michailidis and Konstantinos G. Margaritis Parallel and Distributed
A Partition-Based Efficient Algorithm for Large Scale. Multiple-Strings Matching
A Partition-Based Efficient Algorithm for Large Scale Multiple-Strings Matching Ping Liu Jianlong Tan, Yanbing Liu Software Division, Institute of Computing Technology, Chinese Academy of Sciences, Beijing,
DiskTrie: An Efficient Data Structure Using Flash Memory for Mobile Devices
DiskTrie: An Efficient Data Structure Using Flash Memory for Mobile Devices (Extended Abstract) N.M. Mosharaf Kabir Chowdhury, Md. Mostofa Akbar, and M. Kaykobad Department of Computer Science & Engineering
Exact Polynomial-time Algorithm for the Clique Problem and P = NP for Clique Problem
xact Polynomial-time Algorithm for the Clique Problem and P = NP for Clique Problem Kanak Chandra Bora Department of Computer Science & ngineering Royal School of ngineering & Technology, Betkuchi, Guwahati-7810,
Improved Single and Multiple Approximate String Matching
Improved Single and Multiple Approximate String Matching Kimmo Fredriksson Department of Computer Science, University of Joensuu, Finland Gonzalo Navarro Department of Computer Science, University of Chile
4.2 Sorting and Searching
Sequential Search: Java Implementation 4.2 Sorting and Searching Scan through array, looking for key. search hit: return array index search miss: return -1 public static int search(string key, String[]
IMPROVING PERFORMANCE OF RANDOMIZED SIGNATURE SORT USING HASHING AND BITWISE OPERATORS
Volume 2, No. 3, March 2011 Journal of Global Research in Computer Science RESEARCH PAPER Available Online at www.jgrcs.info IMPROVING PERFORMANCE OF RANDOMIZED SIGNATURE SORT USING HASHING AND BITWISE
On line construction of suffix trees 1
(To appear in ALGORITHMICA) On line construction of suffix trees 1 Esko Ukkonen Department of Computer Science, University of Helsinki, P. O. Box 26 (Teollisuuskatu 23), FIN 00014 University of Helsinki,
A PERFORMANCE EVALUATION OF COMMON ENCRYPTION TECHNIQUES WITH SECURE WATERMARK SYSTEM (SWS)
A PERFORMANCE EVALUATION OF COMMON ENCRYPTION TECHNIQUES WITH SECURE WATERMARK SYSTEM (SWS) Ashraf Odeh 1, Shadi R.Masadeh 2, Ahmad Azzazi 3 1 Computer Information Systems Department, Isra University,
Speeding Up Two String-Matching Algorithms 1
Algorithmica (1994) 12:24%267 Algorithmica 9 1994 Springer-Verlag New York nc. Speeding Up Two String-Matching Algorithms 1 M. Crochemore, 2 A. Czumaj, 3 L. Gasieniec, s S. Jarominek, 3 T. Lecroq, 2 W.
Dynamic Programming. Lecture 11. 11.1 Overview. 11.2 Introduction
Lecture 11 Dynamic Programming 11.1 Overview Dynamic Programming is a powerful technique that allows one to solve many different types of problems in time O(n 2 ) or O(n 3 ) for which a naive approach
String Matching on a multicore GPU using CUDA
String Matching on a multicore GPU using CUDA Charalampos S. Kouzinopoulos and Konstantinos G. Margaritis Parallel and Distributed Processing Laboratory Department of Applied Informatics, University of
S.Hrushikesava Raju, Associate Professor, SIETK, NarayanaVanam Road, Puttur,A.P. [email protected]. Dr. T.Swarna Latha
Efficient construction of Optimal Binary Search Trees using Data Preprocessing to improve Quality and Attribute Post computing to save Space and time through modified Dynamic Programming Technique S.Hrushikesava
Automata and Computability. Solutions to Exercises
Automata and Computability Solutions to Exercises Fall 25 Alexis Maciel Department of Computer Science Clarkson University Copyright c 25 Alexis Maciel ii Contents Preface vii Introduction 2 Finite Automata
Master of Science in Computer Science College of Computer and Information Science. Course Syllabus
Master of Science in Computer Science College of Computer and Information Science Course Syllabus Course Number/Name: CS 5800 Algorithms (Master Level) Term: Fall 2013, 15 week term, Hybrid Dates: September
Storage Optimization in Cloud Environment using Compression Algorithm
Storage Optimization in Cloud Environment using Compression Algorithm K.Govinda 1, Yuvaraj Kumar 2 1 School of Computing Science and Engineering, VIT University, Vellore, India [email protected] 2 School
A greedy algorithm for the DNA sequencing by hybridization with positive and negative errors and information about repetitions
BULLETIN OF THE POLISH ACADEMY OF SCIENCES TECHNICAL SCIENCES, Vol. 59, No. 1, 2011 DOI: 10.2478/v10175-011-0015-0 Varia A greedy algorithm for the DNA sequencing by hybridization with positive and negative
Course Objectives Course Requirements Methods of Grading S/N Type of Grading Score (%) Course Delivery Strategies Practical Schedule LECTURE CONTENT
Course: CSC 112 Introduction to Computer Science II (3 credits - Compulsory) Course Duration: Three hours per week for 15weeks (30h (T) and 45h (P)), as taught in 2011/2012 academic session. Lecturers:
El Dorado Union High School District Educational Services
El Dorado Union High School District Course of Study Information Page Course Title: ACE Computer Programming I (#494) Rationale: A continuum of courses, including advanced classes in technology is needed.
Building an Advanced Invariant Real-Time Human Tracking System
UDC 004.41 Building an Advanced Invariant Real-Time Human Tracking System Fayez Idris 1, Mazen Abu_Zaher 2, Rashad J. Rasras 3, and Ibrahiem M. M. El Emary 4 1 School of Informatics and Computing, German-Jordanian
TECHNICAL UNIVERSITY OF CRETE DATA STRUCTURES FILE STRUCTURES
TECHNICAL UNIVERSITY OF CRETE DEPT OF ELECTRONIC AND COMPUTER ENGINEERING DATA STRUCTURES AND FILE STRUCTURES Euripides G.M. Petrakis http://www.intelligence.tuc.gr/~petrakis Chania, 2007 E.G.M. Petrakis
CS/COE 1501 http://cs.pitt.edu/~bill/1501/
CS/COE 1501 http://cs.pitt.edu/~bill/1501/ Lecture 01 Course Introduction Meta-notes These notes are intended for use by students in CS1501 at the University of Pittsburgh. They are provided free of charge
A Fast String Searching Algorithm
1. Introduction Programming Techniques G. Manacher, S.L. Graham Editors A Fast String Searching Algorithm Robert S. Boyer Stanford Research Institute J Strother Moore Xerox Palo Alto Research Center An
FPGA Implementation of an Extended Binary GCD Algorithm for Systolic Reduction of Rational Numbers
FPGA Implementation of an Extended Binary GCD Algorithm for Systolic Reduction of Rational Numbers Bogdan Mătăsaru and Tudor Jebelean RISC-Linz, A 4040 Linz, Austria email: [email protected]
A PPM-like, tag-based branch predictor
Journal of Instruction-Level Parallelism 7 (25) 1-1 Submitted 1/5; published 4/5 A PPM-like, tag-based branch predictor Pierre Michaud IRISA/INRIA Campus de Beaulieu, Rennes 35, France [email protected]
Use of Data Mining Techniques to Improve the Effectiveness of Sales and Marketing
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 4, Issue. 4, April 2015,
Sources: On the Web: Slides will be available on:
C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,
Solution of Linear Systems
Chapter 3 Solution of Linear Systems In this chapter we study algorithms for possibly the most commonly occurring problem in scientific computing, the solution of linear systems of equations. We start
Management Information Systems 260 Web Programming Fall 2006 (CRN: 42459)
Management Information Systems 260 Web Programming Fall 2006 (CRN: 42459) Class Time: 6:00 8:05 p.m. (T,Th) Venue: WSL 5 Web Site: www.pbvusd.net/mis260 Instructor Name: Terrell Tucker Office: BDC 127
New Matrix Approach to Improve Apriori Algorithm
New Matrix Approach to Improve Apriori Algorithm A. Rehab H. Alwa, B. Anasuya V Patil Associate Prof., IT Faculty, Majan College-University College Muscat, Oman, [email protected] Associate
Binary Coded Web Access Pattern Tree in Education Domain
Binary Coded Web Access Pattern Tree in Education Domain C. Gomathi P.G. Department of Computer Science Kongu Arts and Science College Erode-638-107, Tamil Nadu, India E-mail: [email protected] M. Moorthi
William E. Ayen, Ph.D. Department of Information Systems College of Business and Administration University of Colorado at Colorado Springs
William E. Ayen, Ph.D. Department of Information Systems College of Business and Administration University of Colorado at Colorado Springs Education University of Wisconsin at Platteville, Chemistry, B.S.,
Trust Model for Hybrid Security Architecture Based on Reputation for Secure Execution of Mobile Agents
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 1 (2014), pp. 67-72 International Research Publications House http://www. irphouse.com /ijict.htm Trust
Indirect Positive and Negative Association Rules in Web Usage Mining
Indirect Positive and Negative Association Rules in Web Usage Mining Dhaval Patel Department of Computer Engineering, Dharamsinh Desai University Nadiad, Gujarat, India Malay Bhatt Department of Computer
Jump-Miss Binary Erosion Algorithm
Jump-Miss Binary Erosion Algorithm Anderson Fraiha Machado and Ronaldo Fumio Hashimoto Institute of Mathematics and Statistics of University of Sao Paulo, SP, Brazil [email protected] and [email protected]
PROTOTYPE TO DESIGN A LEASED LINE TELEPHONE NETWORK CONNECTING LOCATIONS TO MINIMIZE THE INSTALLATION COST
PROTOTYPE TO DESIGN A LEASED LINE TELEPHONE NETWORK CONNECTING LOCATIONS TO MINIMIZE THE INSTALLATION COST Abstract ARCHANA SHARMA Research Scholar, Computer Science and Enginering Department,, NIMS University,
Implementing New Approach for Enhancing Performance and Throughput in a Distributed Database
290 The International Arab Journal of Information Technology, Vol. 10, No. 3, May 2013 Implementing New Approach for Enhancing Performance and in a Distributed Database Khaled Maabreh 1 and Alaa Al-Hamami
New Hash Function Construction for Textual and Geometric Data Retrieval
Latest Trends on Computers, Vol., pp.483-489, ISBN 978-96-474-3-4, ISSN 79-45, CSCC conference, Corfu, Greece, New Hash Function Construction for Textual and Geometric Data Retrieval Václav Skala, Jan
Privacy-preserving Analysis Technique for Secure, Cloud-based Big Data Analytics
577 Hitachi Review Vol. 63 (2014),. 9 Featured Articles Privacy-preserving Analysis Technique for Secure, Cloud-based Big Data Analytics Ken Naganuma Masayuki Yoshino, Ph.D. Hisayoshi Sato, Ph.D. Yoshinori
CS106A, Stanford Handout #38. Strings and Chars
CS106A, Stanford Handout #38 Fall, 2004-05 Nick Parlante Strings and Chars The char type (pronounced "car") represents a single character. A char literal value can be written in the code using single quotes
Complex Network Visualization based on Voronoi Diagram and Smoothed-particle Hydrodynamics
Complex Network Visualization based on Voronoi Diagram and Smoothed-particle Hydrodynamics Zhao Wenbin 1, Zhao Zhengxu 2 1 School of Instrument Science and Engineering, Southeast University, Nanjing, Jiangsu
Cloud Computing: A General User s Perceptions and Security Issues at Universities of Faisalabad, Pakistan
www.ijcsi.org 375 Cloud Computing: A General User s Perceptions and Security Issues at Universities of Faisalabad, Pakistan Muhammad Haris Abid 1, Fahad Jan 2, Tasleem Mustafa 3, Muhammad Shakeel Faridi
DATA ANALYSIS IN PUBLIC SOCIAL NETWORKS
International Scientific Conference & International Workshop Present Day Trends of Innovations 2012 28 th 29 th May 2012 Łomża, Poland DATA ANALYSIS IN PUBLIC SOCIAL NETWORKS Lubos Takac 1 Michal Zabovsky
HYBRID GENETIC ALGORITHMS FOR SCHEDULING ADVERTISEMENTS ON A WEB PAGE
HYBRID GENETIC ALGORITHMS FOR SCHEDULING ADVERTISEMENTS ON A WEB PAGE Subodha Kumar University of Washington [email protected] Varghese S. Jacob University of Texas at Dallas [email protected]
SOFTWARE TESTING STRATEGY APPROACH ON SOURCE CODE APPLYING CONDITIONAL COVERAGE METHOD
SOFTWARE TESTING STRATEGY APPROACH ON SOURCE CODE APPLYING CONDITIONAL COVERAGE METHOD Jaya Srivastaval 1 and Twinkle Dwivedi 2 1 Department of Computer Science & Engineering, Shri Ramswaroop Memorial
Efficient Data Replication Scheme based on Hadoop Distributed File System
, pp. 177-186 http://dx.doi.org/10.14257/ijseia.2015.9.12.16 Efficient Data Replication Scheme based on Hadoop Distributed File System Jungha Lee 1, Jaehwa Chung 2 and Daewon Lee 3* 1 Division of Supercomputing,
Reconfigurable FPGA Inter-Connect For Optimized High Speed DNA Sequencing
Reconfigurable FPGA Inter-Connect For Optimized High Speed DNA Sequencing 1 A.Nandhini, 2 C.Ramalingam, 3 N.Maheswari, 4 N.Krishnakumar, 5 A.Surendar 1,2,3,4 UG Students, 5 Assistant Professor K.S.R College
A Binary Model on the Basis of Imperialist Competitive Algorithm in Order to Solve the Problem of Knapsack 1-0
212 International Conference on System Engineering and Modeling (ICSEM 212) IPCSIT vol. 34 (212) (212) IACSIT Press, Singapore A Binary Model on the Basis of Imperialist Competitive Algorithm in Order
Efficiently Identifying Inclusion Dependencies in RDBMS
Efficiently Identifying Inclusion Dependencies in RDBMS Jana Bauckmann Department for Computer Science, Humboldt-Universität zu Berlin Rudower Chaussee 25, 12489 Berlin, Germany [email protected]
Lempel-Ziv Factorization: LZ77 without Window
Lempel-Ziv Factorization: LZ77 without Window Enno Ohlebusch May 13, 2016 1 Sux arrays To construct the sux array of a string S boils down to sorting all suxes of S in lexicographic order (also known as
Fast Sequential Summation Algorithms Using Augmented Data Structures
Fast Sequential Summation Algorithms Using Augmented Data Structures Vadim Stadnik [email protected] Abstract This paper provides an introduction to the design of augmented data structures that offer
Efficiency of algorithms. Algorithms. Efficiency of algorithms. Binary search and linear search. Best, worst and average case.
Algorithms Efficiency of algorithms Computational resources: time and space Best, worst and average case performance How to compare algorithms: machine-independent measure of efficiency Growth rate Complexity
Lecture 10: Dynamic Memory Allocation 1: Into the jaws of malloc()
CS61: Systems Programming and Machine Organization Harvard University, Fall 2009 Lecture 10: Dynamic Memory Allocation 1: Into the jaws of malloc() Prof. Matt Welsh October 6, 2009 Topics for today Dynamic
Self Organizing Maps for Visualization of Categories
Self Organizing Maps for Visualization of Categories Julian Szymański 1 and Włodzisław Duch 2,3 1 Department of Computer Systems Architecture, Gdańsk University of Technology, Poland, [email protected]
Hardware Pattern Matching for Network Traffic Analysis in Gigabit Environments
Technische Universität München Fakultät für Informatik Diplomarbeit in Informatik Hardware Pattern Matching for Network Traffic Analysis in Gigabit Environments Gregor M. Maier Aufgabenstellerin: Prof.
Single Level Drill Down Interactive Visualization Technique for Descriptive Data Mining Results
, pp.33-40 http://dx.doi.org/10.14257/ijgdc.2014.7.4.04 Single Level Drill Down Interactive Visualization Technique for Descriptive Data Mining Results Muzammil Khan, Fida Hussain and Imran Khan Department
Efficient Service Broker Policy For Large-Scale Cloud Environments
www.ijcsi.org 85 Efficient Service Broker Policy For Large-Scale Cloud Environments Mohammed Radi Computer Science Department, Faculty of Applied Science Alaqsa University, Gaza Palestine Abstract Algorithms,
Comparing Methods to Identify Defect Reports in a Change Management Database
Comparing Methods to Identify Defect Reports in a Change Management Database Elaine J. Weyuker, Thomas J. Ostrand AT&T Labs - Research 180 Park Avenue Florham Park, NJ 07932 (weyuker,ostrand)@research.att.com
PERFORMANCE STUDY AND SIMULATION OF AN ANYCAST PROTOCOL FOR WIRELESS MOBILE AD HOC NETWORKS
PERFORMANCE STUDY AND SIMULATION OF AN ANYCAST PROTOCOL FOR WIRELESS MOBILE AD HOC NETWORKS Reza Azizi Engineering Department, Bojnourd Branch, Islamic Azad University, Bojnourd, Iran [email protected]
International Journal of Information Technology, Modeling and Computing (IJITMC) Vol.1, No.3,August 2013
FACTORING CRYPTOSYSTEM MODULI WHEN THE CO-FACTORS DIFFERENCE IS BOUNDED Omar Akchiche 1 and Omar Khadir 2 1,2 Laboratory of Mathematics, Cryptography and Mechanics, Fstm, University of Hassan II Mohammedia-Casablanca,
Chapter 4: Computer Codes
Slide 1/30 Learning Objectives In this chapter you will learn about: Computer data Computer codes: representation of data in binary Most commonly used computer codes Collating sequence 36 Slide 2/30 Data
A Novel Cryptographic Key Generation Method Using Image Features
Research Journal of Information Technology 4(2): 88-92, 2012 ISSN: 2041-3114 Maxwell Scientific Organization, 2012 Submitted: April 18, 2012 Accepted: May 23, 2012 Published: June 30, 2012 A Novel Cryptographic
[2], [3], which realize a time bound of O(n. e(c + 1)).
SIAM J. COMPUT. Vol. 4, No. 1, March 1975 FINDING ALL THE ELEMENTARY CIRCUITS OF A DIRECTED GRAPH* DONALD B. JOHNSON Abstract. An algorithm is presented which finds all the elementary circuits-of a directed
Please consult the Department of Engineering about the Computer Engineering Emphasis.
COMPUTER SCIENCE Computer science is a dynamically growing discipline. ABOUT THE PROGRAM The Department of Computer Science is committed to providing students with a program that includes the basic fundamentals
Distance Degree Sequences for Network Analysis
Universität Konstanz Computer & Information Science Algorithmics Group 15 Mar 2005 based on Palmer, Gibbons, and Faloutsos: ANF A Fast and Scalable Tool for Data Mining in Massive Graphs, SIGKDD 02. Motivation
EFFICIENCY OF DECISION TREES IN PREDICTING STUDENT S ACADEMIC PERFORMANCE
EFFICIENCY OF DECISION TREES IN PREDICTING STUDENT S ACADEMIC PERFORMANCE S. Anupama Kumar 1 and Dr. Vijayalakshmi M.N 2 1 Research Scholar, PRIST University, 1 Assistant Professor, Dept of M.C.A. 2 Associate
NEW TECHNIQUE TO DEAL WITH DYNAMIC DATA MINING IN THE DATABASE
www.arpapress.com/volumes/vol13issue3/ijrras_13_3_18.pdf NEW TECHNIQUE TO DEAL WITH DYNAMIC DATA MINING IN THE DATABASE Hebah H. O. Nasereddin Middle East University, P.O. Box: 144378, Code 11814, Amman-Jordan
Hadoop Technology for Flow Analysis of the Internet Traffic
Hadoop Technology for Flow Analysis of the Internet Traffic Rakshitha Kiran P PG Scholar, Dept. of C.S, Shree Devi Institute of Technology, Mangalore, Karnataka, India ABSTRACT: Flow analysis of the internet
