Det minsta k -snittet är ett kombinatoriskt optimeringsproblem där det krävs att hitta en uppsättning kanter vars borttagning delar upp grafen i k anslutna komponenter. Dessa kanter kallas k -cut . Målet med problemet är att hitta ett k -snitt med en minimal vikt. En sådan partition kan ha tillämpningar inom utveckling av VLSI , datautvinning , finita elementmetod och informationsutbyte vid parallell beräkning .
Givet en oriktad graf G = ( V , E ) med givna kantvikter w : E → N och ett heltal k ∈ {2, 3, …, | V |}, en uppdelning av V i k disjunkta uppsättningar F = { C 1 , C 2 , …, C k }, för vilka
För ett fast k är problemet lösbart i polynomtid O (| V | k 2 ) [1] . Ett problem är dock NP-komplett om k är en del av ingången [2] . Problemet är också NP-komplett om vi fixar hörn och försöker hitta det minsta -snitt som skiljer dessa hörn åt [3]
Det finns några approximationsalgoritmer med approximation 2 − 2/ k . En enkel girig algoritm som ger en sådan approximationsfaktor beräknar det minsta snittet i varje ansluten komponent och tar bort den lättaste. Algoritmen kräver totalt n −1 beräkningar av maximalt flöde . En annan algoritm som ger samma koefficient använder Gomory-Hu trädrepresentationen av de minsta snitten. Att bygga ett Gomori-Hu-träd kräver n − 1 maximala flödesberäkningar, men algoritmen kräver totalt O ( kn ) maximala flödesberäkningar. Ändå är det lättare att analysera approximationskoefficienten för den andra algoritmen [4] [5] .
Om vi begränsar oss till grafer i ett metriskt utrymme, förutsatt att den motsvarande kompletta grafen uppfyller triangelolikheten , och om vi kräver att de resulterande partitionerna har förutbestämda dimensioner, approximeras problemet med en faktor 3 för varje fast k [6] . Mer exakt har ungefärliga polynomiska tidsscheman (PTAS) för sådana problem upptäckts [7] .