410 likes | 588 Views
Departamento de Ciencias de la computación e Inteligencia Artificial. Un sistema de consulta flexible utilizando dispositivos móviles. Aplicación a la búsqueda de restaurantes. María Jesús Payo Laborda José Enrique Pons Frías. Tutores: Amparo Vila Miranda Miguel Delgado Calvo - Flores.
E N D
Departamento de Ciencias de la computación e Inteligencia Artificial Un sistema de consulta flexibleutilizando dispositivos móviles. Aplicación a la búsqueda de restaurantes María Jesús Payo Laborda José Enrique Pons Frías Tutores: Amparo Vila Miranda Miguel Delgado Calvo - Flores
Introducción • Definición • Objetivos • Sistemas Existentes: Innovación • Arquitectura • Consulta Flexible • Información Imperfecta. Lógica Difusa • Consulta Flexible • Aplicación • Servidor • Dispositivo Móvil • Conclusiones • Bibliografía
DEFINICIÓN Sistema de consulta flexible en un entorno de computación ubicua en el que el usuario, a través de un dispositivo móvil (tal como un PDA, o incluso un teléfono móvil) equipado con un GPS, obtenga los restaurantes que se ajusten sus preferencias (consulta flexible).
OBJETIVOS Integrar en una plataforma de computación ubicua: • sistema de localización: permitirá posicionar los restaurantes y al usuario en él, así como mostrar las posición en un mapa. • sistema de bases de datos que permita recuperar los distintos objetos (en el caso que nos ocupa) • sistema de consulta flexible que permita restringir los resultados de la búsqueda a un conjunto de restaurantes que se adecuen al perfil de un determinado usuario.
OBJETIVOS • Sistema multiplataforma: de interés debido a la gran diversidad de dispositivos móviles y sistemas que existen, permite, en etapas posteriores de desarrollo, diseñar más genéricamente la aplicación, abstrayendo los aspectos menos relevantes para nosotros como la arquitectura de un determinado dispositivo. • Desarrollo basado en software libre
INTERCAMBIO DE INFORMACION Consulta flexible Exporta BD a XML • Servidor con sistema gestor • de base de datos MySql Dispositivo PDA
HERRAMIENTAS UTILIZADAS • Servidor: • Sistema gestor de base de datos: MySQL. • Lenguaje del lado del servidor: PHP. • Lenguaje del lado del cliente: JavaScript/AJAX.
HERRAMIENTAS UTILIZADAS • Dispositivo móvil: • Base de datos: XML. • Lenguaje de programación: SuperWaba
INFORMACION IMPERFECTA. LOGICA DIFUSA Se pretende representar y manipular información cuya semántica se encuentre mas próxima al esquema humano de representación de la realidad, debiendo para ello incorporar en las bases de datos la capacidad para representar y manipular información imprecisa y subjetiva, ya que este tipo de información forma parte de nuestra vida cotidiana y se manifiesta frecuentemente en cualquier acto de comunicación humana.
INFORMACION IMPERFECTA. LOGICA DIFUSA Una forma de afrontar problemas tales como la representación y tratamiento de la información imprecisa o incierta en bases de datos es mediante la lógica difusa. Existen muchas extensiones al modelo relacional que se centran en la integración de la lógica difusa al modelo, con el objeto de poder representar valores imprecisos y flexibles o inciertos.
CONSULTA FLEXIBLE Para este trabajo hemos optado por la representación que asume la implementación FIRST y su servidor de consultas imprecisas, construidos sobre el modelo GEFRED: una representación trapezoidal para la distribución de posibilidad normalizada.
CONSULTA FLEXIBLE Consultas en términos imprecisos a partir de aquella información que se encuentra expresada y almacenada de forma precisa en una base de datos relacional.
CONSULTA FLEXIBLE Para realizar la búsqueda de restaurantes que respondan a una determinada consulta flexible, se ha de considerar: • Preferencias del usuario. • Etiquetas lingüísticas (valores difusos). • Distribuciones de posibilidad asociadas a las etiquetas lingüísticas. • Grado de cumplimiento de un restaurante • Peso o importancia de cada atributo que da el usuario.
Información Difusa Los atributos de la base de datos existente que se pueden considerar datos difusos a la hora de realizar una consulta flexible sobre la base de datos corresponden a características relativas a los restaurantes almacenados: • Distancia • Precio • Tipo de Cocina
Información Difusa • Distancia
Información Difusa • Precio
Información Difusa DISTANCIA La distancia de un restaurante respecto de una determinada posición en la que se encuentre el usuario (las coordenadas GPS), es un dato que se obtiene conociendo la posición del restaurante en cuestión (almacenada en la Base de Datos).
Información Difusa xcerca, xmedia1, xmedia2, xlejos: valores que el usuario asigna a los limites de los conjuntos de las distintas etiquetas lingüísticas para el dominio Distancia (almacenados en la Base de Datos)
Información Difusa PRECIO El precio medio de un restaurante es un dato que se obtiene como un atributo del restaurante en cuestión y que se encuentra almacenado en la Base de Datos.
Información Difusa xbarato, xmedio1, xmedio2, xcaro: valores que el usuario asigna a los límites de los rangos de lo conjuntos de las distintas etiquetas lingüísticas para el dominio Precio (almacenados en la Base de Datos).
Información Difusa TIPO DE COCINA El tipo de cocina que caracteriza a un restaurante se puede considerar un dato difuso a la hora de ejecutar una búsqueda.
Información Difusa Su dominio subyacente es un conjunto discreto no ordenado sobre el que se define una relación de semejanza o similitud entre cada par de valores del mismo. considerado preferido
CONSULTA FLEXIBLE OTROS SERVICIOS • Servicio de parking. • Servicio de aparca coches. • Zona habilitada para fumadores o no. • Espacios acondicionados para niños. • Terraza o jardín. • Instalaciones de aire acondicionado. • Bodega destacable. • Menú. • Salón privado. • Lugar pintoresco. • Acceso para discapacitados
CONSULTA FLEXIBLE El grado de pertenencia de cada uno de estos atributos puede tomar únicamente dos valores: 0: en caso de no disponer del servicio 1: en caso de poder ofrecerlo. Grado de cumplimiento global de los servicios (media de los grados de los posibles servicios):
Grado de Cumplimiento Hay diversas formas de poder combinar los grados de cumplimiento para cada atributo: medida ponderada que da mayor o menor importancia a una característica concreta mediante el peso. Grado de cumplimiento global que representa con que grado final dicho restaurante cumple las preferencias del usuario.
Aplicación: Servidor Sistema web con 2 tipos de acceso: • Usuario: • Gestión de perfiles • Exporta base de datos al PDA. • Administrador: Demo. • Obtención de datos de restaurantes. • Obtención de nuevos mapas. • Gestión de Usuarios
Aplicación: PDA Aplicación simple para encontrar restaurantes según perfil de usuario. • Consulta flexible • Posiciona al usuario a través de GPS. • Muestra mapas con las localizaciones. • Muestra detalles de restaurantes. • Gestión de perfiles. Demo.
CONCLUSIONES • Sistema Completo: integración de diversos campos punteros en la tecnología actual: • Computación ubicua • Sistema de bases de datos • Consultas difusas-flexibles • Sistema de posicionamiento para los objetos del sistema de información • Mapas.
CONCLUSIONES • Superación de las limitaciones de los dispositivos móviles: • Limitación de memoria • Limitadas capacidades de procesamiento • Extensible • Aplicaciones en múltiples campos • Nuevas preferencias de usuario
Herramientas de desarrollo • SuperWaba www.superwaba.com.br • MySql www.mysql.com • PHP y JavaScript / AJAX • Cliff Wootton, Javascript Programmer's Reference • Tim Converse and Joyce Park, PHP5 and MySql bible,Wiley publishing inc. • Tim Converse and Joyce Park, PHP5 and MySql bible,Wiley publishing inc.
Consulta Flexible • Vila Miranda, M.A. Desafíos y Logros en el Desarrollo de los Sistemas de Información. Conferencia inaugural del curso 1999-2000 en la Escuela Técnica Superior de Ingeniería Informática de Granada. Octubre 1999 • Medina Rodríguez, J.M. Bases de Datos Relacionales Difusas: Modelo Teórico y Aspectos de su Implementación.
API de Google • API para la búsqueda • http://code.google.com/apis/ajaxsearch/ • Geocoder • www.google.com/apis/maps/documentation/ • Google Maps • www.maps.google.es/maps