Title
A novel algorithm for online inexact string matching and its FPGA implementation.
Abstract
Among the basic cognitive skills of the biological brain in humans and other mammals, a fundamental one is the ability to recognize inexact patterns in a sequence of objects or events. Accelerating inexact string matching procedures is of utmost importance when dealing with practical applications where huge amounts of data must be processed in real time, as usual in bioinformatics or cybersecurity. Inexact matching procedures can yield multiple shadow hits, which must be filtered, according to some criterion, to obtain a concise and meaningful list of occurrences. The filtering procedures are often computationally demanding and are performed offline in a post-processing phase. This paper introduces a novel algorithm for online approximate string matching (OASM) able to filter shadow hits on the fly, according to general purpose priority rules that greedily assign priorities to overlapping hits. A field-programmable gate array (FPGA) hardware implementation of OASM is proposed and compared with a serial software version. Even when implemented on entry-level FPGAs, the proposed procedure can reach a high degree of parallelism and superior performance in time compared to the software implementation, while keeping low the usage of logic elements. This makes the developed architecture very competitive in terms of both performance and cost of the overall computing system.
Year
DOI
Venue
2017
10.1007/s12559-019-09646-y
Cognitive Computation
Keywords
Field
DocType
FPGA, Approximate string matching, Dynamic programming, Systolic arrays
String searching algorithm,Shadow,Heuristic,Computer science,Degree of parallelism,Algorithm,Filter (signal processing),Field-programmable gate array,Approximate string matching,Software versioning
Journal
Volume
Issue
ISSN
12
2
1866-9956
Citations 
PageRank 
References 
0
0.34
14
Authors
3
Name
Order
Citations
PageRank
Alessandro Cinti100.34
Filippo Maria Bianchi216015.76
Antonello Rizzi336341.68