About
My research is in computational combinatorics and number theory. I teach theory of
computation and complexity.
I hold an MSc in Mathematics and Computer Science and a PhD in Natural Language Processing,
both from the University of Bucharest, where I have taught since 2016.
I have spent three decades building security software. In 1997 I joined SOFTWIN, where I
co-architected the antimalware engine behind AVX, rebranded as Bitdefender in 2001. I served
as Bitdefender's Chief Technology Officer from 2001 to 2024 and have been its Chief Scientist
since June 2024.
Research
My work is in combinatorics and number theory, done computationally. The problems are
varied: Ramsey-type questions, combinatorial geometry, graph labelings, combinatorial designs,
the digits of 2n, Lychrel numbers, unit fractions, Pell's equation and others. The method is the same each time. I encode an open
question so that a machine can search it, run the search as far as the hardware allows, and
try to turn what comes back into a proof. The tools are usually SAT solvers, exhaustive
generation with structural reductions, and exact rational arithmetic. And I keep returning to
the separating words problem.
Papers
In progress
Condorcet probabilities under Impartial Anonymous Culture —
exact values are known through five candidates; six was out of reach because of the
dimension. Work on the six-candidate case is in preparation.
The 33-point Erdős–Szekeres problem — continuing
the 2025 paper. A second version is in
preparation, with improved encodings aimed at the runtime variability that dominated the
first round. The results so far are good, but still partial.
2026
Alternating Extremes in
Graceful Labelings of Full Binary Trees and Spider Trees
— with Mihai Nacu.
A pinned form of graceful labeling: can a deepest root-to-leaf path of a full binary tree
carry the alternating extreme pattern 0, n−1, 1, n−2, …? We prove this for comb full binary
trees and verify it computationally through order 23. For spider trees we prove a packing
theorem for self-matched legs, which yields graceful labelings for mixed-length spiders with
enough leaves.
An Exhaustive Census of
Main-Diagonal Symmetric Costas Arrays of Orders 37–42
— with Cristian Budala.
We enumerate all main-diagonal symmetric Costas arrays of orders 37 to 42. There are 38, all
from known finite-field constructions. Together with the published census through order 36,
this shows there is no sporadic symmetric array at any order from 24 to 42. We also give a
collision model for random involutions. It predicts that the expected number of sporadic
arrays falls off rapidly with the order, and the six new censuses agree with it.
Local
Patterns and the Cost of Costas Array Search
— with Cristian Budala.
We restrict the search at a new order using seven-dot difference signatures taken from
smaller orders. At order 28, signatures from the 204 arrays of order 27 recover 67 of the 89
known classes. Random controls recover none. Unrestricted search costs an estimated 43.7 CPU
years at order 28 and a projected 7.97 GPU years at order 30.
Sunflower-Free Uniform
Families: Recursive Constructions and Explicit Bounds
— with Edward Axante, Cristian Budala, David Chitic and Mihai Nacu.
f(w,k) is the largest size of a w-uniform family with no sunflower of k petals. We give a
recursive construction and a general lower bound on the growth rate of f(w,k). We also prove
39 ≤ f(3,4) ≤ 49 and 54 ≤ f(4,3) ≤ 83, and that the largest intersecting 4-uniform family
with no three-petal sunflower has exactly 27 sets.
Towards a more structured
search for Erdős–Gyárfás counter-examples
— with Guillaume Ducoffe.
The conjecture says that every graph with minimum degree at least three contains a cycle
whose length is a power of two. We prove that a minimal counterexample has more than 2/3 of
its vertices of degree three, improving 4/7, and that it is biconnected or a 1-clique-sum of
two biconnected graphs. With this we verify the conjecture for all graphs of order at most
40, bipartite graphs up to 66 and cubic graphs up to 48.
Straight-line programs for the
solutions of Pell's equation
— with Mihai Prunescu.
We give a fixed straight-line program of 94 operations, over addition, truncated subtraction,
multiplication, integer division, exponentiation and remainder, for the fundamental solution
of x
2 − dy
2 = 1, for any nonsquare d. The trick is a geometric-sum
identity that recovers the solution from the coordinate sums of an initial segment of
solutions, without knowing how many were summed. Given the fundamental solution, 21 more
operations give the n-th one.
2025
Notes on the Finiteness of
Powers of Two with All Even Digits
Which powers of two have only even decimal digits? Only n = 1, 2, 3, 6 and 11 are known, and
a search to 10
15 turns up no others. A dynamical Borel–Cantelli argument shows the
set of initial phases generating infinitely many such powers has Lebesgue measure zero. That
is evidence for finiteness, not a proof.
A Sharper Upper Bound for the
Separating Words Problem
I posted an upper bound of O(log² n) states and then withdrew it — the proof of Theorem 1 had
an error, and the corrected argument does not improve on known bounds. This is the problem I
expect to keep working on for a long time.
Two-colorings of finite grids:
variations on a theorem of Tibor Gallai
— with Mihai Prunescu.
Gallai's theorem guarantees a threshold beyond which no colouring of a grid can avoid a
monochromatic homothetic copy of a given finite set, but it is non-effective. We find or
confirm that threshold for triangles, squares and rectangles, and extend the question from
homothety to general similarity. Solved with SAT and symmetry breaking, with new lower
bounds for hexagons on the triangular lattice and cubes in Z³.
Notes on the 33-point
Erdős–Szekeres problem
ES(7) is the first open case of the planar Erdős–Szekeres problem, with the conjecture
predicting ES(7) = 33. A SAT encoding built on triple-orientation variables, a 4-set convexity
criterion and convex-layer anchoring, yielding UNSAT certificates for a collection of anchored
subfamilies. Runtime variability is heavy-tailed and currently dominates the effort.
Teaching
Theory of Computation (Limbaje Formale și Automate)
— year 1, BSc. Automata, grammars, and the languages they recognise.
Complexity Theory (Calculabilitate și Complexitate)
— year 3, BSc. Computability, tractability, and the complexity classes in between.
Computational Foundations of Transformers
— year 2, MSc in Natural Language Processing. Starts from computation graphs and
reverse-mode autodiff and builds up to a working decoder-only transformer.
In preparation: Quantum Computation: models, algorithms, and complexity,
an elective for final-year BSc and MSc students. It follows Aaronson and de Wolf in
treating quantum computation as a model of computation, so the course is about circuits,
algorithms and complexity classes rather than hardware or physics.
Students
I collaborate with undergraduates on hard problems, on our own time, outside the faculty
programme. Some of them start in their first year. I look for questions that are difficult but
have a computational way in, where someone can start writing code right away and get to real
mathematics fast. The aim is a paper with their name on it, not a report.
If you want to work on a hard problem, write to me. Tell me what you have read and what you
have already tried.