Is there an opposite to Clustering or "Anti-"Clustering? In Clustering we want to find optimal Clusters - data points that are close together (measure by a defined distance measure). Is there any "Anti-"Clustering? We have a set of data points and want to find "Anti-"Clusters - subsets with data points that are as far apart as possible (measure by a defined distance measure, for example euclidean distance). 
In a concrete application I have a set of people and want to divide these people into n groups as diverse as possible measure with a few predefined criteria (diverse means: as less as possible of the same values of each criteria in each group).
The first time I thought about this it seemed pretty intuitive but I couldn't find any method to create these subsets, maybe I'm to focused on regular Clustering methods. Sorry, if this question is too trivial, but any help would be appreciated!
 A: Based on the poster's response in one of the answers, I will rephrase the problem statement because it can be solved using an R package that I wrote:
The task is to partition a set of elements into K groups such that the distances between clusters is minimized and the distance within clusters is maximized. This is mathematically the opposite of clustering and has indeed been called anticlustering; there are some rarely-cited papers on this approach (Späth 1986; Valev 1998). Generally, anticlustering leads to clusters that are similar to each other.
If you are using R, you can use my package anticlust to tackle the anticlustering problem. For example, use the following code to create three similar sets of plants in the classical iris data set:
library(anticlust)
data(iris)

## Maximize the k-means criterion
anticlusters <- anticlustering(
  iris[, -5],
  K = 3,
  objective = "variance"
)

## Compare feature means by anticluster
by(iris[, -5], anticlusters, function(x) round(colMeans(x), 2))
#> anticlusters: 1
#> Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
#>         5.84         3.06         3.76         1.20 
#> --------------------------------------------------------------------------------------- 
#> anticlusters: 2
#> Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
#>         5.84         3.06         3.76         1.20 
#> --------------------------------------------------------------------------------------- 
#> anticlusters: 3
#> Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
#>         5.84         3.06         3.76         1.20 

My package can maximize two clustering objectives: (a) the classical k-means objective, leading to similar feature means; (b) the cluster editing objective, which is the sum of the pairwise distances within clusters. In the package, you can vary the parameter objective between "variance" (k-means) or "distance" (cluster editing). 
The Github page and the package docs contains some more information on the methods and algorithms used in the package.

Späth, H. (1986). Anticlustering: Maximizing the variance criterion. Control and Cybernetics, 15(2), 213–218.
Valev, V. (1998). Set partition principles revisited. In Joint IAPR international workshops on statistical techniques in pattern recognition (SPR) and structural and syntactic pattern recognition (SSPR) (pp. 875–
881).
A: There are several related domains:


*

*Outlier detection: find unusual points, rather than typical representatives as in clustering.

*Stratified sampling. Choose a random sample such that the samples correspond to different classes. For larger sets, so that the class distribution matches.

*Archetypal analysis. Summarize data not by 'average' cluster representatives, but rather by extreme observations that "bound" the clusters.


But you'll certainly need to become more explicit about the formal requirements that you have, some vague intuition is not enough.
Maybe you still want clustering - kmeans tries to minimize the within-cluster variance, which implies that it maximizes the between cluster sum of squares. So in a good kmeans clustering, the typical squared deviation of two objects not in the same cluster is maximized; the clustering does divide the data into partitions that are "as dissimilar as possible".
A: It's still clustering that you want, because you're trying to split the data into subsets, which is clustering.
If you clustering algorithm is based on a distance measure, then simple negative of that measure or inverse should accomplish subsetting you request. Some algorithms rely on the distance measure being positive, in this case the inverse should work. You could soften the inverse with a fractional power function, of course.
A: Building on the useful comments & answers by Nick Cox and others here: 
DBSCAN is a clustering algorithm that also identifies points that do not belong well to any particular cluster, and treats them as 'noise'. This might be one way to achieve what you are after, since it identifies points that are distant enough from clusters to make grouping them together questionable. 
A: We have been working on unclusters (and anti-clusters and noclusters) and we have a few definitions that we have been exploring. 


*

*the holes between clusters that illustrate where points can not exist.

*the density of points on the periphery of a cluster.

*the density of clusters (as compared to the density of points in the clusters)

*the specificity of the centroid in any given cluster... how much can you move the centroid yet still keep the cluster reasonably intact.

*the potential overlap between clusters (coclusters) - we even thought there should be a complex cluster with a real and imaginary components to handle overlapping densities.


k-means is certainly a useful approach, but there seems to be some underlying meaning to these "unclusters"... and we have started to try to model these unclusters so that we can learn optimal numbers of clusters and start with 'better' centroid estimates.  
It sounds like you are exploring the density aspect to help with cluster separation and overlap. Certainly a very interesting topic and one that warrants more thought.
