Компанија „Мајкрософт” и Универзитет Кембриџ увелико раде на програму вештачке интелигенције „дипкодер” (DeepCoder) који може сам да пише програме.
Први глобални програмски језик „фортран”, настао 1954. године, и даље користи за највише нивое програмирања у мерењу одлика најбржих суперкомпјутера. У овом раздобљу појаило ањ много програмских језика, чак се може рећи да их има превише. Од старијих, као што су „си” (C) и „паскал”, до релативно новијих „си шарп” (C#) и „џава”.
Иако смо близу треће деценије 21. века, програмирање још није на свом врхунцу. Без обзира на то, ова технологија секспоненцијалним растом и све бржим и ефикаснијим компјутерским компнентама, доводи до напретка у вештачкој интелигенцији и машинском учењу. Компанија „Мајкрософт” и Универзитет Кембриџ увелико раде на програму вештачке интелигенције „дипкодер” (DeepCoder) који може сам да пише програме.
Истраживачи су користили
просте, већ решене програмске
кôдове и показивали алгоритму
улазе, излазе и сам кôд.
Шта он представља и чему служи? Базиран је на техници индуктивне програмске синтезе. Користи кôдове из великих база и оне који су му потребни, може тако да креира потпуно функционалан програм. Временом постаје све бољи и ефикаснији у овом процесу, поготово након све интезивнијег рада и склапања програма.
Биће веома користан у преузимању досадног дела посла који програмери често не желе да раде. Треба имати у виду да овај систем не може да прави комплексне програме од мале базе кôдова.
Како функционише? Математички проблеми имају своје улазе и излазе. Истраживачи су користили просте, већ решене програмске кôдове и показивали алгоритму улазе, излазе и сам кôд.
Док је за људе веома лако да препознају која линија кôда треба да иде на почетак, а која испод, за машине је то тежак посао. Међутим, ако машина види на стотине хиљада пута сличне кôдове, у стању је да научи како да ређа линије кôда како би програм функционисао.
Када треба да се реши нови проблем, алгоритам предвиђа који је кôд идеалан и по ком редоследу за решавање истог.
Коришћење познатих целих програмских језика за овај програм било би превише комплексно, па су „Мајкрософт” и Кембриџ креирали нови програмски језик (Domain-Specific Language, DSL), специфичан и једноставнији за процес који се одвија у оквиру програм. До сада је „дипкодер” решавао успешно проблеме са 3-6 линија кôда и они су били математичке природе са инпутима.
Према речима Арманда Лезама са МИТ-ија, овај програм неће представљати проблем за ову грану и неће одузимати послове. Штавише, пружаће помоћ девелоперима помоћу своје неуронске мреже, јер ће анализирати кôдове из великих база и извлачити оно што је потребно за програм на којем се ради.
Марк Брокшмит из „Мајкрософта” каже ће нови програм бити веома користан алат и за оне који нису програмери, довољно је да опишу своју идеју и вештачка интелигенција ће све урадити за њих.
„Дипкодер” се још дотерује, требало да буде потпуно функционалан за пет-шест година. За сада је лимитиран у својим могућностимам, решава проблеме који се састоји од већ три до шест линија. Истраживања у машинском учењу све више дају резултате, очекују нас узбудљиве године.