Temario III Algoritmos Combinatorios y Metaheurísticas
|
|
- Teresa Martín Padilla
- hace 8 años
- Vistas:
Transcripción
1 Temario III Algoritmos Combinatorios y Metaheurísticas Verificación y Validación de Software UNCo 1 Contenidos Combinación de Datos de Test Algoritmos Combinatorios Metaheurísticas Búsqueda Tabú Algoritmos Genéticos Verificación y Validación de Software UNCo 2
2 Combinatoria y Metaheurísticas Lectura Grindal, M., Offutt, J., Andler, S. (2005): Combination Testing Strategies: A survey. Software Testing, Verification, and Reliability, Vol. 15, pp Diaz, E., Tuya, J., Blanco, R., Dolado, J. (2008) : A Tabu Search Algorithm for Structural Software Testing. Computers & OR, Vol. 35, No. 10, pp Srivastava, P., Tai hoon, K. (2009): Application of Genetic Algorithm in Software Testing. International Journal of Software Engineering and Its Applications, Vol. 3, No.4. Verificación y Validación de Software UNCo 3 Combinación de Datos de Test (1) Estructura de un Caso de Test: Especificación de las condiciones iniciales Ejecución de funciones de un Sistema bajo Test (SUT) Determinación del resultado de la prueba (oráculo), para saber si lo obtenido se corresponde con lo esperado La definición del Oráculo es habitualmente un proceso manual (su generación automática es un intenso tema de investigación). Por ello interesa tener test suites buenos pero que no sean demasiado grandes. Verificación y Validación de Software UNCo 4
3 Combinación de Datos de Test (2) Criterios de Cubrimiento para Datos de Test (I) Una vez que, para cada parámetro, se identificaron sus valores interesantes o representativos, debemos combinarlos para construir casos de test. Existen multitud de Estrategias de Combinación. En general, todas ellas persiguen obtener TS reducido pero que alcancen alta cobertura en el SUT. Con los criterios de cobertura para valores se intenta conocer cuantitativamente el grado en que se utilizan los datos de test Verificación y Validación de Software UNCo 5 Combinación de Datos de Test (3) Criterios de Cubrimiento para Datos de Test (II) Cada dato de test debería utilizarse al menos una vez Lo utilizamos sólo una vez? Dos veces? Tres?... Para ello existen Criterios que definen Algoritmos de Combinación: Each Choice o 1 wise Pairwise N wise etc Verificación y Validación de Software UNCo 6
4 Combinación de Datos de Test (4) Algoritmo Each Choice Utilizar cada valor interesante al menos una vez en un caso de test Para este criterio bastarían cuatro casos de prueba: {Trivial, null, Person, 3, Master card, Quiz} {Checkers, Dice, Computer, 2, Visa, } {Chess, Dice, Computer, 2, American express, Quiz} {Ludo, null, Person, 2, Master card, } Verificación y Validación de Software UNCo 7 Combinación de Datos de Test (5) Algoritmo Pairwise Utilizar cada par de valores interesantes al menos una vez en un caso de test Ludo con Dice, Ludo con null, Ludo con Person, Ludo con Computer,... pero también Dice con Person, Dice con Computer, etc. Se basa en la idea que muchos errores aparecen cuando interactúan dos ciertos valores para dos parámetros Se construyen Tablas de Pares, para proponer casos de prueba y se marcan los pares visitados. Se termina cuando se hayan visitado todos los pares al menos una vez. Hay n (n-1)/2 tablas de pares, siendo n el nº de parámetros: 6 5/2=15 Verificación y Validación de Software UNCo 8
5 Combinación de Datos de Test (6) Estrategias: Verificación y Validación de Software UNCo 9 Combinación de Datos de Test (7) Algoritmo All combinations (I) Se trata de determinar el producto cartesiano de todos los valores de todos los parámetros Supongamos: A={1, 2, 3, 4}, B={5, 6, 7}, C={8, 9} El número de cominaciones (cardinal del producto cartesiano) es A B C =4 3 2=24 Verificación y Validación de Software UNCo 10
6 Combinación de Datos de Test (8) Algoritmo All combinations (II) Se requiere escribir 24 oráculos, y hacer seguimiento del programa para conocer su comportamiento en esas 24 situaciones Muchos de estos casos de test serán redundantes, dado que recorrerán las mismas porciones del SUT: que no incrementen el cubrimiento aplicado (comandos, arcos, etc) Por ello, esta estrategia se utiliza, en investigación, como baseline, como elemento de comparación Pero, para un mismo conjunto de datos de test, esta estrategia es la que alcanza mayor cubrimiento, porque contiene a cualquier otra estrategia. Verificación y Validación de Software UNCo 11 Metaheurísticas (1) Qué es un problema de Optimización Combinatoria? Ejemplos: Problema de la suma de subconjuntos Determinación de caminos mínimos en grafos Flujo en redes Asignación de tareas Problema de la mochila Problemas de ruteo de vehículos. El problema del Viajante de comercio Diseño de redes de comunicaciones Ruteo en redes de comunicaciones VLSI Verificación y Validación de Software UNCo 12
7 Metaheurísticas (2) Cómo se resuelve un problema de Optimización Combinatoria? Heurísticas clásicas Metaheurísticas o heurísticas modernas o sistemas inteligentes Cuándo usarlas? Problemas para los cuales no se conocen buenos algoritmos exactos Problemas difíciles de modelar Verificación y Validación de Software UNCo 13 Metaheurísticas (3) Porqué usarlas? Adaptabilidad a modificaciones de los datos o del problema una vez que ya se obtuvo un resultado. Fáciles de implementar y programar Basadas en tener una gran capacidad de cálculo No sólo para problemas de optimización combinatoria Cómo se evalúan? problemas test problemas reales problemas generados al azar cotas inferiores Verificación y Validación de Software UNCo 14
8 Metaheurísticas (4) Una metaheurística es un conjunto de conceptos que pueden ser usados para definir algoritmos heurísticos para un amplio espectro de problemas diferentes. Las metaheurísticas son estrategias de alto nivel que guían una heuristica específica del problema a resolver para mejorar su perfomance Verificación y Validación de Software UNCo 15 Metaheurísticas (5) Principales características: Son estrategias que guían un proceso de búsqueda. No son técnicas para un problema específico. Sus conceptos básicos se pueden describir con un alto nivel de abstración. El objetivo es explorar eficientemente el espacio de búsqueda para encontrar soluciones óptimas o casi óptimas. Las estrategias van desde algoritmos simples de búsqueda local a complejos procesos de aprendizaje. Son en muchos casos algoritmos no determinísticos. Pueden usar conocimiento del dominio específico de aplicación manejando heurísticas controladas por ellas. Algunas estrategias hace uso de la memoria de la búsqueda para guiar los pasos futuros. Verificación y Validación de Software UNCo 16
9 Metaheurísticas (6) Estrategias de Metaheurísticas: Simulated annealing (primeros trabajos 1953, 1983) Algoritmos Tabú Search (primeras aplicaciones a optimización combinatoria en 1986, basado en algunas ideas de los 70) Algoritmos genéticos y evolutivos (primeras ideas en los 60, mayormente aplicaciones a problemas de IA). GRASP (1989) Colonia de hormigas (1992), Swarm Optimization Redes neuronales (primeras ideas en los 60, resurgieron en los 80) VNS otras.. Híbridos Verificación y Validación de Software UNCo 17 Metaheurísticas (7) Aplicación a Minimización de TS Considerar la dificultad de conseguir valores aceptables para el cubrimiento de decisiones, condiciones y condiciones/decisiones. Ejemplo: encontrar valores que satisfagan la condición if (a<10) cuando esa instrucción se encuentra a una distancia computacional considerable de la entrada del programa. Generación de casos de test: Se construye una función de minimización para cada condición, aplicando diferentes heurísticas para conseguir el cubrimiento, en función de los datos recogidos durante la ejecución de cada caso. Verificación y Validación de Software UNCo 18
10 Búsqueda Tabú (1) Se basa en el algoritmo de los k vecinos junto al mantenimiento en memoria de una lista Tabú que evita repetir la búsqueda dentro de un área del espacio de soluciones (o movimientos). Permite elegir una solución vecina que no sea estrictamente mejor que la actual para salir de un mínimo local. El algoritmo requiere algunos parámetros, como la función objetivo (mide el costo de la solución), la estrategia para seleccionar vecinos y la memoria del algoritmo. Usar una Función de Aspiración que permita en algunos casos elegir un elemento o movimiento Tabú Verificación y Validación de Software UNCo 19 Búsqueda Tabú (2) Estructura de un Algoritmo de Búsqueda Tabú: Generar una solución aleatoria como solución actual Calcular costo de la solución actual y almacenarlo como mejor costo Añadir la solución actual como nueva solución Añadir la nueva solución a la lista tabú while no se alcance el criterio de parada Calcular los vecinos candidatos Calcular el costo de los candidatos Almacenar el mejor candidato como nueva solución Añadir la nueva solución a la lista tabú if costo de nueva solución < mejor costo Almacenar nueva solución como mejor solución Almacenar costo de la nueva solución como mejor costo end_if Almacenar nueva solución como solución actual end_while Verificación y Validación de Software UNCo 20
11 Búsqueda Tabú (3) Tuya, et al. (2008) : A tabu search algorithm for structural software testing. Computers & OR 35(10): Proponen la utilización de un algoritmo basado en Búsqueda Tabú para lograr amplio cubrimiento de decisiones: Un grafo de flujo de control del programa, y en los nodos se anota si el propio nodo ha sido alcanzado, cuántas veces lo ha sido y cuál es el mejor caso de prueba que lo ha alcanzado Cuando no hay ramas inalcanzables, el máximo valor posible para el cubrimiento es el 100%, mientras que será desconocido en caso de que las haya Verificación y Validación de Software UNCo 21 Búsqueda Tabú (4) Tuya: Algoritmo de Búsqueda Tabú Por este motivo establecen como criterio de parada haber alcanzado todas las ramas, o que el algoritmo haya superado un número de iteraciones prefijado. Cada solución se caracteriza por su conjunto de valores de entrada. Función de costo o fitness: se considera que el mejor caso de test es aquel que tiene más posibilidades de que sus vecinos permuten entre ramas o, lo que es lo mismo, aquel que alcanza el nodo con valores límite. Ejemplo: si la condición es x!=y, la función de costo será x y Verificación y Validación de Software UNCo 22
12 Búsqueda Tabú (5) Tuya: Algoritmo de Búsqueda Tabú Para calcular los vecinos candidatos, se basan en que, si un caso de test cubre al padre de un nodo pero no a su hijo, entonces puede encontrarse un vecino que alcance al hijo utilizando el caso que cubre al padre a partir de la mejor solución. El costo para un test x cuando no alcanza un nodo nj pero sí alcanzó el nodo padre ni. Este costo se usa para intensificar la búsqueda. El costo para un test x cuando alcanza un nodo ni. Este costo se usa para diversificar la búsqueda. Verificación y Validación de Software UNCo 23 Búsqueda Tabú (5) Tuya: Algoritmo de Búsqueda Tabú A partir de la solución actual se generan 2n vecinos cercanos y 2n vecinos lejanos (donde n es el número de variables de entrada del programa) Los candidatos se comprueban frente a la lista tabú, rechazándose aquellos que ya existen En la siguiente iteración se repite el proceso, con la diferencia de que el nodo objetivo puede haber cambiado si alguno de los candidatos alcanzó el entonces nodo objetivo. Verificación y Validación de Software UNCo 24
13 Búsqueda Tabú (6) Tuya: Algoritmo de Búsqueda Tabú Verificación y Validación de Software UNCo 25 Búsqueda Tabú (7) Tuya: Algoritmo de Búsqueda Tabú Soluciones para un caso de estudio Verificación y Validación de Software UNCo 26
14 Búsqueda Tabú (8) Tuya: Algoritmo de Búsqueda Tabú Soluciones para un caso de estudio Verificación y Validación de Software UNCo 27 Algoritmos Genéticos (1) Técnicas de búsqueda probabilística basadas en la teoría de la evolución, la selección y la herencia. Modelar o simular fenómenos naturales, evolución de las especies, procesos de selección natural, mutación, etc. Ventajas: flexibilidad, simplicidad y capacidad de hibridación Desventajas: naturaleza heurística y el manejo de restricciones Vocabulario de la genética: población, individuos, cromosomas, etc. Programas o algoritmos evolutivos Verificación y Validación de Software UNCo 28
15 Algoritmos Genéticos (2) Trabajan con una población de soluciones, denominadas individuos, y procesan toda la información que ésta contiene de forma paralela. A lo largo de las distintas generaciones de la población, realizan un proceso de selección y mejora de los individuos, de manera que son ideales para la resolución de problemas de optimización Cada individuo se evalúa con una función de fitness que mide la calidad de la solución respecto al problema que se está resolviendo. Verificación y Validación de Software UNCo 29 Algoritmos Genéticos (3) Dos tipos de operadores: Operadores de Selección: se encargan de seleccionar individuos de una población para la reproducción. Operadores de Reproducción: permiten la generación de nuevos individuos en la población. Operador de Cruzamiento: genera dos individuos nuevos, denominados hijos, a partir de dos individuos seleccionados previamente, denominados padres. Los hijos heredan parte de la información almacenada en cada uno de los dos padres Operador de Mutación: tiene como finalidad alterar la información almacenada en un individuo Verificación y Validación de Software UNCo 30
16 Algoritmos Genéticos (4) Estructura de un Algoritmo Genético: Empezar t := 0 inicializar P(t) evaluar P(t) Mientras no se cumpla la condición de parada hacer Empezar t:= t + 1 construir P (t) a partir de P( t-1) modificar P(t) evaluar P (t) Fin Fin Verificación y Validación de Software UNCo 31 Algoritmos Genéticos (5) Características: P(t) = {x1, x2, x3...xn} población de la generación t Los x k son los individuos de esa población. Cada uno representa una solución del problema que se está tratando. Se evalúa cada individuo usando una función fitness para medirlo. Para formar la población de la siguiente generación se eligen los mejores, se realiza el cruzamiento y eventualmente se realiza una mutación. Después de un numero de generaciones se espera que el mejor individuo represente una buena solución (casi óptima). Verificación y Validación de Software UNCo 32
17 Algoritmos Genéticos (6) Minimización de una función max f(x) = x sen (10 pi x) + 1 con 1 < x < 2 Se puede resolver analíticamente Verificación y Validación de Software UNCo 33 Algoritmos Genéticos (7) Representación: Cromosoma: vector binario de longitud relacionada con la precisión requerida (en este caso queremos 6 decimales) [-1,2] tiene que dividirse en intervalos (22 bits) = 2**21 < < 2**22 = Para convertir un string binario en un número real: pasar (b21...b0) de base 2 a base 10 y obtener x x = -1 + x * (3/ 2**22 1) Población inicial Se construye una población de vectores de binarios de 22 bits. Evaluación La función de evaluación es la función f Verificación y Validación de Software UNCo 34
18 Algoritmos Genéticos (8) Operadores genéticos: Mutación: Se altera uno o mas genes con una probabilidad igual a la tasa de mutación predeterminada Por ejemplo si el 5to gen de v3 = ( ) es elegido para mutación el nuevo cromosoma queda v3 = ( ) En cambio si se eligiera el 10mo gen quedaría v3 = ( ) Verificación y Validación de Software UNCo 35 Algoritmos Genéticos (9) Operadores genéticos: Cruzamiento: Supongamos que tienen que cruzarse v2 y v3 y que el punto de cruzamiento queda en el 5to gen. Entonces si v2 = ( ) v3 =( ) los nuevos cromosomas son v2 = ( ) v3 = ( ) Verificación y Validación de Software UNCo 36
19 Algoritmos Genéticos (10) Aplicación a Testing: Domínguez, J. J., Estero, A., Medina, I. (2008): Generación de mutantes con algoritmos genéticos. Workshop de las JISBD, Vol. 2, No. 4, ISSN , SISTEDES. Srivastava, P., Tai hoon, K. (2009): Application of Genetic Algorithm in Software Testing. International Journal of Software Engineering and Its Applications, Vol. 3, No.4. Verificación y Validación de Software UNCo 37
Programación Genética
Programación Genética Programación Genética consiste en la evolución automática de programas usando ideas basadas en la selección natural (Darwin). No sólo se ha utilizado para generar programas, sino
Más detallesMETAHEURISTICAS Ideas, Mitos, Soluciones
METAHEURISTICAS Ideas, Mitos, Soluciones OPTIMIZACION COMBINATORIA Qué es un problema de optimización combinatoria? Cómo se modela matemáticamente un problema de optimización combinatoria? Minimizar (o
Más detallesMétodos evolutivos de Optimización. Prof. Cesar de Prada Dpto. Ingeneiria de Sitemas y Automática Universidad de Valladolid
Métodos evolutivos de Optimización Prof. Cesar de Prada Dpto. Ingeneiria de Sitemas y Automática Universidad de Valladolid Indice Introducción Método de Montecarlo Algoritmos genéticos Tabú Search Simulated
Más detallesUn algoritmo genético híbrido para resolver el EternityII. Rico, Martin; Ros, Rodrigo Directora: Prof. Dra. Irene Loiseau
Un algoritmo genético híbrido para resolver el EternityII Rico, Martin; Ros, Rodrigo Directora: Prof. Dra. Irene Loiseau Temas Temas Introducción Eternity II Historia Descripción Demo Metaheurísticas Algoritmos
Más detallesETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS
ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS EtsiIngenio Inteligencia Artificial 1 Raposo López Alejandro Sánchez Palacios Manuel Resumen dibujo de grafos mediante algoritmos genéticos
Más detallesAlgoritmos Genéticos. Introduccion a la Robótica Inteligente
Algoritmos Genéticos Introduccion a la Robótica Inteligente 7 Marzo 2014 (IRIN) AGs 7/03/2014 1 / 43 Índice 1 Introducción 2 Algoritmos Genéticos 3 Algunos Fundamentos Matemáticos 4 Conclusiones (IRIN)
Más detallesBúsqueda Local. cbea (LSI-FIB-UPC) Inteligencia Artificial Curso 2011/2012 1 / 33
Introducción Búsqueda Local A veces el camino para llegar a la solución no nos importa, buscamos en el espacio de soluciones Queremos la mejor de entre las soluciones posibles alcanzable en un tiempo razonable
Más detallesIntroducción a los Algoritmos Genéticos
Introducción a los Algoritmos Genéticos Francisco José Ribadas Pena INTELIGENCIA ARTIFICIAL 5 Informática ribadas@uvigo.es 17 de octubre de 2005 c FJRP 2005 ccia IA Métodos de 8 < : 1 Introducción 9 =
Más detallesAlgoritmos Genéticos Y
Algoritmos Genéticos Y Optimización n Heurística Dr. Adrian Will Grupo de Aplicaciones de Inteligencia Artificial Universidad Nacional de Tucumán awill@herrera.unt.edu.ar Algoritmos Genéticos - Operadores
Más detallesCAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de
CAPITULO 4 JUSTIFICACION DEL ESTUDIO En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de estudios previos y los alcances que justifican el presente estudio. 4.1. Justificación.
Más detallesCiclo de vida y Metodologías para el desarrollo de SW Definición de la metodología
Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto
Más detallesMétodos Heurísticos en Inteligencia Artificial
Métodos Heurísticos en Inteligencia Artificial Javier Ramírez rez-rodríguez Ana Lilia Laureano-Cruces Universidad Autónoma Metropolitana Métodos Heurísticos en Inteligencia Artificial Los problemas de
Más detallesScheduling Problem. Cuándo y dónde debo hacer cada trabajo?
Scheduling Problem Cuándo y dónde debo hacer cada trabajo? Ejemplos de problemas de asignación de recursos Fabricación de varios tipos de productos Asignación de turnos de trabajo Inversión financiera
Más detallesFundamentos del diseño 3ª edición (2002)
Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software
Más detallesIngeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007
Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el
Más detallesAlgoritmos Genéticos Y
Algoritmos Genéticos Y Optimización n Heurística Dr. Adrian Will Grupo de Aplicaciones de Inteligencia Artificial Universidad Nacional de Tucumán awill@herrera.unt.edu.ar Operadores de Mutación El operador
Más detallesComplejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III
Complejidad - Problemas NP-Completos Algoritmos y Estructuras de Datos III Teoría de Complejidad Un algoritmo eficiente es un algoritmo de complejidad polinomial. Un problema está bien resuelto si se conocen
Más detallesPRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE
PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,
Más detallesElementos requeridos para crearlos (ejemplo: el compilador)
Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción
Más detallesAplicación de la inteligencia artificial a la resolución del problema de asignación de estudiantes del departamento de PDI
Aplicación de la inteligencia artificial a la resolución del problema de asignación de estudiantes del departamento de PDI Ricardo Köller Jemio Departamento de Ciencias Exactas e Ingeniería, Universidad
Más detallesEstas visiones de la información, denominadas vistas, se pueden identificar de varias formas.
El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los
Más detalles7. Conclusiones. 7.1 Resultados
7. Conclusiones Una de las preguntas iniciales de este proyecto fue : Cuál es la importancia de resolver problemas NP-Completos?. Puede concluirse que el PAV como problema NP- Completo permite comprobar
Más detallesCICLO DE VIDA DEL SOFTWARE
CICLO DE VIDA DEL SOFTWARE 1. Concepto de Ciclo de Vida 2. Procesos del Ciclo de Vida del Software 3. Modelo en cascada 4. Modelo incremental 5. Modelo en espiral 6. Prototipado 7. La reutilización en
Más detallesRedes de Kohonen y la Determinación Genética de las Clases
Redes de Kohonen y la Determinación Genética de las Clases Angel Kuri Instituto Tecnológico Autónomo de México Octubre de 2001 Redes Neuronales de Kohonen Las Redes de Kohonen, también llamadas Mapas Auto-Organizados
Más detallesDISEÑO DE FUNCIONES (TRATAMIENTOS)
DISEÑO DE FUNCIONES (TRATAMIENTOS) Diseño Estructurado. Estrategias para Derivar el Diagrama de Estructura. Diseño de Módulos Programables. 1. DISEÑO ESTRUCTURADO El Diseño es el proceso por el cual se
Más detallesDiseño orientado al flujo de datos
Diseño orientado al flujo de datos Recordemos que el diseño es una actividad que consta de una serie de pasos, en los que partiendo de la especificación del sistema (de los propios requerimientos), obtenemos
Más detallesSistemas de Recuperación de Información
Sistemas de Recuperación de Información Los SRI permiten el almacenamiento óptimo de grandes volúmenes de información y la recuperación eficiente de la información ante las consultas de los usuarios. La
Más detallesLA MEDIDA Y SUS ERRORES
LA MEDIDA Y SUS ERRORES Magnitud, unidad y medida. Magnitud es todo aquello que se puede medir y que se puede representar por un número. Para obtener el número que representa a la magnitud debemos escoger
Más detallesAnálisis de los datos
Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Análisis de los datos Hojas de cálculo Tema 6 Análisis de los datos Una de las capacidades más interesantes de Excel es la actualización
Más detallesLeica Application Suite
Leica Application Suite Macro Editor y Macro Runner Personalizado y automatizado 2 Las instrucciones se pueden pausar opcionalmente cuando la rutina se ejecuta para interactuar con las imágenes. Las instrucciones
Más detallesComputación Evolutiva - Mutación: Cruza, Inversión y Mutación para Permutaciones
Computación Evolutiva - Mutación: Cruza, Inversión y Mutación para Permutaciones Dr. Gregorio Toscano Pulido Laboratorio de Tecnologías de Información Centro de Investigación y de Estudios Avanzados del
Más detallesProceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:
PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo
Más detallesControl Estadístico del Proceso. Ing. Claudia Salguero Ing. Alvaro Díaz
Control Estadístico del Proceso Ing. Claudia Salguero Ing. Alvaro Díaz Control Estadístico del Proceso Es un conjunto de herramientas estadísticas que permiten recopilar, estudiar y analizar la información
Más detallesTécnicas de prueba 1. FUNDAMENTOS DE LA PRUEBA DEL SOFTWARE
Técnicas de prueba El desarrollo de Sistemas de software implica la realización de una serie de actividades predispuestas a incorporar errores (en la etapa de definición de requerimientos, de diseño, de
Más detalles2 Teoría de colas o líneas de espera
2 Teoría de colas o líneas de espera El tráfico en redes se puede modelar con la ayuda de la teoría de colas, es por ello ue es importante estudiarlas y comprenderlas. Existen varias definiciones sobre
Más detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detallesResumen de técnicas para resolver problemas de programación entera. 15.053 Martes, 9 de abril. Enumeración. Un árbol de enumeración
5053 Martes, 9 de abril Ramificación y acotamiento () Entregas: material de clase Resumen de técnicas para resolver problemas de programación entera Técnicas de enumeración Enumeración completa hace una
Más detallesQué es Scrum? Basado en el texto Explicando Scrum a mi abuela de Jorge Serrano - MVP Visual Developer - Visual Basic
Qué es Scrum? Basado en el texto Explicando Scrum a mi abuela de Jorge Serrano - MVP Visual Developer - Visual Basic http://geeks.ms/blogs/jorge/archive/2007/05/09/explicando-scrum-a-mi-abuela.aspx Por
Más detallesGANTT, PERT y CPM. Figura 5.3: Carta GANTT 3.
GANTT, PERT y CPM Características Conseguir una buena programación es un reto, no obstante es razonable y alcanzable. Ella debe tener el compromiso del equipo al completo, para lo cual se recomienda que
Más detallesPrácticas PGSI. Práctica 4. Gestión de las Cargas de Trabajo de los Recursos y Delimitaciones de Tareas
Prácticas PGSI Práctica 4. Gestión de las Cargas de Trabajo de los Recursos y Delimitaciones de Tareas Introducción a la Programación con Recursos A medida que avanza la planificación se realizan ajustes
Más detalles1.1. Introducción y conceptos básicos
Tema 1 Variables estadísticas Contenido 1.1. Introducción y conceptos básicos.................. 1 1.2. Tipos de variables estadísticas................... 2 1.3. Distribuciones de frecuencias....................
Más detallesBúsqueda heurística Prof. Constantino Malagón
Búsqueda heurística Prof. Constantino Malagón Area de Computación e Inteligencia Artificial 1 Búsqueda heurística Los métodos de búsqueda heurística disponen de alguna información sobre la proximidad de
Más detallesOptimización de Procesos
Optimización de Procesos Tier I: Métodos Matemáticos de Click to edit Master title style Optimización Sección 4: Optimización Multi-Objetivo Click to Introducción edit Master title style La optimización
Más detallesSCT3000 95. Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A. microtes@arrakis.es
SCT3000 95 Versión 3.5 Software para la calibración de transductores de fuerza. Microtest S.A. microtes@arrakis.es Introducción El programa SCT3000 95, es un sistema diseñado para la calibración automática
Más detallesCAPÍTULO 3 Servidor de Modelo de Usuario
CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes
Más detallesAlgoritmos sobre Grafos
Sexta Sesión 27 de febrero de 2010 Contenido Deniciones 1 Deniciones 2 3 4 Deniciones sobre Grafos Par de una lista de nodos y una lista de enlaces, denidos a su vez como pares del conjunto de nodos.
Más detallesIntroducción a los Algoritmos Genéticos. Tomás Arredondo Vidal 17/4/09
Introducción a los Algoritmos Genéticos Tomás Arredondo Vidal 17/4/09 Esta charla trata de lo siguiente: Introducción a algunos aspectos de los algoritmos genéticos. Introducción a algunas aplicaciones
Más detallesCapítulo 5: Pruebas y evaluación del sistema. A continuación se muestran una serie de pruebas propuestas para evaluar varias
Capítulo 5: Pruebas y evaluación del sistema 5.1 Definición de pruebas para la aplicación A continuación se muestran una serie de pruebas propuestas para evaluar varias características importantes del
Más detallesIntroducción al Proceso de Pruebas.
Introducción al Proceso de Pruebas. Javier Gutiérrez / javierj@us.es Introducción al proceso de pruebas Objetivo: repasar las ideas principales sobre las pruebas del software y, en concreto, las que usaremos
Más detallesSEGURIDAD Y PROTECCION DE FICHEROS
SEGURIDAD Y PROTECCION DE FICHEROS INTEGRIDAD DEL SISTEMA DE ARCHIVOS ATAQUES AL SISTEMA PRINCIPIOS DE DISEÑO DE SISTEMAS SEGUROS IDENTIFICACIÓN DE USUARIOS MECANISMOS DE PROTECCIÓN Y CONTROL INTEGRIDAD
Más detallesTesting. Tipos, Planificación y Ejecución de Pruebas
Testing Tipos, Planificación y Ejecución de Pruebas Contenido Definiciones del Testing de Software Objetivos, conceptos Tipos de Test Testing a-la RUP Rol del Testing en el proceso Artefactos Trabajadores
Más detallesMineria de datos y su aplicación en web mining data Redes de computadores I ELO 322
Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322 Nicole García Gómez 2830047-6 Diego Riquelme Adriasola 2621044-5 RESUMEN.- La minería de datos corresponde a la extracción
Más detallesMétodos generales de generación de variables aleatorias
Tema Métodos generales de generación de variables aleatorias.1. Generación de variables discretas A lo largo de esta sección, consideraremos una variable aleatoria X cuya función puntual es probabilidad
Más detallesIntroducción a la Computación Evolutiva
Introducción a la Computación Evolutiva Sección de Computación CINVESTAV-IPN Av. IPN No. 2508 Col. San Pedro Zacatenco México, D.F. 07300 email: ccoello@cs.cinvestav.mx http: //delta.cs.cinvestav.mx/~ccoello
Más detallesANÁLISIS DE DATOS NO NUMERICOS
ANÁLISIS DE DATOS NO NUMERICOS ESCALAS DE MEDIDA CATEGORICAS Jorge Galbiati Riesco Los datos categóricos son datos que provienen de resultados de experimentos en que sus resultados se miden en escalas
Más detallesEstructuras de Control - Diagrama de Flujo
RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS Ingeniería en Computación Ingeniería en Informática UNIVERSIDAD NACIONAL DE SAN LUIS DEPARTAMENTO DE INFORMÁTICA AÑO 2015 Índice 1. Programación estructurada 2 1.1.
Más detallesDE VIDA PARA EL DESARROLLO DE SISTEMAS
MÉTODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS 1. METODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS CICLO DE VIDA CLÁSICO DEL DESARROLLO DE SISTEMAS. El desarrollo de Sistemas, un proceso
Más detallesTutorial de Subneteo Clase A, B, C - Ejercicios de Subnetting CCNA 1
Tutorial de Subneteo Clase A, B, C - Ejercicios de Subnetting CCNA 1 La función del Subneteo o Subnetting es dividir una red IP física en subredes lógicas (redes más pequeñas) para que cada una de estas
Más detallesResolución de Problemas
Introducción Resolución de Problemas La resolución de problemas es una capacidad que consideramos inteligente Somos capaces de resolver problemas muy diferentes Encontrar el camino en un laberinto Resolver
Más detallesCICLO DE VIDA DEL SOFTWARE. Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software
3.010 CONCEPTO DE CICLO DE VIDA Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software IEEE 1074 Un marco de referencia que contiene los
Más detallesBase de datos en Excel
Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de
Más detallesSISI / TS / AG / SR SIMULADOR DE SISTEMAS DE INVENTARIOS ESTOCASTICOS
62 CAPITULO 3 SISI / TS / AG / SR SIMULADOR DE SISTEMAS DE INVENTARIOS ESTOCASTICOS En este capítulo se describe de manera general lo que es SISI / TS / AG / SR y se explica cada una de las opciones que
Más detallesPROYECTOS, FORMULACIÓN Y CRITERIOS DE EVALUACIÓN
PROYECTOS, FORMULACIÓN Y CRITERIOS DE EVALUACIÓN GESTIÓN DE PROYECTOS CON PLANNER AVC APOYO VIRTUAL PARA EL CONOCIMIENTO GESTIÓN DE PROYECTOS CON PLANNER Planner es una poderosa herramienta de software
Más detallesMETODOLOGÍA PARA LA MEJORA Y DIGITALIZACIÓN DE TRÁMITES. Etapa 1: Diagnóstico Cómo es mi proceso actual?
METODOLOGÍA PARA LA MEJORA Y DIGITALIZACIÓN DE TRÁMITES Etapa 1: Diagnóstico Cómo es mi proceso actual? El primer paso para mejorar un trámite, ya sea con miras a digitalizarlo o solo para mejorarlo en
Más detallesEstructura de datos y de la información Boletín de problemas - Tema 7
Estructura de datos y de la información Boletín de problemas - Tema 7 1. Un concesionario de coches tiene un número limitado de M modelos, todos en un número limitado de C colores distintos. Cuando un
Más detallesAritmética finita y análisis de error
Aritmética finita y análisis de error Escuela de Ingeniería Informática de Oviedo (Dpto. de Matemáticas-UniOvi) Computación Numérica Aritmética finita y análisis de error 1 / 47 Contenidos 1 Sistemas decimal
Más detallesCAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo
CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo Laboratorio de Redes de Neuronas Artificiales y Sistemas Adaptativos Universidade
Más detallesColegio Salesiano Don Bosco Academia Reparación Y Soporte Técnico V Bachillerato Autor: Luis Orozco. Subneteo
Subneteo La función del Subneteo o Subnetting es dividir una red IP física en subredes lógicas (redes más pequeñas) para que cada una de estas trabajen a nivel envío y recepción de paquetes como una red
Más detalles- Bases de Datos - - Diseño Físico - Luis D. García
- Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo
Más detallesCiclo de vida del Software
Tema 2: Ciclo de vida del Software Marcos López Sanz Índice Qué es el ciclo de vida del Software? La norma 12207-2008 Modelos de desarrollo Qué es el Ciclo de Vida del SW? Es una sucesión de etapas por
Más detallesALGORITMOS GENÉTICOS
Arranz de la Peña, Jorge Universidad Carlos III 100025106@alumnos.uc3m.es ALGORITMOS GENÉTICOS Parra Truyol, Antonio Universidad Carlos III 100023822@alumnos.uc3m.es En este documento se pretende analizar
Más detallesGestión de Empresas Visual e Interactiva E.R.P.
Gestión de Empresas Visual e Interactiva E.R.P. Qué es? Software de Gestión Empresas de productos modulares Gestión Comercial y de Producción Gestión del Diseño Generación rápida de composiciones complejas
Más detallesOTRAS OPCIONES DE PREDICCIÓN
OTRAS OPCIONES DE PREDICCIÓN José Alfredo Carrillo Salazar Montecillo, México. Verano 2004 GENE HUNTER NEUROSHELL CLASSIFIER NEUROSHELL PREDICTOR José Alfredo Carrillo Salazar Montecillo, México. Verano
Más detallesAnálisis de propuestas de evaluación en las aulas de América Latina
Esta propuesta tiene como objetivo la operatoria con fracciones. Se espera del alumno la aplicación de un algoritmo para resolver las operaciones. Estas actividades comúnmente presentan numerosos ejercicios
Más detallesLaboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO
Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO 1.- Objetivos del laboratorio Diseño de clases en C++ Comprensión y uso del TAD Árbol Binario de Búsqueda
Más detallesCapítulo 2. Técnicas de procesamiento digital de imágenes y reconocimiento de patrones.
Capítulo 2. Técnicas de procesamiento digital de imágenes y reconocimiento de patrones. 2.1 Revisión sistema reconocimiento caracteres [9]: Un sistema de reconocimiento típicamente esta conformado por
Más detallesx 10000 y 8000 x + y 15000 a) La región factible asociada a las restricciones anteriores es la siguiente: Pedro Castro Ortega lasmatematicas.
Pruebas de Acceso a Enseñanzas Universitarias Oficiales de Grado (PAEG) Matemáticas aplicadas a las Ciencias Sociales II - Septiembre 2012 - Propuesta A 1. Queremos realizar una inversión en dos tipos
Más detallesOPTIMIZACIÓN DE TRANSFORMACIONES LINEALES DE DATOS MEDIANTE BUSQUEDA LOCAL
OPTIMIZACIÓN DE TRANSFORMACIONES LINEALES DE DATOS MEDIANTE BUSQUEDA LOCAL INGENIERIA INFORMATICA AUTOR: FRANCISCO GODOY MUÑOZ-TORRERO TUTOR: JOSE MARIA VALLS FERRAN CO-DIRECTOR: RICARDO ALER MUR Contenidos
Más detallesPROCEDIMIENTO AUDITORÍA INTERNA
PROCEDIMIENTO AUDITORÍA INTERNA CONTENIDO 1. OBJETO... 2 2. ALCANCE... 2 3. DEFINICIONES... 2 5. PROCEDIMIENTO... 4 5.1 Planificación de la Auditoría... 4 5.2 Calificación de Auditores... 4 5.3 Preparación
Más detallesTema 2. Ingeniería del Software I feliu.trias@urjc.es
Tema 2 Ciclo de vida del software Ingeniería del Software I feliu.trias@urjc.es Índice Qué es el ciclo de vida del Software? El Estándar 12207 Modelos de proceso Qué es el Ciclo de Vida del SW? Definición
Más detallesIntroducción En los años 60 s y 70 s cuando se comenzaron a utilizar recursos de tecnología de información, no existía la computación personal, sino que en grandes centros de cómputo se realizaban todas
Más detallesSeguimiento y evaluación
Seguimiento y evaluación Por qué es necesario contar con herramientas para el seguimiento y la evaluación? Es la manera en que se puede evaluar la calidad e impacto del trabajo en relación con el plan
Más detallesDecisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama.
Diagrama de Flujo La presentación gráfica de un sistema es una forma ampliamente utilizada como herramienta de análisis, ya que permite identificar aspectos relevantes de una manera rápida y simple. El
Más detallesActividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.
Apéndice C. Glosario A Actividades de coordinación entre grupos. Son dinámicas y canales de comunicación cuyo objetivo es facilitar el trabajo entre los distintos equipos del proyecto. Actividades integradas
Más detallesEl Outsourcing como Opción Estratégica
El Outsourcing como Opción Estratégica Improven Consultores Colón 18, 2ºF 46004 Valencia Tel: 96 352 18 22 Fax: 96 352 20 79 www.improven-consultores.com info@improven-consultores.com El outsourcing como
Más detallesTema 3. Medidas de tendencia central. 3.1. Introducción. Contenido
Tema 3 Medidas de tendencia central Contenido 31 Introducción 1 32 Media aritmética 2 33 Media ponderada 3 34 Media geométrica 4 35 Mediana 5 351 Cálculo de la mediana para datos agrupados 5 36 Moda 6
Más detallesLección 22: Probabilidad (definición clásica)
LECCIÓN 22 Lección 22: Probabilidad (definición clásica) Empezaremos esta lección haciendo un breve resumen de la lección 2 del libro de primer grado. Los fenómenos determinísticos son aquellos en los
Más detallesCATÁLOGO DE INFERENCIAS
Las inferencias son los elementos claves en los modelos de conocimiento o Son los elementos constitutivos de los procesos de razonamiento No existe ningún estándar CommonKADS ofrece un catálogo que cubre
Más detallesFigura 4.1 Clasificación de los lenguajes de bases de datos
1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Este capítulo describen los distintos lenguajes para bases de datos, la forma en que se puede escribir un lenguaje
Más detallesCLASE # 5 TÉCNICAS DE CAJA BLANCA
CLASE # 5 TÉCNICAS DE CAJA BLANCA 750105M - TÉCNICAS DE PRUEBAS DE SOFTWARE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DEL VALLE SEMESTRE 2013A - DOCENTE BEATRIZ FLORIAN GAVIRIA Basado Parcialmente
Más detallesTEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS
1 1 BASES DE DATOS DISTRIBUIDAS TEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS 3.1 Metodología del procesamiento de consultas distribuidas 3.2 Estrategias de
Más detallesEjemplos de conversión de reales a enteros
Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print
Más detallesRepresentación del conocimiento. Diferencia entre información y conocimiento (1) Diferencia entre información y conocimiento (2) Notas
Todo problema es más sencillo de resolver si disponemos de conocimiento específico sobre él Este conocimiento dependiente del dominio se combina con el conocimiento general sobre cómo resolver problemas
Más detalles1. INTRODUCCIÓN 1.1 INGENIERÍA
1. INTRODUCCIÓN 1.1 INGENIERÍA Es difícil dar una explicación de ingeniería en pocas palabras, pues se puede decir que la ingeniería comenzó con el hombre mismo, pero se puede intentar dar un bosquejo
Más detallesAdministración de proyectos. Organizar, planificar y programar los proyectos de software
Administración de proyectos Organizar, planificar y programar los proyectos de software Administración de proyectos Trata de las actividades que hay que realizar para asegurar que el software se entregará
Más detallesCREACIÓN Y OPERABILIDAD DE UNA BASE DE DATOS DE ADN DISTRIBUIDA MEDIANTE EL USO DE UN SISTEMA GRID CREACIÓN DE ÁRBOLES DE SUFIJOS
CREACIÓN Y OPERABILIDAD DE UNA BASE DE DATOS DE ADN DISTRIBUIDA MEDIANTE EL USO DE UN SISTEMA GRID CREACIÓN DE ÁRBOLES DE SUFIJOS BÚSQUEDA DE PATRONES HABITUALES COMPRESIÓN DE MOLÉCULAS DE ADN ESTUDIOS
Más detallesPROCEDIMIENTO ESPECÍFICO. Código A-VI-02-A-1 Edición 0
Índice 1. TABLA RESUMEN... 2 2. OBJETO... 2 3. ALCANCE... 2 4. RESPONSABILIDADES... 3 5. ENTRADAS... 3 6. SALIDAS... 3 7. PROCESOS RELACIONADOS... 3 8. DIAGRAMA DE FLUJO... 4 9. DESARROLLO... 5 9.1. ANÁLISIS
Más detallesDesarrollo de un sistema capaz de optimizar rutas de entrega utilizando algoritmos genéticos
MT 6 Desarrollo de un sistema capaz de optimizar rutas de entrega utilizando algoritmos genéticos Rosario Baltazar 1 Judith Esquivel Vázquez 2 Andrea Rada 3 Claudia Díaz 4 Resumen Durante los últimos 15
Más detallesDefinición 2.1.1. Se llama suceso aleatorio a cualquier subconjunto del espacio muestral.
Capítulo 2 Probabilidades 2. Definición y propiedades Al realizar un experimento aleatorio nuestro interés es obtener información sobre las leyes que rigen el fenómeno sometido a estudio. El punto de partida
Más detallesEntidad Formadora: Plan Local De Formación Convocatoria 2010
Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú
Más detalles