t04.2013.Modelos de Computacion-color
-
Upload
olha-sharhorodska -
Category
Documents
-
view
225 -
download
0
Transcript of t04.2013.Modelos de Computacion-color
![Page 1: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/1.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 1/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
4. introducción a los modelos de computación
CONTENIDO
Funciones: propiedades, comparación deltamaño de conjuntos, cantidad de
funciones [H2.3], funciones de cifrados,
funciones hash [H2.3], funcionesrecursivas [H3.2]. Lógica como modelo de
computación [G1.5]. Lenguajes Formales:
características, descripciones,operaciones, usos [G8.4]. Conjuntos
contables [H2.4]. Diagonalización [H2.4].
Límites de la computabilidad [H2.4.3].
11
![Page 2: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/2.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 2/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
bibliografía
GERSTING, JUDITH L. “Mathematical
Structures for Computer Science: A
Modern Approach to Discrete
Mathematics”. W H Freeman & Co,
2006.
HEIN, JAMES. Discrete Structures,
Logic and Computability. Jones andBartlett Publishers. 1995 - 2001
22
![Page 3: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/3.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 3/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
propiedades de funciones (repaso)
Sea f: A→B una función. Diremos que f
es inyectiva si y sólo si
∀x,y∈ A x≠y → f(x) ≠ f(y).
Es decir, a elementos distintos del
conjunto de partida le correspondenelementos distintos del codominio,
o lo que
es lo mismo∀x,y∈ A f(x) = f(y) → x=y
33
![Page 4: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/4.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 4/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
propiedades de funciones (repaso)
Sea f: A→B una función. Diremos que f
es sobreyectiva si y sólo si
∀y∈B ∃x ∈ A : f(x) = y.
Es decir, la imagen de f es igual al
codominio de la función.
44
![Page 5: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/5.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 5/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
propiedades de funciones (repaso)
Una función es biyectiva si es inyectiva
y sobreyectiva a la vez.
Si f es biyectiva, entonces su inversa f -1
es también una función y además
biyectiva.
55
![Page 6: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/6.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 6/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
propiedades de funciones (repaso)
Ejemplos:
La función f : R→
Z definida comof ( x ) = ┌ x +1 ┐
es sobreyectiva porque para cualquier
y ∈ Z existe un número en R , y – 1 tal
que f (y – 1) = y .
Pero f no es inyectiva porque, porejemplo, f (2.5) = f (2.6).
66
![Page 7: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/7.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 7/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
propiedades de funciones (repaso)
Ejemplos:La función f : Z → Z definida como
f ( x ) = x +1
es sobreyectiva porque para cualquier
y ∈ Z existe un número en Z , y – 1 talque f (y – 1) = y .
Además f es inyectiva porque, ∀x,y∈ A
x≠y → f(x) ≠ f(y).Concluimos que f es biyectiva.
La inversa de f, f -1: Z → Z se define
como f -1 (y) = y-1.
77
![Page 8: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/8.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 8/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
propiedades de funciones (repaso)
Ejercicios
Cuáles de las siguientes funciones soninyectivas, sobreyectivas o biyectivas
(si es biyectiva encontrar la inversa):
1. f :N 3 →N 3 definida como f ( x )=2 x mod 3.2. Sea Σ={a,b}
f:Σ* →
N definida como f(w)=|w|.f:Σ* → Z definida como f(w)=|w|.
f:Σ* → Σ* definida como f(w)=aw
88
![Page 9: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/9.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 9/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
la función modulo e inversas
Lema:Sea n > 1 y sea f : N n→ N n definida
como sigue, donde a y b son enteros:
f ( x ) = (ax + b) mod n.
Entonces f es una biyección si y sólo siel mcd(a,n)=1. Cuando esto ocurre, lafunción inversa f -1 se define como
f -1
(x)=(kx+c) mod ndonde c es un entero tal que f(c)=0 y k
es un entero tal que 1 = ak + nm para
algún entero m.
99
![Page 10: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/10.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 10/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
principio del palomar
Si m palomas vuelan a
un palomar que
contiene n celdasdonde m> n entonces
una celda tendrá dos
o más palomas
Si A y B son conjuntos finitos con |A| > |B|,
entonces toda función de A a B mapeaal menos dos elementos de A a un únicoelemento de B. Esto es lo mismo quedecir que no se puede definir una
función inyectiva de A a B.
1010
![Page 11: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/11.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 11/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
principio del palomar
Ejemplos:
1.
El juego de la silla, cuando juegan mpersonas y quedan m-1 sillas.
2. En un grupo de 8 personas dos
deben haber nacido el mismo día dela semana.
3. En un conjunto de n+1 enteros
existen (al menos) dos que tendrán el
mismo resto al ser divididos por n.
1111
![Page 12: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/12.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 12/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones de cifrado
Función de cifrado para traducir letras de
un alfabeto, donde cada letra se
codifica con un número del 0 al 26:
f(x)=(x+5) mod 27
La función f “corre” la letra 5 posiciones.Ejemplo:
Codificamos la palabra hola como mtpf
1212
![Page 13: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/13.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 13/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones de cifrado
Preguntas:
¿Es f una biyección?
¿Cómo decodificamos el mensaje?
f −1( x ) = ( x – 5) mod 27.
Sabemos f(26)=4
f −1(4) = (4 – 5) mod 27 =(–1) mod 27 =26
1313
![Page 14: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/14.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 14/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
criptoanálisis y funciones de cifrado
Criptoanálisis (del griego
kryptós, "escondido" y
analýein, "desatar") es elestudio de los métodos
para obtener el sentido de
una información cifrada,sin acceso a la información
secreta requerida para
obtener este sentidonormalmente.
Fialka (M-125)fuente: wikipedia
1414
![Page 15: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/15.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 15/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones de cifrado
La función f(x)=(x+5) mod 27 es un ejemplo
de función de cifrado aditiva.
Las funciones de cifrado aditivas sonmonoalfabética: un carácter del alfabeto es
siempre reemplazado por un mismo carácter
del alfabeto.Dado mtpf podemos deducir fácilmente quecodifica la palabra hola.
Otra funciones de cifrado monoalfabéticas sonlas funciones de cifrado multiplicativas.
Ejemplo: g(x) = 3x mod 27
¿Es g una biyección?
1515
![Page 16: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/16.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 16/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones de cifrado
Otro ejemplo de funciones de cifrado
monoalfabéticas son las funciones de
cifrado afines
Utilizan un par de claves: (M,A)
Ejemplo:clave (4,5)
f(x) =(4x + 5) mod 27.
Pregunta:
¿Cómo desciframos los mensajes?
1616
![Page 17: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/17.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 17/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones de cifrado y puntos fijos
Lema
Sea n > 1 y sea f : N n → N
ndefinida
como sigue donde a y b son enteros
f ( x ) = (ax + b) mod n.
Entonces f no tiene puntos fijos si y sólosi mcd(a – 1, n) no divide a b.
1717
![Page 18: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/18.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 18/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones de cifrado y puntos fijos
Ejemplo
La función de cifrado
f(x)=(4x + 5) mod 27
no tiene puntos fijos porque:
mcd(4-1,27)=mcd(3,27)=3, y 3 no dividea 5
Por otra parte, la función de cifradof(x)=(4x + 6) mod 27
tiene puntos fijos. ¿Cuáles son?
1818
![Page 19: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/19.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 19/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones hash
Una función hash es una función
que mapea un conjunto S declaves a un conjunto finito de
índices 0, 1, . . . , n – 1 de una
tabla.
Una tabla cuya información seencuentra utilizando una función
de hash se denomina tabla hash.
1919
![Page 20: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/20.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 20/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones hash
Ejemplo:
Mapear las abreviaturas de los meses
del año utilizando la función de hash f:
S → {0,1,…,11} de la siguiente
manera.f(XYZ) = (ord(X)+ord(Y)+ord(Z)) mod 12
donde ord(X) el código ASCII de X.
2020
![Page 21: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/21.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 21/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones hash
Colisiones:
¿Cómo asignar un nuevo valor?
Sondeo Lineal:Buscar hasta encontrar un espacio libre:
(k + 1) mod n, (k + 2) mod n, …, (k + n) mod n.
2121
![Page 22: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/22.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 22/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones hash
Preguntas:
¿Es posible encontrar una función inyectiva de
tal manera que no existan colisiones?
¿Si incrementamos el tamaño de la tabla,
sería más simple encontrar una función
inyectiva?
¿Si el tamaño de la tabla es incrementado,
podemos dispersar los elementos de tal
manera que las colisiones puedan serresueltas en menor tiempo?
2222
![Page 23: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/23.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 23/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones hash
Sondeo lineal utilizando huecos (gaps)Buscar hasta encontrar un espacio libre:
(k + g ) mod n,(k + 2g ) mod n,...,(k + ng ) mod n.
Ejemplos:
Para n = 12 y g = 4k = 7:
11, 3, 7, 11, 3, 7, 11, 3, 7, 11, 3, 7.
Para n = 12 y g = 5
k=7
0, 5, 10, 3, 8, 1, 6, 11, 4, 9, 2, 7.
Si queremosencontrar unabiyecciónnecesitamosmcd(g,n)=1(1≤g<n)
2323
![Page 24: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/24.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 24/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones hash
Aplicaciones de las funciones hash:
Acceso rápido a archivos.
Identificar archivos (por ejemplo, usado
en sistemas P2P).
Corroborar que un archivo no hayacambiado (test de integridad).
2424
![Page 25: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/25.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 25/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones recursivas sobre naturales(tema a verse en clase práctica)
Sea suc la función sucesor
suc es tal que suc(x) = x+1.
Definición recursiva de suma
Podemos definir la función sumarecursivamente como sigue:
suma(m,0) = m
suma (m, n+1) = suc (suma (m, n))
2525
![Page 26: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/26.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 26/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones recursivas sobre naturales(tema a verse en clase práctica)
Definición recursiva de producto:
prod(n,0) = 0
prod(m, n+1) = suma (m,prod(m, n))
Definición recursiva de exponenciación:
exp(m,0) = 1
exp(m, n+1) = prod(m,exp(m, n))
Nota: usaremos +,* y ↑ para denotar suma,producto y exponenciación,
respectivamente.
2626
![Page 27: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/27.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 27/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones recursivas sobre naturales(tema a verse en clase práctica)
Suma de números impares
f (n)=1 + 3 + ··· + (2n + 1)
=(1 + 3 + ··· + (2n − 1)) + (2n + 1)
=(1 + 3 + ··· + 2(n − 1) + 1) + (2n +1)
= f (n − 1) + 2n + 1.
Definición recursiva de f
f (0) = 1,f (n + 1) = f (n) + 2n + 3.
2727
![Page 28: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/28.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 28/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones recursivas sobre naturales(tema a verse en clase práctica)
Definición recursiva de fibonacci
fib(0) = 0,
fib(1) = 1,
fib(n+2 ) = fib(n+1) + fib(n)2828
![Page 29: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/29.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 29/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones recursivas sobre cadenas(tema a verse en clase práctica)
Al trabajar con cadenas, asumiremos
que nuestro alfabeto está compuesto
sólo por los símbolos a y b.
Sea complemento una función definida
sobre cadenas tal que transforma lasa’s en b’s y viceversa.
Definición recursiva de complemento
comp(λ) = λcomp(a.w) = b.comp(w)
comp(b.w) = a.comp(w)
2929
![Page 30: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/30.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 30/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones recursivas sobre listas(tema a verse en clase práctica)
Notación
L = [] representa la lista vacía
L = x :: T representa la lista L con
cabeza (primer elemento) x y cola T.
Definición recursiva de longitud longitud ([] ) = 0
longitud (a::T) = 1 + longitud (T) .
3030
![Page 31: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/31.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 31/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
funciones recursivas sobre listas(tema a verse en clase práctica)
pares([a, b, c], [1, 2, 3]) = [(a, 1), (b, 2),
(c, 3)]
Definición recursiva de pares
pares ([ ] ,[ ] ) =[ ] ,pares (a :: T, b :: T’) = (a, b) :: pares(T,T’) .
3131
![Page 32: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/32.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 32/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
lenguajes formales: definiciones básicas
Un alfabeto (o vocabulario) Σ es unconjunto finito no vacío de símbolos.
Una cadena sobre Σ es una secuenciafinita de símbolos de Σ.
Σ* es el conjunto de todas las cadenas
sobre Σ.Un lenguajes sobre Σ es un
subconjunto de Σ*.Una gramática para un lenguaje puede
ser descripta definiendo su procesogenerativo.
3232
![Page 33: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/33.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 33/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
gramáticas para lenguajes formales
Una gramática estructura de frase(tipo 0) es una 4-tupla
G= (V N , V T , S , P ), donde V N = conjunto de símbolos no terminales.
V T = conjunto de símbolos terminales.
S = símbolo inicial de la gramática.
P = conjunto finito de producciones de laforma α → β donde α es una cadena
sobre V N UV T con al menos un símbolo deV N y β es una cadena sobre V N UV T.
(usamos α → λ cuando β es la cadena
nula)
3333
![Page 34: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/34.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 34/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
derivaciones
Sea G=(V N ,V T , S , P ) y sean w 1 y w 2cadenas sobre V N U V T .
Decimos que w 1 deriva directamente
w 2, y lo notamos w 1 ⇒ w 2 si
α → β es una producción en P, w 1 contiene una instancia de α ,
w 2 es obtenida a partir de w 1reemplazando esa instancia de α con
β .
3434
![Page 35: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/35.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 35/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
derivaciones
Si w 1,w 2,...,w n son cadenas sobre V N UV T
y w 1 ⇒ w 2, w 2 ⇒ w 3,... w n−1⇒ w n,
entonces w 1 genera (deriva) w n,
Se escribe w 1 ⇒ w n
(por convención, w 1⇒
w 1)
+
*3535
![Page 36: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/36.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 36/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
lenguaje formal
Dada una gramática G, el lenguaje L
generado por G , denotado L(G), es el
conjunto L = {w ∈ V T * | S ⇒ w }.
En otras palabras, L es el conjunto de
todas las cadenas de terminalesgeneradas a partir de S.
Observación: Una vez que una cadena
w de terminales ha sido obtenida,ninguna producción puede ser aplicada
a w, y w no puede generar otras
palabras.
+
3636
![Page 37: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/37.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 37/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
ejemplo de derivación
Sea L = {0 n1n ⏐ n ≥ 1}.
Una gramática para L es G=(V N ,V T , S,
P ) donde V N = {S}, V T = {0, 1}, y P consiste de las siguientesproducciones:
1. S → 0S12. S → 01
Podemos generar 0313 como sigue:
S ⇒ 0S1⇒ 00S11⇒ 000111
3737
![Page 38: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/38.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 38/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
ejemplo de derivación
Sea L = {anbnc n ⏐ n ≥ 1}.
Una gramática para L es G=(V N ,V T , S,
P ) donde V N = {S, B, C }, V T = {a, b, c },y P consiste de las siguientesproducciones:
1. S → aSBC 2. S → aBC 3. CB → BC
4. aB → ab5. bB → bb6. bC → bc
7. cC → cc
3838
![Page 39: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/39.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 39/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
ejemplo de derivación
Podemos generar la cadena a2b2c 2
como sigue
S ⇒ aSBC
⇒ aaBCBC
⇒ aaBBCC ⇒ aabBCC
⇒aabbCC ⇒ aabbcC
⇒ aabbcc
3939
![Page 40: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/40.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 40/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
clases de gramáticas
Estructura de frase (tipo 0): sinrestricciones.
Sensible al contexto (tipo 1): paracada producción α → β (excepto S→ λ),|α | ≤ | β |.
Libre de contexto (tipo 2): para cadaproducción α → β (excepto S→λ),α ∈V N .
Regular (tipo 3) para cada producciónα → β (excepto S→λ), α ∈ V N y β es dela forma t o tW, donde t ∈ V T y W ∈ V N .
4040
![Page 41: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/41.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 41/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
clases de gramáticas
Ejercicios
Determinar qué lenguaje genera cada
una de las siguientes gramáticas
G=(V N ,V T , S , P ) . Determinar su tipo.
1)V N = {S},
V T = ∅
P: S→ λ
4141
![Page 42: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/42.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 42/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
clases de gramáticas
2)
V N = {S}
V T = ∅
P = ∅
3)
V N = {S}
V T = {a}P : S → a | aS
4242
![Page 43: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/43.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 43/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
clases de gramáticas
4)
V N = {S,A},
V T = {a}
P : S → λ | aA
A → aS
5)
V N = {S},V T = {a,b}
P : S → λ | SS | aSb | bSa
4343
![Page 44: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/44.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 44/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
clases de gramáticas
6)
V N = {S},
V T = {a,b}
P : S → aS
aS → bbb7)
V N = {S},
V T = {a,b}P : S → aS
aS → b
4444
![Page 45: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/45.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 45/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
gramáticas y lenguajes
Un lenguaje se dice de tipo N si puede ser
generado por una gramática de tipo N
tipo 3
tipo 2
tipo1
tipo 0
Jerarquía de Chomsky
Noam Chomsky(1928-)
4545
![Page 46: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/46.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 46/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
dispositivos computacionales
El dispositivo computacional más general se
llama máquina de Turing (se verá en
Teoría de Computabilidad) y se correspondecon los lenguajes de tipo 0.
Los lenguajes reconocidos por máquinas de
Turing son los lenguajes de tipo 0.El dispositivo computacional más básico se
llama autómata finito y se corresponde con
los lenguajes de tipo 3.
4646
![Page 47: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/47.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 47/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
dispositivos computacionales
Existen dispositivos computacionales
con capacidad intermedia entre
aquellos reconocidos por autómatasfinitos y máquinas de Turing (se verán
en Teoría de Computabilidad):
Autómatas a Pila para lenguajes de
tipo 2
Máquinas de Turing acotadaslinealmente para lenguajes de tipo 1.
4747
i b l j
![Page 48: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/48.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 48/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
operaciones sobre lenguajes
Los lenguajes son conjuntos (finitos o
infinitos) de cadenas y por tal motivo
podemos operar sobre ellos:Operaciones:
unión intersección
complemento
concatenación
estrella de Kleene
4848
i
![Page 49: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/49.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 49/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
operaciones
Sean L1 y L2 dos lenguajes sobre un
alfabeto Σ :
L1 ∪ L2 = {w | w ∈ L1 ó w ∈ L2}
L1 ∩ L2 = {w | w ∈ L1 y w ∈ L2}
L1’ = {w | w ∈ Σ* y w ∉ L1}L1 ° L2 = {w1w2 | w1∈ L1 y w2∈ L2}
L1* = {w1w
2… w
n| w
i∈ L1, n
≥0}
4949
i
![Page 50: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/50.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 50/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
operaciones
Ejercicios
Sea Σ = {a,b} y los siguientes lenguajes
definidos sobre Σ
Sea L1 = {anbn | n > 0} y sea L2 = {bn | n > 0}
Identificar:
L1 ∪ L2
L1 ∩ L2
L1’ y L2’
L1 ° L2
L1* y L2*
5050
gramáticas regulares
![Page 51: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/51.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 51/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
gramáticas regulares
Las gramáticas regulares sirven para
generar:
Cualquier lenguaje finito (aunquepuede volverse una tarea tediosa).
Lenguajes infinitos que presentanciertas regularidades que pueden ser
expresada de manera sencilla
utilizando las llamadas expresionesregulares (como veremos más
adelante)
5151
gramáticas regulares
![Page 52: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/52.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 52/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
gramáticas regulares
Ejemplos de lenguajes que pueden ser
generados por gramáticas regulares:
L=∅. El lenguaje vacío.
L=Σ*. para cualquier Σ. El lenguaje
universal. L={w| w ∈ {a,b}* donde w tiene m a’s
seguidas de n b’s para m,n >0}.
L={w| w ∈ {0,1}* donde w tieneexactamente tres 0’s y tres 1’s}.
5252
gramáticas libres de contexto
![Page 53: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/53.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 53/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
gramáticas libres de contexto
Las gramáticas libres de contexto tienen
ciertas características destacadas:
Son sencillas, reemplazan un símbolopor vez.
Pueden ser utilizadas para describir lasintaxis de los lenguajes de
programación.
La derivación de una gramática librede contexto puede ser vista como un
árbol de derivación.
5353
gramáticas libres de contexto
![Page 54: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/54.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 54/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
gramáticas libres de contexto
Ejemplo de lenguajes que pueden sergenerados por gramáticas libres de
contexto: Todos los que pueden ser generados
por gramáticas regulares
L ={anbn| n > 0} L={w|w∈{(,)}* donde los paréntesis
están balanceados}
L={w| w ∈{a,b}* y w=wr }.Observación: Si w = w1w2…wn,wi ∈{a,b}, entonces wr = wnwn-1…w1
5454
conjuntos contables
![Page 55: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/55.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 55/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
(se verá al final del curso)
Sean A y B conjuntos. Si existe una
biyección entre A y B denotaremos
este hecho escribiendo|A| = |B|.
En este caso diremos que A y B tienen elmismo tamaño o la misma cardinalidad
o que son equipotentes.
5555
conjuntos contables
![Page 56: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/56.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 56/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
(se verá al final del curso)
Cardinalidad de un conjunto finito
¿Cuál es la cardinalidad del conjunto A
definido como sigue?
A = {( x + 1)3 | 1 ≤ ( x + 1)3 ≤ 3000, x ∈ N}
Existe una biyección f :{0, 1, . . . , 13} → A
donde f ( x ) = ( x + 1)3.
Por lo tanto
| A| = |{0, 1, . . ., 13}|= 14.
5656
conjuntos contables( á l fi l d l )
![Page 57: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/57.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 57/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
(se verá al final del curso)
Cardinalidad de un conjunto infinito
Sea Impar el conjunto de números
naturales impares.
Sea f la función f : N → Impar definida
como f ( x ) = 2 x + 1. Dado que f es unabiyección, podemos concluir que el
conjunto Impar y N tienen el mismo
tamaño. Es decir, |Impar| = |N|.
5757
conjuntos contables( á l fi l d l )
![Page 58: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/58.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 58/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
(se verá al final del curso)
Un conjunto se dice contable si es finitoo si existe una biyección entre el
mismo y N. En el último caso se diceque el conjunto es infinitamentecontable.
En términos de tamaño decimos que unconjunto S es contable si
|S| = |{0, 1, . . . , n – 1}|
para algún número natural n o |S| = |N|.Si un conjunto no es contable, decimos
que es incontable.
5858
conjuntos contables( á l fi l d l )
![Page 59: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/59.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 59/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
(se verá al final del curso)
Propiedades de conjuntos contables
a. Todo subconjunto de N es contable.
b. S es contable si y sólo si |S| ≤ |N|.
c. Cualquier subconjunto de un conjunto
contable es contable.d. Cualquier imagen de un conjunto
contable es contable.
5959
conjuntos contables(se erá al final del c rso)
![Page 60: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/60.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 60/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
(se verá al final del curso)
Teorema (Hein página 117-118)
N N es un conjunto contable.
Prueba:Se describe una biyección como sigue
(0, 0), ↔ 0,(0, 1), (1, 0), ↔ 1, 2
(0, 2), (1, 1), (2, 0),↔
3, 4, 5,
(0, n), · · · ↔ (n2 + n) / 2, · · ·M
M
M
M
clave: f(x,y) =
(( x + y )2 + 3 x + y)/ 2
6060
conjuntos contables(se verá al final del curso)
![Page 61: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/61.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 61/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
(se verá al final del curso)
Teorema (Hein, página 118)Si S0, S1, …, Sn, … es una secuencia de
conjuntos contables. Entonces la uniónS0 ∪ S1 ∪ … ∪ Sn ∪ …
es un conjunto contable.
Ejemplos de conjuntos contables:
Los números racionales El conjunto Σ* de cadenas sobre un
alfabeto finito Σ.
clave: asociar cada tupla (m, n) en N × N con unelemento x mn en la unión de los conjuntos dados.
6161
diagonalización(se verá al final del curso)
![Page 62: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/62.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 62/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
(se verá al final del curso)
Sea A un alfabeto con dos o más símbolos y seaS0, S1, …, Sn, … un listado contable desecuencias de la forma Sn =(an0, an1, …, ann, …),
donde ani∈ A. Las secuencias son listadas comolas filas de la siguiente matriz infinita
entonces existe una secuencia S=(a0, a1, …, an,
…) sobre A que no está en la lista original.
6262
diagonalización(se verá al final del curso)
![Page 63: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/63.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 63/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
(se verá al final del curso)
Podemos construir S a partir de la lista de
elementos diagonales (a00, a11, …, ann, …)
cambiando cada elemento de tal manera que
an≠ ann para cada n. Entonces S difiere de cada
S0 en el elemento n-ésimo.
Por ejemplo, tomando dos elementos x,y ∈ Adefinimos
⎩⎨⎧
≠
==
ysi y
ysi x
nn
nn
na
aa
6363
conjuntos incontables(se verá al final del curso)
![Page 64: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/64.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 64/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
(se verá al final del curso)
Ejercicio
Sea (0, 1) = { x ∈ R | 0 < x < 1} y sea R +
el conjunto de reales positivos.Mostrar que la función f : (0, 1) → R +
definida como
es una biyección.
x 1
x f(x)
−=
6464
conjuntos incontables(se verá al final del curso)
![Page 65: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/65.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 65/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
(se verá al final del curso)
Lema (Hein, página 120)Los números reales son incontables
Prueba
Es suficiente probar que U = (0,1) es incontable. Asumamos por el absurdo que U es contable.
Entonces podemos listar todos los números entre 0y 1 como una secuencia contable r 0,r 1,r 2,… r n, …
Cada número real entre 0 y 1 puede serrepresentado como un infinito decimal. Entoncespara cada n existe una representaciónr n = 0.d n0 d n1. . . d nn. . . , donde cada d ni es un dígitodecimal. Dado que r n puede representarse por la
secuencia (0.d n0 d n1. . . d nn. . . ), entonces, pordiagonalización podemos concluir que existe undecimal infinito que no está en la lista (ver Hein).
Concluimos que U es incontable y por lo tanto R esincontable.
6565
conjuntos incontables(se verá al final del curso)
![Page 66: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/66.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 66/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
(se verá al final del curso)
Lema (Hein, página 121)El conjunto F de funciones de N en N es
incontable
Prueba Asumamos por el absurdo que F es contable.
Entonces podemos listar todas las funciones
de N en N como f 0 ,f 1,f 2 ,… f n, …Cada función f n puede ser representada porla secuencia de sus valores (f n(0)f n(1). . .f n(n). . . ), entonces, por diagonalización,
podemos concluir que existe una funciónque no está en la lista (ver construcción enHein).
Concluimos que F es incontable.
6666
límites de la computabilidad(se verá al final del curso)
![Page 67: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/67.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 67/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
(se verá al final del curso)
Teorema (Hein, página 122)El conjunto de programas que pueden ser
escritos utilizando un lenguajes deprogramación es infinitamente contable.
Prueba:Cada programa es una cadena finita de
símbolos sobre un alfabeto finito fijo. Sea P nel conjunto de todos los programas que soncadenas de longitud n sobre A. El conjunto
de todos los programas es la unión de losconjuntos P 0, P 1, … , P n, … Dado que cadaP n es finito y por lo tanto contable, podemosconcluir que la unión es contable.
6767
límites de la computabilidad(se verá al final del curso)
![Page 68: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/68.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 68/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
(se verá al final del curso)
Existe “sólo” un número contable de
programas de computadora. Por lo
tanto existen límites sobre lo quepuede ser computado.
Ejemplos
Dado que existe un número incontable
de funciones de N → N no todas son
computables. Existen programa paracalcular sólo un conjunto contable de
estas funciones.
6868
límites de la computabilidad(se verá al final del curso)
![Page 69: t04.2013.Modelos de Computacion-color](https://reader034.fdocuments.es/reader034/viewer/2022051008/5695d0251a28ab9b02913015/html5/thumbnails/69.jpg)
7/23/2019 t04.2013.Modelos de Computacion-color
http://slidepdf.com/reader/full/t042013modelos-de-computacion-color 69/69
introduccióna los modelos
de computación
LENGUAJESLENGUAJESFORMALESFORMALES
Y YAUTAUTÓÓMATASMATAS
( )
Ejemplos (cont.)
No es posible computar cualquier real hastaun número arbitrario de cifras decimales. Larazón es que existe un número contable deprogramas y un número incontable dereales.
Si extraemos los reales computables de R,el conjunto restante sigue siendo incontable.¿Por qué?
Los números racionales pueden sercomputados.
Algunos números irracionales pueden sercomputados (ejemplo:
π).
6969