Ima li 'leba od programiranja

Naravno da moze..samo radi za strendzere, a ne za nase

Naravno... naši su ipak klasu ispod... npr. moja drugarica je upravo ovog ljeta diplomirala na FTN mat-inf smjer, prosjek jedan od najboljih studenata FTN-a, a plata joj je 400 evra, od toga 200 zvanično i 200 na ruke.... tako mi reče.... doduše ona jeste početnik, bez nekog iskustva, ali ovo je teška podvala i gazda tako postupa garant i sa drugim radnicima, koji imaju iskustva.... :confused:
 
Moze i te kako da se zivi. Ja radim kao freelancer i bash pristojno zaradjujem. Naravno kao i u svakom drugom poslu morash da steknesh odredjeno iskustvo kako bi svoje znanje mogao da naplatish. Slazem se da je najbolje raditi za strance,ali onda morash razmishljati da sam sebi uplacujesh staz i ostalo. Inace, pre par nedelja je B92 pravio reportazu o najplacenijim poslovima u srbiji i na prvom mestu su bili poslovi iz IT-a, pa ti vidi :).
 
Evo, moj programerski prvenac u MS Visual C#:

http://rapidshare.com/files/417940217/Cellular_Network_Toolbox.zip

Još tu ima posla, ali obučavajući algoritam je proradio. Fora je da e sa leve strane napravi mali maze lavirint. Crna polja predstavljaju prepreke, dok su bela slobodna. Žutim poljem je obeležen cilj. Zatim implementirana neuronska mreža uči da nadje udaljenost za svakog polja u D[SUB]4[/SUB] prostoru.
Naravno problem nije težak, pa se može egzaktno rešiti pomoću male petlje od svega dvadesetak redova.
Nasuprot tome algoritam koji obučava mrežu za takav zadak je oko 400 linija, i izvršava se nekih 5min na mom kompu.

Sveukupno, ispao je program oko 4000 linija koda.

Jedan izvršni fajl otvara grafičko okruženje u kojem je moguće štelovati razne parametre, a drugi je u konzoli i ima unared predefinisane parametre, s tim što kreira generički matlab komandni fajl i bolje prikazuje ono ispod haube.

Ako nekom padne na pamet da klikne na dugme learn maze, ne treba da se čudi ako program prividno zablokira. Zapavo, izvršava obučavajuću petlju a to ume da potraje.

Sad slede eksperimenti sa različitim oblicima lavirinta....
 
Bravooo! :)

p.s. Je l' ima možda algoritam ukratko opisan, kako funkcionišu ove matrice? Ako nemaš nema veze, samo da pogledam, za sada se ne planiram ovim baviti. :)


Te dve matrice nisu ništa drugo do:

Y = J(X)

gde je X ulazna matrica (sa leve strane), a Y izlazna (sa desne). Čak ne moraju biti ni iste veličine, kao ove u primeru. Poenta je da ja unapred znam kakvu izlaznu matricu želim za neku zadatu ulaznu, ali ne znam preslikavanje J koje daje rezultat koji želim. Onda napravim veštačku neuronsku mrežu koja se obuči da aproksimira funkciju J sa nekom malom greškom koju mogu da zanemarim.

X može biti i nešto konkretno, kao na primer bitmap skeniranog slova, a Y ASCII vrednost znaka. Onda ja napravim obučavajući skup od puno slova gde svakm ulaznom podatku dodelim gotov izlaz i pustim algoritam.

posle dovoljno iteracija (može ih biti dovoljno da program radi ceo vikend), kaže teorija, mreža će svesti grešku na neku minimalnu vrednost.

inače, može kod, naravno. evo onaj prvobitno napisan, u C jeziku: ova dva u C# su smao malo bolje našminkani, algoritam je potpuno isti.
 
Te dve matrice nisu ništa drugo do:

Y = J(X)

gde je X ulazna matrica (sa leve strane), a Y izlazna (sa desne). Čak ne moraju biti ni iste veličine, kao ove u primeru. Poenta je da ja unapred znam kakvu izlaznu matricu želim za neku zadatu ulaznu, ali ne znam preslikavanje J koje daje rezultat koji želim. Onda napravim veštačku neuronsku mrežu koja se obuči da aproksimira funkciju J sa nekom malom greškom koju mogu da zanemarim.

X može biti i nešto konkretno, kao na primer bitmap skeniranog slova, a Y ASCII vrednost znaka. Onda ja napravim obučavajući skup od puno slova gde svakm ulaznom podatku dodelim gotov izlaz i pustim algoritam.

posle dovoljno iteracija (može ih biti dovoljno da program radi ceo vikend), kaže teorija, mreža će svesti grešku na neku minimalnu vrednost.

inače, može kod, naravno. evo onaj prvobitno napisan, u C jeziku: ova dva u C# su smao malo bolje našminkani, algoritam je potpuno isti.

Hvala. :)
 
a cemu sluzi taj program.......msm skinucu ali ipak nzm o cemu se radi ?? :D :D :D

Primer paralelnog programiranja. Gde više nezavisnih jedinica jednostavnim proračunima dolazi do finalnog rešenja radeći paralelno, i relativno jednostavne proračune. Konceptualno se razlikuje od redosednog, gde se do rešenja dolazi određenom sekvencom komandi. Takođe, ima sposobnost da uči.
 
Ah ti svemogući Amerikanci..... Prvi značajan uspeh na tom polju je načinjen 1989:
I. Guyon, I. Poujaud, L. Personnaz, G. Dreyfus, J. Denker, and Y. LeCun,
Comparing Different Neural Net Architectures for Classifying Handwritten
Digits, in Proc. 1989 IJCNN II 127-132, Washington DC. IEEE, (1989).

Kasnije se javilo još mnogo radova na tu temu. Nisam pratio njihov rad, ali kontam da je za poslednjih 20 godina priča znatno unapređenja. Takođe, vrlo je izvesno da je tek poneka pošta u svetu dovoljno inteligentna da ovakvu tehnologiju primeni.
 

Back
Top