INTELIGENCIA ARTIFICIAL

Slides:



Advertisements
Presentaciones similares
INTELIGENCIA ARTIFICIAL
Advertisements

INTELIGENCIA ARTIFICIAL
Teoría de la mente Habilidad cognitiva compleja, que permite que un individuo atribuya estados mentales a sí mismo y a otros. Es un sistema de conocimientos.
Enfoques de la IA Ana Lilia Laureano-Cruces
La resolución de los conflictos
LÓGICA DE PROGRAMACIÓN
Matemática Básica (CC.)
Iván ventura presenta.
PROCESOS BASICOS DEL PENSAMIENTO
Introducción a la Programación
COMPETENCIAS PROYECTO TIC UNIVERSIDAD PONTIFICIA BOLIVARIANA
Conocimiento Base de conocimientos:
Sistemas de Razonamiento Lógico
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Introducción al lenguaje de programación lógico Prolog
CAPITULO 2 La Representación del Conocimiento
profesor: Luigi Ceccaroni
MÉTODO GENERAL DE TOMA DE DECISIÓN Generalmente, para tomar una decisión se requiere seguir los siguientes pasos: 1. Fijar Objetivos: Este es el paso más.
Inteligencia artificial
Representación del conocimiento en Sistemas de Producción
PROGRAMACIÓN LÓGICA.
Sistemas Evolutivos Introduccion.
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
Representación del Conocimiento
Programación de Computadores
Problemas, algoritmos y programas: Modelar: Simular o programar su solución en un computador. Algoritmos: Es un conjunto finito, y no ambiguo de etapas.
RÚBRICAS MA. GUADALUPE I. MALAGÓN Y M. NOVIEMBRE 2007.
Representación del conocimiento
Agente Latin (agere) el que hace Es una entidad, que existe en el mundo real o artificial, que puede observar el mundo cambiante y realizar acciones en.

PRUEBA SABER MATEMÁTICAS 3° Y 5°
Características de los Sistemas expertos 24/Febrero/2014.
5.3 APROXIMACIONES AL DISEÑO
Sistemas Inteligentes Distribuidos Sistemas Inteligentes Distribuidos Sesión 13 L. Enrique Sucar / Marco López Sesión 13 L. Enrique Sucar / Marco López.
Sistemas Inteligentes Distribuidos Sistemas Inteligentes Distribuidos Sesión 8 Eduardo Morales / L. Enrique Sucar Sesión 8 Eduardo Morales / L. Enrique.
SISTEMA DE EXPERTO SISTEMA DE EXPERTO.
INTRODUCCIÓN A LA INTELIGENCIA ARTIFICIAL Y LOS SISTEMAS EXPERTOS
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Eduardo Morales/L. Enrique Súcar Reglas de Producción Sesión 05 FUNDAMENTOS DE INTELIGENCIA ARTIFICIAL.
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
“Introducción a las Ciencias de la Informática”
1 Ana Mercedes Cáceres Instructor: Raúl Aguilar Año 2006 [Parte I ]
HABILIDADES PARA LA VIDA
SISTEMAS EXPERTOS (SE) Coronel Jaramillo Ricardo
Introducción a los Sistemas Inteligentes
I.E. LA ESPERANZA Beatriz E. Morales Molina Docente Lengua Castellana 2010.
Fundamentos de Sistemas Expertos
Lenguajes de Programación
PRESENTADO POR: LINA MARCELA IGUA TORRES SONIA MOYANO ESPINOSA DAVID MAHECHA MEDINA CRISTIAN HERNÁNDEZ GERMAN RAMÍREZ.
Sistemas Basados en Reglas
Desarrollo de sistemas expertos basados en reglas
Son sistemas de computación que emulan la habilidad de tomar decisiones de un especialista humano en un dominio restringido. Son programas que tienen.
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
Simón Esneider Herrera Álvarez Media Técnica Casd 10-2
M.I.A Daniel Alejandro García López. Conocimiento publico: Definiciones, hechos y teorías. Conocimiento privado: reglas de oro (heurística).
Ramas de I.A. ROBOTICA SISTEMAS DE VISION SISTEMAS EXPERTOS
Universidad Abierta y a Distancia de México UnADM
Resolución de problemas
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
Elementos y principios de la planeación
INGENIERIA EN SISTEMAS COMPUTASIONALES. SISTEMAS EXPERTOS Es una aplicación informática capaz de solucionar un conjunto de problemas que exigen un gran.
Fundamentos de Computación
David A Salamanca Díaz. DEFINICIÓN  Se define como una serie de pasos organizados que describen el proceso que se debe seguir, para dar solución a un.
Mini-video 2 de 5 Materia: Límites de funciones Continuidad de funciones Prácticas con Introducción a Funciones de una variable.
ELEMENTOS BÁSICOS DE PROGRAMACIÓN EN C# Mtro. José David Uc Salas
La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 3 – Diseño de Programas.
OBJETIVOS DE LOS PROGRAMAS DE ESTUDIO: SESIÓN DE TRABAJO 3 DE SEPTIEMBRE DE 2013 SECRETARÍA GENERAL SECRETARÍA DE APOYO A LA DOCENCIA.
Transcripción de la presentación:

INTELIGENCIA ARTIFICIAL Reglas de Producción Eduardo Morales / L. Enrique Súcar Sesión 05

Introducción Normalmente se asocia la inteligencia con “regularidades” y el comportamiento inteligente parece que ejecuta reglas. Newell y Simon 70's proponen los sistemas de producción como un modelo psicológico del comportamiento humano.

Introducción En este modelo, parte del conocimiento humano se representa en forma de producciones o reglas de producción. Se asemeja al proceso de memoria humano: memoria a corto plazo (deducciones intermedias) y memoria a largo plazo (producciones).

Introducción Normalmente las reglas de producción se ven como un formalismo en el cual representar el conocimiento y es el formalismo más usado en los sistemas expertos. Originalmente las producciones eran reglas gramaticales para manipular cadenas de símbolos.

Sistemas canónicos Post '43 estudió las propiedades de sistemas de reglas (que llamó sistemas canónicos). Por ejemplo: A = {a,b,c} (alfabeto) Axiomas: a, b, c, aa, bb, cc Producciones: (p1) $ -> a$a (p2) $ -> b$b (p3) $ -> c$c

Sistemas canónicos Estas reglas nos generan palíndromes, y podemos rastrear que producciones se aplicaron (v.g., bacab).

Reglas de producción Manipulan estructuras de símbolos, como listas o vectores. Se tiene: Un conjunto N de nombres de objetos en el dominio Un conjunto P de propiedades que representan atributos de los objetos

Un conjunto V de valores que los atributos pueden tener Generalmente se usa una tripleta: (objeto atributo valor). Por ejemplo: (juan edad 25) (juan edad X) (turbina1 capacidad 50)

Estructura de una regla: P …, P  Q …, Q 1 m 1 n Que significa: IF las condiciones P y P y... y P se cumplen THEN realiza las acciones (o concluye) Q y... y Q 1 m 2 n

IF Animal es_un carnívoro AND Animal color café AND Animal tiene rayas THEN Animal es tigre

Propiedades de las reglas: Modular: cada regla define un pequeño y relativamente independiente pedazo de conocimiento Incremental: nuevas reglas pueden ser añadidas a la base de conocimiento relativamente independiente de las demás

Modificable: como consecuencia ser modular, las reglas pueden ser modificadas o se pueden añadir/quitar reglas fácilmente Transparencia: habilidad de explicar sus decisiones y soluciones

Partes principales Un sistema de producción tiene: Un conjunto de reglas (base de conocimiento) Un interprete de reglas o máquina de inferencia (que decide qué regla aplicar, controla la actividad del sistema) Una memoria de trabajo (que guarda los datos, metas, y resultados intermedios)

Memoria de Trabajo Guarda inferencias/aseveraciones temporalmente. Es la estructura de datos que es observada y manipulada/cambiada por las reglas.

Memoria de Trabajo Los datos de la memoria de trabajo son los que permiten cumplir las condiciones de las reglas y dispararlas (las reglas verifican la existencia de elementos en la memoria de trabajo para disparar). Las acciones de las reglas: modifican, añaden o quitan elementos de la memoria de trabajo (o producen efectos secundarios).

Máquina de Inferencia El interprete o máquina de inferencia realiza el ciclo reconoce-actua: Aparea las condiciones (o acciones) de las reglas con los elementos de la memoria de trabajo 1.

Si existe más de una regla que puede disparar, escoge una (resolución de conflictos) 2. Aplica la regla (ejecuta las acciones/conclusiones) que puede involucrar cambios la memoria de trabajo 3.

Máquina de Inferencia Generalmente el ciclo empieza con unos datos iniciales y para cuando no hay reglas aplicables (o por una regla). El sentido/importancia/contribución de cada regla depende de su contribución dentro de todas las reglas para solucionar el problema.

Ejemplo: sistema para créditos Base de Conocimiento Si hist-credito & solvente & refer Entonces otorga-prest Si tarjetas-credito > 2 Entonces hist-credito Si hipoteca-casa OR prest-carro Entonces hist-credito Si ingresos > pago-mensual x 3 Entonces solvente Si ref-1 & ref-2 & ref-3 Entonces refer Memoria de Trabajo ingresos=1000 pago-mensual=200 hipoteca-casa ref-Maria ref-Juan ref-Pedro hist-credito solvente refer otorga-prest

Máquina de Inferencia Existen diferentes estrategias de razonamiento: a nivel global las reglas pueden ser llevadas en un encadenamiento hacia adelante o en un encadenamiento hacia atrás.

Estrategias de Razonamiento Encadenamiento hacia adelante (forward chaining/ data driven/ event driven/ bottom-up) parte de hechos para cumplir condiciones y ejecutar acciones (creando nuevos hechos).

Estrategias de Razonamiento Encadenamiento hacia atrás (backward chaining/ goal driven/ expectation driven/ top-down) parte de los estados meta y trata de cumplir las condiciones necesarias para llegar a ellos.

Estrategias de Razonamiento Se pueden tener estrategias que hacen combinación de ambos: oportunístico. v.g., P1: $ -> a$a P2: $ -> b$b P3: $ -> c$c

Estrategias de Razonamiento Podemos dado c usar las reglas P1, P1, P3, P2, P3 y llegar a: cbcaacaacbc. Otra forma es tomar cbcaacaacbc y ver que reglas se aplican hasta llegar a algo conocido (c).

Árbol AND/OR El proceso de inferencia se puede ver como un espacio de búsqueda AND/OR, con nodos AND siendo todas las condiciones/ acciones que se tienen que cumplir y los nodos OR siendo las posibles reglas a disparar/ considerar.

Ejemplo:

¿Cuándo usamos cada uno? Depende del propósito y la forma del espacio de búsqueda. Si el propósito es de cubrir todo lo que se pueda deducir de un conjunto de hechos, el árbol se “achica”, tenemos claras las entradas pero no las conclusiones, entonces encadenamiento hacia adelante.

¿Cuándo usamos cada uno? Si el propósito es verificar/negar una conclusión, el árbol se “ensancha”, tenemos claras las metas pero no las entradas, entonces encadenamiento hacia atrás.

Ejemplo de encadenamientos Forward: HC  H I  S R1,R2,R3  R H,S,R  P Backward: P  H,S,R H  HC S  I R  R1,R2,R3

Explicación Explicaciones sirven para: Mostrar deficiencias de las reglas Clarificar suposiciones de la máquina Explicar situaciones no anticipadas Hacer sentir al usuario más seguro Hacer ver la máquina más “inteligente”

WHY, e.g., ¿Por qué quieres saber A? Explicación Con las reglas podemos resolver preguntas: HOW, e.g., ¿Cómo supiste N? WHY, e.g., ¿Por qué quieres saber A?

Ejemplo de explicaciones Reglas: R1: If una persona tiene $30,000 y tiene grado de licenciatura Then debe de invertir a plazo fijo R2: If una persona gana mas de $120,000 al año y tiene licenciatura Then debe de invertir en acciones R3: If una persona es menor de 30 y esta invirtiendo a plazo fijo Then debe invertir en acciones R4: If una persona es menor de 30 Then tiene nivel licenciatura R5: If una persona quiere invertir en acciones Then debe de invertir en Telmex

Ejemplo de explicaciones Hechos: Tiene $30,000 y tiene 25 años Quiere saber si debe de invertir en Telmex? Sistema: ¿Cuál es tu ingreso anual? Usuario : ¿Porqué? Sistema: Quiero saber si es mayor a $120,000, porque como sé que tienes nivel de licenciatura, si ganas más de $120,000, te recomiendo invertir en acciones.

Porqué (WHY) La explicación se basa en utilizar inferencia hacia adelante, en el ejemplo: R4: If una persona es menor de 30 Then tiene nivel licenciatura R2: If una persona gana mas de $120,000 al año y tiene licenciatura Then debe de invertir en acciones De aquí el sistema deduce que necesita saber el ingreso para decidir si invierte en acciones

Ejemplo de explicaciones Hechos: Tiene $30,000 y tiene 25 años Quiere saber si debe de invertir en Telmex? Sistema: Invierte en Telmex Usuario : ¿Cómo? Sistema: Como tienes $30,000 y eres menor de 30, (R4) tienes nivel licenciatura, (R1) debes invertir a plazo fijo. Por otro lado si inviertes a plazo fijo (R3) debes invertir en acciones. Si quieres invertir en acciones te recomiendo (R5) que inviertas en Telmex.

Cómo (HOW) La explicación se basa en hacer inferencia hacia atrás, determinando las reglas que se aplicaron para llegar a la conclusión, hasta llegar a los datos de entrada. En el ejemplo: R5: If una persona quiere invertir en acciones Then debe de invertir en Telmex R3: If una persona es menor de 30 y esta invirtiendo a plazo fijo Then debe invertir en acciones R1: If una persona tiene $30,000 y tiene grado de licenciatura Then debe de invertir a plazo fijo R4: If una persona es menor de 30 Then tiene nivel licenciatura Datos: menor de 30, tiene $30,000

Resolución de Conflictos En razonamiento hacia adelante pueden existir más de una regla que puede disparar. En razonamiento hacia atrás pueden existir más de una regla que cumple con las metas. Lo que se necesita es una estrategia de resolución de conflictos que guíe (decida cual de las posibles reglas disparar) y evite que el proceso sea exponencial.

Tipos de Control Para controlar ésto se utilizan: control global (independiente del dominio) y control local (dependiente del dominio). El control local puede ser por medio de meta-reglas (reglas que controlan reglas). Puntos: sensibilidad (responder rápidamente a cambios en el medio) y estabilidad (mostrar cierta continuidad en la línea de razonamiento).

Estrategias globales Las estrategias globales más utilizadas son: No se permite disparar una regla más de una vez con los mismos datos (refractorines) Preferir reglas que utilizan datos más recientes. La idea es de seguir una línea de razonamiento (recency)

Estrategias globales Preferir reglas que son más específicas, i.e., reglas que tienen una mayor cantidad de condiciones y por lo tanto son más difíciles de disparar (specificity)

Meta-reglas Algunos sistemas permiten tener reglas que razonan en cuanto a qué reglas disparar (meta-reglas). Las meta-reglas tiene el rol de dirigir el razonamiento (más que realizar el razonamiento).

Ejemplos de meta-reglas Para una aplicación: IF Edad Paciente > 65 THEN Aplica reglas de enfermedades de la vejez Para una clase de aplicaciones: IF “Edad” en cierto intervalo THEN Aplica reglas para dicho intervalo

Apareamiento de Patrones Normalmente existen variables en las reglas y se tiene que hacer un “apareamiento de patrones”.

Notación : ?x aparea un elemento, !x aparea varios elementos, v.g., If Persona nombre ?x edad ?y And ?y > 12 And ?y < 20 Then ?x es_un adolescente Hecho: Persona nombre Juan edad 25.

Apareamiento de Patrones El apareo de condiciones en general es más fácil en encadenamiento hacia adelante que en encadenamiento hacia atrás: En Fwd: Dados hechos (sin variables) apareamos con condiciones (con variables) y producimos nuevos hechos (sin variables).

Apareamiento de Patrones En Bwd: Hipótesis (con variables) apareamos consecuencias (con variables) y producimos nuevas hipótesis (con variables). Se acerca más a unificación.

Encadenamiento hacia atrás Pasos de encadenamiento hacia atrás: el proceso trata de establecer valores para las variables de las reglas

ENCADENAMIENTO HACIA ATRAS Establece variables (procedimiento principal) Infiere (trata de inferir los valores) Selecciona reglas (selecciona reglas aplicables) look-ahead (busca condiciones que aplican) Ejecuta (ejecuta la condición) Aplica regla (aplica la regla seleccionada) Evalua condiciones (revisa las condiciones) Establece variables (llamada recursiva) Ejecuta (ejecuta las condiciones) Evalua Conclusiones (evalua las conclusiones) Ejecuta acción (ejecuta acciones) Pregunta (no inferible y “preguntable”)

Encadenamiento hacia adelante Pasos de encadenamiento hacia adelante: Infiere Selecciona reglas Resuelve conflictos Aplica regla

Ventajas de Reglas: Permiten representar el conocimiento en forma adecuada para las computadoras Modularizan pedazos de conocimiento Permiten el desarrollo incremental Las decisiones son entendibles y explicables Abren nuevas posibilidades computacionales (paralelismo) Representación homogénea de conocimiento Permiten interacciones no planeadas y útiles

Desventajas de Reglas: No hay fundamento para decidir qué problemas tiene solución Problemas de verificación / consistencia / completez de conocimiento Escalamiento sin perder entendimiento /eficiencia Permiten interacciones no planeadas y no deseadas No saben cuándo romper sus propias reglas No tienen acceso al razonamiento que hay detrás de las reglas

Inadecuadas para describir un conocimiento declarativo Tienen un fuerte sabor operacional, por lo que las reglas deben de pensarse tomando en cuenta esto Bases de reglas grandes son difíciles de mantener y desarrollar (requiere una partición de las reglas, pero el formalismo no lo permite hacer directamente) No son adecuadas cuando existe incertidumbre ya que se pierde la modularidad

RETE (red) Del tiempo de ejecución el 90% se consume en el proceso de apareo. El algoritmo Rete se basa en dos observaciones (suposiciones):

1. La memoria de trabajo es muy grande y cambia poco entre cada ciclo. Esto implica que mucha información sigue presente en el siguiente ciclo y se puede utilizar 2. Las condiciones de muchas reglas son similares

RETE - ejemplo

Herramientas de Desarrollo Existen herramientas de desarrollo para construir sistemas basados en reglas. Éstas las podemos clasificar en 3 niveles: 1. Shells: Exsys, Nexpert, ... 2. Lenguajes de reglas: OPS, Clips, ... 3. Lenguajes simbólicos: Lisp, Prolog

Ejemplo de Reglas en Prolog

Tarea Resolver el problema que planteaste (o al menos un aspecto del problema) en base a reglas de producción Especificar el “formato” de las reglas Especificar el conjunto de reglas (o una parte representativa de este) Seleccionar el tipo de encadenamiento y estrategias de resolución de conflicto, explicando el porqué se seleccionaron

F I N