Autómata finito no determinista e investigacion

13
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

Transcript of Autómata finito no determinista e investigacion

Page 1: Autómata finito no determinista e investigacion

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

Page 2: Autómata finito no determinista e investigacion

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}

Page 3: Autómata finito no determinista e investigacion

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 }

Page 4: Autómata finito no determinista e investigacion

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:

Page 5: Autómata finito no determinista e investigacion

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 }

Page 6: Autómata finito no determinista e investigacion

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(∅)= ∅

Page 7: Autómata finito no determinista e investigacion

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

Page 8: Autómata finito no determinista e investigacion

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.

Page 9: Autómata finito no determinista e investigacion

+

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

Page 10: Autómata finito no determinista e investigacion

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

Page 11: Autómata finito no determinista e investigacion

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}

Page 12: Autómata finito no determinista e investigacion

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:

Page 13: Autómata finito no determinista e investigacion

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.