Enumerative and bijective combinatorics, permutation patterns, stack sorting.
I am concerned with the notion of pattern containment on several families of discrete objects, mainly permutations, Cayley permutations, ascent sequences, restricted growth functions and lattice paths. I'm interested in its role in the design of sorting and enumerative algorithms. Some examples are listed below in random order.

Sorting Permutations using Generalized Stacks

Given a system of devices (e.g. stacks, queues and some of their generalizations), I want to characterize and enumerate the set of permutations that can be sorted by this network. A permutation is sorted if the output is the identity string. The analysis of these devices can be often done in terms of permutation patterns. Another goal is to implement optimal sorting algorithms, i.e. procedures that are able to sort every sortable permutation, and study the related complexity. Sometimes I need to consider more specific algorithms (for example greedy-type procedures) that are easier to be studied, although less performing. I am interested in some dynamical properties of sorting devices as well.

Patterns On Ascent Sequences

Ascent sequences were introduced in a very well known paper by Bousquet-Melou, Claesson, Dukes and Kitaev, where they play the role of  auxiliary objects that allow the authors to prove some nice bijective correspondences between various combinatorial structures: (2+2)-free posets, Stoimenow matchings and a set of pattern avoiding permutations, the so called Fishburn permutations. My goal is to exploit the link between ascent sequences and Fishburn permutations to develop a theory of transport for these two notions of pattern. Ideally, given a class of pattern avoiding Fishburn permutations, I would like to describe the corresponding set of ascent sequences in terms of pattern avoidance, and viceversa. I also work on modified ascent sequences, as they are more manageable than their classical version.

Genomic Models

Genomic segments can be encoded as permutations, and genomic mutations as elementary operations that one can perform to transform a given permutation. Genomic mutations allows to define evolutionary distances on DNA strings as the minimum number of operations needed to transform a given string into another target string. I'm interested in the combinatorial study of the arising model in terms of pattern avoidance. For instance, how to characterize and enumerate the sets of permutation with fixed genomic distance with respect to a privileged string. It is also important to analyze the related algorithms for the computation of the genomic distance between two any strings and their complexity.