Documente Academic
Documente Profesional
Documente Cultură
0
1
x1 x2 x3 x4
Conjuntos difusos
Gradualidad de membreca
Funcin en el intervalo [0,1]
Representacin Trapezoidal
Booleana: Existe () y Para Todo
().
Difusa: la mayora de, pocos de,
aproximadamente la mitad de,
aproximadamente cinco, cerca
de 3.
Se clasifican segn su
interpretacin.
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Por su naturaleza
Cuantificador Absoluto o Relativo
Por su Comportamiento
Cuantificador Creciente, Decreciente o Unimodal
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
0
1
0 2 4 6 8
0
1
0 0.25 0.5 0.75 1
0
1
0 2 4 6 8
0
1
0 0.25 0.5 0.75 1
0
1
0 1 2 3 4 5 6 7
0
1
0 0.25 0.5 0.75 1
Absolutos Relativos
Creciente
Decreciente
Unimodales
Consultas flexibles sobre Bases de Datos
Relacionales.
Basado en la Teora de Conjuntos
Difusos.
CREATE [ABSOLUTE/RELATIVE]
QUANTIFIER <nombre> AS <cjto
difuso>
SELECT <atributos>
FROM <tablas>
WHERE <condicin difusa>
Cuantificacin: Q (fc
1
, fc
2
, , fc
n
)
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Reducir el nmero de filas consultadas
por cada operacin.
Emplea la relacin entre condiciones
difusas y booleanas.
Transformaciones lgicas.
Conseguir las mismas filas con una
consulta clsica que con una difusa.
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
SGDB de Cdigo Abierto
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Backend de Postgres
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Cascada
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Fase de Anlisis
El reconocimiento del problema implic:
Estudio del sistema de consultas flexibles
SQLf.
Uso de Cuantificacin difusa para SQLf.
Estudio del diseo y estructura de PostgreSQL.
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Fase de Diseo
Requerimientos:
CREATE [ABSOLUTE/RELATIVE] QUANTIFIER <nombre> AS
<conj>
SELECT Att FROM R WHERE Q(fc
1
, fc
2
, , fc
n
)
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Fase de Implementacin
Catlogo
Almacenamiento de los cuantificadores
Tabla del sistema pg_fuzzyquan.
Manejo del catalogo.
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Fase de Implementacin
Parser
Nuevos Nodos
CreateFuzzyQuanStmt
A_FuzzyQuan
Nueva semntica para la creacin de
cuantificadores difusos (gram.y)
Interceptar una consulta cuantificada
Validar exista el cuantificador
Generar un rbol de consulta difuso
Derivar el rbol difuso a un rbol clsico.
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Fase de Implementacin
Parser
rbol de consulta Difuso
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Select
Tablas Atributos Where
Cuantificador Difuso
Predicado difuso Predicado difuso
Fase de Implementacin
Parser
Consulta difusa
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
SelectStmt
unionall: false
unique
whereClause
fromClause
groupClause
havingClause
targetList
sortClause
ResTarget
val
empleado
attr
Attr
relname
id_num
Value
val.str
RangeVar
name
relExpr
empleado
A_FuzzyQuan
Predname:
al_menos3
Core1: 3
Minfp: 1
Core2: 0
Maxfp: 0
Typefp: 3
Typefq: 1
args
A_FuzzyPred
Predname: alto
Core1: 300
Minfp: 100
Core2: 0
Maxfp: 0
Typefp: 3
Begd: 0
Begd: 300
Fase de Implementacin
Parser
Derivacin de una consulta difusa
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
( )
( )
|
|
.
|
\
|
>
e e
t fc DNC WHERE R FROM Att SELECT
i
I i lb n comb I
AND OR
, ,
,
Select
Tablas Atributos Where
OR
AND
AND
Condicin
derivada
Condicin
derivada
Fase de Implementacin
Parser
Consulta derivada
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
BoolExpr
OR
args
OpExpr
Opno
args
BoolExpr
AND
args
BoolExpr
AND
args
OpExpr
Opno
args
OpExpr
Opno
args
OpExpr
Opno
args
Var
A_FuzzyPred
Var
A_FuzzyPred
Var
A_FuzzyPred
Var
A_FuzzyPred
Fase de Implementacin
Traffic Cop (Tcop)
Manejo de la expresin simple para crear cuantificadores.
Planner/Optimizer
Mantener la informacin de los valores de cada
cuantificador difuso y sus predicados.
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Fase de Implementacin
Executor
Calculo del grado de membreca.
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Fase de Integracin
Integrar con el resto de las
funcionalidades de PostgreSQLf
Fase de Pruebas
Pruebas de funcionalidad y rendimiento
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Pruebas Funcionales
Uso de la base de datos lab_marcha, facilitada por el
Laboratorio De Marcha Del Hospital Ortopdico
Infantil.
Creacin de Cuantificadores Difusos
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
lab_marcha=# CREATE ABSOLUTE QUANTIFIER al_menos3
AS (1.0, 3.0, infinite, infinite);
CREATE FUZZY QUANTIFIER
lab_marcha=#
lab_marcha=# CREATE RELATIVE QUANTIFIER aprox_la_mitad
AS (0.25, 0.5, 0.5, 0.75);
CREATE FUZZY QUANTIFIER
lab_marcha=#
Pruebas Funcionales
Validacin del catlogo
lab_marcha=# SELECT * FROM pg_fuzzyquan;
quanname | quanminfp | quancore1 | quancore2 | quanmaxfp | quantypefp | quantypefq
----------------+-----------+-----------+-----------+-----------+------------+------------
al_menos3 | 1.0 | 3.0 | 0.0 | 0.0 | 3 | 1
a_lo_sumo_2 | 0.0 | 0.0 | 2.0 | 3.0 | 2 | 1
aprox_5 | 3.0 | 4.0 | 6.0 | 7.0 | 1 | 1
la_mayoria | 0.5 | 0.75 | 1.0 | 1.0 | 3 | 2
la_minoria | 0.0 | 0.0 | 0.25 | 0.5 | 2 | 2
aprox_la_mitad | 0.25 | 0.5 | 0.5 | 0.75 | 1 | 2
(6 rows)
lab_marcha=#
Pruebas Funcionales
Seleccin de datos
Se desea conocer la edad, talla y peso de los pacientes que
cumplan con la mayora de las siguientes condiciones: ser
viejo, alto y gordo.
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
lab_marcha=# SELECT edad, talla, peso
FROM estudio
WHERE la_mayoria(edad=viejo, talla=alto, peso=gordo);
edad | talla | peso | Gr.Memb.
------+-------+-------+----------
52 | 1.66 | 85.6 | 0.56
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=#
Pruebas de Rendimiento
Verificar si el uso de cuantificadores afecta el
tiempo de una consulta con respecto a una
clsica equivalente.
Herramienta TPC-H.
Dos volmenes de datos (1 y 5 GB).
Variacin el nmero de predicados a cuantificar
(2 o 4 predicados).
Anlisis de Varianza (ANOVA) para varios
factores.
72 pruebas variando los distintos factores.
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Pruebas de Rendimiento
Tabla ANOVA
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Factor Df Sum Sq Mean Sq F value Pr(>F)
TIPO 2 9377784 4688892 0.3361 0.7159
NUMERO 1 2377027462 2377027462 170.3782 < 2.2e-16 ***
VOLUMEN 1 5101153794 5101153794 365.6354 < 2.2e-16 ***
TIPO:NUMERO 2 244581 122291 0.0088 0.9913
TIPO:VOLUMEN 2 21411603 10705802 0.7674 0.4687
NUMERO:VOLUMEN 1 1568508521 1568508521 112.4260 2.222e-15 ***
TIPO:NUMERO:VOLUMEN 1 3316498 1658249 0.1189 0.8881
Residuals 60 837088575 13951476
Pruebas de Rendimiento
Trabajo Realizado
Implementacin de la estrategia del
programa derivado para cuantificacin
difusa sobre el kernel de PostgreSQL.
Nuevas herramientas que faciliten la
obtencin de informacin sobre
PostgreSQL.
Sencillez para realizar consultas,
lenguaje mas natural.
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Aportes
PostgreSQLf, una alternativa para
cuantificacin basada en lgica difusa.
Una gua de referencia para futuras
extensiones sobre PostgreSQL.
Pruebas estadsticas de la mejoras de
tiempo al implementar de manera
fuertemente acoplada.
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Recomendaciones
Implementacin del resto de las
caractersticas de SQLf sobre
PostgreSQLf.
Revisin de la estructura y cdigo final
de PostgreSQLf.
Fomentar desarrollos que ayuden a la
independencia tecnolgica.
Agenda
Introduccin
El Problema
Objetivos
Justificacin
Marco Terico
Metodologa
Resultados
Conclusiones
Preguntas?