II. RAPPEL DES ORIENTATIONS STRATEGIQUES ET POINT SUR SON DEVELOPPEMENT ACTUEL
3) DÉVELOPPEMENT ACTUEL DU PROJET D’AMÉNAGEMENT :
Alguns fatos foram observados por Smith [5] que muito diferenciam o desenvolvi- mento de um algoritmo para o problema de Steiner no E2 e de um no E3. A
principal constatação é que algoritmos que utilizam técnicas geométricas não po- dem ser sempre transferidos do E2 para o E3.
Além disso, mesmo para quatro pontos no espaço (o que já era do conhecimento de Gilbert e Pollak [3]) e como foi dito acima, é necessário encontrar as raízes de uma equação do oitavo grau para que se tenha as coordenadas dos pontos de Steiner e, conseqüentemente, o comprimento da árvore mínima de Steiner. Para demons- trar esse fato, a prova foi dividida em duas partes. Inicialmente, mostrou que o comprimento da árvore mínima de Steiner é igual ao comprimento do segmento li- gando os dois círculos de Melzak. Depois, utilizando o método do círculo-distância, descrito por [48], ajustando vários cálculos e simplificando o resultado, mostrou que teria como resultado uma equação polinomial de uma variável, de grau oito irredutível sobre o corpo dos racionais. Assim, o problema de Steiner envolvendo n pontos seria resolvido com a solução de uma equação algébrica de, no mínimo,
grau 8. Devido a isto conjecturou que
"Existe uma seqüência Snde conjuntos de n pontos no R3, tal que para
qualquer inteiro positivo C existe um valor nC tal que se n > nC, então
o comprimento da SMT do conjunto Sn não pode ser encontrado pela
solução de qualquer seqüência de equações de grau C".
Desse fato, e por não existir até então um algoritmo como o Melzak no R2
com a convergência garantida em um número finito de iterações que pudesse ser generalizado para dimensões superiores, surgiu a necessidade de um processo de convergência infinita. Além disso, os problemas no R2 apresentam um grande
número de árvores com degenerescências, enquanto que no R3, e dimensões supe-
riores, geralmente, temos uma única árvore cheia para a SMT procurada [5]. A primeira observação a respeito desse algoritmo é que ele só procura por topolo- gias cheias, em contraste com a grande maioria dos algoritmos que, além destas, procuram as que possuem degenerescências, pois não sabem lidar com o caso em que as segundas são tratadas como um subconjunto particular da primeira em que certos pontos de Steiner coincidem com os pontos regulares. No entanto, apesar dessa simplificação enorme no espaço de busca das soluções, o número de árvores cheias ainda é exponencial em n.
Existem dois métodos básicos para a construção de árvores de Steiner a partir de um conjunto de pontos dados num espaço euclidiano e com uma topologia pré- especificada num processo iterativo que descrito por Smith. O primeiro método consiste num processo simples iterativo que nunca aumenta o comprimento da ár- vore e é: tome algum ponto candidato a ponto de Steiner na árvore (como por exemplo o baricentro de 3 pontos) e o substitua com o ponto de Steiner ótimo de seus vizinhos. Esta forma de iteração sempre convergirá para o único ótimo (se todos os pontos de Steiner forem repetidamente percorridos e otimizados). Infeliz- mente, a convergência pode ser muito lenta, essencialmente porque a "informação" pode levar muito tempo para se "propagar" ao longo da árvore. (A árvore torna-se rapidamente "localmente" ótima, mas o conhecimento da estrutura "global" não se acentua com isso, sendo mesmo bastante irrelevante). O segundo método, por sua vez, tem a preferência de buscar uma forma de iteração onde, em cada passo, todos os pontos de Steiner fossem atualizados simultaneamente e compativelmente.
Smith desenvolveu um método iterativo, com o intuito de tratar o problema geral euclidiano para qualquer dimensão d, apresentando as coordenadas dos pontos de Steiner em qualquer dimensão, utilizando uma topologia pré-especificada, a qual não é necessariamente cheia ou degenerada. Ele poderia ter usado a idéia mais simples que não altera o custo (comprimento) da árvore, tomando cada ponto da árvore de Steiner, colocado em posição ótima em relação aos dois pontos mais pró- ximos, conforme descrito anteriormente. Esse processo deve ser continuado até que não exista mais nenhum ângulo com mais de 120◦. No entanto, o método utilizado
por Smith foi uma versão melhorada deste procedimento. Em vez de trabalhar com um processo de otimização local, ele preferiu trabalhar com o segundo processo descrito, o qual altera todos os pontos de forma simultânea e compatível. Essa forma de otimização tem se mostrado mais eficiente do que a otimização ponto a ponto, contrastante com o caso d = 2 , devido às peculiaridades do problema bidimensional.
Duas observações apontam para a superioridade do segundo método. Primeiro, depois de apenas um único passo de iteração simultânea (começando em qual- quer lugar), todos os pontos de Steiner estarão automaticamente dentro da en- voltória convexa formada pelos pontos regulares (enquanto, talvez, um número muito grande de passos da iteração ponto-a-ponto deverá ser preciso para assegurar isto para uma configuração desfavorável), e realmente irá formar uma árvore bas- tante razoável pois eles (os pontos de Steiner) minimizarão exatamente uma função que é relacionada ao comprimento. Segundo, na prática, tipicamente as iterações simultâneas convergem mais rapidamente que várias variantes do método ponto-a- ponto. Em todas as dimensões maiores que dois, a vantagem foi aproximadamente na razão de n
2, onde n foi o número de pontos regulares, e uma performance de
razão maior ainda surgiu quando apenas baixa acurácia foi requerida. Em duas dimensões, contudo, os métodos geralmente usaram cerca da mesma quantidade de tempo! Presumivelmente isto aconteceu porque a maior parte das árvores bidimen- sionais otimizadas pode ser particionadas em árvores de Steiner cheias menores, de forma que a informação não necessite "viajar longas distâncias" para obter con- vergência.
O processo de otimização dos pontos de Steiner pode ser definido matemati- camente da seguinte maneira: o conjunto dos pontos de Steiner é S, N é o con-
junto dos pontos regulares (pontos terminais inicialmente dados), T é a topologia da árvore e d é a dimensão do espaço euclidiano em questão. O vetor posição d-dimensional do j-ésimo ponto externo é denotado por ~rj onde j = 1, 2, ..., n e
do k-ésimo ponto de Steiner por ~rk onde k = n + 1, n + 2, ..., 2n − 2. O algoritmo
de otimização a ser descrito, pode ser resumido no teorema:
Teorema 3.1 Se, no i-ésimo passo do processo de iteração, i = 0, 1, ..., resolver- mos o seguinte sistema com n − 2 equações lineares:
~rk(i+1) ≈ X j, jk∈T ~rj(i+1) k~r(i)j − ~r(i)k k X j, jk∈T 1 k~r(i)k − ~r(i)j k , n + 1 ≤ k ≤ 2n − 2. (3.1)
Então, a partir de todos as escolhas iniciais das coordenadas dos pontos de Steiner ~rk(0)’s, exceto para um conjunto de medida nula em R(n−2)d, a iteração converge
para as únicas coordenadas ótimas dos pontos de Steiner que minimizam L, o com- primento total da árvore. Esta convergência acontece de tal forma que a seqüência dos comprimentos das árvores L(S(i)) é monotonicamente decrescente, onde
L(~rn+1, ~rn+2, ..., ~r2n−2) =
X
j, k, 1≤j<k≤2n−2
k~rj − ~rkk.
Demonstração. Inicialmente, é prontamente visto que, após a primeira itera- ção, todos os pontos de Steiner estão dentro de uma envoltória convexa dos pontos regulares. O teorema de Bolzano-Weierstrass nos diz que uma seqüência infinita de pontos dentro de uma região compacta tem alguma subseqüência infinita se apro- ximando de alguma ponto de acumulação. Planejamos mostrar que o único ponto de acumulação da subseqüência de Bolzano-Weierstrass que poderá existir (exceto quando os pontos iterados iniciais repousam em algum conjunto de medida nula) representará a árvore ótima.
Depois de cada (i-ésima) iteração, S(i+1), realmente, minimiza exatamente uma
certa forma quadrática que chamamos Q(i)(S):
Q(i)(S) = X
jk∈T,j<k
k~rk− ~rjk2
k~r(i)k − ~r(i)j k Q(S) é relacionado ao comprimento L(S) como segue
e Q(i)(S) pode ser usado no processo de otimização através do cálculo dos gradientes
realizado nos pontos de Steiner, ou ~
∇L(S(i+1)) ≈ 2 ~∇Q(i)(S(i+1))
Fisicamente, devemos pensar em Q como a energia potencial de um sistema de molas ideais (obedecendo a lei de Hooke) sobre as arestas da árvore: a força constante em cada mola é proporcional ao recíproco de seu comprimento (original) antes de começar cada iteração. A i-ésima iteração faz com que todas as molas se relaxem simultaneamente até atingir a configuração que minimiza a energia potencial Q(i).
A iteração do teorema 3.1 pode ser reescrita como X
j
(~rk(i+1)− ~r(i+1)j )
k~r(i)k − ~r(i)j k ≈ 0, k = n + 1, ..., 2n − 2,
Uma vez que as normas convergem mais rápido que o módulo da diferença das coordenadas. Agora escrevamos
L(S(i)) = Q(i)(S(i))
≥ Q(i)(S(i+1))
= X
j, k; j<k, k∈S
(k~rk(i)− ~r(i)j k + k~r(i+1)k − ~rj(i+1)k − k~r(i)k − ~rj(i)k)2
k~r(i)k − ~rj(i)k = L(S(i)) + 2(L(S(i+1)) − L(S(i)))
+ X
j, k; j<k, k∈S
(k~r(i+1)k − ~rj(i+1)k − k~r(i)k − ~r(i)j k)2
k~r(i)k − ~r(i)j k
Na última expressão, o somatório é obviamente não negativo, portanto L(S(i)) ≥ L(S(i+1)).
A única maneira da igualdade ser atingida é se estivermos num ponto fixo da iteração. Os únicos pontos fixos da iteração estão no ótimo (onde L é minimizado) ou em certos lugares onde um ou mais comprimentos das arestas de T são nulas. Nesses lugares, como já dissemos anteriormente, não é estritamente definida pois existe uma divisão por zero. Portanto, claramente, estes pontos críticos são ins- táveis pois uma pequena perturbação de S em qualquer direção L decrescente irá
fazer que a iteração retome o decrescimento de L, pela propriedade descrita por Gilbert e Pollak [3] de L-convexidade, sempre existe uma direção de descida (na realidade, existe um meio-espaço inteiro de tais direções). Um fato um pouco menos óbvio é que um pequeno passo na direção oposta a qualquer direção de decréscimo também irá fazer com que a iteração retome o decréscimo de L ∗.
Então, as configurações relaxadas depois de uma iteração são idênticas, e portanto, ambas diminuem o comprimento total de L, causando um abandono irreversível da vizinhança do ponto fixo em questão. Logo vemos que não somente são os pontos fixos não-ótimos instáveis, na verdade, eles são instáveis essencialmente em todas as direções.
Então existe um conjunto de medida nula de pontos de iterações iniciais que, depois de um número finito de passos, está contido numa variedade instável de baixa dimensão de pontos fixos não-ótimos. Descartando este conjunto, vemos que L decresce estritamente em cada iteração. Portanto, qualquer árvore, limite de uma subseqüência de Bolzano-Weierstrass, deve ser um ponto fixo da iteração (pela continuidade de L e da função de iteração, e desde que os únicos pontos onde a iteração não causa decréscimo do valor de L são os pontos fixos). Mas excluímos todos os pontos fixos, exceto o ótimo
Cada uma dessas n − 2 equações são calculadas d vezes, uma para componente do ponto de Steiner. No caso particular em que se esteja trabalhando com o R3,
por exemplo, deve-se calcular cada uma dessas equações três vezes, que significa atualizar as coordenadas x, y e z do k-ésimo ponto de Steiner.
Smith provou que este processo de iteração converge para a árvore mínima de Steiner. E o estudo sobre a análise da convergência indicou que, para pontos gerados aleatoriamente dentro de um cubo, a convergência deveria ser geométrica. Ou seja, com auxílio de técnicas auxiliares, a convergência pode ser acelerada. Vários desses aperfeiçoamentos foram citados por Smith e não foram utilizados em seu algoritmo.
Devido à restrição na quantidade de pontos que podem ser utilizados nesse algoritmo, sua aplicação a casos práticos é bastante limitada. Segundo Smith, o
∗Isto é porque, argumentando fisicamente, cada uma das "molas" que estivesse com um pe-
queno comprimento inicial não seria essencialmente afetada por uma pequena perturbação, en- quanto todas as molas de peuqeno comprimento no ponto fixo podem ser consideradas como de igual comprimento depois de uma pequena perturbação.
algoritmo é capaz de resolver problemas envolvendo até 20 pontos.
Os passos do algoritmo são os mesmos do plano mestre de Gilbert-Pollak: 1. Gere todas as topologias cujas árvores sejam cheias;
2. Otimize as coordenadas de cada ponto de Steiner simultaneamente em toda árvore gerada no passo 1, utilizando a fórmula 3.1 para atualização.
O Programa em C que implementa o algoritmo de Smith [5] e sua modificação chamada Apolonio executada por D. F. Mondaini estão no fim desta monografia. Nele, além desses passos, existem os passos intermediários, como a geração do vetor topologia, etc.