jacint@142:    Heurisztikak:
jacint@142: 
jacint@142: gap: ha egy 0<i<n szint kiurul, az [i+1,n-1] szinten levoket felrakjuk az 
jacint@142: 	n szintre, ezzel nem sertve a tavolsagcimke tulajdonsagot
jacint@142: 
jacint@142: highest label: a legnagyobb szintu aktivon pumpalunk (2 phase eseten
jacint@142: 	persze az n alattiak kozul a legnagyobb szintun)
jacint@142: 
jacint@142: bound_decrease: nem highest label. Egy b valtozoval lepegetunk lefele
jacint@142: 	mig 0-hoz erunk, amikor megemeljuk n-ig (vagy k-ig ha
jacint@142: 	az nyilvan volt tartva). Mindig egy b szintu aktivon
jacint@142: 	pumpalunk (ha van ilyen, ha nem: --b). Relabel utan tehat 
jacint@142: 	nem megyunk a csucs utan, ot majd csak b ujboli felemelese utan
jacint@142: 	tudjuk pumpalni. Meglepoen hatekony.
jacint@142: 
jacint@142: highest label + bound_decrease: preflow.h-ban H0*n relabel-enkent a 
jacint@142: 	bound_decrease, mig H1*n relabel-enkent a highest label valtozatot
jacint@142: 	futtatjuk az 1. fazisban (a masodik fazis igen gyors az elsohoz
jacint@142: 	kepest, igy itt sima highest label fut). Ez igen hatekonynak 
jacint@142: 	tunik, ugy latszik, hogy egyesul a ket eljaras elonye. Teszteles
jacint@142: 	alapjan a H0=20, H1=1 valasztas elfogadhatonak tunik.
jacint@142: 
jacint@142: 2 phase: az elso fazisban csak az [1,n-1] szintu aktivokon pumpalunk, 
jacint@142: 	es alkalmazzuk gap-et. Ha alul nincs aktiv, fentrol kifujjuk
jacint@142: 	s-bol a fenti csucsokat a segedgraf egy vissza bfs-evel, es 
jacint@142: 	visszacsurgatunk ugyanugy, mint az elso fazisban. Az elso fazis
jacint@142: 	utan az n. szint alatti csucsok egy min vagast adnak, es t
jacint@142: 	excesse a max folyamertek.
jacint@142: 
jacint@142: level_list: kezzel irunk egy listat minden szintre az ottani csucsokrol.
jacint@142:  	Ha meg egy k valtozoban nyilvantartjuk a legnagyobb nemures 
jacint@142: 	szintet az [1,n] intervallumban, akkor nagyon gyorsan tudunk
jacint@142: 	gap eseten a gap feletti csucsokat az n szintre tenni. Ilyenkor
jacint@142: 	arra sincs szukseg (ami maskor igen hasznos), hogy nyilvantartsuk
jacint@142: 	melyik szinten hany csucs van. 
jacint@142: 
jacint@142: 
jacint@142:     A LEDA flowja
jacint@142: 
jacint@142: max_flow.t tartalmazza a LEDA flowjait, a legutolso fuggveny, 
jacint@142: MAX_FLOW_T a default. Semmi kulonoset nem csinal, 2 fazisu highest label, 
jacint@142: gap eseten bfs-sel szivja fel a csucsokat az n szintre (ez igen rossz 
jacint@142: megoldas suru grafnal). Nyilvan tartja az aktivokat egy valamilyen stackben,
jacint@142: es hogy melyik szinten hany pont van. 5*m lepesenkent (h=5 defaultbol) 
jacint@142: csinal egy bfs-t vagy t-bol (1. fazis) vagy s-bol (2. fazis). Van benne
jacint@142: par rossz megoldas, pl. az elsorol a 2. fazisra valo atteresnel nem kell
jacint@142: egy bfs a t-bol.
jacint@142: 
jacint@142: 
jacint@142: 
jacint@142:     Egy erdekes tapasztalat:
jacint@142: 
jacint@142: Meglepo modon nagyon sokat gyorsitott amikor az stl stack-jet kezzel
jacint@142: megirtam. Ez talan a G.id(NodeIt v) hatekonysaganak koszonheto. 
jacint@142: