Você está na página 1de 69

Notas em Matemática Aplicada e-ISSN 2236-5915

Volume 71, 2014

Editores

Fernando Rodrigo Rafaeli (Editor Chefe)


Universidade Federal de Uberlândia - UFU
Uberlândia, MG, Brasil

Vanessa Avansini Botta Pirani (Editor Adjunto)


Universidade Estadual Paulista - UNESP
Presidente Prudente, SP, Brasil

Alexandre Loureiro Madureira


Laboratório Nacional de Computação Cientı́fica - LNCC
Petrópolis, RJ, Brasil

Edson Luiz Cataldo Ferreira


Universidade Federal Fluminense - UFF
Niterói, RJ, Brasil

Jorge Manuel Vieira Capela


Universidade Estadual Paulista - UNESP
Araraquara, SP, Brasil

Sandra Augusta Santos


Universidade Estadual de Campinas - UNICAMP
Campinas, SP, Brasil

Sociedade Brasileira de Matemática Aplicada e Computacional

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.

Veja todos os tı́tulos publicados nesta série na página


http://www.sbmac.org.br/p notas.php

Sociedade Brasileira de Matemática Aplicada e Computacional

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

Sociedade Brasileira de Matemática Aplicada e Computacional

São Carlos - SP, Brasil


2014
Coordenação Editorial: Maria do Socorro Nogueira Rangel

Coordenação Editorial da Série: Fernando Rodrigo Rafaeli

Editora: SBMAC

Capa: Matheus Botossi Trindade

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.

Catalogação elaborada pela Biblioteca do IBILCE/UNESP


Bibliotecária: Maria Luiza Fernandes Jardim Froner

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

1. Geometria de Distâncias 2. Geometria Molecular 3. Branch and Prune


I. Lavor, Carlile II. Liberti, Leo. IV. Tı́tulo. V. Série

CDD - 51
vi
Agradecimentos

Agradecemos a oportunidade dada pela Sociedade Brasileira de Matemática Apli-


cada e Computacional (SBMAC) e o suporte financeiro do Conselho Nacional de
Desenvolvimento Cientı́fico e Tecnológico (CNPq) e da Fundação de Amparo à Pes-
quisa do Estado de São Paulo (FAPESP). Em particular, agradecemos ao Prof.
Rubens Sampaio, pelo incentivo, ao Prof. José Mario Martinez, ao Prof. Tibérius
Bonates, ao Prof. Douglas Gonçalves e ao Prof. Nolmar Melo, pelas sugestões de
melhoria do texto, e aos futuros colegas Germano Abud, Jorge Alencar e Felipe
Fidalgo, pelas crı́ticas e auxı́lio na preparação do texto.
Conteúdo

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

3 Do Contı́nuo para o Discreto 15


3.1 Otimização Contı́nua e o PGD . . . . . . . . . . . . . . . . . . . . . 15
3.2 Finitude do PGD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3 Ordens para o PGD . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

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

Geometria de Distâncias é um tema da Matemática Aplicada que investiga as


relações existentes entre três situações:

• Distâncias entre objetos relacionados a um determinado problema,

• Distâncias entre pontos (representando tais objetos) em um dado espaço


geométrico,

• Localização desses pontos, possivelmente em um espaço geométrico distinto.

Procuramos apresentar o texto de maneira não tradicional, tentando motivar as


definições e proposições da Geometria de Distâncias por meio de exemplos. Isso
não quer dizer, de maneira alguma, que dispensamos a precisão e a abstração da
Matemática. Apenas deixamos de lado o excesso de formalismo, principalmente por
se tratar de um convite.
Os exercı́cios devem ser considerados parte essencial do texto. Todos eles foram
criados cuidadosamente para ajudar na construção e aquisição dos conceitos funda-
mentais da Geometria de Distâncias (não são exercı́cios “desafios”, exceto o último
deles). Selecionamos várias referências bibliográficas, onde aı́, sim, um esforço maior
e dedicação serão necessários.
Como pré-requisitos, apenas conhecimentos básicos de Geometria Analı́tica serão
suficientes. O mais importante: manter a mente aberta, curiosa e com disposição
para aprender.
Outra caracterı́stica do texto é que ele não é uma história contada novamente,
de maneira diferente. Trata-se de uma “estreia”, principalmente porque são tópicos
desenvolvidos pelos autores e vários colaboradores, com destaque para os professores
Nelson Maculan (da Universidade Federal do Rio de Janeiro) e Antonio Mucherino
(da Université de Rennes 1 ). Por isso mesmo, serão inevitáveis os erros cometidos.
Estendemos o convite para que nos enviem todos os comentários, sugestões e erros
encontrados, a serem incorporados em futuras edições. Agradecemos, antecipada-
mente.
Para se ter uma ideia geral do texto, faremos uma breve descrição de cada
capı́tulo.
No Capı́tulo 1, falamos um pouco da história da Geometria de Distâncias, suas
aplicações e uma breve revisão dos principais conceitos utilizados. O Capı́tulo 2
apresenta o principal problema da Geometria de Distâncias, chamado de PGD,
onde se baseia todo o texto. Sem uma boa compreensão desse capı́tulo, toda a
leitura seguinte ficará prejudicada. Na verdade, o texto é bem sequencial e não
há capı́tulos independentes. Ou seja, a ordem aqui é fundamental, conceito utili-
zado também no final do Capı́tulo 3, que apresenta a maneira clássica de abordar
o PGD, usando métodos contı́nuos, e faz a passagem para o mundo discreto do

xi
xii

PGD. Os Capı́tulos 4 e 5 tratam de duas classes de problemas que aparecem justa-


mente por conta da estrutura combinatória do PGD, fortemente relacionada com a
ordem mencionada acima. No Capı́tulo 6, destacamos uma das aplicações da Geo-
metria de Distâncias relacionada à Geometria Molecular. Algumas conclusões são
apresentadas no Capı́tulo 7.

Durham e New York, 4 de julho de 2014.

Carlile Lavor
Leo Liberti
Capı́tulo 1

Introdução

1.1 Um Pouco de História


Geometria de Distâncias (GD) é uma área de pesquisa consolidada, tendo a Ma-
temática e a Computação como áreas fundamentais em seu alicerce. O conceito de
distância [14] é essencial para a experiência humana e a GD o coloca como objeto
principal de estudo em uma dada estrutura geométrica.
Atualmente, o problema fundamental da GD é determinar um conjunto
de pontos em um dado espaço geométrico, cujas distâncias, entre alguns
deles, são conhecidas.
Considera-se que a GD surgiu em 1928, quando Menger [53] caracterizou vários
conceitos geométricos usando a ideia de distância. Entretanto, apenas com os re-
sultados de Blumenthal [8], em 1953, o tema se tornou, de fato, uma nova área do
conhecimento, conhecida a partir de então por Geometria de Distâncias.
Naquela época, a principal questão da GD era encontrar condições necessárias e
suficientes para decidir se uma dada matriz é uma matriz de distâncias D, ou seja,
uma matriz simétrica tal que existe um número inteiro positivo K e um conjunto
de pontos em RK , onde as distâncias euclidianas entre esses pontos são iguais às
entradas da matriz D. Note que, nesse caso, todas as distâncias são consideradas
conhecidas.
A primeira menção explı́cita ao problema fundamental da GD (definido acima),
onde não são conhecidas todas as distâncias, foi dada por Yemini [70], em 1978.
Essa mudança faz toda a diferença, tanto do ponto de vista prático quanto teórico.
Em várias aplicações, não se conhecem todas as distâncias, e, neste caso, o problema
perde a garantia de poder ser resolvido facilmente [17].
Outro momento importante, principalmente relacionado à aplicação da GD ao
cálculo de estruturas moleculares, é o lançamento do livro de Crippen e Havel [13],
em 1988, considerados os pioneiros na aplicação da GD ao cálculo de estrutura de
proteı́nas.
Em 2013, publicado pela Springer, aparece o primeiro livro editado, integral-
mente dedicado à GD [58], reunindo diferentes aplicações e pesquisadores em GD.
No mesmo ano, em junho de 2013, é realizado o primeiro workshop internacional so-
bre o tema [4], contando com palestrantes de renomadas instituições internacionais
(Princeton University, IBM TJ Watson Research Center, University of Cambridge,
École Polytechnique, Institut Pasteur, École Normale Supérieure, SUTD-MIT In-
ternational DesignCenter). O evento também contou com o apoio de várias soci-
edades cientı́ficas brasileiras e internacionais (Sociedade Brasileira de Matemática,
2 Introdução

Sociedade Brasileira de Matemática Aplicada e Computacional, Sociedade Brasi-


leira de Computação, Sociedade Brasileira de Pesquisa Operacional, La Asociación
Latino-Iberoamericana de Investigación Operativa, The International Federation of
Operational Research Societies, Associação Brasileira de Estatı́stica e Sociedade
Astronômica Brasileira) e das principais agências de fomento à pesquisa do Brasil
(CNPq, CAPES e FAPESP), confirmando a integração que a GD permite entre
várias áreas do conhecimento.
Acreditamos que esse seja o primeiro texto didático sobre GD. Diferentemente
da abordagem clássica, usando métodos contı́nuos [48], iremos apresentar o tema
baseados em sua estrutura combinatória, pois além de facilitar a compreensão dos
principais conceitos envolvidos, é também uma maneira nova de considerar o pro-
blema. Curiosamente, essa nova visão se originou em um contexto de computação
quântica [61], quando propusemos aplicar o algoritmo de Grover [27] em um pro-
blema de GD relacionado ao cálculo de estruturas moleculares [36]. Esse trabalho
foi publicado nos anais de um congresso realizado também em Natal, desenvolvido
durante um encontro cientı́fico dos autores, no Politecnico di Milano, em junho de
2005.

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

solubilidade de problemas, complexidade de algoritmos) podem ser apresentados de


uma maneira integrada, facilitando a construção de uma visão ampla e profunda da
Matemática, sem preconceitos e barreiras que insistem em eleger “uma matemática
superior” a outras.

1.3 Notação e Conceitos Básicos


Como mencionamos no Prefácio, apenas conhecimentos elementares de Geometria
Analı́tica serão suficientes para acompanhar todo o texto. Obviamente, iremos
assumir também que o leitor tem alguma familiaridade com a linguagem matemática
envolvendo conceitos básicos de lógica, teoria de conjuntos e funções, necessária em
um curso de Geometria Analı́tica. A seguir, listamos os principais conceitos que
serão utilizados, com as devidas notações.

• Conjuntos:

– x ∈ A significa que x é um elemento do conjunto A.


– A ⊂ B significa que o conjunto A está contido no conjunto B, ou seja,
todo elemento de A é um elemento de B.
– A ∩ B = {x : x ∈ A e x ∈ B} é o conjunto formado pelos elementos que
estão em A e B.
– A ∪ B = {x : x ∈ A ou x ∈ B} é o conjunto formado pelos elementos que
estão em A ou B, incluindo os elementos que estão em A ∩ B.
– A − B = {x : x ∈ A e x ∈
/ B} é o conjunto A, excluindo os elementos de
B que estão em A.
– O conjunto A é infinito enumerável se existe uma bijeção f : N → A, isto
é, uma correspondência um-a-um entre os elementos de A e os números
naturais N = {1, 2, 3, ...}.
– O conjunto A é finito se existe uma bijeção f : {1, 2, 3, ..., n} → A, onde
n ∈ N. A cardinalidade de A, denotada por |A|, é a quantidade de
elementos de A.
– O conjunto A é infinito não enumerável se existe uma injeção f : R → A,
onde R é o conjunto dos números reais.
4 Introdução

• Vetores e Matrizes:

– Um vetor x ∈ Rn será representado


 por
 uma matriz coluna. Por exemplo,
2 x1
x ∈ R será escrito como x = , onde x1 , x2 ∈ R.
x2
– Rm×n é o conjunto das matrizes com entradas reais, m linhas e n colunas.
– Dada M ∈ Rm×n , a matriz transposta M T ∈ Rn×m é a matriz obtida
de M , trocando as linhas pelas colunas.
– Dada M ∈ Rn×n , existe a inversa de M , denotada por M −1 , se M M −1 =
M −1 M = I, onde I é a matriz identidade. Por exemplo, se I ∈ R2×2 ,
1 0
então I = . Se existe M −1 , dizemos que M é inversı́vel (lembre
0 1
que o produto de matrizes não é comutativo, isto é, existem matrizes
A, B tais que AB 6= BA).
– Dada M ∈ Rm×n , com m < n, dizemos que M tem posto completo se
existe uma submatriz M 0 ∈ Rm×m , ou seja, uma matriz formada com m
linhas e m colunas de M , onde M 0 é inversı́vel.
– Dados x, y ∈ Rn , o produto interno entre x e y, denotado por x · y, é
definido por x · y = x1 y1 + ... + xn yn .
– Dado x√∈ Rn , a norma
p euclidiana de x, denotada por ||x||, é definida por
||x|| = x · x = x21 + ... + x2n .

• Grafos (esse tema, na verdade, é uma área na fronteira entre a Matemática


e a Computação, com “vida própria”, muito rica teoricamente e com uma
infinidade de aplicações [28]. Apresentaremos aqui, apenas algumas definições
básicas):

– Dado um conjunto finito V e um outro conjunto E formado por pares


(não ordenados) de elementos de V , temos um grafo G = (V, E), onde
V é o conjunto de vértices do grafo e E é o conjunto das arestas do grafo.
Podemos representar um grafo no plano, usando pontos para os vértices
e segmentos de retas (ou curvas) para as arestas, como ilustrado abaixo.
– Um grafo G = (V, E) é dito simples se {x, y} ∈ E ⇒ x 6= y (ver Figura
1.1).

(a) Grafo simples (b) Grafo não simples

Figura 1.1: Exemplos de grafos simples e não simples.

– Um grafo G = (V, E) é dito conectado se não é possı́vel separar o conjunto


de seus vértices V em dois outros, V = A ∪ B, de tal maneira que não
exista nenhuma aresta {a, b} ∈ E, onde a ∈ A e b ∈ B (ver Figura 1.2).
– Um grafo G = (V, E) é dito completo se E contém todos os pares
possı́veis, ou seja, a, b ∈ V ⇒ {a, b} ∈ E (ver Figura 1.3).
– Uma clique em um grafo G = (V, E) é um outro grafo G0 = (V 0 , E 0 ),
onde V 0 ⊂ V , E 0 ⊂ E e G0 é completo (ver Figura 1.4).
Notação e Conceitos Básicos 5

(a) Grafo conectado (b) Grafo não conectado

Figura 1.2: Exemplos de grafos conectado e não conectado.

(a) Grafo completo (b) Grafo não completo

Figura 1.3: Exemplos de grafos completo e não completo.

(a) Grafo G (b) 3-clique em G (c) 2-clique em G

Figura 1.4: Exemplos de cliques em um grafo G.

– Quando associamos a cada aresta do grafo um número real, ou seja,


definimos uma função d : E → R, temos um grafo G = (V, E, d) com
pesos nas arestas (ver Figura 1.5).

1
1
2 2

Figura 1.5: Grafo com pesos nas arestas.


6 Introdução
Capı́tulo 2

O Problema de Geometria de
Distâncias (PGD)

2.1 Definição do PGD


Como já comentamos, o problema fundamental da GD, que denotaremos por PGD, é
determinar um conjunto de pontos, em um dado espaço geométrico, cujas distâncias
entre alguns deles são conhecidas. Dependendo da aplicação, esses pontos podem
representar estrelas, pontos de articulação de um robô, átomos ou pessoas. Aqui,
já dá para sentir o poder da Matemática, pois podemos representar todos esses
objetos usando um único conceito matemático: grafo. Na verdade, cada um desses
objetos será representado por um vértice de um grafo e, se a distância entre eles é
conhecida, teremos uma aresta entre os vértices correspondentes.
Formalmente, temos a seguinte Definição do PGD:
Definição 2.1. Dado um inteiro K > 0 e um grafo simples G = (V, E, d), conectado
e com pesos nas arestas d : E → (0, ∞), encontre uma função x : V → RK tal que

∀{u, v} ∈ E, ||x(u) − x(v)|| = d(u, v). (2.1.1)


Resolver o problema é, então, associar cada vértice de G a um único ponto
em RK , satisfazendo as equações (2.1.1). Ou seja, ao posicionarmos os vértices
u, v ∈ V , tais que {u, v} ∈ E, em RK , temos que “acertar” a distância calculada
||x(u) − x(v)|| com o valor dado d(u, v).
A função x é chamada de realização de G. Uma realização de um grafo é
uma “representação” de seus vértices em algum espaço euclidiano RK (note que a
dimensão do espaço faz parte da entrada do problema, assim como o grafo G).
Iremos considerar, na maioria dos casos, K = 2 ou K = 3, mas todos os re-
sultados podem ser estendidos para RK [46]. Uma realização que satisfaz todas as
equações (2.1.1) é dita uma realização válida.
Para simplificar a notação, usaremos xu , xv , no lugar de x(u), x(v), e duv , no
lugar de d(u, v). Neste texto, utilizaremos a norma euclidiana (já definida na Seção
1.3), mas dependendo da aplicação, outras normas podem ser empregadas [46].
Com a Definição 2.1, além da representação abstrata de qualquer tipo de objeto
(por meio dos vértices de um grafo), podemos também utilizar diferentes métricas
e, até mesmo, alterar o espaço de realização do grafo. Em astronomia, por exemplo,
pode ser mais adequado considerar espaços não euclidianos [51].
8 O 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?

2.2 Encarando o PGD


Considerando a norma euclidiana na definição do PGD e fixando K = 2, obtemos
o seguinte sistema de equações:
q
2 2
(xu1 − xv1 ) + (xu2 − xv2 ) = duv , ∀{u, v} ∈ E, (2.2.2)

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.

2.3 Número de Soluções do PGD


Qual a importância do conhecimento da quantidade de soluções do PGD? É possı́vel
ter essa informação, antes de resolver o problema?
Além da importância teórica, a cardinalidade do conjunto de soluções de uma
instância do PGD pode ajudar na solução do problema e fornecer informações re-
lacionadas à aplicação que originou o PGD. Isso ficará mais claro no Capı́tulo 5.
Pelos dois exercı́cios da seção anterior, vimos que a quantidade de soluções de
um PGD pode ser infinita. Mas isso sempre acontece?
Usando a desigualdade triangular, sabemos que, dados 3 pontos xu , xv , xr em
R2 , por exemplo, a desigualdade abaixo deve ser satisfeita:

duv + dvr ≥ dur ,

onde duv , dvr , dur são as distâncias entre os pontos dados.


Complexidade do PGD 9

Isso significa que, ao acrescentarmos a aresta {u, r} em E (em nosso último


exercı́cio), o problema poderia não ter solução, caso a desigualdade triangular não
fosse satisfeita.
Pode-se verificar facilmente que, com uma dada solução de um PGD, podemos
obter uma quantidade infinita (não enumerável) de realizações válidas distintas
através de rotações e translações. Eliminando, portanto, as soluções obtidas via
rotações e translações, sabemos, até o momento, que o conjunto solução de um
PGD pode ser de três tipos:

• Vazio,

• Finito,

• Infinito não enumerável.

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?

Exercı́cio 2.6. Considerando o problema anterior, quantas soluções existirão, ao


acrescentarmos {u, s} em E, com dus = 2?

No exercı́cio anterior, deu para perceber o “salto” do contı́nuo para o discreto,


sem passar pelo caso “intermediário” (infinito enumerável)?

2.4 Complexidade do PGD


Nesta seção, estamos interessados em saber qual é dificuldade computacional de se
resolver o PGD. Vamos considerar, inicialmente, que o grafo associado é completo.
Considere um PGD com K = 1, V = {u, v, r}, E = {{u, v}, {u, r}, {v, r}},
duv = dvr = 1 e dur = 2. Fixando xu = 0 e xv = 1, temos

||xr − xu || = 2
||xr − xv || = 1,

ou ainda, elevando ao quadrado ambos os termos das igualdades,

x2r − 2xr xu + x2u = 4


x2r − 2xr xv + x2v = 1.

Subtraindo uma equação da outra, obtemos:

−2xr xu + 2xr xv + x2u − x2v = 3 ⇒ 2xr (xv − xu ) = x2v − x2u + 3.

Usando os valores fixados para xu e xv , temos:

2xr = 4 ⇒ xr = 2.
10 O PGD

É claro, poderı́amos ter resolvido o problema simplesmente fazendo um desenho,


mas o interessante desse procedimento é que ele pode ser generalizado para o RK .
No R2 , vejamos o que acontece.
Considere, então, um PGD com K = 2, V = {u, v, r, s} e E = {{u, v}, {u, r},
{u, s}, {v, r}, {v, s}, {r, s}}. Fixando u, v , r, ou seja, determinando xu , xv , xr ∈ R2
de tal modo que ||xu − xv || = duv , ||xu − xr || = dur e ||xv − xr || = dvr , podemos
montar um sistema quadrático para posicionar s, da seguinte forma:

||xs − xu || = dus
||xs − xv || = dvs
||xs − xr || = drs .

Elevando ao quadrado ambos os termos das igualdades,

||xs ||2 − 2(xs · xu ) + ||xu ||2 = d2us


||xs ||2 − 2(xs · xv ) + ||xv ||2 = d2vs
2 2
||xs || − 2(xs · xr ) + ||xr || = d2rs ,

e subtraindo a primeira equação das outras duas, obtemos:

2(xs · xv ) − 2(xs · xu ) = ||xv ||2 − ||xu ||2 + d2us − d2vs


2(xs · xr ) − 2(xs · xu ) = ||xr ||2 − ||xu ||2 + d2us − d2rs .

Para ficar claro quem são as variáveis do problema, podemos reescrever as


equações acima de uma forma ainda melhor:

2(xv − xu ) · xs = ||xv ||2 − ||xu ||2 + d2us − d2vs


2(xr − xu ) · xs = ||xr ||2 − ||xu ||2 + d2us − d2rs .

Ou seja, temos um sistema linear

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

Exercı́cio 2.7. No exemplo anterior, como poderı́amos fixar u, v, r?


Exercı́cio 2.8. No exemplo anterior, que condições sobre os pontos xu , xv , xr po-
demos impor para garantir que o sistema linear associado tenha solução?
Exercı́cio 2.9. No exemplo anterior, se o sistema linear tem solução, pode-se ga-
rantir o mesmo para o sistema quadrático que o originou?
Exercı́cio 2.10. Ainda considerando o exemplo anterior, se nenhuma das outras
possibilidades para a escolha dos três primeiros vértices ({u, v , s}, {u, r, s}, {v , r, s})
produzir uma matriz inversı́vel, significa que o problema não tem solução?
Admitindo que todas as matrizes associadas a um PGD com grafo completo
possam ser invertidas, o problema tem uma única solução que pode ser obtida com
um custo computacional proporcional a |V |. Diz-se, então, que o problema pode
ser resolvido em tempo linear [17].
Bom, mas já sabemos que esse caso não retrata a grande maioria das aplicações,
onde faltam distâncias. Aplicando o procedimento anterior, obterı́amos apenas
uma realização parcial do grafo. Antes de continuar nossa aventura com o PGD,
enunciamos um resultado teórico sobre a Complexidade Computacional do
PGD [63]:
Teorema 2.1. O PGD é um problema NP-completo para K = 1 e NP-difı́cil para
K ≥ 2.
Isso significa, de uma maneira simplificada, que resolver um PGD pode exigir
um elevado custo computacional, proporcional a 2|V | .
Exercı́cio 2.11. Para resolvermos uma instância do PGD em tempo linear, o grafo
associado precisa ser necessariamente completo?
Exercı́cio 2.12. Podemos ter uma única solução, mesmo o grafo não sendo com-
pleto?

2.5 Instâncias do PGD


Para testar qualquer algoritmo para o PGD, até mesmo para analisar a relação
entre a estrutura do grafo e o conjunto solução, é importante ter à disposição um
conjunto de instâncias. Nesta seção, apresentamos uma maneira de gerar instâncias
do PGD para K = 2 e K = 3.
Como esse procedimento foi desenvolvido pensando no PGD associado a proble-
mas de cálculo de estrutura molecular, iniciamos construindo uma estrutura 3D de
uma molécula artificial. Para simplificar (o que não significa, de maneira alguma,
diminuir a complexidade computacional do problema), consideremos uma sequência
de átomos ligados covalentemente, sem nenhuma ramificação. Ou seja, cada átomo
está ligado a apenas dois outros, exceto o primeiro e o último da sequência, que
denotaremos por 1, ..., n.
Para definir uma estrutura espacial de nossa molécula artificial, podemos usar
o sistema de coordenadas cartesianas, x1 , ..., xn ∈ R3 , definindo a posição de cada
átomo, ou o sistema de coordenadas internas [66], dado pelos comprimentos das
ligações covalentes d1,2 , . . . , dn−1,n , pelos ângulos planos θ1,3 , . . . , θn−2,n (formados
por três átomos consecutivos) e pelos ângulos de torção ω1,4 , . . . , ωn−3,n (formados
por quatro átomos consecutivos). Cada ângulo de torção ωi−3,i é, na verdade, o
12 O PGD

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

Figura 2.1: Ângulo de torção ωi−3,i .

ângulo entre os vetores normais dos planos definidos pelos átomos i − 3, i − 2, i − 1


e i − 2, i − 1, i, respectivamente (ver Figura 2.1).
Uma maneira ainda mais fácil de gerar instâncias, também sem reduzir a comple-
xidade do problema, é fixar os comprimentos das ligações covalentes (por exemplo,
di−1,i = 1, 526) e os valores dos ângulos planos (por exemplo, θi−2,i = 1, 91 ra-
dianos). Dessa maneira, a menos de rotações e translações, a estrutura de nossa
molécula artificial ficará determinada pelos valores dos ângulos de torção ω1,4 , . . . , ωn−3,n ,
cada um podendo variar no intervalo [0, 2π].
Para gerar, então, uma instância do PGD com K = 3, podemos escolher aleato-
riamente valores para ωi−3,i ∈ [0, 2π] e, por exemplo, selecionar pares de pontos i, j
cujas distâncias euclidianas di,j sejam menores do que um determinado valor. Para
simular instâncias do PGD associadas ao cálculo de estrutura molecular, podemos
selecionar pares de pontos i, j tais que di,j ≤ 5 [34].
Mas como fazer a seleção dos pares de pontos i, j sem saber o valor das distâncias
di,j ? Para isso, precisamos obter as coordenadas cartesianas a partir das coordena-
das internas, que podem ser obtidas usando as fórmulas seguintes:
   
xi1 0
 xi2   0 
  = B1 B2 · · · Bi   , ∀i = 1, . . . , n,
 xi3   0 
1 1
onde    
1 0 0 0 −1 0 0 −d1,2
 0 1 0 0   0 1 0 0 
B1 =   , B2 =  ,
 0 0 1 0   0 0 −1 0 
0 0 0 1 0 0 0 1
 
− cos θ1,3 − sin θ1,3 0 −d2,3 cos θ1,3
 sin θ1,3 − cos θ1,3 0 d2,3 sin θ1,3 
B3 =  ,
 0 0 1 0 
0 0 0 1
Instâncias do PGD 13

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

Para gerar instâncias com K = 2, fazemos ωi−3,i = 0, ∀i = 4, ..., n, e escolhemos


aleatoriamente valores para di−1,i e θi−2,i .
14 O PGD
Capı́tulo 3

Do Contı́nuo para o Discreto

3.1 Otimização Contı́nua e o PGD


Como vimos no Capı́tulo 2, o PGD pode ser descrito por um sistema quadrático,
mas a maneira clássica de abordar o problema é representá-lo como um problema
de otimização contı́nua [46].
Para entendermos essa abordagem, consideremos um PGD com K = 2, V =
{u, v, s}, E = {{u, v}, {v, s}}, onde o sistema quadrático associado é
2 2
(xu1 − xv1 ) + (xu2 − xv2 ) = d2uv
2 2
(xv1 − xs1 ) + (xv2 − xs2 ) = d2vs ,

que pode ser reescrito como


2 2
(xu1 − xv1 ) + (xu2 − xv2 ) − d2uv = 0
2 2
(xv1 − xs1 ) + (xv2 − xs2 ) − d2vs = 0.

Considerando a função f : R6 → R, definida por


 2
2 2
f (xu1 , xu2 , xv1 , xv2 , xs1 , xs2 ) = (xu1 − xv1 ) + (xu2 − xv2 ) − d2uv
 2
2 2
+ (xv1 − xs1 ) + (xv2 − xs2 ) − d2vs ,

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

Isto é, queremos encontrar o ponto x∗ em R6 que retorna o menor valor de f .

Exercı́cio 3.1. No problema acima, é possı́vel dizer qual é o menor valor de f ? O


resultado vale para qualquer PGD?

Exercı́cio 3.2. Considerando ainda o mesmo problema, qual é a diferença entre


resolver o sistema quadrático
2 2
(xu1 − xv1 ) + (xu2 − xv2 ) − d2uv = 0
2 2
(xv1 − xs1 ) + (xv2 − xs2 ) − d2vs = 0
16 Do Contı́nuo para o Discreto

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 ?

Ou seja, podemos encarar o PGD como um problema de minimização. Apesar


de ser a abordagem clássica para o PGD, a grande dificuldade agora é que a função
a ser minimizada tem vários mı́nimos locais e o que se deseja é encontrar o mı́nimo
global, ou seja, o menor dos mı́nimos locais (Figura 3.1). Para complicar ainda
mais a situação, a quantidade de mı́nimos locais cresce exponencialmente com o
tamanho do problema, dado pela quantidade de vértices do grafo associado [46]. Em
otimização, diferenciar um mı́nimo local de um global é um problema complicado
[21, 50].

Figura 3.1: Mı́nimos locais e globais.

Exercı́cio 3.3. É possı́vel existir mais de um mı́nimo global para o problema de


otimização associado ao PGD?
Exercı́cio 3.4. A quantidade de mı́nimos globais também pode crescer exponenci-
almente com o tamanho do problema?

3.2 Finitude do PGD


Supondo que o conjunto solução de um PGD seja não vazio, já sabemos que ele
é não enumerável ou finito. No caso finito, além de podermos aplicar os métodos
clássicos, podemos explorar a estrutura do grafo que define o problema para pensar
em novos métodos de solução [39].
A primeira questão é: como identificar se o conjunto solução é finito ou não
enumerável? Nesta seção, iremos analisar que condições podem garantir a finitude
do conjunto solução de um PGD.
Consideremos o mesmo problema da Seção 2.4 (K = 2), alterando apenas o
valor de K para 3. Isto é, temos um PGD com K = 3, V = {u, v, r, s} e E =
Finitude do PGD 17

{{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:

||xs − xu ||2 = d2us


2
||xs − xv || = d2vs
||xs − xr ||2 = d2rs .

Fazendo as contas e subtraindo a primeira equação das outras duas, obtemos, no-
vamente:

2(xv − xu ) · xs = ||xv ||2 − ||xu ||2 + d2us − d2vs


2(xr − xu ) · xs = ||xr ||2 − ||xu ||2 + d2us − d2rs .

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

1 ||xv ||2 − ||xu ||2 + d2us − d2vs


      
xv1 − xu1 xv2 − xu2 xv3 − xu3
xs1
+ [xs3 ] = ,
xr1 − xu1 xr2 − xu2 xr3 − xu3
xs2 2 ||xr ||2 − ||xu ||2 + d2us − d2rs
 
xv1 − xu1 xv2 − xu2
e, supondo que a matriz seja inversı́vel, obtemos
xr1 − xu1 xr2 − xu2
−1 
||xv ||2 − ||xu ||2 + d2us − d2vs
   
xs1 1 xv1 − xu1 xv2 − xu2
=
xs2 2 xr1 − xu1 xr2 − xu2 ||xr ||2 − ||xu ||2 + d2us − d2rs
 −1  
xv1 − xu1 xv2 − xu2 xv3 − xu3
− [xs3 ] ,
xr1 − xu1 xr2 − xu2 xr3 − xu3

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

e uma esfera, dada por


||xs − xu || = dus ,
resultando em 3 possibilidades (Figura 3.2):

• Conjunto vazio (a reta não intercepta a esfera),

• Apenas um ponto (a reta é tangente à esfera),

• Dois pontos (a reta é secante à esfera).

Figura 3.2: Interseções entre uma reta e uma esfera.

Exercı́cio 3.5. Algebricamente, qual é o significado das interpretações geométricas


acima?

Exercı́cio 3.6. Mostre a equivalência entre o sistema quadrático original, dado por

||xs − xu ||2 = d2us


2
||xs − xv || = d2vs
||xs − xr ||2 = d2rs ,

e o novo sistema, dado por


    2
xs1 xu1
 xs2  −  xu2  = d2us ,
xs3 xu3

   −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

onde as variáveis são xs1 , xs2 , xs3 ∈ R.

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

||xs − xu ||2 = d2us


||xs − xv ||2 = d2vs
||xs − xr ||2 = d2rs .

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

Exercı́cio 3.9. Em R2 , como ficariam as condições acima?

Exercı́cio 3.10. Na prática, que condição é mais importante?

Exercı́cio 3.11. Tendo mais de 3 arestas na condição 1 acima, como fazer a


escolha?

3.3 Ordens para o PGD


A parte fundamental das duas condições acima é a seguinte: “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”.
Destaquemos as duas informações realmente importantes, relacionadas ao vértice
s ∈ V que deve ser posicionado em R3 :

1. Existem u, v, r ∈ V tais que {{u, s}, {v, s}, {r, s}} ⊂ E,

2. xu , xv , xr ∈ R3 fazem parte de uma realização “parcial” válida.

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

Recordemos que resolver um PGD é obter uma realização válida x : V → R3 do


grafo associado, o que implica, por sua vez, definir um ponto xs ∈ R3 para cada
s ∈ V , satisfazendo todas as equações do sistema

∀{u, v} ∈ E, ||xu − xv || = duv .


Uma solução do problema pode ser representada, então, como um elemento do
R3|V | .
Com essa estrutura de ordem em V , devemos ainda considerar todo o espaço de
busca (R3|V | ) para tentar encontrar uma solução? Antes de considerar essa questão,
de extrema importância, analisemos com mais cuidado a condição 1 acima, supondo
que a condição 2 é sempre satisfeita.
Uma pergunta imediata é a seguinte: como podemos descobrir se tal ordem
existe? Inicialmente, vamos definir precisamente nosso novo problema, Ordenação
no PGD:
Definição 3.1. Dado o grafo G = (V, E, d) de um PGD com K = 3, existe uma
ordem < em V tal que os 3 primeiros vértices formam uma clique e, ∀s ∈ V ,
a partir do quarto elemento, existem u, v, r ∈ V , com u < s, v < s, r < s e
{u, s}, {v, s}, {r, s} ∈ E?
Supondo que a clique inicial seja dada (o que, de fato, acontece na maioria das
aplicações), o problema pode ser resolvido em tempo polinomial, usando a ideia de
posicionar os vértices seguintes considerando o maior número possı́vel de arestas aos
antecessores [35]. Isto é, para a clique dada, pode-se dizer, em tempo polinomial,
se existe ou não tal ordem.
Exercı́cio 3.12. A ordem depende da clique inicial?
Exercı́cio 3.13. Descreva o método de ordenação mencionado acima.
Exercı́cio 3.14. Qual é o custo computacional desse método?
Exercı́cio 3.15. Demonstre que se o método pára sem enumerar todos os vértices,
tal ordem não existe.
Consideremos um PGD com V = {a, b, c, u, v, r} e E = {{a, b}, {a, c}, {a, u},
{b, c}, {b, v}, {c, r}, {u, v}, {u, r}, {v, r}}. Para K = 2, queremos encontrar uma
ordem tal que os dois primeiros vértices formem uma clique e, a partir do ter-
ceiro, existam dois vértices anteriores ligados a ele. Considerando todas as cliques
possı́veis, vejamos o que acontece:

• 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

Figura 3.3: Grafo sem ordenação no PGD.

Ou seja, a existência da ordem que procuramos é uma condição apenas suficiente


para a finitude do PGD. Essa questão está relacionada a uma outra área de pesquisa
chamada Rigidez de Grafos [26].
22 Do Contı́nuo para o Discreto
Capı́tulo 4

O Problema Discretizável de
Geometria de Distâncias
(PDGD3)

4.1 Definição do PDGD3


Usando a informação de ordem nos vértices do grafo de um PGD, temos um
novo problema, que chamaremos de Problema Discretizável de Geometria
de Distâncias. Apesar da definição poder ser estendida para um inteiro positivo
qualquer [46], iremos considerar apenas o caso K = 3, que chamaremos de PDGD3
[55]:

Definição 4.1. Considere o grafo G = (V, E, d) de um PGD com K = 3 e uma


ordem em V , denotada por v1 , ..., vn , tal que

• existe uma realização válida para v1 , v2 , v3 ;

• para todo vi , i = 4, ..., n, existem, pelo menos, 3 vértices anteriores ai , bi , ci


com {{ai , vi }, {bi , vi }, {ci , vi }} ⊂ E tais que

dai bi + dbi ci > dai ci .

Encontre uma função x : V → R3 tal que

∀{vi , vj } ∈ E, k xvi − xvj k= dvi vj .


O PDGD3 , na verdade, é um caso particular do PGD, onde K = 3 e uma ordem
é dada como parte da entrada do problema.

4.2 Encarando o PDGD3


Graças à estrutura de ordem que temos nos vértices do grafo associado ao PDGD3 ,
podemos atacar o problema aproveitando essa informação que, de fato, aparece nas
aplicações [41]. Essencialmente, a ideia é realizar vértice por vértice, seguindo a
ordem dada.
24 O PDGD3

Consideremos um PGD com K = 3, dado pelo grafo G = (V, E):

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

Podemos fazer a ordenação, seguindo o procedimento descrito na Seção 3.3,


resultando no seguinte:
V = {r, q, t, s, v, u, p}.
Com essa ordem, trata-se de um PDGD3 (supondo pesos nas arestas satisfazendo
as respectivas desigualdades triangulares), pois {r, q, t} é uma clique (com uma
realização válida) e

{{r, s}, {q, s}, {t, s}} ⊂ E,


{{r, v}, {q, v}, {t, v}, {s, v}} ⊂ E,
{{q, u}, {t, u}, {v, u}} ⊂ E,
{{r, p}, {q, p}, {s, p}, {v, p}, {u, p}} ⊂ E.

Denotando os vértices ordenados por r = v1 , q = v2 , t = v3 , s = v4 , v = v5 , u = v6 ,


p = v7 , o grafo do nosso PDGD3 é dado por

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

Para facilitar a construção dos sistemas quadráticos, colocamos abaixo os vértices


anteriores para v4 , v5 , v6 , v7 :

{v1 , v4 }, {v2 , v4 }, {v3 , v4 }} ⊂ E,


{{v1 , v5 }, {v2 , v5 }, {v3 , v5 }, {v4 , v5 }} ⊂ E,
{v2 , v6 }, {v3 , v6 }, {v5 , v6 }} ⊂ E,
{{v1 , v7 }, {v2 , v7 }, {v4 , v7 }, {v5 , v7 }, {v6 , v7 }} ⊂ E.

Pelas hipóteses do PDGD3 , v1 , v2 , v3 já estão fixados em R3 . Para fixar v4 ,


temos {{v1 , v4 }, {v2 , v4 }, {v3 , v4 }} ⊂ E e, montando o sistema quadrático associado
com xv4 ∈ R3 como única variável, obtemos:

||xv4 − xv1 ||2 = d2v1 v4


||xv4 − xv2 ||2 = d2v2 v4
||xv4 − xv3 ||2 = d2v3 v4 .
Encarando o PDGD3 25

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 λ:

||xv4 (λ)||2 − 2xv4 (λ) · xv1 + ||xv1 ||2 − d2v1 v4 = 0.

Com os valores de λ, obtemos os possı́veis resultados para xv4 .


Exercı́cio 4.1. Geometricamente, o que significa obter duas raı́zes iguais?
Exercı́cio 4.2. Poderı́amos obter raı́zes complexas?
Para cada posição de v4 (x0v4 e x1v4 ), fazendo o mesmo procedimento acima,
podemos também obter duas posições para v5 . Ou seja, considerando

a5 = v2
b5 = v3
c5 = v4

e escolhendo x0v4 , temos o seguinte sistema quadrático:

||xv5 − xv2 ||2 = d2v2 v5


||xv5 − xv3 ||2 = d2v3 v5
||xv5 − x0v4 ||2 = d2v4 v5 .

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 é,

||x0v5 − xv1 || = dv1 v5 ou ||x1v5 − xv1 || = dv1 v5 ?

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,

||xv6 − xv2 ||2 = d2v2 v6


||xv6 − xv3 ||2 = d2v3 v6
||xv6 − x0v5 ||2 = d2v5 v6 ,

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 ,

temos um novo sistema quadrático,

||xv7 − xv4 ||2 = d2v4 v7


||xv7 − xv5 ||2 = d2v5 v7
||xv7 − x0v6 ||2 = d2v6 v7 ,

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,

||x0v7 − xv1 || = dv1 v7 ou ||x1v7 − xv1 || = dv1 v7

e
||x0v7 − xv2 || = dv2 v7 ou ||x1v7 − xv2 || = dv2 v7 .
Agora, temos duas possibilidades:

• Nenhuma das possı́veis soluções é viável,

• Apenas uma das possı́veis soluções é viável.

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.6. Usando o procedimento acima, o que garante que encontraremos,


de fato, uma solução?

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

4.3 Complexidade do PDGD3


O custo computacional do procedimento acima pode ser elevado (exponencial), como
o exemplo sugere. É possı́vel criarmos um algoritmo polinomial para o PDGD3 ?
Na Seção 2.4, mencionamos que o PGD é um problema NP-difı́cil para K ≥ 2.
Já que o PDGD3 é um subproblema do PGD, com conjunto solução finito, é natural
questionar se houve alguma alteração na complexidade computacional do problema.
Pode ser demonstrado que o PDGD3 ainda continua sendo NP-difı́cil [55].
Recordemos que na ordem associada ao grafo G = (V, E) do PDGD3 , para
todo vi ∈ V , i = 4, . . . , n, existem, pelo menos, 3 vértices anteriores ai , bi , ci com
{{ai , vi }, {bi , vi }, {ci , vi }} ⊂ E. Vimos no exemplo anterior que, dependendo da
instância do PDGD3 , podemos ter mais de 3 vértices. Supondo que ai , bi , ci e o
vértice adicional gerem pontos não coplanares e que o sistema quadrático associado
tenha solução, teremos apenas uma solução, o que diminui o custo computacional
do procedimento [11].
No exemplo acima, caso {v1 , v6 } ∈ E ou {v4 , v6 } ∈ E, não terı́amos mais
de uma opção para v6 e a solução seria encontrada rapidamente, sem a necessi-
dade de “retornos”. Generalizando esse fato, podemos dizer que, se para todo
vi ∈ V , i = 5, . . . , n, existirem, pelo menos, 4 vértices anteriores ai , bi , ci , di com
{{ai , vi }, {bi , vi }, {ci , vi }, {di , vi }} ⊂ E, supondo que {ai , bi , ci , di } não sejam copla-
nares, o PDGD3 poderia ser resolvido em tempo linear!
Podemos interpretar os “3 vértices anteriores” como um “ponto crı́tico”: eles
garantem a finitude (de forma suficiente, mas não necessária), no “limite” de atingir
a polinomialidade, obtida com 4 vértices anteriores. Será coincidência o fato da
dimensão do espaço de realização do grafo ser também 3?
Exercı́cio 4.8. O que quer dizer a afirmação acima: “eles garantem a finitude (de
forma suficiente, mas não necessária)”?
Exercı́cio 4.9. Se temos um PDGD3 com conjunto solução não vazio, onde ∀vi ∈
V , i = 5, . . . , n, existem (pelo menos) 4 vértices anteriores ai , bi , ci , di com {{ai ,
vi }, {bi , vi }, {ci , vi }, {di , vi }} ⊂ E e {ai , bi , ci , di } não coplanares, podemos afirmar
que a solução é única?

4.4 O Algoritmo BP para o PDGD3


A ordem do PDGD3 garante a finitude do conjunto solução do problema (supondo
que as respectivas desigualdades triangulares são satisfeitas de forma estrita) e, além
disso, “organiza” o espaço onde devemos fazer a busca por uma solução. Apesar do
espaço de busca continuar sendo contı́nuo (R3n , com n vértices), a ordem indica
o caminho que deve ser percorrido para encontrar uma solução do problema, como
vimos na seção anterior.
Na verdade, a ordem induz uma estrutura de árvore binária no espaço de busca
(Figura 4.1), onde a raiz representa o ponto xv1 e os dois nós seguintes representam
os pontos xv2 e xv3 , inicialmente fixados. A partir do quarto nı́vel da árvore, temos
as representações de todas as possı́veis posições para os vértices vi , i = 4, ..., n. Ou
seja, 2 possibilidades para v4 , 4 para v5 , 8 para v6 , 16 para v7 , . . . , 2i−3 para vi , . . . ,
e 2n−3 para vn .
Como pode ser percebido pelo exemplo anterior, decidimos fazer uma “busca
pela esquerda”, ou seja, quando não temos arestas adicionais, optamos por escolher
a solução x0vi do sistema quadrático associado. Outras opções podem ser definidas
28 O PDGD3

x v1

xv2
x v3
x0v4 x1v4

v5

v6
v7

Figura 4.1: Árvore binária.

[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

é o conjunto das arestas de poda.


As arestas de discretização “moldam” o espaço de busca como uma árvore binária
e as arestas de poda “indicam” o caminho que deve ser percorrido, ao reduzir o
espaço de busca.
Para encontrar uma solução, devemos tentar descer pela árvore, da raiz até o
último nı́vel, passando por todos os testes de viabilidade. Chegando no último
nı́vel, a solução é dada pelo caminho percorrido entre o primeiro e o último nı́vel
da árvore, considerando apenas os nós viáveis.
Vimos que, em alguns casos, temos que retroceder na árvore para refazer o
caminho. Esses retrocessos é que podem aumentar (exponencialmente) o custo
computacional da busca. Podemos descer pela árvore, sem nenhum retorno, em
dois casos extremos:

• Ep = ∅,

• ∀vi , i = 5, . . . , n, existem exatamente 4 vértices que geram pontos (não copla-


nares) anteriores a vi , ai , bi , ci , di , com {{ai , vi }, {bi , vi }, {ci , vi }, {di , vi }} ⊂ E.
O Algoritmo BP para o PDGD3 29

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

||xvi − xai ||2 = d2ai vi


||xvi − xbi ||2 = d2bi vi
||xvi − xci ||2 = d2ci vi ,

pois não há nenhum teste de viabilidade a ser feito.


No segundo caso, basta resolver os sistemas quadráticos

||xvi − xai ||2 = d2ai vi


||xvi − xbi ||2 = d2bi vi
||xvi − xci ||2 = d2ci vi
||xvi − xdi ||2 = d2di vi ,

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:

||xvi − xai ||2 = d2ai vi


||xvi − xbi ||2 = d2bi vi
||xvi − xci ||2 = d2ci vi .

Geometricamente, resolver esse sistema é obter a interseção de 3 esferas (Figura


4.2), S(xai , dai vi ), S(xbi , dbi vi ), S(xci , dci vi ), centradas em xai , xbi , xci ∈ R3 e com
raios dai vi , dbi vi , dci vi ∈ (0, ∞), dada por

D = S(xai , dai vi ) ∩ S(xbi , dbi vi ) ∩ S(xci , dci vi ).

Pela desigualdade triangular estrita do PDGD3 , os pontos ai , bi , ci não são coli-


neares e, portanto, temos apenas 3 possibilidades:

• |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

Figura 4.2: Interseção de três esferas.

onde pode acontecer que x0vi = x1vi .


Quando E p 6= ∅, temos esferas adicionais (Figura 4.3) que devem ser acrescen-
tadas à interseção anterior. Ou seja, devemos fazer
 
|E p |
P = D ∩ ∩ S(xpi , dpi vi ) ,
i=1

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

Figura 4.3: Interseção de quatro esferas.

Com as esferas adicionais, temos apenas duas possibilidades:


• |P | = 0,
• |P | = 1.
O Algoritmo BP para o PDGD3 31

No primeiro caso, houve alguma inviabilidade, e no segundo, temos o ponto que


satisfaz todas as distâncias dadas aos pontos anteriores já posicionados.
Essa interpretação geométrica nos faz pensar em outras alternativas de como
encarar os dois subproblemas fundamentais envolvidos na resolução do PDGD3
[2, 3, 23, 24, 58].
O algoritmo para encontrar uma solução do PDGD3 é chamado de Branch and
Prune [45], ou simplesmente BP.
Exercı́cio 4.10. Descreva os passos mais importantes do BP.
Exercı́cio 4.11. Explique melhor a frase “quando os pontos xai , xbi , xci , xvi forem
coplanares”, que aparece no caso |D| = 1.
Exercı́cio 4.12. Quando E p = ∅, é possı́vel saber quantas soluções tem o pro-
blema?
Exercı́cio 4.13. O BP pode encontrar todas as soluções de um PDGD3 ?
32 O PDGD3
Capı́tulo 5

O Problema Discretizável de
Geometria de Distâncias
Moleculares (PDGDM)

5.1 As Hipóteses do PDGD3


Já sabemos que, para garantir a finitude do conjunto solução do PGD, podemos
introduzir uma estrutura de ordem nos vértices do grafo associado. Se tal ordem
existe, vimos também que não é difı́cil encontrá-la. Vejamos agora, com mais cui-
dado, a estrutura dessa ordem.
Supondo que o problema de encontrar a clique inicial {v1 , v2 , v3 } esteja resolvido,
o PDGD3 assume que, para todo vi , i = 4, . . . , n, existem (pelo menos) 3 vértices
anteriores ai , bi , ci , com {{ai , vi }, {bi , vi }, {ci , vi }} ⊂ E, tais que

dai bi + dbi ci > dai ci .

Admitindo que a informação sobre as distâncias não contém nenhum tipo de


erro [7], as desigualdades triangulares são satisfeitas, mas não necessariamente de
maneira estrita. Mas a questão não é o fato de exigirmos <, no lugar de ≤ (já
sabemos que a desigualdade estrita é necessária para evitar uma quantidade não
enumerável de soluções). O problema é que, dependendo da instância do PDGD3 ,
pode faltar alguma distância envolvendo os vértices ai , bi , ci fazendo com que o
sistema quadrático

||xvi − xai ||2 = d2ai vi


||xvi − xbi ||2 = d2bi vi
||xvi − xci ||2 = d2ci vi

não tenha solução em R3 .


Uma saı́da seria, então, exigir que, para todo vi , i = 4, . . . , n, as três distâncias
entre os vértices ai , bi , ci sejam conhecidas, o que aconteceu no problema da Seção
4.2, mas não foi exigido na definição do PDGD3 [55]. Além disso, podemos assumir
também que os vértices ai , bi , ci sejam imediatamente anteriores a vi , o que pode,
de fato, acontecer em várias aplicações [40].
34 O PDGDM

Exercı́cio 5.1. Geometricamente, o que significa o sistema quadrático acima não


ter solução.
Exercı́cio 5.2. O fato dos vértices ai , bi , ci formarem uma clique garante que a
desigualdade triangular seja satisfeita?

5.2 Definição do PDGDM


Agora, estamos interessados em encontrar uma ordem onde os vértices utilizados
na construção de cada sistema quadrático formem uma clique e sejam imediata-
mente anteriores ao vértice que se deseja realizar. Considerando o mesmo PGD da
Seção 4.2, existe uma ordem com tais caracterı́sticas? Tente encontrá-la, antes de
prosseguir.
Voltemos, então, ao nosso problema: um PGD com K = 3, onde o grafo associ-
ado G = (V, E) é
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}}.
Considere uma nova ordenação, dada por
V = {p, u, v, q, t, r, s}.
Para facilitar, denotemos p = u1 , u = u2 , v = u3 , q = u4 , t = u5 , r = u6 e s = u7
(usamos ui , no lugar de vi , para enfatizar que estamos utilizando uma ordem dife-
rente da anterior). Podemos verificar que essa ordem tem as propriedades desejadas,
pois além da clique inicial {u1 , u2 , u3 }, temos também as seguintes cliques:
{u1 , u2 , u3 , u4 },
{u2 , u3 , u4 , u5 },
{u3 , u4 , u5 , u6 },
{u4 , u5 , u6 , u7 }.
Para acompanharmos melhor o “andamento” do BP, destacamos:
{{u1 , u4 }, {u2 , u4 }, {u3 , u4 }} ⊂ E,
{{u2 , u5 }, {u3 , u5 }, {u4 , u5 }} ⊂ E,
{{u1 , u6 }, {u3 , u6 }, {u4 , u6 }, {u5 , u6 }} ⊂ E,
{{u1 , u7 }, {u3 , u7 }, {u4 , u7 }, {u5 , u7 }, {u6 , u7 }} ⊂ E.
Para fixar u4 , montamos o sistema quadrático associado, com xu4 ∈ R3 como
única variável:
||xu4 − xu1 ||2 = d2u1 u4
||xu4 − xu2 ||2 = d2u2 u4
||xu4 − xu3 ||2 = d2u3 u4 .
Definição do PDGDM 35

Escolhemos uma das duas possibilidades para posicionar u4 (digamos x0u4 ) e obtemos
o sistema quadrático seguinte para posicionar u5 :

||xu5 − xu2 ||2 = d2u2 u5


||xu5 − xu3 ||2 = d2u3 u5
||xu5 − x0u4 ||2 = d2u4 u5 .

Novamente, escolhemos uma das duas possibilidades para posicionar u5 (digamos


x0u5 ) e obtemos um novo sistema quadrático:

||xu6 − xu3 ||2 = d2u3 u6


||xu6 − xu4 ||2 = d2u4 u6
||xu6 − x0u5 ||2 = d2u5 u6 .

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 é,

||x0u6 − xu1 || = du1 u6 ou ||x1u6 − xu1 || = du1 u6 ?

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:

||xu6 − xu3 ||2 = d2u3 u6


||xu6 − xu4 ||2 = d2u4 u6
||xu6 − x1u5 ||2 = d2u5 u6 .

Utilizamos novamente {u1 , u6 } ∈ E para testar cada uma das novas possı́veis
posições obtidas para u6 (yu0 6 e yu1 6 ). Isto é,

||yu0 6 − xu1 || = du1 u6 ou ||yu1 6 − xu1 || = du1 u6 ?

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 é

||xu7 − xu4 ||2 = d2u4 u7


||xu7 − xu5 ||2 = d2u5 u7
||xu7 − yu0 6 ||2 = d2u6 u7 .

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:

||x0u7 − xu1 || = du1 u7 ou ||x1u7 − xu1 || = du1 u7

e
||x0u7 − xu3 || = du3 u7 ou ||x1u7 − xu3 || = du3 u7 .
36 O PDGDM

Fazendo o mesmo procedimento realizado com a ordem anterior, vamos supor


que x1u7 seja o ponto selecionado. Portanto, chegamos à solução do problema:
xu1 , xu2 , xu3 , x0u4 , x1u5 , yu0 6 , x1u7 .
Até o momento, não foi possı́vel perceber qualquer vantagem dessa nova ordem,
além do fato de garantir que os sistemas quadráticos tenham solução. Entretanto,
com as cliques {vi−3 , vi−2 , vi−1 , vi }, para todo i = 4, . . . , n, podemos substituir a
resolução dos sistemas quadráticos por algo bem mais simples e mais estável nume-
ricamente. Antes de prosseguirmos, formalizemos a definição do novo problema:
Problema Discretizável de Geometria de Distâncias Moleculares (PDGDM):

Definição 5.1. Considere o grafo G = (V, E, d) de um PGD com K = 3 e uma


ordem em V , denotada por v1 , . . . , vn , tal que

• existe uma realização válida para v1 , v2 , v3 ;


• para todo vi , i = 4, . . . , n, existem, pelo menos, 3 vértices imediatamente
anteriores vi−3 , vi−2 , vi−1 , onde {vi−3 , vi−2 , vi−1 , vi } é uma clique e

dvi−3 vi−2 + dvi−2 vi−1 > dvi−3 vi−1 .

Encontre uma função x : V → R3 tal que

∀{vi , vj } ∈ E, k xvi − xvj k= dvi vj . (5.2.1)


Complexidade do PDGDM 37

5.3 Complexidade do PDGDM


O fato de existirem cliques {vi−3 , vi−2 , vi−1 , vi }, ∀i = 4, . . . , n, nos dá ainda mais
informação sobre a ordem dos vértices do grafo associado ao PGD. Usando as in-
formações de distâncias das cliques {vi−3 , vi−2 , vi−1 , vi }, podemos definir “quase”
todos os valores abaixo:

• d1,2 , . . . , dn−1,n : distâncias associadas a vértices consecutivos,


• θ1,3 , . . . , θn−2,n : ângulos planos associados a três vértices consecutivos,
• ω1,4 , . . . , ωn−3,n : ângulos de torção associados a quatro vértices consecutivos.

Exercı́cio 5.3. Qual a razão do “quase” acima?


Lembramos que o ângulo de torção ωi−3,i é o ângulo entre os vetores normais
dos planos associados aos vértices vi−3 , vi−2 , vi−1 e vi−2 , vi−1 , vi , respectivamente.
Os valores d1,2 , . . . , dn−1,n são, obviamente, obtidos pela própria definição do
PDGDM, e os valores θ1,3 , . . . , θn−2,n são obtidos pela Lei dos Cossenos. Entre-
tando, com as informações do PDGDM, podemos obter apenas os valores dos cos-
senos dos ângulos de torção, dados por (∀i = 4, . . . , n) [37]:

2d2i−2,i−1 d2i−3,i−2 + d2i−2,i − d2i−3,i − (di−3,i−2,i−1 ) (di−2,i−1,i )
cos(ωi−3,i ) = q q ,
4d2i−3,i−2 d2i−2,i−1 − (d2i−3,i−2,i−1 ) 4d2i−2,i−1 d2i−2,i − (d2i−2,i−1,i )

onde

di−3,i−2,i−1 = d2i−3,i−2 + d2i−2,i−1 − d2i−3,i−1 ,


di−2,i−1,i = d2i−2,i−1 + d2i−2,i − d2i−1,i .

Na verdade, com a estrutura de ordem do PDGDM, podemos imaginar que


temos uma “molécula artificial” (Figura 5.1), o que explica também o termo extra
“moleculares” na nova classe de problemas.
v5

v1 v8
v3
v4
v11
v7 v9
v2 v6
v13

v14
v10
v12

Figura 5.1: Molécula artificial do PDGDM.

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

5.4 Simetrias do PDGDM


Vimos que a ordem do PDGDM permite visualizar o problema como uma “molécula
artificial” e, usando coordenadas internas e as informações de distâncias das cliques
{vi−3 , vi−2 , vi−1 , vi }, i = 4, ..., n, podemos também previamente calcular os dois
valores possı́veis para todos os ângulos de torção ωi−3,i .
Existe uma outra propriedade, ainda mais interessante, relacionada à simetria
das soluções do problema. Esse é o tema da última seção do texto.
Em nosso problema teste (Seção 4.2), percebemos que as duas posições para
v4 (x0v4 e x1v4 ) podem ser consideradas, já que não há arestas adicionais para po-
der inviabilizar uma delas. Isso implica que, para qualquer solução encontrada na
subárvore esquerda, tendo o nó x0v4 como raiz, existe uma outra simétrica em relação
ao plano definido por xv1 , xv2 , xv3 [38]. Note aqui a relação existente entre finitude
do conjunto solução, desigualdade triangular estrita e simetrias.
Uma consequência imediata desse fato é que o conjunto solução tem uma quan-
tidade par de soluções. Entretanto, desde os primeiros resultados computacionais
obtidos para o PDGDM [45], a quantidade de soluções era sempre potência de
dois. Apenas recentemente, usando Teoria de Grupos, conseguimos apresentar uma
demonstração matemática para esse fato [49].
Podemos dar uma ideia da importância desse resultado, considerando o seguinte
conjunto:
S = {v ∈ V : @{u, w} ∈ E tal que u + 3 < v ≤ w}.
Para simplificar a notação, denotamos por u + 3, o terceiro vértice depois de u,
e por u − 3, o terceiro vértice anterior a u.
Simetrias do PDGDM 39

Inicialmente, vamos identificar quem são os elementos de S. O primeiro can-


didato é v4 , que estará em S se não existir nenhuma aresta {u, w} ∈ E tal que
u + 3 < v4 ≤ w. Se existir algum u ∈ V com tal caracterı́stica, teremos u < v4 − 3,
o que é impossı́vel, pois v4 − 3 = v1 , que é o primeiro elemento de V . Ou seja,
v4 ∈ S, para qualquer PDGDM.
Vejamos o que acontece com v5 (supondo que o PDGDM tenha solução):

• Suponha que exista {u, v5 } ∈ E, tal que u < v5 − 3. Temos que v5 ∈ / S


e {v1 , v5 } ∈ E, o que implica que apenas uma das possibilidades para v5 é
viável: ou x0v5 ou x1v5 .

• Supondo que não exista {u, v5 } ∈ E, para u < v5 − 3, temos que considerar 2
casos:

– Se não existe {u, w} ∈ E, tal que u + 3 < v5 < w, então v5 ∈ S.


– Se existe {u, w} ∈ E, tal que u + 3 < v5 < w, então v5 ∈
/ S.

Como o procedimento acima pode ser generalizado, podemos obter o conjunto


S usando apenas os dados do PDGDM, ou seja, antes mesmo de aplicar o BP. Mas
qual é a importância desse conjunto?
O conjunto S identifica outros planos de simetria, próprios de cada PDGDM
(como vimos acima, o plano associado aos vértices {v1 , v2 , v3 } define um plano de
simetria válido para qualquer PDGDM).
Por exemplo, v5 ∈ S implica que as duas posições para v5 são viáveis, x0v5 e x1v5 .
Ao mesmo tempo, como estamos admitindo que o PDGDM tem solução, x0v5 e x1v5
fazem parte de soluções do problema, pois não há aresta adicional para tornar tais
posições inviáveis.
Considerando nosso problema teste, voltando a usar a notação vi , temos (K =
3):

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

xv1 , xv2 , xv3 , x1v4 , x0v5 , yv16 , x0v7 .

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

Figura 5.2: Solução obtida pelo BP.

Nesse caso, temos um outro plano simétrico, definido por {v4 , v5 , v6 }.


Vamos facilitar as coisas, representando a primeira solução por uma sequência
de zeros e uns e denotando as três primeiras posições por 0, 0, 0, ou seja,

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

Figura 5.3: Soluções simétricas.

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

• Podemos saber, a priori, apenas usando os dados de qualquer PDGDM, qual


é a cardinalidade do conjunto solução do problema, dada por 2|S| .
• Para encontrar todas as soluções de um PDGDM, basta usar o BP para encon-
trar uma única solução, pois todas as outras podem ser obtidas pelas simetrias
do PDGDM.

Exercı́cio 5.7. Qual a importância computacional de se saber, a priori, a quanti-


dade de soluções de um PDGDM?
Exercı́cio 5.8. Como o custo computacional associado ao uso das propriedades de
simetria para obter soluções de um PDGDM é polinomial, como fica a complexidade
do PDGDM?
42 O PDGDM
Capı́tulo 6

Geometria de Distâncias e
Geometria Molecular

6.1 O PDGDM e Estruturas de Proteı́nas


Atualmente, a aplicação de maior destaque da GD está relacionada à Geometria
Molecular, de forma mais especı́fica, ao problema de determinar estruturas tridi-
mensionais de moléculas de proteı́nas, utilizando dados de ressonância magnética
nuclear, que abreviaremos por RMN [68, 69]. Vale mencionar que o Prêmio Nobel
de Quı́mica, de 2002, foi outorgado ao quı́mico Kurt Wüthrich pelo desenvolvimento
de aplicações de RMN à determinação de estruturas de proteı́nas. Juntamente com
as informações da geometria das proteı́nas, os dados de RMN fornecem distâncias
entre átomos próximos e o problema é como utilizar essa informação para determi-
nar a posição de cada átomo da molécula de proteı́na (Figura 6.1). Ou seja, um
problema de GD!

Figura 6.1: Máquina de RMN.

Mas qual é a importância da estrutura 3D de uma molécula? Essa estrutura está


intimamente relacionada as suas propriedades fı́sico-quı́micas. Ou seja, conhecer
a estrutura tridimensional ajuda a entender a função da molécula. Um exemplo
clássico que ilustra bem esse fato é a descoberta da estrutura 3D do DNA [67].
Em 1953, o fı́sico Maurice Wilkins e a quı́mica Rosalind Franklin usaram a di-
fração de raios X (outra técnica para a determinação de estrutura de proteı́nas [9])
para “fotografar” o DNA. O problema era formular um modelo tridimensional para
44 GD e Geometria Molecular

a molécula de DNA que se enquadrasse nos resultados da difração de raios X e ex-


plicasse algumas propriedades quı́micas já conhecidas. No mesmo ano, o bioquı́mico
James Watson e o biofı́sico Francis Crick propuseram um modelo tridimensional – a
famosa hélice dupla – que explicava todos os dados disponı́veis sobre o DNA. O mo-
delo imediatamente sugeriu o mecanismo de transmissão da informação genética (a
caracterı́stica essencial do modelo é a complementaridade das duas fitas retorcidas
de DNA). Watson e Crick perceberam, antes da existência de dados que compro-
vassem o modelo, que a estrutura proposta poderia ser replicada pela separação das
duas fitas e pela sı́ntese de uma fita complementar para cada uma. Em 1958, o
biólogo molecular Matthew Meselson e o geneticista Franklin Stahl demonstraram
experimentalmente o modelo de replicação do DNA de Watson e Crick. Com o mo-
delo e sua comprovação experimental, inaugurou-se uma revolução na compreensão
do processo de hereditariedade. Pela descoberta da estrutura tridimensional da
molécula de DNA, James Watson divide o Prêmio Nobel de Medicina com Francis
Crick e Maurice Wilkins, em 1962.
Os genes de um organismo vivo (presentes no DNA) são, indiretamente, os
responsáveis pelas caracterı́sticas fı́sicas desse organismo, mas as proteı́nas corres-
pondentes é que determinam, de fato, essas caracterı́sticas. No interior da célula, o
DNA de um gene é transcrito para o RNA mensageiro e essa mensagem é então tra-
duzida para formar a sequência de aminoácidos que dará origem a uma molécula de
proteı́na (Figura 6.2). O processo de transcrição e tradução já é bem compreendido
[64]. Entretanto, ainda há muito o que descobrir sobre o mecanismo de formação
da molécula de proteı́na, a partir da seqüência de aminoácidos fornecida pelo RNA
mensageiro. Este processo é chamado de enovelamento da proteı́na e o problema
associado é conhecido por “Protein Folding Problem” [15].

Figura 6.2: DNA e proteı́na.

Bom, já convencidos de que determinar a estrutura 3D de uma proteı́na é um


problema importante, vejamos sua relação com o PDGDM.
Em 1984 e 1985 [29, 30], Havel e Wüthrich escreveram dois artigos mostrando
como a GD pode ser utilizada no cálculo de estrutura de proteı́nas usando dados de
RMN. Mas como dissemos na Introdução, apenas em 1988, com o lançamento do
livro “Distance Geometry and Molecular Conformation” [13], Crippen e Havel esta-
belecem os fundamentos da conexão entre os dois temas de pesquisa. O algoritmo
proposto, chamado EMBED, utiliza métodos de álgebra linear e de otimização para
tentar resolver o PGD associado.
Nossa proposta é considerar o problema como um PDGDM. Para isso, é ne-
cessário definir uma ordem entre os átomos da proteı́na que induza uma ordem nos
Ordens nas Proteı́nas 45

vértices do grafo do PDGDM correspondente, dada por v1 , ..., vn . Ou seja, deve


existir uma realização válida para v1 , v2 , v3 e, para todo vi , i = 4, ..., n, devem
existir 3 vértices imediatamente anteriores vi−3 , vi−2 , vi−1 , de tal maneira que os
vértices {vi−3 , vi−2 , vi−1 , vi } formem uma clique e
dvi−3 vi−2 + dvi−2 vi−1 > dvi−3 vi−1 .
Esse é o tema da próxima seção.

6.2 Ordens nas Proteı́nas


Dissemos acima que, juntamente com as informações da geometria das proteı́nas,
os dados de RMN fornecem distâncias entre átomos próximos e o problema é como
utilizar essa informação para determinar a posição de cada átomo da molécula de
proteı́na.
Os dados de RMN estão relacionados a átomos próximos, cerca de 5 angstroms
(Å), e a informação sobre a geometria das proteı́nas nos diz que, ao tentarmos de-
terminar a estrutura 3D de uma dada proteı́na, as distâncias entre átomos ligados
covalentemente e os ângulos planos definidos por três átomos ligados consecutiva-
mente são conhecidos, a priori. É claro, a proteı́na não é uma estrutura rı́gida, mas
esses valores podem ser considerados fixos [32, 22].
Isso sugere uma ordem natural entre os átomos da cadeia principal da proteı́na,
formada por uma sequência de 3 átomos que se repetem: N, Cα , C (Figura 6.3).
A cadeia principal é o “esqueleto” da proteı́na, o que já nos dá uma boa idéia de
sua estrutura tridimensional. Nesse texto, iremos nos restringir, essencialmente, à
cadeia principal. Em [12, 62], temos propostas para considerar também as cadeias
laterais (Figura 6.3), que fazem a distinção entre os 20 tipos de aminoácidos que
formam as proteı́nas [16].

Figura 6.3: Cadeia principal e cadeias laterais de uma proteı́na.

Como as distâncias entre os átomos i e i + 3, na cadeia principal, são menores


do que 5Å(em geral), podemos supor que elas são detectadas pelos experimentos
de RMN, o que nos daria a ordem procurada. Entretanto, na maior parte dos
experimentos, os dados de RMN estão associados a pares de átomos de hidrogênio
[68]. Uma saı́da, seria definir uma ordem envolvendo apenas átomos de hidrogênio.
Mas que ordem considerar, já que a ordem “natural” entre os hidrogênios não
satisfaz as condições do PDGDM? Uma possibilidade é incorporar átomos de hi-
drogênio das cadeias laterais e, além disso, permitir repetições na ordem (Figura
6.4).
Quimicamente, não faz sentido considerar dois átomos na mesma posição, mas
podemos fazer isso na ordem dos vértices do grafo associado (a representação de
46 GD 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].

Figura 6.4: Ordem entre átomos de hidrogênio.

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?

Supondo que, aplicando o algoritmo BP, encontremos a posição dos átomos de


hidrogênio ligados à cadeia principal, como determinar a posição dos átomos dessa
cadeia, que é o que nos interessa? No Capı́tulo 4, vimos que a interseção de 4
esferas, sob certas condições, resulta em apenas 1 ponto. Deixamos a resposta para
os dois próximos exercı́cios.

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.

Figura 6.5: Determinando a cadeia principal, usando as posições dos átomos de


hidrogênio.

Exercı́cio 6.4. Mostre que, para cada sistema, existe uma única solução.

Até o momento, mencionamos três aspectos importantes do problema que esta-


mos tentando resolver:

1. Distâncias conhecidas apenas entre átomos próximos,

2. Distâncias conhecidas apenas entre átomos de hidrogênio,


O BP com Custo Polinomial 47

3. Necessidade de resolver dois subproblemas: cálculo da posição dos átomos de


hidrogênio e dos átomos da cadeia principal.
Na verdade, existe um outro problema, ainda mais complicado, que ainda não
temos uma resposta definitiva. Para também deixá-lo destacado, enunciamos a
seguir:
• As distâncias provenientes dos dados de RMN, entre átomos de hidrogênio
próximos, não são valores precisos.
Essa informação torna o problema muito mais complicado! Alguns resultados
preliminares podem ser encontrados em [40, 54]. Lembramos que todos os resultados
que apresentamos nesse texto são baseados no fato de que as distâncias envolvidas
são números reais, livres de qualquer erro.
Entretanto, sabemos que qualquer medição experimental está sujeita a erros.
Ou seja, podemos ter um valor di,j que não corresponde à distância correta entre
os átomos i e j. Numa abordagem inicial, podemos considerar, então, que os dados
provenientes dos experimentos de RMN são intervalos de números reais que contêm
a distância correta. Mesmo com essa hipótese, que ainda é uma aproximação da
realidade, o problema não é trivial.
A boa notı́cia é que esse novo problema nos deu uma ideia para resolver o
problema 3 acima. Podemos inventar uma nova ordem, com duas caracterı́sticas
principais:
• Consideramos, ao mesmo tempo, átomos de hidrogênio e átomos da cadeia
principal;
• Na clique {vi−3 , vi−2 , vi−1 , vi } do grafo do PDGDM associado, para i =
4, ..., n, todas as distâncias di−1,i e di−2,i são números reais e apenas as
distâncias di−3,i podem ser “intervalares”.
Exercı́cio 6.5. Baseado na Figura 6.6, verifique que as distâncias di−1,i e di−2,i
são números reais.
Exercı́cio 6.6. Baseado na Figura 6.6, verifique que as distâncias di−3,i podem ser
intervalos degenerados.

Figura 6.6: Ordem envolvendo átomos de hidrogênio e a cadeia principal.

Exercı́cio 6.7. Como ficaria a árvore de busca do BP, considerando as distâncias


di−3,i intervalares?
Exercı́cio 6.8. Que modificações são necessárias no BP para considerar distâncias
intervalares?
48 GD e Geometria Molecular

6.3 O BP com Custo Polinomial


Já sabemos que, se numa dada instância do PDGDM, para todo i = 5, . . . , n, existir
uma aresta adicional {vj , vi } ∈ E com j < i − 3, de tal maneira que o conjunto
{vj , vi−3 , vi−2 , vi−1 } gere um conjunto de pontos não-coplanares, haverá uma única
realização do grafo associado determinada em tempo linear, ou seja, com um custo
computacional proporcional a n.
Em problemas relacionados ao cálculo de estrutura de proteı́nas, considerando
distâncias exatas, verificamos que, em várias instâncias, o desempenho do BP é
polinomial [47]. Em parte, isso pode ser explicado pelo fato da cadeia principal de
muitas proteı́nas estar enovelada (Figura 6.2). Quanto mais esticada, menor será a
cardinalidade do conjunto das arestas de poda, fazendo com que a árvore do BP se
ramifique cada vez mais.
Para se ter uma ideia do “comportamento global” do algoritmo, precisamos
pensar na árvore do BP como um todo e não como ela é parcialmente construı́da
em cada passo do algoritmo.
Quando o conjunto das arestas de poda é vazio, Ep = ∅, a árvore é cheia,
representando todo o espaço de busca. Não há dificuldade em encontrar uma solução
(em tempo linear), pois basta descer pela árvore, escolhendo qualquer uma das duas
possibilidades, em cada passo do BP. Como Ep = ∅, não há como errar na hora de
fazer escolhas. Claro, é impensável encontrar todas as soluções para n grande, já
que o conjunto solução tem cardinalidade 2n−3 (Figura 6.7).

Figura 6.7: Árvore do BP com EP = ∅.

Supondo a situação descrita no primeiro parágrafo desta seção, ou seja, para


todo i = 5, ..., n, existe uma aresta {vj , vi } ∈ Ep com j < i − 3, temos solução
única, encontrada em tempo linear. Nesse caso, sabemos qual é a decisão correta a
ser tomada em cada passo do algoritmo (Figura 6.8).
O que aumenta o custo computacional do BP são os retrocessos necessários
quando nenhuma das duas posições calculadas, para um dado vértice v, é com-
patı́vel com as arestas {u, v} ∈ Ep , para u < v − 3. Isto é, em algum momento,
ou melhor, em algum nı́vel anterior da árvore, foi tomada uma decisão equivocada.
Isso acontece, precisamente, quando a situação do parágrafo anterior não é aten-
dida. Como essa questão é a causa do retrocesso, merece destaque. Ou seja, a
razão matemática para que o BP seja obrigado a fazer retornos na árvore de busca,
impedindo que ele “desça livremente”, é a seguinte:
O BP com Custo Polinomial 49

Figura 6.8: Solução única, encontrada em tempo linear.

• Existe (pelo menos) um vértice vj na ordem dada do PDGDM, v1 , ..., vj , ..., vn ,


cujos únicos vértices anteriores u, tais que {u, vj } ∈ E, são aqueles utilizados
na construção da árvore: vj−3 , vj−2 , vj−1 .

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:

• Se na ordem v1 , ..., vn do PDGDM existe um conjunto de vértices consecutivos


vj , ..., vj+k , com k ≥ 4, onde a única aresta {u, v} ∈ Ep é dada por u = vj e
v = vj+k , então, na subárvore com raiz em qualquer nó viável do nı́vel j até
o nı́vel j + k, existe apenas uma única solução (parcial) do problema.

O próximo exercı́cio, o último de nossa pequena aventura pelo mundo da Geo-


metria de Distâncias, é “diferente” de todos os outros.
Exercı́cio 6.9. Como esse resultado pode ser utilizado para quantificar o (possı́vel)
erro cometido no nı́vel j, notado apenas no nı́vel j + k?
A eficiência do BP, quando aplicado em problemas de cálculo de estrutura de
proteı́nas, está relacionada a dois fatores (supondo distâncias precisas):

• Existem poucos vértices sem informação de poda, onde acontece a duplicação


de nós;
• Quando isso acontece, digamos, no vértice vj , o intervalo onde a situação se
mantém, entre vj e vj+k , é curto. Ou seja, o valor de k é pequeno.

Antes da conclusão propriamente dita, mencionamos que o custo computacional


do BP pode ser reduzido, essencialmente, de duas maneiras:
50 GD e Geometria Molecular

• Usando técnicas de paralelização do algoritmo [25, 57],


• Por meio do conceito de múltiplas árvores [20, 60].
Capı́tulo 7

Conclusão

Chegamos ao final, mas na verdade, gostarı́amos que seja apenas o inı́cio de um


estudo mais aprofundado em Geometria de Distâncias.
Nosso intuito foi apresentar a Geometria de Distâncias como base para trabalhos
de pesquisa ou material de ensino, onde a ideia principal foi mostrar que o mundo
da Matemática se torna ainda mais apaixonante quando fazemos a integração entre
vários conceitos, motivados por um problema real e desafiador. Ou seja, a mistura
é a regra, e não a exceção.
Várias estruturas fundamentais da Matemática, como linguagem, foram consi-
deradas, onde destacamos:
• A necessidade de uma boa definição para tornar uma ideia precisa,
• A compreensão da importância da escolha das hipóteses que devem ser in-
cluı́das em um resultado matemático,
• A análise das consequências de um teorema.
Explorando o assunto, vários temas de diferentes ramos da Matemática e da
Computação (incluindo Geometria, Álgebra, Combinatória, Estrutura de Dados e
Complexidade de Algoritmos) foram apresentados, tais como: dimensão, métrica,
simetria, grafo, aproximação numérica, solubilidade de problemas e custo compu-
tacional.
Um tópico fundamental, principalmente nas aplicações, que foi apenas levemente
considerado no Capı́tulo 6 está relacionado à incerteza. Esse capı́tulo é diferente
dos demais, pois foi dedicado à Geometria Molecular, considerada de grande desta-
que na Geometria de Distâncias. Nele, procuramos empregar (às vezes, de maneira
implı́cita) os conceitos e resultados apresentados em capı́tulos anteriores, bem como
sensibilizar o leitor de que resolver um problema complexo requer disposição e de-
dicação para entender as “sutilezas” das relações existentes entre a Matemática e
o mundo real. Como mencionamos, é uma das áreas atuais de pesquisa em que
estamos trabalhando e necessitando de colaboradores, principalmente no que diz
respeito ao tratamento das incertezas envolvidas.
Como pudemos perceber, o tema é bastante rico, envolvendo questões teóricas
e computacionais, bem como diversas aplicações. Para prosseguir, além das várias
referências bibliográficas citadas, mencionamos também a preparação de um novo
livro, em inglês, onde generalizamos os conceitos e resultados aqui apresentados,
bem como consideramos outros tópicos mais avançados.
Até o próximo encontro!

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.

[3] ANDRIONI, A. A clifford algebra approach to the discretizable molecular dis-


tance geometry problem. In: ANDRIONI, A. et al. (Ed.). Proceedings of the
Workshop on Distance Geometry and Applications. Universidade Federal do Ama-
zonas, Manaus: [s.n.], 2013. p. 71–75.

[4] ANDRIONI, A. et al. Proceedings of the Workshop on Distance Geometry and


Applications. Manaus: Universidade Federal do Amazonas, 2013.

[5] BAJAJ, C. The algebraic degree of geometric optimization problems. Discrete


and Computational Geometry, v. 3, p. 177–191, 1988.

[6] BENEDETTI, R.; RISLER, J.-J. Real Algebraic and Semi-algebraic Sets. Paris:
Hermann, 1990.

[7] BERGER, B.; KLEINBERG, J.; LEIGHTON, T. Reconstructing a three-


dimensional model with arbitrary errors. Journal of the ACM, v. 46, p. 212–235,
1999.

[8] BLUMENTHAL, L. Theory and Applications of Distance Geometry. Oxford:


Oxford University Press, 1953.

[9] BRÜNGER, A.; NILGES, M. Computational challenges for macromolecular


structure determination by x-ray crystallography and solution nmr-spectroscopy.
Quarterly Reviews of Biophysics, v. 66, p. 49–125, 1993.

[10] CASSIOLI, A. et al. Discretization vertex orders in distance geometry. IBM


Research Report RC25434, 2013.

[11] COOPE, I. Reliable computation of the points of intersection of n spheres in Rn .


Australian and New Zealand Industrial and Applied Mathematics Journal, v. 42,
p. C461–C477, 2000.

[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

[13] CRIPPEN, G. M.; HAVEL, T. F. Distance geometry and molecular conforma-


tion. [S.l.]: Research Studies Press Taunton, UK, 1988.

[14] DEZA, M. M.; DEZA, E. Encyclopedia of distances. [S.l.]: Springer, 2009.

[15] DILL, K. A.; MACCALLUM, J. L. The protein-folding problem, 50 years on.


Science, American Association for the Advancement of Science, v. 338, n. 6110, p.
1042–1046, 2012.

[16] DONALD, B. R. Algorithms in structural molecular biology. [S.l.]: The MIT


Press, 2011.

[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.

[18] DZEMYDA, G.; KURASOVA, O.; ŽILINSKAS, J. Multidimensional Data Vi-


sualization: Methods and Applications. [S.l.]: Springer, 2013.

[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.

[20] FIDALGO, F.; RODRIGUEZ, J. Quaternions as a tool for merging multiple


realization trees. In: ANDRIONI, A. et al. (Ed.). Proceedings of the Workshop on
Distance Geometry and Applications. Universidade Federal do Amazonas, Manaus:
[s.n.], 2013. p. 119–124.

[21] FLOUDAS, C. A.; GOUNARIS, C. E. A review of recent advances in global


optimization. Journal of Global Optimization, Kluwer Academic Publishers, v. 45,
n. 1, p. 3–38, 2009.

[22] GIBSON, K. D.; SCHERAGA, H. A. Energy minimization of rigid-geometry


polypeptides with exactly closed disulfide loops. Journal of Computational Che-
mistry, Wiley Online Library, v. 18, n. 3, p. 403–415, 1997.

[23] GONÇALVES, D. S.; MUCHERINO, A. Discretization orders and efficient


computation of cartesian coordinates for distance geometry. Optimization Letters,
Springer, a ser publicado.

[24] GRAMACHO, W. et al. A new algorithm to finding discretizable orderings for


distance geometry. In: ANDRIONI, A. et al. (Ed.). Proceedings of the Workshop on
Distance Geometry and Applications. Universidade Federal do Amazonas, Manaus:
[s.n.], 2013. p. 149–152.

[25] GRAMACHO, W. et al. A parallel bp algorithm for the discretizable distance


geometry problem. In: Proceedings of the IEEE Workshop on Parallel Computing
and Optimization. Shangai: [s.n.], 2012. p. 1756–1762.

[26] GRAVER, J. E.; SERVATIUS, B.; SERVATIUS, H. Combinatorial rigidity.


[S.l.]: American Mathematical Soc., 1993.

[27] GROVER, L. K. Quantum mechanics helps in searching for a needle in a hays-


tack. Physical Review Letters, APS, v. 79, n. 2, p. 325–328, 1997.

[28] HARARY, F. Graph theory. 1994. [S.l.]: Addison-Wesley, Reading, MA.


O BP com Custo Polinomial 55

[29] HAVEL, T.; WÜTHRICH, K. A distance geometry program for determining


the structures of small proteins and other macromolecules from nuclear magnetic
resonance measurements of intramolecular 1 H−1 H proximities in solution. Bulletin
of Mathematical Biology, Elsevier, v. 46, n. 4, p. 673–698, 1984.
[30] HAVEL, T. F.; WÜTHRICH, K. An evaluation of the combined use of nu-
clear magnetic resonance and distance geometry for the determination of protein
conformations in solution. Journal of Molecular Biology, Elsevier, v. 182, n. 2, p.
281–294, 1985.
[31] HUNT, K. Structural kinematics of in-parallel-actuated robot-arms. Journal of
Mechanical Design, American Society of Mechanical Engineers, v. 105, n. 4, p.
705–712, 1983.
[32] JACKSON, B.; JORDÁN, T. On the rigidity of molecular graphs. Combinato-
rica, Springer, v. 28, n. 6, p. 645–658, 2008.
[33] JUHÁS, P. et al. Ab initio determination of solid-state nanostructure. Nature,
v. 440, n. 7084, p. 655–658, 2006.
[34] LAVOR, C. On generating instances for the molecular distance geometry pro-
blem. In: Global Optimization: From Theory to Implementation. [S.l.]: Springer,
2006. p. 405–414.
[35] LAVOR, C. et al. Discretization orders for distance geometry problems. Opti-
mization Letters, Springer, v. 6, n. 4, p. 783–796, 2012.
[36] LAVOR, C.; LIBERTI, L.; MACULAN, N. Grover’s algorithm applied to the
molecular distance geometry problem. In: Proceedings of the 7th Brazilian Con-
gress of Neural Networks. Natal: [s.n.], 2005.
[37] LAVOR, C.; LIBERTI, L.; MACULAN, N. A note on a “branch-and-prune”
algorithm for the molecular distance geometry problem. International Transactions
in Operational Research, Wiley Online Library, v. 18, n. 6, p. 751–752, 2011.
[38] LAVOR, C. et al. The discretizable molecular distance geometry problem. Com-
putational Optimization and Applications, Springer, v. 52, n. 1, p. 115–146, 2012.
[39] LAVOR, C. et al. Recent advances on the discretizable molecular distance geo-
metry problem. European Journal of Operational Research, Elsevier, v. 219, n. 3,
p. 698–706, 2012.
[40] LAVOR, C.; LIBERTI, L.; MUCHERINO, A. The interval branch-and-prune
algorithm for the discretizable molecular distance geometry problem with inexact
distances. Journal of Global Optimization, Springer, v. 56, n. 3, p. 855–871, 2013.
[41] LAVOR, C. et al. On the computation of protein backbones by using artificial
backbones of hydrogens. Journal of Global Optimization, Springer, v. 50, n. 2, p.
329–344, 2011.
[42] LEE, J. A.; VERLEYSEN, M. Nonlinear dimensionality reduction. [S.l.]: Sprin-
ger, 2010.
[43] LIBERTI, L.; LAVOR, C. On a relationship between graph realizability and
distance matrix completion. In: Optimization Theory, Decision Making, and Ope-
rations Research Applications. [S.l.]: Springer, 2013. p. 39–48.
56 GD e Geometria Molecular

[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.

[45] LIBERTI, L.; LAVOR, C.; MACULAN, N. A branch-and-prune algorithm for


the molecular distance geometry problem. International Transactions in Operati-
onal Research, Wiley Online Library, v. 15, n. 1, p. 1–17, 2008.

[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.

[48] LIBERTI, L. et al. Molecular distance geometry methods: from continuous


to discrete. International Transactions in Operational Research, Wiley Online Li-
brary, v. 18, n. 1, p. 33–51, 2010.

[49] LIBERTI, L. et al. On the number of realizations of certain henneberg graphs


arising in protein conformation. Discrete Applied Mathematics, Elsevier, v. 165, p.
213–232, 2014.

[50] LIMA, R. S.; MARTÍNEZ, J. Solving molecular distance geometry problems


using a continuous optimization approach. In: Distance Geometry: Theory,
Methods and Applications. [S.l.]: Springer, 2013. p. 213–224.

[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.

[52] MAYER-SCHÖNBERGER, V.; CUKIER, K. Big data: A revolution that will


transform how we live, work, and think. [S.l.]: Houghton Mifflin Harcourt, 2013.

[53] MENGER, K. Untersuchungen über allgemeine metrik. Mathematische Anna-


len, Springer, v. 100, n. 1, p. 75–163, 1928.

[54] MUCHERINO, A. On the identification of discretization orders for distance


geometry with intervals. In: Geometric Science of Information. [S.l.]: Springer,
2013. p. 231–238.

[55] MUCHERINO, A.; LAVOR, C.; LIBERTI, L. The discretizable distance geo-
metry problem. Optimization Letters, Springer, v. 6, n. 8, p. 1671–1686, 2012.

[56] MUCHERINO, A.; LAVOR, C.; LIBERTI, L. Exploiting symmetry properties


of the discretizable molecular distance geometry problem. Journal of Bioinforma-
tics and Computational Biology, World Scientific, v. 10, n. 03, 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.

[58] MUCHERINO, A. et al. Distance geometry: theory, methods, and applications.


[S.l.]: Springer, 2013.
O BP com Custo Polinomial 57

[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.

[64] SCHLICK, T. Molecular Modeling and Simulation: An Interdisciplinary Guide.


[S.l.]: Springer, 2002.
[65] SYLVESTER, J. J. Chemistry and algebra. Nature, v. 17, p. 284, 1877.

[66] THOMPSON, H. B. Calculation of cartesian coordinates and their derivati-


ves from internal molecular coordinates. The Journal of Chemical Physics, AIP
Publishing, v. 47, n. 9, p. 3407–3410, 1967.
[67] WATSON, J. D.; CRICK, F. H. Molecular structure of nucleic acids. Nature,
v. 171, n. 4356, p. 737–738, 1953.

[68] WÜTHRICH, K. Protein structure determination in solution by nuclear mag-


netic resonance spectroscopy. Science, v. 243, n. 4887, p. 45–50, 1989.
[69] WÜTHRICH, K. The way to nmr structures of proteins. Nature Structural &
Molecular Biology, Nature, v. 8, n. 11, p. 923–925, 2001.

[70] YEMINI, Y. The positioning problem - a draft of an intermediate summary. In:


Proceedings of the Conference on Distributed Sensor Networks. [S.l.: s.n.], 1978.
p. 137–145.

Você também pode gostar