Está en la página 1de 28

Lenguajes Formales y Monoides

Operaciones con Palabras


Sistemas de Transicin

Lenguajes Formales y Monoides

Universidad de Cantabria

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Esquema

Lenguajes Formales y Monoides

Operaciones con Palabras

Sistemas de Transicin

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

La operacin esencial sobre es la concatenacin o


adjuncin de palabras:
:
(x, y ) 7 x y
es decir, si x = x1 xn e y = y1 ym , entonces
x y = x1 xn y1 ym .
Denotemos por la palabra vaca (para distinguirla del
lenguaje vaco ).

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Teorema
( , ) es un monoide (semigrupo unitario), donde es el
elemento neutro, y la longitud define un morfismo de monoides
entre y el conjunto de los nmeros naturales. El monoide
es abeliano si y solamente si el cardinal de es uno.

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Teorema
( , ) es un monoide (semigrupo unitario), donde es el
elemento neutro, y la longitud define un morfismo de monoides
entre y el conjunto de los nmeros naturales. El monoide
es abeliano si y solamente si el cardinal de es uno.

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Discusin en Clase
Si es un alfabeto finito, el conjunto es numerable, esto es,
es biyectable con el conjunto N de los nmeros naturales.
Ejemplo: Si el conjunto = {0, 1}, entonces la biyeccin viene
dada por
B : 7 N

7 2l() + b()

donde l() es la longitud de la palabra y b() es el nmero


natural que tiene como representacin en binario la palabra .

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Discusin en Clase
Si es un alfabeto finito, el conjunto es numerable, esto es,
es biyectable con el conjunto N de los nmeros naturales.
Ejemplo: Si el conjunto = {0, 1}, entonces la biyeccin viene
dada por
B : 7 N

7 2l() + b()

donde l() es la longitud de la palabra y b() es el nmero


natural que tiene como representacin en binario la palabra .

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Discusin en Clase
Si es un alfabeto finito, el conjunto es numerable, esto es,
es biyectable con el conjunto N de los nmeros naturales.
Ejemplo: Si el conjunto = {0, 1}, entonces la biyeccin viene
dada por
B : 7 N

7 2l() + b()

donde l() es la longitud de la palabra y b() es el nmero


natural que tiene como representacin en binario la palabra .

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Discusin en Clase
Esto es muy importante, ya que a partir de ahora se podr
ordenar las palabras de menor a mayor. Tambin queda
definido que es la palabra ms pequea que no est en un
lenguaje.
Ejemplo
Sea = {0, 1}. Se pide
la palabra ms corta que tenga un nmero par de ceros.
la palabra ms corta que empiece por 1, acabe por 0 y
tenga longitud impar.
el nmero de palabras de longitud 17 que cumplen cada
una de estas condiciones.

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Operaciones Bsicas con Palabras


Adems de la concatenacin de palabras, existen las
siguientes operaciones:
Reverso de una Palabra: Se trata de una biyeccin
R

: ,

dada mediante:
Si = , R = ,
Si = x1 xn , con xi , se define
R := xn xn1 x1 .

Potencia de Palabras. Se define recursivamente a partir de


la concatenacin. Dada una palabra y un nmero
natural n N, se define la potencia n , mediante:
Si n = 0, entonces 0 = ,
Para n 1, se define

n := n1 .
Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Operaciones Bsicas con Palabras

Teorema
Dado un alfabeto finito y dos palabras 1 , 2 entonces
tenemos que
(1 2 )R = 2R 1R .
(1n )R = (1R )n

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Operaciones Bsicas con Palabras


Adems de la concatenacin de palabras, existen las
siguientes operaciones:
Reverso de una Palabra: Se trata de una biyeccin
R

: ,

dada mediante:
Si = , R = ,
Si = x1 xn , con xi , se define
R := xn xn1 x1 .

Potencia de Palabras. Se define recursivamente a partir de


la concatenacin. Dada una palabra y un nmero
natural n N, se define la potencia n , mediante:
Si n = 0, entonces 0 = ,
Para n 1, se define

n := n1 .
Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Operaciones Bsicas con Palabras

Teorema
Dado un alfabeto finito y dos palabras 1 , 2 entonces
tenemos que
(1 2 )R = 2R 1R .
(1n )R = (1R )n

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Un lenguaje que tendr cierta relevancia en futuras


discusiones posteriores es el Palndromo P {0, 1} y que
viene dado por la siguiente igualdad:
P := { {0, 1} : R = }.

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Un lenguaje que tendr cierta relevancia en futuras


discusiones posteriores es el Palndromo P {0, 1} y que
viene dado por la siguiente igualdad:
P := { {0, 1} : R = }.
Ejemplos: Ana, arenera, arepera, anilina, Oruro, oso, radar,
reconocer, rotor, salas, seres, somos, sometemos

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Operaciones Elementales con Lenguajes


Operaciones bsicas con lenguajes formales, fijado alfabeto
Unin de Lenguajes Dados L1 , L2 :
L1 L2 := { : [ L1 ] [ L2 ]}.
Concatenacin de Lenguajes: Dados L1 , L2 :
L1 L2 := {1 2 : 1 L1 , 2 L2 }.
Potencia de Lenguajes:
Si n = 0, L0 = {}.
Si n 1, Ln := L (Ln1 ).

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Algunos Comentarios
L1 L2 no es, en general, igual a L2 L1 .
No es cierto que L1 L2 = L2 L1 implica L1 = L2 .
El ejemplo ms sencillo de esto es
= {a}, L1 = {a}, L2 = {aa}.
Se cumple la propiedad distributiva. Para lenguajes L1 , L2
y L3 contenidos en :
L1 (L2 L3 ) = L1 L2 L1 L3 .
(L1 L2 ) L3 = L1 L3 L2 L3 .
Vamos a probar esta ltima propiedad.

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Otras Operaciones entre Lenguajes

Ejemplo
Si A = {0, 1} y B = {1, 2}, entonces AB = {01, 02, 11, 12}
Responded si es verdad que si el nmero de elementos de
A es m y el nmero de elementos de B es n entonces el
nmero de elementos de AB es nm.
Definid el conjunto A = { | 100 = 100}.

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Otras Operaciones entre Lenguajes


Clausura transitiva o monoide generado por un lenguaje:
Dado un lenguaje L se define el monoide L que
genera mediante la igualdad siguiente:
[
L :=
Ln .
nN

Clausura positiva de un lenguaje: Dado un lenguaje


L se define la clausura positiva L+ que genera
mediante la igualdad siguiente:
[
L+ :=
Ln .
n1

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Sistemas de Transicin

Un proceso algortmico se basa en una serie de pasos hasta


obtener un resultado".
Surge as la nocin de Sistema de Transicin (Deductivo/ de
Producciones/ semiThue...)
Necesitamos caracterizar estos pasos de una manera formal.

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Definicin
Llamaremos sistema de transicin a todo par (S, ), donde S
es un conjunto (que se denomina espacio de configuraciones)
y S S es una relacin.

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Una sucesin de computacin en el sistema de transicin


(S, ) es una sucesin finita de elementos de S:
s1 , . . . , sn
donde (si , si+1 ) .
Escribir si si+1 es equivalente a (si , si+1 ) . Con ello, una
computacin en el sistema de transicin (S, ) es
simplemente:
s1 sn
Se dice que el sistema de transicin es determinista si cada
s S tiene un slo sucesor a lo sumo y es indeterminista en
caso contrario.

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Definicin
Dada una configuracin s S, diremos que una configuracin
s0 S es deducible de s y lo denotaremos por s ` s0 , si existe
una sucesin de computacin
s = s1 sn = s0

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

La relacin que debe existir entre los datos de un problema y


su resolucin es de ser deducible para algn sistema de
transicin. En cada caso clarificaremos los sistemas de
transicin esenciales del modelo de clculo introducido (es
decir, la accin dinmica del modelo definido).

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Conclusiones

Los sistemas de transicin deterministas son una abstraccin


de como representar un modelo de computacin, aunque no
de todos.
Existe similitud entre sistemas de transicin y grafos
(potencialmente con un nmero infinito de nodos). Un grafo
orientado es simplemente un sistema de transicin con un
conjunto de configuraciones finito.

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Sistemas de rescritura

Definicin
Un sistema de reescritura, tambien conocido como un sistema
semi-Thue utiliza la estructura de monomio de las palabra para
definir una relacin de rescritura que se aplica a todos los
substrings. Esto est dado por un conjunto de reglas R que se
definen como reglas de reescritura.

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Sistemas de rescritura

Ejemplo
Sea = {0, 1}, y sean las reglas R = {01 7 , 10 7 }
0100010 7 00010 7 00

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides


Operaciones con Palabras
Sistemas de Transicin

Sistemas de rescritura

Notad que ahora podemos relacionar un sistema de transicin


con un sistema de reescritura. Las configuraciones son
palabras y una computacin est dada por aplicar una relacin
de reescritura.

Lenguajes Formales y Monoides

También podría gustarte