• 沒有找到結果。

A necessary condition for a graph to be the visibility graph of a simple polygon

N/A
N/A
Protected

Academic year: 2021

Share "A necessary condition for a graph to be the visibility graph of a simple polygon"

Copied!
8
0
0

加載中.... (立即查看全文)

全文

(1)

Note

Anecessary condition for a graph to be the visibility graph

of a simple polygon



Chiuyuan Chen

Department of Applied Mathematics, National Chiao Tung University, Hsinchu 30050, Taiwan, ROC Received December 2000; received in revised form March 2001; accepted April 2001

Communicated by D.-Z. Du

Abstract

Two vertices of a simple polygon P are visible if the line segment joining them does not intersect the exterior of P. The visibility graph of P is a graph G obtained by representing each vertex of P by a vertex of G and two vertices of G are joined by an edge if and only if their corresponding vertices in P are visible. Agraph G is a visibility graph if there exists a simple polygon P such that G is isomorphic to the visibility graph of P. No characterization of visibility graphs is available. Coullard and Lubiw derived a necessary condition for a graph to be the visibility graph of a simple polygon. They proved that any 3-connected component of a visibility graph has a 3-clique ordering starting from any triangle. However, Coullard and Lubiw insisted on the non-standard de4nition of visibility (the line segment joining two visible vertices may not go through intermediate vertices) and they said they do not know if their result will hold under the standard de4nition of visibility. The purpose of this paper is to prove that Coullard and Lubiw’s result still holds under the standard de4nition of visibility. c 2002

Elsevier Science B.V. All rights reserved.

Keywords: Computational geometry; Visibility problem; Visibility graph; Polygon

1. Introduction

Our terminology and notation in visibility problem are standard; see [10], except as indicated. Two vertices vi and vj of a simple polygon P are visible (i.e., vi and vj

can see each other) if the line segment vivj does not intersect the exterior of P. The This research was partially supported by the National Science Council of the Republic of China under

grant No. NSC89-2115-M009-026.

E-mail address: cychen@cc.nctu.edu.tw (C. Chen).

0304-3975/02/$ - see front matter c 2002 Elsevier Science B.V. All rights reserved. PII: S0304-3975(01)00208-0

(2)

Fig. 1. (a) the polygon P (note that v6; v7; v1; v2 are collinear), (b) the visibility graph of P under the

standard de4nition of visibility, (c) the visibility graph of P under the non-standard de4nition of visibility.

visibility graph of P is a graph G obtained by representing each vertex of P by a vertex of G and two vertices of G are joined by an edge if and only if their corresponding vertices in P are visible. See Fig. 1(a) and (b). Agraph G is a visibility graph if there exists a simple polygon P such that G is isomorphic to the visibility graph of P. For a survey of the visibility problem, refer to [10, 11].

Our terminology and notation in graphs are standard; see [3], except as indicated. Graphs discussed in this paper are assumed simple and 4nite. Suppose G is a graph and A ⊆ V (G). G[A] is used to denote the subgraph of G induced by A. Let k be a positive integer. A k-clique is a complete graph with k vertices. Suppose [v1; v2; : : : ; vn] is a

ver-tex ordering of G; then, Aj is used to denote the set of vertices in {v1; v2; : : : ; vj−1} that

are adjacent to vj. A k-clique ordering of a graph G is a vertex ordering such that the

4rst k vertices form a k-clique and for any other vertex v, the subgraph of G induced by the vertices adjacent to v that precede v in the ordering contains a k-clique. More precisely, a k-clique ordering of a graph G is a vertex ordering [v1; v2; : : : ; vn] such that

{v1; v2; : : : ; vk} form a k-clique and for any other vertex vj; G[Aj] contains a k-clique.

For example, consider the vertex ordering [v1; v2; : : : ; v8] of the graph in Fig. 1(b). Then,

A4= {v1; v2; v3}, A5= {v1; v2; v3; v4}; A6= {v1; v2; v3; v4; v5}; A7= {v1; v2; v3; v4; v5; v6},

A8= {v1; v5; v7}. It is not diHcult to verify that [v1; v2; : : : ; v8] is a 3-clique ordering.

The visibility graph problem is to determine, given a graph, whether the graph is a visibility graph. No characterization of visibility graphs is available. It is even not known whether the visibility graph problem is in NP. Some known results are [1, 2, 4– 15]. In particular, Coullard and Lubiw [4] derived a necessary condition for a graph to be a visibility graph. They proved that any 3-connected component of a visibility graph has a 3-clique ordering starting from any triangle. The advantage of the 3-clique ordering property over other known properties of visibility graphs is that it can be tested in polynomial time and Coullard and Lubiw [4] had proposed an algorithm for doing it. Coullard and Lubiw [4] also used the 3-clique ordering property to solve the distance visibility graph problem; for details, see their paper. Abello et al. [1] also used the 3-clique ordering property to prove that any 3-connected planar visibility graph is maximal planar and any 4-connected visibility graph is non-planar.

(3)

Fig. 2. Three types of intersection.

Fig. 3. P1= [v1; v2; v3; v4; v5; v6; v7; v8], P2= [v1; v3; v4; v5; v6; v7; v8], P3= [v1; v3; v4; v5; v7; v8], P4= [v1; v3; v4;

v5; v6; v7].

The motivation of this paper is: Coullard and Lubiw [4] insisted on the non-standard de4nition of visibility (the line segment joining two visible vertices may not go through intermediate vertices; see Fig. 1(c)). They said they do not know if their result will hold under the standard de4nition of visibility. The purpose of this paper is to prove that Coullard and Lubiw’s result still holds under the standard de4nition of visibility. 2. Denitions

We begin with diJerentiating three type of intersection. Two line segments uv and st cross if they intersect at a point p = u; v; s; t; see Fig. 2(a). Two line segments uv and st touch if they intersect at u or v or s or t; see Fig. 2(b1) and (b2). Two line segments uv and st overlap if their intersection is a line segment; see Fig. 2(c).

A polygon is a cyclically ordered sequence of n distinct vertices v1; v2; : : : ; vn and n

edges v1v2; v2v3; : : : ; vn−1vn; vnv1 such that no pair of non-consecutive edges cross. Note

that we allow a polygon

(1) to have two non-consecutive edges touching or overlapping and (2) to have two consecutive edges overlapping.

Apolygon is simple if both (1) and (2) are not allowed. For example, each of P1; P2; P3; P4 in Fig. 3 is a polygon, but only P1 is a simple polygon. Given a polygon,

we can traverse its boundary clockwise or counterclockwise; in this paper, we assume the clockwise traversal, except as indicated.

The exterior of a polygon P is the open region of the plane outside P. A chord of P is a line segment joining two visible vertices vi and vj of P such that vivj is

(4)

example, in Fig. 3, P2; P3 and P4 are subpolygons of P1; P3 and P4 are subpolygons

of P2.

In Coullard and Lubiw’s proof [4], every subpolygon is a simple subpolygon, and the 3-clique ordering of visibility graphs has the property that any pre4x of the ordering corresponds to a subpolygon of the original polygon. Therefore, they also called the 3-clique ordering a subpolygon ordering. They need subpolygons to be simple to make the proof go through. Consider the graph in Fig. 1(b); it is the visibility graph of the polygon if Fig. 1(a). [v1; v2; v6; v7; v5; v8; v3; v4] is a 3-clique ordering of it starting

from the triangle v1; v2; v6. But under Coullard and Lubiw’s de4nition, this ordering is

certainly not a subpolygon ordering, since v1; v2; v6 do not form a simple subpolygon;

also, v1; v2; v6; v7 do not form a simple subpolygon.

It is obvious that a “simple subpolygon” is a “ subpolygon” and the converse is not true. It is also obvious that if two chords “cross” then they “interlace” and the con-verse is not true. The key points of overcoming the diHculty encountered by Coullard and Lubiw [4] are to replace “simple subpolygons” by “subpolygons” and to replace “4nding a chord crossed by another chord” by “4nding a chord interlaced by another chord.” Note that we still follow the de4nition that a graph G is a visibility graph if there exists a “simple polygon” P such that G is isomorphic to the visibility graph of P. But to prove the 3-clique ordering property of visibility graphs, we allow subpolygons to be non-simple.

3. The main result

Lemma 1 (see also [4]). Let P be a simple polygon such that its visibility graph G is 3-connected; and let S be a proper subpolygon of P with at least three vertices. Then there exists an edge ab of S such that (i) ab is a chord of P and (ii) ab is interlaced by a chord xy of P with x =∈ S and y ∈ S.

Proof. For convenience, we will use the same name for a vertex of P and for its corresponding vertex in G. That is, if v is a vertex of P, then v is also used to denote its corresponding vertex in G. See Fig. 4 for an illustration.

Since S is a proper subpolygon of P, S has an edge ab that is a chord of P. Assume that a occurs before b when we traverse S clockwise. Let X be the set of vertices of P encountered after a and before b, and let Y be the set of vertices of P encountered after b and before a. Note that all of the vertices of S are in Y and X is non-empty. Let X(Y) be the corresponding set of vertices of X (Y ) in G. Since G is 3-connected,

(5)

Fig. 4. An illustration of the proof of Lemma 1.

G has an edge xy such that x ∈ X and y ∈ Y. Then x sees y in P and xy is a chord

of P. It is clear that ab is interlaced by xy and x ∈ S. If y ∈ S, then we are done. In the following, assume that y ∈ S.

Let a(b) be the vertex of S that is closest to y when we traverse S clockwise

(counterclockwise). Then ab is an edge of S and is a chord of P. Since S contains at

least three vertices, it is not possible that a= b and b= a. Without loss of generality,

assume that a= b.

Let P be the subpolygon of P formed by the chord yx, the vertices of P from x

to b, the vertices of S from b to a, and the vertices of P from a to y. Traverse

P clockwise starting from b; let p1; p2; : : : ; pk be the sequence of vertices of P that

are visible from b, encountered during the traversal. Then pi and pi+1 are visible for

all i, 16i6k − 1. Let U be the set of vertices of P from b to y, and let V be the

set of vertices of P from x to b. Then there exists an index i such that pi∈ U and

pi+1∈ V (note that it is possible that pi= y and it is possible that pi+1= x). Note

that both pi+1pi and pib are chords of P. If pi∈ S, then ab is interlaced by pi+1pi

with Pi+1∈ S and pi∈ S. If pi∈ S, then ab is interlaced by pib with pi∈ S and b ∈ S.

Theorem 2. Let P be a simple polygon such that its visibility graph G is 3-connected. If S is a proper subpolygon of P with at least three vertices; then there exists a vertex p ∈ P − S and there exist three vertices a; b; w ∈ S such that (i) a; b; w can see each other (i.e.; any two of them are visible); (ii) p can see all of a; b; w; (iii) p ∪ S (with the ordering inherited from P) form a subpolygon of P.

Proof. By Lemma 1, there exists an edge ab of S such that ab is a chord of P and ab is interlaced by a chord xy of P with x ∈ S and y ∈S. Let a; x; b; y be the order of the four vertices a; b; x; y when we traverse P clockwise. For convenience, let V (S)

(6)

Fig. 5. An illustration of the proof of Theorem 2.

denote the set of vertices of S and let |uv| denote the length of an edge (or a chord) uv of P.

We 4rst 4nd w ∈ S such that a; b; w can see each other. Note that ab is a chord of P and therefore a can see b. If y can see both a and b, then let w = y; clearly, a; b; w can see each other. Now assume that y cannot see both a and b. Since collinear vertices can see each other, a; b; y are not collinear. Thus a; b; y form a triangle aby. Let

Q = {z ∈ V (S)\{a; b; y}: z is inside aby or on the boundary of aby}: Since y cannot see both a and b, there must exist a vertex of S that blocks y to see a or blocks y to see b; this vertex is inside aby. Therefore Q = ∅. Choose w ∈ Q such that

|wa| + |wb| = min

z∈Q{|za| + |zb|}:

Then w can see both a and b. Hence a; b; w can see each other.

We now 4nd p ∈ P − S such that p can see all of a; b; w. There are three cases: Case 1: a; x; b are collinear and wis not collinear with a; x; b. See Fig. 5(a) for an illustration. Since collinear vertices are visible, a; x; b can see each other. We claim that x is on the line segment ab. Suppose this is not true, i.e., x is not on the line segment ab. Since a; x; b are collinear and ab is interlaced by xy; y must be collinear with a; x; b. Since collinear vertices can see each other, y can see both a and b. In our method of choosing w, if y sees both a and b, then we will choose w = y. Then w is collinear with a; x; b; this contradicts the assumption that w is not collinear with a; x; b. From the above, x is on the line segment ab. Let p = x. Then p ∈ P − S and p can see all of a; b; w.

Case 2: a; x; b are collinear and wis also collinear with a; x; b. See Fig. 5(b) for an illustration. In this case, let p = x. Then p ∈ P − S. Since collinear vertices can see each other, p can see all of a; b; w.

Case 3: a; x; b are not collinear. See Fig. 5(c) for an illustration. In this case, a; x; b from a triangle axb. Let X be the set of vertices of P encountered after a and before b during a clockwise traversal of P. Then X ∩ V (S) = ∅. Let

(7)

Since x ∈ Q; Q= ∅. Choose p ∈ Q such that

|pa| + |pb| = min

z∈Q{|za| + |zb|}:

Then p can see all of a; b; w. Since p ∈ X and X ∩ V (S) = ∅; p ∈ P − S.

From the above, there exists a vertex p ∈ P − S and there exist three vertices a; b; w ∈ S such that a; b; w can see each other and p can see all of a; b; w. Since a; b; w can see each other and p can see all of a; b; w, we know that p ∪ S (with the ordering inherited from P) form a subpolygon of P.

The following is the main result.

Theorem 3. Any 3-connected visibility graph has a 3-clique ordering starting from any triangle.

Proof. Let G be a 3-connected visibility graph and let P be its corresponding simple polygon. For convenience, we will use the same name for a vertex of G and for its corresponding vertex in P. Let v1; v2; v3 be an arbitrary triangle of G. Since v1; v2; v3

can see each other, they form a subpolygon of P. Call this subpolygon S3. Since G is

3-connected, G has at least four vertices. Thus P has at least four vertices and therefore S3 is a proper subpolygon of P. Vertex vi and subpolygon Si (for i = 4; 5; : : : ; n) are

found in the following way: Since Si−1 is a proper subpolygon of P with at least three

vertices, by Theorem 2, there exists a vertex p ∈ P −Si−1 and there exist three vertices

a; b; w ∈ Si−1 such that (i) a; b; w can see each other, (ii) p can see all of a; b; w, and

(iii) p ∪ Si−1 (with the ordering inherited from P) form a subpolygon of P; let vi= p

and let Si= p ∪ Si−1. It is not diHcult to see that [v1; v2; : : : ; vn] is a 3-clique ordering

of G.

Apair of vertices u; v of a connected graph G is a separating pair if deleting u; v from G disconnects G. Note that any visibility graph is 2-connected, since it has a hamiltonian cycle corresponding to the polygon boundary. We now prove that: Corollary 4. Any 3-connected component of a visibility graph has a 3-clique ordering starting from any triangle.

Proof. Let G be a visibility graph and let P be its corresponding simple polygon. If G is 3-connected, then by Theorem 3, we are done. In the following, assume that G is not 3-connected. For convenience, we will use the same name for a vertex of G and for its corresponding vertex in P. Since G is not 3-connected, G has a separating pair u; v. Since G has a hamiltonian cycle, G\{u; v} consists of exactly two connected components C1 and C2. Set V1= V (C1) and V2= V (C2) for easy writing. Let V1(V2)

be the corresponding set of vertices of V1 (V2) in P. Also, let G1= G[V1∪ {u; v}] and

let G2= G[V2∪ {u; v}]. To prove this corollary, it is suHcient to prove that both G1

(8)

divides P into two simple subpolygons P1 and P2. Without loss of generality, assume

that x is in P1. Then it is not diHcult to see that G1 is the visibility graph of P1 and

G2 is the visibility graph of P2. We are done.

References

[1] J. Abello, H. Lin, S. Pisupati, On visibility graphs of simple polygons, Congr. Numer. 90 (1992) 119–128.

[2] T. Andreae, Some results on visibility graphs, Discrete Appl. Math. 40 (1992) 5–17. [3] J.A. Bondy, U.S.R. Murty, Graph Theory with Applications, North-Holland, New York, 1976. [4] C. Coullard, A. Lubiw, Distance visibility graphs, Int. J. Comput. Geom. Appl. 2 (4) (1992) 349–362. [5] H. ElGindy, Hierarchical decomposition of polygon with applications, Ph.D. Thesis, School of Computer

Science, McGill University, Montreal, Quebec, 1985.

[6] H. Everett, Visibility graphs of recognition, Ph.D. Thesis, University of Toronto, Toronto, Ontario, 1990. [7] H. Everett, D.G. Corneil, Recognizing visibility graphs of spiral polygons, J. Algorithms 11 (1990)

1–26.

[8] S.K. Ghosh, On recognizing and characterizing visibility graphs of simple polygons, Report JHU=EECS-86=14, Department of Electrical Engineering and Computer Science, The Johns Hopkins University, Baltimore, MD, 1986.

[9] F. Luccio, S. Mazzone, C.K. Wong, Anote on visibility graphs, Discrete Math. 64 (1987) 209–219. [10] J. O’Rourke, Art Gallery Theorems and Algorithms, Oxford University Press Inc., New York, 1987. [11] J. O’Rourke, Computational geometry column 18, Int. J. Comput. Geom. Appl. 3 (1) (1993) 107–113. [12] J. O’Rourke, J. Rippel, Two segment classes with Hamiltonian visibility graphs, Comput. Geom. Theory

Appl. 4 (1994) 209–218.

[13] X. Shen, Q. Hu, Anote on minimal visibility graphs, Inform. Process. Lett. 46 (1993) 101. [14] T.C. Shermer, Recent results in art galleries, Proc. IEEE 80 (1992) 1384–1399.

[15] G. Srinivasaraghavan, A. Mukhopadhyay, A new necessary condition for the vertex visibility graphs of simple polygons, Discrete Comput. Geom. 12 (1994) 65–82.

數據

Fig. 1. (a) the polygon P (note that v 6 ; v 7 ; v 1 ; v 2 are collinear), (b) the visibility graph of P under the
Fig. 2. Three types of intersection.
Fig. 4. An illustration of the proof of Lemma 1.
Fig. 5. An illustration of the proof of Theorem 2.

參考文獻

相關文件

• If a graph contains a triangle, any independent set can contain at most one node of the triangle.. • We consider graphs whose nodes can be partitioned into m

In particular, we present a linear-time algorithm for the k-tuple total domination problem for graphs in which each block is a clique, a cycle or a complete bipartite graph,

We will give a quasi-spectral characterization of a connected bipartite weighted 2-punctually distance-regular graph whose halved graphs are distance-regular.. In the case the

Miroslav Fiedler, Praha, Algebraic connectivity of graphs, Czechoslovak Mathematical Journal 23 (98) 1973,

Given a connected graph G together with a coloring f from the edge set of G to a set of colors, where adjacent edges may be colored the same, a u-v path P in G is said to be a

We give a quasi- spectral characterization of a connected bipartite weighted 2-punctually distance- regular graph whose halved graphs are distance-regular.. In the case the

Theorem (M.Kalkowski, M.Karonski, and F.Pfender, 2010) ([8]) Every connected graph G 6= K 2 is 5-edge weight colorable1. Theorem (T.Bartnicki, J.Grytczuk,

Given an undirected graph with nonnegative edge lengths and nonnegative vertex weights, the routing requirement of a pair of vertices is assumed to be the product of their weights.