Está en la página 1de 81

DEMOSTRACIÓN POR INDUCCIÓN

Y RECURSIVIDAD

Se aborda conceptos esenciales de los capítulo 5 de Matemáticas discretas de


Sussane Epp 5ta edición
CAPÍTULO 5 SUCESIONES, INDUCCIÓN MATEMÁTICA
Y RECURRENCIA
Una de las tareas más importantes de las matemáticas es
descubrir y caracterizar patrones regulares, tales como los
relacionados con los procesos que se repiten.

La principal estructura matemática que se utiliza en el estudio de


los procesos que se repiten es la sucesión y la principal
herramienta matemática que se usa para comprobar suposiciones
acerca de las sucesiones es la inducción matemática.

Se analizará también el principio del buen orden de los números


enteros que es lógicamente equivalente a las dos formas de
inducción matemática y mostramos cómo adaptar la inducción
matemática para demostrar la exactitud de los algoritmos de
computadora.
1. Sucesiones

● Definición Sucesión

Una sucesión es una función cuyo dominio es ya sean todos los


enteros entre dos enteros dados o todos los enteros mayores o
iguales a un entero dado.
En la sucesión que se denota por
am, am + 1 , am + 2 ,..., an,
ak (que se lee “a subíndice k”) se llama un término. La k es el subíndice o índice.
m (que puede ser cualquier entero) es el subíndice del término inicial y
n (que debe ser mayor o igual a m) es el subíndice del término final.
am, am C 1 , am C 2 ,... denota una sucesión infinita.
Una fórmula explícita o fórmula general para una sucesión es una
=
+ 1 regla que muestra cómo los valores de ak dependen de k.
1. Sucesiones
● Teorema Propiedades Sumatorios y Productorios

Si am, am + 1, am + 2,... y bm, bm + 1, bm + 2,..., son sucesiones


de números reales y c es cualquier número real, entonces las
ecuaciones siguientes valen para cualquier entero n≤m:

+ = ( + )

=
1. Sucesiones

Haga que el siguiente sumatorio comience en 0

+
1. Sucesiones
● Definición Factorial

Para cada entero positivo n, ¡la cantidad n factorial que se


denota por n!, se define como el producto de todos los enteros
de 1 a n.

n!=n ⋅ (n-1) ⋅(n-2) ⋅ ⋅ ⋅ 3 ⋅ 2 ⋅ 1

Cero factorial, que se denota por 0!, es igual a 1

1, =0
!=
⋅ − 1 !, ≥1
1. Sucesiones
● Definición combinatorio

Sean n y r enteros con 0 ≤ ≤ , el símbolo


!
=
− ! !
se lee de “ de n se seleccionan r” (“n choose r”) y representa
el número de subconjuntos de tamaño r que se pueden elegir
de un conjunto con n elementos.
Recuerde en un subconjunto el orden de los elementos no
importa

+1
2. Inducción Matemática
● Principio de Inducción matemática

Sea P(n) una propiedad que se define para enteros n y sea a un


entero fijo. Suponga que los siguientes dos enunciados son
verdaderos:
1.P(a) es verdadera.
2.Para todo entero k ≥ , si P(k) es verdadera entonces P(k +1)
es verdadera.
Entonces, el enunciado
para todo entero ≥ , P(n)
es verdadero.
2. Inducción Matemática
2. Inducción Matemática

k k+1
3 4
1 2
Si la -ésima ficha de dominó cae hacia atrás, también
empuja a la ( + )-ésima ficha de dominó hacia
atrás.
2. Inducción Matemática

Método de demostración por inducción matemática


Considere un enunciado de la forma, “Para todo entero n ≥ a,
una propiedad P(n) es verdadera”. Para demostrar este
enunciado, realice los siguientes pasos:
Paso 1 (paso básico): Demuestre que P(a) es verdadera.
Paso 2 (paso inductivo): Demuestre que para todo entero ≥
, si P(k) es verdadera entonces P(k +1) es verdadera. Para
realizar este paso,
suponga que P(k) es verdadera, donde k es cualquier
entero dado pero elegido arbitrariamente con ≥ .
[Esta suposición se llama hipótesis inductiva.]
Después,
demuestre que P(k + 1) es verdadera.
2. Inducción Matemática
Teorema: Suma de los n primeros enteros
( )
Para Método ≥ 1, 1 + 2+. . +por
dendemostración
todo entero = inducción matemática

Demostración (por inducción matemática):


Sea la propiedad P(n) la ecuación

Paso 1 (paso básico): Demuestre que P(1) es verdadera.


2. Inducción Matemática
Teorema: Suma de los n primeros enteros
( )
Para Método ≥ 1, 1 + 2+. . +por
dendemostración
todo entero = inducción matemática

Demostración (por inducción matemática):


Paso 2 (paso inductivo): suponga que P(k) es verdadera, donde k es
cualquier entero dado pero elegido arbitrariamente con ≥ 1. [Esta
suposición se llama hipótesis inductiva.]
2. Inducción Matemática
Teorema: Suma de una secuencia geométrica
Para cualquier número real r, excepto 1 y cualquier entero ≥ 0,
−1
=
−1
Demostración (por inducción matemática):
Sea la propiedad P(n) la ecuación ∑ =
Paso 1 (paso básico): Demuestre que P(0) es verdadera.
2. Inducción Matemática
Teorema: Suma de una secuencia geométrica
Para cualquier número real r, excepto 1 y cualquier entero ≥ 0,
−1
=
−1
Demostración (por inducción matemática):
Paso 2 (paso inductivo): suponga que P(k) es verdadera, donde k es
cualquier entero dado pero elegido arbitrariamente con ≥ 0. [Esta
suposición se llama hipótesis inductiva.]
3. Inducción Matemática (Aplicaciones)
Proposición
Para todo entero ≥ 8, n¢ se pueden obtener usando monedas de 3¢ y
5¢.
3. Inducción Matemática (Aplicaciones)
Proposición
Para todo entero ≥ 8, n¢ se pueden obtener usando monedas de 3¢ y
5¢. Método de demostración por inducción matemática
Demostración (por inducción matemática):
Sea la propiedad P(n)
n¢ se pueden obtener usando monedas de 3¢ y 5¢.

Paso 1 (paso básico): Demuestre que P(8) es verdadera.


3. Inducción Matemática (Aplicaciones)
Proposición
Para todo entero ≥ 8, n¢ se pueden obtener usando monedas de 3¢ y
5¢. Método de demostración por inducción matemática
Demostración (por inducción matemática):
Paso 2 (paso inductivo): suponga que P(k) es verdadera,
donde k es cualquier entero dado pero elegido
arbitrariamente con ≥ 8. [Esta suposición se llama
hipótesis inductiva.]
Caso 1 (Hay una moneda de 5¢ entre las que se utilizan para
formar los k¢)
3. Inducción Matemática (Aplicaciones)
Proposición
Para todo entero ≥ 8, n¢ se pueden obtener usando monedas de 3¢ y
5¢. Método de demostración por inducción matemática
Demostración (por inducción matemática):
Paso 2 (paso inductivo): suponga que P(k) es verdadera,
donde k es cualquier entero dado pero elegido
arbitrariamente con ≥ 8. [Esta suposición se llama
hipótesis inductiva.]
Caso 2 (No hay una moneda de 5¢ entre las que se utilizan
para formar los k¢):
3. Inducción Matemática (Aplicaciones)
Proposición
Para todo entero ≥ 8, n¢ se pueden obtener usando monedas de 3¢ y 5¢.

Reemplace la moneda
de 5¢ por dos monedas
de 3¢.

5¢ 3¢ 3¢
Quite Sume
k¢ (k + 1)¢
Reemplace tres monedas
de 3¢ por dos monedas
de 5¢.
3 3
¢ 3 ¢ 5 5
¢ ¢
¢
Quite Sume
3. Inducción Matemática (Aplicaciones)
Proposición
Para todo entero ≥ 3, 2 + 1 < 2 .

Demostración (por inducción matemática):


Sea la propiedad P(n): 2 + 1 < 2 .
Paso 1 (paso básico): Demuestre que P(3) es verdadera.
3. Inducción Matemática (Aplicaciones)
Proposición
Para todo entero ≥ 3, 2 + 1 < 2 .

Demostración (por inducción matemática):


Paso 2 (paso inductivo): suponga que P(k) es verdadera, donde k
es cualquier entero dado pero elegido arbitrariamente con ≥
3. [Esta suposición se llama hipótesis inductiva.]
3. Inducción Matemática (Aplicaciones)
Proposición Para la serie definida por = ∀ ≥ , = ,
puede ser obtenida como = ⋅

sea la propiedad P(n) para la ecuación =2⋅5


Demostración (por inducción matemática):
Paso 1 (paso básico): Demuestre que P(1) es verdadera.
3. Inducción Matemática (Aplicaciones)
Proposición Para la serie definida por = ∀ ≥ , = ,
puede ser obtenida como = ⋅

Demostración (por inducción matemática):


Paso 2 (paso inductivo): suponga que P(k) es verdadera, donde k
es cualquier entero dado pero elegido arbitrariamente con ≥
1. [Esta suposición se llama hipótesis inductiva.]
3. Inducción Matemática (Aplicaciones)
Teorema: Para cualquier entero n ≥1, si se quita un cuadrado de un tablero
2 × 2 , los cuadrados restantes pueden ser completamente cubiertos por
trominos en forma de L.
Demostración (por inducción matemática):
Paso 1 (paso básico):P(1)
3. Inducción Matemática (Aplicaciones)
Teorema: Para cualquier entero n ≥1, si se quita un cuadrado de un tablero
2 × 2 , los cuadrados restantes pueden ser completamente cubiertos por
trominos en forma de L.
Demostración (por inducción matemática):
Paso 2 (paso inductivo): suponga que P(k) es verdadera, donde k
es cualquier entero dado pero elegido arbitrariamente con ≥
1. [Esta suposición se llama hipótesis inductiva.]
4. Inducción Matemática Fuerte

Inducción matemática fuerte


Sea P(n) una propiedad que se define para n enteros y sean a
y b enteros fijos con ≤ . Suponga que los siguientes dos
enunciados son verdaderas:
1. P(a), P(a +1),... y P(b) son todas verdaderas. (Paso
básico.)
2. Para cualquier número entero ≥ , si P(i) es verdadera
para todo enteros i de a a k, entonces P(k +1) es
verdadera. (Paso inductivo.)
Entonces el enunciado
para todo entero ≥ , P(n),
es verdadero. (La suposición de que P(i) es verdadera para todo
entero i de a a k se llama la hipótesis inductiva.
4. Inducción Matemática Fuerte
Teorema: Cualquier número entero mayor que 1 es divisible por un
número primo.
Demostración (por inducción matemática fuerte):
Sea la propiedad P(n) la frase
n es divisible por un número primo.
Paso 1 (paso básico): Demostración de que P(2) es verdadera:
4. Inducción Matemática Fuerte
Teorema: Cualquier número entero mayor que 1 es divisible por un
número primo.
Demostración (por inducción matemática fuerte):
Paso 2 (paso inductivo): suponga que P(i) es verdadera ∀ , 2 ≤
≤ . [Esta suposición se llama hipótesis inductiva.]

Caso 1: k+1 es primo


4. Inducción Matemática Fuerte
Teorema: Cualquier número entero mayor que 1 es divisible por un
número primo.
Demostración (por inducción matemática fuerte):
Paso 2 (paso inductivo): suponga que P(i) es verdadera ∀ , 2 ≤
≤ . [Esta suposición se llama hipótesis inductiva.]

Caso 1: k+1 es compuesto (no primo)


4. Inducción Matemática Fuerte
Demuestre que: La serie definida por =6 −5 para ≥2
con = 0 = 4 puede expresarse con la fórmula 5 − 1
Demostración (por inducción matemática fuerte):
sea la propiedad P(n) la fórmula s = 5 − 1
Paso 1 (paso básico): Demostración de que P(0) y P(1) son
verdaderas:
4. Inducción Matemática Fuerte
Demuestre que: La serie definida por =6 −5 para ≥2
con = 0 = 4 puede expresarse con la fórmula 5 − 1
Demostración (por inducción matemática fuerte):
sea la propiedad P(n) la fórmula s = 5 − 1
Paso 2 (paso inductivo): suponga que P(i) es verdadera ∀ , 1 ≤
≤ . [Esta suposición se llama hipótesis inductiva.]
4. Inducción Matemática Fuerte
para cualquier entero n≥1, si x1, x2,..., xn son n números, entonces no
importa cómo se insertan los paréntesis en su producto, el número de
multiplicaciones que se utilizan para calcular el producto es n - 1.
Demostración (por inducción matemática fuerte):
sea la propiedad P(n) si x1, x2,..., xn son n números, entonces no
importa cómo se insertan los paréntesis en su producto, el
número de multiplicaciones que se utilizan para calcular el
producto es n - 1.
Paso 1 (paso básico): Demostración de que P(1) es verdadera:
4. Inducción Matemática Fuerte
para cualquier entero n≥1, si x1, x2,..., xn son n números, entonces no
importa cómo se insertan los paréntesis en su producto, el número de
multiplicaciones que se utilizan para calcular el producto es n - 1.
Demostración (por inducción matemática fuerte):
Paso 2 (paso inductivo): suponga que P(i) es verdadera ∀ , 1 ≤
≤ y ≥ 1. [Esta suposición se llama hipótesis
inductiva.]
4. Inducción Matemática Fuerte
Dado cualquier número entero positivo n, n tiene una representación única
en la forma
n = cr · 2r +cr - 1 · 2r - 1 +··· + c2 · 22 +c1 · 2 + c0,
donde r es un entero no negativo, cr =1 y cj =1 o 0 ∀ j = 0, 1, 2,., r - 1.
Existencia
Demostración (por inducción matemática fuerte):
Sea P(n) n = cr · 2r +cr - 1 · 2r + 1 +··· + c2 · 22 +c1 · 2 + c0,
4. Inducción Matemática Fuerte
Dado cualquier número entero positivo n, n tiene una representación única
en la forma
n = cr · 2r +cr - 1 · 2r - 1 +··· + c2 · 22 +c1 · 2 + c0,
donde r es un entero no negativo, cr =1 y cj =1 o 0 ∀ j = 0, 1, 2,., r - 1.
Existencia
Demostración (por inducción matemática fuerte):
Sea P(n) n = cr · 2r +cr - 1 · 2r - 1 +··· + c2 · 22 +c1 · 2 + c0,
4. Inducción Matemática Fuerte
Dado cualquier número entero positivo n, n tiene una representación única
en la forma
n = cr · 2r +cr - 1 · 2r -1 +··· + c2 · 22 +c1 · 2 + c0,
donde r es un entero no negativo, cr =1 y cj =1 o 0 ∀ j = 0, 1, 2,., r - 1.
Existencia
Demostración (por inducción matemática fuerte):
Sea P(n) n = cr · 2r +cr - 1 · 2r - 1 +··· + c2 · 22 +c1 · 2 + c0,
4. Inducción Matemática Fuerte
Dado cualquier número entero positivo n, n tiene una representación única
en la forma
n = cr · 2r +cr - 1 · 2r + 1 +··· + c2 · 22 +c1 · 2 + c0,
donde r es un entero no negativo, cr =1 y cj =1 o 0 ∀ j = 0, 1, 2,., r - 1.
Unicidad
Demostración (por contradicción):
4. Inducción Matemática Fuerte

Principio del buen orden para los enteros


Sea S un conjunto de números enteros que contienen uno o
más números enteros todos los cuales son mayores que un
entero fijo. Entonces S tiene un mínimo elemento.
4. Inducción Matemática Fuerte
Teorema del cociente-residuo (Parte de existencia)
Dado cualquier número entero n y cualquier número entero positivo d,
existen enteros q y r tales que
n = dq + r y 0 ≤ < .
Demostración (Utilizando el principio del buen orden de los
enteros y por contradicción):
4. Inducción Matemática Fuerte
Teorema del cociente-residuo (Parte de existencia)
Dado cualquier número entero n y cualquier número entero positivo d,
existen enteros q y r tales que
n = dq + r y 0 ≤ < .
Demostración (Utilizando el principio del buen orden de los
enteros y por contradicción):
5 Aplicación: exactitud (correctness) de
algoritmos
Un programa (algoritmo) es exacto si produce la salida especifica en la
documentación adjunta para cada conjunto de base de datos del tipo especificado
en la documentación.

• Con frecuencia, los programas se ponen a prueba utilizando conjuntos de datos


de ejemplo en lo que se conoce de antemano la salida correcta.
• Los datos de la muestra (prueba) se eligen deliberadamente para probar la
exactitud del programa en circunstancias extremas.
• El número de posibles conjuntos de datos de entrada es inmanejablemente
grande, por lo que no se puede dar plena seguridad de que el programa sea
correcto para todos los posibles conjuntos de datos legales de entrada.

Edsger W. Dijkstra, afirmó que “ahora tomamos la posición de que no es sólo tarea
del programador producir un programa exacto, sino también demostrar su
exactitud de manera convincente”
David Gries, dijó “un programa y su demostración se deben desarrollar paso a
paso, con la demostración liderando el camino.”
5 Aplicación: exactitud (correctness) de
algoritmos
Afirmaciones (Assertions)
Considere un algoritmo que está diseñado para producir un estado final dado a
partir de un estado inicial dado.
El estado inicial como el final son predicados que incluyen variables de entrada y
de salida.
• El predicado del estado inicial se conoce como la pre-condición del
algoritmo
• El predicado del estado final se llama la post-condición del algoritmo.

Algoritmo para encontrar el cociente y el residuo de la división de un


entero positivo entre otro
Pre-condición: Las variables de entrada a y b son enteros positivos.
Post-condición: Las variables de salida q y r son enteros tales que
a = bq + r y 0 ≤ < .
5 Aplicación: exactitud (correctness) de
algoritmos
Afirmaciones (Assertions)
Una prueba de la exactitud del algoritmo consiste en mostrar que si la
precondición para el algoritmo es verdadera para un conjunto de valores de las
variables de entrada y si se ejecutan los enunciados de los algoritmos, entonces,
la post-condición también es verdadera.

Los pasos de un algoritmo se dividen en secciones con afirmaciones acerca del


estado actual de las variables del algoritmo que se insertan en puntos
estratégicamente elegidos:
[Afirmación 1: precondición para el algoritmo]
{Enunciados del algoritmo} [Afirmación 2]
{Frases del algoritmo}
.
.
[Afirmación k - 1]
{Frases del algoritmo}
[Afirmación k: post-condición para el algoritmo]
5 Aplicación: exactitud (correctness) de
algoritmos

●Definición (Exactitud de un bucle)


Un bucle se define como exacto con respecto a su pre y post-condiciones,
si y sólo si, cada vez que las variables del algoritmo satisfacen la
precondición para el bucle y el bucle termina después de un número finito
de pasos, las variables del algoritmo satisfacen la post-condición para el
bucle.

[Pre-condición para el bucle]


while (G)
[Enunciados en el cuerpo del bucle.
Ninguno contiene enunciados de ramificación que
lleven fuera del bucle.]
end while
[Post-condición para el bucle]
5 Aplicación: exactitud (correctness) de
algoritmos
●Definición Exactitud de un bucle
Un bucle se define como exacto con respecto a su pre y post-condiciones, si y
sólo si, cada vez que las variables del algoritmo satisfacen la precondición para el
bucle y el bucle termina después de un número finito de pasos, las variables del
algoritmo satisfacen la post-condición para el bucle.

[Pre-condición para el bucle] Una invariante del bucle es


while (G) un predicado con dominio en
[Enunciados en el cuerpo del bucle. un conjunto de enteros, lo que
Ninguno contiene enunciados de satisface la condición: Para
ramificación que lleven fuera del bucle.] cada iteración del bucle, si el
predicado es verdadero antes
end while
de la iteración, es verdadero
[Post-condición para el bucle] después de la iteración
5 Aplicación: exactitud (correctness) de
algoritmos
Teorema de la invariante del bucle
Sea un bucle while con guarda G dada, junto con pre y post-condiciones que son
predicados en las variables del algoritmo. También sea dado un predicado I(n),
llamado el invariante del bucle. Si las cuatro propiedades son verdaderas,
entonces el bucle es correcto con respecto a sus pre y post-condiciones.
I.Propiedad básica: La pre-condición para el bucle implica que I(0) es verdadera
antes de la primera iteración del bucle.
Propiedad inductiva: Para todo entero ≥ 0, si la guarda G y el invariante del
bucle I(k) son verdaderos antes de una iteración del bucle, entonces I(k+1) es
verdadera después de la iteración del bucle.
III.Posible falsedad de la guarda: Después de un número finito de iteraciones del
bucle, la guarda G se convierte en falsa.
IV.Exactitud de la post-condición: Si N es el menor número de iteraciones
después de que G es falsa e I(N) es cierto, entonces los valores de las variables
algoritmo será tal como se especifica en la post-condición del bucle.
5 Aplicación: exactitud (correctness) de
algoritmos
Teorema de la invariante del bucle (Demostración)
El teorema del invariante del bucle se deduce desde principio de inducción
matemática. Suponga que I(n) es un predicado que satisface las propiedades de la I a
la IV del teorema del invariante del bucle. [Vamos a probar que el bucle es correcto
con respecto a sus pre y post-condiciones.] Las propiedades I y II son el paso base e
inductivo necesarios para demostrar por inducción matemática lo siguiente:

Para todo entero ≥ 0, si el bucle while


itera n veces, entonces I(n) es verdadera.
5 Aplicación: exactitud (correctness) de
algoritmos
Teorema de la invariante del bucle (Demostración)
El teorema del invariante del bucle se deduce desde principio de inducción
matemática. Suponga que I(n) es un predicado que satisface las propiedades de la I a
la IV del teorema del invariante del bucle. [Vamos a probar que el bucle es correcto
con respecto a sus pre y post-condiciones.]
propiedad III dice que la guarda G eventualmente se convierte en falsa. En ese
momento el bucle se ha iterado un número de veces, digamos N.
I(n) es verdadera después de la enésima iteración para todo ≥ 0, entonces I(n) es
verdadera después de la enésima iteración. Es decir, después de la enésima
repetición la guarda es falsa y I(N) es verdadera. (Hipótesis de la propiedad IV)

Ya que el enunciado IV es verdadero (por suposición) y su hipótesis es


verdadera (por el argumento que acabamos de dar), se tiene (por modus ponens)
que su conclusión también es verdadera. Es decir, los valores de todas las variables
del algoritmo después de la ejecución del bucle son los especificados en la post-
condición para el bucle.
5 Aplicación: exactitud (correctness) de
algoritmos
Exactitud de un bucle para calcular un producto
[Pre-condición: m es un entero no negativo, x es un número real, i= 0 y el producto=0.]
while (i ≠ m)
1.producto:= producto + x
2.i := i + 1
end while
[Post-condición: producto = mx]

I (n): i = n y el producto = nx invariante del bucle

G: i ≠ m condición de guarda G del bucle while


5 Aplicación: exactitud (correctness) de
algoritmos
Exactitud de un bucle para calcular un producto
I (n): i = n y el producto = nx invariante del bucle
G: i ≠ m condición de guarda G del bucle while

I Propiedad básica: [I(0) es verdadero antes de la primera iteración del bucle.]


5 Aplicación: exactitud (correctness) de
algoritmos
Exactitud de un bucle para calcular un producto
I (n): i = n y el producto = nx invariante del bucle
G: i ≠ m condición de guarda G del bucle while

II.Propiedad inductiva: [Si G ∧ I(k) es verdadero antes de una iteración de bucle


(donde k≥ 0), entonces I(k +1) es verdadero después de la iteración del bucle.]
5 Aplicación: exactitud (correctness) de
algoritmos
Exactitud de un bucle para calcular un producto
I (n): i = n y el producto = nx invariante del bucle
G: i ≠ m condición de guarda G del bucle while
III. Posible falsedad de la guarda: [Después de un número finito de iteraciones del
bucle, G se convierte en falso.]
para todo entero ≥ 0, si el bucle se itera
n veces, entonces (invanriante del bucle).
5 Aplicación: exactitud (correctness) de
algoritmos
Exactitud de un bucle para calcular un producto
I (n): i = n y el producto = nx invariante del bucle
G: i ≠ m condición de guarda G del bucle while

IV Exactitud de la post-condición: [Si N es el número menor de iteraciones después


de lo que G es falsa e I(N) es verdadera, entonces el valor de las variables del
algoritmo será tal como se especifica en la post-condición del bucle.]
5 Aplicación: exactitud (correctness) de
algoritmos
Exactitud del algoritmo de división
[Pre-condición: a es un entero no negativo y d es un entero positivo, r = a y q = 0.]
while ( ≥ d)
l. r := r - d
2. q :=q + 1
end while
[Post-condición: q y r son números enteros no negativos con la propiedad de que
a = qd + r y 0 ≤ < .]
I (n): = – ≥ 0 y n = q. invariante del bucle

G: ≥ condición de guarda G del bucle while


5 Aplicación: exactitud (correctness) de
algoritmos
Exactitud del algoritmo de la división
I (n): = – ≥ 0 y n = q. invariante del bucle
G: ≥ condición de guarda G del bucle while

I Propiedad básica: [I(0) es verdadero antes de la primera iteración del bucle.]


5 Aplicación: exactitud (correctness) de
algoritmos
Exactitud del algoritmo división
I (n): = – ≥ 0 y n = q. invariante del bucle
G: ≥ condición de guarda G del bucle while

II.Propiedad inductiva: [Si G ∧ I(k) es verdadero antes de una iteración de bucle


(donde k≥ 0), entonces I(k +1) es verdadero después de la iteración del bucle.]
5 Aplicación: exactitud (correctness) de
algoritmos
Exactitud del algoritmo de la división
I (n): = – ≥ 0 y n = q. invariante del bucle
G: ≥ condición de guarda G del bucle while
III. Posible falsedad de la guarda: [Después de un número finito de iteraciones del
bucle, G se convierte en falso.]
para todo entero ≥ 0, si el bucle se itera
n veces, entonces (invanriante del bucle).
5 Aplicación: exactitud (correctness) de
algoritmos
Exactitud del algoritmo de la división
I (n): = – ≥ 0 y n = q. invariante del bucle
G: ≥ condición de guarda G del bucle while

IV Exactitud de la post-condición: [Si N es el número menor de iteraciones después


de lo que G es falsa e I(N) es verdadera, entonces el valor de las variables del
algoritmo será tal como se especifica en la post-condición del bucle.]
5 Aplicación: exactitud (correctness) de
algoritmos
Exactitud de Teorema de Euclides
[Pre-condición: A y B son enteros con > ≥ 0, = , = , = .]
while (b ≠ 0)
1.r := a mod b
2.a := b
3.b := r
end while
[Post-condición: a = mcd (A, B)]

I (n): mcd (a, b) = mcd (A, B) y 0 ≤ < . invariante del bucle


G: ≠ 0 condición de guarda G del bucle while
5 Aplicación: exactitud (correctness) de
algoritmos
Exactitud del teorema de Euclides
I (n): mcd (a, b) = mcd (A, B) y 0 ≤ < . invariante del bucle
G: ≠ 0 condición de guarda G del bucle while
I Propiedad básica: [I(0) es verdadero antes de la primera iteración del bucle.]
5 Aplicación: exactitud (correctness) de
algoritmos
Exactitud del Teorema de Euclides
I (n): mcd (a, b) = mcd (A, B) y 0 ≤ < . invariante del bucle
G: ≠ 0 condición de guarda G del bucle while
II.Propiedad inductiva: [Si G ∧ I(k) es verdadero antes de una iteración de bucle
(donde k≥ 0), entonces I(k +1) es verdadero después de la iteración del bucle.]
5 Aplicación: exactitud (correctness) de
algoritmos
Exactitud del algoritmo de Euclides
I (n): mcd (a, b) = mcd (A, B) y 0 ≤ < . invariante del bucle
G: ≠ 0 condición de guarda G del bucle while
III. Posible falsedad de la guarda: [Después de un número finito de iteraciones del
bucle, G se convierte en falso.]
para todo entero ≥ 0, si el bucle se itera
n veces, entonces (invanriante del bucle).
5 Aplicación: exactitud (correctness) de
algoritmos
Exactitud del algoritmo de Euclides
I (n): mcd (a, b) = mcd (A, B) y 0 ≤ < . invariante del bucle
G: ≠ 0 condición de guarda G del bucle while
IV Exactitud de la post-condición: [Si N es el número menor de iteraciones después
de lo que G es falsa e I(N) es verdadera, entonces el valor de las variables del
algoritmo será tal como se especifica en la post-condición del bucle.]
6 Definición de sucesión recursiva

●Definición

Una relación de recurrencia para una sucesión a0, a1, a 2,... es una fórmula
que relaciona cada término de ak con algunos de sus predecesores ak -1, ak - 2,...,
ak -i donde i es un número entero con k-i ≥ 0. Las condiciones iniciales para
una relación de recurrencia especifican los valores de a0, a1, a 2,..., ai-1, si i es
un entero fijo, o a0, a 1,... am, donde m es un número entero con m ≥ 0, si i
depende de k.
6 Definición de sucesión recursiva

La Torre de Hanoi (La Tour D’Hanoï ). El rompecabezas consiste de discos de


madera con agujeros en sus centros, que se apilaban en orden decreciente en
uno de los postes en una fila de tres.
Se supone que los que juegan mueven todos los discos de uno en uno de un
poste a otro, nunca colocan un disco más grande en la parte superior de uno
más pequeño. Se dice que las instrucciones del rompecabezas se basan en
una antigua leyenda hindú:

El rompecabezas ofrece un
premio de diez mil francos
(unos 34 000 dólares
americanos de hoy) a
cualquiera que pudiera
mover una torre de 64 discos
a mano siguiendo las reglas
del juego
6 Definición de sucesión recursiva

Resolviendo Torre de Hanoi


6 Definición de sucesión recursiva

Resolviendo Torre de Hanoi

Transfiera la parte superior


de k -1 discos de un poste A
al poste B. Si k > 2, para la
ejecución de este paso se
requerirá un número de
movimientos de los discos
individuales entre los tres
postes. Pero al momento de
pensar de forma recursiva no
se detenga en imaginar los
detalles de cómo se producen
esos movimientos.
6 Definición de sucesión recursiva

Resolviendo Torre de Hanoi

Mueva el disco de la
parte inferior del
poste A al poste C.
6 Definición de sucesión recursiva

Resolviendo Torre de Hanoi

Transfiera k - 1 discos de la
parte superior del poste B al
poste C. (De nuevo, si k >
2, la ejecución de este paso
requerirá de más de un
movimiento.)

https://www.geeksforgeeks.org/c-program-for-tower-of-hanoi/
6 Definición de sucesión recursiva

Resolviendo Torre de Hanoi

mk = mk−1 + 1 + mk−1
= 2mk−1 + 1 para todo entero ≥ 2.
6 Definición de sucesión recursiva

Encontrando una fórmula explícita para la Torre de Hanoi


6 Definición de sucesión recursiva

Encontrando una fórmula explícita para la Torre de Hanoi


Debemos demostrar la exactitud de la formula =2 −1
6 Definición de sucesión recursiva

Interés compuesto
En su vigésimo primer cumpleaños recibe una carta informándole que el día
que nació, una excéntrica tía rica depositó $100000 en una cuenta bancaria
ganando 4% de interés compuesto anual y que ahora pretende poner la cuenta
a su nombre, siempre y cuando pueda calcular cuánto hay en la cuenta. ¿Cuál
es la cantidad que hay actualmente en la cuenta?

= +

= (1 + )
6 Definición de sucesión recursiva

Encontrando una fórmula explícita para el interés compuesto


6 Definición de sucesión recursiva

Debemos demostrar la exactitud de la formula =


6 Definición de sucesión recursiva

Interés compuesto
En su vigésimo primer cumpleaños recibe una carta informándole que el día
que nació, una excéntrica tía rica depositó $100000 en una cuenta bancaria
ganando 4% de interés compuesto anual y que ahora pretende poner la cuenta
a su nombre, siempre y cuando pueda calcular cuánto hay en la cuenta. ¿Cuál
es la cantidad que hay actualmente en la cuenta?
6 Definición de sucesión recursiva

Número de aristas
= + ( − 1)

( − 1)
=
2
6 Definición de sucesión recursiva

Número de aristas
= + ( − 1)

( − 1)
=
2
6 Definición de sucesión recursiva

●Definición Serie aritmética


Una sucesión a0, a1, a2,... se llama una sucesión aritmética, si y sólo si,
existe una constante d tal que
ak =ak - 1 +d para todo entero ≥ 1.
De lo que se tiene que,
an =a0 + dn para todo entero n≥ 0.

●Definición Serie Geométric


Una sucesión a0, a1, a 2,... se llama una sucesión geométrica, si y sólo si,
existe una constante r tal que
ak = rak - 1 para todo entero k > 1 De lo que se tiene que,
an = a0r n para todo entero n≥ 0
6 Definición de sucesión recursiva

Números de Fibonacci
Un par de conejos (macho y hembra) nace a principios de año. Supongamos
las siguientes condiciones:
1.Los pares de conejos no son fértiles durante su primer mes de vida, pero a
partir de entonces dan a luz a un nuevo par macho/hembra a fines de cada
mes.
2.No mueren conejos.
¿Cuántos conejos habrá al final del año?

También podría gustarte