Optimizare pseudo-booleană quadratică

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Optimizarea pseudo-booleană quadratică ( QPBO ) este o metodă de optimizare discretă a funcțiilor pseudo-booleene quadratice non- submodulare sub forma

în variabile binare , cu . De sine este submodular QPBO produce un optim global într-un mod echivalent cu tăierea graficului , în timp ce dacă conține termeni non-submodulari algoritmul produce o soluție parțială cu proprietăți de optimitate specifice, în ambele cazuri în timp polinomial. [1]

QPBO este utilizat în inferență asupra câmpurilor Markov aleatorii (MRF) și câmpurilor condiționate aleatorii (CRF) și are aplicații în probleme de vedere computerizată, cum ar fi segmentarea și potrivirea stereo . [2]

Optimizarea funcțiilor non-submodulare

Dacă coeficienții unii termeni pătratici satisfac condiția submodularității

atunci funcția poate fi optimizată prin tăierea graficului . De fapt, este posibil să-l reprezentăm printr-un grafic cu greutăți non-negative, iar minimul global poate fi determinat în timp polinomial printr-o reducere minimă a graficului, care poate fi calculată eficient cu algoritmi precum cei de la Ford-Fulkerson , Edmonds-Karp și Boykov- Kolmogorov .

Dacă condiția submodularității nu este satisfăcută, problema în cazul general este NP-hard și nu poate fi întotdeauna rezolvată exact în timp polinomial cu o simplă tăiere grafică. Este posibilă aproximarea funcției obiective cu o funcție similară, dar submodulară, de exemplu prin eliminarea termenilor non-submodulari sau înlocuirea lor cu o aproximare submodulară, dar această abordare produce în general rezultate sub-optime a căror calitate este acceptabilă numai dacă numărul de termenii nu este submodular este relativ mic. [1]

QPBO construiește un grafic extins, introducând un set de variabile auxiliare ideal echivalent cu negarea variabilelor problemei. Funcția asociată acestui grafic este submodulară și poate fi optimizată prin tăierea graficului: dacă nodurile graficului asociate cu o variabilă sunt separate de tăierea minimă în diferite componente conectate, valoarea variabilei este definită, în timp ce dacă nodurile sunt în aceeași componentă, valoarea variabilei nu este definită, este posibil să se deducă valoarea optimă a variabilei corespunzătoare. Această metodă produce în general rezultate superioare în comparație cu soluția prin tăierea grafică a aproximărilor submodulare ale funcțiilor non-submodulare. [1]

Proprietate

QPBO produce o soluție în care variabilele pot lua trei valori diferite, adevărat , fals și nedefinit , notate mai jos cu 1, 0 și respectiv . Soluția produsă de QPBO are două proprietăți, cunoscute sub numele de optimitate parțială și persistență .

  • Optimitate parțială : dacă este submodular, QPBO calculează minimul global exact într-un mod echivalent cu tăierea graficului și toate variabilele din soluție iau o valoare nedefinită, în timp ce dacă condiția de submodularitate nu este satisfăcută, rezultatul va fi o soluție parțială în care numai pentru un subset dintre variabile presupune o valoare care nu este nedeterminată. Această soluție parțială face întotdeauna parte dintr-o soluție optimă, adică există un punct minim global din astfel încât pentru fiecare .
  • Persistență : dată o soluție produs de QPBO și orice atribuire de valori la variabilele problemei, dacă se construiește o nouă soluție înlocuind cu pentru fiecare , da . [1]

Algoritm

Grafic care reprezintă o funcție a două variabile Și

Algoritmul poate fi împărțit în trei părți principale: construcția graficului, calculul unei tăieturi minime și atribuirea valorilor rezultate variabilelor.

În construcția graficului, setul de noduri constă din nodurile sursă si bine , plus o pereche de noduri Și pentru fiecare variabilă. După transformarea funcției obiective în formă normală, [3] pentru fiecare termen adăugați o pereche de margini în grafic:

  • la fiecare termen arcurile se potrivesc Și , cu greutăți ;
  • la fiecare termen arcurile se potrivesc Și , cu greutăți ;
  • la fiecare termen arcurile se potrivesc Și , cu greutăți ;
  • la fiecare termen arcurile se potrivesc Și , cu greutăți ;
  • la fiecare termen arcurile se potrivesc Și , cu greutăți ;
  • la fiecare termen arcurile se potrivesc Și , cu greutăți .

Tăierea minimă a graficului poate fi calculată cu un algoritm de flux maxim . În general, graficul poate admite mai multe tăieturi minime, care corespund unor soluții parțiale diferite, totuși este posibil să se construiască o tăietură care să lase cel mai mic număr posibil de variabile nedefinite. Odată calculată reducerea minimă, fiecare variabilă primește o valoare în funcție de poziția nodurilor respective Și : de sine aparține componentei conectate care conține sursa e aparține componentei care conține fântâna, valoarea va fi 0, invers dacă aparține componentei care conține fântâna e la cel care conține sursa, valoarea lui va fi 1. Dacă ambele noduri Și aparțin aceleiași componente conectate, valoarea va fi nedefinită. [2]

În ceea ce privește variabilele a căror valoare rezultată este nedefinită, modul în care pot fi tratate depinde de problemă. În general, având în vedere două soluții optime pentru două partiții ale graficului, este posibil să le combinați într-o singură soluție optimă pentru întreaga problemă în timp liniar, [4] totuși găsirea unei soluții optime pentru variabilele nedeterminate rămâne un NP-hard problemă. În contextul algoritmilor iterativi, cum ar fi expansiunea α, o soluție rezonabilă este de a lăsa neschimbată valoarea lor, deoarece proprietatea de persistență garantează o valoare non-crescătoare a funcției obiective. [1] Există mai multe strategii exacte sau aproximative pentru a încerca să reducem numărul de variabile nedeterminate. [2]

Termeni de comandă superioară

Optimizarea funcțiilor pseudo-booleene de ordin superior, adică conținerea termenilor dependenți de trei sau mai multe variabile, este, în general, o problemă dificilă. Este întotdeauna posibil să se reducă în timp polinomial o funcție de ordin superior la o funcție pătratică echivalentă în ceea ce privește problema de optimizare (problema cunoscută sub numele de reducere a clicului de ordin superior , HOCR), iar rezultatul acestei reduceri poate fi optimizat cu QPBO. Metodele generale pentru reducerea funcțiilor arbitrare se bazează pe tehnici adecvate de substituire a sub-expresiei și necesită în general introducerea de variabile auxiliare. [5] În practică, pentru majoritatea termenilor de ordin superior este posibil să se calculeze exact o reducere fără a adăuga variabile auxiliare, rezultând o problemă de optimizare mai simplă; pentru termenii ireductibili rămași este posibil să se calculeze o reducere exactă cu metode mai generale, prin adăugarea de variabile auxiliare sau prin efectuarea unei reduceri aproximative fără a adăuga noi variabile. [6]

Notă

  1. ^ a b c d și Kolmogorov și Rother , pp. 1274-1279 .
  2. ^ a b c Rother și colab. , pp. 1-8 .
  3. ^ Reprezentarea unei funcții pseudo-booleene prin intermediul coeficienților nu este unic și dacă există doi vectori de coeficient Și pot reprezenta atunci aceeași funcție se numește reparameterizare a si invers. În unele construcții este util să vă asigurați că funcția are o formă specială, numită formă normală, care este întotdeauna definită pentru fiecare funcție și nu este unică. O functie se spune în formă normală dacă sunt îndeplinite următoarele două condiții ( Kolmogorov și Rother , pp. 1274-1279 ):
    1. pentru fiecare ;
    2. pentru fiecare și pentru fiecare .
    Având o funcție arbitrară , este întotdeauna posibil să se determine reparametrizarea sa în formă normală prin intermediul unui algoritm în două faze ( Kolmogorov și Rother , pp. 1274-1279 ):
    1. atâta timp cât există indici Și care încalcă a doua condiție a normalității, se fac înlocuiri
      • cu
      • cu
      • cu
      unde este ;
    2. pentru fiecare , se fac înlocuiri
      • cu
      • cu
      • cu
      unde este .
  4. ^ Billionnet și Jaumard , pp. 161-163 .
  5. ^ Fix și colab. , pp. 1020-1027 .
  6. ^ Ishikawa , pp. 1362-1369 .

Bibliografie

  • Alain Billionnet, Brigitte Jaumard, O metodă de descompunere pentru minimizarea funcțiilor pseudo-booleene pătratice , în Operations Research Letters , vol. 8, nr. 3, Elsevier, 1989, pp. 161–163.
  • Alexander Fix, Aritanan Gruber, Endre Boros și Ramin Zabih, IEEE International Conference on Computer Vision , Un algoritm tăiat grafic pentru câmpuri aleatorii Markov de ordin superior , 2011, pp. 1020-1027.
  • Hiroshi Ishikawa, Reducerea clicii de ordin superior fără variabile auxiliare , IEEE Conference on Computer Vision and Pattern Recognition , IEEE, 2014, pp. 1362-1269.
  • Vladimir Kolmogorov și Carsten Rother, Minimizarea funcțiilor nesubmodulare: o revizuire , în IEEE Transactions on Pattern Analysis and Machine Intelligence , vol. 29, nr. 7, IEEE, iulie 2007, pp. 1274-1279.
  • Carsten Rother, Vladimir Kolmogorov, Victor Lempitsky, Martin Szummer, Optimizarea MRF-urilor binare prin dualitatea extinsă a acoperișului , IEEE Conference on Computer Vision and Pattern Recognition , 2007, pp. 1-8.

linkuri externe

Matematica Portalul de matematică : accesați intrările Wikipedia care se ocupă de matematică