TL;DR: It is shown that jigsaw puzzles, edge-matching puzzles, and polyomino packing puzzles are all NP-complete.
Abstract: We show that jigsaw puzzles, edge-matching puzzles, and polyomino packing puzzles are all NP-complete. Furthermore, we show direct equivalences between these three types of puzzles: any puzzle of one type can be converted into an equivalent puzzle of any other type.
TL;DR: The overall strategy follows that of previous algorithms but applies a number of new ideas, such as robust fiducial points, "highest- confidence-first" search, and frequent global reoptimization of partial solutions.
Abstract: We present a new algorithm for automatically solving jigsaw puzzles by shape alone. The algorithm can solve more difficult puzzles than could be solved before, without the use of backtracking or branch-and-bound. The algorithm can handle puzzles in which pieces border more than four neighbors, and puzzles with as many as 200 pieces. Our overall strategy follows that of previous algorithms but applies a number of new ideas, such as robust fiducial points, "highest- confidence-first" search, and frequent global reoptimization of partial solutions.
TL;DR: In this paper, an algorithm to assemble large jigsaw puzzles using curve matching and combinatorial optimization techniques is presented, where pieces are photographed one by one and then the assembly algorithm, which uses only the puzzle piece shape information, is applied.
Abstract: An algorithm to assemble large jigsaw puzzles using curve matching and combinatorial optimization techniques is presented. The pieces are photographed one by one and then the assembly algorithm, which uses only the puzzle piece shape information, is applied. The algorithm was experimented successfully in the assembly of 104-piece puzzles with many almost similar pieces. It was also extended to solve an intermixed puzzle assembly problem and has successfully solved a 208-piece puzzle consisting of two intermixed 104-piece puzzles. Previous results solved puzzles with about 10 pieces, which were substantially different in shape.
TL;DR: It is shown that various flavors of randomized encodings give rise to time-lock puzzles of varying strengths, whose security can be shown assuming the mere existence of non-parallelizing languages, which are languages that require circuits of depth at least t to decide, in the worst-case.
Abstract: Time-lock puzzles are a mechanism for sending messages "to the future". A sender can quickly generate a puzzle with a solution s that remains hidden until a moderately large amount of time t has elapsed. The solution s should be hidden from any adversary that runs in time significantly less than t, including resourceful parallel adversaries with polynomially many processors.While the notion of time-lock puzzles has been around for 22 years, there has only been a single candidate proposed. Fifteen years ago, Rivest, Shamir and Wagner suggested a beautiful candidate time-lock puzzle based on the assumption that exponentiation modulo an RSA integer is an "inherently sequential" computation.We show that various flavors of randomized encodings give rise to time-lock puzzles of varying strengths, whose security can be shown assuming the mere existence of non-parallelizing languages, which are languages that require circuits of depth at least t to decide, in the worst-case. The existence of such languages is necessary for the existence of time-lock puzzles.We instantiate the construction with different randomized encodings from the literature, where increasingly better efficiency is obtained based on increasingly stronger cryptographic assumptions, ranging from one-way functions to indistinguishability obfuscation. We also observe that time-lock puzzles imply one-way functions, and thus the reliance on some cryptographic assumption is necessary.Finally, generalizing the above, we construct other types of puzzles such as proofs of work from randomized encodings and a suitable worst-case hardness assumption (that is necessary for such puzzles to exist).
TL;DR: A system for automatically producing puzzles for use in game design that incorporates an evolutionary algorithm that optimizes the puzzle to a specified level of difficulty and can be generalized to puzzles of remarkable complexity by simply upgrading the dynamic programming algorithm used in the fitness function.
Abstract: This study presents a system for automatically producing puzzles for use in game design. The system incorporates an evolutionary algorithm that optimizes the puzzle to a specified level of difficulty. The fitness function uses dynamic programming to compute the minimum number of moves required to solve a puzzle. Two types of puzzle are explored, one is a maze based on chess pieces and the other uses colors as related by the color wheel to create an implicit maze. The evolutionary algorithm is able to produce a wide variety of puzzles at specified levels of difficulty. The algorithm can thus be used to provides a library for game design or for variable game content. The technique is flexible and can be generalized to puzzles of remarkable complexity by simply upgrading the dynamic programming algorithm used in the fitness function. It is found that puzzles requiring a maximum number of moves to solve are, potentially, less difficult because such puzzles present the player with few choices. This problem is addressed by modifying the algorithm to search for puzzles with a smaller minimum number of moves required, leaving more room in the puzzle for choice and its attendant confusion.