algorithmic modeling for Rhino


Inference Lab

Inference Lab is a plug-in for exploring input-output relationships, bi-directionally. 

Computational workflows for parametric studies assume a single directional computational flow from inputs and output. A typical parametric analysis involves either toggling input parameters while observing an output response in a cyclic trial and error feedback loop, or by adopting an optimisation approach to search for the 'best' output value based on some target of interest (e.g. in parametric simulation analysis studies).

Either-way, it remains cognitively difficult to keep track of input-output relationships, especially in multi-input parameter scenarios. Furthermore, optimisation outcomes are one-off outcomes that do not provide insight into the underlying input-output causality that is responsible for generating the output in the first place. As a result, it becomes challenging to control the computational workflow intuitively. 

Inference Lab is a plug-in that overcomes such challenges by introducing bi-directionality between inputs and outputs, within Grasshopper. In other words, Inference Lab facilitates both forward and inverse computations. An inverse computation implies the ability to set a target output value of interest and instantly reveal the input distributions that are likely to cause the set target. This facilitates an instant cross-section of the input-output mapping. Inference Lab enables interaction with the input and output distributions to explore the cause and effect bi-directionally.

The following demo video illustrates the potential of Inference Lab for a structural design scenario. Given a typical parametric FEA simulation set up, Inference Lab was used to identify 1) how the design parameters influence the maximum deflection and the weight of the cantilever truss structure, and 2) identify the parameter ranges that satisfy specified targets on max deflection and weight.

Under the hood, Inference Lab builds a statistical representation of the input-output workflow from data that is generated automatically from the parametric definition within Grasshopper. The statistical representation takes advantage of a marriage between machine learning and Bayesian inference (a classic technique from probability theory). 

More literature about the research underlying Inference Lab can be found here.

Inference Lab is presently composed of four main components: 1) PSlider, 2)POutput, 3)DataGenerator, 4)Model Builder. 


Inference Lab is a by-product of my very recent PhD work so please forgive me for the lack of information. I intend to update this page with structured tutorials explaining the potential of Inference Lab in various scenarios. 

The Inference Lab plug-in is not yet available for download as I am in the process of ironing out a few minor issues. I hope to share an alpha version very soon. 

Location: Singapore and Malta
Members: 2
Latest Activity: May 17, 2020


Discussion Forum

This group does not have any discussions yet.

Comment Wall


You need to be a member of Inference Lab to add comments!


Members (2)






  • Add Photos
  • View All

© 2022   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service