viernes, 7 de agosto de 2009

Computación blanda

El hombre, en la búsqueda de la precisión, intentó ajustar el mundo real a modelos matemáticos rígidos y estáticos, como la lógica clásica binaria. Cuando Aristóteles y sus precursores idearon sus teorías de la lógica y de las matemáticas, propusieron la “Ley del Centro Excluido” que indica que cada asunto debe ser verdad o falso. La hierba es verde o no verde; claramente no puede ser verde y no verde. Tuvieron que pasar muchísimos años hasta que, a mediados del siglo veinte, fue concebido el concepto de lógica difusa por el matemático azerbaiyano-iraní Lofti Asker Zadeh, de la Universidad de Berkeley, quién inconforme con los conjuntos clásicos que sólo permiten dos opciones, la pertenencia o no de un elemento a dicho conjunto, la presentó como una forma de procesar información permitiendo pertenencias parciales a unos conjuntos, que en contraposición a los clásicos los denominó conjuntos difusos. La lógica difusa puede presumir de unos orígenes venerables. Hace más de 2400 años que Parménides de Elea sugirió que una proposición podía ser verdadera y falsa al mismo tiempo. Su gran admirador Platón le hizo caso y llegó a admitir una tercera región entre los polos de la verdad y la falsedad. El concepto de conjunto difuso fue expuesto por Zadeh en un artículo publicado el año 1965, hoy clásico en la literatura de la lógica difusa, titulado “Conjuntos difusos” y que fue publicado en la revista “Información y Control”. El mismo Zadeh publica en 1971 el artículo, “Semántica Difusa Cuantitativa” en donde introduce los elementos formales que acabarían componiendo el cuerpo de la doctrina de la lógica difusa y sus aplicaciones tal como se conocen en la actualidad.

Se dice que la lógica difusa es una técnica de la inteligencia artificial que permite trabajar con información que contiene un alto grado de imprecisión, en esto se diferencia de la lógica convencional que trabaja con información bien definida y precisa. Se afirma que la lógica difusa es una lógica multivaluada que permite valores intermedios para definir evaluaciones entre si/no, verdadero/falso, negro/blanco, caliente/frío, etc. La idea de que el cerebro humano utiliza un mecanismo análogo a la lógica difusa debe mucho al lingüista William Labov, fundador de la moderna sociolingüística. Labov demostró el año 1973 que las categorías “taza” y “tazón” son difusas en el cerebro: se solapan una con otra, y su uso depende más del contexto y la experiencia del hablante que del tamaño real del recipiente. La decisión entre los dos nombres depende a la vez de otros factores: tener un asa, ser de cristal, llevar un plato debajo y exhibir un diámetro creciente de base a boca restan puntos a “tazón” y empujan al hablante hacia “taza”. El resultado de Labov es muy similar a la lógica difusa en el cerebro de las personas, un objeto puede ser un tazón con un grado de verdad del 0.7 y una taza con un grado de verdad de 0.3. Y esos grados se ajustan continuamente en función del contexto y la experiencia del hablante. La neurobiología más reciente ha confirmado las ideas de Labov de una forma inesperada, en una serie de experimentos que han iluminado el problema central de la semántica: ¿cómo se atribuye un significado a las palabras? e incluso un tema clave de la filosofía de la mente: qué son los conceptos, los símbolos mentales con los que se teje el pensamiento humano. La idea convencional es que los conceptos son entidades estables, que se forman y manipulan en las altas instancias del córtex cerebral, en los lóbulos frontales agigantados durante la evolución humana. El concepto “flor” sería un auténtico “símbolo” por lo mismo que es la palabra flor: porque se ha independizado de su significado y se puede manejar sin tener delante una flor.

Luego de las publicaciones de Zadeh, específicamente a mediados del año 1994, este gran matemático proporciona a la comunidad científica la primera definición de “Computación Blanda o Soft Computing”. La referencia a los conceptos que actualmente maneja solía hacerse de forma atómica, es decir, se hablaba de manera aislada de cada una de sus áreas componentes con indicación del empleo de metodologías difusas. Aunque la idea de establecer el área de la computación blanda se remonta al año 1990, Zadeh propuso la definición de computación blanda, estableciéndola en los siguientes términos: “Básicamente, la computación blanda no es un cuerpo homogéneo de conceptos y técnicas. Más bien es una mezcla de distintos métodos que de una forma u otra cooperan desde sus fundamentos. En este sentido, el principal objetivo de la computación blanda es aprovechar la tolerancia que conllevan la imprecisión y la incertidumbre, para conseguir manejabilidad, robustez y soluciones de bajo costo. Los principales ingredientes de la computación blanda son: la lógica difusa, la neurocomputación y el razonamiento probabilístico, incluyendo este último a los algoritmos genéticos, las redes de creencia, los sistemas caóticos y algunas partes de la teoría del aprendizaje. En esa asociación de lógica difusa, neurocomputación y razonamiento probabilístico, la lógica difusa se ocupa principalmente de la imprecisión y el razonamiento aproximado; la neurocomputación del aprendizaje, y el razonamiento probabilístico de la incertidumbre y la propagación de las creencias.”

Queda claro así como la computación blanda no está definida precisamente, sino que en una primera aproximación se define por extensión, por medio de distintos conceptos y técnicas que intentan superar las dificultades que surgen en los problemas reales, aquellos que se dan en un mundo que es impreciso, incierto y difícil de categorizar. Aunque ha habido varios intentos de ajustar más esta definición, no han sido muy fructíferos. Así, por ejemplo, a la vista de la dificultad de dar una nueva definición del campo de una manera exacta y consensuada, y de la mayor sencillez de hacerlo por medio de sus características, se propone la siguiente definición de trabajo, que vuelve a ser de tipo descriptivo: “Cualquier proceso de computación que expresamente incluya imprecisión en los cálculos en uno o mas niveles, y que permita cambiar o disminuir la granularidad del problema o suavizar los objetivos de optimización en cualquier etapa, se define como perteneciente al campo de la computación blanda”.

Otra forma de definir computación blanda es considerarla como antitesis de lo que podría denominarse “computación dura”, de manera que podría verse la computación blanda como un conjunto de técnicas y métodos que permitan tratar las situaciones practicas reales de la misma forma que suelen hacerlo los seres humanos, es decir, en base a inteligencia, sentido común, consideración de analogías, aproximaciones, etc. En este sentido la computación blanda es una familia de métodos de resolución de problemas cuyos primeros miembros serían el razonamiento aproximado y los métodos de aproximación funcional y de optimización, incluyendo los de búsqueda. En este sentido, la computación blanda queda situada como la base teórica del área de los sistemas inteligentes, y se hace patente que la diferencia entre el área de la inteligencia artificial clásica, y la de los sistemas inteligentes, es que la primera se apoya en la denominada computación dura, mientras que la segunda lo hace en la computación blanda.

La computación blanda difiere de la computación convencional en que es tolerante a la imprecisión, la incertidumbre y la verdad parcial, a fin de conseguir soluciones robustas y de bajo costo a diferentes problemas de la ciencia y la tecnología. La computación blanda incluye entre sus elementos constitutivos a la lógica difusa, las redes neuronales, los algoritmos genéticos, las redes de creencia, computación evolutiva, computación con acido desoxirribonucleico, la teoría del caos y algunas partes de la teoría del aprendizaje. Los elementos constitutivos de la computación blanda, lejos de ser competitivos entre sí, son colaborativos y complementarios, y en muchos casos un problema puede ser resuelto de mejor manera con una combinación ingeniosa de algunos de ellos; por ejemplo, al combinar redes neuronales con lógica difusa, se han creado los sistemas neurodifusos, que se aplican de manera exitosa en productos tan cotidianos como los aparatos de aire acondicionado, las máquinas lavadoras o las fotocopiadoras de ropa.

Un ejemplo en que la computación blanda ha logrado notables avances es el reconocimiento de la escritura manual. Se trata de un problema engorroso para la computación convencional, porque es difícil imaginar una descripción matemática precisa de la letra “a” que abarque a todas las “aes” que escriben y reconocen las personas. La computación blanda puede manejar categorías como “más o menos una a”. Se debe recordar que, en la lógica difusa, una cosa puede ser una “a” con un grado de verdad del setenta por ciento por ejemplo. El sistema de reconocimiento de escritura falla mucho con cada nuevo usuario, pero luego se adapta a las peculiaridades de sus trazos. Para esto sirven las redes neuronales con la ayuda de los algoritmos genéticos.

Guillermo Choque Aspiazu
http://www.eldiario.net/
Mayo 11 de 2009

No hay comentarios: