Esempio di applicazione dell'algoritmo. Sono mostrati i diagrammi di Voronoi dei punti. I segni positivi indicano i baricentri delle partizioni di Voronoi
Iterazione 1
Iterazione 2
Iterazione 3
Iterazione 15

In ingegneria elettrica e informatica, l'algoritmo di Lloyd, noto anche come iterazione (o rilassamento) di Voronoi, è un algoritmo che prende il nome da Stuart P. Lloyd per trovare insiemi di punti equidistanti in sottoinsiemi di spazi euclidei e partizioni di questi sottoinsiemi in celle.[1] Come il simile K-means, questo algoritmo trova ripetutamente il baricentro di ciascun insieme nella partizione e quindi ripartiziona l'insieme dei punti in base a quale di questi baricentri è più vicino. In questa impostazione, l'operazione media è un integrale su una regione di spazio e l'operazione del centroide più vicino risulta nei diagrammi di Voronoi.

Sebbene l'algoritmo possa essere applicato più direttamente al piano euclideo, algoritmi simili possono essere applicati anche a spazi di dimensioni superiori o a spazi con altre metriche non euclidee. L'algoritmo di Lloyd può essere utilizzato per costruire approssimazioni affidabili delle partizioni di Voronoi centroidali (dove il punto che genera la partizione è anche il centroide, o baricentro) dell'input,[2] che possono essere utilizzate per la quantizzazione, il dithering e lo stippling. L'algoritmo può essere applicato nello smussamento delle mesh triangolari nel metodo degli elementi finiti.

Storia

[modifica | modifica wikitesto]

L'algoritmo è stato proposto per la prima volta da Stuart P. Lloyd dei Bell Laboratories nel 1957 come tecnica per la modulazione a impulsi codificati. Il lavoro di Lloyd divenne ampiamente diffuso ma non fu pubblicato fino al 1982.[1] Un algoritmo simile è stato sviluppato indipendentemente da Joel Max e pubblicato nel 1960,[3] motivo per cui l'algoritmo è talvolta indicato come algoritmo di Lloyd-Max.

Descrizione

[modifica | modifica wikitesto]

L'algoritmo di Lloyd inizia con un posizionamento iniziale di un certo numero k di siti nel dominio di input. Quindi viene eseguita ripetutamente la seguente fase di rilassamento:

Poiché gli algoritmi per la costruzione dei diagrammi di Voronoi possono essere altamente non banali, specialmente per input di dimensione superiore a due, i passaggi per calcolarli e trovare i baricentri esatti delle celle possono essere sostituiti da un'approssimazione.

Note

[modifica | modifica wikitesto]
  1. ^ a b Stuart P. Lloyd, Least squares quantization in PCM (PDF), in IEEE Transactions on Information Theory, vol. 28, n. 2, 1982, pp. 129–137, DOI:10.1109/TIT.1982.1056489.
  2. ^ Qiang Du, Vance Faber e Max Gunzburger, Centroidal Voronoi tessellations: applications and algorithms, in SIAM Review, vol. 41, n. 4, 1999, pp. 637–676, Bibcode:1999SIAMR..41..637D, DOI:10.1137/S0036144599352836.
  3. ^ Joel Max, Quantizing for minimum distortion, in IRE Transactions on Information Theory, vol. 6, n. 1, 1960, pp. 7–12, DOI:10.1109/TIT.1960.1057548.

Altri progetti

[modifica | modifica wikitesto]