35 OTDK, Informatika Tudományi Szekció, Algoritmusok és mesterséges intelligencia 1 Tagozat.
FlexCoder: Gyakorlati programszintézis flexibilis input-hosszokkal és kifejező lambdafüggvényekkel
Helyezés: 2
Hallgatók:
Gyarmathy Bálint
Szak: Programtervező informatikus, Képzés típusa: msc, Intézmény: Eötvös Loránd Tudományegyetem, Kar: Informatikai Kar,
Czapp Ádám Tibor
Szak: Programtervező Informatikus, Képzés típusa: msc, Intézmény: Eötvös Loránd Tudományegyetem, Kar: Informatikai Kar,
Mucsányi Bálint
Szak: Programtervező Informatikus, Képzés típusa: bsc, Intézmény: Eötvös Loránd Tudományegyetem, Kar: Informatikai Kar
Témavazetők:
Dr. Pintér Balázs - Egyetemi adjunktus, Eötvös Loránd Tudományegyetem Informatikai Kar ,
Dr. Gregorics Tibor - Egyetemi docens, Eötvös Loránd Tudományegyetem Informatikai Kar
Dolgozatunkban egy flexibilis programszintézis-modellt mutatunk be, melyet FlexCoder-nek neveztünk el.
Ennek feladata egy olyan függvénykompozíció szintetizálása, amely a megadott bemeneti
példákat a hozzájuk tartozó kimeneti példákra transzformálja. A bemeneti példák
rendszerünkben minden esetben listák, a kimeneti példák lehetnek egyaránt listák
és skalárértékek is. A függvénykompozíciókban a funkcionális programozásból már jól ismert
függvényeket alkalmazzuk.
A mély tanulás egyre növekvő népszerűségével a programszintézis kutatási
területe nagy áttöréseket ért el a modellek pontosságában és sebességében
egyaránt (Matej Balog et al., 2016). A gépi tanulási algoritmusok
heurisztikaként történő felhasználása az egyik legprominensebb megközelítése az
integrálásuknak a szintetizálási folyamatba.
A kutatási terület ismertetett munkái között még nem láthattunk sok példát a
valóélet-beli környezetben való alkalmazásukra.
Ennek dolgozatunkban taglalt legfőbb okait az alábbi kontribúcióinkkal oldjuk fel:
A FlexCoder pontosnak és hatékonynak bizonyult még ötven hosszúságú bemeneti
listákra történő általánosítás esetén is, melyre az eddigi state-of-the-art rendszerek
nem voltak képesek.
Czapp Ádám Tibor az általunk használt nyelvtant és az adatfeldolgozási pipeline-unkat definiálta.
Ez a nyelvtan a neurális háló tanításához elengedhetetlen példageneráláshoz szükséges.
Mucsányi Bálint a rendszerünkben használt neurális háló architektúráját alkotta meg, és tanítását végezte.
Gyarmathy Bálint pedig egy hatékony keresőalgoritmust implementált, melyben a neurális hálót
heurisztikaként használjuk, és függvényenként építjük fel a megoldó függvénykompozíciót.
A dolgozatunkban közölt eredményeink egy cikk alapját is képzik, melyet teljes
cikként elfogadtak a 2021-es International Conference on Pattern Recognition
Applications and Methods (ICPRAM) konferencián.