Class ApproximateNaiveMlnReasoner

  • All Implemented Interfaces:
    net.sf.tweety.commons.QuantitativeReasoner<MarkovLogicNetwork,​net.sf.tweety.logics.fol.syntax.FolFormula>, net.sf.tweety.commons.Reasoner<Double,​MarkovLogicNetwork,​net.sf.tweety.logics.fol.syntax.FolFormula>

    public class ApproximateNaiveMlnReasoner
    extends AbstractMlnReasoner
    This reasoner performs approximate reasoning with MLNs by considering only a subset of all Herbrand interpretations. This subset is chosen by first randomly selecting a set of Herbrand interpretations and then selecting the subset of this set with maximum weights.
    Author:
    Matthias Thimm
    • Constructor Detail

      • ApproximateNaiveMlnReasoner

        public ApproximateNaiveMlnReasoner​(long maxNumberOfSelectedInterpretations,
                                           long maxNumberOfInterpretationsForModel)
        Creates a new ApproximateNaiveMlnReasoner.
        Parameters:
        maxNumberOfSelectedInterpretations - the maximum number of interpretations selected from the whole set of interpretations. Is -1 if all interpretations are to be selected.
        maxNumberOfInterpretationsForModel - the maximum number of interpretations used for the model. Those interpretations are the subset of the interpretations selected with maximum weight. Is -1 if all interpretations are used for the model. It has to be maxNumberOfSelectedInterpretations >= maxNumberOfInterpretationsForModel.
    • Method Detail

      • doQuery

        protected double doQuery​(MarkovLogicNetwork mln,
                                 net.sf.tweety.logics.fol.syntax.FolFormula query,
                                 net.sf.tweety.logics.fol.syntax.FolSignature signature)
        Description copied from class: AbstractMlnReasoner
        Performs the actual querying.
        Specified by:
        doQuery in class AbstractMlnReasoner
        Parameters:
        mln - an MLN
        query - a fol formula guaranteed to be ground.
        signature - the signature
        Returns:
        the answer of the query.
      • computeModel

        public Map<net.sf.tweety.logics.fol.semantics.HerbrandInterpretation,​Double> computeModel​(MarkovLogicNetwork mln,
                                                                                                        net.sf.tweety.logics.fol.syntax.FolSignature signature)
        Computes the model of the given MLN wrt. the optimization parameters
        Parameters:
        mln - some mln
        signature - some signature
        Returns:
        the model of the given MLN wrt. the optimization parameters.