Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Gabriele Fici is active.

Publication


Featured researches published by Gabriele Fici.


International Journal of Foundations of Computer Science | 2012

ALGORITHMS FOR JUMBLED PATTERN MATCHING IN STRINGS

Péter Burcsi; Ferdinando Cicalese; Gabriele Fici; Zsuzsanna Lipták

The Parikh vector p(s) of a string s over a finite ordered alphabet Σ = {a1, …, aσ} is defined as the vector of multiplicities of the characters, p(s) = (p1, …, pσ), where pi = |{j | sj = ai}|. Parikh vector q occurs in s if s has a substring t with p(t) = q. The problem of searching for a query q in a text s of length n can be solved simply and worst-case optimally with a sliding window approach in O(n) time. We present two novel algorithms for the case where the text is fixed and many queries arrive over time. The first algorithm only decides whether a given Parikh vector appears in a binary text. It uses a linear size data structure and decides each query in O(1) time. The preprocessing can be done trivially in Θ(n2) time. The second algorithm finds all occurrences of a given Parikh vector in a text over an arbitrary alphabet of size σ ≥ 2 and has sub-linear expected time complexity. More precisely, we present two variants of the algorithm, both using an O(n) size data structure, each of which can be constructed in O(n) time. The first solution is very simple and easy to implement and leads to an expected query time of , where m = ∑i qi is the length of a string with Parikh vector q. The second uses wavelet trees and improves the expected runtime to , i.e., by a factor of log m.


fun with algorithms | 2012

On Approximate Jumbled Pattern Matching in Strings

Péter Burcsi; Ferdinando Cicalese; Gabriele Fici; Zsuzsanna Lipták

Given a string s, the Parikh vector of s, denoted p(s), counts the multiplicity of each character in s. Searching for a match of a Parikh vector q in the text s requires finding a substring t of s with p(t)=q. This can be viewed as the task of finding a jumbled (permuted) version of a query pattern, hence the term Jumbled Pattern Matching. We present several algorithms for the approximate version of the problem: Given a string s and two Parikh vectors u,v (the query bounds), find all maximal occurrences in s of some Parikh vector q such that u≤q≤v. This definition encompasses several natural versions of approximate Parikh vector search. We present an algorithm solving this problem in sub-linear expected time using a wavelet tree of s, which can be computed in time O(n) in a preprocessing phase. We then discuss a Scrabble-like variation of the problem, in which a weight function on the letters of s is given and one has to find all occurrences in s of a substring t with maximum weight having Parikh vector p(t)≤v. For the case of a binary alphabet, we present an algorithm which solves the decision version of the Approximate Jumbled Pattern Matching problem in constant time, by indexing the string in subquadratic time.


Journal of Discrete Algorithms | 2014

A subquadratic algorithm for minimum palindromic factorization

Gabriele Fici; Travis Gagie; Juha Kärkkäinen; Dominik Kempa

We give an O ( n log ź n ) -time, O ( n ) -space algorithm for factoring a string into the minimum number of palindromic substrings. That is, given a string S 1 . . n , in O ( n log ź n ) time our algorithm returns the minimum number of palindromes S 1 , ź , S ź such that S = S 1 ź S ź . We also show that the time complexity is O ( n ) on average and ź ( n log ź n ) in the worst case. The last result is based on a characterization of the palindromic structure of Zimin words.


Theoretical Computer Science | 2013

Enumeration and structure of trapezoidal words

Michelangelo Bucci; Alessandro De Luca; Gabriele Fici

Trapezoidal words are words having at most n+1 distinct factors of length n for every n>=0. They therefore encompass finite Sturmian words. We give combinatorial characterizations of trapezoidal words and exhibit a formula for their enumeration. We then separate trapezoidal words into two disjoint classes: open and closed. A trapezoidal word is closed if it has a factor that occurs only as a prefix and as a suffix; otherwise it is open. We investigate open and closed trapezoidal words, in relation with their special factors. We prove that Sturmian palindromes are closed trapezoidal words and that a closed trapezoidal word is a Sturmian palindrome if and only if its longest repeated prefix is a palindrome. We also define a new class of words, semicentral words, and show that they are characterized by the property that they can be written as uxyu, for a central word u and two different letters x,y. Finally, we investigate the prefixes of the Fibonacci word with respect to the property of being open or closed trapezoidal words, and show that the sequence of open and closed prefixes of the Fibonacci word follows the Fibonacci sequence.


developments in language theory | 2011

On prefix normal words

Gabriele Fici; Zsuzsanna Lipták

We present a new class of binary words: the prefix normal words. They are defined by the property that for any given length k, no factor of length k has more as than the prefix of the same length. These words arise in the context of indexing for jumbled pattern matching (a.k.a. permutation matching or Parikh vector matching), where the aim is to decide whether a string has a factor with a given multiplicity of characters, i.e., with a given Parikh vector. Using prefix normal words, we give the first non-trivial characterization of binary words having the same set of Parikh vectors of factors. We prove that the language of prefix normal words is not context-free and is strictly contained in the language of pre-necklaces, which are prefixes of powers of Lyndon words. We discuss further properties and state open problems.


arXiv: Formal Languages and Automata Theory | 2011

A Classification of Trapezoidal Words

Gabriele Fici

Trapezoidal words are finite words having at most n+1 distinct factors of length n, for every n>=0. They encompass finite Sturmian words. We distinguish trapezoidal words into two disjoint subsets: open and closed trapezoidal words. A trapezoidal word is closed if its longest repeated prefix has exactly two occurrences in the word, the second one being a suffix of the word. Otherwise it is open. We show that open trapezoidal words are all primitive and that closed trapezoidal words are all Sturmian. We then show that trapezoidal palindromes are closed (and therefore Sturmian). This allows us to characterize the special factors of Sturmian palindromes. We end with several open problems.


developments in language theory | 2013

Abelian Repetitions in Sturmian Words

Gabriele Fici; Alessio Langiu; Thierry Lecroq; Arnaud Lefebvre; Filippo Mignosi; Élise Prieur-Gaston

We investigate abelian repetitions in Sturmian words. We exploit a bijection between factors of Sturmian words and subintervals of the unitary segment that allows us to study the periods of abelian repetitions by using classical results of elementary Number Theory. If k m denotes the maximal exponent of an abelian repetition of period m, we prove that limsup \(k_{m}/m\ge \sqrt{5}\) for any Sturmian word, and the equality holds for the Fibonacci infinite word. We further prove that the longest prefix of the Fibonacci infinite word that is an abelian repetition of period F j , j > 1, has length F j ( F j + 1 + F j − 1 + 1) − 2 if j is even or F j ( F j + 1 + F j − 1 ) − 2 if j is odd. This allows us to give an exact formula for the smallest abelian periods of the Fibonacci finite words. More precisely, we prove that for j ≥ 3, the Fibonacci word f j has abelian period equal to F n , where \(n = \lfloor{j/2}\rfloor\) if \(j = 0, 1, 2\mod{4}\), or \(n = 1 + \lfloor{j/2}\rfloor\) if \( j = 3\mod{4}\).


Theoretical Computer Science | 2009

A characterization of regular circular languages generated by marked splicing systems

Clelia De Felice; Gabriele Fici; Rosalba Zizza

Splicing systems are generative devices of formal languages, introduced by Head in 1987 to model biological phenomena on linear and circular DNA molecules. A splicing system is defined by giving an initial set I and a set R of rules. Some unanswered questions are related to the computational power of circular splicing systems. In particular, a still open question is to find a characterization of circular languages generated by finite circular splicing systems (i.e., circular splicing systems with both I and R finite sets). In this paper we introduce a special class of the latter systems named marked systems. We prove that a marked system S generates a regular circular language if and only if S satisfies a special (decidable) property. As a consequence, we are able to characterize the structure of these regular circular languages.


Theoretical Computer Science | 2013

On the least number of palindromes contained in an infinite word

Gabriele Fici; Luca Q. Zamboni

We investigate the least number of palindromic factors in an infinite word. We first consider general alphabets and give answers to this problem for periodic and non-periodic words, closed or not under reversal of factors. We then investigate the same problem when the alphabet has size two.


Natural Computing | 2010

On the regularity of circular splicing languages: a survey and new developments

Paola Bonizzoni; Clelia De Felice; Gabriele Fici; Rosalba Zizza

Circular splicing has been introduced to model a specific recombinant behaviour of circular DNA, continuing the investigation initiated with linear splicing. In this paper we focus on the relationship between regular circular languages and languages generated by finite circular splicing systems. We survey the known results towards a characterization of the intersection between these two classes and provide new contributions on the open problem of finding this characterization. First, we exhibit a non-regular circular language generated by a circular simple system thus disproving a known result in this area. Then we give new results related to a restrictive class of circular splicing systems, the marked systems. Precisely, we review in a graph theoretical setting the recently obtained characterization of marked systems generating regular circular languages. In particular, we define a slight variant of marked systems, that is the g-marked systems, and we introduce the graph associated with a g-marked system. We show that a g-marked system generates a regular circular language if and only if its associated graph is a cograph. Furthermore, we prove that the class of g-marked systems generating regular circular languages is closed under a complement operation applied to systems. We also prove that marked systems with self-splicing generate only regular circular languages.

Collaboration


Dive into the Gabriele Fici's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Péter Burcsi

Eötvös Loránd University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge