UML: REASONING - NMAI-lab/JLOAF GitHub Wiki

reas

The reasoner is responsible for learning the behavior of the expert and predicting an action for a given input.

Reasoning implemented the template pattern so that each of its sub-classes have access to its selectAction() method. This method is used to predict the action given an Input. Each reasoner also has access to a retrieval object which has a retrieve method. This method is responsible for choosing the top-k cases from the casebase. This is used by weightedKNN, simpleKNN and KDReasoning.

TBReasoning is a special case because it performs its retrieve function and mostLikelyAction function in one function called retrieve(). TBReasoning uses the temporal backtracking algorithm to dynamically backtrack through the casebase until it finds the most similar set of cases to the input. Further information can be found here.

Network Reasoner is the abstract super class to all the graphical model based reasoners - Bayesian and Neural Networks. These have their own remote retrieval methods that interact with MATLAB. Bayesian and dynamic Bayesian networks determine the conditional probabilities of each variable using their dependencies. The neural networks attempt to learn the function that produces specific actions given the inputs. Further information on how these learners are used can be found here.