Parameteriserad approximationsalgoritm
En parametriserad approximationsalgoritm är en typ av algoritm som syftar till att hitta ungefärliga lösningar på NP-hårda optimeringsproblem i polynomtid i indatastorleken och en funktion av en specifik parameter. Dessa algoritmer är designade för att kombinera de bästa aspekterna av både traditionella approximationsalgoritmer och följsamhet med fasta parametrar.
I traditionella approximationsalgoritmer är målet att hitta lösningar som är högst en viss faktor borta från den optimala lösningen, känd som en -approximation, i polynomtid. Å andra sidan är parameteriserade algoritmer utformade för att hitta exakta lösningar på problem, men med begränsningen att algoritmens körtid är polynom i inmatningsstorleken och en funktion av en specifik parameter k {\displaystyle . Parametern beskriver en viss egenskap hos ingången och är liten i typiska applikationer. Problemet sägs vara fixparameter tractable (FPT) om det finns en algoritm som kan hitta den optimala lösningen i tid, där är en funktion oberoende av ingångsstorleken .
En parametriserad approximationsalgoritm syftar till att hitta en balans mellan dessa två tillvägagångssätt genom att hitta ungefärliga lösningar i FPT-tid: algoritmen beräknar en -approximation i tid, där är en funktion oberoende av ingångsstorleken . Detta tillvägagångssätt syftar till att övervinna begränsningarna för båda traditionella tillvägagångssätten genom att ha starkare garantier för lösningens kvalitet jämfört med traditionella approximationer samtidigt som de fortfarande har effektiva körtider som i FPT-algoritmer. En översikt över forskningsområdet som studerar parametriserade approximationsalgoritmer finns i Marx undersökning och den nyare undersökningen av Feldmann et al.
Erhållbara approximationsförhållanden
Den fulla potentialen hos parametriserade approximationsalgoritmer utnyttjas när ett givet optimeringsproblem visas för att tillåta en -approximationsalgoritm som körs i tid, medan problemet däremot inte har en polynom-tid -approximationsalgoritm (under vissa komplexitetsantaganden , t.ex. P , inte heller en FPT-algoritm för den givna parametern (dvs den är åtminstone W[1]-hard ) .
Till exempel, vissa problem som är APX-hårda och W[1]-hårda medger ett parameteriserat approximationsschema (PAS) , dvs. för alla a -approximation kan beräknas i tid för vissa funktioner och . Detta kringgår sedan de nedre gränserna när det gäller polynom-tidsapproximation och följbarhet med fasta parametrar. En PAS liknar till sin anda ett polynom-tidsapproximationsschema (PTAS) men utnyttjar dessutom en given parameter . Eftersom graden av polynomet i körtiden för ett PAS beror på en funktion värdet på vara godtyckligt men konstant för att PAS för att köras i FPT-tid. Om detta antagande inte är tillfredsställande, behandlas effektivt parameteriserat approximationsschema (EPAS) , som för alla beräknar a -approximation i tid för någon funktion . Detta liknar till sin anda ett effektivt polynom-tidsapproximationsschema (EPTAS).
k-Cut
K -cut- problemet har ingen polynom-tid -approximationsalgoritm för någon , med antagande av och Small Set Expansion Hypothesis. Den är också W[1]-hård parametrerad av antalet av nödvändiga komponenter. Det finns emellertid en EPAS som beräknar en -approximation i tid.
Steinerträd
Steiner Tree-problemet är FPT-parameteriserat av antalet terminaler. Men för den "dubbla" parametern som består av antalet av icke-terminaler som ingår i den optimala lösningen, är problemet W[2]-hårt (på grund av en folkloristisk minskning från problemet med Dominating Set ). Steiner Tree är också känt för att vara APX-hårt . Det finns dock en EPAS som beräknar en -approximation i tid.
Starkt ansluten Steiner Subgraph
]-hårt parametriserat av antalet av terminaler, och inte heller medger ett -approximation i polynomtid (under standardkomplexitetsantaganden ) . En 2-approximation kan dock beräknas på tid. Dessutom är detta bäst möjligt, eftersom ingen -approximation kan beräknas i tid för valfri funktion , under Gap- ETH .
k-median och k-medel
För de välstuderade metriska klustringsproblemen för k-Median och k-Means parametriserade av antalet av centra, är det känt att ingen -approximation för k-Median och no -approximation för k-Means kan beräknas i tid för valfri funktion , under Gap- ETH . Matchande parameteriserade approximationsalgoritmer finns, men det är inte känt om matchande approximationer kan beräknas i polynomtid.
Klustring övervägs ofta i inställningar med lågdimensionella data, och därför är en praktiskt relevant parameterisering av dimensionen för det underliggande måttet . I det euklidiska utrymmet tillåter problemen med k-Median och k-Means en EPAS parametriserad av dimensionen och även en EPAS parametriserad av . Den förra generaliserades till en EPAS för parametrisering av dubbleringsdimensionen . För den löst relaterade dimensionsparametern för motorvägar är endast ett approximationsschema med XP- körtid känt till dags dato.
k-Center
För det metriska k-Center-problemet kan en 2-approximation beräknas i polynomtid. Men när man parametriserar med antingen numret för centra, dubbleringsdimensionen (i själva verket dimensionen för en Manhattan-metrik ), eller motorvägsdimensionen, blir ingen parametriserad -approximationsalgoritm finns, under standardkomplexitetsantaganden . Dessutom är k-Center-problemet W[1]-svårt även på plana grafer när det samtidigt parametreras med antalet av centra, dubbleringsdimensionen , motorvägsdimensionen och vägbredden . Men när med dubbleringsdimensionen existerar en EPAS, och detsamma gäller när med motorvägsdimensionen. För den mer generella versionen med vertexkapacitet finns en EPAS för parametrisering med k och dubbleringsdimensionen, men inte när k och motorvägsdimensionen används som parameter. När det gäller sökvägsbredden tillåter k-Center en EPAS även för den mer allmänna trädbreddsparametern och även för klickbredd .
Tätaste subgraf
En optimeringsvariant av k-Clique-problemet är Densest k-Subgraph-problemet (som är ett 2-ary Constraint Satisfaction-problem ), där uppgiften är att hitta en subgraf på hörn med maximalt antal kanter. Det är inte svårt att få en -approximation genom att bara välja en matchning av storlek i den givna inmatningsgrafen, eftersom det maximala antalet av kanter på hörn är alltid som mest . Detta är också asymptotiskt optimalt, eftersom under Gap- ETH no -approximation kan beräknas i FPT-tid parametriserad av .
Dominerande uppsättning
För problemet med dominerande uppsättning är det W[1]-svårt att beräkna någon -approximation i tid för alla funktioner och .
Ungefärlig kärnbildning
Kernelisering är en teknik som används för att förbehandla en instans av ett NP-hårt problem för att ta bort "enkla delar" och avslöja den NP-hårda kärnan i instansen. En kerneliseringsalgoritm tar en instans och en parameter , och returnerar en ny instans med parametern så att storleken på och är begränsad som en funktion av indataparametern , och algoritmen körs i polynomtid. En -approximate kerneliseringsalgoritm är en variant av denna teknik som används i parametriserade approximationsalgoritmer. Den returnerar en kärna så att varje -approximation i kan omvandlas till en -approximation till ingångsinstansen i polynomtid. Detta begrepp introducerades av Lokshtanov et al., men det finns andra relaterade begrepp i litteraturen såsom Turing-kärnor och -fidelity-kärnisering.
När det gäller vanliga (icke-approximativa) kärnor, tillåter ett problem en α-approximativ kärnbildningsalgoritm om och endast om den har en parametriserad α-approximationsalgoritm. Beviset för detta faktum är mycket likt det för vanliga kärnor . Den garanterade ungefärliga kärnan kan dock vara av exponentiell storlek (eller värre) i indataparametern. Därför blir det intressant att hitta problem som tillåter ungefärliga kärnor av polynomstorlek. Dessutom är ett approximativt kärnbildningsschema (PSAKS) i polynomstorlek en -approximate kerneliseringsalgoritm som beräknar en kärna i polynomstorlek och för vilken kan sättas till för alla .
Till exempel, medan Connected Vertex Cover-problemet är FPT-parametriserat av lösningsstorleken, tillåter det inte en kärna (vanlig) polynomstorlek (såvida inte ), men en PSAKS finns. På liknande sätt är Steiner Tree-problemet FPT parametriserat av antalet terminaler, tillåter inte en kärna av polynomstorlek (såvida inte , men en PSAKS finns. När man parametriserar Steiner Tree med antalet icke-terminaler i den optimala lösningen, är problemet W[2]-hårt (och medger alltså ingen exakt kärna alls, såvida inte FPT=W[2]), men medger fortfarande en PSAKS.