Expert Systems on Database Architecture (ESDA)

Documentos relacionados
Capitulo III. Diseño del Sistema.

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Elementos requeridos para crearlos (ejemplo: el compilador)

Guía de los cursos. Equipo docente:

ITBA - UPM MAGISTER EN INGENIERIA DEL SOFTWARE ANTEPROYECTO DE TESIS

TECNÓLOGO EN INFORMÁTICA PLAN DE ESTUDIOS

Comunicación: Herramientas Informáticas de Apoyo a la Educación: Experiencias. Autor: Ing. Hernán Mariño hernanmarino@uca.edu.ar

- Bases de Datos - - Diseño Físico - Luis D. García

Al final del curso el estudiante:

Propuesta Matriz de Actividades para un Ciclo de Vida de Explotación de Datos

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

Nombre de la asignatura: Inteligencia Artificial. Créditos: Aportación al perfil

Software de Simulación aplicado a entornos de e-learning

UNIVERSIDAD DE SALAMANCA

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Escuela de Estudios Profesionales. Programa Ahora. Universidad del Turabo

ADMINISTRACIÓN DE BASE DE DATOS

Base de datos relacional

Capítulo 5. Cliente-Servidor.

forma de entrenar a la nuerona en su aprendizaje.

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

Curso de PHP con MySQL Gratis

Programación SQL. Lucio Salgado Diciembre 2008

INGENIERÍA DE SOFTWARE. Sesión 3: Tipos

Gestión de Configuración del Software

Primer avance de proyecto de software para la gestión de inscripciones en cursos

Desarrolladores: Christian David Merino Cruz. Bryan Alexis Peraza Navas. Erik Alberto Renderos Morales.

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas.

comunidades de práctica

2 EL DOCUMENTO DE ESPECIFICACIONES

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA


Experiencias de la Televisión Digital Interactiva en Colombia - ARTICA

Aprendiendo con las redes sociales

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

PROCEDIMIENTO ESPECÍFICO. Código G Edición 0

1.1.- Objetivos de los sistemas de bases de datos Administración de los datos y administración de bases de datos Niveles de Arquitectura

ESCUELA TÉCNICA Nº 6 COMANDANTE MANUEL BESARES EDI PRODUCTOS Y SERVICIOS COMUNICACIONALES ESPACIO CURRICULAR CURSO

CAPÍTULO III DISEÑO METODOLÓGICO

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

La tutoría para la dirección de proyectos de investigación. Darder Mesquida, Antònia Universitat de les Illes Balears.

CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo

SIMULACIÓN DE SISTEMAS (I. ELÉCTRICA/I. ELECTRÓNICA)

CAPÍTULO 1 Instrumentación Virtual

Proyecto Educativo. Elsa Mar(nez Olmedo

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Base de datos en Excel

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322

CURSO COORDINADOR INNOVADOR

Palabras clave: EVA, educación virtual, inglés, análisis.

Ingeniería en Informática

Un Modelo de Diseño Instruccional para la Elaboración de Cursos en Línea José E. Díaz Camacho y Thalía Ramírez Velázquez Universidad Veracruzana

Microsoft Dynamics Sure Step Fundamentos

Administración del conocimiento y aprendizaje organizacional.

Ingeniería del Software Web

Metodología centrada en la Experiencia del Usuario

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

CAPÍTULO 3 Servidor de Modelo de Usuario

Educación virtual INFROMATICA ADRIAN GOMEZ ROMAN 2014/12/30

MINISTERIO DE EDUCACIÓN DIRECCIÓN DE EDUCACIÓN TÉCNICA Y PROFESIONAL PROGRAMA DE LA ASIGNATURA BASE DE DATOS ESPECIALIDAD INFORMÁTICA.

CONTRATAS Y SUBCONTRATAS NOTAS

Capítulo I. Planteamiento del problema

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web

Asignaturas antecedentes y subsecuentes

Capitulo 5. Implementación del sistema MDM

Gestión del Conocimiento e Inteligencia de Negocios. Mónica Henao Cálad, PhD.

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

MANUAL DE USUARIOS DEL SISTEMA MESA DE SOPORTE PARA SOLICITAR SERVICIOS A GERENCIA DE INFORMATICA

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

Práctica 5. Curso

Arquitectura de Aplicaciones

Gestión de la Configuración

Asignaturas antecedentes y subsecuentes

Figura 4.1 Clasificación de los lenguajes de bases de datos


GeneXus BPM Suite X. Última actualización: 01 de Setiembre de 2008

Manual PARA EL ADMINISTRADOR DE LA WEB DE PRÁCTICAS PRE PROFESIONALES Y PASANTÍAS

Planeación del Proyecto de Software:

David Erosa García Programador del C.G.A. de la D.G. de Innovación Educativa y Formación del Profesorado. Consejería de Educación, Junta de Andalucía

INFORME Nº1 PROPUESTA METODOLÓGICA Y PLAN DE TRABAJO DESARROLLO DE UN SISTEMA INTEGRADO DE GESTIÓN PARA EL GOBIERNO REGIONAL DE ATACAMA

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

Presentación y Planificación del Proyecto: Administración de Calzado

Análisis y Diseño de Aplicaciones

CAPÍTULO 2. MODELOS Y ESTÁNDARES DE CALIDAD DE SOFTWARE

SOLUCIÓN HOSPEDADA. Introducción a los modelos de asociación de partners de Microsoft Dynamics CRM

Bases de Datos 3º Informática de Sistemas

Curso Online de Microsoft

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

En este capítulo se describe las herramientas, así como los procesos involucrados en el análisis y desarrollo de sistemas de información, por otro

PROPUESTA METODOLOGICA PARA LA EDUCCIÓN DE REQUISITOS EN PROYECTOS DE EXPLOTACIÓN DE INFORMACIÓN

Project Ing. Christian Ovalle

Qué es el Modelo CMMI?

Transcripción:

Resumen Expert Systems on Database Architecture (ESDA) Gabriela García Velazco, gabriela.garcia@upt.edu.mx, Israel Villar Medina villar_israel@yahoo.com Universidad Politécnica de Tulancingo Este trabajo propone una arquitectura llamada ESDA para aplicar las tecnologías de inteligencia artificial (IA) que por medio de bases de datos resuelva problemas donde las tomas de decisiones son demasiado complejas y ayude a la simplificación del desarrollo de software. Se utilizan como elementos de la arquitectura los procedimientos almacenados, triggers y funciones que fungen como el motor de inferencia de tipo Forward chaining y la base de conocimientos es colocada en tablas que son definidas para tal fin y describe la forma en que deben ser utilizados. Al final la interacción entre estos elementos y sistemas de información existentes en cualquier ámbito ayudan a solucionar problemas donde solo un experto humano es convencionalmente utilizado. Palabras Claves Inteligencia Artificial, Sistemas expertos, Bases de datos Inteligentes, Procedimientos, Triggers, lógica difusa Estado del Arte En la última década ha surgido el concepto de base de datos inteligentes, tal es el caso de SQLf 2 que incluyen aspectos de Base de datos Activas, Bases de datos Deductivas, Bases de Datos Orientadas a Objetos y Restricciones de Integridad. Recientemente Goncalves y Tineo han desarrollado SQLfi que es un prototipo para aplicaciones Web, que usa lógica difusa con SQL, el cuál fue programado mediante Java y se emplea como una herramienta de Evaluación de cursos y Docentes. En el ámbito del software Educativo, Márquez se enfoca a la Enseñanza Inteligente Asistida por Ordenador (EIAO), mediante el uso de bases de datos, Sistemas Expertos e Inteligencia Artificial, buscando imitar la labor tutorial personalizada que realizan los profesores mediante un modelo de representación del conocimiento en consonancia con los procesos cognitivos que desarrollan los alumnos, así lo refiere también Monereo en su artículo Internet Search and Navigation Strategies Used by Experts and Beginners quien enfoca el constructivismo con la teoría de Aprende a aprender a través de sitios web. Otro ejemplo es Cañas quien aplica el desarrollo de mapas conceptuales, para colaborar

en el aprendizaje mediante la construcción y crítica de conocimiento y la navegación a través de sistemas de multimedia en red creados por expertos. En el ámbito de software empotrado encontramos el software EXAUSTIF, que es una herramienta de inyección de fallos por software para sistemas empotrados heterogéneos, el cual usa una base de datos de SQL para almacenar resultados de los análisis después de la inyección En el área de desarrollo de arquitecturas de sistemas encontramos a Galindo quien en su trabajo Sistemas Evolutivos: Nuevo paradigma de la informática, plantea algunos métodos y algoritmos para resolver problemas en Informática involucrando áreas como el Desarrollo de Sistemas, la Ingeniería de Software, la Ingeniería de Conocimiento y el uso de reglas para explicar el funcionamiento de un analizador lingüístico. Introducción Los programas de IA que alcanzan la capacidad de un nivel experto del área en la solución de problemas aplicando un cuerpo del conocimiento sobre áreas específicas se llaman Sistemas Basados en Conocimiento o Sistemas Expertos. Los sistemas expertos tienen conocimientos específicos sobre un tema, dados por un experto humano en un área particular y son colocados dentro del programa junto con reglas heurísticas, los cuales son motivo de este trabajo, y por medio de un caso práctico se mostrará su utilización en un una arquitectura total de SQL server 2008 de tal forma en que se almacenara conocimiento e inferimos conocimiento para solucionar problemas y obtener resultados. Los sistemas expertos estudian la simulación de los procesos intelectuales de los expertos humanos como son la interpretación de datos, el diagnóstico, la corrección, la monitorización, el control, la predicción, la planificación, el diseño y la enseñanza Así existen expertos humanos en muchas áreas del conocimiento, que pueden resolver problemas específicos de un área en particular, un sistema de cómputo debe contener el saber y la lógica del experto para resolver el problema. Los sistemas expertos usarán esta base de conocimientos y mediante el procesamiento de este y de algunas reglas llegarán a un resultado deseado. Es decir llevarán un conocimiento declarativo y procesal. Partes de un sistema Experto A la construcción de un sistema experto se conoce como ingeniería de conocimiento. Los componentes de un sistema experto son: 1. El motor de inferencia 2. La Base de hechos 3. La Base de Conocimiento

4. Interfaz con el usuario En la base de conocimiento (knowledgebase) se guarda todo el saber del experto humano sobre el área en particular que se va a trabajar, esta información permanece invariable y se denomina hechos. Los hechos representan la estructura dinámica del conocimiento ya que su número puede verse incrementado a medida que se van relacionando las reglas. El conocimiento puede ser: Declarativo, es decir contener información específica de objetos, eventos o situaciones. Procesal, es decir que indica que hacer, este se usa para crear reglas de producción de tipo if- then o meta reglas. El motor de inferencia o de razonamiento, es el programa que se encarga de determinar cómo se van a usar las reglas de la base de conocimientos, accede a dichas reglas, las ejecuta y determina si ha llegado a una solución útil o no. El motor de inferencia es el motor de inferencia es el cerebro del sistema experto, La interfaz del usuario es el medio por el cual se comunican el usuario y el sistema experto. Base hechos de Motor inferencia de Base de conocimientos Interfaz con el experto Interfaz con el usuario Experto Ingeniería del conocimiento Usuario Ilustración I. Esquema de un sistema Experto

Inferencias Las inferencias son el proceso por medio del cual el sistema experto reconoce que regla aplicar. La inferencia tiene dos metodologías principales: El encadenamiento progresivo. También se le conoce como foward chaining, esta metodología de inferencia permite corregir un problema denominado conflicto de reglas, este conflicto se genera cuando dos o más reglas que tenemos se cumplen. El encadenamiento progresivo tiene tres etapas: o En la primera se recorren las reglas y se ve cuáles cumplen con los valores, es decir ser disparadas. o En la segunda etapa se decide cuáles reglas pueden ser disparadas, mediante una metodología implementada, regla al azar, un sistema basado en pesos de acuerdo a su importancia, o mediante lógica difusa o redes neuronales. o En la tercera etapa se dispara la regla, es decir se ejecuta el procedimiento que tiene ligado a la regla o cambiar los valores correspondientes en la memoria de trabajo. El encadenamiento regresivo o backward chaining es inverso al encadenamiento progresivo, es decir se tendrá un resultado y se buscará cuáles son las reglas que al disparase crean ese resultado. Este tipo de inferencia es más difícil de programar, pero más efectiva. Desarrollo de la arquitectura ESDA Esta arquitectura será independiente de la base de datos y de la aplicación. La Arquitectura ESDA integrará todas las reglas del negocio de tal forma que si estas cambian o se actualizan no afecten su funcionamiento. Al existir cambios en las reglas de negocio, estos se reflejarán sobre la arquitectura ESDA, modificando solo el sistema experto y sus componentes. La arquitectura ESDA se integró mediante: 1. Procedimientos, Triggers y funciones que actuarán como el motor de inferencia en el gestor de base de datos he aquí el motor de inferencia. CREATE PROCEDURE [dbo].[inferir] AS BEGIN Execute dbo.inicializa_memoria_trabajo Execute dbo.asignar_hechosiniciales DECLARE @HASMORERULES BIT DECLARE @IDR VARCHAR(30), @VARDISP BIT, @SECUMPLE BIT SET @HASMORERULES=1

WHILE @HASMORERULES=1 BEGIN SET @HASMORERULES=0 DECLARE regla_cursor CURSOR FOR Select id_regla, VAR_DISPARADA, dbo.secumpleregla(id_regla) AS SECUMPLE from reglas OPEN regla_cursor FETCH NEXT FROM regla_cursor INTO @IDR, @VARDISP, @SECUMPLE WHILE @@FETCH_STATUS = 0 BEGIN IF @SECUMPLE=1 AND @VARDISP=0 BEGIN PRINT @IDR SET @HASMORERULES=1 EXEC ASIGNAR_CONSECUENTE @ID END FETCH NEXT FROM regla_cursor INTO @IDR, @VARDISP, @SECUMPLE END CLOSE regla_cursor DEALLOCATE regla_cursor END UPDATE dbo.var_meta SET valor = (SELECT VALOR FROM dbo.variables WHERE dbo.var_meta.nombre=dbo.variables.nombre) END 2. Las tablas se usaron para registrar los hechos y las reglas que dieron la funcionalidad al motor de inferencia. 3. En las tablas también se registraron las variables del sistema experto, así como la variable meta. Ilustración II Tablas que integran la base de conocimiento de ESDA

4. La relación entre sus elementos permitió el funcionamiento del sistema experto a nivel de base de datos. 5. El sistema experto trabaja mediante un Forward chaining dados los hechos realiza las inferencias por medio de las reglas establecidas hasta llegar a alcanzar la variable meta o un estado en el que todas las reglas que los hechos dispararon no son suficientes para alcanzar la variable meta y por lo tanto no existe una inferencia útil. Caso Práctico Ilustración III. Integración de la arquitectura ESDA Dicha Arquitectura se implementó en una fábrica de ropa a la medida, donde sus clientes son de una gran cantidad de trabajadores y cada corte de prenda es único, debido a la persona, prenda, modelo, talla, y obviamente las medidas corporales de la persona. La problemática radicaba en que cada temporada se llamaba a los programadores para incorporar todos los detalles a considerar en cada prenda y modelo, lo era una adecuación al software para cada una de estas prendas, La fábrica permitió considerar el lenguaje de reglas en su haber y dichas reglas fueron colocadas en el ESDA sin modificar su software existente solo se empotro la Arquitectura ESDA a nivel de base de datos. Con las variables definidas se establecen las reglas, a continuación se encuentra una muestra de ellas:

La Regla 1. Determina el aumento de centímetros que deberá hacerse en la cintura del pantalón al momento de cortarse en base a la prenda y el modelo cuando la diferencia entre la talla de la cintura estándar y la medida de la cintura de la persona es >=5, devolviendo la indicación de aumentar 2 cm. ID_RULE 1 RULE_TYPE F0001 DESCRIPTION AUMENTA LA CINTURA DEL PANTALÓN 0001 ANTECEDENT VARIABLE OPERADOR VALOR PRENDA = FALDA MODELO = 0001 CINTURAPANT >= 5 CONSECUENT CINTURAPANT 2 CONECTION SYMBOL AND END RULE_TYPE La regla 2. Determina disminuir centímetros de la cintura en el caso que la diferencia entre la talla de la cintura estándar y la medida de la cintura de la persona sea <=5, devolviendo la indicación de disminuir 2 cm al corte. ID_RULE 2 RULE_TYPE F0001-2 DESCRIPTION DISMINUYE LA CINTURA DEL PANTALÓN 0001 ANTECEDENT VARIABLE OPERADOR VALOR PRENDA = FALDA MODELO = 0001 CINTURAPANT <= -5 CONSECUENT TALLERES -2 CONECTION SYMBOL AND END RULE_TYPE Resultados: La utilización de sistemas expertos en diferentes ámbitos complejos dejando al Sistema Gestor de Bas de Datos da la facilidad de separar la programación de aplicaciones y de la definición de la base de datos. En el caso práctico ha permitido administrar a los usuarios finales las reglas sin necesidad y/o dependencia a los programadores de sus aplicaciones.

Por otro lado el caso práctico mostro que el usuario final tarda 5 minutos en la definición de una regla para cada uno de los sus modelos nuevos en cada temporada. Lo que al final en 200 prendas de temporadas ocupa 1000 minutos equivalentes a 2 días de jornadas, en contra parte el programador del software administrador de su producción tomaría 2 semas en programar los cambios debido a la complejidad de decisiones y las tareas inherentes a su trabajo, como la identificación del código, crear la clase modelo, definir atributos y métodos, fase de pruebas, fase de implementación y mantenimiento evolutivo. En el caso de estudio ha quedado demostrado no solo la reducción del tiempo sino además la dependencia del programador usuario final. El aporte de esta Arquitectura (ESDA) va a permitir a los desarrolladores de Software de ambientes complejos quitar esa programación de dinámica en el devenir histórico de la empresa y dejárselo al usuario final con una arquitectura fácil de usar. Dias de Jornada 12 10 8 6 4 2 0 Programación de Aplicación ESDA Dias de Jornada Los usuarios finales no dependerán de un equipo de programadores solo del experto en su tema para lamentar las reglas en ESDA. Trabajo futuro. Este trabajo queda abierto para su implementación en cualquier gestor de base de datos y bajo cualquier solución que requiera la implementación de la ingeniería del conocimiento aplicado a cualquier problema de forma que se reduzca el trabajo del programador y de soporte a las aplicaciones.

Referencias 1. Arrioja, L.C.N., Inteligencia artificial. 2007, Argentina: sociedad impresora americana,. 2. Brenan, R., Base de datos inteligentes, in Simposio SICTE '91. 1991, Revista Univeridad Eafit: Medellin. p. 47-67. 3. Cañas, A.F., KM. Coffey, J. Reichherzer, T, Herramientas Para Construir y Compartir Modelos de Conocimiento Basados en Mapas Conceptuales. Revista de informática educativa, 2000. 13(2): p. 145-158. 4. DARPA, W., Morrow, Gschwendtner, DARPA Neural Networks Study. AFCEA International Press, 1988: p. 60. 5. Goncalves, M.T.L., SQL FlexibleQuery Language Extension by means of norm SQL2, in The 10th IEEE International conference on Fuzzy Systems. 2001. p. 473-476. 6. Goncalves, M.T.L., SQLfi and its Applications. Revista Avances en Sistemas e Informática 2008. 5(2). 7. Marqués, P., Software educativo: guía de uso y metodología de diseño. Estel, 1995. 8. Monereo, C.F., M., Internet Search and Navigation Strategies Used by Experts and Beginners. Interactive Educational Multime, 2000(1): p. 24-34. 9. Piattini, M.D.M., A., Diseño de Bases de Datos Relacionales. 2004, México, D.F.: RA- MA editorial. 576. 10. Russell, S.J.N., P, Inteligencia Artificial, Un enfoque Moderno. Segunda ed. 2004, Madrid: Pearson Prentice Hall. 1240. 11. Tineo, L., Definición de datos en SQLf, in XLVII Convención anual de la Asociación Venezolana para el Avance de la ciencia AsoVAC96. 1997: Medellin. p. 223. 12. Tineo, L., Interrogaciones Flexibles en Bases de Datos Relacionales.. 1998: Medellín. p. 115. 13. Vivar, L.C., Sistemas de Bases de Datos Activas: disparadores y reglas, in Facultad de Ingenieria en Ciencias y sistemas. 2003, Universidad de San Carlos de Guatemala: Guatemala. p. 136.

14. Da Silva, J.M., J.F. López, L. Redondo, L., Exhaustif: Una herramienta de inyección de fallos para sistemas empotrados distribuidos heterogénesos. RPM - AEMES, 2007. 4(1). 15. Brenan, R., Base de datos inteligentes, in Simposio SICTE '91. 1991, Revista Univeridad Eafit: Medellin. p. 47-67. 16 Len, B. Clements, P. Kazman, R. Software Architecture in practice, Second Ed, Adison wesley, Boston:2005, ISBN: 0321154959 17 Date, C.J., Introducción a los sistemas de bases de datos. 2001: México, Pearson Educación ISBN: 968-444-419-2 18 E. Castillo, J. Gutierrez, A. Hadi, Sistemas Expertos y Modelos de Redes Probabilisticas, Monografías de la Academia Española de Ingeniería, Madrid, 1998 19 S. David, Expert systems for software engineers and managers, Chapman and Hall : London, 1987 20 G. Guida, C. Taso, Topics in expert system design: methodologies and tools, North- Holland, Amsterdam, 1989 21 Galindo, S. F., Sistemas Evolutivos: Nuevo paradigma de la informática, Ciencías de la informática UPIICSA- IPN, México: 1990 Viteri, K. Salazar, C. Salazar, C. Paredes, C. Muñoz, J.L. Algoritmos Genéticos: http://www.fiec.espol.edu.ec/investigacion/topico/tabusearch.pdf consultado el 28 de Julio de 2009