Anda di halaman 1dari 15

COMPUTACIN EVOLUTIVA (CE) SISTEMAS CLASIFICADORES

Angel Garca Baos Escuela de Ingeniera de Sistemas y Computacin Universidad del Valle
04 de febrero de 2008

OTROS ALGORITMOS EVOLUTIVOS

SISTEMAS CLASIFICADORES

LCS
s s

LCS (Learning Classifier Systems) ideados por Holland. Tambin llamados CS o CFS. Se emplea cuando se desea controlar un entorno caracterizado por:
Cambios constantes, eventos importantes mezclados con ruido. Requerimiento de actuar sobre l en tiempo real. Objetivos implcitos o mal definidos.

Es similar a un sistema experto, pero el conocimiento lo va adquiriendo sobre la marcha:


No necesita un experto humano. Sirve una para multitud de entornos distintos.
AGB

LCS
s

Hoy da ha sufrido muchas modificaciones respecto a la formulacin original. Ha asumido conceptos de Aprendizaje evolutivamente reforzado (ERL) y de Q-learning (aunque este ltimo no es realmente evolutivo), y por ello tambin lo llaman Q-CS, QLCS, etc. Recientemente Holland lo nombra sistema de agentes adaptativos. La idea inicial era construir ANIMATs (Animal+roboT) que pudieran evolucionar en un entorno (entorno ECHO de Holland). Pero no solo sirve para robots sino en cualquier tarea software que requiera autoaprendizaje.
AGB

LCS
s

El LCS est basado en una poblacin de reglas de aprendizaje sencillas, tambin llamadas clasificadores:
IF <condicion> THEN <mensaje>

s s s

A ello se le llama sistema de produccin, que es computacionalmente completo. Tanto las condiciones como los mensajes utilizan un cdigo binario {0,1,#}. Siendo # = no importa. Constituido por cuatro mdulos principales:
Mdulo de reglas clasificadoras Mdulo de seleccin Mdulo de algoritmo gentico Mdulo de crdito (o recompensa o fuerza o aptitud)
AGB

LCS
s

Diagrama de bloques:

DECODIFICADOR

CODIFICADOR

Entrada

MENSAJES 101101 #000#1 000111 1100#0 111100

SELECCIN

REGLAS CLASIFICADORAS IF 100#0# THEN 110101 IF ###0## THEN 101101

Salida

ALGORITMO GENTICO CRDITO ENTORNO


AGB

LCS
s s

s s

Cada clasificador tiene asociada una aptitud. Las entradas procedentes del entorno se codifican en una o mas cadenas binarias, que se inyectan a un tabln de mensajes. Los clasificadores chequean el tabln de mensajes. Si hay alguna cadena que coincida con su respectiva condicin IF, entonces se activa el respectivo clasificador. A continuacin, el tabln de mensajes se vaca. Los clasificadores activos compiten por ser seleccionados (ruleta, torneo...), en funcin de su aptitud. Los que sean seleccionados, generan su respectivo mensaje, que se inyecta al tabln de mensajes y puede ser decodificado para producir una salida hacia el entorno.
AGB

LCS
s s

Todas las reglas activadas deben pagar un impuesto, que se les descuenta de la aptitud. El entorno debe ofrecer una recompensa a las reglas que generaron salidas buenas (se suma a la aptitud). Esa recompensa se distribuye a todas las reglas que contribuyeron a producir esa salida. Hay varios algoritmos de distribucin, pero uno muy usado (y tambin muy criticado) es el bucket brigade (brigada de baldes).

AGB

LCS
s

Algoritmo de reparto de recompensa bucket brigade:


La regla que envi al entorno la salida, recibe una recompensa. Una parte proporcional de esa recompensa la cede a la regla que produjo el mensaje anterior que la activ. Y as hacia atrs, siguiendo la trayectoria inversa que gener el mensaje de salida.
Mensaje C Mensaje H Mensaje U

Etc.

Regla 5 p5

Regla 9 p9

ENTORNO
RECOMPENSA R 10

AGB

LCS
s Usualmente:

p p + (R p )

s con p=aptitud, R=recompensa del entorno y =tasa de aprendizaje con 0 < 1 s El principal problema del LCS es que cuando los mensajes de salida son producidos por cadenas muy largas de reglas clasificadoras, el reparto de la recompensa hace que a cada una le toque muy poco. s Entonces, el sistema aprende muy despacio o no aprende.
AGB

11

LCS
s En cuanto a la evolucin del LCS, el objetivo es generar nuevas reglas con el paso del tiempo, por medio de un GA. s Hay dos variantes:
Michigan (Holland): cada una de las reglas clasificadoras es un cromosoma de la poblacin en el GA. Pittisburg (Smith): todo el conjunto de reglas clasificadoras es un cromosoma de la poblacin en el GA.

AGB

12

LCS
s Ejemplo: una rana-robot. Las reglas seran:
IF objeto pequeo volador a la izquierda THEN @ IF objeto pequeo volador a la derecha THEN % IF objeto pequeo volador al centro THEN $ IF objeto grande amenazador THEN ! IF no es un objeto grande amenazador THEN * IF * AND @ THEN moverse 15 grados a la izquierda IF * AND % THEN moverse 15 grados a la derecha IF * AND $ THEN moverse en esa direccin IF ! THEN moverse rpido en direccin contraria

AGB

13

LCS
s Y su codificacin binaria sera:
Tamao objeto: 0000=pequeo 1111=grande Aspecto objeto: 00=volador 01=amenazador Mi accin: 00=quieto 11=moverme Posicin objeto y mi direccin movimiento: 00=izquierda 01=derecha 10=hacia el objeto 11=en direccin contraria al objeto Smbolos internos: 0000=@ 0001=% 0010=$ 1111=! 1000=*

AGB

14

LCS
s Los clasificadores codificados seran:
Aspecto objeto Tamao objeto 0 0000 00 00 0000 0 0000 00 01 0001 Negacin 0 0000 00 10 0010 0 1111 01 ## 1111 1 1111 01 ## 1000 0 1000 0000 11 00 Smbolos internos 0 1000 0001 11 01 0 1000 0010 11 10 0 1111 #### 11 11 Smbolos internos
AGB

Posicin objeto

Smbolos internos

Mi direccin movimiento

Mi accin 15