simon-git: puzzles (master): Simon Tatham
Commits to Tartarus hosted VCS
tartarus-commits at lists.tartarus.org
Thu Apr 11 20:36:41 BST 2019
TL;DR:
59ac8a6 Dominosa: max-difficulty option in the solver.
1e6e3a8 Dominosa: be more careful about >= Hard layout.
7ac48f9 Dominosa: further forms of set analysis.
Repository: https://git.tartarus.org/simon/puzzles.git
On the web: https://git.tartarus.org/?p=simon/puzzles.git
Branch updated: master
Committer: Simon Tatham <anakin at pobox.com>
Date: 2019-04-11 20:36:41
commit 59ac8a69af1330a6ea482154b05bc23ec33b594d
web diff https://git.tartarus.org/?p=simon/puzzles.git;a=commitdiff;h=59ac8a69af1330a6ea482154b05bc23ec33b594d;hp=42ec08493a3dc95b6214c0676e4a280a0281ec05
Author: Simon Tatham <anakin at pobox.com>
Date: Thu Apr 11 19:33:24 2019 +0100
Dominosa: max-difficulty option in the solver.
Now, as well as grading a puzzle by the highest difficulty it needed
during its solution, I can check _how much_ of a given puzzle is
soluble if you remove the higher difficulty levels.
dominosa.c | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
commit 1e6e3a815eb67a0d0d369fd0971cf9f3fd9fbf9a
web diff https://git.tartarus.org/?p=simon/puzzles.git;a=commitdiff;h=1e6e3a815eb67a0d0d369fd0971cf9f3fd9fbf9a;hp=59ac8a69af1330a6ea482154b05bc23ec33b594d
Author: Simon Tatham <anakin at pobox.com>
Date: Thu Apr 11 19:39:03 2019 +0100
Dominosa: be more careful about >= Hard layout.
Now we don't just ensure that alloc_try_hard arranged a confounder for
every domino; we also make sure that the full Basic-mode solver can't
place even a single domino with certainty.
dominosa.c | 38 +++++++++++++++++++++++++++++++++++++-
1 file changed, 37 insertions(+), 1 deletion(-)
commit 7ac48f9fe3ff827460b885b50d1e25f1ed2f7862
web diff https://git.tartarus.org/?p=simon/puzzles.git;a=commitdiff;h=7ac48f9fe3ff827460b885b50d1e25f1ed2f7862;hp=1e6e3a815eb67a0d0d369fd0971cf9f3fd9fbf9a
Author: Simon Tatham <anakin at pobox.com>
Date: Thu Apr 11 20:30:10 2019 +0100
Dominosa: further forms of set analysis.
I realised that even with the extra case for a double domino
potentially using two squares in a set, I'd missed two tricks.
Firstly, if the double domino is _required_ to use two of the squares,
you can rule out any placement in which it only uses one. But I was
only ruling out those in which it used _none_.
Secondly, if you have the same number of squares as dominoes, so that
the double domino _can_ but _need not_ use two of the squares, then I
previously thought there was no deduction you could make at all. But
there is! In that situation, the double does have to use _one_ of the
squares, or else there would be only the n-1 heterogeneous dominoes to
go round the n squares. So you can still rule out placements for the
double which fail to overlap any square in the set, even if you can't
(yet) do anything about the other dominoes involved.
dominosa.c | 186 +++++++++++++++++++++++++++++++++++++++++++++----------------
1 file changed, 138 insertions(+), 48 deletions(-)
More information about the tartarus-commits
mailing list