In linear combination methods, the score of each element is computed by summing up the partial scores of that element with respect to its rankings in each input preference list. The Linear() function triggers the execution of two such combination methods: CombSUM, and CombMNZ. Both of them are implemented in accordance to the following paper:

  • Renda E., Straccia U., "Web metasearch: rank vs. score based rank aggregation methods", In Proceedings of the 2003 ACM symposium on Applied computing, pp. 841-846, 2003.

Each method is accompanied by an element rank/score normalization technique, as it is described in the paper above. These techniques are: Rank normalization, Borda normalization, Score normalization and Z-Score normalization. In FLAGR there is a fifth normalization technique, called Simple Borda. In contrast to the traditional Borda normalization, Simple Borda assigns zero partial scores in case an element has not been ranked by an input preference list.

In addition, notice that CombSUM with Borda normalization is equivalent to the well-known BordaCount rank aggregation method.

Function Definitions

void Linear(const char inf[], const char relf[], const int evpts,
     const int ram, const char ranstr[], const char out[])

and

__declspec(dllexport) void __cdecl Linear(const char inf[], const char relf[], const int evpts,
     const int ram, const char ranstr[], const char out[])

Implementation Files

Input arguments

  • const char inf[]: The path of the input file that stores the preference lists to be aggregated.
  • const char relf[]: The path of the input file that stores the element relevance judgments.
  • const int evpts: the elements in the aggregate list on which the evaluation measures (i.e. Precision, and nDCG) will be computed.
  • const int ram: The selected rank aggregation method (see the aggregation_method parameter in this document for a list of possible values).
  • const char ranstr[]: A string that is embedded in the names of the output files. Used when FLAGR is compiled as a shared library.
  • const char out[]: The file system location where the output file with the aggregate list will be stored.

Description
The input parameters are parsed and stored in a special C structure called UserParams that is defined in src/InputParams.h. Then, UserParams is passed to the execution driver and the rank aggregation process starts.