Algoritmos e complexidade Notas de aula - Arquivo Escolar

Algoritmos e complexidade Notas de aula - Arquivo Escolar Algoritmos e complexidade Notas de aula - Arquivo Escolar

arquivoescolar.org
from arquivoescolar.org More from this publisher
13.04.2013 Views

1. Introdução e conceitos básicos (Os dados correspondem ao consenso científico no momento; obviamente novos descobrimentos podem os mudar Wilkinson Microwave Anisotropy Probe [71], Lloyd [50]) Métodos para resolver um sistema de equações lineares Como resolver um sistema quadrático de equações lineares a11x1 + a12x2 + · · · + a1nxn = b1 a21x1 + a22x2 + · · · + a2nxn = b2 · · · an1x1 + an2x2 + · · · + annxn = bn ou Ax = b? Podemos calcular a inversa da matriz A para chegar em x = bA −1 . O método de Cramer nos fornece as equações xi = det(Ai) det(A) seja Ai a matriz resultante da substituição de b pela i-gésima coluna de A. (A prova dessa fato é bastante simples. Seja Ui a matriz identidade com a i-gésima coluna substituído por x: é simples verificar que AUi = Ai. Com det(Ui) = xi e det(A) det(Ui) = det(Ai) temos o resultado.) Portanto, se o trabalho de calcular o determinante de uma matriz de tamanho n × n é Tn, essa abordagem custa (n + 1)Tn. Um método direto usa a fórmula de Leibniz det(A) = σ∈Sn sgn(σ) 1≤i≤n a i,σ(i) Isso precisa n! adições (A) e n!n multiplicações (M), com custo total (n + 1)(n!A + n!nM) ≥ n!(A + M) ≈ √ 2πn(n/e) n (A + M), um número formidável! Mas talvez a fórmula de Leibniz não é o melhor jeito de calcular o determinante! Vamos tentar a fórmula de expansão de Laplace det(A) = (−1) i+j aij det(Aij) 1≤i≤n (sendo Aij a matriz A sem linha a i e sem a coluna j). O trabalho Tn nesse caso é dado pelo recorrência 12 Tn = n(A + M + Tn−1); T1 = 1 .

cuja solução é Tn = n! 1 + (A + M) 1≤i

1. Introdução e conceitos básicos<br />

(Os dados correspon<strong>de</strong>m ao consenso científico no momento; obviamente novos<br />

<strong>de</strong>scobrimentos po<strong>de</strong>m os mudar Wilkinson Microwave Anisotropy Probe [71],<br />

Lloyd [50])<br />

Métodos para resolver um sistema <strong>de</strong> equações lineares Como resolver um<br />

sistema quadrático <strong>de</strong> equações lineares<br />

a11x1 + a12x2 + · · · + a1nxn = b1<br />

a21x1 + a22x2 + · · · + a2nxn = b2<br />

· · ·<br />

an1x1 + an2x2 + · · · + annxn = bn<br />

ou Ax = b? Po<strong>de</strong>mos calcular a inversa da matriz A para chegar em x = bA −1 .<br />

O método <strong>de</strong> Cramer nos fornece as equações<br />

xi = <strong>de</strong>t(Ai)<br />

<strong>de</strong>t(A)<br />

seja Ai a matriz resultante da substituição <strong>de</strong> b pela i-gésima coluna <strong>de</strong> A.<br />

(A prova <strong>de</strong>ssa fato é bastante simples. Seja Ui a matriz i<strong>de</strong>ntida<strong>de</strong> com a<br />

i-gésima coluna substituído por x: é simples verificar que AUi = Ai. Com<br />

<strong>de</strong>t(Ui) = xi e <strong>de</strong>t(A) <strong>de</strong>t(Ui) = <strong>de</strong>t(Ai) temos o resultado.) Portanto, se o<br />

trabalho <strong>de</strong> calcular o <strong>de</strong>terminante <strong>de</strong> uma matriz <strong>de</strong> tamanho n × n é Tn,<br />

essa abordagem custa (n + 1)Tn. Um método direto usa a fórmula <strong>de</strong> Leibniz<br />

<strong>de</strong>t(A) = <br />

σ∈Sn<br />

<br />

sgn(σ) <br />

1≤i≤n<br />

a i,σ(i)<br />

Isso precisa n! adições (A) e n!n multiplicações (M), com custo total<br />

(n + 1)(n!A + n!nM) ≥ n!(A + M) ≈ √ 2πn(n/e) n (A + M),<br />

um número formidável! Mas talvez a fórmula <strong>de</strong> Leibniz não é o melhor jeito<br />

<strong>de</strong> calcular o <strong>de</strong>terminante! Vamos tentar a fórmula <strong>de</strong> expansão <strong>de</strong> Laplace<br />

<strong>de</strong>t(A) = <br />

(−1) i+j aij <strong>de</strong>t(Aij)<br />

1≤i≤n<br />

(sendo Aij a matriz A sem linha a i e sem a coluna j). O trabalho Tn nesse<br />

caso é dado pelo recorrência<br />

12<br />

Tn = n(A + M + Tn−1); T1 = 1<br />

<br />

.

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

Saved successfully!

Ooh no, something went wrong!