[ markoub @ 23.01.2009. 13:10 ] @
Radim procenu povrsine neke f-je (isto sto i odredjeni integral), ali preko verovatnoce, tj. statistike...

Dakle, ko nije upoznat, postoji algoritam Monte Carlo, koji se zasniva na generisanju mnogo vrednosti unutar domena i kodomena f-je,i proveravanje koliko njih je ispod grafika.

Drugim recima, funkcija se stavi u "pravougaonik", generise se mnogo tacaka iz pravougaonika, i na kraju je povrsina figure=(broj tacaka koji su ispod f-je/ukupan broj generisanih tacaka)*povrsina pravougaonika.

to sve lepo radi kada ja zadajem primere, vrlo je precizan i tome slicno! :-)

Problem nastaje jer pokusavam da napravim "generalno" resenje. Parsiranje i sve sam odradio, domen odredjuje korisnik (kao i kod "normalnog" racunanja odredjenim integralom), ali kodomen (tj. maximum, supremum f-je) ne mogu da izracunam...

Jedini metod koji mi pada napamet je preko izvoda... A to mi se nikako ne svidja... :-( jedva sam isparsirao unos (jer je svasta dozvoljeno veliki broj f-ja), nikako mi se ne rade izvodi... :-(

Moje trenutno resenje je samo da prodjem kroz celu f-ju za nekih par hiljada vrednosti x, pa da vidim za sta sam dobio najvece y... :-( ali to nikako nije srecno resenje...

Hvala unapred! :-)
[ Nedeljko @ 23.01.2009. 13:55 ] @
Proguglaj malo na temu intervalnog racuna ili intervalne algebre. Zatim domen D podeli na veliki broj podintervala I1,...,In, pa preslikaj funkcijom svaki od tih intervala. Najveca gornja granica ce ti biti gornja procena supremuma, a najmanja donja granica ce ti biti donja procena infimuma. Donju procenu supremuma i gornju procenu infimuma dobijas montekarlo metodom.
[ Časlav Ilić @ 24.01.2009. 10:54 ] @
Citat:
markoub: Moje trenutno resenje je samo da prodjem kroz celu f-ju za nekih par hiljada vrednosti x, pa da vidim za sta sam dobio najvece y... :-( ali to nikako nije srecno resenje...


Nažalost, ne postoji algoritam koji garantuje da će pronaći supremum, odnosno infimum proizvoljne funkcije na datom intervalu. Tako da je ovo tvoje „nesrećno“ rešenje jedno od robusnijih što se tiče procene *muma.

Jedino iz stilskih razloga, dok računaš integral mogao bi da ažuriraš najvišu tačku iznad grafika, najnižu ispod grafika, najvišu ispod grafika i najnižu iznad grafika. To će ti na kraju dati procene kako Nedeljko nabroja.
[ Nedeljko @ 24.01.2009. 17:32 ] @
Časlave, itekako postoji algoritam (pomoću intervalne algebre) za numeričko pronalaženje supremuma i infimuma sa željenom tačnočću, ako su na ulazu dati interval preko granica i funkcija kao izraz.
[ barum @ 25.01.2009. 10:50 ] @
Najlakše bi bilo iz broja uzoraka i zahtevane pouzdanosti odrediti donju i gornju granicu opsega.

Kada parsiraš, da li praviš dinamičku strukturu u obliku stabla? Ako stablo već imaš onda nije mnogo teško naći mu izvod. Ja sam ranije radio izvod i integral samo nisam bio kompletorao optimizaciju izraza za finalni prikaz u prirodnijoj formi. Ponekad je umelo da se pojavi duplo i troduplo množenje i razne stvari koje se potiru... Ali za računanje vrednosti nekoliko dodatnih množenja nije nikakav problem i optimizacija nije potrebna. Dakle spust niz stablo radi se od korena. Potrebna ti je funkcija za kopiranje podstabla. Ako recimo imaš čvor sa znakom množenja onda u stablu izvoda praviš čvor sa znakom sabiranja i levo i desno mu napraviš po čvor sa množenjem i zatim levom množenju zakačiš kopiju levog podstabla množenju iz originalnog drveta kom računaš izvod a u desno podstablo zakačiš rezultat rekurzinog pozivanja funkcije izvoda desne strane originalnog množenja. Zatim slično uradiš i sa drsnim čvorom množenja u stablu izvoda samo kopiraš kontra podstablo i tražiš izvod od kontra podstabla. I imaš sve slučajeve množenja odrađene za izvod. Slično je i sa deljenjem i eksponencijom a najlakše sabiranje oduzimanje i primitivne funkcije jer nema rekurzije.
[ Nedeljko @ 25.01.2009. 12:04 ] @
Ma, nije potreban nikakav montekarlo. Supremum i infimum se mogu intervalnim računom potpuno pouzdano odrediti sa datom tačnošču, čak efikasnije nego montekarlom.