• Nenhum resultado encontrado

p x e p y, que apresentam alista de pontos

N/A
N/A
Protected

Academic year: 2022

Share "p x e p y, que apresentam alista de pontos "

Copied!
2
0
0

Texto

(1)

Departamento de Ciênia daComputação IME/USP

SegundoSemestrede 2007

Algoritmo deShamos

Deve-seaShamosoalgoritmodedivisãoeonquistavistonaaula2para,dadaumaoleçãode

n

pontosno

plano,determinarumpardepontosmaispróximosdaoleção. Apartemaisdeliadadessealgoritmoéprovar

queeleestáorreto. Porque essealgoritmo de fato devolve um parde pontos maispróximos?

Oalgoritmoonsidera uma linha divisóriavertial

quedeixametade dos pontos daoleçãoà esquerdae

metadeàdireita. Aidéiadoalgoritmoéalularumpardepontosnametadeesquerdaomaispróximopossível,

umparde pontosnametade direita omaispróximopossível,enalmente,seneessário, umparde pontoso

maispróximopossívelomumpontoemumametade eooutronaoutra.

A divisãoda oleção de pontos nasduas metades, que hamaremos de metade esquerda e metade direita,

é feita pela rotina DIVIDE. A rotina usa para tanto dois vetores,

p x

e

p y

, que apresentam alista de pontos

ordenada um pela oordenada

x

e outro pela oordenada

y

. Veja o ódigo da rotina nas transparêniasda aula2. Oque arotina DIVIDE devolve efetivamente são doispares de vetores,

(p l x , p l y )

e

(p r x , p r y )

, que ontém

a lista dos

⌊ n/2 ⌋

ou

⌈ n/2 ⌉

pontos da metade esquerda e da metade direita, ordenados pela oordenada

x

e

pelaoordenada

y

respetivamente. ÉfáilverquearotinaDIVIDEfunionaorretamente,desdequenãohaja pontosomoordenadas

x

oinidentes,ouomoordenadas

y

oinidentes.

Aobtençãodeumpardepontosmaispróximosnametadeesquerdaenametadedireitaéfeitareursivamente,

eportantofunionaorretamenteporumargumentoindutivo.

A parte deliada é anal, em que se determina,se neessário, um parde pontos o maispróximopossível

om um ponto em uma metade e o outro na outra. Essa é a prinipal tarefa da rotina COMBINA. Seja

δ

o

mínimo entre adistânia dosdoispares depontos obtidosreursivamente. Apergunta aserrespondida para

garantirqueoalgoritmodefatodáarespontaorretaé: porquearotinaCOMBINAdeterminaseexisteumpar

depontos,adaumdeumladodalinha

,aumadistâniamenorque

δ

e,emasoarmativo,enontraumtal

pardepontosassim,àdistâniamínima?

Paraefetuaressatarefa,éfáilverqueCOMBINApreisaapenasolharparaospontosqueestãoaumadistânia

não maisque

δ

da linha

. A primeiraetapadeCOMBINAéexatamenteseleionartaispontos. Issoéfeitonas

linhas 36. Fixe a atenção em um dos pontos seleionados,digamos, o ponto

p

. Considere agura abaixo.

Nagura,adaumdosquadradosestátotalmenteontidoem umadasduasmetades. Ademais,adaumdos

quadradostemlado

δ/2

. Comoadiagonaldeumtalquadradomede

δ/ √

2 < δ

,nãopodehaverdoispontosda

oleçãoem um mesmoquadrado destes. (Outais pontos estariam em uma mesmametade e estariama uma

distânia menor que

δ

, uma ontradição àdenição de

δ

.) Como a linha horizontal do meio dagura passa

exatamente peloponto

p

,qualquerponto seleionado queestejaauma distâniamenorque

δ

de

p

deveestar

numdosquadradosdagura. Ouseja,hánomáximo14pontosseleionadosquepodemestaraumadistânia

menorque

δ

de

p

. Destesnomáximo14,nãomaisqueseteestãoaimade

p

.

PSfragreplaements

δ ℓ

p

AsegundaetapadeCOMBINAonsisteemperorrerospontosseleionadosalulandoadistâniaentreada

umdeleseos(nomáximo)setepontosseleionadosseguintesemordemdaoordenada

y

. Observequeaseleção

dospontos, feitanas linhas36 darotina COMBINA, jáosmantém ordenadospela oordenada

y

. Apenas um

ponto dentreessessetepontos têmhane deestaramenos doque

δ

dopontoem questãoenaoutra metade

emrelaçãoaoponto. Detodasasdistâniasaluladas,arotinaCOMBINAmantémamenor,desdequeelaseja

menorque

δ

,eumdos paresqueatingiu essemínimo. Aonal, arotinadevolveouessepar, ouumdosdois

paresobtidosreursivamente,aquelequeforomaispróximodestestrês.

(2)

1). Ajusteoalgoritmodadonastransparêniasdaaula2paraquefunionemesmoqueaoleçãodepontos

dadainluapontosomoordenadas

x

ou

y

oinidentes.

2). Reneoalgoritmoeoargumentoquegarantequeelefunionaparaque,narotinaCOMBINA,adaponto

dafaixaentralsejaomparadoommenosquesetepontos.

[Notequeparaaordemdeomplexidadedoalgoritmotantofazseparaada

m ∈ M

alulamos7,6ou100000 distâniasoalgoritmoontinuatendoomplexidadedetempo

O ( n log n )

.℄

3). [CLRS33.4-1℄O Prof. MaquiSperto teveuma idéia genial eveio omum novoesquema para queo

algoritmoenontreoparmais-próximoveriando, nasua faseCombinar,somenteadistânia entre

adaponto

m ∈ M

eos

5

pontosqueestãoaseguirde

m

em

M

. Aidéiaésempreoloarospontosda

reta

l

noonjunto

E

daesquerda. Então,nãopoderáhaverumpardepontosoinidentessobreareta

l

omumpontoem

E

eoutropontoem

D

. Portanto,nomáximo6pontospodemestarnaretâgulode

dimensões

δ × 2δ

. Ondeestáabobagemnoesquema propostopelo professorSperto.

4). [CLRS33.4-2℄Semaumentaraomplexidadedetempoassintótiadoalgoritmo,mostreomogarantir

queoonjuntodepontospassadosparaaprimeirahamadareursivadoalgoritmonãoontenhapontos

oinidentes. Provequeentãoésuiente queoalgoritmoveriqueos6(e não 7)pontosqueseguem

adapontoem

M

. Porquenãoésuienteveriarsomente5pontos? Ouésuiente?

5). ConsidereafaseCombinardoalgoritmodedivisão-e-onquistaparaoProblemadoParMais-Próximo,

vistoemsaladeaula. ModiquearotinaCOMBINAparaquesejaaluladaadistâniaentreadaponto

eapenaspontosdooutroladodapartiçãofeitaemDIVIDE. Mostreque,nestafase,paraadapontona

esquerda,ésuienteoalgoritmoalularadistâniaentredeleomnomáximo6pontosnadireira.

6). Paraamodiaçãopropostanoexeríioanterior,voêonseguemostrarumexemploondeérealmente

neessárioalularmosadistânia entre adaponto e6pontos

d 1 , . . . , d 6

dooutroladodapartição?

(Ouseja,oseuexemplodevemostrarumponto

e

daesquerda,digamos,epontos

d 1 , . . . , d 6

dadireita

naproximidadedoponto

e

detalformaqueseoalgoritmoalulaadistâniaentre

e

eapenasadaum

dospontos

d 1 , . . . , d 5

entãooalgoritmonãodevolveoparmais-próximo(queporazaréopar

{ e, d 6 }

.)

Se voê não onseguir enontrar um tal exemplo, então tente mostrar que é suiente o algoritmo

alularadistâniaentreadapontodeumladoemenosdoque6pontosdooutrolado.

7). [CLRS33.4-3℄AdistâniaentredoispontospodeserdenidadediversasmaneirasalémdaEulidiana.

No plano, a

L m

-distânia entre dois pontos

p = (p x , p y )

e

q = (q x , q y )

é dada por

( | p x − q x | m +

| p y − q y | m ) 1 /m

. Portanto, adistânia Eulidiana éa

L 2

-distânia. Modique oalgoritmodedivisão-

e-onquista para o Problema do Par Mais Próximo de tal forma que ele devolva o par de pontos

mais-próximoemrelaçãoa

L 1

-distânia(tambémonheidaomoManhattandistane).

8). [CLRS33.4-4℄Dadosdoispontos

p

e

q

noplano,a

L ∞

-distâniaentreelesédadapor

max {| p x − q x | , | p y − q y |}

. Modiqueo algoritmopara oparmais próximo paraque ele enontre um parmais-próximo de aordooma

L

-distânia.

Observação: Sempre quedesreverumamodiaçãodeumalgoritmodado,exibaoresultadodamodiação

Referências

Documentos relacionados

Note on the occurrence of the crebeater seal, Lobodon carcinophagus (Hombron &amp; Jacquinot, 1842) (Mammalia: Pinnipedia), in Rio de Janeiro State, Brazil.. On May 12, 2003,

Entre os objetivos da pesquisa encontram-se: a análise da representação do autismo na série ​Atypical a partir dos conceitos de identidade e diferença, estereótipos e estigmas,

Conclui-se que o teor de prolina varia entre as cultivares de mandioca, sendo maior nas cultivares Platina’ e ‘Caravela’, seguidas por ‘BRS Kiriris’, ‘BRS Verdinha’,

A partir de programas escritos nessa linguagem, específicos para este trabalho, foram realizados os cruzamen- tos dos diferentes planos de informações considerados neste

Após a implantação consistente da metodologia inicial do TPM que consiste em eliminar a condição básica dos equipamentos, a empresa conseguiu construir de forma

Declaro meu voto contrário ao Parecer referente à Base Nacional Comum Curricular (BNCC) apresentado pelos Conselheiros Relatores da Comissão Bicameral da BNCC,

Entre as atividades, parte dos alunos é também conduzida a concertos entoados pela Orquestra Sinfônica de Santo André e OSESP (Orquestra Sinfônica do Estado de São

Esse conhecimento superior, da consciência, é sabedoria pura e não pode ser patrimônio de nenhuma civilização ou doutrina específica, é de todos e de ninguém