15 de febrero de 2017

Y, ¿por qué la lógica?

Ya discutimos la vez pasada la motivación para representar lo que sabemos de una forma que podamos acceder y reutilizar fácilmente. Y al final, cerré diciendo que se necesita un lenguaje formal y que no deje lugar a interpretaciones ambiguas; en pocas palabras, una lógica. Pero, ¿es eso cierto? ¿Necesitamos realmente ese tipo de formalismos? A final de cuentas, mucha gente dice no entender la lógica y, mucho como las matemáticas, tiene miedo a acercarse a ella. Además, por milenios hemos usado formas mucho menos estructuradas para transmitir lo que sabemos, y en la actualidad tenemos miles de millones de páginas (libros, enciclopedias, artículos, sin contar tantos elementos multimediales) escritas en lenguaje natural.
Las preguntas obvias en este caso son dos: ¿vale la pena intentar traducir todo eso a un lenguaje formal? y ¿es siquiera posible hacerlo? Voy a dejar de lado la segunda pregunta para el futuro (aunque, si son impacientes, la respuesta corta y fácil es "no") y tratar de dar una respuesta afirmativa a la primera.
La verdad es que las distintas formas que tenemos para compartir lo que sabemos surgieron por un motivo. Y todas tienen beneficios y desventajas.
Por ejemplo, los refranes son muy fáciles de aprender. Son frases cortas, generalmente con una rima o un ritmo claros, y los escuchamos desde chicos. También pueden ser muy útiles. Nos enseñan reglas de sociedad, atajos para trabajos simples, e incluso dan tips para sobrevivir en distintas situaciones. Pero, justo porque son tan simples y cortos, no se pueden usar para transmitir nociones más complejas. Además, a veces no es totalmente obvio qué quieren decir.
En el otro extremo encontramos Wikipedia, o incluso internet en conjunto. Sin limitaciones de espacio o estilo, es posible explicar con tanto detalle como se quiera cada idea, cada concepto, cada método. Pero es esa misma falta de límites lo que la hace difícil de explotar. Se puede encontrar tanto sobre un sólo tema que es casi imposible filtrar aquello que es relevante y útil de aquello que no lo es. Y siempre queda el riesgo de perder partes fundamentales. Todo esto sin tomar en cuenta la ambigüedad, por ejemplo, al usar la misma palabra en varios contextos distintos con otro significado.
Aquí es donde entra en campo la lógica. Como dije antes, cuando hablo de lógica simplemente me refiero a un lenguaje formal, en el que los términos que se usan están claramente especificados. Existen, en realidad, muchas lógicas (de lo que iremos hablando a lo largo de estos textos). Pero lo que tienen en común es que todos ellos dan un significado preciso a lo que describen. Obviamente, siendo tan rígidos se vuelven menos capaces de expresar ciertas cosas. Además, se necesita entrenamiento para escribir y entender estos lenguajes. Por el otro lado, como se basan en reglas precisas y bien definidas, son muy útiles para dejar que las máquinas se ocupen en interpretarlas. Así, si tenemos cantidades ingentes de información (como en internet), podemos dejar el trabajo pesado a un robot.
Una cosa muy importante, que se volverá más clara mientras continuemos, es que el hecho de que las lógicas sean precisas, no las vuelve triviales. En realidad, una de las ventajas que tienen es que no necesitan hacer todo explícito, sino que pueden dar sólo la información relevante y dejar que quien la interprete deduzca el resto. Nosotros hacemos eso todo el tiempo sin darnos cuenta: si nos dicen que Paganini era un violista, sabemos inmediatamente que era un músico y que tocaba el violín, porque sabemos el significado de "violinista" sin que se necesite que alguien nos diga que Paganini tiene todas esas propiedades. Hacer que una máquina sea capaz de hacer todas esas deducciones es toda otra historia.
Es claro que hay muchas preguntas por responder. Empezando por ¿qué lógica y por qué?, ¿cómo usarla prácticamente? y ¿cuáles son sus limitaciones? Este tipo de preguntas básicas nos van a guiar por las próximas entradas.