8. A non-transitory computer readable storage medium having a computer program stored thereon, the computer program causing a computer to perform the steps of: determining a set of possible elements from the group of elements; ordering the set of possible elements according to one or more attributes, each of the ordered elements making up a group; determining a covariance only between a first of the groups and a second of the groups; combining the first of the groups and the second of the groups to form a new first group of elements from the ordered set of possible elements if the covariance is determined to be less than a predetermined threshold; and determining that the first group is a good enough subset of the ordered set of possible elements if the covariance is greater than the predetermined threshold.
8. A non-transitory computer readable storage medium having a computer program stored thereon, the computer program causing a computer to perform the steps of: determining a set of possible elements from the group of elements; ordering the set of possible elements according to one or more attributes, each of the ordered elements making up a group; determining a covariance only between a first of the groups and a second of the groups; combining the first of the groups and the second of the groups to form a new first group of elements from the ordered set of possible elements if the covariance is determined to be less than a predetermined threshold; and determining that the first group is a good enough subset of the ordered set of possible elements if the covariance is greater than the predetermined threshold. 10. The non-transitory computer readable storage medium of claim 8 , wherein the set of possible elements from the group of elements is determined by random sampling of the group of elements.