Lecture Notes in Computer Science Edited by G. Goos, J. Hartmanis and J. van Leeuwen
1763
¿ Berlin Heidelberg New York Barcelona Hong Kong London Milan Paris Singapore Tokyo
Jin Akiyama Mikio Kano Masatsugu Urabe (Eds.)
Discrete and Computational Geometry Japanese Conference, JCDCG’98 Tokyo, Japan, December 9-12, 1998 Revised Papers
½¿
Series Editors Gerhard Goos, Karlsruhe University, Germany Juris Hartmanis, Cornell University, NY, USA Jan van Leeuwen, Utrecht University, The Netherlands Volume Editors Jin Akiyama Research Institute of Educational Development, Tokai University 2-28-4, Tomigaya, Shibuya-ku, Tokyo, 151-0063, Japan E-mail:
[email protected] Mikio Kano Department of Computer and Information Sciences Faculty of Engineering, Ibaraki University Hitachi, 316-8511, Japan E-mail:
[email protected] Masatsugu Urabe Department of Mathematics, Tokai University 3-20-1, Orido, Shimizu-Shi, Shizuoka, 424-8610, Japan E-mail:
[email protected] Cataloging-in-Publication Data applied for Die Deutsche Bibliothek - CIP-Einheitsaufnahme Discrete and computational geometry : Japanese Conference ; revised papers / JCDCG ’98, Tokyo, Japan, December 9 - 12, 1998. Jin Akiyama ... (ed.). - Berlin ; Heidelberg ; New York ; Barcelona ; Hong Kong ; London ; Milan ; Paris ; Singapore ; Tokyo : Springer, 2000 (Lecture notes in computer science ; Vol. 1763) ISBN 3-540-67181-1 CR Subject Classification (1991): I.3.5, F.2, G.1-2 ISSN 0302-9743 ISBN 3-540-67181-1 Springer-Verlag Berlin Heidelberg New York This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer-Verlag. Violations are liable for prosecution under the German Copyright Law. Springer-Verlag is a company in the specialist publishing group BertelsmannSpringer c Springer-Verlag Berlin Heidelberg 2000 Printed in Germany Typesetting: Camera-ready by author Printed on acid-free paper SPIN: 10719677
06/3142
543210
Preface This volume consists of those papers presented at the Japan Conference on Discrete and Computational Geometry ’98. The conference was held 9-12 December 1998 at Tokai University in Tokyo. Close to a hundred participants from 10 countries participated. Interest in Computational Geometry surfaced among engineers in Japan about twenty years ago, while interest in Discrete Geometry arose as a natural extension of the research of a group of graph theorists more recently. One of the goals of the conference was to bring together these two groups and to put them in contact with experts in these fields from abroad. This is the second conference in the series. The plan is to hold one every year and to publish the papers of the conferences every two years. The organizers thank the sponsors of the conference, namely, The Institute of Educational Development of Tokai University, Grant-in-Aid of the Ministry of Education of Japan (A.Saito;(A)10304008), Mitsubishi Research Institute, Sanada Institute of System Development, Japan Process, and Upward. They also thank especially T. Asano, D. Avis, V. Chv´ atal, H. Imai, J. Pach, D. Rappaport, M. Ruiz, J. O’Rourke, K. Sugihara, T. Tokuyama, and J. Urrutia for their interest and support. January 2000
Committee Listings J. Akiyama (Tokai University) K. Hosono (Tokai University) M. Kano (Ibaraki University) T. Kodate (Tokai University) T. Sakai (Tokai University) X. Tan (Tokai University) M. Urabe (Tokai University)
Jin Akiyama Mikio Kano Masatsugu Urabe
VI
Preface
Table of Contents
Papers Radical Perfect Partitions of Convex Sets in the Plane . . . . . . . . . . . . . . . . . . J. Akiyama, A. Kaneko, M. Kano, G. Nakamura, E. Rivera-Campo, S. Tokunaga, and J. Urrutia
1
Dudeney Dissection of Polygons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 J. Akiyama and G. Nakamura Effective Use of Geometric Properties for Clustering . . . . . . . . . . . . . . . . . . . . 30 T. Asano. Living with lrs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 D. Avis. On the Existence of a Point Subset with 4 or 5 Interior Points . . . . . . . . . . . 57 D. Avis, K. Hosono, and M. Urabe Planar Drawing Algorithms of Survivable Telecommunication Networks . . . 65 A. E. Barouni, A. Jaoua, and N. Zaguia Polygon Cutting: Revisited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 P. Bose, J. Czyzowicz, E. Kranakis, D. Krizanc, and A. Maheshwari Algorithms for Packing Two Circles in a Convex Polygon . . . . . . . . . . . . . . . 93 P. Bose, J. Czyzowicz, E. Kranakis, and A. Maheshwari Folding and Cutting Paper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 E. D. Demaine, M. L. Demaine, and A. Lubiw An Interpolant Based on Line Segment Voronoi Diagrams . . . . . . . . . . . . . . . 119 H. Hiyoshi and K. Sugihara 2-Dimension Ham Sandwich Theorem for Partitioning into Three Convex Pieces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 H. Ito, H. Uehara, and M. Yokoyama NP-Completeness of Stage Illumination Problems . . . . . . . . . . . . . . . . . . . . . . 158 H. Ito, H. Uehara, and M. Yokoyama On the Maximum Degree of Bipartite Embeddings of Trees in the Plane . . 166 A. Kaneko Efficient Regular Polygon Dissections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 E. Kranakis, D. Krizanc, and J. Urrutia
VIII
Table of Contents
On Soddy’s Hexlet and a Linked 4-Pair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 H. Maehara and A. Oshiro Approximation Algorithms for Maximum Independent Set Problems and Fractional Coloring Problems on Unit Disk Graphs . . . . . . . . . . . . . . . . . . . . . 194 T. Matsui Visibility of Disks on the Lattice Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 N. Mutoh and G. Nakamura Convex Hull Problem with Imprecise Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 T. Nagai, S. Yasutome, and N. Tokura One-Dimensional Tilings with Congruent Copies of a 3-Point Set . . . . . . . . . 220 T. Nakamigawa Polygonal Approximations for Curved Problems: An Application to Arrangements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 M. Neagu Grouping and Querying: A Paradigm to Get Output-Sensitive Algorithms . 250 F. Nielsen Folding and Unfolding in Computational Geometry . . . . . . . . . . . . . . . . . . . . . 258 J. O’Rourke Crossing Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 J. Pach A Note on the Existence of Plane Spanning Trees of Geometric Graphs . . . 274 E. Rivera-Campo Embeddings of Equilateral Polygons in Unit Lattices . . . . . . . . . . . . . . . . . . . 278 T. Sakai Order-k Voronoi Diagrams, k-sections, and k-sets . . . . . . . . . . . . . . . . . . . . . . 290 D. Schmitt and J. C. Spehner “Impossible Objects” Are Not Necessarily Impossible – Mathematical Study on Optical Illusion – . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 K. Sugihara An Efficient Solution to the Corridor Search Problem . . . . . . . . . . . . . . . . . . . 317 X. Tan
Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Radial Radial Perfect Perfect Partitions Partitions ofof Convex Convex Sets Sets inin the the Plane Plane J. J. Akiyamal, Akiyama1, A. A. Kaneko2, Kaneko2 , M. M. Kano3, Kano3, G. G. Nakamura', Nakamura1, E. Rivera-Campo4, S. Tokunaga' and J. 4 5 E. Rivera-Campo , S. Tokunaga and J. Urrutia' Urrutia6 Research Research Institute Institute ofof Education Education and and Development, Development, Tokai Tokai University, University, Shibuya-ku, Shibuya-ku, 151-0063, Japan Tokyo Tokyo 151-0063, Japan 2 Department of Computer Science and Communication Engineering, Kogakuin Department of Computer Science and Communication Engineering, Kogakuin University, hinjuku- ku , Tokyo 77, Japan University, SShinjuku-ku, Tokyo 1563-86 1563-8677, Japan 3 Department of Computer and Information Sciences, Ibaraki University, Hitachi Department of Computer and Information Sciences, Ibaraki University, Hitachi 316-8511, 316-8511, Japan Japan 4 Departamento de Metmbticas, Universidad Aut6noma Metropolitana, D.F. 09340, Departamento de Metm aticas, Universidad Aut onoma Metropolitana, D.F. 09340, M&xico M exico 5 College of Liberal Arts and Sciences, Tokyo Medical and Dental University, Chiba College of Liberal Arts and Sciences, Tokyo Medical and Dental University, Chiba 272-0827, 272-0827, Japan Japan 6 Instituto de Matembticas, Universidad Nacional Aut6noma de M&xico Instituto de Matem aticas, Universidad Nacional Aut onoma de M exico 1
Abstract.
Abstract. In In this this paper paper we we study study the the following following problem: problem: how how toto divide divide aa cake ll the cake among among the the children children attending attending aa birthday birthday party party such such that that aall the children children get get the the same same amount amount ofof cake cake and and the the same same amount amount ofof icing. icing. This Thisleads leads usus totothe the study study ofof the the following. following. AA perfect perfect k-partitioning k-partitioning ofof aa convex convex set set SS isis aa partitioning partitioning ofof SS into into kk convex convex pieces pieces such such that that each each piece piecehas hasthe thesame samearea areaand and k1 ofofthe theperimeter perimeterofofSS..We Weshow showthat thatfor for any any k, k, any any convex convex set set admits admits aa perfect perfect k-partitioning. k-partitioning. Perfect Perfect partitionings partitionings with with additional additional constraints constraints are are also also studied. studied.
11 Introduction Introduction The Theproblem problemwe westudy studyininthis this paper paper was was introduced introduced inin [l]. 1].ItIt arises arises from from aa simple simple and o divide and practical practical problem: problem: how how tto divide aa cake cake among among the the children children attending attending aa birthday birthday party party inin such such aa way way that that each each child child gets gets the the same same amount amount ofof cake cake and and (perhaps o them) (perhaps more more important importanttto them) the the same same amount amount ofof icing. icing. Let LetSS bebeaaconvex convexset set contained contained ininthe the (5, (x y)-plane. y)-plane. InIn mathematical mathematicalterms, terms, aa cake cake CC with with base base SS isis aa solid solid containing containing all all the the points points with with coordinates coordinates (5, (x y,y x)z) such that (x,y,O) E S and 0 5 x 5 h , h > 0; h is called the height of C. such that (x y 0) S and 0 z h, h > 0 h is called the height of C. The The exposed exposed area area ofof CC consists consists ofof the the boundary boundary ofof CC minus minus SS,, i.e. i.e. the the base base ofof aa cake cake isis not o be not considered considered tto be exposed. exposed. AA cake cake will will be be called called aa polygonal polygonal cake cake ifif SS isis aa convex polygon. convex polygon. AA division division ofof aa cake cake CC into into kk parts parts by by aa series series ofof vertical vertical cuts cuts isis said said ttoo be be perfect perfect ifif:
2
i)i) Each Each part part isis convex. convex. ii) Each piece ii) Each piece has has the the same same volume volume and and the the same same exposed exposed area area ofof SS.. J. Akiyama, M. Kano, and M. Urabe (Eds.): JCDCG’98, LNCS 1763, pp. 1−13, 2000. Springer-Verlag Berlin Heidelberg 2000
2
J. Akiyama et. al
Our birthday Our birthday cake cake problem problem can can be be stated stated as as follows: follows: given given aa cake cake C, C, does does itit have a perfect partitioning into k pieces? If a cake has such a partitioning, we havealso a perfect partitioning intoperfectly. k pieces? If a cake has such a partitioning, we will say that C can be cut willAalso say that C can be cut perfectly. cake whose base a square can be cut perfectly into three pieces as follows: Aany cakethree whosepoints base isisx, a square can be cut perfectly into three pieces as follows: take y and x that divide the perimeter of its base into take any three points x, y and z that divide the perimeter of its base into three three pieces pieces ofof the the same same length. length. Now Now make make vertical vertical cuts cuts along along the the line line segments segments connecting connecting these these points points to to the the center center ofof the the base base ofof the the cake; cake see see Figure Figure 1. 1.
Fig. 1.
Fig. 1. Cutting Cutting aa square square cake cake into into 33 pieces. pieces.
Perfect Perfect partitionings partitionings ofof cakes cakes inin which which the the vertical vertical cuts cuts are are all all along along line line segments concurrent at a point P are called radial perfect partitionings. segments concurrent at a point P are called radial perfect partitionings. Notice Notice that that for for any any kk >> 0,0, any any circular circular cake cake CC has has aa radial radial perfect perfect partitioning partitioning into k pieces. This motivates the following definition. into k pieces. This motivates the following de nition. A A cake cake CC isis called called graceful graceful if, if, for for every every kk,,there there isis aa perfect perfect radial radial partitioning partitioning of C into k pieces. A natural question arises here: is it true that of C into k pieces. A natural question arises here: is it true that aa graceful graceful cake cake must must necessarily necessarily be be circular? circular? We We will will prove prove that that the the answer answer to to this this question question isis “no”. \no". We We will will show show that that there there are are an an infinite in nite number number ofof graceful graceful polygonal polygonal cakes, cakes, and give a full characterization of them. and give a full characterization of them. There There are are perfect perfect partitionings partitionings ofof rectangular rectangular cakes cakes that that are are not not radial. radial. AA non-radial perfect partitioning of a cake whose face is a 2-by-4 rectangle non-radial perfect partitioning of a cake whose face is a 2-by-4 rectangle can can be be obtained by making vertical cuts along the line segments that divide its obtained by making vertical cuts along the line segments that divide its base base into into four four parts parts each each with with equal equal area area and and perimeter, perimeter, as as shown shown in in Figure Figure 2.2. Since we consider cakes of uniform height h , iced uniformly on Since we consider cakes of uniform height h, iced uniformly on the the top top and and sides, we can model the problem of dividing the cake C with base S into sides, we can model the problem of dividing the cake C with base S into pieces pieces of of both both equal equal volume volume and and icing, icing, by by the the equivalent equivalent problem problem ofof partitioning partitioning the the convex set S into subsets equal both in area and perimeter of S convex set S into subsets equal both in area and perimeter of S.. Thus Thus inin the the rest rest ofof this this paper, paper, instead instead ofof perfect perfect partitionings partitionings of of cakes, cakes, we we will refer to perfect partitionings of convex sets. will refer to perfect partitionings of convex sets. In In Section Section 3,3, we we will will prove prove that that every every convex convex set set admits admits aa perfect perfect radial radial partitioning. In Section 4, we exhibit a quadrilateral that does not partitioning. In Section 4, we exhibit a quadrilateral that does not admit admit perfect perfect radial radial partititonings partititonings into into four four or or more more pieces, pieces, and and give give an an interesting interesting family family ofof convex sets which admit perfect radial partititonings into four pieces. convex sets which admit perfect radial partititonings into four pieces. We We will will conclude conclude by by showing showing that that any any cake cake can can be be perfectly perfectly partitioned partitioned into into kk pieces for all k > 0. Of course these partitionings are not necessarily pieces for all k > 0. Of course these partitionings are not necessarily radial. radial. Some Some results results on on perfect perfect n-partitions n-partitions can can be be found found inin [3]. 3].
Radial Perfect Partitions of Convex Sets in the Plane
3
Fig.2.2.AAnon-radial non-radial perfect partitioning of a rectangular cake into four pieces. Fig. perfect partitioning of a rectangular cake into four pieces.
Polygonal graceful graceful cakes cakes 22 Polygonal perfect kk-partitioning convexset set SS isisaa partitioning partitioningofofSS into intokk convex convex AA perfect -partitioning ofofaa convex sets of equal area such that the boundary of each set is k of the boundary 1 sets We of equal area suchtothat the boundary of each set is kcakes. of the boundary ofofS.S . now proceed characterize polygonal graceful We now proceed to characterize polygonal graceful cakes. convexpolygon polygonPP isiscalled calledco-circular co-circularififthere thereisisaacircle circleRRinscribed inscribedininPP, , AAconvex such that R is contained in P and tangent to all the edges of P . Thecenter center ofof such that R is contained in P and tangent to all the edges of P . The willbe becalled calledthe thecenter centerofofPP. .We Weprove: prove: RRwill Theorem1.1.AApolygon polygonPP with withnnsides sidesisisgraceful gracefulififand andonly onlyififititisisaaco-circular co-circular Theorem polygon. Moreover, Moreover, all allperfect perfectpartitionings partitioningsofof PP are areradial. radial. polygon.
Proof. Assume Assume that that we we have have aa perfect perfect division division ofofPP into intokk parts parts produced produced by by Proof.
cutting along alonglines linesradiating radiatingfrom fromaapoint pointCCininits itsinterior. interior. Then Thenthe theperimeter perimeter cutting of P is divided equally among these parts. If k > n , then at least k - n of these of P is divided equally among these parts. If k > n, then at least k ; n of these parts are aretriangles. triangles. Each Eachofofthese these triangles triangles has hasaaside sidealong alongthe theperimeter perimeter ofofPP ; parts call this its base. Since these triangles have equal base lengths and equalareas, areas, call this its base. Since these triangles have equal base lengths and equal their heights must all be the same, i.e. the distances from C to all the sides their heights must all be the same, i.e. the distances from C to all the sides ofofPP containingthe thebase base ofofaatriangle triangleininour ourpartitioning partitioningmust mustbe beall allthe thesame. same.IfIfwe we containing take k sufficiently large, we may assume that on each side of P there is always take k suciently large, we may assume that on each side of P there is always trianglewhose whose base base lies liesentirely entirelyon onthat that side. side.That Thatis, is,CCisisequidistant equidistanttotoall all aatriangle the sides of P , i.e. P is cocircular. Sufficiency is obvious. the sides of P , i.e. P is cocircular. Suciency is obvious. Wenow now proceed proceed to toprove prove the the second second part part ofofour ourresult, result,i.e. i.e.that that all allperfect perfect We partitionings of P are radial. Let C be the center of P , and 0 a perfect partipartitionings of P are radial. Let C be the center of P , and a perfect partitioning of P into k convex pieces C1, . . . , C k , k 2 3. Let Cj be any element of 0 tioning of P into k convex pieces C1 : : : Ck , k 3. Let Cj be any element of that contains contains CCininits itsinterior interior or orboundary. boundary. that Suppose that Cj contains several disjointarcs arcsAA l :, :. .: . A , A, theboundary boundaryofof Suppose that Cj contains several disjoint 1 m ofofthe P . Since 0 is a perfect partitioning of P , the sum of the lengths of Pis. 1Since is a perfect partitioning of P , the sum of the lengths of AA1 l :, :. :. . A, A, m of the perimeter ofof PP. .Let Let DDi be the set set bounded bounded by by AAi and bythe the line line is k of the perimeter i be the i andby segments joining joining the the endpoints endpointsofofAAi to C ,i i==11: :. :. . m. , m.Since SinceCCisisequidistant equidistant segments i toC, from all the sides of P , it follows that the area of D1 U . . . U D, is 1 thearea area from all the sides of P , it follows that the area of D1 : : : Dm is k ofofthe of P , and thus Cj = D1 U . . . U D,. However since Cj is convex, m must of P , and thus Cj = D1 : : : Dm . However since Cj is convex, m must bebe equalto to1,1,i.e. i.e.the theintersection intersection ofofthe theboundary boundaryofofPP with withthe theboundary boundaryofofCCjisis equal j connected. Let Sj denote the arc of the boundary of P contained andlet let connected. Let Sj denote the arc of the boundary of P contained ininCCj, j , and Pj and Pj+l be the endpoints of Sj. It follows that the boundary of Cj is Sj, Pj and Pj +1 be the endpoints of Sj . It follows that the boundary of Cj is Sj , together with with the the line line segments segments joining joining PPj and C.We Wenow nowprove provethat that together j andPPj+l j +1 totoC.
4
J. Akiyama et. al
cake canthe be elements stated as Cfollows: given a cake C, does it 0 obtained theOur set Sbirthday byproblem joining all j of that contain C in their have a perfect partitioning into k pieces?0 If a cake has such a partitioning, we boundary covers PC. can Suppose then that S does not cover all of P . Let S 00 be one will also say that be cut perfectly. of the components of S ;a square S 0 . Since partitions P , it induces a partitioning P 00 A00 .cake whose base is to can be cut perfectly three pieces as follows: 00 , it alsointo of S Since C belongs the boundary of S belongs to the boundary take three points of x,Py00,and x that divide the perimeter base into of oneany of the elements which is a contradiction. Hence ofis its radial. ut three pieces of the same length. Now make vertical cuts along the line segments connecting these points to the center of the base of the cake; see Figure 1.
3
Radial perfect 3-partitionings of convex sets
It is easy to see, using the Ham-Sandwich Theorem (2] p.212), that any convex set can be partitioned into two convex subsets, each with equal area and perimeter. In this section we prove that every convex set has a perfect 3-partitioning. Some terminology will be needed in the rest of this paper. Given two points A and B on the plane, jAB j will denote the distance from A to B, and AB the line segment joining them. A triangle with vertices A, B and C will be denoted by (ABC). The internal angles of (ABC) at vertices A, B, and C will be 6 ABC, denoted by 6 CAB,Fig. and 6 aBCA The area of a set S will 1. Cutting squarerespectively. cake into 3 pieces. be denoted by A(S ). Given a convex set S, and an arc Si of its boundary with endpoints A and B, the lune L(Si ) is the convex set bounded by Si and the line segment AB. Our objective in this section is to prove the following result: Perfect partitionings of cakes in which the vertical cuts are all along line segments at a point are called radial radial perfectpartitioning partitionings. Theoremconcurrent 2. Any convex set SP admits a perfect into three sets.Notice that for any k > 0, any circular cake C has a radial perfect partitioning into k pieces. This motivates the following definition. Wecake willCneed to prove someif,preliminary resultsisbefore we radial prove partitioning Theorem 2. A is called graceful for every k ,there a perfect of C into k pieces. A natural question arises here: is it true that a graceful cake Lemma 1. If webecancircular? partitionWethewill boundary of Sthe intoanswer three arcs S1 ,question S2 and Sis3 must necessarily prove that to this A(S ) , of equal length such that A ( L (S )) , A ( L (S )) , and A ( L (S )) are at most 3 “no”. We will show that there are1 an infinite2 number of graceful polygonal cakes, 3 thengive Theorem holds. and a full 2characterization of them. There are perfect partitionings of rectangular cakes that are not radial. A Proof. Suppose that there are three arcs S1 , S2face , andis Sa32-by-4 that satisfy the condinon-radial perfect partitioning of a cake whose rectangle can be tions of our lemma, and let A, B be the endpoints of S 1 B and C the endpoints obtained by making vertical cuts along the line segments that divide its base of S2four
and C and A the endpoints of S . Let us assume that the area of S is into each with equal area and3 perimeter, as shown in Figure 2. 1 A(S ) ;x. parts Then if we anyofpoint on the line Lh1, iced parallel to AB, on andthe at distance 3 we considertake cakes uniform height uniformly top and 2x Since from S , then for any point Y on L , the area of (ABY ) equals and 1 1 AB we can model the problem of dividing the cake C with base S into x, sides, pieces thus the area of the convex set bounded by S and the line segments BY and 1 of both equal Avolume and icing, by the equivalent problem of partitioning the (S ) YA hasset areaS into . Let L2equal be de ned in area a similar way w.r.t.ofS2S.. Then it is easy 3 subsets convex both in and perimeter to see that L and L intersect at a point X in the of S. It offollows 1 2 Thus in the rest of this paper, instead of perfectinterior partitionings cakes,that we the radial partitioning of S obtained by cutting along the line segments joining will refer to perfect partitionings of convex sets. X to B, and3,Cweis will a perfect ut In A, Section proveradial that partitioning. every convex set admits a perfect radial partitioning. In Section 4, we exhibit a quadrilateral that does not admit perfect Next we prove: into four or more pieces, and give an interesting family of radial partititonings convex sets which admit perfect radial partititonings into four pieces. Lemma 2.conclude Considerbytwo triangles , and ) suchpartitioned that: We will showing that(ABC) any cake can ( be BCX perfectly into k i)pieces forall k > 0.and Of6 course these partitionings are not necessarily radial. 6 BCA 6 BCX 6 ABC BCX Some results on jperfect ii) jAB j + jAC = jXB jn-partitions + jXC j. can be found in [3].
Radial Perfect Partitions of Convex Sets in the Plane
5
A X
C
B
Fig. 2. A non-radial perfect partitioning of a rectangular cake into four pieces.
2
Polygonal graceful cakes
Fig. 3.
A perfect k-partitioning of a convex set S is a partitioning of S into k convex sets of equal area such that the boundary of each set is of the boundary of S . now proceed to characterize ThenWeA((ABC)) A(( BCX )) polygonal graceful cakes. A convex polygon P is called co-circular if there is a circle R inscribed in P , Proof. Consider the ellipseinE Pwith A andtoB,allsuch forofany Y in Eof, such that R is contained andfoci tangent thethat edges P . point The center jYA j + j YB j = j XB j + j XC j . Assume further that the line segment BC lies on the R will be called the center of P . We prove:
k
x-axis, and that the origin is its mid-point. Suppose without loss of generality 6 ABC 6 ABC 1. A6 BCA . Since is6 BCX it iffollows thatif the h1 that Theorem polygon P with n sides graceful and only it is distance a co-circular from A to x-axis is greater than the distance h from X to the x-axis. And since polygon. Moreover, all perfect partitionings of2 P are radial. j h2 jBC j our result follows see Figure 3. A((ABC))= h1 jBC 2 , and A((BCX))= 2
Proof. Assume that we have a perfect division of P into k parts produced u tby cutting along lines radiating from a point C in its interior. Then the perimeter of P divided equally among these parts. If k > n , then at least k - n of these Weisnow prove: parts are triangles. Each of these triangles has a side along the perimeter of P ; 6 baselengths 6 ABCand Lemma (ABC) be such . Letequal X and D call this 3. its Let base.triangle Since these triangles havethat equalBCA areas, betheir points on CA, and E a point on AB that satisfy: heights must all be the same, i.e. the distances from C to all the sides of P containing the base of jBEa jtriangle + jEDjin+ our jDCpartitioning j = jXB j + jmust XC j: be all the same. If we take k sufficiently large, we may assume that on each side of P there is always Then the area A(C (base BCDE of the quadrilateral C (That BCDEis,) with B CtoDall E a triangle whose lies))entirely on that side. C is vertices equidistant isthegreater than A (( XBC )) . sides of P , i.e. P is cocircular. Sufficiency is obvious. We now proceed to prove the second part of our result, i.e. that all perfect = 6 BDA, BDE, 1 =of 6 PABD, Proof. Let =of6 PBCA partitionings are, radial. Let C = be 6 the center , and and 0 a perfect parti2 = 6 DBC. 6 6 Since 1 k+convex = = DAB = +of20
tioningDAB of P + into pieces C1,+. .. ,+ C k,1k+23. Letfollows Cj be that any element 2 , it see 4. C in its interior or boundary. thatFigure contains Since =that +Cj2 >contains > >several 1 , anddisjoint > ,arcs andAjBE jEDofj =thejBX j + jXD jof, Suppose l , . .j .+, A, boundary itP follows from previous lemma that greater . Since 0 is aour perfect partitioning of P ,the the area sum of of (BDE) the lengthsis of A l , . .than . , A, that XBD ). ut is ofof( the perimeter of P . Let Di be the set bounded by Ai and by the line segments joining the endpoints of Ai to C , i = 1 . . . , m. Since C is equidistant Weallnow result: from theprove sides the of Pfollowing , it follows that the area of D1 U . . . U D, is of the area of P , and thus Cj = D1 U . . . U D,. However since Cj isconvex, 6 BCA 6 ABC ,mandmust Lemma 4. Consider a triangle (ABC) such that let Qbe equal to 1, i.e. the intersection of the boundary of P with the boundary of be a convex polygon with vertices Q1 = C Q2 : : : Qn;1 Qn = B containedCjinis connected. Let that Sj denote the arc boundary P contained let (ABC) such Q2 2 CA, Qnof 2 AB , n 3of. Let X 2 CA inbe Cj, suchandthat ;1 the Pj and Pj+l be the endpoints of Sj. It follows that the boundary of Cj is Sj, jCX j + jXB j = jQ1Q2j + : : : jQn;1Qnj. Then the area of Q is greater than the together the line segments area of thewith triangle (XBC ). joining Pj and Pj+l to C. We now prove that
6
J. Akiyama et. al
Our birthday cake problem can be stated as follows: given a cake C, does it have a perfect partitioning into kApieces? If a cake has such a partitioning, we will also say that C can be cut perfectly. A cake whose base is a square can be cut perfectly into three pieces as follows: take any three points x, y and x that divide the perimeter of its base into X E three pieces of the same length. Now make vertical cuts along the line segments γ connecting these points to the center of the base of the cake; see Figure 1. D θ β1
α
β2
C
B
Fig. 4. Proof. Our proof proceeds by induction on the number of vertices of Q. For
Fig.reduces 1. Cutting a square cake into 3 pieces. n = 4, our problem to Lemma 3. Suppose then that our result is true for polygons with n ; 1 vertices, and let Q be a polygon with n vertices fQ1 = C Q2 : : : Qn;1 Qn = B g, n 5. Consider now the quadrilateral with vertices fQpartitionings Qng and the triangle with vertices fZallQalong n;3 Qn;2 Qnof ;1 cakes n Qn;line 3g, Perfect in which the vertical cuts are where Z is the point of intersection of the lines containing Q Q and n ; 3 n ; 2 segments concurrent at a point P are called radial perfect partitionings. Qn;Notice see Figure By0,Lemma 3 there isCahaspoint Y either Qn;3Z or 1Qn that for any5. k> any circular a radial perfectonpartitioning 0Qn Qcake 0 is smaller) such 6 6 on ZQ , (depending on which of Q and Q Q Q n n ; 3 n n ; 3 into k pieces. This motivates the following definition. thatA jcake Qn;3CY isj +called jY Qngraceful j = jQn;if,3Qforn;every jQn;1radial Qn j, and the area 2j + jQ ;2Qnis ;1aj +perfect k ,nthere partitioning of the quadrilateral C (Q Q Q Q ) is greater than the area of triangle n ; 3 n ; 2 n ; 1 n of C into k pieces. A natural question arises here: is it true that a graceful cake (Q Q Y ). n n ; 3 must necessarily be circular? We will prove that the answer to this question is
“no”. We will show that there are an infinite number of graceful polygonal cakes, and give a full characterization of them. There are perfect partitioningsA of rectangular cakes that are not radial. A non-radial perfect partitioning of a cake whose face is a 2-by-4 rectangle can be obtained by making vertical cuts along the line segments that divide its base into four parts each with equal area and perimeter, as shown in Figure 2. Since we consider cakes of uniform height h , iced uniformly on the top and sides, we can model the problem ofQ dividing the cake C with base S into pieces n-3 X Z of both equal volume and icing, by the equivalent problem of partitioning the Y convex set S into subsetsQequal both in area and Q perimeter of S . n-1 2 Thus in the rest of this paper, instead of perfect partitionings of cakes, we will refer to perfect partitionings of convex sets. Q1 =C Q n =B In Section 3, we will prove that every convex set admits a perfect radial partitioning. In Section 4, we exhibit a quadrilateral that does not admit perfect radial partititonings into four or more Fig.pieces, 5. and give an interesting family of convex sets which admit perfect radial partititonings into four pieces. We will conclude by showing that any cake can be perfectly partitioned into k pieces for all k > 0. Of course these partitionings are not necessarily radial. Some results on perfect n-partitions can be found in [3].
Radial Perfect Partitions of Convex Sets in the Plane
7
Two cases arise: Suppose rst that Y 2 ZB . By the previous paragraph, the area of Q is greater than the area of the polygon Q00 with vertices Q1 : : : Qn;3 Y Qn. Moreover Q00 has the same perimeter as Q. By induction there is a point X 2 CA such that jCX j + jXB j = jQ1Q2 j + : : : + jQn;3Y j + jY Qnj and the area of (XBC ) is smaller than the area of Q00, which is smaller than the area of Q. A similar analysis is done when Y 2 Q 3Z. ut Fig. 2. A non-radial perfectn;partitioning of a rectangular cake into four pieces. We now prove: Lemma 5. Let (ABC) be such that 6 BCA 6 ABC , and let be a convex 2 Polygonal graceful cakes curve contained in (ABC) joining C to B . Let Y be the point on CA such that jCY j + jYB j equals the length of . Then the area of the convex set Q bounded k-partitioning a convex set than S is A a ((ABC)) partitioning byA perfect and the line segmentofBC is greater . of S into k convex sets of equal area such that the boundary of each set is k of the boundary of S . Proof. : : : Qn;1 Qnpolygonal = B be graceful n equidistant 1 = C Q WeLet nowQproceed to2 characterize cakes. points on , and R and S be points on CA and AB such that the lines through R and inQ1P, , A convex polygon P is called co-circular if there is a circle R inscribed and Q and S are tangent to
. By the previous lemma, there is center a pointof n;1 R is contained in P and tangent to all the edges of P . The such that XRn will on CA such that j CX j + j X B j equals j Q R j + j RQ j + : : : + j SQ n of P . nWe prove: 1 1 n j, and be called the center the area of (CXnB) is smaller than that of the polygon Qn with vertices is graceful if andQonly if it is a to co-circular QTheorem Q2A: polygon : : Qn;1P SwithQnn =sides B. As n increases, Q, and 1 = C R 1. n converges Moreover, all perfect partitionings of P are radial. Xpolygon. converges to a point X 2 CA . ut n Proof. Assume have a perfect P into k parts produced by We now provethat ourwe main lemma in thisdivision section,ofnamely: cutting along lines radiating from a point C in its interior. Then the perimeter Lemma 6. Let equally S be a convex set, and let IfS1k, S>2 ,n and a partitioning of of P is divided among these parts. , thenS3atbeleast k - n of these the boundary of S into three arcs of equal length. Then at most one of L (S parts are triangles. Each of these triangles has a side along the perimeter of1 )P, ; A (S ) . Lcall (S2)this , anditsLbase. (S3 ) Since has area greater than have or equal to base these triangles equal and equal areas, 3 lengths their heights must all be the same, i.e. the distances from C to all sidesB,ofBP Proof. Suppose that the endpoints of L(S1 ), L(S2 ), and L(S3 ) are the A and containing the base of a triangle in our partitioning must be all the same. we and C, and C and A respectively. Let lA , lB , and lC be tangent lines to S atIf A, take k sufficiently large, we may assume that on each side of P there is always A (S ) B, and C respectively. Suppose that L(S1 ), L(S2 ) have area greater than . a triangle whose base lies entirely on that side. That is, C is equidistant to3 all Two cases arise: the sides of P , i.e. P is cocircular. Sufficiency is obvious. Wethe now second part of our that result, i.e. that i) In rstproceed case, lAto, lBprove and lthe a triangle contains S. all Letperfect D be C determine partitionings of P are Let C center of P ,point and 0 the intersection pointradial. of lA and lC ,beE the the intersection of alAperfect and lB ,partiand tioning P intoonk DA convex k,k Let Cjt be anylength element X theof point suchpieces that C1, jCX.j. +. , CjXA j =2 t,3.where is the of ofS10, thatand contains or at boundary. nally,CletinFitsbeinterior the point which lB intersects the line through X and th1 , andof Suppose that Cj contains disjoint . . 1, A, of the boundary C. See Figure 7(a). Observeseveral now that the arcs area Aofl ,L.(S ) is less than 2 2 , where P . that Sincethe 0 area is a perfect of P ,ththe sum ofh1the lengths of A l , . . . , A, of L(S2partitioning ) is also less than and h are the distances 2 2 is from of the perimeter of P . Let Di be the set bounded by Ai and by the B to lA and lB respectively. Let t1 = jXAj, and t2 = jCX j. Then line by segments joining Ai tothat C , ithe = 1sum . . . , m. Since C isofequidistant de nition, t1 +thet2 endpoints = t. Noticeof now of the areas triangles t1h1 +the t2 h2area from all the sides of P , it follows of D1 U . .than . U D,theisareas of of theboth area (DAC) and (ABC) equalsthat which is less 2 of PL(S , and thus Cj = D1 U . . . U D,. However since Cj is convex, m must be 1 )and L(S2 ). We may assume that h1 h2. Thus we obtain that equal to 1, i.e. the intersection of the boundary of P with the boundary of Cj is (t1of+the t2)hboundary t1 h1 of t2 hcontained 1 2 1 arc connected. Let Sj denoteththe P in Cj, and let = + 2 of Sj.2 It follows2that the 2 boundary of Cj is Sj, Pj and Pj+l be the endpoints together with joining to areas C. Weof now prove and that That is, thethe arealineof segments L(S1 ) is less thanPjtheand sumPj+l of the (DAX)
(ABC), which is a contradiction.
8
J. Akiyama et. al
Our birthday cake problem can be stated as follows: given a cake C, does it have a perfect partitioning into k pieces? If a cake has such a partitioning, we lC perfectly. will also say that C can be cut A l A C be cut perfectly A cake whose base is a square can into three pieces as follows: take any three points x, y and x that divide the perimeter of its base into three pieces of the same length. Now make vertical cuts along the line segments B connecting these points to the center of the base of the cake; see Figure 1. X
lB
D
Fig. 6. ii) Two subcases arise the triangle by lA , lB and lC does not Fig. when 1. Cutting a squaredetermined cake into 3 pieces. contain S. (a) The intersection point of lA , lC (call it D), together with A and C, determine a triangle (ADC) that contains B in its interior see Figure partitionings 6. Suppose that lB is inhorizontal, that the A line and Perfect of cakes which theand vertical cutsline arethrough all along intersects itat toa point the left of Bcalled as shown Figurepartitionings. 6. Consider the line segmentsCconcurrent P are radialinperfect parallel toany ACk through and let pointperfect at which this line Notice that for > 0, any B, circular cakeXCbe hasthe a radial partitioning intersects . Observe jXB j definition. < jAC j, and thus the area of trianinto k pieces. ThisCD motivates thethat following gleC( B) graceful is smaller thanevery the karea However L(S2 ) A cake is CX called if, for ,thereofis(ABC). a perfect radial partitioning ) A(natural CXB ) which is aarises contradiction, thethat areaaofgraceful (ABC) is of C into( k CEB pieces. question here: is it as true cake ) must necessarily We will prove that the answer to this question is less than beA(3Scircular? . (b)WeAwill similar remaining when polygonal the intersection “no”. showargument that there solves are an the infinite numbercases of graceful cakes, 0 of lA and lB of and givepoint a fullD characterization them. (respectively lB and lC ) determines a triangle There(D are0 AB) perfect partitionings rectangular radial. A (resp. (D0 BC))ofthat contains Ccakes (resp.that A) are in itsnotinterior. ut
non-radial perfect partitioning of a cake whose face is a 2-by-4 rectangle can be obtained makingare vertical cuts along lineCsegments that divide base Lemma by 7. There three points A, Bthe , and on the boundary of Sitswhich into four each sectors with equal andS3perimeter, as shown Figure divide S parts into three S1 , Sarea of equal length suchinthat the 2. areas of 2 , and we2 )consider ofare uniform height , iced uniformly on the L(SSince , and L(Scakes smaller than hone third of the area of Stop . and 1), L(S 3 ) are sides, we can model the problem of dividing the cake C with base S into pieces Proof. A, B, and on thebyboundary of S, and assumeofbypartitioning Lemma 6 that of both Choose equal Avolume andCicing, the A(Sthe ) equivalent problem A(S ) . Simultaneously (S ) , A ( L (S )) < , and A ( L (S )) < A ( L (S )) 2 3 2 3 subsets equal both3 in area and perimeter of 3 S. convex set S into rotate andrestC ofcounter-clockwise along the boundary of S ofkeeping ThusA,inBthe this paper, instead of perfect partitionings cakes, the we lengths of S , S , and S equal, until we reach the rst position in which either 1 2 3 will refer to perfect partitionings of convex sets. A(S ) or A(L(S2 )) = A(S ) . Suppose that the second case arises. A(LIn(SSection 3 )) = 3, 3 we will prove that 3every convex set admits a perfect radial This must happen before4, Bwereaches original position of A.not At this point, we partitioning. In Section exhibit the a quadrilateral that does admit perfect A (S ) A (S ) know by Lemma 6 that A ( L (S )) < , and A ( L (S )) < . It now follows 1 more 3pieces, and give 3 an interesting radial partititonings into four or family of 3 that if sets we rotate B, and C inradial the clockwise direction a suciently small convex which A, admit perfect partititonings into by four pieces. Ainto (S ) amount, we reach a nal position for A, B and C in which A ( L (S )) < We will conclude by showing that any cake can be perfectly partitioned 2 3 , A ( S ) A ( S ) kApieces 0. Of not necessarily radial. A(Lcourse (S3 )) these < 3 partitionings . The case inarewhich A(L(S3 )) reaches (L(S2 ))for< all3k ,>and A (Son ) perfect n-partitions can be found in [3]. Some results the value rst is solved in a similar way. ut 3
Radial Perfect Partitions of Convex Sets in the Plane
9
D X A C
Fig. 2. A non-radial perfect partitioning of a rectangular cake into four pieces. h 2
2
F
Polygonal graceful cakes
h1 B
E
A perfect k-partitioning of a convexFig. set7.S is a partitioning of S into k convex sets of equal area such that the boundary of each set is of the boundary of S . We now proceed to characterize polygonal graceful cakes. A convex polygon is called7,co-circular there is a circle R inscribed in P Using Lemma 1 andP Lemma Theorem 2iffollows. ut , such that R is contained in P and tangent to all the edges of P . The center of R will be called the center of P . We prove:
k
3.1 Perfect 4-partitionings of convex sets
Theorem 1. A polygon P with n sides is graceful if and only if it is a co-circular We now show that that we cannot extend Theorem 2 to radial perfect partitionpolygon. Moreover, all perfect partitionings of P are radial. ings with four or more convex subsets. Proof. Assume that web have a perfect division of P that into ak >parts produced Theorem 3. Let a and be positive real numbers such 4b, and let n by 5 cutting along lines radiating from a point C in its interior. Then the perimeter be an integer. Then every a b rectangle R cannot be radially perfectly partitioned of P is divided equally among these parts. If k > n , then at least k - n of these
into ve or more convex subsets. Moreover there are convex quadrilaterals that parts no are perfect triangles. Each these triangles has a side along the perimeter of P ; admit radial fourof partititonings. call this its base. Since these triangles have equal base lengths and equal areas, Proof. Let V1 must V2 V3allVbe vertices of Rdistances such thatfrom jV1VC2 jto=alljV3the V4 jsides = a and their heights thethe same, i.e. the of P 4 be
jVcontaining V1 j =base b. of a triangle in our partitioning must be all the same. If we 2V3 j = jV4the
take k sufficiently may assume thatpartitioned on each side there issubsets always Suppose that Rlarge, can beweradially perfectly intoof nP convex bya triangle n line segments CXlies is a is, point R and the to Xi 'sall whose base entirely on that side.CThat C isinequidistant 1 CX 2 : : : CX n, where are onPthe of R. Since n 5 and a > 4b, both of the arc V1 V2 thepoints sides of , i.e.boundary P is cocircular. Sufficiency is obvious. and We the now arc Vproceed at least points C must lie on to prove the two second partXiofand ourXresult, i.e. that all perfect 3 V4 contain i+1 . Thus partitionings P are radial. Let C be of theV2center 0 a perfectHence partithe line passingof through the midpoints V3 andof VP1 V, 4and , respectively. the area ofof Ptheinto triangle withpieces vertices tioning k convex C1,X. .i ,. ,X C ik+1 , k, and 2 3.CLetequals: Cj be any element of 0 that contains C in its interior or boundary. 2b) disjoint b < ab arcs 1 (2a +several Suppose that Cj contains = AA(nRl ,).:. . , A, of the boundary of 2 n 2 n P . Since 0 is a perfect partitioning of P , the sum of the lengths of A l , . . . , A, This contradiction, of set our bounded result is proved. is isofathe perimeter ofand P .the Let rst Di part be the by Ai and by the line segments joining the endpoints of Ai to C , i = 1 . . . , m. C is equidistant To prove the second part of our result, let us consider theSince quadrilateral Q with from all the sides of P , it follows that the area of D1 U . . . U D, area vertices P1 P2 P3 P4 such that jP1P2j = jP1P4 j = 40, jP2P3j = is4, jPof3Pthe 4j = 2 of P , and thus Cj = D1 U . . . U D,. However since Cj is convex, m must and jP2P4 j = 5 see Figure 8. Suppose that Q can be radially perfectly partitionedbe equalfour to 1, i.e. thesubsets intersection the boundary of Cj is into convex by lineof segments DY1 ofDYP2 with DY3the DYboundary 4, where D is a connected. Let Sj denote the arc of the boundary of P contained in Cj, point of Q and Yi is a point on the boundary of Q, i = 1 : : : 4. Since atand leastlet Pj and Pj+l be the endpoints of Sj. It follows that the boundary of Cj Sj, three elements of fYi i = 1 : : :4g, say Y1 Y2 and Y3 , lie on P1P2 P1 P4, weiscan together with the line segments joining Pj and Pj+l to C. We now prove that easily show that D must lie on the bisector of the angle of Q at P1.
10
J. Akiyama et. al
Our birthday cakethat problem be stated as follows: given a cake C, does it Wea perfect may assume Y1into Y2 can 2k Ppieces? 1P4 and Y3 2 P1P2. If Y4 2 P2P3 , then since have partitioning suchunion a partitioning, we the also quadrilateral whose vertices are fD YIf3 aP2cake Y4ghas is the of (DY3 P2) will say that C can be cut perfectly. andA(DP Y ), it follows that D must be lie on the bisector of the angle of Q at 2 4 cake since whosethe base is a square can P be )cut perfectly into three pieces as follows: P . Then height of (DP with base P P is greater than that of 2 3 4 3 4 take any three points x, y and x that divide the perimeter of its base into (DP P ) with base P P , it follows that the area of the pentagon with vertex 4 1 4 1 three length. Now than makethat vertical cutsquadrilateral along the line segments set fDpieces Y4 ofP3thePsame Y g is greater of the with vertex 4 1 connecting to the center ofIf the seeaFigure 1. set fD Y these P Ypoints g, a contradiction. Y 2base P Pof, the thencake; we get contradiction 3
2
4
4
3 4
as above. Hence we may assume that Y4 2 P1 P2. Since the pentagon de ned by D, Y4 , P2, P3 , P4, and Y1 is a convex set, we can prove that D must be at distance at least 7 from the lines containing P2 P3 and P3P4 , and thus the area of the sector containing P2P3 and P3P4 on its boundary is bigger than that of the remaining sectors, which is a contradiction. ut P P
1
Fig. 1. Cutting a square cake into 3 pieces.
4
P
3
P 2 Perfect partitionings of cakes in which the vertical cuts are all along line segments concurrent at a point P are called radial perfect partitionings. Fig. 8. that A quadrilateral hascircular no perfect radial partitioning into four pieces. Notice for any k >that 0, any cake C has a radial perfect partitioning into k pieces. This motivates the following definition. A cake C is called graceful if, for every k ,there is a perfect radial partitioning of C into k pieces. A natural question arises here: is it true that a graceful cake mustWe necessarily circular? will prove that the answer to this 2.question is now give abeweaker but We interesting generalization of Theorem A convex “no”. We will show that there are an infinite number of graceful polygonal cakes, set S is called normal if for every arc Si of its boundary with length equal to and a full them. of S , A(L(S )) A(S ) one give quarter of characterization the length of theofperimeter i 4 There are perfect partitionings of rectangular cakes that are not radial. A Theorem perfect 4. Let partitioning S be a normal set. face Thenis Sa 2-by-4 admits rectangle a perfectcan radial non-radial of a convex cake whose be partitioning fourvertical convex cuts subsets. obtained by into making along the line segments that divide its base into four parts each with equal area and perimeter, as shown in Figure 2. Proof. Let P1 P2 P3 cakes P4 beoffour points on the boundary of S that divide its Since we consider uniform height h , iced uniformly on the top and boundary into four arcs S : : : S 1 4 of equal length. Assume without loss of gensides, we can model the problem of dividing the cake C with base S into pieces erality that S has endpoints P and P , i = 1 : : : 4, where P5 = P1 . Giventhea 1 of both equal ivolume and icing, by thei+1equivalent problem of partitioning point Q in the interior of S , let Wed (Si Q) be the subset of S bounded by Si convex set S into subsets equal both in area and perimeter of S . andThus the line segments joining the endpoints of Si to Q, i = 1 : : : 4. in the rest of this paper, instead of perfect partitionings of cakes, we Clearly there is a unique point Y in the interior of S such that: will refer to perfect partitionings of convex sets. In Section 3, we will prove that every convex set admits a perfect radial (S ) A(Wed (S1exhibit Y )) = aAquadrilateral ((Wed (S2 ) Y that ) = Adoes partitioning. In Section 4, we not admit perfect 4 radial partititonings into four or more pieces, and give an interesting family of See Figure 9. convex sets which admit perfect radial partititonings into four pieces. Since S is normal, Y belongs to the quadrilateral with vertices P1 : : : P4. It We will that determined any cake can partitioned into is clear thatconclude the pointbyYshowing is uniquely bybe(Pperfectly 1 P2 P3 P4), and that as kP1pieces for all k > 0. Of course these partitionings are not necessarily radial. P2 P3, and P4 move continuously on the boundary of S splitting its boundary Some results on perfect n-partitions can be found in [3]. into equal length segments, Y moves continuously within S.
Radial Perfect Partitions of Convex Sets in the Plane
p
11
p
1
1
p
4
p
4
l
y p
Y
X
2
0
l
1
p
2
2
Fig. 2. A non-radial perfect partitioning of a rectangular cake into four pieces. p
3
2
p
3
Polygonal graceful Fig. 9. Finding a perfectcakes radial partitioning of a normal convex set.
A perfect k-partitioning of a convex set S is a partitioning of S into k convex sets of equal area such that the boundary of each set is of the boundary of S . By Ham-Sandwich Theorem onpolygonal the planegraceful (2] p.212), we can choose initial Wethe now proceed to characterize cakes. positions of P and P on @(S) such that P P bisects both area andintheP , 1 3 1 3 A convex polygon P is called co-circular if there is a circlethe R inscribed boundary this choice, be the initial position Y0 liesof such that ofRS. is For contained in P let andY0tangent to all the edgesofofY P. Clearly . The center onR the line segment joining P to P . 1 3 will be called the center of P . We prove:
k
Assume without loss of generality that A(Wed (S3 )) A(Wed (S4 )). Consider Theorem 1. A polygon with n sides is graceful a co-circular the line L1 parallel to theP segment joining P3 to Pif4 and suchonly thatif ittheis area of any A(S ) partitionings polygon. all perfect of P are radial. wedge WedMoreover, (S4 Q) equals Q 2 L . 1 4 Proof. Assume that we have a perfect division of P into k parts produced by Similarly, consider the line L2 parallel to the line segmentThen joining P2 to P3, cutting along lines radiating from a point C in its interior. the perimeter A (S )
Q 2 L , and be such that the area of any wedge Wed (S Q) equals 2 2 4 of P is divided equally among these parts. If k > n , then at least k - nletofXthese the point of intersection of L and L . Observe that Wed (S Y ) Wed (S X), 2 1 0 parts are triangles. Each ofA1these triangles has a side along the perimeter1 of P ; (S ) and thus A ( Wed (S X)) . 1 call this its base. Since these 4triangles have equal base lengths and equal areas, Notice thatmust when slidesame, P1 :i.e. : : Pthe in Ctheto clockwise direc4 continuously their heights all we be the distances from all the sides of P tion until P reaches the original position of P , Y moves from Y to X, and 1 2 0 containing the base of a triangle in our partitioning must be all the same. If we Wed y0) becomes Wedwe(Smay Then that its area movessidefrom anthere initial value 1 X).assume take(Sk4sufficiently large, on each of P is always A(S ) to a nal value greater than or equal to the same smaller thanwhose or equal a triangle basetolies 4entirely on that side. That is, C is equidistant to all value. ThusofatP ,some in time equality holds,is and our theorem is proved. ut the sides i.e. Ppoint is cocircular. Sufficiency obvious. We now proceed to prove the second part of our result, i.e. that all perfect partitionings P are radial. LetofC convex be the center 4 Perfect ofpartitionings setsof P , and 0 a perfect partitioning of P into k convex pieces C1, . . . , C k , k 2 3. Let Cj be any element of 0 its interior or boundary. Inthat thiscontains section Cweinprove the following result: Suppose that Cj contains several disjoint arcs A l , . . . , A, of the boundary of P . Since 05.is For a perfect P , Sthehas sum of the lengths of A l , . . . , A, Theorem every partitioning k, any convexof set a perfect k-partitioning. is of the perimeter of P . Let Di be the set bounded by Ai and by the line To prove our result, we will prove following: segments joining the endpoints of Aithe to C , i = 1 . . . , m. Since C is equidistant from all the sides of P , it follows that the area of D1 U . . . U D, is of the area Theorem LetCjS be convex set such that its boundary is divided into an even of P , and 6. thus = aD1 U . . . U D,. However since Cj is convex, m must be number of alternately-coloured arcs, red and ofblue. Thenthe forboundary every k there equal to 1, i.e. the intersection of thesay boundary P1 with of Cjisis aconnected. convex partitioning of S such that each piece has of the red boundary of Slet . k Let Sj denote the arc of the boundary of P contained in Cj, and Pj andThe Pj+l be the endpoints It follows of Cj is Sj, Proof. result is true for k of = Sj. 1. Notice thatthat for the k =boundary 2 it follows directly together with the line segments joining Pj and Pj+l to C. We now prove from the ham-sandwich theorem 2]. Suppose then that the result is true that for
12
J. Akiyama et. al
cake problem can holds be stated follows: C, does it 0 Aand k give an interesting family of radial partititonings into four or more pieces, convex sets which admit perfect radial partititonings into four pieces. We will conclude by showing that any cake can be perfectly partitioned into A(S ) . k pieces > 0. Ofthat course theseofpartitionings areS not necessarily Thusfor we all cankassume the areas all the lunes of are smaller thanradial. k Some results on perfect n-partitions can be found in [3]. Given two points P , P , we de ne S to be the sector of the boundary of S
i
i+m
im
Radial Perfect Partitions of Convex Sets in the Plane
13
connecting Pi to Pi+m , and containing Pi+1 : : : Pi+m;1 addition taken mod n. Using similar arguments, we can prove that for every i the area of the lune L(Si m ) is smaller than mAk(S ) . Let Bi be the set bounded by Si and the line segments joining Pi and Pi+1 to the point Pi+m , i = 1 : : : k. Notice that the union of all Bi 's covers S, and thus the area of one of them, say B1 , is strictly greater than A(kS ) see Figure 10. Let the line parallel P1P2 suchof that the areacake of any with Fig.L2.be A non-radial perfect to partitioning a rectangular into triangle four pieces. base Pi Pi+1 and having its third point on L has area A(kS ) ;A(L(S1 ). By the assumption that the area of B1 is greater than Ak(C) , L intersects P2Pm+1 and P21PmPolygonal +1 . Call the points of intersection of L with P2 Pm+1 and P1Pm+1 X and graceful cakes Y respectively. Then there is a point Z on L between X and Y such that the rays connecting A perfect k-partitioning of a convex set S is a partitioning of S into k convex Zsets to ofP1equal , P2 and Pm+1 divide S into three sectors the one bounded by oftheS . area such that the boundary of each set is k of the boundary segments connecting Z with P1 andpolygonal P2 and Lgraceful (S1 ) having area A(kS ) , and the We now proceedmA to(Scharacterize cakes. m of the red boundary of S. Color the others having polygon area kP )is each A convex calledhaving co-circular k if there is a circle R inscribed in P , line Our result now center followsof 1,Ptangent 2 and Pto m+1 suchsegments that R isconnecting containedZinwithP P and all blue. the edges of P . The byR will induction on k. ut be called the center of P . We prove: Theorem 1. A polygon P with n 5sides is graceful and only if it is6 abyco-circular We now observe that Theorem follows directlyiffrom Theorem coloring polygon. of Pof are radial. 6, the cuts used to the entire Moreover, boundary all of perfect C red. partitionings As in the proof Theorem partition S will be colored blue. ut
Proof. Assume that we have a perfect division of P into k parts produced by cutting along lines radiating from a point C in its interior. Then the perimeter References of P is divided equally among these parts. If k > n , then at least k - n of these parts are triangles. Each of these triangles has a side along the perimeter of P ; 1. J.this Akiyama, G. Since Nakamura, Rivera-Campo, and J.base Urrutia, Perfect of a call its base. theseE.triangles have equal lengths and division equal areas, cake, Proceedings of the Tenth Canadian Conference on Computational Geometry their heights must all be the same, i.e. the distances from C to all the sides of P, 114-115. the base of a triangle in our partitioning must be all the same. If we containing 2. and large, J. O'Rourke, Handbook Discrete and side Computational , takeJ. kGoodman sufficiently we may assumeofthat on each of P thereGeometry is always CRC Press, (1997) a triangle whose base lies entirely on that side. That is, C is equidistant to all 3. A. Kaneko and M. Kano, Perfect n-partitions of convex sets in the plane, submittheted. sides of P , i.e. P is cocircular. Sufficiency is obvious. We now proceed to prove the second part of our result, i.e. that all perfect partitionings of P are radial. Let C be the center of P , and 0 a perfect partitioning of P into k convex pieces C1, . . . , C k , k 2 3. Let Cj be any element of 0 that contains C in its interior or boundary. Suppose that Cj contains several disjoint arcs A l , . . . , A, of the boundary of P . Since 0 is a perfect partitioning of P , the sum of the lengths of A l , . . . , A, is of the perimeter of P . Let Di be the set bounded by Ai and by the line segments joining the endpoints of Ai to C , i = 1 . . . , m. Since C is equidistant from all the sides of P , it follows that the area of D1 U . . . U D, is of the area of P , and thus Cj = D1 U . . . U D,. However since Cj is convex, m must be equal to 1, i.e. the intersection of the boundary of P with the boundary of Cj is connected. Let Sj denote the arc of the boundary of P contained in Cj, and let Pj and Pj+l be the endpoints of Sj. It follows that the boundary of Cj is Sj, together with the line segments joining Pj and Pj+l to C. We now prove that
Dudeney Dissection of Polygons JIN AKIYAMA and GISAKU NAKAMURA Research Institute of Educational Development Tokai University 2-28-4, Tomigaya, Shibuya, Tokyo 151-0063, Japan e-mail: fwjb5117Qmb.infoweb.ne.jp
Abstract. Given an equilateral triangle A and a square B of the same area, Henry E. Dudeney introduced a partition of A into parts that can be reassembled in some way, without turning over the surfaces, to form B. An examination of Dudeney’s method of partition motivates us to introduce the notion of Dudeney dissections of various polygons to other polygons. Let A and B be polygons with the same area. A Dudeney dissection o f A t o B is a partition of A into parts which can be reassembled to produce B as follows : Hinge the parts of A like a chain along the perimeter of A , then reassemble them to form B with the perimeter of A is in its interior, without turning the surfaces over. Using tilings of the plane, we produce Dudeney dissections of quadrilaterals to other quadrilaterals, quadrilaterals to parallelograms, triangles to parallelograms, parallelhexagons to trapezoids, parallelhexagons to triangles, and trapezoidal pentagons to trapezoids.
1
Introduction
Let A and B be polygons with the same area. A dissection of A to B is a partition of A into parts which can be reassembled in some way to from B. In particular, a Dudeney dissection of A to B is a partition of A into parts which can be reassembled to produce B as follows: Hinge the parts of A like a chain along the perimeter of A , then reassemble them to form B with the perimeter of A in its interior, without turning the surfaces over (Figure 1.1). It was pointed out to the authors, after this paper was written, that Greg Frederickson [3] had defined a similar but more general dissection called a fully hinged dissection. This paper discusses the construction of Dudeney dissections of quadrilaterals to other quadrilaterals, quadrilaterals to parallelograms, triangles to parallelograms, parallelhexagons to trapezoids, parallelhexagons to triangles, and trapezoidal pentagons to trapezoids. The discussion is confined only to convex polygons since the inclusion of concave polygons simplifies the problem so much that it is no longer interesting. By a tiling of the plane with polygon A is meant an exact covering of the plane with congruent copies of A such that there are no gaps or overlaps. A is J. Akiyama, M. Kano, and M. Urabe (Eds.): JCDCG’98, LNCS 1763, pp. 14−29, 2000. Springer-Verlag Berlin Heidelberg 2000
Dudeney Dissection of Polygons
polygon A
15
polygon B
Figure 1.1.
referred to as a tile (Figure 1.2). In order to construct a Dudeney dissection of a quadrilateral to another quadrilateral, and of a quadrilateral to a trapezoid, the notion of a dual tile is introduced in section 2.
Figure 1.2.
In section 3, the method of stable superimposition is introduced and used in the construction of a Dudeney dissection of a triangle to a parallelogram. Again, the authors learned belatedly that this method was used by Harry Lindgren [2], who refers to it as the P-strip method, but with different results. Greg Frederickson [3] also refers to a technique called superposing tessellations which is similar but not exactly the same. Results related to those proved in this paper are surveyed in Greg F'rederickson's book [3]. Most are special cases of those proved here and are obtained by different methods.
16
2
J. Akiyama and G. Nakamura
Dudeney Dissection of a Quadrilateral to Another Quadrilatera1
Consider a tiling of the plane by a quadrilateral obtained as follows: Juxtapose copies of tile S , allowing rotation and translation but not turning over, so that a typical tile S , with sides a, b, c, d, will be adjacent to four other tiles in such a way that side a of S coincides with side a of one tile, side b of S coincides with side b of the second tile, side c of S coincides with side c of the third tile and side d of S coincides with side d of the fourth tile. An illustration is shown in Figure 2.1. We denote such a tiling by T ( S )and refer to it as a consistent tiling of the plane. Note that in a consistent tiling, each of the four tiles adjacent to S can be obtained from S by a 180" rotation about the midpoint of their shared edge, while each tile having only a common vertex with S can be obtained from S by a translation.
b a
C
d polygon S
Figure 2.1.
Let S be a quadrilateral and T ( S ) a consistent tiling of the plane. Fix an arbitrary interior point I of S and locate the corresponding copies of I on each copy of S . A tiling of the plane induced by S and I , denoted by T ( S , I ) ,is obtained as follows: Using straight line segments, join copies of I which are on adjacent copies of S , where copies of S are adjacent if they share a common edge. The set of line segments determine the required tiling. Note that T ( S ,I ) is also a consistent tiling of the plane. Starting with the tiling T ( S ) shown in Figure 2.1, the tiling T ( S ,I ) is indicated by the dotted lines in Figure 2.2. Note that each choice of I produces a tiling T ( S ,I ) , so the above procedure results in infinitely many tilings. The quadrilateral tile of the tiling T ( S ,I ) is called the dual of S with respect to I and is denoted by dual(S, I ) .
Dudeney Dissection of Polygons
17
S ?
/
T ( S , I ): T ( S ):
Figure 2.2.
We can derive the following result.
Theorem 2.1 Let S be a quadrilateral, T ( S ) a consistent tiling of the plane b y S , and I be an arbitrary interior point of S . Then the dissection of S induced by T ( S ,I ) is a Dudeney dissection of S to dual@, I ) .
Proof. Let S , T ( S ) ,I , T ( S ,I ) be as stated in the proposition. The construction of T ( S ,I ) divides S into four pieces. Similarly, the edges in T ( S )divide T ( S ,I ) into four pieces. In order to prove the proposition, we show that the four pieces comprising the tile S, which we call A , B , C, D , are congruent to the four pieces which comprise dual(S, I ) . In the process we also identify the hinges which are to be used in the construction of dual(S,I) from the pieces of S. In T ( S ) ,consider a set of four tiles with a common vertex. Call the tile in the upper left-most corner S. Label the other tiles S', S", S"' counterclockwise (Figure 2.3). Note that since T ( S ) is a consistent tiling, S' and S"' can be obtained from S by appropriate rotations, while S" is a translation of S. Hence S" can be obtained from S' by an appropriate rotation while S"' can be obtained from S" also by an appropriate rotation. Furthermore, the pieces comprising S', S", S"' are similarly related to those comprising S. Note also that one of the tiles dual(S,I) lies within the set of four tiles S, S', S", S"' and has, in fact, a unique piece in common with each of them. Denote by A the piece that dual(S,I) has in common with S. Fix A and rotate the remaining pieces of S by 180"by pivoting on the midpoint of the edge common to S and S'. These pieces B , C and D will now coincide with congruent pieces of S' (Figure 2.4). One of the pieces B , C and D now in S' is congruent to the unique piece that S' has in common with dual(S, I } . Call this piece D. Fix D and rotate pieces B and C by 180" by pivoting on the midpoint of the edge common t o both S' and S". These pieces B and C will now coincide with congruent pieces of S" (Figure 2.5).
18
J. Akiyama and G. Nakamura
Figure 2.4.
Figure 2.5.
Dudeney Dissection of Polygons
19
One of the pieces B and C now in S" is congruent to the unique piece that S" has in common with dual(S,I). Call this piece C. Fix C and rotate the remaining piece B by 180"by pivoting on the edge common to S" and S"'. This piece will now coincide with a congruent piece in S"'. Furthermore, this is the unique piece that S"' has in common with dual(S,I) (Figure 2.6).
Figure 2.6.
Hence each piece of S is congruent to a unique piece of dual(S, I ) . The pivot points that have been identified in the process are the hinges of the Dudeney dissection. This completes the proof.
Remark 2.1 : Let S = ABCD be a quadrilateral tile and T ( S ) be a consistent tiling by S. If the point I is chosen on the segment determined by the midpoint of AB and the midpoint of C D , then since the tiling T ( S , I ) is consistent, its tiles are trapezoidal, and their parallel sides determine a set of parallel lines in the tiling T ( S ,I ) .
Figure 2.7.
20
J. Akiyama and G. Nakamura
Theorem 2.2 Any convex quadrilateral has a Dudeney dissection to a parallelogram.
Proof. Let S be a quadrilateral and T ( S ) a consistent tiling of the plane. By Remark 2.1, there exists a tiling T ( S ,I ) of the plane by trapezoids whose bases determine parallel lines intersecting pairs of opposite sides of each tile S. Superimpose these parallel lines on the tiling T ( S )(Figure 2.8). For each determine the midpoints of the pair of opposite sides of S not intersected by the parallel lines. Call these points M I and M2. Trough MI draw a line segment which intersects the midline of the quadrilateral at a point Q within the quadrilateral. Through M2 draw a line segment parallel to this. This is illustrated in Figure 2.9. These segments together with the parallel lines determine a tiling of the plane in which the tiles P are parallelograms. The tiling induces a Dudeney dissection of S to a parallelogram P.
s,
Figure 2.8.
Figure 2.9.
Dudeney Dissection of Polygons
21
The hinges of the dissection in Figure 2.9 are indicated by small circles in Figure 2.10. 0
Figure 2.10.
3
Dudeney Dissection of a Triangle to a Parallelogram
The theorem that will be proved in this section is the main theorem of the paper. We first introduce the concept of a stable superimposition which will be used in the proof. Let P and Q be parallelograms with the same area. If Q can be superimposed on P so that the following conditions are satisfied: (1) One of vertices of P and Q coincide, (2) Another vertex of P lies on a side of Q or its extension, or vice versa, then the resulting configuration consisting of P and Q is said to be a stable superimposition (Figure 3.1).
P
Q
stable superimposition ofP&Q
f7
'\
(a) P
\.. -,.
.**
stable superimposition ofP&Q
Q
(b) Figure 3.1.
22
J. Akiyama and G. Nakamura
Theorem 3.1 Given a triangle S , there are infinitely many parallelograms P such that there exists a Dudeney dissection of S to P .
Proof. We prove the theorem in four steps. Step I . Given a triangle ABC, we first show procedure that constructs a parallelogram P with the same area as ABC. Along any edge of ABC, say BC, attach a copy of ABC which has been rotated 180” so that the two copies of ABC form a parallelogram ABDC (Figure 3.2). Extend the segment AB say in the direction forwards B and, on this extension, denote the point whose distance from A is 2 a by E . Choose an arbitrary point F between B and E and draw the segment C F . Draw a line parallel to C F through D. Let the intersection of this line with the line A B be G. Draw a line parallel to BD through E . Let the intersection of this line with the line DG by L . Choose a point H on this line between D and L and draw the segment F H . From C, draw a line parallel to F H . Let I denote the intersection of this line with the line DG. Using arguments from elementary geometry, it is easy to show that the area of the parallelogram C F H I is equal to the area of the parallelogram ABDC. Let J be the midpoint of C F and K the midpoint of I H . Then the area of the parallelogram C J K I is equal to the area of the triangle ABC. We take this to be the parallelogram P.
,, / ’K
\
\
b
/
”
\
/
I \
/
’
L’ I Figure 3.2.
Step 2. Let S be a triangle and let P be a parallelogram, with the same area as S, obtained by the method of Step 1. Let S’ be the parallelogram obtained by
Dudeney Dissection of Polygons
23
joining two copies of S and let P' be the parallelogram obtained by joining two copies of P as in Stepl. Superimpose P' on S' to form a stable superimposition (Figure 3.3).
C
y\ €3
m
S'
P' \
0
\
i'
A Figure 3.3.
Compose copies of the stable superimposition contiguously (Figure 3.4) to obtain simultaneously two plane tilings by S' and P' which induce a dissection of S' to P' and vice versa. Note, however, that the tiling by P' need not induce a dissection of S to P.
Figure 3.4.
24
J. Akiyama and G. Nakamura
Consider a pair of tiles S' and P' which are in a stable superinposition as illustrated in Figure 3.4. Since P' has been constructed according to the method shown in step 1, the parts of P' which do not overlap parts of S' are located in tiles (of the tiling by S') which are adjacent to the chosen S'. This fact is crucial in the construction of a Dudeney dissection of S to P.
Remark 3.i : There are three ways of forming S' from S and two ways of forming P' from P. Hence there are six essentially different ways of creating a stable superimposition for a given pair of S and P . Step 3. Translate the tiling by P' so that the center of S' and P' coincide (Figure 3.5). Subdivide S' into the two original copies of S. Similarly, subdivide P' into the two original copies of P. This results in two tilings one by S and another by P (Figure 3.6). The tiling by S induces a dissection of S to P and the tiling by P induces a dissection of P to S.
Figure 3.5.
Remark 3.2 : Note that there are four pieces in the dissection of S to P in the example illustrated in Figure 3.6. This can be always done by choosing an appropriate combination for the stable superimposition of S and P among six ways mentioned in Remark 3.1. Step 4 . We may assume that S is divided into four pieces in the dissection of S to P obtained in Step 3 by Remark 3.2. We now show that the dissection of S to P obtained in Step 3 induces a Dudeney dissection of P to S. Figure 3.7 is an enlargement of a part of Figure
Dudeney Dissection of Polygons
25
Figure 3.6.
3.6. Denote the four parts of S by a, p, y, 6 and hinge a and ,8, p and y, and y and 6. Fix Q and rotate 6, y, p counterclockwise to form the original parallelogram P . 0
I
t
&
..* *'
-
Figure 3.7.
Remark 3.3 : The most famous example of a Dudeney dissection is introduced in the book of Dudeney [l].It transforms an equilateral triangle to a square. The manner of dissection is obtained by following the procedure in the proof of Theorem 3.1, as shown in Figures 3.8 and 3.9.
26
J. Akiyama and G. Nakamura
Figure 3.8.
4
Figure 3.9.
Dudeney Dissection of Parallelhexagons
A hexagon which has three pairs of parallel sides, each pair of the same length, is called a parallelhexagon (Figure 4.1).
Figure 4.1.
Theorem 4.1 Every parallelhexagon has a Dudeney dissection to (a) a parallelogram, and (b) a trapezoid.
Proof. Let H be a parallelhexagon. Start with a tiling of the plane using H . (a) Join the centers of the tiles using two sets of parallel lines, each set intersecting a pair of parallel sides of the parallel hexagons (Figure 4.2). This will form a Dudeney dissection of H to a parallelogram. The hinges of the dissection are indicated by small circles in Figure 4.2. (b) Call the vertices of a parallelhexagon tile A , B , C, D, E and F . Join the midpoint of AB to the midpoint of D E . Do the same for all the parallelhexagons to create parallel lines Z1, l a , . . . From the midpoint of BC draw a line segment that intersects 11. Similarly, from the midpoint of E F draw a line segment that intersects ZI in such a way that the line segment from the midpoint of BC and the line segment from the midpoint of E F are not parallel. Replicate the process
Dudeney Dissection of Polygons
27
in alternate rows of parallelhexagons (Figure 4.3). A Dudeney dissection of the parallelhexagon to a trapezoid results. The hinges of the dissection are indicated by small circles in Figure 4.3. 0
12
Figure 4.2
---
Figure 4.3
Theorem 4.2 Every parallelhexagon has a Dudeney dissection to a triangle.
Proof. Let P be a parallelhexagon. Tile the plane with P. Obtain three sets of parallel lines by joining midpoints of suitable edges as shown in Figure 4.4. The result is a tiling of the plane with triangles and gives a Dudeney dissection of the parallelhexagon to the triangle. The hinges of the dissection are indicated by small circles in Figure 4.4. 0
A pentagon is called trapezoidal if it has two pairs of parallel sides (Figure 4.5). Theorem 4.3 Every trapezoidal pentagon has a Dudeney dissection to a trape-
zoid. Proof. Let P be a trapezoidal pentagon. Combine two copies of P to form a parallelhexagon P'. This can be done by identifying an edge e with the following property: the two edges adjacent to it are parallel, and attaching to this edge a copy of the pentagon which has been rotated 180". Tile the plane with P'. By Theorem 4.l(a), this tiling induces a Dudeney dissection of the hexagon to a parallelogram. The edges e in the tiling by P' also divide the parallelograms into
28
J. Akiyama and G. Nakamura
Figure 4.4.
Figure 4.5.
two congruent trapezoids (Figure 4.6). This induces a Dudeney dissection of a trapezoidal pentagon to a trapezoid. The hinges of the dissection are indicated by small circles in Figure 4.6. 0
.'
Figure 4.6.
I
1
:
Remark 4.1 : So far, in our investigation of Dudeney dissections of polygon A to polygon B , it has been necessary to tile the plane by A and B , respectively. The two sets of lattice points obtained from the two tilings must coincide and the
Dudeney Dissection of Polygons
29
superimposition of the tiles results in a Dudeney dissection. Using this method, various Dudeney dissections may be obtained based on coincidences of two sets of lattice points. Acknowledgements The authors would like to thank Professor Greg N. Frederickson and the referee for their invaluable suggestions, and also to Professor Mari-Jo Ruiz for helping us to express our ideas with precision.
References 1. H. E. Dudeney: The Canterbury Puzzles, 1958, Dover 2. H. Lindgren: Recreational Problems in Geometric Dissections & How to Solve Them, 1972, Dover 3. G. N. F’rederickson: Dissections: Plane & Fancy, 1997, Cambridge University Press 4. J. Akiyama and G. Nakamura: Dudeney Dissections of polyhedrons, in preparation
Effective Use of Geometric Properties for Clustering Tetsuo Asano1 School of Information Science, JAIST, Asahidai, Tatsunokuchi, 923-1292 JAPAN Abstract. This talk surveys how geometric information can be effectively used for efficient algorithms with focus on clustering problems. Given a complete weighted graph G of n vertices, is there a partition of the vertex set into k disjoint subsets so that the maximum weight of an innercluster edge (whose two endpoints both belong to the same subset) is minimized. This problem is known to be NP-complete even for k = 3. The case of k = 2, that is, bipartition problem is solvable in polynomial time. On the other hand, in geometric setting where vertices are points in the plane and weights of edges equal the distances between corresponding points, the same problem is solvable in polynomial time even for k ≥ 3 as far as k is a fixed constant. For the case k = 2, effective use of geometric property of an optimal solution leads to considerable improvement on the computational complexity. Other related topics are also discussed.
Keywords: Bipartite graph, Coloring, Computational Geometry, Diameter, Duality transform, Geometric Clustering, Intercluster distance, Maximum spanning tree, Separability, Voronoi diagram.
1
Introduction
The purposes of Computational Geometry are two-fold. One of them is to devise efficient algorithms and appropriate data structures for solving geometric problems or more generally to devise algorithmic paradigms that lead to efficient algorithms for concrete problems. The other is to analyze inherent computational complexities (or difficulty) of geometric problems. A great number of efficient algorithms and algorithmic paradigms together with data structures have been devised and applied to various other fields such as Computer Graphics, Robotics, Geographic Information Systems, Computer-Aided Geometric Design, and Computer Vision. This talk surveys how geometric information can be effectively used for designing efficient algorithms with focus on clustering problems. A simple, but general form of a clustering problem is to find a partition of a set of given objects into k parts so that the maximum dissimilarity between objects in the same part does not exceed some predefined threshold [9]. Dissimilarity relations among objects are usually represented by a weighted graph. Then, the problem is to partition a vertex set into k disjoint subsets (called clusters) so that the J. Akiyama, M. Kano, and M. Urabe (Eds.): JCDCG’98, LNCS 1763, pp. 30−46, 2000. Springer-Verlag Berlin Heidelberg 2000
Effective Use of Geometric Properties for Clustering
31
maximum weight of an innercluster edge (whose two endpoints both belong to the same subset) is minimized. This problem is known to be NP-complete even for k = 3. The case of k = 2, that is, bipartition problem is solvable in polynomial time. On the other hand, its geometric version in which vertices are points in the plane and weights of edges equal the distances between corresponding points can be solved in polynomial time even for any fixed k ≥ 3. Section 2 first describes variants of the clustering problem in two different settings: graph and geometry models. Then, inherent difference of their computational complexities is revealed. Section 3 deals with the case k = 2 in the geometric setting and describes how geometric property is used to improve the computational complexity of algorithms. Section 4 deals with the extension of the result in Section 3 to the general k-way partition problem in the geometric setting. Section 5 includes other related topics.
2
Variants of Clustering Problems
Clustering is of course one of the most fundamental problems in pattern recognition. Although there are a number of variations of the problem definition depending on applications, a natural notion of clustering is the grouping of similar objects. Mathematically it means a partition of objects into disjoint subsets (clusters) to optimize some mathematical measure of similarity among objects so that objects in each cluster are similar to each other and no two objects belonging to different clusters are not similar to each other. Similarity or dissimilarity relations among objects are usually represented by a weighted graph. Then, the problem is to partition a vertex set of the graph into k disjoint subsets (clusters) so that the maximum weight of an innercluster edge (whose two endpoints both belong to the same subset) is minimized. We call this problem k-way graph partition problem. The same problem can be considered in geometric setting in which vertices are points in the plane and weights of edges equal the distances between corresponding points. Then, the maximum weight of an innercluster edge is the maximum distance between two points in a cluster, which equals the diameter of the cluster (as a point set). We call this modified problem k-way point set partition problem. It is known that the k-way graph partition problem is NP-complete even for k = 3. The case of k = 2, that is, bipartition problem is solvable in polynomial time. It is not so hard to design an algorithm which runs in O(n3 log n) time. By using some technique in graph algorithms it is reduced to O(n2 log n) as is described in the next section. On the other hand, the k-way point set partition problem can be solved in polynomial time even for k ≥ 3 as far as k is a fixed constant. This is a drastic difference between the two models of the problem. For the geometric 2-partition problem, the running time is further reduced to O(n log n). Furthermore, in the geometric setting the result above can be extended to the case of general k-partition problem, which is to partition a point set into k
32
T. Asano
disjoint subsets so that the maximum among the diameters of those subsets is as small as possible. Furthermore, the same problem is solvable in polynomial time for any monotone function of cluster diameters instead of a function taking just maximum of diameters.
3 3.1
Geometric Bipartition Problem Definition of Problem
The first problem we consider is to partition a set of n points in the plane into k subsets (clusters) so that their maximum diameter is minimized [3]. Here the diameter of a point set S, denoted by diam(S), is defined by the maximum distance between any points in the set. For the case k = 2 there is a polynomial-time solution. In this section, starting with a brute-force algorithm for the problem, we describe how algorithms are improved using graph properties and further geometric properties of optimal solutions. 3.2
Brute-force Algorithm
Let S be a set of n given points in the plane. A brute-force algorithm listed below can find an optimal bipartition of the set: Algorithm 1: Brute-force Algorithm d = ∞; for each subset S1 of S Compute S2 = S − S1 ; Compute the diameters diam(S1 ) and diam(S2 ) of S1 and S2 ; if max{diam(S1 ), diam(S2 )} < d then d = max{diam(S1 ), diam(S2 )}; Keep the bipartition (S1 , S2 ) as current optimum (S1∗ , S2∗ ); Output the bipartition (S1∗ , S2∗ ) as a solution; end of Algorithm This algorithm takes time proportional to the number of different subsets of S, which grows exponentially in n. Thus, the running time is also exponential. 3.3
Heuristic Algorithm
One way to improve the above brute-force algorithm is to rely on a general heuristic strategy called iterative improvement, as follows: Algorithm 2: Iterative-Improvement Heuristic (S1 , S2 ) be a bipartition of a point set S; do{ Find pairs of points to give the diameters of S1 and S2 ;
Effective Use of Geometric Properties for Clustering
33
Let d = max{diam(S1 ), diam(S2 )}; if diam(S1 ) > diam(S2 ) then Find a pair (p, q) of points in S1 which defines the diameter of S1 ; if moving p or q from S1 to S2 leads to a better bipartition then update the current optimal bipartition by the move; if diam(S2 ) > diam(S1 ) then find a pair (r, s) of points in S2 which defines the diameter of S2 ; if moving r or s from S2 to S1 leads to a better bipartition then update the current optimal bipartition by the move; } while(any improvement is obtained); Output the current optimal bipartition (S1 , S2 ); end of Algorithm The operation of moving a point from one cluster to another is usually referred to as a flip. Then, is it possible to have infinite number of flips? The answer is NO, since any flip properly decreases the larger diameter and we have only O(n2 ) different diameters in total. This implies O(n2 ) iterations of the loop. Another question is whether this heuristic always leads to an optimal solution? The answer is again NO. Consider four points p, q, r and s such that they are vertices of a rectangle in this order and that p, q and r, s are equally distant while p, s and q, r are equally close to each other. See Figure 1(a). If S1 = {p, q} and S2 = {r, s}, then any single flip cannot improves the bipartition. To have an optimal solution, we need a double flip which moves two points simultaneously between two clusters. It is also easy to construct a simple example in which no double flip leads to any optimal solution in a similar manner. See Figure 1(b). This means that such iterative improvement heuristic does not always lead to an optimal solution.
p
s
S 1
q
S 1
r
S2
S2 (a)
(b)
Fig. 1. Simple examples: (a) no single flip leads to improvement, and (b) any double flip gives any improvement.
In the following subsections we will describe two different approaches toward a polynomial-time algorithm for the bipartition problem. One is an approach based on graph model, and the other is based on geometric properties of optimal solutions.
34
T. Asano
3.4
Graph-Theoretic Approach
Given a set S of n points in the plane, we can build a graph G with those points as vertices and edges for all pairs of points. Each edge is associated with a weight that equals the Euclidean distance between two corresponding points.
5.5
5.1
5.8 5.8 6.0 7.0
5.7
5.5
(a)
5.4 5.7
(b)
Fig. 2. Graphs associated with mimimum distances. (a) G5.5 : bipartite, and (b) G5.1 : non-bipartite.
Two different strategies may be possible: Delete edges iteratively in the increasing order of their weights starting from a complete graph or add edges iteratively in the decreasing order of their weights starting from an empty graph with n isolated vertices. The problem is when we stop the iteration. For the deletion-based strategy edges are deleted while a graph is non-bipartite. On the other hand, for the addition-based strategy the iteration terminates when a graph becomes non-bipartite. Figure 2 shows a simple example. The graph on the left side joins every pair of points with distance ≥ 5.5, which is bipartite or colorable by two colors. The graph on the right defined by edges with distance ≥ 5.1, however, is not bipartite any more. More concretely, the algorithm is described as follows. Algorithm 3: for each pair (p, q) of points, compute the distance between them; Sort those point pairs in the decreasing order; Let G be the graph with no edge; do{ Add en edge associated with a point pair (p, q) in the above order to G; } while( graph G is bipartite); Remove the last edge from G; Output the bipartition of vertices of G; end of Algorithm
Effective Use of Geometric Properties for Clustering
35
Lemma 1. Algorithm 3 computes an optimal bipartition in O(n4 ) time and O(n2 ) space. Proof. Correctness of the algorithm is rather easy to be verified. Let (d0 , d1 , . . ., dm ), m = n(n − 1)/2 be the sorted sequence of edge weights in the decreasing order, i.e., d0 ≥ d1 ≥ . . . ≥ dm . In the algorithm we add an edge one by one in the sorted order to a graph starting from an empty graph. By Gi we denote the graph after adding the edge of weight di . Suppose that the iteration terminated when we added an edge of weight di . Then, due to the loop condition, Gi is not bipartite while Gi−1 is. Since Gi is not bipartite, there must be an odd cycle. Therefore, whatever we partition the vertex set into two clusters, at least one of the edges in the odd cycle must be included in one of the subgraphs associated with the bipartition. This means that the larger diameter must be greater than or equal to di . Or for any bipartition, the larger diameter must be greater than or equal to di . On the other hand, since the graph Gi−1 is bipartite, the corresponding sets of vertices form bipartition of the point set so that no edge of weight greater than di−1 is included in either of the resulting subgraphs. This means that there is a bipartition whose larger diameter is less than or equal to di−1 . Therefore, the larger diameter of an optimal bipartition is di and its corresponding bipartition is given by a point set of Gi−1 . Next, we consider the computational complexities. The space required is obvious, since we need O(n2 ) storage is required for sorting a given edge set. The loop is iterated O(n2 ) times and each iteration is done in O(n2 ) time for the check of bipartiteness. Thus, it takes O(n4 ) time in total. ✷ The running time could be drastically reduced. The basic idea is binary search on the sorted list of edges. Once the distances are sorted, then in O(log n) iterations we can find largest di such that Gi is not bipartite but Gi−1 is. The basic idea is presented in [2]. Lemma 2. Using binary search on the sorted list of point pairs in the order or their distances, an optimal bipartition can be computed in O(n2 log n) time and O(n2 ) space. Now the highest barrier against practical use is the space complexity. It is easy to see that O(n2 ) space is required as far as we rely on the sorted list of edge weights. In the next subsection we will see linear space is sufficient without any sacrifice of the order of the running time. 3.5
Improvement Using Geometric Properties
A key property for the geometric approach is the following theorem. Theorem 3. Given two sets S1 and S2 of points in the plane, one can find two separable sets S1 and S2 such that S1 ∪ S2 = S1 ∪ S2 and max{diam(S1 ), diam(S2 )} ≤ max{diam(S1 ), diam(S2 )}.
36
T. Asano
Here, two sets of points are said to be separable if they can be separated by a line. It is well known that two sets are separable if and only if their convex hulls are disjoint. A bipartition (S1 , S2 ) is called a separable partition if S1 and S2 are separable. In this case, we also say that the bipartition (S1 , S2 ) is induced by line if is a separating line for S1 and S2 . The above theorem shows that the separability restriction can indeed be imposed without affecting optimality. In other words, we have only to check all of separable bipartitions. Then, how many separable bipartitions are there in total? A simple observation is enough. Suppose that we have a separable bipartition (S1 , S2 ). Then, by the definition there is a line separating their convex hulls. Then, by appropriate rotation and translation the separating line touches one point from S1 and another point from S2 . In this way, any separating line can be characterized by a pair of points from different sets. On the other hand, given such a pair, the bipartition is uniquely determined except for the points in the pair. Thus, we can conclude that there are O(n2 ) separable bipartitions. Furthermore, there is an algorithm for enumerating all separable bipartitions in O(n2 log n) time while maintaining the diameters of two convex hulls. This suggests an O(n2 log n)-time and O(n)−space algorithm, which is superior in the space complexity to the graph-theoretic approach. The theorem above looks straightforward, but the proof is in fact rather complicated. First imagine a situation depicted in Figure 3 in which two convex hulls for S1 and S2 intersect twice. Then, moving all these points of S1 to S2 that are properly included in the convex hull of S2 and doing the same thing from S2 to S1 , each of the diameters never increases since all the new points lie inside each of the convex hulls. The case in which one convex hull is totally included in the other is easier. Partition the whole set roughly in the middle, and the larger diameter never increases since the convex hulls of the resulting sets are included in the original larger convex hull.
S1
S2
Fig. 3. A simple case in which two convex hulls share one connected regions.
There still remains one case in which two convex hulls intersect many times. The proof for the case is rather complicated. So, we shall only sketch it. Let us start with some key facts which often play important roles in similar proofs based on geometric properties. Before giving facts, we need some
Effective Use of Geometric Properties for Clustering
37
notations: For two points a and b, ab denote the line segment joining a and b, and ab denotes the Euclidean distance between a and b. For two point sets A and B, let AB denote the maximum distance between A and B; that is, AB = max{ab|a ∈ A, b ∈ B}. FACT 1: If a, b, c and d are the cyclically ordered vertices of a convex quadrilateral, then ac + bd ≥ max{ab + cd, ad + bc}. FACT 2: If A, B, C and D are sets of points such that any a ∈ A, b ∈ B, c ∈ C and d ∈ D always form the cyclically ordered vertices of a convex quadrilateral, then AC + BD ≥ max{AB + CD, AD + BC}. FACT 3: In a triangle with an obtuse angle, the side lying opposite the obtuse angle is the longest side in the triangle. FACT 4: Let d be a positive real, let p1 and p2 be two points in the plane at distance less than or equal to d. Let C1 and C2 be the circles with radius d centered at p1 and p2 , let D denote the points in the vertical stripe between p1 and p2 . Then, the part of the region C1 ∩ C2 ∩ D that lies above the line through p1 and p2 has diameter ≥ d. Let us denote by CH(S) the convex hull of a point set S. We assume that CH(S1 ) ∩ CH(S2 ) = ∅, CH(S1 ) ⊆CH(S2 ) and CH(S2 ) ⊆CH(S1 ). Let < u1 , u2 , . . . , u2k > be the sequence of points in clockwise order where CH(S1 ) and CH(S2 ) intersect. Write CH(S1 ) − CH(S2 ) and CH(S2 ) − CH(S1 ) as two interlacing sequences of polygons < A1 , A2 , . . . , Ak > and < B1 , B2 , . . . , Bk >, respectively, where Ai intersects Bi at u2i , and Ai intersects Bi−1 at u2i−1 . See Figure 4. The boundaries of CH(S1 ) and CH(S2 ) may touch without crossing each other, or they may even coincide on a small piece. However, those details are neglected here for simplicity of arguments. We will separate the set S1 ∪ S2 into S1 and S2 by a line L through two points ui and uj , whose choice will be desired. Without loss of generality, we may assume that diam(S1 ) ≥ diam(S2 ). We call a pair (Ai , Bj ) bad, if diam(Ai ∪ Bj ) > diam(S1 ). The bad pairs are those pairs of polygons (called bad half-moons) which must be separated by the line L in order to make both diameters ≤ diam(S1 ). Call a polygon Ai or Bj bad, if it appears in some bad pair. The following lemma holds for the relative positions of two bad pairs. We say that two pairs (Ai , Bj ) and (Ai , Bj ) with Ai = Ai and Bj = Bj cross if their cyclic sequence is Ai , Ai , Bj , Bj or Ai , Bj , Bj , Ai . In other words, they cross if and only if the two segments connecting a point in Ai to a point in Bj and a point in Ai to a point in Bj intersect, independently of the choice of these points. Such segments are called bad segments. Lemma 4. Any two disjoint bad pairs cross.
38
T. Asano
A1 B5
u1
B1
u2
A2
A5
u4 u5
B2 A3
B
4
u8 A4
u7 B3
Fig. 4. Regions created by two intersecting convex polygons.
To prove the lemma, let us assume that there are two bad pairs (Ai , Bj ) and (Ai , Bj ) with Ai = Ai and Bj = Bj that do not cross. For each bad pair, we choose a bad line segment connecting two points at distance > diam(S1 ) that lie in the bad half-moons belonging to the pair. Let us call these points ai , bj , ai and bj , respectively. The two possibilities for the relative positions of these points (disregarding symmetric variations) are depicted in Figure 5. The bad segments are represented by double lines. Their endpoints are shown as black circles (points in S1 ) and white circles (points in S2 ). (a) The case shown on the left side of Figure 5 immediately leads to a contradiction: By Fact 1, the sum of the diagonals in the convex quadrilateral ai bj ai bj is larger than the sum of two opposite sides. Hence, diam(S1 ) + diam(S2 ) ≥ ai ai + bj bj > ai bj + bj ai > 2diam(S1 ) must hold, a contradiction to the assumption diam(S1 ) ≥ diam(S2 ). (b) In the case shown on the right side of Figure 5, we observe that the convex quadrilateral ai bj bj ai must have an angle larger or equal to π/2. Without loss of generality, let this be the angle at bj . Between the half-moons Bj and Bj , there lies at least one (not necessarily bad) half moon Am . Select an arbitrary point am ∈ Am . Then the angle ai bj am is obtuse, and hence, by Fact 3, ai am > ai bj > diam(S1 ) This is again a contradiction. ✷ In this manner we can show that the bad pairs give rise to a complete matching. Based on the fact that bad pairs must cross, we can guarantee the existence of a line which separates all bad pairs. Clearly, the resulting subsets S1 and S2 are separable and have diameter bounded by max{diam(S1 ), diam(S2 )} as required. This completes the rough sketch for the proof of Theorem 3. The detail of the proof is found in [4]. The proof in [1] is incomplete, which as completed in [4].
Effective Use of Geometric Properties for Clustering
bj’
ai’
ai’
39
bj’ am
ai
bj
ai
bj
Fig. 5. Two impossible configurations of bad pairs.
3.6
Efficient Algorithm Based on Geometric Properties
We have known that there are O(n2 ) different bipartitions of a set of n points in the plane. This fact leads to a polynomial-time algorithm. In fact we can enumerate all possible bipartitions as follows: Naive Enumeration of Bipartitions: Let S be a given set of points; for each pair (u, v) of points of S Let A be the set of points lying above the line through u and v; S1 = A ∪ {u}, S2 = S − S1 ; Compute diameters of S1 and S2 ; Compare the bipartition with the optimal solution found so far; end of Algorithm The computational complexities are easily analyzed. For each of O(n2 ) different pairs of points, the corresponding bipartition is computed in linear time. Once a point set is given the diameter of the set can be computed as the distance between the farthest points, and thus there is no need for pairwise distances. Given a point set, its diameter can be computed in O(n log n) time. Note that if points are sorted the running time is further reduced to O(n). Thus, the running time of the algorithm above is O(n log n+n×n2 ) = O(n3 ). The space complexity is obviously O(n), which is an improvement from O(n2 ) in the graph-theoretic approach. The inefficiency comes from the fact that convex hulls are computed each time from the scratch. If we could enumerate bipartitions so that next bipartitions are obtained by constant number of changes, i.e., by exchanging at most two points each time, we would improve the time complexity. An idea is to fix one point u and rotate the separating line around u like a circular plane sweep. The following is the algorithm based on this idea. Efficient Enumeration of Bipartitions: Let S be a given set of points; Let (S, ∅, d = ∞) be a candidate of an optimal solution; for each point u in S do Sort the remaining points circularly around u clockwisely;
40
T. Asano
Let < v1 , v2 , . . . , vn−1 > be the sorted list; Let A be the set of points above the line uv1 ; Define S1 = A ∪ {u}, S2 = S − S1 ; Compute diam(S1 ) and diam(S2 ); d = max{diam(S1 ), diam(S2 )}; if d < d then update candidate of an optimal solution to (S1 , S2 , d = d ); for i = 2 to n − 1 do Rotate the sweep line from uvi−1 to uvi ; if vi lies above uvi−1 (see Figure 6(a)) then move vi from S1 to S2 ; if vi−1 lies above uvi (see Figure 6(b)) then move vi−1 from S2 to S1 ; Update diam(S1 ) and diam(S2 ) if any move; if d > d = max{diam(S1 ), diam(S2 )} then update the candidate of an optimal solution to (S1 , S2 , d = d ); Output (S1 , S2 , d) as an optimal bipartition and its larger diameter; end of Algorithm
vi S1
vi
S1 v
i-1
u
S2 (a)
u
v
i-1
S2 (b)
Fig. 6. Enumeration of all possible bipartitions by plane sweep around each point u.
Let us analyze the running time of the above algorithm. In each iteration we sort n − 1 points in O(n log n) time, compute diameters of the initial sets in O(n log n) time. Then, in the inner loop which is iterated n − 2 times, we update the sets S1 and S2 by moving at most two points between S1 and S2 . More precisely, at most one point moves from S1 to S2 and at most one point moves from S2 to S1 . Thus, we need an appropriate data structure for efficient implementation of dynamic set operations ”insertion” and ”deletion” while maintaining the diameter of a point set. Such a data structure is known. In fact, if we rely on the dynamic data structure proposed by Overmars and van Leeuwen [17], operations of insertion and deletion are implemented in O(log2 n) time. If we could also answer the diameter of a convex hull, or the farthest point pair in O(log2 n) time, the overall running time would be O(n2 log2 n). Fortunately, there is such
Effective Use of Geometric Properties for Clustering
41
a data structure [5] although O(log2 n) time is achieved by amortized analysis and it holds for a semi-online model. Refer to [5] for detail. 3.7
Further Improvement Based on Geometric Properties
In view of Theorem 3, a set S has a bipartition with diameter less than t if and only if some line intersects every line segment in the set {(a, b) ∈ S ×S|ab ≥ t}. In Edelsbrunner et al. [6], a line which intersects each segment (in its interior) of a collection of line segments L is called a stabbing line for L. Definition 5. Let L be a set of line segments. Order the line segments of L in non-increasing order by length as |e1 | ≥ |e2 | ≥ · · · ≥ |ep |. For any i ≤ p, let L(i) denote the list < e1 , e2 , . . . , ei >. The maximum index i such that L(i) admits a stabbing line while L(i + 1) does not is called the threshold index for L, and a stabbing line for L(i) is called a threshold stabbing line for L. The algorithm in [2] finds a min-diameter separable bipartition for S in O(n2 log2 n) time and O(n2 ) space by computing a threshold stabbing line for E = S × S. Theorem 3 implies that the bipartition so obtained is a true optimum. Furthermore, we can significantly reduce the space and time requirements of the algorithm by replacing E with a subset of size only O(n), namely, the edge set of a maximum spanning tree on S. (A maximum spanning tree is a spanning tree whose total edge length is as large as possible.) An example is shown in Figure 7.
Fig. 7. Maximum spanning tree for a point set.
Theorem 6. A threshold stabbing line for a maximum spanning tree of S induces a min-diameter bipartition of S. This theorem leads to the following algorithm: Efficient Min-Diameter Bipartition: Input: a set S of n points in the plane. Output: a min-diameter bipartition (S1 , S2 ) of S.
42
T. Asano
Algorithm: 1. Compute a maximum spanning tree M for S. 2. Find a threshold stabbing line for M . 3. Output the partition (S1 , S2 ) induced by . end of Algorithm The correctness of this algorithm follows from Theorem 6. We now analyze its complexity. In step 1, a maximum spanning tree can be constructed in O(n log n) time and O(n) space by employing the algorithm in [15]. The partition (S1 , S2 ) in step 3 can be obtained in O(n) time easily once is known. It thus remains to show that step 2 can be carried out in O(n log n) time and O(n) space. To find a threshold stabbing line for a set L of n line segments, we can first sort the line segments in L by length, and then perform a binary search using the following algorithm from [6] as a subroutine. FACT 5: Given a set L of n line segments, there is an algorithm which decides in O(n log n) time and O(n) space whether there exists a stabbing line for L, and finds one if there does. However, the binary search can introduce an additional log n factor in the running time if care is not taken. We thus take a closer look at the algorithm mentioned the fact above. The algorithm is based on the observations that the point-line duality transforms line segments into ’double wedges’, and that L has a stabbing line if and only if the corresponding set of double wedges has nonempty intersection. We will make use of the following two facts established in [6], where the stabbing region for a set of line segments refers to the intersection of the corresponding double wedges. FACT 6: The stabbing regions for n line segments in the plane can be computed in O(n log n) time. FACT 7: Given two stabbing regions for n1 and n2 line segments respectively, their intersection can be computed in O(n1 + n2 ) time. Now, in the binary search for a threshold stabbing line, we assume at the beginning of the j-th iteration that the first m segments of L are known to have a nonempty stabbing region R. (Initially, m = 0 and R is the entire plane.) We then use Fact 6 to compute the stabbing region R for the subset consisting of the m + 1-st through the m + n/2j -th segments of L. If R is non-empty, we let m := m + n/2j and compute R := R ∩ R by Fact 7. The loop is then repeated with j := j + 1. We analyze the complexity of the above procedure. The j-th iteration of the loop uses O(n/2j log(n/2j )) time for computing the stabbing region R , and O(n) time for finding the intersection R ∩ R . Summing over j = 1, . . . , log n, we obtain an O(n log n) bound for the total time. The space required is linear. This completes the analysis of our algorithm for min-diameter bipartition.
Effective Use of Geometric Properties for Clustering
43
Theorem 7. A min-diameter bipartition for a set of n points in the plane can be computed in time O(n log n) and space O(n).
4
Generalizations of the Result
The result stated in Theorem 7 was extended to more than two clusters by Capoyleas, Rote and Woeginger [4] in the following manner. Theorem 8. Consider the optimal k-clustering problem for the diameter with monotone increasing function F. For every point set S in the plane, there is an optimal k-clustering such that each pair of clusters is linearly separable. Proof. [4] Consider the optimal k-clustering for which the sum of perimeters of all clusters becomes minimal. Assume that there are two clusters which are not linearly separable. Applying Theorem 3 to the above two clusters, we get a k-clustering with smaller sum of perimeters. As both affected diameters do not increase, the value of F does not increase, too. ✷ So far, we have only dealt with the diameter as the quality measure of a cluster. For the radius, an analog of Theorem 8 can be shown directly [4]. Theorem 9. Consider the optimal k-clustering problem for the radius with a monotone increasing function F. For ever point set S in the plane, there is an optimal k-clustering such that each pair of clusters is linearly separable. Based on the discussions so far, we reach the following generalized theorem [4]. Theorem 10. For any fixed k, the geometric k-clustering problem for the diameter or for the radius with respect to some monotone increasing function F is solvable in O(n6k ) time. For the case k = 3 the current best known algorithm runs in O(n2 log2 n) time (see Hagauer and Rote [7]). Another generalization is established by Hershberger and Suri [11]. The problem they considered is the following: given a planar set of points S, a measure µ acting on S, and a pair of values µ1 and µ2 , does there exist a bipartition (S1 , S2 ) satisfying µ(Si ) ≤ µi for i = 1, 2? O(n log n)-time algorithms are presented for several natural measures, including the diameter, the area, perimeter or diagonal of the smallest enclosing axes-parallel rectangles, and so on. Even for geometric setting, the k-way partition problem is known to be NP-complete for many of these measures.
44
5 5.1
T. Asano
Related Topics Minimum-Diameter Balanced Bipartition
So far we have been interested in the criterion of minimizing the largest diameter. There are a number of studies under similar but slightly different criteria. Avis [2] dealt with balanced bipartition. That is, given a set of points in the plane, the problem is to find the smallest t such that the set can be partitioned into two equal-sized subsets each of which has diameter at most t. With this additional constraint, the separability condition of an optimal solution does not hold. The graph-theoretic approach described in the previous section is the basic idea in [2]. We consider the following predicate Q0 (t): S can be partitioned into disjoint subsets S1 and S2 so that max(diam(S1 ), diam(S2 )) ≤ t. By the observation in Section 2, Q0 (t) is true if and only if the graph Gt defined by edges interconnecting points with mutual distances greater than t is bipartite. The problem is to find the smallest value of t such that Q0 (t) is true. Difficulty is how to take the size constraint into accounts. If Gt is connected then there is a unique bipartition. But if it is not connected, it seems that there may be exponentially many different bipartitions. In this case, fortunately, the total size is bounded by the number of points and so it can be checked in O(n2 ) time by a so-called pseudo-polynomial time algorithm whether there is a balanced bipartition, i.e., a representation of a disconnected bipartite graph with two vertex sets of equal size in the two sides. Based on the results an O(n2 log n) time algorithm is derived for the problem. 5.2
Minimizing the Sum of Diameters
Another natural optimization criterion is to minimize the sum of diameters. Monma and Suri discussed the problem in [16]. They discussed the problem in two different settings. For a set of n points in the plane, their algorithm runs in O(n2 ) time and O(n) space. For a weighted graph with n vertices and m edges they improved the previously known time bound O(n3 log n) [8] into O(mn log n) time. Basic ideas behind their algorithms are a maximum spanning tree and a notion of (r1 , r2 )-partition, which is a bipartition such that two subsets are bounded by r1 and r2 , respectively. One important subroutine is the O(m) algorithm for deciding whether a (r1 , r2 )-partition exists. The result for the geometric setting was further improved by Hershberger [10] into O(n log n/ log log n) time. 5.3
Variance-based k-Clustering
Inaba, Katoh, and Imai [12] studied the problem of variance-based k-clustering, i.e., one of partitioning n points into k clusters so as to minimize the sum of variances of clusters, and compared it with popular algorithm based on iterative improvement called ’k-means algorithm’ [18] by computer experiments. The
Effective Use of Geometric Properties for Clustering
45
basic tool is a general parametric technique by Katoh and Ibaraki [14] for minimizing quasiconcave functions, which leads to characterization of an optimal clustering by means of higher-order Varonoi diagram. They showed that optimal solutions can be characterized by weighted Voronoi diagram generated by k points, and evaluated the primary shutter function of the k-Voronoi space.
6
Concluding Remarks
I believe that the greatest contribution of the Algorithm theory is discovery of efficient or polynomial-time algorithms for those problems which look intractable. Most of the problems considered in this survey paper are such ones. Dynamic programming has been a common algorithmic paradigm for polynomial-time solvability. This paper suggests several other approaches for the same goal, I hope.
Acknowledgments This work was partially supported by Grant in Aid for Scientific Research of the Ministry of Education, Science and Cultures of Japan. The author would like to express his sincere thanks to Dr. Takeshi Tokuyama of IBM Tokyo Research Laboratory for his valuable comments based on careful reading of the draft.
References 1. T. Asano, B. Bhattacharya, J.M. Keil, and F.F. Yao: ”Clustering Algorithms Based on Minimum and Maximum Spanning Trees,” Proc. of the 4th Annual ACM Symp. on Computational Geometry, pp.252-257, 1988. 2. D. Avis: ”Diameter Partitioning,” Discrete and Computational Geometry, 1, pp.265-276, 1986. 3. P. Brucker: ”On the Complexity of Clustering Problems,” in R. Henn, B. Korte, and W. Oletti (eds.), Optimization and Operations Research, Lecture Notes in Economics and Mathematical Systems, Springer, Berlin, pp.45-54, 1978. 4. V. Capoyleas, G. Rote, and G. Woeginger: ”Geometric Clusterings,” J. of Algorithms, 12, pp.341-356, 1991. 5. D. Dobkin and S. Suri: ”Maintenance of Geometric Extrema,” J. of ACM, 38, 2, pp.275-298, 1991. 6. H. Edelsbrunner, H.A. Mauer, F.P. Preparata, A.L. Rosenberg, E. Welzl, and D. Wood: ”Stabbing Line Segments,” BIT, 22, pp.274-281, 1982. 7. J. Hagauer and G. Rote: ”Three-Clustering of Points in the Plane,” Proc. 1st Annual European Symp. on Algorithms (ESA’93), Lecture Notes in Computer Science, vol.726, pp.192-199, 1993. 8. P. Hansen and B. Jaumard: ”Minimum sum of diameters clustering,” J. of Classification, pp.215-226, 1987. 9. J.A. Hartigan: ”Clustering Algorithms,” John-Wiley, New York, 1975.
46
T. Asano
10. J. Hershberger: ”Minimizing the Sum of Diameters Efficiently,” Computational Geometry: Theory and Applications, 12, pp.111-118, 1992. 11. J. Hershberger and S. Suri: ”Finding Tailored Partitions,” Proc. of the 5th Annual ACM Symp. on Computational Geometry, pp.255-265, 1989. 12. M. Inaba, N. Katoh, and H. Imai: ”Applications of Weighted Voronoi Diagrams and Randomization to Variance-Based k-Clustering,” Proc. 10th ACM Symp. on Computational Geometry, pp.332-339, 1994. 13. D.S. Johnson: ”The NP-Completeness Column: Ongoing Guide, J. of Algorithms, 3, pp.182-195, 1982. 14. N. Katoh and T. Ibaraki: ”A Parametric Characterization and an -Approximation Scheme for the Minimization of a Quasiconcave Program,” Discrete Applied Mathematics, 17, pp.39-66, 1987. 15. C. Monma, M. Paterson, S. Suri, and F. Yao: ”Computing Euclidean Maximum Spanning Trees,” Proc. of the 4th Annual ACM Symp. on Computational Geometry, pp.241-251, 1988. 16. C. Monma and S. Suri: ”Partitioning Points and Graphs to Minimize the Maximize or the Sum of Diameters,” Proc. 6th International Conf. on Theory and Applications of Graphs, 1988. 17. M. Overmars and J. van Leeuwen: ”Maintenance of Configurations in the Plane,” J. Coput. and Syst. Sci., 23, pp.166-204, 1981. 18. S.Z. Selim, M.A. Ismail: K-Means-Type Algorithms: A Generalized Convergence Theorem and Characterization of Local Optimality,” IEEE Trans. Pattern Anal. Mach. Intell., pp.81-87, 1984.
Living with Zrs David AVIS School of Computer Science, McGill University, 3480 University, Montrtal, Qutbec, Canada H3A 2A7
Abstract. This paper describes the development of lrs, an implementation of the reverse search method to the vertex enumeratiordconvex hull problem for convex polyhedra. We describe an important and difficult class of polyhedra, called configuration polytopes, that have application to determining the ground states of alloy phase diagrams. Experience gained while trying to solve these problems lead to a number of improvements to the original implementation.
1. Introduction A classic result is that a convex polyhedron P can be represented in two ways. An H-representationis given by an m x d matrix A = ( a i , j and ) m-vector b = (bi): P={y~R~Ib+Ay20).
(1)
We assume throughout that P is full dimensional and has at least one vertex, which implies that m 2 d. If A is minimal, that is n o row can be deleted without changing P , then P has rn facets, each defined by one of the inequalities in (1). A vertex y e R d is a point of P that satisfies an affinely independent set of d inequalities as equations. An extreme ray z € R d is a direction such that for some vertex y and any positive scalar t , y + tz is in P and satisfies some set of d - 1 affinely independent inequalities as equations. Note that an extreme ray is unique only up to a positive scalar, since if z is an extreme ray then so is tz for any positive scalar t . An equivalent V-representation of P is given by a minimal set of s vertices y I , - - - , yand s u extreme rays 21,. - - ,zL1: S
14
S
P = J ~ E ~R y~= C a i y ~C+~ j z j , ~ i 2 0 , ~ j r 0 , C a i = l / (2) . i= 1
j=1
i= 1
The vertex enumeration problem is to produce a V-representation from an H representation, and the facet enumeration problem is to provide the reverse transformation. It is well known that these problems are essentially equivalent. Two classic methods exist for solving these problems: the double-description method (or insertion method), and pivot based methods. Further background and a description of these methods is contained in the books by ChvBtal[9] and Ziegler[l8]. The purpose of this paper is to describe experience gained in the development of lrs, lexicographic reverse search , a C program based on a pivoting method for vertex enumeration called reverse search. This method was first proposed by Fukuda J. Akiyama, M. Kano, and M. Urabe (Eds.): JCDCG’98, LNCS 1763, pp. 47−56, 2000. Springer-Verlag Berlin Heidelberg 2000
48
D. Avis
and the author in 1992 [l]. Much of this experience was obtained in trying to use an early implementation of the code to solve a set of difficult problems arising from the so-called configuration polytopes, that are well known in materials science. In this section we give a brief description of the method and some preliminary computational results on small problems. In the next section we describe the class of configurations polytopes, which appear to be computationally difficult. In Section 3 we discuss the lessons learned trying to enumerate their vertices. These lessons lead to various technical improvements to the basic algorithm, and have been incorporated into the program Zrs. The final section gives some computational experience with this algorithm on various other well known polytopes. More complete technical descriptions of the methods and results described here appears in the papers [ S ] [6]. Briefly and informally, the reverse search algorithm works as follows. Suppose we have a system of rn linear inequalities defining a d-dimensional polyhedron in Rd and a vertex of that polyhedron given by the indices of d inequalities whose bounding hyperplanes intersect at the vertex. These indices define a cobasis for the vertex. The complementary set of rn - d indices define a basis. For any given linear objective function, the simplex method generates a path between adjacent bases (or equivalently cobases) which are those differing in one index. The path is terminated when a basis of a vertex maximizing this objective function is found. The path is found by pivoting, which involves interchanging one of the hyperplanes defining the current cobasis with one in the basis. The path chosen from the initial given basis depends on the pivot rule used, which must be finite to avoid cycling. If we look at the set of all such paths from all bases of the polyhedron, we get a spanning forest of the graph of adjacent bases of the polyhedron. The root of each subtree of the forest is a basis of an optimum vertex. The reverse search algorithm starts at each root and traces out its subtree in depth first order by reversing the pivot rule. The algorithm is particularly easy if each vertex lies on exactly d hyperplanes, and so has a unique basis. In this case the polyhedron is called simple or nondegenerate. The spanning forest has one component, which is a spanning tree of the skeleton of the polyhedron, and each vertex is produced once. An example of such a polyhedron is the cube, and Figure 1 shows a possible reverse search tree for it.
The first implementation of the reverse search algorithm, veOl, was released by the author in 1992, and revised in 1994[3]. It solved the vertex enumeration problem for polytopes (bounded polyhedra), and did not report extreme rays in the case of unbounded polyhedra. A technical description of the latest implementation, Zrs, is given in [6]. It handles unbounded polyhedra, reports extreme rays, does volume computation for facet enumeration problems, and estimates the output size and number of bases that will be computed. Both of the implementations use extended precision exact arithmetic. In [3] some preliminary computational experience was given on a set of seven test problems. Table 1 shows the improvement in running time obtained between the original program veOl and version 2.3 of Zrs on these test problems. All of the problems i n l ,...,in7 are vertex enumeration problems, with #F input inequalities in d
Living with lrs
/i-
f
- m
49
011 c path of simplex method
100
IB
110
001
8 %
101
Oil 111
110 (a) The “simplex tree” induced by the objective (- C xi).
(b) The corresponding reverse search tree.
Fig. 1. Reverse search tree for vertex enumeration of the cube dimensions. In the table, #V and #R refer respectively to the number of vertices, and rays computed (Zrs only).
j
Table 1. Computational results on original problem set (veOI vs Zrs)
Problem
in5
in7
#F 34 16 19 12 14 23 20
#V
4 5 6 7 9 10 10
31 18 8 54 89 332 1188
I
I
33 302
bases
secs
bases
secs
31 1247 10845 54 97 3656 1188
2.81 7.48 86.43 .43 1.14 83.65 208.98
31 76 188 54 94 824 1188
.06 .05 .12 .05 .09 1.69 2.78
Many of the improvements made were motivated by the solution of a set of considerably larger and more difficult problems. In the next section we describe these polytopes.
2. Configuration Polytopes Alloy phase diagrams are of considerable interest in materials science and condensed matter physics. Physicists try to reproduce these diagrams and to understand their topology in terms of microscopic models for the energy and the entropy. An essential part of a first-principles phase diagram computation is the prediction of the ground states of the system. Lattice models with local interactions are used to predict which alloy structures can exist. One method, known as Kanamori’s method is described in [15] and [ll].
50
D. Avis
The idea of Kanamori’s method is to derive a set linear constraints based on socalled correlation functions. The resulting polyhedron is called a conjguration polyrope and its vertices are the possible ground states of the required phase diagram. The correlation functions are derived from configurations on small clusters (due to the huge number of such constraints in general) and so in fact only an approximation of the exact configuration polytope is obtained. Therefore some vertices computed may violate constraints obtained from larger clusters, and cannot correspond to a physical state. These are known as inconstructible vertices. On the other hand, if a vertex in fact corresponds to some physical configuration, then it must be a vertex of the exact configuration polytope also. These are known as constructable vertices. Configuration polytopes pose a challenge to vertex enumeration programs, because even those based on very small clusters are highly degenerate. In [8] Kanamori’s method is applied to ternary alloys. Table 2 gives data on a number of configuration polytopes for this problem.
Table 2. Configuration polytopes Problem 729-9 31-20 41-16 71-61 90-86 288-28 1
1
Upper Bound 1.15 e+10 587,860 8,544,096 5.47 e+09 3,067,078 9.16 e+12
I
Actual Bases Vertices
I
4,862 18,553 29,108 3.15 e+06 323,188
477,42 1 169,272 287,806 5.76 e+07 1,621,760
?
?
Vertices
Bases
Probes
2,032 11,596 69,827 2.32 e+06 272,195 2.91 e+ll
160,907 120,743 204,209 5.18 e+07 1.53 e+06 2.90e+12
3-20 2-20 2-20 2-5 2-5 1-1
7,519 5,917 25,765 30,534 1,322
In the table, the first column gives the problem size rn - n, where rn is the num, ber of linear inequalities and d = n - 1 is the dimension. Throughout the paper we refer to the problems by these numbers. The second column gives the maximum number of vertices of a polytope with this size, as given by McMullen’s Upper Bound Theorem (see e.g.,[18] ): a polyhedron P described by rn inequalities in d dimensions has at most
1 TI]+ 1 -L
f (rn, 4 =
rn-d
-
L d + 2 J]
rn-d
vertices. The next two columns give the actual number of vertices and bases computed. The number of bases listed are the number of lexicographically positive bases of the polytope. The total number of bases is very much larger. The number of lexicographically positive bases is bounded by the Upper Bound Theorem, since is corresponds to the number of vertices of a perturbation of the original polytope to a simple polytope with the same number of inequalities. This issue is discussed in more detail below. The problem 288-281 has not yet been solved.
Living with lrs
51
One difficulty of the vertex enumeration problem is the tremendous variability in the output size. The output may be as large as that given above in the Upper Bound Theorem, or as small as that given by the Lower Bound Theorem of Barnette (see e.g.,[ 181 ): a non-empty simple polyhedron P described by rn inequalities in d dimensions has at least
g(m, d ) = m(d - 1) - (d + l ) ( d - 2) vertices. Non-simple polyhedra can have even fewer vertices, and general lower bounds were obtained by Deza and Fukuda[ 101 by inverting McMullen’s condition. The bounds are tight and for most values of m and d there is obviously a very large gap between the lower and upper bounds. This motivated the search for a way to estimate the number of vertices and bases of a polyhedron without computing them all. A feature of the reverse search method is that the reverse search tree can be probed at random. For any node in the tree it is possible to compute its degree, and then to generate a child uniformly at random. This allows the use of the Hall-Knuth estimator[ 131 for obtaining unbiased estimates of the number of nodes of a tree. The details of how this was done for Zrs are given in [2]. The last four columns of the table refer to estimates obtained by Zrs using this method. To limit the variance of the estimate, a complete search was done of the first few levels of the tree, then random probes were performed on all remaining subtrees. The notation x - y in the second last column indicates that y independent random probes were made from each node of the tree at depth x. The final column gives the total number of tree nodes evaluated to produce the estimate. Although the estimates are unbiased, it can be shown that a low estimate is more likely than a high one, and this is born out by the results. Nevertheless, considering the huge gap between known upper and lower bounds for the number of vertices, the estimates are quite satisfactory. They are particularly useful for the purpose of deciding the tractability of the computation. The running time of the reverse search method is directly proportional to the number of bases given in the estimate. Since other enumeration methods store all of the vertices and/or bases computed, an estimate of their number is also useful1 to determine the feasability of completing the computation. According to the estimates, it seems highly unlikely that problem 288-281 is tractable by any vertex enumeration method. Except for problem 71-61, all results were obtained by running Zrs on mutt, a DEC Alpha Server, as described in the Appendix. In the case of the polytope 71-61, the computation was performed by prs, a parallelized version of lrs described in [7]. This computation took 4.5 days on an IWC Senju computer with 64 processing elements. It is estimated that it would require 130 days to complete the computation on a single workstation. The output size is of the order of 1 gigabyte of data. This result and others in [7] demonstrate that the underlying reverse search algorithm is efficiently parallelizable.
52
D. Avis
3. Improvements to Irs Several lessons were learned in working on the solution of the vertex enumeration problem for configuration polytopes. One was the necessity of providing restart capability, so that long runs that are terminated, voluntarily or involuntarily, can be restarted. Gerard0 Garbulsky, who was using an early version of the program to solve 729-9, contacted the author about this after losing a month of computation after a power failure at MIT during the "storm of the century". In fact such a restart capability was quite straight forward to implement: only the cobasic indices of the current vertex of the reverse search tree need to be stored. The program is restarted by using the original input file and these indices to pivot the dictionary to the correct cobasis. The computation continues as before until all of the children of the root vertex have been explored. Another important point demonstrated is the importance of rational arithmetic for combinatorial polytopes. For configuration polytopes, the rational coordinates of the vertices relate to the densities of various atoms in the underlying lattice, and it is therefore important that they be exact. A floating point solution to this problem was also obtained for 729-9, and in one case an automatic rounding function returned an incorrect solution. A second reason for using exact computation is the possibility of catastrophic error in the reverse search algorithm if a sign is calculated incorrectly. Since there is no redundancy in the underlying graph search, if some child of a given node in the tree is not discovered (due to an incorrect sign for example), then the entire subtree rooted at this node is not discovered either. Exact computation is more time consuming, and the next section gives some empirical results to show how much it costs. A major improvement to lrs initiated by experience with configuration polytopes was the implementation of lexicographic perturbation. Without perturbation, a = 840261910995 bases. An earlier versingle vertex of the problem 729-9 has (lr)
sion of the program used numeric perturbation, and this allowed solution of the problem. However, with numeric perturbation there is no guarantee that a vertex is not lost after the perturbation. Furthermore, one has to deal numerically with the perturbed numbers, which tendto require more digits of precision than with the original data. Lexicographic pivoting is well known as a way of resolving degeneracy in linear programming (see e.g.,[14] ). It is known to be equivalent to the epsilon perturbation method, however no perturbations are actually required and the original data is used at all times. The details of its implementation in Irs are given in [ 6 ] . An additional benefit in working with lexicographic pivoting is in the computation of volumes, as described in the next paragraph. The problem of computing the volume of a polytope is a notoriously difficult problem, being #P-hard. If we consider the geometric interpretation of lexicographically positive bases for the facet enumeration problem, we see that they triangulate the facets of the polytope. It is therefore possible to determine the volume of the polytope from the determinants of the bases computed. Since lrs runs in linear space, this shows that the volume of a polytope can be computed in linear space if its vertices are known. It turns out that by using integer pivoting, as described in the next paragraph,
Living with lrs
53
the determinant of each basis is obtained at no extra cost during the pivot step. Therefore volume can be computed with almost no overhead during a facet enumeration with lrs. Volume computation was also combined with the estimation function, to provide unbiased estimates of the volume of a polytope given by a V-representation. Profiles of the execution time of the earlier program veOl indicated that approximately 80% of the running time was spent in greatest common divisor (gcd) computations. All calculation were performed in rational arithmetic, and after each arithmetic operation it was necessary to reduce the fraction to lowest terms. Gcd computations are typically proportional to the length of the integers involved, and hence are time consuming. An alternative to rational pivoting is integer pivoting, as described by Edmonds and Maurras[l2] which is connected to Cramer's rule, see the appendix of ChvBtal[9]. The essential idea is that the coefficients in the dictionary are the ratio of two integer determinants, the denominator being the determinant of the current basis. It is therefore only necessary to store the numerators of the dictionary coefficients and the common denominator (which can be used in volume computation as remarked above.) As documented in [5] integer pivoting improves the running time by between 1.3 and 18 times, depending on the problem. Using integer pivoting the number of digits computed can get and remain quite large, increasing the time for basic arithmetic operations. On the other hand, no gcd computations are required. Interestingly the greatest speedups were found to occur with the problems requiring the longest integers. For example, cyclic polytopes required 164 decimal digits in the computation, which ran 18 times faster with integer pivoting than with rational pivoting. Even with integer pivoting, the cost of the the computation using extended precision arithmetic is dominated by the pivot step in the algorithm. Roughly 8590% of the time is used in this step. Another lesson learned in developing Irs involved its generalization to the related convex hull problem. From a theoretical standpoint, convex hull and vertex enumeration problems are essentially equivalent. They are precisely equivalent for polytopes that contain the origin. From a theoretical point of view, one may assume the input is given in this form. This seems a reasonable assumption, since the input data for a polytope can always be translated so that this is true, at the cost of solving a linear program if no feasible point is known. However, in practice this translation is inconvenient, since the output results must also be translated. Furthermore, the translation depends on a knowing an interior point of the polytope. Even if such a point is known, the translation may involve a large increase in the size of the integers required in the computation. In the case of unbounded polyhedra further complications arise. Another method to solve the convex hull problem is to lift the polyhedron to one higher dimension, where it becomes a pointed cone. This standard homogenization technique is described for example in [ 181. pp. 30-3 1. The "vertex enumeration'' problem for cones becomes a ray enumeration problem, which is trivially equivalent to the facet enumeration for the dual cone. In order to use this method, the program had to be extended to handle unbounded polyhedra. Initially it was thought that this lifting method would be unsatisfactory, since a cone has a single completely degenerate vertex at the origin. Surprisingly the lifted problems ran faster, even when the unlifted polytope was non-degenerate. As described in [5] empirically the lifted
54
D. Avis
polyhedron had roughly half the number of bases as the unlifted one, As a simple example, consider lifting the square in the plane to a cone with four faces in space. After perturbation, the cone has only two bases, whereas the square, even though nondegenerate, has four. Mattheis [ 171 reports similar findings for his lifting technique, which differs from the homogenization used in Zrs, since it results in a polyhedron (rather than a cone) in one higher dimension, that has additional vertices. The number of additional vertices created by this lifting technique may be large, see Klee [ 161. A final improvement made in developing Zrs was in the optional use of additional memory. As mentioned earlier, some configuration polytopes require up to a gigabyte of space just to store the output. A feature of reverse search is that this output does not have to be stored in memory, or even saved off-line. Only the dictionary for the current basis is needed. We have also observed that most of the computation time is used in pivoting. In pure reverse search, the tree is explored by pivoting to new bases, and backtracking is performed by pivoting back to the parent node. In this way a stack is not required. An obvious decrease in running time can therefore be obtained by storing all dictionaries in the path from the root to the current basis. The amount of space required depends on the length of this path, which in theory can be long. In fact the length of the path is just the number of pivots required by the simplex method to reach the optimum basis starting at the current basis. The Klee-Minty and similar examples (see e.g.[9] ) show that in the worse case this path can contain all of the vertices in the polyhedron. However in practice, such long path lengths are not encountered. Using a circular queue, Zrs stores a predetermined number of parent dictionaries on the path back to the root. If the parent dictionary is stored, it can be reloaded without pivoting saving up to half of the total number of pivots. The improvements described above were mainly motivated by the attempt to solve the special class of configuration polytopes. In the next section we see how they improve the running time for a large variety of different kinds of polyhedra.
4. Other Polyhedra In this section we show the result of the improvements made to Zrs on various other polyhedra. A complete description of the results is contained in [S]. Some empirical results are given for a set of four classes of polyhedra that have been well studied in the literature: cut polyhedra, cyclic polyhedra, Kuhn-Quandt polyhedra, metric polyhedra. The problems were chosen to include both simple and highly degenerate polytopes, and to require a wide range of digits of precision in the calculations. Each problem is given a name name m-n, where rn and n denote the size of the input array for the problem. For vertex enumeration, rn is the number of input inequalities, and for facet enumeration it is the number of vertices. n is the dimension of the polytope plus one. Data for the seven problems chosen is given in Table 3, and the input files are available on-line as described in the appendix. The first three problems and the last one are facet enumeration problems, and the others are vertex enumeration problems. For each problem the output to be computed is highlighted in bold face. The volume is given for the facet enumeration problems. Although the volume is computed exactly, a floating point approximation is given here due to the large size of the integers.
Living with lrs
Problem cutl6-11 cut32-16 cyciic25- 13 kq20-11 metric40-11 metric80-16
input rep.
dim. d
facets #F
vertices #V
volume
V V V H H
10 15 12 10 10 15
56 368 35700 20 40 80
16 32 25 1188
2.3116... 1.3457... 4.84e+75
H
32 544
55
1rs bases
secs
124 4675 1 18564 1188 9184 6450702
0.13 169.67 909.23 3.84 17.78 37532.68
Several of these problems are essentially unsolvable by pivot methods without perturbation. The unperturbed cut32-16 has 44450496 bases, and the unperturbed metric40-11 has 115972624 bases. It is not known how many bases metric80-16 has. This confirms that theoretical results obtained in[4] are observed on polyhedra arising in practice. For the problems in Table 3, lifting improves the running time by a factor roughly between 2 and 5, and integer pivoting improves the running time by a factor roughly between 1.3 and 20. It was possible to solve the cut and metric problems using a fixed precision version of the program prepared by Ambros Marzetta. This enables us to get some estimate of the overhead used by the general extended precision integer processing. These were solved by a 64-bit version of the program, which ran between 4.2 and 6.3 times faster than the general extended precision program.
5. Acknowledgements The author would like to thank many people for help on this project. Gerardo Garbulsky introduced him to the fascinating configuration polytopes. Komei Fukuda worked with the author on the solution of the problems, solving them independently with his cdd code based on the double description method. Ambros Marzetta supplied the author with a fixed precision version of lrs, and programmed a parallel version of lrs. David Bremner and Jerry Quinn helped program some of the improvements to the lrs code. An anonymous referee pointed out the reference to Mattheis’ lifting method.
6. Appendix The program ITS, and the input files for the polyhedra described in this paper can be obtained from the author’s home page http://www.cs.mcgill.ca/-avis. The configuration polytope input files were provided by Gerardo Garbulsky. Except where noted, the results in the tables were obtained by mutt, a DEC Alphaserver 1000 4/23 at McGill. References 1.
D. Avis and K. Fukuda, “A Pivoting Algorithm for Convex Hulls and Vertex Enumeration of Arrangements and Polyhedra,” Discrete and Computational Geometry, vol. 8, pp. 295-313, 1992.
56
D. Avis
2.
D. Avis and L. Devroye, “Estimating the Number of Vertices of a Polyhedron,” in Snapshots of Computational and Discrete Geometry, ed. D. Avis and P. Bose, vol. 3, pp. 179-190, School of Computer Science, McGill University, 1994.
3.
ftp://mutt.cs.mcgill.ca/pub/doc/avis/AD94a.ps.gz D. Avis, “A C Implementation of the Reverse Search Vertex Enumeration Algorithm,” in RIMS Kokyuroku 872, ed. H. Imai, Kyoto University, May 1994. ftp://mutt.cs.mcgill.ca /pub/doc/avis/Av94a.ps.gz
4.
D. Avis, D. Bremner, and R. Seidel, “How Good are Convex Hull Algorithms?,” Computational Geometry: Theory and Applications, vol. 7, pp. 265-301, 1997.
5.
D. Avis, “Computational Experience with the Reverse Search Vertex Enumeration Algorithm,” Optimization Methods and Software, vol. 10, pp. 107-124, 1998.
6.
D. Avis, lrs: A Revised Implementation of the Reverse Search Vertex Enumeration Algorithm, May 1998. ftp://mu tt .cs.mcgill.ca /pub/doc/avis/Av98a.ps.gz
7.
A. BrUngger, A. Marzetta, K. Fukuda, and J. Nievergelt, The Parallel Search Bench ZRAM and its Applications, 1997. ftp://ftp.ifor.math.ethz.ch /pub/fukuda/reports
8.
G. Ceder, G.D. Garbulsky, D. Avis, and K. Fukuda, “Ground States of a Ternary Lattice Model with Nearest and Next-Nearest Neighbor Interactions,” Physical Review B, vol. 49, pp. 1-7, 1994.
9.
V. Chvhtal, Linear Programming, W.H. Freeman, 1983.
10.
A. Deza and K. Fukuda, “McMullen’s Conditions and some Lower Bounds for General Convex Polytopes,” Geometriae Dedicata, vol. 52, pp. 165-173, 1994.
11.
F. Ducastelle, in Order and Phase Stability in Alloys, North-Holland, 1991. J. Edmonds and J.-F. Maurras, “Note sur les Q-matrices d’Edmonds,” Recherche OpBrationelle (RAIRO),vol. 3 1, pp. 203-209, 1997. M. Hall and D.E. Knuth, “Combinatorial Analysis and Computers,” Am. Math. Monthly, vol. 72, pp. 21-28, 1965. J. Ignizio and T. Cavalier, Linear Programming, Prentice Hall, 1994. M. Kaburagi and J. Kanamori, “A Method of Determining the Ground State of the Extended Range Classical Lattice Gas Model,” Progress in Theoretical Physics, vol. 54, pp. 30-44, 1975. V. Klee, “Polytope Pairs and Their Relationship to Linear Programming,” Acta Math., vol. CXXXIII, pp. 1-25, 1974. T.H. Matheiss, “An Algorithm for Determining Irrelevant Constraints and All Vertices in Systems of Linear Inequlaties,” Operations Research, vol. 21, pp. 247-260, 1973. G. Ziegler, Lectures on Polytopes, Springer, 1994, revised 1998. Graduate Texts in Mathematics.
12. 13. 14.
15.
16. 17.
18.
On the Existence of a Point Subset with 4 or 5 Interior Points David AVIS1, Kiyoshi HOSON02 and Masatsugu URABE2 School of Computer Science, McGill University, 3480 University, Montreal, Quebec, Canada, H3A 2A7 Department of Mathematics, Tokai University, 3-20-1 Orido, Shimizu, Shizuoka, 424-8610 Japan
Abstract. An interior point of a finite planar point set is a point of the set that is not on the boundary of the convex hull of the set. For any integer k 2 1, let h ( k ) be the smallest integer such that every set of points in the plane, no three collinear, containing at least h ( k ) interior points has a subset of points containing k or k + 1 interior points. We proved that h(3) = 3 in an earlier paper. In this paper we prove that h(4) = 7.
1
Introduction
Throughout the paper we consider only planar point sets in which no three points are collinear. For such a point set P we distinguish its vertices which lie on the boundary of its convex hull, from the remaining interior points. In 1935, Erdijs and Szekeres [2] proved that for every t 2 3 there is a number f ( t ) such that every set P of at least f(t) points, no three collinear, contains a subset of points whose convex hull contains precisely t vertices. Horton [3] has shown that it is not possible in general to specify both the number of hull vertices and number of interior points: there exist point sets with arbitrary size and no subset with t vertices and zero interior points, for each t 2 7. In [l],we investigated the question of when P contains a subset of points whose convex hull contains precisely k interior points of P . For any integer k 2 1 let g ( k ) be the smallest integer such that every set of points in the plane, no three collinear, containing at least g ( k ) interior points has a subset whose convex hull contains exactly k interior points. Then we showed that g( 1) = 1 and g(2) = 4, but were unable to determine if g(k) is finite for k 2 3 . Let ( ~ 1 , 2 1 2 , .. . , v m } be the vertices and (p1 , p 2 , . .. , p s } be the interior points of a point set P . Let S be a subset of P. By C H ( S ) we refer to the convex hull of S. The interior points of S are the interior points of P that are also interior points of C H ( S ) .If S has three points, say 5,y, z , then we use the notation Azyz for C H ( S ) .Note that if S has interior point(s) and a vertex 5,then CH(S\ z) has at least as many vertices as C H ( S ) . When indexing a set of t points, we identify indices modulo t . For any integer Ic 1 1, let h ( k ) be the smallest integer such that every planar points set, no three collinear, containing at least h ( k ) J. Akiyama, M. Kano, and M. Urabe (Eds.): JCDCG’98, LNCS 1763, pp. 57−64, 2000. Springer-Verlag Berlin Heidelberg 2000
58
D. Avis, K. Hosono, and M. Urabe
+
interior points has a convex subset with k or k 1 interior points. In [l] we showed that h ( 3 ) = 3 . In this paper, we show the following result.
Theorem. h(4)=r, that is, every planar point set P with at least 7 interior points contains a convex subset with 4 o r 5 interior points. For k >_ 5, we do not know if h ( k ) is finite. To investigate lower bounds on h ( k ) we consider deficient point sets P = P ( m ,s,k), which are sets with m vertices and s interior points which do not contain a subset of points with k or k+ 1 interior points. It is trivial to construct deficient point sets when s < k, so we assume s 2 k 2 1 throughout the paper. The existence of a deficient point set P ( m ,s, k) implies that h(k) 2 s 1. In Figure 1 we give a deficient point set P ( 3 , 8 , 5 ) , showing that h ( 5 ) 2 9. For k >, 6 we have h ( k ) 2 [Vl, as shown by deficient point sets P ( 3 , [vl, k) given in Figure 2 (a), (b) for the case of k even and k odd respectively. These examples can be extended to deficient point sets P ( m , [ v l , k ) for all m 2 3 by the following lemma, which is analogous to a similar lemma in [l]in a slightly different setting .
+
Fig. 1. Example of P ( 3 , 8 , 5 )
Fig. 2. Example of P ( 3 ,
I c ) , (a) k even (b) k odd
On the Existence of a Point Subset with 4 or 5 Interior Points
59
Extension Lemma Every deficient point set P ( m ,s,k) can be extended to a deficient point set P ( m 1,s,k).
+
Proof, Let P = P(m,s,k) and let v be any vertex. Place a new convex hull vertex u near v such that the remaining points of P are in the same angular order about u as they are about v creating the point set Q.Suppose Q has a convex subset T with k or k 1 interior points. Clearly none of these interior points could be either u or v . It is then easy to verify that TU{v}\{u} is a subset of P with the same number of interior points as T , a contradiction. Hence Q is a deficient point set P ( m + 1,s, k). 0
+
We also will make use of the following lemma proved in [l].
Reduction Lemma Let P be a plunur point set with m 2 3 vertices and s 2 0 interior points. Then there exists a vertex vi of P, such that P' = P\{v,} has m' vertices, s' interior points and either: (u) m' = m - 1 and s' = s or (b) m' = m -t t and s' = s - t - 1, where t = 0 , 1,...)[ s / m ] . 2
Proof of Theorem
An interior point of a triangle T is called a x,y , z-splitter of T if it partitions
T into three triangles with x 2 y 2 z interior points, respectively. In case z = 0, we abbreviate this to z,y-splitter. Note that this will happen if the splitter is the closest point to one of the edges of T. For i = 1 , 2 , 3 we use the notation ~ti,i+~ to refer to the closest interior point to the edge vivi+l in Avlv2vs. Proof of h ( 4 ) 2 7 : Figure 3 shows that there exists a planar point set with 6 interior points which does not contain a convex subset with 4 or 5 interior points, that is h(4) 2 7. This configuration, P ( 3 , 6 , 4 ) ,also plays an important role below in proving the upper bound on h(4). Using the Extension Lemma, we can extend it to give deficient point sets P ( m ,6,4) for each choice of m 2 3.
Proof of h(4) 5 7 : The proof is constructed from a set of base cases, and then completed by induction using the Reduction Lemma. First of all, we investigate triangles with 6 interior points that do not contain a subset with 4 or 5 interior points. Consider such a triangle T with vertices 211,212,213,Then it is easy to verify the following properties, for each i = 1,2,3: (i) edge vivi+l has a unique closest point zli,i+l which is a 3,2-splitter, (ii) Avivi-l,ivj,i+l contains exactly one interior point, (iii) CH(T\vi) is a convex pentagon containing exactly three interior points, (iv) the interior points of T form a convex hexagon.
60
D. Avis, K. Hosono, and M. Urabe
Fig. 3. Monster: P(3,6,4)
We call a triangle with these properties a monster, and an example is shown in Figure 3. Henceforce, we may assume that every triangle containing 6 interior points in P is a monster. Now we distinguish several cases. (Case 1) nz = 3, s = 7: We may assume that every 2 , y-splitter is a 6,O- or 3,3-splitter. First, consider the case that there exists a 6,0-splitter, say u1, where A u l v 2 v 3 contains 6 points. Then T = A u l v 2 v 3 is a monster and we may assume that ~ 2 , is 3 on the same side of the extended line z]1u1 as 213. Let u1,2 and ~ 3 , 1be the closest interior points in T,respectively, of edges u1 va and ~ 3 ~Properties 1 . (ii) and (iii) applied to A u l v 2 v 3 imply that Q = C H ( u 1 , ~ 3 , 1~, 2 , 3 , v 2 is ) a convex quadrilateral containing 3 interior points. If ~ 2 , 3is a 3,3-splitter, it follows that v~u3,1v2,3v2is a convex quadrilateral containing Q ,and hence containing 4 interior points, see Figure 4(a). Otherwise, if ~ 2 , is 3 a 6,O-splitter, Av1v2v2,3 is also a monster. Now since A u l v a v 3 is a monster, A ~ 1 ~ 1 , 2 ~contains 3,1 a point w by property (ii). But then ( ~ 1u1,2, , u3,1, w } is a non-convex interior point set of monster Av1v2v2,3, contradicting property (iv), see Figure 4(b). Next, we may assume that each closest point vi,i+l is unique and is a 3,3splitter. This in turn implies that every quadrilateral v ~ - ~ ~ u ~ - ~ , ~isvcon~ , ~ vex. By the pigeon-hole principle, one of the triangles vivi-1,ivi,i+1, contains 0 or 1 interior points. This implies that its neighbouring convex quadrilateral vi-lvi-l,ivi,i+lv*+l contains 5 or 4 points, respectively, as required.
Fig.4. r n = 3 , s = 7: (a) Shaded region contains remaining 3 interior points. (b) Shaded region is empty.
+ ~ v
On the Existence of a Point Subset with 4 or 5 Interior Points
61
(Case 2) na 2 4 , s = 7: To show this case, create a star triangulation of P by joining hull vertex v1 to each of the other hull vertices, creating rn - 2 triangles. If there exists a triangle which contains 4 or 5 or 7 points, we are done. If each triangle contains at most 3 points, it is easy to verify that we may find a convex subset with 4 or 5 interior points by concatenating a set of adjacent triangles. Thus we have only to consider the case where one triangle, say Avlvi*ui+l,has 6 interior points, one triangle, say Avl.ujVj+l,has one interior point and the others have no interior points. We may assume that j 2 i + 1, the case j ,< i being symmetric. Consider the subset Q = C H ( v l , v i , v i + l , v j , v j + l )which , has 7 interior points, and is either a convex pentagon (see Figure 5), or quadrilateral if j = a'+ 1. Avlvivi+l is a monster, so by property (iii) if we delete vi from it we have a convex pentagon with 3 interior points. Therefore CH(Q\vi) has 4 interior points. '
Fig. 5 . rn 2 4,s = 7: Convex pentagon Q
Fig. 6.
m
= 3, s = 8: Shaded region contains all 6 remaining interior points.
(Case 3) rn = 3,s = 8: We may assume that every z,y-splitter is a 6,l-splitter. Since v1,2 is a 6,lsplitter, we may assume that A v 1 ~ 3 ~ 1 contains ,2 just one point ' 1 ~ 3 ~where 1 ~3,1 is also a 6,l-splitter. If A T J ~ Vcontains ~ U ~ ,6~points, then A ~ 2 ~ 1 , 2 ~contains 3,l 5 points. Thus we may assume that the region A ~ 2 ~ 1 , n 2A ~u 32 ~ 3 , 1 v 3contains all 6 remaining points, see Figure 6. Let w be the closest point in Av2v1,2v3 t o the
62
D. Avis, K. Hosono, and M. Urabe
edge 212211,2. By property (i), w is a 3,a-splitter. If w is on the same side of the line 211211,2 as 212, then Avlv2w is empty. Therefore w is a 6,1-splittert contradicting the assumption that w is a 3,2-splitter in a monster. Otherwise, by properties (ii) and (iii), CH(v1,2,w , ~ 2 , 3213) , is a convex quadrilateral with 3 interior points. It extends by adding 211 into a convex pentagon containing 4 interior points: the original 3 plus ? & I . (Case 4) m ,> 4 , s = 8: As in Case 2, we form,a star triangulation of C H ( P ) from q . We are done unless some triangle, say Aqu;wi+l, has 6 interior points. If some other triangle has one interior point, we have a set with 7 interior points, reducing to Case 2. Otherwise some triangle, say Av1 vj vj+ 1 , has the remaining two interior points. We define Q as in Case 2, and conclude by an analogous argument that if j 2 i+l then CH(&\wi) has 5 interior points. (Case 5) m = 3 , s = 9: We may assume that every s,y-splitter is a 6,2-splitter. Since v1,2 is a 6,2splitter, we may assume that A v ~ v ~ contains I I ~ , ~ two points. Let ~ 3 , 1be the 3 , empty, 1 then the closest point in Avl213qI2to the edge 211213. If A ~ 1 ~ 1 , 2 ~ is convex quadrilateral CH(212,213,?&,I, 211,2) has seven interior points, and the problem reduces to Case 2. Therefore A ~ i ~ l , 2 ~contains 3,1 one point. If Avlv2u3,l contains 6 points, then Av2vl,2u3,1 contains 4 points. Therefore the region A v ~ w ~ , ~ v ~ ~contains A v ~6upoints ~ , ~where ' v ~both A212211,2213 and A Q U ~ ,are ~V~ monsters, see Figure 7. Notice that at least one of the quadrilaterals 211'U22]2,3u3,1 and 211211,2212,3v3is convex. If the quadrilateral 211212u2,3213,1 is convex, it contains 4 or 5 points since ~ 2 , is 3 a 2,3-splitter in Agt63,1212?J3. We can argue the same way for the convex quadrilateral z11'~1,2212,3'~3.
Fig. 7.m = 3, s = 9: Shaded region contains 6 interior points.
(Case 6) m = 4 , s = 9: Decompose the convex quadrilateral 211 112213214into two triangles by adding the diagonal 211213. If either of the two triangles formed have 0,4,5,7,8 or 9 points we reduce to a previous case and are done. We may therefore assume that Avlv2v3 contains 6 interior points, and is a monster. The other triangle contains 3 interior
On the Existence of a Point Subset with 4 or 5 Interior Points
63
points. Let ~ 3 , 1be the closest point in AvlV2vS to the edge w3v1. Since A211212213 is a monster, Avlwl,zwa,l contains one interior point 20. Property (iii) implies that Awlww3 contains 1 or 2 interior points. Therefore the convex quadrilateral w ~ w w ~contains ~ u ~ 4 or 5 interior points. (Case 7) m = 3 , s = 10: This case is similar to Case 5. We may assume that every x,y-splitter is a 6,3-splitter. Since v1,2 is a 6,3-splitter, we may assume that Av12]3211,2 contains 3 points. Let ~ 3 be ~ the 1 closest point in A ~ 1 ~ 3 ~ to 1 , the 2 edge 211213 and let Q = CH(v2, w3, ~ 3 , 1~, 1 ~ 2 Q) .is a quadrilateral since w1,2 cannot lie in Av22132(3,~ because ~ 3 , 1is also a 6,3-splitter of Awlw2v3. We can assume that Avlvl12u3,1 contains 2 points for otherwise the convex quadrilateral Q has 7 or 8 interior points, and we reduce to Case 2 or Case 4, respectively. If Avlu2?&,1 contains 6 interior points, then both Aw1,2w2u3,1 and A w ~ u Q , ~ v ~ contain 3 interior points each, see Figure 8. Now C H ( A Z I ~ W ~ , ~isUnot ~ ,a~ \ V ~ , convex pentagon since A w ~ v ~ isu a~ monster, ,J and this would violate property (iv). Therefore CH(&\v1,2) has 4 or 5 interior points. Otherwise, A v 2 v 3 t 6 3 , ~contains 6 points. Then both Av2v1,2v3 and Aw2u3,1v3 are monsters. This situation was essentially treated in Case 5 (compare Figure 7), since interior points of A w l w 1 , 2 ~ 3 ,do ~ not come into play.
Fig. 8 . m = 3, s = 10: Both shaded triangles have 3 interior points.
We now complete the proof. Cases 1 and 2 settle s = 7, and Cases 3 and 4 settle s = 8. For s 2 9 we apply the Reduction Lemma and induction. By Case 5 and 6, we may assume rn 2 ' 5 for the case s = 9. Then the Reduction Lemma shows the existence of a proper subset to which we can apply induction: if (a) of the lemma holds we have s' = 8, and if (b) holds we have a proper subset of P with s' = 9 - 19/nzJ - 1 2 7 interior points, for which we may again use induction. In the case s = 10, we may assume that m 2 4 by Case 7. We apply the Reduction Lemma as before, and note that if (b) holds in the lemma, we have a proper subset with s' = 10 - LlO/mJ - 1 2 7 interior points. Finally, if na 2 3, s 2 11, we have s - Ls/m] - 1 1 7, and so the result follows by the Reduction Lemma and induction. 0
64
D. Avis, K. Hosono, and M. Urabe
References D. Avis, K . Hosono and M. Urabe, On the Existence of a Point Subset with a Specified Number of Interior Points, manuscript, 1998. 2. P. ErdGs and G. Szekeres, A Combinatorial Problem in Geometry, Compositio Mathernatica 2, 463-470 (1935). 3. J. Horton, Sets with No Empty 7-gons) Canad. Math. Bull. 26, 482-484 (1983). 1.
Planar Drawing Algorithms of Survivable Telecommunication Networks Ala Eddine Barouni', Ali Jaoua2, and Nejib Zaguia3 University of Tunis, department of computer science, Tunisia ala.barouni9fst.ru.tn King Fahd University of Petroleum and Minerals, department of computer science, Dhahran, Saoudia Arabia ajaoua9ccse.kfupm.edu.sa School of Information Technology and Engineering, Ottawa, Ontario, Canada zaguia9site.uottawa.ca
A bst r act. Visualizing survivable telecommunication networks on the screen has proven to be useful and helpful for the network designers. In fact, they can easily identify rings, perceive the interaction between rings, and then rapidly spot possible problems. Given a ring cover of survivable telecommunication networks, we provide two techniques for drawing a ring cover. We should mention that all these drawings should respect many criteria in order to preserve the readability of the drawing. These criteria are as follows: Rings must be easily identifiable within the picture, no crossing is acceptable and the resolution rule should be respected. As in most of the graph drawing algorithms, the area used for the drawing is very important. Our proposed algorithms produce drawings that require O(n2) area, where n is the number of nodes in the ring cover.
1
Introduction
The problem of drawing a graph in the plane has received increasing attention recently due to the large number of applications stated in 151. For example automatic layout of pert diagrams [4], layout algorithm for data flow diagrams [2] and layout algorithm of entity-relationships diagrams [3]. The design and analysis of telecommunication network is a very important area (for more details see [8],1121 and [ 6 ] ) .In this paper, we study techniques for visualizing telecommunication networks. We are motivated to design a network which (1) satisfies the traffic requirements, (2) can survives failures, and (c) the cost of the network is minimum. A network is survivable if it can survive the failure of a link e, that is, the removal of the link e does not disconnect the network, and the traffic that was originally supported by the link e, can be accommodated by another path. The Multi-Ring Architecture is considered to be a cost-effective survivable network because of its simplicity and improved survivability (see [13] and [9]). Consider a network N represented by a graph G = (V,E ) , where V is the set of nodes representing the sites and E is a set of links representing the electrical links between nodes. A ring R in G is defined to be a cycle consisting of J. Akiyama, M. Kano, and M. Urabe (Eds.): JCDCG’98, LNCS 1763, pp. 65−80, 2000. Springer-Verlag Berlin Heidelberg 2000
66
A.E. Barouni , A. Jaoua, and N. Zaguia
nodes 721,722, . . . , np E V . For some specific rings in a network, we may have a high traffic. The network designers may decide to add more equipment to the nodes (sites) of these rings in order to increase the performance of the network. Therefore, one of the most important properties of Multi-Ring Architecture, is that rings should be easily recognizable. We focus on drawing networks on the computer screen so that properties of the Multi-Ring Architecture can easily be viewed. Similar to graph drawing, many criteria should be considered in order to enhance the readability. Usually, a general optimization method are used, i.e., minimize the crossings, the area, the number of bends (in orthogonal drawings), and the number of slopes (in polyline drawings). Readability is also our concern, because we have noticed, so far, that unnecessary crossings may create rings that do not exist in the original network. In this paper, we will address the issue of visualizing survivable telecommunication networks by presenting multi-ring architecture drawing techniques. We define a Ring Cover C as a set of rings that covers all links in a network [7]. For a network N represented by a graph G, given a ring cover C, a contact node c is a node of G which belongs to the intersection of at least two rings of C. The resolution is a constant defined by the user which is considered to be the minimal distance between any two nodes in the drawing of the ring cover. The resolution rule is that the nodes must be kept far enough from each other, so that, the human eye can tell them apart. The resolution rule prevents the drawing algorithm from arbitrary scaling down the picture. The problem is defined as follows: let N be a telecommunication network represented by a graph G = (V,E ) , where V is the set of nodes representing the sites of switches and E is a set of links representing the electrical wires or optical fiber links between nodes. Corresponding to the graph G, a IVI x IVI matrix T is defined so that: the entries T',j denote the amount of traffic between the node i and the node j , where 1 5 i , j 5 IVl. In [7], some techniques are provided to find a ring cover in survivable networks by using the matrix T as input. Thus, for a network N , we assume that the ring cover C is given and therefore our task is to deal with the ring cover drawing. We shall present two different techniques of ring cover drawing. They take into account many criteria in order to produce layouts that are clear and easy to understand. Since the nodes of the network correspond to sites, they have geographic coordinates. Hence, the network can be drawn naturally with little effort. However, for some complicated structure of networks, the important properties that designers are interested in, such as rings, are not displayed. In [Ill and [lo], three techniques of ring cover drawing are provided: 1. Inside Drawing : Each ring is drawn inside other rings. 2. Outside Drawing : Each ring is drawn outside of other rings. 3. Mixed Drawing : Each ring can be drawn outside or inside other rings. These three techniques are based on. the following assumptions: 1. Any two adjacent rings share only one contact node.
Planar Drawing Algorithms of Survivable Telecommunication Networks
67
2. The ring-contact node graph Ill]is a tree and therefore it contains no cycles. They proposed two open problems: 1. Drawing a ring cover when any two adjacent rings share one contact node and the ring-contact node graph is not a tree. 2. Drawing a ring cover when rings share more than one contact node.
In this paper we focus on expanding the conditions of the ring cover drawing. Our aim is to present new techniques of ring covers drawing. Our research includes the case treated in Ill]where any two adjacent rings share exactly one contact node, augmented by the following contributions: 1. The ring cover contains rings that share more than one contact node. 2. The ring-contact node graph, which is considered to be the underlying structure of the ring cover is not a tree. 3. A combination of both cases: the ring cover contains rings which share more than one contact node and the ring-contact node graph has cycles. 4. The design and the implementation of a new system for drawing telecommunication networks based on the Multi-Ring Architecture. The system invites the user to enter the ring cover through its underlying structure and then generates the picture of the network.
2
Inside Drawing
In this section, we will describe the inside drawing technique which consists of drawing each ring inside the other one. We will present our approach which consists of extending the drawing of the ring cover to other types of networks. We treat the case where any two adjacent rings in the ring cover can share more than one contact node, and we consider the possibility of having ring-cycles in the ring cover. 2.1
Ring cover contains ring-cycles and rings share more than one contact node with other rings
In this section, we are going to present a new approach for drawing other types of networks in which we consider the case where the rings could share more than one contact node and the ring cover contains ring-cycles. In practice, it is possible to have a very complicated structure of ring covers. The only ring cover drawing treated, so far, deals with the case where the ring-contact node graph [Ill is a tree. In the case where the ring cover contains a ring-cycle or the rings share more than one contact node, it is clear that the ring-contact node graph is not a tree, see figure l(b). Before going into details, let us define some concepts: A path P which connect two contact nodes ci and cj is called a free path if and only if ci and cj are the only contact nodes in this path. A ring-cycle RC = (R1,cn1,R2,cn2,. . . ,Ri,c n i , & + I , c n i + l } , where R1 = Ri+l and cn1 = cni+l,
68
A.E. Barouni , A. Jaoua, and N. Zaguia
N
K1
I
I el I
J1 l2
R5 &n5
F ig. I.(a) Ring cover; (b) Ring-contact node graph; (c) Generalized-ring-contact node graph
is a set of rings R’s and special contact nodes cn’s, so that rings form a cycle in the ring cover, that is: - Any two adjacent rings R j and Rj+l share exactly one contact node cnj,j = 1 , . . . ,i. - And in each ring R j , j = 2, . . . , i 1, there exists at least one free path between two distinct special contact nodes cnj-1 and cnj belonging t o the ring
+
Rj .
Let a ring R = {nl,n2, ..., nP}be an ordered sequence of its nodes, we call two nodes ni and nk ( i # k ) adjacent in R, if there exists a direct link e between n1 and 722 within the ring R. Let R, = (nl,n2,.. . ,nP}and R, = {ml,m2, ..., m q } be two rings, such that R, and R, are pairwise compatible [ll],and we suppose that they share k contact nodes (c1, c 2 , , . . , c k } , A multi-contact node mc is the set {el, c2, . . . , c k } of contact nodes, such that ci, ci+l are adjacent nodes in R, and in R, , where 1 < i < k - 1. Let M C = {mcl,...,mc,} be the set of all multi-contact nodes in the ring cover C and rnci E M C be the multi-contact node between two rings R, and R, . We say R, and R, are strictly compatible if mc; n mcj = for j = 1 , 2 , ...,n and j # i . Our approach consists of specifying a new underlying structure of the ring cover which will be considered later on as the basis of our drawing. We assume first, that any two adjacent rings in the ring cover are strictly compatible, and we shall introduce the generalized-ring-contact node graph considered to be the new underlying structure of the ring cover. We define the generalized-ring-contact node graph G1 (V1, E l ) as follows: Vl contains five types of vertices : 1. Rings in the ring cover, denoted byRi. 2. Special contact nodes that belong to the ring-cycle, denoted by cni.
Planar Drawing Algorithms of Survivable Telecommunication Networks
69
3. Contact nodes that do not belong to ring-cycle, denoted by ci. 4. Ring-cycles in the ring cover, denoted by RCi. 5. Mutli-contact nodes, denoted by mci. El contains five types of edges defined as follow: 1. { ( R , c ) : R ~ C , a n d c € R } . {(RC,cn) : cn E RC}. {(cn, R) : R E C,cn E R, cn E RC and R # RC}. {(RC, R) : R E C and R E RC}. { ( R ,mc) : R E C, and nodes of mc are in R}.
2. 3. 4. 5.
In our drawing, we focus only on the case where the intersection between any two ring-cycles in the ring cover is only one ring or empty. In this case, the generalized-ring contact node graph is a tree, we call it T I .In figure 1, We note that the ring-contact node graph corresponding to the ring cover C is not a tree, meanwhile the generalized-ring-contact node graph is a tree. Let u be a node in 7'1, and assume that u has i children, u1,u2,. . . ,ui. Our algorithm traverses the generalized-ring-contact node tree twice: The first traversal of the tree T'1 is in postorder fashion. It consists of computing the radius of the circles corresponding to the rings in the ring cover first. Second, computing the radius of the circles corresponding to the ring-cycles. When all the radius of the circles corresponding to all the children (rings or ring-cycles) of a node u in 21' are computed, the radius of the circle corresponding to the parent node u is computed recursively. The second traversal of the tree is in preorder fashion. It consists of placing the parent node and its children in the right position. In the next section we will present techniques to calculate the radius of the circles corresponding to the rings and the ring-cycles. 2.1.1 Case 1: Father of the ring u is a contact node in T I : The node u may or may not be a leaf in T I . First Case: The node u is a leaf in 2'1. The radius of the circle T corresponding to the ring u is computed, such that nodes are distributed uniformly on the perimeter of the circle and are distant by resolution. The radius of the circle of u is determined using the following procedure:
r
Radius = (resoZution/(2 x sin(r/n))).
r
(1)
where n is the number of nodes in the ring u. Second Case: The node u is not a leaf in T I . We assume that the ring node u has i children u1,u 2 , . . . ,ui in TI. These children could be either rings or ring-cycles. After computing the radius of the circles Tj corresponding to the children u j , for j = 1,. . . ,i, we compute the radius of the circle T corresponding to the parent ring node u as described in the following fashion:
70
A.E. Barouni , A. Jaoua, and N. Zaguia
Fig. 2. (a) Placing the circles I '' on the perimeter of the circle I' ', such that all the circles and the nodes are distant by resolution; (b) Drawing of the circle r that encloses the circle ' and the circles I ' j .
r
First, we compute the radius of a circle I',' by placing each center of the circle u j , and each node of u as follow: We start by placing the center of the first circle or node on the perimeter of the circle I' ;then we place the second circle or node following the clockwise order, on the perimeter of the circle I' ,' such that it is distant from the first circle or node by resolution (see figure 2(a)), then we place the following circles or nodes on the perimeter of the circle I' ', such that they are distant from the last node or circle by resolution. In the first process of the calculation of the radius of the circle I' ,' we can not ensure that there is no crossing between the circles placed on the perimeter of the circle I' The crossing may occurs when the circle I'1 and the circle ' I have both a maximal radius. In this case, we will not be able to pull further and T2 since they already touch the perimeter of the circle T.That's why we are going to introduce a verification procedure in order to cope with this problem. Procedure Verification The idea is to apply the process of zoom out on all the circles already placed on the perimeter of the circle T :Let S1 be the set of all the circles placed on the perimeter of the circle I' ,' and let S2 be the set of values representing the radius of the circle :For each circle'-I in S1, we check if the circle ' I is not distant from all the other circles I'k ( k f j ) by at least resolution. If it is the case, we move 'I towards the perimeter of the circle I' 'following the vector (center(r*), center(I'')) and we move I'k towards the perimeter of the circle rfollowing the vector (center(I' 7 , center(Tk)), such that the circle 'I and the circle I'k are distant by a resolution. Next we add the new radius of the circle T i n 5'2, at the same time we remove ' I from S1, and we repeat this process for the remaining
' I corresponding to
r
Planar Drawing Algorithms of Survivable Telecommunication Networks
71
A Fig. 3. Transformation of T , as in step 5 of the algorithm InsideDruw.
elements in 5'1. Finally, we pick up the maximum value among the elements in S2 which will represent the final radius of the circle T Then, we pull each node and each circle rj towards the perimeter of the circle T 'following the vector (center(T3, center(I'')). By doing so we guarantee that there will be no crossings between all the circles placed on the perimeter of the circle T 'and that they are distant by at least resolution. (for more details see [l]).
2.1.2 Case 2: Node u is ring-cycle in T I : Due to the closure of the rings on themselves in the ring-cycle, it is very difficult to draw these rings connected to each other, such that we respect the resolution rule, and we guarantee that there are no crossings in their drawing. Our idea is to suppose that all these rings are detached, and that in the final drawing, for each two adjacent rings, we duplicate their contact node and we join them by a special arc which does not represent a real physical link. We modify the color and the width of these special arcs to emphasis that they are different from physical links in the network. We compute the radius of a circle T corresponding to the ring-cycle u which will contains all the children of u in T I ,then we place the circle T inside its parent node in 1'2 which is usually a ring. The radius of the circle T corresponding to the node u is computed as described in section 2.1.1-second case. In the case where three rings share the same contact node or the same multicontact node, the rings are placed one inside the other. The transformation of the generalized-ring contact node tree, consists of drawing a circle that corresponds to a subtree, inside the circle which corresponds to another subtree, so that they share the common contact point (see figure 3). 2.2
Algorithm
The following algorithm traverses the tree TI in postorder fashion. After computing the radius of all the circles corresponding to the children of ui whether they are either rings sharing only one contact node with other rings, or rings sharing more than one contact node, or ring-cycles. The algorithm computes the radius of the circle that corresponds to the parent node u.
72
A.E. Barouni , A. Jaoua, and N. Zaguia
Algorithm InsDraw(w); Input : Ring cover C, and its generalized-ring-contact node tree TI with root w. Output : Radius of the circles corresponding to the rings and the ring-cycles in C. Begin 1. If (w is a node representing a ring) and (w is a leaf) and (father(w) is a contact node) then (a) Compute the radius of w as described in section 2.1.1-first case; 2. If (( w is a node representing a ring ) and (( father(w) is a contact node ) or ( father(w) is a multi-contact node ))) or (w is a root) then (a) For all the children ui of w do InsDraw(ui); (b) Compute the radius of w as described in section 2.1.1- second case; 3. If (w is a ring-cycle) then (a) For all the children ui of w do InsDraw(ui); (b) Compute the radius of w as described in section 2.1.2; 4. If (w is a node representing a contact node and w has only one child uJ or (w is a node representing a multi-contact node and w has only one child u’) then (a) InsDraw(u’); 5. If (w is a node representing a contact node and w has more than one child) or (w is a node representing a multi-contact node and w has more than one child) then (a) Perform a transformation to the tree TI as shown in figure 3; (b) InsDruw(7’1);
End. Analysis of the complexity We use adjacency list to represent the ring cover, as consequence, we give the following analysis of complexity. Let U be the set of nodes that represent the rings or the ring-cycles in the tree TI. For each node ui of U , our algorithm needs at most ni + m: operations to compute the radius of the circle corresponding to ui, ni represents the number of nodes in ui (if ui is a ring), mi is the number of the rings and the ring-cycles corresponding to the children of ui. For each circle corresponding to a ring or a ring-cycle placed on the perimeter of the circle F’of ui, we perform a verification process in order to check if it is far enough by resolution from all the other circles placed on the perimeter of the circle T ’ (see section 2.1.1 second case). So, we need m: verifications. The InsDruw algorithm computes first, the children, of ui then the parent node itself. We repeat the same process recursively with the parent of ui, so that, at the end, the algorithm processes n times, where n is the number of nodes in the ring cover, and processes rn? +rnz +.. .+mT times, where mj(for j = 1 , 2 , . . . , i) is the number of the children of u j , that correspond to the rings and the ring-cycles in 2’1. It follows that, the time complexity is O ( n + m 2 ) ,
Planar Drawing Algorithms of Survivable Telecommunication Networks
73
arc L
resolution e,: Fig. 4. Placing the circle'-I and nodes on the perimeter of the circle I' .'
where n is the number of nodes in the ring cover and m is the number of the rings in the ring cover. Using the above procedure, we conclude the following theorem :
Theorem 1. Given a ring cover C and its generalized-ring-contact node tree TI, the inside drawing algorithm InsDraw produces a ring cover drawing such that : 1. There are no crossings; 2. T h e area required by the drawing is O(n2),where n is the number in C ;
0.f
nodes
Proof 1. Let u be a node in TI, we assume that u has i children u1, . . . , ui,which are leaves in TI. We note that there are no crossings in the drawing between the circle I-' corresponding to the node u and the other circles '-I corresponding to nodes uj , for j = 1 , 2 , . . . ,i, as described in sections 2.1.1, 2.1.2. Since we use the same process recursively for the drawing of the parent of the node u, there will be no crossings. 2. Let u be a node in T I ,we assume that u has i children u1, . . . , ui,and '-I represents a circle corresponding to each node u j , for j = 1 , 2 , .. . ,i. We consider first, that uj are leaves in T I ,it follows that the order of the radius of these circles '-I is O ( n j ) ,where nj is the number of nodes in each ring u j . The node u can be a ring or a ring-cycle, in both cases we use the basic drawing technique, that consists of placing each center of the circle '-I and nodes of u (if u is a ring) on the perimeter of the circle I-' ' (see figure 4). We assume first that u is a ring . The perimeter of the circle I-' 'respects the following inequality:
74
A.E. Barouni , A. Jaoua, and N. Zaguia
+ +
+
27r x radius(r) 5 27r x radius(I"1) ... 27r x radius(Tj)+ ( n i) x L. ( 2 ) where: i is the number of the circles I"j, for j = 1,2, ...,i. n is the number of nodes in the ring u, and L is the longest arc between two adjacent circles in I' ' (in figure 4, this arc could be L1 or L z) , or between a circle or a node (arc L3, in figure 4),or between two nodes.
L
= maz(Lh),where h = 1,..., ( n
+ i).
(3)
Thus
27rxradius(r") 5 27rxradius(I'1)+.. . + 2 7 r x r a d i u s ( r j ) + ( n + i ) x L . (4)
27r x radius(r) 5 27r(klnl
+ . . . + kini) + (n + i) x L.
(5)
where k l , . . . , ki are constant, and n1,. . . , ni is the number of nodes in each ring u j , for j = 1, ..., i. The distance L is a constant that depends on the resolution (defined by the user), it follows that:
where K is a constant which is bigger than We conclude that:
kj
for j = 1,..., i, and L.
radius(r) 5 K ( N + i).
(7)
where N is the number of nodes in the ring u plus the number of nodes in its children u1,. . . ,ui. We know that i (number of the circles r j ) is less than N which is equal to the number of nodes in the subtree of u.We deduce that:
rudius(r) 5 2
K2
N 5 K3 N , where
r
K2, K3
are constant.
(8)
The order of the radius of the circle 'is O ( N ) ,where N is the number of nodes in the ring u and in its subtree. The radius of the circle T corresponding to the node u is equal to the radius of the circle I' 'plus the maximum radius of the circles I"', this means that the circle F has a radius O ( N ) .It fololws that, the drawing of the ring cover C has an area of order O ( N 2 ) .
Planar Drawing Algorithms of Survivable Telecommunication Networks
,,@
75
-.
.
C24
CU /
m3
C X
Fig. 5. Snapshot of the system's screen. The ring cover contains ring-cycles and rings that share more than one contact node with other rings.
3
Outside Drawing
We present in this section the outside drawing technique which consists of drawing each ring outside the other rings. Given a ring cover C and its generalizedring-contact node tree TI (presented in section 2.1), our algorithm draws rings outside each other, such that the resolution rule is respected, no crossings are generated, and a picture of the ring cover is produced in an optimal area. Our algorithm traverses the generalized-ring-contact node tree twice: The first traversal of the tree TI is in postorder fashion. It consists of computing the radius of the circles corresponding to the rings and the ring-cycles in the ring cover. The second traversal of the tree TI is in preorder fashion. It consists of placing the parent node and its children in the right position. In the next section we will present different techniques related to different cases for computing the radius of the circles corresponding to the rings and the ring-cycles. 3.1
Case 1: Father of the ring u is a contact node in TI
Let u be a ring node in TI and its children: u1,up, . . . , ui.The radius of the circle corresponding to the node u is computed as described in the following fashion: First we compute the radius of a circle T ,' such that all the nodes of the ring u and the center of the enclosing cycles I" corresponding to u j , are placed evenly on the perimeter of the circle T The distance between the nodes and the
r
76
A.E. Barouni , A. Jaoua, and N. Zaguia
The parent contact
Enclosing cycle I
Enclosing cycle
Fig. 6. (a) Placing the enclosing cycles I ' j of each subtree on the perimeter of the circle I' 1 (b) The parent contact node P, of u has enough space to be placed on the top half of the circle r;(c) Each enclosing cycle 'I is pulled downward until it touches the perimeter.
enclosing cycles is equal to the minimum distance required by the resolution rule. We use the same process for computing the radius of the circle r 'as described in the section 2.1.1 (second case). In order to get the radius of the circle that corresponds to the node u in T I ,it is enough to multiply the radius of the circle r ' by two. This will allows us to place the parent contact node P, of u on the top half of the circle r, see figure 6 (b). If more than two rings share the same contact node, we assume that these rings have distinguished contact nodes, and that in the final drawing, we join them by a special arc with different color and width, in order, for the user, to understand that this special arc connects two nodes which represent the same contact node.
r
3.2
Case 2: Node u is a ring-cycle in
TI
Since we use circles to represent the rings of the ring-cycles, it is too difficult to draw these circles connected to each other, such that we guarantee that there are no crossings in their drawing and that we respect the resolution rule. Our idea is to suppose that all these rings are detached, and in the final drawing, for each two adjacent rings that share the common contact node, we duplicate
Planar Drawing Algorithms of Survivable Telecommunication Networks
77
this contact node into two nodes, and we join them using an arc with a different color and a different width, in order to distinguish this arc from all the other physical links. The same process of drawing, described in section 3.1, is used to compute the radius of the circle corresponding to the ring-cycle. The only difference is that, in the final drawing we join the two nodes (that represent one contact node) between the two adjacent rings in the ring-cycle using a special arc with different color and width. 3.3
Algorithm
The algorithm traverses the tree TI in postorder fashion. After computing the radius of the circles and the enclosing cycles corresponding to the rings and the ring-cycles recursively, the algorithm computes the radius of the circle and the radius of the enclosing cycle corresponding to the parent node. Algorithm OutsDraw (v); Input : Ring cover C, and its generalized-ring-contact node tree TI with root v. Output : Radius of the circles corresponding to the rings and the ring-cycles in C. Begin 1. If (v is a node representing a ring) and (v is a leaf) and (father(v) is a contact node) then (a) Compute the radius of v as described in section 2.1.1-first case; 2. If ((v is a node representing a ring) and ((father(v) is a contact node) or (father(v) is a multi-contact node))) or (v is a root) then (a) For all the children ui of v do OutsDraw(ui); (b) Compute the radius of v as described in section 3.1; 3. If (v is a ring-cycle) then (a) For all the children ui of v do OutsDraw(ui); (b) Compute the radius of v as described in section 3.2; 4. If (v is a node representing a contact node) then (a) For all the children ui of v do OutsDraw(ui); 5. If (v is a node representing a multi-contact node (v will have only one child u?)then (a) OutsDraw(u];
End. The time complexity of OutsDraw is O ( n + m 2 ) ,where n is the number of nodes in the ring cover and m is the number of the rings in the ring cover. We use the same analysis of complexity described for the InDraw algorithm (see section 2.2). Using the above procedure, we conclude the following theorem :
78
A.E. Barouni , A. Jaoua, and N. Zaguia
Theorem 2. Given a ring cover C and its generalized-ring-contact node tree
TI, the outside drawing algorithm OutsDraw produces a ring cover drawing such that: There are no crossings; T h e area required b y the drawing is O ( ( n- m ) 2 ) ,where n is the number of nodes in C , and m is the number 0.f the rings plus the number of the ring-c ycles;
Proof Let u be a ring or a ring-cycle node in 2'1, we assume that u has i children ul, . . . ,ui which are leaves in T I .We place all the children of u on the bottom half of the circle corresponding to u, and the parent of u is placed on the top half of the circle T.By doing so we avoid intersections between the children of u and the ancestors of u. Also, we place the node u with its subtree, in an enclosing cycle, such that it does not intersect the rings of the other subtrees in TI. We repeat recursively the same process of drawing with the parent node of u, so that, in the final drawing there will be no crossings. Let u be a node in 2'1, and let u has i children u1,u2,. . . ,ui. We assume first, that the children ui are leaves in TI. The circles corresponding to ui can represent either rings that share one contact node or rings that share more than one contact node. If the child node ui of u represents a ring that shares exactly one node with other rings (as described in section 3.1), we do not include the parent contact node in the calculation of the radius of the circle of ui. The reason is that the parent contact node P, of u has enough area to be placed in the top half of the circle Ti corresponding to ui. It follows that the circle ri has a radius O(ni - l),where n; is the number of node in the ring ui. If the child node ui of u represents a ring that shares more than one contact node with other rings, the radius of the circle Ti corresponding to the node ui has still a radius O(ni - l),where ni is the number of nodes in ui. In general the area of the circle Ti corresponding to the ring ui can be better than O((ni- 1)2). fiom the previous analysis, we conclude that all leaves in the tree 1'2 have an area of O((ni- l)'), where ni is the number of nodes in each ring ui. We build our drawing from the bottom-up in TI, and we repeat the same drawing recursively for the parent node u which could be either a ring or a ring-cycle, we assume first, that u is a ring and u is not the root of T I ,the radius of the circle corresponding to u,is O ( ( n- m ) 2 )where , n is the number of nodes in u and its subtree, m is the number of the rings in the subtree of u including u itself. This is due to the fact that we use the technique which consists of placing the center of the circles Ti corresponding to the children of u and nodes of u, on the perimeter of the circle T ' (described in the proof of theorem 1). If u is a ring-cycle and u is not the root of T I ,the radius of the circle T corresponding to u is O ( ( n- m ) 2 )where , n is the number of nodes in the subtree of u and m is the number of the rings in the subtree of u including u itself. If u is a root
r
r
r
Planar Drawing Algorithms of Survivable Telecommunication Networks
79
Fig. 7. Snapshot of the system’s screen. The ring cover contains ring-cycles and rings that share more than one contact node with other rings.
in TI,the enclosing cycle of u will have an area of O ( ( n- m ) 2 )where , n is the number of nodes in the ring cover and m is the number of the rings and the ring-cycles in the ring cover.
4
Conclusion and Open Problems
In this paper, we presented two techniques for drawing a ring cover of survivable telecommunication networks: the inside drawing and the outside drawing. Our contribution to this subject was to expand the drawing of the ring cover to more complicated structures of survivable telecommunication networks. In fact, we treat the case where the rings share more than one contact node. Then we have considered the case where the ring cover contains ring-cycles. Our proposed drawing algorithms produce drawings that require O(n2) area, where n is the number of nodes in the ring cover. Besides our theoretical research, we have done an experimental work which consist of implementing the previously designed algorithm. We used the object-oriented language called ” Borland Delphi”. There are still some issues which have not been addressed yet and that we consider them as being open problems, two of them are described here: 1. Ring cover drawing when the intersection of two ring-cycles consists of more
than one ring. 2. Ring cover drawing when the generalized-ring-contact node graph is not a tree.
80
A.E. Barouni , A. Jaoua, and N. Zaguia
References 1. Ala Eddine. Barouni. Drawing Algorithm for survivable telecommunication networks . Master theses, University of Ottawa Canada, April 1997. 2. E. Nardelli C. Batini and R. Tamassia. A layout algorithm for data flow diagrams. In IEEE Trans Software Eng, volume 12, 1986. 3. M. Talamo C. Batini and R. Tamassia. Computer Aided Layout of EntityRelationships Diagrams . Systems and Software, 4(70), 1984. 4. R. Tamassia G. Di Battista, E. Pietrosanti and I.G. Tollis. Automatic layout of pert diagrams with xpert. In Proc. IEEE Workshop on Visual Languages (VL'89), 1989. 5 . R. Tamassia G. Di Battista, P. Eades and I.G. Tollis. Algorithms for Automatic Graph Drawing: An Annotated Bibliography . Technical report, Department of computer Science, Brown University, 1993. 6. Y. Nishimwa H. Sakauchi and S. Hasegawa. A self-healing network with an economical spare-channel assignment. In Proceedings of IEEE GLOBECOM, 1990. 7. J. Shah I.H. Sudborough I.G. Tollis L.M. Gardner, M. Heydari and C. Xia. Techniques for finding ring covers in survivable networks. In Proceedings of IEEE GLOBECOM, 1994. 8. J.C. Shah. Restoration network planning tool. In Proc. 8th Annual Fiber Optic Engineers Conf, volume 21, April 1992. 9. D.J. Collar T.H. Wu and R.H. Cardwell. Survivable Network Architectures for Broad-band Fiber Optic Networks: Model and Performance Comparison . IEEE journal of Lightwave. Technology, pages 109-124, 1988. 10. Ioannis G. Tollis and Chunliang Xia. Graph drawing algorithms for the design and analysis of telecommunication networks. In Graph Drawing '93, Proceedings of the ALCOM International workshop on graph drawing Swes fiance, 1993. 11. Ioannis G. Tollis and Chunliang Xia. Drawing telecommunication networks. In DIMACS International Workshop, Graph Drawing '94. Princeton, New Jersey, USA. Proceedings, October 1994. 12. J.H. Sandham W.D. Grover, B.D. Venables and A.F. Milne. Performance studies of a self-healing network protocol in telecom Canada long haul networks. In Proceedings of IEEE GLOBECOM, 1990. 13. Tsong-Ho Wu and R.C. Lau. A class of self-healing ring architectures for sonet network application. In IEEE Trans. on Communication, volume 40, November 1992.
Polygon Polygon Cutting: Cutting: Revisited Revisited Prosenjit Bose13 Jurek C z y z o ~ i c zEvangelos ~~ Kranakis13 Danny Krizanc13 Prosenjit Bosel Jurek C z y z o ~ i c zEvangelos ~~ Kranakis13 Danny Krizanc13 Anil Maheshwari13 Anil Maheshwari13
' Carleton University, School of Computer Science, Ottawa, ON, K1S 5B6, Canada. Carleton University, School of Computer Science, Ottawa, ON, K1S 5B6,Canada.
Dept. Informatique, Univ. du Qubbec B Hull, Hull, Qubbec J8X 3 x 7 , Canada. Dept. Informatique, Univ. du QuCbec B Hull, Hull, QuCbec J8X 3 x 7 , Canada. Research supported in part by NSERC (Natural Sciences and Engineering Research Research supported in part by NSERC (Natural Sciences and Engineering Research Council of Canada.
Council of Canada.
Abstract. Given a simple polygon P on n vertices vo,v1, . . . , vn-l with P on nwi, vertices vo,v1, . . .t o,vn-l with Abstract. Given aasimple polygonweight we show how compute each edge assigned non-negative each edge assigned a non-negative weight wi, we show how to compute in O(n) time a segment vib (where b is a point on the boundary) that in O ( n ) time a segment vjb (where b is a weight point on the boundary) that partitions P into two polygons each having at most 2/3 the weight partitions P into two polygons each having weight at most 2/3 the weight of P . If instead of edge weights, we consider an infinitely additive measure of P . If instead of edge weights, we consider an infinitely additive measure of the interior (such as the area of P ) , there still exists a segment vib of the interior (such twothe area ofeach P ) , having there still existsatamost segment vib that partitions P into as polygons measure 2/3 the that partitions P into two polygons each having measure at most 2/3 the measure of P . In the case where P contains k points in its interior with measure of P . In the case where P contains k points in its interior with each point assigned a non-negative weight, then in O(n k log n) time a each point assigned a non-negative weight, then in O ( n k log n) time a segment vib can be computed that partitions P into two polygons having segment vib can be computed that partitions P into two polygons having weight at most 2/3 the weight of P . In the case of rectilinear polygons, weight at most 2/3 the weight of P . In the case of rectilinear polygons, rectilinear cuts having the above properties exist, however, the fraction rectilinear cuts having the above properties exist, however, the fraction is 3/4 instead of 2/3. We present examples showing that these bounds is 3/4 instead of 2/3. We present examples showing that these bounds are tight in the worst case. are tight in the worst case. We show that in O(n) time using O(1og n) cuts, a simple polygon can be We show that in O ( n ) time using O(1ogn) cuts, a simple polygon can partitioned into two groups GI and G2 of pieces, such that the ratio of be partitioned into two groups G1 and G2 of pieces, such that the ratio the area of GI t o the area of G2 is a : b for any a , b > 0, GI can be made of the area of G1 to the area of G2 is x : y for any x,y > 0, G1 can be a single piece, and all but possibly one of the cuts are diagonals of the made a single piece, and all but possibly one of the cuts are diagonals of polygon. the polygon. Finally, Finally, we we present present an an O(n) O ( n )time time algorithm algorithm for for finding finding the the shortest shortest chord chord in a convex polygon P that cuts off a times the area of P . in a convex polygon P that cuts off Q! times the area of P .
++
11
Introduction Introduction
Inspired Inspired by by Chazelle's Chazelle’s technique technique on on polygon polygon cutting cutting [Cha82], [Cha82], we we explore explore several several variants of his result. The original theorem states the following: Let variants of his result. The original theorem states the following: Let P P be be simple simple polygon I}, and vertices with with each each vertex vertex assigned assigned aa weight weight EE (0, {0,1), and let let W W ,, polygon on on nn vertices the weight of P , be the added weight of all the vertices. It is possible t o find the weight of P , be the added weight of all the vertices. It is possible to find in in O ( n ) time O(n) time aa diagonal diagonal ab ab of of P P that that partitions partitions itit into into two two polygons, polygons, each each with with aa weight weight not not exceeding exceeding 2W/3. 2W/3. Chazelle's Chazelle’scutting cutting theorem theorem deals deals mainly mainly with with finding finding aa diagonal that partitions the vertices in an equitable manner. De Berg diagonal that partitions the vertices in an equitable manner. De Berg [dB911 [dB911 showed showed that that Chazelle's Chazelle’s cutting cutting technique technique can can be be modified modified in in the the rectilinear rectilinear case' case1
' AA rectilinear rectilinear polygon polygon isis aa polygon polygon whose whose edges edges are are axis-parallel. axis-parallel. Rectilinear Rectilinear polypolygons gons have have also also been been called called orthogonal orthogonal polygons, polygons, isothetic isothetic polygons polygons and and rectanguloid rectanguloid polygons polygons in in the the literature. literature. J. Akiyama, M. Kano, and M. Urabe (Eds.): JCDCG’98, LNCS 1763, pp. 81−92, 2000. Springer-Verlag Berlin Heidelberg 2000
82
P. Bose et al.
with the the fraction fraction being being 3/4 3/4 rather rather than than 2/3. 2/3. Our Our approach approach has has been been tto explore with o explore variants t o these polygon cutting theorems by shifting the weight onto different variants t o these polygon cutting theorems by shifting the weight onto different parts of of the the polygon polygon such such as asthe theboundary boundary or orthe the interior. interior. parts The present paper is concerned with providing efficient algorithmsfor forcutting cutting The present paper is concerned with providing efficient algorithms two or three dimensional discrete domains with straight line or planar cuts. By two or three dimensional discrete domains with straight line or planar cuts. By or terrains in three didiscrete domain, we mean simple polygons in the plane, discrete domain, we mean simple polygons in the plane, or terrains in three dimensional space. The goal is to obtain corresponding pieces whose area, volume, mensional space. The goal is t o obtain corresponding pieces whose area, volume, of perimeter, perimeter, etc., etc., attain attain aadesired desired ratio. ratio. length of length Our approach is to take into account efficiency parameters parameters like like the the length length Our approach is t o take into account efficiency of cuts or the number of cuts. We provide algorithms that achieve the required of cuts or the number of cuts. We provide algorithms that achieve the required cuts and and whose whose running running time time isis expressed expressed in in terms terms of of the the number number of of vertices vertices ofof cuts the discrete domain. Cutting problems find applications in many different areas the discrete domain. Cutting problems find applications in many different areas such as computer-aided manufacturing and design, image processing, pattern such as computer-aided manufacturing and design, image processing, pattern recognition or orVLSI VLSIdesign design (see (see[KS85] [KS85] foraasurvey surveyof ofpolygon polygoncuttings cuttings and andtheir their recognition for applications). Related problems with applications to cloth manufacturing have applications). Related problems with applications t o cloth manufacturing have been considered by Milenkovic et al. [LM93,MDL92]. The problem of bisecting been considered by Milenkovic et al. [LM93,MDL92]. The problem of bisecting the area area of of aapolygon polygon in in relation relation tto the Ham-sandwich Ham-sandwich problem problem was was studied studied by by the o the Diaz and O’Rourke [DO91], StojmenoviC [St0911 and Shermer [She92]. Diaz and O’Rourke [D091], StojmenoviC [St0911 and Shermer [She92]. rectilinear polygon polygon We also alsostudy studythese these problems problems in inthe the rectilinear rectilinear setting. setting. AA rectilinear We is one whose edges are all aligned with a pair of orthogonal coordinate axes, is one whose edges are all aligned with a pair of orthogonal coordinate axes, which we take to be horizontal and vertical without loss of generality. Rectilinear which we take t o be horizontal and vertical without loss of generality. Rectilinear polygons are are commonly commonly used used as as approximations approximations tto arbitrary simple simple polygons; polygons; polygons o arbitrary and they arise naturally in domains dominated by Cartesian coordinates, such and they arise naturally in domains dominated by Cartesian coordinates, such as raster graphics, VLSI design, robotic, or architecture. A rectilinear polygon as raster graphics, VLSI design, robotic, or architecture. A rectilinear polygon called trapexoided trapezoidedifif both both its itsvertical vertical and and horizontal horizontal visibility visibility maps maps are are given. given. isis called de Berg [dB911 presented the rectilinear version of Chazelle’s polygon cutting de Berg [dB911 presented the rectilinear version of Chazelle’s polygon cutting theorem, which led to several divide-and-conquer algorithms inside a rectilinear theorem, which led t o several divide-and-conquer algorithms inside a rectilinear polygon, such as rectilinear link query, rectilinear link diameter and rectilinear polygon, such as rectilinear link query, rectilinear link diameter and rectilinear link center [dB91]. An outline of the paper is as follows. In section 2, we consider link center [dB91]. An outline of the paper is as follows. In section 2, we consider algorithms for cutting the boundary of a simple polygon. In section 3, we consider algorithms for cutting the boundary of a simple polygon. In section 3, we consider cutting the interior of the polygon. In section 4, we address the rectilinear version cutting the interior of the polygon. In section 4, we address the rectilinear version of these cutting problems. In section 5, the problem of cutting a simple polygon of these cutting problems. In section 5, the problem of cutting a simple polygon into two parts of a given ratio is considered. Finally, in section 6 , we address the into two parts of a given ratio is considered. Finally, in section 6, we address the problem of finding the shortest chord in a convex polygon that cuts off a given problem of finding the shortest chord in a convex polygon that cuts off a given area. area.
2 Cutting the boundary of a simple polygon 2 Cutting the boundary of a simple polygon Let P be simple polygon with vertices vo,. . . ,v,-1 in clockwise order. All index Let P be simple polygon with vertices UO, . . . ,un-1 in clockwise order. All index manipulation is modulo n. In this section, we prove the following theorem: manipulation is modulo n. In this section, we prove the following theorem: Theorem 1. Let P be a simple polygon with n vertices V O ,. . . ,vn-l each edge Theorem 1. Let P be a simple polygon with n vertices U O , . . . ,un-1 each edge assigned a non-negative weight wi. Let W ( P ) denote the s u m of the weights on assigned a non-negative weight wi.L e t W ( P ) denote the s u m of the weights o n Rectilinear polygons have also been called orthogonal polygons, isothetic polygons Rectilinear polygons have in also called orthogonal polygons, isothetic polygons and rectanguloid polygons thebeen literature. and rectanguloid polygons in the literature.
Polygon Cutting: Revisited
83
the edges. edges. There There exists exists aa vertex vertex uvi and aa point point bb oonn the the boundary boundary ofof PP such such the i and vib partitions P into two polygons P I , P 2 satisfying: W(P1) that the segment that the segment uib partitions P into t w o polygons P I , P2 satisfying: W(P1)55 W(P2)55 22W W((PP))//33..TThe segment uib vib isis called called aa valid valid segment. segment. W(P2) h e segment The weights weights of of the the edges edgesin in PI PI and and PP22 are arethe the same sameas asin in PP except except ifif an anedge edge The of P is partitioned by the segment vib. In this case, the weight is distributed of P is partitioned by the segment uib. In this case, the weight is distributed according tto the ratio ratio of of the the split. split. according o the 1, we need need the the following followinglemma. lemma. An An ear ear of of aatriantrianBefore proving Theorem Before proving Theorem 1, we gulated polygon P is a triangle where at least two of the edges of the triangle gulated polygon P is a triangle where at least two of the edges of the triangle are boundary boundary edges. edges. ItIt isis well well known known (see (see in in [0’R94]) [O’R94])that that every every triangulated triangulated are polygon on more than 3 vertices has at least two ears. polygon on more than 3 vertices has at least two ears. Lemma 1. 1. Given Given aa triangulated triangulated polygon polygon PP,, one one ofof the the following following holds: holds: ((1) Lemma I)
There is is aa diagonal diagonal that thatpartitions partitions PP into into two twopolygons polygonsPPII,,PP22 such such that thatW W(P1) There ( P I )55 W(P2) 5 2 W ( P ) / 3 , (2) there is an ear whose weight is greater than W W(P2)5 2 W ( P ) / 3 , (2) there is a n ear whose weight i s greater t h a n W ((PP))//33,, (3) there there iiss aann edge edge whose whose weight weight isis greater greater tthan W((PP))//33.. (3) han W Proof. IfIf P P isis aa triangle, triangle, then then the the lemma lemma follows follows trivially. trivially. Consider Consider the the case case Proof. where P has more than three vertices. where P has more than three vertices. A diagonal diagonal that that partitions partitions aa polygon polygon PP into into two two polygons polygons PPII,,PP22 such such that that A W(P1) 5 W(P2) 5 2 W ( P ) / 3 is called a valid diagonal. An edge whose weight W(P1)5 W(P2) 5 2 W ( P ) / 3is called a valid diagonal. An edge whose weight is greater than W ( P ) / 3is called a heavy edge. An ear whose weight is greater is greater than W ( P ) / 3is called a heavy edge. An ear whose weight is greater than W ( P ) / 3is called a heavy ear. than W ( P ) / 3is called a heavy ear. Assign a zero weight to each diagonal in the triangulation of P. Let vivj be Assign a zero weight t o each diagonal in the triangulation of P. Let uiuj be an arbitrary diagonal of P . If it is valid, then the lemma follows. Suppose vivj an arbitrary diagonal of P. If it is valid, then the lemma follows. Suppose viuj is not valid. This means that either W(P1)or W(P2)is greater than 2W(P)/3. is not valid. This means that either W(P1)or W(P2)is greater than 2W(P)/3. Let PI be the polygon vi,vi+l, . . . ,vj, vi, and suppose, without loss of generality, Let PI be the polygon ui,ui+l, . . . ,u j , ui,and suppose, without loss of generality, that W(P1) > 2W(P)/3.Let vk be the vertex in PI adjacent to vi and vj in that W(P1) > 2W(P)/3.Let UI, be the vertex in PI adjacent t o ui and u j in the triangulation of P. If one of the following conditions hold then the lemma the triangulation of P. If one of the following conditions hold then the lemma follows. follows. Condition 1: Either vivk or Vjvk is valid. Condition I : Either uiuk or ujuk is valid. Condition 2: Either vivk or Vjvk is a heavy edge. Condition uiuk or ujuk is a heavy edge. Condition 2:3: Either The triangle vivjvk is a heavy ear. Condition 3: The triangle uiujuk is a heavy ear. If none of the three conditions hold, then either vavk or Vjvk or both are If nonediagonals. of the three conditions hold, then either uiuk or ujuk or both are non-valid If Vivk (resp. vjvk) is a diagonal, it partitions P into two non-valid diagonals. If uiuk (resp. is anot diagonal, it partitions P into two Pj) be the ujuk) polygon containing triangle vivjvk. polygons. Let Pi (resp. polygons. Let Pi (resp. Pj) be the polygon not containing triangle uiujuk. Assume, without loss of generality, that ?&?& is a non-valid diagonal. Now, loss that Ifuiuk a non-valid diagonal. Now, VjvkAssume, is eitherwithout an edge of of P generality, or a diagonal. it isisan edge, it cannot be heavy ujuk is either an edge of P or a diagonal. If it is an edge, it cannot be heavy which means that the weight W ( P i )is greater than W ( P ) / 3 .If it is a diagonal, which that theit’s weight W(P i )isnow greater ( P ) / 3W.If( it a diagonal, let W (means P j ) represent weight. We showthan thatWweight P iis)or W ( P j )is let W ( P j ) represent it’s weight. We now show that weight W ( P i ) or W ( P j )is greater than 2W(P)/3. greater than 2W(P)/3. Since W(P1) is greater than 2W(P),/3and the weight of vivj is zero, the Since W(P1) than 2 WThis (P)/3 and thethat weight of W uiuj zero, sum W ( P i ) Wis ( Pgreater j ) > 2W(P)/3. implies either ( P is i ) or W (the Pj) sum W ( P i ) + W ( P j ) > 2W(P)/3. This implies that either W ( P i ) or W j) has weight greater than W ( P ) / 3 .Suppose, without loss of generality, W ( P i()P has has weight greater / 3 .Suppose, without generality, W((PPi i)must )has weight greater thanthan W(W P )(/P3 ).Since vivk is not valid,loss thisofmeans that W weight ( P ) / 3 .Since uiuk is not valid, thisvertices means that i )mustP also begreater greaterthan thanW2W(P)/3. Note that Pi has fewer thanWP(IP. Since also greater than 2W(P)/3. that Pi has vertices PI. Since P has abefinite number of vertices,Note by repeating thisfewer argument wethan eventually must has a finite number of vertices, by repeating this argument we eventually must
+
84
P. Bose et al.
terminate with abeing triangle. a triangle is Our an ear of P , therefore, lemma with the fraction 3/4 But rather than 2/3. approach has been the t o explore follows. t o these polygon cutting theorems by shifting the weight onto different variants parts of the polygon such as the boundary or the interior. We are now paper in a position to prove The present is concerned withTheorem providing1.efficient algorithms for cutting two or three dimensional discrete domains with straight line or planar cuts. By Proof of Theorem 1: By Lemma 1, if in P the has plane, a validordiagonal, it also discrete domain, we mean simple polygons terrains then in three dihas a valid segment. If P has a heavy ear, then the ear can be partitioned by mensional space. The goal is t o obtain corresponding pieces whose area, volume, a segment such that the segment is valid. Finally, if P has a heavy edge, the length of perimeter, etc., attain a desired ratio. edge canapproach be partitioned by ainto segment suchefficiency that the parameters segment is valid. Since one Our is t o take account like the length of these three conditions must exist, by Lemma 1, the theorem follows. 0 of cuts or the number of cuts. We provide algorithms that achieve the required Given a triangulated polygon, a valid segment can be computed in linear cuts and whose running time is expressed in terms of the number of vertices of time. the discrete domain. Cutting problems find applications in many different areas such as computer-aided manufacturing and design, image processing, pattern Corollary or 1.VLSI Let Pdesign be a simple polygon n vertices vo, .cuttings . . ,vn-1 and andtheir each recognition (see [KS85] for awith survey of polygon edge assigned a non-negative weight w i . A valid segment of P can be computed applications). Related problems with applications t o cloth manufacturing have in O (considered n ) time. by Milenkovic et al. [LM93,MDL92]. The problem of bisecting been the area of a polygon in relation t o the Ham-sandwich problem was studied by assigning a weight equal to the length of and an edge, we have the following DiazBy and O’Rourke [D091], StojmenoviC [St0911 Shermer [She92]. corollary. We also study these problems in the rectilinear setting. A rectilinear polygon is one whose edges are all aligned with a pair of orthogonal coordinate axes, Corollary 2.t oLet be a simple polygonwithout with n loss vertices vo, . . . ,vn-1. There which we take be P horizontal and vertical of generality. Rectilinear exists a vertex vi and a point b on the boundary of P such that the segment vib polygons are commonly used as approximations t o arbitrary simple polygons; partitions the perimeter of P into two pieces P I , P 2 satisfying: IP1I 5 l P 2 1 and they arise naturally in domains dominated by Cartesian coordinates, such5 21p1/3. as raster graphics, VLSI design, robotic, or architecture. A rectilinear polygon is called trapexoided if both its vertical and horizontal visibility maps are given. Note [dB911 that when the weights are assigned to vertices, therepolygon always exists de Berg presented the rectilinear version of Chazelle’s cuttinga diagonal that can partition the polygon, however, when the weights are assigned theorem, which led t o several divide-and-conquer algorithms inside a rectilinear splitting segment no longer to be to edges, such one of two endlink points of arectilinear polygon, as the rectilinear query, link diameter andneeds rectilinear a vertex. See Figure 1 for an example. Figure 3 is an example showing that the link center [dB91]. An outline of the paper is as follows. In section 2, we consider bound of 2/3 is tight (by placing weights 1/3,0,0,1/3,0,0,1/3,0,0 on the edges in algorithms for cutting the boundary of a simple polygon. In section 3, we consider clockwise order). cutting the interior of the polygon. In section 4, we address the rectilinear version of these cutting problems. In section 5, the problem of cutting a simple polygon into two parts of a given ratio is considered. Finally, in section 6, we address the problem of finding the shortest chord in a convex polygon that cuts off a given area.
2
Cutting the boundary of a simple polygon
Let P be simple polygon with vertices UO, . . . ,un-1 in clockwise order. All index manipulation is modulo n. In this section, we prove the following theorem: Theorem 1. Let that P bedoes a simple polygon with n vertices U Oterms , . . . ,un-1 each edge Fig. 1. A polygon not have a valid diagonal cut in of boundary or area. assigned a non-negative weight wi.L e t W ( P ) denote the s u m of the weights o n Rectilinear polygons have also been called orthogonal polygons, isothetic polygons and rectanguloid polygons in the literature.
Polygon Cutting: Revisited
85
Cutting a simple 3 edges. the Therethe existsinterior a vertex of ui and a point polygon b o n the boundary of P such that the segment uib partitions P into t w o polygons P I , P2 satisfying: W(P1)5 In this5section, the weight the aedges o the interior. We study W(P2) 2 W ( P )we / 3 .shift T h e segment uib from is called valid tsegment. the special case where weight is defined by area, then we show that the weight PIfirst and prove P2 arethe thefollowing same as in P except if an edge The weights the edges inWe function can beofgeneralized. theorem: of P is partitioned by the segment uib. In this case, the weight is distributed according of simple the split. Theoremt o2.the Letratio P be polygon with vertices vo, . . . ,v,-1. Let A ( P ) deBefore proving Theorem 1, we need the vi following lemma. Anthe earboundary of a trian-of note the area of P. There exists a vertex and a point b on gulated polygon P is a triangle where at least two of the edges of the triangle P such that the segment vib partitions P into two polygons P I ) P2 satisfying: are boundary edges. It is well known (see in [0’R94]) that every triangulated A(P1) 5 A(P2) 5 2A(P)/3. The segment vib is called a valid segment. polygon on more than 3 vertices has at least two ears. Before proving Theorem 2 , we need the following lemma. Lemma 1. Given a triangulated polygon P , one of the following holds: ( I ) There is a 2. diagonal partitions Ppolygon into twoPpolygons , P2following such that holds: W ( P I )(1) 5 Lemma Given that a triangulated , one ofP Ithe W(P2) 5 a2 W ( P ) / 3 , (2) is a n the ear polygon whose weight i s greater t h aPn IW )/3, There is diagonal thatthere partitions into two polygons ) P(2P such (3) i s a5n edge whose weight is (2) greater a n aWtriangle ( P ) / 3 . in P’s triangulation A(P1) A(P2) 5 2A(P)/3, theret h is thatthere whose area is greater than 2A(P)/3, (3) there is a triangle in P’s triangulation Proof. If P is aP triangle, the lemma follows trivially. Consider the case into threethen pieces with each piece having area less than A ( P ) / 3 . that partitions where P has more than three vertices. A diagonal partitions a polygon into two polygons I , P2 suchPthat Proof. If P is athat triangle, then the lemma P follows. Consider the P case where has W(P1) 5 W(P2) 5 2 W ( P ) / 3 is called a valid diagonal. An edge whose weight more than three vertices. is greater than W ( Ppartitions ) / 3is called a heavy Pedge. whose weight greater A diagonal that a polygon intoAn twoearpolygons P I , P2 issuch that than W ( P ) / 3 is called a heavy ear. A(P1) 5 A(P2) 5 2A(P)/3is called a valid diagonal. A triangle whose weight is Assign a zero weightist called o eachadiagonal in the triangulation of P. Let uiuj be greater than 2A(P)/3 heavy triangle. an arbitrary diagonal of P. If it is valid, then lemma follows. Suppose viuj Let v i v j be an arbitrary diagonal of P. If itthe is valid, then the lemma follows. isSuppose not valid. This means that either W(P1) or W(P2) is greater than 2W(P)/3. vivj is not valid. This means that either A(P1) or A(P2) is greater than Let PI be the ui,polygon ui+l, . . .vi, ,u jvi+l, , ui,and without losswithout of generality, 2A(P)/3. Letpolygon PI be the . . . ,suppose, v j , vi, and suppose, loss of that W(P1) > 2W(P)/3. Let UI, be the vertex in PI adjacent t o ui and u j in generality, that A(P1) > 2A(P)/3.Let v k be the vertex in PI adjacent vi and Vj the triangulation of P. If one of the following conditions hold then the lemma in the triangulation of P. If one of the following conditions hold then the lemma follows. follows. Condition : Either Condition I1: Either uiuk V i V k or or ujuk vjvk isisvalid. valid. Condition uiuk a heavy edge. Condition2:2: Either Triangle v i vor j v kujuk is aisheavy triangle. Condition triangle a heavy that ear. partitions P into three pieces Condition 3:3: The Triangle v i v uiujuk j v l , is is a triangle If that none the of the three conditions then A(P)/3. either uiuk or ujuk or both are such weight of each piece ishold, less than non-valid If uiuk (resp. ujuk) a diagonal, P into If nonediagonals. of the three conditions hold,isthen either Viti Vpartitions k or V j v k or bothtwo are polygons. Pi (resp. the polygon containing triangle uiujuk. non-valid Let diagonals. If Pj) VzVkbe(resp. v j v k ) is not a diagonal, it partitions P into two Assume,Let without lossPj) of be generality, that not uiukcontaining is a non-valid diagonal. polygons. Pi (resp. the polygon triangle v i v j v k .Now, ujukEither is either an edge of P is or greater a diagonal. it is an edge, it cannot be loss heavyof A(Pi) or A(Pj) thanIf2A(P)/3. Suppose, without which meansthat thatA(Pi) the weight W ( P i )isNote greater W ( Pfewer ) / 3 .Ifvertices it is a diagonal, > 2A(P)/3. thatthan Pi has than PI. generality, let W ( P jhas )represent weight.ofWe now show weight W (terminate P i )or W (with P j )isa Since a finiteit’s number vertices, this that process must greater triangle.than But2W(P)/3. such a triangle would be heavy, therefore, the lemma follows. Since W(P1) is greater than 2 W ( P ) / 3 and the weight of uiuj is zero, the to prove Theorem sumWe W (are P i )now + Win( Pajposition ) > 2W(P)/3. This implies2.that either W ( P i ) or W ( P j ) has weight greater than W ( P ) / 3 .Suppose, without loss of generality, W ( P i )has Proof of Theorem 2: If P has a valid diagonal, then the theorem follows. weight greater than W ( P ) / 3 .Since uiuk is not valid, this means that W ( P i )must Suppose P has a heavy triangle v i v j v k . Let a be a point on V i V j with the also be greater thandivides 2W(P)/3. Note that Pi has fewer vertices than PI. Since P of triangle V i V j V k equally. Let b be the first the weight property that has a finite number of vertices, by repeating this argument we eventually must
86
P. Bose et al.
intersection pointbeing of a ray from v k in direction of a with the boundary with the fraction 3/4emanating rather than 2/3. Our approach has been t o explore P. Segment v k b is a valid segment. of variants t o these polygon cutting theorems by shifting the weight onto different Finally, hasasathe triangle v i v j v k that partitions P into three pieces parts of the suppose polygon P such boundary or the interior. P I The ,Pz, Ppresent 3 such paper that the weight of each piece is less than A(P)/3. Letfor P Icutting ,P2, P3 is concerned with providing efficient algorithms be adjacent to 'u&, v k v j , V j V i respectively. Let a be a point on V i V j with the two or three dimensional discrete domains with straight line or planar cuts. By propertydomain, that V k we a divides the weight of triangle v i v j v k such that A(P1) and the discrete mean simple polygons in the plane, or terrains in three divivka is equal t o A(P)/3. Such a point the area of triangle mensional space. The goal is t o obtain corresponding pieces must whoseexist area,since volume, weight of A(P1) and triangle v i v j v k is greater than A(P)/3. Let b be the first length of perimeter, etc., attain a desired ratio. intersection point of emanating from efficiency v k in direction of a with the boundary Our approach is a t oray take into account parameters like the length P. Segment vkb is a valid segment since the weight of P3 achieve is less than A(P)/3. of of cuts or the number of cuts. We provide algorithms that the required Since one of these three conditions must hold, by Lemma 2 , the theorem cuts and whose running time is expressed in terms of the number of vertices of follows. 0 the discrete domain. Cutting problems find applications in many different areas Observe that the inductive proof of Lemma 2 implies walking along a path of such as computer-aided manufacturing and design, image processing, pattern the dual graph of the triangulation tree Sinceofeach step cuttings of this walk recognition or VLSI design (see [KS85] forofa P. survey polygon and takes their O( 1) time, we have the following. applications). Related problems with applications t o cloth manufacturing have been considered by PMilenkovic et al. [LM93,MDL92]. The 210, problem of bisecting Corollary 3. Let be a simple polygon with n vertices . . . ,vn-l. A valid the area of a polygon in relation t o the Ham-sandwich problem was studied by segment of P can be computed in O ( n ) time. Diaz and O’Rourke [D091], StojmenoviC [St0911 and Shermer [She92]. Theorem 2 extends naturallyininthe therectilinear followingsetting. way. Let z = f ( x , polygon y ) be a We also study these problems A rectilinear continuous, non-negative function domain of acoordinate simple polygon is one whose edges are all aligneddefined with aover pairthe of orthogonal axes, P lying thet plane. Let V beand thevertical volumewithout of the cylinder, bounded from above which weintake o be horizontal loss of generality. Rectilinear by the surface defined byused function f and boundedt ofrom below simple by polygon P. polygons are commonly as approximations arbitrary polygons; and they arise naturally in domains dominated by Cartesian coordinates, such Corollary 4. There exists a vertical plane, cutting P along a chord, which paras raster graphics, VLSI design, robotic, or architecture. A rectilinear polygon titions V into two parts, each one of volume greater than V / 3 and smaller than is called trapexoided if both its vertical and horizontal visibility maps are given. 2 V/3. de Berg [dB911 presented the rectilinear version of Chazelle’s polygon cutting theorem, which led t o several divide-and-conquer algorithms inside a rectilinear Instead of a function f we can also take an infinitely additive measure defined polygon, such ofastriangles rectilinear query, rectilinear link diameter and rectilinear for the space in link the plane. link center [dB91]. An outline of the paper is as follows. In section 2, we consider algorithms for cutting the boundary of a simple polygon. In section 3, we consider 3.1 The Discrete Case cutting the interior of the polygon. In section 4, we address the rectilinear version of In section 5, ICthe problem of cutting Wethese now cutting considerproblems. the case where P has points (po,pl,. . . , p k - al ) simple in its polygon interior. into of a given Eachtwo pi parts is assigned a non-negative ratio is considered. weight wi. Finally, Let W in (section P )represent 6, we address the sumthe of the weights of the points pi E P. problem of finding the shortest chord in a convex polygon that cuts off a given area. Theorem 3. There exasts a vertex vi and a point b on the boundary of P such that the segment v,b partitions P into two polygons P I , P2 satisfying: W(P1)5 5 2W(P)/3. The segment vib a valid segment. 2W(P2) Cutting the boundary of isa called simple polygon The weights of the points in PI and P2 are the same as in P , except for Let P be simple polygon with vertices UO, . . . ,un-1 in clockwise order. All index the points on vib, whose weights are not considered (i.e. considered to be zero) manipulation is modulo n. In this section, we prove the following theorem: since they do not lie in the interior of either polygon. Lemma 2 still holds in this discrete a valid segment vib, oneUcan construct the Theorem 1.setting. Let P To be acompute simple polygon with n vertices O , . .first . ,un-1 each edge triangulation of P and for each point pi determine the triangle containing it. assigned a non-negative weight wi.L e t W ( P ) denote the s u m of the weights o n This may be done using O(log n) point location for each point pi(i = 0,1, . ,kpolygons have also been Hence called the orthogonal polygons, isothetic 1)Rectilinear after O(n) time preprocessing. total complexity of thispolygons step is
..
and rectanguloid polygons in the literature.
Polygon Cutting: Revisited
87
+
O(nedges. k logThere n). Inexists order at overtex meet one of the conditions Lemma 2, walk the ui and a point b o n ofthe boundary of Palong sucha paththe of the dual uib graph of the triangulation of P. This has lengthW(P1) at most that segment partitions P into t w o polygons P I , path P2 satisfying: 5 O(n). Contrary of cutting area, in the discrete case we spend W(P2) 5 2 W ( P )to/ 3the . T h ecase segment uib is the called a valid segment. O ( k ) time accumulating weights of the points falling inside the triangles on the P2 are the same in P except if an edge TheThis weights of the edges path. process takes O (inn PIkand ) time. Finally, as inasTheorem 2, we have to of P is partitioned by the segment uib. In this case, the weight is distributed make a cut through a triangle determined in condition 1or condition 2 of Lemma according t o the ratio in of O the 2 which can be done ( k split. ) time using prune and search. Before proving Theorem 1, the following lemma. An of to a trianO (need k ) points. In this triangle, we ear have make This triangle may contain we gulated polygon P is a triangle where at least two of the edges of the triangle a cut through a vertex v of P , dividing the points such that the weights on are boundary is well known (see may in [0’R94]) triangulated value. This be easilythat doneevery in O(k log k) time either side sumedges. up toIta specific polygon on more than 3 vertices has at least two ears. by performing a rotational sweep around v after sorting the points. However, using prune and search, we can perform in Ofollowing ( k ) time. holds: Hence (the Lemma 1. Given a triangulated polygonthe P ,last onestep of the I) k log n). We conclude with the total complexity of the algorithm remains O(n There is a diagonal that partitions P into two polygons P I , P2 such that W ( P I )5 following W(P2) 5 2theorem. W ( P ) / 3 , (2) there is a n ear whose weight i s greater t h a n W ( P ) / 3 ,
+
+
(3) there i s a n edge whose weight is greater t h a n W ( P ) / 3 . Theorem 4. The valid segment of polygon P with n vertices and k weighted be found O(nlemma klogn) time. points Proof. Ifinside P isPa may triangle, theninthe follows trivially. Consider the case where P has more than three vertices. A diagonal that partitions a polygon P into two polygons P I , P2 such that 4 Cutting a rectilinear polygon W(P1)5 W(P2) 5 2 W ( P ) / 3is called a valid diagonal. An edge whose weight is greater than W ( P ) / 3is called a heavy edge. An ear whose weight is greater A rectilinear a simple than W ( P ) / 3polygon is called is a heavy ear.polygon having all edges axis-parallel. In the case of rectilinear polygons, we interested finding valid of axis-parallel Assign a zero weight t o each are diagonal in thein triangulation P. Let uiujcuts. be The bounds in Chazelle’s polygon cutting theorem as well as Theorems an arbitrary diagonal of P. If it is valid, then the lemma follows. Suppose 1, viuj2, all hold thateither no pair of edges lies on the same vertical line. isand not3valid. Thisprovided means that W(P1) or W(P2) is greater than 2W(P)/3. However, the general position assumption (no three vertices collinear) usually Let PI be the polygon ui,ui+l, . . . ,u j , ui,and suppose, without loss of generality, does W(P1) not hold the rectilinear When this de that > in 2W(P)/3. Let UI, setting. be the vertex in PIassumption adjacent t ois uremoved, i and u j in Berg [dB911 showed that a valid rectilinear cut still holds with slightly modified the triangulation of P. If one of the following conditions hold then the lemma bounds when a non-negative weight is assigned to each vertex. De Berg proves follows. the following: Let P be a simple rectilinear polygon with n vertices each assigned Condition I : Either uiuk or ujuk is valid. a non-negative weight wi W ( P )is the added weight of all the vertices. Then Condition 2: Either uiuk and or ujuk is a heavy edge. there exists a cut segment (i.e. an axis-parallel segment connecting two edges of Condition 3: The triangle uiujuk is a heavy ear. P and lying entirely in P ) that partitions P into two rectilinear polygons each of If none of the three conditions hold, then either uiuk or ujuk or both are weight as most 3/4 W ( P ) .Moreover, the segment can be chosen such that it is non-valid diagonals. If uiuk (resp. ujuk) is a diagonal, it partitions P into two incident upon at least one vertex and can be computed in O(n) time. See Figure polygons. Let Pi (resp. Pj) be the polygon not containing triangle uiujuk. 2 for de Berg’s example showing that this bound is tight in the worst case. Assume, without loss of generality, that uiuk is a non-valid diagonal. Now, The arguments presented in Section 2 and Section 3 can be modified to show ujuk is either an edge of P or a diagonal. If it is an edge, it cannot be heavy that similar bounds hold when the weight is shifted to the boundary or the intewhich means that the weight W ( P i )is greater than W ( P ) / 3 .If it is a diagonal, rior. In the previous sections, we showed that by traversing a triangulation of a let W ( P j )represent it’s weight. We now show that weight W ( P i )or W ( P j )is simple polygon, a valid segment can be computed. In the rectilinear setting, by greater than 2W(P)/3. traversing the horizontal and vertical trapezoidalization of the polygon, a valid W(P1) is greater than 2 (see W ( P[O’R94] ) / 3 andfor thea reference weight of on uiuj is zero, the axisSince parallel cut can be computed trapezoidalizasum W ( P i ) + W ( P j ) > 2W(P)/3. This implies that either W ( P i ) or W ( P j ) tion. has weight greater than W ( P ) / 3 . Suppose, without loss of generality, )has We conclude this section by stating the resulting theorems. Let PW be( Pa irectiweight greater than W ( P ) / 3 . Since uiuk is not valid, this means that W ( P i )must linear polygon with n vertices. Each edge is assigned a non-negative weight wi. also thanthe 2W(P)/3. Note that Pi Let be W (greater P )denote sum of the weights onhas thefewer edges.vertices than PI. Since P has a finite number of vertices, by repeating this argument we eventually must
+
88
P. Bose et al.
with the fraction being 3/4 rather than 2/3. Our approach has been t o explore variants t o these polygon cutting theorems by shifting the weight onto different parts of the polygon such as the boundary or the interior. The present paper is concerned with providing efficient algorithms for cutting two or three dimensional discrete domains with straight line or planar cuts. By discrete domain, we mean simple polygons in the plane, or terrains in three dimensional space. The goal is t o obtain corresponding pieces whose area, volume, length of perimeter, etc., attain a desired ratio. Our approach is t o take into account efficiency parameters like the length P3 of cuts or the number of cuts. We provide algorithms that achieve the required PI cuts and whose running time is expressed in terms of the number of vertices of P2 the discrete domain. Cutting problems find applications in many different areas such as computer-aided manufacturing and design, image processing, pattern recognition or VLSI design (see [KS85] for a survey of polygon cuttings and their applications). Related problems with applications t o cloth manufacturing have been considered by Milenkovic et al. [LM93,MDL92]. The problem of bisecting Fig.area 2. Aofrectilinear in which horizontal orproblem vertical was cut results the a polygonpolygon in relation t o theevery Ham-sandwich studiedinbya of weight at least 3/4 W ( P ) . polygon Diaz and O’Rourke [D091], StojmenoviC [St0911 and Shermer [She92]. We also study these problems in the rectilinear setting. A rectilinear polygon is one whose edges are all aligned with a pair of orthogonal coordinate axes, Theorem 5. There exists two points a and b on the boundary of P such that which we take t o be horizontal and vertical without loss of generality. Rectilinear segment ab is axis-parallel and partitions P into two polygons P I , P2 satisfying: polygons are commonly used as approximations t o arbitrary simple polygons; W(P1)L W(P2)L 3 W ( P ) / 4 . and they arise naturally in domains dominated by Cartesian coordinates, such as raster graphics, VLSI design, the robotic, architecture. A rectilinear Theorem 6. Let A ( P ) denote area or of P. There exists two points polygon a and b the boundary of P such its thatvertical the segment ab is axis-parallel partitions P iso ncalled trapexoided if both and horizontal visibility and maps are given. de presented the rectilinear version of 5 Chazelle’s cutting intoBerg two [dB911 polygons P I , P2 satisfying: A(P1) 5 A(P2) 3 A(P )/4polygon . theorem, which led t o several divide-and-conquer algorithms inside a rectilinear We now the case has k points ( p o , p 1 , . .and ., p krectilinear - l } in its polygon, suchconsider as rectilinear linkwhere query,Prectilinear link diameter interior. Each pi is assigned a non-negative weight wi. Let W ( P ) represent the link center [dB91]. An outline of the paper is as follows. In section 2, we consider sum of the weights of the points pi E P . algorithms for cutting the boundary of a simple polygon. In section 3, we consider cutting the interior of exists the polygon. In section address the rectilinear version Theorem 7. There two points a and b4,owe n the boundary of P such that the of these cutting problems. In section 5, thePproblem cutting P a Isimple polygon segment ab is axis-parallel and partitions into twoofpolygons , P2 satisfying: into twoLparts of aLgiven W(P1) W(P2) 3 W (ratio P ) / 4is. considered. Finally, in section 6, we address the problem of finding the shortest chord in a convex polygon that cuts off a given area.Computing a horizontal and vertical trapezoidalization can be acheived in linear time. Therefore, finding these valid axis-parallel cuts can be done in linear time. ~
2
Cutting the boundary of a simple polygon
5 PCutting simple equal parts order. All index Let be simple a polygon withpolygon vertices UO,into . . . ,un-1 in clockwise manipulation is modulo n. In this section, we prove the following theorem: Suppose that we want to partition a polygon into two equal area pieces. Clearly, a diagonal to nachieve Figureeach 1 for an it is not always find polygon Theorem 1. Letpossible P be a to simple with verticesthis U O ,(see . . . ,un-1 edge example). In fact, this may not be possible to achieve with a single chord (see assigned a non-negative weight wi.L e t W ( P ) denote the s u m of the weights o n Figure 3 for such an example). Rectilinear polygons been called orthogonal isothetic polygons O(1ogn) cuts polygons, where n is the number of In this section, wehave showalso that using and rectanguloid polygons thepartition literature. a polygon into two groups G1 and G2 of vertices of the polygon, weincan
Polygon Cutting: Revisited
89
the edges. There exists a vertex ui and a point b o n the boundary of P such that the segment uib partitions P into t w o polygons P I , P2 satisfying: W(P1)5 W(P2)5 2 W ( P ) / 3 . T h e segment uib is called a valid segment. The weights of the edges in PI and P2 are the same as in P except if an edge of P is partitioned by the segment uib. In this case, the weight is distributed according t o the ratio of the split. Before proving Theorem 1, we need the following lemma. An ear of a triangulated polygon P is a triangle where at least two of the edges of the triangle are boundary edges. It is well known (see in [0’R94]) that every triangulated polygon on more than 3 vertices has at least two ears. Lemma 1. Given a triangulated polygon P , one of the following holds: ( I )
There is a diagonal that partitions P into two polygons P I , P2 such that W ( P I )5 W(P2)5 2 W ( P ) / 3 , (2) there is a n ear whose weight i s greater t h a n W ( P ) / 3 , (3) there i s a n edge whose weight is greater t h a n W ( P ) / 3 . Proof. If P is a triangle, then the lemma follows trivially. Consider the case where P has more than three vertices. A diagonal that partitions a polygon P into two polygons P I , P2 such that W(P1)5 W(P2) 5 2 W ( P ) / 3is called a valid diagonal. An edge whose weight Fig. 3. A polygon haveaaheavy single chord partitioning it into two is equal area is greater than Wthat ( P )does / 3isnot called edge. An ear whose weight greater parts.W ( P ) / 3is called a heavy ear. than Assign a zero weight t o each diagonal in the triangulation of P. Let uiuj be an arbitrary diagonal of P. If it is valid, then the lemma follows. Suppose viuj pieces such that ratiothat caneither be achieved theisareas of the groups. is not valid. Thisany means W(P1)between or W(P2) greater thantwo 2W(P)/3. In fact, in our cutting scheme either one of G1 or G 2 can be made to remain a Let PI be the polygon ui,ui+l, . . . ,u j , ui,and suppose, without loss of generality, single piece and all but possibly one of the cuts are diagonals of the polygon. that W(P1) > 2W(P)/3.Let UI, be the vertex in PI adjacent t o ui and u j in P be a simple onthe n vertices. the Let triangulation of P.polygon If one of following conditions hold then the lemma follows. n] cuts, P can be partitioned into two Theorem 8. With at most Condition : Either or ujuk valid. groups G1 Iand G2 of uiuk pieces, such isthat the ratio of the area of G1 t o the area of is abeheavy GCondition 2 is x : y 2:forEither any x,uiuk y > or 0,ujuk Gi can madeedge. a single piece, and all but possibly Condition uiujuk a heavy ear. one of the 3: cutsThe are triangle diagonals of theis polygon. If none of the three conditions hold, then either uiuk or ujuk or both are Proof: proceedIfby induction on the of vertices of P. P is a non-valid We diagonals. uiuk (resp. ujuk) is anumber diagonal, it partitions P Ifinto two triangle, the theorem holds trivially. polygons. Let Pi (resp. Pj) be the polygon not containing triangle uiujuk. Inductive Hypothesis: Given a polygon P on uiuk n 5 k, 3 vertices, with at Now, most Assume, without loss of generality, that is ka 2non-valid diagonal. n] cuts, P can be partitioned into two groups G1 and G 2 of pieces, such ujuk is either an edge of P or a diagonal. If it is an edge, it cannot be heavy that the ratio of the area of G1 to the area of GS is x : y for any x, y > 0, Gi which means that the weight W ( P i )is greater than W ( P ) / 3 .If it is a diagonal, can be made a single piece, and all but possibly one of the cuts are diagonals let W ( P j )represent it’s weight. We now show that weight W ( P i )or W ( P j )of is the polygon. greater than 2W(P)/3. Inductive Step: Let P be athan polygon k the 1 vertices let xis :zero, y be the Since W(P1) is greater 2 W on ( P )n/ 3=and weight and of uiuj the ratio t o be achieved. Let A ( P ) be the area of P. We want to partition P (into sum W ( P i ) W ( P j ) > 2W(P)/3. This implies that either W ( P i ) or W Pj) two groups greater such that one area zA(P)/(x y)ofand the other has weight than Wpiece ( P ) / 3has .Suppose, without loss generality, Whas ( P iarea )has + Y).than W ( P ) / 3 .Since uiuk is not valid, this means that W ( P i )must YA(P)/(X weight greater Using Chazelle’s algorithm,Note we can a diagonal of P that also be greater than 2W(P)/3. thatfind Pi has fewer vertices thanpartitions PI. Since P P into two polygons PI and P2 where each P i has at most 2/3 of the vertices P. has a finite number of vertices, by repeating this argument we eventually of must
+
+
+
90
P. Bose et al.
+ +
withSuppose the fraction rather than approach o explore that being PI has3/4 area zA(P ) / ( z2/3.y) Oure for some ehas > 0.been We tcan apply variants t o these polygon to cutting theorems by zshifting onto the different the inductive hypothesis cut PI into ratio A ( P ) / the ( z weight y) : E , with piece parts as the boundary or the interior. A ( Ppolygon ) / ( z y)such remaining intact. Since PI has at most 2/3 the vertices of of sizeofz the present paper is concerned with providing efficient algorithms for cutting P , The the theorem follows. two Ifor on three or planar cuts. the By thedimensional other hand discrete PI has domains area z A with ( P ) / (straight z y) -line E , then we apply discrete we mean simple in the terrains in three diinductivedomain, hypothesis on P2. We polygons cut P2 into twoplane, piecesorwith the single piece mensional space. Theadjacent goal is t otoobtain corresponding whose area,partition volume, e being PI. Thus, we end uppieces with the desired having area length perimeter, etc., attain a desired ratio. and theoftheorem follows. 0 Our t o take efficiency parametersforlike the length The approach inductive isproof givesinto riseaccount to a linear time algorithm finding'these of cutsInitially, or the number of polygon cuts. WePprovide thatAt achieve the required consistsalgorithms of n vertices. each invocation of cuts. the given cuts and whose running time is in piece termstoofbe thecut number vertices Chazelle's algorithm[Cha82], theexpressed remaining has atofmost 2/3 of of the problems applications in manyfor different areas the discrete original domain. vertices. Cutting This gives rise to find the following recurrence the running such computer-aided and todesign, time: as T(n) 5 T(2n/3) manufacturing O(n), which solves O(n). image processing, pattern recognition or VLSI design (see [KS85] for a survey of polygon cuttings and their applications). Related problems with applications t o cloth manufacturing have 6 Finding shortestet a-chord of a convex polygon been considered the by Milenkovic al. [LM93,MDL92]. The problem of bisecting the area of a polygon in relation t o the Ham-sandwich problem was studied by Diaz O’Rourke [D091], StojmenoviC [St0911 and [She92]. As weand have seen in the previous section, there does notShermer necessarily exist a chord also study these in the rectilinear setting. rectilinear polygon thatWe bisects the area of aproblems simple polygon into two equal areaAparts, however, such one always whose edges aligned with aBy pair of orthogonal coordinate axes, a is chord exists are in aall convex polygon. performing a simple binary search which we take t o be verticalone without losssuch of generality. Rectilinear from any vertex of horizontal the convexand polygon, can find a chord in O(1ogn) polygons are section, commonly as the approximations t o arbitrary simplesuch polygons; time. In this we used address problem of finding the shortest chord. and theytime arisewe naturally in to domains by Cartesian such a convex polygon In O(n) show how find thedominated shortest chord that cuts coordinates, as raster graphics, VLSI design, into two pieces of any given ratio.robotic, or architecture. A rectilinear polygon is called if both and horizontal maps and are given. Let Ptrapexoided = (210,v1,. . . ,w nits - l ) vertical be a convex polygon visibility on n vertices let a! de Berg [dB911 presented rectilinear version of removes Chazelle’s polygon represent the fraction of P the to remove. A chord that a! times the cutting area P theorem, which led divide-and-conquer inside rectilinear shall be referred tot oasseveral an a!-chord. We first showalgorithms how to solve the aspecial case polygon, as Then rectilinear link how query, rectilinear where a! such = 1/2. we show to rectilinear generalize link this diameter approach and to handle any 0 < center a! < 1.[dB91]. A chordAn that divides the paper area ofis aaspolygon half is 2, called an area link outline of the follows.into In section we consider bisector. for cutting the boundary of a simple polygon. In section 3, we consider algorithms cutting interior ofthe theouter-normal polygon. In section we address rectilinear version Let the ni represent of the 4, edge ei of P.the Suppose the shortest area bisector endpoints on the 5,interior of edges e j and aeksimple of P.polygon Let N of these cuttinghas problems. In section the problem of cutting represent one of two normals of the line containing shortest bisector. into two parts of the a given ratio is considered. Finally, inthe section 6, wearea address the Then, theof following canshortest be proved. problem finding the chord in a convex polygon that cuts off a given area. Lemma 3 . The dot product n j - N is equal to nk - N .
+
+
+
+
2 Given Cutting boundary a be simple a pair the of edges of P , thereofcan at mostpolygon one chord having endpoints on the interior of these edges that bisects the polygon and satisfies the criterion Let P be simple polygon shortest with vertices UO, . . . ,un-1 in clockwise order. All index of Lemma 3. Therefore, area bisector can be found by examining every manipulation is modulo n. In this section, we prove the following pair of edges. However, this would imply a quadratic algorithm.theorem: In order to reduce the number of possible candidates, we first observe the following: Theorem 1. Let P be a simple polygon with n vertices U O , . . . ,un-1 each edge assigned wi. L e t W (isPpart ) denote s u m area of the weights o n Property aI .non-negative A vertex of weight a convex polygon of athe unique bisector. Rectilinear polygons have also been called orthogonal polygons, isothetic polygons Let xi represent the endpoint of the unique area bisector emanating from Vi. and rectanguloid polygons in the literature.
Polygon Cutting: Revisited
91
Lemma If theexists shortest area ubisector oneb endpoint o n the part the the edges.4.There a vertex i and a has point o n the boundary of P ofsuch zi+l, thePother mustP be the edge from vi 5 to boundary from xiuibtopartitions that the segment into endpoint t w o polygons I , Po2n satisfying: W(P1) Vi+l 5 2 W ( P ) / 3 . T h e segment uib is called a valid segment. W(P2) Lemma 4 implies O(n) candidates to be verified in and P2 are the samethat as inneed P except if an edge The weights of thethat edgesthere in PIare thePsearch for the shortest bisector 3 implies that each candidate of is partitioned by thearea segment uib.and In Lemma this case, the weight is distributed 0(1)of time. can be tested in ratio according t o the the split. Before proving Theorem 1, we need the following lemma. An ear of a trianTheorem 9. The area where bisectoratofleast a convex withofn the vertices can gulated polygon P shortest is a triangle two ofpolygon the edges triangle in O(n) time. be found are boundary edges. It is well known (see in [0’R94]) that every triangulated polygon on more 3 verticestohas at least ears.chord that cuts a fraction We now turn than our attention finding the two shortest
a of the 1. polygon any 0 < a < 1. ThePmain is thatholds: a vertex Lemma Given for a triangulated polygon , one observation of the following (I)
no longer is part ofthat a partitions unique a-chord a is notP I1/2, vertex of There is a diagonal P intowhen two polygons , P2 asuch that is Wpart ( P I )5 exactly two a-chords. Let xi and yi represent the endpoints of the two a-chords W(P2)5 2 W ( P ) / 3 , (2) there is a n ear whose weight i s greater t h a n W ( P ) / 3 , emanating vi. whose If we consider chords be( P directed (3) there i s from a n edge weight isthe greater t h ato nW ) / 3 . from vi, then one of the chords cuts off an a fraction of P to its left and the other cuts off an a Proof. P its is aright. triangle, then the lemma follows trivially. Consider fractionIf to A directed chord which cuts off a fraction of a totheitscase left where P has will morebethan three vertices. (resp. right) called a left (resp. right) a-chord. WLOG, let Vixi represent that partitions a polygonallPthe into two a-chords. polygons P I , P2 such that all A thediagonal left a-chords and viyi represent right W(P1)5 W(P2) 5 2 W ( P ) / 3is called a valid diagonal. An edge whose weight Lemma If the (resp. right)edge. a-chord has whose one endpoint part is greater 5. than W (shortest P ) / 3is left called a heavy An ear weight oisn the greater of the boundary from xi t o xi+l (resp. yi to yi+l), the other endpoint must be than W ( P ) / 3is called a heavy ear. vi to vi+l on Assign the edgea from zero weight t o each diagonal in the triangulation of P. Let uiuj be an arbitrary of P.there If it are is valid, the lemma viuj Lemma 5diagonal implies that O(n)then candidates that follows. need to Suppose be verified in is not valid. This means that either W(P1) or W(P2) is greater than 2W(P)/3. the search for the shortest area bisector and Lemma 3 implies that each candidate Let the polygon ui,ui+l, time.. . . ,u j , ui,and suppose, without loss of generality, can PI be be computed in 0(1) that W(P1) > 2W(P)/3.Let UI, be the vertex in PI adjacent t o ui and u j in the triangulation of P. If onea-chord of the following conditions hold nthen the lemma Theorem 10. The shortest of a convex polygon with vertices can be follows. found in O(n) time. Condition I : Either uiuk or ujuk is valid. Acknowledgements: authors thank Mark de Berg for pointing Condition 2: Either uiukThe or ujuk is a wish heavytoedge. out the prune-and-search technique in section 3 and for helpful discussions. The Condition 3: The triangle uiujuk is a heavy ear. authors also wish to thank Jorg-Riidiger Sack Jorge If none of the three conditions hold, then and either uiukUrrutia or ujukfororinteresting both are discussions. non-valid diagonals. If uiuk (resp. ujuk) is a diagonal, it partitions P into two polygons. Let Pi (resp. Pj) be the polygon not containing triangle uiujuk. Assume, without loss of generality, that uiuk is a non-valid diagonal. Now, References ujuk is either an edge of P or a diagonal. If it is an edge, it cannot be heavy which means that the A weight W (on P i polygon )is greater than with W ( Papplications. ) / 3 .If it is aIndiagonal, [Cha82] B. Chazelle. theorem cutting Proc. of let W ( P jFound. )represent it’s weight. We339 now- 349, show1982. that weight W ( P i )or W ( P j )is of Comp. Sci., pages greater M. de 2W(P)/3. Berg. On rectilinear link distance. Comp. Geom.: Theory and Appl., [dB911 than 1991. Since 1:13-34, W(P1) is greater than 2 W ( P ) / 3 and the weight of uiuj is zero, the Ham-sandwich of polygons. M. Diaz [DO911 sum W ( P i )+ W (and P j )J.>O’Rourke. 2W(P)/3. This implies sectioning that either W ( P i ) or In WProc. (Pj) 2th Canad. Conf. Comput. Geom., pages 282-286, 1991. has weight greater than W ( P ) / 3 .Suppose, without loss of generality, W ( P i )has [KS85] J. M. Keil and J.-R. Sack. Minimum decompositions of polygonal objects. weight greater than W ( P ) / 3 .Since uiuk is not valid, this means that W ( P i )must In G. T. Toussaint, editor, Computational Geometry, pages 197-216. Northalso be greater than 2W(P)/3. Note that Pi has fewer vertices than PI. Since P Holland, Amsterdam, Netherlands, 1985. has a finite number of vertices, by repeating this argument we eventually must
92
P. Bose et al.
2.Li andbeing V. Milenkovic. [LM93] compaction algorithm for has non-convex with the fraction 3/4 ratherAthan 2/3. Our approach been t o polygons explore In PTOC. 9th Annu. Sympos. Comput.onto Geom., pages its application. variants tand o these polygon cutting theorems byACM shifting the weight different 153-162, 1993. parts of the polygon such as the boundary or the interior. [MDL92] V. Milenkovic, Daniels, with and Z.providing Li. Placement andalgorithms compactionfor of cutting nonconThe present paper is K. concerned efficient vex polygons for clothing manufacture. In Proc. 4th Cunad. Conf. Comput. two or three dimensional discrete domains with straight line or planar cuts. By Geom., pages 236-243, 1992. discrete we mean simple polygons in the plane, or terrains in three di[O’R94] domain, J. O’Rourke. Compututzonal Geometry in C. Cambridge University Press, mensional1994. space. The goal is t o obtain corresponding pieces whose area, volume, length perimeter, etc.,Aattain desired for ratio. C. Shermer. linear a algorithm bisecting a polygon. Inform. Process. [She921of T. Our approach is t o take into account efficiency parameters like the length Lett., 41:135-140, 1992. of cuts orI.the number of Bisections cuts. We provide algorithmscuts thatofachieve required [St0911 StojmenoviC. and ham-sandwich convex the polygons and Inform. Process. Lett., 38:15-21, cuts and polyhedra. whose running time is expressed in terms1991. of the number of vertices of the discrete domain. Cutting problems find applications in many different areas such as computer-aided manufacturing and design, image processing, pattern recognition or VLSI design (see [KS85] for a survey of polygon cuttings and their applications). Related problems with applications t o cloth manufacturing have been considered by Milenkovic et al. [LM93,MDL92]. The problem of bisecting the area of a polygon in relation t o the Ham-sandwich problem was studied by Diaz and O’Rourke [D091], StojmenoviC [St0911 and Shermer [She92]. We also study these problems in the rectilinear setting. A rectilinear polygon is one whose edges are all aligned with a pair of orthogonal coordinate axes, which we take t o be horizontal and vertical without loss of generality. Rectilinear polygons are commonly used as approximations t o arbitrary simple polygons; and they arise naturally in domains dominated by Cartesian coordinates, such as raster graphics, VLSI design, robotic, or architecture. A rectilinear polygon is called trapexoided if both its vertical and horizontal visibility maps are given. de Berg [dB911 presented the rectilinear version of Chazelle’s polygon cutting theorem, which led t o several divide-and-conquer algorithms inside a rectilinear polygon, such as rectilinear link query, rectilinear link diameter and rectilinear link center [dB91]. An outline of the paper is as follows. In section 2, we consider algorithms for cutting the boundary of a simple polygon. In section 3, we consider cutting the interior of the polygon. In section 4, we address the rectilinear version of these cutting problems. In section 5, the problem of cutting a simple polygon into two parts of a given ratio is considered. Finally, in section 6, we address the problem of finding the shortest chord in a convex polygon that cuts off a given area.
2
Cutting the boundary of a simple polygon
Let P be simple polygon with vertices UO, . . . ,un-1 in clockwise order. All index manipulation is modulo n. In this section, we prove the following theorem: U O , . . . ,un-1 each edge assigned a non-negative weight wi.L e t W ( P ) denote the s u m of the weights o n
Theorem 1. Let P be a simple polygon with n vertices
Rectilinear polygons have also been called orthogonal polygons, isothetic polygons and rectanguloid polygons in the literature.
Algorithms for Packing Two Circles in a Convex Polygon Prosenjit Bose13 Jurek C z y z o ~ i c zEvangelos ~~ Kranakis13 Anil Maheshwari13 Carleton University, School of Computer Science, Ottawa, ON, K1S 5B6, Canada. Dept. Informatique, Univ. du Qubbec B Hull, Hull, Qubbec J8X 3x7, Canada. Research supported in part by NSERC (Natural Sciences and Engineering Research Council of Canada.
Abstract. We consider algorithms for packing two circles in a given n-vertex convex polygon. The f i s t algorithm outputs a pair of equal non-overlapping circles of maximum radius and has running time O(n). The second algorithm outputs a pair of non-overlapping circles whose sum of radii is maximum and has running time O(n2).
1 Introduction We consider the following packing problems:
Problem I . Compute the maximum radius and placement of two equal circles that can be packed inside an n-vertex convex polygon. Problem 2. Compute the maximum sum of radii and placement of two circles that can be packed inside an n-vertex convex polygon. In this paper we give algorithms with running times O(n) and O(n2)for solving Problems 1 and 2, respectively. We note that for the case of a single circle the problem can be solved in linear time using the medial axis diagram of the given convex polygon ([6,7, I]). We note that Biedl et al. [2], independently, presented an O(n2) time algorithm t o solve Problem 1in the context of folding polygons. In fact, they address the more general problem of placing two equal circles in a simple polygon. It is also worth pointing out that Problem 1 has been investigated in the context of finding the maximum radius of Ic equal circles that can be packed in a unit square [4]. There is also a related “dual” t o our packing problem which is known in the literature as the Ic-center problem [8,9]: given a set of n points (resp. a simple polygon) in the plane find Ic congruent circles of smallest radius whose union covers the set (resp. the simple polygon). 1.1 Preliminaries An important concept in this paper is the medial axis diagram of a convex polygon P: this is the locus of centers of maximal circles in P (i.e., circles inside J. Akiyama, M. Kano, and M. Urabe (Eds.): JCDCG’98, LNCS 1763, pp. 93−104, 2000. Springer-Verlag Berlin Heidelberg 2000
94
P. Bose et al.
P that cannot be enclosed in any other circle inside P ) . The medial axis of an n-vertex convex polygon can be constructed in linear time [I].Vertices of the medial axis are centers of circles tangent t o at least three distinct edges of the polygon, while segments of the medial axis form the locus of the center of a circle tangent t o at least two given edges of the polygon. We also note that the medial axis diagram of a convex polygon is a tree of size O(n). This is true even for non-convex (simple) polygons, although in this case some segments of the medial axis diagram may be curved (parabolic) lines. The medial axis diagram of a convex polygon gives rise t o virtual vertices: these are formed by the intersection of pairs of edges (not necessarily adjacent) of the polygon which correspond t o a segment of the medial axis diagram. We note that all the vertices of the convex polygon are also virtual vertices. An
\
Fig. 1. A convex polygon and possible virtual vertices determined by the intersection of edges.
example of a convex polygon and some (not all) virtual vertices is depicted in Figure 1. Another important notion is the antipodal pair of vertices virtual or otherwise of a convex polygon P: this is a pair of such vertices which admit parallel lines of support for P. We recall (see [7]) that a convex n-gon has a linear number of such pairs.
1.2
Outline of the paper
Here is an outline of the paper. Section 2 solves Problem 1, and Section 3 considers Problem 2. In Section 4 we discuss the performance of the greedy algorithm. We summarize and conclude in Section 5.
Algorithms for Packing Two Circles in a Convex Polygon
2
95
Packing Two Equal Circles
We consider Problem 1 for convex polygons. A circle is called feasible if it is enclosed in the given polygon and its perimeter is tangent to at least two edges of the polygon. To start, we prove a useful lemma for the case of the triangle.
A
B C
Fig. 2. Maximum radius (solid) circle enclosed in a triangle. The solid and dashed circles are also the output of the greedy algorithm.
Lemma 1. T h e m a x i m u m radius circle enclosed in a t r i a n g l e i s centered a t t h e intersection of t h e three bisectors of t h e t r i a n g l e a n d can be computed in constant time.
PROOF We refer t o Figure 2. Let the triangle be ABC with vertices A,B,C and corresponding sides a, b, c opposite to, and angles a , ,8, y adjacent to vertices A, B , C , respectively. The desired circle is centered at the intersection of the three bisectors of the triangle and (using the well-known law of sines) its radius R is easily computed by the formula
R=
sin (a/2) sin(,8/2)
C.
COS(Y/2)
0 Details of the proof are left t o the reader. The next lemma is important in our subsequent discussions and is easy to prove from the definitions.
96
P. Bose et al.
Lemma 2. To m a x i m i z e t h e radius of t w o identical d i s j o i n t circles enclosed in a convex polygon, each circle m u s t be feasible. Moreover, unless both circles are t a n g e n t t o a p a i r of parallel edges of P they m u s t also be t a n g e n t t o each other.
The next lemma identifies an invariance property of our problem.
Fig. 3. A feasible pair of circles with centers K, K'.
Lemma 3. Consider a p a i r of feasible non-overlapping circles in t h e convex polygon P , w i t h centers K , K ' , respectively, a n d t a n g e n t t o i t s p e r i m e t e r along edges of t h e polygon (see F i g u r e 3). As t h e centers K,K' traverse t w o given medial axis lines t h e m i d p o i n t A4 of t h e l i n e segment connecting t h e centers K a n d K' m u s t l i e o n a straight line.
PROOF The centers K , K' of the two circles are moving along medial axis lines emanating from the corresponding edges. The result will follow from a general claim. For the proof we refer t o Figure 4. Without loss of generality we may assume that the corresponding positions of the centers of the circles are
A = (0,O) B = ( 0 , ~ )C = ( O , T U ) A' = ( b , c ) B' = (d, e) C' = ( b + r ( d - b ) , c + r ( e - c ) ) . The midpoints of the line segments AA', BB', CC' are
respectively. In view of [7] in order t o prove that the points A4,N , 0 are collinear it is enough t o show that
[+ (b
det
r ( d - b))/2 (c d/2 b/2
+ r ( e - c) + r u ) / 2 1 (a+ e)/2 c/2
I] 1
=o
Algorithms for Packing Two Circles in a Convex Polygon
\
\ \
Fig. 4. The midpoints of the line segments joining the centers of feasible pairs of circles must lie on a straight line.
To see this we argue as follows. We factor 1/2 from the first and second column of the determinant. Next we substract the third row from the second one and multiply the result by r . The resulting determinant is
[+ b
det
+
+
r ( d - b) c r ( e - c ) r u 1 r ( d - b) r(e+u-c) 01 b C 1
If we substract the second row from the first, then the first and third row of the resulting determinant are identical. Hence the determinant must be equal to 0, as desired. 0 Lemma 4. If a p a i r of identical, feasible, non-overlapping circles is o p t i m a l t h e n both circles m u s t lie o n medial axis lines whose corresponding vertices v i r t u a l o r otherwise f o r m a n antipodal p a i r .
PROOF Consider an optimal pair of identical feasible circles. In view of our previous discussion we may assume without loss of generality the circles are feasible and tangent to each other. Assume on the contrary the two circles do not lie on a medial axis segment generated by an antipodal pair of virtual vertices. It follows that the region determined by edges of virtual vertices corresponding to the two circles must be unbounded. It follows that we can enlarge both circles by sliding them towards the unbounded region (see Figure 5). This contradicts 0 the maximality of the pair of circles. Now we are in a position t o prove the main theorem. Theorem 1. G i v e n a n n - v e r t e x convex polygon P w e can d e t e r m i n e in t i m e O ( n ) t h e m a x i m u m radius of t w o equal non-overlapping circles enclosed inside P.
97
98
P. Bose et al.
Fig.5. If
be found.
PROOF By Lemma 4, an optimal solution must lie on a pair of medial-axis lines corresponding t o an antipodal pair of virtual vertices. By [7] there is a linear number of pairs of antipodal vertices and in linear time we can find a pair. Start with any such pair of antipodal vertices. View them as leaves of the medial axis tree and walk along the tree from child t o parent. In time linear in the number of vertices of the path connecting the two vertices we can determine a pair of virtual vertices on which a pair of feasible circles is possible. This is achieved by traversing vertices of the medial-axis tree from child t o parent simultaneously starting from both leaves until two medial-axis vertices are found for which the resulting circles intersect (possibly overlapping). Let (A,A') be such a pair of vertices (virtual or otherwise). By Lemma 3 the set of midpoints of the line segments joining the centers of pairs of feasible non-overlapping circles tangent t o the edges of A and A' lie on a straight line. This line is determined by just two points. One such point is the midpoint M of the line segment connecting A and A'. A second such point N is the midpoint of the line segment joining the centers of a feasible pair of circles as above. Each of the desired circles is delimited by the line M N and the edges adjacent t o A, respectively A', being the largest circle enclosed in the corresponding triangle (see Lemma 1).If the two resulting circles are tangent t o each other the pair is stored. We select another leaf (i.e., vertex of the polygon) which is antipodal t o any of the two leaves previously considered and repeat the process of the previous paragraph. We observe that each transition increases the size of the resulting circles, hence paths of the medial-axis tree previously traversed need not be traversed again. Since the medial-axis tree is of linear size, the running time for the construction of all these pairs of circles is linear. Ultimately the optimal pair is determined 0 among the stored solutions. This completes the proof of the theorem.
Algorithms for Packing Two Circles in a Convex Polygon
3
99
Maximizing the Sum of Radii
In this section we consider Problem 2 for convex polygons, which concerns the more general case of two circles (not necessarily equal) with maximum sum of radii. The first lemma is a straightforward extension of Lemma 4 to the case of two arbitrary circles. Lemma 5. If a p a i r of feasible, non-overlapping circles i s o p t i m a l t h e n both circles m u s t lie o n medial axis lines whose corresponding vertices v i r t u a l o r 0therwise f o r m a n antipodal p a i r .
0
Lemma 6. A s s u m e t h a t t h e centers K a n d K' of t w o circles move along t w o medial axis lines, respectively, of t h e medial axis diagram, always r e m a i n i n g in contact, as w e l l as feasible. If t h e r a t i o of t h e r a t e of change of t h e radius of K over t h e r a t e of change of t h e radius of K' i s constant, t h e n f o r a n y fixed t i m e i n t e r v a l t h e r a t i o of t h e displacement of t h e center K over t h e displacement of t h e center K' i s constant.
PROOF For the proof we refer t o Figure 6. Let L ( r ) ,L ( r ' ) and K ( R ) ,K ( R ' ) be
Fig. 6. Rate of change of the displacement of the centers.
the distance from A of the centers with radius r , r' and the distance from B of the centers with radius R, R'. By assumption the ratio ( R- R ' ) / ( r- r ' ) is constant. Moreover, R = L ( R )sin(a/2), R' = L(R')sin(a/2) and r = K ( r )sin(,8/2), r' = K ( r ' )sin(,8/2), where a,,8 are the angles at A, B. If x = L ( R ) - L(R') and y = K ( r ) - K ( r ' ) are the two displacements, respectively, then it follows that
- R/ sin(a/2)-RR'/ sin(a/2) r / sin(Pl2) - r ' / sin(Pl2)
100
P. Bose et al.
This proves the lemma.
0
Lemma 7. L e t L , L' be two medial axis lines. T h e centers of t w o circles traverse
the lines L , L' as in L e m m a 6. L e t A, A', A" and B , B', B" be three points located on lines L and L', respectively, as depicted in Figure 7. T h e n the line segment 0
L'
L
Fig. 7. The line segment A'B' cannot be the longest of the three segments A B , A'B', A"B".
A'B' cannot be the longest of the three segments AB, A'B', A"B". PROOF Without loss of generality we may assume that the lines L,L' are intersecting at a point 0. (Note that if the lines are parallel the conclusion of the lemma is easy.) Let 4 be the angle AOB between lines L,L' at 0. Let a , ,8, a', p' be the angles OAB, OBA, OA'B', OB'A', respectively. Let a = IOAI, b = IOB1,x = IAA'I, y = IBB'I. Furthermore, let s , s' be the lengths of the line segments AB,A'B', respectively. Using the law of sines in the triangle OA'B' we obtain that s' U+X b-y sin 4 sin p' sin a ' . It follows that
and
( a + x ) sina' = (b - y) sin,@.
By Lemma 6 we may assume without loss of generality that there is a constant X > 0 such that y = Ax. Solving for x we obtain X =
b sin p' - a sin a' sin a' X sin 0'.
+
Algorithms for Packing Two Circles in a Convex Polygon
101
It follows that s' =
sin 4 sin 4 (a+x) = 7 sin p' sin p'
~
Observe now that
p'
+
b sin p' - a sin a' (aX b) sin 4 + sin a' + X sin p' > = sin a' + X sin p' .
= 7r - 4 - a' and hence sin p' = sin($ s' = s i n 4
sin a'
+ a'). It follows that
aX + b + X sin(a' + 4)'.
We now look at s' as a function of a'. It is easy t o see that the function
F (a') = sin a'
+ X sin(a' + 4)
in the denominator of the right-hand side of (1) (with variable a') has a second derivative which is < 0. This implies that F is concave downwards and hence s' is concave upwards. We see easily that for any three consecutive points on the curve of s' the middle point cannot be a maximum. This concludes the proof of the lemma. 0 Lemma 8. If a pair of circles i s optimal (i.e the s u m of their radii i s maximal)
t h e n the center of at least one of the circles m u s t lie o n a vertex of the medial axis diagram. PROOF We refer t o Figure 8. Assume on the contrary that none of the two circles
Fig. 8. Improving on the solution by sliding the centers along the medial axis lines.
centered at K , K' lie on vertices of the medial axis diagram. Using Lemma 7 we can improve on the solution depicted in Figure 8. This is done as follows. Since none of the two centers lies on a vertex of the medial axis diagram we can enlarge one of the two circles and at the same time diminish the other by an infinitesimal
102
P. Bose et al.
amount (so as t o maintain the requirements of packing). This results into two extra positions for the pair of centers. Lemma 7 implies that one of these two new positions must give a better sum of radii. This is a contradiction because 0 the solution is assumed t o be optimal. Theorem 2. Given an n-vertex convex polygon P we can determine in time O ( n 2 ) a pair of non-overlapping circles enclosed inside P whose sum of radii is maximum.
PROOF In view of Lemma 8 one of the two circles of an optimal pair must be centered on a vertex of the medial axis diagram of the convex polygon. Given such a circle we can pack a second circle of maximum radius in O ( n ) time by traversing the medial axis tree, which is of size O ( n ) [I].The desired optimal pair can then be found in O ( n 2 )time. This completes the proof of the theorem. 0
4
The Greedy Algorithm
It is tempting t o consider the performance of the greedy algorithm on our problem. Here by greedy algorithm we mean the following: 1. Pack a maximal circle inside the convex polygon; 2. Pack a second circle which is maximal under the condition that it does not overlap with the first circle; 3. Output a pair of circles among these with maximum sum of radii. We note that the greedy algorithm does not always lead t o an optimal solution. An example is depicted in Figure 9.
Fig. 9. An example of a convex polygon for which the greedy algorithm is not optimal.
Algorithms for Packing Two Circles in a Convex Polygon
103
Example I . For the convex polygon depicted in Figure 9, the sum of the radii of the largest and smallest circles (obtained from the greedy algorithm) is smaller than the sum of the radii of the two equal circles. At the same time, triangles are examples of convex polygons for which the greedy algorithm is optimal.
B
A C
Fig. 10. Output of the greedy algorithm on a triangle.
Example 2. For any triangle, the greedy algorithm outputs a pair of circles whose sum of radii is maximum. The claim in this example is easy to prove. By Lemma 5 one of the two circles in an optimal pair of circles must be centered at the intersection of the three bisectors of the triangle.
5
Conclusion and Open Problems
In this paper we considered the problem of packing two circles in convex polygons. We considered separately the case where the circles are equal and where the sum of their radii is maximized. An interesting problem would be t o improve the O ( n 2 )running time of the algorithm of Theorem 2. We note that the more general problems of packing either (1)k equal circles of maximum radius, or (2) k circles whose sum of radii is maximum, are intractable
104
P. Bose et al.
by the techniques of the paper. One reason appears t o be that for Ic 2 3 none of the centers of the circles of an optimal solution may lie on the medial axis diagram. Another reason is that it would be necessary to develop the notion of medial axis diagram for polygons with “curved” lines. It would also be interesting to look at shapes other than circles, e.g. squares, rectangles, etc.
References 1. A. Aggarwal, L. Guibas, J. Saxe, P. Shor, “A Linear Time Algorithm for Constructing the Voronoi Diagram of a Convex Polygon”, Discrete and Computational Geometry 4(6), 591-604, 1989. 2. T. Biedl, E. Demaine, M. Demaine, A. Lubiw, and G. Toussaint, “Hiding disks in folded polygons”, in proceedings of the 10th Can. Conf. on Comp. Geom., 1998. 3. F. Chin, J. Snoeyink, and C. A. Wang, “Finding the Medial Axis of a Simple Polygon in Linear Time”, in proceedings of Int. Symp. on Alg. and Complexity, SVLNCS, Vol. 1004, pp. 382-391, 1995. 4. H. T. Croft, K. J. Falconer, and R. K. Guy, “Unsolved Problems in Geometry”, Springer Verlag, 1991. 5. D. T. Lee, “Medial Axis Transformation of a Planar Shape”, IEEE Tran. PAM1 4, 363-369, 1982. 6. J. O’Rourke, “Computational Geometry in C” , Cambridge University Press, 1994. 7. F. P. Preparata and M. I. Shamos, “Computational Geometry: An Introduction”, Springer-Verlag, New York, 1985. 8. M. Sharir, “A Near Linear Algorithm for the Planar 2-Center Problem”, In Proceedings of ACM Computational Geometry Conference, pp. 106-112, 1996. 9. C. Shin, J. Kim, S. K. Kim, and K. Chwa, “Two-Center Problems for a Convex Polygon”, In proceedings of ESA’98, t o appear.
Folding and Cutting Paper Erik D. Demaine, Martin L. Demaine, and Anna Lubiw Department of Computer Science, University of Waterloo, Waterloo, Ontario N2L 3G1, Canada, eddemainehwaterloo .ca
Abstract. We present an algorithm to find a flat folding of a piece of paper, so that one complete straight cut on the folding creates any desired plane graph of cuts. The folds are based on the straight skeleton, which lines up the desired edges by folding along various bisectors; and a collection of perpendiculars that make the crease pattern foldable. We prove that the crease pattern is flat foldable by demonstrating a family of folded states with the desired properties.
1
Introduction
Take a sheet of paper, fold it into some flat origami, and make one complete straight cut. What shapes can the unfolded pieces make? For example, Figure 1 shows how to cut out a five-pointed star in this way. You could imagine cutting out the silhouette of your favorite animal, object, or geometric shape. The first published reference to this fold-and-cut idea that we are aware of is a Japanese book [22] by Kan Chu Sen from 1721. This book contains a variety of problems for testing mathematical intelligence [21]. One of the problems asks to fold a rectangular piece of paper flat and make one complete straight cut, so as to make a symmetric “zig-zag” polygon. The author gives a solution that consists of a sequence of simple folds, each of which folds along a line. See Figure 2. Folding and cutting has also been used for a magic trick by Houdini, before he became a famous escape artist. In his 1922 book Paper Magic [ll],he describes a method for making a five-pointed star, similar to the one in Figure 1. Another magician, Gerald Loe, studied this idea in some detail; his Paper Capers [19] describes how to cut out arrangements of various geometric objects, such as a circular chain of stars. Martin Gardner wrote about this problem in his famous
1.
*2.
I
Fig. 1. How t o fold a square of paper so that one cut makes a five-pointed star. J. Akiyama, M. Kano, and M. Urabe (Eds.): JCDCG’98, LNCS 1763, pp. 104−118, 2000. Springer-Verlag Berlin Heidelberg 2000
Folding and Cutting Paper
t
Title page
105
I
Problem statement
Solution (page 1)
I
Solution (page 2)
Fig. 2. A few pages from [22].
series in Scientific American [9]. He was particularly impressed with Loe's ability t o cut out any desired letter of the alphabet. Gardner [9] was the first t o state cutting out complex polygons as an open problem. What are the limits of this fold-and-cut process? What polygonal shapes can be cut out? In this paper, we prove that any collection of straight edges can be cut along, by a single straight cut after folding flat. This includes multiple disjoint, nested, and/or adjoining polygons, as well as floating line segments and points: a general plane graph. To solve this problem, we present an algorithm that computes the creases and the actual flat origami that lines up precisely the given plane graph. Cutting along this line hence achieves the desired result. The rest of this paper is outlined as follows. Section 2 provides formal definitions of folds and cuts. Section 3 states our main theorem, and presents several interesting consequences. In Section 4, we specify the basic crease pattern for our solution. Section 5 concentrates on specifying the possible foldings, and proving the correctness of the algorithm. We conclude in Section 6.
2
Background
Origami mathematics is the study of the geometry and other properties of origami (paper folding). The area of origami mathematics is still in its infancy, having only been seriously studied for the past twenty years. Geretschlager [lo] and Huzita and Scimemi [ 131 examined the geometric constructions possible with origami, and compared them to a ruler and compass. Bern and Hayes [4] showed that it is NP-hard t o determine whether a crease pattern is flat foldable, as is computing a flat folding (overlap order) given a suitable direction of folds (mountain-valley assignment). Hull [ 121 and Kawasaki [151 focus on necessary and sufficient conditions for flat foldability of crease patterns with a single vertex, which are also necessary conditions for general crease patterns. Justin [14] examines necessary and sufficient conditions on overlap orders, resulting in a characterization of flat foldability for general crease patterns.
106
E.D. Demaine, M.L. Demaine, and A. Lubiw
I ‘._
.’
I
Fig. 3. Minimal crease patterns for a n angelfish and a swan. T h e cut graph is drawn thick, and valleys [mountains] are drawn dashed [dot-dashed]. For the angelfish, fold in half first.
Lang has taken the most algorithmic approach. In [17], he describes an algorithm to construct “uniaxial” bases, which can then be folded into arbitrarily complex models. This solves a major problem in origami sekkei (technical folding). Lang’s work is related to ours: essentially, a portion of his solution deals with the fold-and-cut problem when the shapes to cut are all convex polygons. Two other papers study the fold-and-cut problem formally. Demaine and Demaine [5] solve the problem of folding a polygonal sheet of paper to map the paper’s boundary to a line. This result is in one sense much weaker and in one sense stronger than the present result. It is weaker in that it solves the fold-andcut problem only for convex polygons, where the folds exterior to the polygon do not interfere. It is stronger in that it describes the exact folding process, that is, the function that folds the piece of paper through time to the final folded state. This shows that the folding can be achieved while keeping the paper rigid (except at the creases), and allows animation of the folding process. Inspired by preliminary versions of this work, Bern, Demaine, Eppstein, and Hayes [3] have proposed an alternative solution to the fold-and-cut problem using the idea of disk packing. That solution is more “local” than the one presented here, which exploits and demonstrates the global structure of the problem. The advantage of the disk-packing solution is that the number of folds is bounded in terms of the number of vertices and minimum feature size. The origainis presented here, on the other hand, have the advantages of being more natural and easier to fold in practice. Our techniques have also helped extend work in algorithmic origami design [17,18]. The rest of this section defines the terminology used in this paper. A plane graph is a planar graph with a fixed embedding such that every edge is straight and has positive length, and every pair of (closed) edges intersects only at a shared vertex. We allow edges to have zero, one, or two actual vertices, corresponding to infinite lines, half-infinite lines, and line segments, respectively. A crease pattern is simply a plane graph. We will find it easier to consider folding an infinite plane, although the actual piece of paper will be a bounded subset of that. An origami or folding of a crease pattern [4,5,12,17] is a cont’in-
Folding and Cutting Paper
107
Fig. 4. Full crease patterns for a f a n c y star and a turtle. T h e cut graph is drawn thick, the straight skeleton is drawn solid, and the perpendiculars are dashed.
uous function from R2 to R3 with the following properties. First, the function must map every face of the crease pattern t o a congruent copy in three dimensions. Second, the folding must not induce any crossings; one way t o define this is to allow faces to be an infinitesimal distance apart (thereby defining their order), and enforce that the folding be a one-to-one function. Note that a folding gives the folded state, not the process of how to get t o the folded state. A flat origami is an origami whose image lies on a plane. We can define the mountain-valley assignment of a flat origami by assigning either “mountain” or “valley” to each edge in the crease pattern, according to whether it was folded by angle T or angle - T , relative t o the top side of the piece of paper.
2.1
Models of Cuts
This section specifies exactly what we mean by “making a cut.” A (complete) cut is a line. The natural mathematical model for applying a cut C t o some object 0 is to remove all the points along C from 0, that is, take 0 - C.In particular, if the piece of paper is an open set (e.g., the entire plane, or a polygon without its boundary), then the resulting pieces will also be open sets. This model is due t o Frederickson [8], and we call it a mathematical cut. Mathematical cuts are best modeled in real life by a laser. In particular, they do not correspond precisely to cutting with scissors, the problematic case being a fold and a cut that coincide. As an alternative to the mathematical cut model described above, we define a scissor cut so that when a fold and a cut coincide, the points on the fold are not removed. See Figure 5 .
Fig. 5. Cut (a) can be made by a scissor cut, whereas Cut (b) cannot.
108
3
E.D. Demaine, M.L. Demaine, and A. Lubiw
Results
We are now in the position to formally state the fold-and-cut problem. We are given a plane graph called the cut graph. We refer to vertices, edges, and faces of the cut graph as simply “cut vertices,” “cut edges,” and “cut faces.” Each cut face is also given a side of “above” or “below,” in what we call the side assignment. The problem is to find a flat folding of the paper and a line I , called the cut line, such that the intersection of the folding with 1 is exactly the (folded) cut graph. The folding must place cut faces above or below the cut line 1 according to the given side assignment. The most general result we could hope for is the following conjecture. Conjecture I . Given a cut graph and any side assignment, there exists a flat folding of the plane that maps the cut graph and nothing else to a common line, and appropriately maps cut faces above or below this line.
We will just fall short of proving this with the following theorem. The idea of linear and circular corridors will be described in Section 4.4. Theorem 1. Given a cut graph and a side assignment, such that either ( I ) the cut graph induces no circular corridors, or (2) the side assignment is constant (that is, it assigns all cut faces to the same side), then there exists a flat folding of the plane that maps the cut edges and nothing else to a common line, and appropriately maps faces above or below this line.
Precisely what this theorem says in terms of the original fold-and-cut application depends on the kind of cuts allowed. For mathematical cuts, we have the desired result that any cut graph can be achieved, by choosing the side assignment that puts every face above the cut line. If only scissor cuts are allowed, then we need a side assignment with the property that every cut edge is incident to two faces assigned to opposite sides (see Figure 5 ) . In other words, we want a face 2-coloring of the cut graph, where the colors correspond to “above” and “below.” This is equivalent to the cut graph being even, that is, having all vertices of even degree [16]. The following summarizes our results for both kinds of cuts. Corollary 1. Given a n y cut graph, there exists a flat folding of the plane and a line on this folding such that mathematically cutting along the line removes precisely the (folded) cut graph. If only scissor cuts are allowed, this result holds for even cut graphs that induce no circular corridors.
If Conjecture 1 holds, we can remove the no-circular-corridor constraint, which would prove the following slightly weaker conjecture: Conjecture 2. Given any even cut graph, there exists a flat folding of the plane and a line on this folding such that scissor cutting along the line removes precisely the (folded) cut graph.
Folding and Cutting Paper
3.1
109
Consequences
This section describes two consequences of Conjecture 2. What if the cut graph has some odd-degree vertices, but we are still only allowed to make scissor cuts? In [6], we prove that every planar bridgeless graph is the (nondisjoint) union of two even subgraphs. (A graph is bridgeless if it has no edges whose removal increases the number of connected components in the graph.) Assuming Conjecture 2, we can fold-and-scissor-cut the first subgraph; unfold, keeping the pieces together as before; and then fold-and-scissor-cut the second subgraph. In total, we make the entire graph with two scissor cuts. Hence, we have proved that Conjecture 2 implies the following: Conjecture 3. Given any bridgeless cut graph, there exist two flat foldings of the plane and a line on each folding, such that scissor cutting along both lines in both foldings removes precisely the (folded) cut graph.
In his article on paper cutting, Martin Gardner [9] mentions an “unusual single-cut trick that is familiar to American magicians.. .known as the bicolor cut.” The magician takes a thin piece of paper, colored red and black like an eight-by-eight checkerboard. After folding the paper flat, a single straight cut separates the red squares from the black squares, and simultaneously cuts out each square. Conjecture 2 implies a beautiful generalization of this magic trick. Conjecture 4. Given any subdivision of a sheet of paper into red and black regions, there exists a flat folding of the paper and a line on the folding, such that all red regions are above the line, all black regions are below the line, and scissor cutting along the line separates all of the regions and no more.
Theorem 1 proves this conjecture for all red-black subdivisions that induce no circular corridors. Unfortunately, a checkerboard is not such a subdivision, so this result is not a generalization of the magic trick.
4
Crease Pattern
This section describes the basic crease pattern for our solution to the fold-andcut problem, as well as the default mountain-valley assignment for some of these creases. The details of the folded state will be given in Section 5 , where we will need, in the circular-corridor case, to add some more folds and reverse some creases. The first collection of potential folds are the edges of the cut graph. More specifically, to satisfy the side assignment of faces above and below the cut line, we must fold along precisely those cut edges that are incident to faces assigned to the same side. By default, the fold is a valley between two faces above the cut line, and a mountain for two faces below the cut line. The next section describes the straight skeleton, which is the main component for lining up the edges of the cut graph. To make the straight skeleton foldable, we add folds that are perpendicular to the cut edges in Section 4.2. Section 4.3 shows an interesting phenomenon in perpendiculars called spiraling. Finally, Section 4.4 studies the structures formed between perpendiculars, called corridors.
110
E.D. Demaine, M.L. Demaine, and A. Lubiw
Fig. 6. Examples
of the straight skeleton: (a) Shrinking a single cut face. (b) A line segment. (c) T w o points, with the squares chosen t o be axis-parallel.
4.1
Straight Skeleton
A natural way to line up two edges is to fold along the bisector of their extensions. A generalization of this idea to arbitrary cut graphs is the straight skeleton. This structure is defined to be the trajectories of the vertices as we shrink the faces of the cut graph. Note that “shrinking” the external face may seem more like “expanding.” Formally, shrinking consists of continuously insetting each vertex towards the interior of the face, so that at any particular time, every shrunken edge is parallel to the original, and the perpendicular distance between the shrunken and original boundary edges is the same for all boundary edges. A face may split into multiple pieces, in which case we recursively shrink each piece. See Figure 6. A face may also become degenerate in the sense that two of its edges coincide to enclose a zero-area region; in this case, we include the edge as part of the straight skeleton. Cut vertices of degrees zero and one must be treated specially; see Figure 6(bc). A cut vertex of degree one is treated like an end of a rectangle with zero width. That is, we consider there to be an effective cut edge of length zero at the cut vertex, perpendicular to the incident cut edge. Similarly, a cut vertex of degree zero is treated like a square of zero area, with an arbitrarily chosen orientation. That is, we consider there to be four effective cut edges of length zero at the cut vertex, perpendicular in pairs to form a square. The straight skeleton has only recently received thorough study. The basic idea goes back to at least 1984 [20, pp. 98-1011. The term “straight skeleton” was coined by Aichholzer et al. [2] in 1995, where it was only defined for the interior of a polygon. They are also the first to publish an algorithm for computing the straight skeleton, running in O ( n 2logn) time. The definition and this algorithm were extended to general plane graphs by Aichholzer and Aurenhammer [l] in 1996. Recently, Eppstein and Erickson have developed an O(n17/11+‘)-time algorithm for general plane graphs [7]. The rest of this section describes some structure of the straight skeleton. Note that the straight skeleton is a plane graph. We will use “skeleton vertex,” “skeleton edge,” and “skeleton face” to refer to a vertex, edge, or face of the straight skeleton. Globally define n to be the number of vertices in the cut graph.
Folding and Cutting Paper
Fig. 7. (a) T h e definition
of
(b) Convex [reflex] portions
of
111
a n edge e bisecting two nonparallel edges el and e2. skeleton edges for the turtle are drawn solid [dashed].
Lemma 1. [l] The straight skeleton has O ( n ) vertices, edges, and faces. Lemma 2. Every cut edge is contained in exactly one skeleton face, and every skeleton face contains exactly one cut edge, i f we include the zero-length cut edges formed b y cut vertices of degrees zero and one. Proof. Straightforward. See [6].
0
Let e denote the line extending an edge e . Let e l and e2 be two edges that do not intersect except possibly a t a common endpoint. We say that an edge e bisects e l and e2 if one of three cases holds. The first case is when E , El, and E2 are distinct and parallel, and e sits midway between the other two; that is, the perpendicular distance between e and e l is positive and equals the perpendicular distance between e and e2. The second case is when e l and e2 are the same line, and e is perpendicular to them. Finally, the third case (see Figure 7(a)) is when E , El, and E2 are distinct and intersect a t a common point x , and e bisects the angle of a certain wedge W ( e , e l , e a ) .This wedge is one of the four wedges between El and e2; furthermore, it is one of the two such wedges that contain a portion of E. Specifically, W ( e ,e l , e 2 ) is defined to be the wedge between e l and e2 that contains a portion of E , and has all of e l or all of e2 on its boundary. This definition of W ( e ,e l , e2) is well defined by our assumption that e l and e2 do not cross. Lemma 3. Let e be a skeleton edge, let f 1 and f 2 be the two incident skeleton faces, and let c1 and c2 be the cut edges contained in f l and f 2 , respectively. Then e bisects c1 and c 2 . Proof. Straightforward. See [6].
0
As a step toward the mountain-valley assignment, we will now distinguish conwex and reflex portions of skeleton edges; refer to Figure 7(b) for examples. Let e be a skeleton edge bisecting cut edges c1 and c2. We follow the cases in the definition of “bisect.” If El and 22 are distinct and parallel, and e lies between them, then all of e is considered t o be convex. If El and E 2 are the same line, and e is perpendicular to them, then all of e is considered to be reflex. Finally, when e bisects W ( e , c l , c Z ) ,the portion of e inside the closed wedge W ( e , c l , c 2 )is
112
E.D. Demaine, M.L. Demaine, and A. Lubiw
considered t o be convex, and the portion in the closed complement is considered t o be reflex. Note that if the apex of W ( e , c l , c z )is in e , it is considered to be both convex and reflex. The default mountain-valley assignment for a skeleton edge depends on the side assignment of its cut face. For “above” faces, convex portions are folded as mountains, and reflex portions are folded as valleys. For “below” faces, this assignment is reversed.
4.2
Perpendiculars
The straight skeleton by itself is clearly not foldable; in particular, its vertices typically have degree three, whereas a flat-foldable crease pattern only has vertices of even degree [4]. Intuitively, we can add a fold perpendicular t o a cut edge, and maintain the property that the cut edges line up. What remains is t o explicitly specify these folds, and how they interact with the straight skeleton. The perpendicular associated with any point p E R2 consists of a collection of line segments, rays, and lines called perpendicular edges, each associated with a skeleton face f. They are recursively defined as follows. For each closed skeleton face f that p is in, let 1 be the line going through p and perpendicular t o (the line extending) the cut edge contained in face f. Let m be the connected piece of 1 n f that touches p ; this may be just p itself, a line segment of positive length, a ray, or a line. Then the perpendicular associated with p contains both m and the perpendiculars associated with the endpoints of m. We call m a perpendicular
edge associated with f. This completes the definition of perpendiculars. A real perpendicular is one that is incident to a skeleton vertex, and all other perpendiculars are called imaginary. We will only fold along real perpendiculars; imaginary perpendiculars will be useful for analyzing the structure of corridors in Section 5.1. Examples of perpendiculars can be found throughout Figures 3 and 4. In the definition of a perpendicular, we were careful t o associate each perpendicular edge with a particular skeleton face. This is especially important for perpendicular edges that degenerate to points; we call these zero-length perpendicular edges. For example, incident t o the middle skeleton vertex in Figure 6(a) are three perpendicular edges: an upward vertical ray, and two zero-length edges. Note that a zero-length perpendicular edge still has an orientation. A natural question at this point is whether a perpendicular always consists of a finite number of line segments. The answer is no, and we discuss this situation in the next section. However, the number of real perpendiculars is finite: Lemma 4. There are O ( n ) real perpendiculars.
Proof. This follows by Lemma 1 because the number of real perpendiculars is 0 at most the number of skeleton vertices. We now describe several properties of perpendiculars and perpendicular edges.
A first observation is that the perpendicular edge associated with skeleton face
Folding and Cutting Paper
Fig. 8. A simple exampl e
of
113
spiraling.
f is perpendicular t o the cut edge contained in f;in particular, all such perpendicular edges are parallel. Next let us demonstrate the ability to “walk around” with a pair of perpendicular edges in either of two directions. Lemma 5. Let el and e2 be two perpendicular edges associated with the same skeleton face. If el and e2 have ends v1 and v2, respectively, on a common skeleton edge s, then there are perpendicular edges ei and e6, incident to v1 and v2 respectively, and associated with the other face incident to s, such that the perpendicular distance between ei and e6 is the same as for el and e 2 .
Proof. The existence of ei and e6 follows from the definition of perpendiculars. The preservation of perpendicular distance follows because the skeleton edge s 0 is a bisector of el and ei, as well as e2 and e ; . Lemma 6. Let p be a perpendicular edge in skeleton face f whose ends lie on the interior of skeleton edges el and e2. If p intersects the cut edge contained in f, then p hits el and e2 in their convex portions; otherwise, p hits one of el and e2 in its convex portion and the other in its reflex portion.
Proof. See [6]. 4.3
0
Spirals
One interesting phenomenon that can happen with perpendiculars is spiraling. A simple example is shown in Figure 8. The cut graph (drawn in thick lines) is an infinite “pinwheel.” Each real perpendicular (drawn dashed) consists of an infinite number of edges in the whole plane, however:
Lemma 7. Any bounded region of the plane is intersected by only finitely m a n y real perpendicular edges.
Proof (Sketch). Suppose to the contrary. We first argue that the perpendicular graph must contain an infinite path of degree-two vertices. In the plane, this path is a simple Jordan curve. Such an infinite Jordan curve can spiral or zig-zag, or
114
E.D. Demaine, M.L. Demaine, and A. Lubiw .................................................
.........................................
........................................
2-wall linear
1-wall linear
2-wall circular
1-wall circular
Fig. 9. The four possible shapes of corridors.
do any combination of these things. However, because perpendiculars can only bend due to the presence of skeleton vertices, and since there are only finitely many skeleton vertices, we are able to prove that our path must eventually spiral inward. By Lemma 5 , consecutive rings of the spiral stay a constant width apart unless a skeleton vertex lies between the two rings, and again, this can happen only finitely often. Thus the inward spiral must eventually settle to some constant width, a contradiction. 0 By Lemma 1, the straight skeleton consists of a finite number of creases, so the basic crease pattern is finite in any bounded convex region of the plane. Unfortunately, the number of creases is unbounded in terms of the number of vertices, minimum distance between two non-incident cut edges, or similar metric.
4.4
Corridors
Together, all of the real perpendicular edges form the perpendicular graph. This section describes the structure of corridors, which are simply the faces of the perpendicular graph. Unlike in usual plane graphs, a corridor never consists of a bounded simply connected region. See Figure 9 for the shapes that corridors may have. We characterize a corridor first by its topology: we call it linear if its interior is homeomorphic t o an infinite band, and circular if its interior is homeomorphic t o an annulus. Second, we characterize a corridor by the number of its walls, which can be one or two: a wall is one of the perpendiculars that bound the corridor. The wall count is equal t o the number of connected components in R2 minus the interior of the corridor. Let C be a corridor, f be a skeleton face, and Cf be the intersection of f with the interior of C.Cf may be disconnected, but each connected component of Cf has a width defined t o be the minimum distance between two parallel lines that contain the region between them, and are perpendicular to the cut edge contained in f. By Lemma 5 , corridors have constant width in the sense that the width as defined above is the same for all connected components of Cf, and for all choices of f. This is the motivation for the term “corridor.” For onewall corridors, the width is infinite; and for two-wall corridors, the width is the perpendicular distance between two parallel, minimally distant perpendicular edges bounding C. The above claims are formalized in the following lemma.
Folding and Cutting Paper
115
Lemma 8 . Every corridor C i s either linear or circular but not both, and has either one or two walls. Furthermore, C has constant width.
Proof. Straightforward. See [6].
0
An example of a circular corridor is in the middle of the fancy star (Figure 4). Note that the inner wall consists just of zero-length perpendicular edges.
5 So far we have defined the basic crease pattern, consisting of skeleton edges, perpendicular edges, and some cut edges. We also have defined the default mountainvalley assignment for cut edges and skeleton edges. The goal of this section is t o describe a flat folding of this crease pattern. Here we concentrate on the case where there are no circular corridors. In this case, the basic crease pattern is complete, and the default mountain-valley assignment is correct. The problem splits naturally into two parts. In Section 5.1, we show how t o fold a single corridor into an “accordion” using alternating mountain and valley folds at the skeleton edges crossing the corridor (see Figure 10). We show that this accordion folding lines up all the cut edges in the corridor. This is done locally, but we show that the foldings of two adjoining corridors are consistent. In Section 5.2, we consider the global structure of how the corridors are joined. In case there are no circular corridors, this structure is a tree (see Figure 10). Each vertex of the tree corresponds to a perpendicular, and each edge of the tree corresponds to a corridor. If the paper lies originally in the xy plane, then the accordion folding maps each perpendicular to a line orthogonal t o the xy plane, and maps each corridor to a strip of a plane orthogonal t o the xy plane-the tree is precisely what we would see if we look at this folded structure from above, i.e. from the x direction. Because perpendiculars are orthogonal t o cut edges, all the cut edges lie in the xy plane in this folded structure. The whole problem then reduces to the problem of folding a tree flat in the plane. In the case of circular corridors, both of these steps need enhancing. First, a circular corridor cannot fold up into something as simple as an accordion; indeed, it may not be foldable at all if the side assignment is not constant. Second, the corridors are no longer joined in a tree-like fashion: it can be quite complex just t o join two corridors together without crossings. The proof for the circular-corridor case is much more difficult, and deferred t o [6]. 5.1
Accordions
Consider a corridor, the creases intersecting it, and the mountain-valley assignment for those creases. We need t o prove the existence of a folded state, which we call an accordion (see Figure l o ) , and we need to prove some properties of accordions. These results become obvious in the case where no crease terminates in the interior of a corridor. Skeleton edges pose no problem, but it is possible
116
E.D. Demaine, M.L. Demaine, and A. Lubiw A
,,
F,,
B
C
~.)))))))):> c::::::::::::::::::>
D
E
,,
,,
c::::::::::::::::::> G:.:.:.:.:.:H c:::.:.:.:.:.:.:.:.> c ,, I,,
,,
,,
,,
K,,
Fig. 10. (Left) Full crease pattern for a spiral polygon. (Middle) The shaded corridor folded into a n accordion. (Right) T h e tree model.
for a cut edge to terminate in the interior of a corridor. For example, four cut edges terminate in the interior of the lower-left corridor in the turtle (Figure 4). We can avoid this problem by adding the (imaginary) perpendiculars incident to cut vertices to our set of real perpendiculars, thus forming Subdivided corridors with the property we want: folds cannot terminate interior to a subdivided corridor. Note that we do not fold along these added perpendiculars: they are being used only for our current purpose of describing the folded state of a corridor. By Lemma 6, the creases in a subdivided corridor alternate between mountain and valley. Thus the accordion does not self-intersect. A fold at a skeleton edge lines up the two cut edges bisected by the skeleton edge. (Note that the cut edges need not be in the corridor.) Because each wall of the (subdivided) corridor is perpendicular to the cut edges, folding at the skeleton edge causes the two incident perpendicular edges in the wall to fold to a common line. Of course this is also the case when we fold at a cut edge. Hence, we have proved that when a corridor C is folded into an accordion, the cut edges intersecting C line up, and each wall of C lines up. The line(s) to which the wall(s) of C fold are called the side(s) of C ;they are the places at which accordions join to each other. We will orient accordions to be perpendicular to the xy plane. Lemma 9. Two adjacent corridors fold into accordions that match up at their common side.
Proof. See [6]. 5.2
0
Tree Model
We have shown that each accordion can be folded locally, and that they join compatibly, lining up all the cut edges. The problem thus reduces to folding at these joins so that the accordions lie on a common plane, resulting in the
Folding and Cutting Paper
117
desired flat origami. This can be modeled by folding a tree in two dimensions; see Figure 10. Specifically, this tree corresponds to the x y projection of the folded model: each edge corresponds to an accordion, and each vertex corresponds to a side of an accordion. This model is certainly a tree, because a corridor either has one wall, in which case it corresponds to a leaf, or else removing the interior of a corridor from the plane leaves two disconnected pieces, in which case it corresponds to a bridge in the graph. Finally, we need that every tree has a flat-folded state in the plane, that is, it can be folded to a line in the plane. This is straightforward; a proof can be found in [6]. Note that the mountain-valley assignment for perpendicular edges can be read from the tree folding. Our construction thus establishes Theorem 2. Given a cut graph that induces no circular corridors, and given a n y side assignment, there exists a flat folding of the plane that maps the cut edges and nothing else to a common line, and appropriately maps faces above or below this line.
6
Conclusion
We have presented an algorithm that computes the crease pattern and the resulting flat origami that lines up a given plane graph. This allows one to fold a sheet of paper flat and make one complete straight cut to create any desired pattern of cuts. Concisely, folding and one straight cut suffice to make any plane graph. When only scissor cuts are allowed (that is, cuts cannot be made along folds) and the graph induces no circular corridors, we have shown that one scissor cut suffices for graphs whose vertices all have even degree, and two scissor cuts suffice for general graphs.
Acknowledgments Many thanks go to Tom Hull and Rob Lang for many helpful discussions and for supplying us with important background material. We thank Marshall Bern for his suggestion to focus on proving flat foldability by constructing a folded state, instead of an entire folding process. Our correspondence with Greg Frederickson was very helpful, leading to his model of mathematical cuts in Section 2.1. We thank Jim Geelen and Dan Younger for information about the (apparently unpublished) theorem that every planar bridgeless graph is the union of two even subgraphs, used in Section 3.1. Finally, we thank Gisaku Nakamura for providing the 1721 reference to folding and cutting [22]. This work was supported by NSERC.
118
E.D. Demaine, M.L. Demaine, and A. Lubiw
References 1. 0. Aichholzer and F. Aurenhammer. Straight skeletons for general polygonal figures in the plane. In Proc. 2nd Int. Computing and Combinatorics Conf., pp. 117-126, Hong Kong, 1996. 2. 0. Aichholzer, F. Aurenhammer, D. Alberts, and B. Giirtner. A novel type of skeleton for polygons. JUCS, 1(12):752-761, 1995. 3. M. Bern, E. Demaine, D. Eppstein, and B. Hayes. A disk-packing algorithm for a n origami magic trick. In Proc. Int. Conf. Fun with Algorithms, Italy, June 1998. 4. M. Bern and B. Hayes. The complexity of flat origami. In Proc. 7th A C M - S I A M Symp. Discrete Algorithms, pp. 175-183, Atlanta, Jan. 1996. 5. E. D. Demaine and M. L. Demaine. Computing extreme origami bases. Tech. Rep. CS-97-22, University of Waterloo, May 1997. 6. E. D. Demaine, M. L. Demaine, and A. Lubiw. Folding and one straight cut suffice. Tech. Rep. CS-98-18, University of Waterloo, 1998. 7. D. Eppstein and J. Erickson. Raising roofs, crashing cycles, and playing pool: Applications of a data structure for finding pairwise interactions. In Proc. 14th A CM Symp. Computational Geometry, pp. 58-67, Minneapolis, June 1998. 8. G. N. Frederickson. Updates to Dissections: Plane and Fancy, July 1997. World Wide Web. http://www.cs.purdue.edu/homes/gnf/book/Booknews/ch2.html. 9. M. Gardner. Paper cutting. In New Mathematical Diversions (Revised Edition), chapter 5, pp. 58-69. MAA, Washington, D.C., 1995. 10. R. Geretschliiger. Euclidean constructions and the geometry of origami. Math. Mag., 68(5):357-371, 1995. 11. H. Houdini. Paper Magic, pp. 176-177. E. P. Dutton & Company, 1922. 12. T. Hull. On the mathematics of flat origamis. Congr. Numer., 100:215-224, 1994. 13. H. Huzita and B. Scimemi. The algebra of paper folding (origami). In Proc. 1st Int. Meeting of Origami Science and Technology, pp. 215-222, Ferrara, Dec. 1989. 14. J. Justin. Towards a mathematical theory of origami. In Proc. 2nd Int. Meeting of Origami Science and Scientific Origami, pp. 15-29, Otsu, Nov.-Dec. 1994. 15. T. Kawasaki. On the relation between mountain-creases and valley-creases of a flat origami. In Proc. 1st Int. Meeting of Origami Science and Technology, pp. 229-237, Ferrara, Dec. 1989. 16. D. Kiinig. Theorie der endlichen und unendlichen Graphen. Akademische Verlagsgesellschaft , Leipzig, 1936. 17. R. J. Lang. A computational algorithm for origami design. In Proc. 12th Symp. Computational Geometry, pp. 98-105, Philadelphia, May 1996. 18. R. J. Lang. TreeMaker 4.0: A Program for Origami Design, 1998. 19. G. M. Loe. Paper Capers. Magic, Inc., Chicago, 1955. 20. E. A. Lord and C. B. Wilson. The Mathematical Description of Shape and Form. Ellis Horwood Limited, West Sussex, England, 1984. 21. G. Nakamura. Personal communication, Dec. 1998. 22. K. C. Sen. Wakoku Chiyekurabe (Mathematical Contests). 1721.
An Interpolant Based on Line Segment Voronoi Diagrams Hisamoto Hiyoshi and Kokichi Sugihara Department of Mathematical Engineering and Information Physics, Graduate School of Engineering, University of Tokyo.
[email protected] [email protected] Abstract. This paper considers the interpolation for multi-dimensional data using Voronoi diagrams. Sibson’s interpolant is well-known as an interpolation method for discrete data using Voronoi diagrams. Recently, Gross and Farin extended Sibson’s interpolant to continuous data distributed over polygons and circles. On the other hand, the authors recently found another interpolation method for discrete data. This paper outlines the authors’ interpolation method briefly, and extends it to data distributed over line segments. For this purpose, we utilize line segment Voronoi diagrams. The resulting interpolant is expressed in terms of the integrations of the data function over the given line segments.
1
Introduction
Interpolation is practically important in many fields of engineering such as geometric modeling and measurements. The interpolation problem is generally defined in the following way. Let z be a function defined over a set D in the d-dimensional Euclidean space IRd . Suppose that a subset G of D is given, and the values of z|G are known. Then, the problem to estimate the values of z|D−G from our knowledge about z|G is called the interpolation problem. Each point of G is called a data site. When G is a set consisting of a finite number of points in IR1 , the problem is rather simple and a lot of interpolation methods are known, e.g., Lagrange interpolation. However, the problem becomes more difficult when d > 1. The finite element method is well-known and very practical to solve the interpolation problem in higher dimensions [4]. On the other hand, there is another approach towards this difficulty, which utilizes Voronoi diagrams [8, 10]. To see the applicability of Voronoi diagrams, recall the piecewise linear interpolant in one dimension. In order to estimate the value at some point, this scheme uses the values at the left-next data site and the right-next data site of the target point. In higher dimensions, the estimation of the value at some point can be made using the values of the “next” data sites if we can decide which
This work is supported by the Grant-in-Aid for Scientific Research of the Japanese Ministry of Education, Science, Sports and Culture.
J. Akiyama, M. Kano, and M. Urabe (Eds.): JCDCG’98, LNCS 1763, pp. 119−128, 2000. Springer-Verlag Berlin Heidelberg 2000
120
H. Hiyoshi and K. Sugihara
data sites are “next” to the target point. In order to decide the “next” data sites the Voronoi diagram can be used, because the Voronoi diagram is the partition of IRd according to the nearest-neighbor rule. At first, let us consider the case where data are distributed over discrete points in IRd ; such data are called discrete data. Thiessen proposed an interpolant using Voronoi diagrams for discrete data, but his interpolant is very primitive, and does not admit even the continuity [10]. Sibson made a great progress by proposing C0 and C1 interpolants for discrete data [8], which are based on the local coordinates property [7]. Properties of his method were examined further by Farin [1] and Piper [6]. On the other hand, the authors recently found another interpolant using Voronoi diagrams for discrete data with d = 2 [3, 9]. Another type of the interpolation problems arises when data are distributed continuously over figures, such as polygons and circles; such data are called continuous data. One method for this problem was proposed by Gross and Farin [2]. They extended Sibson’s interpolant to continuous data and applied their method to the data distributed over polygons and circles successfully. The purpose of this paper is to extend the authors’ interpolation method to continuous data, especially when G consists of a finite number of line segments. The resulting interpolant is based on line segment Voronoi diagrams. While the Gross-Farin method requires the integrations of the data multiplied by a certain function, our interpolant is expressed simply in terms of the integrations of the data themselves. Hence, the proposed interpolant is simpler to compute. In Sect. 2, we outline the authors’ interpolant for the discrete data. In Sect. 3, we extend the authors’ interpolant to continuous data and also present an example. In Sect. 4, we conclude our research and show our future research for the authors’ interpolation method.
2
Interpolation for Discrete Data
First let us outline the authors’ interpolant for discrete data. Let d(p, q) denote the Euclidean distance between two points p and q, |A| denote the length of a curve A, and CH(P ) denote the convex hull of a set P . The authors’ interpolant of this version solves the interpolation problem when G = {p1 , . . . , pn } for p1 , . . . , pn ∈ IR2 . This means that the values of the function z at the points p1 , . . . , pn are known. Suppose that we want to estimate the value at the target point p which is in CH(G) but does not belong to G. In order to estimate the value at p, we utilize the Voronoi diagram V for the generator set {p1 , . . . , pn , p}. In the Voronoi diagram V , the Voronoi region of p is a polygon each edge of which is a part of the bisector of the line segment ppi for some pi . Let e1 , . . . , ek be the Voronoi edges surrounding the Voronoi region of p, and pι(1) , . . . , pι(k) denote the generators generating e1 , . . . , ek , respectively. Now define that αi =
σi , di
An Interpolant Based on Line Segment Voronoi Diagrams
121
where σi = |ei | , and di = d(p, pι(i) ) for i = 1, . . . , k. Then, the following theorem holds: Theorem 1. In the above notations, the following identity holds wherever p lies in CH(G) − G: k
αi p =
k
i=1
αi pι(i) .
(1)
i=1
Proof. Refer to Theorem 1 in Sugihara [9].
Equation (1) implies that the point p can be expressed as the convex combination p=
k
βi pι(i) ,
(2)
i=1
where αi βi = k
j=1 αj
.
The authors’ interpolant z˜ is obtained by replacing pι(i) by z(pι(i) ) in (2): z˜(p) =
k
βi z(pι(i) ) .
(3)
i=1
Clearly, the function z˜ is continuous and z˜(p) → z(pi ) as p → pi . Refer to [3, 9] for the detail of the properties of the interpolant z˜. Figure 1 shows the obtained function using the author’s interpolant when z = exp(−(x2 + y 2 )/2). Each point in G was selected randomly in [−1, 1]2 . The vertical lines denote where the points in G are located. The length of each vertical line denotes the value of z at the lower endpoint of that line.
3 3.1
Extension to Data Distributed over Line Segments Strategy
In this section, we extend the authors’ interpolant to data distributed over line segments. Suppose that the values of z are given over G = {p1 , . . . , pnp } ∪ λ1 ∪
122
H. Hiyoshi and K. Sugihara
Fig. 1. The obtained surface using the authors’ interpolant for discretely distributed data
· · · ∪ λnl ⊂ IR2 , where p1 , . . . , pnp are points and λ1 , . . . , λnl are open line segments. Assume that p1 , . . . , pnp , λ1 , . . . , λnl are disjoint, but the endpoints of each λi are two of p1 , . . . , pnp . Figure 2 describes an example of the set G. In this paper, we use the following notational conventions: by the superscript “p” we mean that the concept is concerned with point data sites pi , and by the superscript “l” we mean that the concept is concerned with line segment data sites λi . Now let us describe the strategy for obtaining the extension. At first, each λi is replaced by Ni equidistant points qi1 , . . . , qiNi on λi , so that the problem is discretized. Thus, the interpolant given in the previous section is available. Then, the interpolant coincides exactly with z at pi , i = 1, . . . , np , and q ij , j = 1, . . . , Ni , i = 1, . . . , nl . Now increase every Ni to the infinity. Then, the resulting interpolant coincides exactly with z at every point on G. The resulting interpolant is expressed using integrations. 3.2
Result
This subsection gives the result of the strategy given in the previous subsection in terms of (decomposed) line segment Voronoi diagrams [5]. Consider the line segment Voronoi diagram for the generator set {p1 , . . . , pnp , λ1 , . . . , λnl , p}. Then, every Voronoi edge surrounding the Voronoi region of p is either 1. a line segment contained in the bisector of the line segment ppi with some pi , or
An Interpolant Based on Line Segment Voronoi Diagrams
123
Fig. 2. An example of data sites considered in this extension
2. a parabolic arc contained in the parabola whose focus is p and whose directrix is the line containing some λi . Let epi , i = 1, . . . , kp , denote the line segments surrounding the Voronoi region of p, and let ιp (i) denote the index of the point generator generating epi . In addition, let eli , i = 1, . . . , kl , denote the parabolic arcs surrounding the Voronoi region of p, and let ιl (i) denote the index of the line segment generator generating eli . Thus, epi is a part of the perpendicular bisector of the line segment ppιp (i) , and eli is a part of the parabola whose directrix is the line containing λιl (i) and whose focus is p. Figure 3 describes the above notations. In this figure, it is assumed that the values of the function z are given over the set G = {p1 , . . . , p9 } ∪ λ1 ∪ λ2 ∪ λ3 . Therefore, the line segment Voronoi diagram V for the generator set {p1 , . . . , p9 , λ1 , λ2 , λ3 , p} is constructed. In V , the Voronoi region of p is surrounded by the line segments ep1 , . . . , ep5 and the parabolic arcs el1 , . . . , el4 , so kp = 5 and kl = 4. Since the line segment ep1 is contained in the bisector of pp3 and so on, ιp (1) = 3,
ιp (2) = 5,
ιl (1) = 1,
ιp (3) = 6,
, ιl (2) = 2,
ιp (4) = 7,
ιp (5) = 8,
ιl (3) = ιl (4) = 3 .
For each line segment epi , the discussion in the previous section is available to calculate the contribution of epi to the interpolant. Therefore, define that αpi =
σip , dpi
124
H. Hiyoshi and K. Sugihara
p4 λ2
p2
p3
e1l
e2p p 3
e
p1
e1p
e2l
p5
λ1
p e3l
e5p e4p p7
p6
e4l p8 λ3
p9
Fig. 3. The Voronoi region of the target point
where σip = |epi | , and dpi = d(p, pιp (i) ) for i = 1, . . . , kp . In the following, we will concentrate on calculating the contribution of each parabolic arc eli to the interpolant. Let dli be the minimum Euclidean distance between p and any point q on the line containing λιl (i) , and li be the image of eli by the projection onto the line containing λιl (i) . In general, li does not coincide with λιl (i) . In Fig. 3, for example, l1 is a proper subset of λ1 , l2 is a proper subset of λ2 , and l3 and l4 are proper subsets of λ3 . To simplify the discussion, we choose the coordinate system such that λιl (i) is on the x-axis, and the coordinates of the target point p are (0, dli ). Then, the parabola containing the parabolic arc eli is written by y = hi (x) ≡
1 2 dli x + . 2 2dli
Let ai and bi be the x-coordinates of the left and right endpoints of eli , respectively. Note that li is denoted by {(x, 0) | ai < x < bi } in this coordinate system. Figure 4 describes the coordinate system associated with eli .
An Interpolant Based on Line Segment Voronoi Diagrams
p (0, d il)
125
y
rij ~ dij ri,j-1 ~ σij
λιl(i)
ai
∆i
bi qij
li
x
Fig. 4. Used coordinate system
Suppose that we discretize the line segment li = {(x, 0) | ai < x < bi } into Ni equidistant points qi1 , . . . , q iNi , where the coordinates of qij are (qij , 0) with qij = ai + (j − 1/2)∆i and ∆i = (bi − ai )/Ni . Then, we can interpret the point q ij as the representative point of all the points lying between (ai + (j − 1)∆i , 0) and (ai + j∆i , 0). The bisector bij of the line segment pqij is the tangent line of y = hi (x) at the point (qij , hi (qij )). Hence, bij is written by ˜ ij (x) ≡ h (qij )(x − qij ) + hi (qij ) = y=h i
2 qij qij dl x− l + i . l 2 di 2di
˜ i (x) by Define the piecewise linear function h ˜ i (x) = hij (x) h
for ai + (j − 1)∆i ≤ x ≤ ai + j∆i , 1 ≤ j ≤ Ni .
˜ i (x) converges to the parabolic arc Note that the piecewise linear curve y = h y = hi (x), ai ≤ x ≤ bi , as Ni → ∞. Let rij , 0 ≤ j ≤ Ni , be the points whose coordinates are (ai + j∆i , ˜hi (ai + j∆i )), respectively. rij is the Voronoi vertex generated by p, q ij and q i,j+1 . From the discussion in the previous section, the contribution of the point qij to the interpolant of discrete version is α ˜ ij =
σ ˜ij , d˜ij
where σ ˜ij = d(ri,j−1 , rij ) ,
126
H. Hiyoshi and K. Sugihara
and d˜ij = d(q ij , p) . From the definition, we obtain that
σ ˜ij = d(r i,j−1 , r ij ) =
1+
(hi (qij ))2 ∆i
=
2 + (dl )2 qij i
dli
∆i ,
and
d˜ij = d(q ij , p) =
2 + (dl )2 , qij i
which yields α ˜ ij =
1 ∆i . dli
Now we increase Ni to the infinity. Then we get the contribution of any point q on li to the interpolant as follows: 1 dq . dli
αli (q)dq =
Note that αli (q) is independent of the location of q. Now let us summarize the above discussion. The resulting identity corresponding to (1) is p
k
k l
αpi p +
i=1
i=1
p
li
αli (q)p|dq| =
k
k l
αpi pιp (i) +
i=1
i=1
li
αli (q)q|dq| ,
and the resulting interpolant is p
k
z˜(p) =
k l
αpi z(pιp (i) )
i=1
+
i=1
p
k
k
li
αli (q)z(q)|dq| .
l
αpi +
i=1
i=1
li
αli (q)|dq|
Here, from the fact that αli (q) is independent of the location of q, we obtain the identity p
k i=1
l
αpi p +
k |li | i=1
dli
p
p=
k i=1
αpi pιp (i) +
kl 1 q|dq| , dl i=1 i li
(4)
An Interpolant Based on Line Segment Voronoi Diagrams
127
and the interpolant p
k
z˜(p) =
αpi z(pιp (i) )
i=1
kl 1 + z(q)|dq| dl i=1 i li
p
k i=1
l
αpi +
k |li | i=1
.
(5)
dli
From the form of (5), we see that the interpolant requires only the integrations of the given data. Therefore, if every primitive function of z|λi is known, then computing the interpolant does not require numerical integrations. Figure 5 shows the obtained function using the author’s interpolant of continuous version when z = 1 − (x2 + y 2 )/2. The set shown in Fig. 2 was used as G.
Fig. 5. The obtained function using the authors’ interpolant of continuous version
4
Concluding Remarks
We first outlined the authors’ interpolant for discrete data briefly. Next, we extended the authors’ interpolant to data distributed over line segments according
128
H. Hiyoshi and K. Sugihara
to the discussion using the limitation of the interpolant of discrete version. The resulting interpolant is expressed in terms of the integrations of the data functions over the given line segments. If given data function has a primitive function, computing the resulting interpolant does not require numerical integrations. The following are directions of our future research: 1. Comparison of the authors’ interpolant with Sibson’s interpolant in both of discrete version and of continuous version. 2. Utilizing numerically disturbed Voronoi diagrams constructed by topologyoriented algorithms. 3. Application of the interpolants using Voronoi diagrams. Design of surfaces may be one of the potential applications.
References 1. Farin, G.: Surfaces over Dirichlet tessellations. Computer Aided Geometric Design 7 (1990) 281–292 2. Gross, L., Farin, G.: A transfinite form of Sibson’s interpolant. Discrete Applied Mathematics 93 (1999) 33–50 3. Hiyoshi, H., Sugihara K.: Another interpolant using Voronoi diagrams. IPSJ SIG Notes 98-AL-62 (1998) 33–40 In Japanese. 4. Lawson, C.L.: Software for C1 surface interpolation. In: Rice J.R. (ed.): Mathematical Software III, Academic Press, New York (1977) 161–194 5. Okabe, A., Boots, B., Sugihara, K.: Spatial Tessellations: Concepts and Applications of Voronoi Diagrams. John Wiley & Sons, Chichester (1992) 6. Piper, B.: Properties of local coordinates based on Dirichlet tessellations. In: Farin, G., Hagen, H., Noltemeier., H. (eds.): Geometric Modelling, Computing Supplementum 8, Springer-Verlag, Wien (1993) 227–239 7. Sibson, R.: A vector identity for the Dirichlet tessellation. Mathematical Proceedings of the Cambridge Philosophical Society 87 (1980) 151–155 8. Sibson, R.: A brief description of natural neighbour interpolation. In: Barnett, V. (ed.): Interpreting Multivariate Data. John Wiley & Sons, Chichester (1981) 9. Sugihara, K.: Surface interpolation based on new local coordinates. ComputerAided Design 31 (1999) 51–58 10. Thiessen, A.H.: Precipitation averages for large areas. Monthly Weather Report 39 (1911) 1082–1084
2-Dimension Ham Sandwich Theorem for Partitioning into Three Convex Pieces Hiro Ito, Hideyuki Uehara, and Mitsuo Yokoyama Department of Information and Computer Sciences, Toyohiisi University of Technology Toyohaei-si Tenpdcu-tyo Hibarignoka 1-1, 441-8580, Japan. {ito,uehara,yokoyama}Qtutica.tut .ac.j p
Abstract. Let ?ia 2 2, n 2 2, and Q 2 2 be positive integers, Let 8, and sb be two disjoint Rete of points in the plane such that no three points of S p U 86 are callinear, IS,l = nq, and lsbl = mq. This paper shows that Kaneko and ICano's conjecture is true, i.e., Sr U sb can be partitioned into q subsets PI,9,- -,Pq satisfying that: =m (i) COnV(Pi) nC O n V ( P j ) = 8 for all 1 5 i < j 1. Assume that mi(v)-7ni(v') > 1. (The case that rni(v) - rni(u') < 1 can be also proved by using a similar way.) From coriditioii ( 5 ) of Lemma 2, there is a sequence of points (v = V O , v1, . . . ,up = v') such that Irni(vj) - mi(vj+r)l 5 1for i = 1,2,3,i.e., pdist(vjuj+l) 5 1, for j = 0,1,. .. , P - 1. Thus put vertices v l , v2, . . ,vp-l between v and v'. Delete a link ( v , v') and put links ( v , v ~ ) (, v l , v ~ ) ., . ., (+I, v'). Obviously, they satisfy condition (iii). By using a similar method, we can also obtain that pdist(v, w') 5 1for each ( v , v') E E. The graph obtained here is denoted as G' = (V',E'). Note that G' satisfies conditions (ii), (iii), and (iv) but does not satisfy condition (i).
.
2-Dimension Harn Sandwich Theorem for Partitioning into Three Convex Pieces I 1
I
137
0
I
-.
Figure 8: First arrangement of vertices and links.
Figure 9: When (a) b(z) 4 &'(z) or (b) b ( z ) + t ( z ) .
To satisfy condition (i), we must prepare more vertices and add links between vertices to G'. The following Lemrnas 3-6 will be used for this object.
Definitions Denote center(&) by l ( z ) , Let t ( z ) (# a ) be a cross-point between Z? and bo(U). Denote cross-points between topline(&) and bo(U) by b'(z) and d ( z )
P k ) 4 .'(4)# Lemma 3 For anyx E (Ua-I")U{a), t ( z )3 C ( 4 5 44.
there is a partitionY(z) such thut b'(z)5 b ( z ) 5
Note that if b'(z) 5 b(z) 3 t ( z ) 5 c(z) 5 d(;c),then Y ( z )is convex.
Proof: Assume that b(z) 4 b'(z) (see Figure 9 (a)). Fkom lP3(z)nSrI= (wdg(al(s)W(z))n Srl = q g n , (wdg(b(z)zb'(z))n SFl= 0. Thus we can b(z) := b'(z). Assume that b(z) + t ( z ) (see Figure 9 (b)). From IPs(z)n Srl = Iwdg(at(z)b'(z)) n Stl = 4372, Iwdg(t(z)zb(z))n Srl= 8. Thus we can b ( z ) := t ( z ) .
138
H. Ito, H. Uehara, and M. Yokoyama
Figure 10: Lines 11, 1 2 , .
. . ,l k , regions W1,W2,...,w 2 k , and vertices %I,zz, .. .,w .
From the preceding discussion, b(x) can be in arc(b'(x)t(x)). By using the same discussion, c ( ~can ) be in arc(t(x)c'(z)). Q.E.D. T h e proofs o f the following Lemmas 4-6 arc?in Appendix.
Lemma 4 (See Figure 10.) Let x t~ V, be a cross-point of I", i.e., there are at least two lines l 1 , l 2 E J? such that x E lI and x E 1 2 . Let l l , l 2 , . . . , I & be lines which include x , There are 2k regions around x by partitioning by 1 1 , 1 2 , . . . ,l k . Let W IW2, , . . . ,W2k be the regions. Then, there is ri E Wi and partitions Y ( q )for each i = 1,2,.. .,2k such that: 2n-gon constructedfrom zi, i = 1,2,. .. ,2k contains no point of spusb if x or contains just one point x if x E S,.U
sb.
.
For each i = 1,2,, . ,2k, b'(zi) 5 b(zi) 5 convex). 0
.
For each i , j E (1,2,. ,2k}, pdist(q,zj)
5
t(~i)
C(Zi)
4 srusb,
1 ~ ( E s )(thus U(xi) is
5 1,
Lemma 5 Let z and g be points in (V,- I?) n {a} and Y ( z )and Y ( y ) are partitions on them such that: 0
ls(xy) crosses at most one line of r,
Lemma 6 Let x and y be points in (U,- I') n {a} and Y ( x ) and Y(y) are partitions on them such that: 0
Zs(xcy) crosses at most one line of I?,
2-Dimension Harn Sandwich Theorem for Partitioning into Three Convex Pieces
139
Now we try to prove Theorem 2 by wing these Lemmas. Proof of Theorem 2: G' satisfies conditions (ii)) (iii)) and (iv) of Theorem 2. For satisfying condition (i), we will add a new vertices and links. The adding algorithm is shown as follows.
Step 0: Let z E V,,be a cross-point of lines in I". By applying Lemma 4, new vertices q ,z 2 , . . ,Z Z ~can be added around s. z1,zz). .,E2k compose a 2n-gon including 2. By adding links between some pair of 21, z 2 , . . . ,2 2 h , a graph whose vertex set is {zl, 2 2 , . . .,d 2 k ) satisfying conditions (i)-(iii) can be obtained (Figure 11 (a)). By constructing such a subgraph for each cross-point x E V, of lines in r', graph G" is obtained (Figure 11 (b)).
.
.
I
I
I I
(b)
Figure 11: Process for cross-points.
140
H. Ito, H. Uehara, and M. Yokoyama I I
I I
Figure 12: Adding new vertices on all segments. c
C-
I I I
I
I
\
I \
i
------ --. \
I
\
\
I
I I
\
v
0
'
\ \
I I
\
I
\
I
?
I
I
v
0
'
Figure 13: Process for a long edge that contains of Inore than two edges.
Step 1: Add links to G" for making internal faces be triangles. However the new links added here may violate condition (iii). Let (z,y) be one of the links such that pdist(z,y) > 1. If Is(z,y) crosses more than one line of r', add a new vertex on eacli segment of Is(zy) partitioned by lines of I?' (Figure 12). Give a convex partition for each new vertex by applying Lemma 3. From this procedure, every link that does not satisfy condition (iii) crosses at most one line of I?'. By applying Lemma 5 recursively and Lemma 6 (if it is needed), every link will satisfy condition (iii) (note that more new vertices may be created, hence, condition (i) may not be satisfied yet). Step 2: Iterate Step 1 until all internal faces become triangles. We should show the preceding procedure stops in finite times. In G",each cross-point of lines of r' is surrounded by a subgraph made in Step 0. Thus if a link added in Step 1 is shorter than a fixed positive real number, then the link crosses a t most one line of I" (The positive real number is fixed from G" at the time when Step 1 finishes). Thus after a finite time passed, every new link crosses at most one line of I". Let W be a face which is not a triangle. W is a convex polygon, which consists of at least three edges. (Note that an "edge" means an edge of a polygon. It is distinguished from a link of the graph.) Assume W contains at least one edge whose length (= number of links contained in the edge) is more thau two. Consider one of sudi edges. Let 'uo bc at1 end vertex of the edge. Let w-1 and u1 be adjacent vertices to vo on W (Figure 13 (a)). If pdist(v-l,vl) 5 1, then add a link between them and the length of W becomes shorter (Figure 13 (b)). If pdist(v-l,vl) > 1, then by applying Lemmas 5 or 6, one new vertex v is found on ls(v-l,wo) such that pdist(v-l,u) 5 1 and pdist(u,q) 5 1. (Because pdist(v-l,vo) 5 I and pdist(v0,vl) 1.) By introducing w and links (2)-1,w) and (u,v1), W is divided into two faces (Figure 13 (c)). One face has the length four and another face's length is equal to W's length. Regard the latter face as W. By applying this
2-Dimension Harn Sandwich Theorem for Partitioning into Three Convex Pieces
141
Figure 14: Adding a new link curved very little.
procedure iteratively, every edge in W becomes having length at most two, i.e., for t t and v' such that the distance from v to v' on W (= number of links of the shortest path from v to v' that uses only links of W) is more than two are not on the same edge (we call this property short edge property). Let u and u' be non-adjacent vertices on W . When the distance between the vertices is greater than two, they are on different edges (because of the short edge property) thus adding a new link between them doesn't obstruct other links (i.e.) the new link does not overlap other links). When the distance between the vertices is two, they iiiay on the same edge, hence, if a new link is added between the vertices, then it overlap other links. In this case, the new link is regarded as curved line such that the curve is very little (Figure 14). Because the curve is enough little, the link doesn't obstruct other links which will be added in the future. Thus we can consider that a new link between non-adjacent vertices on W can be added without obstructing other link addition. Remember that W satisfies conditions (ii) and (iii) but does not satisfy condition (i), i.e., W is not a triangle. In the following part, we will show that W can always be divided into two faces, whose lengths are shorter than W's length. Denote max{rni(v) I v is a vertex on W )by m y . Similarly, denote min{rni(v) I v is a vertex on W ) by my'". Case 1: Assume that m y = mr'" or myaz = mmin Consider the case that m r r = m p here (the case that m y = rnp is similarly treated). Let vo be a vertex on W such that m 3 ( ~ 0 = ) m y . Let v-l_and v1 be adjacent vertices of vo on W. pdist(v-l,vl) 5 1 because rn~(v-l),rn3(v-l) = myaaor mya2- 1). Hence a new link ( ~ - ~ , v which ~ ) , does not violate condition (iii), can be added. The new two faces have shorter lengths than W. Case 2: Aesunie that mya0 = myin 1 or mra2 = mmint 1. Coiisider the case mmoa - mmin 1 here (the case that mraa= mayin1 is similarly treated). Assume that
.
+
+
+
there axe two vertices v and v' on W such that m3(v) = m3(v') and they are riot adjacent on W. From the assumption, the difference between ntz(v) and mZ(v') is at most one, hence, pdist(v, 21') 5 1. Thus a new link ( v , v'), which does not violate condition (iii), can be added. The new two faces have shorter lengths than W. Therefore, we can assume that every two vertices v and v' such that m3(21)= m3(v') are adjacent. This case occurs only when the length of W is four (Figure 15 (a), where (*, *, *) means ( m l ( v )mZ(v), , m3(v)), which is normalized to be that ml(v) mz(v)t 7713(v) = 0). However in this case, at least onc pair of opposite-corner vertices have the partition-distance 0 or 1. (See Figure 15 (b)(d)) Thus a new link can be added between the vertices and the new faces are triangle.
+
+
+
vra2
Case 3: Assume that myaa 2 rnp 2 and m y 3 my'" 2. Let (respectively, v?'") be a node such that m3(vraa) = m,,Z (respectively, m3(vY"') = m p ) . There are two paths fromvFaz to vTin which uses links of W only. Let PI and Pz be such paths. Pi
142
H. Ito, H. Uehara, and M. Yokoyama
(c)
(b)
(d)
Figure 15: Faces with length 4.
P
v 2=v
v 1=v 0
,o*
0, , I
Figure 16: (a) vertices.
vFin,
-
.
.
v *=v 0 .o
k
*.-.-
.
vraa, v i , and vf, (b) P = ( v i =
v 2=v
\
010, w1,
,9
.. ., wk = v i ) , and (c) new
+
contains at least one vertex vd such that m3(v;) = m p 1 (Figure 16 (a)). There are two paths which uses only links on W from v i to v;. Let P = (vi = vo, q ,, . . , v k = v i ) be the shorter path between them, where k is the length of P (Figure 16 (b)). Assume that mz(vo) 5 414) (The case that p 4 v 0 ) 2 m2(vh) can be similarly treated). If mZ(vk)- mz(vo) 2 k, then mz(vc)- m z ( ~ i - 12 ) 1 for every link (vj-11 v i ) on P. However, there must be a link (vi-1, v i ) on P such that m3(vi)- mJ(vi-1)= 1 (because P contains vyamor This implies t n l ( q , ~ )- 7 n l ( v { )>, 2. It contradicts to that ydist(vi,l, vt) 5 1. Therefore, m4vo) - rnz(vk) < k. Note that m3(vo) = m3(vh). Thus by applying Lemtna 5 iteratively between uo atid vk, a new path of which the length is shorter than 12 is created between them (Figure 16 (c)). h o r n this operation, W is divided into two new faces, which have shorter lengths than W. By applying the preceding discussion, the maximum leiigth of faces in G becomes shorter. Therefore the iteration of Step 1 - Step 2 must be finish. Q.E.D.
vrin).
5
Proof of the main theorem
Now, we obtained a graph G = (V,E) of Theorem 2. Define the following functions for vE
v:
f ( v ) = l((ms(o>- 43731) - (ma(v)- qzm))/2J, 9 b ) = m l ( 4 - q1m.
From condition (iii) of Theorem 2, f ( v ) and g ( v ) changes at most fl when v moves from a vertex to an adjacent vertex. The labels of ql, q 2 , and 43 are LOW,hence, n ~ l ( b ) - q l ? 0.
2-Dimension Harn Sandwich Theorem for Partitioning into Three Convex Pieces
Lemma 7 There is a path ( v l ,v 2 , . , . ,vk) in G,such that and f(q) = 0 for every i = 1,2,.. . , k.
v1
E Zs(ab) U Zs(ac),
143
uk
Proof: If there is no such path, there must be a pair of adjacent vertices u and u' such that f ( v ) 2 1 and f ( w ' ) 5 -1 (Note that all internal faces are triangles). It contradicts to condition (iii). Q.E.D. f(v1) = 0 means m3(v) - q3m = mz(v) - q p . By considering v1 E ls(ab) U ls(ac), - g3m = ma(v) - q2m < 0 (note that the labels of qz and q 3 are LOW). Hence, g(v1) = ml(u1) - qlm > 0. From that the label of (11 is LOW,g(uk) < 0 . Hence there must be vh E {?I, u 2 , .. ,vk} such that g(vh) = 0. Thus
m(w)
.
convex, therefore, it is a balanced coilvex partition. Now, the proof of Theorem 1 is completed. Y ( v h ) is
Acknowledgement: We express our gratitude to the referees for their valuable conixnents.
References 1. S. Beapamyatnikh, D. Kirkpatrick, and J. Snoeyink, Generalizing ham sandwich cuts to equitable subdivision, Proceedings of Fifteenth Annual ACM Symposium on Computational Geometry (SoCG'99), pp. 49-58 (1999).
2. J. Goodman and J. O'Rourke, Handbook of Discrete and Computational Geometry,
CRC Press (1997). 3. H.Ito, H. Uehara, and M. Yokoyama, 2-dimension 21am sandwich theorem for partitioning into three convex pieces (Extended abstract) , Proceedings of Jupan Conference on Discrete and Computational Geometry '98 (Collection of Extended abstracts), December, Tokai Uiiiv., pp. 69-73 (1998). 4. A. Kaneko and M. Kano, A balanced partition of points in the plane and tree
embedding problems, (submitted). 5. A. Kaneko and M. Kano, Balanced partition of two sets of points in the plane, (submitted) . 6. T. Sakai, Radial partitions of point sets in !R2 (Extended abstract), Proceedings of Japan Conference on Discrete and Computational Geometry '98 (Collection of Eztertded abstracts), December, Tokai Univ., pp. 74-78 (1998).
Appendix Proof of L e m m a 4: Let zi be enough close to x . Case 1: (Figure 17 (a))When z is a red point. Let p (respectively, p') be a red point puch that wdg(azp) (respectively, wdg(p'm)) contains just q3n. - 1 (respectively, q2n- 1) red points. Let w (respectively, w') be a cross-point between r(zp) (respectively, r(zp')) and
144
H. Ito, H. Uehara, and M. Yokoyama I
II I
I
Figure 17: Partitions for vertices around a cross-point. bo(U). For each x i , let wi (respectively, w:) be a cross-point between r(zip) (respectively, r(zip')) and bo(U). For ,zi E R($) r\ R(Z8): Let b{ E arc(awil be enough close to wi. For zi E L($) U L(&): Let b: E arc(wiw) be enough close to wi. 3
4 E arc(wla) be enough close to w:. For Zi E R(xp') U R(&): Let 4 E arc(wwi) be enough close to wi.
For zi E L(xp') n L ( d ) : Let 3
For .ti E R ( d ) , b ' ( Z i ) 4 W , because if w 5 b'(zi), then IP3(t(zj))n S,.l > q37a. It follows that even for zi E L(&), we obtain that "b'(zJ 4 w" or "b'(zi)is enough close to 20" by letting zt be enough close to z (remember Lemma 2). Thua we can also obtain b'(ai) 4 by letting 6 be enough close to wi. Thus we can set b ( q ) := bi. By using a similar discussion, we can show that 4 4 .'(xi) for all 4. Thus we can set c(zJ := 4. Case 2: When Is(zu) - ( 5 ) contains a red point. Let p (respectively, p') be a red point such that wdg(axp) (respectively, wdg(p'm)) contains just q3n - 1 (respectively, q2n - 1)red points. Let w (respectively, w ' ) be a cross-point between r(xp) (respectively, r(xp')) and bo(V), For each z;, let wi (respectively, w:) be a croas-point between r(zip) (respectively, r(zip')) and bo(U). For zi E L(&): Let E arc(wiur')) be enough close to w i . Let 4 E arc(wia) be enough close to w;. For zi E R(i&): Let Z( E arc(awi) be enough close to wj. Let 4 E arc(ww:) be enough close to w:. By using a similar discussion to Case 1, b'(zi) 4 and 4 4 ~ ' ( z ican ) be shown for all 4 . Thus we can set b ( ~ 4 := ) bi a d C(Zi) := 4. Case 3: When ls(x:a) contains no red point. (ls(za) may contain a blue pointl) Let p
(respectively, p') be a red point such that wdg(az:y) (respectively, wdgwza)) contains just q3n (respectively, q2n) red points. Case 3-1: Assume that Laxp > T or Lp'wu > T . If Laxp > T , then b(zi) := t ( z i ) . (Note that wdg(t(zi)zip) n S, = 8. Because if wdg(t(t.i)zip)n ST # 8, then I L ( d ) n Srl< q3n. It contradicts to the definition of &,.) By using a similar discussion, we can c(.t'i) := t ( z i ) if Lp'wa > T .
2-Dimension Harn Sandwich Theorem for Partitioning into Three Convex Pieces
145
Case 3-2: Assume that Laxp 5 T and Lp'wa 5 T , How to decide b ' ( ~ i )is shown as follows. d ( q )is decided by using the same method. Case 3-2-1: Assume that (r(xp) n (S, U Sb))- {p} = 8. Let zu be a cross-point betwccn r(xp) arid bo(U). For each zi, lct w( bc a cross-point bctwcen r(rip) and bo(U). Let E arc(awi) be enough close to zui. b'(q) 4 wi because if wi 5 b'(ai), then lP3(t(~j)) n S,l 2 q3n 1. Thus by letting bi be enough close to wi, we obtain that b ' ( q ) 4 b;. Therefore, can set b ( q ) := bi, Case 3-2-2: (Figure 17 (b)) Assume that there is a red or blue point q in (r(xp) n (S,u Sb))- {p}, i.e., ls(xp) contains two points of (S,u Sa). Let wj(p) be a cross-point between r(zip) and bo(U). Let wi(q) be a cross-point between r(xiq) and bo(U). wj := top(zoi(p),wi(q)). Let bi E arc(awj) be enough close to
+
Wj.
By using the same discussion to Case 3-2-1,b'(zj) 4 bi can be shown. Thus we can set b ( q ) := hi. (Note that it makes no effect to the decision of c(xi).) Q.E.D.
Proof of L e m m a 5:
We can consider that t ( x ) 5 t ( y ) and lm3(2) - m3(y)I > 1 without loss of generality. (If Im3(x)- rn3(y)I 5 1, then Im2(2) - mz(y)l 5 1 from the assumption. Thus turn them right-side left and change names of x and y, we obtain these conditions.) x' = r(yz)nbo(U) and y' = r(xy) n bo(U). It is enough to show that there is z E ls(ey) and a partition Y ( x ) such that
ma(4 I m2b) 5 ma(!/) Or m ( x ) 2 m z ( 4 2 mz(y)
' m ( 2 )< 7 . 4 2 ) < m3(y) or
7742)
> 4) > m&)
There are some cases of Y ( z )and Y(y) (see Figure 18). Case BI: b ( x ) 5 b(y),
BI-a: z' 2 b ( z ) 5 b(y), BI-b: b ( x ) 4 x' 3 b(y), BI-c: b ( z ) 5 b(y) 4 x'. Case BII: b(y) 4 b ( z ) ,
BII-a: x' 5 b(y) 4 b ( x ) , BII-b: b(y) 4 x'
4 b ( z ) , BII-c: b(y) 4 b(x)
+ 2'.
Case CI: c ( x ) 5 c(y),
CI-a: c(&) 5 c(y) 5 y', CI-b: ~ ( x5) y' 4 c(y), CI-c: y'
c ( x ) 5 c(y).
Case CII: c(y) 4 c ( x ) .
CII-a: c(y) 4 c(z) 5 y', CII-b: c(y) 5 y'
4 c ( x ) , CII-c: y' 4 c(y)
+c ( ~ ) .
In the following part, we will show that there is an appropriate x and a partition Y ( z ) for each case. In each case, there is a t most one point of S, U sb in wdg(zay). Because if there arc more than one point, ls(zy) crosses more than one line of I". It contradicts to the assumption.
Case (BI): From the assumption, V ( x ) 5 b ( s ) t
E Is(zy) - (2). Hence,
5 t ( x ) . From Lemma
2, b'(z) 4 b'(x) for all
146
H. Ito, H. Uehara, and M. Yokoyama
Y1
a
Case BI-a
Case BI-b
Case BI-c
Case BII-a
Case BII-b
Case BII-c
Case CI-a
Case CI-b
Case CT-c
Case CII-b
Case CII-c
r-- Yl a Case CII-a
Figure 18: Cases of b(a),b(y), c(x), and c(y).
2-Dimension Harn Sandwich Theorem for Partitioning into Three Convex Pieces
147
b b
a
U
Figure 19: (a) Caaea (BI-a)-1 and (b) (BI-a)-2, b'(z) 4 b ( x ) for all z E Is(zy) - {x}. Case
(1)
(BI-a):
From P3(2) C P3(y), there is no red point in &(y) - P3(c) (because if there is a red point, q3n = IPS(x)n Srl < IP3(y)n Spl = q3n. It is contradiction). Case (BI-a)-1: (Figure 19 (a)) Assume that there is a blue point p E wdg(zay) n R(xy). Denote a cross-point between i$ and ls(zy) by w . From lrn3(x) - rn3(y)J> 1, there is at least one blue point in wdg(b(x)zt(r))nL(yb(yj) (Note that there is no point of (Srusb) except for p in wdg(xuy)). Let one of the blue point in wdg(b(x)d(x))nL(yb(yj) be q. Consider z E Is(xw) which is enough close to 2. Let b' be a cross-point between r(zq) and bo(U). Eveii when b(y) 4 b', L ( 4 ) n R ( 2 ) n (Sr U Sb)= 0 (because if there is 3
such a point q', then gq' crosses ls(zy), however it contradicts to thc assumption). Thus (P3(2) n sb) U {q} C wdg(azV) n s b E (P3(y) r l sb) - {p}. Thus we can set b(z) := 6'. From (l),b'(2) 4 b ( t ) 44 t ( z ) . Case (BI-a)-2: (Figure 19 (b))Assume that there is 110 point of S p U S b in wdg(zuy)fl R(xy). born Irn3(x)-rn3(y)l > 1, there must be at least two blue points in wdg(zyb(y))n
R(2b(2J). There is at most one point in wdg(zay) n (Sp U
sb),
hence, there is at
least one blue point in wdg(b(a)zt(z)) n L ( y b 0 ) . Thus there is a blue point p E wdg(b(x)xt(x))nL(yG) such that wdg(b(z)zp)nL(y%)nSb
= 8. Assume that there is
3
a point pin wdg(b(z)rp)nR(y~)n(s,USb). crosses ls(ay), hence, wdg(yqz)n(SrUSa)
contains just one point p . However, it contradicts to that there are at least two blue points in wdg(zyb(y)) n R(x4). Therefore, wdg(b(s)zp) n R ( y 4 ) n (S, U Sb) = 8. Let b' be a cross-point between Zj!j and arc(b(z)t(x)). Consider z E ls(zy) - I" which is enough
~(ybo)
n (s, u sb) = 0, ( ~ 3 ( zn) (sr u sb)) u { p ) = close to x. From wdg(b(z)sp) n wdg(a2b') f l (S, U s b ) C (P3(y) n (S, U s b ) ) . Thus we Can set b(z) := V . Case P3(Y)
(BI-b): By using the same discussion to Case BI-a, there is no red point in
- P3(T).
Case (BI-b)-1: Assume that there is a blue point p E wdg(xuy) f7 R(zy). Denote a cross-point between i$ and Is(zy) by w . From Im3(z)- rn3(y)l > 1, there is at least one
blue point in wdg(b(e)x:t(x)) n L(yb(y)).
148
H. Ito, H. Uehara, and M. Yokoyama
a
a
Figure 20: (a) Cases (BI-b)-1-1 and (b) (131-b)-2-1. Case (BI-b)-1-1: (Figure 20 (a)) Assume that there is at last one blue point q E wdg(b(x)xz'). P ~ ( z ) n R ( ~ ) n ( S , U= S8 ~ (because ) if there is q' E Ps(z)nR(ii@n(S,USb), 3
qq' crosses ls(zy)). Let 6' be a cross-point between and arc(b(x)2'). Thus for a point wdg(utv) n ( s r u E PS(Y) n ( s r u s b ) - { p } . E ls(zw), pS(z) n ( s r u sb) u { q } Thus we can set 6(a) := b'. Case (BI-b)-l-Z: Assume that wdg(b(z)ze') n Sb = 8. There must be at least osne
sb)
blue point in wdg(x'z:t(x)) n L(yb(yj). This case can be treated as Case (BI-a)-1, hence, we can obtain an appropriate x E ls(xy) -I?' whicli is enough close to 2 and an appropriate b ( z ) as discussed in Case (BI-a)-1. Case (BI-b)-2: Assume that there is no point in wdg(xay) f l R ( 3 ) n (SrU Sb).F'rom Irns(x)-rn3(y)l > 1, there muat a t least two points in wdg(b(x)sx')Uwdg(z'yb(y))Ula(xx'). Case (BI-b)-2-1: (Figure 20 (b))Assume that there is a t least one blue point in wdg(b(z)ez') U ls(m'). Consider x E ls(zy) - r' which is enough close to z. Let y be a blue point in wdg(b(z)zz')Uls(zx') such that R(xb(rj)nL($)nSb = 8. Let wo be acrosspoint between $ and arc(b(z)b(y)). Consider a point 6' E arc(wob(y)) which is enough close to 200. Thus (p3(Z) fI (& u sb))u ( p } = Wdg(utg) n (Sp u sb) c p3(y) n (Sr u sa).
-+
(Note that P3(x) n R(tb') t l (Sp U sb) = 8,because t is enough close to 2.) Thus we can set b ( z ) := 6'. Case (BI-b)-2-2: Assume that there is no blue point in wdg(b(x)zs')Uls(sz'). Hence there must be at least two blue points in wdg(x'yb(y)). Thus the same discussion made in Case (BI-a)-2 can be applied. Therefore, we can obtain an appropriate x E ls(xy) - I" whicli is enough close to x and an appropriate 6 ( z ) as discussed in Case (BI-a)-2.
(BI-c): Case (BI-c)-1: (Figure 21 (a)) Assume that P3(z) n R(yb(yj) n (SrU sb) # 0 and
Case
~(yb(yj)n (sr u sb) # 0. aius 1p3(s)n ~ ( y b ( y j )n (s,u sb)l = 1 and ~ ~ ( r b ( znj ~) ( y b ( y j n) (sr u = 1 (because, if J P ~ ( n$ )~(yb(yj)n (sru &)I 2 2 or
~ ( z b ( z ) )n
IR(zb(zJ) n L(yb(yj) n (s, U &)I 2 2, ls(xy) crosses inore than one line in
r'). Let p and
p' be a point in P3(2)fl R(yb(y)) fl (Sr U sb) and a pont in R(rb(z)) nL(yb(yj) n (8,U Sb), respectively. There is no point in wdg(zuy) n(Sr US*) (because if there is a point q, ls(sy)
+
4).
crosses pp' arid p is red if and only if p' is red, because Pa(x)nS, = P3(y) nSp = q3n, Thus m3(x) = rng(y). It contradicts to the assumption.
2-Dimension Harn Sandwich Theorem for Partitioning into Three Convex Pieces
149
Figure 21: (a) Cases (BI-c)-1, (b) (BI-c)-2-1, (c) and (BI-c)-2-2.
Case (BI-c)-2: Assume that P3(x) n R(yb(yj) t l ( S p U
sb)= 8. Thus (P(y) - P ( z ) )t l
Sr = 8. Case (BI-c)-2-1: (Figure 21 (b))Assume that there is a blue point p E wdg(zay) L(yb(y)). Let w be a cross-point between E$ and Is(sy). Erom 1m3(.1;)-m3(y)l
n
> 1,There
is at least one blue point Q E R(zb(x)) n L(yb(y)). Let z be a point in Is(zw). Let wo be a cross-point between and arc(b(z)b(y)). Consider 6‘ E arc(wob(y)) which is enough close to wo. From wdg(zqy)n(S,U&) = 8 (because if there is a point q’ E wdg(zqy)n(S,USb),
2
+
c
usb) (p3(y)n ( s r u s b ) ) -{ p } Thus we can set b ( x ) := b’. Case (BI-c)-2-2: (Figure 21 (c))Assume that there is a point p in wdg(b(y)yz) n R ( d ) n (S, U s b ) . Let w be a cross-poiut between $ and l s ( q ) . R($) f l L($) fl also cross ls(zy). Moreover, (StU sb) = 0, because if there is such a point g, then wdg(zuy) f l (SpU sb) = (p}. Thus p3(y) n (SrU sb) = 8. It is contradiction. Therefore, this case does not occur. Case (BI-c)-2-3: Assume that there is no point in wdg(zuy) n n (S, U Sb). qq‘ crosses Is( zy)) (p3(5)n(srusb))u {g} = wdg(azb’)n( s v
R(a)
- m3(y)l > 1, There are a t least two blue points in R(zb(2)) n L(yb(yJ). Let p E R ( z 4 )nL ( y G ) be a blue point such that wdg(b(z)zp) n L(yb(prj) n (S, U Sb)= 0. From
Int3(Z)
Case (BI-c)-2-3-1: (Figure 22 (a)) Assume that wdg(b(z)xp)nR($)n(S,uSb) = 8. Consider z E ls(zy) I” which is enough close to z. Let wo be a cross-point between Z$ and arc(b(z)b(y)). Consider b‘ E arc(wob(y)) which is enough close to wo. (P3(2)n (S,U s b ) ) u { p } = wdg(axb’) n (Sru sb)C ( S ( y ) n (s, u sb)).Thus we Can set b(r) := b’. Case (BI-c)-2-3-2: Assume that wdg(b(z)xp)nR(~)n(S,Usb)# 8. Iwdg(b(z)xp)n
-
= 1, because if there are two points q, q‘, then Let q be a point in wdg(b(2)zp)n R($) n (S,U sb).
R($)
t l (S,U
-+
2 and pq’ cross ls(zy).
Case (BI-c)-2-3-2-1: (Figure 22 (b)) Assume that g E wdg(b(x)xp) n R(yb(yj). 3 There is a t least one blue point p’ in R($) f l L(y4). Both and p’q cross ls(zy). It
3
contradicts to the assumption. Thus this case doesn’t occur. Case (BI-c)-2-3-2-2: (Figure 22 (c)) Assume that Q E wdg(b(z)zp) nwdg(pyb(y)). q must be blue. Consider x E ls(zy) - I?‘ which is enough close to z,Let b‘ E arc(b(z)b(y))
+
+
such that p E R(zb‘) and q E L(zb’). (P3(z)t7 (SpU s b ) ) U { q } = wdg(uzb’) fl (S, U sb) C (P3(y) n (S, U Sa))- ( p } . Thus we can set b ( z ) := b’.
150
H. Ito, H. Uehara, and M. Yokoyama
Figure 22: (a) Cases (BI-c)-2-3-1, (b) (BI-c)-2-3-2-1, and (c) (BI-c)-2-3-2-2.
~ ( z b ( l l n) ~ ( y b ( y jn) (s,u sb) = 0.
Case
(BI-c)-3: Assume that
Case
(BI-c)-3-1: Assume that there is a red point p E wdg(zay) n L(yb(yj). Let
be a cross-point between
uf
and ls(zy). There must be a red point p' E P3(2) n R(yB(yj).
From lm3(z) - ms(y)l
> 1, there are at least two blue points in P3(z)n R(y4). R O R ~ + -+ wdg(zp'y) n (Sru S b ) = R(w') n L(YP') n (Sru Sb) = 0, I(wdg(axp') n wdg(b(y)yp')) u ( w d g ( p ' ~ b ( ~fl) )wdg(p'yz)) fls b l > 1. Case (BX-c)-3-1-1: (Figure 23 (a)) Assume that wdg(azp') n wdg(b(y)yp') n s b # 8; Consider z E ls(wy) which is enough close to y. There is 6' E arc(b(y)z') such that w d g ( a d ) and just one of points of wdg(azp') f l wdg(b(y)yp') f l sb is in wdg(azb'). It f O I h S that P ~ ( Yf )l sb C wdg(~z6')n sb C P'(2) f l s b and P3(y) n S r = wdg(az6') fl S p = ( P 3 ( z )n S,) U {p} - (p'}. Thus we can set b(z) := b'. Case (BI-c)-3-1-2: (Figure 23 (b)) Assume that wdg(azp') nwdg(b(y)yp') n sb = 0.
p'
+
Let wo be a cross-point between wp: and arc(&). Consider point z E ls(zw) and 2' E ls(ury) which are enough close t o w . b'(z') 4 wo (because if not, (P~(!(z')) n Srl> q3n 3
4
from R(xp') n L(yp') n (S,U sb) = 8 and that z' is enough close t o w ) . This and Lemma 2 implies that "b'(z) 4 wg" or "b'(a) is enough close to wo." Thus there is b' E arc(b'(z)z')
Figure 23: (a) Cases (BI-c)-3-1-1, (b) (BI-c)-3-1-2, and (c) (BI-c)-3-2.
2-Dimension Harn Sandwich Theorem for Partitioning into Three Convex Pieces
151
such that p' E wdg(arb') and just one of points of wdg(p'zb(z)) n wdg(p'yz) n s b is in wdg(uzb'). P3(4 n sb c wdg(aab') n SC, c PS(z)n and (PS(y)n S p ) u {p') - {p) = wdg(azb') n Sr = Pa(z)n Sp. Thus we can set b(z) := b'. Case (BI-c)-3-2: (Figure 23 (c)) Assume that there is a blue point p E wdg(zay) n
sb
L(yb(y)). Let w be a cross-point between $ and ls(zy). R(lg)nL(yb(yj)n(SrUSb) = 8 (which is a assumption of Case (BI-c)-3) thus there are at least three blue points in g, q', and 9'' be three of such blue points, where 6,"' E R(&. Consider a point z E ls(wy) which is enough close to'y. Consider b' E arc(b(y)z') such that
P3(z) n R ( y 3 ) . Let
+
3
3
+
6,q" E R(yb')- Fkom R(zq')nL(yg')n(SrUs,) = 8, (p3(y)n(srus6))u{q) E E L(yb') wclg(ozb') fl (SrU Sa) C P3(z) f l (S,U sb) U { p } - (q', q"}. Thus we can set b(z) := b'. Case (BI-c)-3-3: Assume that there is a point p E wdg(zay)nwdg(6(g)yz)n(SplJSb). By using the same discussion to Case (€31-c)-2-2,this caae does uot occur. Case (BI-c)-3-4: Assume that wdg(zay) n L($) f l ( S p U sb) = 8. Consider a point z E ls(zy) which is enough close to y. From lm3(z)- mS(y)( > 1, there are at least two blue points in P ( z ) n R(yb(y)). Thus by using a similar discussion to Case (BI-c)-3-2, there is b' E arc(b(y)z') such that (P(y) n ( S p U &)) U {g} E wdg(uzlr') n (s, U sb) C Q
( P ( z )fl (Sr U &)) - {g'}, where g and g' are blue points in P'(1) fl R ( y 4 ) . Therefore we can set b(z) := b'. Case (BII): Case
(BII-a): If L(zb(zJ)
n R(gb(yj) n
(Sp
U sb) #
8 and wdg(b(s)zy) n L(yb(y)) n (Sr U
# 0,then I L ( z ~ ) n R ( y ~ ) n ( S ~ U s=b1)and ( Iwdg(b(z)zy)nL(yb(yI)n(s~us~)l = 1 (because. Is(scy) crosses at most one line of I"),hence, lm3(z) - rn3(y)J5 1 (remember
sb)
that there is at most one point of s6)
S p
Us 6 in wdg(zay)). Thus L ( z 3 )f l R(yb(yj)
n(Sp U
= 0 or wdg(b(+y) n ~(yb(y))n (sp u s,i = 0. Case (1311-a)-l: Assume that there is a red point p E wdg(zuy) n R ( 3 ) . Let w
be a cross-point between ii#j and ls(zy). There must be a red point p' E R ( y 4 ) . Hence, wdg(yp'z) n (S,U
L(zb(l))
n
sb)= 8,L ( q ' ) n R(yp') n (S, U Sb)= 8,and Im3(z)-+
rn3(y)l > 1implies that there must be at least two blue points in (wdg(p'~b(z))nR(yp'))u
L(2)).
(wdg(b(y)vfl) n Case (BII-a)-1-1: (Figure 24 (a)) Assume that there is at least one blue point
-+
in wdg(b(y)yp') f l L(zp'). Let z be a point in ls(zy) which is enough close to v, i.e., V ( z ) is enough close to b'(y). Thus there is 'b E arc(bottom{b(y),b'(z)} b ( z ) ) such that wdg(b(y)yb') fl (Sr U Sb) contains only one blue point. P ( y ) n sb C wdg(az6') 17Sa C P ( z )fls b l P ( y ) n S p = wdg(aalr') n S p = ( P ( z )flSp) U {p} - {p'} and b'(z) 5 b' 5 t ( z ) , hence, we can set b(z) := b'.
+
Case (BII-a)-1-2: (Figure 24 (b)) Assume that wdg(b(y)yp') nL(zp')n(S,USb) = 8,
+
i.e., there are at least two blue point in wdg(p'zb(z)) nR(yp'). Consider points z E ls(ziu)
+
and z' E Is(wy) which are enough close to w . Let 2uo be a cross-point between wp' and arc(b(y)b(z)). b'(z') 4 wo, because if b'(z') 4 wo, then IP3(i?(z'))f l Spl > q3n. Hence "b'(z) tug" or "b'(z) is enough close to wo." Thus there is a point b' E arc(b'(z)b(z)) such that R ( 3 ) n L(xb(z)) n (SrU &) contains only one blue point g. From wdg(yqz) n L($) n ( S p u s b ) = 8, wdg(azb') n s b = pa(.) n s b - { q } . Thus we Can Set b(%):= b'.
152
H. Ito, H. Uehara, and M. Yokoyama
Figure 24: (a) Cases (BII-a)-1-1, (b) (BII-a)-1-2, and (c) (BII-a)-2-1.
a
a
Figure 25: (a) Cases (BII-a)-2-2, (b) (BII-b)-1-1, and (c) (BII-b)-1-2. Case (BII-a)-2: Assume that there is a blue poirit p E wdg(zay) 4 and ls(zy).
n R($).
Let w be
a cross-poiut between
(BII-a)-2-1: (Figure 24 (c)) Assume that L(zb(2)) n R(yA)n (s, U sb)= 8. From Im3(x)- m~(y)I> 1, there is at least one blue point in wdg(b(z)zt(z)) n L(yb(yJ) Consider E E ls(zy) - r' which is enough close to x. By using a similar discussion used in Case (BI-a)-1. We obtain an appropriate b' E arc(b(sc)t(z)). ZI'(E) 4 b'(z) 5 b ( x ) . Thus we can set b ( z ) := b'. Case (BII-a)-2-2: (Figure 25 (a)) Assuiiie that wdg(b(z)zy)nL(ya)n(S,.USb)= 8. Case
From Im3(Z) - m3(y)I > 1, there are at least three blue points in L(zb(z)) n R(yo(yj). Consider a point z E ls(zy) - I" which is enough close to y. Hciicc "6'(z) 5 b(g)" or " W ( z ) is enough close to b(y)." Thus thcre is a point b' E arc(b'(r)b(z)) such that
L ( 2 ) n R(yb(y)) n L ( z 4 ) n (SrU Sb) contains just one blue point q.
For any q' E
L(2b(r)) nR(yb(yj)tl Sb, wdg(yq'z) n (Sr U sb) = 8. Hence m3(y) + 1 = (wdg(aab') n Sbl < m 3 ( z ) and , P3(y) n S, = wdg(arb') r l S, = P3(y) n ST. Thus we can set b ( x ) := b'. Case (BII-a)-3: Assume that there is no point in wdg(zay) n R ( a ) n (Sr U sb).
2-Dimension Harn Sandwich Theorem for Partitioning into Three Convex Pieces
153
(BII-a)-3-1: Assume that L ( z 3 ) n R(yb(yj) n (S,U S') = 0. Thus there are at least two blue points in wdg(zyb(y)) f l R(za(z)). Consider z E ls(zy) - I?' which is enough close to x. By using a similar discussion used in Case (BI-a)-2.We obtain an appropriate 6' E arc(b(z)t(z)). V ( L )4 &'(z) 5 b ( z ) . Thus we can set 6 ( t ) := b'. Case
Case (BII-a)-3-2: Assume that wdg(b(z)zy) n L ( y 4 ) n (Sr U Sb) = 8. In this case, almost the same discussion to Case (BII-a)-2-2 can be applied. Thus we can obtaiu z E ls(zy)-I" which is enough close to y and appropriate b' such that we can set b(a) := b'.
(BII-b): Case (BII-b)-1: Assume that there is a red point p in wdg(zuy) n L(yb0). Let w be a cross-point between Z$ and ls(zy). There must be a red point p' E P3(z)n R(yb(yj). There are at least two blue points in P'(z) n R(yL(yj). Case (BII-b)-1-1: (Figure 25 (b)) Assume that there is at least one blue point in P3(2) nwdg(b(y)yp'). Let z E ls(wy) be enough close to y. Thus "b'(z) 5 b(y)" or "b'(z) is enough close. to b(y)." There is b' E arc(b(y)b(z)) such that wdg(azb') nP3(z)nR(yb(yj) n (Sr U Sb) contains only one blue point q. P3(y)nSb U { q } = wdg(azb') n Sb C P3(z) n Sa. (Note that wdg(yp'z) n (Sr U sb) = 8 when p' E R($).) b'(z) 2 b'. Thus we can set b(a) := b'. Case (BII-b)-1-2: (Figure 25 (c)) Assume that P ~ ( En)wdg(b(y)yp') n (S,U sb)= 8. Case
+
Thus there are at least two blue points in P3(2)n R(yp'). Consider points z E Is(sw) 4
and I' E Is(wy) which are enough close to 20. Let zo be a cross-point between r'p' and 6'(z') 4 ZO, because if b'(a') t zoI theri IP3(L(x')) n S,.l > q3n. Thus arc(b(z)b(y)). "b'(z) 4 zo" or "b'(z) is enough close to z ~ . " There is b' E arc(b'(a)b(z)) such that 3
p3(z)n ~(ylr(y)) n ~ ( n b ' n) sb contains only oIle blue point q. (p3(y) n s') u { q } E wdg(uzb') n s b C P3(z)n Sb. (Note that wdg(yqz) n (S,U Sb)= 8, when q E R($).) Thus we can set & ( z ) := b'. Case (BII-b)-2: (Figure 26 (a)) Assume that there is a blue point p in wdg(zay) n L(yb(yj). Let w be a cross-point between i$ and ls(zy). There are at least three blue points in Ps(z)f l R(yb(yj). Consider z E ls(wy) which is enough close to y. Thus "6'(z) j b(y)" or "b'(a) is enough close to y." There is b' E arc(b'(z)b(z)) such that
-+
P3(z) n R(z6') n (Stu Sb) contains just two blue points
q,q'.
wdg(yqz) n (St u Sb) = 0
W
b
a
n
(a) (b) Figure 26: (a) Cases (BII-b)-2 and (b) (BII-b)-4-1.
154
H. Ito, H. Uehara, and M. Yokoyama
(respectively, wdg(yq'z) n (S, U Sb)= 8 ) when q E R($) (respectively, g' E R ( 8 ) ) . Thus m3(y) < Iwdg(azb') n sbl = m3(z) - 1. Thus we can set b ( x ) := b'. Case (€311-b)-3: Assume that there is a red or blue point p in wdg(zay)nwdg(b(y)yz). By using the same discussion to Case (BI-c)-2-2, we can show contradiction.
Case (BII-b)-4: Assume that w d g ( x a a r ) n R ( ~ ) n ( S ~ U = ~ 68. ) Thus &(z)nR(g%) contains no red point and at least two blue points. Consider z E Is(zy) -r' which is enough close to y. Thus "b'(z) 5 b(y)" or "b'(2) is enough close to y." Let p be a blue point in
pa(%) n ~ ( g b ( y j such ) that ~ ~ (n2 jib) ) n s6 = 0. Case (BII-b)-4-1: (Figure 26 (b)) Assume that p E R($) and wdg(b(z)sy)nL($)n (SrU sb) # 0. Iwdg(b(z)zy) n L($) n (Sr U $)I = 1, because if there are two points q,ql,
3
-+
then arid pq' cross ls(zy). Let q be a point in wdg(b(z)zcy)f l L($) n (S,U Sb). Let wo be a cross-point between and arc(b(y)b(z)). n R ( 3 ) n (S,U Sa)consists of
L(4)
-+
only p (because if there is another point p', then p'q also cross Is(zy)). Hence there is b' E arc(b'(z)w0) such that L(zb(x))nR($n(S&Sb) = {p}. Thus rn3(g) < Iwdg(azb')n Sbl = ms(x) - 1. Thus we can set b ( z ) := 6'. Case (BII-b)-4-2: Assume that p 4 R($) or wdg(b(z)zy) n L($) n (S,U Sb)= 8.
-+
There is b' E arc(b'(r)b(z)) such that P3(z) n R(zb') n (SrU sb) = ( p } . T l w rn3(y) Iwdg(azb') fl sbl = m3(z)- 1. Thus we can set b(z) := b'.
0 and 7r > C Y ~ , C Y.~.,. , a , > 0. Question: Line segment [ a L , UR] in the z-axis of the plane is a stage. Floodlight i is fixed its apex on point (26,y;) in the plane and has light size ai.Is it possible to rotate the floodlights around their apexes so as to obtain a final configuration such that the stage is completely illuminated? The main result of this paper is described by the following theorem.
J. Akiyama, M. Kano, and M. Urabe (Eds.): JCDCG’98, LNCS 1763, pp. 158−165, 2000. Springer-Verlag Berlin Heidelberg 2000
NP-Completeness of Stage Illumination Problems
159
Fig. 1. The stage illumination problem.
Theorem 1 The stage illumination problem is NP-complete even if any one of the following restrictions holds:
(i) the number of points to which the apexes of floodlights are fixed as at most two and the two points have the same x-coordinate value, OT (ii) the number of points t o which the apexes of floodlights are fixed is at most two and the two points have the same y-coordinate value. The next corollary is directly derived from the above theorem.
Corollary 1 The stage illumination problem is NP-complete even if all points to which the apexes of floodlights are fixed are o n a line.
A line segment that is illuminated by floodlight i in the z-axis is denoted by [ l i , T J . It is clear that if a problem instance of SIP is feasible, there is a feasible solution such that t i # lj for all i # j . Thus for each feasible solutions, floodlights are arranged by the increasing order of t i . The arrangement is denoted by ( i l , iz, . . . , in). Consider a function a ( k ) = i k . Then a is a permutation of ( I , & .. . ,n>.
2
Proof of belonging to the class NP
Lemma 1 Suppose that a is a permutation of a feasible solution of a problem instance of S I P . Then, a solution such that
is also a feasible solution. Proof: Ift,,,) > a L , Segment [UL,1,(1)] can not be illuminated. Thus l , ( l ) 5 UL. Assume t,(l) < UL. If floodlight 1 is rotated to be = U L , then U R becomes larger, hence, it is also a feasible solution. Thus we obtain C,(1) = UL. Assume
160
H. Ito, H. Uehara, and M. Yokoyama
that tu(i)= ~ ~ ( i - l for ) , i = 2 , 3 , . . . k(< n). By applying a similar discussion, it can be easily obtained that &(k+l) = r u ( k ) is also allowed. By induction, the proof is completed. 0 This lemma means that for solving SIP, it is enough t o consider only solutions such that each illuminated segment [&, ri] does not overlapped other illuminated segments. Solutions satisfying such condition are called regular. For a permutation 0,there is only one regular solution. From lemma 1,it is sufficient t o consider regular solutions. Thus, the next lemma is easily obtained.
Lemma 2 The stage illumination problem belongs to NP.
3
Proof of NP-completeness
Now, we will prove Theorem 1 (i) by reducing the partition problem[l], which is NP-complete. Theorem 1 (ii) will be proved later by using a similar method.
Partition problem (PARTITION) Instance: Natural numbers a l )a2, . . . ,a,. Question: Is there a subset A c N = {1,2,,
. . ,n} such that
Proof of Theorem 1 ('2): From lemma 2, SIP belongs to NP. Thus it is sufficient to prove the NP-hardness. Let ( a l , a2, . . . a,) be a problem instance of PARTITION. Construct a problem instance of SIP as follows: )
1 " b= -x u ; , 2 i= 1
a=
7r
4(b
+ 1)'
/---
(2 - tan2cr) t a n a h= t a n 2 a - 2tancr ' tan a P = tan-'(-). h Prepare n
+ 1 floodlights; (zi,y;) = (0, I), for i = 1 , 2 ,
(xn+1i Yn+l) = (0, h ) , ai = a j a , for i = 1 , 2 , . Qn+1 = 2P. Let a stage be [-1,1].
I
NP-Completeness of Stage Illumination Problems
161
The relations among the floodlights and the stage is shown in Figure 2, where 1 y = tan-' -
(3)
h'
Fig. 2. The problem instance of SIP transformed from a problem instance of PARTITION.
We must show that these values can be calculated in polynomial time. The calculations contain tan and tan-', however, they should not be calculated precisely, i.e., they can be approximated very closely by rational numbers. Hence, they are calculated in polynomial time. A key of the reduction is letting h be large enough, thus the length of a segment illuminated by floodlight n 1 is changed very little even if floodlight n 1 is moved. On the other hand, floodlights 1, 2, . . . , n are close enough to the stage, thus we suffer a loss if one of them illuminates the center of the stage. Hence, floodlight n + 1 must illuminate the center of stage [- t a n a , tana]. We will show that the above discussions are correct as follows.
+
+
(I) PARTITION is feasible + SIP is feasible: Assume that there is a feasible solution of the problem instance of PARTITION A = {il, i2, . . . , ip} c N = (1, 2, . . . , n). N - A = { i p + i , i p + 2 , . . . , in}. Consider a regular solution ~ ( 1 2, ,
..., n +
1) = ( i l ,
i2,
..., i,
n + 1, ip+l,i p + 2 ,
+
... , in).
A set of floodlights {;I, i 2 , . . . , ip), a set of floodlights {n I}, and a set of floodlights {&+I, i p + 2 , . . . , i n } can illuminate [-1, - tana], [- t a n a , tana],
162
H. Ito, H. Uehara, and M. Yokoyama
and [tana, 11, respectively. Thus it is a feasible solution of SIP.
(11) SIP is feasible + PARTITION is feasible: Assume that there is a feasible solution of the problem instance of SIP ~ ( 1 2, ,
.. . ,
+ 1>= (ii, i 2 ,
. . . , i,,
n
+ 1, i p + l ,
ip+2,
. . . , in>.
L = {il, i 2 , . .., i p } . R = {&+I, i p + 2 , .. ., in}. Note that L and R may be empty. L (respectively, R) means a set of floodlights that illuminates the left (respectively, right) of the segment illuminated by floodlight n + l . bL = EiEL a; and bR = E i E R a i . Obviously, bL bR = 2b. If bL = b R = b, the problem instance of PARTITION is feasible. Hence, by symmetry, it is sufficient to consider the case such that bL 5 b - 1. The length of the segment that can not be illuminated by floodlights 1, 2, . . . , n is denoted by d. From bL 5 b - 1,
+
d 2 tan2a.
(4)
+
The length of the segment illuminated by floodlight n 1 is denoted by c. The upper bound of c is in the case when floodlight n 1 illuminates the left side, i.e., bL = 0. Thus,
+
c
5 1 - htan(y - 2p) < 2{1-
htan(y - p)}.
Now, d > c will be shown as follows: From (l), (2 - tan2a)tancu h2 = tan2a - 2 t a n a ' Thus itan2a-tana - tana h2 ' 1 - f tan2a 1 - tana ltana =1+1- f tan2a h2 '
1- t a n a 1 tan a = 1 - - tan2a. 1 + r 2
From (4) and ( 5 ) , d-c
> tan 2 a - 2 + 2h tan(y - p ) = tan 2a - 2 + 2
htany-htanp 1 tany . t a n p
+
From (2) and (3), h tan@= t a n a and h t a n y = 1. Hence from (7), d-c>tan2a-2+2
1- t a n a
tans.
1 + T
From (6) and ( 8 ) , d > c.
NP-Completeness of Stage Illumination Problems
163
That is, there is a segment that can not not be illuminated between [-1,1]. It is a contradiction. Thus, bL = bR = b. Therefore, the the problem instance of PARTITION is feasible. 0
.
Theorem 1 (ii) can be proved in a similar way: A stage and floodlights 1, 2, , . , n are defined as the same to Theorem 1 (i) and the apex of floodlights n 1 is fixed t o (x,+l, l), where xn+l is a small enough negative value, i.e., far from the stage. For examine such a condition, we consider the following problem. Consider a floodlight whose apex is fixed on ( 0 , l ) with light size p. Denote
+
4
Fig. 3. Explanation of f ( z , p).
the length of the segment illuminated by the floodlight when the left side of the segment is x by f ( x , p ) (see Figure 3). We can easily obtain that
f(x,p) = tan(tan-' x
tan@ + p ) - x = (11+- xx2) tanp
'
This is clearly an increasing function for x and p. Consider a condition that the floodlight firstly illuminates a segment with length a* and secondly it is moved to the right for increasing a L by one (see Figure 4). From f ( x , P ) = a*, tanp =
x2
+
a* a*x + 1'
Thus,
If 1 - a* > 0 and x > 1+ a*,
By using the preceding discussion, we can construct appropriate (xn+l, yn+l = 1) and a,+1 for proving Theorem 1 (ii).
164
H. Ito, H. Uehara, and M. Yokoyama
Fig. 4. The condition of the movement of the floodlight.
Proof of Theorem 1 (ii): From a problem instance of PARTITION (q,a2, . . . , a,), construct a probleminstance of SIP as follows: b, a , (21, yl), (22,y2), . . . , (x,, y,), and a l , a2, . . . , a , are defined as the same way to Theorem 1 (i). (%+l,Yn+l)
a,+1
3 = (---- t a n a , I) (tana)2 ~(tana)~ = tan-' ( t a ~ ~ a6)( ~ t a n ~ r+ ) ~9 '
+
+
Note that floodlight n 1 can just illuminate [- t a n a , tana] of the stage. We can show that if the problem instance of PARTITION is feasible then the problem instance of SIP is feasible, by methods similar tothose used in the proof of Theorem 1 (i). Thus it is enough to show that if the problem instance of SIP is feasible then the problem instance of PARTITION is feasible. Assume that there is a feasible solution of the problem instance of SIP. Define b L and bR as in Theorem1 (i). If b L = bR = b, the problem instance of PARTITION is feasible. Thus we assume that bL 5 b - 1 or bL 2 b + 1. Define c and d the same way as in Theorem 1 (i). Then (4) also holds. The upper bound of c is in the case when floodlight n 1 illuminates the right side of the stage. If r,+l moves from tan a! t o 1, then the length of the movement of &+I is less than 1 - t a n a , which is the length of the movement of r,+l. Therefore, from (lo), the difference c (= the length illuminated by floodlight n 1 when ~ , + 1 = 1) and 2 tan a (= the length illuminated by floodlight n 1 when r,+l = tan a) is
+
+
+
= 2(tar1a)~. From (4) and (11)) d-c>2tana
[1
1 - (1 (tana)2
+ (tana)2}]
> 0.
NP-Completeness of Stage Illumination Problems
165
Now, we obtain d > c, thus there is a segment that can not be illuminated between [-1,1]. Therefore, b L = bR = b. From the preceding discussions, the problem instance of PARTITION is feasible. 0
4
Concluding remarks
In this paper, we showed that the stage illumination problem, presented by Urrutia, is NP-complete. We also showed that NP-completeness remains even if the number of points to which the apexes of floodlights are fixed is at most two. Thus, one of the remaining interesting problems is finding a significant subclass of the stage illumination problem that can be solved in polynomial time. But it doesn’t seem so easy. We have a conjecture that it is also NP-complete even if all floodlights have the same light size a*.
References 1. M. R. Garey and D. S. Johnson, Computers and Intructability: a Guide to the Theory of NP- Completeness, Freeman, 1979. 2. J. Urrutia, Art gallery and illumination problems, Proceedings of Discrete and Computational Geometry Workshop ’97, Tokai University, pp. 1-57, 1997. 3. J. Urrutia, Art gallery and illumination problems, J.R. Sack and J. Urrutia eds., Handbook on Computational Geometry, Elsevier Science Publishers. (to appear; a draft is in http:/ /www .site.uott awa.ca/ ‘jorge/online-papers/)
On the Maximum Degree of Bipartite Embeddings of Trees in the Plane Atsushi Kaneko Kogakuin Univcrsity Nishi-Shinjuku, Shinjuku-ku, Tokyo 163-8677, Japan E-mail:kanekoQee. kogakuin.ac.jp Abstract. A geometric graph G = ( V ( G ) , E ( G ) is ) a graph drawn in the plane such that V ( G ) is a set of points in the plane, no three of which are collinear, and E ( G ) is a set of (possibly crossing) straight-line segments whose endpoints belong to V ( G ) .If a geometric graph G is a complete bipartite graph with partite sets A and B , i.e., V ( G )= A U B , then G is denoted by K ( A , B ) . Let A and I3 be two disjoint sets of points in the plane such that IAI = IBI and no three points of A U B are collinear. Then we show that the gcoinet,ric cornplct,c bipsrtitc! graph K ( A , B) contains a spanning tree T without crossings such that the maximum degree of T is a t most 3.
1
Introduction
Let G be a finite graph without loops or multiple edges. We denote by V ( G )and E ( G ) the set of vertices and the set of edges of G, respectively. For a. vertex v of G, we denote by degG(v) the degree of v in G. For a set X ,we denote by the cardinality of X . A geometric graph G = ( V ( G ) , E ( G )is) a graph drawn in the plane such that V ( G )is a set of points in the plane, no three of which are collinear, and E ( G ) is a set of (possibly crossing) straight-line segments whose endpoints belong t o V ( G ) .If a geometric graph G is a complete bipartite graph with partite sets A and B,i.e., V ( G )= A U B , then G is denoted by K ( A , B ) , which may be called a geometric complete bipartite graph. In 1996, M. Abellanas, J. Garcia, G. HernAndez, M. Noy and P. Ramos [l] showed the following result.
1x1
Theorem A ( Abellanas et al. [l]) Let A and B be two disjoint sets of points in the plane such that IAI = IBI and n o three points of A U B are collinear. T h e n the geometric complete bipartite graph K ( A , B) contains a spanning tree T without crossings such that the m a x i m u m degree of T is O(1og IAI). In this paper we improve their result and prove the following theorem. Theorem 1 Let A and B be two disjoint sets of points in the plane such that IAI = IBI and no three points of AUB are collinear. T h e n the geometric complete bipartite graph K ( A , B ) contains a spanning tree T without crossings such that the m a x i m u m degree of T is at most 3. J. Akiyama, M. Kano, and M. Urabe (Eds.): JCDCG’98, LNCS 1763, pp. 166−171, 2000. Springer-Verlag Berlin Heidelberg 2000
On the Maximum Degree of Bipartite Embeddings of Trees in the Plane
167
As a matter of fact, M. Abellanas, J . Garcia, G. Hernhdez, M. Noy and P. Ramos [I] proved a, stronger result. Theorem B ( Abellanas et al. [l]) Let A and B be two disjoinst sets of points in the plane such that IAI = a , IBI = b, a 5 b and n o three p o i n h of A u B are collinear. T h e n the geometric complete bipartite graph K ( A , B ) con,tain,s a b spanning tree T without crossings s m h that th8em a m h u m degree of T as O( - + n. log a ) .
b Under the assumption of Theorem B, set [-1 = k and A = {ul,212, a Replace each point ui of A with a point set Ui,where Ui is contained small circular disc centered at the point u ; , k - 1 5 lUil 5 k and I U:=, Applying Theorem 1 with A = Ur=l Ui and shrinking every Ui to the we establish the following theorem, which improves Theorem B.
. . ., ua}. in a very UiI= b. point ui,
Theorem 2 Let A and B be two disjoint sets of points i n the plane suJch that
IAI 5 lBl,
1-1PI
I4
= k and n o three points of A U B are collinear. T h e n the
geometric complete bipartite graph K ( A , B ) contains a spanning tree T without crossings such that the m a x i m u m degree of T is at m o s t 3 k .
2
Proof of Theorem 1
In order t o prove Theorem 1, we need some notation and definitions. For a set X of points in the plane, we denote by conv(X) the convex hull of X. Points in the plane are said to be in general position if no three of them are collinear. For two points x and y in the plane, we denote by xy the straight line segment joining x t o y, which may be an edge of a geometric graph containing both x and y as it vertices. Let A be a set of points in the plane, let y be a vertex of conv(A) and let x be a point exterior to conv(A). Then we say that x sees y on conv(A) if the line segment xy intersects conv(A) only at y. We first prove Lemma 3, which plays a crucial role in the following argument. Lemma 3 Let R and S be disjoint sets of points in the plane and w be a point in the plane not contained in conv(RUS) such that 2 5 IRI 5 I S1 and R u S u { w } is i n general position. If the two vertices v1 and 212 of conv(RU SU {w}) adjacent to w are contained in R, then we can partition R U S into two nonernpty sets D1 and 0 2 which satisfies the following five conditions: (a) v1 E D1 and v2 E D2, (ii) 101f~R ( = 101f~S ( , (iii) conv(D1 U {w}) and conv(D2 u {w}) intersect only at w , (iv) the vertex (other than v1) of conv(D1 U {w}) adjacent to w belongs to S , and (v) the vertex (other than v2) of conv(D2 U {w}) adjacent to w belongs to S(see Figure 1).
168
A. Kaneko
Fig. 1. A partition D1 U D2 of R U S, where R = { 0 ) and S = ( 0 ) .
Proof We prove the lemma by induction on IRI. If IRI = 2 then the lemma follows immediately, and so we may assume IRI 2 3. By a suitable rotation of the plane, we may assume that w lies on the bottom of conv(R U S U {w}). Moreover in this case, we shall prove the lemma with the additional property that D1 lies to the left of D2.We now consider rays emanating from w and going upward, and so a ray means such a ray in this proof. We define a function f of a ray r by f ( r ) = {the number of points of R lying on or to the left of r } - { the number of points of S lying on or to the left of r } . Let rl and r2 denote the rays that passes through the left vertex and the right vertex of conv(R U S U {w}) adjacent to w, respectively, and let r; be a ray obtained from 7-2 by a very small counterclockwise rotation around 20. Then f(r1) = 1 and f ( r h ) = IRI - 1 - IS1 5 -1. Since the value o f f changes f l and since f(r1) > 0 > f ( r h ) ,there exists a ray r , such that f ( r a )= 0 and ra passes through a point of S. We next rotate r , clockwise around w until it meets a new point b of R U S, and denote the ray by rb. If rb passes through a point of S, then let D1 and 0 2 be the set of points of R u S lying on or t o the left of r , and that of those points lying on or to the right of rb, respectively. Then D1 U D2 is the desired partition. If rb passes through a point of R, then let R1 and S1 be the subsets of R and S, respectively, whose points lie on or to the right of rb. Then R1, S1 and w satisfy the assumption of the lemma, and hence by the inductive hypothesis, there exists a partition 0 3 U D q of R1 u S1 that satisfies the conditions of this lemma together with the condition that D3 lies to the left of D4.Consequently we can obtain the desired partition (Dl U 0 3 ) U 0 4 of R U S . 0 Actually, to prove Theorem 1, we establish a somewhat stronger result. Theorem 4 Let A and B be disjoint sets of points in the plane suxh that IAI =
IBI and A U B is i n general position. Let x anld y be two distin,ct vertices of conv(A U B ) . T h e n K ( A , B ) contains a spanning tree T without crossings such
On the Maximum Degree of Bipartite Embeddings of Trees in the Plane
169
that the maximum degree of T is at most 3, deg,(x) 5 2 and degT(y) 5 2. Proof The proof proceeds by induction on lAl(=lBl). By symmetry, we may assume that x E A. Let a1 and a2 be two distinct vertices of conv(AUB) adjacent to 2. We consider two cases, depending on whether ai belongs t o the set B or not. Case 1. a1 E B or
a2
E
B.
Without loss of generality, we may assume a1 E B. Set A' = A - {x} and B' = A- {al} and consider conv(A'UB'). If there exists two consecutive vertices z1 and 2 2 of conv(A' U B') such that both a1 and x see each zi, 1 5 i 5 2, on conv(A' U B')) then we may assume that z1 # y. The case where a1 = y is much easier t o handle than the one where y is in A' U B'. Thus we assume that y is in conv(A' U B'). Since a1 and x belong to different sets, we may assume that z1 E B. Applying the induction hypothesis t o conv(A' U B ' ) )with y and z1 being two specified vertices, we obtain a spanning tree T' (of K(A', B')) without crossings such that the maximum degree of T' is at most 3, degT,(y) 5 2 and degT, (21) 5 2. Hence we have the desired tree T' U alx U xz1. So suppose that there is the only vertex x of conv(A'UB') which both a1 and x can see on conv(A' U B ' ) . Notice that z is completely interior t o conv(A U B) (i.e., z is not a vertex of conv(A U B ) ) . This implies that z # y. Applying the induction hypothesis t o conv(A' U B')) with y and x being two specified vertices, we obtain a spanning tree T' (of K(A', B ' ) ) without crossings such that the maximum degree of T' is at most 3, degTl(y) 5 2 and degT,(z) 5 2. Consequently T' U allc U xz or T' U alxU alz is the desired tree.
Case 2. a1 E A and
a2
E A (see Figure 2).
A1 = ID,n BI
ID,
n
\ \
"2
\ \
\ I
O X E A
Fig. 2. A partition D1 U D2 of ( A - {z}) U B,where A = ( 0 ) and B = (0).
Consider the sets A - {x} and B. Applying Lemma 3 to these sets with - {x}, S = B and w = x, we can partition A - {x) u B into two
R = A
170
A. Kaneko
nonempty sets D1 and 0 2 such that (i) a1 E D1 and a2 E D2, (ii) ID1 n A J = ID1 nBI, (iii) conv(D1 u {z}) conv(D2 u {z}) intersect only at 2, (iv) the vertex bl (other than al) of conv(D1 U {x}) adjacent to z belongs to B , and (v) the vertex b2 (other than a2) of conv(D2 U {z}) adjacent to x belongs t o B. Set Dz-{bz} = Dk. Then 1D;nAl = 1D;nBI. By symmmetry, we may assume that y E D1 U {bz}. By the argument similar t o that of Case 1, we can deal with the case where y is in D1. Thus, for the sake of brevity, we assume that b2 = y. It is clear that there is at least one vertex z of conv(D1) which both b2 and x see on conv(D1). Since b2 = y, we have z # y. Since b2(E B ) and Z(E A ) belong t o different sets, we may assume that z E B . Let z’ be any vertex of conv(D1) other than z . Applying the induction hypothesis to conv(D1), with z and z‘ being two specified vertices, we obtain a spanning tree TI (of K(D1 n A , D1 n B ) without crossings such that the maximum degree of TI is at most 3, degTl(z) 5 2 and degT,(z’) 5 2. Now consider conv(D2) and let c1 and c2 be the two vertices of conv(D2) adjacent to b 2 . It is obvious thak x sees one of c1 and c2 on conv(D2)) say c2. We consider two subcases, depending on whether c; belongs to the set A or not.
Subase 2-1. c1 E A or c2 E A . By symmetry, assume that c1 E A . Applying the induction hypothesis to conv(D;), with c1 and c2 being two specified vertices, we obtain a spanning tree T2 (of K ( D ; n A , Dh n B ) ) without crossings such that the maximum degree of T, is at most 3, degT2(cl) _< 2 and degT2(c2) 5 2. Hence we have the desired tree TI U z z U zb2 U b2c1 U T2.
Subcase 2-2. c1 E B and c2 E B (see Figure 3). Applying Lemma 3 with R = D; n B , S = D; n A and w = h 2 , we can partition D; into two nonempty sets 0 3 and 0 4 such that (i) c1 E 0 3 aad c2 E D4, (ii) ID3 n A ( = ID3 n B ( , (iii) conv(D3 U { b 2 } ) and conv(D4 U {b2}) intersect only at 132, (iv) the vertex dl (other than cl) of conv(D3 U {b2}) adjacent to b2 belongs to A , and (v) the vertex d2 (other than c2) of conv(D2 U {x}) adjacent to b2 belongs to A . Since c1 and dl are two vertices of conv(D3), it follows from the induction hypothesis that there is a spanning tree T3 (of K(D3 n A , 0 3 n B ) ) without crossings such that the maximum degree of T3 is at most 3, degT3(cl) 5 2 and degT3(c2) 5 2. Since ID: n A1 = 10; n BI, it, follows from (ii) that ID4 n A1 = ID4 n B ( .Also, since c2 and d2 are two vertices of conv(D4), it follows from the induction hypothesis that there is a spanning tree T4 (of K(D4 n A , 0 4 n B ) ) without crossings such that the maximum degree of T4 is at most 3, degT4(c2) 5
On the Maximum Degree of Bipartite Embeddings of Trees in the Plane
171
Fig. 3. A partition D3uO4of Dk such thatlD3nAl = ID3nBI and ID4nAl = IDqnBl, where A = ( 0 ) and B = (0).
2 and degT4(&) 7'1
5 2. Since x sees
c2 on conv(D4), we have the desired tree
U z z U zc2 U T4 U € 1 2 4 U b 2 d l U T3 and the proof of Theorem 4 is complete. 0
In view of Theorem 1, we propose the following conjecture: Conjecture 5 Let A and B be two disjoint sets of points an the plane such
that IAl 5 IBI)
[--IPI I4
= k and n o three points of A U B are collinear. T h e n the
geometric complete bipartite graph K ( A , B ) contains a spanning tree T without crossings such that the m a x i m u m degree of T is at most k 4- 2. The case when k = 1 becomes the exceptional one if the following conjecture holds: Conjecture 6 Let A and B be two disjoint sets of points in the plane such that
IAI 5 IBI,
1-1PI I4
= k and n o three points of AUB are collinear.If k
2 2, then the
geometric complete bipartite graph K ( A , B ) contains a spanning tree T without crossings such that the m a x i m u m degree of T is at most k -k 1.
Acknowledgment I would like t o thank Prof. Hikoe Enomoto, Prof. Mikio Kano, and Prof. Janos Pack for their helpful suggestions.
References 1. M. Abellanas, J. Garcia, G. Hernhdez, M. Noy and P. Ramos: Bipartite embeddings of trees in the plane. Graph Drawing'96, Springer Verlag LNCS 1190 (1996) 1-10
Efficient Regular Regular Polygon Polygon Dissections Dissect ions Efficient Evangelos Kranakis13 Kr anakisl Danny Danny Krizanc' Kriz ancl Jorge Jorge UUrrutiaZ3 Evangelos rr~tia~~ Carleton University, University, School School of of Computer Computer Science, Science,Ottawa, Ottawa,ON, ON,K1S K1S5B6, 5B6,Canada, Canada, Carleton { kranakis, kriz anc } @scs.carlet on.ca {kranakis,krizanc}@scs.carleton.ca University of Ottawa, School of Information and Engineering, Instituto de Matemiiticas, Universidad Technology Nacional Aut6noma de MCxicoOttawa, ON, K1N by 9B4, Canada,
[email protected] Research supported in part NSERC (Natural Sciences and Engineering Research Research supported in partCouncil by NSERC (Natural Sciences and Engineering Research of Canada) grants. Council of Canada) grants.
Abstract. We study the minimum number g(m, n) (respectively, p(m, n)) Abstract. We study the minimum number g( rn, n ) (respectively, p ( rn,n ) ) of pieces needed to dissect a regular m-gon into a regular n-gon of the of pieces needed to dissect a regular rn-gon into a regular n-gon of the
same area using glass-cuts (respectively, polygonal cuts). First we study same area using glass-cuts (respectively, polygonal cuts). First we study regular polygon-square dissections and show that [n/21 - 2 5 g(4, n) 5 polygon-square dissections and show that [n/21 - 2 5 g(4, n ) 5 Fregular o(n) and [n/41 5 g(n, 4) 5 5 o(n) hold for sufficiently large n. ( n )hold , for sufficiently large n. ~ ( nand ) [n/41 5 g ( n , 4cuts, ) 5 i.e., ~the We also consider polygonal minimum number p(4,n) of We also consider polygonal cuts, i.e., the minimum number p ( 4 , n ) of pieces needed to dissect a square into a regular n-gon of the same area pieces needed to dissect a square into a regular n-gon of the same area using polygonal cuts and show that [n/41 5 p(4, n) 5 +o(n), holds for using polygonal cuts and show that [n/41 5 p(4, n ) 5 ~ ( n holds ), for sufficiently large n. We also consider regular polygon-polygon dissections sufficiently large n. We also consider regular polygon-polygon dissections and obtain similar bounds for g(m, n) and p(m, n).
++
++
+
and obtain similar bounds for g(rn, n ) and p ( r n . n ) .
Key Words and Phrases: Dissections, Glass-cuts, Polygonal cuts,
Key Words and Phrases: Dissections, Glass-cuts, Polygonal cuts, Regular polygons, Squares. Regular polygons, Squares.
11
Introduction Introduction
An An old old theorem theorem from from the the first first half half of of the the nineteenth nineteenth century century by by Lowry, Lowry,Wallace, Wallace, Bolyai and Gerwien asserts that any simple polygon can be dissected into a into finitea Bolyai and Gerwien asserts that any simple polygon can be dissected number of pieces and reassembled to form any other simple polygon of the same finite number of pieces and put back together to form any other simple polygon area (see [3]). It is easy to see that the dissection of one polygon into another of the same area (see [3]). It is easy to see that the dissection of one polygon depends on the shape on of the In fact, for theIndissection of adissection triangle into another depends the polygons. shape of the polygons. fact, for the to a square of the same area, the number of pieces depends on the length of a triangle to a square of the same area, the number of pieces depends of on the side of longest the triangle, e.g. [3][pagee.g. 2221see and[3][page [l].In particular, thisIn 2221 and [l]. the longest length of the side of thesee triangle; raises the question of how numberofofhow pieces a dissection of oneinpolygon into particular, this raises thethe question theinnumber of pieces a dissection another depends on the number of vertices of the polygons. More specifically, we of one polygon into another depends on the number of vertices of the polygons. have the following interesting question: More specifically, we have the following interesting question:
Problem Problem I1., What What is is the the minimum minimumnumber numberof of pieces piecesfor fordissecting dissectingaaregular regularpolypolygon gon into into any any other other regular regular polygon polygon of of the the same samearea? area?
A special of this problem is when one the regular polygons of a A special casecase of this problem is when one of theofregular polygons is of aissimple simple type, such as a square. type, like a square. Problem 2. 2. What What is is the the minimum minimum number number of of pieces piecesfor fordissecting dissectingaasquare squareinto into Problem regular polygon polygon of of the the same same area? area? aa regular J. Akiyama, M. Kano, and M. Urabe (Eds.): JCDCG’98, LNCS 1763, pp. 172−187, 2000. Springer-Verlag Berlin Heidelberg 2000
Efficient Regular Polygon Dissections
173
ThisThis second problem is simpler but but alsoalso contains most of the essential observasecond problem is simpler contains most of the essential obsertions in in ourour study and vations study andwill willbecome becomethe thefocus focusofofattention attentionofof this this paper. paper. As As aa consequence consequence of of our our analysis analysis we we will will also also obtain obtain results results concerning concerning Problem Problem 1. 1. ItIt isisinteresting interesting how how many many people people (amateurs (amateurs and and mathematicians mathematicians alike) have been thereof. Dissections Dissections are are implicit in been occupied occupied with withthis thisproblem problemororvariants its variations. Hilbert’s Hilbert’s third third problem: problem: “Show “Show that that two two tetrahedra tetrahedra having having the the same same altitude altitude and have the thesame samevolume volumewithout withoutresort resortto to method of limits” and base base area have thethe method of limits” [5]. [5]. Many attractive attractive dissections dissectionshave havebeen been source of recreational activity thethe source of recreational activity and and published in the entertainment sections of various publications. havehave beenbeen published in the entertainment sections of various publications. Of Of particular interest is beautiful the beautiful [3] Frederickson by G. Frederickson which also particular interest is the book book [3] by G. which also includes includes many such dissections. many such dissections.
1.1 Preliminaries Preliminaries 1.1 In the following we consider two types of dissections: glass-cuts and polygonal
In the following we consider two types of dissections: glass- and polygonal-cuta. cuts. A glass-cut dissection cuts a simple polygon into two pieces using a straight In thecut. caseAofpolygonal glass-cuts, polygon cut intopolygon two pieces line line cuta simple dissection cuts ais simple intovia twoa straight pieces along cut. In the case of a polygonal cut, a simple polygon is cut into two pieces via a polygonal line. Clearly, a glass-cut dissection is also a polygonal dissection,a polygonal line cut. Clearly, a glass-cut dissection cut is also a polygonal dissection, but not vice-versa as shown by the polygonal of the equilateral triangle but not vice-versa as shown by the polygonal cut of the equilateral triangle depicted in Figure 9. A glass-cut dissection of an object A into another object B depicted in Figure A glass-cut dissection of an object A into of another B of the same area is9.reversible if there is a glass-cut dissection B intoobject A using of the same reversible there is aallglass-cut dissection of Bare into A using exactly the area sameispieces. We ifnote that polygonal dissections reversible, exactly the same pieces. We note that all polygonal dissections are reversible, but this is not true for glass-cuts, as shown in Figure 9. By piece we understand 9. By1 but this isconnected not true for glass-cuts, indicated by the example in Figure a simple polygon whoseasinterior is nonempty. The table in Figure piece we understand a simple connected polygon whose interior is nonempty. gives references for the best dissections of n-gons to a square of the same area for the table Figure we give the dissections best dissections of n-gons n 5In10 and n =in12. Also 1note thatthe forreferences n = 3 , 5 , 6of, the are glass-cuts, twhile o a square of the same area for nare 5 not. 10 and n = 12. Also note that for n = 3 , 5 , 6 the remaining dissections the dissections are glass-cuts while the remaining are not. It is interesting t o
L
8 9 10 12
.
5 9 7 6
Bennett Theobald Theobald Lindaen
151 132 134 107
no no no no
Fig. 1. Best-known dissection of a regular n-gon to a square of the same area with Best-known of a regular n-gon tolast a square of indicates the samewhether area with Fig. page1.references fromdissection Frederickson’s book ([3]). The column or page references from the book of Frederickson. The last column indicates whether or not the dissection is also a glass-cut. not the dissection is also a glass-cut.
It is interesting to note that all these dissections are derived from appropriate polygon by superimposing tesselation of squares. As tesselations such, these note that tesselations all these dissections are deriveda from appropriate polygon
174
E. Kranakis, D. Krizanc, and J. Urrutia
techniques are not aapplicable study of Problems 1 and 2. (See by superimposing tesselationtoofthesquares. Asour such, these techniques are also not applicable to the study of Problems 1 and 2. (See also [4].) ~41.) A fundamental fundamentalresult result that that will willbe beused usedfrequently frequentlyininthis thework remainder of this A is Montucla’s paper is Montucla’s dissection (see Figure 2) for converting a rectangle R to any dissection (see Figure 2) for converting a rectangle R to any other rectangle R’ other rectangle R ‘ of the same area (see also page 222 of [3]). of the same area (see also [3][page 2221).
R’
R’
A
Fig. 2. Montucla’s dissection of the rectangle R into the rectangle R’ of the same area as described in [3]. dissection of the rectangle R‘ of the same area as described in [3]. Fig.2. Montucla’s
By the width of aofrectangle its shortest shorter side. By width rectangle we we understand understand the the length of its side. Given two rectangles rectangles of of the the same same area area and widths widths w w((RR)),,w(R’), w(R’), respectively, the width two ratio w(R, w ( R ,R’) R’)isis [w(R)/w(R’)], [ w ( R ) / w ( R ’ ) lifif, w(R’) w(R’) 5 w(R), w ( R ) ,and [w(R’)/w(R)1, otherwise. ratio [w(R’)/w(R)], Formally,we we have have the the following following result. result. Formally,
Theorem 1. 1. (Montucla, (Montucla, [3][page [3][page ZZZ]) 222]) Let Let R, R R’’ be twoo rectangles Theorem be tw rectangles of of the the same same area aand width ratio ratio w(R, w(R, R’). TThen area n d width R’). h e n R can be dissected into R R’’ with glass-cuts glass-cuts using aatt most most w(R, w ( R ,R’) R‘) 22 pieces. pieces. In In addition, addition, if R R iiss already using already dissected dissected into pp pieces,t he then overlaying this this dissection dissection tto the previous previous one one we we can dissect R pieces n bby y overlaying o the R’’ using aatt most most p(w(R, p ( w ( R ,R’) R‘) 2) 2 ) pieces. pieces. Moreover, Moreover, ifif the the original using original dissection dissection of of R R is is with glass-cuts glass-cuts,t he then theresulting resulting dissection dissection ofofR’. R’. 0 with n sosoisisthe 0
+
+
interesting to see when theof width ratiorectangles of the given is For It theiscases of interest thethat width ratio the given will rectangles be constant, constant, the number of pieces of the resulting dissection is a constant multiple in which case the number of pieces of the resulting dissection will be a constant of the number pieces of of pieces the original multiple of the of number of the dissection. original dissection.
Efficient Regular Polygon Dissections
175
This problem simpler but also contains most of the essential observa1.2 second Results of theis paper tions in our study and will become the focus of attention of this paper. As a A mathematical reformulation of the problems proposed above concerns the consequence of our analysis we will also obtain results concerning Problem 1. asymptotic behavior of the functions p , g which are defined as follows. For inteIt is interesting how many people (amateurs and mathematicians alike) have gers rn, n , let p(rn, n) (respectively, g(rn, n)) be the minimum number of pieces been occupied with this problem or variants thereof. Dissections are implicit in needed to dissect a regular rn-gon into a regular n-gon using polygonal (respecHilbert’s third problem: “Show that two tetrahedra having the same altitude tively, glass-) cuts. We note that the following properties are immediate from and base area have the same volume without resort to the method of limits” the definitions [5]. Many attractive dissectionsP(rn, have been = P hthe source of recreational activity and have been published in theP entertainment of various publications. h , I d r n , 4sections . Of particular interest is the beautiful book [3] by G. Frederickson which also In this paper we study these two functions in detail and prove the following includes many such dissections.
4 4
4,
theorems.
Theorem 2. The following bounds hold for the functions p and g for all sufi-
1.1 Preliminaries ciently large non-negative integers rn
< n:
+ :+
In the following two ~types m awemconsider n - rn)/ai, 3 1of I1dissections: g(m, n) I yglass- and polygonal-cuta. In the case of glass-cuts, simple cut n) into Itwo pieces Ovia ( 4 ,a straight line r(n - m)/4a+ 11 polygonIisP(rn, cut. In the case of a polygonal cut, a simple polygon is cut into two pieces via a where line o(n)cut. is a Clearly, functiona of n such that limn+m 0. 0 polygonal glass-cut dissection is also = a polygonal dissection, but Theorem not vice-versa byasthe polygonal of the equilateral 2 will as be shown obtained a corollary of cut the following theorem. triangle depicted in Figure 9. A glass-cut dissection of an object A into another object B The the functions p and for all SUBofTheorem the same 3. area is following reversible bounds if there hold is a for glass-cut dissection of Bg into A using ciently large non-negative integers n: exactly the same pieces. We note that all polygonal dissections are reversible, but this is not true for glass-cuts, as indicated by the example in Figure 9. By ~ 4 1 I p(n, 4) I O m , piece we understand a simple connected polygon whose interior is nonempty. I g(n, 4) I +), w41 In the table in Figure 1 we give the references of the best dissections of n-gons b/21 - 2 I g(4,n) I t o a square of the same area for n 5 10 and n = 12. Also note that for n = 3 , 5 , 6 the dissections glass-cuts while that the lremaining are not. It is interesting t0 o where o(n) is aare function of n such im+m = 0.
7+f+ $
3+
;+ ;+
Details of the proofs as well as the dissection algorithms leading to the upper bounds will be given in Sections 2 and 3. The lower bounds are given in Section 4 and some open problems are proposed in Section 5.
Polygon-Square Dissections
2
This section provides new dissections of regular polygons into squares and estimates their asymptotic number of pieces. All the dissections below concern dissections of a regular n-gon into a square of the same area, which for simplicity is assumed to be equal to 1. The main theorem of this section is the following. Fig. 1. Best-known dissection of a regular n-gon to a square of the same area with Theorem 4. from Let kthe= book k(n)ofbeFrederickson. a function The of nlast such that indicates limn+m whether = or 0. page references column Any regular n-gon can be dissected to a square of the same area using at most not the dissection is also a glass-cut.
9
+
f O( log k) glass-cuts. Conversely, this same dissection can be reversed to form a dissection of the square to a regular n-gon of the same area using only 91ass-that cuts.all these dissections are derived from appropriate polygon tesselations note
176
E. Kranakis, D. Krizanc, and J. Urrutia
by The superimposing squares. As are such, techniques are not main ideas aoftesselation the proof ofofthis theorem thethese following. applicable to the study of Problems 1 and 2. (See also [4].) 1. A We dissect the regular n-gon k-diamonds. fundamental result that willinto be used frequently in this work is Montucla’s 2. We dissect the k-diamonds into layers. dissection (see Figure 2) for converting a rectangle R to any other rectangle R’ Wesame assemble into rectangles of3.the area the (seelayers also [3][page 2221). of varying widths. 4. We assemble the rectangles into a single rectangle. 5. We dissect the rectangle into a square.
R’
In the next section we give the details of this construction. 2.1
Diamond dissections
The unit of dissection is a “circular” sector of the regular n-gon, called a kdiamond, and which is defined as follows. Pick an integer k. Consider the center of the regular n-gon (which is also the center of the circumscribing n-gon). Each sector is delimited by k adjacent sides of the n-gon and the two radii on the left-most and right-most vertex of this sequence of polygon sides. Depending on the parity of k there are two types of k-diamonds, shown in the two illustrations in Figure 3.
Fig. 2. Montucla’s dissection of the rectangle R into the rectangle R’ of the same area as described in [3].
By the width of rectangle we understand the length of its shortest side. Given two rectangles of the same area and widths w ( R ) ,w(R’),respectively, the width ratio w(R,R’) is [w(R)/w(R’)], if w(R’) 5 w(R),and [w(R’)/w(R)], otherwise. Formally, we have the following result. Fig. 3.1.A (Montucla, &diamond and a 7-diamond andR, their dissections into 4 layers. Theorem [3][page ZZZ]) Let R’ be t w o rectangles of the same area a n d width ratio w(R,R’). T h e n R can be dissected into R’ with glass-cuts using a t most w(R,R’) 2 pieces. In addition, if R i s already dissected into p pieces th e n b y overlaying this dissection t o the previous one we can dissect R’ Each sector is in turn dissected into Lk/2J 1 layers. using a t most p(w(R,R’) 2) pieces. Moreover, if the original dissection of R is For any vertex A of the regular n-gon, consider the diameter passing through with glass-cuts t he n so is the resulting dissection of R’. 0
+
+
+
A , and let A’ be the point of intersection of this diameter with the perimeter of the The glass-cut is determined by given the diameter from any For n-gon. the cases offirst interest the width ratio of the rectangles will be arbitrary constant, vertex, say A , of the n-gon. Observe that if n is even then A‘ is also of in which case the number of pieces of the resulting dissection will beaavertex constant the n-gon, while if n is odd A’ is the midpoint of a side of the n-gon, say S. In multiple of the number of pieces of the original dissection.
Efficient Regular Polygon Dissections
177
the case thatproblem n is odd dissect isosceles triangle by Sobservaand the This second is we simpler butthe also contains most ofdelimited the essential two equal radii adjacent to this side. If n is even then A‘ is also a vertex tions in our study and will become the focus of attention of this paper. ofAsthe a n-gon, in which case no extra is needed. consequence of our analysis wedissection will also obtain results concerning Problem 1. the n-gon into [people n / k j non-overlapping sectors. If k doesalike) not divide ItWe is dissect interesting how many (amateurs and mathematicians have n then a sector remains, consisting of n Ln/kJk sides of the n-gon. It can be been occupied with this problem or variants thereof. Dissections are implicit in easily shown Montucla’s this extra sector be dissected Hilbert’s thirdusing problem: “Showdissection, that two that tetrahedra having thecan same altitude intobase the “right” shape adding only without an extra resort overhead of Omethod ( k ) pieces. Details and area have thebysame volume to the of limits” of the proof of this are left to the reader. [5]. Many attractive dissections have been the source of recreational activity of generality may assume that k is ofa fixed integer which is and Without have beenloss published in theweentertainment sections various publications. even and a divisor of n. First we dissect the n-gon into n / k k-diamonds. Of particular interest is the beautiful book [3] by G. Frederickson which Then also we dissect eachsuch k-diamond into $ 1 pieces as depicted in Figure 3. From top includes many dissections.
+
t o bottom, the top layer is a triangle, the next k/2 - 1 layers are trapezoids and the last (k/2 1)-layer a triangle. It is clear that each layer consists of n/k piecesPreliminaries and therefore the total number of pieces is equal to t . We number 1.1 the layers 0 , 1 , . . ., from top to bottom. In the following we consider two types dissections: glass-n-gon and polygonal-cuta. Straightforward calculations show of that for a regular of area 1, the In the case a simple polygon is cut into twoofpieces via a straight radius u ( nof ) ofglass-cuts, the circumscribing circle and side b(n) the n-gon are givenline by cut. the caseformulas: of a polygonal cut, a simple polygon is cut into two pieces via a the In following
+ 5
+
$“-
polygonal line cut. Clearly, a glass-cut dissection is also a polygonal dissection, u ( n )vice-versa = - * as shown by the polygonal 2 sin(x/n)triangle * (1) but not cut of the equilateral 3 b(n)= sin(2x/n) depicted in Figure 9. A glass-cut dissection of an object A into another object B n r/n of the same area is reversible if there is a glass-cut dissection of B into A using Also, b(n) is the length the base, u ( n ) the length of theare equal sides of exactly the same pieces. Weofnote that and all polygonal dissections reversible, of the 1-diamond equal o the this 1-diamond. Thefor height but is not true glass-cuts, as indicatedis by the texample in Figure 9. By piece we understand a simple connected polygon whose interior is nonempty. (27r/n) In the table in Figure 1 we give the references sin of the best dissections of n-gons t o a square of the same area for n 5 10 and n = 12. Also note that for n = 3 , 5(2) ,6 the dissections are glass-cuts while the remaining are not. It is interesting t o *
J.
Now we consider a trapezoid in the i-th layer and compute its dimensions. The height of the i-th trapezoid is equal t o hi(.)
= k ( n ) sin(./.)
sin((2i
+ l)x/n),
(3)
where u ( n ) is the radius of the circle circumscribed in the regular n-gon and given in equation (1). Also the same formula gives the length b(n) of the nonhorizontal side of the trapezoid. Let !?i(n)be the length of the longest base of the i-th trapezoid. Elementary calculations show that i
ei ( n )= 4u(n)sin(x/n)
C cos((2j + l ) n / n > .
(4)
j=O
also clear dissection that the shortest side n-gon is equal .&-1(n). 1. is Best-known of a regular to to a square of the same area with Fig. It page references from the book of Frederickson. The last column indicates whether or not dissection is also thea glass-cut. layers into rectangles 2.2the Assembling Next we convert the trapezoids of the i-th layer into a rectangle. To accomplish this,that we reflect half the trapezoids with respect to the x-axis and attach them note all these dissections are derived from appropriate polygon tesselations
178
E. Kranakis, D. Krizanc, and J. Urrutia
twosuperimposing at a time as depicted in Figure 4 in order formthese a parallelogram. by a tesselation of squares. Astosuch, techniques Finally are not applicable to the study andand 2. (See also we cut a triangle from of theProblems leftmost 1 end attach it [4].) to the rightmost end of thisAparallelogram order to form fundamental in result that will bea rectangle. used frequently in this work is Montucla’s dissection (see Figure 2) for converting a rectangle R to any other rectangle R’ of the same area (see also [3][page 2221).
R’ Fig. 4. The i-th layer of trapezoids. A right-angle triangle is dissected from the leftmost trapezoid and attached to the rightmost trapezoid.
The height of this rectangle is equal to hi(n) and its total length (if we let s i ( n ) be the length of the projection of the side of the i-th trapezoid on its large base) is equal to
L i ( n ) = ;(ei(n) - s+)) = tau(.) sin(n/n) (2
= y ( 2 i + l)Ai(n),
xizocos((2i+ l)lr/n) - cos((2i + ~ ) l r / n ) )
(5)
where Ai(n) is a function of n that converges to 1 as n goes to infinity and which is defined from the formula for a ( n ) , and by approximating the sum i
2CCOS((2i
+ l)lr/n) - cos((2i + l ) n / n )
j=O
by integrals (see [2][page 501) andrectangle using theR well-known limit formula Fig. 2. Montucla’s dissection of the into the rectangle R’ of the same area as described in [3]. sin x lim -= 1
z+o
x
In addition, using equation (3) we observe that the sum of heights of these the width rectangle we understand the length of its shortest side. Given k/2 By rectangles is of equal to two rectangles of the same area and widths w ( R ) ,w(R’),respectively, the width ratio w(R,R’) is [w(R)/w(R’)], if w(R’) 5 w(R),and [w(R’)/w(R)], otherwise. Formally, we have the following result. Theorem 1. (Montucla, [3][page ZZZ]) Let R, R’ be t w o rectangles of the same areaAta nthe d width w(R, T h e n Rincan be dissected with glass-cuts same ratio time we areR’). interested having the sum into of theR’heights of these using a t most w(R, R’) 2 pieces. In addition, if R i s already dissected into p rectangles asymptotically small. In view of equation (6) the sum of the heights pieces th e n b y overlaying this dissection t o the previous one we can dissect R’ of these rectangles can be made arbitrarily small. using a t most p(w(R, R’) 2) pieces. Moreover, if the original dissection of R Each triangle of the k/2+l-layer is isosceles with equal sides of length a(n),asis with t hen the of resulting of R’.by Equation 4. Moreover0 givenglass-cuts by Equation 1,so andisbase length fdissection k / 2 ( n ) , as given
+
+
its is equal to a(n)cos(nn/k). Since by given assumption l i mwill + m be constant, = 0 it Forheight the cases of interest the width ratio of the rectangles follows that the rectangle formed from the triangles of the k/2 has in which case the number of pieces of the resulting dissection will be1-layer a constant width approximately equal to fi and height approximately equal to l/&. multiple of the number of pieces of the original dissection.
+
Efficient Regular Polygon Dissections
179
2.3 second Forming a single rectangle This problem is simpler but also contains most of the essential observations in our study and will become the focus of attention of this paper. As a Now we have a sequence of rectangles Ro, R1,. . . , & / 2 of varying lengths and consequence of our analysis we will also obtain results concerning Problem 1. heights which we will “normalize” to the same length. As indicated in equation It is interesting how many people (amateurs and mathematicians alike) have (5), for i = 0 , . . ., k / 2 - 1, R, has height hi(.) and length y ( 2 i l), while been occupied with this problem or variants thereof. Dissections are implicit in & / 2 has dimensions approximately equal to ( l / & )x fi. We now proceed to Hilbert’s third problem: “Show that two tetrahedra having the same altitude dissect the first k / 2 rectangles to the length of rectangle & / 2 , which we denote and base area have the same volume without resort to the method of limits” by l . Recall that l is approximately equal to fi. [5]. Many attractive dissections have been the source of recreational activity For each i = 0,. . . , k / 2 - 1 , we dissect the rectangle Ri into 2 ( 2 i 1) suband have been published in the entertainment sections of various publications. rectangles of the same height hi(n) and length approximately equal to $. The Of particular interest is the beautiful book [3] by G. Frederickson which also first 2(2i 1) - 1 of these subrectangles have length exactly equal to $. Howincludes many such dissections.
+
+
+ t.
ever, the last subrectangle will have length sufficiently close and approximately equal to We therefore use Montucla’s dissection as in Theorem 1 to convert it to a subrectangle at the cost of doubling the number of 1.1 Preliminariesof length exactly its trapezoidal pieces. The other subrectangles, however, remain unaffected. The total of we pieces of thetwo i-thtypes layer ofafter this transformation is equal to In thenumber following consider dissections: glass- and polygonal-cuta. In the case of glass-cuts, a simplenpolygon n is cut into two pieces via a straight line cut. In the case of a polygonal cut, is cut into two pieces via a k a 2simple ( 2 i + 1polygon )k’
-+
polygonal line cut. Clearly, a glass-cut dissection is also a polygonal dissection, Adding for i = , 1 , . . . , kby/ 2 the - 1 ,polygonal we obtain cut a total number of but not these vice-versa as0 shown of the equilateral triangle depicted k / 2 - 1in Figure 9. A glass-cut dissection k / 2 - 1 of an object A into another object B 1 dissection n n of the same area is reversible if therenis a glass-cut of B into A using 2 ( 2 i l ) k exactly the same pieces. We note that i=O all polygonal dissections are reversible, but this is not true for glass-cuts, as indicated by the example in Figure 9. By piecesweplus the n / k pieces of the bottompolygon k / 2 + 1-th layer. piece understand a simple connected whose interior is nonempty. Note that we have a total of In the table in Figure 1 we give the references of the best dissections of n-gons k / 2 - area 1 2 - 1 Also note that for n = 3 , 5 , 6 t o a square of the same for n 5 10 and n =k /12. the dissections are glass-cuts while the remaining are not. It is interesting t o
(t
+
+
i=O
subrectangles each of length exactly f. Next we sort the subrectangles by height from the smallest to the largest and stack them up in order to form a rectangle of length fi.Let the subrectangles in sorted order from smallest to largest be S l , S a , .. . , s k 2 / 2 . The stacking algorithm is as follows. Create a bucket B of length fi consisting of k subbuckets Bo, B 1 , . . . , B k each of width f i / k (see Figure 5 ) . Now place subrectangles Si, S i + k , S i + 2 k , . . . , S i + ( k / a - l ) k in subbucket Bi in this order from bottom-up, left-to-right, for i = 1 , 2 , . . ., k . The resulting subrectangles in the bucket do not yet form a rectangle. However, we claim that by using a total of at most k cuts on subrectangles and a total of at most O( log k) new pieces we can convert it to a rectangle. To prove Fig. 1. Best-known dissection of a regular n-gon to a square of the same area with this we argue from as follows. Letof the heights ofThe thelast corresponding subbuckets page references the book Frederickson. column indicates whether be or y 1 , y 2 , . . . , Y k . The height of the rectangle we are looking for must be equal to not the dissection is also a glass-cut. the average of these heights, i.e., note that all these dissections are derived from appropriate polygon tesselations
180
E. Kranakis, D. Krizanc, and J. Urrutia
by superimposing a tesselation of squares. As such, these techniques are not applicable to the study of Problems 1 and 2. (See also [4].) A fundamental result that will be used frequently in this work is Montucla’s dissection (see Figure 2) for converting a rectangle R to any other rectangle R’ of the same area (see also [3][page 2221).
R’
Fig. 5. The arrangements of subrectangles SO,S1,. . ., s k 2 / 2 in the subbuckets
BI,B2,.. . ,Bk. The dotted line depicts a cut.
Let the height of the tallest subbucket be yi. Dissect from the rectangle at the top of this subbucket a subrectangle of height exactly Pj - a . It is easy to see that there is a j # i such that y j yj - a < a . Therefore we can insert this subrectangle at the top of subbucket Bj.Moreover, subbucket Bi now has the required height, namely a . Now we remove the subbucket Bi and consider the remaining subbuckets
+
B l , B 2 , . . ., Bi-1, Bi+l,.. - , Bk. It is also easily seen that the average of the heights of these remaining subbuckets is exactly a. Therefore our claim follows using induction on k. The total number of pieces thus added is easily shown to be at most O($logk). Moreover, using the proof that led to equation (7) it can be shown that any cut starting from the top side of thedissection rectangleofand at R the bottom side of this Fig. 2. Montucla’s the ending rectangle into the rectangle R’ ofrectangle the same will area intersect at in most as described [3]. O(f log k) new pieces (see Figure 5). 2.4
Dissecting the rectangle into a square
width rectangletowe understand the length of itsThe shortest side. Given We By arethe now in aofposition provide the final dissection. construction of two rectangles of rise the to same area andconsisting widths wof( Rtwo ) ,w(R’), respectively, the width Section 2.3 gives a rectangle subrectangles; the rectangle ratio w(R,R’) [w(R)/w(R’)], w(R’) 5 w(R), and [w(R’)/w(R)], otherwise. of triangles andis the rectangle of iftrapezoids (see Figure 6). Formally, werectangles have the following result. The two are dissected simultaneously to form a square using Montucla's dissection. This is depicted in Figure 7. Theorem 1. (Montucla, [3][page ZZZ]) Let R, R’ be tw o rectangles of the same The argument of Section 2.3 shows that the extra overhead number of pieces area a n d width ratio w(R,R’). T h e n R can be dissected into R’ with glass-cuts 0 is O( log k). This completes the proof of Theorem 4. using a t most w(R,R’) + 2 pieces. In addition, if R i s already dissected into p pieces th e n b y overlaying this dissection t o the previous one we can dissect R’ PROOF of Theorem 3. Let c be a positive real < 1. Let c > 0 be the constant of using a t most p(w(R,R’) + 2) pieces. Moreover, if the original dissection of R is Theorem 4. Choose k = nl-'. Then we define with glass-cuts t he n so is the resulting dissection of R’. 0 cn log k - c( 1 - c)n' log n For the cases of interesto(n) the = width kratio of the given rectangles will be constant, in which case the number of pieces of the resulting dissection will be a constant and applyof Theorem 4. This proves bound stated in Theorem 3. 0 multiple the number of pieces of the the upper original dissection.
Efficient Regular Polygon Dissections
181
This second problem is simpler but also contains most of the essential observaI tions in our study and will become the focus of attention of this paper. As a consequence of our analysis we will also obtain results concerning Problem 1. It is interesting how many people (amateurs and mathematicians alike) have been occupied with this problem or variants thereof. Dissections are implicit in Hilbert’s third problem: “Show that two tetrahedra having the same altitude and base area have the same volume without resort to the method of limits” [5]. Many attractive dissections have been the source of recreational activity Fig. 6. The rectangle of triangles and trapezoids. and have been published in the entertainment sections of various publications. Of particular interest is the beautiful book [3] by G. Frederickson which also includes many such dissections. I
1.1 Preliminaries In the following we consider two types of dissections: glass- and polygonal-cuta. In the case of glass-cuts, a simple polygon is cut into two pieces via a straight line cut. In the case of a polygonal cut, a simple polygon is cut into two pieces via a polygonal line cut. Clearly, a glass-cut dissection is also a polygonal dissection, but not vice-versa as shown by the polygonal cut of the equilateral triangle depicted in Figure 9. A glass-cut dissection of an object A into another object B of the same area is reversible if there is a glass-cut dissection of B into A using exactly the same pieces. We note that all polygonal dissections are reversible, but this is not true for glass-cuts, as indicated by the example in Figure 9. By piece we understand a simple connected polygon whose interior is nonempty. In the table in Figure 1 we give the references of the best dissections of n-gons t o a square of the same area for n 5 10 and n = 12. Also note that for n = 3 , 5 , 6 the dissections are glass-cuts while the remaining are not. It is interesting t o
Fig. 1. Best-known dissection of a regular n-gon to a square of the same area with page references from the book of Frederickson. The last column indicates whether or notFig. the 7. dissection is also a glass-cut. Dissecting the two rectangles to a square. The leftmost picture depicts Montucla’s dissection and the rightmost picture the result.
note that all these dissections are derived from appropriate polygon tesselations
182
E. Kranakis, D. Krizanc, and J. Urrutia
by a tesselation of squares. As such, these techniques are not 3 superimposing Polygon-Polygon Dissections applicable to the study of Problems 1 and 2. (See also [4].) An Aimmediate extension thewill previous results is obtained fundamental result of that be used frequently in thisthrough work isoverlaying. Montucla’s dissection (see Figure 2) for converting a rectangle R to any other rectangle R’ Theorem 5 . Let k = k(m), e = [(n) be functions of m , n , respectively, such of the same area (see also [3][page 2221). that lim = lim e ( 4 = 0. m+m m n+oo n R’of the same area using at Any regular m-gon can be dissected t o a regular n-gon most
Ico
glass-cuts.
Fig. 2. Montucla’s dissection of the rectangle R into the rectangle R’ of the same area Fig.8. We overlay as described in [3]. the two squares arising from the dissections of the two regular polygons into squares. The rectangles of trapezoids are mapped into the thin strips and to distinguish them one is depicted with the shaded region.
By the width of rectangle we understand the length of its shortest side. Given two rectangles of the same area and widths w ( R ) ,w(R’),respectively, the width PROOFConsider the dissections of the m-gon and n-gon into a square. We ratio w(R,R’) is [w(R)/w(R’)], if w(R’) 5 w(R),and [w(R’)/w(R)], otherwise. rotate one of the two squares 180 degrees and overlay it over the other as depicted Formally, we have the following result. in Figure 8. We can estimate the total number of pieces. The m-gon (respectively, n-gon) dissection consists [3][page of (respectively and (respectively, Theorem 1. (Montucla, ZZZ]) Let ’.R,”) R’triangles be t w o rectangles of the same g) trapezoidal pieces. Each of the O(m/k) lines of the triangles intersects the area a n d width ratio w(R,R’). T h e n R can be dissected into R’ with glass-cuts trapezoidal pieces to generate a total of at most using a t most w(R,R’) + 2 pieces. In addition, if R i s already dissected into p pieces t he n b y overlaying this mdissection m tno the previous one we can dissect R’ 2 0 Moreover, ( F 7 loge)if the original dissection of R is using a t most p(w(R,R’) + 2) pieces. with glass-cuts t he n so is the resulting dissection of R’. 0 pieces. Similarly, each of the O(n/l) lines of the triangles intersects the trapezoidal a total of ratio at most For thepieces cases to of generate interest the width of the given rectangles will be constant, in which case the number of pieces of the n n mresulting dissection will be a constant 5 +ofOthe ( e original z l o g k ) dissection. multiple of the number of pieces
+
Efficient Regular Polygon Dissections
183
This second problem simpler but of also the essential observapieces. Moreover, theisintersection thecontains trianglemost linesofgenerates a total of at tions in our study and will become the focus of attention of this paper. As a most consequence of our analysis we will also obtain results concerning Problem 1. It is interesting how many people (amateurs and mathematicians alike) have 0 pieces. Addingwith thesethis estimates thethereof. desired Dissections result. been occupied problemweorobtain variants are implicit in Hilbert’s third problem: “Show that two tetrahedra having the same altitude bounds Theorem 2 are resort now obtained exactly of as limits” before. and The baseupper area have thestated same in volume without to the method The lower bounds will be discussed in the next section. [5]. Many attractive dissections have been the source of recreational activity and have been published in the entertainment sections of various publications. Of particular interest is the beautiful book [3] by G. Frederickson which also 4 Lower includes many bounds such dissections.
Note that glass-cuts are also polygonal cuts. Therefore lower bounds for polygonal cuts are also lower bounds for glass-cuts. An interesting observation is that a 1.1 Preliminaries glass-cut dissection of a first polygon into a second is not necessarily a glass-cut dissection of thewesecond polygon into the first (see Figure means that In the following consider two types of dissections: glass- 9). andThis polygonal-cuta. unlike the function p(m, n), the function g(m, n ) is not necessarily symmetric in In the case of glass-cuts, a simple polygon is cut into two pieces via a straight line the variables m and n. cut. In the case of a polygonal cut, a simple polygon is cut into two pieces via a polygonal line cut. Clearly, a glass-cut dissection is also a polygonal dissection, but not vice-versa as shown by the polygonal cut of the equilateral triangle depicted in Figure 9. A glass-cut dissection of an object A into another object B of the same area is reversible if there is a glass-cut dissection of B into A using exactly the same pieces. We note that all polygonal dissections are reversible, but this is not true for glass-cuts, as indicated by the example in Figure 9. By piece we understand a simple connected polygon whose interior is nonempty. In the table in Figure 1 we give the references of the best dissections of n-gons t o a square of the same area for n 5 10 and n = 12. Also note that for n = 3 , 5 , 6 the dissections are glass-cuts while the remaining are not. It is interesting t o
Fig.9. An example of a dissection of an equilateral triangle into a quadrangle which is a glass-cut for the quadrangle but not a glass-cut for the triangle.
In this section we study lower bounds for polygonal cuts as well as glass-cuts. Section 4.1 is devoted to glass-cuts while Section 4.2 treats polygonal cuts. 4.1
Glass-Cuts
Theorem 6 . Any glass-cut dissection of a square into a convex n-gon of the 1. area Best-known of a regular Fig. same requiresdissection at least [n/21 - 2 p zeces. ' n-gon to a square of the same area with page references from the book of Frederickson. The last column indicates whether or PROOF Considerisa also glass-cut dissection of the square into a convex n-gon consistnot the dissection a glass-cut.
ing of k pieces. A glass-cut divides a given piece into two pieces, both of which are convex polygons. The sum of the angles of these two pieces exceeds the sum of the angles of the original piece by 2n,from n orappropriate 0 dependingpolygon on whether or not note that all these dissections are derived tesselations
184
E. Kranakis, D. Krizanc, and J. Urrutia
the two endpoints of the glass-cut or two vertices by superimposing a tesselation of segment squares. intersect As such,zero, theseone, techniques are not respectively, thestudy original convex piece. that[4].) the sum of the angles applicable toofthe of Problems 1 andIt2.follows (See also of the pieces cannotresult exceed 2(kwill 1be) used ~At. the same time these k pieces can be A fundamental that frequently in this work is Montucla’s reassembled to form the convex n-gon. Since the sum of the angles of the convex dissection (see Figure 2) for converting a rectangle R to any other rectangle R’ n-gon exactly - 2)7r follows 2221). that of the is same area(n (see alsoit[3][page
+
(n - 2)n
5 2(k + 1)n.
This completes the proof of the theorem.
R’
0
Theorem 6 is valid for a glass-cut dissection of a square to a simple polygon and can also be generalized to give an [(n - m)/21 lower bound on the number of pieces for a glass-cut dissection of a convex m-gon to a convex n-gon, for m < n. If n - m is small the lower bound is weak. For this reason we also give the following theorem.
Theorem 7. Any glass-cut dissection of a regular m-gon into a regular n-gon of the same area, m # n, requires at least [n/3] p zeces. '
PROOFConsider a glass-cut dissection of the regular m-gon into a regular ngon. Let the number of glass-cuts be equal to k. Each glass-cut dissects one convex piece into two and produces four new angles. The total number of pieces produced is k 1. Let V be the resulting set of vertices. Each of the n vertices of the n-gon must be among these vertices V . In addition, some of these n angles are composite (in the sense that it takes at least two of the angles produced by the dissections to form such an angle) and some are solid (i.e., not dissected by any line of a glass-cut). Let s be the number of solid angles. If we define by w(v) the number of angles adjacent to vertex v then we have that w(v) 2 2, for all vertices v E V which are not vertices corresponding to solid angles. The above discussion implies dissection that Fig. 2. Montucla’s of the rectangle R into the rectangle R’ of the same area
+
as described in [3].
4(k
+ 1) 2
w(v)
2 2(n - s) + s.
VEV
This gives an n/2 - s/4 lower bound on the number of pieces. By the of rectangle we understand the length of its side. Given Now wewidth estimate the number s of solid angles. Let si andshortest ci be the number two rectangles of the same areaproduced and widths w ( Ri-th ) ,w(R’), respectively, width of solid and composite vertices by the cut. Since m # n itthe is clear ratio w(R,R’) is [w(R)/w(R’)], if w(R’) 5 w(R),and [w(R’)/w(R)], otherwise. that Formally, we have the following si result. ci = 4, for all i.
+
Moreover, m # n and the dissections areR’with glass-cuts, we ofhave Theorem since 1. (Montucla, [3][page ZZZ]) Let R, be t w o rectangles the that same si 5 2,a nfor all i. ratio It follows area d width w(R,that R’). T h e n R can be dissected into R’ with glass-cuts using a t most w(R,R’) 2 pieces. In k addition, if R i s already dissected into p pieces t he n b y overlaying this dissection t o the previous one we can dissect R’ using a t most p(w(R,R’) 2) pieces.i =Moreover, if the original dissection of R is l with glass-cuts t he n so is the resulting dissection of R’. 0
+
+
Consequently, k k > - n- ratio - > s- -of- nthe given For the cases of interest the width rectangles will be constant, - 2 of the 4 - 2resulting 2 ' dissection will be a constant in which case the number of pieces which implies desiredoflower bound and concludes the proof of Theorem 7. 0 multiple of thethe number pieces of the original dissection.
Efficient Regular Polygon Dissections
185
4.2second Polygonal This problemCuts is simpler but also contains most of the essential observations in our study and become the focus of attention this paper. As a Both Theorems 6 andwill 7 are valid only for a dissection of of a square to a regular consequence of our analysis we will also obtain results concerning Problem n-gon. In the reverse direction, i.e., dissection of an n-gon to a square, we1.can It isprove interesting howgeneral many people (amateurs and mathematicians only the more (but weaker) lower bound of Theorem alike) 8. Alsohave note been with problem or variants thereof. The Dissections are implicit in theoccupied importance of this convexity of the given polygons. lower bound is not valid Hilbert’s thirdof problem: that two convex; tetrahedra altitude if even one the given “Show polygons is not it is having easy t othe findsame a simple (nonconvex) polygon can be dissected into resort two pieces that can beofassembled and base area havewhich the same volume without to the method limits” to form a square. [5]. Many attractive dissections have been the source of recreational activity and have been published in the entertainment sections of various publications. Theorem 8. A n y polygonal dissection of a convex n-gon into a square of the Ofsame particular interest is the beautiful book [3] by G. Frederickson which also area requires at least [n/4) p zeces. ' includes many such dissections.
PROOF For any simple polygon let c ( P ) and r ( P ) be the number of convex and reflex vertices of P , respectively. Also let d ( P ) = c ( P ) - r ( P ) be the convex-toreflex vertex difference of the polygon P . The main observation is based on the 1.1 Preliminaries following lemma. In Lemma the following consider two types ofadissections: glass1. Ifwe a polygonal cut dissects sample polygon P and into polygonal-cuta. two simple polyIn gon the case of glass-cuts, a simple polygon is cut into two pieces via a straight line pieces Q and R then cut. In the case of a polygonal cut, a simple polygon is cut into two pieces via a polygonal line cut. Clearly, a glass-cut dissection is also a polygonal dissection, but not vice-versa as shown by the polygonal cut of the equilateral triangle depicted in Figure 9. A glass-cut dissection of an object A into another object B of the same area is reversible if there is a glass-cut dissection of B into A using exactly the same pieces. We note that all polygonal dissections are reversible, but this is not true for glass-cuts, as indicated by the example in Figure 9. By piece U we understand a simple connected polygon whose interior is nonempty. In the table in Figure 1 we give the references of the best dissections of n-gons t o a square of the same area for n 5 10 and n = 12. Also note that for n = 3 , 5 , 6 the dissections are glass-cuts while the remaining are not. It is interesting t o
\---
Fig.10. Three types of cuts in a simple polygon through vertex u. In cases (a) and (b) two convex vertices are created, while in case (c) at most one reflex vertex may be created.
PROOF of Lemma 1. To see this, observe that a polygonal cut at u creates either two convex vertices or one convex and one reflex vertex (see Figure 10). However, for the vertices produced by the polygonal cut, with the possible exception of u, w , reflex vertices of Q match with convex vertices of R, and vice1. Best-known dissection of a regular n-gon to a square of the same area with Fig. versa; reflex vertices of R match with convex vertices of Q (see Figure 11). page references from the book of Frederickson. The last column indicates whether or Therefore a polygonal cut creates either the same number of new convex and not the dissection is also a glass-cut. reflex vertices or a surplus of either two or four new extra vertices. Hence, it is easy to derive the desired upper and lower bounds. This completes the proof of Lemma 1. 0 note that all these dissections are derived from appropriate polygon tesselations
186
E. Kranakis, D. Krizanc, and J. Urrutia
by superimposing a tesselation of squares. As such, these techniques are not applicable to the study of Problems 1 and 2. (See also [4].) A fundamental result that will be used frequently in this work is Montucla’s dissection (see Figure 2) for converting a rectangle R to any other rectangle R’ of the same area (see also [3][page 2221).
R’
Fig. 11. Polygon P is dissected into two simple polygons Q and R with a polygonal line cut through u , ~ .
+
For convenience, we use the symbol P @ Q R to denote that P is decomposed into pieces Q, R via a polygonal dissection. Now consider a polygonal dissection of the n-gon into k pieces P I ,P2, . . . , Pk.These pieces can be reassembled to form the square. Without loss of generality we may assume that the following sequence forms the square: define Pi PI and by induction Pi' = P/-l Pi, for i 5 k, where the last piece PL is the square. It follows by induction on j 2 0, using Lemma 1, that
+
Fig. 2. Montucla’s dissection of the rectangle R into the rectangle R’ of the same area as described in [3].
+
Indeed, assuming the inequality is valid for j , we can extend it to j 1 by using By the Lemma 1, width i.e., of rectangle we understand the length of its shortest side. Given two rectangles of the same area and widths w ( R ) ,w(R’),respectively, the width J(P,/+I) ifJ(Pj+2) J(P;+2) ratio w(R,R’) is [w(R)/w(R’)], w(R’) 55w(R), and 4[w(R’)/w(R)], otherwise. Formally, we have the following result. Since PL is the square, we have that &(PL)= 4. Hence for j = k - 1 we obtain
+
+
that Theorem 1. (Montucla, [3][page ZZZ]) Let R, R’ be tw o rectangles of the same k area a n d width ratio w(R,R’). T h e n R can be dissected into R’ with glass-cuts using a t most w(R,R’) + 2 pieces. In addition, if R i s already dissected into p pieces t he n b y overlaying this dissection t o the previous one we can dissect R’ using t most p(w(R, + 2)same pieces. Moreover, the originaltodissection R is At athe same time,R’) these pieces can be ifreassembled form the ofgiven with glass-cuts t he n so is theofresulting of R’. that there is a permu-0 convex n-gon. Without loss generalitydissection we may assume tation, say Q1, 9 2 , . . . , Qk,of the above pieces such that the following sequence For the cases of interest the width ratio of the given rectangles will be constant, forms the n-gon: define Qi Q1 and by induction Q{ = Qi-l Qi, for i 5 k, in which case the number of pieces of the resulting dissection will be a constant where the last piece QL is the convex n-gon. The dissection must be such that multiple of the number of pieces of the original dissection. at least the n convex vertices of the convex polygon are created. In particular,
+
Efficient Regular Polygon Dissections
187
This problem simpler but as also contains most of the essential observausingsecond Lemma 1 again,isand arguing before we obtain that tions in our study and will become the focus of attention of this paper. As a consequence of our analysis we will also obtain results concerning Problem 1. It is interesting how many people (amateurs and mathematicians alike) have been occupied with this problem or variants thereof. Dissections are implicit in Hilbert’s third problem: that 8. two tetrahedra having the same altitude 0 This concludes the proof “Show of Theorem and base area have the same volume without resort to the method of limits” [5]. We Many attractive dissections have been thein source of recreational activity observe that the lower bounds stated Theorem 3 are an immediate and have beenofpublished publications. consequence Theoremsin7 the andentertainment 8. The lower sections bounds of of various Theorem 2 are also Of particular interest the is the beautiful book [3] G. 8. Frederickson obtained by adapting proofs of Theorems 6, by 7 and Details are which left to also the includes reader. many such dissections.
5 Conclusions 1.1 Preliminaries and
Open Problems
Wethe have investigated the problem of optimal dissections fromand a regular polygon In following we consider two types of dissections: glasspolygonal-cuta. to another polygon of the same area. We showed that asymptotically the optimal In the case of glass-cuts, a simple polygon is cut into two pieces via a straight line number of pieces in a glass-cut dissection of a square into a regular n-gon cut. In the case of a polygonal cut, a simple polygon is cut into two pieces via isa exactly line o ( ncut. ) .Aside froma tightening the previously obtained bounds it would polygonal Clearly, glass-cut dissection is also a polygonal dissection, be interesting to examine the answers to the following questions: but not vice-versa as shown by the polygonal cut of the equilateral triangle depicted in Figure 9. A glass-cut dissection of an object A into another object B 1. What is the asymptotic behavior of g(n,4), and more generally g(m,n)? of the same area is reversible if there is a glass-cut dissection of B into A using 2. Are polygonal cuts more powerful than glass-cuts, i.e. is g(m,n ) asymptotiexactly the same pieces. We note that all polygonal dissections are reversible, cally bigger than p(m,n)? but this is not true for glass-cuts, as indicated by the example in Figure 9. By 3. Is g(m,n ) asymptotically a symmetric function, i.e. is Ig(m, n ) - g ( n , m)l = piece we understand a simple connected polygon whose interior is nonempty. o(m) o(n)? In the table in Figure 1 we give the references of the best dissections of n-gons tIt o awould squarealso of the area for 5 10atand n = 12. Also noteclasses that forofnpolygons = 3,5,6 be same interesting to nlook dissections of other the dissections are glass-cuts while the remaining are not. It is interesting t o (e.g., star polygons).
5+
+
References 1. M. J. Cohn, “Economical Triangle-Square Dissection”, Geometria Dedicata 3: 447-467, 1975. 2. T. H. Cormen, C. E. Leiserson, and R. L. Rivest, Introduction to Algorithms, MIT Press, 1990. 3. G. Frederickson, Dissections Plane and Fancy, Cambridge University Press, 1997. 4. B. Griinbaum and G. C. Shephard, Tilings and Patterns, New York, W. H. Freeman and Co., 1987. 5. #D. Hilbert, Mathematishe Probleme, Nachrichten von der Gesellschaft der Wissenschaften zu Gottingen, Mathematisch-Physikalische Klasse, 1900. Subsein Bulletin AMS 8, 437-479,n-gon 1901-1902. Best-known dissection of pp a regular to a square of the same area with Fig. 1.quently page references from the book of Frederickson. The last column indicates whether or not the dissection is also a glass-cut.
note that all these dissections are derived from appropriate polygon tesselations
On Soddy’s Hexlet and a Linked 4-Pair Hiroshi Maehara and Ai Oshiro College of Education, Ryukyu University, Nishihara, Okinawa 903-0213 Japan
Abstract. An n-cycle of balls is a cyclic sequence of non-overlapping n balls in R3 in which each consecutive pair of balls are tangent. An (m, n)link is a pair of an m-cycle and an n-cycle that form a non-splittable link, with no two balls overlapping. It is proved that (1) a (3, n)-link exists only when n ≥ 6, and in any (3, 6)-link, each ball in the 3-cycle is tangent to all balls in the 6-cycle, (2) a (4, 4)-cycle exists and in any (4, 4)-cycle, each ball in a 4-cycle is tangent to all balls in the other 4-cycle.
1
Introduction
A cycle of n balls (simply an n-cycle) is a cyclic sequence of non-overlapping balls B1 B2 . . . Bn in R3 such that for each i = 1, 2, . . . , n, Bi is tangent to Bi+1 , where Bn+1 = B1 . The sizes of the balls may be different. The string of a cycle is the closed polygonal curve consisting of the line-segments each connecting the centers of a pair of consecutive balls in the cycle. A cycle is called knotted if its string forms a non-trivial knot. In [2], it was proved, under the restriction that √ only unit balls lying between a pair of parallel planes distance 2 + 2 apart are available, that 16 balls are necessary and sufficient to make a knotted cycle (a trefoil knot). For elementary facts on knots and links, see Adams [1]. When we consider a pair of cycles, then we always assume that balls in distinct cycles never overlap. By an (m, n)-link, we mean a pair of m-cycle and n-cycle whose strings form a non-splittable link. In this paper, we prove the following two fundamental theorems. These results are applied in [3]. Theorem 1. A (3, n)-link exists if and only if n ≥ 6, and in any (3, 6)-link, each ball in the 6-cycle is tangent to all balls in the 3-cycle. If each ball in a 6-cycle is tangent to all balls in a 3-cycle, then the 6-cycle is called a Soddy’s hexlet (with respect to the 3-cycle). Frederick Soddy discovered such a configuration of balls in 1936, see [4]. Thus, the 6-cycle in a (3, 6)-link is a Soddy’s hexlet. A pair of 4-cycles is called a linked 4-pair if they form a (4,4)-link. Theorem 2. A linked 4-pair exists, and in any linked 4-pair, each ball in a 4cycle is tangent to all balls in the other 4-cycle. J. Akiyama, M. Kano, and M. Urabe (Eds.): JCDCG’98, LNCS 1763, pp. 188-193, 2000. Springer-Verlag Berlin Heidelberg 2000
On Soddy´s Hexlet and a Linked 4-Pair
2
189
Two Examples
Example 1 Let A1 be a unit ball inscribed between the planes z = ±1. Let B1 , B2 , . . . B6 be unit balls inscribed between the planes z = ±1, girdling the ball A1 . Let A2 be the half-space z ≥ 1 and A3 be the half-space z ≤ −1. Then by an inversion of R3 with respect to some point on the xy-plane, A1 A2 A3 and B1 B2 . . . B6 are transformed into a (3, 6)-link. Example 2 Let B1 be the half-space z ≥ 1, and B4 be the half-space z ≤ −1 in R3 , and let A1 , A2 , A3 , A4 ; B2 , B3 be the balls listed in the following table: ball √ center radius A1 ( 2, 1 √0, 0) 1 A2 (0,√ 2, 0) A3 (− 2, 0, 0) 1 √ A4 (0, − 2, 0) 1 B2 (0, 0, 1/2) 1/2 B3 (0, 0, −1/2) 1/2 Then, no two of Ai , Bj (i = 1, 2, 3, 4) overlap, and A1 A2 A3 A4 is a 4-cycle, and Bi is tangent to Bi+1 for i = 1, 2, 3; the two half-space B1 , B4 are disjoint. It is not difficult to see that by an inversion ϕ of R3 with respect to a point, say, (3, 0, 0), we can get a linked 4-pair ϕ(A1 )ϕ(A2 )ϕ(A3 )ϕ(A4 ) and ϕ(B1 )ϕ(B2 )ϕ(B3 )ϕ(B4 ).
3
Proof of Theorem 1
The existence of a (3,6)-link is shown in Example 1. Let A1 A2 A3 and B1 B2 . . . Bn be a 3-cycle and an n-cycle that form together a (3,n)-link. Let p be the contact point of A2 , A3 , and ϕ be an inversion of R3 with respect to the point p. Denote the boundary of Ai by ∂Ai . Then Hi := ϕ(∂Ai ), i = 2, 3 are a pair of parallel planes, and ϕ(A1 ) is a ball tangent to these two planes. We may suppose that ϕ(A1 ) is a unit ball with center (0, 0, 1) and H2 is the xy-plane, H3 is the plane z = 2. The n balls ϕ(Bj ), j = 1, . . . , n, lie between the planes H1 , H2 . Since A1 A2 A3 , B1 B2 . . . Bn form a (3,n)-link, the balls ϕ(Bj ), j = 1, . . . , n, must surround the ball ϕ(A1 ). Let (xj , yj , zj ) be the center of ϕ(Bj ) and let pj = (xj , yj , 0). Since the n balls ϕ(Bj ) surround the ball ϕ(A1 ), we must have n
pj Opj+1 ≥ 2π,
j=1
where O = (0, 0, 0) and pn+1 = p1 . Let rj be the radius of ϕ(Bj ). Then pj − pj+1 2 = (rj + rj+1 )2 − (zj − zj+1 )2 = (rj + rj+1 + zj − zj+1 )(rj + rj+1 − zj + zj+1 ).
190
H. Maehara and A. Oshiro
Since rj+1 ≤ zj+1 and rj+1 + zj+1 ≤ 2, we have pj − pj+1 2 ≤ (rj + zj )(2 + rj − zj ). On the other hand, pj − O2 ≥ (rj + 1)2 − (zj − 1)2 = (rj + zj )(2 + rj − zj ). Hence pj − pj+1 ≤ pj − O. Similarly, we have pj − pj+1 ≤ pj+1 − O. Hence, in the triangle pj pj+1 O, the edge p j pj+1 is the shortest edge. Therefore n pj Opj+1 ≤ π/3. Thus, in order to have j=1 pj Opj+1 ≥ 2π, we must have n ≥ 6. If n = 6, then it is necessary that pj Opj+1 = π/3 for all j = 1, . . . , 6, that is pj − pj+1 = pj − O for all j = 1, . . . , 6. Hence, we have rj+1 = zj+1 and rj+1 + zj+1 = 2 for all j. Therefore, all ϕ(Bj ) are tangent to H2 , H3 , ϕ(A1 ).
4
Proof of Theorem 2
Lemma 3. Let p1 p2 p3 p4 be a convex quadrilateral, and D1 , D2 be two disks in the plane such that (1) p1 , p3 ∈ D1 and {p2 , p4 } ∩ int(D1 ) = ∅, (2) p2 , p4 ∈ D2 and {p1 , p3 } ∩ int(D2 ) = ∅, where int(Di ) denotes the interior of Di . Then D1 and D2 are the same disk, and all p1 , p2 , p3 , p4 lie on the boundary of D1 . Proof. It follows from (1) that p2 + p4 ≤ 180◦, with the equality only when all pi lie on the boundary of D1 . From (2), p1 + p3 ≤ 180◦ with the equality only when all pi lie on the boundary of D2 . Since p1 + p2 + p3 + p4 = 360◦ , we must have p1 + p3 = 180◦ and p2 + p4 = 180◦ . Hence p1 , p2 , p3 , p4 lie on the boundary of D1 , and also lie on the boundary of D2 . Therefore D1 and D2 are the same disk. For two disjoint balls B1 , B3 in R3 with centers b1 , b3 , respectively, let Ω(B1 , B3 ) denote the locus of the center of a ball that is tangent externally to both B1 , B3 . It is clear that if B1 , B3 are of the same size, then Ω(B1 , B3 ) is the plane perpendicularly bisecting the line-segment b1 b3 . What is Ω(B1 , B3 ) if the sizes of B1 , B3 are different? Let H be a plane that contains the line b1 b3 . Then, it is not difficult to see that Ω(B1 , B3 ) ∩ H is a branch of a hyperbola in H with foci b1 , b3 . Hence Ω(B1 , B3 ) is the surface obtained by rotating this curve around the line b1 b3 , that is, one sheet of a 2-sheet-hyperboloid of revolution with the foci b1 , b3 . Hence the next lemma is clear. Lemma 4. Let B1 , B3 be disjoint balls in R3 with centers b1 , b3 , respectively. Then for any point p ∈ R3 , the polygonal curve b1 p b3 := b1 p ∪ p b3 intersects Ω(B1 , B3 ) only in one point.
On Soddy´s Hexlet and a Linked 4-Pair
191
Pro of of Theorem . The existence 2 of a linked 4-pair is shown in Example 2. To prove the latter part of Theorem 2, let A0 A1 A2 A3 , B0 B1 B2 B3 be a pair of linked 4-cycles. First, suppose that A0 is tangent to B0 . Let bi be the center of Bi for i = 0, 1, 2, 3. By inverting R3 with respect to the contact point of A0 , B0 , we may suppose that A0 is the half-space z ≤ −1 and B0 is the half-space z ≥ 1. Then, all other balls lie between the planes z = ±1; A1 , A3 are tangent to z = −1, B1 , B3 are tangent to z = 1. For i = 1, 3, let ci be the contact point of Bi and the ‘ceiling’ z = 1, vi be the contact point of Bi and B2 ; fi be the contact point of Ai and the ‘floor’ z = −1, ui be the contact point of Ai and A2 , respectively. Since A0 A1 A2 A3 and B0 B1 B2 B3 form a non-splittable link, the pair of closed polygonal curves c1 v1 v3 c3 and f1 u1 u3 f3 form a non-splittable link. Let us use the following notations: b2↑ : the ray from b2 that meets the ceiling z = 1 perpendicularly. b2↓ : the ray from b2 that meets the floor z = −1 perpendicularly, b2 : the line b2↑ ∪ b2↓. For each p ∈ b2 ↑, the polygonal curve b1 p b3 intersects Ω(B1 , B3 ) at a unique point q = q(p) by Lemma 2. Let Q(p) be the ball with center q and tangent to both B1 , B3 . Then, Q(p) ∩ int(A1 ) = Q(p) ∩ int(A3 ) = ∅ for all p ∈ b2↑ .
(1)
This is proved later. For i = 1, 3, let wi = wi (p) be the contact point of Q(p), Bi . If p moves continuously, then the line w1 w3 moves continuously. If p = b2 , then wi = vi , i = 1, 3, and if the altitude (= z-coordinate) of p tends to infinity, then wi tends to ci . Thus the closed polygonal curve c1 w1 w3 c3 changes its shape as p climbs up b2 ↑ and the pair (f1 u1 u3 f3 , c1 w1 w3 c3 ) changes from a non-splittable link to a splittable link. Hence, at some point p = p0 ∈ b2 ↑, the two curves must intersect. Then, since Q(p) cannot overlap A1 , A3 , the intersection must occur between the line-segments w1 w3 and u1 u3 . Hence, at p = p0 , w1 u1 w3 u3 forms a convex quadrilateral lying on a plane. Then, by applying Lemma 1, it follows that the sections of Q(p0 ), A2 by this plane coincide. Therefore A2 is tangent to 4 balls A1 , A3 , B1 , B3 . Similarly, it follows that B2 is tangent to 4 balls A1 , A3 , B1 , B3 . Thus, if A0 , B0 are tangent to each other, then A1 is tangent to B2 , and A2 is tangent to B1 . Let us write Ai Bj if Ai and Bj are tangent to each other. Then the above argument proves that Ai Bj =⇒ Ai+1 Bj +2 , Ai+2 Bj +1 , where the indexes are taken mod 4. Therefore, Ai Bj ⇒ Ai+1 Bj +2 ⇒ Ai+2 Bj +4 ⇒ Ai+4 Bj +5 Ai Bj ⇒ Ai+2 Bj +1 ⇒ Ai+4 Bj +2 ⇒ Ai+5 Bj +4 , that is, Ai Bj ⇒ Ai Bj +1 , Ai+1 Bj . Hence, if A0 B0 then Ai Bj for any i, j. Thus, if some Ai is tangent to some Bj , then each Ai is tangent to all Bj .
192
H. Maehara and A. Oshiro
Next, suppose that for any i ,j , Ai is not tangent to +
Bj .
Then we translate
Once this happens, then every Ai touches all Bj simultaneously by the above argument. However, since A0 goes away from Bo by our translation, A0 is never tangent to Bo, a contradiction. Hence there always exists an Ai that is tangent to some B j , and hence each Ai is tangent to all Bj. Now, we proceed to the proof of (1). It is enough to show that Q ( p ) n int(A1)= 0.We may suppose that q lies on p b l , and p # b2. Then bl # b2T. (For + + otherwise, since Q ( p ) is tangent to B3, q must lie on b l b 2 , and hence the ray blb2 from the focus bl intersects Q(B1,B3) at two points q , b2, a contradiction.) Let P be the ball centered at p and externally tangent to B1. Then P contains Q ( p ) . Hence, to prove Q ( p ) nint(A1) = 0,it is sufficient to prove P n int(A1)= 0.Let H be the plane determined by bl and b 2 1 , and let H+ c H be the half-plane bounded by b21 and containing bl. Rotate the ball A1 around the line b21 until its center comes to lie on H+, and denote by A the ball at this position. Then, it is enough to show that P n int(A)= 0.Note that B2 n int(A)= 0,and A is tangent to the floor x = -1, but A and B1 may overlap each other. Let s be the south pole of B2, that is, the point where b2J meets the boundary of B2, and f be the contact point of A and the floor x = -1, see Figure 1. Let v j s denote the minor arc of H n dB2. Then, since p # b2, it follows that P n v j s = 0. I
I
C1
f
Fig. 1. The sections by the plane H
Suppose that P n int(A)# 0,and let t be a point in H n P n int(A).Notice that tf and vjsuclvl intersect. Since t f n v j s = 0 (for otherwise, int(A)nB2# 0, a contradiction), tf intersects c1v1, that is, tvlfcl forms a convex quadrilateral in the plane H . Since t , f E A , {c1,v1}n int(A) = 0,and c1,vl E B1, {t,f } n int(B1) = 0,it follows from Lemma 1 that t ,v1, f ,c1 all lie on the boundary of A, which contradicts that t E int(A).Therefore P n int(A)= 0.This completes 0 the proof of Theorem 2.
On Soddy´s Hexlet and a Linked 4-Pair
193
References 1. Colin C. Adams, The Knot Book, New York (1994) Freeman. 2. H. Maehara and A. Oshiro, On knotted necklaces of pearls, European J. Combinatorics 20(1999) 411–420. 3. H. Maehara and A. Oshiro, Arranging solid balls to represent a graph I, submitted. 4. C. Stanley Ogilvy, Excursions in Geometry, New York (1990) Dover Publications, Inc.
Approximation Algorithms for Maximum Independent Set Problems and Fractional Coloring Problems on Unit Disk Graphs Tomomi Matsui1 Graduate School of Engineering, University of Tokyo, Bunkyo-ku, Tokyo 113, Japan.
[email protected], WWW home page: http://www.misojiro.t.u-tokyo.ac.jp/~tommomi/ Unit disk graphs are the intersection graphs of equal sized circles in the plane. In this paper, we consider the maximum independent set problems on unit disk graphs. When the given unit disk graph is de ned on a slab whose width is k, we propose an algorithm for nding a maximum indep pendent set in O(n4d2k= 3e ) time where n denotes the number of vertices. We also propose a (1 0 1=r)-approximation algorithm for the maximum independent set problems on a (general) p unit disk graph whose time complexity is bounded by O(rn4d2(r01)= 3e ). We also propose an algorithm for fractional coloring problems on unit disk graphs. The fractional coloring problem is a continuous version of the ordinary (vertex) coloring problem. Our approach for the independent set problem implies a strongly polynomial time algorithm for the fractional coloring problem on unit disk graphs de ned on a xed width slab. We also propose a strongly polynomial time 2-approximation algorithm for fractional coloring problem on a (general) unit disk graph. Abstract.
1 Preliminaries Unit disk graphs are the intersection graphs of equal sized circles in the plane. Given a point-set P R2 the unit disk graph de ned by P , denoted by G(P ), is an undirected graph (P; E ) with vertex set P and edge set E satisfying that E = ffpi ; pj g j pi ; pj 2 P; jjpi 0pj jj 1g: The unit disk graphs provide a graphtheoretic model for broadcast network and for some problems in computational geometry. In this paper, we consider the maximum independent set problems and the fractional coloring problems on unit disk graphs. A vertex subset P 0 of a graph is called an independent set if each pair in P 0 is non-adjacent. The maximum independent set problem nds an independent set in a given graph whose cardinality is maximized. It is well-known that for general graphs, the maximum independent set problem is hard to approximate. Unless P =NP , there exists a constant " > 0 such that no polynomial time algorithm for the problem can provide a performance guarantee of O(n" ) where n denote the number of vertices J. Akiyama, M. Kano, and M. Urabe (Eds.): JCDCG’98, LNCS 1763, pp. 194−200, 2000. Springer-Verlag Berlin Heidelberg 2000
Approximation Algorithms for Maximum Independent Set Problems
195
[1]. In 1990, Clark, Colbourn and Johnson [2] proved that the maximum independent set problem de ned on unit disk graph is NP -hard. In 1995, Marathe et al. [6] developed a (1/3)-approximation algorithm based on a graph coloring heuristic proposed by Hochbaum in [3]. In this paper, we propose a polynomial time algorithm for the independent set problem on unit disk graphs de ned on a xed width slab. When the p width of the slab is k, the time complexity of 4d2k= 3e our algorithm is O(jP j ). Our approach also implies an approximation algorithm for the independent set problem on a (general) unit p disk graph, which nds a (1 0 1=r)-approximation solution in O(r jP j4d2(r01)= 3e ) time. It is easy to extend our algorithm for solving weighted independent set problem on unit disk graph without increasing its time complexity. Our approach for the independent set problem implies a strongly polynomial time algorithm for the fractional coloring problem on unit disk graphs de ned on a xed width slab. The above algorithm also gives a strongly polynomial time 2-approximation algorithm for fractional coloring problem on a unit disk graph (de ned on a variable width slab). The fractional coloring problem is a continuous version of the ordinary (vertex) coloring problem. The fractional coloring problem for general graph is NP -hard [4]. For the unit disk graph, the ordinary coloring problem is also NP -hard [2].
2
Maximum independent set problems
In this section, we consider unit disk graphs de ned on a slab whose width is less than k. More precisely, we assume that the point-set P is contained in the region Sk = f(x; y) 2 R2 j 0 y < kg. 2.1
Well-solvable case
p
First, we consider a well-solvable case. If P Sk and k < 3=2, we can solve the independent set problem on the unit disk graph G(P ) in polynomial time. The following lemma shows an idea to solve the problem.
p
and k < 3=2, then the unit disk graph comparability graph (the complement of a comparability graph).
Lemma 1. If
P
Sk
( )
G P
is a co-
Proof: Let G(P ) be the complement of the unit disk graph G(P ). We direct each edge in G(P ) as follows. Let e be an edge in G(P ) connecting two vertices (points) p1 ; p2 2 P . Without loss of generality, we can assume that the x-coordinate of p1 is less than that of p2 , since the width of the slab is less than 1. We direct the edge e from p1 to p2 . Now we show that the obtained directed graph, denoted by A(P ), satis es the transitivity. Clearly, A(P ) is acyclic. Assume that A(P ) contains a pair of directed edges e = (p1 ; p2 ) and f = (p2 ; p3 ). We denote the position of pi by (xi; yi )pfor i = 1; 2; 3. Since jjp1 0 p2 jj > 1 and the width of the slab is less than 3=2, it is easy to show that x1 + 1=2 < x2 . In the same way, we can show that x2 + 1=2 < x3 . It implies that x1 + 1 < x3 and so
196
T. Matsui
jjp1 0 p3 jj
> 1. It implies that the complement G(P ) contains the edge fp1 ; p3 g and the above edge orientation procedure directs the edge from p1 to p3 . Thus the directed graph A(P ) satis es the transitivity and so the complement G(P ) is a comparability graph. // The co-comparability graph is a class of perfect graphs and so we can solve the maximum independent set problem, the coloring problem, and the maximum clique problem in polynomial time [4]. However, we can solve the maximum independent set problems easily in this case. The proof of the above lemma shows that each directed path in the graph A(P ) corresponds to an independent set of the unit disk graph G(P ). It is also easy to show that each independent set in G(P ) corresponds to the vertices in a directed path in A(G). Thus, the maximum independent set problem is reduced to the problem for nding longest directed path in A(P ). Since A(P ) is acyclic, we can solve the longest path problem in linear time with respect to the number of directed edges. Thus we can nd a maximum independent set of G(P ) in O(jP j2 ) time.
2.2
Fixed width problem
Here we assume that the width of the slab is a xed constant k . For any point subset P 0 P , we denote the value minfbxc j (x; y ) 2 P 0 g by min P 0 . A subset of points B P is called an independent block when B is an independent set of the unit disk graph G(P ) and each point p = (x; y) in B satis es bxc = min B . Let B(P ) be the family of all the independent blocks of P. Now we introduce an auxiliary graph which is helpful for nding a maximum independent set of G(P ). The auxiliary graph, denoted by A(P ), is a directed graph with node set fs; tg [ B(P ) and arc (directed edge) set
f( [f(
s; B
) j 8B 2 B(P )g [ f(B; t) j 8B 2 B (P )g 0 ) 2 B (P ) 2 B(P ) j (min B ) < (min B 0 ) and B [ B 0 is an independent setg:
B; B
Then it is clear that for any directed path in the auxiliary graph from s to t, the union of independent blocks corresponding to internal nodes is an independent set of G(P ). Conversely, for any independent set in G(P ) there exists a corresponding directed s-t path in A(P ). For each non-terminal node (independent block) of the auxiliary graph, we associate the weight which is equal to the size of the corresponding independent block. Then the sum of the node weights in a directed path is equal to the size of corresponding independent set in G(P ). Thus, the maximum independent set problem on G(P ) is reduced to the problem for nding the longest directed path in the auxiliary graph. We can generate all the independent blocks by applying an enumeration algorithm for maximal independent sets in [8] which requires O(jP j3 jB(P )j) time. Since the weighted auxiliary graph is acyclic and directed, the ordinary dynamic programming method nds the longest path in linear time with respect to the number of arcs (see the algorithm for the shortest path problem on acyclic graph in [5], for example). From the above, the total time complexity of our algorithm
Approximation Algorithms for Maximum Independent Set Problems
197
is bounded by O(jP j3 jB(P )j + jB(P )j2 ). When we denote the size of maximum independent block by , jB(P )j = O(jP j ). If we consider the non-trivial problem instances satisfying that 2, the total time complexity of our algorithm is bounded by O(jP j2 ) The following lemma shows a simple upper bound of the value .
We de ne the value k by
Lemma 2.
k = maxfjP Then k
j j P [0; 1) 2 [0; k ); 8pi ; 8pj 2 P ; pi 6= pj ) jjpi 0 pj jj > 1g 6 p7 0
2 2k=
0
0
3 .
p
: Let T be the rectangle f(x; y) j 3=2 y 0; 1=2 x 0g. Then the length of a diagonal line of T is equal to 1. Thus the distance of any pair of points in T is less6 than p or7 equal to 1. It is clear that the region [0; 1) 2 [0; k) can be covered by 2 2k= 3 copies of the rectangle T . Each copy of the rectangle contains at most one points of each independent set. // The above upper bound p implies that the time complexity of our algorithm is bounded by O(jP j4d2k= 3e ) when we apply our algorithm to the problem de ned on the slab whose width is equal to k. Lastly, we consider the memory space. The naive implementation of the above algorithm requires the memory space to maintain the auxiliary graph. However, the layered structure of the auxiliary graph implies that we only need to maintain the nodes of the auxiliary graph. For any integer k0 , we denote the set of independent blocks fB 2 B(P ) j 0 k = min B g by Bk (P ). Without loss of generality, we can assume that B(P ) can be partitioned into the families of independent blocks B0 (P ); B1 (P ); . . . ; Bm (P ). Also we can assume that Bk (P ) 6= ; for all k0 2 f0; . . . ; mg, since if there exists a family Bk (P ) = ; we can decompose the original problem to two small subproblems de ned by the sets of points B0 (P ) [1 11[Bk 01 (P ) and Bk +1 (P ) [11 1[ Bm(P ). Under the above assumption, every maximal independent set of G(P ) contains at least one independent block B 2 Bk (P ) [Bk +1 (P ) [Bk +2 (P ) for all k0 2 f0; . . . ; m 0 2g. Thus we can delete some arcs in the auxiliary graph without sacri cing the correctness of our algorithm, i.e., we only need the following arcs Proof
0
0
0
0
0
0
0
f(s; B ) j 8B 2 B (P )g [ f(B; t) j 8B 2 B(P )g [f(B; B0 ) j (min B ) + 1 (min B 0 ) (min B ) + 3 and (B; B 0 ) is an arc inA(P )g: When we apply the ordinary labeling procedure for solving the longest path problem on A(P ) (see [5] for example), we only need to maintain consecutive three families of independent blocks Bk (P ) [ Bk +1 (P ) [ Bk +2 (P ) for labeling independent blocks in Bk +3 (P ). When we label an independent block B in Bk +1 (P ), we generate arcs in A(P ) entering to B one by one. and so we do not need to maintain set of arcs connecting independent blocks in Bk (P ) [ Bk +1 (P ) [ Bk +2 (P ) 0
0
0
0
0
0
0
0
198
T. Matsui
2.3
Approximation algorithm
In the following, we propose a (1 0 1=r)-approximation algorithm for any positive integer r, which nds an independent set whose size is greater than or equal to (1 0 1=r)z 3 where z 3 is the size of a maximum independent set. For any s 2 f0; 1; . . . ; r 0 1g, the region f(x; y) 2 R2 j s (y mod r) < s + 1g is denoted by Ts . We construct point-subsets P0 ; P1 ; . . . ; P r01 de ned by Ps = P n Ts . Next we solve the maximum independent set problems de ned on the graphs G(P0 ); G(P1 ); . . . ; G(Pr01 ) and output one of the best solutions. The size of the output independent set is greater than or equal to (1 0 1=r)z 3 . It is because, a maximum independent set P 3 satis es that for any s 2 f0; 1; . . . ; r 0 1g, P 3 n Ts P n Ts and maxfjP 3 n Ts j j s 2 f0; 1; . . . ; r 0 1gg (1 0 1=r)jP 3 j. By using the simple upper bound in the previous lemma, the ptime complexity of our algorithm is bounded by O(rjP j2r01 ) = O(rjP j4d2(r01)= 3e ). It is easy to extend our algorithm for the weighted version; a problem de ned by the point-set P and point-weights. By substituting the node weights of the auxiliary graph by the sum of weights of points in the corresponding independent block, the algorithm in the previous subsection nds a maximum weight independent set in the same time complexity. The algorithm described in this subsection nds an approximate solution in the same time complexity.
3 Fractional coloring problem In this section, we consider the fractional coloring problem. First, we de ne the fractional coloring problem precisely. Let G = (V; E ) be a given undirected graph. We denote the incidence matrix of independent sets of G by M , i.e., the rows of M are indexed by V , the columns of M are indexed by all the independent sets of G, and each column vector is equal to the incidence vector (characteristic vector) of the corresponding independent sets. The fractional coloring problem is de ned by minf1T x j M x 1; x 0g where the variable vector x is indexed by all the independent sets in G and 1 denotes the all-one vector. In many cases, M has huge number of columns and the above linear programming problem has exponential number of variables with respect to the number of vertices of the given graph. First, we consider the fractional coloring problem on a unit disk graph G(P ) de ned on a xed width slab Sk = f(x; y) 2 R2 j 0 y < kg. The main idea is to use the auxiliary graph A(P ) used in our algorithm for the maximum independent set problem. There exists a one-to-one correspondence between the family of all the independent sets in G(P ) and all s-t paths in A(P ). Then the fractional coloring problem becomes a special ow problem de ned on the auxiliary graph A(P ). For any node v of A(P ), the set of arcs emanating from v is denoted by @ + (v) and the set of arcs entering to v is denoted by @ 0 (v ). For any point p 2 P , the set of independent blocks containing p is denoted
Approximation Algorithms for Maximum Independent Set Problems
199
by B(P; p), i.e., B (P; p) = fB 2 B(P ) j B 3 pg. Then the fractional coloring problem is described as the following linear programming problem; minimize
X X 0X X X
2@ + (s)
e
subject to
2@ + (v)
e
v
xe
xe
f
2@ 0 (v)
2B(P;p) e2@ + (v)
xe
xf
1
= 0 (for all nodes v of auxiliary graph A(P )); (for all points p in
)
P ;
x 0;
where the variable vector x is indexed by the arcs of auxiliary graph A(P ). The coecient matrix of the above linear programming problem is 0-1 valued and so we can solve the problem in strongly polynomial time with respect to the number of variables and constraints [7]. Thus, we can solve the linear programming problem in strongly polynomial time with respect to the number of points jP j when P is contained in a slab with xed width. If we have a ow optimal to the above problem, we decompose the ow to a non-negative combination of a directed s-t paths in A(P ). Since each s-t path corresponds to an independent set on the unit disk graph G(P ), the obtained non-negative combination of independent sets is an optimal fractional coloring of the unit disk graph. Lastly, we consider 2-approximation algorithm for fractional coloring problem. The main idea is similar to that of our approximation algorithm for independent set problems. For any s 2 f0; 1g, we denote f(x; y) 2 R2 j s (y mod r) < s +1g by Ts and Ts \ P by Ps . Then we can solve two fractional coloring problems de ned by point-sets P0 and P1 in strongly polynomial time, since each problem is equivalent to a problem de ned on a slab whose width is equal to 1. Here we assume that an optimal solution of the fractional coloring problem is maintained by a family of independent sets and corresponding non-negative combination coecients obtained by decomposing an optimal ow on the auxiliary graph. We only need to maintain the independent sets, called essential, whose corresponding non-negative combination coecient is positive. The optimal value of each subproblem is less than or equal to the optimal value of original problem. Thus the sum of optimal solutions of two subproblems corresponds to a 2-approximate solution of the original fractional coloring problem. The sum means the union of two families of essential independent sets and the corresponding coecients of the independent sets in the union.
References 1.
: Proof veri cation and intractability of approximation problems. Proc. 33rd IEEE Symposium on Foundations of Computer Science, 13{22 (1992). 2. B.N.Clark and C.J.Colbourn and D.S.Johnson: Unit disk graphs. Discrete Mathematics, 86 (1990) 165{177. S.Arora and C.Lund and R.Motwani and M.Sudan and M.Szegedy
200
T. Matsui
3. D.S.Hochbaum: Ecient bounds for the stable set, vertex cover and set packing problems. , 6 (1983) 243{254. 4. M. Gro tschel and L. Lovasz and A. Schrijver: The ellipsoid method and its consequences in combinatorial optimization. , 1 (1981) 169{197. 5. E.L. Lawler: . Holt, Rinehart and Winston, New York (1976). 6. M.V.Marathe and H.Breu and H.B. Hunt III and S.S. Ravi and D.S. Rosenkrantz: Simple heuristics for unit disk graphs. , 25 (1995) 59{ 68. 7. E.Tardos: A strongly polynomial algorithm to solve combinatorial linear programs. , 34 (1986) 250{256. 8. S. Tsukiyama and M. Ide and H. Ariyoshi and I. Shirakawa: A new algorithm for generating all the maximal independent sets. , 6 (1977) 505{517. Discrete Applied Mathematics
Combinatorica
Combinatorial Optimization: Networks and Matroids
Networks
Operations Research
SIAM J. on Computing
Visibility of Disks on the Lattice Points Nobuaki Mutohl and Gisaku Nakamura2 School of Administration and Informatics, University of Shizuoka, 52-1 Yada, Shizuoka-shi, Shizuoka, 422-8002, Japan Research Institute of Mathematical Education, Tokai University, 2-28-4 Tomigaya, Shibuya-ku, Tokyo 151-0063, Japan
Abstract. It is known that the probability with which a lattice point is visible from the origin is 1/((2) = 7r2/6. In this paper, instead of points, we place circular disks with a constant radius d on every lattice point, and calculate the longest distance t o the farthest visible disk from the origin and the probability with which a disk is visible by using a computer.
1
Introduction
A lattice point P = ( m , n )is a point with integer coordinates in the xy-plane, i.e., m and n are integers. We say that the lattice point Q = ( s , t ) is visible from the lattice point P if the line segment from the point P to the point Q contains no lattice points other than the end points P and Q. It is evident that the lattice point P is visible from the lattice point Q if the lattice point Q is visible from the lattice point P . It is also evident that the lattice point Q is visible from the lattice point P if and only if s - rn and t - n are relatively prime, i.e., (s - m,t- n ) = 1. In this paper we are mainly concerned with the lattice points that are visible from the origin of the xy-plane. It is known that there are infinitely many lattice points visible from the origin. Then, we can find which lattice points are visible from the origin, and how far they are from the origin. Consider a large square region in the xy-plane defined by the inequalities
where r is any large positive number. Then, the number of lattice points, denoted by N ( r ) , in this square is given by
N ( r ) = 4r2 + O ( r ) and the number of the lattice points which are visible from the origin, denoted by N ' ( r ) , in the square is given by
+
" ( r ) = 24r2/.lr2 O(r1ogr) where the second formula is derived by analytical number theory as follows: Let $(n) be Euler's totient function, i.e, the number of positive integers not J. Akiyama, M. Kano, and M. Urabe (Eds.): JCDCG’98, LNCS 1763, pp. 201−206, 2000. Springer-Verlag Berlin Heidelberg 2000
202
N. Mutoh and G. Nakamura
exceeding n which are relatively prime to n. The number of visible points in the region R is Elln.,,. 4(n),where R is defined by 0 5 x 5 r, 0 5 y < x. Then, " ( r ) is representFd by "(r) = 8
C
+(n).
lsnsr
In the above equation, the sum of +(n)plays an important role in the analytical number theory, and is calculated as [l]
Now, the quotient q,. = N ' ( r ) / N ( r ) measures the fraction of those lattice points in the square which are visible from the origin, and this fraction tends to a limit 6/n2 as r --+ 00. The fraction is also expressed by l / c ( 2 ) , where c ( s ) is Riernann's zeta function, i.e., {(s)
1 =-
IS
1 1 +++ ... 2s 3s
Then the following expression is obtained:
We call this limit the density of the lattice points visible from the origin. The result is sometimes described by saying that a lattice point chosen at random has a probability 6/7r2 of being visible from the origin. Or, if two integers are chosen at random, the probability that they are relatively prime is 6/7r2. Next, we draw a circular disk of radius d around every lattice point in the xy-plane other than the origin. It means that the lattice points are enlarged to circular disks with the constant radius d. Let Ed be the union of these disks, and denote by hd the length of the longest segment starting from the origin and not intersecting Ed. Then, hd tends to infinity for d + 0, as is stated above. For a positive finite radius of d, however, hd remains finite, and the number of disks visible from the origin is also finite. More precisely, the following relation holds
PI
1 lim(hd - -) = 0 d
d-0
(1)
We say that a disk is totally visible from the origin if it has two tangent lines that pass through the origin and do not intersect Ed,and let KI, be the number of disks which are totally visible from the origin. We also say that a disk is partially visible from the origin, when a line segment connecting the origin with any part of the disk does not intersect Ed, and let I i d be the number of disks which are partially visible from the origin. So far as our investigation, the relations among Ed, K d , and are not analyzed. In this paper, we show the relation with the aid of a computer.
Visibility of Disks on the Lattice Points
Table 1. The number of the partially visible disks
d
hd*
dX
hd*
hd*
and the longest distance
- l/d
0.5 1.414214 0.707107-0.585786 2.236068 0.894427 -0.263932 0.4 3.162278 0.948683 -0.171056 0.3 5.000000 1.000000 0.2 0 9.848858 0.984886 -0.151142 0.1 14.2126700.994887 -0.073044 0.07 19.9248590.996243 -0.075141 0.05 24.839485 0.993579 -0.160515 0.04 33.301652 0.999050 -0.031682 0.03 49.9799960.999600 -0.020004 0.02 99.984999 0.999850 -0.015001 0.01 142.8355700.999849 -0.021573 0.007 199.9849990.999925 -0.015001 0.005 249.9960000.999984 -0.004000 0.004 333.3301670.999990-0.003167 0.003 0.002 499.989000 0.999978 -0.011000 999.998500 0.999998 -0.001500 0.001 0.0007 1428.5674640.999997 -0.003964 0.0005 1999.999250 1.000000 -0.000750 0.0004 2499.998800 1.000000-0.001200 0.0003 3333.331817 1.000000-0.001517 0.0002 4999.9994001.000000-0.000600 0.0001 9999.999850 1.000000-0.000150 0.00007 14285.714158 1.000000-0.000128 0.00005 19999.999325 1.000000-0.000675 0.00003 33333.333302 1.000000-0.000032
2
K d
kd
203
hd*
A-d/kd
8 1.000000 8 20 0.800000 16 36 0.666667 24 48 80 0.600000 300 0.640000 192 640 0.625000 400 768 1244 0.617363 1184 1940 0.610309 2144 3504 0.611872 4776 7824 0.610429 19088 31396 0.607976 38992 64068 0.608603 76360 125608 0.607923 196292 0.607911 119328 212304 349112 0.608126 477496 785312 0.608033 3141520 0.607915 1909776 3897528 6411448 0.607901 7639504 12566316 0.607935 11936584 19634768 0.607931 21220720 34906608 0.607928 47746712 78539640 0.607931 190985984 314159016 0.607928 389767416 641141248 0.607928 763943520 1256636788 0.607927 2122065968 3490659012 0.607927
Result
First we are concerned with the partial visibility of disks. In Table 1, we show h d * and l i d for each d, where h d * is the distance to the center of the farthest partially visible disk from the origin. For easiness of computation, we calculate h d * instead of h d . It is clear that the difference of h d * and h d is at most d, because h d is the distance to a point on the circumference of the farthest partially visible disk from the origin. Therefore, when d -+ 0, Ihd - h d * l 0. From Table 1, when d 0, ( h d * - l/d) + 0. This result coincides with equation (1). Moreover, we say ( h d * - l/d) is nearly proportional to d. From Table 1, we have the following result: -+
-+
hd*
- l/d
N
-0.905 x do."'
I