Naujas Lietuvos mokslininko požiūris į matematiką: kaip taupyti kompiuterių resursus?

Komentarai Prisijungti

Viršuje:   Seniausi | Naujausi

Laiqualasse 2011-05-18 12:10
Labai trūksta paveiksliukų... Sunku suprasti, ypač pavyzdžiuose, kur ten kuris kampas.
kurmis 2011-05-18 13:04
Įdomiai skaičiau. Patiko. Gerai yra žinoti įvarius skaičiavimo būdus su kampais, trigonometrinėmis f-jomis, h-geometrija ir t.t. Svarbu suprasti bei žinoti iš ko kas susideda, žingsnis po žingsnio. Yra tokia kinų patarlė: .
Jomajo 2011-05-18 14:42
ir kaip tai susija su pavadinimu. skaiciuoti paciam, kad taupyti pc resursus?
Laiqualasse 2011-05-18 17:35
Skaičiavimas, naudojantis h-geometrija, yra paprastesnis, nes tokiam pačiam tikslumui pasiekti reikia atlikti mažiau slankiojo kablelio (t.y. floating point) operacijų.
Domas1 2011-05-18 20:34
Nieko naujo, visas sias lygtis dar maciau kai studijavau universitetuose. O del optimizavimo, visada yra kur judeti, bet kas liecia nauja skaiciavimu poziuri i kompiuterio resursu taupyma sia tema, tai nieko tiesa sakant cia sitame straipsnyje neradau, visi Dr. tik ir moka is tuscio i kiaura pilstyti, uz ka tie laispniai nesuprantu. Mano nuomone resursu poziuris jau yra kitoks is savo praktikos ir uzsienio kompaniju bei su universitetais praktikos, dabar niekam nerupi kaip padaryti uzdavini greita, svarbu jog uzdavinys vienoks ar kitoks itilptu i serverio, kompiuterio ar sumanaus telefono resursus. Nes tai ka dabar raso straipsnyje niekas nesidomi tuo, tai jau pasenes dalykas, matyt Lietuvos matematikams nera daugiau ka veikti o tik isradineti dvirati kai jis ir taip israstas. Siulau ka nors naujo sumodeliuoti ar kokia formule ar dar ka sugalvoti va tai jau ir bus ne tik darbas bet gal ir nobelio premija, pvz kaip nulauzti SSL 256bit rakta pasitelkus matematinius modelius :]
Karvė 2011-05-18 20:49
Xdmin 2011-05-18 20:53
Manau jis turejo omenyje kad neoptimizuojama iki galo, o tik tiek kad aparatas "paveztu".
Bomber 2011-05-18 23:33
Na palikti žodį 'naujas' straipsnyje, kuriame rašo apie 4 metų (o gal ir daugiau) senumo dalykus tai kiek keistoka
vaices 2011-05-19 12:29
Aciu uz straipsni. Visada malonu suzinoti kazka naujo. Prisimenu, kaip 1989 metais ant Atari Basic rasiau programa dvieju kintamuju lygties pavaizdavimui 3D erdveje. Sinusu skaiciavimas uzimdavo nesamoningai daug laiko ir programa baisiai letai veike Tekdavo pries naudojima, visas reikiamas sinusu reiksmes skaiciuoti i masyva ir paskui jau imti kaip paruostus duomenis. Butu kas nors tada parodes H-geometrija ...
Done 2011-05-19 13:35
Ačiū už gerus komentarus. Matosi, kad komentarų autorius puikia supranta skaičiavimo problemas. Čia pateikta tik trumpa informasija. Yra išėję kelios knygos tuo klausimu. Donaldas
HardAxe 2011-05-19 13:48
šiandien turint tokius kompiuterinius resursus dažniausiai pigiau naudoti galingesnę skaičiavimo techniką ir rašyti algoritmus paprastesne, lengviau suprantama forma. C++ veikia greičiau už .net ar java, bet pastarosios yra vyraujančios kalbos. Kodėl? todėl kad aukštesnio lygio, nors ir lėtesnė, programavimo kalba leidžia daug greičiau išspręsti uždavinį, palikti mažiau klaidų bei greičiau jas pataisyti. Dažnai rezultato reikia ne kuo greičiau, o kuo geresnio rezultato per priimtiną laiko tarpą. Pvz jeigu statyčiau namą ir jį projektuotų kompiuteris aš galiu palaukti savaitę, tegu tik jis padaro 10% taupesnį projektą. Ta pati programa parašyta efektyvia programavimo kalba rezultatą rastų.. sakykim per pusdienį. Jos sukūrimas kainuotų n kartų daugiau. Ką rinksis vartotojas? palauti kelias dienas ar papildomai mokėti? Papildomai mokėti už efektyvesnę programą? O gal pigiau nusipirkti brangesnę techninę įrangą? h -geometrija ir panašūs dalykai yra gerai, bet juos turi išmokti studentai laisvai naudoti. Jeigu išmokysim studentus h-geometrijos ale "tokia yra, ir ji efektyvi" nieko nebus. Visų pirma skaičiavimai jiem turi patikti.
Done 2011-05-19 14:16
h -geometrija ir panašūs dalykai yra gerai, bet juos turi išmokti studentai laisvai naudoti. Jeigu išmokysim studentus h-geometrijos ale "tokia yra, ir ji efektyvi" nieko nebus. Visų pirma skaičiavimai jiem turi patikti. [/quote] Ačiū už profesionalius komentarus. Aš suprantu Jūs visus skaičiavimus matyt darote laboratorijoje ir galite pasirinkti kaip kompiuterį, taip kalbas. Šiandiena yra labai daug (gal daugiausia) uždavinių, kuriuos reikia spręsti labai greitai, o tie kompiuteriai yra kosmose arba skrendančioje raketoje. Ten viena milisekundė yra daugTen tokios pasirinkimo laisvės nėra. Sutinku su Jumis, kad to pirmoje eilėje reikia išmokyti studentus. Gaila, bet iki šiol, visi tie kurie skaito paskaitas studentams abejingai žiūri į matematinius modelius sukurtus h-geometrijos pagrindu. Aš pasirengęs susitikti su bet kuo kas norėtų gauti daugiau informacijos ar susipažinti su mano išleistomis knygomis tuo klausimu. Mano E.M. dzanevicius@yahoo.com Donaldas
Laiqualasse 2011-05-19 15:14
Šiaip priklauso nuo srities. Iš savo varpinės (teorinės astrofizikos) pasakysiu, kad apie .net ar java niekas net negalvoja, visi kodai rašomi C++ arba Fortran. Ir va šitose srityse optimizavimas labai reikalingas, taigi bet kokie nauji algoritmai labai padeda.
HardAxe 2011-05-19 16:04
Su kosminėmis/medicinos/karo technologijomis viskas aišku. Ten turi būti tikslu, efektyvu ir 10 kartų ištestuota. Galu gale vistiek yra paklaida ir ji turi būti apibrėžta. Norint plėtoti modernius sprendimus reikia studentus išmokyti taip, kad darbe susidūrę su problema bendradarbiui sakytu, "čia gi galim h-geometriją pritaikyt. negirdėjai tokios? afigienas daiktas, einam užsikaisim arbatos, papasakosiu" Moksliškai vestų paskaitų turinys baigia pasimiršti. Bet gerai prisimenu ką rašėm, kai dėstytojas pasakė "dešimt greičiausiai uždavinį X sprendžiančių programų bus apdovanota +1 balu".
TLas 2011-05-19 18:00
Kazkaip ne i tema sneki, o ir pavyzdziai pas tave visiskai netike. TU galvok, kad pavyzdziui yra super kompiuteris kuris skaiciuoja kokio branduolinio ginklo panaudojimo pasekmiu, staigios zemes temperaturos kitimo ar panasaus tipo uzdavinius... Ir jis turi atsizvelgti i begales desniu, begales nezinomuju ir t.t... Toks skaiciavimas net ir siu dienu super kompiuteriui gali uzimti metus ar panasiai... Tai jei ta laika butu galima radikaliai sutrumpinti butu didziulis laimejimas. Galu gale, kitas pavyzdys, tarkim kad tavo ismanusis telefonas galetu greitai veikti, jam reikia tarkim 1ghz procesoriaus. Kai tuo tarpu naudojant si metoda butu imanoma prasisukti su silpnesniu procesorium, tai ne tik kad savikaina sumazeja, bet svarbiausia reikalingas energijos kiekis, to pasekoje baterija tarnautu ilgiau. Esme kad su tom paciom sanaudom galima butu pasiekti geresnius rezultatus, tai labai svarbu. Taciau pereiti nuo vieno metodo link kito gali buti pakankamai sudetinga, cia jau ne mano kompetencija, tiksliai nezinau:)
HardAxe 2011-05-20 10:22
TLas<< Kodėl tada smatphonų API naudoja java? na mac naudoja objective C. Kodėl programuotojai džiaugiasi, kai išeina nauja telefoninė OS javos pagrindu? Esu susidūręs su algoritmavimu, optimizacijomis, simuliacijomis (tame tarpe GRID'e). Nesu srities specialistas. Bet laidytis kritika kitų įdėjoms spėjau išmokti Mano išmanusis telefonas gali veikti taupiai/greitai, arba gali veikti gražiai. Gali veikti greitai, arba gali turėti tūkstančius vartotojų sukurtų programų. Mes daugiau sumokam už hardware (apple, android), kad programuotojai galėtų lengviau kurti programinę įrangą, nes pigesnis HW ir PĮ įranga (nokia symbian) veda prie skurdesnio PĮ pasirinkimo. Kompiuterinės simuliacijos kompiuterių resursų valgo tiek, kiek jų turi, čia nieko nepakeisi. Jeigu turėsim galingesnį kompiuterį darysim detalesnę simuliaciją. Euristiniai algoritmai randa geriausią sprendimą kurį gali tilpdami į jiems duotą laiką. I. Kam man domėtis performance problemomis? Performance yra gerai. Tokie darbai tikrai reikalingi, aš priešingai tikrai neteigiu. Tačiau kasdienybėje aš naudosiu sin(x) funkciją, kuri skaičiuos sinusą. Galbūt ji tai darys lėtais metodais, o gal sin skaičiavime bus naudojama pono Donaldo aritmetika. Iš esmės man neįdomu kaip kompiuteris atliks skačiavimus. Jeigu modeliuosiu orus nepradėsiu modeliavimo kurti nuo nulio, naudosiu matematinius paketus. Man vėlgi neįdomu kaip tie paketai veikia, paimsiu kelis, išsirinksiu greičiausią ir naudosiu. Kažkas turės sukurti tuos greitus skaičiavimo metodus ir bibliotekas, bet tam užtenka kelių žmonių visai lietuvai. Donaldo darbas reikalingas. Elektros tinklų inžinieriaus darbas irgi labai reikalingas, bet tai neverčia manęs gilintis į elektros perdavimo ypatybes. II. O tai kaip tada mane sudominti? Kaip jau rašiau jeigu universitete dėstytojas būtų davęs iššūkį sukurti efektyviausią skaičiavimą uždaviniui, ir pasiūlęs H-skaičiavimus kaip keywordą iš grupės būtų atsiradę 5-10 žmonių, kurie po kurso mokės H sistemas. Ir tie priimantys iššūkį bus geriausi/gudriausi studentai. Man pasirodė, kad Donaldas nori plėsti savo įdėjas, todėl ir rašau savo nuomuonę apie algoritmų populiarinimą.
sigun 2011-05-20 17:41
Va va, tipiškas programerio požiūris - taigi nusipirkit greitesnį serverį, ir viskas veiks. Reikia paleisti naują www svetainę - nusipirkit naują serverį. Reikia naujo apskaitos modullio - statykit SAN, diekit optiką ir kiekvienam moduliui po naują serverį... Hmm, primetam kainą, primetam kiek tai srėbs elektros, kiek reikės kondicionierių ir pasirodo esamo elektros įvado nebeužteks. Hmm, dėkui, nereikia... Mes gal luktelsim, kol atsiras suprantantys apie optimizavimą. Kokiais 2005m. gan žinoma LT kompanija gaminanti apskaitą buvo padarius tokį fokusą - ima visą lentelę (tuo metu ~GB duomenų) ir jau klientinėje dalyje daro filtravimą. Į parodymą pirštu, jog taip labai negerai, konsultanto atsakymas - tai kokios problemos, įsidiekit gigabitinį tinklą! Kai atėjo laikas tobulinti ir konsoliduoti apskaitą, konkurse jie pralaimėjo, nebuvo jokių sentimentų šiai kompanijai...
Karvė 2011-05-20 17:58
Na čia labai priklauso nuo programerio lygio. Jei jis su PHP puslapius kuria kurie sukurti 1000 lankytojų per dieną ir ateina 2000, tai jau jam atrodo kosmosas, vos ne skaičiavimų centrą reikia statyti. Labai sveika yra paspresti tikrai sudėtingas problemas, kurios šiaip yra NP ir kur reikia naudoti įvairias heuristikas. Ne tik paspręsti teorijoje, bet ir praktikoje. Tuomet labai greitai supranti, kiek reiškia algoritmų sudėtingumas. Po to supranti, kodėl kartais gali savaites sėdėti spręsdamas problemą, kai vizualiai niekas nepasikeičia, bet po to gali 10K unikalių lankytojų per dieną portalą paleisti ant nenaujo kompo ir viskas suksis greičiau nei turinčiam tokį patį lankytojų skaičių, tačiau statančiam jau 3 brangų serverį. Efficiency is everything!
faktas 2011-05-22 02:35
Idėją supratau, bet labai į detales nesigilinau. Įdomus straipsnis. Tik nelabai supratau, kodėl šis naujas metodas dar netaikomas visose skaičiavimo sistemose? Sutaupytų energijos ir laiko. O dėl pi, tai mokykloj skaičiuodamas ją į lygtis rašydavau ne kaip 3,14, o 22/7 ir dažnai gražiai arba beveik gražiai išsiprastindavo be jokių begalinių kablelių. Matematikos aš visą gyvenimą nemėgau, o po termodinamikos kurso tai net pradėjau nekęsti šio mokslo, bet kai susidūriau su gyvenimiška užduotimi, kai reikėjo parašyti sudėtingą 9 parametrų ir jų grupių priklausomybių lygtį, supratau, kad matematika vis gi užkabinantis mokslas. Pradėjus gilintis pradeda patikti.
HardAxe 2011-05-23 18:01
Daug NP uždavinių esu sprendęs. Tame tape moksleivių/studentų olimpiados, bakalaurinis, magistrinis. 100% performance pagerėjimo per dvigubą laiką dažniausiai nepadarysi. Padarysi, sakykim 20% našesnį produktą. Taigi vietoj 1 savaitės prasėdėsi 2 savaites, app suksis 20% greičiau. Rezultate turim 2x brangesnį ir 20% efektyvesnį produktą. Yra sistemų, kai tai daroma, bet pagalvokit patys kiek. Ar jus pirktumėte 2x brangesnius žaidimus, kurie ant to paties PC rodo 20% FPS daugiau? Beje, jis bus dar ir 2x sudėtingesnis, vėliau sunkiai taisysim klaidas... Šita negalioja specifiniam softui, bet kasdieniniam taip. P.S. Karve, sunkiai įsivaizduoju NPuždavinius web puslapyje?