Parametrinen vähennys

Parametrinen pelkistys  on tekniikka tehokkaiden algoritmien suunnittelemiseksi , jotka saavuttavat tehokkuutensa esiprosessorivaiheen kautta, jossa algoritmin syöte korvataan pienemmällä syötteellä, jota kutsutaan "ytimeksi". Ytimen ongelman ratkaisun tuloksen tulee olla joko sama kuin lähtötiedoilla tai ytimen ratkaisun tulos on helposti muutettava alkuperäisen ongelman halutuksi tuotokseksi.

Parametrinen vähennys saavutetaan usein soveltamalla vähennyssääntöjä, jotka katkaisevat tietystä ongelmasta sen osan, joka on helppo käsitellä. Parametrisoidussa kompleksisuusteoriassa voidaan usein todistaa, että ydin, jolla on ytimen koosta riippuen taatut rajat ( joidenkin ongelmaan liittyvien parametrien funktiona), löytyy polynomiajasta . Jos mahdollista, tulos on kiinteä-parametrisesti ratkaistava algoritmi, jonka ajoaika on parametrisen pelkistyksen (polynomiajan) vaiheen ja ytimen ratkaisemiseen kuluvan (ei-polynomisen, mutta parametrirajoitetun) ajan summa. Lisäksi mikä tahansa ongelma, joka voidaan ratkaista kiinteän parametrin ratkaistavalla algoritmilla, voidaan ratkaista tämän tyyppisellä parametrisella pelkistysalgoritmilla.

Esimerkki: vertex coverage

Standardiesimerkki parametrisesta pelkistysalgoritmista on S. Bassin [1] vertex cover -ongelman parametrinen pelkistys . Tässä tehtävässä syöte on suuntaamaton graafi yhdessä luvun kanssa . Tulos on maksimipistejoukko , joka sisältää kunkin graafin loppupisteen, jos sellainen on olemassa, tai epäonnistuneen poikkeuksen, jos tällaista joukkoa ei ole olemassa. Tämä ongelma on NP-kova . Sen parametriseen vähentämiseen voidaan kuitenkin käyttää seuraavia sääntöjä:

  1. Jos ja on asteen kärkipiste suurempi kuin , poista kaaviosta ja vähennä yhdellä. Minkä tahansa kokoisen kärjen peittotehtävän tulee sisältää , koska muuten liian monta sen naapuria valitaan peittämään sattuvia reunoja. Näin ollen optimaalinen kärkipeite alkuperäiselle graafille voidaan muodostaa pelkistetystä ongelmapeitosta lisäämällä sitä takaisin kanteen.
  2. Jos se on eristetty huippu, poista se. Eristetty kärki ei voi peittää mitään reunaa, joten se ei voi tässä tapauksessa olla osa mitään minimipeitettä.
  3. Jos graafissa on jäljellä enemmän kuin reunoja, eikä kahta edellistä sääntöä voida soveltaa, graafi ei voi sisältää koon kärjen peitettä . Kun kaikki pisteet, joiden aste on suurempi kuin , on poistettu , jokainen jäljellä oleva kärki voi peittää suurimman osan reunoista ja kärkijoukko voi peittää suurimman osan reunoista. Tässä tapauksessa tehtävän syöte voidaan korvata graafilla, jossa on kaksi kärkeä, yksi reuna ja arvo , eikä tähänkään ongelmaan ole ratkaisua.

Algoritmi, joka soveltaa näitä sääntöjä uudelleen, kunnes muita vähennyksiä ei voida tehdä, päättyy välttämättä ytimeen, jolla on korkeintaan reunoja ja (koska jokaisella reunalla on enintään kaksi päätepistettä eikä eristettyjä pisteitä) enintään pisteet. Tämä parametrinen vähennys voidaan tehdä lineaarisessa ajassa . Kun ydin on rakennettu, vertex cover -ongelma voidaan ratkaista brute force -algoritmilla , joka tarkistaa, että jokainen ytimen osajoukko on ytimen kansi. Siten kärkipeiteongelma voidaan ratkaista ajoissa graafille, jossa on kärkipisteitä ja reunoja, mikä mahdollistaa niiden tehokkaan ratkaisemisen pienenä, vaikka suurikin .

Vaikka tämä raja on kiinteä-parametrisesti ratkaistavissa, sen riippuvuus parametrista on suurempi kuin voisi toivoa. Monimutkaisemmat parametrivähennysmenettelyt voivat parantaa tätä sidosta etsimällä pienempiä ytimiä enemmän aikaa parametrivähennysvaiheessa. Parametrisen pelkistyksen kärkipeitto-ongelmalle tunnetaan algoritmeja, jotka antavat maksimiytimiä, joissa on kärkipisteitä. Algoritmi, joka saavuttaa tämän parannetun rajan, käyttää huippupisteen peittotehtävän puolikokonaislukurelaksaatiota George Nemhauserin ja Trotterin [2] mukaisella lineaarisella ohjelmointitehtävällä . Toinen parametrinen pelkistysalgoritmi, joka saavuttaa tämän rajan, perustuu temppuun, jota kutsutaan kruunun pienennyssäännöksi ja käyttää polun vuorotteluargumentteja [3] . Tällä hetkellä tunnetuin parametrinen pelkistysalgoritmi pisteiden lukumäärän suhteen on Lampis [4] ja saavuttaa pisteet mille tahansa vakiolle .

Tälle ongelmalle on mahdotonta löytää kokoista ydintä, ellei P=NP, jolloin ydin johtaisi polynomialgoritmiin NP-kovan vertex cover -ongelmalle. Tässä tapauksessa ytimen koon tiukemmat rajat voidaan kuitenkin todistaa - ellei coNP NP/poly (jota laskennallisen monimutkaisuuden teoreetikot pitävät epätodennäköisenä), kenenkään on mahdotonta löytää ytimiä, joissa on reunat polynomiajassa [5] .

Määritelmä

Kirjallisuudessa ei ole selvää yksimielisyyttä siitä, kuinka parametrinen pelkistys tulisi muodollisesti määritellä, ja tällaisten ilmaisujen käytössä on hienovaraisia ​​eroja.

Downey-Fellowsin merkintä

Downey-Fellowes-merkinnässä [6] parametroitu ongelma  on osajoukko , joka kuvaa ratkaistavuusongelmaa .

Parametrisoidun ongelman parametrinen pelkistys  on algoritmi, joka ottaa edustajan ja kartoittaa sen ajallisesti polynomiaalisesti edustajaan , niin että

Parametrisen pelkistyksen tulosta kutsutaan ytimeksi. Tässä yleisessä yhteydessä merkkijonon kokoa kutsutaan usein sen pituudeksi. Jotkut kirjoittajat pitävät graafitehtävien yhteydessä parempana kärkien määrää tai reunojen määrää kokona.

Flamin nimi on Grohe

Flam-Grohen notaatiossa [7] parametroitu ongelma koostuu päätösongelmasta ja funktiosta , itse parametrisoinnista. Tehtävää edustava parametri  on numero .

Parametrisoidun ongelman parametrinen pelkistys on algoritmi, joka ottaa edustajan parametrin kanssa ja kartoittaa sen polynomiajassa edustajaksi siten, että

Huomaa, että tässä merkinnässä koon rajoitus tarkoittaa, että parametria rajoittaa myös funktio .

Toimintoa kutsutaan usein ytimen kooksi. Jos joku sanoo, että se hyväksyy polynomin ytimen. Vastaavasti ongelmalle myönnetään lineaarinen ydin.

Parametrinen pelkistyvyys ja kiinteäparametrinen ratkaistavuus ovat samanarvoisia

Ongelma on kiinteä-parametrisesti ratkaistava, jos ja vain, jos se voidaan pienentää parametrisesti ja se on ratkaistavissa .

Se, että parametrisesti pelkistettävä ja ratkaistava ongelma on kiinteä-parametrisesti ratkaistava, voidaan nähdä yllä olevasta määritelmästä: parametrinen pelkistysalgoritmi, joka suoritetaan ajassa jonkin c:n ajan, kutsutaan koon ytimen saamiseksi . Ydin ratkaistaan ​​sitten algoritmilla, joka tarkistaa, että ongelma on ratkaistavissa. Tämän menettelyn kokonaisajoaika on , missä  on ytimien ratkaisemiseen käytetyn algoritmin ajoaika. Koska se on laskettavissa esimerkiksi olettaen, että se on laskettavissa, mutta se voidaan laskea luettelemalla kaikki mahdolliset pituuden syötteet , tästä seuraa, että ongelma on kiinteä-parametrisesti ratkaistava.

Todistaminen toiseen suuntaan, että kiinteä parametrisesti ratkaistava ongelma on parametrisesti pelkistettävissä ja ratkaistavissa, on hieman vaikeampi. Oletetaan, että kysymys on ei-triviaali, mikä tarkoittaa, että on olemassa vähintään yksi tehtäväedustaja nimeltä , joka kuuluu kieleen, ja vähintään yksi tehtäväedustaja, joka ei kuulu kieleen, nimeltä . Muussa tapauksessa minkä tahansa edustajan korvaaminen tyhjällä merkkijonolla on kelvollinen parametrinen vähennys. Oletetaan myös, että ongelma on kiinteäparametrisesti ratkaistava, eli sillä on algoritmi, joka toimii korkeintaan vaiheittain ongelman edustajilla jollekin vakiolle ja jollekin funktiolle . Tulon parametrisen pienentämisen toteuttamiseksi käytämme algoritmia annettuun tuloon enintään vaiheittain. Jos algoritmi päättyy vastaukseen, käytä vastausta valitaksesi joko tai ytimeksi. Jos sen sijaan saavutamme vaiheiden rajan keskeytyksettä, palautamme itse tehtävän ytimeksi. Koska se palautetaan syöteytimenä :lla , tästä seuraa, että tällä tavalla saadun ytimen koko ei ylitä . Kokoraja on laskettavissa kiinteän parametrisen ratkaistavuuden oletuksilla, mikä on laskettavissa.

Muita esimerkkejä

Katso myös

Muistiinpanot

  1. Tämä julkaisematon havainto esitettiin Bussin ja Goldsmithin artikkelissa ( Buss, Goldsmith 1993 )
  2. Flum, Grohe, 2006 .
  3. Flam ja Grohe ( Flum, Grohe 2006 ) antavat kruunun pienentämiseen perustuvan ytimen, jossa on kärkipisteitä. Huippupisteen raja on hieman monimutkaisempi.
  4. Lampis, 2011 .
  5. 1 2 3 4 Dell, van Melkebeek, 2010 .
  6. Downey, Fellows, 1999 .
  7. Flum, Grohe, 2006 , s. neljä.
  8. Chen, Kanj, Jia, 2001 .
  9. Thomasse, 2010 .
  10. Bodlaender, Downey, Fellows, Hermelin, 2009 .
  11. Fomin, Lokshtanov, Saurabh, Thilikos, 2010 .

Kirjallisuus