Kombinatorā optimizācija ar dziļajiem neironu tīkliem
Автор
Ozoliņš, Emīls
Co-author
Latvijas Universitāte. Datorikas fakultāte
Advisor
Freivalds, Kārlis
Дата
2022Metadata
Показать полную информациюАннотации
Kombinatorās optimizācijas problēmām ir liela praktiskā nozīme, tomēr tās, parasti, ir NP-grūtas un to risināšana ir apgrūtināta. Darba mērķis ir noskaidrot, vai dziļo neironu tīklu metodes var tikt pielietotas kombinatorai optimizācijai. Kā reprezentatīvas problēmas tiek izvēlētas Būla formulas apmierināšana (SAT) un jauktu veselu skaitļu programmēšana (MILP). Abām problēmām tiek izveidotas specializētas ziņu pārsūtīšanas grafu neironu tīklu arhitektūras, kas papildinātas ar autora piedāvātu vaicājumu mehānismu. Tīklu apmācība tiek veikta ar darbā piedāvātām nepārraudzītās mašīnmācīšanās zaudējumu funkcijām (nav nepieciešams risinājumu). Piedāvātais neironu tīklu risinātājs SAT problēmai pārspēj NeuroCore neironu tīklu arhitektūru uz 3-SAT, grafa krāsošanas un SHA-1 pirmtēla uzbrukuma uzdevumiem. Savukārt, piedāvātais neironu tīklu MILP risinātājs pārspēj Sudoku neironu tīklu risinātājus un tiek pārbaudīts uz mugursomas problēmas. Abas iegūtās arhitektūras tiek salīdzinātas arī ar klasiskajiem algoritmiem. Combinatorial optimization problems have considerable practical significance, but most are challenging to solve due to being NP-complete. The thesis goal is to determine if deep neural networks can be employed for solving combinatorial optimization problems. Boolean Satisfiability (SAT) and Mixed Integer Linear Programming (MILP) problems were selected as representative problems. For both problems, specialized message-passing networks were made, supplemented with a query mechanism proposed by the author. Proposed architectures were trained using custom-made unsupervised (without requiring solutions) loss functions. The proposed neural SAT solver outperforms the NeuroCore solver on 3-SAT, graph coloring, SHA-1 preimage attack, and other tasks. Further, the proposed neural MILP solver outperforms other neural methods for solving complex Sudoku puzzles and is tested on the Knapsack problem. The author also compares both proposed architectures with classical solvers.