scispace - formally typeset
Search or ask a question

Showing papers by "Costas S. Iliopoulos published in 2000"


01 Jan 2000
TL;DR: In this paper, a column-wise parallelization of the classical dynamic programming approach is proposed to solve the problem of finding the length p of a common subsequence in O( nm/w ) time and O( m / w ) space, where w is the number of bits in a machine word.
Abstract: Abstract This paper presents a new practical bit-vector algorithm for solving the well-known Longest Common Subsequence (LCS) problem. Given two strings of length m and n , n ⩾ m , we present an algorithm which determines the length p of an LCS in O( nm / w ) time and O( m / w ) space, where w is the number of bits in a machine word. This algorithm can be thought of as column-wise “parallelization” of the classical dynamic programming approach. Our algorithm is very efficient in practice, where computing the length of an LCS of two strings can be done in linear time and constant (additional/working) space by assuming that m ⩽ w .

85 citations



Proceedings Article
01 Jan 2000
TL;DR: This paper focuses on a set of string pattern-matching problems that arise in musical analysis, and especially in musical information retrieval, and on the problem of matching with gaps.
Abstract: This paper focuses on a set of string pattern-matching problems that arise in musical analysis, and especially in musical information retrieval. A musical score can be viewed as a string: at a very rudimentary level, the alphabet could simply be the set of notes in the chromatic or diatonic notation, or the set of intervals that appear between notes (e.g. pitch may be represented as MIDI numbers and pitch intervals as number of semitones). An important example of flexibility required in score searching arises from the nature of polyphonic music. Within a certain time span each of the simultaneously-performed voices in a musical composition does not, typically, contain the same number of notes. So ‘melodic events’ occurring in one voice may be separated from their neighbours in a score by intervening events in other voices. Since we cannot generally rely on voice information being present in the score we need to allow for temporal ‘gaps’ between events in the matched pattern. Typically, the magnitude of such a gap (which might be expressed as a maximum time value, or, more probably, as a maximum number of skipped event-time-slots) will be a parameter set by the user. In our mathematical treatment the allowance for gaps in the query and the score being searched is represented by the constant α. Fig. 1 shows a short example from a musical score in monophonic format in which we attempt to match a pattern y (also known as the ‘query’) within a music score t (that we will call the ‘text’). This pattern can only be matched by allowing gaps of up to two spaces between pitches in the pattern; Note that the matching of the pattern to the score can be actually ‘approximate’ (see Cambouropolos et al 1999), in that the difference between the pitches and the sequence of musical events could be bounded by a constant δ (for simplicity we set δ to be zero in this example). We can see that there is an occurrence of the pattern in the text, starting at position three because y1, y2, y3, y4 and y5 matches exactly x3, x5, x8, x9 and x11 , respectively, with a sequence of gaps G=(g1=1, g2=2, g3=0, g4=1). g1 is the number of spaces between the first two matched pitches in the text (i.e. between (x3=8) and (x5=3)), g2 is the number of spaces between the second and the third matched pitches in the text, and son on. Clearly, this is a valid match because all the gaps are less than or equal to two, which was the given gap restriction. If we want to find matches with a gap of up to one, then this match won’t be a valid one. Fig. 2 shows a similar example but for δ=1 so that the matched pitches don’t need to be exact, an ‘error’ of up to 1 is now allowed. Therefore, the first pitch in the pattern (8) matches the third pitch in the text (7) because |8-7|=1 and that is less or equal to our allowed error of one. The second pith in the pattern (3) matches the fifth pith in the text (4) and so on. The sequence of gaps remains exactly the same. The problem of matching with gaps, can be formally defined as follows: given a musical sequence x (call the ‘text’) and a motif y (call the ‘pattern’) find all occurrences of y in x such that yi = xji ∀ i ∈ {1..m}, where m is the length of y. Note that y occurs at position j1 of x with a gap sequence G=(g1, g2, ..., gm-1), where gi =|ji ji+1-1| ∀ i ∈ {1..m-1}. We will consider this problem under a variety of conditions: the motif matching can be either exact or approximate. The gaps can be bounded, unbounded or all the same length. We have design efficient algorithms and implementations of all the above variants.

12 citations


Journal ArticleDOI
TL;DR: This work considers several variants of the evolutionary chain problem and presents ecient algorithms and implementations for solving them.
Abstract: Musical patterns that recur in approximate, rather than identical, form within the body of a musical work are considered to be of considerable importance in music analysis. Here we consider the \evolutionary chain problem": this is the problem of computing a chain of all \motif" recurrences, each of which is a transformation of (\similar" to) the original motif, but each of which may be progressively further from the original. Here we consider several variants of the evolutionary chain problem and we present ecient algorithms and implementations for solving them.

7 citations


Journal ArticleDOI
01 Mar 2000
TL;DR: A CRCW PRAM algorithm is presented here for validating a one-dimensional image x of length n over a set of k objects of equal length in O ( log log n) time with linear work, where k is a fixed integer.
Abstract: This is a theoretical study of partially occluded one-dimensional images. Here, we consider “valid” images composed from a given set of objects, where some objects appearing in the image may be partially obstructed by others. A CRCW PRAM algorithm is presented here for validating a one-dimensional image x of length n over a set of k objects of equal length in O ( log log n) time with linear work, where k is a fixed integer.

6 citations



Book ChapterDOI
25 Nov 2000
TL;DR: This work considers the "evolutionary chain problem" of computing a chain of all "motif" recurrences, each of which is a transformation of ("similar" to) the original motif, but each may be progressively further from the original.
Abstract: Musical patterns that recur in approximate, rather than identical, form within the body of a musical work are considered to be of considerable importance in music analysis Here we consider the "evolutionary chain problem": this is the problem of computing a chain of all "motif" recurrences, each of which is a transformation of ("similar" to) the original motif, but each of which may be progressively further from the original Here we consider several variants of the evolutionary chain problem and we present efficient algorithms and implementations for solving them

1 citations