Cuando en este blog aún decíamos algo interesante de vez en cuando (por equivocación), se nos quedó cortada
una serie de entradas que inicialmente pretendía contar unos resultados muy interesantes que presentó Libor Behounek en el Congreso Mundial de Difusos del año pasado.
Supongamos que tenemos un universo de discurso formado por
n objetos. Para fijar ideas, pongamos que son los días de la semana. A nosotros nos interesan algunas propiedades de los días de la semana, por ejemplo la de pertenecer al fin de semana. Buscamos un objeto matemático que nos sirva para modelizar esa propiedad, y los que tengan edad parecida a la mía habrán aprendido de pequeños que ese objeto que incluye a los objetos que tienen una propiedad se llama un
conjunto. Si lo llamamos FS, por decir algo, podemos escribir
FS = {Sábado, Domingo}.
De igual forma podemos tomar el conjunto complementario formado por los días que no están en el fin de semana,
NFS = {Lunes, Martes, Miércoles, Jueves, Viernes}
Supongamos que estamos felices con este modelo. Pues ya está, si somos felices nos quedamos con él hasta que dejemos de serlo y entonces buscaremos otro. Fin.
Supongamos que no estamos felices. Por ejemplo, nosotros intentamos programar un robot para que tenga conversaciones con la gente.
-Hola, soy Amador, el robot conversador.
-Mucho gusto.
-Menos mal que ya ha llegado el buen tiempo.
Vale, hasta aquí es fácil; si Amador nunca fuera a salir de un ascensor, podríamos dar su educación por concluida.
-Sí, el fin de semana pasado ya fuimos a la playa por fin.
-Ah, el sábado hizo una tarde de playa muy buena.
-No, el sábado fuimos al Ikea.
-El domingo tampoco se estaría mal en la playa.
-Pues no lo sé, nosotros estuvimos celebrando una comunión.
Aquí Amador, que maneja el concepto "fin de semana" mediante el conjunto FS, se queda perplejo, situación en la que podemos programarle para decir algo justo, como
-¡Matar! ¡Matar a todos los humanos!
o bien, más prosaicamente, para prolongar la conversación:
-No lo entiendo. ¿No me dijo que estuvo en la playa el fin de semana pasado?
-Claro, el viernes por la tarde.
En fin, si redefinimos el conjunto FS como
FS = {Viernes, Sábado, Domingo}
y por tanto
NFS = {Lunes, Martes, Miércoles, Jueves},
seguiremos teniendo los mismos problemas, ya que la misma persona, si trabaja de lunes a viernes, le dirá a Amador que no trabaja durante el fin de semana.
Hay dos formas de mirar esto: una es decir que o incluimos el viernes en FS o no lo incluimos, pero tenemos que hacer una de las dos cosas (esto se llama la ley del tercero excluido, o tercio excluso para los que sean algo mayores que yo); la otra es
dejar de usar conjuntos como modelos de propiedades.
En un universo de 7 objetos podemos definir 128 conjuntos distintos. Como somos unos caprichosos y nos parece que ninguno de esos 128 representa correctamente la propiedad "fin de semana", la estrategia sería encontrar unos algos que fueran parecidos a los conjuntos pero que fueran más. Cuantas más opciones tengamos, más fácil encontrar una que se adapte mejor al fenómeno que tratamos de modelar.
Vimos que una opción es reemplazar la lógica clásica por una lógica más débil. Los objetos "parecidos a conjuntos" son (isomorfos a) los miembros del álgebra de Lindenbaum-Tarski de esa lógica. El ejemplo con el que estábamos contando esto es la lógica ternaria de Lukasiewicz, para la cual tenemos 2187 "pseudoconjuntos" distintos en un universo de 7 objetos.
En ese caso diríamos que
"El Sábado pertenece al fin de semana" es VERDADERO
"El Domingo pertenece al fin de semana" es VERDADERO
"El Lunes pertenece al fin de semana" es FALSO
"El Martes pertenece al fin de semana" es FALSO
"El Miércoles pertenece al fin de semana" es FALSO
"El Jueves pertenece al fin de semana" es FALSO
y
"El Viernes pertenece al fin de semana" es INDETERMINADO.
INDETERMINADO es un tercer valor de verdad, no quiere decir que desconozcamos si es VERDADERO o FALSO.
Con la lógica de Lukasiewicz, si "En fin de semana no voy a trabajar" es VERDADERO deduciríamos que
a) "En sábado no voy a trabajar" y "En domingo no voy a trabajar" son VERDADERO.
b) De lo que pase de lunes a jueves no podemos decir nada (igual que con la lógica clásica).
c) "En viernes me levanto más tarde" es INDETERMINADO.
Y si "En fin de semana puedo ir a la playa" es VERDADERO, igualmente "En viernes puedo ir a la playa" es INDETERMINADO.
Así, igual que un conjunto divide al universo de discurso en dos categorías, en este caso un "pseudoconjunto" lo divide en tres: el sábado y el domingo; los días de lunes a jueves; y el viernes, que estaría en un estado "indeterminado" respecto a las propiedades de pertenecer o no pertenecer al fin de semana.
Ya discutimos también en su momento que, a mi modo de ver, la lógica es una lógica de etiquetas y no una lógica de realidades. Ni se está diciendo que en el mundo real exista la indeterminación como añadido a la verdad y la falsedad, ni tampoco que la verdad y la falsedad existan. Lo que pone de manifiesto la anterior "contabilidad de etiquetas" es que si etiquetamos el viernes como día intermedio que no se ajusta exactamente ni al fin de semana ni al "no fin de semana", no podemos deducir cosas sobre el viernes de lo que sepamos de ninguna de las dos categorías. El viernes hereda parte de las características del fin de semana y parte de las del "no fin de semana": puedo ir a la playa pero tengo que levantarme pronto.
Ahora que hemos recordado esto (y que en realidad hablamos de lógica difusa, es decir, con infinitos valores intermedios entre VERDADERO y FALSO), vamos a señalar hacia dónde vamos.
Dijimos que un universo de siete objetos admite 128 conjuntos clásicos pero 2187 pseudoconjuntos de una lógica ternaria. Los 128 conjuntos clásicos forman un álgebra de Boole y por tanto cumplen las correspondientes propiedades. Si queremos demostrar un teorema que involucre algunos de esos 128 objetos, podemos utilizar todas las propiedades ciertas en un álgebra de Boole. La MV-álgebra formada por esos 2187 elementos incluye a esos 128 y otros 2059. Esto significa que demostrar un teorema que involucre alguno de esos 2059 objetos adicionales es más difícil ya que incumplen alguna de las propiedades de álgebra de Boole (las habituales de los conjuntos, como que la unión de un conjunto consigo mismo es el mismo conjunto), con lo que esas propiedades ya no podrían ser utilizadas en la demostración.
La gracia está en verlo al revés: si tenemos una demostración que sólo utilice las propiedades de MV-álgebra, automáticamente es válida no sólo para los 128 objetos clásicos sino para 2187 objetos (en nuestro universo de 7 elementos). Por supuesto, no es que estos 2187 objetos
no existan en la matemática tradicional, existen modelos clásicos pero no como subconjuntos del universo de 7 elementos; en este caso, funciones con tres valores distintos.
Mayormente, y "mayormente" me incluye a mí, lo que se ha hecho es tomar un modelo clásico de esos 2187 objetos, formado por funciones, y trabajar dentro del modelo clásico, donde uno puede utilizar todas las propiedades lógico-matemáticas tradicionales. El problema (o la diversión) es tomar el resultado conocido para los 128 conjuntos y extenderlo a 2187 funciones, que son objetos más complicados que los conjuntos, claro.
Sin embargo, desde el punto de vista lógico, esos 2187 objetos no son ni más ni menos complicados que los conjuntos, siempre que nos avengamos a manejarlos de acuerdo con las propiedades lógicas que obedecen.
Se trata de construir unas matemáticas en las que la lógica subyacente no sea la clásica sino la difusa. Todos fuimos conscientes desde siempre de que, a nivel de barra de bar, esto era posible, pero no sabíamos cómo enfocarlo ya que una de las características básicas de la matemática tradicional era que las afirmaciones o son teoremas o no lo son. La idea de unas matemáticas con "teoremas" que tengan grados de verdad intermedios entre VERDADERO y FALSO parecía difícil de asumir; al fin y al cabo, la gracia de las matemáticas es que una vez demuestras algo, ya es verdad para siempre. ¿De qué sirve demostrar que el grado de verdad de una afirmación es por lo menos del 50%?
Así que se trabajó muy poco en esa línea. Pero en 1998 Hájek publicó su libro
Metamathematics of Fuzzy Logic, en el que muestra que existe una lógica con solo dos valores de verdad (VERDADERO y FALSO), que Hájek llamó
lógica básica que tiene a los conjuntos difusos como modelo. Por tanto, no es necesario imaginar cómo montar unas matemáticas con teoremas, semi-teoremas y tercios de teorema, sino que se abre el programa de elaborar unas matemáticas que sólo utilicen las propiedades válidas en la lógica básica pero en las que el concepto de teorema sea exactamente el mismo.
La idea es llegar a un punto en que se invierta la estrategia: demostraciones sobre conjuntos en lógica básica se convierten en demostraciones sobre funciones en lógica clásica, valga el pareado. Ya digo que lo que hacemos hoy es lo contrario, usamos funciones y lógica clásica para demostrar resultados de conjuntos en lógica difusa.
Bueno, son casi las tres de la mañana y ha venido Bliss con la vara de avellano a preguntarme qué estoy haciendo. Ya sigo otro rato. Por cierto, han quedado sugeridos los parecidos con el programa intuicionista y con el análisis no estándar.