UNIVERSIDAD DEL AZUAY FACULTAD DE CIENCIAS DE LA ADMINISTRACION 1.- Datos Generales:

Anuncio
UNIVERSIDAD DEL AZUAY
FACULTAD DE CIENCIAS DE LA ADMINISTRACION
ESCUELA DE INGENIERIA DE SISTEMAS
1.- Datos Generales:
1.1.- Carrera:
1.2.- Materia:
1.3.- Nivel:
1.4.- Número de Créditos:
1.5.- Número de Horas de Semestre:
1.6.- Periodo Lectivo:
1.7.- Profesor:
Ingeniería de Sistemas
Inteligencia Artificial
Séptimo Ciclo
4
64
Septiembre 2005 a Enero 2006
Ing. Pablo Pintado
ppintado@baustro.fin.ec,
097031452
1.8.- Prerequisitos:
2.- Descripción de la Materia:
La inteligencia Artificial es una de las disciplinas más nuevas, la misma que
define el comportamiento de los seres naturales inteligentes tales como
procesos mentales y de razonamiento, con su aplicación de conseguir equipos
inteligentes. De esta forma se abren varios campos de estudio entre ellos los la
Inteligencia Artificial. Por medio de esta materia se va ha capacitar al estudiante
en conocimientos de esta nueva disciplina, indispensable para el desarrollo
profesional y tecnológico.
3.-Objetivos Generales:
Instruir al estudiante en esta disciplina, partiendo desde una visión global de
Inteligencia Artificial, para luego ir detallando las áreas y/o tendencias más
importantes. Adicionalmente con el objetivo de fomentar la investigación y el
conocimiento de temas avanzados se procederá con la sustentación de estos
por parte de los alumnos.
4.- Contenido:
Introducción
Inteligencia
UNIDAD 1.- INTELIGENCIA ARTIFICIAL
Concepto Inteligencia Artificial
Áreas de la Inteligencia Artificial
Juegos Inteligentes (trabajo práctico - simulación MIN-MAX)
Procesamiento de lenguaje natural
Robótica
Categorías
Grados Libertad
Sensores
Efectores
Formas de comunicarse con el robot
Como construir un robot
1
Para que sirven los robots
Redes Neuronales (trabajo práctico - simulación)
Algoritmos Genéticos
Métodos
Lógica borrosa
Diseño de algoritmos genéticos
Operadores genéticos.
UNIDAD 2.- SISTEMAS EXPERTOS
Concepto Sistemas Expertos
Papel del Sistema Experto
Componentes de un Sistemas Experto
Experto Humano
Ingeniero del Conocimiento
Subsistema del control de la coherencia
Subsistema de Adquisición del conocimiento
Base del Conocimiento
La memoria de trabajo
El motor de inferencia
Subsistema de demanda de información
Interfase de Usuario
Subsistema de ejecución de órdenes
Subsistema de explicación
Subsistema de propagación de la incertidumbre
Subsistema de aprendizaje
Subsistema de experiencias
Funciones del Sistema Experto
Etapas de desarrollo de un Sistema Experto
Tipos de Sistemas Expertos
Por Reglas
Por Probabilidades
Comparación de elementos en los dos sistemas
Ventajas y desventajas en los dos tipos
Estrategia para representar el Conocimiento
Redes semánticas
Ternas objeto-atributo-valor
Reglas
Marcos
Expresiones lógicas
UNIDAD 3.- SISTEMAS EXPERTOS BASADOS EN REGLAS
Base del Conocimiento
El motor de inferencia
Conclusiones simples
Conclusiones compuestas
Lógica clásica y lógica incierta (Implicaciones inciertas)
Estrategias de inferencia
UNIDAD 4.- TEMAS AVANZADOS
Agentes Inteligentes
2
Introducción
Estructura de los Agentes
Tipos de Agentes
Ambientes
Elección de temas avanzados para investigación y sustentación
Lenguaje Lisp
Lenguaje Prolog
Lenguaje Natural
Robótica
Redes Neuronales
MAS (sistemas multiagentes)
A-life
El aprendizaje (formas de aprendizaje de la maquina, por
experiencia, por retroalimentación, por esfuerzo, parametrico,
estructural, etc.)
La percepción (forma de obtener información relacionada con el
mundo que nos rodea (sensores))
La planificación (planificación de acciones y luego ponerlos en
practica)
El razonamiento (formas de razonamiento lógico, razonamiento
probabilistico, etc.)
Juegos inteligentes
5.- Metodología:
Se desarrollará el temario planteado en el transcurso de las clases de una forma
dinámica insertando la participación del estudiante, conjuntamente con la
expresión de experiencias reales vividas tanto por parte del Profesor como del
estudiante. Se tomaran lecciones orales al inicio de cada clase sobre la clase
anterior, las mismas que serán evaluadas como parte del aprovechamiento. Se
mandarán trabajos, los mismos que serán sustentados de forma escrita el día
de su presentación en el caso de ser teóricos y en el caso de ser prácticos serán
sustentados en el Centro de Computo. Además, se procederá con la
investigación de temas avanzados que serán sustentados por grupos.
Adicionalmente se tomarán al menos tres pruebas sobre el contenido de la
materia, las mismas que serán avisadas con anticipación de una semana. Y
finalmente se tomara un examen final.
6.- Evaluación:
1 Aporte
Lecciones
Trabajo
Pruebas
Total 1 Aporte
2 Aporte
Lecciones
Trabajo
2 puntos
4 puntos
4 puntos
-------10 puntos
2 puntos
4 puntos
3
Pruebas
Total 2 Aporte
3 Aporte
Lecciones
Trabajo
Pruebas
Total 3 Aporte
Total Aporte del ciclo
Examen Final
Total general del ciclo
4 puntos
-------10 puntos
1 puntos
5 puntos
4 puntos
-------10 puntos
30 puntos
20 puntos
------50 puntos
7.- Bibliografía General:
 Nebendahl Dieter, SISTEMAS EXPERTOS
 Robert levine AI AND EXPERT SYSTEMS, McGraw-Hill
 Stuart Russell, Peter Norving, INTELIGENCIA ARTIFICIAL, UN ENFOQUE
MODERNO
 Yester Michael, TURBO PASCAL 6.0
SMA o MAS (sistemas multiagentes conceptos) – Universidad de los Andes de
Colombia, http://agamenon.uniandes.edu.co/yubarta/agentes/agentes2.htm
SMA o MAS (sistemas multiagentes) – Universidad Alberta (links a otras
universidades ciencia de la computación) – aprendizaje Bayesiano, redes de
conocimiento, http://www.cs.ualberta.ca
programas de procesamiento de lenguaje natural,
http://www.zonagratuita.com/_vti_bin/shtml.exe/buscador.htm
ga (algoritmos genéticos) conceptos, programa en visual basic,
http://www.geocities.com/siliconValley/Byte/4713/ga/E-GA8.htm
robótica, http://www.robotica.org
robótica Universidad de Leida.incluye matlab,
http://www.micropic.arrakis.es/marcos.htm
http://robotics.stanford.edu
http://www.stanford.edu/
inteligencia artificial, redes neuronales, procesamiento de lenguaje natural,
http://csone.kaist.ac.kr/~chopin/bookmark.htm
4
DESARROLLO DEL TEMARIO
Introducción
La Inteligencia: permite tener la habilidad de:
 Tener actitudes mentales (creer, deseo, intención)
 Aprender (habilidad de adquirir nuevos conocimientos)
 Resolver problemas (habilidad de romper problemas complejos en pequeños)
 Comprender
 Planificación y predicción de consecuencias por acciones contempladas
 Conocer sus limitaciones de conocimiento y habilidades
 Deducir diferencias entre situaciones aparentemente similares
 Ser original (adquirir sus nuevas propias ideas y conceptos)
 Generalizar (encontrar situaciones comunes de situaciones superficialmente
distintas)
 Percibir y modelar el mundo externo
 Comprender y usar los lenguajes y utilitarios de símbolos relacionados.
Inteligencia Artificial: “Es simplemente una vía para crear computadoras
pensando inteligentemente”
Áreas de la IA: Varias son las áreas entre ellas tenemos:
 juegos Inteligentes, los programas de juegos han alcanzado gran desarrollo
hoy en día, inclusive llegando a ganar en ajedrez a los mejores jugadores del
mundo (eje: ID3 genera programas de ajedrez, MEPHISTO IV: programa de
ajedrez)
ANEXO (tres en raya) MIN-MAX (simulación)
MÍNIMAX (SIMULACIÓN)
- Algunos antecedentes para la explicación del método:
o Estado inicial: que incluye la posición inicial en el tablero y una
indicación de a quien le toca jugar
o Operadores: quienes definen que jugadas están permitidas a
un jugador
o Prueba terminal: que define el termino del juego, es decir, los
estados donde termina el juego
o Utilidad: conocida como función resultado, donde asigna un
valor numérico al resultado obtenido en un juego
- Lo que se trata es hacer que MAX encuentre una estrategia que
conduzca a un estado terminal ganador, independiente de lo que
haga MIN
5
6
grafico pag. 133 (inteligencia artificial)
donde se observa un árbol de búsqueda parcial del juego del tres en
raya y al final en cada nodo hoja un numero que representa el valor
de utilidad del estado terminal desde el punto de vista de MAX y
malos para MIN
- de ahí que nace el algoritmo MÍNIMAX que sirve para obtener la
estrategia mas optima para MAX, posee 5 pasos:
o Generación de todo el árbol de juego, completamente hasta
alcanzar los estados terminales
o Aplicación de la función de utilidad a cada estado terminal y
obtención de su valor respectivo
o Uso de la utilidad de los estados terminales para calcular la
utilidad de los nodos del siguiente nivel superior en el árbol de
búsqueda.
- Es así que si la utilidad que estamos calculando del nivel
superior es cuando le toca jugar a MIN se deberá
escoger o poner la menor utilidad (en referencia que
estamos buscando el algoritmo de MAX) de los nodos
descendientes,
- En cambio, si la utilidad que estamos calculando del
nivel superior es cuando le toca jugar a MAX se deberá
escoger o poner la mayor utilidad (en referencia que
estamos buscando el algoritmo de MAX) de los nodos
descendientes
o Continuación de esta transferencia de utilidad en dirección a la
raíz, una capa a la vez
o Finalmente si los valores transferidos llegan a la parte superior
del árbol, en este sitio MAX elige la jugada que le permita
obtener el valor mas alto, esta decisión se la conoce como
decisión minimax
PODA ALFA-BETA(SIMULACIÓN)
-
-
-
Si se nota en la búsqueda anterior, se debe barrer todos los nodos del
árbol de búsqueda, lo cual es valido para casos de pocos nodos, pero
si el árbol es demasiado grande es recomendable buscar un algoritmo
correcto sin tener que explorar todo, esto se denomina PODA y
específicamente Poda-alfa-beta que se aplica al árbol mínimax
estándar
Donde hará la misma jugada pero elimina las ramas que no le
representan alternativas positivas y no influyan en la decisión final
Recuérdese que la búsqueda mínimax es preferente por profundidad,
es decir, que en todo momento es necesario considerar todos los
nodos que están en una sola ruta del árbol
o Sea α el valor mejor opción encontrada hasta entonces en un
punto dentro de la ruta MAX
o β el valor mejor opción encontrada hasta entonces en un
punto dentro de la ruta MIN (valor mas bajo)
7
o estos dos valores anteriores irán variando a lo largo de la
búsqueda, en donde se encuentra un subárbol que es peor
valor que α y β y se lo elimina.

Procesamiento de lenguaje natural, en esta área se trabaja para que los
ordenadores lean, hablen y entiendan en lenguaje de las personas. Este tipo
de programas denominados “proceso de lenguaje natural”, la traducción es
uno de los primeros campos de investigación en esta área. (ELISA conversa
con una paciente psiquiátrico, SIR: contesta sobre un tema determinado)
8
Lenguaje Natural “Lenguaje natural es el sistema de comunicación entre el
hombre y el ordenador”
Etapas en el lenguaje Natural:
 Léxico, revisión de las palabras para ver si tienen:
Sufijo (ando , endo) trabajando
Raíz (ar, ir) salir
Prefijo (in) incomodar
 Sintáctico, ubicación de las palabras dentro de la oración incluyendo reglas
gramaticales. Para esto se utilizan tipos de frases como frase normales,
frases verbales.
FN (nombre), (articulo, nombre), (articulo, nombre, adjetivo), etc.
FV (Verbo), (Verbo, complemento), (verbo, nombre), (verbo, adverbio,
nombre) etc.
(Graficamos la primera opción por árbol y la segunda por la enumeración
de los elementos de cada caso).
 Semántica, la parte difícil, donde se da el significado de la frase. Para
analizar la semántica se establecen reglas. (ejemplo: de una oración con
artículo, nombre, verbo; se la define reglas por el orden de las palabras).
ANEXO (análisis gramatical grafico)
Robótica
El objetivo de esta área es que los ordenadores interaccionen con el mundo
exterior desarrollándoles capacidades sensoriales (SHRDLU robot que puede
mover bloques, hablar y otras funciones mas)
Una maquina puede hacer el trabajo de 100 hombres, pero ninguna maquina
puede hacer el trabajo de un hombre extraordinario.
Robot, un manipulador reprogramable de uso general con sensores externos y
que puede realizar diferentes tareas especificas.
Diversas categorías de robots: cartesiano (horizontal, vertical), Cilíndrico (rota
en un eje), esférico (rotación esférica), de revolución (movilización en todo
sentido) (gráficos)
Grados de libertad:
Es el número y tipo de movimientos del robot
- se obtiene observando los movimientos del brazo y de la muñeca
- tanto en el brazo como la muñeca se encuentra la variación de tres
grados de libertad
- en la muñeca pueden existir los siguientes grados:
o giro (hand rotate)
o elevación (wrist flex)
o desviación (wrist rotate)
- en el brazo los grados de libertad dependen de su anatomía o
configuración
Sensores de Robots: Son varios:
9
detección (sonar), ópticos, térmicos, cercanía, sonido, un importante
es la Visión “proceso de extraer, caracterizar e interpretar información
de un mundo tridimensional”.
Se los pueden ordenar:
- propiocepcion:
o es la percepción de los propios estímulos del robot (internos)
o permite saber la localización de sus articulaciones
 robot tiene precisión de milésimas de pulgada
 el ser humano tiene precisión de uno a dos centímetros
- percepción de fuerza:
- percepción táctil:
o elaborado de material elástico y mide la distorsión del material
o otra forma es por vibración para medir el desplazamiento
- Sonar:
o Denominados de cercanía o detección
- Cámara:
o Percepción visual
o Sensores de haz de luz.
Estos Sensores están divididos en dos estados:
 Internos, los que detectan variables como posición de la articulación
del brazo,
 Externos, los que detectan variables como alcance, cercanía, contacto,
se usan para guiado de robots.
Efectores:
- dispositivos que producen efectos en el entorno bajo el control del robot
- herramientas para ejecución
- es el “actuador”
Formas de comunicarse con el Robot:
 reconocimiento de palabra discreta y continua, reconocimiento por
parte del robot de cierto grupo de palabras discretas (lenguaje
natural)
 enseñar y reproducir(propiocepcion), se lo hace en tres pasos
 se lo dirige lentamente al robot con control manual
 edición y reproducción del movimiento enseñado
 si es correcta la enseñanza se ejecuta a una velocidad
apropiada y de forma repetitiva
 lenguajes de programación de alto nivel, los conocidos son el AL
(Universidad de Stanford) y al AML (IBM).
 Enviando estímulos a los sensores.
Como construir un Robot:
- un ejemplo básico para construir un robot que “construya una columna
utilizando tres cajas apoyados en sus extremos”
- tres tareas:
o cerebro:
 producir un plan
 lograr objetivo
 coordinar las manos
 recibe una entrada de los ojos (interprete)

10
Para
-
-
-
-
-
 no se ve la escena directamente
o ojos:
 proporciona el cerebro una descripción de la escena
 pueden responder a preguntas que le hace el cerebro
 los ojos no deben saber el objetivo que se persigue
o manos:
 realizan los comandos o acciones que le ordena el cerebro
 no ejecutan otros comandos que no sea el movimiento
 ignoran cual es la meta.
que sirven los Robots:
fabricación y manejo de materiales
o en actualidad existen 600.000 robots, de los cuales el 70% están
en USA, Japón y Francia
o industria automotriz, microelectrónica
o presencia en la construcción para mover objetos muy pesados con
precisión y eficiencia
o esquila de ovejas(Australia) (automáticos, percepción sensorial,
retroalimentación táctil)
Mensajeria
o Móviles
o En edificios, hospitales, al fondo de mar
o Sus requerimientos son pedidos a través de terminales de
computo
o Gran disponibilidad
o Confiabilidad
o Monitoreo
Ambiente peligrosos
o Disminución de riesgos para la vida humana
o Mantenimiento rutinario a plantas nucleares
o Eliminación de residuos tóxicos
o Rescate a profundidad
o Exploración minera
o No deberán producir daño a los seres humanos presentes en el
entorno
Tele presencia y Realidad Virtual
o Sitios remotos y/o imaginarios
o Para diversión
o Robots teleoperador para dar solución al desarmado de bombas
o Ingenieros y arquitectos utilizan para mostrar sus proyectos en
detalle
o Médicos especialistas que consultan e intervienen quirúrgicamente
a miles de kilómetros
o Sentido de tacto remoto
Ampliación de capacidades humanas
o Duplicar extremidades humanas perdidas
o Perros lazarillos
o Visión artificial
11
o Los brazos biónicos y las articulaciones artificiales. En los Estados
Unidos ya hay 85.000 rodillas mecánicas, 120.000 caderas y
70.000 hombros. Parte de ellos ya cuentan con sistemas robóticos
para su implantación.
o En Israel están perfeccionando un sistema de “retroalimentación
continuo”, proveniente de los sensores implantados en los nervios
del hombro del miembro amputado, que produce una respuesta
inmediata a la comunicación eléctrica de un nervio, en la misma
forma en que se comporta el sistema nervioso. Eso permite que el
brazo biónico (que encierra una mini computadora) funcione
suavemente, casi como uno normal.

Redes Neuronales,.
Neurona
-
El tejido nervioso está constituido por células nerviosas, fibras nerviosas
y la neuroglia,
-
La célula nerviosa se denomina neurona, las hay neuronas bipolares, con
dos prolongaciones de fibras y multipolares, con numerosas
prolongaciones. Pueden ser neuronas sensoriales, motoras y de
asociación
-
Se estima que en cada milímetro del cerebro hay cerca de 50.000
neuronas.
-
El cuerpo de la neurona o Soma contiene el núcleo, el cual se encarga de
todas las actividades metabólicas de la neurona y recibe la información
de otras neuronas vecinas a través de las conexiones sinápticas.
-
Las dendritas son las conexiones de entrada de la neurona.
-
El axón es la "salida" de la neurona y se utiliza para enviar impulsos o
señales a otras células nerviosas. que forman sinápsis con el soma o
axones de otras células. Esta unión puede ser "inhibidora" o "excitadora"
según el transmisor que las libere.
La Red Neuronal
-
El sistema de neuronas biológicas esta compuesto por neuronas de
entrada (sensores) conectados a una compleja red de neuronas
"calculadoras" (neuronas ocultas), las cuales, a su vez, están conectadas
a las neuronas de salidas que controlan, por ejemplo, los músculos.
-
Los sensores pueden ser señales de los oídos, ojos, etc. las respuestas
de las neuronas de salida activan los músculos correspondientes.
-
En el cerebro hay una gigantesca red de neuronas "calculadoras" u
ocultas que realizan la computación necesaria. De esta manera similar,
12
una red neuronal artificial debe ser compuesta por sensores del tipo
mecánico o eléctrico.
Funcionamiento de las sinapsis
-
Cientos de datos fluyen por los nervios hasta cada sinapsis, donde son
procesados. Una vez analizada y tratada la información esta sale ya
transformada por los canales nerviosos
-
En los seres vivos no pueden permitirse el lujo de la especialización ya
que si algo se rompe otro elemento debe hacerse cargo de la función.
Por eso cada sinapsis es simultáneamente una compuerta Ad, Or, Not
etc.
-
Una sinapsis suma las tensiones de los impulsos entrantes. Cuando se
sobrepasa un determinado nivel de tensión; el llamado umbral de
indicación; esta se enciende, esto es deja libre el camino para que pasen
los impulsos.
o Si el umbral de indicación de tensión es demasiado bajo, la
sinapsis es como una puerta lógica del tipo Or, pues en tal caso
pocos impulsos bastan para que tenga lugar la conexión.
o En cambio cuando el umbral de indicación es alto, la sinapsis
actúa como una puerta And, ya que en ese caso hace falta que
lleguen la totalidad de los impulsos para que el camino quede
libre.
o También existen conducciones nerviosas que tienen la
particularidad de bloquear el paso apenas llegan los impulsos.
Entonces la sinapsis hace la función de una compuerta inversora.
Esto demuestra la flexible del sistema nervioso.
REDES REURONALES ARTIFICIALES
La Neurona Artificial
-
Un circuito eléctrico que realiza la suma ponderada de las diferentes
señales que recibe de otras unidades iguales y produzca en la salida un
uno o un cero según el resultado de la suma con relación al umbral o
nivel de disparo,
-
a función de transferencia para la activación o disparo de la neurona
puede ser:
o de umbral lógico
o de limitación duración
o de función tipo.
13
-
Se produce un entrenamiento, cuando se presenta un mismo tipo de
ambiente varias veces y cierto numero de neuronas se activan, esto
produce un refuerzo la red queda entrenada y con el peso de conexiones
definido. Así, se puede cargan a la neurona con los valores
predeterminados.
Redes Neuronales
Son construidos imitando el proceso de aprendizaje biológico humano
inteligente, auto modificación, y aprendizaje por creación de inferencias,
proveen un aprendizaje por experiencia dinámica. Funcionan con la
interconexión de neuronas que ejecutan cálculos dando resultados que son
14
transmitidos a otras neuronas a lo largo de todas las vías. Esos resultados o
señales son igualmente procesados y enviados a otras si los resultados del
proceso lo permiten. Si la entrada esta inhibida es señal negativa y si es exitosa
es valor positivo. Si la suma de valores positivos y negativos superan el
“threshold Level” (Umbral), la neurona puede enviar señal a otras, este proceso
se conoce con el nombre “firing” (encendiendo).
Control de Ordenadores por Señales Neurales (3 pasos)
- Controlar el ordenador mediante impulsos bio-eléctricos, es una idea que
ha dejado de ser parte de las novelas de ciencia-ficción.
- Entrada
- los primeros intentos de controlar por medio de descargas eléctricas
se utilizo galvanómetro, donde se dieron cuenta que la piel actuaba
como un aislante de las señales eléctricas. (probaron abriendo una
herida para captar señales eléctricas unas treinta veces más intensas)
- Luego, se comenzó una carrera hacia el diseño de prótesis
mecanizadas capaces de obedecer a contracciones musculares, por
medio de electrodos de cloruro de plata y amplificadores electrónicos
muy sensibles, que registraban los débiles impulsos musculares
denominadas "señales electromiográficas o EMG".
- Otro sistema bio-eléctrico, fue la diferencia de potencial entre la
retina y la córnea. La retina posee la máxima actividad metabólica del
ojo, presentando, así, una tensión (eléctrica) ligeramente negativa
con respecto a la córnea. Mediante circuitos electrónicos, puede
detectarse las minúsculas variaciones de tensión de esta débil batería
eléctrica, cuando la persona cambia la orientación de sus ojos. Tales
impulsos fueron llamados "señales electrooculográficas o EOG”.
Ejemplo: un cirujano cambie, moviendo los ojos, el campo visual de
una cámara de fibra óptica, y así poder tener las manos ocupadas con
instrumentos quirúrgicos
- En otras técnicas de medición ocular se utilizan, rayos infrarrojos o
cámaras de video, pero son sistemas más costosos que el de
electrodos.
- Otra técnica fue por “electroencefalograma o EEG”, los electrodos
se colocan en el cuero cabelludo, captándose las débiles señales de
los potenciales eléctricos que emite el cerebro.
o Las diferentes ondas, se caracterizan por la frecuencia de sus
emisiones, hay cinco tipos ondas:
 ALFA, se crean por acciones sencillas;
 BETA, se las asocia a un estado de alerta;
 TETHA, se originan por tensión emocional, como la
frustración;
 MU, asociadas con la corteza motora (disminuyen con el
movimiento o la intención de moverse).
o Casi todas las tentativas de controlar un ordenador por
mediciones continuas de EEG se basan en la obtención de
ondas ALFA o MU, ya que es posible aprender a cambiar la
amplitud de estos dos ritmos mediante un esfuerzo mental
apropiado por eje. un recuerdo
15
o Las ondas MU pueden controlarse su amplitud mediante
representaciones de la sonrisa, la masticación, la deglución y
otras actividades motoras.
- En conclusión se utilizan al electrodo que capta diferencias de
potencial.
- Ejemplo: Vivir sin dolor, donde la sensación dolorosa es el resultado
de la excitación de ciertas fibras nerviosas muy finas, donde la ayuda
de la robótica ayuda a estimular señales eléctricas que restablecer el
equilibrio tocando otras fibras que tienen un efecto inhibidor sobre las
primeras, esto ha surtido efecto en pacientes con problemas discales
y en los casos de dolores ligados a miembros fantasmas, es decir, en
aquellas personas que dicen sentir dolor a pesar de que se les ha
amputado un miembro.
- Proceso
- luego de receptar la información, debe esta ser amplificada y así
poder estudiarla.
- El paso siguiente es un sistema que analice y traduzca dichos datos
en una información útil. De ello se encarga el hardware y software
creado específicamente para tal fin.
- Salida
- Por último un sistema efector, es decir un sistema que realice una
acción a partir de la interpretación de los datos obtenidos.
Entrenamiento
Redes Neuronales Supervisadas y no Supervisadas
Las redes neuronales se clasifican comúnmente en términos de sus
correspondientes algoritmos o métodos de entrenamiento:
Redes de Pesos Fijos:
- no existe ningún tipo de entrenamiento.
Redes de entrenamiento Supervisado:
-
-
modelos de redes más desarrolladas desde el inicio.
Los datos para el entrenamiento están constituidos por varios pares
de patrones de entrenamiento de entrada y de salida.
El hecho de conocer la salida implica que el entrenamiento se
beneficia la supervisión de un maestro.
Dado un nuevo patrón de entrenamiento, por ejemplo, (m+1)-ésimo,
los pesos serán adaptados de la siguiente forma:
Wij(m+1) = Wij(m) + ∆Wij(m)
un diagrama esquemático de un sistema de entrenamiento
supervisado:
16
-
tienen 2 fases:
o
o
-
Fase de Prueba:

los parámetros de diseño de la red neuronal se han
obtenido a partir de unos patrones representativos de
las entradas que se denominan patrones de
entrenamiento.

Los resultados pueden ser tanto calculados de una vez
como adaptados iterativamente, según el tipo de red
neuronal, y en función de las ecuaciones dinámicas de
prueba.

Una vez calculados los pesos de la red, los valores de
las neuronas de la última capa, se comparan con la
salida deseada para determinar la validez del diseño.
Fase de Aprendizaje:

Aprenden por la actualización o cambio de los pesos
sinápticos que caracterizan a las conexiones.

Los pesos son adaptados de acuerdo a la información
extraída de los patrones de entrenamiento nuevos que
se van presentando.

Normalmente, los pesos óptimos se obtienen
optimizando (minimizando o maximizando) bajo una
función determinada
ejemplos típicos (supervisados) son:
o red perceptron: en la fase de entrenamiento determina
funciones discriminantes, que dictaminan las regiones de
decisión
o red adaline: usa la fórmula de aproximación basada en el
criterio del error cuadrático medio lineal.
 Minimizar E = ½ ∑Mm=1(y(m) – t(m))2
Redes de entrenamiento No Supervisado
17
-
El conjunto de datos de entrenamiento consiste sólo en los patrones
de entrada
Por lo tanto, la red es entrenada sin el beneficio de un maestro
La red aprende a adaptarse basada en las experiencias recogidas de
los patrones de entrenamiento anteriores.
El diagrama esquemático es similar al no supervisado sino sin el
Maestro (teacher), pero igual con retroalimentación.
Ejemplos típicos (no supervisados) son:
o Regla de Aprendizaje de Hebb: consiste en reforzar el peso
que conecta dos nodos que se excitan simultáneamente
o Regla de Aprendizaje Competitiva: si un patrón nuevo se
determina que pertenece a una clase reconocida previamente,
entonces se da la inclusión de este nuevo patrón a esta clase.
Si el patrón de la entrada se determinó que no pertenece a
ninguna de las clases reconocidas anteriormente, entonces la
estructura y los pesos de la red neuronal serán ajustados para
reconocer la nueva clase.
FUTURO
- Los IMPLANTES QUE SALVEN VIDAS, Los futurórologos
norteamericanos dicen que dentro de un siglo la medicina será capaz
no sólo de reemplazar cualquier parte dañada del cuerpo, sino que
podrá sustituir, por medio de un chip implantado en el cerebro ciertos
déficit de la inteligencia para que todos los individuos estén a la altura
del progreso técnico y científico del conjunto.
- El desarrollo de nuevos materiales permitirá la aparición de nuevos
órganos artificiales, como por ejemplo falsos músculos realizados con
materiales retráctiles u órganos híbridos compuestos, a la vez,
por células vivas y chips electrónicos.
ALGORITMOS GENETICOS
COMO EVOLUCIONA LA VIDA
- 2 hipótesis:
- el azar o random:
- cuantificar la influencia de casualidad en la creación de resultados
inteligentes,
- “se puede decir que una computadora programada para escribir
textos al azar continuamente, terminara, la obra de cualquier autor
conocido con el tiempo”
- la diferencia de los seres vivos es por pura casualidad,
- este patrón manifiesta la elevación o disminución de habilidades sin
un orden preestablecido, sin importar niveles anteriores
- plantea un crecimiento exponencial de datos, lo que hace que se no
viable en la practica
- la evolución acumulativa:
18
-
la vida se desarrolla a partir de las mejoras introducidas por la
naturaleza en las generaciones pasadas
- influenciado por las capacidades adquiridas de generación en
generación, se van acumulando,
- se toma en cuenta que existe la mutación al azar, y estas solo dan
pequeños cambios de entre las grandes variaciones evolutivas
- se habla que al unirse dos seres el ser resultante adquiere
características de los anteriores, e inclusive se da la sinergia (mejor
resultados que los 2 anteriores)
- es así, que se incrementa las capacidades
- A-life(vida artificial):
- Son modelos de n-variables en paralelo que están sujetos a
restricciones, donde se los hace competir y se selecciona los mas
robustos
- Estos modelos actúan bajo un entorno “mundo” con reglas
generales
- Una forma de representación es por medio de Objetos (POO),
donde se manejan datos y métodos que representan el
comportamiento del objeto
- En el mundo están los objetos que contienen:
- Un numero variable de descendientes de si mismo
- Y que pueden desactivarse “morir” luego de un determinado
tiempo o condición
- Se forma una estructura de generaciones
ALGORITMOS GENETICOS (DEFINICIÓN)
- como se dijo que los ejemplares u objetos compiten por sobrevivir en el
mundo o entorno, pudiendo los mas fuertes reproducirse
- algoritmos genéticos (GA) son: “funciones matemáticas o rutinas de
software que toma como entrada los objetos y retorna como salida cuales
de ellos deben generar descendencia para nuevas generaciones”
- unas versiones mas avanzadas de GA son aquellos que hacen un ciclo
interactivo donde toma a los objetos y crea una nueva generación un
numero de veces determinado, de acuerdo al diseño
- si este concepto lo trasladamos a la resolución de problemas, podemos
decir, que al utilizar GA optimizaremos la solución descartando la soluciones
no deseables y la selección de las mas robustas
- es una especialidad de sistemas expertos, donde va perfeccionando su
propia heurística en el proceso de ejecución, por lo que no requiere de
largos procesos de entrenamiento por parte del ser humano
COMPARACIÓN DE METODOS DE OPTIMIZACION
GA VS MATEMÁTICAS
- Existen problemas de optimización que pueden ser resueltos con métodos
tradicionales
- Matemáticas
- Función “es el doble de” f(x) = 2x
- Función “el numero mas grande”
- GA
19
-
Función de problema continuo, esto no es computable, donde GA
encuentra un mínimo aceptable si no es posible encontrar el optimo
- Función del problema dinámico, cuando la relación entre variables
cambia dependiendo de los valores que tomen las mismas. “X es igual
a Y si el valor de X es chico; X es 1.5 de Y si el valor de X es grande”
no se sabe que pasa para los valores medios de X.
GA VS METODOS ENUMERATIVOS
- encontrar soluciones a problemas enumerando todas las soluciones posibles
para todos los casos, entonces, se limita a una búsqueda eficiente. Ejemplo:
la tabla de logaritmos tiene todos los valores usuales, donde la solución
consiste solo en buscar en la lista el número decimal y retornar el logaritmo
dado.
- Este método manejable siempre y cuando sean valores manejables. Para el
caso del juego de ajedrez, es mal complicado, para esto se utilizan otros
métodos que ayudan a optimizar como podas, jugadas de acuerdo a tal
situación o jugadas preestablecidas, etc. Que igualmente tienen su dificultad
en la practica
- GA utiliza heurística para resolución de problemas, lo cual limita los datos a
utilizar
LOGICA BORROSA (FUZZY LOGIC)
- la lógica borrosa trata de acercar la matemática a lenguaje impreciso del
hombre común. Ejemplo: hace mucho calor, hace frió, hoy llovió mucho, no
llovió casi nada, apenas unas gotitas (conceptos vagos). A diferencia de
decir: En este momento hay 30 grados centígrados, y se espera para el
resto del día la temperatura se eleve hasta 35 grados, que luego a lo largo
de la noche decaerá a los 20 grados.
- La lógica es considerado un método “optimizado de control”, hace que sea
flexible. Muy usado en manejo de electrodomésticos (lavadora, heladeras
japonesas con logotipo fuzzy logic incorporado).
- SI hay poco vapor en el sistema ENTONCES abra las compuertas y libere
mas vapor,
- SI hay mucho vapor en el sistema ENTONCES cierre las compuertas de
vapor
- SI la temperatura es alta ENTONCES abra el conducto de agua fría hasta
que la temperatura vuelva a ser normal
- FUNCIONES BORROSAS
- La lógica borrosa trabaja con llamadas a funciones borrosas
- Ejemplo: definir función “mucho” dentro de una serie de valores
- Se toma la serie, se la ordena de mayor a menor y se extrae el valor
mas grande (limite superior) y el valor mas chico (limite inferior)
LI(a0..an) = Minimo(a0..an)
LS(a0..an) = Maximo(a0..an)
- Se establece como amplitud de la serie como la diferencia del
limite superior e inferior: A = LS(a0..an) – LI(a0..an)
- La función “mucho”:
f(x, A) = x/A
- esto variara entre: 0 <= f(x, A) <= 1
- si normalizamos los limites LS1 y LI1 entre el rango (0, n) tenemos:
20
-
-
LI1(a0..an) = LI0(a0..an) – LI0(a0..an) = 0
LS1(a0..an) = LS0(a0..an) – LI0(a0..an)
(normalizado) se dispone de una muestra de 20 veces que se
tomaron la temperatura desde las 09h00 hasta las 18h00 y sus
temperaturas varían desde 3 grados hasta 35 grados. Se hace la
pregunta ¿hizo mucho calor a las 16h00? Esto no es posible
responder con métodos tradicionales, pero con la ayuda de lógica
borrosa es posible
LS0 = Máximo(t1..t10) = 35
LI0 = Mínimo(t1..t10) = 3
LS1 = Máximo(t1..t10) = 35 – 3 = 32
LI1 = Mínimo(t1..t10) = 3 – 3 = 0
A = LS(t1..t10) – LI(t1..t10) = 35 – 3 = 32
f(34-3, 32) = 31/32 = 0,9685  96,85% (34% a las 16h00)
cuando mas cercano esta a 100% mas valida es la información de
“mucho”
si quisiéramos la función “poco” simplemente debemos restar de 1 y
el resto es igual
f(x, A) = 1 – mucho(x, A)
ETAPAS DEL DISENO DE UN GA (8 etapas)
ETAPA 1: Análisis de factibilidad de utilizar un GA
- encuadrar el problema a tratar, puesto que el GA es un método adecuado
para optimizar o minimizar problemas. Si es de este tipo de problemas muy
bien, caso contrario buscar otro método.
ETAPA 2: Definición del problema en particular
- supongamos que tenemos 2 series de datos y se desea establecer una
correlación lineal entre los mismos (supongamos que no tenemos la
ecuación ni la forma de poder saber)
Serie A
Serie B
1
5
2
7
3
9
4
11
5
13
6
15
7
17
8
19
9
21
10
23
- entonces la función seria:
f(a(i) = b(i)
f(a(i)) – b(i) = 0
ETAPA 3: Definición de las variables pertinentes
- una función lineal tiene una estructura del tipo:
- y = ax + b
- donde x = serie A
21
- y = serie B
- es obvio que nuestras variables a utilizar son a y b
- entonces el objetivo del GA es obtener un cromosoma con dos genes, el
mismo que va evolucionando hasta alcanzar los valores deseados para la
ecuación de la recta
ETAPA 4: Definición del cromosoma y los genes
- para construir cromosomas es recomendable cadenas binarias
- creamos una cadena binaria que represente al cromosoma, este a su vez se
definirá como la unión de dos genes, cada uno representado por a y b
- la estructura básica de cada gen:
- un bit para identificar el signo (+ o -)
- varios bits para identificar la parte entera
- varios bits para identificar la parte decimal
- como se sabe que la representación de números en binario, se necesita la
potencia de 2 mas una unidad en numero de bits, es decir, para representar
23 se necesita (3+1) bits
- f(x) = x + 1
- necesitamos 2 genes y cada uno tendrá 3 elementos:
- el signo de la variable (1 digito)
- la parte entera de la variable, para el ejemplo +- 215 es decir, se necesita
(15+1) = 16 dígitos
- la parte decimal de la variable, para el caso de 2 decimales (100 valores
posibles) necesitaremos 7 bits
Elemento
Bits
Signo del termino dependiente
1
Dígitos enteros del termino dependiente
16
Dígitos decimales del termino dependiente
7
Signo del termino independiente
1
Dígitos enteros del termino independiente
16
Dígitos decimales del termino independiente
7
TOTAL
48
- los genes tendrán 48 bits para cada gene
- al concatenar (+) los genes y armar el cromosoma tendremos:
- CROMOSOMA = GENE A + GENE B
- Es decir, CROMOSOMA = 48 + 48 = 96 bits
Tendremos entonces que:
GENE A= 00000000000000000000000000000000000000000000000000
GENE B = 00000000000000000000000000000000000000000000000000
el gene y la correspondencia de sus bits a las variables del modelo
Cuadro GA 10 Estructura del Gene
22
CROMOSOMA 0 = 000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
Podemos partir de un cromosoma con valores nulos como el precedente
cromosoma 0 de uno generado al azar como el cromosoma 1.
CROMOSOMA 1 = 010001000010000100001000001000010000100010010
010001000010000100001000010000100001000010001000100101.
ETAPA 5: Elección de la arquitectura del GA
- depende del criterio del programador
- algunas arquitecturas podrán ayudar a maximizar o minimizar el tiempo de
búsqueda o pueden abarcar mas numero de variables
- e aquí algunas arquitecturas
- PRIMERA ARQUITECTURA: los GA fueron concebidos para hallar valores
“posibles” (mínimos y/o máximos locales) mientras van iterando, y a
medida de su ejecución estos locales van siendo reemplazados por
valores mas cercanos a la solución absoluta. (en la mayoría de casos
dinámicos no-lineales reales se prefiere soluciones posible en un plazo
determinado antes que optimo en un plazo indeterminado. GA
proporciona los 2. eje: damas, ajedrez)
- SEGUNDA ARQUITECTURA: los GA con estructura de tipo Anulativa,
aquí se genera una función de convergencia interactiva, la cual contiene
la totalidad de las ecuaciones (funciones) del modelo
- De esta función se anulan estructuradamente variables, las cuales se
incorporan como cromosomas al GA para su evolución
- Una vez terminado el proceso anterior, se vuelve a activar dicha
variable con sus valores optimizados y la iteración continua hasta que
no existan genes por optimizar
- Esta arquitectura tiene gran ventaja por ser ahorradora de tiempo de
procesamiento
23
-
Aunque su desventaja es que tiene que tener mayor intuición “a
priori” del modelo al cual se quiere llegar
- Se insiste en el tiempo, por cuanto la cantidad crece de forma
exponencial con respecto a la longitud del cromosoma. Si se trata de
implicar varios genes en el mismo, el tiempo crecerá. Esta parte se ve
superada hoy en día con equipos con procesadores muy potentes,
antes, los autores corrían sus laboratorios en mainframe o batería de
servidores para evitar estas desventajas.
ETAPA 6: Diseño de la función de convergencia y control
- construir una función de convergencia y control adecuada para el GA
- consiste en crear una ecuación que mida la diferencia entre los valores que
posee el cromosoma en el estado actual y los valores objetivo, de tal
manera de conocer el nivel de acercamiento que el GA posee con la realidad
y servir de retroalimentación para el mismo.
- En el ejemplo: esta la función de convergencia que mide la diferencia entre
los valores de la serie objetivo (SERIE B) y los valores de la serie original
(SERIEA A), para luego compararlos. (esto hasta llegar al estado de
convergencia y se para el proceso (margen de error))
(Función de convergencia: grado de cercanía o adaptabilidad que el cromosoma
posee con lo que se espera de el)
ETAPA 7: Introducción del cromosoma en el programa de GA y
programación en el mismo de la función de convergencia
- la forma de introducción de los cromosomas y funciones de convergencia
depende del diseño:
- algunos los ponen dentro del fuente, tiene ventaja que aceleran el
tiempo de ejecución, pero tienen la desventaja que cada vez que
introducen datos deben recompilar el programa fuente para poder
ejecutarse
- Otros diseños incluyen tablas, o bases de datos en donde se cargan los
cromosomas y las funciones de convergencia. Cuando el programa se
ejecuta empieza por leer estos datos y luego sigue su procesamiento.
Este diseño tiene la ventaja de ser mas flexible, ya que no requiere estar
compilando la aplicación ante un cambio de los datos, pero vuelve al
programa notoriamente mas lento.
ETAPA 8: Ejecución del GA
- Una vez introducidos los datos, se ejecuta el programa.
- El GA estará programado para mostrar los resultados por pantalla o impresora
24
- Si el GA se utiliza como módulo dentro de un modelo mas complejo, el
resultado obtenido por el mismo será comunicado al módulo oportuno.
RESUMEN
Un algoritmo genético consiste, en un programa de computadora que:

Aceptará datos de entrada correspondientes a los cromosomas originales
o los generará al azar y a los cromosomas objetivo o datos del entorno

Tendrá una función de convergencia que mida el grado de asimilación
del cromosoma al entorno.

Elaborará " generaciones " de cromosomas compuestas por varios
cromosomas actuando al mismo momento La generación tiene un tiempo
establecido de vida. Los especimenes de las generaciones competirán
entre sí utilizando los operadores genéticos. Sólo los mas aptos se
reproducen. La generación siguiente solamente contiene hijos de los mas
aptos, que heredan estas características.

Entrará en Convergencia. Esto significa que no se percibe incremento en
los ejemplares de las generaciones siguientes. Cada nuevo ejemplar
tiene los mismos genes. En este punto el proceso evolutivo termina.

Comunicará al operador humano este hecho o ejecutará una acción
preprogramada para este evento.

En cuanto a la programación de los GA no necesitan de ningún lenguaje
específico para su programación.
o
En el ámbito de la Inteligencia Artificial se han utilizado
tradicionalmente lenguajes ad-hoc. Los dos mas conocidos son el
LISP , usado mayoritariamente en Estados Unidos y el PROLOG
para Europa y Japón. Estos lenguajes manejan bien la lógica de
predicados y por ende los operadores lógicos , por lo que su uso
en IA facilita la tarea.
o
Los GA , por otro lado , manejan operadores genéticos , los cuales
deben ser programados ya que no están incorporados a ningún
lenguaje. Por ende , da lo mismo elegir uno u otro entorno de
programación. Se puede utilizar Visual BASIC (visual.net), el
lenguaje más popular en este momento. Algoritmos en visual
Basic de GA esta en:
http://www.geocities.com/siliconValley/Byte/4713/ga/E-GA8.htm
OPERADORES GENÉTICOS
25
El GA trabaja en base a los operadores genéticos. Un operador genético
consiste en una serie de pasos estructurados que se aplican a los cromosomas
y forman resultados concretos , al igual que las operaciones matemáticas y
lógicas.
Los operadores matemáticos usuales son

suma ,

resta ,

multiplicación ,

división y

exponenciación
aunque todos pueden ser calculados a partir de la suma , que es la operación
básica.
Los operadores lógicos o booleanos más comunes son

conjunción (Y/AND lógico) ,

disyunción (O/OR lógico)

negación (NO/NOT/FALSE/FALSO lógico)

afirmación (SI/TRUE/VERDADERO lógico)

O exclusivo (XO/XOR LOGICO)
El tema de algoritmos genéticos ha creado sus propios operadores para trabajar
, que cumplen funciones similares a los detallados anteriormente. Se utilizan
algunos vocablos en inglés por ser de amplia familiaridad en la literatura
específica.
Los mas usuales son:

crossover (apareamiento)

mutation (mutación)

fitness (adaptatividad)

clonación

inversión = inverso de clonación
El autor sugiere también la posibilidad de usar los siguientes operadores:

REVERSIÓN , en donde un cromosoma de bajo fitness se intercambia por
sí mismo revirtiendo el orden de los bits.
26

ANULACIÓN o PAVLOV: En donde se anulan genes determinados . los
cuales se fuerzan a evolucionar por separado y se reinsertan al
cromosoma a posteriori.
Fitness
Este operador mide y opera con la adaptación al entorno o competitividad.
Mediante el uso de funciones como la función de convergencia el sistema
reconoce el grado de cercanía o adaptabilidad que el cromosoma posee con lo
que se espera de él. Los mas parecidos son seleccionados para sobrevivir y los
demás para morir. Solo los seleccionados tendrán descendencia , por lo que en
la siguiente generación , solamente quedarán hijos de estos ejemplares para
seguir compitiendo.
Crossover
Este operador trata de sacar ventaja de la reproducción sexual de las especies
superiores. El razonamiento es el siguiente: Si un macho tiene algunos genes
que lo vuelven mas competitivo , y se aparea con una hembra que posee otros
genes igualmente importantes , algunas de sus crías tendrán ambos genes , por
lo se volverán mas competitivos que sus respectivos padres. Este esquema no
es posible en una reproducción asexuada (clonación) , en donde la cría es
genéticamente igual al padre. El operador extrae genes o pedazos de genes de
cromosomas diferentes y crea un nuevo cromosoma imitando la reproducción
sexual. Si este nuevo cromosoma es mas competitivo , sobrevivirá a la siguiente
vez que se le aplique el operador fitness. En caso contrario , no sobrevivirá a la
competencia.
El cuadro GA 10 esquematiza un proceso de apareamiento entre dos genes.
Cuadro GA 11 Esquema de un Crossover
27
Mutation
Los genes pueden mutar por influencia de factores naturales (rayos cósmicos ,
luz ultravioleta ) o artificiales (radioactividad ). La mutación consiste en el
cambio de valor de uno a mas bits por otro. Si bien el porcentaje de mutación
es bajo , la acumulación a lo largo de los siglos puede producir efectos
acumulativos importantes. En el ámbito de los GA este efecto se acelera para
no esperar este tiempo , pero se hace de manera de que su incidencia no sea
un factor preponderante , ya que de hacerlo cambiaría el concepto de evolución
acumulativa por la de evolución al azar.
El cuadro GA12 muestra el esquema de una mutación genética.
Cuadro GA12 Mutación genética
28
Clonación
La clonación consiste en la duplicación de la estructura genética de un
cromosoma para la generación siguiente. Esto hace que ese ejemplar sobreviva
intacto para competir en la nueva generación. La clonación se puede producir
en forma


explícita: Cuando el software de GA prevé que ante ciertas circunstancias
un cromosoma se duplique a si mismo


implícita: Cuando el programa no prohíbe que en el proceso de crossover
un cromosoma sea seleccionado como pareja de sí mismo para generar
descendencia.
Los cuadros GA13 y GA14 muestran esquemas de los procesos de clonación
implícita y explícita.
Cuadro GA 13 Proceso de clonación explícita
Cuadro GA 14 Proceso de clonación implícita
29
Inversión
La inversión consiste en la operación contraria a la clonación. Puede ser:


Total: Un cromosoma muta totalmente por su inverso. Ej.: Dado el
cromosoma 00011, su inverso será 11100.


Parcial: Un gen o parte de un gen mutan por su inverso. Si la mutación
es de un solo bit, el efecto es igual al de la mutación simple. De hecho ,
la mutación puede considerarse como un caso especial de la inversión.


Los cuadros GA15 y GA16 muestran esquemas de los procesos de
inversión total y parcial.
Cuadro GA 15 Inversión total
30
Cuadro GA 16 Inversión parcial
Reversión
La reversión consiste en la operación que cambia el cromosoma por sí mismo
ordenado de atrás para adelante. Esta operación no existe en la naturaleza ,
pero se basa un la presunción de que algunos cromosomas poco competitivos
podrían revertir su estado en el orden contrario. Al igual que con la inversión ,
la reversión puede ser:

31

Total: Un cromosoma se revierte totalmente. Ej.: Dado el cromosoma
00011, su reverso será 11000.


Parcial: Un gen o parte de un gen cambian por su reverso.
Los cuadros GA17 y GA18 muestran esquemas de los procesos de inversión
total y parcial.
Cuadro GA 17 Reversión total
Cuadro GA 18 Reversión parcial
32
Anulación o Pavlov
Este operador ha sido inspirado en la metodología utilizada por el conocido
médico ruso , aunque su trabajo no tenga que ver en absoluto con los GA.
Pavlov investigó durante más de 20 años la fisiología de los mamíferos
superiores , preponderantemente de los perros. Sus difundidos trabajos sobre
reflejos condicionados emanan de este hecho. Su metodología se basaba en la
aislación de los componentes anatómicos a estudiar , con independencia del
resto de la morfología. En otras palabras, el estudio se centraba en un órgano u
órganos específicos cada vez y se trataba de medir la influencia del entorno en
este tejido en particular. Pavlov intentaba aislar alguna variable y medir el
impacto en la misma de cambios en el entorno. De esta manera , podía
acostumbrar a un perro a estar a oscuras y sin sonidos para averiguar la
preponderancia del olfato ante la estimulación de la comida en un perro privado
del sentido visual. y auditivo. A algunos especímenes se les llegó a cortar las
conexiones nerviosas (equivalente a anular las respuestas del órgano
conectado) para lograr el mismo resultado. (Recordemos que sólo en los
últimos tiempos florece un debate sobre los procedimientos utilizados con los
especímenes para la investigación científica. En la época analizada , tal planteo
no existía)
El organismo del mamífero superior consta de una serie de sustancias químicas
(asimilables a las variables de un sistema matemático) que interactúan entre sí
dinámicamente.Una postura integradora argumentaría que la investigación debe
ser hecha sobre el cuerpo tomado como un todo , ya que todas las variables
(las enzimas) están interrelacionadas. La posición de Pavlov fué la contraria , ya
que basó su método en inferir el comportamiento de todo estudiando
características de las partes o deducir el todo anulando alguna de ellas.
33
Este tipo de planteo es aplicable a los GA , que constan al igual que el cuerpo
de una serie de genes interdependientes. En los seres vivos existen
generalmente mecanismos de compensación , en donde ciertos genes impulsan
acciones en un sentido determinado y ciertos otros en sentido opuesto. La
acción final se produce como consecuencia de la medición de estas fuerzas La
anulación estructurada de alguno de ellos puede servir como base para el
entendimiento del comportamiento del resto del sistema. En el ámbito de la
biología estos genes reciben el nombre de aleles o alelos Si se identificaran y
anularan algunos de los genes que condicionan el valor esperado en sentido
opuesto, esto representaría una mejora idéntica a la de mejorar los valores de
los restantes.
Un operador Pavlov anulará sistemáticamente algunos de los bits del
cromosoma y medirá de esa manera el incremento o no del fitness del mismo.
Dado que el GA tiene los cromosomas estructurados como cadenas binarias , la
anulación se simplifica enormemente ya que para realizarla es suficiente con
cambiar los valores a "0" de los bits "1" o viceversa.
El cuadro GA19 muestra el esquema del operador pavloviano en un GA
Cuadro GA 19 Operador Pavloviano en un GA
En los párrafos precedentes se han vertido los conceptos necesarios para el
entendimiento básico del funcionamiento de un algoritmo genético , sin
ahondar en su mecanismo de funcionamiento.
El lector interesado en conocer profundamente el diseño del mismo , puede
continuar la lectura de la segunda parte , en donde se desarrolla la
programación de un GA en la computadora. Quien solo esté buscando una
descripción sumaria de este tema , puede discontinuar la lectura en este punto.
34

Sistemas Expertos, en esta área se desarrollan programas que ofrezcan
soluciones a problemas que requieran un experto humano conocedor del
tema para la solución 1977 (INTERNIST Medicina, WUMPUS Matemáticas,
CRYSALIS Química, EXPERT Geología, SPEAR Ingeniería, HEARSAY lenguaje
natural). (después será detallado)
Sistemas Expertos:
“Es un sistema informático que simula el proceso de aprendizaje, de
memorización, de razonamiento, de comunicación, y de acción de un experto
humano en una determinada rama de la ciencia, suministrando, de esta forma,
un consultor que puede sustituirse con unas ciertas garantías de éxito”.
Papel de SE: son relacionados con el papel que juega el experto humano
 como suministradores de información
 resolviendo problemas
 explicando (razones)
Componentes de un SE:
Los elementos más importantes de un sistema experto son:
- Experto Humano: Es quien aporta el conocimiento en el área de interés
- Ingeniero del Conocimiento: Esta persona interpreta este conocimiento
en forma tal que hace capaz que el sistema asimile.
- Estos dos anteriores van hablar lenguajes distintos,
- Multitud de preguntas de IC al EH,
- IC no se contentará con las respuestas, exigiendo razones,
- IC controlara la coherencia del conocimiento en su conjunto
- EH queda mas especializado, por orden de ideas,
- Subsistema de control de la coherencia:
- Sirve para mantener coherencia con el conocimiento,
- Es un nuevo concepto puesto en SE, muchos SE algunos de los sistemas
actuales no disponen del mismo,
- permite forma mas ordenada,
- mas fiable,
- avisará de las imperfecciones antes señaladas,
- para evitar que existan reglas que se contradigan,
- el sistema debe suministrar información para que controle incoherencias,
- evita que pase la información mala a la base del conocimiento,
- Subsistema de Adquisición del conocimiento:
- encargado de recibir los elementos de conocimiento,
- comprobar que sean elementos nuevos (aun no en Base del
Conocimiento)
- el conocimiento de 2 tipos:
- abstracto: validez general (reglas, espacios probabilisticos), forma
parte del sistema (eje: todas las diferentes enfermedades, nombres,
tratamientos...)
35
-
-
-
-
-
-
-
-
-
concreto: validez particular, no forma parte del sistema, es efímero,
es decir se destruye (eje: síntomas de un paciente en particular)
Base del Conocimiento:
- Elemento que almacena el conocimiento abstracto
- Pone el conocimiento a disposición del motor de inferencia para su
tratamiento
La memoria de trabajo:
- es la que almacena el conocimiento concreto
- igualmente almacena todos los procedimientos de los diferentes sistemas
y subsistemas
- es de carácter transitorio o cambiante
El motor de inferencia:
- Es el corazón de todo sistema experto
- Su función es aplicar el conocimiento abstracto al conocimiento concreto
- Con la acción de sacar conclusiones
- (eje: el diagnostico de una paciente, consiste en analizar los síntomas
(concreto) y detectar la enfermedad que posee mediante el análisis de
diferentes sintomatologías (abstracto))
Subsistema de demanda de información:
- Se recurre a este subsistema cuando el conocimiento concreto es muy
limitado y que no se puede sacar conclusiones fiables
- Completa ese conocimiento para proceder de nuevo a la reelaboración y
repetir este ciclo hasta conseguir conclusiones validas
Interfase de Usuario:
- Permite que el usuario introduzca información al sistema
- Se debe usar hardware (ratones, pantallas gráficas, a color, etc.) y
software (menús, Windows, gráficos, etc). Para que sea atractivo al
usuario.
Subsistema de ejecución de ordenes:
- para realizar acciones pertinentes luego de haber sacado las
conclusiones
- (eje: Un sistema de control de una central nuclear puede producir
apertura de ciertas válvulas, la activación de alarmas, etc)
Subsistema de explicación:
- De igual manera luego de tener las conclusiones, el usuario puede pedir
razones
- Que por medio de los procesos hechos por el motor de inferencia,
comunique al usuario el forma ordenada los hechos
- Es recomendable tener un mecanismo de elección que permita elegir el
nivel de contenido de explicación (mas detallada o no)
Subsistema de propagación de la incertidumbre:
- Por su complejidad es el elemento mas débil de los SE
- Entenderlo en el sentido que la propagación de la incertidumbre es
normalmente incorrecto, dando como resultado que las conclusiones no
son muy fiables
- Existen medidas como probabilidades, factores, de certeza, teoría de la
evidencia, lógica difusa (veremos mas adelante)
36
-
Básicamente, lo que se hace es asociar a cada hecho una cierta medida
de incertidumbre (probabilidad)
- Subsistema de aprendizaje:
- Es uno de los elementos últimamente incorporados
- Dan el concepto de que los SE son capaces de aprender (demostrado)
- Dos tipos aprendizaje:
- Aprendizaje Estructural:
- Relacionado con la estructura del conocimiento (reglas, espacios
probabilisticos, etc)
- La incorporación de nuevas reglas a la base del conocimiento
constituye aprendizaje estructural
- Aprendizaje Parametrico:
- Se refiere a los parámetros de la base del conocimiento
- La determinación de probabilidades en los hechos constituyen
aprendizaje parametrico
- Se pueden manipular estas probabilidades (desde hacerle nula
para evitar el hecho, para luego si la hipótesis es incorrecta
simplemente modificar los parámetros (probabilidades) para incluir
al hecho) (eje: medico)
- Subsistema de experiencias:
- Es la inclusión de la base de datos de experiencias existentes sobre el
tema en el cual se esta aplicando el SE
- Se puede decir que un SE se podría generar sin la necesidad de un
Experto Humano (contradictorio con el concepto), partiendo de datos o
experiencias recogidas por no expertos, con garantías casi iguales como
si se lo hiciese con un experto humano.
Funciones de un SE:
Los elementos anteriores nos sirven para definir claramente las funciones de un
SE, siendo la mejor forma de entender que es lo realmente hay detrás de estos
sistemas y conocer sus posibilidades.
- Adquirir conocimiento
- Almacenar conocimiento
- Razonar e inferir
- Demandar nueva información
- Aprender
- Propagar incertidumbre
- Asistir al experto a dar información coherente
- Explicar las conclusiones
- Realizar ciertas acciones como consecuencia del razonamiento
- Controlar la coherencia del conocimiento del sistema
A estas se le pueden ir adicionando mas conforme avance la tecnología que en
esta área es bien agresiva.
Etapas de desarrollo de un SE:
1. Definición del problema a resolver (Análisis)
 No escatimar tiempo
 trabajar con precisión
2. Búsqueda de un EH o de los datos o experiencia
37
 EH que este en condiciones de resolver el problema con
posibilidades de éxito (abierto)
 En algunos casos bastara con bases de datos, experiencias que
sustituirán al EH
 prácticamente en todos los casos se cambian algunos aspectos que
ya se definieron en la primera etapa, por orientaciones del EH
3. Diseño del SE
 Donde se incluyen las estructuras para almacenamiento del
conocimiento, motor de inferencia, los sistemas de explicación,
interfase con el usuario, etc
 Se dejaran ventanas abiertas para acceso a información estadístico
y de control.
4. Elección del grado de intervención del usuario
5. Selección de la herramienta, concha o lenguaje de desarrollo
 la etapas 4 y 5, muy necesarias en su elección para evitar esfuerzos
inútiles,
 por otro lado son caras las herramientas o conchas,
 el uso de conchas es mas fiable por su control de calidad
6. desarrollo de un prototipo
7. prueba del prototipo
 las etapas 6 y 7, se convierten en un ciclo de repetición hasta que
se obtengan resultados apetecidos
8. refinamiento y generalización
 relacionado con la anterior, aquí se van puliendo defectos o
incluyendo nuevos casos no contemplados en el diseño inicial
9. mantenimiento
10.actualización
 Las dos ultimas etapas son muy importantes para obtener un producto
de calidad y/o con éxito comercial
 En estas etapas habrá que atender las demandas de los clientes,
resolviendo sus problemas,
 actualizando el sistema con nuevos avances.
Tipos de SE:
Entre los SE que se destacan están los:
 basados en Reglas
 basados en Probabilidades
Comparación de elementos en los dos sistemas:
38
Elementos
Base del Conocimiento
Modelo Probabilistico
Abstracto: Estructura
Probalisitica
Concreto: hechos
Motor de Inferencia
Evaluación de
probabilidades
Subsistema de explicación Basado en probabilidades
condicionales (Por
condiciones especiales
como edad, sexo, etc, que
tienen historial de que esto
ya haya ocurrido antes)
Adquisición conocimiento Espacio probabilistico,
Parámetros
Subsistema aprendizaje
Modelo Basado en Reglas
Abstracto: Reglas
Concreto: Hechos
Encadenamiento hacia
atrás y hacia adelante
Basados en reglas activas
Reglas, factores de
certeza(medida de certeza
que se tiene de un hecho.
Una de las medidas de la
Incertidumbre)
Cambio en la estructura del Nuevas reglas
espacio probabilistico
Cambio en los factores de
Cambio en los parametros certeza
(historial)
Estrategias de representar el conocimiento:
La elección de que tipo de representación depende del tipo de problema que
pretende resolver el SE, pues no hay una estrategia que sirva para todos los
casos, pero si se debe tener la mejor elección porque la eficiencia del sistema
depende de la estrategia usada. Las mas frecuentes representaciones de
conocimiento son:
 Redes Semánticas:
 Es el sistema de representación mas general de todos y mas antiguo
 es una colección de objetos, también llamados nodos(representan
objetos)
 unidos mediante arcos o enlaces formando una red (representan
relaciones entre esos objetos) (es, tiene, colabora, etc)
 Estos elementos llevan asociado una etiqueta o palabra, en el caso de
los nodos un nombre, y en los enlaces es un verbo.
Gráfico sobre red semántica (cargos de una empresa)
 Ternas objeto-atributo-valor:
 es un caso especial de la red semántica,
 donde existen tres nodos: objetos, atributos y valores y se suprimen
los enlaces
 Hay ocasiones donde se añade a las ternas un factor de certeza que
sirve para medir la confianza que se tiene de que la terna sea correcta
 En otras ocasiones se suprime el atributo y se trabaja solo con parejas
objeto-valor
(gráfico sobre Terna objeto-atributo-valor)
39
 Reglas:
 Las reglas se usan para representar relaciones y constan de dos
partes: “la premisa” y “la conclusión”
 a su vez la premisa consta del condicional “Si” y de una expresión
lógica(constituida por una o varias ternas objeto-atributo-valor unidas
por los operadores “y”, “o” y “no”). Alguna ocasiones, cuando el
sistema amerita se forza a que solo exista el operador lógico “y” y solo
se maneje con objeto-valor
 la conclusión consta del adverbio “entonces” y de una expresión lógica
 Si luego de evaluar la premisa y esta resulta correcta, entonces se
hace que la expresión lógica de la conclusión sea cierta
(Gráfico de reglas sobre cargos de la empresa)
 Marcos:
 es otro de las formas de representar objetos y relaciones
 casos particulares de redes semánticas
 Un marco suministra toda la información existente sobre un objeto
 esta información puede ser declarativa o descriptiva y de tipo
indirecta, es decir directamente características del objeto o dar
procedimientos o reglas para determinarlas
 Esta forma indirecta hizo popular su uso
(gráfico de marco)
 Expresiones Lógicas:
 La lógica es una disciplina que esta relacionada con la validez de
argumentos, determinar si unas conclusiones pueden deducirse
correctamente a partir de unos hechos
40
 En la lógica se comparan los hechos o supuestos contra una serie de
patrones abstractos (modelos que están conformados por reglas que
previamente han sido comprobados y validados de una forma
matemática o formal)
 Existen 2 tipos comunes de notaciones lógicas:
 lógica proporcional:
 es un sistema de lógica común en el que las
proposiciones son expresiones que pueden ser
verdaderas o falsas, las mismas que están unidas por
conectivos “y”, “o”, “implica”, “equivalente” y se
denominan expresiones compuestas
 la lógica proporcional se ocupa de las expresiones
compuestas
 Existen diferentes reglas para propagar la veracidad de
las expresiones dependiendo de los conectivos. (eje: si X
es verdadero y Y es falso, la expresión compuesta X e Y
es falso; Mientras X o Y es verdadero. Otras reglas
permiten inferencias como, si X es verdadero y X implica
a Y se puede decir que Y es verdadero)
 lógica de predicados:
 es una extensión de lo anterior
 la unidad fundamental es un objeto
 las expresiones acerca del objeto se llaman predicados (a
veces los predicados expresan relación entre objetos)
(gráfico de expresiones lógicas)
Sistemas Expertos Basados en Reglas:
Se va ha dar mayor importancia a la base del conocimiento y al motor de
inferencia
La Base del Conocimiento:
 el centro de este tipo de sistemas lo constituye el conjunto de reglas de la
base del conocimiento, conocido con el nombre de conocimiento abstracto
 Cuando la premisas de algunas reglas coinciden en su totalidad o parte con
las conclusiones de otras, se llama lo que se produce “encadenamiento de
reglas”, es decir, las premisas de ciertas reglas son conclusiones de otras
(grafico de ejemplo de reglas y reglas encadenadas)
41
Motor de Inferencia:
 Las reglas sirven para obtener nuevos hechos y/o conclusiones, partiendo de
verdades o hechos iniciales
 ya que si el hecho representado por una premisa es cierto, también lo será el
hecho representado por la conclusión.
 existen 2 tipos de conclusiones:
 Conclusiones simples: aquellas que resultan de la aplicación de sólo
una regla
 Conclusiones compuestas: aquellas que resultan del encadenamiento
de varias reglas
 No siempre resulta la conclusiones del análisis de un regla o encadenamiento
de reglas; en estos casos el motor de inferencia podrá optar por:
 abandonar la regla por no poder concluir nada (luego de un rango de
interacciones)
 preguntar, a través del subsistema de demanda de información, sobre
la verdad o falsedad de las premisas y continuar con el proceso hasta
producir la conclusión
 para obtener conclusiones se utilizan diferentes tipos de estrategias de
inferencia y control de razonamiento:
 para las conclusiones simples:
 modus ponens
 estrategia más común
 afirma que si se tiene la regla “Si A es cierto entonces B
es cierto”
 Si se conoce que “A es cierto”, entonces puede afirmarse
que “B es cierto”, es una afirmación trivial por su
familiaridad
 modus tollens
 estrategia bastante menos corriente que la anterior
 afirma si se sabe que “B es falso”, entonces puede
afirmarse que “A es falso”
 es curioso que algunos SE no incluyen este tipo de
estrategia de inferencia, a pesar que resulta muy sencilla
y práctica su aplicación
42
 Para conclusiones compuestas:
 mecanismo de resolución, consta de los siguientes pasos
 se sustituye las reglas por expresiones lógicas
equivalentes
 se combinan éstas entre si para dar una nueva
expresión lógica
 se combina ésta con la evidencia de los hechos
(Grafico de sustituir, combinar, tabla de verdad a, b) pagina 49
Un ejemplo de este mecanismo:
sustitución de reglas por expresiones lógicas
“Si llueve las calles de mojan” = “No llueve o
las calles se mojan”
combinar expresiones lógicas
“No llueve” o “se producen filtraciones”
combinar con evidencias
evidencia es “lluvia”
“Si llueve las calles de mojan”
“Si las calles de mojan se producen
filtraciones”
la conclusión es: “Se producen filtraciones”
(Tabla de verdad a, b, c) pagina 50)
 técnicas de razonamiento incierto: (lógica incierta)
(Gráfico de implicaciones inciertas pag 52)
43
 Lógica clásica:
 donde se parte que si la premisa de una regla es
cierta la conclusión también lo será.
 “Si A es cierto entonces B es cierto” donde A
implica a B con probabilidad 1. (caso I del gráfico
implicaciones inciertas)
 este modelo tiene limitaciones, ya que existen
varios casos donde no siempre es así (en el caso
de enfermedades donde los síntomas no
necesariamente da cierta enfermedad)
 toda afirmación es siempre segura
 es una lógica de tipo determinista
 Lógica incierta:
 “toda afirmación debe ir acompañada de una
medida de incertidumbre, que expresa la
confianza que se tiene de que esa afirmación sea
cierta”
 Incertidumbre (medida de la aleatoriedad de algún
suceso)
 cuando se trabaja con implicaciones inciertas, las
afirmaciones hay que entenderlas como posibles
en vez de como seguras
 “A implica B con una probabilidad P(B|A)”
(probabilidad de B condicionada por A o
probabilidad de B supuesto que A es cierta) (caso
II del gráfico implicaciones inciertas)
 Para el caso de no implicación “A no implica B”
puede tratarse como caso extremo de implicación
“A implica B con probabilidad nula”. (caso III del
gráfico implicaciones inciertas)
 El problema en estos casos es la propagación de la
incertidumbre, para esto se exponen medidas de
incertidumbre:
 Probabilidad:
 Espacio probabilistico, consta de 2
elementos (U, A): un conjunto U y
una clase A de subconjuntos de U.
(ejemplo: el conjunto U es la
población de pacientes y la clase A
constituida por conjuntos que
44
cumplen ciertas condiciones
(síntomas-enfermedades))
 “Se dice que se tiene definido una
probabilidad en el espacio
probabilistico (U, A) si a cada
subconjunto de A se le asocia un
número real (entre 0 y 1) de tal
forma que se cumpla que la
probabilidad del conjunto universal U
siempre sea 1 y que la probabilidad
de cualquier conjunto unión de
conjuntos disyuntos es la suma de
sus probabilidades”
 Existe también el caso especial, y es
la probabilidad condicional P(A|E),
(P= número de elementos que pueda
ocurrir (A y E) / número de
elementos que ocurra E) (ejemplo: A
aparece un dos por lo menos en un
dado, E suma es 6; P(A|E)=2/5)
 Factor de Certeza:
 medida de certeza que se tiene de
un hecho o suceso, su valor oscila
entre (-1, 1)
 medida de credibilidad: mide el
decremento relativo de incredibilidad
de una hipótesis A debida a una
evidencia o información E. MC(A, E)
= (P(A|E) - P(A)) / (1 - P(A)) y si el
valor sale negativo se pone 0
 medida de incredibilidad: mide el
decremento relativo de credibilidad
de una hipótesis A debida a una
evidencia o información E. MI(A, E)
= (P(A) - P(A|E)) / P(A) y si el valor
es negativo se pone 0
 FC(A|E) = MC(A, E) - MI(A|E)
 (ejemplo complejo: pagina 117 y 89)
 estrategias de encadenamiento
 de estas depende la total eficacia del sistema
 en estas estrategias se debe tener presente:
 procedimientos para decidir por donde empezar,
ya que tenemos los datos en la Base de datos
estática y debemos tener mecanismo que lo
pongan a funcionar, como es la forma de localizar
reglas que hagan referencia a un valor de un
cierto objeto.
45
 además, debe tener mecanismos para que el




sistema pueda decidir como continuar cuando se
le presenten varias alternativas al mismo tiempo
 las estrategias mas comunes: encadenamiento hacia
adelante y hacia atrás
Durante el proceso de evaluación de las premisas o conclusiones de
las reglas, se da lo que se denomina concluir una regla, se dice que
esa regla se ha “disparado” o que esta “activa”. Estas reglas serán
tomadas en cuenta al momento o forman parte de la base del
subsistema de explicación
existen búsquedas verticales y horizontales en un árbol de reglas
encadenadas
 búsqueda vertical
 es buscar primero los detalles, es decir penetrando cada
vez más en los detalles siguiendo una cadena de reglas
 mas usado
 insiste sobre el mismo tema hasta que obtiene toda la
información
 ejemplo: realiza preguntas relacionadas con el tema al
mismo tiempo
 similar a lo que un medico especialista haría
 búsqueda horizontal
 se barre todas las premisas de una regla, antes de
enterarse de ningún detalle
 eficiente cuando una regla funciona y aparece
rápidamente el valor del objetivo
 hay ocasiones que pregunta el sistema preguntas
aparentemente raras, debido a que mezcla temas
diferentes
 ejemplo: hace preguntas fuera del tema; si esta
haciendo la pregunta de análisis de sangre, le empieza a
preguntar como es el análisis, como es su respiración,
como es el color de su piel….
 similar a lo que un medico general haría
Existe el razonamiento monótono y no monótono
 monótono, si los hechos de las reglas siempre tienen el mismo
valor en la sesión de consulta
 no monótono, si se permite variar los valores de los hechos de
las reglas durante la sesión de consulta; es complejo esto
porque se debe controlar si varia un valor hacerlo también en
sus derivados
Encadenamiento hacia adelante
 en esta estrategia se diferencian claramente la memoria de
trabajo y la de la base del conocimiento, en memoria de trabajo
esta los datos que surgen en la consulta, y en la base del
conocimiento las reglas
46
 estos dos tipo de información son comparados, que sus
resultados de esto pasan a incrementar el conocimiento
 esta estrategia se utiliza en problemas orientados a los datos o
de diagnostico, en donde se tiene unos hechos (síntomas) y se
quiere saber cuales son las conclusiones (enfermedades) que
pueden derivarse de ellos
(gráfico de encadenamiento hacia adelante pag 54)
 Encadenamiento hacia atrás
 esta estrategia se utiliza en problemas orientados al objetivo
(enfermedades), en donde se quiere saber que hechos
(síntomas) son necesarios para conseguirlos
(gráfico de encadenamiento hacia atrás pag 53)
Temas Avanzados
Agentes Inteligentes
Introducción
 Aquel que emprende la mejor acción posible en una situación dada
 Percibe su ambiente mediante sensores y que responde mediante efectores
 En el caso de agentes humanos los sensores pueden ser los ojos, oídos, etc.
y en los efectores manos, piernas boca, etc.
 en el caso de agentes de software sus percepciones o acciones son las
cadenas de bits codificados
 estos agentes deben poseer conocimiento
47
 agente racional: “aquel que hace correcto las cosas, es decir, con mejor
desempeño (como y cuando hacer)”
 secuencia de percepciones: todo lo que el agente haya percibido hasta el
momento, como una historia
 agente inteligente racional ideal: “en todos los casos de secuencia de
percepciones, deberá hacer todas las acciones que favorezcan a tener el
máximo rendimiento, basándose en evidencias aportadas por la secuencia de
percepción y de todo el conocimiento incorporado en el agente”
 Autonomía, tiene autonomía el agente si sus acciones son emprendidas no
solo por su conocimiento integrado sino también por su historial de
percepciones
 su conducta esta definida de acuerdo a la secuencia de percepciones o su
propia experiencia, y de hecho también del conocimiento integrado
 Mapeo del agente: es el que caracteriza al agente, una lista o tabla de
acciones que podrá dar como respuesta a cualquier secuencia de
percepciones
Estructura de los Agentes
 Para su funcionamiento interno se necesita de:
 programa de agente, que permita implementar el mapeo del agente
para pasar de percepciones a acciones
 y de la arquitectura, como el tipo de dispositivo de cómputo o
hardware especial donde correrá el programa o se ejecutara ciertas
tareas
Tipos de Agentes
 Existen varios tipos de agentes
 de acuerdo al manejo de programas se consideran cuatro tipos de agentes:
 Agentes de reflejo simple:
 basados en reglas de condición-acción o situación-acción, o
reglas si-entonces;
 toma una acción de acuerdo a una conexión
 el agente establece conexión entre percepciones y acciones
 ejemplo: si el carro de adelante frena, se prende la luces de
alto, la cámara capta y entonces debe frenar (regla condiciónacción: SI el carro de adelante está frenado ENTONCES
empiece a frenar)
 gráfico (pag 43- figura 2.7) (los rectángulos son estado internos
en un momento dado de la decisión del agente, los óvalos son
información de base)
48
 Agentes bien informados de todo lo que pasa:
 no siempre los sensores no informan acerca del estado del




mundo
si se produce una percepción el agente debe tener un cierto
tipo de estado interno que no es demasiado extenso
el agente necesita actualizar algo de información en el estado
interno que permita diferenciar entre estados del mundo que
generan la misma entrada de percepciones
esta actualización de información es de dos tipos:
 de como evoluciona el mundo, independiente de los
agentes
 de como afecta al mundo las acciones que puede tomar
el agente
ejemplo: si se quiere cambiar de carril y se ve por retrovisor si
existe carros atrás, se debe tener cuidado si existe carros en el
ángulo que el espejo no ve, y que luego de tomar la acción en
que afectara al mundo, se dejara vacío el espacio que antes
ocupaba el carro, etc
 (grafico pag 45 figura 2.9)
 Agentes basados en metas:
 no siempre basta con tener información del estado actual del
ambiente, sino también ¿que sucedería si hago tal o cual cosa?
 se requiere de cierta información sobre su meta (situaciones
deseables)
 el agente debe combinar la información anterior con esta nueva
información y como resultado se producirán las posibles
acciones que se emprendan
 se habla de agente reflejo donde se permiten elegir aquellas
acciones que permitan alcanzar la meta
49
 en situaciones sencillas en fácil elegir, pero en situaciones
mayores es necesario tener métodos de búsqueda y
planificación que ayudaran a encontrar la secuencia de acciones
que permitan alcanzar las metas de un agente
 es mas flexible que el anterior, ya que permite dirigirse a varios
destinos, modificando su conducta.
 ejemplo: si esta en una autopista y hay una Y, se debe decidir
por donde ir izquierda o derecha dependiendo cual sea su meta
 (gráfico pag. 46 figura 2.11)
 Agentes basados en utilidad:
 las metas no bastan para determinar una conducta de alta
calidad (velocidad, seguridad, confiables, etc.)
 de acuerdo a tal o cual resultado se sentirá mayor “felicidad”
que traducido a nuestra área se dice que es Utilidad (calidad de
ser útil)
 Utilidad “es una función que correlaciona un estado y un
número real mediante el cual se caracteriza el correspondiente
grado de satisfacción”
 esta utilidad se ve implicada al momento que el agente debe
elegir entre varias metas, entonces debe medir la posibilidad de
tener éxito considerando la importancia de las diferentes metas
 (gráfico pag. 48 figura 2.12)
Ambientes
 Los ambientes de los agentes pueden ser reales o artificiales.
50
 reales: ejemplo un ser humano se mueve dentro de un cuarto, los
agentes de software capturan la imagen digitalizada del movimiento
del ser humano y toman y deciden una acción
 artificial: luego en el ambiente de una pantalla esta imagen es
reproducida y es sobrepuesta una imagen (dibujo-caricatura) de sus
tipos de movimientos
ejemplo de diversos tipos de agentes y sus correspondientes PAMA.
 Propiedades de los ambientes
 Accesible y no accesible
 Si el aparato sensorial del agente le permite tener acceso al
estado total de un ambiente
 si sus sensores detectan todos los aspectos relevantes a la
elección de una acción
 no necesita de que el agente mantenga un estado interno para
estar al tanto que sucede en el mundo
 ejemplos de accesible:
 un sistema de análisis de imágenes, capta todos los
aspectos relevantes,
 ajedrez,
 backgammon
 ejemplos de no accesible:
 conducir un taxi
 sistema de diagnostico medico
 Determinista y no determinista
 Si el estado siguiente de un ambiente se determina
completamente mediante el estado actual y las acciones
escogidas por los agentes
 es un punto de vista mejor que el anterior, visto desde el
agente
 ejemplos son los mismos de los casos de accesibles y no
 Episódicos y no episódicos
 la experiencia del agente se divide en episodios (partes)
 cada episodio consta de un agente que percibe y actúa
 la calidad actuación dependerá del episodio mismo ya que no
depende de las otras partes o episodios
 ejemplo, tenemos el sistema de análisis de imágenes donde se
tiene episodios de captura de imagen, interpretación de
imagen, edición de imagen, manipulación de imagen
 Estáticos y dinámicos
 dinámico, cuando existe la posibilidad de que el ambiente sufra
modificaciones mientras el agente se encuentra deliberando
(cuando pasa el tiempo) (ejemplo: conducir un taxi, diagnostico
medico)
 estático, cuando no varia el ambiente mientras el agente se
encuentra deliberando, (ejemplo: ajedrez sin reloj)
 existe otro tipo que es la mezcla de los dos anteriores donde
básicamente no varía los aspectos principales del ambiente y no
51
modifica la calificación asignada al agente, estos se denominan
semidinámico (ejemplo: el ajedrez con reloj, varia el tiempo
pero no importa para tomar una acción)
 Discretos y continuos
 discreto, si existe una cantidad limitada de percepciones y
acciones distintas y claramente discernibles (ejemplo: el
ajedrez)
 continuo, la cantidad ilimitada de percepciones y acciones
distintas (ejemplo: el conducir un taxi, análisis de imágenes).
52
Descargar