Sie sind auf Seite 1von 11

1

E
S
T
R
U
C
T
U
R
A
S




D
I
S
C
R
E
T
A
S


I
Estructuras
Discretas I
RECURSION
Dra. Norka Bedregal Alpaca
1
Recursin Recursin
La recursin es til cuando la solucin de un problema se puede
expresar en trminos de la resolucin de un problema de la misma
naturaleza, pero de menor complejidad
Ejemplo:
El factorial de un nmero natural n > 0, est dado por:
n n = == = ... 3 2 1 !
De manera recursiva:
( (( ( ) )) )! 1 ! = == = n n n
con la condicin inicial 0! = 1
Relacin de
recurrencia
Dra. Norka Bedregal Alpaca
R
E
C
U
R
S
I
O
N
2
2
Relaciones de Recurrencia Relaciones de Recurrencia
Cuando el problema es encontrar una formula explcita para
una sucesin definida por recurrencia, la frmula recursiva se
llama relacin recurrente.
Una frmula recursiva va acompaada de informacin acerca
del comienzo de la sucesin que genera. A esta informacin se le
llama condicin o condiciones iniciales para la sucesin.
Definicin:
Sea a
0
, a
1
, a
2
, una sucesin
Una relacin de recurrencia es una ecuacin que relaciona a
n
con
algunos de los trminos que le preceden a
1
, a
2
, , a
n-1
Dra. Norka Bedregal Alpaca
R
E
C
U
R
S
I
O
N
3
Recursin Recursin
Caractersticas de la Recursin
La recursin es un poderoso mtodo de anlisis que consiste en:
Suponer que se conocen los valores de una funcin de conteo
para todos los valores previos a n,
Intentar determinar, a partir de tal informacin, el valor de
tal funcin para el valor de n.
Es suficiente conocer la solucin no recursiva para algn caso sencillo
(denominado caso base) y, hacer que la solucin del problema
recurra a los casos base que ya se han definido (divide y vencers )
Dra. Norka Bedregal Alpaca
4
R
E
C
U
R
S
I
O
N
3
Recursin Recursin
Cuando se trata de contar objetos en funcin de una o ms
variables, la condicin ideal es la de lograr una frmula explcita que
relacione tales variables.
En ciertas ocasiones, sin embargo, tal condicin resulta difcil de
alcanzar
Con frecuencia es suficiente obtener las relaciones adecuadas que
permitan generar un algoritmo de clculo para la resolucin del
problema en el caso ensimo, a partir de la informacin acerca de los
casos previos, es decir buscar una recurrencia.
A continuacin se dan ejemplos de cmo esta tcnica permite resolver
algunos problemas
Dra. Norka Bedregal Alpaca
5
R
E
C
U
R
S
I
O
N
Ejemplos : Recursin Ejemplos : Recursin
Nmero de Subconjuntos de un Conjunto Dado
Se denota por A
n
un conjunto con n elementos. Sea S
n
el nmero de
subconjuntos de un conjunto A
n
con n elementos
El nmero de subconjuntos en el caso de un conjunto A
n+1
con (n+1),
elementos puede ser calculado de la siguiente manera:
El nmero de subconjuntos de un conjunto unitario es dos:
el conjunto vaco y
el mismo conjunto
Considerando el ltimo elemento incorporado, entonces slo hay dos
posibilidades de subconjuntos:
Los que no incluyen el elemento ltimo que son en total S
n
, ya que
los subconjuntos de A
n
son por supuesto subconjuntos de A
n+1
Dra. Norka Bedregal Alpaca
6
R
E
C
U
R
S
I
O
N
4
Ejemplos : Recursin Ejemplos : Recursin
Los que incluyen al nuevo elemento, que se obtienen
introduciendo ste en cada uno de los subconjuntos de los n primeros
elementos, que de nuevo son S
n
.
Luego: S
n+1
= 2 S
n
2
2 1
2 2 2 2 S S = = =
2 3
3 2
2 2 2 2 S S = = =
3 4
4 3
2 2 2 2 S S = = =
Esta relacin junto con la condicin inicial S
1
= 2 permite calcular
todos los valores de S
n
de manera recurrente para cualquier
nmero natural n
2
n
n
S =
en general se obtiene la relacin en frmula explcita
Dra. Norka Bedregal Alpaca
7
R
E
C
U
R
S
I
O
N
Ejemplos : Recursin Ejemplos : Recursin
Nmero de diagonales de un polgono convexo de n lados
Sea D
n
el nmero de diagonales de un polgono de n lados.
Si se agrega un vrtice a un polgono de n lados, este se puede ubicar
entre dos de los n vrtices del polgono de n lados.
Este vrtice puede ser conectado con n-2 vrtices del polgono
anterior para formar diagonales; as se formarn n-2 nuevas
diagonales
Sin embargo, un lado en el antiguo polgono, justamente el lado que
una los dos vrtices vecinos al nuevo vrtice, se ha transformado en
diagonal
Luego, se han generado (n-1) nuevas diagonales.
An cuando no se pueda determinar tal nmero, se puede intentar
establecer una relacin entre el nmero de diagonales de un polgono
de n lados con las de un polgono de (n+1) lados
Dra. Norka Bedregal Alpaca
8
R
E
C
U
R
S
I
O
N
5
Ejemplos : Recursin Ejemplos : Recursin
Por otra parte podemos observar que D
3
= 0 .
La informacin anterior es suficiente para calcular el nmero de
diagonales de cualquier polgono, simplemente aplicando de manera
iterativa la relacin anterior. Por ejemplo:
Como adems, las diagonales en el polgono de n lados siguen siendo
diagonales en el nuevo polgono, concluimos que debe cumplirse la
relacin:
( )
1
1
n n
D D n
+
= +
( )
4
0 3 1 2 D = + =
( )
5
2 4 1 5 D = + =
( )
6
5 5 1 9 D = + =
Dra. Norka Bedregal Alpaca
9
R
E
C
U
R
S
I
O
N
Ejemplos : Recursin Ejemplos : Recursin
Nmero de regiones determinadas por n rectas en el plano
Este problema consiste en encontrar el nmero de regiones que
determinan en el plano, un conjunto de n rectas que tienen las
propiedades:
ningn par de ellas son paralelas y
no hay tres que compartan un punto en comn.
Por supuesto: una nica recta determina slo dos regiones, dos rectas
no paralelas determinan cuatro regiones
Sea R
n
el nmero de regiones determinadas por n rectas.
El nmero de regiones que agrega la recta n + 1, es igual al nmero de
puntos de interseccin con las n rectas anteriores agregado en uno; es
decir
( )
1
1
n n
R R n
+
= + +
1
2 R =
La relacin anterior permite calcular de manera recurrente el
nmero de regiones que ellas determinan
Dra. Norka Bedregal Alpaca
10
R
E
C
U
R
S
I
O
N
6
Ejemplos : Recursin Ejemplos : Recursin
Nmero de cadenas de ceros y unos que tienen la propiedad de no
tener dos unos consecutivos
Una cadena que cumpla la propiedad se denomina cadena buena.
Sea C
n
el nmero de cadenas buenas de longitud n.
Para una de estas cadenas slo hay dos posibilidades: o estas
cadenas terminan en cero o terminan en uno.
Se busca de determinar el nmero C
n+1
, de cadenas buenas de
longitud (n+1).
Dra. Norka Bedregal Alpaca
11
R
E
C
U
R
S
I
O
N
Ejemplos : Recursin Ejemplos : Recursin
Si una cadena buena de longitud n + 1 termina en cero, entonces:
o La cadena que resulta de eliminar tal cero, es una cadena de longitud
n que satisface la condicin establecida;
o Si a una de stas cadenas de longitud n se le agrega un cero se tiene
una cadena de longitud (n+1) que satisface la condicin.
o Entonces existe una correspondencia biunvoca entre las cadenas de
longitud n que satisfacen la condicin y las cadenas de longitud (n+1)
que satisfacen la condicin y que terminan en cero
o Luego el nmero de cadenas buenas de longitud n + 1 es C
n
.
Dra. Norka Bedregal Alpaca
12
R
E
C
U
R
S
I
O
N
7
Ejemplos : Recursin Ejemplos : Recursin
Si una cadena buena de longitud n +1 termina en uno, entonces
o El penltimo nmero no puede ser uno, porque de lo contrario la
condicin no sera satisfecha;
o As estas cadenas deben terminar en la forma 01.
o Si se elimina estos dos ltimos nmeros queda una cadena buena de
longitud (n-1).
o Recprocamente, si a una cadena buena de longitud (n-1) se le
agrega la terminacin 01, se obtiene una cadena buena de longitud
(n+1).
o En sntesis, el nmero de cadenas de longitud (n+1) que terminan
en uno coincide con el nmero de cadenas buenas de longitud (n-1).
Dra. Norka Bedregal Alpaca
13
R
E
C
U
R
S
I
O
N
Ejemplos : Recursin Ejemplos : Recursin
El anlisis anterior permite afirmar que el total de cadenas buenas
de longitud (n+1) es igual a la suma de las que terminan en cero ms
las que terminan en uno. As,
Obsrvese que en este caso para poder hacer uso de la relacin se
necesita disponer de los dos valores previos al que se desea calcular.
Se verifica fcilmente que C
1
= 2 y que C
2
= 3 , valores suficientes
para iniciar la utilizacin recurrente de la relacin anterior.
1 1 n n n
C C C
+
= +
Dra. Norka Bedregal Alpaca
14
R
E
C
U
R
S
I
O
N
8
Ejemplos : Recursin Ejemplos : Recursin
Sucesin de Fibonacci
Se supone que cada mes la hembra de una pareja de conejos pare
una pareja de conejos (de diferente sexo).
Dos meses ms tarde la hembra de la nueva pareja pare una nueva
pareja.
Objetivo: Determinar el nmero de parejas de conejos al finalizar el
primer ao, si se supone que al inicio slo se dispone de una pareja de
conejos en edad reproductiva y que en el perodo en mencin no hay
defunciones.
La relacin encontrada en el ejemplo anterior, es conocida como la
sucesin de Fibonacci (hijo de Bonaccio), quien la formul en los
inicios del siglo XIII, 1202. Leonardo de Pisa, conocido como
Fibonacci, la establece partiendo de un modelo de reproduccin de
conejos
Dra. Norka Bedregal Alpaca
15
R
E
C
U
R
S
I
O
N
Ejemplos : Recursin Ejemplos : Recursin
Sea F
n
el nmero de parejas de conejos al finalizar el n-simo mes
El nmero de parejas en el mes n debe ser igual al nmero de parejas
en el mes anterior (n-1) , que es igual a F
n-1
, ms los recin nacidos,
cuyos padres nicamente pueden ser las parejas existentes en el mes
(n-2).
As, resulta la relacin:
Por ejemplo, al final del primer mes tendremos dos parejas, al final
del segundo mes se tendrn tres parejas
1 2 n n n
F F F

= +
0
1 F =
1
2 F =
;
Dra. Norka Bedregal Alpaca
16
R
E
C
U
R
S
I
O
N
9
Ejemplos : Recursin Ejemplos : Recursin
Con estas relaciones se puede calcular el valor de F
n
para los
diferentes valores de n .
Se logra la sucesin conocida como sucesin de Fibonacci: 1,
2, 3, 5, 8, 13, 21, 34, 55,.
El problema de determinar el nmero de parejas de conejos al
final del primer ao es simplemente el de calcular F
12
, que es
igual a 377
Dra. Norka Bedregal Alpaca
17
R
E
C
U
R
S
I
O
N
Ejemplos : Recursin Ejemplos : Recursin
Torres de Hanoi
Se dispone de n discos de diferentes medidas y de tres clavijas en
donde stos pueden ser colocados.
Inicialmente todos los discos estn colocados en una de las clavijas
y ordenados de abajo hacia arriba de mayor a menor.
El problema consiste en trasladarlos a otra de las clavijas
siguiendo las reglas siguientes:
Los discos se mueven uno por uno.
En ningn caso puede colocarse un disco sobre un disco de
radio menor
Dra. Norka Bedregal Alpaca
18
R
E
C
U
R
S
I
O
N
10
Ejemplos : Recursin Ejemplos : Recursin
Obsrvese que para cumplir con la condicin segunda resulta
indispensable disponer de tres clavijas
El problema consiste en determinar el nmero mnimo de movimientos
requeridos para pasar todos los discos de una clavija a otra.
Sea M
n
el nmero mnimo de movimientos para pasar n discos de una
clavija a otra
Dra. Norka Bedregal Alpaca
19
R
E
C
U
R
S
I
O
N
Ejemplos : Recursin Ejemplos : Recursin
Para poder mover el disco que se encuentra en el fondo, se deben
pasar a la segunda clavija, los (n-1) discos menores, lo que requiere
M
n-1
como nmero mnimo de movimientos.
Hecho lo anterior, se debe pasar el disco mayor a la tercera clavija,
lo que exige un movimiento
Finalmente, se deben pasar los (n-1) discos menores a la tercera
clavija, lo que por definicin requiere M
n-1
movimientos.
Luego, en total se requieren como mnimo (2 M
n-1
+1)
movimientos.
Por otra parte, cuando se tiene slo un disco, obviamente, el
nmero mnimo de movimientos es 1; es decir:
1
1 2
1
1
= == =
+ ++ + = == =

M
M M
n n
Dra. Norka Bedregal Alpaca
20
R
E
C
U
R
S
I
O
N
11
FIN FIN
Dra. Norka Bedregal Alpaca
21
R
E
C
U
R
S
I
O
N

Das könnte Ihnen auch gefallen