ducin blog®:
kako to rade pravi majstori

Matematika za programere

Ovo je jedno od "onih" pitanja. Koliko znanje matematike može da Vam pomogne da bolje razumete računare ili poboljšate svoje programerske veštine? Verovano ste već stotinu puta čuli kako je računarska nauka u suštini samo drugi naziv za matematiku. Kako je matematika u osnovi svega. Kako kada učite matematiku oštrite svoj um, i način razmišljanja. Kako će to znanje jako da Vam koristi…

Reći ću Vam iskreno. Sve su to laži. MATEMATIKA VAM NE TREBA UOPŠTE! Barem ne ako čitate ovaj blog

O matematici sam imao prilike da učim na teži način. I to od ljudi koji pričaju izlizane fraze sa početka ovog teksta. No kako naš narod kaže(imamo mi i po koju dobru), o pokojniku sve najlepše. Tako cilj nije da pričam o PMF-u. Pričaću Vam malo o matematici i računarima.

Kako ne volim da generalizujem stvari, iskreno bi bilo da kažem da znanje matematike može da razjasni neke stvari. Daleko o toga da će te bilo šta od sledećeg moći da upotrebite u redovnim programerskim zadacima. Ali, ako volite da čitate, i onda kada ne morate, i ako volite da učite nove stvari, predložene teme mogu da budu dobar putokaz. Kako Vam to drugi neće reći, posebno ne oni sa početka teksta, bilo bi dobro da sada pažljivo slušate.

Preporuka za proučavanje

  • Formalne teorije
  • Aksiomatski sistemi, deduktivno zaključivanje, aksiome, teoreme, dokazi, izvođenje
  • Teorija skupova, relacije, funkcije
  • Brojevi: prirodni, celi, racionalni
  • Gedelova teorema
  • Elementarna algebra: matrice, sistemi jednačina...
  • Grafovi (Za ovo će Vam svi reći da je jako bitno. Ja se još nisam sreo ni sa jednim realnim problemom koji je rešenje imao u grfovima. Niti znam nekoga ko zna ikoga ko je ovo koristio u svakodnevnom radu. Naravno nisam projektovao niti jedan ruter.)
  • Kombinatorika: kardinalnost, permutacije, varijacije, kombinacije
  • Elementarna verovatnoća

Ono što bi moglo da Vam bude od koristi

  • Elementarna analitička geometrija 3-dimenzionalnog prostora: koordinatni sistem i njegove transformacije, jednačine prave, ravni i sfere, preseci, razdaljine, skalarni i vektorski proizvod...(Ukoliko se bavite 3D programiranjem)
  • Furijeove transformacije(Kompresija podataka sa gubitkom)

Ono što Vam nikada neće trebati

  • Kontinum hipoteza(majka svih sranja)
  • Neeuklidske geometrije, geometrija Lobačevskog
  • Limes
  • Nizovi, redovi
  • Infinitezimalni račun: diferencijali, integrali
  • Grupe, prsteni, polja
  • Metrički prostori
  • Analitička geometrija n-dimenzionog prostora
  • Funkcije više promenljivih, funkcije kompleksne promenljive
  • Finansijska matematika
  • Diferencijalne jednakosti i nejednakosti
  • Numerička analiza
  • Diferencijalna geometrija
  • Statistika

"Prokleti fon Nojman…"

Ima i drugih, sem mene, koji misle da bi najbolje bilo da zaboravite sve što ste znali o matematici. I to sa vrlo jakim argumentima. Karl Fant u svojoj knjizi, tako pokušava da razbije mit da je matematika osnova računarske nauke, a da je algoritam fundamentalni koncept.

Zar i nije tako? Zar svi mi nismo svedoci aktuelnog problema, kako nas algoritamski pristup sprečava da paralelizujemo naše programe?

Krivci za sve su, kako Fant sugeriše, Nojman i Tjuring. Ili malo preciznije, nesreća je da su pioniri računarske nauke bili matematičari. Tako, danas, uglavnom imamo pogled na stvar iz matematičkog ugla. Međutim, problem je što matematika postavlja potpuno pogrešna pitanja u ovom kontekstu. Što su nalazi matematike potpuno neprimenjivi za naše današnje probleme. Tako je i algoritam nepotrebno nametnut koncept, koji se retko gde uklapa kao prirodno rešenje.

Fant iznosi i sledeće činjenice koje će Vas naterati na razmišljanje: "Operativni sistem ne bi trebalo da okonča rad u konačnom vremenu. Niti će OS kao rezultat rada dati jedinstveno rešenje. Rad OS-a ne može da bude određen(determinisan), obzirom da je uslovljen nizom nepovezanih ulaza iz spoljašnjeg sveta, koji su potpuno slučajni. Bilo koji program koji rad zasniva na slučajnim ulaznim vrednostima nije algoritam."

Sreća je samo što većina potpuno zanemaruje ovaj matematički pristup. Ne zato što neka teorija tako kaže, već zato što u praksi nema nikakve veze između teorije i prakse…

Napisao: duca
Nema komentara za ovaj tekst

Napišite komentar

Ime

E-mail(ne prikazuje se)

Web adresa(opciono)


Spam kontrola: Koliko ima dana u nedelji?(brojevima)
Privatnost | Pravila korišćenja | | tel: +381646180655
© 2007 Dušan Pantelić. Sva prava zadržana.
From Russia with love, nginx! | FreeCSSTemplates.org