Líneas de Investigación

Slides:



Advertisements
Presentaciones similares
Los números del 0 al cero uno dos tres cuatro cinco 6 7 8
Advertisements

Jacqueline Chávez Cuzcano
Complejidad Computacional
Vera Olivera, David Carlos Marín Rosales, Nicolae Harry
Complejidad Computacional
Universidad San Martín de Porres
INTELIGENCIA ARTIFICIAL
1 LA UTILIZACION DE LAS TIC EN LAS MICROEMPRESAS GALLEGAS. AÑO mayo 2005.
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO de Junio de 2005.
AYUDA A LA FUNCIÓN DOCENTE Internet
TEMA 2 MÚLTIPLOS Y DIVISORES
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
01- OFERTA FORMATIVA v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Programación entera En muchos problemas reales las variables sólo pueden tomar valores enteros Ejemplos: decisiones sobre inversiones, compras, arranques,
Aladdín-respuestas 1.Vivía 2.Era 3.Amaba 4.Quería 5.Gustaban 6.Se sentía 7.Salía 8.Tenía 9.Decidió 10.escapó 11. Se vistió 12. Conoció 13. Vio 14. Pensó
Respuestas Buscando a Nemo.
Diseño y análisis de algoritmos
SIMULACIÓN DE MONTECARLO
Introducción a la minería de datos
DATA MINING MINERIA DE DATOS Gersom Costas.
Objetivo: Los estudiantes van a usar vocabulario del desayuno para comprender un cuento. Práctica: 1. ¿Te gusta comer? 2. ¿Te gusta beber Mt. Dew.
CLASE 3 SOFTWARE DEL MICROPROCESADOR
Unidad de competencia II Estadística descriptiva:
Distribuciones de probabilidad bidimensionales o conjuntas
1 Reporte Componente Impacto Por Orden Territorial Por Departamento No Disponible ND *Los indicadores para el año 2008 no fueron calculados.
UPC Tema: ESPACIO VECTORIAL Rn
DESCRIPCION DE SISTEMAS
Resolución de Problemas
TELEFONÍA IP.
Parte 3. Descripción del código de una función 1.
Vocabulario querer comerlo -paja por supuesto - madera
Sistemas de Ecuaciones
Analisis deAlgoritmos
UNIDAD 2: FUNCIONES.
FUNCIONES DE UNA VARIABLE REAL
Introducción a los Números Fraccionarios
1 PROYECTO DE PRESUPUESTO DE EGRESOS DE LA FEDERACION 2002 COORDINACIÓN DE POLITICA ECONOMICA GP-PRD.
Clasificación de los indicadores por categoría
Indicadores CNEP Escuela
Ecuaciones Cuadráticas
La elección óptima del consumidor
¡Primero mira fijo a la bruja!
Investigación Algorítmica
Introducción a las Señales Aleatorias ISAL
¿Qué es un conjunto? Un conjunto es una colección de objetos considerada como un todo. Los objetos de un conjunto son llamados elementos o miembros del.
Máquinas con Vectores de Soporte - SVM
Tratabilidad y NP-Completitud
La transformada de Laplace
Realimentacion de la salida
SUCESIONES Y PROGRESIONES.
Señales y sistemas de tiempo discreto
Inteligencia Artificial Resolver problemas mediante búsqueda
Inteligencia Artificial Resolver problemas mediante búsqueda
Estructuras de control
Introducción al Análisis Cluster
Herramienta FRAX Expositor: Boris Inturias.
Simulacion de sistemas dinamicos
REDES BAYESIANAS Y DECISIÓN ESTADÍSTICA
INVESTIGACION DE OPERACIONES
Agustín J. González ELO320: Estructura de Datos y Algoritmos
Robótica Inteligente L. Enrique Sucar Leonardo Romero Marco López ITESM Cuernavaca.
Robótica Inteligente L. Enrique Sucar Leonardo Romero Marco López ITESM Cuernavaca.
Agustín J. González ELO320: Estructura de Datos y Algoritmos
DATA MINING KAROL PARDO MIGUEL VALCERO CORPORACION UNIVERSITARIA MINUTO DE DIOS.
Escuela de Ciencias Basicas, Tecnología e Ingeniería
La clase P juega un papel importante en la teoría de la complejidad computacional debido a que: 1. P es invariante para todos los modelos de cómputo que.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
Programación I Prof. Carolina Cols. Algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema.
Rafael Zamora Garrido Julio Ejemplos de objetivos de Minería de Datos Reducir las bajas de clientes actuales en un 5%. Aumentar las contrataciones.
Transcripción de la presentación:

Líneas de Investigación SEMINARIO DE TESIS I Líneas de Investigación Mg. Samuel Oporto Díaz

Tabla de Contenido Líneas de Investigación. Complejidad Algorítmica Minería de Datos Visión Computacional Robótica Aprendizaje Automático Sistemas Inspirados en la Naturaleza

LINEAS DE INVESTIGACIÓN

Carreras Profesionales “Ingeniería de Sistemas” de la UNI-FIIS Sistemas Computación e Informática Ingeniería de Sistemas Ingeniería de Computadoras Ciencias de la Computación Sistemas de Información Ingeniería de Software Tecnologías de la Información Integración de equipos multidisciplinarios para la realización de sistemas exitosos Diseño y construcción de computadoras y sistemas basados en computadoras Fundamentos de algoritmos, robótica, visión, sistemas inteligentes, bioinformática. Diseño de algoritmos Integración de soluciones de TI y procesos de negocio para cubrir necesidades de información Desarrollo y mantenimiento de sistemas Necesidades de TI para empresas. Define la infraes-tructura de TI de una organización y las personas que lo utilizan Ing. de Sistema, tecnología política, administración, innovación, etc. Hardware, software y comunicaciones algoritmos, SO, complejidad, visión Sistemas de Información, adm. de la información Análisis y diseño de sistemas, proceso de software Interacción H-C, seguridad de la información, Adm. de la inform. Fuente. Denominaciones y Perfiles de las carreras de ingeniería de sistemas, computación e informática en el Perú CIP – Junio 2006

Ciencias de la Computación Es el estudio de las bases teóricas de la información y la computación y su aplicación en sistemas computacionales. Se abarca desde aplicaciones específicas del cómputo hasta con las propiedades de los algoritmos usados al realizar cómputos. Por ejemplo, los estudios de la teoría de lenguajes de programación describen un cómputo, mientras que la programación de computadoras aplica lenguajes de programación específicos para desarrollar una solución a un problema computacional concreto. http://www.njit.edu/v2/archivecatalog/undergraduate/91/19-und.html

Campos de las CC Fundamentos matemáticos Teoría de la computación Algoritmos y estructuras de datos Lenguajes de programación y compiladores Bases de datos Sistemas concurrentes, paralelos y distribuidos Inteligencia artificial Gráficos por computador Computación científica

Campos de las CC Fundamentos matemáticos Criptografía Teoría de grafos Lógica matemática Teoría de tipos de datos Teoría de la computación Teoría de autómatas Teoría de la complejidad computacional Algoritmos y estructuras de datos Análisis de algoritmos Algoritmos Estructuras de datos

Campos de las CC Lenguajes de programación y compiladores Compiladores Bases de datos BDMS, DWH Minería de datos Sistemas concurrentes, paralelos y distribuidos Programación concurrente Redes de computadoras Cómputo paralelo

Campos de las CC Inteligencia artificial Razonamiento automatizado Visión por computador Robótica Aprendizaje Automático Sistemas Inspirados en la naturaleza Gráficos por computador Procesamiento digital de imágenes Computación científica Bioinformática

COMPLEJIDAD ALGORITMICA

Computadoras Computadora no determinística. Es una computadora que tiene la habilidad de llevar a cabo un número ‘ilimitado’ de búsquedas paralelas de manera independiente. Al ser confrontada con varias opciones, puede “adivinar” la correcta. Nunca hace elecciones incorrectas que la lleven a un paso previo No existen en el mundo real. Es una herramienta imaginaria que hace que los problemas difíciles parezcan triviales

Complejidad Un algoritmo es un procedimiento computacional bien definido, que toma un conjunto de valores de entrada y produce valores de salida. También podemos ver a un algoritmo como una herramienta para resolver un problema computacional específico. La complejidad de un algoritmo es una medida de la cantidad de recursos que consume. Recurso: Tiempo Espacio Memoria Disco

Orden de magnitud de un algoritmo Tiempos más comunes de los algoritmos: O(1) < O(log n) < O(n) < O(n log n) < O(n2) < O(n3) < O(2n)

Clases de problemas Muchos problemas se resuelven con algoritmos polinómicos (O(nk)): problemas tratables La clase P contiene todos los problemas tratables. Hay problemas que no se pueden resolver en tiempo polinónico ((nk)): problemas intratables. La clase NP contiene todos los problemas que se pueden “verificar” en tiempo polinómico. Claramente PNP. La clase NP puede ser resuelto en tiempo polinomial pero usando una computadora no determinística La clase NPC contiene todos los problemas NP-completos Hay problemas que no se pueden resolver: problema de la parada.

(1) Problemas tratables Son todos aquellos que pueden ser resueltos en tiempo polinómico Un problema pertenece a la clase P si puede ser resuelto en tiempo polinomial en una computadora determinística. Ejemplos: Quicksort, búsqueda binaria, multiplicación matricial.

P vs NP La clase P contiene problemas que pueden resolverse rápidamente. La clase NP contiene problemas cuya solución puede verificarse rápidamente. Se plantea la pregunta: ¿Es P = NP? Aún sigue siendo una pregunta abierta para los teóricos. Se cree que P != NP

(2) Problemas NP-completos Hay una clase de problemas que no se sabe si son tratables: problemas NP-completos Nadie ha encontrado algoritmos polinómicos para ninguno de ellos. Algunos muy parecidos a problemas tratables: Ciclos eulerianos y hamiltonianos. Satisfabilidad de 2-FNC y 3-FNC

Problemas NP Completos Todos los algoritmos conocidos para problemas NP-completos utilizan tiempo exponencial con respecto al tamaño de la entrada. Todos los algoritmos requeridos para resolverlos requieren tiempo exponencial en el peor caso. Es decir, son sumamente difíciles de resolver. Ejemplos: el problema del agente viajero, O(n22n)

Ejemplo Suma de subconjuntos: Dado un conjunto S de enteros, ¿existe un subconjunto no vacío de S cuyos elementos sumen cero? Es fácil verificar si una respuesta es correcta, pero no se conoce mejor solución que explorar todos los 2n-1 subconjuntos posibles hasta encontrar uno que cumpla con la condición.

Soluciones aproximadas Se desconoce si hay mejores algoritmos, por la cual, para resolver un problema NP-completo de tamaño arbitrario se utiliza uno de los siguientes enfoques: Aproximación: Un algoritmo que rápidamente encuentra una solución no necesariamente óptima, pero dentro de un cierto rango de error. En algunos casos, encontrar una buena aproximación es suficiente para resolver el problema, pero no todos los problemas NP-completos tienen buenos algoritmos de aproximación. Probabilístico: Un algoritmo probabilístico obtiene en promedio una buena solución al problema planteado, para una distribución de los datos de entrada dada. Casos particulares: Cuando se reconocen casos particulares del problema para los cuales existen soluciones rápidas. Heurísticas: Un algoritmo que trabaja razonablemente bien en muchos casos. En general son rápidos, pero no existe medida de la calidad de la respuesta. Algoritmo genético: Algoritmos que mejoran las posibles soluciones hasta encontrar una que posiblemente esté cerca del óptimo. Tampoco existe forma de garantizar la calidad de la respuesta.

(3) Problema de la parada No existe ningún algoritmo que diga si un programa va a parar en tiempo finito con una entrada dada: Supongamos que hay una función H(P,I) que lo resuelve. Construimos D(P): If H(P,P) then loop forever else stop ¿Qué debe hacer D(D)?

MINERIA DE DATOS

Tipos de Aprendizaje Tipos de Aprendizaje Una especie de profesor sugiere una categoría para cada conjunto de entrenamiento. Se busca reducir el error de entrenamiento. Supervisado Tipos de Aprendizaje No existe el profesor, el sistema realiza agrupamientos en forma natural sobre los patrones de entrada, para determinar la clase a la que pertenece. No Supervisado

Tareas de la Minería de Datos Clasificación Predictiva Regresión Tareas Agrupamiento Descriptiva Reglas de Asociación Secuenciación

Clasificación Intenta clasificar algunos objetos en un número finito de clases, en función a sus propiedades (características) Se intenta buscar un función de mapeo que permita separar la clase 1 de la clase 2 y esta de la clase 3… Las variables (atributos) son categóricos (no numéricos). El modelo se construye con datos completos, cada registro tiene una clase predefinida. Busca formas de separar la data en clases pre-definidos: Árboles de decisión. Redes Neuronales. Clasificador Bayesiano. Razonamiento basado en casos

Regresión Intenta determinar la función que mapea un conjunto de variables de entrada X (independiente), en una (o más) variables de salida Y (dependiente), . Es básicamente numérica. Está basada en supuestos estadísticos. Árboles de decisión. Redes Neuronales. Regresión Logística

Agrupamiento (Clustering) (Clasificación no supervisada) Intenta agrupar una serie de objetos en grupos. Cada objeto es representado por un vector de atributos n-dimensional. Los objetos que forman cada grupo deben ser disimilares. La similaridad es medida del grado de proximidad. Luego cada grupo es etiquetado. K-means (agrupamiento exclusivo) Fuzzy C-means (agrupamiento con traslape) Angulo de distribución mínima Método de autoorganización (SOM) Razonamiento Adaptativo

Reglas de Asociación Analiza los datos para descubrir reglas que identifiquen patrones o comportamientos. Reglas de la forma A  B. Usa algoritmos intensivos en procesamiento. Análisis de la cesta de la compra (market basket analysis). A priori A priori predictivo Encuentre ¿qué grupos de ítems comúnmente se declaran juntos? Haciendo el soporte mínimo del 50% y la confianza mínima del 50% , tenemos: A  C ( 50%, 66.6%) C  A ( 50%, 100%) ID Declaración 2000 A,B,C 1000 A,C 4000 A,D 5000 B,E,F

Secuenciación Buscar secuencias que son usualmente probables. Requiere entrenamiento, lista de eventos, conocimiento de eventos interesantes. Debe ser robusto en la fase de adicionar eventos con ruido. Usado en el análisis de fallas y predicción. Modelo de Markov Agrupamiento MDD (Maximal Dependence Decomposition Clustering) A B HTHHTHHttthtttHHTHHHHtthtthttht...

VISION COMPUTACIONAL

¿Qué es Visión? “Visión es saber que hay y donde mediante la vista” (Aristóteles) “Visión es recuperar de la información de los sentidos propiedades válidas del mundo exterior” (Gibson) “Visión es un proceso que produce a partir de las imágenes del mundo una descripción que es útil para el observador y que no tiene información irrelevante” (Marr)

Visión Computacional Determinar la identidad y localización de objetos en una imagen, construir una representación tridimensional de un objeto, analizar un objeto para determinar su calidad, descomponer una imagen u objeto en diferentes partes. IMAGEN VISIÒN DESCRIPCIÒN

Digitalización de imágenes 24 38 44 43 45 50 56 59 46

Binarización Transformación lineal en el que la imagen de salida tiene 2 valores - blanco y negro S=blanco, si E > T S=negros, si E < T T es el umbral

Ejemplos de Operaciones Puntuales

Histograma de intensidades Distribución de niveles de intensidad en una imagen Ejemplo: Estimado de probabilidad de ocurrencia de cada nivel de intensidad: p= nr / nt 1 1 2 2 1 2 1 2 2 1 3 1 3 0 1 2 3

Ejemplos de histogramas

Ecualización del histograma Función de transformación:h s(k) = Sk ni / n Para k = 0, 1, 2, 3 …. Número de niveles Esto es, al hacer la transformación se asigna a cada nivel de intensidad de la imagen de salida el valor de la sumatoria de las probabilidades hasta ese valor Da un valor entre 0 y 1 que hay que multiplicar por una constante (255)

Ejemplos de ecualización - antes

Ejemplos de ecualización - después

Filtrado Filtrar una imagen consiste en aplicar una transformación de forma que se acentúen o disminuyan ciertos aspectos g(x,y) = T[f(x,y)]

Filtrado en el Dominio Espacial Operan directamente sobre los pixels de la imagen Se utiliza generalmente una “máscara” que opera sobre una vecindad de pixels, centrándose sobre el pixel de interés Se realiza una convolución (barrido) de la máscara con la imagen. Cada pixel de la nueva imagen se obtiene mediante la sumatoria de la multiplicación de la máscara por la vecindad del pixel: g(x,y) = S S f(i,j) w(i,j) Generalmente se divide sobre cierto valor constante para normalizar

Aplicación de una máscara

Convolución máscara Imagen nueva Imagen original 1 1 1 1 1 1 1 1 1 1 1 1 1 Imagen original 1 1 1

Convolución - paso 1 máscara Imagen nueva Imagen original 1 1 1 1 1 1 1 1 Imagen original 1 1 2 1

Convolución - paso 2 máscara Imagen nueva Imagen original 1 1 1 1 1 1 1 1 Imagen original 1 1 2 5 1

Normalización En esta caso se divide entre “9” (suma de las valores de la máscara) 1 1 1 máscara 1 1 1 1 1 1 Imagen nueva normalizada Imagen nueva 1 2 5

ROBOTICA

¿Qué es un robot?

Un robot es ... “un manipulador programable y multifuncional diseñado para mover materiales, partes, herramientas o dispositivos específicos mediante movimientos programados para realizar diferentes tareas” [Instituto de Robótica de América] “un agente activo artificial cuyo ambiente es el mundo físico” [Russell y Norvig] “una conexión inteligente de percepción a acción” [Jones y Flynn] “una máquina programable capaz de percibir y actuar en el mundo con cierta autonomía” [E. Sucar]

Tipos de Robots Robots manipuladores (brazos) Robots móviles Robots “híbridos” (móviles con manipulación) Vehículos autónomos Robots caminantes 2 patas (humanoides) 4/6 patas (insectos)

Aplicaciones Manufactura y manejo de materiales Ambientes hostiles Exploración espacial e interplanetaria Robots de servicio Telepresencia y realidad virtual Militares y operaciones de rescate Ambientes submarinos Estudios fisiológicos y cognitivos Entretenimiento y juegos

Partes de un Robot Comunicación Sensores “Inteligencia” Control Actuadores Potencia

Actuadores Dispositivos que permiten al robot modificar el medio ambiente Dos tipos principales: Locomoción: cambiar la posición del robot respecto al medio ambiente Manipulación: mover otros objetos en el medio ambiente

Locomoción Existen dos formas básicas de locomoción: Ruedas: Patas: Robots con ruedas Robots con patas Ruedas: más simples y eficientes, fáciles de controlar limitadas a terrenos planos Patas: complejas, inestables, difíciles de controlar mayor flexibilidad para todo tipo de terreno

Manipulación Normalmente construidos en base a una serie de segmentos con articulaciones entre ellos (como un brazo) Tres tipos básicos de articulaciones: Rotacionales Cilíndricas Prismáticas Mayor número de articulaciones dan mayor flexibilidad (grados de libertad), pero hacen más complejo el control

Imágenes

Imágenes

APRENDIZAJE AUTOMATICO

Búsqueda en un espacio de problemas Planeación Búsqueda en un espacio de problemas Estado o situación: descripción instantánea Acción u Operador: transformación de un estado en otro Estado inicial: situación de partida Objetivo o meta: descripción de condiciones que se tienen que dar para considerar por terminado el proceso Plan: secuencia de operaciones que permiten pasar del estado inicial a un estado en el que se cumplan los objetivos Heurísticas: conocimiento que permite obtener eficientemente el plan

El Problema del Mundo de los Bloques

El mundo de los bloques Un conjunto de bloques, una mesa, y un brazo de un robot Los bloques son iguales de tamaño, forma y color, diferenciándose en el nombre La mesa tiene extensión ilimitada Cada bloque puede estar encima de la mesa, encima de un sólo bloque, o sujeto por el brazo del robot El brazo de robot sólo puede sujetar un bloque cada vez

El mundo de los bloques Resolver problemas supone pasar de una configuración (estado) inicial a un estado en el que sean ciertas unas metas A D C B Estado Inicial Estado Final

Estados Se podrían utilizar los siguientes predicados: encima(x,y) : el bloque x está encima del y en-mesa(x) : el bloque x está encima de la mesa libre(x) : el bloque x no tiene ningún bloque encima sujeto(x) : el brazo del robot tiene cogido al bloque x brazo-libre : el brazo del robot no tiene cogido a ningún bloque Estado inicial: encima(A,B),encima(B,D),en-mesa(D),en-mesa(C), libre(A),libre(C),brazo-libre Metas: en-mesa(A), en-mesa(B), encima(C,B) , encima(D,C) Estado Inicial Estado Final

Operadores QUITAR(x, y) LEVANTAR(x) PONER(x, y) DEJAR(x) precondiciones: encima(x, y),libre(x),brazo-libre añadidos: sujeto(x),libre(y) borrados: encima(x, y),brazo-libre,libre(x) LEVANTAR(x) precondiciones: en-mesa(x),libre(x),brazo-libre añadidos: sujeto(x) borrados: en-mesa(x),brazo-libre,libre(x) PONER(x, y) precondiciones: sujeto(x),libre(y) añadidos: encima(x, y),libre(x),brazo-libre borrados: sujeto(x),libre(y) DEJAR(x) precondiciones: sujeto(x) añadidos: en-mesa(x),libre(x),brazo-libre borrados: sujeto(x)

Lenguaje PDDL - Operadores (define (domain mundobloques) (:requirements :strips :equality) (:predicates (encima ?bl1 ?bl2) (enmesa ?bl) (libre ?bl) (sujeto ?bl) (brazolibre) ) (:action quitar :parameters (?bl1 ?bl2 ) :precondition (and (encima ?bl1 ?bl2) (libre ?bl1) (brazolibre) ) :effect (and (sujeto ?bl1) (libre ?bl2) (not (encima ?bl1 ?bl2)) (not (brazolibre)) (not (libre ?bl1)) ) )

Lenguaje PDDL - Operadores (:action levantar :parameters (?bl1 ) :precondition (and (enmesa ?bl1) (libre ?bl1) (brazolibre) ) :effect (and (sujeto ?bl1) (not (enmesa ?bl1)) (not (brazolibre)) (not (libre ?bl1))

Lenguaje PDDL - Operadores (:action poner :parameters (?bl1 ?bl2 ) :precondition (and (sujeto ?bl1) (libre ?bl2) ) :effect (and (encima ?bl1 ?bl2) (libre ?bl1) (brazolibre) (not (sujeto ?bl1)) (not (libre ?bl2))

Lenguaje PDDL - Operadores (:action dejar :parameters (?bl1 ) :precondition (and (sujeto ?bl1) ) :effect (and (enmesa ?bl1) (libre ?bl1) (brazolibre) (not (sujeto ?bl1))

SISTEMAS INSPIRADOS EN LA NATURALEZA

Lógica Difusa La Lógica Difusa es una generalización de la lógica tradicional de dos valores (verdadero, falsos). Mediante la lógica difusa es posible manipular matemáticamente conceptos definidos con incertidumbre, es decir, conceptos que son vagos, ambiguos e imprecisos. mediana alta Grado pertenencia baja kph 100 200

Redes Neuronales. Modelo de procesamiento basado en el cerebro. Está compuesto de capas de nodos unidos por arcos. Cada arco contiene pesos. El aprendizaje se logra en la actualización de esos pesos. Se usan para la clasificación y reconocimiento de patrones. Aplicaciones: Reconocimiento de patrones. Predicción Optimización.

Computación Evolutiva. Es un modelo de optimización ciega donde no se conoce la ecuación de la función a optimizar. Usa una técnica heurística para determinar los valores de las variables que permiten optimizar una función desconocida (no explicita). Aplicaciones. Problema de ruteo de camiones entre ciudades. Cuál es el mejor diseño de las características de un dispositivo. Corte de materiales. Aplicaciones donde el número de alternativas a buscar es muy grande.