Cyril Nicaud

dblp:28/881 · DBLP profile ↗
← Back
41ranked-venue papers
8as first author
6since 2021 · last 2025
0000-0002-8770-0119ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 33 · 5 first-author · 4 since 2021Graphics, computer vision, multimedia, augmented reality and games · 7 · 3 first-author · 2 since 2021Software engineering, systems software and programming languages · 1
YearPublicationVenuePosition
2025 Branch Prediction Analysis of Morris-Pratt and Knuth-Morris-Pratt Algorithms
abstract
We investigate the classical Morris-Pratt and Knuth-Morris-Pratt pattern matching algorithms from the perspective of computer architecture, focusing on the effects of incorporating a simple branch prediction mechanism into the computational model. Assuming a fixed pattern and a random text, we derive precise estimates for the number of branch mispredictions incurred by these algorithms when using local predictors. Our analysis relies on tools from automata theory and Markov chains, offering a theoretical framework that can be extended to other text processing algorithms and more sophisticated branch prediction strategies.
Cyril Nicaud, Carine Pivoteau, Stéphane Vialette
CPM1
2025 Random Deterministic Automata With One Added Transition
abstract
Every language recognized by a non-deterministic finite automaton can be recognized by a deterministic automaton, at the cost of a potential increase of the number of states, which in the worst case can go from $n$ states to $2^n$ states. In this article, we investigate this classical result in a probabilistic setting where we take a deterministic automaton with $n$ states uniformly at random and add just one random transition. These automata are almost deterministic in the sense that only one state has a non-deterministic choice when reading an input letter. In our model, each state has a fixed probability to be final. We prove that for any $d\geq 1$, with non-negligible probability the minimal (deterministic) automaton of the language recognized by such an automaton has more than $n^d$ states; as a byproduct, the expected size of its minimal automaton grows faster than any polynomial. Our result also holds when each state is final with some probability that depends on $n$, as long as it is not too close to $0$ and $1$, at distance at least $\Omega(\frac1{\sqrt{n}})$ to be precise, therefore allowing models with a sublinear number of final states in expectation.
Arnaud Carayol, Philippe Duchon, Florent Koechlin, Cyril Nicaud
Log. Methods Comput. Sci.4
2025 Mathematical models to analyze Lua hybrid tables
Conrado Martínez, Cyril Nicaud, Pablo Rotondo
Theor. Comput. Sci.2
2023 One Drop of Non-Determinism in a Random Deterministic Automaton
abstract
Every language recognized by a non-deterministic finite automaton can be recognized by a deterministic automaton, at the cost of a potential increase of the number of states, which in the worst case can go from n states to 2ⁿ states. In this article, we investigate this classical result in a probabilistic setting where we take a deterministic automaton with n states uniformly at random and add just one random transition. These automata are almost deterministic in the sense that only one state has a non-deterministic choice when reading an input letter. In our model each state has a fixed probability to be final. We prove that for any d ≥ 1, with non-negligible probability the minimal (deterministic) automaton of the language recognized by such an automaton has more than n^d states; as a byproduct, the expected size of its minimal automaton grows faster than any polynomial. Our result also holds when each state is final with some probability that depends on n, as long as it is not too close to 0 and 1, at distance at least Ω(1/√n) to be precise, therefore allowing models with a sublinear number of final states in expectation.
Arnaud Carayol, Philippe Duchon, Florent Koechlin, Cyril Nicaud
STACS4
2022 A Probabilistic Model Revealing Shortcomings in Lua's Hybrid Tables
Conrado Martínez, Cyril Nicaud, Pablo Rotondo
COCOON2
2022 Back-To-Front Online Lyndon Forest Construction
abstract
A Lyndon word is a word that is lexicographically smaller than all of its non-trivial rotations (e.g. ananas is a Lyndon word; banana is not a Lyndon word due to its smaller rotation abanan). The Lyndon forest (or equivalently Lyndon table) identifies maximal Lyndon factors of a word, and is of great combinatoric interest, e.g. when finding maximal repetitions in words. While optimal linear time algorithms for computing the Lyndon forest are known, none of them work in an online manner. We present algorithms that compute the Lyndon forest of a word in a reverse online manner, processing the input word from back to front. We assume a general ordered alphabet, i.e. the only elementary operations on symbols are comparisons of the form less-equal-greater. We start with a naive algorithm and show that, despite its quadratic worst-case behaviour, it already takes expected linear time on words drawn uniformly at random. We then introduce a much more sophisticated algorithm that takes linear time in the worst case. It borrows some ideas from the offline algorithm by Bille et al. (ICALP 2020), combined with new techniques that are necessary for the reverse online setting. While the back-to-front approach for this computation is rather natural (see Franek and Liut, PSC 2019), the steps required to achieve linear time are surprisingly intricate. We envision that our algorithm will be useful for the online computation of maximal repetitions in words.
Golnaz Badkobeh, Maxime Crochemore, Jonas Ellert, Cyril Nicaud
CPM4
2020 On the Degeneracy of Random Expressions Specified by Systems of Combinatorial Equations
Florent Koechlin, Cyril Nicaud, Pablo Rotondo
DLT2
2020 Weakly-Unambiguous Parikh Automata and Their Link to Holonomic Series
abstract
We investigate the connection between properties of formal languages and properties of their generating series, with a focus on the class of holonomic power series. We first prove a strong version of a conjecture by Castiglione and Massazza: weakly-unambiguous Parikh automata are equivalent to unambiguous two-way reversal bounded counter machines, and their multivariate generating series are holonomic. We then show that the converse is not true: we construct a language whose generating series is algebraic (thus holonomic), but which is inherently weakly-ambiguous as a Parikh automata language. Finally, we prove an effective decidability result for the inclusion problem for weakly-unambiguous Parikh automata, and provide an upper-bound on its complexity.
Alin Bostan, Arnaud Carayol, Florent Koechlin, Cyril Nicaud
ICALP4
2019 An Experimental Study of Forbidden Patterns in Geometric Permutations by Combinatorial Lifting
Xavier Goaoc, Andreas F. Holmsen, Cyril Nicaud
SoCG3
2019 Uniform Random Expressions Lack Expressivity
abstract
In this article, we question the relevance of uniform random models for algorithms that use expressions as inputs. Using a general framework to describe expressions, we prove that if there is a subexpression that is absorbing for a given operator, then, after repeatedly applying the induced simplification to a uniform random expression of size n, we obtain an equivalent expression of constant expected size. This proves that uniform random expressions lack expressivity, as soon as there is an absorbing pattern. For instance, (a+b)^* is absorbing for the union for regular expressions on {a,b}, hence random regular expressions can be drastically reduced using the induced simplification.
Florent Koechlin, Cyril Nicaud, Pablo Rotondo
MFCS2
2019 Special issue - Implementation and Application of Automata (CIAA 2017)
Arnaud Carayol, Cyril Nicaud
Theor. Comput. Sci.2
2018 On the Worst-Case Complexity of TimSort
abstract
TimSort is an intriguing sorting algorithm designed in 2002 for Python, whose worst-case complexity was announced, but not proved until our recent preprint. In fact, there are two slightly different versions of TimSort that are currently implemented in Python and in Java respectively. We propose a pedagogical and insightful proof that the Python version runs in O(n log n). The approach we use in the analysis also applies to the Java version, although not without very involved technical details. As a byproduct of our study, we uncover a bug in the Java implementation that can cause the sorting method to fail during the execution. We also give a proof that Python's TimSort running time is in O(n + n log rho), where rho is the number of runs (i.e. maximal monotonic sequences), which is quite a natural parameter here and part of the explanation for the good behavior of TimSort on partially sorted inputs.
Nicolas Auger, Vincent Jugé, Cyril Nicaud, Carine Pivoteau
ESA3
2018 On the Expected Number of Distinct Gapped Palindromic Factors
Philippe Duchon, Cyril Nicaud
IWOCA2
2018 On the Biased Partial Word Collector Problem
Philippe Duchon, Cyril Nicaud
LATIN2
2018 Synchronizing Random Almost-Group Automata
Mikhail V. Berlinkov, Cyril Nicaud
CIAA2
2017 Gapped Pattern Statistics
abstract
We give a probabilistic analysis of parameters related to alpha-gapped repeats and palindromes in random words, under both uniform and memoryless distributions (where letters have different probabilities, but are drawn independently). More precisely, we study the expected number of maximal alpha-gapped patterns, as well as the expected length of the longest alpha-gapped pattern in a random word.
Philippe Duchon, Cyril Nicaud, Carine Pivoteau
CPM2
2016 Fast Synchronization of Random Automata
abstract
A synchronizing word for an automaton is a word that brings that automaton into one and the same state, regardless of the starting position. Cerny conjectured in 1964 that if a $n$-state deterministic automaton has a synchronizing word, then it has a synchronizing word of length at most (n-1)^2. Berlinkov recently made a breakthrough in the probabilistic analysis of synchronization: he proved that, for the uniform distribution on deterministic automata with n states, an automaton admits a synchronizing word with high probability. In this article, we are interested in the typical length of the smallest synchronizing word, when such a word exists: we prove that a random automaton admits a synchronizing word of length O(n log^{3}n) with high probability. As a consequence, this proves that most automata satisfy the Cerny conjecture.
Cyril Nicaud
APPROX-RANDOM1
2016 Estimating Statistics on Words Using Ambiguous Descriptions
abstract
In this article we propose an alternative way to prove some recent results on statistics on words, such as the expected number of runs or the expected sum of the run exponents. Our approach consists in designing a general framework, based on the symbolic method developped in analytic combinatorics. The descriptions obtained in this framework are built in such a way that the degree of ambiguity of an object O (i.e., the number of different descriptions corresponding to O) is exactly the value of the statistic under study for O. The asymptotic estimation of the expectation is then done using classical techniques from analytic combinatorics. To show the generality of our method, we not only apply it to obtain new proofs of known results but also extend them from the uniform distribution to any memoryless distribution.
Cyril Nicaud
CPM1
2016 Good Predictions Are Worth a Few Comparisons
abstract
Most modern processors are heavily parallelized and use predictors to guess the outcome of conditional branches, in order to avoid costly stalls in their pipelines. We propose predictor-friendly versions of two classical algorithms: exponentiation by squaring and binary search in a sorted array. These variants result in less mispredictions on average, at the cost of an increased number of operations. These theoretical results are supported by experimentations that show that our algorithms perform significantly better than the standard ones, for primitive data types.
Nicolas Auger, Cyril Nicaud, Carine Pivoteau
STACS2
2015 A Probabilistic Analysis of the Reduction Ratio in the Suffix-Array IS-Algorithm
Cyril Nicaud
CPM1
2014 On the Average Complexity of Brzozowski's Algorithm for Deterministic Automata with a Small Number of Final States
Sven De Felice, Cyril Nicaud
Developments in Language Theory2
2014 Random Deterministic Automata
Cyril Nicaud
MFCS (1)1
2013 Brzozowski Algorithm Is Generically Super-Polynomial for Deterministic Automata
Sven De Felice, Cyril Nicaud
Developments in Language Theory2
2012 An Efficient Linear Pseudo-minimization Algorithm for Aho-Corasick Automata
Omar AitMous, Frédérique Bassino, Cyril Nicaud
CPM3
2012 Distribution of the number of accessible states in a random deterministic automaton
abstract
We study the distribution of the number of accessible states in deterministic and complete automata with n states over a k-letters alphabet. We show that as n tends to infinity and for a fixed alphabet size, the distribution converges in law toward a Gaussian centered around vk n and of standard deviation equivalent to sk n^(1/2), for some explicit constants vk and sk. Using this characterization, we give a simple algorithm for random uniform generation of accessible deterministic and complete automata of size n of expected complexity O(n^(3/2)), which matches the best methods known so far. Moreover, if we allow a variation around n in the size of the output automaton, our algorithm is the first solution of linear expected complexity. Finally we show how this work can be used to study accessible automata (which are difficult to apprehend from a combinatorial point of view) through the prism of the simpler deterministic and complete automata. As an example, we show how the average complexity in O(n log log n) for Moore's minimization algorithm obtained by David for deterministic and complete automata can be extended to accessible automata.
Arnaud Carayol, Cyril Nicaud
STACS2
2012 Average Case Analysis of Moore's State Minimization Algorithm
Frédérique Bassino, Julien David, Cyril Nicaud
Algorithmica3
2011 Seed: An Easy-to-Use Random Generator of Recursive Data Structures for Testing
abstract
Random testing represents a simple and tractable way for software assessment. This paper presents the Seed tool that can be used for the uniform random generation of recursive data structures such as labelled trees and logical formulas. We show how Seed can be used in several testing contexts, from model based testing to performance testing. Generated data structures are defined by grammar-like rules, given in an XML format, multiplying Seed possible applications. Seed is based on combinatorial techniques, and can generate uniformly at random k structures of size n with an efficient time complexity. Finally, Seed is available as a free Java application and a great effort has been made to make it easy-to-use.
Pierre-Cyrille Héam, Cyril Nicaud
ICST2
2010 Building the Minimal Automaton of A*X in Linear Time, When X Is of Bounded Cardinality
Omar AitMous, Frédérique Bassino, Cyril Nicaud
CPM3
2010 Average Analysis of Glushkov Automata under a BST-Like Model
abstract
We study the average number of transitions in Glushkov automata built from random regular expressions. This statistic highly depends on the probabilistic distribution set on the expressions. A recent work shows that, under the uniform distribution, regular expressions lead to automata with a linear number of transitions. However, uniform regular expressions are not necessarily a satisfying model. Therefore, we rather focus on an other model, inspired from random binary search trees (BST), which is widely used, in particular for testing. We establish that, in this case, the average number of transitions becomes quadratic according to the size of the regular expression.
Cyril Nicaud, Carine Pivoteau, Benoît Razet
FSTTCS1
2010 Complexity of Operations on Cofinite Languages
Frédérique Bassino, Laura Giambruno, Cyril Nicaud
LATIN3
2010 A Challenging Family of Automata for Classical Minimization Algorithms
Giusi Castiglione, Cyril Nicaud, Marinella Sciortino
CIAA2
2010 Parametric random generation of deterministic tree automata
Pierre-Cyrille Héam, Cyril Nicaud, Sylvain Schmitz
Theor. Comput. Sci.2
2009 On the Average Size of Glushkov's Automata
Cyril Nicaud
LATA1
2009 On the Average Complexity of Moore's State Minimization Algorithm
abstract
We prove that, for any arbitrary finite alphabet and for the uniform distribution over deterministic and accessible automata with $n$ states, the average complexity of Moore's state minimization algorithm is in $\mathcal{O}(n \log n)$. Moreover this bound is tight in the case of unary automata.
Frédérique Bassino, Julien David, Cyril Nicaud
STACS3
2009 Random Generation of Deterministic Tree (Walking) Automata
Pierre-Cyrille Héam, Cyril Nicaud, Sylvain Schmitz
CIAA2
2008 The Average State Complexity of the Star of a Finite Set of Words Is Linear
Frédérique Bassino, Laura Giambruno, Cyril Nicaud
Developments in Language Theory3
2007 : A Library to Randomly and Exhaustively Generate Automata
Frédérique Bassino, Julien David, Cyril Nicaud
CIAA3
2007 Enumeration and random generation of accessible automata
Frédérique Bassino, Cyril Nicaud
Theor. Comput. Sci.2
2004 Lyndon words with a fixed standard right factor
Frédérique Bassino, Julien Clément 0001, Cyril Nicaud
SODA3
2002 The Average Lengths of the Factors of the Standard Factorization of Lyndon Words
Frédérique Bassino, Julien Clément 0001, Cyril Nicaud
Developments in Language Theory3
1999 Average State Complexity of Operations on Unary Automata
Cyril Nicaud
MFCS1