trabajo de base de datos inteligentes

43
BASE DE DATOS INTELIGENTES HERMES JAVIER VESCANCE CABEZA CARLOS ALBERTO DUQUE VIDES EDGAR CUBILLOS GIL UNIVERSIDAD COOPERATIVA DE COLOMBIA INGENIERIA DE SISTEMAS

Upload: calduvi

Post on 18-Jun-2015

2.339 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Trabajo de Base de Datos Inteligentes

BASE DE DATOS INTELIGENTES

HERMES JAVIER VESCANCE CABEZA

CARLOS ALBERTO DUQUE VIDES

EDGAR CUBILLOS GIL

UNIVERSIDAD COOPERATIVA DE COLOMBIA

INGENIERIA DE SISTEMAS

BASE DE DATOS

ARAUCA – ARAUCA

2010

Page 2: Trabajo de Base de Datos Inteligentes

BASE DE DATOS INTELIGENTES

Presentado a

ALFONSO DAZA

Ing. sistemas

UNIVERSIDAD COOPERATIVA DE COLOMBIA

INGENIERIA DE SISTEMAS

BASE DE DATOS

ARAUCA – ARAUCA

2010

Page 3: Trabajo de Base de Datos Inteligentes

CONTENIDO

1. INTRODUCCIÓN2. SISTEMAS BASADOS EN CONOCIMIENTO2.1 ENFOQUES DE LOS SGDB 2.2 EVOLUCIÓN DE LOS SGDB 2.4 CLASIFICACIÓN DE LOS SGBD 2.5 CONOCIMIENTO Y BASES DE DATOS 2.6 REPRESENTACIÓN DEL CONOCIMIENTO 2.7 REPRESENTACIÓN LÓGICA SE UN SGDB RELACIONA3. SISTEMAS EXPERTOS3.1 ANTECEDENTES 3.2 PROGRAMACIÓN LÓGICA EN SISTEMAS EXPERTOS 3.3 SISTEMAS EXPERTOS Y BASES DE DATOS INTELIGENTES 4. ARQUITECTURA BASE DE DATOS INTELIGENTE4.1 FUNDAMENTOS 4.2 DESCRIPCIÓN 4.3 ARQUITECTURA 5. PROGRAMACIÓN DE UNA BASE DE DATOS INTELIGENTE5.1 CONSIDERACIONES GENERALES 5.2 BASE DE DATOS PERSISTENTE Y EN INTENSO 5.3 ARCHIVOS BINARIOS 5.4 FILTRADO Y PREPROCESO 5.5 MANIPULACIÓN DE LA BASE DE DATOS EN INTENSO 5.6 PROGRAMACIÓN LÓGICA PARALELA 6. ESTADO DEL ARTE6.1 EL ANÁLISIS INTELIGENTE DE DATOS 6.2 DESAFÍOS EN LA EXPLOTACIÓN INTELIGENTE DE DATOS 7. CONCLUSIONESREFERENCIAS BIBLIOGRÁFICAS

.

Page 4: Trabajo de Base de Datos Inteligentes

INTRODUCCIÓN

Una de las principales preocupaciones de los desarrolladores de software destinado a la administración de bases de datos, es la creciente necesidad de incorporar herramientas que permitan acceder y manipular eficientemente las colecciones de datos que distinguen a las nuevas tecnologías de la información.Los esquemas operativos orientados a soluciones administrativas generales han multiplicado su nivel de exigencia, precisando productos que efectúen análisis sobre los datos almacenados, para responder eficientemente a consultas no planificadas; con capacidad para realizar operaciones entre los datos estructurados (propios de la mayoría de bases actuales), con distintos tipos de datos no estructurados, y - fundamentalmente- con capacidad de procesar estas características en la oferta de soluciones.El término de bases de datos inteligentes en el que convergen los fundamentos teóricos de la Inteligencia Artificial con los sistemas relacionales activos; adicionando a la estructura del motor relaciona1 un motor de inferencia, que habilita conjuntos de acciones disparadas por reglas y consultas ampliadas por inferencia.

SISTEMAS BASADOS EN CONOCIMIENTO

Page 5: Trabajo de Base de Datos Inteligentes

La sofisticación de la tecnología moderna de las bases de datos es el resultado de la evolución que a lo largo de varias décadas ha tenido lugar en el procesamiento de los datos y en la gestión de la información. La tecnología de acceso a los datos se ha desarrollado desde los primitivos de los años cincuenta hasta los potentes e integrados sistemas de hoy en día, arrastrados de un lado por las necesidades y las demandas de la administración y, de otro, restringida por las limitaciones de la tecnología. Las expectativas de la administración han crecido paralelamente a la evolución de las tecnologías.Los primeros sistemas de procesamiento de datos ejecutaron las tareas administrativas para reducir el papeleo. Más recientemente, los sistemas se han expandido hacia la producción y la gestión de la información, la que se ha convertido en un recurso vital para las compañías. Actualmente, la función más importante de los sistemas de bases de datos consiste en proporcionar el fundamento a los sistemas de información para la gestión corporativa.Una base de datos es un conjunto de Información, en sentido amplio, el término puede aplicarse a cualquier agregado de datos; técnicamente es una colección de datos, agrupados con un propósito específico en una o mas entidades lógicas (archivos). En términos estrictos, “base de datos”, hace referencia sólo al lugar donde está depositada la información (hablando tanto desde la perspectiva del hardware, como del software), dicha información -generalmente- está soportada por un sistema para su gestión SGBD.La investigación en IA incluye estudios sobre la representación de reglas lógicas que operen sobre los datos, esto es sistemas que descansan sobre una base de conocimientos para razonar sobre el conjunto de datos.Históricamente, la evolución de los SGBD nos ha proporcionado métodos para analizar datos y encontrar correlaciones y dependencias entre ellos. Sin embargo, el análisis de datos ha cambiado recientemente y ha adquirido una mayor importancia, debido principalmente a tres factores:

Incremento de la potencia de los ordenadores. Aunque la mayoría de los métodos matemáticos fueron desarrollados durante los años 60 y 70, la potencia de cálculo de los grandes ordenadores de aquella época (equivalente a la de los ordenadores personales de hoy en día) restringía su aplicación a pequeños ejemplos “de juguete”, fuera de los cuales los resultados resultaban demasiado pobres. Algo similar ha ocurrido con la capacidad de almacenamiento de los datos y su coste asociado.

Incremento del ritmo de adquisición de datos. El crecimiento de la cantidad de datos almacenados se ve favorecido no sólo por el abaratamiento de los discos y sistemas de almacenamiento masivo, sino también por la automatización de muchos experimentos y técnicas de recogida de datos. Se estima que la cantidad de información almacenada en todo el mundo se duplica cada 20 meses; el número y tamaño de las bases de datos probablemente crece más rápidamente.

Page 6: Trabajo de Base de Datos Inteligentes

Por último, han surgido nuevos métodos, principalmente de aprendizaje y representación de conocimiento, desarrollados por la comunidad de inteligencia artificial, estadística y física de dinámicas no lineales. Estos métodos complementan a las tradicionales técnicas estadísticas en el sentido de que son capaces de inducir relaciones cualitativas generales, o leyes.

ENFOQUES DE LOS SGBD

Una clasificación primaria de los SGBD, nos permite establecer los tipos básicos según el tipo de estructura de datos que soporta:• Enfoque jerárquico. Parte de una estructura de datos basada en un conjunto de registros diferentes guardados en un único archivo y jerarquizados entre sí mediante ligas. Su estructura de árbol, impone que un elemento padre puede tener varios elementos hijo, pero no su inverso. Precisa de punteros físicos.• Enfoque de Red (Codasyl). Similar al enfoque jerárquico en tanto al uso de registros y ligas, pero dentro del esquema jerárquico un elemento de inferior jerarquía puede tener varios elementos situados a un nivel superior del mismo. Las bases de datos gestionadas bajo este enfoque implementan registros conectores (estructuras de datos que sirven para asociar a otras dentro de un fichero). Precisa de punteros físicos.• Enfoque relacional. Se caracteriza por la representación de datos en forma de tablas, en las que los conjuntos de registros tienen un formato fijo e idéntica estructura. El enfoque relaciona1 en bases de datos parte del modelo relaciona1 en matemáticas y, por tanto, son susceptibles de aplicar al minio todas las formulaciones teóricas que éste presenta; en objetivos posteriores desarrollamos una descripción exhaustiva de este enfoque, puesto que el prototipo BDI, de nuestro estudio utiliza un SGBD relaciona1 (Microsoft Jet).• Orientado a objetos. Basada en el encapsulamiento de código y datos en unidades denominadas objetos, que interactúan con el sistema a través de mensajes. El agrupamiento de objetos con métodos y variables comunes se estructura en clases jerárquicas.• Enfoque Lógico. No es esencialmente distinto al enfoque relacional, pero se sustenta en la lógica de predicados de primer orden para representar y manipular los datos, con lo que se obtiene un modelo relaciona1 flexible con capacidades para la deducción automática, a éste pertenecen los SGBD deductivos.

EVOLUCIÓN DE LOS SGBD

Page 7: Trabajo de Base de Datos Inteligentes

La historia de las bases de datos inicia a mediados de los años cincuenta, en el momento en que comenzaron a introducirse los ordenadores para automatizar la gestión de las empresas, fundamentalmente con desarrollos en COBOL, y se han caracterizado por el uso de tecnologías orientadas a la estructuración de datos mediante modelos jerárquicos y Codasyl (p.ej. IMS de IBM; IDMS de Cullinet) de lógica procedimental, que obligan al programador a desplazarse registro a registro, hecho que implica una escasa flexibilidad.El enfoque relaciona1 permite a los programadores la manipulación de tuplas procedentes de distintos ficheros y tablas en una misma base de datos mediante consultas estructuradas, habilitando acciones múltiples sobre los registros. La aparición y estandarización de SQL, permitió una mayor integración, multiplicó las tareas asignadas a las bases de datos e implicó el desarrollo de sistemas de uso transparente, cuya facilidad de manejo derivó en una excepcional productividad e impresionante impacto económico.La tercer generación de SGBD, tiene como principal característica la optimización relaciona1 de los sistemas en entornos multiusuario, la gestión de objetos que permite tipos de datos complejos (texto, imagen, audio...), el encapsulamiento de la semántica de datos que proporciona un soporte robusto para la recuperación automática de la información y mantenimiento de las restricciones de integridad entre datos.

CLASIFICACIÓN DE LOS SGBD

SISTEMAS ORIENTADOS AL PROCESO Y SGBD CLÁSICOS

Sistemas que operan sobre conjuntos de registros agrupados en “ficheros”, cuya naturaleza reside en la recuperación y almacenamiento simple, dado que no almacenan ningún tipo de información para el procesamiento de datos, las restricciones, procesos y el control se distribuye en los programas que acceden a los ficheros.Estos sistemas “clásicos” enfrentan graves problemas de redundancia al encontrarse dispersa la semántica de los datos en los programas. Se distinguen por el acceso secuencial a cadenas de caracteres, interpretadas por los programas.Este tipo de sistema no es considerado como una base de datos en el sentido estricto del término; será hasta que aparezcan los primeros ficheros u archivos en los que pueda almacenarse la descripción de los datos (catálogo o diccionario) que consideremos la primer

Page 8: Trabajo de Base de Datos Inteligentes

clasificación de SGBD (Clásicos), aún cuando prácticamente todas las restricciones sobre los datos se comprueban en los programas.SGBD SEMÁNTICOSEn la medida en que evolucionaron los componentes físicos de los ordenadores y se hizo posible el uso de mayor memoria para operaciones lógicas, los SGBD incorporaron mayor número de información sobre los datos en el propio catálogo de la base de datos, habilitando restricciones de diferentes tipos (CHECK), aserciones e incluso dominios, así, en un SGBD semántico la base de datos incluye información sobre restricciones, información sobre datos y los datos en sí.SGBD ACTIVOSEn este tipo de sistemas, los desarrolladores incorporan acciones que el sistema ejecuta sin la intervención del usuario, a través de disparadores, reglas, demonios, etc.De hecho, representan patrones invocados donde las condiciones para invocar se revisan en cada paso, frente a los SGBD semánticos, encontramos además, en la base de datos información de control.Atendiendo los conceptos de algunos autores, un SGBD activo se distingue porque su modelo de conocimiento describe las situaciones y las reacciones correspondientes:Evento, Condición, Acción (ECA, cuando ocurre un evento se evalúa la condición y si ésta se satisface se ejecuta la acción). Sistemas que incorporan una ampliación al Lenguaje de Definición de Datos (LDD), con el objetivo de definir con mayor precisión y naturalidad el conjunto de reglas que se ejecutan, el uso de SQL es prioritario en el desarrollo de estos sistemas.

SGBD DEDUCTIVOSLa programación lógica ha ido evolucionando desde mediados de la década pasada hasta nuestros días ampliando sus horizontes en el desarrollo de sistemas gestores de bases de datos, la programación lógica, en forma similar a los primeros desarrollos de bases de datos. Centra su acción en el núcleo de los programas que acceden a los datos, de hecho, la programación lógica se utiliza principalmente como lenguaje de consulta, mientras que la tecnología de base de datos se emplea para asegurar un almacenamiento eficiente y fiable. Los SGBD deductivos se puede implementar añadiendo al SGBD facilidades para almacenar y gestionar reglas, extendiendo el procesador de consultas del SGBD o acoplando un SGBD con un sistema PrologSGBD ORIENTADAS AL OBJETO

Page 9: Trabajo de Base de Datos Inteligentes

Conocidos también como SGBO, aunque podríamos considerarlos como la tendencia a extender los SGBD relacionales mediante la incorporación de la programación orientada a objetos, en esta tendencia destacan: interfaces de PO0 sobre motores relacionales(Visual Basic, VC++, J++, etc.), herramientas de conversión de esquemas relacionales a esquemas OO y viceversa, herramientas de migración de esquemas, interoperabilidad de BDR y BDO, etc.Este tipo de sistemas comienza a incursionar en forma sólida en el mercado, debido a la aparición de un número cada vez mayor de herramientas de conectividad entre los mundos relacional y orientado a objetos:• Interfaces de programación orientada a objetos sobre motores relacionales,• Herramientas de conversión de esquemas relacionales a esquemas OO y viceversa,• Herramientas de migración de esquemas, bases de datos y aplicaciones relacionales a OO y viceversa,SGBD MULTIDIMENSIONALESLos sistemas de base relacional han sido diseñado específicamente para soportar el procesamiento analítico de los datos: On Line Analytical Processing (OLAP), representan los datos mediante matrices de n dimensiones denominadas “hipercubos” asignando a cada dimensión un dominio específico jerarquizado, cada casilla del hipercubo contiene datos agregados (información de...) que relacionan los elementos entre las distintas dimensiones, de hecho, éstas actúan como apuntadores para identificar los valores dentro de la matriz.Es importante destacar que el modelo de matriz de datos que aplica la lógica multidimensional no está asociado a una representación física de los datos, ni utiliza LDD particulares, sus principales diferencias frente al modelo de tablas relacionadas, reside en que todos los dominios pueden encontrase relacionados, en contraparte dentro del esquema de tablas, las relaciones afectan sólo campos clave o campos con naturaleza idéntica-asociativa.

CONOCIMIENTO Y BASES DE DATOS

Los métodos generales desarrollados para la resolución de problemas y técnicas de s búsqueda al inicio de la era de la IA demostraron no ser suficientes para resolver los problemas orientados a las aplicaciones, ni fueron capaces de satisfacer los difíciles requerimientos de la investigación. A este conjunto de métodos, procedimientos y técnicas, se lo conoce como Inteligencia Artificial

Page 10: Trabajo de Base de Datos Inteligentes

Débil. La principal conclusión que se derivó de este trabajo inicial fue que los problemas difíciles sólo podrían ser resueltos con la ayuda del conocimiento específico acerca del dominio del problema.La aplicación de estas ideas dio lugar al desarrollo de los denominados Sistemas Basados en Conocimiento (Knowledge Based Systems) y al aparecimiento de la Ingeniería Cognoscitiva, como una rama de la IA, que estudia los sistemas basados en el conocimiento. La definición de un sistema basado en conocimiento puede resumirse de la siguiente manera: “Es un sistema computarizado capaz de resolver problemas en el dominio en el cual posee conocimiento específico”.Esta inconsistencia puede ser aclarada, sobre la base de tres conceptos fundamentales que distinguen a los sistemas basados en conocimiento de los programas algorítmicos convencionales y de los programas generales basados en búsqueda:1 .La separación que existe entre el conocimiento, y la forma cómo éste es utilizado.2. El uso de conocimiento específico de un determinado dominio. 3. La naturaleza heurística, antes que algorítmica del conocimiento utilizado.Dicho de una manera simple, los programas convencionales utilizan algoritmos para resolver problemas, mientras que los sistemas basados en conocimiento resuelven problemas donde las soluciones algorítmicas no existen o son muy costosas para ser implementadas.Actualmente, el amplio éxito de los sistemas de bases de datos, combinado con las necesidades de gestión de información y los desarrollos que han emanado del estudio de la IA, han dado como resultado un interés creciente en extender los sistemas de bases de datos a sistemas de bases de datos inteligentes, elevando su utilidad al punto en que pueda construirse conocimiento a partir de datos simples y que éste — conocimiento— permita controlare interpretar la estructura en su conjunto, Wiederhold , los describe de la siguiente manera:• Conocimiento estructural. Conocimiento sobre las dependencias y restricciones entre los datos.• Conocimiento general procedimental. Conocimiento que sólo puede ser descrito por un procedimiento.• Conocimiento específico de la aplicación. Conocimiento que está determinado por las reglas y convenios que se aplican en un dominio de problema en particular.En el desarrollo de una base de datos inteligente implica la representación del conocimiento, definido más allá de su forma

Page 11: Trabajo de Base de Datos Inteligentes

extensa (hechos e instancias almacenados en la base), mediante mecanismos lógicos.

REPRESENTACIÓN DEL CONOCIMIENTO

La representación del conocimiento es el punto neural de la programación lógica cuando ésta se aplica al procesamiento de datos, comprende el estudio de formalismos y estructuras en el tratamiento de objetos, hechos, eventos, relaciones, etc. Los tradicionales sistemas basados en conocimiento han utilizado con gran asiduidad, para representar el conocimiento, una extensión de la lógica de proposiciones, denominada lógica "0+" o representación objeto-atributo-valor.Otros términos relacionados con el conocimiento y que son ocasionalmente empleados son epistemología y metaconocimiento. Epistemología es el estudio de la naturaleza del conocimiento, mientras que metaconocimiento es conocimiento acerca del conocimiento, esto es, conocimiento acerca de lo que se conoce.El conocimiento puede ser de tipo procedimental, declarativo o heurístico. Conocimiento procedimental es aquel conocimiento compilado que se refiere a la forma de realizar una cierta tarea (el saber como hacerlo). Por ejemplo, los pasos necesarios para resolver una ecuación algebraica son expresados como conocimiento procedimental.Debido a la variedad de formas que el conocimiento puede asumir, los problemas involucrados en el desarrollo de una representación del conocimiento son complejos, interrelacionados y dependientes del objetivo. En términos generales, se debe tratar que el conocimiento esté representado de tal forma que:• Capture generalizaciones.• Pueda ser comprendido por todas las personas que vayan a proporcionarlo y procesarlo.• Pueda ser fácilmente modificado.• Pueda ser utilizado en diversas situaciones aún cuando no sea totalmente exacto o completo.• Pueda ser utilizado para reducir el rango de posibilidades que usualmente debería considerarse para buscar soluciones.El conocimiento declarativo puede ser representado con modelos relacionales y esquemas basados en lógica. Los modelos relacionales pueden representar el conocimiento en forma de árboles, grafos o redes semánticas. Los esquemas de representación lógica incluyen el uso de lógica proposicional y lógica de predicados.

Page 12: Trabajo de Base de Datos Inteligentes

Los modelos procedimentales y sus esquemas de representación almacenan conocimiento en la forma de cómo hacer las cosas. Pueden estar caracterizados por gramáticas formales, usualmente implantadas por sistemas o lenguajes procedimentales y sistemas basados en reglas (sistemas de producción).Representaciones prácticas pueden incluir elementos tanto declarativos (listado de hechos conocidos), como procedimentales (un conjunto de reglas para manipular los hechos).

REPRESENTACIÓN MEDIANTE CÁLCULO DE PREDICADOSFundamentado en la lógica simbólica, trata esencialmente las relaciones entre enunciados o proposiciones simples y las compuestas (mediante conectivas aplicadas a proposiciones simples). Las conectivas utilizadas son las siguientes:Un sistema que implemente la inferencia por cálculo de predicados deberá diferenciar los siguientes elementos:• Términos, los cuales pueden ser; constantes, variables o funciones• Conjuntos de predicados asociados a uno o más argumentos definidos previamente• Conjuntos de conectivas u operadores lógicos • Cuantificadores universales: existe, para todo Este mecanismo de inferencia es el más viable para la implementación de sistemas de naturaleza deductiva, sin embargo resulta -en el mejor de los casos- insuficiente en la implementación de sistemas de naturaleza inductiva.

REPRESENTACIÓN MEDIANTE REDES SEMÁNTICASTipo de representación surgida de trabajo en reconocimiento de lenguaje natural y la búsqueda de modelos para la memoria humana en que intervienen dos tipos de entidades básicas: Nodos y Ligas asociativas, donde los nodos pueden ser de dos tipos:• Referidos en forma directa al significado del concepto - nodo tipo (clase).• Referidos indirectamente al concepto mediante un apuntador al nodo tipo – nodo.En general es posible usar este tipo de estructuras para diferentes tipos de razonamiento:1.- Búsqueda asociativa: Encontrar si están relacionados dos o más conceptos, y su tipo de relación mediante el seguimiento de la red hasta encontrar las interacciones.2.- Reconocimiento: Dada una serie de características (nodos “token”) encontrar el concepto (nodo clase) que mejor las define mediante su búsqueda y seguimiento en la red.

Page 13: Trabajo de Base de Datos Inteligentes

3.- Descripción: Expresar un concepto en base a sus componentes y relaciones entre ellas (procesamiento del lenguaje natural). REPRESENTACIÓN DEL CONOCIMIENTO POR REGLAS DE PRODUCCIÓNRepresentación que utiliza reglas de reestructuración en el reconocimiento sintáctico del Lenguaje Natural; tiene sus antecedentes en los trabajos de Post (1943), los algoritmosde Markov y en la lingüística de Chomsky. Básicamente, una regla de producción consta de un par ordenado de símbolos (sit uación-acción), la sintaxis de las reglas es diversa y se estructura en función del proceso de selección y ejecución de éstas.En el desarrollo de un motor que utilice está representación, se precisa de un intérprete que accese a las reglas, manipule variables y en algunos casos clases sintácticas (parsing), en éste, recae el proceso de inferencia denominado "control":• Selección de las reglas pertinentes.• Validación (reglas cumplidas)• Ejecución de las acciones especificadas por las reglas cumplidas.Los sistemas basados en la representación del conocimiento mediante producción de regias son útiles en los casos donde se trabaja con gran cantidad de estados independientes: sistemas con objetivos amplios y acciones de corto alcance, dada su representación modular y uniforme.REPRESENTACIÓN DEL CONOCIMIENTO POR OBJETOS ESTRUCTURADOSLos objetos estructurados tienen diversas denominaciones, entre las que destacan:Esquemas (Bartlett 1932), Frames (Minsky 1975), Scripts (Schank, Abelson 1977),Objetos (Goldeberg. 1977, Steels 1982, entre otros), Descriptores funcionales (Kay M.1982), las características generales de este modelo de representación son:Los estados de los objetos definidos por el sistema son:Activos Cuando se encuentra presente en la lista de hipótesis en curso de tratamiento.Semiactivos Cuando es parte de una hipótesis alternativa.Inactivos Cuando el objeto se ha eliminado o no ha sido instanciado. REPRESENTACIÓN MEDIANTE PROCEDIMIENTOSEste tipo de representación utiliza un lenguaje de alto nivel en el tratamiento de los conocimientos, en forma explícita mediante un programa. El comportamiento del programa está dirigido por

Page 14: Trabajo de Base de Datos Inteligentes

instrucciones, los conocimientos que trata no se expresan en forma declarativa, sino que se encuentran a través de todo el programa.REPRESENTACIÓN MEDIANTE ÁRBOLES DE DECISIÓNLos árboles de decisión son una forma de representación sencilla, muy usada entre los sistemas de aprendizaje supervisado, para clasificar ejemplos en un número finito de clases. Se basan en la partición del conjunto de ejemplos según ciertas condiciones que se aplican a los valores de los atributos. Su potencia descriptiva viene limitada por las condiciones o reglas con las que se divide el conjunto de entrenamiento; por ejemplo, estas reglas pueden ser simplemente relaciones de igualdad entre un atributo y un valor, o relaciones de comparación (“mayor que”, etc.). REPRESENTACIÓN MEDIANTE LISTAS DE DECISIÓNLas listas de decisión son otra forma de representación basada en lógica de proposiciones. Es una generalización de los árboles de decisión y de representaciones conjuntivas (CNF) y disyuntivas (DNF). Una lista de decisión es una lista de pares de la forma (d1, C1 ), (d2, C2 ),..., (d n , C n ) donde cada d i es una descripción elemental, cadaC i es una clase, y la última descripción C n es el valor verdadero.La clase de un objeto será C j cuando d j sea la primera descripción que lo satisface.

REPRESENTACIÓN LÓGICA DE UN SGDB RELACIONA

En los siguientes párrafos ofreceremos una visión detallada del esquema relacional, desde la óptica de la lógica de primer orden, ocupándonos de 4a estructura e integridad de los datos así como de su manipulación.ESTRUCTURA E INTEGRIDADCon atención a cómo se encuentran estructurados los datos: Un dominio es un conjuntoSe llama relación a cualquier subconjunto del producto cartesiano de dos o más dominios;Una instancia de BD es un conjunto finito de relaciones finitas. Se llama cordialidad de una relación al número de tuplas que lo contiene. La aridad o grado de una relación No todas las instancias acordes con un determinado esquema son semánticamente válidas (coherentes con la semántica asociada de BD), por lo que existen restricciones de integridad asociadas a cada esquema de relación. Finalmente, podemos definir la estructura general como un supe conjunto de esquemas de relación y de restricciones de integridad. MANIPULACIÓN DE DATOS

Page 15: Trabajo de Base de Datos Inteligentes

La manipulación de datos en el esquema relaciona1 se efectúa mediante un lenguaje formal: Álgebra y Cálculo Relacional, de la primera obtenemos una colección de operadores y operaciones explícitas, la segunda proporciona la semántica para definir las relaciones resultantes.

SISTEMAS EXPERTOS

ANTECEDENTESEn las últimas décadas, se han producido grandes cambios en el entorno de las empresas y las organizaciones, como consecuencia de los avances de las nuevas tecnologías de la producción, de la información y de las comunicaciones. En este nuevo entorno, la toma de decisiones de una manera eficaz precisa de una forma rápida de información suficiente, actualizada y oportuna, utilizando los ordenadores electrónicos y los medios que proporciona la tecnología de la información. Además, gracias a las investigaciones realizadas en la inteligencia artificial, con el desarrollo de los sistemas basados en el conocimiento y los sistemas expertos, también se han producido grandes avances en el tratamiento del conocimiento, factor fundamental para la toma deDecisiones El estudio y desarrollo de los Sistemas Expertos (SEs) comenzó a mediados de la década del 60. Entre 1965 y 1972 fueron desarrollados varios de estos sistemas, muchos de ellos tuvieron un alcance muy limitado, otros como MYCIN, DENDRAL y PROSPECTOR, constituyeron la base histórica de los SEs y aún en la actualidad son de gran interés para los investigadores que se dedican al estudio y construcción de los mismos.En este sentido, Hayes-Roth considera como características más importantes de los sistemas expertos las siguientes:1. Pueden resolver problemas normalmente atacados por los expertos humanos;2. Razonan heurísticamente, usando lo que los expertos consideran que son reglas empíricas efectivas, e interactúan con los humanos de forma adecuada, incluyendo el lenguaje natural;3. Manipulan y razonan sobre descripciones simbólicas;4. Pueden funcionar con datos inciertos;5. Contemplan múltiples hipótesis;6. Pueden explicar su proceso de razonamiento y justificar sus conclusiones.7. Aplican técnicas de búsqueda.8. Pueden inferir nuevos conocimientos a partir de los existentes.

PROGRAMACIÓN LÓGICA EN SISTEMAS EXPERTOS

Page 16: Trabajo de Base de Datos Inteligentes

La programación lógica tiene sus antecedentes más próximos en los trabajos de prueba automática de teoremas de los años sesenta. J. A. Robinson propone en 1965 una regla de inferencia a la que llama resolución (Regla que se aplica sobre cierto tipo de fórmulas del Cálculo de Predicados de Primer Orden, llamadas cláusulas y la demostración de teoremas bajo esta regla de inferencia se lleva a cabo por reducción al absurdo), mediante la cual la demostración de un teorema puede ser llevada a cabo de manera automática, sus trabajos sirvieron de base al primer lenguaje de programación que contempla, como parte del intérprete, los mecanismos de inferencia necesarios para la demostración automática.Es un hecho que los SGBD han evolucionado para atender las exigencias de nuevos dominios culturales, científicos, industriales y comerciales, generando distintos tipos de SGBD (ver. Clasificación de SGBD, Cap. ll), y no se espera que la Programación Lógica de estos sistemas desplace a los existentes, sin embargo, representan el camino ideal para aplicaciones específicas, en las que se precisa la inferencia para manipular eficientemente un conjunto de datos y representar conocimientos:• Sistemas de diagnosis. Que siguen un proceso de búsqueda de las razones del funcionamiento incorrecto de un sistema a partir de la información disponible en la base de datos. Aquí se podrían tener en cuenta tanto aplicaciones de diagnóstico médico como de averías, en el primero de los casos existen antecedentes sólidos:FLUIDEX, EACH, TROPICAID, SPHINX, y MYCIN (desarrollado a mediados de1970) es el más representativo.• Sistemas de pronóstico. Que deducen consecuencias posibles a partir de una situación. Su objetivo es determinar el curso del futuro en función de información sobre pasado y presente. Esto abarca diversos problemas, tales como predicciones meteorológicas, predicciones demográficas, o incluso previsiones de la evolución bursátil entre otros. Quizá la aplicación más conocida sea PROSPECTOR, un sistema para la evaluación de emplazamientos geológicos.• Sistemas de planificación. Que establecen una secuencia de acciones a realizar encaminadas a la consecución de una serie de objetivos. En esta área, destaca la simulación donde se busca representar un estado real y evaluar distintas variables para determinar caminos óptimos. Los planes y las decisiones en la producción se desarrollan y llevan a cabo en un mundo de representaciones simbólicas de hechos y conjeturas, muchas de las cuales no están informatizadas y representan la experiencia y el conocimiento de expertos. CONCEPTOS BÁSICOSSistema experto como su nombre lo dice es un sistema computarizado que emula el proceso de razonamiento de un experto humano en un área o campo especifico.

Page 17: Trabajo de Base de Datos Inteligentes

Los sistemas expertos tratan de emular ese conocimiento heurístico, lo que los hace superiores a los programas convencionales ya que pueden tratar con datos “inciertos”, o sea no precisos. Básicamente el Sistema Experto esta compuesto por los siguientes módulos:1. Base de conocimientos: Consiste en las reglas, procedimientos y datos intrínsecos al área del problema. Generalmente se construye a través de consulta con uno o varios expertos del área, para incluir el conocimiento heurístico, manuales, etc. La base, contiene el conocimiento del sistema con respecto a un tema específico para el que se diseña el sistema. Este conocimiento se codifica según una notación específica que incluye reglas, predicados, redes semánticas, frames y objetos.2. Motor de inferencia: Es el mecanismo usado para extraer el conocimiento de la base de conocimientos, para alcanzar una solución o conclusión determinada.Combina los hechos y las preguntas particulares, utilizando la base de conocimiento, seleccionando los datos y pasos apropiados para presentar los resultados.3. Interface con el usuario: Es el medio de comunicación entre el sistema experto y el usuario.

SISTEMAS EXPERTOS Y BASES DE DATOS INTELIGENTES

Aunque el desarrollo de un sistema experto esta claramente influenciado por los métodos de representación del conocimiento aplicados a SGBD no cuentan con todas las capacidades de gestión de éstos. Para los efectos de nuestro estudio, la arquitectura de los sistemas expertos, constituye el eje sobre el que se ha de construir el modulo de gestión de base de conocimientos, esto es, la gestión de procesos deductivos de la base de reglas que opera sobre la base de datos.Técnicamente en una BDI converge la arquitectura de un SE y sistemas basados en conocimiento por lo que para en su desarrollo se incluye como aspecto fundamental la programación del conocimiento (figura 6), la cual hace uso de la representación explícita del conocimiento a utilizar por el sistema y de su interpretación y manipulación lógica por medio de mecanismos de inferencia, que permitan deducir nuevo conocimiento a partir del que ya se conoce.

ARQUITECTURA DE BDI

FUNDAMENTOS

Page 18: Trabajo de Base de Datos Inteligentes

En el presente capítulo, abordaremos en forma somera los principales indicadores teóricos que conceptualizan la IA (Inteligencia Artificial) vinculados con los alcances de nuestra investigación.Una buena definición de IA es algo elusiva y controversial, fundamentalmente porque la inteligencia humana no está completamente entendida. Cada libro de texto en IA propone una definición que enfatiza las diferentes perspectivas que, cada autor cree, encierra el campo. A continuación se transcriben algunas de ellas:“La IA es una rama de la ciencia de computación que comprende el estudio y creación de sistemas computarizados que manifiestan cierta forma de inteligencia: sistemas que aprenden nuevos conceptos y tareas, sistemas que pueden razonar y derivar conclusiones útiles acerca del mundo que nos rodea, sistemas que pueden comprender un lenguaje natural o percibir y comprender una escena visual, y sistemas que realizan otro tipo de actividades que requieren de inteligencia humana”.“La IA es una ciencia que trata de la comprensión de la inteligencia y del diseño de máquinas inteligentes, es decir, el estudio y la simulación de las actividades intelectuales del hombre (manipulación, razonamiento, percepción, aprendizaje, creación)”.“La IA es el estudio de las computaciones que permiten percibir, razonar y actuar”.“La IA es un campo de estudio que busca explicar y emular el comportamiento inteligente en términos de procesos computacionales”.“La IA estudia las representaciones y procedimientos que automáticamente resuelven problemas usualmente resueltos por humanos”A pesar de la diversidad de conceptos propuestos para la IA, en general todos coinciden en que la IA trata de alcanzar inteligencia a través de la computación. Toda computación, requiere de una representación de cierta entidad y de un proceso para su manipulación.Desde el punto de vista de los objetivos, la IA puede considerarse en parte como ingeniería y en parte como ciencia:Como ingeniería, el objetivo de la IA es resolver problemas reales, actuando como un conjunto de ideas acerca de cómo representar y utilizar el conocimiento, y de cómo desarrollar sistemas informáticos.Como ciencia, el objetivo de la IA es buscar la explicación de diversas clases de inteligencia, a través de la representación del conocimiento y de la aplicación que se da a éste en los sistemas informáticos desarrollados.

Page 19: Trabajo de Base de Datos Inteligentes

DESCRIPCIÓN

Las aplicaciones de mayor impacto que han surgido de la Inteligencia Artificial se concentran en los Sistemas Basados en Conocimiento. Desafortunadamente, estos sistemas son útiles en función de la validez de su conocimiento, además de que su construcción es un proceso complejo y costoso. A su lado, los SGBD relacionales han evolucionado hasta consolidar una robusta plataforma altamente funcional y económica, con un alto grado de penetración en distintos mercados: los sistemas de bases de datos conllevan la automatización de cada vez más actividades reduciendo costos y mejorando la calidad de desempeño, por ello, importantes grupos de investigadores han concentrado sus esfuerzos en el diseño y desarrollo de herramientas informáticas que apoyen el descubrimiento de conocimiento y exploten la experiencia, en dichos sistemas.Su principal objetivo es permitir al usuario manipular el contenido de su base de datos de manera transparente, ofreciéndole herramientas para extraer conocimientos a partir del análisis del contenido de sus datos, interrelacionar información proveniente de diversas fuentes usando medios diversos, usar conocimientos y hacer inferencias para facilitar la recuperación y visualización de la información, apoyando la toma de decisiones y ofreciendo una alternativa para representar y manipular la semántica de las aplicaciones avanzadas.Los principales pasos dentro del proceso interactivo e iterativo del KDD pueden verse en la figura 8, y son los siguientes:1. Desarrollo y entendimiento del dominio de la aplicación, el conocimiento relevante y los objetivos del usuario final. Este paso requiere cierta dependencia usuario/analista, pues intervienen factores como: conocer los cuellos de botella del dominio, saber qué partes son susceptibles de un procesado automático y cuáles no, cuáles son los objetivos, los criterios de rendimiento exigibles, para qué se usarán los resultados que se obtengan, compromisos entre simplicidad y precisión del conocimiento extraído, etc.2. Creación del conjunto de datos objetivo, seleccionando el subconjunto de variables o ejemplos sobre los que se realizará el descubrimiento. Esto implica consideraciones sobre la homogeneidad de los datos, su variación a lo largo del tiempo, estrategia de muestreo, grados de libertad, etc.

Page 20: Trabajo de Base de Datos Inteligentes

3. Preprocesado de los datos: eliminación de ruido, estrategias para manejar valores ausentes, normalización de los datos, etc.4. Transformación y reducción de los datos. Incluye la búsqueda de características útiles de los datos según sea el objetivo final, la reducción del número de variables y laproyección de los datos sobre espacios de búsqueda en los que sea más fácil encontrar una solución. Este es un paso crítico dentro del proceso global, que requiere un buen conocimiento del problema y una buena intuición, y que, con frecuencia, marca la diferencia entre el éxito o fracaso de la minería de datos (paso 7).5. Elección del tipo de sistema para minería de datos. Esto depende de si el objetivo del proceso de KDD es la clasificación, regresión, agrupamiento de conceptos (clustering), detección de desviaciones, etc.6. Elección del algoritmo de minería de datos7. Minería de datos. En este paso se realiza la búsqueda de conocimiento con una determinada representación del mismo.8. Interpretación del conocimiento extraído, con posibilidad de iterar de nuevo desde el primer paso. La obtención de resultados aceptables dependerá de factores como: definición de medidas del interés del conocimiento (de tipo estadístico, en función de su sencillez, etc.) que permitan filtrarlo de forma automática, existencia de técnicas de visualización para facilitar la valoración de los resultados o búsqueda manual de conocimiento útil entre los resultados obtenidos.9. Consolidación del conocimiento descubierto, incorporándolo al sistema, o simplemente documentándolo y enviándolo a la parte interesada. Este paso incluye la revisión y resolución de posibles inconsistencias.

ARQUITECTURA

Los SGBD Inteligentes no existen como tales, por lo que en la arquitectura de una base de datos inteligente intervienen múltiples factores y condicionales derivadas de las Estrategias que el programador decida implementar y las necesidades del sistema a desarrollar, sin embargo, en el grueso de los estudios enfocados al desarrollo de un sistema inteligente de bases de datos, se distingue como objetivo de la interfaz: proporcionar consejo y apoyo a la toma de decisiones, ofrecer opiniones informadas y explicación de sus razonamientos, además, deberá permitir que el directivo u operador manipule grandes volúmenes de información entre los que encontramos ejemplos, reglas, heurísticas, hechos e incluso modelos de predicción con probabilidades de certeza. Los beneficios son

Page 21: Trabajo de Base de Datos Inteligentes

amplios y múltiples, por ejemplo la reducción en el tiempo de toma de decisiones, apoyo a la toma de decisiones basada en hechos, el mejoramiento del desempeño de personal no experto, la acelerada capacitación de personal mediante tutores, flexibilidad y apoyo a la reorganización y la reingeniería, el mejor diagnóstico de fallas, el mejor mantenimiento, la optimización de tiempos y movimientos, el mejor servicio, y la retención del conocimiento y experiencia corporativa; para ello, considerando el desarrollo de una BDI sobre un motor relacional, el sistema -regularmente- integrará:1. Una base de datos relacional. Base principal en la que se concentra en diversas tablas el total de datos útiles del sistema.2. Una base de conocimiento dinámica. Base en intenso, constituida de selección de tuplas involucradas en un proceso de inferencia particular.3. Módulos de Preproceso. Enfocados al tratamiento de los datos inciertos en la base persistente. (Lógica fuzzy y multivaluada)4. Una base de reglas. Estructuran los procesos de inferencia en marcos de operación determinados.5. Módulos de acceso binario. Cuando intervienen procesos de selección y filtrado para los que no se estructura un campo clave, precisamos de archivos binarios a los que el sistema acceda en forma eficiente y rápida.La inteligencia en una base de datos, no está necesariamente relacionada con la estructura de la BDD, sino en la explotación que el sistema pueda hacer de éstos. Así una BDI puede estar soportada en SGBD comerciales, siempre que cuente con un módulo lógico o extensión lógica, desarrollada en el lenguaje anfitrión, o en un lenguaje de programación lógica, para implementar la inteligencia del sistema. Esta extensión se aplica fundamentalmente en el lenguaje para la manipulación (DML) de datos (en el caso de una BDI no soportada en SGDB, su arquitectura implica la creación de DDL yDML), esta extensión deberá crear funciones y procedimientos particulares, de las que se espera:• Descubrimiento de conocimiento y búsquedas inteligentes. Integrando técnicas de inteligencia artificial para extraer conocimiento a partir del análisis de los datos, la mayoría de los lenguajes anfitriones incorporan estructuras de control sobre las que se pueden implementar (Computación evolutiva e IPL).• Tratamiento de la Incertidumbre. Procesamiento lógico de condicionales: datos inexistentes, inaplicables, desconocidos, indefinidos, etc. (Conocimiento con incertidumbre)Para los efectos de nuestro estudio, nos ocuparemos de la arquitectura basada en los estudios sobre transformación de

Page 22: Trabajo de Base de Datos Inteligentes

problemas ILP (Programación Lógica Inductiva) a formato proposicional, la mecánica de transformación se basa en la idea de convertir conjuntos de datos del formato relacional a formato proposicional, y, si es el caso, volver a convertir el conocimiento obtenido a formato relacional.COMPUTACIÓN EVOLUTIVA E IPLLa computación evolutiva es una rama de la inteligencia artificial enfocada al desarrollo de algoritmos genéticos, esto es, modelos lógico-matemáticos, que aproximen las operaciones máquina, al razonamiento natural.Las aplicaciones prácticas de la llamada Inteligencia Artificial han sido foco de controversia por muchos años. Claramente, si comparamos los sistemas desarrollados con las habilidades cognoscitivas humanas, podemos considerar que el desarrollo es aún primitivo. Sin embargo, en años recientes, las técnicas de esta rama de las ciencias de la información han abordado muchos campos prácticos y desarrollados herramientas sofisticadas de uso cotidiano en sectores comerciales e industriales.Las relaciones pueden poseer carácter estático cuando no interviene el tiempo como parámetro modelador, o dinámico cuando dependen de éste. La extracción de resultados de un modelo está asociada a la determinación de valores paramétricos de variables conocidas como variables de estado del proceso, estos valores obedecen al conjunto de restricciones que definen el proceso y que configuran el espacio de soluciones viables.La programación lógica inductiva se define como la intersección entre el aprendizaje inductivo y la programación lógica. Esto es así porque utiliza técnicas de ambos campos:• Del aprendizaje inductivo en los ordenadores hereda su objetivo: desarrollar herramientas y técnicas para inducir hipótesis a partir de observaciones (ejemplos) y sintetizar nuevo conocimiento a partir de la experiencia.a. Generalización relativa menos generalLa generalización menos general (least general generalization) de Plotkin se basa en la idea de que si dos cláusulas c 1 y c 2 son ciertas, la generalización más específica común a ambas Igg(c 1 c 2) será también cierta con bastante plausibilidad. Esto permite realizar generalizaciones de forma conservadora. A las técnicas de generalización a partir de los datos se las denomina también técnicas de búsqueda de abajo hacia arriba (bottom-up). La generalización relativa menos general (rigg) de dos cláusulas, es la generalización menos general de ambas, relativa a cierto conocimiento de base. La rigg es la técnica en que se basa el sistema

Page 23: Trabajo de Base de Datos Inteligentes

GOLEM. Normalmente, el número de literales de una rigg crece al menos de forma exponencial con el número de ejemplos existentes. Por ello,GOLEM utiliza restricciones que evitan la introducción de literales redundantes, aunque aún así el número de ellos suele ser grande. Existen sistemas que combinan técnicas de búsqueda de abajo hacia arriba (generalización menos general, como hace GOLEM) con técnicas de arriba hacia abajo (especialización por introducción de nuevos literales, como FOIL).b. Resolución inversaLa idea básica de la resolución inversa (inverse resolution) consiste en invertir la regla de resolución, de la inferencia deductiva, obteniendo así un método de generalización.Aplicada en lógica proposicional, la resolución establece que (silogísmo hipotético) dadas las premisas p v q y 9 v r, se deduce que p v r. En lógica de predicados de primer orden, la resolución requiere sustituciones de variables por valores de atributos. La resolución inversa utiliza un operador de generalización basado en invertir la sustitución.c. Búsqueda en grafos refinadosLa principal técnica de especialización en ILP es la búsqueda de arriba a abajo (topdown search) en grafos refinados (refinement graphs). Los sistemas que utilizan esta técnica, comienzan con la cláusula más general, a la que aplican especializaciones hasta que sólo cubra tuplas positivas.Se denominan grafos refinados porque las operaciones de especialización (refinado) que se realizan durante la búsqueda se pueden representar en un grafo acíclico y dirigido (fig. 10). En este grafo, cada nodo representa una cláusula (el nodo superior es la cláusula más general) y cada arco representa una operación de especialización (sustitución de una variable por una constante, o incremento de un nuevo literal en la cláusula en construcción). La búsqueda dentro de éste grafo suele ser heurística, debido a que se produce una explosión combinatoria en el conjunto de posibles especializaciones, que hace inabordable la búsqueda exhaustiva.d. Patrones de reglas.Se denominan patrones de reglas a un tipo especial de reglas en las que los predicados son variables. La búsqueda de reglas se realiza a partir de los patrones de reglas existentes, proporcionados por el usuario. Para cada patrón de regla se prueban todas las posibles combinaciones de predicados existentes y, cada una de las reglas así obtenidas, se evalúa con los datos de entrenamiento. Por ejemplo, con un patrón de reglas de la forma:

Page 24: Trabajo de Base de Datos Inteligentes

P(X) :- R(X,Y), Q(Y) se podría obtener, por ejemplo, la regla enfermo(X) hijo-de(X,Y), fumador(Y).e. CláusulasNormalmente el objetivo de los sistemas de ILP es la inducción de reglas que definan ciertos predicados. Estas reglas deberían ser lo suficientemente precisas como para poder reemplazar a los ejemplos de la base de datos y que éstos fueran deducidos a partir de las mismas. Pero puede considerarse un enfoque diferente, conocido comoILP no monótono, que consiste en la búsqueda de restricciones dentro de la base de datos.Estas restricciones pueden tener la forma de una cláusula en lógica de predicados de primer orden: padre-de(X,Y) v madre-de(X,Y) :- progenitor-de(X,Y) progenitor-de(X,Y) :- padre-de(X,Y) falso :- padre-de(X,Y), madre-de(X,Y)La última de ellas se interpreta como que una persona no puede ser a la vez padre y madre de otra. CONOCIMIENTO CON INCERTIDUMBRELa incertidumbre está asociada, de forma inseparable, con la información. Aunque existen diferentes formas de incertidumbre, cabe destacar la que se produce como consecuencia de la imprecisión y subjetividad propias de la actividad humana. En muchas ocasiones sacrificamos parte de la información precisa disponible por otra más vaga pero más robusta, lo que permite manejar de forma eficiente la complejidad asociada al mundo real.Muchos de los conceptos manejados habitualmente son, en sí mismos, vagos o borrosos, es decir, sus límites no están perfectamente determinados, y no por ello carecen de significación. La lógica borrosa y la teoría de conjuntos borrosos ofrecen un método natural para representar esa imprecisión y subjetividad humanas.El tratamiento de la incertidumbre es un rasgo típico de las aplicaciones en que se involucra la inteligencia artificial; aplicada al desarrollo de SGBD, la incertidumbre se centra en el tratamiento de dos indicadores fundamentales:• Datos inciertos o difusos.• Datos desconocidos o condicionales.Los primeros se caracterizan por formas verbales indeterminadas que representan rangos heurísticos de valor (alto, muy alto, a menudo, etc.); los segundos, denominados valores nulos. Ambos constituyen uno de los problemas teóricos más importantes en las bases de datos con el consecuente impacto en la construcción de aplicaciones. Motro propone clasificar la incertidumbre en diversos tipos: TRATAMIENTO DE LOS VALORES INCIERTOS

Page 25: Trabajo de Base de Datos Inteligentes

El tratamiento de los valores difusos en las BD relacionales implica la creación de un mecanismo capaz de expresar la incertidumbre en valores numéricos, para ello existen distintos algoritmos, la mayoría derivados de la lógica difusa (fuzzy logic), basada en laTeoría de Conjuntos Difusos, donde un elemento no necesariamente pertenece o no pertenece a un conjunto, sino que hay un continuo de “grados de pertenencia”. El grado de pertenencia a un conjunto(p), y puede tomar valores entre 0 y 1.Tan sólo describiremos aquéllas posibles asignaciones de valor operando sobre datos concretos, así las etiquetas lingüísticas aplicadas corresponden al dominio específico (columnas) que se trate por ejemplo:1. Escalar simple. Por ejemplo Aptitud=buena; representado mediante la distribución de posibilidad 1 /buena.2. Número simple. Por ejemplo Edad=28; representado mediante la distribución de posibilidad 1128.3. Conjunto de posibles asignaciones excluyentes de escalares. Por ejemplo Aptitud ={buena; mala}, expresado por {1 /mala; 1 /buena}.4. Conjunto de posibles asignaciones excluyentes de números. Por ejemplo Edad={20;21 }; representado mediante { 1/20; 1/21}.5. Distribución de posibilidad en el dominio de los escalares. Por ejemploAptitud={0.6/mala; 0. 7/regular}.6. Distribución de posibilidad en el dominio de los números. Por ejemploEdad={0.4/23;1.0124;0. 8/25}.7. Número real ∈[0,1] representando grados de cumplimiento. Por ejemploCalidad=0.9Adicionalmente se consideran los valores desconocidos, indefinidos o nulos, sin embargo, en nuestro estudio nos ocupamos de ellos mediante la lógica multievaluada que se expone en forma exhaustiva en objetivos posteriores.Evidentemente, el universo de los conjuntos difusos es amplio, nuestro estudio sólo recupera algunas de sus formas y técnicas básicas en virtud de que en el SGBD relacional, la implementación de un diccionario de datos en que se clasifiquen los estados de pertenencia restringiendo su forma verbal en una relación simple(opciones predefinidas), constituyen un modelo difusor universal, de esta forma, el usuario del sistema expresa un estado determinado como valor, y el sistema, tanto en el motor relaciona1 como el de inferencia, opera con el producto asociado.

Page 26: Trabajo de Base de Datos Inteligentes

Una vez que se asignen los valores asignados por lógica difusa a las tupias que corresponda, su tratamiento dependerán -en cada caso- del proceso que las requiera y serán operadas en forma convencional por el grado de pertenencia asociado. En su forma inversa, el difusor ataca directamente el contenido de los campos con una función de pertenencia (rango) y construye la base en intenso asignando etiquetas lingüísticas determinadas: BAJA, ALTA, URGENTE..., Por ejemplo:La estructura básica de un Sistema de Lógica Difusa se muestra en la figura 13. El sistema recibe varias entradas numéricas y entrega varias salidas numéricas. El bloqueDifusor se encarga de convertir las entradas en conjuntos difusos, que son entregados al bloque Máquina de Inferencia; este bloque, apoyado en un conjunto de reglas de la forma IF... THEN... , produce varios conjuntos difusos para que el bloque Compresor los tome y los convierta en etiquetas lingüísticas concretas.TRATAMIENTO DE LA INFORMACIÓN DESCONOCIDA O CONDICIONALSi bien los valores nulos (también se le denomina “valor ausente o condicional”) no son un concepto exclusivo del modelo relacional, ha sido en el contexto de este modelo donde se ha abordado su estudio de manera más sistemática y donde se están realizando más investigaciones a fin de formalizar su tratamiento. La necesidad de los“valores nulos” o “marcas” en bases de datos es evidente por diversas razones:- Crear tuplas con ciertos atributos desconocidos.- Añadir un nuevo atributo (columna) a una relación (tabla) existente; atributo que, en el momento de añadirse, no tendría ningún valor para las tuplas de la relación.

PROGRAMACIÓN DE UNA BDI

CONSIDERACIONES GENERALESComo hemos citado; dada la arquitectura propuesta, el proceso de inferencia constituye el nudo en la fase de intención del sistema, en este capítulo, abordaremos los principales indicadores que propicien dicho inferencia, tanto si el proceso se verifica mediante funciones del lenguaje anfitrión, como por un motor periférico. En principio, nos ocuparemos de detallar las partes en común.

LAS BASES DE DATOS PERSISTENTE E INTENSO

Page 27: Trabajo de Base de Datos Inteligentes

La creación y manipulación de la base de datos persistente, así como la base de datos en intenso, en el sistema propuesto, se efectúan a través de los diversos objetos predefinidos que Visual Basic incorpora, centraremos nuestro interés en los objetos RecordSet, Oatabase y los procedimientos para efectuar consultas a través de SQL. RECORDSETLlamaremos RecordSet (DynaSets, SnapShot, Tables y Query) a un conjunto de registros que cumplen una determinada condición y que pueden ser tratados como un conjunto de tuplas, tenemos diferentes tipos de RecordSet con distintas propiedades, estos se declaran como variables en el dominio del módulo o si es el caso como variables globales: SQL EN VISUAL BASICVisual Ba-sic es un lenguaje de programación de propósito general, con una gran potencia en toda su estructura. Su implementación en el sistema operativo Windows y sus herramientas visuales, han hecho de este lenguaje un líder indiscutible en lo que a desarrollo de aplicaciones se refiere. Con la versión 3.0. se implementó la gestión de bases de datos a muy alto nivel, pudiendo gestionar bases de datos de tipo Access,Paradox, dBASE, FoxPro, etc. Este paso de gigante ha hecho de Visual Basic uno de los lenguajes favoritos por los desarrolladores de aplicaciones de bases de datos.

ARCHIVOS BINARIOS

En el desarrollo de una base de datos inteligente, es común el uso de datos no persistentes, tratados como archivos binarios que se crean y destruyen según sea preciso en el desarrollo de la aplicación, generalmente concentran datos en estado intermedio útiles para procesos particulares de inferencia pero no necesarios de forma persistente. Aún cuando la mayoría del Hardware actual está provisto de RAM suficiente para tratar grandes' grupos de datos mediante arreglos, éstos generan pérdida de eficiencia en un contexto general, por ello, la mejor opción es el uso de archivos binarios temporales, grabados en disco a cuyos datos se accede cuando es necesario, consideremos el siguiente ejemplo, con las características básicas (buscar, eliminar, editar, agregar):

MANIPULACIÓN DE LA BASE DE DATOS EN INTENSODependiendo del proceso de inferencia utilizado (Funciones del lenguaje anfitrión o un motor de inferencia periférico), la manipulación de la bases en intenso será:

A) La base de datos en intenso esta constituida por un archivo temporal plano.

Dicha base, se crea y destruye según sea preciso en las operaciones generales del sistema, las operaciones sobre ésta las efectúa un archivo binario (file.xpl) compilado en Prolog. La temporalidad de este archivo obedece

Page 28: Trabajo de Base de Datos Inteligentes

a que el motor debe procesar bases de conocimiento distintas en el marco de procesos de inferencia determinados.En las siguientes líneas definiremos las principales funciones con que opera el motor de inferencia de Prolog sobre la base, para atender los requerimientos del sistema, evidentemente el estudio exhaustivo del lenguaje Prolog rebasa el propósito de ésta tesis, por lo que nos ocuparemos exclusivamente de los temas directamente relacionados con nuestro estudio:1. Representación del conocimiento en la base en intenso: Redes semánticas.2. Métodos de resolución: Top Down, Bottom Up.3. Técnicas de búsqueda: Depth First, Breadth First.4. Modelos heurísticos: Hipotético, Deductivo.1. Representación del conocimiento en la base en intenso: Redes semánticas.Quizás lo más simple de los sistemas de representación proporcional es la presunción de que los conceptos están debidamente representados como un conjunto de atributos y rasgos semánticos. Esta forma de representación es una aplicación muy natural del lenguaje de la teoría de conjuntos para el problema de como caracterizar la naturaleza de los conceptos. En este punto de vista han existido variaciones en el estudio de la memoria semántica y también sobre presunciones relacionadas con la descripción de la representación del conocimiento. De acuerdo con estos puntos de vista, los conceptos están representados por un aumentado conjunto de rasgos. De esta forma los conceptos pueden permanecer en un conjunto de relaciones familiares. Dos conceptos pueden estar:• Desligados (no tener atributos en común);• Sobrepuestos (tener algunos pero no todos los atributos en común);• Anidados (todos los atributos de un concepto están incluidos en el otro);• Ser idénticos (estar especificados en forma exacta por el mismo conjunto de rasgos).Los rasgos pueden tener pesos asociados y relacionados con ellos que representan una prominencia variada y características importantes para los conceptos en cuestión.Como una especie de revisión de todas las aplicaciones de estas ideas expuestas aquí, elegimos para describir "la comparación del rasgo" el modelo propuesto por Smith .2. Formas o Atributos SemánticosLa representación semántica es considerada la más natural, acreditan la relación de los atributos con los elementos por medio de estamentos naturales. Veamos un ejemplo que describe lo más completo posible este tipo de representación:Un animal come alimento, respira aire, tiene masa y está formado por miembros; ahora una persona es del tipo animal, el cual "hereda" todas las características antes descritasdel animal. Así también tenemos la posibilidad de detallar más sus cualidades como que tiene en sus partes piernas y brazos.

Page 29: Trabajo de Base de Datos Inteligentes

La representación semántica denomina a los símbolos como "nodos" o nudos de una malla de conceptos jerarquizados y bien establecidos con sus relaciones. La red descrita en la figura siguiente determinada con lazos constituidos en (a,R,b), el cual "a"y "b" son los nodos que permanecen enlazados a través de la relación "R" , las flechas muestran el sentido de la relación, sin poseer un carácter recíproco.

PROGRAMACIÓN LÓGICA PARALELA (MOTOR RELACIONAL- MOTOR DE INFERENCIA)

Como podemos apreciar en los ejemplos citados con anterioridad, la base en intenso es, generalmente, una estructura simple, donde se evalúa a sus miembros en función de su peso o áridad; resulta evidente que el repositorio de reglas constituye el eje fundamental del proceso de inferencia. Este repositorio, para los efectos de nuestro estudio, se concentra en funciones ad hoc desarrolladas en el lenguaje anfitrión (Visual Basic) y en archivos binarios (.xpl) compilados por y para el motor de inferencia huésped Amzi4 Prolog.En el primero de los casos se utilizan bloques de sentencias IF THEN ELSE inscritos en ciclos predefinidos (p.ej. fuzzy) y los datos en intenso provienen de objetos Recordset, propios del programa de aplicación. En el segundo, el motor de inferencia consulta un repositorio de reglas predefinido y opera sobre archivos temporales (Base de datos en intenso).En las siguientes líneas nos ocuparemos ponderantemente de este caso; es conveniente destacar que los “arcos” o relaciones descritas con anterioridad, serán sustituidos por expresiones capaces de derivar relaciones semánticas complejas (herencia de elementos de clase), no definidas explícitamente en la base en intenso por ejemplo, dada una estructura de base simple (toda persona tiene un nombre y un sexo): persona(nombre, sexo).donde: persona( Carlos, M), persona(Sofía,F),Aplicando la expresión: hombre:-(persona(x,M). mujer:-(persona(x,F).Tenemos:De esta forma, en el repositorio de reglas (logic.xpl) podemos concentrar múltiples relaciones semánticas complejas, para atacar el conjunto de necesidades del sistema, así como integrar restricciones de integridad a la base en intenso.El motor de inferencia opera sobre una base de datos en intenso en función de un repositorio de reglas dado; todas las acciones del motor responden a eventos predefinidos que se disparan desde la aplicación, en este proceso - como se ha descrito anteriormente - interviene una secuencia ordenada de pasos, desde la selección de los datos objetivo hasta los productos del proceso de inferencia. Así, el flujo y procesamiento de datos está regulado por el programa de aplicación, éste genera la base en intenso, inicializa el motor de inferencia y a través de él consulta la base citada. Todas los ejemplos en que interviene el motor de Proiog tienen la misma base, así que sólo nos

Page 30: Trabajo de Base de Datos Inteligentes

ocuparemos de describir el proceso de `búsqueda funcional' tomando como referencia uno de los ejemplos clásicos de la Programación Lógica, ocupándonos de sus aspectos principales;

ESTADO DEL ARTE

ANÁLISIS INTELIGENTE DE DATOS

Resulta difícil clasificar las herramientas (que superan ampliamente el centenar) que pueden servir para la explotación inteligente de los almacenes de datos, pero en una primera aproximación podríamos distinguir las siguientes categorías:• Interfaces de consulta “ad hoc” existentes en el entorno de bases de datos (QMF,QBE,etc.) y lenguaje SQL.• Hojas de cálculo, que empiezan a soportar también varias dimensiones en el • tratamiento de datos.• Generadores de informes.• Herramientas de visualización de datos.• Entornos de soporte a la toma de decisiones (EIS/DSS).• Paquetes de análisis estadístico (SAS, SPSS, ...).• Herramientas OLAP.• Aplicaciones de “minería” de datos sofisticadas, basadas en técnicas de Inteligencia Artificial.Estas herramientas se caracterizan, por tanto, por:- Acceder a una gran cantidad de datos (varios años de ventas).- Analizar las entre diferentes elementos de negocio.- Involucrar datos agregados.- Comparar datos agregados en periodos de tiempo jerárquicos (días, meses, años, etc.).

DESAFÍOS EN LA EXPLOTACIÓN INTELIGENTE DE DATOS

La tecnología de explotación de datos ha avanzado mucho en los últimos años, pero todavía se enfrenta a numerosos retos por resolver, que son objeto de discusión en numerosas conferencias y publicaciones especializadas, donde destacan los siguientes:- Mecanismos de explicación limitados, ya que las herramientas no siempre son capaces de explicar al usuario cómo han llegado a los datos.- Formatos de entrada de datos limitados, por ejemplo, no ofrecen posibilidad de manipular gráficos, textos, fórmulas matemáticas, etc.- Técnicas de validación limitadas, incapacidad de realizar validaciones cruzadas.- Gran consumo de recursos.

Page 31: Trabajo de Base de Datos Inteligentes

- Soporte limitado a ciertas plataformas, formatos, tamaños, etc.- Manejo de diferentes tipos de datos; se deberían construir sistemas capaces de explotar los datos no sólo en bases de datos relacionales, sino también espaciales (geográficas), multimedia, etc.

CONCLUSIONES

La confluencia de tecnologías, y en especial de tecnologías de información, ha abierto nuevas avenidas para el desarrollo de sistemas cuyas capacidades conjugan la funcionalidad de tecnologías individuales en un todo cohesivo, sinérgico, destinadas al mejoramiento del desempeño del sistema dentro del contexto en el cuál se opera. Un Sistema Inteligente para la administración de bases de datos relacionales combina las funcionalidades y facilidades típicamente encontradas en los sistemas para el soporte de decisiones con técnicas propias de la Inteligencia Artificial y los Sistemas Expertos para la creación de sistemas complejos que permitan la toma de decisiones en una forma más acertada, informada e inteligente.

En varios dominios el uso de estructuras lógicas dinámicas aplicadas a la manipulación e interpretación del contenido de una base de datos tiene múltiples ventajas, la principal de ellas se centra en la búsqueda de soluciones en un dominio particular donde el uso de SQL resulta insuficiente. Garantiza que las conclusiones que se derivan de las premisas iníciales son correctas, en función de las reglas de manipulación sintáctica que hayan sido definidas. Pueden ser utilizadas para analizar el conocimiento y para aplicar el razonamiento deductivo sobre dicho conocimiento. Es flexible, ya que permite representar, en forma sencilla, los hechos sin importar para qué son utilizados. Es modular, nuevos hachos pueden ser agregados a la base de conocimiento en forma independiente, sin afectar los tipos de deducción que se pueden hacer.

Page 32: Trabajo de Base de Datos Inteligentes

REFERENCIAS BIBLIOGRÁFICAS

http://www.fi.upm.es/?pagina=627

http://trueliesmagazine.blogspot.com/2007/05/base-de-datos-inteligentes.html

http://161.67.140.29/iecom/index.php/IECom/article/viewFile/46/40

http://servicios-informatica.vivavisos.com.ar/servicios-computacionales+vicente-lopez/e-bases---bases-de-datos-inteligentes/18504283

http://www.tecnologicocomfenalco.edu.co/iacademica/sistemas/Isis/docs/publicaciones/SABIA.pdf

http://www.plataformasinc.es/index.php/Noticias/El-CIS-desarrolla-una-base-de-datos-inteligente-sobre-los-ultimos-40-anos-de-la-historia-de-Espana

http://laboratorios.fi.uba.ar/lsi/p-felgaer-proyectodetesis.htm

http://www.adoos.com.ar/post/9116933/base_de_datos_base_de_mails_bases_inteligentes

http://www.une.edu.ve/~achrysos/Computacion_II/UnidadIX.pdf

http://www.viainformatica.info/blog/libros-de-ingenieria-de-sistemas-bases-de-datos-inteligentes

http://www.directindustry.es/prod/addi-data/sistema-de-adquisicion-de-datos-inteligente-para-la-medicion-de-la-temperatura-7339-413419.html

http://www.monografias.com/trabajos16/sistemas-expertos/sistemas-expertos.shtml

http://personales.unican.es/gutierjm/papers/BookCGH.pdf