2. Introducción
El Problema
Objetivos
Justificación
Marco Teórico
Metodología
Resultados
Conclusiones
3. Agenda
• Introducción
• El Problema
• Objetivos
• Justificación
• Marco Teórico
• Metodología
• Resultados
• Conclusiones
4. Agenda
• Introducción
• El Problema
• Objetivos
Un objeto de
• Justificación
1500Kg se
• Marco Teórico
aproxima a tu
• Metodología cabeza a 50Km/s ¡CUIDADO!
• Resultados
• Conclusiones
5. Cuantificación Lingüística:
“Un hotel que satisface la mayoría de los
Agenda siguientes criterios: no muy caro, cercano al
• Introducción centro de convenciones, cercano a una estación
• El Problema del metro, con piscina, con buenas áreas de
• Objetivos recreación, cercano a un centro comercial”
• Justificación
• Marco Teórico “Los pacientes que presenten la mayoría de los
• Metodología síntomas: fiebre alta, tensión baja, tos grave”
• Resultados “Los empleados tengan al menos 2 de las
Conclusiones
•
siguientes características: ser buen
trabajador, mal pagado y vivir lejos”
6. Consulta Clásica
Agenda "Un hotel que no cuesta más de Bs. 500
• Introducción
por día, con piscina y a no más de 5 Km de
• El Problema distancia del centro de convenciones, del
• Objetivos metro y de un centro comercial ".
• Justificación
• Marco Teórico
• En SQL:
Metodología
SELECT * FROM HOTELS
•
• Resultados
• Conclusiones WHERE price < 500
AND distance_conference < 5
AND distance_sub < 5
AND distance_mall < 5
AND pool=true
7. Requerimientos que impliquen términos
como “la mayoría” o “aproximadamente
Agenda
4” no pueden ser expresados por medio
• Introducción de lenguajes de consultas, basados en el
• El Problema paradigma relacional.
• Objetivos
• Justificación
• Marco Teórico Los requerimientos del usuario deben
• Metodología ser expresados de forma precisa.
• Resultados
• Conclusiones
Los Sistemas Clásicos de Manipulación
de Bases de Datos no permiten expresar
requerimientos graduales.
8. Aplicaciones a nivel de capa lógica
resuelven el problema, pero sus costos
Agenda computacionales son muy elevados.
• Introducción
• El Problema
• Objetivos
• Justificación
• Marco Teórico
• Metodología
• Resultados
• Conclusiones
9. Objetivo General
Desarrollar un sistema que permita hacer
Agenda
consultas de tipo flexible haciendo uso de
• Introducción
• El Problema cuantificadores difusos en un Sistema Gestor
• Objetivos de bases de Datos Relacionales (SGBDR).
• Justificación
• Marco Teórico
• Metodología Requerimientos:
Resultados
Deberá acoplarse de manera fuerte con el
•
• Conclusiones
SGBDR PostgreSQL
Debe brindar mecanismos que puedan
ayudar de cierta forma a manejar la
imprecisión del lenguaje natural.
10. Objetivos Específicos
Agenda
• Introducción
Estudiar el uso de los diferentes tipos de
• El Problema Cuantificadores difusos, así como su
• Objetivos interpretación en consultas cuantificadas.
• Justificación
• Marco Teórico
• Metodología Analizar la infraestructura del SGBDR
Resultados
•
• Conclusiones
PostgreSQL con la finalidad de poder
determinar las diferentes áreas que se deben
modificar para la implementación de
PostgreSQLf.
11. Objetivos Específicos
Agenda
• Introducción Implementar la funcionalidad de creación y
• El Problema evaluación de Cuantificadores difusos.
• Objetivos
• Justificación
• Marco Teórico Integrar la implementación de
Metodología
•
• Resultados
Cuantificadores Difusos con el resto de
• Conclusiones PostgreSQLf.
Evaluar el desempeño de PostgreSQLf en
términos de eficiencia y funcionalidad de
los cuantificadores difusos.
12. Mecanismos de calidad para accesos a datos:
Agenda ◦ Mejorar la expresividad del lenguaje mediante el uso
de cuantificadores lingüísticos.
• Introducción
• El Problema
• Objetivos ◦ Flexibilizar el acceso a la información.
• Justificación
• Marco Teórico
La resistencia al uso por su costo
Metodología
computacional.
•
• Resultados
• Conclusiones
Aplicabilidad en áreas reales.
Desarrollo en el marco de transferencia
tecnológica.
13. Trabajos Relacionados:
SQLf: A Relational Database Language for Fuzzy
Agenda Querying. (Bosc, P., & Pivert, O. (1995)).
• Introducción
• El Problema
• Objetivos Interrogaciones Flexibles en Bases de Datos
• Justificación Relacionales. (Tineo, L. (1998)).
• Marco Teórico
• Metodología
• Resultados Una Contribución a la Interrogación Flexible de
• Conclusiones Bases de Datos: Evaluación de Consultas
Cuantificadas Difusas. (Tineo, L. (2005)).
Reingeniería del Sistema de Consultas Difusas a
Bases de Datos SQLfi. (Crespo, V. (2006)).
14. Trabajos Relacionados:
Una Contribución a la Interrogación Flexible de
Agenda Bases de Datos: Optimización y Evaluación a
• Introducción
• El Problema
Nivel Físico. (Cadenas, J. (2006)).
• Objetivos
• Justificación PostgreSQLf: Sistema de Consultas Flexibles
• Marco Teórico
Fuertemente Acoplado con el SGBD PostgreSQL.
• Metodología
• Resultados (Rossodivita, A.).
• Conclusiones
PostgreSQLf: Implementación de Extensiones
Difusas de manera Fuertemente Acoplada sobre
el RDBMS PostgreSQLf. (Bracho, A.).
15. Trabajos Relacionados:
Implementación de Primitivas SQL para Reglas de
Agenda
Asociación en una Arquitectura Fuertemente
• Introducción
• El Problema
Acoplada.(Timarán, R.(2005)).
• Objetivos
Justificación
•
RT-PostgreSQL: extensión de PostgreSQL para el
• Marco Teórico
• Metodología
manejo de datos con Frecuencias Temporales en
• Resultados base a una Arquitectura Fuertemente Acoplada.
• Conclusiones (García, L. (2008)).
On Extending PostgreSQL with the Skyline
Operator. (Reinhard, P. (2009)).
16. Trabajo Elaborado por: Implementación
Una Contribución a la Interrogación José T. Cadenas Predicados difusos por trapecio,
Flexible de Bases de Datos: Tesis de Maestría operador AND.
Optimización y Evaluación a Nivel
Físico, Universidad Simón Bolívar,
Diciembre (2006).
PostgreSQLf: Sistema de Consultas Arturo Rossodivita Predicados difusos por Expresión y
Flexibles Fuertemente Acoplado con Extensión, operador OR,
el SGBD PostgreSQL modificadores difusos.
PostgreSQLf: Implementación de Armando Bracho Consultas particionadas GROUP BY,
Extensiones Difusas de manera HAVING, UPDATE vistas, y
Fuertemente Acoplada sobre el operación de unión difusa.
RDBMS PostgreSQL,
PostgreSQLf: Implementación de Gustavo Bazán Consultas con Cuantificación
Cuantificadores Difusos Difusa.
Sobre el SGBD PostgreSQL
Operaciones conjuntistas, sub Rodolfo Vegas Comparadores, operaciones
consultas difusas y comparadores Trabajo de investigación y desarrollo conjuntistas y sub consultas difusas
difusos para PostgreSQLf en el FROM.
17. Basado en el concepto matemático
Agenda de relación.
•
•
Introducción
El Problema
Lenguajes de consultas para la
• Objetivos manipulación de los datos:
• Justificación
• Marco Teórico ◦ Procedimentales como el álgebra
• Metodología relacional.
• Resultados
• Conclusiones ◦ No procedimentales como el SQL
(Structured Query Language) o
lenguaje de consulta estructurado.
18. Conjuntos difusos
Gradualidad de membrecía
Agenda Función en el intervalo [0,1]
• Introducción
• El Problema Representación Trapezoidal
• Objetivos
• Justificación
1
• Marco Teórico
• Metodología
• Resultados
• Conclusiones
0
x1 x2 x3 x4
x1 , x 2 , x 3 , x 4
A
19. Booleana: Existe (∃) y Para Todo
Agenda (∀).
•
•
Introducción
El Problema
Difusa: “la mayoría de”, “pocos
• Objetivos de”, “aproximadamente la mitad
de”, “aproximadamente
• Justificación
• Marco Teórico
•
•
Metodología
Resultados
cinco”, “cerca de 3”.
• Conclusiones Se clasifican según su
interpretación.
20. Por su naturaleza
Cuantificador Absoluto o Relativo
Agenda
• Introducción Por su Comportamiento
• El Problema Cuantificador Creciente, Decreciente o Unimodal
• Objetivos
• Justificación Absolutos Relativos
• Marco Teórico
1 1
• Metodología
• Resultados
Creciente
• Conclusiones 0 0
0 2 4 6 8 0 0.25 0.5 0.75 1
1 1
Decreciente
0 0
0 2 4 6 8 0 0.25 0.5 0.75 1
1 1
Unimodales
0 0
0 1 2 3 4 5 6 7 0 0.25 0.5 0.75 1
21. Consultas flexibles sobre Bases de Datos
Relacionales.
Agenda
• Introducción Basado en la Teoría de Conjuntos
• El Problema Difusos.
• Objetivos
• Justificación CREATE [ABSOLUTE/RELATIVE]
• Marco Teórico QUANTIFIER <nombre> AS <cjto
Metodología
difuso>
•
• Resultados
• Conclusiones SELECT <atributos>
FROM <tablas>
WHERE <condición difusa>
Cuantificación: Q (fc1, fc2, …, fcn)
22. Reducir el número de filas consultadas
por cada operación.
Agenda
• Introducción Emplea la relación entre condiciones
• El Problema difusas y booleanas.
• Objetivos
• Justificación Transformaciones lógicas.
•
•
Marco Teórico
Metodología
Conseguir las mismas filas con una
• Resultados consulta clásica que con una difusa.
• Conclusiones
23. SGDB de Código Abierto
Agenda
• Introducción
• El Problema
• Objetivos
• Justificación
• Marco Teórico
• Metodología
• Resultados
• Conclusiones
24. Backend de Postgres
Agenda
• Introducción
• El Problema
• Objetivos
• Justificación
• Marco Teórico
• Metodología
• Resultados
• Conclusiones
25. Cascada
Agenda
• Introducción
• El Problema
• Objetivos
• Justificación
• Marco Teórico
• Metodología
• Resultados
• Conclusiones
26. Fase de Análisis
Agenda
• Introducción
El reconocimiento del problema implicó:
• El Problema
• Objetivos
• Justificación ◦ Estudio del sistema de consultas flexibles
• Marco Teórico SQLf.
• Metodología
• Resultados
• Conclusiones ◦ Uso de Cuantificación difusa para SQLf.
◦ Estudio del diseño y estructura de PostgreSQL.
27. Fase de Diseño
Requerimientos:
Agenda
◦ CREATE [ABSOLUTE/RELATIVE] QUANTIFIER <nombre> AS
• Introducción
<conj>
• El Problema
◦ SELECT Att FROM R WHERE Q(fc1, fc2, …, fcn)
• Objetivos
• Justificación
• Marco Teórico
• Metodología
• Resultados
• Conclusiones
28. Fase de Implementación
Agenda Catálogo
• Introducción ◦ Almacenamiento de los cuantificadores
• El Problema ◦ Tabla del sistema pg_fuzzyquan.
• Objetivos
• Justificación
◦ Manejo del catalogo.
• Marco Teórico
• Metodología
• Resultados
• Conclusiones
29. Fase de Implementación
Agenda Parser
• Introducción ◦ Nuevos Nodos
• El Problema CreateFuzzyQuanStmt
• Objetivos
A_FuzzyQuan
• Justificación
• Marco Teórico ◦ Nueva semántica para la creación de
• Metodología cuantificadores difusos (gram.y)
Resultados
•
◦ Interceptar una consulta cuantificada
• Conclusiones
Validar exista el cuantificador
Generar un árbol de consulta difuso
Derivar el árbol difuso a un árbol clásico.
30. Fase de Implementación
Agenda Parser
• Introducción ◦ Árbol de consulta Difuso
• El Problema
Select
• Objetivos
• Justificación
• Marco Teórico
• Metodología
• Resultados Atributos Tablas Where
• Conclusiones
Cuantificador Difuso
Predicado difuso Predicado difuso
32. Fase de Implementación
Parser
Agenda
◦ Derivación de una consulta difusa
• Introducción
• El Problema SELECT Att FROM R WHERE OR AND DNC fc i , , t
• Objetivos I comb n , lb i I
• Justificación Select
• Marco Teórico
• Metodología
• Resultados Atributos Tablas Where
• Conclusiones
OR
AND AND
Condición Condición
derivada derivada …
33. Fase de Implementación
Parser
Agenda
◦ Consulta derivada
• Introducción
• El Problema BoolExpr BoolExpr
OpExpr
• Objetivos OR AND
Opno… A_FuzzyPred
Var
• Justificación args args
args …
…
• Marco Teórico
• Metodología OpExpr
Var A_FuzzyPred
• Resultados Opno…
…
…
• Conclusiones BoolExpr
args
AND Var A_FuzzyPred
OpExpr
args …
Opno… …
args
OpExpr Var A_FuzzyPred
Opno…
…
… …
args
34. Fase de Implementación
Traffic Cop (Tcop)
Agenda
◦ Manejo de la expresión simple para crear cuantificadores.
• Introducción
• El Problema
• Objetivos
• Justificación
• Marco Teórico
• Metodología
• Resultados
• Conclusiones
Planner/Optimizer
◦ Mantener la información de los valores de cada
cuantificador difuso y sus predicados.
35. Fase de Implementación
Executor
Agenda
◦ Calculo del grado de membrecía.
• Introducción
• El Problema
• Objetivos
• Justificación
• Marco Teórico
• Metodología
• Resultados
• Conclusiones
36. Fase de Integración
Agenda Integrar con el resto de las
• Introducción funcionalidades de PostgreSQLf
• El Problema
• Objetivos
•
•
Justificación
Marco Teórico
Fase de Pruebas
• Metodología Pruebas de funcionalidad y rendimiento
• Resultados
• Conclusiones
37. Pruebas Funcionales
Uso de la base de datos lab_marcha, facilitada por el
Agenda Laboratorio De Marcha Del Hospital Ortopédico
• Introducción
Infantil.
• El Problema
• Objetivos
• Justificación Creación de Cuantificadores Difusos
• Marco Teórico
• Metodología lab_marcha=# CREATE ABSOLUTE QUANTIFIER al_menos3
AS (1.0, 3.0, infinite, infinite);
• Resultados CREATE FUZZY QUANTIFIER
• Conclusiones lab_marcha=#
lab_marcha=# CREATE RELATIVE QUANTIFIER aprox_la_mitad
AS (0.25, 0.5, 0.5, 0.75);
CREATE FUZZY QUANTIFIER
lab_marcha=#
39. Pruebas Funcionales
Selección de datos
Agenda
Se desea conocer la edad, talla y peso de los pacientes que
• Introducción
cumplan con la mayoría de las siguientes condiciones: ser
• El Problema viejo, alto y gordo.
• Objetivos
lab_marcha=# SELECT edad, talla, peso
• Justificación FROM estudio
• Marco Teórico WHERE la_mayoria(edad=viejo, talla=alto, peso=gordo);
• Metodología edad | talla | peso | Gr.Memb.
------+-------+-------+----------
• Resultados 52 | 1.66 | 85.6 | 0.56
• Conclusiones 57 | 195.5 | 110.7 | 0.85
57 | 195.5 | 110.2 | 0.85
57 | 195.5 | 109.8 | 0.85
57 | 195.5 | 109.8 | 0.85
57 | 195.5 | 109.6 | 0.85
57 | 195.5 | 110 | 0.85
57 | 195.5 | 110.3 | 0.85
57 | 195.5 | 110.3 | 0.85
57 | 195.5 | 110.1 | 0.85
57 | 195.5 | 110.1 | 0.85
51 | 1.81 | 94 | 0.55
(12 rows)
lab_marcha=#
40. Pruebas de Rendimiento
Verificar si el uso de cuantificadores afecta el
Agenda
• Introducción
tiempo de una consulta con respecto a una
• El Problema clásica equivalente.
• Objetivos Herramienta TPC-H.
• Justificación
• Marco Teórico
Dos volúmenes de datos (1 y 5 GB).
• Metodología Variación el número de predicados a cuantificar
• Resultados (2 o 4 predicados).
• Conclusiones
Análisis de Varianza (ANOVA) para varios
factores.
72 pruebas variando los distintos factores.
41. Pruebas de Rendimiento
Tabla ANOVA
Agenda
• Introducción Factor Df Sum Sq Mean Sq F value Pr(>F)
• El Problema TIPO 2 9377784 4688892 0.3361 0.7159
• Objetivos NUMERO 1 2377027462 2377027462 170.3782 < 2.2e-16 ***
• Justificación VOLUMEN 1 5101153794 5101153794 365.6354 < 2.2e-16 ***
• Marco Teórico TIPO:NUMERO 2 244581 122291 0.0088 0.9913
• Metodología TIPO:VOLUMEN 2 21411603 10705802 0.7674 0.4687
• Resultados NUMERO:VOLUMEN 1 1568508521 1568508521 112.4260 2.222e-15 ***
• Conclusiones TIPO:NUMERO:VOLUMEN 1 3316498 1658249 0.1189 0.8881
Residuals 60 837088575 13951476
43. Trabajo Realizado
Agenda
• Introducción Implementación de la estrategia del
• El Problema
programa derivado para cuantificación
• Objetivos
• Justificación difusa sobre el kernel de PostgreSQL.
• Marco Teórico
• Metodología
• Resultados Nuevas herramientas que faciliten la
• Conclusiones
obtención de información sobre
PostgreSQL.
Sencillez para realizar
consultas, lenguaje mas natural.
44. Aportes
Agenda
• Introducción
PostgreSQLf, una alternativa para
• El Problema
• Objetivos cuantificación basada en lógica difusa.
• Justificación
• Marco Teórico
• Metodología Una guía de referencia para futuras
•
•
Resultados
Conclusiones
extensiones sobre PostgreSQL.
Pruebas estadísticas de la mejoras de
tiempo al implementar de manera
fuertemente acoplada.
45. Recomendaciones
Agenda
• Introducción
Implementación del resto de las
• El Problema
• Objetivos características de SQLf sobre
• Justificación PostgreSQLf.
• Marco Teórico
• Metodología
•
•
Resultados
Conclusiones
Revisión de la estructura y código final
de PostgreSQLf.
Fomentar desarrollos que ayuden a la
independencia tecnológica.