As a senior research engineer, I have explored many corners of computer science and artificial intelligence. I can most notably help you on the following topics.
Skills
Decision support systems
-
- design and implementation of decision-aid software (web-based as well as native interfaces and backends),
- visualization and diagrams (how to summarize complex data/concepts in a visual way),
- integration of third-party modules (how to design API to use external services, how to integrate software that does not really want to be integrated).
Automated decision
-
- score function modelling (how to design a metric defining a quality for a solution to a decision problem, while maintaining good mathematical properties),
- optimization problem modelling (how to design a formal model of a decision problem to be automatically solved by a computer),
- solving automated configuration problems (how to set parameters of a complex system so as to maximize its performances),
Scientific computing
-
- efficient algorithmics (how to cope with combinatorial explosion or curse of dimension when implementing complex algorithms),
- highly modular software architectures (how to structure your code to allow efficient —and automated— exploration of your ideas),
- modern C++ (how to program with C++ using —almost— the same concepts than in Python),
- shell scripting (how to use the existing Unix tools to —very— efficiently automatize any task).
Artificial Intelligence
-
- search heuristics, metaheuristics or evolutionary computation (how to solve hard optimization problems),
- design of experiments for randomized algorithmics (how to design experiments involving modern AI, using rigorous statistics),
- automated planning (how to compute shortest paths, and more generally optimize sequences of actions),
- semantic graph mining (how to find patterns in an ontology).
Specific Tools
Need help on specific software? You can ask me about:
- programming languages: C++, Python, Bash, Typescript, PDDL.
- frameworks: ParadisEO, IOH, Lit, CGAL.
- development tools: Git, CMake, Vim, Kakoune.
- vector drawing: Inkscape, Dia.
- text processing: LaTeX, LibreOffice, SPIP.
- sysadmin: Linux, shell tools.
- HPC: GridEngine, Slurm, SnakeMake, Singularity.
- popular science: Wikipedia.
Publications
Free Software
Some free software I’m proud of:
- ParadisEO: an open-source full-featured evolutionary computation framework which main purpose is to help you write your own stochastic optimization algorithms. See the summary publication: Paradiseo: From a Modular Framework for Evolutionary Computation to the Automated Design of Metaheuristics —22 Years of Paradiseo—.
- IOH experimenter: a library for the benchmarking of randomized heuristics.
- Liquid prompt: A full-featured & carefully designed adaptive prompt for Bash & Zsh.
- Colout: Color text streams with a polished command line interface.
- Clutchlog: C++ logging system which targets versatile debugging instead of service event storage.
- Übergeekism: An attempt at using as many as possible cool computer science stuff to produce a single image.
I gathered 5000+ stars on my personal Github account, where there is many more projects and you can check my professional Github.
Scientific Articles
As of 2021, my h-index was 18 and my i-10 index 25, over 2400+ citations.
Here are ten noteworthy scientific articles (as seen by me).
Fundamental Research
- Using performance fronts for parameter setting of stochastic metaheuristics (2009). A seminal work in the area of multi-objective parameter setting. It’s also one of the first works stating that an experimental study can be used to design parameter-free metaheuristics on a sound basis by studying correlations between an estimated Pareto front distribution and performances.
- Surrogate assisted feature computation for continuous problems (2016). The first method that enable the computation of problems features in a setting that is compatible with the operation of search heuristics. Allows to limit the undersampling error of biased estimators, using a surrogate model. A crucial tool to embed dynamic parameter setting within search heuristics.
- Exploratory Landscape Analysis is Strongly Sensitive to the Sampling Strategy (2020). An study showing that one cannot estimate the structure of an optimization problem independently from the sampling method, contrary to a popular belief.
- Adaptive Learning Search, a New Tool to Help Comprehending Metaheuristics (2007). An attempt at forcing metaheuristics out of metaphors. This is also the first occurrence of the idea that simulated annealing can be viewed as a population algorithm that samples the objective function directly. Still relevant, as hybrid sampling approaches are believed to exhibit better performances nowadays.
Innovation Research
- Pareto-Based Multiobjective AI Planning (2013). One of the very first Pareto-optimal approach to automated AI planning. This work extends the D A E solver and proposes a simple multi-objective benchmark with proven optimal solutions. It also outperforms the only known metric-sensitive solver, competing on a —albeit simpler— aggregated objective problems.
- Per instance algorithm configuration of CMA-ES with limited budget (2017). The method that won the 2017 Black Box Optimization Competition in the single objective track. The seminal work on learning parameters-features mapping that can be embedded within solvers. Classical CMA-ES versions were leading the competition since years and this work enabled a performances breakthrough.
- Divide-and-Evolve: the Marriage of Descartes and Darwin (2011). This solver won the 2011 AI planning competition in the temporal track. It was the first time a stochastic metaheuristic won the IPC and it was on its hardest problems. It’s currently used in command and control prototypes. This work with ONERA and INRIA also led to the solver that won the following IPC.
- Automatic differentiation of non-holonomic fast marching for computing most threatening trajectories under sensors surveillance (2017). Optimal threatening trajectories computation using a recent fast marching algorithm, which takes into account curvature constraints. A surveillance system optimization leverages a reverse-mode semi-automatic differentiation, estimating the gradient of a value function related to a sensor location.
Applied Research
- Line formation algorithm in a swarm of reactive robots constrained by underwater environment (2015). One the first application of swarm intelligence where it actually is a breakthrough innovation. We has filed a patent on this joint work with the DGA, ENSTA and UBO. The work has led to a whole new study on the use of mini-drones for mine sweeping, which may be the future of this domain.
- Operating Room Planning with Random Surgery Times (2007). My first glance at automated planning. This work is an interesting combination of a classical Operations Research approach with ideas that originates from the field of stochastic metaheuristics (most notably a heuristic to solve the pricing sub-problem of a column generation approach).
- Robust rigid registration of retinal angiograms through optimization (2006). The application of my thesis. Back then, it was uncommon to use search heuristics in this field and high resolutions images could not be handled because of inefficient multi-resolution algorithms. This work showed that global optimization can outperform the windowed approaches generally used in imaging.