Lock-chart solving
Type of document
disertační práceAuthor
Černoch, Radomír
Supervisor
Železný, Filip
Field of study
Umělá inteligence a biokybernetikaStudy program
Elektrotechnika a informatikaInstitutions assigning rank
České vysoké učení technické v Praze. Fakulta elektrotechnická. Katedra počítačůMetadata
Show full item recordAbstract
Lock-chart solving (also known as master key system solving) is
a process for designing mechanical keys and locks so that every
key can open and be blocked in a user-defined set of locks. This
work is an algorithmic study of lock-chart solving.
Literature on this topic [34, 38, 44, 53] has established that the
extension variant of the problem is NP-complete, reformulated
lock-chart solving as a constraint satisfaction problem (CSP) with
set variables, applied a local search algorithm, and defined a
symmetry-breaking algorithm using automorphisms.
However, the otherwise standard decision problem with a discrete
search space has a twist. After a lock-chart is solved and its
solution is fixed, new keys and locks may be added as a part of
an extension, and the original solution should be prepared for
this. In the first formal treatment of extensions, several scenarios
are proposed, and effects on lock-chart solving algorithms are
discussed.
First, we formalise lock-chart solving. 6 variants of lock-charts
and 4 constraint frameworks of increasing generality and applicability
to real-world problems are formulated. Their hierarchy
is used to extend the classification of lock-chart solving problems
into computational complexity classes. A close relationship
between the most realistic framework and the Boolean satisfiability
problem (SAT) is established. Mechanical profiles are shown
to express NP-complete problems as a complement to the previous
result on the extension problem variant. We give the first
proof that diagonal lock-charts (systems with only one master
key) can be solved in P using an algorithm known as rotating
constant method.
The practical part proposes several algorithms for lock-chart solving.
The problem is translated into SAT, into CSP (with standard
variables) and partly into the maximum independent set
problem. The SAT translation inspires a model-counting algorithm
tailored for lock-charts. Finally, we describe a customised
depth-first-search (DFS) algorithm that uses the model-counter
for pruning non-perspective parts of the search space. In the
empirical evaluation, CSP and the customised DFS improve the
performance of the previous automorphism algorithm. Rˇ ešením systému generálního a hlavních klícˇu° (SGHK) se myslí
návrh uzávˇer °u mechanických klíˇc °u a blokovacích prvk°u zámk° u.
Návrh musí respektovat požadavek, aby každý klíˇc v systému
otevíral uživatelem zadanou množinu zámk° u. Tato práce poskytuje
algoritmickou analýzu SGHK.
Relevantní literatura [34, 38, 44, 53] již dokázala jednu variantu
problému jako NP-úplnou, pˇreformulovala problém jako programování
s omezujícími podmínkami (CSP) s použitím množinových
promˇenných, aplikovala simulované žíhání a definovala
symetrie stavového prostoru pomocí automorfismu.
Jinak bˇežná úloha s diskrétním stavovým prostorem má háˇcek.
Zákazník m° uže objednat tzv. rozšíˇrení – pˇridání nových klíˇc °u
a zámk°u do již vyrobeného SGHK. Prvotní ˇrešení proto musí
poˇcítat s omezujícími podmínkami, jejichž pˇresná forma není
v dobˇe návrhu známa. Tato práce je dle našich znalostí první
formální studí problému rozšíˇrení SGHK.
Práce nejdˇríve formalizuje pojem SGHK v nˇekolika variantách
a navrhuje ˇctyˇri zp° usoby formalizace omezujících podmínek od
nejjednodušší po nejrealistiˇctˇejší. Hierarchie rozhodovacích úloh
je využita pro klasifikaci do tˇríd výpoˇcetní složitosti. Nejdˇríve je
popsána úzká vazba na úlohu splnitelnosti výrokových formulí
(SAT). Mechanické profily se ukazují dostateˇcnˇe expresivní pro
pˇreklad NP-úplných úloh, což doplˇ nuje již existující výsledek.
Práce obsahuje první d°ukaz pˇríslušnosti diagonální úlohy (SGHK
s generálním klíˇcem, ale bez dalších hlavních klíˇc ° u) do tˇrídy P
pomocí tzv. rotating constant method.
Praktická ˇcást práce navrhuje nˇekolik algoritm °u pro ˇrešení SGHK.
Problém je pˇreložen na SAT, na CSP a jeho ˇcást na úlohu hledání
maximální nezávislé množiny. Pro poˇcítání poˇctu klíˇc °u spl ˇ nující
omezující podmínky je použito dynamické programování a princip
inkluze a exkluze. Závˇerem je popsán upravený algoritmus
prohledávání do hloubky (DFS), který proˇrezává neperspektivní
ˇcásti stavového prostoru pomocí poˇcitadla klíˇc ° u. V emprickém
porovnání CSP a upravené DFS algoritmy prokázaly pˇrínos stávajícímu
algoritmu využívající automorfismy.
Collections
- Disertační práce - 13000 [712]
The following license files are associated with this item: