AUTÓMATA FINITO NO DETERMINISTA Q= {qo,q1,q2,q3,q4} Σ= {0,1} qo= qo F=q0 Entradas Estados 0 1 q0 {q0,q3} {q0,q1} q1 Ø q2 q2 q2 q2 q4 q4 Ø q4 q4 q4
AUTÓMATA FINITO NO DETERMINISTA
Q= {qo,q1,q2,q3,q4}
Σ= {0,1}
qo= qo
F=q0
Entradas Estados
0 1
q0 {q0,q3} {q0,q1} q1 Ø q2
q2 q2 q2 q4 q4 Ø
q4 q4 q4
Con M=1000111
δ(q0,1)={q0,q1}
δ(q0,10)=δ(q0, 0)U δ(q1,0)={q0,q3}
δ(q0,100)= δ(q0,0)U δ(q3,0)={q0,93} U {q4}
δ(q0,1000)= δ(q0, 0) U δ(q3,0} U δ(q4,0)= {q0,q3,q4}
δ(q0,10001)= δ(q0, 1) U δq3,1) U δ(q4,1)= {q0,q1,q4}
δ(q0,100011)= δ(q0,1) U δ (q1,1) U δ(q4,1)= {q0,q1,q2,q4}
δ(q0,1000111)= δ(q0,1) U δ(q1,1) U δ(q2,1) U δ(q4,1)= {q0, q1, q2, q4}
Con M= 1111000
δ(q0,1)={q0,q1}
δ(q0,11)= δ(q0, 1) U δ(q1,1)={qo,q1, q2}
δ(q0,111)= δ(q0, 1) U δ(q2,1)= {q0, q1, q2}
δ(q0,1111)= δ(q0, 1) U δ(q1, 1) U δ(q2, 1) = {q0,q1,q2}
δ(q0,11110)= δ(q0, 0) U δ(q1, 0) U δ(q2, 0)= {q0, q3, q2}
δ(q0,111100)= δ(q0, 0) U δ(q3, 0) U δ(q2, 0)= {q0, q3, q4,q2}
δ(q0,1111000)= δ(q0, 0) U δ(q3, 0) U δ(q2, 0) U δ(q4,0)={q0,q3, q4,q2}
OPERACIONES CON CONJUNTOS
UNIÓN
La unión de dos conjuntos A y B la denotaremos por A È B y es el conjunto
formado por los elementos que pertenecen al menos a uno de ellos ó a los dos. Lo que se denota por:
A È B = { x/x Î A ó x Î B }
La unión de dos o mas conjuntos es una operación que resulta en otro conjunto cuyos elementos de los conjuntos iniciales, dados dos conjuntos A y B es el
conjuntos que contiene todos los elementos de A y B. Pero cuando un elemento se repite, dicho elemento entrara a formar parte del
conjunto unión una sola vez.
Ejemplo: Sean los conjuntos A={ 1, 3, 5, 7, 9 } y B={ 10, 11, 12 }
A È B ={ 1, 3, 5, 7, 9, 10, 11, 12 }
INTERECCION
Sean A={ 1, 2, 3, 4, 5, 6, 8, 9 } y B={ 2, 4, 8, 12 }
Los elementos comunes a los dos conjuntos son: { 2, 4, 8 }. A este conjunto se le llama intersección de A y B; y se denota por A Ç B, algebraicamente se escribe
así:
A Ç B = { x/x Î A y x Î B }
Y se lee el conjunto de elementos x que están en A y están en B.
Ejemplo: Sean Q={ a, n, p, y, q, s, r, o, b, k } y P={ l, u, a, o, s, r, b, v, y, z } Q Ç P={ a, b, o, r, s, y }
CONJUNTO VACIO
Un conjunto que no tiene elementos es llamado conjunto vacío ó conjunto nulo lo que denotamos por el símbolo Æ .
Por ejemplo:
Sean A={ 2, 4, 6 } y B={ 1, 3, 5, 7 } encontrar A Ç B.
A Ç B= { }
El resultado de A Ç B= { } muestra que no hay elementos entre las llaves, si este
es el caso se le llamará conjunto vacío ó nulo y se puede representar como:
A Ç B=Æ
COMPLEMENTO
El complemento de un conjunto respecto al universo U es el conjunto de elementos de U que no pertenecen a A y se denota como A' y que se representa
por comprehensión como:
A'={ x Î U/x y x Ï A }
Ejemplo:
Sea U = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }
A= { 1, 3, 5, 7, 9 } donde A Ì U
El complemento de A estará dado por:
A'= { 2, 4, 6, 8 }
DIFERENCIA
Sean A y B dos conjuntos. La diferencia de A y B se denota por A-B y es el
conjunto de los elementos de A que no están en B y se representa por
comprehensión como:
A - B={ x/x Î A ; X Ï B }
Ejemplo:
Sea A= { a, b, c, d } y
B= { a, b, c, g, h, i }
A - B= { d }
En el ejemplo anterior se observa que solo interesan los elementos del conjunto A
que no estén en B. Si la operación fuera B - A el resultado es
B – A = { g, h, i }
E indica los elementos que están en B y no en A.
NOTACIÓN DE EXPRESIONES REGULARES
El objetivo de las expresiones regulares es representar todos los posibles
lenguajes definidos sobre un alfabeto Σ, en base a una serie de lenguajes primitivos, y unos operadores de composición. Lenguajes primitivos: el lenguaje vacío, el lenguaje formado por la palabra vacía, y los lenguajes correspondientes a
los distintos símbolos del alfabeto. Operadores de composición: la unión, la concatenación y el cierre.
Ejemplo: 1. Lenguaje formado por las cadenas que terminan en 01:
{0,1}*.{01}= ({0}∪{1})*.{01}
⇒ Expresión regular: (0+1)*01
2. Lenguaje formado por palabras de longitud par sobre a’s y b’s:
{aa,ab,ba,bb}*= ({aa}∪{ab}∪{ba}∪{bb})*
⇒Expresión: (aa+ab+ba+bb)*
Dado un alfabeto Σ, las expresiones regulares sobre Σ se definen de forma recursiva por las siguientes reglas:
1. Las siguientes expresiones son expresiones regulares primitivas: • ∅ • λ • a, siendo a∈Σ.
2. Sean α y β expresiones regulares, entonces son expresiones regulares derivadas: • α+β (unión) • α.β (o simplemente αβ) (concatenación) • α* (cierre) • (α)
3. No hay más expresiones regulares sobre Σ que las construidas mediante estas
reglas.
Precedencia de los operadores: 1. () 2. * cierre 3. . concatenación 4. + unión
Ejemplo: Algunos ejemplos de expresión regular son: (0 + 1)*01 (aa + ab + ba + bb)* a*(a + b) (aa)*(bb)*b 4
Lenguaje descrito por una ER
Sea r una expresión regular sobre Σ. El lenguaje descrito por r, L(r), se define
recursivamente de la siguiente forma:
1. Si r=∅ ⇒ L(∅)= ∅
2. Si r=λ ⇒ L(λ)= {λ}
3. Si R=a, a∈Σ ⇒ L(a)= {a}
4. Si R=α+β ⇒ L(α+β)= L(α)∪L(β)
5. Si R=α.β ⇒ L(α.β)= L(α)L(β)
6. Si R=α* ⇒ L(α*)= L(α)*
7. Si R=(α) ⇒ L((α))= L(α) donde α y β son expresiones regulares.
Las expresiones regulares denotan lenguajes. Por ejemplo, la expresion regular:
01 ´ ∗ + 10∗ denota todas las cadenas que son o un 0 seguido de cualquier
cantidad de 1’s o un 1 seguida de cualquier cantidad de 0’s.
• Operaciones de los lenguajes:
1 Union: Si ´ L y M son dos lenguajes, su union se denota ´ por L ∪ M
2 Concatenacion: La concatenación es: ´ LM o L.M
3 Cerradura (o cerradura de Kleene): Si L es un lenguaje su cerradura se denota por: L ∗ .
Definimos las expresiones regulares de manera recursiva:
1. ∅ y ε son expresiones regulares.
2. a es una expresión regular para toda a ∈ Σ.
3. Si r y s son expresiones regulares, entonces r ∪ s, rs, r∗ son expresiones
regulares.
4. Ninguna otra secuencia de símbolos es una expresión regular.
Teorema 1 Sean r, s y t expresiones regulares sobre el mismo alfabeto Σ.
Entonces:
1. r ∪ s = s ∪ r
2. r ∪ ∅ = r = ∅ ∪ r
3. r ∪ r = r
4. (r ∪ s) ∪ t = r ∪ (s ∪ t)
5. rε = r = εr
6. r∅ = ∅r = ∅
7. r(st) = (rs)t
8. (r ∪ s)t = rt ∪ st y r(s ∪ t) = rs ∪ rt
9. r∗ = r ∗∗ = r ∗ r ∗ = (ε ∪ r) ∗ = r ∗ (ε ∪ r) = (ε ∪ r)r ∗ = ε ∪ rr∗
10. (r ∪ s) ∗ = (r ∗ ∪ s ∗ ) ∗ = (r ∗ s ∗ ) ∗ = (r ∗ s) ∗ r ∗ = r ∗ (sr∗ ) ∗
11. r(sr) ∗ = (rs) ∗ r
12. (r ∗ s) ∗ = ε ∪ (r ∪ s) ∗ s
13. (rs∗ ) ∗ = ε ∪ r(r ∪ s) ∗
14. s(r ∪ ε) ∗ (r ∪ ε) ∪ s = sr∗
15. rr∗ = r ∗ r
Caracter Efecto/Uso
Cualquier carácter
Representa el caracter dado a menos que se especifique lo contrario.
.
Representa cualquier carácter menos un salto de línea o de
párrafo. Por ejemplo, la búsqueda de «c.ma» encuentra «cama», «coma» y «cima».
^
Sólo encuentra el término buscado si se muestra al principio del párrafo. No se tienen en cuenta los objetos especiales, por
ejemplo campos vacíos o marcos de caracteres anclados situados al final del párrafo. Ejemplo: "^Luis".
$
Sólo encuentra el término buscado si se muestra al final del párrafo.! No se tienen en cuenta los objetos especiales, por
ejemplo campos vacíos o marcos de caracteres anclados situados al final del párrafo. Ejemplo: "Luis$".
$ por sí solo coincide con el final de un párrafo. De esta manera,
es posible buscar y reemplazar saltos de párrafo.
* Busca cero o más de los caracteres que preceden a "*". Por ejemplo, "Ab*c" encuentra "Ac", "Abc", "Abbc", "Abbbc", y así sucesivamente.
+
Busca uno o más de los caracteres que preceden a "+". Por ejemplo, "AX.+4" encuentra "AXx4", pero no "AX4".
Siempre se busca la cadena de texto más larga posible de un
párrafo que coincida con este criterio de búsqueda. Si el párrafo contiene la cadena de caracteres "AX 4 AX4", queda seleccionado
todo el fragmento.
?
Busca cero o ninguno de los caracteres que preceden a "?". Por
ejemplo, "Textos?" busca "Texto" y "Textos", y "x(ab|c)?y" busca "xy", "xaby" o "xcy".
\
La función de búsqueda interpreta el carácter especial que va después de "\" como normal, no como expresión regular (menos
en el caso de las combinaciones \n, \t, \> y \<). Por ejemplo, "árbol\." encuentra "árbol.", no "árbo" ni "arboles".
\n
Representa un salto de línea que se ha insertado con la combinación de teclas Mayús + Entrar.! Para convertir un salto de línea en un salto de párrafo, escriba \n en los cuadros de Buscar y Reemplazar con, y efectúe una acción de búsqueda
y sustitución.
«\n» en el cuadro de texto Buscar representa un salto de línea
insertado mediante la combinación de teclas Mayús + Intro.
\n en la caja de Buscar por esta por un salto de párrafo que
pueden ser ingresado con la tecla de Intro.
\t Representa una ficha. Esta expresión también se puede emplear en el cuadro Reemplazar por.
\b
Match a word boundary. For example, "\bbook" finds "bookmark"
but not "checkbook" whereas "book\b" finds "checkbook" but not "bookmark". The discrete word "book" is found by both search terms.
^$ Busca un párrafo vacío.
^. Encuentra el primer carácter de un párrafo.
& o $0
Agrega la cadena de caracteres que se encontró según los criterios de búsqueda del cuadro Buscar en el término del
cuadro Reemplazar porcuando se efectúa una sustitución.
Por ejemplo, si escribe «feliz» en el cuadro Buscar y «&mente» en el cuadro Reemplazar por, la palabra «feliz» se sustituye por
«felizmente».
También se puede entrar un signo de "&" en el cuadro Reemplazar por para modificar los atributos o el formato de la cadena de caracteres que haya encontrado la
búsqueda.
[abc123] Representa uno de los caracteres situados entre los paréntesis.
[a-e]
Representa cualquiera de los caracteres que se encuentran entre
a y e, incluyendo tanto el primer carácter como el úlltimo
Los caracteres están ordenados según sus números de código.
[a-eh-x] Representa cualquier carácter situado entre a-e y h-x.
[^a-s] Representa cualquier carácter que no se encuentre entre a y s.
\uXXXX
\UXXXXXXXX
Representa un carácter basado en su código hexadecimal
Unicode de cuatro dígitos (XXXX).
Para caracteres poco comunes existe una variante que emplea
una U mayúscula y ocho dígitos hexadecimales (XXXXXXXX).
Para algunas fuentes de símbolos el código de caracteres especiales puede depender de la fuente utilizada. Usted puede ver los códigos seleccionando Insertar - Carácter especial.
| Busca los términos que aparecen antes de "|" y también los que aparecen después de "|". Por ejemplo, "esto|eso" busca "esto" y "eso".
{2}
Define la cantidad de veces que aparece el carácter situado antes
del corchete de apertura. Por ejemplo, "cre{2}" encontrará y seleccionará "cree".
{1,2} Define la cantidad mínima y máxima de veces que puede aparecer el carácter situado antes del corchete de apertura. Por
ejemplo, "cre{1,2}" encontrará tanto "cre" como "cree".
{1,}
Define el mínimo de veces que puede aparecer el carácter situado
antes del paréntesis de apertura. Por ejemplo, "cre{2}" encontrará tanto "creer" como "crear" o "creación".
( )
En el cuadro Buscar:
Define los caracteres entre paréntesis como referencia. De esta
forma, se puede acceder a la primera referencia de la expresión actual como "\1", a la segunda como "\2", etc.
Por ejemplo, si el texto contiene el número 13487889 y lo busca usando la expresión regular (8)7\1\1, encontrará "8788".
También puede utilizar () para agrupar términos, por ejemplo,
"a(bc)?d" encuentra "ad" o "abcd".
En el cuadro Reemplazar por:
Use el signo $ (dólar) en vez del \ (barra invertida) para reemplazar referencias. Use $0 para reemplazar la cadena
encontrada completamente.
[:alfa:] Representa un caracter alfabético. Use [:alfa:]+ para buscar uno
de estos.
[:dígito:] Representa un dígito decimal. Use [:dígito:]+ para encontrar uno de estos.
[:alnum:] Representa un carácter alfanumérico [(:alfa:) y (:dígito)].
[:espacio:] Representa un espacio (pero no otros caracteres de espacios en blanco).
[:imprimir:] Representa un carácter que se puede imprimir.
[:cntrl:] Representa un carácter que no se puede imprimir.
[:inferior:] Representa un carácter en minúscula si en Opciones se ha
seleccionado Coincidir mayúsculas y minúsculas.
CERRADURAS
Los conjuntos regulares son cerrados bajo las operaciones de:
Unión
Intersección
Complemento
Concatenación
Estrella de Kleene
Nota: en las demostraciones siguientes se supondrá que los autómatas son completos, i.e., que la función δ no es parcial.
Cerradura bajo concatenación y estrella de Kleene
Para L un lenguaje se define de manera recursiva L n así: L 0 = {ε} L n+1 = LLn L ∗ se define L ∗ = [ n≥0 L n L ∗ se denomina la Cerradura de Kleene o Cerradura
estrella de L.
Ejemplo 3 Sea Σ = {0, 1} y L = {01, 1}, entonces L 3 = {010101, 01011, 01101, 0111, 10101, 1011, 1101, 111}
FRACTALES
Un fractal es un objeto geométrico cuya estructura básica, fragmentada o irregular,
se repite a diferentes escalas.1 El término fue propuesto por el matemático Benoît
Mandelbrot en 1975 y deriva del latín fractus, que significa quebrado o fracturado.
Muchas estructuras naturales son de tipo fractal. La propiedad matemática clave
de un objeto genuinamente fractal es que su dimensión métrica fractal es un
número no entero.
El conjunto de Mandelbrot fue propuesto en los años setenta, pero no fue hasta
una década más tarde cuando pudo representarse gráficamente con un
ordenador. Este conjunto se define a partir de un número “c” cualquiera, que
define la siguiente sucesión:
Para diferentes valores de “c”, obtenemos diferentes sucesiones. Si la sucesión es
acotada, “c” pertenece al conjunto de Mandelbrot, y si no, queda excluido. Por
ejemplo, para c=1 se obtiene: 0, 1, 2, 5, 26, 677, etc.(0, 1=02+1, 2=12+1, 5=22+1,
etc.) Para c=-0.5 obtenemos 0, -0.5, -0.25, -0.4375, -0.30859375, -0.404769897,
etc. De esta forma, c=-0.5 pertenece al conjunto y c=1 no.