Download Inteligencia artificial
Document related concepts
Transcript
Inteligencia artificial Sistemas de producción/razonamiento Rn: SI ENTONCES condición acción Inteligencia Artificial condición = {afirmaciones simples-identidad objeto} acción = {conclusión identificación del objeto} Pares de condición-acción SI condición (o premisa o antecedente) ocurre; ENTONCES acción (resultado, conclusión o consecuente) deberá (o debería) ocurrir. Inteligencia Artificial Pueden ser vistas como una simulación del comportamiento cognitivo de especialistas humanos. Cada regla representa un “pedazo” de conocimiento independiente. Representan el conocimiento de forma modular. Sistemas de razonamiento Utilizan: Lenguaje de representación de conocimiento (KRL) Lenguaje lógico ¾ Lógica proposicional ¾ Lógica de 1er orden Reglas de producción ¾ Lógica temporal Inteligencia Artificial Lenguaje objetos ¾ Frames (marcos) ¾ Redes semánticas ¾ Scripts (guiones) - De clases - De actores Tipos de inferencia Deducción: a partir de hechos de conocimiento representados adecuadamente, se utilizan reglas de inferencia válidas para generar nuevos hechos. Ej.: SI hay fuego, habrá humo. Abducción: inverso de deducción. Inteligencia Artificial Ej.: SI hay humo, hay fuego. Inducción: Se parte de los hechos en reglas generales. Ej.: SI Isabel no canta bien, y también Sheila no canta bien, ENTONCES ninguna alumna canta bien. Inteligencia Artificial Analógico: Resolución basada en experiencias pasadas. Ej.: Demostración automática de teoremas. Inteligencia Artificial Sistemas de razonamiento Probadores de teoremas 9 Utilizan resolución para probar sentencias en lógica de 1er orden. Usados para tareas matemáticas y de razonamiento científico. Ejemplos: SAM, AURA, OTTER. Lenguajes de programación lógica Restringen a la lógica, no permiten el tratamiento completo de la negación, disyunción y/o igualdad. Generalmente usan encadenamiento regresivo. Pueden poseer algunas características no lógicas de los lenguajes de programación. Ejemplos: Prolog, MRS, Life. Sistemas de razonamiento Inteligencia Artificial Sistemas de redes semánticas 9 Consisten en nodos conectados por arcos, donde los nodos representan usualmente objetos del mundo y los arcos una relación binaria entre ellos. Ejemplos: SNEPS, NETL, Conceptual Graphs. 9 Sistemas frames 9 Consisten en una jerarquía de frames (marcos) conectados por atributos, donde los frames representan objetos del mundo y los atributos muestran usualmente la relación entre ellos. Ejemplos: OWL, FRAIL, KODIAK. Sistemas de razonamiento Inteligencia Artificial Sistemas de lógica descriptiva 9 Expresan y razonan con definiciones complejas de objetos y clases y, relaciones entre ellas, utilizando redes semánticas como principio de organización. Ejemplos: KL-ONE, CLASSIC, LOOM. 9 Sistemas de producción Son representaciones de patrones de sistemas que usan implicaciones. Las acciones son consecuencias de las implicaciones. Las acciones pueden ser insertadas y removidas de las bases de conocimiento. Utilizan encadenamiento progresivo. Usualmente poseen mecanismos de resolución de conflictos. Ejemplos: OPS-5, CLIPS, SOLAR. Arquitectura: sistema de razonamiento Agente ambiente Inteligencia Artificial sensores Base de conocimiento Máquina de inferencia Mecanismo de aprendizaje efectores Inteligencia Artificial Operaciones básicas en los sistemas de razonamiento Adicionar un hecho nuevo a la base de conocimiento. Adicionar nuevas reglas (Un hecho nuevo, genera nuevas conclusiones). Decidir si una base de conocimiento atiende a una consulta realizada. Decidir si una consulta está explícitamente almacenada en la base de conocimiento. Remover hechos y reglas de la base de conocimiento. Mantenimiento: base de conocimiento Técnicas para mantener una base de conocimiento con recuperación eficiente: Inteligencia Artificial Unificación Recuperación Indexación Basada en tablas Basada en árboles Inteligencia Artificial Encadenamiento progresivo y regresivo A través del encadenamiento, poder adicionar un nuevo hecho p a una base de conocimiento. A través de inferencia, encontrar respuestas para las cuestiones hechas a la base de conocimiento. Usar denominación. Ex.: Practica (x, Natación) y Practica (y, Natación) denominaciones Practica (x, x) e Practica (x,y) - no son denominaciones Usar composición de sustituciones. son Modos de razonamiento Encadenamiento progresivo (Forward Chaining): Se parte de sentencias (reglas de inferencia) de la base de conocimiento para producir conclusiones (afirmaciones); También se llama procedimiento dirigido a datos (Data Driven), pues el proceso de inferencia no es direccionado para resolver un problema particular. Inteligencia Artificial Encadenamiento regresivo (Backward Chaining): Se parte de una hipótesis a probar, procurando reglas en la base de conocimiento retroactivamente para analizar las asertivas que soportan la hipótesis en cuestión; SI la premisa (antecedente) es una conjunción, sus términos son procesados uno a uno para que sea obtenido o sea unificador. Arquitectura Base de conocimiento Memoria de trabajo Inteligencia Artificial Conocimiento • hechos • reglas de producción • Redes semánticas • Frames • estrategias de resolución de problemas • estrategias de recuperación ... Conocimiento del problema * aserciones relevantes • reglas relevantes ... Metaconocimiento • como activar un conocimiento relevante Datos simbólicos • hipótesis actuales • objetivos actuales • estado actual del problema ... Mecanismo de Inferencia Agenda • conjunto de posibles reglas a ser aplicadas Sistemas de producción Inteligencia Artificial Componentes Memoria de trabajo de un sistema consiste en una colección de asertivas verdaderas. Base de reglas es el conjunto de sentencias (reglas de inferencia) que determinan las acciones que deben tomarse de acuerdo con las percepciones. Motor de inferencia es la parte del sistema que determina el método de razonamiento, utiliza estrategias de búsqueda y resuelve conflictos. Inteligencia Artificial Funcionamiento de los sistemas de producción Tres fases: casamiento, resolución de conflictos y ejecución. Casamiento El sistema, en cada ciclo computa un subconjunto de reglas cuya izquierda es satisfecha por los contenidos actuales de la memoria de trabajo. La forma más simple de realizar unificación y eficiencia, entonces como solución tenemos el algoritmo Rete (rede). Ventajas del algoritmo Rete: elimina duplicación entre reglas; elimina duplicación a lo largo del tiempo. Funcionamiento de los sistemas de producción Inteligencia Artificial Resolución de conflictos El sistema decide cuáles reglas deben ser activadas. En esta fase podemos utilizar algunas estrategias de control: No duplicación: no ejecutar la misma regla ni los mismos argumentos dos veces. Regencia: preferir reglas que se refieren a elementos de la memoria de trabajo creados recientemente. Especificidad: preferir reglas que son mas específicas. Prioridad de operación: preferir acciones con prioridad mayor, especificada por alguna categoría. Ejecución de acciones Un sistema deductivo que identifica animales: ZOOKEEPER Características de ZOOKEEPER: Utiliza reglas con antecedentes; Genera asertivas intermedias a partir de las reglas; Combina estas asertivas con las originales para producir una conclusión; Observa hábitos y características físicas para identificar los animales; Inteligencia Artificial Reglas: Q Q Q Inteligencia Artificial Q Q Q Q Q R1: SI x es carnívoro, x es color leonado, x tiene manchas oscuras ENTONCES x es una ONZA R2: SI x da leche ENTONCES x es mamífero R3: SI x tiene plumas ENTONCES x es ave R4: SI x vuela, x pone huevos ENTONCES x es ave Q Q Q Q Inteligencia Artificial Q Q Q Q Q R5: SI x es ave, x no vuela, x tiene cuello largo ENTONCES x es AVESTRUZ R6: SI x es mamífero, x tiene garras, x tiene dientes agudos. ENTONCES x es carnívoro. R7: SI x es mamífero, x tiene pezuñas ENTONCES x es ungulado. R8: SI x es mamífero, x rumia. ENTONCES x es ungulado. Q Q Q Inteligencia Artificial Q Q Q R9: SI x tiene pelo ENTONCES x es mamífero R10: SI x es carnívoro, x es color leonado, x tiene franjas negras ENTONCES x es TIGRE R11: SI x es ungulado, x tiene patas largas, x tiene cuello largo, x es color leonado, x tiene manchas oscuras ENTONCES x es JIRAFA R12: SI x es mamífero, x come carne Q ENTONCES x es carnívoro Q R13: SI x es ungulado, x es color blanco, x tiene franjas negras Q Q ENTONCES x es CEBRA Q R14: SI x es ave, x no vuela, x nada Q ENTONCES x es PINGUINO Inteligencia Artificial Q R15: SI x es ave, x vuela, x vive en rocas Q ENTONCES x es ALBATROS Q R16: SI x es ave, x vuela, x tiene garras Q ENTONCES x es AGUILA Q R17: SI x es ave, x vuela, x vive hogar Q ENTONCES x es GALLINA Inteligencia Artificial Q Rk: SI xx1, xx2, xx3, Q ENTONCES yyy Q Rn: SI zz1, zz2, zz3, Q ENTONCES cxs Inteligencia Artificial Q Encadenamiento progresivo en ZOOKEEPER Para identificar un animal con ZOOKEEPER: Hasta que las reglas no produzcan nuevas asertivas; Hasta que el animal sea identificado. Para cada regla Concordar cada uno de los antecedentes de las reglas con los hechos conocidos. SI todos los antecedentes de reglas están confrontados, ejecute el consecuente, a menos que ya exista una asertiva idéntica. Repetir las alternativas que deben ser consultadas. Inteligencia Artificial Encadenamiento hacia delante (Progresivo) Hechos Q H1: Q H2: Q H3: Q H4: Q H5: Q H6: Inteligencia Artificial Q z tiene pelo z tiene patas largas z rumia z tiene cuello largo z es color leonado z tiene manchas oscuras Q R9 establece que z es un mamífero R8 concluye que z es ungulado, Q porque z rumia y es mamífero. Inteligencia Artificial Q Q R11 conduce a que z es una jirafa, El flujo de información se da a través de una serie de reglas antecedente-consecuente, a partir de las asertivas para las conclusiones. Tiene pelo R9 es un mamífero Inteligencia Artificial Rumia Tiene piernas largas Tiene cuello largo Tiene color leonado Tiene manchas oscuras R8 es un ungulado R11 es una jirafa Algoritmo Q Q Enc_adelante() HQ ninguna regla produzca una afirmación o el objeto sea identificado – – Inteligencia Artificial – Q Q Seleccionar regla Comprobar cada antecedente contra hechos conocidos Si corroborados los antecedentes de la regla, instancie el valor de la variable en el consecuente (nuevo hecho) FHQ FinEnc_adelante. Encadenamiento hacia atrás hipótesis: ¿Z es ONZA? Q hechos: Q Y tiene pelo, Q Y es de color leonado, Q Y tiene manchas oscuras Inteligencia Artificial Q Q R1 = necesita: Z sea carnívoro, de color leonado y tiene manchas oscuras se busca que Z es carnívoro. Q Existen 2 reglas Inteligencia Artificial Q R6 = debe verificar que Z es mamífero Q de nuevo existen dos alternativas R2 y R9. Q R9 = Z tiene pelo, luego Z es mamífero Q para cumplir que sea carnívoro se requiera que Z coma carne o que tenga garras o. Q Aunque se tienen los hechos de : Z es de color leonado y Z tiene manchas oscuras Q no se cumple carnívoro Q se concluye NO Z es ONZA. Inteligencia Artificial Q Algoritmo Q Q Enc_atrás() HQ todas las hipótesis se hayan intentado y alguna no se pueda comprobar o hasta que los objetos sean identificados – Para cada regla cuyo consecuente coincida con la hipótesis Q Q Inteligencia Artificial Q – – – Q Q confronte antecedentes con hechos, SI se cumple V: continúe F: considere el antecedente como hipótesis SI todos los antecedentes se corroboraron con hechos V: anuncie ÉXITO (hipótesis es verdadera) F: anuncie FALLO FHQ Fin_alg_enc_atrás. ¿Cuál encadenamiento emplear? Encadenamiento regresivo Conjunto antecedentes lleve a muchas conclusiones. Inteligencia Artificial Si hechos conducen a conclusiones, pero número de reglas es reducido muchos consecuentes. Si no tiene hechos, y le interesa saber si una conclusión es verdadera. Encadenamiento progresivo Q Inteligencia Artificial Q Q Una hipótesis conduce a muchas preguntas Si número de reglas es grande, número de conclusiones es reducido; Si tiene los hechos y desea saber que puede concluir. Ventajas y desventajas de los sistemas de producción Ventajas Las reglas son de fácil comprensión. Inferencia y explicaciones son fácilmente derivadas. El mantenimiento es relativamente simple, debido a la modularidad. La “Incertidumbre” es fácilmente combinada en las reglas. Inteligencia Artificial Cada regla es (normalmente) independiente de las otras. Desventajas Conocimiento complejo requiere muchas (millares de) reglas. El exceso de reglas crea problemas para utilizar y mantener el sistema. No es robusto y no aprende. La adquisición del conocimiento es difícil. Sistemas de inferencia dirigidos a patrones Programas IA PDIS Inteligencia Artificial SBR PS Convencional Otros Imperativos Funcionales SBN TS Sistemas Lógicos Orientados a Objetos Sistemas Gramaticales Donde: PDIS - Sistemas de inferencia dirigidos a patrones SBR - Sistemas basados en reglas SBN - Sistemas basados en redes PS - Sistemas de producción TS - Sistemas de transformación Inteligencia Artificial Preguntas ¿Se razona de manera natural con reglas? ¿Las reglas son fáciles de construir? Sistemas de producción versus Programación lógica. Sistemas de Reacción Basados en Reglas Q La parte del SI – Q La parte ENTONCES – Inteligencia Artificial especifican condiciones que deben satisfacerse. especifica una acción o una operación que debe realizarse (conclusiones). Necesitan: Memoria de trabajo Q Afirmaciones sobre los objetos a manipular Q Cuál es el paso que se esta efectuando Q Qué objetos ha manipulado Q Cuáles falta por manipular. Inteligencia Artificial Q Inteligencia Artificial BAGGER (pasos) 1. Verificación de la orden: Analiza los productos, detecta cuáles productos lleva y sugiere al cliente productos que faltan. 2. Empaque de productos grandes: Empaca los productos grandes. Botellas primero. 3. Empaque de productos medianos: Empaca productos de tamaño mediano, productos congelados en empaque de especial. 4. Empaque productos pequeños: Empaca los productos de tamaño pequeño. Inteligencia Artificial Artículos P roducto T ipo de em p aq ue T am año C ongelado G alletas envase cartón M ediano no Y ogurt vaso plástico pequeño no P apas fritas bolsa plástico m ediano no H elado envase cartón m ediano si P ollo bolsa plástico m ediano si G aseosa botella grande no B ocadillo caja m adera grande no BAGGER requiere saber Q Q Inteligencia Artificial Q Cuál es el paso que esta efectuando. Cuál bolsa es la que se está llenando. Qué productos se han empacado. Paso = verificar orden Bolsa actual = 1 artículos bolsa actual = 0 artículos por empacar = 7 Galletas Yogurt Papas fritas Helado Pollo Gaseosa Bocadillo B1: SI Paso = verificar orden Q Papas fritas se van a empacar Q No existe gaseosa en los productos Q ENTONCES sugiera llevar gaseosa Inteligencia Artificial Q B2: SI Paso = verificar orden Q ENTONCES Paso = no verificar orden Q Paso = empacar productos grandes Q Q Q Q Q Inteligencia Artificial Q Q Q Q Q B2: SI Paso = verificar orden ELIMINE Paso = verificar orden ADICIONE Paso = empacar productos grandes B3: SI Paso = empacar productos grandes Empacar producto grande Producto grande es botella Bolsa con menos de 6 productos ELIMINE Empacar producto grande ADICIONE Producto grande en bolsa actual Q Q Q Q Inteligencia Artificial Q B4: SI Paso = empacar productos grandes Empacar producto grande Bolsa con menos de 6 productos ELIMINE Empacar producto grande ADICIONE Producto grande en bolsa actual Inteligencia Artificial B5: SI Paso = empacar productos grandes Empacar producto grande Bolsa vacía disponible ELIMINE Bolsa actual ADICIONE Bolsa vacía es bolsa actual B6: SI Paso = empacar productos grandes ELIMINE Paso = empacar productos grandes ADICIONE Paso = empacar productos medianos Inteligencia Artificial Paso = empacar productos medianos Bolsa actual = 1 artículos bolsa actual = 2 artículos por empacar = 5 Galletas Yogurt Papas fritas Helado Pollo Inteligencia Artificial B7: SI Paso = empacar productos medianos Empacar producto mediano Producto congelado, no empaque especial ELIMINE Producto congelado no empaque especial ADICIONE Producto congelado empaque especial. B8: SI Paso = empacar productos medianos Empacar producto mediano Bolsa actual vacía y sin productos grandes Bolsa con menos de 12 productos ELIMINE Empacar producto mediano ADICIONE Producto mediano en bolsa actual Inteligencia Artificial B9: SI Paso = empacar productos medianos Empacar producto mediano Bolsa vacía disponible ELIMINE Bolsa actual ADICIONE Bolsa vacía es bolsa actual B10: SI Paso = empacar productos medianos ELIMINE Paso = empacar productos medianos ADICIONE Paso = empacar productos pequeños Inteligencia Artificial Paso = empacar productos pequeños Bolsa actual = 2 artículos bolsa actual = 4 artículos por empacar = 1 Yogurt Inteligencia Artificial B11: SI Paso = empacar productos pequeños Empacar producto pequeño Bolsa actual sin productos grandes Bolsa actual sin productos medianos Bolsa con menos de 18 productos ELIMINE Empacar producto pequeño ADICIONE Producto pequeño en bolsa actual Inteligencia Artificial B12: SI Paso = empacar productos pequeños Empacar producto pequeño Bolsa vacía disponible ELIMINE Bolsa actual ADICIONE Bolsa vacía es bolsa actual B13: SI Paso = empacar productos pequeños ELIMINE Paso = empacar productos pequeños ADICIONE Empaque finalizado Terminar Inteligencia Artificial Paso = empaque finalizado Bolsa actual = 3 artículos bolsa actual = 1 artículos por empacar = 0 Inteligencia Artificial Sistemas Basados en Casos Inteligencia Artificial Sistemas Basados en Casos El ingeniero observa el mensaje de error que existe en pantalla, apaga el computador, busca en su maletín algo. Un diskette. Lo coloca en la unidad. Prende el computador, contesta rápidamente a un conjunto de mensajes y luego dice, listo. Inteligencia Artificial El ingeniero nuevo observa el mensaje de error que existe en pantalla, busca en su maletín un libro, pasa cerca de 15 minutos leyendo algunos apartes, pasado ese tiempo, apaga el computador. Busca un diskette en el maletín, comparando la referencia o titulo del diskette con el que esta en el libro. Al fin coloca uno en la unidad, prende el computador, contesta cada uno de los mensajes en pantalla después de leerlos adecuadamente y observando el libro; al fin dice, listo. Q Q Inteligencia Artificial Q En ambos casos la acción tomada fue la misma, sin embargo, los procedimientos usados para llegar a la conclusión fue diferente. El primer ingeniero, se baso en su experiencia. El segundo se remitió a una documentación que contenía solución de problemas, es decir, contenía modelos o casos de solución de problemas. Un SRBC Utiliza una biblioteca, en lugar de un conjunto de principios iniciales. Debe saber responder a: Los casos en la memoria y su organización. Inteligencia Artificial Método a utilizar para recobrar los casos. Cómo adaptar casos almacenados a los nuevos complejos mecanismos para la creación de índices. Capacidad de recordar experiencias pasadas. Tomar el mejor caso y adaptarlo a la situación. Sistemas Basados en Modelos Dependen del conocimiento de la estructura, del comportamiento del equipo, se razona usando los primeros principios Inteligencia Artificial Los modelos: matemáticos o estructurales, especialmente frames y reglas Las reglas pueden ser: reglas de simulación o reglas de inferencia. Existen otros tipos de sistemas como Inteligencia Artificial ... Inteligencia Artificial Jackson Peter. Introduction to Expert Systems. 2a ed., Addison-Wesley Publishing Company, 1990. Russel Stuart; Norvig Peter. Artificial Intelligence. A Modern Approach. Prentice-Hall Inc., 2004. Winston Patrick Henry. Artificial Intelligence. AddisonWesley Publishing Company, 1998. Inteligencia Artificial