💻

Filosofía computacional

Link
Tags

Eduardo Marisca | 17 Nov 2015

 
Con el tiempo he llegado a la hipótesis de que, de haber sido una opción disponible para mí en su momento, la carrera ideal para mí habría sido Ciencias de la Computación. No es lo mismo que una Ingeniería Informática o de Sistemas, que están más enfocadas en el diseño e implementación de sistemas de software, sino una aproximación más abstracta a los problemas de la computación, sus fundamentos, y sus aplicaciones.
Pero con el tiempo también he aprendido que la computación es una herramienta que permite explorar todo tipo de problemas desde una óptica particular: desde el modelado de un sistema que funciona bajo una serie de supuestos, cuyas consecuencias pueden ser experimentadas en un entorno simulado. Poniéndolo bajo un ejemplo quizás demasiado simplista: un entorno computacional me permite utilizar una simulación de un entorno urbano, como el juego SimCity, para modelar y entender la complejidad de las relaciones entre los elementos de una ciudad. No es perfecto, ni pretende serlo, pero nos permite jugar e interactuar con variables de una manera que no es posible hacer directamente con una ciudad real.
Desde su primera versión, SimCity ha sido un simulador complejo de entornos urbanos.
Desde su primera versión, SimCity ha sido un simulador complejo de entornos urbanos.
Hoy pensaba si no existía también una aproximación parecida que se pudiera hacer desde la filosofía — a veces, no sé bien por qué, todavía se me ocurre regresar a pensar en problemas filosóficos. Y se me ocurrieron una serie de ejemplos en los cuales uno podría empezar a jugar con diferentes herramientas para explorar, interactivamente, diferentes aspectos de problemas filosóficos. No se trata ni de plantearlos por completo ni de agotarlos, sino solo de tomar herramientas que nos permiten elevar provocaciones y hacer preguntas.
Podemos pensar por ejemplo en un problema ontológico. ¿Qué cosas existen, qué cosas son esenciales, qué cosas son accidentales? Al formular preguntas ontológicas estamos intentando diseñar un modelo fundamental de la realidad y de las entidades que la componen (gruesamente hablando — estoy seguro que en esto se podría hablar mucho más finamente). Pero algo parecido es lo que se hace en la programación orientada a objetos (OOP, object-oriented programming). La base del OOP es que en el modelado de un sistema, hay objetos que se repiten constantemente, y definirlos una y otra vez es tedioso e ineficiente. De modo que el OOP introduce la posibilidad de crear clases, esencialmente categorías tipificadas con un conjunto común de atributos y propiedades. En otras palabras (más bien, en Python):
class Human: def __init__(self): self.mortal = True Socrates = Human() return Socrates.mortal
Pero podemos pensar también en problemas de la fenomenología, o respecto a la manera en la que nos vinculamos y somos afectados por el mundo sensible y la manera como interpretamos cognitivamente ese mundo. Podemos utilizar diferentes herramientas para experimentar con esa relación sensible: por ejemplo, podemos utilizar diferentes tipos de sensores y microcontroladores, como el Arduino, para modelar formas alternativas de percepción, o para procesar inputs sensoriales de maneras atípicas u originales. Cuando Ian Bogost formula la pregunta por la fenomenología alienígena, o “cómo es ser una cosa”, podemos ensayar respuestas hipotéticas utilizando diferentes herramientas. Por ejemplo, podemos formular preguntas sobre cómo experimenta la realidad un perro:
Video preview
Los problemas fundamentales de la ciencia de la computación han estado desde su origen ligados a problemas de lógica y de filosofía de la mente, especialmente en tanto han ido de la mano de preguntas respecto a la inteligencia artificial y la posibilidad de crear autómatas que repliquen la capacidad cognitiva humana. Éste es otro problema que puede explorarse experimentalmente con herramientas computacionales — básicamente, recorriendo el proceso de crear un autómata o una forma de inteligencia artificial, por precaria que sea, y luego interactuar con ella. Esto es posible desde utilizando herramientas simples para crear chatbots, hasta sistemas mucho más complejos de machine learning con herramientas como TensorFlow, una librería de machine learning que acaba de ser liberada públicamente por Google y que permite atacar problemas más complejos como el reconocimiento de imágenes o de texto. Con estos recursos podemos intentar recrear artificialmente funciones cognitivas que nos parecen elementales: por ejemplo, el hecho de que podamos reconocer e interpretar caracteres nos resulta completamente natural, pero la complejidad de esta operación cognitiva se vuelve evidente cuando intentamos reproducirla en un autómata artificial.
Y podemos también pensar en cosas más expresivas y estéticas: por ejemplo, en las implicaciones que trae la posibilidad de crear arte digitalmente, o incluso, arte generado completamente de manera computacional. Lenguajes de programación como Processing tienen como uno de sus usos fundamentales la producción de computación gráfica, de formas, colores y patrones que pueden programarse manualmente, así como pueden automatizarse. Con los algoritmos correctos, un programa puede generar productos visuales de manera completamente autónoma, y generar resultados que resulten estéticamente agradables. Así como algoritmos y computadoras pueden generar productos visuales, pueden también generar productos creativos de todo tipo de manera algorítmica — generando preguntas respecto al valor de la autoría, la naturaleza de la creatividad y la manera como interpretamos y entendemos el arte.
No quiero decir con esto que toda la filosofía deba ser o sea computacional. Pero sí quiero decir que existen herramientas disponibles para explorar problemas filosóficos y conceptuales de manera computacional y de manera interactiva. Muchos de los experimentos que antes eran posibles solo hipotéticamente hoy se pueden desplegar en entornos simulados que nos permiten examinar no solo los resultados, sino también sus procesos de producción. Y, de nuevo, no se trata de que esto agote los problemas (porque, por lo demás, los problemas filosóficos nunca se agotan), sino tan solo de generar nuevas preguntas y provocaciones para seguir abriendo estos problemas de maneras interesantes y generativas.