Constructive Geometric Constraint Solving

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

Revisiting Decomposition Analysis of Geometric Constraint 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

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

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

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

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

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

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

CS200: Graphs. Graphs. Directed Graphs. Graphs/Networks Around Us. What can this represent? Sometimes we want to represent directionality:

Problem solving by search

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

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

Planar Upward Drawings

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

CS 241 Analysis of Algorithms

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

Present state Next state Q + M N

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

Graphs. CSC 1300 Discrete Structures Villanova University. Villanova CSC Dr Papalaskari

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

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

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

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

COMPLEXITY OF COUNTING PLANAR TILINGS BY TWO BARS

ECE COMBINATIONAL BUILDING BLOCKS - INVEST 13 DECODERS AND ENCODERS

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)}

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

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

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

1 Introduction to Modulo 7 Arithmetic

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

CS September 2018

QUESTIONS BEGIN HERE!

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

Multipoint Alternate Marking method for passive and hybrid performance monitoring

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

Trees as operads. Lecture A formalism of trees

Solutions to Homework 5

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

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

COMP108 Algorithmic Foundations

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

Seven-Segment Display Driver

QUESTIONS BEGIN HERE!

5/7/13. Part 10. Graphs. Theorem Theorem Graphs Describing Precedence. Outline. Theorem 10-1: The Handshaking Theorem

Garnir Polynomial and their Properties

Graph Contraction and Connectivity

MULTIPLE-LEVEL LOGIC OPTIMIZATION II

Minimum Spanning Trees

ECE 407 Computer Aided Design for Electronic Systems. Circuit Modeling and Basic Graph Concepts/Algorithms. Instructor: Maria K. Michael.

NP-Completeness. CS3230 (Algorithm) Traveling Salesperson Problem. What s the Big Deal? Given a Problem. What s the Big Deal? What s the Big Deal?

Register Allocation. Register Allocation. Principle Phases. Principle Phases. Example: Build. Spills 11/14/2012

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

S i m p l i f y i n g A l g e b r a SIMPLIFYING ALGEBRA.

Computational Biology, Phylogenetic Trees. Consensus methods

Integration Continued. Integration by Parts Solving Definite Integrals: Area Under a Curve Improper Integrals

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

Lecture 20: Minimum Spanning Trees (CLRS 23)

CS61B Lecture #33. Administrivia: Autograder will run this evening. Today s Readings: Graph Structures: DSIJ, Chapter 12

Properties of Hexagonal Tile local and XYZ-local Series

overconstrained well constrained underconstrained a b c d e f g h i j k

Quartets and unrooted level-k networks

More Foundations. Undirected Graphs. Degree. A Theorem. Graphs, Products, & Relations

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

EE1000 Project 4 Digital Volt Meter

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

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

Layout Decomposition for Triple Patterning Lithography

arxiv: v1 [cs.ar] 11 Feb 2014

Graph Theory. Vertices. Vertices are also known as nodes, points and (in social networks) as actors, agents or players.

CSE 373: AVL trees. Warmup: Warmup. Interlude: Exploring the balance invariant. AVL Trees: Invariants. AVL tree invariants review

Outline. Binary Tree

Decimals DECIMALS.

1. Determine whether or not the following binary relations are equivalence relations. Be sure to justify your answers.

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

Similarity Search. The Binary Branch Distance. Nikolaus Augsten.

Designing A Concrete Arch Bridge

Chapter 9. Graphs. 9.1 Graphs

FSA. CmSc 365 Theory of Computation. Finite State Automata and Regular Expressions (Chapter 2, Section 2.3) ALPHABET operations: U, concatenation, *

CS553 Lecture Register Allocation 1

Greedy Algorithms, Activity Selection, Minimum Spanning Trees Scribes: Logan Short (2015), Virginia Date: May 18, 2016

Section 3: Antiderivatives of Formulas

(a) v 1. v a. v i. v s. (b)

CSE303 - Introduction to the Theory of Computing Sample Solutions for Exercises on Finite Automata

Numbering Boundary Nodes

12. Traffic engineering

Fundamental Algorithms for System Modeling, Analysis, and Optimization

Lecture II: Minimium Spanning Tree Algorithms

LEO VAN IERSEL TU DELFT

Register Allocation. How to assign variables to finitely many registers? What to do when it can t be done? How to do so efficiently?

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

A 43k Kernel for Planar Dominating Set using Computer-Aided Reduction Rule Discovery

Weighted graphs -- reminder. Data Structures LECTURE 15. Shortest paths algorithms. Example: weighted graph. Two basic properties of shortest paths

GREEDY TECHNIQUE. Greedy method vs. Dynamic programming method:

Can transitive orientation make sandwich problems easier?

N=4 L=4. Our first non-linear data structure! A graph G consists of two sets G = {V, E} A set of V vertices, or nodes f

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

A PROPOSAL OF FE MODELING OF UNIDIRECTIONAL COMPOSITE CONSIDERING UNCERTAIN MICRO STRUCTURE

Transcription:

Construtiv Gomtri Constrint Solving Antoni Soto i Rir Dprtmnt Llngutgs i Sistms Inormàtis Univrsitt Politèni Ctluny Brlon, Sptmr 2002 CGCS p.1/37

Prliminris CGCS p.2/37

Gomtri onstrint prolm C 2 D L BC L AC h α A L AB B 1 A gomtri onstrint prolm onsists o st o gomtri lmnts, {A, B, C, D, L AB, L AC, L BC }, st o gomtri onstrints in twn thm, n st o prmtrs, { 1, 2, α, h}. CGCS p.3/37

Gomtri onstrint solving A gomtri onstrint prolm n rprsnt y prit ϕ in irst orr logi. ϕ(a, B, C, D, L AB, L AC, L BC ) (A, B) = 1 on(a, L AB ) on(b, L AB ) on(a, L AC ) on(c, L AC ) on(d, L AC ) on(b, L BC ) on(c, L BC ) h(c, L AB ) = h (L AB, L BC ) = α (C, D) = 2 Gomtri onstrint solving onsists in proving th truth o th xistntilly quntii prit ϕ tht rprsnts th gomtri onstrint prolm. A B C D L AB L AC L BC ϕ(a, B, C, D, L AB, L AC, L BC ) CGCS p.4/37

Gomtri Constrint Grph 2 C 2 C A D L L AC AC h L AB 1 L BC D α B A h L AB 1 L BC α B A gomtri onstrint prolm n lso rprsnt y mns o gomtri onstrint grph G = (V, E) whr th nos in V r gomtri lmnts with two grs o rom n th gs in E V V r gomtri onstrints suh tht h o thm nls on gr o rom. CGCS p.5/37

Wll-onstrin grphs Thorm 1 (Lmn, 1970) Lt G = (P, D) gomtri onstrint grph suh tht th vrtis in P r points in th two-imnsionl Eulin sp n th gs in D P P r istn onstrints. G is gnrilly wll-onstrin i n only i or ll G = (P, D ), inu sugrph o G y th st o vrtis P P, 1. D 2 P 3, n 2. D = 2 P 3. p p p p r p p p p r r p p p p CGCS p.6/37

Struturlly wll-onstrin grphs A nssry onition or gomtri onstrint prolm to solvl is tht th ssoit onstrint grph must struturlly wll-onstrin. Lt G = (V, E) gomtri onstrint grph. 1. G is struturlly ovr-onstrin i thr is n inu sugrph with m V nos n mor thn 2m 3 gs. 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. CGCS p.7/37

Construtiv Gomtri Constrint Solvrs CGCS p.8/37

Arhittur or Construtiv Gomtri Constrint Solvrs Astrt prolm Prmtrs ss. Anlyzr Inx sltor Astrt pln Inx ssign. Construtor Rliztion CGCS p.9/37

Arhittur or Construtiv Gomtri Constrint Solvrs p 3 2 h 1 l 1 p 1 1 p 2 Prmtrs ss. Anlyzr Inx sltor Astrt pln Inx ssign. Construtor Rliztion CGCS p.9/37

Arhittur or Construtiv Gomtri Constrint Solvrs p 3 2 h 1 l 1 p 1 1 p 2 Prmtrs ss. Anlyzr Inx sltor p 3 Inx ssign. l 1 p 1 p 2 p 3 Construtor Rliztion CGCS p.9/37

Arhittur or Construtiv Gomtri Constrint Solvrs p 3 2 h 1 l 1 p 1 1 p 2 Prmtrs ss. Anlyzr Inx sltor p 3 s 3 = +1 s 1 = 1 l 1 p 1 p 2 p 3 Construtor Rliztion CGCS p.9/37

Arhittur or Construtiv Gomtri Constrint Solvrs p 3 2 h 1 p 1 l 1 1 p 2 1 = 34 2 = 16 h 1 = 14 Anlyzr Inx sltor p 3 s 3 = +1 s 1 = 1 l 1 p 1 p 2 p 3 Construtor CGCS p.9/37

A lustr is st o two imnsionl gomtri lmnts with known positions with rspt to lol oorint systm. Clustrs P 1 P P 2 h L L 2 α L 1 P 3 L 2 3 1 P 1 P 2 h 1 h 2 1 P 1 P 2 L 2 α h 2 P h 1 L 1 CGCS p.10/37

Tr omposition CGCS p.11/37

Thr r grphs tht n tr ompos {,,,,,} CGCS p.12/37

Thr r grphs tht n tr ompos {,,,,,} {,} {,,,} {,,} CGCS p.12/37

Thr r grphs tht n tr ompos {,,,,,} {,} {,,,} {,,} {,} {,} {,} CGCS p.12/37

Thr r grphs tht n tr ompos {,,,,,} {,} {,,,} {,,} {,} {,} {,,} {,} {,} {,} {,} {,} {,} CGCS p.12/37

St ompositions C 1 C2 V 1 V2 C 3 Lt C st with, t lst, thr irnt mmrs, sy,,. Lt {C 1, C 2, C 3 } thr susts o C. W sy tht {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 = {}, 3. C 2 C 3 = {} n 4. C 1 C 3 = {} V 3 Lt G = (V, E) grph n lt {V 1, V 2, V 3 } thr susts o V. {V 1, V 2, V 3 } is st omposition o G i it is st omposition o V n or vry g in E, V () V i or som i, 1 i 3. CGCS p.13/37

Tr omposition Lt G = (V, E) grph. A 3-ry tr T is tr omposition o G i 1. V is th root o T, 2. Eh intrnl no V V o T is th thr o xtly thr nos, sy {V 1, V 2, V 3 }, whih r st omposition o th sugrph inu y V, n 3. Eh l no ontins xtly two vrtis o V. A grph G is tr omposl i thr is tr omposition o G. CGCS p.14/37

Rution nlysis CGCS p.15/37

Thr r grphs tht n ru CGCS p.16/37

Thr r grphs tht n ru CGCS p.16/37

Thr r grphs tht n ru CGCS p.16/37

Thr r grphs tht n ru CGCS p.16/37

Thr r grphs tht n ru CGCS p.16/37

Thr r grphs tht n ru CGCS p.16/37

Thr r grphs tht n ru CGCS p.16/37

Thr r grphs tht n ru CGCS p.16/37

Thr r grphs tht n ru CGCS p.16/37

Thr r grphs tht n ru CGCS p.16/37

Lt G = (V, E) gomtri onstrint grph. W in th initil st o lustrs S G = {{u, v} (u, v) E}. Rution nlysis Lt S st o lustrs in whih thr r thr lustrs C 1, C 2, C 3 suh tht {C 1, C 2, C 3 } is st omposition o C. S r S is rution rul whr S = (S {C 1, C 2, C 3 }) C. Th gomtri onstrint prolm rprsnt y th gomtri onstrint grph G is solvl y rution nlysis i S G rus to th singlton {V }. I G is not struturlly ovr-onstrin, th strt rution systm inu y th rution rul r is trminting n onlunt whih implis th uniqu norml orm proprty n noniity. CGCS p.17/37

Th omin o solvl grphs y rution nlysis Lt G = (V, E) wll-onstrin gomtri onstrint grph. Th ollowing ssrtions r quivlnt: 1. G is tr omposl. 2. G is solvl y rution nlysis. CGCS p.18/37

Th omin o solvl grphs y rution nlysis {,,,,, } {, } {,,, } {,, } {, } {,, } {, } {, } {, } {, } {, } {, } {, } CGCS p.19/37

Th omin o solvl grphs y rution nlysis {,,,,, } {, } {,,, } {,, } {, } {,, } {, } {, } {, } {, } CGCS p.19/37

Th omin o solvl grphs y rution nlysis {,,,,, } {, } {,,, } {,, } {, } {, } {, } CGCS p.19/37

Th omin o solvl grphs y rution nlysis {,,,,, } {, } {,,, } {,, } CGCS p.19/37

Th omin o solvl grphs y rution nlysis {,,,,, } CGCS p.19/37

Domposition nlysis CGCS p.20/37

Thr r grphs tht n ompos CGCS p.21/37

Thr r grphs tht n ompos CGCS p.21/37

Thr r grphs tht n ompos CGCS p.21/37

Thr r grphs tht n ompos CGCS p.21/37

Thr r grphs tht n ompos CGCS p.21/37

Thr r grphs tht n ompos CGCS p.21/37

Thr r grphs tht n ompos CGCS p.21/37

Thr r grphs tht n ompos CGCS p.21/37

Thr r grphs tht n ompos CGCS p.21/37

Lt G = (V, E) gomtri onstrint grph. W in th initil st o lustrs O G = {V }. Domposition nlysis Lt O st o lustrs in whih thr is lustr C suh tht {C 1, C 2, C 3 } is st omposition o th sugrph o G inu y C. O o O is rution rul whr O = (O C) {C 1, C 2, C 3 }. Th gomtri onstrint prolm rprsnt y th gomtri onstrint grph G is solvl y omposition nlysis i O G rus to S G. Th rution rltion o inus n strt rution systm. CGCS p.22/37

Th omin o solvl grphs y omposition nlysis Lt G = (V, E) wll-onstrin gomtri onstrint grph. Th ollowing ssrtions r quivlnt: 1. G is tr omposl. 2. G is solvl y omposition nlysis. CGCS p.23/37

Th omin o solvl grphs y omposition nlysis {,,,,, } {, } {,,, } {,, } {, } {,, } {, } {, } {, } {, } {, } {, } {, } CGCS p.24/37

Th omin o solvl grphs y omposition nlysis {, } {,,, } {,, } {, } {,, } {, } {, } {, } {, } {, } {, } {, } CGCS p.24/37

Th omin o solvl grphs y omposition nlysis {, } {, } {,, } {, } {,, } {, } {, } {, } {, } {, } {, } CGCS p.24/37

Th omin o solvl grphs y omposition nlysis {, } {, } {,, } {, } {, } {, } {, } {, } {, } {, } CGCS p.24/37

Th omin o solvl grphs y omposition nlysis {, } {, } {, } {, } {, } {, } {, } {, } {, } CGCS p.24/37

Rormulting Own s lgorithm CGCS p.25/37

Own s lgorithm rlis on omputing trionnt omponnts... SPLIT REDUCE SPLIT REDUCE SPLIT... ut tr h split som wll hosn gs shoul rmov to ontinu th pross. It is iiult to unrstn whih gs shoul rmov n th rson why thy shoul rmov. CGCS p.26/37

Whih gs n why shoul thy rmov? Th trionnt omponnts lgorithm suivis th grph n s virtul gs to prsrv onntivity proprtis. To urthr suivi, Own s lgorithm rmovs virtul gs t ny rtiultion pir with no singl g n xtly on mor omplx sugrph. CGCS p.27/37

Th proprty to prsrv in omposition lgorithms is th iit Wht is ssntil to prsrv in th grph suivision pross is rigiity proprtis, not onntivity proprtis. Diit = 0 Diit untion o grph G = (V, E) is in s Diit(G) = (2 V 3) E Diit = 1 Diit = 0 At vry grph split, iit vlu shoul mintin. Thus nw gs must to ulill this rquirmnt. CGCS p.28/37

Two rsults show how iit n mintin Lt G wll-onstrin onstrint grph n G n G sprting grphs o G. Thn Diit(G) = Diit(G ) + Diit(G ) 1 I Diit(G ) > Diit(G ), G is unr-onstrin n G is wll-onstrin. Thror To mintin wll-onstrintnss on virtul g must to th sprting grph G. Th virtul g susums th rigiity proprtis u to th sprting grph G CGCS p.29/37

Exmpl o iit ompnstion Diit = 0 Compnstion Diit = 0 Diit = 1 Diit = 0 CGCS p.30/37

Exmpl o iit ompnstion Diit = 0 Compnstion Diit = 0 Diit = 1 Diit = 0 CGCS p.30/37

A nw ormultion o Own s omposition lgorithm A lr n simpl pplition o ivi-n-onqur. Uss sprting pirs to suivi th grph. Applis iit ompnstion to mintin rigiity strutur. un Anlysis(G) i Trionnt(G) thn S := BinryTr(G, nulltr, nulltr) ls G 1,G 2 := SprtingGrphs(G) i Diit(G 1 ) > Diit(G 2 ) thn G 1 := AVirtulEg(G 1 ) ls G 2 := AVirtulEg(G 2 ) i S := BinryTr(G, Anlysis(G 1 ), Anlysis(G 2 )) i rturn S n CGCS p.31/37

Th rsult o th nw ormultion is n s-tr Th nw lgorithm yils inry orm o th Own s tr. W nm it s-tr. SPLIT REDUCE REDUCE SPLIT SPLIT CGCS p.32/37

Th omin o Own s mtho Lt G = (V, E) wll-onstrin gomtri onstrint grph. Th ollowing ssrtions r quivlnt: 1. G is tr omposl. 2. G is s-tr omposl. CGCS p.33/37

Th omin o Own s mtho {,,,,,} {,} {,,,} {,,} {,} {,} {,,} {,} {,} {,} {,} {,} {,} CGCS p.34/37

Th omin o Own s mtho {,,,,,} {,} {,,,} {,,} {,} {,} {,,} {,} {,} {,} {,} {,} {,} CGCS p.34/37

Th omin o Own s mtho {,,,,,} {,} {,,,} {,,} {,} {,} {,,} {,} {,} {,} {,} {,} {,} CGCS p.34/37

Domin quivln o onstrutiv mthos CGCS p.35/37

Construtiv mthos hv th sm omin Lt G = (V, E) wll-onstrin gomtri onstrint grph. Th ollowing 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. Th lss o grphs ulliling th ov proprtis is nm th onstrutivly solvl grphs lss. CGCS p.36/37

Summry W hv introu th tr omposition o grph. Tr omposl grphs hrtriz th omin o rution nlysis, omposition nlysis n Own s mtho. Th omins o onstrutiv mthos r th sm. W hv lrii n rormult Own s lgorithm. Th rormult lgorithm pplis ivi-n-onqur shm n it is onptully simplr. Th output o this lgorithm is n s-tr. CGCS p.37/37