Cunoaște Intuit, curs, potrivire

Metoda de moduri în creștere

Să - grafic. - o potrivire ea. corelările nervurilor va fi numit puternic. cealaltă margine a graficului - slab. Top apel gratuit. în cazul în care nu aparține unei corelări margine. Fig. 12.1 și graficul din stânga arătat alocate în aceasta potrivire coaste. Topuri 4 și 5 - gratuit. Rețineți că această potrivire nu se poate adăuga o singură nervură, adică este maxim. Cu toate acestea, nu este mai mare. Acest lucru este ușor de văzut, dacă luăm în considerare calea (indicată de linia punctată). Ea începe și se termină în vârfurile libere și de-a lungul modul în care o serie de muchii puternice și slabe. În cazul în care, în acest fel, fiecare rândul său, un avantaj puternic în cei slabi, și fiecare slab - în puternic, veți obține o nouă potrivire. indicat în dreapta, în cazul în care pe o margine mai lungă. Creșterea de potrivire folosind transformări de similaritate - și aceasta este esența metodei în creștere moduri.

Formulăm conceptele necesare și dovedesc o teorema care sta la baza acestei metode. Alternând cu privire la această potrivire este numit un mod simplu. în care alternarea muchie puternic și slab (adică pentru marginea grele ar trebui să fie slab, cu cei slabi - tare). Cale alternativă se numește în creștere. în cazul în care conectează două noduri libere. În cazul în care - potrivirea. - creșterea calea este relativă, este ușor de văzut că - și, de asemenea, de potrivire.

Teorema 2. O potrivire este mai mare dacă și numai dacă există o cale relativ la creșterea acesteia.

Dovada. Dacă există un mod în creștere, de a face acest lucru, la fel ca în exemplul de mai sus, care se schimbă modul de-a lungul acestei margini puternice pe cei slabi, și vice-versa, vom obține în mod evident mai mult de potrivire. Pentru a dovedi Reciproca, ia în considerare potrivirea în grafic, și să presupunem că - nu cea mai mare. Ne arată că există o creștere în raport cu calea. Să presupunem - și o altă potrivire. Luați în considerare subgraful de format de nervuri, care sunt incluse într-unul și numai unul dintre corelări. Cu alte cuvinte, setul de marginile graficului este diferența simetrică. În grafic, fiecare nod este incident nu mai mult de două margini (unul și unul), adică El are un grad de nu mai mult de două. In acest grafic, fiecare componentă conectată - cale sau buclă. In fiecare dintre aceste căi și cicluri de alternativă și coaste. Deoarece există o componentă în care marginile conținut înainte de coaste. Acest lucru poate fi numai calea în care ambele margini de capăt aparțin. Este ușor de observat că în ceea ce privește această cale va crește.

Pentru a rezolva problema corelări este de a învăța să găsească modalități de a crește sau asigurați-vă că nu există nici o astfel de cale. Apoi, pornind de la orice potrivire (puteți cu un set gol de margini), putem construi o potrivire cu creșterea numărului de coaste atât de mult timp până când vom obține este, cu privire la care nu-creștere moduri. Acesta va fi cel mai mare. algoritmi eficienți cunoscute care sunt în căutarea de modalități de a crește graficele arbitrare. Considerăm mai întâi un algoritm simplu. rezolvă această problemă pentru graficele bipartite.