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 Cinti | 1 | 0 | 0.34 |
Filippo Maria Bianchi | 2 | 160 | 15.76 |
Antonello Rizzi | 3 | 363 | 41.68 |