La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Líneas de Investigación

Presentaciones similares


Presentación del tema: "Líneas de Investigación"— Transcripción de la presentación:

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

2 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

3 LINEAS DE INVESTIGACIÓN

4 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

5 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.

6 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

7 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

8 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

9 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

10 COMPLEJIDAD ALGORITMICA

11 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

12 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

13 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)

14 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.

15 (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.

16 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

17 (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

18 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)

19 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.

20 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.

21 (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)?

22 MINERIA DE DATOS

23 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

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

25 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

26 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

27 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

28 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

29 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...

30 VISION COMPUTACIONAL

31 ¿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)

32 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

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

34 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

35 Ejemplos de Operaciones Puntuales

36 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

37 Ejemplos de histogramas

38 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)

39 Ejemplos de ecualización - antes

40 Ejemplos de ecualización - después

41 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)]

42 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

43 Aplicación de una máscara

44 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

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

46 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

47 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

48 ROBOTICA

49 ¿Qué es un robot?

50 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]

51 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)

52 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

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

54 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

55 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

56 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

57 Imágenes

58 Imágenes

59 APRENDIZAJE AUTOMATICO

60 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

61 El Problema del Mundo de los Bloques

62 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

63 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

64 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

65 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)

66 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)) ) )

67 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))

68 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))

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

70 SISTEMAS INSPIRADOS EN LA NATURALEZA

71 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

72 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.

73 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.


Descargar ppt "Líneas de Investigación"

Presentaciones similares


Anuncios Google