07.05.2013 Views

Cap´ıtulo 2 Divisibilidad en Z - IMERL

Cap´ıtulo 2 Divisibilidad en Z - IMERL

Cap´ıtulo 2 Divisibilidad en Z - IMERL

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

2.2. ALGORITMO DE EUCLIDES. TEOREMA DE LAMÉ 31<br />

2.2.1. Teorema de Lamé<br />

Examinamos el algoritmo de Euclides sobre una <strong>en</strong>trada (a, b) tomando nota de<br />

coci<strong>en</strong>tes y de restos. Si r0 = a y r1 = b, se ti<strong>en</strong>e:<br />

r0 = q1r1 + r2<br />

r1 = q2r2 + r3<br />

. (2.1)<br />

rn−2 = qn−1rn−1 + rn<br />

rn−1 = qnrn<br />

Hemos probado con anterioridad que rn = mcd(a, b). Notemos, por otro lado, que<br />

el último coci<strong>en</strong>te, qn es mayor o igual que 2 (salvo que n = 1).<br />

D<strong>en</strong>otemos por E(a, b) el número de divisiones que realiza el algoritmo de Euclides<br />

si el input es (a, b). El objetivo es probar una bu<strong>en</strong>a cota superior para E(a, b).<br />

Sea Fn el n–ésimo número de Fibonacci que, recordemos, está definido por F0 = 0,<br />

F1 = 1 y Fn = Fn−1 + Fn−2 si n ≥ 2.<br />

Lema 2.11 Sean a y b <strong>en</strong>teros tales que a > b > 0 y supongamos que E(a, b) = n.<br />

Entonces, a ≥ Fn+2 y b ≥ Fn+1<br />

Demostración.– Utilizaremos la notación de 2.1 y probaremos que r0 ≥ Fn+2 y<br />

r1 ≥ Fn+1 por inducción <strong>en</strong> n.<br />

El <strong>en</strong>unciado es cierto para n = 1. En este caso, el algoritmo de Euclides consta<br />

de una única división, r0 = q0r1 y puesto que r0 > r1, los m<strong>en</strong>ores <strong>en</strong>teros que lo<br />

verifican son r1 = 1 = F2 y r0 = 2 = F3.<br />

Supongamos ahora que el <strong>en</strong>unciado es cierto para i < n; queremos probarlo para n.<br />

El primer paso del algoritmo de Euclides es r0 = q0r1 +r2 y sabemos que E(r1, r2) =<br />

n − 1. Por lo tanto, r1 ≥ Fn+1 y r2 ≥ Fn. Por lo tanto, r0 ≥ r1 + r2 ≥ Fn+2.<br />

A partir del Lema anterior y utilizando que<br />

donde α = 1+√ 5<br />

2<br />

y β = 1−√ 5<br />

2 , se ti<strong>en</strong>e<br />

Fn = αn − βn √ ,<br />

5<br />

Corolario 2.12 Si a > b > 0, E(a, b) < c1 log(u) + c2 − 2 + c3u −1 , donde c1 =<br />

1<br />

log α = 2,08, c2 = log √ 5<br />

log α = 1,67 y c3<br />

1 = √ = 0,93. (log logaritmo natural). Si<br />

5 log α<br />

se escribe la cota anterior <strong>en</strong> términos de la talla binaria de a (es decir, log2 a) se<br />

obti<strong>en</strong>e, redondeando, que<br />

E(a, b) ≤ 1,90 log 2 a − 0,33

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

Saved successfully!

Ooh no, something went wrong!