Rezumat: Matroids. Rado-Edmonds teorema. potrivire Ponderat.
algoritmi Greedy și matroids
Greedy (gradient) este un algoritm care funcționează pe principiul „câștig maxim la fiecare pas.“ Această strategie nu conduce întotdeauna la succesul final - uneori mai profitabil de a face nu este cel mai bun, s-ar părea, alegerea la pasul următor, în scopul de a obține în cele din urmă soluția optimă. Dar este justificată pentru unele sarcini folosesc algoritmi lacome. Una dintre cele mai cunoscute probleme de acest fel este problema cadrului optim. Există o teorie comună care justifică aplicabilitatea algoritm greedy la problemele de un anumit tip, care includ discutat în „ultima prelegere“ Kruskal algoritm. Acest curs se va da o schiță a teoriei. Apoi, utilizați algoritmul greedy va fi discutat în legătură cu o metodă de creștere moduri de a rezolva problema corelările maxime de greutate într-un grafic bipartit cu noduri ponderate.
Când a apărut întrebarea ce circumstanțele în care algoritmul greedy rezultativen, oricum - ceea ce este special cu privire la sarcinile pentru care oferă soluția exactă, sa constatat că teoria matematică prin care ceva care poate fi clar, există deja . Aceasta este teoria matroids. ale cărei baze au fost puse de către Whitney în 1935 Scopul teoriei matroids a fost de a studia aspectele combinatorii de independență liniară, iar mai târziu a descoperit o varietate de aplicații matroide concepte. originalul nu este mijloacele disponibile.
Definiția. Matroide este o pereche, în cazul în care - finit set de non-gol, - o familie de subseturi de astfel încât:
- (1) în cazul în care și apoi;
- (2) în cazul în care, și există un element astfel încât.
Elementele setului sunt numite elementele unei matroid. și seturile de familie - seturi independente de un matroid. Max pentru a include set independent este numit matroide de bază. Din axioma (2) rezultă că toate acestea sunt baze matroide constau din același număr de elemente.
Când - o pluralitate de rânduri de o matrice și include toate liniar seturi independente de rânduri ale acestei matrice, perechea formează un matroid. numita matrice matroide.
Un alt tip important de matroids sunt grafic matroids. Să - grafic obișnuit. Un subset al setului este numit aciclic. în cazul în care subgraful. coaste formate acest subgrup nu conține cicluri, adică Este o pădure.
Teorema 1. În cazul în care - graficul obișnuit. - familia tuturor subseturi de aciclice, atunci perechea este un matroid.
Dovada. Axioma (1) este îndeplinită, din moment ce fiecare pluralitate aciclic subset, evident, este aciclic. Pretindem că se realizează, și (2). Să - două seturi și aciclic. Să presupunem că nu există nici o astfel de margine, setul este aciclic. Apoi, adăugând oricare din multitudinea de nervuri este format dintr-o pluralitate de cicluri. Aceasta înseamnă că, capetele fiecărei astfel de nervuri aparțin uneia subgrafic componente care acoperă conectată formată dintr-o multitudine de nervuri. Apoi, fiecare zonă de conectivitate subgrafic conținute în orice zonă de conectivitate subgrafic. Dar componentele conectate ale fiecăreia dintre aceste subgrafurilor - copaci, și pe partea de sus a arborelui conține exact margini. Prin urmare, în acest caz, numărul de muchii să nu fie mai mare decât numărul de muchii în, ceea ce contrazice ipoteza.
Grafic baze matroide sunt toate cadrele graficului. Pentru un grafic conectat va fi toți copacii lui Spanning.