Grafic tăiat

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

Graficul tăiat este o metodă de optimizare aplicabilă unei familii numeroase de funcții variabile discrete, care își datorează numele faptului că se bazează pe teoria rețelelor de flux . Datorită teoremei debitului maxim și a tăierii minime , determinarea tăierii minime pe un grafic care reprezintă o rețea de flux este echivalentă cu calcularea debitului maxim pe rețea. Având în vedere o funcție pseudo-booleană , dacă este posibil să se construiască o rețea de flux astfel încât pentru fiecare posibilă tăiere valoarea debitului tăiat să corespundă cu o atribuire de variabile funcției și invers, este posibil să se găsească minimul global de funcția în timp polinomial prin calcularea unei tăieturi minime a graficului care reprezintă această rețea de flux.

Nu toate funcțiile pseudo-booleene sunt reprezentabile printr-o rețea de flux, iar căutarea minimului global în cazul general este o problemă NP-hard . Există condiții suficiente care caracterizează familiile de funcții care pot fi optimizate prin tăierea graficului în timp polinomial, cum ar fi de exemplu funcțiile pătratice submodulare. Este posibil să se extindă metoda la funcții cu variabile discrete cu mai mult de două valori prin algoritmi iterativi aproximativi, cu garanții puternice de optimitate a rezultatului, care calculează o reducere minimă la fiecare iterație.

Optimizarea tăierii graficului este un instrument util pentru deducerea modelelor grafice , cum ar fi câmpurile Markov aleatorii și câmpurile condiționate aleatorii , și are aplicații în numeroase probleme de analiză digitală a imaginii și de vedere computerizată , cum ar fi segmentarea , [1] [2] anularea zgomotului , [3 ] înregistrare [4] [5] și potrivire stereo . [6] [7]

Reprezentabilitate

O funcție pseudo-booleană se spune că este reprezentat printr-un grafic dacă există un grafic cu greutăți non-negative cu noduri terminale sursă si bine și un subset de vârfuri astfel încât, pentru orice tuplu de valori atribuit variabilelor, este egală (mai mică decât o constantă) cu valoarea fluxului determinată de o tăiere minimă a graficului astfel încât de sine Și de sine . [8]

Funcțiile pseudo-booleene pot fi clasificate în funcție de ordinea lor, determinată de numărul maxim de variabile conținute într-un singur termen. Toate funcțiile de prim ordin sunt întotdeauna reprezentabile. Funcții quadratice, care au formă

pot fi reprezentate dacă și numai dacă îndeplinesc o condiție numită submodularitate sau dacă pentru fiecare termen a părții pătratice apare că

Funcțiile cubice, care au formă

pot fi reprezentate dacă și numai dacă sunt regulate, adică toate proiecțiile posibile în două variabile ale funcției (obținute prin fixarea uneia dintre cele trei variabile) sunt submodulare. Pentru funcțiile de ordin superior, regularitatea este o condiție necesară pentru reprezentabilitate. [8]

Construcția graficului

Construcția graficului unei funcții reprezentabile este simplificată de faptul că suma a două funcții reprezentabile Și este la rândul său reprezentabil, iar graficul corespunzător este dat de unirea graficelor respective Și . Această teoremă permite construirea de grafice separate pentru fiecare termen, care pot fi unite pentru a obține graficul întregii funcții. [8]

Graficul asociat cu o funcție pătratică a variabile conține noduri, dintre care două reprezintă sursa și puțul, iar restul reprezintă variabilele. Pentru funcțiile de ordin superior, graficul conține noduri auxiliare care vă permit să reprezentați interacțiuni de ordin superior.

Termeni unari

Un termen unar dependent de o singură variabilă poate fi reprezentat printr-un grafic cu un nod non-terminal și un arc cu greutate de sine , sau cu greutate de sine . [8]

Termeni binari

Exemplu de grafic reprezentând un termen pătratic În cazul în care Și .

Un termen pătratic (sau binar) poate fi reprezentat printr-un grafic care conține două noduri non-terminale Și . Termenul poate fi rescris în mod echivalent ca

cu

În această expresie, primul termen este o constantă și nu este reprezentat de niciun vârf, cei doi termeni următori depind de o variabilă și, prin urmare, sunt reprezentați de un arc, în modul descris mai sus pentru termenii unari, în cele din urmă, al patrulea termen este reprezentat dintr-un arc cu greutate (starea submodulară garantează că greutatea este negativă). [8]

Termeni ternari

Un termen cubic (sau ternar) poate fi reprezentat printr-un grafic cu patru noduri non-terminale, dintre care trei , Și acestea sunt asociate cu cele trei variabile, cu adăugarea unui al patrulea nod auxiliar .[9] Un termen ternar generic poate fi rescris ca suma unei constante, trei termeni unari, trei termeni binari și un termen ternar în formă simplificată. Pot apărea două cazuri diferite, în funcție de semnul cantității . De sine da ai

Exemplu de grafic reprezentând termenul ternar În cazul în care (stânga) e (dreapta).

cu

De sine construcția este analogă, dar variabilele vor lua valori opuse. Dacă funcția de pornire este regulată, atunci toate proiecțiile sale în două variabile sunt submodulare, garantând acest lucru , Și sunt pozitive și, prin urmare, că toți termenii care alcătuiesc noua reprezentare sunt submodulari.

În această descompunere, termenii constanți, unari și binari pot fi reprezentați așa cum se vede mai sus. De sine ultimul termen ternar poate fi reprezentat printr-un grafic cu patru muchii , , , toate cu greutate , în timp ce dacă termenul poate fi reprezentat prin patru arce , , , cu greutate . [8]

Calculul tăierii minime

Odată ce graficul reprezentând o funcție pseudo-booleană a fost construit, este posibil să se calculeze reducerea minimă utilizând unul dintre diferiții algoritmi pentru rețelele de flux, cum ar fi cei de la Ford-Fulkerson , Edmonds-Karp sau Boykov-Kolmogorov . Rezultatul este o partiție a graficului în două componente conectate Și astfel încât Și , iar minimul global al funcției este atins când pentru fiecare astfel încât nodul corespunzător , Și pentru fiecare astfel încât nodul corespunzător .

Algoritmii de flux maxim, cum ar fi cel Boykov-Kolmogorov, sunt foarte eficienți în practică pentru calcularea secvenței minime, dar au dezavantajul de a nu fi ușor paralelizabili, ceea ce împiedică exploatarea paralelismului inerent al hardware-ului modern și restricționează utilizarea în aplicațiile de calcul distribuite . S-au dezvoltat mai mulți algoritmi paraleli pentru calculul fluxului maxim, inclusiv push-relabel [10] și jump-flood , [1] care pot profita, de asemenea, de accelerația hardware în implementările GPGPU . [1] [11] [12]

Funcțiile variabilelor discrete cu mai mult de două valori

Construcția anterioară permite optimizarea globală a funcțiilor pseudo-booleene, dar este posibilă extinderea optimizării tăieturii graficului la funcțiile pătratice ale variabilelor discrete cu un număr finit de valori în formă

cu Și . Functia reprezintă contribuția unitară a variabilelor unice (adesea denumită termen de date ), în timp ce funcția reprezintă interacțiunea binară între variabile ( termen de netezime ). În general, optimizarea globală a unor astfel de funcții este o problemă NP-hard , iar metodele de optimizare stocastică, cum ar fi recoacerea simulată, sunt sensibile la minimele locale și, în practică, pot genera rezultate arbitraj sub-optime. [13] Prin tăierea graficului este posibil să se construiască algoritmi de mișcare care să permită obținerea în timp polinomial a unui minim local cu proprietăți de optimitate puternice pentru o familie largă de funcții pătratice de interes practic (în cazul interacțiunii binare este metric sau semimetric ), astfel încât valoarea funcției din soluție să se afle într-un factor cunoscut din minimul global. [14]

Având o funcție cu , și o anumită atribuire de valori variabilelor, este posibil să se asocieze fiecare sarcină cu o singură partiție a setului de variabile, astfel încât . Având două atribuții variabile diferite Și și o valoare , o mișcare care se transformă în se spune -expansiune dacă Și . Având în vedere o pereche de valori Și , se spune o mutare -intercambiați dacă . Intuitiv, o mișcare de -expansiune începând de la constă în atribuirea valorii la unele variabile care au o valoare diferită în . O mutare de -swap este de a atribui la unele variabile care în au valoare si invers.

La fiecare iterație, algoritmul -calcule de expansiune, pentru fiecare valoare posibilă , minimul funcției tuturor sarcinilor care poate fi obținut printr-o mișcare de -expansiune pornind de la soluția actuală și o atribuie ca nouă valoare a soluției.

       
    
in timp ce      :
        
    pentru fiecare      :
                          
        dacă           :
                  
                

Algoritmul -swap este similar, dar caută cea mai mică dintre toate sarcinile obținută printr-o mutare de -swap începând de la .

       
    
in timp ce      :
        
    pentru fiecare            :
                           
        dacă           :
                  
                

În ambele cazuri, problema de minimizare conținută în bucla cea mai interioară poate fi rezolvată exact și eficient prin tăierea graficului. Ambii algoritmi se încheie cu siguranță într-un număr finit de iterații, iar în practică numărul iterațiilor este mic și cea mai mare parte a îmbunătățirii soluției are loc la prima iterație. Algoritmii pot produce rezultate diferite în funcție de valoarea inițială atribuită soluției, dar în practică sunt robuste în ceea ce privește inițializarea și pornirea de la o soluție inițială cu toate variabilele atribuite aceleiași valori arbitrare este în general suficientă pentru a obține rezultate bune. [14]

Soluția produsă de acești algoritmi nu este neapărat un punct de optim global, dar are în continuare garanții puternice de optimitate. De sine este o metrică și este o soluție generată de algoritmul -expansiune, sau dacă este un semimetric și este o soluție generată de algoritmul -Swap, atunci se află într-un factor cunoscut și constant al minimului global : [14]

Funcții non submodulare

Pictogramă lupă mgx2.svg Optimizare pseudo-booleană quadratică .

În general, problema minimizării unei funcții pseudo-booleene non-submodulare este NP-hard și nu poate fi întotdeauna rezolvată în timp polinomial cu o simplă tăiere grafică. Cea mai simplă abordare practică este aproximarea funcției obiective cu o funcție similară, dar submodulară, de exemplu prin trunchierea tuturor termenilor non-submodulari sau înlocuirea lor cu expresii similare, dar submodulare. Cu toate acestea, această abordare produce în general rezultate sub-optime, a căror calitate este acceptabilă numai dacă numărul termenilor non-submodulari este relativ mic. [15]

În cazul funcțiilor pătratice non-submodulare, este posibil să se obțină o soluție parțială în timp polinomial folosind algoritmi precum QPBO . [15] Funcțiile de ordin superior pot fi reduse în timp polinomial în formă pătratică care poate fi optimizată prin QPBO. [16]

Funcții de ordin superior

Multe rezultate s-au concentrat pe optimizarea funcțiilor pătratice, care au fost studiate și caracterizate în profunzime, dar au fost dezvoltate și condiții mai generale pentru funcții de ordin superior. În timp ce funcțiile pătratice ne permit să modelăm eficient multe probleme, ele sunt totuși limitate de faptul că pot exprima doar interacțiuni binare între variabile. Abilitatea de a integra interacțiuni de ordin superior într-un model în anumite contexte vă permite să surprindeți mai eficient natura problemei și să oferiți rezultate de calitate superioară. Un exemplu sunt aplicațiile de procesare a imaginii digitale, în care fiecare variabilă reprezintă un pixel sau un voxel al imaginii și interacțiunile de ordin superior pot capta, de exemplu, informații despre textură, care ar fi dificil sau imposibil de încorporat într-un model exprimat printr-o funcție pătratică. [17]

Au fost studiate condiții suficiente analogi submodularității pentru a caracteriza funcțiile pseudo-booleene de ordin superior care pot fi optimizate în timp polinomial [18] și există extensii ale -expansiune e - schimb pentru unele familii de funcții de ordin superior. [17] Problema este totuși NP-hard în cazul general și au fost dezvoltate metode aproximative pentru optimizarea eficientă a funcțiilor care nu îndeplinesc aceste condiții. [18] [19]

Notă

  1. ^ a b c Peng și colab. , pp. 655-666 .
  2. ^ Rother și colab. , pp. 309-314 .
  3. ^ Lombaert și Cheriet , pp. 264-268 .
  4. ^ Deci și colab. , pp. 2450-2467 .
  5. ^ Tang și Chung , pp. 916-924 .
  6. ^ Kim și colab. , pp. 1033-1040 .
  7. ^ Hong și Chen , pp. 74-81 .
  8. ^ a b c d e f Kolmogorov și Zabin , pp. 1645-1656 .
  9. ^ Este necesară adăugarea unui nod auxiliar, deoarece un grafic fără noduri auxiliare poate reprezenta doar interacțiuni binare între variabile.
  10. ^ Goldberg și Tarjan , pp. 921-940 .
  11. ^ Vineet și Narayanan , pp. 1-8 .
  12. ^ Stich .
  13. ^ Algoritmi precum recoacerea simulată au proprietăți teoretice puternice de convergență pentru programarea temperaturii la infinit. Cu toate acestea, o astfel de programare nu este fezabilă în practică.
  14. ^ a b c Boykov și colab. , pp. 1222-1239 .
  15. ^ a b Kolmogorov și Rother , pp. 1274-1279 .
  16. ^ Ishikawa , pp. 1362-1369 .
  17. ^ a b Kohli și colab. (2009) , pp. 1645-1656 .
  18. ^ a b Freedman și Drineas , pp. 939-946 .
  19. ^ Kohli și colab. (2008) , pp. 1-9.

Bibliografie

  • Yuri Boykov, Olga Veksler și Ramin Zabih, Minimizarea rapidă a energiei prin reduceri de grafic , în IEEE Tranzacții privind analiza modelelor și inteligența mașinilor , vol. 23, n. 11, IEEE, 2001, pp. 1222-1239.
  • Daniel Freedman și Petros Drineas, Minimizarea energiei prin tăieturi de grafice: soluționarea a ceea ce este posibil , IEEE Computer Society Conference on Computer Vision and Pattern Recognition , vol. 2, 2005.
  • Andrew V Goldberg și Robert E Tarjan, O nouă abordare a problemei fluxului maxim , în Jurnalul ACM (JACM) , vol. 35, nr. 4, ACM, 1988, pp. 921–940.
  • Hiroshi Ishikawa, Reducerea clicii de ordin superior fără variabile auxiliare , Conferința IEEE privind viziunea computerizată și recunoașterea modelelor , IEEE, 2014.
  • Li Hong și George Chen, potrivire stereo bazată pe segmente folosind tăieturi grafice , Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition , vol. 1, 2004.
  • Pushmeet Kohli, M. Pawan Kumar și Philip HS Torr, P 3 & Beyond: Mutarea algoritmilor pentru rezolvarea funcțiilor de ordine superioară , în IEEE Transactions on Pattern Analysis and Machine Intelligence , vol. 31, n. 9, IEEE, 2009.
  • Junhwan Kim, Vladimir Kolmogorov și Ramin Zabih, Corespondență vizuală utilizând minimizarea energiei și informații reciproce , Proceedings of the IX A International Conference on Computer Vision , 2003.
  • Pushmeet Kohli, Lubor Ladicky și PHS Torr, Grafice pentru reducerea potențialelor robuste de comandă superioară , Raport tehnic, Oxford Brookes University, 2008.
  • 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.
  • Vladimir Kolmogorov și Ramin Zabin, Ce funcții energetice pot fi reduse la minimum prin tăierea graficului? , în tranzacțiile IEEE privind analiza modelelor și inteligența mașinilor , vol. 26, n. 2, IEEE, 2004.
  • Herve Lombaert și Farida Cheriet, Dezactivarea și înregistrarea simultană a imaginilor folosind tăieturi de grafice: Aplicație la imagini medicale corupte , a 11-a Conferință internațională despre știința informației, procesarea semnalului și aplicațiile acestora , 2012.
  • Yi Peng, Li Chen, Fang-Xin Ou-Yang, Wei Chen și Jun-Hai Yong, JF-Cut: o abordare paralelă a graficului pentru imagini și video la scară largă , în IEEE Transactions on Image Processing , vol. 24, n. 2, IEEE, 2015, pp. 655-666.
  • Carsten Rother, Vladimir Kolmogorov și Andrew Blake, Grabcut: Extragere interactivă de prim-plan folosind tăieri grafice iterate , tranzacții ACM pe grafică , vol. 23, 2004.
  • Ronald WK Deci, Tommy WH Tang și Albert CS Chung, Înregistrarea non-rigidă a imaginilor cu rezonanță magnetică a creierului utilizând tăieturi grafice , în Pattern Recognition , vol. 44, nr. 10-11, Elsevier, 2011, pp. 2450–2467.
  • Timo Stich, Graph Cuts with CUDA ( PDF ), GPU Technology Conference , 2009.
  • Tommy WH Tang și Albert CS Chung, Înregistrare de imagini non-rigide folosind grafic-tăieturi , Conferința internațională despre calculul imaginilor medicale și intervenția asistată de computer , 2007.
  • Vibhav Vineet și PJ Narayanan, tăieturi CUDA: tăieri rapide ale graficelor pe GPU , IEEE Computer Society Conference on Computer Vision și Pattern Recognition Workshops , 2008.

linkuri externe

  • Implementarea în C ++ a mai multor algoritmi de optimizare a tăierilor grafice, de Vladimir Kolmogorov.
  • GCO , bibliotecă de optimizare a graficelor de Olga Veksler și Andrew Delong.
Matematica Portalul de matematică : accesați intrările Wikipedia care se ocupă de matematică