Search NASA⌕ Search

SEARCH · Search NASA

Results for “String Matching”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 19 records

A quantum algorithm for string matching

Algorithms that search for a pattern within a larger data-set appear ubiquitously in text and image processing. Here, we present an explicit, circuit-level implementation of a quantum pattern-matching algorithm that matches a search string (pattern) of length M inside a longer text of length N. Our algorithm has a time complexity of $\tildeO$($\sqrt{N}$), while the space complexity remains modest at O(N+ M). We report the quantum gate counts relevant for both pre-fault-tolerant and fault-tolerant regimes.

Physics↗

Efficient Aho-Corasick String Matching on Emerging Multicore Architectures

String matching algorithms are critical to several scientific fields. Beside text processing and databases, emerging applications such as DNA protein sequence analysis, data mining, information security software, antivirus, ma- chine learning, all exploit string matching algorithms [3]. All these applica- tions usually process large quantity of textual data, require high performance and/or predictable execution times. Among all the string matching algorithms, one of the most studied, especially for text processing and security applica- tions, is the Aho-Corasick algorithm. 1 2 Book title goes here Aho-Corasick is an exact, multi-pattern string matching algorithm which performs the search in a time linearly proportional to the length of the input text independently from pattern set size. However, depending on the imple- mentation, when the number of patterns increase, the memory occupation may raise drastically. In turn, this can lead to significant variability in the performance, due to the memory access times and the caching effects. This is a significant concern for many mission critical applications and modern high performance architectures. For example, security applications such as Network Intrusion Detection Systems (NIDS), must be able to scan network traffic against very large dictionaries in real time. Modern Ethernet links reach up to 10 Gbps, and malicious threats are already well over 1 million, and expo- nentially growing [28]. When performing the search, a NIDS should not slow down the network, or let network packets pass unchecked. Nevertheless, on the current state-of-the-art cache based processors, there may be a large per- formance variability when dealing with big dictionaries and inputs that have different frequencies of matching patterns. In particular, when few patterns are matched and they are all in the cache, the procedure is fast. Instead, when they are not in the cache, often because many patterns are matched and the caches are continuously thrashed, they should be retrieved from the system memory and the procedure is slowed down by the increased latency. Efficient implementations of string matching algorithms have been the fo- cus of several works, targeting Field Programmable Gate Arrays [4, 25, 15, 5], highly multi-threaded solutions like the Cray XMT [34], multicore proces- sors [19] or heterogeneous processors like the Cell Broadband Engine [35, 22]. Recently, several researchers have also started to investigate the use Graphic Processing Units (GPUs) for string matching algorithms in security applica- tions [20, 10, 32, 33]. Most of these approaches mainly focus on reaching high peak performance, or try to optimize the memory occupation, rather than looking at performance stability. However, hardware solutions supports only small dictionary sizes due to lack of memory and are difficult to customize, while platforms such as the Cell/B.E. are very complex to program.

Tumeo, Antonino↗

Aho-Corasick String Matching on Shared and Distributed Memory Parallel Architectures

String matching is at the core of many critical applications, including network intrusion detection systems, search engines, virus scanners, spam filters, DNA and protein sequencing, and data mining. For all of these applications string matching requires a combination of (sometimes all) the following characteristics: high and/or predictable performance, support for large data sets and flexibility of integration and customization. Many software based implementations targeting conventional cache-based microprocessors fail to achieve high and predictable performance requirements, while Field-Programmable Gate Array (FPGA) implementations and dedicated hardware solutions fail to support large data sets (dictionary sizes) and are difficult to integrate and customize. The advent of multicore, multithreaded, and GPU-based systems is opening the possibility for software based solutions to reach very high performance at a sustained rate. This paper compares several software-based implementations of the Aho-Corasick string searching algorithm for high performance systems. We discuss the implementation of the algorithm on several types of shared-memory high-performance architectures (Niagara 2, large x86 SMPs and Cray XMT), distributed memory with homogeneous processing elements (InfiniBand cluster of x86 multicores) and heterogeneous processing elements (InfiniBand cluster of x86 multicores with NVIDIA Tesla C10 GPUs). We describe in detail how each solution achieves the objectives of supporting large dictionaries, sustaining high performance, and enabling customization and flexibility using various data sets.

99 GENERAL AND MISCELLANEOUS↗

Stereo-Based Region-Growing using String Matching

We present a novel stereo algorithm based on a coarse texture segmentation preprocessing phase. Matching is performed using a string comparison. Matching sub-strings correspond to matching sequences of textures. Inter-scanline clustering of matching sub-strings yields regions of matching texture. The shape of these regions yield information concerning object's height, width and azimuthal position relative to the camera pair. Hence, rather than the standard dense depth map, the output of this algorithm is a segmentation of objects in the scene. Such a format is useful for the integration of stereo with other sensor modalities on a mobile robotic platform. It is also useful for localization; the height and width of a detected object may be used for landmark recognition, while depth and relative azimuthal location determine pose. The algorithm does not rely on the monotonicity of order of image primitives. Occlusions, exposures, and foreshortening effects are not problematic. The algorithm can deal with certain types of transparencies. It is computationally efficient, and very amenable to parallel implementation. Further, the epipolar constraints may be relaxed to some small but significant degree. A version of the algorithm has been implemented and tested on various types of images. It performs best on random dot stereograms, on images with easily filtered backgrounds (as in synthetic images), and on real scenes with uncontrived backgrounds.

Mandelbaum, Robert↗

Voltage-Matched Strings using 3-Terminal Tandems: Fundamentals and End Losses

Strings constructed from 3-terminal tandem (3TT) cells can provide some of the performance benefits of voltage-matching with less cell complexity than strings based on 4-terminal tandem cells. However, the circuitry for a 3TT string can become more complex, making circuit analysis more challenging. Here we illustrate the essential features of single-polarity voltage-matched (VM) 3TT strings using representative examples. End losses are intrinsic to this type of string, but can be reduced by minimizing m and n in the Vtop/Vbot VM ratio m/n, and further mitigated by increasing the string length. This analysis agrees with preliminary experimental results.

3TT↗

Homogenous Voltage-Matched Strings Using Three-Terminal Tandem Solar Cells: Fundamentals and End Losses

Strings constructed from three-terminal tandem (3TT) solar cells offer the performance benefits of voltage-matching (which reduces sensitivity to spectral variation), but without the subcell voltage isolation required by four-terminal cells. However, the circuitry for a 3TT string can become complex, making circuit analysis more challenging. Here, we illustrate the essential features of “homogenous” voltage-matched (VM) 3TT strings, for which all 3TT cells in the string are nominally identical (with the same design/doping sequence, such that they can be fabricated on the same manufacturing line). Several representative VM string configurations are explicitly considered, and used to describe the general construction of string I(V) curves. End losses intrinsic to these strings are discussed in detail, along with mitigation strategies to minimize their impact. Our analysis agrees with experimental results for eight-cell strings constructed from GaInP/GaAs 3TT devices.

14 SOLAR ENERGY↗

Hardware Architectures for Data-Intensive Computing Problems: A Case Study for String Matching

DNA analysis is an emerging application of high performance bioinformatic. Modern sequencing machinery are able to provide, in few hours, large input streams of data, which needs to be matched against exponentially growing databases of known fragments. The ability to recognize these patterns effectively and fastly may allow extending the scale and the reach of the investigations performed by biology scientists. Aho-Corasick is an exact, multiple pattern matching algorithm often at the base of this application. High performance systems are a promising platform to accelerate this algorithm, which is computationally intensive but also inherently parallel. Nowadays, high performance systems also include heterogeneous processing elements, such as Graphic Processing Units (GPUs), to further accelerate parallel algorithms. Unfortunately, the Aho-Corasick algorithm exhibits large performance variability, depending on the size of the input streams, on the number of patterns to search and on the number of matches, and poses significant challenges on current high performance software and hardware implementations. An adequate mapping of the algorithm on the target architecture, coping with the limit of the underlining hardware, is required to reach the desired high throughputs. In this paper, we discuss the implementation of the Aho-Corasick algorithm for GPU-accelerated high performance systems. We present an optimized implementation of Aho-Corasick for GPUs and discuss its tradeoffs on the Tesla T10 and he new Tesla T20 (codename Fermi) GPUs. We then integrate the optimized GPU code, respectively, in a MPI-based and in a pthreads-based load balancer to enable execution of the algorithm on clusters and large sharedmemory multiprocessors (SMPs) accelerated with multiple GPUs.

Tumeo, Antonino↗

Deciding Termination for Ancestor Match- Bounded String Rewriting Systems

Termination of a string rewriting system can be characterized by termination on suitable recursively defined languages. This kind of termination criteria has been criticized for its lack of automation. In an earlier paper we have shown how to construct an automated termination criterion if the recursion is aligned with the rewrite relation. We have demonstrated the technique with Dershowitz's forward closure criterion. In this paper we show that a different approach is suitable when the recursion is aligned with the inverse of the rewrite relation. We apply this idea to Kurth's ancestor graphs and obtain ancestor match-bounded string rewriting systems. Termination is shown to be decidable for this class. The resulting method improves upon those based on match-boundedness or inverse match-boundedness.

Geser, Alfons↗

Match-bounded String Rewriting Systems

We introduce a new class of automated proof methods for the termination of rewriting systems on strings. The basis of all these methods is to show that rewriting preserves regular languages. To this end, letters are annotated with natural numbers, called match heights. If the minimal height of all positions in a redex is h+1 then every position in the reduct will get height h+1. In a match-bounded system, match heights are globally bounded. Using recent results on deleting systems, we prove that rewriting by a match-bounded system preserves regular languages. Hence it is decidable whether a given rewriting system has a given match bound. We also provide a sufficient criterion for the abence of a match-bound. The problem of existence of a match-bound is still open. Match-boundedness for all strings can be used as an automated criterion for termination, for match-bounded systems are terminating. This criterion can be strengthened by requiring match-boundedness only for a restricted set of strings, for instance the set of right hand sides of forward closures.

Geser, Alfons↗

Evaluation of Digital Nautical Chart data for confirmation and expansion of GeoNames data

Here, this work examines how Digital Nautical Chart (DNC) data may contribute to the evolution and refinement of GeoNames data for near-shore features. GeoNames features are point data with one or more possible place names. DNC Earth Cover Text (ECRText) objects are map labels positioned nearby their real word counterpart. ECRText feature map position strikes a compromise between association with real features and cartographic readability. This work explores whether ECRText features can confirm (or expand names for) existing locations or contribute new locations through data conflation. Due to name variations and spatial position, conflating these data are nontrivial. Previous work engaged in a brief examination using the trigram string matching algorithm under coarse proximity constraints, indicating that ECRText could provide additional value to GeoNames. This work builds on that study, by engaging in a deeper examination of spatial proximity and exploring conflation agreement across an ensemble of string matching approaches. The result finds strong ensemble agreement about ECRText features which already exist in GeoNames but mixed results about which features contribute new information, as well as exploring why some of these matching techniques fail. With an eye toward automation, computational efficiency was found not to be a constraint in sustaining updates.

96 KNOWLEDGE MANAGEMENT AND PRESERVATION↗

Processing of ICARTT Data Files Using Fuzzy Matching and Parser Combinators

In this paper, the task of parsing and matching inconsistent, poorly formed text data through the use of parser combinators and fuzzy matching is discussed. An object-oriented implementation of the parser combinator technique is used to allow for a relatively simple interface for adapting base parsers. For matching tasks, a fuzzy matching algorithm with Levenshtein distance calculations is implemented to match string pair, which are otherwise difficult to match due to the aforementioned irregularities and errors in one or both pair members. Used in concert, the two techniques allow parsing and matching operations to be performed which had previously only been done manually.

Rutherford, Matthew T.↗

Towards Automatically Matching Security Advisories to CPEs: String Similarity-based Vendor Matching

When a vulnerability is reported by the National Vulnerability Database (NVD), affected products are listed in the structured Common Platform Enumeration (CPE) format. Unfortunately, if the vulnerability is in a software library (e.g., Log4j), it will not include CPEs for each product containing that library. In these cases, security operators need to manually read the vendor's or third-party security advisories to see if their product is affected. However, these advisories do not report affected products in a structured format, which prevents automated processing, This paper makes the first effort towards automatically constructing structured CPEs for the vulnerable products in a non-NVD security advisory from the unstructured data in the advisory. Since this is a very challenging problem, this paper specifically focuses on the initial but key step of matching the un-structured vendor names in security advisories to the structured vendor representations in the standard CPE format. We explore the feasibility of using string similarity to solve the problem. The basic idea is to compare a vendor name from the non-NVD advisory with each vendor in the official CPE dictionary. The CPE vendor with the highest similarity score to the advisory's vendor will be considered as the match. We first conduct an experimental, comparative study of multiple mainstream string similarity metrics for this matching problem. To improve the performance, we then design a new string similarity metric that is adapted from an existing metric by weighing different tokens in the advisory's vendor name differently.

McClanahan, Kylie↗

Shape matching utilizing indexed hypotheses generation and testing

An indexing mechanism is developed as part of an overall scheme called SMITH (shape matching utilizing indexed hypothesis generation and testing) for two-dimensional model-based object recognition. The approach is based on a dynamic programming implementation of attributed string matching, is computationally efficient, and works effectively for both nonoccluded and occluded shapes. Another advantage of this technique is that models may be inserted or deleted with relatively little cost.

Mehrotra, Rajiv↗

Single-Center Experience Implementing the LOINC-RSNA Radiology Playbook for Adult Abdomen/Pelvis CT and MR Procedures Using a Semi-Automated Method

The LOINC-RSNA Radiology Playbook represents the future direction of standardization for radiology procedure names. We developed a software solution (“RadMatch”) utilizing Python 2.7 and FuzzyWuzzy, an open-source fuzzy string matching algorithm created by SeatGeek, to implement the LOINC-RSNA Radiology Playbook for adult abdomen and pelvis CT and MR procedures performed at our institution. Execution of this semi-automated method resulted in the assignment of appropriate LOINC numbers to 86% of local CT procedures. For local MR procedures, appropriate LOINC numbers were assigned to 75% of these procedures whereas 12.5% of local MR procedures could only be partially mapped. For the standardized local procedures, only 63% of CT and 71% of MR procedures had corresponding RadLex Playbook identifier (RPID) codes in the LOINC-RSNA Radiology Playbook, which limited the utility of RPID codes. RadMatch is a semi-automated open-source software tool that can assist radiology departments seeking to standardize their radiology procedures via implementation of the LOINC-RSNA Radiology Playbook.

62 RADIOLOGY AND NUCLEAR MEDICINE↗

Hybrid Tandem Photovoltaics

Tandem solar cell structures are the only strategy demonstrated to surpass the detailed balance efficiency limit of high-quality single-junction solar cells. To continue to improve the efficiencies of cost-effective terrestrial solar power, hybrid tandems of dissimilar subcells are being considered by many around the world, especially designs that incorporate silicon solar cells as a bottom subcell. In this project, we studied a wide variety of tandem design possibilities including those with three-terminal (3T) and four-terminal (4T) configurations. The use of 3T and 4T designs could be useful for efficient and economical hybrid tandem designs that utilize the best available subcell materials such as emerging perovskite materials. Three-terminal configurations, in particular, have not been sufficiently studied previously. We have laid the foundational groundwork in this project for understanding the operation of 3T tandems: developing a taxonomy for naming, a methodology for measuring and interconnecting, and models for simply characterizing 3T tandems. Electrical and optical subcell coupling between the subcells was also measured and modeled. An important part of this work was the fabrication of novel example tandem structures, including 4T GaAs/Si, 3T GaInP/Si, 3T GaAs/Si, and 3T GaInP/GaAs devices. Using these high-quality tandem cells, we have been able to clearly demonstrate the achievability of high-efficiencies, and subtle physical effects such as photon recycling and luminescent coupling. We have developed and demonstrated essential building-block tools such as transparent conductive adhesives (TCA) and 3T silicon bottom cells with interdigitated back contacts (IBC) that can also be used in many other tandem designs. We have tested the reliability of these tools and devices under standardized testing and outdoor measurements. We have found 4T GaAs/Si tandems to be relatively straightforward to fabricate and robust in real-world outdoor conditions. While we have demonstrated working hybrid 3T III-V/TCA/Si IBC tandems, we experienced low yields even with our best process flows yet. Further work is still needed to improve the processing yield of these devices. We therefore also created tandem cells using an all-III-V 3T tandem process which was very robust with high yields, allowing for the creation of voltage-matched strings in many different configurations using 8 nearly identical 3T tandems. Using these robust 3T tandem examples, we were able measure and precisely characterize 3T tandem behaviors to predict their operation under changing spectrum and temperature. The optoelectronic equivalent-circuit model was shown to be very general and applicable to hybrid tandems, and encompassed the operation 3T Si IBC cells. This general model has been distributed to the public in as open-source Python-based software called PVcircuit. We have calculated the implications of these new tandem device designs on the real-world energy production and shown how the relative performance of different tandem configurations is situational and can be engineered using the tools developed here.

14 SOLAR ENERGY↗

Exploring the Value of Learned Representations for Automated Syndromic Definitions

Objective: To better define and automate biosurveillance syndrome categorization using modern unsupervised vector embedding techniques. Introduction: Comprehensive medical syndrome definitions are critical for outbreak investigation, disease trend monitoring, and public health surveillance. However, because current definitions are based on keyword string-matching, they may miss important distributional information in free text and medical codes that could be used to build a more general classifier. Here, we explore the idea that individual ICD codes can be categorized by examining their contextual relationships across all other ICD codes. We extend previous work in representation learning with medical data [1] by generating dense vector embeddings of these ICD codes found in emergency department (ED) visit records. The resulting representations capture information about disease co-occurrence that would typically require SME involvement and support the development of more robust syndrome definitions.

60 APPLIED LIFE SCIENCES↗

An overview of selected information storage and retrieval issues in computerized document processing

The rapid development of computerized information storage and retrieval techniques has introduced the possibility of extending the word processing concept to document processing. A major advantage of computerized document processing is the relief of the tedious task of manual editing and composition usually encountered by traditional publishers through the immense speed and storage capacity of computers. Furthermore, computerized document processing provides an author with centralized control, the lack of which is a handicap of the traditional publishing operation. A survey of some computerized document processing techniques is presented with emphasis on related information storage and retrieval issues. String matching algorithms are considered central to document information storage and retrieval and are also discussed.

Dominick, Wayne D.↗

Noiseless compression using non-Markov models

Adaptive data compression techniques can be viewed as consisting of a model specified by a database common to the encoder and decoder, an encoding rule and a rule for updating the model to ensure that the encoder and decoder always agree on the interpretation of the next transmission. The techniques which fit this framework range from run-length coding, to adaptive Huffman and arithmetic coding, to the string-matching techniques of Lempel and Ziv. The compression obtained by arithmetic coding is dependent on the generality of the source model. For many sources, an independent-letter model is clearly insufficient. Unfortunately, a straightforward implementation of a Markov model requires an amount of space exponential in the number of letters remembered. The Directed Acyclic Word Graph (DAWG) can be constructed in time and space proportional to the text encoded, and can be used to estimate the probabilities required for arithmetic coding based on an amount of memory which varies naturally depending on the encoded text. The tail of that portion of the text which was encoded is the longest suffix that has occurred previously. The frequencies of letters following these previous occurrences can be used to estimate the probability distribution of the next letter. Experimental results indicate that compression is often far better than that obtained using independent-letter models, and sometimes also significantly better than other non-independent techniques.

Blumer, Anselm↗