lunes, 7 de junio de 2010

La lógica subyacente a las matemáticas (decíamos ayer)

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.

11 comentarios:

JuanPablo dijo...

muy lindo, pero el lunes también pertenece al fin de semana, sobre todo cuando el domingo me acuesto después de las cuatro.

Y ni hablar de los feriados corridos al lunes (¿puentes les dicen ustedes?)

unnombrealazar dijo...

'Congreso Mundial de Difusos'. Y querrás que te tomemos en serio...

Sr. IA dijo...

Fenomenal.Genial.

Sé cuatro cosas de lógica preposicional, desde tan parco bagaje me resignaba a no entender nada de difusa. Leí sus anteriores posts con mucha atención y poco provecho, me temo, (por cierto, están mal linkados o almenos yo no accedo sino al 5), pero me faltaba una introducción tan clarita como la de hoy. Desde luego no es mi intención darme por enseñado, pero este tipo de conocimientos hacen que valore mejor la potencia de la difusa. Desde luego, los campos de aplicación son todo un universo. Desde la filosofía de la matemática ni digamos...

Una duda, ¿si V = 1 y F =O, en difusa habría un Indeterminado igual a X de donde toma valor entre el cero o el uno?,¿le asignamos 0,5? o habría que asignarles directamente un valor nuevo, 2?

Si la pregunta es una estupidez, no se corte. Perdone la ingenuidad...

Otra pregunta, ¿son ustedes muchos?, ustedes, los que estudian la difusa. Coincido con el Sr Topo que esto de Congreso Mundial de Difusos es poco mediático... O mucho, según se mire

Sr. IA dijo...

Ampliación, releo y veo que habla de infinitos valores entre V y F. Eso es lo que no acabo de entender.

Sr. IA dijo...

Perdón, lógica proposicional.

Pedro Terán dijo...

Bueno, el nombre del congreso era "Congreso Conjunto Congreso Mundial de la Asociación Internacional de Sistemas Difusos y Congreso de la Sociedad Europea de Lógica y Tecnología Difusa", así que es mejor llamarlo como yo.

Juan Pablo: Yo, si me acuesto el domingo a las cuatro, ando toda la semana desorientado. Para mí el lunes ya está 100% fuera del fin de semana, aunque intento no poner en él mucha carga de trabajo.

En principio, "puente" es cuando hay fiesta p.ej. el martes y eso ya se considera razón suficiente para pasar del domingo al martes "sin mojarse". Con esto de la globalización y la productividad, hemos perdido esta costumbre difícil de explicar a los extranjeros. Ahora, como dices, hay más tendencia a mover las fiestas al viernes o lunes.

Topo: ¡A ver si te contesto a ese correo de una vez!

Sr.IA: Es que esta serie de entradas está muy malamente mal escrita, desoyendo máximas de sentido común como "Haz un esquema antes de contarlo", "Ten claro a qué lector quieres dirigirte" y "No digas palabros que nadie sabe qué significan".

El enlace al quinto se supone que es
http://pedroteran.blogspot.com/2009/09/la-logica-subyacente-las-matematicas-v.html
A ver si lo corrijo en la entrada.

Desgraciadamente, la cosa difusa es como el elefante de la historia, es muy costoso hacerse una visión de conjunto de la cuestión y todo lo que uno encuentra fácilmente son enfoques del tipo "un elefante es como una columna" o "un elefante es como una serpiente". La cosa difusa, contada por un ingeniero, por un matemático o por un filósofo, no sólo no parece la misma sino que normalmente cada uno demuestra que no entiende la posición desde la que hablan los otros (ni le interesa) ni asimila bien que las prioridades de los otros son distintas.

Y, para más inri, hay muy poca divulgación y la que hay es bastante mala (me refiero a los dos libros de Bart Kosko).

Así que no sé muy bien qué lectura iniciática breve y provechosa recomendarte, yo no conozco ninguna. Lo mejor es que vayas preguntando y yo te voy contestando. Bueno, te digo "vayas" y "te" porque nunca sé si me hablas de usted tú o el personaje.

En cuanto a las preguntas, a ver si hago una entrada explicatoria en cuanto pueda. Las respuestas breves son:

-Los valores de verdad se toman normalmente como valores intermedios entre 0 y 1. En el caso de la lógica ternaria se coge el 0'5. Aunque en cierto sentido daría lo mismo usar cualquier otro símbolo, como 2, tiene la ventaja de que permite calcular con una operación matemática el valor de verdad de una expresión compuesta.

-En el caso difuso, cualquier valor entre 0 y 1 se admite como valor de verdad. Dicho de otra forma, una proposición se puede considerar desde totalmente falsa (cierta en un 0%) hasta totalmente cierta (cierta en un 100%), pasando por cualquier valor intermedio, que en principio son infinitos aunque en la práctica sólo es posible usar una cantidad finita.

-En cuanto al número de gente, no sé muy bien cómo medirlo. En ese congreso hubo unas 333 presentaciones, estuve también hace dos ediciones y entonces fueron 340. Cada presentación viene firmada por 1-4 autores, aunque también hay autores que aparecen como firmantes en varias. Lo que no tengo ni idea es qué proporción del total de investigadores serían.

La revista puntera en teoría de cosas difusas es Fuzzy Sets and Systems y publica entre 200 y 250 artículos al año (quincenal a unas 150 páginas por número).

No sé si esto es orientativo o desorientativo...

Sr. IA dijo...

Perfectamente claro. Muchas gracias.

Carlos Garrido dijo...

Y para evitar todo este embrollo que (a mi parecer) es más lógica que matemática clásica y por tanto menos claro (o al menos, más complejo de entender desde un observador ajeno al campo) ?no sería posible o conveniente hacer los cálculos sobre un conjunto equivalente pero con unas divisiones más apropiadas para no tener que recurrir a todo esto mencionado?

Por ejemplo, en el caso del robot que comentabas, programar que el fin de semana comienza desde las (24x4 + 24/2=108) horas de la semana y termina a las (24x7=168) horas de la semana?

Esto vendría a ser que el fin de semana comienza a partir del mediodía (el segundo sumando podría acomodarse a algún valor más apropiado) del viernes, y termina a las doce de la noche del domingo.

yonamas dijo...

Tiene esto cabida en el marco de la teori'a de topoi?
Si la respuesta es afirmativa, hacerlo clarifica lo bastante las cosas para que merezca la pena incluso cuando el enfoque es de tipo aplicado? Si no, hay algu'n motivo en especial para ello?

Pedro Terán dijo...

Yonamas: La idea de conectar con los topoi es natural pero imperfecta. El topos de Higgs (de conjuntos con "valores de verdad" en un álgebra de Heyting H) es, visto de lejos, parecido, aunque no aporta una noción de igualdad difusa que funcione correctamente. Los conjuntos difusos con "valores de verdad" en H, con la estructura de categoría que consideró Goguen ya en 1967, forman un cuasitopos pero no un topos (falla el clasificador de subobjetos). Si añadimos manualmente una igualdad difusa, o sea, una relación binaria de equivalencia pero con valores en H y no en {0,1}, obtenemos lo que se llaman conjuntos totalmente difusos, que sí forman un topos.

El primer artículo de Zadeh es de 1965 y tuvo la suerte de que llamó la atención de Goguen, que le dijo: "Hola, que quiero hacer mi tesis sobre la formalización de los conjuntos difusos usando la teoría de categorías". Desde entonces, ha habido bastante trabajo en esa dirección y, aunque no es cercano a mi tema, sé que varios libros de texto de teoría de topoi usan los difusos como ejemplo.

Te recomiendo la siguiente review:
S. Gottwald (2006). Universes of fuzzy sets and axiomatizations of Fuzzy Set Theory. Part II: Category theoretic approaches. Studia Logica 84, 23-50.

Pedro Terán dijo...

Arkaico: Claro, tú estás defendiendo una postura históricamente muy potente, que es perfeccionar el lenguaje para eliminar la vaguedad: la vaguedad es nuestra enemiga y lo que hace falta es esforzarse por usar un lenguaje más preciso.

Los que hemos sufrido el lavado de cerebro, digo, "los difusos", creemos que ese programa fracasó y que la vaguedad no es eliminable del lenguaje natural, por lo que algo tendremos que hacer para convivir con ella en lugar de fingir que no existe.

Históricamente, los primeros problemas a los que se aplicó lo difuso fueron problemas de control (mantener un sistema en el estado que deseamos, p.ej. un aparato de aire acondicionado) y de sistemas expertos (enseñar a un ordenador a hacer algo como un experto humano, p.ej. predecir si el precio del oro va a subir o bajar al día siguiente). En los dos casos se termina traduciendo a un lenguaje de programación el conocimiento de un experto humano que sabe cómo realizar esa tarea.

El experto humano no es capaz de definir límites exactos entre una categoría y otra, p.ej. como experto en andar por la ciudad me puedes decir que si estoy cruzando un paso de peatones y se acerca un coche muy rápido, debo echar a correr, pero no me puedes decir si tiene que ser cuando el coche va a más de 67'3 km/h y está a menos de 37'12 metros, o cuándo. No se puede dar una descripción precisa de las condiciones en las que hay que ponerse a correr; y, además, el hecho de que tú no necesites esos valores exactos demuestra que esa precisión artificial tampoco es necesaria para resolver el problema.

El enfoque difuso es codificar en, pongamos, un robot, la regla de que "Si el coche va MUY RÁPIDO y está CERCA, corre". La distinción entre qué es MUY RÁPIDO y qué no lo es no es tajante (MUY RÁPIDO es lo que corresponde en este caso a FIN DE SEMANA).

En resumen, la respuesta es muy buena y estás en el mismo vagón que gente bastante poco sospechosa de ser tonta, como Kelvin.