11.07.2015 Views

Teor´ıa de Autómatas y Lenguajes Formales

Teor´ıa de Autómatas y Lenguajes Formales

Teor´ıa de Autómatas y Lenguajes Formales

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.4.AUTÓMATAS 33contable <strong>de</strong> representaciones y un número incontable <strong>de</strong> cosas por representar, no <strong>de</strong>be extrañar que no seaposible representar en forma finita a todos los lenguajes. En realidad, a lo más que se pue<strong>de</strong> aspirar es aencontrar una representación finita, <strong>de</strong> algún tipo, para al menos algunos <strong>de</strong> los lenguajes más interesantes.Éste es el primer resultado importante <strong>de</strong> la teoría <strong>de</strong> computación que se ha obtenido en estos apuntes:No importando cuán po<strong>de</strong>rosos puedan ser los métodos para <strong>de</strong>scribir lenguajes, sólo un número contable<strong>de</strong> lenguajes pue<strong>de</strong> ser representado usando especificaciones finitas. Como hay un número incontable <strong>de</strong>lenguajes, un número también incontable <strong>de</strong> ellos quedará irremediablemente fuera <strong>de</strong> cualquier esquema <strong>de</strong>representación finita. No es posible hablar <strong>de</strong> todos los lenguajes que existen, simplemente no hay suficientesnombres para referirse a cada uno <strong>de</strong> ellos.En el resto <strong>de</strong> estos apuntes se estudiarán diversas formas para <strong>de</strong>scribir y representar lenguajes, cadauna más po<strong>de</strong>rosa que la anterior, en el sentido <strong>de</strong> que es capaz <strong>de</strong> <strong>de</strong>scribir lenguajes in<strong>de</strong>scriptibles porla forma previa. Esta jerarquía <strong>de</strong> esquemas no contradice el hecho que todas ellas son inevitablementelimitadas en los lenguajes que pue<strong>de</strong>n representar. Al final <strong>de</strong> los apuntes, se verán formas <strong>de</strong> exhibirlenguajes particulares que no pue<strong>de</strong>n ser representados por ninguno <strong>de</strong> los métodos que se estudiarán. Sesabe que el mundo <strong>de</strong> los lenguajes está plagado por un vasto número <strong>de</strong> estos lenguajes, sin embargo pue<strong>de</strong>ser muy difícil encontrar uno en particular y <strong>de</strong>mostrarlo como tal. La técnica <strong>de</strong> diagonalización será muyútil para estos efectos.2.4 AutómatasUn autómata finito es un mo<strong>de</strong>lo matemático <strong>de</strong> un sistema con entrada y salida discretas. El sistemapue<strong>de</strong> estar en cualquiera <strong>de</strong> un conjunto finito <strong>de</strong> configuraciones internas o estados. El estado <strong>de</strong> unsistema resume la información <strong>de</strong> las entradas pasadas, pero sólo en lo que es necesario para <strong>de</strong>terminar elcomportamiento <strong>de</strong>l sistema en las entradas por venir.Ejemplos <strong>de</strong> sistemas <strong>de</strong> estado finito son el mecanismo <strong>de</strong> control <strong>de</strong> un ascensor, la unidad <strong>de</strong> control<strong>de</strong> un computador, ciertos editores <strong>de</strong> texto y los analizadores léxicos <strong>de</strong> los compiladores.Los analizadores léxicos procesan los símbolos que componen un programa <strong>de</strong> computador para ubicarlos que correspon<strong>de</strong>n a i<strong>de</strong>ntificadores, números, palabras reservadas, etc. En este proceso sólo es necesariorecordar una cantidad finita <strong>de</strong> información, como por ejemplo qué tan largo ha sido el prefijo <strong>de</strong> una palabrareservada que ya se ha visto.El computador mismo pue<strong>de</strong> ser visto como una máquina <strong>de</strong> estado finito. Teóricamente, el estado <strong>de</strong>la CPU, memoria y almacenamiento secundario es, en cada instante, uno <strong>de</strong> un conjunto muy gran<strong>de</strong>, perofinito, <strong>de</strong> estados posibles; provisto, por supuesto, que hay un número fijo <strong>de</strong> discos, cintas, etc., y que lamemoria no pue<strong>de</strong> agrandarse in<strong>de</strong>finidamente. Sin embargo, este mo<strong>de</strong>lo no resulta muy útil pues imponeun límite artificial en la capacidad <strong>de</strong> memoria y, por lo tanto, impi<strong>de</strong> notar la esencia <strong>de</strong> lo que es unacomputación.Antes <strong>de</strong> estudiar más formalmente los sistemas <strong>de</strong> estado finito, se presentará un ejemplo <strong>de</strong> ellos.Ejemplo 31 Un hombre, un lobo, una cabra y un repollo están en la orilla izquierda <strong>de</strong> un rio. Existe unbote con capacidad para transportar al hombre y sólo una <strong>de</strong> las otras tres cosas. El hombre quiere cruzara la otra orilla con todos y es capaz <strong>de</strong> acarrear a cualquiera <strong>de</strong> ellos en el bote. Sin embargo, si el hombre<strong>de</strong>ja al lobo y a la cabra juntos en una orilla, el lobo comerá a la cabra. Algo similar suce<strong>de</strong> si la cabra y elrepollo quedan en una orilla sin la presencia <strong>de</strong>l hombre. El problema es saber si es posible y cómo pue<strong>de</strong> elhombre pasar a todos a la otra orilla.El problema se mo<strong>de</strong>la observando que la información que interesa son los ocupantes en cada orilla,<strong>de</strong>spués <strong>de</strong> cada cruce <strong>de</strong>l hombre en bote. Hay 16 subconjuntos <strong>de</strong>l hombre (H), lobo (L), cabra (C) yrepollo (R). Un estado correspon<strong>de</strong> al subconjunto que está en la orilla izquierda (en la <strong>de</strong>recha está elcomplemento).Los nombres <strong>de</strong> los estados correspon<strong>de</strong>n entonces a pares como LR–HC, en que los símbolos a laizquierda <strong>de</strong>l guión forman el subconjunto que está en la orilla izquierda <strong>de</strong>l rio. Algunos <strong>de</strong> los estados,como CR–HL, son fatales y el sistema nunca <strong>de</strong>be llegar a ellos.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!