After three decades of digital revolutions, the coming decades will be dominated by advances in physical world engineering - many of which will be enabled by breakthroughs in computing.
We believe that the next frontier of computing will be breakthroughs in how we simulate and reason about physical systems.
Why?
Today computers can reason about the world at the level of a junior domain expert - and perhaps soon at the level of a senior expert or scientist.
However, there is a big difference between reasoning/intuition and simulation/calculation - even the smartest scientists need large scale computing to calculate the outputs of their models, test their hypothesis and inform their intuition.
It is a fundamental difference.
Like in the case of human experts, a computer reasons based on its intuition, i.e. it uses its prior knowledge to extrapolate to its current context and situation, but, like human experts, to test its reasoning it needs to perform calculations.
When we are dealing with the physical world, this involves complex, large scale computations and simulations.
Therefore as we continue to push autonomous computing into the physical world, having systems that allow computers to automomously construct and simulate models of the physical world will become increasingly important.
Only then will computers be able to go beyond guessing and intuition.
And this isn't just about enabling computers to reason about concrete physical systems but more generally to better equip autonomous systems with methods and tools to achieve scientific breakthroughs - enabling them to inform their reasoning through formal methods, simulations and testing, what we refer to as simulation learning.
Simulation Learning
We believe that the combination of formal methods, numerical simulations and agentic reasoning has the potential to revolutionise our ability to model, understand and control the physical world.
Traditionally we have modelled physical systems by painstakingly hand-crafting sets of governing equations that we believe are a good mathematical representation of real life physical systems.
This approach produces high fidelity, explicit models that are closely linked to the physical reality but it is very time-consuming, scales poorly with the complexity of systems and requires expert knowledge.
More recently, this highly manual process has been gradually replaced with deep learning approaches that implicitly learn the governing dynamics of the system.
These approaches are less time consuming and scale better with complexity but the resulting black-box systems are brittle, require large amounts of data and provide minimal insight into the dynamics of the real life system.
What is needed is a common interface for computers to construct, simulate, verify and combine explicit and implicit models of complex physical systems. Combined with modern reasoning capabilities this would enable computers to fully build and reason about real world systems.
Such abilities could have huge benefits for disciplines that work on complex systems design and analysis, like engineering, finance, biology, chemistry, climate science and more.
Gimle-1
Gimle-1 is our first attempt at a framework that enables computers to reason about complex dynamical systems. It combines formal methods and proof theory, for rewriting and proving properties about systems, with numerical methods, for simulations and approximations of properties, and layers on top an agentic framework specialised in long running, creative reasoning tasks.
It consists of four core elements:
Asgard: Dynamical Systems Foundation
Asgard provides the syntactical and semantical foundations for working with dynamical systems, combining symbolic reasoning with simulations of physical systems
It provides an end-to-end flow from systems definitions to simulations.
Language
The first step in the flow is a LEAN-based rewrite and proof system for describing and rewriting dynamical systems.
It provides a bridge between common mathematical notation for describing phyiscal systems and our low-level circuit representations.
It provides a standardised interface with users, other tools and existing domain knowledge.
Compiler
Compiles our LEAN-styled system descriptions into a calculi-agnostic, category theoretic, computational circuit representation.
This representation allows us to mix formal proof theoretic and rewriting methods with numerical methods and simulations.
In the style of proofs-as-programs, rewrites can be performed on these circuits to prove properties of systems, simplify or approximate them or fit them to observed data.
Runtime
A calculus-specific simluation framework for simulating, approximating and optimising properties of compiled systems.
This allows us to run simulations, scenarios, optimisations, approximations and verify properties of any system that can be represented in our system language.
Some highlights of the capabilities of Asgard are:
- The introduction of a novel representation of dynamical systems rooted in category and proof theory, allowing us to define any reasonable dynamical system in a functional form with an associated constructive proof.
- This representation and proof system also enables symbolic rewriting of systems that retain equivalence in terms of systems dynamics. Defining a closed-form solution as a trace-less system, this also allows us to use the proof system to find and prove closed-form solutions of systems. In fact, if a closed-form solution exists a proof must exist within the system.
- The semantics allow us to simulate systems with a mix of calculi, either deterministic or stochastic, used to describe dimensions. Simulation circuits are also differentiable, enabling efficient optimisation using automatic differentiation.
- The ability to combine systems into larger hierarchical systems - even including learned black-box systems as leaf systems in the hierarchy, allowing us to use deep learning techniques to learn the dynamics of sub-systems where explicitly defined systems are not needed.
- Using a combination of symbolic reasoning and simulations we can also effectively derive approximations of systems with a given tolerance and prove properties of systems using computational algebraic methods, like cylindrical algebraic decomposition.
Mimir: Foundational Model for Dynamical Systems
A deep transformer-based model that is trained specifically on the systems representation of Asgard. The model is trained on a number of tasks across a large corpus of curated and generated dynamical systems using a combination of reinforcement learning and traditional supervised learning.
Highlights of Mimir:
- Ability to generate dynamical systems that match a given set of observed data.
- Ability to rewrite parts of systems to be simpler, more accurate or less computationally expensive.
- Ability to generate new sub-systems to either fill out missing elements of an existing system or expand the expressiveness of its dynamics.
Hugin: Agentic Framework for long-running reasoning tasks
Alongside these other components sits our agentic framework, Hugin, specialised in long running, creative reasoning tasks. Hugin is built to run large scale multi-agent reasoning that can use branching, long-term memory and complex tool calls to not just reason but also learn and improve over time. To improve learning, Hugin also makes it easy to integrate human feedback into the reasoning flows and training loops.
Highlights of Hugin compared to other frameworks:
- The configuration of each LLM interaction is completely dynamic: dynamic tool and task configurations, dynamically templated prompts, dynamic context rendering and dynamic LLM selection.
- Native multi-agent support that can mix synhronous and asynchronous agent orchestration within the same sessions.
- The ability for agents to branch their reasoning flow, allowing them to perform rollouts and side-tasks.
- Support for memory both in context, through dynamic rendering, and longer term shared memory through artifacts.
- Easy and powerful debugging with support for step-throughs, step-backs and re-runs from any previous step.
Bifrost: Agents for reasoning about dynamical systems
Tying it all together is Bifrost. Bifrost is a set of agents, defined in Hugin, that can use the agentic framework and external LLMs to reason about and learn how to combine the capabilities of Asgard and Mimir.
With the use of symbolic reasoning, numerical simulations, computational algebraric methods and the foundational dynamical systems model of Mimir, Bifrost agents are able to combine formal syntactical reasoning, systems generation and numerical simulations to solve complex dynamical systems tasks.
Capabilities
With these components we can solve a number of important challenges in modelling and reasoning about complex real-life systems.
Finding and fitting models to observed data
We can autonomously discover governing equations from observed data, fit existing models to new data, compose large complex systems from simpler, verifiable sub-systems either defined explicitly, as approximations or as learned black box systems.
Simplify and solve known systems
Automatically discover simpler equaivalent systems or closed form solutions through circuit rewriting and numerical simulations.
Discover initial conditions and parameters that collapse existing models into simpler, more tractable systems.
Simulate any known systems
Simulate any dynamical system regardless of complexity, non-linearity, coupling, dimensionality or underlying calculus.
Reasoning about and proving properties of complex systems
Properties of systems, like stability, reachability, safety or robustness, can be reasoned about and proven using both formal methods and through approximate methods.
Controlling complex systems
Scenario simulations and formal verifications allow us to test control strategies, explore extreme or uncertain conditions and find optimal control policies.
Decomposing complex systems dynamics
The ability to combine systems that are both explicitly defined using the systems language and learned black-box models, allows us to decompose complex system dynamics into simpler, more interpretable components.
Applications
There is a wider range of potential applications for simulation learning. Here are a few examples of domains where simulation learning can have a significant impact.
Engineering and control theory
Engineering is the most obvious domain of application.
With the ability to autonomously model and analyse complex physical systems, find closed-form simplifications, perform compositional analysis, and provide provable safety/stability guarantees, it becomes possible to explore novel designs, test control strategies, and validate behaviours under extreme or uncertain conditions.
Finance and economics
In much of finance, actuarial science and economics, modelling of complex financial instruments and markets heavily utilises dynamical systems.
Here simulations learning would enable the autonomous construction, simulation and reasoning about financial models based on observed market data.
Business and operations
By using simulation learning to construct a digital twin of a business' operations and processes as a mixed explicit/implicit process models, would allow for scenario testing, forecasting, optimisation to be performed autonomously.
Biology and chemistry
Biological and chemical systems are often complex and nonlinear, with high-dimensional coupling dominating their dynamical systems representations.
Simulation learning is therefore perfect for finding, simplifying, simulating and verifying these systems, allowing for quicker iterations, more autonomous reasoning and a better understanding of their dynamics.
Climate science
Climate science is another obvious applications where large-scale, composed dynamical systems are used.
Here our framework could enable better compositional mixed explicit/implicit modelling, closed-form reduction of large coupled systems, and scenario exploration under uncertainty.
These are just some of the domains and some of the ways that simulation learning can have a real-world impact.