Esquemas Híbridos y de Control Esquemas Híbridos y de Control Sesión 7 Eduardo Morales / L. Enrique Sucar Sesión 7 Eduardo Morales / L. Enrique Sucar Fundamentos.

Slides:



Advertisements
Presentaciones similares
Diseño y análisis de algoritmos
Advertisements

INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
DATA WAREHOUSE Presentador Por: Andrés Fabián Cortes Solano.
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
ANÁLISIS DE REQUERIMIENTOS
Tomado de:
Diseño orientado al flujo de datos
Programación Orientada a Objetos (P.O.O.)
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
UNIVERSIDAD LATINA (UNILA) II.- ANALISIS DE ALGORITMOS
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Evaluación de Productos
Tema 3. Optimización de Código
METODOLOGIA DE LA PROGRAMACION
Contexto: Aplicación gráfica.  Siempre que se piensa en separar la funcionalidad de una aplicación de su interacción con el usuario, bien sea una aplicación.
Sistemas Evolutivos Introduccion.
INTELIGENCIA DE NEGOCIOS
UNIDAD I Conceptos Básicos.
Metodos de Inferencia Lenin Herrera.
Ing. Fabián Ruano.  Definición  Diferencias con BD Centralizadas.
Optimización, Búsqueda Heurística
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de programación
Bases de Conocimientos Tema: Arquitectura de pizarrón Maestro: Guido Fidel Flores Pérez Alumnos: Arlethe Anahí Espinosa Glez. Rosa Estela Castillo Negrín.
Planificación de la enseñanza
5.3 APROXIMACIONES AL DISEÑO
Combinación de Clasificadores
1 Problemas, espacios problema äDefinición Operativa: Una persona se enfrenta a un problema cuando desea algo y no conoce inmediatamente qué acción, 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.
INVESTIGACION DE OPERACIONES
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.
Problema de inclusión en una Curva Digital Por Orellana Muñoz, Alfonso Paz Vicente, Rafael Pérez Medina, Gerardo Rodríguez Naranjo.
Ximena Romano – Doris Correa
Sistemas, Procesos y Modelos
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
 En el siguiente trabajo se explicará cuales son los fundamentos de la planeación, la toma de decisiones.  La toma de decisiones es un paso fundamental.
Tema 6: Programación L. Enrique Sucar Marco López ITESM Cuernavaca
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.
conjunto de elementos que interactúan con un objetivo común
Programación Orientada a Objeto
PROGRAMACION ORIENTADA A OBJETOS
Metodología de la programación
Diseño de Sistemas Expertos
Optimización Combinatoria y Grafos Búsqueda Tabú
Clasificación de Diagramas
Diseño de Sistemas.
Ingeniería de Requisitos
Fundamentos de Sistemas Expertos
PRESENTADO POR: LINA MARCELA IGUA TORRES SONIA MOYANO ESPINOSA DAVID MAHECHA MEDINA CRISTIAN HERNÁNDEZ GERMAN RAMÍREZ.
Sistemas Basados en Reglas
TIPOS DE PRUEBAS DEL SOFTWARE
Agentes e IA Distribuida L. E. Sucar / Alberto Reyes Robótica Inteligente.
Introducción al proceso de verificación y validación.
Análisis y Diseño de Aplicaciones
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
Investigación Ing Rene Alberto Garcia Mendoza
Dra. Ma. Candelaria Ochoa A.
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
Un requerimiento es una condición o capacidad a la que el sistema (siendo construido) debe conformar [ Rational ]. Un requerimiento de software puede.
Los proyectos de Ingeniería
La Programación Orientado a Objetos
República Bolivariana de Venezuela Universidad Nacional Experimental Politécnica de la Fuerza Armada (UNEFA) Carrera: Ingeniería de Sistemas Cátedra: Análisis.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
El proceso de diseño de sistemas: el paradigma de los sistemas
2015-BM5A. Introducción Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Transcripción de la presentación:

Esquemas Híbridos y de Control Esquemas Híbridos y de Control Sesión 7 Eduardo Morales / L. Enrique Sucar Sesión 7 Eduardo Morales / L. Enrique Sucar Fundamentos de Inteligencia Artificial

Las diferentes formas de representar conocimiento no son mutuamente exclusivas. Un esquema híbrido es una combinación de diversas formas de representación de conocimiento para resolver un problema. Hay dos formas básicas de combinar diversas representaciones: Externa e Interna. Las diferentes formas de representar conocimiento no son mutuamente exclusivas. Un esquema híbrido es una combinación de diversas formas de representación de conocimiento para resolver un problema. Hay dos formas básicas de combinar diversas representaciones: Externa e Interna. Introducción

En este esquema dos o más módulos con diferentes formas de representación interactuan entre sí. Cada módulo tiene una sola forma de representación y se combina con los otros módulos mediante variables de entrada/salida o mediante una estructura de datos común (Base de Datos). En este esquema dos o más módulos con diferentes formas de representación interactuan entre sí. Cada módulo tiene una sola forma de representación y se combina con los otros módulos mediante variables de entrada/salida o mediante una estructura de datos común (Base de Datos). Híbridos “Externos”

En principio cada subsistema tiene la forma de representación más adecuada para resolver una parte del problema, y se combina con las demás para solucionar un problema mayor. Este esquema da origen al sistema de pizarrón ; y, al hacerse en forma distribuida, a los sistemas multi-agentes. En principio cada subsistema tiene la forma de representación más adecuada para resolver una parte del problema, y se combina con las demás para solucionar un problema mayor. Este esquema da origen al sistema de pizarrón ; y, al hacerse en forma distribuida, a los sistemas multi-agentes.

En este tipo de sistemas se combinan varias formas de representación que interactuan para resolver cierto problema. Con esto se aprovechan diversas propiedades de las formas de representación que complementan sus capacidades. En este tipo de sistemas se combinan varias formas de representación que interactuan para resolver cierto problema. Con esto se aprovechan diversas propiedades de las formas de representación que complementan sus capacidades. Híbridos “Internos”

Por ejemplo, se combinan las reglas con prototipos aprovechando las abstracciones de marcos dentro de reglas. También se pueden combinar marcos y redes semánticas formando redes de prototipo, etc. Por ejemplo, se combinan las reglas con prototipos aprovechando las abstracciones de marcos dentro de reglas. También se pueden combinar marcos y redes semánticas formando redes de prototipo, etc.

Dos ejemplos de este tipo de esquemas son: Centaur, que combina marcos y reglas para diagnóstico médico; y Nexpert, una herramienta que involucra reglas y objetos para el desarrollo de sistemas expertos. Híbridos “Internos”

La idea básica es la de asociar reglas a marcos. Es decir, que una estructura tipo marco proveé un contexto explícito en el que actúan ciertas reglas. Las reglas se ligan a un atributo de un marco, y se ven simplemente como un “slot” adicional del prototipo correspondiente. La idea básica es la de asociar reglas a marcos. Es decir, que una estructura tipo marco proveé un contexto explícito en el que actúan ciertas reglas. Las reglas se ligan a un atributo de un marco, y se ven simplemente como un “slot” adicional del prototipo correspondiente. Centaur: Marcos y Reglas

De esta forma, el marco indica la “situación” o contexto en que aplica la regla, evitando los “trucos” que se tienen que hacer en sistemas de producción “puros” para tener un efecto similar.

Centaur tiene una clasificación de enfermedades pulmonares que se estructuran en una jerarquía de prototipos. Cada prototipo contiene un número de marcos (subprototipos) que incluyen el conocimiento e información referente ese tipo de enfermedad; y asociado a c/u de estos hay una serie de reglas que indican como obtener dicha información. Centaur tiene una clasificación de enfermedades pulmonares que se estructuran en una jerarquía de prototipos. Cada prototipo contiene un número de marcos (subprototipos) que incluyen el conocimiento e información referente ese tipo de enfermedad; y asociado a c/u de estos hay una serie de reglas que indican como obtener dicha información. Centaur

En operación, primero se dan ciertos datos iniciales de la enfermedad. Estos activan ciertas reglas que llevan a la activación de algunos prototipos. En operación, primero se dan ciertos datos iniciales de la enfermedad. Estos activan ciertas reglas que llevan a la activación de algunos prototipos. Centaur

Se tiene una forma de darles prioridad a los prototipos, y se escoge para su evaluación el de mayor prioridad. Se obtiene la información referente a ese marco, y se continua el ciclo hasta llegar a cierto nivel de confidencia en los resultados. Se tiene una forma de darles prioridad a los prototipos, y se escoge para su evaluación el de mayor prioridad. Se obtiene la información referente a ese marco, y se continua el ciclo hasta llegar a cierto nivel de confidencia en los resultados.

Nexpert es una herramienta (coraza o shell ) de propósito general para el desarrollo de sistemas expertos. En cierta forma es similar a Centaur, ya que los objetos de Nexpert se pueden considerar como un sistema de prototipos. Nexpert es una herramienta (coraza o shell ) de propósito general para el desarrollo de sistemas expertos. En cierta forma es similar a Centaur, ya que los objetos de Nexpert se pueden considerar como un sistema de prototipos. Nexpert: Reglas y Objetos

Sin embargo, la forma en que interactuan estas 2 representaciones es diferente, ya que en vez de agrupar reglas dentro de objetos, éstas 2 representaciones se ven como dos dimensiones del conocimiento que interactuan (se intersectan) entre si.

Las reglas operan sobre atributos de objetos. Las reglas pueden ser genéricas operando sobre clases de objetos ( pattern- matching ). Al evaluar reglas se pueden heredar atributos de la jerarquía de clases/objetos y se pueden disparar los métodos para obtener valores ( demons ). Las reglas operan sobre atributos de objetos. Las reglas pueden ser genéricas operando sobre clases de objetos ( pattern- matching ). Al evaluar reglas se pueden heredar atributos de la jerarquía de clases/objetos y se pueden disparar los métodos para obtener valores ( demons ). Interacción entre objetos y reglas

Una regla puede ser representada por un frame: (frame reglaN (if (valor:...) … (then (valor:...)) ) Una regla puede ser representada por un frame: (frame reglaN (if (valor:...) … (then (valor:...)) ) Implementación

(Regla N (IF (frame propiedad valor ) (frame propiedad valor )...) (Regla N (IF (frame propiedad valor ) (frame propiedad valor )...) 1 1 1,i 2,j 2 2 (THEN (frame propiedad valor ) (frame propiedad valor )...)) (THEN (frame propiedad valor ) (frame propiedad valor )...)) n n n,k m m m,l Una regla puede apoyarse en la estructura de los frames:

La regla toma valores de frames en sus condiciones y modifica/genera frames en sus acciones. También se puede combinar con mecanismos de herencia para obtener valores de frames a partir de herencia de sus antecesores.

(regla 37 (If (clase ?X camión) (valor peso ?X ?P) (> ?P 10000) (min-cardinalidad llantas ?X 10)) (THEN (clase ?X camión-grande))) (regla 37 (If (clase ?X camión) (valor peso ?X ?P) (> ?P 10000) (min-cardinalidad llantas ?X 10)) (THEN (clase ?X camión-grande))) Por ejemplo:

Al disparar la regla añadimos a una instancia de camión la clase de camión- grande y por lo tanto hereda todos los valores del frame camión-grande.

Algunos sistemas comerciales: Shells Híbridos Nexpert: objetos, reglas KEE: frames, reglas, Lisp ART: OPS5, TMS Knowledge Craft: OPS5, Prolog, CRL Nexpert: objetos, reglas KEE: frames, reglas, Lisp ART: OPS5, TMS Knowledge Craft: OPS5, Prolog, CRL

Para resolver problemas complejos, a veces es necesario introducir mecanismos adicionales de control para distribuir tareas. Existen 3 esquemas principales: Para resolver problemas complejos, a veces es necesario introducir mecanismos adicionales de control para distribuir tareas. Existen 3 esquemas principales: Esquemas de Control Arquitectura de Pizarrón Sistema de Capas Sistemas de Agentes Arquitectura de Pizarrón Sistema de Capas Sistemas de Agentes

Surgió a principios de los 70's para resolver problemas en donde existían varios tipos de “expertos” independientes. Arquitectura de Pizarrón

Una variedad de expertos cooperando a través de un pizarrón Una variedad de expertos cooperando a través de un pizarrón Metáfora: Cada experto interviene cuando ve que el estado del pizarrón es tal, que puede contribuir con algo Cada experto interviene cuando ve que el estado del pizarrón es tal, que puede contribuir con algo

Juega el papel de memoria común de comunicación de las KS's Juega el papel de memoria común de comunicación de las KS's Componentes 1. Pizarrón:una estructura de datos multi-dimensional 1. Pizarrón:una estructura de datos multi-dimensional Almacena toda la información relevante al problema Almacena toda la información relevante al problema

La información puede estar almacenada de diferentes maneras: jerarquías, niveles de abstracción, número de hipótesis, etc La información puede estar almacenada de diferentes maneras: jerarquías, niveles de abstracción, número de hipótesis, etc Puede tener información de control

Juegan el papel de operadores que transforman progresivamente los estados de solución del problema Juegan el papel de operadores que transforman progresivamente los estados de solución del problema 2. Fuentes de Conocimiento (KS's): se pueden ver como sistemas basados en conocimiento sin explicación 2. Fuentes de Conocimiento (KS's): se pueden ver como sistemas basados en conocimiento sin explicación

Activación: condiciones para utilizarse Partes: Evaluación: estimación (subjetiva) de resultados (recursos, tiempo, beneficios, # de hipótesis) Evaluación: estimación (subjetiva) de resultados (recursos, tiempo, beneficios, # de hipótesis) Acciones: solución de problemas

Genéricas o específicas Únicas o redundantes Locales o distribuidas Homogéneas o híbridas Genéricas o específicas Únicas o redundantes Locales o distribuidas Homogéneas o híbridas Las fuentes de conocimiento pueden ser: Las acciones pueden ser: Algorítmicas Heurísticas Algorítmicas Heurísticas

Ve las nuevas entradas al pizarrón Ve cuáles KS's pueden hacer algo Construye una agenda de registros de activación de fuentes de conocimiento (KSAR's) Ordena la agenda con un algoritmo Evoca al KS ganador Ve las nuevas entradas al pizarrón Ve cuáles KS's pueden hacer algo Construye una agenda de registros de activación de fuentes de conocimiento (KSAR's) Ordena la agenda con un algoritmo Evoca al KS ganador 3. Mecanismo de Control ( scheduler ): es el que lleva el razonamiento. El algoritmo de ejecución “típico” es: 3. Mecanismo de Control ( scheduler ): es el que lleva el razonamiento. El algoritmo de ejecución “típico” es:

Las fuentes de conocimiento Los objetos del pizarrón Una combinación Las fuentes de conocimiento Los objetos del pizarrón Una combinación El mecanismo de control funciona en base a un foco de atención el cual puede estar sobre: En algunos sistemas de pizarrón, existen KS's cuyo trabajo es controlar la activación de otros KS's

Al pizarrón le entran mensajes que pueden ser vistos por todos, pero leídos por unos cuantos. La solución se hace en forma cooperativa. El proceso termina cuando no hay KS que puedan activarse o cuando se llegó a la solución. Al pizarrón le entran mensajes que pueden ser vistos por todos, pero leídos por unos cuantos. La solución se hace en forma cooperativa. El proceso termina cuando no hay KS que puedan activarse o cuando se llegó a la solución.

EJEMPLO: Problema: resolver el siguiente problema de criptoaritmética: DONALD + GERALD DONALD + GERALD D = 5 ROBERT

c X + Y c X + Y FdeC 1: dados c, X y Y, calcula S y el nuevo carry c'. S S S = c + X + Y c’ = 1 if S >9, else c ’ = 0

FdeC 2: calcula el valor de Y o del nuevo carry X + Y X + Y X X Si Y = 9, entonces c' = 1 Y = { 0, 9 }

c X + X c X + X FdeC 3: acota el valor de Y o de c. Si c = 1, entonces Y = IMPAR Y Y Si Y = IMPAR, entonces c = 1

FdeC 4: Dados c y Y, calcular X X= Y - c 2 2 X= Y - c ó ó c X + X c X + X Y Y Si aparte conozco c' X= Y - c + 10 * c' 2 2

c X Si c’ = 0, entonces S > X y S > Y + Y S Si c’ = 0 y conozco c y S, entonces Y = S - X - c c X Si c’ = 0, entonces S > X y S > Y + Y S Si c’ = 0 y conozco c y S, entonces Y = S - X - c FdeC 5: acotar el valor de S o de Y

Si una letra es IMPAR sus posibles valores son {1,3,5,7,9} Elimina de la lista de posibles valores de las variables los valores ya asignados Asigna a una letra un valor si es el único valor posible Elimina valores que violen restricciones (v.g., mayor-que) Si una letra es IMPAR sus posibles valores son {1,3,5,7,9} Elimina de la lista de posibles valores de las variables los valores ya asignados Asigna a una letra un valor si es el único valor posible Elimina valores que violen restricciones (v.g., mayor-que) FdeC 6: realiza toda la actualización de valores.

FdeC 7: búsqueda exhaustiva

El primer sistema de pizarrón, construido para entender voz. Hearsay-II aceptara voz continua a través de un buen micrófono en una sala silenciosa 1,000 palabras tiempo real aceptara voz continua a través de un buen micrófono en una sala silenciosa 1,000 palabras tiempo real Resultado de un concurso de ARPA (71): crear un sistema para 1976 que:

Diferencia: el mecanismo de control está determinado por un conjunto de fuentes de conocimiento que razonan acerca de control. Dimensiones del pizarrón: nivel (salida, diseño, procedimiento, operación) y tiempo. Diferencia: el mecanismo de control está determinado por un conjunto de fuentes de conocimiento que razonan acerca de control. Dimensiones del pizarrón: nivel (salida, diseño, procedimiento, operación) y tiempo. OPM Sistema de planificación.

Problema: descripciones generales del problema Problema: descripciones generales del problema La parte de control (otro pizarrón) tiene los siguientes niveles: Estrategia: decisiones generales (v.g., top-down, bottom-up ) Estrategia: decisiones generales (v.g., top-down, bottom-up ) Foco: restricciones para guiar la atención (v.g., ve a diseño) Foco: restricciones para guiar la atención (v.g., ve a diseño)

Política: decisiones de criterios (v.g., considera primero los más confiables) Política: decisiones de criterios (v.g., considera primero los más confiables) Agenda: entradas a la agenda KSAR: una entrada

Extender la idea de las agendas a diferentes niveles con un solucionador a cada nivel. Extender la idea de las agendas a diferentes niveles con un solucionador a cada nivel. Arquitectura de Capas Organizar los operadores y la información en capas ( layers ) Organizar los operadores y la información en capas ( layers )

Las capas superiores tienen meta -operadores que actúan sobre los operadores de la capa inmediata inferior. Las capas superiores tienen meta -operadores que actúan sobre los operadores de la capa inmediata inferior. La capa inferior tiene operadores que actúan directamente sobre el estado de solución del problema La capa inferior tiene operadores que actúan directamente sobre el estado de solución del problema

El control se implementa capa por capa, siendo la responsabilidad de una capa controlar la ejecución de los operadores (o meta -operadores) de la capa inmediata inferior. La comunicación entre capas se realiza por medio de mensajes. El control se implementa capa por capa, siendo la responsabilidad de una capa controlar la ejecución de los operadores (o meta -operadores) de la capa inmediata inferior. La comunicación entre capas se realiza por medio de mensajes.

Sistema que planea la realización de experimentos en genética molecular. Utiliza restricciones para reducir la búsqueda e incorpora algoritmos para formular, propagar y satisfacer restricciones. Sistema que planea la realización de experimentos en genética molecular. Utiliza restricciones para reducir la búsqueda e incorpora algoritmos para formular, propagar y satisfacer restricciones. MOLGEN (Stefik, '81)

1. Limitar posibles valores 2. Forzar ciertos valores 3. Comunicación entre subproblemas 1. Limitar posibles valores 2. Forzar ciertos valores 3. Comunicación entre subproblemas Las restricciones sirven para:

1. Espacio de laboratorio: Tiene conocimiento de objetos y operaciones de un laboratorio genético 1. Espacio de laboratorio: Tiene conocimiento de objetos y operaciones de un laboratorio genético MOLGEN tiene 3 capas (cada una con operadores y objetos). MOLGEN tiene 3 capas (cada una con operadores y objetos).

2. Espacio de diseño: Conocimiento acerca del diseño de planes 2. Espacio de diseño: Conocimiento acerca del diseño de planes 3. Espacio de estrategia: Sigue heurísticas y una estrategia del menor compromiso ( least-commitment ) genera meta-planes 3. Espacio de estrategia: Sigue heurísticas y una estrategia del menor compromiso ( least-commitment ) genera meta-planes

Esquemas Híbridos Fin