TEMAS DE LA COMPLEJIDAD II ÍNDICE Presentación I.- Ciencia Social Generativa 1.- La Explicación Generativa 2.- Tercera Sistémica 3.- Modelos 4.- Modelos y Lenguajes 5.- Modelos y Ciencia Social Generativa 6.- La Simulación como Método 7.- Simulación y Sistemas 8.- Investigación Social Generativa 9.- Concepto Sociológico de Regla Social 10.- Reglas y Sociología 11.- Sistema Complejo Adaptativo II.- Los Algoritmos de la Complejidad 1.- Soft Computing 2.- Autómatas Celulares 3.- Modelos Multiagentes 4.- Redes Neuronales Artificiales 5.- Algoritmos Genéticos 1 PRESENTACIÓN Temas de la Complejidad II es la continuación de un Documento de Trabajo que anunciaba la presentación de un programa de investigación para el estudio de sistemas complejos. Subyace a este empeño ir más allá del discurso sistémico desarrollado al margen de todo interés por la formalización y contrastación. El ámbito de la Gran Teoría en términos de Wright Mills. Calificativo apropiado para designar las sistémicas funcionalista y sociopoietica. El pensamiento complejo de Morin hace suya la perspectiva sistémica. También resulta reacio al canon utilizado para validar una teoría como científica. En los discursos sistémicos el sistema no es una realidad observable o medible. Su operatoria organizacional es minuciosamente descrita, sin embargo, se evade su contrastación empírica. Son metarelatos que no superan los criterios lógicos de demarcación científica: verificabilidad, confirmabilidad y falsabilidad. La tercera sistémica enunciada en este documento implica una constelación de nuevos conceptos y la posibilidad de su contrastación empírica según procedimientos de investigación elaborados para estos efectos. El presente documento se divide en dos partes. La primera referida a la ciencia social generativa se centra en tres nociones epistémicas clásicas: sistemas, modelos y simulación. Se presenta un nuevo punto de vista a propósito de sistemas y se argumenta respecto a la pertinencia de modelar sistemas y procesos sociales. Para estos efectos se postula la noción de sistema complejo adaptativo como concepto teórico básico y el concepto de regla social como concepto sociológico central. Desde la ciencia social generativa se realiza una propuesta teórico metodológica que abre la puerta a la investigación social mediante procedimientos bottom up. La segunda parte presenta los algoritmos de la complejidad. En rigor, es una primera entrada divulgativa propia de un cuaderno de trabajo. A mediano plazo el propósito es utilizar los procedimientos presentados para poner a prueba sus habilidades como dispositivos de investigación. Se han descrito los atributos más característicos de cuatro procedimientos cooptados por el paradigma de la complejidad. Los dos primeros son modelos basados en reglas. Es el ámbito de la simulación mediante modelos que son programas computacionales. Los dos últimos son algoritmos que emulan computacionalmente sistemas y procesos biológicos. No ha sido una selección difícil. La investigación social en complejidad ha generado bibliografía y software de gran calidad y variedad a propósito de procedimientos que a la fecha son estándar: autómatas celulares, modelos multiagentes, redes neuronales artificiales y algoritmos genéticos. Santiago, Diciembre 2008 2 I.- CIENCIA SOCIAL GENERATIVA La ciencia generativa se remonta a Leibniz. Según Wikipedia bajo su alero se distingue un listado heterogéneo de saberes, conceptos y procedimientos. Así, por ejemplo, lingüística generativa, teoría de las catástrofes, algoritmos genéticos, teoría del caos, autómatas celulares, autoorganización, conexionismo, bioinformática, redes neuronales artificiales, cibernética y teoría de la información. La noción de ciencia social generativa se presenta en el libro Crear Sociedades Artificiales de Epstein et al. (1996). Posteriormente se publica Ciencia Social Generativa que incluye un manifiesto teórico y un conjunto de estudios sobre materias de carácter social realizados desde la perspectiva bottom up (Epstein 2006). 1.- LA EXPLICACIÓN GENERATIVA 1.- Epstein en Ciencia Social Generativa presenta un párrafo que permite hilvanar una propuesta teórica metodológica para la investigación de sistemas complejos. Dice así: “¿Qué constituye una explicación de un fenómeno observado? Quizás algún día se va interpretar la pregunta “¿Puedes explicarlo?” como la pregunta “¿Puedes hacerlo crecer?” La ciencia siempre ha tenido por tarea aprehender los patrones de comportamiento subyacentes a los fenómenos objeto de estudio. Desde la perspectiva generativa para aprehender una regularidad empírica es preciso realizar un experimento generativo. En términos de Epstein (2006): “Sitúe una población inicial de agentes heterogéneos autónomos en un medio ambiente espacial relevante; permítales interactuar de acuerdo a reglas locales simples, y por medio de eso generar – o “crecer”- la regularidad macroscópica desde abajo hacia arriba (bottom-up)”. El resultado del experimento es un modo particular de explicación. A saber, una explicación caracterizada por producir un patrón de comportamiento a partir de la interacción entre agentes que se relacionan según reglas en un espacio definido y en una escala de tiempo acotado. Se trata de explicar el fenómeno macro considerando que éste en su origen implica la interacción micro de agentes autónomos. En este contexto cabe la máxima generativa: si usted no lo hizo crecer, usted no lo explicó. Nótese que la explicación generativa no es una explicación en términos de causas. Explica la constitución del sistema evidenciando cómo la interacción entre los elementos del sistema da lugar a su constitución. Desde el enfoque generativo la pregunta principal es la siguiente: “¿Cómo pueden las interacciones locales autónomas de agentes heterógeneos generar la regularidad dada?”. Epstein et al. (1999) Para responder resulta necesario acudir a nociones epistémicas tradicionales del conocimiento científico. A saber, sistemas, modelos y simulación. Todos conceptos polisémicos que requieren de una referencia específica. 3 2.- TERCERA SISTÉMICA 2.1.- Bailey (1994) y Sawyer (2003) problematizan la teoría social de sistemas clásica. Sawyer distingue tres momentos en la teoría de sistemas. Las primeras sistémicas no se hicieron cargo de los atributos de los sistemas complejos. Rasgo común de las dos primeras es su vocación por establecer los principios universales que caracterizan a los sistemas. La primera sistémica asociada a Parsons (1956) y la cibernética fijó su atención en las condiciones para el equilibrio del sistema. La noción de feedback no es ajena a esta escuela. La segunda sistémica vinculada a la teoría general de sistemas de Von Bertalanffy (1962) tuvo en Buckley (1967) un divulgador en relación a sistemas sociales. Los conceptos de autoorganización y autoproducción son parte del dispositivo conceptual que la caracteriza. Luhmann (1998) es un exponente de esta perspectiva. Introduce dos cambios paradigmáticos: cambia el énfasis todo/partes a sistema/entorno y desarrolla la noción de sistema autorreferente. La tercera sistémica deviene como cuerpo teórico influenciado por diversos saberes que circulan en la década del 80. Así, por ejemplo, termodinámica del no equilibrio de Prygogine (1986), teoría de las catástrofes de Thom (1982), física sinergética de Haken, (1983 ) teoría del caos de Ruelle (1986), cibernética de segundo orden de Von Foerster (1979), pensamiento complejo de Morin (1977-2004), sociocibernética de Geyer (1986). En este contexto se funda en 1984 el Santa Fe Institute con el propósito de indagar en sistemas compuestos por agentes que interactúan en paralelo y de manera descentralizada a fin de coevolucionar para adaptarse al entorno. Campo propicio para generar una nueva perspectiva en el estudio de sistemas y que fructifica en la noción de sistema complejo adaptativo. Este es un concepto central en la investigación social generativa. 2.2.- Reseñaremos cada uno de los tres términos editados en cursiva. Resulta relevante porque la ciencia social generativa es una entrada teórico metodológica desarrollada en conversación permanente con la sistémica de los sistemas complejos adaptativos. Dos textos de referencia: Society. A Complex Adaptative System de W. Buckley; Complex Adaptative System. An Introduction to Computacional Models of Social Life de J. Miller y S. Page. - Sistema Desde la perspectiva generativa entendemos como sistema cierto dominio de la realidad social compuesto por elementos que interactúan entre sí de acuerdo a un marco de reglas que norman las relaciones. El sistema es el ámbito en que se producen las interacciones entre elementos y en el cual se intercambian comunicaciones. Cabe destacar que las interacciones no son eventos aleatorios. Por el contrario, éstas se producen a nivel local y están reguladas por normas. En el sistema como unidad compleja organizada emerge una cualidad organizacional que ordena las interacciones. En efecto, la organización es fruto de las relaciones de interdependencia y, paradojalmente, es condición para que éstas se estabilicen y perduren. 4 Según Marion (1999) de las dinámicas de interacción entre agentes locales emerge la organización y el sistema. No se trata de una creación deliberada, sólo sucede. En virtud del nexo de este concepto con teorías de la primera y segunda sistémica para todos los efectos se puede reemplazar el concepto de sistema por el de red de relaciones. Relaciones no lineales propias de los sistemas complejos. Desvincularse de las tradiciones sistémicas consolidadas permite desarrollar modelos teóricamente neutrales y apropiados para investigar sistemas complejos. - Complejo Sistemas caracterizados por su capacidad de aprendizaje, reflexividad y automodelado. Se trata de sistemas abiertos, con bucles de retroalimentación, que tienen la capacidad de autoregularse, autodirigirse y autoorganizarse. Sistemas en los que la interacción entre agentes locales autónomos produce fenómenos emergentes impredecibles. Las interacciones locales generan un comportamiento global del sistema que no puede ser deducido directamente del comportamiento de las partes. Cada elemento del sistema no conoce el funcionamiento del sistema en su conjunto. Un sistema complejo no puede ser descompuesto en subsistemas sin perder la identidad que lo define como sistema. Opera lejos del equilibrio y sólo puede existir como proceso. Se trata de sistemas que tienen historia y evolucionan condicionados por su pasado. Sin embargo, la dinámica es impredecible en virtud de las relaciones no lineales que permean el sistema. La naturaleza del sistema está definida por las interacciones entre los miembros componentes. La sustancia de los componentes es adjetiva. Nótese que la complejidad es una característica del sistema y se manifiesta a nivel del sistema como tal. No se encuentra domiciliada en un lugar específico del sistema. Según King (2000) la complejidad organizada corresponde a una ontología relacional pues emerge de una red de relaciones dialécticas. A saber, relaciones de cooperación y antagonismo entre los elementos que componen la red. - Adaptativo Las nociones de adaptación y autoorganización son teóricamente complementarias. Los sistemas adaptativos no obedecen a un diseño predefinido. Rasgo distintivo de la adaptación es la capacidad del sistema para adecuarse a distintos entornos sin perder su identidad. La adaptación sistémica implica que la estructura interna del sistema puede recomponerse sin la intervención de agentes externos. En consecuencia, un sistema adaptativo es simultáneamente un sistema autoorganizado. Se trata de sistemas que saben coevolucionar con el entorno. Sistemas que aprenden. 2.3.- Sistemas con estos atributos han sido identificados en distintos campos. Desde redes de neuronas hasta ecosistemas. ¿Una sociedad es un sistema complejo adaptativo? Las sociedades de insectos sociales presentan algunos atributos propios a los sistemas de la tercera sistémica. Sin embargo, es en las sociedades humanas 5 dónde da más rendimiento la entrada promovida por el Santa Fe Institute. En ella se dan con más propiedad atributos como reflexividad, aprendizaje, autoorganización y no linealidad. Desde esta perspectiva la sociedad es una emergencia producto de interacciones no lineales a nivel local. Su identidad es impredecible a partir de las interacciones de los agentes que la componen. En efecto, la sociedad es invisible a nivel de los agentes y sus interacciones. La sociedad es los agentes y sus interacciones a un nivel de abstracción más allá de lo local. Los individuos realizamos la distinción –micro, macro- porque aplicamos distintos niveles de abstracción. Pero intrínsicamente la sociedad es la interacción entre individuos. Nótese que la distinción permite detectar la sociedad como fenómeno emergente. Distinción propia de los seres humanos y condición para razonar y actuar a nivel macro. En efecto, la distinción permite intervenir en la sociedad generada a partir de nuestras interacciones locales como agentes autónomos. La tercera sistémica está asociada a una metodología ad hoc para indagar en sistemas complejos. Se trata de un conjunto de procedimientos que componen lo que se ha denominado soft computing. Metodológicamente corresponden a la entrada bottom up en investigación social. Teórica y metodológicamente presenta ventajas respecto a la entrada top down. Desde la perspectiva top down la unidad de análisis son las variables y sus relaciones. Nótese que los agentes sociales se invisibilizan si son tratados como un agregado de elementos que puntúan en un conjunto de variables. En general, los modelos de ecuaciones que indagan respecto a relaciones entre variables han presentado un rendimiento muy bajo en ciencias sociales. Los modelos predictivos son un producto estrella de la perspectiva top down. Sin embargo, en ciencias sociales un modelo que explique el 80% de la varianza nunca será satisfactorio si no da luces respecto a los mecanismos que relacionan la variable dependiente y las independientes. En general, los modelos top down asumen que el proceso es una caja negra indescifrable y sólo valoran el resultado en tanto permita contrastar una hipótesis predictiva. 3.- MODELOS 3.1.- La relación entre investigación y modelización está condicionada por la concepción metodológica respecto a la naturaleza y función de los modelos. La resistencia a la modelización de los fenómenos sociales se expresa de distintas maneras. En particular, asociando el lenguaje formal a una ideología tecnocrática que desvirtuaría la naturaleza intrínsicamente interpretativa del fenómeno social. 3.2.- Un motivo de reticencia hacia la modelización es el uso abusivo de los modelos basados en ecuaciones. Éstos han resultado insatisfactorios para atender procesos como autoorganización, aprendizaje, adaptación, emergencia y reflexividad. 6 3.3.- Entendemos el uso de modelos desde una perspectiva instrumental. Al margen de cualquier carga de sentido intrínseco. Se trata de dispositivos de investigación en los mismos términos que una escala de actitudes o un test proyectivo. Desde el pluralismo metodológico comprendemos que para un enfoque fenomenológico o hermeneutico la modelización es un ejercicio viciado en sus orígenes. 3.3.- Modelar y medir son dispositivos epistemológicos similares. En ambos se trata de establecer equivalencias en la lógica de homomorfismos e isomorfismos, respectivamente. Un modelo refiere a un conjunto de características en común en dos sistemas homomórficos. Es decir, sistemas formalmente equivalentes tal que un código permite el paso de un sistema a otro. En este contexto modelar es encontrar el conjunto de equivalencias y la función de transición que genera el homomorfismo apropiado. El éxito de la modelación está determinado por la capacidad descriptiva del modelo. A saber, que represente de modo apropiado el sistema real que está siendo descrito mediante el modelo. Logrado este propósito el modelo es un instrumento potente para comprender procesos sociales 3.4.- El modelo es una representación abstracta del sistema real. Un modelo formal no da lugar a una equivalencia sustantiva entre la teoría social y el modelo correspondiente. Sin embargo, asumiendo que los modelos son un esquema simplificado de los sistemas éstos deben representar la operatoria básica del sistema real que es modelado. 3.5.- A nuestro juicio el nexo entre teoría sociológica, modelización e investigación empírica es virtuoso. Por ejemplo, la traducción de teorías a modelos formales implica operacionalizar la teoría. A saber, definir las categorías analíticas de modo preciso e inequívoco. Resulta habitual que la formulación de la teoría en lenguaje verbal informal- oculte vaguedades e inconsistencias que sí se evidencian en el modelo formal. 3.6.- La ciencia social generativa supone nuevos desarrollos en la formalización de sistemas. En particular, porque no se considera como unidad de análisis al individuo o un agregado de éstos. La unidad mínima de análisis es la interacción social que constituye el fenómeno social por antonomasia. 4.- MODELOS Y LENGUAJES 4.1.- La teoría puede expresarse en tres lenguajes. Discurso verbal. La ciencia social se expresa en proposiciones que son frases respecto al fenómeno o proceso objeto de estudio. Un conjunto de proposiciones lógicamente coherentes referidas a un campo de conocimiento conforman una teoría. Ecuaciones matemáticas. Las proposiciones teóricas pueden ser expresadas en ecuaciones matemáticas como e=mc². El lenguaje de la física teórica son las ecuaciones matemáticas. La expresión de ideas teóricas en términos matemáticos da acceso a potentes técnicas analíticas. Lenguaje simbólico computacional. Condición para generar teoría es elaborar un programa computacional que represente simbólicamente entidades o procesos del mundo real. 7 4.2.- Las ecuaciones matemáticas y los programas computacionales son lenguajes formales que permiten expresar proposiciones teóricas con ciertas ventajas respecto al discurso en lenguaje natural. Los sistemas formales han tenido un papel relevante en el desarrollo de la ciencia. Se puede reconocer en la mecánica de los cuerpos celestes de Newton el primer sistema formal que describe un sistema real. En este caso el sistema formal fue un sistema de ecuaciones elaborado ad hoc. En un sistema formal se relacionan condiciones o proposiciones mediante reglas. Las reglas se pueden elegir libremente. 4.3.- Un sistema formal es un mapeo que busca comprender o describir el comportamiento de un sistema real. Nótese que en sí mismo un sistema formal no se justifica. Su fin es estrictamente pragmático. En principio, un sistema puede ser tan abstracto que permita capturar cualquier otro sistema formal. Nótese que cada sistema formal otorga un sentido específico en función de su estructura en tanto sistema. En consecuencia, la descripción de un sistema real formulado por dos sistemas formales da lugar a dos descripciones distintas. En virtud de lo cual existen distintos sistemas formales para describir diversos sistemas reales. No califica usar un sistema formal general -teoría de conjuntos- para mapear todo sistema real. 4.4.- Se puede argumentar en la línea de Turing que todos los lenguajes formales son intertraducibles. Tal que el lenguaje de las ecuaciones matemáticas y el lenguaje simbólico computacional resultan formalmente intercambiables. A juicio de Taber (1996) esta perspectiva oscurecería una distinción práctica importante. A saber, el lenguaje simbólico computacional permite llevar a la práctica emprendimientos que son sólo teóricamente posibles sin la ayuda de un computador. 5.- MODELOS Y CIENCIA SOCIAL GENERATIVA 5.1.- La ciencia social generativa supone nuevos desarrollos en la formalización de sistemas. En particular, porque no se considera como unidad social de análisis al individuo o a un agregado de éstos. La unidad mínima de análisis es la interacción entre agentes vinculados por una red de comunicaciones. 5.2.- Condición para el estudio de los sistemas complejos adaptativos es la traducción del sistema real a un lenguaje formal. A saber, el lenguaje simbólico computacional. Dado que el estudio de los sistemas complejos adptativos es un nuevo dominio de conocimiento ha sido preciso desarrollar nuevos sistemas formales para mapear este dominio. Así, por ejemplo, algoritmos genéticos (Holland 1998, 2004) y redes booleanas (Kauffman 1995, 2003). 5.3.- Nótese que la operacionalización de los sistemas sociales como modelos formales permite estudiar su evolución sistémica en los mismos términos que un sistema biológico o físico. En tanto sistemas que han sido definidos como modelos formales 8 6.- LA SIMULACIÓN COMO MÉTODO 6.1.- Las definiciones de simulación son múltiples. Simulación es un experimento realizado en un modelo. (Korn, et al. 1978) Simulación es el modelado de un sistema donde un modelo reproduce las respuestas que el sistema genera en su evolución. (Shriber 1987) Simulación es el proceso de diseñar un modelo de un sistema real y la realización de experimentos con el modelo a fin de entender el comportamiento del sistema. (Pedgen et al. 1995) Simulación describe una variedad de técnicas que tienen en común generar mediante reglas un modelo. (Morgan 1984) Nótese que cuando el modelo que describe el sistema es un programa computacional el sistema está siendo mapeado mediante simulación computacional. La simulación computacional tiene la virtud de ‘animar’ el modelo. 6.2.- La simulación se realiza con el fin de establecer una equivalencia funcional respecto al sistema real. A saber, la estructura de la simulación es diferente a la del mundo real, sin embargo, está diseñada para producir un comportamiento equivalente en forma funcional. El rendimiento de la equivalencia funcional puede ser limitado. Manejos inapropiados del tiempo o de la red de relaciones pueden torpedear la equivalencia funcional entre sistema real y simulación virtual. 6.3.- La simulación como metodología cualitativamente diferente tiene diversas entradas. En relación a la distinción inductivo o deductivo resulta ilustradora la reflexión de Axelrod (1997). “La simulación es un tercer camino de hacer ciencia. Como la deducción, comienza con un conjunto de suposiciones explícitas. Pero, a diferencia de la deducción, no prueba teoremas. En su lugar, una simulación genera datos que pueden analizarse en forma inductiva. A diferencia de la inducción típica, sin embargo, los datos simulados vienen de conjuntos de reglas especificados rigurosamente, más que de medidas directas del mundo real. Mientras la inducción se puede utilizar para encontrar patrones en datos, y la deducción se puede usar para encontrar consecuencias de suposiciones, la modelación de simulación se puede utilizar como una ayuda a la intuición”. La simulación es una tercera vía. Como la deducción considera un conjunto de supuestos previos. Sin embargo, no pretende probar teorías o teoremas, por el contrario, genera datos que pueden ser analizados de modo inductivo. A diferencia de la inducción, sin embargo, los datos generados proceden de un conjunto de reglas formales y no de la medición en la realidad. 6.4.- Se pueden argüir numerosas razones para evidenciar que el uso del lenguaje simbólico computacional es más apropiado para formalizar teorías en ciencias sociales que el lenguaje de las matemáticas. Taber et al. (1996) razonan en los siguientes términos. Los lenguajes de programación son más expresivos y menos abstractos que la mayoría de las técnicas matemáticas. 9 Los programas describen mejor procesos paralelos y procesos sin un orden definido que los modelos matemáticos. Los programas son modulares, de manera que se pueden efectuar cambios en una parte sin la necesidad de cambiar otras partes del programa. Resulta más fácil construir modelos de simulación que incluyan agentes heterogéneos –por ejemplo, simular agentes con diferentes habilidades sociales, diferentes grados de racionalidad, etc.– siendo esto difícil o imposible usando ecuaciones. 6.5.- Los detractores argumentan en relación con la inviabilidad estructural de la simulación computacional como procedimiento de investigación. Desde una perspectiva interpretativa se cuestiona que el objeto de estudio pueda ser comprendido mediante una herramienta que modela utilizando un programa computacional. Así, por ejemplo, la subjetividad inherente a la acción social no podría ser aprehendida mediante una simulación que se ejecuta en un computador. Otra perspectiva señala que una simulación computacional genera un resultado que está condicionado por los insumos ingresados al proceso de simulación. En efecto, las simulaciones computacionales requieren de una teoría que formule las reglas que gobiernan el sistema. En este contexto se problematiza la producción de conocimiento al ejecutar una simulación porque éste ya estaría al inicio del proceso. En definitiva, el modo en que se juzga la simulación depende de nuestra comprensión respecto a la naturaleza y metas de las ciencias sociales y nuestra opinión respecto a los objetivos y métodos de la simulación computacional. 7.- SIMULACIÓN Y SISTEMAS 7.1.- La investigación de la sociedad como sistema ha presentado dificultades metodológicas y empíricas durante décadas. Se verifica en la práctica una disociación entre la teoría sistémica y la investigación empírica. Dos trabajos de excepción. Forrester (1974) modelando sistemas dinámicos en el contexto de la segunda sistémica y Fararo (1989) formalizando desde la cibernética clásica la sistémica de Parsons. Ninguno de los dos ha resistido el paso del tiempo. Entendemos que la simulación permite acercar la teoría de sistemas y la investigación social. En este documento las consideraciones respecto a la naturaleza y rol del la simulación no se realizan desde la filosofía de la ciencia o la ingeniería computacional. Resultan pertinentes en virtud del rol de la simulación en la investigación de sistemas complejos. Se concibe la simulación como el dispositivo metodológico característico de la ciencia social generativa. 7.2.- Resulta conveniente una precisión de nomenclatura. A saber, distinguir simulación simbólica matemática de simulación simbólica computacional. Corresponde a la distinción modelos formales expresados en ecuaciones o en programas computacionales. En rigor el modelamiento de sistemas mediante ecuaciones no corresponde a una simulación computacional. Sin duda se utiliza un programa computacional para arribar a una solución numérica, sin embargo, no es homologable a una simulación generada 10 utilizando como modelo formal el lenguaje simbólico computacional. En el mismo sentido el procesamiento estadístico mediante computadores no es homologable a una simulación computacional. En los modelos matemáticos y estadísticos se llevan a cabo mediante computador sucesivas iteraciones de un algoritmo que permite obtener una solución. Habitualmente la simulación se remite a la secuencia de aplicación del algoritmo sobre sí mismo. 7.3.- Entendemos como simulación computacional un dispositivo de investigación caracterizado por la emulación dentro del computador de un sistema real. Nótese que el sistema es descrito mediante un programa computacional. En consecuencia, el modelo del sistema es el programa computacional. El modelo es un programa computacional que describe en términos abstractos un sistema real. La simulación computacional refiere entonces a la representación del comportamiento del sistema modelado dentro del computador. 7.4.- Trátese de modelos expresados en ecuaciones o programas computacionales el nivel de abstracción del modelo es muy elevado. Por cierto, el conjunto de ecuaciones o la sintaxis del programa en nada se asemejan al fenómeno objeto de estudio. La limitación principal de los modelos matemáticos es que la claridad se obtiene simplificando la realidad al punto de hacerla irreconocible. Una ventaja de la modelación computacional es el aumento en el nivel de realismo que puede incorporarse al modelo formal sin disminuir la capacidad de comprensión. 7.5.- Los modelos matemáticos no se diseñan con el propósito de representar el proceso del sistema que se modela. Normalmente la modelización se centra en producir una salida que permita contrastar una conjetura de carácter predictivo. Los modelos simbólicos computacionales indagan respecto al sistema en tanto proceso. Iluminan la caja negra de modo que se pueden examinar los mecanismos del proceso que producen la salida. En ambos casos se trata de una representación simplificada de un proceso de la realidad. Sin embargo, el modelo matemático considera el proceso como una caja negra sin pretender representarlo y el modelo computacional indaga intentando el máximo realismo descriptivo posible. 7.6.- Cabe distinguir dos usos de la simulación. En primer término, el examen del comportamiento de un sistema realmente existente. La simulación referida a modelos que pretenden describir la operatoria de un sistema real. En segundo lugar, simular para explorar sociedades artificiales o situaciones contrafactuales. En este contexto los modelos se construyen sin tener como referencia un sistema del mundo real. Se trata de explorar en términos de que pasaría si ... las condiciones fueran las supuestas. Desde la perspectiva de los mundos sociales posibles resulta ilustrativa la cita de Epstein y Axtell (1996). “Vemos las sociedades artificiales como “laboratorios”, donde intentamos “crecer” ciertas estructuras sociales en el computador – o “en silicio” – siendo el fin descubrir los fundamentos de los mecanismos locales que son apropiados para generar estructuras sociales macroscópicas y comportamientos colectivos de interés” 11 7.7.- La simulación es una herramienta de análisis que no contiene teoría. Sin embargo, permite construir teoría. En efecto, la simulación no entrega como insumo directo una teoría del proceso simulado o de los fenómenos emergentes producto de las interacciones individuales. Permite, sin embargo, descubrir patrones antes invisibles y contrastar teorías respecto al comportamiento del sistema. Se trata de un observatorio de los procesos sociales en realidad virtual. 7.8.- La simulación de procesos sociales es una entrada distinta, original y de alto rendimiento en investigación social. Abre nuevas direcciones en el estudio de sistemas complejos. Nótese que es el único modo de identificar efectos sistémicos desconocidos. Permite detectar efectos que son analíticamente deducibles a partir del modelo pero invisibles sin la simulación del sistema real. 7.9.- Las simulaciones son caracterizaciones similares y nunca idénticas al mundo real. En esencia la simulación imita un proceso mediante otro proceso. 8.- INVESTIGACIÓN SOCIAL GENERATIVA 8.1.- La práctica de la ciencia social generativa implica la simulación computacional. El computador y los programas computacionales son el rasgo epistemológico más propio de la investigación generativa y de los procedimientos bottom up. No son sólo dispositivos instrumentales. Son la herramienta cognitiva por antonomasia. En sentido análogo en que para un físico teórico lo es el cálculo infinitesimal. 8.2.- Jervis (1997) se formula la pregunta clave. ¿Es posible describir el sistema social mediante modelos formales escritos como programas de computación - es decir, programas entendidos como modelos formales? La respuesta afirmativa es condición para el desarrollo de la perspectiva generativa en investigación social. 8.3.- La ciencia social generativa es una nueva perspectiva teórica metodológica. El concepto teórico base es sistema complejo adaptativo y el concepto sociológico central es regla social. 9.- CONCEPTO SOCIOLÓGICO DE REGLA SOCIAL 9.1.- A juicio de Jervis (1997) los sistemas sociales son sistemas constituidos por reglas de acciones e interacciones, y su dinámica autoorganizada adaptativa tiene que ser entendida como resultado del impacto y/o variación de sus sistemas de reglas. El punto de partida teórico no es el actor social, sino la interacción regulada por normas entre, al menos, dos actores que intercambian información. 9.2.- El estudio de las normas sociales es un tópico presente en la investigación del sistema social. Temas de interés a este respecto es la apropiada definición de las normas y la explicación de cómo éstas inciden en el comportamiento social. Desde la perspectiva generativa importan los procesos por los cuales las normas emergen, llegan a ser establecidas (e internalizadas) y posteriormente cambiadas. 12 El estudio sociológico de las normas se ha desarrollado desde diversas entradas teóricas. Sin afán de exahustividad se pueden distinguir dos posiciones polares. Un enfoque que considera que todo comportamiento regular es una norma y otro que rechaza la existencia de normas sociales. En efecto, una concepción estadística de norma ligada al conductismo entiende que un patrón de comportamiento emerge como norma si la mayoría de los actores se comportan de acuerdo a ese patrón. Así, las normas son objetivamente observables y medibles. En el polo opuesto la etnometodología niega la conceptualizacion sociológica de las normas. Se considera que tal cosa no existe como norma general independiente de las condiciones contextuales concretas. Existe la pregunta sobre cómo los individuos constituyen un mundo en común. Sin embargo, para regular la interacción social se conciben reglas básicas y no un equivalente a las normas sociológicas. 9.3.- El desarrollo de una ciencia social generativa resulta viable si la sociología asume como tarea el estudio del sistema de reglas que regula la interacción social. Cabe destacar que las sociedades se constituyen como tales mediante la introducción de reglas y se desarrollan según la modificación, transferencia o cambio de reglas. Sucede que al seguir reglas las personas "construyen" su sociedad y, por otra parte, a la sociedad se le atribuye la capacidad de introducir reglas. En rigor, la regla social es la condición de posibilidad de toda sociabilidad. 9.4.- El concepto regla social no tiene la relevancia de conceptos sociológicos como estructura, habitus, self o acción. Resulta fructífero concebir la regla social como unidad analítica central desde un programa de investigación basado en el estudio de sistemas sociales que son formalizables en un programa computacional. Sólo en este contexto es posible analizar diferentes sistemas de reglas sociales y los sistemas sociales correspondientes. 10.- REGLAS Y SOCIOLOGÍA 10.1- En este contexto cabe formularse dos preguntas claves ¿sobre la base de qué normas se ejecutan las interacciones (locales)? ¿qué tipo de dinámica sistémica resulta de estas normas? Si la sociología es el dominio que se hace cargo de estas preguntas una tarea de ésta será estudiar la lógica y consecuencias organizacionales de los sistemas de normas sociales. En particular, indagar respecto a las reglas que regulan el comportamiento de actores sociales en contextos específicos. Así como de las formas en que estas reglas son modificadas. 10.2.- Desde la perspectiva generativa los sistemas de reglas sociales deben ser modelados formalmente y analizados como un sistema formal de reglas. Se asume que las reglas que regulan las interaciones y los sistemas constituidos por éstas pueden ser mapeados mediante modelos formales. Se considera que la metodología bottom up es el procedimiento apropiado para cartografiar sistemas sociales. 13 10.3.- La ciencia social generativa es neutral a propósito del vínculo micro-macro. De hecho su atención son las relaciones y no los polos micro o macro. No se trata de una perspectiva que priorice ante las alternativas objetivismo-subjetivismo o acciónestructura. Puede entenderse como campo propicio para estudiar los procesos sociales conciliando la autonomía individual y las estructuras colectivas. Se trata de una posibilidad especial de estudiar empíricamente la relación micro-macro o la tensión acción-estructura. 10.4.- La ciencia social generativa no es una entrada que avale el indidualismo metodológico o la microsociología. El hecho que los procesos sociales emerjan de la interacción de agentes autónomos no implica que estos procesos no puedan ser explicados mediante teorías referidas a nivel macro. La entrada bottom up asume que los agentes actúan en el contexto de escenarios que condicionan su acción. Es obvio que la autonomía de los actores se desenvuelve en el marco de estructuras sociales. 10.5.- El punto de vista de Sawyer (2005) resulta pertinente. A su juicio, la simulación computacional y las sociedades artificiales no apoyan el individualismo metodológico o el estructuralismo social y pueden ser usadas como herramientas para el desarrollo de la teoría desde ambas posiciones. Resultan aptas para implementar teorías sociológicas híbridas: teorías que intentan reconciliar la autonomía individual con los fenómenos estructurales. 11.- SISTEMA COMPLEJO ADAPTATIVO 11.1.- El concepto teórico básico es sistema complejo adaptativo. Es el nexo que permite vincular a la sociología con las nuevas ciencias que estudian sistemas complejos. En relación con sistemas sociales se asume que éstos disponen de distintos niveles de reglas. De modo que varían sus reglas de interacción a través de metareglas que modifican las reglas de base. Resulta esta una condición para que puedan adaptarse a las exigencias del entorno a través de la autoorganización. La introducción de distintos niveles de reglas puede parecer complicado o artificial. Sin embargo, permite comprender procesos sociales como el aprendizaje y la adaptación. Más aún es condición para pesquisar cualquier tipo de variación de regla y realizar el examen mediante modelos formales. 11.2.- La noción sistema complejo adaptativo refiere a dos características sistémicas complementarias (Auyang 1998). A saber, la operatoria intra sistema determinada por la autoorganización y la dinámica inter sistema caracterizada por la adaptación al medio. El atributo de sistema adaptativo se justifica porque los procesos de autoorganización sólo pueden ser entendidos como respuesta a las condiciones del entorno. En rigor, la autoorganización es la cara interna y la adaptación el rostro externo de un mismo atributo sistémico en los sistema complejos. El sistema se adapta mediante la autoorganización. 14 11.3.- Los sistemas adaptativos son capaces de orientarse a un ambiente sin perder su identidad. Nótese que un sistema que persiste en las reglas de su autoorganización ajeno al entorno está condenado en el largo plazo a fallar por discrepancias con el entorno. En consecuencia, la noción de adaptación implica plasticidad en relación con el cambio de sus propias reglas. En rigor, la adaptación se logra mediante la variación sistemática de reglas y este cambio de reglas es, en sí mismo, generado por reglas de segundo nivel que operan sobre las reglas base. 11.4.- Los sistemas complejos adaptativos resultan en su complejidad imposibles de tratar para la primera y segunda sistémica. En particular, porque se trata de discursos sistémicos ajenos a todo proceso de formalización. Trátese de la sistémica funcionalista o la versión sociopoietica. La apuesta de la perspectiva generativa es que el sistema social en tanto sistema complejo puede ser cartografiado mediante modelos formales. Para estos efectos se han desarrollado los algoritmos de la complejidad. 11.5.- Una propuesta teórico metodológica formulada desde la ciencia social generativa para el estudio de los sistemas complejos considera los siguientes tópicos. - Un sistema social es una entidad donde agentes interactúan condicionadas por reglas que regulan su comportamiento - Los agentes producen comunicación siendo ésta la unidad elemental de intercambio interagentes. - Los sistemas operan con distintos niveles de reglas. Las metareglas permiten variar las reglas en contextos de aprendizaje y adaptación - Las reglas y los sistemas constituidos por éstas pueden definirse formalmente - La formalización del sistema se realiza mediante el lenguaje simbólico computacional - Los patrones de comportamiento del sistema pueden conocerse utilizando el computador como laboratorio de simulación social - Las simulaciones se realizan mediante algoritmos que responden a la perspectiva bottom up - Los algoritmos de la complejidad investigan respecto a emergencia, autoorganización, adaptación, aprendizaje y reflexividad en sistemas constituidos por agentes autónomos 15 II.- LOS ALGORITMOS DE LA COMPLEJIDAD 1.- Soft Computing El nombre genérico soft computing refiere a procedimientos que suelen ser cooptados por la tercera sistémica y la perspectiva generativa. Cabe mencionar las siguientes opciones: autómatas celulares (Wolfram 1994, 2002), modelos multiagentes (Gilbert 2005, 2008), algoritmos genéticos (Holland 1975, 2004, 2008), redes neuronales artificiales (Fausett 1993). Soft computing es un concepto formulado por Zadeh (1994) a propósito de la computación de sistemas borrosos. Tratándose de un dominio reciente se le asignan distintos nombres. Así, por ejemplo, computación cognitiva (Cognitive Computing) o Computación del mundo real (Real-World Computing). Surge como oposición a hard computing que es el paradigma de computación clásico formado por el binomio lógica booleana-maquina de Von Neumann. La computación clásica se basa en la solución de un algoritmo que se codifica en forma de programa y se almacena en la memoria para ejecutarse en forma secuencial. Resulta particularmente potente para resolver problemas de cálculo y razonamiento lógico e inútil en fenómenos del mundo real donde los procesos son paralelos y la información es imprecisa y distorsionada. Los procedimientos asociados a soft computing son particularmente adecuados para el análisis social. Kluver et al. (2003) destacan tres atributos. En primer lugar, la base para el análisis no es el comportamiento del sistema como una totalidad. La unidad de análisis es a nivel de interacción entre elementos. El comportamiento del sistema completo, es decir, su dinámica es un resultado emergente de las interacciones locales establecidas entre elementos individuales. En segundo término, el modelo que describe el sistema puede construirse a partir de procesos que son observables en forma directa. Así, por ejemplo, traducir las observaciones empíricas sobre los actores sociales y sus interacciones en un modelo en forma inmediata. Finalmente, resulta posible representar dinámicas no lineales, procesos de criticidad autoorganizada, sistemas lejanos del equilibrio, fenómenos de autoorganización, adaptación y aprendizaje. Para las ciencias sociales estas ventajas son comparativamente más importantes que para las ciencias naturales. En efecto, el punto de partida es coherente con la conformación del sistema social y el estudio de su dinámica. A saber, agentes autónomos que interactúan localmente y cuyo comportamiento sistémico difícilmente puede dilucidarse estudiando agregados de agentes. En el entendido que la dinámica social puede ser aprehendida a partir de las reglas de interacción social resulta evidente que algoritmos que formalizan las reglas sociales son los más aptos. En efecto, si los conceptos básicos son actores y reglas sociales resultan más eficaces modelos formales que están basados en la lógica de interacciones y reglas. 16 A juicio de Atxell (2007) en soft computing no se ha dicho la última palabra. El titulo The End of the Begining for the Multi-Agent Systems Social Science lo evidencia. Señala “En mi opinión es adecuado decir que estamos al final del comienzo en el ciclo de vida de esta nueva metodología”. Los algoritmos que conforman soft computing se encuentran en la frontera de la investigación en dominios tan diversos como epidemiología, ecología, desarrollo urbano, macroeconomía, cambio climático, vida artificial, migración. Las diversas áreas de soft computing se ilustran en el siguiente esquema. ALGORITMOS DE SOFT COMPUTING Simulación Agentes Autómatas Celulares Simulación Anexacta Modelos Probabilísticos Modelos Multiagentes Lógica Borrosa Simulación Biológica Redes Neuronales Artificiales Algoritmos Genéticos En relación con la investigación de sistemas complejos adaptativos resultan de especial interés el uso de los procedimientos incluidos en las categorías simulación de agentes y simulación biológica. En virtud de lo cual son presentados desde un perspectiva de divulgación. Será materia de un próximo empeño su utilización a propósito de una pregunta de investigación que implique poner en juego sus capacidades como algoritmos y la potencia del software desarrollado para su implementación. 17 2.- AUTÓMATAS CELULARES El formalismo más simple para tratar sistemas complejos son los autómatas celulares. Presentan la ventaja de ser maquinas de Turing universal lo que permite estudiar los sistemas en estado puro. Volveremos a este respecto. Los autómatas celulares son sistemas dinámicos discretos. Sistemas dado que se constituyen como unión de partes conectadas en forma organizada tal que las partes resultan mutuamente afectadas por integrar el sistema. Dinámicos en virtud que de la interacción entre las partes se genera acción en momentos sucesivos. Discretos porque la evolución o el cambio de estado del sistema sucede en etapas finitas y contables. von Neumann es el padre de estás maquinas virtuales. La idea inspiradora es un autómata con capacidad para reproducirse a si mismo. El modelo cinemático es conocido como el primer autómata celular. No funcionó como máquina autorreproductora aunque fue fructífera como idea. El concepto de célula se utiliza para indicar que los autómatas son concebidos como idealización de los sistemas biológicos que se autorreproducen. Para comprender el funcionamiento de un autómata celular utilizaremos el ejemplo dado por Von Neumann. Imagínese un tablero de ajedrez. Cada casilla del tablero tiene una posición única e irrepetible. Al conjunto de casillas lo designamos como el espacio celular. Un tablero de ajedrez es un cuadrado de 8x8=64 casillas. El espacio celular es de tamaño 64. Supóngase que cada casilla puede estar prendida/apagada, activa/inactiva, conectada/desconectada. Sea que el estado de cada casilla depende del estado de las casillas alrededor de acuerdo a algunas reglas simples. Un autómata celular tiene la estructura de un espacio celular como el descrito. Para ilustrar la operatoria de un autómata celular se puede acudir al Juego de la Vida desarrollado por Conway (1970). Un ejemplo clásico es el estudio de segregación desarrollado por Schelling (1978). Este último Nobel de Economía 2005. Sin embargo, Conway ofrece la ventaja de resumirse en diez líneas. En el Juego de la Vida cualquier célula puede estar viva o muerta. Existen tres reglas que determinan la salud de las células. Las reglas son simples. Regla de vida. Cada célula esta viva si existen dos o tres células vivas adyacentes, de otra forma muere. Regla de muerte. Cada célula viva con menos de dos células adyacentes muere por aislamiento y con más de tres muere por sobrepoblación. Regla de resucitar. Cada celda muerta vuelve a vivir si tiene tres vecinos vivos. Nótese que una célula tiene ocho células vecinas. Partiendo de una configuración inicial aleatoria el espacio celular cambia de forma. Según el estado inicial se pueden presentar configuraciones finales estables, periódicas, aperiódicas y complejas. 18 El Juego de la Vida es una variante en la familia de modelos autómatas. Todos están basados en la idea de celdas colocadas en un espacio celular. La diferencia radica en las reglas usadas para actualizar los estados de las celdas y su definición de cuáles celdas son vecinas. El Juego de la Vida usa la vecindad de Moore. Resulta evidente que la simulación con autómatas celulares sólo es viable mediante computador. Paradojalmente von Neumann trabajó con un tablero de ajedrez infinito, Schelling elaboró los modelos de segregación espacial con lápiz y papel y Conway desarrolló el Juego de la Vida usando platos en un piso de cocina de baldosas blancas y negras. Los autómatas celulares conforman sistemas dinámicos discretos que existen en el tiempo y el espacio. Presentan la particularidad de cambiar de estado en función de los estados de las celdas o células vecinas. En cada paso de tiempo puede cambiar el estado de cada celda. La misma regla se usa para actualizar el estado de todas las celdas en el espacio celular. El modelo es, por lo tanto, homogéneo en relación a las reglas En general un autómata celular puede ser definido en función de cuatro características. 1.- El espacio celular El espacio es la reunión de todas las celdas (asumidas idénticas) en las cuales trabaja el autómata. Las celdas se pueden colocar en una línea larga o en un tablero rectangular o en forma de toroide tridimensional. 2.- Los estados del sistema Refiere a la cantidad de estados por celda. Los autómatas binarios tienen dos estados por celda. Dado que son los más fáciles de tratar han sido más extensamente investigados. Los autómatas binarios están en “on” u “off”, una representación numérica de los estados es 1 y 0. 3.- El vecindario de una célula Dice relación con la especificación de qué es lo que constituye la vecindad de una celda. A saber, las celdas en la vecindad de la celda X que puede influenciar el estado de esa celda en la generación siguiente. Dos tipos de vecindad se han estudiado exhaustivamente. La vecindad de von Neumann formada por las celdas norte, sur, este y oeste para la celda dada y la vecindad de Moore formada por las ocho celdas más cercanas a la celda dada – esto es, la vecindad de von Neumann más las celdas de los ángulos noreste, noroeste, sureste y suroeste. La vecindad de Moore se suele extender aumentando el cuadrado original. Vecindad de Von Neumann Vecindad de Moore Vecindad Extendida de Moore 19 4.- La regla del sistema Se trata de la regla que determina el estado de una celda en la generación siguiente según los estados de las celdas en su vecindad en la generación actual. Un autómata evoluciona en pasos fijos de tiempo. Dada la especificación inicial del estado de cada célula se analiza la vecindad y se aplica la regla. Esto determina el estado de cada celda en el momento t+1. Los autómatas celulares son sistemas dinámicos. Los estados futuros están completamente determinados por el estado de su pasado inmediato. Precisamente las reglas de transición conducen a cambios de estado en el espacio celular. En resumen, el autómata celular modela un mundo en el cual el espacio está organizado por un conjunto de reglas uniformes. Las reglas permiten computar para cada celda su estado actual a partir de su estado previo y de los estados de sus vecinos más próximos. Esta extrema simplicidad de la estructura básica de los autómatas celulares permite cualquier tipo de variación. La plasticidad es la principal ventaja de estos sistemas formales que pueden investigar el comportamiento de los sistemas dinámicos reales mediante la variación sistemática de reglas. Stephen Wolfram ha sido el principal estudioso de los autómatas celulares, El libro canónico es A New Kind Of Science (2002). En la década del 80 estableció que a partir de la variación sistemática de reglas los autómatas celulares producen cuatro tipos de comportamiento. Clase I. El autómata celular evoluciona hacia la homogeneidad. Se generan configuraciones fijas que no cambian. En la dicotomía vivo o muerto después de algunas generaciones todos están vivos o todos muertos. Converge a un atractor de punto fijo Clase II. El autómata celular da lugar a un patrón que se repite periódicamente. Después de una cantidad de momentos discretos se reinicia el patrón de comportamiento. Convergen a atractores periódicos o cuasi periódicos. Clase III. El autómata celular se comporta según patrones aperiódicos impredecibles. Corresponde a una dinámica propia del caos. Converge hacia atractores extraños. Clase IV. El autómata celular revela una evolución que no es periódica, aperiodica o caótica. Es el patrón más interesante y más raro. Su dinámica genera estructuras complejas ajena a la evolución de los sistemas caóticos y a la figura de atractor extraño. Geométricamente generan fractales de dimensión 1.59 o 1.1618. Los autómatas universales sólo ocurren en esta clase. Dos comentarios generales respecto a autómatas celulares. A saber, su condición de máquinas universales de Turing y su capacidad para estudiar sistemas de reglas sociales. Los autómatas celulares en tanto máquinas de Turing universales permiten investigar en el ámbito de los sistemas puros. Se demuestra que los autómatas celulares son autómatas universales. Esto significa que cualquier sistema formal puede ser simulado mediante autómatas celulares. En particular, para todo sistema –físico, biológico, social- que puede ser descrito formalmente existe un autómata celular que permite la simulación del sistema. Lógicamente los autómatas celulares pueden simular cualquier sistema formal. 20 Esta es una consecuencia inmediata de la universalidad lógica de estos sistemas formales. Así cada sistema real individual en que se indague en relación a su comportamiento puede ser modelado y simulado en forma completa mediante un sistema formal que sea equivalente a una máquina de Turing universal. Por supuesto que las observaciones empíricas son imprescindibles. De hecho no cabe inferir directamente del análisis de sistemas puros nada concreto a propósito del comportamiento de sistemas físicos, biológicos o sociales. Los sistemas puros son el ámbito de los principios de funcionamientos de los sistemas reales. Respecto al estudio de reglas de acción cabe destacar que los autómatas celulares basan su operatoria en reglas que definen su comportamiento y dinámica. Reglas e interacción son componentes vitales del autómata celular. Si el sistema social intrínsicamente está compuesto de agentes que actúan según reglas locales de interacción resulta obvio utilizar como dispositivo de investigación un modelo formal que presenta una mecánica equivalente. En este contexto los modelos basados en autómatas celulares resultan ser la contraparte formal natural para investigar los sistemas sociales. Ambos tratan de reglas de interacción que dan lugar a cierta dinámica. Los autómatas celulares como constructos lógicos son formalismos sencillos. Resulta viable su formulación en un lenguaje simbólico computacional. Nótese que en tanto instrucciones operacionales para computadores se desarrollan en el espacio y en el tiempo dentro del computador. En consecuencia, producen una dinámica perceptible. En efecto, la variación de sus distintas configuraciones es inmediatamente observable como un desarrollo de figuras geométricas. Sitios Web - Journal of Cellular Automata - Modern Cellular Automata - DDLab Software de dominio público - Netlogo - Repast - Mason 21 3.- MODELOS MULTIAGENTES Se pueden establecer dos tipos de entrada respecto a la investigación social. A saber, producir datos y analizarlos mediante dispositivos teóricos o metodológicos o elaborar un modelo que describa un sistema y posteriormente simular la dinámica del sistema modelado. Los modelos multiagente corresponden a la segunda opción. En sus orígenes están dos adelantos que condicionan su desarrollo, naturaleza y sentido. En efecto, los agentes computacionales son deudores de la programación orientada a objetos y de la inteligencia artificial distribuida. La programación orientada a objeto se caracteriza porque el objeto es un único proceso computacional que mantiene estructura y procedimientos propios. La inteligencia artificial en la década del 90 se enfocó hacia sistemas distribuidos sin controlador centralizado y con objetos autónomos. La confluencia de ambos desarrollos permite generar agentes que son programas de computador capaces de representar actores sociales. Pudiendo ser éstos individuos o entidades colectivas –partidos políticos, empresas, naciones. No existe una definición de consenso respecto a que es un agente. Batty (2005) señala que el término es generalmente usado para describir programas autocontenidos que pueden controlar sus propias acciones basados en sus percepciones del medio ambiente en que se desenvuelvan. Gilbert (2008) rehusa una definición y opta por señalar los rasgos más característicos. Capacidad para percibir su medio ambiente. Los agentes distinguen a agentes u objetos ubicados en su vecindad. Capacidad de memoria para almacenar percepciones de sus estados y acciones previas. Capacidad de procesar un conjuntos de reglas heurísticas o estrategias que determinan, dadas su situación presente y su historia, que comportamientos van a realizar. Capacidad de comportarse según tres atributos. * movimiento dentro de un medio ambiente. * comunicación mediante emisión y recepción de mensajes. * interacción con el medio ambiente. La autonomía fue un hito fundacional en los modelos muliagente. A juicio de Wooldridge (2006) un agente es un actor situado en un medio ambiente capaz de una acción autónoma. En esencia, los agentes son objetos móviles que interactúan entre ellos así como con el ambiente en el cual existen. El medio ambiente es el entorno virtual de los agentes. Éste puede ser tan cuidadosamente fabricado como los agentes mismos. Así, por ejemplo, cuando el medio ambiente representa espacios geográficos que replican las características físicas de una ciudad. Puede incluir aspectos físicos de la ciudad y también los efectos de la población de agentes en el medio ambiente –polución, agotamiento de recursos, etc. El espacio virtual puede ser minimalista o no existir en absoluto. No se requiere un espacio virtual para constituir una red de agentes cuando la única indicación a propósito de las relaciones entre agentes es la lista de los agentes a la cual se está 22 conectado mediante la red. Por ejemplo, una red de instituciones que negocian o amigos que se comunican vía internet. Pueden existir en simultáneo varios ambientes. Los agentes sólo operan en ambientes en los cuales están adaptados, y como puede existir más de un tipo de agente en una simulación, entonces habrá más de un tipo de ambiente. El tiempo en el mundo virtual es discreto. Ejecutada la simulación el reloj opera en digital no en analógico. Cada momento es un turno de acción para los agentes. La simulación comienza en el momento cero y prosigue tanto como la dinámica del sistema lo exija. Los agentes como entidades autónomas que poseen memoria e interactúan localmente según reglas poseen la capacidad de aprender. Autonomía e interacción son caldo de cultivo para el aprendizaje. El aprendizaje se produce a nivel individual o del conjunto de la población. En el aprendizaje individual los agentes aprenden de su propia experiencia como entes autónomos en permanente interacción. El aprendizaje de la población puede producirse de dos modos. Una opción es el aprendizaje evolucionario en el que la población de agentes aprende porque algunos agentes mueren y son reemplazados por otros mejor adaptados mejorando el promedio de la población. Otra alternativa es el entrenamiento social en el cual algunos agentes imitan o son enseñados por otros agentes de modo que las experiencias individuales son distribuidas en el conjunto de la población. Independientemente del modo de aprendizaje los agentes son capaces realizar dos operaciones cognitivas. A saber, elaborar un cuadro de las relaciones sociales generadas en su entorno y desarrollar un mapa de la geografía de su medio ambiente. En definitiva, los agentes saben construirse un modelo del medio en que existen. Nótese que los modelos de los agentes son diferentes del modelo de simulación elaborado por el investigador. Los agentes construyen ellos mismos su modelo cognitivo mientras se ejecuta la simulación. Desde el punto de vista de los conocimientos que poseen los agentes se han desarrollados dos opciones que evolucionaron desde dos tradiciones distintas. En efecto, los agentes cognitivos empalman con la inteligencia artificial distribuida y los agentes reactivos entroncan con la tradición de la vida artificial (Alife). Los agentes cognitivos tienen objetivos explícitos y son capaces de razonar para lograr sus objetivos. Tienen creencias respecto al estado del medio ambiente. Saben como sus acciones van a afectar el medio ambiente y a los otros agentes. Los agentes reactivos no tienen ninguna representación interna del mundo –ni del medio ambiente, ni de otros agentes. Tampoco tienen objetivos y planes explícitos. Su actividad es producto de simples reglas de acción y de las condiciones que impone el medio ambiente. En general, responden directamente a los estímulos del medio ambiente no mediados por estados internos. Nótese que los agentes cognitivos pueden poseer información incorrecta como resultado de percepciones falsas o conocimiento incompleto. En este contexto Gilbert (2008) distingue en los agentes la creencia -información posiblemente errónea- del conocimiento. 23 ¿Cómo logran obtener los agentes la amplia gama de habilidades que caracteriza su existir en el silicio? Básicamente porque están dotados de cinco procesos que los transforman en aptos para operar en el mundo virtual. Reglas de Comportamiento. Se trata de un conjunto de reglas que determinan qué es lo que los agentes van a hacer. Memoria de Trabajo. Formada por información referida al estado del agente. Por ejemplo, la memoria de trabajo que almacena las coordenadas espaciales del agente. Intérprete de la Regla. Se trata de un código del programa que usa la memoria de trabajo con el fin de seleccionar la regla que debe activarse. Proceso de entrada. Reúne mensajes y percepciones del medio ambiente y los almacena en la memoria de trabajo. Proceso de Salida. Emite mensajes al medio ambiente y a los agentes. Los modelos pueden variar en el rango de realismo. A saber, modelos que describen la operatoria y dinámica de un sistema real versus modelos que no tiene referente empírico directo, ni buscan simular un proceso real. En efecto, resulta común diseñar modelos en los que existe una correspondencia directa –ontológica- entre los agentes computacionales y los actores del mundo real. Las interacciones entre los agentes corresponden uno a uno con el tipo de interacción que se produce en el sistema real que está siendo emulado. Se trata de modelos enfocados a la modelación de problemas sociales. Un ejemplo es la simulación de epidemias y las estrategias apropiadas para evitar la propagación. El modelo estudia el mejor modo de combatir la propagación a partir de escenarios alternativos en un contexto en que la experimentación es inviable. Los modeladores de sociedades artificiales han generado mundos que no pretenden ser simulaciones de sociedades humanas. En general son modelos que parten de premisas que no son contrastables en una sociedad humana real. Por ejemplo, asignar a los agentes económicos un comportamiento totalmente racional (como lo postula el enfoque neoclásico) o indagar respecto el surgimiento de la cooperación social en sociedades de recolectores y cazadores. Independientemente del tipo de entorno -abstracto o descriptivo-, tipo de agente – reactivo o cognitivo-, tipo de simulación –realista o artificial- los modelos basados en agentes se han revelado como un procedimiento óptimo para pensar en sistemas sociales e investigar en dinámicas que sólo son discernibles a partir de un conjunto de agentes autónomos que interactúan localmente. Se trata de modelos apropiados para estudiar el modo en que se produce la acción social en las sociedades reales. Si se entiende acción social como la operatoria de actores autónomos que interactúan según reglas sociales resulta natural estudiarla mediante un modelo formal que presenta una mecánica similar. Cabe destacar que los modelos multiagentes describen sistemas descentralizados en los que la agregación de las acciones de los agentes produce el comportamiento global del sistema. El comportamiento sistémico no se puede inferir de las propiedades de los agentes componentes y sólo resulta accesible ejecutando el programa computacional que activa a los agentes. En el silicio la sociedad emerge de la interacción local de agentes autónomos. 24 Sitios Web - On-Line Guide for Newcomers to Agent-Based Modelling in the Social Sciences - Multi-Agent Systems - Agent-Based Computational Economics: growing economies from the bottom up - Intelligent Software Agents - WPIAIRG-Multi-Agent Systems Webliography Software de domino público - Netlogo - Repast - Mason 25 4.- REDES NEURONALES ARTIFICIALES Las redes neuronales artificiales son dispositivos de investigación cuya estructura y funcionamiento es una metáfora computacional del sistema neuronal biológico. En el sistema artificial y biológico las neuronas conforman una red compuesta de procesadores sencillos que intercambian información. Las redes neuronales artificiales son modelos que emulan el diseño de la naturaleza. Modelos porque la red no es reducible a una fórmula o procedimiento. La topología corresponde a un conjunto de relaciones entre procesadores locales autónomos e interconectados. Se trata de un modelo en que las conexiones responden a mecanismos de intercambio de información formalizables y replicables. El modelo puede ser representado como un grafo compuesto de nodos y flechas biyectivas que conectan a los nodos entre sí. Puede ser formalizado matemáticamente. La clave de la eficacia de la red neuronal es la operación en paralelo. Cada neurona como dispositivo de procesamiento es muy elemental. Sin embargo, en el cerebro existen cien mil millones de neuronas (10¹¹) y cada una puede conectarse con 10.000 vecinas lo que genera un total de 10¹³ interconexiones posibles. El producto es una red de procesamiento en paralelo que no tiene parangón. La diferencia en velocidad de la red natural y la artificial es de varios órdenes de magnitud. El tiempo de computación de la neurona es casi un millón de veces menor que el de un procesador convencional y tienen una conectividad miles de veces superior a la implementada en las actuales supercomputadoras. El cerebro no opera según la arquitectura de los computadores booleanos/von Neummann. Los sistemas neurológicos no funcionan a partir de los principios de los circuitos lógicos o digitales. No implementan computación recursiva y, en consecuencia, no computan en términos algorítmicos. El cerebro es un computador analógico. Los computadores convencionales están constituidos sólo por un procesador que ejecuta en forma secuencial instrucciones almacenadas en la memoria. Esta arquitectura permite resolver operaciones de cálculo y destreza lógica de modo mucho más eficiente que el cerebro. Sin embargo, existen problemas imposibles para un computador convencional y que resuelve el cerebro de una rana. Por ejemplo, reconocer a una mosca y atraparla. Los sistemas caracterizados por alto grado de borrosidad, imprecisión, no linealidad y emergencias son esquivos para la arquitectura booleana/von Neumann. En este contexto propiedades de la red neuronal artificial como aprendizaje, adaptación y autoorganización adquieren una importancia crucial. La neurona es un procesador sencillo, lento y poco fiable. Conectadas y trabajando en paralelo pueden desarrollar actividades globales de procesamiento inigualables. En una red de neuronas no existe un componente que gobierne el sistema. Las neuronas se autoorganizan y de esta autoorganización emergen potentes posibilidades de procesamiento. Nuestra capacidad de percepción y nuestro pensamiento dependen de ello. La idea que subyace al modelo conexionista es que para abordar el tipo de problemas que resuelve el cerebro hay que imitar la arquitectura de las redes neuronales biológicas. 26 A juicio de Martín del Brio et al. (2005) los tres conceptos claves de los sistemas nerviosos que se pretende emular en los artificiales son: paralelismo de cálculo, memoria distribuida y adaptabilidad al entorno. La red artificial es una metáfora del sistema real que tiene el propósito de construir un procedimiento de procesamiento de información que es paralelo, distribuido, autoorganizado, aprende y se adapta. En un sentido débil del término la red artificial es inteligente. Como modelo la red neuronal está compuesta de capas y nodos. Cabe distinguir tres capas. A saber, capa de entrada que recibe la información del exterior; capas ocultas cuyas entradas y salidas operan dentro de la red; capa de salida que envía la información al exterior. El conjunto de una o más capas y sus correspondientes nodos constituye lo que se conoce como red neuronal. La clave para modelar la operatoria del cerebro es replicar la interconexión entre los nodos. A saber, simular en silicio la sinapsis biológica. Cada nodo recibe y emite información. La entrada y salida de información en las neuronas artificiales es la metáfora computacional de la sinapsis. La neurona artificial recibe la información de las neuronas vecinas ponderada por los pesos de las conexiones entre ellas. La suma de la información ponderada corresponde a la entrada total de información para una neurona cualquiera. Se utiliza una función matemática que opera sobre la información de entrada –función de salidapara calcular el valor a enviar a las otras neuronas. Las entradas y salidas no son señales electroquímicas sino valores numéricos. Según el peso sináptico asociado a la conexión la señal será excitadora o inhibidora. Los pesos sinápticos positivos generan una conexión excitadora asociada a la activación y los pesos negativos impiden la activación. Nótese que los pesos están compuestos de un signo y una magnitud numérica. En la red artificial la información se distribuye según los pesos que vinculan a unas neuronas con otras. Las entradas y salidas de la red es información numérica. La red procesa números binarios o continuos. La red neuronal es un sistema que aprende de su experiencia. Es decir, puede mejorar su rendimiento a partir del entrenamiento. En el aprendizaje el sistema crea su propia representación interna tal que puede mejorar su repuesta ante situaciones que no se habían presentado previamente. La capacidad de aprendizaje es un atributo esencial pues permite a la red adaptarse ante escenarios nuevos y autoorganizarse como sistema. En este contexto se ha desarrollado la noción de aprendizaje adaptativo. Hilera (1995) califica a la red como sistema dinámico autoadaptativo. Son sistemas adaptativos en tanto pueden autoajustar los procesos que se verifican en el sistema. Son sistemas dinámicos dado que pueden cambiar constantemente para adaptarse a nuevas exigencias. Nótese que una red neuronal no requiere de un algoritmo para mejorar su resultado. La misma red adecua los pesos sinápticos. La red aprende a reformular las conexiones inter neuronas en función de su experiencia. La noción de aprendizaje adaptativo se vincula con la autoorganización de la red como sistema. El aprendizaje es el cambio a nivel de interconexiones locales y la autoorganización es la modificación de la red en su totalidad para satisfacer una exigencia concreta. Las redes neuronales se diferencian según sus arquitecturas. Las diversas arquitecturas dicen relación con el patrón de enlace de la red neuronal. Según la 27 arquitectura de conexión y del algoritmo de aprendizaje se distinguen 50 modelos medianamente conocidos. Según Isasi (2004) sólo 15 son usados en aplicaciones. Cronológicamente el primer modelo de red neuronal es el perceptrón. Se trata de un modelo históricamente importante porque demostró que la red es capaz de aprender. En efecto, capaz de alterar automáticamente los pesos sinápticos a partir de un conjunto de ejemplos que operan como fuente de entrenamiento. El perceptrón multicapa figura como una opción en los programas de uso disponibles actualmente. Consiste básicamente en un perceptrón simple al que se han agregado capas ocultas. Para entrenarse utiliza un procedimiento denominado back propagation que es una suerte de retroprogramación. Entre las arquitecturas implementadas en los programas de interés para la investigación social amerita señalar las siguientes opciones: perceptrón, neocognitrón y madelina. Todos ellos satisfacen las propiedades propuestas por Garson (1998). Paralelismo masivo. Miles de nodos o neuronas Conectividad alta. Múltiples interconexiones entre neuronas. Procesamiento simple. Las neuronas realizan operaciones simples. Cálculo del peso sináptico. Representación distribuida. La solución no es información almacenada como respuesta. Está distribuida en toda la red. Computación colectiva. El modelo no resuelve el problema mediante secuencia de instrucciones. Utiliza la conectividad de todas las neuronas. No linealidad. La función de transferencia de los pesos sinápticos se realiza mediante una función no lineal. Adaptabilidad. El modelo opera efectivamente en entornos cambiantes y puede aprender de cambios del entorno. Cilliers (2000) resume la importancia de la red neuronal para el estudio de sistemas complejos. Las redes neuronales conservan la complejidad del sistema porque ellas son una estructura compleja. Las redes neuronales codifican la información del entorno en forma distribuida. Las redes neuronales tienen la capacidad de autoorganizar su operatoria interna. Amerita señalar que a nivel de una neurona local no se percibe la pertenencia a un sistema complejo. Tampoco se realiza una operatoria compleja. Sin embargo, el sistema es capaz de realizar tareas complejas. El comportamiento complejo emerge de la interacción de muchos procesadores simples que responden en forma no lineal a partir de conexiones locales. En la red no existe un componente que gobierne el sistema. La neurona no debe ser programada, simplemente recibe señales de las vecinas. Las neuronas son elementos autónomos que funcionan en base a interacción local. El modelo conexionista no es el único distribuido, autoorganizado y adaptativo. A juicio de Cilliers (2000) los algoritmos genéticos y los autómatas celulares presentan similares características. Nos permitimos añadir que los modelos basados en agentes responden a similar patrón. Sitios WEB - Neural Networks Warehouse - Artificial Neural Netwoks Tutorial - SimWorld Ltd. 28 Software comercial - Neural Conection de SPSS Inc. - Matlab neural networks toolbox - NeuroSolutions - Neurolab Software de dominio público - Joone - NeuralShell - FuNeGen 29 ALGORITMOS GENÉTICOS Los algoritmos genéticos son una metáfora computacional de la teoría de la evolución. Consideran los aspectos esenciales de la evolución biológica y los representan como modelos de computador. En este contexto cabe concebir los algoritmos genéticos como una simulación –idealizada- de un proceso natural Se trata de procedimientos desarrollados como subcampo de la computación evolucionaria. En virtud de los cual están basados en la adaptación natural y consideran dos procesos básicos: selección y reproducción. En rigor no es necesario revisar la base biológica en la cual la computación evolucionaria se inspira. En el mismo sentido que respecto a redes neuronales artificiales no es preciso adentrase en neurociencia. En definitiva, se intenta captar cómo los procesos evolutivos y adaptativos se expresan en los sistemas que competen a cada dominio del conocimiento. Los algoritmos genéticos se utilizan en dos sentidos. A saber, como un procedimiento de optimización en el ámbito de sistemas complejos y como una estrategia para modelar procesos sociales en evolución. Naturalmente no copian las variaciones genéticas naturales en todas sus sutilezas, sí las utilizan como guías heurísticas para orientar su operatoria. Es el ámbito de la teoría de la evolución como heurística algorítmica. La ejecución de un algoritmo genético varía según el sistema que esté siendo sujeto de modelación. En general, es posible distinguir las siguientes etapas. 1.- Población de agentes en proceso de reproducción y adaptación. La operatoria de los algoritmos genéticos se inicia con una población de agentes virtuales cuyos miembros se reproducen para formar generaciones sucesivas de individuos que heredan las características de sus padres. La probabilidad de reproducción exitosa se determina por la aptitud individual. Los individuos idóneos tienen más probabilidades de procrear y pasar sus características a sus descendientes que aquellos no aptos. La reproducción no es sexual ni los individuos humanos. Pueden reproducirse ideas o normas y los agentes ser empresas o familias. En la lógica de un algoritmo genético cada individuo tiene atributos codificados perfectamente identificables. La codificación es mediante dígitos binarios tal que uno representa la presencia de una característica y cero su ausencia. Los individuos que son relativamente no aptos mueren y son reemplazados por individuos que descienden de padres aptos y que tienen probabilidades de ser aptos ellos mismos. Los individuos no realizan ningún aprendizaje como resultado del algoritmo genético, sin embargo, la población como un todo está aprendiendo. Los individuos en su conjunto evolucionan a ser más aptos. La población como una totalidad aprende aunque ningún agente individual tiene conocimiento de este proceso. 2.- Función de evaluación. El origen es una población que se reproduce. Lo hace según una medida de adecuación o función de evaluación. En el inicio no existen los más aptos. El 30 desarrollo comienza con elementos que no tienen ninguna cualidad particular respecto a su función de evaluación. Los cruces iniciales se producen al azar. No hay información respecto a elementos mejor ajustados a la función de evaluación. ¿Qué utilidad tendría un algoritmo genético si se sabe desde el comienzo qué atributos caracterizan a los elementos óptimos? La medida de adecuación usada depende de lo que ha sido modelado. Debe ser posible calcular un solo indicador numérico de adecuación para cada individuo en la población. Establecer una medida de adecuación apropiada es a menudo la parte más difícil en el uso de algoritmos genéticos en simulación social. Si el enfoque teórico asume que los actores maximicen una utilidad externamente observable y calculable entonces esta utilidad se puede usar directamente como una medida de adecuación. Por ejemplo, la adecuación puede basarse en riqueza acumulada, resultado deportivo, nivel de felicidad o alguna combinación de éstas y otras características individuales. Nótese que la implementación del algoritmo genético propende a que la adecuación promedio de la población aumente porque los individuos con mala adecuación son eliminados. Progresivamente el avance en la adecuación será marginal y la población evolucionará al óptimo. 3.- Mecanismos de selección. El algoritmo genético optimiza porque la reproducción es un atributo de los individuos más aptos. El requisito clave para el mecanismo de selección es que las soluciones que tienen mejor desempeño tienen mayor probabilidad de tener descendientes. Para seleccionar a los individuos que van a trasmitir su perfil a la generación siguiente son posibles diversas alternativas: Sólo el mejor se selecciona. De toda la población se elige al individuo que tiene una mejor evaluación y solamente sus atributos son transmitidos a la siguiente generación. Sólo los mejores se seleccionan. De toda la población se eligen los n individuos (n<N) que tienen mejor evaluación y la siguiente generación se genera a partir de sus atributos. Todos pueden seleccionarse. Cada individuo de la población se selecciona con una probabilidad mayor cuanto mejor sea su evaluación. Variantes de estas alternativas son la selección por ruleta y por torneo. Todas ellas presentan ventajas y desventajas. Un tratamiento detallado en Mitchell (1996) 4.- Operadores genéticos Posterior a la selección de los más aptos cabe aplicar una secuencia de operadores genéticos que simulan el proceso de reproducción de los seres vivos. Los operadores genéticos introducen la variación en la o las soluciones reproducidas. Normalmente se utilizan dos operadores: cruce y mutación. El operador de cruce introduce una suerte de variación aleatoria. El cruce de perfiles es al azar pero lo que se está cruzando no emerge del azar. Cada uno de los perfiles representa soluciones parciales que han sobrevivido a etapas previas de selección. La mutación como operador genético es otro modo de introducir variación en la secuencia de soluciones parciales. En general, la evolución presenta la tendencia de 31 transformar en dominantes determinado perfiles. Sin mutación tales perfiles serían fijados para siempre porque el cruce por si mismo no produce nuevos perfiles. La mutación evita que el algoritmo se paralice y facilita nuevas oportunidades en el proceso de evolución hacia el óptimo. La aplicación de operadores genéticos es la última intervención en el proceso evolutivo. La población luego de iteraciones sucesivas logra satisfacer la medida de adecuación. En ese momento el algoritmo se detiene. El algoritmo genético es una simulación en silicio de los mecanismos biológicos evolutivos de selección y reproducción heterosexual que incorporan la variación genética. En este contexto se utiliza vocabulario propio de la genética. No es condición para el uso del algoritmo sin embargo resulta recurrente en la bibliografía. En el libro seminal Holland (1975) señala que su inspiración fue la facilidad de los organismos vivos para resolver problemas y la versatilidad que para ello exhiben. La recepción inicial fue de escepticismo. Sin embargo, los éxitos evidentes indicaban algo que realmente parecía imposible, es decir, mejorar una población partiendo desde la nada. Se han presentado innumerables resultados experimentales que avalan la potencia de los algoritmos genéticos. Resulta ilustrativo el ejemplo presentado por Flake (1999) para evidenciar la capacidad impresionante de los algoritmos genéticos como procedimientos que permiten generar la población apropiada en un problema expecífico. El problema es partir de una selección aleatoria de letras y converger a la frase “furious green ideas sweat profusely”. La frase está compuesta de 31 letras y 34 caracteres (blancos incluidos). El número de variaciones posibles de 34 caracteres con un alfabeto de 27 letras es un número inconcebible 27³². Nótese qua la edad del universo medida en segundos es sólo de 27¹³. Un computador superpoderoso que produzca 300 millones de soluciones por segundo no alcanzaría en el tiempo que ha durado el universo a generar todas las variaciones posibles tal que algunas se parezcan o reproduzcan la frase “furious green ideas sweat profusoly”. Flake partiendo de 500 variaciones de 35 caracteres al azar con un operador de cruce de 75% y tasa de mutación de 1% logró en el insólito lapso de pocos minutos y después de sólo 46 generaciones utilizando un computador normal arribar a la solución reproduciendo una frase que es arbitraria y de sentido confuso. La adivinación de una frase es un ejemplo trivial de la capacidad del algoritmo para mejorar una población a partir de la simulación computacional de un proceso natural. Nótese que el algoritmo parte del azar y no sabe hacia dónde debe converger. Sin embargo, logra el resultado óptimo en un tiempo mínimo El algoritmo genético se puede usar para estudiar procesos de adaptación, aprendizaje y cambio social. Sin embargo se presentan distintas dificultades. Por ejemplo, codificar todas las características propias de un agente en una cadena binaria o definir una medida de adecuación para procesos sociales. Los algoritmos culturales desarrollados por Reynolds (1994), discípulo de Holland, han sido definidos como modelos computacionales de la evolución cultural. Permiten el estudio de la transmisión de rasgos culturales o comparar el ritmo del cambio cultural y el biológico. El algoritmo cultural es una estrategia híbrida que combina la lógica de lo genético con la operatoria del autómata celular. Los críticos a esta heurística evolucionista resaltan que los algoritmos genéticos mediante un proceso análogo al de la selección natural resuelven problemas complejos por medios que incluso sus creadores no comprenden en su totalidad. En este contexto Goldberg (1989) señala “La naturaleza sólo está interesada en aquello 32 que funciona. Tiene poco tiempo para la contemplación erudita y nos hemos unido a ella en su ágil persecución del mejoramiento continuo”. Formalmente los algoritmos genéticos son una simple secuencia de etapas que se desarrollan a partir de unas pocas reglas que se iteran sucesivamente. No existen pruebas ni demostraciones matemáticas. Sin embargo, se ha acumulado evidencia empírica que demuestra su sorprendente y contra intuitiva habilidad para resolver una gran cantidad de problemas semejantes en campos muy diferentes. Sitios Web - Genetic Algorithm Warehouse - The Genetic Algorithms Archive - Introduction to Genetic Algorithms - Genetic Algorithm Utility Library Softaware comercial - Gene Hunter de Ward System - Matlab Genetic Algorithm Toolbox Software de dominio público - Goal - Genetic Pattern Finder 33 BIBLIOGRAFÍA Atxell R.: (2007) “The End of the Begining for Multi-Agent Systems Social Science” En: Phan D. et al.: Agent-Based Modelling and Simulation. Oxford: Bardwell Press Auyang S.: (1998) Foundations of Complex System Theories. Cambridge: Cambridge University Press Axelrod R.: (1997) The Complexity of Cooperation. New Jersey: Princeton University Press Bailey K.: (1994) Sociology and the New Systems Theory. New York: State University of New York Press Batty M.: (2005) Cities and Complexity. Understanding Cities with Cellular Automata, Agent Based Models and Fractals. London: MIT Press Buckley W.: (1967) Sociology and Modern System Theory. New Jersey: Prentice Hall __________ (1998) Society. A Complex Adaptative System. Amsterdaqm: OPA Conway J.: (1970) En: Martin Gardner. “Mathematical Games”. Scientific American 6 Epstein J.: (2006) Generative Social Science. Princenton: Princeton University Press Epstein J. et al.: (1996) Growing Artificial Societies. Washington: Brookings lnstitution Press Fararo T.: (1989) The Meaning of Theoretical Sociology: Tradition and Formalization. New York: Cambridge University Press Faussett L.: (1993) Fundamental of Neural Networks. Architectures, Algorithms and Applications. New Jersey: Prentice Hall Flake G.: (1999) The Computational Beauty of Nature. Cambridge: MIT Press. Forrester et al.: (1971) World Dynamics. New York: Productivity Press Garson D.: (1998) Neural Networks. An Introduction Guide for Social Scientists. London: Sage Publications Geyer R.: (1986) Sociocybernetic Paradoxes. London: Sage Publications Gilbert N.: (2008) Agent-Based Models. California: Sage Publications Gilbert et al. (2005) Simulation for the Social Scientist. Berkshire: McGraw-Hill Goldberg D.: (1989) Genetic Algorithmsin in search, optimization and machine learning. Reading: Adisson-Wesley Haken H.: Synergetics. (1983) New York: Springer-Verlag Hilera J. et al.: (1995) Redes Neuronales Artificiales Madrid: RA-MA Holland J.: (2004) El Orden Oculto. De cómo la adaptación crea la complejidad. Méjico: FCE __________ (1998) Emergence: From Chaos to Order. New York: Basis Books ___________ (1975) Adaptation in Natural and Artificial Systems. Ann Arbor: University of Michigan Press Isasi P. et al.: (2004) Redes Neuronales Artificiales. Un Enfoque Práctico. Madrid: Pearson Educación Jervis R.: (1997) System Effects. Complexity in Political and Social Life. New Jersey: Princeton University Press Kluver J. et al.: (2003) “Formal models, social theory and computer simulation” En: Journal of Social Simulation and Artificial Societies 6 (2) Kauffman S.: (2003) Investigaciones. Barcelona: Tusquets __________ (1995) At Home in the Universe. The Search of the Laws of Selforganization and Complexity. Oxford: Oxford University Press King I.: (2000) Social Science and Complexity. New York: Nova Science Publishers Korn G.:et al.: (1978) Digital Continuous System Simulation. New Jersey: Prentice-Hall Luhmann N.: (1998) Sistemas Sociales. Barcelona: Anthropos Mainzer K.: (2004) Thinking in Complexity. Berlin: Springer-Verlag Marion R.: (1999) The Edge of Oganization. Chaos and Complexity Theories of Formal Socials Systems. California: Sage Publications 34 Martín del Brio B et al.: (2005) Redes Neuronales y Sistemas Difusos. Méjico: Alfaomega Miller J.: et al. (2007) Complex Adaptative System. An Introduction to Computational Models of Social Life. New Jersey: Princeton University Press Mitchell M.: (1996) An introduction to Genetic Algorithms. Cambridge: MIT Press Morgan B.: (1984) Elements of Simulation. New York: Chapman and Hall Morin E.: (2004) Introducción al Pensamiento Complejo. Méjico: Gedisa __________ (1977-2004) El Método. Madrid: Cátedra Parsons T.: (1956) El Sistema Social. Madrid: Revista de Occidente Pedgen et al.: (1995) lntroduction to Simulation. New York: McGraw-Hill Prigogine et al.: (1986) Exploring Complexity. Munich: Piper Reynolds R.: 1994 “Learning to Cooperate Using Cultural Algorithms”. En: Gilbert N. et al.: Simulating Societies. London: University College of London Press Ruelle D.: (1986) Azar y Caos. Madrid: Alianza Rumelhart D. et al.: (1986) Parallel Distributed Processing. Cambridge: MIT Press Thom R.: (1982) Estabilidad Estructural y Morfogénesis. Madrid: Gedisa Sadeh L.: (1994) “Fuzzy Logic, Neural Netxorks and Soft Computing”. En: ACM vol 73 (3) Sawyer K.: (2005) Social Emergence. Cambridge: Cambridge University Press Schelling T.: (1978) Micromotives and Macrobehaviours. New York: Norton Schiber T.: (1989) "The Nature and Role of Simulation" En: Simulation in CIM and Artificial Intelligence” (25): 5-18 Taber C. et al.: (1996) Computational Modeling. California: Sage Publications Wolfram S.: (2002) A New Kind of Science. Champaign: Wolfram Media __________(1994) Cellular Automata and Complexity. New York: Westview Press Wooldridge M.: (2006) An Introduction to Multiagent Systems. Chichester: John Wiley and Sons Von Bertalanffy L.: (1962) Teoría General de Sistemas. Méjico D. F.: Fondo de Cultura Económica Von Foerster H.: (1979) "Cybernetics of Cibernetics" En: Krippendorff K.: Communication and Control in Society. New York: Routledge 35