All Downloads are FREE. Search and download functionalities are using the official Maven repository.

es.uam.eps.ir.ranksys.metrics.rank.ExponentialDiscountModel Maven / Gradle / Ivy

Go to download

RankSys module, providing interfaces and common components for defining metrics.

The newest version!
/* 
 * Copyright (C) 2015 Information Retrieval Group at Universidad Autónoma
 * de Madrid, http://ir.ii.uam.es
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */
package es.uam.eps.ir.ranksys.metrics.rank;

/**
 * Exponential ranking discount: disc(k) = base^k.
 *
 * @author Saúl Vargas ([email protected])
 * @author Pablo Castells ([email protected])
 */
public class ExponentialDiscountModel implements RankingDiscountModel {

    private final double base;

    /**
     * Constructor.
     *
     * @param base base of the exponent
     */
    public ExponentialDiscountModel(double base) {
        this.base = base;
    }

    /**
     * Discount to be applied at a given position.
     *
     * @param k position in the recommendation list starting from 0
     * @return discount to be applied for the given rank position
     */
    @Override
    public double disc(int k) {
        return Math.pow(base, k);
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy