Alexandre Bergel
Alexandre Bergel is a Computer Scientist at RelationalAI, Switzerland. Until 2022, he was an Associate Professor and researcher at the University of Chile. Alexandre Bergel and his collaborators carry out research in software engineering. His interest includes designing tools and methodologies to improve the overall performance and internal quality of software systems and databases by employing profiling, visualization, and artificial intelligence techniques.
Alexandre Bergel has authored over 170 articles, published in international and peer-reviewed scientific forums, including the most competitive conferences and journals in the field of software engineering. Alexandre has served on over 175 program committees for international events. Several of his research prototypes have been turned into products and adopted by major companies in the semiconductor industry, certification of critical software systems, and the aerospace industry.
Sessions
Static analysis for Julia is still an underdeveloped domain. The linting ecosystem is looking especially barren – practically one package is used for writing and running linting rules, StaticLint, even though it is difficult to extend with new rules or features. ReLint was built to address some of StaticLint's limitations, improving upon extensibility and interoperability. However, it too suffers from shortcomings, especially in terms of flexibility. Argus, mainly a pattern matching framework for Julia syntax, offers a powerful and expressive language for writing code patterns and linting rules. This presentation shows the result of combining ReLint and Argus into a new version of ReLint that provides a built-in set of rules, a DSL for extending the default set with custom rules and CI/CD integration.
"Practical Artificial Intelligence in Julia: Build Neural Networks, Genetic Algorithms, and Neuroevolution From Scratch" is a new book published by APress and Springer.
The book is divided into three parts:
- Neural networks are a technique inspired by a simplification of neurons in the brain. Neural networks are useful for identifying complex patterns, classifying data, and predicting outcomes.
- Genetic Algorithms are a computational metaphor for the biological evolution of species, inspired by the Darwinian principles. Genetic algorithms are useful for finding near-optimal solutions to complex, large-scale, and non-linear optimization and search problems.
- Neuroevolution is a combination of the two previous parts: a genetic algorithm evolves a neural network. Neural networks produced by Neuroevolution can solve complex problems without being trained using gradient-based methods.
This talk gives a highlight of these techniques and will demonstrate several applications using the Julia REPL, in particular:
- evolution of an artificial organism able to walk and climb;
- building an artificial player for a Mario Bros-like game;
The talk aims to showcase innovative machine learning techniques and applications within the Julia ecosystem.