34 citations found. Retrieving documents...
R. Horspool. Practical fast searching in strings. Software Practice and Experience, 10:501-506, 1980.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
The Abstraction and Instantiation of String-Matching.. - Amtoft, Consel.. (2001)   (2 citations)  (Correct)

....with repetitions. These options do not invalidate the correctness proof of the core program, but they make it possible to reduce the size of residual programs, at the expense of redundant tests. This information theoretic weakening is common in published studies of the BoyerMoore string matcher [6, 33, 45]: the challenge then is to show that the weakened string matcher still operates in linear time [47] In the current version of Figure 1, we only prune the cache at one point: after a call to cache extend pos. This lets us obtain a number of variants of string matchers in the style of Boyer and ....

....(including the positive ones) 5.2.3 More pruning: The pruning strategy of Figure 1 is actually sub optimal. A better one is to prune the cache before reaching each specialization point. Doing so makes it possible to obtain what looks like Horspool s variant of Boyer and Moore s string matcher [33]. 5.3 An example Figure 3 displays a specialized version of the program in Figure 1 with respect to the pattern string abb . This specialized version is renamed for readability. We used instantiations yielding Partsch and Stomp s variant. The code for loop pt 1 reveals that a right to left ....

[Article contains additional citation context not shown here]

R. Nigel Horspool. Practical fast searching in strings. Software---Practice and Experience, 10(6):501--506, 1980.


Exclusion-based Signature Matching for Intrusion.. - Markatos, Antonatos.. (2002)   (2 citations)  (Correct)

....search string, then there is a non empty suffix that matches. The heuristic then shifts the search string up to the next occurrence of the suffix in the string. Horspool improved the Boyer Moore algorithm with a simpler and more efficient implementation that uses only the bad character heuristic[8]. Aho and Corasick provide an algorithm for concurrently matching multiple strings [1] The set of strings is used to construct an automaton which is able to search for all strings concurrently. The automaton consumes the input one character at a time and keeps track of patterns that have ....

R. Horspool. Practical fast searching in strings. Software - Practice and Experience, 10(6):501--506, 1980.


NR-grep: A Fast and Flexible Pattern Matching Tool - Navarro (2000)   (7 citations)  (Correct)

....expression searching, multipattern searching, etc. Agrep also permits approximate searching: the pattern matches the text after performing a limited number of alterations on it. The algorithmic principles behind agrep are diverse [30] Exact string matching is done with the Horspool algorithm [12], a variant of the Boyer Moore family [6] The speed of the BoyerMoore string matching algorithms comes from their ability to skip (i.e. not inspect) some text characters. Agrep deals with more complex patterns using a variant of Shift Or [2] an algorithm exploiting bit parallelism (a concept ....

....Some Experimental Results We present now some experiments comparing the performance of nrgrep version 1.1 against that of its best known competitors, Gnu grep version 2.4 and agrep version 3.0. Agrep [29] uses for simple strings a very efficient modification of the Boyer Moore Horspool algorithm [12]. For classes of characters and wild cards (denoted # and equivalent to . it uses an extension of the Shift Or algorithm explained in Section 3.1, in all cases based on forward scanning. For regular expressions it uses a forward scanning with the bit parallel simulation of Thompson s ....

R. Horspool. Practical fast searching in strings. Software Practice and Experience, 10:501--506, 1980.


Boyer-Moore String Matching over Ziv-Lempel Compressed Text - Navarro, Tarhio (2000)   (6 citations)  (Correct)

....between the cost to compute the shift and the amount of shifting obtained. Two main techniques are used: Occurrence heuristic: pick a character in the window and shift the window forward the minimum necessary to align the selected text character with the same character in the pattern. Horspool [9] uses the m th window character and Sunday [19] the (m 1) th (actually outside the window) These methods need a table d that for each character gives its last occurrence in the pattern (the details depend on the versions) The Simplified BM (SBM) method [5] uses the character at the position that ....

R. N. Horspool. Practical fast searching in strings. Software Practice and Experience, 10:501--506, 1980.


RE2C - A More Versatile Scanner Generator - Bumbulis, Cowan (1994)   (1 citation)  (Correct)

....with directly executable scanners has shown, that replacing many of these jump tables 5 If the input contains no newlines, a GLA scanner will attempt to buffer the entire input stream. 6 The problem of detecting stack overflow in LR parsers is probably best left to hardware mechanisms [12]. 7 It should be noted that finding the minimal set of states to remove from an SCC in order to render it acyclic is equivalent to the FEEDBACK VERTEX SET problem which is NP complete [6] 7 with if statements results in scanners which are much smaller, and surprisingly, in some cases slightly ....

Horspool, R. N., and Whitney, M. Even faster LR parsing. Software--Practice and Experience 20, 6 (1990), 515--535.


NR-grep: A Fast and Flexible Pattern Matching Tool - Navarro (2000)   (7 citations)  (Correct)

....expression searching, multipattern searching, etc. Agrep also permits approximate searching: the pattern matches the text after performing a limited number of alterations on it) The algorithmic principles behind agrep are diverse [27] Exact string matching is done with the Horspool algorithm [11], a variant of the Boyer Moore family [6] The speed of the BoyerMoore string matching algorithms comes from their ability to skip (i.e. not inspect) some text characters. Agrep deals with more complex patterns using a variant of Shift Or [2] an algorithm exploiting bit parallelism (a concept ....

....9 Some Experimental Results We present now some experiments comparing the performance of nrgrep against that of its best known competitors, Gnu grep version 2.4 and agrep version 3.0. Agrep [26] uses for simple strings a very efficient modification of the Boyer Moore Horspool algorithm [11]. For classes of characters and wild cards (denoted # and equivalent to . it uses an extension of the Shift Or algorithm explained in Section 3.1, in all cases based on forward scanning. For regular expressions it uses a forward scanning with the bit parallel simulation of 39 Thompson s ....

R. Horspool. Practical fast searching in strings. Software Practice and Experience, 10:501--506, 1980.


Experiments on String Matching in Memory Structures - Lecroq (1998)   (2 citations)  (Correct)

.... alphabet, we performed various searches with string matching algorithms over unbounded alphabets (Boyer Moore algorithm [5] with only the matching shift and Reverse Factor algorithm [6] and [7] and with string matching algorithms over bounded alphabets (Boyer Moore algorithm, Horspool algorithm [8], Quick Search algorithm [9] Tuned Boyer Moore algorithm [10] We first recall briefly the algorithms before giving the results of the different experiments. THE ALGORITHMS Exact string matching consists in finding all the occurrences of a word x = x[0; m Gamma 1] of length m in a ....

....that have been tested are variants of the Boyer Moore algorithm. Six algorithms have been tested: two for the unbounded case (the Boyer Moore algorithm (BM) 5] and the Reverse Factor algorithm (RF) 6] and [7] and four for the bounded case (the Boyer Moore algorithm, the Horspool algorithm (HOR) [8], the Quick Search algorithm (QS) 9] and the Tuned Boyer Moore algorithm (TBM) 10] The five first algorithms have already been presented in [3] We will only emphasize here on the improvement made, if any. We modified all the original algorithms to add a fast loop (ufast according to the ....

R. N. Horspool. Practical fast searching in strings. Software--Practice and Experience, 10:501--506, 1980.


A Unifying Look at the Apostolico-Giancarlo String-Matching.. - Crochemore, al. (2000)   (1 citation)  (Correct)

....Center) and Andrew M. Odlyzko (Bell Telephone Laboratories) gave a proof of a 4n bound and conjectured that the right boundwas 2n [9] Still in 1980 R. Nigel Horspool (McGill University) designed a practical algorithm using only the occurrence shift based on the rightmost character of the window [12]. In 1986 Alberto Apostolico (Purdue University) and Raffaele Giancarlo (Salerno University) presented an algorithm that they proved performs 2n character comparisons in the worst case for finding all the occurrences of the pattern in the text using O(m) extra space [1] In 1987, Zhu Rui Feng and ....

R. N. Horspool. Practical fast searching in strings. Software--Practice and Experience, 10(6):501--506, 1980.


A Unifying Look at the Apostolico-Giancarlo String-Matching.. - Crochemore, al. (2000)   (1 citation)  (Correct)

....Research Center) and Andrew M. Odlyzko (Bell Telephone Laboratories) gave a proof in 4n and conjectured that the right bound was 2n [8] Still in 1980 R. Nigel Horspool (McGill University) designed a practical algorithm using only the occurrence shift with the rightmost character of the window [10]. In 1986 Alberto Apostolico (Purdue University) 6 and Raffaele Giancarlo (Salerno University) presented an algorithm performing 2n character comparisons in the worst case for finding all the occurrences of the pattern in the text using O(m) extra space [1] In 1987 Zhu Rui Feng and Tadao Takaoka ....

R. N. Horspool. Practical fast searching in strings. Software--Practice and Experience, 10(6):501--506, 1980.


A Recursive Version of the Shift Or Algorithm - Barrio, Fuente, Vegas   (Correct)

....and any finite class of symbols are allowed. To make performance comparisons we have developed experiments with the most common algorithms of text pattern searching: the naive algorithm [3] the Knuth Morris Pratt [6] two variants of the BoyerMoore the original [2] and the Horspool variation [4] the Shift Or [1] and some versions, and the Karp Rabin algoritm [5] We have also included several results of the experiments using random text and Spanish text. 2 Preliminaries We use the following notation: ffl n: text length; t j : text character at j position, ffl m: pattern length; q ....

N. Horspool. Practical fast searching in strings. Software - Practice and experience, 12:501--506, 1980.


Speeding Up Pattern Matching By Text Compression - Shibata, Kida, Fukamachi.. (2000)   (4 citations)  (Correct)

....algorithm [4] and its variants (see [25] The lower bound of the average case time complexity is known to be O(n log m=m) 28] and this bound is achieved by 1 the algorithm presented in [6] From a practical viewpoint, the constant hidden behind O notation plays an important role. Horspool [14] and Sunday [23] respectively proposed variants of the BM algorithm which are widely known to be very fast in practice. In fact, the former is incorporated into a software package Agrep, which is understood as the fastest pattern matching tool developed by Wu and Manber [26] Recently, a new ....

R. N. Horspool. Practical fast searching in strings. Software-Practice and Experience, 10:501--506, 1980.


A Boyer-Moore type algorithm for compressed pattern.. - Shibata, Matsumoto.. (2000)   (3 citations)  (Correct)

....algorithms. However, there are sublinear time algorithms, such as the Boyer Moore (BM) algorithm [4] which skip many characters of text and run faster than the O(N) time algorithms on the average. The software package Agrep, known as the fastest pattern matching tool, uses the Horspool variation [9] of the BM algorithm. Our algorithm in [18] is not better than Agrep in the case of searching for a long pattern in text files that are not highly compressible by BPE, whereas it defeats Agrep for highly compressible text files such as biological data. Then a question arises: Does text compression ....

R. N. Horspool. Practical fast searching in strings. Software-Practice and Experience, 10:501--506, 1980.


A General Practical Approach to Pattern Matching over.. - Navarro, Raffinot (1998)   (15 citations)  (Correct)

....area of development. The string matching problem is: given a pattern P = p 1 : p m and a text T = t 1 : t u , both sequences of symbols over a finite alphabet Sigma of size oe, find all the occurrences of P in T . There are many algorithms to solve this problem, from classical to very recent [18, 8, 4, 14, 26, 9, 25]. The complexity of this problem is O(u) in the worst case and O(u log(m) m) on average, where u = jT j and m = jP j, and there exist variants of [8, 9] which achieve this complexity. In practice, however, 26, 25] are the fastest algorithms in most cases. Another old and rich area in computer ....

R. N. Horspool. Practical fast searching in strings. Software Practice and Experience, 10:501-- 506, 1980.


A General Practical Approach to Pattern Matching over.. - Navarro, Raffinot (1998)   (15 citations)  (Correct)

....area of development. The string matching problem is: given a pattern P = p 1 : p m and a text T = t 1 : t u , both sequences of symbols over a finite alphabet Sigma of size oe, find all the occurrences of P in T . There are many algorithms to solve this problem, from classical to very recent [19, 8, 4, 14, 27, 9, 25]. The complexity of this problem is O(u) in the worst case and O(u log(m) m) on average, where u = jT j and m = jP j, and there exist variants of [8, 9] which achieve this complexity. In practice, however, 27, 25] are the fastest algorithms in most cases. Another old and rich area in computer ....

R. N. Horspool. Practical fast searching in strings. Software Practice and Experience, 10:501--506, 1980.


On Boyer-Moore Automata - Baeza-Yates, Choffrut, al. (1994)   (2 citations)  (Correct)

.... further improvements, such that by having only m states, a 2n Gamma m 1 worst case number of comparisons is achieved, as in the Knuth Morris Pratt (KMP) algorithm [KMP77] The same number of comparisons is achieved by a hybrid algorithm [BY89b] between the KMP algorithm and Horspool s variant [Hor80] of the BM algorithm. In [KMP77] it is suggested to keep track of all information gathered while searching the text. At any given point some (possibly none) of the last m current characters of the text (where m is the length of the pattern) are known and the algorithm consists of inquiring about ....

....algorithm. 8 Concluding Remarks We have presented several variations of Boyer Moore type algorithms described as an automaton. All classical algorithms for string matching are particular cases (the Knuth Morris Pratt [KMP77] Boyer Moore [BM77] Boyer Moore Galil [Gal79] and Boyer Moore Horspool [Hor80] algorithms) This type of automata is asymptotically optimal on the average because it is similar to the algorithms presented by Yao [Yao79] That is, O( log j Sigmaj m) m) inspections per character in the text are needed. A BMA is also optimal in the worst case because at least n Gamma m 1 ....

R. N. Horspool. Practical fast searching in strings. Software - Practice and Experience, 10:501--506, 1980.


Experimental on Results on String Matching Over Infinite Alphabets - Lecroq (1997)   (Correct)

.... alphabets (Brute Force algorithm, Brute Force algorithm with a guard, Knuth Morris Pratt algorithm [4] Boyer Moore algorithm [5] only with matching shift and Reverse Factor algorithm [6] and [7] and with string matching algorithms over finite alphabets (Scan for First Character algorithm [8], Boyer Moore algorithm, Horspool algorithm [8] Quick Search algorithm [9] Tuned Boyer Moore algorithm [10] and Reverse Factor algorithm) Brute Force 1 for j 0 to n Gamma m 2 do if y[j; j m Gamma 1] x 3 then Output(j) Figure 1: The Brute Force algorithm. THE ALGORITHMS Exact ....

.... Force algorithm with a guard, Knuth Morris Pratt algorithm [4] Boyer Moore algorithm [5] only with matching shift and Reverse Factor algorithm [6] and [7] and with string matching algorithms over finite alphabets (Scan for First Character algorithm [8] Boyer Moore algorithm, Horspool algorithm [8], Quick Search algorithm [9] Tuned Boyer Moore algorithm [10] and Reverse Factor algorithm) Brute Force 1 for j 0 to n Gamma m 2 do if y[j; j m Gamma 1] x 3 then Output(j) Figure 1: The Brute Force algorithm. THE ALGORITHMS Exact string matching consists in finding all the ....

[Article contains additional citation context not shown here]

R. N. Horspool. Practical fast searching in strings. Software--Practice and Experience, 10:501--506, 1980.


Approximate Text Searching - Badino (1998)   (8 citations)  (Correct)

....part. The algorithms for the two areas are normally different, since more complex filters are worthwhile only on longer patterns. 3.1.3. 1 Moderate Patterns This area started in 1990, where Tarhio and Ukkonen [TU93] published an algorithm that tried to use Boyer Moore Horspool techniques [BM77, Hor80] to filter the text. The idea was that a diagonal of the dynamic programming matrix must have k or less mismatches (increments) in order to match. Notice that, inside a single diagonal, we can think only in terms of mismatches, since insertions and deletions affect other diagonals. Thanks to ....

R. N. Horspool. Practical fast searching in strings. Software Practice and Experience, 10:501--506, 1980.


Very Fast YACC-Compatible Parsers (For Very Little Effort) - Bhamidipaty, Proebsting (1995)   (Correct)

....case s speed increased by more than 17 . Also, Pennello s system does not accept yacc specifications, it does not maintain a semantic stack, and its error recovery differs from yacc s. 2. 2 Horspool and Whitney Horspool and Whitney developed many additional optimizations for hard coded LR parsers [HW90]. Their system accepts yacc input, but does not support yacc s semantic stack or error recovery. The parser generator is retargetable and can generate both C and assembler from a special intermediate representation. The parsers show a 5 to 8 fold increase in speed over their table driven ....

R. N. Horspool and M. Whitney. Even faster LR parsing. Software Practice and Experience, 20(6):515--535, June 1990.


Text Searching: Theory and Practice - Baeza-Yates, Navarro   Self-citation (Searching)   (Correct)

....scenarios. For example, BDM is a good choice to search for patterns of length m = 100 on DNA text, but when it comes to search for words and phrases (of length typically less than 30) in natural 4 language text, it is outperformed by far by a simple variant of Boyer Moore due to Horspool [36], which also can be coded in a few lines. In this section we will consider two successful approaches to text searching. These are responsible for most of the relevant techniques in use today. In both approaches we will explore the relation between theoretically and practically appealing ....

....alphabets, the second heuristic usually gave good enough shifts (the original idea) Hence computing two shifts to pick the largest was not worth the cost. The resulting algorithm, called Simpli ed BM, is simpler than BM and competitive. However, even simpler and faster is Horspool algorithm [36]. Pattern and text window are compared in any order, even left to right (this can be done using a special purpose machine instruction that compares chunks of memory) If they are equal, the occurrence is reported. In any case, the last window character is used to determine the shift. For this ....

R. Horspool. Practical fast searching in strings. Software Practice and Experience, 10(6):501-506, 1980.


Directly-Executable Earley Parsing - Aycock, Horspool (2001)   (2 citations)  Self-citation (Horspool)   (Correct)

....multiple dialects of a language for use in software reengineering [7] The primary objection to general parsing algorithms, then, is not one of functionality but of speed. For LR parsers, dramatic speed improvements have been obtained by producing hard coded, or directly executable parsers [3, 5, 14, 23, 24]. These directly executable LR parsers implement the parser for a given grammar as a specialized program, rather than using a typical table driven approach. In this paper we extend directly executable techniques for use in Earley s general parsing algorithm, to produce and evaluate what we believe ....

....based on grammar structure. One such example is elimination of unit rules, Also called chain rule elimination. grammar rules such as A B with only a single nonterminal on the righthand side [13] Techniques like this have been employed with success in other directly executable parsers [14, 24]. 8 Conclusion We have shown that directly executable LR parsing techniques can be extended for use in general parsing algorithms such as Earley s algorithm. The result is a directly executable Earley parser which is substantially faster than standard Earley parsers, to the point where it is ....

R. N. Horspool and M. Whitney. Even Faster LR Parsing. Software: Practice and Experience 20, 6 (June 1990), pp. 515-535.


Efficient Demultiplexing of Network Packets by Automatic Parsing - Jayaram, Cytron (1995)   (13 citations)  Self-citation (Parsing)   (Correct)

....as yacc [Joh79] then generates an LR parse table for the grammar, assuming the grammar presents no conflicts. As discussed in Section 3, we optimize the tables produced by yacc, in a manner quite different from optimizations typically seen in the context of parsing programming languages [Pen86, HW90] The tables are in fact optimized for a modified LR parsing engine, which has the ability to skip tokens. It is this engine (driven by the optimized LR table) that acts as a packet filter, accepting packets conforming to the grammar specification. Filtering Mechanism Optimizer Network Packets ....

....with warm cache. 5. Related Work In this section we describe related work in the areas of packet filters and LR parsing . We discuss four major packet filter schemes: CSPF [MRA87] BPF [MJ93] MPF [YBMM94] PathFinder [BGS 94] We also discuss related work in optimizing LR parsing [Pen86, HW90] 0 0.5 1 1.5 2 2.5 0 20 40 60 80 100 Filtering time (msecs) Number of endpoints BPF (warm cache) Grammar based filter (warm cache) BPF (cold cache) Grammar based filter (cold cache) Figure 12. Comparison between BPF and our Grammar based filter. Packet size (bytes) Time (msecs) 500 0.070 1000 ....

[Article contains additional citation context not shown here]

R. Nigel. Horspool and Michael Whitney. Even faster LR parsing. Software-Practice and Experience, 20(6), June 1990.


A New Approach to Text Searching - Baeza-Yates, Gonnet   Self-citation (Searching)   (Correct)

....paper the problem is called generalized string matching ) Attempts to adapt the KMP algorithm to this case have failed [14, 25] and for the same reason the BM algorithm as presented in Knuth et al. [23] cannot solve this problem. It is possible to use the Horspool version of the BM algorithm [18], but the worst case is O(mn) and on average, if we have a don t care character near the end of the pattern, the whole idea of the shift table is worthless. By mapping a class of characters to a unique character, the Karp and Rabin algorithm [20] solves this problem too. However, this is a ....

....that each first letter had a different frequency in English text (from most to least frequent) The timings are in seconds and they have an absolute error bounded by 0.5 seconds. They include the preprocessing time in all cases. The algorithms implemented are Boyer Moore, as suggested by Horspool [18] (BMH) which, according to Baeza Yates [3] is the fastest practical version of this algorithm; KnuthMorris Pratt, as suggested by their authors [23] and our new algorithm (SO) using the KMP idea (first scan for the first character of the pattern. This version is shown in Figure 4. Note that ....

[Article contains additional citation context not shown here]

R. N. Horspool. Practical fast searching in strings. Software - Practice and Experience, 10:501--506, 1980.


On the use of Regular Expressions for Searching Text - Charles Clarke (1995)   (9 citations)  Self-citation (Searching)   (Correct)

....regular expression search in preprocessed text with average case time complexity of O( p n) has been developed by Baeza Yates and Gonnet [6] Much effort has been devoted to addressing special cases of regular expression search. Search algorithms have been developed for finding single keywords [8, 15, 19], sets of keywords [4] keywords separated by sequences of don t cares [1, 12, 20] and other simple patterns [7, 23] A recent general survey of the area is given by Aho [3] 2 Shortest Substrings If L is a language over an alphabet Sigma we define the language G(L) as follows: Definition ....

R. Nigel Horspool. Practical fast searching in strings. Software --- Practice and Experience, 10:501--506, 1980.


Improved Single and Multiple Approximate String Matching - Fredriksson, Navarro   (Correct)

No context found.

R. Horspool. Practical fast searching in strings. Software Practice and Experience, 10:501-506, 1980.


xB: A Domain-Specific String Matching Algorithm for.. - Anagnostakis..   (Correct)

No context found.

R. Horspool. Practical fast searching in strings. Software - Practice and Experience, 10(6):501--506, 1980.


A network intrusion detection system on IXP1200 network.. - Bos, Huang (2004)   (Correct)

No context found.

R.N. Horspool. Practical fast searching in strings. Software - Practice and experience,, 10:501--506, 1980.


Practical and Flexible Pattern Matching over Ziv-Lempel.. - Navarro, Raffinot   (Correct)

No context found.

R. N. Horspool. Practical fast searching in strings. Software Practice and Experience, 10:501-506, 1980.


Generating Realistic Workloads for Network Intrusion.. - Antonatos.. (2004)   (4 citations)  (Correct)

No context found.

R. Horspool. Practical fast searching in strings. Software - Practice and Experience, 10(6):501--506, 1980.


Improved Single and Multiple Approximate String Matching - Fredriksson, Navarro   (Correct)

No context found.

R. Horspool. Practical fast searching in strings. Software Practice and Experience, 10:501--506, 1980.


Exclusion-based Signature Matching for Intrusion.. - Markatos, Antonatos.. (2002)   (2 citations)  (Correct)

No context found.

R. Horspool. Practical fast searching in strings. Software - Practice and Experience, 10(6):501--506, 1980.


Performance Analysis of Content Matching Intrusion.. - Antonatos.. (2004)   (1 citation)  (Correct)

No context found.

R. Horspool. Practical fast searching in strings. Software - Practice and Experience, 10(6):501--506, 1980.


On Boyer-Moore Automata - Baeza-Yates, Choffrut, al. (1994)   (2 citations)  (Correct)

No context found.

R. N. Horspool. Practical fast searching in strings. Software - Practice and Experience, 10:501--506, 1980. 20


Speeding Up Pattern Matching by Text Compression - Shibata, TakuyaKida.. (2000)   (4 citations)  (Correct)

No context found.

R. N. Horspool. Practical fast searching in strings. Software-Practice and Experience, 10:501--506, 1980.


A Domain-Specific String Matching Algorithm for.. - Anagnostakis.. (2003)   (Correct)

No context found.

R. Horspool. Practical fast searching in strings. Software - Practice and Experience, 10(6):501--506, 1980.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC