Top 10 de los artículos

YouTube
Gmail
Goole
GayRomeo
Números chinos
Números romanos
Orkut
Costco
Sistema porta hepático
El mundo Factbook

News:

Lenguaje formal

Este artículo está sobre un término técnico en matemáticas e informática. Para los estudios relacionados sobre idiomas naturales, vea marco de la gramática. Para el lenguaje formal como modo del discurso, vea Registro (lingüística).

A lenguaje formal es a sistema de palabras, es decir. finito secuencias de letras, o símbolos. El inventario de el cual se toman estas letras se llama alfabeto sobre cuál se define la lengua. Un lenguaje formal se define a menudo por medio de a gramática formal. Los lenguajes formales son a puramente sintáctico noción, es decir. a priori hay no significado asociado a ellos. Para distinguir las palabras de una lengua de palabras arbitrarias sobre su alfabeto, se llaman a veces palabras bien formadas (o, en su uso adentro lógica, fórmulas bien formados).

Los lenguajes formales se estudian en los campos de lógica, informática y lingüística. Su uso práctico más importante está para la definición exacta de sintácticamente correcto programas para a lenguaje de programación. El rama de las matemáticas y de la informática que se refiere solamente a los aspectos puramente sintácticos de tales idiomas, es decir. se conocen sus patrones estructurales internos, como teoría del lenguaje formal.

Aunque no es formalmente parte de la lengua, las palabras de un lenguaje formal tienen a menudo a semántico dimensión también. Esto se ata en la práctica siempre muy de cerca a la estructura de la lengua, y una gramática formal (un sistema de la formación gobierna que define recurrentemente la lengua) puede ayudar a ocuparse del significado de palabras (bien formadas). Los ejemplos bien conocidos para esto son “Tarski definición de la verdad " en términos de a T-esquema para lógica de primer orden, y generadores de recopilador como lex y yacc.

Contenido

Palabras sobre un alfabeto

alfabeto en el contexto de lenguajes formales pueden estar cualesquiera sistema, aunque tiene a menudo sentido de utilizar alfabeto en el sentido generalmente de la palabra, o más generalmente de a juego de caracteres por ejemplo ASCII. Los alfabetos pueden también ser infinitos; e.g. lógica de primer orden se expresa a menudo usando un alfabeto que, además de símbolos tales como ∧, el ¬, el ∀ y paréntesis, contenga infinitamente muchos elementos x0x1x2,… ese juego el papel de variables. Los elementos de un alfabeto se llaman sus letras.

A palabra sobre un alfabeto pueden estar cualesquiera secuencia finita, o secuencia, de letras. El sistema de todas las palabras sobre un alfabeto Σ es denotado generalmente por Σ*. Para cualquier alfabeto hay solamente una palabra de la longitud 0, palabra vacía, que es denotada a menudo por e, el ε o Λ. Por encadenamiento uno puede combinar dos palabras para formar una nueva palabra, que longitud es la suma de las longitudes de las palabras originales. El resultado de concatenar una palabra con la palabra vacía es la palabra original.

En algunos usos, especialmente adentro lógica, el alfabeto también se conoce como vocabulario y se conocen las palabras como fórmulas o oraciones; esto rompe la metáfora de la letra/de la palabra y la substituye por una metáfora de la palabra/de la oración.

Definición

A lenguaje formal L sobre un alfabeto Σ es a justa subconjunto de Σ*, es decir. L ⊆ Σ*. En la informática y las matemáticas, de las cuales no se ocupe idiomas naturales, el adjetivo “formal” se omite generalmente como redundante.

La teoría del lenguaje formal está la más interesada de los lenguajes formales que son definidos por algunas reglas sintácticas, pero estas reglas no son parte de la definición, que permite intencionalmente subconjuntos arbitrarios de Σ*. La noción de a gramática formal está discutible más cercano a la intuición de lo que debe ser la definición exacta de un “lenguaje formal”, y por un abuso de la lengua un lenguaje formal concreto es pensado a menudo en como siendo equipada de una gramática formal que lo defina.

Ejemplos

Las reglas siguientes definen un lenguaje formal L sobre el alfabeto Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, =}:

  • Cada cadena no vacía que no contiene + o = y no comienza con 0 está adentro L.
  • La secuencia 0 está adentro L.
  • El contener de la secuencia = está adentro L si y solamente si hay exactamente uno =, y separa dos secuencias adentro L.
  • El contener de la secuencia + está adentro L si y solamente si cada + en la secuencia separa dos secuencias válidas adentro L.
  • No hay secuencia adentro L con excepción de ésos implicados por las reglas anteriores.

Bajo estas reglas, la secuencia “23+4=555“está adentro L, solamente la secuencia “=234=+“no es. Este lenguaje formal expresa números naturales, las declaraciones bien formadas de la adición, y las igualdades bien formadas de la adición, pero él expresa solamente qué parecen (su sintaxis), no qué significan (semántica). Por ejemplo, en ninguna parte en estas reglas hay cualquier indicación eso 0 significa el número cero, o ése + significa la adición.

Para las idiomas finitas uno puede enumerar simplemente todas las palabras bien formadas. Sin embargo, iguale sobre un alfabeto (no vacío) finito por ejemplo Σ = {ab} hay infinitamente muchas palabras: "a", "abb", "ababba", "aaababbbbaab", …. Por lo tanto los lenguajes formales son típicamente infinitos, y definir un lenguaje formal no es siempre tan simple como la escritura L = {“a”, “b”, “ab”, “cba”}. Aquí están algunos ejemplos de lenguajes formales:

  • L = Σ*, el sistema de todos excedente de las palabras {ab};
  • L = {a}* = {an}, donde n gamas sobre números naturales y an significa a repetido n épocas;
  • el sistema de programas sintácticamente correctos en un lenguaje de programación dado;
  • el sistema de las entradas sobre las cuales un seguro Máquina de Turing altos; o
  • el sistema de secuencias máximas de alfanumérico ASCII caracteres en esta línea, (es decir, el sistema {“”, “fije”, “de”, “máximo”, las “secuencias”, “alfanumérico”, “ASCII”, los “caracteres”, "ON", “esto”, “línea”}).

Formalismos de la especificación de la lengua

La teoría del lenguaje formal se refiere raramente a idiomas particulares (excepto como ejemplos), pero se trata principalmente al estudio de varios tipos de formalismos para describir idiomas. Por ejemplo, una lengua se puede dar como

Las preguntas típicas preguntaron por tales formalismos incluyen:

  • ¿Cuál es su energía expresiva? ¿(Puede el formalismo X describir cada lengua que el formalismo Y pueda describir? Puede describir otras idiomas?)
  • ¿Cuál es su recognizability? (Cómo es difícil es para decidir a si una palabra dada pertenece a una lengua descrita por el formalismo X?)
  • ¿Cuál es su comparabilidad? (Cómo es difícil es para decidir a si dos idiomas, una descrita en el formalismo X y uno en el formalismo Y, o en X otra vez, son realmente la misma lengua?).

Asombrosamente a menudo, la respuesta a estos problemas de la decisión es “él no se puede hacer en todos”, o “es extremadamente costosa” (con una caracterización exacta de cómo es costoso exactamente). Por lo tanto, la teoría del lenguaje formal es un área de aplicación importante de teoría del computability y teoría de complejidad.

Operaciones en idiomas

Ciertas operaciones en idiomas son comunes. Esto incluye las operaciones estándares del sistema, tales como unión, intersección, y complementación. Otra clase de la operación es el uso del elementwise de las operaciones de la secuencia.

Ejemplos: suponga L1 y L2 son las idiomas sobre un cierto alfabeto común.

  • encadenamiento L1L2 consiste en todas las secuencias de la forma vw donde v es una secuencia de L1 y W es una secuencia de L2.
  • intersección L1 ∩ L2 de L1 y L2 consiste en todas las secuencias que se contengan en ambas idiomas
  • complemento ¬L de una lengua con respecto a un alfabeto dado consiste en todas las secuencias sobre el alfabeto que no estén en la lengua.

Tales operaciones se utilizan para investigar características del encierro de clases de idiomas. Una clase de idiomas es cerrado debajo una operación particular cuando la operación, aplicada a las idiomas en la clase, produce siempre una lengua en la misma clase otra vez. Por ejemplo, idiomas context-free se saben para ser cerrados bajo la unión, el encadenamiento, e intersección con idiomas regulares, pero no cerrado bajo la intersección o complementación.

Otras operaciones en idiomas

Algunas otras operaciones usadas con frecuencia en el estudio de lenguajes formales son las siguientes:

  • Estrella de Kleene: la lengua que consiste en todas las palabras que son encadenamientos de 0 o más palabras en la lengua original;
  • Revocación:
    • Dejado e sea la palabra vacía, entonces eR = e, y
    • para cada palabra no vacía W = x1xn sobre un cierto alfabeto, deje WR = xnx1,
    • entonces para un lenguaje formal L, LR = {WR | WL}.
  • Homomorfismo y homomorfismo e-libre.

Referencias

  • A. G. Hamilton, Lógica para los matemáticos, Prensa de la universidad de Cambridge, 1978, ISBN 0 521 21838 1.
  • Seymour Ginsburg, Características teóricas algebraicas y de los autómatas de lenguajes formales, Norte-Holanda, 1975, ISBN 0 7204 2506 9.
  • Michael A. Harrison: Introducción al lenguaje formal Theory, Addison-Wesley, 1978.
  • Grzegorz Rozenberg, Arto Salomaa, Manual de lenguajes formales: Volumen I-III, Springer, 1997, ISBN 3 540 61486 9.
  • Patrick Suppes, Introducción a la lógica, D. Van Nostrand, 1957, ISBN 0 442 08072 7.

Vea también

Acoplamientos externos

The original article is from Wikipedia. To view the original article please click here.
Creative Commons Licence