DIGITALNI DOMOROCI

VEŠTAČKO PROGRAMIRANJE

Program piše program (Majkrosoft)

Program piše program (Majkrosoft)

Kompanija „Majkrosoft” i Univerzitet Kembridž uveliko rade na programu veštačke inteligencije „dipkoder” (DeepCoder) koji može sam da piše programe.

Đorđe Janjić

Đorđe Janjić

Prvi globalni programski jezik „fortran”,  nastao 1954. godine, i dalje koristi za najviše nivoe programiranja u merenju odlika najbržih superkompjutera. U ovom razdoblju pojailo anj mnogo programskih jezika, čak se može reći da ih ima previše. Od starijih, kao što su „si” (C) i „paskal”, do relativno novijih „si šarp” (C#) i „džava”.

Iako smo blizu treće decenije 21. veka, programiranje još nije na svom vrhuncu. Bez obzira na to, ova tehnologija seksponencijalnim rastom i sve bržim i efikasnijim kompjuterskim kompnentama, dovodi do napretka u veštačkoj inteligenciji i mašinskom učenju. Kompanija „Majkrosoft” i Univerzitet Kembridž uveliko rade na programu veštačke inteligencije „dipkoder” (DeepCoder) koji može sam da piše programe.

Istraživači su koristili
proste, već rešene programske
kôdove i pokazivali algoritmu
ulaze, izlaze i sam kôd.

Šta on predstavlja i čemu služi? Baziran je na tehnici induktivne programske sinteze. Koristi kôdove iz velikih baza i one koji su mu potrebni, može tako da kreira potpuno funkcionalan program. Vremenom postaje sve bolji i efikasniji u ovom procesu, pogotovo nakon sve intezivnijeg rada i sklapanja programa.

Biće veoma koristan u preuzimanju dosadnog dela posla koji programeri često ne žele da rade. Treba imati u vidu da ovaj sistem ne može da pravi kompleksne programe od male baze kôdova.

Kako funkcioniše? Matematički problemi imaju svoje ulaze i izlaze. Istraživači su koristili proste, već rešene programske kôdove i pokazivali algoritmu ulaze, izlaze i sam kôd.

Dok je za ljude veoma lako da prepoznaju koja linija kôda treba da ide na početak, a koja ispod, za mašine je to težak posao. Međutim, ako mašina vidi na stotine hiljada puta slične kôdove, u stanju je da nauči kako da ređa linije kôda kako bi program funkcionisao.

Kada treba da se reši novi problem, algoritam predviđa koji je kôd idealan i po kom redosledu za rešavanje istog.

Korišćenje poznatih celih programskih jezika za ovaj program bilo bi previše kompleksno, pa su „Majkrosoft” i Kembridž kreirali novi programski jezik (Domain-Specific Language, DSL), specifičan i jednostavniji za proces koji se odvija u okviru program. Do sada je „dipkoder” rešavao uspešno probleme sa 3-6 linija kôda i oni su bili matematičke prirode sa inputima.

Prema rečima Armanda Lezama sa MIT-ija, ovaj program neće predstavljati problem za ovu granu i neće oduzimati poslove. Štaviše, pružaće pomoć developerima pomoću svoje neuronske mreže, jer će analizirati kôdove iz velikih baza i izvlačiti ono što je potrebno za program na kojem se radi.

Mark Brokšmit iz „Majkrosofta” kaže će novi program biti veoma koristan alat i za one koji nisu programeri, dovoljno je da opišu svoju ideju i veštačka inteligencija će sve uraditi za njih.

„Dipkoder” se još doteruje, trebalo da bude potpuno funkcionalan za pet-šest godina. Za sada je limitiran u svojim mogućnostimam, rešava probleme koji se sastoji od već tri do šest linija. Istraživanja u mašinskom učenju sve više daju rezultate, očekuju nas uzbudljive godine.

O autoru

Stanko Stojiljković

Ostavite komentar