Académique Documents
Professionnel Documents
Culture Documents
JCSA J
1.1.1 Conjuntos
El fundamento ms importante para el estudio de los lenguajes y autmatas es la Teora de Conjuntos. En efecto, siempre que se hable de formalizar una nocin, estaremos diciendo en realidad expresar en trminos de la Teora de Conjuntos. Un conjunto es cualquier coleccin bien definida de objetos. A menudo, los objetos que forman un conjunto comparten alguna caracterstica en comn. Un elemento de un conjunto es cualquiera de los objetos que lo constituyen. Los conjuntos pueden expresarse de dos maneras bsicamente: Por extensin, lo cual quiere decir que citamos explcitamente cada uno de sus elementos, como en el conjunto {1, 3, 5, 7, 9} que contiene exactamente los nmeros 1, 3, 5, 7 y 9. Por comprensin, dando una descripcin precisa de los elementos que forman parte del conjunto, en vez de citarlos explcitamente. Por ejemplo, el conjunto del punto anterior puede ser visto como {i N | impar (i), i < 6}, donde se supone que los nmeros impares cumplen la condicin impar (i). La barra vertical | se lee en la forma tal que. Los conjuntos se representan utilizando letras maysculas, como en A = {2,4}. Los conjuntos pueden contener conjuntos como elementos, como en B = {{a}, {b,c}}. El conjunto sin elementos (vaco) se representa por o bien por {}. La notacin a B significa que a es elemento o est contenido en el conjunto B; por ejemplo {2,3} {1, {2,3},4}. Para indicar que a no est en B se escribe a B. Las comas separan elementos individuales, mientras que los puntos suspensivos (...) denotan la repeticin de un patrn claramente establecido como por ejemplo C = {a, b, c, ..., z} es el conjunto de letras minsculas. El tamao de un conjunto es el nmero de elementos que contiene, y se representa como |A| para un conjunto A, por ejemplo, el tamao de {a, b, c} es 3, y el tamao de es cero. Dos conjuntos A y B son iguales, A = B, s y solo s tienen los mismos elementos, esto es x A ssi x B. Por ejemplo {1.{2,3}} = {{3,2},1}, el orden de los elementos en un conjunto es irrelevante. Se supone que en los conjuntos no hay repeticiones de elementos, y que cada elemento del conjunto es distinto de todos los otros elementos. La notacin A B significa que el conjunto A es un subconjunto de B. Por ejemplo el conjunto {a, c} es un subconjunto de {a, b, c}. Para indicar que un subconjunto contiene menos elementos que otro, es decir, que es un subconjunto propio de ste, se escribe A B. Por ejemplo {a, c} {a, b, c}.
T Teora de la Computacin II a
Las relaciones de inclusi entre co n onjuntos se acostumbr represent grficam ra tar mente medi iante los lla amados dia agramas de Venn, qu denotan mediante r e ue m reas cerrada los as conju untos. Por e ejemplo en la figura A e subconju l es unto de B y B es subcon njunto de C. C
Una operacin es con nmutativa si x y = y x, como es el caso de la suma o la i o o a multi iplicacin d nmeros. Se dice qu es asocia de ue ativa si x (y z) = ( y) z; por (x z ejem mplo la suma es asociati pero no la resta, po ejemplo 8 (4 3) (8 4) 3. a iva, o or 3 Prod ducto cartesiano de dos conjuntos A x B es el conjunt de pares ordenados (a,b) s s, s to tales que a A y b B. Po ejemplo: or {1,2} x {3,4,5} = {(1,3), (1,4), (1,5), (2 } 2,3), (2,4), (2,5)} El ta amao de u producto cartesiano A x B es |A| multiplicado por |B|. El producto un o o carte esiano no es conmutativ ni asocia s vo, ativo. Conj junto finito, es aqul que tiene un nmero det q terminado de elemento d os. Conj junto infini es un co ito, onjunto cuy tamao no puede ex yo n xpresarse co un nmer ( o on ro que tiene un n nmero ind definido de elementos) un ejem ), mplo es el conjunto de los d eros les nme natural N = {1, 2, 3,...} junto conta able, es aqu conjunt cuyos el uel to lementos so enumera on ables (se pu ueden Conj listar por ejem r) mplo P = { n | n N y n es < 10}, Q = { n | n N } Conj junto no c contable, es aquel con s njunto que dado cualq quier parej a de eleme entos, siem mpre existir un eleme ento interm medio entre ambos, po ejemplo el conjunt de or to nme raciona eros ales. Uno de los conceptos ms importante de la Teo de Aut es ora tmatas es el del Leng guaje. Para llegar a es concepto es necesa ste o ario definir antes otras nociones m elemen ms ntales. Para todas las de efiniciones se utilizar extensivam mente la teor elementa de conjun ra al ntos.
JCSA J
1.1.2 Alfabeto
La nocin ms primitiva es la de smbolo, que es una representacin distinguible de cualquier informacin. Los smbolos pueden ser cualquiera, como W, 9, #, etc. Un smbolo es una entidad indivisible. Un alfabeto es un conjunto no vaco de smbolos. As el alfabeto del idioma espaol, E = {a,b,c, ..., z}es slo uno de los alfabetos posibles. En general se utilizar la notacin A para representar un alfabeto. Ejemplos de alfabetos: Alfabeto de dgitos decimales D = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. Alfabeto de dgitos binarios B = {0,1} Alfabeto de caracteres C = {a,b,...,z,A,B,...Z, ?, ! ,...,*,$}
1.1.2.1 Cadenas
Una cadena de caracteres es una secuencia finita de smbolos seleccionados de algn alfabeto. Las cadenas de caracteres son llamadas tambin palabras. Por ejemplo, 01101 es una cadena del alfabeto binario B = {0,1}. La cadena 111 es otra cadena de dicho alfabeto. Cadena vaca Un caso particular de cadenas es la cadena vaca, , es aquella cadena que presenta cero apariciones de smbolos. Esta cadena puede construirse en cualquier alfabeto. Longitud de una cadena La longitud de una cadena es la cantidad de smbolos que la contiene, contando las repeticiones, se denota por |w| para una palabra w. Por ejemplo |perro| = 5.
Teora de la Computacin II
w1w2 = abracadabra. La concatenacin de cadenas es asociativa, esto es, (w1w2) w3 = w1 (w2 w3), pero no conmutativa en el caso general. La longitud de una concatenacin cumple la propiedad | w1w2| = | w1| + | w2|.
w1 = w1 = w1
Solo se concatenan cadenas del mismo alfabeto. Potencia de una cadena w1k denota la concatenacin de w, con s misma k-1 veces (o la repeticin de w1, k veces). w1k = w1k-1. w1, w10 = {} por convencin w11 = w1 w12 = w1. w1 w1k = w1. w1, w1. ... w1 (k veces)
JCSA
1.1.3 Lenguajes
Un lenguaje es un conjunto de palabras seleccionadas de un A*, donde A es un determinado alfabeto. Un lenguaje puede ser finito o infinito y se puede definir por comprensin o extensin. Por ejemplo {abracadabra} es un lenguaje de una sola palabra, {ali, baba, y, sus, cuarenta, ladrones}, es otro, A* es otro, etc. Si A es un alfabeto y L A*, entonces L es un lenguaje de A. Ejemplos de lenguajes sobre el alfabeto B = {a, b, c}. L1 = {} L2 = {} L3 = {a, b, aa, bb, ab, ba} L4 = {an / n 1} = {a, aa, aaa, aaaa, ...} L5 = {anbn / n 1} = {ab, aabb, aaabbb, ...}
T Teora de la Computacin II a
Comp mplemento d un lenguaje de Es un caso parti n icular de la diferencia, cuando el primer Len , nguaje es co onsiderado como el u universo qu contiene todos los el ue lementos po osibles. {wA* / w 1} = A* - L1 L L1= { Conc catenacin de lenguaje es Deno otado por L1L2, conti iene los ele ementos de lenguaje L1 concat el e tenados con los elem mentos del le enguaje L2 L1L2 = {w1w2A / w1L1 y w2L2} A* utro oncatenacin es el . L1 = L1 = n El elemento neu de la co La co oncatenaci de lengua es asoc n ajes ciativa. L1(L2L3) = (L1 L2) L 3 La co oncatenaci de lengua no es co n ajes onmutativa. L1L2 L2L1 Poten del len ncia nguaje Es el conjunto d todas las cadenas de longitud K. l de K L0 = {} LK = LLLL...L k veces Clau usura (cerra adura, estre ella) de un l lenguaje nguaje, L*, llamado clausura de Kleene1 de L, es el lenguaje que e e Si L es un len conti iene: La caden vaca, na El lengu L uaje Todas la palabras formadas po la concatenacin de miembros d L* as f or de Por e ejemplo; si L1 = {a} y L2 = {abra, cadabra} L1* = {, a, aa, a aaaa, ...} aaa, L2* = {, abra, a abraabra, ab bracadabra, cadabraabr ... } ra, La d definicin d la clausu es recur de ura rsiva, pues en la terce regla se supone qu ya era e ue exist palabras en L*, las cuales se co ten s oncatenan para formar una nueva p p palabra. Reve ersa de un l lenguaje L1R = {wR A* / w L1} * Por e ejemplo si L1 = {, a, ab}, L1R = { a, ba} {,
1
JCSA J
Un lenguaje formal es un lenguaje cuyos smbolos primitivos y reglas para unir esos smbolos estn formalmente especificados. Al conjunto de los smbolos primitivos se le llama el alfabeto (o vocabulario) del lenguaje, y al conjunto de las reglas se lo llama la gramtica formal (o sintaxis). A una cadena de smbolos formada de acuerdo a la gramtica se la llama una frmula bien formada (o palabra) del lenguaje. Un lenguaje formal es idntico al conjunto de todas sus formulas bien formadas. A diferencia de lo que ocurre con el alfabeto (que debe ser un conjunto finito) y con cada formula bien formada (que debe tener una longitud tambin finita), un lenguaje formal puede estar compuesto por un numero infinito de formulas bien formadas. Bibliografa
Hopcroft, J.E,; Montwani R.; Ullman, J.D. (2008). Introduccin a la Teora de Autmatas, Lenguajes y Computacin, Pearson. Addison Wesley. Tucker, Allen B. (2004). Fundamentos de Informtica. McGraw-Hill.