Reducere parametrică

Reducerea parametrică  este o tehnică de proiectare a algoritmilor eficienți care își ating eficiența printr-un pas de preprocesor în care intrarea algoritmului este înlocuită cu o intrare mai mică numită „kernel”. Rezultatul rezolvării problemei pe nucleu trebuie fie să fie același ca pentru datele inițiale, fie rezultatul soluției pentru nucleu trebuie să fie ușor transformat în rezultatul dorit al problemei inițiale.

Reducerea parametrică este adesea realizată prin aplicarea unui set de reguli de reducere care elimină partea unei anumite probleme care este ușor de rezolvat. În teoria complexității parametrizate , se poate dovedi adesea că un nucleu cu limite garantate în funcție de dimensiunea nucleului (în funcție de unii parametri legați de problemă) poate fi găsit în timp polinomial . Dacă este posibil, rezultatul va fi fix-rezolvabil parametric un algoritm al cărui timp de rulare este suma pasului (timpul polinom) al reducerii parametrice și timpul (nepolinom, dar mărginit de parametru) de rezolvare a nucleului. Mai mult, orice problemă care poate fi rezolvată printr-un algoritm solubil cu parametri fix poate fi rezolvată printr-un algoritm de reducere parametrică de acest tip.

Exemplu: acoperirea nodurilor

Un exemplu standard de algoritm de reducere parametrică este reducerea parametrică a problemei acoperirii vârfurilor de către S. Bass [1] . În această problemă, intrarea este un grafic nedirecționat împreună cu un număr . Ieșirea este un set de vârfuri maxim care include vârful final al fiecărui grafic dacă există o astfel de mulțime sau o excepție de eșec dacă un astfel de set nu există. Această problemă este NP-hard . Cu toate acestea, următoarele reguli pot fi utilizate pentru reducerea parametrică a acestuia:

  1. Dacă și este un vârf de grad mai mare decât , eliminați din grafic și micșorați cu unu. Orice problemă de acoperire a vârfurilor de dimensiune trebuie să conțină , deoarece altfel ar fi aleși prea mulți dintre vecinii săi pentru a acoperi marginile incidente. Astfel, acoperirea optimă a vârfurilor pentru graficul original poate fi formată din acoperirea problemei reduse prin adăugarea înapoi la capac.
  2. Dacă este un vârf izolat, ștergeți-l. Un vârf izolat nu poate acoperi nicio margine, deci în acest caz nu poate face parte dintr-o acoperire minimă.
  3. Dacă în grafic rămân mai multe muchii și nu pot fi aplicate două reguli anterioare, atunci graficul nu poate conține o acoperire de vârf de dimensiune . După eliminarea tuturor vârfurilor de grad mai mare decât , fiecare vârf rămas poate acoperi cel mai mult muchii, iar setul de vârfuri poate acoperi cel mult muchii. În acest caz, intrarea problemei poate fi înlocuită cu un grafic cu două vârfuri, o muchie și valoarea , iar această problemă, de asemenea, nu are soluție.

Un algoritm care reaplică aceste reguli până când nu se mai pot face reduceri ulterioare se termină neapărat cu un nucleu care are cel mult muchii și (deoarece fiecare muchie are cel mult două vârfuri terminale și niciun vârf izolat) cel mult vârfuri. Această reducere parametrică se poate face în timp liniar . Odată construit nucleul, problema acoperirii nodurilor poate fi rezolvată printr-un algoritm de forță brută , care verifică dacă fiecare subset al nucleului este o acoperire a nucleului. Astfel, problema acoperirii nodurilor poate fi rezolvată în timp pentru un grafic cu vârfuri și muchii, ceea ce le permite să fie rezolvate eficient atunci când sunt mici, chiar dacă mari .

Deși această limită este fixă-parametric rezolvabilă, dependența sa de parametru este mai mare decât s-ar putea dori. Procedurile mai complexe de reducere parametrică pot îmbunătăți această limită prin găsirea de nuclee mai mici cu costul a mai mult timp în etapa de reducere parametrică. Sunt cunoscuți algoritmi pentru problema acoperirii vârfurilor a reducerii parametrice, care dau nuclee maxime cu vârfuri. Algoritmul care realizează această limită îmbunătățită folosește relaxarea pe jumătate întreg a problemei acoperirii vârfurilor printr-o problemă de programare liniară conform lui George Nemhauser și Trotter [2] . Un alt algoritm de reducere parametrică care realizează această limită se bazează pe un truc numit regula de reducere a coroanei și folosește argumente de alternanță a căii [3] . În prezent, cel mai cunoscut algoritm de reducere parametrică în ceea ce privește numărul de vârfuri se datorează lui Lampis [4] și realizează vârfuri pentru orice constantă .

Este imposibil ca această problemă să găsească un nucleu de dimensiune decât dacă P=NP, caz în care nucleul ar duce la un algoritm polinomial pentru problema acoperirii vertexului NP-hard. Cu toate acestea, limite mai strânse ale mărimii nucleului pot fi dovedite în acest caz - cu excepția cazului în care conNP NP/poly (pe care teoreticienii complexității computaționale îl consideră puțin probabil), este imposibil pentru cineva să găsească nuclee cu muchii în timp polinomial [5] .

Definiție

Nu există un consens clar în literatură cu privire la modul în care reducerea parametrică ar trebui definită formal și există o diferență subtilă în utilizarea unor astfel de expresii.

Notație Downey-Fellows

În notația Downey-Fellowes [6] , o problemă parametrizată  este o submulțime care descrie problema de solubilitate .

Reducerea parametrică a unei probleme parametrizate  este un algoritm care ia un reprezentant și îl mapează în timp polinom în și către un reprezentant , astfel încât

Ieșirea reducerii parametrice se numește nucleu. În acest context general , dimensiunea unui șir este adesea denumită lungimea sa. Unii autori preferă numărul de vârfuri sau numărul de muchii ca mărime în contextul problemelor de graf.

Denumirea lui Flam este Grohe

În notația Flam-Grohe [7] , o problemă parametrizată constă dintr- o problemă de decizie și o funcție , parametrizarea însăși. Parametrul reprezentativ al sarcinii  este un număr .

Reducerea parametrică pentru o problemă parametrizată este un algoritm care ia un reprezentant cu un parametru și îl mapează în timp polinomial la un reprezentant astfel încât

Rețineți că în această notație limita de dimensiune implică faptul că parametrul este , de asemenea, mărginit de o funcție de .

Funcția este adesea denumită dimensiunea nucleului. Dacă se spune că admite un nucleu polinom. În mod similar, pentru problemă admite un nucleu liniar.

Reductibilitatea parametrică și solvabilitatea parametrică fixă ​​sunt echivalente

O problemă este fixată-parametric rezolvabilă dacă și numai dacă poate fi redusă parametric și este rezolvabilă .

Că o problemă reductibilă și rezolvabilă parametric este fix-parametric rezolvabilă se poate vedea din definiția de mai sus: un algoritm de reducere parametrică care rulează în timp pentru un anumit c este invocat pentru a obține un nucleu de dimensiune . Nucleul este apoi rezolvat de un algoritm care verifică dacă problema este rezolvabilă. Timpul total de rulare al acestei proceduri este , unde  este timpul de rulare al algoritmului utilizat pentru rezolvarea nucleelor. Deoarece este calculabil, de exemplu, sub ipoteza că este calculabil, dar poate fi calculat prin enumerarea tuturor intrărilor posibile de lungime , rezultă că problema este rezolvabilă fix-parametric.

Dovada în cealaltă direcție că o problemă fixă ​​rezolvabilă parametric este reductibilă și rezolvabilă este puțin mai dificilă. Să presupunem că întrebarea este netrivială, ceea ce înseamnă că există cel puțin un reprezentant al sarcinii numit , aparținând limbii și cel puțin un reprezentant al sarcinii, care nu aparține limbii, numit . În caz contrar, înlocuirea oricărui reprezentant cu un șir gol este o reducere parametrică validă. Să presupunem, de asemenea, că problema este rezolvabilă fix-parametric, adică are un algoritm care funcționează cel mult în pași pe reprezentanți ai problemei pentru o constantă și o anumită funcție . Pentru a implementa reducerea parametrică a intrării, aplicăm algoritmul pe o intrare dată în maximum pași. Dacă algoritmul se termină cu un răspuns, utilizați răspunsul pentru a alege oricare sau ca nucleu. Dacă, în schimb, ajungem la limita numărului de pași fără întrerupere, returnăm sarcina în sine ca nucleu. Deoarece este returnat ca nucleu de intrare cu , rezultă că dimensiunea nucleului obținut în acest mod nu depășește . Limita mărimii este calculabilă în baza ipotezelor de solvabilitate parametrică fixă, care este calculabilă.

Alte exemple

Vezi și

Note

  1. Această observație nepublicată a fost afirmată într-un articol de Buss și Goldsmith ( Buss, Goldsmith 1993 )
  2. Flum, Grohe, 2006 .
  3. Flam și Grohe ( Flum, Grohe 2006 ) oferă un nucleu bazat pe reducerea coroanei care are vârfuri. Limita vârfurilor este puțin mai complexă.
  4. Lampis, 2011 .
  5. 1 2 3 4 Dell, van Melkebeek, 2010 .
  6. Downey, Fellows, 1999 .
  7. Flum, Grohe, 2006 , p. patru.
  8. Chen, Kanj, Jia, 2001 .
  9. Thomasse, 2010 .
  10. Bodlaender, Downey, Fellows, Hermelin, 2009 .
  11. Fomin, Lokshtanov, Saurabh, Thilikos, 2010 .

Literatură