OPTIMALIZÁLÁSI ELJÁRÁSOK 4. Előadás Matematika MSc hallgatók számára Előadó: Hajnal Péter Jegyzetelő: Magyari Nikolett 2011. március 2. 1. A legkisebb négyzetek probléma A legkisebb négyzetek problémája a következő optimalizálási alapfeladat: Minimalizáljuk c(x) = Ax b -et ahol A R N n egy teljes oszloprangú mátrix. Azaz, ha A = (a 1, a 2,...,a n ) ahol a i az A mátrix i-edik oszlopa, akkor az a i R N vektorok lineárisan függetlenek. Speciálisan N n. Igazából az N n a helyes szemlélet. Megjegyzés. Egy k l méretű mátrix teljes rangú, ha rangja min{k, l}. Ez a tulajdonság két lehetőséget takar. Ha a rang k, akkor k l. Erre az esetre szokásos úgy hivatkozni, hogy kövér teljes rangú mátrix. A másik eset (amikor a rang l és ekko l k) a sovány teljes rangú mátrix esete. A teljes rangú négyzetes mátrixok mindkét esetbe beleérthetők. Esetünkben feltesszük, hogy a legkisebb négyzetek problémájában szereplő mátrix sovány teljes rangú. A feltétel kikerülhető, de technikai problémákhoz vezet. Az áttekinthetóség kedvéért élünk a megszorítással. Bizonyítás nélkül közlünk egy számunkra fontos lineáris algebrai állítást. 1. Lemma. Egy A sovány teljes rangú A mátrixra A T A invertálható. Az optimalizálási feladatnak nagyon szemléletes geometriai tartalma van (lásd ábra). range A = {Ax : x R n } R N, egy lineáris altér, amit a 1,...,a n vektorok 1. ábra. generálnak. Feltételünk alapján generáló elemek lineárisan függetlenek (az altér egy 4-1
bázisát alkotják), azaz az altér dimenziója n. Feladatunk b és range A távolságának meghatározása. Látható, hogy a célfüggvény egyszerű, nincs feltétel speciálisan D = L = R n. A feladatunk ekvivalens a távolság négyzetének minimalizálásával, azaz az Minimalizáljuk c(x) = Ax b 2 -et alakkal. Ez hasznosabb számunkra, mert a célfüggvény differenciálható. 1.1. Első nekifutás A probléma egy konvex, differenciálható függvény minimalizálása. A klasszikus analízis technikái adják a megoldást: c(x) = (Ax b) T (Ax b) = x T A T Ax x T A T b b T Ax+b T b = x T A T Ax 2b T Ax+b T b. Ekkor c(x) akkor lesz 0, ha c(x) = 2A T Ax 2A T b. x = [(A T A) 1 A T ]b. Mivel c konvex ez a feltétel elegendő is ahhoz, hogy minimumhelye legyen c(x)-nek: x = [(A T A) 1 A T ]b, ahol x az optimalizálási feladat optimális helye. A megoldó képletben szereplő mátrix sok helyen felmerül. Érdemes közelebbről is megvizsgálni. Megjegyzés. Ha N = n, akkor A invertálható. Ebben az esetben (A T A) 1 A T = A 1 (A T ) 1 A T = A 1 Általában [(A T A) 1 A T ]A = (A T A) 1 (A T A) = I, azaz az x -ra felírt kifejezésben szereplő mátrix A EGY bal oldali inverze. Definíció (Moore Penrose-inverz/pszeudoinverz). Ha A oszlopai lineárisan függetlenek, akkor A = (A T A) 1 A T az A mátrix pszeudoinverze. Igen ritka, hogy egy általános optimalizálási feladatnak ennyire explicit megoldása legyen. Egyszerűsége ellenére a legkisebb négyzetek problémája az egyik leggyakrabban alkalmazott optimalizálási feladat 1.2. Második nekifutás Emlékeztető (Gram Schmidt-ortogonalizálási-eljárás). A Gram Schmidt-ortogonalizálási-eljárást az A mátrix a 1,...,a n oszlopaira alkalmazva egy q 1,...,q n vektorrendszert kapunk, amelyre teljesül, hogy (i) elemei ortogonális egységvektorok, (ii) az általuk kifeszített altér, megegyezik az a 1,...,a n oszlopok által kifeszített altérrel, range A-val, 4-2
(iii) a 1 meghatározza q 1 -et, a 1, a 2 meghatározza q 2 -t, a 1, a 2, a 3 meghatározza q 3 -t és így tovább, plusz az összes kapcsolat lineáris. A fentieket a lineáris algebra nyelvén leírva A = (q 1,...,q n )R n n := Q N n R. (i) megfogalmazása: Q T Q = I. (iii) megfogalmazása A felsőtrianguláris, a főátlóban lévő elemek nem-nullák. A ilyen felírását A QR-felbontásának nevezzük Megjegyzés. Az eljárás akkor is működik, amikor az a i vektorok nem lineárisan függetlenek. Legyen rank A = n 0 < n. Ekkor A N n = Q N n0 R n0 n. Ekkor R-ről azt tudjuk, ha soraira az első nem 0 elem indexének sorozat nézzük, akkor ez szigorúan monoton lesz. Fejezzük ki A pszeudoinverzét a QR-felbontása alapján: A = ((QR) T QR) 1 (QR) T = (R T Q T QR) 1 R T Q T = R 1 (R T ) 1 R T Q T = R 1 Q T Általában ezen alakon alapulnak a konkrét pszeudoinverzet számoló algoritmusok. 1.3. Harmadik nekifutás Előbb az analitikus megoldásból vettük x -ot leíró képlet mátrixát. Most függetlenül dolgozunk. A QR-felbontásnak van egy kiterjesztett alakja, a teljes-qr-felbontás. Először idézzük fel ezt: Emlékeztető. Az q 1,...,q n ortonormált rendszer megkapása után a kapott vektrokat egészítsük ki további vektorokkal, hogy R N egy ortonormált bázisát kapjuk. (Ezt megtehetjük például a Gram Schmidt-eljárást alkalmazzuk az (A I) N (n+n) teljes sorrangú mátrixra.) ) ahol Q 1 a korábbi Q. A = (Q 1 Q 2 ) N N ( R 0, N n Az optimalizálási feladatunk célfüggvénye ( ) c(x) = Ax b 2 R = (Q 1 Q 2 ) x b 2. 0 A célfüggvény egy vektor hossznégyzete. Ez nem változik, ha ortogonális transzformációt alkalmazunk rá. Mi a (Q 1 Q 2 ) mátrix-szal való szorzást alkalmazzuk: ( ) ( c(x) = c((q 1 Q 2 ) T x) = R T) 2 ( ) Q1 x T b 0 Q 2 = Rx Q T 1 b 2 Q T = 2 b = Rx QT 1 b 2 2 + Q T 2 b = Q1 Rx Q 1 Q T 1 b 2 + Q2 Q T 2 b 2. 4-3
(Az utolsó egyenlőségnél ismét kétszer alkalamztunk egy hosszt megőrző ortogonális transzformációt.) Némi elnevezéstan : Q 1 Q T 1 a projekció mátrix. (Emlékezzünk a másik irányú szorzatra is: Q T 1 Q 1 = I.) (Q 1 Q 2 ) oszlopai egy ortonormált bázisát adják R N - nek. Ebben a bázisban felírható minden vektor, speciálisan b is. A b vektor a Q 1 oszlopaihoz tartozó koordinátáit éppen a Q 1 b vektor adja meg. Ezt Q 1 -gyel szorozva a Q 1 (Q T 1 b) vektor adja a Q 1 oszlopaihoz tartozó komponensek összegét, a Q 1 sorai által kifeszített altérre vonatkozó vetített képet. Azaz legyen π range A a range A altérre való vetítés. Ennek lineáris algebrai alakja π range A (b) = Q 1 Q T 1 b, ahol Q 1 Q T 1 mérete N N. Q 2 oszlopai éppen a Q 1 oszlopai által kifeszített range A altér ortogonális kiegészítőjét feszítik ki. Q 2 Q T 2 b a b vektor erre vonatkozó vetülete. Azaz c(x) fenti felírása tulajdonképpen csak egy Pitagorasz-tétel: 2. ábra. Az új alakból nyilvánvaló, hogy az optimális érték azon x-re vevődik fel, amelyre Q 1 Rx = Q 1 Q T 1 b, azaz x = R 1 Q T 1 b. Egyszerű lineáris algebra adta az optimálizálás megoldását és annak geometriai tartalmát. 1.4. Dualizálás Optimalizálási feladatunk: Minimalizáljuk Ax b 2 -et Nincs feltételünk, a dualizálásnak nincs értelme: L(x, λ, µ) = c(x). A duális feladat célfüggvénye ĉ(λ, µ) = inf x c(x). Ennek meghatározása ugyanaz mint az eredeti probléma. A probléma átfogalmazására nagyon érzékeny a dualizálás. Triviális átírások lényegesen eltérő duális feladathoz vezetnek. Lássuk a legkisebb négyzetek problémájának egy átírását: 4-4
Minimalizáljuk Feltéve, hogy x 2 -et Ax = Ab, ahol A R N n, ahogy előbb. Maximalizáljuk 1 2 µt AA T µ A T b T µ-et A Slater-feltétel nyilván teljesül. Erős dualitás van, azaz ha p p = d, ahol d a duális optimális érték. <, akkor 1.5. Egy alkalmazás Adottak a(t i, f i ) számpárok (i = 1,...,10.000), ahol t i : különböző helyek, f i : mért függvényértékek (t i, f i R). Kerssünk d fokú polinomot, amely jól egyezik a mért adatokkal. p(x) = x 0 + x 1 t + x 2 t 2 + + x d 1 t d 1, ahol (x 0, x 1,...x d 1 ) R d. Tegyük fel, hogy d 10.000. Speciálisan nem egy interpolációs feladatról van szó. A jó egyezést persze tisztázni kell. Egy lehetséges megoldás, hogy a jó egyezés (p(t i )) és (f i ) közelsége. Ekkor a legkisebb négyzetek problémájával állunk szemben. A paraméterek: b = f 1 f 2. f 10.000, A =. 2. Lineáris programozás 1 t 1 t k 1... t d 1 1 1 t 2 t k 2... t d 1 2...... 1 t 10.000 t k 10.000... t d 1 10.000, x = t 1 t 2. t 10.000 A lineáris programozás egy rendkívül fontos esete az optimalizálási problémáknak. Láttuk már néhány alkalmazását. Most további kettőt említünk. Példa (Politópok Csebisev-középpontja). A P = {x R n : a T i x b, i = 1,..., k} alakú ponthalmazokat poliédereknek nevezzük. Ha a P poliéder korlátos (amikor is kompakt: korlátos és zárt), akkor politópnak nevezzük. Fontos probléma, hogy mérjük P egy pontja milyen mélyen van P belsejében. Illetve fontos kérdés: Melyek P legbelső pontjai? Igazából az is központi probléma, hogy P-ről döntsük el, hogy üres-e. Sokféle megoldás/válasz van. Mi egy, Csebisev nevéhez fűzött, megoldásról beszélünk. Definíció. B(c, r) = {x R n : x c 2 r 2 } a c középpontú r sugarú gömb. A p P pont Csebisev mélysége M(p) = max{r : B(p, r) P}. c a P politóp egy Csebisev középpontja, ha M(c) = sup M(p). p P. 4-5
Az alapprobléma: Adott P esetén keressünk egy Csebisev középpontot. A feladat első ránézesre nem lineáris. Némi ötlettel azonban LP feladatként fogalmazhatjuk meg. Némi geometriai ismeretre lesz szükségünk. Definíció. Egy hipersík R n -ben: H = {x : a T x = b} alakú ponthalmaz. r pont pontosan akkor esik H-ra, ha a T r b = 0. Egy p pont előjeles távolsága H-tól a T a p b a. Az előjeles távolság abszolútértéke a távolság, előjele a hipersík azon oldalát írja le, ahová pontunk esik. Kétféle előjeles távolság létezik. A fenti az, amelyik az {x : a T x > b} féltérben pozitív, a komplementer (nyilt) féltérben negatív. A Csebisev-középpont problémája ekvivalens a következővel: Maximalizáljuk r-et Feltéve, hogy a T i x + a i r b i, i = 1,..., k r 0 Első típusú feltételünk ekvivalens azzal, hogy at i a i x + r b a i, azaz r b a i at i a i x. A jobb oldalon egy előjeles távolság szerepel, amit úgy választottunk, hogy az a i x < b félterekben legyen pozitív. Az átfogalmazott optimalizálási feladat egy LP feladat. Példa (Gráfok súlyozott párosítási problémája). G egyszerű gráf esetén határozzuk meg ν(g) = max{ M : M párosítás G-ben}. Általánosabban: Ha adott G és w : E(G) R 0 élsúlyozás, akkor határozzuk meg ν w (G) = max{w(m) : M párosítás G-ben} értékét, ahol egy X élhalmazra w(x) = e:e X w(e). M E élhalmaz leírható/kódolható χ M R m R E(G) karakterisztikus vektorával. Nyilván 1 T χ M = M, w T χ M = w(m). Könnyű látni, ν(g) = max{1 T χ M : M párosítás G-ben} és ν w (G) = max{1 T χ M : M párosítás G-ben}. Definíció. Legyen MP(G) = conv{χ M : M párosítás}. A fenti politóp csúcsai a χ M vektorok. A politópon lineáris függvény szélsőértékét csúcson veszi fel. Így a párosítási, illetve súlyozott párosítási probléma Maximalizáljuk 1 T x-et Maximalizáljuk w T x-et Feltéve, hogy x MP(G). Feltéve, hogy x MP(G). Az LP problémákban is egy poliéderhez tartozás szerepel feltételrendszerként, de ott a poliéder egy másik leírását kell látnunk. Az LP-ben leírt ponthalmazok mint félterek metszete adott. MP(G) ilyen leírását Edmonds adta meg. 4-6
2. Tétel (Edmonds-féle poliéder-tétel). MP(G) = {x R E(G) : x e 0 minden e E esetén e:vie x e 1 minden v V esetén e=xy:x,y S x e S 1 minden S V 2 páratlan elemszámú halmazra}. A fenti módon a súlyozott párosítási probléma egy LP feladatként írható le. Megjegyzés. Vigyázni kell arra, hogy a probléma mérete nagyon megváltozott. Eredetileg egy gráf és élsúlyozása volt az input. LP feladatként az egyenlőtlenségrendszer, ami leírta a politópot exponenciálisan hosszú lehet. Azaz a fenti átfogalmazás és a szimplex módszer ismerete nem jelenti a probléma kezelhetőségét. A szimplex módszernek szüksége van az egyenletrendszer mátrixára, ami óriási a gráf és ehhez mérhető súlyokhoz. Példa. Specializáljuk az előző példát G = C 5 esetére. 3. ábra. Öt változónk lesz, mindegyik előjel feltétellel: x e, x f, x g, x h, x i 0. A csúcsokra felírt feltételek: x e + x f 1 x f + x g 1 x g + x h 1 x h + x i 1 x i + x e 1 ( Ha itt megállunk, akkor nem MP(G)-t kapjuk: 1, 1, 1, 1, ) ( 1 2 2 2 2 2 kielégíti eddigi feltételeinket, de 1, 1, 1, 1, ) 1 2 2 2 2 2 / MP(C5 ). Valóban MP(G) minden pontja olyan, hogy kooordinátái összege legfeljebb 2. (Ez a χ M, ahol M párosítás, alakú pontokra nyilván igaz és ez öröklódik a konvex burokra is.) Az Edmonds-tétel egy lényeges további feltételt ad: x e + x f + x g + x h + x i 2. Ezzel megcsonkítva az előző egyenletrendszer megoldáshalmazát MP(G)-t kapjuk. A továbbiakben két példát mutatunk, ami a lapszám (definiáló egyenlőtlenségek száma) és a csúcsok száma közötti nagyságrendi különbség lehetőségét mutatják. Példa. Az n dimenziós kocka (hiperkocka) H n = {x R n : 0 x i 1, i = 1,..., n} 2n darab egyenlőtlenség írja le a halmaz. Ezek mindegyike lényeges, azaz 2n darab lapja van az n-dimenziós kockának. 4-7
A csúcsok konvex burkaként való leírában: 2 n darab csúcsra van szükségünk. H n = conv {v : v {0, 1} n } Példa. Az előző példa dualizálható. Az n-dimenziós kocka duálisa az n-dimenziós oktaéder: O n = {x R n : ǫ i x i 1}, 2 n darab lap határozza meg. Ezzel egy időben látható, hogy ekvivalens leíráshoz csak 2n csúcs kell. ǫ i {±} O n = conv {±e i : i = 1,...,n} 4-8