Combined String Searching Algorithm
Roman Tsarev, Elena A. Tsareva, A S Chernigovskiy · Journal of Siberian Federal University Engineering & Technologies · 2017
Cited by 0Open access
Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.
About 435 papers for “String searching algorithm”
Roman Tsarev, Elena A. Tsareva, A S Chernigovskiy · Journal of Siberian Federal University Engineering & Technologies · 2017
Cited by 0Open access
Christophe Hancart · Information Processing Letters · 1993
Cited by 41
G. Manacher, S. L. Graham, Robert S. Boyer et al. · 2008
An algorithm is presented that searches for the location, "i, " of the first occurrence of a character string, "'pat,' " in another string, "string. " During the search operation, the characters of pat are matched starting with the last character of pat. The information gained by starting the match at the end of the pattern often allows the algorithm to proceed in large jumps through the text being searched. Thus the algorithm has the unusual property that, in most cases, not all of the first i characters of string are inspected. The number of characters actually inspected (on the aver-age) decreases as a function of the length of pat. For a random English pattern of length 5, the algorithm will typically inspect i/4 characters of string before finding a match at i. Furthermore, the algorithm has been implemented so that (on the average) fewer than i + patlen machine instructions are executed. These con-clusions are supported with empirical evidence and a theoretical analysis of the average behavior of the algorithm. The worst case behavior of the algorithm is linear in i + patlen, assuming the availability of array space for tables linear in patlen plus the size of the alphabet. Key Words and Phrases: bibliographic search, com-putational complexity, information retrieval, linear
Cited by 0
Peter Møller-Nielsen, Jørgen Staunstrup · Information Processing Letters · 1984
Cited by 8
Ababneh Mohammad, Saleh Oqeili, Rawan A. Abdeen · Journal of Computer Science · 2006
This study proposes a string searching algorithm as an improvement of the brute-force searching algorithm. The algorithm is named as, <i>Occurrences algorithm</i>. It is based on performing <i>preprocessing</i> for the <i>pattern</i> and for the <i>text</i> before beginning to search for the pattern in the text.
Cited by 51Open access
Noriyoshi Uratani, Masayuki Takeda · Information Processing & Management · 1993
Cited by 10
Naeg System · 2007
Playing an increasingly important role in the security protection of the network information systems,the intrusion detection system(IDS) becomes a hotspot of research interest nowadays.However,this technology in the kernel to many of these systems,namely string searching algorithm,has not received enough attention.By utilizing the concurrent mechanisms(multi-threading) provided by modern operation systems,such work can be divided symmetrically and thus improve the throughput of the corresponding application effectively.Presented in this work is a paralleled string searching algorithm—PBM,an algorithm based on the famous Boyer-Moore(BM) string searching algorithm.Taken as a dividable process,the string searching work is distributed between many cooperating threads of execution in the PBM algorithm,while each of them searches the target pattern in their respective share of the target strings.As compared with the traditional string searching algorithms,the PBM algorithm can do the pattern matching work faster by increasing the data processing throughput,thus adapting better to the drastic increase in the network band width.A simplification of the PBM algorithm that can be used as a multi-string searching algorithm is also suggested with supporting simulations,which is a promising approach when the number of target patterns is limited.
Cited by 0
P. D. Smith · Software Practice and Experience · 1994
Abstract Experiments suggest that recently reported improvements to the Boyer‐Moore‐Horspool string searching algorithm may be due to compiler effects rather than to properties of the language being searched.
Cited by 9
Kwang Sik Chung, Heonchang Yu, Sung Ho Jin · Communications in computer and information science · 2011
Cited by 3
Ababneh Mohammad, Oqeili Saleh, Rawan A. Abdeen · 2010
Abstract: This study proposes a string searching algorithm as an improvement of the brute-force searching algorithm. The algorithm is named as, Occurrences algorithm. It is based on performing preprocessing for the pattern and for the text before beginning to search for the pattern in the text.
Cited by 0
PRUNELLA N, LIUNI S, ATTIMONELLI, Marcella et al. · CINECA IRIS Institutional Research Information System (University of Bari Aldo Moro) · 1993
A new string searching algorithm is Presented aimed at searching for the occurrence of character patterns in longer character texts. The algorithm, specifically designed for nucleic acid sequence data, is essentially derived from the Boyer-Moore method (Comm. ACM, 20, 762-772, 1977). Both pattern and text data are compressed so that the natural 4-letter alphabet of nucleic acid sequences is considerably enlarged. The string search starts from the last character of the pattern and proceeds in large jumps through the text to be searched. The data compression and searching algorithm allows one to avoid searching for patterns not present in the text as well as to inspect, for each pattern, all text characters until the exact match with the text is found. These considerations are supported by empirical evidence and comparisons with other methods.
Cited by 0
Jinfu Chen, Saihua Cai, Li Zhu et al. · Tsinghua Science & Technology · 2016
Mass monitor logs are produced during the process of component security testing. In order to mine the explicit and implicit security exception information of the tested component, the log should be searched for keyword strings. However, existing string-searching algorithms are not very efficient or appropriate for the operation of searching monitor logs during component security testing. For mining abnormal information effectively in monitor logs, an improved string-searching algorithm is proposed. The main idea of this algorithm is to search for the first occurrence of a character in the main string. The character should be different and farther from the last character in the pattern string. With this algorithm, the backward moving distance of the pattern string will be increased and the matching time will be optimized. In the end, we conduct an experimental study based on our approach, the results of which show that the proposed algorithm finds strings in monitor logs 11.5% more efficiently than existing approaches.
Cited by 5Open access
K. G. Srinivasa, B. N. Shree Devi · Journal of The Institution of Engineers (India) Series B · 2017
Cited by 4
Roman Tsarev, A S Chernigovskiy, Elena A. Tsareva et al. · IOP Conference Series Materials Science and Engineering · 2016
The string searching task can be classified as a classic information processing task. Users either encounter the solution of this task while working with text processors or browsers, employing standard built-in tools, or this task is solved unseen by the users, while they are working with various computer programmes. Nowadays there are many algorithms for solving the string searching problem. The main criterion of these algorithms" effectiveness is searching speed. The larger the shift of the pattern relative to the string in case of pattern and string characters" mismatch is, the higher is the algorithm running speed. This article offers a combined algorithm, which has been developed on the basis of well-known Knuth-Morris-Pratt and Boyer-Moore string searching algorithms. These algorithms are based on two different basic principles of pattern matching. Knuth-Morris-Pratt algorithm is based upon forward pattern matching and Boyer-Moore is based upon backward pattern matching. Having united these two algorithms, the combined algorithm allows acquiring the larger shift in case of pattern and string characters" mismatch. The article provides an example, which illustrates the results of Boyer-Moore and Knuth-Morris-Pratt algorithms and combined algorithm"s work and shows advantage of the latter in solving string searching problem.
Cited by 16Open access
Leo J. Guibas, Andrew Odlyzko · SIAM Journal on Computing · 1980
The Boyer-Moore algorithm searches for all occurrences of a specified string, the pattern, in another string, the text. We study the combinatorial structure of periodic strings and use these results to derive a new proof of the linearity of the Boyer-Moore algorithm in the worst case. Our proof reduces the previously best known bound of $7n$ to $4n$, where n is the length of the text.
Cited by 54
Ayman Bassam Nassoura, Muhammad Ibrahim, Atif Ali et al. · 2023
As in the current era, data is expanding daily on the web, where tremendous data banks with big data need to be searched by different users according to their data needs. This is when normal users cannot afford more waiting time searching the required data and indulge themselves in uncomfortable, lengthy, and complex computational processes. Moreover, search results will also play a vital role in extracting the desired output from the existing data bank. By keeping this common and consistent need of the normal user, the effort has been made to formulate a solution in the exact string searching algorithm. The algorithm's simplicity will add efficiency and speed up the processing time compared to the existing exact string-searching algorithms in terms of worst-case complexity. The proposed algorithm is compared with Boyer Moore Hoorspool, Knuth Morris Pratt (KMP), and Back and Forth Matching Algorithms to understand the results better.
Cited by 31
Moore J. Strother, Martinez Matt · NATO science for peace and security series. D, Information and communication security · 2009
We describe a mechanically checked proof that the Boyer-Moore fast string searching algorithm is correct. This is done by expressing both the fast algorithm and the na&iuml;ve (obviously correct) algorithm as functions in applicative Common Lisp and proving them equivalent with the ACL2 theorem prover. The algorithm verified differs from the original Boyer-Moore algorithm in one key way: the original algorithm preprocessed the pattern into two arrays and skipped forward by the maximum of the skip distances recorded in those arrays; the algorithm verified uses one array that combines the two original arrays (and awhose size is the product of that of the original arrays). The algorithm here skips at least as far as the original Boyer-Moore algorithm and often skips further, though we do not prove that mechanically. A key fact about the original algorithm is that preprocessing can be done in time linear in the length of the pattern, |pat|, and the size of the alphabet, |&alpha;|. Our implementation of the preprocessing here is unconcerned with efficiency and has complexity |&alpha;|&times;|pat|2. Our mechanically checked proof includes a proof that our preprocessing is correct. We briefly describe a proof (shown in detail elsewhere) that an imperatively coded version of the fast algorithm implements the algorithm verified here.
Cited by 4
J C Prasad, K.S. Mohanachandra Panicker · 2010
This paper provides an overview of different string matching algorithms in parallel environments. In this work, we have evaluated several algorithms, such as Knuth-Morris-Pratt, Boyer-Moore algorithm, Boyer Moore Horspool Algorithm, Zhu Takaoka algorithm, Quick Search Algorithm, BR Algorithm, Fast Searching algorithm, SSABS algorithm, TVSBS algorithm, ZTMBH algorithm and BRBMH algorithm. Static pattern of string matching algorithms are widely used for searching. For comparisons of speed different algorithms are implemented with parallel programming technique of MPI Standard, for a large text file with a pattern of small length. A Beowulf based homogenous cluster architecture was developed which has a performance of 81 Gigabits floating point operations per second in searching environment. The result of pattern searching showed the variation of performance with this customized cluster architecture for variable number of compute nodes with different pattern lengths. Nearly 80% of the searching code part works in parallel. The performance of string search algorithm is based on the network bandwidth and the selection of algorithms used. Depending on certain applications, different algorithm can be used. It is observed that the cluster searching architecture provides better speed with different algorithms. In general, from the experiments, BRBMH Algorithm is found to be efficient for a general string searching applications.
Cited by 4
Lipnik, Izak · Repository of the University of Ljubljana (University of Ljubljana) · 2015
We introduce a new text-indexing data structure, the String B-Tree, intended to search in unstructured data.We will focus on comparing string searching algorithm in String B-trees with algorithm ERA of Suffix Trees and algorithm COSD of Cache-Oblivious String Dictionarys.More specifically we focused on efficiency use of the memory hierarchies.The results we obtained are very interesting.Between all three algorithms, the String B-tree provides the fastest search in unstructured data, and has the most efficiency use of the memory hierarchies.At the same time we've got a proof, how important is efficiency use of the memory hierarchies.If the results of the String B-tree and the Suffix Tree were very similar, the results of the String Dictionary was much worse.It turns out that due to the large number of cache misses, which occurred in the structure of the String Dictionary, the String Dictionary spent more time just to transfer data in cache memory than the other two structures used for the entire search.At the beginning, we'll start with problem overview of searching in strings, then we'll learn about the memory hierarchy of today's computers, to help us understand the course of algorithms for searching in strings.In the next part, we'll introduce several examples of other text-indexing data strucuters.In the main part we'll get to know the String B-Tree in detail.In short phrase, it is a text-indexing data structure, that is a combination of classic B-trees and Patricia tries.In this part we'll also get to know the algorithm of searching strings in String B-trees, and implementation of the String B-tree. KAZALOIn the last part, we'll compare searching in strings in practice, between String B-trees, Suffix Trees and Cache-Oblivious String Dictionarys.We'll compare time and space complexity between algorithms for searching in strings.
Cited by 0Open access
Petr Hurtík, Petra Hoďáková, Irina Perfilieva · Advances in intelligent systems research/Advances in Intelligent Systems Research · 2015
The goal of this study is to introduce a novel exact string searching (i.e., matching) method based on the fuzzy transform, or F-transform (FTSS). The theoretical background of the F-transform, specifically the F s -transform, s 0, for functions of one variable is reviewed, and a string searching algorithm based on this theory is presented. The algorithm is demonstrated with several examples. The results are compared with those of three existing string searching algorithms: Knuth-Morris-Pratt (KMP), Boyer-Moore (BM) and Rabin-Karp (RK).
Cited by 5Open access