69
Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile Motivaciones Difusas en Agentes Basados en Comportamientos Tomás Arredondo Vidal Departamento Electrónica UTFSM

Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

  • Upload
    doquynh

  • View
    236

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Motivaciones Difusas en Agentes Basados en Comportamientos

Tomás Arredondo VidalDepartamento Electrónica UTFSM

Page 2: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Objetivos de esta charla

� Introducir la robótica

� Introducir algunas aplicaciones de la softcomputing en robótica

� Introducir las motivaciones en el contexto de los agentes inteligentes basados en comportamientos

IRMABOT2 (UTFSM)

Page 3: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Por que es difícil la robótica?

� Ambientes complejos son casi imposibles de caracterizar (modelar):

� Dinámicos, impredecibles

� Hay puntos no accesibles al robot

� Modelos inerciales (e.g. mapas de navegación) tienen errores incrementales

� La representación simbólica del ambiente siempre va a incluir errores de representación (e.g. discretización)

� La realidad es su mejor modelo

MARGE (NCSU)

Spirit (JPL/NASA)Spirit (JPL/NASA)

Page 4: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Por que es difícil la robótica?

� El robot y su ambiente forman un sistema dinámico

� El estado de los sensores de un robot es una función de su ambiente y sus acciones

� No es fácil saber apriori cuales son los efectos de las acciones de los mecanismos internos del robot

� Debería ser arraigado en la realidad � La A.I. tradicional utiliza lógica simbólica para

representar el mundo muchas veces sin ninguna relación con la realidad

IRMABOT (UTFSM)

Page 5: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Arquitecturas robóticas: Diseño convencional (top-down)

� Metodología jerárquica

� Requiere modelos relativamente exactos del mundo

� Usan lógica simbólica para representar su ambiente

� Funciona bien para ambientes estáticos y controlados

Sensors

PerceptionModelingPlanning

Task Execution

Motor Control

Actuators

KUKA Robot Arm

Page 6: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Behavior Based Robotics: [Brooks 87]� Comportamiento complejo no es

necesariamente el producto de un sistema complejo de control

� Metodología de agentes paralelos reactivos, cada agente ejecuta una pequeña porción de un trabajo

� Funciones mas complejas requieren el trabajo de grupos de agentes

� La simplicidad es una virtud� Los robots deben ser baratos� La robustez al ruido o falla de

sensores es un objetivo de diseño� Toda computación a bordo del robot

es importante� Representaciones no simbólicas� Agentes se pueden inhibir o ayudar� El proceso de desarrollo debe ser

incremental (o evolutivo)

Sensors

ReasonPlanning

Task ExecutionMonitor ChangesIdentify Objects

MappingExploreWander

Avoid Objects

Actuators

IRMABOT2 (UTFSM)

Page 7: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Arquitecturas robóticas

� En el tiempo el robot puede tener la necesidad de hacer un modelo cognitivo del mundo.

� Estos modelos tratan de representar el mundo, el robot y su interacción.

� SLAM (Simultaneous Localization andMapping) se refiere al proceso de representar el ambiente usando mapas geométricos y localizarse usando dichos mapas.

� Finalmente se necesita planear movimientos para que el robot los ejecute.

� Nuestros mapas / acciones siempre van a tener errores es por esto que nuestro robot debería poder aprender de sus errores para corregirlos.

Kismet Robot (MIT)

Page 8: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Objetivos de esta charla

� Introducir la robótica

� Introducir algunas aplicaciones de la softcomputing en robótica

� Introducir las motivaciones en el contexto de los agentes inteligentes basados en comportamientos

Spirit Test Rover(JPL/NASA)

Spirit Rover(JPL/NASA)

Page 9: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Introducción a lógica difusa

� La lógica difusa es una extensión de la lógica tradicional (Booleana) que utiliza conceptos de pertenencia de sets mas parecidos a la manera de pensar humana.

� El concepto de un subset difuso fue introducido por L.A. Zadeh en 1965 como una generalización de un subset exacto (crisp subset) tradicional.

� Los subsets exactos usan lógica Booleana con valores exactos como por ejemplo la lógica binaria que usa valores de 1 o 0 para sus operaciones.

Lotfi Zadeh

Page 10: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Un set exacto (crisp set)

μs(x)

x

μS : X -> {0,1}

μS(x) = 1 si x es un miembro de S

μS(x) = 0 si x no es un miembro de S

N

funcióncaracterística 1

Page 11: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Función de pertenencia de x al set difuso F: μF(x)

� Ej: μF(x) corresponde al grado de pertenecia de x a F (nivel de frío medido en la variable x)

-40 -20 0 10 20 30

1

0

μF(x)

x (oC)

fríomas o menos frío

No tan frío

Definitivamenteno frío

Page 12: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Reglas IF-THEN difusas

Una regla IF-THEN difusa es de la forma

IF x is A THEN y is B

� En la cual A y B son variables lingüísticas definidas por sets difusos en los universos X e Y.

� La parte IF x is A es llamada el antecedente o premisa, mientras la parte THEN y is B es llamada la consecuencia o conclusión.

AsimoAsimo (Honda)(Honda)

Page 13: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Sistemas de inferencia tradicionales

� Tipicamente los sistemas de inferencia (e.g. controladores) se relacionan con el mundo externo a traves de valores exactos

velocidad controlador flujo de gasolina

� Si el controlador usa logica difusa va a ser necesario algunaconversion

Page 14: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Sistemas de inferencia usando lógica difusa

� Esto se denomina fuzzificacion y defuzzificacion.

input exacto

fuzzificador controladordifuso

defuzzificador output exacto

Page 15: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Lógica Difusa en la Robótica

� Como puede un robot autónomo usar la lógica difusa para poder tomar decisiones y resolver problemas de control que tiene?

� El robot tiene un espacio de input mucho mayor que típicas aplicaciones difusas

� Mas variables (inputs) incrementan el numero de evaluaciones exponencialmente

� Al crecer el numero de reglas la descripción manual es muy difícil

� Veamos algunos ejemplos…

Page 16: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Lógica difusa en la robótica: HEXAPOD

� En el robot hexapodo MKIII se utilizaron reglas fuzzy para interpretar valores de sus sensores y actuar para evitar obstáculos [Kern 2005]

� En el caso de un hexapodo este siempre tiene estabilidad dado que siempre mantiene tres pies en el suelo en una configuración estable

Page 17: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Lógica difusa en la robótica: HEXAPOD

� Se usaron sensores IR Sharp GP2D02 que indican distancia y presencia de obstáculos

� El output del sensor (x) no es lineal y se tiene que modelar para obtener la distancia al objeto (y)

Page 18: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Lógica difusa en la robótica: HEXAPOD

� Se uso un sistema de reglas de inferencia fuzzy para evitar obstáculos

� Variables lingüísticas (y funciones de membresía) usadas fueron:

� A es el set fuzzy, x es el input o output, α esel centro y σ el ancho:

� FIS: 2

)(

= σα

µi

iA

x

ex

Page 19: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Lógica difusa en la robótica: HEXAPOD

� Reglas fuzzy:

Page 20: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Lógica difusa en la robótica: HEXAPOD

� Resultados fueron que el robot lograra navegar sin chocar incluyendo obstáculos dinámicos

� Pequeños ajustes a las reglas fueron necesarios para evitar que se entrampara en mínimas locales con algunas combinaciones de inputs.

� Se uso fuzzificacion con singletons y defuzzificacion con promedios de centro (center average defuzzification)

� y’i es el centro de la función Bm (para la regla m), μAm(xi) es el grado de membresia de xi a la regla Am y M =27 es el numero de reglas.

Page 21: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Lógica difusa en la robótica: HEXAPOD

� Rutas:

Page 22: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Lógica difusa en la robótica: MARGE

� En el robot MARGE [Goodridge 1994] se utilizaron controladores difusos independientes (agentes)

� Las reglas difusas especificaron el accionar de cada agente independientemente y el output de cada agente es un singleton

� Reglas de arbitración hace decisiones en el caso que hallan contradicciones o competencias entre el output de los agentes independientes

� Esta arquitectura replica la operación de los cerebros biológicos ya que no hay un repositorio centralizado de datos y la comunicación entre regiones es a veces limitada

MARGE (NCSU)MARGE (NCSU)

Page 23: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Redes Neuronales� Las ANNs son un paradigma para

hacer computo y para la detección de patrones basado en la interconexión paralela de neuronas artificiales [McCullough 1943]

� Este ejemplo de un multilayerneural network es capaz de resolver el problema del XOR

� Los valores sobre las líneas indican pesos y los en los círculos indican umbrales (thresholds)

� La función no lineal es un stepfunction con valores de 1 si el umbral el excedido y de 0 si el umbral no es excedido

1

1.5 0.5

x1

x2 1 1

1

y

X1 X2 Y

0 0 00 1 11 0 11 1 0

1

1 1

-2

1

1

1

)( iii SfO =

001

00)( xwxwxwxwS iTi

n

jijiji −=−=∑

=

i

n

jijijxw Θ≥∑

=1

)(

Page 24: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Entrenamiento de Redes Neuronales� El aprendizaje en la robótica requiere de la capacidad de generalizar basado

en sets limitado de información de aprendizaje

� Generalmente requiere de algún feedback o Teacher para calcular el Error

� Para redes neuronales multicapa (multilayer NNs) el algoritmo mas utilizado es el de backpropagation que depende del gradiente del Error para entrenar la red neuronal

xi1

xin

wi1

win

f Oi

Bias

TeacherAlgoritmo de Aprendizaje

Calculo deError

Ti

Si

Eixi1

xin

Neurona

Page 25: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Algoritmos Genéticos

� ¿Que es un algoritmo genético (GA)?� Los algoritmos genéticos (GA) son algoritmos de búsqueda y optimización basados

en los mecanismos de selección natural y genética.

� Los GA usan los siguientes mecanismos:� la sobrevivencia de los organismos con mejor capacidad dentro de una población

� uso de secuencias de caracteres (generalmente 1s y 0s) en strings como representación del ADN de estos organismos

� el uso de métodos aleatorios (random) para la generación de la población y para su reproducción

Page 26: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Algoritmos Genéticos

Poblacióngeneración = n

Mecanismo aleatorio de reproducción

Poblacióngeneración = n+1

Page 27: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Algoritmos Genéticos

� Cómo se funcionan los algoritmos genético (GA)?

� Los GA utilizan lo siguiente:� Esquema de codificación de la información de los miembros en strings (ADN de 1s y 0s)

� Evaluación de capacidad (fitness) de cada miembro

� Selección aleatoria de los miembros que se van a reproducir

� Cruce de la información de los miembros (Crossover)

� Mutación de la información

Page 28: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

GAs y ANNs: entrenamiento de Robot Kephera

� Una manera de crear robots es usando robótica basado en acciones

� En este método el robot depende directamente de los inputs de sus sensores a un ANNs para determinar sus acciones

� Este se entrena usando un GA [Floreano 1996]

Page 29: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

GAs y ANNs: entrenamiento de Robot Kephera

� Los pesos de la red neuronal del robot se evolucionan usando GAs

Page 30: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

GAs y ANNs: Robot Kephera

� La idea es que el robot Kephera sea capaz de

� navegar en su medio ambiente

� evitar murallas

� recargar su batería cuando esta se descargue

Page 31: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

GAs y ANNs: el simulador YAKS

� El simulador YAKS utiliza una población de soluciones (redes neuronales) para optimizar rutas en diferentes piezas de acuerdo a una función de fitness

Page 32: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

GAs y ANNs: el simulador YAKS

� En YAKS los robots aprenden usando el GA en el simulador y usando una función de fitness que penaliza rutas de acuerdo a:� choques

� descarga total de batería

� no volver a su casa

Page 33: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Objetivos de esta charla

� Introducir la robótica

� Introducir algunas aplicaciones de la softcomputing en robótica

� Introducir las motivaciones en el contexto de los agentes inteligentes basados en comportamientos

Obrero (MIT)

BigDog(Boston Dynamics)

Page 34: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Agentes Inteligentes

� Los agentes inteligentes proveen un esquema general para analizar y desarrollar sistemas inteligentes bajo una arquitectura común.

� Los cuatro tipos de agentes inteligentes mas comunes considerados son:� Deductivos� Deliberativos (deliberative towards means ends reasoning)

� Deliberativos basados en motivaciones

� Basado en comportamientos (behavior based)

� A esta lista agregamos un nuevo tipo:� Behavior based usando motivaciones

Page 35: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Agentes Deductivos

� Esquemas deductivos requieren una representación de lógica simbólica del ambiente.

� Estos sistemas manipulan símbolos usando operadores lógicos (e.g. AND, OR, →, etc) en una manera correspondiente a deduccion logica o una demostracion de teoremas correspondiente a la deduccion logica.

� Una especificación ejecutable usando reglas de deducción se aplica cuando ciertas condiciones se cumplen.

Page 36: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Agentes Deductivos

� Hay varias dificultades con este tipo de métodos [Arkin98, Woolridge 2002] las principales son:� Transducción – la dificultad en traducir el mundo real a una

representacion simbolica correcta y valida.

� Representación/razonamiento – lograr que los agentes manipulen la informacion simbolica correctamente y a tiempo para que estos resultados sean utiles, razonamiento deliberativorequiere que el conocimiento (Knowledge) en el cual se basa el razonamiento sea consistente, confiable y certero.

� Ambientes dinámicos y ruidosos.

Page 37: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Agentes Deductivos

� Dificultades con este tipo de métodos:� Altamente jerárquico – en el cual comunicaciones y control fluyen

hacia arriba y abajo en la estructura jerarquica de los agentes. Si hay un cambio en el ambiente la nueva informacion debe fluir completamente arriba de la jerarquia para que el agente delibere y decida en un nuevo curso de accion despues debe fluir completamente hacia abajo de la estructura jerarquica.

� Dado el retardo temporal durante este procesamiento sistemas jerarquicos son mas adecuados para aplicaciones estructuradas y altamente predecibles (e.g. una celda de manufactura).

� Dificultad en desarrollar un sistema completo – como la competencia incremental se hace dificil de lograr, el sistema completo se debe completar antes de hacer pruebas. Esto es contrario a procesos actuales de desarrollo (e.g. metodos agiles, iterativos, o incrementales).

Sense

Model

Plan

Act

Page 38: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Deliberativos (deliberative towards means ends reasoning)

� Deliberation toward means-ends reasoning es razonamiento que en general esta dirigido a acciones, el proceso de determinar que hacer ahora.

� El paradigma belief desire intention (BDI) personifica este tipo de razonamiento y contiene estructuras de datos que básicamente corresponden a estos estados mentales (creencias, deseos, intenciones).

� El Procedural Reasoning System (PRS) fue la primera y es la mas común implementación de BDI [Georgeff1989].

Page 39: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Deliberativos (deliberative towards means ends reasoning)

� PRS consiste de:� Una base de datos (i.e. beliefs) que

contiene hechos sobre el ambiente y estados internos

� Deseos que representan los objetivos del agente

� Una estructura de intenciones que contiene esos planes que el agente esta cometido a cumplir

� Un set de planes que tienen sus precondiciones satisfechas, estos planes describen la secuencia de acciones que se deben ejecutar para satisfacer ciertos deseos.

� Planes en PRS tienen los siguientes componentes:� Un objetivo – la postcondicion del plan� Un contexto – la precondicion del plan� Un cuerpo – la parte del plan con la

receta o las acciones a ejecutar

Beliefs Plans

Interpreter

Intentions Desires

Actuators

Datainput

Actioncommands

Sensors

EN

VIR

ON

ME

NT

Actions

Measurements

Page 40: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Problemas con BDI

� Sobrecarga cognitiva:� Hay restricciones de recursos dado que BDI puede generar

objetivos en línea como respuesta a cambios en el ambiente o su estado.

� Hay restricciones de recursos computacionales cuando una cantidad de objetivos han sido generados.

� Calcular si una instancia preposicional tiene soluciones es un problema de complejidad PSPACE-complete que puede ser reducido a NP-complete una vez que se restringe severamente las formulas y operadores usados [Bilander 94].

Page 41: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Problemas con BDI

� Sobrecarga cognitiva:� Un agente puede ser capaz de lograr sus objetivos dado

suficiente tiempo pero hay restricciones al tiempo de procesamiento que se puede usar para planear, manejo de objetivos y otras tareas deliberativas.

� El agente se puede sobrecargar por estas tareas hasta excluir toda otra actividad y una posible solución es enfocar la atención en un grupo relevante de objetivos para evitar sobrecarga cognitiva [Bilander 1994].

� Lamentablemente este mecanismo de filtrado puede no ser muy exitoso a medida que avanza el tiempo porque una variedad de alternativas validas se generan que pueden ser compatibles con las intenciones actuales del agente.

Page 42: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Deliberativos basados en motivaciones

� Se agregan motivaciones al modelo BDI para restringir el espaciode búsqueda.

� En la propuesta deliberativa basada en motivaciones [Norman 97],un motivo es un mapeo de sus creencias (beliefs) actuales sobre el estado de su dominio a una lista (posiblemente vacía) de motivatedgoals (mgoals):

mgoal = (motivation, goal)

� Un agente de este tipo tiene dos funciones: generación de objetivos y activación de objetivos. Ambos tienen la capacidad de generar objetivos motivados en respuesta a cambios detectados en sus beliefs (B) actuales:

motive : Θ(B) →Θ(mgoal).

Page 43: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Deliberativos basados en motivaciones

� En este esquema, el valor de motivación asociada con un objetivo (goal) cambia en el tiempo a medida que los beliefs cambian y refleja la relevancia del goal al agente:

mgoal = (motivation, goal)

� Si la motivación de un objetivo es mayor que la de otro entonces se actuara en la de mayor motivación.

� Es importante encontrar un balance para la generación de motivaciones entre la importancia subjetiva y temporal (urgencia).

� Un objetivo se activa solo si se dispara pasado un umbral y se considera apropiado vía un sistema complejo de alarmas y recomendaciones (guidelines).

Page 44: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Basado en comportamientos (behavior based)

� Introducido en el ámbito de la robótica (e.g. subsumption architecture), este esquema se ha extendido a sistemas basado en agentes en general [Brooks 86, Woolridge 2002]

� Estas arquitecturas en general:� No consideran modelos representativos o conocimientos simbólicos� Hay un acoplamiento entre sensar y actuar

� Esta filosofía promueve la idea que los sistemas basados en agentes debería ser� De bajo costo� Robustos a ruido sensorial � Sin calibración� Sin computadora ni sistemas de comunicación complejas

� Planificar basado en representaciones complejas no se ven como algo beneficioso dado su error y costos temporales

� Un agente puramente reactivo (behavior based) basa sus decisiones solo basado en el estado actual:

Agr : Θ(E) → A

Page 45: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Basado en comportamientos (behavior based)

� Sistemas basados en comportamientos se desarrollan de forma incremental en capas horizontales en la cual comportamientos mas complejos se ponen en capas superiores en un proceso iterativo sin necesidad de cambiar capas inferiores.

� Dos conceptos claves de sistemas robóticas basados en comportamientos que se pueden extender al paradigma de agentes son:� Situatedness

� Embodiment

Create Maps

Explore

Avoid collisions

Move around

Modify the world

Page 46: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Criticas a behavior based systems en capas

� Dado que las capas (n) son independientes y cada capa puede generar múltiples comportamientos (m) existe una gran cantidad de comportamientos (acciones) posibles (mn)

� El valor de mn es el limite superior al número de acciones que un sistema basado en capas horizontales debería considerar.

� Si un mediador fuera a considerar cada una en turno para elegir la mejor simplemente se estaría cambiando la deliberación de las n capas horizontales a una sola capa (el mediador).

� Esto seria otra forma de cognitive overload y claramente no seria practico.

� Una manera para soslayar esto podría ser usar una menor granularidad en la partición del espacio de acciones.

Page 47: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Posible solución al cognitive overload de múltiples capas

� Por ejemplo podría hacer una deliberación en la cual se seleccióna una de m capas a tomar control del sistema basándose en variables internas y externas.

� Esto puede parecer como una solución no optima pero es típica de soluciones de acuerdo o consenso aproximadas que se utilizan en métodos basados en softcomputing a problemas intratables para encontrar soluciones útiles pero no optimas.

Page 48: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Posible solución al cognitive overload de múltiples capas

� Nuestra propuesta es una extensión de agentes basados en comportamientos en la cual motivaciones impulsan a los agentes a actuar.

� En este caso no se usan las motivaciones para tratar de reducir el espacio de búsqueda de comportamientos como en caso del método deliberativo pero de dar un método de evaluar un comportamiento (scoring) para que los agente(s) responsable(s) puedan mejorar (i.e. iterar) en el tiempo.

� Como es una extensión basada en comportamiento no se usan un sistema separado de activación con sus asociados alarmas y recomendaciones (guidelines).

Page 49: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Implementación para un agente

Select Nmotivations:

m1,...,m

NSelect one

environment

GAgenerates populationmember or Ends

Agent performsactions in

environment

Based on actions

Compute Nfitness values:

f1,...,f

N

Compute fuzzy fitness F

based on:m

1,...,m

N

and f1,...,f

N

F

Page 50: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Implementación para un agente

Sensor_1

Sensor_8

Motor_L

Motor_R

Modifyweights

GA:

-Reproduction-Mutation-Elite-Fuzzy Fitness

.

.

.AEM

Page 51: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Fuzzy, AGs y ANNs: IRMA� Se hizo un trabajo como parte del proyecto IRMA para la integración

de motivaciones Fuzzy, GA y ANN en YAKS [Arredondo 2006]

Page 52: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Fuzzy, AGs y ANNs: IRMA

� Se modifico YAKS agregándole una función para el calculo de fuzzy fitness F.

� Para calcular F se usan valores obtenidos de la ruta hecha por el robot y las motivaciones entre 0-1:� curiosity, � homing,� energy,� missions

Page 53: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Fuzzy, AGs y ANNs: IRMA

� El set de motivaciones (M) incluye: curiosity (m1), homing (m2), energy (m3), y misiones (m4)

� Durante el entrenamiento el robot hace su comportamiento y un set de valores normalizados (0-1) de fitness (f1 - f4) correspondían a la tareas obtenidas del simulador:� cantidad de área explorada (f1)� terminación de acciones y escape del área original

(f2),� porcentaje de uso de batería (f3),� cumplimiento de misiones (f4).

Page 54: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Fuzzy, AGs y ANNs: IRMA

� Cuando se entrena, estos valores de fitness se calculan después que el robot completa cada corrida:� f2: percentage area explored relative to the optimum.� f1 = 1 − (final distance to home/maximum distance).� f3: estimated percent total energy consumption

considering all steps taken.� f4: determined by having the robot determine if he has

completed the mission or not.

Page 55: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Fuzzy, AGs y ANNs: IRMA

� Despues se calcula fuzzy fitness (F) usando los valores del simulador (f1 – f4) y las motivaciones (m1 – m4) durante la exploracion

� F se calcula usando un motivation satisfaction product(MSP) de cada motivación con el valor de fitness del simulador asociado (e.g. m1*f1, m2*f2, m3*f3, m4*f5)

� Se generan 625 reglas (i.e. 45) de MSP para calcular F:

Page 56: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Resultados

� Navigation: (C, H, O, E) = (.8, .1, 0, .1)

Page 57: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Resultados

� Navigation: (C, H, O, E) = (.5, .3, 0, .2)

Page 58: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Resultados

� Table1: (C, H, O, E) = (.8, .1, 0, .1)

� Table2: (C, H, O, E) = (.5, .3, 0, .2)

Page 59: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Resultados

� (C, H, O, E) = (.15, .7, .15, .7)

Page 60: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Implementación para múltiples agentes

Plan Routes

Create Maps

Avoid collisions

Move around

Monitor

Blackboard

Sense Environment

Control Actuation

Page 61: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Page 62: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Mapper

Page 63: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

LR

Page 64: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

LR

Page 65: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Page 66: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

� Esta investigación fue financiada parcialmente por la DGIP de UTFSM (230808).

� Se agradece el trabajo del taller de Electrónica en la confección de los robots mostrados.

� Mas informacion en:

http://profesores.elo.utfsm.cl/~tarredondo/papers.html

Page 67: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Referencias

1. Arkin, R.: Behavior-Based Robotics, MIT Press, Cambridge, (1998).

2. Park, H., Kim, E., Kim, H.: Robot Competition Using Gesture Based Interface. LNAI,Vol. 3353. Springer-Verlag, Berlin (2005) 131-133

3. Jensen, B., Tomatis, N., Mayor, L., Drygajlo, A., Siegwart, R.: Robots Meet Humans - Interacion in Public Spaces. IEEE Transactions on Industrial Electronics, Vol. 52, No. 6 (2006) 1530-1546

4. Arredondo, T., Freund,W., Mu˜noz, C., Navarro, N., and Quir´os, F.: Fuzzy Motivations for Evolutionary Behavior Learning by a Mobile Robot. LNAI, Vol. 4031. Springer-Verlag, Berlin (2006) p. 462-471.

5. Huitt, W.: Motivation to learn: An overview. Educational Psychology Interactive.http://chiron.valdosta.edu/whuitt/col/motivation/motivate.html, (2001).

6. Goodridge, S., Luo, R.C.: Fuzzy behavior fusion for reactive control of an autonomous mobilerobot: MARGE, 1994 IEEE International Conference on Robotics and Automation, Volume , Issue , 8-13 May 1994 Page(s):1622 - 1627

Page 68: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Referencias

7. Chalmers, D.J.: The evolution of learning: An experiment in genetic connectionism. Proceedings of the 1990 Connectionist Models Summer School, p. 81-90. SanMateo, CA.: M. Kaufmann, 1990

8. YAKS simulator website: http://freshmeat.net/projects/yaks/

9. Yamada,S.: Recognizing environments from action sequences using self-organizing maps, Applied Soft Computing, 4 (2004) 35-47

10. Teuvo, K.: The self-organizing map. Proceedings of the IEEE, 79(9), (1990) 1464-1480

11. Norman, T.J.: Motivation-based direction of planning attention in agents withgoal autonomy, PhD Thesis, Department of Computer Science, University Collegeof London, UK. (1997)

12. Tan, K.C., Goh, C.K, Yang, Y.J., Lee, T.H.: Evolving better population distributionand exploration in evolutionary multi-objective optimization, European Journal of Operations Research 171 (2006) 463-495

Page 69: Motivaciones Difusas en Agentes Basados en …profesores.elo.utfsm.cl/~tarredondo/seminario-investigacion/2010/... · Motivaciones Difusas en Agentes Basados en Comportamientos Tomás

Nuevas Tecnologías en la Ingeniería, Octubre, 2010, PUCV, Valparaiso, Chile

Referencias

12. Handmann, U., Kalinke, T., Tzomakas, C., Werner, M., Weelen, W.v.,: An image processing system for driver assistance. Image and Vision Computing, 18, (2000) 367-376

13. Arredondo, T., Freund,W., and Muñoz, C.: "Entropy Based Diversity Measures in Evolutionary Mobile Robot Navigation". Lecture Notes in Computer Science, Vol. 5027. Springer, Berlin (2008) p. 129-138.

14. Brooks, R.: A Robust Layered Control System for a Mobile Robot. IEEE Journal of Robotics and Automation, Vol. RA-2, No. 1 (1986) 14-23.

15. Zadeh, L.: Toward a theory of fuzzy systems. In Aspects of Network and System Theory, Rinehard and Winston, 1971

16. Bylander, T.: The computational complexity of propositional STRIPS planning. Artificial Intelligence, 69 (1994) 165-204

17. Georgeff, M.P., Ingrand, F.F.: Decision-Making in an Embedded Reasoning System. Proceedings of the Eleventh International Joint Conference on Artificial Intelligence(1989)

18. Floreano, D. Mondada, F.: Evolution of homing navigation in a real mobile robot, Systems, Man, and Cybernetics, Part B, IEEE Transactions on, June 1996, Volume: 26 , Issue: 3

19. McCullough, W., Pitts, W.:A Logical Calculus in Ideas Immanent in Logical Activity, Bulletin of Mathematical Biophysics, Vol. 5, 1943, p. 115-133