001/*
002 * To change this license header, choose License Headers in Project Properties.
003 * To change this template file, choose Tools | Templates
004 * and open the template in the editor.
005 */
006package org.dllearner.core.probabilistic.unife;
007
008import org.dllearner.core.AbstractCELA;
009import org.dllearner.core.LearningAlgorithm;
010import org.springframework.beans.factory.annotation.Autowired;
011
012/**
013 *
014 * @author Giuseppe Cota <giuseppe.cota@unife.it>, Riccardo Zese
015 * <riccardo.zese@unife.it>
016 */
017public interface ProbabilisticStructureLearningAlgorithm extends LearningAlgorithm {
018
019    /**
020     * Starts the algorithm. It runs until paused, stopped, or a termination
021     * criterion has been reached.
022     */
023    //public abstract void start();
024
025//    /**
026//     * Get the underlying learning algorithm.
027//     * @return Underlying learning algorithm.
028//     */
029//    public AbstractCELA getLearningAlgorithm();
030//    
031//    /**
032//     * Set the learning algorithm used to generate new class expression and then
033//     * new axioms.
034//     * @param la The learning algorithm used to generate class expressions.
035//     */
036//    @Autowired
037//    public void setLearningAlgorithm(AbstractCELA la);
038    
039    /**
040     * Get the underlying learning parameter algorithm.
041     * @return Underlying learning parameter algorithm.
042     */
043    public ParameterLearningAlgorithm getLearningParameterAlgorithm();
044    
045    /**
046     * Set the parameter learner algorithm. 
047     * @param pla The parameter learner to be used.
048     */
049    @Autowired
050    public void setLearningParameterAlgorithm(ParameterLearningAlgorithm pla);
051    
052}