Funcția de set submodular - Submodular set function

În matematică, o funcție de set submodular (cunoscută și sub numele de funcție submodulară ) este o funcție de set a cărei valoare, în mod informal, are proprietatea că diferența în valoarea incrementală a funcției pe care un singur element o face atunci când este adăugată la un set de intrare scade ca dimensiunea setului de intrare crește. Funcțiile submodulare au o proprietate de returnare naturală , care le face adecvate pentru multe aplicații, inclusiv algoritmi de aproximare , teoria jocurilor (ca funcții care modelează preferințele utilizatorului) și rețelele electrice . Recent, funcțiile submodulare au găsit, de asemenea, o utilitate imensă în mai multe probleme din lumea reală în învățarea automată și inteligența artificială , inclusiv rezumarea automată , rezumarea multi-document , selecția caracteristicilor , învățarea activă , plasarea senzorilor, rezumarea culegerii de imagini și multe alte domenii.

Definiție

Dacă este un set finit , o funcție submodulară este o funcție de set , unde denotă setul de putere al , care îndeplinește una dintre următoarele condiții echivalente.

  1. Pentru fiecare cu și fiecare avem asta .
  2. Pentru fiecare avem asta .
  3. Pentru fiecare și așa ceva încât avem asta .

O funcție submodulară non-negativă este, de asemenea, o funcție subadditivă , dar o funcție subadditivă nu trebuie să fie submodulară. Dacă nu se presupune finit, atunci condițiile de mai sus nu sunt echivalente. În special, o funcție definită de dacă este finită și dacă este infinită satisface prima condiție de mai sus, dar a doua condiție eșuează când și sunt mulțimi infinite cu intersecție finită.

Tipuri de funcții submodulare

Monoton

O funcție submodulară este monotonă dacă pentru fiecare avem asta . Exemple de funcții submodulare monotone includ:

Funcții liniare (modulare)
Orice funcție a formei se numește funcție liniară. În plus, dacă f este monoton.
Funcții buget-aditive
Orice funcție a formularului pentru fiecare și se numește buget aditiv.
Funcții de acoperire
Fie o colecție de subseturi ale unor seturi de sol . Funcția pentru se numește funcție de acoperire. Acest lucru poate fi generalizat adăugând greutăți non-negative elementelor.
Entropie
Fie un set de variabile aleatorii . Apoi, pentru orice avem, este o funcție submodulară, unde este entropia setului de variabile aleatorii , fapt cunoscut sub numele de inegalitatea lui Shannon . Se știe că există alte inegalități pentru funcția de entropie, vezi vectorul entropic .
Funcții de rang matroid
Fie terenul pe care este definit un matroid. Atunci funcția de rang a matroidului este o funcție submodulară.

Non-monotonă

O funcție submodulară care nu este monotonă se numește non-monotonă .

Simetric

O funcție submodulară non-monotonă se numește simetrică dacă pentru fiecare avem asta . Exemple de funcții submodulare non-monotone simetrice includ:

Tăieturi grafice
Fie vârfurile unui grafic . Pentru orice set de vârfuri, să denotăm numărul de muchii astfel încât și . Acest lucru poate fi generalizat prin adăugarea de greutăți non-negative la margini.
Informații reciproce
Fie un set de variabile aleatorii . Apoi, pentru orice avem, este o funcție submodulară, unde este informația reciprocă.

Asimetric

O funcție submodulară non-monotonă care nu este simetrică se numește asimetrică.

Tăieturi regizate
Fie vârfurile unui grafic direcționat . Pentru orice set de vârfuri, să denotăm numărul de muchii astfel încât și . Acest lucru poate fi generalizat prin adăugarea de greutăți non-negative la marginile îndreptate.

Extensii continue

Prelungirea Lovász

Această extensie poartă numele matematicianului László Lovász . Luați în considerare orice vector astfel încât fiecare . Apoi, extensia Lovász este definită ca unde așteptarea este peste aleasă din distribuția uniformă pe interval . Extensia Lovász este o funcție convexă dacă și numai dacă este o funcție submodulară.

Extensie multiliniară

Luați în considerare orice vector astfel încât fiecare . Apoi , extensia multiliniare este definită ca fiind .

Închidere convexă

Luați în considerare orice vector astfel încât fiecare . Apoi închiderea convexă este definită ca fiind . Închiderea convexă a oricărei funcții setate este convexă . Se poate arăta că pentru funcțiile submodulare.

Închidere concavă

Luați în considerare orice vector astfel încât fiecare . Apoi închiderea concavă este definită ca fiind .

Proprietăți

  1. Clasa funcțiilor submodulare este închisă în combinații liniare non-negative . Luați în considerare orice funcție submodulară și numere non-negative . Atunci funcția definită de este submodulară.
  2. Pentru orice funcție submodulară , funcția definită de este submodulară.
  3. Funcția , unde este un număr real, este submodulară ori de câte ori este submodulară monotonă. Mai general, este submodular, pentru orice funcție concavă care nu scade .
  4. Luați în considerare un proces aleatoriu în care un set este ales cu fiecare element în a fi inclus în mod independent de probabilitate . Apoi următoarea inegalitate este adevărată unde este setul gol. În general, luați în considerare următorul proces aleatoriu în care un set este construit după cum urmează. Pentru fiecare dintre construct prin includerea fiecărui element în mod independent în cu probabilitate . Mai mult decât atât . Atunci următoarea inegalitate este adevărată .

Probleme de optimizare

Funcțiile submodulare au proprietăți care sunt foarte asemănătoare cu funcțiile convexe și concave . Din acest motiv, o problemă de optimizare care se referă la optimizarea unei funcții convexe sau concavă poate fi, de asemenea, descrisă ca problema maximizării sau minimizării unei funcții submodulare supusă unor constrângeri.

Minimizarea funcției setului submodular

Cea mai simplă problemă de minimizare este de a găsi un set care minimizează o funcție submodulară; aceasta este problema necontrolată. Această problemă este calculabilă în timp (puternic) polinomial . Calculul tăieturii minime într-un grafic este un caz special al acestei probleme generale de minimizare. Cu toate acestea, adăugarea chiar și a unei constrângeri simple, cum ar fi o limită inferioară a cardinalității, face ca problema de minimizare să fie dificilă , cu limite polimerice inferioare ale factorului de aproximare.

Maximizarea funcției setului submodular

Spre deosebire de cazul minimizării, maximizarea funcțiilor submodulare este NP-hard chiar și în condiții fără restricții. Algoritmi de teorie și enumerare pentru găsirea maximelor (minime) locale și globale ale funcțiilor submodulare (supermodulare) pot fi găsite în B. Goldengorin. European Journal of Operational Research 198 (1): 102-112, DOI: 10.1016 / j.ejor.2008.08.022. De exemplu, tăierea maximă este un caz special chiar și atunci când funcția este necesară doar pentru a fi negativă. Problema fără restricții poate fi dovedită a fi inaproximabilă dacă se permite să fie negativă. Au existat lucrări ample privind maximizarea funcției submodulare constrânse atunci când funcțiile sunt non-negative. De obicei, algoritmii de aproximare pentru aceste probleme se bazează fie pe algoritmi lacome sau algoritmi de căutare locale . Problema maximizării unei funcții submodulare simetrice non-negative admite un algoritm de aproximare 1/2. Calculul tăieturii maxime a unui grafic este un caz special al acestei probleme. Problema mai generală a maximizării unei funcții submodulare non-negative admite, de asemenea, un algoritm de aproximare 1/2. Problema maximizării unei funcții submodulare monotone supuse unei constrângeri de cardinalitate admite un algoritm de aproximare. Problema de acoperire maximă este un caz special al acestei probleme. Problema mai generală a maximizării unei funcții submodulare monotone supuse unei constrângeri matroid admite, de asemenea, un algoritm de aproximare. Mulți dintre acești algoritmi pot fi uniți într-un cadru semi-diferențial de algoritmi.

Probleme legate de optimizare

În afară de minimizarea și maximizarea submodulară, o altă problemă naturală este Diferența optimizării submodulare. Din păcate, această problemă nu este doar NP dură, ci și inaproximabilă. O problemă de optimizare legată este de a minimiza sau de a maximiza o funcție submodulară, supusă unei constrângeri de nivel submodular (numită și optimizare submodulară supusă unei acoperiri submodulare sau a unei constrângeri a rucsacului submodular). Această problemă admite garanții de aproximare mărginite. O altă problemă de optimizare implică partiționarea datelor pe baza unei funcții submodulare, astfel încât să maximizăm bunăstarea medie. Această problemă se numește problema bunăstării submodulare.

Aplicații

Funcțiile submodulare apar în mod natural în mai multe aplicații din lumea reală, în economie , teoria jocurilor , învățarea automată și viziunea computerizată . Datorită diminuării proprietății de returnare, funcțiile submodulare modelează în mod natural costurile articolelor, deoarece există adesea o reducere mai mare, cu o creștere a articolelor cumpărate. Funcțiile submodulare modelează noțiuni de complexitate, similitudine și cooperare atunci când apar în probleme de minimizare. Pe de altă parte, în problemele de maximizare, ele modelează noțiuni de diversitate, informații și acoperire. Pentru mai multe informații despre aplicațiile submodularității, în special în învățarea automată, a se vedea

Vezi si

Citații

Referințe

linkuri externe