11 research outputs found

    Sequence Searching Allowing for Non-Overlapping Adjacent Unbalanced Translocations

    Get PDF

    Aplicación de técnicas de pruebas automáticas basadas en propiedades a los diferentes niveles de prueba del software

    Get PDF
    [Resumen]Las pruebas son una de las actividades clave en el desarrollo de software, puesto que ayudan a detectar defectos que, de otro modo, pasarían desapercibidos hasta que el software sea desplegado. Sin embargo, al contrario que en otras etapas del ciclo de vida del software, como son el análisis, el diseño o la implementación, para las que existen metodologías y técnicas bien definidas y ampliamente aceptadas en la comunidad informática, junto con herramientas que permiten llevar a cabo dichas tareas, no hay una uniformidad sobre las metodologías, técnicas o herramientas a utilizar para llevar a cabo las pruebas del software de una manera eficiente y eficaz. Este hecho provoca que, muchas veces, éstas sean omitidas o no realizadas con todo el rigor necesario. Esta tesis presenta una aproximación, basada en propiedades y puramente funcional, para la realización de las pruebas del software, que intenta paliar estos problemas. Para ello, se definen metodologías y técnicas de pruebas, integradas en el proceso de desarrollo de software, que pueden ser aplicadas a los diferentes niveles de pruebas del software. Así, pueden utilizarse para llevar a cabo pruebas unitarias y de componente, en las que se comprueba que cada componente individual se comporta de la manera esperada, pruebas de integración, que comprueban las interacciones de los componentes que forman parte de un sistema, y pruebas de sistema, que se encargan de comprobar diferentes aspectos del sistema como un todo. Además, se utiliza un lenguaje de especificación de pruebas común en todas las aproximaciones desarrolladas, el lenguaje de programación funcional Erlang, y las metodologías se definen de manera independiente a la estructura del software concreto a probar o el lenguaje de programación en el que éste esté implementado. Por último, cabe destacar que el uso de estas metodologías y técnicas de pruebas se ilustra a través de un ejemplo industrial, en concreto, el sistema VoDKATV. Este sistema ofrece acceso a servicios multimedia (canales de televisión, videoclub, aplicaciones, juegos, entre otros) a través de diferentes tipos de dispositivos, como, por ejemplo, televisiones, ordenadores, tabletas o móviles. Con respecto a la arquitectura, el sistema VoDKATV está compuesto por múltiples componentes implementados con diferentes tecnologías (Java, Erlang, C, etc.) que se integran entre sí. La complejidad de este sistema permite ilustrar cada una de las metodologías y técnicas de pruebas desarrolladas con un ejemplo real

    Algoritmos de Optimización sobre Unidades de Proceso Gráfico

    Get PDF
    En la actualidad, han emergido nuevas plataformas de cómputo paralelo tales como las Unidades de Procesamiento Gráfico (GPUs, por sus siglas en inglés). Las GPUs están especialmente diseñadas para proporcionar un entorno donde es posible explotar su modelo de paralelismo y desarrollar diferentes propuestas algorítmicas paralelas para este tipo de plataformas. En este sentido, las GPUs se han convertido en una alternativa interesante de cómputo a las tradicionales CPU dada su capacidad para realizar cálculos en paralelo y también diferenciadas de otras formas de usar múltiples procesadores, como los clusters de máquinas, entre otros. Esto ha permitido a una computadora de escritorio o portátil aumentar su capacidad de cómputo debido a las mejoras de las tarjetas a nivel hardware y software, lo que las convierte en una opción para realizar cómputo de alto rendimiento (HPC, por sus siglas en inglés). El desarrollo de estrategias metaheurísticas paralelas en GPU para la resolución de problemas complejos se presenta como una línea de investigación muy importante en la actualidad, ya que por una parte, las citadas estrategias (potencialmente no exactas) proporcionan una solución de alta calidad en un tiempo razonable, mientras que por otro, es bien sabido que tanto la eficiencia de dichos algoritmos metaheurísticos como los resultados que éstos obtienen mejoran de manera significativa cuando se aplican estrategias de paralelismo. El contenido de este trabajo se centra en evaluar técnicas metaheurísticas en arquitecturas GPU buscando la mejor técnica que se adapte a la GPU. De la misma forma, se busca diseñar y analizar nuevos modelos que puedan proveer: sencillez en la implementación y potencia computacional, equilibrio necesario entre la eficiencia y la eficacia suficiente para la supervivencia en diferentes problemas. Todo esto por varias razones: en primer lugar, las ventajas de estas nuevas tecnologías ofrece la posibilidad de cubrir la demanda de eficiencia tanto en tiempo real como numérica, lo cual nos lleva a la segunda razón. Las metaheurísticas son técnicas ampliamente aceptadas y utilizadas en diferentes áreas de aplicación. Cabe la posibilidad entonces de brindar al investigador una solución de cierta calidad en un breve periodo de tiempo: un compromiso entre calidad de la solución y la rapidez. Finalmente, muchas de las contribuciones que se materialicen pueden ser extensibles a otras técnicas metaheurísticas o ser usadas como base para otros modelos algorítmicos en futuros estudios posteriores a esta tesis. Esta tesis presenta un conjunto de consideraciones iniciales sobre los algoritmos Genéticos Celulares (cGAs). A continuación introducimos la adaptación de los principales procesos de un cGA a la GPU. Esto nos permitirá describir el alcance de la propuesta y exponer los beneficios y problemas que cabe esperar. Posteriormente, se muestra una aproximación cGA mediante una arquitectura de múltiples GPUs. Se indican las diferencias más importantes que se pueden encontrar con respecto a la primera implementación presentada. Posteriormente, se muestra un estudio sobre una aproximación original de búsqueda diseñada especialmente para funcionar sobre una plataforma GPU basada en las características de la Computación Sistólica. Luego, se provee una descripción de las diferentes mejoras a partir del modelo canónico. Inmediatamente, se discuten las ventajas e inconvenientes. La razón de este análisis es profundizar y conocer mejor el método de búsqueda. A partir del algoritmo anteriormente propuesto se presenta un nuevo modelo que utiliza la idea de paralelismo híbrido como concepto de inicio. Se discute el diseño de una técnica paralela híbrida la cual utiliza algoritmos capaces de sacar provecho de las cualidades intrínsecas de cada arquitectura (CPU y GPU). Se abordan detalles sobre la mejora de la búsqueda a través de la cooperación entre los algoritmos. Posteriormente, se analizan consideraciones importantes sobre la implementación. Todos los nuevos algoritmos propuestos en este trabajo son comparados con diferentes algoritmos canónicos y con aquellos pertenecientes al estado del arte para una plétora de problemas complejos de optimización que pertenecen a los campos de optimización combinatoria y continua. Las conclusiones alcanzadas en cuanto a aceleración y precisión en el análisis reflejan las elevadas prestaciones que las tarjetas gráficas programables ofrecen en el ámbito de la optimización metaheurística

    Advances in Evolutionary Algorithms

    Get PDF
    With the recent trends towards massive data sets and significant computational power, combined with evolutionary algorithmic advances evolutionary computation is becoming much more relevant to practice. Aim of the book is to present recent improvements, innovative ideas and concepts in a part of a huge EA field

    Mobile Ad-Hoc Networks

    Get PDF
    Being infrastructure-less and without central administration control, wireless ad-hoc networking is playing a more and more important role in extending the coverage of traditional wireless infrastructure (cellular networks, wireless LAN, etc). This book includes state-of the-art techniques and solutions for wireless ad-hoc networks. It focuses on the following topics in ad-hoc networks: vehicular ad-hoc networks, security and caching, TCP in ad-hoc networks and emerging applications. It is targeted to provide network engineers and researchers with design guidelines for large scale wireless ad hoc networks

    Traveling Salesman Problem

    Get PDF
    The idea behind TSP was conceived by Austrian mathematician Karl Menger in mid 1930s who invited the research community to consider a problem from the everyday life from a mathematical point of view. A traveling salesman has to visit exactly once each one of a list of m cities and then return to the home city. He knows the cost of traveling from any city i to any other city j. Thus, which is the tour of least possible cost the salesman can take? In this book the problem of finding algorithmic technique leading to good/optimal solutions for TSP (or for some other strictly related problems) is considered. TSP is a very attractive problem for the research community because it arises as a natural subproblem in many applications concerning the every day life. Indeed, each application, in which an optimal ordering of a number of items has to be chosen in a way that the total cost of a solution is determined by adding up the costs arising from two successively items, can be modelled as a TSP instance. Thus, studying TSP can never be considered as an abstract research with no real importance

    Aplicaciones del procesamiento del lenguaje natural en la recuperación de información en español

    Get PDF
    [Resumen] La relación entre Procesamiento del Lenguaje Natural y Recuperación de Información viene dada por la variación lingüística del idioma, es decir, cómo un mismo concepto se puede expresar de formas diferentes mediante modificaciones en la expresión, constituyendo el principal problema en el ámbito de la Recuperación de Información, El objetivo de esta tesis es el desarrollo de tecnología de base para el Procesamiento del Lenguaje Natural y el estudio de la viabilidad de su aplicación en sistemas de Recuperación de Información sobre documentos en español. Si bien existen estudios similares para otras lenguas, con un claro dominio del inglés, el español ha quedado relegado frecuentemente a un segundo plano. Además, su mayor complejidad lingüística no permite una extrapolación inmediata de los resultados obtenidos para el inglés, demandando la realización de experimentos específicos. Sin embargo, hemos tenido que hacer frente a la carencia de recursos lingüísticos libremente accesibles para el español. Para ello se ha debido restringir la complejidad de las soluciones propuestas, centrándose en la utilización de información léxica, de obtención más sencilla. Además, para minimizar el coste computacional de cara a la aplicación en entornos prácticos, se ha hecho amplio uso de tecnología de estado finito. En este contexto se ha desarrollado, en primer lugar, un preprocesador avanzado de base lingüística para la tokenización y segmentación de textos. A nivel flexivo, se ha estudiado la utilización de la lematización en la normalización de términos simples. A nivel derivativo, se ha desarrollado una herramienta de generación automática de familias morfológicas - conjuntos de palabras ligadas derivativamente y que comparten la misma raiz - para su empleo en la normalización de términos simples
    corecore