13.04.2013 Views

Algoritmos e complexidade Notas de aula - Arquivo Escolar

Algoritmos e complexidade Notas de aula - Arquivo Escolar

Algoritmos e complexidade Notas de aula - Arquivo Escolar

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6. Divisão e conquista<br />

e possui solução T (n) = O(n 3 ), que <strong>de</strong>monstra que essa abordagem não é<br />

melhor que algoritmo simples. Strassen inventou as equações<br />

M1 = (A11 + A22)(B11 + B22)<br />

M2 = (A21 + A22)B11<br />

M3 = A11(B12 − B22)<br />

M4 = A22(B21 − B11)<br />

M5 = (A11 + A12)B22<br />

M6 = (A21 − A11)(B11 + B12)<br />

M7 = (A12 − A22)(B21 + B22)<br />

C11 = M1 + M4 − M5 + M7<br />

C12 = M3 + M5<br />

C21 = M2 + M4<br />

C22 = M1 − M2 + M3 + M6<br />

(cuja verificação é simples). Essas equações contém somente sete multiplicações<br />

<strong>de</strong> matrizes <strong>de</strong> tamanho n/2, que leva à recorrência<br />

T (n) = 7T (n/2) + O(1)<br />

para o número <strong>de</strong> multiplicações, cuja solução é T (n) = O(n log 2 7 ) = O(n 2.81 ).<br />

6.3.2. Menor distância<br />

Dado pontos p1, . . . , pn, pi no plano<br />

uma abordagem direta <strong>de</strong> encontrar<br />

o par <strong>de</strong> menor distância euclidiana<br />

possui <strong>complexida<strong>de</strong></strong> Θ(n 2 ). Usando<br />

divisão e conquista um algoritmo <strong>de</strong><br />

<strong>complexida<strong>de</strong></strong> O(n log n) é possível.<br />

A i<strong>de</strong>ía é or<strong>de</strong>nar os pontos por uma<br />

coor<strong>de</strong>nada, dividir em dois subconjuntos<br />

iguais, buscar o par <strong>de</strong> menor<br />

distância em cada subconjunto e juntar<br />

os resultados. O candidato para<br />

o par <strong>de</strong> menor distância e o par <strong>de</strong><br />

menor distância δ dos dois subconjuntos.<br />

A combinação dos resultados<br />

é o parte mais difícil <strong>de</strong>ste algoritmo,<br />

porque temos que tratar o caso que<br />

142<br />

δ

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!