# Geometric folding algorithms – linkages, origami, polyhedra【第二章翻译】Upper and Lower Bounds

## GENERAL ALGORITHMS AND UPPER BOUNDS

### Configuration Space Approach

One of the earliest achievements in the field is an algorithm by Schwartz and Sharir that can solve any “motion planning” problem, including essentially any linkage problem. The technique is to explicitly construct a representation of the free space for the mechanism and then answer all questions with this representation. For example, a reconfiguration decision question reduces to deciding if the initial configuration A is in the same connected component of the free space as the final configuration B. An example of the configuration space for a 2-link arm in the presence of obstacles is shown in Figure 2.1.

Because each configuration is mapped to a point in configuration space, the complex motion of the arm in (a) of the figure is reduced to the path of a point in configuration space (b). In this case the configuration space is a torus representing two angles θ1 and θ2, each with wrap-around ranges [0, 2π] (see p. 61). Their original algorithm, developed in the justly famous five “piano mover’s” papers,1 resulted in a doubly exponential algorithm. Subsequent research has improved this to singly exponential. Although we will not employ this algorithm subsequently, it is an important milestone and serves as a baseline for all subsequent work, and so it is worth stating the result more precisely. The complexities are best expressed in terms of three parameters:

• k, the number of degrees of freedom of the mechanism. This is the number of parameters necessary to fully specify the configuration of the mechanism, so that a configuration can be represented by a point in Rk.
• k，机构的自由度数。 这是完全指定机制配置所必需的参数数量，以便可以用Rk中的点表示配置。
• m, the number of “constraint surfaces,” each recording some distance or nonpenetration constraint, and each represented by a collection of polynomial equalities and inequalities.
• m，“约束面”的数量，每个约束面记录一些距离或非渗透约束，并分别由多项式等式和不等式的集合表示。
• d, the maximum algebraic (polynomial) degree of the constraint surfaces. We will reserve n for the number of links in a linkage. Note that the dimension of the space in which the linkage is embedded is not independently relevant; rather, this dimension is absorbed into k. To repeat our earlier example, for a n-vertex polygon in 3D, k =3n.
• d，约束面的最大代数（多项式）度。 我们将为链接中的链接数保留n。 注意，嵌入链接的空间的尺寸不是独立相关的； 相反，此维被吸收到k中。 重复我们前面的示例，对于3D中的n个顶点多边形，k = 3n。

Schwartz and Sharir used a technique called “cylindrical algebraic decomposition” to achieve an algorithm that can solve any motion planning problem in O((md) 3k ) time (see Box 2.1). This was subsequently improved by Canny with his “roadmap” algorithm (Canny 1987) to be singly exponential in k, which can even run in polynomial space (Canny 1988). The latest improvements to roadmap algorithms (Basu et al. 2000) yield a general motion planning algorithm with time complexity O(mk+1d O(k2) ) (see Box 2.2). Study of configuration spaces continues. For example, the spaces representing the coordinated motion of several robots and/or mechanisms is especially rich topologically (Abrams and Ghrist 2002). However, we focus primarily on the simplest spaces.

Schwartz和Sharir使用一种称为“圆柱代数分解”的技术来实现一种算法，该算法可以解决O（（md）3k）时间内的任何运动计划问题（见框2.1）。 随后，坎尼利用他的“路线图”算法（Canny 1987）对其进行了改进，使其在k上具有单指数性，甚至可以在多项式空间中运行（Canny 1988）。 路线图算法的最新改进（Basu等人，2000年）产生了一种通用的运动规划算法，其时间复杂度为O（mk + 1d O（k2））（见专栏2.2）。 继续研究配置空间。 例如，代表几个机器人和/或机构的协调运动的空间在拓扑上特别丰富（Abrams和Ghrist 2002）。 但是，我们主要关注最简单的空间。

#### 2.1.1.1 Specialization to Planar Robot Arms

Let us specialize this complexity to the important case of a polygonal chain of n links, in an obstacle-free, planar environment, requiring non-self-intersection of the chain.2 We simulate the non-self-intersection by considering the arm itself as an obstacle, so that the configuration space becomes the free space and the general motion planning results apply. We need to compute m and k. One can represent the chain with k =n +1 parameters, two coordinates of one end (the “shoulder” of the arm) and one angle for each of the n −1 joints. However, the use of angles makes it more problematical to keep all constraints semialgebraic, which is the situation to which the theoretical results apply. So instead let us say that k =2n + 2, using two Cartesian coordinates for each joint. Factoring out the trivial rigid motions by specifying the coordinates for one point reduces this to k =2n − 2. The constraints come in two varieties: the link lengths must be constant and two links may not intersect. The former can be represented by n equations specifying the squared length of each link. The second constraint is provided by the obstacles, which are the links themselves. Each of the (n2) pairs must be specified to not intersect. This nonintersection condition can be written as inequalities involving

Box 2.1: Cylindrical Algebraic Decomposition

A semialgebraic set is a subset of Rk defined by a Boolean combination of a collection F of polynomial equations and inequalities. A cylindrical algebraic decomposition (CAD) for F is a decomposition of Rk into finitely many cells, which have the property that each polynomial in F evaluates to the same sign {−, 0, +} for every point in the cell. For univariate polynomials, a CAD is realized by a partition of R1 at the real roots of the polynomials. A CAD for multivariate polynomials is achieved by Collins’ recursive algorithm by partitioning each cylinder over the lower-dimensional cells into sign-invariant sectors. The recursion leads to a doubly exponential number of cells: O((md ) 3k ). With cell adjacency stored in a connectivity graph, a motion planning problem can be solved by searching for a collision-free path through this graph between the cells containing the initial and final configurations of the mechanism, in “randomized expected time” proportional to the number of cells.a

Canny’s algorithm constructs a network of piecewise algebraic curves (the roadmap) that (a) preserves the connectivity of the free space F in that every component of F contains a connected roadmap component and (b) is reachable from any configuration. The constructiona sweeps a hyperplane H through the space and traces out all extremal points of the intersection of H with the obstacle surfaces, forming “silhouette” curves. These curves might not be connected within each component of F, violating (a). They are linked together at the “critical points” of the sweep, where new extrema appear or disappear. The connection is accomplished via a recursive call to the roadmap algorithm, this time within H and so one dimension lower. This recursion results in only singly exponential complexity. The initial and final configurations can be linked into the network by treating them as critical points. Motion planning is then reduced to searching the roadmap. Subsequently Canny (1988) strengthened the result by showing that the roadmap algorithm and path planning can be made to run in polynomial space, and so the path planning problem is in PSPACE. Canny’s work also relies on general position assumptions, which lead to an mk term in the complexity. Recent work of Basu et al. (2000) removed this assumption at the cost of increasing that term to mk+1, and leading to the quoted complexity, O(mk+1d O(k2) ).
Canny的算法构建了分段代数曲线（路线图）网络，该网络（a）保留自由空间F的连通性，因为F的每个组件都包含一个连通的路线图组件，并且（b）可以通过任何配置访问。构造a将超平面H扫过整个空间，并找出H与障碍物表面相交的所有极点，从而形成“轮廓”曲线。违反（a），这些曲线可能未在F的每个分量内连接。它们在扫描的“关键点”链接在一起，新的极端出现或消失。该连接是通过对路线图算法的递归调用来完成的，这次是在H范围内，因此降低了一个维度。此递归仅导致指数复杂性。通过将初始和最终配置视为关键点，可以将其链接到网络。然后将运动计划简化为搜索路线图。随后，Canny（1988）通过证明路线图算法和路径规划可以在多项式空间中运行来加强结果，因此路径规划问题就在PSPACE中。 Canny的工作还依赖于一般的职位假设，这导致了复杂性的mk术语。 Basu等人的最新工作。 （2000年）删除了这个假设，代价是将该项增加到mk + 1，并导致了引用的复杂度O（mk + 1d O（k2））。

the coordinates of the four endpoints.3 All equations have degree at most 2, so d = 2. Substituting into general motion planning result of O(mk+1d O(k2) ) yields a complexity of O(n4n+22O(n2) ) = 2O(n2) . For small n, this singly exponential complexity is manageable. And indeed, there are implementations that construct complex configuration spaces. For example, Halperin et al. (1998) implemented an “assembly planner” that has successfully solved a problem with more than m = 1,000 constraint surfaces in a configuration space of k =5 dimensions. But for arbitrary n, this algorithm provides only an upper bound on the problem complexity. Although the complexity might appear to be large, it is in some sense close to optimal, for there are environments with m obstacles and mechanisms with k degrees of freedom whose configuration spaces have (mk) (or nearly this many) connected components. For example, if the mechanism is a single link in 3D, k =5, and there is a construction with (m4) components (Ke and O’Rourke 1988). Thus the roadmap complexity of about O(mk+1) is not far from the best possible among algorithms that explicitly construct a representation of the full configuration space. Furthermore, it is PSPACE-hard to decide whether there is a motion between two configurations of a planar tree linkage or of a 3D open chain (Alt et al. 2004), so it is unlikely that subexponential algorithms can solve these general problems. Canny’s result (Canny 1988) establishes that general path planning is in PSPACE; so together these results determine the complexity of these problems as PSPACE-complete.

#### 2.1.1.2 Solving Problems with Configuration Spaces

involve an arbitrary number n of links. Nor does the exponential upper bound show that the problems are truly hard; it only shows that the problems are not too hard. In fact we will see that many instances can be solved efficiently. We consider one more example before turning to lower bounds.

【参考 http://www.puzzlesolver.com/list.php?cat=2 ，这儿有很多好玩的谜题啊】

### Example: Separation Puzzles

There is a class of puzzles, called “separation” or “take-apart” puzzles, which consist of an arrangement of a collection of distinct, rigid parts, with the goal to separate the parts, to take apart the object.4 Some of these puzzles are extremely difficult to solve, even those which have no hidden parts. Nevertheless all of these puzzles could in theory be solved by a general motion planning algorithm in “constant time,” because for any specific puzzle, the parameters are constant. Consider the clever “Hedgehog in a Cage” puzzle shown in Figure 2.2. It consists of just two rigid parts. The cage could be represented by two squares for the top and bottom and four segments for the bars. The hedgehog could be represented by, say, a dodecahedron and 14 segment spikes (8 short, and 6 long). In terms of the key complexity parameters, k = 6, because the hedgehog has 6 degrees of freedom, and m ≈ 502, because there are about 50 vertices, segments, and faces that pairwise interact to provide constraint surfaces. The combinatorial portion of the complexity of the roadmap algorithm (p. 19) is dominated by the term mk+1; in this case, 5014 > 1023. Regardless of the magnitude of this term, with sufficient time, the roadmap algorithm could create a map for the hedgehog to escape from the cage, as well as solving any other similar take-apart puzzle. We should note that one can generalize separation puzzles to have parameters that increases without bound. For example, the Towers of Hanoi puzzle with n disks, or n disks and k pegs, is such a parameterized puzzle. For such puzzles it does make sense to establish complexity bounds (see, for example, O’Rourke 1998, Section 8.7).

## LOWER BOUNDS

In this section we review the early flurry of results that established that several key versions of linkage reachability questions are intractable in the technical, computational complexity sense, and report on the latest status. Four results were published in a period of 6 years, which together settled several basic lower bounds by 1985. Each successive result can be viewed as a strengthening of the one that preceded it. We first sketch the history before describing the constructions. History. Reif obtained the first result: that reachability for a tree-like object of polyhedra connected at point joints, in the presence of polyhedral obstacles, in 3D, is PSPACE-hard (Reif 1979, 1987). Together with Canny’s roadmap algorithm described in Section 2.1.1 and Box 2.2, which establishes that these motion planning problems are in PSPACE, the problem is PSPACE-complete. As a minitutorial, the four complexity classes we are concerned with in this book may be sorted as P ⊆ NP ⊆ PSPACE ⊆ EXP. Here P, polynomial time, is considered efficient or tractable, and EXP, exponential time, is intractable.

Without resolution of the famous P ? = NP question, it remains unknown whether the intermediate classes are truly difficult, but it is widely presumed that they are. The suffix -hard is used to indicate “at least as hard as,” while -complete means “among the hardest questions in that class.” This leads to the following difficulty spectrum: P ⊆ NP-complete ⊆ NP-hard ⊆ PSPACE-complete ⊆ PSPACE-hard ⊆ EXP. We will follow the usual conventions in calling all but P intractable. Reif’s result is well out on this spectrum, and means that the complexity of his reachability question grows more than polynomially (and likely exponentially) with the degrees of freedom of the object, unless P = PSPACE (and in particular P = NP). Reif’s result left two important possibilities unresolved: it might be that a chain (rather than a tree) is easier to reconfigure; and it might be that reachability in 2D is easier than in 3D. Reif’s proof uses both the tree structure and 3D in essential ways. The second question was resolved by Hopcroft, Joseph, and Whitesides (henceforth, HJW), but at the cost of increasing the geometric complexity.

They proved that the reachability question for a planar graph-linkage, without obstacles and permitting selfintersections, is PSPACE-hard (Hopcroft et al. 1984). In a second paper (Hopcroft et al. 1985) they reduced the geometric complexity from a graph to a path/chain, and established a slightly weaker NP-hardness bound for reachability, this time with a few obstacles, and again permitting self-intersections of the chain. The final early result, by Joseph and Plantinga (1985), strengthens this in a slightly altered form: they prove that reachability, in the presence of many obstacles, is PSPACE-complete. Following this work nearly two decades later, Alt et al. (2004) extended the techniques of Joseph and Plantinga to prove two hardness results without obstacles. First,

deciding reconfigurability of a tree linkage in 2D between two given configurations is PSPACE-complete. Second, the same problem for a chain in 3D is PSPACE-complete. The six results mentioned above are summarized in Table 2.1, including some further details to be explained shortly. Missing from this table is what might be considered the most natural problem: deciding whether a 2D chain can be reconfigured without self-intersection between two specified configurations in the absence of obstacles. The reason for omitting this problem is that here the answer is always yes! This lockability issue is the topic of Chapter 6.

### Three Constructions Sketched

Reif’s proof reduces acceptance by a particular type of Turing machine, an abstract “automaton” used to prove results in the theory of computation, to the solution of a reachability problem of a tree-linkage P in 3D. The machine M is a space-bounded symmetric Turing machine, whose technical definition need not detain us.5 M “accepts” a word w (that is, M reads w and eventually reaches a special “accepting” state) if and only if an initial configuration of P that depends on w can move through an obstacle course and reach the “exit.” See Figure 2.3 for one (small) section of the obstacle course. The motion of P simulates the Turing machine’s state transitions. Because the acceptance problem for these machines is known to be PSPACE-complete and because Reif’s reduction is not too expensive (technically, “log-space”), the reachability problem is established to be PSPACE-hard. The first HJW proof has a similar high-level structure, but its underlying details are different, and more interesting for our purposes. They reduce the acceptance question

Reif的证明减少了一种特殊类型的Turing机器的接受程度，该机器是用来证明计算理论中结果的抽象“自动机”，用于解决3D中树链接P的可达性问题。机器M是一台空间有界的对称图灵机，其技术定义不必拘泥于我们。5当且仅当以下情况时，M才接受w一词（也就是说，M读w并最终达到特殊的“接受”状态）。取决于w的P的初始配置可以穿过障碍物路线并到达“出口”。有关障碍物路线的一个（较小）部分，请参见图2.3。 P的运动模拟了图灵机的状态转换。由于已知这些机器的验收问题是PSPACE完整的，并且Reif的降低并不是太昂贵（从技术上讲，是“对数空间”），因此可到达性问题被确定为PSPACE困难的。第一个HJW证明具有类似的高级结构，但是其底层细节不同，对于我们的目的而言更有趣。他们减少了接受问题

for another type of machine, a “linear bounded automaton” (or LBA), which again is known to be PSPACE-complete, to a reachability question for a planar linkage. Because the construction is polynomial, again the reachability problem is established to be PSPACE-hard. Without obstacles, however, the complexity has to be embodied in the linkage itself. They require linkages that form a general graph structure. They use joint positions to encode variables and arrange the linkage to restrict the variables to have essentially binary values. At any one time, only one variable can “flip its bit,” so to speak (by moving continuously between two extreme positions). A key linkage used in their proof is one designed by Kempe in 1876 that constructs linkages to “solve” polynomial equations (Kempe 1876). Kempe was concerned with making a linkage to follow any algebraic curve; HJW extend his method to multivariate polynomials. This permits them to implement an AND-gate as x1x2 = 0, and in fact to build linkages to implement any Boolean function. This forms the basis of their LBA reduction. We will explain Kempe’s work, as much for its intrinsic interest as for its application to lower bounds, in Section 3.2

Deviating from historical order, the construction of Joseph and Plantinga is similar to Reif’s in its manner of simulation, and similar to HJW’s in that it simulates an LBA. But it accomplishes this with a planar polygonal chain, albeit in the presence of complex obstacles. See Figure 2.4 for a portion of their construction. As mentioned earlier, this thread of research was resumed most recently by Alt et al. (2004), who strengthened some intractability results to hold without obstacles. Their result on tree linkages in 2D follows the Joseph–Plantingua construction, but uses one rigidified portion of the tree to act like the obstacles (such as that in Figure 2.4) needed to construct the gadgets. The tree rigidification is obtained with a locked tree along the lines of Section 6.5 (p. 94). This enables them to prove PSPACE-completeness for trees in 2D. They also extend their 2D construction into a 3D “maze,” using interlocked 3D chains from Chapter 7 (p. 123), which leads to the natural endpoint of this line of research: deciding the reconfigurability of an open chain in 3D is PSPACEcomplete.

The moving chain is C. The backward and forward position of the “switch” whose tip is x encodes the bit 0 and 1. The gadget shown checks the bit in the sense that if C starts below the obstacle A with the switch backward as in (a), it cannot move to above A. If, however, the switch is initially forward as in (b), x can enter the circular well and open enough to shorten the chain, permitting passage to above A. (After Figure 5 of Joseph and Plantinga 1985.)

Ruler folding. The earlier proof of HJW that reachability for a planar polygonal chain is NP-hard is a simple and beautiful argument that has served as a model for several later proofs. It is the only one we present in detail. They start with the ruler folding problem: Ruler Folding: Given a polygonal chain with links of integer lengths 0, …, n−1 and an integer L, can the chain be folded flat—reconfigured so that each joint angle is either 0 or π—so that its total folded length is ≤ L? Here the chain may self-cross, and there are no obstacles. So any move is legal. And yet they prove the problem is difficult: Theorem 2.2.1 (Hopcroft et al. 1985).

The ruler folding problem is NP-complete. Proof: The proof is by reduction from Set Partition (henceforth: partition), a known NP-complete problem:6 partition: Given a set of n positive integers, S = {x1, …, xn}, does there exist a partition of S into A ⊆ S and B ⊆ S so that xi∈A xi = xj∈B xj? (2.1) From a given instance of partition, a ruler is constructed as follows. Let s = n i=1 xi be the sum of all the elements in S. The ruler R consists of links of lengths (0, 1, 2, …, n+1, n+2, n+3) = (2s, s, x1, …, xn, s, 2s). The claim is that R can be folded into a length of at most 2s if and only if the instance of partition has the answer yes. 6 This problem isweakly NP-complete, meaning that it is NP-complete as a function ofn and the binary encoding of the input numbers, but if the integers were written in unary notation (thus inflating the input size), the problem might become polynomial, and so admit a “pseudopolynomial-time algorithm.”

Consider the links directed from vi to vi+1, and fold the ruler along the real line, with v0 = 0 and v1 = 2s. The vertices v2 and vn+2 must both lie at s if all is to fit within [0, 2s]. This forces the links between to consume zero total displacement: so the sum of the leftward-pointing links must equal the sum of the rightward-pointing links (see Figure 2.5). Therefore R folds into 2s if and only if {x1, …, xn} can be partitioned into two equal-length halves. It is clear that it cannot fold to < 2s, because there are links of that length.

So we have established the claim for L = 2s. Recently a “fully polynomial-time approximation scheme”7 has been found for finding the minimum folding length of a ruler (Calinescu and Dumitrescu 2005). ˇ This folding problem does not fit one of the “standard” varieties we outlined earlier (in Section 1.1), but it can be used to establish the intractability of planar arm reachability: Theorem 2.2.2 (Hopcroft et al. 1985). Whether a planar polygonal chain can reach a given point p, in the presence of obstacles but permitting the chain to self-intersect, is NP-hard.

Proof: Let a ruler folding problem specify a ruler R of total stretched length L. We construct a reachability problem as follows. A chain C, anchored at the origin v0 = (0, 0), consists of 100L + 1 unit-length links, followed by links whose lengths are 100 times those in R. Call this latter portion of the chain R100. The obstacles consist of four segments, as illustrated in Figure 2.6: three sides of a 100(L + k) × (2 + ε) rectangle, forming a “tunnel,” and one long segment s of length 201L nearly touching v0. The tunnel width is 2 + ε for some small ε > 0 to permit unit-length segments to turn around in the tunnel avoiding contact with the tunnel walls. We now argue that the hand endpoint at the end of R100, call it v, can reach p = (200L, 1) if and only if R can be folded to length ≤ k.

The construction ensures that p can only be reached if the ruler enters the tunnel and passes through the 100k “gap” to the left of the origin. The shortest link of R100 has length 100 (because the links of R are integers); so once inside the thin tunnel, it is unable to rotate more than slightly. Thus only if R100 folds to at most 100k might p be reached. On the other hand, the unit-length links of C have enough room to rotate inside the tunnel. Thus, if R100 does indeed fold to gap length, then p may be reached by the following sequence: first fold R100 outside the tunnel, draw it inside the tunnel by crumpling the 100L unit links, unfurl 100k of them to position the folded R100 as illustrated in (b) of the figure, pass the folded ruler through the unit links into the upper half of the tunnel, and finally extend out toward p. The distance from v0 to p is  (200L)2 + 1, and C has length 200L + 1, more than enough to reach p.

Figure 2.6. (a) Initial configuration. The dashed segment starting from v0 represents a large collection of unit links. The slashes indicate interruptions. Note the tunnel is only 2 + ε units high. (b) Intermediate configuration, when R100 is folded and about to pass through the gap.

Path planning. The three intractability results that simulate automata with linkage problems all also establish an exponential lower bound on path planning versions of the problems, because they each require an exponential number of “elementary moves” of the linkage, under any reasonable definition of “elementary.” The ruler folding proof is fundamentally different: the number of moves needed to reach p is polynomial (in fact, linear) in n; what is difficult is finding the moves. Although the results in Table 2.1 establish that sufficiently rich linkage problems are intractable, room remains for efficient (polynomial-time) algorithms in at least two directions. First, all these results rely on arbitrarily long or complex linkages. As soon as the number of degrees of freedom is fixed, the Roadmap Algorithm (Box 2.2) shows there are polynomial algorithms.

Second, the various assumptions on the intersection conditions and the number and type of obstacles are often important to the proofs, and with different assumptions the complexity could change. For example, we will see in Section 5.1 that reducing the number of obstacles from four segments to none in Theorem 2.2.2 (line 3 of Table 2.1) drops the complexity from NP-hard to O(n)! Universality theorem. It remains true, however, that the most general linkage problems are intractable. This was recently given a strong form via a general “universality theorem,” established in slightly different forms by Jordan and Steiner (1999) and by Kapovich and Millson (2002). Theorem 2.2.3. Let X ⊆ Rd be a compact real algebraic variety, i.e., the locus of zeros of a polynomial in d variables. Then X is homeomorphic 8 to some components of the configuration space of a planar linkage.

Intuitively this says that the configuration space of a linkage can be as complicated as can be specified algebraically. See Connelly and Demaine (2004), O’Hara (2005), and Shimamoto and Vanderwaart (2005) for discussions of this complex topic. We will return to universality in a particularly appealing form (there is a linkage with a joint whose “orbit” follows any given algebraic curve) in Section 3.2.

【我借助google翻译看完第二章，大概知道了这本书大概是讲空间几何。刚好看到youtube上很多复杂精巧的机械结构，不知道怎么制作成，这本书讲了很多这背后的机械结构的数学原因，有点看matrix67的感觉。还不错，这本书还没有中译本。我是如何发现这本书的？在Arixv上搜索“机器学习”方面的论文，看到一个名词“Graph embedding”图嵌入，于是在知乎上搜图嵌入，看着看着，发现有个名词看不懂，即“卷积编码器”，于是又去搜博文， 这篇https://www.cnblogs.com/ncdxlxk/p/9240938.html 博主在其中提到了本文翻译自 ”MIT 6.02 DRAFT Lecture Notes, 2012”CHAPTER 8:Viterbi Decoding of Convolutional Codes。MIT lecture notes？好东西，上面一搜，于是这本书就是某计算机课程的教材（还是课外读物？忘了）。我搜索的能力太强了哈哈。】

## 收获

【参考 http://www.puzzlesolver.com/list.php?cat=2 ，这儿有很多好玩的谜题啊】

Wooden “Hedgehog in a Cage” puzzle ，youtube上貌似只有两个视频介绍这个，好冷门啊，不过好好玩，稍微聪明的初中生大概能花一节课解出？