Optimalizace Elektronick´a skripta pˇredmˇetu A4B33OPT. Text je pr˚ ubˇehu semestru doplˇ nov´an a vylepˇsov´an. Toto je verze ze dne 28. ledna 2016. Tom´aˇs Werner
Katedra kybernetiky Fakulta elektrotechnick´a ˇ e vysok´e uˇcen´ı technick´e Cesk´
Obsah 1 Formulace optimalizaˇ cn´ıch u ´ loh 1.1 Matematick´e znaˇcen´ı . . . . . . . . . . . . . . . . . . 1.1.1 Mnoˇziny . . . . . . . . . . . . . . . . . . . . . 1.1.2 Zobrazen´ı . . . . . . . . . . . . . . . . . . . . 1.1.3 Funkce a zobrazen´ı v´ıce re´aln´ych promˇenn´ych 1.1.4 Extr´emy funkce na mnoˇzinˇe . . . . . . . . . . 1.2 Obecn´a u ´loha spojit´e optimalizace . . . . . . . . . . . 1.3 Cviˇcen´ı . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Maticov´ a algebra 2.1 Operace s maticemi . . . . . . . . . . . . . . . . 2.2 Transpozice a symetrie . . . . . . . . . . . . . . 2.3 Hodnost a inverze . . . . . . . . . . . . . . . . . 2.4 Determinant . . . . . . . . . . . . . . . . . . . . 2.5 Matice s jedn´ım sloupcem nebo jedn´ım ˇr´adkem 2.6 Matice sestaven´e z blok˚ u . . . . . . . . . . . . . 2.7 Hrub´e chyby pˇri pr´aci s maticemi . . . . . . . . 2.8 Cviˇcen´ı . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
6 6 6 7 7 8 9 10
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
12 12 13 13 14 14 15 16 17
3 Linearita 3.1 Line´arn´ı podprostory . . . . . . . . . . . . . . . . . . . . . 3.2 Line´arn´ı zobrazen´ı . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Prostor obraz˚ u . . . . . . . . . . . . . . . . . . . . 3.2.2 Nulov´y prostor . . . . . . . . . . . . . . . . . . . . 3.2.3 Nˇekter´e vˇety o prostoru obraz˚ u a nulov´em prostoru 3.3 Afinn´ı podprostor a zobrazen´ı . . . . . . . . . . . . . . . . 3.4 Cviˇcen´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
21 21 22 23 24 24 25 27
4 Ortogonalita 4.1 Standardn´ı skal´arn´ı souˇcin . . . . . . . . . . . . 4.2 Ortogon´aln´ı vektory a podprostory . . . . . . . ˇ ri podprostory definovan´e matic´ı . . 4.2.1 Ctyˇ 4.3 Matice s ortonorm´aln´ımi sloupci . . . . . . . . . 4.4 QR rozklad . . . . . . . . . . . . . . . . . . . . 4.4.1 (⋆) Gramm-Schmidtova ortonormalizace 4.5 Cviˇcen´ı . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
30 30 30 31 31 33 34 34
2
. . . . . . . .
. . . . . . .
. . . . . . . .
. . . . . . .
. . . . . . . .
. . . . . . .
. . . . . . . .
. . . . . . .
. . . . . . . .
. . . . . . .
. . . . . . .
5 Nehomogenn´ı line´ arn´ı soustavy 5.1 Pˇribliˇzn´e ˇreˇsen´ı ve smyslu nejmenˇs´ıch ˇctverc˚ u . . . . . . . ˇ sen´ı pomoc´ı QR rozkladu . . . . . . . . . . . . . 5.1.1 Reˇ 5.1.2 V´ıce o ortogon´aln´ı projekci . . . . . . . . . . . . . . 5.1.3 Pˇr´ıklad pouˇzit´ı: line´arn´ı regrese . . . . . . . . . . . 5.1.4 Statistick´e od˚ uvodnˇen´ı krit´eria nejmenˇs´ıch ˇctverc˚ u. ˇ 5.2 Reˇsen´ı s nejmenˇs´ı normou . . . . . . . . . . . . . . . . . . 5.2.1 Pseudoinverze obecn´e matice s plnou hodnost´ı . . . 5.3 Cviˇcen´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
37 37 39 39 40 41 42 43 43
6 Kvadratick´ e funkce 6.1 Vlastn´ı ˇc´ısla a vektory . . 6.1.1 Spektr´aln´ı rozklad 6.2 Kvadratick´a forma . . . . 6.3 Kvadratick´a funkce . . . . 6.3.1 Kvadrika . . . . . . 6.4 Cviˇcen´ı . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
47 47 48 49 51 52 52
7 Rozklad podle singul´ arn´ıch ˇ c´ısel (SVD) 7.1 SVD ze spektr´aln´ıho rozkladu . . . . . . . . 7.2 Nejbliˇzˇs´ı matice niˇzˇs´ı hodnosti . . . . . . . . 7.3 Prokl´ad´an´ı bod˚ u podprostorem . . . . . . . 7.3.1 Zobecnˇen´ı na afinn´ı podprostor . . . 7.4 Pˇribliˇzn´e ˇreˇsen´ı homogenn´ı line´arn´ı soustavy 7.5 (⋆) Pseudoinverze obecn´e matice . . . . . . . 7.6 Cviˇcen´ı . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
56 57 58 59 60 61 61 62
8 Neline´ arn´ı funkce a zobrazen´ı 8.1 Spojitost . . . . . . . . . . . . . . . . 8.2 Parci´aln´ı derivace . . . . . . . . . . . 8.3 Tot´aln´ı derivace . . . . . . . . . . . . 8.3.1 Derivace sloˇzen´eho zobrazen´ı . 8.3.2 Derivace maticov´ych v´yraz˚ u . 8.4 Smˇerov´a derivace . . . . . . . . . . . 8.5 Gradient . . . . . . . . . . . . . . . . 8.6 Parci´aln´ı derivace druh´eho ˇr´adu . . . 8.7 Taylor˚ uv polynom . . . . . . . . . . . 8.8 Cviˇcen´ı . . . . . . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
64 65 65 66 67 69 70 71 72 73 74
. . . . . . . .
76 76 77 77 79 80 81 82 84
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . . . . . .
. . . . . .
. . . . . . . . . .
. . . . . .
. . . . . . . . . .
. . . . . . . . . .
9 Analytick´ e podm´ınky na lok´ aln´ı extr´ emy 9.1 Vlastnosti bodu vzhledem k podmnoˇzinˇe Rn . 9.2 Lok´aln´ı extr´emy . . . . . . . . . . . . . . . . . 9.3 Voln´e lok´aln´ı extr´emy . . . . . . . . . . . . . . 9.4 Lok´aln´ı extr´emy v´azan´e rovnostmi . . . . . . . 9.4.1 Teˇcn´y a ortogon´aln´ı prostor k povrchu 9.4.2 Podm´ınky prvn´ıho ˇr´adu . . . . . . . . 9.4.3 (⋆) Podm´ınky druh´eho ˇr´adu . . . . . . 9.5 Cviˇcen´ı . . . . . . . . . . . . . . . . . . . . . . 3
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
10 Iteraˇ cn´ı algoritmy na voln´ e lok´ aln´ı extr´ emy 10.1 Sestupn´e metody . . . . . . . . . . . . . . . . . . . . . 10.2 Gradientn´ı metoda . . . . . . . . . . . . . . . . . . . . 10.2.1 (⋆) Z´avislost na line´arn´ı transformaci souˇradnic 10.3 Newtonova metoda . . . . . . . . . . . . . . . . . . . . 10.3.1 Pouˇzit´ı na soustavy neline´arn´ıch rovnic . . . . . 10.3.2 Pouˇzit´ı na minimalizaci funkce . . . . . . . . . . 10.4 Neline´arn´ı metoda nejmenˇs´ıch ˇctverc˚ u. . . . . . . . . . 10.4.1 Gauss-Newtonova metoda . . . . . . . . . . . . 10.4.2 Rozd´ıl proti Newtonovˇe metodˇe . . . . . . . . . 10.4.3 Levenberg-Marquardtova metoda . . . . . . . . 10.5 Cviˇcen´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Line´ arn´ı programov´ an´ı 11.1 Speci´aln´ı tvary u ´loh LP . . . . . . . . . . . . 11.1.1 Po ˇc´astech afinn´ı funkce . . . . . . . 11.2 Nˇekter´e aplikace LP . . . . . . . . . . . . . 11.2.1 Optim´aln´ı v´yrobn´ı program . . . . . 11.2.2 Smˇeˇsovac´ı (dietn´ı) probl´em . . . . . . 11.2.3 Dopravn´ı probl´em . . . . . . . . . . . 11.3 Pouˇzit´ı na nehomogenn´ı line´arn´ı soustavy . . 11.3.1 Vektorov´e normy . . . . . . . . . . . 11.3.2 Pˇribliˇzn´e ˇreˇsen´ı pˇreurˇcen´ych soustav 11.3.3 Line´arn´ı regrese . . . . . . . . . . . . 11.4 Cviˇcen´ı . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
88 88 89 89 89 90 91 92 92 94 94 94
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
96 97 98 99 99 100 100 101 101 102 102 104
12 Konvexn´ı mnoˇ ziny a polyedry ˇ ri kombinace a ˇctyˇri obaly . . . . . . . . . . . . . . . . . . . 12.1 Ctyˇ 12.2 Operace zachov´avaj´ıc´ı konvexitu mnoˇzin . . . . . . . . . . . . . 12.3 Konvexn´ı polyedry . . . . . . . . . . . . . . . . . . . . . . . . . 12.3.1 Stˇeny konvexn´ıho polyedru . . . . . . . . . . . . . . . . . 12.3.2 Jak byste vypsali vˇsechny vrcholy konvexn´ıho polyedru? 12.3.3 Dvˇe reprezentace konvexn´ıho polyedru . . . . . . . . . . 12.4 Cviˇcen´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
108 109 109 110 111 112 112 113
. . . . . . . . . .
115 116 116 117 118 118 118 119 121 122 124
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
13 Simplexov´ a metoda 13.1 Stavebn´ı kameny algoritmu . . . . . . . . . . . . . . . . . . 13.1.1 Pˇrechod k sousedn´ı standardn´ı b´azi . . . . . . . . . 13.1.2 Kdy je sousedn´ı b´azov´e ˇreˇsen´ı pˇr´ıpustn´e? . . . . . . 13.1.3 Co kdyˇz je cel´y sloupec nekladn´y? . . . . . . . . . . 13.1.4 Ekvivalentn´ı u ´pravy u ´ˇcelov´eho ˇr´adku . . . . . . . . 13.1.5 Co udˇel´a pˇrechod k sousedn´ı b´azi s u ´ˇcelovou funkc´ı? 13.2 Z´akladn´ı algoritmus . . . . . . . . . . . . . . . . . . . . . . 13.3 Inicializace algoritmu . . . . . . . . . . . . . . . . . . . . . 13.3.1 Dvouf´azov´a simplexov´a metoda . . . . . . . . . . . 13.4 Cviˇcen´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
. . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
14 Konvexn´ı funkce 14.1 Konvexita diferencovateln´ych funkc´ı . . . . 14.2 Vztah konvexn´ı funkce a konvexn´ı mnoˇziny 14.3 Operace zachov´avaj´ıc´ı konvexitu funkc´ı . . 14.4 Cviˇcen´ı . . . . . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
126 128 129 130 133
15 Konvexn´ı optimalizaˇ cn´ı u ´ lohy 15.1 Ekvivalentn´ı transformace u ´lohy . . . . . . . . . . . . . . . . . . . . . . 15.2 Tˇr´ıdy konvexn´ıch optimalizaˇcn´ıch u ´loh . . . . . . . . . . . . . . . . . . 15.2.1 Line´arn´ı programov´an´ı (LP) . . . . . . . . . . . . . . . . . . . . 15.2.2 Kvadratick´e programov´an´ı (QP) . . . . . . . . . . . . . . . . . . 15.2.3 Kvadratick´e programov´an´ı s kvadratick´ymi omezen´ımi (QCQP) 15.2.4 Programov´an´ı na kuˇzelu druh´eho ˇr´adu (SOCP) . . . . . . . . . 15.2.5 Semidefinitn´ı programov´an´ı (SDP) . . . . . . . . . . . . . . . . 15.3 Cviˇcen´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
135 136 137 137 138 139 139 140 140
16 Dualita v line´ arn´ım programov´ an´ı 16.1 Konstrukce du´aln´ı u ´lohy . . . . . . . . . . . . . . . 16.2 Vˇety o dualitˇe . . . . . . . . . . . . . . . . . . . . . 16.3 Pˇr´ıklady na konstrukci a interpretaci du´aln´ıch u ´loh 16.4 Cviˇcen´ı . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
143 143 144 147 150
. . . .
151 151 152 153 154
17 Lagrangeova dualita 17.1 Minimaxn´ı nerovnost . . . 17.2 Lagrangeova du´aln´ı u ´loha 17.3 Siln´a dualita . . . . . . . . 17.4 Pˇr´ıklady . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
5
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . .
. . . .
. . . .
. . . .
Kapitola 1 Formulace optimalizaˇ cn´ıch u ´ loh 1.1
Matematick´ e znaˇ cen´ı
Pokud potk´ate ve skriptech slovo vys´azen´e tuˇ cnˇ e, jde o novˇe definovan´y pojem, kter´y m´ate pochopit a zapamatovat si. Slova vys´azen´a kurz´ıvou znamenaj´ı bud’ zd˚ uraznˇen´ı, nebo nov´y avˇsak vˇseobecnˇe zn´am´y pojem. Odstavce, vˇety, d˚ ukazy, pˇr´ıklady a cviˇcen´ı oznaˇcen´e hvˇezdiˇckou (⋆) jsou rozˇsiˇruj´ıc´ı (a tedy obt´ıˇznˇejˇs´ı) a nen´ı nezbytn´e umˇet je ke zkouˇsce. Zopakujme nejdˇr´ıve matematick´e znaˇcen´ı, kter´e se pouˇz´ıv´a v cel´ych skriptech a kter´e by ˇcten´aˇr mˇel bezpeˇcnˇe ovl´adat.
1.1.1
Mnoˇ ziny
N´azvy mnoˇzin budeme ps´at velk´ymi sklonˇen´ymi p´ısmeny, napˇr. A nebo X. Budeme pouˇz´ıvat standardn´ı mnoˇzinov´e znaˇcen´ı: {a1 , . . . , an } a∈A A⊆B A=B { a ∈ A | ϕ(a) } A∪B A∩B A\B (a1 , . . . , an ) A×B An ∅
mnoˇzina s prvky a1 , . . . , an prvek a patˇr´ı do mnoˇziny A (neboli a je prvkem A) mnoˇzina A je podmnoˇzinou mnoˇziny B, tj. kaˇzd´y prvek z A patˇr´ı do B mnoˇzina A je rovna mnoˇzinˇe B, plat´ı z´aroveˇ nA⊆B aB⊆A mnoˇzina prvk˚ u a z mnoˇziny A, kter´e splˇ nuj´ı logick´y v´yrok ϕ(a) sjednocen´ı mnoˇzin, mnoˇzina { a | a ∈ A nebo a ∈ B } pr˚ unik mnoˇzin, mnoˇzina { a | a ∈ A, a ∈ B } rozd´ıl mnoˇzin, mnoˇzina { a | a ∈ A, a ∈ / B} uspoˇr´adan´a n-tice prvk˚ u a1 , . . . , an kart´ezsk´y souˇcin mnoˇzin, mnoˇzina { (a, b) | a ∈ A, b ∈ B } kart´ezsk´y souˇcin n stejn´ych mnoˇzin, An = A × · · · × A (n-kr´at) pr´azdn´a mnoˇzina
ˇ ıseln´e mnoˇziny budeme znaˇcit takto: C´
6
N Z Q R R+ R++ [x1 , x2 ] (x1 , x2 ) [x1 , x2 ) C
1.1.2
mnoˇzina pˇrirozen´ych ˇc´ısel mnoˇzina cel´ych ˇc´ısel mnoˇzina racion´aln´ıch ˇc´ısel mnoˇzina re´aln´ych ˇc´ısel mnoˇzina nez´aporn´ych re´aln´ych ˇc´ısel { x ∈ R | x ≥ 0 } mnoˇzina kladn´ych re´aln´ych ˇc´ısel { x ∈ R | x > 0 } uzavˇren´y re´aln´y interval { x ∈ R | x1 ≤ x ≤ x2 } otevˇren´y re´aln´y interval { x ∈ R | x1 < x < x2 } polouzavˇren´y re´aln´y interval { x ∈ R | x1 ≤ x < x2 } mnoˇzina komplexn´ıch ˇc´ısel
Zobrazen´ı
Zobrazen´ı z mnoˇziny A do mnoˇziny B znaˇc´ıme f: A → B
(1.1)
f
nku’, kter´a kaˇznebo (m´enˇe ˇcasto) A → B. Zobrazen´ı si m˚ uˇzeme pˇredstavit1 jako ‘ˇcernou skˇr´ıˇ d´emu prvku a ∈ A pˇriˇrad´ı pr´avˇe jeden prvek b = f (a) ∈ B. I kdyˇz ‘zobrazen´ı’ (mapping, map) znamen´a pˇresnˇe tot´eˇz jako ‘funkce’ (function), slovo ‘funkce’ se obvykle pouˇz´ıv´a pouze pro zobrazen´ı do ˇc´ıseln´ych mnoˇzin (tedy B = R, Z, C apod.). Zobrazen´ı se naz´yv´a: • injektivn´ı (neboli prost´e) pokud kaˇzd´y vzor m´a jin´y obraz, tj. f (a) = f (a′ ) ⇒ a = a′ ; • surjektivn´ı (neboli A na B) pokud kaˇzd´y obraz m´a aspoˇ n jeden vzor, tj. f (A) = B, tj. pro kaˇzd´e b ∈ B existuje a ∈ A tak, ˇze b = f (a);
• bijektivn´ı (neboli vz´ajemnˇe jednoznaˇcn´e) pokud je z´aroveˇ n injektivn´ı a surjektivn´ı. ′ Obraz mnoˇziny A ⊆ A v zobrazen´ı f : A → B znaˇc´ıme f (A′ ) = { f (a) | a ∈ A′ }.
(1.2)
Napˇr. je-li A′ = {1, 3, 4, −1} ⊆ Z a zobrazen´ı f : Z → Z je definovan´e pˇredpisem f (a) = a2 , je f (A′ ) = {1, 9, 16}. Je-li A′ = { a ∈ A | ϕ(a) } a f : A → B, pouˇz´ıv´ame zkratku f (A′ ) = { f (a) | a ∈ A, ϕ(a) } = { b ∈ B | b = f (a), a ∈ A, ϕ(a) }
(1.3)
nebo pouze { f (a) | ϕ(a) }, pokud je A jasn´e z kontextu. Napˇr. { x2 | x ∈ R, −1 < x < 1 } je polouzavˇren´y interval [0, 1). f
g
Mˇejme dvˇe zobrazen´ı f : A → B a g: B → C, neboli A → B → C. Sloˇzen´ı zobrazen´ı f a g je zobrazen´ı g ◦ f : A → C definovan´e jako (g ◦ f )(a) = g(f (a)) pro kaˇzd´e a ∈ A.
1.1.3
Funkce a zobrazen´ı v´ıce re´ aln´ ych promˇ enn´ ych
Uspoˇr´adan´e n-tici x = (x1 , . . . , xn ) ∈ Rn re´aln´ych ˇc´ısel ˇr´ık´ame (n-rozmˇern´y) vektor. Z´apis f: Rn → Rm 1
(1.4)
Pˇresn´a definice je n´ asleduj´ıc´ı: zobrazen´ı f : A → B je podmnoˇzina kart´ezsk´eho souˇcinu A × B (tedy relace) takov´a, ˇze (a, b) ∈ f a (a, b′ ) ∈ f implikuje b = b′ .
7
oznaˇcuje zobrazen´ı, kter´e vektoru x ∈ Rn pˇriˇrad´ı vektor
f(x) = f (x1 , . . . , xn ) = (f1 (x), . . . , fm (x)) = (f1 (x1 , . . . , xn ), . . . , fm (x1 , . . . , xn )) ∈ Rm ,
kde f1 , . . . , fm : Rn → R jsou sloˇzky zobrazen´ı. P´ıˇseme tak´e f = (f1 , . . . , fm ). Obr´azek ilustruje zobrazen´ı f : R3 → R2 :
x1 x2 x3
f1 (x1 ; x2 ; x3 )
f
f2 (x1 ; x2 ; x3 )
Pro m = 1 jsou hodnotami zobrazen´ı skal´ary a budeme ps´at jeho jm´eno kurz´ıvou, f . Pro m > 1 jsou hodnotami zobrazen´ı vektory a proto jm´eno budeme ps´at tuˇcnˇe, f. I kdyˇz slova ‘funkce’ a ‘zobrazen´ı’ znamenaj´ı jedno a to sam´e, je ˇcasto zvykem pro m = 1 mluvit o funkci a pro m > 1 o zobrazen´ı.
1.1.4
Extr´ emy funkce na mnoˇ zinˇ e
Necht’ Y ⊆ R. Prvek y ∈ Y nazveme nejmenˇs´ı prvek (neboli minimum) mnoˇziny Y , jestliˇze y ≤ y ′ pro vˇsechna y ′ ∈ Y . Nejmenˇs´ı prvek znaˇc´ıme min Y.
Ne kaˇzd´a mnoˇzina Y ⊆ R m´a nejmenˇs´ı prvek (napˇr. interval (0, 1] ho nem´a). Na druhou stranu je jasn´e, ˇze Y nem˚ uˇze m´ıt v´ıce neˇz jeden minim´aln´ı prvek. Mˇejme nyn´ı funkci f : X → R, kde X je libovoln´a mnoˇzina. Oznaˇcme Y = f (X) = { f (x) | x ∈ X } ⊆ R
obraz mnoˇziny X funkc´ı f . Pokud mnoˇzina Y m´a nejmenˇs´ı prvek, definujeme min f (x) = min{ f (x) | x ∈ X } = min Y x∈X
a hovoˇr´ıme o minimu funkce f na mnoˇzinˇe X. V tom pˇr´ıpadˇe existuje nejm´enˇe jeden prvek ˇ ık´ame, ˇze funkce nab´yv´a minimum v bodˇe x. Pro podmnoˇzinu x ∈ X tak, ˇze f (x) = min Y . R´ mnoˇziny X, ve kter´ych se minimum nab´yv´a, se pouˇz´ıv´a symbol ‘argument minima’ argmin f (x) = { x ∈ X | f (x) = min Y }. x∈X
Podobnˇe definujeme maximum funkce na mnoˇzinˇe. Minima a maxima funkce se souhrnnˇe naz´yvaj´ı jej´ı extr´emy nebo optima. Jednoduˇseji m˚ uˇzeme ˇr´ıci, funkce f : X → R nab´yv´a sv´eho minima na mnoˇzinˇe X v bodˇe x ∈ X, jestliˇze f (x) ≤ f (x′ ) pro vˇsechny x′ ∈ X. Tato definice ovˇsem zamlˇcuje vztah k minim´aln´ımu prvku mnoˇziny Y ⊆ R.
Pˇ r´ıklad 1.1. • min |x − 1| = min{ |x − 1| | x ∈ R } = min R+ = 0, argmin |x − 1| = {1} x∈R
x∈R
• Necht’ f (x) = max{|x|, 1}. Pak argmin f (x) = [−1, 1]. x∈R
5
5
i=1
i=1
• Necht’ (a1 , a2 , . . . , a5 ) = (1, 2, 3, 2, 3). Pak2 max ai = 3, argmax ai = {3, 5}. 2
5
M´ısto max ai se ˇcastˇeji p´ıˇse max ai . Pouˇz´ıv´ ame prvn´ı zp˚ usob v analogii se standardn´ım znaˇcen´ım i=1
i=1,...,5
5 X i=1
8
ai .
1.2
Obecn´ au ´ loha spojit´ e optimalizace
Optimalizaˇcn´ı u ´lohy se formuluj´ı jako hled´an´ı minima dan´e re´aln´e funkce f : X → R na dan´e mnoˇzinˇe X. Tato formulace je velmi obecn´a, nebot’ mnoˇzina X m˚ uˇze b´yt zcela libovoln´a. Existuj´ı tˇri ˇsirok´e kategorie u ´loh: • Pokud je mnoˇzina X koneˇcn´a (i kdyˇz tˇreba velmi velk´a), mluv´ıme o kombinatorick´e optimalizaci . Jej´ı prvky mohou b´yt napˇr. cesty v grafu, konfigurace Rubikovy kostky, nebo textov´e ˇretˇezce koneˇcn´e d´elky. Pˇr´ıkladem je nalezen´ı nejkratˇs´ı cesty v grafu nebo probl´em obchodn´ıho cestuj´ıc´ıho. • Pokud mnoˇzina X obsahuje re´aln´a ˇc´ısla ˇci re´aln´e vektory (tedy X ⊆ Rn ), mluv´ıme o spojit´e optimalizaci . Pˇr´ıkladem je u ´loha line´arn´ıho programov´an´ı. • Pokud mnoˇzina X obsahuje re´aln´e funkce, mluv´ıme o variaˇcn´ım poˇctu. Pˇr´ıkladem je nal´ezt rovinnou kˇrivku, kter´a pˇri dan´e d´elce obep´ın´a co nejvˇetˇs´ı obsah. Tento kurs se zab´yv´a spojitou optimalizac´ı. V obecn´e u ´loze spojit´e optimalizace je X ⊆ Rn mnoˇzina ˇreˇsen´ı (x1 , . . . , xn ) ∈ Rn soustavy m nerovnic a l rovnic gi (x1 , . . . , xn ) ≤ 0, i = 1, . . . , m hi (x1 , . . . , xn ) = 0, i = 1, . . . , l
(1.5a) (1.5b)
pro dan´e funkce g1 , . . . , gm , h1 , . . . , hl : Rn → R. Ve vektorov´em znaˇcen´ı p´ıˇseme X = { x ∈ Rn | g(x) ≤ 0, h(x) = 0 }, kde g: Rn → Rm , h: Rn → Rl a 0 znaˇc´ı nulov´e vektory pˇr´ısluˇsn´e dimenze. Ve shodˇe s oznaˇcen´ım (1.3) se hled´an´ı minima funkce f : Rn → R na mnoˇzinˇe X m˚ uˇze zapsat jako min{ f (x) | x ∈ Rn , g(x) ≤ 0, h(x) = 0 },
(1.6)
To je zvykem zapisovat tak´e takto: min
f (x1 , . . . , xn )
za podm´ınek gi (x1 , . . . , xn ) ≤ 0, i = 1, . . . , m hi (x1 , . . . , xn ) = 0, i = 1, . . . , l.
(1.7)
Pˇ r´ıklad 1.2. Pastevec vlastn´ı 100 metr˚ u pletiva a chce z nˇej udˇelat ohradu pro ovce o co nejvˇetˇs´ım obsahu. Ohrada bude m´ıt tvar obd´eln´ıka, z nˇehoˇz tˇri strany budou tvoˇreny plotem a zbyl´a strana ˇrekou (ovce neumˇej´ı plavat). ˇ s´ıme u Oznaˇcme strany obd´eln´ıka x, y. Reˇ ´lohu max xy za podm´ınek 2x + y = 100 x, y ≥ 0 neboli max{ xy | x ≥ 0, y ≥ 0, 2x + y = 100 }. Zde m´ame n = 2, m = 2, l = 1.
9
Tuto u ´lohu dok´aˇzeme snadno vyˇreˇsit. Z omezen´ı 2x + y = 100 m´ame y = 100 − 2x, tedy m´ısto p˚ uvodn´ı u ´lohy m˚ uˇzeme ˇreˇsit ekvivalentn´ı u ´lohu bez omezen´ı min x(100 − 2x). x∈R
Minimum kvadratick´e funkce x(100 − 2x) snadno najdeme prostˇredky anal´yzy funkc´ı jedn´e promˇenn´e. Nab´yv´a se v bodˇe x = 25, tedy y = 100 − 2x = 50. Tyto hodnoty jsou kladn´e, tedy podm´ınky x, y ≥ 0 jsou automaticky splnˇeny a nemuseli jsme je explicitnˇe uvaˇzovat. Pˇ r´ıklad 1.3. Hledejme dvojici nejbliˇzˇs´ıch bod˚ u v rovinˇe, z nichˇz jeden je na kruˇznici se stˇredem v poˇc´atku a jednotkov´ym polomˇerem a druh´y je ve ˇctverci se stˇredem v bodˇe (2, 2) a jednotkovou ´ stranou. Ulohu lze samozˇrejmˇe ˇreˇsit snadno u ´vahou. Napiˇsme ji ale ve tvaru (1.7). 2 2 Bod (x1 , x2 ) na kruˇznici splˇ nuje x1 +x2 = 1. Bod (x3 , x4 ) ve ˇctverci splˇ nuje − 12 ≤ x3 −2 ≤ 12 , − 12 ≤ x4 − 2 ≤ 12 . M´ame n = 4, m = 4, l = 1, a X = { (x1 , x2 , x3 , x4 ) | x21 + x22 − 1 = 0, ˇ s´ıme u Reˇ ´lohu min
3 2
p
− x3 ≤ 0, x3 −
5 2
≤ 0,
3 2
− x4 ≤ 0, x4 −
5 2
≤ 0 }.
(x1 − x3 )2 + (x2 − x4 )2
za podm´ınek x21 + x22 − 1 3 − x3 2 x3 − 52 3 − x4 2 x4 − 52
= ≤ ≤ ≤ ≤
0 0 0 0 0
V matematick´e anal´yze se ˇreˇsen´ım u ´lohy (1.7) ˇr´ık´a extr´emy funkce f v´azan´e podm´ınkami (1.5). Pokud omezen´ı chyb´ı, mluv´ı se o voln´ych extr´emech funkce f . V matematick´e optimalizaci se vˇzilo ponˇekud odliˇsn´e n´azvoslov´ı: • Funkce f se naz´yv´a u ´ˇcelov´a (tak´e pokutov´a, cenov´a, kriteri´aln´ı) funkce. • Prvky mnoˇziny X se naz´yvaj´ı pˇr´ıpustn´a ˇreˇsen´ı, coˇz je vlastnˇe protimluv, protoˇze nemus´ı b´yt ˇreˇsen´ımi u ´lohy (1.7). Prvk˚ um mnoˇziny argminx∈X f (x) se pak ˇr´ık´a optim´aln´ı ˇreˇsen´ı.
• Rovnice a nerovnice (1.5) se naz´yvaj´ı omezuj´ıc´ı podm´ınky, kr´atce omezen´ı.
• Omezen´ı (1.5a) pˇr´ıp. (1.5b) se naz´yvaj´ı omezen´ı typu nerovnosti pˇr´ıp. typu rovnosti. Pokud omezen´ı chyb´ı (m = l = 0), jedn´a se o optimalizaci bez omezen´ı. • Pokud je mnoˇzina X pˇr´ıpustn´ych ˇreˇsen´ı pr´azdn´a (omezen´ı si odporuj´ı), u ´loha se naz´yv´a nepˇr´ıpustn´a . • Pokud se u ´ˇcelov´a funkce pˇri splnˇen´ych omezen´ıch m˚ uˇze zlepˇsovat nade vˇsechny meze, u ´loha se naz´yv´a neomezen´a .
1.3
Cviˇ cen´ı
1.1. Vyˇreˇste n´asleduj´ıc´ı u ´lohy, pˇriˇcemˇz slovn´ı u ´lohy nejdˇr´ıve formulujte ve tvaru (1.7). Staˇc´ı v´am k tomu zdrav´y rozum a derivace funkc´ı jedn´e promˇenn´e. a) min{ x2 + y 2 | x > 0, y > 0, xy ≥ 1 } b) min{ (x − 2)2 + (y − 1)2 | x2 ≤ 1, y 2 ≤ 1 } 10
c) M´ate vyrobit pap´ırovou krabici o objemu 72 litr˚ u, jej´ıˇz d´elka je dvojn´asobek jej´ı ˇs´ıˇrky. Jak´e budou jej´ı rozmˇery, m´a-li se na n´ı spotˇrebovat co nejm´enˇe pap´ıru? Tlouˇst’ka stˇen je zanedbateln´a. d) Jak´e m´a rozmˇery v´alec s jednotkov´ym objemem a nejmenˇs´ım povrchem? e) Najdˇete rozmˇery p˚ ullitru, na jehoˇz v´yrobu je tˇreba co nejm´enˇe skla. Tlouˇst’ka stˇen je zanedbateln´a. f) Najdˇete obsah nejvˇetˇs´ıho obd´eln´ıka vepsan´eho do kruˇznice s polomˇerem 1. g) Obd´eln´ık v rovinˇe m´a jeden roh v poˇc´atku a druh´y na kˇrivce y = x2 + x−2 , pˇriˇcemˇz jeho strany jsou rovnobˇeˇzn´e se souˇradnicov´ymi osami. Pro jak´e x bude jeho obsah minim´aln´ı? M˚ uˇze b´yt jeho obsah libovolnˇe velik´y? h) Najdˇete bod v rovinˇe na parabole s rovnic´ı y = x2 nejbl´ıˇze bodu (3, 0). i) Hektarov´a oblast obd´eln´ıkov´eho tvaru se m´a obehnat ze tˇr´ı stran ˇziv´ym plotem, kter´y stoj´ı 1000 korun na metr, a ze zb´yvaj´ıc´ı strany obyˇcejn´ym plotem, kter´y stoj´ı 500 korun na metr. Jak´e budou rozmˇery oblasti pˇri nejmenˇs´ı cenˇe plotu? j) x, y jsou ˇc´ısla v intervalu [1, 5] takov´e, ˇze jej´ıch souˇcet je 6. Najdˇete tato ˇc´ısla tak, aby xy 2 bylo (a) co nejmenˇs´ı a (b) co nejvˇetˇs´ı. k) Hled´a se n-tice ˇc´ısel x1 , . . . , xn ∈ {−1, +1} tak, ˇze jejich souˇcin je kladn´y a jejich souˇcet minim´aln´ı. Jako v´ysledek napiˇste (co nejjednoduˇsˇs´ı) vzorec, kter´y ud´av´a hodnotu tohoto minim´aln´ıho souˇctu pro obecn´e n. l) Potkan´ı biatlon. Potkan stoj´ı na bˇrehu kruhov´eho jez´ırka o polomˇeru 1 a potˇrebuje se dostat na protilehl´y bod bˇrehu. Potkan plave rychlost´ı v1 a bˇeˇz´ı rychlost´ı v2 . Chce se do c´ıle dostat co nejrychleji, pˇriˇcemˇz m˚ uˇze bˇeˇzet, plavat, nebo zvolit kombinaci oboj´ıho. Jakou dr´ahu zvol´ı? Strategie potkana m˚ uˇze b´yt r˚ uzn´a pro r˚ uzn´e hodnoty v1 a v2 , vyˇreˇste pro vˇsechny kombinace tˇechto hodnot. 1.2. Naˇcrtnˇete n´asleduj´ıc´ı mnoˇziny (promˇenn´e x, y patˇr´ı do R): a) b) c) d) e) f) g) h) i) j) k) l) m)
[−1, 0] × {1} Z×Z R×Z (R × Z) ∪ (Z × R) { (x, y) | x2 + y 2 = 1 } × R { (x, y) | x > 0, y > 0, xy = 1 } { (x, y) | min{x, y} = 1 } { 1/x | x ≥ 1 } { 1/x | |x| ≥ 1 } 2 { e−x | x ∈ R } { x + y | x2 + y 2 < 1 } { x − y | x2 + y 2 = 1 } { x + y | |x| ≥ 1, |y| ≥ 1 }
11
Kapitola 2 Maticov´ a algebra Re´aln´a matice rozmˇeru m × n je zobrazen´ı {1, . . . , m} × {1, . . . , n} → R. Toto zobrazen´ı zapisujeme tabulkou a11 · · · a1n .. , .. A = [aij ] = ... . . am1 · · · amn kde aij jsou prvky matice. Mnoˇzinu vˇsech re´aln´ych matic rozmˇeru m × n znaˇc´ıme Rm×n . Budeme pouˇz´ıvat tyto n´azvy: • Pro m = n se matice naz´yv´a ˇ ctvercov´ a a pro m 6= n obd´ eln´ıkov´ a, pˇriˇcemˇz pro m < n je ˇ sirok´ a a pro m > n je u ´ zk´ a.
• Diagon´ aln´ı prvky matice jsou prvky a11 , . . . , app , kde p = min{m, n}. Matice je diagon´ aln´ı, kdyˇz vˇsechny nediagon´aln´ı prvky jsou nulov´e (plat´ı pro ˇctvercov´e i obd´eln´ıkov´e matice). Pokud A je ˇctvercov´a diagon´aln´ı (m = n), znaˇc´ıme A = diag(a11 , a22 , . . . , ann ). • Nulov´ a matice m´a vˇsechny prvky nulov´e. Znaˇc´ıme ji 0m×n (pokud jsou rozmˇery jasn´e z kontextu, pak pouze 0). • Jednotkov´ a matice je ˇctvercov´a diagon´aln´ı, jej´ıˇz diagon´aln´ı prvky jsou jedniˇcky. Znaˇc´ıme ji In (pokud jsou rozmˇery jasn´e z kontextu, pak pouze I).
2.1
Operace s maticemi
Na matic´ıch jsou definov´any n´asleduj´ıc´ı operace: • Souˇcin skal´aru1 α ∈ R a matice A ∈ Rm×n je matice αA = [αaij ] ∈ Rm×n . • Souˇcet matic A, B ∈ Rm×n je matice A + B = [aij + bij ] ∈ Rm×n .
• Maticov´ y souˇ cin matic A ∈ Rm×p a B ∈ Rp×n je matice C = AB ∈ Rm×n s prvky cij =
p X
aik bkj .
(2.1)
k=1
Vˇsimnˇete si, ˇze n´asobit lze jen matice, kter´e maj´ı vnitˇrn´ı rozmˇer (p) stejn´y. 1 Slovo skal´ ar v algebˇre re´ aln´ ych matic oznaˇcuje re´aln´e ˇc´ıslo. Pˇresnˇeji, pohl´ıˇz´ıme-li na mnoˇzinu vˇsech matic rozmˇeru m × n jako na line´arn´ı prostor, jedn´a se o skal´ary tohoto line´arn´ıho prostoru.
12
Vlastnosti maticov´eho souˇcinu: • (AB)C = A(BC)
• (A + B)C = AC + BC a A(B + C) = AB + AC • AIn = A = Im A
• (αA)B = A(αB) = α(AB)
Obecnˇe neplat´ı AB = BA (ˇctvercov´e matice obecnˇe nekomutuj´ı). Poznamenejme, ˇze v´yraz αA nelze povaˇzovat za maticov´y souˇcin ’matice’ α rozmˇeru 1 × 1 a matice A, protoˇze vnitˇrn´ı rozmˇer matic by byl obecnˇe r˚ uzn´y. Tedy n´asoben´ı matice skal´arem je jin´a operace, neˇz maticov´y souˇcin.
2.2
Transpozice a symetrie
Transpozici matice A = [aij ] ∈ Rm×n znaˇc´ıme AT = [aji ] ∈ Rn×m . Vlastnosti transpozice: • (αA)T = αAT • (AT )T = A
• (A + B)T = AT + BT
• (AB)T = BT AT ˇ Ctvercov´ a matice se naz´yv´a • symetrick´ a, kdyˇz AT = A, tj. aij = aji ,
• antisymetrick´ a, kdyˇz AT = −A, tj. aij = −aji (z ˇcehoˇz nutnˇe plyne aii = 0).
2.3
Hodnost a inverze
Hodnost matice je velikost nejvˇetˇs´ı podmnoˇziny jej´ıch line´arnˇe nez´avisl´ych sloupc˚ u. Jin´ymi slovy, je to dimenze line´arn´ıho obalu sloupc˚ u matice. Hodnost znaˇc´ıme rank A. Plat´ı (a nen´ı to snadn´e dok´azat) rank A = rank AT , (2.2) tedy m´ısto pomoc´ı sloupc˚ u lze hodnost ekvivalentnˇe definovat pomoc´ı ˇr´adk˚ u. Z toho plyne, pro kaˇzdou matici je vˇzdy rank A ≤ min{m, n}. (2.3) ˇ Pokud rank A = min{m, n}, ˇr´ık´ame, ˇza matice m´a plnou hodnost. Ctvercov´ a matice s plnou hodnost´ı se naz´yv´a regul´ arn´ı, jinak je singul´ arn´ı. Uved’me jeˇstˇe tvrzen´ı o hodnosti souˇcinu matic, kter´e dok´aˇzeme pozdˇeji v §3.2.1: rank(AB) ≤ min{rank A, rank B}.
(2.4)
Pokud matice A ∈ Rn×m a B ∈ Rm×n splˇ nuj´ı AB = In ,
(2.5)
matice B se naz´yv´a prav´ a inverze matice A a matice A se naz´yv´a lev´ a inverze matice B. Prav´a ˇci lev´a inverze nemus´ı existovat nebo nemus´ı b´yt jedin´a. 13
Prav´a inverze ˇctvercov´e matice existuje pr´avˇe tehdy, kdyˇz tato matice je regul´arn´ı. Proto se regul´arn´ı matici ˇr´ık´a tak´e invertovateln´ a. V tom pˇr´ıpadˇe je jedin´a a je rovna lev´e inverzi. Pak mluv´ıme pouze o inverzi matice a znaˇc´ıme ji A−1 . Vlastnosti inverze: • AA−1 = I = A−1 A • (A−1 )−1 = A
• (AB)−1 = B−1 A−1
• (αA)−1 = α−1 A−1
• (AT )−1 = (A−1 )T , coˇz kr´atce znaˇc´ıme A−T .
2.4
Determinant
Determinant je funkce Rn×n → R (tedy pˇriˇrazuje ˇctvercov´e matici skal´ar) definovan´a jako det A =
X
sgn σ
n Y
ai σ(i) ,
(2.6)
i=1
σ
kde sˇc´ıt´ame pˇres vˇsechny permutace n prvk˚ u σ: {1, . . . , n} → {1, . . . , n}, pˇriˇcemˇz sgn σ oznaˇcuje znam´enko permutace. Nˇekter´e vlastnosti determinantu: • Determinant je multiline´arn´ı funkce sloupc˚ u matice, tj. je line´arn´ı funkc´ı libovoln´eho sloupce, jsou-li vˇsechny ostatn´ı sloupce konstantn´ı. • Determinant je alternuj´ıc´ı funkce sloupc˚ u matice, tj. prohozen´ı dvou sousedn´ıch sloupc˚ u zmˇen´ı znam´enko determinantu. • det I = 1
• det A = 0 pr´avˇe tehdy, kdyˇz A je singul´arn´ı • det AT = det A
• det(AB) = (det A)(det B)
• det A−1 = (det A)−1 (plyne z pˇredchoz´ıho pro B = A−1 )
2.5
Matice s jedn´ım sloupcem nebo jedn´ım ˇ r´ adkem
Matice s jedin´ym sloupcem (tedy prvek Rn×1 ) se tak´e naz´yv´a sloupcov´ y vektor2 . Matice s 1×m jedin´ym ˇr´adkem (tedy prvek R ) se tak´e naz´yv´a ˇ r´ adkov´ y vektor. n×1 Line´arn´ı prostor R vˇsech matic s jedin´ym sloupcem je ‘skoro stejn´y’ (isomorfn´ı) jako line´arn´ı prostor Rn vˇsech uspoˇr´adan´ych n-tic (x1 , . . . , xn ). Proto je zvykem tyto prostory ztotoˇznit a bez upozornˇen´ı pˇrech´azet mezi obˇema v´yznamy. Prvk˚ um x1 .. x = (x1 , . . . , xn ) = . ∈ Rn {z } | xn uspoˇr´ adan´ a n-tice | {z } matice n × 1
2
V line´arn´ı algebˇre m´a slovo vektor obecnˇejˇs´ı v´ yznam neˇz v maticov´e algebˇre: znamen´ a prvek line´arn´ıho prostoru (kter´ y se nˇekdy tak´e naz´ yv´a vektorov´y prostor ).
14
tohoto prostoru budeme ˇr´ıkat kr´atce vektory. Jinak ˇreˇceno, slovem vektor (bez pˇr´ıvlastku) budeme rozumˇet sloupcov´y vektor nebo tak´e uspoˇr´anou n-tici ˇc´ısel3 . Vˇsimnˇeme si pˇr´ıpad˚ u, kdy se v maticov´em souˇcinu vyskytuj´ı vektory: • Pro matici A ∈ Rm×n a vektor x ∈ Rn , v´yraz Ax je maticov´y souˇcin matice m × n a matice n × 1, coˇz je (sloupcov´y) vektor d´elky m.
• Pro matici A ∈ Rm×n a vektor x ∈ Rm , v´yraz xT A je maticov´y souˇcin matice 1 × m a matice m × n, coˇz je ˇr´adkov´y vektor d´elky n.
• Pro x, y ∈ Rn je xT y = x1 y1 + · · · + xn yn je maticov´y souˇcin ˇr´adkov´eho vektoru xT a sloupcov´eho vektoru y, jehoˇz v´ysledkem je skal´ar. Je to standardn´ı skal´arn´ı souˇcin vektor˚ u x a y (viz §4.1).
• Pro x, y ∈ Rn je xyT matice m × n, kter´e se nˇekdy ˇr´ık´a vnˇejˇs´ı souˇcin vektor˚ u x a y. Symbol 1n = (1, . . . , 1) ∈ Rn znaˇc´ı (sloupcov´y) vektor s jedniˇckov´ymi sloˇzkami. Pokud n plyne z kontextu, p´ıˇseme jen 1. Pˇr´ıklad: pro x ∈ Rn je 1T x = x1 + · · · + xn . Symbol ei = (0, . . . , 0, 1, 0, . . . , 0) ∈ Rn (jedniˇcka na i-t´em m´ıstˇe) znaˇc´ı i-t´y (sloupcov´y) vektor standarn´ı b´aze. Dimenze n vektoru je urˇcena kontextem. Pˇr´ıklad: pro x ∈ Rn je eTi x = xi .
2.6
Matice sestaven´ e z blok˚ u
Matici je moˇzno sestavit z nˇekolika jej´ıch podmatic (zvan´ych t´eˇz bloky), napˇr. A B A A I A B , , , . C D B 0 D
(2.7)
Rozmˇery jednotliv´ych blok˚ u mus´ı b´yt sluˇciteln´e, napˇr. v prvn´ım pˇr´ıkladu mus´ı m´ıt matice A, B stejn´y poˇcet ˇr´adk˚ u a matice A, C stejn´y poˇcet sloupc˚ u. V posledn´ım pˇr´ıkladu jsou rozmˇery jednotkov´e matice I a nulov´e matice 0 urˇceny rozmˇery matic A a D. Pˇri n´asoben´ı matic sestaven´ych z blok˚ u je uˇziteˇcn´e pravidlo, ˇze lze form´alnˇe uˇz´ıt obvykl´y postup pro n´asoben´ı matic, pouze m´ısto prvk˚ u matice si pˇredstav´ıme bloky. Pˇ r´ıklad 2.1. Jsou-li a, b, c, d, x, y skal´ary, m´ame ax + by a b x . = cx + dy c d y Jsou-li A, B, C, D, X, Y matice vhodn´ych rozmˇer˚ u, m´ame tedy (ovˇeˇrte dle vzorce (2.1)!) A B X AX + BY = . C D Y CX + DY ˇ Pˇ r´ıklad 2.2. Casto je uˇziteˇcn´e vn´ımat matici A ∈ Rm×n jako matici sestavenou z blok˚ u A = a1 · · · an , 3
Tot´eˇz bychom samozˇrejmˇe mohli udˇelat s ˇr´adky (a nˇekdo to tak i dˇel´a, napˇr. poˇc´ıtaˇcov´ı grafici).
15
kde sloupcov´e vektory a1 , . . . , an ∈ Rm jsou sloupce matice A. Matici lze tak´e vn´ımat jako sestavenou z blok˚ u aT1 .. A = . , aTm
kde ˇr´adkov´e vektory aT1 , . . . , aTm jsou ˇr´adky matice A, pˇriˇcemˇz a1 , . . . , am ∈ Rn . Vyj´adˇr´ıme-li matici A pomoc´ı ˇr´adk˚ u a matici B pomoc´ı sloupc˚ u, je aT1 b1 · · · aT1 bn aT1 B aT1 .. . .. AB = ... b1 · · · bn = Ab1 · · · Abn = ... = ... . . T T T T am b1 · · · am bn am B am
Vyj´adˇr´ıme-li matici A pomoc´ı sloupc˚ u a matici B pomoc´ı ˇr´adk˚ u, je bT .1 AB = a1 · · · ap .. = a1 bT1 + · · · + ap bTp . bTp
2.7
(2.8)
(2.9)
Hrub´ e chyby pˇ ri pr´ aci s maticemi
Pˇri manipulaci s maticov´ymi v´yrazy a rovnicemi dˇelaj´ı studenti nˇekdy hrub´e chyby, kter´ych se lze pˇri alespoˇ n minim´aln´ı pozornosti vyvarovat. Uved’me typick´e pˇr´ıklady tˇechto chyb.
V´ yraz je nesmysln´ y kv˚ uli rozmˇ er˚ um matic Jako prvn´ı pˇr´ıklad uved’me chyby, kdy v´yraz nem´a smysl kv˚ uli rozmˇer˚ um matic a vektor˚ u. Prvn´ı typ tˇechto chyb poruˇsuje syntaktick´a pravidla, napˇr.: • Pokud A ∈ R2×3 a B ∈ R3×3 , tak n´asleduj´ıc´ı v´yrazy jsou chybn´e: A + B,
A = B,
[A B],
AT B,
A−1 ,
det A,
A2 .
A . B Ve druh´em typu tˇechto chyb student nap´ıˇse v´yraz nebo udˇel´a z´avˇer, kter´y neodporuje syntaxi ale ned´av´a smysl kv˚ uli s´emantice (v´yznamu), napˇr.: • Inverze ˇctvercov´e, ale evidentnˇe singul´arn´ı matice. Napˇr. (wwT )−1 , kde w ∈ R3 . • Zcela odstraˇsuj´ıc´ı pˇr´ıklad je pouˇzit´ı ‘zlomku’ pro matice, napˇr.
• Pˇredpoklad existence lev´e inverze ˇsirok´e matice nebo prav´e inverze u ´zk´e matice. Napˇr. T 5×3 nap´ıˇseme QQ = I, kde Q ∈ R .
• Tvrzen´ı rank A = 5, kde A ∈ R3×5 . Je chybn´e, protoˇze kaˇzd´a pˇetice vektor˚ u z R3 je line´arnˇe z´avisl´a.
Pˇ r´ıklad 2.3. Vid´ıme-li v´yraz (AT B)−1 , mus´ı n´am okamˇzitˇe hlavou probˇehnout tyto u ´vahy o m×n k×p rozmˇerech matic A ∈ R aB∈R : • Abychom se vyhnuli syntaktick´e chybˇe v n´asoben´ı, mus´ı b´yt m = k. 16
• Jelikoˇz souˇcin AT B je rozmˇeru n × p, mus´ı b´yt n = p, abychom se vyhnuli syntaktick´e chybˇe pˇri inverzi. Ted’ tedy v´ıme, ˇze obˇe matice mus´ı m´ıt stejn´y rozmˇer. ´zk´a nebo B ˇsirok´a, AT B by byla • Z nerovnosti (2.4) je jasn´e, ˇze pokud by AT byla u singul´arn´ı a dostali bychom s´emantickou chybu. Abychom se j´ı vyhnuli, mus´ı b´yt obˇe matice bud’ ˇctvercov´e nebo u ´zk´e, m ≥ n. T −1 Z´avˇer: Aby v´yraz (A B) mˇel smysl, je nutn´e, aby matice A, B mˇely stejn´y rozmˇer a byly ˇctvercov´e nebo u ´zk´e.
Pouˇ zit´ı neexistuj´ıc´ıch maticov´ ych identit Pro manipulaci s maticov´ymi v´yrazy je uˇziteˇcn´e m´ıt v pamˇeti z´asobu maticov´ych identit. Ovˇsem nesm´ı b´yt chybn´e. Typick´e pˇr´ıklady: • (AB)T = AT BT (pokud v maticov´em souˇcinu AT BT je vnitˇrn´ı rozmˇer r˚ uzn´y, je to tak´e syntaktick´a chyba) • (AB)−1 = A−1 B−1 (pro neˇctvercov´e matice je to tak´e syntaktick´a chyba, pro ˇctvercov´e ale singul´arn´ı matice je to tak´e s´emantick´a chyba) • (A + B)2 = A2 + 2AB + B2 . Tato identita se op´ır´a o velice uˇziteˇcnou (avˇsak neexistuj´ıc´ı) identitu AB = BA. Spr´avnˇe je (A + B)2 = A2 + AB + BA + B2 .
Neekvivalentn´ı u ´ pravy (ne)rovnic Zde student udˇel´a chybn´y u ´sudek pˇri neekvivalentn´ı u ´pravˇe rovnice ˇci nerovnice. Ekvivalentn´ı a neekvivalentn´ı u ´pravy skal´arn´ıch rovnic zn´ame jiˇz ze z´akladn´ı ˇskoly. Napˇr. operace ‘odmocni rovnici’ je neekvivalentn´ı, nebot’ sice a = b implikuje a2 = b2 , ale a2 = b2 neimplikuje a = b. Pˇr´ıklady: ´ • Usudek, ˇze aT x = aT y implikuje x = y (nen´ı pravda, ani kdyˇz vektor a je nenulov´y). ´ • Usudek, ˇze pokud A ∈ R3×5 a AX = AY, pak plat´ı X = Y (nen´ı pravda, protoˇze A nem´a levou inverzi, tedy line´arnˇe nez´avisl´e sloupce). ´ • Usudek, ˇze AT A = BT B implikuje A = B (nen´ı pravda dokonce ani pro skal´ary).
Dalˇ s´ı n´ apady pro pr´ aci s maticemi • Pod v´yrazy s maticemi a vektory si malujte obd´eln´ıˇcky s rozmˇery matic, abyste mˇeli jasnou pˇredstavu o jejich rozmˇerech. • Vid´ıte-li maticovou rovnici ˇci soustavu rovnic, spoˇc´ıtejte si skal´arn´ı rovnice a nezn´am´e. ´ • Pracujte nejen s pap´ırem, ale i s Matlabem. Upravy maticov´ych v´yraz˚ u lze ˇcasto ovˇeˇrit T T T na n´ahodn´ych matic´ıch. Napˇr. chceme-li ovˇeˇrit rovnost (AB) = B A , zkus´ıme napˇr. A=randn(5,3); B=randn(3,6); (A*B)’-B’*A’. Samozˇrejmˇe to nen´ı d˚ ukaz.
2.8
Cviˇ cen´ı
2.1. Vyˇreˇste tyto rovnice pro nezn´amou matici X (pˇredpokl´adejte, ˇze kaˇzd´a potˇrebn´a inverze existuje):
17
a) AX + B = A2 X b) X − A = XB c) 2X − AX + 2A = 0
ˇ s´ıme soustavu rovnic { bi = Xai , i = 1, . . . , k } pro nezn´amou matici X ∈ Rm×n . Jak´e 2.2. Reˇ mus´ı b´yt k, aby soustava mˇela stejn´y poˇcet (skal´arn´ıch) rovnic jako nezn´am´ych? Za jak´e podm´ınky m´a soustava jedin´e ˇreˇsen´ı? 2.3. Vyˇreˇste soustavu rovnic { Ax = b, x = AT y }, kde x, y jsou nezn´am´e vektory a matice A je ˇsirok´a s plnou hodnost´ı. Najdˇete jen vztah pro x, vztah pro y n´as nezaj´ım´a. Ovˇeˇrte v Matlabu pro n´ahodn´e zad´an´ı, kter´e z´ısk´ate pˇr´ıkazy A=randn(m,n); b=randn(m,1). 2.4. Mˇejme soustavu rovnic pro nezn´am´e x a y: Ax + By = a Cx + Dy = b a) Vyj´adˇrete soustavu ve tvaru Pu = q. b) Je-li a, x ∈ Rm , b, y ∈ Rn , ukaˇzte, ˇze x = (A − BD−1 C)−1 (a − BD−1 b). Jakou to m´a v´ypoˇcetn´ı v´yhodu oproti poˇc´ıt´an´ı u pˇr´ımo ze soustavy Pu = q? 2.5. V n´asleduj´ıc´ıch soustav´ach rovnic mal´a p´ısmena znaˇc´ı vektory a velk´a matice. Jak´e jsou nejobecnˇejˇs´ı rozmˇery matic a vektor˚ u, aby rovnice byly syntakticky spr´avnˇe? Jak´y je poˇcet rovnic a nezn´am´ych v kaˇzd´e soustavˇe? Kter´e z tˇechto soustav rovnic jsou line´arn´ı? a) b) c) d) e)
Ax = b, nezn´am´a x. xT Ax = 1, nezn´am´a x. aT Xb = 0, nezn´am´a X. AX + XAT = C, nezn´am´a X { XT Y = A, XYT = B }, nezn´am´e X, Y
2.6. Zobrazen´ı vec : Rm×n → Rmn (‘vektorizace’ matice, v Matlabu oznaˇceno A(:)) je definov´ano tak, ˇze vec A je matice A pˇrerovnan´a po sloupc´ıch do vektoru. Kronecker˚ uv souˇcin matic (v Matlabu kron(A,B)) je definov´an jako a11 B · · · a1n B .. . .. A ⊗ B = ... . . am1 B · · · amn B Pro libovoln´e matice (s kompatibiln´ımi velikostmi) plat´ı
vec(ABC) = (CT ⊗ A) vec B.
(2.10)
Pouˇzijte tohoto vzorce pro pˇreveden´ı n´asleduj´ıc´ıch soustav rovnic s nezn´amou matic´ı X do tvaru Pu = q s nezn´am´ym vektorem u. Pˇredpokl´adejte, ˇze poˇcet rovnic je rovn´y poˇctu nezn´am´ych. Pˇredpokl´adejte, ˇze matice a vektory maj´ı nejobecnˇejˇs´ı moˇzn´e rozmˇery, aby to d´avalo smysl. a) { bTi Xai = 0, i = 1, . . . , k } b) AX + XAT = C 18
2.7. Souˇcet diagon´aln´ıch prvk˚ u ˇctvercov´e matice se naz´yv´a jej´ı stopa. a) Dokaˇzte, ˇze matice AB a BA maj´ı stejnou stopu. b) Dokaˇzte, ˇze rovnice AB − BA = I nem´a ˇreˇsen´ı pro ˇz´adn´e A, B. 2.8. Komut´atorem dvou matic rozum´ıme matici [A, B] = AB−BA. Dokaˇzte, ˇze plat´ı Jacobiho identita [A, [B, C]] + [B, [C, A]] + [C, [A, B]] = 0. 2.9. Dokaˇzte Sherman-Morrison˚ uv vzorec (A je ˇctvercov´a regul´arn´ı a vT A−1 u 6= 1): uvT A−1 T −1 −1 I+ (A − uv ) = A . 1 − vT A−1 u 2.10. Dokaˇzte, ˇze (AB)−1 = B−1 A−1 . 2.11. Dokaˇzte, ˇze pro kaˇzdou ˇctvercovou matici A a) A + AT je symetrick´a b) A − AT je antisymetrick´a c) existuje symetrick´a B a antisymetrick´a C tak, ˇze A = B + C, pˇriˇcemˇz B, C jsou d´any jednoznaˇcnˇe. d) AT A je symetrick´a 2.12. Dokaˇzte, ˇze pro kaˇzd´e A ∈ Rm×n a B ∈ Rn×m m´a matice I − BA B L= 2A − ABA AB − I vlastnost L2 = I (kde L2 je zkratka pro LL). Matice s touto vlastnost´ı se naz´yv´a involuce. 2.13. Kdy je diagon´aln´ı matice regul´arn´ı? Co je inverz´ı diagon´aln´ı matice? 2.14. Ukaˇzte, ˇze diagon´aln´ı matice komutuj´ı (tj. AB = BA). 2.15. Dokaˇzte, ˇze pokud je I − A regul´arn´ı, pak A(I − A)−1 = (I − A)−1 A. 2.16. Dokaˇzte, ˇze pokud A, B a A + B jsou regul´arn´ı, pak
A(A + B)−1 B = B(A + B)−1 A = (A−1 + B−1 )−1 . 2.17. (⋆) Necht’ ˇctvercov´e matice A, B, C, D jsou takov´e, ˇze ABT a CDT jsou symetrick´e a plat´ı ADT − BCT = I. Dokaˇzte, ˇze AT D − CT B = I.
N´ apovˇ eda a ˇ reˇ sen´ı 2.1.a) X = (A2 − A)−1 B = (A − I)−1 A−1 B 2.1.b) X = A(I − B)−1
2.1.c) X = 2(A − 2I)−1 A = (A/2 − I)−1 A 2.2.
Nezn´am´ ych je m × n, rovnic je m × k, tedy mus´ı b´ yt n = k. Pro jedin´e ˇreˇsen´ı mus´ı b´ yt vektory ai line´ arnˇe nez´ avisl´e.
x = AT (AAT )−1 b A B a x 2.4.a) P = ,q= ,u= C D b y 2.3.
19
2.5.a) Rovnic je m, nezn´ am´ ych n, kde A ∈ Rm×n . Je line´ arn´ı.
2.5.b) Rovnice je jedna, nezn´ am´ ych je n, kde x ∈ Rn . Nen´ı line´ arn´ı.
2.5.c) Rovnice je jedna, nezn´ am´ ych je mn, kde X ∈ Rm×n . Je line´ arn´ı.
2.5.d) Vˇsechny tˇri matice A, C, X mus´ı b´ yt ˇctvercov´e velikosti n × n. Rovnic i nezn´ am´ ych je n2 . 2.5.e) Rovnic je m2 + n2 , nezn´ am´ ych je 2mn, kde X, Y ∈ Rm×n . Nen´ı line´ arn´ı.
20
Kapitola 3 Linearita Mnoˇzina Rm×n matic pevn´eho rozmˇeru m × n spolu s operacemi + (sˇc´ıt´an´ı matic) a · (n´asoben´ı matice skal´arem) tvoˇr´ı line´arn´ı prostor nad tˇelesem re´aln´ych ˇc´ısel. Speci´aln´ım pˇr´ıpadem je line´arn´ı prostor Rn×1 jednosloupcov´ych matic neboli, po ztotoˇznˇen´ı popsan´em v §2.5, line´arn´ı prostor Rn vˇsech n-tic re´aln´ych ˇc´ısel. Zopakujte si z line´arn´ı algebry pojem line´arn´ıho prostoru!
3.1
Line´ arn´ı podprostory
Line´ arn´ı kombinace vektor˚ u x1 , . . . , xk ∈ Rn je vektor α1 x1 + · · · + αk xk
(3.1)
pro nˇejak´e skal´ary α1 , . . . , αk ∈ R. Vektory jsou line´ arnˇ e nez´ avisl´ e, kdyˇz plat´ı implikace α1 x1 + · · · + αk xk = 0
=⇒
α1 = · · · = αk = 0.
(3.2)
V opaˇcn´em pˇr´ıpadˇe jsou line´ arnˇ e z´ avisl´ e. Line´ arn´ı obal vektor˚ u x1 , . . . , xk je mnoˇzina span{x1 , . . . , xk } = { α1 x1 + · · · + αk xk | α1 , . . . , αk ∈ R } vˇsech jejich line´arn´ıch kombinac´ı (zde pˇredpokl´ad´ame, ˇze vektor˚ u je koneˇcn´y poˇcet). n Mnoˇzina X ⊆ R se naz´yv´a line´ arn´ı podprostor (ˇcastˇeji jen podprostor) line´arn´ıho prostoru Rn , pokud libovoln´a line´arn´ı kombinace libovoln´ych vektor˚ u z X leˇz´ı v X (ˇr´ık´ame, ˇze mnoˇzina X je uzavˇren´a v˚ uˇci line´arn´ım kombinac´ım). B´ aze line´arn´ıho podprostoru X ⊆ Rn je line´arnˇe nez´avisl´a mnoˇzina vektor˚ u, jej´ıˇz line´arn´ı obal je X. Netrivi´aln´ı podprostor Rn m´a nekoneˇcn´y poˇcet b´az´ı, kaˇzd´a b´aze m´a vˇsak stejn´y poˇcet vektor˚ u. Tento poˇcet je dimenz´ı line´arn´ıho podprostoru, kterou znaˇc´ıme dim X. Definujeme1 span ∅ = {0}. Z toho plyne, ˇze nejmenˇs´ı moˇzn´y line´arn´ı podprostor je 0. Pˇ r´ıklad 3.1. Mnoˇzina X = span{(1, 2, 3)} = { α(1, 2, 3) | α ∈ R } ⊆ R3 je podprostor R3 dimenze 1. Je to pˇr´ımka proch´azej´ıc´ı poˇc´atkem. Jej´ı b´aze je napˇr. mnoˇzina {(1, 2, 3)}, jin´a b´aze je mnoˇzina {(2, 4, 6)}.
Pˇ r´ıklad 3.2. Mnoˇzina X = span{(1, 2, 3, 0), (0, 1, 2, −1), (0, 2, 4, −2)} ⊆ R4 je podprostor R4 dimenze 2. Vˇsimnˇete si, ˇze vektory jsou line´arnˇe z´avisl´e. B´aze podprostoru X je napˇr. mnoˇzina {(1, 2, 3, 0), (0, 1, 2, −1)}.
P Plyne z toho, ˇze (3.1) je rovno 0 pro a suma i∈∅ ai je definov´ana jako Pk = 0. To plat´ı proto, ˇze pr´azdn´ nula, protoˇze pˇrirozenˇe chceme, aby b + i∈∅ ai = b pro libovoln´e b (podobnˇe pro vektory). 1
21
Pˇ r´ıklad 3.3. Vˇsechny moˇzn´e podprostory prostoru R3 jsou tyto: poˇc´atek 0 (dimenze 0), vˇsechny pˇr´ımky proch´azej´ıc´ı poˇc´atkem (dimenze 1), vˇsechny roviny proch´azej´ıc´ı poˇc´atkem (dimenze 2), a koneˇcnˇe cel´y prostor R3 (dimenze 3). Pˇ r´ıklad 3.4. Mnoˇzina X = { (1 + α, α) | α ∈ R } ⊆ R2 (pˇr´ımka neproch´azej´ıc´ı poˇc´atkem) nen´ı podprostor R2 , protoˇze napˇr. (1, 0) ∈ X ale 2(1, 0) = (2, 0) ∈ / X.
3.2
Line´ arn´ı zobrazen´ı
Zobrazen´ı f: Rn → Rm nazveme line´ arn´ı, pokud pro kaˇzd´e x1 , . . . , xk ∈ Rn a α1 , . . . , αk ∈ R plat´ı f (α1 x1 + · · · + αk xk ) = α1 f(x1 ) + · · · + αk f(xk ), (3.3) tedy pokud ‘zobrazen´ı line´arn´ı kombinace je rovno line´arn´ı kombinaci zobrazen´ı’. Lze uk´azat, ˇze zobrazen´ı je line´arn´ı pr´avˇe tehdy, existuje-li matice A ∈ Rm×n takov´a, ˇze f (x) = Ax.
(3.4)
D˚ ukaz jedn´e implikace je snadn´y: zobrazen´ı (3.4) je line´arn´ı, nebot’ f (α1 x1 + · · · + αk xk ) = A(α1 x1 + · · · + αk xk ) = α1 Ax1 + · · · + αk Axk = α1 f(x1 ) + · · · + αk f(xk ), ukaz obr´acen´e implikace vynech´ame, ale coˇz plyne z vlastnost´ı maticov´eho souˇcinu (viz §2.1). D˚ ˇ ık´ame tak´e nen´ı obt´ıˇzn´y. Lze nav´ıc uk´azat, ˇze matice A je zobrazen´ım f urˇcena jednoznaˇcnˇe. R´ proto, ˇze matice A reprezentuje line´arn´ı zobrazen´ı f . Pˇ r´ıklad 3.5. Zobrazen´ı f: R2 → R3 definovan´e jako f (x1 , x2 ) = (x1 + x2 , x1 − x2 , 2x1 ) je line´arn´ı. To bychom dok´azali ovˇeˇren´ım podm´ınky (3.3). Ovˇsem je to patrn´e na prvn´ı pohled, protoˇze jej lze vyj´adˇrit ve tvaru (3.4): x1 + x2 1 1 x f(x1 , x2 ) = 1 −1 1 = x1 − x2 = (x1 + x2 , x1 − x2 , 2x1 ). x2 2x1 2 0 Pokud m = 1, line´arn´ı zobrazen´ı je funkce f : Rn → R tvaru f (x) = aT x = a1 x1 + · · · + an xn ,
(3.5)
kde a ∈ Rn . T´eto funkci se t´eˇz ˇr´ık´a line´arn´ı forma. Pod´ıvejme se bl´ıˇze na vzorec (3.4). V´yraz Ax je maticov´y souˇcin matice m × n matic´ı n × 1 (viz §2.5). Oznaˇc´ıme-li y = Ax, je tedy podle (2.1) yi =
n X
aij xj
j=1
neboli
y1 = a11 x1 + · · · + a1n xn .. . ym = am1 x1 + · · · + amn xn . 22
(3.6)
D´ale, vyj´adˇr´ıme-li matici A pomoc´ı sloupc˚ u, m´ame x .1 Ax = a1 · · · an .. = x1 a1 + · · · + xn an , xn
(3.7)
tedy vektor Ax je line´arn´ı kombinace sloupc˚ u matice. Naopak, vyj´adˇr´ıme-li matici A pomoc´ı ˇr´adk˚ u, m´ame aT1 x aT1 (3.8) Ax = ... x = ... , T T am x am tedy sloˇzky vektoru Ax jsou skal´arn´ı souˇciny ˇr´adk˚ u matice a vektoru x. Vˇsimnˇete si, ˇze (3.7) a (3.8) jsou speci´aln´ı pˇr´ıpady (2.8) a (2.9) z Pˇr´ıkladu 2.2. Sloˇzen´ı line´arn´ıch zobrazen´ı je opˇet line´arn´ı zobrazen´ı. Pro f(x) = Ax a g(y) = By m´ame (g ◦ f )(x) = g(f (x)) = B(Ax) = (BA)x, tedy BA je matice sloˇzen´eho zobrazen´ı g ◦ f . Tedy matice sloˇzen´eho zobrazen´ı je souˇcinem matic jednotliv´ych zobrazen´ı. Toto je hlavn´ı d˚ uvod, proˇc je rozumn´e definovat maticov´e n´asoben´ı jako (2.1): n´asoben´ı matic odpov´ıd´a skl´ad´an´ı line´arn´ıch zobrazen´ı reprezentovan´ymi tˇemito maticemi.
3.2.1
Prostor obraz˚ u
S line´arn´ım zobrazen´ım jsou spjaty dva line´arn´ı podprostory, prostor obraz˚ u a nulov´y prostor (j´adro). Je-li zobrazen´ı reprezentov´ano matic´ı jako f (x) = Ax, hovoˇr´ıme o prostoru obraz˚ ua m×n nulov´em prostoru matice A ∈ R . Prostor obraz˚ u matice A (neboli prostor obraz˚ u zobrazen´ı f ) je mnoˇzina rng A = { Ax | x ∈ Rn } ⊆ Rm .
(3.9)
Interpretace prostoru obraz˚ u: n • Je to mnoˇzina f (R ) vˇsech hodnot, jichˇz m˚ uˇze zobrazen´ı f nab´yt.
• Je to mnoˇzina vˇsech vektor˚ u y, pro kter´e m´a line´arn´ı soustava Ax = y ˇreˇsen´ı.
• Podle (3.7) je to line´arn´ı obal sloupc˚ u matice A. Tedy je to line´arn´ı podprostor Rm . Z definice hodnosti je jasn´e, ˇze dim rng A = rank A. (3.10) Vˇ eta 3.1. N´asleduj´ıc´ı tvrzen´ı jsou ekvivalentn´ı: 1. rng A = Rm 2. rank A = m ˇ adky matice A jsou line´arnˇe nez´avisl´e. 3. R´ 4. Soustava Ax = y m´a ˇreˇsen´ı pro kaˇzd´e y. 5. Zobrazen´ı f je surjektivn´ı (viz §1.1.2).
6. Matice A m´a pravou inverzi, tj. existuje B tak, ˇze AB = I. 23
D˚ ukaz. • Ekvivalence 1 ⇔ 2 ⇔ 3 ⇔ 4 ⇔ 5 snadno plynou z definice hodnosti a z (3.10).
• Implikace 4 ⇒ 6 plat´ı, nebot’ soustava Abi = ei m´a ˇreˇsen´ı bi pro kaˇzd´e i (kde ei resp. bi je i-t´y sloupec matice I resp. B). Pro d˚ ukaz 6 ⇒ 4 poloˇz´ıme x = By.
3.2.2
Nulov´ y prostor
Nulov´ y prostor matice A (tak´e se naz´yv´a j´adro zobrazen´ı f ) je mnoˇzina null A = { x ∈ Rn | Ax = 0 } ⊆ Rn .
(3.11)
Interpretace nulov´eho prostoru: • Je to mnoˇzina vˇsech vektor˚ u, kter´e se zobraz´ı na nulov´y vektor.
• Podle (3.8) je to mnoˇzina vˇsech vektor˚ u, kter´e jsou kolm´e na kaˇzd´y ˇr´adek matice A. Z toho je vidˇet, ˇze je to line´arn´ı podprostor Rn .
Vˇ eta 3.2. N´asleduj´ıc´ı tvrzen´ı jsou ekvivalentn´ı: 1. null A = {0} (tj. nulov´y prostor je trivi´aln´ı). 2. rank A = n
3. Sloupce matice A jsou line´arnˇe nez´avisl´e. 4. Zobrazen´ı f je injektivn´ı (viz §1.1.2).
5. Matice A m´a levou inverzi, tj. existuje B tak, ˇze BA = I. D˚ ukaz. • Ekvivalence 1 ⇔ 3 plyne z definice line´arn´ı nez´avislosti (3.2), tj. Ax = 0 ⇒ x = 0. • Ekvivalence 2 ⇔ 3 plyne z definice hodnosti.
• Tvrzen´ı 4 ˇr´ık´a, ˇze pro kaˇzd´e x, y je Ax = Ay ⇒ x = y, neboli A(x − y) = 0 ⇒ x − y = 0. To dokazuje 1 ⇔ 4.
• Tvrzen´ı 5 je ekvivalentn´ı tomu, ˇze matice AT m´a pravou inverzi, tj. AT BT = I. Tedy 3 ⇔ 5 plyne z Vˇety 3.1.
3.2.3
Nˇ ekter´ e vˇ ety o prostoru obraz˚ u a nulov´ em prostoru
N´asleduj´ıc´ı vˇeta je z´akladn´ı, jej´ı d˚ ukaz lze naj´ıt v kaˇzd´e uˇcebnici line´arn´ı algebry. Vˇ eta 3.3. Pro kaˇzdou matici A ∈ Rm×n plat´ı dim rng A + dim null A = n.
(3.12)
ˇ ıslo dim rng A = rank A je dimenze podprostoru vˇsech hodnot, Neform´aln´ı interpretace: C´ ˇ ıslo dim null A je dimenze podprostoru vstupn´ıch kter´e se mohou objevit na v´ystupu zobrazen´ı. C´ hodnot, kter´e zobrazen´ı ’sm´aˇckne’ do nulov´eho vektoru. Vˇeta 3.3 ˇr´ık´a, ˇze kaˇzd´a dimenze na vstupu se bud’ ’sm´aˇckne’ do nulov´eho vektoru nebo se objev´ı na v´ystupu. Dokaˇzme nyn´ı snadn´a tvrzen´ı o prostoru obraz˚ u a nulov´em prostoru souˇcinu matic. 24
Vˇ eta 3.4. Pro libovoln´e matice A, B plat´ı:
ˇr´adky B jsou line´arnˇe nez´avisl´e sloupce B jsou line´arnˇe nez´avisl´e
rng(AB) ⊆ rng A =⇒ rng(AB) = rng A null(BA) ⊇ null A =⇒ null(BA) = null A
(3.13a) (3.13b) (3.13c) (3.13d)
D˚ ukaz. • Inkluze (3.13a) ˇr´ık´a, ˇze jestliˇze soustava z = ABx m´a ˇreˇsen´ı, pak i soustava z = Ay m´a ˇreˇsen´ı. To ale plat´ı, protoˇze m˚ uˇzeme poloˇzit y = Bx. • Rovnost (3.13b) pak plyne z implikace 3 ⇒ 4 ve Vˇetˇe 3.1.
• Inkluze (3.13c) plat´ı, protoˇze Ax = 0 implikuje BAx = 0 (po vyn´asoben´ı matic´ı B zleva). • Rovnost (3.13d) plat´ı, nebot’ null B = {0}, coˇz je implikace 3 ⇒ 1 ve Vˇetˇe 3.2.
Jako d˚ usledek dostaneme sl´ıben´y d˚ ukaz nerovnosti (2.4). Z inkluze (3.13a) a rovnosti (3.10) m´ame rank(AB) ≤ rank A. Ovˇsem d´ıky (2.2) m´ame tak´e rank(AB) = rank((AB)T ) = rank(BT AT ) ≤ rank(BT ) = rank B. D´ano dohromady, m´ame rank(AB) ≤ min{rank A, rank B}. D´ale uvedeme pomˇernˇe pˇrekvapivou vˇetu, kterou budeme potˇrebovat pozdˇeji. Vˇ eta 3.5. Pro libovolnou matici A plat´ı rng(AAT ) = rng A T
(3.14a) T
null(AA ) = null A .
(3.14b)
D˚ ukaz. Dle (3.13c) je null(AAT ) ⊇ null AT . Ale je tak´e null(AAT ) ⊆ null AT , nebot’ AAT x = 0
=⇒
xT AAT x = (AT x)T (AT x) = 0
=⇒
AT x = 0.
Zde druh´a implikace plat´ı proto, ˇze pro libovoln´y vektor y m´ame yT y = 0 ⇒ y = 0 (napiˇste si souˇcin yT y ve sloˇzk´ach!). Tedy jsme dok´azali (3.14b). Z (3.14b) a (3.12) m´ame dim rng(AAT ) = rank(AAT ) = rank A = dim rng A. Z (3.13a) m´ame rng(AAT ) ⊆ rng A. Ale pokud je podprostor podmnoˇzinou jin´eho podprostoru a oba maj´ı stejnou dimenzi, mus´ı b´yt stejn´e. To je jasn´e: libovoln´a b´aze rng(AAT ) leˇz´ı tak´e v rng A, a protoˇze oba podprostory maj´ı stejnou dimenzi, je to tak´e b´aze rng A.
3.3
Afinn´ı podprostor a zobrazen´ı
Afinn´ı kombinace vektor˚ u x1 , . . . , xk ∈ Rn je line´arn´ı kombinace (3.1), ve kter´e koeficienty kombinace splˇ nuj´ı α1 + · · · + αk = 1. Afinn´ı obal vektor˚ u x1 , . . . , xk je mnoˇzina vˇsech jejich 2 afinn´ıch kombinac´ı. Afinn´ı podprostor line´arn´ıho prostoru Rn je mnoˇzina A ⊆ Rn , kter´a je uzavˇren´a v˚ uˇci afinn´ım kombinac´ım (tedy kaˇzd´a afinn´ı kombinace vektor˚ u z A leˇz´ı v A). 2
Vˇsimnˇete si, ˇze zde definujeme afinn´ı podprostor line´arn´ıho prostoru, ale uˇz ne afinn´ı prostor s´am o sobˇe. Definice afinn´ıho prostoru bez odkazu k nˇejak´emu line´arn´ımu prostoru existuje, ale neuv´ad´ıme ji.
25
Pˇ r´ıklad 3.6. Mˇejme dva line´arnˇe nez´avisl´e vektory x, y ∈ R2 . Jejich line´arn´ı obal je mnoˇzina span{x, y} = { αx + βy | α, β ∈ R }, tedy rovina proch´azej´ıc´ı tˇemito dvˇema body a poˇc´atkem 0, tedy cel´y R2 . Jejich afinn´ı obal je mnoˇzina aff{x, y} = { αx + βy | α, β ∈ R, α + β = 1 } = { αx + (1 − α)y | α ∈ R }, coˇz je pˇr´ımka proch´azej´ıc´ı body x, y. Na obr´azku jsou vektory αx+(1−α)y pro r˚ uzn´e hodnoty α:
= 1:5
=1
= 0:5
=0
=
0:5
y
x 0
Podobnˇe, line´arn´ı obal dvou line´arnˇe nez´avisl´ych vektor˚ u z R3 je rovina proch´azej´ıc´ı tˇemito dvˇema body a poˇc´atkem 0, avˇsak jejich afinn´ı obal je pˇr´ımka proch´azej´ıc´ı tˇemito dvˇema body. Afinn´ı obal tˇr´ı line´arnˇe nez´avisl´ych bod˚ u v R3 je rovina proch´azej´ıc´ı tˇemito tˇremi body. Pro mnoˇzinu X ⊆ Rn a vektor y ∈ Rn oznaˇcme X + y = { x + y | x ∈ X }.
(3.15)
Vˇ eta 3.6. • Je-li A afinn´ı podprostor Rn a x0 ∈ A, pak mnoˇzina A − x0 je line´arn´ı podprostor Rn .
• Je-li X line´arn´ı podprostor Rn a x0 ∈ Rn , pak mnoˇzina X + x0 je afinn´ı podprostor Rn .
D˚ ukaz. Dok´aˇzeme jen prvn´ı tvrzen´ı, druh´e se dok´aˇze podobnˇe. Chceme dok´azat, ˇze libovoln´a line´arn´ı kombinace vektor˚ u z mnoˇziny A − x0 leˇz´ı v A − x0 . To znamen´a, ˇze pro x1 , . . . , xk ∈ A a α1 , . . . , αk ∈ R mus´ı b´yt α1 (x1 − x0 ) + · · · + αk (xk − x0 ) ∈ A − x0 , tedy α1 (x1 − x0 ) + · · · + αk (xk − x0 ) + x0 = α1 x1 + · · · + αk xk + (1 − α1 − · · · − αk )x0 ∈ A. To je ale pravda, nebot’ α1 + · · · + αk + (1 − α1 − · · · − αk ) = 1 a tedy posledn´ı v´yraz je afinn´ı kombinace vektor˚ u z A, kter´a podle pˇredpokladu leˇz´ı v A. Vˇeta ukazuje, ˇze afinn´ı podprostor nen´ı nic jin´eho neˇz ‘posunut´y’ line´arn´ı podprostor (tedy nemus´ı proch´azet poˇc´atkem, na rozd´ıl of line´arn´ıho podprostoru). Dimenze afinn´ıho podprostoru je dimenze tohoto line´arn´ıho podprostoru. Afinn´ımu podprostoru Rn dimenze 0, 1, 2 a n − 1 se ˇr´ık´a po ˇradˇe bod, pˇ r´ımka, rovina a nadrovina. n m Zobrazen´ı f: R → R nazveme afinn´ı, pokud (3.3) plat´ı pro vˇsechna α1 + · · · + αk = 1, tedy zobrazen´ı afinn´ı kombinace je rovno afinn´ı kombinaci zobrazen´ı. Lze uk´azat (proved’te!), ˇze zobrazen´ı f: Rn → Rm je afinn´ı pr´avˇe tehdy, kdyˇz existuje matice A ∈ Rm×n a vektor b ∈ Rm tak, ˇze f (x) = Ax + b. (3.16) 26
Pˇ r´ıklad 3.7. Zobrazen´ı f : R2 → R3 definovan´e jako f (x1 , x2 ) = (x1 + x2 + 1, x1 − x2 , 2x1 ) je afinn´ı. To bychom mohli dok´azat ovˇeˇren´ım podm´ınek (3.3) pro α1 + · · · + αk = 1. Ale je to patrn´e i z toho, ˇze zobrazen´ı lze vyj´adˇrit ve tvaru (3.16): 1 1 1 x1 f (x1 , x2 ) = 1 −1 + 0 . x2 2 0 0 Pro m = 1 je zobrazen´ı (3.16) afinn´ı funkce 3 f : Rn → R a m´a tvar f (x) = aT x + b = a1 x1 + · · · + an xn + b,
(3.17)
kde a ∈ Rn a b ∈ R.
3.4
Cviˇ cen´ı
3.1. Rozhodnˇete, zda n´asleduj´ıc´ı mnoˇziny tvoˇr´ı line´arn´ı nebo afinn´ı podprostor Rn a pˇr´ıpadnˇe urˇcete jeho dimenzi: a) b) c) d) e)
{ x ∈ Rn | aT x = 0 } pro dan´e a ∈ Rn { x ∈ Rn | aT x = b } pro dan´e a ∈ Rn , b ∈ R { x ∈ Rn | xT x = 1 } { x ∈ Rn | axT = I } pro dan´e a ∈ Rn P x ∈ Rn ni=1 xi = 0
3.2. Je d´ano zobrazen´ı f(x) = x × y, kde y ∈ R3 je pevn´y vektor a × oznaˇcuje vektorov´y souˇcin. Jde tedy o zobrazen´ı R3 → R3 . Je toto zobrazen´ı line´arn´ı? Pokud ano, najdˇete ˇ matici A tak, aby f(x) = Ax. Cemu je rovno AT ? Jakou hodnost m´a A? 3.3. M´ame zobrazen´ı f: R2 → R3 definovan´e jako f (x, y) = (x + y, 2x − 1, x − y). Je toto zobrazen´ı line´arn´ı? Pokud ano, napiˇste ho ve formˇe (3.4). Je toto zobrazen´ı afinn´ı? Pokud ano, napiˇste ho ve formˇe (3.16). Obˇe odpovˇedi dokaˇzte z definic. 3.4. Dokaˇzte, ˇze a) mnoˇzina ˇreˇsen´ı homogenn´ı line´arn´ı soustavy Ax = 0 je line´arn´ı podprostor, b) mnoˇzina ˇreˇsen´ı nehomogenn´ı line´arn´ı soustavy Ax = b (b 6= 0) je afinn´ı podprostor. 3.5. Najdˇete b´azi prostoru obraz˚ u a b´azi nulov´eho prostoru n´asleduj´ıc´ıch line´arn´ıch zobrazen´ı: a) f(x1 , x2 , x3 ) = (x1 − x2 , x2 − x3 + 2x1 ) b) f(x1 , x2 ) = (2x1 + x2 , x1 − x2 , 2x2 + x1 ) 3.6. M´ate matice A a B se stejn´ym poˇctem ˇr´adk˚ u. Jak byste ovˇeˇrili, zda rng A = rng B, um´ıte-li spoˇc´ıtat hodnost libovoln´e matice? 3.7. Kter´e z tˇechto v´yrok˚ u jsou pravdiv´e? Kaˇzd´y v´yrok dokaˇzte nebo najdˇete protipˇr´ıklad. Nˇekter´e v´yroky mohou platit jen pro urˇcit´e rozmˇery matic – najdˇete tedy co nejobecnˇejˇs´ı podm´ınky na rozmˇery matic, aby v´yroky byly pravdiv´e. 3
V line´arn´ı algebˇre znamen´ a slovo ‘line´ arn´ı’ nˇeco jin´eho neˇz v matematick´e anal´ yze. Napˇr. funkci jedn´e promˇenn´e f (x) = ax + b zn´ate ze z´ akladn´ı ˇskoly jako line´arn´ı, v line´arn´ı algebˇre vˇsak line´arn´ı nen´ı – je afinn´ı. Ovˇsem soustavˇe rovnic Ax = b se ˇr´ık´ a ‘line´ arn´ı’ i v line´arn´ı algebˇre.
27
a) b) c) d)
Pokud AB m´a plnou hodnost, pak A a B maj´ı plnou hodnost. Pokud A a B maj´ı plnou hodnost, pak AB m´a plnou hodnost. Pokud A a B maj´ı trivi´aln´ı nulov´y prostor, pak AB m´a trivi´aln´ı nulov´y prostor. (⋆) Pokud A a B jsou u ´zk´e s plnou hodnost´ı a plat´ı AT B = 0, pak matice [A B] je u ´zk´a s plnou hodnost´ ı. A 0 m´a plnou hodnost, pak A i B maj´ı plnou hodnost. e) (⋆) Pokud matice 0 B
3.8. Necht’ X je line´arn´ı podprostor Rn a f: Rn → Rm je line´arn´ı zobrazen´ı. Je mnoˇzina f(X) line´arn´ı podprostor Rm ? Odpovˇed’ dokaˇzte. 3.9. Najdi afinn´ı zobrazen´ı f : R2 → R2 kter´e zobraz´ı troj´ uheln´ık s vrcholy p1 , p2 , p3 ∈ R2 na troj´ uheln´ık s vrcholy q1 , q2 , q3 ∈ R2 . Zobrazen´ı m´a zobrazit bod p1 do bodu q1 atd. Obecnˇeji, m´ame k dvojic bod˚ u (p1 , q1 ), . . . , (pk , qk ), kde pi ∈ Rn a qi ∈ Rm . Kolik dvojic potˇrebujeme, aby existovalo jedin´e afinn´ı zobrazen´ı f tak, ˇze f (pi ) = qi , i = 1, . . . , k?
3.10. Zjisti, zda existuje line´arn´ı funkce f splˇ nuj´ıc´ı tyto podm´ınky: a) f (1, 2) = 2, f (3, 4) = 3. b) f (1, 2) = 2, f (3, 4) = 3, f (5, 6) = 4. c) f (1, 0, 1) = −1, f (0, 1, 2) = 1, f (1, 1, 3) = 2. 3.11. K dan´e matici A hled´ame libovoln´y nenulov´y vektor x takov´y, ˇze Ax = 0. a) Navrhnˇete verzi Gaussovy eliminaˇcn´ı metody, kter´a takov´e x najde, pˇr´ıp. pozn´a, ˇze takov´e x neexistuje. b) Na z´akladˇe toho navrhnˇete algoritmus, kter´y najde b´azi nulov´eho prostoru matice A.
N´ apovˇ eda a ˇ reˇ sen´ı 3.1.a) Line´arn´ı podprostor, dimenze n − 1 pro a 6= 0 a n pro a = 0.
3.1.b) Afinn´ı podprostor dimenze n − 1 pro a 6= 0 a n pro a = 0, b = 0. Pro a = 0, b 6= 0 je mnoˇzina pr´ azdn´ a (tedy nen´ı afinn´ı podprostor). 3.1.c) Nen´ı line´ arn´ı ani afinn´ı podprostor (je to sf´era). 3.1.d) Pro n = 1 je mnoˇzinou jedin´ y bod, tedy afinn´ı podprostor prostoru R. Pro n > 1 je mnoˇzina je pr´ azdn´ a (tedy nen´ı afinn´ı podprostor), protoˇze soustava axT = I nem´ a ˇreˇsen´ı pro ˇz´adn´e a, x (moˇzn´ y d˚ ukaz: je rank I = n, ale rank(axT ) ≤ 1).
3.1.e) Line´arn´ı podprostor dimenze n − 1. 0 y3 −y2 0 y1 je antisymetrick´a hodnosti 2. 3.2. Je line´ arn´ı, A = −y3 y2 −y1 0 0 1 1 x . 3.3. Je afinn´ı. Je f (x) = Ax + b, kde A = 2 0 b = (0, −1, 0) = −1 , x = (x, y) = y 0 1 −1
3.5.a) rng A = R2 a tedy b´ aze rng A je napˇr. I2 . B´aze null A je napˇr. (1, 1, 3). 3.5.b) B´aze rng A je napˇr. (2, 1, 1), (1, −1, 2). B´aze null A je napˇr. (0, 0).
3.6.
rng A = rng B je ekvivalentn´ı rank A = rank[A B] = rank B.
28
3.9.
Reˇs´ıme soustavu qi = Api + b, i = 1, . . . , k, pro A, b.
3.10.a) Je f (x1 , x2 ) = a1 x1 + a2 x2 . Reˇs´ıme soustavu a1 + 2a2 = 2, 3a1 + 4a2 = 3. Tato soustava m´ a ˇreˇsen´ı, tedy line´ arn´ı funkce existuje. 3.10.b) Ano. 3.10.c) Ne. 3.11.b) Hledejte vektory b´ aze jeden po druh´em.
29
Kapitola 4 Ortogonalita 4.1
Standardn´ı skal´ arn´ı souˇ cin
Prostor Rn je pˇrirozenˇe vybaven standardn´ım skal´ arn´ım souˇ cinem xT y = x1 y1 + · · · + xn yn . Skal´arn´ı souˇcin splˇ nuje Cauchy-Schwarzovu nerovnost (xT y)2 ≤ (xT x)(yT y). Standardn´ı skal´arn´ı souˇcin indukuje eukleidovskou normu1 √ kxk2 = xT x = (x21 + · · · + x2n )1/2 , Norma splˇ nuje troj´ uheln´ıkovou nerovnost kx + yk2 ≤ kxk2 + kyk2 , kter´a snadno plyne z Cauchyovy-Schwarzovy nerovnosti (umocnˇete a rozn´asobte). Norma mˇeˇr´ı d´elku vektoru x. ´ Uhel ϕ dvojice vektor˚ u se spoˇc´ıt´a jako cos ϕ =
xT y . kxk2 kyk2
Eukleidovsk´a norma indukuje eukleidovskou metriku d(x, y) = kx − yk2 , kter´a mˇeˇr´ı vzd´alenost bod˚ u x a y. Protoˇze pro n = 3 takto definovan´e pojmy d´elky, u ´hlu a vzd´alenosti dobˇre modeluj´ı prostor, ve kter´em ˇzijeme, prostoru Rn se standardn´ım skal´arn´ım souˇcinem se ˇcasto ˇr´ık´a Eukleidovsk´ y prostor.
4.2
Ortogon´ aln´ı vektory a podprostory
Dva vektory nazveme ortogon´ aln´ı (kolm´e), pokud xT y = 0, znaˇc´ıme tak´e x ⊥ y. Vektor y ∈ Rn je ortogon´ aln´ı na podprostor X ⊆ Rn (coˇz znaˇc´ıme y ⊥ X), je-li x ⊥ y pro kaˇzd´e x ∈ X. Pro testov´an´ı t´eto podm´ınky staˇc´ı ovˇeˇrit, ˇze y je kolm´y na kaˇzd´y b´azov´y vektor podprostoru X. Opravdu, plat´ı-li xTi y = 0 pro kaˇzd´e i = 1, . . . , k, pak plat´ı tak´e (α1 x1 + · · · + αk xk )T y = 0. 1
Pro eukleidovskou normu pouˇz´ıv´ ame symbol k · k2 m´ısto pouh´eho k · k, nebot’ pozdˇeji potk´ame i jin´e normy.
30
Podprostory X, Y ⊆ Rn jsou ortogon´ aln´ı (znaˇc´ıme X ⊥ Y ), je-li x ⊥ y pro kaˇzd´e x ∈ X a y ∈ Y . To lze napsat i jako y ⊥ X pro kaˇzd´e y ∈ Y . Ortogon´ aln´ı doplnˇ ek podprostoru X ⊆ Rn je mnoˇzina X ⊥ = { y ∈ Rn | y ⊥ X }
(4.1)
vˇsech vektor˚ u z Rn kolm´ych na podprostor X. Pˇ r´ıklad 4.1. Dvˇe na sebe kolm´e pˇr´ımky v R3 proch´azej´ıc´ı poˇc´atkem jsou ortogon´aln´ı podprostory, nejsou ale ortogon´aln´ı doplnˇek jeden druh´eho. Ortogon´aln´ı doplnˇek k pˇr´ımce v R3 proch´azej´ıc´ı poˇc´atkem je rovina proch´azej´ıc´ı poˇc´atkem, kter´a je na tuto pˇr´ımku kolm´a. Pˇ r´ıklad 4.2. Mˇejme podprostor X = span{(1, 2, 3), (0, 1, −1)}. Jeho ortogon´aln´ı doplnˇek X ⊥ je mnoˇzina vˇsech vektor˚ u (x1 , x2 , x3 ) splˇ nuj´ıc´ıch soustavu rovnic x1 + 2x2 + 3x3 = 0 x2 − x3 = 0.
Nˇekter´e vlastnosti ortogon´aln´ıho doplˇ nku: • (X ⊥ )⊥ = X. Z toho plyne, ˇze pokud X ⊥ = Y , pak tak´e Y ⊥ = X. Tedy podprostory X, Y jsou ortogon´aln´ım doplˇ nkem jeden druh´eho. • dim X + dim(X ⊥ ) = n
4.2.1
ˇ ri podprostory definovan´ Ctyˇ e matic´ı
Kaˇzd´a matice A ∈ Rm×n generuje ˇctyˇri z´ akladn´ı podprostory: n m • rng A = { Ax | x ∈ R } ⊆ R je line´arn´ı obal sloupc˚ u A,
• null A = { x ∈ Rn | Ax = 0 } ⊆ Rn je mnoˇzina vˇsech vektor˚ u kolm´ych na ˇr´adky A,
• rng(AT ) = { AT x | x ∈ Rm } ⊆ Rn je line´arn´ı obal ˇr´adk˚ u A,
• null(AT ) = { x ∈ Rm | AT x = 0 } ⊆ Rm je mnoˇzina vˇsech vektor˚ u kolm´ych na sloupce A. (viz rovnosti (3.7) a (3.8)). Tyto podprostory jsou sv´az´any vztahy (rng A)⊥ = null(AT ).
(4.2a)
(null A)⊥ = rng(AT ),
(4.2b)
Tyto vztahy okamˇzitˇe plynou z definice ortogon´aln´ıho doplˇ nku. Staˇc´ı si uvˇedomit (dokaˇzte!), ˇze y ⊥ span{x1 , . . . , xk } plat´ı pr´avˇe tehdy, kdyˇz y ⊥ xi pro kaˇzd´e i = 1, . . . , k. Tedy jsou-li napˇr. a1 , . . . , an sloupce matice A, je (rng A)⊥ = { y ∈ Rm | y ⊥ span{a1 , . . . , an } } = { y ∈ Rm | aT1 y = · · · = aTn y = 0 } = null(AT ).
4.3
Matice s ortonorm´ aln´ımi sloupci
Vektor u nazveme normalizovan´ y, pokud m´a jednotkovou d´elku (kuk2 = 1 = uT u). Mnoˇzinu vektor˚ u {u1 , . . . , un } nazveme ortonorm´ aln´ı, pokud kaˇzd´y vektor z t´eto mnoˇziny je normalizovan´y a kaˇzd´a dvojice vektor˚ u z t´eto mnoˇziny je ortogon´aln´ı, tedy ( 0 kdyˇz i 6= j, (4.3) uTi uj = 1 kdyˇz i = j. 31
Ortonorm´aln´ı mnoˇzina vektor˚ u je line´arnˇe nez´avisl´a. Pro d˚ ukaz vyn´asobme levou stranu implikace (3.2) skal´arnˇe vektorem ui , coˇz d´a 0 = uTi 0 = α1 uTi u1 + · · · + αn uTi un = αi uTi ui = αi . tedy αi = 0. Kdyˇz toto udˇel´ame pro kaˇzd´e i, m´ame α1 = · · · = αn = 0. Necht’ sloupce matice U ∈ Rm×n tvoˇr´ı ortonorm´aln´ı mnoˇzinu vektor˚ u. Protoˇze ortonorm´aln´ı vektory jsou line´arnˇe nez´avisl´e, je nutnˇe m ≥ n. Podm´ınku ortonormality (4.3) sloupc˚ u matice U lze ps´at struˇcnˇe jako UT U = In . (4.4) Line´arn´ı zobrazen´ı f(x) = Ux (zobrazen´ı z Rn do Rm ) zachov´av´a skal´arn´ı souˇcin, nebot’ f(x)T f (y) = (Ux)T (Uy) = xT UT Uy = xT y. Pro x = y dostaneme, ˇze se zachov´av´a tak´e eukleidovsk´a norma, kf (x)k2 = kUxk2 = kxk2 . Tedy zobrazen´ı f zachov´av´a d´elky a u ´hly. Takov´a zobrazen´ı se naz´yvaj´ı isometrie. Pokud je matice U ˇctvercov´a (m = n), n´asleduj´ıc´ı podm´ınky jsou ekvivalentn´ı: UT U = I
⇐⇒
UT = U−1
⇐⇒
UUT = I.
(4.5)
D˚ ukaz nen´ı tˇeˇzk´y. Protoˇze sloupce U jsou ortonorm´aln´ı, jsou line´arnˇe nez´avisl´e a U je regul´arn´ı. Vyn´asoben´ım lev´e rovnice matic´ı U−1 zprava z´ısk´ame prostˇredn´ı rovnici. Vyn´asoben´ım prostˇredn´ı rovnice matic´ı U zleva z´ısk´ame pravou rovnici. Zbyl´e implikace dok´aˇzeme analogicky. Ekvivalence (4.5) ˇr´ık´a, ˇze m´a-li ˇctvercov´a matice ortonorm´aln´ı sloupce, m´a ortonorm´aln´ı i ˇ ˇr´adky. D´ale ˇr´ık´a, ˇze inverze takov´e matice se spoˇc´ıt´a jednoduˇse transpozic´ı. Ctvercov´ e matici splˇ nuj´ıc´ı podm´ınky (4.5) se ˇr´ık´a ortogon´ aln´ı matice. Zd˚ uraznˇeme, ˇze pokud U je obd´eln´ıkov´a s ortonorm´aln´ımi sloupci, neplat´ı UUT = I. D´ale, pokud m´a U ortogon´aln´ı (ne vˇsak ortonorm´aln´ı) sloupce, nemus´ı m´ıt ortogon´aln´ı ˇr´adky2 . Necht’ U je ortogon´aln´ı matice. Vezmeme-li determinant obou stran rovnice UT U = I, m´ame det(UT U) = det(UT ) det U = (det U)2 = 1. Tedy det U m˚ uˇze nab´yvat dvou hodnot: • Pokud det U = 1, matici se ˇr´ık´a speci´ aln´ı ortogon´ aln´ı nebo tak´e rotaˇ cn´ı, protoˇze n zobrazen´ı f(x) = Ux (coˇz je zobrazen´ı z R do sebe) znamen´a otoˇcen´ı vektoru x okolo poˇc´atku. Kaˇzdou rotaci v prostoru Rn lze jednoznaˇcnˇe reprezentovat rotaˇcn´ı matic´ı. • Pokud det U = −1, zobrazen´ı f je sloˇzen´ım otoˇcen´ı a zrcadlen´ı (reflexe) kolem nadroviny proch´azej´ıc´ı poˇc´atkem. Pˇ r´ıklad 4.3. Vˇsechny rotaˇcn´ı matice 2 × 2 lze napsat jako cos ϕ − sin ϕ U= sin ϕ cos ϕ pro nˇejak´e ϕ. N´asoben´ı vektoru touto matic´ı odpov´ıd´a otoˇcen´ı vektoru v rovinˇe o u ´hel ϕ. T T Zkontrolujte si, ˇze U U = I = UU a det U = 1. 2
To je moˇzn´a d˚ uvod, proˇc se ˇctvercov´e matici s ortonorm´aln´ımi sloupci (tedy i ˇr´adky) neˇr´ık´ a ‘ortonorm´ aln´ı’, ale ‘ortogon´ aln´ı’. Obd´eln´ıkov´a matice s ortonorm´aln´ımi sloupci a ˇctvercov´a matice s ortogon´aln´ımi (ne vˇsak ortonorm´aln´ımi) sloupci zvl´aˇstn´ı jm´ena nemaj´ı.
32
Pˇ r´ıklad 4.4. Zrcadlen´ı (neboli reflexe) v R2 kolem pˇr´ımky proch´azej´ıc´ı poˇc´atkem a smˇernic´ı tan(ϕ/2) je reprezentov´ano ortogon´aln´ı matic´ı cos ϕ sin ϕ U= . sin ϕ − cos ϕ Pˇ r´ıklad 4.5. Permutaˇ cn´ı matice je ˇctvercov´a matice, jej´ıˇz sloupce jsou permutovan´e vektory standardn´ı b´aze. Napˇr. 0 1 0 e3 e1 e2 = 0 0 1 . 1 0 0
Permutaˇcn´ı matice je ortogon´aln´ı (dokaˇzte!) a jej´ı determinant je rovn´y znam´enku permutace.
4.4
QR rozklad
Matice A je horn´ı troj´ uheln´ıkov´ a, pokud aij = 0 pro kaˇzd´e i > j (neboli pod hlavn´ı diagon´alou jsou nuly) a je doln´ı troj´ uheln´ıkov´ a, pokud aij = 0 pro kaˇzd´e i < j (neboli nad hlavn´ı diagon´alou jsou nuly). Horn´ı/doln´ı troj´ uheln´ıkov´a matice nemus´ı b´yt ˇctvercov´a. Vˇ eta 4.1. Kaˇzdou matici A ∈ Rm×n lze rozloˇzit na souˇcin A = QR,
(4.6)
kde matice Q ∈ Rm×m je ortogon´aln´ı a matice R ∈ Rm×n je horn´ı troj´ uheln´ıkov´a. Pokud A je obd´eln´ıkov´a u ´zk´a (m > n), m´a matice R posledn´ıch m − n ˇr´adk˚ u nulov´ych (viz definice doln´ı troj´ uheln´ıkov´e matice) a tedy R1 = Q1 R1 (4.7) A = QR = Q1 Q2 0
kde Q1 ∈ Rm×n , Q2 ∈ Rm×(n−m) , R1 ∈ Rn×n . Rozkladu A = Q1 R1 se ˇr´ık´a redukovan´y QR rozklad a rozkladu (4.6) pln´y QR rozklad. V Matlabu je pln´y QR rozklad implementov´an pˇr´ıkazem [Q,R]=qr(A) a redukovan´y pˇr´ıkazem [Q,R]=qr(A,0). Zkoumejte tyto pˇr´ıkazy pomoc´ı help qr! Zaj´ımav´e vlastnosti QR rozkladu: • Jelikoˇz sloupce Q jsou line´arnˇe nez´avisl´e, podle (3.13d) je null A = null R. Z rovnosti (3.12) pak m´ame rank A = rank R. • Pokud A m´a line´arnˇe nez´avisl´e sloupce, vztah rank A = rank R znamen´a, ˇze R1 je regul´arn´ı. Podle (3.13b) je tedy rng A = rng Q1 . Vid´ıme, ˇze v tomto pˇr´ıpadˇe lze redukovan´y QR rozklad ch´apat jako nalezen´ı ortonorm´aln´ı b´aze podprostoru rng A. • Jelikoˇz Q je ortogon´aln´ı a Q1 , Q2 maj´ı ortonorm´aln´ı sloupce, je (rng Q1 )⊥ = rng Q2 . ˇ s´ıme-li QR rozklad m´a mnoho aplikac´ı. Typick´e je jeho uˇzit´ı na ˇreˇsen´ı line´arn´ıch soustav. Reˇ T soustavu Ax = b, rozloˇz´ıme A = QR a vyn´asob´ıme soustavu zleva Q , coˇz d´a Rx = QT b.
(4.8)
Toto je ekvivalentn´ı u ´prava, nebot’ Q je regul´arn´ı. Ale protoˇze je R troj´ uheln´ıkov´a, soustavu jsme velmi zjednoduˇsili. Napˇr. pokud je A ˇctvercov´a regul´arn´ı, jedin´e ˇreˇsen´ı soustavy (4.8) lze levnˇe naj´ıt zpˇetnou substituc´ı. 33
4.4.1
(⋆) Gramm-Schmidtova ortonormalizace
Gramm-Schmidtova ortonormalizace je algoritmus, kter´y pro dan´e line´arnˇe nez´avisl´e vektory a1 , . . . , an ∈ Rm najde vektory q1 , . . . , qn ∈ Rm takov´e, ˇze • q1 , . . . , qn jsou ortonorm´aln´ı,
• pro kaˇzd´e k = 1, . . . , n plat´ı span{q1 , . . . , qk } = span{a1 , . . . , ak }. Myˇslenka algoritmu je n´asleduj´ıc´ı. Pˇredpokl´adejme, ˇze jiˇz m´ame vektory q1 , . . . , qk−1. K vektoru ak pˇriˇcteme takovou line´arn´ı kombinaci vektor˚ u q1 , . . . , qk−1 , aby v´ysledek byl na vˇsechny z nich ortogon´aln´ı. Pot´e tento vektor normalizujeme. Tedy q′k
= ak −
k−1 X
rjk qj ,
q′k . kq′k k2
qk =
j=1
(4.9)
Jak najdeme koeficienty rjk ? Z iterace (4.9) vypl´yv´a, ˇze ak =
k−1 X
rjk qj + rkk qk =
j=1
k X
rjk qj ,
(4.10)
j=1
kde jsme oznaˇcili kq′k k2 = rkk . Vztah (4.10) n´am dovoluje spoˇc´ıtat koeficienty rjk z poˇzadavku na ortonormalitu vektor˚ u q1 , . . . , qk . Jeho vyn´asoben´ım vektorem qi (pro libovoln´e i) dostaneme rik = qTi ak .
(4.11)
Algoritmus provede iteraci (4.9) pro k = 1, . . . , n. Zde je bˇeh algoritmu pro n = 3: q′1 = a1 ,
q1 = q′1 /kq′1 k2
q′2 = a2 − (qT1 a1 )q1 ,
q′3 = a3 − (qT1 a1 )q1 − (qT2 a2 )q2 ,
q2 = q′2 /kq′2 k2
q3 = q′3 /kq′3 k2
Vˇsimnˇete si, ˇze v´yraz (qTj aj )qj je ortogon´aln´ı projekce vektoru aj do jednotkov´eho vektoru qj (viz §5.1.2). Vˇsechny rovnosti (4.10) lze napsat v maticov´em tvaru A = QR, kde vektory a1 , . . . , an jsou sloupce matice A, vektory q1 , . . . , qn jsou sloupce matice Q, a matice R = [rik ] je horn´ı troj´ uheln´ıkov´a. Vyn´asoben´ım rovnosti A = QR zleva matic´ı QT dostaneme QT A = R, coˇz jsou (dle (2.8)) rovnosti (4.11). Vylepˇsenou formu Gramm-Schmidtovy ortonormalizace lze pouˇz´ıt pro poˇc´ıt´an´ı QR rozkladu (ˇc´ımˇz bychom tedy dok´azali Vˇetu 4.1). Vylepˇsen´ı jednak zmenˇs´ı zaokrouhlovac´ı chyby a jednak dovol´ı line´arn´ı z´avislost sloupc˚ u A.
4.5
Cviˇ cen´ı
4.1. Najdˇete b´azi ortogon´aln´ıho doplˇ nku prostoru span{(0, 1, 1), (1, 2, 3)}. 4.2. Najdˇete ortonorm´aln´ı b´azi podprostoru span{ (1, 1, 1, −1), (2, −1, −1, 1), (−1, 2, 2, 1) } pomoc´ı QR rozkladu (pouˇzijte Matlab). 4.3. Dokaˇzte, ˇze souˇcin ortogon´aln´ıch matic je ortogon´aln´ı matice. 34
4.4. Pro jak´e n je matice diag(−1n ) (tedy diagon´aln´ı matice se sam´ymi m´ınus jedniˇckami na diagon´ale) rotaˇcn´ı? 4.5. Poˇcet nez´avisl´ych parametr˚ u (stupˇ n˚ u volnosti) ortogon´aln´ı matice n × n se z´ısk´a jako 2 rozd´ıl poˇctu prvk˚ u matice (n ) a poˇctu nez´avisl´ych rovnic v podm´ınce UT U = I. Neform´alnˇe ˇreˇceno ud´av´a, kolika ‘knofl´ıky’ m˚ uˇzeme nez´avisle ‘kroutit’ pˇri rotaci v n-rozmˇern´em prostoru. Jak´e je toto ˇc´ıslo pro n = 2, 3, 4? Najdˇete vzorec pro obecn´e n. 4.6. Zobrazen´ı F: Rn×n → Rn×n je dan´e vzorcem F(A) = (I − A)(I + A)−1 . Pˇredpokl´adejte, ˇze A je takov´a, ˇze I + A je regul´arn´ı. Dokaˇzte, ˇze: a) b) c) d) e)
Pro kaˇzdou A je (I − A)(I + A) = (I + A)(I − A). Pro kaˇzdou A je (I − A)(I + A)−1 = (I + A)−1 (I − A). Pro kaˇzdou antisymetrickou A je F(A) ortogon´aln´ı. Pro kaˇzdou ortogon´aln´ı A je F(A) antisymetrick´a. Zobrazen´ı F je inverz´ı sama sebe, tedy F(F(A)) = A pro kaˇzd´e A.
Pˇred d˚ ukazy na pap´ıˇre se pˇresvˇedˇcte v Matlabu, ˇze tvrzen´ı plat´ı pro n´ahodn´e matice. 4.7. Pokud kxk2 = kyk2 , dokaˇzte, ˇze (x + y) ⊥ (x − y). V prostoru R2 nakreslete vektory x + y a x − y.
4.8. Mˇejme vektory x1 = (1, −1, 0, 2), x2 = (1, 1, 1, 0), x3 = (−1, −1, 2, 0). Ovˇeˇrte, ˇze vektory jsou vz´ajemnˇe ortogon´aln´ı. Najdˇete nenulov´y vektor x4 , kter´y je ortogon´aln´ı na vektory x1 , x2 , x3 . 4.9. Najdˇete dva ortogon´aln´ı vektory x, y takov´e, ˇze span{x, y} = span{(0, 1, 1), (1, 2, 3)}. −1 2 2 1 4.10. Spoˇctˇete co nejjednoduˇsˇs´ım zp˚ usobem inverzi matice 2 −1 2. 3 2 2 −1
4.11. Necht’ X, Y jsou podprostory Rn . Definujme X + Y = { x + y | x ∈ X, y ∈ Y }. Dokaˇzte: a) X ⊆ Y =⇒ X ⊥ ⊇ Y ⊥ b) X + Y = span{x1 , . . . , xk , y1 , . . . , yl } kde {x1 , . . . , xk } je b´aze podprostoru X a {y1 , . . . , yl } je b´aze podprostoru Y c) (⋆) (X + Y )⊥ = X ⊥ ∩ Y ⊥ d) (X ∩ Y )⊥ = X ⊥ + Y ⊥ 4.12. Jak byste levnˇe spoˇc´ıtali absolutn´ı hodnotu determinantu matice z jej´ıho QR rozkladu? 4.13. M´ame ortogon´aln´ı matici U = U1 U2 sloˇzenou ze dvou blok˚ u U1 a U2 . Dokaˇzte, ˇze a) UT1 U1 = I, UT2 U2 = I b) rng U1 = (rng U2 )⊥ c) U1 UT1 + U2 UT2 = I
N´ apovˇ eda a ˇ reˇ sen´ı 4.1. 4.2. 4.4.
Napˇr. (1, 1, −1)
√ √ B´aze je { (1, 1, 1, −1)/2, (3, −1, −1, 1)/ 12, (0, 1, 1, 2)/ 6 }
Mus´ı b´ yt det diag(−1n ) = (−1)n > 0, tedy pro sud´a n.
35
4.5.
n 2
= n(n − 1)/2
4.8.
x4 = (−1, 1, 0, 1).
4.9.
Zvol´ıme y = (1, 2, 3) − rx, kde r ∈ R spoˇc´ıt´ame z xT y = 0. Tedy r = duchu Gramm-Smidtovy ortogonalizace.)
4.10. Nen´ı matice n´ ahodou ortogon´ aln´ı? 4.11.c) Plyne z (b). 4.11.d) Plyne z (c) s pouˇzit´ım (X ⊥ )⊥ = X.
36
5 2
a y = (1, − 12 , 21 ). (V
Kapitola 5 Nehomogenn´ı line´ arn´ı soustavy Mˇejme soustavu m line´arn´ıch rovnic o n nezn´am´ych Ax = b,
(5.1)
kde A ∈ Rm×n , x ∈ Rn , b ∈ Rm . Soustava m´a (aspoˇ n jedno) ˇreˇsen´ı pr´avˇe tehdy, kdyˇz b ∈ rng A (tedy b je line´arn´ı kombinac´ı sloupc˚ u A), coˇz lze ps´at tak´e jako rank[A b] = rank A (Frobeniova vˇeta). Pokud je mnoˇzina ˇreˇsen´ı soustavy nepr´azdn´a, je to afinn´ı podprostor Rn (viz Cviˇcen´ı 3.4). Soustava je homogenn´ı pokud b = 0 a nehomogenn´ı pokud b 6= 0. V t´eto kapitole se zamˇeˇr´ıme pouze na nehomogenn´ı soustavy. Rozliˇsme tˇri pˇr´ıpady: • Soustava nem´a ˇreˇsen´ı. To nastane pr´avˇe tehdy, kdyˇz b ∈ / rng A. Takov´a soustava se ˇcasto naz´yv´a pˇ reurˇ cen´ a. V tom pˇr´ıpadˇe m˚ uˇzeme cht´ıt ˇreˇsit soustavu pˇribliˇznˇe, coˇz je t´ematem §5.1. • Soustava m´a pr´avˇe jedno ˇreˇsen´ı. To nastane pr´avˇe tehdy, kdyˇz b ∈ rng A a matice A m´a line´arnˇe nez´avisl´e sloupce (tedy jej´ı nulov´y prostor je trivi´aln´ı).
• Soustava m´a nekoneˇcnˇe mnoho ˇreˇsen´ı. To nastane pr´avˇe tehdy, kdyˇz b ∈ rng A a matice A m´a line´arnˇe z´avisl´e sloupce. Takov´a soustava se ˇcasto naz´yv´a nedourˇ cen´ a. V tom pˇr´ıpadˇe m˚ uˇzeme cht´ıt z mnoˇziny ˇreˇsen´ı vybrat jedin´e, coˇz je t´ematem §5.2.
5.1
Pˇ ribliˇ zn´ eˇ reˇsen´ı ve smyslu nejmenˇs´ıch ˇ ctverc˚ u
uˇzeme znaˇcit Ax ≈ b). Hledejme Pokud soustava (5.1) nem´a ˇreˇsen´ı, ˇreˇsme ji pˇribliˇznˇe (coˇz m˚ takov´e x, aby eukleidovsk´a norma vektoru r = b−Ax zbytk˚ u (neboli rezidu´ı) byla co nejmenˇs´ı. ´ Uloha se nezmˇen´ı (proˇc?), kdyˇz m´ısto eukleidovsk´e normy budeme minimalizovat jej´ı ˇctverec 2 krk22 = rT r = r12 + · · · + rm . Tedy ˇreˇs´ıme u ´lohu min kAx − bk22 .
x∈Rn
(5.2)
Protoˇze minimalizujeme souˇcet ˇctverc˚ u rezidu´ı, mluv´ıme o pˇribliˇzn´em ˇreˇsen´ı soustavy ve smyslu nejmenˇ s´ıch ˇ ctverc˚ u (least squares solution). Pˇ r´ıklad 5.1. Soustava tˇrech rovnic o dvou nezn´am´ych x + 2y = 6 −x + y = 3 x+ y=4 37
je pˇreurˇcen´a. Jej´ı pˇribliˇzn´e ˇreˇsen´ı ve smyslu nejmenˇs´ıch ˇctverc˚ u znamen´a naj´ıt takov´a ˇc´ısla x, y, 2 2 kter´a minimalizuj´ı ˇc´ıslo (x + 2y − 6) + (−x + y − 3) + (x + y − 4)2 . Pˇ r´ıklad 5.2. Hledejme pˇr´ıˇcku (nejkratˇs´ı spojnici) dvou mimobˇeˇzn´ych pˇr´ımek v prostoru Rn . Necht’ i-t´a pˇr´ımka je zad´ana dvˇema body, kter´e na n´ı leˇz´ı, oznaˇcme je pi , qi ∈ Rn pro i = 1, 2. ˇ s´ıme pˇreurˇcenou soustavu Chceme tuto u ´lohu zformulovat ve tvaru (5.2). Reˇ p1 + t1 (q1 − p1 ) ≈ p2 + t2 (q2 − p2 ) n rovnic a 2 nezn´am´ych ve smyslu nejmenˇs´ıch ˇctverc˚ u, tedy ˇreˇs´ıme u ´lohu min k(p1 + t1 (q1 − p1 )) − (p2 + t2 (q2 − p2 ))k22 . t1 ,t2
To jde napsat jako (5.2), kde A = q1 − p1 p2 − q2 ∈ Rn×2 ,
t x = 1 ∈ R2 , t2
b = p2 − p1 ∈ Rn .
´ ´vahou. Pokud kAx − bk2 (tedy vzd´alenost bod˚ u Ax a b) Ulohu (5.2) vyˇreˇs´ıme n´asleduj´ıc´ı u m´a b´yt minim´aln´ı, mus´ı b´yt vektor b − Ax kolm´y na prostor rng A, tedy na kaˇzd´y sloupec matice A. Obr´azek ukazuje situaci:
X?
Ax = Pb 0
b
X = rng A
b Ax = (I P)b
Tuto podm´ınku lze zapsat jako AT (Ax − b) = 0, tedy AT Ax = AT b.
(5.3)
Soustava (5.3) se proto naz´yv´a norm´ aln´ı rovnice (norm´ala = kolmice). Je to soustava n rovnic o n nezn´am´ych. Soustava (5.3) m´a ˇreˇsen´ı pro libovoln´e A a b. To je sice intuitivnˇe zˇrejm´e z naˇs´ı geometrick´e u ´vahy, ovˇsem nen´ı to d˚ ukaz. D˚ ukaz plyne z rovnosti (3.14a), nebot’ AT b ∈ rng(AT ) = rng(AT A), kde rng(AT A) = rng(AT ) je rovnost (3.14a) pouˇzit´a na matici AT . Dle rovnosti (3.14a) je matice AT A regul´arn´ı pr´avˇe tehdy, kdyˇz matice A m´a hodnost n (tedy line´arnˇe nez´avisl´e sloupce). V tom pˇr´ıpadˇe m˚ uˇzeme soustavu (5.3) ˇreˇsit pomoc´ı inverze. + ˇ Reˇsen´ım je vektor x = A b, kde A+ = (AT A)−1 AT .
(5.4)
Matice (5.4) se naz´yv´a pseudoinverze u ´ zk´ e matice A. Je to jedna z lev´ych inverz´ı matice A, nebot’ A+ A = (AT A)−1 AT A = I. M´a-li matice A line´arnˇe z´avisl´e sloupce, vzorec (5.4) nelze pouˇz´ıt. V tom pˇr´ıpadˇe soustava (5.3), a tedy i u ´loha (5.2), maj´ı nekoneˇcnˇe mnoho (afinn´ı podprostor) ˇreˇsen´ı (pozor, to je nˇeco jin´eho, neˇz ˇze soustava (5.1) m´a nekoneˇcnˇe mnoho ˇreˇsen´ı!). 38
5.1.1
ˇ sen´ı pomoc´ı QR rozkladu Reˇ
I kdyˇz m´a matice A line´arnˇe nez´avisl´e sloupce, ˇreˇsen´ı pomoc´ı pseudoinverze (5.4) nemus´ı b´yt vhodn´e pro numerick´e v´ypoˇcty, kdy nezbytnˇe pouˇz´ıv´ame aritmetiku s koneˇcnou pˇresnost´ı. ˇ sme soustavu Ax = b pro Pˇ r´ıklad 5.3. Reˇ 3 6 , A= 1 2.01
9 . b= 3.01
Matice A je regul´arn´ı. Dejme tomu, ˇze pouˇz´ıv´ame aritmetiku s pohyblivou ˇr´adovou ˇc´arkou s pˇresnost´ı na 3 platn´e cifry. Gaussova eliminace najde pˇresn´e ˇreˇsen´ı soustavy x = (1, 1). Pokud ovˇsem v t´eto aritmetice zformulujeme norm´aln´ı rovnici AT Ax = AT b, dostaneme 30 10 20 T T . , A b= A A= 60.1 20 40 I kdyˇz v pˇresn´e aritmetice je matice AT A regul´arn´ı, v naˇs´ı pˇribliˇzn´e aritmetice doˇslo v souˇcinu AT A doˇslo k zaokrouhlen´ı a v´ysledn´a matice je singul´arn´ı. Tedy soustava AT Ax = AT b nem´a ˇreˇsen´ı. Numericky vhodnˇejˇs´ı zp˚ usob je ˇreˇsit norm´aln´ı rovnici bez explicitn´ıho v´ypoˇctu souˇcinu AT A. To lze udˇelat pomoc´ı redukovan´eho QR rozkladu A = QR. Po dosazen´ı do norm´aln´ı rovnice m´ame RT QT QRx = RT QT b. Po uˇzit´ı QT Q = I a n´asoben´ı matic´ı R−T zleva (coˇz je ekvivalentn´ı operace) m´ame Rx = QT b. (5.5) To je form´alnˇe stejn´y vzorec jako (4.8), rozd´ıl je ale v tom, ˇze v (4.8) jsme pouˇzili pln´y QR rozklad, zat´ımco zde redukovan´y. Tedy soustava (5.5) nen´ı ekvivalentn´ı p˚ uvodn´ı soustavˇe Ax = b (protoˇze Q nen´ı ˇctvercov´a). V Matlabu je ˇreˇsen´ı nehomogenn´ı line´arn´ı soustavy implementov´ano v oper´atoru \ (zpˇetn´e lom´ıtko). Pokud je soustava pˇreurˇcen´a, v´ysledkem je pˇribliˇzn´e ˇreˇsen´ı ve smyslu nejmenˇs´ıch ˇctverc˚ u, pˇriˇcemˇz pouˇzit´y algoritmus pouˇz´ıv´a QR rozklad. Pochopte vˇsechny funkce oper´ator˚ u lom´ıtko a zpˇetn´e lom´ıtko pomoc´ı studia pˇr´ıkaz˚ u help mrdivide a help mldivide!
5.1.2
V´ıce o ortogon´ aln´ı projekci
Rozviˇ nme geometrickou u ´vahu, pomoc´ı niˇz jsme odvodili norm´aln´ı rovnici. Pokud x je ˇreˇsen´ı norm´aln´ı rovnice, vektor Ax je ortogon´aln´ı projekc´ı vektoru b na podprostor X = rng A (viz obr´azek v´yˇse). Pokud A m´a line´arnˇe nez´avisl´e sloupce (tj. tyto sloupce tvoˇr´ı b´azi podprostoru X), z (5.4) m´ame Ax = Pb, kde P = AA+ = A(AT A)−1 AT ∈ Rm×m .
(5.6)
Dostali jsme d˚ uleˇzit´y v´ysledek: ortogon´aln´ı projekce vektoru na podprostor X je line´arn´ı zobrazen´ı reprezentovan´e matic´ı P. Proto se tato matice ˇcasto naz´yv´a projektor. Speci´aln´ı pˇr´ıpady: • Pokud X je reprezentov´an ortonorm´aln´ı b´az´ı, tedy AT A = I, v´yraz (5.6) se zjednoduˇs´ı na P = AAT . Pˇripomeˇ nme (viz §4.3), ˇze obd´eln´ıkov´a matice A s ortonorm´aln´ımi sloupci nemus´ı m´ıt ortonorm´aln´ı ˇr´adky, neboli AT A = I neimplikuje AAT = I. Nab´ızela se ot´azka, co je tedy matice AAT . Zde jste dostali odpovˇed’! 39
• Speci´aln´ım pˇr´ıpadem ortogon´aln´ı projekce je pˇr´ıpad dim X = 1, tedy projekce na pˇr´ımku. Necht’ X = span{a}, kde pˇredpokl´ad´ame kak2 = 1. Pak P = aaT . Vzoreˇcek Pb = aaT b = (aT b)a
(5.7)
umˇet vektoru b na normalizovan´y vektor a m´ate zn´at ze stˇredn´ı ˇskoly: skal´arn´ı pro1 pr˚ souˇcin aT b je d´elka pr˚ umˇetu a (aT b)a je vektor o t´eto d´elce ve smˇeru vektoru a. Z naˇs´ı geometrick´e u ´vahy d´ale snadno vid´ıme, co je prostorem obraz˚ u a nulov´ym prostorem m projektoru. Libovoln´y vektor z R se prom´ıtne na podprostor X. Libovoln´y vektor kolm´y na X se prom´ıtne do nulov´eho vektoru 0. Tedy rng P = X = rng A, ⊥
(5.8a) ⊥
null P = X = (rng A) .
(5.8b)
Z obr´azku je d´ale patrno, ˇze vektor b − Ax = b − Pb = (I − P)b je ortogon´aln´ı projekc´ı vektoru b na X ⊥ . Tedy projektor na X ⊥ je matice I − P. Projekce na X ⊥ m´a pˇrirozenou u ´lohu v probl´emu (5.2): hodnota jeho minima je kb − Axk22 = kb − Pbk22 = k(I − P)bk22 . Pozn´ amka. Obecnou projekc´ı se v line´arn´ı algebˇre rozum´ı kaˇzd´e line´arn´ı zobrazen´ı f (y) = Py, kter´e splˇ nuje f(f (y)) = f(y), tedy PP = P2 = P. To vyjadˇruje pochopiteln´y poˇzadavek, ˇze kdyˇz jednou vektor prom´ıtneme, tak dalˇs´ı prom´ıtnut´ı na stejn´y podprostor ho jiˇz nezmˇen´ı. Projekce obecnˇe nemus´ı b´yt ortogon´aln´ı, m˚ uˇze b´yt ˇsikm´a – pak prom´ıt´ame ’ve smˇeru’ podprostoru null P na podprostor rng P. Projekce je ortogon´aln´ı, kdyˇz2 null P ⊥ rng P. To nastane pr´avˇe tehdy, kdyˇz kromˇe P2 = P plat´ı nav´ıc PT = P (d˚ ukaz tohoto tvrzen´ı vynech´ame). Zkontrolujte si, ˇze projektor definovan´y vzorcem (5.6) splˇ nuje P2 = P = PT !
5.1.3
Pˇ r´ıklad pouˇ zit´ı: line´ arn´ı regrese
Regrese je modelov´an´ı z´avislosti promˇenn´e y ∈ R na promˇenn´e t ∈ T regresn´ı funkc´ı y = f (t, x), kter´a je zn´ama aˇz na parametry x ∈ Rn . Je d´an soubor dvojic (ti , yi ), i = 1, . . . , m, kde mˇeˇren´ı ´ yi ∈ R jsou zat´ıˇzena chybou. Ukolem je naj´ıt parametry x, aby yi ≈ f (ti , x) pro vˇsechna i. Minimalizujeme souˇcet ˇctverc˚ u rezidu´ı, tedy ˇreˇs´ıme u ´lohu minn
x∈R
m X i=1
(yi − f (ti , x))2 .
(5.9)
Zvolme regresn´ı funkci tak, aby pro kaˇzd´e t byla line´arn´ı funkc´ı parametr˚ u x. V to pˇr´ıpadˇe mluv´ıme o line´ arn´ı regresi. Takov´a funkce je line´arn´ı kombinac´ı f (t, x) = x1 ϕ1 (t) + · · · + xn ϕn (t) = ϕ(t)T x
(5.10)
Z´ avorka ve v´ yrazu (aT b)a je nutn´a, protoˇze souˇcin v´ yraz˚ u aT b a a nen´ı maticov´ y souˇcin, ale n´ asoben´ı T vektoru skal´arem. V´ yraz bez z´ avorky a ba by byl syntakticky chybn´ y, protoˇze matice b a a nelze vyn´asobit. Biz pozn´amka v §2.1. 2 Pro obecnou ˇctvercovou matici samozˇrejmˇe neplat´ı, ˇze jej´ı nulov´ y prostor a prostor obraz˚ u jsou navz´ ajem ortogon´aln´ı, t´ım m´enˇe ortogon´aln´ım doplˇ nkem. Nepl´est se vztahy (4.2)! 1
40
nˇejak´ych dan´ych funkc´ı3 ϕj : T → R. Pak m X (yi − f (ti , x))2 = ky − Axk22 , i=1
kde y = (y1 , . . . , ym ) a prvky matice A ∈ Rm×n jsou aij = ϕj (ti ) (odvod’te!). Tedy vyj´adˇrili jsme u ´lohu (5.9) ve tvaru (5.2). Pˇ r´ıklad 5.4. Polynomi´aln´ı regrese 4 . Necht’ T = R a ϕj (t) = tj−1 . Pak regresn´ı funkce je polynom stupnˇe n − 1, f (t, x) = x1 + x2 t + x3 t2 + · · · + xn tn−1 . Matice
1 t1 t21 · · · t1n−1 1 t2 t2 · · · tn−1 2 2 A= .. . 2 n−1 1 tm tm · · · tm
je zn´am´a jako Vandermondova matice. P 2 ˇ Speci´ a lnˇ e pro n = 1 u ´ loha (5.9) je min sen´ım je aritmetick´y pr˚ umˇer x = x i (yi − x) . Reˇ P m 1 eˇrte!). i=1 yi (ovˇ m
5.1.4
Statistick´ e od˚ uvodnˇ en´ı krit´ eria nejmenˇ s´ıch ˇ ctverc˚ u
Moˇzn´a se pt´ate, proˇc se m´a nalezen´ı pˇribliˇzn´eho reˇsen´ı pˇreurˇcen´e soustavy formulovat zrovna jako (5.2). Nyn´ı pod´ame statistick´y d˚ uvod, odkud se krit´erium nejmenˇs´ıch ˇctverc˚ u vzalo. Odhadujme skryt´e parametry x nˇejak´eho syst´emu z mˇeˇren´ı y na syst´emu. Budiˇz v´az´any zn´amou line´arn´ı z´avislost´ı y = Ax. Mˇeˇren´ı jsou zat´ıˇzena chybami, kter´e jsou zp˚ usobeny ˇsumem senzor˚ u, nepˇresnostmi mˇeˇren´ı, nedokonalou znalost´ı modelu, apod. Tedy y = Ax + r,
(5.11)
kde r = (r1 , . . . , rm ) jsou n´ahodn´e promˇenn´e modeluj´ıc´ı chyby eˇren´ı y = (y1 , . . . , ym ). Metoda Pm mˇ 2 2 nejmenˇs´ıch ˇctverc˚ u ˇr´ık´a, ˇze m´ame minimalizovat krk2 = i=1 ri , ale neˇr´ık´a proˇc. D˚ uvod odvod´ıme statistickou u ´vahou. Metoda ˇcin´ı dva pˇredpoklady: • N´ahodn´e promˇenn´e ri maj´ı norm´aln´ı (neboli Gaussovo) rozdˇelen´ı s nulovou stˇredn´ı hodnotou a smˇerodatnou odchylkou σ, s hustotou pravdˇepodobnosti 2
2
p(ri ) = c e−ri /(2σ ) , √ −1 je normalizaˇcn´ı konstanta. kde c = σ 2π
• N´ahodn´e promˇenn´e r1 , . . . , rm jsou na sobˇe nez´avisl´e. Tedy sdruˇzen´a hustota pravdˇepodobnosti je rovna souˇcinu p(r) = p(r1 , . . . , rm ) =
m Y i=1
3
p(ri ) =
m Y
2
2
c e−ri /(2σ ) .
(5.12)
i=1
Funkce ϕj se ˇcasto naz´ yvaj´ı b´ azov´e funkce, a to i tehdy (coˇz je protimluv), kdyˇz jsou line´arnˇe z´ avisl´e. Nedejte se zm´ ast t´ım, ˇze polynom nen´ı line´arn´ı funkce a pˇresto jde o line´arn´ı regresi. D˚ uleˇzit´e je, ˇze regresn´ı funkce (5.10) je line´arn´ı v parametrech x. 4
41
D´ale pouˇzijeme princip maxima vˇerohodnosti . Ten ˇr´ık´a, ˇze parametry x se maj´ı naj´ıt tak, aby p(r) = p(y − Ax) bylo maxim´aln´ı. Je pohodlnˇejˇs´ı minimalizovat z´aporn´y logaritmus − log p(r1 , . . . , rm ) = −
m X
log p(ri ) =
i=1
Jelikoˇz σ je konstanta, je to tot´eˇz jako minimalizovat
5.2
ˇ sen´ı s nejmenˇs´ı normou Reˇ
P
m 2 X ri − log c . 2 2σ i=1
2 i ri .
Pˇredpokl´adejme nyn´ı, ˇze soustava (5.1) je nedourˇcen´a, neboli m´a nekoneˇcnˇe mnoho ˇreˇsen´ı. Necht’ x′ je libovoln´y vektor splˇ nuj´ıc´ı Ax′ = b (tzv. partikul´ arn´ı ˇ reˇ sen´ı soustavy). Protoˇze ′ pro kaˇzd´e x ∈ null A je A(x + x) = Ax′ = b, mnoˇzinu ˇreˇsen´ı soustavy lze ps´at parametricky jako { x ∈ Rn | Ax = b } = { x′ + x | x ∈ null A } = x′ + null A. (5.13)
Mnoˇzina (5.13) je afinn´ı podprostor prostoru Rm , je to line´arn´ı podprostor null A prostoru Rn posunut´y o vektor x′ (viz §3.3). Je ˇcasto uˇziteˇcn´e z t´eto mnoˇziny ˇreˇsen´ı vybrat jedin´e podle nˇejak´eho krit´eria. Pˇrirozen´ym krit´eriem je minimalizovat euklidovskou normu (tedy vzd´alenost od poˇc´atku) ˇreˇsen´ı, coˇz vede na u ´lohu min{ kxk22 | x ∈ Rn , Ax = b }. (5.14) M´ısto normy kxk2 opˇet minimalizujeme jej´ı ˇctverec. Tato u ´loha je zn´ama jako ˇreˇsen´ı nehomogenn´ı line´arn´ı soustavy s nejmenˇ s´ı normou (least norm solution). Podotknˇeme, ˇze nˇekdy je vhodn´e pouˇz´ıt jin´a krit´eria neˇz nejmenˇs´ı eukleidovskou normu, viz napˇr. Cviˇcen´ı 9.25. Pˇ r´ıklad 5.5. Soustava dvou rovnic o tˇrech nezn´am´ych x + 2y + z = 1 −x + y + 2z = 2 je nedourˇcen´a, tj. m´a nekoneˇcnˇe mnoho ˇreˇsen´ı. Mnoˇzina ˇreˇsen´ı je (x0 , y0 , z0 ) + null A = (1, −1, 2) + span{(1, −1, 1)} = { (1 + α, −1 − α, 2 + α) | α ∈ R }. Jej´ı ˇreˇsen´ı s nejmenˇs´ı normou je takov´e ˇreˇsen´ı, kter´e minimalizuje ˇc´ıslo x2 + y 2 + z 2 .
´ u, to se ale nauUloha (5.14) by se pohodlnˇe ˇreˇsila metodou Lagrangeov´ych multiplik´ator˚ ˇc´ıme aˇz v pozdˇejˇs´ı kapitole. Nyn´ı ji vyˇreˇs´ıme geometrickou u ´vahou. Tato u ´vaha bude naopak rozcviˇckou pro pozdˇejˇs´ı odvozen´ı metody Lagrangeov´ych multiplik´ator˚ u v §9.4. { x | Ax = b }
x′
x
null A = { x | Ax = 0 }
0
42
Vektory x a x′ jsou dvˇe r˚ uzn´a ˇreˇsen´ı soustavy, ale pouze x m´a nejmenˇs´ı normu. Z obr´azku je vidˇet, ˇze ˇreˇsen´ı x m´a nejmenˇs´ı normu pr´avˇe tehdy, kdyˇz vektor x je kolm´y na nulov´y prostor matice A. Tedy x ∈ (null A)⊥ = rng(AT ), kde posledn´ı rovnost je (4.2b). To znamen´a, ˇze x je line´arn´ı kombinac´ı ˇr´adk˚ u A. To znamen´a, ˇze existuje vektor λ ∈ Rm takov´y, ˇze x = AT λ. Pro vyˇreˇsen´ı u ´lohy (5.14) tedy mus´ıme vyˇreˇsit soustavu rovnic AT λ = x, Ax = b.
(5.15a) (5.15b)
To je soustava m + n rovnic o m + n nezn´am´ych (x, λ). Vyˇreˇsme tuto soustavu. Dosad´ıme x do druh´e rovnice, AAT λ = b. Pˇredpokl´adejme, ˇze matice AAT m´a plnou hodnost, coˇz dle rovnosti (3.14a) nastane pr´avˇe tehdy, kdyˇz matice A m´a hodnost m (tedy line´arnˇe nez´avisl´e ˇr´adky). Potom λ = (AAT )−1 b. Dosazen´ım do prvn´ı rovnice dostaneme x = A+ b, kde A+ = AT (AAT )−1 .
(5.16)
se naz´yv´a pseudoinverze ˇ sirok´ e matice A. Je to jedna z prav´ych inverz´ı matice A (ovˇeˇrte!). Vˇsimnˇete si, ˇze u ´lohu (5.14) lze tak´e vn´ımat jako hled´an´ı vzd´alenosti afinn´ıho podprostoru ˇ X = { x ∈ Rn | Ax = b } od poˇc´atku 0. Ctverec t´eto vzd´alenosti je roven optim´aln´ı hodnotˇe u ´lohy (5.14), tedy d(X, 0)2 = (A+ b)T (A+ b) = bT (AAT )−T AAT (AAT )−1 b = bT (AAT )−1 b.
5.2.1
(5.17)
Pseudoinverze obecn´ e matice s plnou hodnost´ı
nme: m´a-li matice A Pseudoinverzi u ´zk´e matice jsme definovali dˇr´ıve vzorcem (5.4). Nyn´ı shrˇ plnou hodnost (tedy min{m, n}), definujeme jej´ı pseudoinverzi jako ( (AT A)−1 AT kdyˇz m ≥ n, (5.18) A+ = AT (AAT )−1 kdyˇz m ≤ n. Vektor x = A+ b je v prvn´ım pˇr´ıpadˇe ˇreˇsen´ı soustavy Ax = b ve smyslu nejmenˇs´ıch ˇctverc˚ u, ve druh´em pˇr´ıpadˇe ˇreˇsen´ı soustavy s nejmenˇs´ı normou. Pokud m = n, je v obou pˇr´ıpadech A+ = A−1 (ovˇeˇrte!). V pˇr´ıpadˇe, ˇze A nem´a plnou hodnost, vzorec (5.18) nelze pouˇz´ıt a pseudoinverzi definujeme jinak. K tomu se vr´at´ıme pozdˇeji v §7.5.
5.3
Cviˇ cen´ı
5.1. M´ame soustavu Ax = b, kde A ∈ Rm×n a b 6= 0. Jsou tyto v´yroky pravdiv´e? Odpovˇedi dokaˇzte. a) Pokud m < n, pak soustava m´a vˇzdy ˇreˇsen´ı. b) Pokud m > n, pak soustava nem´a nikdy ˇreˇsen´ı. c) Pokud m < n a A m´a plnou hodnost, pak soustava m´a vˇzdy nekoneˇcnˇe mnoho ˇreˇsen´ı.
43
5.2. Vyˇreˇste (moˇzno pouˇz´ıt poˇc´ıtaˇc) soustavu 1 1 0 −1 x1 1 1 2 1 1 1 −3 x2 = 1 x3 1 0 1 1
pˇribliˇznˇe ve smyslu nejmenˇs´ıch ˇctverc˚ u pomoc´ı (a) pseudoinverze, (b) QR rozkladu.
5.3. Formulujte jako pˇribliˇzn´e ˇreˇsen´ı soustavy Pu = q ve smyslu nejmenˇs´ıch ˇctverc˚ u, tedy jako u ´lohu minu kPu − qk22 . Jako v´ysledek napiˇste matice P, q, u. Vzorem je Pˇr´ıklad 5.2. a) Hled´a se bod x ∈ Rm , kter´yP minimalizuje souˇcet ˇctverc˚ u vzd´alenost´ı k dan´ym bod˚ um n m 2 a1 , . . . , an ∈ R P , tj. v´yraz i=1 kai − xk2 . Dokaˇzte nav´ıc, ˇze minimum se nab´yv´a v tˇeˇziˇsti x = n1 ni=1 ai . b) Jsou d´any a, s, y ∈ Rn . Hled´a se vzd´alenost bodu y od pˇr´ımky { a + ts | t ∈ R }. c) M´ame mnoˇzinu m pˇr´ımek v Rn , kde i-t´a pˇr´ımka je mnoˇzina { ai + tsi | t ∈ R } pro dan´e ai , si ∈ Rn . Hled´a se bod y ∈ Rn , jehoˇz souˇcet ˇctverc˚ u vzd´alenost´ı k pˇr´ımk´am je minim´aln´ı. d) M´ame m nadrovin v prostoru Rn , kde i-t´a nadrovina m´a rovnici aTi x = bi pro dan´e ai ∈ Rn a bi ∈ R. Hled´a se bod y ∈ Rn , kter´y minimalizuje souˇcet ˇctverc˚ u vzd´alenost´ı od jednotliv´ych nadrovin. e) V prknu je n dˇer o souˇradnic´ıch x1 , . . . , xn ∈ R, vˇsechny v jedn´e pˇr´ımce. Namˇeˇr´ıme metrem vzd´alenosti dij = xj − xi pro vybran´e dvojice (i, j) ∈ E, kde mnoˇzina E ⊆ {1, . . . , n} × {1, . . . , n} je d´ana. Pˇritom dvojice jsou vybran´e tak, ˇze vˇzdy xj > xi . Ze vzd´alenost´ı dij chceme spoˇc´ıtat souˇradnice x1 , . . . , xn . Odpovˇezte d´ale na ot´azky: 1. Kolik ˇreˇsen´ı m´a soustava Pu = q? Dokaˇzte algebraicky a objasnˇete fyzik´aln´ı v´yznam. 2. Jsou sloupce P line´arnˇe nez´avisl´e? Diskutujte obˇe ot´azky pro pˇr´ıpad, ˇze mˇeˇren´ı jsou pˇresn´a, a pro pˇr´ıpad, ˇze mˇeˇren´ı jsou zat´ıˇzen´a nepˇresnostmi. 5.4. V probl´emu v´aˇzen´ych nejmenˇs´ıch ˇctverc˚ u chceme naj´ıt x = (x1 , . . . , xn ) ∈ Rn minimalizuj´ıc´ı funkci X 2 m n X f (x) = wi aij xj − bi i=1
j=1
kde wi jsou nez´aporn´e v´ahy. Napiˇste funkci v maticov´em tvaru, k ˇcemuˇz zaved’te diagon´aln´ı matici W = diag(w1 , . . . , wm ). Napiˇste norm´aln´ı rovnici a pseudoinverzi pro tento pˇr´ıpad.
5.5. M´ame vektory u = (2, 1, −3) a v = (1, −1, 1). Najdi ortogon´aln´ı projekci vektoru (2, 0, 1) na podprostor (a) span{u}, (b) (span{u})⊥ , (c) span{u, v}, (d) (span{u, v})⊥ . 5.6. Necht’ X = span{ (− 53 , 0, 45 , 0), (0, 0, 0, 1), ( 45 , 0, 53 , 0) }. Najdi projektory na podprostor X a podprostor X ⊥ . 1 2 0 5.7. M´ame A = 2 4 1. Najdi ortogon´aln´ı projekci vektoru (1, 1, 1) na podprostory (a) 1 2 0 rng A, (b) null A, (c) rng(AT ), (d) null(AT ). 44
5.8. Nulov´y prostor projektoru je typicky netrivi´aln´ı, tedy projektor P je singul´arn´ı matice. Kdy je P regul´arn´ı? Jak´a je v tom pˇr´ıpadˇe matice A ve vzorci (5.6) a podprostor X = rng A? Jak´y je geometrick´y v´yznam t´eto situace? 5.9. (⋆) Pro kak2 = 1 je H = I − 2aaT zn´ama jako Householderova matice. Transformace Hx je zrcadlen´ı vektoru x kolem nadroviny s norm´alov´ym vektorem a, proto se H tak´e nˇekdy naz´yv´a element´arn´ı reflektor. a) b) c) d)
Odvod’te vzorec H = I − 2aaT podobnou u ´vahou, jako jsme odvodili projekor. T T Ukaˇzte, ˇze H = H a H H = I (tj. matice je symetrick´a a ortogon´aln´ı). Ukaˇzte, ˇze det H = −1. Co je Ha? Co je Hx, kdyˇz aT x = 0? Ukaˇzte algebraicky a od˚ uvodnˇete geometricky.
5.10. (⋆) RQ rozklad rozloˇz´ı matici A = RQ, kde R je horn´ı troj´ uheln´ıkov´a a Q je ortogon´aln´ı. Jak byste spoˇc´ıtali RQ rozklad z QR rozkladu? 5.11. (⋆) Matice A se naz´yv´a norm´aln´ı, pokud AT A = AAT . Pˇr´ıkladem je symetrick´e matice (ale ne kaˇzd´a norm´aln´ı matice je symetrick´a). Dokaˇzte, ˇze pro norm´aln´ı matice plat´ı rng A ⊥ null A. 5.12. Dokaˇzte n´asleduj´ıc´ı vlastnosti pseudoinverze ze vztahu (5.18) pro libovoln´e matice pln´e hodnosti: a) b) c) d) e) f)
A+ = A−1 kdyˇz A je ˇctvercov´a (A+ )+ = A (AT )+ = (A+ )T AA+ A = A, A+ AA+ = A+ , (AA+ )T = AA+ , (A+ A)T = A+ A AT = AT AA+ = A+ AAT (AT A)+ = A+ (AT )+ , (AAT )+ = (AT )+ A+
5.13. Uvaˇzujme projektor (5.6). B´aze podprostoru X, na kter´y prom´ıt´ame, je tvoˇrena sloupci matice A. Projektor P se nesm´ı zmˇenit, vezmeme-li jinou b´azi podprostoru. R˚ uzn´e b´aze ˜ podprostoru jsou d´any sloupci matice A = AC pro r˚ uzn´e regul´arn´ı matice C ∈ Rn×n (tedy ˜ A ˜ T A) ˜ −1 A ˜ T = A(AT A)−1 AT . C je matice pˇrechodu k jin´e b´azi). Ovˇeˇrte, ˇze vskutku A( 5.14. Jak´e bude ˇreˇsen´ı norm´aln´ıch rovnic (5.3) v pˇr´ıpadˇe, ˇze b ⊥ rng A? Vyˇreˇste geometrickou u ´vahou a pak zkuste dok´azat algebraicky. 5.15. Hled´ame vektor x, kter´y minimalizuje kAx − bk22 + µkxk22 . Pˇreved’te na tvar (5.2). 5.16. Ze Cviˇcen´ı 4.13 v´ıme, ˇze pro ortogon´aln´ı matici U = U1 U2 plat´ı U1 UT1 + U2 UT2 = I. Jakou m´a tento vzorec souvislost s projekc´ı na podprostory rng U1 a rng U2 ?
5.17. Vztahy (5.8) jsme odvodili geometrickou u ´vahou. Dokaˇzte je algebraicky.
5.18. Pomoc´ı (5.17) odvod’te vzoreˇcek pro vzd´alenost nadroviny aT x = b od poˇc´atku, kter´y m´ate zn´at ze stˇredn´ı ˇskoly.
N´ apovˇ eda a ˇ reˇ sen´ı 5.1.a) Neplat´ı. Pˇr´ıklad: m = 1, n = 2, A = 0 0 , b = 1. 5.1.b) Neplat´ı. 5.1.c) Plat´ı.
45
5.2.
(x1 , x2 , x3 ) = (2, 1, 0)/3
5.3.c) Minimalizujte pˇres promˇenn´e y, t1 , . . . , tm . 5.3.d) Nejprve si vzpomeˇ nte ˇci odvod’te, jak se spoˇc´ıt´ a vzd´alenost bodu y od nadroviny aT x = b. 5.4. 5.5. 5.6.
f (x) = (Ax − b)T W(Ax − b).
(a) (2, 1, −3)/14, (b) (26, −1, 17)/14, (c) (62, −35, 17)/38, (d) (14, 35, 21)/38 Nejsou n´ ahodou vektory ortonorm´aln´ı?
5.6.
Projektor na X je P = diag(1, 0, 1, 1). Projektor na X ⊥ je P = diag(0, 1, 0, 0).
5.7.
(a) (1, 1, 1), (b) (0.4, −0.2, 0), (c) (0.6, 1.2, 1), (d) (0, 0, 0)
5.8.
A je regul´ arn´ı, tedy X = Rm . Projektor je identita.
5.11. Vych´ azejte z rovnosti (3.14a). 5.14. x = 0 5.17. Pouˇzijte (3.13) a (4.2). 5.18. |b|/kak2
46
Kapitola 6 Kvadratick´ e funkce Ze z´akladn´ı ˇskoly zn´ate polynomy jedn´e promˇenn´e, co jsou ale polynomy v´ıce promˇenn´ych? Monom k-t´eho stupnˇe n promˇenn´ych je v´yraz xk11 · · · xnkn , kde ak1 ...kn ∈ R, k1 , . . . , kn ∈ {0, 1, . . . , k}, k1 +· · ·+kn = k. Polynom n promˇenn´ych je line´arn´ı kombinace monom˚ u, pˇriˇcemˇz stupeˇ n polynomu je stupeˇ n jeho monomu nejvyˇsˇs´ıho stupnˇe. Napˇr. funkce f (x, y) = x2 y + xy − 2x + 1 (6.1) je polynom dvou promˇenn´ych tˇret´ıho stupnˇe, kde napˇr. x2 y je monom tˇret´ıho stupnˇe a xy je monom druh´eho stupnˇe. Polynom je homogenn´ı, pokud stupnˇe vˇsech jeho monom˚ u jsou stejn´e. Polynom (6.1) nen´ı homogenn´ı, ale napˇr. f (x, y) = x2 y − 5y 3 je homogenn´ı stupnˇe tˇri. Vid´ıme, ˇze afinn´ı funkce (3.17) je jen jin´y n´azev pro polynom prvn´ıho stupnˇe a line´arn´ı funkce (3.5) (tak´e zvan´a line´arn´ı forma) je jin´y n´azev pro homogenn´ı polynom prvn´ıho stupnˇe. Polynom druh´eho stupnˇe se naz´yv´a kvadratick´a funkce a homogenn´ı polynom druh´eho stupnˇe um kvadratick´ych forem a funkc´ı. kvadratick´ a forma 1 . C´ılem t´eto kapitoly je porozumˇet extr´em˚
6.1
Vlastn´ı ˇ c´ısla a vektory
Necht’ pro ˇctvercovou matici A ∈ Rn×n , nenulov´y vektor v ∈ Cn a skal´ar λ ∈ C plat´ı Av = λv.
(6.2)
Pak λ se naz´yv´a vlastn´ı ˇ c´ıslo matice a v vlastn´ı vektor matice pˇr´ısluˇsn´y vlastn´ımu ˇc´ıslu λ. Vlastn´ı ˇc´ısla a vektory mohou b´yt obecnˇe komplexn´ı. Rovnici (6.2) lze pˇrepsat jako (A − λI)v = 0. (6.3) To je soustava homogenn´ıch line´arn´ıch rovnic pro v, kter´a m´a netrivi´aln´ı ˇreˇsen´ı pr´avˇe tehdy, kdyˇz matice A − λI je singul´arn´ı. Tedy vlastn´ı ˇc´ısla jsou koˇreny polynomu pA (λ) = det(A − λI), 1
(6.4)
N´ azvoslov´ı nen´ı zcela konzistentn´ı, coˇz je opˇet d´ ano t´ım, ˇze nˇekter´a jm´ena poch´ azej´ı z line´arn´ı algebry a nˇekter´a z matematick´e anal´ yzy.
47
kter´y se naz´yv´a charakteristick´ y polynom matice A. Vlastn´ı vektory pˇr´ısluˇsn´e vlastn´ımu ˇc´ıslu λ pak spoˇc´ıt´ame ze soustavy (6.3). Vlastn´ı vektor nen´ı sv´ym vlastn´ım ˇc´ıslem urˇcen jednoznaˇcnˇe, vlastn´ı vektory pˇr´ısluˇsn´e vlastn´ımu ˇc´ıslu λ tvoˇr´ı cel´y podprostor null(A − λI) (kromˇe poˇc´atku 0). 1 2 . Charakteristick´a rovnice je Pˇ r´ıklad 6.1. Najdˇete vlastn´ı ˇc´ısla matice A = 3 4 1−λ 2 det(A − λI) = det = (1 − λ)(4 − λ) − 3 · 2 = λ2 − 5λ − 2 = 0. 3 4−λ
√ Tato kvadratick´a rovnice m´a dva koˇreny λ = (5 ± 33)/2. To jsou vlastn´ı ˇc´ısla matice A. Vlastn´ı vektory pˇr´ısluˇsn´e kaˇzd´emu λ najdeme ˇreˇsen´ım homogenn´ı line´arn´ı soustavy 1−λ 2 v = 0. 3 4−λ Z definice determinantu (2.6) plyne (promyslete!), ˇze charakteristick´y polynom m´a stupeˇ n n. Podle z´akladn´ı vˇety algebry m´a tedy n komplexn´ıch koˇren˚ u, z nichˇz nˇekter´e mohou b´yt n´asobn´e. Oznaˇc´ıme-li koˇreny λ1 , . . . , λn , plat´ı pA (λ) =
n Y i=1
(λi − λ).
V tomoto smyslu m´a matice pr´avˇe n vlastn´ıch ˇc´ısel, z nichˇz nˇekter´a mohou b´yt stejn´a. Tomuto seznamu vlastn´ıch ˇc´ısel se nˇekdy ˇr´ık´a spektrum matice. Necht’ λ1 , . . . , λn jsou vlastn´ı ˇc´ısla matice a v1 , . . . , vn jsou jim pˇr´ısluˇsn´e vlastn´ı vektory. Rovnice (6.2) lze pro nˇe napsat jako jedinou maticovou rovnici (rozmyslete!) AV = VΛ,
(6.5)
kde diagon´aln´ı matice Λ = diag(λ1 , . . . , λn ) m´a na diagon´ale vlastn´ı ˇc´ısla a sloupce ˇctvercov´e matice V = [v1 · · · vn ] jsou vlastn´ı vektory. Vlastn´ı vektory mohou b´yt line´arnˇe z´avisl´e. Tato ot´azka nen´ı jednoduch´a a podrobnˇe ji zde ˇ diskutovat nebudeme. Rekneme jen, ˇze existuje dobr´y d˚ uvod vlastn´ı vektory vybrat tak, aby hodnost matice V byla nejvˇetˇs´ı moˇzn´a. Jak se poˇc´ıtaj´ı vlastn´ı ˇc´ısla a vektory? Charakteristick´y polynom je hlavnˇe teoeretick´y n´astroj a pˇr´ım´e hled´an´ı jeho koˇren˚ u nen´ı vhodn´e pro numerick´y v´ypoˇcet2 . Pro vˇetˇs´ı matice se pouˇz´ıvaj´ı numerick´e iteraˇcn´ı algoritmy, pˇriˇcemˇz pro matice r˚ uzn´eho typu jsou vhodn´e r˚ uzn´e algoritmy. Matlabsk´a funkce [V,D]=eig(A) spoˇc´ıt´a matice V a Λ splˇ nuj´ıc´ı (6.5).
6.1.1
Spektr´ aln´ı rozklad
Pokud je V regul´arn´ı (tj. existuje n line´arnˇe nez´avisl´ych vlastn´ıch vektor˚ u), je invertovateln´a a (6.5) lze ps´at jako A = VΛV−1 . (6.6) 2
Naopak, hled´ an´ı koˇren˚ u libovoln´eho polynomu lze pˇrev´est na hled´ an´ı vlastn´ıch ˇc´ısel matice, kter´ a se naz´ yv´a doprovodn´ a matice (companion matrix) polynomu.
48
Vztahu (6.6) se pak ˇr´ık´a rozklad matice podle vlastn´ıch ˇ c´ısel nebo spektr´ aln´ı rozklad. V tom pˇr´ıpadˇe je matice A podobn´a diagon´aln´ı matici (neboli diagonalizovateln´ a), protoˇze z (6.6) plyne V−1 AV = Λ. Je zn´amo nˇekolik vlastnost´ı matic, kter´e postaˇcuj´ı pro diagonalizovatelnost. Nejzn´amˇejˇs´ı z nich je symetrie. Vˇ eta 6.1. Necht’ matice A ∈ Rn×n je symetrick´a. Pak vˇsechna jej´ı vlastn´ı ˇc´ısla jsou re´aln´a a existuje ortonorm´aln´ı mnoˇzina n jej´ıch vlastn´ıch vektor˚ u. T´eto vˇetˇe se nˇekdy ˇr´ık´a spektr´ aln´ı vˇ eta. Podle n´ı pro kaˇzdou symetrickou A je v (6.5) matice Λ re´aln´a a V m˚ uˇze b´yt zvolena jako ortogon´aln´ı (V−1 = VT ). Tedy T
A = VΛV =
n X
λi vi vTi .
(6.7)
i=1
Z´aroveˇ n jsme vpravo uvedli i druhou formu rozkladu (zkontrolujte, ˇze druh´a rovnost v (6.7) plat´ı!), kter´a je nˇekdy vhodnˇejˇs´ı neˇz maticov´a forma VΛVT . Vˇsimnˇete si, ˇze vi vTi jsou matice hodnosti 1. Vlastn´ı ˇc´ısla a vektory jsou rozs´ahl´e t´ema, kter´e jsme zde zdaleka nevyˇcerpali. To ale nen´ı ani tˇreba, protoˇze d´ale budeme poˇrebovat jen spektr´aln´ı rozklad symetrick´e matice.
6.2
Kvadratick´ a forma
Kvadratick´ a forma je homogenn´ı polynom f : Rn → R druh´eho stupnˇe. Je pohodln´e ji zapsat v maticov´em tvaru n n X X T aij xi xj (6.8) f (x) = x Ax = i=1 j=1
pro nˇejakou matici A ∈ Rn×n .
Pˇ r´ıklad 6.2. Pˇr´ıkladem kvadratick´e formy dvou promˇenn´ych je funkce 2 −1 x 2 2 . f (x, y) = 2x − 2xy + y = x y −1 1 y
Kaˇzdou ˇctvercovou matici m˚ uˇzeme ps´at jako souˇcet symetrick´e a antisymetrick´e matice: A = 12 (A + AT ) + 12 (A − AT ) | {z } | {z } symetrick´ a
(viz Cviˇcen´ı 2.11). Ale
antisymetrick´ a
xT Ax = 12 xT (A + AT )x + 21 xT (A − AT )x, | {z } 0
nebot’ xT (A − AT )x = xT Ax − xT AT x = xT Ax − (xT Ax)T = 0, kde jsme pouˇzili skuteˇcnost, ˇze transpozice skal´aru je tent´yˇz skal´ar. Tedy kdyˇz A nen´ı symetrick´a, m˚ uˇzeme ji nahradit jej´ı symetrickou ˇca´st´ı a kvadratick´a forma se nezmˇen´ı. D´ale proto budeme pˇredpokl´adat, ˇze A je symetrick´a. 49
Definice 6.1. Symetrick´a matice A je • pozitivnˇ e [negativnˇ e] semidefinitn´ı, kdyˇz pro kaˇzd´e x plat´ı xT Ax ≥ 0 [xT Ax ≤ 0] • pozitivnˇ e [negativnˇ e] definitn´ı, kdyˇz pro kaˇzd´e x 6= 0 plat´ı xT Ax > 0 [xT Ax < 0]
• indefinitn´ı, kdyˇz existuje x a y tak, ˇze xT Ax > 0 a yT Ay < 0.
Matice m˚ uˇze m´ıt i nˇekolik tˇechto vlastnost´ı najednou. Napˇr. pozitivnˇe definitn´ı matice je z´aroveˇ n pozitivnˇe semidefinitn´ı. Nulov´a matice je z´aroveˇ n pozitivnˇe i negativnˇe semidefinitn´ı. I kdyˇz definice d´av´a smysl pro libovoln´e ˇctvercov´e matice, je zvykem hovoˇrit o tˇechto vlastnostech jen pro symetrick´e matice. Nˇekdy se tyto vlastnosti definuj´ı ne pro matici, ale abstraktnˇeji pro kvadratickou formu. Z Definice 6.1 je jasn´e, m´a-li kvadratick´a forma extr´em a pˇr´ıpadnˇe jak´y: • Je-li A pozitivnˇe [negativnˇe] semidefinitn´ı, pak v poˇc´atku se nab´yv´a minimum [maximum]. • Je-li A pozitivnˇe [negativnˇe] definitn´ı, pak v poˇc´atku se nab´yv´a ostr´e minimum [maximum].
• Je-li A indefinitn´ı, pak kvadratick´a forma nem´a minimum ani maximum. Tato tvrzen´ı je snadn´e dok´azat. Je-li A pozitivnˇe semidefinitn´ı, kvadratick´a forma nem˚ uˇze b´yt z´aporn´a a z´aroveˇ n pro x = 0 je nulov´a, proto v bodˇe x = 0 (i kdyˇz moˇzn´a i jinde) nab´yv´a sv´eho minima. Je-li A indefinitn´ı a napˇr. xT Ax > 0, bod x nem˚ uˇze b´yt maximum, protoˇze T T (2x) A(2x) > x Ax, a nem˚ uˇze to b´yt minimum, protoˇze pro nˇejak´e y je yT Ay < 0. Vˇ eta 6.2. Symetrick´a matice je • pozitivnˇe [negativnˇe] semidefinitn´ı, pr´avˇe kdyˇz m´a vˇsechna vlastn´ı ˇc´ısla nez´aporn´a [nekladn´a] • pozitivnˇe [negativnˇe] definitn´ı, pr´avˇe kdyˇz m´a vˇsechna vlastn´ı ˇc´ısla kladn´a [z´aporn´a]
• indefinitn´ı, pr´avˇe kdyˇz m´a alespoˇ n jedno kladn´e a alespoˇ n jedno z´aporn´e vlastn´ı ˇc´ıslo.
D˚ ukaz. Z rozkladu podle vlastn´ıch ˇc´ısel (6.7) m´ame xT Ax = xT VΛVT x = yT Λy = λ1 y12 + · · · + λn yn2 ,
(6.9)
kde y = VT x. Substituce x = Vy tedy diagonalizovala matici kvadratick´e formy. Protoˇze V je regul´arn´ı, definitnost matice A je stejn´a jako definitnost matice Λ. Ale protoˇze Λ je diagon´aln´ı, jej´ı definitnost je okamˇzitˇe patrn´a ze znam´enek ˇc´ısel λi . Napˇr. v´yraz (6.9) je nez´aporn´y pro kaˇzd´e y pr´avˇe tehdy, kdyˇz vˇsechna λi jsou nez´aporn´a. Oznaˇc´ıme-li g(y) = yT Λy, m´ame f (x) = g(VT x). Protoˇze matice V je ortogon´aln´ı, transformace y = VT x je isometrie, tedy funkce f a g se liˇs´ı jen otoˇcen´ım (pˇr´ıp. zrcadlen´ım) v prostoru vzor˚ u. Pro pˇr´ıpad dvou promˇenn´ych (n = 2) si grafy diagon´aln´ı formy g snadno pˇredstav´ıme. Jsou-li obˇe vlastn´ı ˇc´ısla kladn´a, funkce g vypad´a jako ‘dol´ık’. Jsou-li obˇe vlastn´ı ˇc´ısla z´aporn´a, funkce g vypad´a jako ‘kopec’. Maj´ı-li vlastn´ı ˇc´ısla opaˇcn´a znam´enka, tvarem je ‘sedlo’:
50
2
0
1
1.8
−0.2
0.8
1.6
−0.4
0.6
1.4
−0.6
0.4
1.2
−0.8
1
−1
0
0.8
−1.2
−0.2
0.6
−1.4
−0.4
0.4
−1.6
−0.6
0.2
−1.8
−0.8
0 1
−2 1 1
0.5
−1 1 1
0.5
0.5
0
0.2
0 −0.5
−0.5 −1
−1
g(y1 , y2) = y12 + y22
6.3
0.5
0
0 −0.5
−0.5 −1
1
0.5
0.5
0
0 −0.5
−0.5 −1
−1
g(y1 , y2) = −y12 − y22
−1
g(y1, y2 ) = y12 − y22
Kvadratick´ a funkce
Kvadratick´a funkce je polynom (ne nutnˇe homogenn´ı) druh´eho stupnˇe. Lze jej ps´at v maticov´em tvaru f (x) = xT Ax + bT x + c, (6.10) kde AT = A 6= 0. Oproti kvadratick´e formˇe tedy pˇribyly line´arn´ı a konstantn´ı ˇcleny. Vˇsimnˇete si, ˇze pro n = 1 je (6.10) zn´am´a kvadratick´a funkce jedn´e promˇenn´e f (x) = ax2 + bx + c. Jak nal´ezt extr´emy kvadratick´e funkce? Extr´emy lze hledat mechanicky pomoc´ı derivac´ı, to vˇsak uk´aˇzeme aˇz v pozdˇejˇs´ı kapitole. Jin´y zp˚ usob je pˇrev´est kvadratickou funkci na kvadratickou formu posunut´ım poˇc´atku. Tento zp˚ usob pop´ıˇseme nyn´ı. Nˇekdy lze naj´ıt vektor x0 ∈ Rn a skal´ar y0 takov´e, ˇze xT Ax + bT x + c = (x − x0 )T A(x − x0 ) + y0 .
(6.11)
V´yraz na prav´e stranˇe je kvadratick´a forma s poˇc´atkem posunut´ym do bodu x0 , plus konstanta. T´eto u ´pravˇe se ˇr´ık´a doplnˇ en´ı na ˇ ctverec. Zn´ate ji pro pˇr´ıpad n = 1, nebot’ tak se na z´akladn´ı ˇskole odvozuje vzorec pro koˇreny kvadratick´e rovnice jedn´e promˇenn´e. Spoˇctˇeme x0 , y0 z dan´ych A, b, c. Rozn´asoben´ım prav´e strany dostaneme (x − x0 )T A(x − x0 ) + y0 = xT Ax − xT Ax0 − xT0 Ax + xT0 Ax0 + y0 = xT Ax − 2xT0 Ax + xT0 Ax0 + y0 .
Porovn´an´ım ˇclen˚ u stejn´eho stupnˇe m´ame b = −2Ax0 , c=
xT0 Ax0
+ y0 ,
(6.12a) (6.12b)
z ˇcehoˇz spoˇc´ıt´ame x0 a y0 . Pokud soustava (6.12a) nen´ı ˇreˇsiteln´a, doplnˇen´ı na ˇctverec nen´ı moˇzn´e. Pokud je doplnˇen´ı na ˇctverec moˇzn´e, vyˇsetˇren´ı extr´em˚ u kvadratick´e funkce se neliˇs´ı od vyˇsetˇren´ı extr´em˚ u kvadratick´e formy, protoˇze rozd´ıl je jen v posunut´ı x0 . Pokud doplnˇen´ı na ˇctverec moˇzn´e nen´ı, kvadratick´a funkce extr´em nem´a. Pˇ r´ıklad 6.3. M´ame kvadratickou funkci T T x 0 2 −1 x x + 3. + f (x, y) = 2x − 2xy + y − 2y + 3 = y −2 −1 1 y y 2
2
51
Jej´ı doplnˇen´ı na ˇctverec je
x−1 f (x, y) = 2(x − 1) − 2(x − 1)(y − 2) + (y − 2) + 1 = y−2 2
2
T
2 −1 −1 1
x−1 + 1, y−2
tedy m´ame x0 = (1, 2), y0 = 1. Jelikoˇz matice A je pozitivnˇe definitn´ı (ovˇeˇrte!), m´a kvadratick´a funkce minimum v bodˇe x0 . Pˇ r´ıklad 6.4. Kvadratick´a funkce T T x 0 1 0 x x + f (x, y) = x − y = y −1 0 0 y y 2
doplnit na ˇctverec nejde. Funkce tedy nem´a na R2 extr´em.
ˇ sme znovu u Pˇ r´ıklad 6.5. Reˇ ´lohu (5.2). Hled´ame minimum kvadratick´e funkce kAx − bk22 = (Ax − b)T (Ax − b)
= (xT AT − bT ) (Ax − b)
= xT AT Ax − xT AT b − bT Ax + bT b
= xT AT Ax − 2bT Ax + bT b,
(6.13)
kde jsme pouˇzili skuteˇcnost, ˇze skal´ar je roven sv´e transpozici a tedy bT Ax = (bT Ax)T = xT AT b. Extr´em t´eto kvadratick´e funkce m˚ uˇzeme naj´ıt doplnˇen´ım na ˇctverec (viz §6.3). SouT stava (6.12a) bude m´ıt tvar A Ax0 = AT b (pozor: A, b znamen´a nˇeco jin´eho v (6.13) a n je jasn´e, ˇze matice AT A je poziv (6.12a)), tedy dostali jsme norm´aln´ı rovnici (5.3). Z´aroveˇ tivnˇe semidefinitn´ı, nebot’ pro kaˇzd´e x ∈ Rn m´ame xT AT Ax = (Ax)T Ax = kAxk22 ≥ 0. Tedy v bodˇe x0 bude minimum.
6.3.1
(6.14)
Kvadrika
Vrstevnice kvadratick´e funkce se naz´yv´a kvadrika (quadric, quadric surface). Tedy kvadrika je mnoˇzina { x ∈ Rn | xT Ax + bT x + c = 0 }. (6.15) Pro n = 2 se kvadrika naz´yv´a kuˇ zeloseˇ cka (conic). D˚ uleˇzit´ym speci´aln´ım pˇr´ıpadem kvadriky je elipsoidn´ı povrch3 , coˇz je mnoˇzina { x ∈ Rn | xT Ax = 1 } pro A pozitivnˇe definitn´ı.
6.4
Cviˇ cen´ı
6.1. Spoˇc´ıtejte vlastn´ı ˇc´ısla a vlastn´ı vektory matic
1 2 1 2 . , 1 0 −1 −3
3 Nˇekdy se naz´ yv´a t´eˇz elipsoid , ale n´ azvoslov´ı nen´ı jednoznaˇcn´e a nˇekteˇr´ı autoˇri elipsoidem rozum´ı mnoˇzinu { x ∈ Rn | xT Ax ≤ 1 }. Rozd´ıl je stejn´ y jako mezi sf´erou a koul´ı.
52
2 0 3 6.2. Napiˇste rovnici, jej´ımiˇz koˇreny jsou vlastn´ı ˇc´ısla matice 0 −2 −1. 3 −1 2
6.3. Najdˇete vˇsechna vlastn´ı ˇc´ısla a vlastn´ı vektory (a) nulov´e, (b) jednotkov´e, (c) diagon´aln´ı matice. Najdˇete vlastn´ı ˇc´ısla troj´ uheln´ıkov´e matice. 6.4. Zn´ame vlastn´ı ˇc´ısla a vektory matice A. Jak´e jsou vlastn´ı ˇc´ısla a vektory matice A + αI? 6.5. M´ame kvadratickou formu dvou promˇenn´ych f (x, y) = 3x2 + 2xy + 3y 2. x se symetrickou A. a) Napiˇste ji ve tvaru f (x, y) = x y A y u x 2 2 b) Najdˇete a, b ∈ R a ortogon´aln´ı U tak, ˇze f (x, y) = au + bv , kde =U . v y c) Nakreslete mnoˇzinu bod˚ u (u, v) splˇ nuj´ıc´ıch au2 + bv 2 = 1. d) Transformujte tuto mnoˇzinu do souˇradnic (x, y) a nakreslete. 6.6. Kvadratickou funkci f (x, y) = 2x2 + 2xy − 3y 2 − x + 2y napiˇste ve tvaru (6.10) se symetrickou A. 6.7. Je mnoˇzina { (x, y) ∈ R2 | x2 − 3xy + y 2 = 1 } elipsa nebo hyperbola? Od˚ uvodnˇete.
6.8. Je zn´amo, ˇze libovolnou rotaci ve tˇr´ırozmˇern´em prostoru lze realizovat jako rotaci kolem jist´e pˇr´ımky (jdouc´ı poˇc´atkem) o jist´y u ´hel. Geometrickou u ´vahou (tj. bez poˇc´ıt´an´ı) zjistˇete co nejv´ıce o vlastn´ıch ˇc´ıslech a vektorech rotaˇcn´ı matice rozmˇeru 3 × 3.
6.9. Ukaˇzte, ˇze je-li A = VΛVT spektr´aln´ı rozklad symetrick´e matice A, plat´ı An = VΛn VT . 6.10. (⋆) Ukaˇzte, ˇze dvˇe ˇctvercov´e matice komutuj´ı, pr´avˇe kdyˇz maj´ı stejn´e vlastn´ı vektory. 6.11. (⋆) Necht’ A ∈ Rm×n a B ∈ Rn×m . Ukaˇzte, ˇze nenulov´a vlastn´ı ˇc´ısla matic AB a BA jsou stejn´a. 6.12. Pro dan´e matice urˇcete, zda jsou pozitivnˇe/negativnˇe (semi)definitn´ı nebo indefinitn´ı: 1 0 0 1 2 1 1 2 . , , , 0 0 1 0 1 2 2 1 6.13. Zjistˇete, zda maj´ı n´asleduj´ıc´ı kvadratick´e funkce extr´em a pokud ano, extr´em najdˇete a urˇcete jeho druh (minimum nebo maximum). Pouˇzijte doplnˇen´ı na ˇctverec. a) f (x, y) = x2 + 4xy − 2y 2 + 3x − 6y + 5 1 −1 x + 2 −1 x b) f (x) = xT −1 2 1 −3 . Kter´a z n´asleduj´ıc´ıch tvrzen´ı jsou pravdiv´a? 6.14. Mˇejme matici A = 2 −4 a) V´yraz xT Ax je nez´aporn´y pro kaˇzd´e x ∈ R2 . b) V´yraz xT Ax je nekladn´y pro kaˇzd´e x ∈ R2 . c) Funkce f (x) = xT Ax m´a v bodˇe x = 0 extr´em. 6.15. (⋆) Napiˇste v Matlabu funkci ellipse(Q), kter´a vykresl´ı elipsu s rovnic´ı xT Ax = 1 pro pozitivnˇe definitn´ı A. Zamyslete se, jak byste postupovali pˇri n´avrhu funkce conic(Q), kter´a vykresl´ı kuˇzeloseˇcku xT Ax = 1 pro A libovoln´e definitnosti (nezapomeˇ nte, ˇze obecn´a kuˇzeloseˇcka m˚ uˇze b´yt neomezen´a, tedy je nutno ji oˇr´ıznout do dan´eho obd´eln´ıku). 53
6.16. Dokaˇzte, ˇze matice AT A je pozitivnˇe semidefinitn´ı pro kaˇzdou matici A. 6.17. Dokaˇzte, ˇze matice AT A + µI je pozitivnˇe definitn´ı pro kaˇzdou matici A a kaˇzd´e µ > 0. 6.18. Dokaˇzte, ˇze (ˇctvercov´a symetrick´a) matice je pozitivnˇe definitn´ı pr´avˇe tehdy, kdyˇz jej´ı inverze je pozitivnˇe definitn´ı. Dokaˇzte to nejdˇr´ıve s pouˇzit´ım spektr´aln´ıho rozkladu a pak bez pouˇzit´ı spektr´aln´ıho rozkladu. 6.19. Mus´ı m´ıt pozitivnˇe semidefinitn´ı matice na diagon´ale nez´aporn´e prvky? Odpovˇed’ dokaˇzte. 6.20. (⋆) Pozitivnˇe semidefinitn´ı symetrick´e matice lze vn´ımat jako zobecnˇen´ı nez´aporn´ych ˇc´ısel. Proto se nˇekdy pozitivn´ı semidefinitnost znaˇc´ı A 0. Z´apis A B je pak zkratkou A − B 0. Na z´akladˇe t´eto analogie bychom oˇcek´avali, ˇze: a) b) c) d) e)
Pokud Pokud Pokud Pokud Pokud
A B a C D, potom A + C B + D. A 0 a α ≥ 0, potom αA 0. A 0, potom A2 0. A 0 a B 0, potom AB 0. A 0 a B 0, potom ABA 0.
Kter´e z tˇechto tvrzen´ı plat´ı? Dokaˇzte nebo najdˇete protipˇr´ıklady. 6.21. Dokaˇzte, ˇze relace z pˇredchoz´ıho cviˇcen´ı je ˇc´asteˇcn´e uspoˇr´ad´an´ı, tj. reflex´ıvn´ı, tranzitivn´ı a antisymetrick´a relace na mnoˇzinˇe symetrick´ych matic n × n. 6.22. Jsou-li λi vlastn´ı ˇc´ısla matice A, dokaˇzte λ1 × · · · × λn = det A pro a) libovolnou diagonalizovatelnou matici, b) (⋆) pro libovolnou ˇctvercovou matici. 6.23. V §5.1.2 jsme definovali projekci jako matici P splˇ nuj´ıc´ı P2 = P. Geometrickou u ´vahou (tedy bez poˇc´ıt´an´ı) najdˇete aspoˇ n jedno vlastn´ı ˇc´ıslo a pˇr´ısluˇsn´y vlastn´ı vektor projekce. 6.24. Dokaˇzte, ˇze pro symetrickou matici A je v´yraz min x6=0
xT Ax = min xT Ax xT x xT x=1
(6.16)
roven nejmenˇs´ımu vlastn´ımu ˇc´ıslu matice A. 6.25. (⋆) Geometrickou u ´vahou najdˇete aspoˇ n dva vlastn´ı vektory a pˇr´ısluˇsn´a vlastn´ı ˇc´ısla Householderovy matice ze Cviˇcen´ı 5.9. 6.26. Pro libovolnou matici A plat´ı, ˇze nenulov´a vlastn´ı ˇc´ısla matic AT A a AAT jsou stejn´a. Dokaˇzte.
N´ apovˇ eda a ˇ reˇ sen´ı 6.4.
Vlastn´ı ˇc´ısla se zmenˇs´ı o α. Vlastn´ı vektory jsou stejn´e. 3 1 6.5.a) A = 1 3 −1 1 1 6.5.b) a = 2, b = 4, U = √2 1 1 2 1 6.6. A = , b = −1 2 , c = 0 1 −3
54
6.7.
Hyperbola.
6.12. indefinitn´ı, pozitivnˇe definitn´ı, indefinitn´ı, pozitivnˇe semidefinitn´ı 6.13.a) Nem´a extr´em (m´ a sedlo v bodˇe (2, 74 )). 6.13.b) M´a minimum v bodˇe −(3, 1)/2. ˇ adn´e tvrzen´ı neplat´ı. N´apovˇeda: je matice symetrick´a? 6.14. Z´ 6.19. Mus´ı. 6.22.a) Pouˇzijte spektr´aln´ı rozklad A = V−1 ΛV. 6.24. Spektr´aln´ım rozkladem pˇreved’te na probl´em min yT Λy. yT y=1
6.26. Vyn´ asobte rovnici AT Av = λv zleva matic´ı A.
55
Kapitola 7 Rozklad podle singul´ arn´ıch ˇ c´ısel (SVD) Vˇ eta 7.1. Kaˇzdou matici A ∈ Rm×n lze rozloˇzit jako A = USVT
(7.1)
kde matice S ∈ Rm×n je diagon´aln´ı a U ∈ Rm×m a V ∈ Rn×n jsou ortogon´aln´ı. Diagon´aln´ı prvky matice S se naz´yvaj´ı singul´ arn´ı ˇ c´ısla matice A a budeme je znaˇcit s1 , . . . , sp , kde p = min{m, n}. Je zvykem je sestupnˇe seˇradit, s1 ≥ · · · ≥ sp ≥ 0, coˇz lze vˇzdy zajistit permutac´ı sloupc˚ u U a V. Sloupce matice U pˇr´ıp. V se naz´yvaj´ı lev´e pˇr´ıp. arn´ıch prav´e singul´ arn´ı vektory matice A. Rozklad (7.1) se naz´yv´a rozklad podle singul´ ˇ c´ısel (Singular Value Decomposition, SVD). Necht’ r = rank S je poˇcet nenulov´ych singul´arn´ıch ˇc´ısel. Z rovnosti (3.13b) (pouˇzit´e na v´yraz (7.1) a na jeho transpozici) je rank A = rank S = r. Piˇsme (7.1) jako " #" # S1 0 VT1 = U1 S1 VT1 (7.2) A = U1 U2 | {z } 0 0 VT2 U | {z } | {z } S
VT
kde S1 = diag(s1 , . . . , sr ) ∈ Rr×r je ˇctvercov´a diagon´aln´ı matice, na jej´ıˇz diagon´ale jsou vˇsechna nenulov´a singul´arn´ı ˇc´ısla. Velikosti blok˚ u U1 , U2 , V1 , V2 a nulov´ych blok˚ u jsou urˇceny velikost´ı matice S1 (pokud nˇejak´y blok m´a jeden rozmˇer nulov´y, povaˇzujeme ho za pr´azdn´y). Rozklad A = U1 S1 VT1 se naz´yv´a redukovan´ e SVD. Redukovan´e SVD se tedy z pln´eho SVD (7.1) z´ısk´a tak, ˇze matici S oˇr´ızneme na ˇctvercovou r ×r, z matice U vynech´ame posledn´ıch m−r sloupc˚ u a z matice V vynech´ame posledn´ıch n−r sloupc˚ u. Pln´e SVD se z redukovan´eho SVD z´ısk´a tak, ˇze u ´zk´e matice U1 a V1 dopln´ıme pˇrid´an´ım sloupc˚ u na ˇctvercov´e ortogon´aln´ı, a ˇctvercovou matici S dopln´ıme nulami na obd´eln´ıkovou stejn´eho rozmˇeru jako A. Pˇ r´ıklad 7.1. Zde je pˇr´ıklad pln´eho a redukovan´eho SVD matice 2 × 3: √ √ √ 1/ 2 √ 1/ √2 0 √ √ 5 0 0 1/√2 1/ √2 3 2 2 = A= 1/ 18 −1/ 18 4/ 18 = USVT 2 3 −2 1/ 2 −1/ 2 0 3 0 2/3 −2/3 1/3 √ √ √ √ 5 0 1/√ 2 1/ √2 0 1/√2 1/ √2 √ = U1 S1 VT1 = 1/ 2 −1/ 2 0 3 1/ 18 −1/ 18 4/ 18 56
Vztah (7.1) ˇr´ık´a, ˇze kaˇzd´e line´arn´ı zobrazen´ı je sloˇzen´ım tˇr´ı jednoduˇsˇs´ıch line´arn´ıch zobrazen´ı, a to isometrie VT , diagon´aln´ıho zobrazen´ı S a isometrie U. Line´arn´ı zobrazen´ı reprezentovan´e diagon´aln´ı matic´ı je jednoduˇse protaˇzen´ı nebo zkr´acen´ı pod´el souˇradnicov´ych os, pˇr´ıpadnˇe (pokud je matice ˇsirok´a) vynech´an´ı nˇekter´ych souˇradnic nebo (pokud je matice u ´zk´a) pˇrid´an´ı nulov´ych souˇradnic.
x
VT isometrie
VT x
SVT x
S
U
USVT x = Ax
isometrie
prota zen /zkr a en pod el os vyne h an /p rid an sou radni
V ˇreˇci b´az´ı to znamen´a, ˇze pro kaˇzd´e line´arn´ı zobrazen´ı lze naj´ıt takov´e ortonorm´aln´ı b´aze prostoru vzor˚ u a prostoru obraz˚ u, ˇze vzhledem k tˇemto b´az´ım je zobrazen´ı diagon´aln´ı. SVD najde ortonorm´aln´ı b´aze vˇsech ˇctyˇr podprostor˚ u generovan´ych matic´ı (viz §4.2.1): rng U1 = rng A,
(7.3a)
rng V1 = rng(AT ), T
rng U2 = null(A ), rng V2 = null A.
(7.3b) (7.3c) (7.3d)
Rovnost (7.3a) plyne ze (3.13b), nebot’ rng A = rng(U1 S1 VT1 ) = rng(U1 S1 ) = rng U1 . Rovnost (7.3b) plyne z (7.3a), nebot’ AT = (U1 S1 V1 )T = V1 ST1 UT1 = V1 S1 UT1 . Rovnosti (7.3c) a (7.3d) nyn´ı plynou z (4.2) a Cviˇcen´ı 4.13.
7.1
SVD ze spektr´ aln´ıho rozkladu
Dokaˇzme nyn´ı Vˇetu 7.1. D˚ ukaz. Protoˇze matice AT A je symetrick´a, ze spektr´aln´ıho rozkladu (6.7) m´ame Λ1 0 VT1 T T , (7.4) A A = VΛV = V1 V2 0 0 VT2 kde V = V1 V2 ∈ Rn×n je ortogon´aln´ı a Λ1 ∈ Rr×r je diagon´aln´ı regul´arn´ı (m´a na diagon´ale nenulov´a vlastn´ı ˇc´ısla matice AT A). Matice AT A je pozitivnˇe semidefinitn´ı (Cviˇcen´ı 6.16), tedy Λ m´a kladn´e diagon´aln´ı prvky. Poloˇzme 1/2
S1 = Λ1 , U1 = AV1 S−1 1 , 1/2
kde Λ1
(7.5a) (7.5b)
√ √ 1/2 1/2 = diag( λ1 , . . . , λn ), takˇze Λ1 Λ1 = Λ1 . Ovˇeˇr´ıme T T −1 −1 T T −1 −1 −1 UT1 U1 = S−1 1 V1 A AV 1 S1 = S1 V 1 V1 Λ1 V1 V 1 S1 = S1 Λ1 S1 = I,
U1 S1 VT1
=
T AV1 S−1 1 S1 V1
=
AV1 VT1
= A.
Matici U2 zvol´ıme libovolnˇe tak, aby U = U1 U2 byla ortogon´aln´ı. 57
(7.6a) (7.6b)
Rovnost (7.6b) je oˇcividn´a, pokud V1 je ˇctvercov´a a tedy V1 VT1 = I. Tato rovnost ale plat´ı, i kdyˇz V1 nen´ı ˇctvercov´a (tedy je obd´eln´ıkov´a u ´zk´a). To uk´aˇzeme napˇr. takto. Vyn´asob´ımeli (7.4) matic´ı VT zleva a V zprava, dostaneme T Λ1 0 V1 T . (7.7) A A V 1 V2 = 0 0 VT2
Rozn´asoben´ım lev´e strany z´ısk´ame (AV2 )T AV2 = 0, tedy (dle (3.14a)) AV2 = 0. D´ale je V1 VT1 + V2 VT2 = I (Cviˇcen´ı 4.13). Nyn´ı AV1 VT1 = A(I − V2 VT2 ) = A − AV2 VT2 = A.
D˚ ukaz ukazuje, ˇze SVD lze spoˇc´ıtat ze spektr´aln´ıho rozkladu matice1 AT A. Tento zp˚ usob ale nen´ı numericky nejvhodnˇejˇs´ı, protoˇze v´ypoˇcet souˇcinu AT A m˚ uˇze v´est ke zbyteˇcn´ym zaokrouhlovac´ım chyb´am (viz §5.1.1). Na SVD se proto pouˇz´ıvaj´ı algoritmy, kter´e se explicitn´ımu v´ypoˇctu AT A vyh´ybaj´ı2 . Matlabsk´y pˇr´ıkaz [U,S,V]=svd(A) poˇc´ıt´a pln´e SVD. Redukovan´e SVD nen´ı pˇr´ımo implementovan´e, dostaneme jej ale z pˇr´ıkazu [U,S,V]=svd(A,’econ’), kter´y vr´at´ı U ∈ Rm×p , S ∈ Rp×p a V ∈ Rn×p . Pozn´ amka o numerick´ e line´ arn´ı algebˇ re. Potkali jsme jiˇz tˇri rozklady matic: QR, spektr´aln´ı rozklad, SVD. Je jeˇstˇe nˇekolik jin´ych zaj´ımav´ych rozklad˚ u. N´avrh numerick´ych algoritm˚ u operace s maticemi, ˇreˇsen´ı soustav line´arn´ıch rovnic a rozklady matic vektor˚ u je pˇredmˇetem numerick´e line´arn´ı algebry. Existuj´ı volnˇe dostupn´e softwarov´e bal´ıky na numerickou line´arn´ı algebru, napˇr. LAPACK a BLAS. Matlab je postaven na bal´ıku LAPACK.
7.2
Nejbliˇ zˇs´ı matice niˇ zˇs´ı hodnosti
Frobeniova norma matice A ∈ Rm×n je ˇc´ıslo X 1/2 X 1/2 m X n n 2 2 kAkF = aij = kaj k2 i=1 j=1
(7.8)
j=1
kde a1 , . . . , an jsou sloupce matice A. Zjevnˇe kAkF = kAT kF . Podobnˇe jako eukleidovsk´a norma vektoru, Frobeniova norma se nezmˇen´ı transformac´ı ˇr´adk˚ u nebo sloupc˚ u matice isometri´ı, neboli UT U = I, VT V = I
=⇒
kAkF = kUAkF = kAVT kF = kUAVT kF .
(7.9)
To snadno plyne (promyslete!) z (7.8). ˇ sme nyn´ı u Reˇ ´lohu, ve kter´e chceme k dan´e matici A ∈ Rm×n hodnosti r naj´ıt nejbliˇzˇs´ı (ve smyslu Frobeniovy normy) matici A′ dan´e niˇzˇs´ı hodnosti r ′ ≤ r. Tedy ˇreˇs´ıme u ´lohu min{ kA − A′ kF | A′ ∈ Rm×n , rank A′ = r ′ }.
(7.10)
ˇ sen´ı je d´ano n´asleduj´ıc´ı vˇetou, kterou uv´ad´ıme bez d˚ Reˇ ukazu. V d˚ ukazu bychom mohli pouˇz´ıt spektr´ aln´ı rozklad matice AAT m´ısto AT A (srov. Cviˇcen´ı 6.26). Na druhou stranu, pokud n´ am moˇzn´e sn´ıˇzen´ı pˇresnosti neohroz´ı, poˇc´ıt´an´ı SVD spektr´ aln´ım rozkladem m˚ uˇze b´ yt rychlejˇs´ı. Napˇr. pokud je m ≫ n a potˇrebujeme spoˇc´ıtat jen matice V a S (a nepotˇrebujeme U), spektr´ aln´ı rozklad matice AT A bude typicky rychlejˇs´ı, protoˇze velikost t´eto matice je mal´a (n × n). 1
2
58
Vˇ eta 7.2 (Eckart-Young). Necht’ A = USVT je SVD matice A. Necht’ S′ je diagon´aln´ı matice, kter´a vznikne vynulov´an´ım r − r ′ nejmenˇs´ıch nenulov´ych diagon´aln´ıch prvk˚ u matice S (tj. s′i = si pro i ≤ r ′ a s′i = 0 pro i > r ′ ). Pak A′ = US′ VT je ˇreˇsen´ım u ´lohy (7.10). Vˇetu lze formulovat i jinak. Rozklad (7.1) lze napsat jako sumu T
A = USV =
r X
si ui vTi ,
(7.11)
i=1
kde u1 , . . . , um jsou sloupce matice U a v1 , . . . , vn jsou sloupce matice V. Vˇsimnˇete si, ˇze ui vTi ∈ Rm×n je matice hodnosti 1 (viz §2.5). Matice A′ se z´ısk´a tak, ˇze z t´eto sumy vezmeme jen prvn´ıch r ′ ˇclen˚ u: r r′ X X ′ ′ T ′ T A = US V = si u i v i = si ui vTi . i=1
i=1
′
Je-li A optim´aln´ı ˇreˇsen´ı u ´lohy (7.10), m´ame
kA−A′ kF = kUSVT −US′ VT kF = kU(S−S′ )VT kF = kS−S′ kF = (s2r′ +1 +· · ·+s2r )1/2 . (7.12) V tomto smyslu singul´arn´ı ˇc´ısla ˇr´ıkaj´ı, jak je matice daleko od nejbliˇzˇs´ı matice niˇzˇs´ı hodnosti.
7.3
Prokl´ ad´ an´ı bod˚ u podprostorem
Hledejme (line´arn´ı) podprostor X ⊆ Rm dan´e dimenze r ′ , kter´y minimalizuje souˇcet ˇctverc˚ u 3 m vzd´alenost´ı k dan´ym bod˚ um a1 , . . . , an ∈ R . Tuto u ´lohu nelze nijak pˇrev´est na u ´lohu nejmenˇs´ıch ˇctverc˚ u z §5.1. Avˇsak lze ji ˇreˇsit pomoc´ı Vˇety 7.2. M´ame r = rank A = dim span{a1 , . . . , an }, r ′ = rank A′ = dim span{a′1 , . . . , a′n }, kde aj jsou sloupce matice A a a′j jsou sloupce matice A′ . Pˇredpokl´ad´ame r ′ ≤ r. D´ale je kA − A′ k2F =
n X j=1
kaj − a′j k22 .
Tedy X = span{a′1 , . . . , a′n } = rng A′ je takov´y podprostor dimenze r ′ , ˇze souˇcet ˇctverc˚ u kolm´ych vzd´alenost´ı bod˚ u a1 , . . . , an k tomuto podprostoru je minim´aln´ı: X = span{a′1 , . . . , a′4 }
a′3
a4
a′4 a2 a′ a′1 2
a3
0
a1 3
Ve statistice se t´eto u ´loze ˇr´ık´ a rozvoj podle hlavn´ıch komponent (principal component analysis, PCA) nebo Karhunen-Loew˚ uv rozvoj .
59
Obvykle nepotˇrebujeme naj´ıt body a′j , ale pouze b´azi podprostoru X. Ortonorm´aln´ı b´azi X snadno z´ısk´ame pomoc´ı vztah˚ u (7.3). Protoˇze pouze prvn´ıch r ′ singul´arn´ıch ˇc´ısel matice A′ je nenulov´ych, b´aze podprostoru X = rng A′ je mnoˇzina prvn´ıch r ′ sloupc˚ u matice U v rozkladu T ⊤ A = USV . Nˇekdy m˚ uˇze b´yt v´yhodnˇejˇs´ı hledat ortogon´aln´ı doplnˇek X = null(A′ )T hledan´eho podprostoru, jehoˇz b´aze je posledn´ıch m − r ′ sloupc˚ u matice U. Pˇ r´ıklad 7.2. M´ame d´ano n bod˚ u a1 , . . . , an v prostoru R3 . Necht’ a1 · · · an = USVT je pln´e SVD matice, jej´ıˇz sloupce jsou tyto body. Oznaˇcme u1 , u2 , u3 sloupce matice U ∈ R3×3 . Hledejme pˇr´ımku proch´azej´ıc´ı poˇc´atkem takovou, aby souˇcet ˇctverc˚ u kolm´ych vzd´alenost´ı bod˚ u k t´eto pˇr´ımce byl co nejmenˇs´ı. Tato pˇr´ımka je mnoˇzina span{u1 } = { αu1 | α ∈ R } = { x ∈ R3 | uT2 x = uT3 x = 0 } = (span{u2 , u3 })⊥ .
Hledejme rovinu proch´azej´ıc´ı poˇc´atkem takovou, aby souˇcet ˇctverc˚ u kolm´ych vzd´alenost´ı bod˚ u k t´eto rovinˇe byl co nejmenˇs´ı. Tato rovina je mnoˇzina span{u1 , u2 } = { α1 u1 + α2 u2 | α1 , α2 ∈ R } = { x ∈ R3 | uT3 x = 0 } = (span{u3 })⊥ .
7.3.1
Zobecnˇ en´ı na afinn´ı podprostor
Zobecnˇeme nyn´ı u ´lohu: m´ısto line´arn´ıho podprostoru hled´ame afinn´ı podprostor dimenze r ′ , kter´y minimalizuje souˇcet ˇctverc˚ u kolm´ych vzd´alenost´ı od bod˚ u a1 , . . . , an . Tento afinn´ı podprostor lze ps´at jako X = b + span{a′1 , . . . , a′n } pro nˇejak´e posunut´ı b ∈ Rm (viz §3.3):
¯′ a ¯ a
a2
a′1
b
X = b + span{a′1 , . . . , a′4 }
a′3
a4
a′4
a3
a′2
0
a1
Souˇcet ˇctverc˚ u kolm´ych vzd´alenost´ı k X je (promyslete z obr´azku!) n X kaj − a′j − bk22 = kA − A′ − b1T k2F .
(7.13)
j=1
Hled´ame b ∈ Rm a A′ ∈ Rm×n , kter´e minimalizuj´ı (7.13) za podm´ınky rank A′ = r ′ . Pokud A′ je pevn´e, minimalizaci v´yrazu (7.13) pˇres promˇennou b lze snadno vyˇreˇsit explicitnˇe (viz Cviˇcen´ı 5.3.a): minimum se nab´yv´a v bodˇe n 1X ¯−a ¯′, b= (aj − a′j ) = a n j=1 kde
¯′ = n1 (a′1 + · · · + a′n ) ¯ = n1 (a1 + · · · + an ), a a ¯ ′ ∈ span{a′1 , . . . , a′n }, plat´ı a ¯ = b+a ¯′ ∈ X (toto znaˇc´ı tˇeˇziˇstˇe bod˚ u ai resp. a′i . Protoˇze vˇsak a ¯ , a¯′ , b v obr´azku!). Tedy jsme dok´azali, ˇze optim´aln´ı afinn´ı promyslete, najdˇete si vektory a ¯ bod˚ podprostor X proch´az´ı tˇeˇziˇstˇem a u a1 , . . . , an . Nyn´ı je ˇreˇsen´ı jasn´e: staˇc´ı nejprve posunout body a1 , . . . , an tak, aby jejich tˇeˇziˇstˇe leˇzelo v poˇc´atku, a potom naj´ıt line´arn´ı podprostor, kter´y minimalizuje souˇcet ˇctverc˚ u vzd´alenost´ı k posunut´ym bod˚ um. 60
7.4
Pˇ ribliˇ zn´ eˇ reˇsen´ı homogenn´ı line´ arn´ı soustavy
ˇ sme homogenn´ı line´arn´ı soustavu Reˇ Ax = 0
(7.14)
pro A ∈ Rm×n . Mnoˇzinou ˇreˇsen´ı je mnoˇzina null A, coˇz je line´arn´ı podprostor Rn dimenze d = n − rank A (viz (3.12)). Jedno z ˇreˇsen´ı je vˇzdy x = 0 (tzv. trivi´aln´ı ˇreˇsen´ı). M˚ uˇze b´yt homogenn´ı soustava ‘pˇreurˇcen´a’ ? Pˇreuˇcenost soustavy m˚ uˇzeme definovat tak, ˇze dimenze d prostoru ˇreˇsen´ı je niˇzˇs´ı, neˇz nˇejak´a pˇredem dan´a dimenze d′ > d. Speci´aln´ı pˇr´ıpad ˇ sme je, kdyˇz m´a soustava pouze trivi´aln´ı ˇreˇsen´ı (d = 0), ale my chceme ˇreˇsen´ı netrivi´aln´ı. Reˇ soustavu pˇribliˇznˇe tak, ˇze co nejm´enˇe zmˇen´ıme matici A, aby prostor ˇreˇsen´ı mˇel k´yˇzenou dimenzi d′ . Neboli nejprve najdeme matici A′ s hodnost´ı n − d′ nejbliˇzˇs´ı matici A (dle Vˇety 7.2) a potom vyˇreˇs´ıme soustavu A′ x = 0. Vztah k nehomogenn´ımu pˇ r´ıpadu. V §5.1 jsme formulovali pˇribliˇzn´e ˇreˇsen´ı nehomogenn´ı uˇze se zd´at, ˇze tato formulace (b 6= 0) soustavy Ax = b jako u ´lohu minx∈Rn kAx − bk2 . M˚ je u ´plnˇe odliˇsn´a od formulace pˇribliˇzn´eho ˇreˇsen´ı homogenn´ı soustavy, kterou jsme uvedli zde. Ale tak tomu nen´ı. Formulujme pˇribliˇzn´e ˇreˇsen´ı nehomogenn´ı soustavy takto: pokud soustava Ax = b nem´a ˇreˇsen´ı, zmˇen ˇme vektor b co nejm´enˇe tak, aby soustava ˇreˇsen´ı mˇela. Pˇresnˇeji, hled´ame vektor b′ tak, aby pro nˇejak´e x platilo Ax = b′ a pˇritom ˇc´ıslo kb − b′ k2 bylo co nejmenˇs´ı. Tuto u ´lohu lze napsat jako min{ kb − b′ k2 | Ax = b′ , x ∈ Rn , b′ ∈ Rm }. Zde minimalizujeme pˇres promˇenn´e x a b′ (nevad´ı, ˇze x se nevyskytuje v u ´ˇcelov´e funkci). Tato u ´loha jde zjednoduˇsit (rozmyslete!): dosad´ıme b′ = Ax do u ´ˇcelov´e funkce kb − b′ k2 , ˇc´ımˇz nme: dostaneme minx∈Rn kAx − bk2 . Shrˇ • V pˇribliˇzn´em ˇreˇsen´ı nehomogenn´ı soustavy Ax = b chceme zmˇenit vektor b co nejm´enˇe tak, aby soustava mˇela ˇreˇsen´ı. • V pˇribliˇzn´em ˇreˇsen´ı homogenn´ı soustavy Ax = 0 chceme zmˇenit matici A co nejm´enˇe tak, aby soustava mˇela prostor ˇreˇsen´ı dan´e dimenze.
7.5
(⋆) Pseudoinverze obecn´ e matice
Vrat’ne se nyn´ı k nehomogenn´ı line´arn´ı soustavˇe, Ax = b pro A ∈ Rm×n . Tuto soustavu m˚ uˇzeme pohodlnˇe ˇreˇsit pomoc´ı SVD. Protoˇze U m´a ortonorm´aln´ı sloupce, vyn´asoben´ı soustavy Ax = USVT x = b matic´ı UT zleva d´a SVT x = UT b, tedy Sy = c kde y = VT x a c = UT b. Snadno najdeme ˇreˇsen´ı y t´eto soustavy, nebot’ S je diagon´aln´ı. Pak spoˇc´ıt´ame x ze soustavy y = VT x. Pokud je V ˇctvercov´a (coˇz bude bud’ u pln´eho SVD libovoln´e matice nebo u redukovan´eho SVD u ´zk´e matice s plnou hodnost´ı), m´ame pˇr´ımo x = Vy. Tuto myˇslenku nyn´ı rozvineme. V §5 jsme oddˇelenˇe diskutovali pˇr´ıpady, kdy soustava m´a ˇz´adn´e, jedno, nebo nekoneˇcnˇe mnoho ˇreˇsen´ı. Ted’ vˇsechny tyto pˇr´ıpady spoj´ıme do jedin´e obecn´e formulace o n ′ 2 2 (7.15) min kxk2 x ∈ argmin kAx − bk2 . x′ ∈Rn
61
To znamen´a, ˇze hled´ame vektor x, pro kter´y je norma kAx − bk2 vektoru residu´ı minim´aln´ı; pokud je vˇsak takov´ych vektor˚ u vice, vybereme z nich takov´y, kter´y m´a nejmenˇs´ı normu kxk2 .
Vˇ eta 7.3. Necht’ A = U1 S1 VT1 je redukovan´e SVD matice A. Pak ˇreˇsen´ım u ´lohy (7.15) je x = A+ b, kde T A+ = V1 S−1 (7.16) 1 U1 . D˚ ukaz (⋆). Necht’ SVD matice A je d´ano vzorcem (7.2). Plat´ı: kAx − bk22 = kUSVT x − bk22
= kUT (USVT x − b)k22
nebot’ kUT zk2 = kzk2 pro kaˇzd´e z
= kSVT x − UT bk22 = kSy − ck22
2
S1 0 y1 c
= − 1 0 0 y2 c2 2
2
S1 y1 − c1
=
−c2 2
nebot’ UT U = I
= kS1 y1 − c1 k22 + kc2 k22 ,
kde jsme oznaˇcili
(7.17) c UT1 b = 1 = c. U b= T c2 U2 b
y VT1 x = 1 = y, V x= T y2 V2 x
T
T
(7.18)
ˇ Ceho jsme dos´ahli? Uk´azali jsme, ˇze v´yraz kAx−bk22 je roven v´yrazu (7.17). Ale ten se mnohem snadnˇeji minimalizuje, protoˇze matice S1 je diagon´aln´ı a regul´arn´ı. Minimum v´yrazu (7.17) tedy nastane pro y1 = S−1 ze pak bude S1 y1 = c1 . Protoˇze S1 je ˇctvercov´a diagon´aln´ı, jej´ı 1 c1 , protoˇ −1 −1 inverze je jednoduˇse S−1 = diag(s 1 1 , . . . , sr ). V´yraz (7.17) nez´avis´ı na vektoru y2 , kter´y tedy m˚ uˇzeme zvolit libovolnˇe. Zvolme jej tak, aby vektor y mˇel nejmenˇs´ı normu. To oˇcividnˇe nastane pro y2 = 0. Protoˇze kyk2 = kVT xk2 = kxk2 (plyne z ortogonality V), bude m´ıt tak´e x nejmenˇs´ı normu. ˇ sen´ı u Reˇ ´lohy (7.15) z´ısk´ame zpˇetn´ym dosazen´ım z (7.18): S−1 y1 c 1 −1 T + 1 = V1 S−1 = V1 V2 x = Vy = V1 V2 1 c1 = V1 S1 U1 b = A b. 0 y2 Vˇsimnˇete si, ˇze zat´ımco v d˚ ukazu jsme potˇrebovali pln´e SVD, ve vzorci (7.16) vystupuje pouze redukovan´e SVD. Matice U2 a V2 byly tˇreba jen pro d˚ ukaz. Matice (7.16) se naz´yv´a pseudoinverze obecn´ e matice, pˇresnˇeji Moore-Penroseova pseudoinverze. Pokud A je ˇctvercov´a regul´arn´ı, (7.16) pˇrejde v obyˇcejnou inverzi A−1 . Pokud A je obd´eln´ıkov´a s plnou hodnost´ı, (7.16) souhlas´ı se vzorci (5.4), (5.16) a (5.18). Ovˇeˇrte tato tvrzen´ı jako cviˇcen´ı!
7.6
Cviˇ cen´ı
7.1. Jsou d´any matice A=
1 14 −16 −4 , 13 22 15 −2
U=
1 −3 4 , 4 3 5
62
−1 2 2 1 2 V = 2 −1 3 2 2 −1
Spoˇc´ıtejte matici B hodnosti jedna takovou, ˇze kA − BkF je minim´aln´ı (kde k · kF znaˇc´ı Frobeniovu normu). Bez uˇzit´ı poˇc´ıtaˇce spoˇc´ıtejte hodnotu kA − BkF pro tuto matici B.
7.2. Jsou d´any ˇctyˇri body a1 = (3, −3, 4), a2 = (−2, −3, −2), a3 = (1, 0, −1), a4 = (3, 1, 0) v R3 . Najdˇete mnoˇzinu X ⊆ R3 , kter´a minimalizuje souˇcet ˇctverc˚ u kolm´ych vzd´alenost´ı bod˚ u k mnoˇzinˇe X, kde X je a) pˇr´ımka proch´azej´ıc´ı poˇc´atkem, b) rovina proch´azej´ıc´ı poˇc´atkem, c) pˇr´ımka kter´a m˚ uˇze ale nemus´ı proch´azet poˇc´atkem. M˚ uˇzete pouˇz´ıt poˇc´ıtaˇc.
7.3. S pouˇzit´ım SVD najdˇete b´azi ortogon´aln´ıho doplˇ nku podprostoru span{ (1, 1, 1, −1), (2, −1, −1, 1), (−1, 2, 2, 1) }. M˚ uˇzete pouˇz´ıt poˇc´ıtaˇc.
u pomoc´ı SVD. 7.4. (⋆) Vyˇreˇste soustavu ze Cviˇcen´ı 5.2 pˇribliˇznˇe ve smyslu nejmenˇs´ıch ˇctverc˚ M˚ uˇzete pouˇz´ıt poˇc´ıtaˇc.
7.5. (⋆) Dokaˇzte vlastnosti pseudoinverze ze Cviˇcen´ı 5.12 pomoc´ı vztahu (7.16) pro libovoln´e (ˇctvercov´e ˇci obd´eln´ıkov´e) matice z libovolnou hodnost´ı. 7.6. Zn´ame spektr´aln´ı rozklad symetrick´e matice. Jak byste jednoduˇse nalezli SVD t´eto matice? 7.7. Moˇzn´a jste si jiˇz dˇr´ıve poloˇzili ot´azku, jak´y je vhodn´y algoritmus na nalezen´ı b´aze nulov´eho prostoru dan´e matice. Cviˇcen´ı 3.11 naznaˇcilo jeden zp˚ usob. V Matlabu se ovˇsem b´aze nulov´eho prostoru najde snadno funkc´ı null. Vypiˇste si implementaci t´eto funkce matlabsk´ym pˇr´ıkazem edit null a najdˇete souvislost se vzorci (7.3).
N´ apovˇ eda a ˇ reˇ sen´ı 7.1.
kA − BkF = 1
7.2.a) X = span{(0.6912, −0.2181, 0.6889)} (Uvˇedomte si ale, ˇze b´ aze vaˇseho podprostoru m˚ uˇze b´ yt jin´a neˇz zde uveden´ a.) 7.2.b) X = span{(0.6912, −0.2181, 0.6889), (−0.3771, −0.9221, 0.0864)}
7.2.c) X = (1.25, −1.25, 0.25) + span{(0.6599, 0.0280, 0.7508)} 7.3.
Pouˇzijte (7.3c) a (rng U1 )⊥ = rng U2 . Hledan´a b´ aze bude tˇret´ı sloupec U aˇz na skal´arn´ı n´ asobek, tedy napˇr. (0, −1, 1, 0).
63
Kapitola 8 Neline´ arn´ı funkce a zobrazen´ı V pˇredchoz´ıch kapitol´ach jsme potkali line´arn´ı a afinn´ı zobrazen´ı a kvadratick´e funkce. V t´eto kapitole si ˇrekneme v´ıce o neline´arn´ıch funkc´ıch f : Rn → R a zobrazen´ıch f : Rn → Rm (zopakujte si znaˇcen´ı funkc´ı a zobrazen´ı z §1.1.3). Pˇredpokl´ad´ame pˇritom, ˇze student zn´a anal´yzu funkce jedn´e promˇenn´e a pojem parci´aln´ı derivace. D´ale budeme pˇredpokl´adat, ˇze definiˇc√ n´ı obor funkc´ı a zobrazen´ı je cel´e Rn . Tomu tak nen´ı vˇzdy, napˇr. definiˇcn´ı obor funkce f (x) = 1 − x2 je interval [−1, 1] ⊂ R. Tento pˇredpoklad ale zjednoduˇs´ı v´yklad a pro ˇcten´aˇre vˇzdy bude snadn´e l´atku zobecnit pro jin´y definiˇcn´ı obor. Pro funkci f : Rn → R uˇz´ıv´ame tyto pojmy: • Graf funkce f je mnoˇzina { (x, y) ∈ Rn+1 | x ∈ Rn , y = f (x) }. • Vrstevnice funkce f v´yˇsky y je mnoˇzina { x ∈ Rn | f (x) = y }. Obr´azek ukazuje pˇr´ıklady grafu a vrtevnic funkc´ı dvou promˇenn´ych na obd´eln´ıku [−1, 1]2 :
5
1
4
0.8
3
0.6
2
0.4
1
0.2
2 1.5 1
0
0
−1
−0.2
−2
−0.4
0.5 0 −0.5 −1
−3
−0.6
−4
−0.8
−5 1
−1 1 1
0.5
−2 1 1
0.5
0.5
0
−1.5
0 −0.5
−0.5 −1
1 0.5
0
0
0 −0.5
0.5
0.5
−0.5 −1
−1
−0.5 −1
−1
f (x, y) = x2 − y 2
f (x, y) = −2x + 3y
0 −0.5 −1
f (x, y) = 3x − x3 − 3xy 2
Pˇ r´ıklad 8.1. Pˇr´ıklady funkc´ı a zobrazen´ı v´ıce promˇenn´ych: 1. f : R2 → R, f (x, y) = x2 − y 2
2. f : Rn → R, f (x) = x1 (i kdyˇz x2 , . . . , xn chyb´ı, f se rozum´ı jako funkce n promˇenn´ych) 3. f : Rn → R, f (x) = aT x = a1 x1 + · · · + an xn (line´arn´ı funkce)
4. f : Rn → R, f (x) = aT x + b = a1 x1 + · · · + an xn + b (afinn´ı funkce) 5. f : Rn → R, f (x) = e−x
Tx
(nenormalizovan´e Gaussovo rozdˇelen´ı)
n
6. f : Rn → R, f (x) = max xi i=1
2
7. f : R → R , f (t) = (cos t, sin t) (parametrizace kruˇznice, mnoˇzina f([0, 2π)) je kruˇznice) 8. f : R → R3 , f (t) = (cos t, sin t, at) (parametrizace ˇsroubovice neboli helixu) 64
9. f : Rn → Rn , f(x) = x (identick´e zobrazen´ı neboli identita)
10. f : Rn → Rm , f (x) = Ax (line´arn´ı zobrazen´ı)
11. f : Rn → Rm , f (x) = Ax + b (afinn´ı zobrazen´ı)
12. f : R2 → R3 , f(u, v) = ( (R + r cos v) cos u, (R + r cos v) sin u, r sin v ) (parametrizace toru neboli anuloidu, mnoˇzina f([0, 2π) × [0, 2π)) je torus)
13. Pˇri technice image morphing se obr´azek napˇr. obliˇceje zdeformuje na obr´azek jin´eho obliˇceje. Morphing je realizov´an zobrazen´ım R2 → R2 . 14. Elektrick´e pole pˇriˇrad´ı kaˇzd´emu bodu v R3 vektor z R3 .
8.1
Spojitost
Neform´alnˇe ˇreˇceno, zobrazen´ı f : Rn → Rm je spojit´ e v bodˇe x ∈ Rn , jestliˇze bod˚ um bl´ızk´ym k x pˇriˇrazuje body bl´ızk´e k f (x). Abychom tuto vˇetu formalizovali, potˇrebovali bychom limitu funkce v´ıce promˇenn´ych, jejiˇz znalost u ˇcten´aˇre nepˇredpokl´ad´ame. Uvedeme proto pouze postaˇcuj´ıc´ı (avˇsak nikoliv nutnou) podm´ınku pro spojitost, kter´a n´am v praxi postaˇc´ı. Pˇritom pˇredpokl´ad´ame, ˇze ˇcten´aˇr dok´aˇze ovˇeˇrit spojitost funkc´ı jedn´e promˇenn´e. Vˇ eta 8.1. 1. Necht’ funkce f : R → R je spojit´a v bodˇe x. Necht’ k ∈ {1, . . . , n} a necht’ funkce g: Rn → R je d´ana jako g(x1 , . . . , xn ) = f (xk ) (tedy g z´avis´ı jen na promˇenn´e xk ). Pak funkce g je spojit´a v kaˇzd´em bodˇe (x1 , . . . , xn ) takov´em, ˇze xk = x. 2. Necht’ funkce f, g: Rn → R jsou spojit´e v bodˇe x. Pak funkce f + g, f − g a f g jsou spojit´e v bodˇe x. Pokud g(x) 6= 0, je funkce f /g spojit´a v bodˇe x.
3. Necht’ g: Rn → R je spojit´a v bodˇe x a f : R → R je spojit´a v bodˇe y = g(x). Pak sloˇzen´a funkce f ◦ g: Rn → R je spojit´a v bodˇe x.
4. Necht’ funkce f1 , . . . , fm : Rn → R jsou spojit´e v bodˇe x. Pak zobrazen´ı f: Rn → Rm definovan´e jako f (x) = (f1 (x), . . . , fm (x)) je spojit´e v bodˇe x. Pˇ r´ıklad 8.2. Z vˇety snadno uk´aˇzeme, ˇze napˇr. funkce dvou promˇenn´ych f (x, y) = sin(x + y 2)
(8.1)
je spojit´a. Podle 1 je x spojit´a funkce dvou promˇenn´ych (x, y). Podobnˇe, y 2 je spojit´a funkce promˇenn´ych (x, y). Podle 2 je proto funkce x + y 2 spojit´a. Protoˇze funkce sin je spojit´a, podle 3 je funkce sin(x + y 2 ) spojit´a. Takto jsme ‘rekurzivnˇe’ dok´azali spojitost cel´e funkce.
8.2
Parci´ aln´ı derivace
Parci´aln´ı derivaci funkce f : Rn → R podle xi znaˇc´ıme jedn´ım ze symbol˚ u ∂y ∂f (x) = fxi (x) = , ∂xi ∂xi kde posledn´ı znaˇcen´ı pˇredpokl´ad´a, ˇze jsme psali y = f (x). Spoˇc´ıt´ame ji tak, ˇze vˇsechny promˇenn´e xj , j 6= i, povaˇzujeme za konstanty a zderivujeme funkci podle jedin´e promˇenn´e xi . 65
Pˇ r´ıklad 8.3. Parci´aln´ı derivace funkce (8.1) jsou ∂f (x, y) = fx (x, y) = cos(x + y 2 ), ∂x ∂f (x, y) = fy (x, y) = 2y cos(x + y 2). ∂y
8.3
(8.2a) (8.2b)
Tot´ aln´ı derivace
Zopakujme definici derivace funkce jedn´e promˇenn´e f : R → R v bodˇe x. Existuje-li limita df (x) f (y) − f (x) = f ′ (x) = lim , y→x dx y−x
(8.3)
funkce se naz´yv´a diferencovateln´a v bodˇe x a hodnota limity se naz´yv´a jej´ı derivace funkce f v bodˇe x. Pokud je funkce v bodˇe x diferencovateln´a, lze ji v bl´ızkosti bodu x ‘dobˇre’ aproximovat afinn´ı funkc´ı f (y) ≈ f (x) + f ′ (x)(y − x). (8.4) Viz obr´azek: f (y) f (x) + f (x)(y − x) ′
f (x)
x
y
Jak se d´a pojem diferencovatelnosti a derivace zobecnit na zobrazen´ı f: Rn → Rm ? Toho nelze dos´ahnout zobecnˇen´ım limity (8.3), ale je l´epe vych´azet ze vzorce (8.4). Zkusme zobrazen´ı v bl´ızkosti bodu x aproximovat jako f(y) ≈ f(x) + f ′ (x)(y − x),
(8.5)
kde symbol f ′ (x) oznaˇcuje matici rozmˇeru m × n, o kter´e ale zat´ım nev´ıme nic. Je-li x pevn´e, prav´a strana v´yrazu (8.5) je afinn´ı zobrazen´ı v promˇenn´e y (porovnejte s (3.4): pravou stranu (8.5) lze ps´at jako Ay + b, kde A = f ′ (x) a b = f(x) − f ′ (x)x). Zobrazen´ı je diferencovateln´ ev bodˇe x, jestliˇze je v okol´ı tohoto bodu ‘podobn´e’ afinn´ımu zobrazen´ı, neboli existuje matice f ′ (x) takov´a, ˇze chyba aproximace f (y) −f (x) −f ′ (x)(y −x) je ‘mal´a’ pro ‘mal´e’ y −x. Abychom tuto podm´ınku formulovali pˇresnˇe, potˇrebovali bychom limitu funkce v´ıce promˇenn´ych, jej´ıˇz znalost u ˇcten´aˇre nepˇredpokl´ad´ame. Ponech´ame proto pojem ‘diferencovateln´e zobrazen´ı’ nedefinovan´y a definujeme pouze o nˇeco silnˇejˇs´ı vlastnost, kter´a n´am v tomto kurzu postaˇc´ı. Definice 8.1. Zobrazen´ı f : Rn → Rm je v bodˇe x spojitˇ e diferencovateln´ e, jestliˇze v bodˇe x existuj´ı vˇsechny parci´aln´ı derivace ∂fi (x)/∂xj a jsou v tomto bodˇe spojit´e. Vˇ eta 8.2. Je-li zobrazen´ı v bodˇe spojitˇe diferencovateln´e, je v tomto bodˇe diferencovateln´e. 66
Pˇ r´ıklad 8.4. Obˇe parci´aln´ı derivace (8.2) funkce (8.1) jsou spojit´e funkce na cel´em R2 (nebot’ splˇ nuj´ı pˇredpoklady Vˇety 8.1). Proto je funkce (8.1) spojitˇe diferencovateln´a (a tedy diferencovateln´a) na cel´em R2 . Zd˚ uraznˇeme, ˇze pouh´a existence vˇsech parci´aln´ıch derivac´ı pro diferencovatelnost nestaˇc´ı. Pˇ r´ıklad 8.5. Necht’ je funkce f : R2 → R definov´ana jako ( 1 kdyˇz x = 0 nebo y = 0, f (x, y) = 0 kdyˇz x 6= 0 a y 6= 0. Je ∂f (x, y) = ∂x
( 0 neexistuje
kdyˇz x 6= 0 nebo y = 0, kdyˇz x = 0 a y 6= 0
a podobnˇe pro ∂f (x, y)/∂x. V bodˇe (0, 0) tedy existuj´ı obˇe parci´aln´ı derivace (obˇe jsou rovny nule). Lze uk´azat, ˇze v bodˇe (0, 0) funkce nen´ı diferencovateln´a. To nepˇrekvap´ı, nebot’ funkce se v okol´ı tohoto bodu afinn´ı funkci v˚ ubec nepodob´a. V pˇr´ıpadˇe, ˇze je zobrazen´ı f je v bodˇe x diferencovateln´e, m´a matice f ′ (x) pˇrirozen´y tvar: jej´ı sloˇzky jsou parci´aln´ı derivace vˇsech sloˇzek zobrazen´ı podle vˇsech promˇenn´ych: ∂f1 (x) · · · ∂f∂x1 (x) ∂x1 n df (x) .. . .. = f ′ (x) = ... (8.6) . . dx ∂fm (x) ∂fm (x) · · · ∂xn ∂x1
aln´ı derivace1 (nebo kr´atce jen derivace) zobrazen´ı f v bodˇe x. Z Matice (8.6) se naz´yv´a tot´ historick´ych d˚ uvod˚ u se j´ı ˇr´ık´a tak´e Jacobiho matice. Speci´aln´ı pˇr´ıpady: • Pro f : R → R je f ′ (x) skal´ar a spl´yv´a s obyˇcejnou derivac´ı (8.3). • Pro f: R → Rm je f ′ (x) sloupcov´y vektor, jehoˇz sloˇzky jsou obyˇcejn´e derivace sloˇzek f . • Pro f : Rn → R je f ′ (x) ˇr´adkov´y vektor.
8.3.1
Derivace sloˇ zen´ eho zobrazen´ı
Zn´am´e ‘ˇretˇezov´e pravidlo’ pro derivaci sloˇzen´ych funkc´ı jedn´e promˇenn´e lze pˇrirozen´ym zp˚ usobem rozˇs´ıˇrit na zobrazen´ı. D˚ ukaz n´asleduj´ıc´ı vˇety nen´ı kr´atk´y a nebudeme ho uv´adˇet. Vˇ eta 8.3. Necht’ f: Rn → Rm a g: Rm → Rl jsou diferencovateln´a zobrazen´ı. Derivace sloˇzen´eho zobrazen´ı g ◦ f: Rn → Rl je (g ◦ f )′ (x) =
dg(f (x)) = g′ (f(x)) f ′ (x). dx
1
(8.7)
Nˇekdy se m´ısto pojmu ‘tot´aln´ı derivace’ pouˇz´ıv´ a pojem ‘tot´aln´ı diferenci´ al’. Tyto pojmy jsou si podobn´e ale ne identick´e: tot´ aln´ı derivace je matice a tot´ aln´ı diferenci´ al je line´ arn´ı zobrazen´ı reprezentovan´e touto matic´ı.
67
Dimenze z´ uˇcastnˇen´ych prostor˚ u lze pˇrehlednˇe zn´azornit diagramem (viz §1.1.2) g
f
Rn → Rm → Rl . Pokud p´ıˇseme u = f (x) a y = g(u), pravidlo lze ps´at tak´e v Leibnizovˇe znaˇcen´ı jako dy du dy = , dx du dx
(8.8)
coˇz se dobˇre pamatuje, protoˇze du se ‘jakoby vykr´at´ı’ (coˇz ale nen´ı d˚ ukaz!). Zd˚ uraznˇeme, ˇze tato rovnost je n´asoben´ı matic. V´yraz na lev´e stranˇe je matice l ×n, prvn´ı v´yraz na prav´e stranˇe je matice l × m a druh´y v´yraz na prav´e stranˇe je matice m × n. Pro l = m = n = 1 dostaneme ˇretˇezov´e pravidlo pro derivaci sloˇzen´ı funkc´ı jedn´e promˇenn´e. Pravidlo se d´a zjevn´ym zp˚ usobem rozˇs´ıˇrit na sloˇzen´ı v´ıce neˇz dvou zobrazen´ı: Jacobiho matice sloˇzen´eho zobrazen´ı je souˇcinem Jacobiho matic jednotliv´ych zobrazen´ı. Pˇ r´ıklad 8.6. Necht’ g(u, v) je diferencovateln´a funkce dvou promˇenn´ych. Urˇceme derivaci funkce z = h(x, y) = g(x + y, xy) podle vektoru (x, y), tedy jej´ı parci´aln´ı derivace podle x a y. g f M´ame R2 → R2 → R, kde f (x, y) = (u, v) = (x + y, xy). Viz obr´azek: x y
u f
v
g
z
Derivace zobrazen´ı g podle vektoru (u, v) je matice 1 × 2 (ˇr´adkov´y vektor) i h ∂g(u,v) ∂g(u,v) ′ g (u, v) g (u, v) = . g (u, v) = u v ∂u ∂v
Derivace zobrazen´ı f podle vektoru (x, y) je matice 2 × 2 # " ∂(x+y) ∂(x+y) df (x, y) 1 1 ′ ∂x ∂y f (x, y) = . = = ∂(xy) ∂(xy) y x d(x, y) ∂x ∂y
Derivace zobrazen´ı h = g ◦ f: R2 → R podle vektoru (x, y) je matice 1 × 2 (ˇr´adkov´y vektor) dg(f(x, y)) dh(x, y) = = g ′(u, v)f ′ (x, y) d(x, y) d(x, y) 1 1 = gu (u, v) gv (u, v) y x = gu (u, v) + ygv (u, v) gu (u, v) + xgv (u, v) ,
kde u = x + y a v = xy.
2 +(xy)2
Pˇ r´ıklad 8.7. Ukaˇzme dva zp˚ usoby, jak naj´ıt parci´aln´ı derivaci fx funkce f (x, y) = e(x+y) • Povaˇzujeme y za konstantu a derivujeme f jako funkci jedn´e promˇenn´e x: 2 +(xy)2
fx = [2(x + y) + 2(xy)y]e(x+y)
68
2 +(xy)2
= 2(x + y + xy 2 )e(x+y)
.
:
• Poloˇz´ıme u = x + y, v = xy, f (u, v) = eu fu = 2ueu m´ame fx = fu + yfv = 2ueu
2 +v 2
2 +v 2
2 +v 2
,
+ y(2v)eu
. Z Pˇr´ıkladu 8.6 m´ame fx = fu + yfv . Jelikoˇz fv = 2veu
2 +v 2
2 +v 2
, 2 +(xy)2
= 2(x + y + xy 2 )e(x+y)
.
Pˇ r´ıklad 8.8. M´ame diferencovatelnou funkci g: R2 → R a chceme spoˇc´ıtat derivaci funkce g(t + t2 , sin t) podle t. g f M´ame R → R2 → R, kde f(t) = (u, v) = (t + t2 , sin t). Je 1 + 2t dg(t + t2 , sin t) ′ ′ = gu (u, v)(1 + 2t) + gv (u, v) cos t. = g (u, v)f (t) = gu (u, v) gv (u, v) cos t dt
8.3.2
Derivace maticov´ ych v´ yraz˚ u
Jsou-li funkce nebo zobrazen´ı zad´any v´yrazem obsahuj´ıc´ım vektory a matice, derivaci lze vˇzdy spoˇc´ıtat ‘hrubou silou’ tak, ˇze v´yraz rozep´ıˇseme do sloˇzek a spoˇc´ıt´ame parci´aln´ı derivace kaˇzd´e sloˇzky podle kaˇzd´e promˇenn´e. Pˇr´ısnˇe vzato, u ´kol jsme t´ım splnili. Je ovˇsem v´yhodn´e tento v´ysledek zjednoduˇsit tak, ˇze pro nˇej najdeme maticov´y v´yraz. Pˇ r´ıklad 8.9. Odvod’me derivaci zobrazen´ı f: Rn → Rm dan´eho vzorcem f(x) = Ax + b, kde A ∈ Rm×n a b ∈ Rm . M´ame f1 (x) = a11 x1 + · · · + a1n xn + b1 .. . fm (x) = am1 x1 + · · · + amn xn + bm . Ale ∂fi (x)/∂xj = aij , tedy dle (8.6) je f ′ (x) = A. Tomu se nediv´ıme, nebot’ zobrazen´ı f je afinn´ı, tedy jeho afinn´ı aproximace (8.5) mus´ı b´yt to sam´e afinn´ı zobrazen´ı. Oporavdu: prav´a strana v´yrazu (8.5) je rovna Ay + b (zkontrolujte!). Pˇ r´ıklad 8.10. Poˇc´ıtejme derivaci zobrazen´ı g(Ax + b) podle x, kde g: Rl → Rm , A ∈ Rl×n , g f b ∈ Rl . V ˇretˇezov´em pravidle m´ame Rn → Rl → Rm , kde f(x) = Ax + b. Je f ′ (x) = A, tedy dg(Ax + b) = g′ (Ax + b)A. dx
Pˇ r´ıklad 8.11. Odvod’me derivaci kvadratick´e formy f (x) = xT Ax, kde A je libovoln´a (ne nutnˇe symetrick´a) matice velikosti n × n. Nap´ıˇseme si funkci f podrobnˇe: xT Ax = a11 x21 + a21 x2 x1 + · · · + an1 xn x1 + a12 x1 x2 + a22 x22 + · · · + an2 xn x1 + .. . a1n x1 xn + a2n x2 xn + · · · + ann x2n . 69
Z tohoto v´yrazu po troˇse snahy vid´ıme, ˇze ∂f (x) = 2a11 x1 + (a21 + a12 )x2 + · · · + (an1 + a1n )xn ∂x1 a podobnˇe pro derivace podle ostatn´ıch promˇenn´ych. Ale tyto parci´aln´ı derivace lze uspoˇr´adat do ˇr´adkov´eho vektoru h i ∂f (x) ∂f (x) ′ f (x) = ∂x1 · · · ∂xn = xT (A + AT ). N´asleduj´ıc´ı tabulka uv´ad´ı derivace ˇcasto potk´avan´ych zobrazen´ı. Odvod’te je jako cviˇcen´ı! f(x) x Ax xT x xT Ax xT a = aT x kxk2 g(x)T g(x) g(x)T h(x)
8.4
f ′ (x) I A 2xT xT (A + AT ) aT xT /kxk2 2g(x)T g′ (x) g(x)T h′ (x) + h(x)T g′ (x)
pozn´amka f: Rn → Rn A ∈ Rm×n , f: Rn → Rm f: Rn → R A ∈ Rn×n , f : Rn → R a ∈ Rn , f : Rn → R f: Rn → R g: Rn → Rm , f: Rn → R g: Rn → Rm , h: Rn → Rm , f : Rn → R
Smˇ erov´ a derivace
ˇ Rez zobrazen´ı f: Rn → Rm v bodˇe x ∈ Rn ve smˇeru2 v ∈ Rn je zobrazen´ı ϕ: R → Rm dan´e jako ϕ(α) = f (x + αv). (8.9) Smˇ erov´ a derivace3 zobrazen´ı f v bodˇe x ve smˇeru v je ˇc´ıslo ϕ(α) − ϕ(0) f (x + αv) − f(x) = lim , α→0 α→0 α α
(ϕ′1 (0), . . . , ϕ′m (0)) = lim
(8.10)
kde ϕ′1 (0) oznaˇcuje derivaci i-t´e sloˇzky zobrazen´ı ϕ v bodˇe α = 0. Pojem smˇerov´e derivace se geometricky snadnˇeji pˇredstav´ı pro pˇr´ıpad m = 1, tedy pro funkci f : Rn → R. Obr´azek ilustruje situaci pro funkci f : R2 → R:
x
3
2
1
v x + v f
Parci´aln´ı derivace funkce f : Rn → R nen´ı nic jin´eho neˇz jej´ı smˇerov´a derivace ve smˇeru i-t´eho vektoru standardn´ı b´aze ei = (0, . . . , 0, 1, 0, . . . , 0) (jedniˇcka na i-t´em m´ıstˇe). 2
Nˇekdy se ˇrez a smˇerov´a derivace uvaˇzuj´ı jen pro normalizovan´e smˇery v, tj. kvk2 = 1. My ale dovolujeme libovoln´ y vektor v. 3 Pˇresnˇeji jde o oboustrannou smˇerovou derivaci. Jednostrannou smˇerovou derivaci bychom dostali, kdybychom m´ısto oboustrann´e limity (8.10) vzali jednostrannou limitu zprava.
70
Vˇ eta 8.4. Necht’ zobrazen´ı f: Rn → Rm je diferencovateln´e v bodˇe x. Pak jeho smˇerov´a derivace v bodˇe x ve smˇeru v je rovna f ′ (x)v. D˚ ukaz. Zobrazen´ı y = ϕ(α) = f (x + αv) je sloˇzen´ım dvou zobrazen´ı y = f (u) a u = x + αv. u=x+αv
y=f (x)
M´ame diagram R −−−−−→ Rn −−−−→ Rm . M´ame du/dα = v. Podle ˇretˇezov´eho pravidla je ϕ′ (α) =
dy du df(u) dy = = v. dα du dα du
Pro α = 0 je u = x, ˇc´ımˇz je vˇeta dok´az´ana.
Vˇeta 8.4 ˇr´ık´a, ˇze je-li zobrazen´ı f diferencovateln´e, je jeho smˇerov´a derivace (v pevn´em bodˇe x) line´arn´ı zobrazen´ı smˇeru v reprezentovan´e Jacobiho matic´ı f ′ (x). Zd˚ uraznˇeme, ˇze nic takov´eho neplat´ı, pokud zobrazen´ı f nen´ı diferencovateln´e. Pˇ r´ıklad 8.12. Spoˇc´ıtejme smˇerovou derivaci funkce f (x, y) = sin(x + y 2) v bodˇe (x, y) ve smˇeru (u, v). Podle definice je ϕ(α) = sin(x + αu + (y + αv)2), ϕ′ (α) = (u + 2v(y + αv)) cos(x + αu + (y + αv)2), ϕ′ (0) = (u + 2vy) cos(x + y 2).
(8.11)
Podle Vˇety 8.4 je smˇerov´a derivace rovna ufx (x, y) + vfy (x, y) = u cos(x + y 2 ) + 2vy cos(x + y 2 ), coˇz je stejn´e jako (8.11).
8.5
Gradient
Transpozici tot´aln´ı derivace funkce f : Rn → R se ˇr´ık´a gradient a znaˇc´ı se ∂f (x) ∂x1
f ′ (x)T = ... = ∇f (x) ∂f (x) ∂xn
(∇ ˇcteme ‘nabla’). Jelikoˇz f ′ (x) je ˇr´adkov´y vektor, je gradient sloupcov´y vektor4 . Zkoumejme smˇerovou derivaci v pevn´em bodˇe x pro r˚ uzn´e normalizovan´e smˇery v (tedy kvk2 = 1). Tato derivace je rovna f ′ (x)v = ∇f (x)T v, coˇz je skal´arn´ı souˇcin gradientu v bodˇe x a vektoru v. Je jasn´e (ale promyslete!), ˇze: • Smˇerov´a derivace je nejvˇetˇs´ı ve smˇeru v = ∇f (x)/k∇f (x)k2 , tedy kdyˇz je v rovnobˇeˇzn´y s gradientem a stejnˇe orientovan´y. Tedy smˇer gradientu je smˇer nejvˇetˇs´ıho r˚ ustu funkce. • Velikost gradientu k∇f (x)k2 je strmost funkce ve smˇeru nejvˇetˇs´ıho r˚ ustu. 4
Zaveden´ı nov´eho slova pro transpozici derivace se zd´a zbyteˇcn´e – nicm´enˇe d˚ uvod je v tom, ˇze tot´ aln´ı diferenci´ al je line´ arn´ı funkce, kdeˇzto gradient je vektor. Literatura bohuˇzel nen´ı jednotn´a v rozliˇsov´an´ı gradientu a (tot´aln´ı) derivace funkce. Nˇekdy se oboj´ı ztotoˇzn ˇuje a znaˇc´ı ∇f (x). To ale vede k nekonzistenci se znaˇcen´ım pouˇz´ıvan´ ym v line´arn´ı algebˇre, protoˇze derivace funkce Rn → R pak nen´ı speci´ aln´ım pˇr´ıpadem derivace zobrazen´ı Rn → Rm (tedy Jacobiho matice) pro m = 1, coˇz je ˇr´adkov´ y vektor.
71
• Smˇerov´a derivace ve smˇeru kolm´em na gradient je nulov´a. D´ale lze uk´azat (viz diskuze v §9.4.1), ˇze gradient je vˇzdy kolm´y k vrstevnici . Obr´azek ukazuje tˇri vrstevnice funkce f : R2 → R a jej´ı gradienty v nˇekolika bodech:
3
8.6
2
x
1
rf (x)
f
Parci´ aln´ı derivace druh´ eho ˇ r´ adu
Zderivujeme-li funkci f : Rn → R nejdˇr´ıve podle promˇenn´e xi a pak podle promˇenn´e xj , dostaneme parci´aln´ı derivaci druh´eho ˇr´adu, kterou znaˇc´ıme ∂ 2 f (x) ∂ ∂f (x) = . ∂xj ∂xi ∂xi ∂xj Je-li i = j, p´ıˇseme zkr´acenˇe
∂ ∂f (x) ∂ 2 f (x) . = ∂xi ∂xi ∂x2i Vˇ eta 8.5. Pokud jsou druh´e parci´aln´ı derivace ∂ 2 f (x) ∂ 2 f (x) , ∂xi ∂xj ∂xj ∂xi spojit´e v bodˇe x, pak jsou si rovny. Pˇ r´ıklad 8.13. Urˇceme vˇsechny druh´e parci´aln´ı derivace funkce f (x, y) = sin(x + y 2) z Pˇr´ıkladu 8.2. Prvn´ı derivace uˇz tam m´ame. Nyn´ı druh´e derivace: ∂ ∂ 2 f (x, y) = (cos(x + y 2 )) = − sin(x + y 2), 2 ∂x ∂x ∂ ∂ 2 f (x, y) = (cos(x + y 2)) = −2y sin(x + y 2), ∂x ∂y ∂y ∂ 2 f (x, y) ∂ = (2y cos(x + y 2)) = −2y sin(x + y 2), ∂y ∂x ∂x ∂ ∂ 2 f (x, y) = (2y cos(x + y 2 )) = 2 cos(x + y 2) − 4y 2 sin(x + y 2 ). 2 ∂y ∂y Vid´ıme, ˇze vskutku nez´aleˇz´ı na poˇrad´ı derivov´an´ı podle x a podle y. Pro funkci f : Rn → R budeme znaˇcit matici vˇsech druh´ych parci´aln´ıch derivac´ı ∂ 2 f (x) ∂ 2 f (x) · · · ∂x1 ∂x1 ∂x1 ∂xn .. . .. f ′′ (x) = ... . . ∂ 2 f (x) ∂xn ∂x1
···
∂ 2 f (x) ∂xn ∂xn
Je to symetrick´a matice velikosti n × n, kter´a se ˇcasto naz´yv´a Hessova matice. Co by byla druh´a derivace zobrazen´ı f: Rn → Rm ? Nebyla by to jiˇz dvojrozmˇern´a tabulka (tedy matice) velikosti n × n, n´ybrˇz tˇr´ırozmˇern´a tabulka velikosti m × n × n. 72
8.7
Taylor˚ uv polynom
Necht’ funkce f : R → R m´a v bodˇe x derivace aˇz do ˇr´adu k. Jej´ı Taylor˚ uv polynom stupnˇe k v bodˇe x je polynom Tk : R → R takov´y, ˇze v bodˇe x m´a vˇsechny derivace aˇz do ˇr´adu k stejn´e jako funkce f . V tomto smyslu je polynom Tk aproximac´ı funkce f v okol´ı bodu x. Taylor˚ uv polynom je t´ımto poˇzadavkem definov´an jednoznaˇcnˇe a m´a tvar (odvod’te!) k X 1 (i) f (x) (y − x)i , Tk (y) = i! i=0
(8.12)
kde f (i) oznaˇcuje i-tou derivaci funkce f (kde nult´a derivace je funkce sama, f (0) = f ) a kde klademe 0! = 1. Tvary polynomu aˇz do stupnˇe 2: T0 (y) = f (x), T1 (y) = f (x) + f ′ (x) (y − x), T2 (y) = f (x) + f ′ (x) (y − x) + 21 f ′′ (x) (y − x)2 . Taylor˚ uv polynom nult´eho stupnˇe T0 je hodnˇe ˇspatn´a aproximace, rovn´a jednoduˇse konstantn´ı funkci. Polynom prvn´ıho stupnˇe T1 (x) uˇz zn´ame ze vzorce (8.4). Polynom druh´eho stupnˇe T2 je parabola, kter´a m´a s funkc´ı f v bodˇe x spoleˇcnou hodnotu a prvn´ı dvˇe derivace. Viz obr´azek: T1 (y)
T2 (y) f (y)
T0 (y)
x
Jak zobecnit Taylor˚ uv polynom pro funkci v´ıce promˇenn´ych f : Rn → R? Definujme Taylor˚ uv polynom k-t´eho stupnˇe (funkce f v okol´ı bodu x) jako polynom Tk : Rn → R, kter´y m´a s funkc´ı f v bodˇe x spoleˇcn´e vˇsechny parci´aln´ı derivace aˇz do ˇr´adu k. Nebudeme uv´adˇet vzorec pro polynom libovoln´eho stupnˇe, nap´ıˇseme jen polynomy do stupnˇe dva: T0 (y) = f (x), T1 (y) = f (x) + f ′ (x) (y − x), T2 (y) = f (x) + f ′ (x) (y − x) + 12 (y − x)T f ′′ (x) (y − x).
(8.13a) (8.13b) (8.13c)
Zde x, y ∈ Rn , f ′ (x) ∈ R1×n je Jacobiho matice (ˇr´adkov´y vektor) a f ′′ (x) ∈ Rn×n je Hessova matice. Funkce (8.13b) je afinn´ı a funkce (8.13c) je kvadratick´a. Taylor˚ uv polynom lze zobecnit na zobrazen´ı f: Rn → Rm tak, ˇze vezmeme Taylorovy polynomy vˇsech sloˇzek f1 , . . . , fm . Polynom prvn´ıho stupnˇe tak vede na zobrazen´ı T1 (y) = f(x) + f ′ (x) (y − x),
(8.14)
coˇz nen´ı nic jin´eho neˇz prav´a strana (8.5). Polynom druh´eho stupnˇe vede na zobrazen´ı T2 , jehoˇz sloˇzky jsou funkce (8.13c). To nejde napsat v maticov´e formˇe, protoˇze vˇsech m × n × n druh´ych parci´aln´ıch derivac´ı se ‘nevejde’ do matice. 73
Pˇ r´ıklad 8.14. Najdˇete Taylor˚ uv polynom druh´eho stupnˇe funkce f (x, y) = x−1 + y −1 + xy v bodˇe (x0 , y0 ) = (2, 1). M´ame 7 f (x0 , y0) = x−1 + y −1 + xy (x,y)=(2,1) = , 2 f ′ (x0 , y0) = y − x−2 x − y −2 (x,y)=(2,1) = 43 1 , 1 −3 1 2x 1 ′′ . = 4 f (x0 , y0) = −3 1 2 1 2y (x,y)=(2,1)
Dle (8.13c) je (pozor, naˇse promˇenn´e jsou oznaˇcen´e jinak neˇz v (8.13c))
T 1 x − x0 x − x0 x − x0 ′′ + T2 (x, y) = f (x0 , y0 ) + f (x0 , y0 ) f (x0 , y0 ) y − y0 y − y0 2 y − y0 T 1 x−2 1 x−2 7 1 x−2 4 + = + 43 1 y−1 1 2 y−1 2 2 y−1 ′
= 81 x2 + xy + y 2 − 43 x − 3y + 92 .
8.8
Cviˇ cen´ı
8.1. M´ame mnoˇziny X = [−1, 1] × {0} = { (x, 0) | −1 ≤ x ≤ 1 } ⊆ R2 a Y = [−1, 1] × [−1, 1]. Naˇcrtnˇete n´asleduj´ıc´ı mnoˇziny: a) x ∈ R2 1 ≥ min kx − yk2 y∈X 2 b) x ∈ R 2 ≥ max kx − yk2 y∈X
c) vrstevnice v´yˇsky 1 funkce f (x) = min kx − yk2 y∈Y √ d) vrstevnice v´yˇsky 2 funkce f (x) = max kx − yk2 y∈Y
8.2. Je d´ana funkce dvou promˇenn´ych f (x, y). a) Spoˇc´ıtejte derivace f podle pol´arn´ıch souˇradnic (ϕ, r), kde x = r cos ϕ, y = r sin ϕ. b) Bod (x, y) se v ˇcase t pohybuje po kˇrivce dan´e rovnic´ı (x, y) = (t2 + 2t, log(t2 + 1)). Najdˇete derivaci f podle ˇcasu. 8.3. Spoˇc´ıtejte derivaci funkce g(u) = f (aT u, kuk2 ) podle vektoru u.
8.4. Nadmoˇrsk´a v´yˇska krajiny je d´ana vzorcem h(d, s) = 2s2 + 3sd − d2 + 5, kde d je zemˇepisn´a d´elka (zvˇetˇsuje se od z´apadu k v´ychodu) a s je zemˇepisn´a ˇs´ıˇrka (zvˇetˇsuje se od jihu k severu). V bodˇe (d, s) = (−1, 1) urˇcete a) smˇer nejstrmˇejˇs´ıho stoup´an´ı ter´enu b) strmost ter´enu v jihov´ychodn´ım smˇeru. V t´eto u ´loze je logick´e uvaˇzovat smˇer jako normalizovan´y vektor.
8.5. Spoˇc´ıtejte druhou derivaci f ′′ (x, y) (tj. Hessovu matici) funkc´ı (v´ysledek co nejv´ıce zjednoduˇste) 74
2
2
a) f (x, y) = e−x −y b) f (x, y) = log(ex + ey ) 8.6. Hessova matice kvadratick´e formy f (x) = xT Ax je f ′′ (x) = A + AT . Odvod’te. 8.7. Je d´ana funkce f (x, y) = 6xy 2 − 2x3 − 3y 3 . V bodˇe (x0 , y0 ) = (1, −2) najdˇete Taylor˚ uv polynom nult´eho, prvn´ıho a druh´eho stupnˇe. 8.8. Metoda koneˇcn´ych diferenc´ı poˇc´ıt´a derivaci funkce pˇribliˇznˇe jako f (x + h) − f (x) , h √ kde h je mal´e ˇc´ıslo (dobr´a volba je h = ε, kde ε je strojov´a pˇresnost). Toto jde pouˇz´ıt i na parci´aln´ı derivace. Vymyslete si dvˇe zobrazen´ı g: Rn → Rm a f : Rm → Rl pro nˇejak´e navz´ajem r˚ uzn´e dimenze n, m, l > 1. Zvolte bod x ∈ Rn . Spoˇc´ıtejte pˇribliˇznˇe tot´aln´ı derivace (Jacobiho matice) g′ (x) a f ′ (g(x)) v Matlabu metodou koneˇcn´ych diferenc´ı. Potom spoˇc´ıtejte derivaci sloˇzen´eho zobrazen´ı (f ◦ g)′ (x) jednak metodou koneˇcn´ych diferenc´ı a jednak vyn´asoben´ım matic g′ (x) a f ′ (g(x)). Porovnejte. f ′ (x) ≈
N´ apovˇ eda a ˇ reˇ sen´ı 8.2.a) fϕ (x, y) = −fx (x, y)r sin ϕ + fy (x, y)r cos ϕ, fr (x, y) = fx (x, y) cos ϕ + fy (x, y) sin ϕ
8.2.b) ft (x, y) = 2fx (x, y)(t + 1) + 2tfy (x, y)/(t2 + 1) √ 8.4.a) (5, 1)/ 26 √ √ 8.4.b) (5, 1)T (1, −1)/ 2 = 2 2 2 2 −y 2 2x − 1 2xy −x 8.5.a) 2e 2xy 2x2 − 1 x+y 1 −1 8.5.b) (exe+ey )2 −1 1 8.7.
T0 (x, y) = 46, T1 (x, y) = 18x − 60y − 92, T2 (x, y) = −6x2 − 24xy − 18x + 24y 2 + 60y + 46
75
Kapitola 9 Analytick´ e podm´ınky na lok´ aln´ı extr´ emy 9.1
Vlastnosti bodu vzhledem k podmnoˇ zinˇ e Rn
Mnoˇzina U ⊆ Rn se naz´yv´a okol´ı bodu x ∈ Rn , jestliˇze existuje ε > 0 tak, ˇze1 U = { y ∈ Rn | kx − yk < ε }.
(9.1)
Mnoˇzina U je koule (bez hranice) se stˇredem x a nenulov´ym polomˇerem ε. Definice 9.1. Mˇejme mnoˇzinu X ⊆ Rn . Bod x ∈ Rn se naz´yv´a jej´ı • vnitˇ rn´ı bod, jestliˇze existuje okol´ı U bodu x takov´e, ˇze U ⊆ X
• hraniˇ cn´ı bod, jestliˇze pro kaˇzd´e okol´ı U bodu x je U ∩ X 6= ∅ a U ∩ (Rn \ X) 6= ∅
Vˇsimnˇete si, ˇze hraniˇcn´ı bod mnoˇziny nemus´ı patˇrit do t´eto mnoˇziny. Pokud leˇz´ı bod v mnoˇzinˇe, je bud’ vnitˇrn´ı nebo hraniˇcn´ı, ale ne oboj´ı najednou (dokaˇzte!). Vnitˇ rek [hranice] mnoˇziny je mnoˇzina vˇsech jej´ıch vnitˇrn´ıch [hraniˇcn´ıch] bod˚ u. Pˇ r´ıklad 9.1. M´ame mnoˇzinu { (x, y) ∈ R2 | x2 + y 2 ≤ 1, y > 0 } ∪ {(1, 1)} na obr´azku: y (1; 1) = d
b
a
x
0
Bod a je vnitˇrn´ı bod mnoˇziny, protoˇze existuje jeho okol´ı U, kter´e cel´e leˇz´ı v mnoˇzinˇe. Bod b je hraniˇcn´ı, protoˇze kaˇzd´e jeho okol´ı m´a nepr´azdn´y pr˚ unik s mnoˇzinou i s jej´ım doplˇ nkem. Vˇsimnˇete si, ˇze b nepatˇr´ı do mnoˇziny. Bod a nen´ı hraniˇcn´ı a bod b nen´ı vnitˇrn´ı. Bod c nen´ı vnitˇrn´ı, je hraniˇcn´ı a patˇr´ı do mnoˇziny. Bod d je hraniˇcn´ı. Pˇ r´ıklad 9.2. Bod 1/2 je vnitˇrn´ı bod intervalu (0, 1] ⊆ R a body 0 a 1 jsou hraniˇcn´ı.
Pˇ r´ıklad 9.3. Mnoˇzina [0, 1] × {1} = { (x, y) | 0 ≤ x ≤ 1, y = 1 } ⊆ R2 (´ useˇcka v rovinˇe) nem´a ˇz´adn´e vnitˇrn´ı body. Vˇsechny jej´ı body jsou hraniˇcn´ı. je tedy sama svou vlastn´ı hranic´ı. 1
Norma v (9.1) m˚ uˇze b´ yt eukleidovsk´ a, ale i libovoln´ a jin´a vektorov´a p-norma (viz §11.3.1). Vnitˇrek a hranice mnoˇziny na v´ ybˇeru normy nez´ avis´ı.
76
9.2
Lok´ aln´ı extr´ emy
Zopakujte si pojem extr´emu funkce na mnoˇzinˇe (§1.1.4): funkce f : Rn → R nab´yv´a na mnoˇzinˇe X ⊆ Rn sv´eho minima v bodˇe x ∈ X, jestliˇze f (x) ≤ f (x′ ) pro vˇsechna x′ ∈ X. Definice 9.2. Funkce f : Rn → R nab´yv´a na mnoˇzinˇe X ⊆ Rn sv´eho lok´ aln´ıho minima v bodˇe x ∈ X, jestliˇze existuje okol´ı U bodu x tak, ˇze funkce f nab´yv´a na mnoˇzinˇe U ∩ X sv´eho minima v bodˇe x. Lok´aln´ı maximum se definuje obdobnˇe. Kaˇzd´e minimum funkce f na mnoˇzinˇe X je z´aroveˇ n lok´aln´ı minimum funkce f na mnoˇzinˇe X (naopak to ale obecnˇe neplat´ı). Mluv´ıme-li o lok´aln´ıch aln´ı extr´emech, pro zd˚ uraznˇen´ı nˇekdy ‘obyˇcejn´e’ extr´emy (ve smyslu §1.1.4) naz´yv´ame glob´ extr´ emy. Pokud odkaz na mnoˇzinu X chyb´ı, mysl´ı se j´ı cel´y definiˇcn´ı obor funkce f . Pˇ r´ıklad 9.4. Funkce jedn´e promˇenn´e na obr´azku nab´yv´a na uzavˇren´em intervalu [a, f ] ⊆ R v bodˇe a lok´aln´ıho a z´aroveˇ n glob´aln´ıho maxima, v bodˇe b lok´aln´ıho minima, v bodˇe c lok´aln´ıho maxima a z´aroveˇ n lok´aln´ıho minima, v bodˇe d lok´aln´ıho maxima, v bodˇe e lok´aln´ıho a z´aroveˇ n glob´aln´ıho minima, v bodˇe f lok´aln´ıho maxima.
a
c
b
e
d
f
Pˇ r´ıklad 9.5. Necht’ X ⊆ R2 je kruˇznice a funkce f : R2 → R m´a vrstevnice jako na obr´azku: 3 x′
2
1
U x X
f
V bodˇe x nab´yv´a funkce f na mnoˇzinˇe X glob´aln´ıho (a tedy i lok´aln´ıho) minima, protoˇze v ˇz´adn´em bodˇe na kruˇznici X nem´a funkce menˇs´ı hodnotu neˇz f (x) = 2. V bodˇe x′ nab´yv´a funkce f na mnoˇzinˇe X lok´aln´ıho minima, protoˇze existuje okol´ı U bodu x′ takov´e, ˇze funkce f nab´yv´a na ˇc´asti kruˇznice U ∩ X sv´eho (glob´aln´ıho) minima.
9.3
Voln´ e lok´ aln´ı extr´ emy
Vˇ eta 9.1. Necht’ f : Rn → R a x ∈ X ⊆ Rn . Necht’ 77
• funkce f je v bodˇe x diferencovateln´a,
• x je vnitˇrn´ı bod mnoˇziny X,
• x je lok´aln´ı extr´em funkce f na mnoˇzinˇe X. Pak f ′ (x) = 0, neboli vˇsechny parci´aln´ı derivace funkce f v bodˇe x jsou nulov´e. D˚ ukaz. Z Definice 9.2 plyne, ˇze funkce f m´a v bodˇe x (glob´aln´ı) extr´em na nˇejak´em okol´ı U bodu x. Z toho ovˇsem plyne, ˇze ˇrez ϕ(α) = f (x + αv) funkce f (viz §8.4) v libovoln´em smˇeru v 6= 0 m´a (glob´aln´ı) extr´em v bodˇe α = 0 na mnoˇzinˇe { α ∈ R | x + αv ∈ U }. Tedy funkce ϕ m´a v bodˇe α = 0 lok´aln´ı extr´em. Tedy jej´ı derivace je v tomto bodˇe nulov´a (to v´ıme z anal´yzy funkc´ı jedn´e promˇenn´e). Ale tato derivace je smˇerov´a derivace funkce f v bodˇe x ve smˇeru v. Parci´aln´ı derivace jsou speci´aln´ım pˇr´ıpadem smˇerov´e derivace. Bod, ve kter´em m´a funkce vˇsechny parci´aln´ı derivace nulov´e, se naz´yv´a jej´ı stacion´ arn´ı bod. Vˇeta 9.1 sv´ad´ı k tomu, aby se pouˇzila v situac´ıch, kdy nejsou splnˇeny jej´ı pˇredpoklady. Uved’me pˇr´ıklady tohoto chyb´eho pouˇzit´ı. Pˇ r´ıklad 9.6. V Pˇr´ıkladu 9.4 jsou pˇredpoklady Vˇety 9.1 splnˇeny pouze pro body b, c, kter´e jsou stacion´arn´ı a vnitˇrn´ı. Body a, f jsou hraniˇcn´ı (tedy ne vnitˇrn´ı) body intervalu [a, f ] a v bodech d, e nen´ı funkce diferencovateln´a. Pˇ r´ıklad 9.7. Funkce f (x) = x3 m´a na R v bodˇe 0 stacion´arn´ı bod, ale nem´a tam lok´aln´ı extr´em. To nen´ı v rozporu s Vˇetou 9.1. Pˇ r´ıklad 9.8. Funkce f (x) = kxk2 m´a na hyperkrychli X = { x ∈ Rn | −1 ≤ x ≤ 1 } v bodˇe 0 voln´e lok´aln´ı minimum (nakreslete si mnoˇzinu a vrstevnice funkce pro n = 1 a pro n = 2!). Nem´a tam ale stacion´arn´ı bod, protoˇze tam nen´ı diferencovateln´a. D´ale m´a funkce na mnoˇzinˇe X lok´aln´ı maxima ve vˇsech roz´ıch hyperkrychle, napˇr. v bodˇe 1. V bodˇe 1 ale nen´ı stacion´arn´ı bod, coˇz nen´ı v rozporu s Vˇetou 9.1, protoˇze 1 nen´ı vnitˇrn´ı bod X. Vˇeta 9.1 ˇr´ık´a, ˇze stacion´arn´ı body jsou body ‘podezˇrel´e’ z voln´eho lok´aln´ıho extr´emu. Ud´av´a podm´ınku prvn´ıho ˇr´adu na voln´e extr´emy, protoˇze obsahuje prvn´ı derivace. N´asleduj´ıc´ı podm´ınka druh´eho ˇr´adu pom˚ uˇze zjistit, zda je stacion´arn´ı bod lok´aln´ım extr´emem, pˇr´ıpadnˇe jak´ym. Vˇ eta 9.2. Necht’ f : Rn → R a x ∈ X ⊆ Rn . Necht’ • funkce f je v bodˇe x dvakr´at diferencovateln´a, • x je vnitˇrn´ı bod mnoˇziny X,
• f ′ (x) = 0. Pak plat´ı: • Je-li Hessova matice f ′′ (x) pozitivnˇe [negativnˇe] definitn´ı, pak x je lok´aln´ı minimum [maximum] funkce f na mnoˇzinˇe X. • Je-li f ′′ (x) indefinitn´ı, pak x nen´ı lok´aln´ı extr´em funkce f na mnoˇzinˇe X. I kdyˇz Vˇetu 9.2 nebudeme dokazovat, z´akladn´ı myˇslenka d˚ ukazu nen´ı pˇrekvapuj´ıc´ı. M´ısto funkce f vyˇsetˇrujeme v bl´ızkosti bodu x jej´ı Taylor˚ uv polynom druh´eho stupnˇe (8.13c), T2 (y) = f (x) + f ′ (x)(y − x) + 12 (y − x)T f ′′ (x) (y − x). {z } | 0
78
Protoˇze f ′ (x) = 0, line´arn´ı ˇclen je nulov´y a polynom je tedy kvadratick´a forma posunut´a do bodu x. Rozd´ıl je ale v tom, ˇze pokud je kvadratick´a forma (pozitivnˇe ˇci negativnˇe) semidefinitn´ı, m´a v poˇc´atku extr´em, zat´ımco Vˇeta 9.2 o pˇr´ıpadu, kdy je f ′′ (x) semidefinitn´ı, nic neprav´ı. V tom pˇr´ıpadˇe v bodˇe x lok´aln´ı extr´em b´yt m˚ uˇze nebo nemus´ı (pˇr´ıkladem jsou funkce f (x) = x3 4 a f (x) = x v bodˇe x = 0). Bod x, ve kter´em je f ′ (x) = 0 a matice f ′′ (x) je indefinitn´ı, se naz´yv´a sedlov´ y bod. Pˇ r´ıklad 9.9. Extr´emy kvadratick´e funkce (6.10) um´ıme hledat pomoc´ı rozkladu na ˇctverec. Ovˇsem je to tak´e moˇzn´e pomoc´ı derivac´ı. Podm´ınka stacionarity je d T (x Ax + bT x + c) = 2xT AT + bT = 0. dx Po transpozici dostaneme rovnici (6.12a). Druh extr´emu urˇc´ıme podle druh´e derivace (Hessi´anu), kter´y je roven 2A (pˇredpok´ad´ame symetrii A). To souhlas´ı s klasifikac´ı extr´em˚ u kvadratick´e formy z §6.
9.4
Lok´ aln´ı extr´ emy v´ azan´ e rovnostmi
Hledejme minimum funkce f : Rn → R na mnoˇzinˇe
X = { x ∈ Rn | g(x) = 0 },
(9.2)
min f (x1 , . . . , xn ) za podm´ınek gi (x1 , . . . , xn ) = 0, i = 1, . . . , m.
(9.3)
kde g = (g1 , . . . , gm ): Rn → Rm . To odpov´ıd´a u ´loze (1.7) s omezen´ımi typu rovnosti:
Mluv´ıme o minimu funkce f v´azan´em rovnostmi g(x) = 0. Mnoˇzina X obsahuje vˇsechna ˇreˇsen´ı soustavy g(x) = 0, coˇz je soustava m rovnic o n nezn´am´ych. Mnoˇzina X obvykle nem´a ˇz´adn´e vnitˇrn´ı body, proto nelze pouˇz´ıt Vˇetu 9.1. V nˇekter´ych pˇr´ıpadech ale lze vyj´adˇrit vˇsechna ˇreˇsen´ı soustavy g(x) = 0 parametricky a u ´lohu tak pˇrev´est na u ´lohu bez omezen´ı. Toto jsme pouˇzili v Pˇr´ıkladu 1.2, uved’me dalˇs´ı pˇr´ıklady. Pˇ r´ıklad 9.10. Hledejme obd´eln´ık s jednotkov´ym obsahem a minim´aln´ım obvodem. Tedy minimalizujeme funkci f (x, y) = x + y za podm´ınky xy = 1, neboli hled´ame minima f na mnoˇzinˇe X = { (x, y) ∈ R2 | g(x, y) = 1 − xy = 0 }. Mnoˇzina X nem´a ˇz´adn´e vnitˇrn´ı body (dokaˇzte!), proto nelze pouˇz´ıt Vˇetu 9.1. Z podm´ınky ale m´ame y = 1/x, coˇz dosazeno do u ´ˇcelov´e funkce d´a f (x, 1/x) = x + 1/x. Dle Vˇety 9.1 m´a tato funkce na sv´em definiˇcn´ım oboru dva stacion´arn´ı body x = ±1. Tedy body podezˇrel´e z lok´aln´ıho extr´emu jsou (x, y) = ±(1, 1).
ˇ sme u Pˇ r´ıklad 9.11. Reˇ ´lohu
min x + y za podm´ınky x2 + y 2 = 1,
(9.4)
tedy hled´ame minimum funkce f (x, y) = x + y na mnoˇzinˇe X = { (x, y) ∈ R2 | g(x, y) = 0 } kde g(x, y) = 1 − x2 − y 2 . Mnoˇzina X nem´a ˇz´adn´e vnitˇrn´ı body. Ale lze ji parametrizovat jako X = { (cos t, sin t) | t ∈ ´ [0, 2π) }. Ulohu tak pˇrevedeme na hled´an´ı lok´aln´ıch extr´em˚ u funkce jedn´e promˇenn´e f (cos t, sin t) = cos t+sin t. Podm´ınka stacionarity df (cos t, sin t)/dt = − sin t+cos t = 0 m´a dvˇe ˇreˇsen´ı t = ± π2 . √ Tedy body podezˇrel´e z lok´aln´ıho extr´emu jsou (x, y) = ± 22 (1, 1). 79
Nˇekdy ovˇsem mnoˇzinu (9.2) parametrizovat nejde nebo je to sloˇzit´e. Nyn´ı proto odvod´ıme obecnˇejˇs´ı postup, metodu Lagrangeov´ych multiplik´ator˚ u.
9.4.1
Teˇ cn´ y a ortogon´ aln´ı prostor k povrchu
Zapomeˇ nme nejprve na u ´ˇcelovou funkci f a zkoumejme jen mnoˇzinu (9.2). Pˇredpokl´adejme, ˇze zobrazen´ı g je v okol´ı nˇejak´eho bodu x ∈ X spojitˇe diferencovateln´e. V tom pˇr´ıpadˇe je mnoˇzina X v okol´ı bodu x ‘zakˇriven´y povrch’2 v Rn . Pak existuje teˇ cn´ y prostor (mnoˇzina vˇsech teˇcn´ych vektor˚ u) a ortogon´ aln´ı prostor (mnoˇzina vˇsech kolm´ych vektor˚ u) k povrchu X v bodˇe x. Tyto dva prostory jsou ortogon´aln´ı doplnˇek jeden druh´eho. Zde pˇresn´e definice pojm˚ u ‘vektor teˇcn´y k povrchu’ a ‘vektor kolm´y k povrchu’ neuv´ad´ıme a spol´eh´ame na geometrickou intuici. N´asleduj´ıc´ı lema uv´ad´ıme bez d˚ ukazu. Lema 9.3. Necht’ zobrazen´ı g: Rn → Rm je v bodˇe x ∈ X spojitˇe diferencovateln´e. Necht’ rank g′ (x) = m.
(9.5)
Pak ortogon´aln´ı prostor k mnoˇzinˇe X v bodˇe x je mnoˇzina rng g′ (x)T = span{∇g1 (x), . . . , ∇gm (x)}.
(9.6)
Viz obr´azek: span{∇g1 (x), . . . , ∇gm (x)}
x
X = { x | g(x) = 0 }
Jelikoˇz ˇr´adky Jacobiho matice g′ (x) jsou gradienty ∇gi (x), podm´ınka (9.5) vlastnˇe ˇr´ık´a, ˇze gradienty ∇g1 (x), . . . , ∇gm (x) mus´ı b´yt line´arnˇe nez´avisl´e. Bodu x ∈ X splˇ nuj´ıc´ı podm´ınku (9.5) se nˇekdy ˇr´ık´a regul´ arn´ı bod povrchu. Pro m = 1 podm´ınka (9.5) zn´ı ∇g(x) 6= 0 a lema zobecˇ nuje skuteˇcnost, kterou jsme bez d˚ ukazu uvedli v §8.5, totiˇz ˇze gradient funkce je v kaˇzd´em bodˇe kolm´y k jej´ı vrstevnici. Lema ale nav´ıc ˇr´ık´a, ˇze kaˇzd´y vektor kolm´y k vrstevnici mus´ı b´yt n´asobek gradientu. Pˇ r´ıklad 9.12. Necht’ g: R2 → R je funkce g(x, y) = x2 + y 2 − 1. Mnoˇzina X je jednotkov´a kruˇznice v R2 . M´ame ∇g(x, y) = (2x, 2y). Protoˇze pro kaˇzd´e (x, y) ∈ X je ∇g(x, y) 6= (0, 0), pˇredpoklady Lematu 9.3 jsou splnˇeny a ortogon´aln´ı prostor k X v bodˇe (x, y) je mnoˇzina span{∇g(x, y)} = { (αx, αy) | α ∈ R }, coˇz je pˇr´ımka kolm´a ke kruˇznici. Teˇcn´y prostor v bodˇe (x, y) je ortogon´aln´ı doplnˇek t´eto pˇr´ımky, tedy pˇr´ımka teˇcn´a ke kruˇznici. Pˇ r´ıklad 9.13. Necht’ g: R3 → R je funkce g(x, y, z) = x2 +y 2 +z 2 −1. Mnoˇzina X je jednotkov´a sf´era v R3 . M´ame ∇g(x, y, z) = (2x, 2y, 2z). Ortogon´aln´ı prostor k X v bodˇe (x, y, z) je mnoˇzina span{∇g(x, y, z)} = { (αx, αy, αz) | α ∈ R }, coˇz je pˇr´ımka kolm´a ke sf´eˇre. Teˇcn´y prostor v bodˇe (x, y, z) je ortogon´aln´ı doplnˇek t´eto pˇr´ımky, tedy rovina teˇcn´a ke sf´eˇre. 2
Pˇresnˇeji, mnoˇzina X je pˇr´ıkladem objektu, kter´ y se naz´ yv´a diferencovateln´y manifold . Studiem takov´ ych objekt˚ u se zab´ yv´a diferenci´ aln´ı geometrie.
80
Pˇ r´ıklad 9.14. Necht’ g = (g1 , g2): R3 → R2 je zobrazen´ı
g(x, y, z) = ( x2 + y 2 + z 2 − 1, (x − 1)2 + y 2 + z 2 − 1 ).
Nulov´a vrstevnice funkce g1 je jednotkov´a sf´era se stˇredem v bodˇe (0, 0, 0), nulov´a vrstevnice funkce g2 je jednotkov´a sf´era se stˇredem v bodˇe (1, 0, 0). Mnoˇzina X je pr˚ unik tˇechto dvou sf´er, je to tedy kruˇznice v R3 . M´ame ∇g1 (x, y, z) = 2(x, y, z) a ∇g2 (x, y, z) = 2(x − 1, y, z). Ortogon´aln´ı prostor k mnoˇzinˇe X v bodˇe (x, y, z) je mnoˇzina span{∇g1 (x, y, z), ∇g2(x, y, z)} = { α1 (x, y, z) + α2 (x − 1, y, z) | α1 , α2 ∈ R }, coˇz je rovina kolm´a ke kruˇznici v bodˇe (x, y, z). Teˇcn´y prostor je ortogon´aln´ı doplnˇek t´eto mnoˇziny, tedy pˇr´ımka teˇcn´a ke kruˇznici. Pˇ r´ıklad 9.15. Necht’ g: R2 → R je funkce g(x, y) = (x2 + y 2 − 1)2 . Mnoˇzina X je stejn´a kruˇznice jako v Pˇr´ıkladˇe 9.12. M´ame ∇g(x, y) = 4(x2 + y 2 − 1)(x, y). Pro kaˇzd´y bod (x, y) ∈ X je ∇g(x, y) = (0, 0), tedy pˇredpoklady Lematu 9.3 nejsou splnˇeny. Ortogon´aln´ı prostor nen´ı mnoˇzina span{∇g(x, y)} = {(0, 0)}.
9.4.2
Podm´ınky prvn´ıho ˇ r´ adu
Nyn´ı pˇrid´ame do naˇsich u ´vah i u ´ˇcelovou funkci f . Je intuitivnˇe zˇrejm´e (d˚ ukaz neuv´ad´ıme), ˇze pokud x m´a b´yt lok´aln´ı extr´em funkce f na mnoˇzinˇe X, smˇerov´a derivace f ′ (x)v = ∇f (x)T v funkce f v bodˇe x v kaˇzd´em smˇeru v teˇcn´em k povrchu X mus´ı b´yt nulov´a. To znamen´a, ˇze gradient ∇f (x) mus´ı b´yt kolm´y k teˇcn´emu prostoru v bodˇe x, neboli mus´ı patˇrit do ortogon´aln´ıho prostoru (9.6), neboli mus´ı b´yt line´arn´ı kombinac´ı gradient˚ u ∇g1 (x), . . . , ∇gm (x). Tedy existuj´ı ˇc´ısla λ1 , . . . , λm ∈ R tak, ˇze ∇f (x) + λ1 ∇g1 (x) + · · · + λm ∇gm (x) = 0.
(9.7)
V´ysledek tˇechto u ´vah se obvykle formuluje n´asleduj´ıc´ım zp˚ usobem. Vˇ eta 9.4. Necht’ f : Rn → R, g: Rn → Rm , x ∈ X. Necht’ • f a g jsou v bodˇe x spojitˇe diferencovateln´e, • rank g′ (x) = m,
• bod x je lok´aln´ı extr´em funkce f na mnoˇzinˇe X. Pak existuj´ı ˇc´ısla (λ1 , . . . , λm ) = λ ∈ Rm tak, ˇze L′ (x, λ) = 0, kde funkce L: Rn+m → R je d´ana jako L(x, λ) = f (x) + λT g(x) = f (x) + λ1 g1 (x) + · · · + λm gm (x). (9.8) Z´apis L′ (x, λ) = 0 oznaˇcuje, ˇze parci´aln´ı derivace funkce L podle x1 , . . . , xn , λ1 , . . . , λm jsou nulov´e, neboli bod (x, λ) ∈ Rm+n je stacion´arn´ı bod funkce L. Rovnost ∂L(x, λ)/∂x = 0 je ekvivalentn´ı rovnosti (9.7). Rovnost ∂L(x, λ)/∂λ = g(x) = 0 je ekvivalentn´ı omezen´ım. ˇ ısl˚ C´ um λi se ˇr´ık´a Lagrangeovy multiplik´ atory a funkci (9.8) Lagrangeova funkce. ˇ sme znovu Pˇr´ıklad 9.11. Lagrangeova funkce je Pˇ r´ıklad 9.16. Reˇ L(x, y, λ) = x + y + λ(1 − x2 − y 2 ). Jej´ı stacion´arn´ı body (x, y, λ) jsou ˇreˇsen´ımi soustavy tˇr´ı rovnic o tˇrech nezn´am´ych ∂L(x, y, λ)/∂x = 1 − 2λx =0 ∂L(x, y, λ)/∂y = 1 − 2λy =0 2 2 ∂L(x, y, λ)/∂λ = 1 − x − y = 0. 81
2 Prvn´ı dvˇe rovnice √ 1, coˇz d´a dva √ daj´ı x = y = 1/(2λ). Dosazen´ım do tˇret´ı m´ame 2/(2λ) = koˇreny λ = ±1/ 2. Stacion´arn´ı body funkce L jsou√dva, (x, y, λ) = ±(1, 1, 1)/ 2. Tedy m´ame dva kandid´aty na lok´aln´ı extr´emy, (x, y) = ±(1, 1)/ 2. Tuto jednoduchou u ´lohu je samozˇrejmˇe snadn´e vyˇreˇsit u ´vahou. Nakreslete si kruˇznici X = 2 2 { (x, y) | x + y = 1 } a nˇekolik vrstevnic funkce f a najdˇete k´yˇzen´e extr´emy!
ˇ sme Pˇr´ıklad 9.11, kde ale omezen´ı zmˇen´ıme na g(x, y) = (1 − x2 − y 2 )2 = 0. Pˇ r´ıklad 9.17. Reˇ Podle Pˇr´ıkladu 9.15 m´ame g ′(x, y) = (0, 0) pro kaˇzd´e (x, y) ∈ X, ˇcek´ame tedy pot´ıˇz. Stacion´arn´ı body Lagrangeovy funkce L(x, y, λ) = x + y + λ(1 − x2 − y 2 )2 mus´ı splˇ novat ∂L(x, y, λ)/∂x = 1 − 4λx(1 − x2 − y 2) = 0 ∂L(x, y, λ)/∂y = 1 − 4λy(1 − x2 − y 2 ) = 0 ∂L(x, y, λ)/∂λ = (1 − x2 − y 2 )2 = 0. Tyto rovnice si odporuj´ı. Jelikoˇz 1 − x2 − y 2 = 0, tak napˇr. prvn´ı rovnice ˇ√ r´ık´a 1 − 4λx · 0 = 0, coˇz neplat´ı pro ˇz´adn´e (x, λ). Z´avˇer je, ˇze lok´aln´ı extr´emy (x, y) = ±(1, 1)/ 2 jsme nenaˇsli. Pˇ r´ıklad 9.18. Vrat’me se k u ´loze (5.14), tedy k hled´an´ı ˇreˇsen´ı nehomogenn´ı line´arn´ı soustavy s nejmenˇs´ı normou. Lagrangeova funkce je L(x, λ) = xT x + 2λT (b − Ax), kde pˇridan´a dvojka nemˇen´ı situaci. Je ∂L(x, λ)/∂x = 2xT − 2λT A (odvod’te!). Stacion´arn´ı body funkce L tedy z´ısk´ame ˇreˇsen´ım soustavy (5.15), kterou jsme v 5.2 odvodili u ´vahou. Pˇredchoz´ı pˇr´ıklad vyˇzaduje od studenta nejen znalost metody Lagrangeov´ych multiplik´ator˚ u, ale i jistou zruˇcnost v manipulaci s maticov´ymi v´yrazy. Cviˇcte tuto zruˇcnost ve Cviˇcen´ıch 9.22–9.25! ˇ ık´a, ˇze pokud (x, λ) Vˇeta 9.4 ud´av´a podm´ınky prvn´ıho ˇr´adu na extr´emy v´azan´e rovnostmi. R´ je stacion´arn´ı bod Lagrangeovy funkce, pak bod x je ‘podezˇrel´y’ z lok´aln´ıho extr´emu funkce f na mnoˇzinˇe X. Jak pozn´ame, zda tento bod je lok´aln´ı extr´em, pˇr´ıpadnˇe jak´y? Podm´ınky druh´eho ˇr´adu pro v´azan´e extr´emy uv´ad´ıme nepovinnˇe v §9.4.3. Zde pouze zd˚ urazn´ıme, ˇze druh lok´aln´ıho ′′ extr´emu nelze zjistit podle definitnosti Hessovy matice L (x, λ), tedy je chybou pouˇz´ıt Vˇetu 9.2 na funkci L.
9.4.3
(⋆) Podm´ınky druh´ eho ˇ r´ adu
Vˇ eta 9.5. Necht’ f : Rn → R, g: Rn → Rm , x ∈ Rn a λ ∈ Rm . Necht’ • (x, λ) je stacion´arn´ı bod Lagrangeovy funkce, neboli ∂L(x, λ)/∂x = 0 a ∂L(x, λ)/∂λ = 0,
• f a g jsou dvakr´at diferencovateln´e v bodˇe x. Pak plat´ı: • Je-li ∂ 2 L(x, λ)/∂x2 pozitivnˇe [negativnˇe] definitn´ı na nulov´em prostoru matice g′ (x), m´a f v bodˇe x ostr´e lok´aln´ı minimum [maximum] v´azan´e podm´ınkou g(x) = 0.
• Je-li ∂ 2 L(x, λ)/∂x2 indefinitn´ı na nulov´em prostoru matice g′ (x), nem´a f v bodˇe x lok´aln´ı minimum ani lok´aln´ı maximum v´azan´e podm´ınkou g(x) = 0.
82
Zde v´yraz
m
X ∂ 2 L(x, λ) ′′ = f (x) + λi gi′′ (x) ∂x2 i=1
znaˇc´ı druhou derivaci (Hessovu matici) funkce L(x, λ) podle x v bodˇe (x, λ). Tvrzen´ı, ˇze matice A je pozitivnˇe definitn´ı na mnoˇzinˇe T znamen´a, ˇze yT Ay > 0 pro kaˇzd´e y ∈ T \ {0}. Jak zjist´ıme definitnost dan´e matice A na nulov´em prostoru Jacobiho matice g′ (x)? Najdemeli b´azi B tohoto nulov´eho prostoru, pak kaˇzd´y prvek mnoˇziny T lze parametrizovat jako y = Bz. Protoˇze yT Ay = zT BT ABz, pˇrevedli jsme probl´em na zjiˇst’ov´an´ı definitnosti matice BT AB. Pˇ r´ıklad 9.19. Najdˇeme strany kv´adru s jednotkov´ym objem a minim´aln´ım povrchem. Tedy minimalizujeme xy + xz + yz za podm´ınky xyz = 1. Lagrangeova funkce je L(x, y, z, λ) = xy + xz + yz + λ(1 − xyz). Poloˇzen´ım derivac´ı L rovn´ym nule m´ame soustavu L′x (x, y, z, λ) = y + z − λyz = 0 L′y (x, y, z, λ) = x + z − λxz = 0
L′z (x, y, z, λ) = x + y − λxy = 0 L′λ (x, y, z, λ) = xyz − 1 = 0. Soustava je zjevnˇe splnˇena pro (x, y, z, λ) = (1, 1, 1, 2). M´ame uk´azat, ˇze tento bod odpov´ıd´a lok´aln´ımu minimu. M´ame 0 1 − λz 1 − λy 0 −1 −1 2 ∂ L(x, y, z, λ) 0 1 − λx = −1 0 −1 . = 1 − λz (9.9) ∂(x, y, z)2 1 − λy 1 − λx 0 −1 −1 0
Uk´aˇzeme, ˇze tato matice je pozitivnˇe definitn´ı na nulov´em prostoru Jacobiho matice g ′ (x, y, z) = −yz −xz −xy = −1 −1 −1 .
Nejdˇr´ıve zkusme ˇstˇest´ı, zda matice (9.9) nen´ı pozitivnˇe definitn´ı jiˇz na R3 – v tom pˇr´ıpadˇe by zjevnˇe byla pozitivnˇe definitn´ı i na nulov´em prostoru g ′ (x, y, z) (promyslete, proˇc to tak je!). Nen´ı tomu tak, protoˇze jej´ı vlastn´ı ˇc´ısla jsou {−2, 1, 1}, tedy je indefinitn´ı. Nˇejakou b´azi nulov´eho prostoru matice g ′(x, y, z) snadno najdeme ruˇcnˇe, napˇr. 1 1 0 . B = −1 0 −1
Snadno zjist´ıme, ˇze matice
0 −1 −1 1 1 1 −1 0 2 1 T ∂ L(x, y, z, λ) −1 0 −1 −1 0 = B= . B 1 0 −1 1 2 ∂(x, y, z)2 −1 −1 0 0 −1 2
m´a vlastn´ı ˇc´ısla {2, 1}, tedy je pozitivnˇe definitn´ı. 83
9.5
Cviˇ cen´ı
9.1. Co je vnitˇrek a hranice tˇechto mnoˇzin? V´ysledek napiˇste v mnoˇzinov´em z´apisu. a) b) c) d) e) f) g)
{ (x, y) ∈ R2 | x2 + y 2 = 1, y ≥ 0 } { (x, y) ∈ R2 | y = x2 , −1 < x ≤ 1 } { (x, y) ∈ R2 | xy < 1, x > 0, y > 0 } { x ∈ Rn | maxni=1 xi ≤ 1 } { x ∈ Rn | aT x = b }, kde a ∈ Rn , b ∈ R (nadrovina) { x ∈ Rn | b < aT x ≤ c }, kde a ∈ Rn , b, c ∈ R { x ∈ Rn | Ax = b } kde A ∈ Rm×n , b ∈ Rm
9.2. Je d´ana funkce f : Rn → R, mnoˇziny Y ⊆ X ⊆ Rn , a bod x ∈ Y . Uvaˇzujme dva v´yroky: a) Funkce f m´a v bodˇe x lok´aln´ı minimum na mnoˇzinˇe X. b) Funkce f m´a v bodˇe x lok´aln´ı minimum na mnoˇzinˇe Y . Vypl´yv´a (b) z (a)? Vypl´yv´a (a) z (b)? Dokaˇzte z definice lok´aln´ıho extr´emu nebo vyvrat’te nalezen´ım protipˇr´ıkadu. 9.3. M˚ uˇze nastat pˇr´ıpad, kdy funkce na mnoˇzinˇe m´a lok´aln´ı minimum ale nem´a na n´ı glob´aln´ı minimum? Odpovˇed’ dokaˇzte. 9.4. Funkce f : R3 → R m´a stacion´arn´ı bod (2, 1, 5). Co se d´a o tomto stacion´arn´ım bodˇe ˇr´ıci, kdyˇz Hessova matice f ′′ (2, 1, 5) v nˇem m´a vlastn´ı ˇc´ısla a) {2, 3, −1} b) {2, 3, 0} c) {2, 1, 1} 9.5. Pro n´asleduj´ıc´ı funkce spoˇc´ıtejte (na pap´ıˇre) stacion´arn´ı body. Pro kaˇzd´y stacion´arn´ı bod urˇcete, zda je to lok´aln´ı minimum, lok´aln´ı maximum, ˇci sedlov´y bod. Pokud to urˇcit nedok´aˇzete, od˚ uvodnˇete. a) b) c) d) e) f) g)
f (x, y) = x(1 − 32 x2 − y 2 ) f (x, y) = 1/x + 1/y + xy f (x, y) = ey (y 2 − x2 ) f (x, y) = 3x − x3 − 3xy 2 f (x, y) = 6xy 2 − 2x3 − 3y 4 f (x, y) = x4 /3 + y 4 /2 − 4xy 2 + 2x2 + 2y 2 + 3 f (x, y, z) = x3 + y 3 + 2xyz + z 2
9.6. Dokaˇzte, ˇze funkce f (x, y) = x nab´yv´a za podm´ınky x3 = y 2 minima pouze v poˇc´atku. Ukaˇzte, ˇze metoda Lagrangeov´ych multiplik´ator˚ u toto minimum nenajde. N´asleduj´ıc´ı u ´lohy se pokuste vyˇreˇsit parametrizac´ı podm´ınek (analogicky k Pˇr´ıkladu 9.11) a pak metodou Lagrangeov´ych multiplik´ator˚ u. Pokud jedna z tˇechto metod nen´ı pouˇziteln´a, vynechte ji. Pˇri pouˇzit´ı metody Lagrangeov´ych multiplik´ator˚ u staˇc´ı pouze naj´ıt stacion´arn´ı body Lagrangeovy funkce – nemus´ıte urˇcovat, jde-li o lok´aln´ı extr´emy a pˇr´ıpadnˇe jak´e. 9.7. Najdˇete lok´aln´ı extr´emy funkc´ı 84
a) b) c) d) e) f) g)
f (x, y) = 2x − y f (x, y) = x(y − 1) f (x, y) = x2 + 2y 2 f (x, y) = x2 y f (x, y) = x4 + y 2 f (x, y) = sin(xy) f (x, y) = exy
na kruˇznici x2 + y 2 = 1. N´apovˇeda: Nˇekdy je dobr´e u ´ˇcelovou funkci zjednoduˇsit, pokud to nezmˇen´ı ˇreˇsen´ı. 9.8. Najdˇete extr´emy funkce a) f (x, y, z) = x + yz za podm´ınek x2 + y 2 + z 2 = 1 a z 2 = x2 + y 2 b) f (x, y, z) = xyz za podm´ınek x2 + y 2 + z 2 = 1 a xy + yz + zx = 1 9.9. Najdˇete extr´emy funkce a) b) c) d) e) f)
f (x, y, z) = (x + y)(y + z) f (x, y, z) = a/x + b/y + c/z, kde a, b, c > 0 jsou d´any f (x, y, z) = x3 + y 2 + z f (x, y, z) = x3 + y 3 + z 3 + 2xyz (⋆) f (x, y, z) = x3 + y 3 + z 3 − 3xyz (⋆) f (x, y, z) = x3 + 2xyz − z 3
na sf´eˇre x2 + y 2 + z 2 = 1. 9.10. Rozloˇzte dan´e kladn´e re´aln´e ˇc´ıslo na souˇcin n kladn´ych re´aln´ych ˇc´ısel tak, aby jejich souˇcet byl co nejmenˇs´ı. 9.11. Spoˇc´ıtejte rozmˇery tˇelesa tak, aby mˇelo pˇri dan´em objemu nejmenˇs´ı povrch: a) b) c) d) e)
kv´adr kv´adr bez v´ıka (m´a jednu doln´ı stˇenu a ˇctyˇri boˇcn´ı, horn´ı stˇena chyb´ı) v´alec p˚ ullitr (v´alec bez v´ıka) (⋆) kel´ımek (komol´y kuˇzel bez v´ıka). Objem komol´eho kuˇzele je V = π3 h(R2 +Rr +r 2 ) p uˇzete pouˇz´ıt vhodn´y a povrch pl´aˇstˇe (bez podstav) je S = π(R+r) (R − r)2 + h2 . M˚ numerick´y software na ˇreˇsen´ı vznikl´e soustavy rovnic.
9.12. Najdˇete bod nejbl´ıˇze poˇc´atku na kˇrivce a) b) c) d)
x+y = 1 x + 2y = 5 y = x3 + 1 x2 + 2y 2 = 1
9.13. Necht’ x∗ je bod nejbl´ıˇze poˇc´atku na nadploˇse h(x) = 0. Ukaˇzte metodou Lagrangeov´ych multiplik´ator˚ u, ˇze vektor x∗ je kolm´y k teˇcn´e nadrovinˇe plochy v bodˇe x∗ . 9.14. M´ame kouli o polomˇeru r a stˇredu x0 , tj. mnoˇzinu { x ∈ Rn | kx − x0 k2 ≤ r }. M´ame nadrovinu { x ∈ Rn | aT x = b }. 85
9.15. Do elipsy o dan´ych d´elk´ach os vepiˇste obd´eln´ık s maxim´aln´ım obsahem. Pˇredpokl´adejte pˇritom, ˇze strany obd´eln´ıku jsou rovnobˇeˇzn´e s osami elipsy. 9.16. Fermat˚ uv princip v paprskov´e optice ˇr´ık´a, ˇze cesta mezi libovoln´ymi dvˇema body na paprsku m´a takov´y tvar, aby ji svˇetlo probˇehlo za ˇcas kratˇs´ı neˇz j´ı bl´ızk´e dr´ahy. Pozdˇeji se zjistilo, ˇze spr´avn´ym krit´eriem nen´ı nejkratˇs´ı ale extr´emn´ı ˇcas. Tedy skuteˇcn´a dr´aha paprsku mus´ı m´ıt ˇcas vˇetˇs´ı nebo menˇs´ı neˇz j´ı bl´ızk´e dr´ahy. Z tohoto principu odvod’te: a) Z´akon odrazu od zrcadla: u ´hel dopadu se rovn´a u ´hlu odrazu. b) Snell˚ uv z´akon lomu: na rozhran´ı dvou prostˇred´ı se svˇetlo lom´ı tak, ˇze sin α1 c1 = , c2 sin α2 kde αi je u ´hel paprsku od norm´aly rozhran´ı a ci je rychlost svˇetla v prostˇred´ı i. Odvozen´ı udˇelejte: (i) Pro rovinn´e zrcadlo a rovinn´e rozhran´ı (coˇz vede na minimalizaci bez omezen´ı). (ii) Pro zrcadlo a rozhran´ı tvaru obecn´e plochy s rovnic´ı g(x) = 0. Dok´aˇzete naj´ıt situaci, kdy skuteˇcn´a dr´aha paprsku m´a ˇcas vˇetˇs´ı neˇz j´ı bl´ızk´e dr´ahy? 9.17. Rozdˇelen´ı pravdˇepodobnosti diskr´etn´ı n´ahodn´e promˇeP nn´e je funkce p: {1, . . . , n} → R+ (tj. soubor nez´aporn´ych ˇc´ısel p(1), . . . , p(n)) splˇ nuj´ıc´ı nx=1 p(x) = 1. P a) Entropie n´ahodn´e promˇenn´e s rozdˇelen´ım p je rovna − nx=1 p(x) log p(x), kde log je pˇrirozen´y logaritmus. Najdˇete rozdˇelen´ı s maxim´aln´ı entropi´ı. b) Dokaˇzte Gibbsovu nerovnost (t´eˇz zvanou informaˇcn´ı nerovnost): pro kaˇzd´e dvˇe rozdˇelen´ı p, q plat´ı n n X X p(x) log q(x) ≥ p(x) log p(x), x=1
x=1
pˇriˇcemˇz rovnost nast´av´a jen tehdy, kdyˇz p = q.
9.18. (⋆) M´ame troj´ uheln´ık se stranami d´elek a, b, c. Uvaˇzujme bod, kter´y m´a takovou polohu, ˇze souˇcet ˇctverc˚ u jeho vzd´alenost´ı od stran troj´ uheln´ıku je nejmenˇs´ı moˇzn´y. Jak´e budou vzd´alenosti x, y, z tohoto bodu od stran troj´ uheln´ıku? 9.19. (⋆) M´ame krychli s d´elkou hrany 2. Do stˇeny krychle je veps´ana kruˇznice (kter´ √ a m´a tedy polomˇer 1) a okolo sousedn´ı stˇeny je ops´ana kruˇznice (kter´a m´a tedy polomˇer 2). Najdˇete nejmenˇs´ı a nejvˇetˇs´ı vzd´alenost mezi body na kruˇznic´ıch. 9.20. (⋆) Najdˇete extr´emy funkce f (x, y, z, u, v, w) = (1 + x + u)−1 + (1 + y + v)−1 + (1 + z + w)−1 za podm´ınek xyz = a3 , uvw = b3 a x, y, z, u, v, w > 0. 9.21. Popiˇste mnoˇzinu ˇreˇsen´ı soustavy x + 2y + z = 1 2x − y − 2z = 2. p Najdˇete takov´e ˇreˇsen´ı soustavy, aby v´yraz x2 + y 2 + z 2 byl co nejmenˇs´ı. Najdˇete co nejv´ıce zp˚ usob˚ u ˇreˇsen´ı. 86
9.22. Minimalizujte xT x za podm´ınky aT x = 1. Jak´y je geometrick´y v´yznam u ´lohy? 9.23. Maximalizujte aT x za podm´ınky xT x = 1. Jak´y je geometrick´y v´yznam u ´lohy? 9.24. Minimalizujte xT Ax za podm´ınky bT x = 1, kde A je symetrick´a pozitivnˇe definitn´ı. 9.25. Minimalizujte kCxk2 za podm´ınky Ax = b, kde A m´a line´arnˇe nez´avisl´e ˇr´adky a C m´a line´arnˇe nez´avisl´e sloupce. 9.26. (⋆) Minimalizujte kAx − bk2 za podm´ınky Cx = 0, kde A m´a line´arnˇe nez´avisl´e sloupce a C m´a line´arnˇe nez´avisl´e ˇr´adky. 9.27. (⋆) Minimalizujte kCxk2 za podm´ınek Ax = 0 a xT x = 1.
9.28. (⋆) Minimalizujte kAxk2 za podm´ınky xT Cx = 1, kde C je pozitivnˇe definitn´ı.
9.29. (⋆) Minimalizujte aT x za podm´ınky xT Cx = 1, kde C je pozitivnˇe definitn´ı.
9.30. (⋆) Jak´e mus´ı b´yt vlastnosti matice A a vektoru b, aby max{ kAxk2 | bT x = 0 } = 0?
N´ apovˇ eda a ˇ reˇ sen´ı 9.1.a) vnitˇrek ∅, hranice p˚ uvodn´ı mnoˇzina
9.1.b) vnitˇrek ∅, hranice { (x, y) ∈ R2 | y = x2 , −1 ≤ x ≤ 1 }
9.1.c) vnitˇrek p˚ uvodn´ı mnoˇzina, hranice { (x, 0) | x ≥ 0 } ∪ { (0, y) | y ≥ 0 } ∪ { (x, y) | xy = 1 }
9.1.d) maxni=1 xi ≤ 1 je tot´eˇz co xi ≤ 1 pro vˇsechna i, tedy mnoˇzina jde napsat tak´e jako (−∞, 1]n (kart´ezsk´ y souˇcin n stejn´ ych polootevˇren´ ych interval˚ u). Vnitˇrek je (−∞, 1)n , hranice (tˇeˇzko se pop´ıˇse kr´atˇceji) je (−∞, 1]n \ (−∞, 1)n 9.1.e) vnitˇrek ∅, hranice p˚ uvodn´ı mnoˇzina
9.1.f) vnitˇrek { x | b < aT x < c }, hranice { x | aT x = b } ∪ { x | aT x = c }
9.1.g) Vnitˇrek nem´ a, hranice je p˚ uvodn´ı mnoˇzina. 9.3.
m˚ uˇze
9.4.a) funkce nem´ a v tomto bodˇe lok´aln´ı extr´em 9.4.b) nem˚ uˇzeme rozhodnout, zda m´ a funkce m´ a v tomto bodˇe lok´aln´ı extr´em 9.4.c) funkce m´ a v tomto bodˇe lok´aln´ı minimum 9.5.d) Stacion´ arn´ı body jsou 4. 9.5.e) Stacion´ arn´ı body jsou 3. 9.5.f) Stacion´ arn´ıch bod˚ u je 5. 9.5.g) Stacion´ arn´ı body jsou 3, a to (0, 0, 0), (3/2, 3/2, −9/4), (3/2, 3/2, −9/4).
9.16.a) Udˇel´ame jen pro obecn´ y pˇr´ıpad (ii). M´ame dva body a, b a hled´ ame bod x splˇ nuj´ıc´ı g(x) = 0 pro kter´ y je celkov´a dr´ aha kx − ak2 + kx − bk2 extrem´aln´ı. Stacion´ arn´ı body Lagrangeovy funkce splˇ nuj´ı (x − a)0 + (x − b)0 = λ∇g(x), kde y0 = y/kyk2 . Ale to ˇr´ık´a, ˇze vektor ∇g(x) leˇz´ı v jedn´e rovinˇe s jednotkov´ ymi vektory (x − a)0 a (x − b)0 a p˚ ul´ı u ´ hel mezi nimi. Pro d˚ ukaz druh´eho 0 0 tvrzen´ı n´ asobte rovnici vektory (x − a) a (x − b) a porovnejte.
9.24. x = A−1 b/(bT A−1 b)
9.25. x = (CT C)−1 AT (A(CT C)−1 AT )−1 b. 9.26. x = [I − (AT A)−1 CT (C(AT A)−1 CT )−1 CT ] (AT A)−1 AT b
87
Kapitola 10 Iteraˇ cn´ı algoritmy na voln´ e lok´ aln´ı extr´ emy Zde se budeme vˇenovat numerick´ym iteraˇcn´ım algoritm˚ um na nalezen´ı voln´eho lok´aln´ıho minima diferencovateln´ych funkc´ı na mnoˇzinˇe Rn .
10.1
Sestupn´ e metody
Iteraˇcn´ı algoritmy na hled´an´ı lok´aln´ıho minima spojit´e funkce f : Rn → R maj´ı tvar xk+1 = xk + αk vk ,
(10.1)
kde vektor vk ∈ Rn je smˇ er hled´ an´ı a skal´ar αk > 0 je d´ elka kroku. Ve tˇr´ıdˇe algoritm˚ u 1 zvan´ych sestupn´ e metody (descent methods) hodnota u ´ˇcelov´e funkce monotonnˇe kles´a , f (xk+1 ) < f (xk ). Necht’ je funkce f diferencovateln´a. Smˇer vk se naz´yv´a sestupn´ y v bodˇe xk , jestliˇze f ′ (xk ) vk < 0,
(10.2)
tedy smˇerov´a derivace ve smˇeru vk je z´aporn´a. Pokud v bodˇe xk existuje sestupn´y smˇer, existuje d´elka kroku αk > 0 tak, ˇze f (xk+1 ) < f (xk ). Pokud v bodˇe xk sestupn´y smˇer neexistuje, vektor f ′ (xk ) je nutnˇe nulov´y (proˇc?) a tedy xk je stacion´arn´ı bod. M´ame-li sestupn´y smˇer, optim´aln´ı d´elku kroku αk najdeme minimalizac´ı funkce f na polopˇr´ımce z bodu xk ve smˇeru vk . Tedy minimalizujeme funkci jedn´e promˇenn´e ϕ(αk ) = f (xk + αk vk )
(10.3)
pˇres vˇsechny αk ≥ 0. Tato u ´loha je v kontextu v´ıcerozmˇern´e optimalizace naz´yv´ana line search. ´ Ulohu staˇc´ı ˇreˇsit pˇribliˇznˇe. Takovou pˇribliˇznou metodu nen´ı obt´ıˇzn´e vymyslet a proto se j´ı d´ale nebudeme zab´yvat. D´ale uvedeme nejzn´amˇejˇs´ı z´astupce sestupn´ych metod. 1
Existuj´ı totiˇz i algoritmy, ve kter´ ych hodnota f (xk ) nekles´a monotonnˇe (tj. nˇekdy stoupne a nˇekdy klesne) a pˇresto konverguj´ı k optimu (napˇr. subgradientn´ı metody).
88
10.2
Gradientn´ı metoda
Tato nejjednoduˇsˇs´ı metoda vol´ı smˇer sestupu jako z´aporn´y gradient funkce f v bodˇe xk : vk = −f ′ (xk )T = −∇f (xk ).
(10.4)
Tento smˇer je sestupn´y, coˇz je okamˇzitˇe vidˇet dosazen´ım do (10.2). Nev´yhodou gradientn´ı metody je to, ˇze konvergence m˚ uˇze b´yt pomal´a kv˚ uli ‘cik-cak’ chov´an´ı. To se m˚ uˇze st´at tehdy, kdyˇz funkce v okol´ı lok´aln´ıho optima je v nˇekter´ych smˇerech mnohem protaˇzenˇejˇs´ı neˇz v jin´ych (pˇresnˇeji, kdyˇz vlastn´ı ˇc´ısla Hessi´anu f ′′ (x) maj´ı velmi r˚ uzn´e velikosti). V´yhodou metody je spolehlivost, protoˇze smˇer je vˇzdy sestupn´y.
10.2.1
(⋆) Z´ avislost na line´ arn´ı transformaci souˇ radnic
˜ = Ax, kde A je ˇctvercov´a reguTransformujme vektor promˇenn´ych x line´arn´ı transformac´ı x l´arn´ı matice. Je jasn´e, ˇze funkce f p˚ uvodn´ıch promˇenn´ych x bude m´ıt stejn´e lok´aln´ı extr´emy ˜ , dan´a jako jako funkce f˜ nov´ych promˇen´ych x ˜ ). f˜(˜ x) = f˜(Ax) = f (x) = f (A−1 x Iterace gradientn´ı metody v nov´ych promˇenn´ych je ˜ k+1 = x ˜ k − αk f˜′ (˜ x xk )T .
(10.5)
Zkoumejme, jak´e iteraci to odpov´ıd´a v p˚ uvodn´ıch promˇenn´ych. K tomu potˇrebujeme vyj´adˇrit (10.5) v promˇenn´ych x. Pouˇzit´ım ˇretˇezov´eho pravidla odvod´ıme df˜(˜ x) df˜(˜ x) dx df (x) dx f˜′ (˜ x) = = = = f ′ (x)A−1 . d˜ x dx d˜ x dx d˜ x ˜ a f˜′ (˜ ´pravou dostaneme Dosazen´ım za x x) do (10.5) a u xk+1 = xk − αk (AT A)−1 f ′ (xk )T .
(10.6)
To lze napsat ve tvaru (10.1) se smˇerem hled´an´ı vk = −(AT A)−1 f ′ (xk )T .
(10.7)
Tento smˇer se liˇs´ı od p˚ uvodn´ıho smˇeru (10.4) vyn´asoben´ım matic´ı (AT A)−1 . Vid´ıme tedy, ˇze gradientn´ı metoda nen´ı invariantn´ı v˚ uˇci line´arn´ı transformaci souˇradnic. Ovˇsem lze uk´azat, ˇze nov´y smˇer (10.7) je tak´e sestupn´y. Dosazen´ım (10.4) do (10.2) to znamen´a, ˇze −f ′ (xk )(AT A)−1 f ′ (xk )T < 0. To je ale pravda, nebot’ matice AT A a tedy i jej´ı inverze je pozitivnˇe definitn´ı, viz Cviˇcen´ı 6.16. ′ T Na vzorec (10.7) se lze d´ıvat jeˇstˇe obecnˇeji. Je jasn´e, ˇze smˇer vk = −C−1 y, k f (xk ) je sestupn´ je-li matice Ck pozitivnˇe definitn´ı. D´a se uk´azat i opak, totiˇz ˇze kaˇzd´y sestupn´y smˇer lze napsat takto. Matice Ck m˚ uˇze b´yt jin´a v kaˇzd´em kroku. Uvid´ıme, ˇze algoritmy uveden´e d´ale budou m´ıt vˇzdy tento tvar.
10.3
Newtonova metoda
Newtonova metoda (pˇresnˇeji Newton-Raphsonova) je slavn´y iteraˇcn´ı algoritmus na ˇreˇsen´ı soustav neline´arn´ıch rovnic. Lze ho pouˇz´ıt i na minimalizaci funkce tak, ˇze hled´ame jej´ı bod s nulov´ym gradientem. Oba zp˚ usoby pouˇzit´ı pop´ıˇseme. 89
10.3.1
Pouˇ zit´ı na soustavy neline´ arn´ıch rovnic
ˇ sme rovnici g(x) = 0, kde g: Rn → Rn je diferencovateln´e zobrazen´ı. Jedn´a se tedy o soustavu Reˇ n rovnic s n nezn´am´ymi. Zobrazen´ı g aproximujeme v okol´ı bodu xk Taylorov´ym polynomem prvn´ıho stupnˇe ˆ (x) = g(xk ) + g′ (xk )(x − xk ), g(x) ≈ g (10.8)
kde Jacobiho matice g′ (xk ) ∈ Rn×n je derivace zobrazen´ı v bodˇe xk . Dalˇs´ı iteraci xk+1 najdeme ˆ (xk+1 ) = 0. Pokud je Jacobiho matice regul´arn´ı, ˇreˇseˇreˇsen´ım nehomogenn´ı line´arn´ı soustavy g n´ım je xk+1 = xk − g′ (xk )−1 g(xk ). (10.9) Viz obr´azek:
g(x)
0
x∗ xk+1
ˆ (x) = g(xk ) + g′ (xk )(x − xk ) g
xk
Hlavn´ı v´yhodou Newtonovy metody je, ˇze v bl´ızk´em okol´ı ˇreˇsen´ı obvykle konverguje velmi rychle (mnohem rychleji neˇz gradientn´ı metoda). Nev´yhodou je, ˇze je nutno zaˇc´ıt s pomˇernˇe pˇresnou aproximac´ı x0 skuteˇcn´eho ˇreˇsen´ı, jinak algoritmus snadno diverguje. Pˇ r´ıklad 10.1. Babyl´onsk´a metoda na v´ypoˇcet druh´e odmocniny ˇc´ısla a ≥ 0 je d´ana iterac´ı 1 a xk+1 = xk + . 2 xk
To nen´ı nic jin´eho neˇz Newtonova metoda pro ˇreˇsen´ı rovnice 0 = g(x) = x2 − a. Opravdu, g(xk ) a 1 a x2 − a 1 xk+1 = xk − ′ xk − = xk + . = xk − k = xk − g (xk ) 2xk 2 xk 2 xk
Pˇ r´ıklad 10.2. Hled´ame pr˚ useˇc´ık (x, y) ∈ R2 dvou kˇrivek (x − 1)2 + y 2 = 1 a x4 + y 4 = 1. M´ame (x − 1)2 + y 2 − 1 2(x − 1) 2y ′ . g(x, y) = , g (x, y) = x4 + y 4 − 1 4x3 4y 3 Iterace (10.9) je
−1 xk+1 xk 2(xk − 1) 2yk (xk − 1)2 + yk2 − 1 = − . yk+1 yk 4x3k 4yk3 x4k + yk4 − 1
Naˇcrtneme-li si obˇe kˇrivky, vid´ıme, ˇze maj´ı dva pr˚ useˇc´ıky, liˇs´ıc´ı se znam´enkem druh´e souˇradnice. Zvolme poˇc´ateˇcn´ı odhad pro horn´ı pr˚ useˇc´ık (x0 , y0 ) = (1, 1). Prvn´ı iterace bude −1 0.75 0 0 2 1 x1 . = − = 1 1 4 4 1 y1 ˇ a iterace (x6 , y6 ) = ( 0.671859751039018, 0.944629015546222 ) je takov´a, ˇze rovnice jsou Sest´ splnˇeny se strojovou pˇresnost´ı. 90
Pˇ r´ıklad 10.3. Funkce g(x) = x2 − 1 m´a dva nulov´e body x = ±1. Pokud v nˇejak´e iteraci bude xk = 0, nastane dˇelen´ı nulou. Pokud bude xk velmi mal´e, dˇelen´ı nulou nenastane, ale iterace xk+1 se ocitne velmi daleko od koˇrene. Pˇ r´ıklad 10.4. Pro funkci g(x) = x3 − 2x + 2 zvolme x0 = 0. Dalˇs´ı iterace bude x1 = 1 a dalˇs´ı x2 = 0. Algoritmus bude oscilovat mezi hodnotami 0 a 1, tedy bude divergovat.
10.3.2
Pouˇ zit´ı na minimalizaci funkce
Newtonovu metodu lze pouˇz´ıt pro hled´an´ı lok´aln´ıho extr´emu dvakr´at diferencovateln´e funkce f : Rn → R tak, ˇze v algoritmu (10.9) poloˇz´ıme g(x) = f ′ (x)T . T´ım dostaneme iteraci xk+1 = xk − f ′′ (xk )−1 f ′ (xk )T ,
(10.10)
kde f ′′ (xk ) je Hessova matice funkce f v bodˇe xk . V´yznam iterace (10.9) byl takov´y, ˇze se zobrazen´ı g v bodˇe xk aproximovalo Taylorov´ym polynomem prvn´ıho stupnˇe (tedy afinn´ım zobrazen´ım) a pak se naˇsel koˇren xk+1 tohoto polynomu. V´yznam iterace (10.10) je takov´y, ˇze se funkce f aproximuje Taylorov´ym polynomem druh´eho stupnˇe (tedy kvadratickou funkc´ı) a pak se najde minimum t´eto kvadratick´e funkce. Odvod’te podrobnˇe, ˇze tomu tak je! f (x) fˆ(x) = f (xk ) + f ′ (xk )(x − xk ) + 12 (x − xk )T f ′′ (x)(x − xk )
x∗ xk+1
xk
Iteraci (10.10) lze napsat v obecnˇejˇs´ım tvaru (10.1), kde vk = −f ′′ (xk )−1 f ′ (xk )T .
(10.11)
V´yhodou tohoto zobecnˇen´ı je moˇznost zvolit optim´aln´ı (ne nutnˇe jednotkovou) d´elku kroku pomoc´ı jednorozmˇern´e minimalizace (10.3). Algoritmu (10.10) s jednotkovou d´elkou kroku se pak ˇr´ık´a ˇ cist´ a Newtonova metoda. Vektoru (10.11) ˇr´ık´ame Newton˚ uv smˇ er. Vid´ıme, ˇze se od gradientn´ıho smˇeru (10.4) liˇs´ı n´asoben´ım Hessovou matic´ı f ′′ (xk ). Aby to byl sestupn´y smˇer, mus´ı b´yt f ′ (xk ) vk = −f ′ (xk )f ′′ (xk )−1 f ′ (xk )T < 0. Toto plat´ı, kdyˇz f ′ (xk ) 6= 0 (tj. xk nen´ı stacion´arn´ı bod) a matice f ′′ (xk ) je pozitivnˇe definitn´ı (nebot’ pak bude pozitivnˇe definitn´ı i jej´ı inverze, viz Cviˇcen´ı 6.18). V porovn´an´ı s gradientn´ı metodou m´a Newtonova metoda (pouˇzit´a na minimalizaci funkce) nev´yhodu v tom, ˇze mus´ıme poˇc´ıtat Hessi´an f ′′ (xk ) a ˇreˇsit soustavu f ′′ (xk )vk = −f ′ (xk )T , coˇz pro velk´y poˇcet promˇenn´ych je pomal´e ˇci nemoˇzn´e. Vˇsimnˇete si ale, ˇze na rozd´ıl od §10.3.1 je zde matice g′ (xk ) = f ′′ (xk ) symetrick´a, coˇz m˚ uˇze ˇreˇsen´ı soustavy ulehˇcit.
91
10.4
Neline´ arn´ı metoda nejmenˇs´ıch ˇ ctverc˚ u
ˇ sme pˇreurˇcenou soustavu rovnic g(x) = 0 pro g: Rn → Rm (tedy soustavu m rovnic s Reˇ n nezn´am´ymi) ve smyslu nejmenˇs´ıch ˇctverc˚ u. To vede na minimalizaci funkce f (x) =
kg(x)k22
T
= g(x) g(x) =
m X
gi (x)2 ,
(10.12)
i=1
kde gi jsou sloˇzky zobrazen´ı g. Speci´aln´ım pˇr´ıpadem je pˇribliˇzn´e ˇreˇsen´ı line´arn´ı nehomogenn´ı soustavy Ax = b, kde g(x) = b − Ax (viz §5.1). Zde ovˇsem pˇredpokl´ad´ame obecnˇe neline´arn´ı zobrazen´ı g. Zat´ımco v §10.2 a §10.3.2 bylo c´ılem minimalizovat obecnou funkci, zde chceme minimalizovat funkci ve speci´aln´ım tvaru (10.12). Nyn´ı m´ame dvˇe moˇznosti. Bud’ m˚ uˇzeme nasadit na funkci (10.12) jednu z metod pro minimalizaci obecn´e funkce, k ˇcemuˇz se vr´at´ıme v §10.4.2. Nebo m˚ uˇzeme b´yt chytˇrejˇs´ı a vyuˇz´ıt speci´aln´ıho tvaru funkce (10.12), coˇz pop´ıˇseme v §10.4.1.
10.4.1
Gauss-Newtonova metoda
´ (10.12) Aproximujme opˇet zobrazen´ı g Taylorov´ym polynomem prvn´ıho stupnˇe (10.8). Uloha 2 pak vyˇzaduje minimalizovat kˆ g(x)k2 . To je u ´loha line´arn´ıch nejmenˇs´ıch ˇctverc˚ u, kterou jiˇz zn´ame z §5.1. Norm´aln´ı rovnice (5.3) maj´ı tvar g′ (xk )T g′ (xk )(x − xk ) = −g′ (xk )T g(xk ). Pokud m´a Jacobiho matice g′ (xk ) line´arnˇe nez´avisl´e sloupce (tedy hodnost n, viz §5.1), tuto rovnici m˚ uˇzeme vyˇreˇsit pseudoinverz´ı: xk+1 = xk − g′ (xk )+ g(xk ).
(10.13)
Algoritmus (10.13) je zn´am jako Gauss-Newtonova metoda. M˚ uˇzeme jej opˇet napsat obecnˇeji ve tvaru (10.1) se smˇerem hled´an´ı vk = −g′ (xk )+ g(xk ) ′
T
′
(10.14a) −1 ′
T
= −(g (xk ) g (xk )) g (xk ) g(xk ) = − 21 (g′ (xk )T g′ (xk ))−1 f ′ (xk )T .
(10.14b) (10.14c)
Pro m = n m´ame g′ (xk )+ = g′ (xk )−1 , tedy Gauss-Newtonova metoda se redukuje na Newtonovu metodu (10.9) na ˇreˇsen´ı soustavy n rovnic s n nezn´am´ymi. Tvar (10.14c) dostaneme z (10.14b) dosazen´ım derivace u ´ˇcelov´e funkce (10.12) f ′ (x) = 2g(x)T g′ (x) (viz §8.3.2). Vid´ıme, ˇze Gauss-Newton˚ uv smˇer (10.14c) se liˇs´ı od gradientn´ıho smˇeru (10.4) 1 ′ T ′ pouze n´asoben´ım matic´ı 2 (g (xk ) g (xk ))−1 . Aby byl tento smˇer sestupn´y, mus´ı b´yt f ′ (xk ) vk = − 12 f ′ (xk )(g′ (xk )T g′ (xk ))−1 f ′ (xk )T < 0. Toto plat´ı, kdyˇz f ′ (xk ) 6= 0 a matice g′ (xk )T g′ (xk ) je pozitivnˇe definitn´ı (viz Cviˇcen´ı 6.18). Matice g′ (xk )T g′ (xk ) je pozitivnˇe definitn´ı pr´avˇe tehdy, kdyˇz g′ (xk ) m´a line´arnˇe nez´avisl´e sloupce 92
(dokaˇzte!), coˇz ovˇsem jiˇz pˇredpokl´ad´ame kv˚ uli existenci inverze. Tedy vid´ıme, ˇze za pˇrirozen´ych podm´ınek je Gauss-Newton˚ uv smˇer vˇzdy sestupn´y. ˇ a Gauss-Newtonova metoda (tj. s jednotkovou d´elkou kroku) m˚ Cist´ uˇze divergovat, a to i kdyˇz je poˇc´ateˇcn´ı odhad x0 libovolnˇe bl´ızko lok´aln´ımu minimu funkce (10.12). Protoˇze ale Gauss-Newton˚ uv smˇer je vˇzdy sestupn´y, vhodnou volbou d´elky kroku αk lze vˇzdy zajistit konvergenci. Pˇ r´ıklad 10.5. Hled´ame pˇribliˇzn´e ˇreˇsen´ı soustavy tˇr´ı rovnic (x − 1)2 + y 2 = 1, x4 + y 4 = 1, x2 + (y − 1)2 = 1/2 o dvou nezn´am´ych. Oba pr˚ useˇc´ıky kˇrivek dan´ych prvn´ımi dvˇema rovnicemi jiˇz zn´ame z Pˇr´ıkladu 10.2. Ani jeden z tˇechto pr˚ useˇc´ık˚ u neleˇz´ı na tˇret´ı kˇrivce (i kdyˇz je j´ı bl´ızko), tedy soustava je pˇreurˇcen´a. Nezb´yv´a n´am tedy, neˇz ji ˇreˇsit pˇribliˇznˇe. Hled´ame bod (x, y) ∈ R2 , kter´y minimalizuje ˇc´ıslo f (x, y) = g(x, y)T g(x, y) = ((x − 1)2 + y 2 − 1)2 + (x4 + y 4 − 1)2 + (x2 + (y − 1)2 − 1/2)2 kde
(x − 1)2 + y 2 − 1 , x4 + y 4 − 1 g(x, y) = 2 2 x + (y − 1) − 1/2
2(x − 1) 2y 4y 3 . g′ (x, y) = 4x3 2x 2(y − 1)
Rozumn´y poˇc´ateˇcn´ı odhad je (x0 , y0 ) = (1, 1). Prvn´ı Gauss-Newtonova iterace (10.13) je + 0 0 2 x1 1 0.75 = − 4 4 1 = . y1 1 1 1/2 2 0
Po osm´e iteraci (x8 , y8 ) = ( 0.691002152515578, 0.940548357857245 ) se jiˇz hodnota f (x8 , y8 ) = 0.0008674592922855055 v r´amci strojov´e pˇresnosti nemˇen´ı. Pˇ r´ıklad 10.6. V syst´emu GPS m´ame m satelit˚ u se zn´am´ymi souˇradnicemi a1 , . . . , am ∈ Rn a chceme spoˇc´ıtat souˇradnice pozorovatele x ∈ Rn z namˇeˇren´ych vzd´alenost´ı yi = kai − xk2 pozorovatele od satelit˚ u. Mˇeˇren´ı jsou zat´ıˇzena chybou, proto obecnˇe tato soustava rovnic nebude ˇ sme tuto pˇreurˇcenou neline´arn´ı soustavu ve smyslu nejmenˇs´ıch ˇctverc˚ m´ıt ˇz´adn´e ˇreˇsen´ı. Reˇ u, tedy minimalizujme funkci m X 2 f (x) = kx − ai k2 − yi . i=1
n
m
M´ame tedy g = (g1 , . . . , gm ): R → R , kde gi (x) = kx−ai k2 −yi . Derivace sloˇzek g je (pom˚ uˇze ′ T n´am §8.3.2, ale udˇelejte sami!) gi (x) = (x − ai ) /kx − ai k2 . Tedy (x − a1 )T /kx − a1 k2 .. m×n g′ (x) = . ∈R . T (x − am ) /kx − am k2 Pak dosad´ıme do vzoreˇcku (10.13).
93
10.4.2
Rozd´ıl proti Newtonovˇ e metodˇ e
Pˇredpokl´adejme, ˇze bychom optimalizovali naˇs´ı u ´ˇcelovou funkci (10.12) pˇr´ımo Newtonovou metodou z §10.3.2. Spoˇc´ıtejme (proved’te sami!) Hessi´an funkce (10.12): ′′
′
T
′
f (x) = 2g (x) g (x) + 2
m X
gi (x)gi′′ (x).
(10.15)
i=1
Hessi´an je souˇctem ˇclenu obsahuj´ıc´ıho derivace prvn´ıho r´adu a ˇclenu obsahuj´ıc´ıho derivace druh´eho ˇr´adu. Vid´ıme, ˇze Gauss-Newton˚ uv smˇer (10.14c) se liˇs´ı od Newtonova smˇeru (10.11) zanedb´an´ım ˇclenu druh´eho ˇr´adu v Hessi´anu (10.15). Jin´ymi slovy, Gauss-Newtonovu metodu je moˇzno vn´ımat jako aproximaci Newtonovy metody na minimalizaci funkce (10.12) spoˇc´ıvaj´ıc´ı v tom, ˇze skuteˇcn´y Hessi´an (10.15) se aproximuje v´yrazem 2g′ (x)T g′ (x). To se projevuje t´ım, ˇze Gauss-Newtonova metoda obvykle konverguje pomaleji neˇz pln´a Newtonova metoda pouˇzit´a na funkci (10.12). Ovˇsem vyhnuli jsme se poˇc´ıt´an´ı druh´ych derivac´ı funkce g, coˇz je hlavn´ı v´yhoda Gauss-Newtonovy metody.
10.4.3
Levenberg-Marquardtova metoda
Levenberg-Marquardtova metoda je ˇsiroce pouˇz´ıvan´e vylepˇsen´ı Gauss-Newtonovy metody, kter´e jej´ı iteraci xk+1 = xk − (g′ (xk )T g′ (xk ))−1 g′ (xk )T g(xk ) nahrazuje iterac´ı xk+1 = xk − (g′ (xk )T g′ (xk ) + µk I)−1 g′ (xk )T g(xk )
(10.16)
kde µk > 0. Vid´ıme, ˇze: • Pro mal´e µk se (10.16) bl´ıˇz´ı Gauss-Newtonovˇe iteraci.
• Pro velk´e µk je (g′ (xk )T g′ (xk ) + µk I)−1 ≈ µ−1 ızk´a iteraci xk+1 = k I, tedy (10.16) je bl´ −1 ′ T xk − µ−1 f (x ) gradientn´ ı metody s d´ e lkou kroku µ . k k k T´ım jsou spojeny v´yhody Gauss-Newtonovy metody (typicky rychl´a konvergence v okol´ı optima) a gradientn´ı metody (spolehlivost i daleko od optima). Volbou parametru µk spojitˇe pˇrech´az´ıme mezi obˇema metodami. Parametr µk mˇen´ıme bˇehem algoritmu. Zaˇcneme napˇr. s µ0 = 103 a pak v kaˇzd´e iteraci: • Pokud iterace sn´ıˇzila u ´ˇcelovou funkci, iteraci pˇrijmeme a µk zmenˇs´ıme.
• Pokud iterace nesn´ıˇzila u ´ˇcelovou funkci, iteraci odm´ıtneme a µk zvˇetˇs´ıme. Zvˇetˇsov´an´ı a zmenˇsov´an´ı µk dˇel´ame n´asoben´ım a dˇelen´ım konstantou, napˇr. 10. Vˇsimnˇete si, toto nahrazuje optimalizaci d´elky kroku αk (line search). Na algoritmus lze pohl´ıˇzet i jinak. V iteraci (10.13) se poˇc´ıt´a inverze matice g′ (xk )T g′ (xk ). Tato matice je sice vˇzdy pozitivnˇe semidefinitn´ı, ale m˚ uˇze b´yt bl´ızk´a singul´arn´ı (kdy se to stane?). To neblaze ovlivn´ı stabilitu algoritmu. Matice (10.16) je ale vˇzdy pozitivnˇe definitn´ı (viz Cviˇcen´ı 6.17), a tedy regul´arn´ı.
10.5
Cviˇ cen´ı
10.1. Najdˇete vˇsechna ˇreˇsen´ı rovnice sin x = 12 x (sinus je v radi´anech) na kalkulaˇcce s nejvˇetˇs´ı pˇresnost´ı, jakou dok´aˇzete. Na kalkulaˇcce sm´ıte pouˇz´ıvat jen operace +, −, ×, /, sin, cos. 94
10.2. Najdˇete lok´aln´ı extr´em funkce f (x, y) = x2 − y + sin(y 2 − 2x) ˇcistou Newtonovou metodou. Poˇc´ateˇcn´ı odhad zvolte (x0 , y0 ) = (1, 1). 10.3. M´ame m bod˚ u v rovinˇe o souˇradnic´ıch (xi , yi ), i = 1, . . . , m. Tyto body chceme proloˇzit kruˇznic´ı ve smyslu nejmenˇs´ıch ˇctverc˚ u – tj. hled´ame kruˇznici se stˇredem (u, v) a polomˇerem r takovou, aby souˇcet ˇctverc˚ u kolm´ych vzd´alenost´ı bod˚ u ke kruˇznici byl minim´aln´ı. Zformulujte pˇr´ısluˇsnou optimalizaˇcn´ı u ´lohu. Odvod’te iteraci Gauss-Newtonovy a Levenberg-Marquardtovy metody. 10.4. M´ame soustavu rovnic
x + y − 2xy = 1 −x + y + xy = −3 x − y + xy = 1
Je soustava line´arn´ı? Kolik m´a ˇreˇsen´ı a proˇc? Chceme soustavu ˇreˇsit pˇribliˇznˇe ve smyslu nejmenˇs´ıch ˇctverc˚ u, tj. minimalizovat funkci f (x, y) ve tvaru (10.12). Napiˇste iteraci a) b) c) d)
gradientn´ı metody, Newtonovy metody, Gauss-Newtonovy metody, Levenberg-Marquardtovy metody.
10.5. Rovnici x2 + 1 = 0 lze vn´ımat jako soustavu s n = 1 nezn´amou a m = 1 rovnic´ı. Soustava nem´a ˇreˇsen´ı, chceme ji tedy ˇreˇsit pˇribliˇznˇe Gauss-Newtonovou metodou. Ovˇsem protoˇze je m = n, redukuje se Gauss-Newtonova iterace (10.13) na Newtonovu iteraci (10.9). M´a tato formulace tedy smysl? K ˇcemu bude metoda konvergovat?
N´ apovˇ eda a ˇ reˇ sen´ı 10.1. Jeden koˇren je x = 0 a pak dva dalˇs´ı liˇs´ıc´ı se znam´enkem. Jeden z nich z´ısk´ame Newtonovou metodou: x ← x − (2 sin x − x)/(2 cos x − 1). Poˇc´ateˇcn´ı odhad zvol´ıme pomoc´ı n´ aˇcrtku x = 2. Po nˇekolika iterac´ıch m´ ame x = 1.895494267033981. 10.4. Soustava je neline´ arn´ı. Nem´a ˇreˇsen´ı, protoˇze po zaveden´ı promˇenn´e xy = z dostaneme line´ arn´ı soustavu s ˇreˇsen´ım (x, y, z) = (0.5, −1.5, −1), coˇz je spor.
95
Kapitola 11 Line´ arn´ı programov´ an´ı Line´ arn´ı rovnic´ı rozum´ıme v´yrok a1 x1 +· · ·+an xn = b, neboli h(x) = 0 kde h je afinn´ı funkce. Line´ arn´ı nerovnic´ı rozum´ıme v´yrok a1 x1 + · · · + an xn ≤ b ˇci a1 x1 + · · · + an xn ≥ b, neboli ´ g(x) ≤ 0 ˇci g(x) ≥ 0 kde g je afinn´ı funkce. Uloha line´ arn´ıho programov´ an´ı (LP, tak´e zvan´e line´arn´ı optimalizace) znamen´a minimalizaci line´arn´ı funkce za podm´ınek ve tvaru line´arn´ıch rovnic a nerovnic. Neboli v obecn´e formulaci (1.7) je funkce f line´arn´ı (tj. tvaru (3.5)) a funkce gi , hi jsou afinn´ı (tj. tvaru (3.17)). Stejnˇe jako pro obecnou u ´lohu spojit´e optimalizace (viz §1.2) mohou nastat tˇri pˇr´ıpady: • u ´loha m´a (alespoˇ n jedno) optim´aln´ı ˇreˇsen´ı, • u ´loha je nepˇr´ıpustn´a (mnoˇzina pˇr´ıpustn´ych ˇreˇsen´ı je pr´azdn´a, omezen´ı si odporuj´ı), • u ´loha je neomezen´a (´ uˇcelovou funkci lze za dan´ych omezen´ı libovolnˇe zlepˇsovat). Jednoduch´e u ´lohy line´arn´ıho programov´an´ı lze ˇreˇsit graficky.
Pˇ r´ıklad 11.1. Mˇejme line´arn´ı program min −x − y
x + 2y ≤ 14 3x − y ≥ 0 x− y≤ 2
za podm´ınek
(11.1)
Mnoˇzina X = { (x, y) ∈ R2 | x + 2y ≤ 14, 3x − y ≥ 0, x − y ≤ 2 } pˇr´ıpustn´ych ˇreˇsen´ı t´eto u ´lohy je pr˚ unik tˇr´ı polorovin. Tuto mnoˇzinu snadno nakresl´ıme: 3x − y = 0
8
8
c = (−1, −1) 6
6
F
x−y =2
c = (−1, −2) 4
4
2
F
X
cT x = −10
0 −2
2
x + 2y = 14
2
4
6
8
cT x = −10
0 −2
2
4
6
8
cT x = −6
T
c x = −8 −4
cT x = −14
X
cT x = −6
−4
96
´ celov´a funkce −x − y, neboli cT x pro x = (x, y) a c = (−1, −1), m´a vrstevnice kolm´e k Uˇ vektoru c a roste ve smˇeru c. Proto (viz lev´y obr´azek) u ´ˇcelov´a funkce na mnoˇzinˇe X nab´yv´a ´ (glob´aln´ıho) minima v bodˇe (x, y) = (6, 4). Uloha m´a tedy jedin´e optim´aln´ı ˇreˇsen´ı. Pokud bychom u ´ˇcelovou funkci u ´lohy (11.1) zmˇenili na −x − 2y, bude tato funkce na mnoˇzinˇe X nab´yvat minima ve vˇsech bodech u ´seˇcky spojuj´ıc´ı body (2, 6) a (6, 4) (viz prav´y obr´azek). ´ Uloha m´a tedy nekoneˇcnˇe mnoho optim´aln´ıch ˇreˇsen´ı.
11.1
Speci´ aln´ı tvary u ´ loh LP
Algoritmy na ˇreˇsen´ı LP ˇcasto pˇredpokl´adaj´ı u ´lohu v nˇejak´em speci´aln´ım tvaru, kdy jsou dovoleny pouze jist´e typy omezen´ı. Nejˇcastˇeji uˇz´ıvan´e speci´aln´ı tvary jsou • min{ cT x | x ∈ Rn , Ax = b, x ≥ 0 }, kde A ∈ Rm×n , b ∈ Rm , c ∈ Rn . Neboli min
c1 x1 + · · · + cn xn
za podm´ınek ai1 x1 + · · · + ain xn = bi , i = 1, . . . , m xj ≥ 0 , j = 1, . . . , n
Tedy dovolujeme pouze omezen´ı typu rovnosti a nez´aporn´e promˇenn´e1 . • min{ cT x | x ∈ Rn , Ax ≥ b, x ≥ 0 }
• min{ cT x | x ∈ Rn , Ax ≥ b } Tyto speci´aln´ı tvary LP nemaj´ı menˇs´ı vyjadˇrovac´ı schopnost neˇz obecn´y tvar (ve kter´em omezen´ı mohou b´yt libovoln´e line´arn´ı rovnice ˇci nerovnice), nebot’ obecn´y tvar se d´a pˇrev´est na libovoln´y speci´aln´ı tvar nˇekterou z n´asleduj´ıc´ıch u ´prav: T • Maximalizaci funkce c x nahrad´ıme minimalizac´ı funkce −cT x. • Nerovnost aT x ≤ 0 naahrad´ıme nerovnost´ı −aT x ≥ 0.
• Rovnost aT x = b nahrad´ıme dvˇema nerovnostmi aT x ≥ b, −aT x ≥ −b.
• Nerovnost aT x ≤ b pˇrevedeme na rovnost pˇrid´an´ım pomocn´e slackov´ e promˇ enn´ e2 ui ≥ 0 jako aT x + ui = bi . Podobnˇe pˇrevedeme nerovnost aT x ≥ b na rovnost.
− • Neomezenou promˇennou xi ∈ R rozdˇel´ıme na dvˇe nez´aporn´e promˇenn´e x+ i ≥ 0, xi ≥ 0 − pˇrid´an´ım podm´ınky xi = x+ i − xi . ´ Uloha z´ıskan´a z p˚ uvodn´ı u ´lohy pomoc´ı tˇechto u ´prav je ekvivalentn´ı p˚ uvodn´ı u ´loze v tom smyslu, ˇze hodnota jejich optima je stejn´a a argument optima p˚ uvodn´ı u ´lohy lze ‘snadno’ z´ıskat z argumentu optima nov´e u ´lohy.
Pˇ r´ıklad 11.2. V u ´loze (11.1) chceme prvn´ı podm´ınku pˇrev´est na rovnost. To udˇel´ame zaveden´ım slackov´e promˇenn´e u ≥ 0. Transformovan´a u ´loha je min −x − y
za podm´ınek
x + 2y + u = 14 3x − y ≥ 0 x− y ≤ 2 u ≥ 0
1
Tomuto tvaru se nˇekdy ˇr´ık´ a standardn´ı. Bohuˇzel n´ azvoslov´ı r˚ uzn´ ych tvar˚ u LP nen´ı jednotn´e, n´ azvy jako ‘standardn´ı tvar’, ‘z´ akladn´ı tvar’ ˇci ‘kanonick´ y tvar’ tedy mohou znamenat v r˚ uzn´ ych knih´ach nˇeco jin´eho. 2 Slack znamen´ a anglicky napˇr. mezeru mezi zd´ı a skˇr´ın´ı, kter´ a nen´ı zcela pˇriraˇzen´a ke zdi. Term´ın slack variable nem´ a ust´ alen´ y ˇcesk´ y ekvivalent, nˇekdy se pˇrekl´ ad´a jako skluzov´ a promˇenn´ a.
97
Je-li (x, y, u) optimum t´eto u ´lohy, optimum u ´lohy (11.1) je (x, y).
Pˇ r´ıklad 11.3. V u ´loze (11.1) obˇe promˇenn´e mohou m´ıt libovoln´e znam´enko. Chceme pˇrev´est u ´lohu na tvar, kde vˇsechny promˇenn´e jsou nez´aporn´e. Dosad´ıme x = x+ − x− a y = y+ − y− , kde x+ , x− , y+ , y− ≥ 0. V´ysledn´a u ´loha je min −x+ + x− − y+ + y−
za podm´ınek
11.1.1
x+ − x− + 2y+ − 2y− 3x+ − 3x− − y+ + y− x+ − x− − y+ + y− x+ , x− , y+ , y−
≤ ≥ ≤ ≥
14 0 2 0
Po ˇ c´ astech afinn´ı funkce
Mˇejme funkci f : Rn → R danou vzorcem k
f (x) = max(cTi x + di ),
(11.2)
i=1
kde ci ∈ Rn a di ∈ R jsou d´any. Tato funkce nen´ı line´arn´ı ani afinn´ı, je po ˇc´astech afinn´ı (viz Cviˇcen´ı 11.6). Pˇr´ıkladem pro n = 1 a k = 3 je funkce f (x) = max{−x − 2, 0, 12 (x − 1)}, jej´ıˇz graf je na obr´azku: f (x) 2
−4
−2
1
5
x
ˇ sme u Reˇ ´lohu min{ f (x) | x ∈ Rn , Ax ≥ b }.
(11.3)
To nen´ı u ´loha LP, nebot’ jej´ı u ´ˇcelov´a funkce nen´ı line´arn´ı. Ovˇsem lze ji pˇrev´est na LP zaveden´ım pomocn´e promˇenn´e: min{ f (x) | x ∈ Rn , Ax ≥ b } = min{ z | (x, z) ∈ Rn+1 , f (x) ≤ z, Ax ≥ b }
(11.4a)
= min{ z | (x, z) ∈ Rn+1 , max(cTi x + di ) ≤ z, Ax ≥ b } (11.4b) i
= min{ z | (x, z) ∈ R
n+1
, (∀i)(cTi x + di ≤ z), Ax ≥ b } (11.4c)
´lohy je f (x) = z. Kdyby bylo f (x) < z, mohli Rovnost (11.4a) plat´ı proto, ˇze v optimu prav´e u bychom totiˇz z zmenˇsit bez poruˇsen´ı omezen´ı a tedy (x, z) by nebylo optimum. Rovnost (11.4c) plat´ı proto, ˇze pro libovoln´a ˇc´ısla ai , b plat´ı max ai ≤ b i
⇐⇒
ˇ adek (11.4c) je jiˇz u R´ ´loha LP.
98
(∀i)(ai ≤ b).
(11.5)
´ Pˇ r´ıklad 11.4. Uloha
min max{ 3x1 + 4x2 , 2x1 − 3x2 }
za podm.
x1 + 2x2 ≤ 14 3x1 − x2 ≥ 0 x1 − x2 ≤ 2
nen´ı LP, protoˇze u ´ˇcelov´a funkce f (x1 , x2 ) = max{ 3x1 + 4x2 , 2x1 − 3x2 } nen´ı line´arn´ı ani afinn´ı ´ (nakreslete si na pap´ır jej´ı vrstevnice!). Ulohu lze ale pˇreformulovat na LP min z za podm. 3x1 2x1 x1 3x1 x1
+ − + − −
4x2 3x2 2x2 x2 x2
≤ ≤ ≤ ≥ ≤
z z 14 0 2
Tento pˇrevod lze uˇz´ıt i pro funkce obsahuj´ıc´ı absolutn´ı hodnoty, nebot’ |x| = max{−x, x}. Je ale nutn´a opatrnost: neplat´ı nic takov´eho jako (mini ai ≤ b) ⇔ (∀i)(ai ≤ b), tedy m´ame-li ˇspatnou kombinaci minim/maxim a nerovnost´ı, pˇrevod na LP nen´ı moˇzn´y.
11.2
Nˇ ekter´ e aplikace LP
11.2.1
Optim´ aln´ı v´ yrobn´ı program
Z m druh˚ u surovin vyr´ab´ıme n druh˚ u v´yrobk˚ u. • aij = mnoˇzstv´ı suroviny druhu i potˇrebn´e na v´yrobu v´yrobku druhu j • bi = mnoˇzstv´ı suroviny druhu i, kter´e m´ame k dispozici • cj = zisk z vyroben´ı jednoho v´yrobku druhu j • xj = poˇcet vyroben´ych v´yrobk˚ u druhu j
´ ˇ sen´ı: Ukolem je zjistit, kolik jak´ych v´yrobk˚ u m´ame vyrobit, abychom dos´ahli nejvˇetˇsiho zisku. Reˇ X X n n aij xj ≤ bi , xj ≥ 0 . (11.6) max cj xj j=1
j=1
Pˇ r´ıklad 11.5. P´an u st´anku prod´av´a lup´ınky za 120 Kˇc/kg a hranolky za 76 Kˇc/kg. Na v´yrobu 1 kg lup´ınk˚ u se spotˇrebuje 2 kg brambor a 0.4 kg oleje. Na v´yrobu 1 kg hranolku se spotˇrebuje 1.5 kg brambor a 0.2 kg oleje. Je nakoupeno 100 kg brambor a 16 kg oleje. Brambory st´aly 12 Kˇc/kg, olej 40 Kˇc/kg. Kolik m´a p´an vyrobit lup´ınk˚ u a kolik hranolk˚ u, aby co nejv´ıce vydˇelal? To lze vyj´adˇrit jako LP max 120l + 76h za podm´ınek
2l + 1.5h ≤ 100 0.4l + 0.2h ≤ 16 l, h ≥ 0
Pˇritom pˇredpokl´ad´ame, ˇze zbytky surovin se po pracovn´ı dobˇe vyhod´ı. Pokud se zbytky vyuˇzij´ı, tak maximalizujeme (120 − 24 − 16)l + (76 − 18 − 8)h = 80l + 50h. V obou pˇr´ıpadech je optim´aln´ı ˇreˇsen´ı l = 20 kg lup´ınk˚ u a h = 40 kg hranolk˚ u. 99
11.2.2
Smˇ eˇ sovac´ı (dietn´ı) probl´ em
Z n druh˚ u surovin, z nichˇz kaˇzd´a je smˇes´ı m druh˚ u l´atek, m´ame nam´ıchat koneˇcn´y produkt o poˇzadovan´em sloˇzen´ı tak, aby cena surovin byla minim´aln´ı. • aij = mnoˇzstv´ı l´atky druhu i obsaˇzen´e v jednotkov´em mnoˇzstv´ı suroviny druhu j • bi = nejmenˇs´ı poˇzadovan´e mnoˇzstv´ı l´atky druhu i v koneˇcn´em produktu
• cj = jednotkov´a cena suroviny druhu j
• xj = mnoˇzstv´ı suroviny druhu j ˇ Reˇsen´ı: n X n X min aij xj ≥ bi , xj ≥ 0 . cj xj
(11.7)
j=1
j=1
Pˇ r´ıklad 11.6. Jste kuchaˇrka v menze a chcete uvaˇrit pro studenty co nejlevnˇejˇs´ı obˇed, ve kter´em ovˇsem kv˚ uli pˇredpis˚ um mus´ı b´yt dan´e minim´aln´ı mnoˇzstv´ı ˇzivin (cukr˚ u, b´ılkovin a vitam´ın˚ u). Obˇed vaˇr´ıte ze tˇr´ı surovin: brambor, masa a zeleniny. Jsou d´any hodnoty v tabulce:
obsah cukr˚ u obsah b´ılkovin obsah vitam´ın˚ u cena
na jednotku brambor 2 2 1 25
na jednotku masa 1 6 3 50
na jednotku zeleniny 1 1 6 80
min. poˇzadavek na jeden obˇed 8 16 8
Kolik je tˇreba kaˇzd´e suroviny na jeden obˇed? Minimalizujeme 25b+50m+80z za podm´ınek 2b+m+z ≥ 8, 2b+6m+z ≥ 16, b+3m+6z ≥ 8 a b, m, z ≥ 0. Optim´aln´ı ˇreˇsen´ı je b = 3.2, m = 1.6, z = 0 s hodnotou 160.
11.2.3
Dopravn´ı probl´ em
M´ame m v´yrobc˚ u a n spotˇrebitel˚ u. • ai = mnoˇzstv´ı zboˇz´ı vyr´abˇen´e v´yrobcem i
• bj = mnoˇzstv´ı zboˇz´ı poˇzadovan´e spotˇrebitelem j
• cij = cena dopravy jednotky zboˇz´ı od v´yrobce i ke spotˇrebiteli j
• xij = mnoˇzstv´ı zboˇz´ı vezen´e od v´yrobce i ke spotˇrebiteli j ˇ sen´ı: Chceme co nejlevnˇeji rozv´ezt zboˇz´ı od v´yrobc˚ u ke spotˇrebitel˚ um. Reˇ n X m n m X X X min xij = ai , xij = bj , xij ≥ 0 . cij xij i=1 j=1
j=1
(11.8)
i=1
P Pn Zad´an´ı mus´ı splˇ novat m ıdka mus´ı b´yt rovna popt´avce), jinak bude i=1 ai = j=1 bj (nab´ Pn P ´ u ´loha nepˇr´ıpustn´a. Uloha jde modifikovat tak, ˇze dovol´ıme m j=1 bj (proved’te!). i=1 ai ≥
100
11.3
Pouˇ zit´ı na nehomogenn´ı line´ arn´ı soustavy
11.3.1
Vektorov´ e normy
Norma formalizuje pojem ‘d´elky’ vektoru x. nuje tyto axiomy: Definice 11.1. Funkce k·k: Rn → R se naz´yv´a vektorov´a3 norma, jestliˇze splˇ 1. Jestliˇze kxk = 0 pak x = 0. 2. kαxk = |α| kxk pro kaˇzd´e α ∈ R a x ∈ Rn (norma je kladnˇe homogenn´ı).
3. kx + yk ≤ kxk + kyk pro kaˇzd´e x, y ∈ Rn (troj´ uheln´ıkov´a nerovnost). Z axiom˚ u plynou tyto dalˇs´ı vlastnosti normy: • k0k = 0, coˇz plyne z homogenity pro α = 0
• kxk ≥ 0 pro kaˇzd´e x ∈ Rn . To jde odvodit tak, ˇze v troj´ uheln´ıkov´e nerovnosti poloˇz´ıme y = −x, coˇz d´a kx − xk = k0k = 0 ≤ kxk + k−xk = 2kxk,
kde na prav´e stranˇe jsme pouˇzili homogenitu. Jednotkov´ a sf´ era normy je mnoˇzina { x ∈ Rn | kxk = 1 }, tedy vrstevnice normy jednotkov´e v´yˇsky. D´ıky homogenitˇe je jednotkov´a sf´era stˇredovˇe symetrick´a a jej´ı tvar zcela urˇcuje normu. Uved’me pˇr´ıklady norem. Z´akladn´ım pˇr´ıkladem je p-norma kxkp = (|x1 |p + · · · + |xn |p )1/p . Mus´ı b´yt p ≥ 1, jinak neplat´ı troj´ uheln´ıkov´a nerovnost. Nejˇcastˇeji naraz´ıte na: • kxk1 = |x1 | + · · · + |xn |. Nˇekdy se j´ı ˇr´ık´a manhattansk´a norma, protoˇze v syst´emu pravou ´hl´ych ulic je vzd´alenost mezi body x a y rovna kx − yk1 . √ p • kxk2 = x21 + · · · + x2n = xT x. Je to zn´am´a eukleidovsk´a norma.
• kxk∞ = limp→∞ kxkp = max{|x1 |, . . . , |xn |} (dokaˇzte rovnost v´ypoˇctem limity!). Nˇekdy se ˇ sevova norma nebo max-norma. j´ı ˇr´ık´a Cebyˇ Jednotkov´e sf´ery tˇechto norem v R2 vypadaj´ı takto:
0
kxk1 = 1
1
0
1
kxk2 = 1
0
1
kxk∞ = 1
Existuj´ı ale i normy, kter´e nejsou p-normy, napˇr. p • kxk = 2|x1 | + x22 + x23 + max{|x4 |, |x5 |} je norma na R5 .
• Je-li kxk norma a A je ˇctvercov´a nebo u ´zk´a matice s plnou hodnost´ı, je tak´e kAxk norma.
3
Existuj´ı i maticov´e normy, coˇz jsou funkce Rm×n → R. Pˇr´ıkladem je Frobeniova norma (7.8).
101
11.3.2
Pˇ ribliˇ zn´ eˇ reˇ sen´ı pˇ reurˇ cen´ ych soustav
Mˇejme pˇreurˇcenou line´arn´ı soustavu Ax = b, kde A ∈ Rm×n a 0 6= b ∈ Rm . Nalezen´ı jej´ıho pˇribliˇzn´eho ˇreˇsen´ı formulujme jako u ´lohu min kAx − bkp .
x∈Rn
(11.9)
Uvaˇzujme tˇri pˇr´ıpady: • Pro p = ∞ hled´ame takov´e x, kter´e minimalizuje v´yraz m
kAx − bk∞ = max |aTi x − bi |, i=1
(11.10)
tedy minimalizuje maxim´aln´ı residuum. Toto ˇreˇsen´ı je zn´am´e pod n´azvem minimaxn´ı nebo ˇ sevovo. Uloha ´ Cebyˇ je ekvivalentn´ı line´arn´ımu programu min z za podm. aTi x − bi ≤ z, i = 1, . . . , m −aTi x + bi ≤ z, i = 1, . . . , m neboli min{ z ∈ R | x ∈ Rn , −z1 ≤ Ax − b ≤ z1 }.
(11.11)
• Pro p = 2 dostaneme ˇreˇsen´ı ve smyslu nejmenˇs´ıch ˇctverc˚ u, kter´e jsme odvodili v §5.1. • Pro p = 1 hled´ame takov´e x, kter´e minimalizuje v´yraz kAx − bk1 =
m X i=1
|aTi x − bi |,
(11.12)
´ kde a1 , . . . , am jsou ˇr´adky matice A. Uloha je ekvivalentn´ı line´arn´ımu programu min
m X
zi
i=1
za podm.
aTi x − bi ≤ zi , i = 1, . . . , m −aTi x + bi ≤ zi , i = 1, . . . , m
neboli min{ 1T z | z ∈ Rm , x ∈ Rn , −z ≤ Ax − b ≤ z }.
11.3.3
(11.13)
Line´ arn´ı regrese
Vrat’me se k line´arn´ı regresi z §5.1.3 (znovu pˇreˇctˇete!). Funkˇcn´ı z´avislost pˇribliˇznˇe popsanou namˇeˇren´ymi dvojicemi (ti , yi ), i = 1, . . . , m, jsme aproximovali regresn´ı funkc´ı f (t, x) = x1 ϕ1 (t) + · · · + xn ϕn (t) = ϕ(t)T x, kde parametry x jsou takov´e, aby yi ≈ f (ti , x) pro vˇsechna i. Pˇribliˇzn´e rovnosti ≈ jsme ch´apali ve smyslu nejmenˇs´ıch ˇctverc˚ u, tedy hledali jsme takov´e x kter´e minimalizovalo funkci m X (yi − f (ti , x))2 = ky − Axk2 , i=1
102
(11.14)
kde y = (y1 , . . . , ym ) a prvky matice A jsou aij = ϕj (ti ). Tedy ˇreˇs´ıme u ´lohu (11.9) pro p = 2. M˚ uˇzeme ale pouˇz´ıt i jin´e normy neˇz eukleidovskou. Pro p = 1 minimalizujeme m X i=1
|yi − f (ti , x)| = ky − Axk1
(11.15)
a pro p = ∞ minimalizujeme m
max |yi − f (ti , x)| = ky − Axk∞ . i=1
(11.16)
D´ale uk´aˇzeme, k ˇcemu to m˚ uˇze b´yt dobr´e. Regrese ve smyslu ∞-normy je vhodn´a napˇr. pˇri aproximaci funkc´ı. Pˇ r´ıklad 11.7. Na poˇc´ıtaˇci bez matematick´eho koprocesoru potˇrebujeme mnohokr´at vyhodnocovat funkci sinus na intervalu [0, π2 ]. Protoˇze v´ypoˇcet hodnot t´eto funkce by trvalo pˇr´ıliˇs dlouho, chceme ji aproximovat polynomem tˇret´ıho stupnˇe x1 + x2 t + x3 t2 + x4 t3 , jehoˇz hodnoty se spoπi ˇc´ıtaj´ı rychleji. Spoˇc´ıtejme hodnoty yi = sin ti funkce v dostateˇcn´em poˇctu bod˚ u ti = 2n pro ˇ i = 1, . . . , m. Koeficienty polynomu je vhodn´e hledat minimalizac´ı Cebyˇsevova krit´eria (11.16), nebot’ to n´am d´a z´aruku, ˇze chyba aproximace nikde nepˇres´ahne hodnotu, kter´a je nejmenˇs´ı moˇzn´a pro dan´y stupeˇ n polynomu. Regrese ve smyslu 1-normy je uˇziteˇcn´a tehdy, kdyˇz je mal´a ˇc´ast hodnot yi namˇeˇren´a u ´plnˇe ˇspatnˇe (napˇr. se nˇekdo pˇri zapisov´an´ı ˇc´ısel spletl v desetinn´e ˇc´arce). Takov´ym hodnot´am se ˇr´ık´a vych´ ylen´ e hodnoty (outliers). Discipl´ına zab´yvaj´ıc´ı se modelov´an´ım funkˇcn´ıch z´avislost´ı za pˇr´ıtomnosti vych´ylen´ych hodnot se naz´yv´a robustn´ı regrese. V tomto pˇr´ıpadˇe ˇreˇsen´ı ve smyslu nejmenˇs´ıch ˇctverc˚ u nen´ı vhodn´e (nen´ı ’robustn´ı’), protoˇze i jedin´y vych´ylen´y bod velmi ovlivn´ı ˇreˇsen´ı. Regrese ve smyslu 1-normy je proti vych´ylen´ym bod˚ um odolnˇejˇs´ı. Uk´aˇzeme to na nejjednoduˇsˇs´ım moˇzn´em pˇr´ıpadu regrese: odhad hodnoty jedin´eho ˇc´ısla ze souboru jeho nepˇresn´ych mˇeˇren´ı. Pro dan´a ˇc´ısla y = (y1 , . . . , ym ) ∈ Rm hled´ame x ∈ R minimalizuj´ıc´ı funkci f (x) = k(x − y1 , . . . , x − ym )kp = k1x − ykp . (11.17) ˇ sen´ım je x = 1 minm yi + maxm yi , tedy bod • Pro p = ∞ je f (x) = maxm i=1 |x − yi |. Reˇ i=1 i=1 2 v polovinˇe mezi krajn´ımi body. pPm P 2 ˇ sen´ ım je aritmetick´y pr˚ umˇer, x = m1 m • Pro p = 2 je f (x) = i=1 yi (viz i=1 (x − yi ) . Reˇ Pˇr´ıklad 5.4). Pm ˇ sen´ım je medi´an z ˇc´ısel yi (dokaˇzte!). Medi´an • Pro p = 1 je f (x) = i=1 |x − yi |. Reˇ se vypoˇcte tak, ˇze seˇrad´ıme ˇc´ısla yi podle velikosti a vezmeme prostˇredn´ı z nich. Pokud je m sud´e, m´ame dva ‘prostˇredn´ı prvky’ a v tom pˇr´ıpadˇe funkce f nab´yv´a minima v jejich libovoln´e konvexn´ı kombinaci. Je pak u ´zus definovat medi´an jako aritmetick´y pr˚ umˇer prostˇredn´ıch prvk˚ u. Pˇredpokl´adejme nyn´ı, ˇze jedno z ˇc´ısel, napˇr. y1 , se zvˇetˇsuje. V tom pˇr´ıpadˇe se ˇreˇsen´ı x pro r˚ uzn´a p budou chovat r˚ uznˇe. Napˇr. aritmetick´y pr˚ umˇer se bude zvˇetˇsovat, a to tak, ˇze zvˇetˇsov´an´ım hodnoty y1 dos´ahneme libovoln´e hodnoty x. Pro medi´an to ovˇsem neplat´ı – zvˇetˇsov´an´ım jedin´eho bodu y1 ovlivn´ıme x jen natolik, nakolik to zmˇen´ı poˇrad´ı bod˚ u. Jeho libovoln´ym zvˇetˇsov´an´ım nedos´ahneme libovoln´e hodnoty x.
103
ˇ erou zmˇeˇr´ıme pr˚ Pˇ r´ıklad 11.8. Supl´ umˇer ocelov´e kuliˇcky v nˇekolika m´ıstech, dostaneme hodnoty y = (1.02, 1.04, 0.99, 2.03) (cm). Pˇri posledn´ım mˇeˇren´ı jsme se na stupnici pˇrehl´edli, proto je posledn´ı hodnota u ´plnˇe ˇspatnˇe. Z tˇechto mˇeˇren´ı chceme odhadnout skuteˇcn´y pr˚ umˇer. M´ame m
1 X yi = 1.27, m i=1
1 m m min yi + max yi = 1.51, i=1 2 i=1
m
median yi = 1.03. i=1
Je zjevn´e, ˇze medi´an je neovlivnˇen vych´ylen´ym bodem, zat´ımco ostatn´ı odhady ano.
Ve sloˇzitˇejˇs´ım pˇr´ıpadˇe, napˇr. prokl´ad´an´ı dat polynomem jako v Pˇr´ıkladu 5.4, se ned´a robustnost reˇsen´ı ve smyslu 1-normy takto jednoduˇse form´alnˇe uk´azat a anal´yza m˚ uˇze b´yt mnohem tˇeˇzˇs´ı. Ale intuitivnˇe bude situace obdobn´a: ˇreˇsen´ı ve smyslu 1-normy bude m´enˇe citliv´e na vych´ylen´e body neˇz ˇreˇsen´ı ve smyslu 2-normy.
11.4
Cviˇ cen´ı
11.1. Najdˇete graficky mnoˇzinu optim´aln´ıch ˇreˇsen´ı u ´lohy min c1 x1 + c2 x2 + c3 x3 za podm. x1 + x2 x1 + 2x2 x1 + x2 x1 , x2 , x3
≥ ≤ ≤ ≥
1 3 10 0
pro n´asleduj´ıc´ı pˇr´ıpady: (a) c = (−1, 0, 1), (b) c = (0, 1, 0), (c) c = (0, 0, −1).
11.2. Vyˇreˇste u ´vahou tyto jednoduch´e u ´lohy LP a napiˇste co nejjednoduˇsˇs´ı v´yraz pro optim´aln´ı hodnotu. Vektor c ∈ Rn a ˇc´ıslo k ∈ N, 1 ≤ k ≤ n, jsou d´any. a) b) c) d) e) f) g) h) i) j)
max{ cT x | 0 ≤ x ≤ 1 } max{ cT x | −1 ≤ x ≤ 1 } max{ cT x | x ≥ 0, 1T x = 1 } max{ cT x | x ≥ 0, 1T x ≤ 1 } max{ cT x | −1 ≤ 1T x ≤ 1 } max{ cT x | x ≥ 0, 1T x = k } max{ cT x | 0 ≤ x ≤ 1, 1T x = k } max{ cT x | 0 ≤ x ≤ 1, 1T x ≤ k } max{ cT x | 0 ≤ x1 ≤ x2 ≤ · · · ≤ xn ≤ 1 } (⋆) max{ cT x | −y ≤ x ≤ y, 1T y = k, y ≤ 1 }
11.3. Pokud to dok´aˇzete, pˇreved’te na LP. a) b) c) d) e)
min{ |x1 | + |x2 | | 2x1 − x2 ≥ 1, −x1 + 2x2 ≥ 1 } max{ |x1 − c1 | + · · · + |xn − cn | | a1 x1 + · · · + an xn ≥ b } max{ cT x | Ax = b, |dT x| ≤ 1, x ≥ 0 } P T minx∈Rn Ll=1 maxK k=1 (ckl x + dkl ) Pm minx∈Rn i=1 f (aTi x − bi ), kde funkce f je definov´ana obr´azkem 104
f (x) 2 1
−2
f) g) h) i)
−1
1
3
x
min{ kAx − bk1 | x ∈ Rn , kxk∞ ≤ 1 } min{ kxk1 | x ∈ Rn , Ax = b } min{ kxk1 | x ∈ Rn , kAx − bk∞ ≤ 1 } minx∈Rn (kAx − bk1 + kxk∞ )
11.4. M´ame algoritmus (ˇcernou skˇr´ıˇ nku) na ˇreˇsen´ı LP, kterou m˚ uˇzeme zavolat i v´ıcekr´at. S pomoc´ı tohoto algoritmu vyˇreˇste u ´lohu max{ |cT x| | Ax = b, x ≥ 0 }?
11.5. Dokaˇzte nebo vyvrat’te n´asleduj´ıc´ı rovnosti. Zde c ∈ Rn a A ∈ Rm×n jsou d´any, k · k je libovoln´a norma, a optimalizuje se pˇres promˇenn´e x ∈ Rn . a) max{ cT x | x ∈ Rn , kxk = 1 } = max{ cT x | x ∈ Rn , kxk ≤ 1 } b) min{ cT x | x ∈ Rn , kxk = 1 } = min{ cT x | x ∈ Rn , kxk ≤ 1 } c) max{ kAxk | x ∈ Rn , kxk = 1 } = max{ kAxk | x ∈ Rn , kxk ≤ 1 } N´apovˇeda: Inspirujte se u ´vahou v §11.1.1.
11.6. Pochopte k´od v Matlabu, kter´y nakresl´ı graf funkce f (x) = maxki=1 (cTi x + di ) pro x ∈ R2 : k = 200; N = 40; cd = randn(3,k); x1 = ones(N,1)*linspace(-1,1,N); x2 = linspace(-1,1,N)’*ones(1,N); x = [x1(:)’; x2(:)’]; x(3,:) = 1; meshc(x1,x2,reshape(max(cd’*x,[],1),[N N])); axis vis3d 11.7. Hled´ame nejvˇetˇs´ı hyperkouli B(a, r) = { x ∈ Rn | kx − ak2 ≤ r }, kter´a se vejde do polyedru P = { x ∈ Rn | Ax ≤ b }. Tedy hled´ame maxim´aln´ı r za podm´ınky B(a, r) ⊆ P , kde optimalizujeme pˇres promˇenn´e (a, r). Vyj´adˇrete jako LP.
105
11.8. M´ame kladku s provazem, jehoˇz oba konce konˇc´ı h´akem. Na lev´em h´aku vis´ı n z´avaˇz´ı na prov´azc´ıch, pˇriˇcemˇz i-t´e z´avaˇz´ı m´a t´ıhu mi a jeho v´yˇska nad zem´ı je di , pro i = 1, . . . , n. Na prav´em h´aku vis´ı n′ z´avaˇz´ı na prov´azc´ıch, pˇriˇcemˇz i-t´e z´avaˇz´ı m´a t´ıhu m′i a jeho v´yˇska nad zem´ı je d′i , pro i = 1, . . . , n′ . V´yˇsky di a d′i se mˇeˇr´ı v poloze, kdy jsou oba h´aky ve stejn´e v´yˇsce nad zem´ı. Kladka se pohybuje bez tˇren´ı, provaz a prov´azky jsou nekoneˇcnˇe ohebn´e, prov´azky a h´aky maj´ı nulovou hmotnost. Obr´azek ukazuje pˇr´ıklad pro n = 3, n′ = 2. Soustava m´a jedin´y stupeˇ n volnosti dan´y ot´aˇcen´ım kladky. Oznaˇcme jako x v´yˇsku lev´eho h´aku nad bodem, kdy jsou oba h´aky ve stejn´e v´yˇsce – tedy pro x = 0 jsou oba h´aky ve stejn´e v´yˇsce a pro x > 0 bude lev´y h´ak o 2x v´yˇse neˇz prav´y h´ak. V z´avislosti na x kaˇzd´e z´avaˇz´ı bud’ vis´ı nad zem´ı (pak je jeho potenci´aln´ı energie rovna mi kr´at v´yˇska nad zem´ı) nebo leˇz´ı na zemi (pak je jeho potenci´aln´ı energie nulov´a). Soustava bude v rovnov´aze pˇri minim´aln´ı celkov´e potenci´aln´ı energii.
m′1 m′2
m3 m1 d′1
d1
m2
d3
d′2
d2
a) Napiˇste vzorec pro celkovou potenci´aln´ı energii soustavy jako funkci x. b) Napiˇste line´arn´ı program, jehoˇz optimum je rovno minim´aln´ı potenci´aln´ı energii soustavy. Nen´ı-li to moˇzn´e, vysvˇetlete. 11.9. Uvaˇzujme Pˇr´ıklad 11.5 takto pozmˇenˇen´y: p´an m´a pomocn´ıka, kter´emu plat´ı 10 Kˇc za kaˇzd´y kg vyroben´eho zboˇz´ı (je jedno, zda to jsou lup´ınky nebo hranolky). Ovˇsem pokud se toho vyrob´ı hodnˇe, chce pomocn´ık vˇetˇs´ı plat, protoˇze mus´ı z˚ ustat pˇresˇcas. Tak za kaˇzd´y kg nad 20 kg vyroben´eho zboˇz´ı si nech´a pˇriplatit dalˇs´ıch 10 Kˇc, a za kaˇzd´y kg nad 30 kg vyroben´eho zboˇz´ı si nech´a pˇriplatit dalˇs´ıch 20 Kˇc (tedy za kaˇzd´y kg nad 30 kg vyroben´eho zboˇz´ı dostane 10 + 10 + 20 = 40 Kˇc). Kolik m´a p´an vyrobit lup´ınk˚ u a hranolk˚ u, aby mˇel co nejvˇetˇs´ı denn´ı zisk (tj. trˇzbu z prodeje minus plat pomocn´ıkovi)? Zformulujte jako LP. 11.10. Veverka pˇred zimou potˇrebuje pˇrerovnat z´asoby oˇr´ıˇsk˚ u. St´avaj´ıc´ı z´asoby m´a v m jamk´ach, 2 pˇriˇcemˇz i-t´a jamka m´a souˇradnice pi ∈ R a je v n´ı ai oˇr´ıˇsk˚ u. Potˇrebuje je pˇrenosit do n nov´ych pˇripraven´ych jamek, pˇriˇcemˇz j-t´a jamka m´a souˇradnice qj ∈ R2 a na konci v n´ı bude yj oˇr´ıˇsk˚ u. Veverka unese najednou jen jeden oˇr´ıˇsek. Necht’ xij oznaˇcuje celkov´y poˇcet oˇr´ıˇsk˚ u pˇrenesen´ych ze star´e jamky i do nov´e jamky j. Uvaˇzujte dvˇe u ´lohy: ˇ ısla yj jsou d´ana. Hledaj´ı se takov´a ˇc´ısla xij , aby se veverka vykonala co nejm´enˇe a) C´ pr´ace, kde pr´ace na pˇrenesen´ı jednoho oˇr´ıˇsku je pˇr´ımo u ´mˇern´a vzd´alenosti (vzduˇsnou ˇcarou). Bˇeh bez oˇr´ıˇsku se za pr´aci nepovaˇzuje. b) Hledaj´ı se ˇc´ısla xij a yj tak, aby veverka vykonala co nejm´enˇe pr´ace a nav´ıc byly v nov´ych jamk´ach oˇr´ıˇsky rozloˇzeny co nejrovnomˇernˇeji, ˇc´ımˇz minimalizuje ˇskodu zp˚ usobenou pˇr´ıpadnou kr´adeˇz´ı. Pˇresnˇeji, aby rozd´ıl mezi nejvˇetˇs´ım a nejvˇetˇs´ım z ˇc´ısel yj byl menˇs´ı neˇz dan´e ˇc´ıslo t . 106
Formulujte obˇe u ´lohy jako LP. Pˇredpokl´adejte, ˇze poˇcty oˇr´ıˇsk˚ u jsou nez´aporn´a re´aln´a ˇc´ısla, aˇc ve skuteˇcnosti mohou b´yt pouze nez´aporn´a cel´a ˇc´ısla.
N´ apovˇ eda a ˇ reˇ sen´ı P 11.2.a) max{ cT x | 0 ≤ x ≤ 1 } = ni=1 max{0, ci }, tedy optim´ aln´ı hodnota je souˇcet kladn´ ych ˇc´ısel ci . D˚ ukaz: Ukaˇzme, ˇze optimum se nab´ yv´ a pro takov´e x, ˇze xi = 0 pro ci < 0 a xi = 1 pro ci > 0 (pro ci = 0 je xi libovoln´e). Kdyby to tak totiˇz nebylo, mohli bychom ˇc´ıslo cT x zvˇetˇsit zmenˇsen´ım nˇejak´eho xi pro ci < 0 nebo zvˇetˇsen´ım pro ci > 0. Tedy x by nebyl optim´ aln´ı argument. Pn 11.2.b) aˇze se podobnˇe. i=1 |ci |. Dok´
11.2.c) maxni=1 ci
11.2.d) maxni=1 max{0, ci } = max 0, maxni=1 ci
11.2.e) Kdyˇz ci = a pro kaˇzd´e i (tj. vˇsechna ci jsou stejn´a), tak optim´ aln´ı hodnota je |a|. Jinak je u ´ loha neomezen´a. 11.2.i) N´apovˇeda: substituujte yi = xi − xi−1
11.3.a) min{ z1 + z2 | x1 , x2 , z1 , z2 ∈ R, 2x1 − x2 ≥ 1, −x1 + 2x2 ≥ 1, x1 ≤ z1 , x2 ≤ z2 , −x1 ≤ z1 , −x2 ≤ z2 }
11.3.b) Nejde.
11.3.c) max{ cT x | Ax = b, dT x ≤ 1, −dT x ≤ 1, x ≥ 0 }
11.3.d) min{ 1T z | cTkl x+dkl ≤ zl (∀k, l), −cTkl x−dkl ≤ zl (∀k, l), x ∈ Rn , z ∈ RL } (analogick´e §11.1.1) 11.3.f) min{ 1T z | x ∈ Rn , z ∈ Rm , −z ≤ Ax − b ≤ z, −1 ≤ x ≤ 1 }
11.3.i) min{ 1T y + z | x ∈ Rn , y ∈ Rm , z ∈ R, −z ≤ Ax − b ≤ z, −z1 ≤ x ≤ z1 }
aˇzeme pˇrev´est na jedinou u ´ lohu LP. Ale lze vyˇreˇsit vypoˇcten´ım 11.4. Postupem uveden´ ym v §11.1 nedok´ dvou u ´ loh LP: optim´ aln´ı hodnota je max{A, −B}, kde A = max{ cT x | Ax = b, x ≥ 0 } a B = max{ −cT x | Ax = b, x ≥ 0 }. P P ′ 11.8.a) E(x) = ni=1 mi max(di + x, 0) + ni=1 m′i max(d′i − x, 0) P P ′ 11.8.b) min{ ni=1 mi zi + ni=1 m′i zi′ | x, zi , zi′ ∈ R, zi ≥ di + x, zi′ ≥ d′i − x, zi ≥ 0, zi′ ≥ 0 }
11.9. Stejn´a u ´ loha jako v Pˇr´ıkladu 11.5, jen u ´ˇcelov´a funkce se zmˇen´ı na 120l + 76h − f (l + h) kde f (t) = max{ 10t, 200 + 20(t − 20), 400 + 40(t − 30) }. To pˇrevedeme na LP max 120l + 76h − z
za podm´ınek
10l 20l 40l 2l 0.4l
107
+ + + + +
10h − z ≤ 0 20h − z ≤ 200 40h − z ≤ 800 1.5h ≤ 100 0.2h ≤ 16 l, h ≥ 0
Kapitola 12 Konvexn´ı mnoˇ ziny a polyedry Definice 12.1. Mnoˇzina X ⊆ Rn se naz´yv´a konvexn´ı, jestliˇze x ∈ X, y ∈ X, 0 ≤ α ≤ 1
=⇒
αx + (1 − α)y ∈ X.
(12.1)
Mnoˇzina { αx + (1 − α)y | 0 ≤ α ≤ 1 } je u ´seˇcka spojuj´ıc´ı body x a y (viz Pˇr´ıklad 3.6). Definice tedy ˇr´ık´a, ˇze mnoˇzina je konvexn´ı, jestliˇze s kaˇzd´ymi dvˇema body obsahuje i u ´seˇcku, 2 kter´a je spojuje. Obr´azek ukazuje pˇr´ıklad konvexn´ı a nekonvexn´ı mnoˇziny v R :
y x
Konvexn´ı mnoˇzinu lze definovat i abstraktnˇeji. Konvexn´ı kombinace vektor˚ u x1 , . . . , xk je jejich line´arn´ı kombinace α1 x1 + · · · + αk xk takov´a, ˇze α1 + · · · + αk = 1 a α1 , . . . , αk ≥ 0. Mnoˇzina je konvexn´ı pr´avˇe tehdy, kdyˇz je uzavˇren´a v˚ uˇci konvexn´ım kombinac´ım (neboli kaˇzd´a konvexn´ı kombinace vektor˚ u z mnoˇziny leˇz´ı v mnoˇzinˇe). Lze dok´azat indukc´ı, ˇze tato definice je ekvivalentn´ı Definici 12.1. Vˇsimnˇete si, ˇze αx + (1 − α)y pro 0 ≤ α ≤ 1 je konvexn´ı kombinac´ı dvou vektor˚ u x, y, nebot’ α + (1 − α) = 1, α ≥ 0, 1 − α ≥ 0. Konvexn´ı obal vektor˚ u x1 , . . . , xk je mnoˇzina vˇsech jejich konvexn´ıch kombinac´ı. Tuto k-tici vektor˚ u m˚ uˇzeme vn´ımat jako mnoˇzinu X = {x1 , . . . , xk }, konvexn´ı obal pak znaˇc´ıme conv X = conv{x1 , . . . , xk } = { α1 x1 + · · · + αk xk | α1 + · · · + αk = 1, α1 , . . . , αk ≥ 0 }. (12.2) Jak se definuje konvexn´ı obal mnoˇziny s nekoneˇcn´ym poˇctem prvk˚ u, napˇr. prav´em obr´azku v´yˇse? Nelze pouˇz´ıt definice (12.2), nebot’ nen´ı jasn´e, co znamen´a souˇcet α1 x1 + · · · + αk xk pro nekoneˇcn´y poˇcet vektor˚ u (mnoˇzina X m˚ uˇze b´yt i nespoˇcetn´a). Konvexn´ı obal libovoln´e n (koneˇcn´e ˇci nekoneˇcn´e) mnoˇziny X ⊆ R se definuje jako pr˚ unik vˇsech konvexn´ıch mnoˇzin, kter´e mnoˇzinu obsahuj´ı, tedy \ conv X = { Y ⊆ Rn | Y ⊇ X, Y konvexn´ı }. Obr´azek ukazuje konvexn´ı obal koneˇcn´e (vlevo) a nekoneˇcn´e (vpravo) mnoˇziny pro n = 2:
108
x2
x1 x6
x7
x3
x5 x4
12.1
ˇ ri kombinace a ˇ Ctyˇ ctyˇ ri obaly
Konvexn´ı kombinace je line´arn´ı kombinace, jej´ıˇz koeficienty splˇ nuj´ı omezen´ı α1 + · · · + αk = 1 a α1 , . . . , αk ≥ 0. Vˇsimnˇete si, ˇze kdyˇz vynech´ame druh´e omezen´ı, dostaneme afinn´ı kombinaci (viz §3.3). Podle toho, kter´e ze dvou omezen´ı vyˇzadujeme, dostaneme ˇctyˇri druhy kombinac´ı. Udˇelejme si v nich nyn´ı poˇr´adek. V´aˇzen´y souˇcet α1 x1 + · · · + αk xk vektor˚ u x1 , . . . , xk ∈ Rn se naz´yv´a jejich line´ arn´ı kombinace, afinn´ı kombinace, nez´ aporn´ a kombinace, konvexn´ı kombinace,
jestliˇze jestliˇze jestliˇze jestliˇze
α1 , . . . , αk α1 , . . . , αk α1 , . . . , αk α1 , . . . , αk
∈ R. ∈ R, α1 + · · · + αk = 1. ∈ R, ∈ R, α1 + · · · + αk = 1,
α1 , . . . , αk ≥ 0. α1 , . . . , αk ≥ 0.
Mnoˇzina, kter´a je uzavˇren´a v˚ uˇci line´arn´ım afinn´ım nez´aporn´ym konvexn´ım
kombinac´ım, kombinac´ım, kombinac´ım, kombinac´ım,
se se se se
naz´yv´a naz´yv´a naz´yv´a naz´yv´a
line´ arn´ı podprostor. afinn´ı podprostor. konvexn´ı kuˇ zel. konvexn´ı mnoˇ zina.
K tomu, co jiˇz zn´ate, pˇribyl pojem nez´aporn´e kombinace a konvexn´ıho kuˇzelu. Line´arn´ı [afinn´ı, nez´aporn´y, konvexn´ı] obal vektor˚ u x1 , . . . , xk je mnoˇzina vˇsech jejich line´arn´ıch [afinn´ıch, nez´aporn´ych, konvexn´ıch] kombinac´ı. Obecnˇeji, line´arn´ı [afinn´ı, nez´aporn´y, konvexn´ı] obal mnoˇziny X ⊆ Rn je pr˚ unik vˇsech line´arn´ıch podprostor˚ u [afinn´ıch podprostor˚ u, konvexn´ıch kuˇzel˚ u, konvexn´ıch mnoˇzin] obsahuj´ıc´ı mnoˇzinu X. Pˇ r´ıklad 12.1. Mˇejme tˇri body v R3 , kter´e neleˇz´ı v jedn´e rovinˇe s poˇc´atkem. Jejich line´arn´ı obal je cel´e R3 . Jejich afinn´ı obal je rovina jimi proch´azej´ıc´ı. Jejich nez´aporn´y obal je nekoneˇcn´y trojbok´y hranol, jehoˇz vrchol je v poˇc´atku a jehoˇz hrany jsou tˇri polopˇr´ımky urˇcen´e poˇc´atkem a dan´ymi body. Jejich konvexn´ı obal je troj´ uheln´ık jimi urˇcen´y. Jako cviˇcen´ı si nakreslete line´arn´ı, afinn´ı, nez´aporn´y a konvexn´ı obal n´ahodnˇe zvolen´ych k vektor˚ u v Rn pro vˇsech devˇet pˇr´ıpad˚ u k, n ∈ {1, 2, 3}.
12.2
Operace zachov´ avaj´ıc´ı konvexitu mnoˇ zin
Jak´e operace s konvexn´ımi mnoˇzinami maj´ı za v´ysledek opˇet konvexn´ı mnoˇzinu? Zdaleka nejd˚ uleˇzitˇejˇs´ı takov´a operace je pr˚ unik. N´asleduj´ıc´ı vˇetu je snadn´e dok´azat. Vˇ eta 12.1. Pr˚ unik (koneˇcnˇe ˇci nekoneˇcnˇe mnoha) konvexn´ıch mnoˇzin je konvexn´ı mnoˇzina. 109
D˚ ukaz. Udˇel´ame jen pro dvˇe mnoˇziny, zobecnˇen´ı na libovoln´a poˇcet mnoˇzin je oˇcividn´e. Necht’ X, Y ⊆ Rn jsou konvexn´ı. Necht’ x, y ∈ X ∩Y , tedy kaˇzd´y z bod˚ u x, y je souˇcasnˇe v mnoˇzinˇe X i v mnoˇzinˇe Y . Proto pro 0 ≤ α ≤ 1 bude bod αx + (1 − α)y tak´e v mnoˇzinˇe X i Y , tedy bude v mnoˇzinˇe X ∩ Y . Sjednocen´ı konvexn´ıch mnoˇzin ale nemus´ı b´yt konvexn´ı mnoˇzina.
12.3
Konvexn´ı polyedry
Poloprostor je mnoˇzina { x ∈ Rn | aT x ≥ b } pro nˇejak´e a ∈ Rn , b ∈ R. Jeho hranice je nadrovina { x ∈ Rn | aT x = b }. Vektor a ∈ Rn je norm´ala t´eto nadroviny. Obr´azek zn´azorˇ nuje tyto pojmy pro n = 2:
aT x ≥ b
aT x = b
a
Definice 12.2. Konvexn´ı polyedr je pr˚ unik koneˇcnˇe mnoha poloprostor˚ u. Konvexn´ı polyedr je tedy mnoˇzina X = { x ∈ Rn | aTi x ≥ bi , i = 1, . . . , m } = { x ∈ Rn | Ax ≥ b },
(12.3)
kde aT1 , . . . , aTm jsou ˇr´adky matice A ∈ Rm×n a b1 , . . . , bm ∈ R jsou sloˇzky vektoru b ∈ Rm . Vˇsimnˇete si, ˇze definice dovoluje i omezen´ı typu rovnosti aTi x = bi , protoˇze to je ekvivalentn´ı aTi x ≤ bi , aTi x ≥ bi . Obr´azek ukazuje pˇr´ıklad pro n = 2, m = 7:
a7 a4 a1
X a2
a5 a3
a6
Vˇsimnˇete si, ˇze omezen´ı 6 a 7 jsou redundantn´ı – jejich odebr´an´ım by se polyedr nezmˇenil. Jelikoˇz poloprostor je oˇcividnˇe konvexn´ı mnoˇzina, plyne konvexita konvexn´ıho polyedru z Vˇety 12.1. Vˇsimnˇete si, ˇze konvexn´ı polyedr nemus´ı b´yt omezen´y. Pˇ r´ıklad 12.2. Mnoˇzina X z Pˇr´ıkladu 11.1 je konvexn´ı polyedr. 110
Pˇ r´ıklad 12.3. Pˇr´ıklady konvexn´ıch polyedr˚ u v Rn : • pr´azdn´a mnoˇzina ∅ • cel´y prostor Rn
• kaˇzd´y afinn´ı podprostor (napˇr. bod, pˇr´ımka, rovina, nadrovina) • polopˇr´ımka { x + αv | α ≥ 0 } • poloprostor
• panel { x ∈ Rn | b1 ≤ aT x ≤ b2 }
• hyperkrychle { x ∈ Rn | kxk∞ ≤ 1 } = { x ∈ Rn | −1 ≤ xi ≤ 1, i = 1, . . . , n }
• simplex, to jest konvexn´ı obal n + 1 afinnˇe nez´avisl´ych bod˚ u P • standardn´ı simplex { x ∈ Rn | xi ≥ 0, ni=1 xi ≤ 1 } Pn zina vˇsech rozdˇelen´ı • pravdˇepodobnostn´ı simplex { x ∈ Rn | xi ≥ 0, i=1 xi = 1 } (mnoˇ pravdˇepodobnosti diskr´etn´ı n´ahodn´e promˇenn´e) P • zobecnˇen´y osmistˇen { x ∈ Rn | kxk1 = ni=1 |xi | ≤ 1 }.
Pˇ r´ıklad 12.4. Koule v Rn je pr˚ unikem nekoneˇcnˇe mnoha poloprostor˚ u aT x ≤ 1 pro vˇsechna kak2 = 1. Je to konvexn´ı mnoˇzina, ale nen´ı to konvexn´ı polyedr (protoˇze poˇcet poloprostor˚ u nen´ı koneˇcn´y).
12.3.1
Stˇ eny konvexn´ıho polyedru
Definice 12.3. Stˇ ena konvexn´ıho polyedru X ⊆ Rn je mnoˇzina F = argmin cT x x∈X
pro nˇejak´e c ∈ Rn . Tak v Pˇr´ıkladu 11.1 je mnoˇzina F na prvn´ım i druh´em obr´azku stˇena polyhedru X. Dimenze stˇ eny je dimenze jej´ıho afinn´ıho obalu (zopakujte si pojem afinn´ıho obalu z §12.1 a dimenze afinn´ıho podprostoru z §3.3). Stˇeny nˇekter´ych dimenz´ı maj´ı jm´eno: • stˇena dimenze 0 se naz´yv´a vrchol, • stˇena dimenze 1 se naz´yv´a hrana,
• stˇena dimenze n − 1 se naz´yv´a faseta (angl. facet, zat´ımco face znamen´a stˇena). Z Definice 12.3 a Vˇety 12.1 plyne, ˇze kaˇzd´a stˇena konvexn´ıho polyedru je sama o sobˇe konvexn´ı polyedr. Bez d˚ ukazu uvedeme ekvivalentn´ı definici stˇeny, kter´a pˇredpokl´ad´a, ˇze polyedr je ve tvaru (12.3). Vˇ eta 12.2. F ⊆ X je stˇena konvexn´ıho polyedru (12.3) pr´avˇe tehdy, kdyˇz F = { x ∈ X | aTi x = bi , i ∈ I }
(12.4)
pro nˇejakou podmnoˇzinu index˚ u I ⊆ {1, . . . , m}. Stˇeny konvexn´ıho polyedru tvoˇr´ı mnoˇzinu ˇc´asteˇcnˇe uspoˇr´adanou mnoˇzinovou inkluz´ı, tzv. stˇenov´y svaz . Stˇenov´y svaz popisuje ’kombinatorickou strukturu’ polyedru. 111
Pˇ r´ıklad 12.5. Necht’ polyedr (12.3) je pyramida v R3 , na lev´em obr´azku: {A,B,C,D,E}
E {A,B,C,D} {A,B}
D
{B,C}
{A,B,E} {C,D}
{A,D}
{C,D,E}
{A,E}
{B,E}
{A,D,E} {C,E}
{D,E}
C {A}
A
{B,C,E}
{B}
{C}
{D}
{E}
{}
B
Tento polyedr je pr˚ unikem pˇeti poloprostor˚ u (pˇredpokl´ad´ame, ˇze ˇz´adn´e omezen´ı nen´ı redundantn´ı), tedy m = 5 a n = 3. Necht’ omezen´ı aTi x ≥ bi pro i = 1, 2, 3, 4, 5 je poloprostor, jehoˇz hranic´ı je polorovina urˇcen´a po ˇradˇe body ABCD, ABE, BCE, CDE, ADE. Pro I = {1} je mnoˇzina (12.4) faceta ABCD. Pro I = {1, 2} je mnoˇzina (12.4) hrana AB. Pro I = {1, 2, 3} je mnoˇzina (12.4) vrchol B. Obr´azek vpravo je diagram1 zn´azorˇ nuj´ıc´ı stˇenov´y svaz. V d-t´em ˇr´adku diagramu jsou vyps´any vˇsechny stˇeny dimenze d (poˇc´ıt´ano zdola). Stˇena A dimenze d je spojena se stˇenou B dimenze d − 1 jestliˇze B ⊆ A.
12.3.2
Jak byste vypsali vˇ sechny vrcholy konvexn´ıho polyedru?
Z Vˇety 12.2 plyne (po troˇse pˇrem´yˇslen´ı), ˇze n´asleduj´ıc´ı dvˇe tvrzen´ı jsou ekvivalentn´ı: • Bod x ∈ Rn je vrchol polyedru (12.3).
• Existuje mnoˇzina I ⊆ {1, . . . , m} tak, ˇze soustava aTi x = bi , i ∈ I, m´a pr´avˇe jedno ˇreˇsen´ı x a toto ˇreˇsen´ı nav´ıc patˇr´ı do polyedru (12.3), tj. splˇ nuje nerovnice aTi x ≥ bi , i, . . . , m. Toto n´am dovoluje formulovat algoritmus, kter´y vyp´ıˇse vˇsechny vrcholy polyedru (12.3). Najdeme vˇsechny mnoˇziny I ⊆ {1, . . . , m} takov´e, ˇze soustava aTi x = bi , i ∈ I m´a pr´avˇe jedno ˇreˇsen´ı a toto ˇreˇsen´ı nav´ıc splˇ nuje soustavu aTi x ≥ bi , i, . . . , m. Kaˇzd´e takov´e ˇreˇsen´ı je vrchol.
12.3.3
Dvˇ e reprezentace konvexn´ıho polyedru
N´asleduj´ıc´ı vˇeta je hlubok´a a uv´ad´ıme ji bez d˚ ukazu. Pro neomezen´e konvexn´ı polyedry plat´ı podobn´a vˇeta, trochu sloˇzitˇejˇs´ı, kterou neuv´ad´ıme. Vˇ eta 12.3. Konvexn´ı obal koneˇcnˇe mnoha bod˚ u je omezen´y konvexn´ı polyedr. Obr´acenˇe, omezen´y konvexn´ı polyedr je konvexn´ım obalem sv´ych vrchol˚ u. M´ame tedy dvˇe reprezentace omezen´eho polyedru: • H-reprezentace: pr˚ unik koneˇcnˇe mnoha poloprostor˚ u (’H’ jako half-space)
• V-reprezentace: konvexn´ı obal koneˇcnˇe mnoha bod˚ u (’V’ jako vertex) Pˇrechod od jedn´e reprezentace ke druh´e m˚ uˇze b´yt v´ypoˇcetnˇe tˇeˇzk´y ˇci prakticky nemoˇzn´y. D˚ uvodem je to, ˇze polyedr definovan´y jako pr˚ unik mal´eho poˇctu poloprostor˚ u m˚ uˇze m´ıt velmi velk´y poˇcet vrchol˚ u (pˇresnˇe: je-li m poˇcet poloprostor˚ u, tak poˇcet vrchol˚ u nebude omezen ˇz´adnou polynomi´aln´ı funkc´ı promˇenn´e m). Naopak, polyedr s mal´ym poˇctem vrchol˚ u m˚ uˇze m´ıt velk´y poˇcet facet. V tom pˇr´ıpadˇe by algoritmus, kter´y pˇrev´ad´ı H-reprezentaci na V -reprezentaci 1
Pˇresnˇeji, je to Hasseho diagram ˇca´steˇcnˇe uspoˇr´adan´e mnoˇziny, kter´ y m´ate zn´at.
112
nebo naopak, musel vydat velmi dlouh´y v´ystup. V algoritmu v §12.3.2 se to projevuje t´ım, ˇze mus´ıme proj´ıt vˇsechny podmnoˇziny mnoˇziny {1, . . . , m}, kter´ych je 2m . Pˇ r´ıklad 12.6. Uvaˇzujme n´asleduj´ıc´ı konvexn´ı polyedry v Rn (viz Pˇr´ıklad 12.3): • Simplex m´a n + 1 vrchol˚ u a n + 1 facet. • Hyperkrychle m´a 2n facet a 2n vrchol˚ u.
• Zobecnˇen´y osmistˇen m´a 2n vrchol˚ u a 2n facet.
12.4
Cviˇ cen´ı
12.1. Odpovˇezte, zda n´asleduj´ıc´ı mnoˇziny jsou konvexn´ı a odpovˇed’ dokaˇzte z definice konvexn´ı mnoˇziny: a) b) c) d) e)
interval [a, b] ⊆ R, kde a ≤ b { x ∈ Rn | Ax ≤ b, Cx = d } { x ∈ Rn | xT Ax ≤ 1 }, kde A je pozitivnˇe semidefinitn´ı Z (mnoˇzina cel´ych ˇc´ısel) { x ∈ Rn | max{x1 , , . . . , , xn } ≥ 0 }
12.2. Kter´e z n´asleduj´ıc´ıch mnoˇzin jsou konvexn´ı? Nemus´ıte dokazovat z definice, staˇc´ı uv´est pˇresvˇedˇciv´y argument. Mnoˇzinu si nakreslete pro pˇr´ıpad n = 1 a n = 2. P a) { x ∈ Rn | ni=1 xi = 1 } P b) { x ∈ Rn | ni=1 xi ≥ 1 } P c) { x ∈ Rn | x ≥ 0, ni=1 xi = 1 } P d) { x ∈ Rn | x ≥ 0, ni=1 xi ≤ 1 } e) { x ∈ Rn | kxk2 = 1 } f) { x ∈ Rn | kxk2 < 1 } g) { (x, y) ∈ R2 | x ≥ 0, y ≥ 0, xy = 1 } h) { (x, y) ∈ R2 | x2 + y 2 ≤ 2 } ∩ { (x, y) ∈ R2 | (x − 1)2 + y 2 ≤ 2 } 12.3. Bude Vˇeta 12.1 platit, pokud v n´ı souslov´ı ‘konvexn´ı mnoˇzina’ nahrad´ıme souslov´ım ‘line´arn´ı podprostor’ (pˇr´ıp. ‘afinn´ı podprostor’, ‘konvexn´ı kuˇzel’)? Kladnou i z´apornou odpovˇed’ dokaˇzte. 12.4. Kter´e z n´asleduj´ıc´ıch mnoˇzin jsou konvexn´ı polyedry? Pokud je mnoˇzina konvexn´ı polyedr, dok´aˇzete ji vyj´adˇrit ve tvaru { x | Ax ≥ b } (tj. jako pr˚ unik poloprostor˚ u)? P P 2 a) x ∈ Rn | x ≥ 0, e skal´ary i xi ai = b, i xi ai = c , kde ai , b, c jsou dan´ T b) { Cx | x ≥ 0, 1 x = 1 }, kde matice C je d´ana c) { Cx | x ∈ Rn , kxk2 ≤ 1 }, kde matice C je d´ana d) { x ∈ Rn | kx − ak2 ≤ kx − bk2 }, kde a, b jsou d´any 12.5. Mˇejme konvexn´ı polyedr ve tvaru { x ∈ Rn | Ax ≥ b }. a) Napiˇste k´od v Matlabu, kter´y vyp´ıˇse vrcholy polyedru pomoc´ı postupu v §12.3.2. 113
b) Vypiˇste vrcholy polyedru pro −1 −2 3 −1 , A= −1 1 2 1
−14 0 b= −2 . 4
12.6. Mˇejme vektory a1 , . . . , am ∈ Rn . Pro kaˇzd´e i = 1, . . . , m definujeme mnoˇzinu Xi = { x ∈ Rn | kx − ai k2 ≤ kx − aj k2 , j 6= i }. Ukaˇzte, ˇze mnoˇziny X1 , . . . , Xm jsou konvexn´ı polyedry. Ukaˇzte, ˇze tyto mnoˇziny tvoˇr´ı rozklad (zopakujte si, co je to rozklad mnoˇziny) mnoˇziny Rn . Sjednocen´ı hranic tˇechto mnoˇzin se naz´yv´a Voronoi˚ uv diagram. Nakreslete si ho pro n = 2 a m = 4 pro r˚ uzn´e konfigurace bod˚ u a1 , . . . , a4 .
N´ apovˇ eda a ˇ reˇ sen´ı 12.1.a) Konvexn´ı, protoˇze pro libovoln´e α ∈ [0, 1] je αa + (1 − α)b ∈ [a, b]. 12.1.b) Konvexn´ı. 12.1.c) Konvexn´ı. 12.1.d) Nekonvexn´ı. Napˇr. pro x = 1, y = 2, α = 12.1.e) Nekonvexn´ı.
1 2
ˇc´ıslo αx + (1 − α)y = 1.5 nen´ı cel´e.
12.2.a) nadrovina, konvexn´ı 12.2.b) poloprostor, konvexn´ı 12.2.c) pr˚ unik poloprostor˚ u a nadroviny, konvexn´ı polyedr 12.2.d) pr˚ unik poloprostor˚ u, konvexn´ı 12.2.e) sf´era, nen´ı konvexn´ı 12.2.f) koule bez hranice, konvexn´ı 12.2.g) graf jedn´e vˇetve hyperboly, nen´ı konvexn´ı 12.2.h) pr˚ unik dvou koul´ı, konvexn´ı 12.5.b) Zde jsou vrcholy a odpov´ıdaj´ıc´ı mnoˇziny I ⊆ {1, . . . , 4}:
114
I {1, 2} {1, 3} {2, 4} {3, 4} x (2, 6) (6, 4) ( 54 , 12 5 ) (2, 0)
Kapitola 13 Simplexov´ a metoda Zde pop´ıˇseme algoritmus na ˇreˇsen´ı u ´loh line´arn´ıho programov´an´ı zvan´y simplexov´ a metoda. Zapomeˇ nme prozat´ım na u ´ˇcelovou funkci a zkoumejme mnoˇzinu pˇr´ıpustn´ych ˇreˇsen´ı LP ve tvaru X = { x ∈ Rn | Ax = b, x ≥ 0 }, (13.1)
kde A ∈ Rm×n je ˇsirok´a (m < n) matice s hodnost´ı m, tedy jej´ı ˇr´adky jsou line´arnˇe nez´avisl´e. Soustava Ax = b m´a nekoneˇcnˇe mnoho ˇreˇsen´ı. Poloˇz´ıme-li vˇsak n − m sloˇzek vektoru x rovno nule (tedy uˇcin´ıme-li n − m z podm´ınek x ≥ 0 aktivn´ıch), soustava m´a nejv´yˇse jedno ˇreˇsen´ı. Tato u ´vaha vede k n´asleduj´ıc´ım definic´ım: • Mnoˇzina J ⊆ {1, 2, . . . , n} se naz´yv´a b´ aze u ´lohy, pokud |J| = m a sloupce matice A s indexy J jsou line´arnˇe nez´avisl´e. Tedy sloupce J tvoˇr´ı regul´arn´ı matici m × m. • Vektor x je b´ azov´ eˇ reˇ sen´ı pˇr´ısluˇsn´e b´azi J, pokud Ax = b a xj = 0 pro j ∈ / J. • B´azov´e ˇreˇsen´ı x je pˇ r´ıpustn´ e, pokud x ≥ 0.
• B´azov´e ˇreˇsen´ı x je degenerovan´ e, pokud m´a m´enˇe neˇz m nenulov´ych sloˇzek.
• Dvˇe b´aze jsou sousedn´ı, pokud maj´ı m − 1 spoleˇcn´ych prvk˚ u. Protoˇze matice A m´a hodnost m, existuje aspoˇ n jedna b´aze a kaˇzd´e b´azi pˇr´ısluˇs´ı pr´avˇe jedno b´azov´e ˇreˇsen´ı. B´azov´e ˇreˇsen´ı vˇsak m˚ uˇze pˇr´ısluˇset v´ıce neˇz jedn´e b´azi, coˇz se stane pr´avˇe tehdy, kdyˇz je toto b´azov´e ˇreˇsen´ı degenerovan´e. Pˇ r´ıklad 13.1. Necht’ je soustava Ax = b d´ana −1 1 A b = 1 0 −1 0
tabulkou (blokovou matic´ı) 3 1 0 2 1 4 0 1 4 4 . 4 1 1 4 2
(13.2)
• J = {2, 3, 5} nen´ı b´aze, protoˇze sloupce 2, 3, 5 matice A jsou line´arnˇe z´avisl´e.
• J = {1, 4, 5} je b´aze, protoˇze tyto sloupce jsou line´arnˇe nez´avisl´e. B´azov´e ˇreˇsen´ı x = (x1 , x2 , . . . , x6 ) pˇr´ısluˇsn´e b´azi J se najde ˇreˇsen´ım soustavy −1 1 0 x1 1 1 0 1 x4 = 4 (13.3) −1 1 1 x5 2
a poloˇzen´ım x2 = x3 = x6 = 0. Soustava (13.3) m´a pr´avˇe jedno ˇreˇsen´ı, nebot’ jej´ı matice je regul´arn´ı. Dostaneme x = (3, 0, 0, 4, 1, 0). Toto b´azov´e ˇreˇsen´ı je pˇr´ıpustn´e. Nen´ı degenerovan´e, protoˇze m´a m = 3 nenulov´ych sloˇzek. 115
• J = {1, 2, 4} je b´aze. B´azov´e ˇreˇsen´ı je x = (4, −1, 0, 6, 0, 0). Je nepˇr´ıpustn´e, protoˇze x2 < 0.
• J = {3, 4, 5} je b´aze. B´azov´e ˇreˇsen´ı x = (0, 0, 1, −2, 0, 0) je degenerovan´e, protoˇze m´a m´enˇe neˇz m = 3 nenulov´ych sloˇzek. • Stejn´e b´azov´e ˇreˇsen´ı x = (0, 0, 1, −2, 0, 0) dostaneme volbou b´aze J = {3, 4, 6}. Vid´ıme, ˇze degenerovan´e b´azov´e ˇreˇsen´ı odpov´ıd´a v´ıce neˇz jedn´e b´azi. • B´aze {1, 4, 5} a {2, 4, 5} jsou sousedn´ı, protoˇze maj´ı spoleˇcn´e dva prvky {4, 5}. B´aze {1, 4, 5} a {2, 4, 6} nejsou sousedn´ı.
Polyedr (13.1) je speci´aln´ı tvar polyedru (12.3). Dle Definice 12.3 se vˇsechna minima line´arn´ı funkce na konvexn´ım polyedru (13.1) nab´yvaj´ı na nˇejak´e stˇenˇe tohoto polyedru. Pokud tato stˇena obsahuje alespoˇ n jeden vrchol polyedru (to nebude platit jen pro velmi jednoduch´e polyedry (13.1), zamyslete se nad t´ım!), pak se alespoˇ n jedno minimum nab´yv´a i v tomto vrcholu. Z Vˇety 12.2 plyne, ˇze pˇr´ıpustn´a b´azov´a ˇreˇsen´ı jsou vrcholy polyedru (13.1). D´ale lze uk´azat (d˚ ukaz vynech´ame), ˇze dvojice sousedn´ıch b´az´ı odpov´ıdaj´ı bud’ jedin´emu (degenerovan´emu) vrcholu nebo dvojici vrchol˚ u spojen´ych hranou. To n´am dovoluje navrhnout naivn´ı algoritmus na ˇreˇsen´ı LP: udˇel´ame v´yˇcet vˇsech pˇr´ıpustn´ych b´azov´ych ˇreˇsen´ı a nalezneme to s nejlepˇs´ı hodnotou u ´ˇcelov´e funkce. Tento algoritmus nen´ı praktick´y, protoˇze b´azov´ych ˇreˇsen´ı je exponenci´alnˇe mnoho. Simplexov´a metoda je vylepˇsen´ı tohoto pˇr´ıstupu: pˇrech´az´ı mezi sousedn´ımi b´azemi tak, ˇze b´azov´a ˇreˇsen´ı jsou st´ale pˇr´ıpustn´a (tedy pˇrech´az´ı po hran´ach polyedru) a u ´ˇcelov´a funkce se zlepˇsuje (nebo aspoˇ n nezhorˇsuje).
13.1
Stavebn´ı kameny algoritmu
Zde vysvˇetl´ıme jednotliv´e stavebn´ı kameny simplexov´e metody, kter´e nakonec v §13.2 spoj´ıme v cel´y algoritmus.
13.1.1
Pˇ rechod k sousedn´ı standardn´ı b´ azi
Simplexov´a metoda pracuje pouze se standardn´ımi b´azemi, tj. sloupce J jsou (permutovan´e) vektory standardn´ı b´aze. To m´a v´yhodu v tom, ˇze (i) nemus´ıme kontrolovat, zda jsou sloupce J line´arnˇe nez´avisl´e a (ii) nenulov´e sloˇzky b´azov´eho ˇreˇsen´ı x jsou rovny pˇr´ımo sloˇzk´am vektoru b. Na poˇc´atku algoritmu se pˇredpokl´ad´a, ˇze matice A obsahuje standardn´ı b´azi. Z line´ ´pravy soustavy Ax = b: libovoln´y ˇr´adek ta arn´ı algebry zn´ame ekvivalentn´ı ˇr´adkov´e u bulky A b m˚ uˇzeme vyn´asobit nenulov´ym ˇc´ıslem a m˚ uˇzeme k nˇemu pˇriˇc´ıst line´arn´ı kombinaci ostatn´ıch ˇr´adk˚ u. Tyto u ´pravy nemˇen´ı mnoˇzinu ˇreˇsen´ı soustavy. Uk´aˇzeme, jak pˇrej´ıt od aktu´aln´ı standardn´ı b´aze J k sousedn´ı standardn´ı b´azi, tedy nˇejak´y sloupec j ′ ∈ J b´azi opust´ı a nˇejak´y sloupec j ∈ / J do b´aze vstoup´ı. Necht’ i je ˇr´adek, ve kter´em je aij ′ = 1. Prvek (i, j) matice se naz´yv´a pivot (angl. znamen´a ˇcep). Necht’ aij 6= 0. Chceme nastavit pivot aij na jedniˇcku, vynulovat prvky nad i pod pivotem, a nezmˇenit pˇritom sloupce J \ {j ′ }. Toho se dos´ahne tˇemito ekvivalentn´ımi ˇr´adkov´ymi u ´pravami: 1. Vydˇel ˇr´adek i ˇc´ıslem aij . 2. Pro kaˇzd´e i′ 6= i odeˇcti ai′ j -n´asobek ˇr´adku i od ˇr´adku i′ . ˇ ık´ame, ˇze jsme provedli ekvivalentn´ı u R´ ´pravu kolem pivotu s indexy (i, j).
116
Pˇ r´ıklad 13.2. Mˇejme soustavu 0 2 6 1 0 4 4 A b = 1 1 3 0 0 2 3 0 −1 1 0 1 2 1
(13.4)
se (standardn´ı) b´az´ı J = {1, 4, 5}. Vid´ıme ihned odpov´ıdaj´ıc´ı b´azov´e ˇreˇsen´ı, x = (3, 0, 0, 4, 1, 0). Chceme nahradit b´azov´y sloupec j ′ = 1 neb´azov´ym sloupcem j = 2, tedy pˇrej´ıt k sousedn´ı b´azi {2, 4, 5}. M´ame i = 2, tedy pivot je prvek a22 (v tabulce or´amov´an). Ekvivalentn´ımi ˇr´adkov´ymi u ´pravami mus´ıme doc´ılit, aby pivot byl roven jedn´e a prvky nad n´ım a pod n´ım byly nulov´e. Pˇri tom sm´ıme zmˇenit sloupec 1, ale sloupce 4 a 5 se zmˇenit nesmˇej´ı. Toho se doc´ıl´ı vydˇelen´ım ˇr´adku 2 ˇc´ıslem a22 (coˇz zde nem´a ˇz´adn´y efekt, protoˇze n´ahodou a22 = 1) a pak pˇriˇcten´ım vhodn´ych n´asobk˚ u ˇr´adku 2 k ostatn´ım ˇr´adk˚ um. V´ysledek: −2 0 0 1 0 0 −2 A b = 1 1 3 0 0 2 3 . 1 0 4 0 1 4 4 Nyn´ı sloupce {2, 4, 5} tvoˇr´ı standardn´ı b´azi.
13.1.2
Kdy je sousedn´ı b´ azov´ eˇ reˇ sen´ı pˇ r´ıpustn´ e?
Uveden´ym zp˚ usobem m˚ uˇzeme od aktu´aln´ı b´aze pˇrej´ıt k libovoln´e sousedn´ı b´azi. Pˇritom nov´e b´azov´e ˇreˇsen´ı m˚ uˇze nebo nemus´ı b´yt pˇr´ıpustn´e. Je-li aktu´aln´ı b´azov´e ˇreˇsen´ı pˇr´ıpustn´e, jak pozn´ame, zda i nov´e b´azov´e ˇreˇsen´ı bude pˇr´ıpustn´e? Protoˇze nenulov´e sloˇzky b´azov´eho ˇreˇsen´ı x jsou rovny sloˇzk´am vektoru b, b´azov´e ˇreˇsen´ı je pˇr´ıpustn´e pr´avˇe tehdy, kdyˇz b ≥ 0. Necht’ v aktu´aln´ı tabulce je b ≥ 0. Proved’me ekvivalentn´ı u ´pravu kolem pivotu (i, j). Hled´ame podm´ınky na (i, j), za kter´ych bude i po u ´pravˇe b ≥ 0. Po ekvivalentn´ı u ´pravˇe kolem pivotu (i, j) se vektor b zmˇen´ı takto (viz §13.1.1): • bi se zmˇen´ı na bi /aij , • pro kaˇzd´e i′ 6= i se bi′ zmˇen´ı na bi′ − ai′ j bi /aij . Tato ˇc´ısla musej´ı b´yt nez´aporn´a. To nastane pr´avˇe tehdy, kdyˇz plat´ı n´asleduj´ıc´ı podm´ınky: aij > 0, pro kaˇzd´e i′ 6= i plat´ı ai′ j ≤ 0 nebo
(13.5a) bi bi′ ≤ , aij ai′ j
(13.5b)
kde ’nebo’ je uˇzito v nevyluˇcovac´ım smyslu. Podm´ınka (13.5a) je zˇrejm´a. Podm´ınka (13.5b) je ekvivalentn´ı podm´ınce bi′ − ai′ j bi /aij ≥ 0, nebot’ aij > 0, bi ≥ 0, bi′ ≥ 0 (rozmyslete!). Pˇ r´ıklad 13.3. Uvaˇzujme opˇet tabulku (13.4). • Ekvivalentn´ı u ´prava okolo pivotu (i, j) = (3, 2) nepovede k pˇr´ıpustn´emu b´azov´emu ˇreˇsen´ı, nebot’ aij = −1 < 0, coˇz poruˇsuje podm´ınku (13.5a). • Ekvivalentn´ı u ´prava okolo pivotu (i, j) = (2, 2) nepovede k pˇr´ıpustn´emu b´azov´emu ˇreˇsen´ı, nebot’ pro i′ = 1 je ai′ j > 0 a 31 > 42 , tedy podm´ınka (13.5b) je poruˇsena. • Ekvivalentn´ı u ´prava okolo pivotu (i, j) = (3, 6) povede k pˇr´ıpustn´emu b´azov´emu ˇreˇsen´ı. Podm´ınky (13.5) jsou splnˇeny, nebot’ aij = 2 > 0 a 21 ≤ 44 , 21 ≤ 23 . 117
13.1.3
Co kdyˇ z je cel´ y sloupec nekladn´ y?
Jestliˇze jsou vˇsechny prvky v nˇejak´em neb´azov´em sloupci j nekladn´e, v´ıme z podm´ınky (13.5a), ˇze tento sloupec se nem˚ uˇze st´at b´azov´ym. Plat´ı ale nav´ıc, ˇze souˇradnice xj bodu x se m˚ uˇze libovolnˇe zvˇetˇsovat a bod x pˇresto z˚ ustane v polyedru X. Tedy existuje polopˇr´ımka s poˇc´atkem v x leˇz´ıc´ı cel´a v polyedru X. Tedy polyedr X je neomezen´y. Pˇ r´ıklad 13.4. Necht’ A b je tabulka 0 −2 6 1 0 4 4 1 −1 3 0 0 2 3 0 −1 1 0 1 2 1
x= 3
0 0 4 1 0
s b´az´ı {1, 4, 5}. Pod tabulkou je naps´ano b´azov´e ˇreˇsen´ı x. Kdyˇz se x2 bude libovolnˇe zvˇetˇsovat, zmˇenu lze kompenzovat souˇcasn´ym zvˇetˇsov´an´ım b´azov´ych promˇenn´ych x1 , x4 , x5 tak, ˇze vektor Ax z˚ ustane nezmˇenˇen a tedy roven b. Konkr´etnˇe, vektor pro kaˇzd´e α ≥ 0 bude vektor x = (3, 0, 0, 4, 1, 0) + α(1, 1, 0, 2, 1, 0) splˇ novat Ax = b a x ≥ 0.
13.1.4
Ekvivalentn´ı u ´ pravy u ´ˇ celov´ eho ˇ r´ adku
Dosud jsme prov´adˇeli ekvivalentn´ı ˇr´adkov´e u ´pravy pouze na soustavˇe Ax = b a u ´ˇcelov´e funkce si nevˇs´ımali. Tyto u ´pravy lze rozˇs´ıˇrit na celou u ´lohu LP vˇcetnˇe u ´ˇcelov´e funkce. Nebudeme u ´ˇcelovou funkci uvaˇzovat ve tvaru cT x, ale v m´ırnˇe obecnˇejˇs´ım tvaru cT x − d. Tedy ˇreˇs´ıme LP min{ cT x − d | Ax = b, x ≥ 0 }.
(13.6)
´ Ulohu budeme reprezentovat simplexovou tabulkou T c d . (13.7) A b Pˇriˇctˇeme k u ´ˇcelov´emu ˇr´adku cT d libovolnou line´arn´ı kombinaci yT A b ostatn´ıch ˇr´adk˚ u A b , kde y jsou koeficienty line´arn´ı kombinace. Uk´aˇzeme, ˇze tato u ´prava zachov´a hodnotu u ´ˇcelov´e funkce cT x − d pro kaˇzd´e x splˇ nuj´ıc´ı Ax = b. Nov´y u ´ˇcelov´y ˇr´adek bude T c d + y T A b = cT + y T A d + y T b . Nov´a u ´ˇcelov´a funkce bude tedy
(cT + yT A)x − (d + yT b) = cT x − d + yT (Ax − b). Ale to je rovno cT x − d pro kaˇzd´e x splˇ nuj´ıc´ı Ax = b.
13.1.5
Co udˇ el´ a pˇ rechod k sousedn´ı b´ azi s u ´ˇ celovou funkc´ı?
Necht’ J je standardn´ı b´aze. Pˇriˇctˇeme k u ´ˇcelov´emu ˇr´adku takovou line´arn´ı kombinaci ostatn´ıch ˇr´adk˚ u, aby pro vˇsechna j ∈ J bylo cj = 0 (nov´emu vektoru c se pak ˇr´ık´a redukovan´e ceny). Protoˇze b´azov´e ˇreˇsen´ı x je v neb´azov´ych sloupc´ıch nulov´e, znamen´a to cT x = 0. Tedy hodnota u ´ˇcelov´e funkce cT x − d v b´azov´em ˇreˇsen´ı x je rovna jednoduˇse −d. 118
Nav´ıc je snadno vidˇet, co udˇel´a pˇrechod k nov´e b´azi s u ´ˇcelovou funkc´ı. Necht’ j ′ je sloupec opouˇstˇej´ıc´ı b´azi a j je sloupec vstupuj´ıc´ı do b´aze. Pˇri pˇrechodu k nov´e b´azi se ˇc´ıslo xj ′ stane nulov´ym a ˇc´ıslo xj se zvˇetˇs´ı z nuly na kladn´e (nebo se nezmˇen´ı). Protoˇze cj ′ = 0, ˇc´ıslo cT x − d pˇri cj ≥ 0 stoupne (nebo se nezmˇen´ı) a pˇri cj ≤ 0 klesne (nebo se nezmˇen´ı). Pˇ r´ıklad 13.5. Mˇejme u ´lohu se simplexovou tabulkou 1 −2 −3 −1 T c d 0 2 6 1 = 1 A b 1 3 0 0 −1 1 0
2 0 0 1
1 4 2 2
4 4 , 3 1
kde J = {1, 4, 5}. Sloˇzky vektoru c v b´azov´ych sloupc´ıch vynulujeme tak, ˇze k u ´ˇcelov´emu ˇr´adku pˇriˇcteme prvn´ı ˇr´adek, odeˇcteme druh´y ˇr´adek, a odeˇcteme dvojn´asobek tˇret´ıho ˇr´adku: 0 1 −2 0 0 −1 3 0 2 6 1 0 4 4 1 1 3 0 0 2 3 0 −1 1 0 1 2 1
x= 3
0
0 4 1
0
Pod tabulku jsme napsali b´azov´e ˇreˇsen´ı x. Nyn´ı je cT x = 0, a tedy hodnota u ´ˇcelov´e funkce v T b´azov´em ˇreˇsen´ı je c x − d = −d = −3. Dejme tomu, ˇze chceme pˇridat do b´aze neb´azov´y sloupec 2 a vylouˇcit z n´ı nˇekter´y z b´azov´ych sloupc˚ u {1, 4, 5}. Po tomto pˇrechodu se x2 stane kladn´e nebo z˚ ustane nulov´e a jedna ze sloˇzek x1 , x4 , x5 se vynuluje. Protoˇze c1 = c4 = c5 = 0, zmˇena x1 , x4 , x5 se na u ´ˇcelov´e funkci neprojev´ı a ta se zmˇen´ı o c2 x2 . Krit´erium tedy stoupne nebo z˚ ustane stejn´e, protoˇze c2 = 1 > 0. Pokud v nˇekter´em sloupci j je cj ≤ 0 a aij ≤ 0 pro vˇsechna i, pak m˚ uˇzeme promˇennou xj ´ ´ˇcelovou funkci libovolnˇe zmenˇsovat. Uloha je tedy neomelibovolnˇe zvˇetˇsovat (viz §13.1.3) a u zen´a.
13.2
Z´ akladn´ı algoritmus
Spojen´ım popsan´ych stavebn´ıch kamen˚ u dostaneme iteraci simplexov´eho algoritmu na ˇreˇsen´ı u ´lohy (13.6). Iterace pˇrejde k sousedn´ı standardn´ı b´azi takov´e, ˇze b´azov´e ˇreˇsen´ı z˚ ustane pˇr´ıpustn´e a u ´ˇcelov´a funkce se zmenˇs´ı nebo alespoˇ n nezmˇen´ı. Vstupem i v´ystupem iterace je simplexov´a tabulka (13.7) s tˇemito vlastnostmi: • podmnoˇzina sloupc˚ u A tvoˇr´ı standardn´ı b´azi J, • b´azov´e ˇreˇsen´ı odpov´ıdaj´ıc´ı t´eto b´azi je pˇr´ıpustn´e, b ≥ 0,
• sloˇzky vektoru c v b´azov´ych sloupc´ıch jsou nulov´e, cj = 0 pro j ∈ J. Iterace se provede v tˇechto kroc´ıch: 1. Vyber index j pivotu tak, aby cj < 0 (§13.1.5). 2. Vyber index i pivotu podle podm´ınek (13.5). Z tˇechto podm´ınek plyne (promyslete!) bi′ , i′ | ai′ j >0 ai′ j
i ∈ argmin
kde argmini′ | ai′ j >0 oznaˇcuje, ˇze se minimalizuje pˇres vˇsechna i′ splˇ nuj´ıc´ı ai′ j > 0. 119
(13.8)
3. Udˇelej ekvivalentn´ı u ´pravu okolo pivotu (i, j) (§13.1.1). 4. Udˇelej ekvivalentn´ı u ´pravu u ´ˇcelov´eho ˇr´adku, kter´a vynuluje cj v nov´em b´azov´em sloupci j (§13.1.5). Algoritmus, kter´y opakuje uvedenou iteraci, nazveme z´ akladn´ı simplexov´ y algoritmus. Algoritmus konˇc´ı, kdyˇz uˇz nelze iteraci prov´est. To nastane z jednoho z tˇechto d˚ uvod˚ u: ´ celovou funkci nelze zlepˇsit a jsme v optimu. • Vˇsechny koeficienty cj jsou nez´aporn´e. Uˇ ´ • V nˇekter´em sloupci j je cj < 0 a aij ≤ 0 pro vˇsechna i. Uloha je neomezen´a.
V´ybˇer index˚ u (i, j) pivotu v kroc´ıch 1 a 2 nemus´ı b´yt jednoznaˇcn´y, tedy m˚ uˇze b´yt v´ıce sloupc˚ u j s vhodn´ym znam´enkem cj a v´ıce ˇr´adk˚ u i m˚ uˇze splˇ novat podm´ınky (13.5) (tedy m˚ uˇze b´yt v´ıce argument˚ u minima v podm´ınce (13.8)). Algoritmus, kter´y vyb´ır´a jedin´y pivot z tˇechto moˇznost´ı, se naz´yv´a pivotov´ e pravidlo. Zˇr´ıdka se algoritmus m˚ uˇze dostat do stavu, kdy cyklicky proch´az´ı st´ale stejnou mnoˇzinu b´az´ı, kter´e odpov´ıdaj´ı jedin´emu degenerovan´emu b´azov´emu ˇreˇsen´ı a tedy u ´ˇcelov´a funkce se nemˇen´ı. Tomuto probl´emu cyklen´ı se d´a zabr´anit pouˇzit´ım vhodn´eho pivotov´eho pravidla (nejzn´amˇejˇs´ı je Blandovo anticykl´ıc´ı pravidlo), kter´e ale popisovat nebudeme. Pˇ r´ıklad 13.6. Vyˇreˇste line´arn´ı program (13.6) simplexovou metodou, kdyˇz v´ychoz´ı simplexov´a tabulka (13.7) je 0 −2 1 0 0 −3 0 0 2 6 1 0 4 4 . 1 1 3 0 0 2 3 0 −1 1 0 1 2 1 B´aze je J = {1, 4, 5} a b´azov´e ˇreˇsen´ı x = (3, 0, 0, 4, 1, 0). ´ celov´y ˇr´adek budeme naz´yvat nult´y, ostatn´ı pak prv´y, druh´y atd. Prvn´ı iterace simplexoUˇ v´eho algoritmu se provede v tˇechto kroc´ıch: 1. Vybereme sloupec j, kter´y vstoup´ı do b´aze. To m˚ uˇze b´yt libovoln´y sloupec, kter´y m´a v nult´em ˇr´adku z´aporn´e ˇc´ıslo. Je rozumn´e vz´ıt nejmenˇs´ı takov´e ˇc´ıslo, zde −3, tedy j = 6.
2. Vybereme ˇr´adek i pivotu dle (13.8) nalezen´ım argumentu minima z ˇc´ısel 44 , 32 , 21 . Bude tedy i = 3. V´ysledn´y pivot je oznaˇcen r´ameˇckem. Vˇsimnˇete si, ˇze ˇr´adek i = 3 m´a v aktu´aln´ı b´azi jedniˇcku ve sloupci 5, sloupec 5 tedy b´azi opust´ı.
3, 4. Udˇel´ame ekvivalentn´ı u ´pravu okolo pivotu (i, j) a z´aroveˇ n vynulujeme ˇc´ıslo cj . Neboli chceme, aby se z pivotu aij stala jedniˇcka a nad i pod pivotem byly nuly, a to vˇcetnˇe nult´eho ˇr´adku. Tedy nejprve tˇret´ı ˇr´adek vydˇel´ıme dvˇema a potom k nult´emu ˇr´adku pˇriˇcteme trojn´asobek tˇret´ıho ˇr´adku, od prvn´ıho ˇr´adku odeˇcteme ˇctyˇrn´asobek tˇret´ıho ˇr´adku, a od druh´eho ˇr´adku odeˇcteme dvojn´asobek tˇret´ıho ˇr´adku. Vˇsimnˇete si: k ˇz´adn´emu ˇr´adku nikdy nepˇriˇc´ıt´ame n´asobky jin´eho ˇr´adku neˇz pivotov´eho. V´ysledek: 0 −3.5 2.5 0 4 4 1 2 2 0 −0.5 0.5
0 1 0 0
1.5 −2 −1 0.5
0 1.5 0 2 0 2 1 0.5
Na konci prvn´ı iterace m´ame b´azi J = {1, 4, 6}, b´azov´e ˇreˇsen´ı x = (2, 0, 0, 2, 0, 0.5), a hodnotu u ´ˇcelov´e funkce −d = −1.5. 120
Druh´a iterace: pivot je ve sloupci j = 2. Jeho ˇr´adek najdeme dle (13.8) porovn´an´ım ˇc´ısel tedy i = 1. V´ysledek druh´e iterace:
2 2 , , 4 2
0 0 1 0
6 0.875 −0.25 0 3.25 1 0.25 −0.5 0 0.5 0 −0.5 0 0 1 1 0.125 0.25 1 0.75
0 1 0 0
V´ysledek tˇret´ı iterace: 0 0 1 0
0 1 0 0
7 1 0 3 0.5 0 0 −0.5 0 4 0.5 1
1 2 0 4
4 2 1 3
´ Protoˇze vˇsechna ˇc´ısla v u ´ˇcelov´em ˇr´adku jsou nez´aporn´a, algoritmus konˇc´ı. Uloha m´a optim´aln´ı ˇreˇsen´ı s hodnotou −4 v bodˇe (x1 , x2 , x3 , x4 , x5 , x6 ) = (1, 2, 0, 0, 3, 0). Pˇ r´ıklad 13.7. Necht’ simplexov´a tabulka (13.7) je −2 6 1 0 0 0 −1 −1 −1 1 0 2 2 −1 −2 0 1 1 Tabulka po prvn´ı iteraci je 0 5 −1 0 1 1 0 −1.5 −2 1 0.5 2.5 1 −0.5 −1 0 0.5 0.5
Podle nult´eho ˇr´adku by dalˇs´ı pivot mˇel b´yt ve tˇret´ım sloupci. Ale ˇc´ısla ai3 jsou vˇsechna z´aporn´a ´loha je neomezen´a. V nov´e tabulce je vidˇet, ˇze m˚ uˇzeme zvˇetˇsovat x3 (viz §13.1.3). Tedy u libovolnˇe a kompenzovat to vhodn´ym n´ar˚ ustem x1 a x4 . Jelikoˇz c1 = c4 = 0, zmˇeny x1 a x4 se na u ´ˇcelov´e funkci neprojev´ı a jedin´y vliv na n´ı bude m´ıt x3 , kter´e ho bude libovolnˇe zmenˇsovat.
13.3
Inicializace algoritmu
Na zaˇc´atku z´akladn´ıho simplexov´eho algoritmu mus´ı b´yt u ´loha zad´ana ve tvaru min{ cT x | Ax = b, x ≥ 0 },
(13.9)
kde matice A obsahuje standardn´ı b´azi a b ≥ 0. Uk´aˇzeme, jak lze obecnou u ´lohu LP pˇrev´est na tento tvar. Nˇekdy je pˇrevod snadn´y. Pokud m´a u ´loha tvar min{ cT x | x ∈ Rn , Ax ≤ b, x ≥ 0 } a plat´ı b ≥ 0, pˇrid´an´ım slack˚ uu ´lohu pˇrevedeme na min{ cT u | Ax + u = b, x ≥ 0, u ≥ 0 }. Tato u ´loha simplexovou tabulkou T c 0 0 , A I b ve kter´e sloupce pˇr´ısluˇsn´e promˇenn´ym u tvoˇr´ı standardn´ı b´azi. 121
Pˇ r´ıklad 13.8. Vyˇreˇste simplexov´ym algoritmem: min −3x1 − x2 − 3x3
za podm´ınek
2x1 + x2 + x3 x1 + 2x2 + 3x3 2x1 + 2x2 + x3 x1 , x2 , x3
≤ ≤ ≤ ≥
2 5 6 0
Pˇrid´ame slackov´e promˇenn´e u1 , u2 , u3 ≥ 0, abychom omezen´ı uvedli do tvaru rovnost´ı: min −3x1 − x2 − 3x3
za podm´ınek
2x1 + x2 + x3 + u1 =2 x1 + 2x2 + 3x3 + u2 =5 2x1 + 2x2 + x3 + u3 = 6 x1 , x2 , x3 , u1 , u2, u3 ≥ 0
Zde je v´ychoz´ı simplexov´a tabulka: −3 −1 −3 0 0 0 2 1 1 1 0 0 1 2 3 0 1 0 2 2 1 0 0 1
13.3.1
0 2 5 6
Dvouf´ azov´ a simplexov´ a metoda
Pokud je u ´loha zad´ana v obecn´em tvaru, operacemi z §11.1 ji lze vˇzdy pˇrev´est do tvaru (13.9). Vyn´asoben´ım vhodn´ych ˇr´adk˚ u z´aporn´ym ˇc´ıslem vˇzdy zajist´ıme b ≥ 0, matice A ale nemus´ı obsahovat standardn´ı b´azi. M´ame dokonce v´aˇznˇejˇs´ı probl´em: nen´ı v˚ ubec jasn´e, zda u ´loha (13.9) je pˇr´ıpustn´a. V tomto pˇr´ıpadˇe nejdˇr´ıve vyˇreˇs´ıme pomocnou u ´lohu LP, kter´a najde nˇejak´e (ne nutnˇe optim´aln´ı) pˇr´ıpustn´e ˇreˇsen´ı. Z nˇej pak z´ısk´ame standardn´ı b´azi. Pomocn´a u ´loha je min{ 1T u | Ax + u = b, x ≥ 0, u ≥ 0 } a m´a simplexovou tabulku
(13.10)
0 1T 0 . A I b
Pro libovoln´e u ≥ 0 je 1T u ≥ 0, pˇriˇcemˇz 1T u = 0 pr´avˇe tehdy, kdyˇz u = 0. Tedy u ´loha (13.9) je pˇr´ıpustn´a pr´avˇe tehdy, je-li optim´aln´ı hodnota u ´lohy (13.10) rovna 0. Na poˇc´atku tvoˇr´ı sloupce pˇr´ısluˇsn´e promˇenn´ym u standardn´ı b´azi, lze tedy na n´ı pustit z´akladn´ı simplexov´y algoritmus. Ten m˚ uˇze skonˇcit dvˇema zp˚ usoby: • Pokud je optimum vˇetˇs´ı neˇz 0, pak u ´loha (13.9) je nepˇr´ıpustn´a. • Pokud je optimum rovno 0, pak u ´loha (13.9) je pˇr´ıpustn´a. Pokud nen´ı optim´aln´ı ˇreˇsen´ı (x, u) u ´lohy (13.10) degenerovan´e, po skonˇcen´ı simplexov´eho algoritmu jsou vˇsechny b´azov´e promˇenn´e kladn´e. Protoˇze u = 0, promˇenn´e u budou tedy neb´azov´e. Proto mezi sloupci pˇr´ısluˇsn´ymi promˇenn´ym x bude existovat standardn´ı b´aze.
Pokud je optim´aln´ı ˇreˇsen´ı (x, u) u ´lohy (13.10) degenerovan´e, nˇekter´e promˇenn´e u mohou b´yt na konci algoritmu b´azov´e. Pak je nutno udˇelat dodateˇcn´e u ´pravy kolem pivot˚ u ve sloupc´ıch pˇr´ısluˇsn´ych b´azov´ym promˇenn´ym u, abychom tyto sloupce dostali z b´aze ven. 122
Nalezen´ı nˇejak´eho pˇr´ıpustn´eho ˇreˇsen´ı v pomocn´e u ´loze (13.10) se naz´yv´a prvn´ı f´ aze a ˇreˇsen´ı p˚ uvodn´ı u ´lohy pak druh´ a f´ aze algoritmu, mluv´ıme tedy o dvouf´ azov´ e simplexov´ e metodˇ e. ˇ ste Pˇ r´ıklad 13.9. Reˇ min −20x1 − 30x2 − 40x3
za podm´ınek
3x1 + 2x2 + x3 = 10 x1 + 2x2 + 2x3 = 15 x1 , x2 , x3 ≥ 0
M´ame sice b ≥ 0, ale nen´ı jasn´e, zda existuje pˇr´ıpustn´e x, t´ım m´enˇe nen´ı vidˇet standardn´ı b´aze. Provedeme prvn´ı f´azi algoritmu. Pomocn´a u ´loha bude min
u1 + u2
za podm´ınek 3x1 + 2x2 + x3 + u1 = 10 x1 + 2x2 + 2x3 + u2 = 15 x1 , x2 , x3 , u1 , u2 ≥ 0 s tabulkou
0 0 0 1 1 0 3 2 1 1 0 10 1 2 2 0 1 15
Sloupce nad pˇridan´ymi promˇenn´ymi tvoˇr´ı standardn´ı b´azi, m˚ uˇzeme tedy na pomocnou u ´lohu pustit z´akladn´ı simplexov´y algoritmus. Po vynulov´an´ı ceny nad b´azov´ymi promˇenn´ymi budou kroky algoritmu vypadat takto: −4 −4 −3 3 2 1 1 2 2
0 1 0
2 1.5 −2
0 −1 2 1 0.5 0.5 0 1 −1
0 2.5 −2
0 1 0
0 −25 0 10 1 15 0 0 1
−5 5 5
0 1 1 0 1 −0.5 1 −1 1
0 2.5 5
Optimum je rovno 0, tedy p˚ uvodn´ı u ´loha je pˇr´ıpustn´a. Promˇenn´e u1 , u2 jsou neb´azov´e a tedy rovny nule, b´azov´e promˇenn´e jsou x2 , x3 . Ted’ tedy m˚ uˇzeme zaˇc´ıt druhou f´azi (ˇreˇsen´ı p˚ uvodn´ı u ´lohy) s poˇc´ateˇcn´ı tabulkou −20 −30 −40 0 2.5 1 0 2.5 −2 0 1 5
123
13.4
Cviˇ cen´ı
13.1. Najdˇete vˇsechny b´aze a b´azov´a ˇreˇsen´ı polyedru { x ∈ Rn | Ax = b, x ≥ 0 } pro 1 0 1 0 1 A b = . 2 −1 4 1 4 Kter´a z nich jsou pˇr´ıpustn´a? Kter´a z nich jsou degenerovan´a?
13.2. V tabulce zakrouˇzkujte vˇsechny pivoty takov´e, ˇze ekvivalentn´ı u ´prava kolem nich povede k pˇr´ıpustn´emu b´azov´emu ˇreˇsen´ı: 0 2 6 1 0 −4 3 0 4 1 1 −3 0 0 2 3 0 3 A b = 0 −1 1 0 1 −2 −3 0 1 0 −2 2 0 0 2 −1 1 1 13.3. Zapiˇste line´arn´ı program min −x1
za podm´ınek
− x4 − 3x5
2x1 + x4 + x5 + x6 −x1 + x2 + 2x4 + 3x5 2x1 + x3 + 2x4 − x5 x1 , x2 , x3 , x4 , x5 , x6
= = = ≥
2 4 6 0
do simplexov´e tabulky. Pˇredpokl´adejte, ˇze aktu´aln´ı b´aze je {2, 3, 6}. Jak´e je aktu´aln´ı b´azov´e ˇreˇsen´ı? Je toto b´azov´e ˇreˇsen´ı pˇr´ıpustn´e. Je degenerovan´e? Pokud je to moˇzn´e, udˇelejte jeden krok simplexov´eho algoritmu. Pokud to moˇzn´e nen´ı, vysvˇetlete proˇc. 13.4. Vyˇreˇste simplexovou metodou: max
2x1 − x2 − 3x3
za podm´ınek −2x1 − x2 + x3 −x1 + 2x2 − 3x3 −2x1 − 4x2 + x3 x1 , x2 , x3
≤ ≤ ≤ ≥
2 5 6 0
13.5. Vyˇreˇste simplexovou metodou (navzdory tomu, ˇze lze ˇreˇsit u ´vahou): max 6x1 + 9x2 + 5x3 + 9x4 za podm´ınek x1 + x2 + x3 + x4 = 1 x1 , x2 , x3 , x4 ≥ 0 13.6. Necht’ u ´loha (13.6) m´a v´ıce neˇz jedno optim´aln´ı ˇreˇsen´ı. Jak se to pozn´a v simplexov´e tabulce? Navrhnˇete algoritmus, jehoˇz v´ystupem bude v´yˇcet vˇsech optim´aln´ıch b´azov´ych ˇreˇsen´ı.
124
13.7. Mˇejme line´arn´ı program min za podm´ınek
− 3x3 + x4
2x1
x1 − x2 − x3 −x1 + 2x2 − 3x3 2x1 − x2 − x3 + 2x4 x1 , x2 , x3 , x4
≥ ≤ = ≥
0 5 6 0
Inicializujte co nejjednoduˇsˇs´ım zp˚ usobem z´akladn´ı simplexov´y algoritmus. Vyˇreˇste t´ımto algoritmem. Nepouˇz´ıvejte dvouf´azovou metodu. 13.8. Upravte do vhodn´eho tvaru a vyˇreˇste dvouf´azovou simplexovou metodou: 3x1 − 4x2
max
za podm´ınek −2x1 − 5x2 ≤ 10 3x1 + x2 ≤ 3 −2x1 + x2 ≤ −2 x1 ≥ 0 x2 ≤ −1
N´ apovˇ eda a ˇ reˇ sen´ı 13.1.
J {1, 2} {1, 3} {1, 4} {2, 3} {3, 4} x (1, −1) (0, 1) (1, 2) (0, 1) (1, 0) pˇr´ıp. ne ano ano ano ano degen. ne ano ne ano ano
´ 13.4. Uloha je neomezen´a kv˚ uli prvn´ımu sloupci. 13.7. Napˇr. otoˇc´ıme znam´enko prvn´ıho omezen´ı, tˇret´ı omezen´ı vydˇel´ıme dvˇema, pˇrid´ ame slackov´e promˇenn´e pro prvn´ı a druh´e omezen´ı. Pak vynulujeme ceny nad b´ azov´ ymi sloupci. Iterace algoritmu: 1 0.5 −2.5 0 0 0 −3 −1 1 1 0 1 0 0 −1 2 −3 0 0 1 5 3 1 −0.5 −0.5 1 0 0
−1.5 −1 −4 0.5
3 1 5 0
0 1 0 0
0 2.5 0 −3 0 1 0 0 5 0 3 1 1 0.5 0 3
V´ ysledek: (x1 , x2 , x3 , x4 ) = (6, 0, 6, 0), hodnota optima −6.
13.8. Optimum je (x1 , x2 ) = (25, −36)/13.
125
0 0 0 1
3 1 5 0
0 1 0 0
3 2 8 2
4 2 7 1
0 6 0 6 1 29 0 6
Kapitola 14 Konvexn´ı funkce Definice 14.1. Funkce f : Rn → R je konvexn´ı na konvexn´ı mnoˇzinˇe X ⊆ Rn , jestliˇze x ∈ X, y ∈ X, 0 ≤ α ≤ 1
=⇒
f (αx + (1 − α)y) ≤ αf (x) + (1 − α)f (y).
(14.1)
Funkce f je konk´ avn´ı na mnoˇzinˇe X, jestliˇze je funkce −f konvexn´ı na mnoˇzinˇe X. Rozliˇsujte pojem konvexn´ı mnoˇzina a konvexn´ı funkce, jde o r˚ uzn´e vˇeci. D´ale si vˇsimnˇete, ˇze X mus´ı b´yt konvexn´ı mnoˇzina – pojem konvexn´ı funkce na nekonvexn´ı mnoˇzinˇe nen´ı definov´an. Pokud X je cel´y definiˇcn´ı obor funkce f , odkaz na X m˚ uˇzeme vynechat a ˇr´ık´ame pouze, ˇze funkce f je konvexn´ı. Podm´ınku (14.1) lze zobecnit pro v´ıce neˇz dva body: funkce f je konvexn´ı pr´avˇe tehdy, kdyˇz x1 , . . . , xk ∈ X, α1 , . . . , αk ≥ 0, α1 + · · · + αk = 1 =⇒ f (α1 x1 + · · · + αk xk ) ≤ α1 f (x1 ) + · · · + αk f (xk ). (14.2) Podm´ınka (14.2) (zn´am´a jako Jensenova nerovnost) zjevnˇe implikuje (14.1) a indukc´ı lze dok´azat, ˇze to plat´ı i naopak. Porovnejte s definic´ı line´arn´ıho zobrazen´ı (3.3)! Geometrick´y v´yznam podm´ınky (14.1) je ten, ˇze u ´seˇcka spojuj´ıc´ı body (x, f (x)) a (y, f (y)) leˇz´ı nad grafem funkce (viz lev´y obr´azek). Geometrick´y v´yznam podm´ınky (14.2) je ten, ˇze konvexn´ı polyedr vybarven´y ˇsedˇe (viz prav´y obr´azek) leˇz´ı nad grafem funkce. Podrobnˇe rozmyslete, jak tyto geometrick´e interpretace odpov´ıdaj´ı v´yraz˚ um (14.1) a (14.2)! f
f
f (y )
f (x3 )
f (x )
f (x1 ) f (x2 )
f (x) + (1 )f (y) f (x + (1 )y) 0
x
0
x + (1 )y y
x1
x2
x3
Pˇ r´ıklad 14.1. Dokaˇzme z Definice 14.1, ˇze funkce f : Rn → R definovan´a jako f (x) = maxni=1 xi
126
je konvexn´ı. M´ame dok´azat, ˇze pro kaˇzd´e x, y a 0 ≤ α ≤ 1 plat´ı f (αx + (1 − α)y) = max(αxi + (1 − α)yi ) i
(14.3a)
≤ max αxi + max(1 − α)yi
(14.3b)
= α max xi + (1 − α) max yi
(14.3c)
= αf (x) + (1 − α)f (y)
(14.3d)
i
i
i
i
kde rovnost (14.3c) plyne z nez´apornosti ˇc´ısel α a 1 − α. Nerovnost (14.3b) plyne z toho, ˇze pro kaˇzd´e a1 , . . . , an , b1 , . . . , bn ∈ R plat´ı max(ai + bi ) ≤ max ai + max bi . i
i
i
(14.4)
Nerovnost (14.4) dok´aˇzeme napˇr´ıklad takto. Necht’ i∗ , j ∗ , k ∗ jsou indexy, ve kter´ych se nab´yvaj´ı maxima, tedy ai∗ + bi∗ = maxi (ai + bi ), aj ∗ = maxi ai , bk∗ = maxi bi . Proto ai∗ ≤ aj ∗ a bi∗ ≤ bk∗ . Tedy maxi (ai + bi ) = ai∗ + bi∗ ≤ aj ∗ + bk∗ = maxi ai + maxi bi . Pˇ r´ıklad 14.2. Dokaˇzme z Definice 14.1, ˇze funkce f : Rn → R definovan´a jako f (x) = minni=1 xi nen´ı konvexn´ı. Napˇr. volba n = 2, x = (0, 2), y = (2, 0), α = 12 nesplˇ nuje (14.1), nebot’ f ((x + y)/2) = f (1, 1) = 1 > (f (x) + f (y))/2 = (0 + 0)/2 = 0.
Pouˇzit´ım Jensenovy nerovnosti na vhodnou konvexn´ı funkci lze z´ıskat mnoho uˇziteˇcn´ych nerovnost´ı. Pˇ r´ıklad 14.3. Funkce log je konk´avn´ı na R++ . Napiˇsme pro tuto funkci Jensenovu nerovnost (14.2) (jelikoˇz funkce je konk´avn´ı a ne konvexn´ı, mus´ıme v Jensenovˇe nerovnosti obr´atit znam´enko nerovnosti), ve kter´e poloˇz´ıme α1 = · · · = αn = n1 : log
x1 + · · · + xn log x1 + · · · + log xn ≥ n n
kde x1 , . . . , xn jsou kladn´e. Vezmeme-li exponenci´alu kaˇzd´e strany, dostaneme x1 + · · · + xn ≥ (x1 · · · xn )1/n . n Tato zn´am´a nerovnost ˇr´ık´a, ˇze aritmetick´y pr˚ umˇer nen´ı menˇs´ı neˇz geometrick´y.
Pˇ r´ıklad 14.4. Uved’me ˇcasto potk´avan´e jednoduch´e konvexn´ı ˇci konk´avn´ı funkce: 1. Exponenci´ala f (x) = eax je konvexn´ı na R, pro libovoln´e a ∈ R.
2. Mocnina f (x) = xa je na R++ konvexn´ı pro a ≥ 1 nebo a ≤ 0 a konk´avn´ı pro 0 ≤ a ≤ 1.
3. Mocnina absolutn´ı hodnoty f (x) = |x|a je pro a ≥ 1 konvexn´ı na R (speci´alnˇe: absolutn´ı hodnota |x| je konvexn´ı).
4. Logaritmus f (x) = log x je konk´avn´ı na R++ .
5. Z´aporn´a entropie f (x) = x log x je konvexn´ı na R++ (nebo i na R+ , pokud dodefinujeme 0 log 0 = 0, coˇz se ˇcasto dˇel´a, protoˇze limx→0+ x log x = 0). 6. Afinn´ı funkce f (x) = aT x + b je z´aroveˇ n konvexn´ı i konk´avn´ı. 127
7. Kvadratick´a forma f (x) = xT Ax je konvexn´ı pro A pozitivnˇe semidefinitn´ı, konk´avn´ı pro A negativnˇe semidefinitn´ı, a nekonvexn´ı a nekonk´avn´ı pro A indefinitn´ı (viz Pˇr´ıklad 14.5). 8. Maximum sloˇzek f (x) = maxni=1 xi = max{x1 , . . . , xn } je konvexn´ı na Rn .
9. Log-sum-exp funkce f (x) = log(ex1 + · · · + exn ) je konvexn´ı. Tato funkce se nˇekdy naz´yv´a mˇekk´e maximum, nebot’ funkce ft (x) = f (tx)/t = log(etx1 + · · · + etxn )/t se pro t → +∞ bl´ıˇz´ı funkci maxni=1 xi (dokaˇzte v´ypoˇctem limity!).
10. Geometrick´y pr˚ umˇer f (x) = (x1 · · · xn )1/n je konk´avn´ı na Rn+ .
11. Kaˇzd´a norma (viz Definice 11.1) je konvexn´ı funkce, nebot’ pro kaˇzd´e 0 ≤ α ≤ 1 m´ame kαx + (1 − α)yk ≤ kαxk + k(1 − α)yk = αkxk + (1 − α)kyk, kde nerovnost plyne z troj´ uheln´ıkov´e nerovnosti a rovnost z homogenity. Nakreslete ˇci pˇredstavte si vrstevnice a grafy tˇechto funkc´ı (v pˇr´ıpadˇe v´ıce promˇenn´ych pro n = 1 a n = 2)!
14.1
Konvexita diferencovateln´ ych funkc´ı
Konvexn´ı funkce nemus´ı b´yt v kaˇzd´em bodˇe diferencovateln´a (uvaˇzte napˇr. funkci f (x) = |x|). Pokud je ale funkce jednou ˇci dvakr´at diferencovateln´a, jej´ı konvexitu lze snadnˇeji neˇz pomoc´ı podm´ınky (14.1) (kter´e se nˇekdy ˇr´ık´a podm´ınka nult´eho ˇr´adu) charakterizovat pomoc´ı derivac´ı. N´asleduj´ıc´ı dvˇe vˇety uvedeme bez d˚ ukaz˚ u. Vˇ eta 14.1 (Podm´ınka prvn´ıho ˇ r´ adu). Necht’ funkce f : Rn → R je diferencovateln´a na konvexn´ı mnoˇzinˇe X ⊆ Rn . Funkce f je konvexn´ı na mnoˇzinˇe X pr´avˇe tehdy, kdyˇz x ∈ X, y ∈ X
=⇒
f (y) ≥ f (x) + f ′ (x) (y − x).
To znamen´a, ˇze Taylor˚ uv polynom prvn´ıho ˇr´adu funkce f v kaˇzd´em bodˇe x ∈ X (viz (8.13b)) je vˇsude (tj. pro kaˇzd´e y) menˇs´ı nebo roven funkci f : f f (x ) f (x) + f 0 (x)(y
f (y )
x)
0
y
x
Vˇ eta 14.2 (Podm´ınka druh´ eho ˇ r´ adu). Necht’ X ⊆ Rn je konvexn´ı mnoˇzina, kter´a m´a pouze vnitˇrn´ı body. Necht’ funkce f : Rn → R je dvakr´at diferencovateln´a na X. Funkce f je konvexn´ı na mnoˇzinˇe X pr´avˇe tehdy, kdyˇz v kaˇzd´em bodˇe x ∈ X je Hessova matice f ′′ (x) pozitivnˇe semidefinitn´ı.
128
Pˇ r´ıklad 14.5. Necht’ f (x) = xT Ax, kde A je symetrick´a pozitivnˇe semidefinitn´ı. Ukaˇzme konvexitu t´eto funkce tˇremi zp˚ usoby: • Dokaˇzme konvexitu z Vˇety 14.2. To je trivi´aln´ı, protoˇze Hessi´an je f ′′ (x) = 2A a tedy je pozitivnˇe semidefinitn´ı. • Dokaˇzme konvexitu z Vˇety 14.1. Protoˇze f ′ (x) = 2xT A, m´ame dok´azat, ˇze yT Ay ≥ xT Ax + 2xT A(y − x). To jde upravit na xT Ax − 2xT Ay + yT Ay ≥ 0. Plat´ı1 xT Ax − 2xT Ay + yT Ay = (x − y)T A(x − y),
(14.5)
coˇz je nez´aporn´e pro kaˇzd´e x, y, protoˇze A je pozitivnˇe semidefinitn´ı. • Dok´aˇzme konvexitu z Definice 14.1. Mus´ıme dok´azat, ˇze pro kaˇzd´e x, y ∈ Rn a 0 ≤ α ≤ 1 plat´ı (14.1), tedy [αx + (1 − α)y]T A[αx + (1 − α)y] ≤ αxT Ax + (1 − α)yT Ay Po rozn´asoben´ı a pˇreveden´ı vˇsech ˇclen˚ u na jednu stranu upravujeme: (α − α2 )xT Ax − 2α(1 − α)xT Ay + ((1 − α) − (1 − α)2 )yT Ay ≥ 0
α(1 − α)(xT Ax − 2xT Ay + yT Ay) ≥ 0.
V´yraz α(1 − α) je pro kaˇzd´e 0 ≤ α ≤ 1 nez´aporn´y. Nez´apornost v´yrazu (14.5) jsme jiˇz uk´azali.
14.2
Vztah konvexn´ı funkce a konvexn´ı mnoˇ ziny
Zopakujte si pojmy vrstevnice a graf funkce z §1.1.3! Zavedeme dva podobn´e pojmy, kter´e se liˇs´ı pouze nahrazen´ım rovnosti nerovnost´ı. Pro funkci f : Rn → R definujeme: • Subkontura2 v´yˇsky y je mnoˇzina { x ∈ Rn | f (x) ≤ y }.
• Epigraf funkce je mnoˇzina { (x, y) ∈ Rn+1 | x ∈ Rn , f (x) ≤ y }. Lev´y obr´azek zn´azorˇ nuje subkonturu v´yˇsky y a epigraf funkce R → R, prav´y obr´azek subkonturu v´yˇsky 2 funkce R2 → R: f
y
0 1 2
3
dom f
2
1
Vˇsimnˇete si, ˇze pro n = 1 a A = 1 se rovnost (14.5) zjednoduˇs´ı na zn´am´e x2 − 2xy + y 2 = (x − y)2 . Slovo ’subkontura’ je pokus o ˇcesk´ y pˇreklad anglick´eho ’sublevel set’.
129
Existuj´ı tˇesn´e vztahy mezi konvexitou funkce a konvexitou jej´ıho epigrafu a subkontur (coˇz jsou mnoˇziny), dan´e n´asleduj´ıc´ımi vˇetami. Vˇ eta 14.3. Je-li f konvexn´ı funkce, pak je kaˇzd´a subkontura t´eto funkce konvexn´ı mnoˇzina. D˚ ukaz. Pˇredpokl´adejme, ˇze body x1 a x2 patˇr´ı do subkontury, tedy f (x1 ) ≤ y a f (x2 ) ≤ y. Pro kaˇzd´e 0 ≤ α ≤ 1 plat´ı f (αx1 + (1 − α)x2 ) ≤ αf (x1 ) + (1 − α)f (x2 ) ≤ αy + (1 − α)y = y, kde prvn´ı nerovnost plyne z konvexity funkce a druh´a z nerovnost´ı f (x1 ) ≤ y, f (x2 ) ≤ y. Tedy bod αx1 + (1 − α)x2 patˇr´ı do subkontury, kter´a je proto konvexn´ı mnoˇzina. Obr´acen´a implikace ve Vˇetˇe 14.3 neplat´ı: snadno najdeme funkci, kter´a nen´ı konvexn´ı a jej´ıˇz kaˇzd´a subkontura je konvexn´ı mnoˇzina3 . Pˇr´ıklad je na obr´azku: f
y
0
Vˇ eta 14.4. Funkce f je konvexn´ı pr´avˇe tehdy, kdyˇz jej´ı epigraf je konvexn´ı mnoˇzina. D˚ ukaz. Pˇredpokl´adejme, ˇze funkce f je konvexn´ı. Vezmˇeme dva body (x1 , y1 ) a (x2 , y2 ) z epigrafu, tedy f (x1 ) ≤ y1 a f (x2 ) ≤ y2 . Pro kaˇzd´e 0 ≤ α ≤ 1 plat´ı f (αx1 + (1 − α)x2 ) ≤ αf (x1 ) + (1 − α)f (x2 ) ≤ αy1 + (1 − α)y2, kde prvn´ı nerovnost plyne z konvexity funkce a druh´a nerovnost z f (x1 ) ≤ y1 a f (x2 ) ≤ y2 . Tedy bod α(x1 , y1 ) + (1 − α)(x2 , y2 ) patˇr´ı do epigrafu, kter´y je proto konvexn´ı mnoˇzina. Pˇredpokl´adejme, ˇze epigraf je konvexn´ı mnoˇzina. Tedy pokud body (x1 , y1 ) a (x2 , y2 ) patˇr´ı do epigrafu, pak tak´e bod α(x1 , y1 ) + (1 − α)(x2 , y2) patˇr´ı do epigrafu pro kaˇzd´e 0 ≤ α ≤ 1. Volbou y1 = f (x1 ) a y2 = f (x2 ) m´ame f (αx1 + (1 − α)x2 ) ≤ αy1 + (1 − α)y2 = αf (x1 ) + (1 − α)f (x2 ), proto je funkce f konvexn´ı.
14.3
Operace zachov´ avaj´ıc´ı konvexitu funkc´ı
Operace zachov´avaj´ıc´ı konvexitu funkc´ı umoˇzn ˇuj´ı z jednoduch´ych konvexn´ıch funkc´ı z´ıskat sloˇzitˇejˇs´ı. Konvexitu sloˇzitˇejˇs´ı funkce je ˇcasto snadnˇejˇs´ı dok´azat pohodlnˇeji pomoc´ı tˇechto operac´ı neˇz z Definice 14.1 nebo Vˇet 14.1 a 14.2. 3
Funkce, jej´ıˇz kaˇzd´a subkontura je konvexn´ı mnoˇzina, se naz´ yv´a kvazikonvexn´ı. Kvazikonvexn´ı funkce nejsou zdaleka tak hezk´e jako konvexn´ı funkce.
130
Jsou-li g1 , . . . , gk : Rn → R konvexn´ı funkce a α1 , . . . , αk ≥ 0, je snadn´e dok´azat z Definice 14.1 (proved’te!), ˇze tak´e funkce f = α1 g 1 + · · · + αk g k
(14.6)
je konvexn´ı. Speci´alnˇe, jsou-li f a g konvexn´ı funkce, pak f + g je konvexn´ı. g h Zkoumejme nyn´ı sloˇzenou funkci f (x) = (h ◦ g)(x) = h(g(x)), kde Rn −→ Rm −→ R. Obecnˇe neplat´ı ani v pˇr´ıpadˇe m = n = 1, ˇze konvexita funkc´ı g a h zaruˇcuje konvexitu funkce f . Nutn´e a postaˇcuj´ıc´ı podm´ınky pro konvexitu sloˇzen´e funkce jsou obecnˇe dosti komplikovan´e a nebudeme je uv´adˇet. Uvedeme jen nejd˚ uleˇzitˇejˇs´ı pˇr´ıpad, kdy g je afinn´ı zobrazen´ı. Vˇ eta 14.5. Necht’ funkce h: Rm → R je konvexn´ı. Necht’ A ∈ Rm×n a b ∈ Rm . Pak funkce f (x) = h(Ax + b) je konvexn´ı. D˚ ukaz. Pro kaˇzd´e x, y ∈ Rn a 0 ≤ α ≤ 1 plat´ı f (αx + (1 − α)y) = h(A[αx + (1 − α)y] + b) = h(α(Ax + b) + (1 − α)(Ay + b)) ≤ αh(Ax + b) + (1 − α)h(Ay + b) = αf (x) + (1 − α)f (y).
Pˇ r´ıklad 14.6. Funkce f : R2n → R dan´a vzorcem f (x, y) = kx−yk, kde x, y ∈ Rn , je konvexn´ı funkce argumentu (x, y) ∈ R2n . Ve Vˇetˇe 14.5 vezmeme A = I −I ∈ Rn×(2n) a b = 0. Nejzaj´ımavˇejˇs´ı operace zachov´avaj´ıc´ı konvexitu funkc´ı je maximum.
Vˇ eta 14.6. Necht’ I je libovoln´a mnoˇzina a gi : Rn → R, i ∈ I, jsou konvexn´ı funkce. Pak f (x) = max gi (x)
(14.7)
i∈I
je konvexn´ı funkce, kde pˇredpokl´ad´ame, ˇze pro kaˇzd´e x maximum existuje 4 . D˚ ukaz. Postupujeme podobnˇe jako v Pˇr´ıkladu 14.1: f (αx + (1 − α)y) = max gi (αx + (1 − α)y)
(14.8a)
i∈I
≤ max[αgi (x) + (1 − α)gi (y)]
(14.8b)
≤ max[αgi (x)] + max[(1 − α)gi (y)]
(14.8c)
= α max gi (x) + (1 − α) max gi (y)
(14.8d)
= αf (x) + (1 − α)f (y).
(14.8e)
i∈I
i∈I
i∈I
i∈I
i∈I
Nerovnost (14.8b) plyne z konvexity funkc´ı gi . Nerovnost (14.8c) plyne z nerovnosti (14.4), kterou jsme sice dok´azali jen pro koneˇcnou mnoˇzinu I ale zˇrejmˇe plat´ı i pro nekoneˇcnou I. Rovnost (14.8d) plyne z nez´apornosti α a 1 − α. 4
Pokud pro nˇejak´e x mnoˇzina { gi (x) | i ∈ I } nem´ a nejvˇetˇs´ı prvek (coˇz se m˚ uˇze st´at jen tehdy, je-li mnoˇzina I nekoneˇcn´a), m˚ uˇzeme maximum v (14.7) nahradit supremem a vˇeta st´ale plat´ı.
131
Uved’me jeˇstˇe jin´y d˚ ukaz Vˇety 14.6, kter´y vyuˇz´ıv´a pojem epigrafu. D˚ ukaz. Epigraf funkce f je mnoˇzina { (x, y) ∈ Rn+1 | x ∈ Rn , max gi (x) ≤ y } = { (x, y) ∈ Rn+1 | x ∈ Rn , (∀i ∈ I)(gi (x) ≤ y) } i∈I \ = { (x, y) ∈ Rn+1 | x ∈ Rn , gi (x) ≤ y }, i∈I
unik epigraf˚ u funkc´ı gi . kde jsme vyuˇzili ekvivalence (11.5). Vid´ıme, ˇze epigraf funkce f pr˚ Protoˇze funkce gi jsou konvexn´ı, dle Vˇety 14.4 jsou jejich epigrafy konvexn´ı mnoˇziny. Dle Vˇety 12.1 je pr˚ unik konvexn´ıch mnoˇzin konvexn´ı mnoˇzina. Tedy epigraf funkce (14.7) je konvexn´ı mnoˇzina. Dle Vˇety 14.4 je tedy funkce f konvexn´ı. Pˇ r´ıklad 14.7. Necht’ f (x) = maxni=1 xi je maximum ze sloˇzek x. Konvexitu t´eto funkce jsme dok´azali z Definice 14.1, nicm´enˇe dokaˇzme ji z Vˇety 14.6. M´ame gi (x) = xi . Funkce gi jsou line´arn´ı, tedy konvexn´ı. Tedy funkce f (x) = maxni=1 gi (x) je konvexn´ı. Pˇ r´ıklad 14.8. Funkce
k
f (x) = max(aTi x + bi ) i=1
je maximem afinn´ıch funkc´ı. Tuto funkci jsme jiˇz potkali v §11.1.1. Protoˇze afinn´ı funkce jsou konvexn´ı, je i jejich maximum konvexn´ı. Pˇ r´ıklad 14.9. Necht’ C ⊆ Rn je libovoln´a (ne nutnˇe konvexn´ı) mnoˇzina. Funkce f (x) = max kx − yk y∈C
ud´av´a vzd´alenost bodu x od nejvzd´alenˇejˇs´ıho bodu mnoˇziny C (zde pˇredpokl´ad´ame, ˇze maximum existuje). Dle Vˇety 14.5 je pro kaˇzd´e pevn´e y v´yraz kx − yk konvexn´ı funkc´ı x. Tedy v´yraz kx − yk lze ch´apat jako mnoˇzinu konvexn´ıch funkc´ı x indexovan´ych indexem y (m˚ uˇzeme oznaˇcit kx − yk = gy (x)). Jelikoˇz f je maximem tˇechto funkc´ı, je i funkce f konvexn´ı. Pˇ r´ıklad 14.10. Mˇejme funkci f (c) = max{ cT x | x ∈ Rn , Ax ≥ b }, kter´a vyjadˇruje z´avislost optim´aln´ı hodnoty dan´eho line´arn´ıho programu na vektoru c (viz §11). M´ame f (c) = maxx∈X cT x a X = { x ∈ Rn | Ax ≥ b } (zde pˇredpokl´ad´ame, ˇze pro kaˇzd´e c maximum existuje, neboli mnoˇzina X je nepr´azdn´a a omezen´a). Je-li x pevn´e, je cT x line´arn´ı funkce vektoru c. Funkce f je tedy maximum nekoneˇcn´eho mnoˇzstv´ı line´arn´ıch funkc´ı, tedy je konvexn´ı. Pˇ r´ıklad 14.11. Necht’ a1 , . . . , an ∈ Rm , b1 , . . . , bn ∈ R a w = (w1 , . . . , wn ) ∈ Rn je vektor nez´aporn´ych vah. Pˇribliˇzn´e ˇreˇsen´ı soustavy aTi x = bi , i = 1, . . . , n, ve smyslu v´aˇzen´ych nejmenˇs´ıch ˇctverc˚ u (viz §5.4) znamen´a vypoˇc´ıtat f (w) = minm x∈R
n X i=1
wi (aTi x − bi )2 ,
kde jsme oznaˇcili hodnotu v´ysledn´eho minima jako funkci vektoru vah. Funkce f je konk´avn´ı, protoˇze je minimem line´arn´ıch funkc´ı. 132
14.4
Cviˇ cen´ı
14.1. Pro kaˇzdou funkci f : Rn → R dokaˇzte z Definice 14.1, kter´e z tˇechto ˇctyˇr tvrzen´ı plat´ı: funkce je konvexn´ı, konk´avn´ı, konvexn´ı i konk´avn´ı, ani konvexn´ı ani konk´avn´ı. a) b) c) d)
f (x) = aT x + b f (x) = xT x f (x) = aritmetick´y pr˚ umˇer ˇc´ısel x1 , . . . , xn n f (x) = mediani=1 xi (medi´an ˇc´ısel x1 , . . . , xn )
14.2. Pro kaˇzdou funkci dokaˇzte, kter´e z tˇechto ˇctyˇrech tvrzen´ı plat´ı: funkce je konvexn´ı, konk´avn´ı, konvexn´ı i konk´avn´ı, ani konvexn´ı ani konk´avn´ı. M˚ uˇzete to dok´azat bud’ z Definice 14.1, pomoc´ı derivac´ı, nebo pomoc´ı operac´ı zachov´avaj´ıc´ıch konvexitu. a) b) c) d) e) f) g) h) i) j) k)
2
f (x) = ex 2 f (x) = e−x f (x, y) = |x − y| f (x, y) = −y f (x) = kAx − bk22 P f (x) = ni=1 xi log xi na mnoˇzinˇe Rn++ P f (x) = ki=1 log(bi − aTi x) na mnoˇzinˇe X = { x ∈ Rn | aTi x < bi , i = 1, . . . , k } f (x) = minni=1 |xi | f (x) = maxni=1 xi + minni=1 xi f (x) = maxni=1 xi − minni=1 xi (⋆) f (x) = souˇcet k nejvˇetˇs´ıch ˇc´ısel x1 , . . . , xn (kde k ≤ n je d´ano)
14.3. Robustn´ı prokl´ad´an´ı pˇr´ımky mnoˇzinou bod˚ u (xi , yi ) ∈ (Rn × R), i = 1, . . . , m vyˇzaduje minimalizaci funkce m X f (a, b) = max{−aT xi + b + yi − ε, 0 , aT xi + b − yi − ε}, i=1
n
kde a ∈ R a b ∈ R. Dokaˇzte, ˇze f (a, b) je konvexn´ı funkce.
14.4. Je d´ana funkce f (x) = − cos x a mnoˇzina X = [−π, +π] (kde [·] znaˇc´ı uzavˇren´y interval). Zakrouˇzkujte pravdiv´a tvrzen´ı (m˚ uˇze jich b´yt i v´ıce): a) Funkce f je na mnoˇzinˇe X konvexn´ı. b) Funkce f je na mnoˇzinˇe X konk´avn´ı. c) Funkce f nen´ı na mnoˇzinˇe X ani konvexn´ı ani konk´avn´ı. 14.5. Kaˇzd´y z obr´azk˚ u zobrazuje nˇekter´e vrstevnice funkce dvou promˇenn´ych a jejich v´yˇsky. Je moˇzn´e, aby funkce, kter´a m´a tyto vrstevnice, byla konvexn´ı? Dokaˇzte z Definice 14.1.
1
2
3
1
133
2
3
14.6. Co je subkontura v´yˇsky 2 funkce jedn´e promˇenn´e f (x) = x2 − x?
14.7. Zkuste dok´azat z Definice 14.1 konvexitu ˇci konkavitu funkc´ı z Pˇr´ıkladu 14.4. Jestliˇze to nesvedete, dokaˇzte jejich konvexitu ˇci konkavitu pomoc´ı Vˇet 14.1 a 14.2. 14.8. Dokaˇzte, ˇze u ´ˇcelov´e funkce vystupuj´ıc´ı v n´asleduj´ıc´ıch u ´loh´ach jsou nekonvexn´ı: a) Pˇr´ıklad 10.6 b) Cviˇcen´ı 10.3
N´ apovˇ eda a ˇ reˇ sen´ı 14.1.a) Konvexn´ı i konk´avn´ı, nerovnost (14.1) plat´ı s rovnost´ı. 14.1.b) Je konvexn´ı, nen´ı kokn´avn´ı. 14.1.c) Konvexn´ı i konk´avn´ı, nerovnost (14.1) plat´ı s rovnost´ı. 14.1.d) Pro n ≤ 2 konvexn´ı i konk´avn´ı, pro n > 2 ani konvexn´ı ani konk´avn´ı.
yˇsky 1 a 3. Zvolte chytˇre α. Odpovˇed’: ne, ano. 14.5. V Definici 14.1 zvolte x, y na vrstevnic´ıch v´ 14.7. Interval [−1, 2].
134
Kapitola 15 Konvexn´ı optimalizaˇ cn´ı u ´ lohy Naj´ıt glob´aln´ı minimum funkce na mnoˇzinˇe je obvykle mnohem tˇeˇzˇs´ı neˇz naj´ıt nˇejak´e lok´aln´ı minimum. Mohli bychom si myslet, ˇze glob´aln´ı mimimum najdeme tak, ˇze najdeme vˇsechna lok´aln´ı minima a vybereme to, pro kter´e je u ´ˇcelov´a funkce nejmenˇs´ı. Probl´em je v tom, ˇze lok´aln´ıch minim m˚ uˇze b´yt velmi mnoho. ˇ sme u Pˇ r´ıklad 15.1. Reˇ ´lohu max{ xT x | x ∈ [−1, 1]n },
(15.1)
tedy maximalizujeme konvexn´ı funkci xT x na hyperkrychli [−1, 1]n . Je jasn´e (nakreslete si obr´azek pro n = 2, tedy pro ˇctverec!), ˇze funkce m´a lok´aln´ı maximum v kaˇzd´em vrcholu ´loha m´a 2n lok´aln´ıch maxim. hyperkrychle. Jelikoˇz hyperkrychle m´a 2n vrchol˚ u (viz §12.3.3), u V tomto symetrick´em pˇr´ıpadˇe glob´aln´ı maximum snadno najdeme u ´vahou. Uvaˇzme vˇsak m´ırnou modifikaci u ´lohy: min{ xT Ax | x ∈ [−1, 1]n }. (15.2) n×n kde A ∈ Z (tedy matice m´a celoˇc´ıseln´e prvky). Nalezen´ı glob´aln´ıho maxima t´eto u ´lohy je pravdˇepodobnˇe velmi tˇeˇzk´e, v n´asleduj´ıc´ım smyslu. ˇ Rekneme, ˇze dan´y algoritmus ˇreˇs´ı u ´lohu (15.2) v polynomi´aln´ım ˇcase 1 , jestliˇze existuje polynom p takov´y, ˇze algoritmus pro kaˇzdou matici A skonˇc´ı v ˇcase menˇs´ım neˇz p(L), kde L je poˇcet bit˚ u potˇrebn´ych k z´apisu vˇsech prvk˚ u aij matice A v bin´arn´ım k´odu. Algoritmus, kter´y by ˇreˇsil u ´lohu v polynomi´aln´ım ˇcase, nen´ı zn´am. Vˇ eta 15.1. Necht’ funkce f : Rn → R je konvexn´ı na konvexn´ı mnoˇzinˇe X ⊆ Rn . Pak kaˇzd´e lok´aln´ı minimum funkce f na mnoˇzinˇe X je z´aroveˇ n glob´aln´ı. D˚ ukaz. Necht’ x je lok´aln´ım minimem f na X, viz obr´azek: U
x
x∗
y
X 1
Zde se dot´ yk´ame teorie sloˇzitosti algoritm˚ u, kterou budete br´at aˇz pozdˇeji.
135
Dle Definice 9.2 tedy existuje okol´ı U bodu x tak, ˇze f (x) ≤ f (y) pro vˇsechna y ∈ U ∩ X. Necht’ ale x nen´ı glob´aln´ı minimum, tedy existuje x∗ ∈ X takov´e, ˇze f (x∗ ) < f (x). Uk´aˇzeme, ˇze to vede ke sporu. M˚ uˇzeme totiˇz zvolit 0 < α < 1 tak, ˇze bod y = αx + (1 − α)x∗ leˇz´ı v U. Protoˇze je mnoˇzina X konvexn´ı, leˇz´ı bod y z´aroveˇ n i v X. M´ame f (y) = f (αx + (1 − α)x∗ ) ≤ αf (x) + (1 − α)f (x∗ ) < αf (x) + (1 − α)f (x) = f (x). Ale tvrzen´ı f (y) < f (x) je ve sporu s pˇredpokladem, ˇze x je lok´aln´ı minimum.
Vˇeta 15.1 tedy definuje tˇr´ıdu u ´loh, pro kter´e n´am staˇc´ı naj´ıt libovoln´e lok´aln´ı minimum, ´ abychom naˇsli glob´aln´ı minimum. Uloze, ve kter´e minimalizujeme konvexn´ı funkci na konvexn´ı mnoˇzinˇe, se ˇr´ık´a konvexn´ı optimalizaˇ cn´ı u ´ loha. Uvaˇzujme nyn´ı obecnou u ´lohu spojit´e optimalizace ve standarn´ım tvaru (1.7), min{ f (x) | x ∈ Rn , g(x) ≤ 0, h(x) = 0 } neboli
min
(15.3)
f (x1 , . . . , xn )
za podm´ınek gi (x1 , . . . , xn ) ≤ 0, i = 1, . . . , m hi (x1 , . . . , xn ) = 0, i = 1, . . . , l kde f : Rn → R, (g1 , . . . , gm ) = g: Rn → Rm , (h1 , . . . , hl ) = h: Rn → Rl . Mnoˇzina pˇr´ıpustn´ych ˇreˇsen´ı t´eto u ´lohy je konvexn´ı, jestliˇze funkce f, g1 , . . . , gm jsou konvexn´ı a funkce h1 , . . . , hl jsou afinn´ı (tedy zobrazen´ı h je afinn´ı). Tato mnoˇzina je totiˇz pr˚ unik mnoˇzin { x ∈ Rn | gi (x) ≤ 0 } (kter´e jsou konvexn´ı, nebot’ jsou to subkontury konvexn´ı funkce gi ) a { x ∈ Rn | h(x) = 0 } (coˇz je afinn´ı podprostor, tedy tak´e konvexn´ı). Podm´ınka, ˇze funkce f, g1 , . . . , gm jsou konvexn´ı a zobrazen´ı h je afinn´ı, je postaˇcuj´ıc´ı ale nikoliv nutn´a pro konvexitu mnoˇziny pˇr´ıpustn´ych ˇreˇsen´ı. Pˇ r´ıklad 15.2. Uvaˇzujme dvˇe ekvivalentn´ı definice t´eˇze mnoˇziny { x ∈ R2 | x1 /(1 + x22 ) ≤ 0, (x1 + x2 )2 = 0 } = { x ∈ R2 | x1 ≤ 0, x1 + x2 = 0 }. Oba tvary definuj´ı stejnou mnoˇzinu (proˇc?). V prvn´ım tvaru funkce g(x) = x1 /(1 + x22 ) nen´ı konvexn´ı a funkce h(x) = (x1 + x2 )2 nen´ı afinn´ı. Pˇresto je mnoˇzina konvexn´ı, coˇz je vidˇet ze druh´eho tvaru. ´ Uloze tvaru (15.3), ve kter´e jsou funkce f, g1 , . . . , gm konvexn´ı a zobrazen´ı h afinn´ı, ˇr´ık´ame konvexn´ı optimalizaˇ cn´ı u ´ loha ve standardn´ım tvaru.
15.1
Ekvivalentn´ı transformace u ´ lohy
Dvˇe u ´lohy ve tvaru (15.3) nazveme ekvivalentn´ı, kdyˇz se z mnoˇziny optim´aln´ıch ˇreˇsen´ı jedn´e d´a ’snadno’ (v line´arn´ım ˇcase) z´ıskat mnoˇzina optim´aln´ıch ˇreˇsen´ı druh´e. Ekvivalentn´ı transformace je pak kaˇzd´a transformace u ´lohy, jej´ımˇz v´ysledkem je u ´loha ekvivalentn´ı. D´ale uvedeme pˇr´ıklady ekvivalentn´ıch transformac´ı. U kaˇzd´e poznamen´ame, zda zachov´av´a konvexitu u ´lohy.
136
Zmˇ ena promˇ enn´ ych Necht’ ϕ: Rn → Rn je bijektivn´ı zobrazen´ı (viz §1.1.2). Pak u ´loha (15.3) je ekvivalentn´ı u ´loze min{ f (ϕ(x)) | x ∈ Rn , g(ϕ(x)) ≤ 0, h(ϕ(x)) = 0 }. Tato transformace nemus´ı zachovat konvexitu u ´lohy. Monot´ onn´ı transformace u ´ˇ celov´ e funkce Necht’ ψ: R → R je monot´onn´ı rostouc´ı funkce. Pak min{ f (x) | x ∈ X } = min{ ψ(f (x)) | x ∈ X }. Tato transformace nemus´ı zachovat konvexitu funkce f . Pˇ r´ıklad 15.3. Tuto transformaci jsme jiˇz nˇekolikr´at pouˇzili v nejmenˇs´ıch ˇctverc´ıch. M´ame minimalizovat napˇr. funkci f (x) = kAx − bk2 , ale zvol´ıme ψ(y) = y 2 a minimalizujeme funkci ψ(f (x)) = kAx − bk22 = (Ax − b)T (Ax − b). Nov´a funkce m´a v´yhodu, ˇze je na rozd´ıl od star´e diferencovateln´a, a to pˇri zachov´an´ı konvexity. Slackov´ e promˇ enn´ e ´loze Podobnˇe jako v line´arn´ım programov´an´ı, u ´loha (15.3) je ekvivalentn´ı u min{ f (x) | x ∈ Rn , s ∈ Rm , s ≥ 0, g(x) + s = 0, h(x) = 0 }. Transformace zachov´a konvexitu u ´lohy jen v pˇr´ıpadˇe, kdy g(x) + s je afinn´ı zobrazen´ı vektoru (x, s), tedy kdy zobrazen´ı g je afinn´ı, Epigrafov´ y tvar ´ Ulohu (15.3) je ekvivalentn´ı u ´loze min{ y | x ∈ Rn , y ∈ R, f (x) − y ≤ 0, g(x) ≤ 0, h(x) = 0 }. Tato transformace zachov´av´a konvexitu u ´lohy. Plyne z n´ı d˚ uleˇzit´e pozorov´an´ı, ˇze kaˇzdou optimalizaˇcn´ı u ´lohu lze pˇrev´est na u ´lohu s line´arn´ı u ´ˇcelovou funkc´ı.
15.2
Tˇ r´ıdy konvexn´ıch optimalizaˇ cn´ıch u ´ loh
Optimalizaˇcn´ı u ´lohy ve tvaru (15.3) se taxonomizuj´ı podle druhu funkc´ı f, gi , hi . Pro kaˇzdou tˇr´ıdu existuj´ı specializovan´e algoritmy schopn´e naj´ıt lok´aln´ı minimum2 .
15.2.1
Line´ arn´ı programov´ an´ı (LP)
V line´arn´ım programov´an´ı jsou vˇsechny funkce f, gi , hi afinn´ı. Jde tedy v jist´em smyslu o nejjednoduˇs´ı pˇr´ıpad konvexn´ı optimalizaˇcn´ı u ´lohy. Pˇresto jsme vidˇeli v Kapitole 11, ˇze jiˇz tento jednoduch´y pˇr´ıpad m´a velmi mnoho aplikac´ı. 2
Viz napˇr. http://www.neos-guide.org.
137
15.2.2
Kvadratick´ e programov´ an´ı (QP)
V kvadratick´em programov´an´ı jsou funkce gi , hi afinn´ı a funkce f je kvadratick´a konvexn´ı, tedy f (x) = xT Ax + bT x + c kde A je pozitivnˇe semidefinitn´ı (viz Pˇr´ıklad 14.5). Pˇ r´ıklad 15.4. Pˇri ˇreˇsen´ı soustavy ve smyslu nejmenˇs´ıch ˇctverc˚ u (§5.1) poˇc´ıt´ame konvexn´ı QP 2 n ´lohu lze vˇselijak modifikovat, napˇr. m˚ uˇzeme pˇridat bez omezen´ı minx∈R kAx − bk2 . Tuto u omezen´ı c ≤ x ≤ d, tj. kaˇzd´a promˇenn´a xj mus´ı b´yt v intervalu [cj , dj ]. To vede na konvexn´ı QP s omezen´ımi. Pˇ r´ıklad 15.5. Hled´an´ı ˇreˇsen´ı pˇreurˇcen´e line´arn´ı soustavy s nejmenˇs´ı normou (§5.2) vede na u ´lohu min{ xT x | Ax = b }, coˇz je konvexn´ı QP. Pˇ r´ıklad 15.6. Chceme spoˇc´ıtat vzd´alenost d(P1 , P2 ) = min{ kx1 − x2 k2 | x1 ∈ P1 , x2 ∈ P2 } ´ dvou konvexn´ıch polyedr˚ u P1 = { x ∈ Rn | A1 x ≤ b1 }, P2 = { x ∈ Rn | A2 x ≤ b2 }. Uloha vede na QP d(P1 , P2 )2 = min{ kx1 − x2 k22 | x1 , x2 ∈ Rn , A1 x1 ≤ b1 , A2 x2 ≤ b2 }.
Pˇ r´ıklad 15.7. Je d´ano m bod˚ u v Rn , z nichˇz kaˇzd´y patˇr´ı do jedn´e ze dvou tˇr´ıd, oznaˇcen´ych −1 a 1. Jin´ymi slovy, je d´ana mnoˇzina dvojic (xi , yi ) ∈ Rn × {−1, 1} pro i = 1, . . . , m. V u ´loze line´arn´ı klasifikace hled´ame nadrovinu, kter´a oddˇeluje body z obou tˇr´ıd. Tedy hled´ame a ∈ Rn a b ∈ R takov´e, aby aT xi − b < 0 pro yi = −1, aT xi − b > 0 pro yi = 1,
coˇz lze napsat jako yi (aT xi − b) > 0,
i = 1, . . . , m.
yi (aT xi − b) ≥ 1,
i = 1, . . . , m.
(15.4)
Oznaˇcme εi = yi (aT xi −b) a vydˇelme vektor (a, b) kladn´ym ˇc´ıslem minm i=1 εi . Pak soustavu (15.4) m˚ uˇzeme ekvivalentnˇe ps´at jako (15.5)
Hled´ame-li libovolnou oddˇeluj´ıc´ı nadrovinu, staˇc´ı n´am naj´ıt libovoln´e ˇreˇsen´ı soustavy nerovnic (15.5). Soustava ale nav´ıc ˇr´ık´a, ˇze body jsou oddˇeleny p´asem { x ∈ Rn | −1 ≥ aT x − b ≥ 1 }: aT x − b = −1 aT x − b = 1
2/kak2
Snadno spoˇc´ıt´ame (srov. Cviˇcen´ı 5.18), ˇze ˇs´ıˇrka p´asu je 2/kak2 . V u ´loze support vector machine (SVM) naj´ıt rozdˇeluj´ıc´ı nadrovinu kter´a maximalizuje ˇs´ıˇrku p´asu, tedy minimalizuje kak22 = aT a ´loha QP. za podm´ınek (15.5). To je u 138
15.2.3
Kvadratick´ e programov´ an´ı s kvadratick´ ymi omezen´ımi (QCQP)
Obecnˇejˇs´ı variantou je kvadratick´e programov´an´ı s kvadratick´ymi omezen´ımi (QCQP, quadratically constrained quadratic programming), kde funkce f, gi jsou kvadratick´e konvexn´ı a funkce hi jsou afinn´ı.
15.2.4
Programov´ an´ı na kuˇ zelu druh´ eho ˇ r´ adu (SOCP)
V u ´loze programov´an´ı na kuˇzelu druh´eho ˇr´adu (SOCP, second-order cone programming) jsou funkce f, hi afinn´ı a funkce gi maj´ı tvar gi (x) = kAi x + bi k2 − (cTi x + di ).
(15.6)
Tedy u ´loha SOCP m´a tvar (vynech´av´ame afinn´ı omezen´ı hi (x) = 0) min eT x za podm´ınek kAi x + bi k2 ≤ cTi x + di , i = 1, . . . , m. Funkce gi jsou konvexn´ı (nebot’ norma je konvexn´ı funkce, d´ale viz Vˇeta 14.5). Podm´ınku gi (x) ≤ 0 lze ps´at tak´e jako (Ai x + bi , cTi x + di ) ∈ K2n , kde konvexn´ı mnoˇzina K2n = { (x, y) ∈ Rn+1 | kxk2 ≤ y } je epigraf Euklidovsk´e normy k · k2 (kter´a je konvexn´ı funkce, viz Pˇr´ıklad 14.4), kter´emu se tak´e ˇr´ık´a kuˇzel druh´eho ˇr´adu. Pro Ai = 0 se podm´ınka gi (x) ≤ 0 stane line´arn´ı nerovnic´ı. Pro ci = 0 se podm´ınka gi (x) ≤ 0 po umocnˇen´ı na druhou stane konvexn´ı kvadratick´a. Tedy LP a QCQP jsou speci´aln´ı pˇr´ıpady SOCP. Pˇ r´ıklad 15.8. Jsou d´any body a1 , . . . , am ∈ Rn a chceme minimalizovat funkci f (x) =
m X i=1
kx − ai k2
(15.7)
ˇ sen´ı t´eto u pˇres x ∈ RnP . Reˇ ´lohy je zn´amo jako geometrick´y medi´an. Pro n = 1 se funkce redukuje m na f (x) = i=1 |x − ai |, jej´ımˇz minimem je obyˇcejn´y medi´an. ´ Uloha je konvexn´ı, ale nelze ji pˇrev´est na LP, QP ani QCQP. Po zaveden´ı pomocn´ych promˇenn´ych zi (podobn´a u ´prava jako v §11.1.1) ji lze formulovat jako SOCP: min z1 + · · · + zm za podm´ınek kx − ai k2 ≤ zi , i = 1, . . . , m. Pro pˇr´ıpad n = 2 m´a u ´loha jednoduch´y mechanick´y model3 . Do vodorovn´eho prkna vyvrt´ame d´ıry o souˇradnic´ıch ai . Kaˇzdou d´ırou provleˇceme prov´azek. Prov´azky jsou nahoˇre sv´azan´e uzlem do jednoho bodu a dole maj´ı z´avaˇz´ı o stejn´e hmotnosti. Poloha uzlu je x. Hodnota f (x) je potenci´aln´ı energie soustavy a ust´alen´y stav odpov´ıd´a minimu f (x). 3 Toto mechanick´e zaˇr´ızen´ı, zn´am´e jako Varignon frame, se v minulosti opravdu pouˇz´ıvalo na ˇreˇsen´ı u ´ lohy. ´ Uloha m´a bohatou historii, je zn´ama tak´e jako Fermat-Weber˚ uv probl´em.
139
15.2.5
Semidefinitn´ı programov´ an´ı (SDP)
Vˇ eta 15.2. Mnoˇzina vˇsech pozitivnˇe semidefinitn´ıch matic rozmˇeru n × n je konvexn´ı kuˇzel. D˚ ukaz. Necht’ pro A, B ∈ Rn×n a x ∈ Rn je xT Ax ≥ 0 a xT Bx ≥ 0. Pak pro kaˇzd´e α, β ≥ 0 xT (αA + βB)x = αxT Ax + βxT Bx ≥ 0.
Konvexn´ı kuˇzel je konvexn´ı mnoˇzina. To umoˇzn ˇuje formulovat tˇr´ıdu konvexn´ıch u ´loh zn´amou jako semidefinitn´ı programov´an´ı (SDP). Jednou z moˇzn´ych formulac´ı je min C · X za podm´ınek X je pozitivnˇe semidefinitn´ı Ai · X = bi , i = 1, . . . , m.
(15.8)
kde matice C, Ai ∈ Rn×n a skal´ary bi jsou d´any a optimalizujeme pˇres pozitivnˇe semidefinitn´ı matice X ∈ Rn×n . Operace n X n X Aij Xij A·X = i=1 j=1
oznaˇcuje skal´arn´ı souˇcin matic. SDP je velmi obecn´a tˇr´ıda konvexn´ıch u ´loh. Lze uk´azat, ˇze konvexn´ı u ´lohy LP, QP, QCQP i SOCP jsou speci´aln´ı pˇr´ıpady SDP. Pro ilustraci uk´aˇzeme, ˇze pokud matice C, Ai jsou diagon´aln´ı, u ´loha (15.8) se redukuje na LP. V tom pˇr´ıpadˇe v souˇcinech C · X a Ai · X nediagon´aln´ı prvky matice X nehraj´ı ˇz´adnou roli. Diagon´aln´ı matice je pozitivnˇe semidefinitn´ı pr´avˇe tehdy, kdyˇz vˇsechny jej´ı prvky jsou nez´aporn´e (viz Cviˇcen´ı 6.19). Tedy u ´loha (15.8) se redukuje na min{ cT x | x ∈ Rn , x ≥ 0, aTi x = bi ∀i = 1, . . . , m }, kde vektory c, ai ∈ Rn jsou diagon´aly matic C, Ai . Nˇekter´e konvexn´ı u ´lohy nepatˇr´ı do ˇz´adn´e z uveden´ych tˇr´ıd. Pˇ r´ıklad 15.9. Analytick´y stˇred soustavy nerovnic X = { x ∈ Rn | Ax ≥ b } je bod, kter´y maximalizuje funkci m X f (x) = log(aTi x − bi ) (15.9) i=1
aTi
na vnitˇrku mnoˇziny X, kde jsou ˇr´adky matice A. Pokud je polyedr X nepr´azdn´y a omezen´y, u ´loha m´a maximum a toto maximum je jedin´e. Kaˇzdou nerovnici aTi x ≥ bi vydˇelme nez´aporn´ym ˇc´ıslem tak, aby kai k2 = 1. Nyn´ı aTi x − bi ˇ ıslo f (x) je tedy logaritmus souˇcinu vzd´alenost´ı je vzd´alenost bodu x od nadroviny aTi x = bi . C´ bodu x od nadrovin. Analytick´y stˇred tedy minimalizuje souˇcin tˇechto vzd´alenost´ı.
15.3
Cviˇ cen´ı
15.1. V´yznamnou vlastnost´ı konvexn´ıch funkc´ı je to, ˇze kaˇzd´e lok´aln´ı minimum funkce je z´aroveˇ n ˇ glob´aln´ı (Vˇeta 15.1). Ne kaˇzd´a funkce s touto vlastnost´ı je ovˇsem konvexn´ı. Clovˇek by si mohl myslet, ˇze souˇcet dvou funkc´ı (ne nutnˇe konvexn´ıch) s touto vlastnost´ı bude m´ıt tuto vlastnost tak´e. Je toto tvrzen´ı pravdiv´e? Odpovˇed’ dokaˇzte. 140
15.2. Dokaˇzte, ˇze mnoˇzina optim´aln´ıch ˇreˇsen´ı konvexn´ı optimalizaˇcn´ı u ´lohy je konvexn´ı. 15.3. Mˇejme u ´lohu min{ f (x, y) | x, y ≥ 0, 2x + y ≥ 1, x + 3y ≥ 1 }.
Nakreslete mnoˇzinu pˇr´ıpustn´ych ˇreˇsen´ı. Pro kaˇzdou z n´asleduj´ıc´ıch u ´ˇcelov´ych funkc´ı najdˇete u ´vahou mnoˇzinu optim´aln´ıch ˇreˇsen´ı a optim´aln´ı hodnotu: a) b) c) d) e) f)
f (x, y) = x + y f (x, y) = x f (x, y) = min{x, y} f (x, y) = max{x, y} f (x, y) = |x + y| f (x, y) = x2 + 9y 2
V kter´ych pˇr´ıpadech se jedn´a o konvexn´ı optimalizaˇcn´ı u ´lohu? 15.4. Uvaˇzujme u ´lohu, zn´amou jako line´arn´ı lomen´e programov´an´ı: min (cT x + d)/(eT x + f ) Ax ≥ b e x+f > 0
za podm´ınek
T
a) Je u ´ˇcelov´a funkce na mnoˇzinˇe pˇr´ıpustn´ych ˇreˇsen´ı konvexn´ı? b) Dokaˇzte, ˇze u ´loha je ekvivalentn´ı line´arn´ımu programu (s promˇenn´ymi x, z) min cT y + dz za podm´ınek
Ay ≥ bz e y + fz = 1 z≥0 T
15.5. Najdˇete explicitn´ı ˇreˇsen´ı pro n´asleduj´ıc´ı u ´lohy QCQP (A, B jsou pozitivnˇe definitn´ı): a) min{ cT x | x ∈ Rn , xT Ax ≤ 1 } b) min{ cT x | x ∈ Rn , (x − b)T A(x − b) ≤ 1 } c) min{ xT Bx | x ∈ Rn , xT Ax ≤ 1 } 15.6. Formulujte u ´lohu minx∈Rn kAx − bk4 jako konvexn´ı QCQP.
15.7. Dokaˇzte, ˇze pro libovoln´y vektor x ∈ Rn a skal´ary y ≥ 0, z ≥ 0 plat´ı xT x ≤ yz
⇐⇒
k(2x, y − z)k2 ≤ y + z.
Uvaˇzujte u ´lohu, kdy maximalizujeme harmonick´y pr˚ umˇer afinn´ıch fukc´ı, tedy funkci m X −1 f (x) = (aTi x − bi )−1 i=1
aTi x
za podm´ınek > bi . Je tato u ´loha (po moˇzn´e jednoduch´e transformaci) konvexn´ı? Vyj´adˇrete u ´lohu jako SOCP pomoc´ı dok´azan´e ekvivalence. 15.8. (⋆) M´ame konvexn´ı funkci jedn´e promˇenn´e f : R → R. D´ame do grafu funkce ˇzebˇr´ık o d´elce 1 tak, aby oba konce leˇzely na grafu. Pˇredpokl´ad´ame-li, ˇze tˇren´ı mezi ˇzebˇr´ıkem a grafem je nulov´e, zaujme ˇzebˇr´ık stav lok´aln´ıho minima potenci´aln´ı energie (kter´a je pˇr´ımo u ´mˇern´a v´yˇsce stˇredu ˇzebˇr´ıku). Zformulujte jako optimalizaˇcn´ı u ´lohu. Bude tato u ´loha konvexn´ı? Zkuste naj´ıt situaci, kdy potenci´aln´ı energie bude m´ıt v´ıce neˇz jedno lok´aln´ı minimum. 141
N´ apovˇ eda a ˇ reˇ sen´ı 15.4.a) Ne. 15.4.b) Uvaˇzujte substituci y = x/(eT x + f ), z = /(eT x + f ). 15.5.a) Viz Cviˇcen´ı 11.5. 15.5.b) Substituujte y = x − b.
15.5.c) Optim´aln´ı hodnota je nula. 15.7. M´ısto maximalizace funkce f (x) minimalizujme funkci 1/f (x), kter´a je konvexn´ı na mnoˇzinˇe ´ pˇr´ıpustn´ ych hodnot. Uloha je ekvivalentn´ı u ´ loze min t1 + · · · + tm
za podm´ınek
ti (aTi x − bi ) ≥ 1, i = 1, . . . , m ti ≥ 0, i = 1, . . . , m.
Pouˇzit´ım dok´azan´e ekvivalence pˇrevedeme na SOCP min t1 + · · · + tm
za podm´ınek
k(2, aTi x − bi − ti )k2 ≥ aTi x − bi + ti , i = 1, . . . , m aTi x ≥ bi , i = 1, . . . , m ti ≥ 0, i = 1, . . . , m.
142
Kapitola 16 Dualita v line´ arn´ım programov´ an´ı Ke kaˇzd´e u ´loze LP lze sestavit podle jist´eho postupu jinou u ´lohu LP. Novou u ´lohu naz´yv´ame du´ aln´ı, p˚ uvodn´ı u ´lohu naz´yv´ame prim´ arn´ı ˇci pˇ r´ımou. Konstrukce je symetrick´a (viz Cvi´loha k du´aln´ı u ´loze je p˚ uvodn´ı u ´loha. Tedy m´a smysl ˇr´ıkat, ˇze prim´arn´ı a ˇcen´ı 16.1): du´aln´ı u du´aln´ı u ´loha jsou navz´ajem du´aln´ı. Dvojice du´aln´ıch u ´loh je sv´az´ana zaj´ımav´ymi vztahy.
16.1
Konstrukce du´ aln´ı u ´ lohy
´loha z´ısk´a dle tohoto postupu: Ku ´loze LP v obecn´em tvaru (viz §11.1) se du´aln´ı u P P min cj xj max bi yi j∈J
za podm.
P
i∈I
yi ∈ R,
i ∈ I0
aij xj ≥ bi
yi ≥ 0 ,
i ∈ I+
aij xj ≤ bi
yi ≤ 0 ,
i ∈ I−
aij yi = cj ,
j ∈ J0
aij yi ≤ cj ,
j ∈ J+
aij yi ≥ cj ,
j ∈ J−
aij xj = bi
za podm.
j∈J
P
j∈J
P
j∈J
P
xj ∈ R
i∈I
P
xj ≥ 0
i∈I
P
xj ≤ 0
i∈I
V lev´em sloupci je prim´arn´ı u ´loha, v prostˇredn´ım sloupci je z n´ı vytvoˇren´a du´aln´ı u ´loha. V prav´em sloupci jsou mnoˇziny index˚ u pro obˇe u ´lohy: I = {1, . . . , m} = I0 ∪ I+ ∪ I− je indexov´a mnoˇzina prim´arn´ıch omezen´ı a du´aln´ıch promˇenn´ych, J = {1, . . . , n} = J0 ∪J+ ∪J− je indexov´a mnoˇzina prim´arn´ıch promˇenn´ych a du´aln´ıch omezen´ı. P Vˇsimnˇete si symetrie: i-t´emu prim´arn´ımu omezen´ı j aij xj ≥ bi odpov´ıd´a du´aln´ıP promˇenn´a yi ≥ 0. Opaˇcnˇe, j-t´a prim´arn´ı promˇenn´a xj ≥ 0 odpov´ıd´a j-t´emu du´aln´ımu omezen´ı i aij yi ≤ cj . Podobnˇe pro ostatn´ı ˇr´adky. Pro speci´aln´ı tvary LP se dvojice du´aln´ıch u ´loh pˇrehlednˇeji nap´ıˇse v maticov´e formˇe. Napˇr. pro I0 = I− = J0 = J− = ∅ obdrˇz´ıme min cT x za podm. Ax ≥ b x≥0
max bT y za podm. y≥0 T A y≤c
143
(16.1)
16.2
Vˇ ety o dualitˇ e
N´asleduj´ıc´ı vˇety plat´ı pro obecn´y tvar LP, ale d˚ ukazy udˇel´ame pouze pro speci´aln´ı tvar (16.1). V d˚ ukazech si vˇsimnˇete, ˇze bT y = yT b a AT y ≤ c je tot´eˇz jako yT A ≤ cT . Vˇ eta 16.1 (o slab´ e dualitˇ e). Necht’ x je pˇr´ıpustn´e prim´arn´ı ˇreˇsen´ı a y pˇr´ıpustn´e du´aln´ı ˇreˇsen´ı. Pak cT x ≥ bT y. D˚ ukaz. D´ıky pˇr´ıpustnosti x a y plat´ı yT A ≤ cT a x ≥ 0, z ˇcehoˇz plyne yT Ax ≤ cT x. Podobnˇe, d´ıky pˇr´ıpustnosti x a y plat´ı Ax ≥ b a y ≥ 0, z ˇcehoˇz plyne yT Ax ≥ yT b. Z toho cT x ≥ yT Ax ≥ yT b.
(16.2)
Vˇ eta 16.2 (o siln´ e dualitˇ e). Prim´arn´ı u ´loha m´a optim´aln´ı ˇreˇsen´ı pr´avˇe tehdy, kdyˇz m´a du´aln´ı u ´loha optim´aln´ı ˇreˇsen´ı. M´a-li prim´arn´ı u ´loha optim´aln´ı ˇreˇsen´ı x a du´aln´ı u ´loha optim´aln´ı T T ˇreˇsen´ı y, plat´ı c x = b y. D˚ ukaz vˇety o siln´e dualitˇe nen´ı jednoduch´y a vynech´ame jej. Vˇety o slab´e a siln´e dualitˇe maj´ı jasnou interpretaci: pro pˇr´ıpustn´a x a y nen´ı hodnota du´aln´ı u ´ˇcelov´e funkce nikdy vˇetˇs´ı neˇz hodnota prim´arn´ı u ´ˇcelov´e funkce a tyto hodnoty se potkaj´ı ve spoleˇcn´em optimu: mo zn e hodnoty
yT b pro prpustna y
mo zn e hodnoty
T x
pro p r pustn a
x
spole ne optimum T x = yT b
Vˇ eta 16.3 (o komplementaritˇ e). Necht’ x je pˇr´ıpustn´e prim´arn´ı ˇreˇsen´ı a y pˇr´ıpustn´e du´aln´ı T T ˇreˇsen´ı. Pak c x = b y pr´avˇe tehdy, kdyˇz z´aroveˇ n plat´ı tyto dvˇe podm´ınky: X yi aij xj − bi = 0 ∀i ∈ I, (16.3a) j∈J
xj
X i∈I
aij yj − cj
=0
∀j ∈ J.
(16.3b)
Vˇsimnˇete si, co podm´ınky (16.3) ˇr´ıkaj´ı: na kaˇzd´em ˇr´adku ve dvojici du´aln´ıch u ´loh je vˇzdy alespoˇ n jedno omezen´ı aktivn´ı, bud’ prim´arn´ı nebo du´aln´ı (pˇriˇcemˇz omezen´ı typu rovnosti bereme vˇzdy za aktivn´ı). D˚ ukaz. Pro libovoln´e vektory u, v ≥ 0 plat´ı ∀i (ui = 0 nebo vi = 0)
⇐⇒
∀i (ui vi = 0)
⇐⇒
uT v = 0.
Protoˇze x a y jsou pˇr´ıpustn´e, podm´ınky (16.3) je tedy moˇzno ps´at jako yT (Ax − b) = 0, T
T
(16.4a)
(c − y A)x = 0,
(16.4b)
cT x = yT Ax = yT b.
(16.5)
neboli Vztah (16.5) zjevnˇe implikuje cT x = yT b. Obr´acenˇe, cT x = yT b implikuje (16.5), nebot’ jsme dˇr´ıve uk´azali, ˇze pro pˇr´ıpustn´e x, y plat´ı (16.2). 144
Pˇ r´ıklad 16.1. Mˇejme dvojici navz´ajem du´aln´ıch u ´loh LP: min
max 3y1 + y2 + 3y3 − y4 = 5.4
2x1 + 5x2 + 6x3 = 5.4
3 = 2x1 2.4 = x1 3= x1 −0.6 = −x1 1.2 = x1 0.6 = 0=
+ + + +
x2 2x2 3x2 x2 x2
+ + + −
≥ 3 ≥ 1 ≥ 3 ≥ −1 ≥ 0 ≥ 0 x3 ≥ 0
2x3 2x3 x3 2x3
0.2 = y1 0= y2 1.6 = y3 0= 2 = 2y1 + y2 + y3 − 5 = y1 + 2y2 + 3y3 + 2 = 2y1 + 2y2 + y3 −
y4 y4 y4 2y4
≥ ≥ ≥ ≥ ≤ ≤ ≤
0 0 0 0 2 5 6
Spoˇcetli jsme optim´aln´ı ˇreˇsen´ı obou u ´loh a dosadili tato ˇreˇsen´ı do u ´ˇcelov´ych funkc´ı a do omezen´ı. ∗ ∗ Hodnoty optim´aln´ıch ˇreˇsen´ı x = (1.2, 0.6, 0) a y = (0.2, 0, 1.6) a hodnoty omezen´ı a u ´ˇcelov´ych funkc´ı v optimech jsou napsan´e tuˇcnˇe pˇred/za rovn´ıtky. Dle vˇety o siln´e dualitˇe se optima rovnaj´ı. Vezmeme-li libovoln´y ˇr´adek (kromˇe u ´ˇcelov´eho), je na nˇem alespoˇ n jedno z obou omezen´ı aktivn´ı. Napˇr. ve druh´em ˇr´adku je prim´arn´ı omezen´ı 2x1 +x2 +2x3 ≥ 3 aktivn´ı a du´aln´ı omezen´ı y1 ≥ 0 je neaktivn´ı. Podle vˇety o komplementaritˇe se nem˚ uˇze st´at, ˇze by na nˇekter´em ˇr´adku byly obˇe omezen´ı z´aroveˇ n neaktivn´ı (mohou b´yt obˇe ale z´aroveˇ n aktivn´ı, coˇz zde nenast´av´a, ale m˚ uˇze to nastat v pˇr´ıpadˇe degenerace). Pˇredloˇz´ıme-li pˇr´ıpustn´a prim´arn´ı a du´aln´ı ˇreˇsen´ı takov´a, ˇze se u ´ˇcelov´e funkce rovnaj´ı, dok´azali jsme optimalitu obou u ´loh. Pro velk´e u ´lohy to m˚ uˇze b´yt nejsnadnˇejˇs´ı d˚ ukaz optimality. M´ame-li du´aln´ı optim´aln´ı ˇreˇsen´ı, jak z nˇej co nejlevnˇeji spoˇc´ıtat prim´arn´ı optim´aln´ı ˇreˇsen´ı? Obecnˇe je k tomu nutno vyˇreˇsit soustavu line´arn´ıch nerovnic (coˇz nen´ı o moc snadnˇejˇs´ı neˇz vyˇreˇsit line´arn´ı program). Nˇekdy ale postaˇc´ı vyˇreˇsit soustavu rovnic. Pˇ r´ıklad 16.2. Je d´ana prim´arn´ı u ´loha z Pˇr´ıkladu 16.1. Zkuste dok´azat bez pouˇzit´ı algoritmu na ˇreˇsen´ı LP, ˇze x = (x1 , x2 , x3 ) = (1.2, 0.6, 0) je optim´aln´ı ˇreˇsen´ı prim´arn´ı u ´lohy (pˇriˇcemˇz optim´aln´ı du´aln´ı ˇreˇsen´ı y nen´ı zad´ano). Pomoc´ı vˇety o komplementaritˇe zkus´ıme z dan´eho optim´aln´ıho x zkus´ıme spoˇc´ıtat optim´aln´ı y. Protoˇze jsou druh´e a ˇctvrt´e prim´arn´ı omezen´ı neaktivn´ı, z komplementarity plyne y2 = y4 = 0. Protoˇze x1 > 0 a x2 > 0, z komplementarity mus´ı b´yt prvn´ı a druh´e du´aln´ı omezen´ı aktivn´ı. M´ame tedy soustavu line´arn´ıch rovnic 2y1 + y3 = 2 y1 + 3y3 = 5
(16.6)
kter´a m´a jedin´e ˇreˇsen´ı (y1 , y3 ) = (0.2, 1.6). Tedy y = (0.2, 0, 1.6, 0). Toto du´aln´ı ˇreˇsen´ı je pˇr´ıpustn´e (tj. splˇ nuje vˇsechna du´aln´ı omezen´ı). Protoˇze se hodnota prim´arn´ı u ´ˇcelov´e funkce v bodˇe x rovn´a hodnotˇe du´aln´ı u ´ˇcelov´e funkce v bodˇe y, musej´ı b´yt x a y optim´aln´ı ˇreˇsen´ı. Tento postup nemus´ı v´est vˇzdy k c´ıli. Pokud by du´aln´ı u ´loha by mˇela nekoneˇcnˇe mnoho optim´aln´ıch ˇreˇsen´ı, soustava (16.6) by mˇela nekoneˇcnˇe mnoho ˇreˇsen´ı (mˇela by napˇr. v´ıce promˇenn´ych neˇz nezn´am´ych). Z nich by bylo nutno vybrat pˇr´ıpustn´a du´aln´ı ˇreˇsen´ı, tedy y ≥ 0. Museli bychom tedy ˇreˇsit soustavu rovnic a nerovnic. Zkoumejme, jak se zmˇen´ı optim´aln´ı hodnota u ´lohy min{ cT x | Ax ≥ b, x ≥ 0 }, jestliˇze nepatrnˇe zmˇen´ıme prav´e strany omezen´ı b. Odpovˇed’ je snadno vidˇet v du´alu.
145
Vˇ eta 16.4 (o st´ınov´ ych cen´ ach). Necht’ funkce f : Rm → R je definov´ana jako
f (b) = min{ cT x | Ax ≥ b, x ≥ 0 } = max{ bT y | AT y ≤ c, y ≥ 0 }.
Jestliˇze m´a du´aln´ı u ´loha pro dan´e b jedin´e optim´aln´ı ˇreˇsen´ı y∗ , pak je funkce f v bodˇe b diferencovateln´a a plat´ı f ′ (b) = y∗T , neboli ∂f (b)/∂bi = y∗i . D˚ ukaz. Je-li y∗ du´aln´ı optim´aln´ı ˇreˇsen´ı pro dan´e b, je f (b) = bT y∗ . Jelikoˇz je toto optim´aln´ı ˇreˇsen´ı jedin´e, nab´yv´a se ve vrcholu polyedru pˇr´ıpustn´ych ˇreˇsen´ı { y ∈ Rm | AT y ≤ c, y ≥ 0 }, viz obr´azek:
y
AT y
;
y0
b
Zmˇen´ıme-li nepatrnˇe b, optim´aln´ı du´aln´ı ˇreˇsen´ı y∗ se nezmˇen´ı a z˚ ustane jedin´e (toto od˚ uvodnˇen´ı nen´ı zcela rigor´ozn´ı, ale geometricky je dostateˇcnˇe n´azorn´e). Tedy pˇri mal´e zmˇenˇe vektoru b je hodnota optima st´ale rovna f (b) = bT y∗ . Derivac´ı z´ısk´ame f ′ (b) = y∗T . Zd˚ uraznˇeme pˇredpoklad jednoznaˇcnosti optim´aln´ıho ˇreˇsen´ı. Kdyby mnoˇzina du´aln´ıch optim´aln´ıch ˇreˇsen´ı byla ne jedin´y vrchol, ale stˇena vyˇsˇs´ı dimenze, po mal´e zmˇenˇe vektoru b by se optim´aln´ı stˇena mohla st´at vrcholem a funkce f by tedy v bodˇe b nebyla diferencovateln´a. Protoˇze b je z´aroveˇ n vektor prav´ych stran prim´arn´ı u ´lohy, optim´aln´ı du´aln´ı promˇenn´e y∗ vyjadˇruj´ı citlivost optima prim´arn´ı u ´lohy na zmˇenu prav´ych stran prim´arn´ıch omezen´ı Ax ≥ b. Interpretujeme-li naˇse LP jako optim´aln´ı v´yrobn´ı pl´an (11.6) (pozor, liˇs´ı se obr´acenou nerovnost´ı v omezen´ı), pak hodnota yi∗ ˇr´ık´a, jak by se n´aˇs v´ydˇelek zvˇetˇsil, kdybychom trochu uvolnili omezen´ı na v´yrobn´ı zdroje aTi x ≤ bi . V ekonomii se proto du´aln´ım promˇenn´ym ˇr´ık´a st´ınov´ e ceny prim´arn´ıch omezen´ı. Vˇsimnˇete si, ˇze vˇeta o st´ınov´ych cen´ach je ve shodˇe s vˇetou o komplementaritˇe. Pokud ∗ yi = 0, je aTi x < bi , tedy mal´a zmˇena bi nem´a na optimum vliv. Pˇ r´ıklad 16.3. Necht’ je zn´amo, ˇze du´aln´ı u ´loha v Pˇr´ıkladu 16.1 m´a jedin´e optim´aln´ı ˇreˇsen´ı. St´ınov´a cena prvn´ıho prim´arn´ıho omezen´ı 2x1 +x2 +2x3 ≥ 3 je y1 = 0.2. Zmˇen ˇme pravou stranu b1 = 3 tohoto omezen´ı o malou hodnotu h = 0.01 a zkoumejme, jak se zmˇen´ı optimum. Tato zmˇena nezmˇen´ı argument y∗ du´aln´ıho optima, pouze jeho hodnotu bT y∗ . Podle siln´e duality hodnota prim´arn´ıho optima mus´ı b´yt rovna hodnotˇe du´aln´ıho optima (argument x∗ prim´arn´ıho optima se m˚ uˇze nˇejak zmˇenit, to n´as ale nezaj´ım´a). Dvojice u ´loh tedy bude vypadat takto: min
2x1 + 5x2 + 6x3 = 5.402 2x1 x1 x1 −x1 x1
+ + + +
x2 2x2 3x2 x2 x2
+ + + −
≥ ≥ ≥ ≥ ≥ ≥ x3 ≥
2x3 2x3 x3 2x3
3.01 1 3 −1 0 0 0
max 3.01y1 + y2 + 3y3 − y4 = 5.402
0.2 = 0= 1.6 = 0= 2= 5= 2=
y1
y2 y3 y4 2y1 + y2 + y3 − y4 y1 + 2y2 + 3y3 + y4 2y1 + 2y2 + y3 − 2y4
≥ ≥ ≥ ≥ ≤ ≤ ≤
0 0 0 0 2 5 6
V okol´ı bodu b = (3, 1, 3, −1), ve kter´em se nemˇen´ı optim´aln´ı y∗ , bude f (b) = bT y∗ a tedy hodnota spoleˇcn´eho optima se zmˇen´ı o h · ∂f (b)/∂b1 = h · y1 = 0.2 · 0.01 na 5.402. 146
16.3
Pˇ r´ıklady na konstrukci a interpretaci du´ aln´ıch u ´ loh
Dualita umoˇzn ˇuje vhled do ˇreˇsen´eho probl´emu, ˇcasto velmi netrivi´aln´ı. Abychom danou u ´lohu (fyzik´aln´ı, ekonomickou ˇci jinou) popsanou line´arn´ım programem pochopili do hloubky, je tˇreba pochopit v´yznam nejen prim´arn´ı u ´lohy, ale i du´aln´ı u ´lohy a jejich vztahu. Pˇ r´ıklad 16.4 (Ekonomick´ a interpretace duality). Vrat’me se k Pˇr´ıkladu 11.5 o v´yrobci lup´ınk˚ u a hranolk˚ u z brambor a oleje. Napiˇsme k t´eto u ´loze du´aln´ı u ´lohu: max 120l + 76h za podm.
2l + 1.5h 0.4l + 0.2h l h
min 100a + 16b ≤ 100 ≤ 16 ≥ 0 ≥ 0
za podm.
a b 2a + 0.4b 1.5a + 0.2b
≥ 0 ≥ 0 ≥ 120 ≥ 76
Pˇrijde pˇrekupn´ık a chce koupit od v´yrobce jeho z´asoby brambor a oleje. Pˇrekupn´ık ˇreˇs´ı tuto ot´azku: Jak´e nejniˇzˇs´ı ceny mus´ım nab´ıdnout, aby mi v´yrobce sv´e z´asoby prodal? Tvrd´ıme, ˇze toto je v´yznam du´aln´ı u ´lohy. Vskutku, necht’ a, b oznaˇcuj´ı nab´ızenou cenu za jednotku brambor a oleje. Pˇrekupn´ık chce minimalizovat celkovou cenu za suroviny 100a + 16b. Mus´ı b´yt 2a + 0.4b ≥ 120, nebot’ jinak by v´yrobci v´ıce vyplatilo vyrobit ze vˇsech brambor a oleje lup´ınky a prodat je, neˇz prodat suroviny. Ze stejn´eho d˚ uvodu mus´ı b´yt 1.5a + 0.2b ≥ 76. Optim´aln´ı du´aln´ı ˇreˇsen´ı je a = 32 a b = 140. Toto je dalˇs´ı d˚ uvod (kromˇe Vˇety 16.4), proˇc se optim´aln´ım du´aln´ım promˇenn´ym nˇekdy ˇr´ık´a st´ınov´e ceny odpov´ıdaj´ıc´ıch prim´arn´ıch omezen´ı. Napˇr. st´ınov´a cena brambor je 32 Kˇc/kg. Pˇ r´ıklad 16.5 (Fyzik´ aln´ı interpretace duality). Uvaˇzujme dvojici du´aln´ıch u ´loh min{ cT x | Ax ≥ b, x ∈ Rn } = max{ bT y | AT y = c, y ≥ 0 }. Uvaˇzujme n´asleduj´ıc´ı ‘analogov´y poˇc´ıtaˇc’. Mˇejme polyedr tvoˇren´y tˇremi poloprostory aTi x ≥ bi a vektor c m´ıˇr´ıci svisle vzh˚ uru: 0
cT x = 0 a3 a1
c
a2
y 1 a1 y 2 a2
x∗
Hod’me do polyedru mal´y m´ıˇcek, na kter´y p˚ usob´ı t´ıhov´a s´ıla −c. M´ıˇcek s pozic´ı x m´a potenci´aln´ı T energii c x. M´ıˇcek se bude pohybovat do t´e doby, neˇz nalezne m´ısto s nejmenˇs´ı potenci´aln´ı energi´ı, coˇz je nejniˇzˇs´ı vrchol x∗ . Tedy x∗ je ˇreˇsen´ım prim´arn´ı u ´lohy. ∗ V bodˇe x je m´ıˇcek v klidu a proto pro nˇ ej plat´ı rovnov´aha sil: t´ıha −c se vyrovn´av´a silami P ∗ stˇen. Tedy existuj´ı skal´ary yi tak, ˇze c = i yi∗ai = AT y∗ . Mus´ı b´yt yi∗ ≥ 0, protoˇze stˇeny p˚ usob´ı silou jen dovnitˇr polyedru, ne ven. 147
Pokud aTi x∗ > bi , m´ıˇcek se i-t´e stˇeny nedot´yk´a. V tom pˇr´ıpadˇe je s´ıla stˇeny na m´ıˇcek nutnˇe nulov´a, yi∗ = 0. Proto pro kaˇzd´e i plat´ı yi∗ (aTi x∗ − bi ) = 0, coˇz jsou podm´ınky (16.3). Dle vˇety o komplementaritˇe tedy je cT x∗ = bT y∗ . To ale ˇr´ık´a, ˇze potenci´aln´ı energie m´ıˇcku v bodˇe x∗ je bT y∗ . Proˇc tomu tak je? Tato energie se rovn´a pr´aci, kter´a by se vykonala posunut´ım m´ıˇcku do poˇc´atku 0. Posunujme m´ıˇcek takto: nejdˇr´ıve posuneme prvn´ı stˇenu rovnobˇeˇznˇe tak, aby proch´azela poˇc´atkem, pak druhou stˇenu, aˇz budou vˇsechny stˇeny, kter´ych se m´ıˇcek dot´yk´a, proch´azet poˇc´atkem. Pˇri tomto posunov´an´ı se s´ıly stˇen p˚ usob´ıc´ı na m´ıˇcek nemˇen´ı. Vzd´alenost stˇeny i od poˇc´atku je bi /kai k2 (viz Cviˇcen´ı 5.18). S´ıla stˇeny i p˚ usob´ıc´ı na m´ıˇcek je yi∗ ai . S´ıla je ve smˇeru posouv´an´ı, tedy vykonan´a pr´ace je (bi /kai k2 ) · kyi∗aiP k2 = bi yi∗ . Po odtlaˇcen´ı vˇsech stˇen, jichˇz se m´ıˇcek dot´yk´a, do poˇc´atku, tedy vykon´ame pr´aci i bi yi∗ = bT y∗ . Zd˚ uraznˇeme, ˇze tato u ´vaha nedokazuje ˇz´adnou z vˇet o dualitˇe. Pˇredpokl´ad´a totiˇz platnost fyzik´aln´ıch z´akon˚ u, kter´e nelze matematicky dok´azat ale pouze experiment´alnˇe pozorovat. Pˇ r´ıklad 16.6. Mˇejme u ´lohu T
T
min{ c x | 1 x = 1, x ≥ 0 } = min
X n i=1
n X xi = 1, xi ≥ 0 , ci xi i=1
kde c = (c1 , . . . , cn ) je d´ano a optimalizuje se pˇres x = (x1 , . . . , xn ). Napiˇste du´aln´ı u ´lohu a iterpretujte vˇety o siln´e dualitˇe a komplementaritˇe. ´ Uvahou snadno vid´ıme (viz Pˇr´ıklad 11.2), ˇze optim´aln´ı hodnota je minni=1 ci a nab´yv´a se ve vektoru x jehoˇz vˇsechny sloˇzky jsou nulov´e kromˇe sloˇzek pˇr´ısluˇsn´ych minim´aln´ımu ci . Pokud je v´ıce minim´aln´ıch prvk˚ u ci , optim´aln´ı x nen´ı d´ano jednoznaˇcnˇe. Napˇr. pro c = (1, 3, 1, 2) bude optim´aln´ım ˇreˇsen´ım kaˇzd´e x = (x1 , 0, x3 , 0) pro x1 , x3 ≥ 0 splˇ nuj´ıc´ı x1 + x3 = 1. Podle n´avodu na konstrukci du´aln´ı u ´lohy dostaneme du´al max{ y ∈ R | y1 ≤ c } = max{ y ∈ R | y ≤ ci , i = 1, . . . , n }. Neboli hled´a se nejvˇetˇs´ı ˇc´ıslo y, kter´e je menˇs´ı neˇz vˇsechna ˇc´ısla ci . Takov´e ˇc´ıslo y se rovn´a minimu z ˇc´ısel ci . Tedy plat´ı siln´a dualita. Podm´ınky komplementarity ˇr´ıkaj´ı, ˇze v optimechPbude alespoˇ n jedno z odpov´ıdaj´ıc´ı dvojice prim´arn´ı-du´aln´ı omezen´ı aktivn´ı. Dvojice omezen´ı i xi = 1, y ∈ R splˇ nuje podm´ınky komplementarity trivi´alnˇe. Dvojice omezen´ı xi ≥ 0, y ≤ ci je splˇ nuje pr´avˇe tehdy, kdyˇz je splnˇena aspoˇ n jedna z rovnost´ı xi = 0, y = ci . To znamen´a: • Pokud je v du´alu y < ci , v prim´aru mus´ı b´yt xi = 0. To je ale jasn´e, protoˇze y < ci znamen´a, ˇze ci nen´ı nejmenˇs´ı ze sloˇzek vektoru c a tud´ıˇz (dle u ´vahy v´yˇse) mu v prim´aru nem˚ uˇzeme pˇriˇradit nenulovou v´ahu xi . • Obr´acenˇe, pokud je v prim´aru xi > 0, mus´ı b´yt v du´alu y = ci . To je jasn´e, protoˇze pokud jsme v prim´aru pˇriˇradili ˇc´ıslu ci nenulovou v´ahu, mus´ı b´yt nejmenˇs´ı. Pˇ r´ıklad 16.7. Z §11.3 v´ıme, ˇze optim´aln´ı argument u ´lohy X n n X min |x − ai | = min zi zi ∈ R, x ∈ R, −zi ≤ x − ai ≤ zi x∈R
i=1
i=1 T
= min{ 1 z | z ∈ Rn , x ∈ R, −z ≤ 1x − a ≤ z } 148
(16.7)
´ je medi´an z ˇc´ısel a1 , . . . , an . Napiˇste du´aln´ı u ´lohu a co nejv´ıce ji zjednoduˇste. Uvahou naleznˇete optim´aln´ı hodnotu prim´arn´ı a du´aln´ı u ´lohy a ovˇeˇrte, ˇze se (dle siln´e duality) rovnaj´ı. Rycl´y zp˚ usob jak vytvoˇrit du´aln´ı u ´lohu je podle pˇredpisu v §16.1, to ovˇsem vyˇzaduje zkuˇsenost a snadno se v tom udˇel´a chyba. Zdlouhavˇejˇs´ı avˇsak bezpeˇcnˇejˇs´ı zp˚ usob je pˇres maticovou formu. Prim´arn´ı a du´aln´ı u ´lohu nap´ıˇseme v maticov´em tvaru, kde zvol´ıme n´azvy matic tak, aby nekolidovaly s (16.7): min hT u za podm. Fu ≥ g u ∈ R1+n
max gT v za podm. v≥0 T F v=h
Matice zvol´ıme tak, aby prim´arn´ı u ´loha odpov´ıdala u ´loze (16.7): x 0 a 1 I , , u= , h= , g= F= z 1 −a −1 I
p . v= q
Vektor du´aln´ıch promˇenn´ych v jsme z´aroveˇ n rozdˇelili na dva bloky p, q, odpov´ıdaj´ıc´ı blok˚ um matic F a g. Vyn´asobn´ım matic pˇrep´ıˇseme du´aln´ı u ´lohu do tvaru (ovˇeˇrte!) max{ aT (p − q) | 1T (p − q) = 0, p + q = 1, p ≥ 0, q ≥ 0 } X X n n (pi − qi ) = 0, pi + qi = 1, pi ≥ 0, qi ≥ 0 = max ai (pi − qi ) i=1
(16.8)
i=1
´ Ulohu (16.8) lze d´ale zjednoduˇsit substituc´ı 2pi = 1 + ti ,
2qi = 1 − ti .
Po t´eto substituci je pi − qi = ti a P podm´ınka pi + qi = 1 je splnˇena automaticky. Podm´ınka P ıd´a podm´ınce i ti = 0. Podm´ınka pi ≥ 0 odpov´ıd´a ti ≥ −1 a podm´ınka i (pi − qi ) = 0 odpov´ qi ≥ 0 odpov´ıd´a ti ≤ 1. Du´aln´ı u ´loha s nov´ymi promˇenn´ymi t ∈ Rn je tedy n X n X max ai ti ti = 0, −1 ≤ ti ≤ 1 = max{ aT t | 1T t = 0, −1 ≤ t ≤ 1 }. (16.9) i=1
i=1
´loha (16.9) spolu zd´anlivˇe v˚ ubec nesouvisej´ı – avˇsak podle Prim´arn´ı u ´loha (16.7) a du´aln´ı u siln´e duality jejich optim´aln´ı hodnoty mus´ı b´yt stejn´e! Zkusme pochopit, proˇc tomu tak je. Nejprve si vˇsimneme, ˇze optim´aln´ı hodnota prim´arn´ı u ´lohy (16.7) se nezmˇen´ı, posunemeli ˇc´ısla a1 , . . . , an o libovolnou konstantu b ∈ R. To je jasn´e, nebot’ medi´an x se posune o stejnou konstantu ´lohu (16.9), nebot’ P a je |(x − b) P− (ai − b)| = |x P− ai |. Tot´eˇz plat´ı pro du´aln´ı u d´ıky podm´ınce i ti = 0 je i (ai − b)ti = i ai ti . Proto bez ztr´aty obecnosti m˚ uˇzeme zvolit b = mediani ai , neboli posunout body tak, ˇze jejich medi´ an bude x = P 0. P Nyn´ı je prim´arn´ı optim´aln´ı hodnota rovna jednoduˇse i |x−ai | = i |ai |. Protoˇze kladn´ych a z´aporn´ych ˇc´ısel ai je stejn´y poˇcet, du´aln´ı u ´loha nab´yv´a optima v takov´em vektoru t, kde P ti = −1 pro ai
0 (coˇz splˇ nuje podm´ınku i ti = 0). Tedy du´aln´ı optim´aln´ı hodnota je tak´e i ai ti = i |ai |.
149
16.4
Cviˇ cen´ı
uvodn´ı u ´loze. 16.1. Ukaˇzte pro dvojici u ´loh v §16.1, ˇze du´al du´alu se rovn´a p˚
16.2. Napiˇste du´aln´ı u ´lohu a podm´ınky komplementarity k n´asleduj´ıc´ım u ´loh´am. Pokud u ´loha ´lohu co nejv´ıce zjednonen´ı LP, nejdˇr´ıve pˇreved’te na LP (dle §11.1). V´yslednou du´aln´ı u duˇste, pˇr´ıp. pˇreved’te do skal´arn´ı formy, je-li skal´arn´ı forma v´ystiˇznˇejˇs´ı. a) b) c) d) e) f) g)
minx∈R maxni=1 |ai − x| (stˇred intervalu) u ´loha (11.11) u ´loha (11.13) dopravn´ı probl´em (11.8) vˇsechny u ´lohy ze Cviˇcen´ı 11.2 u ´loha vznikl´a ve Cviˇcen´ı 11.8 T minx∈Rn maxm i=1 (ai x + bi ) (viz §11.1.1)
(⋆) Pro kaˇzdou u ´lohu se pokuste nal´ezt v´yznam du´aln´ı u ´lohy, podobnˇe jako v Pˇr´ıkladu 16.6. 16.3. Dokaˇzte bez uˇzit´ı algoritmu na ˇreˇsen´ı LP, ˇze x = (1, 1, 1, 1) je optim´aln´ı ˇreˇsen´ı u ´lohy min 47 93 17 −93 x −3 −1 −6 1 3 5 −1 −2 7 1 −8 3 −10 −1 x ≤ za podm. 0 −7 −6 −11 −2 12 4 1 6 −1 −3
N´ apovˇ eda a ˇ reˇ sen´ı 16.1. Pravou u ´ lohu nejdˇr´ıve pˇrevedeme na tvar lev´e u ´ lohy a pak k n´ı nap´ıˇseme du´ aln´ı u ´ lohu. Uk´ aˇzeme jen pro tvar (16.1): − min (−b)T y za podm. (−AT )y ≥ −c y≥0
− max (−c)T x za podm. x≥0 (−A)x ≤ −b
(16.10)
Lev´a u ´ loha (16.10) je ekvivalentn´ı prav´e u ´ loze (16.1), prav´a u ´ loha (16.10) je ekvivalentn´ı lev´e u ´ loze (16.1). Pm Pn 16.2.d) max i=1 ai pi + j=1 bj qj | pi ∈ R, qi ∈ R, pi + qj ≤ cij P Pn Pn ′ ′ P ′ 16.2.f) Du´al: max{ ni=1 yi di + ni=1 yi′ d′i | yi′ ≤ m′i , yi , yi′ ≥ 0 }. i=1 yi , yi ≤ mi , i=1 yi = ′ ′ ′ Podm´ınky komplementarity: zi (yi −mi ) = 0, zi (yi −mi ) = 0, (zi −di −x)yi = 0, (zi′ −d′i +x)yi′ = 0.
150
Kapitola 17 Lagrangeova dualita Zat´ımco v §16 jsme odvodili dualitu pro line´arn´ı programov´an´ı, zde pop´ıˇseme z´aklad teorie duality pro obecn´e optimalizaˇcn´ı u ´lohy. Dualita v LP se pak bude jevit jako speci´aln´ı pˇr´ıpad.
17.1
Minimaxn´ı nerovnost
Pro libovoln´e mnoˇziny X a Y a libovolnou funkci L: X × Y → R plat´ı minimaxn´ı nerovnost min max L(x, y) ≥ max min L(x, y) . x∈X y∈Y y∈Y x∈X | {z } | {z }
(17.1)
G(y)
F (x)
Zde pˇredpokl´ad´ame, ˇze vˇsechna minima a maxima existuj´ı1 . V nerovnosti (17.1) nast´av´a rovnost pr´avˇe tehdy, kdyˇz existuje bod (x∗ , y ∗ ) ∈ X × Y takov´y, ˇze L(x∗ , y) ≤ L(x∗ , y ∗ ) ≤ L(x, y ∗ )
∀x ∈ X, y ∈ Y.
(17.2)
Takov´emu bodu (x∗ , y ∗) ˇr´ık´ame sedlov´ y bod funkce L na X × Y . Uveden´e skuteˇcnosti se snadno dok´aˇz´ı, podrobn´e d˚ ukazy vynech´ame. Pro d˚ ukaz druh´eho ∗ ∗ tvrzen´ı je uˇziteˇcn´e si uvˇedomit, ˇze podm´ınku (17.2) lze ps´at jako F (x ) = G(y ). Pˇ r´ıklad 17.1. Necht’ X = Y = {1, 2, 3, 4}. 1 2 3 4 G(y)
1 −1 4 1 3 −1
2 4 4 5 5 4
3 4 F (x) 7 4 7 6 −2 6 3 3 5 3 2 5 3 −2
1 2 3 4 G(y)
1 −1 4 1 3 −1
2 4 4 0 3 0
3 4 F (x) 7 4 7 6 −2 6 3 3 3 3 2 3 3 −2
Funkce L v lev´e tabulce nem´a sedlov´y bod a m´ame minx∈X F (x) > maxy∈Y G(y). Funkce L v prav´e tabulce m´a sedlov´y bod (dokonce dva, v r´ameˇcc´ıch) a minx∈X F (x) = maxy∈Y G(y). 1
Kdyby ne, mohli bychom min/max nahradit inf/sup a nerovnost by st´ale platila.
151
17.2
Lagrangeova du´ aln´ı u ´ loha
Ke kaˇzd´e optimalizaˇcn´ı u ´loze (kterou naz´yv´ame prim´arn´ı) lze sestrojit jinou optimalizaˇcn´ı u ´lohu (naz´yvanou du´aln´ı) tak, ˇze mezi nimi plat´ı v´ıce ˇci m´enˇe uˇziteˇcn´e vztahy. Jedna forma duality se z´ısk´a n´asledovnˇe: chytˇre zvol´ıme mnoˇziny X, Y a funkci L tak, aby lev´a strana minimaxn´ı uvodn´ı) u ´loha. Prav´a strana pak bude du´aln´ı u ´loha. nerovnosti (17.1) byla prim´arn´ı (tedy p˚ Necht’ mnoˇzina X ⊆ Rn , funkce f : Rn → R a zobrazen´ı g: Rn → Rm jsou d´any; jak d´ale uvid´ıme, reprezentuj´ı prim´arn´ı u ´lohu. Zvolme Y = Rm + a L(x, y) = f (x) + yT g(x).
(17.3)
Pod´ıvejme se, jak po t´eto volbˇe vypad´a lev´a strana nerovnosti (17.1), tedy prim´arn´ı u ´loha. Je ( f (x) kdyˇz g(x) ≤ 0, (17.4) F (x) = max L(x, y) = max[f (x) + yT g(x)] = y∈Y y≥0 ∞ jinak, kde ‘∞’ znaˇc´ı, ˇze u ´loha maxy∈Y L(x, y) je neomezen´a. Abyste to uvidˇeli, promyslete si, ˇze pro kaˇzd´y vektor a ∈ Rm plat´ı ( 0 kdyˇz a ≤ 0, max yT a = y≥0 ∞ jinak. Po dosazen´ı (17.4) do lev´e strany (17.1) tedy min max L(x, y) = min{ f (x) | x ∈ X, g(x) ≤ 0 }. x∈X y∈Y
(17.5)
Toto je naˇse prim´arn´ı u ´loha. Vˇsimnˇeme si, jak jsme omezuj´ıc´ı podm´ınky g(x) ≤ 0 zahrnuli do funkce F za cenu, ˇze funkce F m˚ uˇze nab´yvat i nekoneˇcn´ych hodnot. Nyn´ı se pod´ıvejme na du´aln´ı u ´lohu. Ta zn´ı max min L(x, y) = max G(y),
(17.6)
G(y) = min L(x, y) = min[f (x) + yT g(x)].
(17.7)
y≥0
y∈Y x∈X
kde x∈X
x∈X
Pˇresnˇejˇs´ı tvar du´aln´ı u ´lohy nez´ısk´ame, dokud nebudeme m´ıt zad´anu prim´arn´ı u ´lohu (tedy X, f, g) konkr´etnˇeji. Nyn´ı m˚ uˇzeme ˇr´ıci jen to, ˇze u ´loha (17.7) m˚ uˇze b´yt pro nˇejak´a y neomezen´a a tedy funkce G nab´yvat hodnot −∞. To bude opˇet reprezentovat omezen´ı du´aln´ı u ´lohy. Vˇsimnˇete si, ˇze pro kaˇzd´e x je funkce L afinn´ı funkc´ı promˇenn´e y. Dle Vˇety 14.6 je tedy du´aln´ı funkce G konk´avn´ı a tedy du´aln´ı u ´loha bude maximalizace konk´avn´ı funkce, tedy konvexn´ı u ´loha. To plat´ı vˇzdy, i kdyˇz prim´arn´ı u ´loha nen´ı konvexn´ı. Pr´avˇe sestrojen´a u ´loha (17.6) se naz´yv´a Lagrangeova du´ aln´ı u ´ loha k (prim´arn´ı) u ´loze (17.5). Funkce (17.3) se ˇr´ık´a Lagrangeova funkce – vˇsimnˇete si, ˇze je to ta sam´a funkce, kterou jste potkali u metody Lagrangeov´ych multiplik´ator˚ u.
152
17.3
Siln´ a dualita
´lohy nen´ı menˇs´ı neˇz optim´aln´ı hodZ nerovnosti (17.1) plyne, ˇze optim´aln´ı hodnota prim´arn´ı u nota du´aln´ı u ´lohy. Tato skuteˇcnost je zn´ama jako vˇeta o slab´ e dualitˇ e. Rozd´ılu mezi prim´arn´ı a du´aln´ı optim´aln´ı hodnotou se ˇr´ık´a dualitn´ı mezera. Kdyˇz v nerovnosti (17.1) nastane rovnost, jsou si optim´aln´ı hodnoty prim´arn´ı a du´aln´ı u ´lohy rovny neboli dualitn´ı mezera je nulov´a. V tom pˇr´ıpadˇe ˇr´ık´ame, ˇze pro naˇs´ı u ´lohu plat´ı siln´ a dualita. Siln´a dualita m˚ uˇze platit pro velice r˚ uzn´e u ´lohy. Uvedeme nyn´ı, ve Vˇetˇe 17.1, jednu postaˇcuj´ıc´ı (avˇsak nikoliv nutnou) podm´ınku, za kter´e plat´ı siln´a dualita. ˇ Rekneme, ˇze funkce g1 , . . . , gm : Rn → R na mnoˇzinˇe X splˇ nuj´ı Slaterovu podm´ınku, kdyˇz existuje vnitˇrn´ı bod x mnoˇziny X takov´y, ˇze g(x) < 0, neboli g1 (x) < 0, . . . , gm (x) < 0.
(17.8)
Pokud je prvn´ıch k ≤ m funkc´ı gi afinn´ıch, podm´ınku (17.8) lze zmˇekˇcit na g1 (x) ≤ 0, . . . , gk (x) ≤ 0, gk+1 (x) < 0, . . . , gm (x) < 0.
(17.9)
Vˇ eta 17.1. Necht’ • mnoˇzina X ⊆ Rn je konvexn´ı,
• funkce f : Rn → R a g1 , . . . , gm : Rn → R jsou konvexn´ı na X,
• funkce g1 , . . . , gm na mnoˇzinˇe X splˇ nuj´ı Slaterovu podm´ınku. Pak plat´ı siln´a dualita, neboli optim´aln´ı hodnoty u ´loh (17.5) a (17.6) jsou si rovny. D´ale uved’me obdobu vˇety o komplementaritˇe. Vˇ eta 17.2. Necht’ x ∈ X je optimum prim´arn´ı u ´lohy a y ∈ Rm aln´ı u ´lohy a + je optimum du´ nast´av´a siln´a dualita. Pak plat´ı podm´ınky komplementarity yi gi (xi ) = 0
∀i = 1, . . . , n.
(17.10)
D˚ ukaz. Plat´ı F (x) = f (x) = G(y) = min [f (x′ ) + yg(x′ )] ≤ f (x) + yT g(x) ≤ f (x). ′ x ∈X
Druh´a rovnost plyne ze siln´e duality. Tˇret´ı rovnost je definice du´aln´ı u ´lohy. Prvn´ı nerovnost plyne z definice minima. Druh´a nerovnost plat´ı, protoˇze y ≥ 0 a g(x) ≤ 0. Ale protoˇze f (x) je na zaˇc´atku i na konci ˇretˇezce nerovnost´ı, mus´ı obˇe nerovnosti b´yt rovnostmi, f (x) + yT g(x) = f (x). Z toho plyne yT g(x) = 0. To je ale ekvivalentn´ı podm´ınk´am (17.10), protoˇze y ≥ 0 a g(x) ≤ 0.
153
(17.11)
17.4
Pˇ r´ıklady
Pˇ r´ıklad 17.2. Necht’ f (x) = cT x, g(x) = b − Ax, X = Rn . Prim´arn´ı u ´loha je min max L(x, y) = min{ cT x | x ∈ Rn , Ax ≥ b }.
x∈Rn y≥0
(17.12)
Odvod’me du´aln´ı u ´lohu. Lagrangeova funkce je L(x, y) = cT x + yT (b − Ax) = (cT − yT A)x + yT b, tedy
Du´aln´ı u ´loha tedy je
(17.13)
( yT b kdyˇz cT − yT A = 0, G(y) = minn L(x, y) = x∈R ∞ jinak. max G(y) = max{ bT y | y ∈ Rm , AT y = c, y ≥ 0 }. y≥0
(17.14)
To je stejn´y v´ysledek, jak´y bychom dostali podle n´avodu v §16.1 na konstrukci du´aln´ıho LP. Konkr´etnˇe, prim´arn´ı a du´aln´ı u ´loha je dvojice u ´loh (16.1). Pˇ r´ıklad 17.3. Necht’ f (x) = cT x, g(x) = b − Ax, X = Rn+ . Prim´arn´ı u ´loha je min max L(x, y) = min{ cT x | x ∈ Rn , Ax ≥ b, x ≥ 0 }.
x∈Rn + y≥0
(17.15)
Lagrangeova funkce je (17.13). Je ( yT b kdyˇz cT − yT A ≥ 0, G(y) = minn L(x, y) = x∈R+ −∞ jinak. Du´aln´ı u ´loha tedy je max G(y) = max{ bT y | AT y ≤ c, y ≥ 0 }. y≥0
To je opˇet stejn´y v´ysledek, jak´y bychom dostali podle n´avodu v §16.1.
(17.16)
Zat´ım jsme v prim´arn´ı u ´loze uvaˇzovali jen omezen´ı typu nerovnosti. Omezen´ı typu rovnosti g(x) = 0 lze nahradit dvˇema omezen´ımi typu nerovnosti g(x) ≤ 0 a −g(x) ≤ 0. Pak
L(x, y+ , y− ) = f (x) + yT+ g(x) − yT− g(x) = f (x) + (y+ − y− )T g(x) = f (x) + yT g(x), (17.17)
kde jsme oznaˇcili y = y+ − y− . Funkci (17.17) m˚ uˇzeme nyn´ı pˇrejmenovat na L(x, y), kter´a m´a stejn´y tvar jako (17.3). Podm´ınky y+ , y− ≥ 0 se v rozd´ılu zruˇs´ı, tedy y ∈ Rm . Ovˇeˇr´ıme, ˇze ( f (x) kdyˇz g(x) = 0, L(x, y) = F (x) = max m y∈R ∞ jinak, tedy prim´arn´ı u ´loha je L(x, y) = min{ f (x) | x ∈ X, g(x) = 0 }, min max m x∈X y∈R
(17.18)
jak jsme chtˇeli. Du´aln´ı u ´loha je max min L(x, y) = max G(y). m
y∈Rm x∈X
y∈R
Vˇsimnˇete si, ˇze Slaterova podm´ınka nebude platit, kdyˇz zobrazen´ı g nebude afinn´ı. 154
(17.19)
Pˇ r´ıklad 17.4. Napiˇsme du´aln´ı u ´lohu k u ´loze min{ xT x | x ∈ Rn , Ax = b }.
M´ame X = Rn a
L(x, y) = xT x + yT (b − Ax) = xT x − yT Ax + yT b,
du´aln´ı funkce je tedy
G(y) = minn L(x, y) = minn (xT x − yT Ax + yT b). x∈R
x∈R
ˇ sen´ı mus´ı splˇ Reˇ novat ∂L(x, y)/∂x = 0, coˇz d´a x = AT y/2. Po dosazen´ı dostaneme G(y) = L(AT y/2, y) = bT y − yT AAT y/4.
ˇ sme line´arn´ı program Pˇ r´ıklad 17.5. Reˇ min{ cT x | x ∈ Rn , Ax = b, 0 ≤ x ≤ 1 }.
Du´al bychom mohli sestrojit podle n´avodu v kapitole o dualitˇe v LP. Ale postupujme jinak. Zvolme Lagrangeovu funkci jako (17.12) a X = { x ∈ Rn | 0 ≤ x ≤ 1 }. Du´aln´ı funkce bude G(y) = min L(x, y) = min [(cT − yT A)x + yT b] = bT y + 1T max{0, AT y − c} x∈X
0≤x≤1
T
nebot’ min d x = min{0, d} = − max{0, −d} (kde min a max se rozum´ı po sloˇzk´ach). 0≤x≤1
ˇ sme celoˇc´ıseln´y line´arn´ı program Pˇ r´ıklad 17.6. Reˇ min{ cT x | x ∈ {0, 1}n, Ax = b }.
Necht’ Lagrangeova funkce je (17.12) a necht’ X = {0, 1}n . Du´aln´ı u ´loha je stejn´a jako v minul´em pˇr´ıkladˇe. Zde pˇredpoklady Vˇety 17.1 neplat´ı, protoˇze mnoˇzina X nen´ı konvexn´ı. Opravdu, siln´a dualita u celoˇc´ıseln´eho programov´an´ı obecnˇe neplat´ı. Siln´a dualita m˚ uˇze nastat (i kdyˇz sp´ıˇse vyj´ımeˇcnˇe) i pro nekonvexn´ı u ´lohu. Jednou takovou tˇr´ıdou u ´loh je libovoln´e (tedy ne nutnˇe konvexn´ı) QCQP s nejv´yˇse jedn´ım omezen´ım. ´ Pˇ r´ıklad 17.7. Uloha QCQP min{ xT Ax | x ∈ Rn , xT x = 1 } (17.20) ˇ sen´ı ale najdeme snadno pomoc´ı nen´ı konvexn´ı, pokud matice A nen´ı pozitivnˇe semidefinitn´ı. Reˇ spektr´aln´ıho rozkladu: min xT Ax = min xT VΛVT x = min zT Λz = λmin (A).
xT x=1
xT x=1
zT z=1
Uk´aˇzeme nav´ıc, ˇze plat´ı siln´a dualita. M´ame Tedy
L(x, y) = xT Ax + y(1 − xT x) = xT (A − yI)x + y. ( y kdyˇz A − yI je pozitivnˇe semidefinitn´ı, G(y) = −∞ jinak.
Ale matice A − yI je pozitivnˇe semidefinitn´ı pr´avˇe tehdy, kdyˇz nejmenˇs´ı vlastn´ı ˇc´ıslo matice A − yI je nez´aporn´e, neboli (viz Cviˇcen´ı 6.4) λmin(A) ≥ y. Du´aln´ı u ´loha tedy je max{ y ∈ R | λmin(A) ≥ y }.
Ta m´a oˇcividn´e optim´aln´ı ˇreˇsen´ı y = λmin(A).
155