Engineer F/H: Development of a Software Architecture for discovery of structure in complex systems
Type de contrat : CDD
Niveau de diplôme exigé : Bac + 5 ou équivalent
Fonction : Ingénieur scientifique contractuel
Contexte et atouts du poste
Traditionally physical science operates under two fundamental assumptions: one, that the universe may be reduced to a set of consistent parts and fundamental laws that govern their behavior; two, that the universe and its phenomena may then be reconstructed from this set of fundamental laws. And yet many natural phenomena possess emergent properties that are difficult or even mathematically impossible to deduce even from a complete microscopic description [1, 2].The existence of irreducibly complex systems presents a challenge: to build a science of model discovery beyond the traditional reductionist-constructionist paradigm.
There are important questions: what is the meaning of structure, divorced from a domain-specific physical context? Can we mathematically define it and detect it? How does one build a consistent mathematical language to describe things as disparate as bird flocking behavior and the formation of galaxies? Why do patterns emerge in physical systems over time? Can we predict when ‘something new’ will emerge, and can we detect it once it has emerged [3]? What counts as something new?
At Inria we take a dual-pronged approach of tackling both these questions on both a theoretical level, by developing the aforementioned mathematical tools, and on a practical level, by applying these tools to real world systems in collaboration with domain scientists.
Our primary focus is causal state and structure discovery from time series. Our method takes in time series of observations and returns a set of inferred causal states of the system—sets of predictively equivalent observations—with an interpretable geometry [4, 5]. This is a stochastic parallel to deterministic attractor reconstruction in nonlinear dynamics. The inferred causal state set can be analyzed for insights into the intrinsic complexity and mechanistic drivers of the underlying system. When paired with inference of the governing equations of motion, it can also be used as the state set of an inherently interpretable, optimally predictive model [6, 7].
We are developing a software package based on existing code that implements our inference algorithm using kernel embedding of conditional probability distributions [4, 8]. The algorithm takes in arbitrary time series (including observations from multiple sources or heterogeneous data) and returns the inferred causal state set in the form of similarity matrices, which are then dimension reduced for visualization and analysis [8]. This software package is to be disseminated to the public. It is also to be used in the framework of a partnership between Inria and Inrae to improve modeling of carbon flux dynamics in ecosystems.
[1] P.W. Anderson. More is different. Science, 177(4047):393–396, August 1972.
[2] M. Gu, C. Weedbrook, A. Perales, and M. Nielsen. More really is different. Physica D, 238(9-10):835–839, May 2009.
[3] James P. Crutchfield. The calculi of emergence: Computation, dynamics, and induction. Physica D, 75:11–54, 1994.
[4] Nicolas Brodu and James P. Crutchfield. Discovering causal structure with reproducing-kernel Hilbert space \epsilon-machines. Chaos: An Interdisciplinary Journal of Nonlinear Science, 32(2):023103, 02 2022.
[5] Samuel P. Loomis and James P. Crutchfield. Topology, convergence, and reconstruction of predictive states. Physica D: Nonlinear Phenomena, 445:133621, 2023
[6] C. R. Shalizi. Causal Architecture, Complexity and Self-Organization in Time Series and Cellular Automata. PhD thesis, University of Wisconsin, Madison, Wisconsin, 2001.
[7] S.L. Brunton, J.L. Proctor, & J.N. Kutz, Discovering governing equations from data by sparse identification of nonlinear dynamical systems, Proc. Natl. Acad. Sci. U.S.A. 113 (15) 3932-3937, https://doi.org/10.1073/pnas.1517384113 (2016).
[8] Alexandra M. Jurgens, Nicolas Brodu; Inferring kernel -machines: Discovering structure in complex systems. Chaos 1 March 2025; 35 (3): 033162. https://doi.org/10.1063/5.0242981
Mission confiée
With the help of Alexandra Jurgens (Inria) and a to-be-recruited postdoctoral researcher (Inria), the recruited engineer will work to analyze an existing code base and identify the relevant code to be incorporated into a package appropriate for broad dissemination. The requirements for the package will be formalized in discussion with the team, but at minimum this package will perform kernel embedding of conditional distributions on arbitrary time series input, perform dimension reduction, and produce basic visualization. Additional goals for this position are to perform iterative improvements to the package, including but not limited to: the ability for end users to select hyper-parameters ‘on the fly’, an advanced visualization suite, and the integration of new mathematical methods (for instance, calculation of new statistical descriptors) as developed together with the team.
The principal place of work will be the Inria center at the University of Bordeaux.
Responsibilities : The person recruited will be responsible for software development and will adopt best practices from the team including continuous integration and reproducibility.
Principales activités
Main Activities
- Document use cases and define test cases based on interviews and conversations with team
- Analyze existing code and identify code to be incorporated into the package
- Define and implement a software package that meets required use cases and is validated on test cases, with appropriate documentation
- Disseminating as a package on a PyPi
- Iteratively improve package based on new methods developed in discussion with the rest of the team
Additional activities:
- Present progress of ongoing work to colleagues and partners
- Suggest new directions for package improvements based on technical knowledge
- Discuss with scientific collaborators
Compétences
Technical skills: A major activity of this work is software development and publishing in Python. Knowledge of (or interest in learning) software engineering best practices is required. The best candidate would be excited to play an active role in identifying new technologies to improve the software package during development.
Interdisciplinary skills: Ability to communicate with colleagues from mathematics, physics, and ecology will be necessary. In particular, interest in physics—especially in complexity, chaos, information theory, and/or stochastic thermodynamics—or nonlinear dynamics would be an advantage.
Languages: Candidates must be at ease in scientific English and eager to publish their results in scientific journals. The team uses English.
Avantages
- Subsidized meals
- Partial reimbursement of public transport costs
- Possibility of teleworking and flexible organization of working hours
- Professional equipment available (videoconferencing, loan of computer equipment, etc.)
- Social, cultural and sports events and activities
- Access to vocational training
- Social security coverage
Rémunération
Based on experience, between €2,692 and €2,765 gross per month.
Informations générales
- Ville : Talence
- Centre Inria : Centre Inria de l'université de Bordeaux
- Date de prise de fonction souhaitée : 2026-11-01
- Durée de contrat : 2 ans
- Date limite pour postuler : 2026-08-31
Attention: Les candidatures doivent être déposées en ligne sur le site Inria. Le traitement des candidatures adressées par d'autres canaux n'est pas garanti.
Consignes pour postuler
Thank you to send:
- CV
- Cover letter
- Support letters (mandatory)
Sécurité défense :
Ce poste est susceptible d’être affecté dans une zone à régime restrictif (ZRR), telle que définie dans le décret n°2011-1425 relatif à la protection du potentiel scientifique et technique de la nation (PPST). L’autorisation d’accès à une zone est délivrée par le chef d’établissement, après avis ministériel favorable, tel que défini dans l’arrêté du 03 juillet 2012, relatif à la PPST. Un avis ministériel défavorable pour un poste affecté dans une ZRR aurait pour conséquence l’annulation du recrutement.
Politique de recrutement :
Dans le cadre de sa politique diversité, tous les postes Inria sont accessibles aux personnes en situation de handicap.
Contacts
- Équipe Inria : AT-BOR
-
Recruteur :
Jurgens Alexandra / alexandra.jurgens@inria.fr
A propos d'Inria
Inria est l’institut national de recherche dédié aux sciences et technologies du numérique. Il emploie 2600 personnes. Ses 215 équipes-projets agiles, en général communes avec des partenaires académiques, impliquent plus de 3900 scientifiques pour relever les défis du numérique, souvent à l’interface d’autres disciplines. L’institut fait appel à de nombreux talents dans plus d’une quarantaine de métiers différents. 900 personnels d’appui à la recherche et à l’innovation contribuent à faire émerger et grandir des projets scientifiques ou entrepreneuriaux qui impactent le monde. Inria travaille avec de nombreuses entreprises et a accompagné la création de plus de 200 start-up. L'institut s'efforce ainsi de répondre aux enjeux de la transformation numérique de la science, de la société et de l'économie.