Lock-chart solving
Authors
Supervisors
Reviewers
Editors
Other contributors
Journal Title
Journal ISSN
Volume Title
Publisher
Date
Abstract
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.
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.