Atpakaļceļa meklēšanas algoritmu izpēte krustvārdu mīklu automatizētajā ģenerēšanā
Автор
Šišebarova, Inna
Co-author
Latvijas Universitāte. Datorikas fakultāte
Advisor
Ambainis, Andris
Дата
2015Metadata
Показать полную информациюАннотации
Maģistra darba mērķis bija izpētīt eksistējošos algoritmus, kas pēta krustvārdu mīklu automatizētu ģenerēšanu, liekot uzsvaru uz atpakaļceļa meklēšanu tajos. Galvenais mērķis bija izprast problēmas, kas saistās ar atpakaļceļa meklēšanu situācijās, kad vairs nav iespējams piemeklēt jaunus vārdus no datu bāzes, kas atbilstu konkrētajiem kritērijiem, un, izanalizējot vairākas metodes, tehnikas, piedāvāt savu algoritmu. Izstrādājamā algoritma būtiskākais uzdevums bija rast iespēju modificēt jau esošos laukumā vārdus tā, lai būtu iespējams turpināt vārdu ievietošanu matricā.
Darbā arī tika pievērsta uzmanība krustvārdu mīklu šablonu izveidei, izpētot atkarības no vārda atrašanās vietas laukumā. Ievērojot esošos likumus un standartus, lietotājam tika dota iespēja pašam izveidot sev tīkamo mīklas šablonu, kas vēlāk tiek aizpildīts ar atbilstošajiem vārdiem no datu bāzes. Veicot nepieciešamos aprēķinus un, izskatot vairākas eksistējošas pieejas, autore izveidoja krustvārdu mīklu ģenerēšanas programmu, kas izmanto pašas izstrādāto algoritmu, kas, izpētot kļūdas rašanās iemeslu, piemeklē iespēju to izlabot. Izveidotā programma ir uzrakstīta valodā C# (C sharp). The aim of the Master's thesis was to analyze existing algorithms, which explore the automated generation of a crossword puzzle with an emphasis on backtracking. The main issue was to understand the problems associated with backtracking when it is not possible to choose a new word from the database that matches a specific pattern, and having analysed existing methods and techniques to offer the author’s own algorithm. The most important task for the algorithm in development was to find an opportunity to modify the existing words in the grid, so that it would be possible to insert new words in the matrix.
Also, the work focused on the crossword puzzle template creation, exploring the correlations made by the position of a word on the grid. While following the existing laws and, the user was given an opportunity to create a crossword puzzle pattern of his preference which would later be filled with the corresponding words from the database. After making the necessary calculations and examining a number of existing approaches, the author created a crossword generation program that used the algorithm she had developed, which tries to find the cause of the error and to correct it. The created program is written in the language C # (C sharp).