Voronoi diagramm

**Voronoi diagramm** on matemaatika mõiste, mis tähendab pinna jagamist osadeks sellel asuvate punktide omavahelise kauguse arvestamise kaudu. Need algpunktid on varem defineeritud ning igale punktile kuulub piirkond, mis moodustub kõige lähemal asuvatest punktidest. Iga punktiga määratud piirkonda nimetatakse Voronoi rakuks. Mingisuguse hulga punktide Voronoi diagramm on duaalne selle hulga Delaunay triangulatsiooniga. Piltlikult on tegemist joonisega, milles on võetud kaks üksteisele lähedal asuvat punkti ning kus on joonistatud ristsirge nende kahe punkti vahele. Kõik diagrammi joontel asuvad punktid on võrdsel kaugusel selle allikpunktidest.

Voronoi diagrammi nimi on tulnud Georgi Voronoi järgi ning seda nimetatakse ka Voronoi mosaiigiks, Voronoi dekompositsiooniks, Voronoi jaotuseks ja ka Dirichlet' mosaiigiks (Peter Gustav Lejeune Dirichlet järgi). Voronoi diagramme kasutatakse paljudes valdkondades, enamasti teaduses ja tehnoloogias, kuid ka kujutavas kunstis.

Lihtsustatult võib Voronoi diagrammi vaadelda olukorrana, kus on antud lõplik arv punkte eukleidilisel pinnal. Sellisel juhul on iga \scriptstyle P_k lihtsalt punkt ning sellele vastav Voronoi rakk (ka Voronoi rakk või Dirichlet'i rakk) \scriptstyle R_k sisaldab kõiki punkte, mille vahemaa on vähem kui või võrdne iga teise \scriptstyle P_k -ga. Iga selline rakk on saadud poolsfääride lõikumise teel ning on kumera hulknurga kujuga. Voronoi sõlmedeks on punktid, mis on võrdsel kaugusel kolmest või enamast algpunktist.

## Ametlik määratlus
Olgu  \scriptstyle X  meetriline ruum funktsiooniga \scriptstyle d. \scriptstyle K on indeksite hulk ning \scriptstyle (P_k)_{k \in K} on lõplik jada mittetühjadest alamhulkadest ruumis \scriptstyle X. Voronoi rakk või Voronoi piirkond \scriptstyle R_k, mida seostatakse punktiga \scriptstyle P_k, on  \scriptstyle X  kõikide punktide hulk, mille kaugus \scriptstyle P_k-ni ei ole suurem kui nende kaugus teiste algpunktideni \scriptstyle P_j, kus \scriptstyle j on \scriptstyle k-st erinev indeks. Teisisõnu, kui \scriptstyle d(x,\, A) \;=\; \inf\{d(x,\, a) \mid a \,\in\, A\} tähistab kaugust \scriptstyle x ja alamhulga \scriptstyle A vahel, siis
: R_k = \{x \in X \mid d(x, P_k) \leq d(x, P_j)\; \text{kõikide}\; j \neq k\ \text{jaoks}\}

Voronoi diagramm on lõplik jada rakkudest \scriptstyle (R_k)_{k \in K} . Printsipiaalselt võivad mõned algpunktid lõikuda ja isegi ühtida, aga enamasti eeldatakse, et need on siiski ühisosata. Lisaks on definitsiooni järgi lubatud lõpmatu palju algpunkte, aga tihti vaadeldakse ainult lõplikku arvu algpunkte.
Erijuhul, kus ruumiks on lõplik dimensionaalne eukleidiline ruum, on ka lõplik arv punkte ning Voronoi rakud on kumerad polütoobid ning neid saab esitada, kombineerides tippe, külgi, 2-dimensionaalseid pindasid. Mõnikord nimetatakse indutseeritud ja kombineeritud struktuuri Voronoi diagrammiks. Üldiselt ei pruugi Voronoi rakud olla kumerad või isegi ühendatud.
Tavalises eukleidilises ruumis saab uuesti kirjutada formaalse definitsiooni arusaadavamalt. Iga Voronoi polügoon \scriptstyle R_k on seotud oma generaatori punktiga \scriptstyle P_k. Olgu \scriptstyle X punktide hulk eukleidilises ruumis. \scriptstyle P_1 olgu punkt, mis genereerib selle Voronoi piirkonna \scriptstyle R_1, \scriptstyle P_2 genereerib \scriptstyle R_2 jne. Sel juhul on kõik asukohad Voronoi polügoonil lähemal generaatori punktile kui ükski teine generaatori punkt Voronoi diagrammil, mis asub eukleidilisel tasandil.

## Illustratsioon

Voronoi diagrammi kirjeldamiseks sobib näide kaupluste hulgast linnas. Seda saab kasutada, kui tahetakse hinnata klientide arvu mingis poes, eeldusel, et kõik tingimused on võrdsed (tooted, hind, kvaliteet jne). Samuti on loogiline eeldus, et kliendid valivad külastatava poe kauguse järgi. Külastatakse lähimat kauplust. Sellisel juhul antud poe \scriptstyle P_k Voronoi rakk \scriptstyle R_k annab hinnangu potentsiaalse külastajate arvu kohta valitud kaupluses.
Enamikus linnades on võimalik kaugust leida kasutades tuttavat eukleidilise kauguse leidmise valemit: \ell_2 = d\left[\left(a_1, a_2\right), \left(b_1, b_2\right)\right] = \sqrt{\left(a_1 - b_1\right)^2 + \left(a_2 - b_2\right)^2}

või Manhattani kauguse valemit:

d\left[\left(a_1, a_2\right), \left(b_1, b_2\right)\right] = \left|a_1 - b_1\right| + \left|a_2 - b_2\right|

## Omadused
*Voronoi diagrammi duaalne graafik vastab sama punktihulga Delaunay triangulatsioonile.
*Lähimad punktipaarid vastavad kahele naaberrakule Voronoi diagrammil.
*Omajagu üldiste tingimuste (lõpmatu dimensionaalne ühtlaselt kumer ruum, lõpmatult palju algpunkte üldises formuleeringus) juures omab Voronoi rakk stabiilsusomadust: algpunktide väike muutus kajastub Voronoi rakkude muutuses. See näitab Voronoi diagrammi geomeetrilist stabiilsust. Paraku ei leia see omadus üldiselt kinnitust, isegi kui ruum on kahedimensionaalne (aga mitteühtlaselt kumer ning eelkõige mitteeukleidiline).

## Ajalugu
Voronoi diagrammide mitteametlik kasutus ulatub tagasi kuni Descartesini aastasse 1644. Dirichlet kasutas kahe- ja kolmemõõtmelisi Voronoi diagramme homogeensete teise astmega polünoomide uurimisel. Briti füüsik John Snow kasutas Voronoi diagrammi 1854. aastal illustreerimaks, kuidas enamik Soho koolera epideemiasse surnud inimestest elasid Broad Streeti pumbale lähemal kui mistahes teisele veepumbale.
Voronoi diagrammid on saanud nime Vene-Ukraina matemaatiku Georgi Voronoi järgi, kes aastal 1908 defineeris ja uuris üldist n-mõõtmelist juhtu. Geofüüsikas ja meteoroloogias ruumiliselt jaotunud andmete (nagu näiteks sademete hulk) analüüsimiseks kasutatavaid Voronoi diagramme nimetatakse Ameerika meteoroloogi Alfred H. Thiesseni järgi Thiesseni hulknurkadeks. Tahkisefüüsikas teatakse taolisi mosaiike Wigner-Seitzi ühikrakkudena. Üldiste võrede jaoks Lie grupis, kutsutakse rakke fundamentaalseteks domeenideks. Üldistes meetrilistes ruumides kutsutakse neid rakke fundamentaalseteks polügoonideks.

## Näited
*2D-võre annab ebakorrapärase meekärje mosaiigi võrdsete kuusnurkadega koos punktisümmeetriaga. Tavalise kolmnurkse võre korral on see korrapärane, nelinurkse võre korral lähevad kuusnurgad üle nelinurkadeks ridades ja veergudes ning ruutvõre annab korrapärase ruutmosaiigi. Sealjuures peab meeles pidama, et nelinurgad ja ruudud on võimalik tulemusena saada ka teistest võredest (näiteks vektoritest (1,0) ja (1/2,1/2) saab ruudud).
*Lihtne kuupvõre annab kuubikujulise rakkude paiknemise.
*Paralleelsed pinnad korrapärase kolmnurkse võrega, mis on joondunud mõlema keskpunkti järgi, moodustavad heksagonaalse prismalise rakustruktuuri.

## Üldistused ja variatsioonid
Nagu võib definitsioonist eeldada, saab Voronoi rakke defineerida ka eukleidilisest erinevates meetrikatest (nagu Mahalanobis või Manhattan). Ometi võivad neil juhtudel olla Voronoi rakkude piirid keerulisemad kui eukleidilise juhtumi puhul. Kaalutud Voronoi diagrammi puhul arvestatakse Voronoi raku defineerimisel ka asjaoludest tingitud lisakaaludega, arvestades neid generaatori punktide juurde. Sel juhul võivad mõned Voronoi rakud olla tühjad.
Voronoi diagramm n punktiga ja d dimensiooniga nõuab \scriptstyle O\left(n^{\left\lceil \frac{1}{2}d \right\rceil}\right) paigutusruumi. Seetõttu ei ole Voronoi diagrammid reaalselt teostatavad kui d > 2. Alternatiiviks on võimalus kasutada ligikaudseid Voronoi diagramme, kus Voronoi rakkudel ei ole selgeid piire, kuid mida saab eeldada. Teine alternatiiv on kasutada Voronoi diagrammi tegemisel ebaselgeid algpunkte, mis annaks ka ebaselged Voronoi rakud.

## Kasutusalad

*Astrofüüsikas kasutatakse Voronoi diagramme, et genereerida piltidel adaptiivseid tasandustsoone. Peamiseks eesmärgiks on säilitada konstantne signaali-müra suhe kogu pildi ulatuses.
*Geomeetrias kasutatakse Voronoi diagramme leidmaks suurimat tühja ruumi keset antud punkte. Näiteks, kuhu ehitada supermarket, et see oleks teistest võimalikult kaugel. 
*Hüdroloogias kasutatakse Voronoi diagramme, et kalkuleerida sademete hulka mingil maa-alal. Sellisel juhul teatakse neid Thiesseni polügoonidena.
*Arvutikeemias kasutatakse sellised Voronoi rakke, mis on defineeritud tuumade asukohtadena molekulis, aatomi laengute arvutamiseks.
*Materjaliteaduses esitatakse polükristallilisi mikrostruktuure metalli sulamites, kasutades Voronoi mosaiike. Tahkisefüüsikas teatakse Wigner-Seitzi rakku kui Voronoi rakku tahkisest.
*Kaevandamises kasutatakse Voronoi polügoone ennustamaks väärismaterjalide, -mineraalide vms reserve. Uurimuslikke puurauke kasutatakse kui algpunkte. 
*Masinõppes kasutatakse Voronoi diagramme, et teha 1-NN klassifikatsioone.
*Bioloogias on Voronoi diagrammid kasutusel, et modelleerida erinevaid bioloogilisi struktuure, sealjuures ka rakke  ja luude mikrostruktuure.

## Viited