S touto témou som sa stretol počas 2. semestra na predmete Matematická analýza 2 (MA2) a bola to pre mňa jedna z najzaujímavejších tém zatiaľ, čo sa týka MA. Dalo by sa povedať, že to bolo znovu až fascinujúce, že také niečo vôbec funguje a dá sa to aj použiť v reálnom živote, keďže sa jedná o optimalizačnú metódu, ktorou vieme nájsť najvýhodnejšie riešenie na nejaký problém, napr. ako spraviť nádobu valcového tvaru s daným povrchom \(S\) takú, aby mala najväčší objem (výpočet bude neskôr).
Ako bolo spomenuté vyššie, ide teda o nejakú optimalizačnú metódu. Majme teda nejakú funkciu \(f(x,y,z)\), kde \(x,y,z\) nie sú nezávislé premenné, ktorú chceme maximalizovať/minimalizovať na nejakej inej funkcii \(g(x,y,z) =c\), kde \(c\) je nejaká konštanta. Ďalej si ešte zavedieme pojem gradient funkcie, čo je nejaké zobrazenie, ktoré funkcii \(f\) priradí nejaký vektor \(\triangledown f/grad(f)\), ktorý sa teda bude volať gradient a bude mať takéto zložky:
\[ \triangledown f = (f_x,f_y,f_z) \]
kde \(f_x,f_y,f_z\) su parciálne derivácie funkcie \(f\). Toto spravíme pre aj pre funkciu \(g\), čiže budeme pracovať s dvoma vektormi, \(\triangledown f\) a \(\triangledown g\). Ďaľším veľmi dôležitým faktom, ktorý využijeme je to, že gradient je vždy kolmý na graf funkcie. Teraz pre lepšie pochopenenie toho, čo budeme neskôr robiť, spravíme jednoduchý príklad: Chceme nájsť bod na hyperbole \(xy=3\) taký, že je najbližšie ku počiatku, t.j. bod \((0,0)\). To vieme spraviť tak, že z počiatku budeme akoby “zväčšovať” kružnicu, pokiaľ sa nedotkne grafu hyperboly. Čiže máme \(f=x^2 + y^2\) (modrá farba) a \(g(x,y): xy - 3=0\) (zelená farba):
curve(3/x, from = 0, to = sqrt(6), ylim = c(0,sqrt(6)), col = "green", ylab = "y")
curve(sqrt(6-x^2),from = 0, to = sqrt(6), col = "blue", add = TRUE, ylab = "y")
# bližší pohľad
curve(3/x, from = 1, to = 2.4, ylim = c(0,2.4), col = "green", ylab = "y")
curve(sqrt(6-x^2),from = 1, to = 2.4, col = "blue", add = TRUE, ylab = "y")
Na grafoch vidíme, že graf \(f\) sa teda “dotkne” grafu \(g\) v nejakom bode \(P=(x,y)\), no a tento bod my hľadáme. Tu na to využijeme znalosť toho, že gradient je kolmý na graf funkcie, a teda keď sa tieto dva grafy dotknú, tak ich gradienty budú ukazovať rovnakým smerom, avšak ich veľkosť môže byť rozdielná a teda platí vzťah, že \(grad(f)\) je nejako preškálovaný \(grad(g)\):
\[ \triangledown f = \lambda\triangledown g \]
kde \(\lambda\) je nejaký skalár a aby platila rovnosť, tak to musí platiť pre jednotlivé zložky našich gradientov, konkrétne teda:
\[ f_x = \lambda g_x \\ f_y = \lambda g_y \]
Tu si ale všimneme, že máme 3 neznáme, \(x,y\) a \(\lambda\), ale iba 2 rovnice. Tretiu rovnicu nám doplní funkcia \(g\), čiže vo výsledku riešime 3 rovnice o 3 neznámych:
\[ \begin{eqnarray} f_x & = & \lambda g_x \\ f_y & = & \lambda g_y \\ g & = & 3 \end{eqnarray} \]
a po dosadení:
\[ \begin{eqnarray} 2x & = & \lambda y \\ 2y & = & \lambda x \\ xy & = & 3 \end{eqnarray} \]
Vyriešiť to je už jednoduché a ako výsledok dostaneme 2 body, konkrétne teda \(P_1=(\sqrt3,\sqrt3)\) a \(P_2=(-\sqrt3,-\sqrt3)\). Bod dotyku ukázaný na grafoch vyššie je bod \(P_1\). Zložitosť a spôsob výpočtu sa potom samozrejme odvíja od zadaných funkcií alebo od ich počtu premenných.
Povedzme, že nejaká firma K chce vyrábať plechovky na nejaké bližšie nešpecifikované nápoje. Požadujú ale, aby takéto plechovky mali tvar valca a nejaký predom daný povrch \(S_o\) a oslovili nás, študentov aplikovanej matematiky, aby sme im v tom pomohli a našli také rozmery, aby takáto plechovka mala najväčší možný objem. Ako prvé si potrebujeme spomenuť na vzorce pre povrch a objem valca, ak si to nepamätáme, tak utekáme na internet a hľadáme. Pre istotu ich sem ale napíšem:
\[ V(r,h) = \pi r^2h \\ S(r,h): 2\pi r^2 + 2\pi rh = S_o \]
Takže teda máme nejaké funkcie pre objem: \(V(r,h)\) a povrch: \(S(r,h)\), ktoré sú funkciami 2 premenných, konkrétne polomeru podstavy valca \(r\) a jeho výšky \(h\). Ďaľším naším krokom bude zostrojiť si rovnice, o ktorých sme už rozprávali vyššie. Na výpočet jednotlivých parciálnych derivácií môžme použiť príkaz: D(funkcia, podľa akej premennej derivujeme).
V = expression(pi*r^2*h)
dVdr = D(V, "r")
dVdh = D(V, "h")
dVdr #parciálna derivácia V podľa r
## pi * (2 * r) * h
dVdh #parciálna derivácia V podľa h
## pi * r^2
S = expression(2*pi*(r^2 + r*h))
dSdr = D(S, "r")
dSdh = D(S, "h")
dSdr #parciálna derivácia S podľa r
## 2 * pi * (2 * r + h)
dSdh #parciálna derivácia S podľa h
## 2 * pi * r
Čiže dostávame 3 rovnice:
\[ \begin{eqnarray} 2\pi rh & = & \lambda(4\pi r +2\pi h) \quad(1) \\ \pi r^2 & = & \lambda 2\pi r \quad (2) \\ 2\pi r^2 + 2\pi rh - S_o & = & 0 \quad (3) \end{eqnarray} \]
Ako prvé si môžeme z rovnice (2) vyjadriť, čomu sa rovná \(\lambda\):
\[ \begin{eqnarray} \lambda & = & \frac{\pi r^2}{2\pi r} \\ \lambda & = & \frac{r}{2} \end{eqnarray} \]
a túto hodnotu dosadíme do rovnice (1):
\[ \begin{eqnarray} 2\pi rh & = & \frac{r}{2}\cdot(4\pi r+2\pi h) \quad /\cdot\frac{2}{r} \\ 4\pi h & = & 4\pi r+2\pi h \quad /\cdot\frac{1}{2\pi} \\ 2h & = & 2r + h \quad /-h \\ h & = & 2r \end{eqnarray} \]
Dostali sme vzťah medzi \(r\) a \(h\) a ten môžme dosadiť do rovnice (3):
\[ \begin{eqnarray} 2\pi r^2 + 2\pi r2r & = & S_o \\ 2\pi r^2 + 4\pi r^2 & = & S_o \\ 6\pi r^2 & = & S_o \quad /\cdot \frac{1}{6\pi} \\ r^2 & = & \frac{S_o}{6\pi} \quad /\sqrt{}\\ r & = & \sqrt\frac{S_o}{6\pi} \quad /\cdot \frac{\sqrt{6\pi}}{\sqrt{6\pi}} \\ r & = &\frac{\sqrt{6\pi S_o}}{6\pi} \end{eqnarray} \]
Už vieme, čomu sa rovná \(r\), teraz nám už ostáva nájsť \(h\), ale keďže vieme, aký vzťah pre ne platí, tak tento výpočet bude už veľmi jednoduchý:
\[ \begin{eqnarray} h & = & 2r \\ h & = & 2\frac{\sqrt{6\pi S_o}}{6\pi} \\ h & = & \frac{\sqrt{6\pi S_o}}{3\pi} \end{eqnarray} \]
Konečne teda poznáme rozmery, ktoré firma K potrebuje vedieť a môžme ich ísť vymeniť za nejakú tú odmenu za naše služby.
\[ r=\frac{\sqrt{6\pi S_o}}{6\pi} \\ h=\frac{\sqrt{6\pi S_o}}{3\pi} \]
Ako sme teda zistili, je to celkom užitočná metóda na nájdenie toho, čo potrebujeme namiesto “strielania na slepo”/snaženia sa uhádnuť optimálny výsledok. Veľa ľudí si určite kedysi povedalo vetu: “Načo mi bude matematika v živote?”, no a tu sme zistili, že aspoň na niečo sa dá určite využiť ako obrovská pomoc pri riešení nejakého problému. Aplikácií matematiky je nesmierne veľa a ľudia, ktorí vedia matematiku využiť vo svoj prospech teda majú k dispozícii veľmi silný nástroj.