I was very disappointed to read the article, because the words used in the quotation "construct a jigsaw" are at odds with the desired meaning. :-(

No one actually built their own jigsaw(an interesting feat of electrical and mechanical engineering). They didn't even build their own jigsaw puzzle (which is what I expected the article refered to). They just assembled a pre-existing jigsaw puzzle out of existing puzzle pieces. Children (and the jumbo sized version, called 'adults') have fought over "the right" way to play the puzzle game for years. I was disappointed to find little new in the article that direct experience in my childhood didn't already tell me.

As someone who is mostly interested in Perl programming, (rather than human psychology as applied to Perl programmers), let me instead pose a different puzzle question: How could one write an efficient perl program to solve a jigsaw puzzle? Given a representation of the pieces (say, scanned images), and a representation of the final result, how do you avoid "combinatorial explosion" in the number of comparisons required?

As a more challenging variation, simulate some human limitations. Unlike computers, humans can't tell at a glance whether a given "sky coloured" puzzle piece with two knobs and an edge matches in a given place without picking it up, and trying it for fit. You could simulate something similar for the computer: give colour information about the piece within a given rgb range, and "fuzzy" rather than exact edge configuration information. Moving a piece into a slot would give some limited information about the quality of the match (fits exactly, fits badly, nearly fits, etc). Minimize for (a) amount of time to solve the puzzle, and/or (b) number of pieces "moved". Assign a higher 'time cost' to moving a piece, given that moving a piece is slower than thinking about a piece, to an extent.

To make it all Perl related, submit your solution in Perl (or post to cpan as a puzzle solver).

Best of luck to anyone brave enough to attempt such a program! :-)

--
Ytrew Q. Uiop


In reply to Re: Do you suffer "Jigsaw rage"? by Ytrew
in thread Do you suffer "Jigsaw rage"? by BrowserUk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.