LÍNEAS DE INVESTIGACIÓN
Arquitectura de Software
Análisis y desarrollo de modelos y metodologías que permitan la creación de nuevas tecnologías y sistemas enfocados en la interacción humano computadora (IHC). Estudio del paradigma del cómputo ubicuo y pervasivo con el propósito de aplicar la IHC en diversos ambientes. Para ello el entendimiento en tiempo y espacio es apoyado con el diseño de interacción y cómputo consciente de contexto en diversos escenarios. Arquitectura e Ingeniería de Software aplicada al desarrollo de sistemas de IHC enfocadas al entorno social en particular en ambientes de cuidados de salud.

Cómputo Científico
Diseño e implementación de algoritmos para el modelado de problemas físicos o analíticos de un amplio terreno de trabajo. Esto incluye el análisis y procesamiento de señales experimentales, tales como pueden ser obtenidas de sensores de todos tipo. Pueden ser señales digitalizadas de una sola variable escalar, señales múltiples variables o variables vectoriales o matriciales. En este último entra en particular el procesamiento de imágenes. En general, el objetivo del procesamiento es el de extraer datos relevantes de un enorme flujo de datos, reduciendo el flujo de datos a una cantidad limitada de datos. Por ejemplo, el procesamiento de imágenes y la visión artificial es un área típica de trabajo dentro de este campo, pero también lo son el estudio de algoritmos de la encripción y compresión de datos. Este ámbito incluye en particular también el procesamiento de señales en dispositivos de control, como se encuentran por ejemplo en sistemas mecatrónicos. Lo que implica el manejo de hardware especializado para la adquisición y procesamiento de señales, como son: tarjetas de adquisición, sistemas embebidos (dispositivos lógicos programables y microcontroladores) y unidades de procesamiento gráfico (GPUs).

Además de algoritmos específicamente enfocados al procesamiento de señales, también se busca estudiar y desarrollar cualquier otro tipo de algoritmos (generalmente computacionalmente intensivas) para la resolución de problemas numéricos, simulación de procesos físicos y modelado de procesos bioquímicos, tales como algoritmos numéricos para ecuaciones parciales diferenciales, algoritmos genéticos, de Monte Carlo y de optimización, algoritmos para reconstrucción de rutas metabólicas y reacciones químicas a nivel de estructura molecular.

Cómputo Distribuido y Redes
Actualmente, una de las áreas más importantes de desarrollo son las comunicaciones. En México, alrededor del 53% de la población mayor de 18 años cuenta con teléfono celular representando más de 95 millones de líneas activas en México. Mientras que según los datos del INEGI, 44.7 millones de personas en México tienen acceso a Internet. Por lo cual el estudio, simulación, evaluación y desarrollo de algoritmos avanzados para las redes de computadoras, algoritmos de enrutamiento y redes inalámbricas es de fundamental importancia. Dentro de esta línea de investigación se incluyen las aplicaciones de cómputo distribuido tales como, clústers y grids. Además se hace uso de cómputo en paralelo para la optimización de implementaciones de algoritmos altamente demandantes. Desarrollo de modelos matemáticos y algoritmos para caracterizar redes (como Internet) y sistemas de cómputo distribuido. Las redes de sensores han surgido como una forma de analizar en forma distribuida eventos que ocurren en un área de grandes dimensiones, tales como sismos, análisis estructural y vigilancia automática por medio de redes de cámaras. Se realiza el análisis y desarrollo de algoritmos de fusión de datos en redes de sensores y envío de información.

Este grupo se encuentra trabajando, particularmente, en: análisis y desarrollo de algoritmos de fusión de datos en redes de sensores, análisis de imágenes y envío de ellas en redes de cámaras inteligentes, compresión de video, estudio, simulación, evaluación y desarrollo de algoritmos avanzados para las redes de computadoras, algoritmos de enrutamiento y redes inalámbricas, desarrollo de modelos matemáticos y algoritmos para caracterizar redes (como Internet).

Sistemas Inteligentes
Tiene sus fundamentos en el campo de la inteligencia artificial, esto es, representación del conocimiento (e.g. ontologías, lógica descriptiva), aprendizaje automático (e.g. redes neuronales, modelos gráficos), búsqueda y optimización (e.g. cómputo evolutivo, técnicas heurísticas), toma de decisiones (e.g. reglas de inferencia, procesos de decisión de Markov), minería de datos (e.g. clustering, árboles de decisión) y tecnologías emergentes. Aplicaciones: Web semántica, visión computacional, reconocimiento de patrones, comportamiento inteligente de robots autónomos, bioinformática, inteligencia artificial distribuida, entre otras.