Paraméteres csökkentés

A paraméteres redukció olyan hatékony algoritmusok  tervezésére szolgáló technika, amelyek hatékonyságukat egy előfeldolgozó lépéssel érik el, amelyben az algoritmus bemenetét egy kisebb, „kernelnek” nevezett bemenet helyettesíti. A kernel problémamegoldásának eredményének vagy meg kell egyeznie a kiindulási adatokkal, vagy a kernel megoldásának kimenetét könnyen át kell alakítani az eredeti probléma kívánt kimenetévé.

A paraméteres csökkentést gyakran olyan redukciós szabályok alkalmazásával érik el, amelyek levágják az adott probléma könnyen kezelhető részét. A paraméterezett komplexitáselméletben gyakran bizonyítható, hogy a kernel méretétől (egyes problémához kapcsolódó paraméterek függvényében) garantált határokkal rendelkező kernel megtalálható polinomiális időben . Ha lehetséges, az eredmény egy fix-parametrikusan eldönthető algoritmus lesz, amelynek futási ideje a (polinomiális idejű) parametrikus redukciós lépés és a kernel megoldásához szükséges (nem polinom, de paraméterkorlátozott) idő összege. Ezen túlmenően minden probléma, amely megoldható fix paraméterű megoldható algoritmussal, megoldható egy ilyen típusú parametrikus redukciós algoritmussal.

Példa: vertex coverage

A parametrikus redukciós algoritmus szabványos példája a csúcslefedési probléma paraméteres redukálása S. Bass által [1] . Ebben a feladatban a bemenet egy irányítatlan gráf egy számmal együtt . A kimenet egy maximális csúcskészlet, amely tartalmazza az egyes gráfok végcsúcsát, ha létezik ilyen halmaz, vagy egy sikertelen kivételt, ha ilyen halmaz nem létezik. Ez a probléma NP-nehéz . Azonban a következő szabályok használhatók a paraméteres csökkentésére:

  1. Ha a és a fok csúcsa nagyobb, mint , távolítsa el a gráfból, és csökkentse eggyel. Bármilyen méretű csúcs lefedettségi problémának tartalmaznia kell a -t , mert különben túl sok szomszédot választanának ki a beeső élek lefedésére. Így a redukált problémafedőből a fedőhöz való visszaadással kialakítható az eredeti gráf optimális csúcsborítója .
  2. Ha ez egy elszigetelt csúcs, törölje azt. Egy izolált csúcs nem takarhat le egyetlen élt sem, tehát ebben az esetben nem lehet része semmilyen minimális borításnak.
  3. Ha több mint él marad a gráfban, és az előző két szabály nem alkalmazható, akkor a gráf nem tartalmazhat méretű csúcsfedőt . A -nál nagyobb fokú összes csúcs eltávolítása után minden fennmaradó csúcs a legtöbb élt lefedheti, a csúcsok halmaza pedig a legtöbb élt. Ebben az esetben a feladat bemenetét egy két csúcsú, egy élű gráf helyettesítheti, amelynek értéke , és ennek a feladatnak sincs megoldása.

Az az algoritmus, amely addig alkalmazza ezeket a szabályokat, amíg további redukciókat nem lehet végrehajtani, szükségszerűen egy olyan kernelnél végződik, amelynek legfeljebb éle van, és (mivel minden élnek legfeljebb két végpontja van, és nincsenek izolált csúcsai) a legtöbb csúcs. Ez a paraméteres redukció lineáris időben elvégezhető . A kernel felépítése után a csúcsfedő probléma megoldható egy brute force algoritmussal , amely ellenőrzi, hogy a kernel minden részhalmaza kernelborító-e. Így a csúcsok lefedésének problémája időben megoldható egy csúcsokkal és élekkel rendelkező gráf esetében, ami lehetővé teszi azok hatékony megoldását kicsiben, még akkor is, ha nagy .

Bár ez a korlát fix-parametrikusan feloldható, a paramétertől való függése nagyobb, mint azt szeretnénk. A bonyolultabb paraméteres redukciós eljárások javíthatják ezt a korlátot, ha kisebb kerneleket találnak több idő árán a paraméteres redukciós lépésben. Ismeretesek a parametrikus redukció csúcslefedési problémájának algoritmusai, amelyek maximális magot adnak csúcsokkal. Az algoritmus, amely ezt a javított korlátot eléri, a csúcsfedő feladat félegészes relaxációját használja egy lineáris programozási feladattal George Nemhauser és Trotter [2] szerint . Egy másik paraméteres redukciós algoritmus, amely eléri ezt a határt, a koronaredukciós szabálynak nevezett trükkön alapul, és útvonalalternációs argumentumokat használ [3] . Jelenleg a csúcsok számát tekintve a legismertebb parametrikus redukciós algoritmus a Lampis [4] -nek köszönhető, és bármely konstansra képes csúcsokat elérni .

Ez a probléma nem találhat egy méretű kernelt, hacsak nem P=NP, ebben az esetben a kernel egy polinomiális algoritmushoz vezetne az NP-kemény csúcsfedő problémára. Ebben az esetben azonban a kernel méretének szigorúbb korlátai bizonyíthatóak - hacsak nem coNP NP/poly (amit a számítási komplexitás elméletei valószínűtlennek tartanak), lehetetlen, hogy bárki is találjon polinomiális időben élekkel rendelkező kernelt [5] .

Definíció

A szakirodalomban nincs egyértelmű konszenzus a paraméteres redukció formális meghatározását illetően, és finom különbségek vannak az ilyen kifejezések használatában.

Downey-Fellows jelölés

A Downey-Fellowes jelölésben [6] a parametrizált probléma a megoldhatósági problémát leíró  részhalmaz .

A paraméterezett probléma paraméteres redukciója egy  olyan algoritmus, amely reprezentatívot vesz és időben polinomiálisan leképezi egy reprezentatívra , így

A parametrikus redukció kimenetét kernelnek nevezzük. Ebben az általános összefüggésben egy karakterlánc méretét gyakran hosszának nevezik. Egyes szerzők a csúcsok számát vagy az élek számát részesítik előnyben méretként a gráffeladatok kontextusában.

A Flam neve Grohe

A Flam-Grohe jelölésben [7] egy parametrizált probléma egy döntési problémából és egy függvényből , magából a parametrizálásból áll. A feladat reprezentatív paramétere  egy szám .

A paraméterezett probléma paraméteres redukciója egy olyan algoritmus, amely egy reprezentatívot vesz egy paraméterrel , és polinomiális időben leképezi egy reprezentatívra úgy, hogy

Vegye figyelembe, hogy ebben a jelölésben a méretkorlátozás azt jelenti, hogy a paramétert egy függvény is korlátozza .

A függvényt gyakran a kernel méretének nevezik. Ha valaki azt mondja, hogy polinomiális kernelt enged be. Hasonlóképpen, a probléma elfogadja a lineáris kernelt.

A paraméteres redukálhatóság és a fix paraméterű megoldhatóság egyenértékű

Egy probléma akkor és csak akkor fix-parametrikusan megoldható, ha paraméteresen redukálható és megoldható .

Hogy egy parametrikusan redukálható és megoldható probléma fix-parametrikusan megoldható, azt a fenti definícióból láthatjuk: egy paraméteres redukciós algoritmust hívunk meg, amely bizonyos c-ig időben fut, hogy megkapjuk a méretű magot . A kernelt ezután egy algoritmus oldja meg, amely ellenőrzi, hogy a probléma megoldható-e. Ennek az eljárásnak a teljes futási ideje , ahol  a kernelek megoldásához használt algoritmus futási ideje. Mivel például kiszámítható, feltételezve, hogy kiszámítható, de kiszámítható az összes lehetséges hosszúságú bemenet felsorolásával , ebből következik, hogy a probléma fix-parametrikusan megoldható.

A másik irányba annak bizonyítása, hogy egy rögzített paraméteresen megoldható probléma parametrikusan redukálható és megoldható, kicsit nehezebb. Tegyük fel, hogy a kérdés nem triviális, ami azt jelenti, hogy van legalább egy , a nyelvhez tartozó nevû feladatképviselõ, és legalább egy, a nyelvhez nem tartozó feladatképviselõ, név szerint . Ellenkező esetben, ha bármely képviselőt üres karakterláncra cserélünk, az érvényes paraméteres csökkentés. Tételezzük fel azt is, hogy a probléma fix-paraméteresen megoldható, vagyis van olyan algoritmusa, amely legfeljebb lépésenként működik a probléma reprezentánsain valamilyen állandó és valamilyen függvény esetén . A bemenet parametrikus redukciójának megvalósításához az algoritmust egy adott bemeneten maximum lépésekben alkalmazzuk. Ha az algoritmus egy válasszal végződik, használja a választ a kernel vagy a válasz kiválasztásához. Ha ehelyett megszakítás nélkül elérjük a lépések számának határát, magát a feladatot adjuk vissza kernelként. Mivel bemeneti kernelként kerül visszaadásra -val , ebből következik, hogy az így kapott kernel mérete nem haladja meg a -t . A méretkorlát a fix paraméteres megoldhatóság feltételezése mellett számítható, ami kiszámítható.

Egyéb példák

Lásd még

Jegyzetek

  1. Ezt a kiadatlan megfigyelést Buss és Goldsmith egy cikkében fogalmazta meg ( Buss, Goldsmith 1993 )
  2. Flum, Grohe, 2006 .
  3. Flam és Grohe ( Flum, Grohe 2006 ) egy koronaredukción alapuló kernelt adnak, amelynek csúcsai vannak. A csúcshatár egy kicsit bonyolultabb.
  4. Lampis, 2011 .
  5. 1 2 3 4 Dell, van Melkebeek, 2010 .
  6. Downey, Fellows, 1999 .
  7. Flum, Grohe, 2006 , p. négy.
  8. Chen, Kanj, Jia, 2001 .
  9. Thomasse, 2010 .
  10. Bodlaender, Downey, Fellows, Hermelin, 2009 .
  11. Fomin, Lokshtanov, Saurabh, Thilikos, 2010 .

Irodalom