On nous donne un ensemble de points bidimensionnels et un entier . Nous devons trouver une collection de cercles qui entourent tous les points de sorte que le rayon du plus grand cercle soit aussi petit que possible. En d'autres termes, nous devons trouver un ensemble de points centraux tels que la fonction de coût est minimisé. Ici, désigne la distance euclidienne entre un point d'entrée et un point central . Chaque point s'assigne au centre de cluster le plus proche regroupant les sommets enk k n C = { c 1 , c 2 , … , c k } k coût ( C ) = max i min j D ( p i , c j ) D p i c j k différents clusters.
Le problème est connu sous le nom de problème de clustering k (discret) et il est -hard. On peut montrer avec une réduction du problème d'ensemble dominant dominant que s'il existe un algorithme d'approximation pour le problème avec alors .
L' algorithme d'approximation optimal à est très simple et intuitif. On choisit tout d'abord un point arbitrairement et le place dans l'ensemble des centres de cluster. Ensuite, on choisit le centre de cluster suivant de manière à être aussi éloigné que possible de tous les autres centres de cluster. Alors alors que , on trouve à plusieurs reprises un point j \ dans P pour laquelle la distance D (j, C) est maximisée et l' ajouter à C . Une fois | C | = k nous avons terminé.
Il n'est pas difficile de voir que l'algorithme gourmand optimal s'exécute en temps . Cela soulève une question: pouvons-nous atteindre le temps ? Que pouvons-nous faire de mieux?