Hibrid szimbolikus-numerikus módszerek

Hibrid szimbolikus-numerikus módszerek

 

A Springer kiadásában 2018-ban megjelent Mathematical Geosciences, Hybrid Symbolic-Numeric Methods c. könyv szerzői: Joseph Awange, Béla Paláncz, Robert H. Lewis és Lajos Völgyesi. A könyv hibrid szimbolikus-numerikus módszereket mutat be.

A könyv bevezetőjében a szerzők néhány példán keresztül mutatják be, hogy mit is jelent egy adott problémát numerikus, illetve szimbolikus módszerrel megoldani. A két módszer erősségeinek és gyengeségeinek összevetése után megmutatják, hogyan lehet a két módszer ötvözésével eredményre jutni.

Hogy bepillantást nyerjünk a hibrid módszerekbe, kövessük a szerzők által kitaposott utat, és lássunk néhány illusztratív példát.

Egy alapvető feladat az alábbi egyenletrendszer összes megoldását meghatározni:

begin{displaymath}begin{split}(x-2)^2 + (y-3)^2 - 5 &= 0,left(x-fra......ight)^2 + left(y-frac{3}{4}right)^2 - 5 &= 0.end{split}end{displaymath}

Egy vázlatos rajz után is már látszik, hogy a két kör két pontban metszi egymást, így ezek a metszéspontok az egyenletrendszer megoldásai.

Alapvetően két út áll előttünk, hogy a problémát megoldjuk. Az egyik lehetőség; szimbolikus módszer alkalmazása, vagyis algebrai átalakítások sorozatát végrehajtva kifejezzük az $ x$ és $ y$ ismeretleneket. Egy ilyen szimbolikus módszer lehet egészen egyszerű, mint például a teljes négyzetté alakítás egy másodfokú egyenlet esetében; vagy öszetettebb, mint a fenti példa esetében a Gröbner-bázisok alkalmazása. Az eredeti egyenletrendszer így átalakítható egy speciálalakú egyenletrendszerré, melynek megoldásai megegyeznek az eredeti rendszer megoldásaival:

begin{displaymath}begin{split}2113 - 3120y + 832y^2 &= 0,-65 + 16x + 24y &= 0.end{split}end{displaymath}

Az első egyenlet megoldásait behelyettesítve a második egyenletbe a metszéspontok egyszerűen meghatározhatók:

$displaystyle x = frac{130 pm sqrt{2639}}{104}, quad y = frac{195 mp sqrt{2639}}{104}.$

A másik lehetőség, hogy megpróbáljuk fokozatosan közelíteni a megoldásokat. Ez azt jelenti, hogy egy kezdeti $ p_0$ pontból kiindulva aritmetikai műveletek alkalmazásával egy újabb $ p_1$ pontot kapunk, ezt ismételve egy $ p_0, p_1, p_2, dots$ pontsorozathoz jutunk. A numerikus módszer akkor sikeres, ha az általa előállított sorozat konvergál az egyik megoldáshoz, így remélhetőleg nem túl sok iteráció után meghatározhatjuk az egyik metszéspont numerikus közelítését.

A fenti példa esetében alkalmazhatjuk a Newton-módszert:

$displaystyle p_{n+1} = p_n - [F'(p_n)]^{-1}F(p_n),$

amely az alábbi rekurzióhoz vezet:

begin{displaymath}begin{split}x_{n+1} &= frac{99 + 12 x_n^2 - 65 y_n + 12...... - 65 x_n + 8 x_n^2 + 8 y_n^2}{24 x_n - 16 y_n}.end{split}end{displaymath}

Kiindulva az $ x_0 = 4$ és $ y_0 = -1$ pontból, négy iteráció után az $ x = 2.731862605$ és $ y=0.8870915968$ eredményt kapjuk, ami 5 tizedesjegyig megegyezik a pontos megoldással. Ha a másik megoldást is meg szeretnénk találni, egy másik kezdetiértéket kell választanunk. Például egy megfelelő választás az $ x_0=-2,$ $ y_0=4$ kezdeti érték. Ugyanakkor a rekurzióból jól látható, hogy például a $ (0,0)$ pontból nem indíthatjuk az algoritmust. Az algoritmus csak akkor működik megfelelően, ha egyik pont sem esik az $ 24x - 16y = 0$ egyenesre, sőt a numerikus értékek miatt már az is probléma lehet, ha valamelyik lépésben túlságosan megközelítjük ezt az egyenest.

Nagy általánosságban megállapítható, hogy egy numerikus módszer:

  • Kezdeti értéket igényel, érzékeny a kerekítési hibákra és csak egyetlen megoldást ad.
  • Összetett problémák megoldására is alkalmazható, a lépések aritmetikai műveleteket igényelnek, így gépközeli nyelven könnyen implementálható gyorsan futó algoritmus.

Ezzel szemben egy szimbolikus módszer:

  • Nem igényel kezdeti értéket, nem érzékeny a kerekítési hibára és egyszerre több megoldást is ad.
  • Komplex problémák megoldására kevésbé alkalmazható, a számítási lépések algebrai manipulációkat igényelnek, így az implementációhoz komputeralgebrai rendszer szükséges.

A hibrid módszer ötvözi a szimbolikus és numerikus módszereket. Egy példa lehet a gradiens módszer, amivel az $ F$ többváltozós skalárértékű függvényt szeretnénk minimalizálni. A módszerből adódóan az alábbi alakú rekurziót kapjuk:

$displaystyle x_{n+1} = x_n - gamma_n nabla F(x_n).$

Tisztán numerikus módszert használva, a gradiens érékét csak közelíteni tudjuk. Ha viszont a gradienst szimbolikusan meghatározzuk, akkor egyrészt megszabadulunk a gradiens közelítése okozta numerikus hibától, másrészt iterációnként jelentősen kevesebb műveletre van szükség a gradiens értékének kiszámításához.

Egy másik példa, a numerikus és szimbolikus módszerek ötvözésére az

$displaystyle y''(x) - left(1-frac{x}{5}right)y(x) = x, qquad y(1)=2,quad y(3) = -1$

peremérték-feladat megoldása. Új változók bevezetésével a fenti másodrendű egyenlet átalakítható egy elsőrendű rendszerré:

$displaystyle begin{bmatrix}y_1'(x) y_2'(x)end{bmatrix} =begin{bmat......rix}y_1(x) y_2(x)end{bmatrix} +begin{bmatrix}0 xend{bmatrix}$

az $ y_1(1)=2$ és $ y_1(3)=-1$ peremfeltétellel. Alkalmazzuk a negyedrendű Runge–Kutta algoritmust az $ y_1(1)=2,$ $ y_2(1) = s$ kezdetiérték-problémára. A Runge–Kutta módszer iterációs lépése nem csak numerikus értékek esetén, hanem szimbólumokat tartalmazó kifejezésekre is elvégezhető, bár nem árt hozzá egy olyan számítógépes algebrai rendszer, mint a Wolfram Mathematica. Tíz iterációt elvégezve $ h = 0.2$ lépésközzel kapjuk, hogy

$displaystyle y(3) = 9.33669 + 2.8343 s,$

vagyis egy olyan kifejezést, amely tartalmazza a kezdeti értékben szereplő ismeretlen $ s$ paramétert. Fölhasználva a peremérték-feltételt, $ s$ értéke, és így a megoldás közelítése is kiszámítható.

Miután sikerült megvilágítani hibrid módszerek mibenlétét és hasznosságát, a könyv három fő részre oszlik. Az első rész nemlineáris egyenletrendszerek megoldását tárgyalja, ezen belül is előbb polinomiális rendszerekkel, majd később általánosabb nemlineáris rendszerekkel, illetve túl- és alulhatározott rendszerekkel foglalkozik.

A második rész optimalizációs módszereket mutat be, ezen belül is a „soft computing” megközelítésekkel találkozhatunk, többek között szerepel a szimulált lehűtés, a genetikus algoritmusok és részecskeraj-optimalizáció is.

Végül a könyv harmadik és egyben utolsó része függvények közelítésével és adatok modellezésével foglalkozik. Itt találkozhatunk a radiális bázisfüggvényekkel való közelítéssel, illetve a gépi tanulás témaköréből jól ismert SVM-mel (Support Vector Machine). Szintén érdekes a szimbolikus regressziót tárgyaló fejezet, ahol genetikus algoritmus segítségével próbálnak meg olyan szimbolikus formulát kitalálni, ami aztán jól illeszthető az adatokra. A robusztus regresszió egy szintén fontos téma, ahol például a RANSAC (RANdom SAmple Consensus) algoritmus is szerepel. Ez az algoritmus képes a kiugró értékekkel terhelt adatokra robusztus módon függvényt illeszteni. A sztochasztikus modellezés fejezetben találkozhatunk többek között sztochasztikus differenciálegyenletek numerikus megoldásainak módszereivel és paraméterbecsléssel is. Az utolsó fejezet végül azzal foglalkozik, hogy a hibrid módszerek hogyan használhatják ki a párhuzamos számítást.

A fejezeteket mindig alkalmazások és gyakorló feladatok zárják. Különösen itt érhető tetten a könyv címét is adó földtudomány, hiszen több, a könyvben bemutatott alkalmazás is a földtudományhoz kapcsolódik.

A legtöbb számítást programkódok segítségével követhetjük nyomon. Pontosabban Wolfram Mathematica programkódokat láthatunk, amelyek rendkívül jól olvashatók, még talán a programozásban kevésbé jártasak számára is. Annak pedig, aki gyakorlott használója a Mathematica programnak, kifejezetten élvezetes lehet ezen számítások olvasása. Az ábrák kimagaslóan jó minőségűek, szépek és hasznosak.

Az egész könyv gyakorlati központú, rengeteg példát tartalmaz, ezért bátran ajánlom minden olyan érdeklődő számára, aki nem csak tanulni akar hibrid módszerekről, hanem alkalmazni is akarja azokat.

Csikja Rudolf
 

 

Csikja Rudolf a BME villamosmérnöki szakán végzett robotika szakterületen, majd a BME TTK doktori iskolában folyatatta tanulmányait  matematika PhD képzésen, dinamikai rendszerek témában. A Wolfram Mathematicát több, mint 10 éve használja, a járműdinamika és szabályozás területén algoritmus fejlesztőként  dolgozik a Thyssenkrupp Components Technology Hungary Kft-nél.