¿Que son máquinas abstractas y que tienen que ver en ello las gramáticas formales?(Computación 3)


Quiero comenzar por recomendarles un libro, ya sabeis que uso videos de expertos en Youtube, charlas Ted, todo tipo de contenidos online y mi propio cerebro para tratar de transmitirles las materias de la web, en forma de apuntes online de mi propio estudio, en este punto comienzo a necesitar libros-

Libros que me ayuden a comprender la visión global de la materia y me permitan avanzar de modo autodidacta. El primero de ellos se titula «Lenguajes Formales y Teoría de Autómatas (ISBN: 978-84-267-2245-4), será uno de los contenidos que use para comprender la materia y articular mejor el índice de contenidois.

Estos artículos no serán – ni mucho menos – trascripción de dicho libro, lo usare para estudiar y luego contaré lña materia a mi modo. ampliando fuentes y quizá incluso implementando solfware para hacer pruebas. Si les interesa la materia, les recomiendo que compren el libro, y lo lean en paralelo.

¡Al grano! ¿Máquina que?

Comencemos por explicar a que nos referimos con máquinas abstractas, si acudimos a la Wikipedia:

Una máquina abstracta, también llamada un computador abstracto, es un modelo teórico de un sistema computador de hardware o software usado en la teoría de autómatas. La abstracción de procesos computacionales es usada en las disciplinas de las ciencias de la computación y la ingeniería de computación y usualmente asume el paradigma de tiempo discreto.

Definición de máquina abstracta en Wikipedia

En esencia es un modelo matemático que nos permite simular «sobre papel» el funcionamiento o compaortamiento de una computadora, sin que esta exista físicamente, esto nos permite una amplia flexibilidad de diseño, sin necesidad de incurrir en costes de construcción en tanto no logremos una solución óptima.

Esta máquina así descrita se basa en unos estímulos de entrada y un estado interno, que interactuan para dar como resultado una salida concreta. Ejemplo típico el del ascensor, si pulsamos el botón para ir a la cuarta planta y estamos en la primera el ascensor ejecutará la accion «subir», y si estamos en el noveno, ejecutará la accion «bajar».

Sobre gramáticas formales

Respecto de la relación entre estas y las máquinas abstractas, comencemos por definir que son esas gramáticas. Nos dice la Wikipedia:

Una gramática formal es una estructura lógico-matemática con un conjunto de reglas de formación que definen las cadenas de caracteres admisibles en un determinado lenguaje formal o lengua natural. Las gramáticas formales aparecen en varios contextos diferentes: la lógica matemática, las ciencias de la computación y la lingüística teórica, frecuentemente con métodos e intereses divergentes.

Definición de gramática formal en Wikipedia

Llevándolo a un lenguaje algo menos formal, distinguimos entre lenguajes naturales (los que usamos en nuestro dia a dia) que se basan en normas totalmente flexibles y dependiente del conjunto de hablantes, frente a lenguajes formales, que son los usados en computación, y que se basan en normas gramaticales fijas que exigen una estructura férrea y concreta, sin lugar a ambigüedades, dado que no dejan de ser – a mi modo de ver -una extensión del lenguaje matemático.

Las gramáticas formales, por tanto, son aquellas reglas que articulan los lenguajes formales para configurar el funcionamiento específico de una máquina abstracta, en pos de la solución de un problema dado.

Concluyendo

Gramáticas formales y Máquinas Abstractas nos aportan una forma de explorar, sin necesidad de máquina alguna en el mundo físico, de un modo similar a como la matemática formal nos permite explorar la realidad abstracta.

Continuemos explorando esta apasionante materia, en los próximos capítulos.


Quizá te interese leer más sobre Computación

Dejar una Respuesta

XHTML: Usted puede usar las siguientes etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>