36 resultados para Algoritmos Paralelos
em Universidad Politécnica de Madrid
Resumo:
ste trabajo presenta un análisis comparativo entre tres algoritmos de aprendizaje diferentes basados en Árboles de Decisión (C4.5) y Redes Neuronales Artificiales (Perceptrón Multicapa MLP y Red Neuronal de Regresión General GRNN) que han sido implementados con el objetivo de predecir los resultados de la rehabilitación cognitiva de personas con daño cerebral adquirido. En el análisis se han incluido datos demográficos del paciente, el perfil de afectación y los resultados provenientes de las tareas de rehabilitación ejecutadas por los pacientes. Los modelos han sido evaluados utilizando la base de datos del Institut Guttmann. El rendimiento de los algoritmos se midió a través del análisis de la especificidad, sensibilidad y exactitud en la precisión y el análisis de la matriz de confusión. Los resultados muestran que la implementación del C4.5 alcanzó una especificidad, sensibilidad y exactitud en la precisión del 98.43%, 83.77% y 89.42% respectivamente. El rendimiento del C4.5 fue significativamente superior al obtenido por el Perceptrón Multicapa y la Red de Regresión General.
Resumo:
Esta Tesis aborda el diseño e implementación de aplicaciones en el campo de procesado de señal, utilizando como plataforma los dispositivos reconfigurables FPGA. Esta plataforma muestra una alta capacidad de lógica, e incorpora elementos orientados al procesado de señal, que unido a su relativamente bajo coste, la hacen ideal para el desarrollo de aplicaciones de procesado de señal cuando se requiere realizar un procesado intensivo y se buscan unas altas prestaciones. Sin embargo, el coste asociado al desarrollo en estas plataformas es elevado. Mientras que el aumento en la capacidad lógica de los dispositivos FPGA permite el desarrollo de sistemas completos, los requisitos de altas prestaciones obligan a que en muchas ocasiones se deban optimizar operadores a muy bajo nivel. Además de las restricciones temporales que imponen este tipo de aplicaciones, también tienen asociadas restricciones de área asociadas al dispositivo, lo que obliga a evaluar y verificar entre diferentes alternativas de implementación. El ciclo de diseño e implementación para estas aplicaciones se puede prolongar tanto, que es normal que aparezcan nuevos modelos de FPGA, con mayor capacidad y mayor velocidad, antes de completar el sistema, y que hagan a las restricciones utilizadas para el diseño del sistema inútiles. Para mejorar la productividad en el desarrollo de estas aplicaciones, y con ello acortar su ciclo de diseño, se pueden encontrar diferentes métodos. Esta Tesis se centra en la reutilización de componentes hardware previamente diseñados y verificados. Aunque los lenguajes HDL convencionales permiten reutilizar componentes ya definidos, se pueden realizar mejoras en la especificación que simplifiquen el proceso de incorporar componentes a nuevos diseños. Así, una primera parte de la Tesis se orientará a la especificación de diseños basada en componentes predefinidos. Esta especificación no sólo busca mejorar y simplificar el proceso de añadir componentes a una descripción, sino que también busca mejorar la calidad del diseño especificado, ofreciendo una mayor posibilidad de configuración e incluso la posibilidad de informar de características de la propia descripción. Reutilizar una componente ya descrito depende en gran medida de la información que se ofrezca para su integración en un sistema. En este sentido los HDLs convencionales únicamente proporcionan junto con la descripción del componente la interfaz de entrada/ salida y un conjunto de parámetros para su configuración, mientras que el resto de información requerida normalmente se acompaña mediante documentación externa. En la segunda parte de la Tesis se propondrán un conjunto de encapsulados cuya finalidad es incorporar junto con la propia descripción del componente, información que puede resultar útil para su integración en otros diseños. Incluyendo información de la implementación, ayuda a la configuración del componente, e incluso información de cómo configurar y conectar al componente para realizar una función. Finalmente se elegirá una aplicación clásica en el campo de procesado de señal, la transformada rápida de Fourier (FFT), y se utilizará como ejemplo de uso y aplicación, tanto de las posibilidades de especificación como de los encapsulados descritos. El objetivo del diseño realizado no sólo mostrará ejemplos de la especificación propuesta, sino que también se buscará obtener una implementación de calidad comparable con resultados de la literatura. Para ello, el diseño realizado se orientará a su implementación en FPGA, aprovechando tanto los elementos lógicos generalistas como elementos específicos de bajo nivel disponibles en estos dispositivos. Finalmente, la especificación de la FFT obtenida se utilizará para mostrar cómo incorporar en su interfaz información que ayude para su selección y configuración desde fases tempranas del ciclo de diseño. Abstract This PhD. thesis addresses the design and implementation of signal processing applications using reconfigurable FPGA platforms. This kind of platform exhibits high logic capability, incorporates dedicated signal processing elements and provides a low cost solution, which makes it ideal for the development of signal processing applications, where intensive data processing is required in order to obtain high performance. However, the cost associated to the hardware development on these platforms is high. While the increase in logic capacity of FPGA devices allows the development of complete systems, high-performance constraints require the optimization of operators at very low level. In addition to time constraints imposed by these applications, Area constraints are also applied related to the particular device, which force to evaluate and verify a design among different implementation alternatives. The design and implementation cycle for these applications can be tedious and long, being therefore normal that new FPGA models with a greater capacity and higher speed appear before completing the system implementation. Thus, the original constraints which guided the design of the system become useless. Different methods can be used to improve the productivity when developing these applications, and consequently shorten their design cycle. This PhD. Thesis focuses on the reuse of hardware components previously designed and verified. Although conventional HDLs allow the reuse of components already defined, their specification can be improved in order to simplify the process of incorporating new design components. Thus, a first part of the PhD. Thesis will focus on the specification of designs based on predefined components. This specification improves and simplifies the process of adding components to a description, but it also seeks to improve the quality of the design specified with better configuration options and even offering to report on features of the description. Hardware reuse of a component for its integration into a system largely depends on the information it offers. In this sense the conventional HDLs only provide together with the component description, the input/output interface and a set of parameters for its configuration, while other information is usually provided by external documentation. In the second part of the Thesis we will propose a formal way of encapsulation which aims to incorporate with the component description information that can be useful for its integration into other designs. This information will include features of the own implementation, but it will also support component configuration, and even information on how to configure and connect the component to carry out a function. Finally, the fast Fourier transform (FFT) will be chosen as a well-known signal processing application. It will be used as case study to illustrate the possibilities of proposed specification and encapsulation formalisms. The objective of the FFT design is not only to show practical examples of the proposed specification, but also to obtain an implementation of a quality comparable to scientific literature results. The design will focus its implementation on FPGA platforms, using general logic elements as base of the implementation, but also taking advantage of low-level specific elements available on these devices. Last, the specification of the obtained FFT will be used to show how to incorporate in its interface information to assist in the selection and configuration process early in the design cycle.
Resumo:
Con el surgir de los problemas irresolubles de forma eficiente en tiempo polinomial en base al dato de entrada, surge la Computación Natural como alternativa a la computación clásica. En esta disciplina se trata de o bien utilizar la naturaleza como base de cómputo o bien, simular su comportamiento para obtener mejores soluciones a los problemas que los encontrados por la computación clásica. Dentro de la computación natural, y como una representación a nivel celular, surge la Computación con Membranas. La primera abstracción de las membranas que se encuentran en las células, da como resultado los P sistemas de transición. Estos sistemas, que podrían ser implementados en medios biológicos o electrónicos, son la base de estudio de esta Tesis. En primer lugar, se estudian las implementaciones que se han realizado, con el fin de centrarse en las implementaciones distribuidas, que son las que pueden aprovechar las características intrínsecas de paralelismo y no determinismo. Tras un correcto estudio del estado actual de las distintas etapas que engloban a la evolución del sistema, se concluye con que las distribuciones que buscan un equilibrio entre las dos etapas (aplicación y comunicación), son las que mejores resultados presentan. Para definir estas distribuciones, es necesario definir completamente el sistema, y cada una de las partes que influyen en su transición. Además de los trabajos de otros investigadores, y junto a ellos, se realizan variaciones a los proxies y arquitecturas de distribución, para tener completamente definidos el comportamiento dinámico de los P sistemas. A partir del conocimiento estático –configuración inicial– del P sistema, se pueden realizar distribuciones de membranas en los procesadores de un clúster para obtener buenos tiempos de evolución, con el fin de que la computación del P sistema sea realizada en el menor tiempo posible. Para realizar estas distribuciones, hay que tener presente las arquitecturas –o forma de conexión– de los procesadores del clúster. La existencia de 4 arquitecturas, hace que el proceso de distribución sea dependiente de la arquitectura a utilizar, y por tanto, aunque con significativas semejanzas, los algoritmos de distribución deben ser realizados también 4 veces. Aunque los propulsores de las arquitecturas han estudiado el tiempo óptimo de cada arquitectura, la inexistencia de distribuciones para estas arquitecturas ha llevado a que en esta Tesis se probaran las 4, hasta que sea posible determinar que en la práctica, ocurre lo mismo que en los estudios teóricos. Para realizar la distribución, no existe ningún algoritmo determinista que consiga una distribución que satisfaga las necesidades de la arquitectura para cualquier P sistema. Por ello, debido a la complejidad de dicho problema, se propone el uso de metaheurísticas de Computación Natural. En primer lugar, se propone utilizar Algoritmos Genéticos, ya que es posible realizar alguna distribución, y basada en la premisa de que con la evolución, los individuos mejoran, con la evolución de dichos algoritmos, las distribuciones también mejorarán obteniéndose tiempos cercanos al óptimo teórico. Para las arquitecturas que preservan la topología arbórea del P sistema, han sido necesarias realizar nuevas representaciones, y nuevos algoritmos de cruzamiento y mutación. A partir de un estudio más detallado de las membranas y las comunicaciones entre procesadores, se ha comprobado que los tiempos totales que se han utilizado para la distribución pueden ser mejorados e individualizados para cada membrana. Así, se han probado los mismos algoritmos, obteniendo otras distribuciones que mejoran los tiempos. De igual forma, se han planteado el uso de Optimización por Enjambres de Partículas y Evolución Gramatical con reescritura de gramáticas (variante de Evolución Gramatical que se presenta en esta Tesis), para resolver el mismo cometido, obteniendo otro tipo de distribuciones, y pudiendo realizar una comparativa de las arquitecturas. Por último, el uso de estimadores para el tiempo de aplicación y comunicación, y las variaciones en la topología de árbol de membranas que pueden producirse de forma no determinista con la evolución del P sistema, hace que se deba de monitorizar el mismo, y en caso necesario, realizar redistribuciones de membranas en procesadores, para seguir obteniendo tiempos de evolución razonables. Se explica, cómo, cuándo y dónde se deben realizar estas modificaciones y redistribuciones; y cómo es posible realizar este recálculo. Abstract Natural Computing is becoming a useful alternative to classical computational models since it its able to solve, in an efficient way, hard problems in polynomial time. This discipline is based on biological behaviour of living organisms, using nature as a basis of computation or simulating nature behaviour to obtain better solutions to problems solved by the classical computational models. Membrane Computing is a sub discipline of Natural Computing in which only the cellular representation and behaviour of nature is taken into account. Transition P Systems are the first abstract representation of membranes belonging to cells. These systems, which can be implemented in biological organisms or in electronic devices, are the main topic studied in this thesis. Implementations developed in this field so far have been studied, just to focus on distributed implementations. Such distributions are really important since they can exploit the intrinsic parallelism and non-determinism behaviour of living cells, only membranes in this case study. After a detailed survey of the current state of the art of membranes evolution and proposed algorithms, this work concludes that best results are obtained using an equal assignment of communication and rules application inside the Transition P System architecture. In order to define such optimal distribution, it is necessary to fully define the system, and each one of the elements that influence in its transition. Some changes have been made in the work of other authors: load distribution architectures, proxies definition, etc., in order to completely define the dynamic behaviour of the Transition P System. Starting from the static representation –initial configuration– of the Transition P System, distributions of membranes in several physical processors of a cluster is algorithmically done in order to get a better performance of evolution so that the computational complexity of the Transition P System is done in less time as possible. To build these distributions, the cluster architecture –or connection links– must be considered. The existence of 4 architectures, makes that the process of distribution depends on the chosen architecture, and therefore, although with significant similarities, the distribution algorithms must be implemented 4 times. Authors who proposed such architectures have studied the optimal time of each one. The non existence of membrane distributions for these architectures has led us to implement a dynamic distribution for the 4. Simulations performed in this work fix with the theoretical studies. There is not any deterministic algorithm that gets a distribution that meets the needs of the architecture for any Transition P System. Therefore, due to the complexity of the problem, the use of meta-heuristics of Natural Computing is proposed. First, Genetic Algorithm heuristic is proposed since it is possible to make a distribution based on the premise that along with evolution the individuals improve, and with the improvement of these individuals, also distributions enhance, obtaining complexity times close to theoretical optimum time. For architectures that preserve the tree topology of the Transition P System, it has been necessary to make new representations of individuals and new algorithms of crossover and mutation operations. From a more detailed study of the membranes and the communications among processors, it has been proof that the total time used for the distribution can be improved and individualized for each membrane. Thus, the same algorithms have been tested, obtaining other distributions that improve the complexity time. In the same way, using Particle Swarm Optimization and Grammatical Evolution by rewriting grammars (Grammatical Evolution variant presented in this thesis), to solve the same distribution task. New types of distributions have been obtained, and a comparison of such genetic and particle architectures has been done. Finally, the use of estimators for the time of rules application and communication, and variations in tree topology of membranes that can occur in a non-deterministic way with evolution of the Transition P System, has been done to monitor the system, and if necessary, perform a membrane redistribution on processors to obtain reasonable evolution time. How, when and where to make these changes and redistributions, and how it can perform this recalculation, is explained.
Resumo:
La base para realizar cualquier tarea agrícola mediante robots, es la planificación y seguimiento de rutas o trayectorias. Así, el objetivo de esta investigación es desarrollar e implementar algoritmos de seguimiento y planificación (global y local) de trayectorias de robots agrícolas. La planificación global se realizó mediante el algoritmo A* aplicado sobre mapas de cultivo y la planificación local se realizó aplicando A* sobre un mapa 2D obtenido a partir de imágenes 3D de los obstáculos encontrados en el camino. En cuanto el seguimiento de trayectorias, esta se realizó implementando una aproximación numérica de la trayectoria mediante el método de Euler. Los parámetros correspondientes a la dinámica del controlador de la trayectoria del robot fueron obtenidos mediante algoritmos genéticos. El mapa 3D fue generado a partir del sensor Kinect de Microsoft y sus datos procesados usando Matlab 2010b. Los resultados preliminares muestran que es posible implementar estos algoritmos en pequeños robots diseñados para cultivos hilerados. Proveyendo así, una metodología robusta que permite seguir las rutas asignadas con errores inferiores a RMSE=0.1m en trayectorias de 30m.
Resumo:
Uno de los aspectos fundamentales en un sistema de cirugía guiada por imagen (CGI) es la localización del instrumental quirúrgico con respecto a la anatomía del paciente. Los sistemas basados en sensores ofrecen buenos niveles de precisión, pero son sensibles a distintas fuentes de ruido en el quirófano y contribuyen a la sobrecarga tecnológica del mismo. Una alternativa novedosa es analizar la imagen del vídeo endoscópico para llevar a cabo la detección y localización espacial del instrumental. Se presenta en este trabajo la validación de dos métodos, basados en el diámetro aparente y en la sección transversal del instrumental, para la localización espacial del instrumental a partir de los bordes y la posición 2D de la punta en la imagen. La validación, llevada a cabo en un simulador físico, se realiza comparando los resultados con el sistema Kinescan/IBV. Los resultados muestran para cada método un error medio de 12,7 y 12,8 mm respectivamente. La incorporación de estos algoritmos dentro del paradigma de navegación propuesto en el proyecto THEMIS permitirá al cirujano conocer la posición del instrumental de forma no intrusiva y transparente, sin necesidad de equipamiento adicional en el quirófano.
Resumo:
El análisis de vídeo laparoscópico ofrece nuevas posibilidades a la navegación quirúrgica al garantizar una incorporación mínima de tecnología en quirófano, evitando así alterar la ergonomía y los flujos de trabajo de las intervenciones. Una de sus principales ventajas es que puede servir como fuente de datos para reconstruir tridimensionalmente la escena laparoscópica, lo que permite dotar al cirujano de la sensación de profundidad perdida en este tipo de cirugía. En el presente trabajo de investigación se comparan dos detectores de puntos singulares, SIFT y SURF, para estimar cuál de los dos podría integrarse en un algoritmo de cálculo de coordenadas 3D, MonoSLAM, basado en la detección y el seguimiento de estos puntos singulares en los fotogramas del vídeo. Los resultados obtenidos posicionan a SURF como la mejor opción gracias a su rapidez y a su mayor capacidad de discriminación entre estructuras anatómicas e instrumental quirúrgico.
Resumo:
El funcionamiento de las glorietas es sensible a las características geométricas de los elementos que componen el diseño. Generalmente el diseño geométrico es llevado a cabo mediante procedimientos manuales e iterativos, lo que genera un elevado consumo de tiempo del proyectista. Durante el proceso, los ingenieros tratan de encontrar una solución satisfactoria al problema, tanto en planta como en alzado, aplicando unos criterios derivados de normativas y de la propia experiencia del proyectista. Esta tarea es compleja y laboriosa debido al elevado número de variables, y puede ser simplificada mediante la elaboración de unos algoritmos adecuados. En este artículo se presenta el planteamiendo de una metodología que servirá de base para el desarrollo de un modelo de optimización que proporcione la geometría de la glorieta en planta en base a dos objetivos: la consistencia de las velocidades de circulación y la eficiencia operativa. La eficiencia operativa se caracteriza mediante la demora media de los vehículos y su estudio determina el número de carriles necesarios en las entradas y en la calzada anular. La optimización de la consistencia de las velocidades tiene como objetivo reducir los conflictos y la accidentalidad, además de contribuir a la mejora de la eficiencia de la circulación, ya que permite simplificar la tarea de incorporación de los vehículos en el flujo de la calzada anular. Para su cálculo es necesario determinar previamente las trayectorias de los vehículos y los perfiles de velocidades de las trayectorias más rápidas. Una buena consistencia debe minimizar la variación de velocidad entre los elementos geométricos consecutivos y la velocidad relativa entre corrientes de tráfico en conflicto. Para resolver el problema de optimización se plantea un procedimiento heurístico basado en algoritmos genéticos. El modelo requiere de unos procedimientos para la generación de forma aleatoria de la geometría de la glorieta y para el cálculo de las trayectorias de los vehículos y de las funciones objetivo a partir de la geometría, junto al diseño de unos operadores genéticos que tengan en consideración las interacciones que se presentan entre los elementos que definen la geometría de la glorieta.
Resumo:
Se presenta este artículo con el ánimo de enumerar y estudiar diferentes algoritmos que tratan la generalización de datos cartográficos vectoriales de zonas urbanas, debido a que en ellas se concentran la mayoría de los conflictos que se pueden encontrar en los procesos de generalización cartográfica. A pesar de que la generalización es uno de los procedimientos más difíciles de automatizar, existen herramientas que implementan estos algoritmos y ofrecen resultados satisfactorios, aunque ninguna de ellas es capaz de automatizar por completo el proceso de generalización. A continuación, se incluyen las pruebas realizadas al respecto, describiendo y analizando los resultados obtenidos, estableciendo una comparativa con trabajos realizados por diferentes autores. Se concluye el documento valorando los posibles trabajos futuros para solventar la problemática de la generalización cartográfica. Este estudio se encuentra en el marco del proyecto CENIT España Virtual. Abstract: This article is focused in studying different algorithms about generalization of vector map data from urban areas, because most of the conflicts in the processes of cartographic generalization are concentrated in these areas. Although generalization is one of the most difficult processes to automate, there are tools that implement these algorithms and provide satisfactory results. However,none of them can automate the process of generalization completely. Then tests in describing and analyzing the results are included, establishing a comparison with works of various authors. The document concludes by assessing the possible future works to solve the problem of cartographic generalization. This study is within the CENIT project España Virtual.
Resumo:
Este proyecto se enmarca dentro de la Computación Simbólica y de los fundamentos matemáticos del Diseño Geométrico Asistido por ordenador (CAGD). Se abordara uno de los problemas principales en el ámbito del CAGD y que es la manipulación de las Curvas Concoide. La importancia del avance en la manipulación de las curvas concoide radica en el papel fundamental que desempeñan en múltiples aplicaciones en la actualidad dentro de campos de diversa índole tales como la medicina, la óptica, el electromagnetismo, la construcción, etc. El objetivo principal de este proyecto es el diseño e implementación de algoritmos para el estudio, cálculo y manipulación de curvas concoides, utilizando técnicas propias del Calculo Simbólico. Esta implementación se ha programado utilizando el sistema de computación simbólica Maple. El proyecto consiste en dos partes bien diferenciadas, una parte teórica y otra más practica. La primera incluye la descripción geométrica y definición formal de curvas concoide, así como las ideas y propiedades básicas. De forma más precisa, se presenta un estudio matemático sobre el análisis de racionalidad de estas curvas, explicando los algoritmos que serán implementados en las segunda parte, y que constituye el objetivo principal de este proyecto. Para cerrar esta parte, se presenta una pequeña introducción al sistema y a la programación en Maple. Por otro lado, la segunda parte de este proyecto es totalmente original, y en ella el autor desarrolla las implementaciones en Maple de los algoritmos presentados en la parte anterior, así como la creación de un paquete Maple que las recoge. Por último, se crean las paginas de ayudas en el sistema Maple para la correcta utilización del paquete matemático anteriormente mencionado. Una vez terminada la parte de implementación, se aplican los algoritmos implementados a una colección de curvas clásicas conocidas, recogiendo los datos y resultados obtenidos en un atlas de curvas. Finalmente, se presenta una recopilación de las aplicaciones más destacadas en las que las concoides desempeñan un papel importante así como una breve reseña sobre las concoides de superficies, objeto de varios estudios en la actualidad y a los que se considera que el presente proyecto les puede resultar de gran utilidad. Abstract This project is set up in the framework of Symbolic Computation as well as in the implementation of algebraic-geometric problems that arise from Computer Aided Geometric Design (C.A.G.D.) applications. We address problems related to conchoid curves. The importance of these curves is the fundamental role that they play in current applications as medicine, optics, electromagnetism, construction, etc. The main goal of this project is to design and implement some algorithms to solve problems in studying, calculating and generating conchoid curves with symbolic computation techniques. For this purpose, we program our implementations in the symbolic system “Maple". The project consists of two differentiated parts, one more theoretical part and another part more practical. The first one includes the description of conchoid curves as well as the basic ideas about the concept and its basic properties. More precisely, we introduce in this part the mathematical analysis of the rationality of the conchoids, and we present the algorithms that will be implemented. Furthermore, the reader will be brie y introduced in Maple programming. On the other hand, the second part of this project is totally original. In this more practical part, the author presents the implemented algorithms and a Maple package that includes them, as well as their help pages. These implemented procedures will be check and illustrated with some classical and well known curves, collecting the main properties of the conchoid curves obtained in a brief atlas. Finally, a compilation of the most important applications where conchoids play a fundamental role, and a brief introduction to the conchoids of surfaces, subject of several studies today and where this project could be very useful, are presented.
Resumo:
Este trabajo propone una serie de algoritmos con el objetivo de extraer información de conjuntos de datos con redes de neuronas. Se estudian dichos algoritmos con redes de neuronas Enhenced Neural Networks (ENN), debido a que esta arquitectura tiene algunas ventajas cuando se aproximan funciones mediante redes neuronales. En la red ENN los pesos de la matriz principal varián con cada patrón, por lo que se comete un error menor en la aproximación. Las redes de neuronas ENN reúnen la información en los pesos de su red auxiliar, se propone un método para obtener información de la red a través de dichos pesos en formas de reglas y asignando un factor de certeza de dichas reglas. La red ENN obtiene un error cuadrático medio menor que el error teórico de una aproximación matemática por ejemplo mediante polinomios de Taylor. Se muestra como una red ENN, entrenada a partir un conjunto de patrones obtenido de una función de variables reales, sus pesos asociados tienen unas relaciones similares a las que se veri_can con las variables independientes con dicha función de variables reales. Las redes de neuronas ENN aproximan polinomios, se extrae conocimiento de un conjunto de datos de forma similar a la regresión estadística, resolviendo de forma más adecuada el problema de multicolionalidad en caso de existir. Las relaciones a partir de los pesos asociados de la matriz de la red auxiliar se obtienen similares a los coeficientes de una regresión para el mismo conjunto numérico. Una red ENN entrenada a partir de un conjunto de datos de una función boolena extrae el conocimiento a partir de los pesos asociados, y la influencia de las variables de la regla lógica de la función booleana, queda reejada en esos pesos asociados a la red auxiliar de la red ENN. Se plantea una red de base radial (RBF) para la clasificación y predicción en problemas forestales y agrícolas, obteniendo mejores resultados que con el modelo de regresión y otros métodos. Los resultados con una red RBF mejoran al método de regresión si existe colinealidad entre los datos que se dispone y no son muy numerosos. También se detecta que variables tienen más importancia en virtud de la variable pronóstico. Obteniendo el error cuadrático medio con redes RBF menor que con otros métodos, en particular que con el modelo de regresión. Abstract A series of algorithms is proposed in this study aiming at the goal of producing information about data groups with a neural network. These algorithms are studied with Enheced Neural Networks (ENN), owing to the fact that this structure shows sever advantages when the functions are approximated by neural networks. Main matrix weights in th ENN vary on each pattern; so, a smaller error is produced when approximating. The neural network ENN joins the weight information contained in their auxiliary network. Thus, a method to obtain information on the network through those weights is proposed by means of rules adding a certainty factor. The net ENN obtains a mean squared error smaller than the theorical one emerging from a mathematical aproximation such as, for example, by means of Taylor's polynomials. This study also shows how in a neural network ENN trained from a set of patterns obtained through a function of real variables, its associated weights have relationships similar to those ones tested by means of the independent variables connected with such functions of real variables. The neural network ENN approximates polynomials through it information about a set of data may be obtained in a similar way than through statistical regression, solving in this way possible problems of multicollinearity in a more suitable way. Relationships emerging from the associated weights in the auxiliary network matrix obtained are similar to the coeficients corresponding to a regression for the same numerical set. A net ENN trained from a boolean function data set obtains its information from its associated weights. The inuence of the variables of the boolean function logical rule are reected on those weights associated to the net auxiliar of the ENN. A radial basis neural networks (RBF) for the classification and prediction of forest and agricultural problems is proposed. This scheme obtains better results than the ones obtained by means of regression and other methods. The outputs with a net RBF better the regression method if the collineality with the available data and their amount is not very large. Detection of which variables are more important basing on the forecast variable can also be achieved, obtaining a mean squared error smaller that the ones obtained through other methods, in special the one produced by the regression pattern.
Resumo:
El desarrollo de algoritmos ensambladores de genes y la utilización de estos está viviendo un aumento muy espectacular en los últimos años. Debido a las mejoras ofrecidas en los dispositivos hardware de los numerosos supercomputadores que existen hoy en día se pueden realizar experimentos científicos de una manera más asequible que hace unos años. Este proyecto servirá como introducción en el complejo mundo de algoritmos científicos, más concretamente en algoritmos ensambladores de genomas. Veremos de primera mano cómo utilizar estas nuevas tecnologías, con ejemplos sencillos, pero con un desarrollo lo bastante importante para darnos una idea del funcionamiento de todas las fases de experimentación que engloban los algoritmos ensambladores y la utilización de la programación paralela en supercomputadores. Concretamente en este proyecto se van a analizar exhaustivamente una serie de algoritmos ensambladores que serán probados en uno de los supercomputadores más potentes de España, el Magerit 2. En estas pruebas vamos a proceder al ensamblado de genomas de tres tipos de organismos como bacterias (Staphylococcus Aureus, y Rhodobacter Sphaeroides) y una prueba gran escala con el genoma del Cromosoma 14 del Homo Sapiens Sapiens (Ser humano). Después procederemos a la comparación de todos los resultados obtenidos para poder comprobar que algoritmos realizan mejor su trabajo y ajustar dicha decisión a las necesidades que tenemos actualmente para buscar un algoritmo eficaz.
Resumo:
La característica fundamental de la Computación Natural se basa en el empleo de conceptos, principios y mecanismos del funcionamiento de la Naturaleza. La Computación Natural -y dentro de ésta, la Computación de Membranas- surge como una posible alternativa a la computación clásica y como resultado de la búsqueda de nuevos modelos de computación que puedan superar las limitaciones presentes en los modelos convencionales. En concreto, la Computación de Membranas se originó como un intento de formular un nuevo modelo computacional inspirado en la estructura y el funcionamiento de las células biológicas: los sistemas basados en este modelo constan de una estructura de membranas que actúan a la vez como separadores y como canales de comunicación, y dentro de esa estructura se alojan multiconjuntos de objetos que evolucionan de acuerdo a unas determinadas reglas de evolución. Al conjunto de dispositivos contemplados por la Computación de Membranas se les denomina genéricamente como Sistemas P. Hasta el momento los Sistemas P sólo han sido estudiados a nivel teórico y no han sido plenamente implementados ni en medios electrónicos, ni en medios bioquímicos, sólo han sido simulados o parcialmente implementados. Por tanto, la implantación de estos sistemas es un reto de investigación abierto. Esta tesis aborda uno de los problemas que debe ser resuelto para conseguir la implantación de los Sistemas P sobre plataformas hardware. El problema concreto se centra en el modelo de los Sistemas P de Transición y surge de la necesidad de disponer de algoritmos de aplicación de reglas que, independientemente de la plataforma hardware sobre la que se implementen, cumplan los requisitos de ser no deterministas, masivamente paralelos y además su tiempo de ejecución esté estáticamente acotado. Como resultado se ha obtenido un conjunto de algoritmos (tanto para plataformas secuenciales, como para plataformas paralelas) que se adecúan a las diferentes configuraciones de los Sistemas P. ABSTRACT The main feature of Natural Computing is the use of concepts, principles and mechanisms inspired by Nature. Natural Computing and within it, Membrane Computing emerges as an potential alternative to conventional computing and as from the search for new models of computation that may overcome the existing limitations in conventional models. Specifically, Membrane Computing was created to formulate a new computational paradigm inspired by the structure and functioning of biological cells: it consists of a membrane structure, which acts as separators as well as communication channels, and within this structure are stored multisets of objects that evolve according to certain evolution rules. The set of computing devices addressed by Membrane Computing are generically known P systems. Up to now, no P systems have been fully implemented yet in electronic or biochemical means. They only have been studied in theory, simulated or partially implemented. Therefore, the implementation of these systems is an open research challenge. This thesis addresses one of the problems to be solved in order to deploy P systems on hardware platforms. This specific problem is focused on the Transition P System model and emerges from the need of providing application rules algorithms that independently on the hardware platform on which they are implemented, meets the requirements of being nondeterministic, massively parallel and runtime-bounded. As a result, this thesis has developed a set of algorithms for both platforms, sequential and parallel, adapted to all possible configurations of P systems.
Resumo:
En las últimas décadas hemos visto un rápido desarrollo de las redes de telecomunicación llegando a todos los rincones de la sociedad, bien a través de cable o bien de forma inalámbrica. Dichas redes, que cada vez son más grandes, dinámicas y complejas, integrando un mayor número de servicios y protocolos, requieren de un componente central que es el enrutamiento. El enrutamiento determina las estrategias a utilizar por los nodos de una red para encontrar las rutas óptimas entre un origen y un destino en el envío de información. Resulta difícil conseguir una estrategia que se adapte a este tipo de entornos altamente dinámicos, complejos y con un alto grado de heterogeneidad. Los algoritmos clásicos propuestos hasta la fecha suelen ser algoritmos centralizados que tratan de gestionar una arquitectura claramente distribuida, que en escenarios estacionarios pueden mantener un buen rendimiento, pero que no funcionan bien en escenarios donde se dan continuos cambios en la topología de red o en los patrones de tráfico. Es necesario proponer nuevos algoritmos que permitan el enrutamiento de forma distribuida, más adaptables a los cambios, robustos y escalables. Aquí vamos a tratar de hacer una revisión de los algoritmos propuestos inspirados en la naturaleza, particularmente en los comportamientos colectivos de sociedades de insectos. Veremos cómo de una forma descentralizada y auto-organizada, mediante agentes simples e interacciones locales, podemos alcanzar un comportamiento global "inteligente" que cumpla dichas cualidades. Por último proponemos Abira, un algoritmo ACO basado en AntNet-FA que trata de mejorar el rendimiento y la convergencia introduciendo mecanismos de exploración, de feedback negativo como la penalización y de comunicación de de las mejores rutas. Tras realizar una simulación y comparar los resultados con el algoritmo original, vemos que Abira muestra un mejor rendimiento.
Resumo:
This paper describes the objectives, contents learning methodology and results of an on-line course about History of Algorithms for engineering students of the Polytechnic University of Madrid. This course is conducted in a virtual environment based on Moodle, with an educational model centered at student which includes a detailed planning of learning activities. . Our experience indicates that this subject is is highly motivating for students and the virtual environment facilitates competencies development.
Resumo:
Los avances en el hardware permiten disponer de grandes volúmenes de datos, surgiendo aplicaciones que deben suministrar información en tiempo cuasi-real, la monitorización de pacientes, ej., el seguimiento sanitario de las conducciones de agua, etc. Las necesidades de estas aplicaciones hacen emerger el modelo de flujo de datos (data streaming) frente al modelo almacenar-para-despuésprocesar (store-then-process). Mientras que en el modelo store-then-process, los datos son almacenados para ser posteriormente consultados; en los sistemas de streaming, los datos son procesados a su llegada al sistema, produciendo respuestas continuas sin llegar a almacenarse. Esta nueva visión impone desafíos para el procesamiento de datos al vuelo: 1) las respuestas deben producirse de manera continua cada vez que nuevos datos llegan al sistema; 2) los datos son accedidos solo una vez y, generalmente, no son almacenados en su totalidad; y 3) el tiempo de procesamiento por dato para producir una respuesta debe ser bajo. Aunque existen dos modelos para el cómputo de respuestas continuas, el modelo evolutivo y el de ventana deslizante; éste segundo se ajusta mejor en ciertas aplicaciones al considerar únicamente los datos recibidos más recientemente, en lugar de todo el histórico de datos. En los últimos años, la minería de datos en streaming se ha centrado en el modelo evolutivo. Mientras que, en el modelo de ventana deslizante, el trabajo presentado es más reducido ya que estos algoritmos no sólo deben de ser incrementales si no que deben borrar la información que caduca por el deslizamiento de la ventana manteniendo los anteriores tres desafíos. Una de las tareas fundamentales en minería de datos es la búsqueda de agrupaciones donde, dado un conjunto de datos, el objetivo es encontrar grupos representativos, de manera que se tenga una descripción sintética del conjunto. Estas agrupaciones son fundamentales en aplicaciones como la detección de intrusos en la red o la segmentación de clientes en el marketing y la publicidad. Debido a las cantidades masivas de datos que deben procesarse en este tipo de aplicaciones (millones de eventos por segundo), las soluciones centralizadas puede ser incapaz de hacer frente a las restricciones de tiempo de procesamiento, por lo que deben recurrir a descartar datos durante los picos de carga. Para evitar esta perdida de datos, se impone el procesamiento distribuido de streams, en concreto, los algoritmos de agrupamiento deben ser adaptados para este tipo de entornos, en los que los datos están distribuidos. En streaming, la investigación no solo se centra en el diseño para tareas generales, como la agrupación, sino también en la búsqueda de nuevos enfoques que se adapten mejor a escenarios particulares. Como ejemplo, un mecanismo de agrupación ad-hoc resulta ser más adecuado para la defensa contra la denegación de servicio distribuida (Distributed Denial of Services, DDoS) que el problema tradicional de k-medias. En esta tesis se pretende contribuir en el problema agrupamiento en streaming tanto en entornos centralizados y distribuidos. Hemos diseñado un algoritmo centralizado de clustering mostrando las capacidades para descubrir agrupaciones de alta calidad en bajo tiempo frente a otras soluciones del estado del arte, en una amplia evaluación. Además, se ha trabajado sobre una estructura que reduce notablemente el espacio de memoria necesario, controlando, en todo momento, el error de los cómputos. Nuestro trabajo también proporciona dos protocolos de distribución del cómputo de agrupaciones. Se han analizado dos características fundamentales: el impacto sobre la calidad del clustering al realizar el cómputo distribuido y las condiciones necesarias para la reducción del tiempo de procesamiento frente a la solución centralizada. Finalmente, hemos desarrollado un entorno para la detección de ataques DDoS basado en agrupaciones. En este último caso, se ha caracterizado el tipo de ataques detectados y se ha desarrollado una evaluación sobre la eficiencia y eficacia de la mitigación del impacto del ataque. ABSTRACT Advances in hardware allow to collect huge volumes of data emerging applications that must provide information in near-real time, e.g., patient monitoring, health monitoring of water pipes, etc. The data streaming model emerges to comply with these applications overcoming the traditional store-then-process model. With the store-then-process model, data is stored before being consulted; while, in streaming, data are processed on the fly producing continuous responses. The challenges of streaming for processing data on the fly are the following: 1) responses must be produced continuously whenever new data arrives in the system; 2) data is accessed only once and is generally not maintained in its entirety, and 3) data processing time to produce a response should be low. Two models exist to compute continuous responses: the evolving model and the sliding window model; the latter fits best with applications must be computed over the most recently data rather than all the previous data. In recent years, research in the context of data stream mining has focused mainly on the evolving model. In the sliding window model, the work presented is smaller since these algorithms must be incremental and they must delete the information which expires when the window slides. Clustering is one of the fundamental techniques of data mining and is used to analyze data sets in order to find representative groups that provide a concise description of the data being processed. Clustering is critical in applications such as network intrusion detection or customer segmentation in marketing and advertising. Due to the huge amount of data that must be processed by such applications (up to millions of events per second), centralized solutions are usually unable to cope with timing restrictions and recur to shedding techniques where data is discarded during load peaks. To avoid discarding of data, processing of streams (such as clustering) must be distributed and adapted to environments where information is distributed. In streaming, research does not only focus on designing for general tasks, such as clustering, but also in finding new approaches that fit bests with particular scenarios. As an example, an ad-hoc grouping mechanism turns out to be more adequate than k-means for defense against Distributed Denial of Service (DDoS). This thesis contributes to the data stream mining clustering technique both for centralized and distributed environments. We present a centralized clustering algorithm showing capabilities to discover clusters of high quality in low time and we provide a comparison with existing state of the art solutions. We have worked on a data structure that significantly reduces memory requirements while controlling the error of the clusters statistics. We also provide two distributed clustering protocols. We focus on the analysis of two key features: the impact on the clustering quality when computation is distributed and the requirements for reducing the processing time compared to the centralized solution. Finally, with respect to ad-hoc grouping techniques, we have developed a DDoS detection framework based on clustering.We have characterized the attacks detected and we have evaluated the efficiency and effectiveness of mitigating the attack impact.