Although Rainbird is rules-based it’s also an inference engine. It doesn’t work like a traditional rules engines because it doesn’t analyse rules in a predefined flow. Instead, Rainbird’s model judges any uncertainties, both in the rules within a provided Knowledge Map (an ontology), and/or any data it has been provided or has access to. It uses uncertainty to help query plan, eventually providing a distribution of answers with their associated certainties (and an evidence chain for each). Rainbird is goal based – you ask it a question and it works to find the best possible solution.
Rainbird works by juggling probabilities, so the author of a Knowledge Map does not need to define rule flows, decision trees, or similar brittle structures. Rainbird navigates the logic using the Knowledge Map. The Rainbird author only needs to describe, in small and, if necessary uncertain chunks, the logic they believe to be true about their domain of expertise. They do not need to start with the big picture.
This results in models that are powerful, multi-purpose, reusable, and manageable. The author can make changes to each rule atomically, without having to propagate downstream changes through a decision tree or similar structure. This removes the management burden suffered with most top down rules engines.
Rainbird models can also discover new facts through interaction and can be strengthened by taking feedback from the decisions it has made and from external data.
Multi Solution Models
Knowledge Maps constructed in Rainbird are semantic models of human expertise, and a single model can be capable of answering multiple questions. Typical rules engines are only capable of answering a single question for which they were designed. This is especially powerful when you link Knowledge Maps together from multiple authors, giving Rainbird an ability to draw inferences from a larger model. In this situation it is often the case that Rainbird is able to solve queries that the Authors may not have been able to do on their own.
Absence of data
Because Rainbird deals in uncertainties, it is able to make inferences and reach conclusions even if it doesn’t have all the data. When data is missing, or is very uncertain (as might be the case if the user can’t adequately provide a confident answer to a question), Rainbird will try and find other data to to help. Eventually it will reach a conclusion, even if it is with reduced certainty. In all cases, Rainbird can explain its reasoning both for its answers and level of confidence in those answers.