Escolar Documentos
Profissional Documentos
Cultura Documentos
Editores
2014
A Sociedade Brasileira de Matemática Aplicada e Computacional -
SBMAC publica, desde as primeiras edições do evento, monografias dos
cursos que são ministrados nos CNMAC.
Para a comemoração dos 25 anos da SBMAC, que ocorreu durante
o XXVI CNMAC em 2003, foi criada a série Notas em Matemática
Aplicada para publicar as monografias dos minicursos ministrados nos
CNMAC, o que permaneceu até o XXXIII CNMAC em 2010.
A partir de 2011, a série passa a publicar, também, livros nas áreas
de interesse da SBMAC. Os autores que submeterem textos à série
Notas em Matemática Aplicada devem estar cientes de que poderão
ser convidados a ministrarem minicursos nos eventos patrocinados pela
SBMAC, em especial nos CNMAC, sobre assunto a que se refere o
texto.
O livro deve ser preparado em Latex (compatı́vel com o Miktex
versão 2.9), as figuras em eps e deve ter entre 80 e 150 páginas. O
texto deve ser redigido de forma clara, acompanhado de uma excelente
revisão bibliográfica e de exercı́cios de verificação de aprendiza-
gem ao final de cada capı́tulo.
2014
UM CONVITE À GEOMETRIA DE
DISTÂNCIAS
Carlile Lavor
clavor@ime.unicamp.br
Departamento de Matemática Aplicada
Instituto de Matemática, Estatı́stica e Computação Cientı́fica
Universidade Estadual de Campinas
Leo Liberti
leoliberti@gmail.com
École Polytechnique e IBM TJ Watson Research Center
Editora: SBMAC
Patrocı́nio: SBMAC
Copyright c 2014 by Carlile Lavor e Leo Liberti. Direitos reservados, 2014 pela
SBMAC. A publicação nesta série não impede o autor de publicar parte ou a totali-
dade da obra por outra editora, em qualquer meio, desde que faça citação à edição
original.
Lavor, Carlile
Um Convite à Geometria de Distâncias - São Carlos, SP :
SBMAC, 2014, 57 p., 21.5 cm - (Notas em Matemática
Aplicada; v. 71)
e-ISBN 978–85-8215-057-3
CDD - 51
vi
Agradecimentos
Prefácio xi
1 Introdução 1
1.1 Um Pouco de História . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Aplicações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Notação e Conceitos Básicos . . . . . . . . . . . . . . . . . . . . . . . 3
2 O PGD 7
2.1 Definição do PGD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Encarando o PGD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Número de Soluções do PGD . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Complexidade do PGD . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 Instâncias do PGD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4 O PDGD3 23
4.1 Definição do PDGD3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2 Encarando o PDGD3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3 Complexidade do PDGD3 . . . . . . . . . . . . . . . . . . . . . . . . 27
4.4 O Algoritmo BP para o PDGD3 . . . . . . . . . . . . . . . . . . . . 27
5 O PDGDM 31
5.1 As Hipóteses do PDGD3 . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2 Definição do PDGDM . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.3 Complexidade do PDGDM . . . . . . . . . . . . . . . . . . . . . . . 35
5.4 Simetrias do PDGDM . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6 GD e Geometria Molecular 41
6.1 O PDGDM e Estruturas de Proteı́nas . . . . . . . . . . . . . . . . . 41
6.2 Ordens nas Proteı́nas . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.3 O BP com Custo Polinomial . . . . . . . . . . . . . . . . . . . . . . . 45
7 Conclusão 49
ix
Prefácio
xi
xii
Carlile Lavor
Leo Liberti
Capı́tulo 1
Introdução
1.2 Aplicações
Além da teoria matemática associada à GD, o interesse por esse tópico de pesquisa
explica-se pela riqueza e variedade de suas aplicações. Podemos citar, como exem-
plo, aplicações em astronomia, bioquı́mica, estatı́stica, nanotecnologia, robótica e
telecomunicações. Em [46], juntamente com os colegas Nelson Maculan e Antonio
Mucherino, apresentamos um survey sobre GD, destacando a teoria e aplicações do
tema.
Em astronomia, o problema está relacionado à determinação da posição de es-
trelas, utilizando informação de distância entre elas [51].
Em bioquı́mica, o problema aparece na determinação de estruturas tridimensio-
nais de moléculas de proteı́nas, utilizando dados de ressonância magnética nuclear
[16]. Foi através desse problema, que tivemos o primeiro contato com GD. Boa
parte da pesquisa que desenvolvemos nessa área foi motivada pelas dificuldades
encontradas ao lidar com esse problema.
Em estatı́stica, o problema está relacionado à visualização de dados [18] e
redução dimensional [42]. Nesse caso, todas as distâncias são conhecidas entre os
pontos, que estão em “alta dimensão” (por exemplo, no Rn ), e o problema é como
representá-los em R2 ou R3 , justamente para se ter uma ideia visual dos dados.
Essa aplicação também está ligada a um tema atual de pesquisa, denominado Big
Data [52].
Em nanotecnologia, o problema possui semelhanças com o problema em bi-
oquı́mica, mas só que em escala “nano” [33].
Em robótica, o problema aparece no posicionamento dos braços de um robô para
realizar uma tarefa especı́fica [59]. Existe uma estreita relação entre esse problema
e os cálculos relacionados à geometria molecular [19].
Em telecomunicações, o problema está relacionado à localização de redes de
sensores sem fio, onde alguns pontos são previamente fixados, por exemplo, os
roteadores [46, 70].
Pela própria natureza teórica e imensa variedade de aplicações, a GD torna-se um
tópico exemplar em Matemática Aplicada, onde vários conceitos fundamentais da
Matemática (métrica, dimensão, simetria, incerteza) e da Computação (algoritmos,
Notação e Conceitos Básicos 3
• Conjuntos:
• Vetores e Matrizes:
1
1
2 2
O Problema de Geometria de
Distâncias (PGD)
Exercı́cio 2.1. Pode haver mais de uma solução de um PGD? O conjunto solução
pode ser vazio?
Exercı́cio 2.2. Quando “desenhamos” um grafo no papel, estamos resolvendo um
PGD?
onde xTu = (xu1 , xu2 ) e xTv = (xv1 , xv2 ). Temos, então, um sistema com 2|V |
variáveis e |E| equações.
Podemos reescrever o sistema (2.2.2) da seguinte forma:
2 2
(xu1 − xv1 ) + (xu2 − xv2 ) = d2uv , ∀{u, v} ∈ E, (2.2.3)
obtendo um sistema quadrático.
Encarar o PGD “de frente”, ou seja, tentar resolver o sistema de equações (2.1.1),
ou o sistema quadrático associado, parece não ser uma boa ideia, já que existem
evidências de que não seja possı́vel obter uma fórmula fechada para a solução do
problema, envolvendo somas, diferenças, produtos, frações, potências e radicais [5].
Uma outra possibilidade seria tentar resolver o problema numericamente, que
também pode apresentar dificuldades [46].
Exercı́cio 2.3. Considere um PGD com K = 2, V = {u, v, r}, E = {{u, v}, {v, r}}
e duv = dvr = 1. Resolva graficamente o PGD.
Exercı́cio 2.4. Considerando o exercı́cio anterior, como ficaria a solução do pro-
blema se acrescentarmos {u, r} em E, com dur = 1?
Antes de apresentarmos a maneira clássica de resolver o PGD, consideremos
dois aspectos importantes do problema: cardinalidade do conjunto solução e com-
plexidade computacional.
• Vazio,
• Finito,
Falta considerar apenas mais um caso: conjunto solução com uma quantidade
infinita, mas enumerável. É possı́vel? A resposta é não. Obviamente, como não
temos como apresentar um exemplo, temos que provar a afirmação. Infelizmente,
não conhecemos uma maneira simples de justificar essa impossibilidade. Mas o
resultado pode ser obtido usando geometria algébrica [6].
Exercı́cio 2.5. Considere um PGD com K = 2, V = {u, v, r, s}, E = {{u, v}, {u, r},
{v, r}, {v, s}} e duv = dur = dvr = dvs = 1. A menos de rotações e translações,
quantas soluções existem?
||xr − xu || = 2
||xr − xv || = 1,
2xr = 4 ⇒ xr = 2.
10 O PGD
||xs − xu || = dus
||xs − xv || = dvs
||xs − xr || = drs .
Ax = b,
onde
xv1 − xu1 xv2 − xu2
A = 2 ,
xr1 − xu1 xr2 − xu2
||xv ||2 − ||xu ||2 + d2us − d2vs
b =
||xr ||2 − ||xu ||2 + d2us − d2rs
e
xs1
x= .
xs2
Se a matriz A for inversı́vel, temos uma única solução x∗ , dada por
x∗ = A−1 b.
Caso não exista a inversa de A, o que fazemos? Podemos, por exemplo, fixar
outros três vértices diferentes de {u, v , r} para tentar obter um sistema com matriz
inversı́vel.
Conclusão: se o grafo G de um PGD for completo (supondo existência de
solução), podemos obter a realização de G resolvendo vários sistemas lineares.
Claro, para que isso seja possı́vel, as matrizes associadas teriam que ser inversı́veis.
Instâncias do PGD 11
i−3
di−3,i−1
di−3,i−2 θi−3,i−1
ωi−3,i di−2,i−1 i−1
i−2
θi−2,i di−1,i
di−2,i
i
e
− cos θi−2,i − sin θi−2,i 0 −di−1,i cos θi−2,i
sin θi−2,i cos ωi−3,i − cos θi−2,i cos ωi−3,i − sin ωi−3,i di−1,i sin θi−2,i cos ωi−3,i
Bi = ,
sin θi−2,i sin ωi−3,i − cos θi−2,i sin ωi−3,i cos ωi−3,i di−1,i sin θi−2,i sin ωi−3,i
0 0 0 1
para i = 4, ..., n.
Exercı́cio 2.13. Como nossa molécula artificial pode ser descrita usando coorde-
nadas cartesianas ou coordenadas internas, qual é a diferença em usar um ou outro
sistema para gerar instâncias do PGD?
Usando as matrizes acima e fixando os comprimentos das ligações covalentes
d1,2 , d2,3 e o valor do ângulo plano θ1,3 , os três primeiros átomos da sequência são
dados por:
0
x1 = 0 ,
0
−d1,2
x2 = 0 ,
0
−d1,2 + d2,3 cos θ1,3
x3 = d2,3 sin θ1,3 .
0
não é difı́cil perceber que a solução x∗ ∈ R6 do PGD associado pode ser encontrada
resolvendo o seguinte problema:
min6 f (x).
x∈R
e a equação
f (x) = 0, x ∈ R6 ,
onde f é dada por
2
2 2
f (xu1 , xu2 , xv1 , xv2 , xs1 , xs2 ) = (xu1 − xv1 ) + (xu2 − xv2 ) − d2uv
2
2 2
+ (xv1 − xs1 ) + (xv2 − xs2 ) − d2vs ?
{{u, v}, {u, r}, {u, s}, {v, r}, {v, s}, {r, s}}. Fixando também u, v, r (podemos fazer
isso usando as matrizes da Seção 2.5), obtemos o mesmo sistema quadrático:
Fazendo as contas e subtraindo a primeira equação das outras duas, obtemos, no-
vamente:
Até aqui, nenhuma diferença pode ser notada. Entretanto, obtendo explicitamente
o sistema linear associado, temos:
xs1 2 2 2
− d2vs
xv1 − xu1 xv2 − xu2 xv3 − xu3 xs2 = 1 ||xv ||2 − ||xu ||2 + dus .
xr1 − xu1 xr2 − xu2 xr3 − xu3 2 ||xr || − ||xu || + d2us − d2rs
xs3
Não temos mais uma matriz 2 × 2, mas uma matriz 2 × 3. E agora, temos solução
única?
Podemos reescrever o sistema acima como
implicando que não temos mais uma única solução! Para cada valor de xs3 ∈ R,
obtemos valores para xs1 e xs2 . Finalmente, para obtermos a solução do nosso PGD,
devemos retornar ao sistema quadrático associado, escolher uma das equações (por
exemplo, ||xs − xu ||2 = d2us ) e resolvê-la usando a solução do sistema linear acima.
Geometricamente, temos a interseção entre uma reta, dada por
xs1
= A − B [xs3 ] ,
xs2
onde
−1
||xv ||2 − ||xu ||2 + d2us − d2vs
1 xv1 − xu1 xv2 − xu2
A= ,
2 xr1 − xu1 xr2 − xu2 ||xr ||2 − ||xu ||2 + d2us − d2rs
−1
xv1 − xu1 xv2 − xu2 xv3 − xu3
B= ,
xr1 − xu1 xr2 − xu2 xr3 − xu3
18 Do Contı́nuo para o Discreto
Exercı́cio 3.6. Mostre a equivalência entre o sistema quadrático original, dado por
−1
xs1 xv1 − xu1 xv2 − xu2
= ×
xs2 xr1 − xu1 xr2 − xu2
1 ||xv ||2 − ||xu ||2 + d2us − d2vs
xv3 − xu3
− [xs3 ,
]
2 ||xr ||2 − ||xu ||2 + d2us − d2rs xr3 − xu3
Exercı́cio 3.7. Mostre também que a escolha da equação quadrática para formar
o novo sistema é indiferente.
Ordens para o PGD 19
xv1 − xu1 xv2 − xu2
Se a matriz não for inversı́vel, ou ainda, se não pu-
xr1 − xu1 xr2 − xu2
dermos selecionar uma matriz inversı́vel 2 × 2 da matriz original
xv1 − xu1 xv2 − xu2 xv3 − xu3
,
xr1 − xu1 xr2 − xu2 xr3 − xu3
significa que não poderemos mais garantir que o conjunto solução seja finito?
A discussão acima nos sugere dois aspectos importantes sobre a finitude de um
PGD:
1. Para cada vértice s ∈ V a ser realizado em R3 , devem existir arestas {u, s}, {v, s}, {r, s} ∈
E tais que os vértices u, v, r ∈ V já tenham sido realizados, para que se possa
gerar um sistema quadrático com xs ∈ R3 como única variável, dado por
2. Para que esse sistema tenha, no máximo, duas soluções, a matriz do sistema
linear obtido subtraindo uma equação das outras duas deve ter posto com-
pleto.
Exercı́cio
3.8. Que interpretação geométrica
pode ser dada ao exigirmos que a
xv1 − xu1 xv2 − xu2 xv3 − xu3
matriz tenha posto completo?
xr1 − xu1 xr2 − xu2 xr3 − xu3
A ideia que conecta essas duas informações está relacionada ao conceito de or-
dem nos vértices do grafo G = (V, E, d) do PGD. Ou seja, se existir uma ordem
em V satisfazendo as condições 1 e 2 acima, podemos garantir (a menos de rotações
e translações e supondo que os pontos associados aos vértices u,v,r não sejam coli-
neares) que o conjunto solução do problema é finito.
20 Do Contı́nuo para o Discreto
• Iniciando com a clique {a, b}, temos os seguintes vértices como candidatos à
terceira posição: c, u, v, r. O próximo vértice seria c, pois {{a, c}, {b, c}} ⊂ E,
mas depois dele, não haveria mais candidatos.
• Iniciando com a clique {a, c}, temos os seguintes vértices como candidatos à
terceira posição: b, u, v, r. O próximo vértice seria b, pois {{a, b}, {c, b}} ⊂ E,
mas depois dele, não haveria mais candidatos.
• Iniciando com a clique {a, u}, não haveria nenhum candidato para ocupar a
terceira posição.
• Iniciando com a clique {b, c}, temos os seguintes vértices como candidatos à
terceira posição: a, u, v, r. O próximo vértice seria a, pois {{b, a}, {c, a}} ⊂ E,
mas depois dele, não haveria mais candidatos.
Ordens para o PGD 21
• Iniciando com a clique {b, v}, não haveria nenhum candidato para ocupar a
terceira posição.
• Iniciando com a clique {c, r}, não haveria nenhum candidato para ocupar a
terceira posição.
• Iniciando com a clique {u, v}, temos os seguintes vértices como candidatos à
terceira posição: a, b, c, r. O próximo vértice seria r, pois {{u, r}, {v, r}} ⊂ E,
mas depois dele, não haveria mais candidatos.
• Iniciando com a clique {u, r}, temos os seguintes vértices como candidatos à
terceira posição: a, b, c, v. O próximo vértice seria v, pois {{u, v}, {r, v}} ⊂ E,
mas depois dele, não haveria mais candidatos.
• Iniciando com a clique {v, r}, temos os seguintes vértices como candidatos à
terceira posição: a, b, c, u. O próximo vértice seria u, pois {{v, u}, {r, u}} ⊂ E,
mas depois dele, não haveria mais candidatos.
Portanto, não existe tal ordem! Podemos concluir, então, que o conjunto solução
é não enumerável? Não, pois se sabe que o grafo associado não tem uma quantidade
não enumerável de realizações [31] (Figura 3.3).
u v
r c
a b
O Problema Discretizável de
Geometria de Distâncias
(PDGD3)
V = {p, q, r, s, t, u, v},
E = {{p, q}, {p, r}, {p, s}, {p, u}, {p, v},
{q, r}, {q, s}, {q, t}, {q, u}, {q, v},
{r, s}, {r, t}, {r, v},
{s, t}, {s, v},
{t, u}, {t, v},
{v, u}}.
V = {v1 , v2 , v3 , v4 , v5 , v6 , v7 },
E = {{v1 , v2 }, {v1 , v3 }, {v1 , v4 }, {v1 , v5 }, {v1 , v7 },
{v2 , v3 }, {v2 , v4 }, {v2 , v5 }, {v2 , v6 }, {v2 , v7 },
{v3 , v4 }, {v3 , v5 }, {v3 , v6 },
{v4 , v5 }, {v4 , v7 },
{v5 , v6 }, {v5 , v7 },
{v6 , v7 }}.
Abrindo as contas e subtraindo, por exemplo, a primeira equação das outras duas,
obtemos um sistema linear
Axv4 = b,
onde A ∈ R2×3 e b ∈ R2 . Como A tem posto completo (hipótese do PDGD3 ),
obtemos xv4 em função de um parâmetro λ ∈ R, denotado por xv4 (λ). Substituindo
xv4 (λ) em uma das equações do sistema quadrático acima, por exemplo, na equação
||xv4 − xv1 ||2 = d2v1 v4 , obtemos a seguinte equação do segundo grau em λ:
a5 = v2
b5 = v3
c5 = v4
Entretanto, temos também {v1 , v5 } ∈ E, que podemos usar para testar cada uma
das possı́veis posições obtidas para v5 (x0v5 e x1v5 ). Isto é,
Supondo que os pontos {xv1 , xv2 , xv3 , x0v4 } não sejam coplanares, apenas uma
das equações deve ser satisfeita, digamos a primeira. Ou seja, descartamos x1v5 e
consideremos x0v5 .
Exercı́cio 4.3. Qual seria a diferença, caso tivéssemos selecionado x1v4 ?
Exercı́cio 4.4. Qual o motivo da hipótese sobre planaridade dos pontos {xv1 , xv2 , xv3 , x0v4 }?
Passemos para o próximo vértice: v6 . Como temos apenas
{{v2 , v6 }, {v3 , v6 }, {v5 , v6 }} ⊂ E, montamos o sistema quadrático associado,
e obtemos as duas soluções possı́veis: x0v6 e x1v6 . Neste momento, nada pode ser
dito sobre a viabilidade dos pontos, pois não temos mais vértices anteriores ligados
26 O PDGD3
a v6 . Para continuar, temos então que fazer uma escolha (por exemplo, x0v6 ), mas
ao mesmo tempo, lembrar que há outra possibilidade.
Vamos ao vértice seguinte: v7 . Considerando
a7 = v4
b7 = v5
c7 = v6 ,
e obtemos mais duas soluções possı́veis: x0v7 e x1v7 . Neste caso, existem duas arestas
“adicionais”, {v1 , v7 } ∈ E e {v2 , v7 } ∈ E, que podemos usar para testar cada uma
das possı́veis posições para v7 . Ou seja,
e
||x0v7 − xv2 || = dv2 v7 ou ||x1v7 − xv2 || = dv2 v7 .
Agora, temos duas possibilidades:
O primeiro caso pode ocorrer, caso a seleção que fizemos para v6 tenha sido
“errada”. Então, temos que “retornar”, escolher x1v6 e repetir o processo. Quando
temos mais de uma aresta adicional, devemos testá-las uma por uma. Basta uma
equação não ser satisfeita para inviabilizar a posição em questão.
No segundo caso, temos uma situação parecida com a do vértice v5 , mas com
duas arestas adicionais, no lugar de apenas uma: {v1 , v7 } ∈ E e {v2 , v7 } ∈ E.
Teoricamente, podemos usar qualquer uma dessas arestas para a escolha entre x0v7
e x1v7 .
Mas vamos supor que tenha ocorrido o primeiro caso. Então, retornamos, esco-
lhemos x1v6 e resolvemos um novo sistema quadrático, obtendo yv07 e yv17 . Como te-
mos {v1 , v7 } ∈ E (supondo que os pontos {xv1 , xv2 , xv4 , x1v6 } não sejam coplanares),
apenas uma das posições é válida, digamos yv17 . Portanto, finalmente, encontramos
uma solução do problema: {xv1 , xv2 , xv3 , x0v4 , x0v5 , x1v6 , yv17 }.
Exercı́cio 4.5. No momento da escolha entre x0v6 e x1v6 , é possı́vel antecipar que
escolhendo x0v6 chegarı́amos num ponto inviável?
Exercı́cio 4.7. Na prática, que critério pode ser adotado para decidir que aresta
deve ser utilizada, no caso de existirem várias arestas adicionais e supondo que
todas elas sejam teoricamente “válidas”.
O Algoritmo BP para o PDGD3 27
x v1
xv2
x v3
x0v4 x1v4
v5
v6
v7
[20, 60], mas temos que ter o cuidado para não nos “perdermos”, principalmente na
hora de fazer um retorno na árvore.
Baseado no exemplo anterior, vimos também que, essencialmente, o procedi-
mento de resolução do PDGD3 pode ser definido como uma sequência de sistemas
quadráticos e testes de viabilidade (quando existem arestas adicionais). Com esses
dois subproblemas em mente, podemos dividir as arestas E do grafo do PDGD3 em
dois conjuntos disjuntos:
E = Ed ∪ Ep ,
onde
Ed = {{a4 , v4 }, {b4 , v4 }, {c4 , v4 }, ..., {an , vn }, {bn , vn }, {cn , vn }}
é o conjunto das arestas de discretização e
Ep = E − Ed
• Ep = ∅,
Nesses dois casos, uma solução é encontrada rapidamente, com um custo com-
putacional proporcional a n.
No primeiro caso, basta escolher qualquer uma das soluções dos sistemas quadráticos
dando solução única, também com nenhum teste de viabilidade a ser feito, já que o
único teste a ser realizado foi incluı́do no sistema (estamos supondo que o sistema
tem solução).
A “natureza” do conjunto Ed é a mesma em qualquer PDGD3 , enquanto que o
conjunto Ep depende de cada instância do problema. As arestas de discretização
Ed definem os sistemas quadráticos e as arestas de poda Ep definem os testes de
viabilidade.
Olhando com mais cuidado, podemos perceber que existe uma “geometria das
arestas”, também como consequência da ordem do PDGD3 .
Consideremos um sistema quadrático genérico associado a vi , i = 4, . . . , n:
• |D| = 0,
• |D| = 1,
• |D| = 2.
Supondo não haver erro nas informações das distâncias [40], o primeiro caso
não acontece. Teremos o segundo caso, quando os pontos xai , xbi , xci , xvi forem
coplanares, e o terceiro é o caso geral. Ou seja,
D = {x0vi , x1vi },
30 O PDGD3
onde pi < vi , {pi , vi } ∈ E e S(xpi , dpi vi ) é a esfera com centro no ponto xpi e raio
|E p |
dpi vi . Essa nova interseção, ∩ S(xpi , dpi vi ), é justamente o teste de viabilidade.
i=1
O Problema Discretizável de
Geometria de Distâncias
Moleculares (PDGDM)
Escolhemos uma das duas possibilidades para posicionar u4 (digamos x0u4 ) e obtemos
o sistema quadrático seguinte para posicionar u5 :
Temos também {u1 , u6 } ∈ E, que podemos usar para testar cada uma das possı́veis
posições obtidas para u6 (x0u6 e x1u6 ). Isto é,
Pode ser que nenhuma das equações seja satisfeita, ou seja, fizemos uma escolha
“errada” para u5 (vamos supor que foi esse o caso). Temos que retornar e repetir o
procedimento, utilizando x1u5 . O novo sistema quadrático é, então:
Utilizamos novamente {u1 , u6 } ∈ E para testar cada uma das novas possı́veis
posições obtidas para u6 (yu0 6 e yu1 6 ). Isto é,
Supondo que os pontos {xu1 , xu3 , x0u4 , x1u5 } não sejam coplanares, apenas uma das
equações deve ser satisfeita, digamos a primeira. Ou seja, descartamos yu1 6 e consi-
deramos yu0 6 . O novo sistema quadrático é
Usando {u1 , u7 } ∈ E e {u3 , u7 } ∈ E para testar cada uma das novas possı́veis
posições obtidas para u7 (x0u7 e x1u7 ), temos:
e
||x0u7 − xu3 || = du3 u7 ou ||x1u7 − xu3 || = du3 u7 .
36 O PDGDM
onde
v1 v8
v3
v4
v11
v7 v9
v2 v6
v13
v14
v10
v12
Exercı́cio 5.4. Qual é a única distância que aparece apenas uma vez na fórmula
acima para o cos(ωi−3,i )? Por que ela é diferente das demais?
38 O PDGDM
Lembramos que, para definir uma estrutura 3D de uma molécula, podemos usar
o sistema de coordenadas internas, dado justamente pelos valores d1,2 , . . . , dn−1,n ,
θ1,3 , . . . , θn−2,n e ω1,4 , . . . , ωn−3,n . Mas como dissemos acima, no PDGDM, te-
mos apenas cos(ωi−3,i ), i = 4, . . . , n, que geram dois valores possı́veis para cada
ângulo de torção, já que ωi−3,i ∈ [0, 2π]. Entretanto, isso implica que não pre-
cisamos mais resolver nenhum sistema quadrático! E mais, as duas possibilida-
des para cada ângulo de torção podem ser previamente calculadas usando as in-
formações de distâncias das cliques {vi−3 , vi−2 , vi−1 , vi }. Para fazer as podas, com
as distâncias adicionais, usamos as matrizes da Seção 2.5 para obter as coordenadas
cartesianas das duas possı́veis soluções para cada vértice vi (fixadas as posições de
vi−3 , vi−2 , vi−1 ) e comparar as distâncias calculadas com a distância dada.
Resta uma questão: qual é o custo computacional de se encontrar a ordem do
PDGDM? Diferentemente do custo polinomial da ordem do PDGD3 (com a clique
inicial dada a priori ), encontrar uma ordem para o PDGDM pode ser complicado,
pois é um problema NP-difı́cil [10], assim como o próprio PDGDM [38]. É o “preço”
da nova informação!
Escapamos da resolução dos sistemas quadráticos, mas aumentamos exponenci-
almente o custo de se encontrar a nova ordem. Entretanto, dependendo da aplicação,
essa ordem pode ser obtida usando as caracterı́sticas do problema. É o que acontece,
por exemplo, em problemas de cálculo de estruturas de proteı́nas [40].
Exercı́cio 5.5. Por que há “troca de sinal” nas fórmulas di−3,i−2,i−1 = d2i−3,i−2 +
d2i−2,i−1 − d2i−3,i−1 e di−2,i−1,i = d2i−2,i−1 + d2i−2,i − d2i−1,i ?
Exercı́cio 5.6. Tente deduzir a fórmula dada para cos(ωi−3,i ).
• Supondo que não exista {u, v5 } ∈ E, para u < v5 − 3, temos que considerar 2
casos:
V = {v1 , v2 , v3 , v4 , v5 , v6 , v7 },
E = {{v1 , v2 }, {v1 , v3 }, {v1 , v4 }, {v1 , v6 }, {v1 , v7 },
{v2 , v3 }, {v2 , v4 }, {v2 , v5 },
{v3 , v4 }, {v3 , v5 }, {v3 , v6 }, {v3 , v7 },
{v4 , v5 }, {v4 , v6 }, {v4 , v7 },
{v5 , v6 }, {v5 , v7 }, {v6 , v7 }}.
É fácil ver que S = {v4 }, já que {v1 , v7 } ∈ E. Ou seja, existe apenas o plano
simétrico (definido por xv1 , xv2 , xv3 ) que é comum a qualquer PDGDM, implicando
que temos apenas 2 soluções para o PDGDM. Como já obtemos uma solução (usando
o BP), dada por
xv1 , xv2 , xv3 , x0v4 , x1v5 , yv06 , x1v7 ,
temos uma outra, dada por
Note que essa outra solução não precisa ser calculada pelo BP.
Supondo que {v1 , v7 } ∈
/ E e {v3 , v7 } ∈
/ E, como ficaria o conjunto S? Fazendo
as contas, temos:
S = {v4 , v7 }.
40 O PDGDM
s1 = (0, 0, 0, 0, 1, 0, 1).
Como sabemos que temos uma simetria no vértice v7 , uma outra solução é dada
por
s2 = (0, 0, 0, 0, 1, 0, 0).
Considerando agora a simetria no vértice v4 , obtemos mais duas soluções, a partir
das anteriores, dadas por
s3 = (0, 0, 0, 1, 0, 1, 0)
e
s4 = (0, 0, 0, 1, 0, 1, 1).
Duas conclusões importantes [44, 56]:
Simetrias do PDGDM 41
Geometria de Distâncias e
Geometria Molecular
uma molécula por meio de grafos é antiga [65]). Essa repetição vai garantir que
as distâncias di−3,i sejam conhecidas, podendo até serem nulas. Do ponto de vista
computational, isso tem uma vantagem, pois ao calcularmos novamente a posição
de um dado átomo, podemos verificar se os erros numéricos estão sob controle [41].
Exercı́cio 6.1. Verifique na Figura 6.4 em que pares de átomos a repetição acon-
tece.
Exercı́cio 6.2. O que aconteceria se alguma distância di−1,i ou di−2,i fosse nula?
Exercı́cio 6.3. Nas três situações da Figura 6.5, determine os sistemas quadráticos
correspondentes às interseções de 4 esferas.
Exercı́cio 6.4. Mostre que, para cada sistema, existe uma única solução.
Isso significa que, sempre que tal situação ocorre, o nı́vel j da árvore passa a
ter o dobro de nós do nı́vel anterior. O problema se agrava ainda mais quando
existe um conjunto de vértices consecutivos vj , ..., vj+k , com k ≥ 4, com todos eles
na situação destacada acima, expandindo o espaço de busca rapidamente. Imagine,
por exemplo, que no nı́vel j = 50 da árvore existam 220 = 1.048.576 posições que
satisfazem todas as informações de poda até o momento. Com k = 5, a quantidade
de soluções possı́veis, até então, passaria para 225 = 33.554.432!
Outra questão importante está relacionada à “quantificação” do erro cometido.
Essa é uma questão delicada... Para iniciar sua compreensão, temos que utilizar um
resultado sobre dualidade do PDGDM [1, 43], assunto não tratado nesse texto:
Conclusão
51
52 GD e Geometria Molecular
Bibliografia
[1] ABUD, G.; ALENCAR, J. Counting the number of solutions of the discretizable
molecular distance geometry problem. In: ANDRIONI, A. et al. (Ed.). Proceedings
of the Workshop on Distance Geometry and Applications. Universidade Federal do
Amazonas, Manaus: [s.n.], 2013. p. 29–32.
[2] ALVES, R. et al. Adaptive branching in ibp with clifford algebra. In: ANDRI-
ONI, A. et al. (Ed.). Proceedings of the Workshop on Distance Geometry and
Applications. Universidade Federal do Amazonas, Manaus: [s.n.], 2013. p. 65–69.
[6] BENEDETTI, R.; RISLER, J.-J. Real Algebraic and Semi-algebraic Sets. Paris:
Hermann, 1990.
[12] COSTA, V. et al. Discretization orders for protein side chains. Journal of Global
Optimization, Springer, a ser publicado.
53
54 GD e Geometria Molecular
[17] DONG, Q.; WU, Z. A linear-time algorithm for solving the molecular distance
geometry problem with exact inter-atomic distances. Journal of Global Optimiza-
tion, Springer, v. 22, n. 1-4, p. 365–375, 2002.
[19] EMIRIS, I. Z.; MOURRAIN, B. Computer algebra methods for studying and
computing molecular conformations. Algorithmica, Springer, v. 25, n. 2-3, p. 372–
402, 1999.
[44] LIBERTI, L. et al. Counting the number of solutions of kdmdgp instances. In:
Geometric Science of Information. [S.l.]: Springer, 2013. p. 224–230.
[46] LIBERTI, L. et al. Euclidean distance geometry and applications. SIAM Review,
SIAM, v. 56, n. 1, p. 3–69, 2014.
[47] LIBERTI, L.; LAVOR, C.; MUCHERINO, A. The discretizable molecular dis-
tance geometry problem seems easier on proteins. In: Distance Geometry: Theory,
Methods and Applications. [S.l.]: Springer, 2013. p. 47–60.
[51] LINDEGREN, L. et al. The astrometric core solution for the gaia mission.
overview of models, algorithms, and software implementation. Astronomy and As-
trophysics, v. 538, p. 1–47, 2012.
[55] MUCHERINO, A.; LAVOR, C.; LIBERTI, L. The discretizable distance geo-
metry problem. Optimization Letters, Springer, v. 6, n. 8, p. 1671–1686, 2012.
[57] MUCHERINO, A. et al. A parallel version of the branch & prune algorithm for
the molecular distance geometry problem. In: Proceedings of the ACS/IEEE Inter-
national Conference on Computer Systems and Applications. Hammamet: [s.n.],
2010. p. 1–6.
[59] NIELSEN, J.; ROTH, B. On the kinematic analysis of robotic mechanisms. The
International Journal of Robotics Research, SAGE Publications, v. 18, n. 12, p.
1147–1160, 1999.
[60] NUCCI, P.; NOGUEIRA, L. T.; LAVOR, C. Solving the discretizable molecular
distance geometry problem by multiple realization trees. In: Distance Geometry.
[S.l.]: Springer, 2013. p. 161–176.
[61] PORTUGAL, R. et al. Uma introdução à computação quântica. Sociedade Bra-
sileira de Matemática Aplicada e Computacional (SBMAC), 2012.
[62] SALLAUME, S. et al. A discrete search algorithm for finding the structure of
protein backbones and side chains. International Journal of Bioinformatics Rese-
arch and Applications, Inderscience, v. 9, n. 3, p. 261–270, 2013.
[63] SAXE, J. Embeddability of weighted graphs in k-space is strongly np-hard.
In: Proceedings of the 17th Allerton Conference in Communications, Control and
Computing. [S.l.: s.n.], 1979. p. 480–489.