Class PLMMAlgorithm

  • All Implemented Interfaces:
    java.lang.Iterable<org.api4.java.algorithm.events.IAlgorithmEvent>, java.util.concurrent.Callable<it.unimi.dsi.fastutil.doubles.DoubleList>, java.util.Iterator<org.api4.java.algorithm.events.IAlgorithmEvent>, org.api4.java.algorithm.IAlgorithm<PLInferenceProblem,​it.unimi.dsi.fastutil.doubles.DoubleList>, org.api4.java.common.control.ICancelable, org.api4.java.common.control.ILoggingCustomizable, org.api4.java.common.event.IEventEmitter<java.lang.Object>, org.api4.java.common.event.IRelaxedEventEmitter

    public class PLMMAlgorithm
    extends ai.libs.jaicore.basic.algorithm.AAlgorithm<PLInferenceProblem,​it.unimi.dsi.fastutil.doubles.DoubleList>
    This is the MM algorithm for Plackett-Luce as described in
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      it.unimi.dsi.fastutil.doubles.DoubleList call()  
      static it.unimi.dsi.fastutil.doubles.DoubleList getDefaultSkillVector​(int n)  
      java.lang.String getLoggerName()  
      it.unimi.dsi.fastutil.doubles.DoubleList getSkillVector()  
      org.api4.java.algorithm.events.IAlgorithmEvent nextWithException()  
      void setLoggerName​(java.lang.String name)  
      • Methods inherited from class ai.libs.jaicore.basic.algorithm.AAlgorithm

        activate, announceTimeoutDetected, avoidReinterruptionOnShutdownOnCurrentThread, cancel, checkAndConductTermination, checkTermination, computeTimeoutAware, getActivationTime, getConfig, getDeadline, getId, getInput, getListeners, getNumCPUs, getRemainingTimeToDeadline, getState, getTimeout, getTimeoutPrecautionOffset, hasNext, hasThreadBeenInterruptedDuringShutdown, interruptThreadAsPartOfShutdown, isCanceled, isShutdownInitialized, isStopCriterionSatisfied, isTimeoutDefined, isTimeouted, iterator, next, post, registerActiveThread, registerListener, resolveShutdownInterruptOnCurrentThread, setConfig, setDeadline, setMaxNumThreads, setNumCPUs, setState, setTimeout, setTimeout, setTimeoutPrecautionOffset, shutdown, terminate, unregisterActiveThread, unregisterThreadAndShutdown
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
      • Methods inherited from interface java.util.Iterator

        forEachRemaining, remove
    • Constructor Detail

      • PLMMAlgorithm

        public PLMMAlgorithm​(PLInferenceProblem input,
                             ai.libs.jaicore.basic.IOwnerBasedAlgorithmConfig config)
      • PLMMAlgorithm

        public PLMMAlgorithm​(PLInferenceProblem input,
                             it.unimi.dsi.fastutil.doubles.DoubleList skillVector,
                             ai.libs.jaicore.basic.IOwnerBasedAlgorithmConfig config)
    • Method Detail

      • getDefaultSkillVector

        public static it.unimi.dsi.fastutil.doubles.DoubleList getDefaultSkillVector​(int n)
      • nextWithException

        public org.api4.java.algorithm.events.IAlgorithmEvent nextWithException()
                                                                         throws java.lang.InterruptedException,
                                                                                org.api4.java.algorithm.exceptions.AlgorithmExecutionCanceledException,
                                                                                org.api4.java.algorithm.exceptions.AlgorithmTimeoutedException,
                                                                                org.api4.java.algorithm.exceptions.AlgorithmException
        Throws:
        java.lang.InterruptedException
        org.api4.java.algorithm.exceptions.AlgorithmExecutionCanceledException
        org.api4.java.algorithm.exceptions.AlgorithmTimeoutedException
        org.api4.java.algorithm.exceptions.AlgorithmException
      • call

        public it.unimi.dsi.fastutil.doubles.DoubleList call()
                                                      throws java.lang.InterruptedException,
                                                             org.api4.java.algorithm.exceptions.AlgorithmExecutionCanceledException,
                                                             org.api4.java.algorithm.exceptions.AlgorithmTimeoutedException,
                                                             org.api4.java.algorithm.exceptions.AlgorithmException
        Throws:
        java.lang.InterruptedException
        org.api4.java.algorithm.exceptions.AlgorithmExecutionCanceledException
        org.api4.java.algorithm.exceptions.AlgorithmTimeoutedException
        org.api4.java.algorithm.exceptions.AlgorithmException
      • getSkillVector

        public it.unimi.dsi.fastutil.doubles.DoubleList getSkillVector()
      • setLoggerName

        public void setLoggerName​(java.lang.String name)
        Specified by:
        setLoggerName in interface org.api4.java.common.control.ILoggingCustomizable
        Overrides:
        setLoggerName in class ai.libs.jaicore.basic.algorithm.AAlgorithm<PLInferenceProblem,​it.unimi.dsi.fastutil.doubles.DoubleList>
      • getLoggerName

        public java.lang.String getLoggerName()
        Specified by:
        getLoggerName in interface org.api4.java.common.control.ILoggingCustomizable
        Overrides:
        getLoggerName in class ai.libs.jaicore.basic.algorithm.AAlgorithm<PLInferenceProblem,​it.unimi.dsi.fastutil.doubles.DoubleList>