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...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 7ACEPTACIÓN Y GENERACIÓNDE LENGUAJES ENUMERABLESRECURSIVAMENTE YLENGUAJES RECURSIVOSEn este capítulo se estudiarán las máquinas <strong>de</strong> Turing, un mo<strong>de</strong>lo matemático simple <strong>de</strong> lo que es uncomputador. A pesar <strong>de</strong> su simpleza, esta máquina mo<strong>de</strong>la la capacidad <strong>de</strong> computación <strong>de</strong> un computador<strong>de</strong> propósito general. Las máquinas <strong>de</strong> Turing son estudiadas tanto por la clase <strong>de</strong> lenguajes que <strong>de</strong>finen(llamados enumerables recursivamente), como también por la clase <strong>de</strong> funciones enteras que pue<strong>de</strong>n computar(llamadas funciones recursivas parciales). Un número <strong>de</strong> otros mo<strong>de</strong>los <strong>de</strong> computación se presentan y semuestra que ellos son equivalentes a la máquina <strong>de</strong> Turing en su po<strong>de</strong>r <strong>de</strong> computación.7.1 AlgoritmosLa noción intuitiva <strong>de</strong> algoritmo o procedimiento efectivo ha aparecido varias veces. Por ejemplo, se vioun procedimiento efectivo para <strong>de</strong>terminar si el conjunto aceptado por un AF es vacío, finito o infinito.Inocentemente, se podría pensar que para cualquier clase <strong>de</strong> lenguajes con <strong>de</strong>scripciones finitas, habría unprocedimiento efectivo que respondiera tales preguntas. Sin embargo, no es así. Por ejemplo, no hay unalgoritmo que indique si el complemento <strong>de</strong> un lenguaje libre <strong>de</strong> contexto es vacío; aún cuando sí se pue<strong>de</strong>saber si el lenguaje en sí es vacío. Esta discusión no se refiere a un procedimiento que responda la preguntapara un lenguaje específico, sino que a un único procedimiento que responda correctamente la pregunta,cualquiera fuera el lenguaje.Es obvio que si se tratara <strong>de</strong> respon<strong>de</strong>r si un lenguaje libre <strong>de</strong> contexto específico tiene un complementovacío, entonces existe el algoritmo. Basta tener uno que responda siempre SI y otro que siempre respondaNO ; uno <strong>de</strong> ellos es el algoritmo <strong>de</strong>seado en este caso. Por supuesto que pue<strong>de</strong> no ser obvio cuál es elalgoritmo que respon<strong>de</strong> correctamente.A comienzos <strong>de</strong> siglo, el matemático David Hilbert se embarca en la búsqueda <strong>de</strong> un algoritmo para<strong>de</strong>terminar la veracidad o falsedad <strong>de</strong> cualquier proposición matemática. En particular, él buscaba unprocedimento para <strong>de</strong>terminar si una fórmula arbitraria <strong>de</strong>l cálculo <strong>de</strong> predicados <strong>de</strong> primer or<strong>de</strong>n, aplicadaa enteros, es verda<strong>de</strong>ra. Como el cálculo <strong>de</strong> predicados <strong>de</strong> primer or<strong>de</strong>n es suficientemente po<strong>de</strong>roso paraexpresar la sentencia <strong>de</strong> que el lenguaje generado por una gramática libre <strong>de</strong> contexto es igual a Σ ∗ , si Hilberthubiese tenido éxito, el problema <strong>de</strong> <strong>de</strong>cidir si el complemento <strong>de</strong> un lenguaje libre <strong>de</strong> contexto es vacío, sehabría resuelto. Sin embargo, en 1931, Kurt Gö<strong>de</strong>l publicó su famoso teorema <strong>de</strong> incompletitud, que probó117

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

Saved successfully!

Ooh no, something went wrong!