Revisiting Decomposition Analysis of Geometric Constraint Graphs

Similar documents
Constructive Geometric Constraint Solving

MAT3707. Tutorial letter 201/1/2017 DISCRETE MATHEMATICS: COMBINATORICS. Semester 1. Department of Mathematical Sciences MAT3707/201/1/2017

learning objectives learn what graphs are in mathematical terms learn how to represent graphs in computers learn about typical graph algorithms

Cycles and Simple Cycles. Paths and Simple Paths. Trees. Problem: There is No Completely Standard Terminology!

Tangram Fractions Overview: Students will analyze standard and nonstandard

, each of which is a tree, and whose roots r 1. , respectively, are children of r. Data Structures & File Management

16.unified Introduction to Computers and Programming. SOLUTIONS to Examination 4/30/04 9:05am - 10:00am

Present state Next state Q + M N

Grade 7/8 Math Circles March 4/5, Graph Theory I- Solutions

Outline. 1 Introduction. 2 Min-Cost Spanning Trees. 4 Example

Complete Solutions for MATH 3012 Quiz 2, October 25, 2011, WTT

1 Introduction to Modulo 7 Arithmetic

Outline. Computer Science 331. Computation of Min-Cost Spanning Trees. Costs of Spanning Trees in Weighted Graphs

ECE COMBINATIONAL BUILDING BLOCKS - INVEST 13 DECODERS AND ENCODERS

d e c b a d c b a d e c b a a c a d c c e b

(4, 2)-choosability of planar graphs with forbidden structures

OpenMx Matrices and Operators

Lecture 20: Minimum Spanning Trees (CLRS 23)

Outline. Binary Tree

Graph Algorithms and Combinatorial Optimization Presenters: Benjamin Ferrell and K. Alex Mills May 7th, 2014

EE1000 Project 4 Digital Volt Meter

5/1/2018. Huffman Coding Trees. Huffman Coding Trees. Huffman Coding Trees. Huffman Coding Trees. Huffman Coding Trees. Huffman Coding Trees

CS 103 BFS Alorithm. Mark Redekopp

Weighted Graphs. Weighted graphs may be either directed or undirected.

The University of Sydney MATH 2009

Seven-Segment Display Driver

DFA Minimization. DFA minimization: the idea. Not in Sipser. Background: Questions: Assignments: Previously: Today: Then:

(2) If we multiplied a row of B by λ, then the value is also multiplied by λ(here lambda could be 0). namely

Paths. Connectivity. Euler and Hamilton Paths. Planar graphs.

An undirected graph G = (V, E) V a set of vertices E a set of unordered edges (v,w) where v, w in V

0.1. Exercise 1: the distances between four points in a graph

QUESTIONS BEGIN HERE!

Edge-Triggered D Flip-flop. Formal Analysis. Fundamental-Mode Sequential Circuits. D latch: How do flip-flops work?

Algorithmic and NP-Completeness Aspects of a Total Lict Domination Number of a Graph

Graph Isomorphism. Graphs - II. Cayley s Formula. Planar Graphs. Outline. Is K 5 planar? The number of labeled trees on n nodes is n n-2

COMPLEXITY OF COUNTING PLANAR TILINGS BY TWO BARS

A Tractable, Approximate, Combinatorial 3D rigidity characterization

Geometric constraints within Feature Hierarchies

Math 166 Week in Review 2 Sections 1.1b, 1.2, 1.3, & 1.4

24CKT POLARIZATION OPTIONS SHOWN BELOW ARE REPRESENTATIVE FOR 16 AND 20CKT

BASIC CAGE DETAILS SHOWN 3D MODEL: PSM ASY INNER WALL TABS ARE COINED OVER BASE AND COVER FOR RIGIDITY SPRING FINGERS CLOSED TOP

MCS100. One can begin to reason only when a clear picture has been formed in the imagination.

Depth First Search. Yufei Tao. Department of Computer Science and Engineering Chinese University of Hong Kong

CSE 373. Graphs 1: Concepts, Depth/Breadth-First Search reading: Weiss Ch. 9. slides created by Marty Stepp

Why the Junction Tree Algorithm? The Junction Tree Algorithm. Clique Potential Representation. Overview. Chris Williams 1.

Garnir Polynomial and their Properties

QUESTIONS BEGIN HERE!

Trees as operads. Lecture A formalism of trees

CS 461, Lecture 17. Today s Outline. Example Run

c 2009 Society for Industrial and Applied Mathematics

Announcements. Not graphs. These are Graphs. Applications of Graphs. Graph Definitions. Graphs & Graph Algorithms. A6 released today: Risk

BASIC CAGE DETAILS D C SHOWN CLOSED TOP SPRING FINGERS INNER WALL TABS ARE COINED OVER BASE AND COVER FOR RIGIDITY

Designing A Concrete Arch Bridge

The University of Sydney MATH2969/2069. Graph Theory Tutorial 5 (Week 12) Solutions 2008

Exam 1 Solution. CS 542 Advanced Data Structures and Algorithms 2/14/2013

12/3/12. Outline. Part 10. Graphs. Circuits. Euler paths/circuits. Euler s bridge problem (Bridges of Konigsberg Problem)

CS 241 Analysis of Algorithms

5/9/13. Part 10. Graphs. Outline. Circuits. Introduction Terminology Implementing Graphs

Math 61 : Discrete Structures Final Exam Instructor: Ciprian Manolescu. You have 180 minutes.

Divided. diamonds. Mimic the look of facets in a bracelet that s deceptively deep RIGHT-ANGLE WEAVE. designed by Peggy Brinkman Matteliano

Applications: The problem has several applications, for example, to compute periods of maximum net expenses for a design department.

CSC Design and Analysis of Algorithms. Example: Change-Making Problem

In which direction do compass needles always align? Why?

V={A,B,C,D,E} E={ (A,D),(A,E),(B,D), (B,E),(C,D),(C,E)}

V={A,B,C,D,E} E={ (A,D),(A,E),(B,D), (B,E),(C,D),(C,E)}

VLSI Testing Assignment 2

Planar Upward Drawings

Module graph.py. 1 Introduction. 2 Graph basics. 3 Module graph.py. 3.1 Objects. CS 231 Naomi Nishimura

CMSC 451: Lecture 4 Bridges and 2-Edge Connectivity Thursday, Sep 7, 2017

Computational Biology, Phylogenetic Trees. Consensus methods

Solutions to Homework 5

CMSC 451: Lecture 2 Graph Basics Thursday, Aug 31, 2017

b. How many ternary words of length 23 with eight 0 s, nine 1 s and six 2 s?

Continuous Flattening of Convex Polyhedra

Improving Union. Implementation. Union-by-size Code. Union-by-Size Find Analysis. Path Compression! Improving Find find(e)

CS September 2018

Spanning Trees. BFS, DFS spanning tree Minimum spanning tree. March 28, 2018 Cinda Heeren / Geoffrey Tien 1

Strongly connected components. Finding strongly-connected components

STRUCTURAL GENERAL NOTES

Yehuda Lindell Bar-Ilan University

Minimum Spanning Trees

Outline. Circuits. Euler paths/circuits 4/25/12. Part 10. Graphs. Euler s bridge problem (Bridges of Konigsberg Problem)

Graphs. Graphs. Graphs: Basic Terminology. Directed Graphs. Dr Papalaskari 1

(Minimum) Spanning Trees

Experiment # 3 Introduction to Digital Logic Simulation and Xilinx Schematic Editor

CMPS 2200 Fall Graphs. Carola Wenk. Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk

Optimization of Multistage Interconnection Networks

CSE 373: More on graphs; DFS and BFS. Michael Lee Wednesday, Feb 14, 2018

Solutions for HW11. Exercise 34. (a) Use the recurrence relation t(g) = t(g e) + t(g/e) to count the number of spanning trees of v 1

CS150 Sp 98 R. Newton & K. Pister 1

Multipoint Alternate Marking method for passive and hybrid performance monitoring

Announcements. These are Graphs. This is not a Graph. Graph Definitions. Applications of Graphs. Graphs & Graph Algorithms

# 1 ' 10 ' 100. Decimal point = 4 hundred. = 6 tens (or sixty) = 5 ones (or five) = 2 tenths. = 7 hundredths.

A 4-state solution to the Firing Squad Synchronization Problem based on hybrid rule 60 and 102 cellular automata

SAMPLE PAGES. Primary. Primary Maths Basics Series THE SUBTRACTION BOOK. A progression of subtraction skills. written by Jillian Cockings

Graph Contraction and Connectivity

Section 10.4 Connectivity (up to paths and isomorphism, not including)

Slide-and-swap permutation groups. Onyebuchi Ekenta, Han Gil Jang and Jacob A. Siehler. (Communicated by Joseph A. Gallian)

Nefertiti. Echoes of. Regal components evoke visions of the past MULTIPLE STITCHES. designed by Helena Tang-Lim

4.1 Interval Scheduling. Chapter 4. Greedy Algorithms. Interval Scheduling: Greedy Algorithms. Interval Scheduling. Interval scheduling.

Transcription:

Rvisitin Domposition Anlysis o Gomtri Constrint Grps R. Jon-Arinyo A. Soto-Rir S. Vil-Mrt J. Vilpln-Pstó Univrsitt Politèni Ctluny Dprtmnt Llnuts i Sistms Inormàtis Av. Dionl 647, 8, E 08028 Brlon [rort, tonis, ss, josp]@lsi.up.s ABSTRACT Gomtri prolms in y onstrints n rprsnt y omtri onstrint rps wos nos r omtri lmnts n wos rs rprsnt omtri onstrints. Rution n omposition r tniqus ommonly us to nlyz omtri onstrint rps in omtri onstrint solvin. In tis ppr w irst introu t onpt o iit o onstrint rp. Tn w iv nw ormliztion o t omposition loritm u to Own. Tis nw ormliztion is s on prsrvin t iit rtr tn on omputin trionnt omponnts o t rp n is simplr. Finlly w pply tr ompositions to prov tt t lss o prolms solv y t ormliztions stui r n otr ormliztions rport in t litrtur is t sm. Ctoris n Sujt Dsriptors I.3.5 [Computr Grpis]: Computtionl Gomtry n Ojt Molin Gomtri Aloritms, Lnus, n Systms; F.2.2 [Anlysis o Aloritms n Prolm Complxity]: Nonnumril Aloritms n Prolms Gomtril Prolms n Computtions Gnrl Trms Tory, loritms Kywors Constrint solvin, omtri onstrints, rp-s onstrint solvin 1. INTRODUCTION Gomtri prolms in y onstrints n rprsnt y omtri onstrint rps wos nos r Prmission to mk iitl or r opis o ll or prt o tis work or prsonl or lssroom us is rnt witout provi tt opis r not m or istriut or proit or ommril vnt n tt opis r tis noti n t ull ittion on t irst p. To opy otrwis, to rpulis, to post on srvrs or to ristriut to lists, rquirs prior spii prmission n/or. SM 02, Jun 17-21, 2002, Srrükn, Grmny. Copyrit 2002 ACM 1-58113-506-8/02/0006...$5.00. omtri lmnts n wos rs rprsnt omtri onstrints. For pplition wit potntilly lr onstrints systms, t iiny o t loritms or solvin t systm t n is n importnt issu. To i on t suitility o ivn onstrint solvin mto, its orrtnss must prov n t lss o prolms t mto n solv soul rtriz. Mny ttmpts to provi nrl, powrul n iint mtos or solvin systms o omtri onstrints v n rport in t litrtur. For n xtnsiv rviw in omtri onstrint solvin rr to Fuos [6] n Durn [3]. Amon t xistin mtos w ous on two tniqus ommonly us to nlyz omtri onstrint rps in omtri onstrint solvin, nrilly known s omposition n rution, rsptivly. Mor spiilly w r intrst in omposition n rution wr t nlysis is s on irt omtri intrprttion. Tr r otr ppros. S or xmpl Homnn t l. [7] or low-s omposition loritm. In [15], Own sri top-own loritm or omputin omposition o n ritrry rp. T loritm rursivly splits t rp into split omponnts, [8]. T loritm trmints wn t rps nnot split urtr. At t n o t nlysis t oriinl rp s n ompos into st o trinls. Fuos n Homnn, [6], rport on rp-onstrutiv ppro to solvin systms o omtri onstrints. T mto is s on n nlysis o t onstrint rp tt rivs squn o onstrution stps tt squntilly pls t omtri lmnts in t prolm wit rspt to otr. T nlysis s two prts. T irst prt is ottom-up rution nlysis wr stp in t squn orrspons to positionin tr rii omtri ois tt pirwis sr omtri lmnt, point or lin. T son prt is top-own omposition nlysis tt prous squn o ompositions tt orrspon to rvrs squn o rii omtri ois. In tis ppr w rormult t loritm rport y Own in [15] to solvin omtri onstrint prolms s on t omposition nlysis o t onstrint rp. First w introu t onpt o iit ssoit wit onstrint rp. T iit msurs t istn twn ivn onstrint rp n wll-onstrin rp inu y t sm st o nos. Tis onpt llows us to voi

t n or omputin trionnt omponnts yilin onptully simplr loritm. Tn w rll t tr omposition o onstrint rp, tool tt is usul to onptully nlyz onstrint rps. Finlly tr ompositions r ppli to rtriz t lss o prolms solv y t omposition nlysis stui r n to prov tt irnt ormliztions solv t sm lss o prolms. Stion 2 rviws si onpts rom rp tory n omtri onstrint rps. Stion 3 ls wit omposition nlysis. First w rll Own s loritm, tn w prsnt t nw ormliztion o t loritm. Stion 4 prsnts t tr omposition o onstrint rp. Stion 5 is vot to rtriz t lss o prolms solv y t omposition nlysis stui r n isusss t quivln o irnt ormliztions. W los wit ri summry in Stion 6. 2. PRELIMINARIES In tis stion w rll si trminoloy o rp tory, t onpt o omtri onstrint rp ssoit to omtri prolm in y onstrints, n som initions rlt to omtri onstrint rps. 2.1 Grp Conpts First w rll som si trminoloy o rp tory tt will us in t rst o t ppr. For n xtnsiv trtmnt s [2] n [8]. A rp G = (V, E) is si to onnt i vry vrtx is onnt to vry otr vrtx y t lst on pt o s. W sy tt vrtx o onnt rp G is n sprtion vrtx (rtiultion vrtx) i y rmovin, t rp splits into two or mor isonnt surps. I is n rtiultion no in G, tn tr r two vrtis u n v irnt rom su tt is on vry pt onntin u n v. A rp wit no rtiultion vrtis is ll ionnt. I u n v r ritrry irnt vrtis o ionnt rp G, tn tr r t lst two irnt pts in G onntin tm. A onnt rp n uniquly ompos into ionnt omponnts y splittin it t sprtion vrtis. Ao t l., [1], rport pt irst loritm tt iintly omputs su omposition. Lt n two vrtis in ionnt rp G. T s o G n ivi into sprtion lsss E 1, E 2,..., E n in s ollows, [8]. Two s r in t sm sprtion lss E i i tr is pt usin ot s n not ontinin or xpt, possily, s npoints. I t two vrtis n ivi t s into mor tn two sprtion lsss, tn t pir {, } is sprtion pir (rtiultion pir) o G. Morovr, i {, } ivis t s into two sprtion lsss, ontinin mor tn on, tn {, } is lso sprtion pir. A trionnt rp is rp wit mor tt two vrtis wit no sprtion pirs. In trionnt rp tr r t lst tr isjoint pts twn vry pir o non jnt vrtis. Lt {, } sprtion pir in t rp G tt inus t sprtion lsss E 1, E 2,..., E n. Assum 1 m n n lt E = m i=1 Ei n E = n i=m+1 Ei su tt E 2 n E 2. Tn w will rr to t rps G = (V (E ), E ) n G = (V (E ), E ) s t sprtin rps o G. T rps n G 1 = (V (E ), E {(, )}) G 2 = (V (E ), E {(, )}) r ll split rps o G. T (, ) is ll to not t split n is ll virtul. Assum tt t rp G n its split rps r rursivly split until otinin rps tt nnot split urtr. T st o ts rps ins t st o split omponnts o G. Not tt t split omponnts r trionnt rps n tt y mrin t split omponnts w rovr t oriinl rp. Hoprot n Trjn, [8], n Millr n Rmnrn, [14], rport on loritms to iintly omput sprtin rps n split omponnts o rp. 2.2 Gomtri Constrint Solvin n Grps In tis ppr w onsir onstrint prolms in y ivin st o omtri lmnts lik points, lins, lin smnts, irls n irulr rs, lon wit st o rltionsips, ll onstrints, lik istn, nl, inin n tnny twn ny two omtri lmnts. As xplin y Fuos, [4] n y Mt, [13], w my trnsorm t omtri onstrint prolm into on wr only points n lins wit pirwis istn n nl onstrints n to onsir. T omtri onstrint prolm n o s onstrint rp G = (V, E), wr t rp vrtis V r t omtri lmnts wit two rs o rom n t rp s E r t omtri onstrints, nlin on r o rom, [15, 6]. Fiur 1 sows omtri prolm in y onstrints n t omtri onstrint rp ssoit. A nssry onition or omtri onstrint prolm to solvl is tt t ssoit onstrint rp must wll-onstrin. Comintoril proprtis o wllonstrin rps v n rtriz y Lmn, [11]. Tnilly, t notion o wll-onstrin rp n ormliz s ollows, [6]. Dinition 1. Lt G = (V, E) omtri onstrint rp. 1. G is struturlly ovr-onstrin i tr is n inu surp wit m V vrtis n mor tn 2m 3 s. 2. G is struturlly unr-onstrin i it is not struturlly ovr-onstrin n E < 2 V 3. 3. G is struturlly wll-onstrin i it is not struturlly ovr-onstrin n E = 2 V 3. Not tt t ovr-onstrint s nls t sitution wr t sm rp is ovr-onstrin in on prt n unr-onstrint in notr t t sm tim. 3. DECOMPOSITION ANALYSIS First w rily rll t Own s loritm. Tn w iv nw ormliztion or t Own s loritm wi is simplr n tt will us in t ollowin stions.

A L AC 2 D C L AB L BC α B un Own(G) SC := SplitComponnts(G) S := or in SC o i Ruil() tn S := S Own(Ru()) ls S := S {} i on rturn S n 1 Fiur 2: Own s nlysis loritm. D L AC A 2 C L AB 1 α L BC Fiur 1: A omtri onstrint prolm n ssoit onstrint rp. 3.1 Own s Aloritm Own in [15] introu omtri onstrint solvin tniqu s on top-own nlysis o t omtri onstrint rp ssoit wit omtri prolm. T loritm s two stps. In irst stp, t loritm omputs t st o split omponnts S o t ivn rp G, [8]. Ts split omponnts r itr trinls or omplx trionnt rps, tt is, rps wit mor tn tr s. As omput, t omplx split omponnts r no urtr omposl. To ovrom tis prolm, in son stp t omplx split omponnts r trnsorm, i possil, y rmovin rom t rp on o t virtul s introu in t irst stp. Not tt virtul s r lwys inint to sprtion pirs. Tn t irst stp is rursivly ppli to t trnsorm split omponnts. T loritm trmints wn t rps nnot split urtr. I ny trionnt rp wit mor tn tr vrtis rmins, t prolm nnot solv qurtilly, tt is, t unrlyin qutions v r ir tn two. At t n o t nlysis, t oriinl rp s n ompos into st o trinls wos s r itr oriinl s or virtul s. I untion SplitComponnts(G) omputs t split omponnts o G, untion Ruil() ks wtr split omponnt soul urtr suivi, n untion Ru() rmovs unn virtul s o rp, Own s loritm n writtn s sown in Fiur 2. T nlysis pross ollow y Own s nlysis loritm is illustrt in Fiur 3. Virtul s r sown in B s lins. 3.2 T Nw Formliztion To ompos rp, Own s mto uss t loritm or inin trionnt omponnts rport y Hoprot n Trjn in [8], wi is s on prsrvin rp onntivity. As rsult, t split omponnts nrt y t omposition inlu xtr virtul s. To rursivly pply t omposition pross, Own s loritm must rmov ts xtr virtul s. In wt ollows w will prsnt n loritm to ompos onstrint rp in trionnt rps wit xtly tr vrtis, tt is, trinls. T loritm is s on ivi n onqur strty wi prsrvs t onstrint rp proprty o in wll-onstrin. T rsultin loritm is onptully simpl n sy to implmnt. As in [15] n [6], t loritm will s on suiviin t onstrint rp into two sprtin rps inu y sprtion pir. Wit t im o lrly sttin suivision ritrion, w strt y ivin som initions n rivin proprtis wi rlt wll-onstrin rps wit tir sprtin rps. Dinition 2. Lt G = (V, E) omtri onstrint rp. W in t Diit untion ssoit wit G y Diit(G) = (2 V 3) E T untion Diit omputs t irn twn t numr o s n or onstrint rp to wllonstrin n its tul numr o s. Not tt i G is not ovr-onstrin, Diit(G) 0 Lmm 1. Lt G onstrint rp n G n G sprtin rps. Tn Diit(G) = Diit(G ) + Diit(G ) 1 Proo. By inition, Diit(G) = (2 V 3) E ). Sin G n G r sprtion rps o G, tn V = V + V 2 n E = E + E. Tror, Diit(G) = 2( V + V 2) 3 ( E + E ) = (2 V 3 E ) + (2 V 3 E ) 1 = Diit(G ) + Diit(G ) 1

G SPLIT v 2 v 2 v 1 v 1 REDUCE REDUCE v 1 SPLIT SPLIT v 3 v 5 v 4 v5 v 1 v 4 v 3 Fiur 3: Own s loritm omputtion ppli to n xmpl rp.

Lmm 2. Lt G wll-onstrin rp n G n G sprtin rps. Tn i Diit(G ) > Diit(G ), G is unr-onstrin n G is wll-onstrin. Proo. Sin G is wll-onstrin, Diit(G) = 0 n sprtion rps, G n G, r not ovr-onstrin, tt is, Diit(G ) 0 n Diit(G ) 0. From Lmm 1 Diit(G) = Diit(G ) + Diit(G ) 1. Tus Diit(G ) + Diit(G ) = 1. Tn, Diit(G ) = 1 n Diit(G ) = 0, wi mns tt G is unr-onstrin n G wll-onstrin. Dinition 3. Lt G wll-onstrin onstrint rp n G n G sprtin rps. T moii split rps, G 1 n G 2, o G r in s ollows. I Diit(G ) > Diit(G ) tn G 1 = (V (E ), E {(, )}) n G 2 = G Lmm 3. Lt G = (V, E) onstrint rp n, G 1 = (V 1, E 1) n G 2 = (V 2, E 2) moii split rps. Tn Diit(G) = Diit(G 1) + Diit(G 2). Proo. Now E = E 1 + E 2 1. Lmm 1. Apply proo o Dinition 4. Lt G omtri onstrint rp. An s-tr S o G is inry tr o rps su tt: 1. t root is t rp G, 2. or no G in S its sutrs r root in t moii split rps G 1 n G 2 o G, n 3. t lvs r itr trinls or trionnt rps. As w will s in Stion 5 w r intrst in rps or wi tr r s-trs wos l nos r trinls us w know ow to solv t ssoit omtri onstrint prolm, [9, 15]. Dinition 5. W sy tt onstrint rp G is s-tr omposl i tr is n s-tr su tt its root is G n ll its lvs r trinls. Lt Trionnt(G) untion tt tsts wtr rp s sprtion pir, SprtinGrps(G) untion tt omputs t sprtin rps o G, (Rll tt sprtin rps o not inlu virtul s), n AVirtulE(G) untion tt s virtul inint to t sprtion pir us to omput t split rp G. Tn t omposition nlysis loritm s on prsrvin iits o rps n writtn s sown in Fiur 4. T input to t loritm is rp G ssoit to omtri onstrint prolm. T output is s-tr S wos root is G. Not tt i G is s-tr omposl t rsultin s-tr omposs G into trinls n t prolm is solv. Fiur 5 illustrts t viour o t nw omposition nlysis loritm ppli to t xmpl rp in Fiur 3. Not tt now only tos virtul s tt r stritly nssry to kp t iit proprty r inlu in t moii split rps, tror voiin t n or rp trnsormtion. Wn on o t sprtion lsss is sinl, it is inint to t vrtis in t sprtion pir. In tis s w prov t ollowin rsult. un Anlysis(G) i Trionnt(G) tn S := BinryTr(G, nulltr, nulltr) ls G 1,G 2 := SprtinGrps(G) i Diit(G 1) > Diit(G 2) tn G 1 := AVirtulE(G 1) ls G 2 := AVirtulE(G 2) i S := BinryTr(G, Anlysis(G 1), Anlysis(G 2)) i rturn S n Fiur 4: Nw loritm or omposition nlysis. Lmm 4. Lt G = (V, E) wll-onstrin omtri onstrint rp n {, } sprtion pir su tt (, ) E. Tn t sprtion rp wi ontins t (, ) is wll-onstrin. Proo. Lt {, } t sprtion pir in t rp G = (V, E) n E 1,..., E n 1, E n t sprtion lsss, wr E n ontins just t (, ). Lt E = m i=1 Ei n E = n 1 i=m+1 Ei. su tt E 2 n E 2. W v E = E + E + E n = E + E + 1 V = V (E ) + V (E ) 2 G wll-onstrin mns tt 2 V 3 E = 0. Sustitutin E n V y t xprssions ov n rrrnin trms (2 V (E ) 3 E ) + (2 V (E ) 3 E ) 2 = 0 Tr r two irnt ss. First lt (2 V (E ) 3 E ) = (2 V (E ) 3 E ) = 1 Sin lsss E i r roup ritrrily, ssum tt E = E E n. Tn V (E ) = V (E ) n E = E + 1. Tn t sprtion rps r G = (V (E ), E ) n G = (V (E ), E ). Tus t iit o t sprtion rp G = (V (E ), E ) is (2 V (E ) 3 E ) = 2 V (E ) 3 ( E + 1) = 2 V (E ) 3 E 1 = 0 Tror t sprtion rp G ontins (, ), is wll-onstrin n, sin Diit(G ) < Diit(G ), no virtul is to it. T son s ls to ontrition. Witout loss o nrlity, lt (2 V (E ) 3 E ) = 0, tt is, G is wllonstrin. Lt (2 V (E ) 3 E ) = 2. n ssum in E = E E n. Tis woul rsult in t sprtion rp G G in ovr-onstrin, tt is G woul ovr-onstrin wi is ontrition. Lmms 1, 2 n 3 lon wit Lmm 4 prov tt t loritm prsrvs t iit o t input rp.

G v 1 v 2 v 3 v 3 v4 v 5 Fiur 5: Domposition nlysis nrt y t nw loritm on t xmpl rp in Fiu 3.

v C C 2 Fiur 6: Grp wit r two vrtx v. C C 2 C 1 C3 Fiur 8: Lt: A st C. Rit: A st omposition o C. C 3 C 1 V 2 V3 Fiur 7: Suiviin rp into tr surps y usin tr vrtis, n. 3.3 Suivision Pttrn T loritm ivn in t prvious stion nlyzs onstrint rp y omposin it into two split rps inu y sprtion pir. Howvr, tr is notin ssntil in tis suivision mto. To, [16], rport on mto wr rps r suivi y isoltin vrtis o r two rom tir niors. In t, tis is prtiulr s o omposin trou sprtion pirs. Fiur 6 illustrts rp wit r two vrtx v. Not tt its niors, n, r sprtion pir. Tis suivision mto is rtr limit ut n stistorily omin wit otr mtos, lik tos in [8] or in [14], to omput mor nrl rp suivisions. Anotr mto suivis rp into tr surps y sltin tr vrtis su tt y rmovin tm t rp splits into tr onnt omponnts. S Fiur 7. W o not know ny iint loritm to slt t tr vrtis ut ty n lwys omput y usin rut or ppro. 4. TREE DECOMPOSITION In tis stion irst w in t onpt o st omposition tt rrs to wy o prtitionin ivn strt st. Tn w in t onpt o tr omposition o rp. Tis tool will us in Stion 5 to prov tt svrl onstrutiv omtri onstrint solvin mtos solv t sm lss o prolms. Dinition 6. Lt C st wit, t lst, tr irnt mmrs, sy,,. Lt {C 1, C 2, C 3} tr susts o C. W sy tt {C 1, C 2, C 3} is st omposition o C i 1. C 1 C 2 C 3 = C, 2. C 1 C 2 = {}, Fiur 9: Lt: Grp. Rit: St omposition o t rp. 3. C 1 C 3 = {} n 4. C 2 C 3 = {}. W sy tt {,, } r t tiv lmnts o t st omposition. Fiur 8 sows st n possil st omposition. Nxt w in t onpt o st omposition o rp, illustrt in Fiur 9. Dinition 7. Lt G = (V, E) rp. Lt V () not t vrtis in V tt r t npoints o E. Lt {V 1, V 2, V 3} tr susts o V. Tn {V 1, V 2, V 3} is st omposition o G i it is st omposition o V n or vry in E, V () V i or som i, 1 i 3. Rouly spkin, st omposition o rp G = (V, E), is st omposition o t st o vrtis V su tt os not rk ny in E. Fiur 10 lt sows rp G = (V, E) n Fiur 10 rit sows st omposition o V wi is not st omposition o G us vrtis inint to (, ) os not lon to ny st in t prtition. Lmm 5. Lt {V 1, V 2, V 3} st omposition o rp G n lt V 1 V 2 = {} n V 1 V 3 = {}. I V 1 > 2, tn {, } is sprtion pir o G. Proo. T surps o G inu y V i, or 1 i 3, v isjoint sts o s. By Dinition 6 V 1 (V 2 V 3) = {, }. Tus, rmovin {, } isonnts G. Tror {, } is sprtion pir. V 1

V 2 V 3 Fiur 10: Lt: Grp. Rit: St omposition wit rokn. V 1 {, } {, } {,,,,, } {,,, } {,, } {, } {,, } {, } {, } {, } {, } {, } {, } Fiur 12: Tr omposition o t rp in Fiur 11. Fiur 11: Colltion o st ompositions o t rp in Fiur 9. To los tis stion, w in t onpt o tr omposition o rp. Dinition 8. Lt G = (V, E) rp. A 3-ry tr T is tr omposition o G i 1. V is t root o T, 2. E no V V o T is t tr o xtly tr nos, sy {V 1, V 2, V 3 }, wi r st omposition o t surp o G inu y V, n 3. E l no ontins xtly two vrtis o V. A rp or wi tr is tr omposition is tr omposl rp. Fiur 11 sows olltion o st ompositions rursivly nrt or t tr omposl rp o Fiur 9. T orrsponin tr omposition is sown in Fiur 12. By Dinition 8, ll lvs o tr omposition T o rp G v rinlity two. 5. DOMAIN OF CONSTRUCTIVE GE- OMETRIC CONSTRAINT SOLVING TECHNIQUES Jon-Arinyo t l. sow in [10] tt t lss o tr omposl rps rtrizs t omin o two onstrutiv omtri onstrint solvin tniqus: rution n omposition nlysis s sri rsptivly in [6], n [10]. Hr, w will s tt t omposition nlysis stui in Stion 3 n rtriz lso y t xistn o tr omposition n tt it s t sm omin s t rution n omposition nlysis ov mntion. In wt ollows w will only onsir onstrint rps G ssoit wit wll-onstrin prolms. In ts onitions, s-trs r inry trs wos root is G, t otr nos r sprtion rps wit rspt to som sprtion pir o t prnt no n, t lvs r trinls or trionnt rps wit no rtiultion pirs. Aorin to t numr o virtul s in t trinls in t l nos o n s-tr, w lssiy tm in our irnt typs. S t son olumn in Tl 1. 5.1 Domin Crtriztion To rtriz t omposition nlysis stui in Stion 3 w prov two lmms. Lmm 6. I rp G is tr omposl, tn G is s-tr omposl. Proo. Assum tt T is tr omposition o G. W sll pro y inution on t strutur o T, [12]. Rr to Tl 1. Inution s: Lt G = (V, E) rp su tt V = {,, } n E = {(, ), (, ), (, )}. T tr T in t tir olumn o Tl 1 is tr omposition o G. Tn t tr in t ourt olumn is s-tr wos root is rp G = G 0 wit just on no rprsntin t trinl {,, }. Inution ypotsis: Lt G surp o G. I G is tr omposl tn G is s-tr omposl.

n G 0 Tr-omposition T S-tr S {,, } 0 G 0 {, } {, } {, } {,, } C G 1 1 {, } C 1 {, } {, } S 1 G 0 {,, } C G 2 2 S 2 G 1 {, } C 1 {, } C 2 {, } S 1 G 0 G 3 {,, } C S 3 G 2 3 S 2 G 1 {, } C 1 {, } C 2 {, } C 3 S 1 G 0 Tl 1: Typs o intrior nos in tr omposition n t quivlnt s-tr omposition.

un FromTrToS-Tr(T ) G 0 := ComputTrinl(T ) S := BinryTr(G 0, NullTr, NullTr) n := NumrOVirtulEs(G 0) or j in 1 to n o T j := Sutr(T, j) S j := FromTrToS-Tr(T j) G j := Root(S j) G j := MrGrps(G j, G j 1) S := BinryTr(G j, S j, S) n rturn S n Fiur 13: Computin s-tr S rom tr omposition T. Inution stp: I {C 1, C 2, C 3} is st omposition o C n {,, } t tiv lmnts, w v tt C = C {,, }, C 1 = C 1 {, }, C 2 = C 2 {, } n C 3 = C 3 {, }. Lt G rp n T tr omposition o G su tt its root is {,, } C n t roots o its sutrs r {, } C 1, {, } C 2 n {, } C 3. Assum tt C 1 n C 2 = C 3 =. Lt G 1 t surp inu y {, } C 1 in G. Lt T 1 t tr omposition o G 1. By Lmm 5, (, ) is sprtion pir o G tus G 1 is sprtion rp o G. Buil t otr sprtion rp G 2 s t rp G 2 = (V 2, E 2) wit V 2 = {,, } n E 2 = {(, ), (, )}. By Dinition 1, G 2 is unronstrin, tus y Lmm 2, G 1 is wll-onstrin. Now uil t moii split rps o G s G 0 = (V 2, E 2 {(, )}) n G 1. Sin G 1 is tr omposl, y t inution ypotsis it is s-tr omposl. Tror tr is s-tr, sy S 1, wos root is G 1. Hn t inry tr wos root is G n wos sutrs r G 0 n S 1 is s-tr. Tror G is s-tr omposl. Applyin t sm prour or ss C 2 n C 3 omplts t proo. I untion ComputTrinl(T ) omputs t trinl ssoit wit no o tr omposition, n untion MrGrps(G 1, G 2) ruils rp rom its moii split rps, Fiur 13 sows n loritm tt, s on Lmm 6, omputs s-tr S rom tr omposition T o rp G. Lmm 7. I rp G is s-tr omposl, tn G is tr omposl. Proo. Assum tt S is s-tr wos root is G. Ain w sll pro y inution on t strutur o S. Rr to Tl 1. Inution s: Lt G = (V, E) rp su tt V = {,, } n E = {(, ), (, ), (, )}. T s-tr S o G is tt ivn in t ourt olumn o Tl 1. Tn t tr ivn in t tir olumn is tr omposition o G. Inution ypotsis: Lt G surp o G. I G is s-tr omposl tn G is tr omposl. Inution stp: Lt S s-tr wos root is G n wos sutrs r G 0 n S 1. Assum tt G 0 = (V 0, E 0) wit V 0 = {,, } n E 0 = {(, ), (, )} {(, )} n lt G 1 = (V 1, E 1) t root o t s-tr S 1. By Dinition 4, G 0 n G 1 r t moii split rps o G wit rspt to t sprtion pir {, }. Sin G 1 is s-tr omposl, y inution ypotsis it is tr omposl. Tror tr is tr omposition T 1 o G 1. Buil tr omposition T su tt its sutrs r T 1, {, } n {, }. S Tl 1. Sutrs {, } n {, } sr t no. Sin {, } is sprtion pir o G, V 0 V 1 = {, }. But V 0, tus / V 1, {, } V 1 = {}, n {, } V 1 = {}. Tror T is tr omposition o G. Applyin t sm prour or ss in rows tr n our in Tl 1 omplts t proo. 5.2 Domin quivln Now, w will s tt t lss o s-tr omposl omtri onstrint rps n t lss o tr omposl rps r t sm. In otr wors, omtri onstrint prolm xprss y mns o omtri onstrint rp is solvl y Own s tniqu i n only i t rp is tr omposl. Sin w prov in [10] tt omtri onstrint rp is solvl y rution nlysis, [5], i n only i t rp is tr omposl, tis implis tt Own s tniqu n rution nlysis v t sm omin n tt its omin n rtriz y t lss o tr omposl rps. Torm 1. Lt G = (V, E) omtri onstrint rp. T ollowin ssrtions r quivlnt: 1. G is tr omposl. 2. G is s-tr omposl. 3. G is solvl y rution nlysis. 4. G is solvl y omposition nlysis. Proo. Jon-Arinyo t l. prov in [10] t quivln o ssrtions 1, 3 n 4. Lmm 6 provs tt 1 implis 2 n Lmm 7 provs tt 2 implis 1. Tis torm sows tt t onstrutiv mtos onsir r v t sm omin, tt is, ty solv t sm lss o prolms. Howvr, o tm xiits irnt proprtis lik iiny n vior wit rspt to unr-onstrin prolms, s [6], [10] n [15]. 6. SUMMARY W v introu t onpt o iit o onstrint rp. Bs on tis onpt, w v prsnt nw ormliztion or omposition nlysis loritm. W v prov its orrtnss. T i o prsrvin just t onstrint rp iit vois t n or nrl loritms to omput trionnt omponnts. Tus t rsultin omposition nlysis loritm is onptully simplr. W v us t tr omposition s nrl tool or omposition nlysis o onstrint rps. Spiilly, w v ppli it to prov tt irnt omposition nlysis ormliztions solv t sm lss o omtri onstrint prolms.

Aknowlmnts Tis rsr s n support y CICYT unr t projt TIC2001-2099-C03-01. Commnts o nonymous rrs lp to improv t ppr. 7. REFERENCES [1] Alr V. Ao, Jon E. Hoprot, n Jry D. Ullmn. T Dsin n Anlysis o Computr Aloritms. Computr Sin n Inormtion Prossin. Aison Wsly Pulisin Compny, Rin, MA, 1974. [2] Gry Crtrn n Lin Lsnik. Grps & Dirps. Cpmn & Hll, 3r ition, 1996. [3] C. Durn. Symoli n Numril Tniqus or Constrint Solvin. PD tsis, Puru Univrsity, Dprtmnt o Computr Sins, Dmr 1998. [4] I. Fuos. Constrint Solvin or Computr Ai Dsin. PD tsis, Puru Univrsity, Dprtmnt o Computr Sins, Auust 1995. [5] I. Fuos n C.M. Homnn. Corrtnss proo o omtri onstrint solvr. Intrntionl Journl o Computtionl Gomtry n Applitions, 6(4):405 420, 1996. [6] I. Fuos n C.M. Homnn. A rp-onstrutiv ppro to solvin systms o omtri onstrints. ACM Trnstions on Grpis, 16(2):179 216, April 1997. [7] C.M. Homnn, A. Lomonosov, n M. Sitrm. Gomtri onstrint omposition. In B. Brürlin n D. Rollr, itors, Gomtri Constrint Solvin n Applitions, ps 171 195. Sprinr, Brlin, 1998. [8] J. E. Hoprot n R. E. Trjn. Diviin rp into trionnt omponnts. Tnil rport, Computr Sin Dprtmnt. Cornll Univrsity, It, NY. USA, Frury 1974. Nw rvision o TR 72-140. [9] R. Jon-Arinyo n A. Soto-Rir. Cominin onstrutiv n qutionl omtri onstrint solvin tniqus. ACM Trnstions on Grpis, 18(1):35 55, Jnury 1999. [10] R. Jon-Arinyo, A. Soto-Rir, S. Vil-Mrt, n J. Vilpln. On t omin o onstrutiv omtri onstrint solvin tniqus. In R. Ďurikovič n S. Cznnr, itors, Sprin Conrn on Computr Grpis, ps 49 54. IEEE Computr Soity, 2001. [11] G. Lmn. On rps n riiity o pln skltl struturs. Journl o Eninrin Mtmtis, 4(4):331 340, Otor 1970. [12] Z. Mnn n R. Wlinr. T Dutiv Fountions o Computr Prormmin. Aison-Wsly Pu. Co., 1993. [13] N. Mt. Solvin inin n tnny onstrints in 2D. Tnil Rport LSI-97-3R, Dprtmnt LSI, Univrsitt Politèni Ctluny, 1997. [14] Gry L. Millr n Vijy Rmnrn. A nw rp trionntivity loritm n its prllliztion. Comintori, 12:53 76, 1992. [15] J. C. Own. Alri solution or omtry rom imnsionl onstrints. In Pro. o ACM Symposium on Fountions o Soli Molin, ps 397 407, Austin TX, USA, 1991. ACM. [16] P. To. A k-tr nrliztion tt rtrizs onsistny o imnsion ninrin rwins. SIAM J. Dis. Mt, 2(2):255 261, 1989.