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 [email protected], 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