Univerzális számrejtvény megoldó

OData támogatás
Konzulens:
Rajacsics Tamás
Automatizálási és Alkalmazott Informatikai Tanszék

A sudoku feladvány, annak számtalan variációja, és más számrejtvények széles körben kedvelt kikapcsolódást nyújtanak minden korosztálynak. Vajon hogyan készülnek?

Első ránézésre felfoghatatlanul bonyolult ok-okozati összefüggések működtetik őket, amelyek a megfejtés során valahogy mindig egyetlen lehetséges megoldássá kristályosodnak ki. Egy rejtvény készítője hogyan képes garantálni, hogy bárhogy is kezdi el valaki megoldani a feladványt, biztosan eléri az egyetlen helyes megoldást? Hogyan készíthetünk olyan számítógépes programot, amely képes ellenőrizni, hogy egy tetszőleges rejtvény megoldható és pontosan egy megoldása van? Vajon azt is megtudhatjuk egy megoldó programtól, hogy milyen logikus lépéseket követve juthatunk el a megoldásig? Hogyan lehet egyáltalán tetszőleges feladványt a szabályaival együtt megadni egy algoritmus bemeneteként? Milyen lehetőségeink vannak adott nehézségű számrejtvények automatikus generálására?

A számrejtvény fogalom definiálása, majd a legnépszerűbb számrejtvények szabályainak áttekintése után bemutatok egy könnyen bővíthető objektumorientált modellt és egy szakterületi nyelvet, amelynek segítségével a számrejtvény fogalom alá tartozó feladványok megadhatók egy általános megoldó algoritmus számára.

Részletesen bemutatok két matematikai feladatmodellt, amelyeket felhasználhatunk arra, hogy a hozzájuk elérhető megoldószoftverek segítségével előállítsuk a saját modellünkkel leírt számrejtvények megoldását.

Ismertetek egy logikai következtetési módszereken alapuló rekurzív megoldó algoritmust, bemutatom a hozzá létrehozott szoftver komponens tervezésének és fejlesztésének részleteit és rávilágítok néhány érdekes összefüggésre a szabályok működésében.

A létrehozott megoldó eszközkészlet felhasználásával kidolgozok egy módszert adott nehézségű számrejtvények generálására és bemutatom az így készült rejtvényekre érkezett felhasználói visszajelzéseket.

Bemutatom a megoldó komponens felhasználóbarát használatához elkészített webes felületet, aminek segítségével a számrejtvény modellben megadható rejtvények összeállíthatók és megoldásuk lépései elemezhetők.

Végül összehasonlítom a kifejlesztett megoldó módszerek sebességét.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.