ALIPSO.COM - Trabajos prácticos, monografías, apuntes, tesis, manuales, material educativo y mucho más.
 

Página de inicio | Agregar a Favoritos | Contactate con nosotros | Publicidad

Alipso.com
 

Monografías

Examenes

Enlaces

Publicar material o sitio

Foros

ABC del estudio

Diversión

  Buscar material sobre...
Todas las palabras Cualquier palabra Frase Exacta
El sitio en el que encontrás
todo el material que buscás.

   

Enlaces recomendados
   

Material relacionado
 

Material educativo de Alipso relacionado con Analisis informatico Teoria automatas lenguajes formales

  • Los guerreros de Riaze.: La historia y el análisis del Los guerreros de Riaze.
  • Analisis del Sistema Educativo: Trabajo práctico de la cátedra de Sociedad y sistema educativo del Trayecto de formación docente
  • Apuntes acerca de la Economia Evolucionista del Cambio Tecnico: Primeros apuntes para entender esta teoria
  • Relajamiento Consciente: Una de las técnicas más eficaces para manejar apropiadamente el estrés es el Relajamiento consciente, en este trabajo incluímos la teoría y la práctica de esta herramienta para uso y beneficio personal.


  • Enlaces externos relacionados con Analisis informatico Teoria automatas lenguajes formales
  • Analisis del costo hospitalario en pacientes menores de dos anos con infeccion del tracto urinario
  • De la estrategia a la direccion estrategica
  • Teoria de la Publicidad
  •  

    Publicidad
       

    Monografías
      Análisis informático: Teoría de autómatas y lenguajes formales II
    Máquinas, lenguajes y algoritmos. Descripción de la estructura. Lenguajes formales.

    Agregado: 30 de AGOSTO de 2003 (Por Michel Mosse) | Palabras: 28105 | Votar! | Sin Votos | Sin comentarios | Agregar Comentario
    Categoría: Apuntes y Monografías > Computación > Varios >

      Imprimir Recomendar a un amigo Recordarme el recurso Descargar como pdf

    TEoria de autómatas y lenguajes formales II

     

     


    INDICE:

     

    -TEMA 1-                                                                                                                         

    MÁQUINAS, LENGUAJES Y ALGORITMOS                                                                    

    - TEMA 2 -                                                                                                                       

    LENGUAJES FORMALES                                                                                                  

    - TEMA 3 -                                                                                                                 

    GRAMÁTICAS FORMALES                                                                                               

    - TEMA 4-                                                                                                                  

    SISTEMAS, MODELOS Y VISTAS                                                                                      

    - TEMA 5 -                                                                                                                 

    DESCRIPCIÓN DE LA ESTRUCTURA : BASES                                                               

    - TEMA 6-                                                                                                                  

    DESCRIPCIÓN DE LA ESTRUCTURA : AÑADIENDO MÁS DETALLE                         

    - TEMA 7 -                                                                                                                 

    DESCRIPCIÓN DEL COMPORTAMIENTO                                                                      


     

    -TEMA 1-

    MÁQUINAS, LENGUAJES Y ALGORITMOS

     

     

     

     

     

     

    1.- Conceptos prévios.

     

    Informática Teórica : confluencia de investigaciones sobre los fundamentos de las matemáticas, teoría de máquinas, lingüística, etc. Ciencia multidisciplinar, apoyada en la observación de que los mismos fenómenos pueden aparecer y explicar áreas completamente distintas y en apariencia sin conexión.

     

    La aparición de estudios sobre Informática Teórica se remontan a primeros de siglo. Dentro de los hitos más importantes se pueden citar los siguientes :

     

    ·      En 1900 David Hilbert propone “el problema de la decisión”, que trata de descubrir un método general para decidir si una fórmula lógica es verdadera o falsa.

     

    ·      Aparición del artículo de Kurt Gödel, publicado en 1931, “On Formally Undecidible Propositions in Principia Mathematica and Relates Systems”. Este trabajo puede considerarse como la mayor realización matemática del siglo XX. El teorema de Gödel sostiene que cualquier teoría matemática contendrá afirmaciones “indecidibles”.

     

    ·      En 1937, el matemático inglés Alan Mathison Turing publica un famoso artículo que desarrolla el teorema de Gödel, y que puede considerarse como el origen oficial de la Informática Teórica. En este artículo se introduce el concepto de máquina de Turing, una entidad matemática abstracta que formaliza por primera vez el concepto de algoritmo.

     

    Paradójicamente, la máquina de Turing, mecanismo que formaliza el concepto de algoritmo, que pretende ser lo suficientemente general como para resolver cualquier problema posible (siempre que sea computacionalmente abordable), se introduce para demostrar la validez de los postulados de Gödel. Es decir, Turing demuestra que existen problemas irresolubles, inasequibles para cualquier máquina de Turing, y por ende, actualmente, para cualquier ordenador.

     

    Al ser la máquina de Turing un modelo ideal de máquina capaz de adoptar una infinidad de estados posibles, resulta obvio pensar que su realización está fuera del alcance práctico. Sin embargo, debido a la gran capacidad de los ordenadores actuales, la máquina de Turing resulta ser un modelo adecuado de su funcionamiento.

     

    ·      En 1938, se produce una importante aportación a la Informática Teórica, en el terreno de la Ingeniería Eléctrica. Publica su artículo “A Symbolic Analysis of Relay and Switching Circuits” el matemático Claude Elwood Shannon. En él se establecen las bases para la aplicación de la lógica matemática a los circuitos electrónicos. En las décadas siguientes las ideas de Shannon se desarrollaron ampliamente, dando lugar a la formalización de una teoría sobre máquinas secuenciales y autómatas finitos.

     

    Desde su nacimiento, la teoría de autómatas ha encontrado aplicación en muy diversos campos. Esto se debe a que resulta muy natural considerar, tanto los autómatas como las máquinas secuenciales, sistemas capaces de transmitir (procesar) información. En definitiva, esto es equiparable a cualquier sistema existente en la naturaleza, que recibe señales de su entorno, reacciona ante ellas y emite así nuevas señales al ambiente que le rodea.

     

    Algunos de los campos donde ha encontrado aplicación la teoría de autómatas son :

     

    ·      Teoría de la Comunicación

    ·      Teoría de Control

    ·      Lógica de los circuitos secuenciales

    ·      Ordenadores

    ·      Teoría lógica de los sistemas evolutivos y auto-reproductivos

    ·      Reconocimiento de patrones

    ·      Fisiología del sistema nervioso

    ·      Traducción automática de lenguajes

    ·      etc

     

    ·      En 1950 se vincula la Informática Teórica con otro terreno con el que habitualmente ni se había relacionado (ni siquiera se consideraba como científico) : la Lingüística. En este año el lingüista Avram Noam Chomsky publica su “Teoría de las Gramáticas Transformacionales”, que establece las bases de la lingüística matemática. Proporcionó una herramienta de inestimable ayuda, no sólo en el estudio de los lenguajes naturales, sino también en la formalización de los lenguajes de ordenador, que comenzaban a aparecer en estos años.

     

    La teoría de Lenguajes Formales resultó tener una sorprendente relación con la Teoría de las Máquinas Abstractas. Los mismos fenómenos aparecían en ambas disciplinas y era posible establecer correspondencias muy claras entre ellas (isomorfismos).

     

    Chomsky clasificará los lenguajes formales de acuerdo a una jerarquía de cuatro niveles, conteniendo cada uno de todos los siguientes. El lenguaje más general será, pues, de tipo 0, y no posee restricción alguna. Este conjunto engloba el conjunto de todos los lenguajes posibles.

     

    En el segundo nivel aparecen los lenguajes de tipo 1, también llamados lenguajes “sensibles al contexto”, al permitir que el “papel” de las palabras dependa de la posición en que aparezcan (es decir, del contexto). La mayor parte de los lenguajes de ordenador pertenecen a este tipo.

     

    En tercer lugar aparecen los lenguajes de tipo 2, o lenguajes “independientes del contexto”. En ellas el significado de una palabra es independiente del lugar que ocupa en la frase.

     

    Finalmente, los lenguajes de tipo 3, o lenguajes regulares, son los que presentan una estructura más sencilla.

     

    Resulta curioso observar como paralelamente a la jerarquía de lenguajes aparece otra de máquinas abstractas equivalentes, como se observa en el esquema siguiente :

     

     

     

     

    Cada uno de estos tipos de máquinas es capaz de resolver problemas cada vez más complicados, hasta llegar a las máquinas de Turing. Como descubrió Turing, existen una serie de problemas que no son computacionalmente abordables y que reciben el nombre de “problemas no enumerables”.


     

    - TEMA 2 -

    LENGUAJES FORMALES 

     

     

     

     

    1.- Alfabetos

     

    Se llama alfabeto a un conjunto finito, no vacío, cuyos elementos se denominan “letras” o “símbolos”. Se definen los alfabetos por la enumeración de los símbolos que contiene. Veamos algunos ejemplos :

     

    A1={A, B, C, D, E, F , G, ..., Z}

    A2={0,1}

    A3={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, .}

    A4={\, /}

     

     

     

    2.-Palabras

     

    Se denomina palabra, formada con los símbolos de un alfabeto, a toda secuencia finita de letras de ese alfabeto.

     

    Palabras sobre A1 :

     

           JUAN, PEDRO, LUIS, DASDSADA

     

    Palabras sobre A2 :

     

           0          1          11001100                     1111

     

    Palabras sobre A3 :

     

           2          304                  126.34

     

    Palabras sobre A4 :

     

           \\\\///                 /\//

    Se usarán letras minúsculas para representar las palabras de un alfabeto :

     

    x = JUAN  (sobre A1)

     y = //\/        (sobre A4)

     z = 123.56   (sobre A3)

     

    La longitud de una palabra viene determinada por el número de símbolos (letras) que la componen :

     

    | x | = 4

    | y | = 4

    | z | = 6

     

    Se define la palabra vacía como aquella cuya longitud es cero. Se representa mediante la letra l. Cualquiera que sea el alfabeto considerado, siempre puede formarse con sus símbolos la palabra vacía (bastaría formar una palabra sin seleccionar a ninguno de ellos).

     

    El conjunto de palabras que se pueden formar con las letras de un alfabeto recibe el nombre de “universo del discurso” o “lenguaje universal” de ese alfabeto. Sobre el alfabeto A, el lenguaje universal se representa por W(A). Evidentemente W(A) es un conjunto infinito.

     

    Supongamos el alfabeto con el menor número posible de letras (1).

     

    A = { p }

     

    En este caso, W(A) = { l, p, pp, ppp, pppp, ppppp, ...}, y contiene un número infinito de elementos.

     

    La palabra vacía pertenece a todos los lenguajes universales de todos los alfabetos posibles.

     

     

     

    3.- Operaciones con palabras

     

    ·       Concatenación de palabras

     

    Sean dos palabras x, y tales que

     

    x Î W(A), y Î W(A)

     

    Supongamos que | x | = i y que | y | = j. Así x será Am1Am2Am3 ... Ami e y será An1An2An3 ... Anj. Se llama concatenación de las palabras x e y (y se representa por xy) a otra palabra (z) obtenida poniendo las letras de y a continuación de las de x :

     

    z= {Am1Am2Am3 ... Ami An1An2An3 ... Anj}

                                     |--------------------------------|-----------------------|

                                                    x                                       y

     

    Otra notación habitual para la operación de concatenación de las palabras x e y es x.y.

     

    Consideramos a continuación las propiedades de la concatenación :

     

    ·       Operación cerrada. Es decir, la concatenación de dos palabras de W(A) es otra palabra de W(A). Si x Î W(A) e y Î W(A), entonces xy Î W(A).

     

    ·       Propiedad asociativa : x(yz)=(xy)z

     

    Por cumplir estas propiedades, la operación de concatenación de palabras de un alfabeto es un semigrupo.

     

    ·       Existencia de elemento neutro. El elemento neutro de esta operación es la palabra vacía l, tanto por la derecha como por la izquierda. Siendo x una palabra cualquiera, se cumple :

     

    xl = lx = x

     

    Al cumplir las tres propiedades anteriores, se trata de una operación con estructura de monoide (semigrupo con elemento neutro).

     

    Sin embargo, la concatenación no cumple la propiedad conmutativa. Esto se observa mediante cualquier contraejemplo. Sean las palabras x= ABC e y = CDE. Tenemos que

     

    xy = ABCCDE

    yx = CDEABC

     

    Si z está formada por la concatenación de las palabras x e y (es decir, z = xy), se dice que x es cabeza de z y que y es cola de z. Además, x será cabeza propia siempre que y no sea la palabra vacía. De igual manera, y será cola propia de z siempre que x no sea la palabra vacía.

     

    Si x = ABC, las siguientes palabras son cabeza de x : l, A, AB, ABC. Todas ellas son propias excepto ABC. Colas de x serán : l, C, BC y ABC. Todas ellas propias excepto ABC.

     

    La función longitud de una palabra tiene, respecto a la concatenación, propiedades semejantes a las de la función logaritmo respecto de la multiplicación :

     

    | xy | = | x | + | y |

     

    Sea un alfabeto S. Cada una de sus letras puede considerarse como una palabra de longitud 1, perteneciente a W(S). Si a estas palabras elementales se les aplica la concatenación, puede formarse cualquier palabra de W(S), excepto la palabra vacía. Se dice entonces que S es un conjunto de generadores de W(S) - l.

     

    Este conjunto, junto con la operación de concatenación, es un semigrupo, pero no un monoide, ya que carece de elemento neutro.

     

    Si se añade la palabra vacía a W(S), entonces se convierte en monoide libre generado por S.

     

    Todo monoide libre cumple la ley de “cancelación izquierda”, ya que para todo a,b,c Î W(S) se cumple que

     

    ab = ac  Þ b = c

     

     

     

    ·       También se cumple en este caso la ley de “cancelación derecha” :

     

    ac = bc  Þ a = b

     

    ·       Potencia de una palabra

     

    Se trata de una nueva notación para reducir algunos casos de la operación anterior. Se denomina potencia i-ésima de una palabra a la concatenación consigo misma i veces. Al poseer la concatenación la operación asociativa, no es necesario especificar el orden en que efectuar las concatenaciones.

     

    xi = xxx...xx

           |----------|

           i

     

    Evidentemente x1 = x

     

    También resulta evidente que se cumplen las siguientes relaciones

     

    xi+1 = xix = x xi  (i > 0)

    xi xj = xi+j  (i, j > 0)

     

    Para que ambas relaciones se cumplan también para i, j = 0, basta con definir x0 = l, cualquiera que sea x.

     

    Supongamos que x = CHJK, entonces

     

    x2 = xx = CHJKCHJK

                  ____  ____

     

    x3 = xxx = CHJKCHJKCHJK

                    ____  ____  ____