Problémem k -centre ( k-centrum problém v angličtině) je problémem z kombinatorické optimalizace , pobočka algoritmu . Problém lze neformálně popsat takto: vzhledem k n městům je nutné otevřít hasičskou stanici v k městech tak, aby byla minimalizována vzdálenost mezi každým městem a nejbližší požární stanicí.
Formálnější je to, vzhledem k množině bodů V , výběru podmnožiny k bodů, nazývaných středy, tak, aby byla minimalizována maximální vzdálenost od bodů V k nejbližšímu středu. Ve většině případů implicitně považujeme prostor za metrický , problém je pak přirozeně vyjádřen jako problém na grafu, jehož hrany mají váhy respektující trojúhelníkovou nerovnost .
Tento problém je studován hlavně z hlediska aproximace . Existuje několik variant s konkrétními metrikami nebo jinými náklady, které je třeba minimalizovat. Odlišnou aplikací od umístění instalace je rozdělení dat (shlukování) .
Problém je v metrickém případě vyjádřen následovně.
Vzhledem k celému číslu k a úplnému neorientovanému grafu G = ( V , E ) vzdálenost d ( v i , v j ) ∈ N respektuje nerovnost trojúhelníku, najděte podmnožinu S ⊆ V s | S | = K , který minimalizuje: . Jinými slovy, uvažujeme problém optimalizace, jehož objektivní funkcí je .
Obecný případ bez metriky je málo studován, protože je příliš obtížný i z hlediska aproximace. Přesněji řečeno, bez předpokladu není problém v APX . Zbytek článku se implicitně zabývá metrickým případem.
Problém je ve své verzi problémového rozhodnutí NP-úplný .
Existují aproximační algoritmy poměru 2, a pokud se P liší od NP, je tento výsledek optimální.
Následující hladový algoritmus byl navržen Gonzalez v roce 1985. To je někdy nazýváno nejvzdálenější první průchod .
Vypočítané řešení je v nejhorším případě poloviční jako optimální řešení. Rychle to dokážeme. Na konci algoritmu nechť r je maximální vzdálenost od bodu ke středu a nechť p bude takový bod. Nechť S je množina skládající se z center a p . Sada S má k + 1 bodů alespoň r od sebe navzájem. Pak v optimálním řešení musí alespoň dva body S sdílet stejný střed (v optimálním řešení je více bodů v S než středech). Podle trojúhelníkové nerovnosti je alespoň jeden z těchto bodů sdílejících stejný střed ve vzdálenosti r / 2 od středu.
Časová složitost algoritmu je O (nk) .
Můžeme získat 2-aproximaci prahovou metodou ( nazývanou také parametrické prořezávání ). Spočívá v testování všech možných řešení: optimální hodnota je cena přítomná na hraně, počet hran je polynomický a pro každou hodnotu můžeme provést polynomický test. Test spočívá v odstranění hran větší váhy a kontrole, zda můžeme v prořezaném grafu získat 2-aproximaci.
Tento algoritmus je způsoben Hochbaumem a Shmoysem.
Problém je NP obtížně přístupný pro poměr menší než 2. Tento výsledek je způsoben Hsu a Nemhauserem. Důkaz uvedený níže je redukcí problému dominantní množiny .
Nechť je instance (G, k) pro problém dominantní množiny. Transformujeme jej na instanci G ' , kompletní graf se stejnými vrcholy, s následujícími váhami na okrajích: 1 pro hrany G a 2 pro ostatní. Pokud má dominantní množina velikost menší než k, pak G ' má k-středové řešení nákladu 1, jinak řešení nákladu 2. Aproximační algoritmus poměru menší než 2 tedy dává odpověď na problém dominantní množiny což je samo o sobě NP-tvrdé .
Pokud je graf rovinný, existuje polynomiální časové aproximační schéma problému.
Zvláštní případ je, když metrika je euklidovská , někdy nazývaná geometrickým středem k .
Klasickým způsobem, jak problém upravit, je přidání různých kapacit do center. Pokud je tedy určitý uzel zvolen jako střed, může sloužit pouze omezenému počtu sousedů.
Problém k-medián používá stejný rámec, ale s jinou funkcí, kterou je třeba minimalizovat. V problému umístění zařízení ( problém umístění zařízení ) nahradíme parametr k náklady na otevření a připojení.
Výpočet k -centra umožňuje rozdělit data . Vzdálenosti pak představují podobnosti, jako u k-means .