![]() |
RDKit
Open-source cheminformatics and machine learning.
|
Implements the MaxMin algorithm for picking a subset of item from a pool. More...
#include <MaxMinPicker.h>
Public Member Functions | |
| MaxMinPicker () | |
| Default Constructor. | |
| template<typename T> | |
| RDKit::INT_VECT | lazyPick (T &func, unsigned int poolSize, unsigned int pickSize) const |
| Contains the implementation for a lazy MaxMin diversity picker. | |
| template<typename T> | |
| RDKit::INT_VECT | lazyPick (T &func, unsigned int poolSize, unsigned int pickSize, const RDKit::INT_VECT &firstPicks, int seed=-1) const |
| template<typename T> | |
| RDKit::INT_VECT | lazyPick (T &func, unsigned int poolSize, unsigned int pickSize, const RDKit::INT_VECT &firstPicks, int seed, double &threshold) const |
| RDKit::INT_VECT | pick (const double *distMat, unsigned int poolSize, unsigned int pickSize, RDKit::INT_VECT firstPicks, int seed=-1) const |
| Contains the implementation for the MaxMin diversity picker. | |
| RDKit::INT_VECT | pick (const double *distMat, unsigned int poolSize, unsigned int pickSize) const override |
Public Member Functions inherited from RDPickers::DistPicker | |
| DistPicker () | |
| Default constructor. | |
| virtual | ~DistPicker () |
Implements the MaxMin algorithm for picking a subset of item from a pool.
This class inherits from the DistPicker and implements a specific picking strategy aimed at diversity. See documentation for "pick()" member function for the algorithm details
Definition at line 35 of file MaxMinPicker.h.
|
inline |
Default Constructor.
Definition at line 40 of file MaxMinPicker.h.
| RDKit::INT_VECT RDPickers::MaxMinPicker::lazyPick | ( | T & | func, |
| unsigned int | poolSize, | ||
| unsigned int | pickSize ) const |
Contains the implementation for a lazy MaxMin diversity picker.
See the documentation for the pick() method for details about the algorithm
| func | - a function (or functor) taking two unsigned ints as arguments and returning the distance (as a double) between those two elements. |
| poolSize | - the size of the pool to pick the items from. It is assumed that the distance matrix above contains the right number of elements; i.e. poolSize*(poolSize-1) |
| pickSize | - the number items to pick from pool (<= poolSize) |
| firstPicks | - (optional)the first items in the pick list |
| seed | - (optional) seed for the random number generator. If this is <0 the generator will be seeded with a random number. |
Definition at line 290 of file MaxMinPicker.h.
References lazyPick().
Referenced by lazyPick(), lazyPick(), and pick().
| RDKit::INT_VECT RDPickers::MaxMinPicker::lazyPick | ( | T & | func, |
| unsigned int | poolSize, | ||
| unsigned int | pickSize, | ||
| const RDKit::INT_VECT & | firstPicks, | ||
| int | seed, | ||
| double & | threshold ) const |
Definition at line 144 of file MaxMinPicker.h.
References CHECK_INVARIANT, and pick().
| RDKit::INT_VECT RDPickers::MaxMinPicker::lazyPick | ( | T & | func, |
| unsigned int | poolSize, | ||
| unsigned int | pickSize, | ||
| const RDKit::INT_VECT & | firstPicks, | ||
| int | seed = -1 ) const |
Definition at line 280 of file MaxMinPicker.h.
References lazyPick().
|
inlineoverridevirtual |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Implements RDPickers::DistPicker.
Definition at line 128 of file MaxMinPicker.h.
References pick().
|
inline |
Contains the implementation for the MaxMin diversity picker.
Here is how the picking algorithm works, refer to Ashton, M. et. al., Quant. Struct.-Act. Relat., 21 (2002), 598-604 for more detail:
A subset of k items is to be selected from a pool containing N molecules. Then the MaxMin method is as follows:
| distMat | - distance matrix - a vector of double. It is assumed that only the lower triangle element of the matrix are supplied in a 1D array |
| poolSize | - the size of the pool to pick the items from. It is assumed that the distance matrix above contains the right number of elements; i.e. poolSize*(poolSize-1) |
| pickSize | - the number items to pick from pool (<= poolSize) |
| firstPicks | - indices of the items used to seed the pick set. |
| seed | - (optional) seed for the random number generator If this is <0 the generator will be seeded with a random number. |
Definition at line 113 of file MaxMinPicker.h.
References CHECK_INVARIANT, and lazyPick().
Referenced by lazyPick(), and pick().