Practico 3 2015 Intro Lenguajes Formales
description
Transcript of Practico 3 2015 Intro Lenguajes Formales
1
Práctico
Lenguajes formales
Los ejercicios 1 a 3 figuran en el libro Metalógica. Introducción a la metateoría de la
lógica clásica de primer orden, de Geoffrey Hunter.
1. El lenguaje W se define de la siguiente forma:
Alfabeto: { Δ, }
Fórmulas: cualquier cadena finita de símbolos del alfabeto W que comience
con “Δ” es una fórmula.
¿Es W un lenguaje formal?
2. El lenguaje X se define de la siguiente forma:
Alfabeto: {a, b, c, d, e, f, g}
Fórmulas: toda cadena finita de símbolos del alfabeto de X que dé lugar a una palabra del castellano es una fórmula.
¿Es X un lenguaje formal?
3. El lenguaje Y se define de la siguiente forma:
Alfabeto: {a, b, c, d, e, f, g}
Fórmulas: toda cadena finita de símbolos del alfabeto de Y que no dé lugar a una palabra del castellano es una fórmula.
¿Es Y un lenguaje formal?
4. Considere un lenguaje cuyo alfabeto quede determinado así:
Alfabeto: { |, ||, |||, |||| }
Sean fórmulas aquellas cadenas finitas tales que sus símbolos contiguos difieren
solo en una barra.
(a) Muestre que hay fórmulas de cualquier longitud mayor que 1.
2
(b) Muestre que todas las fórmulas de cinco símbolos que contienen todos los
símbolos del alfabeto tienen repetido el primero o el último símbolo.
5. Suponga que: (i) se define un lenguaje con un alfabeto finito, (ii) se establece
que una cadena finita determinada es fórmula, (iii) se establece que serán
fórmulas todas las cadenas que se obtengan agregando dos símbolos
diferentes (siempre los mismos) al final de una fórmula ya disponible en
cualquier orden, y (iv) todas las fórmulas pueden obtenerse por este
procedimiento a partir de la cadena finita dada.
(a) Muestre que si existe una fórmula de 5 símbolos, no puede existir una
fórmula de 16.
(b) Suponga que hay una fórmula de 5 símbolos. ¿Cuántas fórmulas de 6, 7,
8 y 9 símbolos hay cuyo segmento inicial sea idéntico al de la fórmula
dada.
6. Suponga que se define un lenguaje con un alfabeto finito, se establece que una
cadena finita determinada es fórmula y que serán fórmulas todas las
cadenas que se obtengan agregando dos símbolos al final de una fórmula ya
disponible o las cadenas que se obtengan eliminando 4 símbolos del
principio de una fórmula ya disponible (si tiene 5 o más símbolos), y que
todas las fórmulas pueden obtenerse por ese procedimiento. Suponga
además que “aabbccc” es una fórmula.
¿Podría ser “ccccmm” fórmula?
3
Anexo.
En el maravilloso libro Gödel, Escher, Bach – Un eterno y grácil bucle, de Douglas R. Hofstadter (un libro que explora, entre otras cosas, las relaciones entre sistemas formales, autorreferencia y consciencia), aparece un acertijo que desde entonces se ha hecho famoso. Compartimos aquí su enunciado (textualmente como lo presenta el autor en el capítulo 1 del libro), el que será seguido por algunos comentarios nuestros y finalmente, por su solución.
El acertijo MU
Sistemas formales
Una de las nociones centrales de este libro es la de sistema formal. El tipo
de sistema formal que utilizo fue creado por el lógico norteamericano Emil
Post durante la década de los ´20, y es denominado a menudo “sistema de
producción de Post”. Este capítulo expone un sistema formal; espero que,
además, el lector sienta el deseo de ampliar aunque sea mínimamente esta
noción: así, a fin de provocar su curiosidad, he planteado un modesto
acertijo.
“¿Puede usted producir MU?”, es el desafío. Para comenzar se deberá
disponer de una cadena (se trata de una cadena de letras). 1
Para interrumpir el suspense, digamos que esa cadena será MI. Serán
establecidas determinadas reglas, cuya aplicación permitirá transformar
una cadena en otra distinta. Si alguna de tales reglas es utilizable en cierto
momento, y se desea aplicar, no hay inconveniente en hacerlo, pero no
habrá nada que indique qué regla es la adecuada en caso de que sean varias
las utilizables. Es necesario optar y en ello consiste la práctica del juego a
través del cual todo sistema formal puede llegar a asemejarse a un arte.
“Requisito de formalidad”, podemos llamar a esta limitación, que
probablemente no deba ser subrayada en el transcurso de este capítulo; sin
embargo, y por extraño que parezca, predigo que cuando juegue con
algunos sistemas formales de los capítulos siguientes, el lector descubrirá
1 Para referirnos a las cadenas, emplearemos las siguientes convenciones: si aparecen en la misma
tipografía que el resto del texto, serán señaladas mediante comillas simples o dobles. La puntuación que
corresponda a la frase, y no a la cadena de que se hable, estará ubicada fuera de las comillas, como es
lógico. Por ejemplo, la primera letra de esta oración es “P”, mientras que la primera de `esta oración´ es
`e´. Sin embargo cuando la cadena aparezca en otra tipografía (a saber, en souvenir), no se usarán
comillas, a menos que sea imprescindible por razones de claridad. Por ejemplo, la primera letra de otra
es o.
4
que está violando repetidas veces el REQUISITO de FORMALIDAD, excepto
si ha trabajado anteriormente con sistemas formales.
Lo primero por decir de nuestro sistema formal –el sistema MIU- es
que emplea solo tres letras del alfabeto: M, I, U. Esto significa que las
cadenas del sistema MIU estarían formadas exclusivamente por esas tres
letras. Las que le siguen son algunas de las cadenas del sistema:
MU
UIM
MUUMUU
UIIUMIUUIMUIIUMIUUIMUIIU
Pese a que todas las precedentes son cadenas legítimas, aun no están
“en poder” del jugador. En realidad, la única que este posee hasta ahora es
MI. Solo mediante la aplicación de las reglas, que a continuación enuncio,
podrá ampliar el lector su colección privada. He aquí la primera regla:
REGLA I: Si se tiene una cadena cuya última letra sea I, se le puede agregar
una U al final.
Dicho sea de paso, por si no se ha advertido, al decir “cadena” se da por
sentado que las letras están situadas en un orden establecido. Por ejemplo,
MI e IM son dos cadenas diferentes. Una cadena de símbolos no es
precisamente un “saco” de símbolos, donde el orden interno sería
indiferente.
He aquí la segunda regla:
REGLA II: Supongamos que se tenga Mx. En tal caso, puede agregarse Mxx a
la colección.
Unos pocos ejemplos ilustrarán esto.
Dado MIU, se puede obtener MIUIU.
Dado MUM, se puede obtener MUMUM.
Dado MU, se puede obtener MUU.
En consecuencia, la letra `x´ simplemente representa cualquier cadena, pero
una vez que se ha decidido cuál es la cadena representada, es preciso
ajustarse a tal decisión (hasta que se vuelva a aplicar al regla: entonces será
5
posible decidir otra cosa). Observemos el tercero de los ejemplos
anteriores, que muestra cómo, una vez que se tiene MU, se puede
incorporar otra cadena a la colección, ¡pero primero es necesario tener MU!
Quisiera hacer un último comentario acerca de la letra `x´: el modo en que
esta o integra el sistema formal no es el mismo que caracteriza a `M´, `I´ y
`U´. Nos resulta útil contar con alguna manera de referirnos en general,
simbólicamente, a las cadenas del sistema, y esa es la función de `x´:
representar cadenas arbitrarias. Si alguien suma a su “colección” una
cadena una `x´, está cometiendo un error, porque las cadenas del sistema
MIU nunca pueden incluir `x´.
REGLA III: Si en una de las cadenas de la colección aparece la secuencia III,
puede elaborarse una nueva cadena sustituyendo III por U.
Dado UMIIIMU, se puede elaborar UMUMU.
Dado MIIII, se puede elaborar MIU (también MUI).
Dado IIMII, la aplicación de esta regla no permite ninguna transformación
(las tres III deben ser consecutivas2).
Dado MIII, se elabora MU.
Bajo ninguna circunstancia ha de pensarse en emplear la regla en sentido
inverso, como en el ejemplo siguiente:
Dado MU, obtener MIII. Erróneo.
Las reglas son unidireccionales.
He aquí la última:
REGLA IV: Si aparece UU en el interior de una de las cadenas, está permitida
su eliminación.
Dado UUU, se obtiene U.
Dado MUUUIII, se obtiene MUI.
Eso es todo; a continuación, hay que tratar de obtener MU. No hay que
preocuparse si no se lo consigue: lo principal es hacer un pequeño intento, a
fin de tomarle el gusto a este acertijo. Diviértase el lector.
2 Esto debe ser un error, aparentemente, lo que corresponde es “Las tres I deben ser consecutivas”.
(M.M.)
6
Comentarios
Hofstadter habla aquí de sistemas formales. En un sistema formal, tenemos
la posibilidad de la derivación. Dada alguna fórmula del lenguaje formal, la
aplicación de ciertas reglas, nos permite hallar otra u otras fórmulas que se
derivan de la dada por aplicación de las reglas. Más adelante en el curso
veremos un sistema formal adecuado a la lógica proposicional. Obsérvese,
sin embargo, que es posible considerar las reglas de Hofstadter como dando
un lenguaje formal. Nos dio el alfabeto, que consta de las letras “M”, “I”, “U”;
nos dijo que “MI” es una fórmula, y nos da cuatro reglas por las que se
pueden obtener fórmulas. Si suponemos que esas cuatro reglas agotan las
posibilidades que tenemos para construir fórmulas, tenemos determinado
un lenguaje formal. El acertijo, bajo este marco, quedaría replanteado así:
¿Es “MU” una fórmula del lenguaje?
Solución del acertijo
Podemos intentar generar cadenas partiendo de “MI” aplicando las reglas.
Eso nos dará una idea de cómo funcionan en la construcción de fórmulas,
nos dará un cierto “sentido” del lenguaje. Pero por más que trabajemos así,
nunca llegaremos a obtener la cadena “MU”, porque ello es imposible. Para
demostrarlo, es imprescindible razonar sobre el lenguaje, debemos
considerar cuestiones estructurales que no son “expresables” en el propio
lenguaje MIU, que dicho sea de paso, no expresa nada en tanto no se le
asigne una semántica, y parece ser que si se le asigna una, su riqueza
expresiva no será mucha en ningún caso.
La solución es la siguiente: Partimos de la fórmula MI, y debemos arribar a
la fórmula MU. Ahora bien, para eso debemos eliminar todas las “I”. La
forma de eliminar todas las “I” sería por aplicación de la regla III, porque
ninguna otra regla nos permite eliminar ese símbolo. Pero para aplicar la
regla III una o repetidas veces eliminando todas las “I”, debemos tener una
cantidad múltiplo de 3 de “I”. Ahora bien, empezamos teniendo una cadena
que tiene una “I”, y 1 no es múltiplo de 3. Pero un número que no es
múltiplo de 3, da un número que no es múltiplo de 3 al duplicarlo, como
haríamos aplicando la regla 2. De manera que la aplicación de la regla 2
nunca nos daría un múltiplo de 3 de “I” si previamente no tenemos un
múltiplo de 3 de “I”. Las otras reglas no alteran el número de “I” que
tenemos en la cadena. Por lo tanto, no hay manera, partiendo de una cadena
que tiene un número que no es múltiplo de 3 de “I”, como “MI”, de obtener
una cadena que tiene una cantidad que es múltiplo de 3 de “I” como “MU” (0
es múltiplo de 3). Se concluye entonces que “MU” no pertenece al lenguaje
formal.