# About me

Hi there! I'm Emanuele, a final-year BSc student in Physics and volunteer research assistant in Artificial Intelligence and Cyber-Physical Systems with the Bortolussi Group (a.k.a. [email protected]) at the University of Trieste (Italy).

During my studies I focused mainly on statistical and computational methods for data analysis in experimental physics and signal processing. More recently, I moved toward *more general* artificial intelligence, (statistical) machine learning and analysis of massive datasets, mainly centered around decision-making problems and planning-and-control, both theoretical and applied.

My research interests include - to various extent -:

*Core methods*for optimization in highly-dimensional manifolds with minimal assumptions (*i.e. SGD, MonteCarlo-based, tempering, genetic programming-based optimization*);- Artificial neural computation and deep learning (
*i.e. neuron models, CNNs, RNNs, autoencoders/VAEs, GANs, neural ODEs, novel neural architectures*); - Unsupervised learning systems and approaches, particularly those robust to adversarial input and/or endowed with
*common sense*; - Neural information processing systems strongly inspired by brain anatomy, physiology and/or neuroscience (
*i.e. Hebbian approaches, synaptic plasticity, neuromodulation, free-energy principle*); - Open-ended artificial systems and algorithms, evolutionary methods and neuroevolution (
*i.e. NEAT-based approaches, novelty search, coevolution*); - Computational methods to reverse-engineer, model and artificially re-implement the foundations of human cognition, action and behaviour;
- Statistical and information-theoretical foundations - and related methods - of human (and animal, in general) intelligence;
- Statistical network models for inference (
*i.e. energy-based NNs, Boltzmann machines, Belief Networks*) or simulation (*i.e. diffusive processes on networks, computational epidemiology*); - Bayesian statistics and Bayesian ML methods - shallow and deep - including
*(approximate) variational inference*; - Prediction, decision-making and control - through
*reinforcement*(including*Deep RL*),*logic*and*hybrid approaches*- under uncertainty and/or in complex environments; - Scientific high-performance computing, and, more generally, ways to harness computational power and efficiency from dedicated hardware architectures (
*i.e. GPGPU computing, neuro-/physio-morphic hardware*). *Bidirectional interplay*between artificial intelligence and physics (*i.e. quantum machine learning, machine learning in high-energy physics and/or complex systems analysis*).

When not about any of the above, I usually rant about *optimality* in policy-making, electoral systems and politics; about energy policy, and open science/software/knowledge.

### My (computational) toolbox

In trying to solve whichever problem I have at hand, I will happily use any combination of the following, provided they run on Linux.

**Python**& its ecosystem (**NumPy**, SciPy, Pandas,**PyTorch**, Keras, modern TensorFlow,**(num)Pyro***…*);**Modern C++**(*>=2011*) with libraries (**ROOT**,**Armadillo**, Boost,*…*);- The truly awesome
**Julia**programming language and its ecosystem; - Integrated computational languages/environments, i.e.
**MATLAB/Simulink**and**Wolfram Mathematica/SystemModeler**; **Bash/Zsh**as a scripting language for basic orchestration and system automation;**Fortran**,**F#**or**R***if really necessary*or I feel brave enough.