#11379: Add Quantumino solver to sage/games
---------------------------+------------------------------------------------
Reporter: slabbe | Owner: slabbe
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-4.7.1
Component: misc | Keywords: sd31
Work_issues: | Upstream: N/A
Reviewer: Rob Beezer | Author:
Merged: | Dependencies:
---------------------------+------------------------------------------------
Changes (by slabbe):
* status: needs_work => needs_review
Old description:
> Last week I wrote code to solve the Quantamino Puzzle [1].
>
> Will post a patch soon.
>
> [1] http://www.youtube.com/watch?v=jX_VKzakZi8
>
> For the patchbot:
>
> '''Apply:'''
> 1. [attachment:trac_11379_quantamino-sl.patch]
> 1. [attachment:trac_11379_corrections-sl.patch]
> 1. [attachment:trac_11379-size-suggestion-updated.patch]
New description:
Some code to solve the
[http://familygamesamerica.com/mainsite/consumers/productview.php?pro_id=274&search=quantumino|
Quantumino Puzzle] (see also [http://www.youtube.com/watch?v=jX_VKzakZi8|
this video] on youtube).
For the patchbot:
'''Apply:'''
1. [attachment:trac_11379_quantamino-sl.patch]
1. [attachment:trac_11379_corrections-sl.patch]
--
Comment:
Ok, so I just re-uploaded the correction patch. The size suggestion patch
as been folded into that correction patch. So only two patches are needed
to be applied (the one that has already been reviewed and the correction
patch).
So, compared to what has already been reviewed, I did a bunch of
improvements: I created a new file {{{sage/combinat/tiling.py}}} and moved
the polyomino class into it. Also, I created a new class called
{{{TilingSolver}}} which solves the general problem of Tiling a box by
polyomino. This class replaces the old function
{{{general_puzzle_solver}}} which I might misspell. The {{{TilingSolver}}}
class allows to do more introspection like getting the rows passed to the
DLX solver and count them. One can also get the DLX Solver. I managed to
write the {{{Polyomino}}} and {{{TilingSolver}}} abstract enough so that
they can be defined in any dimension. Ploting works when the dimension is
2 or 3. I also added parameters to allow (or not) reflections and
rotations and whether the pieces can be reused or not.
There is still one issue mentionned in the review that I did not fixed.
The holes in the polyomino. Maybe tomorrow we can think about a efficient
way to fix this?
Question: Should I use Pentomino like Donald Knuth does or Pentamino like
the game Quantumino calls the pieces? Which is best?
Good night!
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11379#comment:16>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.