• Nenhum resultado encontrado

Sobre iluminação de polígonos com focos ou reflectores em vértices

N/A
N/A
Protected

Academic year: 2021

Share "Sobre iluminação de polígonos com focos ou reflectores em vértices"

Copied!
158
0
0

Texto

(1)
(2)
(3)
(4)
(5)
(6)

palavras-chave Geometria Computacional, Problema da Galeria de Arte, Polígono Ortogonal, Minimização de Guardas em Vértices, Reflectores.

resumo O Problema da Galeria de Arte e as suas variantes têm sido intensivamente estudados desde os anos 70, mantendo-se vários problemas em aberto. Um dos problemas da classe de Problemas da Galeria de Arte é o da colocação de focos em vértices dum polígono de forma que o iluminem completamente e o seu número seja mínimo. Este é um problema NP-difícil. Nesta dissertação, abordamos algumas variantes deste problema,

nomeadamente para polígonos ortogonais (com e sem buracos) e focos com amplitude de iluminação 2π, π e π/2.

Apresentamos um método que permite determinar o valor óptimo de focos por aproximações sucessivas e que segue a estratégia adoptada em [Tomás e al. 2004]. As aproximações são obtidas por resolução de sub-problemas de cobertura mínima, sendo melhoradas através do refinamento da partição inicial do polígono.

Descrevemos ainda a aplicação desenvolvida para avaliação experimental do método nas diferentes variantes do Problema da Galeria de Arte mencionadas. Esta aplicação permite ainda escolher a partição inicial.

Nessa avaliação experimental foram usadas amostras constituídas por polígonos ortogonais aleatórios com n vértices, representáveis numa grelha regular com exactamente uma aresta em cada linha da grelha. Para focos de amplitude 2π, concluímos que o número de guardas mínimo era n/6. Este valor é inferior ao valor teórico ⎣n/4⎦, suficiente para guardar qualquer polígono ortogonal e ocasionalmente necessário.

Para polígonos com dois buracos rectangulares, gerados a partir de polígonos da amostra referida, verificámos que o número de guardas mínimo era (n+h)/6. Neste caso, a conjectura é que bastam sempre ⎣(n+h)/4⎦ guardas para vigiar um polígono ortogonal genérico com h buracos (sendo ocasionalmente necessários).

Para reflectores, é habitual impor que seja colocado, no máximo, um reflector por vértice. Os nossos resultados não verificam necessariamente esta condição. As funções que interpolam os resultados experimentais que obtivemos para π-reflectores e π/2-reflectores para polígonos ortogonais simples são respectivamente fπ(n) = (11n-30)/50 e fπ/2(n) = (23n-60)/100.

Para polígonos com dois buracos rectangulares, as funções que interpolam os valores obtidos fπ(n) = (9n-52)/40 e fπ/2(n) = (17n+4)/80.

(7)

keywords Computational Geometry, Art Gallery Problem, Orthgonal Polygon, Minimum Vertex Guard, Reflectors.

abstract The Art Gallery Problem and its variants have been extensively studied since the seventies, several problems remaining open. In this thesis we address the problem of placing a minimum number of lights (guards) on the vertices of a polygon so that the whole polygon is illuminated (guarded). It is known that this is an NP-hard problem.

We focus on orthogonal polygons (with and without holes) and lights with illumination range limited to 2π, π and π/2.

We present an algorithm to compute the minimum number of lights by

successive approximations, that follows the strategy proposed in [Tomás et al. 2004]. Each approximation is obtained by solving a minimum set covering problem for a given partition. Better approximations are achieved by refining the initial partition of the polygon.

We describe the implementation we developed to experimentally evaluate this method for the different variants. This application allows the choice of different initial partitions.

For that evaluation, we used random n-vertex orthogonal polygons that can be represented on a regular grid with exactly one edge in each line of the grid. For lights with amplitude 2π, we concluded that the minimum number of guards for random polygons is n/6. This value is smaller than the theoretical value ⎣n/4⎦, that is always sufficient and sometimes necessary to guard an n-vertex orthogonal polygon.

Random polygons with two rectangular holes were generated using the samples mentioned earlier. For these random samples, we verified that the minimum number of guards was (n+h)/6. In this case, the existing conjecture was that ⎣(n+h)/4⎦ guards are always sufficient and occasionally necessary to guard an n-vertex orthogonal polygon with h holes.

For reflex vertices, we have not imposed any condition on the number of guards per vertex, although it is usually required that this number does not exceed one. The experimental results indicate that for π-reflectors and π/2-reflectors on orthogonal polygons the minimum number of guards is interpolated by fπ(n) = (11n-30)/50 and fπ/2(n) = (23n-60)/100.

For polygons with two rectangular holes, these corresponding functions are

(8)

Conte´

udo

Introdu¸c˜ao 1

Contributos . . . 2

Organiza¸c˜ao do Texto . . . 3

1 O Problema da Galeria de Arte e Algumas Variantes 5 1.1 Defini¸c˜ao . . . 5

1.2 Pol´ıgonos, Visibilidade e Guardas . . . 7

1.2.1 Pol´ıgonos . . . 7

1.2.2 No¸c˜oes de visibilidade . . . 8

1.2.3 Guardas de amplitude de vis˜ao limitada . . . 10

1.3 Variantes para 2π-Guardas . . . . 11

1.3.1 Pol´ıgonos com buracos . . . 12

1.4 Variantes para π-Reflectores . . . . 14

1.5 Variantes para Reflectores Ortogonais . . . 15

2 Optimiza¸c˜ao por Aproxima¸c˜oes Sucessivas 17 2.1 Visibilidade Total, Parcial e por Sec¸c˜oes . . . 19

2.2 Dominˆancia . . . 21

2.2.1 ¤-Dominˆancia e ¤-Equivalˆencia . . . 21 i

(9)

ii CONTE ´UDO

2.2.2 Determina¸c˜ao da rela¸c˜ao de dominˆancia . . . 24

2.3 Aproxima¸c˜ao de OP T (P ) . . . . 24

2.3.1 Escolha da pe¸ca a partir . . . 26

2.3.2 Refinamento da parti¸c˜ao . . . 27

2.4 Representa¸c˜ao da ¤-Dominˆancia . . . 27

2.5 Modela¸c˜ao do Problema . . . 28

2.5.1 Problemas resultantes da ¤-dominˆancia n˜ao preservar espa¸co de solu¸c˜oes 30 2.6 Dominˆancia Conjunta . . . 30

3 Parti¸c˜ao de Pol´ıgonos Ortogonais 33 3.1 Representa¸c˜ao de Parti¸c˜oes . . . 34

3.1.1 Caracter´ısticas da estrutura . . . 35

3.2 Determina¸c˜ao da Parti¸c˜ao por Varrimento . . . 37

3.2.1 Eventos e estado da linha de varrimento . . . 37

3.2.2 Opera¸c˜oes poss´ıveis em cada evento . . . 38

3.2.3 Localiza¸c˜ao dos segmentos a alterar num evento . . . 41

3.2.4 An´alise detalhada de eventos . . . 44

3.3 Representa¸c˜ao por Listas de Arestas Duplamente Ligadas . . . 49

3.3.1 Estrutura de dados . . . 49

3.4 Algoritmo em Pseudo-C´odigo . . . 51

4 Determina¸c˜ao da Visibilidade 57 4.1 Ideias Fundamentais . . . 58

4.1.1 Propaga¸c˜ao da visibilidade pe¸ca a pe¸ca . . . 58

(10)

CONTE ´UDO iii

4.1.3 Cortes que caracterizam sec¸c˜oes . . . 63

4.2 Descri¸c˜ao do Algoritmo . . . 64

4.3 Uso e Actualiza¸c˜ao da Informa¸c˜ao . . . 68

4.3.1 Determina¸c˜ao de Γ inicial . . . 69

4.3.2 Refinamento duma pe¸ca da parti¸c˜ao . . . 71

4.3.3 Constru¸c˜ao de Zp . . . 71

4.3.4 Exemplo . . . 73

5 Implementa¸c˜ao 75 5.1 Estrutura de Classes da Implementa¸c˜ao . . . 75

5.2 Interface Gr´afica . . . 81

6 Avalia¸c˜ao Experimental 83 6.1 Resultados para pol´ıgonos aleat´orios . . . 86

6.1.1 Impacto de BoxDominanciaConjunta . . . 86

6.1.2 Varia¸c˜ao do n´umero de itera¸c˜oes por escolha de Γ0 . . . 87

6.1.3 Resultados para 2π-guardas em pol´ıgonos aleat´orios . . . . 90

6.1.4 Resultados para π-guardas em pol´ıgonos aleat´orios . . . . 92

6.1.5 Resultados para π 2-guardas em pol´ıgonos aleat´orios . . . 93

6.1.6 N´umero de guardas e de itera¸c˜oes para diferentes guardas . . . 95

6.2 Resultados para Pol´ıgonos com Buracos . . . 96

6.2.1 Resultados para 2π-guardas em pol´ıgonos com buracos . . . . 97

6.2.2 Resultados para π-guardas em pol´ıgonos com buracos . . . 100

6.2.3 Resultados para π 2-guardas em pol´ıgonos com buracos . . . 100

(11)

iv CONTE ´UDO

6.2.5 Condi¸c˜ao de cardinalidade . . . 102

6.3 Resultados para grid n-ogons da Classe Fat . . . 103

6.3.1 Resultados para 2π-guardas em grid n-ogons Fat . . . 103

6.3.2 Resultados para π-guardas em grid n-ogons Fat . . . 106

6.3.3 Resultados para π 2-guardas em grid n-ogons Fat . . . 109

6.4 Resultados para grid n-ogons da Classe MinArea . . . 112

6.4.1 Resultados para 2π-guardas em grid n-ogons MinArea . . . 113

6.4.2 Resultados para π-guardas em grid n-ogons MinArea . . . 115

6.4.3 Resultados para π 2-guardas em grid n-ogons MinArea . . . 116

6.4.4 Condi¸c˜ao de cardinalidade . . . 119

6.5 Resumo das fun¸c˜oes interpoladoras . . . 121

(12)

Lista de Figuras

1 Exemplo dum pol´ıgono que pode ser vigiado por apenas um guarda com amplitude de vis˜ao 2π. . . . 1 1.1 (a) Triangula¸c˜ao do pol´ıgono. (b) 3-colora¸c˜ao do grafo da triangula¸c˜ao. . . 6 1.2 Exemplo dum pol´ıgono que requer bn

3c guardas. . . . 7

1.3 Pol´ıgono de 50 v´ertices, com 3 buracos. . . 8 1.4 (a) Os ponto y e z s˜ao vis´ıveis de x. O ponto x n˜ao vˆe o ponto w. (b) Regi˜ao

de visibilidade de w. . . . 9 1.5 π-guardas em posi¸c˜oes restringidas: (a) ajustado a uma aresta; (b)

direccio-nado para o interior; (c) direcciodireccio-nado para o exterior; . . . 10 1.6 Ambos os pol´ıgonos ortogonais tˆem 16 v´ertices. Segundo o Teorema 1.2, o

limite superior para o n´umero de guardas necess´arios para vigiar cada um dos pol´ıgonos ´e 4. Bastam 2 guardas para vigiar o pol´ıgono representado em (a) e s˜ao precisos 4 guardas para vigiar o pol´ıgono representado em (b). . . 11 1.7 Exemplo dum pol´ıgono ortogonal com buracos que necessita de bn+h

4 c

guardas-em-v´ertices e uma poss´ıvel solu¸c˜ao. O pol´ıgono tem 44 v´ertices, 4 buracos e necessita de 12 guardas-em-v´ertices. . . 13 1.8 Exemplo dum pol´ıgono ortogonal com buracos que necessita de b2n

7 c

guardas-em-v´ertices e poss´ıvel solu¸c˜ao. . . 13 1.9 (a) Pol´ıgono ortogonal com 12 v´ertices que necessita de b3n−4

8 c reflectores

ortogonais e poss´ıvel solu¸c˜ao. (b) Pol´ıgono ortogonal com 32 v´ertices e um buraco que necessita de b3n+4(h−1)8 c reflectores ortogonais e poss´ıvel solu¸c˜ao. 16

(13)

vi LISTA DE FIGURAS 2.1 Dois guardas bastam para guardar o pol´ıgono. . . 17 2.2 A pe¸ca p4 ´e totalmente vis´ıvel de v8; a pe¸ca p1 ´e parcialmente vis´ıvel de v8;

a pe¸ca p6 ´e n˜ao vis´ıvel de v8. A regi˜ao sombreada ´e a regi˜ao de visibilidade

de v8. . . 20

2.3 As pe¸cas p1, p2, p7 e p8 s˜ao trivialmente n˜ao vis´ıveis por sec¸c˜oes. . . 21

2.4 Nenhuma dos v´ertices de P vˆe totalmente a pe¸ca p, considerando que os guardas a colocar s˜ao π

2-reflectores. . . 25

2.5 Exemplo dum diagrama de Hasse. . . 28 2.6 As classes [p1] = {p1}, [p2] = {p2}, [p7] = {p7} e [p8] = {p8} s˜ao trivialmente

n˜ao vis´ıveis por sec¸c˜oes. . . 31 3.1 Exemplos de parti¸c˜oes. . . 33 3.2 (a) Parti¸c˜ao ΠH; (b) Parti¸c˜ao ΠV; (c) Parti¸c˜ao Πr−cut. . . 34

3.3 (a) Representa¸c˜ao da parti¸c˜ao Πr−cut. (b) Representa¸c˜ao da parti¸c˜ao ΠH. . 34

3.4 O exterior do pol´ıgono est´a a cinzento. A meia aresta e delimita o exterior do pol´ıgono. . . 35 3.5 As meias arestas assinaladas a tra¸co grosso e negro s˜ao as meias arestas que

determinam a forma (orienta¸c˜ao) como a fronteira do pol´ıgono ´e percorrida. 36 3.6 As pe¸cas p0 e p1 s˜ao vizinhas. As pe¸cas p1 e p2 n˜ao s˜ao vizinhas. . . 36

3.7 (a) O ELV (a cinzento) ´e constitu´ıdo por v´arias meias arestas consecutivas. (b) No caso dum segundo varrimento, ´e poss´ıvel existirem eventos determi-nados por conjuntos de meias arestas consecutivas. . . 38 3.8 O estado da linha de varrimento ainda n˜ao foi iniciado, portanto ELV = ∅. 39 3.9 (a) Os p-segmentos do evento est˜ao assinalados a tra¸co grosso e negro. (b)

ELV ´e iniciado com os p-segmentos do evento. ELV est´a assinalado a tra¸co

(14)

LISTA DE FIGURAS vii 3.10 (a) Paragem de l. O primeiro p-segmento do evento abre uma nova pe¸ca.

(b) e (c) O p-segmento (em an´alise) do evento ir´a originar duas novas meias arestas. (d) ELV ´e actualizado com as novas meias arestas e com as meias arestas dos p-segmentos dos eventos que lhes deram origem. ELV est´a assinalado a tra¸co grosso e cinzento claro. . . 40 3.11 ELV est´a assinalado a tra¸co grosso e cinzento claro. (a) Paragem de l.

(b) O p-segmento do evento ir´a originar dois pares de duas novas meias arestas, fechando duas pe¸cas. (c) Paragem de l. (d) O p-segmento do evento ir´a fechar a ´unica pe¸ca aberta, n˜ao sendo abertas novas pe¸cas. Portanto, terminou o varrimento. . . 41 3.12 A e B s˜ao os valores de menor e maior abcissa do p-segmento E,

respecti-vamente. . . 42 3.13 Em (a) n˜ao h´a sobreposi¸c˜ao entre e e E. Em (b) e (c) h´a sobreposi¸c˜ao entre e

e E. . . . 42 3.14 (a) “Extens˜ao”do p-segmento e. (b) Resultado obtido. . . . 43 3.15 (a) O evento a analisar ´e constitu´ıdo pelo p-segmento e. O p-segmento E do

estado da linha de varrimento ´e composto por duas meias arestas. (b) S˜ao criadas as duas novas pe¸cas p4 e p5. . . 43

3.16 (a) Caso a > Bf. (b) ELV no final da an´alise do p-segmento e. . . . 44

3.17 (a) Caso b < A. (b) ELV no final da an´alise do p-segmento e. . . . 45 3.18 (a) Caso a = A e b = B. (b) ELV no final da an´alise do p-segmento e. . . 45 3.19 (a) Caso a = A e b < B e n˜ao existe sucessor de e. (b) ELV no final da

an´alise do p-segmento e. . . . 45 3.20 (a) Caso a = A e b < B e o sucessor de e ´e tal que a0 > B. (b) ELV no

final da an´alise do p-segmento e. . . . 46 3.21 (a) Caso a = A e b < B e o sucessor de e ´e tal que a0 ≤ B. (b) ELV no

final da an´alise do p-segmento e. . . . 46 3.22 (a) Caso a < A e n˜ao existe sucessor de e. (b) ELV no final da an´alise do

(15)

viii LISTA DE FIGURAS 3.23 (a) Caso a < A e o sucessor de e ´e tal que a0 > B. (b) ELV no final da

an´alise do p-segmento e. . . . 47 3.24 (a) Caso a < A e o sucessor de e ´e tal que a0 ≤ B. (b) ELV no final da

an´alise do p-segmento e. . . . 48 3.25 (a) Caso A < a. (b) Neste momento, apenas conhecemos parte do novo

ELV . A an´alise do p-segmento e ainda n˜ao est´a conclu´ıda. . . . 48 3.26 (a) b = B (b) a = B e b < A0 (c) a = B e b = A0 . . . . 49

3.27 Parti¸c˜ao dum pol´ıgono ortogonal com a identifica¸c˜ao dos diferentes compo-nentes da estrutura. . . 50 3.28 Os p-segmentos assinalados a tra¸co grosso e cinzento claro constituem o

estado da linha de varrimento. (a) Temos b < A e E ´e o primeiro p-segmento do estado da linha de varrimento tal que a ≤ B. (b) Ao analisar e verifica-se que h´a sobreposi¸c˜ao entre e e E. . . . 54 3.29 Caso a > Bf. Os p-segmentos assinalados a tra¸co grosso e cinzento claro

constituem o estado da linha de varrimento. . . 55 4.1 Cone de visibilidade fixado por v e por e. . . . 58 4.2 Faces adjacentes ao v´ertice reflexo v e ao v´ertice convexo v0 (a) no caso da

parti¸c˜ao Πr−cut. (b) no caso da parti¸c˜ao ΠV. . . 59

4.3 As pe¸cas p1, p2 e p3 est˜ao respectivamente a (S,W), (N,W) e (N,E) de v. . 59

4.4 No v´ertice v est´a colocado um (a) 2π-guarda; (b) π-reflector; (c) π

2-reflector. 60

4.5 A pe¸ca q foi j´a analisada. Estamos a analisar a pe¸ca p. Como o segmento s da meia aresta e ´e vis´ıvel do v´ertice v, ent˜ao o segmento s0 da meia aresta

g´emea de e ´e tamb´em vis´ıvel de v. . . . 61 4.6 (a) Cone originado por apenas um segmento. (b) Cone originado por dois

segmentos. (c) Devido `a existˆencia de buracos, existem quatro segmentos vis´ıveis disjuntos para a pe¸ca p, e portanto, quatro cones de visibilidade independentes. . . 61

(16)

LISTA DE FIGURAS ix 4.7 An´alise duma pe¸ca p com v´arios cones de visibilidade independentes. Os

segmentos assinalados a tra¸co grosso e negro s˜ao os segmentos que originam os cones de visibilidade. Os segmentos assinalados a tra¸co grosso e cinzento claro constituem a parte da fronteira da pe¸ca vizinha de p que ´e vis´ıvel de v. 62 4.8 (a) A pe¸ca p2 ´e n˜ao vis´ıvel de v j´a que o segmento assinalado (vis´ıvel em p2

e transmitido por p1) define com v um cone degenerado. (b) A pe¸ca p3 est´a

totalmente contida no cone de visibilidade, sendo totalmente vis´ıvel de v. (c) Apenas parte do interior da pe¸ca p4 est´a dentro do cone de visibilidade.

Portanto p4 ´e parcialmente vis´ıvel de v. . . . 62

4.9 A pe¸ca p tem duas sec¸c˜oes vis´ıveis de v. . . . 63 4.10 Os segmentos s1, s2 e s3 separam a regi˜ao vis´ıvel da regi˜ao n˜ao vis´ıvel de p

em rela¸c˜ao a v. . . . 63 4.11 Existem duas sec¸c˜oes de visibilidade em p. Uma ´e definida pelo corte ~s1 e a

outra pelos cortes ~s2 e ~s3. . . 64

4.12 Pol´ıgono e respectiva parti¸c˜ao Πr−cut. . . 64

4.13 Ajustamento de π

2-reflectores a arestas. . . 65

4.14 A parti¸c˜ao considerada ´e ΠH. Apesar de ser parcialmente vis´ıvel por mais

do que um v´ertice, a pe¸ca p4 ´e trivialmente n˜ao vis´ıvel por sec¸c˜oes. . . 69

4.15 Apesar de um dos cortes n˜ao entrar pelo mesmo lado que os outros dois cortes, a pe¸ca p ´e trivialmente n˜ao vis´ıvel por sec¸c˜oes. . . . 70 4.16 (a) Como todos os cortes est˜ao no mesmo quadrante, a pe¸ca p ´e trivialmente

n˜ao vis´ıvel por sec¸c˜oes. (b) Os cortes ~s4 e ~s5 definem uma sec¸c˜ao vis´ıvel.

Como ~s5 est´a no mesmo quadrante dos outros cortes, a pe¸ca ´e n˜ao vis´ıvel

por sec¸c˜oes. . . 70 4.17 A ordem pela qual s˜ao visitadas as pe¸cas do arranjo ´e determinada pela

orienta¸c˜ao do corte. . . 72 4.18 (a) A pe¸ca p ´e parcialmente vis´ıvel dos v´ertices v1 e v14. (b) Resultado

da introdu¸c˜ao do corte que define a sec¸c˜ao vis´ıvel de v1 e actualiza¸c˜ao da

visibilidade. (c) Adi¸c˜ao dos cortes originados pela sec¸c˜ao vis´ıvel de v14 e

actualiza¸c˜ao da visibilidade. Uma face do arranjo n˜ao fica vis´ıvel de nenhum v´ertice. . . 73

(17)

x LISTA DE FIGURAS

4.19 A pe¸ca p ´e parcialmente vis´ıvel dos v´ertices v1, v6 e v14. . . 74

4.20 Actualiza¸c˜ao do arranjo e da visibilidade por (a) introdu¸c˜ao do corte pro-vocado pelo v´ertice v1; (b) adi¸c˜ao do corte originado pelo v´ertice v6; (c) inser¸c˜ao do corte relativo ao v´ertice v16. . . 74

5.1 Diagrama das classes que constituem as estruturas de dados. . . 76

5.2 Atributos das classes Structure, LoL e Vertex. . . 76

5.3 Atributos das classes GridNode, HalfEdge e Face. . . 77

5.4 Atributos das classes Cut e MPElement. . . 77

5.5 Classes Segment, EdgeVisibility e VisibilityWindow e seus atributos. . 78

5.6 Classes HasseNode e VertexHN e respectivos atributos. . . 79

5.7 Classes que implementam as diferentes fases do m´etodo. . . 79

5.8 Informa¸c˜ao recolhida na resolu¸c˜ao de MVG para um pol´ıgono. . . 80

5.9 Interface gr´afica da aplica¸c˜ao. . . 81

5.10 Interface gr´afica da aplica¸c˜ao: pol´ıgono de visibilidade dum v´ertice. . . 82

6.1 Exemplos de grid n-ogons: (a) grid 12-ogon; (b) grid 14-ogon; (c) grid 16-ogon; (d) grid 18-ogon. . . 83

6.2 Pol´ıgono de 48 v´ertices e 2 buracos. . . 84

6.3 Varia¸c˜ao do tempo de execu¸c˜ao por altera¸c˜ao da parti¸c˜ao inicial, para amos-tras aleat´orias (sem buracos) e 2π-guardas. . . . 86

6.4 Nenhum dos v´ertices de P vˆe totalmente a pe¸ca p, considerando que os guardas a colocar s˜ao π 2-reflectores. . . 88

6.5 Ajuste (por interpola¸c˜ao) entre o tempo de execu¸c˜ao obtido para 2π-guardas com parti¸c˜ao inicial ΠH e o polin´omio interpolador, em pol´ıgonos aleat´orios. 91

6.6 Ajuste (por interpola¸c˜ao) entre o tempo de execu¸c˜ao obtido para 2π-guardas com parti¸c˜ao inicial Πr−cute o polin´omio interpolador, em pol´ıgonos aleat´orios. 91

(18)

LISTA DE FIGURAS xi 6.7 Compara¸c˜ao entre o n´umero de 2π-guardas obtido para pol´ıgonos aleat´orios

e as fun¸c˜oes f (n) = bn

4c e g(n) = n6. . . 92

6.8 Ajuste (por interpola¸c˜ao) entre o n´umero de π-guardas determinado experi-mentalmente e f (n) = 11n−30

50 , nas amostras aleat´orias. . . 93

6.9 Ajuste (por interpola¸c˜ao) entre o n´umero de π

2-guardas obtido

experimen-talmente e g(n) = 23n−60

100 , nas amostras aleat´orias. . . 94

6.10 Compara¸c˜ao entre o n´umero de guardas obtido para pol´ıgonos aleat´orios, considerando diferentes tipos de guardas. . . 95 6.11 Compara¸c˜ao entre o n´umero de itera¸c˜oes obtido para pol´ıgonos aleat´orios,

considerando diferentes tipos de guardas e parti¸c˜ao inicial ΠH. . . 96

6.12 Compara¸c˜ao entre o n´umero de itera¸c˜oes obtido para pol´ıgonos aleat´orios, considerando diferentes tipos de guardas e parti¸c˜ao inicial Πr−cut. . . 96

6.13 Ajuste (por interpola¸c˜ao) entre o tempo de execu¸c˜ao obtido para 2π-guardas com parti¸c˜ao inicial ΠH e o polin´omio interpolador, em pol´ıgonos com buracos. 98

6.14 Ajuste (por interpola¸c˜ao) entre o tempo de execu¸c˜ao obtido para 2π-guardas com parti¸c˜ao inicial Πr−cut e o polin´omio interpolador, em pol´ıgonos com

buracos. . . 98 6.15 Compara¸c˜ao entre o n´umero de 2π-guardas obtido para pol´ıgonos aleat´orios

com dois buracos rectangulares e as fun¸c˜oes f (n) = bn+h

4 c e k(n) = b2n7 c. . 99

6.16 Compara¸c˜ao entre o n´umero de 2π-guardas obtido para pol´ıgonos aleat´orios com dois buracos rectangulares e as fun¸c˜oes g(n) = n+h

6 e h(n) = bn+2h4 c. . 99

6.17 Ajuste (por interpola¸c˜ao) entre o n´umero de π-guardas obtido experimen-talmente e a fun¸c˜ao f (n) = 9n−52

40 , nas amostras aleat´orias com dois buracos

rectangulares. . . 101 6.18 Ajuste (por interpola¸c˜ao) entre o n´umero de π

2-guardas obtido e a fun¸c˜ao

f (n) = 17n+4

80 , em pol´ıgonos aleat´orios com dois buracos rectangulares. . . . 102

6.19 Pol´ıgonos da classe Fat para n = 4, 6, 8, 10, 12. . . 103 6.20 Ajuste (por interpola¸c˜ao) entre o tempo total de execu¸c˜ao e o polin´omio p(n)

(19)

xii LISTA DE FIGURAS 6.21 Ajuste (por interpola¸c˜ao) entre o tempo total de execu¸c˜ao e o polin´omio p(n)

de grau 4 para 2π-guardas e parti¸c˜ao Πr−cut, para pol´ıgonos Fat. . . 104

6.22 Ajuste (por interpola¸c˜ao) entre o tempo total de execu¸c˜ao e o polin´omio p(n) de grau 2 para π-guardas e parti¸c˜ao ΠH, para pol´ıgonos Fat. . . 107

6.23 Ajuste (por interpola¸c˜ao) entre o tempo total de execu¸c˜ao e a fun¸c˜ao ex-ponencial p(n) = 5, 8 exp(0, 2n) para π-guardas e parti¸c˜ao Πr−cut, para

pol´ıgonos Fat. . . 108 6.24 Ajuste (por interpola¸c˜ao) entre o tempo total de execu¸c˜ao e a fun¸c˜ao

ex-ponencial p(n) = 2, 4 exp(0, 2n) para π-guardas e parti¸c˜ao Πr−cut, para

pol´ıgonos Fat. . . 110 6.25 Ajuste (por interpola¸c˜ao) entre o tempo total de execu¸c˜ao e o polin´omio p(n)

de grau 2 para π

2-guardas e parti¸c˜ao ΠH, para pol´ıgonos Fat. . . 111

6.26 Pol´ıgonos da classe MinArea para n = 4, 6, 8, 10, 12. . . 112 6.27 Compara¸c˜ao entre o tempo de determina¸c˜ao da visibilidade e o tempo

to-tal de execu¸c˜ao para 2π-guardas e parti¸c˜ao ΠH, para pol´ıgonos da classe

MinArea. . . 113 6.28 Compara¸c˜ao entre o tempo de determina¸c˜ao da visibilidade e o tempo total

de execu¸c˜ao para 2π-guardas e parti¸c˜ao Πr−cut, para pol´ıgonos da classe

MinArea. . . 113 6.29 Ajuste (por interpola¸c˜ao) entre o tempo total de execu¸c˜ao e o polin´omio

interpolador de grau 4 para 2π-guardas e parti¸c˜ao ΠH, para pol´ıgonos da

classe MinArea. . . 114 6.30 Ajuste (por interpola¸c˜ao) entre o tempo total de execu¸c˜ao e o polin´omio

interpolador de grau 4 para 2π-guardas e parti¸c˜ao Πr−cut, para pol´ıgonos da

classe MinArea. . . 114 6.31 Compara¸c˜ao entre o tempo de determina¸c˜ao da visibilidade e o tempo total

de execu¸c˜ao para π-guardas e parti¸c˜ao ΠH, para pol´ıgonos da classe MinArea.115

6.32 Compara¸c˜ao entre o tempo de determina¸c˜ao da visibilidade e o tempo to-tal de execu¸c˜ao para π-guardas e parti¸c˜ao Πr−cut, para pol´ıgonos da classe

(20)

LISTA DE FIGURAS xiii 6.33 Ajuste (por interpola¸c˜ao) entre o tempo total de execu¸c˜ao e o polin´omio

interpolador de grau 4 para π-guardas e parti¸c˜ao ΠH, para pol´ıgonos da

classe MinArea. . . 116 6.34 Ajuste (por interpola¸c˜ao) entre o tempo total de execu¸c˜ao e o polin´omio

interpolador de grau 4 para π-guardas e parti¸c˜ao Πr−cut, para pol´ıgonos da

classe MinArea. . . 117 6.35 Compara¸c˜ao entre o tempo de determina¸c˜ao da visibilidade e o tempo total

de execu¸c˜ao para π

2-guardas e parti¸c˜ao ΠH, para pol´ıgonos da classe MinArea.117

6.36 Compara¸c˜ao entre o tempo de determina¸c˜ao da visibilidade e o tempo to-tal de execu¸c˜ao para π

2-guardas e parti¸c˜ao Πr−cut, para pol´ıgonos da classe

MinArea. . . 118 6.37 Ajuste (por interpola¸c˜ao) entre o tempo total de execu¸c˜ao e o polin´omio

interpolador de grau 4 para π

2-guardas e parti¸c˜ao ΠH, para pol´ıgonos da

classe MinArea. . . 118 6.38 Ajuste (por interpola¸c˜ao) entre o tempo total de execu¸c˜ao e o polin´omio

interpolador de grau 4 para π

2-guardas e parti¸c˜ao Πr−cut, para pol´ıgonos da

classe MinArea. . . 119 6.39 (a) Coloca¸c˜ao de b18

4c = 4 reflectores (π-guardas ou π2-guardas) num pol´ıgono

MinArea de 18 v´ertices. (b) Coloca¸c˜ao de b20

4c = 5 reflectores (π-guardas

ou π

2-guardas) num pol´ıgono MinArea de 20 v´ertices. . . 119

6.40 Compara¸c˜ao entre o n´umero de π-guardas obtido para pol´ıgonos aleat´orios e a fun¸c˜ao f (n) = bn

4c. . . 120

6.41 Compara¸c˜ao entre o n´umero de π

2-guardas obtido para pol´ıgonos aleat´orios

e a fun¸c˜ao f (n) = bn

(21)
(22)

Lista de Tabelas

1.1 Limites inferiores e superiores para o n´umero de 2π-guardas necess´arios para vigiar um pol´ıgono. As conjecturas est˜ao assinaladas com o sinal (?). . . . 14 1.2 Limites inferiores e superiores para o n´umero de α-reflectores necess´arios

para vigiar um pol´ıgono, com α = π, π/2. . . . 16 3.1 Tabela referente aos pontos da parti¸c˜ao da Figura 3.27. . . 50 3.2 Tabela referente `as pe¸cas da parti¸c˜ao da Figura 3.27. . . 51 3.3 Tabela referente `as meias arestas da parti¸c˜ao da Figura 3.27. . . 51 6.1 Redu¸c˜ao do tempo de execu¸c˜ao quando se aplica

boxDominanciaCon-junta (BDC): tempo de execu¸c˜ao para 2π-guardas partindo de ΠH sem e

com BDC. . . 86 6.2 Redu¸c˜ao do tempo de execu¸c˜ao quando se aplica

boxDominanciaCon-junta (BDC): tempo de execu¸c˜ao para 2π-guardas partindo de Πr−cut sem

e com BDC. . . 87 6.3 N´umero de itera¸c˜oes para as parti¸c˜oes ΠH e Πr−cut considerando 2π-guardas

e Γ0 constitu´ıdo pelas pe¸cas que s˜ao parcialmente vis´ıveis de, no m´aximo,

um v´ertice. . . 87 6.4 N´umero de itera¸c˜oes e tempo de execu¸c˜ao para as parti¸c˜oes ΠH e Πr−cut

con-siderando 2π-guardas e Γ0segundo o conceito alargado de pe¸cas trivialmente

n˜ao vis´ıveis por sec¸c˜oes. . . 88 xv

(23)

xvi LISTA DE TABELAS 6.5 N´umero guardas, n´umero de itera¸c˜oes e valor de m0 para as parti¸c˜oes ΠH

e Πr−cut considerando 2π-guardas e Γ0 (antigo) constitu´ıdo apenas pelas

pe¸cas parcialmente vis´ıveis de, no m´aximo, um v´ertice, e Γ0(actual) segundo

o conceito alargado de pe¸cas trivialmente n˜ao vis´ıveis por sec¸c˜oes (cf., crit´erio exposto na Sec¸c˜ao 4.3.1). . . 89 6.6 N´umero guardas, n´umero de itera¸c˜oes e valor de m0 para as parti¸c˜oes ΠH

e Πr−cut considerando π-guardas e Γ0 (antigo) constitu´ıdo apenas pelas pe¸cas

parcialmente vis´ıveis de, no m´aximo, um v´ertice, e Γ0 (actual) segundo o

conceito alargado de pe¸cas trivialmente n˜ao vis´ıveis por sec¸c˜oes (cf., crit´erio exposto na Sec¸c˜ao 4.3.1). . . 90 6.7 N´umero guardas, n´umero de itera¸c˜oes e valor de m0 para as parti¸c˜oes ΠH

e Πr−cut considerandoπ2-guardas e Γ0(antigo) constitu´ıdo apenas pelas pe¸cas

parcialmente vis´ıveis de, no m´aximo, um v´ertice, e Γ0 (actual) segundo o

conceito alargado de pe¸cas trivialmente n˜ao vis´ıveis por sec¸c˜oes (cf., crit´erio exposto na Sec¸c˜ao 4.3.1). . . 90 6.8 N´umero de itera¸c˜oes e tempo de execu¸c˜ao para as parti¸c˜oes ΠH e Πr−cut

considerando π-guardas em pol´ıgonos aleat´orios. . . . 92 6.9 N´umero de itera¸c˜oes e tempo de execu¸c˜ao para as parti¸c˜oes ΠH e Πr−cut

considerando π

2-guardas em pol´ıgonos aleat´orios. . . 94

6.10 N´umero m´edio de π-guardas e π

2-guardas necess´arios para vigiar pol´ıgonos

ortogonais aleat´orios. . . 95 6.11 N´umero de itera¸c˜oes e tempo de execu¸c˜ao para as parti¸c˜oes ΠH e Πr−cut

con-siderando 2π-guardas em pol´ıgonos aleat´orios com dois buracos rectangulares. 97 6.12 Limites inferiores e superiores para o n´umero de 2π-guardas, colocados em

v´ertices, necess´arios para vigiar um pol´ıgono ortogonal com n v´ertices e h buracos. As conjecturas est˜ao assinaladas com o sinal (?). . . 99 6.13 N´umero de itera¸c˜oes e tempo de execu¸c˜ao para as parti¸c˜oes ΠH e Πr−cut

con-siderando π-guardas em pol´ıgonos aleat´orios com dois buracos rectangulares. 100 6.14 N´umero de itera¸c˜oes e tempo de execu¸c˜ao para as parti¸c˜oes ΠH e Πr−cut

con-siderando π

(24)

LISTA DE TABELAS xvii 6.15 Tempo de execu¸c˜ao para as parti¸c˜oes ΠH e Πr−cut considerando 2π-guardas

em pol´ıgonos da classe Fat. . . 103 6.16 N´umero de pe¸cas para as parti¸c˜oes ΠH e Πr−cut em fun¸c˜ao do n´umero de

v´ertices em pol´ıgonos da classe Fat. . . 105 6.17 Tempo para a determina¸c˜ao da visibilidade, da dominˆancia e do tempo total

de execu¸c˜ao para ΠH em fun¸c˜ao do n´umero de v´ertices em pol´ıgonos da classe

Fat, considerando 2π-guardas. . . 105 6.18 Tempo para a determina¸c˜ao da visibilidade, da dominˆancia e do tempo total

de execu¸c˜ao para Πr−cut em fun¸c˜ao do n´umero de v´ertices em pol´ıgonos da

classe Fat considerando 2π-guardas. . . 106 6.19 Tempo para a determina¸c˜ao da visibilidade, da dominˆancia e do tempo total

de execu¸c˜ao para ΠH em fun¸c˜ao do n´umero de v´ertices em pol´ıgonos da classe

Fat considerando π-guardas. . . 107 6.20 Tempo para a determina¸c˜ao da visibilidade, da resolu¸c˜ao dos sub-problemas

de cobertura m´ınima e do tempo total de execu¸c˜ao para Πr−cut em fun¸c˜ao

do n´umero de v´ertices em pol´ıgonos da classe Fat considerando π-guardas. 108 6.21 Compara¸c˜ao entre a dimens˜ao dos problemas de cobertura m´ınima

resol-vidos para alguns pol´ıgonos da classe Fat para as parti¸c˜oes ΠH e Πr−cut

considerando π-guardas. . . 109 6.22 Tempo para a determina¸c˜ao da visibilidade, da dominˆancia e do tempo total

de execu¸c˜ao para Πr−cut em fun¸c˜ao do n´umero de v´ertices em pol´ıgonos da

classe Fat considerando π

2-guardas. . . 110

6.23 Tempo para a determina¸c˜ao da visibilidade, da visibilidade e dominˆancia e do tempo total de execu¸c˜ao para ΠH em fun¸c˜ao do n´umero de v´ertices em

pol´ıgonos da classe Fat considerando π

2-guardas. . . 111

6.24 N´umero de itera¸c˜oes para 2π-guardas, π-guardas e π

2-guardas para as

parti-¸c˜oes ΠH e Πr−cut em pol´ıgonos MinArea. . . 112

6.25 Redu¸c˜ao do n´umero de itera¸c˜oes para os pol´ıgonos da classe MinArea par-tindo de ΠH e de Πr−cut. . . 115

(25)
(26)

Introdu¸c˜

ao

Nesta disserta¸c˜ao tratamos o problema da coloca¸c˜ao de guardas em v´ertices dum pol´ıgono simples de forma que o vigiem completamente e o seu n´umero seja m´ınimo. Ser´a abrevia-damente designado por MVG (Minimum Vertex Guard, em Inglˆes).

Admitindo que os guardas tˆem amplitude de vis˜ao 2π, podemos verificar que o pol´ıgono representado na Figura 1 fica completamente vigiado se se colocarem guardas nos v´ertices vi

e vj, mas basta um guarda se for colocado no v´ertice vk.

vi

vj

vk

Figura 1: Exemplo dum pol´ıgono que pode ser vigiado por apenas um guarda com ampli-tude de vis˜ao 2π.

Atendendo `as carater´ısticas estruturais dalguns pol´ıgonos, ´e poss´ıvel em certos casos co-nhecer imediatamente a solu¸c˜ao do problema. Por exemplo, se os pol´ıgonos forem con-vexos basta um guarda, o qual poder´a ficar colocado em qualquer v´ertice. ´E tamb´em conhecido que s˜ao suficientes bn

3c guardas com amplitude de vis˜ao 2π para vigiar

qual-quer pol´ıgono simples de n v´ertices [Chv´atal 1975], e que bastam bn

4c se o pol´ıgono for

ortogonal [Edelsbrunner et al. 1984]. Nestes casos, a determina¸c˜ao dos v´ertices em que os guardas ficariam colocados pode ser feita em tempo O(n log n) [Avis & Toussaint 1981, Edelsbrunner et al. 1984].

Quando o objectivo ´e a minimiza¸c˜ao do n´umero de guardas o problema torna-se NP-dif´ıcil (NP-hard, em Inglˆes). Este resultado come¸cou por ser demonstrado para pol´ıgonos com buracos por O’Rourke e Supowit [O’Rourke & Supowit 1983], e posteriormente foi

(27)

2 Introduc¸˜ao demonstrado para pol´ıgonos sem buracos por Lee e Lin [Lee & Lin 1986]. Em 1995, Shu-chardt e Hecker provaram que MVG ´e NP-dif´ıcil tamb´em para pol´ıgonos ortogonais e que a minimiza¸c˜ao do n´umero de guardas continua a ser NP-dif´ıcil mesmo quando se considera que os guardas podem ser colocados em qualquer posi¸c˜ao e n˜ao apenas em v´ertices [Shuchardt & Hecker 1995].

Esta disserta¸c˜ao focar´a um m´etodo para resolver MVG por aproxima¸c˜oes sucessivas e segue a abordagem proposta por Tom´as, Bajuelos e Marques [Tom´as et al. 2003]. Cada aproxi-ma¸c˜ao ´e obtida por resolu¸c˜ao dum problema de cobertura m´ınima de conjuntos (Minimum

Set Cover, em Inglˆes) associado a uma parti¸c˜ao do pol´ıgono. O processo ´e iterativo. Para

melhorar a aproxima¸c˜ao, a parti¸c˜ao inicialmente considerada vai sendo refinada. Em cada itera¸c˜ao o valor ´optimo est´a encaixado num intervalo, que se vai sucessivamente reduzindo.

Contributos

O trabalho realizado d´a continuidade ao descrito em [Tom´as et al. 2003, Marques 2004, Tom´as 2004, Tom´as et al. 2006]. Um dos objectivos do trabalho foi melhorar aspectos da implementa¸c˜ao desenvolvida por Marques [Marques 2004] para avalia¸c˜ao experimental do m´etodo usando pol´ıgonos ortogonais. Outro objectivo foi versatilizar a implementa¸c˜ao de modo a tratar diferentes problemas de vigilˆancia. Assim, foi considerado o problema de minimiza¸c˜ao de guardas em v´ertices para guardas com amplitude de vis˜ao inferior a 2π, no-meadamente, para guardas com amplitude de vis˜ao π e π

2. Al´em de se considerar diferentes

tipos de guardas, considerou-se tamb´em pol´ıgonos ortogonais com buracos.

Nesse sentido, foi realizado um estudo dos resultados existentes sobre majorantes e mino-rantes para o n´umero de guardas nas diferentes formula¸c˜oes de MVG. A nova aplica¸c˜ao foi tamb´em desenvolvida com aplica¸c˜ao a pol´ıgonos ortogonais. Nesta implementa¸c˜ao melhoraram-se alguns dos algoritmos bem como as estruturas de dados que os suportam, tendo como fim a resolu¸c˜ao dos diferentes problemas de vigilˆancia referidos. Assim, esta implementa¸c˜ao pode ser usada para resolver MVG em pol´ıgonos com e sem buracos, para guardas colocados em v´ertices com amplitudes de vis˜ao 2π, π e π

2. Permite tamb´em

fle-xibilizar o tipo de parti¸c˜ao inicial. Estes aspectos ser˜ao apresentados detalhamente nos cap´ıtulos seguintes.

(28)

Introduc¸˜ao 3

Organiza¸c˜

ao do Texto

Al´em desta introdu¸c˜ao, a disserta¸c˜ao ´e constitu´ıda por 7 cap´ıtulos. No Cap´ıtulo 1 apre-sentamos o Problema da Galeria de Arte e algumas das suas variantes. No Cap´ıtulo 2 descrevemos o m´etodo proposto em [Tom´as et al. 2003] assim como as modifica¸c˜oes intro-duzidas. Os Cap´ıtulos 3 e 4 debru¸cam-se sobre os algoritmos necess´arios `a implementa¸c˜ao. No Cap´ıtulo 3 descrevemos o m´etodo de constru¸c˜ao da parti¸c˜ao assim como a estrutura escolhida para representar quer o pol´ıgono como a parti¸c˜ao. No Cap´ıtulo 4 abordamos o problema da determina¸c˜ao da visibilidade, apresentando o m´etodo desenvolvido. Neste cap´ıtulo explicamos ainda como decompor uma pe¸ca da parti¸c˜ao segundo as suas sec¸c˜oes vis´ıveis. No Cap´ıtulo 5 ´e descrita a implementa¸c˜ao do m´etodo exposto no Cap´ıtulo 2. Finalmente, no Cap´ıtulo 6 apresentamos a an´alise dos resultados obtidos na avalia¸c˜ao ex-perimental desse mesmo m´etodo. Terminamos com algumas propostas para continua¸c˜ao deste trabalho.

(29)
(30)

Cap´ıtulo 1

O Problema da Galeria de Arte e

Algumas Variantes

O Problema da Galeria de Arte e suas variantes tem sido activamente estudado desde os anos 70. Neste cap´ıtulo apresentamos algumas das variantes, e respectivos resultados, mais relevantes para o trabalho desenvolvido. Come¸camos por expor, na Sec¸c˜ao 1.1, o resultado fundamental, conhecido como Teorema da Galeria de Arte. Na Sec¸c˜ao 1.2 introduzimos alguns conceitos. Nas Sec¸c˜oes 1.3 e 1.4 apresentamos os resultados conhecidos para algumas variantes do Problema da Galeria de Arte, nomeadamente, para guardas de amplitude de vis˜ao 2π e inferior a 2π. Estes resultados servem de controlo aos resultados obtidos pela aplica¸c˜ao implementada para avaliar o m´etodo, uma vez que a avalia¸c˜ao foi realizada considerando guardas com amplitude de vis˜ao 2π, π e π

2.

1.1

Defini¸c˜

ao

De acordo com a bibliografia relevante da ´area, o interesse pelo problema da caracteriza¸c˜ao do n´umero necess´ario de guardas para vigiar uma regi˜ao poligonal surge, tal como relata Honsberger [Honsbeger 1976], na sequˆencia duma quest˜ao colocada por Klee em 1973. Klee colocou o problema de determinar o n´umero m´ınimo de guardas estacion´arios suficientes para vigiar uma sala duma galeria da arte cujo ch˜ao possa ser representado por um pol´ıgono de n v´ertices.

(31)

6 O Problema da Galeria de Arte e Algumas Variantes Um guarda estacion´ario (que neste contexto teria amplitude de vis˜ao 2π) ´e um guarda localizado num ponto fixo que pode ver em todas as direc¸c˜oes e com alcance ilimitado, se n˜ao existirem obstru¸c˜oes. Dizemos que um conjunto de guardas vigia completamente (ou cobre) uma regi˜ao poligonal se todo o ponto dessa mesma sala ´e vis´ıvel dalgum guarda. No ˆambito deste trabalho identificar-se-´a o problema da vigilˆancia com o problema da ilumina¸c˜ao. Assim, podemos dizer que um conjunto de guardas vigia uma sala ou que um conjunto de focos ilumina uma sala.

Em resposta `a quest˜ao colocada por Klee, em 1975, Chv´atal provou o seguinte.

Teorema 1.1 [Chv´atal 1975] Para vigiar qualquer pol´ıgono de n v´ertices, bn

3c guardas

s˜ao sempre suficientes e por vezes necess´arios.

Este resultado ficou conhecido como o Teorema da Galeria de Arte de Chv´atal. A prova proposta por Chv´atal ´e indutiva e baseia-se numa decomposi¸c˜ao adequada do pol´ıgono. Em 1978, Fisk [Fisk 1978] apresentou uma prova mais simples baseada na colora¸c˜ao de grafos. Tal como na de Chv´atal, a prova come¸ca pela triangula¸c˜ao do pol´ıgono. A Fi-gura 1.1 (a) apresenta o grafo resultante da triangula¸c˜ao dum pol´ıgono simples. Uma

k-colora¸c˜ao dum grafo ´e uma atribui¸c˜ao de k cores aos n´os do grafo de tal modo que n´os

adjacentes n˜ao tenham a mesma cor. Fisk baseia-se num resultado de teoria de grafos que estabelece que o grafo resultante da triangula¸c˜ao dum pol´ıgono simples admite uma 3-colora¸c˜ao. Os guardas colocados sobre v´ertices com a mesma cor, conseguem vigiar todo o pol´ıgono. Como existir´a pelo menos uma cor que ´e usada, no m´aximo, bn

3c vezes,

conclui-se que bastam bn

3c guardas. No final, os guardas s˜ao colocados sobre os v´ertices com a cor

menos frequente. No caso da Figura 1.1 (b) os guardas seriam colocados sobre os v´ertices com a cor 1, bastando trˆes guardas para vigiar o pol´ıgono.

(a) (b) 1 1 1 2 2 2 2 2 3 3 3 3

(32)

O Problema da Galeria de Arte e Algumas Variantes 7 Para provar que poder˜ao ser necess´arios bn

3c guardas basta considerar, por exemplo, o

pol´ıgono da Figura 1.2.

Figura 1.2: Exemplo dum pol´ıgono que requer bn

3c guardas.

1.2

Pol´ıgonos, Visibilidade e Guardas

Nesta sec¸c˜ao s˜ao introduzidas algumas no¸c˜oes, nomeadamente de pol´ıgono, visibilidade e guarda com amplitude de vis˜ao limitada mas de alcance ilimitado. Estas ser˜ao necess´arias ao longo da disserta¸c˜ao.

1.2.1

Pol´ıgonos

Defini¸c˜ao 1.1 Um conjunto ordenado de n pontos distintos do plano (v1, . . . , vn) define

uma cadeia poligonal, que ´e a uni˜ao dos segmentos de recta e1 = v1v2, . . . , en−1 = vn−1vn.

A cadeia poligonal ´e fechada se existir tamb´em o segmento en = vnv1. A cadeia

poligo-nal ´e simples se segmentos de recta n˜ao consecutivos n˜ao se intersectam e quaisquer dois segmentos consecutivos vi−1vi e vivi+1 intersectam-se apenas no ponto vi.

Segundo o Teorema da Curva de Jordan, qualquer cadeia poligonal fechada simples divide o plano em duas componentes conexas: uma limitada designada por interior e outra ilimitada designada por exterior. A cadeia ´e a fronteira de ambas. Neste trabalho definimos pol´ıgono como sendo a regi˜ao fechada limitada por uma cadeia poligonal simples fechada, sendo considerada degenerada a situa¸c˜ao em que existem trˆes v´ertices colineares consecutivos. Os pontos vi, com i = 1, . . . , n, s˜ao os v´ertices do pol´ıgono P . Denotamos o conjunto

de v´ertices de P por VP. Os segmentos ei, com i = 1, . . . , n, s˜ao as arestas, constituindo

fronteira de P . O interior, exterior e fronteira de P s˜ao designados por int(P ), ext(P ) e f r(P ), respectivamente. Ent˜ao P = int(P ) ∪ f r(P ).

(33)

8 O Problema da Galeria de Arte e Algumas Variantes Defini¸c˜ao 1.2 Um v´ertice vi ´e convexo se o ˆangulo interno ∠vi−1vivi+1 ´e menor ou igual

a π, e reflexo caso contr´ario.

O ˆangulo interno ´e o ˆangulo medido no interior do pol´ıgono.

Defini¸c˜ao 1.3 Um pol´ıgono ´e ortogonal se os seus ˆangulos internos tˆem amplitude π

2 ou 2 .

Um pol´ıgono ortogonal tamb´em pode ser definido como um pol´ıgono cujas arestas s˜ao todas paralelas a um par de eixos ortogonais no plano.

O’Rourke mostrou que n = 2r + 4 para todo o pol´ıgono ortogonal com n v´ertices sendo r o n´umero dos v´ertices reflexos do pol´ıgono [O’Rourke 1983].

Defini¸c˜ao 1.4 Um pol´ıgono P ´e um pol´ıgono com buracos, se o seu interior cont´em

sub-pol´ıgonos (buracos), que n˜ao se intersectam entre si, nem intersectam a fronteira de P . Um pol´ıgono ortogonal com buracos ´e um pol´ıgono ortogonal em que os buracos s˜ao sub-pol´ıgonos ortogonais.

Tal como a Figura 1.3 ilustra, o conjunto de v´ertices dum pol´ıgono com buracos inclui os v´ertices dos buracos.

Figura 1.3: Pol´ıgono de 50 v´ertices, com 3 buracos.

1.2.2

No¸c˜

oes de visibilidade

Defini¸c˜ao 1.5 Sejam x, y ∈ P . O ponto x vˆe o ponto y (ou y ´e vis´ıvel de x) se o

seg-mento xy n˜ao intersecta o exterior do pol´ıgono P . Isto ´e, se xy ∩ P = xy.

Defini¸c˜ao 1.6 Seja x ∈ P . O conjunto de pontos V(x) = {y | y ∈ P ∧ xy ∩ P = xy}

designa-se por regi˜ao de visibilidade de x. ´E o conjunto de todos os pontos do pol´ıgono P vis´ıveis dum ponto x.

(34)

O Problema da Galeria de Arte e Algumas Variantes 9 A Figura 1.4 ilustra os dois conceitos que acab´amos de definir.

x y z w (a) w (b) V(w)

Figura 1.4: (a) Os ponto y e z s˜ao vis´ıveis de x. O ponto x n˜ao vˆe o ponto w. (b) Regi˜ao de visibilidade de w.

A defini¸c˜ao de visibilidade apresentada acima permite que o segmento xy intersecte a fronteira do pol´ıgono. ´E de notar que esta no¸c˜ao de visibilidade nem sempre ´e a adoptada na bibliografia. Em aplica¸c˜oes como rob´otica, por exemplo, pode n˜ao ser permitido que o segmento xy intersecte a fronteira do pol´ıgono pois, isso poderia resultar numa colis˜ao do robˆo com um obst´aculo. Para modelar essas situa¸c˜oes seria ´util considerar que o ponto x vˆe o ponto y se e s´o se xy ∩ int(P ) = xy.

Para o problema que ser´a focado no trabalho – determina¸c˜ao do n´umero m´ınimo de guardas colocados em v´ertices necess´arios para vigiar um dado pol´ıgono – n˜ao ´e relevante fazer esta distin¸c˜ao entre as duas no¸c˜oes de visibilidade. Assim, utilizaremos a no¸c˜ao de visibilidade introduzida na Defini¸c˜ao 1.5.

Um conjunto de guardas consegue vigiar um pol´ıgono se e s´o se a reuni˜ao das suas regi˜oes de visibilidade for o pol´ıgono P . Quando se pretender refor¸car que os guardas s˜ao colocados necessariamente em v´ertices do pol´ıgono, usar-se-´a a designa¸c˜ao de guardas-em-v´ertices. Em 1983, Lee apresentou um algoritmo com complexidade temporal linear para deter-minar a regi˜ao de visibilidade a partir dum ponto dado [Lee 1983]. Mais tarde, Joe e Simpson mostraram que o algoritmo de Lee falhava para certas classes de pol´ıgonos, no-meadamente para a classe de pol´ıgonos em espiral e propuseram uma vers˜ao nova corri-gida [Joe & Sympson 1987]. Para pol´ıgonos com buracos, Suri e O’Rourke, e Asano et al. apresentaram algoritmos O(n log n) para determinar a regi˜ao de visibilidade dum ponto qualquer do pol´ıgono [Suri & O’Rourke 1986, Asano et al. 1986]. Cerca duma d´ecada de-pois, Hefferman e Mitchell apresentaram um algoritmo O(n + h log h) para o mesmo pro-blema, sendo h o n´umero de buracos do pol´ıgono [Heffernan & Mitchell 1995].

Conhecidas as regi˜oes de visibilidade de cada v´ertice, as quais s˜ao pol´ıgonos, podemos verificar se um conjunto de guardas consegue vigiar o pol´ıgono, determinando a uni˜ao

(35)

10 O Problema da Galeria de Arte e Algumas Variantes das suas regi˜oes e verificando se ´e igual ao pol´ıgono dado. A uni˜ao, intersec¸c˜ao e dife-ren¸ca de dois pol´ıgonos pode ser realizada em tempo O(n log n + k log n), em que n ´e o n´umero total de v´ertices em ambos os pol´ıgonos e k ´e o n´umero de v´ertices do pol´ıgono resultante [Bentley & Ottmann 1979].

Se estas opera¸c˜oes forem realizadas muitas vezes, pode ser vantajoso seguir outra abor-dagem. Uma possibilidade ´e come¸car por escolher uma parti¸c˜ao conveniente do pol´ıgono, caracterizar o modo como cada v´ertice vˆe cada pe¸ca dessa parti¸c˜ao e assim reduzir MVG ao problema de cobertura de todas as pe¸cas com um n´umero m´ınimo de guardas. O m´etodo que ser´a focado nesta disserta¸c˜ao enquadra-se nesta ´ultima linha.

1.2.3

Guardas de amplitude de vis˜

ao limitada

Em alguns casos ´e interessante e ´util considerar o problema de ilumina¸c˜ao (vigilˆancia) em que os focos emitem luz dentro duma zona angular de amplitude α inferior a 2π, designando-se por α-reflectores. Isto corresponde a dizer que os guardas tˆem uma amplitude de vis˜ao α inferior a 2π.

Para este trabalho iremos considerar tamb´em problemas de vigilˆancia em pol´ıgonos orto-gonais com π

2-reflectores e π-reflectores (tamb´em designados π2-guardas e π-guardas,

res-pectivamente). Note-se que estamos a limitar a amplitude mas n˜ao o alcance de vis˜ao dos guardas.

Na Figura 1.5 est˜ao ilustradas trˆes formas de colocar um π-guarda num v´ertice reflexo v. Quando n˜ao ´e indicada qualquer restri¸c˜ao considera-se que o π-guarda est´a em posi¸c˜ao geral.

(a) (b) (c)

Figura 1.5: π-guardas em posi¸c˜oes restringidas: (a) ajustado a uma aresta; (b) direccionado para o interior; (c) direccionado para o exterior;

Na pr´oxima sec¸c˜ao s˜ao apresentados alguns resultados relacionados com as variantes do Problema da Galeria de Arte abordadas neste trabalho, alguns dos quais definem limites

(36)

O Problema da Galeria de Arte e Algumas Variantes 11 inferiores e superiores para o n´umero de guardas necess´arios. Esses valores podem ser usados na procura da solu¸c˜ao ´optima de MVG.

1.3

Variantes para 2π-Guardas

Recordemos que para pol´ıgonos simples, Chv´atal [Chv´atal 1975] provou que para vigiar qualquer pol´ıgono de n v´ertices, bn

3c guardas s˜ao sempre suficientes e por vezes necess´arios.

A prova de Fisk deste mesmo resultado conduziu Avis e Toussaint `a constru¸c˜ao dum algoritmo O(n log n) para a coloca¸c˜ao dos bn

3c guardas [Avis & Toussaint 1981].

O Teorema 1.2, an´alogo ao Teorema da Galeria de Arte de Chv´atal, mas agora para pol´ıgonos ortogonais, afirma que bastam e s˜ao por vezes necess´arios bn

4c guardas.

Teorema 1.2 [Kahn et al. 1983] Para vigiar qualquer pol´ıgono ortogonal de n v´ertices

s˜ao sempre suficientes e por vezes necess´arios bn

4c guardas, ou seja, br2c + 1, sendo r o

n´umero de v´ertices reflexos.

Este resultado ´e v´alido tamb´em quando se restringe a coloca¸c˜ao dos guardas aos v´ertices do pol´ıgono. A prova pode ser encontrada, por exemplo, em [O’Rourke 1987].

A Figura 1.6 (a) ilustra um pol´ıgono em que bn

4c guardas s˜ao suficientes e a Figura 1.6 (b)

mostra um pol´ıgono em que bn

4c guardas s˜ao necess´arios.

(a) (b)

Figura 1.6: Ambos os pol´ıgonos ortogonais tˆem 16 v´ertices. Segundo o Teorema 1.2, o limite superior para o n´umero de guardas necess´arios para vigiar cada um dos pol´ıgonos ´e 4. Bastam 2 guardas para vigiar o pol´ıgono representado em (a) e s˜ao precisos 4 guardas para vigiar o pol´ıgono representado em (b).

Edelsburnner, O’Rourke e Welzl desenvolveram um algoritmo com complexidade temporal

O(n log n) [Edelsbrunner et al. 1984] para a coloca¸c˜ao de bn

4c guardas num pol´ıgono

(37)

12 O Problema da Galeria de Arte e Algumas Variantes de L. Mais tarde, Sack e Toussaint mostraram que, para pol´ıgonos ortogonais mon´otonos, tal coloca¸c˜ao pode ser efectuada em tempo O(n log log n) [Sack & Toussaint 1988]. Um pol´ıgono ´e mon´otono se pode ser decomposto em duas cadeias mon´otonas em rela¸c˜ao `a mesma linha. Uma cadeia ´e mon´otona em rela¸c˜ao a uma linha se os pontos que a constituem mantiverem a mesma ordem quando projectados sobre essa linha.

1.3.1

Pol´ıgonos com buracos

O livro de O’Rourke [O’Rourke 1987] refere alguns resultados e conjecturas existentes para o n´umero de guardas necess´arios para vigiar um pol´ıgono com buracos.

Em particular, em 1982 O’Rourke mostrou que bn+2h

3 c guardas s˜ao suficientes para vigiar

um pol´ıgono de n v´ertices e h buracos, e Shermer provou que s˜ao por vezes necess´arios bn+h 3 c

guardas. Hoffmann et al. mostraram que bn+h

3 c guardas s˜ao sempre suficientes,

melho-rando o resultado de O’Rourke [Hoffmann et al. 1991]. Estes valores s˜ao v´alidos quando n˜ao se introduz qualquer restri¸c˜ao ao posicionamento dos guardas. No entanto, para guar-das em v´ertices, o problema est´a em aberto, existindo a seguinte conjectura de Shermer (cf., [Urrutia 2000]).

Conjectura 1.1 [Shermer] Para vigiar qualquer pol´ıgono de n v´ertices e h buracos s˜ao

suficientes bn+h

3 c guardas-em-v´ertices.

Para o caso em que o n´umero de buracos ´e 1, Shermer provou que o resultado era v´alido. Contudo, para h > 1, mant´em-se em aberto.

Para pol´ıgonos ortogonais s˜ao tamb´em conhecidos alguns resultados idˆenticos. Em parti-cular, Hoffmann provou que, para vigiar um pol´ıgono ortogonal com n v´ertices e h buracos, s˜ao sempre suficientes bn

4c guardas [Hoffmann 1990]. Para o caso de guardas-em-v´ertices,

Shermer conjectura o seguinte.

Conjectura 1.2 [Shermer] Para vigiar qualquer pol´ıgono ortogonal com n v´ertices e h

buracos, s˜ao sempre suficientes bn+h

4 c guardas-em-v´ertices.

`

A semelhan¸ca da Conjectura 1.1, tamb´em esta ´e v´alida para pol´ıgonos com 1 buraco, mas para h > 1, a conjectura mant´em-se em aberto [Aggarwal 1984].

(38)

O Problema da Galeria de Arte e Algumas Variantes 13 O exemplo dado na Figura 1.7 mostra que bn+h

4 c guardas-em-v´ertices s˜ao ocasionalmente

necess´arios.

Figura 1.7: Exemplo dum pol´ıgono ortogonal com buracos que necessita de bn+h

4 c

guardas-em-v´ertices e uma poss´ıvel solu¸c˜ao. O pol´ıgono tem 44 v´ertices, 4 buracos e necessita de 12 guardas-em-v´ertices.

Por outro lado, Hoffmann encontrou uma fam´ılia de pol´ıgonos ortogonais com buracos que necessita de exactamente b2n

7 c guardas-em-v´ertices. A Figura 1.8 mostra um pol´ıgono dessa

fam´ılia. Este resultado constitui um contra-exemplo a uma conjectura de Aggarwal que

Figura 1.8: Exemplo dum pol´ıgono ortogonal com buracos que necessita de b2n

7 c

guardas-em-v´ertices e poss´ıvel solu¸c˜ao. afirmava b3n

11c guardas-em-v´ertices eram sempre suficientes. A n˜ao dependˆencia do n´umero

de buracos ´e interessante, tendo Hoffmann elaborado a seguinte conjectura.

Conjectura 1.3 [Hoffmann] Para vigiar qualquer pol´ıgono ortogonal com n v´ertices e h

buracos s˜ao sempre suficientes b2n

7 c guardas-em-v´ertices.

Os pol´ıgonos de Hoffmann tˆem 14k v´ertices e 2k buracos, e como b2n

7 c = bn+h4 c, este limite

nada acrescenta `a conjectura de Shermer.

Os Teoremas 1.3 e 1.4 enunciam os dois melhores resultados para pol´ıgonos ortogonais com um n´umero arbitr´ario de buracos e guardas colocados em v´ertices.

Teorema 1.3 [O’Rourke 1987] Qualquer pol´ıgono ortogonal com n v´ertices e h buracos

pode ser sempre vigiado por bn+2h

(39)

14 O Problema da Galeria de Arte e Algumas Variantes Teorema 1.4 [Hoffmann & Kriegel 1993] Qualquer pol´ıgono ortogonal com n v´ertices

e h buracos pode ser sempre vigiado por bn

3c guardas-em-v´ertices.

N˜ao ´e dif´ıcil verificar que para h > n

6 tem-se b n+2h

4 c > b n

3c e portanto, nesse caso, o segundo

resultado ´e melhor do que o primeiro.

A Tabela 6.10 apresenta um resumo dos resultados referidos para 2π-guardas.

Tipo de pol´ıgono Coloca¸c˜ao de guardas Limite inferior Limite superior

Simples sem restri¸c˜oes bn

3c bn3c

Ortogonal sem restri¸c˜oes bn

4c bn4c

Simples com h sem restri¸c˜oes bn+h

3 c bn+h3 c

buracos em v´ertices bn+h3 c (?)

Ortogonal com sem restri¸c˜oes bn4c

h buracos em v´ertices bn+h4 c bn+h4 c (?) b2n 7 c (?) bn+2h4 c bn 3c, h > n6

Tabela 1.1: Limites inferiores e superiores para o n´umero de 2π-guardas necess´arios para vigiar um pol´ıgono. As conjecturas est˜ao assinaladas com o sinal (?).

Nas duas pr´oximas sec¸c˜oes apresentamos os melhores resultados conhecidos para α-reflec-tores colocados em v´ertices, com α = π e α = π

2.

1.4

Variantes para π-Reflectores

Os resultados existentes para o n´umero de α-reflectores suficientes e necess´arios dependem das restri¸c˜oes impostas ao posicionamento dos reflectores nos v´ertices reflexos. Por exem-plo, se se encontram ajustados a arestas, direccionados para o interior ou exterior ou, simplesmente, em posi¸c˜ao geral.

Para π-reflectores em posi¸c˜ao geral

Speackmann e T´oth provaram que para iluminar qualquer pol´ıgono com n v´ertices s˜ao suficientes bn

(40)

O Problema da Galeria de Arte e Algumas Variantes 15 que para iluminar qualquer pol´ıgono de n v´ertices, s˜ao necess´arios bn

2c π-reflectores, para n

´ımpar, e bn

2c + 1 π-reflectores, para n par [Speackmann & T´oth 2005].

Para π-reflectores ajustados a uma aresta

Em 2001, Urrutia apresentou uma fam´ılia particular de pol´ıgonos que necessita de b5(n+1)8 c π-reflectores, em que n ´e o n´umero de v´ertices do pol´ıgono, estabelencendo o melhor limite

inferior conhecido para π-reflectores ajustados a uma aresta.

Posteriormente, Speackmann e T´oth mostraram que o n´umero de π-reflectores suficientes para iluminar qualquer pol´ıgono de n v´ertices ´e b2n

3 c − 1. Para pol´ıgonos com mais de

trˆes v´ertices convexos, provaram ainda um resultado mais forte: para iluminar qualquer pol´ıgono de n v´ertices s˜ao suficientes b2n−k

3 c π-reflectores, em que k ´e o n´umero de v´ertices

convexos [Speackmann & T´oth 2005].

Para π-reflectores direccionados para o interior

O ´unico limite superior conhecido para π-reflectores direccionados para o interior ´e n − 2

π-reflectores. Ou seja, para iluminar qualquer pol´ıgono com n v´ertices n − 2 π-reflectores

s˜ao suficientes [Urrutia 2000].

Quanto ao limite inferior, o melhor resultado conhecido para π-reflectores direccionados para o interior resulta duma fam´ılia apresentada por Speackmann e T´oth que necessita de

9n

14 − O(1), sendo n o n´umero de v´ertices do pol´ıgono [Speackmann & T´oth 2005].

1.5

Variantes para Reflectores Ortogonais

Na bibliografia, os π

2-reflectores s˜ao usualmente designados por reflectores ortogonais. Os

dois teoremas seguintes consideram reflectores ajustados a uma aresta, com a restri¸c˜ao de existir no m´aximo um reflector por v´ertice.

Teorema 1.5 [Estivill-Castro & Urrutia 1994] Para iluminar qualquer pol´ıgono

orto-gonal com n v´ertices s˜ao suficientes e por vezes necess´arios b3n−4

(41)

16 O Problema da Galeria de Arte e Algumas Variantes Teorema 1.6 [Abello et al.] Para iluminar qualquer pol´ıgono ortogonal com n v´ertices

e h buracos s˜ao suficientes e por vezes necess´arios b3n+4(h−1)8 c reflectores ortogonais.

As provas dos teoremas 1.5 e 1.6 podem ser encontradas, por exemplo, em [Urrutia 1995]. A Figura 1.9 exemplifica a necessidade de b3n−4

8 c e b

3n+4(h−1)

8 c reflectores ortogonais para

pol´ıgonos ortogonais sem e com buracos, respectivamente.

(a) (b)

Figura 1.9: (a) Pol´ıgono ortogonal com 12 v´ertices que necessita de b3n−4

8 c reflectores

ortogonais e poss´ıvel solu¸c˜ao. (b) Pol´ıgono ortogonal com 32 v´ertices e um buraco que necessita de b3n+4(h−1)8 c reflectores ortogonais e poss´ıvel solu¸c˜ao.

A Tabela 1.2 apresenta um resumo dos resultados referidos para α-reflectores com α = π e

α = π 2.

Tipo de pol´ıgono Tipo de guardas Limite inferior Limite superior

Simples π-reflectores em posi¸c˜ao bn2c, n ´ımpar bn2c

geral bn2c + 1, n par

Simples (k v´ertices π-reflectores ajustados b5(n+1)8 c b2n3 c − 1

convexos) a uma aresta b2n−k

3 c, k > 3

Simples π-reflectores direccionados

para o interior

9n

14 − O(1) n − 2

Ortogonal π2-reflectores ajustados a uma

aresta

b3n−48 c b3n−48 c

Ortogonal com h

-buracos

π

2-reflectores ajustados a uma

aresta

b3n+4(h−1)8 c b3n+4(h−1)8 c

Tabela 1.2: Limites inferiores e superiores para o n´umero de α-reflectores necess´arios para vigiar um pol´ıgono, com α = π, π/2.

(42)

Cap´ıtulo 2

Optimiza¸c˜

ao por Aproxima¸c˜

oes

Sucessivas

Mencion´amos que a disserta¸c˜ao foca um m´etodo para resolver MVG por aproxima¸c˜oes sucessivas seguindo a abordagem proposta em [Tom´as et al. 2003]. No presente cap´ıtulo apresentamos essa mesma abordagem assim como as adapta¸c˜oes realizadas.

Observemos o exemplo da Figura 2.1. Por an´alise das regi˜oes de visibilidade dos dois

p1 p2 p3 p4 p5 p6 p7 p8 v1 v2 v3 v4 v5 v6 v7 v8 v9 v1 0 v11 v1 2 p2 p5 p8 v1 v1 2

Figura 2.1: Dois guardas bastam para guardar o pol´ıgono.

v´ertices assinalados pode-se concluir que bastam dois guardas para vigiar o pol´ıgono. N˜ao ´e dif´ıcil verificar, por uma an´alise de casos, que um guarda n˜ao seria suficiente.

Para a parti¸c˜ao do pol´ıgono representada (adiante designada Πr−cut), vemos que n˜ao ´e

poss´ıvel a pe¸ca rectangular p2 ficar vigiada a n˜ao ser que se coloque algum guarda num

v´ertice que a veja totalmente. Isto quer dizer que o guarda teria de ficar colocado nalgum dos v´ertices da pe¸ca p2 ou em v1. O mesmo se pode dizer de p8 e de v12. Assim, para vigiar

(43)

18 Optimizac¸˜ao por Aproximac¸˜oes Sucessivas o pol´ıgono s˜ao necess´arios pelo menos dois guardas, atendendo a que p2 e p8 n˜ao partilham

v´ertices.

Se os guardas forem colocados em v1 e v12, o pol´ıgono fica completamente vigiado, caso se

admita que os guardas podem colaborar para conjuntamente vigiarem pe¸cas que nenhum dos dois consegue por si s´o vigiar. De facto, a pe¸ca rectangular p5 n˜ao ficaria vigiada se v1

e v12 n˜ao pudessem colaborar, o que obrigaria `a coloca¸c˜ao de mais um guarda.

Daqui se conclui que OP T¤({p2, p8}) ≤ OP T (P ) ≤ OP T¤(Πr−cut) = 3, em que OP T¤

designa o valor m´ınimo quando se imp˜oe a restri¸c˜ao de n˜ao colabora¸c˜ao e OP T (P ) o valor m´ınimo para P sem essa restri¸c˜ao. A ideia que se acabou de ilustrar ´e a subjacente ao m´etodo proposto em [Tom´as et al. 2003] para determinar intervalos de encaixe do ´optimo. Considera-se uma parti¸c˜ao Π. Estima-se um majorante para o n´umero de guardas ne-cess´arios resolvendo um problema de cobertura com a restri¸c˜ao de que os guardas n˜ao poder˜ao colaborar para conjuntamente vigiarem pe¸cas que n˜ao vˆeem totalmente. Esta restri¸c˜ao ser´a designada por n˜ao colaborac¸˜ao.

Para obter um minorante para OP T (P ), tenta-se identificar um conjunto Γ de pe¸cas de Π que n˜ao possam ser cobertas colaborativamente (pelo que, cada uma delas ter´a de ficar necessariamente totalmente vis´ıvel dalgum guarda).

O algoritmo proposto em [Tom´as et al. 2003] resume-se ao seguinte. aproximacao OPT(P )

Π ← decompor(P )

caracterizar visibilidade para cada p de Π

Γ ← {pe¸cas de Π trivialmente n˜ao vis´ıveis por sec¸c˜oes} Enquanto OP T¤(Γ) < OP T¤(Π)

Γ, Π ← refinar(Π)

Este m´etodo de aproxima¸c˜ao baseia-se no facto de OP T¤(Γ) ≤ OP T (P ) ≤ OP T¤(Π), em

cada itera¸c˜ao, se Π for tal que cada uma das suas pe¸cas ´e sempre totalmente vis´ıvel de pelo menos um v´ertice. Mais adiante descreveremos com maior detalhe cada um dos passos do algoritmo, nomeadamente a determina¸c˜ao do conjunto Γ inicial.

O objectivo do refinamento ´e melhorar a aproxima¸c˜ao. No entanto, o refinamento implica um aumento de complexidade dos sub-problemas de optimiza¸c˜ao que se v˜ao resolvendo. Para poder verificar se uma pe¸ca pode ser vigiada colaborativamente por um conjunto de guardas que a vˆeem parcialmente pode-se determinar a uni˜ao das sec¸c˜oes que os guardas

(44)

Optimizac¸˜ao por Aproximac¸˜oes Sucessivas 19 vˆeem, e verificar se essa uni˜ao ´e a pe¸ca. Em alternativa, o que se faz ´e determinar a decomposi¸c˜ao da pe¸ca induzida pelas sec¸c˜oes que os guardas vˆeem e verificar se cada uma das subpe¸cas obtidas ´e vis´ıvel totalmente dalgum dos guardas. Neste sentido o que se faz ´e um refinamento da parti¸c˜ao por decomposi¸c˜ao da pe¸ca. Cada subpe¸ca s´o fica vigiada se for vigiada totalmente por algum guarda, pelo que tais pe¸cas ingressariam no novo conjunto Γ. Em cada itera¸c˜ao s´o se partir´a uma pe¸ca. Caso se conclua que a pe¸ca n˜ao pode ser vigiada colaborativamente, essa pe¸ca ser´a inclu´ıda no novo Γ e Π mant´em-se inalterado. No exemplo dado na Figura 2.1 se se partisse a pe¸ca p5 concluir-se-ia que OP T¤(Π) = 2,

para a parti¸c˜ao resultante, o que demonstraria que OP T (P ) = 2.

Em [Tom´as et al. 2003], Tom´as, Bajuelos e Marques prop˜oem que o refinamento seja efec-tuado criteriosamente, de forma a tentar localizar pe¸cas que possam mais rapidamente conduzir a uma redu¸c˜ao significativa do intervalo de encaixe.

De facto, MVG ´e assim reduzido a uma sucess˜ao de problemas de cobertura m´ınima de conjuntos. Estes problemas s˜ao tamb´em NP-dif´ıceis, sendo fundamental reduzir a dimens˜ao de cada um dos problemas a resolver para obter um resultado em tempo aceit´avel. Tal como n˜ao ´e irrelevante a ordem pela qual as pe¸cas v˜ao sendo decompostas, verifica-se tamb´em que certas pe¸cas e v´ertices s˜ao mais relevantes para a resolu¸c˜ao do problema do que outros. Esta relevˆancia pode ser formalmente traduzida por uma rela¸c˜ao de dominˆancia que ser´a explorada na resolu¸c˜ao do problema para reduzir a sua dimens˜ao. Informalmente, as pe¸cas dominantes s˜ao aquelas que s˜ao vis´ıveis do menor n´umero de v´ertices e, em princ´ıpio, as mais dif´ıceis de vigiar. Os v´ertices dominantes s˜ao aqueles que vˆeem mais pe¸cas e, em princ´ıpio, os melhores candidatos para colocar os guardas.

Tendo apresentado a ideia geral do m´etodo, iremos descrevˆe-lo mais formalmente na Sec-¸c˜ao 2.3. Para isso come¸caremos por introduzir formalmente nas Sec¸c˜oes 2.1 e 2.2 alguns dos conceitos j´a referidos.

2.1

Visibilidade Total, Parcial e por Sec¸c˜

oes

Uma parti¸c˜ao Π dum pol´ıgono consiste na sua decomposi¸c˜ao em pol´ıgonos menores, de tal forma que estes n˜ao se sobreponham. Estes pol´ıgonos menores s˜ao designados pe¸cas (ou faces) da parti¸c˜ao.

Referências

Documentos relacionados

Assim, Andrade (2009), concebe o princípio da proteção social, como forma de fazer com que o direito do trabalho abarque a as relações de trabalho contemporâneas em

Como todos os outros seres humanos, o operador também é construtor da realidade e carrega consigo “experiências vividas, ideologias e valores que amoldam a sua

Um tempo em que, compartilhar a vida, brincar e narrar são modos não lineares de viver o tempo na escola e aprender (BARBOSA, 2013). O interessante é que as crianças

Para conhecer os efeitos de um sistema integrado de gestão nas Instituições Federais de Ensino Superior – IFES – sobre a utilização da informação contábil, o Departamento

1 Instituto de Física, Universidade Federal de Alagoas 57072-900 Maceió-AL, Brazil Caminhadas quânticas (CQs) apresentam-se como uma ferramenta avançada para a construção de

(grifos nossos). b) Em observância ao princípio da impessoalidade, a Administração não pode atuar com vistas a prejudicar ou beneficiar pessoas determinadas, vez que é

A proporçáo de indivíduos que declaram considerar a hipótese de vir a trabalhar no estrangeiro no futuro é maior entle os jovens e jovens adultos do que

Em síntese, no presente estudo, verificou-se que o período de 72 horas de EA é o período mais ad- equado para o envelhecimento acelerado de sementes de ipê-roxo