r Inteligencia Artificial Preguntas Teóricas Guía 2007 Fecha creación : 5 de Mayo 2007 Última Modificación: 7 de Mayo de 2007 Ultima ultima modificacion: 9 de mayo de 2007 Temas Introducción a la inteligencia artificial Sistemas Expertos Sistemas Basados en Reglas Sistemas Basados en Probabilidades Búsqueda Búsqueda Heuristica Algoritmos Genéticos Introducción a la inteligencia artificial 02 – Conocimiento es Igual a información. MALLLL Para mi es La información asimilada se transforma en conocimiento. Pero, información y conocimiento no son sinónimos. La información es el término general y el conocimiento es información bajo determinadas condiciones. Cuando la información se encuentra en las condiciones adecuadas para propagarse, la llamamos conocimiento. La forma en que los seres informáticos se expresan a si mismos es parte del estudio del comportamiento de la información. 03 – Explicación de Agencia, Inteligencia y Movilidad en un Agente Inteligente Estos tres son capacidades con las que debe contar un Agente inteligente. Agencia, se refiere al grado de autonomía del agente, es decir a la capacidad que este posee para tomar desiciones y realizar acciones sin intervención del usuario. Inteligencia se refiere a la habilidad del agente de capturar y aplicar conocimiento especifico del dominio de la aplicación para procesar y resolver problemas. Un agente es móvil si este puede moverse entre sistemas en una red, esto introduce una complejidad adicional a un agente inteligente dado que introduce problemas de seguridad y costos. Las Intranet son escenarios ideales para los agentes dado que requieren menos seguridad que la Internet. 04 – Test de Turing La prueba de Turing se diseño para proporcionar una definición operacional y satisfactoria de inteligencia. Se basa en la incapacidad de determinar entre entidades inteligentes y seres humanos. El computador supera la prueba si el evaluador (ser humano) no puede distinguir si las respuestas son son de una persona o no. Para pasar la prueba el ordenador debería disponer de las siguientes características. Procesamiento del Lenguaje natural Representación del Conocimiento Razonamiento Automático Aprendizaje automático Además existe la prueba global de Turing, para ella debería contar con Visión Computacional , Percepción Robótica para manipular los objetos Estos aspectos cubren la mayoría del campo de la inteligencia artificial 05 – Características de un problema para aplicar 06- Algoritmo del Fuego Fuego = 3 Humo = 2 Limpio = 1 Fin = 0 1 Ver todas las Posiciones donde se puede mover izq,abajo,der, arriba. 2 Ordenar las posiciones posibles de menor a mayor 4 Si la primera posición disponible es 0 5 Tomar la posición y terminar sino 6 Por cada posición posible tomar la primera y volver al paso 1 7 Si no hay más posiciones para tomar 8 volver a la posición anterior y probar la siguiente disponible. 07 – Si, el algoritmo permite dado que no hace referencia al formato de la cuadricula. 08 09 (Definición de Agustin – No comprobada ) Espacio de Soluciones es el conjunto de todas las soluciones de un problema, dentro del mismo tendremos soluciones optimas y no optimas. 10 – (Definición de Agustin – Con mis Palabras – No tomar Literal ) La inteligencia artificial son un conjunto de técnicas que se basan en el aprendizaje y el conocimiento que trabajan sobre entradas para generar salidas dependientes de la experiencia y conocimiento del sistema inteligente. Simulan la inteligencia humana para resolver problemas bajo dominios conocidos y bien definidos. Sistemas Expertos 02 – Componentes de un sistema experto. Expertos Humanos Ing. Conocimiento Base de Datos Sub. Adquisición de Conocimiento Sub. De Aprendizaje Sub. Control de Coherencia Base de Konocimient o Memoría de Trabajo Sub. Adquisición de Información Usuario s User Interface Explicació n Motor de Inferencia Ejecución Acción Humanos Expertos : Suministran el conocimiento del tema de interés Ingenieros: Trasladan el conocimiento a un lenguaje que el SE puede entender Usuario : Utilizan el Sistema Base de Conocimiento: Esta compuesto por todo el conocimiento de forma ordenada y estructurada con relaciones bien definidas y explicadas que fue transmitido por los expertos y adaptado por los Ing. En Conocimiento. Memoria de Trabajo : Lugar donde se almacenan los datos y otros elementos de carácter transitorio Adquisición del Conocimiento : Controla el flujo de conocimiento, pide lo que falta y incorpora los elementos nuevos. Control de Coherencia : Controla la integridad y consistencia en la base de conocimiento. Motor de Inferencia: Es el corazón, obtiene conclusiones a partir de los datos y el conocimiento de la base. Adquisición de información: Se utiliza para adquirir nueva información cuando el conocimiento en la base es escaso. Ejecución de Acciones: Es el que le permite al SE iniciar acciones, las mismas se basa en las conclusiones obtenidas por el motor de inferencia. Explicación: Explica el proceso que realizo el motor de inferencia para arribar a la conclusión. Planteamiento del Problema SE la Aprendizaje: Subsistema que permite al adquisición de nuevo conocimiento. Encontrar experto humanos 03- Diseñar el Sistema experto Elegir herramientas de Desarrollo Construir Prototipos Probar Prototipos Refinamiento y Generalización Mantenimiento y Puesta al dia Pasos en el desarrollo de un sistema experto. 04 – Diferencias entre un sistema experto y un sistema de información. En sistema experto es un sistema de información en si mismo, pero a diferencia de los SI que estamos acostumbrados un SE va mucho mas allá. El SE trabaja sobre una base de conocimiento que se construyo a partir de un experto en un tema en especial, a partir de los datos de entrada y su base de conocimiento obtienen conclusiones de salida, las conclusiones para un mismo conjunto de entrada puede variar dependiendo del conocimiento y de la experiencia del sistema. Los SI trabajan sobre los datos de entrada aplicando algún procedimiento y generan una salida, las salidas serán siempre las mismas para el mismo conjunto de entrada. El SI proporciona información para la toma de desiciones, el SE provee la desiciones en la mayoría de los casos. El SE necesita una constante actualización y retro alimentación de su base de conocimiento para lograr conclusiones acertadas. Los SI puede trabajar años correctamente sin tener ningún cambio o actualización. Los SE suelen ser más complejos. 08 – Diferencia entre sistema experto y agente. El sistema agente aprende, el SE no se considera como tal si tiene modulo de aprendizaje, depende de la literatura de referencia, pero básicamente, el SE no incorpora por si mismo el conocimiento, sino que lo hace un experto (no aprende por si solo). Ademas no tiene movilidad (ver la definición de agente), y no estoy seguro respecto de lo de agencia (estimo que no puede “representar”al usuario) 09 – Un sistema experto puede utilizarse en muchos casos, por ejemplo en un sistema de detección de intrusiones (IDS). Puede implementarse un sistema que analice el tráfico de red y en base a una base de conocimiento de ataques de intrusión a sistemas el IDS detecte automáticamente la amenaza y defienda la red del ataque inminente. 10 – Un SE bien armado y con su base de conocimiento actualizada y consistente, sin dudas puede llegar a mejores conclusiones que un experto humano. El computador no cometerá errores dado que no se ve afectado a las emociones que los seres humanos poseen. A los seres humanos se les puede pasar por alto detalles en la búsqueda de la solución que afecten a la conclusión. Lo ideal sería el trabajo en conjunto de ambas partes, que el SE resuelva el problema y el experto verifique la conclusión. 11- El SE puede implementar Modus Ponens y Modus Tollens. 12 – El conjunto de conflicto del SE es ??? Es el conjunto de reglas que están en condiciones de ser disparadas en un momento dado. Debe implementarse una estructura de control para decidir cual de las reglas se disparará. 13 – Sin el subsistema de aprendizaje y ante las mismas entradas un SE podría presentar salidas diferentes si el Ing. De conocimiento actualiza la base de conocimiento en el medio de ambas corridas. Dado que sin el subsistema de aprendizaje no le permite al SE la adquisición automática de nuevo conocimiento el SE adquiere conocimiento solo por el Ing. De conocimiento y el subsistema de adquisición de conocimiento. 14 – El conjunto de reglas en un SE es inconsistente si existe un conjunto de valores de entrada para los cuales el conjunto de reglas obtenga conclusiones contradictorias.Sistemas Basados en Reglas 01 – Explicar como utilizar Modus Tollens (MT) y Modus Ponens (MP) para inferir conocimiento En La regla de inferencia MP se analiza la premisa, si esta es verdadera se infiere que la conclusión también es verdadera. No se puede decir nada en otro caso. En la regla de inferencia MT se analiza la conclusión, si esta es falsa se infiere que la premisa también los es. No se puede decir nada en otro caso. Sistemas Basados en Probabilidades 01 – Que diferencias existen entre P(A|B) y P (A, B) P(A | B) significa al probabilidad de A habiendo ocurrido B, es decir la probabilidad de que ocurra A después de haber ocurrido B. P(A , B) significa la probabilidad conjunta de A y B, es decir ,la probabilidad de que A y B ocurran simultáneamente. 02 – Para que se utiliza Bayes, Defina probabilidad a priorí y a posteriorí. Probabilidad a priorí es el grado de creencia que se le otorga en ausencia de cualquier otra información adicional a una preposición A y se escribe P(A). La probabilidad a posteriorí es la probabilidad que se obtiene añadiendo información y relaciones entre las probabilidades a priorí. << Verosimilitud >> El teorema de bayes parte de la regla del producto y llega a la siguiente formula. P(b|a) = (p( a| b) p(b)) / p(a) Es utilizada para obtener probabilidades desconocidas a partir de probabilidades condicionadas conocidas. En otras palabras obtiene probabilidades a posteriorí de las probabilidades a priorí. Búsqueda 01 – La definición de espacio de estados, para la resolución de problemas, permite definir formalmente el problema y el proceso de resolución. Explique. Permite definir formalmente el problema: mediante la necesidad de convertir alguna situación dada en la situación deseada usando un conjunto de operaciones permitidas. Permite definir el proceso de solución: como la combinación de técnicas conocidas y búsqueda, la técnica general de exploración en el espacio intenta encontrar alguna ruta desde el estado actual hasta el estado objetivo. 02 03 – Requisitos de una estrategia de control. Una estrategia de control debe Causar algún cambio: debe provocar que se cambien los estados Ser sistemática: es decir que la secuencia de operadores debe aplicarse de una manera definida formalmente y no de manera aleatoria. Seleccionar operadores de manera aleatoria todo el tiempo es una mala estrategia, dado que pude llegar a causar que se repitan estados y que no se encuentre la solución optima. 04 – Si es posible, en el algoritmo planteado en 1.04 esta resuelto con máxima pendiente. 05 - “La heuristica aumenta la eficiencia del algoritmo de búsqueda sacrificando demandas de completitud” Significa que aplicando heuristicas a un algoritmo de búsqueda estamos causando que no se explore necesariamente todo el espacio de estados, completitud. Al evitar recorrer todo el espacio de estados el algoritmo es más eficiente pero puede llegar a obtener soluciones no optimas. 06 – Cuales son las formas e incorporar heuristicas al proceso de búsqueda. Existen dos formas fundamentales de incorporación de conocimiento heuristico especifico del dominio a un proceso de búsqueda basado en reglas. En las mismas reglas: Por ejemplo en un juego de ajedrez ademas de los movimientos legales pueden añadirse reglas de movimientos sensatos. Como una función heuristica que evaluá los estados individuales del problema y determina su grado de deseabilidad. La función heuristica es una correspondencia entre las descripciones de estados del problema y determina su grado de deseabilidad. Su objetivo es guiar el proceso de búsqueda por el mejor camino. 07 – Que son los pasos ignorables, recuperables y no recuperables. Ignorables: pueden ignorarse pasos dados. Por ejemplo: si hago una demostración y e hice cosas que no me llevan a nada, puedo volver al estado inicial y empezar de nuevo sin incovenientes. Solo se pierde lo hecho. Recuperables: en el que pueden deshacerse pasos dados.Se puede volver a un estado anterior porque los pasos tienen un correspondiente deshacer. Se debe guardar una memoria de todo lo realizado para poder deshacer. No recuperables: no pueden deshacerse pasos dados. Por ello el sistema debe evaluar bien cada accion antes de realizarla. A veces se simula en que situación quedara el sistema luego de varios pasos para determinar la conveniencia de la decisión. 08 – Cuando una ruta es solución en una búsqueda. Depende de problema, existen problemas en los que se desea obtener como resultado un camino optimo desde el origen al objetivo, en dicho caso la ruta es la solución, un ejemplo de esto es encontrar el mejor camino de boston a maimi. Otros casos solo se desea conocer el estado final, por ejemplo en el caso de las reinas, la solución no es el camino en este caso lo es el estado. 09 En las técnicas generales de búsquedas es necesario tener en cuenta tres aspectos importantes. La dirección en que se conduce la búsqueda Adelante – Estado inicial -> Objetivo Atrás – Objetivo -> Estado inicial La forma de seleccionar los operadores Emparejamiento Matching Representación de los nodos , forma de representar el conocimiento Definir previamente estos aspectos conducen a tener una estrategia de control sistemática. Búsqueda Heuristica 01 – Diferencia entre Escalada Simple y Máxima pendiente. Escalada simple empieza a examinar los hijos del nodo actual, de izquierda a derecha o viceversa según se defina, y toma como nuevo nodo el primero que mejore la heuristica del nodo actual. Máxima pendiente explota todos los hijos del nodo actual, como si fuera una búsqueda en amplitud, y de los hijos toma el nodo que mejor heuristica tiene como nuevo nodo. 02 – Explique los problemas de máximo local, meseta y cresta. Estos son problemas que solo surgen en los algoritmos de escalada (simple y máxima pendiente). Máximo Local: El problema se presenta cuando el nodo actual toma un valor mas alto que todos sus hijos, o vecinos, pero no es el máximo absoluto del problema. El algoritmo falla por que no puede seguir por sus hijos dado que ninguno es mejor que el. Puede solucionarse continuando desde ese punto con un algoritmo de amplitud hasta encontrar un punto mejor. M a x im o L o c a l Meseta: El problema se presenta cuando todos los hijos poseen el mismo valor y dicho valor es igual o menor que el nodo actual. El algoritmo no sabe por donde continuar. Puede solucionarse tomando cualquiera de los hijos y probando si alguno de los hijos del nuevo nodo mejora la heuristica, en caso de que ninguno la mejore el algoritmos puede fallar. M e s e t a Cresta: Son una secuencia de máximos locales que produce una navegación muy complicada dentro del espacio de soluciones 03 05 – Primero el Mejor y A* C resta El algoritmo de primero el mejor trabaja a partir de una función heuristica que representa el costo aproximado desde el objetivo hasta el estado final. Empieza desde el nodo origen, explota todos sus hijos y toma el que tiene la mejor heuristica como nuevo nodo. Posteriormente vuelve a explotar todos los nodos del nuevo nodo y compara la heuristica del mismo contra la de todos los nodos ya explotados, de ahí elije el que mejor heuristica posee. Así hasta llegar al nodo objetivo con la menor heuristica. 30 S eg u n d oeleg id op o r q u eh eram en o rq u e to d o slo sh ijo sd el p rim ero 26 15 14 T e r c e r o e l e g i d o ,s i g u e s i e n d o m e n o r P r i m e r o e l e g i d o 13 11 2 4 16 24 18 0 Objetivo A* es muy similar a primero el mejor pero no es lo mismo, este ultimo es un refinamiento de primero el mejor, A* evaluá el costo de los caminos y la heuristica creando una función que se llama de Estimación (f(n) = g(n) + h(n)). No se basa solamente en la heuristica, el resto del mecanismo es el mismo. Más información del algoritmo, libro IA un enfoque moderno de Russell Pag 108 – 110. 04 – Explique f(n) = g(n) + h(n) f(n) = g(n) + h(n) es conocida como la función de estimación en A* donde g(n) = Es el costo acumulado real desde el origen hasta el nodo N h(n) = Es la heuristica que nos da el costo aproximado del nodo actual al objetivo 07 – Escalada Simple no siempre encuentra la solución. 08 – En la función (f(n) = g(n) + h(n)) en el nodo n, h(n) representa el costo aproximado del nodo actual al objetivo. 09 – Diferencias entre métodos sistemáticos y heuristicos. Sistemáticos heuristicos Recorren todo el espacio de soluciones Pueden evitar recorrer todo el espacio de soluciones Siempre alcanzan la solución SI EXISTE No necesariamente llegan a la solución. Requieren mas procesamiento Requieren menos procesamiento. Suele ser mas fácil crearlos Encontrar la heuristica puede ser complicado. 10 – No puede existir problemas de Meseta, Máximo local ni cresta en amplitud ni en profundidad dado que estos algoritmos no hacen estimaciones de lo bueno o malo que es el nodo, recorren todo hasta encontrar la solución. 12 – No siempre encuentra la solucion a pesar de que esta exista 13 – Ver 1 14 – Es una busqueda primero en amplitud, porque cuando h’(n)=0, es g(n) la que dirige la busqueda, y como es siempre el mismo costo, ira probando todos los nodos de cada nivel antes de pasar al siguiente, antes de hallar la solucion si es que existe. El caso mas simple es si g(n) = 1, donde la metrica es el numero de saltos. 18 – Si se sobreestima sobre el camino optimo mas que sobre algun alternativo de mayor costo, el algoritmo elegira esta solucion suboptima por sobre la optima ya que “estima” que le conviene ir por el camino no optimo. Si en cambio se subestima, tarde o temprano se dara cuenta de que el mejor camino es el optimo. Por ejemplo: a / \ 6| | 13 | | b c | | 4| | 12 d | | | 2| | \ / e si ei=a y obj=f, y g=1 para todos los nodos, f’(b)= 1+4 = 5; f’(c)= 1+12= 13; conviene b, sigo por b, calculo: f’(d)=2+2 = 4; conviene d, sigo por d, calculo: f’(e)=0+3 = 3; como por d el costo es 3, y, estimando desde c, el costo “estimado”es 13, ni siquiera prueba por ese lado (auque se ve que la solucion es mejor, con un costo de 2). Algoritmos Genéticos 01- Características de la evolución biológica que permite individuos mejores adaptados. Están basados en el proceso genético de los organismos vivos. A lo largo de las generaciones, las poblaciones evolucionan en la naturaleza de acorde con los principios de la selección natural y la supervivencia de los más fuertes, postulados por Darwin (1859). Por imitación de este proceso, los Algoritmos Genéticos son capaces de ir creando soluciones para problemas del mundo real. La evolución de dichas soluciones hacia valores óptimos del problema depende en buena medida de una adecuada codificación de las mismas. Los principios básicos de los Algoritmos Genéticos fueron establecidos por Holland (1975), y se encuentran bien descritos en varios textos – Goldberg (1989), Davis (1991), Michalewicz (1992), Reeves (1993) – . En la naturaleza los individuos de una población compiten entre sí en la búsqueda de recursos tales como comida, agua y refugio. Incluso los miembros de una misma especie compiten a menudo en la búsqueda de un compañero. Aquellos individuos que tienen más éxito en sobrevivir y en atraer compañeros tienen mayor probabilidad de generar un gran número de descendientes. Por el contrario individuos poco dotados producir un un menor número de descendientes. Esto significa que los genes de los individuos mejor adaptados se propagarán en sucesivas generaciones hacia un número de individuos creciente. La combinación de buenas características provenientes de diferentes ancestros, puede a veces producir descendientes “superindividuos”, cuya adaptación es mucho mayor que la de cualquiera de sus ancestros. De esta manera, las especies evolucionan logrando unas características cada vez mejor adaptadas al entorno en el que viven. 02 – Explique los métodos de selección Ruleta A cada uno de los individuos de la población se le asigna una parte proporcional a su ajuste de una ruleta, de tal forma que la suma de todos los porcentajes sea la unidad. Los mejores individuos recibir´n una porción de la ruleta mayor que la recibida por los peores. Generalmente la población está ordenada en base al ajuste por lo que las porciones más grandes se encuentran al inicio de la ruleta. Para seleccionar un individuo basta con generar un número aleatorio del intervalo [0..1] y devolver el individuo situado en esa posición de la ruleta. Esta posición se suele obtener recorriendo los individuos de la población y acumulando sus proporciones de ruleta hasta que la suma exceda el valor obtenido. Selección por torneo La idea principal de este método consiste en realizar la selección en base a comparaciones directas entre individuos. Existen dos versiones de selección mediante torneo: Determinista Probabilista En la versión determinística se selecciona al azar un número p de individuos (generalmente se escoge p = 2). De entre los individuos seleccionados se selecciona el más apto para pasarlo a la siguiente generación. La versión probabilística únicamente se diferencia en el paso de selección del ganador del torneo. En vez de escoger siempre el mejor se genera un número aleatorio del intervalo [0..1], si es mayor que un parámetro p (fijado para todo el proceso evolutivo) se escoge el individuo más alto y en caso contrario el menos apto. Generalmente p toma valores en el rango 0,5 < p ≤ 1. u ranking se basa en orden, y asigna las copias calculando el numero con la formula: Rmin+(n-i)(1-Rmin) ci=-----------------n-1 Si Rmin=0 siempre elimina al peor. Si Rmin = 1, se mantiene la misma poblacion número esperado el numero esperado lo da la parte entera de: fi ci=----- , donde fi es el valor de la funcion de aptitud para el individuo i y _ _ f f es el promedio de las funciones de aptitud de la población. Con la parte decimal se puede hacer elitista, ruleta,etc. 03 – Cruce La idea principal del cruce se basa en que, si se toman dos individuos correctamente adaptados al medio y se obtiene una descendencia que comparta genes de ambos, existe la posibilidad de que los genes heredados sean precisamente los causantes de la bondad de los padres. Cruce simple (Single Point Crossover) Es la más sencilla de las técnicas de cruce. Una vez seleccionados dos individuos se cortan sus cromosomas por un punto seleccionado aleatoriamente para generar dos segmentos diferenciados en cada uno de ellos: la cabeza y la cola. Se intercambian las colas entre los dos individuos para generar los nuevos descendientes. De esta manera ambos descendientes heredan información gentica de los padres, tal y como puede verse en la figura Cruce de 2 puntos Se trata de una generalización del cruce simple. En vez de cortar por un único punto los cromosomas de los padres como en el caso anterior se realizan dos cortes. Deberá tenerse en cuenta que ninguno de estos puntos de corte coincida con el extremo de los cromosomas para garantizar que se originen tres segmentos. Para generar la descendencia se escoge el segmento central de uno de los padres y los segmentos laterales del otro padre . Cruce Uniforme La técnica implica la generación de una máscara de cruce con valores binarios. Si en una de las posiciones de la máscara hay un 1, el gen situado en esa posición en uno de los descendientes se copia del primer padre. Si por el contrario hay un 0 el gen se copia del segundo padre. Para producir el segundo descendiente se intercambian los papeles de los padres, o bien se intercambia la interpretación de los unos y los ceros de la máscara de cruce.