matematica discreta.ppt
TRANSCRIPT
![Page 1: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/1.jpg)
MATEMATICA DISCRETA
Prof: Santiago Domingo
Moquillaza Henríquez
![Page 2: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/2.jpg)
Calculo ProposicionalCalculo Proposicional
Ejercicios:1)Demuestre que T S puede deducirse de las premisas ⋀
p -> q , q -> ~r , r , p (T S)⋁ ⋀
1) p -> q (premisa) p -> q <-> ~q -> ~p 2) q -> ~r (premisa)3) p -> ~r (silogismo hipotético)4) r -> ~p (3, contraposición (15)) 5) r (premisa)6) ~p (4,5,MP(3))7) p (T S) ⋁ ⋀ (premisa)8) ~p -> (T S) ⋀ (7,condicional (12))9) (T S) ⋀ (6,8,MP)
p->q p->q ⋀
![Page 3: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/3.jpg)
2) Demuestre que dado p q , p -> r q , r -> s T , ⋀ ⋀ ⋁~s puede deducirse T: 1) p Simplificación Conjuntiva (p q -> p)⋀2) p -> r q⋀ (premisa)3) r q ⋀ (1,2,MP)4) r (Simplificación Conjuntiva)5) r -> s T⋁ (premisa)6) s T ⋁ (4,5,MP)7) ~s -> T (6,Condicional)8) ~s (premisa)9) T (7,8,MP)
![Page 4: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/4.jpg)
3) Proporcione la demostración para la implicación p -> (q -> s) , (~r p) , q -> (r -> s ) es decir usted debe ⋁llegar a la implicancia r -> s
1) ~r p⋁ (premisa)2) r -> p (1,Condicional)3) p -> (q -> s ) (premisa)4) r -> (q -> s ) (2,3,Silogismo Hipotético)5) ~r (q -> s ) ⋁ (4,Disyuncion Condicional)6) ~r (~q s ) ⋁ ⋁ (5,Disyuncion Condicional)7) q8) q (~r ~q s )⋀ ⋁ ⋁ (6,7,Intersectando) 9) q ~r q ~q q s (Distribuyendo)⋀ ⋁ ⋀ ⋁ ⋀10) q ~r F q s ⋀ ⋁ ⋁ ⋀ (Falacia)11) q ~r q s ⋀ ⋁ ⋀ (Identidad)12) q (~r s)⋀ ⋁ (Distributiva) 13) ~r s⋁ (12,Simplificacion)14) r -> s (13,Condicional)
![Page 5: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/5.jpg)
Métodos de Demostración:
Método directo o de Hipótesis auxiliar:Se basa en el principio p -> q si se asume como verdad p se debe demostrar que q es verdad.
Ejemplo:Si m y n son números enteros impares entonces su producto es impar.
p = m y n son números enteros imparesq = su producto es impar
m = 2k1 + 1 (impar,k1 Є Z+)n = 2k2 + 2 (impar,k2 Є Z+)
m*n = (2k1 + 1)(2k2 + 1) = 4k1k2 + 2k1 + 2k2 + 1 = 2(2k1k2 + k1 + k2 ) + 1 -> impar
![Page 6: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/6.jpg)
Método por Reducción al Absurdo:
Se debe llegar a una falacia, es decir partiendo de un p llegar a un ~p.
Ejemplo _Demostrar que √2 es irracional _Asumir que √2 es racional.Si es racional p,q Z∈ + / además p y q son primos entre si. _√2 = p/q -> elevando al cuadrado2 = p2/q2 -> 2q2 = p2 -> p es par, es decir un divisor de 2
p -> qp2 es par -> p es par
![Page 7: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/7.jpg)
p -> q <-> ~q -> ~p (Método Indirecto)
p es impar -> p2 es imparp=2k+1 -> (2k+1) 2 = 4k2 + 4k + 1
par impar
p=2k1 -> 2q2 = (2k1)2 -> q2 = (4k1)2
2
2k12 -> q es par (es decir divisor de 2)
Entonces se llega a una contradicción dado que p y q tienen como divisor a 2 por lo tanto p y q no son primos entre si por lo tanto √2 no es un numero racional.
![Page 8: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/8.jpg)
Método Indirecto:Se utiliza la contra positiva, a veces conviene demostrar ~q -> ~p que equivale a demostrar p -> q.
Ejm:Demuestre que si n es entero y n3 es impar entonces n es par.
p = n3 es impar q = n es par
~q -> ~pn es impar -> n3+5 es par
Si n es impar se puede representar: n=2k1 +1 n3 = (2k1+1) 3+ (8k1
3+12k12+6k1+1)
n3 + 5 = (8k13+12k1
2+6k1+1+5) = (8k1
3+12k12+6k1+6)
= 2(4k13+6k1
2+3k1+3) es par lqqd.
![Page 9: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/9.jpg)
Método de Demostración por Inducción Matemática
Consiste en demostrar que si la proposición es verdad para un valor inicial (paso base). Se asume como verdad la preposición para un P(k) (hipótesis inductiva) entonces se debe cumplir P(k+1), esta consecuencia ultima es la que se debe demostrar, dándole la forma de P(k).
Propiedad del Buen Orden:
Todo conjunto de enteros no negativos tiene un elemento mínimo.
![Page 10: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/10.jpg)
Inducción Matemática
1) Supongamos que conocemos que P(1) es verdadera.
2) También P(k) -> P(k+1) para todos los enteros positivos k.
3) Hay que demostrar P(N).4) Asume como verdad 1 y 2.
Demostración:
Sea P(n) una proposición abierta con las condiciones (1) y (2) y sea F=[T Є Z+/P(T) es falsa] se demostrara por el absurdo.
![Page 11: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/11.jpg)
Por el principio de buen orden todo conjunto que pertenece a los enteros tiene un elemento mínimo por ejemplo un T Є conjunto F ahora T ‡ 1 (porque si no estaría en contradicción con la hipótesis 1) entonces T>1 ; si T>1 -> P(T-1)(por la propiedad 2 es verdad ) Pero T-1 F -> P(T-1+1) es P(T) es también verdad por la condición 2.
Hay contradicción por lo tanto F es el conjunto vacio, entonces dado P(1) como verdad, P(k) verdad -> n se cumple p(n).
![Page 12: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/12.jpg)
Ejercicios:
Demostrar = n(n+1) hallar el algoritmo y la complejidad temporal. 2 Para: n=1:
= 1 1 = 1(1+1) = 1 2
Para: n=k:
= k(k+1) (Hipótesis Inductiva) 2
Hay que probar para n=k+1
= +
![Page 13: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/13.jpg)
= k(k+1) + k + 1 -> = (k+1)(k+2) 2 2
= (k+1)(k+1+1) -> Tiene la forma de HI
2
Por lo tanto = n(n+1) 2
Complejidad Temporal
![Page 14: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/14.jpg)
Ejercicio 2:
Deducir la formula, luego compruebe:Realizar el algoritmo, luego la complejidad.
1*1 + 1*2 + ………….. + 1*n +2*1 + 2*2 + ………….. + 2*n + : : : : : :n*1 + n*2 + ………….. + n*n
Sumando: (1+2+3+…+n)(1+2+3+…+n)=n(n+1)*n(n+1) = n2(n+1)2
2 2 4
![Page 15: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/15.jpg)
Ejercicio 3:
Demostrar que: n!>=2n-1 n>=1∀Para: n=1:
1! >= 21-1 n>1Para: n=k:
k! >= 2k-1 … HIProbar:Para: n=k+1 (k+1)!=(k+1)k!Pero: k! >= 2k-1
multiplicando por (k+1) a ambos lados (a>b ^ c>0 -> ac > bc)(k+1)k! >= 2k-1(k+1)(k+1)! >= 2k-1(k+1) >= 2*2k-1
k > 1 a>b ۸ c -> a+c > b+c 2k-1(k+1) > 2*2k-1
(k+1) >2 (k+1)! > 2k+1-1
-> n! >= 2k-1 n>=1∀
![Page 16: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/16.jpg)
Algoritmo Factorial:
Dim r as doubleDim a,b,c as integer Console.Writeline(“Ingrese a:”)a=Console.Readline() Console.Writeline(“Ingrese b:”)b=Console.Readline() Console.Writeline(“Ingrese c:”)c=Console.Readline()
r=factorial(a-b) factoria(c)
Console.Writeline(“El resultado es: {0}”; r)
![Page 17: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/17.jpg)
Demostrar por inducción que: n2 + 41n + 41 es un numero primo
Para: n=1: 12 + 41*1 + 41 es primo
Para: n=2: 4 + 82 + 41 = 127 también es primo
Usted comprobara que para cualquier k es un valor primo. Para n=k+1 adopta la misma forma, por lo tanto se cumple para cualquier n.
Función factorial(byval x as integer) if x=1 then
return 1 else
return x*factorial(x-1)
![Page 18: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/18.jpg)
Algoritmo:
1)Lee num2)Primo=0 , i=23)if num>0 mientras(i<=sqrt(num) ^ primo==0)
if(resto(num/i)==0) { primo=0 } i=i+1
fin_mientras if(primo==1)
imprime (“numero no es primo”) else imprime (“el numero no es valido, debe
ser positivo”) fin_iffin
![Page 19: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/19.jpg)
Ejemplo:
p p p I1 q T ~q I 2
r ~r r
(p q r) (p T q ~q) (p ⋁ ⋁ ⋀ ⋁ ⋁ ⋀ ⋁~q r)⋁
Rpta:
[p r (q T ~q ]⋁ ⋀ ⋀ ⋁
![Page 20: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/20.jpg)
Prueba de Validez del Argumento:
Si 2 lados de un triangulo son iguales entonces los ángulos opuestos son iguales, si 2 lados de un triangulo no son iguales entonces los ángulos opuestos de un triangulo no son iguales.
Evalué si es tautología o falacia:
![Page 21: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/21.jpg)
Funciones Booleanas y Circuitos Computacionales
f: Bn -> B cuyo dominio son variables booleanas y cuyo rango son 0 y 1 para cada uno de las variables se pueden asumir como variables un valor sea 0 o 1.
Ejm:
![Page 22: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/22.jpg)
Al margen de utilizar el algebra booleana para reducir circuitos computacionales usted puede utilizar los mapas de karnaugh.
Dichos mapas reducen los circuitos computacionales que revisten alta complejidad.
Consiste en agrupar grupos de 2, 4, 8, etc … (potencias de 2) 1s (adyacentes o extremos adyacentes).
Mapa de 2 variables: Mapa de 3 variables:
![Page 23: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/23.jpg)
Ejemplo:
Simplificar utilizando mapas de karnaugh: F=x’yz + x’yz’ + xy’z’ + xy’z donde x’ indica complemento de x. Se debe poner 1 en la celda de intersección y luego agruparlas de 2 en 2 o potencias de 2 con la condición de que sean adyacentes o extremos adyacentes.
Solución:
-> f = x’y + xy’
![Page 24: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/24.jpg)
Simplificar:
F = x’yz + xy’z’ + xyz + xyz’
-> f =yz’+xy+
Simplificar:
F(x,y,z) = ∑(0,2,4,5,6)
-> f(x,y,z) = z’ + xy’
![Page 25: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/25.jpg)
Reducir el circuito para un codificador de 4 entradas y 2 salidas, se conoce la tabla.
En este tipo de problemas hago 2 mayas de karnaugh, 1 para la
salida S1 y otra para S2.
-> S1 = e2 + e3
-> S2 = e2’e1 + e3
![Page 26: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/26.jpg)
Reduzca la función por karnaugh
f1 = {0,1,2,3,16,17,18,19,10,14,15,13,24,30,31,29}
f = C’B’ + A’BDE’ + BCD + BCE + AC’D’E’
![Page 27: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/27.jpg)
Cuantificadores
P(x) es verdadero para todos los valores de x en el universo del discurso, el cuantificador universal se denota como x ∀P(x).
Cuantificador Existencial:
al menos una x/P(x) es verdadera y se denota por medio de la notación xP(x)
Regla de Especificación Universal:
Es la regla de inferencia que establece que es posible concluir que P(c) es verdadero si xP(x) es verdadero, donde c es un miembro arbitrario del universo del discurso, esta regla recibe el nombre también de instanciación universal.
![Page 28: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/28.jpg)
Regla de Especificación Existencial:
Es la regla que permite concluir que P(c) es verdadero si xP(x) que sea verdadero, donde c no es un miembro arbitrario del universo, sino para el que P(c) es verdadero se sabrá que o cual c, pero si que existe.
Regla de Generalización de Universo:
Es la regla que establece xP(x) es verdadero, si P(c) lo es, donde c es un miembro arbitrario del universo de discurso.
Regla de Generalización Existencial:
Es una regla que se usa para concluir que xP(x) es verdadero, cuando P(c) lo es, donde x es un miembro particular del universo en discurso.
![Page 29: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/29.jpg)
Negación utilizando cuantificadores:
Ejemplos:
E1 ~ ( xp(x)) es equivalente a decir x ~p(x)
E2 ~ ( xq(x)) es equivalente a decir x ~q(x)
Utilizando las reglas vistas en la clase anterior demostrar:
x(p(x) q(x)) -> xp(x) xq(x)⋁ ⋁
1) Comenzamos negando la tesis, para luego llegar a una contradicción p^ ~p entonces: ~ ( xp(x) xq(x))⋁2) x~p(x)^ x ~ q(x) Utilizando 1 y Prop de Morgan negacion
![Page 30: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/30.jpg)
3) x ~p(x) Por 2 y Simplificación Conjuntiva4) x ~q(x) Por 2 y Simplificación Conjuntiva5) ~p(a) Por 3 y GE6) ~q(a) Por 4 y GU7) ~p(a) ~q(a) ⋀ (5,6)8) ~(p(a) q(a)) ⋁ (7, Morgan)9) x (p(x) q(x)) ⋁ De la hipótesis o premisa10) p(a) q(a)⋁ Por 9 y EU11) Llegamos a una contradicción ~(p(a) q(a)) ^ p(a) ⋁ ⋁q(a) por 8 y 10 y falacia. ~ p ^ p
Por lo tanto se debe concluir que la hipótesis tomada inicialmente es falsa por lo tanto se cumple:
x(p(x) q(x)) -> xp(x) xq(x)⋁ ⋁
![Page 31: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/31.jpg)
ALGORITMOS CON MATRICES
Ejemplo: Analizar la suma de 2 matrices
P1: for i = 1 to nfor j = 1 to n
Lee A[i,j] Captura A[i,j]fin for
fin for
P2: for i = 1 to nfor j = 1 to n
Lee B[i,j] Captura B[i,j]fin for
fin for
![Page 32: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/32.jpg)
P3: for i = 1 to nfor j = 1 to n
S[i,j] = A[i,j] + B[i,j] fin for
fin for
P4: for i = 1 to nfor j = 1 to n
IMPRIME (S[i,j]) fin for
fin for
![Page 33: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/33.jpg)
APLICACIÓN EN .NET
Sub Main()Dim i,j,n as integerDim A[10,10], B[10,10], S[10,10] as integerConsole.writeline(“Ingrese la primera matriz”)for i = 1 to n
for j = 1 to nA[i,j] = Console.readline();
nextnext
Console.writeline(“Ingrese la segunda matriz”)for i = 1 to n
for j = 1 to nB[i,j] = Console.readline();
nextnext
![Page 34: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/34.jpg)
for i = 1 to nfor j = 1 to n
S[i,j] = A[i,j] + B[i,j]next
next
for i = 1 to nfor j = 1 to n
Console.writrline(“{0}, S[i,j]”)next
next
![Page 35: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/35.jpg)
MULTIPLICACION DE MATRICES
for i = 1 to nfor j = 1 to n
r(i,j) = 0for R = 1 to n
r[i,j] = r(i,j) + a[i,R] + B[R,j]
next
next
next
![Page 36: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/36.jpg)
ALGORITMO DE FIBONACCI
0,1,1,2,3,5,8,………
Fib(n) = Fin(n-1) + Fib(n-2)
Funcion F(n)INICIO
si n = 1retornar (0)
sinosi n=2
retornar (1)sino
retornar F(n-1) + F(n-2)fin si
fin siFIN
![Page 37: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/37.jpg)
APLICACIÓN EN .NET
Dim N,R as integerN = Integer.parse(textbox1.text)R = Fibo(n)Textobox2.text = R
Function Fibo(Byval n as Integer)if n = 1 then
return (0)else
if n = 2 thenreturn (1)
elsereturn Fibo(n-1) + Fibo(n-2)
end ifend if
![Page 38: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/38.jpg)
TECNICAS DE CONTEO
Regla de la Suma: Si una primera tarea puede realizarse de “m” formas mientras que una segunda tarea de “n” formas, y no es posible realizar ambas tareas simultaneamente, entonces podra llevar a cabo cualquiera de “m+n” tareas.
E1: Durante una campaña local hay 8 candidatos republicanos y 5 democratas que se nominan para presidente del consejo escolar
Si el presidente va a ser alguno de estos candidatos , cuantas posibilidades hay para escoger alguno de estos candidatos para la presidencia
R = {a,b,c,d,e,f,g,h} Entonces por el principioD = {1,2,3,4,5} de la suma se tiene
8 posibilidades de los republicanos5 posibilidades de los democratasEn total entonces tiene 13 posibilidades
![Page 39: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/39.jpg)
Regla del Producto: Si un procedimiento se puede descomponer en 2 etapas 1° y 2°, y si existen “m” resultados posibles de la 1° etapa, y si para c/u de estos resultados existan “n” resultados posibles para la 2° etapa, entonces el procedimiento total se puede realizar en el orden dado de m*n formas
E1: El club de teatro de un grupo de estudiantes realizan ensayos para una obra. Si hay 6 hombres y 8 mujeres, ensayan para los papeles principales (femenino y masculino), de cuantas formas puede elegirse a la pareja principal?
M = {M1,M2, ……..., M8}H = {H1,H2,...…,H6}
Usted puede decidir que se puede formar parejas para M1
H1H2 6 posibles formas para la primera
M1 . mujer, en general seria 6*8 formas . posibles de formar la pareja principalH6
![Page 40: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/40.jpg)
DIAGRAMA DE VENN Y TECNICAS DE CONTEO
Dado A y B de un universo finito U, se cumplen por teoria de conjuntos.
a) Si A y B son disjuntos, es decir:
A n B =
|A u B| = |A| + |B| Las 2 indican cantidad de sus elementos
b) Si A y B no son disjuntos:
|A u B| = |A| + |B| - |A n B|
![Page 41: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/41.jpg)
Ejemplo: Dado el cuadro siguiente:
Hallar: a) Cuantos sujetos son femeninos o endomorfos b) Cuantos sujetos no son masculinos y mesomorfos
a) |F u E| = |F| + |E| - |F n E|
= 164 + 139 - 62 = 236
______ __ ___ __ ___ __ ___ b) |M n Me| = |M| u |Me| = |M| + |Me| - |M n Me|
= 164 + 252 - 126 = 290
![Page 42: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/42.jpg)
Definición:
Sea A y B dos conjuntos dados llamaremos productos cartesiano de A por B y le representamos por AxB={(a,b)/a ∈ A,b ∈ B} Si A=B denotaremos con A2 a A x A.
Ejemplo:
Sean A={1,2} y B={a,b}AxB={(1,a),(1,b),(2,a),(2,b)}Es como ud. Observa el producto de 1 a 1 de lo “a ” que pertenecen a A con los ”b” que pertenecen a B.
PRODUCTO CARTESIANO
![Page 43: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/43.jpg)
Una relación es el subconjunto del producto cartesiano. Se dividen en :
a)Relación Reflexiva
b) Relación Simétrica
c) Relación Transitiva
d) Relación Anti simétrica
RELACIONES
![Page 44: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/44.jpg)
Relación Reflexiva:
Una relacion reflexiva es reflexiva si ∈ R (x,x) ∈ R
Ejemplo:
Sea A ={1,2,3}
R1={(1,1)(2,2)(3,3)(1,2)}
Es reflexiva
R2={(1,1),(2,2),(1,2)}
No es refelxiva faltaria (3,3)
![Page 45: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/45.jpg)
Relación Simétrica:
Una relacion sobre el conjunto A es simétrica si (x,y) ∈ R Entonces (y,x) ∈ R ∀ x,y ∈ A.
Ejemplo:
Si A={1,2,3}R1={(1,2),(2,1),(1,3),(3,1),(3,2)} es simétrica
![Page 46: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/46.jpg)
Relación Transitiva:
Posee un conjunto A una relacion R sobre A es transitiva si ∀ x, y ,z A (x,y) (y,z) ∈ R entonces (x,z) ∈ R
Ejemplo
Si A={1,2,3}R1= { (1,2)(2,3(1,3) }
Observe que :(a,b) (b,c) (a,c)(1,2) (2,3) (1,3)
![Page 47: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/47.jpg)
Anti simétrica:
Es anti simétrica si : a R b y b R a
Donde : a=b
además : a y b ∈ R o bien (a,b) ∈ R ó (b,a) ∈ R
![Page 48: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/48.jpg)
PERMUTACIONES
Una permutacion de “n” objetos diferentes tomados de “r en r” es una ordenacion de “r” objetos entre los “n” dados y atendiendo a la ordenacion. El numero de permutaciones de “n” objetos, de n en n se representa por Pr n, P(n,r) o Pn,r y viene dado por:
n!P(n,r) = -----------
(n-r)!
E1: En un grupo de 10 estudiantes se eligieron a 5 para una foto. Cuantas disposiciones posibles hay?
10!P(10,5) = ------------
(10 - 5)!
Tambien lo pueden razonar asi:10 9 8 7 6--- --- --- --- ---
Luego multiplicando por las posiciones se obtiene: 10*9*8*7*6 = 30040
![Page 49: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/49.jpg)
COMBINACIONES
Una combinacion de n objetos diferentes tomados de n en r es una relacion de los n objetos sin atender a la ordenacion de los mismos. El numero de combinaciones de “n” objetos tomados de n en r se representa por C(n,r), Cn,r; y viene dado por:
n! P(n,r) C(n,r) = ------------ = -------------
(n-r)!r! r!
E1: De cuantas formas puede elegirse un comité de 2 personas si hay un total de 4 personas. Personas: {A,B,C,D}
B C A C B
D D
C D
Usando formula: 4!C(n,r) = ------------ = 6
(4-2)!2!
![Page 50: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/50.jpg)
EJERCICIOS
1) De un grupo de 12 alumnos deben formarse 3 equipos de 4 participantes para que asistan a 3 pruebas distintas. Cuantas clasificaciones distintas pueden formarse?
C(12,4) * C(8,4) * C(4,4) = ??
2) Hay que colocar 5 hombres y 4 mujeres en una fila de modo que las mujeres ocupan los lugares pares. De cuantas maneras puede hacerse?
H1 M1 H2 M2 H3 M3 H4 M4 H5 M5
1 2 3 4 5 6 7 8 9 10
4! * 5! = 2880 maneras
![Page 51: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/51.jpg)
3) Cuantas permutaciones de los digitos 0,1,2,……,9 empiezan con 3 o terminan en 7 o cumplen ambas coincidencias.
3 0 1 2 3 4 5 6 7 8 9
7 0 1 2 3 4 5 6 7 8 9 3 7 0 1 2 3 4 5 6 7 8 9
Si asociamos: A = comienze en 3 B = termine en 7
|A u B| = |A| + |B| - |A n B| = 9! + 9! – 8!
4) Un estudiante tiene que contestar 8 de las 10 preguntas de un examen. Cuantas formas diferentes puede contestar?, Y si las 3 primeras son obligatorios?. Y si de las 5 primeras ha de contestar 4?
a) C(10,8)b) C(7,5)c) C(5,4) * C(5,4)
![Page 52: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/52.jpg)
5) Cuanta palabras de 10 letras diferentes pueden formarse con 5 vocales y 5 consonantes de las 21 existentes de manera que no haya 2 vocales juntas ni 2 consonantes.
V C V C V C V C V C
ó
C V C V C V C V C V
2! * P(5,5) * P(21,5) = 586051200
![Page 53: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/53.jpg)
ALGEBRA RELACIONALALGEBRA RELACIONALProjeccion (Projeccion (Π)Π):: Devuelve un atributo vertical (columna),cDevuelve un atributo vertical (columna),crea una nueva rea una nueva
relación a partir de otra,se puede extraer más de una columna, se eliminan relación a partir de otra,se puede extraer más de una columna, se eliminan las tuplas duplicadas que pudieran resultar. las tuplas duplicadas que pudieran resultar.
Su equivalente en SQL:Su equivalente en SQL:Select T1.A,T1.C from T1Select T1.A,T1.C from T1
![Page 54: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/54.jpg)
Select (Select (σσ):):
Permite seleccionar las tuplas de una relación que cumplen una determinada condición. Permite seleccionar las tuplas de una relación que cumplen una determinada condición. Da como resultado una nueva relación.Da como resultado una nueva relación.
Select T1.A, T1.B,T1.c from T1Select T1.A, T1.B,T1.c from T1
Where T1.B>=2Where T1.B>=2
![Page 55: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/55.jpg)
Unión (U)Unión (U):: La unión de dos tablas R y S es el conjunto de las tuplas que están en R, en La unión de dos tablas R y S es el conjunto de las tuplas que están en R, en
S o en las dos.S o en las dos. Si existe alguna tupla repetida sólo se escribirá una vez en el resultado. Si existe alguna tupla repetida sólo se escribirá una vez en el resultado. Requiere que R y S tengan el mismo rango. Requiere que R y S tengan el mismo rango.
![Page 56: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/56.jpg)
Interseccion(n)Interseccion(n)::
Dadas dos tablas R y S, su intersección es el conjunto de las tuplas que Dadas dos tablas R y S, su intersección es el conjunto de las tuplas que están en R y en S. están en R y en S.
Requiere que R y S tengan el mismo rango.Requiere que R y S tengan el mismo rango.
![Page 57: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/57.jpg)
Diferencia(-)Diferencia(-)::
La diferencia de dos tablas R y S es una nueva relación en la que se La diferencia de dos tablas R y S es una nueva relación en la que se encuentran las tuplas que pertenecen a R y que no pertenecen a S. encuentran las tuplas que pertenecen a R y que no pertenecen a S.
![Page 58: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/58.jpg)
PRODUCTO CARTESIANOPRODUCTO CARTESIANO
Crea una nueva relación, a través de dos tablas R y S, cuyas tuplas se Crea una nueva relación, a través de dos tablas R y S, cuyas tuplas se obtienen concatenando cada tupla de R con cada tupla de S.obtienen concatenando cada tupla de R con cada tupla de S.
![Page 59: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/59.jpg)
Ejemplo: Dada las relaciones, estudiante(sujeto) lleva(verbo) Ejemplo: Dada las relaciones, estudiante(sujeto) lleva(verbo) cursos(predicadocursos(predicado
![Page 60: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/60.jpg)
![Page 61: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/61.jpg)
a) Utilizando el algebra relacional muestre el Cod_Est,Nom_Est,Ape_Est.El a) Utilizando el algebra relacional muestre el Cod_Est,Nom_Est,Ape_Est.El Nom_Cur y la Nota para todos los estudiantes que han llevado CalculoI y cuya nota Nom_Cur y la Nota para todos los estudiantes que han llevado CalculoI y cuya nota es >13es >13
1)T4=T3*T11)T4=T3*T12)T5=T4*T22)T5=T4*T23)T6=3)T6= Π(T5) Π(T5)
![Page 62: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/62.jpg)
ENTEROS Y DIVISIONENTEROS Y DIVISION
DefinicionDefinicion
Si a y b son enteros , a diferente de cero decimos que aSi a y b son enteros , a diferente de cero decimos que a \b y \b y c Enteros ∃ ∈c Enteros ∃ ∈/b=ac/b=ac
Propiedades:Propiedades:1)1) Si a\b y a\c entonces a\(b+c)Si a\b y a\c entonces a\(b+c)2)2) Si a\b entonces a\b cSi a\b entonces a\b c
entero centero c3)3) Si a\b y b\c entonces a\ cSi a\b y b\c entonces a\ c
El algoritmo de la división El algoritmo de la división sea a un entero y b un entero positivo , existen 2 únicos enteros q y r 0<=r<d / sea a un entero y b un entero positivo , existen 2 únicos enteros q y r 0<=r<d /
a=d*q+r.a=d*q+r.
![Page 63: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/63.jpg)
MAXIMO COMUN DIVISOR MAXIMO COMUN DIVISOR
Definición:Definición:Sean a y b enteros no nulos el mayor entero d/a y d/b se denomina máximoSean a y b enteros no nulos el mayor entero d/a y d/b se denomina máximocomún divisor de a y b y se denota como MCD(a,b)común divisor de a y b y se denota como MCD(a,b)
Algoritmo:Algoritmo:Function MCD(x,y)Function MCD(x,y) Mientras (x ≠y)Mientras (x ≠y)
if(x>y)thenif(x>y)thenx=x-yx=x-y
elseelsey=y-xy=y-x
End ifEnd ifFin mientrasFin mientrasReturn x end functionReturn x end functionPara hallar el MCD de mas UD puede sobrecargar la función.Para hallar el MCD de mas UD puede sobrecargar la función.
![Page 64: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/64.jpg)
RELACIONES RECURSIVAS O DE RELACIONES RECURSIVAS O DE RECURRENCIA LINEALES CON RECURRENCIA LINEALES CON COEFICIENTES CONSTANTESCOEFICIENTES CONSTANTES
Una relación recursiva de orden K es una función de la forma .Una relación recursiva de orden K es una función de la forma .
Sn =Sn =δδ(Sn-1 ,Sn-2 … ,Sn-k,n)(Sn-1 ,Sn-2 … ,Sn-k,n)
Es decir donde el n-esimo termino Sn, de una sucesión es una función de Es decir donde el n-esimo termino Sn, de una sucesión es una función de los k términos precedentes los k términos precedentes Sn-1 ,Sn-2 … ,Sn-k(y posiblemente en n ) en Sn-1 ,Sn-2 … ,Sn-k(y posiblemente en n ) en particular una relación recursiva lineal de orden k con coeficientes particular una relación recursiva lineal de orden k con coeficientes constantes es una relación recursiva de la forma.constantes es una relación recursiva de la forma.
Sn = C1Sn-1 + C2Sn-2 + … + CkSn-k+f(n)Sn = C1Sn-1 + C2Sn-2 + … + CkSn-k+f(n)
Donde C1,C2,…,CK son constantes los Ck ≠0 y f(n) es una función de n. A Donde C1,C2,…,CK son constantes los Ck ≠0 y f(n) es una función de n. A continuación se proporciona el significado de los términos lineal y continuación se proporciona el significado de los términos lineal y coeficientes constantes .coeficientes constantes .-Lineal se refiere cuando no hay potencias o productos de los aj.-Lineal se refiere cuando no hay potencias o productos de los aj.-Coeficientes constantes: Los C1,C2,…Ck son constantes(no dependen de -Coeficientes constantes: Los C1,C2,…Ck son constantes(no dependen de n).n).
![Page 65: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/65.jpg)
Considere c/u de las siguientes relaciones de recurrencia.Considere c/u de las siguientes relaciones de recurrencia.
a)a) Sn = 5Sn-1 -4Sn-2 + nSn = 5Sn-1 -4Sn-2 + n22
Es no homogénea debido a la Es no homogénea debido a la nn22
b)b) Sn = 2Sn-1 *Sn-2 + n Sn = 2Sn-1 *Sn-2 + n22
Es no homogénea debido a la Es no homogénea debido a la nn22 además el producto Sn-1 *Sn-2 significa además el producto Sn-1 *Sn-2 significa que la relación de recurrencia es no linealque la relación de recurrencia es no lineal
c)c) Sn = nSn-1 +3Sn-2 Sn = nSn-1 +3Sn-2Se trata de una relación de recurrencia lineal homogénea de segundo Se trata de una relación de recurrencia lineal homogénea de segundo orden, pero sin coeficientes constantes por que el coeficiente de orden, pero sin coeficientes constantes por que el coeficiente de Sn-1 es Sn-1 es nn
d)d) Sn = 2Sn-1 +5Sn-2 -6Sn-3 Sn = 2Sn-1 +5Sn-2 -6Sn-3
Se trata de recurrencia lineal homogenea de tercer orden con coeficiente Se trata de recurrencia lineal homogenea de tercer orden con coeficiente constantes.constantes.
![Page 66: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/66.jpg)
SOLUCIÓN DE RELACIONES DE RECURRENCIA LINEALESSOLUCIÓN DE RELACIONES DE RECURRENCIA LINEALES
HOMOGÉNEAS DE SEGUNDO ORDENHOMOGÉNEAS DE SEGUNDO ORDEN
Teorema 1:Teorema 1:
Suponga que el polinomio característico Suponga que el polinomio característico
ΔΔ(x)=x(x)=x22-5x-t de la relación de recurrencia -5x-t de la relación de recurrencia
Sn=5Sn-1 +tSn-2Sn=5Sn-1 +tSn-2
Tiene raíces distintas r1 y r2 entonces las solución general de la relación de Tiene raíces distintas r1 y r2 entonces las solución general de la relación de recurrencia es la siguiente C1 y C2 son constantes arbitrarias .recurrencia es la siguiente C1 y C2 son constantes arbitrarias .
Sn=CSn=C11rrnn +C +C22r2r2nn
Ejemplo:Ejemplo:
Sea Sea
Sn=2Sn-1 +3Sn-2Sn=2Sn-1 +3Sn-2
La solución general se obtiene al resolver el polinomio característico.La solución general se obtiene al resolver el polinomio característico.
![Page 67: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/67.jpg)
XX22=2x+3=2x+3
XX22-2x-3=0-2x-3=0
(x-3)(x+1)=0(x-3)(x+1)=0
rr11=3,r=3,r22=-1=-1
La ecuación es:La ecuación es:
Sn=CSn=C11rr11nn+C+C22rr22
nn
Sn=CSn=C11(3)(3)nn+C+C22(-1)(-1)nn
Cuando n=0 entonces SCuando n=0 entonces S00=1=1
SS00=C=C11(3) (3) 00+C+C22(-1)(-1)00
1=C1=C11+C+C2 2 (I)(I)
n=1n=1
2=C2=C11(3)+C(3)+C22(-1) (II)(-1) (II)
CC11=3/4=3/4
CC22=1/4=1/4
SSnn=3/4*(3)=3/4*(3)nn+1/4*(-1)+1/4*(-1)nn
E2:E2:
Considere la sucesión de fibonacci Considere la sucesión de fibonacci
SSnn=S=Sn-1n-1+S+Sn-2n-2 con S con Soo=0,S=0,S11=1=1
![Page 68: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/68.jpg)
XX22-x-1=0-x-1=0
rr11=(1+=(1+√5)/2√5)/2
rr22=(1-=(1-√5)/2√5)/2
Sn=CSn=C11(1+(1+√5)/2+C√5)/2+C22(1-(1-√5)/2√5)/2
Reemplazando valores de las condiciones iníciales SReemplazando valores de las condiciones iníciales S00=0 y S=0 y S11=1=1
La ecuación queda así:La ecuación queda así:
Los valores de CLos valores de C11=1/=1/ √5 y √5 y CC22=-1/=-1/ √5, al resolver las 2 ecuaciones con 2 √5, al resolver las 2 ecuaciones con 2 incognitasincognitas
Por loi tanto la solucion queda:Por loi tanto la solucion queda:
Sn=(1/ Sn=(1/ √5√5 )((1+ )((1+√5√5 )/2) )/2)nn-(1/-(1/√5√5 )((1- )((1- √√5 )/2 )5 )/2 )nn
Cuando las raíces del polinomio característico son iguales.Cuando las raíces del polinomio característico son iguales.
![Page 69: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/69.jpg)
TEOREMA 2
Supóngase que el polinomio característico.Supóngase que el polinomio característico.
ΔΔ(x)=x(x)=x22-5x-t solo tiene una raiz ro-5x-t solo tiene una raiz ro
Entonces para SEntonces para Snn=5S=5Sn-1n-1+tS+tSn-2n-2
Se concluye que la solucion general de la relacion de recurrencia donde C1 y C2 son constantes Se concluye que la solucion general de la relacion de recurrencia donde C1 y C2 son constantes arbitrarias es:arbitrarias es:
Sn=CSn=C11(ro)(ro)nn+C+C22n(ro)n(ro)nn
Las constantes CLas constantes C11 y C y C22 son constantes arbitrarias se determinan en forma son constantes arbitrarias se determinan en formaúnica mediante las condiciones iníciales.única mediante las condiciones iníciales.
E1:SE1:Snn=6S=6Sn-1n-1-9S-9Sn-2n-2, S, S11=3 y S=3 y S22=27=27xx22-6x+9=(x-3)-6x+9=(x-3)22
SSnn=C=C11(3)(3)nn+nC+nC22(3)(3)nn
Como para n=1 , SComo para n=1 , S11=3=3Y para n=2 y SY para n=2 y S22=27 =27 Remplazando se llega a :CRemplazando se llega a :C22=2 y C=2 y C11=-1=-1Entonces:Entonces:Sn=(-1)(3)Sn=(-1)(3)nn+2n(3)+2n(3)nn
![Page 70: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/70.jpg)
OBSERVACION
Si r es una raiz de multiplicidad m del polinomio característico Si r es una raiz de multiplicidad m del polinomio característico ΔΔ(x):(x):
Luego cada uno de los siguientes Luego cada uno de los siguientes
rrnn, nr, nrnn,n,n22(r(rnn),….(n),….(nn-1n-1)(r)(rnn))
Es una solución .Luego cualquier combinación Es una solución .Luego cualquier combinación
CC11(r(rnn)+C)+C22(nr(nrnn)+…+C)+…+Cmm((n((nm-1m-1)(r)(rnn))))
![Page 71: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/71.jpg)
E1: Considere la siguiente relación homogénea de recurrencia de tercer orden.E1: Considere la siguiente relación homogénea de recurrencia de tercer orden.
SSnn=11S=11Sn-1n-1-39S-39Sn-2n-2+45S+45Sn-3n-3
ΔΔ(x)=x(x)=x33-11x-11x22+39x-45=(x-3)+39x-45=(x-3)22(x-5)(x-5)
Luego Luego ΔΔ(x) tiene 2 raíces r1=3 de multiplicidad 2,y r2=5,luego por la (x) tiene 2 raíces r1=3 de multiplicidad 2,y r2=5,luego por la observación, la siguiente es la solución general de la recurrencia.observación, la siguiente es la solución general de la recurrencia.
Sn=CSn=C11(3)(3)nn+C+C22n(3)n(3)nn+C+C33(5)(5)nn
Supongamos que tenemos condiciones inícialesSupongamos que tenemos condiciones iníciales
SS00=5,S=5,S11=11,S=11,S22=25, llegamos a C=25, llegamos a C11=4,C=4,C22 =-2 C =-2 C33=1=1
Al resolver las ecuaciones entonces Al resolver las ecuaciones entonces Sn=(4-2n)(3Sn=(4-2n)(3nn)+5)+5nn
![Page 72: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/72.jpg)
FUNCIONESFUNCIONES
![Page 73: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/73.jpg)
![Page 74: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/74.jpg)
![Page 75: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/75.jpg)
![Page 76: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/76.jpg)
ARBOLESARBOLES
Sea A un conjunto , y T es un árbol si existe un vértice Vo en A con la propiedad Sea A un conjunto , y T es un árbol si existe un vértice Vo en A con la propiedad de que existe una única trayectoria en T de Vo hacia cualquier otro vértice en A.de que existe una única trayectoria en T de Vo hacia cualquier otro vértice en A.
![Page 77: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/77.jpg)
*El nivel mas grande de un árbol es la altura de este.*El nivel mas grande de un árbol es la altura de este.
*Los vértices del árbol que no tienen hijos son las hojas del árbol.*Los vértices del árbol que no tienen hijos son las hojas del árbol.
![Page 78: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/78.jpg)
ALGORITMO DE DIJSTRAALGORITMO DE DIJSTRAAlgoritmoAlgoritmo Teniendo un grafo dirigido ponderado de N nodos no aislados, sea x el nodo inicial, un Teniendo un grafo dirigido ponderado de N nodos no aislados, sea x el nodo inicial, un
vector D de tamaño N guardará al final del algoritmo las distancias desde x al resto de los vector D de tamaño N guardará al final del algoritmo las distancias desde x al resto de los nodos.nodos.
Inicializar todas las distancias en D con un valor infinito relativo ya que son desconocidas al Inicializar todas las distancias en D con un valor infinito relativo ya que son desconocidas al principio, exceptuando la de x que se debe colocar en 0 debido a que la distancia de x a x principio, exceptuando la de x que se debe colocar en 0 debido a que la distancia de x a x sería 0.sería 0.
Sea a = x (tomamos a como nodo actual).Sea a = x (tomamos a como nodo actual). Recorremos todos los nodos adyacentes de Recorremos todos los nodos adyacentes de aa, excepto los nodos marcados, llamaremos a , excepto los nodos marcados, llamaremos a
estos vestos vii..
Si la distancia desde x hasta vSi la distancia desde x hasta vii guardada en D es mayor que la distancia desde x hasta a guardada en D es mayor que la distancia desde x hasta a
sumada a la distancia desde a hasta vsumada a la distancia desde a hasta vii; esta se sustituye con la segunda nombrada, esto es:; esta se sustituye con la segunda nombrada, esto es:
si (Dsi (Dii > D > Daa + d(a,v + d(a,vii)) entonces D)) entonces Dii = D = Daa + d(a,v + d(a,vii)) Marcamos como completo el nodo a.Marcamos como completo el nodo a. Tomamos como próximo nodo actual el de menor valor en D (puede hacerse almacenando Tomamos como próximo nodo actual el de menor valor en D (puede hacerse almacenando
los valores en una cola de prioridad) y volvemos al paso 3 mientras existan nodos no los valores en una cola de prioridad) y volvemos al paso 3 mientras existan nodos no marcados.marcados.
Una vez terminado al algoritmo, D estará completamente lleno.Una vez terminado al algoritmo, D estará completamente lleno.
![Page 79: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/79.jpg)
![Page 80: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/80.jpg)
![Page 81: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/81.jpg)
![Page 82: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/82.jpg)
![Page 83: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/83.jpg)
![Page 84: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/84.jpg)
ALGORITMO DE KRUSKALALGORITMO DE KRUSKAL
Funciona de la siguiente manera:Funciona de la siguiente manera: se crea un bosque se crea un bosque BB (un conjunto de árboles), donde cada vértice del grafo es (un conjunto de árboles), donde cada vértice del grafo es
un árbol separadoun árbol separado se crea un conjunto se crea un conjunto CC que contenga a todas las aristas del grafo que contenga a todas las aristas del grafo mientras mientras CC es es no vacíono vacío
eliminar una arista de peso mínimo de eliminar una arista de peso mínimo de CC si esa arista conecta dos árboles diferentes se añade al bosque, si esa arista conecta dos árboles diferentes se añade al bosque,
combinando los dos árboles en un solo árbolcombinando los dos árboles en un solo árbol en caso contrario, se desecha la aristaen caso contrario, se desecha la arista
Al acabar el algoritmo, el bosque tiene un solo componente, el cual forma un Al acabar el algoritmo, el bosque tiene un solo componente, el cual forma un árbol de expansión mínimo del grafo.árbol de expansión mínimo del grafo.
Este algoritmo fue publicado por primera vez en Este algoritmo fue publicado por primera vez en Proceedings of the American Proceedings of the American Mathematical SocietyMathematical Society, pp. 48–50 en 1956, y fue escrito por Joseph Kruskal., pp. 48–50 en 1956, y fue escrito por Joseph Kruskal.
![Page 85: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/85.jpg)
![Page 86: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/86.jpg)
![Page 87: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/87.jpg)
![Page 88: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/88.jpg)
ÁRBOLES GENERALES (N-ARIOS)ÁRBOLES GENERALES (N-ARIOS)
DefiniciónDefinición
Un árbol A se define como un conjunto de Un árbol A se define como un conjunto de elementos llamados nodos o vértices, de elementos llamados nodos o vértices, de forma que:forma que:
- A es vacío, en cuyo caso se llama árbol vacío - A es vacío, en cuyo caso se llama árbol vacío o árbol nulo, oo árbol nulo, o
- A contiene un nodo distinguido v- A contiene un nodo distinguido v00 llamado llamado raíz de A y los nodos restantes de A forman raíz de A y los nodos restantes de A forman un conjunto de árboles Aun conjunto de árboles A11, A, A22 , A , A33, ..., A, ..., Ann
Cada árbol ACada árbol Aii tiene como raíz al nodo v tiene como raíz al nodo vii
Un árbol se representa mediante un grafo en Un árbol se representa mediante un grafo en donde la raíz vdonde la raíz v00 es el nodo en A en la parte es el nodo en A en la parte superior. Una línea hacia abajo de izquierda a superior. Una línea hacia abajo de izquierda a derecha, un arco señala a los hijos de vderecha, un arco señala a los hijos de v00
![Page 89: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/89.jpg)
ÁRBOLES GENERALES (N-ARIOS)ÁRBOLES GENERALES (N-ARIOS)
Ejemplo: Considere el árbol A siguiente:
1
2 3 4
65 7 8
12 13
17 18
14
9 10 11
16
19
15
Nivel 0
Nivel 1
Nivel 2
Nivel 3
Nivel 4
![Page 90: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/90.jpg)
ÁRBOLES GENERALES (N-ARIOS)ÁRBOLES GENERALES (N-ARIOS)
Raíz: 1Momento: 19Peso: 10Altura: 4Grado(3): 2Grado(4): 3Descendientes de 8: 8, 13, 14, 17 y 18Descendientes propios de 8: 13, 14, 17 y 18Antecesores de 8: 1, 3 y 8Antecesores propios de 8: 1 y 3
![Page 91: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/91.jpg)
Á RBOLES GENERALES (N-ARIOS)Á RBOLES GENERALES (N-ARIOS)
Ejemplo: Sea el árbol de vértices V y altura hDefinimos h(u) la altura del subárbol con raíz uSi V = h = -1
V = {a} V = {a, b} V= {a, b, c, d, e}h = 0 h = 1 h = 2
a a
b
a
b c
d e
h(a) = h = 2
h(b) = h(c) =1
h(d) = h(e) = 0h(b) = 0
h(a) = h = 1
![Page 92: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/92.jpg)
ÁRBOLES GENERALES (N-ARIOS)ÁRBOLES GENERALES (N-ARIOS)TEOREMATEOREMA
Sea A un grafo con n vérticesSea A un grafo con n vértices
Las siguientes afirmaciones son equivalentesLas siguientes afirmaciones son equivalentes
1. A es un árbol1. A es un árbol
2. A es conexa y acíclica2. A es conexa y acíclica
3. A es conexa y tiene n-1 aristas3. A es conexa y tiene n-1 aristas
4. A es acíclica y tiene n-1 aristas4. A es acíclica y tiene n-1 aristas
TEOREMATEOREMA
Si a, b son vértices distintos de un árbol A, Si a, b son vértices distintos de un árbol A, entonces existe un único camino que conecta entonces existe un único camino que conecta estos vértices.estos vértices.
Se puede demostrar que como A es conexo, Se puede demostrar que como A es conexo, existe al menos un camino de a hacia b. Si existe al menos un camino de a hacia b. Si hubiera más caminos de este tipo, por medio hubiera más caminos de este tipo, por medio de dos de ellos, algunas aristas podrían tener de dos de ellos, algunas aristas podrían tener ciclos, pero sabemos que un árbol no tiene ciclos, pero sabemos que un árbol no tiene ciclos.ciclos.
![Page 93: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/93.jpg)
Más EjemplosMás Ejemplos
A
F
CB
D E G
A
CB
D E
Árbol completo de nivel 2
Cada nodo del nivel n es una hoja
Árbol no completo de nivel 2
Un nodo del nivel n-1 es una hoja
![Page 94: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/94.jpg)
REPRESENTACIÓN EN MEMORIA DEREPRESENTACIÓN EN MEMORIA DE ÁRBOLES GENERALESÁRBOLES GENERALES
Representación mediante lista de hijosRepresentación mediante lista de hijos
Cuando los nodos están etiquetados con Cuando los nodos están etiquetados con mayor información, es conveniente utilizar mayor información, es conveniente utilizar una estructura de listas, en donde cada una estructura de listas, en donde cada nodo es una estructura de la formanodo es una estructura de la forma
RegistroRegistro NodoNodo
InicioInicio
TT ValorValor
NodoNodo *sig*sig
FinRegistroFinRegistro
Este modelo presenta la restricción que el Este modelo presenta la restricción que el número de nodos está limitado al tamaño número de nodos está limitado al tamaño del vector.del vector.
![Page 95: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/95.jpg)
REPRESENTACIÓN EN MEMORIA DEREPRESENTACIÓN EN MEMORIA DE ÁRBOLES GENERALESÁRBOLES GENERALES
Representación mediante lista de hijosRepresentación mediante lista de hijos
RAÍZ RAÍZ es un arreglo de tamaño n (tamaño de V) es un arreglo de tamaño n (tamaño de V)
RAÍZ(i) RAÍZ(i) es la cabeza de la lista que contiene los es la cabeza de la lista que contiene los hijos del nodo i.hijos del nodo i.
1
2
3
4 *
5
6 *
7 *
8 *
9 *
10 *
2 3 *
4 5 *
9
6 7 8 *
10 *
RAÍZ Lista de hijos
1
2 3
4 5
6
910
7 8
![Page 96: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/96.jpg)
REPRESENTACIREPRESENTACIÓÓN EN MEMORIA DE N EN MEMORIA DE ÁRBOLES GENERALESÁRBOLES GENERALES
Acción Recorrido(N)Acción Recorrido(N)
InicioInicio
Para I desde 1 hasta NPara I desde 1 hasta N
p = Raíz(I)p = Raíz(I)
Mientras p Mientras p Nulo Nulo
Escribir p Escribir p Valor Valor
p p p p sig sig
FinMientrasFinMientras
FinParaFinPara
FinFin
![Page 97: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/97.jpg)
REPRESENTACIREPRESENTACIÓÓN EN MEMORIA DE N EN MEMORIA DE ÁRBOLES GENERALESÁRBOLES GENERALES
Raíz(i) es la cabeza de la lista de los hijos Raíz(i) es la cabeza de la lista de los hijos del nodo idel nodo ii Raíz(i) Hijos del nodo i
1 Raíz(1) 2, 3
2 Raíz(2) 4, 5
3 Raíz(3) 9, 10
4 Raíz(4) = Nulo No tiene
5 Raíz(5) 6, 7, 8
6 Raíz(6) = Nulo No tiene
7 Raíz(7) = Nulo No tiene
8 Raíz(8) = Nulo No tiene
9 Raíz(9) = Nulo No tiene
10 Raíz(10) = Nulo No tiene
![Page 98: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/98.jpg)
REPRESENTACIREPRESENTACIÓÓN EN MEMORIA DE N EN MEMORIA DE ÁRBOLES GENERALESÁRBOLES GENERALES
La acción recorre todo el vector RAÍZ, aunque alguna raíz sea nula, por tanto no tiene hijos. Este recorrido resulta innecesario, y se puede solucionar haciendo que el vector Raíz sea una lista enlazada que contenga un nodo por cada nodo del árbol que no es hoja
1
2
3
5
2 3 *
4 5 *
9 10 *
6 7 8 *
RAÍZ Lista de hijos
![Page 99: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/99.jpg)
REPRESENTACIREPRESENTACIÓÓN EN MEMORIA DE N EN MEMORIA DE ÁRBOLES GENERALESÁRBOLES GENERALES
Puntero al hijo de más a la izquierda–Puntero al hijo de más a la izquierda–hermano derecho (HI-HD)hermano derecho (HI-HD)
Los nodos tienen dos apuntadores uno al Los nodos tienen dos apuntadores uno al hijo de más a la izquierda y el otro al hijo de más a la izquierda y el otro al hermano derecho.hermano derecho.
Puntero al hermano derecho
Puntero al hijo más a la izquierda
Valor del nodo
![Page 100: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/100.jpg)
REPRESENTACIREPRESENTACIÓÓN EN MEMORIA DE N EN MEMORIA DE ÁRBOLES GENERALESÁRBOLES GENERALES
Ejemplo:Ejemplo: El árbol de la figura (a) puede El árbol de la figura (a) puede representarse mediante el modelo HI-HD representarse mediante el modelo HI-HD mostrado en la figura (b)mostrado en la figura (b)
(a) (b)
![Page 101: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/101.jpg)
REPRESENTACIREPRESENTACIÓÓN EN MEMORIA DE N EN MEMORIA DE ÁRBOLES GENERALESÁRBOLES GENERALES
Representación mediante cursores hijo más a la Representación mediante cursores hijo más a la izquierda-hermano derecho izquierda-hermano derecho
La variable La variable CABEZACABEZA apunta a la dirección de la raíz apunta a la dirección de la raíz del árbol (del árbol (VALOR(i)VALOR(i)))..
HIJO(i) HIJO(i) apunta a la posición (NODO(HIJO(i)) donde apunta a la posición (NODO(HIJO(i)) donde se encuentra la dirección del hijo de más a la se encuentra la dirección del hijo de más a la izquierda.izquierda.
SIG(i)SIG(i) apunta a la posición (NODO(i)) donde se apunta a la posición (NODO(i)) donde se encuentra la dirección del hermano derecho.encuentra la dirección del hermano derecho.
A
B C
GE FD
![Page 102: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/102.jpg)
REPRESENTACIREPRESENTACIÓÓN EN MEMORIA DE N EN MEMORIA DE ÁRBOLES GENERALESÁRBOLES GENERALES
Representación mediante cursores hijo más a la Representación mediante cursores hijo más a la izquierda-hermano derecho izquierda-hermano derecho
1 F * 1
2 2 7 5
3 B 2 3
4 E * 4
5 A 6 5 4 8
6 G * 6 3 7
7 D * 7 8 *
8 C 9 8 1 *
9 9 6 *
5
VALOR HIJO NODO SIG
CABEZA
![Page 103: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/103.jpg)
Mediante hijo más a la izquierda-hermano derechoMediante hijo más a la izquierda-hermano derecho
RAIZRAIZ variable global apunta a la raíz del árbolvariable global apunta a la raíz del árbol
VALOR(i)VALOR(i) contiene el valor del nodo con dirección icontiene el valor del nodo con dirección i
HI(i)HI(i) contiene la dirección del hijo más a la izquierda contiene la dirección del hijo más a la izquierda del nodo idel nodo i
HD(i)HD(i) contiene la dirección del hermano derecho del contiene la dirección del hermano derecho del nodo inodo i 1 0 F 0
2
3 7 B 8
4 0 E 1
5 3 A 0
6 0 G 0
7 0 D 4
8 6 C 0
9
5
RAIZ
HI VALOR HD
A
B C
GE FD
![Page 104: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/104.jpg)
RECORRIDO CON LOS RECORRIDO CON LOS ARBOLESARBOLES
Recorrido PreordenRecorrido Preorden::
Visitar la raíz , descender por la izquierda, así hasta donde se pueda Visitar la raíz , descender por la izquierda, así hasta donde se pueda continuar, moverse a la derecha y comenzar nuevamente o volver hacia continuar, moverse a la derecha y comenzar nuevamente o volver hacia atrás hasta que se pueda mover a la derecha y continuaratrás hasta que se pueda mover a la derecha y continuar
J-E-A-H-T-M-VJ-E-A-H-T-M-V
![Page 105: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/105.jpg)
31-22-18-23-22-19-24-31-22-18-23-22-19-24-29-1929-19
31
BC D
23 FG
29 19
22
18
22
1924
![Page 106: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/106.jpg)
Recorrido InordenRecorrido Inorden::
En este caso se visita primero el subárbol izquierdo hasta donde se pueda,En este caso se visita primero el subárbol izquierdo hasta donde se pueda,
después se visita la raíz y por ultimo el subárbol derecho moviéndose un nododespués se visita la raíz y por ultimo el subárbol derecho moviéndose un nodo
a la derecha y continuar.a la derecha y continuar.
A-E-H-J-M-T-VA-E-H-J-M-T-V
![Page 107: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/107.jpg)
18-22-23-31-19-22-29-18-22-23-31-19-22-29-24-1924-19
![Page 108: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/108.jpg)
RECORRIDO POS RECORRIDO POS ORDENORDEN
En este caso se visita primero el subárbol En este caso se visita primero el subárbol izquierdo, así hasta donde se pueda, cuando no izquierdo, así hasta donde se pueda, cuando no se puede continuar al subárbol derecho hasta se puede continuar al subárbol derecho hasta que se pueda, y por ultimo visitar la raíz ,volver que se pueda, y por ultimo visitar la raíz ,volver hacia atrás y comenzar nuevamente.hacia atrás y comenzar nuevamente.
A-H-E-M-A-H-E-M-V-T-JV-T-J
![Page 109: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/109.jpg)
18-23-22-19-29-19-24-18-23-22-19-29-19-24-22-3122-31
![Page 110: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/110.jpg)
ÁRBOLES BINARIOS ÁRBOLES BINARIOS DE BÚSQUEDA (ABB)DE BÚSQUEDA (ABB)
![Page 111: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/111.jpg)
DefiniciónDefinición Es una estructura sobre la que se pueden desarrollar Es una estructura sobre la que se pueden desarrollar
eficientemente eficientemente las operaciones de:las operaciones de:
BúsquedaBúsqueda InserciónInserción EliminaciónEliminación
Definición formal:Definición formal: ““Para todo nodo Para todo nodo TT del árbol debe cumplirse que del árbol debe cumplirse que
todos los valores de los nodos del subárbol izquierdo todos los valores de los nodos del subárbol izquierdo de de TT deben ser menores o iguales al valor del nodo deben ser menores o iguales al valor del nodo TT. De forma análoga, todos los valores de los nodos . De forma análoga, todos los valores de los nodos del subárbol derecho de del subárbol derecho de TT deben ser mayores o deben ser mayores o iguales al valor del nodo iguales al valor del nodo TT””
![Page 112: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/112.jpg)
EjemploEjemplo
120
14087
130
135
9943
9322 65
56
![Page 113: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/113.jpg)
BÚSQUEDA EN UN BÚSQUEDA EN UN ÁRBOL ABBÁRBOL ABB
accion BUSQUEDA (Nodo, Val_bus) si (Nodo <> null) entonces si (Val_bus < Nodo->valor) entonces
BUSQUEDA (Nodo->hijo_izq , Val_bus) sino
si (Val_bus > Nodo->valor) entonces BUSQUEDA (Nodo->hijo_der , Val_bus) sino
Escribir (“El nodo ha sido hallado en el árbol”) fin_si
fin_si sino Escribir (“El nodo no se encuentra en el árbol”) fin_sifin_accion
![Page 114: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/114.jpg)
BÚSQUEDA EN UN BÚSQUEDA EN UN ÁRBOL ABBÁRBOL ABB
accion buscarNodo (Raiz, Val_bus) BUSQUEDA (Raiz, Val_bus) fin_accion
Ubicar 65 y 170 en el siguiente árbol: 120
14087
130
135
9943
9322 65
56
![Page 115: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/115.jpg)
o Los pasos que deben realizarse para insertar un elemento a un árbol binario de búsqueda son los siguientes:
Debe compararse la clave a insertar con la raíz del árbol.
Si es mayor, debe avanzarse hacia el subárbol derecho. Si es menor, debe avanzarse hacia el subárbol izquierdo.
Repetir sucesivamente el primer paso hasta que se cumpla alguna de las siguientes condiciones:
El subárbol derecho es igual a vacío, o el subárbol izquierdo es igual a vacío, en cuyo caso se procederá a insertar el elemento en el lugar que le corresponde.
La clave que quiere insertarse es igual a la raíz del árbol, en cuyo caso no se realiza la inserción.
INSERCIÓN EN UN INSERCIÓN EN UN ÁRBOL ABBÁRBOL ABB
![Page 116: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/116.jpg)
INSERCIÓN EN UN INSERCIÓN EN UN ÁRBOL ABBÁRBOL ABB
accion INSERCION (Nodo, Val) si (Nodo <> null) entonces si (Val < Nodo->valor) entonces
INSERCIÓN (Nodo->hijo_izq, Val) sino si (Val > Nodo->valor) entonces
INSERCIÓN (Nodo->hijo_der, Val) sino Escribir (“El nodo ya se encuentra en el árbol”)
fin_si fin_si
sinon <- nuevo Nodo
n->hijo_izq <- null n->hijo_der <- null n->valor <- Val Nodo <- n fin_sifin_accion
![Page 117: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/117.jpg)
accion insertarNodo (Raiz, Val) INSERCION (Raiz, Val) fin_accion
Insertar 120, 87, 43, 65, 140, 99, 130, 22, 56
INSERCIÓN EN UN INSERCIÓN EN UN ÁRBOL ABBÁRBOL ABB
120
120
87
120
87
43
![Page 118: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/118.jpg)
Insertar 120, 87, 43, 65, 140, 99, 130, 22, 56
INSERCIÓN EN UN INSERCIÓN EN UN ÁRBOL ABBÁRBOL ABB
120
87
43
65
120
87
43
65
140
![Page 119: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/119.jpg)
Insertar 120, 87, 43, 65, 140, 99, 130, 22, 56
INSERCIÓN EN UN INSERCIÓN EN UN ÁRBOL ABBÁRBOL ABB
120
87
43
65
140
99
120
87
43
65
140
99 130
![Page 120: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/120.jpg)
Insertar 120, 87, 43, 65, 140, 99, 130, 22, 56
INSERCIÓN EN UN INSERCIÓN EN UN ÁRBOL ABBÁRBOL ABB
120
87
43
65
140
99 130
22
120
87
43
65
140
99 130
22
56
![Page 121: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/121.jpg)
ELIMINACIÓN EN UN ELIMINACIÓN EN UN ÁRBOL ABBÁRBOL ABB
o Consiste en eliminar un nodo sin violar los principios que definen un árbol binario de búsqueda. Se deben distinguir los siguientes casos:
o Si el elemento a borrar es terminal u hoja, se procede a eliminarlo.
o Si el elemento a borrar tiene un solo descendiente, entonces tiene que sustituirse por ese descendiente.
o Si el elemento a borrar tiene los dos descendientes, entonces se tiene que sustituir por el nodo que se encuentra más a la izquierda en el subárbol derecho o por el nodo que se encuentra más a la derecha en el subárbol izquierdo.
o Además, antes de eliminar un nodo debe garantizarse de que éste exista en el árbol.
![Page 122: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/122.jpg)
ELIMINACIÓN EN UN ELIMINACIÓN EN UN ÁRBOL ABBÁRBOL ABB
accion ELIMINACION (Nodo, Val) si (Nodo <> null) entonces si (Val < Nodo->valor) entonces
ELIMINACION (Nodo->hijo_izq, Val) sino si (Val > Nodo->valor) entonces ELIMINACION (Nodo->hijo_der, Val) sino
n <- Nodo si (n->hijo_der = null) entonces
Nodo <- (n->hijo_izq) sino
si (n->hijo_izq = null) entonces Nodo <- (n->hijo_der) sino AUX <- (Nodo->hijo_izq)
bandera <- Falso
![Page 123: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/123.jpg)
ELIMINACIÓN EN UN ELIMINACIÓN EN UN ÁRBOL ABBÁRBOL ABB
mientras (AUX->hijo_der <> null) hacer TEMP <- AUX
AUX <- (AUX->hijo_der) bandera <- Verdadero
fin_mientras(Nodo->valor) <- (AUX->valor)n <- AUXsi bandera = VERDADERO entonces
(TEMP->hijo_der) <- (AUX->hijo_izq)
sino(Nodo->hijo_izq) <- (AUX->hijo_izq)
fin_sifin_si
fin_sifin_si
fin_sisino
Escribir (“El nodo no se encuentra en el árbol”)fin_si
fin_accion
![Page 124: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/124.jpg)
accion eliminarNodo (Raiz, Val) ELIMINACION (Raiz, Val)fin_accion
Eliminar 22, 99, 87, 120, 140, 135, 56
ELIMINACIÓN EN UN ELIMINACIÓN EN UN ÁRBOL ABBÁRBOL ABB
120
87
43
65
140
99 130
22
56
135
![Page 125: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/125.jpg)
120
87
43
65
140
99130
22
56
Eliminar 22, 99, 87, 120, 140, 135, 56
ELIMINACIÓN EN UN ELIMINACIÓN EN UN ÁRBOL ABBÁRBOL ABB
93 135
![Page 126: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/126.jpg)
120
87
43
65
140
99130
56
Eliminar 22, 99, 87, 120, 140, 135, 56
ELIMINACIÓN EN UN ELIMINACIÓN EN UN ÁRBOL ABBÁRBOL ABB
93
93
135
![Page 127: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/127.jpg)
120
87
43
65
140
93130
56
Eliminar 22, 99, 87, 120, 140, 135, 56
ELIMINACIÓN EN UN ELIMINACIÓN EN UN ÁRBOL ABBÁRBOL ABB
65
56 135
![Page 128: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/128.jpg)
120
65
43
56
140
93130
Eliminar 22, 99, 87, 120, 140, 135, 56
ELIMINACIÓN EN UN ELIMINACIÓN EN UN ÁRBOL ABBÁRBOL ABB
135
93
![Page 129: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/129.jpg)
93
65
43
56
140
130
Eliminar 22, 99, 87, 120, 140, 135, 56
ELIMINACIÓN EN UN ELIMINACIÓN EN UN ÁRBOL ABBÁRBOL ABB
135
130
135
![Page 130: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/130.jpg)
93
65
43
56
130
Eliminar 22, 99, 87, 120, 140, 135, 56
ELIMINACIÓN EN UN ELIMINACIÓN EN UN ÁRBOL ABBÁRBOL ABB
135
![Page 131: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/131.jpg)
93
65
43
56
130
Eliminar 22, 99, 87, 120, 140, 135, 56
ELIMINACIÓN EN UN ELIMINACIÓN EN UN ÁRBOL ABBÁRBOL ABB
![Page 132: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/132.jpg)
Los árboles AVL surgen con la idea de mejorar Los árboles AVL surgen con la idea de mejorar el rendimiento de los árboles ABB, al realizar el rendimiento de los árboles ABB, al realizar reacomodos o balanceos reacomodos o balanceos después de insertar después de insertar o eliminar elementos.o eliminar elementos.
Definición formal:Definición formal: ““Un árbol AVL se define como un ABB en el Un árbol AVL se define como un ABB en el
cual se cumple que para todo nodo cual se cumple que para todo nodo TT del árbol del árbol debe cumplirse que la altura de los debe cumplirse que la altura de los subárboles izquierdo y derecho no debe subárboles izquierdo y derecho no debe diferir en más de una unidad”diferir en más de una unidad”
Arboles AVLArboles AVL
![Page 133: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/133.jpg)
El El FACTOR DE EQUILIBRIOFACTOR DE EQUILIBRIO (FE) de un nodo (FE) de un nodo TT se se
calcula como la altura del subárbol derecho menos la calcula como la altura del subárbol derecho menos la
altura del subárbol izquierdo.altura del subárbol izquierdo.
FE = HSD - HSIFE = HSD - HSI
DefiniciónDefinición
![Page 134: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/134.jpg)
Colocar el FE a los nodos del siguiente árbol:Colocar el FE a los nodos del siguiente árbol:
100
47
69
111
0
-1
1
0
DefiniciónDefinición
![Page 135: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/135.jpg)
registro Nodo
valor : tipoDato
FE : entero {-1, 0, 1}
izq, der : Nodo
fin_registro
RegistroRegistro
![Page 136: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/136.jpg)
INSERCIÓN EN UN INSERCIÓN EN UN ÁRBOL AVLÁRBOL AVL
![Page 137: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/137.jpg)
o El subárbol izquierdo (SI) y el subárbol derecho (SD) del árbol tienen la misma altura, es decir: HSD = HSI
o Si se inserta por el SI, entonces HSI > HSD
o Si se inserta por el SD, entonces HSD > HSI
o El subárbol izquierdo (SI) y el subárbol derecho (SD) del árbol tienen alturas diferentes, es decir: HSD <> HSI
o Si la HSI > HSD
o Si se inserta por el SI, entonces se rompe el equilibrio y es necesario reestructurar.
o Si se inserta por el SD, entonces HSD = HSI, mejorando el equilibrio del árbol.
o Si la HSI < HSD
o Si se inserta por el SI, entonces HSD = HSI, mejorando el equilibrio del árbol.
o Si se inserta por el SD, entonces se rompe el equilibrio y es necesario reestructurar.
Inserción en un árbol AVLInserción en un árbol AVL
![Page 138: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/138.jpg)
o Para reestructurar un árbol que ha violado el principio de equilibrio (FE <> {-1,0,1}) hay que efectuar un proceso conocido como rotación, el cual se puede realizar de 4 maneras diferentes:
o Rotación derecha (DD)
o Rotación izquierda (II)
o Rotación derecha-izquierda (DI)
o Rotación izquierda-derecha (ID)
2 nodos
3 nodos
Llevando a un arbol AVLLlevando a un arbol AVL
![Page 139: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/139.jpg)
o Rotación derecha (DD)
C
B
A
B
A0
1
2 C
NODO→der echa← NODO1→izquierda
NODO1→izquierda←NODO
NODO←NODO1
NODO
NODO1
NODO
Llevando a un árbol AVLLlevando a un árbol AVL
RESULTANDO
![Page 140: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/140.jpg)
o Rotación izquierda (II)
C
B
A
B
A0
-1
-2
C
NODO→izquierda ← NODO1→derecha
NODO1→derecha ←NODO
NODO←NODO1
NODO
NODO1
NODO
Reestructurar un árbol AVLReestructurar un árbol AVL
RESULTANDO
![Page 141: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/141.jpg)
o Rotación derecha-izquierda (DI)
C
B
A
B
A0
-1
2C
NODO1→izquierda ←NODO2→derecha
NODO2→derecha ←NODO1
NODO→derecha ← NODO2→izquierda
NODO2→izquierda ← NODO
NODO← NODO2
NODO
NODO1
NODO2
NODO
Llevando a un arbol AVLLlevando a un arbol AVL
RESULTANDO
![Page 142: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/142.jpg)
o Rotación izquierda-derecha (ID)
C
B
A0
1
-2
B
A
C
NODO1→derecha ← NODO2→izquierda
NODO2→izquierda ← NODO1
NODO→izquierda← NODO2→derecha
NODO2→derecha←NODO
NODO←NODO2
NODO
NODO1
NODO2
NODO
Llevando a un árbol AVLLlevando a un árbol AVL
RESULTANDO
![Page 143: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/143.jpg)
GRAFOSGRAFOS
Esta formado por vértices y aristas.Esta formado por vértices y aristas.
G=(V,E)G=(V,E)
V={VV={V1,1, V V22,…,… V Vnn}}
E={eE={e1,1, e e22,…,… e enn}}
V:vérticesV:vértices
e:aristase:aristas
![Page 144: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/144.jpg)
GRAFOS NO DIRIGIDOSGRAFOS NO DIRIGIDOS
1)e={v,w} ó {w,v}1)e={v,w} ó {w,v}Es decir es lo mismo del vértice v al w Es decir es lo mismo del vértice v al w ó del vértice w a v.ó del vértice w a v.
2) GRAFO DIRIGIDO2) GRAFO DIRIGIDO e={v,w} ≠ {w,v}e={v,w} ≠ {w,v}
Grafo no dirigidoGrafo no dirigido
Grafo dirigidoGrafo dirigido
v w
v w
![Page 145: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/145.jpg)
3)Grafo no simple3)Grafo no simple
Grafo no dirigido que tiene lazos y Grafo no dirigido que tiene lazos y lados paralelos.lados paralelos.
ee11 y e y e22 aristas paralelas aristas paralelas
ee55:Lazo:Lazo
V 1
V 2
V 3
e1
e2
e3
e4
e5
![Page 146: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/146.jpg)
GRAFO PONDERADOGRAFO PONDERADO
Se presentan pesos de cada arista y se puede obtener la longitud de una ruta,Se presentan pesos de cada arista y se puede obtener la longitud de una ruta,
que es la suma de todos los pesos de las aristas.que es la suma de todos los pesos de las aristas.
GRAFO SIMPLEGRAFO SIMPLE
No contiene ni lazos ni aristas paralelas ni aristas dirigidas.No contiene ni lazos ni aristas paralelas ni aristas dirigidas.
GRAFO COMPLETOGRAFO COMPLETOEs aquel grafo con N vértices en los que existe una arista entre cada par deEs aquel grafo con N vértices en los que existe una arista entre cada par devértices(no hay paralelas).vértices(no hay paralelas).
GRAFO DE SIMILITUDGRAFO DE SIMILITUDSon aquellos grafos de los que se pueden derivar subgrafos.Son aquellos grafos de los que se pueden derivar subgrafos.
Obsérvese que el subgrafo es extraído del grafo
![Page 147: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/147.jpg)
GRADO DE UN VERTICE:GRADO DE UN VERTICE:
Comprende al numero de aristas que inciden en dicho vértice.Comprende al numero de aristas que inciden en dicho vértice.
![Page 148: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/148.jpg)
Camino o TrayectoriaCamino o Trayectoria
![Page 149: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/149.jpg)
CICLO DE EULERCICLO DE EULER
Reconocen todas las aristas del grafo sin repetirlas.Reconocen todas las aristas del grafo sin repetirlas.
a,b,c,d,b,e,d,f,e,c,a a,b,c,d,b,e,d,f,e,c,a
Cuando partiendo de un vértice a y se llega al mismo se dice que es el Cuando partiendo de un vértice a y se llega al mismo se dice que es el circuito de Euler.circuito de Euler.
![Page 150: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/150.jpg)
CIRCUITO DE HAMILTONCIRCUITO DE HAMILTON
Recorre todos los vértices sin repetirlos excepto el Vi y Vf que son el mismo.Recorre todos los vértices sin repetirlos excepto el Vi y Vf que son el mismo.
Un circuito de Hamilton posible es: a,e,b,g,c,h,j,f,i,d,aObsérvese que parte de a y recorriendo todos los vértices llega a a.
OJO: Ud debe recorrer todos los vértices.
![Page 151: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/151.jpg)
MATRIZ DE ADYACENCIA Y DE MATRIZ DE ADYACENCIA Y DE INCIDENCIAINCIDENCIA
Ejemplo:Ejemplo:
![Page 152: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/152.jpg)
LISTA DE ADYACENCIALISTA DE ADYACENCIA
Entonces la lista de adyacenciasA:CB:D,EC:A,D,ED:B,CE:B,C,FF:E
![Page 153: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/153.jpg)
ALGORITMO DE PRIMALGORITMO DE PRIM
El algoritmo de Prim es un algoritmo perteneciente a la teoría de los grafos para El algoritmo de Prim es un algoritmo perteneciente a la teoría de los grafos para encontrar un árbol recubridor mínimo en un grafo conexo, encontrar un árbol recubridor mínimo en un grafo conexo, nono dirigido y cuyas dirigido y cuyas aristas están etiquetadas.aristas están etiquetadas.
En otras palabras, el algoritmo encuentra un subconjunto de aristas que forman En otras palabras, el algoritmo encuentra un subconjunto de aristas que forman un árbol con todos los vértices, donde el peso total de todas las aristas en el un árbol con todos los vértices, donde el peso total de todas las aristas en el árbol es el mínimo posible. Si el grafo no es conexo, entonces el algoritmo árbol es el mínimo posible. Si el grafo no es conexo, entonces el algoritmo encontrará el árbol recubridor mínimo para uno de los componentes conexos encontrará el árbol recubridor mínimo para uno de los componentes conexos que forman dicho grafo no conexo.que forman dicho grafo no conexo.
Pseudo código del algoritmoPseudo código del algoritmo::
La idea básica consiste en añadir, en cada paso, una arista de peso mínimo aLa idea básica consiste en añadir, en cada paso, una arista de peso mínimo aun árbol previamente construido.un árbol previamente construido.
Más explícitamente:Más explícitamente: Paso 1 Paso 1. Se elige un vértice u de G y se considera el árbol S={u}. Se elige un vértice u de G y se considera el árbol S={u} Paso 2 Paso 2. Se considera la arista e de mínimo peso que une un vértice de S . Se considera la arista e de mínimo peso que une un vértice de S
y un vértice que no es de S, y se hace S=S+e y un vértice que no es de S, y se hace S=S+e Paso 3 Paso 3. Si el nº de aristas de T es n-1 el algoritmo termina. En caso . Si el nº de aristas de T es n-1 el algoritmo termina. En caso contrario se vuelve al paso 2 contrario se vuelve al paso 2
![Page 154: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/154.jpg)
![Page 155: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/155.jpg)
![Page 156: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/156.jpg)
![Page 157: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/157.jpg)
MAQUINA DE ESTADO FINITAMAQUINA DE ESTADO FINITA
Una maquina de estado finita es un sistema que puede Una maquina de estado finita es un sistema que puede aceptar una entrada de datos y en base a estos dato aceptar una entrada de datos y en base a estos dato obtener obtener una salida. obtener obtener una salida.
EntradaEntrada Salida Salida
La maquina de estados finita se aplican en el diseño de La maquina de estados finita se aplican en el diseño de circuitos digitales al nivel de matemática discreta se circuitos digitales al nivel de matemática discreta se maneja bajo el concepto de grafos.maneja bajo el concepto de grafos.
![Page 158: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/158.jpg)
MAQUINA DE ESTADO FINITA (Ejemplos):MAQUINA DE ESTADO FINITA (Ejemplos):
0 1
S0 S0 S1
S1 S1 S0
S0 S1
![Page 159: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/159.jpg)
MAQUINA DE ESTADO FINITA (Ejemplo1):MAQUINA DE ESTADO FINITA (Ejemplo1):
Ej: Dada la tabla:Ej: Dada la tabla:
Dibuje el diagrama de estados para el FSA(Autómata Dibuje el diagrama de estados para el FSA(Autómata Finito Deterministico) para la cual los estados de Finito Deterministico) para la cual los estados de aceptación son S1 y S3. Determine si la cadena aceptación son S1 y S3. Determine si la cadena aaababbab es aceptada.aaababbab es aceptada.
F
S\E a b
S0 S1 S2
S1 S2 S1
S2 S2 S3
S3 S1 S0
![Page 160: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/160.jpg)
MAQUINA DE ESTADO FINITA (Ejemplo1):MAQUINA DE ESTADO FINITA (Ejemplo1):
Para que la cadena sea Para que la cadena sea aceptada debe terminar la aceptada debe terminar la cadena en Scadena en S11 ó S ó S33
Como SComo S3 3 es un estado final se es un estado final se dice que la cadena es dice que la cadena es aceptada por FSA.aceptada por FSA.
S2
S0 S1
S3
b
a
b
b
a
a
b
a
S1
S2
S2
S3
S1
S1
S1
S2
S3
a a a b a b b a b
![Page 161: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/161.jpg)
MAQUINA DE ESTADO FINITA (Ejemplo2):MAQUINA DE ESTADO FINITA (Ejemplo2):
Ejm: Ejm:
Diseñe un autómata que detecte palabras que terminen en aba.Diseñe un autómata que detecte palabras que terminen en aba.
abS0abaa
ba
aba
bb
a
![Page 162: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/162.jpg)
MAQUINA DE ESTADO FINITA (Ejemplo3):MAQUINA DE ESTADO FINITA (Ejemplo3):
Ejm: Ejm:
Diseñe un autómata que detecte palabras que terminen en baa.Diseñe un autómata que detecte palabras que terminen en baa.
S2S0 S3S1
ab
aab
b
b
a
![Page 163: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/163.jpg)
MAQUINA DE ESTADO FINITA (Ejemplo4):MAQUINA DE ESTADO FINITA (Ejemplo4): Ejm: Dibuje el diagrama de estados para Ejm: Dibuje el diagrama de estados para
el NFA, cuya tabla de estados se el NFA, cuya tabla de estados se presentan a continuación y los estados de presentan a continuación y los estados de aceptación son S1 y S3, determine el aceptación son S1 y S3, determine el lenguaje aceptado para este NFA.lenguaje aceptado para este NFA.
S2S0S3
a
ab
a
F
S\E a b
S0 S2 S1
S1 S1, S2 S3
S2 Ø Ø
S3 S2, S3 S2
• Solución:
• L(M)= { ban n≥0 U bamban / m, n ≥0 }
S1
a b
a
b
![Page 164: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/164.jpg)
Conversión de un NFA a un DFAConversión de un NFA a un DFA
Ejemplo 1:Ejemplo 1: F(SF(S00,a)={S,a)={S11} , F(S} , F(S00,b)= {S,b)= {S00}}
F(SF(S11,a)={Ø},a)={Ø}
F(SF(S11,b)=S,b)=S11 ó S ó S22, esto es {S, esto es {S11,S,S22}; F(S}; F(S22,a)={Ø},a)={Ø}
En consecuencia: F({SEn consecuencia: F({S11,S,S22},a)= {Ø} y },a)= {Ø} y
F({SF({S11,S,S22},b)={S},b)={S11,S,S22} U Ø={S} U Ø={S11,S,S22}}
S2S0 S1
b
ba
b
![Page 165: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/165.jpg)
Conversión de un NFA a un DFA Conversión de un NFA a un DFA (Ejemplo 1)(Ejemplo 1)
Para pasar este NFA a un DFA se hace Para pasar este NFA a un DFA se hace la matriz de transición.la matriz de transición.
Para pasar el NFA al DFA hay que Para pasar el NFA al DFA hay que cubrir todos los estados.cubrir todos los estados.
S/E a b
{S0} {S1} {S0}
{S1} Ø {S1,S2}
{S1,S2} Ø {S1,S2}
{S1, S2}
{S0
}{S1
}
b
ba
b
![Page 166: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/166.jpg)
Conversión de un NFA a un DFA Conversión de un NFA a un DFA (Ejemplo 2):(Ejemplo 2):
Encuentre el DFA equivalente al NFA para el cual la tabla de Encuentre el DFA equivalente al NFA para el cual la tabla de estados se indica,Sestados se indica,S22 es ele estado de aceptación. es ele estado de aceptación.
bb
F
S\E a b
S0 S0, S1 S2
S1 S0 S1
S2 S1 S0, S1
S2S0 S1 aa
a b
a
b
b
![Page 167: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/167.jpg)
Conversión de un NFA a un DFA Conversión de un NFA a un DFA (Ejemplo 2):(Ejemplo 2):
S\E a b
{S0} {S0, S1} {S2}
{S1} {S0} {S1}
{S2} {S1} {S0, S1}
{S0, S1}
{S0, S1} {S1, S2}
{S1, S2}
{S0, S1} {S0, S1}
{S2
}{S0
}{S1
} ba
{S1, S2}
{S0, S1}
a, b
a
bba
b
b
![Page 168: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/168.jpg)
ELEMENTOS BASICOS DE EXPRESIONES ELEMENTOS BASICOS DE EXPRESIONES REGULARESREGULARES
CERRADURA DE KLEENE:CERRADURA DE KLEENE:
Se representa con el símbolo “*”. La cadena se forma al realizar 0 Se representa con el símbolo “*”. La cadena se forma al realizar 0 ó mas repeticiones, en concatenación de los símbolos o ó mas repeticiones, en concatenación de los símbolos o caracteres que enmarcan.caracteres que enmarcan. Ejm: Ejm:
b* = { ,b , bb, bbb, bbbb, …, etc.} b* = { ,b , bb, bbb, bbbb, …, etc.}
CERRADURA POSITIVA:CERRADURA POSITIVA:
Se representa con el símbolo “+”. La cadena se forma al realizar Se representa con el símbolo “+”. La cadena se forma al realizar por lo menos 1 ó mas repeticiones en concatenación de los por lo menos 1 ó mas repeticiones en concatenación de los símbolos o caracteres que enmarcan.símbolos o caracteres que enmarcan. Ejm:Ejm:
LuLu++ = {lu, luu, luuu, luuuu, …, etc.} = {lu, luu, luuu, luuuu, …, etc.}
![Page 169: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/169.jpg)
APARICIONAPARICION::
Se representa con el símbolo “?”. Indica si el carácter que Se representa con el símbolo “?”. Indica si el carácter que lo procede puede aparecer o no dentro de una cadena.lo procede puede aparecer o no dentro de una cadena. Ejm:Ejm:
(Inter)? milan = {Intermilan, milan} (Inter)? milan = {Intermilan, milan}
ALTERNATIVAALTERNATIVA::
Se representa con el símbolo “/”. Indica que puede existir Se representa con el símbolo “/”. Indica que puede existir alguna alternativa dentro de los símbolos o caracteres que alguna alternativa dentro de los símbolos o caracteres que contiene una expresión.contiene una expresión. Ejm:Ejm:
(d/s) ueño= {dueño, sueño} (d/s) ueño= {dueño, sueño}
![Page 170: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/170.jpg)
AGRUPACIONAGRUPACION::
Se utiliza los paréntesis “()” para agrupar los caracteres del Se utiliza los paréntesis “()” para agrupar los caracteres del alfabeto que se utilizan. Hay que tener en cuenta la procedencia alfabeto que se utilizan. Hay que tener en cuenta la procedencia de los operadores que se utilizan (precedentes internos o de los operadores que se utilizan (precedentes internos o siguientes).siguientes). Ejm:Ejm:
(mi)? bol(sa/a)= {mi bolsa, mi bola, bolsa} (mi)? bol(sa/a)= {mi bolsa, mi bola, bolsa}
(a/b) c = {ac, bc}(a/b) c = {ac, bc}
AGRUPACION DE CARACTERES:AGRUPACION DE CARACTERES:
Se utiliza los corchetes “[]” para agrupar clases de caracteres así Se utiliza los corchetes “[]” para agrupar clases de caracteres así se define una gama de símbolos relacionados entre si utilizando se define una gama de símbolos relacionados entre si utilizando uno de ellos.uno de ellos. Ejm:Ejm:
[A - Z] = {A, B, C, Y, M, ….. }[A - Z] = {A, B, C, Y, M, ….. }
[0 - 9] = digito[0 - 9] = digito
![Page 171: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/171.jpg)
GRAMATICA DE ESTRUCTURA DE GRAMATICA DE ESTRUCTURA DE FRASEFRASE
Una gramatica de estructura de frase o simplemente gramática G se define Una gramatica de estructura de frase o simplemente gramática G se define como:como:
G= {Vn, Vt, S, P} donde G= {Vn, Vt, S, P} donde i) Vn: Es un conjunto finito de símbolos no terminales de un i) Vn: Es un conjunto finito de símbolos no terminales de un
vocabulario V, que puede sustituirse por otros símbolos.vocabulario V, que puede sustituirse por otros símbolos.
ii) Vt: es un conjunto finito de símbolos terminales de V, que ii) Vt: es un conjunto finito de símbolos terminales de V, que no pueden sustituirse por otros símbolos.no pueden sustituirse por otros símbolos.
iii) S: Es un símbolo especial de Vn que se denomina como iii) S: Es un símbolo especial de Vn que se denomina como el símbolo de inicio, a partir del cual siempre se empieza a el símbolo de inicio, a partir del cual siempre se empieza a construir palabras.construir palabras.
iv) P: Es el conjunto de reglas de producción (reglas iv) P: Es el conjunto de reglas de producción (reglas gramaticales) cada uno de la forma W0 gramaticales) cada uno de la forma W0 W1, lo cual W1, lo cual significa que W0 puede sustituirse por w1, W0 debe significa que W0 puede sustituirse por w1, W0 debe contener al menos un simbolo no terminal en tanto que W1 contener al menos un simbolo no terminal en tanto que W1 puede consistir en cualquier combinación de símbolos no puede consistir en cualquier combinación de símbolos no terminales y terminales.terminales y terminales.
Las reglas de produccion se escriben por ejemplo:Las reglas de produccion se escriben por ejemplo:SSaABaAB , A, A Bba (que quiere decir, S deriva Bba (que quiere decir, S deriva
en aAB)en aAB)BB bB bB , B, B C C
![Page 172: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/172.jpg)
FORMA DE BACKUS_NAURFORMA DE BACKUS_NAUR
Hay otra notación que se denomina forma de BACKUS Hay otra notación que se denomina forma de BACKUS NAUR, que algunas veces se usa para describir las NAUR, que algunas veces se usa para describir las producciones de una gramática libre de contexto (tipo 2) producciones de una gramática libre de contexto (tipo 2) específicamente.específicamente.
i) “::=“ se usa en lugar de “i) “::=“ se usa en lugar de “””
ii) Cualquier no terminal se escribe entre corchetes [ ].ii) Cualquier no terminal se escribe entre corchetes [ ].
iii) Toda la producción con el mismo miembro izquierdo no iii) Toda la producción con el mismo miembro izquierdo no terminal se combinan en una proposición con todos los terminal se combinan en una proposición con todos los miembros derechos enumerados a la derecha de “::=” miembros derechos enumerados a la derecha de “::=” separadas por barra verticales.separadas por barra verticales.
Por ejemplo:Por ejemplo: AA aB aB , A, Abb , A, ABCBC Se combinan en BACKUS NAUR como:Se combinan en BACKUS NAUR como: A::= a[B] |b| [B][C]A::= a[B] |b| [B][C]
![Page 173: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/173.jpg)
GRAMATICAS INDEPENDIENTES GRAMATICAS INDEPENDIENTES DEL CONTEXTODEL CONTEXTO
En este tipo de gramática se puede reemplazar un no terminal En este tipo de gramática se puede reemplazar un no terminal por otra derivación ya sea con símbolos no terminales o por otra derivación ya sea con símbolos no terminales o terminales.terminales.
En la gramática dependiente del contexto influye el entorno paraEn la gramática dependiente del contexto influye el entorno parapoder derivarlos.poder derivarlos.
Ejm: Sea: AEjm: Sea: A aBb aBb BBCC
Observe que el no terminal B esta rodeado por los terminales a y Observe que el no terminal B esta rodeado por los terminales a y b, esb, es
una gramática dependiente del contexto Ud. Puede reemplazar B una gramática dependiente del contexto Ud. Puede reemplazar B porpor
esta derivación siempre y cuando este rodeado por a y b.esta derivación siempre y cuando este rodeado por a y b.
Por Ejm:Por Ejm:AAaCbaCb ,, AA abb abbEs una gramática independiente del contexto. Ud. Puede Es una gramática independiente del contexto. Ud. Puede
reemplazar por otra derivación no importando las reemplazar por otra derivación no importando las restricciones.restricciones.
Por Ejm(1):Por Ejm(1):AA B B AABCBCBB C C AA CC CCCC a a AA aa aa
![Page 174: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/174.jpg)
DERIVACION DERIVACION
Derivar es desarrollar la gramáticaG={(S,A,B),(a,b),S,P)}donde p es el conjunto de producciones S→AB, S→AA ,A→aB,A →ab,B→b}
Solucion
S → AB → aBB, → abB →abbóS →AA →aBA →abA →ababóS →AA →aBaB →abaB →ababEn consecuencia:L(G)={abb,abab}
![Page 175: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/175.jpg)
DERIVACIONDERIVACION
G={(S),(0,1),S, P}, donde P consiste en la producción:
{S →11S, S →0} SOLUCION S →0 ó S →11S →110 ó también S →11S →1111S →11110 ó etcétera En consecuencia
L(G)={12n0} donde n>=0
![Page 176: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/176.jpg)
DERIVACION MAS A LA DERIVACION MAS A LA IZQUIERDAIZQUIERDA
Si G={(S,A),(a,b),S,P}, donde P consiste en las producciones{S→ aAS, S →a, A →SbA, A →ba} genere la cadena aabbaa
S → aAS →aSbAS(La A mas a la izquierda se sustituye por SbA) → aabAS(la S más a la izquierda se sustituye por a) →aabbaS (la A más a la izquierda se sustituye po ba) →aabbaa (S se sustituye por a)
![Page 177: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/177.jpg)
DERIVACION MAS A LA DERIVACION MAS A LA DERECHADERECHA
Si G={(S,A),(a,b),S,P}, donde P consiste en las producciones{S→ aAS, S →a, A →SbA, A →ba} genere la cadena aabbaa
S → aAS →aAa(La S mas a la derecha se sustituye por a) → aSbAa(la A más a la derecha se sustituye por SbA) →aSbbaa (la A más a la derecha se sustituye por ba) →aabbaa (S máa a la derecha se sustituye por a)
![Page 178: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/178.jpg)
ANALISIS GRAMATICAL ANALISIS GRAMATICAL DE ARRIBA HACIA DE ARRIBA HACIA
ABAJOABAJODetermine el análisis gramatical de arriba hacia abajo para determinar si la cadena ‘abab’ pertenece a la gramática; se conoce:Si G={(S,A,B),(a,b),S,P}, y P consiste en las producciones{S→ AB, AB →BA, A →aA, B →Bb, A →a,B →b}
Entonces si derivamosS → AB →aAB → aABb →aBAb →abAb →abab
![Page 179: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/179.jpg)
ANALISIS GRAMATICAL ANALISIS GRAMATICAL DE ABAJO HACIA DE ABAJO HACIA
ARRIBAARRIBADetermine el análisis gramatical de arriba hacia abajo para determinar si la cadena ‘abab’ pertenece a la gramática; se conoce:Si G={(S,A,B),(a,b),S,P}, y P consiste en las producciones{S→ AB, AB →BA , A →aA , B →Bb , A →a, B →b}
Entonces si derivamos de abajo hacia arriba , esto es partiendo de la Cadena:abab ← aBab ← aBAb ← aABb ← ABb ←ABDe manera la cadena ‘abab’ pertenece a L(G)
![Page 180: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/180.jpg)
DERIVACION POR LA IZQUIERDADERIVACION POR LA IZQUIERDA
AA B Bzwa zwa : B es un no terminal, usted debe derivar a partir de B : B es un no terminal, usted debe derivar a partir de B que esta mas a la izquierda.que esta mas a la izquierda.
E
E + T
T F
T * F id
F id c
Id b a
E→E+T
E →T
T →T*F
T →F
F →id
Id →a|b|c
![Page 181: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/181.jpg)
E
E + T
T T * F
F F id
Id id c
a b
DERIVACION POR LA DERECHADERIVACION POR LA DERECHA
AA B Bzzww00 : w : w00 es un no terminal, usted debe derivar a partir de W es un no terminal, usted debe derivar a partir de W que esta mas a la derecha.que esta mas a la derecha.
E→E+TE→E+T
E →TE →T
T →T*FT →T*F
T →FT →F
F →idF →id
Id →a|b|cId →a|b|c
![Page 182: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/182.jpg)
EjemploEjemplo::
Crear las reglas de Crear las reglas de producción que producción que reconozca: double a;reconozca: double a;
Solución:Solución: <VAR><VAR><TIPO> <id>;<TIPO> <id>; <tipo><tipo> double double <id><id> a a
<VAR><VAR>
<TIPO> <id> <TIPO> <id> ; ;
double adouble a
![Page 183: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/183.jpg)
Ejemplo:Ejemplo:
Crear las reglas de Crear las reglas de producción que reconozca: producción que reconozca: int a,b,c;int a,b,c;
<var><var><tipo><vars>;<tipo><vars>; <vars><vars><unaV><unaV> <vars><vars><unaV>,<vars><unaV>,<vars> <unaV><unaV> id id <tipo><tipo> int int <tipo><tipo> double double <id> <id> a|b|ca|b|c
<var><var>
<tipo> <vars> ;<tipo> <vars> ;
<int> <unaV> ,<vars><int> <unaV> ,<vars>
<id> <id> <unaV>,<vars><unaV>,<vars>
a id a id <unaV><unaV>
b idb id
cc
![Page 184: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/184.jpg)
TIPOS DE GRAMATICATIPOS DE GRAMATICA Las gramáticas se clasifican según los tipos de producción que se le Las gramáticas se clasifican según los tipos de producción que se le
permiten. La siguiente clasificación de gramáticas se debe a NOAM permiten. La siguiente clasificación de gramáticas se debe a NOAM CHOMSKY.CHOMSKY.
-Una gramática es de tipo 0 si no tiene restricciones en las -Una gramática es de tipo 0 si no tiene restricciones en las producciones.producciones.
Ejemplo : S Ejemplo : S aAB, AB aAB, AB a , A a , A b, B b, B AB AB
-Una gramática “G” es de tipo 1 si cualquier producción es de la forma -Una gramática “G” es de tipo 1 si cualquier producción es de la forma ααββ
donde |donde | α α | <=|| <=| β β | (Las || indican cardinalidad) , o de la forma | (Las || indican cardinalidad) , o de la forma α α גג ( (גג
es cadena vacía)es cadena vacía)
Ejemplo: S Ejemplo: S aAB, AB aAB, AB bB, B bB, B b, A b, A aBaB
-Una gramática “G” es de tipo 2 si cualquier producción es de la forma A-Una gramática “G” es de tipo 2 si cualquier producción es de la forma A β β dondedonde
el miembro izquierdo A es un no terminal.el miembro izquierdo A es un no terminal.
Ejemplo: S Ejemplo: S aA, A aA, A aAB, B aAB, B b, A b, A aa
- Una gramática “G” es de tipo 3 si toda producción es de la forma A- Una gramática “G” es de tipo 3 si toda producción es de la forma Aa o a o AAaB, Es decir donde el miembro izquierdo A es un solo no terminal y el aB, Es decir donde el miembro izquierdo A es un solo no terminal y el lado derecho es un solo terminal , o un terminal seguido por un no terminal , lado derecho es un solo terminal , o un terminal seguido por un no terminal , o de la forma So de la forma S גג
S S aB, B aB, B bA, B bA, B b, B b, B a, A a, A aB, A aB, A a a
![Page 185: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/185.jpg)
TIPOS DE TIPOS DE GRAMATICA(Observación)GRAMATICA(Observación)
Las gramáticas constituyen una jerarquía, toda gramática toda Las gramáticas constituyen una jerarquía, toda gramática toda gramática tipo 3 es de tipo 2, toda gramática de tipo 2 es de tipo gramática tipo 3 es de tipo 2, toda gramática de tipo 2 es de tipo 1 y toda gramática tipo 1 es de tipo 0.1 y toda gramática tipo 1 es de tipo 0.
A) Una gramática es sensible al contexto si las producciones son A) Una gramática es sensible al contexto si las producciones son de la forma de la forma
ααAA α α‘‘ α β α α β α’’ B) Una gramática es libre de contexto si las producciones son de B) Una gramática es libre de contexto si las producciones son de
la forma Ala forma A β β La expresión libre del contexto proviene del hecho de que es La expresión libre del contexto proviene del hecho de que es
posible sustituir la variable A por posible sustituir la variable A por ββ sin tomar en cuenta donde sin tomar en cuenta donde aparece A.aparece A.
C) Una gramática es regular si las producciones son de la forma:C) Una gramática es regular si las producciones son de la forma: AAa, Aa, A a B, S a B, S גג ObservaciónObservación::
Una gramática libre del contexto es lo mismo que una Una gramática libre del contexto es lo mismo que una gramática tipo 2, una gramática regular es similar al tipo 3.gramática tipo 2, una gramática regular es similar al tipo 3.
![Page 186: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/186.jpg)
AUTOMATAS Y GRAMATICASAUTOMATAS Y GRAMATICAS
Decimos que una gramática G es equivalente a un automata Decimos que una gramática G es equivalente a un automata M(G≡M) si el lenguaje reconocido por el automata es igual al M(G≡M) si el lenguaje reconocido por el automata es igual al lenguaje generado por la gramática, es decir si L(G)=L(M)lenguaje generado por la gramática, es decir si L(G)=L(M)
EjemploEjemplo Sea la gramática G con Vn={S,A}, ∑={a,b}, variables={S,A}, el Sea la gramática G con Vn={S,A}, ∑={a,b}, variables={S,A}, el
símbolo inicial es S y la regla de producción son:símbolo inicial es S y la regla de producción son: SS aS/aA aS/aA AAbA/bbA/b
aa b b M:M:
a ba b
Observe que G y M reconocen aObserve que G y M reconocen a++ b b++
S A Z
![Page 187: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/187.jpg)
EjemploEjemplo
Convertir la gramática regular a un autómata finito.Convertir la gramática regular a un autómata finito. SSaAaA Solución Solución
SSbAbA AAaBaB b ab a AAbBbB AAaa a a a a BBaAaA BBbA bA b b
b b
S A B
Z
a
![Page 188: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/188.jpg)
EjemploEjemplo Dado el autómata finito, exprese Dado el autómata finito, exprese
las reglas de la gramática.las reglas de la gramática.
Solución:Solución: QQ00 aQ aQ1 1 Q Q00bb
QQ00 bQ bQ00 Q Q00aa
QQ11aQaQ22 Q Q11aa
QQ11bQbQ00 Q Q11bb
QQ22aQaQ33 Q Q22bb
QQ22bQbQ00
QQ33aQaQ33
QQ33bQbQ33
Q0,Q1,Q2Q0,Q1,Q2 ESTADOS ESTADOS
FINALESFINALES
q2q3
q1
q0
b
b
a
a
b
a
a,b
q2
![Page 189: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/189.jpg)
EjemploEjemplo
Sea una gramática G = (ST,SN,nSea una gramática G = (ST,SN,n00,R), donde:,R), donde: ST= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ., +, -}ST= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ., +, -} SN= {real, frac, ent, dig, sign}SN= {real, frac, ent, dig, sign} nn00= real= real r1:<real>::=<ent>|<frac>|<ent><frac>|<sign><real>r1:<real>::=<ent>|<frac>|<ent><frac>|<sign><real> r2: <frac> ::= . <ent>r2: <frac> ::= . <ent> r3: <ent> ::= <dig>| <dig><ent>r3: <ent> ::= <dig>| <dig><ent> r4: <dig> ::= 0|1|2|3|4|5|6|7|8|9r4: <dig> ::= 0|1|2|3|4|5|6|7|8|9 r5: <sign> ::= +| -r5: <sign> ::= +| -
![Page 190: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/190.jpg)
Ejemplo:Ejemplo:
Verificar si 21.07 Verificar si 21.07 L(G) L(G) real real ent frac ent frac dig ent fracdig ent frac dig dig fracdig dig frac dig dig . entdig dig . ent dig dig . dig entdig dig . dig ent dig dig . dig digdig dig . dig dig 2 dig . dig dig2 dig . dig dig * 2 1 . 0 7* 2 1 . 0 7 Entonces:Entonces: nn00 2 1 . 0 7 2 1 . 0 7 L(G) L(G)
![Page 191: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/191.jpg)
Ejemplo:Ejemplo:
Sea una gramática G = (ST,SN,nSea una gramática G = (ST,SN,n00,R), donde:,R), donde: ST= {Juan, Ana, corre, come, salta, rápido, lento}ST= {Juan, Ana, corre, come, salta, rápido, lento} SN= {oración, sujeto, predicado, verbo, adverbio}SN= {oración, sujeto, predicado, verbo, adverbio} nn00= oración= oración r1: oración r1: oración sujeto predicado sujeto predicado r2: predicador2: predicado verbo adverbio verbo adverbio r3: sujetor3: sujeto Juan Juan r4: sujetor4: sujeto Ana Ana r5: verbo r5: verbo corre corre r6: verbo r6: verbo come come r7: verbo r7: verbo salta salta r8: adverbio r8: adverbio rápido rápido r9: adverbio r9: adverbio lento lento
![Page 192: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/192.jpg)
Ejemplo:Ejemplo:
Ejemplo de una cadena:Ejemplo de una cadena:¿Soporta esta gramática Ana corre rapido?¿Soporta esta gramática Ana corre rapido?
oración oración sujeto predicado sujeto predicado Ana predicadoAna predicado Ana verbo adverbioAna verbo adverbio Ana corre adverbioAna corre adverbio Ana corre rápidoAna corre rápido Entonces:Entonces: nn00 * Ana corre rápido,* Ana corre rápido,
Ana corre rápido Ana corre rápido L(G) L(G)
![Page 193: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/193.jpg)
Ambigüedad en GLCAmbigüedad en GLC Una GLC es Una GLC es ambiguaambigua si existe una cadena si existe una cadena ww L(G) que tiene L(G) que tiene
más de una derivación por la izquierda o más de una derivación más de una derivación por la izquierda o más de una derivación por la derecha o si tiene dos o más árboles de derivación. En por la derecha o si tiene dos o más árboles de derivación. En caso de que toda cadena caso de que toda cadena ww L(G) tenga un único árbol de L(G) tenga un único árbol de derivación, la gramática es no ambigua.derivación, la gramática es no ambigua.
Ejemplo: la gramática Ejemplo: la gramática SS aSaS || SaSa | | aa es ambigua porque es ambigua porque aaaa tiene dos derivaciones por la izquierdatiene dos derivaciones por la izquierda
SS aS aS aaaa SS Sa Sa aaaa
Esta gramática genera el lenguaje Esta gramática genera el lenguaje aa++ que también es el que también es el lenguaje generado por la gramática no ambigua lenguaje generado por la gramática no ambigua SS aSaS | | aa..
193
S
a S
a
S
S a
a
![Page 194: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/194.jpg)
Otro ejemplo:Otro ejemplo: a gramática para expresiones aritméticas sobre las a gramática para expresiones aritméticas sobre las
variables variables xx y y yy:: EE EE + + EE EE EE EE EE xx EE yy
es ambigua porque es ambigua porque tiene dos árboles de derivación: tiene dos árboles de derivación:
x y y x x y y x
194
E
E E
E + E x
E
E E+
E * Ex
![Page 195: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/195.jpg)
MAQUINA DE TURINMAQUINA DE TURIN
Estos autómatas detectan cadena de caracteres Estos autómatas detectan cadena de caracteres escribiéndolos en una cinta. Esta compuesto por:escribiéndolos en una cinta. Esta compuesto por: Q: Estado de la unidad de control .Q: Estado de la unidad de control . Alfabetos: Símbolos de entrada que es el alfabeto de Alfabetos: Símbolos de entrada que es el alfabeto de
la cinta.la cinta. Función de Transición: Función de Transición:
Donde:Donde: qq00: Estado inicial de la unidad de control que : Estado inicial de la unidad de control que
posee la maquina de Turínposee la maquina de Turín B: espacios en blanco(alfabeto de la cinta) B: espacios en blanco(alfabeto de la cinta) F: Conjunto de estados finalesF: Conjunto de estados finales..
![Page 196: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/196.jpg)
MAQUINA DE TURIN(Ejemplo 1):MAQUINA DE TURIN(Ejemplo 1):
Ejm: Diseñe una maquina que detecte cadenas de unos y ceros.Ejm: Diseñe una maquina que detecte cadenas de unos y ceros. Solución:Solución:
La unidad de control, mediante un algoritmo va a detectar La unidad de control, mediante un algoritmo va a detectar par luego reinscribir en un cinta la cadena de entrada.par luego reinscribir en un cinta la cadena de entrada.
Se comienza siempre de un estado inicial qSe comienza siempre de un estado inicial q00 que es el vacio. que es el vacio.
(q(q0,0, Ø) Ø) (q (q11, Ø,D), Ø,D)
(q(q1,1, 1) 1) (q (q22, 1,D), 1,D)
(q(q2,2, 0) 0) (q (q11, 0,D), 0,D)
(q(q1,1, B) B) (q (q33, B,I), B,I)
1 0 1 0 1 0 . . .
1 0
q0
q1 q2
B
![Page 197: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/197.jpg)
MAQUINA DE TURIN(Ejemplo 2):MAQUINA DE TURIN(Ejemplo 2):
Ejm: Diseñe el algoritmo de la U. C. que detecte.Ejm: Diseñe el algoritmo de la U. C. que detecte.
Solución:Solución:
(q(q0,0, Ø) Ø) (q (q11, Ø,D), Ø,D) (q (q3,3, *) *) (q (q44, *,D), *,D)
(q(q1,1, /) /) (q (q22, /,D), /,D) (q (q4,4, /) /) (q (q55, /,D), /,D)
(q(q2,2, *) *) (q (q33, *,D), *,D) (q (q5,5, B) B) (q (q66, B,I), B,I)
(q(q3,3, C) C) (q (q33, C,D), C,D)
/ * A Q U I *
/ B
![Page 198: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/198.jpg)
MAQUINA DE TURIN(Ejemplo 3):MAQUINA DE TURIN(Ejemplo 3):
Ejm: Diseñe el algoritmo que detecte que una cadena siempre Ejm: Diseñe el algoritmo que detecte que una cadena siempre comienza con un carácter luego del carácter puede venir un comienza con un carácter luego del carácter puede venir un numero o carácter.numero o carácter.
Solución:Solución:
(q(q0,0, Ø) Ø) (q (q11, Ø,D), Ø,D)
(q(q1,1, L) L) (q (q22, L,D), L,D)
(q(q2,2, L) L) (q (q22, L,D), L,D)
(q(q2,2, n) n) (q (q22, n, D), n, D)
(q(q2,2, B) B) (q (q33, B,I), B,I)
![Page 199: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/199.jpg)
AUTOMATA DE PILAAUTOMATA DE PILA
Un automata de pila AP, en ingles pushdown automata, es unUn automata de pila AP, en ingles pushdown automata, es unautómata capaz de reconocer los lenguajes libres de contexto,autómata capaz de reconocer los lenguajes libres de contexto,o de tipo 2. Los autómatas de pila se pueden representar comoo de tipo 2. Los autómatas de pila se pueden representar comouna maquina de Turíng, que solo puede leer de una cinta, y queuna maquina de Turíng, que solo puede leer de una cinta, y quepuede guardar resultados intermedios en una pila.puede guardar resultados intermedios en una pila.
De hecho su capacidad de procesamiento es inferior a la ALA,De hecho su capacidad de procesamiento es inferior a la ALA,debido a las siguientes restricciones sobre las posiblesdebido a las siguientes restricciones sobre las posiblesoperaciones con la cinta y la pila:operaciones con la cinta y la pila:
- La cinta se desplaza en un solo sentido, y su cabeza solo - La cinta se desplaza en un solo sentido, y su cabeza solo puede leer.puede leer.- La pila, esta limitada en un extremo por definición, cuando - La pila, esta limitada en un extremo por definición, cuando se lee un elemento de al pila, este desaparecerá o se saca y se lee un elemento de al pila, este desaparecerá o se saca y cuando se escribe es la pila, se introduce un elemento. cuando se escribe es la pila, se introduce un elemento.
![Page 200: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/200.jpg)
AUTOMATAS DE PILA(TIPOS):AUTOMATAS DE PILA(TIPOS):
DEPENDIENTES DE LA ENTRADA: Se lee eDEPENDIENTES DE LA ENTRADA: Se lee e11 ∑, y se desplaza la ∑, y se desplaza la cinta, y en función de ecinta, y en función de eii, q, qjj(el estado en que se encuentra la (el estado en que se encuentra la cinta), y Z(el valor de la pila), el control pasa a otro estado qcinta), y Z(el valor de la pila), el control pasa a otro estado q11, y , y en la pila se introduce Zen la pila se introduce Z++, o se extrae Z, o no se hace nada., o se extrae Z, o no se hace nada.
INDEPENDIENTES DE LA ENTRADA: Puede ocurrir lo mismo INDEPENDIENTES DE LA ENTRADA: Puede ocurrir lo mismo que en el caso anterior, solo que eque en el caso anterior, solo que e11, no interviene, la cinta no se , no interviene, la cinta no se mueve, lo que permite manejar la pila sin las informaciones de mueve, lo que permite manejar la pila sin las informaciones de entrada.entrada.
En cualquier caso, se vacía la pila (es decir extrae todas las Z)el En cualquier caso, se vacía la pila (es decir extrae todas las Z)el automata se para. automata se para.
![Page 201: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/201.jpg)
AUTOMATA DE PILAAUTOMATA DE PILA
Un automata de pila se puede Un automata de pila se puede definir formalmente como una definir formalmente como una séptupla AP(Q,∑,R, ,qℓséptupla AP(Q,∑,R, ,qℓ 00,Z,Z00,F),F)
Q es el conjunto finito de estados.Q es el conjunto finito de estados. ∑ ∑ es el alfabeto de entrada, es es el alfabeto de entrada, es
finito.finito. R es el alfabeto de la pila.R es el alfabeto de la pila. ℓ ℓ es la función de transición.es la función de transición. qq00 es el estado inicial y cumple es el estado inicial y cumple
que qque q00 Q.Q.
ZZ00 es el símbolo inicial que es el símbolo inicial que contiene la pila antes de comenzar contiene la pila antes de comenzar ZZ0 0 r. r.
F es el conjunto de estados F es el conjunto de estados finales.finales.
![Page 202: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/202.jpg)
EJEMPLOEJEMPLO
Sea L={aSea L={aiibbii : i>= 1} sobre ∑={a,b} : i>= 1} sobre ∑={a,b}
Solución:Solución:
La idea es copiar las (a)es en la pila y borrar una “a” La idea es copiar las (a)es en la pila y borrar una “a” por cada “b” que sea leida en la cinta. Una cadena es por cada “b” que sea leida en la cinta. Una cadena es aceptable si es procesada completamente y en la aceptable si es procesada completamente y en la pila solo queda el marcador en el fondo Z. pila solo queda el marcador en el fondo Z.
![Page 203: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/203.jpg)
EJEMPLOEJEMPLO
qq00,a,Z) = (q,a,Z) = (q00,AZ),AZ) a a b b
(q(q00,a,A) = (q,a,A) = (q00,AA),AA)
(q(q00,b,A) = (q,b,A) = (q11,,)) b b
(q(q11,b,A) = (q,b,A) = (q11,,))
(q(q11,,,Z) = (q,Z) = (q22,Z),Z) Sea w= aabb veamos el procedimiento de al cadena. Sea w= aabb veamos el procedimiento de al cadena.
(q (q00, aabb, Z)├ (q, aabb, Z)├ (q00, abb,, abb, AZ AZ)├(q)├(q00, bb, AAZ), bb, AAZ)
├ ├ (q(q11, b,, b, AZ AZ)├(q)├(q11, , , Z), Z)
├ ├ (q(q22, Z), Z)
La última es una configuración de aceptación por tanto La última es una configuración de aceptación por tanto “w”“w”
es aceptada.es aceptada.
q0 q1 q2
![Page 204: Matematica Discreta.ppt](https://reader035.vdocuments.co/reader035/viewer/2022062410/55cf8f58550346703b9b7097/html5/thumbnails/204.jpg)
EJEMPLOEJEMPLO
Sea w= aaabb veamos el procedimiento de al Sea w= aaabb veamos el procedimiento de al cadena. cadena.
(q(q00, aaabb, Z)├ (q, aaabb, Z)├ (q00, aabb,, aabb, AZ AZ)├(q)├(q00, abb, AAZ), abb, AAZ)
├ ├ (q(q00, bb,, bb, AAAZ AAAZ)├(q)├(q11, b, AAZ), b, AAZ)
├ ├ (q(q11, , ,AZ),AZ)
A pesar que la cadena se proceso A pesar que la cadena se proceso completamente (qcompletamente (q11, , ,AZ) no es una ,AZ) no es una configuración de aceptación, por tanto “w” no configuración de aceptación, por tanto “w” no es aceptada.es aceptada.