44 research outputs found

    Cloud identification using genetic algorithms and massively parallel computation

    Get PDF
    As a Guest Computational Investigator under the NASA administered component of the High Performance Computing and Communication Program, we implemented a massively parallel genetic algorithm on the MasPar SIMD computer. Experiments were conducted using Earth Science data in the domains of meteorology and oceanography. Results obtained in these domains are competitive with, and in most cases better than, similar problems solved using other methods. In the meteorological domain, we chose to identify clouds using AVHRR spectral data. Four cloud speciations were used although most researchers settle for three. Results were remarkedly consistent across all tests (91% accuracy). Refinements of this method may lead to more timely and complete information for Global Circulation Models (GCMS) that are prevalent in weather forecasting and global environment studies. In the oceanographic domain, we chose to identify ocean currents from a spectrometer having similar characteristics to AVHRR. Here the results were mixed (60% to 80% accuracy). Given that one is willing to run the experiment several times (say 10), then it is acceptable to claim the higher accuracy rating. This problem has never been successfully automated. Therefore, these results are encouraging even though less impressive than the cloud experiment. Successful conclusion of an automated ocean current detection system would impact coastal fishing, naval tactics, and the study of micro-climates. Finally we contributed to the basic knowledge of GA (genetic algorithm) behavior in parallel environments. We developed better knowledge of the use of subpopulations in the context of shared breeding pools and the migration of individuals. Rigorous experiments were conducted based on quantifiable performance criteria. While much of the work confirmed current wisdom, for the first time we were able to submit conclusive evidence. The software developed under this grant was placed in the public domain. An extensive user's manual was written and distributed nationwide to scientists whose work might benefit from its availability. Several papers, including two journal articles, were produced

    From Microbial Communities to Distributed Computing Systems

    Get PDF
    A distributed biological system can be defined as a system whose components are located in different subpopulations, which communicate and coordinate their actions through interpopulation messages and interactions. We see that distributed systems are pervasive in nature, performing computation across all scales, from microbial communities to a flock of birds. We often observe that information processing within communities exhibits a complexity far greater than any single organism. Synthetic biology is an area of research which aims to design and build synthetic biological machines from biological parts to perform a defined function, in a manner similar to the engineering disciplines. However, the field has reached a bottleneck in the complexity of the genetic networks that we can implement using monocultures, facing constraints from metabolic burden and genetic interference. This makes building distributed biological systems an attractive prospect for synthetic biology that would alleviate these constraints and allow us to expand the applications of our systems into areas including complex biosensing and diagnostic tools, bioprocess control and the monitoring of industrial processes. In this review we will discuss the fundamental limitations we face when engineering functionality with a monoculture, and the key areas where distributed systems can provide an advantage. We cite evidence from natural systems that support arguments in favor of distributed systems to overcome the limitations of monocultures. Following this we conduct a comprehensive overview of the synthetic communities that have been built to date, and the components that have been used. The potential computational capabilities of communities are discussed, along with some of the applications that these will be useful for. We discuss some of the challenges with building co-cultures, including the problem of competitive exclusion and maintenance of desired community composition. Finally, we assess computational frameworks currently available to aide in the design of microbial communities and identify areas where we lack the necessary tool

    Dynamic and fault tolerant three-dimensional cellular genetic algorithms

    Get PDF
    In the area of artificial intelligence, the development of Evolutionary Algorithms (EAs) has been very active, especially in the last decade. These algorithms started to evolve when scientists from various regions of the world applied the principles of evolution to algorithmic search and problem solving. EAs have been utilised successfully in diverse complex application areas. Their success in tackling hard problems has been the engine of the field of Evolutionary Computation (EC). Nowadays, EAs are considered to be the best solution to use when facing a hard search or optimisation problem. Various improvements are continually being made with the design of new operators, hybrid models, among others. A very important example of such improvements is the use of parallel models of GAs (PGAs). PGAs have received widespread attention from various researchers as they have proved to be more effective than panmictic GAs, especially in terms of efficacy and speedup. This thesis focuses on, and investigates, cellular Genetic Algorithms (cGAs)-a competitive variant of parallel GAs. In a cGA, the tentative solutions evolve in overlapped neighbourhoods, allowing smooth diffusion of the solutions. The benefits derived from using cGAs come not only from flexibility gains and their fitness to the objective target in combination with a robust behaviour but also from their high performance and amenability to implementation using advanced custom silicon chip technologies. Nowadays, cGAs are considered as adaptable concepts for solving problems, especially complex optimisation problems. Due to their structural characteristics, cGAs are able to promote an adequate exploration/exploitation trade-off and thus maintain genetic diversity. Moreover, cGAs are characterised as being massively parallel and easy to implement. The structural characteristics inherited in a cGA provide an active area for investigation. Because of the vital role grid structure plays in determining the effectiveness of the algorithm, cellular dimensionality is the main issue to be investigated here. The implementation of cGAs is commonly carried out on a one- or two-dimensional structure. Studies that investigate higher cellular dimensions are lacking. Accordingly, this research focuses on cGAs that are implemented on a three-dimensional structure. Having a structure with three dimensions, specifically a cubic structure, facilitates faster spreading of solutions due to the shorter radius and denser neighbourhood that result from the vertical expansion of cells. In this thesis, a comparative study of cellular dimensionality is conducted. Simulation results demonstrate higher performance achieved by 3D-cGAs over their 2D-cGAs counterparts. The direct implementation of 3D-cGAs on the new advanced 3D-IC technology will provide added benefits such as higher performance combined with a reduction in interconnection delays, routing length, and power consumption. The maintenance of system reliability and availability is a major concern that must be addressed. A system is likely to fail due to either hard or soft errors. Therefore, detecting a fault before it deteriorates system performance is a crucial issue. Single Event Upsets (SEUs), or soft errors, do not cause permanent damage to system functionality, and can be handled using fault-tolerant techniques. Existing fault-tolerant techniques include hardware or software fault tolerance, or a combination of both. In this thesis, fault-tolerant techniques that mitigate SEUs at the algorithmic level are explored and the inherent abilities of cGAs to deal with these errors are investigated. A fault-tolerant technique and several mitigation techniques are also proposed, and faulty critical data are evaluated critical fault scenarios (stuck at ‘1’ and stuck at ‘0’ faults) are taken into consideration. Chief among several test and real world problems is the problem of determining the attitude of a vehicle using a Global Positioning System (GPS), which is an example of hard real-time application. Results illustrate the ability of cGAs to maintain their functionality and give an adequate performance even with the existence of up to 40% errors in fitness score cells. The final aspect investigated in this thesis is the dynamic characteristic of cGAs. cGAs, and EAs in general, are known to be stochastic search techniques. Hence, adaptive systems are required to continue to perform effectively in a changing environment, particularly when tackling real-world problems. The adaptation in cellular engines is mainly achieved through dynamic balancing between exploration and exploitation. This area has received considerable attention from researchers who focus on improving the algorithmic performance without incurring additional computational effort. The structural properties and the genetic operations provide ways to control selection pressure and, as a result, the exploration/exploitation trade-off. In this thesis, the genetic operations of cGAs, particularly the selection aspect and their influence on the search process, are investigated in order to dynamically control the exploration/exploitation trade-off. Two adaptive-dynamic techniques that use genetic diversity and convergence speeds to guide the search are proposed. Results obtained by evaluating the proposed approaches on a test bench of diverse-characteristic real-world and test problems showed improvement in dynamic cGAs performance over their static counterparts and other dynamic cGAs. For example, the proposed Diversity-Guided 3D-cGA outperformed all the other dynamic cGAs evaluated by obtaining a higher search success rate that reached to 55%

    Enabling rapid iterative model design within the laboratory environment

    Get PDF
    This thesis presents a proof of concept study for the better integration of the electrophysiological and modelling aspects of neuroscience. Members of these two sub-disciplines collaborate regularly, but due to differing resource requirements, and largely incompatible spheres of knowledge, cooperation is often impeded by miscommunication and delays. To reduce the model design time, and provide a platform for more efficient experimental analysis, a rapid iterative model design method is proposed. The main achievement of this work is the development of a rapid model evaluation method based on parameter estimation, utilising a combination of evolutionary algorithms (EAs) and graphics processing unit (GPU) hardware acceleration. This method is the primary force behind the better integration of modelling and laboratorybased electrophysiology, as it provides a generic model evaluation method that does not require prior knowledge of model structure, or expertise in modelling, mathematics, or computer science. If combined with a suitable intuitive and user targeted graphical user interface, the ideas presented in this thesis could be developed into a suite of tools that would enable new forms of experimentation to be performed. The latter part of this thesis investigates the use of excitability-based models as the basis of an iterative design method. They were found to be computationally and structurally simple, easily extensible, and able to reproduce a wide range of neural behaviours whilst still faithfully representing underlying cellular mechanisms. A case study was performed to assess the iterative design process, through the implementation of an excitability-based model. The model was extended iteratively, using the rapid model evaluation method, to represent a vasopressin releasing neuron. Not only was the model implemented successfully, but it was able to suggest the existence of other more subtle cell mechanisms, in addition to highlighting potential failings in previous implementations of the class of neuron

    Parallel optimization algorithms for high performance computing : application to thermal systems

    Get PDF
    The need of optimization is present in every field of engineering. Moreover, applications requiring a multidisciplinary approach in order to make a step forward are increasing. This leads to the need of solving complex optimization problems that exceed the capacity of human brain or intuition. A standard way of proceeding is to use evolutionary algorithms, among which genetic algorithms hold a prominent place. These are characterized by their robustness and versatility, as well as their high computational cost and low convergence speed. Many optimization packages are available under free software licenses and are representative of the current state of the art in optimization technology. However, the ability of optimization algorithms to adapt to massively parallel computers reaching satisfactory efficiency levels is still an open issue. Even packages suited for multilevel parallelism encounter difficulties when dealing with objective functions involving long and variable simulation times. This variability is common in Computational Fluid Dynamics and Heat Transfer (CFD & HT), nonlinear mechanics, etc. and is nowadays a dominant concern for large scale applications. Current research in improving the performance of evolutionary algorithms is mainly focused on developing new search algorithms. Nevertheless, there is a vast knowledge of sequential well-performing algorithmic suitable for being implemented in parallel computers. The gap to be covered is efficient parallelization. Moreover, advances in the research of both new search algorithms and efficient parallelization are additive, so that the enhancement of current state of the art optimization software can be accelerated if both fronts are tackled simultaneously. The motivation of this Doctoral Thesis is to make a step forward towards the successful integration of Optimization and High Performance Computing capabilities, which has the potential to boost technological development by providing better designs, shortening product development times and minimizing the required resources. After conducting a thorough state of the art study of the mathematical optimization techniques available to date, a generic mathematical optimization tool has been developed putting a special focus on the application of the library to the field of Computational Fluid Dynamics and Heat Transfer (CFD & HT). Then the main shortcomings of the standard parallelization strategies available for genetic algorithms and similar population-based optimization methods have been analyzed. Computational load imbalance has been identified to be the key point causing the degradation of the optimization algorithm¿s scalability (i.e. parallel efficiency) in case the average makespan of the batch of individuals is greater than the average time required by the optimizer for performing inter-processor communications. It occurs because processors are often unable to finish the evaluation of their queue of individuals simultaneously and need to be synchronized before the next batch of individuals is created. Consequently, the computational load imbalance is translated into idle time in some processors. Several load balancing algorithms have been proposed and exhaustively tested, being extendable to any other population-based optimization method that needs to synchronize all processors after the evaluation of each batch of individuals. Finally, a real-world engineering application that consists on optimizing the refrigeration system of a power electronic device has been presented as an illustrative example in which the use of the proposed load balancing algorithms is able to reduce the simulation time required by the optimization tool.El aumento de las aplicaciones que requieren de una aproximación multidisciplinar para poder avanzar se constata en todos los campos de la ingeniería, lo cual conlleva la necesidad de resolver problemas de optimización complejos que exceden la capacidad del cerebro humano o de la intuición. En estos casos es habitual el uso de algoritmos evolutivos, principalmente de los algoritmos genéticos, caracterizados por su robustez y versatilidad, así como por su gran coste computacional y baja velocidad de convergencia. La multitud de paquetes de optimización disponibles con licencias de software libre representan el estado del arte actual en tecnología de optimización. Sin embargo, la capacidad de adaptación de los algoritmos de optimización a ordenadores masivamente paralelos alcanzando niveles de eficiencia satisfactorios es todavía una tarea pendiente. Incluso los paquetes adaptados al paralelismo multinivel tienen dificultades para gestionar funciones objetivo que requieren de tiempos de simulación largos y variables. Esta variabilidad es común en la Dinámica de Fluidos Computacional y la Transferencia de Calor (CFD & HT), mecánica no lineal, etc. y es una de las principales preocupaciones en aplicaciones a gran escala a día de hoy. La investigación actual que tiene por objetivo la mejora del rendimiento de los algoritmos evolutivos está enfocada principalmente al desarrollo de nuevos algoritmos de búsqueda. Sin embargo, ya se conoce una gran variedad de algoritmos secuenciales apropiados para su implementación en ordenadores paralelos. La tarea pendiente es conseguir una paralelización eficiente. Además, los avances en la investigación de nuevos algoritmos de búsqueda y la paralelización son aditivos, por lo que el proceso de mejora del software de optimización actual se verá incrementada si se atacan ambos frentes simultáneamente. La motivación de esta Tesis Doctoral es avanzar hacia una integración completa de las capacidades de Optimización y Computación de Alto Rendimiento para así impulsar el desarrollo tecnológico proporcionando mejores diseños, acortando los tiempos de desarrollo del producto y minimizando los recursos necesarios. Tras un exhaustivo estudio del estado del arte de las técnicas de optimización matemática disponibles a día de hoy, se ha diseñado una librería de optimización orientada al campo de la Dinámica de Fluidos Computacional y la Transferencia de Calor (CFD & HT). A continuación se han analizado las principales limitaciones de las estrategias de paralelización disponibles para algoritmos genéticos y otros métodos de optimización basados en poblaciones. En el caso en que el tiempo de evaluación medio de la tanda de individuos sea mayor que el tiempo medio que necesita el optimizador para llevar a cabo comunicaciones entre procesadores, se ha detectado que la causa principal de la degradación de la escalabilidad o eficiencia paralela del algoritmo de optimización es el desequilibrio de la carga computacional. El motivo es que a menudo los procesadores no terminan de evaluar su cola de individuos simultáneamente y deben sincronizarse antes de que se cree la siguiente tanda de individuos. Por consiguiente, el desequilibrio de la carga computacional se convierte en tiempo de inactividad en algunos procesadores. Se han propuesto y testado exhaustivamente varios algoritmos de equilibrado de carga aplicables a cualquier método de optimización basado en una población que necesite sincronizar los procesadores tras cada tanda de evaluaciones. Finalmente, se ha presentado como ejemplo ilustrativo un caso real de ingeniería que consiste en optimizar el sistema de refrigeración de un dispositivo de electrónica de potencia. En él queda demostrado que el uso de los algoritmos de equilibrado de carga computacional propuestos es capaz de reducir el tiempo de simulación que necesita la herramienta de optimización

    Diversity in causes of mortality in the measurement of population health in Scotland

    Get PDF
    Measuring diversity in causes of mortality offers an insight into variation in health outcomes within a population. Increased diversity in causes of mortality indicates that deaths have occurred from more varied causes. This may increase diagnostic uncertainty and means health care, promotion, and prevention resources must be spread wider and these sectors must adopt a more comprehensive approach. Diversity in mortality causes has not been measured in Scotland, despite poor health outcomes relative to European comparators. Further, limited previous examination exists of differences in mortality cause diversity in sub‐national population groups, divided by socioeconomic or geographic factors. Health inequalities in Scotland are large and understanding tendencies in mortality cause diversity may be valuable to addressing differential health patterns. Mortality cause diversity has been shown to be associated with increasing life expectancy and falling lifespan variation over time across nations. This relationship has not been examined between different subpopulations within a nation. Finally, the effect of the COVID‐19 pandemic on diversity in causes of mortality has not been examined and this analysis may be a valuable tool to assess the ongoing impact caused by this unprecedented upheaval in population health. In this thesis I calculate diversity in underlying and contributory causes of mortality as well as lifespan diversity using observed data and distributions extracted from multiple‐decrement life tables. I propose novel methods for assessing the contribution of causes of mortality to diversity and a novel method for the measurement of lifespan diversity. I find that diversity in underlying and contributory causes of mortality increased in Scotland from 2001 to the mid 2010s when trends diverge. Trends in variation are shown to be similar across subpopulations, meaning despite socioeconomic or geographic differences reductions in the proportion of individuals who die of the most common causes and a redistribution to a wider variety of causes has occurred at similar rates. Confirming previous research, diversity in causes of mortality is found to increase as the population of Scotland lived longer and to more equal ages. However, higher diversity in causes of mortality is not necessarily found among subpopulations who live to older and more equal ages. I suggest falling mortality rates associated with the most common causes, especially at premature ages, have driven increasing diversity in causes of mortality and life expectancy and falling lifespan diversity. Diversity in causes of mortality, with COVID‐19 deaths are excluded from analysis, is shown to have remained consistent with trends in previous years during the COVID‐19 pandemic. Monitoring diversity in mortality causes has the potential to expand knowledge around patterns of mortality and to provide valuable insight into pressures on public health and healthcare systems

    High-performance evolutionary computation for scalable spatial optimization

    Get PDF
    Spatial optimization (SO) is an important and prolific field of interdisciplinary research. Spatial optimization methods seek optimal allocation or arrangement of spatial units under spatial constraints such as distance, adjacency, contiguity, partition, etc. As spatial granularity becomes finer and problem formulations incorporate increasingly complex compositions of spatial information, the performance of spatial optimization solvers becomes more imperative. My research focuses on scalable spatial optimization methods within the evolutionary algorithm (EA) framework. The computational scalability challenge in EA is addressed by developing a parallel EA library that eliminates the costly global synchronization in massively parallel computing environment and scales to 131,072 processors. Classic EA operators are based on linear recombination and experience serious problems in traversing the decision space with non-linear spatial configurations. I propose a spatially explicit EA framework that couples graph representations of spatial constraints with intelligent guided search heuristics such as path relinking and ejection chain to effectively explore SO decision space. As a result, novel spatial recombination operators are developed to handle strong spatial constraints effectively and are generic to incorporate problem-specific spatial characteristics. This framework is employed to solve large political redistricting problems. Voting district-level redistricting problems are solved and sampled to create billions of feasible districting plans that adhere to Supreme Court mandates, suitable for statistical analyses of redistricting phenomena such as gerrymandering

    GPU Computing for Cognitive Robotics

    Get PDF
    This thesis presents the first investigation of the impact of GPU computing on cognitive robotics by providing a series of novel experiments in the area of action and language acquisition in humanoid robots and computer vision. Cognitive robotics is concerned with endowing robots with high-level cognitive capabilities to enable the achievement of complex goals in complex environments. Reaching the ultimate goal of developing cognitive robots will require tremendous amounts of computational power, which was until recently provided mostly by standard CPU processors. CPU cores are optimised for serial code execution at the expense of parallel execution, which renders them relatively inefficient when it comes to high-performance computing applications. The ever-increasing market demand for high-performance, real-time 3D graphics has evolved the GPU into a highly parallel, multithreaded, many-core processor extraordinary computational power and very high memory bandwidth. These vast computational resources of modern GPUs can now be used by the most of the cognitive robotics models as they tend to be inherently parallel. Various interesting and insightful cognitive models were developed and addressed important scientific questions concerning action-language acquisition and computer vision. While they have provided us with important scientific insights, their complexity and application has not improved much over the last years. The experimental tasks as well as the scale of these models are often minimised to avoid excessive training times that grow exponentially with the number of neurons and the training data. This impedes further progress and development of complex neurocontrollers that would be able to take the cognitive robotics research a step closer to reaching the ultimate goal of creating intelligent machines. This thesis presents several cases where the application of the GPU computing on cognitive robotics algorithms resulted in the development of large-scale neurocontrollers of previously unseen complexity enabling the conducting of the novel experiments described herein.European Commission Seventh Framework Programm

    An Object-Oriented Programming Environment for Parallel Genetic Algorithms

    Get PDF
    This thesis investigates an object-oriented programming environment for building parallel applications based on genetic algorithms (GAs). It describes the design of the Genetic Algorithms Manipulation Environment (GAME), which focuses on three major software development requirements: flexibility, expandability and portability. Flexibility is provided by GAME through a set of libraries containing pre-defined and parameterised components such as genetic operators and algorithms. Expandability is offered by GAME'S object-oriented design. It allows applications, algorithms and genetic operators to be easily modified and adapted to satisfy diverse problem's requirements. Lastly, portability is achieved through the use of the standard C++ language, and by isolating machine and operating system dependencies into low-level modules, which are hidden from the application developer by GAME'S application programming interfaces. The development of GAME is central to the Programming Environment for Applications of PArallel GENetic Algorithms project (PAPAGENA). This is the principal European Community (ESPRIT III) funded parallel genetic algorithms project. It has two main goals: to provide a general-purpose tool kit, supporting the development and analysis of large-scale parallel genetic algorithms (PGAs) applications, and to demonstrate the potential of applying evolutionary computing in diverse problem domains. The research reported in this thesis is divided in two parts: i) the analysis of GA models and the study of existing GA programming environments from an application developer perspective; ii) the description of a general-purpose programming environment designed to help with the development of GA and PGA-based computer programs. The studies carried out in the first part provide the necessary understanding of GAs' structure and operation to outline the requirements for the development of complex computer programs. The second part presents GAME as the result of combining development requirements, relevant features of existing environments and innovative ideas, into a powerful programming environment. The system is described in terms of its abstract data structures and sub-systems that allow the representation of problems independently of any particular GA model. GAME's programming model is also presented as general-purpose object-oriented framework for programming coarse-grained parallel applications. GAME has a modular architecture comprising five modules: the Virtual Machine, the Parallel Execution Module, the Genetic Libraries, the Monitoring Control Module, and the Graphic User Interface. GAME's genetic-oriented abstract data structures, and the Virtual Machine, isolates genetic operators and algorithms from low-level operations such as memory management, exception handling, etc. The Parallel Execution Module supports GAME's object- oriented parallel programming model. It defines an application programming interface and a runtime library that allow the same parallel application, created within the environment, to run on different hardware and operating system platforms. The Genetic Libraries outline a hierarchy of components implemented as parameterised versions of standard and custom genetic operators, algorithms and applications. The Monitoring Control Module supports dynamic control and monitoring of simulations, whereas the Graphic User Interface defines a basic framework and graphic 'widgets' for displaying and entering data. This thesis describes the design philosophy and rationale behind these modules, covering in more detail the Virtual Machine, the Parallel Execution Module and the Genetic Libraries. The assessment discusses the system's ability to satisfy the main requirements of GA and PGA software development, as well as the features that distinguish GAME from other programming environments
    corecore