ELTE TTK, Oper´ aci´ okutat´ asi Tansz´ ek
Frank Andr´ as ´ OKUTAT ´ ´ OPERACI AS
2013. szeptember 1
1
´ BEVEZETES Az oper´ aci´ okutat´ as (Operations Research) fogalma a II. vil´ agh´ abor´ u sor´ an alakult ki, eredeti jelent´ese hadm˝ uveleti kutat´ as. Alapvet˝ oen olyan nagy rendszerek (hadsereg, nagyv´ allalatok, h´ al´ ozatok) tervez´esi, ir´ any´ıt´ asi, u ¨zemeltet´esi probl´em´ ainak matematikai m´ odszereivel foglalkozik. R´esz´et k´epezi az alkalmas matematikai modellek megtal´ al´ asa illetve kifejleszt´ese, e modellek matematikai vizsg´ alata bele´ertve hat´ekony algoritmusok kidolgoz´ as´ at ´es v´eg¨ ul az algoritmusok implement´ al´ asa, megfelel˝ o informatikai k¨ ornyezetbe ´ agyaz´ asa, ´es az eredeti gyakorlati feladaton t¨ ort´en˝ o alkalmaz´ asa. A jelen munka az ELTE TTK matematikus alapk´epz´esben tartott k´et f´el´eves Oper´ aci´ okutat´ as c. el˝ oad´ as anyag´ anak I. f´el´ev´et ¨ oleli fel. Az el˝ oad´ as elm´eleti ´es alkalmazott matematikus szakir´ any´ u hallgat´ oknak sz´ ol. Legf˝ obb c´elja a matematikai h´ att´er bemutat´ asa valamint azon gyakorlati probl´em´ ak felv´ azol´ asa, amelyek alapvet˝ oen motiv´ alt´ ak a sz´ obanforg´ o matematikai modellek kialakul´ as´ at ´es vizsg´ alat´ at. Mindv´egig azt a kett˝ os c´elt tartottam szem el˝ ott, hogy egyr´eszt szil´ ard alapokat kapjanak azon hallgat´ oknak, akik k´es˝ obb az Oper´ aci´ okutat´ as k¨ ul¨ onf´ele ´ agaival r´eszletekbe men˝ oen k´ıv´ annak majd foglalkozni, m´ asr´eszt kell˝ o t´ aj´ekoztat´ ast kapjanak azon hallgat´ ok is a matematikai alapkult´ ur´ ahoz tartoz´ o legfontosabb oper´ aci´ okutat´ asi eredm´enyekr˝ ol, akik k´es˝ obbi tanulm´ anyaik sor´ an m´ as ir´ anyban szakosodnak majd. A jegyzet n´emileg b˝ ovebb, mint ami egy kurzus sor´ an t´enylegesen bemutat´ asra ker¨ ul, de a c´el az volt, hogy az ´erdekl˝ od˝ o hallgat´ o jobban el tudja helyezni az elhangzottakat, biztosabb alapokhoz ´es sz´elesebb kitekint´eshez jusson. B´ ar form´ alisan bevezet´esre ker¨ ulnek, el˝ ofelt´etelk´ent sz¨ uks´eg van a olyan gr´ afelm´eleti alapfogalmakra, mint u ´t, k¨ or, fa, p´ aros gr´ af, aciklikus digr´ af, Euler gr´ af, p´ aros´ıt´ as, kromatikus sz´ am, tov´ abb´ a az sem bizonyul h´ atr´ anyosnak, ha az olvas´ o tal´ alkozott m´ ar olyan alap eredm´enyekkel, mint Menger ´es K˝ onig t´etelei, vagy olyan algoritmusokkal, mint Kruskal moh´ o algoritmusa ´es a Dijkstra algoritmus. Hasonl´ ok´epp t´ amaszkodunk a line´ aris algebra alapfogalmaira ´es eredm´enyire, mint p´eld´ aul vektort´er, determin´ ans, line´ aris egyenletrendszer megoldhat´ os´ aga, Gauss elimin´ aci´ o. Amire val´ oj´ aban itt sz¨ uks´eg¨ unk van, azt a Line´ aris egyenletrendszerek c. fejezetben ¨ osszefoglaljuk. (Ez a fejezet csak seg´edanyag ´es ´ertelemszer˝ uen nem szerepel a kurzuson.) V´eg¨ ul n´elk¨ ul¨ ozhetetlen valamif´ele el˝ ozetes t´ aj´ekozotts´ ag az algoritmus mibenl´et´er˝ ol illetve a hat´ekonys´ aguk fogalm´ ar´ ol, fut´ asi id˝ or˝ ol. Speci´ alis hangs´ ulyt fektet¨ unk az algoritmusok fogalm´ ara, k¨ ul¨ on¨ os tekintettel a polinomi´ alis fut´ asidej˝ u algoritmusok´era. Ezt a k´et fogalmat csak szeml´eletesen vezetj¨ uk be ´es haszn´ aljuk, hasonl´ ok´eppen az NP ´es NP-teljes probl´ema oszt´ alyok vagy tulajdons´ agok fogalm´ ahoz. A jegyzet nem csup´ an defin´ıci´ ok, t´etelek, algoritmusok ´es bizony´ıt´ asok akkur´ atosan ¨ ossze´ all´ıtott gy˝ ujtem´enye: igyekeztem a motiv´ aci´ okat, keresztkapcsolatokat, a fogalmak h´ atter´et megvil´ ag´ıtani. K´et olyan szakasz is van (az 1.1 ´es a 3.1.1), amely ink´ abb csak ”mesebesz´ed” abban a tekintetben, hogy nem konkr´et matematikai eredm´enyek ismertet´es´et, mint ink´ abb a szeml´elet megalapoz´ as´ at szolg´ alj´ ak. Nemegyszer el˝ ofordul, hogy ugyanarra a t´etelre t¨ obb bizony´ıt´ as is szerepel, nem mintha egyetlen bizony´ıt´ as nem volna kell˝ ok´epp meggy˝ oz˝ o, hanem az´ert, mert gyakran a bizony´ıt´ asi gondolatot legal´ abb olyan fontos, mint a bizony´ıt´ asra ker¨ ul˝ o t´etel maga. Az anyag tartalmilag h´ arom r´eszre oszlik. Az Optimaliz´ al´ as gr´ afokon c´ım˝ u fejezet ´ attekinti a gr´ afokra, h´ al´ ozatokra vonatkoz´ o alapvet˝ o optimaliz´ al´ asi feladatokat, bemutatja az ezeket motiv´ al´ o gyakorlati alkalmaz´ asokat ´es ismerteti a legfontosabb megold´ o algoritmusokat. Ezut´ an ker¨ ulnek ismertet´esre a line´ aris programoz´ as alapfogalmai ´es eredm´enyei, bele´ertve a Farkas lemm´ at ´es a dualit´ as t´etelt. V´eg¨ ul a harmadik r´eszben kider¨ ul, hogy a gr´ afra vonatkoz´ o alapt´etelek (Gallai, Egerv´ ary, Hoffman t´etelei) ´es ezek kiterjeszt´esei mik´ent k¨ ovetkeznek a teljesen unimodul´ aris m´ atrixok egy eleg´ ans tulajdons´ ag´ at haszn´ alva a Farkas lemmab´ ol illetve a Dualit´ as t´etelb˝ ol. N´eha el˝ ofordul, hogy egy k´es˝ obb bizony´ıt´ asra ker¨ ul˝ o t´etelt, ´ all´ıt´ ast kor´ abban feladatk´ent kit˝ uz¨ unk, mert az olvas´ o gyakran jobban j´ ar, ha saj´ at maga megpr´ ob´ alkozik a bizony´ıt´ assal.
2013. augusztus 1. file: linp, uulinbev
2
1. Fejezet
´ AS ´ GRAFOKON ´ OPTIMALIZAL Ebben a fejezetben gr´ afokra vonatkoz´ o optimaliz´ al´ asi probl´em´ akat vizsg´ alunk, bemutatva a megold´ asukra szolg´ al´ o algoritmusokat. Felt´etelezz¨ uk, hogy az olvas´ o m´ ar tal´ alkozott a gr´ afelm´elet olyan alapfogalmaival, mint cs´ ucs, ´el, p´ arhuzamos ´elek, k¨ or, v´ ag´ as, fa, erd˝ o, ir´ any´ıtott ´es ir´ any´ıtatlan gr´ af, stb.
1.1
Algoritmusok hat´ ekonys´ ag´ ar´ ol
Bevezet´esk´epp az algoritmus fogalm´ ar´ ol, algoritmusok hat´ekonys´ ag´ ar´ ol illetve le´ all´ asi felt´etelekr˝ ol adunk r¨ oviden szeml´eletes t´ aj´ekoztat´ ast. Az itt szerepl˝ o t´etelek ´es bizony´ıt´ asok csup´ an a felvet˝ od˝ o fogalmak, gondolatok illusztr´ al´ as´ ara szolg´ alnak. Az algoritmus szeml´eletes fogalma m´ ara m´ ar a k¨ oznyelvbe is besziv´ argott: valamif´ele utas´ıt´ as sorozatot, forgat´ ok¨ onyvet jelent, amely egy inputnak nevezett kiindul´ o helyzetb˝ ol elemi l´ep´esek megadott sorozat´ aval javasol eljut´ ast egy megc´elzott v´eghelyzetbe. Egy szak´ acsk¨ onyv algoritmusok gy˝ ujtem´enye. K´et sz´ am ¨ osszeszorz´ asa ´epp´ ugy algoritmussal t¨ ort´enik, mint mondjuk egy h´ aromsz¨ og megszerkeszt´ese a h´ arom s´ ulyvonal´ ab´ ol. Algoritmust ad meg Karinthy, amikor le´ırja mik´epp lehet eljutni a Cs¨ om¨ ori u ´tt´ ol eg´eszen a Filatori g´ atig. K´erd´es persze, hogy mit is ´ert¨ unk elemi l´ep´esen. Ez rajtunk illetve a szitu´ aci´ on m´ ulik. Amikor r´ antott´ at k´esz´ıt¨ unk, a toj´ as felt¨ or´ese, vagy a hagyma felszeletel´ese tekinthet˝ o elemi m˝ uveletnek. Ha egy hotel s´efjek´ent egy sz´ az f˝ os t´ arsas´ agnak kell gondoskodni a reggelij´er˝ ol, akkor maga a r´ antotta k´esz´ıt´es tekinthet˝ o elemi m˝ uveletnek. Ez az egym´ asba ´ agyaz´ asi szeml´elet jellemz˝ o az algoritmikus gondolkod´ asm´ odra: kor´ abban elk´esz´ıtett egyszer˝ ubb algoritmusokat gyakran haszn´ alunk k´esz seg´edeszk¨ ozk´ent –szubrutink´ent– egy ¨ osszetettebb algoritmus k´esz´ıt´esekor. Egy algoritmust´ ol els˝ osorban azt v´ arjuk, hogy v´eges legyen, de ez val´ oj´ aban m´eg ´edeskev´es, hiszen ha az alapstrukt´ ura v´eges, akkor t¨ obbnyire nem okoz lek¨ uzdhetetlen neh´ezs´eget a v´eges sok lehet˝ os´eget mind sz´ amba venni, legal´ abbis elvben. Ugyanakkor a lehet˝ os´egek sz´ ama tipikusan olyan nagy, hogy m´eg viszonylag kis p´eld´ akon is kil´ at´ astalan a teljes ´ attekint´es ak´ ar a legjobb sz´ am´ıt´ og´epet haszn´ alva. Tekints¨ uk p´eld´ aul azt a feladatot, amelyben egy n pont´ u G = (V, E) gr´ afr´ ol el kell d¨ onten¨ unk, hogy a pontjait meg lehet-e sz´ınezni k sz´ınnel u ´gy, hogy egy sz´ınoszt´ alyon bel¨ ul nem vezet ´el. (Ezt nevezhetj¨ uk j´ o sz´ınez´esnek.) Ha a gr´ afban b´ armely k´et pont szomsz´edos, u ´gy pontosan akkor l´etezik j´ o sz´ınez´es, ha k ≥ n. Ha van k´et nem-szomsz´edos cs´ ucs, akkor a feladatot k´etfel´e v´ aghatjuk, annak megfelel˝ oen, hogy a k´et cs´ ucs azonos sz´ınt kap-e majd vagy k¨ ul¨ onb¨ oz˝ ot. ´ ıt´ All´ as 1.1.1 Amennyiben u ´es v nem-szomsz´edos cs´ ucsok, u ´gy G-nek pontosan akkor l´etezik j´ o sz´ınez´ese, ha a G′ ´es G′′ gr´ afok k¨ oz¨ ul legal´ abb az egyiknek l´etezik, ahol G′ az u ´es v cs´ ucsok ¨ osszeh´ uz´ as´ aval keletkezik G-b˝ ol, m´ıg G′′ az u ´j uv ´el hozz´ aad´ as´ aval. Biz. Ha G-nek l´etezik j´ o sz´ınez´ese, u ´gy az u ´es v sz´ıne vagy megegyezik vagy k¨ ul¨ onb¨ oz˝ o. Az els˝ o esetben G′ ′′ ′ ′′ nek kapjuk egy j´ o sz´ınez´es´et, a m´ asodikban G -nek. Megford´ıtva, mind G -nek, mind G -nek egy j´ o sz´ınez´ese term´eszetesen kiterjeszthet˝ o G j´ o sz´ınez´es´ev´e. • Az ´ all´ıt´ as k¨ ozvetlen¨ ul megad egy rekurz´ıv algoritmust, ami nyilv´ an v´eges. Ugyanakkor az elj´ ar´ as a gyakorlatban haszn´ alhatatlan m´ ar viszonylag kis gr´ afok eset´en is (n ≥ 30), mert minden l´ep´esben megdupl´ azodik a gr´ afok sz´ ama. Ez az algoritmus teh´ at exponenci´ alis l´ep´essz´ am´ u a bemen˝ o gr´ af m´eret´enek f¨ uggv´eny´eben. ´ (Egy gr´ af vagy eg´esz sz´ am m´erete szeml´eletesen a sz´ am´ıt´ og´epes t´ arol´ asukhoz sz¨ uks´eges bitek sz´ ama.) Altal´ anos tapasztalat, hogy exponenci´ alis vagy nagyobb l´ep´essz´ am´ u algoritmusok a gyakorlat sz´ am´ ara gyakran haszn´ alhatatlanok. Ennek h´ atter´ere vil´ ag´ıt r´ a a k¨ ovetkez˝ o¨ osszehasonl´ıt´ o t´ abl´ azatocska. Felt´eve, hogy a sz´ am´ıt´ og´ep¨ unk m´ asodpecenk´ent egymilli´ o elemi utas´ıt´ ast k´epes v´egrehajtani, a fut´ asi id˝ o az input n-nel jel¨ olt m´eret´enek f¨ uggv´eny´eben a k¨ ovetkez˝ ok´epp alakul egy n2 -es, n3 -os, 2n -es ´es egy n! l´ep´essz´ am´ u algoritmus eset´en.
3
L´ep´essz´ am: n2
n3
2n
n!
n = 10
< 1 mp
< 1 mp
< 1 mp
4 mp
n = 30
< 1 mp
< 1 mp
18 p
1025 ´ev
n = 50
< 1 mp
< 1 mp
36 ´ev
rengeteg ´ev rengeteg ´ev
n = 100
< 1 mp
1 mp
1017 ´ev
n = 1000
1 mp
18 p
rengeteg ´ev
rengeteg ´ev
n = 10000
2p
12 nap
rengeteg ´ev
rengeteg ´ev
Akkor tekint¨ unk hat´ekonynak egy algoritmust, ha a l´ep´essz´ ama a bemen˝ o adatok m´eret´enek egy hatv´ any´ aval korl´ atozhat´ o. Az ilyen algoritmust polinomi´ alis fut´ asidej˝ unek nevezik (szemben az exponenci´ alis vagy m´eg nagyobb fut´ asidej˝ u algoritmusokkal). A tov´ abbiakban a l´ep´essz´ am ´es fut´ asid˝ o szavakat egym´ as szinon´ım´ aik´ent haszn´ aljuk. Egy tulajdons´ agr´ ol vagy a tulajdons´ ag megl´et´et firtat´ o probl´em´ ar´ ol azt mondjuk, hogy P-ben van, ha l´etezik polinomi´ alis fut´ asidej˝ u algoritmus a tulajdons´ ag megl´et´enek az ellen˝ orz´es´ere. K¨ ozismert p´eld´ aul, ´es al´ abb l´ atni is fogjuk, hogy egy gr´ af 2-sz´ınezhet˝ os´ege P-ben van.
A f˝ on¨ ok elv avagy a le´ all´ asi szab´ aly Miel˝ ott azonban konkr´et hat´ekony algoritmusok tervez´es´er˝ ol sz´ ot ejten´enk, fontos kihangs´ ulyozni, hogy megfogalmazhat´ o egy k¨ ozbeiktatott k´erd´es, ´espedig az, hogy meg lehet-e adni valamif´ele eszk¨ ozt annak ellen˝ orz´es´ere, hogy az (egyel˝ ore esetleg ismeretlen) algoritmus ´ altal szolg´ altatott v´egeredm´eny vajon helyes-e, an´elk¨ ul, hogy az algoritmust nek¨ unk u ´jra futtatnunk k´ene. Ez a k´erd´es t¨ ok´eletesen f¨ uggetlen mag´ at´ ol az algoritmust´ ol, vagyis att´ ol, hogy a keresett eredm´enyt mik´epp is kaptuk meg. Kis sz´ınes illusztr´ aci´ ok´ent a k´erd´est a k¨ ovetkez˝ o alakban szokt´ ak megfogalmazni. Munkahelyi f˝ on¨ ok¨ unk kiad egy megoldand´ o feladatot, p´eld´ aul egy nagym´eret˝ u Ax = b line´ aris egyenletrendszer egy megold´ as´ at kell meghat´ aroznunk. K´et napon ´ at ´ejjel-nappal dolgozunk a probl´em´ an, ´es v´eg¨ ul megtal´ alunk egy megold´ ast, ˝ term´eszetesen k´ıv´ amit boldogan visz¨ unk a f˝ on¨ oknek. O ancsi arra, hogy a megold´ asunk helyes-e. J´ oszerencse, hogy ehhez egy´ altal´ an nem kell a mi sz´ am´ıt´ asainkat ellen˝ oriznie, hanem egyszer˝ u behelyettes´ıt´essel gyorsan el tudja d¨ onteni a helyess´eget. De mi van akkor, ha a konkr´et rendszernek ´eppens´eggel nincsen megold´ asa? Ekkor abban a k´enyelmetlen helyzetben tal´ aljuk magunkat, hogy hi´ aba dolgoztunk ´ejjel-nappal, azt vagyunk k´enytelenek f˝ on¨ ok¨ unknek jelenteni, hogy nem tal´ altunk megold´ ast. K´erd˝ o arckifejez´es´ere semmi jobbal nem tudunk v´ alaszolni, minthogy el˝ ovessz¨ uk a 25 oldalnyi sz´ am´ıt´ ast ´es elkezdj¨ uk a r´eszleteket magyar´ azgatni, amire a f˝ on¨ ok joggal v´ alaszolja azt, hogy neki nincs ideje k´et napi munka minden r´eszlet´et l´ep´esr˝ ol l´ep´esre ellen˝ oriznie. A k´erd´es teh´ at az, hogy nem l´etezik-e valami olyan bizony´ıt´ek (igazolv´ any, tan´ us´ıtv´ any), amit lehet ugyan, hogy csak hosszadalmas sz´ am´ıtgat´ assal lehetett megkapni, de ha m´ ar egyszer rendelkez´esre ´ all, akkor a f˝ on¨ ok arra r´ apillantva r¨ ogt¨ on meggy˝ ozve ´erezheti mag´ at, hogy a konkr´et egyenletrendszernek val´ oban nincs megold´ asa. M´ as sz´ oval egy k¨ onnyen ellen˝ orizhet˝ o le´ all´ asi szab´ alyt keres¨ unk: v´eg¨ ul is legel˝ osz¨ or saj´ at magunkat kell meggy˝ ozn¨ unk, hogy algoritmusunk helyes v´egeredm´enyt adott. Egyszer˝ u dolgunk van, ha az egyenletrendszerben szerepel p´eld´ aul a 2x + y = 4 valamint a 2x + y = 5 egyenlet, hiszen ezeket egyszerre persze, hogy nem lehet kiel´eg´ıteni. M´eg azt is k¨ onnyen fel tudjuk ismerni, hogy az x + y = 1, x + 2y = 3 ´es 2x + 3y = 100 rendszer nem oldhat´ o meg, hiszen az els˝ o k´et egyenlet ¨ osszege 2x + 3y = 4 ellentmond a harmadik egyenletnek. Sajnos nagyon is j´ ol el lehet k´epzelni, hogy a rendszer megoldhatatlans´ ag´ ara nincs mindig ilyen egyszer˝ u ok, m´ arpedig a c´elunk ´eppen az lenne, hogy az ¨ osszes ilyen okot felt´ arjuk. Mindenesetre ha az A sorainak l´etezik olyan line´ aris kombin´ aci´ oja, amely a sorokat a 0 vektorba viszi, de a jobboldali b vektort egy nem-nulla sz´ amba, azaz ha l´etezik olyan y, amelyre yA = 0, yb 6= 0, akkor eg´esz biztos, hogy az Ax = b nem oldhat´ o meg, mert egy x megold´ asra azt kapn´ ank, hogy 0 = (yA)x = y(Ax) = yb 6= 0. Vagyis, ha egy ilyen y-t visz¨ unk el a f˝ on¨ oknek, akkor behelyettes´ıt´essel r¨ ogt¨ on tudja ellen˝ orizni, hogy yA = 0, yb 6= 0 ´es ´ıgy biztos lehet abban, hogy az Ax = b-nek val´ oban nincs megold´ asa. A f˝ o k´erd´es az, hogy ha a konkr´et Ax = b line´ aris egyenletrendszernek nincs megold´ asa, akkor erre vajon mindig l´etezik-e ilyen ´ y tan´ us´ıtv´ any. Eppens´ eggel elvileg nagyon is elk´epzelhet˝ o, hogy bizonyos rendszerek megoldhatatlans´ ag´ a´ert val´ oban egy ilyen y felel, m´ asok megoldhatatlans´ ag´ a´ert viszont valami m´ as szerkezeti baj. Az ´elet napf´enyes oldal´ ahoz tartozik a line´ aris algebr´ anak az az eleg´ ans t´etele, miszerint a konkr´et esetben nem lehet m´ asf´ele baj, azaz: ´ TETEL 1.1.1 Egy Ax = b line´ aris egyenletrendszer akkor ´es csak akkor NEM oldhat´ o meg, ha l´etezik olyan y, amelyre yA = 0 ´es yb 6= 0.
4
Megjegyezz¨ uk, hogy itt a t´etel csak egy gondolat illusztr´ aci´ oj´ aul szolg´ al. Bizony´ıt´ asa az 2.2.10 t´eteln´el szerepel majd. T´erj¨ unk most vissza a gr´ afsz´ınez´esi probl´em´ ara ´es az el˝ oz˝ oek mint´ aj´ ara vizsg´ aljuk meg, hogy itt l´etezik-e le´ all´ asi szab´ aly, azaz egy olyan eszk¨ oz, amelynek seg´ıts´eg´evel egy rendelkez´es¨ unkre bocs´ atott v´ alasz helyess´eg´et gyorsan ellen˝ orizni tudjuk an´elk¨ ul, hogy a v´ alaszhoz vezet˝ o sz´ am´ıt´ as r´eszleteit ´ at kellene vizsg´ alnunk. Mindenesetre, ha valaki betoppan a gr´ af pontjainak egy k-sz´ınez´es´evel, akkor azt gyorsan (azaz polinom id˝ oben) tudjuk ellen˝ orizni, hogy a sz´ obanforg´ o sz´ınez´es j´ o-e, vagyis azt, hogy minden ´el k´et v´egpontja t´enyleg k¨ ul¨ onb¨ oz˝ o sz´ınt kapott-e. Ha azonban az a v´ alasz, hogy az illet˝ o gr´ af pontjainak nem l´etezik j´ o k-sz´ınez´ese, u ´gy ezt nem tudjuk m´ ask´ent ellen˝ orizni, mint a feladat u ´jra megold´ as´ aval. N´ezz¨ uk a k¨ ovetkez˝ o h´ arom t´etelt. Az els˝ o egy gr´ af 2-sz´ınezhet˝ os´eg´ere, a m´ asodik a 3-sz´ınezhet˝ os´egre, v´eg¨ ul a harmadik az ´ altal´ anos k-sz´ınezhet˝ os´egre ad sz¨ uks´eges ´es elegend˝ o felt´etelt. ´ TETEL 1.1.2 Egy G = (V, E) gr´ af pontjainak akkor ´es csak akkor l´etezik j´ o 2-sz´ınez´ese, ha a gr´ afban nincs p´ aratlan ´elsz´ am´ u (r¨ oviden p´ aratlan) k¨ or. Biz. Ha egy k¨ or pontjainak l´etezik j´ o piros-k´ek sz´ınez´ese, akkor az egyik piros pontj´ at´ ol k¨ orbe menve a pontok sz´ınei v´ altakozva piros-k´ek sz´ın˝ uek, teh´ at a k¨ or ¨ osszesen p´ aros sok pontb´ ol ´ all, vagyis egy p´ aratlan k¨ ort nem lehet 2 sz´ınnel j´ ol sz´ınezni. Emiatt egy p´ aratlan k¨ ort tartalmaz´ o gr´ afot sem lehet, teh´ at a felt´etel sz¨ uks´eges. Az elegend˝ os´eg igazol´ as´ ahoz feltehet˝ o, hogy a gr´ af ¨ osszef¨ ugg˝ o, mert k¨ ul¨ onben a bizony´ıt´ ast k¨ ul¨ on v´egezhetj¨ uk az ¨ osszef¨ ugg˝ o komponensekre. Tekints¨ uk a gr´ afnak egy tetsz˝ oleges F fesz´ıt˝ o f´ aj´ at, ´es n´ezz¨ uk ennek egy kiv´ alasztott s pontj´ at´ ol a gr´ af pontjainak fabeli t´ avols´ ag´ at. Sz´ınezz¨ uk meg a pontokat k´et sz´ınnel aszerint, hogy ez a t´ avols´ ag p´ aros vagy p´ aratlan. Ha minden ´el k´et v´egpontja k¨ ul¨ onb¨ oz˝ o sz´ın˝ u, akkor megkaptuk a j´ o 2-sz´ınez´est. Ha mondjuk az uv ´el k´et v´egpontja egysz´ın˝ u, akkor az u-b´ ol illetve a v-b˝ ol a f´ aban s-be vezet˝ o P1 [u, s] illetve P2 [v, s] u ´tnak l´etezik egy egy´ertelm˝ u els˝ o k¨ oz¨ os pontja. Ezt z-vel jel¨ olve, a P1 [u, z] ´es a P2 [v, z] r´eszutak ´elsz´ ama azonos parit´ as´ u, teh´ at az ´ altaluk ´es az uv ´el ´ altal alkotott k¨ or p´ aratlan elemsz´ am´ u. • ´ TETEL 1.1.3 Egy G = (V, E) gr´ af pontjainak akkor ´es csak akkor l´etezik j´ o 3-sz´ınez´ese, ha az ´eleinek van olyan aciklikus ir´ any´ıt´ asa, amelyben minden egyir´ any´ uu ´t hossza (= ´elsz´ ama) legfeljebb 2. [Az aciklikus digr´ af defin´ıci´ oj´ at l´ asd al´ abb az 1.2 szakasz elej´en. Egy G ir´ any´ıtatlan gr´ af ir´ any´ıt´ as´ an azt ´ertj¨ uk, hogy G minden uv ´el´et az uv vagy a vu ir´ any´ıtott ´elek valamelyik´evel helyettes´ıtj¨ uk.] Biz. Ha a gr´ af pontjainak {V1 , V2 , V3 } egy j´ o 3-sz´ınez´ese, azaz minden ´el k¨ ul¨ onb¨ oz˝ o Vi oszt´ alyok k¨ oz¨ ott vezet, akkor az ¨ osszes ´elt ir´ any´ıtsuk az alacsonyabb index˝ u oszt´ aly v´egpontj´ at´ ol a magasabb index˝ u fel´e. Ily m´ odon egy olyan aciklikus ir´ any´ıt´ ast kapunk, amelyben nincsen 2-n´el hosszabb egyir´ any´ uu ´t. Megford´ıtva, tekints¨ uk a gr´ afnak egy aciklikus ir´ any´ıt´ as´ at, amelyben nincsen 2-n´el hosszabb u ´t. Jel¨ olje V1 azon pontok halmaz´ at, melyekb˝ ol nem l´ep ki ´el, V2 azok´et, melyekb˝ ol nem l´ep ki ´el V − V1 -be, ´es v´eg¨ u l V3 azok´et, melyekb˝ ol nem l´ep ki ´el V − (V1 ∪ V2 )-be. A konstrukci´ o miatt semelyik ´el k´et v´egpontja sem lehet ugyanabban a Vi -ben. Azt kell csak kimutatnunk, hogy minden cs´ ucs benne van a Vi -k valamelyik´eben. A konstrukci´ ob´ ol ad´ odik, hogy minden V2 -beli cs´ ucsb´ ol l´ep ki ´el V1 -be ´es minden V3 -beli cs´ ucsb´ ol l´ep ki ´el V2 -be, ´es ´ıgy minden V3 -beli pontb´ ol indul ki 2-´el˝ uu ´t. M´ arpedig ha indirekt egy s pont semelyik Vi -ben sincs benne, akkor l´ep ki bel˝ ole ´el valamely v ∈ V3 -ba, de akkor az sv ´elt a v-b˝ ol indul´ o 2-´el˝ uu ´ttal kieg´esz´ıtve m´ ar h´ arom ´el˝ u utat kapn´ ank, ellentmond´ asban a t´etel feltev´es´evel. • ´ TETEL 1.1.4 Egy G = (V, E) gr´ af pontjainak akkor ´es csak l´etezik j´ o k-sz´ınez´ese, ha l´etezik egy olyan ϕ : V → {1, 2, . . . , k} lek´epez´es, hogy minden uv ∈ E ´elre ϕ(u) 6= ϕ(v). • Ugyan mindh´ arom t´etel sz¨ uks´eges ´es elegend˝ o felt´etelt ad, azonban e t´etelek inform´ aci´ o tartalma nagyon is k¨ ul¨ onb¨ oz˝ o. Az 1.1.4 t´etel semmi m´ as, mint egy (fontoskod´ o) ´ atfogalmaz´ asa az eredeti defin´ıci´ onak, ´es ´ıgy teljesen ´ert´ektelen. Az 1.1.2 ´es 1.1.3 t´etelek m´ ar nem semmitmond´ oak ´es bizony´ıt´ asuk is nagyj´ ab´ ol egyforma neh´ezs´eg˝ u, de m´eg ez a k´et t´etel is jelleg´eben alapvet˝ oen elt´er egym´ ast´ ol. Az 1.1.2 t´etel megadta azt a k¨ onnyen ellen˝ orizhet˝ o tan´ us´ıtv´ anyt (a p´ aratlan k¨ ort), amely igazolja egy konkr´et gr´ af 2-sz´ınezhet˝ os´eg´enek lehetetlens´eg´et. Az 1.1.3 t´etel ilyesmivel nem szolg´ alt: nem l´ atszik, hogy mit˝ ol volna egyszer˝ ubb (mint ahogy nem is az) a h´ arom´el˝ u utat nem tartalmaz´ o aciklikus ir´ any´ıthat´ os´ agot ellen˝ orizni, mint a j´ o 3-sz´ınez´es megl´et´et. Teh´ at az 1.1.3 t´etel nem tekinthet˝ o m´ asnak, mint a 3-sz´ınezhet˝ os´eg egy ekvivalens ´ atfogalmaz´ as´ anak, m´ıg az 1.1.2 t´etel a 2sz´ınezhet˝ os´eg j´ o karakteriz´ aci´ oja”. Kicsit m´eg jobban megvil´ ag´ıtja a helyzetet, ha az 1.1.2 t´etelt kiford´ıtva” ” ” fogalmazzuk meg: Egy gr´ af akkor ´es csak akkor NEM sz´ınezhet˝ o kett˝ o sz´ınnel, ha tartalmaz p´ aratlan k¨ ort. Ez az´ert j´ o karakteriz´ aci´ o, mert nemcsak egy konkr´et 2-sz´ınez´es helyess´ege ellen˝ orizhet˝ o gyorsan, hanem egy k¨ orr˝ ol is r¨ ogt¨ on ellen˝ orizhet˝ o, hogy val´ oban a gr´ afban van-e ´es hogy t´enyleg p´ aratlan sok ´ele van. Azt mondjuk, hogy egy tulajdons´ ag NP-ben van (nem-determinisztikusan polinomi´ alis), ha a tulajdons´ ag ´ megl´et´ere l´etezik polinom id˝ oben ellen˝ orizhet˝ o bizony´ıt´ek. (FIGYELEM, FIGYELEM, VESZELY: az NP r¨ ovid´ıt´es NEM a polinom id˝ oben val´ o megoldhat´ os´ ag tagad´ as´ at jelzi!) Azt mondjuk, hogy egy tulajdons´ ag
5
co-NP-ben van, ha a tulajdons´ ag hi´ any´ ara l´etezik polinom id˝ oben ellen˝ orizhet˝ o bizony´ıt´ek. A k-sz´ınezhet˝ os´eg NP-ben van (egy megadott sz´ınez´esr˝ ol polinom id˝ oben k¨ onny˝ u eld¨ onteni, hogy j´ o-e). Az 1.1.2 t´etel szerint a 2-sz´ınezhet˝ os´eg co-NP-ben is van, ugyanakkor a 3-sz´ınezhet˝ os´egr˝ ol ezt nem tudni (´es ´eppens´eggel az az ´ altal´ anos v´eleked´es, hogy nincsen). Egy m´ asik k¨ ozismert tulajdons´ ag, a gr´ afok s´ıkbarajzolhat´ os´ aga szint´en NP-ben van (egy konkr´et s´ıkbarajzol´ as helyess´ege k¨ onnyen ellen˝ orizhet˝ o) ´es Kuratowski t´etele nyom´ an coNP-ben is van. Kuratowski t´etele ugyanis azt mondja ki, hogy egy gr´ af pontosan akkor NEM s´ıkbarajzolhat´ o, ha tartalmaz felosztott K5 -t (¨ otpont´ u teljes gr´ af) vagy K3,3 -t (3-h´ az 3-k´ ut gr´ af). E gr´ afokr´ ol ugyanis az Euler formula seg´ıts´eg´evel egyszer˝ u dolog kimutatni, hogy nem s´ıkbarajzolhat´ ok, ´es ez´ert ilyen r´eszgr´ afok jelenl´ete val´ oban gyorsan ellen˝ orizhet˝ o igazolv´ anyt jelentenek a gr´ af s´ıkbarajzol´ as´ anak lehetetlens´eg´ere. (J´ aratosabb vagy k¨ ul¨ on¨ osen ´eles szem˝ u olvas´ oink kedv´e´ert megjegyezz¨ uk, hogy a s´ıkbarajzolhat´ os´ agra csak az jelentene val´ oban gyorsan ellen˝ orizhet˝ o bizony´ıt´ekot, ha a gr´ af cs´ ucsai nem t´ ul nagy, eg´esz´ert´ek˝ u koordin´ at´ aj´ u pontokba ker¨ ulnek. Nem trivi´ alis t´etel biztos´ıtja ennek lehet˝ os´eg´et.) Vannak olyan tulajdons´ agok is, amelyekr˝ ol r´ an´ez´esre sem az nem vil´ agos, hogy NP-ben vannak, sem az, hogy co-NP-ben. P´eld´ aul, egy gr´ afot perfektnek neveznek, ha minden fesz´ıtett r´eszgr´ afj´ anak a kromatikus sz´ ama egyenl˝ o a r´eszgr´ afban l´ev˝ o maxim´ alis teljes r´eszgr´ af (:klikk) pontsz´ am´ aval. Lov´ asz kimutatta, hogy a perfekts´eg co-NP-ben van ´es nemr´egiben az NP-belis´eg´et is igazolt´ ak. (E paragrafus a vesztes´eg ´erz´ese n´elk¨ ul kihagyhat´ o, ha valaki nem hallott m´eg perfekt gr´ afokr´ ol.) Figyelj¨ uk meg, hogy a P -beli tulajdons´ agok (probl´em´ ak) automatikusan NP∩co-NP-ben vannak, hiszen egy polinomi´ alis algoritmus teljes fut´ asa ´es ´ıgy a szolg´ altatott v´egeredm´eny helyess´ege is polinom id˝ oben ellen˝ orizhet˝ o. Az 1.1.2 t´etel fenti bizony´ıt´ asa k¨ onnyen ´ atalak´ıthat´ o algoritmuss´ a, amely polinomi´ alis fut´ asid˝ oben vagy megtal´ alja a keresett 2-sz´ınez´est vagy pedig a 2-sz´ınez´es lehetetlens´eg´et igazol´ o p´ aratlan k¨ ort. Nem ismeretes polinomi´ alis algoritmus egy gr´ af 3-sz´ınezhet˝ os´eg´enek eld¨ ont´es´ere. R´ aad´ asul er˝ os jelek utalnak arra, hogy ilyen algoritmus nem is l´etezhet. Kimutatt´ ak ugyanis, hogy a 3-sz´ınezhet˝ os´eg probl´em´ aja NP-teljes abban az ´ertelemben, hogy ha erre l´etezik polinomi´ alis algoritmus, akkor valamennyi NP-beli probl´ema megold´ as´ ara is l´etezik. M´ arpedig tengernyi egy´eb NP-teljes feladat van, amelyek egyik´ere sem ismert polinomi´ alis algoritmus. N´eh´ any NP-teljes tulajdons´ ag: a gr´ afban van Hamilton k¨ or, a gr´ af ´elei k ponttal lefoghat´ ok, a gr´ af ´elei 3 sz´ınnel megsz´ınezhet˝ ok, a gr´ afban l´etezik legal´ abb k ´el˝ u v´ ag´ as. Fontos megjegyezni, hogy a fentebb bevezetett polinomialit´ as fogalma a hat´ekonys´ ag egy lehets´eges elm´eleti megragad´ asa. (Egy m´ asik lehet˝ os´eg p´eld´ aul a legrosszabb eset l´ep´essz´ am´ anak becsl´ese helyett az ´ atlagos l´ep´essz´ amot n´ezni). Tapasztalatok szerint ez legt¨ obbsz¨ or egybeesik az algoritmus gyakorlati hat´ekonys´ ag´ aval, b´ ar nem mindig. V´eg¨ ul megjegyezz¨ uk, hogy a fenti meggondol´ asok ebben a form´ aban csup´ an a szeml´eletet orient´ al´ o eszmefuttat´ asnak tekinthet˝ ok, hiszen val´ oj´ aban m´eg azt sem vezett¨ uk be, hogy mit is ´ert¨ unk algoritmuson. A Turing g´ep (amely nem egy fizikailag l´etez˝ o g´ep”, hanem egy matematikai defin´ıci´ o) seg´ıts´eg´evel mindez ” a Bonyolults´ agelm´elet c. t´ argy keret´eben ker¨ ul fel´ep´ıt´esre. A helyzet szerkezetileg n´emileg ahhoz hasonl´ o, mint amikor egy f¨ uggv´eny folytonoss´ ag´ ar´ ol besz´el¨ unk. Egyr´eszt ´el benn¨ unk egy szeml´eletes k´ep, amely szerint egy f¨ uggv´eny akkor folytonos, ha ”a ceruza felemel´ese n´elk¨ ul” le lehet rajzolni. Ez felel meg az algoritmus fogalm´ ar´ ol ´el˝ o szeml´eletes k´ep¨ unkek. M´ asr´eszt van a folytonoss´ ag form´ alis defin´ıci´ oja, amely a szeml´eletes folytonoss´ ag k´epet akarja megragadni. Ezzel ´ all p´ arhuzamban a Turing g´ep, amely az algoritmus intuit´ıv fogalm´ at igyekszik formaliz´ alni.
1.2
Gr´ afok bej´ ar´ asa: el´ erhet˝ os´ eg
Legyen D = (V, A) ir´ any´ıtott gr´ af (r¨ oviden digr´ af). S´ et´ an egy olyan W = (v0 , e1 , v1 , e2 , . . . , ek , vk ) sorozatot ´ert¨ unk, amelyben felv´ altva k¨ ovetkeznek pontok ´es ´elek u ´gy, hogy mindegyik ei ´el a vi−1 pontb´ ol vezet a vi pontba. Az egyetlen v0 tagb´ ol ´ all´ o W = (v0 ) sorozatot is s´et´ anak tekintj¨ uk. A s´eta z´ art, ha k > 0 ´es v0 = vk . A szerepl˝ o ´elek sz´ ama a s´eta hossza. Azt mondjuk, hogy v0 a s´eta kezd˝ opontja, m´ıg vk a s´eta v´egpontja. Azt mondjuk, hogy D-ben vk el´ erhet˝ o v0 -b´ ol, ha l´etezik v0 kezd˝ opont´ u ´es vk v´egpont´ u s´eta. Amennyiben a s´et´ aban nincs ism´etl˝ od´es, egyir´ any´ u vagy ir´ any´ıtott u ´tr´ ol, r¨ oviden, u ´tr´ ol besz´el¨ unk. Egy s-b˝ ol t-be vezet˝ o utat st-´ utnak fogunk h´ıvni. Az egyir´ any´ u vagy ir´ any´ıtott k¨ or olyan legal´ abb egy ´el˝ u z´ art s´eta, amelyben a v0 = vk egybees´est˝ ol eltekintve a cs´ ucsok mind k¨ ul¨ onb¨ oz˝ oek. Ezek szerint, ha e1 egy v0 pontban u ¨l˝ o hurok ´el, akkor (v0 , e1 , v0 ) egy egy´el˝ u k¨ or. Amennyiben a W s´eta egy K = (vi , ei+1 , vi+1 , . . . , ej , vj ) r´esz-s´et´ aja egy k¨ or (ahol 0 ≤ i < j ≤ k), u ´gy azt mondjuk, hogy a s´eta tartalmazza vagy induk´ alja a K k¨ ort. (Figyelj¨ uk meg, hogy egy s´eta ´elei ´ altal meghat´ arozott r´eszgr´ af nem minden egyir´ any´ u k¨ ore a s´eta induk´ alt k¨ or.) Az egyir´ any´ u k¨ or fenti defin´ıci´ oj´ anak kis h´ atr´ anya, hogy kit¨ untet egy kezd˝ opontot ´es megad egy k¨ orbej´ ar´ asi ir´ anyt is. Egy alternat´ıv megk¨ ozel´ıt´es, ha az egyir´ any´ u k¨ ort egy olyan digr´ afnak tekintj¨ uk, amely ir´ any´ıtatlan ´ertelemben ¨ osszef¨ ugg˝ o, minden pontj´ aba egy ´el l´ep be ´es egy ´el l´ep ki. Egy digr´ afot aciklikusnak mondunk, ha nincsen benne egyir´ any´ u k¨ or. Egy ir´ any´ıtatlan k¨ or olyan ir´ any´ıtatlan gr´ af, amely ¨ osszef¨ ugg˝ o ´es minden pontj´ anak a befoka 2. Egy ir´ any´ıtott gr´ af egy r´eszgr´ afj´ at k¨ ornek nevezz¨ uk, ha ir´ any´ıtatlan ´ertelemben k¨ or. Minden legal´ abb h´ arom pont´ u k¨ ornek k´etf´ele k¨ orbej´ ar´ asa lehets´eges. A tov´ abbiakban ler¨ ogz´ıtj¨ uk az egyiket
6
´es az ´ oramutat´ o szerinti k¨ orbej´ ar´ asnak nevezz¨ uk. A k¨ or azon ´eleit, melyek ebbe az ir´ anyba mutatnak el˝ ore ´ eleknek, a ford´ıtott ir´ anyba mutat´ okat pedig h´ atra ´ eleknek nevezz¨ uk. Meg´ allapodunk abban, hogy egyir´ any´ u k¨ or eset´en az ´ oramutat´ o szerinti k¨ orbej´ ar´ ast aszerint r¨ ogz´ıtj¨ uk le, hogy minden ´el el˝ ore ´el legyen. ´ ıt´ All´ as 1.2.1 Ha l´etezik s-b˝ ol t-be s´eta, akkor l´etezik u ´t is. Biz. Ha a W = (s = v0 , e1 , . . . , ek , vk = t) st-s´eta maga nem u ´t, akkor l´etezik W ´ altal induk´ alt K = (vi , ei+1 , vi+1 , . . . , ej , vj ) egyir´ any´ u k¨ or. A K k¨ or ´eleit kihagyva W -b˝ ol a (v0 , . . . , vi , ej+1 , . . . , vk ) s´et´ at kapjuk. Ezt a redukci´ os l´ep´est mindaddig ism´etelhetj¨ uk, amig az aktu´ alis st-s´eta induk´ al k¨ ort. A v´egs˝ o s´eta nem induk´ al k¨ ort, azaz st-´ ut. Miut´ an minden redukci´ on´ al cs¨ okken a s´eta ´elsz´ ama, legfeljebb k k¨ orkihagy´ as ut´ an megkapjuk a keresett st-utat. • Azt mondjuk, hogy az ´ all´ıt´ as bizony´ıt´ as´ aban kapott P st-´ ut a W s´eta egyszer˝ us´ıt´ es´ evel ´ all el˝ o. (Figyelem: egyszer˝ us´ıt´esn´el a sz´ obanforg´ o K k¨ or ´eleit nem a digr´ afb´ ol hagyjuk el, hanem csak a s´et´ at defini´ al´ o sorozatb´ ol v´ agjuk ki. K´enyelmesen el˝ ofordulhat ugyanis, hogy a K k¨ or egy ´el´et a s´eta k´es˝ obb m´eg haszn´ alni fogja, teh´ at a gr´ afb´ ol nem szabad kihagyni.) Gyakorlat 1.1 Mutassuk meg, hogy egy s´eta egyszer˝ us´ıt´es´evel kapott u ´t f¨ ugghet a redukci´ oban haszn´ alt k¨ or¨ ok v´ alaszt´ as´ at´ ol. Egy olyan ir´ any´ıtott F = (S, E) f´ at, amelynek minden pontja el´erhet˝ o egyir´ any´ u u ´ton s-b˝ ol s-feny˝ onek nevez¨ unk. Azt mondjuk, hogy F fesz´ıti S-t. Ha a feny˝ o r´eszgr´ afja D-nek ´es az eg´esz V halmazt tartalmazza, fesz´ıt˝ o s-feny˝ or˝ ol besz´el¨ unk. Fenyvesnek h´ıvunk egy olyan ir´ any´ıtott erd˝ ot, melynek komponensei feny˝ ok. Gyakorlat 1.2 Egy ir´ any´ıtott fa akkor ´es csak akkor s-feny˝ o, ha az s ∈ S pont befoka nulla a t¨ obbi pont´e pedig egy. Gyakorlat 1.3 Egy s-et tartalmaz´ o digr´ af akkor ´es csak akkor s-feny˝ o, ha az s pontb´ ol kiindulva el˝ o lehet u ´gy ´ all´ıtani ir´ any´ıtott ´elek egyenk´enti hozz´ av´etel´evel, hogy az aktu´ alisan hozz´ aadott ´el hegye u ´j pont, m´ıg a t¨ ove m´ ar megl´ev˝ o. K´erd´es, hogy mik´ent lehet hat´ekonyan eld¨ onteni, hogy egy D digr´ afban l´etezik-e st-´ ut? Ez val´ oj´ aban k´et k´erd´est is jelent. Egyr´eszt konstru´ alnunk kell egy st-utat, ha ilyen egy´ altal´ an l´etezik. Ha viszont nem l´etezik st-´ ut, u ´gy ennek egy k¨ onnyen ellen˝ orizhet˝ o tan´ us´ıtv´ any´ at kell bemutatnunk. A tr¨ ukk abb´ ol ´ all, hogy nem csup´ an a t cs´ ucs s-b˝ ol val´ o el´erhet˝ os´eg´et vizsg´ aljuk, hanem egyszerre valamennyi cs´ ucs´et. ´ TETEL 1.2.1 Jel¨ olje S a D = (V, A) digr´ afban azon cs´ ucsok halmaz´ at, amelyek az s cs´ ucs´ ab´ ol el´erhet˝ ok. Ekkor S minden val´ odi, s-et tartalmaz´ o S ′ r´eszhalmaz´ ab´ ol vezet ki ´el, de S-b˝ ol nem. Tov´ abb´ a l´etezik S-t fesz´ıt˝ o s-feny˝ o. Biz. Ha indirekt egy uv ´el kil´epne S-b˝ ol, akkor v pont is el´erhet˝ o volna, hiszen u ∈ S defin´ıci´ o szerint az, vagyis l´etezik P u ´t s-b˝ ol u-ba, amihez az uv ´elt hozz´ av´eve egy sv-utat kapn´ ank, ellentmond´ asban azzal, hogy v nem el´erhet˝ o. Ha az S ′ -b˝ ol nem l´epne ki ´el, akkor semelyik S ′ -n k´ıv¨ uli pont nem volna el´erhet˝ o s-b˝ ol, ellentmond´ asban S defin´ıci´ oj´ aval. ´ ıtjuk, hogy ennek S ′ cs´ Legyen F egy nem b˝ ov´ıthet˝ o s-feny˝ o. All´ ucshalmaza ´eppen S. Mivel F minden pontja el´erhet˝ o s-b˝ ol, ´ıgy S ′ ⊆ S. Ha indirekt S ′ ⊂ S ´ allna, u ´gy az els˝ o r´esz szerint l´ep ki egy uv ´el S ′ -b˝ ol. De ezt F -hez v´eve egy nagyobb feny˝ ot kapn´ ank, ellentmond´ asban F maxim´ alis v´ alaszt´ as´ aval. • Hogyan lehet algoritmikusan megkonstru´ alni a sz´ obanforg´ o S halmazt ´es F feny˝ ot? Az al´ abbi c´ımk´ez´esi technika seg´ıt. A digr´ af minden v pontj´ ahoz tartozz´ek egy R-c´ımke (Reach = el´er), amely azt mutatja, hogy az algoritmus fut´ as´ anak egy adott pillanat´ aban v-t m´ ar el´ert¨ uk s-b˝ ol egy u ´t ment´en vagy sem. Amennyiben ´ ´ nem, akkor az R-c´ımke tartalma NEM ELERT. Ha v-t m´ ar el´ert¨ uk, akkor R-c´ımk´ej´enek tartalma ELERT valamint azon u ´tnak a legutols´ o uv ´ele, amelyen el´ert¨ uk v-t. Az egyetlen kiv´etel maga az s pont, amelynek ´ R-c´ımk´eje mindig ELERT. Ezen k´ıv¨ ul minden pontban fenntartunk egy S-c´ımk´et (Scan = letapogat, ´ atvizsg´ al), amely azt jelzi, hogy az adott pillanatban a v pontb´ ol vajon m´ ar az ¨ osszes tov´ abbl´ep´esi lehet˝ os´eget ´ atvizsg´ altuk-e (azaz valamennyi ´ ´ vu ∈ A ´elre az u cs´ ucs m´ ar el´ert-e), amikoris az S-c´ımke tartalma ATVIZSG ALT, vagy pedig m´eg van ´ at nem ´ ´ vizsg´ alt vx ´el. Kezdetben minden S-c´ımke tartalma NEM ATVIZSG ALT. Az algoritmus ´ altal´ anos l´ep´es´eben kiv´ alasztunk egy m´ ar el´ert, de m´eg ´ at nem vizsg´ alt u pontot (ami indul´ askor persze csak az s pont lehet) ´es eld¨ ontj¨ uk, hogy van-e olyan uv ´ele a digr´ afnak, hogy v m´eg nem ´ ´ el´ert. Amennyiben nincs, akkor az u pontot ATVIZSG ALT-nak deklar´ aljuk ´es az elj´ ar´ ast iter´ aljuk. Ha viszont ´ tal´ alunk ilyen v pontot, akkor v-t ELERT-nek nyilv´ an´ıtjuk, az R-c´ımk´ej´ebe betessz¨ uk az uv ´elt, ´es ism´et az elj´ ar´ ast iter´ aljuk. Az algoritmus akkor ´er v´eget, amikor m´ ar minden el´ert pont ´ atvizsg´ alt lesz.
7
´ Egyszer˝ u feladat annak igazol´ asa, hogy az algoritmus lefut´ asa ut´ an az ELERT pontok S halmaz´ ab´ ol nem vezet kifel´e ´el, tov´ abb´ a, hogy az el´ert pontok R-c´ımk´ej´ebe ´ırt ´elek egy s gy¨ oker˝ u feny˝ ot alkotnak, melynek ponthalmaza S. Az elj´ ar´ as az S meghat´ aroz´ asa ut´ an folytathat´ o egy tetsz˝ oleges S-ben nem szerepl˝ o s2 pont gy¨ ok´ernek val´ o kijel¨ ol´es´evel. V´eg¨ ul egy fenyvest kapunk, melynek gy¨ okerei s1 := s, s2 , . . ., ´es amely az ¨ osszes pontot tartalmazza. Az elj´ ar´ asr´ ol annyit ´erdemes m´eg tudni, hogy megfelel˝ o adatstrukt´ ura alkalmaz´ as´ aval a fut´ asi id˝ o line´ aris, azaz az ´elek sz´ am´ aval ar´ anyos. Tov´ abbi megjegyz´es, hogy az elj´ ar´ as ir´ any´ıtatlan gr´ afokra is alkalmazhat´ o. Feladat 1.4 Egy p´ aros gr´ af ´elei pirossal ´es k´ekkel vannak sz´ınezve. Fejlessz¨ unk ki algoritmust annak meghat´ aroz´ as´ ara, hogy a gr´ af k´et megadott pontja k¨ oz¨ ott l´etezik-e altern´ al´ o piros-k´ek u ´t.
1.2.1
Sz´ eless´ egi keres´ es
Az algoritmus futtat´ asa sor´ an szabads´ agunk van az aktu´ alis m´ ar el´ert, de m´eg ´ at nem vizsg´ alt pont kiv´ alaszt´ as´ aban. Egy lehets´eges strat´egia azt a m´eg nem ´ atvizsg´ alt pontot v´ alasztani, amelyiket leghamarabb ´ert¨ uk el. Ebben az esetben sz´ eless´ egi keres´ esr˝ ol besz´el¨ unk (breadth first search: BFS). A BFS p´eld´ aul alkalmas arra, hogy seg´ıts´eg´evel a pontok s-t˝ ol val´ o t´ avols´ ag´ at egyszer˝ uen meghat´ arozzuk. Csup´ an azt a csek´ely m´ odos´ıt´ ast kell a fenti algoritmusban v´egrehajtani, hogy minden v pontra fenntartunk egy ℓ(v) v´ altoz´ ot is, amely a m´ ar el´ert pontokn´ al megmondja az s-t˝ ol val´ o t´ avols´ agot. Kezdetben ez az s-ben 0, minden¨ utt m´ asutt ∞. Amikor az algoritmus sor´ an egy v pontot az uv ´el ment´en u-b´ ol el´er¨ unk, akkor az ℓ(v) ´ert´eket ℓ(u) + 1-re ´ all´ıtjuk be. Val´ oj´ aban ez az algoritmus speci´ alis esete Dijkstra k´es˝ obb ismertet´esre ker¨ ul˝ o elj´ ar´ as´ anak, amely ´ altal´ aban nem-negat´ıv s´ ulyoz´ as eset´en sz´ am´ıtja ki egy v pontnak s-t˝ ol val´ o t´ avols´ ag´ at. Gyakorlatok 1.5 Igazoljuk, hogy a BFS algoritmus helyesen hat´ arozza meg az s-t˝ ol val´ o t´ avols´ agot. 1.6 Igazoljuk, hogy ir´ any´ıtatlan gr´ afban a t´ avols´ ag f¨ uggv´eny kiel´eg´ıti a h´ aromsz¨ og egyenl˝ otlens´eget. 1.7 Legyen S ´es T a D digr´ af pontjainak k´et r´eszhalmaza. Mik´ent lehet a fenti algoritmus seg´ıts´eg´evel eld¨ onteni, hogy l´etezik-e u ´t S-b˝ ol T -be?
1.2.2
M´ elys´ egi keres´ es
A c´ımk´ez´esi elj´ ar´ asban egy m´ asik lehets´eges strat´egia az, amikor az algoritmus azt a m´eg ´ at nem vizsg´ alt pontot v´ alasztja ki, amelyiket a legk´es˝ obb ´ert¨ uk el. Ebben az esetben az elj´ ar´ ast m´ elys´ egi keres´ esnek nevezz¨ uk (depth first search: DFS). A DFS-n´el minden pontnak van egy el´ er´ esi id˝ opontja, amikor a pont ´ ELERT lesz (teh´ at amikor az algoritmus el˝ osz¨ or tal´ alkozik az illet˝ o ponttal), ´es van egy elhagy´ asi id˝ opontja, ´ ´ amikor a pont ATVIZSG ALT lett (vagyis amikor a keres´es utolj´ ara tal´ alkozik az illet˝ o ponttal). Mind a kett˝ o meghat´ arozza a pontok egy sorrendj´et: az el´ er´ esi ´es az elhagy´ asi sorrendet. A k´et sorrend ¨ osszef´es¨ ul´es´evel kapjuk a pontok kezel´ esi sorendj´et. Teh´ at a kezel´esi sorrendben minden pont k´etszer fordul el˝ o, ´es a k´et el˝ ofordul´ as k¨ oz¨ otti ponthalmaz, amint az k¨ onnyen bel´ athat´ o, k´et k¨ ul¨ onb¨ oz˝ o pontra vagy diszjunkt vagy tartalmazkod´ o. Az ilyen sorozatot lamin´ arisnak nevezz¨ uk. K¨ ovetkezik, hogy ha s-b˝ ol minden pont el´erhet˝ o, akkor a sorozat els˝ o ´es utols´ o tagja az s gy¨ ok´erpont. Egy´ebk´ent egy lamin´ aris sorozat, amelynek els˝ o ´es utols´ o tagja s, mindig egy´ertelm˝ uen le´ır egy s gy¨ oker˝ u feny˝ ot. Ezt rekurz´ıvan defini´ alva u ´gy kaphatjuk meg, hogy vesz¨ unk a sorozatnak egy x, y, y alak´ u h´ arom egym´ ast k¨ ovet˝ o elem´eb˝ ol ´ all´ o r´esz´et [ilyen van a laminarit´ as miatt], a k´et y-t kihagyjuk, a marad´ekhoz megkonstru´ aljuk a feny˝ ot, ´es v´eg¨ ul hozz´ avessz¨ uk az xy ´elt. Gyakorlat 1.8 Igazoljuk, hogy legal´ abb h´ aromtag´ u lamin´ aris sorozatnak (amelyben minden elem k´etszer fordul el˝ o) van x, y, y alak´ u h´ arom egym´ ast k¨ ovet˝ o elemb˝ ol ´ all´ o r´esze.
DFS feny˝ ok A m´elys´egi keres´essel kapott feny˝ ot (amely persze nem egy´ertelm˝ u) DFS vagy m´ elys´ egi feny˝ onek h´ıvjuk. Ir´ any´ıtatlan esetben DFS vagy m´elys´egi f´ ar´ ol besz´el¨ unk. A DFS feny˝ o fontos tulajdons´ aga, hogy minden xy ´elre az y el´er´esi id˝ opontja megel˝ ozi az x elhagy´ asi id˝ opontj´ at. Speci´ alisan, ¨ osszef¨ ugg˝ o ir´ any´ıtatlan gr´ af m´elys´egi f´ aj´ ahoz nem tartozik kereszt´el. (Egy s gy¨ oker˝ u ir´ any´ıtatlan fa eset´en egy xy nem-fa ´elt akkor h´ıvunk kereszt´ elnek, ha a f´ aban az x ´es y-t ¨ osszek¨ ot˝ o egy´ertelm˝ uu ´t s-hez (a f´ aban) legk¨ ozelebbi pontja k¨ ul¨ onb¨ ozik x-t˝ ol ´es y-t´ ol.) A DFS f´ anak t¨ obb ´erdekes alkalmaz´ asa van. Seg´ıts´eg´evel lehet p´eld´ aul line´ aris id˝ oben egy 2-´el¨ osszef¨ ugg˝ o gr´ af er˝ osen ¨ osszef¨ ugg˝ o ir´ any´ıt´ as´ at megkapni: vegy¨ unk egy s gy¨ oker˝ u m´elys´egi f´ at, ir´ any´ıtsuk a fa ´eleit s-t˝ ol kifel´e, a nem-fa ´eleket pedig s fel´e. Mivel nincs kereszt´el, ´ıgy minden ´elt ir´ any´ıtottunk. Feladat 1.9 Igazoljuk, hogy ha a gr´ af 2-´el¨ osszef¨ ugg˝ o, akkor az ´ıgy kapott ir´ any´ıt´ as er˝ osen ¨ osszef¨ ugg˝ o.
8
Topologikus sorrend A DFS egy m´ asik alkalmaz´ asa aciklikus digr´ afban a pontok u ´n. topologikus sorrendj´enek meghat´ aroz´ as´ ara szolg´ al. A digr´ af cs´ ucsainak egy sorrendj´er˝ ol akkor mondjuk, hogy topologikus, ha minden ´el el˝ ore mutat, azaz a t¨ ove a sorrendben megel˝ ozi hegy´et (=fej´et). Egy digr´ afot akkor nevezt¨ unk aciklikusnak, ha nem tartalmaz egyir´ any´ u k¨ ort. Azt, hogy egy digr´ af nem aciklikus, egy konkr´et egyir´ any´ u k¨ or´enek bemutat´ as´ aval tan´ us´ıthatjuk. Milyen gyorsan ellen˝ orizhet˝ o igazolv´ any adhat´ o a digr´ af aciklikuss´ ag´ anak tan´ us´ıt´ as´ ara? Erre ad v´ alaszt a k¨ ovetkez˝ o egyszer˝ u, de hasznos t´etel. ´ TETEL 1.2.2 Egy D = (V, A) digr´ af akkor ´es csak akkor aciklikus, ha pontjainak l´etezik topologikus sorrendje, azaz egy olyan v1 , v2 , . . . , vn sorrend, amelyben minden ´el kor´ abbi pontb´ ol k´es˝ obbibe vezet. Biz. Egy egyir´ any´ u k¨ or pontjainak nem l´etezhet topologikus sorrendje, hiszen a k¨ or minden pontj´ anak pozit´ıv a befoka. Emiatt egy egyir´ any´ u k¨ ort tartalmaz´ o digr´ afnak se l´etezhet topologikus sorrendje, vagyis a felt´etel sz¨ uks´eges. Az elegend˝ os´eghez figyelj¨ uk meg, hogy egy aciklikus digr´ afnak l´etezik forr´ aspontja, vagyis olyan pontja, amibe nem l´ep be ´el. Ha ugyanis minden pontba l´ep be ´el, akkor egy pontb´ ol a bel´ep˝ o ´el ment´en visszafel´e indulva a ford´ıtott s´et´ at mindig tudn´ ank folytatni ´es el˝ obb-ut´ obb egy k¨ ort kapn´ ank. V´ alasszunk ki egy v1 forr´ aspontot ´es legyen ez a sorrend els˝ o pontja. A D−v1 digr´ af is aciklikus, ennek is l´etezik egy v2 forr´ aspontja. Ezt az elj´ ar´ ast folytatva megkapjuk a keresett v1 , v2 , . . . , vn topologikus sorrendet. • (Megjegyezz¨ uk, hogy megsz´ aml´ alhat´ oan v´egtelen sok pontb´ ol ´ all´ o aciklikus digr´ af pontjainak nem felt´etlen¨ ul van topologikus sorrendje. Ezt p´eld´ azza az a digr´ af, amelynek cs´ ucsai a racion´ alis sz´ amok ´es az u, v racion´ alis sz´ amokra uv akkor ´el, ha u < v.) A bizony´ıt´ asb´ ol ad´ od´ o algoritmus egyetlen forr´ aspontot O(m) l´ep´essz´ amban tud megtal´ alni, ´ıgy a topologikus sorrend megkeres´es´enek ¨ osszl´ep´essz´ ama O(mn). M´elys´egi keres´es okos alkalmaz´ as´ aval a teljes topologikus sorrendet O(m) l´ep´esben meg lehet tal´ alni. Ennek ´erdek´eben feltehetj¨ uk, hogy a digr´ afnak van olyan s pontja, ahonnan minden m´ as pont el´erhet˝ o. Val´ oban, mert ha nem ez a helyzet, akkor adjunk a digr´ afhoz egy u ´j s pontot, ´es vezess¨ unk s-b˝ ol minden eredeti pontba ´elt. ´Igy aciklikus digr´ afot kapunk, amely pontjainak topologikus sorrendj´eb˝ ol az u ´jonnan hozz´ aadott s-t kihagyva megkapjuk az eredeti digr´ af pontjainak egy topologikus sorrendj´et. Gyakorlat 1.10 Dolgozzunk ki algoritmust annak eld¨ ont´es´ere, hogy k´et k¨ oz¨ os cs´ ucshalmazon l´ev˝ o digr´ afnak l´etezik-e k¨ oz¨ os topologikus sorrendje. Feladat 1.11 Igazoljuk, hogy aciklikus digr´ af elhagy´ asi sorrendj´enek megford´ıt´ asa topologikus sorrendet ad. Feladat 1.12 Igazoljuk, hogy tetsz˝ oleges hurokmentes digr´ af ´elhalmaza felbonthat´ o k´et aciklikus digr´ af egyes´ıt´es´ere.
Er˝ osen ¨ osszef¨ ugg˝ o komponensek Gr´ afelm´eletben igazolj´ ak, hogy tetsz˝ oleges D = (V, A) ir´ any´ıtott gr´ af eset´en, ha k´et pontot ekvivalensnek tekin´ enyes, t¨ unk amennyiben mindkett˝ o el´erhet˝ o a m´ asikb´ ol egyir´ any´ uu ´ton, u ´gy ekvivalencia rel´ aci´ ot kapunk. Erv´ hogy az ekvivalencia oszt´ alyai er˝ osen ¨ osszef¨ ugg˝ o r´eszgr´ afokat fesz´ıtenek, amelyek mindegyik´et egy-egy pontra ¨ osszeh´ uzva aciklikus digr´ afot kapunk. Az ekvivalencia oszt´ alyok ´ altal fesz´ıtett digr´ afokat szok´ as a D digr´ af er˝ osen ¨ osszef¨ ugg˝ o komponenseinek nevezni. Gyakorlat 1.13 Igazoljuk, hogy egy m´elys´egi keres´essel kapott fesz´ıt˝ o fenyves olyan, hogy a digr´ af b´ armely C er˝ osen ¨ osszef¨ ugg˝ o komponens´ere megszor´ıtva C-nek fesz´ıt˝ o feny˝ oj´et adja (amelynek gy¨ okere a C-nek a keres´es ´ altal legel˝ osz¨ or el´ert pontja). A topologikus sorrend meghat´ aroz´ as´ an´ al kicsit ravaszabb m´ odon lehet egy digr´ af er˝ osen ¨ osszef¨ ugg˝ o komponenseit el˝ o´ all´ıtani. Ism´et feltehetj¨ uk, hogy egy s pontb´ ol minden pont el´erhet˝ o. Az algoritmus k´et k¨ ul¨ on f´ azisb´ ol ´ all. Az els˝ o f´ azisban m´elys´egi keres´essel hat´ arozzuk meg az elhagy´ asi sorrendet. A m´ asodik f´ azisban tetsz˝ oleges keres´esi elj´ ar´ assal (ami lehet a DFS is, de ezt m´ ar nem haszn´ aljuk ki a bizony´ıt´ asban) hat´ arozzunk meg egy ford´ıtott fenyvest u ´gy, hogy a soron k¨ ovetkez˝ o gy¨ ok´erpont mindig az els˝ o f´ azisban kapott elhagy´ asi sorrend m´eg nem szerepelt legutols´ o tagja legyen. (Ford´ıtott feny˝ o alatt olyan ir´ any´ıtott f´ at ´ert¨ unk, amelyben a gy¨ ok´ert˝ ol eltekintve minden pont kifoka egy, m´ıg a gy¨ ok´er´e nulla. Ford´ıtott fenyves olyan ir´ any´ıtott erd˝ o, amelynek minden komponense ford´ıtott feny˝ o.) Feladat 1.14 Igazoljuk, hogy a m´ asodik f´ azisban kapott ford´ıtott fenyves komponensei ´eppen a digr´ af er˝ osen ¨ osszef¨ ugg˝ o komponensei lesznek.
2013. augusztus 1. file: linp, ueler
9
1.3 1.3.1
Optim´ alis utak ´ es potenci´ alok Bevezet´ es
Tekints¨ uk a k¨ ovetkez˝ o gyakorlati jelleg˝ u k´erd´eseket. 1. Legr¨ ovidebb utak. A k¨ ozkedvelt GPS (Global Positioning System) m˝ uholdak seg´ıts´eg´evel meghat´ arozza a poz´ıci´ onkat, majd kisz´ am´ıtja, hogy merre tudunk a megadott c´elpontba a leghamarabb vagy a legolcs´ obban eljutni. Hogyan lehet egy ilyen leggyorsabb (vagy legr¨ ovidebb) utat hat´ekonyan kisz´ amolni? 2. H´ az´ep´ıt´es. Egy csal´ adi h´ az ´ep´ıtkez´ese elemi munkaf´ azisokra bomlik (alapok ki´ as´ asa, betonoz´ as, 1. szint felh´ uz´ asa, 2. szint felh´ uz´ asa, tet˝ o ´ep´ıt´es, bels˝ o vakol´ as, fest´es, ablakok, stb). Minden f´ azisnak adott a v´egrehajt´ asi ideje, tov´ abb´ a egy megel˝ oz´esi rel´ aci´ o, amely azt mondja meg, hogy p´eld´ aul a tet˝ o ´ep´ıt´ese csak az alapoz´ as befejez´ese ut´ an k¨ ovetkezhet. K´erd´es, hogy mik´ent u ¨temezz¨ uk a munk´ akat, ha c´elunk a mihamarabbi befejez´es. 3. Nyaral´ o kiad´ as. Kiadjuk ´ alomsz´ep balatoni nyaral´ onkat a ny´ ari h´ onapokra. A nyaral´ ot egyszerre egy csal´ ad haszn´ alhatja ´es a jelentkez˝ ok megadj´ ak, hogy melyik id˝ ointervallumra szeretn´ek kivenni a h´ azat. A mi feladatunk a jelentkez˝ ok k¨ oz¨ ul u ´gy v´ alasztani, hogy a nyaral´ o a lehet˝ o legt¨ obb napra ki legyen adva. 4. Monoton n¨ ov˝ o r´eszsorozat. Adott sz´ amsorozatnak v´ alasszunk ki hat´ekonyan maxim´ alisan sok tagj´ at, melyek monoton n¨ ov˝ o r´eszsorozatot alkotnak. 5. Optim´ alis k¨ oz¨ os r´eszsorozat. K´et bet˝ usorozatnak v´ alasszunk ki egy maxim´ alis k¨ oz¨ os r´eszsorozat´ at. E l´ atsz´ olag t´ avolfekv˝ o probl´em´ akr´ ol kimutathat´ o, hogy matematikai gy¨ oker¨ uk k¨ oz¨ os: legolcs´ obb utat keresni egy ir´ any´ıtott gr´ afban. C´elunk e probl´emak¨ or ´ attekint´ese. Tegy¨ uk fel, hogy a D = (V, A) n pont´ u ´es m ´el˝ u hurokmentes ´es p´ arhuzamos ´elt nem tartalmaz´ o ir´ any´ıtott gr´ af ´elein adott egy c : A → R k¨ olts´eg- (vagy m´ asn´even s´ uly-) f¨ uggv´eny. Egy P u ´t, s´eta vagy k¨ or e c(P )-vel jel¨ olt k¨ olts´eg´en a P ´eleinek k¨ olts´eg¨ osszeg´et ´ertj¨ uk. A digr´ af egy P u ´tj´ ar´ ol azt mondjuk, hogy c-legolcs´ obb vagy r¨ oviden legolcs´ obb, ha a P kezd˝ opontj´ ab´ ol a v´egpontj´ aba nem l´etezik D-ben P -n´el olcs´ obb u ´t. Gyakorlat 1.15 Igaz-e, hogy legolcs´ obb u ´t b´ armely r´esz´ utja is legolcs´ obb u ´t? Egyik c´elunk adott s ´es t cs´ ucsokra minim´ alis k¨ olts´eg˝ u, m´ asn´even legolcs´ obb s-b˝ ol t-be vezet˝ o (ir´ any´ıtott vagy m´ as n´even egyir´ any´ u) utat, r¨ oviden st-utat keresni. Kider¨ ul, hogy k´enyelmesebb azzal a t¨ obbet k´ıv´ an´ o probl´em´ aval foglalkozni, amikor egy r¨ ogz´ıtett s gy¨ ok´erpontb´ ol az ¨ osszes t¨ obbi v pontba szimult´ an kell legolcs´ obb utat kisz´ am´ıtani. Az olyan pontokat, amelyek egy´ altal´ an nem ´erhet˝ ok el s-b˝ ol, kihagyhatjuk, mert ez a t¨ obbi pont el´erhet˝ os´eg´et nem befoly´ asolja. Emiatt amikor a legolcs´ obb s-b˝ ol indul´ o utak fel˝ ol ´erdekl˝ od¨ unk mindig feltehetj¨ uk, hogy s-b˝ ol minden pont el´erhet˝ o. A legolcs´ obb sv-´ ut k¨ olts´eg´et jel¨ olje µc (v). Az s r¨ ogz´ıtetts´ege miatt e jel¨ ol´esben az s nem is szerepel. A digr´ af egy s gy¨ oker˝ u F feny˝ oj´er˝ ol azt mondjuk, hogy a legolcs´ obb utak feny˝ oje, ha az F minden v pontj´ ara az F -ben l´ev˝ o P egy´ertelm˝ u sv-´ ut k¨ olts´ege µc (v), azaz P a digr´ afnak egy legolcs´ obb sv-´ utja. Amennyiben a c negat´ıv is lehet, u ´gy a legolcs´ obb u ´t feladat m´ ar az azonosan −1 k¨ olts´egf¨ uggv´eny eset´en is NP-teljes, ugyanis ekkor mag´ aban foglalja a Hamilton-´ ut probl´em´ anak az el˝ o´ırt v´egpont´ u v´ altozat´ at, ami a tetsz˝ oleges v´egpont´ u Hamilton-´ ut probl´em´ ahoz hasonl´ oan NP-teljes. Emiatt a legolcs´ obb u ´t feladatot nem vizsg´ aljuk teljes ´ altal´ anoss´ agban, amikor a digr´ af ´es a k¨ olts´egf¨ uggv´eny is tetsz˝ oleges. El˝ osz¨ or bemutatunk k´et speci´ alis k¨ olts´egf¨ uggv´enyt, amelyek eset´en a legolcs´ obb utak megkeres´es´ere hat´ekony algoritmus adhat´ o. Az els˝ o esetben D aciklikus ´es c tetsz˝ oleges, m´ıg a m´ asikban D tetsz˝ oleges ´es c nem-negat´ıv. A k¨ ovetkez˝ o r´eszben pedig megadjuk majd e k´et speci´ alis eset k¨ oz¨ os ´ altal´ anos´ıt´ as´ at is (amikor D tetsz˝ oleges, de nem l´etezik negat´ıv ¨ osszk¨ olts´eg˝ u egyir´ any´ u k¨ or).
1.3.2
Legolcs´ obb utak aciklikus digr´ afban
Tegy¨ uk fel, hogy a D digr´ af aciklikus ´es az s pontb´ ol mindegyik m´ asik pontba vezet egyir´ any´ uu ´t, m´ assz´ oval s-b˝ ol minden m´ as pont el´erhet˝ o. Legyen a c : A → R s´ ulyoz´ as (vagy k¨ olts´egf¨ uggv´eny) tetsz˝ oleges, teh´ at c-nek lehetnek pozit´ıv ´es negat´ıv komponensei is. Ez az´ert j´ o, mert a c neg´ al´ asa r´ev´en nem csup´ an a minim´ alis k¨ olts´eg˝ u, hanem a maxim´ alis k¨ olts´eg˝ u (s´ uly´ u) u ´t probl´em´ at is meg tudjuk oldani: tetsz˝ oleges ir´ any´ıtott gr´ af eset´en ez a feladat NP-teljes volt. Aciklikus digr´ afban a k¨ ovetkez˝ o egyszer˝ u direkt elj´ ar´ assal fel lehet ´ep´ıteni a legolcs´ obb utak feny˝ oj´et. Az 1.2.2 szakaszban l´ attuk, hogy mik´epp lehet egy topologikus sorrendet line´ aris id˝ oben meghat´ arozni. Tegy¨ uk fel, hogy az s = v1 , v2 , . . . , vn topologikus sorrend els˝ o j − 1 pontja ´ altal fesz´ıtett r´eszgr´ afban m´ ar meghat´ aroztuk
10
a legolcs´ obb utak egy Fj−1 feny˝ oj´et a µc (vi ) k¨ olts´egekkel egyetemben (1 ≤ i ≤ j − 1). Tekints¨ uk a sorrendben k¨ ovetkez˝ o vj pontot. Miut´ an vj -be csak j-n´el kisebb index˝ u pontb´ ol vezet ´el, a legolcs´ obb svj -´ ut k¨ olts´eg´et a µc (vj ) = min{µc (vi ) + c(vi vj ) : vi vj ∈ A}
(1.1)
formula adja. Tov´ abb´ a, ha vi vj jel¨ oli azt az ´elt (pontosabban az egyik olyan ´elt), amelyen a minimum felv´etetik, akkor Fj := Fj−1 + vi vj a legolcs´ obb utak feny˝ oje az els˝ o j cs´ ucson. (ha t¨ obb minimaliz´ al´ o ´el van, mindegy, hogy melyikkel n¨ ovelj¨ uk a feny˝ ot.) Ezt a rekurzi´ ot j = 1, . . . , n-re k¨ ovetve a v´eg¨ ul kapott Fn fesz´ıt˝ o feny˝ o egy legolcs´ obb utak feny˝ oje lesz. Miut´ an a µc (vj ) ´ert´ekek illetve a feny˝ obe ker¨ ul˝ o vi vj ´elek kisz´ am´ıt´ as´ ahoz a digr´ af minden ´el´et egyszer kell csak tekintetbe venni, az algoritmus l´ep´essz´ ama O(m), felhaszn´ alva, hogy a topologikus sorrendet is O(m) l´ep´esben lehetett megkapni. Az (1.1) formul´ ab´ ol ad´ odik, hogy minden vi vj ∈ A ´elre µc (vj ) ≤ µc (vi ) + c(vi vj ), m´ıg ha vi vj az Fn feny˝ o ´ele, akkor itt egyenl˝ os´eg teljes¨ ul: µc (vj ) = µc (vi ) + c(vi vj ).
(1.2)
Az algoritmus k¨ ovetkezm´enyek´ent kapjuk az al´ abbi t´etelt. ´ TETEL 1.3.1 D = (V, A) aciklikus digr´ afban, amelyben minden pont el´erhet˝ o s-b˝ ol, tetsz˝ oleges k¨ olts´egf¨ uggv´enyre l´etezik legolcs´ obb utak feny˝ oje. • A legolcs´ obb u ´t k¨ olts´eg´ere vonatkozik az al´ abbi min-max t´etel. ´ TETEL 1.3.2 Legyen c : A → R a D = (V, A) aciklikus ir´ any´ıtott gr´ af ´elhalmaz´ an egy tetsz˝ oleges k¨ olts´egf¨ uggv´eny, ´es tegy¨ uk fel, hogy l´etezik st-´ ut. Az s-b˝ ol t-be vezet˝ o utak k¨ olts´eg´enek µc (t) minimuma egyenl˝ oa max{π(t) − π(s) : π : V → R, π(v) − π(u) ≤ c(uv), uv ∈ A} ´ert´ekkel. Ha c eg´esz´ert´ek˝ u, az optim´ alis π is v´ alaszthat´ o eg´esz´ert´ek˝ unek. Biz. Tetsz˝ oleges π-re ´es P = {s = v0 , v1 , . . . , vk = t} st-´ utra
e c(P ) =
X i
c(vi vi+1 ) ≥
X
[π(vi+1 − π(vi )] = π(t) − π(s),
(1.3)
i
vagyis a t´etelben a max ≤ min ir´ any k¨ ovetkezik. (Ehhez a egyenl˝ otlens´eghez az aciklikuss´ agra nincs is sz¨ uks´eg). A ford´ıtott ir´ any´ u egyenl˝ otlens´eget el´eg bebizony´ıtani abban a speci´ alis esetben, amikor minden cs´ ucs el´erhet˝ o s-b˝ ol. Ha esetleg nem ez a helyzet, akkor egy u ´j s′ pontot a digr´ afhoz vesz¨ unk egy 0 k¨ olts´eg˝ u s′ s ´ellel valamint minden v ∈ V -re egy M k¨ olts´eg˝ u s′ v-´ellel, ahol M kell˝ oen nagy. Az ´ıgy nyert digr´ afot ´es k¨ olts´egf¨ uggv´enyt jel¨ olje D′ ´es c′ . Ekkor D′ -ben minden v ∈ V pont el´erhet˝ o s′ -b˝ ol ´es µ(v) = µ′ (v), ahol µ′ (v) a legolcs´ obb s′ v-´ ut c′ -k¨ olts´ege D′ -ben. Legyen most π ′ egy olyan f¨ uggv´eny V ′ -n, amelyre π ′ (v)−π ′ (u) ≤ c′ (uv) ′ ′ ′ ′ ′ ′ minden uv ∈ A ´elre ´es π (t) − π (s ) = µ (t). Ekkor a π := π |V f¨ uggv´enyre (ami teh´ at π ′ megszor´ıt´ asa V ′ ′ ′ ′ ′ re) π(v) − π(u) ≤ c(uv) minden uv ∈ A ´elre. Tov´ abb´ a, π(s) − π (s ) = π (s) − π (s ) ≤ c′ (s′ s) = 0 miatt π(s) ≤ π ′ (s′ ) ´es ez´ert µ(t) ≥ π(t)−π(s) = π ′ (t)−π(s) ≥ π ′ (t)−π ′ (s′ ) = µ′ (t) = µ(t), amib˝ ol µ(t) = π(t)−π(s). Teh´ at, ha D′ -re igaz a t´etel, akkor D-re is, ´es emiatt feltehetj¨ uk, hogy D-ben minden cs´ ucs el´erhet˝ o s-b˝ ol. Tekints¨ uk a fenti algoritmus ´ altal szolg´ altatott P utat, azaz az Fn feny˝ oben l´ev˝ o egy´ertelm˝ u st-utat. Minden v ∈ V -re legyen π(v) := µc (v) a legolcs´ obb sv-´ ut k¨ olts´ege. Ekkor egyr´eszt minden uv ´elre egy legolcs´ obb su utat az uv ´ellel kieg´esz´ıtve (az aciklikuss´ ag miatt) egy sv-utat kapunk, ´es ez´ert π(v) ≤ π(u) + c(uv), azaz π(v) − π(u) ≤ c(uv), m´ asr´eszt (1.2) miatt P minden uv ´el´ere π(v) − π(u) = c(uv), vagyis (1.3)-ben egyenl˝ os´eg ´ all, ´es ´ıgy e c(P ) = π(t) − π(s). • Alkalmaz´ asokban el˝ ofordul, hogy aciklikus digr´ afban minim´ alis helyett maxim´ alis s´ uly´ u st-utat kell keresni. A fenti elj´ ar´ ast ekkor a −c k¨ olts´egf¨ uggv´enyre kell alkalmazni, de az eredeti c nyelv´en k¨ ozvetlen¨ ul is megfogalmazhatjuk, a k¨ ovetkez˝ ok´eppen. Tegy¨ uk fel, hogy a topologikus sorrend els˝ o j − 1 pontja ´ altal fesz´ıtett r´eszgr´ afban m´ ar meghat´ aroztuk a legs´ ulyosabb utak egy Fj−1 feny˝ oj´et a legs´ ulyosabb svi -´ ut τc (vi )-vel jel¨ olt s´ uly´ aval egyetemben (1 ≤ i ≤ j − 1). A sorrendben k¨ ovetkez˝ o vj pontra legyen τc (vj ) := max{τc (vi )+c(vi vj ) : vi vj ∈ A} ´es legyen Fj := Fj−1 +vi vj , ahol a vi vj egy olyan ´el, amelyen a maximum felv´etetik. Fogalmazzuk meg az 1.3.2 t´etel ellenp´ arj´ at erre az esetre. A kevered´es elker¨ ul´ese ´erdek´eben π helyett τ -t haszn´ alunk, ´es az ut´ ana k¨ ovetkez˝ o alkalmaz´ as ´erdek´eben felcser´elj¨ uk a k´et oldalt.
´ TETEL 1.3.3 Legyen c : A → R a D = (V, A) aciklikus ir´ any´ıtott gr´ af ´elhalmaz´ an egy tetsz˝ oleges s´ ulyf¨ uggv´eny, ´es tegy¨ uk fel, hogy az s pontb´ ol minden pontba vezet egyir´ any´ uu ´t. Ekkor min{τ (t) − τ (s) : τ : V → R, τ (v) − τ (u) ≥ c(uv), uv ∈ A} = max{e c(P ) : P u ´t s-b˝ ol t-be}. •
11
(1.4)
Egy projekt u ¨ temez´ esi feladat: a PERT m´ odszer Alkalmaz´ asokban el˝ ofordul, hogy nem els˝ osorban az optim´ alis u ´tra vagyunk k´ıv´ ancsiak, hanem ink´ abb az optim´ alis τ f¨ uggv´enyre. Tekints¨ uk a k¨ ovetkez˝ o u ¨temez´esi feladatot. Egy projekt k¨ ul¨ onf´ele elemi feladatok elv´egz´es´eb˝ ol ´ all, melyeknek el˝ ore adott a v´egrehajt´ asi ideje. (P´eldaul h´ az´ep´ıt´esn´el az alapok ki´ as´ asa, betonoz´ as, els˝ o szint felh´ uz´ asa, m´ asodik szint felh´ uz´ asa, tet˝ o ´ep´ıt´es, bels˝ o vakol´ as, v´ızcs˝ o szerel´es, villanyvezet´ekek, fest´es, ablakok, stb). Tudjuk tov´ abb´ a, hogy technol´ ogiai el˝ o´ır´ asok miatt bizonyos r´eszfeladatok megel˝ oznek m´ asokat (az alapoz´ as a f¨ urd˝ oszoba csemp´ez´es el˝ ott van), azaz a r´eszfeladatok halmaz´ an adott egy r´eszbenrendez´es. K´erd´es, hogy mi az a legr¨ ovidebb id˝ o, amely alatt a teljes projekt elv´egezhet˝ o azon kik¨ ot´es mellett, hogy az egyes r´eszfeladatok kezd´esi id˝ opontj´ at u ´gy megadni, hogy minden feladat kezd´es´ere a r´eszbenrendez´esben ˝ ot megel˝ oz˝ ok m´ ar elk´esz¨ uljenek. A megold´ ashoz k´esz´ıts¨ unk el egy D ir´ any´ıtott gr´ afot a k¨ ovetkez˝ ok´eppen. Mindegyik z r´eszfeladatot reprezent´ aljuk egy uz vz ir´ any´ıtott ´ellel, amelynek s´ ulya legyen a z v´egrehajt´ asi ideje. Amennyiben a z feladat technol´ ogiailag megel˝ ozi az y feladatot, u ´gy vegy¨ unk be D-be egy vz uy ´elt 0 s´ ullyal. V´eg¨ ul adjunk a digr´ afhoz egy s forr´ aspontot, amelyb˝ ol minden ux pontba vezess¨ unk 0 s´ uly´ u ´elt, ´es adjunk egy t nyel˝ opontot, amelybe minden vx pontb´ ol vezess¨ unk 0 s´ uly´ u ´elt. Feladatunk olyan τ (v) id˝ opontok kijel¨ ol´es´evel ekvivalens, amelyekre τ (s) = 0, τ (t) minim´ alis ´es minden uv ´elre a τ (v) − τ (u) id˝ opont-k¨ ul¨ onbs´eg legal´ abb akkora, mint az ´el s´ ulya. Az 1.3.3 t´etel pontosan erre a k´erd´esre adott v´ alaszt: a projekt v´egrehajt´ as´ anak minim´ alis ¨ ossz-ideje (vagyis τ (t) − τ (s) minimuma) egyenl˝ o a legs´ ulyosabb st-´ ut s´ uly´ aval. Egy ilyen utat szoktak n´eha kritikus u ´tnak nevezni, m´ıg az el˝ oz˝ oekben le´ırt minim´ alis u ´t probl´em´ anak az itteni feladatra adapt´ alt v´ altozat´ at kritikus u ´t m´ odszernek (angolul PERT: project evaluation and review technique). Az 1.3.3 t´etel egy szeml´eletes interpret´ aci´ oja r´ev´en a f˝ on¨ ok¨ unket r¨ ogt¨ on meg tudjuk arr´ ol gy˝ ozni, hogy az ´ altalunk javasolt optim´ alis u ¨temez´es (amit teh´ at kezd´esi id˝ opontokat meghat´ aroz´ o τ f¨ uggv´eny ´ır le) val´ oban az elvileg legkor´ abbi befejez´est garant´ alja, hiszen m´ ar a kritikus P u ´ton l´ev˝ o elemi munk´ ak elv´egz´es´ehez is annyi id˝ o kell, mint a P u ´t ¨ ossz-s´ ulya (vagyis a P u ´ton l´ev˝ o elemei munk´ ak ¨ ossz-ideje), m´ arpedig mi a teljes projektet is ennyi id˝ o alatt le tudjuk bonyol´ıtani, ´es ´ıgy az u ¨temez´es sz¨ uks´egk´eppen optim´ alis. R¨ oviden eml´ekeztet¨ unk a r´eszbenrendezett halmaz (partially ordered set, poset) fogalm´ ara. Azt mondjuk, hogy a (P, ) p´ ar egy r´eszbenrendezett halmaz, ha egy rel´ aci´ o a P halmaz elemein, amelyre (A) x x, (B) x y ´es x 6= y eset´en (amit x ≺ y r¨ ovid´ıt) y 6 x, ´es (C) x y ´es y z eset´en x z. A r´eszbenrendezett halmazhoz hozz´ arendelhet¨ unk egy D digr´ afot a P ponthalmazon, amelyben u-b´ ol akkor vezet ´el v-be, ha u ≻ v. A D digr´ af egyszer˝ u, aciklikus ´es tranzit´ıv abban az ´ertelemben, hogy ha xy ´es yz ´elek, akkor xy is ´el. Megford´ıtva, minden ilyen digr´ af meghat´ aroz egy r´eszbenrendezett halmazt. A P halmaznak egy p´ aronk´ent ¨ osszehasonl´ıthat´ o elemekb´ ol ´ all´ o r´eszhalmaz´ at l´ ancnak h´ıvjuk, m´ıg egy p´ aronk´ent ¨ osszehasonl´ıthatatlan elemekb´ ol ´ all´ o r´eszhalmaz neve antil´ anc. Egy l´ anc r´eszhalmaza is l´ anc, egy antil´ anc r´eszhalmaza is l´ anc. L´ ancnak ´es antil´ ancnak nyilv´ an legfeljebb csak egy k¨ oz¨ os eleme lehet. A l´ anc a D ir´ any´ıtatlan alapgr´ afj´ aban egy klikknek felel meg, az antil´ anc pedig egy stabil halmaznak. Dilworth t´etele szerint a maxim´ alis antil´ anc elemsz´ ama egyenl˝ o a P -t fed˝ o l´ ancok minim´ alis sz´ am´ aval. A fed˝ o l´ ancok diszjunktaknak is v´ alaszthat´ ok. Mirsky t´etele szerint (amit n´eha pol´ aris Dilworth t´etelnek is h´ıvnak) a maxim´ alis l´ anc elemsz´ ama egyenl˝ o a P -t fed˝ o antil´ ancok minim´ alis sz´ am´ aval. A fed˝ o antil´ ancok diszjunktaknak is v´ alaszthat´ ok. Feladatok 1.16 Egy u ´t bizonyos r´esz´ utjainak adott F rendszer´eb˝ ol kell kiv´ alasztanunk diszjunkt tagokat u ´gy, hogy a kiv´ alasztottak ¨ osszhossza maxim´ alis legyen. Fogalmazzuk meg a feladatot aciklikus digr´ af leghosszabb st-´ utj´ anak probl´em´ ajak´ent. 1.17 Dolgozzunk ki elj´ ar´ ast ponts´ ulyozott r´eszbenrendezett halmaz maxim´ alis s´ uly´ u l´ anc´ anak megkeres´es´ere. 1.18 Adott k´et bet˝ ukb˝ ol ´ all´ o sorozat maxim´ alis sok tagb´ ol ´ all´ o k¨ oz¨ os r´eszsorozat´ at kell kiv´ alasztanunk. Fogalmazzuk meg a feladatot r´eszbenrendezett halmazbeli maxim´ alis l´ anc meghat´ aroz´ as´ anak probl´em´ ajak´ent. 1.19 Igazoljuk algoritmikusan, hogy egy P r´eszbenrendezett halmazban a leghosszabb l´ anc elemsz´ ama egyenl˝ o a P -t fed˝ o antil´ ancok minim´ alis sz´ am´ aval! Fogalmazzuk meg ´es igazoljuk a megfelel˝ o t´etelt maxim´ alis s´ uly´ u l´ ancokr´ ol, ha P elemei s´ ulyozva vannak. 1.20 Egy v´eges sz´ amsorozat legt¨ obb tagb´ ol ´ all´ o monoton n¨ ovekv˝ o r´eszsorozat´ at kell meghat´ aroznunk. Fogalmazzuk meg a feladatot r´eszbenrendezett halmazbeli maxim´ alis l´ anc meghat´ aroz´ as´ anak probl´em´ ajak´ent. 1.21 Egy v´eges sz´ amsorozat legt¨ obb tagb´ ol ´ all´ o konvex r´eszsorozat´ at kell meghat´ aroznunk. Fogalmazzuk meg a feladatot aciklikus digr´ af leghosszabb st-´ utj´ anak probl´em´ ajak´ent. (Egy sz´ amsorozat konvex, ha az egym´ ast k¨ ovet˝ o tagok k¨ ul¨ onbs´egei monoton n¨ ov˝ o.) 1.22 Igazoljuk, hogy egy nm + 1 k¨ ul¨ onb¨ oz˝ o tagokb´ ol ´ all´ o sz´ amsorozatnak vagy van n + 1 tag´ u monoton n¨ ov˝ o vagy egy m + 1 tag´ u monoton cs¨ okken˝ o r´eszsorozata! L´etezhet-e mind a k´et fajta r´eszsorozat?
12
1.3.3
Legolcs´ obb utak nem-negat´ıv k¨ olts´ egekre: Dijkstra algoritmusa
Tegy¨ uk most fel, hogy D tetsz˝ oleges, de a c k¨ olts´egf¨ uggv´eny nem-negat´ıv. Dijkstra algoritmusa k´et ¨ otleten m´ ulik. Az aciklikus esethez hasonl´ oan itt is s-b˝ ol indul´ o legolcs´ obb utaknak egy feny˝ oj´et ´ep´ıtj¨ uk fel ´elek egyenk´enti hozz´ av´etel´evel. L´enyeges k¨ ul¨ onbs´eg azonban, hogy a pontoknak a feny˝ obe ker¨ ul´esi sorrendj´et nem lehet el˝ ore megmondani (mint ahogy az aciklikus esetben a topologikus sorrenddel meg lehetett), mert az csak menetk¨ ozben der¨ ul ki, a k¨ ovetkez˝ o lemma szerint. Lemma 1.3.4 Legyen T egy legolcs´ obb utak s-feny˝ oje a V (T ) ponthalmazon. Tegy¨ uk fel, hogy az mT := min{µc (u) + c(uv) : uv kil´ep V (T )-b˝ ol}
(1.5)
minimum valamely a = ua va ´elen v´etetik fel. Ekkor T ′ := T + a is legolcs´ obb utak s-feny˝ oje a V (T ) + va ponthalmazon. Biz. A T -re vonatkoz´ o feltev´es miatt csak az s-b˝ ol va -ba vezet˝ o T ′ -beli P ′ u ´tr´ ol kell bel´ atnunk, hogy D-ben legolcs´ obb. A jel¨ ol´esek folyt´ an e c(P ′ ) = mT . Legyen P tetsz˝ oleges sva -´ ut D-ben. Legyen ennek (s fel˝ ol indulva) az els˝ o V (T )-b˝ ol kil´ep˝ o ´ele e = ue ve , m´ıg az s-t˝ ol ue -ig tart´ o r´esz´ utja P ′′ . A c nem-negativit´ asa valamint mT ´es µc (ue ) jelent´ese miatt e c(P ′ ) = mT ≤ µc (ue ) + c(e) ≤ e c(P ′′ ) + c(e) ≤ e c(P ). •
Az 1.3.4 lemma k´ezenfekv˝ o ´es hat´ekony megold´ ast k´ın´ al a legolcs´ obb utak feny˝ oj´enek kisz´ am´ıt´ as´ ara. Kiindulva az egyetlen s pontb´ ol ´ all´ o feny˝ ob˝ ol, ´elek egym´ as ut´ ani hozz´ av´etel´evel, n − 1 f´ azisban, fel´ep´ıtj¨ uk a V -t fesz´ıt˝ o legolcs´ obb utak feny˝ oj´et. Ehhez csak az kell, hogy egy k¨ ozbens˝ o, m´ ar kisz´ am´ıtott T feny˝ oh¨ oz meg tudjuk hat´ arozni a hozz´ aveend˝ o ´elt. Az 1.3.4 lemma alapj´ an ez az (1.5) minimum kisz´ am´ıt´ as´ aval megtehet˝ o. K´erd´es, hogy h´ any l´ep´esben. A na´ıv megk¨ ozel´ıt´es szerint e minimum meghat´ aroz´ as´ ahoz sz´ amba kell venni az ¨ osszes V (T )-b˝ ol kil´ep˝ o ´elt. Ezek sz´ am´ ara m-n´el jobb fels˝ o korl´ atot nem lehet biztos´ıtani, ´es ez´ert ez a megk¨ ozel´ıt´es ¨ osszess´eg´eben egy O(mn) l´ep´essz´ am´ u algoritmust eredm´enyez. Dijkstra algoritmus´ anak m´ asodik ¨ otlete az, hogy fenntartunk ´es menetk¨ ozben alkalmasan m´ odos´ıtunk bizonyos adatokat, amelyek seg´ıts´eg´evel az (1.5) minimum O(m) l´ep´es helyett m´ ar O(n) l´ep´esben kisz´ am´ıthat´ o. Tegy¨ uk fel, hogy egy k¨ ozbens˝ o f´ azisban a T feny˝ on, valamint a T pontjaira m´ ar kisz´ amolt µc (v) ´ert´ekeken k´ıv¨ ul rendelkez´esre ´ allnak a k¨ ovetkez˝ o adatok. Minden v ∈ V − V (T ) feny˝ on k´ıv¨ uli pontra a µT (v) c´ımke tartalma legyen az s-b˝ ol v-be vezet˝ o, csak V (T ) pontjait haszn´ al´ o sv-utak k¨ olts´eg´enek minimuma, m´ıg az eT (v) c´ımke tartalma egy ilyen sv-´ ut utols´ o ´ele (amely teh´ at kil´ep T -b˝ ol ´es a hegye v). Ezen k´ıv¨ ul a vT c´ımke tartalma az a z ∈ V − V (T ) pont, ahol a µT (v) ´ert´ekek minimuma (v ∈ V − V (T )) felv´etetik, m´ıg mT a minimum ´ert´eke. Ezen c´ımk´ek seg´ıts´eg´evel r¨ ogt¨ on meg tudjuk mondani, hogy melyik ´elt kell T -hez venni. Nevezetesen, tekintj¨ uk a vT -ben l´ev˝ o z pontot ´es az eT (z)-ben l´ev˝ o uz ´elt ´es ezt adjuk T -hez. A lemma miatt µc (z) = µT (z). A keletkez˝ o T ′ feny˝ oh¨ oz tartoz´ o c´ımk´ek m´ odos´ıt´ as´ ahoz figyelj¨ uk meg, hogy egy v ∈ V − T ′ pontra a legolcs´ obb olyan sv-´ ut, amely csak T ′ -beli pontot haszn´ al vagy haszn´ alja a z pontot vagy nem, att´ ol f¨ ugg˝ oen, asodik vagy az els˝ o tagon v´etetik-e fel. Ennek hogy a µT ′ (v) := min{µT (v), µc (z) + c(zv)} minimum a m´ eld¨ ont´ese teh´ at konstans l´ep´esben megtehet˝ o. Miut´ an n pont van ¨ osszesen, meg´ allap´ıthatjuk, hogy a T feny˝ o arozhat´ o. Hasonl´ oan egyszer˝ u egy u ´jabb ´ellel val´ o n¨ ovel´esekor minden µT ′ (v) c´ımke O(n) l´ep´esben meghat´ arozhat´ ok. Miut´ an n − 1 feny˝ o n¨ ovel´est megfontol´ as nyom´ an a vT ′ ´es az mT ′ c´ımk´ek is O(n) l´ep´esben meghat´ hajtunk v´egre, a Dijkstra algoritmus teljes l´ep´essz´ ama O(n2 ).
Feladat 1.23 Igaz-e, hogy Dijkstra algoritmusa aciklikus digr´ af eset´ en tetsz˝ oleges k¨ olts´egf¨ uggv´enyre a legolcs´ obb utat szolg´ altatja?
1.3.4
Konzervat´ıv k¨ olts´ egf¨ uggv´ enyek, megengedett potenci´ alok, tenzi´ ok
Amennyiben a c k¨ olts´egf¨ uggv´eny negat´ıv is lehet, u ´gy a legolcs´ obb u ´t feladatr´ ol m´ ar fentebb megjegyezt¨ uk, hogy NP-teljes. Emiatt a probl´em´ at nem vizsg´ aljuk teljes ´ altal´ anoss´ agban, amikor a digr´ af ´es a k¨ olts´egf¨ uggv´eny is tetsz˝ oleges, hanem csup´ an arra az esetre szor´ıtkozunk, amikor nem l´etezik negat´ıv ¨ osszk¨ olts´eg˝ u egyir´ any´ u k¨ or (r¨ oviden negat´ıv k¨ or). Ilyenkor a k¨ olts´egf¨ uggv´enyr˝ ol azt mondjuk, hogy konzervat´ıv. P´eld´ aul c bizonyosan konzervat´ıv, ha nem-negat´ıv, vagy akkor is, ha tetsz˝ oleges, de D aciklikus. Nem neh´ez egy´eb konzervat´ıv k¨ olts´egf¨ uggv´enyeket konstru´ alni: ilyen p´eld´ aul, ha D egy 3 ´el˝ u egyir´ any´ u k¨ or, melyen a k¨ olts´egek rendre −1, +1, +1. Felvet˝ odik a k´erd´es, hogy mik´ent lehet eld¨ onteni, hogy egy k¨ olts´egf¨ uggv´eny konzervat´ıv-e vagy sem. Egy´ altal´ an, milyen k¨ onnyen ellen˝ orizhet˝ o tan´ us´ıtv´ anyt tudunk elk´epzelni arra, hogy c konzervat´ıv? Nevezz¨ unk egy π : V → R f¨ uggv´enyt c-re n´ezve megengedett potenci´ alnak, vagy c-megengedettnek, ha π(v) − π(u) ≤ c(uv) fenn´ all minden uv ∈ A ´elre.
13
(1.6)
Egy uv ´elt akkor nevez¨ unk pontos-nak (a π-re n´ezve), ha π(v) − π(u) = c(uv). A π ´ altal az ´elhalmazon induk´ alt ∆π : A → R k¨ olts´egf¨ uggv´eny defin´ıci´ oja a k¨ ovetkez˝ o: ∆π (uv) := π(v) − π(u) minden uv ∈ A ´elre. Az ´ıgy el˝ o´ all´ o k¨ olts´egf¨ uggv´enyeket pontinduk´ altnak nevezz¨ uk, vagy m´ asn´even potenci´ al-k¨ ul¨ onbs´ egnek. A π c-megengedetts´ege teh´ at azt jelenti, hogy ∆π ≤ c vagy m´ ask´epp ´ırva, cπ ≥ 0, ahol cπ := c − ∆π , azaz cπ (uv) = c(uv) − π(v) + π(u) minden uv ´elre. Egy uv ´el akkor pontos π-re n´ezve, ha cπ (uv) = 0.
Egyszer˝ u megfigyel´ esek Az al´ abbi megfigyel´es azt fejezi ki, hogy a pontinduk´ alt k¨ olts´egf¨ uggv´enyek egyfajta ´ertelemben semlegesek. Lemma 1.3.5 A ∆π pontinduk´ alt k¨ olts´egf¨ uggv´enyre n´ezve (a) minden st-´ ut k¨ olts´ege ugyanaz az ´ert´ek, ´espedig π(t) − π(s), tov´ abb´ a (b) minden egyir´ any´ u k¨ or k¨ olts´ege nulla. Biz. Legyen P tetsz˝ oleges st-´ ut, melynek pontjai v1 = s, v2 , . . . , vk = t. Ennek k¨ olts´ege:
e π (P ) = ∆
k−1 X
∆π (vi vi+1 ) =
i=1
k−1 X
[π(vi+1 ) − π(vi )] = π(vk ) − π(v1 ) = π(t) − π(s).
i=1
Legyen K egyir´ any´ u k¨ or, melynek cs´ ucsai ciklikus sorrendben vk+1 = v1 , v2 , . . . , vk . Ennek k¨ olts´ege:
e π (K) = ∆
k X
∆π (vi vi+1 ) =
i=1
k X
[π(vi+1 ) − π(vi )] = 0. •
i=1
A k¨ ovetkez˝ o ´eszrev´etel egyfajta lehet˝ os´eget biztos´ıt egy st-´ ut legolcs´ obb volt´ anak igazol´ as´ ara megengedett potenci´ alok seg´ıts´eg´evel. Lemma 1.3.6 Legyen π megengedett potenci´ al a c k¨ olts´egf¨ uggv´enyre n´ezve (azaz c ≥ ∆π vagy cπ ≥ 0). (a) Minden P st-´ utra e c(P ) ≥ π(t) − π(s). Ha P minden ´ele pontos, akkor P c-legolcs´ obb st-´ ut. (b) Minden K egyir´ any´ u k¨ orre e c(K) ≥ 0. Ha K minden ´ele pontos, akkor e c(K) = 0. Biz. (a) Legyenek P pontjai v1 = s, v2 , . . . , vk = t. Ekkor
e c(P ) =
k−1 X
c(vi vi+1 ) ≥
i=1
k−1 X
[π(vi+1 ) − π(vi )] = π(vk ) − π(v1 ) = π(t) − π(s),
i=1
amib˝ ol ad´ odik, hogy e c(P ) ≥ π(t) − π(s). Vagyis minden st-´ ut k¨ olts´ege legal´ abb π(t) − π(s). Mivel egy pontos ´elekb˝ ol ´ all´ o st-´ ut k¨ olts´ege pontosan π(t) − π(s), az ilyen u ´t sz¨ uks´egk´eppen legolcs´ obb st-´ ut. (b) Legyenek K pontjai ciklikus sorrendben vk+1 = v1 , v2 , . . . , vk . Ekkor
e c(K) =
k X i=1
c(vi vi+1 ) ≥
k X
[π(vi+1 ) − π(vi )] = 0.
i=1
Ebb˝ ol ad´ odik, hogy minden egyir´ any´ u k¨ or c-k¨ olts´ege nemnegat´ıv ´es ha egy ilyen k¨ or minden ´ele pontos, akkor a c-k¨ olts´eg 0. • Lemma 1.3.7 Ha c konzervat´ıv ´es P legolcs´ obb st-´ ut, akkor P minden P ′ uv-r´esz´ utja legolcs´ obb uv-´ ut. Biz. ´ ıt´ All´ as 1.3.1 Ha W egy st-s´eta, akkor W mag´ aban foglal egy olyan Q st-utat, amelyre e c(Q) ≤ e c(W ).
Biz. Az s-b˝ ol indulva haladjunk a W s´et´ an. Amikor el˝ osz¨ or egy kor´ abbi pontba vissza´er¨ unk, akkor egy K egyir´ any´ u k¨ or keletkezik, amit a s´et´ ab´ ol kiv´ agva olyan W ′ st-s´et´ at kapunk, amelyre a konzervativit´ as miatt e c(W ′ ) = e c(W ) − e c(K) ≤ e c(W ). Ezt a k¨ orkiv´ ag´ asi elj´ ar´ ast ism´etelve v´eg¨ ul egy Q st-utat kapunk, amelyre e c(Q) ≤ e c(W ). •
Legyen R tetsz˝ oleges uv-´ ut. Jel¨ olje W azt az st-s´et´ at, amelyet P -b˝ ol kapunk az´ altal, hogy a P ′ r´eszutat R-rel helyettes´ıtj¨ uk. Az 1.3.1 ´ all´ıt´ as miatt van egy Q st-´ ut, amelyre e c(Q) ≤ e c(W ). Ekkor a e c(P ) ≤ e c(Q) ≤ e c(W ) = e c(P ) − e c(P ′ ) + e c(R), amib˝ ol e c(P ′ ) ≤ e c(R), vagyis P ′ val´ oban legolcs´ obb uv-´ ut. • •
14
A konzervativit´ as jellemz´ ese: Gallai t´ etele Jel¨ olje πc (v) a legolcs´ obb v-ben v´egz˝ od˝ o (r¨ oviden v-v´eg˝ u) u ´t k¨ olts´eg´et (b´ arhol is kezd˝ odj´ek) vagyis πc (v) := min{e c(P ) : P v-v´eg˝ uu ´t}.
(1.7)
Mivel az egyetlen {v} pontb´ ol ´ all´ o s´eta 0 k¨ olts´eg˝ u, a πc f¨ uggv´eny nem-pozit´ıv. (Figyelem: a πc f¨ uggv´eny a cs´ ucshalmazon van ´ertelmezve, szemben cπ -vel, ami az ´elhalmazon.) ´ TETEL 1.3.8 (Gallai) A D = (V, A) ir´ any´ıtott gr´ af ´elein egy c k¨ olts´egf¨ uggv´eny akkor ´es csak akkor konzervat´ıv, ha l´etezik hozz´ a c-megengedett potenci´ al. Amennyiben c eg´esz´ert´ek˝ u ´es konzervat´ıv, u ´gy l´etezik eg´esz´ert´ek˝ u megengedett potenci´ al is. Biz. Amennyiben l´etezik π megengedett potenci´ al, u ´gy b´ armely K egyir´ any´ u k¨ orre az 1.3.5 lemma nyom´ an
e c(K) = e cπ (K) ≥ 0.
A ford´ıtott ir´ any az al´ abbi lemm´ an m´ ulik.
Lemma 1.3.9 Ha c konzervat´ıv, akkor az (1.7)-ben defini´ alt πc f¨ uggv´eny c-megengedett.
Biz. Legyen uv a digr´ af egy ´ele ´es legyen Pu egy legolcs´ obb u-v´eg˝ u u ´t, amelyre teh´ at e c(Pu ) = πc (u). Amennyiben v nincs rajta P -n, u ´gy Pv := P + uv egy v-v´eg˝ uu ´t ´es ez´ert e c(Pv ) ≥ πc (v). Ebb˝ ol πc (v) ≤ e c(Pv ) = e c(Pu ) + c(uv) = πc (u) + c(uv), vagyis ilyenkor val´ oban πc (v) − πc (u) ≤ c(uv). Tegy¨ uk most fel, hogy v rajta van a Pu -´ uton. A Pu u ´t v-ig tart´ o kezd˝ o szakasz´ at jel¨ olje P1 , m´ıg a v-t˝ ol u-ig vezet˝ o r´esz´ utj´ at P2 . Ekkor e c(Pu ) = e c(P1 ) + e c(P2 ). Tekints¨ uk a K := P2 + uv egyir´ any´ u k¨ ort. Mivel c konzervat´ıv, e c(K) ≥ 0, vagyis c(uv) ≥ −e c(P2 ). Miut´ an P1 egy v-v´eg˝ uu ´t, ez´ert πc (v) ≤ e c(P1 ). Mindezeket ¨ osszevetve azt kapjuk, hogy πc (v) − πc (u) ≤ e c(P1 ) − e c(Pu ) = −c(P2 ) ≤ c(uv), vagyis πc t´enyleg megengedett potenci´ al. • A t´etel m´ asodik r´esze k¨ ovetkezik a lemm´ ab´ ol, hiszen ha c eg´esz´ert´ek˝ u, u ´gy πc is az. • •
A k¨ ovetkez˝ o megfigyel´es azt mutatja, hogy a πc f¨ uggv´eny egyfajta ´ertelemben kanonikus megengedett potenci´ al. ´ TETEL 1.3.10 Legyen c konzervat´ıv k¨ olts´egf¨ uggv´eny. A πc f¨ uggv´eny az egy´ertelm˝ u legnagyobb nem-pozit´ıv megengedett potenci´ al (azaz πc ≥ π minden nem-pozit´ıv megengedett π potenci´ alra). Biz.
Legyen π nem-pozit´ıv megengedett potenci´ al. Legyen Pt egy legolcs´ obb t-v´eg˝ u u ´t, amelyre teh´ at
e c(Pt ) = Pc (t). Jel¨ olje Pt kezd˝ opontj´ at s. Az 1.3.6 lemma ´es π(s) ≥ 0 folyt´ an πc (t) = e c(Pt ) = π(t)−π(s) ≥ π(t). •
Az 1.3.8 t´etel al´ abbi kiterjesz´es´eben a potenci´ al-k¨ ul¨ onbs´egre nem csup´ an fels˝ o, hanem als´ o korl´ atot is el˝ o´ırunk.
´ TETEL 1.3.11 A D = (V, A) digr´ af ´elhalmaz´ an adott k´et korl´ atoz´ o f¨ uggv´eny: cal ≤ cf el . Akkor ´es csak akkor l´etezik olyan π : V → R vektor (amely r´ aad´ asul eg´esz´ert´ek˝ u, ha cal ´es cf el is az), amelyre cal (uv) ≤ π(v) − π(u) ≤ cf el (uv) minden e = uv ´elre, ha a c′ -vel ´els´ ulyozott D′ = (V, A′ ) seg´edgr´ afban nincsen negat´ıv k¨ or, ahol ′ uv akkor eleme A -nek, ha vagy uv ∈ A ´es ekkor c′ (uv) := cf el (uv), vagy vu ∈ A ´es ekkor c′ (uv) := −cal (vu). • Feladat 1.24 Igazoljuk az 1.3.11 t´etelt.
Tenzi´ ok Mik´ent lehet egy x : A → R f¨ uggv´enyr˝ ol felismerni, hogy pontinduk´ alt-e? Ha p´eld´ aul a digr´ af az u ´es v pontokb´ ol valamint az u-b´ ol v-be vezet˝ o e ´es f p´ arhuzamos ´elekb˝ ol ´ all, akkor x(u) 6= x(v) eset´en x nyilv´ an nem lehet potenci´ al-k¨ ul¨ onbs´eg. Egy x : A → R f¨ uggv´enyt tenzi´ onak nevez¨ unk, ha a digr´ af minden C k¨ ore semleges abban az ´ertelemben, hogy a C el˝ oremen˝ o ´elein a ϕx (C)-vel jel¨ olt x-¨ osszeg egyenl˝ o a h´ atramen˝ o ´eleken vett βx (C) x-¨ osszeggel. (A ϕ bet˝ u az angol forward sz´ ora utal, m´ıg a β a backward-b´ ol j¨ on.) Magyarul C akkor semleges, ha ϕx (C)−βx (C) = 0. Speci´ alisan ez azt jelenti, hogy minden egyir´ any´ u K k¨ orre e x(K) = 0. Legyen e = uv egy ´el, m´ıg T egy e-t nem tartalmaz´ o fesz´ıt˝ o fa. Az e ´el az u-t ´es v-t a T -ben ¨ osszek¨ ot˝ o egy´ertelm˝ uP u ´ttal egy k¨ ort alkot, amit az e ´el T -hez tartoz´ o alapk¨ or´enek nevez¨ unk. ´ TETEL 1.3.12 Egy c : A → R f¨ uggv´eny akkor ´es csak akkor tenzi´ o, ha potenci´ al-k¨ ul¨ onbs´eg. Ha c eg´esz´ert´ek˝ u tenzi´ o, akkor l´etezik olyan eg´esz´ert´ek˝ u π potenci´ al, amelyre c = ∆π .
15
Biz. Egy egyszer˝ u, de hasznos megfigyel´essel kezdj¨ uk. Legyen uv ´es vu k´et szembe ir´ any´ıtott p´ arhuzamos ´el, melyekre c(vu) = −c(uv). B´ armely π : V → R f¨ uggv´enyre c(uv) = π(v) − π(u) pontosan akkor teljes¨ ul, ha c(vu) = π(u) − π(v). Ebb˝ ol ad´ odik, hogy (∗) egy k¨ olts´egf¨ uggv´eny akkor ´es csak akkor potenci´ al-k¨ ul¨ onbs´eg, ha n´eh´ any ´elt megford´ıtva ´es ezeknek a k¨ olts´eg´et neg´ alva potenci´ al-k¨ ul¨ onbs´eget kapunk. Tegy¨ uk fel el˝ osz¨ or, hogy c potenci´ al-k¨ ul¨ onbs´eg, azaz l´etezik egy π : V → R f¨ uggv´eny, amelyre c = ∆π . Legyen C a digr´ af egy k¨ ore. Ha C egyir´ any´ u, akkor az 1.3.5 lemma nyom´ an tudjuk, hogy e c(C) = 0. Ha a k¨ or¨ on vannak el˝ oremen˝ o ´es h´ atramen˝ o ´elek, akkor az ut´ obbiakat ford´ıtsuk meg ´es k¨ olts´eg¨ uket neg´ aljuk. A keletkez˝ o K egyir´ any´ u k¨ orre 0 = e c(K) = ϕc (C) − βc (C). A ford´ıtott ir´ any igazol´ as´ ahoz legyen most c tenzi´ o, amelyr˝ ol ki akarjuk mutatni, hogy potenci´ al-k¨ ul¨ onbs´eg. Feltehetj¨ uk, hogy D ir´ any´ıtatlan ´ertelemben ¨ osszef¨ ugg˝ o. A (∗) tulajdons´ ag nyom´ an ekvivalens feladathoz jutunk, ha n´eh´ any ´elt megford´ıtunk ´es k¨ olts´egeiket neg´ aljuk. Ez´ert feltehetj¨ uk, hogy a digr´ afnak van egy F fesz´ıt˝ o feny˝ oje, melynek gy¨ oker´et jel¨ olje r. Legyen π(v) a feny˝ oben az r-b˝ ol v-be vezet˝ o egy´ertelm˝ u egyir´ any´ u u ´t k¨ olts´ege. Figyelj¨ uk meg, hogy ha c eg´esz´ert´ek˝ u, akkor π is az. ´ ıt´ All´ as 1.3.2 c = ∆π . Biz. A defin´ıci´ ob´ ol ad´ od´ oan az F feny˝ o minden uv ´el´ere c(uv) = π(v) − π(u). Tegy¨ uk most fel, hogy az e = uv ´el nincs a feny˝ oben. Tekints¨ uk az e ´el C alapk¨ or´et. Ennek l´etezik egy r-hez legk¨ ozelebbi s pontja, ´es ekkor C = uv + Pu + Pv , ahol Pu illetve Pv az s-b˝ ol a feny˝ oben az u-ba illetve a v-be vezet˝ o egyir´ any´ u utakat jel¨ oli. A π defin´ıci´ oj´ ab´ ol ad´ odik, hogy π(v) − π(u) = e c(Pv ) − e c(Pu ). Feltehetj¨ uk, hogy uv a k¨ or el˝ oremen˝ o ´ele. Ekkor ϕc (C) = c(uv) + e c(Pu ) ´es βc (C) = e c(Pv ). Emiatt 0 = ϕc (C) − βc (C) = c(uv) + e c(Pu ) − e c(Pv ) = c(uv) + π(u) − π(v), azaz c(uv) = π(v) − π(u). • • Feladatok
1.25 Igazoljuk, hogy a pontinduk´ alt k¨ olts´egek alteret alkotnak RA -ban. Hat´ arozzuk meg ennek ortogon´ alis kieg´esz´ıt˝ o alter´et, m´ as sz´ oval, jellemezz¨ uk azon x ∈ RA vektorokat, melyeknek minden pontinduk´ alt k¨ olts´egf¨ uggv´ennyel vett skal´ arszorzata nulla. 1.26 Igazoljuk, hogy ha c eg´esz´ert´ek˝ u ´es pontinduk´ alt, akkor l´etezik olyan π eg´esz´ert´ek˝ u potenci´ al, amelyre c = ∆π . 1.27 Legyen adott egy c konzervat´ıv k¨ olts´egf¨ uggv´eny a D ir´ any´ıtott gr´ af ´elhalmaz´ an. Igazoljuk, hogy ha a K egyir´ any´ u k¨ or minden ´ele benne van 0-k¨ olts´eg˝ u egyir´ any´ u k¨ orben, akkor e c(K) = 0. 1.28 Melyek azok a digr´ afok, amelyek ´elhalmaz´ an l´etezik {+1, −1}-´ert´ek˝ u potenci´ al-k¨ ul¨ onbs´eg?
1.29 Adjunk az 1.3.8 t´etelre alternat´ıv bizony´ıt´ ast, amely pontsz´ am szerinti indukci´ ot haszn´ al az al´ abbi v´ azlat alapj´ an. V´ alasszunk ki egy tetsz˝ oleges z pontot, minden uz ´es zv ´elp´ arra vegy¨ unk egy u ´j ´elt u-b´ ol z-be, amelynek k¨ olts´ege legyen c(uz) + c(zu), majd t¨ or¨ olj¨ uk a z pontot. A keletkez˝ o kisebb pontsz´ am´ u gr´ afra alkalmazzunk indukci´ ot. 1.30 Er˝ osen ¨ osszef¨ ugg˝ o digr´ afban egy x : A → R f¨ uggv´eny akkor ´es csak akkor tenzi´ o, ha x e(K) = 0 minden K egyir´ any´ u k¨ orre.
1.31 Egy x : A → R f¨ uggv´eny akkor ´es csak tenzi´ o, ha egy adott T fesz´ıt˝ o f´ ahoz tartoz´ o valamennyi (teh´ at m − n + 1) alapk¨ or semleges. alok, akkor a π-vel jel¨ olt maximumuk is az, ahol 1.32 Igazoljuk, hogy ha π1 ´es π2 c-megengedett potenci´ π(v) := max{π1 (v), π2 (v)} (v ∈ V ). Erre t´ amaszkodva adjunk altenat´ıv bizony´ıt´ ast az 1.3.10 t´etelre. 1.33 Legyen π1 ´es π2 eg´esz´ert´ek˝ u c-megengedett potenci´ al. Igazoljuk, hogy π1 ⊓ π2 is c-megengedett potenci´ al, ahol π1 ⊓ π2 ´ert´eke a v ∈ V cs´ ucsban ⌊(π1 (v) + π2 (v)/2⌋.
1.3.5
Legolcs´ obb utak: min-max t´ etel ´ es optimalit´ asi felt´ etel
Az al´ abbiakban v´egig feltessz¨ uk, hogy a D digr´ afban minden pont el´erhet˝ o s-b˝ ol. ´ TETEL 1.3.13 Tegy¨ uk fel, hogy a D = (V, A) digr´ af minden cs´ ucsa el´erhet˝ o egy kijel¨ olt s pontb´ ol. Legyen c konzervat´ıv k¨ olts´egf¨ uggv´eny a D ´elhalmaz´ an. Ekkor µc megengedett potenci´ al. R´ aad´ asul µc az egy´ertelm˝ u legnagyobb olyan megengedett potenci´ al, amelyre π(s) = 0 (vagyis µc ≥ π minden olyan megengedett π potenci´ alra, amelyre π(s) = 0).
16
Biz. Legyen uv a digr´ af egy ´ele ´es tekints¨ unk egy P legolcs´ obb su-utat, amelyre teh´ at e c(P ) = µc (u). Amennyiben v nincs rajta P -n, u ´gy P + uv egy sv-´ ut, ´es ez´ert a k¨ olts´ege legfeljebb µc (v). Teh´ at µc (v) ≥ e c(P ) + c(uv) = µc (u) + c(uv), vagyis ilyenkor val´ oban µc (v) − µc (u) ≤ c(uv). Tegy¨ uk most fel, hogy v rajta van a P -´ uton. A P u ´t v-ig tart´ o kezd˝ o szakasz´ at jel¨ olje P1 , m´ıg a v-t˝ ol u-ig vezet˝ o r´esz´ utj´ at P2 . Ekkor teh´ at e c(P ) = e c(P1 ) + e c(P2 ). Tekints¨ uk a K := P2 + uv egyir´ any´ u k¨ ort. Mivel c konzervat´ıv, e c(K) ≥ 0, vagyis c(uv) ≥ −e c(P2 ). Miut´ an P1 egy sv-´ ut, µc (v) ≤ e c(P1 ). Mindezeket ¨ osszet´eve kapjuk, hogy µc (v) − µc (u) ≤ e c(P1 ) − e c(P ) = −c(P2 ) ≤ c(uv). A m´ asodik r´esz igazol´ as´ ahoz legyen π olyan megengedett potenci´ al, amelyre π(s) = 0 ´es legyen P egy legolcs´ obb st-´ ut, amelyre teh´ at e c(P ) = µc (t). Az 1.3.6 lemma alapj´ an µc (t) = e c(P ) ≥ π(t) − π(s) = π(t). • Alternat´ıv bizony´ıt´ as Megmutatjuk, hogy µc megengedetts´ege r¨ ogt¨ on k¨ ovetkezik az 1.3.9 lemm´ ab´ ol is. Val´ oban, vegy¨ unk a digr´ afhoz egy u ´j s′ pontot ´es egy u ´j s′ s ´elt, melynek c-k¨ olts´ege legyen −M , ahol M egy nagy sz´ am. A keletkez˝ o D′ digr´ afban az M nagy v´ alaszt´ asa miatt a legolcs´ obb v-v´eg˝ u utak mind s′ -ben ′ ′ ′ kezd˝ odnek ´es emiatt πc (v) = µc (v) − M , ahol πc (v) a a D legolcs´ obb v-v´eg˝ uu ´tj´ anak a k¨ olts´eg´et jel¨ oli. Ez´ert πc′ (v) megengedetts´eg´eb˝ ol k¨ ovetkezik µc megengedetts´ege. •
´ TETEL 1.3.14 (Legolcs´ obb utak r´ eszgr´ afj´ anak t´ etele) Tegy¨ uk fel, hogy a D = (V, A) digr´ af minden cs´ ucsa el´erhet˝ o egy kijel¨ olt s pontb´ ol. Legyen c konzervat´ıv k¨ olts´egf¨ uggv´eny a D ´elhalmaz´ an. Jel¨ olje D0 = (V, A0 ) a µc -re n´ezve pontos ´elek r´eszgr´ afj´ at. Minden t cs´ ucsra egy P st-´ ut akkor ´es csak akkor legolcs´ obb st-´ ut D-ben (azaz µc (t) k¨ olts´eg˝ u), ha minden ´ele D0 -ban van. Speci´ alisan, D0 -ban b´ armely s-feny˝ o a D-nek egy legolcs´ obb utak feny˝ oj´et alkotja. Biz. Az 1.3.13 t´etel szerint µc megengedett potenci´ al. Az 1.3.6 lemma els˝ o r´esze alapj´ an minden µc -re n´ezve pontos ´elekb˝ ol ´ all´ o st-´ ut legolcs´ obb st-´ ut, vagyis minden D0 -beli st-´ ut legolcs´ obb st-´ ut D-ben. Megford´ıtva, tegy¨ uk fel, hogy P legolcs´ obb st-´ ut D-ben, melynek pontjai legyenek s = v0 , v1 , · · · , vk = t. Ism´et haszn´ alva, hogy µc megengedett potenci´ al, kapjuk, hogy µc (t) = e c(P ) =
X
[c(vi−1 vi ) : i = 1, . . . , k] ≥
X
[µc (vi ) − µc (vi−1 ) : i = 1, . . . , k] = µc (t) − µc (s) = µc (t),
amib˝ ol c(vi−1 vi ) = µc (vi ) − µc (vi−1 ) minden i = 1, . . . , k-re, mutatva, hogy P valamennyi ´ele D0 -ban van. • A legolcs´ obb utakra vonatkoz´ o min-max t´etelt aciklikus digr´ afokra m´ ar bebizony´ıtottuk (1.3.2 t´etel). A t´etel ´ altal´ anosabban is ´erv´enyes. ´ TETEL 1.3.15 (Duffin) Konzervat´ıv c k¨ olts´egf¨ uggv´eny eset´en az s-b˝ ol t-be vezet˝ o utak k¨ olts´eg´enek µc (t) minimuma egyenl˝ o a π(t) − π(s) ´ert´ek maximum´ aval, ahol a maximum az ¨ osszes megengedett π potenci´ alon veend˝ o. Amennyiben c eg´esz´ert´ek˝ u, u ´gy az optim´ alis π is v´ alaszthat´ o annak. Biz. Legyen π megengedett potenci´ al, P pedig egy tetsz˝ oleges u ´t s-b˝ ol t-be. Az 1.3.6 lemma folyt´ an e c(P ) ≥ π(t) − π(s), vagyis a t´etelben a min ≥ max ir´ any k¨ ovetkezik. A ford´ıtott ir´ any´ u egyenl˝ otlens´eg igazol´ as´ ahoz kell tal´ alnunk egy P st-utat ´es egy π megengedett potenci´ alt, amelyekre e c(P ) = π(t) − π(s). E c´elra viszont egy tetsz˝ oleges P legolcs´ obb st-´ ut ´es a µc megengedett potenci´ al az 1.3.14 t´etel miatt megfelel. •
1.3.6
Algoritmusok
A fentiekben megteremtett¨ uk az elvi h´ atteret olyan algoritmusok k´esz´ıt´es´ehez, amelyek seg´ıts´eg´evel hat´ekonyan kereshet¨ unk negat´ıv k¨ ort vagy megengedett potenci´ alt. Erre k´et elt´er˝ o jelleg˝ u algoritmust is le´ırunk.
Jav´ıt´ o utas algoritmus C´elunk algoritmikusan u ´jra bizony´ıtani Gallai t´etel´enek nem-trivi´ alis ir´ any´ at (: ha egy digr´ afban nincs negat´ıv k¨ or, akkor van megengedett potenci´ al.) Ennek ´erdek´eben induljunk ki egy tetsz˝ oleges π potenci´ alb´ ol, amely eg´esz´ert´ek˝ u, ha c az. Ha cπ := c − ∆π nem-negat´ıv, akkor π defin´ıci´ o szerint megengedett ´es ekkor az elj´ ar´ as m´ ar v´eget is ´er. Tegy¨ uk fel teh´ at, hogy vannak hib´ as ´elek, azaz olyanok, amelyek cπ -´ert´eke negat´ıv. Az al´ abbi elj´ ar´ as egyenk´ent megsz¨ unteti a hib´ as ´eleket an´elk¨ ul, hogy u ´jabb hib´ asakat kre´ alna, illetve ha egy ´el hib´ ass´ ag´ at nem siker¨ ul megsz¨ untetnie, akkor tal´ al egy negat´ıv k¨ ort. E c´elb´ ol tekints¨ unk egy hib´ as st ∈ A ´elt, amelyre teh´ at cπ (st) < 0. Legyen Aπ := {e ∈ A : cπ (e) ≤ 0} ´es tekints¨ uk a D digr´ af Dπ = (V, Aπ ) r´eszgr´ afj´ aban a t-b˝ ol el´erhet˝ o pontok Z halmaz´ at. Amennyiben s benne van Z-ben, azaz Dπ -ben l´etezik egy P egyir´ any´ u ts-´ ut, u ´gy a K := P + st egyir´ any´ u k¨ orre e c(K) = e cπ (K) = e cπ (P ) + cπ (st) < 0, vagyis K negat´ıv k¨ or. Ha s nincs Z-ben, akkor m´ odos´ıtsuk π-t a k¨ ovetkez˝ ok´eppen. π(v) :=
π(v) − ε, π(v),
17
ha v ∈ Z ha v ∈ V − Z,
(1.8)
ahol ε := min{|cπ (st)|, ε1 } ´es ε1 := min{cπ (e) : e ∈ A, e kil´ep Z-b˝ ol}.
(1.9)
Az ε1 -t itt ∞-nek ´ertelmezz¨ uk, ha D-nek semelyik ´ele sem l´ep ki Z-b˝ ol. Meg´ allap´ıthatjuk, hogy ε a defin´ıci´ oja folyt´ an pozit´ıv ´es a π fenti m´ odos´ıt´ as´ aval nem keletkezik u ´j hib´ as ´el. Ha ε = |cπ (st)|, akkor π ′ -re n´ezve st m´ ar nem hib´ as, vagyis a hib´ as ´elek halmaza a c´elnak megfelel˝ oen kisebb lett. Amennyiben ε = ε1 , akkor ism´etelj¨ uk az elj´ ar´ ast a v´ altozatlan st ´elre ´es a m´ odos´ıtott π ′ potenci´ alra n´ezve. asr´eszt a Z-b˝ ol kil´ep˝ o Figyelj¨ uk meg egyr´eszt, hogy a Z ´ altal fesz´ıtett Aπ -´elek ´es Aπ′ -´elek ugyanazok, m´ e ∈ A ´el, amelyen az (1.9)-beli minimum felv´etetik beker¨ ul Aπ′ -be, hiszen ε = ε1 = cπ (e) miatt cπ′ (e) = 0. ol el´erhet˝ o pontok halmaza szigor´ uan b˝ ovebb, mint Z ´es ´ıgy ilyen ism´etl´esre legfeljebb Emiatt a Dπ′ -ben a t-b˝ n − 1-szer ker¨ ulhet sor. V´eg¨ ul vegy¨ uk ´eszre, hogy eg´esz´ert´ek˝ u c eset´en az elj´ ar´ as v´egig fenntartja π eg´esz´ert´ek˝ us´eg´et. • A bizony´ıt´ asb´ ol ad´ od´ oan egyetlen hib´ as ´el megjav´ıt´ asa O(m) l´ep´esben t¨ ort´enhet, ´ıgy az algoritmus teljes l´ep´essz´ ama O(m2 ).
Legolcs´ obb v-v´ eg˝ u s´ et´ ak ´ es utak: a Bellman–Ford algoritmus Konzervat´ıv c eset´en a fenti O(m2 )-es jav´ıt´ o utas algoritmus megtal´ al egy megengedett potenci´ alt. A most k¨ ovetkez˝ o Bellman–Ford f´ele elj´ ar´ as kisz´ am´ıtja az 1.3.9 lemm´ aban szerepl˝ o kanonikus πc megengedett potenci´ alt vagy pedig tal´ al egy negat´ıv k¨ ort. Az algoritmus l´ep´essz´ ama O(mn) lesz. Az alap¨ otlet az, hogy az i = 0, 1, . . . , n ´ert´ekek mindegyik´ere egym´ as ut´ an egy egyszer˝ u rekurzi´ o seg´ıts´eg´evel (i) kisz´ am´ıtjuk a v-v´eg˝ u (v ∈ V ) legolcs´ obb legfeljebb i ´el˝ u s´et´ at. Jel¨ olje ennek k¨ olts´eg´et πc (v). Ehhez nem is kell c-r˝ ol feltenni, hogy konzervat´ıv. Ha viszont az, akkor az 1.3.1 ´ all´ıt´ asb´ ol tudjuk, hogy a minimaliz´ al´ o s´eta (n) v´ alaszthat´ ou ´tnak is, ´es emiatt πc (v) = πc (v). (0) uk meg, Mivel az egyetlen v pontb´ ol ´ all´ o ´el n´elk¨ uli s´eta k¨ olts´ege 0, ´ıgy πc (v) = 0 minden v-re. Figyelj¨ hogy egy v-ben v´egz˝ od˝ o legfeljebb i + 1 ´el˝ u s´eta vagy pontosan i + 1 ´elb˝ ol ´ all vagy legfeljebb i ´elb˝ ol. Ebb˝ ol (i) ar minden v cs´ ucsra rendelkez´esre ´ allnak, u ´gy legyen ad´ od´ oan ha a πc (v) ´ert´ekek m´ πc(i+1) (v) = min{πc(i) (v), min{πc(i) (u) + c(uv) : uv ∈ A}}.
(1.10) (i)
aknak Term´eszetesen ugyanez a rekurzi´ o haszn´ alhat´ o maguknak a legolcs´ obb legfeljebb i ´el˝ u v-v´eg˝ u Wc (v) s´et´ a megkonstru´ al´ as´ ara is. Val´ oban, i = 0-ra Wci (v) legyen az egyetlen v pontb´ ol ´ all´ o 0 ´el˝ u s´eta. Ha pedig (i) akat, akkor legyen: valamilyen i ≥ 0-ra m´ ar minden v-re kisz´ am´ıtottuk a Wc (v) s´et´
Wc(i+1) (v) :=
(i)
Wc (v), (i) Wc (u) + uv,
(i)
(i+1)
(v) = πc (v) ha πc (i) (i+1) (i) (v) = πc (u) + c(uv) valamely uv ∈ A ´elre. ha πc (v) > πc
(1.11)
A sz´etv´ alaszt´ as annak megfelel˝ oen t¨ ort´enik, hogy (1.10) jobb oldal´ an a k¨ uls˝ o minimum az els˝ o vagy a m´ asodik tagon v´etetik fel, ´es ha nem az els˝ on, akkor a m´ asodik tagon bel¨ ul melyik uv ´elen. A defin´ıci´ ob´ ol (i+1) (v) egy legolcs´ obb legfeljebb i + 1 ´el˝ u v-ben v´egz˝ od˝ o s´eta. ad´ od´ oan Wc Az algoritmus fut´ asa k´etf´elek´eppen ´erhet v´eget. (n)
(n)
obb v-v´eg˝ u u ´t ´es ´t. Ekkor Wc (v) egy legolcs´ I. eset A fut´ as v´eg´en kapott valamennyi Wc (v) s´eta u (n) am´ıtott πc megengedett potenci´ al. ez´ert πc (v) = πc (v). Az 1.3.9 lemma miatt az ´ıgy kisz´ (i)
ak mindegyik II. eset A v´eg¨ ul kapott s´et´ ak valamelyike nem u ´t. Ekkor van olyan i index, hogy a Wc (v) s´et´ (i+1) (v) nem u ´t. Ekkor az (1.10) rekurzi´ oban a v ∈ V pontra utat alkotnak, de van olyan v cs´ ucs, amelyre Wc minimum nem az els˝ o tagon v´etetik fel ´es emiatt bizonyosan πc(i+1) (v) < πc(i) (v). (i)
´ton. Az (1.10) m´ asodik tagj´ aban a minimum egy olyan uv ´elen ´eretik el, amelyre v rajta van Pu := Wc (u) u (i) (i+1) ´t volna.) Jel¨ olje P1 a Pu u ´t v-ig terjed˝ o kezd˝ o (v) = Wc (u) + uv u (Ha ugyanis nem volna rajta, akkor Wc szakasz´ at, m´ıg P2 a Pv vu-r´esz´ utj´ at. Ekkor K := P2 + uv egyir´ any´ u k¨ or. ´ ıt´ All´ as 1.3.3 e c(K) < 0.
Biz. Miut´ an P1 v-ben v´egz˝ odik ´es |P1 | < |Pu | ≤ i, ez´ert
amib˝ ol e c(K) < 0 ad´ odik. •
e c(P1 ) ≥ πc(i) (v) > πc(i+1) (v) = e c(P1 ) + e c(K), 18
Az algoritmus fut´ asa ebben az esetben a negat´ıv K k¨ or kiad´ as´ aval v´egz˝ odik. Az algoritmus minden i-re a minimumok sz´ amol´ as´ an´ al minden egyes ´elt egyszer tekint, ´ıgy a teljes l´ep´essz´ am O(nm). Ez jobb, mint a jav´ıt´ o utakat haszn´ al´ o O(m2 )-es algoritmus. A fenti megfontol´ asokb´ ol ad´ odik a Gallai t´etel egyfajta finom´ıt´ asa. ´ TETEL 1.3.16 Adott D digr´ afra ´es c k¨ olts´egf¨ uggv´enyre a k¨ ovetkez˝ ok ekvivalensek. (P1) D-ben nincs negat´ıv egyir´ any´ u k¨ or (azaz c konzervat´ıv). (P2) A Bellman–Ford algoritmus nem tal´ al negat´ıv k¨ ort. (D1) L´etezik megengedett potenci´ al. (n) (n) al megengedett ´es πc = πc . • (D2) A Bellman–Ford algoritmus ´ altal szolg´ altatott πc (v) (v ∈ V ) potenci´ Gyakorlat 1.34 Dolgozzunk ki elj´ ar´ ast a legolcs´ obb v-ben v´egz˝ od˝ o pontosan i ´el˝ u s´eta meghat´ aroz´ as´ ara.
Legolcs´ obb s-b˝ ol indul´ o s´ et´ ak ´ es utak: a Bellman–Ford algoritmus Tegy¨ uk fel most, hogy D minden pontja el´erhet˝ o s-b˝ ol ´es c konzervat´ıv. Az 1.3.13 t´etelben l´ attuk, hogy µc megengedett potenci´ al (ahol µc (v) jel¨ olte a legolcs´ obb sv-´ ut k¨ olts´eg´et). Fentebb le´ırtuk, hogy mik´ent lehet algoritmikusan kisz´ am´ıtani a πc potenci´ alt ´es az 1.3.13 t´etel alternat´ıv bizony´ıt´ as´ aban jelezt¨ uk, hogy ebb˝ ol mik´ent adhat´ o meg k¨ ozvetlen¨ ul µc . Ennek ismeret´eben pedig rendelkez´esre ´ all a µc -re n´ezve pontos ´elek ´ D0 r´eszgr´ afja, amir˝ ol az 1.3.14 t´etelben l´ attuk, hogy megadja az s-b˝ ol indul´ o¨ osszes legolcs´ obb utat. Erdekes megfigyelni, hogy ebben a fel´ep´ıt´esben nincs is sz¨ uks´eg a legolcs´ obb, legfeljebb i ´el˝ u s´et´ aknak a fenti rekurzi´ oval t¨ ort´en˝ o meghat´ aroz´ as´ ara, mert a µc ¨ onmag´ aban defini´ alja D0 -t. Ez a megk¨ ozel´ıt´es k¨ ul¨ on¨ osen el˝ ony¨ os, ha nem csup´ an egy r¨ ogz´ıtett s-b˝ ol indul´ o legolcs´ obb utakra vagyunk k´ıv´ ancsiak, hanem valamennyi s ∈ V pontra meg kell hat´ aroznunk a legolcs´ obb utak s-gy¨ oker˝ u feny˝ oj´et. Enn´el mi sem egyszer˝ ubb: n-szer kell alkalmaznunk a Bellman–Ford algoritmust. Eszerint az elj´ ar´ as l´ep´essz´ ama O(n2 m). De enn´el gazdas´ agosabban is elj´ arhatunk. A πc f¨ uggv´enyr˝ ol megmutattuk, hogy O(mn) l´ep´esben kisz´ am´ıthat´ o. Mivel πc c-megengedett potenci´ al, azaz c′ := c − πc ≥ 0, egy c′ -re n´ezve legolcs´ obb s-gy¨ oker˝ u 2 feny˝ o a Dijkstra algoritmus seg´ıts´eg´evel O(n ) l´ep´esben sz´ am´ıthat´ o. Mivel egy ilyen feny˝ o c-re n´ezve is legolcs´ obb utak feny˝ oje, az n darab feny˝ o kisz´ am´ıt´ as´ anak l´ep´essz´ ama O(mn) + O(n3 ), ami m ≤ n2 miatt O(n3 ) ´es ez jobb, mint az n darab Bellman–Fordb´ ol el˝ obb kapott O(n2 m). Visszat´erve a r¨ ogz´ıtett s pontb´ ol indul´ o legolcs´ obb utak kisz´ am´ıt´ as´ ara egy kicsit direktebb v´ altozatot is megadunk, amikor az algoritmust k¨ ozvetlen¨ ul a legolcs´ obb sv-utak kisz´ am´ıt´ as´ ara fogalmazzuk meg. Ne tegy¨ uk fel apriori, hogy c konzervat´ıv: ha kider¨ ul, hogy nem az, az algoritmus majd kiad egy negat´ıv k¨ ort. Erre a v´ altozatra is Bellman–Ford algoritmusk´ent hivatkozunk ´es val´ oj´ aban Bellman ´es Ford eredeti algoritmusa erre vontakozik. Ilyenkor a kijel¨ olt s pontb´ ol minden v ∈ V −s cs´ ucsra a legolcs´ obb legfeljebb i ´el˝ u sv-s´et´ at akarjuk (i) meghat´ arozni i = 1, 2, . . . eset´en, amely konyervat´ıv c eset´en mind u ´t lesz. Ennek k¨ olts´eg´et jel¨ olje µc (v). Feltessz¨ uk, hogy s-be nem l´ep ´el, hogy a digr´ afban nincs hurok´el ´es nincs (egyir´ any´ u) p´ arhuzamos ´el sem. (i) uk, hogy minden sv ´el a digr´ afhoz tartozik, mert Ennek folyt´ an µc (s) = 0 minden i-re. Azt is feltehetj¨ k¨ ul¨ onben nagy M k¨ olts´eggel a digr´ afhoz v´eve a legolcs´ obb st-´ ut k¨ olts´ege nem v´ altozik ´es negat´ıv k¨ or se (1) keletkezik. (V´ alaszthatjuk M -et p´eld´ aul a max{c(e) : e ∈ A} ´ert´eknek.) Ennek megfelelel˝ oen µc (v) = c(sv) (i) olts´egeket k¨ onny˝ u kisz´ am´ıtani egym´ as ut´ an az i = 2, 3, . . . ´ert´ekekre, hiszen egy (v ∈ V − s). A µc (v) k¨ legfeljebb i + 1 ´el˝ u sv-s´eta vagy pontosan i + 1 ´elb˝ ol ´ all vagy legfeljebb i ´elb˝ ol. Ebb˝ ol ad´ odik az al´ abbi (i) rekurzi´ o. Amennyiben a µc (v) ´ert´ekek m´ ar minden v cs´ ucsra rendelkez´esre ´ allnak, u ´gy legyen (i) µ(i+1) (v) = min{µ(i) c c (v), min{µc (u) + c(uv) : uv ∈ A}}.
(1.12)
(i)
aknak a megkonUgyanez a rekurzi´ o haszn´ alhat´ o maguknak a legolcs´ obb legfeljebb i ´el˝ u Sc (v) sv-s´et´ stru´ al´ as´ ara is. A kiindul´ asi i = 1 ´ert´ekre ´ alljon Sci (v) s´eta az egyetlen sv ´elb˝ ol (v ∈ V − s). Ha valamilyen (i) akat, akkor legyen: i ≥ 1-re m´ ar minden v ∈ V − s-re kisz´ am´ıtottuk az Sc (v) s´et´
Sc(i+1) (v) :=
(i)
Sc (v), (i) Sc (u) + uv,
(i+1)
(i)
(v) = µc (v) ha µc (i) (i+1) (i) (v) = µc (u) + c(uv) valamely uv ∈ A ´elre. ha µc (v) > µc
(1.13)
Magyar´ an, a sz´etv´ alaszt´ as annak megfelel˝ oen t¨ ort´enik, hogy (1.12) jobb oldal´ an a k¨ uls˝ o minimum az els˝ o vagy a m´ asodik tagon v´etetik fel, ´es ha nem az els˝ on, akkor a m´ asodik minimumon bel¨ ul melyik uv ´elen. A (i+1) (v) egy legolcs´ obb legfeljebb i + 1 ´el˝ u sv-s´eta. defin´ıci´ ob´ ol ad´ od´ oan Sc (n) (n) ´t, ´t, akkor ez legolcs´ obb sv-´ ut. Ha pedig Sc (v) valamelyik v-re nem u M´ armost, ha egy Sc (v) sv-s´eta u akkor c-nem konzervat´ıv ´es a v-v´eg˝ u s´et´ akn´ al le´ırtakhoz hasonl´ oan lehet egy negat´ıv k¨ ort megtal´ alni. Az algoritmus minden i eset´en a minimumok sz´ amol´ as´ an´ al minden egyes ´elt egyszer tekint, ´ıgy adott n-re a teljes l´ep´essz´ am O(nm).
19
(i)
arol´ as´ ara. El´eg ha csak Megjegyz´ es Val´ oj´ aban az algoritmus sor´ an nincsen sz¨ uks´eg az ¨ osszes Sc (v) s´eta t´ azt az uv ´elt t´ aroljuk, amelyen az (1.12) rekurzi´ o m´ asodik tagj´ aban a minimum felv´etetik, amikor a minimum nem az els˝ o tagon v´etetik fel. Ha c konzervat´ıv, akkor b´ armely v-pontba u ´gy kaphatunk meg egy legolcs´ obb utat s-b˝ ol, hogy v-b˝ ol visszafel´e haladva a t´ arolt ´eleken vissza´er¨ unk s-be. Ha c nem konzervat´ıv, akkor ez (n−1) (n) (v) nem s-be ´er vissza, hanem a visszafel´e l´epked˝ o elj´ ar´ as egy olyan v-b˝ ol indulva, amelyre µc (v) < µc (n−1) (n) (v) minden v-re, akkor a legk´enyelmesebb az a fentebb egy negat´ıv k¨ ort alkot. Ha visszont µc (v) = µc (n) amolja ki, mert ekkor a µc -pontos ´elek D0 digr´ afja m´ ar eml´ıtett megk¨ ozel´ıt´es, amely csak a µc = µc -t sz´ k¨ ozvetlen¨ ul megadja az ¨ osszes s-b˝ ol indul´ o legolcs´ obb utat.
A k´ et feladat ekvivalenci´ aja A fenti k´et feladatr´ ol ´erz˝ odik, hogy nagyon k¨ ozel ´ allnak egym´ ashoz, ekvivalenci´ ajukat fejezi ki az al´ abbi kis lemma. (i+1)
(i)
f¨ uggv´eny uggv´eny el˝ o´ all, mint egy egy ponttal nagyobb digr´ afra vonatkoz´ o µc Lemma 1.3.17 (a) A πc f¨ (i) (i+1) V -re val´ o megszor´ıt´ asa. (b) µc el˝ o´ all, mint egy 1 ponttal nagyobb digr´ afra vonatkoz´ o πc f¨ uggv´eny konstanssal val´ o eltoltj´ anak V -re val´ o megszor´ıt´ asa. Biz. (a) Vegy¨ unk a digr´ afhoz egy u ´j s cs´ ucsot ´es minden v cs´ ucsra egy 0 k¨ olts´eg˝ u sv ´elt. R¨ ogt¨ on l´ athat´ oan (i+1)
(i)
πc (v) = µc
(v) minden v ∈ V -re,
(1.14)
(i+1)
a kib˝ ov´ıtett digr´ afra vonatkozik. ahol µc (b) Adjunk a digr´ afhoz egy u ´j s′ pontot ´es egy u ´j s′ s ´elt, melynek k¨ olts´ege legyen egy alkalmasan nagy M sz´ am negat´ıvja. Ekkor a kib˝ ov´ıtett digr´ afban minden v-re a v-ben v´egz˝ od˝ o legolcs´ obb legfeljebb i + 1 ´el˝ u s´eta s′ -ben fog kezd˝ odni, ´es ez´ert (i)
(i+1)
µc (v) = πc (i+1)
ahol πc
(v) − M minden v ∈ S-re,
(1.15)
a kib˝ ov´ıtett digr´ afra vonatkozik. •
Feladatok 1.35 Fogalmazzuk meg az 1.3.11 t´etel ´ altal´ anos´ıt´ as´ at, ha minden v pontban a π(v)-re als´ o ´es fels˝ o korl´ at is ki van t˝ uzve. 1.36 Dolgozzunk ki elj´ ar´ ast annak eld¨ ont´es´ere, hogy egy digr´ af konzervat´ıv s´ ulyoz´ as´ ara n´ezve l´etezik-e nulla s´ uly´ u k¨ or. (n)
(n−1)
(v). (a) 1.37 Tegy¨ uk fel, hogy c nem konzervat´ıv. Nevezz¨ unk egy v cs´ ucsot hib´ asnak, ha πc (v) < πc Mutassuk meg, hogy egy v-ben v´egz˝ od˝ o legolcs´ obb legfeljebb n ´el˝ u s´eta induk´ al egy K negat´ıv k¨ ort. Igazoljuk, hogy ha c-t minden ´elen egys´egesen a e c(K)/|K| ´ert´ekkel megemelj¨ uk, akkor a keletkez˝ o c+ k¨ olts´egf¨ uggv´enyre + n´ezve v m´ ar nem hib´ as, tov´ abb´ a minden c-re n´ezve hib´ atlan pont c -ra n´ezve is hib´ atlan.
1.38 Legyen adott egy nemnegat´ıv k¨ olts´egf¨ uggv´eny egy ir´ any´ıtott gr´ af ´elhalmaz´ an. Igazoljuk, hogy ha egy s-b˝ ol t-be vezet˝ o P egyir´ any´ u u ´t minden ´ele benne van egy legolcs´ obb egyir´ any´ u u ´tban, akkor P maga is legolcs´ obb egyir´ any´ uu ´t. Mutassuk meg, hogy a megfelel˝ o´ all´ıt´ as ir´ any´ıtatlan gr´ afra nem igaz.
1.39 Adott az ´eleken egy tetsz˝ oleges s´ uly-f¨ uggv´eny. Hat´ arozzunk meg egy olyan s-b˝ ol t-be vezet˝ o utat, amelyen a legnagyobb s´ uly a lehet˝ o legkisebb. 1.40 Tegy¨ uk fel, hogy az ´eleken k´et konzervat´ıv k¨ olts´egf¨ uggv´eny¨ unk adott: c1 ´es c2 . K´esz´ıts¨ unk algoritmust olyan st-´ ut megkeres´es´ere, amely a c1 -re n´ezve minim´ alis k¨ olts´eg˝ u ´es ezen bel¨ ul c2 -re n´ezve minim´ alis k¨ olts´eg˝ u. 1.41 Egy digr´ afban minden v pontra meg van adva egy sv-´ ut. Amennyiben ezek π(v) k¨ olts´ege megengedett potenci´ al, u ´gy mindegyik u ´t legolcs´ obb u ´t. 2013. augusztus 1. file: linp, uminutak
20
1.4
P´ aros gr´ afok optim´ alis p´ aros´ıt´ asai
Egy oszt´ alyba 25 gyerek j´ ar. Egy kir´ andul´ ason k´esz¨ ult f´enyk´epek k¨ oz¨ ul 25-¨ ot h´ıvtak el˝ o, melyek mindegyik´en a gyerekek egy csoportja l´ athat´ o. A k´epeket szeretn´enk kiosztani a gyerekek k¨ oz¨ ott, term´eszetesen u ´gy, hogy minden gyerek rajta legyen a neki juttatott k´epen. Mikor lehets´eges ez, ´es hogyan tudunk hat´ekonyan ´ megkeresni egy ilyen hozz´ arendel´est? Altal´ anosabb feladathoz jutunk, ha minden gyerek, mondjuk 0-t´ ol 10ig terjed˝ o pontoz´ assal megmondja, hogy az egyes f´enyk´epek sz´ am´ ara mennyit ´ernek. Ekkor a gyerekeknek ´es a f´enyk´epeknek egy olyan egym´ ashoz rendel´es´et kell megkeresn¨ unk, amelynek az ¨ osszpontsz´ ama a lehet˝ o legnagyobb. Az ilyen jelleg˝ u probl´em´ ak k¨ or´et nevezik hozz´ arendel´ esi feladatnak (assignment problem). ´Ime egy m´ asik p´elda: az u ´sz´ osz¨ ovets´eg szeretn´e kiv´ alasztani a v´ alogatott n´egyszer sz´ azm´eteres vegyes-v´ alt´ o n´egy tagj´ at. Mind a n´egy u ´sz´ asnemben rendelkez´esre ´ all a sz´ obaj¨ ov˝ ou ´sz´ ok legjobb id˝ oeredm´enye. V´ alasszuk ki a n´egy u ´sz´ ot ´es rendelj¨ uk hozz´ ajuk a n´egy k¨ ul¨ onb¨ oz˝ ou ´sz´ asnemet u ´gy, hogy az id˝ oeredm´enyek ¨ osszege minim´ alis legyen. L´ athatjuk, hogy a hozz´ arendel´esi probl´em´ anak t¨ obb vari´ aci´ oja is van. Az egyik alak egy ´els´ ulyozott teljes p´ aros gr´ afban, amelynek k´et pontoszt´ alya egyforma elemsz´ am´ u, maxim´ alis s´ uly´ u teljes p´ aros´ıt´ as meghat´ aroz´ as´ at c´elozza. (P´ aros´ıt´ ason [matching] olyan gr´ afot ´ert¨ unk, amelyben minden pont foka legfeljebb egy. A teljes p´ aros´ıt´ asban minden pont foka pontosan egy.) Ugyanez a k´erd´es kicsit ´ altal´ anosabb, ha a sz´ obanforg´ o p´ aros gr´ af nem felt´etlen¨ ul teljes, hanem csak annyit tesz¨ unk fel, hogy l´etezik benne teljes p´ aros´ıt´ as. Ennek kapcs´ an vizsg´ aland´ o, hogy egy p´ aros gr´ afban egy´ altal´ an mikor l´etezik teljes p´ aros´ıt´ as, illetve ha nem l´etezik, mekkora a legnagyobb p´ aros´ıt´ as ´es azt mik´ent tudjuk meghat´ arozni. Feltehetj¨ uk a k´erd´est, hogy mekkora a maxim´ alis s´ uly´ u (nem felt´etelen¨ ul teljes) p´ aros´ıt´ as s´ ulya, vagy a maxim´ alis s´ uly´ u k ´el˝ u p´ aros´ıt´ as s´ ulya. (Az u ´sz´ ov´ alt´ o¨ ossze´ all´ıt´ as´ an´ al minim´ alis s´ uly´ u n´egy´el˝ u p´ aros´ıt´ ast keres¨ unk). Megjegyzend˝ o, hogy a hozz´ arendel´esi probl´em´ at n´eha m´ atrix nyelven fogalmazz´ ak meg. P´eld´ aul: adott egy nemnegat´ıv n×n-es m´ atrix, v´ alasszuk ki a m´ atrix n elem´et u ´gy, hogy minden sorb´ ol ´es minden oszlopb´ ol egy elem ker¨ ul kiv´ alaszt´ asra ´es a kiv´ alasztott elemek ¨ osszege maxim´ alis. Ez a feladat ekvivalens egy n × n-es ´els´ ulyozott teljes p´ aros gr´ af maxim´ alis s´ uly´ u teljes p´ aros´ıt´ as´ anak meghat´ aroz´ as´ aval. Mindezen probl´em´ ak megold´ as´ ara szolg´ al a Magyar m´ odszer. Az elnevez´es H. Kuhn amerikai kutat´ ot´ ol sz´ armazik, aki egy 1955-¨ os cikk´eben K˝ onig D´enes ´es Egerv´ ary Jen˝ o kor´ abbi gondolataira t´ amaszkodva eleg´ ans algoritmust fejlesztett ki maxim´ alis s´ uly´ u p´ aros´ıt´ as meghat´ aroz´ as´ ara p´ aros gr´ afban. F´elre´ert´es forr´ asa lehet, hogy a szakirodalomban n´eha a maxim´ alis elemsz´ am´ u p´ aros´ıt´ as megkeres´es´et biztos´ıt´ o altern´ al´ o utas elj´ ar´ ast is m´ ar Magyar m´ odszernek nevezik. Hangs´ ulyozzuk azonban, hogy a Kuhn ´ altal Magyar m´ odszernek nevezett elj´ ar´ as maxim´ alis s´ uly´ u teljes p´ aros´ıt´ as megkeres´es´ere szolg´ al. Gyakorlat 1.42 Mutassuk meg, hogy ha rendelkez´es¨ unkre ´ all egy olyan szubrutin, amelynek seg´ıts´eg´evel tetsz˝ oleges nemnegat´ıv s´ ulyoz´ asra meg tudunk egy maxim´ alis s´ uly´ u teljes p´ aros´ıt´ ast hat´ arozni, akkor egy minim´ alis s´ uly´ u teljes p´ aros´ıt´ ast is ki tudunk sz´ am´ıtani.
1.4.1
Maxim´ alis elemsz´ am´ u p´ aros´ıt´ asok: a jav´ıt´ o utak m´ odszere
Vizsg´ alatainkat kezdj¨ uk a s´ ulyozatlan eset ´ attekint´es´evel. A kiindul´ asi eredm´eny K˝ onig D´enes t´etele. ´ TETEL 1.4.1 (K˝ onig) Egy G = (S, T ; E) p´ aros gr´ afban a a maxim´ alis p´ aros´ıt´ as ν = ν(G) elemsz´ ama ν = ν(G) sz´ ama egyenl˝ o az ´eleket lefog´ o pontok minim´ alis τ = τ (G) elemsz´ am´ aval. Biz. Egy ν elem˝ u p´ aros´ıt´ as lefog´ as´ ahoz kell legal´ abb ν cs´ ucs, ´ıgy az ¨ osszes ´elhez is kell ennyi, ez´ert ν ≤ τ . A nemtrivi´ alis ν ≥ τ ir´ any igazol´ as´ ahoz konstru´ alunk egy M ⊆ E p´ aros´ıt´ ast ´es egy L ⊆ S ∪ T lefog´ ast, melyekre |M | = |L|. Az elj´ ar´ as a G egy tetsz˝ oleges M p´ aros´ıt´ as´ ab´ ol indul ki, ami kezdetben az u ¨res halmaz is lehet. Az ´ altal´ anos l´ep´esben vagy tal´ alunk egy nagyobb p´ aros´ıt´ ast, ´es ekkor a nagyobb p´ aros´ıt´ asra vonatkoz´ oan iter´ aljuk az elj´ ar´ ast, vagy pedig egy |M |-mel megegyez˝ o elemsz´ am´ u lefog´ ast, amikor is az algoritmus v´eget ´er. Ir´ any´ıtsuk meg M ´eleit T -t˝ ol S fel´e, m´ıg az ¨ osszes t¨ obbi ´elt S-t˝ ol T fel´e. Jel¨ olje RS illetve RT az S-ben illetve a T -ben az M ´ altal fedetlen pontok halmaz´ at. Jel¨ olje Z az RS pontjaib´ ol az ´ıgy kapott DM ir´ any´ıtott gr´ afban ir´ any´ıtott u ´ton el´erhet˝ o pontok halmaz´ at (amit p´eld´ aul sz´eless´egi keres´essel tal´ alhatunk meg). K´et eset lehets´eges. Amennyiben RT -nek esik pontja Z-be, akkor megkaptunk egy olyan RS -t ´es RT -t ¨ osszek¨ ot˝ o P utat, amely M -ben altern´ al. Most M ´es P szimmetrikus differenci´ aja egy M -n´el eggyel t¨ obb ´elb˝ ol ´ all´ o M ′ p´ aros´ıt´ as. (Technikailag az elj´ ar´ ast k¨ onny˝ u v´egrehajtani: a megtal´ alt u ´t ´eleinek ir´ any´ıt´ as´ at egyszer˝ uen af, amit G-b˝ ol kapunk az M ′ ´eleinek megford´ıtjuk. Az ´ıgy nyert ´ atir´ any´ıtott gr´ af ´eppen DM ′ , vagyis az a digr´ T -b˝ ol S fel´e, ´es a t¨ obbi ´elnek S-t˝ ol T fel´e t¨ ort´en˝ o ir´ any´ıt´ as´ aval.) ´ enyes tov´ A m´ asik esetben RT diszjunkt Z-t˝ ol. Z defin´ıci´ oja folyt´ an Z-b˝ ol nem l´ep ki ir´ any´ıtott ´el. Erv´ abb´ a, hogy Z-be nem l´ep be megir´ any´ıtott uv ∈ M p´ aros´ıt´ as ´el, hiszen v csak u-n kereszt¨ ul ´erhet˝ o el, ´ıgy v csak akkor lehetett ir´ any´ıtott u ´ton el´erhet˝ o RS -b˝ ol, ha u is az volt. Teh´ at az M minden eleme vagy teljesen Z-ben fekszik vagy teljesen k´ıv¨ ule. K¨ ovetkezik, hogy az L := (T ∩ Z) ∪ (S − Z) halmaz egyr´eszt lefogja a G ¨ osszes ´el´et, m´ asr´eszt minden M -beli ´elnek pontosan az egyik v´egpontj´ at tartalmazza, teh´ at |M | = |L|, amivel a K˝ onig t´etel bizony´ıt´ asa teljes. •
21
A fenti bizony´ıt´ as egy´ uttal hat´ekony elj´ ar´ ast is jelent a sz´ obanforg´ o optimumok meghat´ aroz´ as´ ara. Az algoritmust K˝ onig (altern´ al´ o utas) algoritmus´ anak nevezz¨ uk. A l´ep´essz´ am megbecsl´es´ehez figyelj¨ uk meg, hogy legfeljebb n/2 alkalommal kell utat keresn¨ unk. Miut´ an egyetlen u ´t megkeres´ese az ´elsz´ ammal ar´ anyos id˝ oben t¨ ort´enhet, az ¨ osszl´ep´essz´ am nem nagyobb, mint O(nm) (ahol n a gr´ af pontsz´ ama, m´ıg m az ´elsz´ ama). ´ Erdemes megfogalmaznunk K˝ onig t´etel´et egy ekvivalens alakban. Ehhez defini´ aljuk egy X ⊆ S halmaz hi´ any´ at a h(X) := |X| − |Γ(X)| (1.16) ´ert´ekkel, ahol Γ(X) = ΓG (X) = ΓE (X) jel¨ oli az X szomsz´edainak halmaz´ at, vagyis Γ(X) := {v ∈ T : l´etezik uv ∈ E ´el, melyre u ∈ X}. Jel¨ olje µ = µ(G, S) a maxim´ alis hi´ anyt, azaz µ := max h(X) X⊆S
(1.17)
Mivel h(∅) = 0, a µ ´ert´eke mindig nemnegat´ıv. Legyen F az S maxim´ alis (azaz µ) hi´ any´ u r´eszhalmazainak rendszere, vagyis F := {X ⊆ S : |X| − |Γ(X)| = µ}. Az F tagjait r¨ oviden max-hi´ any´ u halmazoknak fogjuk h´ıvni. Lemma 1.4.2 Egy-egy ´ertelm˝ u kapcsolat ´ all fenn az ´elek minim´ alis elemsz´ am´ u lefog´ asai ´es a max-hi´ any´ u S-beli halmazok k¨ oz¨ ott: ha L ⊆ S ∪ T minim´ alis lefog´ as, akkor S − L max-hi´ any´ u halmaz, m´ıg ha H ⊆ S max-hi´ any´ u halmaz, akkor Γ(H) ∪ (S − H) minim´ alis lefog´ as. Biz. Ha L ⊆ S ∪ T egy ´eleket lefog´ o ponthalmaz, akkor a H ′ := S − L halmaz h(H ′ ) hi´ anya legal´ abb |S| − |L|, ′ ′ hiszen Γ(H ) ⊆ L ∩ T miatt h(H ) ≥ |H ′ | − |L ∩ T | = (|S| − |S ∩ L|) − |L ∩ T | = |S| − |L|. M´ asr´eszt tetsz˝ oleges H ⊆ S halmazra L′ := Γ(H) ∪ (S − H) lefogja az ´eleket ´es |L′ | = (|S| − |H|) + |Γ(H)| = |S| − µ(H). A kett˝ o ¨ osszevet´es´eb˝ ol a lemma k¨ ovetkezik. • Jel¨ olje ϕ = ϕ(G, S) azon S-beli pontok minim´ alis sz´ am´ at, melyeket egy p´ aros´ıt´ as fedetlen¨ ul hagy. Nyilv´ an ϕ + ν = |S|. Miut´ an a lemm´ ab´ ol τ + µ = |S| k¨ ovetkezik, ´erv´enyes K˝ onig t´etel´enek al´ abbi, ekvivalens alakja. ´ TETEL 1.4.3 (K˝ onig – Hall) G = (S, T ; E) p´ aros gr´ afban ϕ = µ, azaz egy p´ aros´ıt´ as ´ altal fedetlen¨ ul hagyott S-beli pontok minim´ alis sz´ ama egyenl˝ o az S r´eszhalmazainak maxim´ alis hi´ any´ aval. Speci´ alisan, akkor ´es csak akkor l´etezik S-t fed˝ o p´ aros´ıt´ as, ha nincs hi´ anyos halmaz, azaz teljes¨ ul a Hall-f´ele felt´etel: |Γ(X)| ≥ |X| minden X ⊆ S r´eszhalmazra. •
(1.18)
A t´etelt n´eha Ore t´etel´enek is h´ıvj´ ak, m´ıg speci´ alis m´ asodik r´esze a Hall t´etel. Megjegyezz¨ uk, hogy K˝ onig algoritmusa k¨ ozvetlen¨ ul is kiad egy max-hi´ any´ u halmazt. Nevezetesen az algoritmus fut´ as´ anak v´eg´en kapott el´erhet˝ o pontok Z halmaz´ ara egyr´eszt az algoritmus ´ altal kiadott (maxim´ alis) M p´ aros´ıt´ as |RS | darab pontot hagy fedetlen¨ ul S-ben, m´ asr´eszt a H := Z ∩ S (1.19) halmazra Γ(H) = Z ∩ T , ´es ´ıgy H hi´ anya pontosan |RS |, teh´ at H max-hi´ any´ u. A K˝ onig algoritmus ´ altal szolg´ altatott M maxim´ alis p´ aros´ıt´ as term´eszetesen f¨ ugg a fut´ as sor´ an hozott d¨ ont´eseinkt˝ ol, hiszen az algoritmus azt nem specifik´ alja, hogy ha t¨ obb n¨ ovel˝ o u ´t is rendelkez´esre ´ all, akkor melyiket haszn´ aljuk. Feladat 1.43 Igazoljuk, hogy a K˝ onig algoritmus ´ altal kiadott (1.19)-beli H max-hi´ any´ u halmaz f¨ uggetlen az algoritmus fut´ as´ at´ ol.
1.4.2
Maxim´ alis s´ uly´ u teljes p´ aros´ıt´ asok: a Magyar m´ odszer
T´etelezz¨ uk most fel, hogy a G = (S, T ; E) p´ aros gr´ af ´elein adott egy c s´ ulyf¨ uggv´eny. Tegy¨ uk fel, hogy G-nek l´etezik teljes p´ aros´ıt´ asa, ´es vizsg´ aljuk meg a maxim´ alis s´ uly´ u teljes p´ aros´ıt´ as megkeres´es´enek probl´em´ aj´ at. Az els˝ o ezzel kapcsolatos k´erd´es az, hogy milyen hat´ekonyan ellen˝ orizhet˝ o igazolv´ anyt (tan´ us´ıtv´ anyt) tudunk elk´epzelni egy kiv´ alasztott teljes p´ aros´ıt´ as s´ uly´ anak maximalit´ as´ ara, annak mint´ aj´ ara, ahogy egy megadott M p´ aros´ıt´ as maxim´ alis elemsz´ am´ ara igazolv´ any az ´eleknek egy |M | elemsz´ am´ u lefog´ asa. Ennek ´ altal´ anos´ıt´ asak´ent nevezz¨ unk egy cs´ ucsokon ´ertelmezett π : V → R f¨ uggv´enyt s´ ulyozott lefog´ asnak, ha minden uv ∈ E ´elre π(u) + π(v) ≥ c(uv). (Figyelj¨ uk meg, hogy ha c azonosan 1, akkor egy (0, 1)-´ert´ek˝ u s´ ulyozott lefog´ as ´epp az ´elhalmaz egy lefog´ as´ anak incidencia vektora). Egy ´eltP pontosnak fogunk nevezni (π-re n´ezve), ha itt egyenl˝ os´eg ´ all. A π s´ ulyozott lefog´ as e π (V ) ¨ ossz´ ert´ ek´ en a [π(v) : v ∈ V ] ¨ osszeget ´ertj¨ uk, ahol V = S ∪ T . A f˝ ot´etel Egerv´ ary Jen˝ ot˝ ol sz´ armazik 1931-b˝ ol.
22
´ TETEL 1.4.4 (Egerv´ ary) A G = (S, T ; E) teljes p´ aros´ıt´ assal rendelkez˝ o p´ aros gr´ afban a c : E → R+ s´ ulyf¨ uggv´enyre vonatkoz´ o maxim´ alis s´ uly´ u teljes p´ aros´ıt´ as νc s´ ulya egyenl˝ o a s´ ulyozott lefog´ asok minim´ alis τc ¨ ossz´ert´ek´evel. Amennyiben c eg´esz´ert´ek˝ u, u ´gy az optim´ alis s´ ulyozott lefog´ as is v´ alaszthat´ o annak. Amennyiben G teljes p´ aros gr´ af ´es c nemnegat´ıv, u ´gy az optim´ alis s´ ulyozott lefog´ as v´ alaszthat´ o nemnegat´ıvnak is. Biz. Megjegyezz¨ uk, hogy a t´etel implicit azt is tartalmazza, hogy a sz´ obanforg´ o minimum l´etezik. Mivel a maximumot a teljes p´ aros´ıt´ asok v´eges halmaz´ an tekintj¨ uk, ´ıgy annak l´etez´ese nem k´erd´eses. A harmadik r´esz igazol´ as´ ahoz azt mutatjuk meg, hogy tetsz˝ oleges π s´ ulyozott lefog´ as nemnegat´ıvv´ a alak´ıthat´ o az ¨ ossz´ert´ek megv´ altoztat´ asa n´elk¨ ul. Legyen a π legkisebb ´ert´eke −K (ahol K > 0) ´es legyen mondjuk az S-ben −K ´ert´ek˝ u pont. Mivel G teljes p´ aros gr´ af, c nemnegat´ıv ´es π s´ ulyozott lefog´ as, ´ıgy minden v ∈ T pontra π(v) ≥ K. Az S elemein a π ´ert´ekeket egys´egesen K-val n¨ ovelve, T elemein pedig K-val cs¨ okkentve olyan nemnegat´ıv s´ ulyozott lefog´ ast kapunk, melynek ¨ ossz´ert´eke |S| = |T | miatt szint´en e π (V ). A t´etel min = max r´esz´enek igazol´ as´ ahoz el˝ osz¨ or azt l´ atjuk be, hogy max ≤ min . Tekints¨ uk ehhez a gr´ af egy tetsz˝ oleges P M := {u1 v1P , u2 v2 , . . . , un vn } teljes p´ aros´ıt´ as´ at valamint a c-nek egy π s´ ulyozott lefog´ as´ at. Ekkor e c(M ) := c(ui vi ) ≤ [π(ui ) + π(vi ) : i = 1, . . . , n] = π e(V ), amib˝ol νc ≤ πc k¨ovetkezik. Itt egyenl˝os´eg pontosan akkor ´ all, ha M minden ´elen pontos. A ford´ıtott ir´ any´ u egyenl˝ otlens´eg bizony´ıt´ as´ ahoz teh´ at kell tal´ alnunk egy alkalmas π s´ ulyozott lefog´ ast ´es egy olyan teljes p´ aros´ıt´ ast, amely pontos ´elekb˝ ol ´ all. M´ as sz´ oval olyan π-t kell keresn¨ unk, hogy a π-re vonatkoz´ o pontos ´elekb˝ ol ´ all´ o r´eszgr´ af tartalmazzon teljes p´ aros´ıt´ ast. Erre szolg´ al a H. Kuhn ´ altal bevezetett Magyar m´ odszer. Tetsz˝ oleges π s´ ulyozott lefog´ assal indulunk, amely eg´esz´ert´ek˝ u, ha c az. (Hogyan lehet ilyent tal´ alni?) Az ´ altal´ anos l´ep´esben tekintj¨ uk a pontos ´elek ´ altal alkotott Gπ = (S, T ; Eπ ) r´eszgr´ afot ´es ezen futtatjuk a K˝ onig t´etel fentebb le´ırt bizony´ıt´ as´ anak algoritmus´ at. Kiindulunk teh´ at a Gπ -nek egy tetsz˝ oleges M p´ aros´ıt´ as´ ab´ ol. Megir´ any´ıtjuk az M -beli ´eleket T -t˝ ol S fel´e, m´ıg az ¨ osszes t¨ obbi Gπ -beli ´elt S-t˝ ol T fel´e. Jel¨ olje RS illetve RT az S-ben illetve a T -ben az M ´ altal fedetlen pontok halmaz´ at. Jel¨ olje Z az RS pontjaib´ ol az ´ıgy kapott ir´ any´ıtott gr´ afban ir´ any´ıtott u ´ton el´erhet˝ o pontok halmaz´ at. Amennyiben RT -nek esik pontja Z-be, u ´gy megkaptunk egy olyan RS -t ´es RT -t ¨ osszek¨ ot˝ o P utat, amely M -ben altern´ al. Az M ´es P szimmetrikus differenci´ aja egy M -n´el eggyel t¨ obb ´elb˝ ol ´ all´ o M ′ p´ aros´ıt´ ast alkot. Az M ′ -vel folytatva iter´ aljuk az elj´ ar´ ast. N´ezz¨ uk most a m´ asik lehet˝ os´eget, amikor RT diszjunkt Z-t˝ ol. Z defin´ıci´ oja folyt´ an Z-b˝ ol nem vezet ki ir´ any´ıtott ´el ´es Z-be nem l´ep be megir´ any´ıtott uv ∈ M p´ aros´ıt´ as ´el. Legyen H := Z ∩ S. Mivel G-nek van teljes p´ aros´ıt´ asa, biztosan van olyan e ´ele G-nek, amely H ´es T − ΓGπ (H) k¨ oz¨ ott vezet, ahol ΓGπ (H) jel¨ oli a H szomsz´edainak halmaz´ at a Gπ -ben. Ilyen ´el nem lehet pontos, ´ıgy a δ := min{π(u) + π(v) − c(uv) : uv ∈ E, u ∈ H, v ∈ T − ΓGπ (H)}
(1.20)
´ert´ek pozit´ıv. M´ odos´ıtsuk π-t a k¨ ovetkez˝ ok´epp: ′
π (v) =
(
π(v) − δ, π(v) + δ, π(v)
ha v ∈ H, ha v ∈ ΓGπ (H), k¨ ul¨ onben.
(1.21)
A δ v´ alaszt´ asa miatt az ´ıgy m´ odos´ıtott π ′ tov´ abbra is s´ ulyozott lefog´ as, amely eg´esz´ert´ek˝ u, ha c ´es π az ′ afja ´es Gπ ugyanazon ´eleket fesz´ıti Z-ben, tov´ abb´ a Gπ′ -nek van volt. A π -re vonatkoz´ o pontos ´elek Gπ′ gr´ ol legal´ abb egy ´ele (ahol a δ-t defini´ al´ o minimum felv´etetett) H ´es T − ΓGπ (H) k¨ oz¨ ott, ez´ert Gπ′ -ben az RS -b˝ el´erhet˝ o pontok halmaza szigor´ uan b˝ ovebb, mint Gπ -ben. (Figyelem: az NEM igaz, hogy Gπ′ -ben biztosan t¨obb pontos ´ el van, mint Gπ -ben.)
oz ´es M -hez rendelt ir´ any´ıtott gr´ afban az RS -b˝ ol el´erhet˝ o pontok halmaza szigor´ uan b˝ ovebb. Emiatt a Gπ′ -h¨ ´Igy egy f´ azis (ami sor´ an teh´ at a pontos ´elek gr´ afj´ aban a maxim´ alis p´ aros´ıt´ as elemsz´ ama nem n˝ o) legfeljebb |S| u ´tkeres˝ o elj´ ar´ as alkalmaz´ asa ut´ an v´eget ´er. Ezzel a min-max t´etel bizony´ıt´ as´ at befejezt¨ uk. A t´etel m´ asodik ´ all´ıt´ as´ ahoz figyelj¨ uk meg, hogy ha c eg´esz´ert´ek˝ u, akkor a fenti elj´ ar´ as sor´ an π eg´esz´ert´ek˝ us´ege v´egig meg˝ orz˝ odik. • Mivel egy u ´tkeres´es O(|E|) l´ep´esben v´egrehajthat´ o ´es legfeljebb |S| f´ azis van, az algoritmus teljes fut´ asideje O(|E||S|2 ). Gyakorlat 1.44 Igazoljuk, hogy a minim´ alis ¨ ossz´ert´ek˝ u s´ ulyozott lefog´ asok konvex halmazt alkotnak. Feladat 1.45 Igazoljuk, hogy ha egy M teljes p´ aros´ıt´ as minden ´ele eleme valamely maxim´ alis s´ uly´ u teljes p´ aros´ıt´ asnak, akkor M maga is maxim´ alis s´ uly´ u teljes p´ aros´ıt´ as. Feladat 1.46 Legyen π egy minim´ alis ¨ ossz´ert´ek˝ u s´ ulyozott lefog´ as ´es Gπ = (S, T ; Eπ ) a pontos ´elek gr´ afja. Igazoljuk, hogy G egy M teljes p´ aros´ıt´ asa akkor ´es csak akkor maxim´ alis s´ uly´ u, ha M ⊆ Eπ .
23
Alternat´ıv bizony´ıt´ as: jav´ıt´ as negat´ıv k¨ or ment´ en Bemutatunk egy m´ asik bizony´ıt´ asi m´ odszert is az Egerv´ ary t´etel nemtrivi´ alis max ≥ min ir´ any´ anak igazol´ as´ ara, azonban most nem c´elunk hat´ekony algoritmus kiolvas´ asa. Legyen M egy maxim´ alis s´ uly´ u teljes p´ aros´ıt´ as. C´elunk egy olyan π f¨ uggv´eny megkonstru´ al´ asa, amelyre minden uv ∈ M ´elre π(u) + π(v) = c(uv)
(1.22)
minden uv ∈ E − M ´elre π(u) + π(v) ≥ c(uv).
(1.23)
´es Val´ oj´ aban egy olyan π-t adunk meg, amelyre minden uv ∈ M ´elre π(u) + π(v) ≤ c(uv)
(1.24)
minden uv ∈ E − M ´elre π(u) + π(v) ≥ c(uv)
(1.25)
´es Ennek ugyanis alkalmas n¨ ovel´es´evel az (1.22)-t ´es (1.23)-t kiel´eg´ıt˝ o π k¨ onnyen megkaphat´ o. Ir´ any´ıtsuk az M -beli ´eleket S fel´e, a t¨ obbi ´elt T fel´e, majd az E − M -beli ´elek k¨ olts´eg´et neg´ aljuk. Jel¨ olje D′ ′ ′ ′ ´ a kapott digr´ afot ´es c a m´ odos´ıtott s´ ulyoz´ ast. All´ıtjuk, hogy c konzervat´ıv. Ha ugyanis l´etezne D -ben egy K ′ negat´ıv k¨ or, akkor ennek G-ben egy olyan M -ben altern´ al´ o K k¨ or felelne meg, amelyre e c′ (K ′ ) < 0 miatt ′ e c(K −M ) > e c(K ∩M ), ´es ez´ert a K ment´en az M elemeinek kicser´el´es´evel kapott M := M ⊖K teljes p´ aros´ıt´ as s´ ulya nagyobb, mint M s´ ulya, ellentmond´ asban az M v´ alaszt´ as´ aval. (Itt ⊖ a szimmetrikus differenci´ at jel¨ oli, azaz M ⊖ K = (M − K) ∪ (K − M ).) Mivel c′ konzervat´ıv, Gallai 1.3.8 t´etele folyt´ an l´etezik egy π ′ megengedett potenci´ al. Ez azt jelenti, hogy ′ ′ egy M -beli xy ´elre (x ∈ T, y ∈ S) π (y) − π (x) ≤ c(xy), m´ıg egy E − M -beli uv ´elre (u ∈ S, v ∈ T ) π ′ (v) − π ′ (u) ≤ c′ (uv) = −c(uv). Neg´ aljuk a T elemein a π ′ ´ert´ekeit ´es a kapott f¨ uggv´enyt jel¨ olje π. Ekkor a π ′ (y) − π ′ (x) ≤ c(st) egyenl˝ otlens´egb˝ ol π(y) + π(x) ≤ c(xy) lesz, m´ıg π ′ (v) − π ′ (u) ≤ −c(uv)-b˝ ol −π(v) − π(u) ≤ −c(uv) azaz π(v) + π(u) ≥ c(uv), vagyis (1.24) ´es (1.25) teljes¨ ul. • A fenti bizony´ıt´ asb´ ol egy algoritmus is kiolvashat´ o. Induljunk ki egy tetsz˝ oleges M teljes p´ aros´ıt´ asb´ ol. Amennyiben az ehhez rendelt D′ digr´ afban a c′ s´ ulyoz´ as konzervat´ıv, u ´gy a bizony´ıt´ as szerint M maxim´ alis s´ uly´ u. Ha D′ -ben van negat´ıv k¨ or, akkor ennek seg´ıts´eg´evel a bizony´ıt´ asban le´ırtak szerint megkapunk egy M -n´el nagyobb s´ uly´ u teljes p´ aros´ıt´ ast, amivel iter´ alhatjuk az elj´ ar´ ast. Az ´ıgy nyert algoritmus v´eges, hiszen mindig egy jobb teljes p´ aros´ıt´ ast kapunk, s˝ ot abban az esetben polinomi´ alis is, amikor a c s´ ulyf¨ uggv´eny nemnegat´ıv (ami feltehet˝ o) ´es kis eg´eszekb˝ ol ´ all. Ugyanis ha c legnagyobb ´ert´eke M , akkor a maxim´ alis s´ uly´ u teljes p´ aros´ıt´ as s´ ulya legfeljebb M |S| ´es ez´ert legfeljebb M |S| p´ aros´ıt´ as jav´ıt´ as lehets´eges. Ha viszont nincs el˝ ore adott fels˝ o korl´ at a c ´ert´ekeire vagy ha c val´ os ´ert´ek˝ u, akkor a fenti algoritmusr´ ol kimutathat´ o, hogy nem polinomi´ alis fut´ asidej˝ u.
1.4.3
Egerv´ ary eredeti bizony´ıt´ asa ´ es algoritmusa
Egerv´ ary az 1.4.4 t´etelt eredetileg eg´esz´ert´ek˝ u c-re bizony´ıtotta. Ebb˝ ol a k¨ oz¨ os nevez˝ ovel val´ o felszorz´ assal a t´etel k¨ onnyen k¨ ovetkezik racion´ alis s´ ulyf¨ uggv´enyekre is. Tetsz˝ oleges val´ os s´ ulyf¨ uggv´enyekre pedig a t´etelt Egerv´ ary folytonoss´ agi megfontol´ asokkal vezette le. Legyen teh´ at c eg´esz´ert´ek˝ u. Legyen π eg´esz´ert´ek˝ u s´ ulyozott lefog´ as, melynek ¨ ossz´ert´eke minim´ alis. (Jogos minimumr´ ol besz´elni, hiszen eg´esz´ert´ek˝ u s´ ulyozott lefog´ asokr´ ol van sz´ o, ´es az ilyenek ¨ ossz´ert´eke korl´ atos alulr´ ol.) Legyen Gπ = (S, T ; Eπ ) a pontos ´elek r´eszgr´ afja. A Gπ -nek b´ armely teljes p´ aros´ıt´ asa maxim´ alis s´ uly´ u, hiszen pontos ´elekb˝ ol ´ all. Bel´ atjuk, hogy Gπ -nek van teljes p´ aros´ıt´ asa. Ha indirekt nem ez a helyzet, akkor a K˝ onig-Hall t´etel nyom´ an l´etezik egy X ⊆ S hi´ anyos halmaz, amelyre teh´ at |ΓGπ (X)| < |X|. Ennek seg´ıts´eg´evel tudunk π-n jav´ıtani. Defini´ aljuk δ-t a k¨ ovetkez˝ ok´eppen. δ := min{π(u) + π(v) − c(uv) : uv ∈ E, u ∈ X, v ∈ T − ΓGπ (X)}.
(1.26)
Miut´ an nincsen pontos ´el X ´es T − ΓGπ (X) k¨ oz¨ ott, ´ıgy δ pozit´ıv ´es persze eg´esz. M´ odos´ıtsuk π-t a k¨ ovetkez˝ ok´epp: ′
π (v) =
(
π(v) − δ, π(v) + δ, π(v)
ha v ∈ X, ha v ∈ ΓGπ (X), k¨ ul¨ onben.
(1.27)
Az ´ıgy nyert π ′ tov´ abbra is s´ ulyozott lefog´ as, amelyre π e′ (V ) = e π(V ) − δ|X| + δ|ΓGπ (X)| < π e(V ), ellentmond´ asban π minim´ alis v´ alaszt´ as´ aval. • Egerv´ ary ezen bizony´ıt´ asi m´ odszere egy´ uttal algoritmust is jelent maxim´ alis s´ uly´ u teljes p´ aros´ıt´ as ´es minim´ alis ¨ ossz´ert´ek˝ u s´ ulyozott lefog´ as kisz´ am´ıt´ as´ ara: kiindulunk egy tetsz˝ oleges eg´esz´ert´ek˝ u π s´ ulyozott
24
lefog´ asb´ ol, ´es a pontos ´elek Gπ gr´ afj´ aban (p´eld´ aul K˝ onig algoritmus´ aval) vagy tal´ alunk egy teljes p´ aros´ıt´ ast, amely ´ertelemszer˝ uen maxim´ alis s´ uly´ u, vagypedig tal´ alunk egy hi´ anyos halmazt, amelynek seg´ıts´eg´evel a bizony´ıt´ asban le´ırt m´ odon jav´ıtjuk a s´ ulyozott lefog´ ast. A m´ odos´ıtott s´ ulyozott lefog´ assal folytatva iter´ aljuk az elj´ ar´ ast. Nevezz¨ uk ezt az elj´ ar´ ast Egerv´ ary algoritmus´ anak. Kimutathat´ o, hogy az algoritmus ezen generikus alakja (amikor a π jav´ıt´ as´ ara haszn´ alt X hi´ anyos halmazt szabadon v´ alasztjuk) eg´esz vagy racion´ alis c-re m´eg akkor sem polinomi´ alis, ha mindig max-hi´ any´ u halmazzal dolgozunk. R´ aad´ asul val´ os s´ ulyf¨ uggv´eny eset´en az algoritmus m´eg csak nem is biztosan v´eges. Megmutatjuk azonban, hogy a max-hi´ any´ u halmazok speci´ alis v´ alaszt´ asa eset´en Egerv´ ary algoritmusa m´eg val´ os c eset´en is polinomi´ alis. Ehhez sz¨ uks´eg¨ unk lesz majd az al´ abbi hasznos megfigyel´esekre.
Max-hi´ any´ u halmazok Lemma 1.4.5 Az S halmaz r´eszhalmazain ´ertelmezett γ(X) := |Γ(X)| f¨ uggv´eny szubmodul´ aris, azaz az S b´ armely k´et X, Y r´eszhalmaz´ ara fenn´ all a szubmodularit´ asi egyenl˝ otlens´ eg: γ(X) + γ(Y ) ≥ γ(X ∩ Y ) + γ(X ∪ Y ). Biz. Az egyenl˝ otlens´eg k¨ ovetkezik, amint megfigyelj¨ uk, hogy Γ(X) ∪ Γ(Y ) = Γ(X ∪ Y ) ´es Γ(X) ∩ Γ(Y ) ⊇ Γ(X ∩ Y ). • Lemma 1.4.6 A max-hi´ any´ u halmazok F rendszere z´ art a metszet ´es uni´ o k´epz´esre. Biz. Mivel a |Γ(X)| f¨ uggv´eny szubmodul´ aris, ´ıgy h(X)+h(Y ) ≤ h(X ∩Y )+h(X ∪Y ). Tegy¨ uk most fel, hogy X ´es Y k´et maxim´ alis hi´ any´ u halmaz (azaz F elemei). Ekkor µ+µ = h(X)+h(Y ) ≤ h(X ∩Y )+h(X ∪Y ) ≤ µ+µ, ´es emiatt val´ oban h(X ∩ Y ) = µ, h(X ∪ Y ) = µ. • Az 1.4.6 lemm´ ab´ ol k¨ ovetkezik, hogy az ¨ osszes max-hi´ any´ u halmaz metszete is ´es uni´ oja is max-hi´ any´ u, azaz l´etezik egy egy´ertelm˝ u legsz˝ ukebb ´es egy legb˝ ovebb max-hi´ any´ u halmaz. ´ TETEL 1.4.7 K˝ onig altern´ al´ o utas algoritmusa ´ altal szolg´ altatott (1.19)-beli H max-hi´ any´ u halmaz az egy´ertelm˝ u legsz˝ ukebb max-hi´ any´ u halmaz (´es ´ıgy nem f¨ ugg az algoritmus fut´ asa k¨ ozben tett v´ alaszt´ asokt´ ol). Biz. Mivel az M maxim´ alis p´ aros´ıt´ as fedi S − RS minden pontj´ at, ez´ert tetsz˝ oleges max-hi´ any´ u halmaz tartalmazza RS -t. B´ armely X halmazra, amelyre RS ⊆ X ⊂ H, a sz´ obanforg´ o ir´ any´ıtott gr´ afban l´ep ki X ∪ ΓM (X)-b˝ ol egy uv ´el ´es ´ıgy Γ(X) ⊇ ΓM (X) ∪ {v}. ´Igy |Γ(X)| > |ΓM (X)| = |X| − |RS |, azaz h(X) < |RS |, teh´ at X nem max-hi´ any´ u. • Feladat 1.47 Hogyan lehet az altern´ al´ o utas algoritmus seg´ıts´eg´evel az egy´ertelm˝ u legb˝ ovebb max-hi´ any´ u halmazt megkonstru´ alni? Lemma 1.4.8 Legyen H ⊆ S a legsz˝ ukebb max-hi´ any´ u halmaz G-ben. Ha a gr´ afb´ ol kit¨ or¨ olj¨ uk az ¨ osszes olyan ´elt, amely H szomsz´edai ´es S − H k¨ oz¨ ott vezet, akkor a l´etrej¨ ov˝ o G′ gr´ afban a maxim´ alis hi´ any ugyanaz, mint G-ben. Tov´ abb´ a G ´es G′ max-hi´ any´ u halmazainak rendszere ugyanaz. Biz. Miut´ an G egy M maxim´ alis p´ aros´ıt´ as´ anak a Γ(H)-t fed˝ o ´elei mind H-ban v´egz˝ odnek, az M benne van G′ -ben is, vagyis G′ max hi´ anya legfeljebb akkora, mint G-´e, ´es persze kisebb nem lehet, mert G′ r´eszgr´ afja G-nek. Ebb˝ ol az is k¨ ovetkezik, hogy a G egy max-hi´ any´ u halmaza G′ -ben is max-hi´ any´ u. Legyen most X tetsz˝ oleges max-hi´ any´ u halmaz G′ -ben. Mivel H max-hi´ any´ u G′ -ben is, az 1.4.6 lemma szerint H ∩ X is ′ max-hi´ any´ u G -ben. De akkor H ∩ X max-hi´ any´ u G-ben, hiszen H ∩ X-b˝ ol indul´ o ´elt nem t¨ or¨ olt¨ unk, ´es ´ıgy a H minimalit´ asa folyt´ an H ⊆ X. Ekkor viszont Γ(X) = Γ′ (X), azaz X max-hi´ any´ u G-ben is. • ´ TETEL 1.4.9 Amennyiben az Egerv´ ary algoritmus futtat´ asakor a sz´ obanforg´ o π s´ ulyozott lefog´ as jav´ıt´ as´ ara a K˝ onig algoritmus ´ altal szolg´ altatott egy´ertelm˝ u legsz˝ ukebb max-hi´ any´ u X halmazt haszn´ aljuk, u ´gy az algoritmus polinomi´ alis fut´ asidej˝ u. Biz. Figyelj¨ uk meg el˝ osz¨ or, hogy mik´ent v´ altozik a pontos ´elek gr´ afja, amikor az algoritmus π-r˝ ol π ′ -re t´er ´ at. Mindenesetre az X ∪ΓGπ (X) valamint ennek komplementere ´ altal fesz´ıtett pontos ´elek nem v´ altoznak. Az S − X ´es ΓGπ (X) k¨ oz¨ ott vezet˝ o esetleges pontos ´elek megsz˝ unnek pontosnak lenni, m´ıg az X ´es T −ΓGπ (X) k¨ oz¨ ott vezet˝ o ´elek k¨ oz¨ ul mindazok pontoss´ a v´ alnak, amelyeken a (1.26) defin´ıci´ oval megadott minimum felv´etetik. Az 1.4.8 lemm´ ab´ ol k¨ ovetkezik, hogy ezen cser´en´el a maxim´ alis hi´ any vagy cs¨ okken, vagy ha nem, u ´gy a legsz˝ ukebb max-hi´ any´ u halmaz szigor´ uan b˝ ov¨ ul. Tekints¨ uk egy f´ azisnak az algoritmus fut´ as´ anak azon szakasz´ at, amely sor´ an a pontos ´elek (egyre v´ altoz´ o) r´eszgr´ afj´ aban a maxim´ alis hi´ any v´ altozatlan. Egyetlen f´ azis sor´ an a max-hi´ any´ u halmaz legfeljebb |S|-szer tud b˝ ov¨ ulni ´es nyilv´ an legfeljebb |S| f´ azis l´etezik. Vagyis a K˝ onig algoritmus legfeljebb |S|2 -szeri megh´ıv´ as´ aval az
25
algoritmus fut´ asa befejez˝ odik. Miut´ an K˝ onig algoritmus´ anak l´ep´essz´ am´ ara O(|S||E|) korl´ at volt mondhat´ o, a le´ırt s´ ulyozott elj´ ar´ as teljes fut´ asideje O(|S|3 |E|). B´ ar ez a l´ep´essz´ am nem k¨ ul¨ on¨ osebben l´ atv´ anyos (´es val´ oj´ aban Kuhn Magyar m´ odszere hat´ekonyabb), azt mindenesetre megkaptuk, hogy az algoritmus polinomi´ alis fut´ asidej˝ u, s˝ ot er˝ osen polinomi´ alis is abban az ´ertelemben, hogy a fut´ asid˝ o egy´ altal´ an nem f¨ ugg a szerepl˝ o c k¨ olts´egf¨ uggv´enyt˝ ol, amennyiben feltessz¨ uk, hogy a sz´ amokkal v´egzett ¨ osszad´ ast, kivon´ ast ´es ¨ osszehasonl´ıt´ ast egyetlen l´ep´esben tudjuk elv´egezni.
1.4.4
Maxim´ alis s´ uly´ u p´ aros´ıt´ asok
Visszavezet´ es teljes p´ aros´ıt´ asra El˝ osz¨ or megmutatjuk, hogy a maxim´ alis s´ uly´ u (nem felt´etlen¨ ul teljes) p´ aros´ıt´ as meghat´ aroz´ as´ anak probl´em´ aja egyszer˝ u fog´ assal visszavezethet˝ o a maxim´ alis s´ uly´ u teljes p´ aros´ıt´ as´era. ´ TETEL 1.4.10 Egy G′ = (S ′ , T ′ ; E ′ ) p´ aros gr´ afban nemnegat´ıv c s´ ulyf¨ uggv´eny eset´en a p´ aros´ıt´ asok maxim´ alis ′ νc s´ ulya egyenl˝ o a nemnegat´ıv (!) s´ ulyozott lefog´ asok minim´ alis τc′ s´ uly´ aval. Amennyiben c eg´esz´ert´ek˝ u, az optim´ alis πc′ is v´ alaszthat´ o eg´esz´ert´ek˝ unek. ´ pontok esetleges Biz. A νc′ ≤ τc′ egyenl˝ otlens´eg nyilv´ anval´ o, ´ıgy csak a ford´ıtott ir´ annyal foglalkozunk. Uj hozz´ av´etel´evel el´erhetj¨ uk, hogy a p´ aros gr´ af k´et oszt´ alya egyforma m´eret˝ u legyen. Eg´esz´ıts¨ uk ki a gr´ afot 0 s´ uly´ u ´elek bev´etel´evel egy G teljes p´ aros gr´ aff´ a. A s´ ulyf¨ uggv´eny ezen kiterjeszt´es´et tov´ abbra is jel¨ olhetj¨ uk c-vel. Az 1.4.4 t´etel (m´ asodik r´esze) szerint G-nek l´etezik egy M teljes p´ aros´ıt´ asa ´es c-nek egy π nemnegat´ıv s´ ulyozott lefog´ asa, melyekre e c(M ) = e π (V ). Mivel az u ´j ´elek s´ ulya 0, ´ıgy az u ´j ´elek kihagy´ as´ aval M -b˝ ol keletkez˝ o G′ -beli M ′ p´ aros´ıt´ as s´ ulya v´ altozatlanul e c(M ). Tov´ abb´ a, mivel M minden ´ele pontos, ez´ert egy 0 s´ uly´ u uv ´el´enek v´egpontjaira π(u) = π(v) = 0. Emiatt π ´ert´eke az u ´j pontokon 0, hiszen u ´j pontb´ ol csak 0 s´ uly´ u ´el megy ki. Ha teh´ at π-t megszor´ıtjuk az eredeti V ′ = S ′ ∪ T ′ ponthalmazra, akkor a keletkez˝ o π ′ -re e π ′ (V ′ ) = e π (V ) ´es π e′ (V ′ ) = e c(M ′ ). •
Direkt elj´ ar´ as
Az 1.4.10 t´etel nemtrivi´ alis r´esz´enek igazol´ as´ ara bemutatunk egy direkt algoritmust is. C´elunk teh´ at egy π : S ∪ T → R+ nemnegat´ıv s´ ulyozott lefog´ ast valamint egy π-re n´ezve pontos ´elekb˝ ol ´ all´ o M p´ aros´ıt´ ast tal´ alni u ´gy, hogy M minden poz´ıt´ıv π(v) ´ert´ek˝ u, r¨ oviden pozit´ıv pontot fed. Kezdetben legyen π a T elemein azonosan 0 ´es minden s ∈ S ponton π(s) := max{c(st) : t ∈ T }. Legyen tov´ abb´ a M egy pontos ´elekb˝ ol ´ all´ o p´ aros´ıt´ as, p´eld´ aul az u ¨res halmaz. Az algoritmus egy k¨ ozbens˝ o helyzet´eben rendelkez´es¨ unkre ´ all egy π ≥ 0 s´ ulyozott lefog´ as ´es egy pontos ´elekb˝ ol ´ all´ o M p´ aros´ıt´ as u ´gy, hogy M minden T -beli pozit´ıv pontot fed. Ezt a tulajdons´ agot v´egig fenntartjuk, mik¨ ozben a π ´es az M v´ altoztat´ as´ aval egyre cs¨ okkentj¨ uk a fedetlen pozit´ıv pontok halmaz´ at. Jel¨ olje RT a T -beli fedetlen pontok halmaz´ at ´es RS+ az S-beli pozit´ıv fedetlen pontok halmaz´ at. A pontos ´elek Gπ r´eszgr´ afj´ aban ir´ any´ıtsuk meg M ´eleit S fel´e, a t¨ obbi ´elt pedig T fel´e. A keletkez˝ o digr´ afban jel¨ olje Z az RS+ -b´ ol el´erhet˝ o pontok halmaz´ at. A K˝ onig t´etel algoritmikus bizony´ıt´ as´ aban l´ atottakhoz hasonl´ oan most is M minden ´ele vagy teljesen Z-ben fekszik vagy teljesen k´ıv¨ ule. I. eset Z ∩RT 6= ∅, azaz D-ben l´etezik egy P egyir´ any´ uu ´t RS+ -b´ ol RT -be. A P ment´en cser´elve egy (M -n´el eggyel nagyobb elemsz´ am´ u) M ′ p´ aros´ıt´ ast kapunk, amely eggyel kevesebb pozit´ıv pontot hagy fedetlen¨ ul, mint az M (nevezetesen a P kezd˝ opontj´ at M nem fedi, de M ′ m´ ar igen). II. eset Z ∩ RT = ∅. Legyen δ1 := min{π(u) + π(v) − c(uv) : uv ∈ E, u ∈ Z ∩ S, v ∈ T − ΓGπ (Z ∩ S)}.
(1.28)
Az u ¨res halmazon vett minimumot +∞-nek defini´ aljuk. (Mivel most nem tett¨ uk fel, hogy l´etezik teljes p´ aros´ıt´ as, el˝ ofordulhat, hogy G-nek nem l´etezik ´ele Z ∩ S ´es T − ΓGπ (Z ∩ S) k¨ oz¨ ott.) Mivel a digr´ afban Z-b˝ ol nem l´ep ki ´el, a δ1 ´ert´ek szigor´ uan pozit´ıv. Legyen δ2 := min{π(s) : s ∈ Z ∩ S}.
(1.29)
Itt δ2 v´eges, de el˝ ofordulhat, hogy 0. V´eg¨ ul legyen δ := min{δ1 , δ2 }. M´ odos´ıtsuk π-t a k¨ ovetkez˝ ok´epp: ′
π (v) =
(
π(v) − δ, π(v) + δ, π(v)
ha v ∈ Z ∩ S, ha v ∈ ΓGπ (Z ∩ S), k¨ ul¨ onben.
26
(1.30)
A δ v´ alaszt´ asa miatt az ´ıgy nyert π ′ is s´ ulyozott lefog´ as ´es tov´ abbra sincs T -ben fedetlen pozit´ıv pont (merthogy T -ben csak fedett pontok π-j´et n¨ ovelhett¨ uk). Amennyiben δ = δ1 < δ2 , u ´gy S ∩ Z valamennyi pontja pozit´ıv maradt. Ez´ert a π ′ -h¨ oz ´es a v´ altozatlan M -hez tartoz´ o digr´ afban az el´erhet˝ o pontok halmaza szigor´ uan b˝ ovebb, mint Z. Ebb˝ ol k¨ ovetkezik, hogy a δ = δ1 < δ2 eset egym´ ast k¨ ovet˝ oen legfeljebb |M | < |S|szer fordulhat el˝ o. Tegy¨ uk most fel, hogy δ = δ2 ≤ δ1 , ´es legyen z ∈ S ∩ Z egy olyan pont, amelyre a δ2 defin´ıci´ oj´ aban a minimum el´eretik, ami azt jelenti, hogy π ′ (z) = 0. Mivel z ∈ Z, l´etezett RS+ -b´ ol z-be P egyir´ any´ uu ´t, amely ment´en cser´elve egy |M |-mel megegyez˝ o elemsz´ am´ u M ′ p´ aros´ıt´ ast kapunk (amely z ∈ RS+ eset´en maga M ), de M ′ eggyel kevesebb pozit´ıv pontot hagy szabadon, mint M . ¨ Osszefoglalva meg´ allap´ıthatjuk, hogy az algoritmus sor´ an a fedetlen pozit´ıv pontok sz´ ama legfeljebb |S|szer cs¨ okkenhet (ak´ ar mert az I. eset sor´ an n¨ ovel˝ o utat tal´ altunk, ak´ ar mert a II. eset sor´ an a δ = δ2 ≤ δ1 eset k¨ ovetkezett be). Tov´ abb´ a k´et ilyen cs¨ okken´es k¨ oz¨ ott a Z legfeljebb |S|-szer b˝ ov¨ ulhet. Miut´ an az el´erhet˝ o pontok halmaz´ at O(|E|) l´ep´esben tudjuk kisz´ amolni az elj´ ar´ as O(|E||S|2 ) l´ep´es ut´ an megadja egy s´ ulyozott lefog´ ast ´es egy pontos ´elekb˝ ol ´ all´ o p´ aros´ıt´ ast, amely minden pozit´ıv pontot fed. • V´eg¨ ul megjegyezz¨ uk, hogy tetsz˝ oleges r¨ ogz´ıtett pozit´ıv eg´esz k-ra Ford ´es Fulkerson k´es˝ obb ismertet´esre ker¨ ul˝ o minim´ alis k¨ olts´eg˝ u folyam algoritmus´ anak seg´ıts´eg´evel ki lehet sz´ amolni a maxim´ alis (vagy minim´ alis) s´ uly´ u k ´el˝ u p´ aros´ıt´ ast, ha ilyen p´ aros´ıt´ as l´etezik egy´ altal´ an. Ennek a megk¨ ozel´ıt´esnek az lesz majd az el˝ onye, hogy minden k = 1, 2, . . . , ν(G) ´ert´ekre megadja a legolcs´ obb k ´el˝ u p´ aros´ıt´ ast. Ha viszont val´ oban csak egyetlen r¨ ogz´ıtett k-ra kell ezt meghat´ aroznunk, akkor k¨ ozvetlenebb m´ odon is elj´ arhatunk. Ehhez mindenesetre feltessz¨ uk, hogy ν(G) ≥ k, azaz l´etezik k ´elb˝ ol ´ all´ o p´ aros´ıt´ as. Speci´ alisan ad´ odik, hogy mind S, mind T legal´ abb k elem˝ u. Feltehetj¨ uk, hogy minden ´el k¨ olts´ege szigor´ uan pozit´ıv, hiszen konstans hozz´ aad´ asa a k ´el˝ u p´ aros´ıt´ asok egym´ ashoz val´ o k¨ olts´eg viszony´ at nem ´erinti. Adjunk S-hez |T | − k u ´j pontot ´es T -hez |S| − k u ´j pontot, az u ´j pontokat k¨ oss¨ uk ¨ ossze a m´ asik oszt´ aly valamennyi r´egi pontj´ aval, ´es az u ´j ´elek k¨ olts´eg´et v´ alasszuk azonosan null´ anak. Legyen a megn¨ ovelt gr´ af G+ . K¨ onny˝ u ellen˝ orizni, hogy egy eredeti k ´el˝ u p´ aros´ıt´ ast u ´j ´elekkel kieg´esz´ıthet¨ unk egy ugyanolyan k¨ olts´eg˝ u G+ -beli teljes p´ aros´ıt´ ass´ a, ´es megford´ıtva, egy G+ -beli teljes p´ aros´ıt´ asb´ ol az u ´j ´eleket kihagyva G-nek nyer¨ unk egy ugyanolyan k¨ olts´eg˝ u k ´el˝ u p´ aros´ıt´ as´ at. Ebb˝ ol ad´ odik, hogy egy legolcs´ obb G+ -beli teljes p´ aros´ıt´ as eredeti ´elei egy legolcs´ obb k ´el˝ u p´ aros´ıt´ ast adnak G-ben. Feladat 1.48 Tegy¨ uk fel, hogy a G = (S, T ; E) p´ aros gr´ afban M egy j ´el˝ u p´ aros´ıt´ as, amely a j ´el˝ u p´ aros´ıt´ asok k¨ oz¨ ott maxim´ alis s´ uly´ u a c : E → R s´ ulyf¨ uggv´enyre n´ezve. Jel¨ olje RS illetve RT az M ´ altal fedetlen S-beli illetve T -beli pontok halmaz´ at. Ir´ any´ıtsuk M ´eleit S fel´e, a t¨ obbi ´elt T fel´e. A kapott D digr´ af ´elhalmaz´ an defini´ aljuk a c′ k¨ olts´egf¨ uggv´enyt u ´gy, hogy egy ts ´el (t ∈ T, s ∈ S) k¨ olts´ege legyen c(ts), egy uv ´el´e (u ∈ S, v ∈ T ) pedig −c(uv). (a) Igazoljuk, hogy c′ konzervat´ıv. (b) Igazoljuk, hogy ha P egy legolcs´ obb u ´t RS -b˝ ol RT -be, akkor az M ⊖ P j + 1 elem˝ u p´ aros´ıt´ as maxim´ alis s´ uly´ u a j + 1 ´el˝ u p´ aros´ıt´ asok k¨ oz¨ ott.
2013. augusztus 1. file: umagyar
27
1.5
´ Aramok ´ es folyamok h´ al´ ozatokban
1.5.1
Fogalmak
Ebben a r´eszben h´ al´ ozatokra vonatkoz´ o k´et rokon fogalommal foglalkozunk: ´ aramokkal ´es folyamokkal.
´ Aramok Jel¨ olj¨ on DP = (V, A) egy ir´ any´ıtott gr´ afot. Valamely x : A → R f¨ uggv´enyre ´es S ⊆ V r´eszhalmazra legyen ̺x (S) := [x(uv) : uv ∈ A, uv bel´ep S-be] ´es legyen δx (S) := ̺x (V − S). Azt mondjuk, hogy x ´ aram (circulation), ha teljes¨ ul r´ a a megmarad´ asi szab´ aly (conservation rule),Pazaz ̺x (v) = δx (v) fenn´ all minden v cs´ ucsra. Valamely c : A → R k¨ olts´egf¨ uggv´enyre vonatkoz´ olag a cx := [c(a)x(a) : a ∈ A] skal´ arszorzatot nevezz¨ uk az x ´ aram k¨ olts´ eg´enek. ´ ıt´ All´ as 1.5.1 (a) Az x f¨ uggv´eny D = (V, A) ´elhalmaz´ an akkor ´es csak akkor ´ aram, ha ̺x (v) ≤ δx (v) fenn´ all minden v cs´ ucsra. (b) Ha x ´ aram, akkor ̺x (Z) = δx (Z) minden Z ⊆ V r´eszhalmazra is fenn´ all.
P
P
Biz. (a) x e(A) = [̺x (v) : v ∈ V ] ≤ [δx (v) : v ∈ V ] = x e(A), amib˝ol ̺x (v) = δx (v) k¨ovetkezik Pminden v ∈ V -re. (b) Jel¨ oP lje a Z ´ altal fesz´ıtett ´elek halmaz´ an az x-´ert´ekek ¨ osszeg´et ix (Z). Ekkor ̺x (Z) = [̺x (v) : v ∈ Z] − ix (Z) = [δx (v) : v ∈ Z] − ix (Z) = δx (Z). •
Legyen f : A → R ∪ {−∞} als´ o kapacit´ as, g : A → R ∪ {+∞} fels˝ o kapacit´ as u ´gy, hogy f ≤ g. Azt mondjuk hogy az x ´ aram megengedett (feasible), ha f ≤ x ≤ g.
(1.31)
(Figyelem: az f -ben megenged¨ unk −∞ komponenst, ami persze csak annyit jelent, hogy az illet˝ o ´elen az ´ aram ´ert´eke nincs alulr´ ol korl´ atozva. Anal´ og m´ odon a g-nek lehetnek +∞ komponensei, de az x ´ aram komponensei mindig v´egesek. Az f als´ o korl´ atban +∞-t, a g fels˝ o korl´ atban pedig −∞-t nem enged¨ unk meg. N´eha el˝ o´ırjuk, hogy az f vagy a g komponensei eg´esz´ert´ek˝ uek legyenek; ebbe bele´ertj¨ uk a ±∞-t is.) A vizsg´ aland´ o f˝ o k´erd´es az, hogy mikor l´etezik (eg´esz´ert´ek˝ u) megengedett ´ aram, illetve ha l´etezik, mik´epp lehet meghat´ arozni egy minim´ alis k¨ olts´eg˝ u megengedett ´ aramot.
Folyamok Az ´ arammal rokon a folyam fogalma. Ism´et adott egy D = (V, A) ir´ any´ıtott gr´ af, tov´ abb´ a D-nek egy kijel¨ olt s forr´ aspontja (source) ´es egy t nyel˝ opontja (sink). A tov´ abbiakban, amikor folyamokr´ ol lesz sz´ o, v´egig feltessz¨ uk, hogy s-be nem l´ep be ´el ´es t-b˝ ol nem l´ep ki ´el. Folyamon egy olyan x : A → R+ nem-negat´ıv f¨ uggv´enyt ´ert¨ unk, amely minden, s-t˝ ol ´es t-t˝ ol k¨ ul¨ onb¨ oz˝ o pontra teljes´ıti a megmarad´ asi szab´ alyt, azaz ̺x (v) = δx (v) fenn´ all minden v ∈ V − {s, t} cs´ ucsra. Amennyiben m´eg az x ≤ g felt´etel is teljes¨ ul, g-megengedett (r¨ oviden, megengedett) folyamr´ ol besz´el¨ unk. Egy (0, 1)-´ert´ek˝ u folyamot fonatnak nevez¨ unk. Az x fonat azonos´ıthat´ o azon ´elek ´ altal alkotott r´eszgr´ affal, melyeken az x ´ert´eke 1. Ez teh´ at egy olyan r´eszgr´ afot alkot, amelyben az s ´es t kivitel´evel minden v cs´ ucs befoka ´es kifoka megegyezik. Egy s-et tartalmaz´ o, de t-t nem tartalmaz´ o X halmazt nevezz¨ unk st¯-halmaznak. Tetsz˝ oleges S st¯-halmaz ´es x folyam eset´en δx (s) = δx (s) − ̺x (s) =
X
[δx (v) − ̺x (v) : v ∈ S] = δx (S) − ̺x (S).
(1.32)
Vagyis minden S st¯-halmazra a δx (S)−̺x (S) ´ert´ekkel defini´ alt tiszta ki´ araml´ as f¨ uggetlen az S v´ alaszt´ as´ at´ ol. Ezt a k¨ oz¨ os, δx (s)-sel (´es ̺x (t) = δx (V − t)-vel) egyenl˝ o ´ert´eket nevezz¨ uk az x folyam nagys´ ag´ anak (flow amount). Az x(uv) sz´ am a folyam ´ ert´ eke az uv ∈ A ´elen. (Figyelem: a szakirodalomban nem ritka, hogy a δx (s) sz´ amot az ´ altalunk haszn´ alt folyam nagys´ ag helyett az x folyam ´ert´ek´enek [flow value] h´ıvj´ ak. Ez amiatt nem szerencs´es, mert ¨ osszekeverhet˝ o a folyamnak egy e ´elen felvett x(e) ´ert´ek´evel.) Egy k nagys´ ag´ u fonatot r¨ oviden k-fonatnak nevez¨ unk. (Az elnevez´es arra utal, hogy azon e ´elek halmaza, melyeken x(e) = 1 felbomlik k ´elidegen st-´ utra ´es k¨ or¨ okre.) Az x folyamot u ´t-folyamnak (k¨ or-folyamnak) nevezz¨ uk, ha x csak egy s-b˝ ol t-be vezet˝ o egyir´ any´ uu ´t (egyir´ any´ u k¨ or) ment´en pozit´ıv. A f˝ o k´erd´es, hogy mik´ent lehet meghat´ arozni egy maxim´ alis nagys´ ag´ u (eg´esz´ert´ek˝ u) folyamot, illetve adott k¨ olts´egf¨ uggv´eny eset´en hogyan lehet kisz´ am´ıtani egy el˝ ore adott k ´ert´ekre a kPnagys´ ag´ u folyamok k¨ oz¨ ul a minim´ alis k¨ olts´eg˝ ut. (Valamely c : A → R k¨ olts´egf¨ uggv´enyre n´ezve a cx := [c(a)x(a) : a ∈ A] skal´ arszorzatot nevezz¨ uk az x folyam k¨ olts´ eg´enek.) Gyakorlat 1.49 Igazoljuk, hogy minden nem-negat´ıv folyam el˝ o´ all´ıthat´ o k¨ or-folyamok ´es u ´t-folyamok nemnegat´ıv line´ aris kombin´ aci´ ojak´ent. Speci´ alisan, minden fonat p´ aronk´ent ´elidegen k¨ or¨ ok ´es st-utak uni´ oja.
28
1.5.2
Motiv´ aci´ ok
Megeml´ıt¨ unk n´eh´ any term´eszetes gyakorlati feladatot, melyek megold´ asa ´ aramok vagy folyamok seg´ıts´eg´evel t¨ ort´enhet.
A sz´ all´ıt´ asi probl´ ema Adott k u ¨zem mindegyike ugyanazt a term´eket ´ all´ıtja el˝ o ´es tudjuk, hogy mekkora az egyes u ¨zemek maxim´ alis kibocs´ at´ o k´epess´ege (supply). Adott tov´ abb´ a ℓ fogyaszt´ ohely, melyeknek ismerj¨ uk az ig´enyeit (demand). Tudjuk, hogy mely u ¨zemekb˝ ol mely fogyaszt´ okhoz milyen ´ atbocs´ at´ o kapacit´ assal lehet sz´ all´ıtani, ´es hogy mennyi az egys´egnyi term´ek sz´ all´ıt´ as´ anak a k¨ olts´ege. D¨ onts¨ uk el, hogy az adott felt´etelek mellett l´etezik-e olyan sz´ all´ıt´ asi terv, amely kiel´eg´ıti a fogyaszt´ ok ig´enyeit, ´es ha l´etezik, keress¨ uk meg a legolcs´ obb megold´ ast. Ez a sz´ all´ıt´ asi feladat (transportation problem). Ha minden kibocs´ at´ as ´es ig´eny azonosan 1, akkor a sz´ all´ıt´ asi feladat a kor´ abban megismert hozz´ arendel´esi probl´em´ ara reduk´ al´ odik. Gr´ afnyelven a sz´ all´ıt´ asi feladat a k¨ ovetkez˝ ok´eppen fogalmazhat´ o meg. Adott egy G = (S, T ; E) p´ aros gr´ af. Az S-beli pontok felelnek meg az u ¨zemeknek, m´ıg T elemei a felhaszn´ al´ oknak. Minden v ∈ S-beli ponthoz adott egy q(v) sz´ am, amely az illet˝ o u ¨zem kibocs´ at´ ok´epess´eg´et jelzi. Minden v ∈ T -beli ponthoz adott egy h(v) sz´ am, amely v ig´eny´et jelzi. Adott m´eg a gr´ af ´elein egy g : E → R+ kapacit´ asf¨ uggv´eny valamint egy c : E → R+ k¨ olts´egf¨ uggv´eny. Az els˝ o feladat annak eld¨ ont´ese, hogy l´etezik-e olyan x : E → R+ f¨ uggv´eny, amelyre 0 ≤ x ≤ g, dx (v) ≤ q(v) minden v ∈ S-re, ´es dx (v) = h(v) minden v ∈ T -re. Amennyiben l´ e tezik ilyen P x, u ´gy a m´ asodik feladat egy olyan x meghat´ aroz´ as´ ab´ ol ´ all, amely minimaliz´ alja a cx = [c(e)x(e) : e ∈ E] ¨ osszk¨ olts´eget. A sz´ all´ıt´ asi (´es speci´ alis esetk´ent a hozz´ arendel´esi) feladatot a k¨ ovetkez˝ ok´epp lehet folyam feladatk´ent megfogalmazni. Ir´ any´ıtsuk meg a G gr´ af ´eleit S-t˝ ol T -fel´e. Adjunk a gr´ afhoz egy u ´j s pontot, amelyb˝ ol minden v ∈ S pontba vezet egy q(v) kapacit´ as´ u ´el. Adjunk a gr´ afhoz egy u ´j t pontot, amelybe minden v ∈ T pontb´ ol vezet egy h(v) kapacit´ Pas´u ´el. A sz´all´ıt´asi feladatnak pontosan akkor van megold´asa, ha az ´ıgy ag´ u folyam. A k¨ olts´eges v´ altozat egy minim´ alis k¨ olts´eg˝ u keletkezett D digr´ afban van M := v∈T q(v) nagys´ M nagys´ ag´ u folyam meghat´ aroz´ as´ at c´elozza.
´ Elidegen utak Alkalmaz´ asokban gyakran vet˝ odik fel a k´erd´es, hogy mikor l´etezik ir´ any´ıtott gr´ af valamely pontj´ ab´ ol egy megadott m´ asikba k p´ aronk´ent ´elidegen (vagy pontidegen) u ´t. Nem fog zavart okozni, hogy a r¨ ovids´eg kedv´e´ert (b´ ar kiss´e pontatlanul) a tov´ abbiakban m´er nem tessz¨ uk ki a ”p´ aronk´ent” hat´ aroz´ osz´ ot. Erre az elvi v´ alaszt Menger t´etele adja meg, amelynek k¨ ul¨ onf´ele v´ altozatai vannak, annak megfelel˝ oen, hogy ´elidegen vagy pontidegen utakat keres¨ unk ir´ any´ıtott vagy ir´ any´ıtatlan gr´ afban. Az ir´ any´ıtott ´elidegen verzi´ o szerint akkor ´es csak akkor l´etezik s-b˝ ol t-be k ´elidegen u ´t, ha minden S ⊆ V st¯-halmaz kifoka legal´ abb k. K´erd´es, hogy algoritmikusan mik´ent lehet megtal´ alni k ´elidegen utat, illetve ha nincs megold´ as, akkor hogyan hat´ arozhat´ o meg a Menger t´etel ´ altal biztos´ıtott k-n´ al kisebb kifok´ u S halmaz. (Egy ilyen halmaz gyorsan ellen˝ orizhet˝ o igazolv´ anyk´ent szolg´ alhat arra, hogy D-ben nem l´etezik k ´elidegen st-´ ut.) M´eg ¨ osszetettebb feladatot kapunk, ha az ´eleken adott k¨ olts´egf¨ uggv´enyre vonatkoz´ olag u ´gy akarunk k ´elidegen utat keresni, hogy ¨ osszk¨ olts´eg¨ uk minim´ alis legyen. Mindenesetre a k¨ ovetkez˝ o nagyon speci´ alis esetben m´eg csak Menger t´etel´ere sincs sz¨ uks´eg¨ unk. Tegy¨ uk fel, hogy a D′ = (V, A′ ) digr´ af maga egy fonat, azaz (i) s-be nem l´ep be ´el, (ii) t-b˝ ol nem l´ep ki ´el, (iii) minden m´ as v cs´ ucs ̺(v) befoka egyenl˝ o a cs´ ucs δ(v) kifok´ aval. Ebben az esetben bizonyosan l´etezik δ(s) ´elidegen u ´t st-´ ut. Val´ oban, induljunk ki s-b˝ ol, majd am´ıg csak lehets´eges, haladjunk tov´ abb addig m´eg nem haszn´ alt ´el ment´en. A foksz´ amokra tett felt´etelek miatt csak t-ben akadunk el. ´Igy teh´ at megtal´ altunk egy st-s´et´ at, amelyb˝ ol az esetleges k¨ or¨ oket kihagyva egy P1 st-utat nyer¨ unk. Ezt az elj´ ar´ ast δ(s)-szer ism´etelve megkapjuk a keresett δ(s) ´elidegen utat. B´ ar ez a moh´ o m´ odszer csak nagyon speci´ alis esetben haszn´ alhat´ o, az ´ altal´ anos esetre is szolg´ al u ´tmutat´ assal. Ahelyett ugyanis, hogy D-ben a k ´elidegen utat k¨ ozvetlen¨ ul pr´ ob´ aln´ ank megtal´ alni, a D egy olyan D′ r´eszgr´ afj´ anak megkeres´es´ere t¨ oreksz¨ unk, amely teljes´ıti a fenti h´ arom tulajdons´ agot ´es amelyben δD ′ (s) = k. A fentiek szerint ekkor a D′ -ben m´ ar k¨ onny˝ uszerrel megtal´ aljuk a k ´elidegen utat. A feladat teh´ at egy eg´esz´ert´ek˝ u k nagys´ ag´ u folyam megkeres´ese a g ≡ 1 kapacit´ asf¨ uggv´enyre n´ezve, vagy r¨ oviden egy k-fonat megkeres´ese. A k¨ olts´eges u ´tprobl´em´ aban pedig egy minim´ alis k¨ olts´eg˝ u k-fonatot keres¨ unk. k = 1-re konzervat´ıv k¨ olts´eg eset´en ez ´eppen a m´ ar megismert legolcs´ obb u ´t meghat´ aroz´ as´ aval ekvivalens.
29
Az ir´ any´ıtott k´ınai post´ as probl´ ema Egy ´ aramprobl´em´ ara vezet˝ o ´erdekes feladat a k¨ ovetkez˝ o. Egy D = (V, A) er˝ osen ¨ osszef¨ ugg˝ o digr´ afot kell egy megadott pontj´ ab´ ol kiindulva u ´gy bej´ arnunk, hogy minden ´el´en legal´ abb egyszer v´egigmenj¨ unk ´es a kiindul´ asi pontba jussunk vissza. Egyik c´el a v´egigj´ art ´elek sz´ am´ anak minimaliz´ al´ asa, vagy ´ altal´ anosabban, ha az ´eleken adott egy v´egighalad´ asi id˝ o, akkor a teljes bej´ ar´ as ¨ osszidej´enek minimaliz´ al´ asa. P´eld´ aul egy post´ asnak a post´ ar´ ol elindulva egy k¨ orzet minden utc´ aj´ an, amelyek mindegyik´er˝ ol feltessz¨ uk, hogy egyir´ any´ u, legal´ abb egyszer v´egig kell haladnia majd a post´ ara visszat´ernie. (A k´erd´est eredetileg ir´ any´ıtatlan gr´ afra fogalmazta meg Mey-Go Guan k´ınai matematikus 1960-ban. Ennek megold´ asa, ´es a k´ınai post´ as elnevez´es J. Edmondst´ ol sz´ armazik, ´es j´ oval m´elyebb eszk¨ oz¨ oket ig´enyel, mint az ir´ any´ıtott v´ altozat). Egy m´ asik alkalmaz´ asban egy ´ aramk¨ or m˝ uk¨ od´es´enek helyess´eg´et kell teszteln¨ unk. Ehhez meg van adva, hogy az ´ aramk¨ or milyen ´ allapotokban lehet. Ezek az ´ allapotok felelnek meg a digr´ af cs´ ucsainak. Ezen k´ıv¨ ul adott m´eg, hogy mely ´ allapotokb´ ol mely m´ asokba lehet k¨ ozvetlen¨ ul ´ atjutni, ´es val´ oj´ aban egy-egy ilyen ´ atmenetnek a helyess´eg´et tudjuk m´erni. A feladat az ¨ osszes lehets´eges ´ allapot-´ atmenet ellen˝ orz´ese minim´ alis id˝ o alatt. Vil´ agos, hogy a digr´ af bej´ ar´ asi probl´ema mi´ert modellezi ezen tesztel´esi feladatot. Annak ´erdek´eben, hogy az ir´ any´ıtott post´ as probl´em´ at ´ aram feladatk´ent megfogalmazzuk, k´epzelj¨ unk el a digr´ af ´eleinek egy adott bej´ ar´ as´ at. Jel¨ olje z(uv) azt a sz´ amot, ah´ anyszor az uv ´elen ´ athaladtunk. R¨ ogt¨ on l´ atszik, hogy z egy olyan eg´esz´ert´ek˝ u´ aram, amelynek ´ert´eke minden ´elen legal´ abb 1. Megford´ıtva, egy olyan z eg´esz´ert´ek˝ u´ aram seg´ıts´eg´evel, amely minden ´elen legal´ abb 1 megadhatunk egy bej´ ar´ ast, amely minden e ´elen pontosan z(e)-szer halad v´egig. Ugyanis ha mindegyik e ´elt z(e) darab p´ arhuzamos p´eld´ any´ aval helyettes´ıtj¨ uk, akkor Euler-f´ele digr´ afot kapunk ´es az Euler digr´ afok k¨ ozismerten bej´ arhat´ ok u ´gy, hogy minden ´elen pontosan egyszer haladunk v´egig. Ezen megfigyel´es alapj´ an a D digr´ afban az optim´ alis bej´ ar´ asi probl´ema egy minim´ alis k¨ olts´eg˝ u megengedett eg´esz´ert´ek˝ u ´ aramnak a meghat´ aroz´ as´ aval egyen´ert´ek˝ u az f ≡ 1 ´es g ≡ +∞ korl´ atoz´ o f¨ uggv´enyekre vonatkoz´ oan.
1.5.3
Megengedett ´ aramok
A post´ as probl´ema egy m´ asik v´ altozat´ aban az a k´erd´es, hogy egy er˝ osen ¨ osszef¨ ugg˝ o digr´ afban mikor l´etezik olyan z´ art s´eta, amely minden ´elt legal´ abb egyszer haszn´ al, de, mondjuk, legfeljebb csak k´etszer. Ez azzal ekvivalens, hogy mikor l´etezik eg´esz´ert´ek˝ u megengedett ´ aram az f ≡ 1, g ≡ 2 korl´ atoz´ o f¨ uggv´enyek eset´en. Ha p´eld´ aul a digr´ af h´ arom s-b˝ ol t-be vezet˝ o diszjunkt u ´tb´ ol valamint egy t-b˝ ol s-be vezet˝ o ´elb˝ ol ´ all, akkor ezen az ´elen bizonyosan h´ aromszor v´egig kell menn¨ unk. Megengedett ´ aramok l´etez´es´ere ad sz¨ uks´eges ´es elegend˝ o felt´etelt az al´ abbi, Alan Hoffmant´ ol sz´ armaz´ o t´etel. ´ TETEL 1.5.1 (Hoffman, 1960) A D = (V, A) digr´ afban adott f ≤ g kapacit´ asf¨ uggv´enyekre vonatkoz´ olag akkor ´es csak akkor l´etezik megengedett ´ aram, ha ̺f (X) ≤ δg (X) minden X ⊆ V halmazra.
(1.33)
Tov´ abb´ a, ha f ´es g eg´esz´ert´ek˝ uek ´es (1.33) fenn´ all, u ´gy l´etezik eg´esz´ert´ek˝ u megengedett ´ aram is. Biz. A sz¨ uks´egess´eg igazol´ as´ ahoz tegy¨ uk fel, hogy x megengedett ´ aram. Ekkor δg (X) − ̺f (X) ≥ δx (X) − ̺x (X) = 0, amib˝ ol (1.33) k¨ ovetkezik. Az elegend˝ os´eg igazol´ as´ ahoz tekints¨ uk a k¨ ovetkez˝ o f¨ uggv´enyt: β(X) := δg (X) − ̺f (X).
(1.34)
Most (1.33) azzal ekvivalens, hogy β nem-negat´ıv. Az X, Y ⊆ V halmazokra jel¨ olje dx (X, Y ) az x(e) ´ert´ekek ¨ osszeg´et mindazon e ´elekre, melyek X − Y ´es Y − X egy-egy pontj´ at k¨ otik ¨ ossze (mindegy melyik ir´ anyban). A bizony´ıt´ as kulcsa a k¨ ovetkez˝ o lemma. Lemma 1.5.2 β(X) + β(Y ) = β(X ∩ Y ) + β(X ∪ Y ) + dg−f (X, Y ). Biz. K¨ onnyen ellen˝ orizhetj¨ uk, hogy minden lehets´eges ´el hozz´ aj´ arul´ asa a k´et oldalhoz ugyanannyi. • A Hoffman t´etel bizony´ıt´ as´ ahoz visszat´erve nevezz¨ unk egy olyan e ´elt pontosnak, amelyre f (e) = g(e). Nevezz¨ unk pontosnak cs´ ucsok egy Z r´eszhalmaz´ at, amelyre β(Z) = 0. Tegy¨ uk fel indirekt, hogy a D digr´ afra nem igaz a t´etel, ´es v´ alasszunk egy olyan ellenp´eld´ at (adott D), amelyben a pontos ´elek ´es a pontos halmazok egy¨ uttes sz´ ama maxim´ alis. Az nem lehet, hogy minden ´el pontos, mert akkor x := f (= g), az (1.33) felt´etel miatt, megengedett ´ aram volna, hiszen az 1.5.1 ´ all´ıt´ as nyom´ an tudjuk, hogy ha ̺x (v) ≤ δx (v) minden cs´ ucsra fenn´ all, akkor x ´ aram. Legyen a = st olyan ´el, amelyre f (a) < g(a). ´ ıtjuk, hogy a bel´ep egy pontos T halmazba. Val´ All´ oban, ha nem l´epne be, akkor f (a)-t meg tudn´ ank u ´gy n¨ ovelni, hogy a m´ odos´ıtott f ′ als´ o korl´ atra tov´ abbra is fenn´ allna f ′ ≤ g ´es ̺f ′ (Z) ≤ δg (Z) minden Z ⊆ V -re, tov´ abb´ a vagy az a ´el v´ alna pontoss´ a, vagy pedig egy olyan halmaz, amelybe az a ´el bel´ep. Ez a lehet˝ os´eg
30
azonban (mivel r´egi pontos halmaz nem sz˝ unik meg) ellentmondana a pontos ´elek ´es halmazok maxim´ alis egy¨ uttes sz´ am´ ara tett feltev´es¨ unknek. Teh´ at az a ´el val´ oban bel´ep egy T pontos halmazba. Anal´ og m´ odon l´ athat´ o, hogy a kil´ep egy S pontos halmazb´ ol. Az a ´el l´etez´ese folyt´ an tudjuk, hogy a dg−f (S, T ) ´ert´ek szigor´ uan pozit´ıv. A lemm´ at ´es (1.33)-t alkalmazva kapjuk, hogy 0 + 0 = β(S) + β(T ) > β(S ∩ T ) + β(S ∪ T ) ≥ 0 + 0, amely ellentmond´ as mutatja, hogy nem l´etezhet ellenp´elda, ´es ´ıgy a t´etel k¨ ovetkezik. Ugyanez a gondolatmenet azt is mutatja, hogy ha f ´es g eg´esz´ert´ek˝ u, akkor van eg´esz´ert´ek˝ u megengedett ´ aram is. • • Gyakran az ´ aramn´ al ´ altal´ anosabb fogalmat tekintenek. P´eld´ aul az x f¨ uggv´enyre azt ´ırjuk el˝ o, hogy minden v pontra ̺x (v) − δx (v) = m(v), ahol m : V → R el˝ ore adott f¨ uggv´eny. Vagy m´eg ´ altal´ anosabban, adott p : V → R ∪ {−∞}, b : V → R ∪ {∞} eset´en (p ≤ b) minden v cs´ ucsra legyen p(v) ≤ ̺x (v) − δx (v) ≤ b(v).
(1.35)
Egy egyszer˝ u fog´ assal azonban ez a feladat ´ aram probl´em´ av´ a alak´ıthat´ o. Nevezetesen, vegy¨ unk fel egy u ´j s cs´ ucsot, ´es D valamennyi pontj´ ab´ ol vezess¨ unk egy-egy ´elt s-be. Egy u ´j vs ´elen legyen f (vs) := p(v), g(vs) := b(v). Jel¨ olje a kib˝ ov´ıtett ´elek halmaz´ at A′ . Tetsz˝ oleges x : A → R f¨ uggv´enyhez legyen x′ : A′ → R a k¨ ovetkez˝ ok´eppen defini´ alva: x′ (e) := x(e) ha e ∈ A, ´es x′ (e) := ̺x (v) − δx (v) ha e′ = vs (v ∈ V ). Hasonl´ ok´epp terjessz¨ uk ki f -et ´es g-t az u ´j ´elekre: f (us) := p(u), g(us) := b(u). K¨ onnyen l´ atszik, hogy x akkor ´es csak akkor teljes´ıti (1.31)-t ´es (1.33)-t, ha x′ megengedett ´ aram. Feladat 1.50 Hoffman t´etel´enek ´ altal´ anos´ıt´ asak´ent igazoljuk, hogy akkor ´es csak akkor l´etezik az (1.31)-t ´es (1.35)-t kiel´eg´ıt˝ o x f¨ uggv´eny, ha ̺f (X) − δg (X) ≤ min{pe(X), e b(V − X)} fenn´ all minden X ⊆ V -re. Feladat 1.51 Tegy¨ uk fel, hogy rendelkez´es¨ unkre ´ all egy algoritmus megengedett ´ aram megkeres´es´ere az olyan esetekre, amikor az ´eleken csak als´ o korl´ at adott. Erre t´ amaszkodva k´esz´ıts¨ unk elj´ ar´ ast az ´ altal´ anos esetre, amikor als´ o ´es fels˝ o korl´ atok is adottak.
1.5.4
´ Aramok ´ es folyamok kapcsolata
Alapvet˝ o az al´ abbi, L.R. Fordt´ ol ´es D.R. Fulkersont´ ol sz´ armaz´ o Maxim´ alis-Folyam Minim´ alis-V´ ag´ as t´etel (Max Flow Min Cut; MFMC). ´ TETEL 1.5.3 (Maxim´ alis-Folyam Minim´ alis-V´ ag´ as) A D = (V, A) ir´ any´ıtott gr´ afban akkor ´es csak akkor l´etezik a g kapacit´ asra vontakoz´ o k nagys´ ag´ u megengedett folyam, ha minden S st¯-halmazra δg (S) ≥ k. Ha e felt´etel teljes¨ ul, g eg´esz´ert´ek˝ u ´es k eg´esz, u ´gy a folyam is v´ alaszthat´ o eg´esz´ert´ek˝ unek. A t´etelbeli S halmazb´ ol kil´ep˝ o ´elek halmaz´ at δ + (S)-sel jel¨ olj¨ uk ´es v´ ag´ asnak nevezz¨ uk, melynek ´ ert´ eke vagy kapacit´ asa a δg (S) sz´ am. A t´etelt n´eha az al´ abbi ekvivalens alakban eml´ıtik. ´ TETEL 1.5.4 A megengedett st-folyamok maxim´ alis nagys´ aga egyenl˝ o a δg (S) ´ert´ekek minimum´ aval, ahol a minimum az ¨ osszes st¯-halmazra megy. Ha g eg´esz´ert´ek˝ u, u ´gy a maximum eg´esz´ert´ek˝ u folyamon is felv´etetik. Biz. Legyen x megengedett st-folyam ´es S st¯-halmaz. Ekkor (1.32) folyt´ an δx (s) = δx (S) − ̺x (S) ≤ δg (S), amib˝ ol max ≤ min k¨ ovetkezik. A ford´ıtott ir´ any igazol´ as´ ahoz jel¨ olje µg a sz´ obanforg´ o minimum ´ert´ek´et. (Ez a minimum nyilv´ anval´ oan l´etezik, merthogy v´eges sok sz´ am minimum´ ar´ ol van sz´ o. Az viszont m´eg ezen a ponton nem vil´ agos, hogy l´etezik maxim´ alis nagys´ ag´ u folyam.) Adjunk D-hez egy u ´j e∗ = ts ´elt ´es defini´ aljuk f (e∗ ) = µg , g(e∗ ) := {∞}. Az eredeti ´eleken legyen f mindenhol nulla. K¨ onnyen l´ atszik, hogy most (1.33) fenn´ all, ´es ´ıgy az 1.5.1 t´etel szerint l´etezik megengedett ´ aram (amely r´ aad´ asul eg´esz´ert´ek˝ u, ha g az). Kihagyva a hozz´ avett e∗ ´elt, µg nagys´ ag´ u folyamot kapunk. • Feladat 1.52 Az MFMC t´etelb˝ ol vezess¨ uk le Menger t´etel´enek ir´ any´ıtott ´elidegen v´ altozat´ at. (Amely szerint egy ir´ any´ıtott gr´ afban akkor ´es csak akkor van az s pontb´ ol a t pontba k ´elidegen u ´t, ha minden st¯-halmazb´ ol legal´ abb k ´el l´ep ki.)
Hoffman t´ etele az MFMC t´ etelb˝ ol Nemcsak a maxim´ alis folyam feladat vezethet˝ o vissza megengedett ´ aramokra, hanem megford´ıtva, a Hoffman t´etel is levezethet˝ o az MFMC t´etelb˝ ol. Ennek ´erdek´eben bevezetj¨ uk a Ψf (X) := ̺f (X) − δf (X) (X ⊆ V ) halmazf¨ uggv´enyt. (Az itt k¨ ovetkez˝ o levezet´esben feltessz¨ uk, hogy f ´es g is v´eges ´ert´ek˝ u: kis gyakorl´ o feladat az ´ altal´ anos eset visszavezet´ese a v´eges f, g esetre.) Gyakorlat 1.53 Igazoljuk, hogy Ψf (X) =
P
[Ψf (v) : v ∈ X].
31
Ha Ψf minden cs´ ucson nulla, akkor f megengedett ´ aram, ´es k´eszen vagyunk. Ha Ψf nem azonosan nulla, akkor a V + = {v : Ψf (v) > 0} ´es V − = {v : Ψf (v) < 0} halmazok nem-¨ uresek. K´esz´ıts¨ uk el a D′ = (V ′ , A′ ) ′ ′ + − digr´ afot u ´gy, hogy V = V ∪{s, t} ´es A = A∪{sv : v ∈ V }∪{vt : v ∈ V }. Defini´ aljuk a g ′ kapacit´ asf¨ uggv´enyt ′ + ′ a k¨ ovetkez˝ ok´eppen. Legyen g (sv) := Ψf (v), haP v ∈ V , legyen g (vt) := −Ψf (v), ha v ∈ V − , ´es v´eg¨ ul legyen g ′ (a) := g(a) − f (a), ha a ∈ A. Legyen M = [Ψf (v) : v ∈ V + ]. A k¨ ovetkez˝ o lemma a kapcsolatot ´ırja le egyr´eszt D megengedett ´ aramai ´es D′ megengedett st-folyamai k¨ oz¨ ott, m´ asr´eszt D′ M -n´el kisebb v´ ag´ asai ´es D (1.33)-t megs´ert˝ o halmazai k¨ oz¨ ott. Lemma 1.5.5 (a) Ha x M -nagys´ ag´ u g ′ -megengedett st-folyam D′ -ben, akkor f +x (az eredeti A-ra megszor´ıtva) megengedett ´ aram. (b) Ha δg′ (X + s) < M valamely X ⊆ V halmazra, akkor X megs´erti a Hoffman-f´ele (1.33) felt´etelt. Biz. (a) A megengedetts´eg, azaz f ≤ f +x ≤ g, k¨ ovetkezik a konstrukci´ ob´ ol. A megmarad´ asi szab´ aly nyilv´ an fenn´ all a V − (V + ∪ V − ) elemeire. Mivel x nagys´ aga M , minden s-b˝ ol kil´ep˝ o ´el tel´ıtett. ´Igy V + -nak b´ armely v pontj´ ara az eredeti digr´ afban ´erv´enyes, hogy x(sv) + ̺x (v) = δx (v), azaz ̺f (v) − δf (v) + ̺x (v) = δx (v), ´es ´ıgy ̺f +x (v) = δf +x (v), vagyis a megmarad´ asi szab´ aly ´erv´enyes a V + -ban fekv˝ o pontokra is. A bizony´ıt´ as a − V -beli pontokra anal´ og m´ odon v´egezhet˝ o el. (b) Ψf (V + ) = M > δg′ (X + s) = δg−f (X) + Ψf (V + − X) − Ψf (V − ∩ X), amibe Ψf (V + − X) = Ψf (V + ) − Ψf (V + ∩ X)-et helyettes´ıtve kapjuk, hogy 0 > δg−f (X) − Ψf (V + ∩ X) − Ψf (V − ∩ X) = δg−f (X) − Ψf (X) = δg−f (X) + δf (X) − ̺f (X), vagyis δg (X) < ̺f (X). • Feladat 1.54 Vezess¨ uk le Hoffman t´etel´et az MFMC t´etelb˝ ol, ha f -nek lehetnek {−∞}, g-nek pedig {+∞} komponensei. A fenti redukci´ o azt is mutatja, hogy nemcsak egy megengedett ´ aramot kisz´ am´ıt´ o algoritmus haszn´ alhat´ o maxim´ alis folyam keres´es´ere, hanem egy maxim´ alis folyam illetve minim´ alis v´ ag´ as meghat´ aroz´ as´ ara szolg´ al´ o algoritmus seg´ıts´eg´evel is el lehet d¨ onteni, hogy teljes¨ ul-e (1.33), ´es ha igen, akkor tudunk tal´ alni megengedett ´ aramot. E visszavezet´es m´eg arra is j´ o, hogy a minim´ alis k¨ olts´eg˝ u folyam feladatra nemsok´ ara bemutat´ asra ker¨ ul˝ o algoritmus seg´ıts´eg´evel megoldhat´ o lesz a minim´ alis k¨ olts´eg˝ u megengedett ´ aram probl´em´ aja is. 2013. augusztus 1. file: uaram
32
1.6
Folyam algoritmusok
K¨ ovetkez˝ o feladatunk a maxim´ alis folyam meghat´ aroz´ as´ ara szolg´ al´ o jav´ıt´ o utas algoritmus vizsg´ alata lesz, majd pedig a minim´ alis k¨ olts´eg˝ u k nagys´ ag´ u folyamok kisz´ am´ıt´ as´ ara vonatkoz´ o algoritmust ismertetj¨ uk. A Ford – Fulkerson n¨ ovel˝ o utas algoritmus seg´ıts´eg´evel az MFMC t´etelre u ´j bizony´ıt´ ast nyer¨ unk. Legyen x ¯ megengedett folyam. Ekkor P tetsz˝oleges S st-halmaz eset´en az x folyam nagys´ag´ara ´erv´enyes az al´abbi becsl´es. δx (s) = δx (s) − ̺x (s) = [δx (v) − ̺x (v) : v ∈ S] = δx (S) − ̺x (S) ≤ δg (S). Ebb˝ ol ad´ odik az 1.5.3 t´etelben a felt´etel sz¨ uks´egess´ege illetve az 1.5.4 t´etelben max ≤ min egyenl˝ otlens´eg. Az is meg´ allap´ıthat´ o, hogy egy x folyam bizonyosan maxim´ alis nagys´ ag´ u, amennyiben l´etezik egy olyan S st¯-halmaz, amelyre teljes¨ ulnek az al´ abbi optimalit´ asi felt´ etelek. (a) (b)
x(a) = g(a) minden a ´elre, amely kil´ep S-b˝ ol, ´es x(a) = 0 minden a ´elre, amely bel´ep S-be.
Jelen c´elunk egy ilyen x folyam ´es S halmaz algoritmikus megkeres´ese. Ezt el˝ osz¨ or csak eg´esz´ert´ek˝ u (illetve racion´ alis) g kapacit´ asf¨ uggv´eny eset´en tessz¨ uk meg, majd tetsz˝ oleges g-re.
1.6.1
Maxim´ alis folyamok: a n¨ ovel˝ o utak m´ odszere
A Fordt´ ol ´es Fulkersont´ ol sz´ armaz´ o algoritmus tetsz˝ oleges x megengedett st-folyamb´ ol indul ki (p´eld´ aul x ≡ 0), ´es azt iterat´ıvan jav´ıtja. K´esz´ıts¨ unk el egy Dx = (V, Ax ) digr´ afot a k¨ ovetkez˝ ok´epp. Egy uv ´el Ax -hez tartozik, ha vagy (i) uv ∈ A ´es x(uv) < g(uv), ´es ekkor ezen ´el´et Dx -nek el˝ ore-´ elnek h´ıvjuk, vagy (ii) vu ∈ A ´es x(vu) > 0, ´es ekkor uv neve h´ atra-´ el. Jel¨ olje S az s-b˝ ol Dx -ben ir´ any´ıtott u ´ton el´erhet˝ o pontok halmaz´ at. 1. eset t 6∈ S, azaz t nem ´erhet˝ o el s-b˝ ol. Mivel Dx semelyik ´ele sem l´ep ki S-b˝ ol, ez´ert D-ben minden S-b˝ ol kil´ep˝ o ´el tel´ıtett (azaz x(uv) = g(uv)) ´es minden S-be bel´ep˝ o uv ´elen x(uv) = 0. Vagyis az (a) ´es (b) optimalit´ asi felt´etelek teljes¨ ulnek ´es az algoritmus v´eget ´er: az adott x folyam nagys´ aga egyenl˝ o δg (S)-sel. 2. eset t ∈ S, azaz t el´erhet˝ o s-b˝ ol. Legyen P tetsz˝ oleges s-b˝ ol t-be vezet˝ o ir´ any´ıtott u ´t Dx -ben. Legyen ∆1 := min{g(uv) − x(uv) : uv el˝ ore-´ele P -nek} ´es ∆2 = min{x(vu) : uv h´ atra-´ele P -nek}. Legyen ∆ = min{∆1 , ∆2 }. Ekkor ∆ pozit´ıv. Nevezz¨ uk P egy ´el´et kritikusnak, ha ∆ ezen az ´elen ´eretik el. M´ odos´ıtsuk x-et a k¨ ovetkez˝ ok´epp. Ha uv el˝ ore-´ele P -nek, u ´gy a D uv ´el´en n¨ ovelj¨ uk x(uv)-t ∆-val. Ha uv h´ atra-´ele P -nek, u ´gy a D vu ´el´en cs¨ okkents¨ uk x(vu)-t ∆-val. K¨ onnyen l´ athat´ o, hogy a m´ odos´ıtott x′ megengedett folyam lesz, amelynek nagys´ aga ∆-val nagyobb, mint x-´e. K¨ ovetkez´esk´epp, ha g eg´esz´ert´ek˝ u, akkor a 2. eset csak v´eges sokszor fordulhat el˝ o, vagyis v´eges sok n¨ ovel´es ut´ an az 1. eset k¨ ovetkezik be, amikor is az algoritmus v´eget ´er. Teh´ at eg´esz kapacit´ asok eset´en az MFMC t´etel bizony´ıt´ ast nyert. Amennyiben g racion´ alis, a nevez˝ ok legkisebb k¨ oz¨ os t¨ obbsz¨ or¨ os´evel a kapacit´ asokat v´egigszorozva visszajutunk az eg´esz kapacit´ as´ u esethez. • Megjegyzend˝ o, hogy ha g irracion´ alis, akkor a fenti elj´ ar´ as nem biztosan ´er v´eget v´eges sok l´ep´esben (amint az p´eld´ aval demonstr´ alhat´ o). M´ asik h´ atr´ any, hogy m´eg eg´esz kapacit´ asok eset´en is az iter´ aci´ ok sz´ ama ar´ anyos lehet az el˝ ofordul´ o legnagyobb kapacit´ as nagys´ ag´ aval. ´Igy az algoritmus bonyolults´ aga az input m´eret´enek exponenci´ alis f¨ uggv´eny´evel ar´ anyos, azaz nem polinomi´ alis. (Egy sz´ am nagys´ aga a jegyei sz´ am´ anak exponenci´ alis f¨ uggv´enye.)
1.6.2
Sk´ al´ az´ asi technika
Az al´ abbiakban bemutatunk egy u ¨gyes fog´ ast, amelynek seg´ıts´eg´evel bizonyos elj´ ar´ asokat polinomi´ alis fut´ asidej˝ uv´e lehet tenni. Haszn´ alat´ at a maxim´ alis folyam probl´em´ an szeml´eltetj¨ uk, mert ott igen egyszer˝ u, de sz´ amos alkalommal bonyolultabb k¨ or¨ ulm´enyek k¨ oz¨ ott is haszn´ alhat´ o. T´etelezz¨ uk fel, hogy a kapacit´ asok eg´esz sz´ amok ´es kettes sz´ amrendszerben vannak megadva. A leg¨ nagyobb kapacit´ as ´ alljon M jegyb˝ ol. Osszesen M darab folyam probl´em´ at fogunk megoldani, mindegyikben a megel˝ oz˝ oen megkapott maxim´ alis folyamot haszn´ aljuk kiindul´ asi folyamk´ent. Jel¨ olje gi azt a kapcit´ as f¨ uggv´enyt, amely u ´gy ´ all el˝ o, hogy minden ´elen az eredeti kapacit´ asnak (balr´ ol) az els˝ o i jegy´et tekintj¨ uk, m´ıg a t¨ obbit elt¨ or¨ olj¨ uk. Tegy¨ uk fel, hogy a gi kapacit´ asf¨ uggv´enyre n´ezve m´ ar meghat´ aroztuk az xi maxim´ alis folyamot. Ekkor 2xi megengedett folyam a gi+1 -re n´ezve. A 2xi -b˝ ol kiindulva alkalmazzuk a fent le´ırt n¨ ovel˝ o utas m´ odszert a gi+1 kapacit´ asf¨ uggv´enyre vonatkoz´ olag. Miut´ an minden e ´elre gi+1 (e) ´ert´eke vagy 2gi (e) vagy 2gi (e)+1, legfeljebb ´elsz´ amnyi n¨ ovel´es ut´ an megkapjuk ¨ az xi+1 maxim´ alis folyamot (a gi+1 -re n´ezve). Osszesen teh´ at legfeljebb M |A| n¨ ovel´es seg´ıts´eg´evel megkonstru´ altunk egy eredeti kapacit´ asokra vonatkoz´ o maxim´ alis folyamot.
33
1.6.3
Legr¨ ovidebb n¨ ovel˝ o utak
A fenti elj´ ar´ as h´ atr´ anya, hogy csak eg´esz (´es ´ıgy racion´ alis) kapacit´ asokra m˝ uk¨ odik. Ezen neh´ezs´eg lek¨ uzd´es´ere J. Edmonds ´es R. Karp [1972] ´es E.A. Dinits [1970] javasolt´ ak, hogy minden iter´ aci´ oban a legkisebb ´elsz´ am´ u n¨ ovel˝ o utat v´ alasszuk. Ez az egyszer˝ u megszor´ıt´ as lehet˝ ov´e teszi, hogy a Ford – Fulkerson algoritmus bonyolults´ ag´ at |V | ´es |A| polinomj´ aval korl´ atozzuk, f¨ uggetlen¨ ul a kapacit´ asok nagys´ ag´ at´ ol. (Ezt persze u ´gy ´ertve, hogy a sz´ amokkal v´egzett alapm˝ uveleteket egyetlen l´ep´esnek tekintj¨ uk.) ´ TETEL 1.6.1 Ha a Ford – Fulkerson f´ele n¨ ovel˝ o utas algoritmusban mindig a legr¨ ovidebb n¨ ovel˝ o utat haszn´ aljuk, u ´gy az elj´ ar´ as tetsz˝ oleges g kapacit´ asf¨ uggv´eny eset´en legfeljebb O(|V ||A|) n¨ ovel´es ut´ an v´eget ´er. Biz. Jel¨ olje σx (v) a v t´ avols´ ag´ at Dx -ben s-t˝ ol. (Ha egy´ altal´ an nincs s-b˝ ol v-be u ´t, akkor σx (v) := ∞). Legyen P egy legr¨ ovidebb u ´t Dx -ben s-b˝ ol t-be. Ekkor P mindegyik uv ´el´ere, σx (v) = σx (u) + 1. Lemma 1.6.2 Amikor P ment´en v´egrehajtunk egy n¨ ovel´est, a σx (v) ´ert´ek semmilyen v-re sem cs¨ okken. Biz. N´ezz¨ uk meg milyen hat´ assal van a n¨ ovel´es a Dx seg´edgr´ afra. Mivel a folyamot D-nek csak olyan ´elein ´ v´ altoztattuk, melyek P ´eleinek felelnek meg, Dx csup´ an P ´elein´el v´ altozhat. Espedig, Dx′ lehets´eges u ´j ´elei P ´elei megford´ıtva, ugyanakkor P kritikus ´elei (ahol ∆ felv´etetik) elt˝ unnek Dx -b˝ ol. A v pont s-t˝ ol val´ o t´ avols´ aga csak akkor cs¨ okkenhetne, ha olyan uw ´eleket adn´ ank a seg´edgr´ afhoz, melyekre σx (w) > σx (u) + 1, amib˝ ol a lemma k¨ ovetkezik. • A n¨ ovel´esek sorozat´ at f´ azisokra bontjuk. Egy f´ azis sor´ an σx (t) ugyanaz marad. A lemma szerint legfeljebb |V | − 1 f´ azis lehets´eges. Lemma 1.6.3 Egy f´ azison bel¨ ul legfeljebb |A| n¨ ovel´esre ker¨ ulhet sor. Biz. Jel¨ olje σi (v) a v pont t´ avols´ ag´ at s-t˝ ol az i f´ azis kezdet´en az aktu´ alis seg´edgr´ afban. Nevezz¨ unk egy uv ´elt i-szorosnak, ha σi (v) = σi (u) + 1. Az i-dik f´ azis sor´ an csup´ an i-szoros ´eleket haszn´ alunk. Tudjuk, hogy egy n¨ ovel´es legal´ abb egy i-szoros ´elt elt¨ untet az aktu´ alis seg´edgr´ afb´ ol ´es nem hoz be u ´j i-szoros ´elt. Mivel a seg´edgr´ afnak legfeljebb |A| darab i-szoros ´ele van, a lemma k¨ ovetkezik. • Mindezeket ¨ osszet´eve kapjuk, hogy legfeljebb |V ||A| n¨ ovel´esre van sz¨ uks´eg¨ unk, ´ıgy az Edmonds – Karp ´es Dinits f´ele algoritmus ¨ ossz-bonyolults´ aga O(|V ||A|2 ), hiszen egyetlen n¨ ovel´es O(|A|) l´ep´est ig´enyel. Miut´ an a fenti algoritmus fut´ asa sor´ an a rendelkez´esre ´ all´ o legr¨ ovidebb n¨ ovel˝ o utak k¨ oz¨ ul b´ armelyiket v´ alaszthatjuk, a v´eg¨ ul kapott maxim´ alis folyam f¨ ugg ezen v´ alaszt´ asokt´ ol. Nem ´ıgy a v´egs˝ o S! Feladatok 1.55 (a) A v´eg¨ ul kapott minim´ alis δ + (S) v´ ag´ as f¨ uggetlen az algoritmus fut´ as´ at´ ol. (b) Ha X ´es Y minimaliz´ alja ¯ az δg (Z) ´ert´eket az ¨ osszes st-halmazra, akkor X ∩ Y ´es X ∪ Y is minimaliz´ al´ o st¯-halmazok. (c) A minimaliz´ al´ o halmazok metszete S. 1.56 Adott e ´elre hogyan lehet eld¨ onteni, hogy (a) l´etezik-e olyan maxim´ alis folyam, amely tel´ıti e-t, (b) minden maxim´ alis folyam tel´ıti e-t. 1.57 Algoritmikusan hat´ arozzuk meg az ¨ osszes {x, y} rendezett cs´ ucsp´ art, amelyre l´etezik olyan X halmaz, hogy s, x ∈ X, y ∈ V − X ´es X minim´ alis v´ ag´ ast hat´ aroz meg. 1.58 Adott k´et kapacit´ asf¨ uggv´eny eset´en algoritmikusan d¨ onts¨ uk el, hogy l´etezik-e olyan S st¯-halmaz, amely mindk´et kapacit´ asf¨ uggv´enyre n´ezve minim´ alis v´ ag´ ast hat´ aroz meg. 1.59 Adott c1 ´es c2 kapacit´ asf¨ uggv´enyek eset´en keress¨ unk olyan c1 -re n´ezve minim´ alis st¯-v´ ag´ ast, amely a c2 -re n´ezve a lehet˝ o legkisebb. 1.60 K´esz´ıts¨ unk algoritmust, amely adott k¨ olts´egf¨ uggv´ enyre eld¨ onti, hogy l´etezik-e k ´elidegen u ´t s-b˝ ol t-be, melyek mindegyike minim´ alis k¨ olts´eg˝ u. 1.61 Digr´ afban keress¨ unk k´et diszjunkt halmazt, melyek egyike st¯-halmaz, m´ asika t¯ s-halmaz u ´gy, hogy befok ¨ osszeg¨ uk minim´ alis.
34
1.6.4
Minim´ alis k¨ olts´ eg˝ u folyamok
Els˝ o c´elunkat el´ert¨ uk: folyamok seg´ıts´eg´evel hat´ekonyan lehet egy D = (V, A) digr´ afban k ´elidegen stutat keresni. A legolcs´ obb u ´t probl´ema ´ altal´ anos´ıt´ asak´ent most vizsg´ aljuk meg, hogy adott c : A → R+ k¨ olts´egf¨ uggv´eny eset´en hogyan lehet meghat´ arozni k ´elidegen st-utat, melyek ¨ osszk¨ olts´ege minim´ alis. Ehhez egy minim´ alis k¨ olts´eg˝ u k nagys´ ag´ u megengedett eg´esz´ert´ek˝ u folyamot fogunk kisz´ am´ıtani a g ≡ 1 kapacit´ asf¨ uggv´enyre vonatkoz´ oan. Val´ oj´ aban az al´ abbi algoritmus ´ altal´ anos g-re is kiterjeszthet˝ o, de az egyszer˝ us´eg kedv´e´ert, ´es amiatt, hogy az ´elidegen utakhoz am´ ugy is csak erre a speci´ alis esetre van sz¨ uks´eg¨ unk, feltessz¨ uk, hogy g ≡ 1. Ilyenkor egy k nagys´ ag´ u eg´esz´ert´ek˝ u megengedett x folyam val´ oj´ aban (0, 1)-´ert´ek˝ u, azaz k-fonat. Kor´ abban l´ attuk, hogy mik´ent lehet egy maxim´ alis M nagys´ ag´ u s-b˝ ol t-be vezet˝ o folyamot polinom id˝ oben kisz´ am´ıtani. Most minden 0 ´es M k¨ oz´e es˝ o k eg´eszre szeretn´ e nk tal´ a lni egy olyan k-fonatot melynek k¨ o lts´ ege P a k-fonatok k¨ ozt minim´ alis. Egy z fonat k¨ olts´ eg´ et a cz = [c(e)z(e) : e ∈ A] skal´ aris szorzattal defini´ aljuk. (Mivel c nem-negat´ıv, a legolcs´ obb k-fonatban, ha vannak k¨ or¨ ok, akkor ezek 0 k¨ olts´eg˝ uek, ´ıgy kihagyhat´ ok.) Megjegyezz¨ uk, hogy van egy speci´ alis k¨ olts´egf¨ uggv´eny oszt´ aly, amelyre a feladat szinte semmitmond´ o. Legyen π : V → Z+ olyan f¨ uggv´eny a cs´ ucshalmazon, amelyre π(s) = 0 ≤ π(v) ≤ π(t) minden v ∈ V -re. Egy ilyen f¨ uggv´enyt potenci´ alnak h´ıvunk. Kor´ abban (az 1.3.4 szakaszban) m´ ar defini´ altuk a ∆π : A → R pntinduk´ alt k¨ olts´egf¨ uggv´enyt, amelyre teh´ at ∆π (uv) := π(v) − π(u).
(1.36)
Ennek lehetnek negat´ıv ´ert´ekei is, de bizonyosan konzervat´ıv, hiszen minden k¨ or k¨ olts´ege nulla. Miut´ an egy st-´ ut ∆π -k¨ olts´ege π(t) − π(s) = π(t), egy egyir´ any´ u k¨ ornek pedig 0, kapjuk, hogy a ∆π pontinduk´ alt k¨ olts´egf¨ uggv´enyre vonatkoz´ olag minden k-fonatnak ugyanaz a k¨ olts´ege, ´espedig kπ(t). Az uv ∈ A ´elekre a cπ (uv) := c(uv) − ∆π (uv)
(1.37)
jel¨ ol´est haszn´ alva azt kapjuk, hogy a minim´ alis k¨ olts´eg˝ u k-fonat meghat´ aroz´ asa szempontj´ ab´ ol c ´es cπ ekvivalens. ´ TETEL 1.6.4 (Ford ´ es Fulkerson) A D = (V, A) ir´ any´ıtott gr´ af ´elhalmaz´ an adott a c : A → R+ k¨ olts´egf¨ uggv´eny. A k-fonatok minim´ alis k¨ olts´ege (vagyis k ´elidegen st-´ ut ¨ osszk¨ olts´eg´enek a minimuma) egyenl˝ oa kπ(t) +
X
[cπ (uv) : uv ∈ A, cπ (uv) < 0]
(1.38)
´ert´ek maximum´ aval, ahol a maximum az ¨ osszes π : V → R+ potenci´ alra megy. Egy z k-fonat akkor ´es csak akkor minim´ alis k¨ olts´eg˝ u a k-fonatok k¨ oz¨ ott, ha l´etezik olyan π potenci´ al, amelyre fenn´ allnak a k¨ ovetkez˝ o optimalit´ asi felt´etelek: cπ (uv) < 0 ⇒ z(uv) = 1 vagy ekvivalensen z(uv) = 0 ⇒ cπ (uv) ≥ 0,
(i)
cπ (uv) > 0 ⇒ z(uv) = 0 vagy ekvivalensen z(uv) = 1 ⇒ cπ (uv) ≤ 0,
(ii)
Amennyiben c eg´esz´ert´ek˝ u, u ´gy az optim´ alis π is v´ alaszthat´ o eg´esz´ert´ek˝ unek. Biz. Potenci´ alok seg´ıts´eg´evel egy z fonat cz k¨ olts´eg´ere az al´ abbi als´ o korl´ atot nyerhetj¨ uk.
kπ(t) +
X
X
c(uv)z(uv) =
X
∆π (uv)z(uv) +
[cπ (uv)z(uv) : cπ (uv) > 0] + kπ(t) + 0 +
X
X
X
cπ (uv)z(uv) =
[cπ (uv)z(uv) : cπ (uv) < 0] ≥
[cπ (uv) : cπ (uv) < 0].
Ebb˝ ol egyr´eszt k¨ ovetkezik a min ≥ max egyenl˝ otlens´eg, m´ asr´eszt az, hogy egy k-fonat bizonyosan minim´ alis k¨ olts´eg˝ u a k-fonatok k¨ oz¨ ott, ha l´etezik hozz´ a olyan π potenci´ al, amelyre a fenti becsl´esben minden egyenl˝ otlens´eg egyenl˝ os´eggel teljes¨ ul, ami viszont pont azzal ekvivalens, hogy fenn´ allnak a t´etelben megadott (i) ´es (ii) optimalit´ asi felt´etelek. Emiatt a t´etel mindk´et r´esze k¨ ovetkezik, ha kimutatjuk, hogy minden lehets´eges eg´esz k ´ert´ekre l´etezik egy k-fonat ´es egy ehhez tartoz´ o π potenci´ al (amely eg´esz´ert´ek˝ u, ha c az), melyek kiel´eg´ıtik az optimalit´ asi felt´eteleket. Ezeket konstru´ alja meg Ford ´es Fulkerson most ismertet´esre ker¨ ul˝ o minim´ al-k¨ olts´eges folyam algoritmusa, amely a maxim´ alis nagys´ ag´ u folyam kisz´ am´ıt´ as´ ara vonatkoz´ o Ford–Fulkerson f´ele n¨ ovel˝ o utas elj´ ar´ as finom´ıt´ as´ anak tekinthet˝ o. Az elj´ ar´ as a z ≡ 0 0-fonattal ´es a π ≡ 0 potenci´ allal indul. Ezut´ an a fonat nagys´ ag´ at (vagyis az ´elidegen st-utak sz´ am´ at) n¨ ovelj¨ uk egyenk´ent, illetve menetk¨ ozben n´eha a potenci´ alt n¨ ovelj¨ uk u ´gy, hogy az optimalit´ asi felt´etelek v´egig fenn´ allnak. Az algoritmus akkor ´er v´eget, amikor maxim´ alis nagys´ ag´ u folyamot illetve egy minim´ alis v´ ag´ ast kaptunk. Az algoritmus v´egig meg˝ orzi az aktu´ alis folyam eg´esz´ert´ek˝ us´eg´et ´es amennyiben c eg´esz´ert´ek˝ u, u ´gy az aktu´ alis potenci´ al´et is.
35
´ ES ´ ITERAT´ IV LEP Az ´ altal´ anos helyzetben adott a z fonat ´es a π potenci´ al, ´es ezek kiel´eg´ıtik az (i) ´es (ii) felt´eteleket. Megkonstru´ alunk egy D′ = (V, A′ ) seg´edgr´ afot a k¨ ovetkez˝ ok´eppen. D′ -nek k´etf´ele ´ele van: el˝ ore ´es h´ atra. Egy uv ∈ A′ ´el el˝ ore-´ el, ha uv ∈ A, cπ (uv) = 0 ´es z(uv) = 0. Egy uv ∈ A′ ´el h´ atra-´ el, ha vu ∈ A, cπ (vu) = 0 ´es z(vu) = 1. Legyen S az s-b˝ ol D′ -ben egyir´ any´ u u ´ton el´erhet˝ o pontok halmaza. Eml´ekeztet¨ unk, hogy D′ -ben nem l´ep ki ´el S-b˝ ol. K´et eset lehets´eges. 1. Eset t 6∈ S, azaz t nem el´erhet˝ o s-b˝ ol. Legyen ε1 = min{cπ (uv) : uv ∈ A, u ∈ S, v ∈ V − S, z(uv) = 0} ´es ε2 = min{−cπ (uv) : uv ∈ A, u ∈ V − S, v ∈ S, z(uv) = 1}, ahol az u ¨res halmazon vett minimumot ∞-nek defini´ aljuk. Legyen ε = min{ε1 , ε2 }. ´ ıt´ All´ as 1.6.1 ε > 0. Biz. L´ assuk be el˝ osz¨ or, hogy ε1 > 0. Ha D-nek minden S-b˝ ol kil´ep˝ o uv ´el´en z(uv) = 1, akkor ε1 = ∞. Legyen most uv a D-nek egy olyan S-b˝ ol kil´ep˝ o ´ele, amelyre z(uv) = 0. Az (i) felt´etel miatt cπ (uv) ≥ 0, de itt nem szerepelhet egyenl˝ os´eg, mert cπ (uv) = 0 eset´en uv a D′ -nek egy S-b˝ ol kil´ep˝ o (el˝ ore) ´ele volna. Teh´ at cπ (uv) > 0 a D minden S-b˝ ol kil´ep˝ o ´el´ere, ´ıgy ε1 > 0. Most megmutatjuk, hogy ε2 > 0. Ha D-nek minden S-be bel´ep˝ o uv ´el´en z(uv) = 0, akkor ε2 = ∞. Legyen most uv a D-nek egy olyan S-be bel´ep˝ o ´ele, amelyre z(uv) = 1. Az (ii) felt´etel miatt cπ (uv) ≤ 0, de itt nem szerepelhet egyenl˝ os´eg, mert cπ (uv) = 0 eset´en a ford´ıtott vu ´el a D′ -nek egy S-b˝ ol kil´ep˝ o (h´ atra) ´ele volna. Teh´ at cπ (uv) < 0 a D minden S-be bell´ep˝ o ´el´ere, ´ıgy ε2 > 0. • Amennyiben ε = ∞, u ´gy az algoritmus v´eget ´er. Ebben az esetben az S-b˝ ol kil´ep˝ o D-beli ´elek mind tel´ıtettek (azaz mindegyik ilyen ´elen a z ´ert´eke 1, m´ıg az S-be bel´ep˝ o D-beli ´elek mindegyik´en a z ´ert´eke nulla. ´Igy teh´ at δ(S) = δz (S) − ̺z (S) = δz (s), vagyis az aktu´ alis z fonat maxim´ alis nagys´ ag´ u ´es az S-b˝ ol kil´ep˝ o ´elek halmaza minim´ alis v´ ag´ ast hat´ aroz meg. Legyen most ε < ∞, ´es m´ odos´ıtsuk π-t u ´gy, hogy minden v ∈ V − S-re n¨ ovelj¨ uk π(v)-t ε-nal. Az S ´es az ε defin´ıci´ oj´ ab´ ol r¨ ogt¨ on kapjuk: ´ ıt´ All´ as 1.6.2 A m´ odos´ıtott potenci´ al ´es a v´ altozatlanul hagyott z fonat kiel´eg´ıti az optimalit´ asi felt´eteleket. • K´esz´ıts¨ uk el az u ´j seg´edgr´ afot ´es ism´etelj¨ uk meg az elj´ ar´ ast. Figyelj¨ uk meg, hogy a seg´edgr´ afban a (r´egi) S ´ altal fesz´ıtett ´elek v´ altozatlanok maradnak ´es legal´ abb egy S-b˝ ol kil´ep˝ ou ´j ´el keletkezik az ε v´ alaszt´ asa folyt´ an. (Csup´ an t´ aj´ekoztat´ asul: az ¨ osszes S-be l´ep˝ o ´el megsz˝ unik.) Emiatt az u ´j seg´edgr´ afban az s-b˝ ol el´ert pontok halmaza szigor´ uan b˝ ovebb lesz, mint S. Ez´ert az 1. eset legfeljebb (|V | − 1)-szeri el˝ ofordul´ asa alatt vagy ut´ an bizonyosan vagy az ε = ∞ k¨ ovetkezik be, vagy pedig az al´ abbi 2. eset. 2. Eset t ∈ S, vagyis t el´erhet˝ o s-b˝ ol. Legyen P a D′ -ben egy s-b˝ ol t-be vezet˝ o egyir´ any´ uu ´t. M´ odos´ıtsuk z-t ′ a k¨ ovetkez˝ ok´eppen. Legyen z (uv) = 1, ha uv a P -nek el˝ ore-´ele ´es legyen z ′ (uv) = 0, ha vu a P -nek h´ atra-´ele. A m´ odos´ıt´ asb´ ol ad´ odik: ´ ıt´ All´ as 1.6.3 A m´ odos´ıtott fonat ´es v´ altozatlanul hagyott potenci´ al kiel´eg´ıti az optimalit´ asi felt´eteleket. • Az algoritmus le´ır´ as´ at befejezt¨ uk, ´es ezzel a t´etel bizony´ıt´ asa is teljes, hiszen az elj´ ar´ as v´eges sok l´ep´es ut´ an minden lehets´eges k-ra megad egy k-fonatot ´es egy potenci´ alt, melyek teljes´ıtik az optimalit´ asi felt´eteleket. Miut´ an ¨ osszesen M ≤ |A| folyamn¨ ovel´esre ker¨ ul sor ´es k´et folyamn¨ ovel´es k¨ oz¨ ott legfeljebb |V | − 1 potenci´ al v´ altoztat´ asra, a fenti algoritmus polinomi´ alis fut´ asidej˝ u. • • Eml´ekezz¨ unk vissza Duffin t´etel´ere (1.3.15 t´etel), amely azt mondta ki, hogy konzervat´ıv c eset´en a legolcs´ obb st-´ ut k¨ olts´ege egyenl˝ o a π(t) − π(s) ´ert´ek maximum´ aval, ahol a maximum az ¨ osszes megengedett π potenci´ alon veend˝ o. Ford ´es Fulkerson fenti 1.6.4 t´etele a k = 1 speci´ alis esetben azt mondja, hogy nem-negat´ıv c eset´en a legolcs´ obb st-´ ut k¨ olts´ege egyenl˝ oa π(t) +
X
[cπ (uv) : uv ∈ A, cπ (uv) < 0]
(1.39)
´ert´ek maximum´ aval, ahol a maximum az ¨ osszes π : V → R+ potenci´ alra megy (ahol π(s) = 0). Mik´ent adja vissza ez a t´etel Duffin t´etel´et? El˝ osz¨ or is figyelj¨ uk meg, hogy a Duffin t´etelt elegend˝ o nem-negat´ıv c-re igazolni, hiszen l´etezik π megengedett potenci´ al ´es c − ∆π egy ekvivalens ´es nem-negat´ıv k¨ olts´egf¨ uggv´eny. M´ armost Duffin t´etel´ehez elegend˝ o megmutatnunk, hogy (1.39)-ben el´eg megengedett π-kre szor´ıtkoznunk, amikor teh´ at egy´ altal´ an nincs olyan uv ´el, amelyre cπ (uv) < 0. Legyen most π optim´ alis ´es tegy¨ uk fel, hogy az e = uv ´el hib´ as, azaz cπ (uv) < 0. Ekkor a Ford-Fulkerson t´etelben megfogalmazott optimalit´ asi krit´erium miatt uv minden legolcs´ obb st-´ utban benne van. Ez azt jelenti, hogy az s-b˝ ol indul´ o legolcs´ obb utak D′ digr´ afj´ ab´ ol e-t kihagyva t m´ ar nincs benne az el´erhet˝ o pontok S halmaz´ aban. De ekkor a π ´ert´ek´et α := −cπ (uv)-vel cs¨ okkentve a V − S valamennyi elem´en a kapott π ′ potenci´ al szint´en optim´ alis ´es kevesebb hib´ as ´el van.
36
Az ´ altal´ anos eset Megjegyezz¨ uk, hogy a fenti t´etel ´es algoritmus minim´ alis v´ altoztat´ assal ´ atvihet˝ o az ´ altal´ anos esetre, amikor egy ´ altal´ anos g : A → Z+ kapacit´ asf¨ uggv´enyre vonatkoz´ o megengedett k nagys´ ag´ u folyamok k¨ oz¨ ul keress¨ uk meg a minim´ alis k¨ olts´eg˝ ut. Az al´ abbiakban v´ azoljuk az elt´er´eseket. ´ TETEL 1.6.5 A D = (V, A) ir´ any´ıtott gr´ af ´elhalmaz´ an adott a g : A → Z+ eg´esz´ert´ek˝ u kapacit´ asf¨ uggv´eny ´es a c : A → R+ k¨ olts´egf¨ uggv´eny. A k nagys´ ag´ u eg´esz´ert´ek˝ u megengedett folyamok k¨ olts´eg´enek minimuma egyenl˝ oa X kπ(t) + [cπ (uv)g(uv) : uv ∈ A, cπ (uv) < 0] (1.40) ´ert´ek maximum´ aval, ahol a maximum az ¨ osszes π potenci´ alra megy. Egy k nagys´ ag´ u megengedett z folyam akkor ´es csak akkor minim´ alis k¨ olts´eg˝ u a k nagys´ ag´ u megengedett folyamok k¨ oz¨ ott, ha l´etezik olyan π potenci´ al, amelyre fenn´ allnak a k¨ ovetkez˝ o optimalit´ asi felt´etelek: cπ (uv) < 0 ⇒ z(uv) = g(uv),
(i)
cπ (uv) > 0 ⇒ z(uv) = 0.
(ii)
Amennyiben c eg´esz´ert´ek˝ u, u ´gy az optim´ alis π is v´ alaszthat´ o eg´esz´ert´ek˝ unek. Biz. Potenci´ alok seg´ıts´eg´evel egy z folyam cz k¨ olts´eg´ere az al´ abbi als´ o korl´ atot nyerhetj¨ uk.
P
P
P
c(uv)z(uv) = [π(v)−π(u)]z(uv)+ cπ (uv)z(uv) = kπ(t)+ P cπ (uv) < 0] ≥ kπ(t) + 0 + [cπ (uv)g(uv) : cπ (uv) < 0].
P
[cπ (uv)z(uv) : cπ (uv) > 0]+
P
[cπ (uv)z(uv) :
Ebb˝ ol k¨ ovetkezik, hogy egy k nagys´ ag´ u z folyam bizonyosan minim´ alis k¨ olts´eg˝ u a k nagys´ ag´ uak k¨ oz¨ ott, ha l´etezik hozz´ a olyan π potenci´ al, amelyre a fenti becsl´esben minden egyenl˝ otlens´eg egyenl˝ os´eggel teljes¨ ul, ami viszont pont azzal ekvivalens, hogy fenn´ allnak a t´etelben megadott (i) ´es (ii) optimalit´ asi felt´etelek. Emiatt a t´etel mindk´et r´esze k¨ ovetkezik, ha kimutatjuk, hogy minden lehets´eges eg´esz k ´ert´ekre l´etezik egy k nagys´ ag´ u eg´esz´ert´ek˝ u megengedett folyam ´es egy ehhez tartoz´ o π potenci´ al (amely eg´esz´ert´ek˝ u, ha c az), melyek kiel´eg´ıtik az optimalit´ asi felt´eteleket. Az elj´ ar´ as az azonosan nulla folyammal ´es az azonosan nulla potenci´ allal indul. Ezut´ an a folyam nagys´ ag´ at n¨ ovelj¨ uk egyenk´ent, illetve menetk¨ ozben n´eha a potenci´ alt n¨ ovelj¨ uk u ´gy, hogy az optimalit´ asi felt´etelek v´egig fenn´ allnak. Az algoritmus akkor ´er v´eget, amikor maxim´ alis nagys´ ag´ u folyamot illetve egy minim´ alis v´ ag´ ast kaptunk. Az algoritmus v´egig meg˝ orzi az aktu´ alis folyam eg´esz´ert´ek˝ us´eg´et ´es amennyiben c eg´esz´ert´ek˝ u, u ´gy az aktu´ alis potenci´ al´et is. Az ´ altal´ anos helyzetben adott egy z folyam ´es egy π potenci´ al, melyek kiel´eg´ıtik az (i) ´es (ii) felt´eteleket. A D′ = (V, A′ ) seg´edgr´ afot a k¨ ovetkez˝ ok´eppen defini´ aljuk. Egy uv ∈ A′ ´el el˝ ore-´ el, ha uv ∈ A, cπ (uv) = 0 ´es z(uv) < g(uv). Egy uv ∈ A′ ´el h´ atra-´ el, ha vu ∈ A, cπ (vu) = 0 ´es z(vu) > 0. 1. Eset t 6∈ S, azaz t nem el´erhet˝ o s-b˝ ol. Legyen ε1 = min{cπ (uv) : uv ∈ A, u ∈ S, v ∈ V − S, z(uv) < g(uv)} ´es ε2 = min{−cπ (uv) : uv ∈ A, u ∈ V − S, v ∈ S, z(uv) > 0}, ahol az u ¨res halmazon vett minimumot ∞-nek defini´ aljuk. Legyen ε = min{ε1 , ε2 }. Az optimalit´ asi felt´etelek ´es az S defin´ıci´ oja miatt ε pozit´ıv. Amennyiben ε = ∞, u ´gy az algoritmus v´eget ´er. Ebben az esetben az S-b˝ ol kil´ep˝ o eredeti ´elek mind tel´ıtettek, m´ıg az S-be bel´ep˝ o eredeti ´elek mindegyik´en a folyam nulla. ´Igy teh´ at δg (S) = δz (S)−̺z (S) = δz (s), vagyis az aktu´ alis z folyam maxim´ alis nagys´ ag´ u ´es az S-b˝ ol kil´ep˝ o ´elek halmaza minim´ alis v´ ag´ ast hat´ aroz meg. Legyen most ε < ∞, ´es m´ odos´ıtsuk π-t u ´gy, hogy minden v ∈ V − S-re n¨ ovelj¨ uk π(v)-t ε-nal. Az S ´es az ε defin´ıci´ oj´ ab´ ol r¨ ogt¨ on kapjuk: ´ ıt´ All´ as 1.6.4 A m´ odos´ıtott potenci´ al ´es a v´ altozatlanul hagyott z folyam kiel´eg´ıti az optimalit´ asi felt´eteleket. •
K´esz´ıts¨ uk el az u ´j seg´edgr´ afot ´es ism´etelj¨ uk meg az elj´ ar´ ast. Figyelj¨ uk meg, hogy a seg´edgr´ afban a (r´egi) S ´ altal fesz´ıtett ´elek v´ altozatlanok maradnak ´es legal´ abb egy S-b˝ ol kil´ep˝ ou ´j ´el keletkezik az ε v´ alaszt´ asa folyt´ an. (Csup´ an t´ aj´ekoztat´ asul: az ¨ osszes S-be l´ep˝ o ´el megsz˝ unik.) Emiatt az u ´j seg´edgr´ afban az s-b˝ ol el´ert pontok halmaza szigor´ uan b˝ ovebb lesz, mint S. Ez´ert az 1. eset legfeljebb (|V | − 1)-szeri el˝ ofordul´ asa alatt vagy ut´ an bizonyosan vagy az ε = ∞ k¨ ovetkezik be, vagypedig az al´ abbi 2. eset. 2. Eset t ∈ S, vagyis t el´erhet˝ o s-b˝ ol. Legyen P a D′ -ben egy s-b˝ ol t-be vezet˝ o egyir´ any´ uu ´t. M´ odos´ıtsuk ′ z-t a k¨ ovetkez˝ ok´eppen. Legyen z (uv) = z(uv) + 1, ha uv a P -nek el˝ ore-´ele ´es legyen z ′ (uv) = z(uv) − 1, vu a P -nek h´ atra-´ele. A m´ odos´ıt´ asb´ ol ad´ odik: ´ ıt´ All´ as 1.6.5 A m´ odos´ıtott folyam ´es v´ altozatlanul hagyott potenci´ al kiel´eg´ıti az optimalit´ asi felt´eteleket. •
37
Ezzel az algoritmus le´ır´ as´ at be is fejezt¨ uk. Az elj´ ar´ as bizonyosan v´eges, hiszen ¨ osszesen M folyamn¨ ovel´esre ker¨ ul sor ´es k´et folyamn¨ ovel´es k¨ oz¨ ott legfeljebb |V | potenci´ al v´ altozt´ asra. Ez´ altal a t´etel bizony´ıt´ asa teljes. • • Mi mondhat´ o az elj´ ar´ as fut´ asidej´er˝ ol? Minthogy minden 1 ≤ k ≤ M ´ert´ekre ki akartuk sz´ amolni a k nagys´ ag´ u minim´ alis k¨ olts´eg˝ u folyamot, az algoritmus l´ep´essz´ am´ at az M ´ert´ek´enek ´es a digr´ af |A| m´eret´enek f¨ uggv´eny´eben kell becs¨ uln¨ unk. Mivel l´enyeg´eben M darab n¨ ovel´esre volt sz¨ uks´eg¨ unk (2. eset), ez´ert az elj´ ar´ as polinomim´ alis M ´es |A| f¨ uggv´eny´eben. Elk´epzelhet˝ o persze olyan helyzet is, amikor csak egy maxim´ alis nagys´ ag´ u minim´ alis k¨ olts´eg˝ u folyamot kell kisz´ am´ıtanunk. Ebben az esetben az algoritmus l´ep´essz´ am´ anak a digr´ af m´eret´enek f¨ uggv´eny´eben kellene polinomi´ alisnak lennie, ´es ez most term´eszetesen nem ´ all, hiszen a l´ep´essz´ am az M nagys´ ag´ aval ar´ anyos. De m´eg ebben az esetben is k´et fontos speci´ alis eset kezelhet˝ o polinomi´ alis id˝ oben. Ha a legnagyobb kapacit´ as nem t´ uls´ agosan nagy (nevezetesen, ha |V | polinomj´ aval korl´ atozhat´ o), akkor a fenti elj´ ar´ as nyilv´ an polinomi´ alis, f¨ uggetlen¨ ul att´ ol, hogy a c k¨ olts´eg-f¨ uggv´eny eg´esz´ert´ek˝ u-e vagy sem. Tegy¨ uk most fel, hogy a kapacit´ asok tetsz˝ olegesek, a k¨ olts´eg-f¨ uggv´eny eg´esz´ert´ek˝ u ´es ,,kicsi”. Ekkor az algoritmus k¨ ovetkez˝ o m´ odos´ıt´ asa er˝ osen polinomi´ alis algoritmust eredm´enyez. Tekints¨ uk az algoritmus egy k¨ ozbens˝ o helyzet´et, amikor egy π potenci´ al rendelkez´esre ´ all. A szoros ´elek digr´ afj´ aban (egy uv ´el szoros, ha cπ (uv) = 0) sz´ am´ıtsunk ki (a Max-flow Min-cut algoritmusssal) egy maxim´ alis nagys´ ag´ u z folyamot ´es egy S minim´ alis ki-kapacit´ as´ u st¯-halmazt. Ha D-ben minden S-be bel´ep˝ o ´es S-b˝ ol kil´ep˝ o ´el szoros, akkor S minim´ alis v´ ag´ ast hat´ aroz meg ´es az aktu´ alis z folyam maxim´ alis nagys´ ag´ u, amely kiel´eg´ıti az optimalit´ asi felt´eteleket. Ebben az esetben az algoritmus v´eget ´er. Amennyiben D-nek l´etezik nem-szoros ´ele, amely S-be be- vagy kil´ep, u ´gy ε, ahogy azt fentebb az 1. esetn´el kisz´ am´ıtottuk, v´eges lesz. M´ odos´ıtsuk π-t u ´gy, mint az el˝ obb, azaz minden v ∈ V − S-re n¨ ovelj¨ uk π(v)-t ε-nal. Azt ´ all´ıtjuk, hogy a π(t) ´ert´ek a D digr´ af valamely (ir´ any´ıtatlan ´ertelemben vett) s-b˝ ol t-be vezet˝ ou ´tj´ anak a k¨ olts´ege. Val´ oban, minden folyam-n¨ ovel´eskor a seg´edgr´ afban van olyan st u ´t, amely szoros ´elekb˝ ol ´ all. K¨ ovetkezik, hogy a k¨ ul¨ onb¨ oz˝ o π(t) ´ert´ekek sz´ ama (vagyis az 1. eset el˝ ofordul´ asainak sz´ ama) fel¨ ulr˝ ol korl´ atozhat´ o az ´elek ¨ ossz-k¨ olts´eg´evel. Teh´ at az elj´ ar´ as polinomi´ alis, ha a c eg´esz´ert´ek˝ u ´es legnagyobb ´ert´eke |V | polinomj´ aval korl´ atozhat´ o. Ugyanakkor van olyan p´elda (sorozat), amely azt mutatja, hogy ha c-nek csak az eg´esz´ert´ek˝ us´eg´et tessz¨ uk fel, akkor az algoritmus nem polinomi´ alis. Megjegyezz¨ uk, hogy Edmonds ´es Karp a sk´ al´ az´ asi technik´ at eredetileg a legolcs´ obb folyamok polinomi´ alis ´ nev´ehez f˝ idej˝ u meghat´ aroz´ as´ ara dolgozta ki. Az els˝ o er˝ osen polinomi´ alis algoritmus Tardos Eva uz˝ odik. Feladat 1.62 Igazoljuk, hogy tetsz˝ oleges c eset´en a fenti algoritmus v´eges sok l´ep´esben v´eget ´er. Feladat 1.63 Hogyan lehet egy ´els´ ulyozott p´ aros gr´ afban adott k-ra maxim´ alis s´ uly´ u k ´el˝ u p´ aros´ıt´ ast kisz´ am´ıtani? 2013. augusztus 1. file: ufolyam
38
2. Fejezet
´ LINEARIS EGYENLETRENDSZEREK 2.1
Vektort´ er, alt´ er, line´ aris f¨ uggetlens´ eg
Az al´ abbiakban ´ attekintj¨ uk a V Euklideszi vektort´er n´eh´ any alaptulajdons´ ag´ at. Ez a fejezet nem tartozik szorosan az oper´ aci´ okutat´ ashoz (´es az el˝ oad´ ason nem is hangzik el), mert az itt k¨ oz¨ oltek a line´ aris algebra r´esz´et alkotj´ ak. C´elunk az, hogy azon alapfogalmakat ´es alaperedm´enyeket mutassuk be, amelyekre a line´ aris programmoz´ asi fejezetek a k´es˝ obbiekben t´ amaszkodni fognak. Az alaptest mindig a val´ os (R) vagy a racion´ alis (Q) sz´ amok teste. Amikor Euklideszi vektort´err˝ ol besz´el¨ unk, a val´ os sz´ am n-esek Rn ter´ere (vagy a racion´ alis sz´ am n-esek Qn ter´ere) gondolunk. (Line´ aris algebr´ aban bebizony´ıtj´ ak, hogy b´ armely k´et n-dimenzi´ os Euklideszi vektort´er egym´ assal izomorf.) Mindig az R-t haszn´ aljuk alaptestk´ent, de valamennyi ´ all´ıt´ as ´erv´enyes a Q eset´en is. Rem´elhet˝ oleg nem okoz majd zavart, hogy jel¨ ol´esben nem tesz¨ unk k¨ ul¨ onbs´eget a 0 sz´ am ´es a vektort´er nulleleme (az orig´ o) k¨ oz¨ ott. A vektort´er elemeit n´eha vektoroknak, n´eha pontoknak tekintj¨ uk. Legyen x ´es y k´et azonos dimenzi´ os vektor. Azt mondjuk, hogy x ≥ y, ha x minden komponense nagyobb vagy egyenl˝ o y megfelel˝ o komponens´en´el. Amennyiben x ≤ y ´es x 6= y, u ´gy az x < y jel¨ ol´est haszn´ aljuk. Amikor x minden komponense szigor´ uan kisebb az y megfelel˝ o komponens´en´el, az x ≪ y jel¨ ol´est haszn´ aljuk. Adott x1 , . . . , xk vektorok ´es λ1 , . . . , λk sz´ amok eset´en a b := λ1 x1 +· · ·+λk xk vektort az x1 , . . . , xk vektorok egy line´ aris kombin´ aci´ oj´ anak nevezz¨ uk. Ha a λi sz´ amok ¨ osszege 1, affin kombin´ aci´ or´ ol besz´el¨ unk, m´ıg ha valamennyi λi nem-negat´ıv, u ´gy nem-negat´ıv kombin´ aci´ or´ ol van sz´ o. Egy nem-negat´ıv, affin kombin´ aci´ ot konvex kombin´ aci´ onak mondunk. V´eges sok vektor line´ aris kombin´ aci´ oinak halmaz´ at a vektorok line´ aris burk´ anak nevezz¨ uk. V´eges sok pont affin (konvex) kombin´ aci´ oinak halmaz´ at a pontok affin, (konvex) burk´ anak h´ıvjuk. P´eld´ aul k´et pont konvex burka az ˝ oket ¨ osszek¨ ot˝ o szakasz, h´ arom pont konvex burka az ´ altaluk fesz´ıtett h´ aromsz¨ og. Amennyiben a b 6= 0 elem el˝ o´ all az x1 , . . . , xk elemek line´ aris kombin´ aci´ ojak´ent, u ´gy azt mondjuk, hogy b line´ arisan f¨ ugg az x1 , . . . , xk elemekt˝ ol. Ha b-nek nincs ilyen el˝ o´ all´ıt´ asa, akkor b line´ arisan f¨ uggetlen az x1 , . . . , xk elemekt˝ ol. A line´ aris kombin´ aci´ o trivi´ alis, ha mindegyik λi egy¨ utthat´ o 0. Ha legal´ abb az egyik¨ uk nem-nulla, nem-trivi´ alis line´ aris kombin´ aci´ or´ ol besz´el¨ unk. Azt mondjuk, hogy az x1 , . . . , xk vektorok line´ arisan ¨ osszef¨ uggnek, ha a vektort´er nulleleme el˝ o´ all nem-trivi´ alis line´ aris kombin´ aci´ ojukk´ent. Ha nincs ilyen el˝ o´ all´ıt´ as, u ´gy az x1 , . . . , xk vektorokat line´ arisan f¨ uggetleneknek mondjuk. Az x1 , . . . , xk vektorok k¨ ort alkotnak, ha line´ arisan ¨ osszef¨ uggnek, de b´ armely val´ odi r´esz¨ uk m´ ar line´ arisan f¨ uggetlen. (Az elnevez´es a gr´ afelm´elet k¨ or-fogalm´ ab´ ol j¨ on ´es nincs k¨ oze a geometria k¨ or-fogalm´ ahoz.) K¨ onny˝ u ellen˝ orizni, hogy egy k¨ or b´ armely eleme line´ arisan f¨ ugg a k¨ or t¨ obbi elem´et˝ ol. (Ha csak annyit tessz¨ unk fel, hogy az x1 , . . . , xk elemek line´ arisan ¨ osszef¨ uggnek, akkor nem felt´etlen¨ ul igaz az, hogy mindegyik xi elem line´ arisan f¨ ugg a t¨ obbit˝ ol. P´eld´ aul, az (1, 0), (2, 0), (0, 1) k´etdimenzi´ os vektorok line´ arisan ¨ osszef¨ uggnek, de a (0,1) vektor nem ´ all´ıthat´ o el˝ o az (1, 0) ´es (2, 0) vektorok line´ aris kombin´ aci´ ojak´ent.) Egy (a1 , a2 , . . . , an ) egym´ as mell´e le´ırt sz´ am n-est sorvektornak tekint¨ unk, m´ıg ha ezeket az elemeket egym´ as al´ a ´ırjuk, oszlopvektorr´ ol besz´el¨ unk. Ha a sor-vektor, akkor at az a transzpon´ altja, vagyis az a-nak megfelel˝ o oszlopvektor. Legyen X ´es Y k´et vektor-halmaz Rn -ben. Ekkor a vektor-¨ osszeg¨ uk¨ on vagy Minkowski ¨ osszeg¨ uk¨ on (r¨ oviden, ¨ osszeg¨ uk¨ on) az X + Y := {x + y : x ∈ X, y ∈ Y } halmazt ´ertj¨ uk. A k¨ ul¨ onbs´eg¨ uk anal´ og m´ odon defini´ alhat´ o. A V vektort´er A altere egy olyan nem¨ ures r´eszhalmaza V -nek, amelyre fenn´ all, hogy 1. x ∈ A ⇒ λx ∈ A minden λ ∈ R sz´ amra,
39
2. x, y ∈ A ⇒ x + y ∈ A. Nyilv´ an az egyetlen nulla elemb˝ ol ´ all´ o halmaz alt´er, az u ´n. trivi´ alis alt´ er. Maga az eg´esz V is alt´er. A defin´ıci´ ob´ ol k¨ ovetkezik, hogy a vektort´er 0 eleme minden alt´erben benne van. Tov´ abb´ a az alt´er v´eges ´ enyes, hogy alterek metszete is alt´er. sok elem´enek b´ armilyen line´ aris kombin´ aci´ oja is az alt´erben van. Erv´ K¨ onnyen ellen˝ orizhet˝ o, hogy k´et alt´er ¨ osszege is alt´er, ´espedig a mindkett˝ ot mag´ aban foglal´ o legsz˝ ukebb alt´er. Egy alt´er dimenzi´ oja az alt´erb˝ ol kiv´ alaszthat´ o line´ arisan f¨ uggetlen elemek maxim´ alis sz´ ama. Speci´ alisan a trivi´ alis alt´er dimenzi´ oja 0. K´et n-dimenzi´ os a = (a1 , . . . , an ), b = (b1 , . . . , bn ) vektor skal´ arszorzata az ab := a1 b1 + . . . + an bn sz´ am. Term´eszetesen ab = ba. Azt mondjuk, hogy a ´es b ortogon´ alis, ha skal´ arszorzatuk 0. Az A, B ⊆ V halmazokr´ ol azt mondjuk, hogy egym´ asra ortogon´ alisak (vagy mer˝ olegesek), ha A mindegyik eleme ortogon´ alis B mindegyik elem´ere. (Ebben az ´ertelemben teh´ at a h´ aromdimenzi´ os t´er egy v´ızszintes ´es egy f¨ ugg˝ oleges s´ıkja nem ortogon´ alis egym´ asra!) K¨ onnyen l´ atszik, hogy ha egy y vektor ortogon´ alis az x1 , . . . , xk vektorok mindegyik´ere, akkor ortogon´ alis ezek b´ armely line´ aris kombin´ aci´ oj´ ara is. A defin´ıci´ ob´ ol r¨ ogt¨ on ad´ odik, hogy ha x1 , . . . , xk a V vektort´er v´eges sok eleme, akkor a line´ aris burkuk (vagyis a line´ aris kombin´ aci´ ojukk´ent el˝ o´ all´ o elemek halmaza) alteret alkot, amit az x1 , . . . , xk elemek ´ altal gener´ alt alt´ ernek is nevez¨ unk. Ez nem m´ as, mint az X := {x1 , . . . , xk } halmazt tartalmaz´ o alterek metszete, vagyis a legsz˝ ukebb X-t mag´ aban foglal´ o alt´er. Altereket m´ as m´ odon is el˝ o´ all´ıthatunk. Legyen a ∈ Rn nem-nulla vektor. Az a-ra ortogon´ alis elemek {x ∈ Rn : ax = 0} halmaz´ at, m´ assz´ oval az ax = 0 line´ aris egyenlet megold´ as-halmaz´ at orig´ on ´ atmen˝ o vagy homog´ en hipers´ıknak nevezz¨ uk, melynek (egyik) norm´ alisa vagy norm´ al vektora a. Amennyiben a az iedik egys´egvektor, u ´gy az a-ra mer˝ oleges vektorok halmaz´ at koordin´ ata-hipers´ıknak h´ıvjuk. Ez teh´ at mindazon vektorokb´ ol ´ all, amelyek i-edik koordin´ at´ aja 0. K¨ onnyen l´ atszik, hogy egy homog´en hipers´ık alteret alkot. Ebb˝ ol ad´ odik, hogy homog´en hipers´ıkok metszete is alt´er. M´ assz´ oval, adott x1 , . . . , xk vektorok mindegyik´ere ortogon´ alis vektorok halmaza alteret alkot, melyet az x1 , . . . , xk ortogon´ alis kieg´ esz´ıt˝ o alter´ enek, m´ as n´even nullter´ enek nevez¨ unk. Ha az xi vektorok mindegyike valamelyik (0, 0, . . . , 1, . . . , 0) alak´ u egys´egvektor, u ´gy ezek ortogon´ alis kieg´esz´ıt˝ o alter´et koordin´ ata-alt´ ernek h´ıvjuk. Ez teh´ at koordin´ ata-hipers´ıkok metszete, vagyis mindazon vektorok halmaza, amelyeknek k el˝ ore adott komponense 0. Egy x pontnak az xj koordin´ ata (vagy tengely) menti vet¨ ulet´ et u ´gy kapjuk, hogy x j-edik komponens´et 0-re ´ all´ıtjuk. Val´ oj´ aban ez a bels˝ o vet¨ ulet, megk¨ ul¨ onb¨ oztetend˝ o a k¨ uls˝ o vet¨ ulett˝ ol, amelyet u ´gy kapunk, hogy az x vektor j-edik komponens´et elt¨ or¨ olj¨ uk. (A tengelymenti bels˝ o vet´ıt´es teh´ at a vektorteret egy alter´ere k´epezi le, m´ıg a k¨ uls˝ o vet´ıt´es egy m´ asik vektort´erre). Legyenek U ´es V vektorterek. Azt mondjuk, hogy a ϕ : U → V lek´epez´es line´ aris transzform´ aci´ o (vagy lek´ epez´ es), ha 1. x ∈ U, λ ∈ R eset´en ϕ(λx) = λϕ(x) ´es 2. x, y ∈ U eset´en ϕ(x + y) = ϕ(x) + ϕ(y). K¨ onnyen ellen˝ orizhet˝ o, hogy az U azon elemeinek halmaza, amelyek a V nulla elem´ebe k´epz˝ odnek le, az U nak alter´et alkotj´ ak, amely alteret a ϕ lek´epez´es magter´ enek neveznek. Hasonl´ ok´eppen egyszer˝ u azt bel´ atni, hogy V azon elemei, amelyek valamely U -beli elem k´epek´ent ´ allnak el˝ o (azaz a {ϕ(u) : u ∈ U } halmaz elemei), a V -nek alter´et alkotj´ ak, amely alteret a ϕ lek´epez´es k´ epter´ enek neveznek. Egy x = (x1 , . . . , xn ) sz´ am n-esen n´eha az Rn (x1 , . . . , xn ) koordin´ at´ aj´ u pontj´ at ´ertj¨ uk, n´eha az orig´ ob´ ol az x pontba mutat´ o vektort. Pontok egy {p1, . . . , pq } ⊆ Rn halmaz´ ar´ ol azt mondjuk, hogy affin f¨ uggetlen, ha egyik pontot sem lehet n´eh´ any m´ asik pont affin kombin´ aci´ ojak´ent el˝ o´ all´ıtani. Az affin f¨ uggetlens´eg a pontok f¨ uggetlens´eg´et akarja megragadni, a line´ aris f¨ uggetlens´eg a vektorok f¨ uggetlens´eg´et. (K´et pont ´eppen akkor affin f¨ uggetlen, ha k¨ ul¨ onb¨ oz˝ oek, h´ arom k¨ ul¨ onb¨ oz˝ o pont affin f¨ uggetlens´ege azzal ekvivalens, hogy nincsenek egy egyenesen.) Pontok egy k elem˝ u halmaza pontosan akkor affin f¨ uggetlen, ha az egyikb˝ ol a t¨ obbibe mutat´ o k −1 vektor line´ arisan f¨ uggetlen. Ez azzal ekvivalens, hogy az eggyel magasabb dimenzi´ os, az u ´j koordin´ at´ aban egy 1-essel kieg´esz´ıtett vektorok line´ arisan f¨ uggetlenek.
2.2
M´ atrixok, egyenletrendszerek megoldhat´ os´ aga
Legyen A egy m × n-es m´ atrix, azaz A-nak m sora ´es n oszlopa van. A m´ atrix i-edik oszlop´ at ai -vel jel¨ olj¨ uk, a j-edik sor´ at pedig j a-val. Az A sorter´ en az Rn -nek az A sorai ´ altal gener´ alt alter´et ´ertj¨ uk, amelynek jele S(A) vagy Rm A. A sort´er teh´ at az {y t A : y ∈ Rm } halmaz. Az A m´ atrix nulltere az A sorainak ortogon´ alis kieg´esz´ıt˝ o altere, melynek jele N (A). A nullt´er teh´ at az Ax = 0 egyenletrendszer {x ∈ Rn : Ax = 0} megold´ as-halmaza. Az A oszlopai ´ altal gener´ alt alt´er az A oszloptere, jel¨ ol´esben O(A) vagy ARn , m´ıg az oszlopainak mer˝ oleges altere a m´ atrix bal nulltere. Ennek jele BN (A).
40
Mostant´ ol fogva azzal a jel¨ ol´esi egyszer˝ us´ıt´essel ´el¨ unk, hogy nem k¨ ul¨ onb¨ oztetj¨ uk meg az oszlop- ´es sorvektorokat. Ennek megfelel˝ oen, ha az Az szorzatot tekintj¨ uk, akkor a z-t oszlopvektornak k´epzelj¨ uk, m´ıg az yA szorzat eset´en az y-t sorvektornak. Hasonl´ ok´epp, k´et vektor skal´ arszorzata eset´en sem tessz¨ uk ki a transzpon´ al´ asi jelet, vagyis az a ´es b n-dimenzi´ os vektorok skal´ arszorzat´ at ab-vel vagy ba-val jel¨ olj¨ uk. (Ez az egyszer˝ us´ıt´esi meg´ allapod´ as zavart okozhatna, ha az a vektort n × 1-es m´ atrixk´ent, a b vektort pedig 1 × n-es m´ atrixk´ent tekinten´enk, mert akkor az ab m´ atrix szorzat egy n × n-es m´ atrixot jel¨ ol. Szerencs´ere az a, b vektorok ilyen t´ıpus´ u szorzat´ ara az al´ abbiakban nem lesz sz¨ uks´eg¨ unk, ´ıgy az eml´ıtett zavar sem fordulhat el˝ o.) Valamely n-dimenzi´ os z vektor eset´en az Az vektor tekinthet˝ o u ´gy, mint az A oszlopainak egy line´ aris kombin´ aci´ oja, ahol az i-edik oszlop egy¨ utthat´ oja z(i), a z i-edik komponense. Hasonl´ ok´epp, egy m-dimenzi´ os y vektorra az yA tekinthet˝ o, mint az A sorainak egy line´ aris kombin´ aci´ oja. Fut´ olag m´ ar eml´ıtett¨ uk, hogy ha egy z ∈ Rn vektor ortogon´ alis az A soraira, vagyis ha Az = 0, akkor z ortogon´ alis az A sorainak b´ armely yA line´ aris kombin´ aci´ oj´ ara is, azaz (yA)z = 0. Val´ oban, (yA)z = y(Az) = y0 = 0. Lemma 2.2.1 Ha a z ∈ Rn nem-nulla vektor ortogon´ alis az A mindegyik sor´ ara (azaz benne van A nullter´eben, vagyis Az = 0), akkor z line´ arisan f¨ uggetlen az A sorait´ ol, (azaz z nincs benne az A sorter´eben). Biz. Tegy¨ uk fel indirekt, hogy z el˝ o´ all az A sorainak line´ aris kombin´ aci´ ojak´ent, azaz z = yA valamely y ∈ Rm -re. Ekkor 0 < zz = (yA)z = y(Az) = 0, ami ellentmond´ as. • Megjegyzend˝ o, hogy a lemm´ aban l´enyeges felt´etel, hogy a val´ os vagy a racion´ alis test felett vagyunk (legal´ abb is annyiban, hogy rendezett test felett). A GF(2) (vagyis a k´etelem˝ u) test felett p´eld´ aul az (1, 1) vektor ortogon´ alis saj´ at mag´ ara. Figyelj¨ uk meg, hogy a sort´er ´es a nullt´er az Rn egym´ asra mer˝ oleges alterei. (Ugyanis, ha egy vektor mer˝ oleges a m´ atrix soraira, akkor mer˝ oleges a sorokb´ ol k´esz¨ ult line´ aris kombin´ aci´ okra is, vagyis a sort´er minden elem´ere). A 2.2.1 lemma alapj´ an a sort´ernek ´es a nullt´ernek a k¨ oz¨ os r´esze az egy szem nulla vektorb´ ol ´ all. Anal´ og m´ odon az oszlopt´er ´es a bal nullt´er az Rm -nek egym´ asra mer˝ oleges alterei, melyek metszete a trivi´ alis alt´er. Az A m´ atrix seg´ıts´eg´evel megadhat´ o egy ϕA : Rn → Rm lek´epez´es a ϕA (z) := Az k´epz´esi szab´ allyal. K¨ onnyen l´ atszik, hogy ϕA line´ aris transzform´ aci´ o, amelynek k´eptere az A oszloptere, m´ıg magtere az A nulltere. Hasonl´ ok´epp bevezethet¨ unk egy A ϕ : Rm → Rn line´ aris transzform´ aci´ ot a A ϕ(y) := yA k´epz´esi szab´ allyal. Ennek k´eptere az A sortere, m´ıg magtere az A bal nulltere. Az a k´erd´es, hogy az Az = 0 (homog´en line´ aris) egyenletrendszernek van-e nem-trivi´ alis megold´ asa azzal ekvivalens, hogy az A oszlopai line´ arisan ¨ osszef¨ ugg˝ oek-e vagy sem. Egy m´ asik interpret´ aci´ o szerint az Az = 0 azt jelenti, hogy z ortogon´ alis az A soraira, vagyis az Az = 0 nem-trivi´ alis megoldhat´ os´ ag´ anak k´erd´ese azzal ekvivalens, hogy az A nulltere (azaz a ϕA lek´epez´es magtere) nem-trivi´ alis-e. ´ TETEL 2.2.2 Legyen A egy m × n-es m´ atrix, ahol 1 ≤ m < n. Ekkor az Az = 0 homog´en line´ aris egyenletrendszernek l´etezik nem-trivi´ alis megold´ asa. (M´ assz´ oval m-n´el t¨ obb m-dimenzi´ os vektor mindig line´ arisan ¨ osszef¨ ugg˝ o. M´eg m´ ask´epp, A nulltere nem-trivi´ alis.) Biz. m szerinti indukci´ ot haszn´ alunk. Amennyiben m = 1, a t´etel trivi´ alis. Legyen teh´ at m > 1 ´es t´etelezz¨ uk fel, hogy a t´etel ´erv´enyes minden olyan m´ atrixra, amelynek m-n´el kevesebb sora van. A t´etel ´ all´ıt´ asa trivi´ alis, ha A-nak van egy csupa 0-b´ ol ´ all´ o oszlopa, ´ıgy feltessz¨ uk, hogy nem ez a helyzet. Figyelj¨ uk meg, hogy ha az A egyik sor´ at helyettes´ıtj¨ uk a sor λ-szoros´ aval valamilyen λ 6= 0 sz´ amra, akkor a m´ atrix nulltere, vagyis az Az = 0 rendszer megold´ asainak halmaza v´ altozatlan marad. Hasonl´ o kijelent´es ´erv´enyes, ha a m´ atrix egyik sor´ at hozz´ aadjuk egy m´ asik sor´ ahoz, vagy ha k´et sort felcser´el¨ unk. Ezen m˝ uveletek ism´etelt alkalmaz´ as´ aval egy olyan A1 m´ atrix nyerhet˝ o, amelynek nulltere ugyanaz, mint az A m´ atrix´e, ´es amelynek els˝ o oszlopa az (1, 0, 0, . . . , 0)t m-dimenzi´ os egys´eg-vektor. Legyen A′ az a m´ atrix, amely az A1 -b˝ ol keletkezik az els˝ o sor ´es az els˝ o oszlop elt¨ orl´es´evel. Az A′ -re az indukci´ os feltev´es szerint ´erv´enyes a t´etel, azaz l´etezik egy (n − 1)-dimenzi´ os z ′ nem-nulla vektor, amelyre A′ z ′ = 0. ′ Jel¨ olje a azt a vektort, amely az A1 els˝ o sor´ ab´ ol keletkezik az els˝ o (1-es) komponens elt¨ orl´es´evel ´es legyen α = −a′ z ′ . Ekkor a z := (α, z ′ ) vektor nem-nulla vektor, amelyre A1 z = 0, teh´ at Az = A1 z miatt Az = 0. • Megjegyzend˝ o, hogy a fenti bizony´ıt´ as k¨ onnyen algoritmuss´ a alak´ıthat´ o az Az = 0 egy nem-trivi´ alis megold´ as´ anak megkeres´es´ere. Ez a Gauss-elimin´ aci´ o speci´ alis esete homog´en line´ aris egyenletrendszer egy nemtrivi´ alis megold´ as´ anak megtal´ al´ as´ ara. K¨ ovetkezm´ eny 2.2.3 Ha egy m´ atrix oszlopai is ´es sorai is line´ arisan f¨ uggetlenek, akkor a m´ atrix n´egyzetes. Biz. Val´ oban, ha p´eld´ aul t¨ obb oszlop volna, mint sor, akkor a 2.2.2 t´etel szerint az oszlopok line´ arisan ¨ osszef¨ uggn´enek. • K¨ ovetkezm´ eny 2.2.4 Ha az A′ m´ atrixb´ ol line´ arisan f¨ uggetlen¨ ul kiv´ alaszthat´ o sorok maxim´ alis sz´ ama kisebb, mint az oszlopok sz´ ama, akkor az A′ z = 0 rendszernek van nem-trivi´ alis megold´ asa.
41
Biz. V´ alasszunk ki maxim´ alisan sok line´ arisan f¨ uggetlen sort ´es jel¨ olje a m´ atrixukat A. A 2.2.2 t´etel szerint Az = 0-nak van nem-trivi´ alis megold´ asa. Ez az eredeti A′ z = 0-nak is megold´ asa, hiszen A′ minden sora line´ arisan f¨ ugg A sorait´ ol. • Lemma 2.2.5 Tegy¨ uk fel, hogy az A m´ atrixban az els˝ o r oszlop line´ arisan f¨ uggetlen ´es a t¨ obbi oszlop line´ arisan f¨ ugg ezekt˝ ol. Hasonl´ ok´epp legyen az els˝ o s sor line´ arisan f¨ uggetlen ´es a t¨ obbi sor line´ arisan f¨ uggj¨ on ezekt˝ ol. Ekkor az els˝ o r oszlop ´es az els˝ o s sor ´ altal meghat´ arozott A1 r´eszm´ atrix oszlopai is ´es sorai is line´ arisan f¨ uggetlenek. Biz. Szimmetria miatt el´eg kimutatni, hogy az A1 oszlopai line´ arisan f¨ uggetlenek. T¨ or¨ olj¨ uk el az ar+1 , . . . , an oszlopokat. Tov´ abbra is ´erv´enyes, hogy mindegyik sorvektor line´ arisan f¨ ugg az els˝ o s sort´ ol. ´Igy ha egy vektor ortogon´ alis az els˝ o s sorra, akkor ortogon´ alis a t¨ obbi sorra is, vagyis ha az A1 oszlopai line´ arisan ¨ osszef¨ uggn´enek, akkor az A m´ atrix els˝ o r oszlopa is line´ arisan ¨ osszef¨ uggne, ellentmond´ asban a feltev´essel. • A 2.2.3 k¨ ovetkezm´eny ´es a 2.2.5 lemma kombin´ aci´ oj´ ab´ ol kapjuk a k¨ ovetkez˝ ot. ´ TETEL 2.2.6 Egy A m´ atrix line´ arisan f¨ uggetlen oszlopainak maxim´ alis sz´ ama egyenl˝ o a line´ arisan f¨ uggetlen sorok maxim´ alis sz´ am´ aval. • Ezt a k¨ oz¨ os maxim´ alis sz´ amot r(A)-val jel¨ olj¨ uk ´es a m´ atrix rangj´ anak nevezz¨ uk. Ezen meggondol´ asokb´ ol m´eg egy fontos tulajdons´ ag kiolvashat´ o. Tegy¨ uk fel, hogy a m´ atrixb´ ol egym´ as ut´ an v´ alasztunk sorokat, csak arra u ¨gyelve, hogy a kiv´ alasztott sorok line´ arisan f¨ uggetlenek legyenek. Ezt eg´eszen addig tessz¨ uk, am´ıg m´ ar t¨ obb sor nem v´ alaszthat´ o ki, azaz amikor m´ ar a nem kiv´ alasztott sorok mindegyike line´ arisan f¨ ugg a kiv´ alasztott sorokt´ ol. Ekkor, f¨ uggetlen¨ ul a k¨ ozbens˝ o v´ alaszt´ asi d¨ ont´eseinkt˝ ol, a kiv´ alasztott line´ arisan f¨ uggetlen sorok sz´ ama mindig ugyanaz lesz, nevezetesen az A m´ atrix rangja. (M´ assz´ oval a moh´ o algoritmus mindig maxim´ alis sok line´ arisan f¨ uggetlen sort fog megtal´ alni.) Ennek igazol´ as´ ahoz tegy¨ uk fel, hogy az algoritmus mondjuk az els˝ o s sort v´ alasztotta ki ´es legyen indirekt s < r := r(A). Feltehetj¨ uk, hogy az A els˝ o r oszlopa line´ arisan f¨ uggetlen. De ekkor ellentmond´ asban vagyunk a 2.2.5 lemm´ aval. Ebb˝ ol az is k¨ ovetkezik, hogy az A sorter´enek a dimenzi´ oja egyenl˝ o a m´ atrix rangj´ aval (ami egyenl˝ o a m´ atrix oszlopter´enek dimenzi´ oj´ aval.) K¨ ovetkezm´ eny 2.2.7 Egy m´ atrix rangja nem v´ altozik, ha hozz´ avesz¨ unk egy u ´j oszlopot, amely line´ arisan f¨ ugg az oszlopokt´ ol, vagy ha elhagyunk egy megl´ev˝ o oszlopot, amely line´ arisan f¨ ugg a t¨ obbi oszlopt´ ol. Anal´ og ´ all´ıt´ as ´erv´enyes sorokra. • ´ TETEL 2.2.8 Ha egy m × n-es A m´ atrix sorai line´ arisan f¨ uggetlenek (azaz r(A) = m), akkor tetsz˝ oleges n-dimenzi´ os b vektorra az Ax = b egyenletrendszernek l´etezik megold´ asa (ami b 6= 0 esetben azzal ekvivalens, hogy b line´ arisan f¨ ugg az A oszlopait´ ol.) Ha m = n, akkor a megold´ as egy´ertelm˝ u. Biz. Ha b = 0, akkor x = 0 megold´ as, ´ıgy feltessz¨ uk, hogy b 6= 0. A 2.2.6 t´etel miatt A-nak van m line´ arisan f¨ uggetlen oszlopa. Tegy¨ uk fel, hogy az els˝ o m oszlop line´ arisan f¨ uggetlen. L´ attuk, hogy m-n´el t¨ obb m dimenzi´ os vektor line´ arisan ¨ osszef¨ ugg˝ o, ´ıgy az a1 , . . . , am , b vektorok line´ arisan ¨ osszef¨ ugg˝ oek. Egy ilyen nem-trivi´ alis line´ aris ¨ osszef¨ ugg´esben a b egy¨ utthat´ oja nem lehet 0, mert ez azt jelenten´e, hogy az a1 , . . . , am vektorok line´ arisan ¨ osszef¨ ugg˝ oek, ellent´etben a feltev´essel. Ha viszont a b egy¨ utthat´ oja nem nulla, akkor b kifejezhet˝ o az ai vektorok line´ aris kombin´ aci´ ojak´ent. Az m = n esetben az egy´ertelm˝ us´eg bizony´ıt´ as´ ahoz tegy¨ uk indirekt fel, hogy l´etezik k´et megold´ as is. Ekkor ezek z k¨ ul¨ onbs´ege nem-nulla ´es Az = 0, vagyis az A oszlopai line´ arisan ¨ osszef¨ ugg˝ oek, de ekkor a sorai is, ellent´etben a feltev´essel. • Egy n´egyzetes m´ atrixot szingul´ arisnak neveznek, ha sorai (illetve ezzel ekvivalensen, oszlopai) line´ arisan ¨ osszef¨ uggnek. A 2.2.8 t´etel ´ altal´ anos´ıt´ as´ ahoz tegy¨ uk ism´et fel, hogy az A m´ atrixnak m sora ´es n oszlopa van (lehet m = n), de a sorok line´ aris f¨ uggetlens´eg´et nem t´etelezz¨ uk fel. ´ TETEL 2.2.9 A k¨ ovetkez˝ ok ekvivalensek. (A) Az Ax = b egyenletrendszernek l´etezik megold´ asa. (B) r(A) = r([A, b]), (ahol [A, b] az a m´ atrix, amely A-b´ ol ´ all el˝ o a b oszlop hozz´ av´etel´evel). (C) Nem l´etezik olyan y, amelyre yA = 0, yb 6= 0. Biz. (B)→(A). Tekints¨ unk A-nak r(A) line´ arisan f¨ uggetlen oszlop´ at. r(A) = r([A, b]) azt jelenti, hogy b line´ arisan f¨ ugg ezekt˝ ol, teh´ at f¨ ugg az A oszlopait´ ol, vagyis (A) fenn´ all. (A)→(C). Ha l´etezik olyan x ´es y, amelyekre Ax = b ´es yA = 0, akkor 0 = (yA)x = y(Ax) = yb. (C)→(B). Tegy¨ uk fel indirekt, hogy r(A) < r([A, b]). V´ alasszunk ki [A, b]-nek r(A) + 1 line´ arisan f¨ uggetlen sor´ at ´es legyen [A1 , b1 ] az ´ altaluk alkotott r´eszm´ atrix. A1 sorai m´ ar line´ arisan ¨ osszef¨ uggnek, hiszen A-nak
42
nincsen r(A) + 1 darab line´ arisan f¨ uggetlen sora. De ekkor l´etezik olyan y1 6= 0 vektor, amelyre y1 A1 = 0. [A1 , b1 ] sorainak line´ aris f¨ uggetlens´ege miatt y1 [A1 , b1 ] 6= 0, azaz y1 b1 6= 0. Eg´esz´ıts¨ uk ki y1 -t 0 komponensekkel egy y m-dimenzi´ os vektorr´ a. Erre yA = 0, yb 6= 0, ellentmond´ asban (C)-vel. • A 2.2.9 t´etelben az (A)-beli probl´em´ at prim´ al probl´em´ anak nevezz¨ uk. Ez teh´ at azt k´erdezi, hogy a b oszlopvektor benne van-e az A oszlopainak alter´eben. A (C)-beli probl´em´ at du´ al (vagy du´ alis) probl´em´ anak h´ıvjuk. Ez azt k´erdezi, hogy l´etezik-e olyan y vektor, amely A valamennyi oszlop´ ara mer˝ oleges, ugyanakkor bre nem, m´ assz´ oval, hogy l´etezik-e olyan homog´en hipers´ık (melynek norm´ alisa y), amely tartalmazza A minden oszlop´ at, de b-t nem. Fontoss´ aga miatt megism´etelj¨ uk a 2.2.9 t´etelb˝ ol az (A) ´es (C) felt´etelek ekvivalenci´ aj´ at ´es direkt bizony´ıt´ ast adunk r´ a. ´ TETEL 2.2.10 (Fredholm f´ ele alternat´ıva t´ etel) Az Ax = b rendszernek akkor ´es csak akkor van megold´ asa, ha nem l´etezik olyan y, amelyre yA = 0, yb 6= 0. Ekvivalensen, egy [ b ] vektor vagy benne van egy alt´erben [melyet az A oszlopai gener´ alnak], vagy elv´ alaszthat´ o t˝ ole egy [y norm´ alis´ u] homog´en hipers´ıkkal abban az ´ertelemben, hogy a hipers´ık az alteret tartalmazza, de a vektort nem. Biz. Egyszerre nem l´etezhet a sz´ obanforg´ o x ´es y, mert akkor 0 = (yA)x = y(Ax) = yb 6= 0. Annak igazol´ as´ ara, hogy a prim´ al ´es a du´ al probl´ema egyike biztosan megoldhat´ o az A sorainak m sz´ ama szerint indukci´ ot haszn´ alunk. Az m = 1 eset k¨ onny˝ u gyakorlat. Szint´en egyszer˝ un l´ atszik a t´etel, ha A azonosan nulla. Tegy¨ uk most fel, hogy A-nak van nemnulla eleme, hogy m ≥ 2, ´es hogy kevesebb sor´ u m´ arixokra a t´etel igaz. Sor- ´es oszlopcser´ekkel el´erhetj¨ uk, hogy a11 6= 0. K¨ onny˝ u ellen˝ orizni, hogy az egyenletrendszer egy sor´ at nemnulla sz´ ammal szorozva a prim´ al megold´ as-halmaz nem v´ altozik. A du´ al megold´ as-halmaz ilyenkor v´ altozhat ugyan, de a du´ al probl´ema megoldhat´ os´ aga nem (teh´ at az eredeti du´ al akkor ´es csak akkor oldhat´ o meg, ha a m´ odos´ıtott). Ugyanez a k´et kijelent´es ´erv´enyes, ha az egyik egyenletet hozz´ aadjuk egy m´ asikhoz. Ezek alapj´ an feltehetj¨ uk, hogy a1,1 = 1 ´es az els˝ o oszlop t¨ obbi eleme 0. Tekints¨ uk az els˝ o sor t¨ orl´es´evel keletkez˝ o A′ x′ = b′ rendszert. Indukci´ ob´ ol kapjuk, hogy vagy ez, vagy pedig a du´ alis {y ′ A′ = 0, y ′ b′ 6= 0} rendszer megoldhat´ o. Amennyiben l´etezik x′ , u ´gy ennek els˝ o komponens´et szabadon v´ altoztathatjuk, hiszen ′ A els˝ o oszlopa nulla. Emiatt ezt a komponenst olyannak tudjuk v´ alasztatni, hogy az Ax = b rendszerb˝ ol kihagyott els˝ o egyenlet is teljes¨ ulj¨ on. Teh´ at ha a reduk´ alt prim´ al megoldhat´ o, akkor az eredeti is. Ha viszont a reduk´ alt du´ alisnak l´etezik egy (m − 1) dimenzi´ os y ′ megold´ asa, akkor az y := (0, y ′ ) az eredeti du´ alisnak megold´ asa. • Megjegyz´ esek Az alternat´ıva t´etelt a szeml´eletes megfogalmaz´ as alapj´ an h´ıvhatjuk szepar´ aci´ os t´etelnek is. K´es˝ obb l´ atni fogjuk, hogy j´ oval ´ altal´ anosabb szepar´ aci´ os t´etelek is l´eteznek. Algebrai t´etelek ilyen jelleg˝ u geometriai szeml´eltet´ese sokszor hozz´ aj´ arul mag´ anak a t´etelnek a megsejt´es´ehez, megk¨ onny´ıti a t´etel meg´ert´es´et, ´es seg´ıti a megjegyz´est is. Ugyanakkor a h´ arom-dimenzi´ os geometriai tartalom k´ezenfekv˝ os´ege ¨ onmag´ aban egy´ altal´ an nem jelenti azt, hogy az ´ altal´ anos t´etel trivi´ alis lenne, vagy hogy egy´ altal´ an igaz! L´ asd m´eg a 3.1.1 r´eszbeli megjegyz´eseket. Feladat 2.1 Igazoljuk, hogy r(Y · A) ≤ r(A)! Feladat 2.2 Igaz-e, hogy az Ax = 0 egyenletrendszernek akkor ´es csak akkor l´etezik semelyik koordin´ at´ aj´ aban sem nulla megold´ asa, ha A minden oszlopa line´ arisan f¨ ugg a t¨ obbit˝ ol?
2.3
Egyenletrendszer megold´ as-halmaza, affin alterek
Miut´ an ´ attekintett¨ uk a line´ aris egyenletrendszerek megoldhat´ os´ ag´ anak k´erd´es´et, vizsg´ aljuk meg, hogy mik´ent lehet le´ırni a megold´ asok halmaz´ at. ´ TETEL 2.3.1 Egy A n × n-es nem-szingul´ aris n´egyzetes m´ atrix els˝ o m sora ´ altal alkotott r´eszm´ atrixot jel¨ olje A1 , m´ıg a marad´ekot A2 . Tegy¨ uk fel, hogy az A1 minden sora ortogon´ alis A2 minden sor´ ara. Ekkor A1 sortere ´eppen az A2 nulltere ´es A1 nulltere ´eppen az A2 sortere. Biz. Mivel az ´ all´ıt´ as m´ asodik fele az els˝ ob˝ ol k¨ ovetkezik az A1 ´es A2 szerep´enek felcser´el´es´evel, csup´ an az els˝ o r´esz bizony´ıt´ as´ ara szor´ıtkozunk. A feltev´es szerint A1 minden sora ortogon´ alis A2 minden sor´ ara, ´ıgy A1 sorainak line´ aris kombin´ aci´ oja is ortogon´ alis az A2 soraira, azaz A1 sortere r´esze A2 nullter´enek. A ford´ıtott ir´ any´ u tartalmaz´ as igazol´ as´ ahoz legyen z ∈ N (A2 ), azaz A2 z = 0. Mivel A nem-szingul´ aris, a 2.2.8 t´etel alapj´ an l´etezik y = (y1 , y2 ), amelyre yA = z. Most teh´ at yA = z ortogon´ alis A2 soraira, ´es y1 A1 is ortogon´ alis A2 soraira, ez´ert y2 A2 = yA − y1 A1 is ortogon´ alis A2 soraira. A 2.2.1 lemma alapj´ an az A2 sorainak egy nemnulla line´ aris kombin´ aci´ oja nem lehet ortogon´ alis A2 minden sor´ ara, ´ıgy y2 A2 sz¨ uks´egk´eppen 0, azaz z = y1 A1 , vagyis z benne van A1 sorter´eben. •
43
´ TETEL 2.3.2 Legyen A1 olyan m × n-es m´ atrix (m < n), amelynek sorai line´ arisan f¨ uggetlenek. Ekkor l´etezik olyan (n − m) × n m´eret˝ u A2 m´ atrix, amelynek sorai ortogon´ alisak az A1 soraira ´es amely az A1 -gyel egy¨ utt egy n × n-es nem-szingul´ aris m´ atrixot alkot. Az A1 sortere az A2 nulltere, ´es A1 nulltere az A2 sortere. Biz. A 2.2.2 t´etel szerint van olyan z1 ∈ Rn nemnulla vektor, amely ortogon´ alis az A1 soraira (magyarul az A1 z = 0 rendszernek van nem-trivi´ alis megold´ asa.) Term´eszetesen ekkor z1 line´ arisan f¨ uggetlen A1 sorait´ ol. Eg´esz´ıts¨ uk ki az A1 m´ atrixot a z1 sorvektorral. Miut´ an z1 line´ arisan f¨ uggetlen az A1 sorait´ ol, a megn¨ ovelt A′1 m´ atrix sorai is line´ arisan f¨ uggetlenek. Amennyiben A′1 -nek m´eg mindig kevesebb, mint n sora van, u ´gy a 2.2.2 t´etel alapj´ an ism´et l´etezik egy olyan z2 vektort, amely ortogon´ alis az A′1 soraira. Ezt az elj´ ar´ ast (n − m)-szer alkalmazva olyan z1 , . . . , zn−m vektorokat kapunk, melyek mindegyike ortogon´ alis az A1 valamennyi sor´ ara valamint egym´ asra is, tov´ abb´ a a v´eg¨ ul kapott n × n-es m´ atrix sorai line´ arisan f¨ uggetlenek. Ezen konstrukci´ o alapj´ an a zi (i = 1, . . . , n − m) sorvektorokb´ ol ´ all´ o A2 m´ atrix teljes´ıti a t´etel k´ıv´ analmait. • Feladat 2.3 Tegy¨ uk fel, hogy a 2.3.2 t´etelbeli A1 m´ atrix (Im , B) alak´ u, ahol Im az m × m-es egys´egm´ atrixot jel¨ oli, m´ıg B tetsz˝ oleges m × (n − m)-es m´ atrix. Igazoljuk, hogy az A2 := [B T , −In−m ] kiel´eg´ıti a t´etel k´ıv´ ans´ agait, azaz A2 sortere az A1 sorter´enek ortogon´ alis kieg´esz´ıt˝ oje. A k´et t´etel ¨ osszevet´es´eb˝ ol ad´ odik, hogy az A1 x = 0 homog´en line´ aris egyenletrendszer megold´ as-halmaza pontosan a z1 , z2 , . . . , zn−m vektorok line´ aris burka. Az is k¨ ovetkezik, hogy az n-dimenzi´ os t´er tetsz˝ oleges Q m-dimenzi´ os alter´enek l´etezik egy egy´ertelm˝ uen meghat´ arozott Q⊥ n − m-dimenzi´ os ortogon´ alis kieg´esz´ıt˝ o altere. Rn minden eleme egy´ertelm˝ uen ´ all el˝ o egy Q ´es egy Q∗ -beli elem ¨ osszegek´ent. K¨ ovetkezm´ eny 2.3.3 Minden gener´ alt alt´er el˝ o´ all nullt´erk´ent ´es minden nullt´er el˝ o´ all gener´ alt alt´erk´ent. Egy Ax = 0 homog´en egyenletrendszer megold´ as-halmaza el˝ o´ all v´ eges sok vektor line´ aris burkak´ent, azaz {yB : y ∈ Rn } alakban, (ahol n az A ´es a B oszlopainak sz´ ama). V´eges sok vektor line´ aris kombin´ aci´ oinak halmaza el˝ o´ all egy homog´en line´ aris egyenletrendszer megold´ as-halmazak´ent. • A 2.2.2 t´etelb˝ ol k¨ ovetkez˝ oen az Rn t´erben legfeljebb csak n vektor v´ alaszthat´ o ki line´ arisan f¨ uggetlen¨ ul. Miut´ an az n egys´egvektor line´ arisan f¨ uggetlen, az Rn dimenzi´ oja n. Az is k¨ ovetkezik, hogy tetsz˝ oleges A alt´er v´eges sok elem gener´ alt alterek´ent ´ all el˝ o: v´ alasszunk ki maxim´ alisan sok line´ arisan f¨ uggetlen elem´et A-nak (ezek sz´ ama legfeljebb n), minden elem ezekt˝ ol line´ arisan f¨ ugg, azaz A a kiv´ alasztott elemek ´ altal gener´ alt alt´er. A 2.3.1 ´es 2.3.2 t´etelekb˝ ol l´ atjuk, hogy minden alt´er nemcsak gener´ alt alt´erk´ent ´ all el˝ o, hanem nullt´erk´ent is. (Ez annak a szeml´eletes geometriai t´enynek az ´ altal´ anos´ıt´ asa, hogy a s´ıkban egy orig´ on ´ atmen˝ o egyenest egyr´eszt meg lehet adni ax + by = 0 alakban, m´ asr´eszt α(−b, a) ,,param´eteres” alakban.) Az is k¨ ovetkezik, hogy k darab line´ arisan f¨ uggetlen vektor nullter´enek rangja n − k. Speci´ alisan, ha A n − 1 rang´ u m´ atrix, akkor az Az = 0 megold´ as-halmaza egy-dimenzi´ os alt´er, m´ asn´even egy orig´ on ´ atmen˝ o egyenes, amelynek pontjai valamely a vektorra {λa : λ ∈ R} alakban adhat´ ok meg (ahol a az A soraira mer˝ oleges nem-nulla vektor). A 2.2.9 t´etel v´ alaszt ad arra a k´erd´esre, hogy egy egyenletrendszernek mikor van megold´ asa. Felt´eve, hogy l´etezik megold´ as, mi mondhat´ o a megold´ as-halmazr´ ol? Affin alt´ eren vagy eltolt alt´ eren (vagy affin halmazon) egy alt´er eltoltj´ at ´ertj¨ uk. Vagyis C affin alt´er, ha l´etezik olyan A alt´er ´es a vektor, amelyekre C = {x : x = z + a valamilyen z ∈ A vektorra }, vagyis C = A + {a}. Ilyenkor k¨ onnyen l´ athat´ o, hogy C b´ armely c elem´ere C − {c} = A, vagyis az alt´er, amelynek eltol´ as´ ab´ ol a C keletkezik, egy´ertelm˝ uen meghat´ arozott. A C affin alt´er dimenzi´ oj´ an a defini´ al´ o A alt´er dimenzi´ oj´ at ´ertj¨ uk. Gyakorlat 2.4 Igazoljuk, hogy affin alterek (a) nem¨ ures metszete ´es (b) ¨ osszege is affin alt´er! V´eges sok pont affin burka affin alteret alkot, ami nem m´ as, mint a v´eges sok pontot tartalmaz´ o legsz˝ ukebb affin alt´er. K´et (k¨ ul¨ onb¨ oz˝ o) pont affin burk´ at a k´et pont ¨ osszek¨ ot˝ o egyenes´enek nevezz¨ uk, m´ıg a k´et pont konvex burka a k´et pontot ¨ osszek¨ ot˝ o szakasz. Egy egy-dimenzi´ os affin halmazt egyenesnek nevez¨ unk. K¨ onnyen l´ atszik, hogy egy C halmaz akkor ´es csak akkor affin alt´er, ha van olyan c eleme, amelyre az {x − c : x ∈ C} halmaz alt´er. A C 6= ∅ halmaz akkor ´es csak akkor affin alt´er, ha b´ armely k´et elem´enek affin kombin´ aci´ oja C-ben van, ami azzal ekvivalens, hogy b´ armely v´eges sok elem´enek affin kombin´ aci´ oja C-ben van. ´ TETEL 2.3.4 Tegy¨ uk fel, hogy az Ax = b egyenletrendszernek x0 megold´ asa. Ekkor a megold´ asok M := {x : Ax = b} halmaza az Rn t´er affin altere, nevezetesen az A nullter´enek eltoltja. M´ ask´ent fogalmazva, az Ax = 0 homog´en egyenletrendszer egy tetsz˝ oleges megold´ as´ at x0 -hoz adva megold´ ast kapunk, ´es M minden tagja ´ıgy ´ all el˝ o. Megford´ıtva, minden affin alt´er el˝ o´ all egy line´ aris egyenletrendszer megold´ as-halmazak´ent.
44
(Figyelj¨ uk meg, hogy a 2.2.9 t´etelben az Ax = b megoldhat´ os´ ag´ anak az oszlopok ter´et mag´ aban foglal´ o Rm t´erben volt szeml´eletes jelent´ese, a megold´ asok halmaz´ at viszont a sorteret mag´ aban foglal´ o Rn t´erben szeml´eltetj¨ uk affin alt´erk´ent.) Biz. Legyen z ∈ N (A), azaz Az = 0. Ekkor nyilv´ an A(z + x0 ) = b, vagyis N (A) + {x0 } ⊆ M . Legyen most x1 ∈ M . Ekkor z := x1 − x0 -ra fenn´ all Az = 0, teh´ at x1 el˝ o´ all mint az x0 ´es az N (A)-beli z elem ¨ osszege. Ezzel a t´etel els˝ o fel´et igazoltuk. Tekints¨ unk most egy C affin alteret, amely valamely 1 a, . . . ,m a vektorok ´ altal gener´ alt alt´er x0 vektorral t¨ ort´en˝ o eltol´ as´ aval ´ all el˝ o, vagyis az {yA + x0 : y ∈ Rm } alak´ u vektorok halmaza, ahol A jel¨ oli az 1 a, . . . ,m a sorokb´ ol ´ all´ o m´ atrixot. A 2.3.2 t´etel szerint van olyan Z m´ atrix, amelynek nulltere ´eppen az A sortere. Legyen b := Zx0 . Ekkor C ´eppen a Zx = b egyenletrendszer megold´ as-halmaza. • K¨ ovetkezm´ eny 2.3.5 Amennyiben az Ax = b egyenletrendszernek x0 egy megold´ asa, u ´gy a megold´ asok halmaza el˝ o´ all v´eges sok vektor line´ aris burk´ anak x0 -lal t¨ ort´en˝ o eltol´ as´ ak´ent, azaz {yB + x0 : y ∈ Rn } alakban. • A k¨ ovetkezm´enyben megfogalmazott eredm´enyre n´eha u ´gy hivatkoznak, hogy egy line´ aris egyenletrendszer megold´ as-halmaza el˝ o´ all´ıthat´ o param´eteres alakban. Ennek speci´ alis esete az a geometri´ aban tanult eredm´eny, hogy egy s´ıkot a h´ aromdimenzi´ os t´erben meg lehet adni egy line´ aris egyenletrendszer megold´ as-halmazak´ent is ´es param´eteres alakban is, azaz αa + βb + c alakban, ahol α, β val´ os param´eterek, a, b, c pedig vektorok R3 -ban. K¨ ovetkezm´ eny 2.3.6 Amennyiben az Ax = b egyenletrendszernek van megold´ asa, u ´gy az M megold´ ashalmaz dimenzi´ oja n − r(A), ahol n az oszlopok sz´ ama. ´ Biz. Az el˝ obbi t´etel szerint M az A nullter´enek az eltoltja. Alljon A1 az A-nak r(A) line´ arisan f¨ uggetlen sor´ ab´ ol. Nyilv´ an A-nak ´es A1 -nek ugyanaz a nulltere. A 2.3.1 ´es 2.3.2 t´etelek alapj´ an A1 nullter´enek rangja n − r(A1 ) = n − r(A). • Gyakorlat 2.5 Tegy¨ uk fel, hogy az Ax = b rendszer megoldhat´ o. Legyen A′ az A maxim´ alisan sok line´ arisan f¨ uggetlen sor´ ab´ ol alkotott r´eszm´ atrix ´es b′ a b ennek megfelel˝ o r´esze. Ekkor az A′ x = b′ tetsz˝ oleges x∗ megold´ as´ ara Ax∗ = b-nek. Tegy¨ uk fel, hogy az Ax = b egyenletrendszer megoldhat´ o. Azt mondjuk, hogy az ax = β egyenlet logikai k¨ ovetkezm´ enye Ax = b-nek, ha ennek minden megold´ asa kiel´eg´ıti ax = β-t (m´ assz´ oval, ha az {x : Ax = b} affin alt´er benne van az {x : ax = β} hipers´ıkban). Azt mondjuk, hogy ax = β line´ aris k¨ ovetkezm´ enye Ax = b-nek, ha el˝ o´ all az Ax = b egyenleteinek line´ aris kombin´ aci´ ojak´ent, azaz ha l´etezik olyan y vektor, amelyre yA = a ´es yb = β. Feladat 2.6 Igazoljuk, hogy ax = β akkor ´es csak akkor line´ aris k¨ ovetkezm´eny, ha logikai.
Befejet´es¨ ul megeml´ıtj¨ uk a Cramer szab´ aly n´even szerepl˝ o eleg´ ans t´etelt, amely bizonyos esetekben determin´ ansok seg´ıts´eg´evel explicit form´ aban megadja egy egyenletrendszer megold´ as´ at. ´ TETEL 2.3.7 (Cramer szab´ aly) Egy nem-szingul´ aris n´egyzetes A m´ atrix eset´en az Ax = b egyenletrendi) szer egy´ertelm˝ u megold´ as´ anak i-edik komponse a det(A h´ a nyadossal egyenl˝ o, ahol Ai azt a m´ atrixot jel¨ oli, det(A) amelyik az A-b´ ol ´ all el˝ o az i-edik oszlop´ anak b-re t¨ ort´en˝ o cser´el´es´evel. •
A t´etel haszna nem abban van, hogy a seg´ıts´eg´evel oldjuk meg a sz´ obanforg´ o egyenletrendszert, hiszen a determin´ ansok kisz´ am´ıt´ asa m´ ar az n ≥ 4 esetben is tipikusan ´epp´ ugy a Gauss elimin´ aci´ oval t¨ ort´enik, mint mag´ anak az egyenletrendszernek a direkt megold´ asa. Az 5. fejezetben azonban a Cramer szab´ aly d¨ ont˝ o szerephez jut annak felt´ ar´ as´ aban, hogy a line´ aris programoz´ as ezut´ an t´ argyaland´ o alaperedm´enyei mik´ent egys´eges´ıtik ´es ´ altal´ anos´ıtj´ ak a h´ al´ ozati optimaliz´ al´ asban m´ ar megismert legfontosabb t´eteleket, mint amilyenek Egerv´ ary, Gallai vagy Hoffman t´etelei. 2013. augusztus 1.file: ulin10
45
3. Fejezet
´ ˝ ´ LINEARIS EGYENLOTLENS EGRENDSZEREK ´ MEGOLDASA 3.1
Bevezet´ es
Egy olajfeldolgoz´ o u ¨zemben k´etf´ele nyersolaj ´ all rendelkez´esre: az A t´ıpusb´ ol 8 milli´ o hord´ o, a B t´ıpusb´ ol 5 milli´ o. Ezekb˝ ol k´esz´ıtenek benzint ´es g´ azolajat. Az u ¨zemben h´ arom technol´ ogiai elj´ ar´ as k¨ oz¨ ul lehet v´ alasztani. Az els˝ o elj´ ar´ as bemeneti-kimeneti ar´ anyait az jellemzi, hogy 3 hord´ o A-k˝ oolajb´ ol ´es 5 hord´ o B-k˝ oolajb´ ol 4 hord´ o benzint ´es 3 hord´ o g´ azolajat ´ all´ıt el˝ o. A m´ asodik elj´ ar´ as 1 hord´ o A-b´ ol ´es 1 hord´ o B-b˝ ol k´esz´ıt 1 hord´ o benzint ´es 1 hord´ o g´ azolajat, m´ıg a harmadik elj´ ar´ asn´ al ezek az ´ert´ekek rendre 5, 3 ´es 3, 4. Tudv´ an, hogy a benzin hord´ oj´ a´ert 4 doll´ art, a g´ azolaj hord´ oj´ a´ert 3 doll´ art kapunk, a megl´ev˝ o nyersolaj k´eszletet mik´epp osszuk fel a h´ arom elj´ ar´ as k¨ oz¨ ott, ha c´elunk az ¨ ossz-bev´etel maximaliz´ al´ asa. (Egyszer˝ us´eg kedv´e´ert nem vessz¨ uk most tekintetbe az elj´ ar´ asok esetleg elt´er˝ ou ¨zemi k¨ olts´egeit). Jel¨ olje xi (i = 1, 2, 3) azt, hogy az egyes elj´ ar´ asokat milyen m´ert´ekben haszn´ aljuk. x1 teh´ at azt jelenti, hogy az els˝ o elj´ ar´ assal 3x1 A-olajat ´es 5x1 B-olajat dolgozunk fel, ´es ennek sor´ an 4x1 benzint ´es 3x1 g´ azolajat kapunk. Az xi ´ert´ekeknek term´eszetesen nemnegat´ıvnak kell lenni¨ uk. Az adatok alapj´ an az A-olajb´ ol 3x1 + x2 + 5x3 hord´ ot haszn´ alunk, ´es ´ıgy ez az ¨ osszeg legfeljebb 8 milli´ o. A B-olajra az 5x1 +x2 +3x3 ≤ 5000000 egyenl˝ otlens´eg ad´ odik. Az elj´ ar´ asokkal benzinb˝ ol ¨ osszesen 4x1 + x2 + 3x3 hord´ o´ all el˝ o, melynek ´ert´eke 4(4x1 + x2 + 3x3 ) doll´ ar. G´ azolajb´ ol 3x1 + x2 + 4x3 hord´ ot nyer¨ unk, melynek ´ert´eke 3(3x1 + x2 + 4x3 ). Az ¨ osszbev´etel¨ unk teh´ at 25x1 + 7x2 + 24x3 doll´ ar. Feladatunk maximaliz´ alni a 25x1 + 7x2 + 24x2 c´elf¨ uggv´enyt az x1 ≥ 0, x2 ≥ 0, x3 ≥ 0 valamint a 3x1 + x2 + 5x3 ≤ 8000000 ´es 5x1 + x2 + 3x3 ≤ 5000000 felt´etelek mellett. (Mivel xi ebben a modellben a hord´ ok sz´ am´ at jel¨ oli, ´ıgy ki kellene k¨ otn¨ unk, hogy minden xi eg´esz. A fenti feladatban azonban a hord´ ok sz´ ama nagy, ´ıgy gyakorlati szempontb´ ol nem sz´ am´ıt, ha elengedj¨ uk az eg´esz´ert´ek˝ u megk¨ ot´est. Jelezz¨ uk ugyanakkor, hogy sz´ amos gyakorlati probl´em´ aban sz¨ uks´eges lehet a v´ altoz´ okra tett eg´esz´ert´ek˝ us´egi megk¨ ot´es. Line´ aris egyenl˝ otlens´eg-rendszerek eg´esz´ert´ek˝ u megoldhat´ os´ ag´ aval az eg´esz´ert´ek˝ u programoz´ as foglalkozik.) A line´ aris algebra egyik kiindul´ o pontja a line´ aris egyenletrendszerek vizsg´ alata volt. A Gauss-elimin´ aci´ o seg´ıts´eg´evel elvi ´es algoritmikus v´ alaszt kaptunk arra a k´erd´esre, hogy egy line´ aris egyenletrendszernek mikor van megold´ asa. A line´ aris programoz´ as line´ aris egyenl˝ otlens´eg-rendszerekkel foglalkozik. Egy egyenl˝ otlens´eg lehet szigor´ u vagy egyenl˝ os´eget is megenged˝ o, de a tov´ abbiakban egyenl˝ otlens´egen mindig ezen ut´ obbit ´ertj¨ uk, hacsak kifejezetten az ellenkez˝ oj´et nem mondjuk. A legels˝ o k´erd´es az, hogy egy egyenl˝ otlens´egrendszernek mikor l´etezik megold´ asa, vagy m´ ask´epp fogalmazva, egy egyenl˝ otlens´eg-rendszer megold´ as-halmaza, melyet majd poli´edernek nevez¨ unk, mikor nem¨ ures. Az erre vonatkoz´ o eredm´eny (Farkas lemma) az egyenletrendszerekr˝ ol sz´ ol´ o Fredholm t´etel direkt ´ altal´ anos´ıt´ asa. Hasonl´ ok´epp, az egyenletredszerek megold´ ashalmaz´ ara vonatkoz´ o eredm´enyek sz´epen kiterjeszthet˝ ok egyenl˝ otlens´eg-rendszerek megold´ as-halmaz´ ara. Egyenl˝ otlens´eg-rendszerekkel kapcsolatban azonban olyan u ´j t´ıpus´ u k´erd´esek is felvet˝ odnek, amelyeknek nincs is ´ertelmes speci´ alis eset¨ uk egyenletrendszerekre vonatkoz´ olag. Megk´erdezhetj¨ uk, hogy valamely c vektorra a cx line´ aris c´elf¨ uggv´eny korl´ atos-e az R poli´ederen (mondjuk) fel¨ ulr˝ ol. (Egy affin alt´eren egy line´ aris c´elf¨ uggv´eny vagy konstans vagy nem korl´ atos). Ha korl´ atos, u ´gy harmadik c´elunk meghat´ arozni a cx f¨ uggv´eny maximum´ at (vagy ha alulr´ ol korl´ atos, u ´gy minimum´ at) R-en. Persze most m´eg azt (a k´es˝ obb majd bizony´ıt´ asra ker¨ ul˝ o t´enyt) sem tudjuk, hogy a sz´ obanforg´ o maximum egy´ altal´ an l´etezik-e: Weierstrass ´ altal´ anos t´etele szerint egy korl´ atos z´ art halmazon folytonos f¨ uggv´eny felveszi maximum´ at, ´ıgy miut´ an cx folytonos ´es
46
egy poli´eder bizonyosan z´ art, R korl´ atoss´ aga eset´en m´ ar most is bizonyosak lehet¨ unk a maximum l´etez´es´eben. Nemsok´ ara ezt is ´es a nem-korl´ atos esetet is igazoljuk, Weierstrass n´elk¨ ul.
3.1.1
Megjegyz´ esek az intu´ıci´ or´ ol
A line´ aris egyenletrendszerek megold´ as´ ara vonatkoz´ o elm´elet meg´ert´es´et megk¨ onny´ıtette, hogy h´ arom dimenzi´ oban a probl´em´ ahoz egy geometriailag szeml´eletes k´epet lehetett kapcsolni. A geometriai intu´ıci´ o seg´ıts´eget jelent egyenl˝ otlens´eg-rendszerek vizsg´ alat´ an´ al is. Egy h´ arom-v´ altoz´ os egyenl˝ otlens´eg-rendszer megold´ as-halmaz´ at is sz´epen lehet ´ abr´ azolni. Egyetlen qx ≤ β (q 6= 0) egyenl˝ otlens´eg megold´ as-halmaza az R3 ban egy z´ art f´elt´erk´ent k´epzelhet˝ o el. Egy egyenl˝ otlens´eg-rendszer megold´ as-halmaza ´ıgy n´eh´ any f´elt´er metszete. H´ arom dimenzi´ oban v´eges sok f´elt´er metszete nem m´ as, mint egy konvex poli´eder (megengedve, hogy a poli´eder nem felt´etlen¨ ul korl´ atos). Ez a k´ep term´eszetesen sugallja, hogy magasabb dimenzi´ oban is egy egyenl˝ otlens´eg-rendszer megold´ as-halmaz´ at majd poli´edernek nevezz¨ uk. K´erd´es persze, hogy mennyire szerencs´es ez az elnevez´es abban az ´ertelemben, hogy egy n-v´ altoz´ os egyenl˝ otlens´eg-rendszer megold´ as-halmaza val´ oban rendelkezik-e olyan tulajdons´ agokkal, melyeket 3-dimenzi´ os szeml´elet¨ unk sugall. H´ arom dimenzi´ oban p´eld´ aul vil´ agos, hogy egy korl´ atos poli´eder a cs´ ucsainak konvex burka. Igaz-e ez magasabb dimenzi´ oban is? A k´erd´es persze ´ıgy eleve csal´ as, hiszen m´eg azt sem tudjuk, hogy mik´ent is k´ene magasabb dimenzi´ oban a cs´ ucsot defini´ alni. Ami esetleg k´ezenfekv˝ o a 3-dimenzi´ os szeml´elet¨ unkben, az lehet, hogy n dimenzi´ oban nem is igaz. Vagy m´eg ha igaz is, a legkev´esb´e sem az´ert, mert h´ arom dimenzi´ oban j´ ol l´ atszik. Gondoljunk arra, hogy egy n pont´ u gr´ af szerkezete mennyivel ¨ osszetettebb lehet, mint egy h´ arom pont´ u´e. Azt nyilv´ an senki sem hiszi, hogy egy h´ arom pont´ u gr´ afra ´erv´enyes ´ all´ıt´ asnak automatikusan tetsz˝ oleges gr´ afra is igaznak k´ene lennie. A szeml´eletes ´es az igaz ´ all´ıt´ asok kapcsolat´ anak jobb meg´ert´es´ere tekints¨ uk a k¨ ovetkez˝ o (nem felt´etlen¨ ul igaz) ´ all´ıt´ asokat. 1. Ha f folytonos f¨ uggv´eny az I = [0, 1] z´ art intervallumon, amelyre f (0) < 0 < f (1), akkor l´etezik olyan x ∈ I sz´ am, amelyre f (x) = 0. 2. Ha f folytonos f¨ uggv´eny az I = (0, 1) ny´ılt intervallumon, akkor f v´eges sok pont kiv´etel´evel I minden pontj´ aban deriv´ alhat´ o. 3. Az n-dimenzi´ os Euklideszi t´erben n darab p´ aronk´ent hegyes sz¨ oget bez´ ar´ o vektorok egy halmaza mindig beforgathat´ o a nemnegat´ıv t´ersz¨ ogletbe (azaz l´etezik egy olyan ortonorm´ alt line´ aris transzform´ aci´ o, amely az n vektor mindegyik´et nemnegat´ıv vektorba k´epezi). 4. Ha Rn -ben egy P korl´ atos poli´eder b´ armely k´et cs´ ucsa szomsz´edos, akkor P -nek legfeljebb n + 1 cs´ ucsa van. 5. Ha Rn -ben v´eges sok pont P konvex burka nem tartalmazza az orig´ ot, akkor van olyan z´ art f´elt´er, amely mag´ aban foglalja P -t, de nem tartalmazza az orig´ ot. Ezen ´ all´ıt´ asok mindegyik´et t¨ obb´e-kev´esb´e szeml´eletesnek ´erezz¨ uk. Az els˝ o k¨ oz¨ ul¨ uk Bolzano t´etele, amit bevezet˝ o anal´ızisben bizony´ıtanak. Nem ritka az a felfog´ as, hogy a Bolzano t´etel nyilv´ anval´ o, hiszen egy ,,folytonos vonal” a (0, −1) ´es (1, 1) pontok k¨ oz¨ ott sz¨ uks´egk´eppen metszi az y = 0 tengelyt, ´es a r´eszletes bizony´ıt´ asra csak az´ert van sz¨ uks´eg, mert ”a matematik´ aban pontosnak kell lenni”. Ez a n´ezet azonban t´eves. A Bolzano t´etel ugyanis nem arr´ ol sz´ ol, hogy a folytonoss´ agra benn¨ unk ´el˝ o szeml´eletes ´erzetre igaz-e valami vagy sem, hanem arr´ ol, hogy a folytonoss´ agra bevezetett form´ alis defin´ıci´ o (matematikai modell) vajon val´ oban teljes´ıti-e azokat az elv´ ar´ asokat, amelyeket a szeml´eletes folytonoss´ ag k´ep¨ unk sugall. A Bolzano t´etel egy ilyen elv´ art tulajdons´ ag fenn´ all´ as´ at igazolja vissza. A fenti 2. ´ all´ıt´ as egy m´ asik ilyen elv´ art tulajdons´ agot fogalmaz meg, amely szint´en el´egg´e szeml´eletesnek t˝ unik, csak h´ at ´eppen nem igaz: van olyan folytonos f¨ uggv´eny I-n, amely egyetlen pontban sem differenci´ alhat´ o. A 3. ´ all´ıt´ as nyilv´ anval´ o a s´ıkban, k¨ onnyen igazolhat´ o 3 dimenzi´ oban, ´es n´emi er˝ ofesz´ıt´essel bebizony´ıthat´ o m´eg R4 -ben is. Magasabb dimenzi´ oban azonban m´ ar az ´ all´ıt´ as nem ´erv´enyes! Kis anal´ ogia: k¨ onnyen igazolhat´ o, hogy legfeljebb n´egy pont´ u gr´ afok kromatikus sz´ ama egyenl˝ o a maxim´ alis teljes r´eszgr´ afjuk pontsz´ am´ aval. ¨ pont´ Ot u gr´ afokra azonban ez m´ ar nem ´ all, hiszen az ¨ ot pont´ u k¨ or kromatikus sz´ ama 3, de nincs benne h´ aromsz¨ og. A 4. ´ all´ıt´ as 2 ´es 3 dimenzi´ oban k´ezenfekv˝ o. A 4-dimenzi´ os t´erben azonban minden n ≥ 3-ra lehet olyan n cs´ ucs´ u poli´edert konstru´ alni, amelynek cs´ ucsai p´ aronk´ent szomsz´edosak. Az 5. ´ all´ıt´ as 3-dimenzi´ oban szint´en k´ezenfekv˝ o, de az el˝ obbi p´eld´ ak elbizonytalan´ıthatnak, hogy vajon magasabb dimenzi´ oban is igaznak kell-e lennie. Mindenesetre, ha az elk¨ ovetkez˝ okben esetleg t´enyleg az der¨ ul ki, hogy ´erv´enyes, akkor ezt a t´enyt a legkev´esb´e sem szabad majd mag´ at´ ol ´ertet˝ od˝ onek tekinten¨ unk. A 3-dimenzi´ os t´erben szeml´eletes ´ all´ıt´ asok Rn -be t¨ ort´en˝ o ´ atvitel´enek neh´ezs´egeit n´emileg ´erz´ekelteti az al´ abbi feladat. Feladat 3.1 Igazoljuk, hogy Rn -ben v´eges sok pont konvex burka z´ art.
47
A k¨ ovetkez˝ okben olyan fogalmakat ´ep´ıt¨ unk ki magasabb dimenzi´ oban, melyek h´ arom dimenzi´ oban j´ ol ismertek. Mi egy poli´eder lapja, cs´ ucsa, dimenzi´ oja? Azt az utat k¨ ovetj¨ uk, amely ´ altal´ aban egy defin´ıci´ o kiterjeszt´es´en´el szok´ as: kiv´ alasztjuk az ismert esetben a sz´ obanforg´ o fogalom valamely alapvet˝ o tulajdons´ ag´ at, ´es az ´ altal´ anos´ıt´ ashoz ezt haszn´ aljuk defin´ıci´ ok´ent. (P´eld´ aul egy pozit´ıv a sz´ am negat´ıv eg´esz kitev˝ os hatv´ any´ at u ´gy defini´ altuk, hogy ´erv´enyben maradjon a pozit´ıv eg´esz kitev˝ os hatv´ anyra fenn´ all´ o egyszer˝ u szab´ aly. Ez´ert lett, defin´ıci´ o szerint a0 := 1 vagy a(−n) := 1/an ). Egy dologra azonban u ¨gyelni kell. Elk´epzelhet˝ o, hogy az ´ altal´ anos´ıtand´ o fogalomnak nem csak egy alapvet˝ o tulajdons´ aga van, ´ıgy az ´ altal´ anos´ıt´ asra is t¨ obb lehet˝ os´eg k´ın´ alkozik. Ilyenkor meg kell vizsg´ alni, hogy a k¨ ul¨ onb¨ oz˝ ou ´ton kapott defin´ıci´ ok vajon ekvivalensek-e egym´ assal vagy nem. A helyzet megvil´ ag´ıt´ as´ ara ´ alljon itt egy gr´ afos p´elda. Egy ir´ any´ıtatlan gr´ afban az a tulajdons´ ag, hogy a gr´ af b´ armely k´et pontja k¨ oz¨ ott vezet u ´t azzal ekvivalens, hogy a gr´ afnak van fesz´ıt˝ o f´ aja. Az ilyen tulajdons´ ag´ u gr´ afokat nevezik ¨ osszef¨ ugg˝ onek. Magasabb rend˝ u¨ osszef¨ ugg˝ os´eg defin´ıci´ oj´ ahoz mindk´et tulajdons´ agot vehetj¨ uk alapul. Egy gr´ afot nevezhet¨ unk k-szor u ´t-¨ osszef¨ ugg˝ onek, ha b´ armely k´et pontja k¨ oz¨ ott vezet k ´elidegen u ´t, ´es besz´elhet¨ unk k-szoros fa-¨ osszef¨ ugg˝ os´egr˝ ol, ha a gr´ afban l´etezik k ´elidegen fesz´ıt˝ o fa. A k = 1 esetben a k´et fogalom egybeesik, de a h´ aromsz¨ og (mint gr´ af) p´eld´ aja mutatja, hogy a k´et tulajdons´ ag k ≥ 2 eset´en m´ ar nem ekvivalens. Tegy¨ uk most fel, hogy a 3-dimenzi´ os (konvex) poli´eder cs´ ucs´ anak fogalm´ at akarjuk magasabb dimenzi´ os poli´ederekre kiterjeszteni. Egy R korl´ atos 3-dimenzi´ os poli´eder cs´ ucsa az R-nek olyan pontja, amely nincs benne a poli´eder k´et m´ asik pontj´ at ¨ osszek¨ ot˝ o szakaszban. Ezen tulajdons´ ag egy lehet˝ os´eg a magasabb dimenzi´ os poli´eder cs´ ucs´ anak defini´ al´ as´ ara. Egy m´ asik k´ezenfekv˝ o lehet˝ os´eg azt mondani, hogy az R valamely z pontja akkor cs´ ucs, ha l´etezik egy s´ık, amelynek R-rel vett metszete az egyetlen z pontb´ ol ´ all. Melyiket v´ alasszuk magasabb dimenzi´ oban a cs´ ucs defin´ıci´ oj´ anak? Net´ an olyan szerencs´enk lesz, hogy a k´etf´ele lehet˝ os´eg ekvivalens? Az el˝ obbi gr´ afos p´elda mindenesetre azt mutatja, hogy m´eg ha ki is der¨ ul majd, hogy ez a helyzet, akkor sem tekinthet˝ o ezen ekvivalencia mag´ at´ ol ´ertet˝ od˝ onek.
3.2
K´ upok, poli´ ederek, polit´ opok
Az alterek (illetve az affin halmazok) ´eppen azok a halmazok, melyek z´ artak a line´ aris (ill. affin) kombin´ aci´ o k´epz´esre. Pontok egy halmaz´ at akkor nevezz¨ uk konvexnek, ha z´ art a konvex kombin´ aci´ o k´epz´esre, vagyis ak´ arhogy v´eve a halmaznak v´eges sok elem´et, ezek konvex kombin´ aci´ oja is a halmazhoz tartozik. Mivel Rn konvex, tetsz˝ oleges C halmaz benne van egy ˝ ot tartalmaz´ o legsz˝ ukebb konvex halmazban, nevezetesen a C-t tartalmaz´ o konvex halmazok metszet´eben. K¨ onnyen kimutathat´ o, hogy (l´ asd a 3.5 gyakorlatot), hogy ez a metszet nem m´ as, mint a C konvex burka, melyet a tov´ abbiakban konv(C)-vel jel¨ ol¨ unk. Amennyiben a ∈ Rn nem-nulla vektor, β tetsz˝ oleges sz´ am, az ax = β line´ aris egyenlet megold´ as-halmaz´ at hipers´ıknak (hyperplane) nevezz¨ uk. Ez az {x ∈ Rn : ax = 0} homog´ en hipers´ık eltoltja. A fentiek alapj´ an a hipers´ık dimenzi´ oja n − 1 (innen az elnevez´es). K¨ ovetkezik, hogy az affin alt´er hipers´ıkok metszet´enek tekinthet˝ o. Az {ax ≤ β} egyenl˝ otlens´eg megold´ as-halmaz´ at, vagyis az {x ∈ Rn : ax ≤ β} halmazt (z´ art) f´ elt´ ernek (closed halfspace) h´ıvjuk, melynek {x : ax = b} a hat´ arol´ o hipers´ıkja, ´es amelynek norm´ alisa a. (Ha szigor´ u egyenl˝ otlens´eg van, ny´ılt f´ elt´ err˝ ol besz´el¨ unk). A β = 0 esetben azt mondjuk, hogy a f´elt´er homog´ en. Gyakorlatok 3.2 Ha z a z1 , . . . , zk pontok konvex kombin´ aci´ oja ´es mindegyik zi a v1 , . . . , vℓ pontok konvex kombin´ aci´ oja, akkor z a v1 , . . . , vℓ pontoknak is konvex kombin´ aci´ oja. 3.3 Egy halmaz akkor ´es csak akkor konvex, ha b´ armely k´et elem´enek b´ armely konvex kombin´ aci´ oja a halmazhoz tartozik. 3.4 Konvex halmazok metszete is konvex. 3.5 A konv(C) halmaz nem m´ as, mint a C elemeinek felhaszn´ al´ as´ aval k´esz¨ ult konvex kombin´ aci´ ok halmaza.
3.2.1
K´ upok
Vektorok egy nem¨ ures C halmaz´ at k´ upnak (cone) nevezz¨ uk, ha C z´ art nemnegat´ıv sz´ ammal t¨ ort´en˝ o szorz´ asra n´ezve, vagyis ha C b´ armely elem´enek nem-negat´ıv sz´ amszorosa is C-hez tartozik. Ebb˝ ol ad´ odik, hogy az orig´ o mindig a k´ upban van. A k´ up trivi´ alis, ha egyetlen pontja van (az orig´ o). Amennyiben a k´ up m´eg az ¨ osszead´ asra is z´ art, konvex k´ upr´ ol besz´el¨ unk. Ez k¨ onnyen l´ athat´ oan val´ oban konvex. Miut´ an a tov´ abbiakban csak konvex k´ upokr´ ol lesz sz´ o, k´ upon automatikusan konvex k´ upot fogunk ´erteni. Egy alt´er p´eld´ aul mindig k´ up. (A k´ up ezen defin´ıci´ oja egyr´eszt ´ altal´ anosabb ann´ al, mint amit szok´ asos geometriai k´ up fogalmunk
48
dikt´ alna, hiszen megenged olyan alakzatokat is, melyeket s´ıkok hat´ arolnak. P´eld´ aul a s´ıkban a nemnegat´ıv s´ıknegyed k´ up. M´ asr´eszt sz˝ ukebb, mert k´ up eltoltja nem k´ up). K´et tipikus p´elda k´ upra: m V´ egesen gener´ alt k´ up (r¨ oviden, gener´ alt k´ up): V´eges sok aP vektor nemnegat´ıv line´ aris 1 , . . . , an ∈ R kombin´ aci´ oinak halmaza. Jel¨ ol´ese : k´ up(a1 , . . . , an ) := {z : z = λ a , λ ≥ 0}. Amennyiben A egy olyan i i i i m × n-es m´ atrix, melynek oszlopai az ai vektorok, u ´gy az ai vektorok k´ upja {Ax : x ≥ 0} = ARn + . Az A n m m´ atrix sorvektorai R -ben az {yA : y ≥ 0} = R+ A k´ upot gener´ alj´ ak, melyet GA -val jel¨ ol¨ unk.
Metszetk´ up (m´ as n´even poli´ eder-k´ up): V´eges sok homog´en f´elt´er metszete; R := {x : b1 x ≤ 0, . . . , bm x ≤ 0}, ahol bi ∈ Rn . Amennyiben B egy olyan m × n-es m´ atrix, melynek sorai a bi vektorok, u ´gy R = {x : Bx ≤ 0}. A B oszlopvektorai Rm -ben az {y : yB ≤ 0} metszetk´ upot defini´ alj´ ak.
P
P
µ p + i λi ai , λi ≥ 0} Megjegyzend˝ o, hogy adott {p1 , p2 , . . . , pt , a1 , . . . , an } vektorokra a {z : z = j j j halmaz gener´ alt k´ upot alkot (vagyis itt csak bizonyos egy¨ utthat´ okra k¨ ovetel¨ unk meg nemnegativit´ ast), ´espedig a {p1 , −p1 , . . . , pt , −pt , a1 , . . . , an } vektorok ´ altal gener´ alt k´ up. Speci´ alisan, a p1 , . . . , pt vektorok ´ altal gener´ alt alt´er is gener´ alt k´ up. A gener´ alt k´ up teh´ at a gener´ alt alt´er ´ altal´ anos´ıt´ asa. Hasonl´ ok´epp, {q1 , . . . , qt , b1 , . . . , bm } vektorok eset´en az {x : q1 x = 0, . . . , qt x = 0, b1 x ≤ 0, . . . , bm x ≤ 0} halmaz metszetk´ up, ´espedig {x : q1 x ≤ 0, −q1 x ≤ 0, . . . , qt x ≤ 0, −qt x ≤ 0, b1 x ≤ 0, . . . , bm x ≤ 0}. Speci´ alisan, a q1 , . . . , qt vektorok nulltere (m´ asn´even ortogon´ alis kieg´esz´ıt˝ o altere) metszetk´ up. A metszetk´ up teh´ at a nullt´er ´ altal´ anos´ıt´ asa. Figyelj¨ uk meg, hogy a gener´ alt k´ upnak k¨ onnyen gy´ arthatunk egy elem´et, de egy´ altal´ an nem k¨ onny˝ u eld¨ onteni egy megadott elemr˝ ol, hogy a k´ upban van-e. Ford´ıtott a helyzet metszet-k´ up eset´en: k¨ onny˝ u eld¨ onteni, hogy egy megadott elem benne van-e, de nem k¨ onny˝ u tal´ alni egy nem-nulla elemet. Gyakorlat 3.6 K´et metszetk´ up metszete metszetk´ up. K´et gener´ alt k´ up vektor-¨ osszege gener´ alt k´ up. Kor´ abban l´ attuk, hogy egy gener´ alt alt´er mindig el˝ o´ all nullt´erk´ent ´es megford´ıtva. E t´etel sz´ep ´ altal´ anos´ıt´ asak´ent bebizony´ıtjuk majd, hogy egy metszetk´ up mindig el˝ o´ all gener´ alt k´ upk´ent ´es egy gener´ alt k´ up metszetk´ upk´ent. Ez az ekvivalencia nem nyilv´ anval´ o: p´eld´ aul egy metszetk´ up z´ arts´ aga r¨ ogt¨ on l´ atszik abb´ ol, hogy a f´elterek z´ artak ´es z´ art halmazok metszete is z´ art; ugyanakkor egy gener´ alt k´ up z´ arts´ ag´ anak igazol´ asa nem ilyen k´ezenfekv˝ o. Egy q nemnulla vektor eset´en a {λq : λ ∈ R+ } gener´ alt k´ upot v´ egtelen ir´ anynak vagy r¨ oviden ir´ anynak vagy m´ ask´ent sug´ arnak (ray) mondjuk ´es ~ q -val jel¨ olj¨ uk. A ~ q1 , . . . , ~ qk ir´ anyok egy nemnegat´ıv kombin´ aci´ oj´ an a q1 , . . . , qk vektorok egy nemnagat´ıv kombin´ aci´ oj´ ahoz tartoz´ o ir´ anyt ´ertj¨ uk. A gener´ alt k´ up tekinthet˝ o v´eges sok ir´ any nemnegat´ıv kombin´ aci´ oi halmaz´ anak. Egy z pontb´ ol indul´ o~ q ir´ any´ u f´ elegyenesen a z + ~ q := {x : x = z + λq, λ ∈ R+ } halmazt ´ertj¨ uk, ahol q 6= 0. Teh´ at az ir´ any egy orig´ ob´ ol kiindul´ o f´elegyenes, ´es a f´elegyenes egy eltolt ir´ any. Adott K k´ uphoz hozz´ arendelhetj¨ uk a K ∗ := {x : xz ≤ 0 minden z ∈ K elemre} halmazt, ´es ezt a K pol´ aris´ anak nevezz¨ uk. K¨ onnyen l´ atszik, hogy K ∗ maga is k´ up, ´es az is, hogy a K k´ up pol´ aris´ anak pol´ arisa mag´ aban foglalja K-t, azaz K ⊆ (K ∗ )∗ . Itt nem sz¨ uks´egk´eppen ´ all egyenl˝ os´eg, hiszen b´ armely k´ up pol´ arisa k¨ onnyen ellen˝ orizhet˝ oen z´ art, vagyis nem z´ art K eset´en K 6= (K ∗ )∗ . Igazolhat´ o ugyanakkor, hogy a K lez´ artja (vagyis a K-t tartalmaz´ o z´ art halmazok metszete) ´eppen (K ∗ )∗ . Speci´ alisan, z´ art K-ra K = (K ∗ )∗ .
3.2.2
Poli´ ederek ´ es polit´ opok
A metszetk´ up fogalm´ an´ al ´ altal´ anosabb a k¨ ovetkez˝ o: Poli´ eder (polyhedron, tbsz: polyhedra): V´eges sok f´elt´er metszete: R := {x : Qx ≤ b}, ahol Q egy m × n-es m´ atrix, b m-dimenzi´ os vektor. M´ assz´ oval a poli´eder egy line´ aris egyenl˝ otlens´eg-rendszer megold´ as-halmaza. Figyelj¨ uk meg, hogy a defin´ıci´ ob´ ol ad´ od´ oan egy poli´eder mindig konvex, hiszen ha n´eh´ any vektor kiel´eg´ıt egy line´ aris egyenl˝ otlens´eget, akkor konvex kombin´ aci´ ojuk is. A 3-dimenzi´ os t´ergeometri´ aban megszokott (konvex) poli´ederek megadhat´ ok f´elterek metszetek´ent, vagyis kiel´eg´ıtik a fenti defin´ıci´ ot, ugyanakkor ez ut´ obbi megenged nem korl´ atos poli´edereket is. P´eld´ aul egy metszetk´ up vagy egy affin alt´er poli´eder. A formailag ´ altal´ anosabb, egyenl˝ os´egeket ´es egyenl˝ otlens´egeket egyar´ ant tartalmaz´ o {P x = b0 , Qx ≤ b1 } rendszer megold´ as-halmaza is poli´eder, hiszen egy px = β egyenlet megold´ as-halmaza felfoghat´ o mint a px ≤ β ´es a −px ≤ −β egyenl˝ otlens´egek k¨ oz¨ os megold´ as-halmaza. Nyilv´ an az {x : Qx ≥ b} halmaz is poli´eder ´epp´ ugy, mint a Q oszlopai ´ altal defini´ alt {y : yQ ≤ c} halmaz. Ez is jelzi, hogy egy poli´eder t¨ obbf´ele m´ odon is megadhat´ o m´ atrixszal. Az {Ax = b, x ≥ 0} egyenl˝ otlens´eg-rendszerr˝ ol azt mondjuk, hogy standard alak´ u, vagyis ha egy olyan egyenletrendszerr˝ ol van sz´ o, amelynek v´ altoz´ oira nemnegativit´ asi kik¨ ot´es van. Az {x : Ax = b, x ≥ 0} poli´eder standard alakban van adva. Egy standard alakban adott poli´eder teh´ at egy affin alt´er ´es a nem-negat´ıv t´ersz¨ oglet metszete. P m´ atrix egy sor´ at Az R := {x : P x = b0 , Qx ≤ b1 } poli´eder egy z elem´ere n´ezve a defini´ al´ o M = Q valamint a sor ´ altal meghat´ arozott egyenl˝ otlens´eget z-akt´ıvnak vagy r¨ oviden csak akt´ıvnak nevezz¨ uk, ha z
49
egyenl˝ os´eggel teljes´ıti. A P sorai automatikusan akt´ıvak. A z-re n´ezve akt´ıv sorok r´eszm´ atrix´ at az M z-akt´ıv r´ eszm´ atrix´ anak nevezz¨ uk ´es Mz= -vel jel¨ olj¨ uk. A z ´ altal szigor´ u egyenl˝ otlens´eggel teljes¨ ul˝ o sorok m´ atrix´ at Q< oli. z jel¨ Polit´ op (polytope): V´eges sok pont konvex burka. (Az u ¨res halmazt is polit´ opnak tekintj¨ uk, mint nulla darab pont konvex burka.) Azt mondjuk, hogy a polit´ opot a sz´ obanforg´ o pontok gener´ alj´ ak. Ezek szerint egyetlen pont is polit´ opot alkot. K´et pont ´ altal gener´ alt polit´ op a k´et pontot ¨ osszek¨ ot˝ o szakasz. Gyakorlat 3.7 K´et poli´eder metszete is poli´eder. K´et polit´ op vektor-¨ osszege is polit´ op. Gyakorlat 3.8 Amennyiben R := {x : M x ≤ b} nem¨ ures, u ´gy R akkor ´es csak akkor az eg´esz t´er, ha r(M ) = 0 (azaz M a csupa-nulla m´ atrix) ´es b ≥ 0. Term´eszetesen vet˝ odnek fel a k¨ ovetkez˝ o k´erd´esek. Mikor l´etezik egy egyenl˝ otlens´eg-rendszernek megold´ asa, azaz mikor nem-¨ ures egy poli´eder? Erre v´ alaszol majd a Farkas lemma, amely a Fredholm-f´ele alternat´ıva t´etelnek line´ aris egyenl˝ otlens´egekre vonatkoz´ o kiterjeszt´ese. Hogyan lehet ,,param´eteresen” megadni egy egyenl˝ otlens´eg-rendszer megold´ as-halmaz´ at, annak mint´ aj´ ara, ahogyan egy egyenletrendszer megold´ as-halmaz´ at meg lehetett adni ´ıgy? A korl´ atos esetben erre v´ alaszol majd az a bizony´ıt´ asra ker¨ ul˝ o t´etel, miszerint minden korl´ atos poli´eder polit´ op, ´es megford´ıtva. Tov´ abbi k´erd´es, hogy k´et egyenl˝ otlens´eg-rendszer megold´ as-halmaza mikor ugyanaz, magyar´ an, mikor defini´ alj´ ak ugyanazt a poli´edert? Kezdj¨ uk egy egyszer˝ u megfigyel´essel. Lemma 3.2.1 Ha az R poli´eder k´ up, akkor metszetk´ up. Biz. Az R megadhat´ o {x : Qx ≤ b} alakban ´es feltehetj¨ uk, hogy Q-nak a lehet˝ o legkevesebb sora van. Azt igazoljuk, hogy ekkor b = 0. Mindenesetre b ≥ 0, hiszen 0 ∈ R miatt 0 = Q0 ≤ b. Tegy¨ uk fel indirekt, hogy b(i) > 0 valamelyik i-re. A Q minimalit´ asa miatt van olyan x′ vektor, amely a Qx ≤ b rendszerb˝ ol egyed¨ ul a otlens´eget s´erti meg, azaz i qx′ > b(i) > 0. Ekkor az α := b(i)/i qx′ sz´ amra x∗ := αx′ benne i qx ≤ b(i) egyenl˝ van R-ben, de 2x∗ p´eld´ aul nincs, mert i q(2x∗ ) = 2αi qx′ = 2b(i) > b(i), ellentmond´ asban R k´ up volt´ aval. • Egy poli´edert akkor nevez¨ unk korl´ atosnak, ha l´etezik olyan K pozit´ıv sz´ am, amelyre |x(i)| ≤ K a poli´eder minden x pontj´ anak mindegyik x(i) komponens´ere. Egy poli´eder (k¨ uls˝ o) dimenzi´ oj´ an, (r¨ oviden dimenzi´ oj´ an) az ˝ ot tartalmaz´ o legsz˝ ukebb affin alt´er dimenzi´ oj´ at ´ertj¨ uk. A poli´eder bels˝ o dimenzi´ oja a benne fekv˝ o affin alterek dimenzi´ oj´ anak a maximuma. P´eld´ aul, ha a poli´eder egyetlen pontb´ ol ´ all, akkor k¨ uls˝ o ´es bels˝ o ´ dimenzi´ oja is nulla. Altal´ aban egy affin alt´ernek, mint poli´edernek a k¨ uls˝ o ´es bels˝ o dimenzi´ oja megegyezik az affin alt´er kor´ abban m´ ar bevezetett dimenzi´ oj´ aval, speci´ alisan Rn egy hipers´ıkj´ anak k¨ uls˝ o ´es bels˝ o dimenzi´ oja is n − 1. A s´ıkban a nemnegat´ıv s´ıknegyed bels˝ o dimenzi´ oja 0, k¨ uls˝ o dimenzi´ oja 2. Az n-dimenzi´ os t´erben egy f´elt´er bels˝ o dimenzi´ oja n − 1, k¨ uls˝ o dimenzi´ oja n. Egy q vektorr´ ol azt mondjuk, hogy a z ∈ R elem mozg´ asvektora, ha l´etezik kicsiny λ > 0 sz´ am, amelyre mind z + λq, mind z − λq R-ben van. A 0-vektor mindig ilyen, m´ıg ha q 6= 0, nem-trivi´ alis mozg´ asvektorr´ ol besz´el¨ unk. Azt mondjuk, hogy z ∈ R a poli´eder relat´ıv bels˝ o pontja, ha l´etezik nem-trivi´ alis mozg´ asvektora. Ha nem l´etezik, akkor z extr´ em. M´ assz´ oval z akkor extr´em, ha nincs rajta a poli´eder k´et m´ asik pontj´ at ¨ osszek¨ ot˝ o szakaszon. Nem neh´ez igazolni, hogy z pontosan akkor extr´em, ha nem ´ all el˝ o a poli´eder m´ as pontjainak konvex kombin´ aci´ ojak´ent. Ha minden vektor mozg´ asvektor, akkor z bels˝ o pontja R-nek. A defin´ıci´ ob´ ol k¨ ozvetlen¨ ul kiolvashat´ o, hogy egy z ∈ R elem mozg´ asvektorai alteret alkotnak, melynek neve a z mozg´ astere. Az 1-dimenzi´ os t´erben egy (z´ art) szakasznak v´egpontjait´ ol k¨ ul¨ onb¨ oz˝ o pontjai bels˝ o pontok. Ugyanakkor a 2-dimenzi´ os t´erben egy szakasz olyan poli´eder, amelynek nincs bels˝ o pontja. Egy {z + λq : λ ∈ R} alak´ u egyenest q ir´ any´ u egyenesnek nevez¨ unk, ahol q 6= 0. Legyen R = {x : Qx ≤ b} nem-¨ ures poli´eder. Egy q vektorr´ ol azt mondjuk, hogy R eltol´ asi vektora, ha R minden z pontj´ ara ´es minden λ sz´ amra z + λq ∈ R. M´ assz´ oval, az R b´ armely pontj´ an ´ atmen˝ o q ir´ any´ u egyenes R-ben van. (N´eha haszn´ alj´ ak a karakterisztikus vektor elnevez´est, de ez nem t´ ul szerencs´es, mert ez a n´ev m´ ar foglalt egy halmaz karakterisztikus vektor´ ara). R¨ ogt¨ on l´ atszik, hogy az eltol´ asi vektorok alteret alkotnak, a poli´eder eltol´ asi alter´ et. Ha egy poli´eder nem tartalmaz teljes egyenest (f´elegyenest) akkor azt mondjuk, hogy egyenes-mentes (f´ elegyenes-mentes). A ~ q ir´ anyt az R poli´ eder egy ir´ any´ anak nevezz¨ uk, ha z + λq ∈ R fenn´ all az R minden z elem´ere ´es minden pozit´ıv λ-ra. Gyakorlat 3.9 Az R poli´eder ir´ anyainak nemnegat´ıv kombin´ aci´ oi is az R ir´ anyai, azaz a poli´eder ir´ anyai k´ upot alkotnak. A poli´eder ir´ anyainak k´ upj´ at a poli´eder ir´ any- (n´eha recesszi´ os) k´ upj´ anak nevezz¨ uk. Az R poli´eder egy ir´ anya extr´ em, ha nem ´ all´ıthat´ o el˝ o t˝ ole k¨ ul¨ onb¨ oz˝ o R-beli ir´ anyok nemnegat´ıv kombin´ aci´ ojak´ent. Egy alt´ernek p´eld´ aul nincs extr´em ir´ anya.
50
Gyakorlat 3.10 A poli´eder egy ir´ anya akkor ´es csak akkor extr´em, ha nem a ´ll´ıthat´ o el˝ o k´et t˝ ole k¨ ul¨ onb¨ oz˝ o R-beli ir´ any nemnegat´ıv kombin´ aci´ ojak´ent. Egy 3-dimenzi´ os poli´edert lapok, ´elek illetve cs´ ucsok hat´ arolnak. Ezeket a fogalmakat szeretn´enk magasabb dimenzi´ ora kiterjeszteni. Egy R ⊆ Rn nem¨ ures poli´eder F oldala (face) R-nek egy F := {x ∈ R : cx = δ}
(3.1)
alak´ u nem¨ ures r´eszhalmaza, ahol δ := max{cx : x ∈ R} valamely cx line´ aris c´elf¨ uggv´enyre, melyre a maximum l´etezik. A c 6= 0 esetben a H = {x : cx = δ} hipers´ıkot a poli´eder egy t´ amasz-s´ıkj´ anak nevezz¨ uk. A c ≡ 0 c´elf¨ uggv´enyre a defin´ıci´ o azt adja, hogy R maga is oldal. Val´ odi oldalon (proper face) olyan oldalt ´ert¨ unk, amely nem az eg´esz poli´eder. A poli´eder val´ odi oldala teh´ at az optimum helyek halmaza valamely nemnulla line´ aris c´elf¨ uggv´enyre n´ezve, m´ ask´ent sz´ olva a poli´edernek az a r´esze, amely egy hipers´ıkkal ´erintkezik, amikor azt k´ıv¨ ulr˝ ol a poli´ederhez toljuk. Amennyiben az oldal egyetlen pontb´ ol ´ all, u ´gy ezt a pontot a poli´eder cs´ ucs´ anak nevezz¨ uk. Teh´ at egy z ∈ R pont akkor cs´ ucs, ha l´etezik olyan c vektor, amelyre a cz > cx minden x ∈ R − z-re. A defin´ıci´ ob´ ol l´ atszik, hogy egy poli´eder oldala maga is poli´eder. Egy affin alt´er p´eld´ aul olyan poli´eder, amelynek nincs val´ odi oldala. Poli´eder minim´ alis oldal´ an egy tartalmaz´ asra n´ezve minim´ alis oldalt ´ert¨ unk. Egy tartalmaz´ asra n´ezve maxim´ alis val´ odi oldalt lapnak (facet) nevez¨ unk. A poli´edert cs´ ucsosnak (pointed) mondjuk, ha van cs´ ucsa. Nem minden poli´edernek van cs´ ucsa, p´eld´ aul az affin altereknek bizonyosan nincs. A 3.10 gyakorlat alapj´ an a poli´eder egy z eleme akkor extr´em pont, ha nem ´ all el˝ o a poli´eder n´eh´ any m´ as pontj´ anak konvex kombin´ aci´ ojak´ent. Gyakorlat 3.11 Igazoljuk, hogy az R poli´eder egy z pontj´ ara a k¨ ovetkez˝ ok ekvivalensek. (i) z extr´em, (ii) z nincs R-hez tartoz´ o szakasz belsej´eben, (iii) nincs olyan x′ 6= 0 vektor, amelyre z + x′ ´es z − x′ is R-ben van. 2013. augusztus 1.,
ulin11 2013. augusztus 1.
51
3.3 3.3.1
Cs´ ucsok ´ es b´ azis-megold´ asok B´ azis-megold´ asok
Legyen Q 6= 0 egy m × n-es m´ atrix ´es jel¨ olje R a Qx ≤ b
(3.2)
egyenl˝ otlens´eg-rendszer megold´ asainak halmaz´ at. Ebben a r´eszben v´egig feltessz¨ uk, hogy az R poli´eder nem u ¨res. C´elunk megvizsg´ alni az R poli´eder ´es az azt defini´ al´ o Qx ≤ b le´ır´ o rendszer kapcsolat´ at. ´ TETEL 3.3.1 Valamely q 6= 0 vektorra a k¨ ovetkez˝ ok ekvivalensek: (1) Qq = 0. (2) q eltol´ asi vektora R-nek. (3) R-nek van olyan z pontja, amelyre z + λq minden val´ os λ-ra R-ben van. Biz. Az (1)→(2) ir´ any nyilv´ anval´ o, hiszen b´ armely z ∈ R eset´en Q(z + λq) = Qz + λQq = Qz ≤ b, azaz z + λq ∈ R. A (2)→(3) ir´ any semmitmond´ o. V´eg¨ ul, ha (3) fenn´ all, akkor sz¨ uks´egk´eppen Qq = 0, mert k¨ ul¨ onben kell˝ oen nagy λ-ra a Q(z + λq) ≤ b ´es Q(z − λq) ≤ b egyenl˝ otlens´eg-rendszerek k¨ oz¨ ul az egyik biztosan nem teljes¨ ulne. • K¨ ovetkezm´ eny 3.3.2 Az R := {x ∈ Rn : Qx ≤ b} poli´eder eltol´ asi altere a Q m´ atrix nulltere. • ´ TETEL 3.3.3 Az R = {x ∈ Rn : Qx ≤ b} poli´eder egy z elem´enek mozg´ astere a Q= atrix nulltere. M´ as z m´ = sz´ oval a q vektor akkor ´es csak akkor mozg´ asvektora z-nek, ha Qz q = 0. = = Biz. Ha Q= es ez´ert kell˝ oen kicsiny pozit´ıv λ-ra Q(z ± λq) ≤ b, z q = 0, akkor minden λ-ra Qz (z ± λq) = bz ´ vagyis q a z mozg´ asvektora. = Ha Q= armilyen pozit´ıv λ-ra, ha i qq > 0, akkor z q 6= 0, akkor Qz -nek van olyan i q sora, amelyre i qq 6= 0. B´ Q(z + λq) 6≤ b, m´ıg ha i qq < 0, akkor Q(z − λq) 6≤ b. Teh´ at q nem mozg´ asvektora z-nek. •
´ TETEL 3.3.4 Tegy¨ uk fel, hogy az R poli´eder nem¨ ures ´es R = {x : Qx ≤ b} = {x : Q′ x ≤ b′ }. Ekkor Q ´es Q′ sortere megegyezik. Tetsz˝ oleges z ∈ R eset´en Q= ´ e s Q′= z z sortere megegyezik. Biz. A 3.3.1 t´etel szerint egy q vektorra akkor ´es csak akkor Qq = 0, ha Q′ q = 0, vagyis Q ´es Q′ nulltere megegyezik, ´ıgy sorter¨ uk is. ′= ′ A m´ asodik r´eszhez indirekt tegy¨ uk fel, hogy mondjuk Q= at. z sortere nem tartalmazza Qz valamely q sor´ = Ekkor a Fredholm f´ele alternat´ıva t´etelb˝ ol k¨ ovetkezik, hogy l´etezik olyan q vektor, amelyre Qz q = 0, qq ′ > 0. De ekkor kicsiny pozit´ıv λ-ra z ′ := z + λq olyan, hogy Qz ′ ≤ b, de qq ′ > 0 miatt Q′ z ′ 6≤ b′ , ellentmond´ asban a feltev´essel. • ´ TETEL 3.3.5 Tegy¨ uk fel, hogy az R poli´eder nem¨ ures ´es R = {x : Qx ≤ b} = {x : Q′ x ≤ b′ }. A Q valamely j oszlopa pontosan akkor line´ arisan f¨ uggetlen, ha Q′ megfelel˝ o j oszlopa line´ arisan f¨ uggetlen. Biz. Feltehetj¨ uk, hogy az els˝ o j oszlopr´ ol van sz´ o. Azt l´ atjuk be, hogy Q els˝ o j oszlopa akkor ´es csak akkor line´ arisan ¨ osszef¨ ugg˝ o, ha Q′ els˝ o j oszlopa az. Szimmetria miatt el´eg az egyik ir´ anyt bel´ atni, ´ıgy tegy¨ uk fel, hogy Q′ els˝ o j oszlopa line´ arisan ¨ osszef¨ ugg. Ekkor l´etezik egy olyan q ′ 6= 0 vektor, amelynek csak az els˝ o j komponense lehet nemnulla ´es Q′ q ′ = 0. A 3.3.4 t´etel miatt Q ´es Q′ sortere megegyezik, ´ıgy valamely x-re Qx = 0 pontosan akkor ´ all fenn, ha Q′ x = 0, amib˝ ol k¨ ovetkezik, hogy Qq ′ = 0, vagyis Q els˝ o j oszlopa is line´ arisan ¨ osszef¨ ugg˝ o. • Egy z ∈ R elem szintj´en a σ(z) := r(Q)−r(Q= amot ´ertj¨ uk. A Qx ≤ b line´ aris rendszer egy z megold´ as´ at z ) sz´ (azaz az z ∈ R elemet) b´ azis-megold´ asnak nevez¨ unk, ha a z-akt´ıv Q= eszm´ atrix rangja r(Q), m´ as sz´ oval a 0 z r´ szint˝ u elemek a b´ azis-megold´ asok. Ha egy b´ azis-megold´ as r´ aad´ asul olyan, hogy z nem-nulla komponenseinek megfelel˝ o Q-oszlopok line´ arisan f¨ uggetlenek, akkor er˝ os b´ azis-megold´ asr´ ol besz´el¨ unk. Speci´ alisan, ha Q oszlopai line´ arisan f¨ uggetlenek, akkor minden b´ azis-megold´ as er˝ os. A 3.3.4 t´etelb˝ ol r¨ ogt¨ on kapjuk az al´ abbit. K¨ ovetkezm´ eny 3.3.6 Az R poli´eder egy z elem´enek szintje csak a poli´edert˝ ol f¨ ugg ´es nem a poli´ edert meghat´ aroz´ o egyenl˝ otlens´eg-rendszer konkr´et alakj´ at´ ol. Speci´ alisan, a b´ azis-megold´ as fogalma is csak a poli´edert˝ ol f¨ ugg. • ´ Erdemes kiolvasni, hogy m´ as alak´ u egyenl˝ otlens´eg-rendszerek eset´en mit is jelent a b´ azis-megold´ as fogalma.
52
´ TETEL 3.3.7 (i) Egy M =
P Q
nem-nulla m´ atrix eset´en a P x = b0 , Qx ≤ b1
(3.3)
line´ aris rendszernek egy z megold´ asa akkor b´ azis-megold´ as, ha r(M ) = r(Mz= ). (ii) Az {Ax = b, x ≥ 0} egy z megold´ asa akkor ´es csak akkor b´ azis-megold´ as, ha a pozit´ıv elemekhez tartoz´ o A-beli oszlopok line´ arisan f¨ uggetlenek. (iii) Az {yA ≥ 0, yb = −1} rendszer egy y0 megold´ asa akkor ´es csak akkor b´ azis-megold´ as, ha az A-b´ ol line´ arisan f¨ uggetlen¨ ul kiv´ alaszthat´ o, az y0 -ra mer˝ oleges oszlopok maxim´ alis sz´ ama r(A, b) − 1. ′ Biz. (i) (3.3) ´es {P x ≤ b0 , −P x ≤−b0 , Qx ≤ b1 } megold´ashalmaza ugyanaz, tov´abb´a r(M ) = r(M ) ´es −P . r(Mz= ) = r(Mz′= ), ahol M ′ := M (ii) Esetleges oszlopcser´evel feltehetj¨ uk, hogy z-nek az utols´ o j komponense pozit´ıv. Jel¨ olje az ezen j A , ahol I az n × n-es egys´egm´ atrixot jel¨ oli. oszlophoz tartoz´ o m × j-es r´eszm´ atrixot A′ . Legyen M := −I = = Az (i) r´esz szerint z akkor b´ azis-megold´ as, ha r(Mz ) = r(M ) = n. Ekkor Mz az M m´ atrix els˝ o m + (n − j) sora (vagyis az A sorai valamint a −I els˝ o n − j sora). Ennek a bal als´ o (n − j) × (n − j)-es r´eszm´ atrixa egy negat´ıv egys´egm´ atrix, ´ıgy Mz= rangja pontosan akkor n, ha az els˝ o n − j oszlop´ anak ´es utols´ o n − j sor´ anak kit¨ orl´es´evel keletkez˝ o A′ r´eszm´ atrix rangja n − (n − j) = j, ami ´epp azt jelenti, hogy A′ oszlopai line´ arisan f¨ uggetlenek. (iii) Jel¨ olje A0 az A azon ai oszlopaib´ ol ´ all´ o r´eszm´ atrixot, melyekre y0 mer˝ oleges, azaz ai y0 = 0. Defin´ıci´ o szerint y0 akkor b´ azis-megold´ as, ha r(A0 , b) = r(A, b). A t´etel ´ all´ıt´ asa pedig azzal ekvivalens, hogy y0 pontosan akkor b´ azis-megold´ as, ha r(A0 ) = r(A, b) − 1. Azt kell teh´ at csak bel´ atnunk, hogy r(A0 ) = r(A0 , b) − 1. De ez r¨ ogt¨ on l´ atszik, hiszen y0 A0 = 0 ´es y0 b = −1 miatt a b vektor nem f¨ ugg line´ arisan A0 oszlopait´ ol. •
Megjegyz´ es A szakirodalomban ´ altal´ aban az {Ax = b, x ≥ 0} rendszerre vezetik be a b´ azis-megold´ as fogalm´ at; egy z megold´ ast akkor defini´ alva b´ azis-megold´ asnak, ha a pozit´ıv komponenseihez tartoz´ o A-oszlopok line´ arisan f¨ uggetlenek. Mi egy ´ altal´ anosabb megk¨ ozel´ıt´est haszn´ altunk ´es ez a tulajdons´ ag t´etelk´ent ad´ odott! Ebben az esetben r´ aad´ asul minden b´ azis-megold´ as er˝ os. A 3.3.5 t´etelb˝ ol r¨ ogt¨ on kapjuk az al´ abbiakat. K¨ ovetkezm´ eny 3.3.8 Az er˝ os b´ azis-megold´ as fogalma csak a poli´edert˝ ol f¨ ugg ´es nem a poli´edert meghat´ aroz´ o egyenl˝ otlens´eg-rendszert˝ ol. • K¨ ovetkezm´ eny 3.3.9 A {P x = b0 , Qx ≤ b1 } egyenl˝ otlens´eg-rendszer egy z b´ azis-megold´ asa pontosan akkor P . • er˝ os, ha a z nem-nulla komponenseihez tartoz´ o M -beli oszlopok line´ arisan f¨ uggetlenek, ahol M = Q ´ TETEL 3.3.10 (A) Minden megoldhat´ o line´ aris egyenl˝ otlens´eg rendszernek l´etezik b´ azis-megold´ asa, nevezetesen b´ armely minim´ alis szint˝ u z elem b´ azis-megold´ as. (B) L´etezik er˝ os b´ azis-megold´ as is, nevezetesen egy maxim´ alisan sok 0 komponenst tartalmaz´ o x∗ b´ azis-megold´ as er˝ os. Biz. (A) Bel´ atjuk, hogy σ(z) = 0, azaz z b´ azis-megold´ as. Ha indirekt r(Q) > r(Q= ´gy a Fredholm z ), u < t´etel szerint l´etezik q vektor, amelyre Q= q = 0 ´ e s Q q = 6 0. A q esetleges neg´ al´ as´ aval el´erhetj¨ uk, hogy a z z ′ Q< q vektornak van szigor´ u an pozit´ ıv komponense. Ekkor van olyan λ > 0 ´ e rt´ e k, amelyre z = z + λq ∈ R z ara. Q= es i qq 6= 0 miatt i q line´ arisan f¨ uggetlen Q= ol. ´Igy ´es i qz ′ = b(i) a Q< z sorait´ z valamely i q sor´ z q = 0 ´ = ′ = = Qz z = bz miatt r(Qz ′ ) > r(Qz ), ellentmond´ asban z v´ alaszt´ as´ aval. (B) Tegy¨ uk fel indirekt, hogy az x∗ nemnulla komponenseinek megfelel˝ o Q-beli oszlopok line´ arisan ¨ osszef¨ ugg˝ oek. Ez azt jelenti, hogy l´etezik egy olyan q 6= 0 vektor, amelyre Qq = 0 (vagyis q eltol´ asi vektor) ´es x∗ (i) = 0 eset´en q(i) = 0. Ekkor alkalmas λ-ra x∗λ := x∗ + λq-nak t¨ obb nulla komponense lesz, mint x∗ -nak, tov´ abb´ a x∗λ ∗ is b´ azis-megold´ as, ellentmondva x v´ alaszt´ as´ anak. • ´ TETEL 3.3.11 A Qx ≤ b egyenl˝ otlens´eg-rendszer egy z megold´ asa akkor ´es csak akkor er˝ os b´ azis-megold´ as, ha l´etezik Q-nek egy olyan r(Q) sorb´ ol ´es r(Q) oszlopb´ ol ´ all´ o nem-szingul´ aris Q′ r´eszm´ atrixa, amelyre z a Q′ x′ = b′ egy´ertelm˝ u x′ megold´ as´ ab´ ol ´ all el˝ o 0-komponensek hozz´ av´etel´evel (ahol b′ a b azon r´esz´et jel¨ oli, amely ′ a Q sorainak felel meg.) ′ Biz. Ha z a megadott m´ odon ´ all el˝ o, u ´gy Q= ıgy rangja r(Q). Tov´ abb´ a a z nemnulla komz tartalmazza Q -t, ´ ponenseinek megfelel˝ o Q-beli oszlopvektorok line´ arisan f¨ uggetlenek, hiszen ezek mindegyike Q′ egy oszlop´ anak kib˝ ov´ıt´ese, m´ arpedig Q′ a feltev´es szerint nem-szingul´ aris, ´ıgy oszlopvektorai line´ arisan f¨ uggetlenek. Vagyis ilyenkor z val´ oban er˝ os b´ azis-megold´ as.
53
Megford´ıtva, legyen z er˝ os b´ azis-megold´ as. Ekkor r(Q= alasszuk ki Q= z ) = r(Q). V´ z -nek r(Q) darab line´ arisan f¨ uggetlen sor´ at, majd a z nem-nulla komponenseinek megfelel˝ o line´ arisan f¨ uggetlen oszlopokat tetsz´es szerint eg´esz´ıts¨ uk ki a Q oszlopai k¨ oz¨ ul r(Q) darab line´ arisan f¨ uggetlen oszlopp´ a. Az ´ıgy kapott r(Q) sor ´es r(Q) oszlop ´ altal meghat´ arozott Q′ r´eszm´ atrix az 2.2.5 lemma miatt nem-szingul´ aris, ´es ´eppen z-t defini´ alja a k´ıv´ ant m´ odon. • K¨ ovetkezm´ eny 3.3.12 Tetsz˝ oleges egyenl˝ otlens´eg-rendszernek legfeljebb csak v´eges sok er˝ os b´ azis-megold´ asa van. • Jegyezz¨ uk meg, hogy egy egyenletrendszernek minden megold´ asa b´ azis-megold´ as, vagyis b´ azis-megold´ asb´ ol k´enyelmesen lehet v´egtelen sok. Gyakorlatok 3.12 Igazoljuk, hogy a 3.3.7 t´etel (i) r´esz´eben z szintje r(M ) − r(Mz= ). 3.13 Igazoljuk, hogy a P x0 + Ax1 = b, x1 ≥ 0 rendszer egy megold´ asa akkor ´es csak akkor b´ azis-megold´ as, ha az x1 nem-nulla elemeihez tartoz´ o P -beli oszlopokat az A-b´ ol kiv´ alasztott maxim´ alisan sok line´ arisan f¨ uggetlen oszloppal kieg´esz´ıtve m´eg mindig line´ arisan f¨ uggetlen rendszert kapunk. 3.14 Igazoljuk, hogy a {Bx ≤ b, x ≥ 0} rendszer egy z megold´ asa akkor ´es csak akkor b´ azis-megold´ as, ha a B valamely B ′ nemszingul´ aris n´egyzetes r´eszm´ atrix´ ara z a B ′ x′ = b′ egy´ertelm˝ u megold´ as´ ab´ ol ´ all el˝ o null´ ak hozz´ av´etel´evel. 3.15 Legyen f ≪ g, (azaz f minden komponens´eben kisebb, mint g), ahol f, g ∈ Rn . Igazoljuk, hogy az Ax = b, f ≤ x ≤ g rendszer egy z megold´ asa pontosan akkor b´ azis-megold´ as, ha az A azon ai oszlopai line´ arisan f¨ uggetlenek, melyekre f (i) < z(i) < g(i). Mik az er˝ os b´ azis-megold´ asok? Mik a b´ azis- ´es az er˝ os b´ azis-megold´ asok, ha f ≪ g helyett csak a gyeng´ebb f ≤ g egyenl˝ otlens´eget tessz¨ uk fel? Feladatok 3.16 Az R poli´eder egy z pontj´ at tartalmaz´ o legb˝ ovebb, R-ben fekv˝ o affin alt´er az A karakterisztikus alt´er z-vel val´ o eltoltja. 3.17 Egy R := {x : Qx ≤ b} ⊆ Rn poli´eder bels˝ o dimenzi´ oja n − r(Q). • 3.18 Mutassunk olyan Qx ≤ b alak´ u egyenl˝ otlens´eg-rendszert, ahol egy er˝ os b´ azis-megold´ as el˝ o´ all m´ as er˝ os b´ azis-megold´ asok konvex kombin´ aci´ ojak´ent. Bizony´ıtsuk be, hogy ha Q oszlopai line´ arisan f¨ uggetlenek, akkor ilyen p´elda nem l´etezik.
3.3.2
Cs´ ucsos poli´ ederek
N´ezz¨ uk meg, hogy mi a kapcsolat cs´ ucs ´es extr´em pont k¨ oz¨ ott, ´es hogy ezek defin´ıci´ oja mik´ent t¨ ukr¨ oz˝ odik a poli´eder m´ atrixszal t¨ ort´en˝ o megad´ as´ aban. ´ TETEL 3.3.13 Az R = {x : Qx ≤ b} poli´eder egy z elem´ere a k¨ ovetkez˝ ok ekvivalensek: (1) Q oszlopai line´ arisan f¨ uggetlenek ´es z b´ azis-megold´ as (azaz Q= arisan f¨ uggetlenek, vagyis z oszlopai line´ Q-nak van n line´ arisan f¨ uggetlen z-akt´ıv sora). (2) z cs´ ucs. (3) z extr´em pont. Biz. (1)⇒(2) Legyen c a Q= osszege, azaz c = y1 Q, ahol y1 azt a (0, 1)-es vektort jel¨ oli, amelyben z sorainak az ¨ a Q= o komponensek ´ert´eke 1, a t¨ obbi´e 0. Tetsz˝ oleges x ∈ R eset´en cx = (y1 Q)x = y1 (Qx) ≤ z sorainak megfelel˝ = y1 b = y1 (Qz) = (y1 Q)z = cz. Ha itt valamely x ∈ R elemre egyenl˝ os´eg szerepel, akkor Q= z x = bz , ennek = pedig z az egy´ertelm˝ u megold´ asa, hiszen a feltev´es szerint Qz oszlopai line´ arisan f¨ uggetlenek. (Itt a b= z vektor a b vektor azon komponenseib˝ ol ´ all, melyek a Q m´ atrix z-akt´ıv sorainak felelnek meg.) (2)⇒(3) Ha z cs´ ucs, akkor l´etezik egy olyan c vektor, amelyre cz > cx minden x ∈ R − z elemre. Ha z, indirekt, nem extr´em, akkor l´etezik x, y ∈ R − z, melyekre z = (x + y)/2. De ekkor cx < cz ´es cy < cz ´es ´ıgy cz = (cx + cy)/2 < (cz + cz)/2 = cz, ellentmond´ as. (3)⇒(1) Tegy¨ uk fel, hogy z extr´em. Amennyiben Q= arisan ¨ osszef¨ ugg˝ oek, u ´gy z oszlopai, indirekt, line´ l´etezik egy q nemnulla vektor, amelyre Q= ıv ε-ra z + εq is ´es z − εq is benne van z q = 0. De ekkor kicsiny pozit´ R-ben (merthogy kiel´eg´ıtik {Qx ≤ b}-t), ellentmond´ asban a feltev´essel, hogy z extr´em. • K¨ ovetkezm´ eny 3.3.14 Egy poli´edernek legfeljebb v´eges sok cs´ ucsa van.
54
Biz. A 3.3.13 t´etelben az (1) tulajdons´ ag miatt minden z cs´ ucshoz l´etezik Q-nak n line´ arisan f¨ uggetlen z-akt´ıv sora, mely sorhalmaz k¨ ul¨ onb¨ oz˝ o cs´ ucsra k¨ ul¨ onb¨ oz˝ o. ´Igy R-nek legfeljebb m!/(n!(m − n)!) cs´ ucsa lehet. • A k¨ ovetkez˝ o eredm´eny jellemzi a cs´ ucsos poli´edereket. ´ TETEL 3.3.15 Egy R = {x : Qx ≤ b} nem¨ ures poli´ederre a k¨ ovetkez˝ ok ekvivalensek: (1) Q oszlopai line´ arisan f¨ uggetlenek. (2) R egyenes-mentes. (3) Az R eltol´ asi altere trivi´ alis. (4) R cs´ ucsos. Biz. Az els˝ o h´ arom felt´etel ekvivalenci´ aja k¨ ozvetlen¨ ul ad´ odik a 3.3.1 t´etelb˝ ol. (4)⇒(1) Ha z cs´ ucs, akkor a 3.3.13 t´etel nyom´ an Q= arisan f¨ uggetlenek, ´ıgy persze Q oszlopai z oszlopai line´ is azok. (1)⇒(4) A 3.3.10 t´etel miatt van b´ azis-megold´ as, ´es a 3.3.13 t´etel miatt b´ armely z b´ azis-megold´ as cs´ ucs. •
´ TETEL 3.3.16 Minden R = {x : Qx ≤ b} nem¨ ures poli´eder el˝ o´ all, mint egy A alt´er ´es egy R′ cs´ ucsos poli´eder ¨ osszege. Nevezetesen, A az R eltol´ asi altere (azaz Q nulltere), m´ıg R′ = R ∩ A⊥ , ahol A⊥ az A alt´er ortogon´ alis kieg´esz´ıt˝ oje (vagyis Q sortere). Biz. El˝ osz¨ or bel´ atjuk, hogy R ⊆ A + R′ , azaz b´ armely z ∈ R elem el˝ o´ all egy A-beli ´es egy R′ -beli elem ¨ osszegek´ent. Val´ oban, minden z elem egy´ertelm˝ uen el˝ o´ all egy A-beli z1 ´es egy A⊥ -beli z2 elem ¨ osszegek´ent. ′ Bel´ atjuk, hogy z2 ∈ R . Ha nem ez volna a helyzet, akkor z ∈ A⊥ miatt z2 nem volna R-ben, azaz z2 megs´erten´e Qx ≤ b valamelyik sor´ at. De akkor Qz1 = 0 miatt z = z1 + z2 is megs´erten´e ugyanazt a sort, ellent´etben a z ∈ R feltev´essel. ´Igy val´ oban R ⊆ A + R′ . M´ asr´eszt a defin´ıci´ okb´ ol vil´ agos, hogy A + R′ ⊆ A + R ⊆ R, ′ amib˝ ol A + R = R. V´eg¨ ul bel´ atjuk, hogy R′ egyenes-mentes. Az A alt´er egy b´ azis´ ab´ ol, mint sorvektorokb´ ol k´esz´ıts¨ uk el a Q∗ Q m´ atrixot. Ekkor teh´ at Q sorai ´es Q∗ sorai egym´ asra mer˝ olegesek, egy¨ utt kifesz´ıtik az eg´esz teret, azaz Q∗ teljes oszlop-rang´ u. Miut´ an R′ a {Q∗ x = 0, Qx ≤ b} rendszer megold´ as-halmaza, a 3.3.15 t´etelb˝ ol ad´ odik, hogy R′ egyenes-mentes. • Feladat 3.19 Egy R := {x : M x ≤ 0} metszetk´ up az A := {x : M x = 0} eltol´ asi alt´er (ami speci´ alis metszetk´ up) ´es az R′ := R ∩ A⊥ cs´ ucsos metszetk´ up vektor-¨ osszege. •
3.3.3
Korl´ atos poli´ ederek
Miut´ an megtudtuk, hogy egy poli´eder mikor nem tartalmaz egyenest, n´ezz¨ uk meg, hogy mikor nem tartalmaz f´elegyenest. Azt mondtuk, hogy a ~ q ir´ any a poli´eder ir´ anya, ha R minden z elem´ere a {z + λq : λ ≥ 0} f´elegyenes R-ben van. ´ TETEL 3.3.17 Valamely nemnulla q vektorra a k¨ ovetkez˝ ok ekvivalensek: (1) Qq ≤ 0. (2) ~ q a poli´eder ir´ anya. (3) R-nek van olyan z pontja, amelyre a {z + λq : λ ≥ 0} f´elegyenes R-ben van. Biz. (2)→(3) semmitmond´ o. A (3)→(1) ´es (1)→(2) ir´ anyok k¨ ozvetlen¨ ul l´ atszanak. • K¨ ovetkezm´ eny 3.3.18 Az R := {x ∈ Rn : Qx ≤ b} poli´eder ir´ anyk´ upja a Q m´ atrix MQ = {x : Qx ≤ 0} metszetk´ upja. • Gyakorlat 3.20 Igazoljuk, hogy egy {x : P x = b0 , Qx ≤ b1 } alakban adott nem¨ ures poli´eder ir´ anyk´ upja {x : P x = 0, Qx ≤ 0}. Feladat 3.21 Egy poli´edernek ´es ir´ anyk´ upj´ anak extr´em ir´ anyai ugyanazok. • ´ TETEL 3.3.19 Egy R = {x : Qx ≤ b} nem¨ ures poli´ederre a k¨ ovetkez˝ ok ekvivalensek: (1) R nem tartalmaz f´elegyenest. (2) R-nek v´eges sok cs´ ucsa van, melyek konvex burka R. (3) R korl´ atos. (4) R ir´ anyk´ upja trivi´ alis.
55
Biz. (1)⇒(2) Mivel R nem tartalmaz f´elegyenest, ´ıgy egyenest m´eg kev´esb´e, ´es ez´ert a 3.3.15 t´etel miatt van cs´ ucsa. A 3.3.14 k¨ ovetkezm´eny miatt v´eges sok cs´ ucsa van. Jel¨ olje RK a cs´ ucsok konvex burk´ at. Bel´ atjuk, hogy R = RK . Ha bizonyos vektorok kiel´eg´ıtenek egy egyenl˝ otlens´eg-rendszert, akkor b´ armely konvex kombin´ aci´ ojuk is kiel´eg´ıti, ez´ert RK ⊆ R. A ford´ıtott ir´ any´ u tartalmaz´ as igazol´ as´ ahoz indirekt tegy¨ uk fel, hogy a poli´edernek van olyan z pontja, amely nem ´ all el˝ o cs´ ucsok konvex kombin´ aci´ ojak´ent. V´ alasszuk z-t olyannak, hogy Q= ıv r´eszm´ atrix z , a z-akt´ maxim´ alis legyen. Mivel z nem cs´ ucs, ´ıgy Q= arisan ¨ osszef¨ uggenek. Ez´ert l´etezik egy nemnulla z oszlopai line´ q vektor, amelyre Q= ıv λ-ra z + λq ∈ R ´es mivel R nem tartalmaz f´elegyenest, nagy λ z q = 0. Kicsiny pozit´ ´ ´ert´ekre z + λq 6∈ R. Ez azt jelenti, hogy Q< at´ ol kezdve z -nek van olyan i q sora, amelyre i qq > 0. Igy ha λ-t null´ folyamatosan n¨ ovelj¨ uk, lesz egy olyan λ1 ´ert´ek, amelyre z1 := z + λ1 q benne van R-ben ´es akt´ıv r´eszm´ atrixa szigor´ uan b˝ ovebb Q= el. (Nevezetesen λ1 := min{b1 (i) − i qz)/(i qq)}, ahol a minimum a Q= z -n´ z azon i q soraira megy, amelyekre i qq > 0.) Anal´ og m´ odon l´etezik egy z2 := z − λ2 q vektor R-ben (λ2 > 0), amelynek akt´ıv r´eszm´ atrixa szigor´ uan b˝ ovebb Q= el. A z-re tett feltev´es miatt mind z1 , mind z2 benne van RK -ban, ´es ez´ert z -n´ a z1 z2 szakasz belsej´eben fekv˝ o z is, ellentmond´ as. (2)⇒(3) Trivi´ alis. (3)⇒(4) Ha indirekt l´etezne az ir´ anyk´ upnak q nemnulla eleme, akkor b´ armely z ∈ R elemre a {z+λq : λ ≥ 0} f´elegyenes R-ben volna, ´es ´ıgy R nem lenne korl´ atos. (4)⇒(1) Ha indirekt valamely q nemnulla vektorra a {z + λq : λ ≥ 0} f´elegyenes R-ben volna, akkor sz¨ uks´egk´eppen Qq ≤ 0, azaz q benne volna az ir´ anyk´ upban. • A (2) tulajdons´ ag bizony´ıt´ asa m¨ og¨ ott rejl˝ o geometriai szeml´elet a k¨ ovetkez˝ o: nincs mit bizony´ıtani, ha z maga cs´ ucs. Ha nem az, u ´gy tekints¨ uk a z pont Rz oldal´ at, amin az R legsz˝ ukebb olyan oldal´ at ´ertj¨ uk, amely tartalmazza z-t. (Ez annak felel meg, hogy a z-akt´ıv egyenl˝ otlens´egeket egyenl˝ os´egnek vessz¨ uk.) Keres¨ unk egy ir´ anyt, amely ment´en z-ben elmozdulva Rz -ben maradunk, ´es megn´ezz¨ uk, hogy az ilyen ir´ any´ u z-n ´ atmen˝ o egyenes mely x1 ´es x2 pontokn´ al l´ep ki a poli´ederb˝ ol. Mivel az x1 oldala ´es x2 oldala is sz˝ ukebb z oldal´ an´ al, ´ıgy indukci´ oval ˝ ok m´ ar el˝ o´ allnak cs´ ucsok konvex kombin´ aci´ ojak´ent, de akkor az [x1 , x2 ] szakasz pontjai is el˝ o´ allnak, speci´ alisan z is. 2013. augusztus 1.,
ulin12 2013. augusztus 1.
56
3.4
A Fourier-Motzkin elimin´ aci´ o´ es k¨ ovetkezm´ enyei
A Gauss elimin´ aci´ o egyr´eszt hat´ekony algoritmust szolg´ altatott line´ aris egyenletrendszerek megold´ as´ ara, m´ asr´eszt fontos bizony´ıt´ asi eszk¨ oznek bizonyult (p´eld´ aul a Fredholm f´ele alternat´ıva t´eteln´el.) A Gauss-elimin´ aci´ o mint´ aj´ ara egy k´ezenfekv˝ o elj´ ar´ ast adunk line´ aris egyenl˝ otlens´eg-rendszerek megold´ as´ ara. A m´ odszer eredetileg Fouriert´ ol sz´ armazik, amelyet k´es˝ obb Motzkin elemzett, ´ıgy az irodalomban FourierMotzkin (r¨ oviden FM) elimin´ aci´ ok´ent hivatkozz´ ak. A Gauss elimin´ aci´ ohoz hasonl´ oan az FM elj´ ar´ as is v´eges algoritmust szolg´ altat, de ez, szemben a Gauss elimin´ aci´ oval, sz´ orv´ anyos kiv´etelekt˝ ol eltekintve nem hat´ekony a gyakorlatban. Val´ oj´ aban a Gauss elimin´ aci´ o polinomi´ alis fut´ asidej˝ u algoritmus, m´ıg az FM elimin´ aci´ o exponenci´ alis. Ugyanakkor az FM elj´ ar´ as is hat´ekony bizony´ıt´ asi eszk¨ oznek bizonyul, melynek seg´ıts´eg´evel n´eh´ any alaperedm´eny k¨ onnyen kiad´ odik.
3.4.1
Oszlop elimin´ aci´ o
Legyen A olyan m·n-es m´ atrix (m ≥ 1, n ≥ 2), amelynek els˝ o, a1 -gyel jel¨ olt oszlopa 0, ±1 ´ert´ek˝ u. Jel¨ olje rendre I, J, K a sorok azon indexhalmazait, melyekre az a1 (i) ´ert´eke +1, −1 illetve 0. K´esz´ıts¨ uk el az A[1] m´ atrixot a k¨ ovetkez˝ ok´eppen. A K-nak megfelel˝ o sorok v´ altozatlanul ker¨ uljenek be A[1] -be. Ezen k´ıv¨ ul minden i ∈ I, j ∈ J v´ alaszt´ asra legyen i a + j a az A[1] egy sora, melyet jel¨ olj¨ unk [ij] a-val. Ez azt jelenti, hogy ha I vagy J [1] ´ u ¨res, akkor A egyszer˝ uen az A m´ atrix K-nak megfelel˝ o r´eszm´ atrixa. Altal´ aban A[1] -nek m−(|I|+|J|)+|I||J| sora van. Figyelj¨ uk meg, hogy A[1] els˝ o oszlopa csupa null´ ab´ ol ´ all. Hasonl´ ok´epp, tegy¨ uk fel, hogy a Q m´ atrix els˝ o oszlopa 0, ±1 ´ert´ek˝ u, ´es rendelj¨ uk a Qx′ ≤ b (3.4) egyenl˝ otlens´eg-rendszerhez a rendszert, ahol b
[1]
Q[1] x′ ≤ b[1]
az A := (Q, b) m´ atrixhoz tartoz´ oA
[1]
(3.5)
m´ atrix utols´ o oszlopa.
´ TETEL 3.4.1 (A) Az Ax ≤ 0
(3.6)
A[1] x ≤ 0
(3.7)
egyenl˝ otlens´eg-rendszernek b´ armely megold´ asa az
rendszernek is megold´ asa, ´es a (3.7) b´ armely megold´ as´ anak els˝ o komponens´et alkalmasan megv´ altoztatva a (3.6) egy megold´ as´ at kapjuk. (B) A (3.4) b´ armely megold´ asa a (3.5) rendszernek is megold´ asa, ´es a (3.5) b´ armely megold´ as´ anak els˝ o komponens´et alkalmasan megv´ altoztatva a (3.4) egy megold´ as´ at kapjuk. Biz. (A) Az els˝ o r´esz k¨ ozvetlen¨ ul ad´ odik az A[1] konstrukci´ oj´ ab´ ol, hiszen az A[1] minden sora az A sorainak nemnegat´ıv line´ aris kombin´ aci´ oja. A m´ asodik r´eszhez, legyen z megold´ asa (3.7)-nek. Mivel A[1] els˝ o oszlopa 0, feltehet˝ o, hogy z(1) = 0. A z(1) ´ert´ek´et fogjuk alkalmasan megv´ altoztatni, hogy (3.6) egy megold´ as´ at nyerj¨ uk. Amennyiben J u ¨res, vagyis A els˝ o oszlop´ aban nincsen negat´ıv elem, u ´gy z els˝ o komponens´et kell˝ oen kicsiny α ´ert´ekre v´ altoztatva (3.6) egy megold´ as´ at kapjuk. (Nevezetesen, α := mini∈I {− i az} megteszi.) Anal´ og m´ odon, ha I u ¨res, u ´gy z(1)-t kell˝ oen nagyra v´ altoztatva kapunk (3.6)-nek egy megold´ as´ at. Tegy¨ uk most fel, ´ ıtjuk, hogy hogy sem I, sem J nem u ¨res. All´ max{ j az} ≤ min{− i az}. j∈J
i∈I
(3.8)
Val´ oban, ha volna olyan i ∈ I, j ∈ J index-p´ ar, amelyre j az > − i az, u ´gy [ij] az = i az + j az > 0 volna, ellentmond´ asban a feltev´essel, hogy z megold´ asa (3.7)-nek. M´ armost, ha α tetsz˝ oleges olyan sz´ am, amelyre max{ j az} ≤ α ≤ min{− i az}, j∈J
i∈I
(3.9)
u ´gy z els˝ o komponens´et α-ra v´ altoztatva a kapott zα -r´ ol ´ all´ıtjuk, hogy megold´ asa (3.6)-nek. Val´ oban, ha h ∈ K, akkor h a els˝ o komponense 0, ´ıgy a h azα = h az ≤ 0. Ha h ∈ I, azaz h a(1) = 1, akkor (3.8) m´ asodik egyenl˝ otlens´ege folyt´ an h azα = h az + α ≤ 0. V´eg¨ ul a h ∈ J esetben h a(1) = −1, ´es ekkor (3.8) els˝ o egyenl˝ otlens´ege folyt´ an h azα = h az − α ≤ 0. (B) Egy x′ vektor pontosan akkor megold´ asa (3.4)-nek, ha az x := (x′ , −1) megold´ asa Ax ≤ 0-nak. ′ Tov´ abb´ a x pontosan akkor megold´ asa (3.5)-nek, ha az x megold´ asa A[1] x ≤ 0-nak. Alkalmazhatjuk a t´etel (A) r´esz´et. • ´ TETEL 3.4.2 Metszetk´ up tengelymenti (k¨ uls˝ o vagy bels˝ o) vet¨ ulete metszetk´ up. Poli´eder tengelymenti vet¨ ulete poli´eder.
57
Biz. A 3.4.1 t´etel szerint az {x : Ax ≤ 0} metszetk´ up x1 tengelymenti bels˝ o vet¨ ulete az {x : A[1] x ≤ 0, x(1) = 0} metszetk´ up. Miut´ an A[1] els˝ o oszlopa 0-vektor, a k¨ uls˝ o vet¨ ulet nem m´ as, mint az {x′ : A′[1] x′ ≤ 0} metszetk´ up, ahol A′[1] jel¨ oli az A[1] -b˝ ol az els˝ o (azonosan nulla) oszlop elhagy´ as´ aval keletkez˝ o m´ atrixot. Az ′ ′ [1] R = {x : Qx ≤ b } poli´eder x1 menti bels˝ o vet¨ ulete a 3.4.1 t´etel alapj´ an az {x′ : Q[1] x′ ≤ b[1] } poli´eder, m´ıg a k¨ uls˝ o vet¨ ulete az {x′ : Q′[1] x′ ≤ b[1] } poli´eder, ahol Q′[1] az a m´ atrix, amely Q′[1] els˝ o (azonosan nulla) oszlop´ anak elhagy´ as´ aval keletkezik. • Feladat 3.22 Igazoljuk, hogy poli´eder line´ aris k´epe poli´eder.
3.4.2
Poli´ eder = polit´ op + gener´ alt k´ up
Polit´ op el˝ o´ all poli´ ederk´ ent A 2.3.3 k¨ ovetkezm´eny szerint minden gener´ alt alt´er nullt´er ´es minden nullt´er gener´ alt alt´er, ami azzal ekvivalens, hogy egy Ax = 0 homog´en egyenletrendszer megold´ as-halmaza el˝ o´ all v´eges sok vektor line´ aris burkak´ent, ´es megford´ıtva, v´eges sok vektor line´ aris kombin´ aci´ oinak halmaza el˝ o´ all egy homog´en line´ aris egyenletrendszer megold´ as-halmazak´ent. Ennek ´ altal´ anos´ıt´ asak´ent igazolni fogjuk, hogy minden metszet-k´ up gener´ alt k´ up ´es minden gener´ alt k´ up metszet-k´ up. A 2.3.4 t´etel szerint ha az Ax = b egyenletrendszernek x0 egy megold´ asa, akkor a megold´ asok halmaza affin (=eltolt) alt´er, nevezetesen az A nullter´enek x0 -lal val´ o eltoltja. Ennek ´ altal´ anos´ıt´ asak´ent igazolni fogjuk, hogy Rn -ben egy halmaz pontosan akkor poli´eder, ha egy polit´ op ´es egy gener´ alt k´ up ¨ osszege. Az egyik ir´ annyal kezdj¨ uk. ´ TETEL 3.4.3 Egy polit´ op ´es egy gener´ alt k´ up ¨ osszege poli´eder. Speci´ alisan, minden polit´ op korl´ atos poli´eder ´es minden gener´ alt k´ up el˝ o´ all metszetk´ upk´ent. Biz. Tekints¨ uk Rm -ben az A (m · n-es) m´ atrix oszlopai ´ altal gener´ alt k´ upot ´es az A′ (m · n′ -s) m´ atrix oszlopai ′ ′ ′ ´ altal fesz´ıtett polit´ opot. Ezek ¨ osszege a C := {z : z = Ax + A x , (x, x ) ≥ 0, 1x′ = 1} halmaz, ahol 1 a csupa egyesb˝ ol ´ all´ o (n′ dimenzi´ os) vektort jel¨ oli. ′ Tekints¨ uk most Rm+n+n -ben az R := {(z, x, x′ ) : Ax + A′ x′ − Iz = 0, x ≥ 0, x′ ≥ 0, 1x′ = 1} poli´edert. Ha R-nek vessz¨ uk a k¨ uls˝ o vet¨ ulet´et az (x, x′ ) komponenseinek megfelel˝ o koordin´ at´ ak ment´en, akkor (defin´ıci´ o szerint) azon z vektorok halmaz´ at kapjuk, melyekhez van olyan (x, x′ ), hogy Ax + A′ x′ − Iz = 0, x ≥ 0, x′ ≥ 0, 1x′ = 1, azaz z = Ax + A′ x′ . Vagyis a k¨ uls˝ o vet¨ ulet ´eppen C, ´es ´ıgy a 3.4.2 k¨ ovetkezm´eny miatt C val´ oban poli´eder. •
A Farkas lemma A line´ aris programoz´ as egyik sarokk¨ ove a Farkas lemma. Ennek t¨ obb ekvivalens megfogalmaz´ asa van: a legszeml´eletesebb alakkal kezdj¨ uk. ´ TETEL 3.4.4 (Farkas lemma, geometriai alak) Ha egy C ⊆ Rk gener´ alt k´ up nem tartalmaz valamely b ∈ Rk elemet, akkor l´etezik olyan (z´ art) homog´en f´elt´er, amely mag´ aban foglalja C-t, de nem tartalmazza b-t. Ha egy P polit´ op nem tartalmazza b-t, akkor l´etezik olyan f´elt´er, amely mag´ aban foglalja P -t, de nem tartalmazza b-t. Biz. Mivel minden gener´ alt k´ up metszetk´ up, azaz v´eges sok homog´en f´elt´er metszete, ´ıgy ha b nincs a k´ upban, akkor nincs benne ezen f´elterek valamelyik´eben. A m´ asodik r´esz ugyan´ıgy k¨ ovetkezik abb´ ol, hogy minden polit´ op poli´eder, azaz v´eges sok f´elt´er metszete. • A Farkas lemma eredeti, Farkas Gyula ´ altal kimondott alakja a k¨ ovetkez˝ o. ´ TETEL 3.4.5 (Farkas lemma, standard alak) Az {Ax = b, x ≥ 0} rendszernek pontosan akkor van megold´ asa, ha az {yA ≥ 0, yb < 0} rendszernek nincs. Biz. Mindk´et rendszernek nem lehet megold´ asa, mert akkor 0 ≤ (yA)x ≤ y(Ax) = yb < 0 volna. A ford´ıtott ir´ anyhoz tekints¨ uk az A oszlopai ´ altal gener´ alt K k´ upot ´es tegy¨ uk fel, hogy az {Ax = b, x ≥ 0} rendszernek nincsen megold´ asa. Ez ´eppen azt jelenti, hogy b nincs benne K-ban A 3.4.4 t´etel szerint van olyan F homog´en f´elt´er, amely K-t mag´ aban foglalja, de b-t nem. Az F norm´ alis´ at y-nal jel¨ olve ez avval ekvivalens, hogy az A mindegyik ai oszlop´ ara yai ≥ 0 ´es yb < 0. • Az {Ax = b, x ≥ 0} rendszert prim´ al feladatnak, m´ıg az {yA ≥ 0, yb < 0} rendszert du´ al vagy du´ alis feladatnak nevezik. Megjegyzend˝ o, hogy ha a sz´ obanforg´ o y l´etezik, akkor az u ´gy is megv´ alaszthat´ o, hogy yb = −1 teljes¨ ulj¨ on, ´ıgy n´eha azt h´ıvjuk du´ alis feladatnak, amikor az yb < 0 helyett yb = −1-et k¨ ovetel¨ unk. N´eha a du´ alist az {yA ≤ 0, yb > 0} ekvivalens alakban adj´ ak meg: ennek ´es az eredeti du´ alisnak a megold´ asai egym´ as minusz egyszeresei.
58
´ Erdekes, hogy a 3.4.5 t´etelnek nemcsak az oszlopt´erben, hanem a sort´erben is szeml´eletes jelent´es adhat´ o. Ugyanis a prim´ al probl´ema megold´ asa azzal ekvivalens, hogy l´etezik olyan nemnegat´ıv (x, 1) vektor, amely ortogon´ alis az A′ := (A, −b) m´ atrix soraira, ami viszont azzal ekvivalens, hogy az A′ m´ atrix nullter´eben ′ l´etezik egy olyan x nemnegat´ıv vektor, amelynek utols´ o komponense szigor´ uan pozit´ıv. A du´ al probl´em´ aban yb < 0 helyett y(−b) > 0-t ´ırva, a du´ al probl´ema megoldhat´ os´ aga azt jelenti, hogy van olyan y vektor, amelyre yA′ ≥ 0 ´es yA′ utols´ o komponense szigor´ uan pozit´ıv; magyar´ an azt, hogy az A′ m´ atrix sorter´eben van olyan nemnegat´ıv vektor, amelynek utols´ o komponense szigor´ uan pozit´ıv. Miut´ an egy tetsz˝ oleges m´ atrix nulltere ´es sortere egym´ as ortogon´ alis kieg´esz´ıt˝ o alterei, tov´ abb´ a tetsz˝ oleges alt´er ´es ortogon´ alis kieg´esz´ıt˝ o altere megadhat´ o egy m´ atrix nullterek´ent illetve sorterek´ent, a Farkas lemma ekvivalens megfogalmaz´ asa a k¨ ovetkez˝ o. ´ TETEL 3.4.6 (Farkas lemma: 2. geometriai alak) Tetsz˝ oleges alt´er ´es ortogon´ alis kieg´esz´ıt˝ o altere k¨ oz¨ ul pontosan az egyik tartalmaz olyan nemnegat´ıv vektort, amelynek utols´ o komponense pozit´ıv. • Figyelj¨ uk meg, hogy k´et ilyen vektor skal´ aris szorzata biztosan pozit´ıv, azaz nem lehetnek mer˝ olegesek egym´ asra, teh´ at k´et ortogon´ alis alt´er k¨ oz¨ ul legfeljebb csak az egyik tartalmazhat ilyen vektort.
Korl´ atos poli´ eder el˝ o´ all polit´ opk´ ent A 3.4.3 t´etel szerint egy polit´ op ´es egy gener´ alt k´ up ¨ osszege poli´eder. Megmutatjuk, hogy ´erv´enyes a megford´ıt´ as is, azaz minden poli´eder el˝ o´ all, mint egy polit´ op ´es egy gener´ alt k´ up ¨ osszege. A bizony´ıt´ as ´erdekess´ege, hogy megford´ıt´ as igazol´ as´ ahoz mag´ at a 3.4.3 t´etelt haszn´ aljuk fel. Tekints¨ uk el˝ osz¨ or a speci´ alis esetet, amikor egy metszetk´ upot akarunk el˝ o´ all´ıtani gener´ alt k´ upk´ent. Jel¨ olje GA := {yA : y ≥ 0} az A m´ atrix sorai ´ altal gener´ alt k´ upot, m´ıg MA := {x : Ax ≤ 0} az A sorai ´ altal defini´ alt metszetk´ upot. Lemma 3.4.7 (A) Ha GA ⊇ MB , akkor MA ⊆ GB . (B) Ha GA ⊆ MB , akkor MA ⊇ GB . (C) GA = MB akkor ´es csak akkor ha MA = GB . Biz. (A) Tegy¨ uk fel, hogy GA ⊇ MB ´es l´ assuk be, hogy MA ⊆ PGB . Ehhez legyen z ∈ MA , vagyis i az ≤ 0 fenn´ all az A minden sor´ ara. Emiatt az A sorainak b´ armely q = λi i a (λi ≥ 0) nemnegat´ıv kombin´ aci´ oj´ ara qz ≤ 0, azaz GA minden q elem´ere qz ≤ 0. (3.10) M´ asr´eszt, ha indirekt z nincs a GB gener´ alt k´ upban, akkor a Farkas lemma (3.4.4 t´etel) szerint van olyan homog´en f´elt´er, amely tartalmazza GB -t, de z-t nem. Vagyis l´etezik olyan q vektor (a f´elt´er hat´ arol´ o hipers´ıkj´ anak norm´ alisa), amelyre egyr´eszt Bq ≤ 0, azaz q ∈ MB ⊆ GA , m´ asr´eszt qz > 0, ellentmondva (3.10)-nek. Teh´ at MA ⊆ GB . (B) Tegy¨ uk most fel, hogy GA ⊆ MB . Ekkor GA minden sorvektora MB -ben van, azaz i a j b ≤ 0 fenn´ all az A minden i a ´es a B minden j b sor´ ara. Emiatt minden y ∈ GB elemre is ´erv´enyes i ay ≤ 0 vagyis y ∈ MA . Teh´ at GB ⊆ MA . A (C) ´ all´ıt´ as igazol´ as´ ahoz figyelj¨ uk meg, hogy az (A) ´es (B) r´eszek ¨ osszetev´es´eb˝ ol kapjuk, hogy ha GA = MB , akkor MA = GB . Az A ´es a B szerep´enek felcser´el´es´eb˝ ol pedig ad´ odik, hogy GB = MA , akkor MB = GA . • ´ TETEL 3.4.8 Minden metszetk´ up el˝ o´ all gener´ alt k´ upk´ent. Biz. Az A m´ atrix sorai ´ altal defini´ alt MA metszetk´ upr´ ol fogjuk kimutatni, hogy gener´ alt k´ up. A 3.4.3 t´etel szerint a GA gener´ alt k´ up el˝ o´ all metszetk´ upk´ent, azaz l´etezik egy olyan B m´ atrix, amelyre GA = MB . A 3.4.7 lemma nyom´ an MA = GB , vagyis MA a B sorai ´ altal gener´ alt k´ up. • A metszetk´ upok el˝ obbi el˝ o´ all´ıt´ as´ ara t´ amaszkodva megadjuk a poli´ederek el˝ o´ all´ıt´ as´ at, amely teh´ at a 3.4.3 t´etel megford´ıt´ as´ anak tekinthet˝ o. ´ TETEL 3.4.9 Minden nem¨ ures poli´eder el˝ o´ all mint egy polit´ op ´es egy gener´ alt k´ up ¨ osszege. Speci´ alisan, minden korl´ atos poli´eder polit´ op. Biz. Legyen R = {x : Qx ≤ b} nem¨ ures poli´eder. A bizony´ıt´ as ¨ otlete az, hogy R-t be´ agyazzuk egy eggyel magasabb dimenzi´ os t´er {(x, λ) : x ∈ Rn , λ = 1} hipers´ıkj´ aba, ahol R az orig´ oval egy k´ upot fesz´ıt, majd ezen k´ upra alkalmazzuk a 3.4.8 t´etelt. Tekints¨ uk teh´ at az eggyel magasabb (azaz n + 1) dimenzi´ os t´erben az M := {(x, λ) : Qx − λb ≤ 0, λ ≥ 0} metszetk´ upot. Ez a 3.4.8 t´etel szerint el˝ o´ all gener´ alt k´ upk´ent. Feltehet˝ o, hogy a gener´ al´ o elemek utols´ o (λ-nak megfelel˝ o) koordin´ at´ ainak mindegyike 1 vagy 0. Legyenek a gener´ al´ o elemek eszerint sz´etv´ alasztva: (x1 , 1), . . . , (xk , 1), (x′1 , 0), . . . , (x′ℓ , 0). Tekints¨ uk Rn -ben az xi -k konvex burkak´ent defini´ alt P polit´ opot ′ valamint az xj vektorok ´ altal gener´ alt C k´ upot.
59
P
P
Azt ´ all´ıtjuk, hogy R = P + C. Val´ oban, legyen el˝ osz¨ or z ∈ R. Ekkor (z, 1) = i λi (xi , 1) + j µj (x′j , 0), P P P µ x′ benne λ x benne van P -ben ´es z2 := λ = 1 ´es ez´ert z1 := ahol λi ≥ 0, µj ≥ 0. Most teh´ at j j j i i i i i van C-ben. ´Igy z val´ oban el˝ o´ all egy P -beli z1 ´es egy C-beli z2 elem ¨ osszegek´ent, azaz R ⊆ P + C. Legyen most z1 ∈ P , z2 ∈ C. Ekkor (z, 1) = (z1 , 1) + (z2 , 0) benne van M -ben, azaz Qz − b ≤ 0, vagyis z benne van R-ben, azaz P + C ⊆ R, ´es ´ıgy R = P + C. • Feladat 3.23 Minden gener´ alt k´ up a pol´ aris´ anak pol´ arisa, azaz (K ∗ )∗ = K. ( Egy C k´ up pol´ aris´ an a C ∗ := {x : xy ≤ 0 minden y ∈ C-re} k´ upot ´ertett¨ uk.) A 3.4.9 t´etelben m´ ar l´ attuk, hogy minden korl´ atos poli´eder polit´ op, azaz v´eges sok pont konvex burka, s˝ ot a 3.3.19 t´etelben azt is bel´ attuk, hogy minden nem¨ ures korl´ atos poli´eder a cs´ ucsainak konvex burka. A bizony´ıt´ as gondolatmenet´et haszn´ alva most megadjuk a cs´ ucsos poli´ederek el˝ o´ all´ıt´ as´ at. ´ TETEL 3.4.10 Minden R 6= ∅ egyenes-mentes (azaz cs´ ucsos) poli´eder el˝ o´ all, mint a cs´ ucsai ´ altal fesz´ıtett RK polit´ op valamint a poli´eder C karakterisztikus k´ upj´ anak a vektor-¨ osszege. Speci´ alisan, minden korl´ atos poli´eder el˝ o´ all cs´ ucsainak konvex burkak´ent. Biz. Tegy¨ uk fel, hogy R = {x : Qx ≤ b} ´es legyen z a poli´eder egy pontja. Legyen Q= ıv r´eszm´ atrixa. z a z akt´ A 3.3.13 t´etel alapj´ an R cs´ ucsai ´eppen a 0 szint˝ u pontok. A szint szerinti indukci´ oval fogjuk kimutatni, hogy a poli´eder minden z pontja el˝ o´ all egy RK -beli ´es egy C-beli pont ¨ osszegek´ent. Ha a szint nulla, akkor teh´ at z cs´ ucs, ´ıgy eleme RK -nak. Tegy¨ uk most fel, hogy σ(z) > 0 ´es azt, hogy minden alacsonyabb szint˝ u pontra a sz´ obanforg´ o el˝ o´ all´ıt´ as l´etezik. Mivel r(Q) > r(Q= etezik olyan q, amelyre Q= es Q< o, hogy Q< ıv z ), l´ z q = 0 ´ z q 6= 0. Feltehet˝ z q-nak van negat´ komponense, k¨ ul¨ onben q-t helyettes´ıthetj¨ uk a negat´ıvj´ aval. ıv komponense, azaz Q< Tegy¨ uk el˝ osz¨ or fel, hogy Q< z q < 0 (vagyis q ∈ C). Ekkor z q-nak nincsen pozit´ l´etezik olyan λ1 > 0 sz´ am, amelyre x1 := z − λ1 q az R-ben van ´es σ(x1 ) < σ(z). (Nevezetesen, λ1 := min{(b1 (i) − i az)/(−i aq)}, ahol a minimum az Q azon i a soraira megy, amelyekre i aq < 0. Az x1 szintje = val´ oban kisebb, mint z szintje, hiszen egyr´eszt Q= asr´eszt Q< ara i qx1 = b(i) ´es ez a sor z x1 = bz , m´ z egyik i q sor´ = = sorait´ o l.) Indukci´ o alapj´ an x1 el˝ o´ all x1 = y1 + y1′ alakban, q = 0 miatt line´ a risan f¨ u ggetlen Q qq = 6 0 ´ e s Q i z z ′ ′ ′ ahol y1 ∈ RK ´es y1 ∈ C. De most z = x1 + λ1 q = y1 + y1 + λ1 q ´es y1 + λ1 q ∈ C, ´ıgy z is el˝ o´ all az RK -beli y1 ´es egy C-beli elem ¨ osszegek´ent. Tegy¨ uk most fel, hogy Q< etezik pozit´ıv komponense is, ´es legyen 1 q ´es 2 q a Q< atrixnak k´et olyan z q-nak l´ z m´ sora, amelyre 1 qq < 0 ´es 2 qq > 0. Ekkor l´eteznek pozit´ıv λ1 ´es λ2 sz´ amok, melyekre x1 = z − λ1 q ∈ R ´es x2 = z + λ2 q ∈ R, ´es mind az x1 , mind az x2 szintje kisebb, mint a z-´e. Indukci´ oval xi = yi + yi′ (i = 1, 2), ahol yi ∈ RK ´es yi′ ∈ C. De ekkor z = (λ2 x1 + λ1 x2 )/(λ1 + λ2 ) = (λ2 y1 + λ1 y2 )/(λ1 + λ2 ) + (λ2 y1′ + λ1 y2′ )/(λ1 + λ2 ). Itt az ¨ osszeg els˝ o tagja RK -ban van, m´ıg a m´ asodik tagja C-ben. • Megjegyz´ es Ezt a bizony´ıt´ ast val´ oj´ aban a speci´ alis korl´ atos esetben m´ ar kor´ abban, a 3.3.19 t´etel (2) pontj´ anak bizony´ıt´ asakor elmondtuk.
3.4.3
Az FM elj´ ar´ as hat´ ekonys´ aga
Algoritmikus szempontb´ ol a Fourier-Motzkin elimin´ aci´ ot a Qx ≤ b egyenl˝ otlens´eg-rendszer megold´ as´ ara a k¨ ovetkez˝ ok´epp lehet haszn´ alni. Feltehet˝ o, hogy a Q els˝ o oszlopa 0, ±1 ´ert´ek˝ u, mert egy egyenl˝ otlens´eget pozit´ıv sz´ ammal szorozva ekvivalens rendszert kapunk. Legyen Q1 az a m´ atrix, amely Q[1] -b˝ ol keletkezik az els˝ o (csupa 0) oszlop elt¨ orl´es´evel. A 3.4.1 t´eetel folyt´ an Qx ≤ b megoldhat´ os´ aga ekvivalens Q1 x1 ≤ b[1] megoldhat´ os´ ag´ aval, ´es a 3.4.1 t´etel bizony´ıt´ asa meg is mondja, hogy egy x1 -b˝ ol hogyan lehet kisz´ amolni Qx ≤ b egy megold´ as´ at. Q1 -nek eggyel kevesebb oszlopa van mint Q-nak, ´ıgy az elimin´ aci´ os l´ep´est n-szer kell haszn´ alni. K¨ ovetkez´esk´epp a Fourier-Motzkin algoritmus v´eges. Az elj´ ar´ as h´ atr´ anya, hogy egyetlen v´ altoz´ o elimin´ al´ asa sok u ´j egyenl˝ otlens´eget hoz be, vagyis menet k¨ ozben az egyenl˝ otlens´egek sz´ ama nagyon felszaporodhat. Sajnos ez nem csak elvi lehet˝ os´eg, amint a k¨ ovetkez˝ o p´elda mutatja. Legyen p pozit´ıv eg´esz ´es n := 2p + p + 2. n n darab v´ altoz´ onk lesz: x1 , . . . , xn . 8 3 egyenl˝ otlens´eg¨ unk van, mindegyik ±xi ± xj ± xk ≤ bijk alak´ u, ahol bijk adott sz´ amok. t szerinti indukci´ oval l´ athat´ o, hogy t v´ altoz´ o kiejt´ese ut´ an az u ´j egyenl˝ otlens´egek k¨ oz¨ ott u, ahol s = 2t + 2 ´es t + 1 ≤ j1 < j2 . . . < js ≤ n. szerepelni fog az ¨ osszes ±xj1 ± xj2 , . . . , ±xjs ≤ bj1 ,...,js alak´ ´Igy p l´ep´es ut´ an a megmaradt v´ altoz´ ok sz´ ama n′ = n − p = 2p + 2 m´ıg az egyenl˝ otlens´egek sz´ ama legal´ abb p ′ 22 +2 = 2n . Tapasztalat szerint a FM elimin´ aci´ o legfeljebb csak kis p´eld´ akon haszn´ alhat´ o, nagyobbakon tipikusan t´enylegesen kezelhetetlen¨ ul sok egyenl˝ otlens´eg keletkezik. A fenti p´eld´ aban olyan egyenl˝ otlens´eg-rendszer szerepelt, amelynek minden sor´ aban h´ arom 1 abszol´ ut ´ ´ert´ek˝ u egy¨ utthat´ o volt. Erdekes, hogy ha csak k´et 1 abszol´ ut ´ert´ek˝ u egy¨ utthat´ o van minden sorban, akkor
60
a Fourier-Motzkin elj´ ar´ as polinomi´ alis fut´ asidej˝ u. Egy (sor)vektort nevezz¨ unk szimpl´ anak, ha vagy egy nemnulla eleme van (´es err˝ ol feltehet˝ o, hogy 1 abszol´ ut ´ert´ek˝ u), vagy kett˝ o, melyek mindegyike 1 abszol´ ut ´ert´ek˝ u. Szimpla sorokb´ ol ´ all´ o m´ atrixot is nevezz¨ unk szimpl´ anak. K¨ onny˝ u megfigyelni, hogy ha a kiindul´ asi m´ atrix szimpla, akkor az FM elj´ ar´ as sor´ an keletkez˝ ou ´j m´ atrix is az lesz. Miut´ an szimpla vektor csak kev´es (legfeljebb 2m + 3m(m − 1)/2) lehet, ez´ert az FM elj´ ar´ as szimpla m´ atrixokra polinomi´ alis. Term´eszetesen menetk¨ ozben a redund´ ans egyenl˝ otlens´egeket ki kell dobni: ha p´eld´ aul az x1 + x2 ≤ 3 ´es az x1 + x2 ≤ 4 egyenl˝ otlens´egek ad´ odnak ki, akkor az ut´ obbi felesleges. Szimpla m´ atrixokra, eg´esz´ert´ek˝ u b eset´en azt is el lehet d¨ onteni, hogy a Qx ≤ b rendszernek l´etezik-e eg´esz´ert´ek˝ u megold´ asa. Az az egyetlen k¨ ul¨ onbs´eg, hogy ha menetk¨ ozben keletkezik mondjuk egy 2xi ≤ β alak´ u egyenl˝ otlens´eg, akkor ezt az xi ≤ ⌊β/2⌋ egyenl˝ otlens´eggel kell helyettes´ıteni.
3.4.4
Alkalmaz´ asok
A 2-SAT probl´ ema P´eldak´ent eml´ıthetj¨ uk az u ´n. 2-SAT probl´em´ at (2-satisfiability = 2-kiel´eg´ıthet˝ os´eg). Ez gr´ afok nyelv´en elmondva azt k´ıv´ anja eld¨ onteni, hogy egy M teljes p´ aros´ıt´ assal rendelkez˝ o G = (V, E) gr´ af pontjai k¨ oz¨ ul ki lehet-e v´ alasztani |M | darabot, melyek az ¨ osszes ´elt lefogj´ ak. Ennek eld¨ ont´es´ere, minden v cs´ ucshoz rendelj¨ unk egy x(v) v´ altoz´ ot, ´es tekints¨ uk a k¨ ovetkez˝ o egyenl˝ otlens´eg-rendszert. 0 ≤ x(v) ≤ 1 minden v ∈ V -re, x(u) + x(v) = 1 minden uv ∈ M ´elre, ´es x(u) + x(v) ≥ 1 minden egy´eb uv ´elre. A 2-SAT probl´em´ anak pontosan akkor van megold´ asa, ha ezen egyenl˝ otlens´eg-rendszernek van eg´esz megold´ asa. Miut´ an a felt´eteli m´ atrix szimpla, az FM elimin´ aci´ o polinomi´ alis fut´ asidej˝ u algoritmust szolg´ altat. ´ Erdemes az FM elimin´ aci´ o egy l´ep´es´et k¨ ozvetlen¨ ul gr´ afnyelven elmondani: Legyen uv ∈ M az egyik p´ aros´ıt´ as ´el. A V − {u, v} ponthalmazon defini´ aljuk a G[1] gr´ afot u ´gy, hogy xy ´el, ha eredetileg ´el, vagy ha x szomsz´edos u, v egyik´evel ´es y szomsz´edos a m´ asik´ aval. K¨ onnyen ellen˝ orizhet˝ o k¨ ozvetlen¨ ul is, hogy a 2-SAT probl´ema akkor ´es csak akkor oldhat´ o meg G-re, ha megoldhat´ o G[1] -re. Gyakorlat 3.24 Tekints¨ uk n´egy v´ altoz´ oban az xi ≥ 0, xi + xj = 1 (1 ≤ i < j ≤ 4) rendszert. D¨ onts¨ uk el az FM elimin´ aci´ oval, hogy van-e megold´ asa ´es van-e eg´esz megold´ asa.
Az u ¨ temez´ esi feladat u ´ jra Abban a speci´ alis esetben, amikor a m´ atrix minden sor´ aban vagy egyetlen nemnulla elem szerepel ´es ennek az abszol´ ut ´ert´eke 1, vagy pedig egy +1-es ´es egy −1-es, akkor az FM elimin´ aci´ o automatikusan fenntartja ezt az alakot. K¨ ovetkezik, hogy ha a jobboldali b vektor eg´esz´ert´ek˝ u, ´es a Qx ≤ b rendszernek van megold´ asa, akkor van eg´esz megold´ asa is (´es az FM egy ilyet meg is tal´ al). A 1.3.2 r´eszben m´ ar megfogalmaztuk egy nagyobb projekt r´eszfeladatainak u ¨temez´esi probl´em´ aj´ at ´es ´ megadtunk egy megold´ ast is. Erdekess´ egk´ent most megmutatjuk, hogy ilyenkor az FM m´ odszer is seg´ıt. Az ott fel´ all´ıtott matematikai modellben teh´ at a feladat olyan π : V → R f¨ uggv´eny meghat´ aroz´ as´ aval ekvivalens, amelyre minden uv ´elnek az el˝ ore adott s´ ulya legfeljebb π(v) − π(v), minden cs´ ucsra f (v) ≤ π(v) ≤ g(v), ahol f ´es g el˝ ore adott korl´ atok, ´es π(t) − π(s) ≤ T . Ha ezen egyenl˝ otlens´egeket fel´ırjuk, akkor mindegyik¨ ukben vagy egyetlen +1 vagy −1 szerepel, vagypedig egy darab +1 ´es egy darab −1. A fentiek szerint ilyen esetben az FM elimin´ aci´ o polinomi´ alis algoritmust szolg´ altat, r´ ad´ asul, ha a s´ ulyok eg´esz´ert´ek˝ uek ´es l´etezik π megold´ as, akkor l´etezik eg´esz´ert´ek˝ u π is. Feladat 3.25 Adjunk a Fourier-Motzkin elj´ ar´ as seg´ıts´eg´evel u ´j bizony´ıt´ ast Gallai 1.3.8 t´etel´ere miszerint egy ´els´ ulyozott ir´ any´ıtott gr´ afban akkor ´es csak akkor van negat´ıv ¨ ossz-s´ uly´ u ir´ any´ıtott k¨ or, ha nincsen olyan π := V → R f¨ uggv´eny, amelyre π(v) − π(u) ≤ c(uv) fenn´ all minden uv ´elre. Tov´ abb´ a, ha a c s´ ulyf¨ uggv´eny eg´esz´ert´ek˝ u, akkor π is v´ alaszthat´ o annak. ulin13 2013. augusztus 1.
61
3.5
Megoldhat´ os´ ag: a Farkas lemma
A Fredholm t´etel egyszer˝ uen ellen˝ orizhet˝ o tan´ us´ıtv´ anyt adott arra, hogy ha az Ax = b rendszernek nincsen megold´ asa, hiszen a ilyenkor l´etezik egy y, amelyre yA = 0, yb 6= 0, ´es egy adott y-r´ ol ennek fenn´ all´ asa szint´en k¨ onnyen eld¨ onthet˝ o. Hasonl´ ok´epp, a Farkas lemma standard alakja arra szolg´ altat tan´ us´ıtv´ anyt, hogy ha az {Ax = b, x ≥ 0} rendszernek nincsen megold´ asa. Mivel egy poli´edert t¨ obbf´ele alakban is meg lehet adni, a Farkas lemm´ anak is k¨ ul¨ onb¨ oz˝ o v´ altozatai vannak. Ezek azonban egyszer˝ u fog´ assal k¨ ovetkeznek egym´ asb´ ol, ez´ert minden alakot Farkas lemm´ anak nevez¨ unk majd. A h´ arom leggyakoribb algebrai v´ altozatot adjuk meg, majd k¨ oz¨ os ´ altal´ anos´ıt´ ask´ent egy olyan form´ at is fel´ırunk, amelyb˝ ol mind a h´ arom alak speci´ alis esetk´ent kiad´ odik. A 3.3.7 ´es a 3.3.10 t´etelek alkalmaz´ as´ aval megkaphatjuk a Farkas lemma standard alakj´ anak egy ´eles´ıt´es´et. ´ TETEL 3.5.1 Az {Ax = b, x ≥ 0} rendszernek akkor ´es csak akkor van olyan megold´ asa, amelyben az x pozit´ıv v´ altoz´ oinak megfelel˝ o A-beli oszlopok line´ arisan f¨ uggetlenek, ha nem l´etezik olyan y, amelyre yA ≥ 0, yb = −1 ´es A-nak l´etezik r(A, b) − 1 line´ arisan f¨ uggetlen oszlopa, amelyekre y mer˝ oleges. (R¨ oviden, vagy a prim´ al, vagy a du´ al probl´em´ anak l´etezik b´ azis-megold´ asa). • A prim´ al felt´etel geometriailag azt mondja, hogy ha a b vektor benne van n´eh´ any vektor K k´ upj´ aban, akkor m´ ar benne van ezen vektorok k¨ oz¨ ul vett n´eh´ any line´ arisan f¨ uggetlen vektor k´ upj´ aban is. Egy y du´ alis b´ azis-megold´ as geometriailag a k¨ ovetkez˝ ot jelenti. Amennyiben r(A, b) = r(A) + 1, u ´gy az y ortogon´ alis r(A) line´ arisan f¨ uggetlen oszlopra, ez´ert yA = 0, vagyis az y norm´ alis´ u homog´en hipers´ık tartalmazza A oszlopait, de b-t nem. Amennyiben r(A, b) = r(A), u ´gy az y norm´ alis´ u K-t tartalmaz´ o, b-t nem tartalmaz´ o homog´en f´elt´er olyan, hogy hat´ arol´ o hipers´ıkja, amely a k´ up egy ,,hat´ arol´ o lapj´ at” (maxim´ alis val´ odi oldal´ at) tartalmazza. Ha a k´ up teljes dimenzi´ os, u ´gy a hipers´ık ezen hat´ arol´ o lap hipers´ıkja.
A Farkas lemma v´ altozatai ´ TETEL 3.5.2 (Farkas lemma, (A) v´ altozat) A Qx ≤ b egyenl˝ otlens´eg-rendszer akkor ´es csak akkor oldhat´ o meg, ha nem l´etezik olyan y ≥ 0, amelyre yQ = 0, yb = −1. Biz. A Qx ≤ b feladatot nevezz¨ uk prim´ al probl´em´ anak, az {yQ = 0, y ≥ 0, qb = −1} feladatot pedig du´ alnak. Mindkett˝ o nem oldhat´ o meg, mert akkor 0 = y(Qx) ≤ yb = −1 ´ allna. A ford´ıtott ir´ anyhoz jel¨ olje A a [Q, b] m´ atrixot, ´es legyen c′ = (0, . . . , 0, −1) egy (n + 1)-dimenzi´ os vektor. A du´ al megoldhat´ os´ aga azt jelenti, hogy c′ benne van az A sorai ´ altal gener´ alt k´ upban. Ha nincs benne, akkor a Farkas lemma geometriai alakja szerint van olyan x′ = (x, α) (n+1)-dimenzi´ os vektor, amelyre Ax′ ≤ 0 ´es c′ x′ = 1, ami azzal ekvivalens, hogy α = −1 ´es Qx ≤ b, vagyis a prim´ al feladat megoldhat´ o. • Alternat´ıv bizony´ıt´ as A standard alakra t¨ ort´en˝ o visszavezet´es k´et l´ep´esben t¨ ort´enik. Egyr´eszt az el˝ ojel k¨ otetlen x v´ altoz´ ot a nemnegat´ıv x′ ´es x′′ k¨ ul¨ onbs´egek´ent ´ırjuk fel. M´ asr´eszt, egy x1 nemnegat´ıv (mdimenzi´ os), u ´gynevezett elt´ er´ es (vagy p´ ot) v´ altoz´ o (slack variable) bevezet´es´evel az egyenl˝ otlens´eg-rendszert egyenl˝ os´eg-rendszerr´e alak´ıtjuk. Ekkor a Qx ≤ b prim´ al feladat a Qx′ − Qx′′ + x1 = b, (x′ , x′′ , x1 ) ≥ 0 alakba megy ´ at. Az A := (Q, −Q, Im ) m´ atrixra alkalmazva a Farkas lemma standard alakj´ at, azt kapjuk, hogy a megoldhat´ os´ aghoz sz¨ uks´eges ´es elegend˝ o felt´etele az, hogy nem l´etezik y, amelyre yb < 0 ´es yA ≥ 0, azaz yQ ≥ 0 y(−Q) ≥ 0, yIm ≥ 0, vagyis yQ = 0, y ≥ 0. • ´ TETEL 3.5.3 (Farkas lemma, (B) v´ altozat) A {Bx ≤ b, x ≥ 0} egyenl˝ otlens´eg-rendszer akkor ´es csak akkor oldhat´ o meg, ha nem l´etezik olyan y ≥ 0, amelyre yB ≥ 0, yb = −1. Biz. Mindk´et rendszer nem oldhat´ o meg, mert akkor 0 ≤ (yB)x = y(Ax) ≤ yB = −1. Jel¨ olje Q azt a m´ atrixot, amely B-b˝ ol keletkezik az´ altal, hogy al´ a´ırjuk az n × n-es −I egys´egm´ atrixot ´es jel¨ olje b1 azt a vektort, amely b-b˝ ol keletkezik n darab 0 komponens hozz´ af˝ uz´es´evel. A {Bx ≤ b, x ≥ 0} rendszer pontosan akkor oldhat´ o meg, ha Qx ≤ b1 megoldhat´ o. Az (A) v´ altozat szerint, ha Qx ≤ b1 nem oldhat´ o meg, akkor l´etezik egy olyan (y, y ′ ) ≥ 0 vektor, amelyre yB + y ′ (−I) = 0, yb = −1. De y ′ ≥ 0 miatt yB + y ′ (−I) = 0 azzal ekvivalens, hogy yB ≥ 0. • Egyszer˝ u fog´ assal a Farkas lemm´ at olyan alakban is megfogalmazhatjuk, amikor a Fredholm f´ele alternat´ıva t´etelt m´ ar explicit mag´ aban foglalja. ´ TETEL 3.5.4 A {P x = b0 , Qx ≤ b1 }
(3.11)
prim´ al rendszer akkor ´es csak akkor oldhat´ o meg, ha az {y0 P + y1 Q = 0, y1 ≥ 0, yb = −1} du´ alis nem, ahol y = (y0 , y1 ), b = (b0 , b1 ).
62
(3.12)
Biz. Mindk´et feladat nem oldhat´ o meg, mert akkor 0 = (y0 P +y1 Q)x = (y0 P )x+(y1 Q)x = y0 (P x)+y1 (Qx) ≤ y0 b0 + y1 b1 = −1. Ha a prim´ al probl´ema nem oldhat´ o meg, akkor a vele ekvivalens {P x ≤ b0 , −P x ≤ −b0 , Qx ≤ b1 } egyenl˝ otlens´eg-rendszer sem. Ekkor viszont a Farkas lemma (A) v´ altozata alapj´ an az ehhez tartoz´ o du´ al megoldhat´ o, azaz l´etezik (y0′ , y0′′ , y1 ) ≥ 0 vektor, amelyre y0′ P +y0′′ (−P )+y1 Q = 0 ´es y0′ b0 +y0′′ (−b0 )+y1 b1 = −1. De ekkor y0 := y0′ − y0′′ -re az (y0 , y1 ) megold´ asa a (3.12) du´ alisnak. • Hasznos egy olyan alakot is fel´ırni, amely a fenti v´ altozatok mindegyik´et mag´ aban foglalja. ´ TETEL 3.5.5 (Farkas lemma, ´ altal´ anos alak) A P x0 + Ax1 = b0 , Qx0 + Bx1 ≤ b1 , x1 ≥ 0
(3.13)
prim´ al rendszernek akkor ´es csak akkor nincs megold´ asa, ha az y0 P + y1 Q = 0, y0 A + y1 B ≥ 0, y1 ≥ 0, y0 b0 + y1 b1 = −1
(3.14)
du´ alis rendszernek van. Biz. Jel¨ olje az x0 , x1 , y0 , y1 dimenzi´ oj´ at rendre n0 , n1 , m0 , m1 . Az x1 ≥ 0 felt´etelt explicit be´ırhatjuk az ol k¨ ozvetlen¨ ul kapjuk, hogy a prim´ al egyenl˝ otlens´egek k¨ oz´e 0n1 n0 x0 + x1 (−In1 n1 ) ≤ 0 alakban. A 3.5.4 t´etelb˝ probl´ema pontosan akkor oldhat´ o meg, ha az {y0 P + y1 Q = 0, y0 A + y1 B + y1′ (−In1 n1 ) = 0, (y1 , y1′ ) ≥ 0, y0 b0 + y1 b1 = −1} rendszer nem. Ez ut´ obbi megoldhat´ os´ aga viszont y1′ nemnegat´ıvit´ asa folyt´ an ´epp (3.14) du´ alis´eval ekvivalens. • Megjegyezz¨ uk, hogy a Farkas lemm´ at m´eg ´ altal´ anosabb alakban is fel lehetne ´ırni. P´eld´ aul a prim´ al feladatban lehetnek ford´ıtott ir´ any´ u egyenl˝ otlens´egek, vagy nempozit´ıv v´ altoz´ ok. A megfelel˝ o egyenl˝ otlens´eg illetve a felt´eteli m´ atrix megfel˝ o oszlop´ anak neg´ al´ as´ aval azonban k¨ onnyen a (3.15) alakra juthatunk, ´ıgy ez a leg´ altal´ anosabb alak m´ ar nem ad igaz´ an u ´jat.
3.5.1
Direkt bizony´ıt´ as
B´ ar a Farkas lemma standard alakj´ at m´ ar levezett¨ uk kor´ abbi eredm´enyekb˝ ol (nevezetesen a Fourier-Motzkin elimin´ aci´ ora t´ amaszkodva), ´erdemes egy k¨ ozvetlen bizony´ıt´ ast is megadni. ´ TETEL 3.5.6 (Farkas lemma, standard alak) Az {Ax = b, x ≥ 0} rendszernek pontosan akkor van megold´ asa, ha az {yA ≥ 0, yb < 0} rendszernek nincs. Biz. Csak a nemtrivi´ alis ir´ annyal foglalkozunk, ´es azt mutatjuk ki, hogy a prim´ al ´es du´ al probl´em´ ak egyike megoldhat´ o. A szok´ asnak megfelel˝ oen A-nak legyen m ≥ 1 sora ´es n ≥ 1 oszlopa. m + n szerinti indukci´ ot alkalmazunk. A lemma ´ all´ıt´ asa k¨ ozvetlen¨ ul l´ atszik az m = 1 esetben, ´ıgy feltehet˝ o, hogy m ≥ 2. Figyelj¨ uk meg, hogy az Ax = b egyenletrendszer valamely sor´ at nemnulla sz´ ammal szorozva a prim´ al probl´ema megold´ ashalmaza ´es a du´ al probl´ema megoldhat´ os´ aga sem v´ altozik. Hasonl´ o kijelent´es ´erv´enyes, ha az egyenletrendszer egyik egyenlet´et hozz´ aadjuk egy m´ asikhoz (vagy levonjuk bel˝ ole). Ez´ert, esetleges sorcser´et is alkalmazva, feltehetj¨ uk, hogy az A els˝ o oszlopa az (1, 0, . . . , 0) vektor. Tegy¨ uk fel el˝ osz¨ or, hogy n = 1. Ha b(1) ≥ 0, akkor az n-dimenzi´ os x = (b(1), 0, . . . , 0) prim´ al megold´ as. Ha b(1) < 0, akkor az m-dimenzi´ os y = (1, 0, . . . , 0) du´ al megold´ as. Feltehetj¨ uk teh´ at, hogy n ≥ 2. Jel¨ olje A′ az a1 oszlop elhagy´ as´ aval keletkez˝ o m´ atrixot. Ha az {A′ x′ = b, x′ ≥ 0} rendszernek l´etezik x′ megold´ asa, akkor ez el´e egy 0 komponenst ´ırva az eredeti prim´ al feladat megold´ as´ at kapjuk. Ha az {A′ x′ = b, x′ ≥ 0} rendszernek nem l´etezik megold´ asa, akkor indukci´ o miatt l´etezik y ′ , melyre y ′ A′ ≥ 0 ´es y ′ b < 0. Amennyiben y ′ a1 ≥ 0, u ´gy y ′ az eredeti du´ alnak is megold´ asa. Akkor nem vagyunk k´esz, ha y ′ a1 < 0. ′′ ′′ ′′ ′′ Tekints¨ uk most a {A x = b , x ≥ 0} rendszert, ahol (A′′ , b′′ ) az (A, b) els˝ o sor´ anak t¨ orl´es´evel keletkezik. Ha most a du´ alisnak van egy y ′′ megold´ asa, akkor ez el´e egy 0 komponenst ´ırva az eredeti du´ alis megold´ as´ at kapjuk. Ha a du´ alisnak nincs megold´ asa, akkor indukci´ o miatt l´etezik x′′ ≥ 0, amelyre A′′ x′′ = b′′ . Mivel A′′ els˝ o oszlopa null-vektor, x′′ (1) b´ armi lehet, ez´ert x′′ (1)-t u ´gy megv´ alaszthatjuk, hogy 1 ax′′ = b(1). Bel´ atjuk, ′′ ′′ hogy x (1) ≥ 0, amib˝ ol k¨ ovetkezik, hogy x az eredeti prim´ al probl´ema megold´ asa. Ha ugyanis indirekt x′′ (1) < 0, akkor mind az x′′ , mind az y ′ A olyan vektor, melyeknek pontosan az els˝ o komponense negat´ıv ´es ez´ert 0 < (y ′ A)x′′ = y ′ (Ax′′ ) = y ′ b < 0, amely ellentmond´ as bizony´ıtja a Farkas lemm´ at. • ´ Megjegyz´ es Erdemes nyomon k¨ ovetni a fenti bizony´ıt´ as h´ atter´eben megb´ uv´ o geometriai szeml´eletet. Amikor a Gauss elimin´ aci´ oval az a1 oszlopot az (1, 0, . . . , 0) vektorr´ a alak´ıtjuk, ennek az a jelent´ese, hogy az A oszlopait egy olyan b´ azisban ´ırjuk fel, melynek els˝ o tagja a1 . Az a1 = (1, 0, . . . , 0) esetben a m´ atrix els˝ o sor´ anak t¨ orl´ese geometriailag azt jelenti, hogy az A oszlopvektorait vet´ıtj¨ uk az a1 norm´ alis´ u hipers´ıkra. A fenti bizony´ıt´ as sor´ an az a1 t¨ orl´es´en´el az elint´ezetlen eset az volt, amikor l´etezett egy olyan y ′ vektor, ′ amelyre az F = {z : y z ≥ 0} homog´en f´elt´er tartalmazta az a2 , . . . , an oszlopvektorokat, de sem a1 -et, sem ´es
63
b-t nem. Ekkor F tartalmazza a −a1 , a2 , a3 , . . . , an vektorokat, ´es emiatt a b bizonyosan nem lehet benne ezen vektorok gener´ alt k´ upj´ aban. M´ asr´eszt, az a1 -re mer˝ oleges hipers´ıkra val´ o vet´ıt´esn´el (azaz a m´ atrix els˝ o sor´ anak t¨ orl´es´en´el) a bajos eset az volt, ha l´etezik egy olyan x′′ , amelyre Ax′′ = b, az x′′ els˝ o komponense negat´ıv, m´ıg a t¨ obbi nem. Ez viszont ´eppen azt jelenti, hogy a b el˝ o´ all a −a1 , a2 , a3 , . . . , an vektorok nemnegat´ıv kombin´ aci´ ojak´ent, amely eshet˝ os´eget az el˝ obb z´ artuk ki az F f´elt´er seg´ıts´eg´evel. M´eg egy bizony´ıt´ ast le´ırunk, amelyben nincs sz¨ uks´eg olyan Gauss elimin´ aci´ o szer˝ u m˝ uveletre, amellyel az el˝ obbi bizony´ıt´ asban az els˝ o oszlopot egys´egvektorr´ a alak´ıtottuk. K´enyelmesebbnek bizonyul a 3.5.4 t´etelben megfogalmazott kicsit ´ altal´ anosabb alakot igazolni. (Nem ritka jelens´eg, hogy egy j´ ol eltal´ alt ´ altal´ anos´ıt´ asra az indukci´ os bizony´ıt´ as g¨ ord¨ ul´ekenyebben m˝ uk¨ odik.) Szemben az ottani megk¨ ozel´ıt´essel, amely val´ oj´ aban speci´ alis esetk´ent kiadta a Fredholm f´ele alternat´ıva t´etelt, az itt k¨ ovetkez˝ o bizony´ıt´ as haszn´ alja azt. ´ TETEL 3.5.7 A P x0 + Ax1 = b, x1 ≥ 0
(3.15)
prim´ al feladatnak akkor ´es csak akkor nincsen megold´ asa, ha az yP = 0, yA ≥ 0, yb = −1
(3.16)
du´ alis feladatnak van. (Figyelj¨ uk meg, hogy (3.16) megoldhat´ os´ aga ekvivalens az {yP = 0, yA ≥ 0, yb < 0} rendszer megoldhat´ os´ ag´ aval.) Biz. A prim´ al ´es a du´ al feladat nyilv´ an nem oldhat´ o meg egyszerre, mert akkor 0 + 0 ≤ 0 + (yA)x1 = (yP )x0 + (yA)x1 = y[(P, A)x] = yb = −1, azaz 0 ≤ −1 k¨ ovetkezne. Annak bizony´ıt´ as´ ara, hogy a prim´ al ´es a du´ al feladatok egyike biztosan megoldhat´ o az A oszlopai sz´ ama szerinti indukci´ ot alkalmazunk. Amennyiben ez az n1 -gyel jel¨ olt sz´ am nulla, azaz A u ¨res, u ´gy a t´etel k¨ ovetkezik a Fredholm f´ele alternat´ıva t´etelb˝ ol. Tegy¨ uk teh´ at fel, hogy n1 pozit´ıv ´es indukci´ o alapj´ an azt, hogy n1 -n´el kisebb oszlop-sz´ amra a t´etel ´erv´enyes! Legyen a1 az A m´ atrix els˝ o oszlopa. Jel¨ olje A′ azt a m´ atrixot, amely A-b´ ol keletkezik az a1 kihagy´ as´ aval. Amennyiben a (3.17) P x0 + A′ x′1 = b, x′1 ≥ 0 as´ ahoz jutunk. rendszernek l´etezik megold´ asa, u ´gy az x′1 -t egy nulla komponenssel kieg´esz´ıtve (3.15) megold´ Ha (3.17)-nak nincs megold´ asa, u ´gy az indukci´ os feltev´es miatt az yP = 0, yA′ ≥ 0, yb = −1
(3.18)
rendszernek l´etezik y ′ megold´ asa. Amennyiben y ′ a1 ≥ 0, u ´gy y ′ a (3.16)-nek is megold´ asa, ´es ekkor k´eszen vagyunk. Tegy¨ uk fel teh´ at, hogy y ′ a1 < 0, azaz y ′ A els˝ o komponense negat´ıv, a t¨ obbi nemnegat´ıv. Jel¨ olje P ′ azt a m´ atrixot, amelyet P -b˝ ol az a1 oszlop hozz´ av´etel´evel nyer¨ unk. Ha most az yP ′ = 0, yA′ ≥ 0, yb = −1
(3.19)
probl´em´ anak van megold´ asa, az nyilv´ an megold´ asa (3.16)-nek is, ´es ekkor ism´et csak k´eszen vagyunk. Ha (3.19)-nek nincs megold´ asa, u ´gy a P ′ x′0 + A′ x′1 = b, x′1 ≥ 0 (3.20) ol, hogy az rendszernek van (indukci´ o miatt). Jel¨ olje (x0 , x1 ) azt a vektort, amely u ´gy keletkezik (x′0 , x′1 )-b˝ a1 -nak megfelel˝ o komponenst x′0 -b˝ ol x′1 -be helyezz¨ uk (ami persze azt jelenti, hogy (x′0 , x′1 ) ugyanazt az n0 + n1 dimenzi´ os vektort jel¨ oli, mint (x0 , x1 )). ´ ıtjuk, hogy (x0 , x1 ) megold´ All´ asa (3.15)-nek. Ehhez csak azt kell igazolnunk, hogy x1 (1) (az a1 -nek megfelel˝ o komponens) nemnegat´ıv. Val´ oban, ha ez negat´ıv lenne, akkor x1 is ´es y ′ A is olyan, hogy els˝ o komponens¨ uk negat´ıv, a t¨ obbi pedig nem az. Emiatt (y ′ A)x1 > 0 ´es ´ıgy 0 + 0 < 0 + (y ′ A)x1 = (y ′ P )x0 + (y ′ A)x1 = y ′ [(P, A)x] = y ′ b = −1, ami lehetelen. • Megmutatjuk, hogy a 3.5.7 t´etelb˝ ol is levezethet˝ o a 3.5.5 ´ altal´ anos alak. Biz. (3.5.5 t´etel´e) Jel¨ olje az x0 , x1 , y0 , y1 dimenzi´ oj´ at rendre n0 , n1 , m0 , m1 . Legyen B ′ := (B, I), A′ := (A, 0) (ahol az I egy m1 ×m1 -os egys´eg-m´ atrixot, a 0 pedig egy m0 ×m1 -os nulla m´ atrixot jel¨ ol). Most (3.13) (x0 , x1 ) megold´ asai ´es P x0 + A′ x′1 = b0 , Qx0 + B ′ x′1 = b1 , x′1 ≥ 0 (3.21) (x0 , x′1 ) megold´ asai k¨ oz¨ ott egy-egy ´ertelm˝ u kapcsolat ´ all fenn. Nevezetesen (x0 , x1 ) az (x0 , x′1 )-b˝ ol keletkezik az utols´ o m1 komponens kihagy´ as´ aval, m´ıg (x0 , x1 )-b˝ ol u ´gy kapjuk (x0 , x′1 )-t, hogy x1 -t helyettes´ıtj¨ uk az x′1 := (x1 , b1 − (Qx0 + Bx1 )) vektorral.
64
A (3.21)-hez tartoz´ o y0 P + y1 Q = 0, y0 A′ + y1 B ′ ≥ 0, yb = −1
(3.22)
du´ al probl´ema ´es (3.14) ekvivalensek, hiszen csak arr´ ol van sz´ o, hogy a (3.14)-ban explicit szerepl˝ o y1 ≥ 0 el˝ ojel megk¨ ot´est (3.22)-ben az y0 A′ + y1 B ′ ≥ 0 egyenl˝ otlens´eg-rendszerben rejtett¨ uk el. A (3.21) prim´ al feladatra fel´ırva a 3.5.7 t´etelt az abban szerepl˝ o (3.16) du´ al feladat ´eppen a (3.22) alakot ¨ olti. • Tov´ abbi k´ezenfekv˝ o megjegyz´es, hogy a Farkas lemm´ at olyan alakban is haszn´ alhatjuk, amikor a rendszer balr´ ol szorz´ assal van adva. (Egy k´es˝ obbi alkalmaz´ as miatt n´eh´ any vektort ´es m´ atrixot vessz˝ os bet˝ uvel jel¨ ol¨ unk.) ´ TETEL 3.5.8 y0 P ′ + y1 Q′ = c′0 , y0 A′ + y1 B ′ ≥ c′1 , y1 ≥ 0
(3.23)
prim´ al rendszernek akkor ´es csak akkor nincs megold´ asa, ha a P ′ x0 + A′ x′1 = 0, Q′ x0 + B ′ x′1 ≤ 0, x′1 ≥ 0, c′0 x0 + c′1 x′1 > 0
(3.24)
du´ alis rendszernek van. • Feladatok 3.26 Az {yA ≤ c} rendszernek akkor ´es csak akkor van megold´ asa, ha nincs olyan x ≥ 0, amelyre Ax = 0, cx < 0. 3.27 Tekints¨ uk a (3.16) du´ alis feladatban el˝ ofordul´ o {yP = 0, yA ≥ 0, yb = −1} rendszert, mint prim´ al probl´em´ at ´es fogalmazzuk meg erre a Farkas lemm´ at. Mutassuk meg, hogy a fel´ırt du´ alis ekvivalens a (3.15) alakkal. 3.28 Tegy¨ uk fel, van egy szubrutinunk, amely vagy az {Ax = b, x ≥ 0} rendszernek vagy a du´ alis {yA ≥ 0, yb = −1} rendszernek kisz´ am´ıt egy megold´ as´ at. Hogyan haszn´ alhatjuk fel ezt a (3.15) vagy (3.16) rendszer megold´ as´ ara? 3.29 Tegy¨ uk fel, van egy szubrutinunk a {Bx ≤ b, x ≥ 0} rendszer megold´ as´ ara. Hogyan haszn´ alhatjuk fel ezt a {Qx ≤ b} rendszer megold´ as´ ara?
3.5.2
A szimplex algoritmus a Farkas lemm´ ara
Ebben a szakaszban megismerked¨ unk a Farkas lemma illetve a dualit´ as t´etellel kapcsolatos f˝ o algoritmikus eredm´enyekkel. Azt m´ ar kor´ abban l´ attuk, hogy a Fourier-Motzkin elj´ ar´ as seg´ıts´eg´evel egy R poli´edernek v´eges sok l´ep´esben megtal´ alhatunk egy elem´et, amennyiben R nem u ¨res. Ez az elj´ ar´ as azonban, szemben a Gauss elimin´ aci´ oval, nem polinomi´ alis fut´ asidej˝ u ´es a gyakorlati tapasztalatok is kedvez˝ otlenek. Egy line´ aris c´elf¨ uggv´eny poli´eder feletti optimaliz´ al´ as´ ara is van v´eges algoritmus, hiszen ha cx fel¨ ulr˝ ol korl´ atos, akkor a maximum er˝ os b´ azis-megold´ ason is felv´etetik, ´es ezekb˝ ol csak v´eges sok van. Ezzel a megk¨ ozel´ıt´essel az a baj, hogy er˝ os b´ azis-megold´ asb´ ol igen sok lehet (exponenci´ alisan sok). P´eld´ aul, ha a poli´eder, amely felett a cx c´elf¨ uggv´enyt akarjuk maximaliz´ alni, egy n-dimenzi´ os egys´egkocka kocka, azaz {x : 0 ≤ x ≤ 1}, akkor ezt a feladatot mind a 2n cs´ ucs cx szerinti sorbarendez´es´evel m´ ar a nem t´ uls´ agosan nagy n = 100-as m´eretn´el sincs semmilyen es´ely¨ unk megoldani, a legjobb sz´ am´ıt´ og´epet haszn´ alva sem, ugyanakkor a probl´em´ at r´ an´ez´esre r¨ ogt¨ on meg lehet oldani. A szimplex algoritmus George Dantzigt´ ol sz´ armazik. Az a l´enyege, hogy a poli´eder bizonyos cs´ ucsait ´ asi felhalmozott tapasztalat mutatja, hogy a szimplex algoritmus egyre javul´ o sorrendben v´ alasztja ki. Ori´ a gyakorlatban hat´ekony, tipikusan line´ aris sz´ am´ u cs´ ucs ´ atvizsg´ al´ asa ut´ an megtal´ alja az optimumot. Ann´ al szomor´ ubb, hogy konstru´ altak olyan p´elda sorozatot, ahol a szimplex algoritmus v´egigl´ atogatja az ¨ osszes, exponenci´ alisan sok cs´ ucsot, miel˝ ott az optim´ alisat megtal´ aln´ a. Ez azt jelenti, hogy matematikai szempontb´ ol a szimplex algoritmus nem tekinthet˝ o hat´ekonyabbnak, mint a durva, ¨ osszes cs´ ucsot sz´ amba vev˝ o algoritmus. (Kimutatt´ ak azonban, hogy ha nem a legrosszabb el˝ ofordul´ o esettel akarjuk az algoritmus hat´ekonys´ ag´ at m´erni, hanem az ´ atlagos l´ep´essz´ amot tekintj¨ uk, akkor a szimplex algoritmus polinomi´ alis fut´ asidej˝ u.) Kezdj¨ uk a Farkas lemm´ aval, annak a 3.5.1 t´etelben megfogalmazott er˝ osebb v´ altozat´ aval, amely teh´ at azt mondja ki, hogy az {Ax = b, x ≥ 0} prim´ al ´es az {yA ≥ 0, yb = −1} du´ al feladatok k¨ oz¨ ul pontosan az egyiknek van b´ azis-megold´ asa: ´ TETEL 3.5.9 Az {Ax = b, x ≥ 0} rendszernek akkor ´es csak akkor van olyan megold´ asa, amelyben az x pozit´ıv v´ altoz´ oinak megfelel˝ o A-beli oszlopok line´ arisan f¨ uggetlenek, ha nem l´etezik olyan y, amelyre yA ≥ 0, yb < 0 ´es A-nak l´etezik r(A, b) − 1 line´ arisan f¨ uggetlen oszlopa, amelyekre y mer˝ oleges. (T¨ om¨ oren, vagy a prim´ al vagy a du´ al feladatnak l´etezik b´ azis-megold´ asa). •
65
Bizony´ıt´ as a szimplex algoritmussal. M´ ar a Farkas lemma bizony´ıt´ as´ an´ al l´ attuk, hogy a k´et lehet˝ os´eg kiz´ arja egym´ ast. Azt l´ atjuk be algoritmikusan, hogy legal´ abb az egyik lehet˝ os´eg fenn´ all. A Gauss-elimin´ aci´ oval el˝ osz¨ or eld¨ ontj¨ uk, hogy az Ax = b rendszernek van-e egy´ altal´ an megold´ asa. Ha nincs, akkor a Gauss-elimin´ aci´ o egy olyan y vektort szolg´ altat, amelyre yA = 0 ´es yb 6= 0. (L´ asd a Fredholm f´ele 2.2.10 t´etelt ´es bizony´ıt´ as´ at.) Itt −1-gyel t¨ ort´en˝ o esetleges szorz´ as ut´ an feltehetj¨ uk, hogy yb < 0 azaz a m´ asodik alternat´ıv´ ara jutottunk. Tegy¨ uk fel teh´ at, hogy Ax = b megoldhat´ o. Feltehetj¨ uk, hogy A sorai line´ arisan f¨ uggetlenek, mert ha nem, akkor az A soraib´ ol kiv´ alasztunk r(A) line´ arisan f¨ uggetlen sort (ezt val´ oj´ aban a Gauss-elimin´ aci´ o m´ ar meg is tette), ´es csak az ezek ´ altal alkotott r´eszm´ atrixszal dolgozunk tov´ abb. V´ alasszunk ki az A oszlopaib´ ol egy B1 b´ azist (ami teh´ at egy m×m-es nemszingul´ aris r´eszm´ atrix). Tekints¨ uk a B1 x = b egy´ertelm˝ u megold´ as´ at (amit teh´ at az el˝ obbi Gauss-elimin´ aci´ o meghat´ arozott), ´es eg´esz´ıts¨ uk ki null´ akkal. ´Igy az Ax = b egy x1 megold´ as´ at kapjuk. Ha x1 nemnegat´ıv, akkor ez az Ax = b, x ≥ 0 egy b´ azis-megold´ as´ at alkotja. Tegy¨ uk fel most, hogy x1 -nek van negat´ıv komponense. (Az alapalgoritmus itt egy tetsz˝ oleges negat´ıv komponenst v´ alaszt. P´eld´ aval kimutathat´ o, hogy ilyenkor az algoritmus v´egtelen ciklusba eshet, ez´ert ennek elker¨ ul´es´ere indokolt valamilyen megk¨ ot´est tenni.) Jel¨ olje i1 a legkisebb indexet, amelyre x1 (i1 ) < 0. (Ez a Bland f´ele legkisebb index szab´ aly). Legyen y1 olyan vektor, amely B minden oszlop´ ara mer˝ oleges, kiv´eve, os d-re egy´ertelm˝ uen megoldhat´ o.) Most q = 1-re hogy y1 ai1 = 1. (Az yB1 = d minden m-dimenzi´ yq b = yq (Axq ) = (yq A)xq = xq (iq ) < 0.
(3.25)
Amennyiben minden ai -re y1 ai ≥ 0, u ´gy a du´ alis feladat b´ azis-megold´ as´ at kaptuk. alasszuk j1 -t a lehet˝ o legkisebbnek. (Ism´et a Tegy¨ uk fel teh´ at, hogy valamely j1 indexre y1 aj1 < 0 ´es v´ azisban, ´es az is l´ athat´ o, hogy legkisebb index szab´ alyt alkalmazzuk). Term´eszetesen ekkor aj1 nincs a B1 b´ asik b´ azist kapunk, amit jel¨ olj¨ unk B2 -vel. (Val´ oban, az aj1 vektor nem B1 -ben ai1 -t aj1 -re cser´elve egy m´ ol k¨ ul¨ onb¨ oz˝ o oszlopait´ ol, hiszen az y1 vektor ezen ut´ obbiak mindegyik´ere f¨ ugghet line´ arisan a B1 -nek ai1 -t˝ aljuk az elj´ ar´ ast most a B2 b´ azissal kezdve, ameddig csak lehet. mer˝ oleges, m´ıg aj1 -re nem.) Iter´ Igazolnunk kell, hogy az elj´ ar´ as v´eges sok l´ep´esben v´eget ´er. Tegy¨ uk indirekt fel, hogy nem ez a helyzet. Mivel csak v´eges sok b´ azis-megold´ as van, lesznek olyan oszlopvektorok, melyek id˝ or˝ ol id˝ ore ki- majd u ´jra beker¨ ulnek a b´ azisba. Legyen ah a legnagyobb ilyen index˝ u. Teh´ at a h-n´ al nagyobb index˝ u oszlopok egy bizonyos id˝ opontt´ ol fogva m´ ar nem v´ altoztatj´ ak helyzet¨ uket: vagy egyszer ´es mindenkorra benn vannak a b´ azisban, vagy k´ıv¨ ul. Legyen egy ezut´ ani pillanatban Bp egy olyan el˝ ofordul´ o b´ azis, amelyben ah benne van, de Bp+1 -ben nincs. Legyen Bq (q > p) egy olyan k´es˝ obbi b´ azis, amelyben ah nincs benne, de Bq+1 -ben benne van. Ekkor tudjuk, hogy yq a Bq+1 minden oszlop´ ara mer˝ oleges, kiv´eve ah -t, amelyre yq ah < 0. A m´ asodik v´ alaszt´ asi szab´ alyb´ ol az is k¨ ovetkezik minden ah el˝ otti ai oszlopra (azaz i < h-re), hogy yq ai ≥ 0. Az els˝ o v´ alaszt´ asi szab´ aly miatt xp minden h-n´ al kisebb index˝ u komponense nem-negat´ıv. ´Igy teh´ at az 1 ≤ i < h indexekre (yq ai )xp (i) ≥ 0 ´es (yq ah )xp (h) > 0. A Bq m´ atrixnak egyetlen olyan aj oszlopa van, amelyre yq nem mer˝ oleges, de mivel ´eppen ez az oszlop esik ki a Bq b´ azisb´ ol, az aj sz¨ uks´egk´eppen megel˝ ozi ah -t. Teh´ at yq mer˝ oleges a Bq -nak ah ut´ ani oszlopaira, de mivel a h-n´ al nagyobb index˝ u oszlopokon a Bq ´es a Bp b´ azis megegyezik (itt haszn´ alva h maxim´ alis v´ alaszt´ as´ at), yq mer˝ oleges Bp minden h-n´ al nagyobb index˝ u oszlop´ ara. ´Igy felhaszn´ alva (3.25)-t, kapjuk, hogy 0 > yq b = yq (Axp ) = (yq A)xp ≥ 0, ´es ez az ellentmond´ as a t´etelt ´es egy´ uttal az algoritmus v´egess´eg´et is bizony´ıtja. • Az algoritmus ´ altal´ anosabb alakban is haszn´ alhat´ o. P´eld´ aul, ha a {P x0 + Ax1 = b, x1 ≥ 0} rendszer megoldhat´ os´ ag´ at akarjuk eld¨ onteni, akkor az el˝ oz˝ o elj´ ar´ ast a k¨ ovetkez˝ ok´eppen kell m´ odos´ıtani. A kezdeti B1 b´ azist u ´gy hat´ arozzuk meg, hogy a P maxim´ alisan sok line´ arisan f¨ uggetlen oszlop´ at eg´esz´ıtj¨ uk ki A oszlopaib´ ol r(P, A) darab line´ arisan f¨ uggetlen oszlopp´ a. Az elj´ ar´ ast u ´gy m´ odos´ıtjuk, hogy csak az A-beli b´ azis elemeket cser´elhetj¨ uk, a kezdeti B1 b´ azis P -b˝ ol kiv´ alasztott elemei v´egig fixen maradnak. R¨ ogt¨ on l´ athat´ o, hogy az ´ıgy m´ odos´ıtott elj´ ar´ as u ´j bizony´ıt´ ast ad a 3.5.7 t´etelre. A m´eg ´ altal´ anosabb 3.5.5 alakra is kiterjeszthet˝ o az algoritmus, ha a t´etel bizony´ıt´ as´ aban le´ırt visszavezet´est alkalmazzuk. Meg´ allap´ıthatjuk teh´ at, hogy a fenti elj´ ar´ as b´ armely alakban adott line´ aris egyenl˝ otlens´eg-rendszer megold´ as´ ara alkalmas.
A n´ ev eredete Mi´ert h´ıvj´ ak a fenti algoritmust szimplex algoritmusnak? Az m-dimenzi´ os t´erben, ha vesz¨ unk u ´gy m+1 pontot, hogy ezek egyike sincs benne a t¨ obbi konvex burk´ aban, akkor az m + 1 pont konvex burka defin´ıci´ o szerint egy szimplexet alkot. Egy dimenzi´ oban ez egy szakasz, k´et dimenzi´ oban h´ aromsz¨ og, h´ arom dimenzi´ oban tetra´eder. Tegy¨ uk fel p´eld´ aul, hogy a s´ıkban adottak a p1 , . . . , pn pontok, ´es el akarjuk d¨ onteni, hogy ezek konvex burk´ aban benne van-e egy megadott b′ pont. Egyszer˝ us´eg kedv´e´ert tegy¨ uk fel, hogy nincs h´ arom pont egy egyenesen. K´esz´ıts¨ unk el egy 2 × n-es A′ m´ atrixot, melynek i-edik oszlopa a pi pont koordin´ at´ ait tartalmazza. Legyen A az a m´ atrix, amely A′ -b˝ ol keletkezik egy csupa egyesb˝ ol ´ all´ o harmadik sor hozz´ av´etel´evel. A b′ t is eg´esz´ıts¨ uk ki egy egyessel egy h´ arom dimenzi´ os b vektorr´ a. Ekkor a feladat azzal ekvivalens, hogy az {Ax = b, x ≥ 0} rendszernek van-e megold´ asa. Egy b´ azis-megold´ ashoz tartoz´ o h´ arom oszlopvektor h´ arom olyan pi pontnak felel meg, amelyek egy b′ -t tartalmaz´ o h´ aromsz¨ oget alkotnak. Egy du´ alis b´ azis-megold´ as egy
66
olyan egyenesnek felel meg (mi´ert?), amely k´et pi ponton ´ atmegy, ´es az ´ altala meghat´ arozott egyik z´ art f´els´ık tartalmazza az ¨ osszes pi pontot, de nem tartalmazza b′ -t. M´ armost a szimplex algoritmus ezen a geometriai nyelven a k¨ ovetkez˝ ok´eppen fut. Induljunk ki egy tetsz˝ oleges B1 -gyel jel¨ olt h´ aromsz¨ ogb˝ ol, melynek cs´ ucsai ´ mondjuk p1 , p2 , p3 . Allap´ ıtsuk, meg, hogy b′ benne van-e B1 -ben. Ha benne van akkor k´eszen vagyunk: b′ benne van a pi pontok konvex burk´ aban. Ha b′ nincs benne a h´ aromsz¨ ogben, akkor a h´ aromsz¨ ognek az egyik e1 oldalegyenese, mondjuk p2 p3 , elv´ alasztja b′ -t p1 -t˝ ol. (A h´ aromsz¨ ognek egy vagy k´et ilyen elv´ alaszt´ o oldalegyenese lehet, a b′ elhelyezked´es´et˝ ol f¨ ugg˝ oen: az ´ altal´ anos algoritmus ezek egyik´et v´ alasztja, a Bland f´ele szab´ aly pontosan el˝ o´ırja, hogy melyiket kell v´ alasztani.) Amennyiben az e′ egyenes ´ altal hat´ arolt, a b′ -t tartalmaz´ o ny´ılt f´els´ıkban nincsen pi pont, akkor k´eszen vagyunk; megkaptuk az elv´ alaszt´ o egyenest. Ha van, mondjuk a p4 pont, akkor p1 -t becser´elj¨ uk p4 -re ´es a keletkez˝ o {p2 , p3 , p4 } h´ aromsz¨ oggel folytatva iter´ aljuk az elj´ ar´ ast. A fenti algoritmus szeml´eletesen teh´ at azt jelenti, hogy a pi pontok ´ altal alkotott h´ aromsz¨ ogek seg´ıts´eg´evel mintegy letapogatjuk a s´ık egy darabj´ at, ´es ek¨ ozben vagy r´ aakadunk a b′ pontra vagy megtal´ alunk egy elv´ alaszt´ o egyenest. Magasabb dimenzi´ oban ez azt jelenti, hogy a pi pontjaib´ ol k´esz´ıtett szimplexekkel tapogatjuk le a teret, hogy megtal´ aljuk a b′ pontot. Innen teh´ at az elnevez´es.
Cikliz´ al´ as A k¨ ovetkez˝ o p´elda mutatja, hogy ha a fut´ as sor´ an nem alkalmazzuk a Bland f´ele szab´ alyt, akkor az algoritmus cikliz´ alhat. Legyen b′ az orig´ o ´es n = 6. Az orig´ o k¨ oz´eppont´ u egys´egk¨ or¨ on legyen p1 , p3 , p5 egy egyenl˝ o oldal´ u h´ aromsz¨ og h´ arom cs´ ucsa. i = 1, 2, 3-ra a p2i−1 pontot az orig´ oval ¨ osszek¨ ot˝ o szakasz felez˝ o pontj´ at az orig´ o k¨ or¨ ul az ´ oramutat´ o j´ ar´ as´ aval ellent´etesen egy cs¨ oppnyit elforgatva kapjuk a p2i pontot. Ha most Bi jel¨ oli a pi , pi+1 , pi+2 pontok ´ altal alkotott h´ aromsz¨ oget (modulo 6 tekintve), akkor a szimplex algoritmus egym´ as ut´ an ezen h´ aromsz¨ ogeket v´ alaszthatja (ezt ellen˝ orizz¨ uk le!), am´ıg vissza nem ´er a kiindul´ asi B1 -be. Feladatok 3.30 Hol t´er el el˝ osz¨ or az el˝ obbi p´eld´ aban a szimplex algoritmus, ha ugyanazzal a B1 h´ aromsz¨ oggel kezd¨ unk ´es alkalmazzuk a Bland f´ele legkisebb index szab´ alyt? 3.31 Tegy¨ uk fel, hogy csak a b´ azisba beker¨ ul˝ ou ´j oszlop kiv´ alaszt´ as´ an´ al alkalmazzuk a legkisebb index szab´ alyt, a b´ azisb´ ol kiker¨ ul˝ o oszlop meghat´ aroz´ as´ an´ al nem. Cikliz´ alhat-e ilyenkor az algoritmus vagy m´ ar ilyenkor is bizony´ıthat´ oan mindig v´eges lesz? 3.32 Tekints¨ uk a Farkas lemma k¨ ovetkez˝ o alakj´ at: Az yA ≤ c rendszernek pontosan akkor nincs megold´ asa, ha l´etezik olyan x ≥ 0, amelyre Ax = 0 ´es cx < 0. Tegy¨ uk fel, hogy A sorai line´ arisan f¨ uggetlenek. Igazoljuk, hogy a k¨ ovetkez˝ o algoritmus v´eges. (A bizony´ıt´ asban vagy a fenti bizony´ıt´ as l´ep´eseit imit´ aljuk, vagy pedig azt mutassuk ki, hogy az al´ abbi algoritmus nem m´ as, mint a fenti algoritmus adapt´ aci´ oja): u megold´ asa. Legyen B1 az A egy m × m-es nemszingul´ aris r´eszm´ atrixa ´es legyen y1 az yB1 = cB1 egy´ertelm˝ Amennyiben y1 A ≤ c, akkor k´eszen vagyunk, megtal´ altuk a k´ıv´ ant y-t. Ha y1 A 6≤ c, u ´gy legyen aj az A m´ atrix legkisebb index˝ u oszlopa, amelyre y1 aj < c(j). Tekints¨ uk a Bj x = −aj egy´ertelm˝ u x′1 megold´ as´ at, ´es jel¨ olje x1 ′ ol keletkezik az x1 (j) helyen 1-gyel, a t¨ obbin pedig 0-val kieg´esz´ıtve. Ekkor Ax1 = 0 azt a vektort, amely x1 -b˝ ´es cx1 = cB1 x′1 + c(j) = (y1 B1 )x′1 + c(j) < (y1 B1 )x′1 + y1 aj = (y1 A)x1 = 0. ´Igy ha x1 ≥ 0, akkor x1 teljes´ıti a Farkas lemma m´ asodik alternat´ıv´ aj´ at. Amennyiben x1 6≥ 0, u ´gy legyen i a legkisebb index, amelyre x1 (i) < 0, ´es cser´elj¨ uk ki a B1 -beli ai oszlopot az aj oszlopra. A keletkez˝ o B2 m´ atrixszal folytatva iter´ aljuk az elj´ ar´ ast. 3.33 Terjessz¨ uk ki a fenti algoritmust a Farkas lemma k¨ ovetkez˝ o v´ altozat´ ara. Az {yP = c0 , yA ≤ c1 } rendszernek pontosan akkor nincs megold´ asa, ha l´etezik olyan x = (x0 , x1 ), amelyre (P, A)x = 0, x1 ≥ 0 ´es cx < 0.
3.5.3
Line´ aris ´ es logikai k¨ ovetkezm´ eny
Azt mondjuk, hogy a cx ≤ γ egyenl˝ otlens´eg logikai k¨ ovetkezm´ enye a Qx ≤ b egyenl˝ otlens´eg rendszernek, ha az ut´ obbinak van megold´ asa ´es minden megold´ asa kiel´eg´ıti a cx ≤ γ egyenl˝ otlens´eget. Ez geometriailag azt jelenti, hogy az R := {x : Qx ≤ b} poli´eder teljesen a z´ art {x : cx ≤ γ} f´elt´erben fekszik. Azt mondjuk, hogy a cx ≤ γ egyenl˝ otlens´eg line´ aris k¨ ovetkezm´ enye Qx ≤ b-nek, ha l´etezik olyan y ≥ 0, amelyre yQ = c ´es yb ≤ γ. ´ TETEL 3.5.10 Felt´eve, hogy R nem¨ ures, a cx ≤ γ egyenl˝ otlens´eg akkor ´es csak akkor line´ aris k¨ ovetkezm´enye a Qx ≤ b egyenl˝ otlens´eg-rendszernek, ha logikai k¨ ovetkezm´enye.
67
Biz. Tegy¨ uk fel el˝ osz¨ or, hogy cx ≤ γ line´ aris k¨ ovetkezm´eny, azaz l´etezik olyan y ≥ 0, amelyre yQ = c ´es yb ≤ γ. Ekkor Qx ≤ b eset´en cx = (yQ)b = y(Qb) ≤ yb ≤ γ, azaz cx ≤ γ val´ oban logikai k¨ ovetkezm´eny. A ford´ıtott ir´ anyhoz tegy¨ uk fel, hogy cx ≤ γ logikai k¨ ovetkezm´eny. Azt kell kimutatnunk, hogy cx ≤ γ line´ aris k¨ ovetkezm´eny, vagyis, hogy l´etezik olyan y ≥ 0, amelyre yQ = c ´es yb ≤ γ. Tegy¨ uk fel, nem ez a helyzet, azaz nem l´etezik olyan y ≥ 0, amelyre yQ = c ´es y(−b) ≥ −γ. Ekkor a Farkas lemma (balr´ ol szorz´ os alakja) miatt van olyan (x∗ , α) vektor, amelyre α ≥ 0, Qx∗ − αb ≤ 0, cx∗ − αγ > 0.
(3.26)
Qx∗ ≤ 0, cx∗ > 0
(3.27)
Ha most α = 0, akkor ez a alakot ¨ olti. Ebb˝ ol k¨ ovetkezik, hogy az R poli´eder egy z elem´ere b´ armilyen pozit´ıv λ eset´en z + λx benne van R-ben, ugyanakkor c(z + λx) b´ armilyen nagy lehet, ha λ n˝ o, vagyis cx ≤ γ nem volna logikai k¨ ovetkezm´eny. Vagyis α-nak pozit´ıvnak kell lennie. Feltehet˝ o, hogy α = 1, mert α-val v´egigoszthatunk. Most (3.26) azzal ekvivalens, hogy Qx∗ ≤ b, cx∗ > γ vagyis az x∗ l´etez´ese c´ afolja, hogy cx ≤ γ logikai k¨ ovetkezm´eny volna. • A Farkas lemma k¨ ul¨ onf´ele v´ altozatai k¨ oz¨ otti ´ atj´ ar´ asokn´ al megismert eszk¨ oz¨ okkel levezethetj¨ uk a 3.5.10 t´etel kiterjeszt´es´et is. Tekints¨ uk a P x0 + Ax1 = b0 , Qx0 + Bx1 ≤ b1 , x1 ≥ 0 (3.28) egyenl˝ otlens´eg-rendszert, melynek R megold´ as-halmaz´ ar´ ol tegy¨ uk fel, hogy nem¨ ures. Legyen M =
P Q
Legyen c = (c0 , c1 ) adott vektor. Az (x0 , x1 ) vektort n´eha r¨ oviden x-szel jel¨ olj¨ uk, ´es hasonl´ ok´epp a vektort b-vel. Azt mondjuk, hogy a c0 x0 + c1 x1 ≤ γ
A B
b0 b1
.
(3.29)
egyenl˝ otlens´eg logikai k¨ ovetkezm´ enye a (3.28) rendszernek, ha (3.28) minden megold´ asa teljes´ıti (3.29)-t. A (3.29) egyenl˝ otlens´eg line´ aris k¨ ovetkezm´ enye (3.28)-nek, ha l´etezik olyan y := (y0 , y1 ), amelyre y1 ≥ 0, y0 P + y1 Q = c0 , y0 A + y1 B ≥ c1 , yb ≤ γ.
(3.30)
´ TETEL 3.5.11 Felt´eve, hogy R nem¨ ures, (3.29) akkor ´es csak akkor line´ aris k¨ ovetkezm´enye (3.28)-nek, ha logikai. Biz. Tegy¨ uk fel el˝ osz¨ or, hogy cx ≤ γ line´ aris k¨ ovetkezm´ eny, azaz l´etezik a sz´ obanforg´o y. Ekkor (3.28) A P ]x1 = (yM )x = y(M x) = ]x0 + [(y0 , y1 ) b´ armely x megold´ as´ ara cx = c0 x0 + c1 x1 ≤ [(y0 , y1 ) B Q y0 [P x0 + Ax1 ] + y1 [Qx0 + Bx1 ] ≤ y0 b0 + y1 b1 = yb ≤ γ, azaz cx ≤ γ val´ oban logikai k¨ ovetkezm´eny. A ford´ıtott ir´ anyhoz tegy¨ uk fel, hogy cx ≤ γ logikai k¨ ovetkezm´eny. M´ ar bel´ attuk azt a speci´ alis esetet n´ezz¨ uk, amikor A, B, P mindegyike u ¨res, azaz R = {x : Qx ≤ b}. Tegy¨ uk most fel, hogy A ´es B u ¨res. Az R-t defini´ al´ o rendszer a P x = b0 , Qx ≤ b1 (3.31) alakra egyszer˝ us¨ odik, ´es ilyenkor a cx ≤ γ egyenl˝ otlens´eg defin´ıci´ o szerint akkor line´ aris k¨ ovetkezm´eny, ha l´etezik olyan y := (y0 , y1 ), amelyre y1 ≥ 0, y0 P + y1 Q = c, yb ≤ γ.
(3.32)
(3.31) azzal ekvivalens, hogy P x ≤ b0 , −P x ≤ −b0 , Qx ≤ b1 . Ennek a rendszernek logikai k¨ ovetkezm´enye a cx ≤ γ egyenl˝ otlens´eg, ´ıgy a 3.5.10 t´etel szerint l´etezik olyan (y0′ , y0′′ , y1 ) ≥ 0 vektor, amelyre y0′ P + y0′′ (−P ) + y1 Q = c ´es y0′ b0 + y0′′ (−b0 ) + y1 b1 ≤ γ, de ekkor y0 := y0′ − y0′′ v´ alaszt´ assal (3.32) teljes¨ ul, azaz cx ≤ γ line´ aris k¨ ovetkezm´eny (3.31)-nek. B Q Az ´ altal´ anos eset bizony´ıt´ as´ ahoz legyen B ∗ := , Q∗ := , ahol I egy n2 × n2 -es egys´egm´ atrix, −I 0
b1 m´ıg 0 egy n2 × n1 -es nulla-m´ atrix. Legyen := , ahol 0 most egy n2 dimenzi´ os 0-vektor. A megel˝ oz˝ o 0 ∗ ∗ ∗ eset P ´es Q hely´en rendre P -gal ´es Q -gal illetve b1 hely´en b1 -gal ´eppen az ´ altal´ anos alakkal ekvivalens. • b∗1
68
3.5.4
Alkalmaz´ asok
´ TETEL 3.5.12 Ha egy n-v´ altoz´ os line´ aris egyenl˝ otlens´eg-rendszernek nincsen megold´ asa, akkor van egy legfeljebb n + 1 egyenl˝ otlens´egb˝ ol ´ all´ o r´eszrendszer u ´gy, hogy m´ ar annak sincsen megold´ asa. Biz. Amennyiben a Qx ≤ b rendszernek nincsen megold´ asa, u ´gy a Farkas lemma szerint l´etezik olyan y ≥ 0 vektor, amelyre yQ = 0, yb = −1. E du´ alis rendszer teh´ at megoldhat´ o, ´ıgy l´etezik y ∗ b´ azis-megold´ as is, amib˝ ol k¨ ovetkezik, hogy az y ∗ -nak legfeljebb n + 1 pozit´ıv komponense van. A Farkas lemma trivi´ alis ir´ anya szerint az ezen komponensekhez tartoz´ o egyenl˝ otlens´eg-rendszernek sincsen megold´ asa. • ´ TETEL 3.5.13 (Caratheodory) Ha a d-dimenzi´ os t´er egy z pontja p ≥ d + 1 darab pont konvex kombin´ aci´ oja, akkor ezen pontok k¨ oz¨ ott van legfeljebb d + 1, amelyeknek z konvex kombin´ aci´ oja. Biz. K´esz´ıts¨ unk el egy m´ atrixot, amelynek p oszlopa van ´es az egyes oszlopok a p pont helyvektorait tartalmazz´ ak, majd eg´esz´ıts¨ uk ki a m´ atrixot m´eg egy csupa egyesb˝ ol ´ all´ o sorral. A keletkez˝ o (d + 1) × p-es m´ atrixot jel¨ olje A. Az, hogy z el˝ o´ all a megadott pontok konvex kombin´ aci´ ojak´ent azt jelenti, hogy az Ax = (z, 1)-nek l´etezik nem-negat´ıv megold´ asa. De akkor l´etezik b´ azis-megold´ asa is, ami azt jelenti, hogy az el˝ o´ all´ıt´ asban legfeljebb annyi egy¨ utthat´ o nemnulla, mint ah´ any sora van az A m´ atrixnak, vagyis d + 1. • ´ TETEL 3.5.14 Ha R ´es R′ k´et nem¨ ures poli´eder, melyek metszete u ¨res, akkor van o ˝ket szigor´ uan elv´ alaszt´ o {x : cx = α} hipers´ık, azaz cx < α < cx′ fenn´ all az R minden x ´es az R′ minden x′ elem´ere. Biz. Legyen R = {x : Qx ≤ b} ´es R′ := {x : Q′ x ≤ b′ }. Mivel a metszet¨ uk u ¨res, azaz a {Qx ≤ b, Q′ x ≤ b′ } ′ rendszernek nincsen megold´ asa, a Farkas lemma szerint, l´etezik olyan (y, y ) ≥ 0 vektor, amelyre yQ+y ′ Q′ = 0 ′ ′ ´es yb + y b < 0. Ekkor az yb ´es y ′ b′ sz´ amok egyike biztosan negat´ıv, mondjuk yb. A c := yQ vektor nem lehet nulla, mert akkor (a Farkas lemma trivi´ alis ir´ anya miatt) R u ¨res lenne. yb + y ′ b′ < 0 miatt van olyan α sz´ am, amelyre yb < α < −y ′ b′ . Ekkor x ∈ R-re cx = (yQ)x = y(Qx) ≤ yb < α ´es x′ ∈ R′ -re cx′ = (yQ)x′ = −(y ′ Q′ )x′ = −y ′ (Q′ x′ ) ≥ −y ′ b′ > α. • ´ TETEL 3.5.15 (Helly) Az n-dimenzi´ os t´erben adottak a C1 , . . . , Ck konvex halmazok, melyek metszete u ¨res. Ekkor ezen halmazok k¨ oz¨ ott l´etezik m´ ar legfeljebb n + 1 olyan is, amelyek metszete u ¨res. Biz. Feltehet˝ o, hogy k > n+1. Tegy¨ uk fel indirekt, hogy b´ armely n+1 halmaz metszete nem¨ ures. Kimutatjuk, hogy l´eteznek Ri ⊆ Ci poli´ederek u ´gy, hogy m´ ar ezek k¨ oz¨ ul is b´ armely n + 1-nek van k¨ oz¨ os pontja. E c´elb´ ol legyen S olyan v´eges halmaz, hogy a Ci -k k¨ oz¨ ul b´ armely n + 1-nek van k¨ oz¨ os pontja S-ben. Mindegyik Ci -re legyen Ri a Ci -be es˝ o S-beli pontok konvex burka. Mivel Ci konvex, ´ıgy Ri ⊆ Ci . A 3.4.3 t´etel szerint Ri poli´eder. Ha most vesz¨ unk n + 1 darab Ci halmazt, akkor az ezek metszet´eben l´ev˝ o S-beli pontok S defin´ıci´ oja folyt´ an benne vannak a megfelel˝ o n + 1 darab Ri metszet´eben is. Ebb˝ ol ad´ odik, hogy az Ri -ket defini´ al´ o egyenl˝ otlens´eg-rendszerek egyes´ıt´es´eb˝ ol b´ arhogy v´eve n + 1 egyenl˝ otlens´eget, annak van megold´ asa, ´es ´ıgy a 3.5.12 t´etel szerint az eg´esz rendszernek is l´etezik megold´ asa, vagyis az ¨ osszes Ri halmaznak van k¨ oz¨ os pontja, ´es emiatt persze az ¨ osszes Ci halmaznak is van, ellentmond´ asban a t´etel feltev´es´evel. • ´ TETEL 3.5.16 (Kirchberger) Az n dimenzi´ os t´erben adott k piros ´es ℓ z¨ old pont, ahol k + ℓ ≥ n + 2. Amennyiben a piros pontokat nem lehet a z¨ old pontokt´ ol egy hipers´ıkkal elv´ alasztani, u ´gy a pontok k¨ oz¨ ott l´etezik legfeljebb n + 2 olyan, hogy m´ ar ezeket sem lehet hipers´ıkkal elv´ alasztani. Biz. Jel¨ olje P ´es Z azokat a m´ atrixokat, amelyek oszlopai a piros illetve a z¨ old pontok helyvektorai. Eg´esz´ıts¨ uk ki a [P, −Z] m´ atrixot egy (1, 1, . . . , 1, 0, . . . , 0) sorvektorral, amely k darab egyest tartalmaz, valamint egy (0, . . . , 0, 1, 1, . . . , 1) sorvektorral, amely ℓ egyest tartalmaz. A keletkez˝ o m´ atrixot jel¨ olje A. Legyen b az az (n + 2)-dimenzi´ os vektor, melynek utols´ o k´et komponense 1, m´ıg a t¨ obbi 0. Az A-nak teh´ at n + 2 sora van. ´ ıtjuk, hogy az {Ax = b, x ≥ 0} rendszernek van megold´ All´ asa. Ha ugyanis nincs, akkor a Farkas lemma szerint l´etezik egy olyan (y, α, β) vektor, amelyre yP + αek ≥ 0, −yZ + βeℓ ≥ 0 ´es α + β < 0, ahol ei a csupa 1-esb˝ ol ´ all´ o i-dimenzi´ os vektort jel¨ oli. Ez viszont azt jelenti, hogy az {x : yx = −α} hipers´ık elv´ alasztja a piros ´es a z¨ old pontokat, ellent´etben a feltev´essel. Az {Ax = b, x ≥ 0} rendszer egy megold´ asa a piros illetve ´es a z¨ old pontok egy-egy konvex kombin´ aci´ oj´ at adja meg, amelyek egyenl˝ ok egym´ assal. Emiatt az ebben szerepl˝ o piros ´es z¨ old pontok nem v´ alaszthat´ ok el hipers´ıkkal. Miut´ an l´etezik b´ azis-megold´ as ´es ebben legfeljebb n + 2 nemnulla komponens van, az ezeknek megfelel˝ o pontok sem v´ alaszthat´ ok el hipers´ıkkal. • A geometriai alkalmaz´ asok ut´ an most k¨ ovetkezz´ek egy ´erdekes eredm´eny a val´ osz´ın˝ us´egsz´ am´ıt´ as ter¨ ulet´er˝ ol. ´ TETEL 3.5.17 Ha az A n×n-es nemnegat´ıv m´ atrix minden oszlop´ aban az elemek ¨ osszege 1, akkor az {Ax = x, en x = 1, x ≥ 0} rendszernek l´etezik megold´ asa, ahol en = (1, . . . , 1).
69
Biz. Legyen B = A − I, ahol I jel¨ oli a diagon´ alis egys´egm´ atrixot. Azt kell kimutatnunk, hogy a {Bx = 0, en x = 1, x ≥ 0} rendszernek l´etezik megold´ asa. Ha nem l´etezne, u ´gy a Farkas lemma alapj´ an volna olyan (y, α) vektor, amelyre yB + αen ≥ 0 ´es α < 0, ami azzal ekvivalens, hogy l´etezik olyan y, amelyre yB≫0, azaz yA≫y. Jel¨ olje y legnagyobb komponens´enek ´ert´ek´et µ. A felt´etelek nyom´ an y ≪ yA ≤ (µen )A = (µ, . . . , µ), ellentmond´ asban µ v´ alaszt´ as´ aval. • Feladat 3.34 A Farkas lemma felhaszn´ al´ as´ aval igazoljuk a k¨ ovetkez˝ o eredm´enyt. ´ TETEL 3.5.18 Legyen D = (V, A) ir´ any´ıtott gr´ af ´elhalmaz´ an adott a g : A → R+ kapacit´ as f¨ uggv´eny. Akkor ´es csak akkor l´etezik az si pontb´ ol ti -be αi nagys´ ag´ u folyam (i = 1, . . . , k) u ´gy, hogy minden ´elre a rajta ´ atmen˝ o folyam´ert´eP kek ¨ osszege legfeljebb P az ´el kapacit´asa, ha az ´eleken ´ertelmezett tetsz˝oleges c nemnegat´ıv k c(e)g(e), ahol ℓc (i) jel¨ oli az si -b˝ ol ti -be vezet˝ o utak minim´ alis ck¨ olts´egf¨ uggv´enyre ℓ (i)α ≤ c i e∈A i=1 k¨ olts´eg´et. ulin14 2013. augusztus 1.
70
4. Fejezet
´ ´ AS ´ LINEARIS OPTIMALIZAL 4.1
Ir´ anymenti korl´ atoss´ ag
A Farkas lemma megadta egy line´ aris egyenl˝ otlens´eg-rendszer megoldhatatlans´ ag´ anak, m´ assz´ oval egy R poli´eder u ¨ress´eg´enek az ok´ at. A k¨ ovetkez˝ o feladatunk annak eld¨ ont´ese, hogy valamely c vektorra a cx line´ aris c´elf¨ uggv´eny korl´ atos-e (mondjuk) fel¨ ulr˝ ol egy nem¨ ures R poli´ederen. Kor´ abban m´ ar igazoltuk, hogy mindig l´etezik er˝ os b´ azis-megold´ as ´es legfeljebb v´eges sok van bel˝ ol¨ uk. Ki fogjuk mutatni, hogy minden olyan c vektorra, amelyre cx az R halmazon fel¨ ulr˝ ol korl´ atos, a sup{cx : x ∈ R} ´ert´ek egy er˝ os b´ azis-megold´ ason felv´etetik, azaz a maximum l´etezik. T´ ul ezen, jellemezz¨ uk majd azon c vektorokat, melyekre cx fel¨ ulr˝ ol korl´ atos R-en. Az ide´ alis az lenne, ha igazolni tudn´ ank, hogy tetsz˝ oleges c vektorra ´es z ∈ R megold´ asra mindig l´etezik olyan x∗ b´ azis-megold´ as, amelyre cx∗ ≥ cz, vagyis x∗ a max cx c´elf¨ uggv´eny szempontj´ ab´ ol legal´ abb olyan j´ o, mint z. Sajnos ez az ´ all´ıt´ as m´ ar egy dimenzi´ oban sem igaz. Tekints¨ uk ugyanis az x ≥ 0 egyenl˝ otlens´eget (ahol x most egyetlen v´ altoz´ ot jel¨ ol). Ennek egyetlen b´ azis-megold´ asa van, az x = 0. ´Igy a c = 1 (egydimenzi´ os) vektor eset´en az x = 1 ponthoz nincs n´ ala jobb b´ azis-megold´ as. A bajt az okozza, hogy cx nem korl´ atos fel¨ ulr˝ ol az R-en. Emiatt ´erdemes megvizsg´ alni, hogy ez mik´ent fordulhat el˝ o. K¨ onny˝ u megfigyelni, hogy a nem korl´ atoss´ agnak egyik (´es amint k´es˝ obb majd kider¨ ul az egyetlen) lehets´eges oka, ha l´etezik olyan q vektor, amelyre cq > 0, Qq ≤ 0. A poli´eder egy ilyen q vektor ´ altal meghat´ arozott ir´ any´ at c-n¨ ovel˝ onek nevez¨ unk. Ekkor cx val´ oban nem korl´ atos fel¨ ulr˝ ol R-en, hiszen b´ armely pozit´ıv λ sz´ amra z + λq is eleme R-nek, ´es cq > 0 miatt c(z + λq) b´ armilyen nagy lehet. A k¨ ovetkez˝ o lemma tartalma az, hogy ha a c-n¨ ovel˝ o ir´ anyok l´etez´es´et kiz´ arjuk, akkor az el˝ obbi p´eld´ aval illusztr´ alt baj m´ ar nem fordulhat el˝ o. Lemma 4.1.1 Legyen z a Qx ≤ b egyenl˝ otlens´eg-rendszernek egy megold´ asa, ´es c egy n-dimenzi´ os vektor. Ha nem l´etezik olyan q vektor, amelyre cq > 0, Qq ≤ 0, akkor Qx ≤ b-nek l´etezik olyan x∗ b´ azis-megold´ asa, amelyre cx∗ ≥ cz. (Megjegyz´es. A lemma megford´ıt´ asa nem igaz, vagyis el˝ ofordulhat, hogy mind q, mind x∗ l´etezik. Ha p´eld´ aul R = {(z1 , z2 ) : −z2 ≤ 0, z2 ≤ 0} a s´ık v´ızszintes tengelye, u ´gy minden megold´ as egy´ uttal b´ azis-megold´ as is, ´es ez´ert x∗ := z v´ alaszt´ assal cx∗ = cz teljes¨ ul. Ugyanakkor z := (0, 0), q = (1, 0), c = (1, 0) eset´en cq = 1 ´es Qq = 0). Biz. A Q< ama szerinti indukci´ o. Ha ez a sz´ am nulla, u ´gy z maga b´ azis-megold´ as, teh´ at j´ o lesz x∗ -nak. z sorai sz´ < Tegy¨ uk fel, hogy z nem b´ azis-megold´ as. Ez azt jelenti, hogy Qz -nek van olyan sora, amely line´ arisan f¨ uggetlen < a Q= ol, ´es emiatt az 2.2.9 t´etelb˝ ol ad´ od´ oan l´etezik olyan q, amelyre Q= uk az z sorait´ z q = 0, Qz q 6= 0. Tekints¨ xλ := z + λq vektort (λ ≥ 0). 1. eset cq = 0. Feltehet˝ o, hogy Q< ul¨ onben q-t a negat´ıvj´ aval z -nek van olyan i q sora, amelyre i qq > 0, mert k¨ helyettes´ıthetj¨ uk. Kicsiny λ-ra xλ benne van R-ben, m´ıg nagy λ-ra, i qq > 0 miatt, nincsen. ´Igy van olyan obb egyenl˝ otlens´eget teljes´ıt egyenl˝ os´eggel, mint z. [Nevezetesen λ′ a λ′ > 0 ´ert´ek, amelyre xλ′ ∈ R ´es xλ′ t¨ < ′ maxim´ alis olyan λ ´ert´ek, amelyre Q< x ≤ b teljes¨ u l, vagyis λ = min((b (i) − i qz)/ i qq : i q a Q< z z λ z z olyan sora, < amelyre i qq > 0).] Miut´ an Q< -nek kevesebb sora van, mint Q -nek, az indukci´ o s feltev´ e st alkalmazhatjuk x λ′ z azis-megold´ as, amelyre cx∗ ≥ cxλ′ = cz + c(λ′ q) = cz. xλ′ -re. ´Igy l´etezik egy olyan x∗ b´ 2. eset cq 6= 0. Feltehet˝ o, hogy cq > 0, mert ha nem, q-t a negat´ıvj´ aval helyettes´ıtj¨ uk. Amennyiben Q< ´gy q l´ete ellentmond a lemma feltev´es´enek. Ha viszont van olyan i q sora Q< z q ≤ 0, u z -nak, amelyre i qq > 0, akkor ugyan´ ugy j´ arunk el, mint az els˝ o esetben: indukci´ o alapj´ an l´etezik olyan x∗ b´ azis-megold´ as, amelyre
71
o egyenl˝ otlens´eg ´erdek´eben kellett q-t u ´gy v´ alasztanunk, hogy cq cx∗ ≥ cxλ′ = cz + c(λ′ q) > cz. (Az utols´ pozit´ıv legyen.) • Hasznos tudatos´ıtani, hogy a bizony´ıt´ as algoritmikus abban az ´ertelemben, hogy a sz´ obanforg´ o x∗ -t a Gauss-elimin´ aci´ o seg´ıts´eg´evel polinom id˝ oben kisz´ am´ıthatjuk. A lemm´ at c = 0-ra alkalmazva visszakapjuk a 3.3.10 t´etelt b´ azis-megold´ as l´etez´es´er˝ ol. A f˝ o eredm´enyt el˝ osz¨ or speci´ alis alakban fogalmazzuk meg. ´ TETEL 4.1.2 (Az ir´ anymenti korl´ atoss´ ag t´ etele, speci´ alis alak) Tegy¨ uk fel, hogy az R := {x : Qx ≤ b} poli´eder nem¨ ures, ´es legyen c egy n-dimenzi´ os vektor. A k¨ ovetkez˝ ok ekvivalensek. (0) (1) (2) (3)
A {cx} line´ aris f¨ uggv´eny R-en fel¨ ulr˝ ol korl´ atos. Minden z ∈ R elemre l´etezik Qx ≤ b-nek olyan x∗ er˝ os b´ azis-megold´ asa, amelyre cx∗ ≥ cz. Nem l´etezik olyan q vektor, amelyre cq > 0 ´es Qq ≤ 0. L´etezik olyan y ≥ 0 vektor, amelyre yQ = c.
Biz. El˝ osz¨ or is figyelj¨ uk meg, hogy a (2) ´es (3) felt´etelek ekvivalenci´ aja nem m´ as, mint a balr´ ol szorz´ assal fel´ırt Farkas lemma standard alakja. Mivel a 3.3.12 k¨ ovetkezm´eny alapj´ an csak v´eges sok er˝ os b´ azis-megold´ as van, (1) implik´ alja (0)-t. (0)-b´ ol r¨ ogt¨ on k¨ ovetkezik (2). Igazoljuk most a (2) → (1) ir´ anyt. A 4.1.1 lemm´ ab´ ol tudjuk, hogy l´etezik olyan x∗ b´ azis-megold´ as, amelyre cx∗ ≥ cz. V´ alasszuk x∗ -t olyannak, amelynek maxim´ alisan sok 0 komponense ´ ıtjuk, hogy x∗ er˝ van. All´ os b´ azis-megold´ as. Tegy¨ uk fel indirekt, hogy ez nem igaz, vagyis az x∗ nemnulla komponenseinek megfelel˝ o Q-beli oszlopok line´ arisan ¨ osszef¨ ugg˝ oek. Ez azt jelenti, hogy l´etezik egy olyan q 6= 0 vektor, amelyre Qq = 0 (vagyis q eltol´ asi vektor) ´es x∗ (i) = 0 eset´en q(i) = 0. Feltehetj¨ uk, hogy cq ≥ 0, k¨ ul¨ onben q-t a minusz egyszeres´evel helyettes´ıtj¨ uk. A (2)-b˝ ol k¨ ovetkezik, hogy val´ oj´ aban cq = 0. Most alkalmas λ-ra x∗λ := x∗ + λq-nak t¨ obb nulla komponense lesz, mint x∗ -nak, tov´ abb´ a x∗λ is b´ azis-megold´ as, ∗ ∗ ∗ amely cx = cxλ miatt ellentmond x v´ alaszt´ as´ anak. • K¨ ovetkezm´ eny 4.1.3 Ha az R = {x : Qx ≤ b} poli´eder nem¨ ures, ´es {cx : x ∈ R} fel¨ ulr˝ ol korl´ atos, u ´gy max{cx : x ∈ R} l´etezik (azaz l´etezik olyan z ∈ R, amelyre cz = sup{cx : x ∈ R}). Biz. A 3.3.12 t´etel szerint v´eges sok er˝ os b´ azis-megold´ as van. A 4.1.2 t´etelb˝ ol ad´ od´ oan a maximum ezek egyik´en felv´etetik. • Megjegyz´ es A 4.1.2 t´etel h´ arom jellemz´est is ad {cx : x ∈ R} fel¨ ulr˝ ol val´ o korl´ atoss´ ag´ ara. Az els˝ o tartalma az, hogy a maximum felv´etetik (v´eges sok er˝ os b´ azis-megold´ as van). A m´ asodik k¨ onnyen ellen˝ orizhet˝ o okot mutat a nemkorl´ atoss´ agra (Qq ≤ 0 miatt zλ = z + λq ∈ R, ´ıgy cq > 0 miatt czλ b´ armilyen nagy lehet.) V´eg¨ ul a harmadik jellemz´es k¨ onnyen ellen˝ orizhet˝ o okot mutat a korl´ atoss´ agra (y ≥ 0, yQ = c eset´en minden x ∈ R-re cx = (yQ)x = y(Qx) ≤ yb, magyar´ an az yb ´ert´ek egy konkr´et fels˝ o korl´ at.) K¨ ovetkezm´ eny 4.1.4 Ha egy egyenl˝ otlens´eg-rendszer megoldhat´ o, akkor van er˝ os b´ azis-megold´ asa is. Biz. A 4.1.2 t´etelben c = 0-ra (0) fenn´ all, ´ıgy a t´etel alapj´ an (1) is. • Az irodalomban gyakran Caratheodory t´etelnek h´ıvj´ ak a 4.1.4 k¨ ovetkezm´enynek az {Ax = b, x ≥ 0} alakra vonatkoz´ o speci´ alis eset´et, ami szerint, ha van megold´ as, akkor van olyan is, amelynek a nem-nulla komponenseihez tartoz´ o A-beli oszlopok line´ arisan f¨ uggetlenek. Alkalmazhatjuk a Farkas lemma balr´ ol szorz´ assal fel´ırt ´ altal´ anos alakj´ at (3.5.8 t´etel) a 4.1.2 t´etel kiterjeszt´es´ere arra az esetre, amikor az R poli´eder a P x0 + Ax1 = b0 , Qx0 + Bx1 ≤ b1 , x1 ≥ 0
(4.1)
egyenl˝ otlens´eg-rendszer megold´ as-halmaz´ at jel¨ oli. ´ TETEL 4.1.5 (Az ir´ anymenti korl´ atoss´ ag t´ etele) Tegy¨ uk fel, hogy az R poli´eder nem¨ ures, ´es legyen c = (c0 , c1 ) adott vektor. A k¨ ovetkez˝ ok ekvivalensek. (0) (1) (2) (3)
A {cx} line´ aris f¨ uggv´eny R-en fel¨ ulr˝ ol korl´ atos. Minden z ∈ R elemre l´etezik (4.1)-nek olyan x∗ er˝ os b´ azis-megold´ asa, amelyre cx∗ ≥ cz. Nem l´etezik olyan q = (q0 , q1 ) vektor, amelyre cq > 0, ´es q1 ≥ 0, P q0 + Aq1 = 0, Qq0 + Bq1 ≤ 0. L´etezik olyan y = (y0 , y1 ) vektor, amelyre y0 P + y1 Q = c0 , y0 A + y1 B ≥ c1 , y1 ≥ 0.• ulin15 2013. augusztus 1.
72
(4.2)
4.2
Optimalit´ as
Kor´ abban megvizsg´ altuk, hogy egy R poli´eder mikor nem¨ ures, majd azt, hogy egy cx line´ aris c´elf¨ uggv´eny mikor korl´ atos fel¨ ulr˝ ol R-en. Most r´ at´er¨ unk a line´ aris programoz´ as f˝ o k´erd´es´enek t´ argyal´ as´ ara: amennyiben R nem¨ ures ´es {cx : x ∈ R} korl´ atos fel¨ ulr˝ ol, hogyan jellemezhetj¨ uk a cx-et maximaliz´ al´ o pontokat ´es a maximum ´ert´ek´et. R¨ oviden, maximaliz´ aljuk cx-t az R poli´eder felett: max{cx : x ∈ R}.
(4.3)
A (4.3) feladatot line´ aris programnak nevezz¨ uk. Term´eszetesen a poli´eder lehet m´ as alakban is megadva, szorozhatunk balr´ ol, ´es maximaliz´ al´ as helyett szerepelhet minimaliz´ al´ as (l´ asd a (4.19) ´es a (4.20) alakokat). Miut´ an R nem¨ ures ´es cx fel¨ ulr˝ ol korl´ atos R-en, a 4.1.2 t´etel alapj´ an jogos (4.3)-ben maximumr´ ol besz´elni. Geometriailag egy line´ aris program azt jelenti, hogy a c vektor ir´ any´ aban keress¨ uk az R legt´ avolabbi pontj´ at, vagyis azt a pontot, amelyben egy c norm´ alis´ u hipers´ık, ha k´ıv¨ ulr˝ ol a poli´ederhez toljuk, azt meg´erinti. Speci´ alis eset, amikor a c egy egys´egvektor (p´eld´ aul c = (0, 0, . . . , 0, 1), ekkor a line´ aris programoz´ as feladata u ´gy interpret´ alhat´ o, hogy egy poli´edernek a legmagasabb pontj´ at kell megkeresni. Ez igen egyszer˝ unek l´ atszik, r´ aad´ asul az ´ altal´ anos c esete egyszer˝ u fog´ assal ilyen alakra hozhat´ o. M´egsem ismert olyan hat´ekony (polinomi´ alis fut´ asidej˝ u) elj´ ar´ as, amely a Gauss-elimin´ aci´ ohoz hasonl´ o egyszer˝ u l´ep´esekb˝ ol ´ all. (Az olyan ismert polinomi´ alis algoritmusok, mint az ellipszoid m´ odszer vagy az u ´n. bels˝ o pontos m´ odszerek bonyolultabb appar´ atust ig´enyelnek.) Egy egyenl˝ otlens´eg-rendszer megold´ as´ ara szolg´ al´ o Fourier-Motzkin elj´ ar´ as ilyen egyszer˝ u l´ep´esekb˝ ol ´ all, ´es k¨ onnyen m´ odos´ıthat´ o is egy line´ aris program megold´ as´ ara, de nem hat´ekony. A szimplex algoritmussal a optimaliz´ al´ os v´ altozat´ aval k¨ ovetkez˝ o r´eszben fogunk megismerkedni. Ez az FM elj´ ar´ ashoz hasonl´ıt abban, hogy egyszer˝ u l´ep´esekb˝ ol ´ all ´es matematikai ´ertelemben nem hat´ekony. A gyakorlatban ugyanakkor igen j´ ol haszn´ alhat´ o.
4.2.1
Optimalit´ asi felt´ etelek
Egy line´ aris programmal kapcsolatban fontos k´erd´es, hogy l´etezik-e olyan egyszer˝ uen ellen˝ orizhet˝ o eszk¨ oz, amelynek seg´ıts´eg´evel a poli´eder egy megadott x∗ elem´enek optimalit´ as´ ar´ ol gyorsan meggy˝ oz˝ odhet¨ unk. Amennyiben x∗ nem optim´ alis, egy olyan eszk¨ oz is k´ıv´ anatos, amelynek seg´ıts´eg´evel az x∗ -n´ al a poli´edernek egy jobb elem´ehez tudunk hozz´ ajutni (x jobb: cx > cx∗ ). Legyen x∗ az R = {x : Qx ≤ b} egy adott eleme. Azt mondjuk, hogy egy ~x′ ir´ any x∗ -n´ al lehets´ eges ∗ ′ elmozdul´ as, ha van olyan (kicsiny) pozit´ıv λ sz´ am, amelyre x + λx ∈ R. Ha r´ aad´ asul cx′ > 0, akkor ~ x′ -t n¨ ovel˝ o ir´ anynak h´ıvjuk (c-re ´es x∗ -re n´ezve). Egyszer˝ u megfigyelni, hogy ~x′ pontosan akkor lehets´eges ′ x ≤ 0. elmozdul´ as, ha Q= ∗ x ´ TETEL 4.2.1 Tegy¨ uk fel, hogy az R := {x : Qx ≤ b} poli´eder nem¨ ures ´es {cx : x ∈ R} fel¨ ulr˝ ol korl´ atos. Az R egy megadott x∗ elem´ere a k¨ ovetkez˝ o´ all´ıt´ asok ekvivalensek. (1) cx∗ ≥ cx minden x ∈ R-re, azaz x∗ maximaliz´ alja a cx f¨ uggv´enyt az R-en (r¨ oviden, x∗ optim´ alis). ′ es cx′ > 0. (2) Nem l´etezik c-n¨ ovel˝ o ir´ any, azaz olyan x′ vektor, amelyre Q= x∗ x ≤ 0 ´
(3) A c vektor benne van x∗ akt´ıv sorainak k´ upj´ aban. M´ as sz´ oval, van olyan y ∗ vektor, amely kiel´eg´ıti az y ∗ ≥ 0, y ∗ Q = c
(4.4)
du´ alis felt´etelt, ´es amelyre fenn´ all az y ∗ (i) > 0 ⇒
i qx
∗
= b(i)
(4.5)
optimalit´ asi krit´erium. (4.4) fenn´ all´ asa eset´en (4.5) azzal ekvivalens, hogy cx∗ = by ∗ ,
(4.6)
y ∗ (b − Qx∗ ) = 0.
(4.7)
tov´ abb´ a azzal, hogy Biz. (1) ⇒ (2) Ha l´etezik a sz´ obanforg´ o x′ , akkor kicsiny pozit´ıv λ-ra az x∗ + λx′ vektor R-ben van, ami cx′ > 0 miatt ellentmond cx∗ maximalit´ as´ anak. (2) ⇒ (3) Ha nem l´etezik a sz´ obanforg´ o x′ , akkor a Farkas lemma (balr´ ol szorz´ os alakja) miatt van olyan ıgy y ′ -t nulla komponensekkel kieg´esz´ıtve egy (4.5)-t kiel´eg´ıt˝ o y ∗ -t kapunk. y ′ ≥ 0, amelyre y ′ Q= x∗ = c, ´ (3) ⇒ (1) Tetsz˝ oleges x ∈ R eset´en cx = (y ∗ Q)x = y ∗ (Qx) ≤ y ∗ b,
(4.8)
vagyis az y ∗ b ´ert´ek fels˝ o korl´ at {cx : x ∈ R}-re. Ebb˝ ol ad´ odik, hogy egy x∗ ∈ R elem bizonyosan optim´ alis, ha (4.8)-t egyenl˝ os´eggel teljes´ıti. M´ asr´eszt (4.5),(4.6), (4.7) mindegyike azzal ekvivalens, hogy x∗ egyenl˝ os´eggel teljes´ıti (4.8). •
73
Megjegyz´ es A (4.5) optimalit´ asi krit´erium szavakban kifejezve azt mondja, hogy az y ∗ b´ armely komponense csak akkor lehet pozit´ıv, ha a neki megfelel˝ o prim´ al egyenl˝ otlens´eget az x∗ egyenl˝ os´eggel teljes´ıti. Az el˝ obbi bizony´ıt´ as l´ep´eseinek a m´ asol´ as´ aval kiterjeszthetj¨ uk a t´etelt az ´ altal´ anos alakra. Gyakorlat 4.1 Igazoljuk, hogy egy ´ altal´ anos R = {(x0 , x1 ) : x1 ≥ 0, P x0 + Ax1 = b0 , Qx0 + Bx1 ≤ b1 } alakban megadott poli´eder x∗ = (x∗0 , x∗1 ) elem´ere az x′ = (x′0 , x′1 ) vektor ~ x′ ir´ anya pontosan akkor lehets´eges ′ ′ ′ ′ ∗ ′ elmozdul´ as, ha P x0 + Ax1 = 0 ´es Qx0 + Bx1 ≤ 0, ´es x1 (i) = 0 eset´en x1 (i) ≥ 0. ´ TETEL 4.2.2 Tegy¨ uk fel, hogy a P x0 + Ax1 = b0 , Qx0 + Bx1 ≤ b1 , x1 ≥ 0
(4.9)
rendszerrel defini´ alt R poli´eder nem¨ ures ´es {cx = c0 x0 +c1 x1 : x ∈ R} fel¨ ulr˝ ol korl´ atos. Legyen x∗ = (x∗0 , x∗1 ) az = ) a (Q, B) m´ a trix azon sorai ´ a ltal alkotott r´ e szm´ atrixot, amelyekre a hozz´ ajuk , B R egy eleme, ´es jel¨ olje (Q= ∗ ∗ x x tartoz´ o egyenl˝ otlens´egeket x∗ egyenl˝ os´eggel teljes´ıti, m´ıg b= jel¨ o lje a b megfel˝ o r´ e sz´ e t. A k¨ o vetkez˝ o ´ a ll´ ıt´ a sok 1 1∗ ekvivalensek. (1) cx∗ ≥ cx minden x ∈ R, azaz x∗ maximaliz´ alja a cx f¨ uggv´enyt az R-en (r¨ oviden, x∗ optim´ alis). ′ ′ ′ ′ (2) Nem l´etezik c-n¨ ovel˝ o ir´ any, azaz olyan x = (x0 , x1 ) vektor, amelyre cx > 0, ′ = ′ P x′0 + Ax′1 = 0, Q= x∗ x0 + Bx∗ x1 ≤ 0
(4.10)
x∗1 (i) = 0 ⇒ x′1 (i) ≥ 0.
(4.11)
´es ∗
(3) L´etezik olyan y =
(y0∗ , y1∗ )
vektor, amely kiel´eg´ıti az y1∗ ≥ 0, y0∗ P + y1∗ Q = c0 , y0∗ A + y1∗ B ≥ c1
(4.12)
du´ alis felt´etelt, ´es amelyre fenn´ all az x∗1 (j) > 0 ⇒ y0∗ aj + y1∗ bj = c1 (j)
(4.13)
valamint az y1∗ (i) > 0 ⇒
∗ i qx0
+ i bx1 = b1 (i),
(4.14)
optimalit´ asi krit´erium. (4.12) fenn´ all´ asa eset´en az optimalit´ asi krit´erium azzal ekvivalens, hogy cx∗ = by ∗ ,
(4.15)
y ∗ (b − M x∗ ) = 0,
(4.16)
´es azzal, hogy
ahol M =
P Q
A B
.
Biz. (1) ⇒ (2) Ha l´etezik a sz´ obanforg´ o x′ , akkor kicsiny pozit´ıv λ-ra a x∗ + λx′ vektor R-ben van, ami cx′ > 0 miatt ellentmond x∗ maximalit´ as´ anak. (2) ⇒ (3) Jel¨ olje P ′ a (P, A) m´ atrix azon r´eszm´ atrix´ at, amely a P -b˝ ol ´es azon A-beli ai oszlopokb´ ol ´ all, ∗ ´ atrixb´ ol amelyekre x1 (i) > 0, ´es legyen A′ az A marad´ek r´esze. (Teh´ at (P ′ , A′ ) = (P, A)). Alljon Q′ a Q= x∗ m´ o komponensei pozit´ıvak, ´es legyen B ′ a Bx=∗ kieg´esz´ıtve a Bx=∗ azon oszlopaival, amelyekre az x∗1 megfelel˝ = og m´ odon defini´ aljuk (c′0 , c′1 )-t. marad´ek r´esze. (Teh´ at (Q′ , B ′ ) = (Q= x∗ , Bx∗ )). Anal´ ′ Ha (2) szerint nem l´etezik a sz´ obanforg´ o x , akkor a Farkas lemma 3.5.8 t´etelben megfogalmazott alakja ′ ∗ ′ = es legyen y1∗ szerint van olyan (y0 , y1 ), amelyre y1 ≥ 0, y0 P + y1 Q= x∗ = c0 , y0 A + y1 Bx∗ ≥ c1 . Legyen y0 := y0 , ´ az a vektor, amelyet y1 -b˝ ol kapunk nulla komponensek hozz´ av´etel´evel (´espedig annyival, ah´ any sora Q< x∗ -nek van). Az ´ıgy kapott (y0∗ , y1∗ ) vektor kiel´eg´ıti a du´ al felt´eteleket ´es az optimalit´ asi krit´eriumot. (3) ⇒ (1) Tetsz˝ oleges x ∈ R eset´en cx = c0 x0 + c1 x1 ≤
[(y0∗ , y1∗ )
P ]x0 + [(y0∗ , y1∗ ) Q
A B
]x1 = (y ∗ M )x =
= y ∗ (M x) = y0∗ [P x0 + Ax1 ] + y1∗ [Qx0 + Bx1 ] ≤ y0∗ b0 + y1∗ b1 = y ∗ b, ∗
∗
(4.17) (4.18)
vagyis az y b ´ert´ek fels˝ o korl´ at {cx : x ∈ R}-re. Ebb˝ ol ad´ odik, hogy az x ∈ R elem bizonyosan optim´ alis, A ∗ ∗ ha (4.17) ´es (4.18) mindegyike egyenl˝ os´eggel teljes¨ ul. Az els˝ o azt jelenti, hogy c1 x1 = (y0 , y1 ) x∗1 , B ami pontosan akkor ´ all fenn, ha x∗1 (j) > 0 eset´en y0∗ ai + y1∗ bi = c1 (i), azaz (4.13) teljes¨ ul. Az x∗ akkor
74
teljes´ıti (4.18)-t egyenl˝ os´eggel, ha y1∗ [Qx∗0 + Bx∗1 ] = y1∗ b1 , ami pontosan akkor ´ all fenn, ha y1∗ (i) > 0 eset´en ∗ ∗ qx + bx = b (i), azaz (4.14) teljes¨ u l. i i 1 0 1 M´ asr´eszt (4.15), (4.16) mindegyike azzal ekvivalens, hogy x∗ mind (4.17)-t, mind (4.18)-t egyenl˝ os´eggel teljes´ıti. • Megjegyz´ es Az optimalit´ asi krit´erium szavakkal kifejezve azt jelenti, hogy egy el˝ ojelk¨ ot¨ ott x∗1 (j) prim´ al ∗ v´ altoz´ o vagy y1 (i) du´ al v´ altoz´ o csak akkor lehet pozit´ıv, ha a neki megfelel˝ o du´ al vagy prim´ al egyenl˝ otlens´eg egyenl˝ os´eggel teljes¨ ul. Megjegyezz¨ uk, m´eg hogy a 4.2.2 t´etel bizony´ıt´ as´ ara alternat´ıv lehet˝ os´eg a 4.2.1 t´etelb˝ ol a kor´ abban m´ ar megismert ´ atalak´ıt´ asokkal jutni az ´ altal´ anos alakra. Gyakorlat 4.2 ´ Irjuk fel az optimalit´ asi felt´eteleket a max{cx : Ax = b, x ≥ 0}, max{cx : Bx ≤ b, x ≥ 0} line´ aris programokra.
4.2.2
A dualit´ as t´ etel
A korl´ atoss´ agi t´etelben l´ attuk, hogy ha cx fel¨ ulr˝ ol korl´ atos az R = {x : Qx ≤ b} nem¨ ures poli´ederen, akkor tetsz˝ oleges olyan y vektorra, amelyre y ≥ 0, yQ = c a by ´ert´ek fels˝ o korl´ at {cx : x ∈ R} maximum´ ara. A ´ legjobb (ilyen t´ıpus´ u) fels˝ o korl´ atot ezen by ´ert´ekek minimuma jelenti. Erdekes, hogy a legkisebb fels˝ o korl´ at meghat´ aroz´ as´ anak feladata, vagyis a min{by : y ≥ 0, yQ = c} probl´em´ aja is egy (balr´ ol szorz´ assal fel´ırt) line´ aris program, amit du´ alis programnak h´ıvunk, megk¨ ul¨ onb¨ oztetend˝ o a max{cx : Qx ≤ b} prim´ al programt´ ol. A k´erd´esre, hogy az ´ıgy kapott legjobb korl´ at vajon mindig el´erhet˝ o-e, m´ assz´ oval hogy a prim´ al optimum ´es a du´ al optimum ´erteke mindig megegyezik-e, a dualit´ as t´etel adja meg a v´ alaszt. ´ TETEL 4.2.3 (Dualit´ as t´ etel, speci´ alis alak) Tegy¨ uk fel, hogy az R = {x : Qx ≤ b} prim´ al poli´eder nem¨ ures. Tegy¨ uk fel tov´ abb´ a, hogy {cx : x ∈ R} fel¨ ulr˝ ol korl´ atos (ami a 4.1.2 t´etel szerint azzal ekvivalens, hogy a du´ alis R∗ = {y : y ≥ 0, yQ = c} poli´eder nem¨ ures). Ekkor a prim´ al optimaliz´ al´ asi feladatban a maximum egyenl˝ o a du´ al feladatban szerepl˝ o minimummal, azaz max{cx : Qx ≤ b} = min{by : y ≥ 0, yQ = c}. Biz. Ha x ∈ R ´es y ∈ R∗ , akkor cx = (yQ)x = y(Qx) ≤ yb, ´es ´ıgy max ≤ min k¨ ovetkezik. Az egyenl˝ os´eg igazol´ as´ ahoz egy olyan x∗ ∈ R ´es y ∗ ∈ R∗ prim´ al ´es du´ al megold´ as-p´ art kell tal´ alnunk, amelyekre cx∗ = by ∗ . A 4.1.3 k¨ ovetkezm´eny szerint, ha {cx : x ∈ R} fel¨ ulr˝ ol korl´ atos, akkor a maximum egy x∗ er˝ os b´ azis-megold´ ason ∗ ∗ felv´etetik. A 4.2.1 t´etel szerint l´etezik olyan y ∈ R vektor, amelyre y ∗ (b − Qx∗ ) = 0, amib˝ ol y ∗ b = cx∗ k¨ ovetkezik. • A dualit´ as t´etelt is megfogalmazhatjuk az ´ altal´ anos alakra. A prim´ al probl´ema a k¨ ovetkez˝ o: max{(c0 x0 + c1 x1 ) : P x0 + Ax1 = b0 , Qx0 + Bx1 ≤ b1 , x1 ≥ 0}.
(4.19)
A prim´ al probl´em´ ahoz hozz´ arendelt du´ alis line´ aris program a k¨ ovetkez˝ o: min{(b0 y0 + b1 y1 ) : y0 P + y1 Q = c0 , y0 A + y1 B ≥ c1 , y1 ≥ 0}.
(4.20)
A (4.20)-ban szerepl˝ o poli´edert R∗ -gal jel¨ olj¨ uk ´es du´ alis poli´edernek h´ıvjuk. (Figyelem: R∗ az m := m1 +m2 dimenzi´ os t´erben van, m´ıg R az n := n1 + n2 dimenzi´ osban. Az R∗ nem csak az R prim´ al poli´edert˝ ol f¨ ugg, hanem a c-t˝ ol is, s˝ ot az R megad´ as´ at´ ol is!) ´ TETEL 4.2.4 (Dualit´ as t´ etel, ´ altal´ anos alak) Tegy¨ uk fel, hogy a (4.19) rendszer ´ altal defini´ alt R prim´ al poli´eder nem¨ ures. Tegy¨ uk fel tov´ abb´ a, hogy a cx = c0 x0 + c1 x1 c´elf¨ uggv´enyre n´ezve {cx : x ∈ R} fel¨ ulr˝ ol korl´ atos (vagy ekvivalensen a du´ alis R∗ poli´eder nem¨ ures). Ekkor a (4.19) prim´ al optimaliz´ al´ asi feladatban a maximum egyenl˝ o a (4.20) du´ al feladatban szerepl˝ o minimummal. A speci´ alis alakhoz hasonl´ oan, a t´etel a 4.2.2 t´etelb˝ ol k¨ ozvetlen¨ ul ad´ odik. A megel˝ oz˝ o szakaszban megmutattuk, hogy a dualit´ as t´etel mik´epp vezethet˝ o le a Farkas lemm´ ab´ ol ´es abb´ ol a t´etelb˝ ol, hogy a maximum (er˝ os b´ azis-megold´ ason) felv´etetik. A line´ aris ´es logikai k¨ ovetkezm´enyre vonatkoz´ o 3.5.11 t´etel bizony´ıt´ asa csak a Farkas lemm´ ara t´ amaszkodott. Most megmutatjuk, hogy a dualit´ as t´etel k¨ ovetkez˝ o szimmetrikus alakja k¨ onnyen levezethet˝ o a 3.5.11 t´etelb˝ ol is. ´ TETEL 4.2.5 (Dualit´ as t´ etel, szimmetrikus alak) Tegy¨ uk fel, hogy mind az R := {x : Bx ≤ b, x ≥ 0} prim´ al, mind az R∗ := {y : yB ≥ c, y ≥ 0} du´ al poli´eder nem¨ ures. Ekkor cx ≤ by fenn´ all minden x ∈ R, y ∈ R∗ eset´en, ´es van olyan x∗ ∈ R, y ∗ ∈ R∗ , melyekre egyenl˝ os´eg ´erv´enyes, azaz max{cx : x ∈ R} = min{by : y ∈ R∗ }.
75
Biz. Az x ´es y nem-negativit´ asa miatt x ∈ R, y ∈ R∗ eset´en cx ≤ (yB)x = y(Bx) ≤ yb, ´ıgy mindenesetre cx fel¨ ulr˝ ol korl´ atos R-en, by pedig alulr´ ol R∗ -on. Legyen γs := sup{cx : x ∈ R} ´es γi := inf{by : y ∈ R∗ }. ∗ Ekkor tetsz˝ oleges x ∈ R, y ∈ R eset´en cx ≤ γs ≤ γi ≤ by. A t´etelhez azt kell bel´ atnunk, hogy l´etezik x∗ ∈ R, ∗ ∗ ∗ ∗ amelyre cx = γi ´es l´etezik y ∈ R , amelyre by = γs . Szimmetria miatt el´eg y ∗ l´etez´es´et bel´ atnunk, x∗ -´e anal´ og m´ odon k¨ ovetkezik. Most teh´ at a cx ≤ γs egyenl˝ otlens´eg logikai k¨ ovetkezm´enye a Bx ≤ b, x ≥ 0 egyenl˝ otlens´eg-rendszernek, ´ıgy a 3.5.11 t´etel szerint l´etezik olyan y ∗ ≥ 0, amelyre y ∗ B ≥ c ´es y ∗ b ≤ γs . De itt nem szerepelhet szigor´ u egyenl˝ otlens´eg, mert akkor y ∗ b < γs ≤ γi ellentmondana γi defin´ıci´ oj´ anak. Teh´ at val´ oban y ∗ b = γs . • Megjegyzend˝ o, hogy megford´ıtva, a 3.5.11 t´etel is k¨ ozvetlen¨ ul ad´ odik a dualit´ as t´etelb˝ ol. N´ezz¨ uk ehhez a technikailag legegyszer˝ ubb Qx ≤ b esetet, ´es tegy¨ uk fel, hogy a cx ≤ γ logikai k¨ ovetkezm´eny. Ez azt jelenti, hogy max{cx : Qx ≤ b} ≤ γ, ´ıgy a dualit´ as t´etel miatt γ ≥ max{cx : Qx ≤ b} = min{yb : y ≥ 0, yQ = c}. Vagyis l´etezik olyan y ≥ 0, amelyre yQ = c ´es γ ≥ yb. Feladatok 4.3 Irjuk fel a min{α : Ax − αb = b, (x, α) ≥ 0} line´ aris program du´ alis´ at, igazoljuk mind a prim´ al, mind a du´ al rendszer megoldhat´ os´ ag´ at, ´es a dualit´ as t´etelb˝ ol vezess¨ uk le a Farkas lemm´ at (3.4.5 t´etel). 4.4 Tegy¨ uk fel, hogy az {x : Ax = b, x ≥ 0} poli´eder nem¨ ures. Az A egy ai oszlop´ at ´ erdektelennek mondjuk, ha a poli´eder minden x elem´ere x(i) = 0. Igazoljuk, hogy ai akkor ´es csak akkor ´erdektelen, ha van olyan y vektor, amelyre yb = 0, yA ≥ 0 ´es yai pozit´ıv. 4.5 Tekints¨ uk a min{cx : Ax = b, x ≥ 0} line´ aris programot. Legyen A′ az A ´erdekes (azaz nem ´erdektelen) ′ oszlopai ´ altal alkotott r´eszm´ atrix ´es jel¨ olje c a c megfelel˝ o r´esz´et. Igazoljuk, hogy cx akkor ´es csak akkor konstans R-en, ha l´etezik olyan y, amelyre yA′ = c′ . 4.6 Az R := {Ax = b, x ≥ 0} poli´eder valamely x0 eleme akkor ´es csak akkor minimaliz´ alja cx-t R-en, ha l´etezik egy olyan c-vel ekvivalens nemnegat´ıv vektor, amely mer˝ oleges x0 -ra. A c1 ´es c2 vektor ekvivalens, ha c1 x = c2 x minden x ∈ R-re. 4.7 Tekints¨ uk az R := {x : Ax ≤ b, x ≥ 0} prim´ al ´es R∗ = {y : yA ≥ c, y ≥ 0} du´ al poli´edereken defini´ alt max{cx : x ∈ R} ´es min{by : y ∈ R∗ } prim´ al-du´ al line´ aris program p´ art, ´es tegy¨ uk fel, hogy R ´es R∗ nem u ¨res. Igazoljuk, hogy az A-nak van olyan A′ nemszingul´ aris n´egyzetes r´eszm´ atrixa (mindegy milyen m´eret˝ u), amelyre az A′ x′ = b′ egy´ertelm˝ u x′ megold´ as´ ab´ ol null´ ak hozz´ av´etel´evel keletkez˝ o x1 eleme R-nek (ahol b′ azon r´esze b-nek, amely az A′ sorainak felel meg) tov´ abb´ a az y ′ A′ = c′ egy´ertelm˝ u y ′ megold´ as´ ab´ ol null´ ak hozz´ av´etel´evel ∗ keletkez˝ o y1 eleme R -nak. Mutassuk meg, hogy ekkor x1 prim´ al optimum, y1 du´ al optimum.
4.2.3
K¨ ovetkezm´ enyek
A j´ at´ekelm´eletben fontos alkalmaz´ asra lel a k¨ ovetkez˝ o t´etel. Egy vektor tetej´ en ´erts¨ uk a legnagyobb komponens´enek az ´ert´ek´et. A vektor alja legyen a legkisebb komponens´enek az ´ert´eke. ´ TETEL 4.2.6 (Neumann) Tetsz˝ oleges m × n-es (m, n ≥ 1) A m´ atrixra az A oszlopvektorai ´ altal fesz´ıtett politopban l´ev˝ o elemek tetej´enek a minimuma egyenl˝ o az A sorvektorai ´ altal fesz´ıtett politopban l´ev˝ o elemek alj´ anak maximum´ aval. Form´ alisabban, min{(max Ax) : x ≥ 0, en x = 1} = max{(min yA) : y ≥ 0, em y = 1}, ahol ei az i-dimenzi´ os csupa egyesb˝ ol ´ all´ o vektort jelenti. Biz. A prim´ al feladat egy olyan minim´ alis w sz´ am keres´es´evel ekvivalens, amelyre l´etezik x ≥ 0 vektor u ´gy, hogy en x = 1 ´es Ax ≤ (w, w, . . . , w) ´erv´enyes. Ez viszont ´eppen a min{w : −Ax + (w, w, . . . , w) ≥ 0, x ≥ 0, en x = 1}
(4.21)
line´ aris programmal egyen´ert´ek˝ u. A du´ alis feladat egy olyan maxim´ alis z sz´ am keres´es´evel ekvivalens, amelyre l´etezik y ≥ 0 vektor u ´gy, hogy em y = 1 ´es yA ≥ (z, z, . . . , z) ´erv´enyes. Ez viszont ´eppen a max{z : y(−A) + (z, z, . . . , z) ≤ 0, y ≥ 0, em y = 1}
(4.22)
line´ aris programmal egyen´ert´ek˝ u. Miut´ an a (4.22) program du´ alisa ´eppen a (4.21) program, ´ıgy a dualit´ as t´etelb˝ ol ad´ odik, hogy a w minim´ alis ´ert´eke egyenl˝ o a z maxim´ alis ´ert´ek´evel. • ´ TETEL 4.2.7 (Clark) Tekints¨ uk a max{cx : x ≥ 0, Bx ≤ b} ´es min{by : y ≥ 0, yB ≥ c} prim´ al-du´ al program p´ art, ´es tegy¨ uk fel, hogy mindegyik megoldhat´ o. Ekkor az R prim´ al ´es az R∗ du´ al poli´ederek k¨ oz¨ ul az egyik nem korl´ atos.
76
Biz. Amennyiben a {Bx ≤ 0, x ≥ 0, −1x ≤ −1} rendszernek l´etezik egy x′ megold´ asa, akkor b´ armely x ∈ R vektorra x + λx′ minden pozit´ıv λ-ra R-ben van, ´es mivel x′ 6= 0, ´ıgy R nemkorl´ atos. Ha a k´erd´eses x′ nem l´etezik, akkor a Farkas lemma szerint van olyan y ′ ≥ 0 vektor ´es α ≥ 0 sz´ am, melyekre y ′ B − (α, . . . , α) ≥ 0, ′ ′ ´es y b − α < 0. Ekkor a du´ al poli´eder b´ armely y elem´ere y + λy minden pozit´ıv λ-ra R∗ -ban van, ´es mivel ′ ∗ y 6= 0, ´ıgy R nem korl´ atos. •
Oldalak Foglaljuk ¨ ossze a poli´eder oldalainak n´eh´ any tulajdons´ ag´ at. Egy R = {x : Qx ≤ b} (nem¨ ures) poli´eder F oldal´ an az R-nek egy F := {x ∈ R : cx = δ} (4.23) alak´ u nem¨ ures r´eszhalmaz´ at ´ertett¨ uk, ahol δ := max{cx : x ∈ R} valamely cx c´elf¨ uggv´enyre, melyre a maximum l´etezik. Vagyis a poli´eder oldala az optimum helyek halmaza valamely cx line´ aris c´elf¨ uggv´enyre n´ezve, m´ ask´ent sz´ olva a poli´edernek az a r´esze, amely egy hipers´ıkkal ´erintkezik, amikor azt k´ıv¨ ulr˝ ol a poli´ederhez toljuk. ´ TETEL 4.2.8 Az R = {x : Qx ≤ b} poli´eder egy nem¨ ures F r´eszhalmaza akkor ´es csak akkor oldala R-nek, ha l´etezik a Q bizonyos soraib´ ol ´ all´ o olyan Q′ r´eszm´ atrix, amelyre F = {x ∈ R : Q′ x = b′ }, ahol b′ a Q′ sorainak megfelel˝ o r´eszvektora b-nek. Biz. Tegy¨ uk fel, hogy F oldal, melyet (4.23) defini´ al. Tekints¨ uk a min{yb : yQ = c, y ≥ 0} du´ alis line´ aris programnak egy y ′ optim´ alis megold´ as´ at. Legyen Q′ a Q azon i q soraib´ ol ´ all´ o r´eszm´ atrix, amelyekre a megfelel˝ o y ′ (i) komponens pozit´ıv. Tetsz˝ oleges x ∈ R-re cx = (y ′ Q)x = y ′ (Qx) ≤ y ′ b. A dualit´ as t´etelb˝ ol k¨ ovetkezik, hogy egy x′ ∈ R vektor akkor ´es csak akkor prim´ al optimum (azaz eleme F -nek), ha az y ′ minden pozit´ıv komponens´ere a neki megfelel˝ o prim´ al felt´etel egyenl˝ os´eggel teljes¨ ul (azaz y ′ (i) > 0-b´ ol i qx = b(i) k¨ ovetkezik.) ′ ′ ´Igy teh´ at F = {x ∈ R : Q x = b }. Ford´ıtva, legyen Q′ a Q bizonyos sorai ´ altal alkotott m´ atrix, ´es b′ a b megfelel˝ o r´esze, amelyekre {x ∈ R : Q′ x = b′ } nem¨ ures. Legyen e′ a csupa egyes vektor, amelynek annyi komponense van, mint ah´ any sora Q′ -nek. Jel¨ olje c a Q′ sorainak ¨ osszeg´et (azaz c = e′ Q′ ), m´ıg δ a b′ komponenseinek ¨ osszeg´et (δ := e′ b′ ). Most cx = (e′ Q′ )x = e′ (Q′ x) ≤ e′ b′ = δ. Ebb˝ ol ad´ od´ oan valamely x ∈ R vektorra Q′ x = b′ akkor ´es csak akkor teljes¨ ul, ha cx = δ, amib˝ ol a t´etel k¨ ovetkezik. •
ulin16
2013. augusztus 1.
77
4.2.4
J´ at´ ekelm´ eleti alkalmaz´ as
S´ ari ´es Oszi a k¨ ovetkez˝ o j´ at´ekot j´ atssz´ ak. Egyszerre elrejtenek a kez¨ ukben egy vagy k´et forintot ´es egy´ uttal tippelnek arra, hogy a m´ asik egy vagy k´et forintot rejtett. Amennyiben mindkettej¨ uk tippje helyes, avagy mindkettej¨ uk tippje t´eves, u ´gy a j´ at´ek d¨ ontetlen. Ha viszont pontosan az egyik¨ uk tippje helyes, u ´gy a j´ ol tippel˝ o elnyeri a kettej¨ uk ´ altal elrejtett p´enz ¨ osszeg´et (ami teh´ at 2,3 vagy 4 forint). Ez a j´ at´ek egy fordul´ oja. K´erd´es, hogy ha N fordul´ ot j´ atszanak, milyen strat´egi´ at ´erdemes k¨ ovetni. Mindk´et j´ at´ekos egy lehets´eges fordul´ obeli j´ at´ek´ at egy sz´ amp´ arral lehet megadni, amelynek els˝ o tagja azt jelenti, hogy h´ any forintot rejtett, a m´ asodik tagja pedig azt, hogy h´ any forintot tippelt. Vagyis egy fordul´ oban mindk´et j´ at´ekos el˝ ott n´egy lehets´eges v´ alaszt´ as van: [1, 1], [1, 2], [2, 1], [2, 2]. Nevezz¨ uk ezeket elemi vagy tiszta strat´egi´ anak. A k´es˝ obbiekben ezen sorrend szerint fogunk r´ ajuk hivatkozni (teh´ at pl. a 3-dik elemi strat´egia [2, 1]). Ha S´ ari p´eld´ aul mindig az [1, 1] p´ art v´ alasztja, akkor k¨ onnyen rosszul j´ arhat, mert ezt ellenfele hamar kifigyelheti, ´es akkor a [2, 1] v´ alasszal mindig nyer. S´ ari persze ravaszabbul is elj´ arhat, p´eld´ aul mindig ugyan´ ugy rejt ´es tippel, mint ahogy Oszi tette a megel˝ oz˝ o fordul´ oban, de ennek a strat´egi´ anak is az a h´ atul¨ ut˝ oje, hogy Oszi el˝ obb-ut´ obb r´ aj¨ ohet az alkalmazott szab´ alyra ´es akkor m´ ar k¨ onnyen nyer. Ez a vesz´ely minden determinisztikusan meghat´ arozott v´ alaszt´ asi szab´ aly eset´en fenn´ all. Ezt elker¨ ulend˝ o S´ ari minden fordul´ oban a v´eletlent˝ ol teszi f¨ ugg˝ ov´e a v´ alaszt´ as´ at. Term´eszetesen az a k´erd´es, hogy milyen val´ osz´ın˝ us´eggel v´ alasszon a n´egy lehet˝ os´eg k¨ oz¨ ul. T´etelezz¨ uk fel, hogy P a lej´atszott N fordul´o sor´an Oszi ci -szer j´atszotta meg az i-edik elemi strat´egi´at (i = 1, . . . , 4), azaz ci = N . Tegy¨ uk fel, hogy S´ ari a k¨ ovetkez˝ o strat´egi´ at alkalmazta: mindig az ellenkez˝ oj´et mondja annak, mint amit tippel ´es ezen bel¨ ul 1/2 val´ osz´ın˝ us´eggel rejt 1 vagy 2 forintot. M´ ask´ent sz´ olva a (0, 1/2, 1/2, 0) val´ osz´ın˝ us´egek szerint v´ alaszt minden fordul´ oban a n´egy elemi strat´egi´ ab´ ol. V´ arhat´ o ´ert´ekben mekkora nyeres´egre sz´ am´ıthat? ´ Oszi c1 -szer j´ atszott [1, 1]-t. Atlagosan ezen c1 eset fel´eben S´ ari [1, 2]-t j´ atszik, amikoris S´ ari 2 forintot vesz´ıt, a m´ asik c1 /2 esetben S´ ari [2, 1]-t j´ atszik, ´es ekkor 3 forintot nyer. Teh´ at S´ ari v´ arhat´ o nyeres´ege 3c1 /2 − 2c1 /2 = c1 /2. c2 + c3 esetben Oszi m´ ast tippel, mint rejt, ezek a fordul´ ok teh´ at mind d¨ ontetlenek. V´eg¨ ul Oszi c4 esetben j´ atszik [2, 2]-t. Ezeknek ´ atlagosan a fel´eben S´ ari [1, 2]-t j´ atszik ´es nyer 3 forintot, m´ıg a m´ asik fel´eben S´ ari [2, 1]-t j´ atszik ´es vesz´ıt 4 forintot. Ezen c4 esetben teh´ at S´ ari v´ arhat´ o¨ ossz-nyeres´ege 3c4 /2 − 4c4 /2 = −c4 /2. Meg´ allap´ıthatjuk teh´ at, hogy az N fordul´ o sor´ an S´ ari v´ arhat´ o¨ ossz-nyeres´ege (c1 − c4 )/2 forint, ami persze vesztes´eg, ha c4 > c1 . Vagyis a fent v´ alasztott y = (0, 1/2, 1/2, 0) val´ osz´ın˝ us´egi v´ alaszt´ as mellett S´ ari akkor j´ ar a legrosszabbul, ha c4 = N ´es c1 = c2 = c3 = 0. Ekkor S´ ari teljes vesztes´ege v´ arhat´ olag N/2 forint, azaz fordul´ onk´ent ´ atlagosan 1/2 Ft. Azaz S´ ari ezzel a strat´egi´ aval azt tudja biztos´ıtani mag´ anak, hogy ´ atlagos vesztes´ege Oszi b´ armilyen j´ at´eka eset´en se haladja meg az 1/2 forintos fordul´ onk´enti ´ atlagot. Az y = (0, 1/2, 1/2, 0) val´ osz´ın˝ us´egek helyett term´eszetesen v´ alaszthatunk m´ as eloszl´ ast is. Nevezz¨ unk egy y vektort sztochasztikusnak, ha nem-negat´ıv ´es 1 · y = 1. Minden sztochasztikus vektor egy kevert strat´ egi´ at defini´ al. Term´eszetesen a fentiek mint´ aj´ ara tetsz˝ oleges kevert strat´egi´ ara r¨ ogz´ıtett c := (c1 , . . . , c4 ) gyakoris´ agok eset´en kisz´ am´ıthatjuk S´ ari v´ arhat´ o nyeres´eg´et. K¨ onny˝ u ellen˝ orizni, hogy ez ´eppen az (yA)c sz´ am lesz, ahol A az u ´gynevezett kifizet´esi m´ atrix (S´ ari szempontj´ ab´ ol). Azaz A egy 4 · 4-s m´ atrix, amelynek aij eleme S´ ari nyeres´eg´et (m´ assz´ oval Oszi vesztes´eg´et) jelzi, ha S´ ari az i-edik, m´ıg Oszi a j-edik elemi strat´egi´ at j´ atssza. S´ ari akkor fogja egy m´ asik kevert strat´egi´ aj´ at jobbnak tekinteni, mint a (0, 1/2, 1/2, 0) kevert strat´egia, ha a fordul´ onk´enti ´ atlagos nyeres´ege nagyobb, mint az el˝ obb ad´ odott −1/2 forint. Van-e ilyen jobb strat´egia ´es hogyan lehet a legjobbat megtal´ alni? ´ Altal´ anosabban fogalmazva legyen adva egy A n × m-es m´ atrix. A sorj´ at´ekos S´ ari ´es az oszlopj´ at´ekos Oszi azt j´ atssz´ ak, hogy minden fordul´ oban S´ ari kiv´ alasztja A-nak egy i sor´ at, m´ıg Oszi A-nak egy j oszlop´ at, ´es ennek megfelel˝ oen Oszi fizet S´ arinak aij forintot (ami persze azt jelenti, hogy t´enylegesen S´ ari fizet, amennyiben aij negat´ıv.) Az el˝ obbi j´ at´ekhoz p´eld´ aul a k¨ ovetkez˝ o m´ atrix tartozik. [1, 1] [1, 1] 0 [1, 2] −2 [2, 1] 3 [2, 2] 0
[1, 2] 2 0 0 −3
[2, 1] −3 0 0 4
[2, 2] 0 3 −4 0
S´ ari egy kevert strat´egi´ aj´ at egy y (m-dimenzi´ os) sztochasztikus vektor defini´ alja ´espedig u ´gy, hogy S´ ari minden fordul´ oban y(i) val´ osz´ın˝ us´eggel v´ alasztja az i-edik sort. P Tegy¨ uk fel, hogy N fordul´ o sor´ an Oszi cj -szer j´ atszotta meg a j-edik oszlopot ( cj = N ). Ekkor a j-edik oszlop gyakoris´ aga xj := cj /N . Nyilv´ an a gyakoris´ agok x := (x1 , . . . , xn ) vektora sztochasztikus. Mennyire j´ o S´ arinak egy r¨ ogz´ıtett y sztochasztikus vektor mint kevert strat´egia? Adott x gyakoris´ ag eset´en S´ ari ¨ ossz-nyeres´ege v´ arhat´ o ´ert´ekben (yA)c, vagyis fordul´ onk´enti ´ atlagos nyeres´ege (yA)x. Ez azon x
78
gyakoris´ ag mellett a legrosszabb S´ arinak, amelyre (yA)x legkisebb. Vagyis egy y kevert strat´egia f (y) j´ os´ ag´ at az f (y) := min{(yA)x : x sztochasztikus} ´ert´ek m´eri. S´ arinak teh´ at az az y a legjobb, amelyre f (y) maxim´ alis. R¨ ogz´ıtett y eset´en k¨ onny˝ u f (y)-t meg´ allap´ıtani, hiszen ez a min{ay x : x ≥ 0, 1 · x = 1} line´ aris programnak az optimuma, ahol ay := yA. Mivel az optimum cs´ ucsokban v´etetik fel ´es az {x : x ≥ 0, 1 · x = 1} poli´eder cs´ ucsai ´epp a (0, . . . , 0, 1, 0, . . . , 0) alak´ u egys´egvektorok (n darab), ez´ert f (y) nem m´ as, mint az yA vektor alja (azaz legkisebb komponense). S´ ari optim´ alis kevert strat´egi´ aj´ anak megkeres´ese teh´ at egy olyan sztochasztikus y vektor megkeres´es´evel egyen´ert´ek˝ u, amelyre az yA vektor alja a lehet˝ o legnagyobb. Anal´ og ad´ odik, hogy Oszi optim´ alis kevert strat´egi´ aja egy olyan sztochasztikus x vektor megkeres´es´et ig´enyli, amelyre az Ax vektor teteje a lehet˝ o legkisebb. A 4.2.6 t´etel alapj´ an a k´et ´ert´ek egyenl˝ o, amib˝ ol kapjuk a k´etszem´elyes z´er´ o¨ osszeg˝ u j´ at´ekok alapt´etel´et. ´ TETEL 4.2.9 (Neumann) Tetsz˝ oleges A m´ atrix ´ altal meghat´ arozott m´ atrixj´ at´ek eset´en a sorj´ at´ekos v´ arhat´ o nyeres´eg´enek (a legjobb kevert strat´egi´ aval el´erhet˝ o) maximuma egyenl˝ o az oszlopj´ at´ekos v´ arhat´ o vesztes´eg´enek (a legjobb kevert strat´egi´ aval el´erhet˝ o) minimum´ aval. Visszat´erve a kiindul´ asi m´ atrixj´ at´ekhoz, kisz´ am´ıthat´ o (p´eld´ aul a szimplex m´ odszer seg´ıts´eg´evel), hogy a legjobb kevert strat´egia [0, 3/5, 2/5, 0]. Ennek alkalmaz´ as´ aval S´ ari biztos´ıthatja, hogy v´ arhat´ o ´ert´ekben nem vesz´ıt. A j´ at´ek szimmetrikus, ez´ert ugyanez a kevert strat´egia Oszinak is optim´ alis. Ha Oszi b´ armely m´ as kevert stat´egia szerint j´ atszik, azaz ha a megj´ atszott elemi strat´egi´ ainak gyakoris´ aga elt´er a [0, 3/5, 2/5, 0] gyakoris´ agt´ ol, u ´gy S´ ari v´ arhat´ o ´ert´ekben nyer. Ha t´enylegesen j´ atszani akarjuk a j´ at´ekot, meg kell ´ allapodni abban, hogy egy fordul´ oban ki mondja ki el˝ osz¨ or a tippj´et. S´ ari udvariasan” felaj´ anlja, hogy mindig Oszi mondja ki el˝ osz¨ or. Teh´ at mindketten rejtenek, ” majd Oszi kimondja a tippj´et, ut´ ana S´ ari is kimondja a tippj´et. Felt´eve, hogy S´ ari gondolkodhat Oszi tippj´enek ismeret´eben (de persze azon m´ ar nem v´ altoztathat, amennyit rejtett), ki tudja-e akn´ azni S´ ari ezt a l´ atsz´ olagos el˝ onyt? R´ an´ez´esre azt hihetn´enk, hogy ez nem jelent val´ odi el˝ onyt, hiszen az elrejtett forintok sz´ ama minden fordul´ oban azel˝ ott ker¨ ul meghat´ aroz´ asra miel˝ ott ak´ armelyik tipp elhangzik. Mindenesetre a fenti ´ altal´ anos modell seg´ıts´eg´evel a k´erd´est prec´ızen meg lehet v´ alaszolni. Az eredeti m´ atrixot m´eg kieg´esz´ıtj¨ uk n´egy sorral, mivel S´ arinak n´egy u ´j tiszta strat´egi´ aja ad´ odott. Nevezetesen: A: S´ ari 1-t rejt ´es ugyanazt tippeli, mint Oszi, B: S´ ari 1-t rejt ´es az ellenkez˝ oj´et tippeli, mint Oszi, C: 2-t rejt ´es ugyanazt tippeli, mint Oszi, D: 2-t rejt ´es az ellenkez˝ oj´et tippeli, mint Oszi. A szimplex m´ odszer seg´ıts´eg´evel ki lehet sz´ am´ıtani, hogy S´ ari optim´ alis kevert strat´egi´ aj´ at a k¨ ovetkez˝ o sztochasztikus vektor adja meg: [0, 56/99, 40/99, 0, 0, 2/99, 0, 1/99]. Ennek alkalmaz´ as´ aval S´ ari (Oszi b´ armilyen j´ at´eka eset´en is) ´ atlagosan 4/99 forint nyeres´egre sz´ amolhat fordul´ onk´ent. 2013. augusztus 1.file: ljatek
79
5. Fejezet
´ ´ ES ´ LINEARIS POGRAMOZAS ´ OZATI ´ ´ AS ´ HAL OPTIMALIZAL Mi ´ allhat annak h´ atter´eben, hogy utakkal, folyamokkal, ´ aramokkal, p´ aros gr´ afok p´ aros´ıt´ asaival kapcsolatban megannyi sz´ep t´etelt tudtunk megfogalmazni ´es igazolni? Mik´ent lehet ilyen t´eteleket megsejteni? Ebben a fejezetben megmutatjuk, hogy a sz´ obanforg´ o h´ al´ ozati optimaliz´ al´ asi feladatok egy olyan line´ aris programk´ent ´ırhat´ ok fel, amelyben a felt´eteli m´ atrix teljesen unimodul´ aris (TU). Kider¨ ul, hogy a t´etelek mindegyike u ´gy tekinthet˝ o, mint egy line´ aris programoz´ asi t´etel (Farkas lemma, korl´ atoss´ agi t´etel, optimalit´ asi felt´etel, dualit´ as t´etel) TU-m´ atrixokra fel´ırt alakj´ anak speci´ alis esete. TU-m´ atrixokra ugyanakkor al´ abb kimutatjuk, hogy a line´ aris programoz´ as alaperedm´enyei er˝ osebb, ”eg´esz´ert´ek˝ u” alakban is fenn´ allnak. Ennek a felismer´esnek nem csak az lesz a haszna, hogy az els˝ o fejezetben m´ ar igazolt t´etelekre u ´jabb bizony´ıt´ ast nyer¨ unk, hanem ´ altala olyan hat´ekony eszk¨ oz birtok´ aba jutunk, amely ´ altal´ anosabb ilyen ir´ any´ u t´etelek megsejt´es´ere ´es bizony´ıt´ as´ ara is alkalmas.
5.1
Teljesen unimodul´ aris m´ atrixok
Az al´ abbiakban egy m´ atrixot vagy egy vektort akkor nevez¨ unk eg´esznek vagy eg´esz´ert´ek˝ unek, ha minden elem¨ uk (komponens¨ uk) eg´esz sz´ am. Gyakran el˝ ofordul, hogy egy line´ aris egyenl˝ otlens´eg-rendszernek eg´esz megold´ as´ ara vagy egy line´ aris programnak eg´esz optim´ alis megold´ as´ ara van sz¨ uks´eg¨ unk. Bebizony´ıtott´ ak, hogy mindk´et feladat NP-teljes, ´ıgy ´ altal´ anoss´ agban olyan t´ıpus´ u kerek megold´ ast nem v´ arhatunk, mint amilyent a Farkas lemma vagy a dualit´ as t´etel ny´ ujt a val´ os (vagy racion´ alis) esetre. Speci´ alis felt´eteli m´ atrixok eset´en azonban szavatolhat´ o eg´esz´ert´ek˝ u megold´ as vagy optimum l´etez´ese. Ennek messzemen˝ o k¨ ovetkezm´enyei lesznek gr´ afokon megfogalmazott optimalit´ asi feladatok meg´ert´es´eben.
5.1.1
Defin´ıci´ ok ´ es p´ eld´ ak
Valamely Q m´ atrixot akkor nevez¨ unk teljesen unimodul´ arisnak (TU: totally unimodular), ha minden aldetermin´ ansa (0, ±1) ´ert´ek˝ u. Speci´ alisan, ilyen m´ atrix minden eleme 0, +1 vagy −1. Vil´ agos, hogy TU-m´ atrix transzpon´ altja is az. Sorokat vagy oszlopokat −1-gyel szorozva vagy elhagyva ism´et TU-m´ atrixot kapunk. Tov´ abb´ a, egys´egvektorokat sork´ent vagy oszlopk´ent egy TU-m´ atrixhoz illesztve TU-m´ atrixot kapunk. ´Igy, ha a Q TU-m´ atrixot kieg´esz´ıtj¨ uk egy I egys´eg-m´ atrixszal, akkor a keletkez˝ o (Q, I) m´ atrix is TU-m´ atrix. Ha Q TU-m´ atrix, u ´gy (Q, −Q) is az. (De ha mondjuk egy csupa 1 oszloppal eg´esz´ıtj¨ uk ki Q-t, akkor nem felt´etlen¨ ul kapunk TU-m´ atrixot: legyen Q az {1, 2, 3, 4} pontokon az {12, 13, 14} ´elekb˝ ol ´ all´ o gr´ af 4 × 3-as incidencia m´ atrixa.) P´eldak´epp, legyen Q egy D = (V, A) ir´ any´ıtott gr´ af incidencia m´ atrixa, azaz Q sorai a V -nek, oszlopai E-nek felelnek meg, ´es az qv,e elem akkor +1 illetve −1, ha az e ´el bel´ep illetve kil´ep v-b˝ ol (egy´ebk´ent 0). Egy G = (V, E) gr´ af (pont-´el) incidencia m´ atrix´ aban a soroknak a cs´ ucsok, m´ıg az oszlopoknak az ´elek felelnek meg. A m´ atrix egy v cs´ ucshoz ´es e ´elhez tartoz´ o eleme akkor 1, ha e egyik v´egpontja v, k¨ ul¨ onben 0. Teh´ at az incidencia m´ atrix minden oszlop´ aban k´et darab 1-es elem van. ´ TETEL 5.1.1 (a) Digr´ af incidencia m´ atrixa teljesen unimodul´ aris. (b) P´ aros gr´ af incidencia m´ atrixa teljesen unimodul´ aris. Biz. (a) Vegy¨ unk egy Q′ n´egyzetes r´eszm´ atrixot, amelyr˝ ol be akarjuk l´ atni, hogy determin´ ansa 0, ±1. Amennyiben ennek van olyan oszlopa, amelyben legfeljebb csak egy nem-nulla elem van, akkor ezen oszlop szerint
80
kifejtve a determin´ anst, indukci´ oval k´esz vagyunk. ´Igy feltehetj¨ uk, hogy minden oszlopban pontosan k´et nemnulla van (merthogy t¨ obb nem lehet). Ezek k¨ oz¨ ul az egyik +1, a m´ asik −1, vagyis a sorokat ¨ osszeadva 0-t kapunk, azaz Q′ sorai line´ arisan f¨ ugg˝ oek, ´ıgy a determin´ ans 0. (b) Szorozzuk meg −1-gyel a m´ atrix azon sorait, amelyek a p´ aros gr´ af egyik oszt´ aly´ aban l´ev˝ o pontoknak felelnek meg. Ekkor egy ir´ any´ıtott gr´ af incidencia m´ atrix´ at kapjuk, amir˝ ol az el˝ obb l´ attuk, hogy TU. • Feladat 5.1 Igazoljuk, hogy ha egy p´ aros gr´ af incidencia m´ atrix´ at kib˝ ov´ıtj¨ uk egy csupa egyesekb˝ ol ´ all´ o sorral, akkor TU-m´ atrixot kapunk, m´ıg ha az oszlopaihoz vesz¨ unk egy csupa egyes oszlopot, akkor az ´ıgy keletkez˝ o m´ atrix nem felt´etelen¨ ul TU. Feladat 5.2 Igazoljuk, hogy egy D digr´ af incidencia m´ atrix´ anak oszlopai akkor ´es csak akkor line´ arisan f¨ uggetlenek, ha D ir´ any´ıtott erd˝ o. Hipergr´ afon egy (V, F) p´ art ´ert¨ unk, ahol V adott alaphalmaz, F pedig V r´eszhalmazainak egy rendszere, amelyben ugyanaz a r´eszhalmaz t¨ obb p´eld´ anyban is szerepelhet. Az F tagjai a hipergr´ af hiper´ elei. Egy H hipergr´ afot akkor nevezz¨ unk teljesen unimodul´ arisnak, ha H incidencia m´ atrixa teljesen unimodul´ aris. Ez egy olyan 0 − 1 ´ert´ek˝ u m´ atrix, amelyben a soroknak a V elemei felelnek meg, az oszlopoknak az F elemei, ´es a m´ atrix egy eleme pontosan akkor egy, ha az oszlop´ anak megfelel˝ o hiper´el tartalmazza a m´ atrix-elem sor´ anak megfelel˝ o V -beli elemet. A gr´ afok speci´ alis hipergr´ afok, ahol minden hiper´el k´etelem˝ u. Ezek k¨ oz¨ ul m´ ar l´ attuk, hogy a p´ aros gr´ afok teljesen unimodul´ arisak. M´ as gr´ afok viszont sohasem azok, hiszen egy p´ aratlan k¨ or incidencia m´ atrix´ anak determin´ ansa ±2. Mint l´ attuk, minden D digr´ af ±1-es incidencia m´ atrixa TU. Ezt ´ altal´ anos´ıtja a h´ al´ ozati m´ atrix. Legyen D olyan ir´ any´ıtott gr´ af, amely ir´ any´ıtatlan ´ertelemben ¨ osszef¨ ugg˝ o ´es legyen F egy fesz´ıt˝ o fa. A HF m´ atrix sorai az F ´eleinek felelnek meg, m´ıg az oszlopai az F -en k´ıv¨ uli ´eleknek. Minden e = uv nem-fa ´elre a f´ aban egy egy´ertelm˝ u (nem felt´etlen¨ ul ir´ any´ıtott) u ´t vezet v-b˝ ol u-ba. Ennek egy f elem´ere a m´ atrix af,e elem´et defini´ aljuk 1-nek, ha f ir´ anya megegyezik az u ´t´eval ´es −1-nek, ha azzal ellent´etes. A m´ atrix minden m´ as eleme 0. Lemma 5.1.2 H´ al´ ozati m´ atrix r´eszm´ atrixa is az. h´ al´ ozati m´ atrixot kapunk.
H´ al´ ozati m´ atrix sor´ at vagy oszlop´ at −1-gyel szorozva
Biz. Egy oszlop elt¨ orl´ese annak felel meg, hogy a megfelel˝ o nem-fa ´elt a digr´ afb´ ol kihagyjuk. Egy sor t¨ orl´ese annak felel meg, hogy a megfelel˝ o fa-´elt a digr´ afban ¨ osszeh´ uzzuk. Egy sor vagy oszlop −1-gyel val´ o szorz´ asa annak felel meg, hogy a megfelel˝ o ´elt (ak´ ar fa-´el, ak´ ar nem-fa ´el) ´ atir´ any´ıtjuk. • ´ TETEL 5.1.3 A HF h´ al´ ozati m´ atrix teljesen unimodul´ aris. Biz. A lemma alapj´ an el´eg bel´ atni, hogy egy n´egyzetes h´ al´ ozati m´ atrix determin´ ansa 0, 1 vagy −1. Tekints¨ uk a f´ anak egy v v´egpontj´ at. Ha az F fa v-vel szomsz´edos ´el´ehez tartoz´ o sorban l´ev˝ o nem-nulla elemek α sz´ ama legfeljebb 1, akkor a determin´ ans kifejt´esi szab´ aly alapj´ an indukci´ oval k´eszen vagyunk. Tegy¨ uk fel, hogy α > 1, ´ any´ıt´ vagyis v szomsz´edos legal´ abb k´et nem-fa ´ellel. Atir´ as miatt feltehet˝ o, hogy ezek k¨ oz¨ ul pontosan egy van v fel´e ir´ any´ıtva. Legyen ez sv ´es legyen vt egy m´ asik nem-fa ´el. Ha az sv-nek megfelel˝ o oszlopot, hozz´ aadjuk a vt-nek megfelel˝ o oszlophoz, akkor egyr´eszt persze a determin´ ans ´ert´eke nem v´ altozik, m´ asr´eszt ism´et h´ al´ ozati m´ atrixot kapunk, ´espedig az´e a gr´ af´et, amelyben a vt ´el helyett az st ´el szerepel. Ilyen ´ atalak´ıt´ asokkal egy olyan gr´ afot kaphatunk, amelyben az F fesz´ıt˝ o fa v´ altozatlan, egyetlen nem-fa ´el (nevezetesen sv) szomsz´edos v-vel, vagyis a hozz´ atartoz´ o h´ al´ ozati m´ atrix v-nek megfelel˝ o sor´ aban egy nemnulla elem van. Ilyen h´ al´ ozati m´ atrixr´ ol pedig m´ ar l´ attuk, hogy a determin´ ansa 0, ±1, ugyanakkor a fenti oper´ aci´ ok nem v´ altoztatt´ ak a determin´ ans abszol´ ut ´ert´ek´et. • K¨ ovetkezm´ eny 5.1.4 Egy olyan hipergr´ af, amely egy ir´ any´ıtott fa ´elhalmaz´ an van defini´ alva ´es a hiper´elek ir´ any´ıtott utak, teljesen unimodul´ aris. • Egy hipergr´ afot lamin´ arisnak mondunk, ha b´ armely k´et hiper´ele vagy diszjunkt vagy az egyik tartalmazza a m´ asikat. P´eld´ aul, ha F = (V, E) egy s gy¨ oker˝ u feny˝ o ´es minden e = uv ´el´ehez tekintj¨ uk a v-b˝ ol a feny˝ oben el´erhet˝ o pontok halmaz´ at, akkor ezen halmazok lamin´ aris rendszert alkotnak. Val´ oj´ aban ezen ´ all´ıt´ as megford´ıt´ as´ at sem neh´ez bebizony´ıtani, amely szerint minden lamin´ aris halmazrendszer l´enyeg´eben ilyen alakban ´ all el˝ o. Legyen F1 ´es F2 k´et lamin´ aris hipergr´ af az S alaphalmazon. Jel¨ olje Ai (i = 1, 2) az Fi incidencia m´ atrix´ anak transzpon´ a ltj´ a t. Ebben az oszlopok az S elemeinek felelnek meg, m´ ıg a sorok F elemeinek. Legyen M := i A1 . A2 ´ TETEL 5.1.5 M teljesen unimodul´ aris.
81
Biz. Vegy¨ uk M -nek egy n´egyzetes r´eszm´ atrix´ at. Az ebben l´ev˝ o egyesek sz´ ama szerinti indukci´ oval ennek determin´ ans´ ar´ ol kimutatjuk, hogy 0 vagy ±1. Mivel Ai b´ armely r´eszm´ atrixa is egy lamin´ aris rendszer incidencia m´ atrixa (mi´ert?!), ´ıgy feltehetj¨ uk, hogy a vizsg´ alt r´eszm´ atrix maga M . Ha M -ben minden elem nulla, akkor persze a determin´ ans is nulla. Ha M -nek van olyan sora vagy oszlopa, amelyben legfeljebb egy nem-nulla elem van, akkor indukci´ oval (´es kifejt´esi szab´ allyal) k´eszen vagyunk. Ha F1 is ´es F2 is part´ıci´ o, akkor mind A1 , mind A2 sorainak ¨ osszege a csupa 1 vektor, teh´ at A sorai line´ arisan f¨ ugg˝ oek, ´ıgy det(M ) = 0. Tegy¨ uk fel, hogy mondjuk F1 nem part´ıci´ o. Ekkor van egy olyan minim´ alis Z tagja, amely r´esze F1 egy m´ asik tagj´ anak. Ha most F1 -nek valamennyi Z-tartalmaz´ o tagj´ ab´ ol kivonjuk Z-t, ami azzal ekvivalens (a laminarit´ as miatt), hogy a megfelel˝ o sorokb´ ol kivonjuk Z sor´ at, akkor a determin´ ans ´ert´eke nem v´ altozik. Viszont a keletkez˝ o m´ atrixban kevesebb egyes szerepel, ´ıgy indukci´ oval k´eszen vagyunk. • Feladat 5.3 Igazoljuk, hogy az 5.1.5 t´etelben szerepl˝ o M m´ atrix h´ al´ ozati m´ atrix! Feladat 5.4 Igazoljuk, hogy az al´ abbi m´ atrix teljesen unimodul´ aris, de sem ˝ o, sem a transzpon´ altja nem h´ al´ ozati m´ atrix: 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 . 1 0 0 1 1 1 1 0 0 1
5.1.2
Farkas lemma, dualit´ as t´ etel, optimalit´ asi felt´ etelek TU-m´ atrixokra
Az er˝ os b´ azis-megold´ as fogalma m´ ar eddig is hasznos volt (mert csak v´eges sok volt bel˝ ol¨ uk, ´es mert minden, a poli´ederen fel¨ ulr˝ ol korl´ atos cx c´elf¨ uggv´eny eset´en max cx er˝ os b´ azis-megold´ ason felv´etetett.) E fogalom most u ´jabb fontos szerephez jut. Lemma 5.1.6 Tetsz˝ oleges M TU-m´ atrixszal megadott egyenl˝ otlens´eg-rendszer eset´en, ha a b jobboldali korl´ atoz´ o vektor eg´esz, akkor minden er˝ os b´ azis-megold´ as eg´esz. Biz. Legyen M =
P Q
´es tekints¨ uk a P x = b0 , Qx ≤ b1
(5.1)
rendszert. A 3.3.11 t´etel szerint minden er˝ os b´ azis-megold´ as el˝ o´ all valamely M ′ x′ = b′ egyenletrendszer egy´ertelm˝ u megold´ as´ anak nulla komponensekkel val´ o kieg´esz´ıt´esek´ent, ahol M ′ az M egy [(r(M ) × (r(M )]-es nem-szingul´ aris r´eszm´ atrixa ´es b′ jel¨ oli a b azon r´esz´et, amely az M ′ sorainak felel meg. M´ armost, ha M TU′ m´ atrix, akkor a nem-szingul´ aris M determin´ ansa +1 vagy −1. A Cramer szab´ aly szerint, miut´ an b′ eg´esz, az egy´ertelm˝ u x′ megold´ as is az. • Lemma 5.1.7 Legyen c tetsz˝ oleges (nem felt´etlen¨ ul eg´esz´ert´ek˝ u) vektor. B´ armely M TU-m´ atrixszal megadott K metszet-k´ upnak, ha van olyan x′ eleme, amelyre cx′ > 0, akkor K-nak van ilyen (0, ±1)-´ert´ek˝ u eleme is.
P ´es tegy¨ uk fel, hogy a K k´ up a P x = 0, Qx ≤ 0 rendszer megold´ as-halmaza. Mivel Q x′ pozit´ıv sz´ amszorosa is K-ban van, feltehet˝ o, hogy x′ maga olyan, hogy minden komponense a [−1, +1] z´ art intervallumba esik. Vagyis a
Biz. Legyen M =
(−1, . . . , −1) ≤ x ≤ (1, . . . , 1), P x = 0, Qx ≤ 0
(5.2)
rendszer ´ altal meghat´ arozott korl´ atos poli´edernek x′ olyan eleme, amelyre cx′ > 0. Ekkor a 4.1.2 t´etel szerint van olyan x∗ er˝ os b´ azis-megold´ asa (5.2) rendszernek, amelyre cx∗ ≥ cx′ . A 5.1.6 lemma miatt x∗ eg´esz´ert´ek˝ u, azaz minden komponense 0, ±1. • A Farkas lemma szerint a (5.1) ´es az al´ abbi (5.3) rendszerek k¨ oz¨ ul pontosan az egyik oldhat´ o meg. Az al´ abbi t´etel a Farkas lemma TU-m´ atrixokra vonatkoz´ o ´eles´ıt´es´et szolg´ altatja.
P m´ atrix teljesen unimodul´ aris. Ha az (5.1) prim´ al probl´ema Q oldhat´ o meg ´es a korl´ atoz´ o b vektor eg´esz, akkor (5.1)-nek van eg´esz megold´ asa is. Ha az
´ TETEL 5.1.8 Tegy¨ uk fel, hogy az M =
y1 ≥ 0, yM = 0, yb < 0
(5.3)
du´ alis probl´ema oldhat´ o meg, ahol y = (y0 , y1 ), akkor van (0, ±1)-´ert´ek˝ u y megold´ as is (f¨ uggetlen¨ ul b eg´esz´ert´ek˝ us´eg´et˝ ol).
82
Biz. A t´etel els˝ o fele k¨ ovetkezik az 5.1.6 lemm´ ab´ ol, ´es abb´ ol a kor´ abbi eredm´enyb˝ ol, hogy ha l´etezik megold´ as, akkor l´etezik er˝ os b´ azis-megold´ as is. A t´etel m´ asodik fele pedig a 5.1.7 lemma k¨ ozvetlen folyom´ anya. • Egy poli´edert akkor nevez¨ unk eg´esznek, ha minden oldala tartalmaz eg´esz pontot. Ez nyilv´ an azzal ekvivalens, hogy minden (tartalmaz´ asra n´ezve) minim´ alis oldal tartalmaz eg´esz pontot, tov´ abb´ a azzal (az oldal defin´ıci´ oja folyt´ an), hogy minden line´ aris c´elf¨ uggv´eny optimuma eg´esz vektoron is felv´etetik. Cs´ ucsospoli´eder P eset´en a poli´eder akkor eg´esz, ha minden cs´ ucsa eg´esz. Az al´ abbi t´etelek mindegyik´eben az M = m´ atrix Q teljesen unimodul´ aris ´es b eg´esz vektor. ´ TETEL 5.1.9 Ha a max{cx : P x = b0 , Qx ≤ b1 } line´ aris programoz´ asi probl´em´ anak l´etezik megold´ asa, akkor az optimum eg´esz vektoron is felv´etetik (f¨ uggetlen¨ ul att´ ol, hogy c eg´esz´ert´ek˝ u vagy sem). Ekvivalens alakban: minden TU-m´ atrix ´es eg´esz korl´ atoz´ o vektor ´ altal megadott poli´eder eg´esz. Biz. Miut´ an az optimum er˝ os b´ azis-megold´ ason is felv´etetik, a 5.1.6 lemm´ ab´ ol a t´etel k¨ ovetkezik. • Az al´ abbi t´etelek ugyan´ıgy k¨ ovetkeznek a 4.1.5 ´es 4.2.2 t´etelekb˝ ol az 5.1.6 ´es 5.1.7 lemm´ ak seg´ıts´eg´evel. ´ TETEL 5.1.10 Tegy¨ uk fel, hogy R = {x : P x = b0 , Qx ≤ b1 } nem¨ ures. A k¨ ovetkez˝ ok ekvivalensek. (1) {cx : x ∈ R} fel¨ ulr˝ ol korl´ atos. (2) Nem l´etezik olyan (0, ±1)-´ert´ek˝ u x′ vektor, amelyre P x′ = 0, Qx′ ≤ 0, ´es cx′ > 0. (3) L´etezik olyan y = (y0 , y1 ) vektor, amelyre y1 ≥ 0 ´es yM = c, ´es amely eg´esz, amennyiben c eg´esz. • ´ ıv TETEL 5.1.11 Legyen x∗ az R := {x : P x = b0 , Qx ≤ b1 )} poli´eder egy eleme. Jel¨ olje Q= x∗ a Q akt´ r´eszm´ atrix´ at. A k¨ ovetkez˝ ok ekvivalensek. (1) x∗ maximaliz´ alja cx-t R f¨ ol¨ ott. ′ es cx′ > 0. (2) Nem l´etezik olyan (0, ±1)-´ert´ek˝ u x′ vektor, amelyre P x′ = 0, Q= x∗ x ≤ 0, ´ (3) L´etezik olyan y = (y0 , y1 ) vektor, amelyre y1 ≥ 0, yM = c, y(b − M x∗ ) = 0, ´es y eg´esz, amennyiben c eg´esz. •
5.1.3
Kerek´ıt´ es ´ es egyenletes sz´ınez´ es
Kerek´ıt´ es Akkor mondjuk, hogy egy z eg´esz sz´ am az x sz´ am kerek´ıt´ ese, ha |x − z| < 1. (Teh´ at az 1, 01-nak az 1 ´es a 2 is kerek´ıt´ese.) Ez speci´ alisan azt jelenti, hogy ha x eg´esz, akkor x = z. A z vektor az x vektor kerek´ıt´ ese, ha minden komponense kerek´ıt´es. Egy x nem-eg´esz sz´ am ⌊x⌋ als´ o eg´esz r´esz´en a legnagyobb x-n´el kisebb eg´esz sz´ amot ´ertj¨ uk, m´ıg ⌈x⌉ fels˝ o eg´esz r´eszen a legkisebb x-n´el nagyob sz´ amot. Eg´esz x-re ⌊x⌋ := ⌈x⌉ := x. Amennyiben x egy vektort jel¨ ol, u ´gy ⌊x⌋ azt a vektort jel¨ oli, amelyet x-b˝ ol nyer¨ unk a komponenseinek als´ o eg´esz r´esz´et v´eve. Az x vektor ⌈x⌉ fels˝ o eg´esz r´esz´et anal´ og m´ odon defini´ aljuk. Lemma 5.1.12 Legyen A teljesen unimodul´ aris m´ atrix ´es x0 egy vektor. Ekkor l´etezik egy olyan q eg´esz´ert´ek˝ u vektor, amelyre ⌊x0 ⌋ ≤ q ≤ ⌈x0 ⌉ ´es ⌊Ax0 ⌋ ≤ Aq ≤ ⌈Ax0 ⌉. M´ as sz´ oval az x0 -nak van olyan q kerek´ıt´ese, hogy az A minden a sor´ ara aq kerek´ıt´ese ax0 -nak. Biz. A feltev´es szerint az ⌊x0 ⌋ ≤ z ≤ ⌈x0 ⌉ ´es ⌊Ax0 ⌋ ≤ Az ≤ ⌈Ax0 ⌉ rendszernek van megold´ asa, ´ıgy az 5.1.8 t´etel szerint van eg´esz megold´ asa is. • ´ Erdemes megfogalmazni az al´ abbi k¨ ovetkezm´enyt: Ha (S, F) teljesen unimodul´ aris hipergr´ af, u ´gy b´ armely P x0 : S → R f¨ u ggv´ e nynek l´ e tezik olyan q kerek´ ıt´ e se, hogy minden A ∈ F hiper´ e lre a [q(v) : v ∈ A] sz´ am P kerek´ıt´ese [x0 (v) : v ∈ A]-nak.
´ TETEL 5.1.13 Tetsz˝ oleges m × n-es B m´ atrixnak van olyan kerek´ıt´ese, hogy a k¨ ovetkez˝ o mennyis´egek mind egyn´el kevesebbel v´ altoznak: minden sor¨ osszeg, minden oszlop¨ osszeg, az els˝ o j sor elemeinek ¨ osszege (j = 1, 2, . . . , m), az els˝ o i oszlop elemeinek ¨ osszege (i = 1, 2, . . . , n). Biz. Legyen S a B m´ atrix mez˝ oinek halmaza. B minden sor´ ahoz legyen a sorban l´ev˝ o mez˝ ok halmaza tagja F1 -nek valamint minden i-re (2 ≤ i ≤ m) az els˝ o i sor mez˝ oinek halmaza legyen tagja F1 -nek (¨ osszesen teh´ at 2m − 1 tagja van F1 -ben). F2 anal´ og m´ odon van defini´ alva az oszlopok seg´ıts´eg´evel. Ekkor Fi lamin´ aris, ´ıgy az 5.1.5 t´etel ´es az 5.1.12 lemma alapj´ an k´eszen vagyunk. • ´ TETEL 5.1.14 Egy x1 , . . . xn sorozat elemeinek l´etezik olyan z1 , . . . , zn kerek´ıt´ese, hogy minden 1 ≤ i ≤ j ≤ n indexre a zi + · · · + zj ¨ osszeg kerek´ıt´ese az xi + · · · + xj ¨ osszegnek. Biz. A {v1 , . . . , vn } alaphalmazon tekints¨ uk azt a hipergr´ afot, melynek ´elei a {vi , . . . , vj } t´ıpus´ u halmazok minden 1 ≤ i ≤ j ≤ n index p´ arra. Amint m´ ar l´ attuk, ez a hipergr´ af teljesen unimodul´ aris, ´ıgy az 5.1.12 lemma alkalmazhat´ o. •
83
Egyenletes sz´ınez´ esek A teljesen unimodul´ aris m´ atrixok egy m´ asik ´erdekes alkalmaz´ asa hipergr´ afok egyenletes sz´ınez´es´evel foglalkozik. ´ TETEL 5.1.15 Legyen A TU-m´ atrix, b eg´esz vektor, k pozit´ıv eg´esz. Legyen z olyan eg´esz vektor, amelyre Az ≤ kb. Ekkor z el˝ o´ all olyan z1 , z2 , . . . , zk eg´esz vektorok ¨ osszegek´ent, melyekre Azi ≤ b. Biz. k szerinti indukci´ o alapj´ an el´eg egy olyan eg´esz z1 eg´esz vektort tal´ alni, amelyre Az1 ≤ b ´es A(z − z1 ) ≤ (k − 1)b. Ugyanis ilyen z1 l´etez´ese eset´en z ′ := z − z1 olyan, amelyre Az ′ ≤ (k − 1)b ´es az indukci´ os feltev´es alkalmazhat´ o (k − 1)-re. A fenti z1 l´etez´es´ehez csak azt kell l´ atni, hogy az Az − (k − 1)b ≤ Ax ≤ b poli´edernek van eg´esz pontja. A poli´eder mindenesetre nem¨ ures, hiszen z/k benne van. Tov´ abb´ a a felt´etelek egy TU-m´ atrixszal adhat´ ok meg, ´ıgy l´etezik a k´ıv´ ant eg´esz pont is. • A fenti t´etel kiterjeszthet˝ o arra az esetre, amikor z nemnegativit´ as´ at is megk¨ ovetelj¨ uk, ´es az Ax-re nemcsak fels˝ o korl´ at van, hanem als´ o is. Val´ oban, ha A TU-m´ atrix, akkor az (A, −A, I) m´ atrix is teljesen unimodul´ aris. Kapjuk a k¨ ovetkez˝ ot. K¨ ovetkezm´ eny 5.1.16 Ha z ≥ 0 olyan eg´esz vektor, amelyre kb1 ≤ Az ≤ kb2 , akkor z felbomlik olyan z1 , z2 , . . . , zk eg´esz vektorok ¨ osszeg´ere, melyekre zi ≥ 0, ´es b1 ≤ Azi ≤ b2 . • Ezt felhaszn´ alhatjuk TU-m´ atrixok oszlopainak egyenletes k-sz´ınez´es´ere. Az A oszlopainak egy part´ıci´ oj´ at (,,sz´ınez´es´et”) A1 , A2 , . . . , Ak r´eszre akkor nevezz¨ uk egyenletesnek, ha A minden a sor´ ara ´erv´enyes, hogy a sornak az egyes Ai r´eszekbe es˝ o elemeinek ¨ osszege minden Ai -re l´enyeg´eben ugyanaz, teh´ at ⌊en a/k⌋ vagy ⌈en a/k⌉. ´ TETEL 5.1.17 Az A TU-m´ atrix oszlopainak l´etezik egyenletes k-sz´ınez´ese. Biz. Legyen d az A oszlopainak az ¨ osszege. Legyen b1 := ⌊d/k⌋, b2 := ⌈d/k⌉. Ekkor a z :≡ 1 benne van a {kb1 ≤ Ax ≤ kb2 , x ≥ 0} poli´ederben. Az el˝ obbi k¨ ovetkezm´eny szerint z felbomlik z1 , z2 , . . . , zk eg´esz vektorok ¨ osszeg´ere, melyekre zi ≥ 0, ´es b1 ≤ Azi ≤ b2 . Vil´ agos, hogy a zi -k 0 − 1 vektorok. Legyen Ai az oszlopoknak azon halmaza, melyeknek megfelel˝ o komponense zi -nek 1. Ezek ´eppen a k´ıv´ ant egyenletes sz´ınez´est adj´ ak. •
Egy alkalmaz´ as K¨ ovetkezm´ eny 5.1.18 Adott egy F ir´ any´ıtott fa (speci´ alis esetben ir´ any´ıtott u ´t) ´es F ir´ any´ıtott r´esz´ utjainak egy P := {P1 , . . . , Pt } rendszere, ahol minden utat F -´elek egy r´eszhalmaz´ anak tekint¨ unk. P tagjai megsz´ınezhet˝ ok k sz´ınnel (minden k pozit´ıv eg´eszre) u ´gy, hogy F minden e ´el´ere az e-t tartalmaz´ o egysz´ın˝ u utak sz´ ama minden sz´ınre l´enyeg´eben ugyanannyi, ahol a ,,l´enyeg´eben ugyanannyi” azt jelenti, hogy b´ armely k´et sz´ınoszt´ alyra az elt´er´es legfeljebb egy lehet. • Ha a h´ al´ ozati m´ atrix transzpon´ altj´ ara alkalmazzuk az egyenletes sz´ınez´esi t´etelt, akkor a k¨ ovetkez˝ ot kapjuk. K¨ ovetkezm´ eny 5.1.19 Adott egy F ir´ any´ıtott fa ´es F ir´ any´ıtott r´esz´ utjainak egy P := {P1 , . . . , Pt } rendszere, ahol minden utat F -´elek egy r´eszhalmaz´ anak tekint¨ unk. Az F ´elei megsz´ınezhet˝ ok k sz´ınnel (minden k pozit´ıv eg´eszre) u ´gy, hogy P minden tagj´ aban a sz´ınek l´enyeg´eben egyenletes sz´ amban fordulnak el˝ o. • Feladat 5.5 Egyszer˝ u moh´ o algoritmus megad´ as´ aval k¨ ozvetlen¨ ul bizony´ıtsuk be az 5.1.19 k¨ ovetkezm´enyt. Az 5.1.17 t´etel p´ aros gr´ afokra vonatkoz´ o k¨ ovetkezm´enyeit a 5.2.6 t´etelben t´ argyaljuk. 2013. augusztus 1. file: ulin26
84
5.2
A line´ aris programoz´ as alkalmaz´ asai a h´ al´ ozati optimaliz´ al´ asban
Ebben a r´eszben ´ attekintj¨ uk az els˝ o fejezetben megismert eredm´enyeket a line´ aris programoz´ as szemsz¨ og´eb˝ ol. A csupa egyesb˝ ol ´ all´ o j-dimenzi´ os vektort ej jel¨ oli, m´ıg a j · j-es identit´ as m´ atrixot Ij .
5.2.1
P´ aros gr´ afok: optim´ alis r´ eszgr´ afok
Optim´ alis p´ aros´ıt´ asok El˝ osz¨ or levezetj¨ uk K˝ onig az esl˝ o fejezetben m´ ar megismert 1.4.1 t´etel´et: ´ TETEL 5.2.1 (K˝ onig) A G = (S, T ; E) p´ aros gr´ afban a f¨ uggetlen ´elek maxim´ alis ν sz´ ama egyenl˝ o az ´eleket lefog´ o pontok minim´ alis τ sz´ am´ aval. Biz. A gr´ af pontjainak sz´ am´ at jel¨ olje p az ´elek sz´ am´ at q. A p´ aros gr´ af incidencia m´ atrix´ at jel¨ olje A, amelyben a soroknak a gr´ af pontjai, az oszlopoknak a gr´ af ´elei felelnek meg. Ekkor teh´ at A egy p×q m´eret˝ u 0−1-m´ atrix. Tekints¨ uk a k¨ ovetkez˝ o prim´ al-du´ al line´ aris program p´ art: max{eq x : Ax ≤ ep , x ≥ 0},
(5.4)
min{ep y : yA ≥ eq , y ≥ 0}.
(5.5)
Az 5.1.9 t´etel szerint mindk´et programnak az optimuma eg´esz vektoron felv´etetik. Jel¨ olj¨ uk ezeket rendre x0 -lal ´es y0 -lal. (5.4) minden eg´esz´ert´ek˝ u megold´ asa 0−1 ´ert´ek˝ u, ´es r¨ ogt¨ on l´ atszik, hogy (5.5) minden optim´ alis eg´esz´ert´ek˝ u megold´ asa is 0 − 1 ´ert´ek˝ u. Legyen M azon ´elek halmaza, melyeken x0 az 1 ´ert´eket veszi fel, ´es legyen L azon pontok halmaza, amelyeken y0 1-et vesz fel. Az Ax ≤ ep felt´etel azt jelenti, hogy M p´ aros´ıt´ as a gr´ afban, m´ıg az yA ≥ eq felt´etel azt jelenti, hogy L az ´eleket lefog´ o pontrendszer. A prim´ al ´es du´ al optimum ´ert´ekek egyenl˝ os´ege pedig azt jelenti, hogy |M | = |L|, ami a c´elunk volt. • E bizony´ıt´ as kapcs´ an azt mondhatjuk, hogy a K˝ onig t´etel nem m´ as, mint a dualit´ as t´etel TU-m´ atrixokra vonatkoz´ o eg´esz´ert´ek˝ u alakja abban a speci´ alis esetben, amikor a felt´eteli m´ atrix a p´ aros gr´ af incidencia m´ atrixa, m´ıg a korl´ atoz´ o vektor ´es a c´elf¨ uggv´eny a (megfelel˝ o dimenzi´ os) azonosan 1 vektor. Term´eszetesen a prim´ al programban az azonosan 1 c´elf¨ uggv´eny helyett v´ alaszthatunk tetsz˝ oleges c c´elf¨ uggv´enyt. Ekkor a fenti megk¨ ozel´ıt´es az 1.4.10 t´etelt adja meg:
P
´ TETEL 5.2.2 P´ aros gr´ afban egy p´ aros´ıt´ as maxim´ alis k¨ olts´ege egyenl˝ o min{ v∈V π(v) : π ≥ 0, π(u) + π(v) ≥ c(uv) minden uv ´elre}. Ha c eg´esz´ert´ek˝ u, az optim´ alis π is v´ alaszthat´ o eg´esz´ert´ek˝ unek. • Mell´ekterm´ekk´ent kapjuk: ´ TETEL 5.2.3 A G p´ aros gr´ af A incidencia m´ atrix´ aval fel´ırt {x : Ax ≤ ep , x ≥ 0}
(5.6)
poli´eder eg´esz, amelynek cs´ ucsai pontosan a gr´ af p´ aros´ıt´ asainak incidencia vektorai. • Egy gr´ af p´ aros´ıt´ as politopja a p´ aros´ıt´ asok incidencia vektorainak konvex burka. A 3.4.3 t´etel szerint tetsz˝ oleges politop (korl´ atos) poli´eder, azaz fel´ırhat´ o egy line´ aris egyenl˝ otlens´eg-rendszer megold´ ashalmazak´ent. A 5.2.3 t´etel a (5.6) rendszerrel teh´ at konkr´etan megadja a p´ aros´ıt´ as politop poli´ederk´ent t¨ ort´en˝ o el˝ o´ all´ıt´ as´ at. (Ezek miatt nem okozhat f´elre´ert´est, hogy a p´ aros´ıt´ as politopot gyakran p´ aros´ıt´ as poli´edernek h´ıvj´ ak.) Megjegyzend˝ o, hogy tetsz˝ oleges gr´ afra is a p´ aros´ıt´ as politop mindig r´esze a (5.6) poli´edernek, de ilyenkor lehet val´ odi r´esze. Nevezz¨ unk egy m´ atrixot bisztochasztikusnak, ha n´egyzetes, nemnegat´ıv ´es minden sor¨ osszege valamint minden oszlop¨ osszege egy. Legegyszer˝ ubb bisztochasztikus m´ atrixok a permut´ aci´ o m´ atrixok, melyeknek minden eleme 0 vagy 1 ´es minden oszlop´ aban ´es minden sor´ aban pontosan egy darab egyes van. Permut´ aci´ o m´ atrixok konvex kombin´ aci´ oja is bisztochasztikus. A k¨ ovetkez˝ o t´etel f˝ o mondanival´ oja az, hogy val´ oj´ aban minden bisztochasztikus m´ atrix el˝ o´ all ilyen alakban. ´ TETEL 5.2.4 (Birkhoff ´ es Neumann) Egy m´ atrix akkor ´es csak akkor bisztochasztikus, ha permut´ aci´ o m´ atrixok konvex kombin´ aci´ oja. Biz. Egy B n × n-es m´ atrix megfelel egy G n × n-es teljes p´ aros gr´ af ´elhalmaz´ an ´ertelmezett xB vektornak. Figyelj¨ uk meg, hogy a permut´ aci´ o m´ atrixok ´eppen a teljes p´ aros´ıt´ asoknak felelnek meg. Ha B bisztochasztikus, aros´ıt´ as poli´eder´eben, vagyis el˝ o´ all p´ aros´ıt´ asok (incidencia akkor AxB = en2 , xB ≥ 0, azaz xB benne van a G p´ vektorainak) konvex kombin´ aci´ ojak´ent. Teh´ at B el˝ o´ all permut´ aci´ o m´ arixok konvex kombin´ aci´ ojak´ent. • Term´eszetesen megkaphatjuk Egerv´ ary 1.4.4 t´etel´et, s˝ ot most m´ ar belefoglaljuk azt az esetet is, amikor a s´ ulyf¨ uggv´eny nem eg´esz.
85
´ TETEL 5.2.5 (Egerv´ ary) A G = (S, T ; E) teljes p´ aros´ıt´ assal rendelkez˝ o p´ aros gr´ afban a c ≥ 0 s´ ulyf¨ uggv´enyre vonatkoz´ o maxim´ alis s´ uly´ u teljes p´ aros´ıt´ as νc s´ ulya egyenl˝ o a s´ ulyozott lefog´ asok minim´ alis τc ¨ ossz´ert´ek´evel. Amennyiben G teljes p´ aros gr´ af, u ´gy az optim´ alis s´ ulyozott lefog´ as v´ alaszthat´ o nemnegat´ıvnak is. Amennyiben c eg´esz´ert´ek˝ u az optim´ alis s´ ulyozott lefog´ as is v´ alaszthat´ o annak. Biz. A fenti megk¨ ozel´ıt´eshez k´epest csak annyit kell v´ altoztatni, hogy az Ax ≤ ep egyenl˝ otlens´eg rendszer helyett az Ax = ep egyenletrendszert kell venn¨ unk. Ekkor persze a du´ alisban a v´ altoz´ okra nincs nemnegat´ıvit´ as el˝ o´ırva. A teljes p´ aros gr´ af eset´en az´ert igaz m´egis, hogy az optim´ alis du´ alis megold´ as v´ alaszthat´ o nemnegat´ıvnak, mert ilyenkor az {max cx : Ax ≤ ep , x ≥ 0} line´ aris program optim´ alis megold´ asa c nem negativit´ asa valamint a p´ aros gr´ af teljess´ege miatt mindig teljes p´ aros´ıt´ ason is felv´etetik, m´ arpedig ezen line´ aris program du´ alis´ aban a v´ altoz´ ok nemnegat´ıvak. • Mi t¨ ort´enik, ha adott k-ra a pontosan k ´el˝ u p´ aros´ıt´ asok maxim´ alis s´ uly´ ara szeretn´enk t´etelt kapni? Miut´ an bebizony´ıthat´ o, hogy egy p´ aros gr´ af incidenciam´ atrix´ at egy csupa egyes sorral kieg´esz´ıtve tov´ abbra is TUm´ atrixot kapunk (figyelem: csupa egyes oszloppal val´ o kieg´esz´ıt´essel nem), ´ıgy a k¨ ovetkez˝ o prim´ al-du´ al line´ aris program p´ ar megadja a v´ alaszt: max{cx : Ax ≤ ep , eq x = k} ´es min{πep + kα : πA + αeq ≥ c, π ≥ 0}. A prim´ al optimum teh´ at eg´esz´ert´ek˝ u, ´es ´ıgy sz¨ uks´egk´eppen egy k elem˝ u p´ aros´ıt´ as incidencia vektora. A du´ al optimum is eg´esz´ert´ek˝ u, felt´eve, hogy c az.
P´ aros gr´ af foksz´ amkorl´ atozott r´ eszgr´ afjai: a sz´ all´ıt´ asi probl´ ema Tov´ abbi ´ altal´ anos´ıt´ asokat kaphatunk, ha a prim´ al feladatban a jobboldalt valamilyen (nem-negat´ıv) b vektornak v´ alasztjuk. Ennek az a kombinatorikus jelent´ese, hogy a p´ aros gr´ afban maxim´ alis s´ uly´ u foksz´ amkorl´ atozott r´eszgr´ afot keres¨ unk. Term´eszetesen als´ o korl´ atokat is kit˝ uzhet¨ unk a foksz´ amokra, mint ahogy korl´ atozhatjuk alulr´ ol ´es fel¨ ulr˝ ol azt is, hogy egy ´elt h´ any p´eld´ anyban vehet¨ unk be a keresett r´eszgr´ afba (megint csak amiatt, hogy az incidencia m´ atrixot egy csupa egyes sorral kieg´esz´ıtve TU-m´ atrixot kapunk). Val´ oj´ aban nem is ´erdemes explicit megfogalmazni a k¨ ul¨ onb¨ oz˝ o lehet˝ os´egekre vonatkoz´ o min-max t´eteleket, mert a dualit´ as t´etel ´es a p´ aros gr´ af incidencia m´ atrix´ anak teljes unimodularit´ asa m´ ar mag´ aban hordozza a sz¨ uks´eges inform´ aci´ ot. Eml´ekeztet¨ unk, hogy kor´ abban ezen feladatok k¨ or´et nevezt¨ uk sz´ all´ıt´ asi probl´em´ anak.
5.2.2
P´ aros gr´ afok: ´ elsz´ınez´ esek
K¨ ozismert K˝ onig ´elsz´ınez´esi t´etele, amely szerint minden ∆-regul´ aris p´ aros gr´ af ´elhalmaza felbomlik ∆ ´elidegen teljes p´ aros´ıt´ asra. (Ez k¨ ozvetlen¨ ul levezethet˝ o indukci´ oval, vagy esetleg a Hall t´etelre t´ amaszkodva). Ugyanakkor a TU-m´ atrixokra vonatkoz´ o 5.1.17 egyenletes sz´ınez´esi t´etelb˝ ol sokkal ´ altal´ anosabb eredm´eny nyerhet˝ o. Az ´elsz´ınez´esi t´etelt n´eha kicsit ´ altal´ anosabban fogalmazz´ ak meg: Ha egy p´ aros gr´ afban a maxim´ alis foksz´ am ∆, akkor az ´eleket meg lehet ∆ sz´ınnel sz´ınezni u ´gy, hogy minden cs´ ucsba k¨ ul¨ onb¨ oz˝ o sz´ın˝ u ´elek futnak. ´ TETEL 5.2.6 Egy G = (S, T ; E) p´ aros gr´ af ´eleit meg lehet k sz´ınnel u ´gy sz´ınezni, hogy minden v cs´ ucsra ´es mindegyik j sz´ınre (j = 1, . . . , k) a v-be men˝ o d(v) darab ´el k¨ oz¨ ul ⌊d(v)/k⌋ vagy ⌈d(v)/k⌉ darab sz´ıne j. R´ aad´ asul m´eg azt is megk¨ ovetelhetj¨ uk, hogy minden sz´ınoszt´ aly m´erete k¨ ozel ugyanakkora legyen, vagyis ⌊|E|/k⌋ vagy ⌈|E|/k⌉. Ha k-t a maxim´ alis ∆ foksz´ amnak v´ alasztjuk, akkor megkapjuk K˝ onig ´elsz´ınez´esi t´etel´et, amely szerint p´ aros gr´ af kromatikus indexe (´elsz´ınez´esi sz´ ama) a maxim´ alis foksz´ ammal egyenl˝ o. Ha k-t a minim´ alis δ foksz´ amnak v´ alasztjuk, akkor Gupta egy t´etel´et kapjuk, amely szerint G p´ aros gr´ af ´elhalmaza felbonthat´ o δ r´eszre u ´gy, hogy mindegyik r´esz fedi az ¨ osszes pontot. •
5.2.3
Megengedett potenci´ alok, legolcs´ obb utak
Legyen D = (V, A) ir´ any´ıtott gr´ af, melynek (0, 1, −1)-es incidencia m´ atrix´ at jel¨ olje Q. Egy π : V → R vektort akkor nevezt¨ unk a c : A → R k¨ olts´egf¨ uggv´enyre n´ezve megengedett potenci´ alnak, ha π(v) − π(u) ≤ c(uv) fenn´ all minden uv ∈ A ´elre. Figyelj¨ uk meg, hogy egy π vektor pontosan akkor megengedett potenci´ al, ha πQ ≤ c. Egy x : A → R vektor pedig pontosan akkor ´ aram, ha Qx = 0. Megmutatjuk, hogy a megengedett potenci´ al l´etez´es´ere vonatkoz´ o 1.3.8 t´etel r¨ ogt¨ on k¨ ovetkezik a Farkas lemma TU-m´ atrixokra vonatkoz´ o ´elesebb alakj´ ab´ ol. Az al´ abbi t´etel a 1.3.8 t´etel m´ as sz¨ ovegez´essel. ´ TETEL 5.2.7 Adott c : A → R k¨ olts´eg-f¨ uggv´enyre akkor ´es csak akkor l´etezik olyan π : V → R vektor, amelyre π(v) − π(u) ≤ c(uv) minden e = uv ∈ A ´elre, ha c konzervat´ıv, azaz ha nem l´etezik negat´ıv k¨ olts´eg˝ u ir´ any´ıtott k¨ or. Amennyiben c eg´esz´ert´ek˝ u, u ´gy a potenci´ al is v´ alaszthat´ o annak. Biz. A Q m´ atrix transzpon´ altja teljesen unimodul´ aris, ´ıgy a 5.1.8 t´etel miatt vagy l´etezik a πQ ≤ c rendszernek megold´ asa (amely eg´esz, ha c az), vagy pedig a du´ alis {Qx = 0, x ≥ 0, cx < 0} rendszernek l´etezik egy (0, ±1)es megold´ asa. Az els˝ o eset ´epp egy megengedett potenci´ al l´etez´es´et jelenti, m´ıg a m´ asodik esetben, x ≥ 0 miatt, x egy (0, 1) ´ert´ek˝ u, negat´ıv k¨ olts´eg˝ u ´ aram, amely ´elidegen k¨ or¨ okre bomlik, ´es ´ıgy e k¨ or¨ ok egyike is negat´ıv. •
86
A dualit´ as t´etel TU-m´ atrixokra vonatkoz´ o ´eles´ıtett alakj´ ab´ ol k¨ onnyen levezethet˝ o az 1.3.15 t´etel is. ´ TETEL 5.2.8 Konzervat´ıv c k¨ olts´egf¨ uggv´eny eset´en az s-b˝ ol t-be vezet˝ o utak k¨ olts´eg´enek lc (t) minimuma egyenl˝ o π(t) − π(s) maximum´ aval, ahol a maximum az ¨ osszes megengedett π potenci´ alon veend˝ o. Biz. Tegy¨ uk fel, hogy a Q m´ atrix els˝ o ´es m´ asodik sora felel meg az s illetve a t pontnak. Tekints¨ uk a max{π(t) − π(s) : πQ ≤ c} line´ aris programot. Ennek du´ alisa min{cx : Qx = (−1, +1, 0, 0, . . . , 0), x ≥ 0}. A prim´ al program optim´ alis megold´ asa ´epp a t´etlben szerepl˝ o maximum. Mivel Q TU-m´ atrix, ´ıgy a 5.1.9 t´etel miatt l´etezik eg´esz´ert´ek˝ u optim´ alis π is, ha c eg´esz. A du´ alis programnak az 5.1.9 szerint a c eg´esz´ert´ek˝ us´eg´et˝ ol f¨ uggetlen¨ ul l´etezik egy x∗ eg´esz´ert´ek˝ u optimuma. Figyelj¨ uk meg, hogy a Qx = (−1, +1, 0, 0, . . . , 0), x ≥ 0 megold´ asai ´eppen az egy nagys´ ag´ u folyamok. Mivel x∗ eg´esz´ert´ek˝ u, ´ıgy el˝ o´ all, mint egy u ´t ´es ir´ any´ıtott k¨ or¨ ok (incidencia vektorainak) nemnegat´ıv kombin´ aci´ ojak´ent. De c konzervat´ıvit´ asa miatt a k¨ or¨ ok k¨ olts´ege nemnegat´ıv, ´ıgy ezeket kihagyva feltehetj¨ uk, hogy x∗ egy st u ´t incidencia vektora. •
5.2.4
Megengedett ´ aramok ´ es folyamok
Kor´ abban m´ ar megjegyezt¨ uk, hogy ha a megmarad´ asi szab´ aly helyett csup´ an a ̺x (v) ≤ δx (v) egyenl˝ otlens´eget ´ırjuk el˝ o minden v cs´ ucsn´ al, akkor x automatikusan ´ aram, m´ assz´ oval a Qx ≤ 0 egyenl˝ otlens´eg-rendszer megold´ ashalmaza pontosan az ´ aramok halmaza. (Ezt kellett bizony´ıtani a 1.5.1 gyakorlat (a) r´esz´eben.) ´ TETEL 5.2.9 Ha f ≤ g eg´esz´ert´ek˝ u, akkor a megengedett ´ aramok {x : Qx ≤ 0, f ≤ x ≤ g} poli´edere, amennyiben nem¨ ures, eg´esz poli´eder. Biz. Mivel Q TU-m´ atrix, ´ıgy ha kieg´esz´ıtj¨ uk egy (negat´ıv) egys´egm´ atrixszal, u ´gy tov´ abbra is TU-m´ atrixot kapunk, ´es ´ıgy a 5.1.9 t´etelt alkalmazhatjuk. • Hasonl´ o megfontol´ assal kapjuk: ´ TETEL 5.2.10 A D = (V, A) digr´ af ´elhalmaz´ an adott a g ≥ 0 eg´esz kapacit´ asf¨ uggv´eny. Legyen s ´es t k´et kijel¨ olt cs´ ucs, melyekre ̺(s) = 0 = δ(t). A k nagys´ ag´ u megengedett folyamok {x ∈ RA : 0 ≤ x ≤ g, ̺x (v) = δx (v) minden v ∈ V − {s, t}-re, δx (s) = k} poli´edere, amennyiben nem¨ ures, eg´esz poli´eder. • Hoffman megengedett ´ aramok l´etez´es´ere vonatkoz´ o t´etel´et kor´ abban m´ ar k´etf´elek´eppen is bel´ attuk: egyr´eszt adtunk r´ a egy direkt bizony´ıt´ ast, m´ asr´eszt levezett¨ uk az MFMC t´etelb˝ ol is. Most megmutatjuk, hogy a Hoffman t´etel l´enyeg´eben nem m´ as, mint a Farkas lemm´ anak az 5.1.8 t´etelben TU-m´ atrixokra vonatkoz´ o ´elesebb alakja egy digr´ af incidencia m´ atrix´ ara fel´ırva. ´ TETEL 5.2.11 (Hoffman, 1960) A D = (V, A) digr´ afban adott f ≤ g kapacit´ asf¨ uggv´enyekre vonatkoz´ olag akkor ´es csak akkor l´etezik megengedett ´ aram, ha ̺f (X) ≤ δg (X) minden X ⊆ V halmazra.
(5.7)
Tov´ abb´ a, ha f ´es g eg´esz´ert´ek˝ uek ´es (5.7) fenn´ all, u ´gy l´etezik eg´esz´ert´ek˝ u megengedett ´ aram is. Biz. Csak az elegend˝ os´eg igazol´ as´ aval foglalkozunk. Tekints¨ uk a Qx ≤ 0, x ≤ g, −x ≤ −f rendszert. A 5.1.8 t´etelt alkalmazva kapjuk, hogy ha a fenti rendszernek nincs megold´ asa, akkor van olyan (y, u, v) (0, 1)-´ert´ek˝ u vektor amelyre (∗) yA + u − v = 0 ´es (∗∗) ug − vf < 0. Mivel f ≤ g, ´ıgy minden ´elre feltehet˝ o, hogy u(e) ´es v(e) k¨ oz¨ ul legal´ abb az egyik nulla (ha ugyanis mindkett˝ o 1, akkor mindkett˝ ot helyettes´ıthetj¨ uk null´ aval.) Jel¨ olje Z azon z pontok halmaz´ at, ahol az y(z) = 1. Ekkor (∗) miatt minden olyan e ´elre, amelynek mindk´et v´ege vagy Z-ben vagy V − Z-ben van, u(e) = v(e) = 0. Tov´ abb´ a minden Z-be bel´ep˝ o e ´elre v(e) = 1, u(e) = 0 ´es minden z-b˝ ol kil´ep˝ o ´elre v(e) = 0, u(e) = 1. Miut´ an ug = δg (Z) ´es vf = ̺f (Z), ´ıgy (∗∗) ellentmond a (5.7) felt´etelnek. •
5.2.5
Minim´ alis k¨ olts´ eg˝ u´ aramok ´ es folyamok
Tekints¨ uk most a k¨ olts´eges ´ aram probl´em´ at, azaz adott c : A → R k¨ olts´egf¨ uggv´eny eset´en keress¨ unk minim´ alis k¨ olts´eg˝ u megengedett ´ aramot, m´ as sz´ oval, oldjuk meg a min{cx : Qx = 0, f ≤ x ≤ g}
(5.8)
line´ aris programot. (Term´eszetesen az x ≤ g egyenl˝ otlens´eg itt azt jelenti, hogy x(e) ≤ g(e) az olyan ´elekre, ahol g(e) v´eges. Du´ alis v´ altoz´ o teh´ at csak ilyen egyenl˝ otlens´egekhez tartozik.)
87
Korl´ atoss´ ag ´ es optimalit´ as El˝ osz¨ or vizsg´ aljuk meg, hogy cx mikor korl´ atos alulr´ ol. K´esz´ıts¨ unk el egy D′ = (V, A′ ) digr´ afot, ´es ´elein ′ ′ defini´ aljuk a c k¨ olts´egf¨ uggv´enyt a k¨ ovetkez˝ ok´eppen. D -ben uv akkor ´el, ha vagy vu ∈ A, f (vu) = −∞, ´es ekkor c′ (uv) = −c(vu), vagy pedig uv ∈ A, g(uv) = ∞, ´es ekkor c′ (uv) = c(uv). B´ ar az 5.1.10 t´etelt specializ´ alva k¨ ozvetlen¨ ul is kiolvashat´ o az al´ abbi eredm´eny, u ´jra megadjuk az ottani bizony´ıt´ ast a mostani helyzetre specializ´ alva. ´ TETEL 5.2.12 Felt´eve, hogy l´etezik megengedett ´ aram, a k¨ ovetkez˝ ok ekvivalensek. (a) cx alulr´ ol korl´ atos, (b) nincs negat´ıv ¨ osszk¨ olts´eg˝ u ir´ any´ıtott k¨ or D′ -ben, (c) l´etezik egy olyan π : V → R f¨ uggv´eny, amelyre π(v) − π(u) ≤ c(uv), ha uv ∈ A ´es g(uv) = ∞,
(5.9)
π(v) − π(u) ≥ c(uv), ha uv ∈ A ´es f (uv) = −∞.
(5.10)
Amennyiben c eg´esz´ert´ek˝ u, u ´gy a sz´ obanforg´ o π is v´ alaszthat´ o annak. Biz. (a)→(b) Ha l´etezik negat´ıv k¨ or D′ -ben, akkor ennek egy olyan k¨ or felel meg D-ben, melynek az el˝ oremen˝ o ´elein a g v´egtelen, a visszamen˝ o ´elein az f minusz v´egtelen, ´es az ´eleinek ¨ osszk¨ olts´ege negat´ıv. M´ arpedig ha a megl´ev˝ o megengedett ´ aramot az el˝ oremen˝ o ´eleken b´ armilyen nagy K-val egys´egesen megn¨ ovelj¨ uk a visszamen˝ ok¨ on pedig K-val cs¨ okkentj¨ uk, akkor megengedett ´ aramot kapunk, amelynek k¨ olts´ege ´ıgy ak´ armilyen kicsi lehet. (b)→(c) Ha D′ -ben nincs negat´ıv k¨ or, akkor az 5.2.7 t´etel miatt l´etezik egy π : V → R f¨ uggv´eny, amelyre uv ∈ A, g(uv) = ∞ eset´en (amikor is uv ∈ A′ ) π(v) − π(u) ≤ c′ (uv) = c(uv) azaz (5.9) fenn´ all, m´ıg uv ∈ A, f (uv) = −∞ eset´en (amikor is vu ∈ A′ ) π(u) − π(v) ≤ c′ (vu) = −c(uv) vagyis π(v) − π(u) ≥ c(uv), azaz (5.10) fenn´ all. (c)→(a) Tetsz˝ oleges x ´ aram k¨ olts´ege b´ armely ∆π (uv) := π(v) − π(u) pontinduk´ alt k¨ olts´egf¨ uggv´eny eset´en nulla. A cπ (uv) := c(uv) − π(v) + π(u) eltolt k¨ olts´egf¨ uggv´enyre (5.9) azzal ekvivalens, hogy cπ (uv) > 0 eset´en g(uv) < ∞, m´ıg (5.10) azzal, en f (uv) > −∞. Ezek alapj´ an egy xP megengedett ´ aramra Phogy cπ (uv) < 0 eset´P c (uv)x(uv) = ´es (c)-t kiel´eg´ıt˝ o π-re cx = uv∈A π Puv∈A [cπ (uv)x(uv) : cπ (uv) > 0] + uv∈A [cπ (uv)x(uv) : P o [c (uv)g(uv) : cπ (uv) > 0] + uv∈A [cπ (uv)f (uv) : cπ (uv) < 0], ami a cx-re v´eges als´ cπ (uv) < 0] = uv∈A π korl´ at. (Most teh´ at r´eszletesen ki´ırogatva azt a m´ ar kor´ abban l´ atott egyszer˝ u t´enyt igazoltuk u ´jfent, hogy ha mind a prim´ al, mind a dual poli´eder nem¨ ures, akkor cx alulr´ ol korl´ atos a prim´ al poli´ederen.) • Tegy¨ uk most fel, hogy x megengedett ´ aram. K´esz´ıts¨ unk el egy Dx = (V, Ax ) digr´ afot ´es az ´elhalmaz´ an egy cx k¨ olts´egf¨ uggv´enyt a k¨ ovetkez˝ ok´eppen. Az uv ´el akkor tartozz´ek Ax -hez, ha vagy uv ∈ A, x(uv) < g(uv), ´es ekkor legyen cx (uv) := c(uv), vagy pedig vu ∈ A, x(vu) > f (vu), ´es ekkor legyen cx (uv) := −c(vu). A 5.1.11 t´etelt specializ´ alva kapjuk a k¨ ovetkez˝ ot. ´ TETEL 5.2.13 Adott x megengedett ´ aram eset´en a k¨ ovetkez˝ ok ekvivalensek. (a) x optim´ alis megold´ asa a (5.8) minim´ alis k¨ olts´eg˝ u megengedett ´ aram feladatnak, (b) Dx -ben nem l´etezik negat´ıv ¨ osszk¨ olts´eg˝ u ir´ any´ıtott k¨ or, (c) l´etezik egy olyan π : V → R f¨ uggv´eny, amelyre π(v) − π(u) ≤ c(uv), ha uv ∈ A ´es x(uv) < g(uv), π(v) − π(u) ≥ c(uv), ha uv ∈ A ´es x(uv) > f (uv). Amennyiben c eg´esz´ert´ek˝ u, u ´gy a sz´ obanforg´ o π is v´ alaszthat´ o annak. • Feladat 5.6 A 5.2.12 t´etel fenti direkt bizony´ıt´ as´ anak mint´ aj´ ara adjuk meg az 5.2.13 t´etel k¨ ozvetlen bizony´ıt´ as´ at is. Feladat 5.7 Fogalmazzuk meg ´es bizony´ıtsuk be a 5.2.12 ´es a 5.2.13 t´etelek megengedett potenci´ alokra vonatkoz´ o ellenp´ arj´ at. Az ´ aramokra megfogalmazott optimalit´ asi felt´etelt k¨ onnyen ´ atvihetj¨ uk folyamokra. ´ TETEL 5.2.14 A D = (V, A) ir´ any´ıtott gr´ af ´elhalmaz´ an adott a g : A → R+ kapacit´ asf¨ uggv´eny ´es a c : A → R k¨ olts´egf¨ uggv´eny. Egy k nagys´ ag´ u megengedett z folyam akkor ´es csak akkor minim´ alis k¨ olts´eg˝ u a k nagys´ ag´ u megengedett folyamok k¨ oz¨ ott, ha l´etezik olyan π potenci´ al, amelyre fenn´ allnak a k¨ ovetkez˝ o optimalit´ asi felt´etelek: π(v) − π(u) < c(uv) ⇒ z(uv) = 0,
(i)
π(v) − π(u) > c(uv) ⇒ z(uv) = g(uv).
(ii)
88
Biz. Adjunk a digr´ afhoz egy ts ´elt ´es defini´ aljuk a k¨ olts´eg´et 0-nak. Legyen g(ts) := f (ts) := k. Minden r´egi ´elen legyen f (e) := 0. Az ´ıgy kib˝ ov´ıtett D′ = (V, A′ ) digr´ afban a megengedett ´ aramok ´eppen a D-beli k nagys´ ag´ u folyamoknak felelnek meg, ´ıgy a 5.2.13 t´etelt D′ -re alkalmazva az (i) ´es (ii) felt´eteleket kapjuk. • A minim´ alis k¨ olts´eg˝ u folyamokra vonatkoz´ o algoritmus seg´ıts´eg´evel m´ ar igazoltuk az al´ abbi t´etelt, legal´ abbis abban az esetben, amikor g eg´esz´ert´ek˝ u ´es c nemnegat´ıv (1.6.5 t´etel). Megmutatjuk, hogy a h´ att´erben most is az 5.1.9 t´etelben megfogalmazott TU-m´ atrixokra vonatkoz´ o eg´esz´ert´ek˝ u dualit´ as t´etel ´ all. ´ TETEL 5.2.15 A D = (V, A) ir´ any´ıtott gr´ af ´elhalmaz´ an adott a g : A → R+ kapacit´ asf¨ uggv´eny ´es a c : A → R k¨ olts´egf¨ uggv´eny. A k nagys´ ag´ u megengedett folyamok k¨ olts´eg´enek minimuma egyenl˝ oa kπ(t) +
X
[cπ (uv)g(uv) : uv ∈ A, cπ (uv) < 0]
(5.11)
´ert´ek maximum´ aval, ahol a maximum az ¨ osszes π : V → R f¨ uggv´enyre megy, amelyre π(s) = 0. Amennyiben g eg´esz´ert´ek˝ u, az optim´ alis folyam v´ alaszthat´ o eg´esznek. Amennyiben c eg´esz´ert´ek˝ u, az optim´ alis π v´ alaszthat´ o eg´esz´ert´ek˝ unek. Biz. Tegy¨ uk fel, hogy a digr´ af Q incidencia-m´ atrix´ anak els˝ o ´es m´ asodik sora felel meg az s illetve a t pontnak. Tekints¨ uk a min{cx : x ≥ 0, Qx = (−k, +k, 0, 0, . . . , 0), x ≤ g} prim´ al programot. Az x ≤ g felt´etelt az ekvivalens (−Im )x ≥ −g alakba t´eve fel´ırhatjuk a du´ alis probl´em´ at: max{k(π(t) − π(s)) − gz : πQ − zIm ≤ c, z ≥ 0}, ahol m = |A|. A prim´ al poli´eder elemei a k nagys´ ag´ u folyamok. A 5.1.9 t´etel szerint eg´esz g eset´en a prim´ al poli´eder eg´esz, f¨ uggetlen¨ ul c eg´esz´ert´ek˝ us´eg´et˝ ol. Hasonl´ ok´epp a du´ alis poli´eder is eg´esz, amennyiben c eg´esz. Figyelj¨ uk meg, hogy tetsz˝ oleges π meghat´ aroz egy hozz´ a tartoz´ o legjobb z-t: z(uv) := π(v) − π(u) − c(uv), ha π(v) − π(u) > c(uv), ´es z(uv) = 0, ha c(uv) ≤ π(v) − π(u). ´Igy teh´ at adott π-hez tartoz´ o k(π(t) − π(s)) − gz c´elf¨ uggv´eny ´ert´eke nem m´ as, mint a (5.11) k´epletben megadott ´ert´ek, hiszen a π eltol´ as´ aval feltehetj¨ uk, hogy π(s) = 0. •
5.2.6
H´ al´ ozati m´ atrixokkal adott line´ aris programok
Fontos megjegyezni, hogy a h´ al´ ozati m´ atrixokkal megadott line´ aris programok megoldhat´ ok ´ aram probl´emak´ent. Legyen D = (V, A) ir´ any´ıtott gr´ af, F fesz´ıt˝ o fa ´es legyen N := A − F a nem-fa ´elek halmaza. Legyen adott f = (fF , fN ) ´es g = (gF , gN ) korl´ at, melyekre f ≤ g. Legyen tov´ abb´ a c = (cF , cN ) egy olyan vektor, amelyre cF = 0. Jel¨ olje az F -hez tartoz´ o (0, ±1)-es h´ al´ ozati m´ atrixot B, m´ıg a D digr´ af (0, ±1)-es pont-´el incidencia m´ atrix´ at QD . Legyen tov´ abb´ a x = (xF , xN ). Tekints¨ uk a max{cN xN : fF ≤ BxN ≤ gF , fN ≤ xN ≤ gN } line´ aris programot. Bel´ atjuk, hogy ez ekvivalens a max{cx : QD x = 0, f ≤ x ≤ g} maxim´ alis k¨ olts´eg˝ u´ aram feladattal. Amennyiben x = (xF , xN ) ´ aram (azaz QD x = 0), u ´gy k¨ onnyen l´ atszik, hogy xF = BxN , ´es persze cx = cN xN . Emiatt f ≤ x ≤ g ekvivalens a fF ≤ BxN ≤ gF , fN ≤ xN ≤ gN felt´etelekkel. Ford´ıtva, tegy¨ uk fel, hogy xN kiel´eg´ıti ezen ut´ obbi egyenl˝ otlens´egeket. Minden e ∈ N nem-fa ´elhez legyen χe az (1, ae ) vektor, ahol ae az A m´ atrix e-hez tartoz´ o oszlopa. (M´ assz´ oval, χe az e ´elhez tartoz´ o Ce alapk¨ or 0, ±1-es P aram, ´es ´ıgy az x := [xN (e)χe : e ∈ N ] is ´ aram, m´eghozz´ a olyan, hogy incidencia vektora.) Ekkor persze χe ´ x(e) = xN (e), ha e ∈ N . L´ athat´ o, hogy fF ≤ BxN ≤ gF azzal ekvivalens, hogy fF (e) ≤ x(e) ≤ gF (e) minden e ∈ F ´elre fenn´ all. • K¨ ovetkezik p´eld´ aul, hogy p´ aros gr´ afok ´eleinek vagy az ir´ any´ıtott f´ ak ir´ any´ıtott r´esz´ utjainak egyenletes sz´ınez´eseire vonatkoz´ o t´eteleket egy maxim´ alis folyamot kisz´ am´ıt´ o algoritmussal tudjuk algoritmikusan kezelni. Hasonl´ ok´epp a kerek´ıt´esi eredm´enyeket. A minim´ alis k¨ olts´eg˝ u megengedett potenci´ al meghat´ aroz´ as´ anak probl´em´ aj´ at pedig u ´gy lehet algoritmikusan megoldani, hogy fel´ırjuk a hozz´ atartoz´ o du´ alis feladatot. Ez minim´ alis k¨ olts´eg˝ u megengedett ´ aram probl´em´ anak tekinthet˝ o, majd ennek megold´ asak´ent el˝ o´ all´ıtjuk az optim´ alis ´ aramot ´es ennek optim´ alis du´ alis megold´ as´ at, ami ´eppen az eredeti potenci´ al probl´ema megold´ asa. 2013. augusztus 1. file: ulin27
89
Tartalom ´ AS ´ GRAFOKON ´ 1 OPTIMALIZAL 1.1 Algoritmusok hat´ekonys´ ag´ ar´ ol . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Gr´ afok bej´ ar´ asa: el´erhet˝ os´eg . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Sz´eless´egi keres´es . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 M´elys´egi keres´es . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Optim´ alis utak ´es potenci´ alok . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Bevezet´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2 Legolcs´ obb utak aciklikus digr´ afban . . . . . . . . . . . . . . . . 1.3.3 Legolcs´ obb utak nem-negat´ıv k¨ olts´egekre: Dijkstra algoritmusa . 1.3.4 Konzervat´ıv k¨ olts´egf¨ uggv´enyek, megengedett potenci´ alok, tenzi´ ok 1.3.5 Legolcs´ obb utak: min-max t´etel ´es optimalit´ asi felt´etel . . . . . . 1.3.6 Algoritmusok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 P´ aros gr´ afok optim´ alis p´ aros´ıt´ asai . . . . . . . . . . . . . . . . . . . . . 1.4.1 Maxim´ alis elemsz´ am´ u p´ aros´ıt´ asok: a jav´ıt´ o utak m´ odszere . . . . 1.4.2 Maxim´ alis s´ uly´ u teljes p´ aros´ıt´ asok: a Magyar m´ odszer . . . . . . 1.4.3 Egerv´ ary eredeti bizony´ıt´ asa ´es algoritmusa . . . . . . . . . . . . 1.4.4 Maxim´ alis s´ uly´ u p´ aros´ıt´ asok . . . . . . . . . . . . . . . . . . . . . ´ 1.5 Aramok ´es folyamok h´ al´ ozatokban . . . . . . . . . . . . . . . . . . . . . 1.5.1 Fogalmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.2 Motiv´ aci´ ok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.3 Megengedett ´ aramok . . . . . . . . . . . . . . . . . . . . . . . . . ´ 1.5.4 Aramok ´es folyamok kapcsolata . . . . . . . . . . . . . . . . . . . 1.6 Folyam algoritmusok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.1 Maxim´ alis folyamok: a n¨ ovel˝ o utak m´ odszere . . . . . . . . . . . 1.6.2 Sk´ al´ az´ asi technika . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.3 Legr¨ ovidebb n¨ ovel˝ o utak . . . . . . . . . . . . . . . . . . . . . . . 1.6.4 Minim´ alis k¨ olts´eg˝ u folyamok . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
3 3 6 8 8 10 10 10 13 13 16 17 21 21 22 24 26 28 28 29 30 31 33 33 33 34 35
´ 2 LINEARIS EGYENLETRENDSZEREK 39 2.1 Vektort´er, alt´er, line´ aris f¨ uggetlens´eg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.2 M´ atrixok, egyenletrendszerek megoldhat´ os´ aga . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.3 Egyenletrendszer megold´ as-halmaza, affin alterek . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ´ ˝ ´ 3 LINEARIS EGYENLOTLENS EG-RENDSZEREK 3.1 Bevezet´es . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Megjegyz´esek az intu´ıci´ or´ ol . . . . . . . . . . 3.2 K´ upok, poli´ederek, polit´ opok . . . . . . . . . . . . . 3.2.1 K´ upok . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Poli´ederek ´es polit´ opok . . . . . . . . . . . . 3.3 Cs´ ucsok ´es b´ azis-megold´ asok . . . . . . . . . . . . . 3.3.1 B´ azis-megold´ asok . . . . . . . . . . . . . . . . 3.3.2 Cs´ ucsos poli´ederek . . . . . . . . . . . . . . . 3.3.3 Korl´ atos poli´ederek . . . . . . . . . . . . . . . 3.4 A Fourier-Motzkin elimin´ aci´ o ´es k¨ ovetkezm´enyei . . 3.4.1 Oszlop elimin´ aci´ o. . . . . . . . . . . . . . . . 3.4.2 Poli´eder = polit´ op + gener´ alt k´ up . . . . . . 3.4.3 Az FM elj´ ar´ as hat´ekonys´ aga . . . . . . . . . . 3.4.4 Alkalmaz´ asok . . . . . . . . . . . . . . . . . . 3.5 Megoldhat´ os´ ag: a Farkas lemma . . . . . . . . . . .
90
´ MEGOLDASA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
46 46 47 48 48 49 52 52 54 55 57 57 58 60 61 62
3.5.1 3.5.2 3.5.3 3.5.4
Direkt bizony´ıt´ as . . . . . . . . . . . . . . A szimplex algoritmus a Farkas lemm´ ara . Line´ aris ´es logikai k¨ ovetkezm´eny . . . . . Alkalmaz´ asok . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
63 65 67 69
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
71 71 73 73 75 76 78
´ ´ ES ´ HAL ´ OZATI ´ ´ AS ´ 5 LINEARIS POGRAMOZAS OPTIMALIZAL 5.1 Teljesen unimodul´ aris m´ atrixok . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Defin´ıci´ ok ´es p´eld´ ak . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.2 Farkas lemma, dualit´ as t´etel, optimalit´ asi felt´etelek TU-m´ atrixokra 5.1.3 Kerek´ıt´es ´es egyenletes sz´ınez´es . . . . . . . . . . . . . . . . . . . . 5.2 A line´ aris programoz´ as alkalmaz´ asai a h´ al´ ozati optimaliz´ al´ asban . . . . . 5.2.1 P´ aros gr´ afok: optim´ alis r´eszgr´ afok . . . . . . . . . . . . . . . . . . 5.2.2 P´ aros gr´ afok: ´elsz´ınez´esek . . . . . . . . . . . . . . . . . . . . . . . 5.2.3 Megengedett potenci´ alok, legolcs´ obb utak . . . . . . . . . . . . . . 5.2.4 Megengedett ´ aramok ´es folyamok . . . . . . . . . . . . . . . . . . . 5.2.5 Minim´ alis k¨ olts´eg˝ u´ aramok ´es folyamok . . . . . . . . . . . . . . . 5.2.6 H´ al´ ozati m´ atrixokkal adott line´ aris programok . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
80 80 80 82 83 85 85 86 86 87 87 89
´ ´ AS ´ 4 LINEARIS OPTIMALIZAL 4.1 Ir´ anymenti korl´ atoss´ ag . . . . . 4.2 Optimalit´ as . . . . . . . . . . . 4.2.1 Optimalit´ asi felt´etelek . 4.2.2 A dualit´ as t´etel . . . . . 4.2.3 K¨ ovetkezm´enyek . . . . 4.2.4 J´ at´ekelm´eleti alkalmaz´ as
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
91
. . . . . .