Multiplicacion Rusa en C y Demostracion Por Induccion

4

Transcript of Multiplicacion Rusa en C y Demostracion Por Induccion

Page 1: Multiplicacion Rusa en C y Demostracion Por Induccion

Universidad de Santiago de Chile

Facultad de Ciencia

Departamento de Matemática y Ciencia de la Computación

Ingeniería Matemática.

Segundo Laboratorio de Aplicaciones a la

Computación

Alumno: Diego Carvajal

Profesor: Mario Fernández

Ayudante: Pascale Cuevas.

Santiago, Octubre del 2013

Page 2: Multiplicacion Rusa en C y Demostracion Por Induccion

Multiplicación Rusa

Algoritmo recursivo utilizado

A continuación se puede observar el algoritmo creado con el programa Dev c++, el cualsimula la Multiplicación Rusa enseñada en clases.

int a, b, n;int L,L3;double S = 0, p;cout<< ” A × B = C ” <<endl;cout<< ”Coloque un valor para A” <<endl;cin>> a;cout<< ”Coloque un valor para B” <<endl;cin>> b;for(int i = 0; i< n; i++){

p = pow(2, i);L = a/p;if(L÷2 !=0 ){L3 = b ∗ p;S = S + L3;if(L == 1){cout<< ”El resultado de la multiplicación es C: ” << S <<endl;}}}return0;

}Demostración de la Multiplicación Rusa

A continuación se demostrara la "Multiplicación Rusa", por medio del conocido méto-do llamado Inducción, ya que la multiplicación rusa está de�nida en el conjunto de losnaturales.

Primero de�namos "× ", como la multiplicación habitual, que cumple todos los axio-mas básicos de multiplicación, tal que para dos números n,m ∈ ℵ, se cumple que

n×m

Es la multiplicación habitual de dos números naturales.

1

Page 3: Multiplicacion Rusa en C y Demostracion Por Induccion

Por otro lado tenemos a "?", como la multiplicación rusa, tal que

n ? m

Ahora tendremos la siguiente igualdad que tendremos que demostrar, la cual es

n×m = n ? m

Entonces procedemos a ocupar inducción, y para eso tomaremos:1) n = 1

n×m = 1×m = m

En este caso, n pasa a ser el neutro multiplicativo, por otra parte tendremos

n ? m = 1 ? m

Aplicando el algoritmo ruso, la operación anterior se vuelve trivial, lo cual quedaría

1 ? m = m

Por lo tanto el algoritmo ruso se cumple para n = 1.2) Ahora procedemos a tomar como hipótesis a n = k, ∀ k ∈ ℵ, bajo la siguientes opera-ciones

[k/2]× 2m = [k/2] ? 2m

[ ] como la parte entera.Aplicando el algoritmo ruso tendremos que

k ? m = [k/2] ? 2m+ x

x un numero natural, tal que x = m si k es impar y x = 0 si k es par.Por otro lado, para la multiplicación habitual, es inmediato que

k ×m = [k/2]× 2m+ x

Siendo x un numero natural, tal que x = m si k es impar y x = 0 si k es par.Por lo tanto, se concluye de esta hipótesis que

[k/2]× 2m = [k/2] ? 2m

2

Page 4: Multiplicacion Rusa en C y Demostracion Por Induccion

Lo cual implica que

k ×m = k ? m

Cuando n=k.

3) Ahora extenderemos esta demostración a n = k + 1, ∀ k ∈ ℵ. Lo cual obtenemoslo siguiente

(k + 1) ? m = [(k + 1)/2] ? 2m+ x

Siendo x = m, si k + 1 es impar, es decir, si k es par y x = 0, si k + 1 es par, es decir, sik es impar.Para k par, resulta que al hacer k ? m tenemos que x = 0, de lo cual teníamos la siguienteigualdad

k ? m = [k/2] ? 2m

Pero por otro lado n = k + 1, obtenemos (k + 1) ? m, con la conclusión anteriormen-te mencionada de los distintos valores que va tomando la variable x, pero notamos que[(k + 1)/2] = (k + 1)/2, es decir, que

(k + 1) ? m = k ? m+ 1 ? m = k ? m+m

Cumpliendo con el axioma de la distributividad.Por el lado de la multiplicación habitual, tenemos inmediatamente por axioma de ladistributividad que

(k + 1)×m = k ×m+m

Luego concluimos que

(k + 1) ? m = k ? m+m = k ×m+m = (k + 1)×m

Entonces, hemos demostrado que para cualquier k par en los naturales, se cumple que

k ×m = k ? m

Análogamente se cumple para cualquier número impar k ∈ ℵ, de lo cual concluimos porinducción que

n×m = n ? m

∀ n,m ∈ ℵ.

3