Podrobno

Tvorjenje logičnih ugank tipa nonogram : magistrsko delo
ID Zavrl, Laura (Avtor), ID Zapušek, Matej (Mentor) Več o mentorju... Povezava se odpre v novem oknu

.pdfPDF - Predstavitvena datoteka, prenos (3,23 MB)
MD5: A2C77EC39F9ACFBBE612F67C50C12EE1

Izvleček
V magistrskem delu smo obravnavali logične uganke tipa nonogram, pri čemer smo se osredotočili na njihove značilnosti, tehnike reševanja, računsko zahtevnost ter tvorjenje nonogramov s pomočjo računalniškega algoritma. Glavni cilj je bil razviti učinkovit algoritem za tvorjenje nonogramov različnih težavnostnih stopenj ter ga implementirati v obliki uporabniško prijazne računalniške igre. V teoretičnem delu smo predstavili definicijo nonograma – to je tip logične uganke, pri kateri z logičnim sklepanjem in kombiniranjem namigov ugotavljamo, kje v vnaprej podani pravokotni mreži ležijo črna kvadratna polja. Namigi ob mreži predstavljajo dolžine sklopov zaporednih črnih polj v vsaki vrstici in stolpcu. Ob pravilni rešitvi, črna in bela polja v mreži tvorijo neko sliko, ki je običajno črno-bela. Opisali smo tudi njegovo poreklo ter temeljne značilnosti, kot so pravila, struktura namigov in različne oblike uganke. Podrobneje smo raziskali računsko zahtevnost reševanja nonogramov in ugotovili, da gre za NP-poln problem. Opisali smo različne manualne tehnike reševanja, kot so preprosta polja, preprosta bela polja, prisilna bela polja, lepilo, združevanje in ločevanje, prekinitev, živo srebro, protislovje ter večvrstično reševanje. Prav tako smo opisali nekatere avtomatske tehnike, kot so iskanje v globino, genetski algoritmi, celoštevilsko programiranje, iterativni pristop in spodbujevalno učenje. Avtomatske tehnike smo glede na računsko zahtevnost razvrstili v kategorije in predstavili njihove prednosti ter omejitve. V empiričnem delu smo razvili lasten algoritem za tvorjenje nonogramov z vnaprej določeno težavnostjo, ki smo ga integrirali v računalniško igro. Algoritem generira nonograme različnih velikosti (5×5, 10×10, 15×15, 20×20 in 25×25) in z različnimi stopnjami zapolnitve s črnimi polji (parameter fillRate). Ključni del algoritma je preverjanje, da ima vsak ustvarjen nonogram enolično rešitev, saj so le taki nonogrami pravilno oblikovani in rešljivi brez ugibanja. Enoličnost smo zagotovili s pomočjo SAT-reševalnika, ki potrdi logično skladnost uganke in izloči vse nerešljive ali dvoumne primere. Pri razvoju igre smo uporabili okolje Unity in programski jezik C#. Izvedli smo temeljito testiranje in evalvacijo igre z uporabniki, pri čemer smo preverili pravilnost generiranih nonogramov ter uporabniško izkušnjo. Rezultati so pokazali, da je razvit algoritem učinkovit, stabilen ter primeren za tvorjenje nonogramov z določeno težavnostjo in enolično rešitvijo. Evalvacija igre je potrdila, da je uporabniški vmesnik jasen, igra pa motivacijska in privlačna za različne skupine uporabnikov. Magistrsko delo je tako uspešno povezalo teoretične temelje in praktično uporabnost ter potrdilo pedagoški potencial nonogramov v izobraževalnem okolju.

Jezik:Slovenski jezik
Ključne besede:Matematika, Miselne uganke, nonogram, logična uganka, tehnika reševanja, računska zahtevnost, algoritem
Vrsta gradiva:Magistrsko delo/naloga
Tipologija:2.09 - Magistrsko delo
Organizacija:PEF - Pedagoška fakulteta
Kraj izida:Ljubljana
Založnik:L. Zavrl
Leto izida:2025
Št. strani:90 str.
PID:20.500.12556/RUL-170543 Povezava se odpre v novem oknu
UDK:510.6-8(043.2)
COBISS.SI-ID:242562563 Povezava se odpre v novem oknu
Datum objave v RUL:09.07.2025
Število ogledov:328
Število prenosov:77
Metapodatki:XML DC-XML DC-RDF
:
Kopiraj citat
Objavi na:Bookmark and Share

Sekundarni jezik

Jezik:Angleški jezik
Naslov:Generation of nonograms
Izvleček:
This master’s thesis explores nonogram logic puzzles, with a focus on their characteristics, solution techniques, computational complexity, and the generation of nonograms using a computer algorithm. The main objective was to develop an efficient algorithm for generating nonograms of various difficulty levels and to implement it in the form of a user-friendly computer game. In the theoretical part, we presented the definition of a nonogram – a type of logic puzzle in which the solver uses logical reasoning and the combination of clues to determine the position of black square cells within a predefined rectangular grid. The clues along the rows and columns indicate the lengths of consecutive blocks of black cells. When solved correctly, the arrangement of black and white cells forms a typically black-and-white image. We also described the origin of nonograms and their key features, such as rules, clue structure, and puzzle variations. Furthermore, we examined the computational complexity of solving nonograms and confirmed that the problem is NP-complete. We described various manual solution techniques, such as simple boxes, simple spaces, forcing, glue, joining and splitting, punctuating, mercury, contradiction, and multiple rows. We also presented several automatic techniques, including depth-first search, genetic algorithms, integer programming, iterative approach, and reinforcement learning. The automatic techniques were categorized according to their computational complexities, and their strengths and limitations were discussed. In the empirical part, we developed a custom algorithm for generating nonograms with predefined difficulty, which was integrated into a computer game. The algorithm generates nonograms of different sizes (5×5, 10×10, 15×15, 20×20, and 25×25) and with varying levels of black cell density (fillRate parameter). A key feature of the algorithm is the verification that each generated nonogram has a unique solution, as only such puzzles are considered well-formed and solvable without guessing. Uniqueness was ensured using a SAT solver, which confirms the logical consistency of the puzzle and excludes unsolvable or ambiguous cases. The game was developed using the Unity engine and the C# programming language. We carried out thorough testing and user evaluation of the game, focusing on the correctness of the generated nonograms and overall user experience. The results showed that the developed algorithm is efficient, stable, and suitable for generating nonograms with predefined difficulty levels and unique solutions. The evaluation of the game confirmed a clear user interface and showed that the game is motivating and appealing to a wide range of users. The thesis thus successfully combined theoretical foundations with practical application and confirmed the educational potential of nonograms in a learning environment.

Ključne besede:nonogram, logic puzzle, solution technique, computational complexity, algorithm

Podobna dela

Podobna dela v RUL:
Podobna dela v drugih slovenskih zbirkah:

Nazaj