Vous êtes sur la page 1sur 31

Inducción Matematica

Coaquira Rafael Hugo


Luque Quispe Maria del Carmen
Pacheco Talavera José Erixón
Ramos Quispe Lidia Fiorella

23 de Abril del 2010


2
Índice general

1. Introducción 5

2. El Principio de la Inducción 7
2.1. Principio simple de inducción (PSI) . . . . . . . . . . . . . . . 8
2.2. Principio de inducción por curso de valores . . . . . . . . . . . 8
2.3. Principio del buen orden . . . . . . . . . . . . . . . . . . . . . 8

3. Demostración de proposiciones por inducción 11


3.1. Inducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2. La inducción matemática . . . . . . . . . . . . . . . . . . . . . 11

4. Aplicación de la inducción 15

5. Demostración por recursividad 17


5.1. Demostración por recursividad . . . . . . . . . . . . . . . . . . 17
5.2. Consideraciones en la demostración por recursividad . . . . . . 18
5.3. El principio de la demostración por recursividad . . . . . . . . 18
5.4. Definiciones recursivas . . . . . . . . . . . . . . . . . . . . . . 18

6. Clonclusión 23

3
4
Capı́tulo 1

Introducción

Todos los matemáticos y personajes relacionados con esta área, saben


hoy en dı́a que las afirmaciones matemáticas y otras conjeturas deben de ser
demostrados, para ello es necesario utilizar herramientas que nos permitan
esto, una de ellas es la inducción matemática.

Sera posible conocer más aun algo conociendo primero su lado opuesto?.

Sera posible conocer un valor conociendo primero su contravalor?

Antes que nada los miembros que hicieron posible este trabajo, desean
esbozar, que existen principios fundamentales que ayudan a cada ser hu-
mano a evolucionar permanente. El conocimiento es parte de esta inquietud
de querer alcanzar la esencia filosófica del conocimiento y la verdad. Dentro
de estos principios fundamentales, estudiantes de carreras afines a la compu-
tación ignoran seguramente temas relacionados con el buen orden que debe
de existir este mundo. El objetivo de este trabajo es introducirlos en este fas-
cinante mundo, en la presente monografı́as, se ha de mostrar el desarrollo de
los conceptos básicos para la adquisición de herramientas que nos permitan
determinar el buen orden como es la inducción Matemática, que es, una de
las herramientas básicas útiles en la algoritmia, quizá no haya ninguna más
importante que la inducción matemática. No solo nos permite demostrar pro-
piedades interesantes acerca de la corrección y eficacia de los algoritmos, sino
que además que se puede incluso utilizarse para determinar que propiedades
es preciso probar.
La inducción matemática es una herramienta de uso práctico y teórico en
las matemáticas y ciencias computacionales lo que hace que su estudio, sea
de vital importancia en el desarrollo de nuestra preparación.

5
6

El principio de Inducción Matemática es un método que se utiliza para


demostrar propiedades, formulas, validarlas y probar que son verdaderas. Es
un método simple que consta de tres pasos fundamentales en los cuales se
debe demostrar la propiedad reemplazando su incógnita por 1, luego por k
y finalmente por k+1. En cualquier ciencia experimental, la inducción es el
proceso de obtener un resultado general a partir del análisis de casos parti-
culares. De esta forma, observando la caı́da de una serie de cuerpos pesados,
se induce que cualquier cuerpo más pesado que el aire cae por la acción de
la gravedad. Este hecho se considerara valido mientras no se encuentre un
cuerpo más pesado que el aire que no caiga. G. Peano (1858-1932) propuso
cinco propiedades fundamentales que caracterizan a los números naturales,
Axiomas de Peano. Una de ellas conocida como el Principio de Inducción
Matemática es actualmente una herramienta de uso práctico y teórico prin-
cipalmente para matemáticos y personas que trabajan en Ciencias Compu-
tacionales. El principio lo enunciaremos para los enteros positivos N+, pero
bien se puede ampliar a los números naturales o a cualquier subconjunto de
los enteros mayores o iguales a un entero fijo.
La inducción matemática es el equivalente al método cientı́fico. Pero pa-
ra lo cual no se puede generalizar. Los pasos para desarrollar la Inducción
Matemática se detallan en el contenido del presente trabajo de investigación.
El área de la programación es muy amplia y con muchos detalles. Los pro-
gramadores necesitan ser capaces de resolver todos los problemas que se les
presente a través del computador aun cuando en el lenguaje que utilizan no
haya una manera directa de resolver los problemas. En el lenguaje de progra-
mación C, ası́ como en otros lenguajes de programación, se puede aplicar una
técnica que se le dio el nombre de recursividad por su funcionalidad. Esta
técnica es utilizada en la programación estructurada para resolver problemas
que tengan que ver con el factorial de un número, o juegos de lógica. Las
asignaciones de memoria pueden ser dinámicas o estáticas y hay diferencias
entre estas dos y se pueden aplicar las dos en un programa cualquiera.
Capı́tulo 2

El Principio de la Inducción

La inducción matemática se usa a menudo para verificar o probar, una


conjetura obtenida mediante inducción no matemática. Hablando con preci-
sión, el axioma de inducción dice: si M es un conjunto de enteros positivos,
con las siguientes propiedades

IA. M Contiene al entero 1, y,

IIA. Si M contiene al entero n, se puede demostrar que M contiene además


al entero n+1, entonces M contiene a todos los enteros positivos.

La primera parte del axioma de inducción, IA suele llamarse base, y la segun-


da parte, IIA parte inductiva. El axioma de inducción es útil para demostrar
ciertas expresiones matemáticas. Suponiendo que la proposición P(n) es ver-
dadera o falsa dependiendo solo del valor de la n, el axioma de inducción se
puede utilizar para demostrar que si

IB. P(1) es verdadera, y

IIB. El saber que P(n) es verdadera, implica que P(n+1) es también verda-
dera, entonces P(n) se cumple para cualquier n.

Usamos inducción sobre los naturales para:

Demostrar que todos los números naturales tienen una cierta propiedad.
Ejemplo.
n
X n(n + 1)
S(n) : k=
k=1 2

7
8

Definir diversos objetos asociados a los números naturales : Definiciones


inductivas/recursivas de funciones relaciones etc. Ejemplo: n! = 1, (n +
1)! = (n + 1) ∗ n!

La inducción nos permite demostrar que existe una única función: N7→N
que satisface las ecuaciones de arriba.
Hay al menos tres principios de inducción para los naturales que son
equivalentes.

2.1. Principio simple de inducción (PSI)

Dado un subconjunto S de N (S⊆ N), si se cumple que

(I) 0 ∃ S;

(II) Dado cualquier n ∃ N, si n ∃ S entonces (n+1) ∃ S; entonces S=N.

2.2. Principio de inducción por curso de va-


lores

Dado un subconjunto S de N (S⊆ N), si se cumple que para todo n ∃ N:


{k∃N : k < n ⊆ S ⇒ S}, (∗)
entoces S=N.
Aquı́ vemos que no hay una ”base.explicita: solo hay un paso inductivo, y
en este la HI es
{k∃N : k < n} ⊆ S ⇒ S y la TI es n ∃ S.

2.3. Principio del buen orden

El principio del buen orden implica. El principio de inducción matemática


Sea A un subconjunto de números naturales tal que,
9

(1) Contiene al 1, y

(2) Si contiene a n entonces contiene a n+1.

Supongamos que A 6= N.
Sea B=N-A el conjunto de números naturales que no están en A.
Si A 6= N, entonces B6= φ. Luego por el principio del buen orden, B tiene
un elemento mas pequeño.
Sean m ∃ B el elemento mas pequeño de B.
Observar que m 6= 1 porque 1 ∃ A.
Por lo tanto, m>1 y podemos escribir m=(m-1)+1, y m-1 ∃ N.
Observar que m-1 no existe B porque el numero mas pequeño en B es m.
Por lo tanto, m-1 ∃ A y entonces m=(m-1)+1 ∃ A .
Esto contradice la suposición ”m es el elemento mas pequeño de B.”
El principio de inducción matemática implica El Principio Del Buen Or-
den
Sea A un subconjunto de números naturales.
El principio del buen orden dice:

A 6= φ ⇒ ∃m ∈ A, ∀n ∈ A, m < n

Esto dice P ⇒ Q, lo cual es equivalente a Q o ∼ P. Es decir,


∃m ∈ A, ∀n ∈ A, m < noA = φ
Supongamos que ∼ Q. Es decir, que, ∀m ∈ A, ∃n ∈ A, m ≥ n
Sea B el subconjunto de N tal que 1,2,3,. . .,k, no pertenecen a A.
Observar que 1 ∈ B.
(Porque 1 ∈ A ⇒ ∀n ∈ A, 1 < n).
Por el principio de inducción matemática, B=N.
Por lo tanto A=vacio. Es decir, P
10

P Q PyQ
V V V
V F F
F V F
F F F

P Q PoQ
V V V
V F V
F V V
F F F

P Q P⇒Q
V V V
V F F
F V V
F F V
Como dijimos al principio, todos estos principios son equivalentes: cada
una se puede demostrar a partir de cualquiera de los otros.
A veces uno es más apropiado que otro, según el problema donde se quiera
aplicar.
Capı́tulo 3

Demostración de proposiciones
por inducción

3.1. Inducción

En el ámbito de la lógica, el razonamiento inductivo, que es una mo-


dalidad del razonamiento no deductivo consistente en obtener conclusiones
generales a partir de premisas que contienen datos particulares. Principio de
inducción completa es un razonamiento que permite demostrar una infinidad
de proposiciones, o una proposición a un tipo de razonamiento en donde se
obtienen conclusiones tan sólo probables (concepción más moderna).

3.2. La inducción matemática

La inducción matemática es un caso especial, donde se va de lo particular


a lo general y, no obstante, se obtiene una conclusión necesaria. Tı́picamente,
el razonamiento inductivo se contrapone al razonamiento deductivo, que va
de lo general a lo particular y sus conclusiones son necesarias. La inducción
matemática es un método de demostración muy útil empleado corrientemen-
te en la matemática. Principio de inducción finita o principio de inducción
matemática. Sea S(n) una proposición matemática abierta(o un conjunto de
tales proposiciones abiertas), en la que aparece una o varias veces la variable
n, que representa a un entero positivo. El método, consta de dos partes o
teoremas parciales:

Teorema 1 o base de la demostración

11
12

Es la demostración deductiva de que la proposición se verifica para


algún número natural dado a: Proposición → f(a). . . es verdadera
Entonces :

a Si S(1) es verdadera;y

Teorema 2 o paso de inducción

Es la demostración, de carácter también deductivo, de que si la propo-


sición se supone cierta para un número natural k, también ha de ser
cierta para el número sucesor de k, para el número (k+1).
Proposición → f(k) es verdadera → f(k+1) también debe ser verdade-
ra.(Esto es lo que se quiere demostrar)

b Siempre que S(k) sea verdadera(para algún k ∃Z + particular, pero


elegido al azar);entonces S(k+1)será verdadera;

Entonces S(n) es verdadera para todo n∃Z + .

De lo cual se infiere que la proposición es verdadera para el número na-


tural a y para todos los números naturales siguientes al número a, es decir
es cierta para el conjunto de número naturales [a, ∞). Evidentemente, si a
es el primero de los número naturales, la proposición será cierta para todo
conjunto N. Ambos paso parciales son procesos deductivos, por lo que cabrı́a
decir que, realmente, el método de inducción matemática es, en realidad, un
proceso de deducción. En realidad, el nombre de ”inducción matemática”se
debe simplemente a que lo asociamos a nuestra conciencia con los razona-
mientos inductivos que realizamos, a pesar de que el paso inductivo de la
demostración es una proposición general que se demuestra como un riguroso
proceso deductivo, sin necesidad de ninguna hipótesis particular.

Si n∃Z + , se establece la validez de la proposición abierta

n
X n2 + n + 2
S(n) : i = 1 + 2 + 3 + ... + n =
i=1 2

Paso inductivo. Si suponemos la verdad de la proposición:


13

k
X k2 + k + 2
S(k) : i = 1 + 2 + 3 + ... + k =
i=1 2

Para algún k∃Z + ,(particular), queremos ver si podemos inferir la verdad de


la proposición

k+1
X (k + 1)2 + (k + 1) + 2 k 2 + 3k + 4
S(k+1) : i = 1+2+3+. . .+k+(k+1) = =
i=1 2 2

Como lo hicimos anteriormente, usemos la hipótesis de inducción y hacemos


el cálculo siguiente:

k+1
X k
X
i = 1 + 2 + 3 + . . . + k + (k + 1) = i + (k + 1)
i=1 i=1

n2 + n + 2 n2 + n + 2 (2k + 2) k 2 + 3k + 4
= + (k + 1) = + =
2 2 2 2

Entonces para cualquier k∃Z + , se tiene que S(k)→(k+1). Entonces conclui-


mos que

n
h n(n + 1) X n2 + n + 2 i
∀n = i=
2 i=1 2

Indagación de cuáles son los números naturales para los que se


verifica la desigualdad:

2n > 2.n + 1

Proceso:
Teorema 1:
Para n = 0 : 20 > 2,0 + 1 = 1, no se verifica
Para n = 1 : 21 > 2,1 + 1 = 3, no se verifica
14

Para n = 2 : 22 > 2,2 + 1 = 5, no se verifica


Para n = 3 : 23 > 2,3 + 1 = 7, se verifica

Teorema 2:
Sea cierta para n = K : 2k > 2.k + 1 Y veamos, entonces, que también se
verifica para n = k + 1 : 2k+1 > 2.(k + 1) + 1
En efecto:
2(k+1) = 2k ,2 > (2k1),2 = 4k + 2 = 2(k + 1) + 1 + 2k − 1 > 2(k + 1) + 1
Lo cual es cierto para k >2. Ası́, pues, podemos afirmar que la proposición
es cierta en el conjunto [3,∞ ).
Existen algunos casos donde la inducción da conclusiones falsas. Pero
aunque a veces esto suceda no se puede despreciar. Por lo general no se pue-
de confiar en el resultado del razonamiento inductivo. Mientras que existan
casos que no han sido considerados, sigue siendo posible que la regla general
inducida sea incorrecta.
Acá tenemos un ejemplo dado por Leonhard Euler (1707-1783)
Consideramos el polinomio cuadrático P(n) =n2+n+41 y determinemos
su valor para ciertos n que pertenecen a los naturales N.
N 1 2 3 4 5 6 7 8
n2 + n + 41 43 47 53 61 71 83 97 113
Todos los números generados son primos, pero para n = 40, se tiene 1681
=412,
Entonces la proposición que n2 + n + 41 es un número primo resulta
completamente falsa.
Capı́tulo 4

Aplicación de la inducción

G. Peano propuso cinco propiedades llamados Axiomas de Peano, una de


ellas conocida como el Principo de Inducción Matemática es una herramien-
ta de uso práctico y teórico para matemáticos y personas que trabajan en
Ciencias Computacionales.
La inducción matemática es un método que se utiliza para demostrar
proposiciones. Además puede usarse en una variedad de situaciones en la
ciencia de la computación. Algunas aplicaciones son muy matematicas, como
verificar que todo entero positivo satisface cierta fórmula. Otra aplicación
frecuente es la verificación de programas (demostrar que un programa de
computación o que un algoritmo con ciclos funciona como se espera).
El método de inducción matemática tiene una particular aplicabilidad en
la geometrı́a plana y del espacio. Aunque la aplicación más común del méto-
do en geometrı́a es la dedicada a los procesos de resolución de problemas de
cálculo, lo mismo, evidentemente, que en la teorı́a de números o en el Álgebra,
es, sin embargo, muy utilizada la inducción matemática en la construcción
de figuras geométricas de n elementos a partir de la figura análoga elemen-
tal mediante la generalización correspondiente. Es también muy utilizada la
inducción en la determinación de lugares geométricos o en la generalización
del número de dimensiones para obtener figuras análogas en mayor número
de dimensiones (paso de la circunferencia a la esfera, por ejemplo).
La inducción matematica también es utilizada en la criptografı́a .La Crip-
tolografı́a se ocupa no solamente de la escritura secreta sino también de otros
aspectos relacionados con las nuevas tecnologı́as y las comunicaciones. Ası́,
la Criptografı́a se encarga de problemas relacionados con la seguridad de las
comunicaciones y el Criptoanálisis de la rotura de dicha seguridad.
La Criptografı́a de clave privada, en la que se permite la comunicación

15
16

secreta entre dos usuarios que comparten una clave de trabajo. La misma
clave se usa para cifrar y para descifrar los mensajes, y el emisor y el receptor
han de acordar la clave secreta a través de un canal de comunicación seguro.
Ésta es la principal dificultad de los sistemas de clave privada. Por ejemplo,
en una red de comunicación con n usuarios, el número de claves secretas es
n(n−1)
2
, y ası́, en una red de 1000 usuarios se requerirı́an 499.500 conexiones
totalmente seguras para poder distribuir las claves.
Capı́tulo 5

Demostración por recursividad

5.1. Demostración por recursividad

Son demostraciones inductivas no necesariamente relacionadas con los


números naturales

Es mas general que la inducción matemática de los números naturales

Se puede aplicar para la evaluación de expresiones lógicas de cálculo


de predicados, ya que las proposiciones lógicas cumplen con ciertas
propiedades

P. ejem. Puede emplearse para mostrar que todas las expresiones lógicas
pueden evaluarse por medio de su tabla de verdad.

Para ello, se toma cualquier expresión lógica x y se demuestra que tiene


un valor de verdad.

Si x es atómica, su valor de verdad está dado por asignación (caso base)

Si x es molecular, se divide en sus componentes y si cada uno de ellos


tiene un valor de verdad, entonces x también lo tiene.

De esta forma, el problema se reduce recursivamente a subproblemas


(hasta alcanzar el caso base)

17
18

5.2. Consideraciones en la demostración por


recursividad

Para demostrar por recursividad hay que tomar en cuenta los siguientes
puntos:

Es crucial que la recursividad llegue a su fin

Se debe introducir la noción de sucesión descendiente (sucesión de ele-


mentos cada vez más pequeños)

Si todas las sucesiones descendientes es finita se denomina dominio bien


fundado.

P. ejem. Al utilizar recursividad en programación, se debe reducir el


problema a cada llamada recursiva; en caso contrario, el programa
podrı́a no terminar.

5.3. El principio de la demostración por re-


cursividad

Para demostrar que ∀x P(x) es necesario efectuar los pasos:

Dominio bien fundado Seleccionar un predicado G y demostrar las sucesiones


finitas de G
Base inductiva Si x es mı́nima,demostrar P(x)
Hipótesis inductiva Se selecciona un x y se asume que P(x) para todos los
y que satisfagan G(x,y)
Paso inductivo Se demuestra P(x)
Conclusión ∀x P(x)

5.4. Definiciones recursivas

El principio de inducción va a usarse de dos maneras: para demostrar


que una definición recursiva dada satisface cierta definición explı́cita, o in-
versamente para encontrar una definición recursiva correspondiente a una
19

definición explı́cita dada. Veamos esto con un ejemplo: Sea f definida recur-
sivamente f 0 = 0
f (i + 1) =f i + 2× i + 1 Queremos demostrar que f satisface (∀i∃ N / f i
= i2 ) Caso base

f0 = 0 (definición de f )
= 02 (aritmetica)

Paso inductivo

f(i + 1) = fi + 2 × i + 1 (definición de f )
= i2 + 2 × i + 1 (hipótesis inductiva)
= (i + 1)2 (aritmetica)

Por lo tanto f satisface (∀i∃ N / f i = i2 ). Lo que hemos hecho se llama


verificacion de programa, dado que estamos comprobando que un programa
dado (una definicion recursiva), satisface su especificacion. Si bien la tecnica
de verificacion es muy util, ya que permite tener certeza sobre la construccion
correcta del programa, todavia queda la tarea de encontrar tal programa. Por
otro lado, la demostracion de que un programa satisface una especificacion
dada no es una tarea trivial, por lo que es conveniente realizarla, al menos
en parte, a medida que se construye el programa. Esta construccion conjunta
de programa y demostracion, permite guiar la construccion del programa.
Volviendo al ejemplo anterior, tomemos la propiedad demostrada a modo de
especificacion de f :

(∀i∃ N / f i = i2 )

Obviamente existe una forma trivial de encontrar una funcion que satisfaga
la especificacion:

fx = x × x

Si bien es inmediato que esta definicion satisface la especificacion y que ade-


mas es una definicion extremadamente eficiente, a modo de ejemplo, trata-
remos de encontrar una definicion recursiva de f. Puede pensarse que una
especificacion de una funcion f es una ecuacion a resolver en la incógnita f,
como ya vimos en capı́tulos anteriores. Luego, el proceso que ilustraremos a
20

continuación, consistirá en ”despejar” f para saber qué valor toma. El pro-


ceso de despejar nos asegura que si ahora reemplazamos el valor obtenido en
la ecuación original obtenemos un enunciado verdadero. Entonces: Caso base

f0 = 02 (especificación de f )
= 0 (aritmetica)

Paso Inductivo

f(i + 1) = (i + 1)2 (especificación de f )


= i2 + 2 × i + 1 (aritmetica)
= fi + 2 × i + 1 (hipótesis inductiva)

Por lo tanto, definiendo recursivamente

f0 = 0
f(i + 1) = fi + 2 × i + 1

se satisface la propiedad requerida. Lo que acabamos de hacer se llama deri-


vación de programas,dado que hemos construı́do un programa que satisface
la especificación y la demostración de que lo hace. Observemos que esta últi-
ma demostración, no es más que la anterior invirtiendo los pasos de atrás
para adelante, a partir del segundo paso de la derivación.En general, nos
concentraremos en el problema de la derivación de programas más que en
la verificación de los mismos. Veamos otro ejemplo, sea fac una función que
satisface la propiedad
n
Y
(∀n ∈ N/fac(n) = ( i)),
i<0

es decir, fac calcula el factorial de un número. Se desea una definición recur-


siva de fac. Caso base
0
Y
fac(0) = i (especificación de fac)
i<0
= 1 (rango vacio)

Paso inductivo
n+1
Y
fac(n + 1) = i (especificación de fac)
i<0
21

n
Y n+1
Y
= i× i (partición de rango)
i<0 n<i
n
Y
= fac(n) i × (n + 1) (hipótesis inductiva; rango unitario)
i<0

Por lo tanto la definición recursiva de fac es:

fac(0) = 1
fac(n + 1) = (n + 1) × fac(n)

Del mismo modo que hicimos anteriromente, consideremos la función facto-


rial, que habitualmente notamos n!, que se define recursivamente por:

0! = 1
n! = n × (n − 1) si n > 0
n
Y
V amos a probar que = 1 × 2 × . . . × n = ( i).Entonces P (n) resulta :
i=1
n
Y
P (n) = n! = ( i)
i=1

Caso base Podemos reducirlo asi:


0
Y fY
also
0! = ( i) = i=1
i<0

Paso inductivo Probaremos P(n + 1) suponiendo la hipótesis de inducción


P(n):

(n + 1)! = (n + 1) × n! (definición de factorial)


n
Y
= (n + 1) × i (hipótesis inductiva)
i=1
n+1
Y
= i × (n + 1) (aritmetica)
i=1

Nuestro siguiente ejemplo, concierne a los números de Fibonacci. Estos núme-


ros son interesantes cuando trabajamos con inducción matemática, pero son
muy interesantes también por sı́ solos. Fueron introducidos por Leonardo
Fibonacci (1202) a quien se le debe el nombre. Los primeros 8 números de
Fibonacci son 0, 1, 1, 2, 3, 5, 8, 13, y a excepción de los primeros dos, los
22

siguientes números se consiguen sumando los dos anteriores. Los números de


Fibonacci, se definen recursivamente del siguiente modo:

fib(0) = 0
fib(1) = 1
fib(n + 2) = fib(n + 1) + fib(n)

Como ya dijimos, esta sucesión de números tiene propiedades muy interesan-


tes, algunas de las cuales se presentan en los ejercicios. Vamos a demostrar
ahora, una muy simple:

(∀n/0 ≤ n/fib(n) < 2n )

Dada la definicion de fib, parece conveniente considerar dos casos base, cuan-
do n = 0 y cuando n = 1. El paso inductivo podra considerarase entonces
para n ≥ 2. Caso base n = 0

fib(0) = 0 (definición de fib)


< 1 (0<1)
= 20 (20 = 1)

El caso base cuando n = 1 es similar al anterior Paso inductivo Sea P(n) :


fib (n) < 2n, vamos a partir de fib (n + 2) y probaremos que es menor que
2(n+2)

fib(n + 2) = fib(n) + fib(n + 1) (definición de fib)


< 2n + fib(n + 1) (hipótesis inductiva P(n))
< 2n + 2(n+1) (hipótesis inductiva P(n+1))
< 2n+1 + 2(n+1) (la función 2x es creciente)
= 2n+2 (propiedad de la función exponencial)
Capı́tulo 6

Clonclusión

La inducción matemática es muy utilizada en el análisis y diseño de al-


goritmos.
No solo nos permite demostrar propiedades interesantes acerca de la co-
rrección y eficiencia de algoritmos, sino que además puede incluso utilizarse
para determinar que propiedades es preciso probar. En la ciencia hay 2 en-
foques opuestos fundamentales: inducción y deducción.
La inducción consiste en inferir una ley general a partir de casos par-
ticulares, mientras que una deducción es una inferencia de lo general a lo
particular.
Aunque a veces la inducción nos da conclusiones falsas, no se puede des-
preciar. La deducción por otra parte siempre es válida con tal de que sea
aplicada correctamente.
En general no se puede confiar en el resultado del razonamiento inductivo.
Mientras haya casos que no hayan sido considerados, sigue siendo posible que
la regla general inducida sea incorrecta. Por ejemplo, si se observa que:

13 = 1 = 12
13 + 23 = 9 = 32
13 + 23 + 33 = 36 = 62
13 + 23 + 33 + 43 = 100 = 102
13 + 23 + 33 + 43 + 53 = 225 = 152

Nos podemos convencer inductivamente que la suma de los cubos de los


números enteros positivos es siempre un cuadrado perfecto. En este caso el
razonamiento inductivo proporciona una ley correcta.

23
24

Un ejemplo de inducción matemática incorrecta es el siguiente polinomio.


P(n)= n2 +n +41 Y observe que:

P (0) = 41 (es un numero primo)


P (1) = 43 (es un numero primo)
P (2) = 47 (es un numero primo)
P (3) = 53 (es un numero primo)
P (4) = 61 (es un numero primo)
P (5) = 71 (es un numero primo)
P (6) = 83 (es un numero primo)
P (7) = 97 (es un numero primo)
P (8) = 113 (es un numero primo)
P (9) = 131 (es un numero primo)
P (10) = 151 (es un numero primo)

Por lo tanto es natural inferir por inducción que P(n) para todos los valores
de n. Pero de hecho
P (40)=1681=(41) no es primo.
Entonces nos preguntaremos porqué es importante utilizar inducción si es
proclive a errores, en lugar de utilizar deducción que es aprueba de bombas.
Por ejemplo los fı́sicos precisan utilizar el enfoque inductivo para deter-
minar las leyes fundamentales que gobiernan el universo a partir de datos
reales obtenidos de experimentos. Por ejemplo, Halley predijo el retorno de
su cometa homónimo por razonamiento inductivo, y también por razonamien-
to inductivo Mendeleev predijo no solo la existencia de elementos quı́micos
todavı́a no descubiertos, sino también sus propiedades quı́micas.
No es infrecuente que un matemático descubra una verdad matemática
considerando varios casos especiales e infiriendo a partir de ellos por induc-
ción una regla general que parece plausible. Sin embargo independientemen-
te de lo tentadora que sea la evidencia, esa verdad matemática no se puede
aceptar basándonos en la evidencia inductiva solamente. La diferencia entre
la matemática y las ciencias inherentemente experimentales es que una vez
que se haya descubierto por inducción una ley matemática general, debemos
demostrarla rigurosamente aplicando el proceso deductivo.
Ası́, el proceso inductivo tiene su lugar en las matemáticas. En caso con-
trario, ¿cómo podrı́amos esperar comprobar rigurosamente un teorema cuyo
25

enunciado ni siquiera ha sido formulado? Por lo tanto, la inducción es nece-


saria para formular conjeturas, y la deducción es igualmente necesaria para
demostrarlas, o a veces para demostrar su falsedad. Ninguna de estas técni-
cas puede ocupar el lugar de la otra. La deducción solo es suficiente para
las matemáticas ”muertas”, tal como los elementos de Euclides (que quizás
sea el mayor monumento de la historia a las matemáticas deductivas, cuando
no cabe duda de que gran parte de su material fue descubierto por razo-
namiento inductivo). Pero se necesita la inducción para mantener vivas las
matemáticas.
Tal como Polya dijo una vez ”las matemáticas presentadas con rigor son
una ciencia deductiva sistemática, pero las matemáticas que se están haciendo
son una ciencia inductiva experimental”.
Una de las técnicas deductivas mas útiles que están disponibles en ma-
temáticas, tiene la mala fortuna de llamarse inducción matemática .esta ter-
minologı́a resulta confusa pero, tenemos que vivir con ella. Por ejemplo: Ima-
ginémonos subiendo una escalera, sin fin. Como usted puede saber si será ca-
paz de alcanzar una grada arbitrariamente alta. Suponga que Ud. Tiene las
siguientes afirmaciones sobre sus habilidades de subir escaleras:

1. Usted puede alcanzar la primera grada.


2. si Ud. puede alcanzar una grada, Ud. puede siempre pasar la grada
siguiente.

Si la sentencia 1 como la condicional 2 son verdaderas; entonces, por la


sentencia 1 Ud. puede llegar a la primera grada y por la sentencia 2 Ud.
puede llegar a la segunda; nuevamente por 2 Ud. puede llegar a la tercera y
ası́ sucesivamente, Ud. puede subir tan alto como Ud. quiera. En este caso,
ambas aserciones son necesarias. Si apenas la sentencia 1 es verdadera, Ud.
no tiene garantı́as de que podrá mas allá de la primera grada y si apenas la
segunda sentencia es verdadera, Ud. no podrá llegar a la primera grada a fin
de poder iniciar el proceso de subida de la escalera.
A este tipo particular de deducción, en general se le llama ”principio de
inducción matemática”.
En una proposición P(n) enunciada en términos de n, con n ∈ Z + se
cumple 2 condiciones:

a P(1) es verdadera.
26

b P(k) es verdadera para k¿1 implica que P(k+1) sea verdadera.

Entonces para todo P(n) es verdadera.


En la verificación de programas:
La construcción de programas se basa en argumentos racionales y por lo
tanto es necesario aplicar técnicas de comprobación formales que demuestran
si un programa funciona correctamente.
Las técnicas formales son rentables pues reduce el número de errores lo
que a su vez reduce el esfuerzo que se necesita en la depuración, lo esencial
en la verificación de programas son las precondiciones y las postcondiciones.
Las precondiciones indican las condiciones que deben satisfacer los datos de
entrada para que el programa pueda cumplir su tarea. Las postcondiciones,
indican que condiciones de salida son aceptables como soluciones correctas
del problema en cuestión. Por ejemplo, en el programa que calcule una raı́z
cuadrada, la precondición es que el argumento de la raı́z cuadrada no debe
ser negativo y la postcondicion es que el resultado final sea la raı́z cuadrada
deseada.
Para demostrar que las diferentes partes del código funcionan correcta-
mente, se deben asociar las precondiciones y las postcondiciones que corres-
ponden a cada parte del código. Después, se debe demostrar que las pre-
condiciones y las postcondiciones de todas partes dl código son compatibles
entre sı́, y a su vez con las precondiciones y las postcondiciones de todo el
programa. De hecho cuando el programa es ejecutado, las postcondiciones
de cada parte del código deben incluir en esencia las precondiciones de la
siguiente parte. Esto debe establecerse sin importar lo largas que resulten las
partes del código.
Estas consideraciones son todavı́a más importantes en la construcción y
corrección de programas grandes: en los programas grandes hay una posibi-
lidad mayor de cometer errores y es mas difı́cil localizar estos errores.
Cuando se realiza verificación de programas, es necesaria una regla de
inferencia para tratar con cada tipo de sentencia ejecutable. Concretamente
nos encontramos con una regla para las sentencias de asignación, otra regla
para sentencias if y otra para sentencias while, en la que no solo hay que pro-
bar que el programa es correcto, si termina y cuando termina, sino también
hay que probar que el programa realmente termina.
Los programas se dividen en partes de un programa que son secuencias
27

de sentencias que transforman el estado inicial en un estado final. El estado


inicial es el estado anterior a la ejecución de la parte de un código. El estado
del sistema a su vez viene dado por los valores de las variables tal y como
aparecen en las declaraciones.
Cada sentencia lógica relativa a un estado se denomina aserción. Las dos
aserciones más importantes son las precondiciones y las postcondiciones. Una
precondición es una aserción que hace referencia al estado inicial de la parte
de un código y una postcondicion es una aserción de su estado final.
Invariablemente, las postcondiciones de un trozo de código describen lo
que ha de ser ejecutado y las precondiciones proporcionan las condiciones
que han de ser satisfechas para que el código termine con las postcondiciones
estipuladas. La parte de un código se considera correcta si una vez que el
código ha sido ejecutado, todos los estados que satisfacen las precondiciones
llevan a estados que satisfacen las postcondiciones.
Sin embargo, las precondiciones y las poscondiciones no siempre satisfacen
lo que realmente quiere el programador. Además, dado que el diseño esta
cada vez más formalizado, a menudo es posible obtener unas precondiciones
y postcondiciones rigurosamente definidas.
Se supone que el lenguaje para escribir un código, contiene todos los
operadores aritméticos, una amplia biblioteca de funciones, palabras para
el inicio y el final de los bloques del código, las construcciones if-them y
if-them-elsey la construcción del lazo while.
El tipo de variables se deduce del contexto. Además no se utilizan sen-
tencias de entrada-salida. La entrada puede tener lugar antes de la primera
sentencia de código que se esté considerando y la salida puede tener lugar
tras la última sentencia. Las partes de código son funciones que proyecta el
estado inicial, sobre el estado final, que es el estado al finalizar la parte del
código.
Varias partes de código pueden estar concatenadas, lo que simplemente
significa que se ejecutan secuencialmente. Concretamente, si C1 y C2 son
dos partes del programa, su concatenación se representa como C1 ; C2 . La
concatenación es realmente composición de funciones. La concatenación de
dos o mas partes del código también constituyen una parte del código.
Si C es un código en la precondición P y la postcondicion Q, entonces
P⊂Q se dice que es parcialmente correcto si el estado final de C satisface
Q,siempre que el estado inicial satisfaga P. C también será parcialmente
28

correcto si no hay estado final debido a que le programa no termina. Si P


⊂ Q es parcialmente correcto y C termina, entonces se dice que P C Q es
totalmente correcto.
En otras palabras un código no es totalmente correcto si existen algu-
nos estados iniciales que satisfacen P que conducen a un bucle infinito. Sin
embargo, tales programas pueden ser parcialmente correctos. El código sin
bucles siempre termina y la corrección parcial entonces implica corrección
total. Entonces la distinción entre corrección parcial y total es solo esencial
en códigos que contengan bucles o procedimientos recursivos.
Como se ha indicado anteriormente, las precondiciones y portcondiciones
son importantes para realizar verificación. Sin embargo, la importancia de es-
tas condiciones es todavı́a más general. Estas le ayudan a uno a clarificar los
objetivos del código que se esté investigando. Además insertando precondicio-
nes y postcondiciones en las partes del código de un programa, la verificación
se puede realizar de una manera mas sistemática: si se han satisfecho las pre-
condiciones de algún código, pero sin haberse cumplido las postcondiciones,
entonces el error debe haberse producido dentro de ese código en cuestión.
Eso permite simplificar la búsqueda de errores.
La manera de verificar un código que contenga una sentencia while es
estudiando la corrección parcial, es decir demostraremos que si el código
termina su estado final satisface la postcondicion.
Las caracterı́sticas que no varı́an son capturadas por un invariante, el
invariante del bucle. La negación de la condición de entrada es la condición
de salida. Una vez que se ha satisfecho la condición de salida, el bucle termina.
La variante del bucle es una expresión que mide el progreso realizado hasta
satisfacer la condición de salida.
Como vemos en el siguiente algoritmo:
Entrada: M, N enteros no negativos
Salida: X

1. Producto (M,N)
2. J=1
3. X=N
4. WHILE(J<=M)
a. X=X+N
b. J=J+1
29

5. RETURN (X)
6. END producto

La condición de entrada de este bucle es J6=M. Si esta expresión es falsa


al comienzo del bucle termina. Por esta razón, a la negación de la condición
de entrada se le llama condición de salida. En nuestro caso, la condición de
salida es -(J6=M) o J=M. Al final de la parte del código. X=M×N, y esta
condición es la postcondicion. Al final de cada iteración, se tiene X=J×N,
esta aserción resulta ser el invariante del bucle. La variante del bucle es M-J.
La variante del bucle decrece con cada iteración y tan pronto como llega
a cero el bucle termina. A la salida del bucle, J=M y J×N=M×N.
Por lo tanto, después de su terminación X=M×N que es la postcondicion.
Ahora demostraremos por inducción el algoritmo del producto.
I(n)=X =J ×N , n≥0 Paso base:

I(0) = X = 0
= 0×N
= J ×N (,es verdadera)

Paso Inductivo:
Supongamos que para algún valor fijo k>0 , I(k) es verdadera, es decir:
X =J ×N
Ahora debemos demostrar que I(k+1) es verdadera:

I(k + 1) = X = X +N
= J × N + N (por hipótesis de inducción)
= (J + 1) × N
= J ×N

Entonces, I(k+1) es verdadera.


Por lo tanto I(n) es verdadera, para todo n≥0 es decir I⊂I.
Lo cual da por permitida la verificación de corrección parcial del algoritmo
producto.
30

A menudo es difı́cil hallar el invariante del bucle. Lo más habitual es que


el invariante del bucle sea precursor de la postcondicion, lo que significa que
de alguna manera debe ser parecido a la postcondicion. Además de esto, en
cada iteración debe progresarse hacia la postcondicion, lo que significa que
el invariante del bucle debe contener todas las variables que son modificadas
dentro del bucle.
Bibliografı́a

[1] RALPH P. GRIMALDI. MATEMATICAS DISCRETA Y COMBI-


NATORIA.

[2] LUIS DISSET.APUNTES DE MATEMATICA DISCRETA.

[3] Eduardo Sáez , Iván Sántos.Inducción Matematica.

[4] J. Rey Pastor, Puig Adam.Metodologı́a matemática.,Ibero-


Americana, 1948

[5] R. Moreno Castillo.Fibonacci, el primer matemático medie-


val.,Nivola, 2004

[6] J. M. Ruiz.Programación Modular.

[7] J. E. Thompson.Aritmética para todos.,Hispanoamericana de México,


1949

[8] Dep. de Informática y Estadı́stica.Apuntes de Programación -


Recursividad.,Universidad Nac. del Comahue

[9] Fernando Berzal.Recursividad - Java.

[10] Inducción y Recursividad

31

Vous aimerez peut-être aussi