Mostrando entradas con la etiqueta red neuronal. Mostrar todas las entradas
Mostrando entradas con la etiqueta red neuronal. Mostrar todas las entradas

viernes, 28 de noviembre de 2014

¿Puede la Física moderna hacer evolucionar nuestro cerebro?

En una entrevista realizada a Leonard Susskind, destacado investigador en Física teórica en la Universidad de Stanford, para Investigación y Ciencia (septiembre 2011) Susskind menciona que quizá la realidad rebasa los límites de nuestra capacidad de comprensión. Por otro lado, nuestra capacidad cognitiva reside en el cerebro, y recientes investigaciones en el campo de la neurología parecen confirmar que esta capacidad puede desarrollarse, adaptándose al ambiente si es necesario. Entonces, ¿el intentar comprender la realidad cuántica, puede modificar nuestra capacidad cognitiva? O bien, ¿hemos llegado a un punto en que sólo podemos enunciar leyes matemáticas, pero debemos renunciar a entender realmente qué significan?

Redes neuronales
Los seres humanos y otros animales procesan la  información con redes neuronales. Estas se forman a partir de miles de millones de neuronas (células nerviosas) que intercambian breves pulsos eléctricos llamados potenciales de acción. Algoritmos informáticos que imitan estas estructuras biológicas se conocen formalmente como redes neuronales artificiales para distinguirlos de las biológicas. Sin embargo, la mayoría de los científicos e ingenieros no son tan formales y el uso de la red neuronal como término que puede incluir tanto los sistemas biológicos y no biológicos. 

La investigación de redes neuronales es motivada por dos deseos: conseguir una mejor comprensión del cerebro humano, y desarrollar equipos que pueden hacer frente a problemas abstractos. Por ejemplo, los ordenadores convencionales tienen problemas para entender el habla y el reconocimiento de rostros de la gente. En comparación, los humanos hacen muy bien en estas tareas.

Los sistemas nerviosos son complejas redes capaces de generar e integrar la información de múltiples fuentes externas y internas en tiempo real. Todos los estudios confirman que las áreas cerebrales corticales en el cerebro de mamíferos no están ni completamente conectadas unos con otros ni vinculadas al azar, en su lugar, sus inter-conexiones muestran una organización específica e intrincada. Las redes cerebrales contienen estructuras que se forman por la evolución, por desarrollo ontogénico, que dependen de la experiencia,  refinándose, o bien degradándose como resultado de lesiones del cerebro o enfermedad.

¿Qué papel puede la experiencia  en el crecimiento de la red?. Aunque el mismo patrón de conexiones parece existir en diferentes individuos de una misma especie, la densidad de vías específicas de fibra cortical puede variar sustancialmente entre los cerebros individuales: en reciente artículo de investigación en neurociencia [1] se sugieren vínculos entre la organización de la red  neuronal y la cognición.




Bibliografia
  1. Olaf Sporns1, Dante R. Chialvo2, Marcus Kaiser3 and Claus C. Hilgetag: Organization, development and function of complex brain networks. TRENDS in Cognitive Sciences Vol.8 No.9 September 2004. 
  2. Nuestra imagen de los agujeros negros, en Cartas de los lectores, Investigación y Ciencia. Enero 2012.

martes, 11 de septiembre de 2012

¿Podemos controlar nuestra propia mente?

Este post es la continuación natural de uno anterior, ¿Puede la mente entenderse a sí misma?, pero aportando otro punto de vista. Hablamos de reglas, de reglas sobre reglas (o meta-reglas), de sus aplicaciones en juegos, en Inteligencia Artificial, y en la comprensión de la mente y de la idea del "yo".


Un juego con reglas cambiantes: las meta-reglas.
Tablero de parchís (Wikipedia)
Pensemos en un juego de mesa simple, por ejemplo el parchís. Hay unas piezas que movemos en una ruta trazada por el tablero, avanzando el número de casillas indicado por un dado que lanzamos por turnos, siempre en una dirección determinada. Además hay una serie de reglas adicionales que establecen restricciones a los movimientos de cada jugador y permiten establecer el ganador de la partida. Estas reglas son fijas e inamovibles.



Supongamos ahora que permitimos modificar las reglas mientras jugamos:  al completar cada turno los jugadores pueden decidir cambiar alguna de las reglas, por ejemplo lanzaran dos dados en vez de uno solo y avanzaran las casillas indicadas por la suma de las puntuaciones, o se permitirá retroceder el camino realizado. Entonces en cada turno podremos tener un juego distinto, basado en el parchís original. El conjunto de todos esos juegos formará un  juego del parchís dinámico, que sera único en el sentido de que si otro día empezamos otra partida, es muy probable que sus reglas sean diferentes.

A poco que pensemos nos daremos cuenta de que, si damos libertad total de cambio de reglas, fácilmente llegamos a un juego caótico: es posible que no termine nunca, o bien que no quede claro quien es el ganador, pues conforme cambiamos las reglas también cambian los objetivos y estrategias a corto plazo de los jugadores, y bien pudiera ser que se perdiera el objetivo a largo plazo: ganar la partida. Por esta razón seria necesario establecer unas limitaciones a los cambios de las reglas que garantizaran el no degenerar en el caos. Es decir, necesitamos unas reglas sobre las reglas: es lo que se denomina unas meta-reglas. Por ejemplo, una meta-regla puede establecer que en cada juego del parchís dinámico sólo podrá cambiarse una de las reglas.

Podemos ir más lejos y decidir que la meta-regla puede también cambiarse; así, estableceremos que en cada juego del parchís dinámico podrán cambiarse n de las reglas, siendo n un número comprendido entre 0 i N (el número total de reglas del parchís) que decidiremos en cada partida. Tenemos por tanto una regla sobre la meta-regla: una "meta-meta-regla". 

Evidentemente podríamos seguir añadiendo reglas sobre reglas, creando una jerarquía de reglas y "meta-...-meta-reglas". Cada nivel de reglas establece cómo pueden modificarse las reglas del nivel inferior, y puede a su vez ser modificado por la reglas del nivel superior. El punto importante ahora es: siempre existirá un nivel superior de meta-reglas fijas que no puede ser modificado, controlando toda la jerarquía de reglas, que es el que en última instancia evita que el juego degenere en caótico. Esta última afirmación, la necesidad de una regla fija de orden superior, está lejos de ser evidente, puede intuirse, pero su demostración es compleja, y está relacionada con los famosos teoremas de Gödel que en este mismo blog he mencionado en algunos posts anteriores; aquí no entraremos en tales sutilezas matemáticas. 

Meta-reglas en Inteligencia Artificial (IA)
Las jerarquías de meta-reglas tienen gran importancia en IA pues permiten diseñar sistemas con reglas flexibles, un atributo necesario para que el sistema sea adaptable y pueda aprender. Así, por ejemplo, se pueden diseñar programas de ordenador en el lenguaje LISP que son capaces de modificarse a sí mismos, ejecutando acciones que se adaptan a los datos. Antes decíamos que un aspecto importante de las jerarquías de meta-reglas es la existencia de unas reglas fijas de nivel superior para evitar comportamientos caóticos; en el caso de los programas LISP, en última instancia son ejecutados por otro programa, el intérprete LISP, que opera siempre con reglas fijas.

Además, en el caso de la IA tenemos otro nivel fijo: el propio "hardware" del ordenador, sus circuitos. Realmente las instrucciones se ejecutan en los circuitos, que también tienen un diseño fijo.

Enredando la jerarquía: entrelazamiento de reglas.
Volvamos al parchís dinámico: hemos permitido modificar las reglas, pero los elementos físicos, el tablero, los dados y las fichas, son fijos. De alguna forma, podemos relacionar estos elementos fijos con los circuitos del ordenador, y las reglas con los programas de ordenador. Pero...¡espera un momento! ¿qué nos impide cambiar también los elementos físicos? Podemos incluir nuevas reglas que modifiquen el número de fichas, sus colores, el número de casillas del tablero, etc. Así, habrán meta-reglas para cambiar las reglas del juego, y meta-reglas para cambiar sus elementos físicos. Evidentemente estas meta-reglas físicas, por así llamarlas, también deberán tener sus limitaciones para evitar el caer en juegos caóticos.

Pero ahora podemos tener un nuevo problema: al cambiar arbitrariamente los elementos físicos podría darse el caso de que fueran incompatibles con las reglas, creando situaciones irresolubles. Este es un problema distinto al del juego caótico: no se trata ahora de que el juego no pueda ser ganado por nadie, sino de algo peor: la configuración del tablero, las fichas y los dados podría ser incompatibles con las reglas del juego, y simplemente no podríamos jugar. Por ejemplo, establecer un "dado" con sólo cuatro puntuaciones posibles, {1,2,3,4}, sería incompatible con la regla "sacar un 5 en el dado para mover por primera vez poder una ficha que aún no se ha usado".

En un juego tal como éste, hay dos jerarquías de reglas, pero no son independientes, sino que se entrelazan unas con otras, de forma que se pueden crear situaciones irresolubles. Para evitarlo, necesitamos algún mecanismo de control que evite reglas incompatibles. De nuevo, podemos pensar en un conjunto de meta-reglas que está por encima de las dos jerarquías de reglas, en un nuevo nivel superior.

Entrelazamiento de la mente y el cerebro
Demos un enorme salto de complejidad hasta nuestro cerebro (elemento físico) y nuestra mente (reglas lógicas). Se sabe des de hace ya algún tiempo que la intrincadísima red de neuronas que constituye el sustrato físico de la mente y los propios pensamientos constituyen dos sistemas entrelazados, de forma que uno influye en el otro. Cuando aprendemos, se forman nuevas conexiones entre las neuronas. Estas conexiones facilitan la aparición de nuevas ideas, que a su vez pueden formar nuevas conexiones...

Entonces, tal como hemos visto en los ejemplos anteriores, ¿pueden crearse conflictos entre circuitos neuronales (reglas físicas) y conceptos mentales (reglas lógicas)? Aquí entramos en terreno desconocido, aunque yo me atrevo a aventurar que sí se producen reglas contradictorias, y que una posible prueba de ello la tenemos en la complejidad del comportamiento humano, en las múltiples patologías del comportamiento en las que podemos caer. Para fundamentar mi tesis, me centraré en una de las facetas superiores de la mente humana: la idea del "yo".

¿Quienes somos en realidad?
Cuando intentamos averiguar quienes somos tenemos que enfrentarnos a una enorme, compleja, y contradictoria avalancha de información confusa, tanto procedente del exterior como de nuestra propia mente. Tenemos que lidiar simultáneamente con la necesidad interior de autoestima y con el continuo flujo de datos externos que a veces nos reafirman, pero otras veces hacen todo lo contrario. La misma personalidad es una red de ideas, instalada en cierta área del cerebro, constantemente afectada por la información que fluye, magnificando ciertas áreas, negando otras, creando contradicciones, y intentando reconciliar lo que queremos ser, lo que imaginamos ser, y lo que somos en realidad. Las contradicciones que se generan frecuentemente conducen a diversas patologías, debido a incoherencias y a reglas incompatibles. 


Limpiando la mente de incoherencias
Siguiendo nuestra línea de razonamiento, necesitamos alguna meta-regla de nivel superior que impida las incoherencias y las situaciones irresolubles, entendiendo por nivel superior, por encima y fuera de la estructura neuronal donde está instalada la personalidad, y también fuera de la estructura mental que forma la personalidad. Veamos dos categorías de meta-reglas: la científica y la, digamos, filosófica.

Cuando acudimos al psicólogo de alguna manera la mente del psicólogo juega el papel de reglas externas lógicas de nivel superior, que intentan poner orden en el caos generado en la mente del paciente. Es la forma que la ciencia tiene de imponer meta-reglas de tipo lógico (ideas) para deshacer las incoherencias mentales. La otra forma científica de atacar el problema es la del psiquiatra, que usando medicamentos, altera ciertos aspectos de la estructura física, alterando así los pensamientos asociados. 

En cuanto a los medios no científicos, citaré la técnica de la meditación. Según los iniciados en ella, es posible conseguir que la conciencia trascienda la mente, de forma que podemos elevarnos, por así decirlo, por encima de nuestros pensamientos, y así poner orden en ellos, desactivando los que son potencialmente dañinos, y vigorizando los positivos. Debido a que la conciencia en sí todavía no es comprendida por la ciencia, este método ha de clasificarse como no-científico por el momento. No obstante, está siendo estudiado por neurólogos el efecto de la meditación en el cerebro, y efectivamente se ha constatado que existe un efecto observable. Según el razonamiento de este post, deberíamos asignar a la conciencia un rango superior al de la mente ordinaria, pues es capaz de coordinarla. Más atrevido sería aplicar a rajatabla nuestro razonamiento y  darle a la conciencia un rango superior al propio cerebro, situándola por encima de los dos sistemas mente-cerebro. Con ello entraríamos en un terreno demasiado esotérico para este blog, aunque no puedo descartarlo, simplemente no toca discutirlo aquí.

Bibliografia
  • Douglas R. Hofstadter: Gödel, Escher, Bach



lunes, 2 de abril de 2012

¿Puede la mente entenderse a sí misma?

Hay tres escritores A, B y C. Sucede que A sólo existe en una novela de B. Del mismo modo, B sólo existe en una novela de C. Curiosamente, C también existe solamente en una novela... de A, por supuesto. La pregunta es: ¿realmente es posibles este triangulo de escritores?
Douglas R. Hofstadter: Gödel, Escher, Bach

Para conocer la posibilidad real del triángulo que propone Hofstadter basta con salir de él: los tres escritores A, B y C son personajes de otra novela escrita por D, un escritor real. Así, A, B y C pueden escribir uno sobre el otro pero no mencionar para nada a D, que está fuera de sus "planos de existencia". Nada impide que D incluya auto-referencias a sí mismo en alguna de las obras donde aparecen A, B y C, pero está claro que la naturaleza de D será diferente de las de A, B y C.

Sistemas auto-referenciables
Un programa escrito en lenguaje LISP, utilizado en Inteligencia Artificial (IA), es capaz de modificarse a sí mismo, o sea que algunas instrucciones modifican a otras instrucciones, de forma que el "comportamiento" del programa cambia con el tiempo. Esto es posible porque LISP, a diferencia de otros lenguajes de programación, no distingue entre estructuras de datos y algoritmos, de forma que los algoritmos también son datos, y pueden modificarse. Pero hay algo que no cambia, y es el propio programa que interpreta el lenguaje, con reglas prefijadas y constantes. Así, en un nivel algorítmico,  hay auto-referencia del programa sobre sí mismo, y hay la posibilidad de auto-modificación, pero saltando fuera de ese nivel, por debajo (o por encima quizá) está el intérprete del lenguaje, que no cambia.

¿Es posible que nuestra mente funcione de forma similar? Nuestros pensamientos operan en su propio espacio mental, interactuando entre sí, creando nuevos pensamientos y modificando a otros, tal como hace un programa LISP. Pero aquí también hay otro nivel, que es el neuronal, donde se sustenta todo el proceso mental. Además, el intérprete LISP tiene reglas fijas, pero el cerebro tiene conexiones neuronales cambiantes, que establece en función del aprendizaje. Tenemos pues variabilidad tanto a nivel físico del cerebro como a nivel mental. ¿Puede ser esta variabilidad una de las causas por las que es tan difícil entender nuestra mente?

¿Se puede entender un sistema auto-referenciable?
Tal como ilustra el ejemplo del triángulo de escritores, puede ser difícil entender un sistema suficientemente complejo que se referencia  a sí mismo a menos que salgamos de él y lo observemos desde fuera, desde otro nivel.  Pudiera ser incluso imposible entender "desde dentro" un sistema auto-referenciado, esto parece que indica el famoso teorema de Gödel (ver por ejemplo la entrada sobre Gödel en el blog La bella teoria) en el ámbito de los sistemas formales: hay afirmaciones que desde dentro del sistema formal no puede saberse si son ciertas o falsas, mientras que desde fuera pueden ser incluso evidentes. Y no es el único resultado matemático en este sentido: podemos citar el teorema de la indecibilidad de Church, el teorema de la detención de las máquinas de Turing o el teorema de la verdad de Tarski.

¿Puede la mente entenderse a sí misma?
¿Puede entonces la mente entenderse a sí misma? La mente es un sistema complejo auto-referenciado, así que quizá sea imposible entenderla desde la propia mente. Por ejemplo está el caso paradigmático de la conciencia, que ha resistido hasta hoy todos los intentos de entrar en el conocimiento de su funcionamiento. Es posible que la conciencia sea un ejemplo de proceso mental complejo auto-referenciado, y por tanto imposible de entender, a menos que ataquemos el problema desde otro nivel. ¿Cuál?

Hay un proverbio Zen que dice "cuando un hombre ordinario alcanza el conocimiento, es un sabio; cuando un sabio alcanza el entendimiento, es un hombre ordinario". En el Zen el entendimiento de la realidad es una contradicción, ya que se la considera incognoscible. Igualmente lo aplica a la mente: "yo no puedo comprenderme a mí mismo". 

 

sábado, 31 de diciembre de 2011

Aleatoriedad, errores e inteligencia artificial


Aleatoriedad
Se dice que un sistema presenta aleatoriedad cuando sus estados no pueden predecirse de forma exacta, sino como mucho usando probabilidades. En la Física clásica se suponía que los sistemas aleatorios lo eran por desconocimiento de su funcionamiento exacto, debido a imposibilidades prácticas o a que el sistema era demasiado complejo. 

Así, el típico experimento aleatorio de lanzar una moneda realmente es determinista, pues dados sus posición y velocidad inicial exactas, así como sus propiedades físicas (masa, geometría, momento de inercia, ...) y aplicando las leyes de la mecánica ha de ser posible determinar su estado final. 
Llama con forma caótica
Esta visión determinista se derrumbó con la Mecánica Cuántica la cual introduce un factor de aleatoriedad insalvable propio de la Naturaleza, aunque sólo en el dominio de lo extremadamente pequeño.

Por otra parte en los denominados sistemas caóticos encontramos que a pesar de ser deterministas, son tan sensibles a cualquier variación de su estado inicial que en la práctica se comportan como si fueran aleatorios. Tal es el caso del lanzamiento de la moneda, pero también de ejemplos más interesantes  como el clima,  la formación de cristales, o la forma de las llamas de un fuego.


El problema de la generación de números aleatorios
La generación de números aleatorios por ordenador es de gran importancia práctica, pues nos permite simular sucesos aleatorios. Pero resulta que no es fácil generarlos, ya que por definición un programa de ordenador es una secuencia determinada de operaciones, que se ejecutan una detrás de otra, sin posibilidad de introducir aleatoriedad, en principio. De hecho, la mayoría de programas de generación de números aleatorios son de hecho "pseudoaleatorios": usan algoritmos matemáticos que, dado un valor inicial (conocido por "semilla")  generan una secuencia definida de números x1, x2, x3, ..., de forma que para cada valor de la semilla se genera una lista distinta.

Una forma de que un algoritmo genere aleatoriedad es proporcionándole datos aleatorios desde el exterior; el propio hardware del ordenador puede proporcionarla a través de procesos impredecibles, como los movimientos de la cabeza lectora del disco duro o la tasa de actividad de la CPU.  La generación de aleatoriedad por hardware suele aprovechar fenómenos físicos altamente impredecibles, como el ruido eléctrico.

Movimiento browniano: trayectoria caótica seguida por una partícula
muy pequeña en un fluido; la dirección y la velocidad cambian repentinamente
conforme van rebotando en ella las moléculas del fluido, sin ningún patrón predecible.
En el caso de algunos algoritmos de generación de claves para criptografía como el GPG, se pide la colaboración del usuario para generar aleatoriedad:  mientras se genera la clave ha de realizar cuantas más acciones mejor, como mover el ratón rápidamente o re-dimensionar ventanas de aplicaciones; a este proceso se le llama generación de entropía.
Observemos que estos métodos utilizan de hecho sistemas físicos caóticos para generar aleatoriedad que no tienen porque ser realmente aleatorios, sólo demasiado complejos para ser predecibles. Actualmente empiezan a aparecer sistemas que recurren a los procesos cuánticos para generar auténtica aleatoriedad, como es el caso de la empresa suiza ID Quantique que vende sistemas de generación de claves aleatorias basadas en las propiedades cuánticas del fotón.

Errores aleatorios en las mediciones
Cuando medimos una magnitud física, es inevitable que el instrumento de medida afecte a la cantidad que deseamos medir; además, la medida estará afectada en algún grado por el denominado error experimental. Si el instrumento está bien calibrado y somos cuidadosos en el procedimiento de medida, entonces los errores serán totalmente aleatorios, y además sus probabilidades estarán determinadas por la distribución normal de probabilidad


Aleatoriedad y errores en la mente
Nuestra mente es una maravilla capaz de enviar un robot explorador a Marte o de enunciar la teoría de las cuerdas en un espacio de 10 dimensiones. Sin embargo, también destaca su elevada irracionalidad en ciertas ocasiones, así como su capacidad de cometer errores de todo tipo, disfunciones y aberraciones del comportamiento. A veces, la mente parece funcionar distorsionada como si algún "demonio" se hubiera infiltrado  en su interior. Esta es una característica distintiva de la mente humana en relación con la inteligencia artificial (IA), que no es tan dada a comportamientos erráticos.
Podemos preguntarnos, ¿estas disfunciones son errores aleatorios del cerebro? En esta pregunta hay dos tesis: (1) ¿el cerebro tiene errores de funcionamiento que se traducen en disfunciones mentales?, y (2) ¿estos errores no siguen ningún patrón predecible, se producen sin posibilidad de predicción?

Test de Turing
Test de Turing: ¿quien responde es
humano o máquina?
Sea como sea, los programas no tienen este tipo de errores pues son deterministas. Alan Turing, precursor de la informática y la IA, propuso en 1950 un test, el test de Turing, para discernir entre una mente humana y una artificial. Consiste en realizar el mismo conjunto de preguntas a un humano y a una máquina; de las respuestas que obtenemos se nos oculta quien las ha hecho, si hombre o máquina. Entonces si somos incapaces de deducir simplemente  analizando las respuestas si provienen de uno o del otro, diremos que la máquina ha superado el test, y muestra una inteligencia similar la la humana. El test es tan potente que hoy en día ni siquiera se utiliza debido a que se considera que ningún programa podría superarla. 

Lo que más se le acerca actualmente son los denominados chatterbots, que simulan una conversación humana pero limitada a un contexto determinado, como por ejemplo los asistentes virtuales de compras. A continuación tenemos un dialogo entre un humano (H) y el asistente virtual de RENFE Irene (I)

H: buenas tardes
I: Aquí me tienes, ¡buenas tardes!
   ¿Me dices cómo te gustaría que te llamara?
H: Pepe   
I: Fenomenal. A partir de ahora te llamaré Pepe.
H: ¿sales esta noche?
I: Me paso en esta ventana todas las horas del año... ¡Ojalá pudiera salir de aquí! Por cierto, Pepe, ¿en qué ciudad estás tú?
H: En Bombay
I: Preguntaba por una ciudad, da igual.
H: Quiero saber los horarios de cercanías
I: Tienes los horarios y recorridos de Cercanías. Los tienes en este enlace.

Un bot de tipo general que funciona aceptablemente es Cleverbot.
La habilidad de conversación del chatterbot suele limitarse a su área de conocimiento. En el caso de un programa que simulase ser un matemático, el propio Turing advirtió que el programa para superar el test debía ralentizar su respuesta e introducir algún error de vez en cuando para parecer un ser humano.  La introducción de errores en la respuesta podría ser aleatoria o bien producirse después de una larga serie de preguntas, para simular cansancio. Como ya hemos visto, este error intencionado aleatorio puede vincularse a una fuente de aleatoriedad generada por el mismo hardware de la máquina.

Aprender de los errores
Es sabido que los errores son una fuente de aprendizaje, tanto es así que una de las formas de aprender algo nuevo es por la técnica del ensayo-error, en la cual probamos algo nuevo, evaluamos el resultado, y corregimos los errores, para volver a ensayar de nuevo. Así pues, es importante que los ordenadores se equivoquen y sepan aprender de sus errores para simular el comportamiento de la mente. Los programas basados en redes neuronales simulan una red  reducida de neuronas; principalmente se utilizan para aprender a reconocer patrones: se les proporcionan unos datos de entrada con los cuales "aprenden", para después ser capaces de reconocer patrones similares. Este aprendizaje se basa en el ajuste de parámetros internos de la red usando el método ensayo-error. Por ejemplo las redes neuronales se pueden usar para leer los códigos de barra a pesar de haber manchas, arrugas o de una impresión de baja calidad.




lunes, 5 de diciembre de 2011

Decisiones inconscientes y redes complejas

En el programa Redes de Eduard Punset del 4/12/11, titulado "Sabemos que no sabemos lo que decidimos", se habló de la gran proporción de decisiones  (nada menos que un 90%) que tomamos sin estar conscientes de los detalles que nos conducen a tomarlas, centrándose especialmente en el terreno de la Economía, ya que el invitado, Aldo Rustichini, es economista, bien, más precisamente es neuroeconomista: la neuroeconomía intenta relacionar nuestro conocimiento del cerebro con la toma de decisiones económicas. La verdad es que me interesó el tema de las decisiones inconscientes.

Además, el mismo día en las noticias me enteré de que unos investigadores de la Universidad Rovira i Virgili de Tarragona, Roger Guimerà yMarta Sales-Pardo, han programado un algoritmo que permite predecir la decisión de un juez del tribunal supremo d'EEUU sabiendo la decisión tomada por sus colegas, con una fiabilidad del 83%. Se puede acceder al artículo original libremente. Informándome un poco me pareció ver una relación entre este método y las decisiones inconscientes, y así se me ocurrió esta entrada del blog.

Modelos de redes. Redes complejas.
Grafo de una red: nodos, arcos y flujos
En este artículo, una red es un conjunto de elementos, llamados nodos, interconectados entre sí por arcos. La representación gráfica de una red se llama grafo. Las conexiones entre nodos pueden actuar como medio de transporte entre los nodos; sería el caso, por ejemplo, de una red de distribución eléctrica. En la figura se presenta el grafo de una red con 6 nodos y algunas conexiones entre nodos; los números que aparecen en las conexiones el flujo actual y el flujo máximo (o capacidad) del arco.


Las redes se utilizan para modelar problemas reales; una de sus aplicaciones consiste en encontrar un flujo entre los nodos que optimize una cierta función: es el campo de la optimización de flujos en redes. La función puede ser el flujo total que circula por la red. En los casos reales siempre se encuentran restricciones que hay que tener en cuenta, como los costes de transmisión o las capacidades máximas de los arcos.

Resulta sorprendente la cantidad de problemas que pueden modelarse usando redes: transporte de mercancías, flujos eléctricos, de fluidos, de datos, asignación de tareas en un proyecto, ... Por este motivo se ha desarrollado una teoría de grafos que permite clasificar las diferentes redes y conocer sus propiedades. Entre estas propiedades se encuentra el grado de un nodo (número de conexiones de ese nodo) y la distribución de grado de la red (distribución de probabilidad de la variable grado de los nodos).
Cuando el grado de la red es muy elevado (hay muchas conexiones en cada nodo) calificamos la red como red compleja. En la siguiente figura vemos un red compleja, con algunos nodos de grado elevado.
Comunidades en una red compleja

Ejemplos de casos reales en los que se encuentran redes complejas son las redes sociales, la estructura de proteínas, el genoma, los ecosistemas y las redes de ordenadores. El estudio de redes complejas es un campo emergente al que se dedica un número creciente de investigadores.

Detección de comunidades en redes
Frecuentemente en las aplicaciones de las redes complejas aparece una nueva propiedad: las comunidades,  agrupaciones  de nodos que estan fuertemente relacionados entre sí pero débilmente con el resto de la red. En la figura anterior se distinguen diversas comunidades coloreándolas. En el caso de las redes sociales, las comunidades pueden ser grupos de usuarios con aficiones y/o opiniones comunes.  No sólo se considera el número de conexiones, sinó también su importancia; por ejemplo en una red de comunicaciones si tenemos algunos nodos con flujos importantes de datos entre ellos podríamos considerarlos como pertenecientes a una comunidad.

Dada una red compleja, la detección de comunidades que no estaban explicitadas tiene gran importancia práctica: en el caso de las redes sociales, se pueden ofrecer servicios específicos a comunidades dependiendo de sus intereses comunes; en un ecosistema una comunidad tendrá un elevado grado de dependéncia entre sus miembros, de forma que cualquier cambio brusco en la población de uno de sus individuos afectará especialmente a los demás miembros de la comunidad; de forma similar, en un genoma los genes incluidos en una comunidad probablemente tienen funciones comunes y son altamente dependientes entre sí (comunidades de interacción genética).

En la actualidad se investiga activamente en el desarrollo de algoritmos eficientes de detección de comunidades en grandes redes complejas. A pesar de que en una primera impresión pueda parecer al no experto en el tema que el problema de la detección sea "fácil" (¿quizá baste con observar el grafo?) en realidad es un problema muy difícil computacionalmente hablando.

"Cortes" en una red compleja
Matemáticamente una red se expresa usando matrices que describen las conexiones entre nodos y los flujos circulantes por los arcos, como por ejemplo las matrices de incidéncia arco-nodo; para una red de n nodos y m arcos necesitamos una matriz de n·m elementos para representar las conexiones. En las redes complejas reales frecuentemente tenemos miles y decenas de miles de nodos, con un elevado número de arcos entre ellos, resultando matrices de millones de elementos. Si un algoritmo simplemente va visitando cada nodo y comprobando las conexiones con sus vecinos para establecer posibles comunidades, se encontrará que el número de combinaciones posibles es enorme; de hecho se considera que el problema de detección de comunidades en redes por complejidad computacional pertenece a la categoría denominada NP-Hard. Debido a esto, no se puede resolver el problema de forma directa, sinó con métodos indirectos que dan soluciones aproximadas. De ahí que existan numerosas alternativas algorítmicas. Uno de los métodos realiza "cortes" imaginarios en la red y analiza los arcos y flujos que atraviesan los cortes para establecer posibles comunidades (figura anexa).


Toma de decisiones y flujos de información en comunidades
Ahora que ya tenemos una base de conceptos de redes complejas y comunidades, podemos volver al trabajo de los investigadores de la Universidad de Tarragona sobre decisiones de los jueces del Supremo. Tal como ellos mismos explican en su artículo: "...we use models and methods that have been developed to uncover hidden associations between actors in complex social networks...". Anteriormente se habían hecho intentos de diseño de algoritmos capaces de "suplantar" a un juez, de forma que fuera capaz de dictar la misma senténcia, con escaso éxito. Incluso los expertos (humanos) sólo han demostrado acertar en sus predicciones respecto a los fallos judiciales en aproximadamente un 30% de casos. En contraste, el algoritmos de redes complejas ha superado el 80% de aciertos en una muestra de 150 casos, con lo cual han podido afirmar que:

"We find that U.S. Supreme Court justice votes are more predictable than one would expect from an ideal court composed of perfectly independent justices."

Este resultado puede tener implicaciones en la comprensión y predicción de otro tipo de decisiones, como las políticas y en general en la teoría de toma de decisiones.

En otro interesante estudio de la Universidad de Zaragoza, se emplean las redes complejas para averigüar la existéncia de comunidades en los participantes del movimiento del 15-M, conocido también por "los indignados". Efectivamente se detectaron tales comunidades, y ello permitió establecer diversas propiedades importantes de la red de contactos de los "indignados", como por ejemplo la existencia de unos pocos usuarios relevantes que son los más eficientes para recibir y difundir la información a toda la red.

Redes funcionales neuronales y toma de decisiones
Cuando se mide la dinámica de zonas del cerebro durante una actividad cognitiva mediante resonancia magnética o electroencefalograma, se encuentran relaciones y dependencias entre las  zonas analizadas, oteniendo una red funcional (relativa a la actividad cognitiva estudiada) neuronal, que es una red compleja por su elevado número de conexiones. La detección de comunidades neuronales en esta red posibilitaría la identificación de àreas especializadas en determinadas sub-funciones.

Parece ser que nuestro cerebro trabaja en gran medida de este modo: estableciendo redes complejas para las distintas funciones cognitivas, entre las cuales puede estar la toma de decisiones. Entonces, y esta es una tesis mía que enuncio en este blog sin más pretensiones que las puramente especulativas, podríamos tener redes complejas asociadas a las decisiones que tomamos, de forma que en buena parte esas decisiones serán inconscientes pues "estan programadas" en nuestro cerebro. Con lo cual se justificaría la afirmación del neuroeconomista Aldo Rustichini comentada en la introducción. A mi modo de ver, si esto fuera así, implicaría una pérdida del libre albedrío que nos parece que disfrutamos, pues en buena parte (recordemos, ¡un 90% de las decisiones!) estan programadas inconscientemente. Al menos nos quedaría, supongo, la libertad de re-programar nuestras redes, aunque sea parcialmente, acudiendo a psicoterapia ;-)

Para saber más...





Programas, mente y libre albedrío

La mente humana es un programa, o sea, sigue una colección de instrucciones aprendidas. Es algo que ya intuia hace muchos años, pero hoy mie...