• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 128
  • 52
  • 51
  • 9
  • 9
  • 7
  • 3
  • 3
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • Tagged with
  • 296
  • 296
  • 90
  • 75
  • 67
  • 65
  • 64
  • 59
  • 49
  • 41
  • 39
  • 36
  • 36
  • 35
  • 34
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
201

System identification and model-based control of a filter cake drying process

Wiese, Johannes Jacobus 03 1900 (has links)
Thesis (MScEng (Process Engineering))--University of Stellenbosch, 2011. / ENGLISH ABSTRACT: A mineral concentrate drying process consisting of a hot gas generator, a flash dryer and a feeding section is found to be the bottleneck in the platinum concentrate smelting process. This operation is used as a case study for system identification and model-based control of dryers. Based on the availability of a month's worth of dryer data obtained from a historian, a third party modelling and control software vendor is interested in the use of this data for data driven model construction and options for dryer control. The aimed contribution of this research is to use only data driven techniques and attempt an SID experiment and use of this model in a controller found in literature to be applicable to the dryer process. No first principle model was available for simulation or interpretation of results. Data were obtained for the operation from the plant historian, reduced, cleaned and investigated for deterministic information through surrogate data comparison – resulting in usable timeseries from the plant data. The best datasets were used for modelling of the flash dryer and hot gas generator operations individually, with the hot gas generator providing usable results. The dynamic, nonlinear autoregressive models with exogenous inputs were identified by means of a genetic programming with orthogonal least squares toolbox. The timeseries were reconstructed as a latent variable set, or “pseudo-embedding”, using the delay parameters as identified by average mutual information, autocorrelation and false nearest neighbours. The latent variable reconstruction resulted in a large solution space, which need to be investigated for an unknown model structure. Genetic Programming is capable of identifying unknown structures. Freerun prediction stability and sensitivity analysis were used to assess the identified best models for use in model based control. The best two models for the hot gas generator were used in a basic model predictive controller in an attempt to only track set point changes. One step ahead modelling of the flash dryer outlet air temperature was unsuccessful with the best model obtaining a validation R2 = 43%. The lack of process information contained in the available process variables are to blame for the poor model identification. One-step ahead prediction of the hot gas generator resulted in a top model with validation R2 = 77.1%. The best two hot gas generator models were implemented in a model predictive controller constructed in a real time plant data flow simulation. This controller's performance was measured against set point tracking ability. The MPC implementation was unsuccessful due to the poor freerun prediction ability of the models. The controller was found to be unable to optimise the control moves using the model. This is assigned to poor model freerun prediction ability in one of the models and a too complex freerun model structure required. It is expected that the number of degrees of freedom in the freerun model is too much for the optimiser to handle. A successful real time simulation architecture for the plant dataflow could however be constructed in the supplied software. It is recommended that further process measurements, specifically feed moisture content, feed temperature and air humidity, be included for the flash dryer; closed loop system identification be investigated for the hot gas generator; and a simpler model structure with smaller reconstructed latent variable regressor set be used for the model predictive controller. / AFRIKAANSE OPSOMMING: 'n Drogings proses vir mineraal konsentraat bestaan uit drie eenhede: 'n lug verwarmer-, 'n blitsdroeër- en konsentraat toevoer eenheid. Hierdie droeër is geïdentifiseer as die bottelnek in die platinum konsentraat smeltingsproses. Die droeër word gebruik as 'n gevallestudie vir sisteem identifikasie asook model-gebasseerder beheer van droeërs. 'n Maand se data verkry vanaf die proses databasis, het gelei tot 'n derde party industriële sagteware en beheerstelsel maatskappy se belangstelling in data gedrewe modelering en beheer opsies vir die drogings proses. Die doelwit van hierdie studie is om data gedrewe modeleringstegnieke te gebruik en die model in 'n droeër-literatuur relevante beheerder te gebruik. Geen eerste beginsel model is beskikbaar vir simulasie of interpretasie van resultate nie. Die verkrygde data is gereduseer, skoon gemaak en bestudeer om te identifiseer of die tydreeks deterministiese inligting bevat. Dit is gedoen deur die tydreeks met stochastiese surrogaat data te vergelyk. Die mees gepaste datastelle is gebruik vir modellering van die blitsdroeër en lugverwarmer afsonderlik. Die nie-liniêre, dinamiese nie-linieêre outeregressie modelle met eksogene insette was deur 'n genetiese programmering algoritme, met ortogonale minimum kwadrate, identifiseer. Die betrokke tydreeks is omskep in 'n hulp-veranderlike stel deur gebruik te maak van vertragings-parameters wat deur gemiddelde gemeenskaplike inligting, outokorrelasie en vals naaste buurman metodes verkry is. Die GP algoritme is daartoe in staat om the groot oplossings ruimte wat deur hierdie hulp-veranderlike rekonstruksie geskep word, te bestudeer vir 'n onbekende model struktuur. Die vrye vooruitskattings vermoë, asook die model sensitiwiteit is inag geneem tydens die analiese van die resultate. Die beste modelle se gepastheid tot model voorspellende beheer is gemeet deur die uitkomste van 'n sensitiwiteits analise, asook 'n vrylopende voorspelling, in oënskou te neem. Die een-stap vooruit voorspellende model van die droeër was onsusksesvol met die beste model wat slegs 'n validasie R2 = 43% kon behaal. Die gebrekkige meet instrumente in die droeër is te blameer vir die swak resultate. Die een-stap vooruit voorspellende model van die lug verwarmer wat die beste gevaar het, het 'n validasie R2 = 77.1% gehad. 'n Basiese model voorspellende beheerder is gebou deur die 2 beste modelle van slegs die lugverwarmer te gebruik in 'n intydse simulasie van die raffinadery data vloei struktuur. Hierdie beheerder se vermoë om toepaslike beheer uit te oefen, is gemeet deur die slegs die stelpunt te verander. Die beheerder was egter nie daartoe in staat om die insette te optimeer, en so die stelpunt te volg nie. Hierdie onvermoë is as gevolg van die kompleks vrylopende model struktuur wat oor die voorspellingsvenster optimeer moet word, asook die onstabiele vryvooruitspellings vermoë van die modelle. Die vermoede is dat die loslopende voorspelling te veel vryheids grade het om die insette maklik genoeg te optimeer. Die intydse simulasie van die raffinadery se datavloei struktuur was egter suksesvol. Beter meting van noodsaaklike veranderlikes vir die droër, o.a. voginhoud van die voer, voer temperatuur, asook lug humiditeit; geslotelus sisteem identifikasie vir die lugverwarmer; asook meer eenvoudige model struktuur vir gebruik in voorspellende beheer moontlik vermag deur 'n kleiner hulp veranderlike rekonstruksie te gebruik.
202

Estimation of suspended sediment yield flowing into Inanda Dam using genetic programming

Jaiyeola, Adesoji Tunbosun January 2016 (has links)
Submitted in fulfilment of the requirements of the degree of Master of Engineering , Durban University of Technology, Durban, South Africa, 2016. / Reservoirs are designed to specific volume called the dead storage to be able to withstand the quantity of particles in the rivers flowing into it during its design period called its economic life. Therefore, accurate calculation of the quantities of sediment being transported is of great significance in environment engineering, hydroelectric equipment longevity, river aesthetics, pollution and channel navigability. In this study different input combination of monthly upstream suspended sediment concentration and upstream flow dataset for Inanda Dam for 15 years was used to develop a model for each month of the year. The predictive abilities of each of the developed model to predict the quantity of suspended sediment flowing into Inanda Dam were also compared with those of the corresponding developed Sediment Rating Curves using two evaluation criteria - Determination of Coefficient (R2) and Root-Mean-Square Error (RMSE). The results from this study show that a genetic programming approach can be used to accurately predict the relationship between the streamflow and the suspended sediment load flowing into Inanda Dam. The twelve developed monthly genetic programming (GP) models produced a significantly low difference when the observed suspended sediment load was compared with the predicted suspended sediment load. The average R2 values and RMS error for the twelve developed models were 0.9996 and 0.3566 respectively during the validation phase. The Genetic Programming models were also able to replicate extreme hydrological events like predicting low and high suspended sediment load flowing into the dam. Moreover, the study also produced accurate sediment rating curve models with low RMSE values of between 0.3971 and 11.8852 and high R2 values of between 0.9833 and 0.9962. This shows that sediment rating curves can be used to predict historical missing data of the quantity of suspended sediment flowing into Inanda Dam using existing streamflow datasets. The results from this study further show that the predictions from the Genetic Programming models are better than the predictions from the Sediment Raring Curve models, especially in predicting large quantities of suspended sediment load during high streamflow such as during flood events. This proves that Genetic Programming technique is a better predictive tool than Sediment Raring Curve technique. In conclusion, the results from this study are very promising and support the use of Genetic Programming in predicting the nonlinear and complex relationship between suspended sediment load and streamflow at the inlet of Inanda Dam in KwaZulu-Natal. This will help planners and managers of the dam to understand the system better in terms of its problems and to find alternative ways to address them.
203

[en] AUTOMATIC SYNTHESIS OF DIGITAL MICROCONTROLLER PROGRAMS BY GENETIC PROGRAMMING / [pt] SÍNTESE AUTOMÁTICA DE PROGRAMAS PARA MICROCONTROLADORES DIGITAIS POR PROGRAMAÇÃO GENÉTICA

DOUGLAS MOTA DIAS 28 June 2005 (has links)
[pt] Esta dissertação investiga o uso de programação genética linear na síntese automática de programas em linguagem de montagem para microcontroladores, que implementem estratégias de controle de tempo ótimo ou sub-ótimo, do sistema a ser controlado, a partir da modelagem matemática por equações dinâmicas. Uma das dificuldades encontradas no projeto convencional de um sistema de controle ótimo é que soluções para este tipo de problema normalmente implicam em uma função altamente não-linear das variáveis de estado do sistema. Como resultado, várias vezes não é possível encontrar uma solução matemática exata. Já na implementação, surge a dificuldade de se ter que programar manualmente o microcontrolador para executar o controle desejado. O objetivo deste trabalho foi, portanto, contornar tais dificuldades através de uma metodologia que, a partir da modelagem matemática de uma planta, fornece como resultado um programa em linguagem de montagem. O trabalho consistiu no estudo sobre os possíveis tipos de representações para a manipulação genética de programas em linguagem de montagem, tendo sido concluído que a linear é a mais adequada, e na implementação de uma ferramenta para realizar os três estudos de caso: water bath, cart centering e pêndulo invertido. O desempenho de controle dos programas sintetizados foi comparado com o dos sistemas obtidos por outros métodos (redes neurais, lógica fuzzy, sistemas neurofuzzy e programação genética). Os programas sintetizados demonstraram, no mínimo, o mesmo desempenho, mas com a vantagem adicional de fornecerem a solução já no formato final da plataforma de implementação escolhida: um microcontrolador. / [en] This dissertation investigates the use of genetic programming in automatic synthesis of assembly language programs for microcontrollers, which implement time-optimal or sub-optimal control strategies of the system to be controlled, from the mathematical modeling by dynamic equations. One of the issues faced in conventional design of an optimal control system is that solutions for this kind of problem commonly involve a highly nonlinear function of the state variables of the system. As a result, frequently it is not possible to find an exact mathematical solution. On the implementation side, the difficulty comes when one has to manually program the microcontroller to run the desired control. Thus, the objective of this work was to overcome these difficulties applying a methodology that, starting from the mathematical modeling of a plant, provides as result an assembly language microcontroller program. The work included a study of the possible types of genetic representation for the manipulation of assembly language programs. In this regard, it has been concluded that the linear is the most suitable representation. The work also included the implementation of a tool to accomplish three study cases: water bath, cart centering and inverted pendulum. The performance of control of the synthesized programs was compared with the one obtained by other methods (neural networks, fuzzy logic, neurofuzzy systems and genetic programming). The synthesized programs achieved at least the same performance of the other systems, with the additional advantage of already providing the solution in the final format of the chosen implementation platform: a microcontroller.
204

Programação genética: operadores de crossover, blocos construtivos e emergência semântica / Genetic programming: crossover operators, building blocks and semantic emergence

Inhasz, Rafael 19 March 2010 (has links)
Os algoritmos evolutivos são métodos heurísticos utilizados para a solução de problemas de otimização e que possuem mecanismos de busca inspirados nos conceitos da Teoria de Evolução das Espécies. Entre os algoritmos evolutivos mais populares, estão os Algoritmos Genéticos (GA) e a Programação Genética (GP). Essas duas técnicas possuem como ponto em comum o uso pesado do operador de recombinação, ou \"crossover\" - mecanismo pelo qual novas soluções são geradas a partir da combinação entre soluções existentes. O que as diferencia é a flexibilidade - enquanto que nos algoritmos genéticos as soluções são representadas por códigos binários, na programação genética essa representação é feita por algoritmos que podem assumir qualquer forma ou extensão. A preferência pelo operador de crossover não é simplesmente uma característica em comum das duas técnicas supracitadas, mas um poderoso diferencial. Na medida em que os indivíduos (as soluções) são selecionados de acordo com a respectiva qualidade, o uso do operador crossover tende a aumentar mais rapidamente a qualidade média da população se as partes boas de cada solução combinada (os \"building blocks\") forem preservadas. Holland [1975] prova matematicamente que sob determinadas condições esse efeito ocorrerá em algoritmos genéticos, em um resultado que ficou conhecido como \"Schema Theorem of GAs\". Entretanto, a implementação prática de GA (e, em especial, de GP) geralmente não ocorre segundo as condições supostas neste teorema. Diversos estudos têm mostrado que a extensão variável das estruturas utilizadas em GP dão um caráter de mutação ao operador de crossover, na medida em que a seleção aleatória dos pontos de combinação pode levar à destruição dos building blocks. Este trabalho propõe um novo operador de crossover, baseado em uma técnica de meta-controle que orienta a seleção dos pontos para a recombinação das soluções, respeitando o histórico de recombinação de cada ponto e a compatibilidade semântica entre as \"partes\" de cada solução que são \"trocadas\" neste processo. O método proposto é comparado ao crossover tradicional em um estudo empírico ligado à área Financeira, no qual o problema apresentado consiste em replicar a carteira de um fundo de investimentos setorial. Os resultados mostram que o método proposto possui performance claramente superior ao crossover tradicional, além de proporcionar a emergência de semântica entre as soluções ótimas. / Evolutionary algorithms are heuristic methods used to find solutions to optimization problems. These methods use stochastic search mechanisms inspired by Natural Selection Theory. Genetic Algorithms and Genetic Programming are two of the most popular evolutionary algorithms. These techniques make intensive use of crossover operators, a mechanism responsible for generating new individuals recombining parts of existing solutions. The choice of crossover operator to be used is very important for the algorithms´ performance. If individuals are selected according to the fitness, the use of crossover operator helps to quickly increase the average quality of the population. In GA we also observe the emergence of \"building blocks\", that is, encapsulated parts of good solutions that are often preserved during the recombination process. Holland [1975] proves that, under some conditions, this phenomenon will occur in GAs. This result is known as Schema Theorem of GAs. However, practical implementations of these algorithms may be far away from the conditions stated in Holland´s theorem. In these non-ideal conditions, several factor may contribute to higher rates of destructive crossover (building blocks destruction). This work proposes a new crossover operator, based on a meta-control technique that drives selection of crossover points according to recombination history and semantic compatibility between the code blocks to be switched. The proposed method is compared to common crossover in a case study concerning the replication of an investment fund. Our results show that the proposed method has better performance than the common crossover. Meta-control techniques also facilitate the emergence of building blocks that, in turn, give raise to emergent semantics that can be used to give meaning or interpretations to an optimal solution and its components.
205

Program distribution estimation with grammar models

Shan, Yin, Information Technology & Electrical Engineering, Australian Defence Force Academy, UNSW January 2005 (has links)
This thesis studies grammar-based approaches in the application of Estimation of Distribution Algorithms (EDA) to the tree representation widely used in Genetic Programming (GP). Although EDA is becoming one of the most active fields in Evolutionary computation (EC), the solution representation in most EDA is a Genetic Algorithms (GA) style linear representation. The more complex tree representations, resembling GP, have received only limited exploration. This is unfortunate, because tree representations provide a natural and expressive way of representing solutions for many problems. This thesis aims to help fill this gap, exploring grammar-based approaches to extending EDA to GP-style tree representations. This thesis firstly provides a comprehensive survey of current research on EDA with emphasis on EDA with GP-style tree representation. The thesis attempts to clarify the relationship between EDA with conventional linear representations and those with a GP-style tree representation, and to reveal the unique difficulties which face this research. Secondly, the thesis identifies desirable properties of probabilistic models for EDA with GP-style tree representation, and derives the PRODIGY framework as a consequence. Thirdly, following the PRODIGY framework, three methods are proposed. The first method is Program Evolution with Explicit Learning (PEEL). Its incremental general-to-specific grammar learning method balances the effectiveness and efficiency of the grammar learning. The second method is Grammar Model-based Program Evolution (GMPE). GMPE realises the PRODIGY framework by introducing elegant inference methods from the formal grammar field. GMPE provides good performance on some problems, but also provides a means to better understand some aspects of conventional GP, especially the building block hypothesis. The third method is Swift GMPE (sGMPE), which is an extension of GMPE, aiming at reducing the computational cost. Fourthly, a more accurate Minimum Message Length metric for grammar learning in PRODIGY is derived in this thesis. This metric leads to improved performance in the GMPE system, but may also be useful in grammar learning in general. It is also relevant to the learning of other probabilistic graphical models.
206

Multiple Objective Evolutionary Algorithms for Independent, Computationally Expensive Objectives

Rohling, Gregory Allen 19 November 2004 (has links)
This research augments current Multiple Objective Evolutionary Algorithms with methods that dramatically reduce the time required to evolve toward a region of interest in objective space. Multiple Objective Evolutionary Algorithms (MOEAs) are superior to other optimization techniques when the search space is of high dimension and contains many local minima and maxima. Likewise, MOEAs are most interesting when applied to non-intuitive complex systems. But, these systems are often computationally expensive to calculate. When these systems require independent computations to evaluate each objective, the computational expense grows with each additional objective. This method has developed methods that reduces the time required for evolution by reducing the number of objective evaluations, while still evolving solutions that are Pareto optimal. To date, all other Multiple Objective Evolutionary Algorithms (MOEAs) require the evaluation of all objectives before a fitness value can be assigned to an individual. The original contributions of this thesis are: 1. Development of a hierarchical search space description that allows association of crossover and mutation settings with elements of the genotypic description. 2. Development of a method for parallel evaluation of individuals that removes the need for delays for synchronization. 3. Dynamical evolution of thresholds for objectives to allow partial evaluation of objectives for individuals. 4. Dynamic objective orderings to minimize the time required for unnecessary objective evaluations. 5. Application of MOEAs to the computationally expensive flare pattern design domain. 6. Application of MOEAs to the optimization of fielded missile warning receiver algorithms. 7. Development of a new method of using MOEAs for automatic design of pattern recognition systems.
207

遺傳規劃應用於國際金融巿場交易策略之研究

許江妹, Hoi , Kong Mui Unknown Date (has links)
本文應用遺傳規劃交易程式來檢驗八個國家的股票指數和外匯巿場的表現,採用移動視窗的方法,測試三組獨立的期間,重新檢驗較早期的研究結果,並繼續延申探討,包括交易報酬與交易行為。實證結果顯示,不論在股票還是外匯巿場,若訓練期間的資料選擇不當,遺傳規劃的獲利表現會不理想。資料形態不但會影響遺傳規劃交易程式的獲利性,同時也決定了程式本身的一些觀察特性。我們另外分析了交易程式的複雜度、演化時間、交易頻率和一致性。交易程式的複雜度和演化時間有正向的相關性,但複雜度和報酬、以及演化時間和報酬之間都只有很弱的關係。這些發現可以讓我們更了解遺傳規劃演化交易策略的過程,有助往後更進一步的研究。
208

Evolutionary algorithms and frequent itemset mining for analyzing epileptic oscillations

Smart, Otis Lkuwamy 28 March 2007 (has links)
This research presents engineering tools that address an important area impacting many persons worldwide: epilepsy. Over 60 million people are affected by epilepsy, a neurological disorder characterized by recurrent seizures that occur suddenly. Surgery and anti-epileptic drugs (AED s) are common therapies for epilepsy patients. However, only persons with seizures that originate in an unambiguous, focal portion of the brain are candidates for surgery, while AED s can lead to very adverse side-effects. Although medical devices based upon focal cooling, drug infusion or electrical stimulation are viable alternatives for therapy, a reliable method to automatically pinpoint dysfunctional brain and direct these devices is needed. This research introduces a method to effectively localize epileptic networks, or connectivity between dysfunctional brain, to guide where to insert electrodes in the brain for therapeutic devices, surgery, or further investigation. The method uses an evolutionary algorithm (EA) and frequent itemset mining (FIM) to detect and cluster frequent concentrations of epileptic neuronal action potentials within human intracranial electroencephalogram (EEG) recordings. In an experiment applying the method to seven patients with neocortical epilepsy (a total of 35 seizures), the approach reliably identifies the seizure onset zone, in six of the subjects (a total of 31 seizures). Hopefully, this research will lead to a better control of seizures and an improved quality of life for the millions of persons affected by epilepsy.
209

Indexovanie podobnostných modelov / Indexing Arbitrary Similarity Models

Bartoš, Tomáš January 2014 (has links)
The performance of similarity search in the unstructured databases largely depends on the employed similarity model. The properties of metric space model enable indexing the data with metric access methods efficiently. But for unconstrained or nonmetric similarity models typical for multimedia, medical, or scientific databases, in which metric postulates do not hold, there exists no general solution so far. Motivated by the successful application of Ptolemaic indexing to the image retrieval, we introduce SIMDEX Framework which is a universal framework that is capable of revealing alternative indexing methods that will serve for efficient yet effective similarity searching for any similarity model. It explores the axiom space in order to discover novel techniques suitable for database indexing. We review all existing variants (simple I-SIMDEX; GP-SIMDEX and PGP-SIMDEX which both use genetic programming) and we outline how the different groups of domain researchers can benefit from them. We also describe a real application of SIMDEX Framework to practice while building the Smart Pivot Table indexing method together with advanced Triangle+ filtering for metric spaces empowered by LowerBound Tightening technique. At all cases, we provide extensive experimental evaluations of mentioned techniques. Powered by...
210

Síntese de árvores de padrões Fuzzy através de Programação Genética Cartesiana. / Synthesis of Fuzzy pattern trees by Cartesian Genetic Programming.

Anderson Rodrigues dos Santos 30 July 2014 (has links)
Esta dissertação apresenta um sistema de indução de classificadores fuzzy. Ao invés de utilizar a abordagem tradicional de sistemas fuzzy baseados em regras, foi utilizado o modelo de Árvore de Padrões Fuzzy(APF), que é um modelo hierárquico, com uma estrutura baseada em árvores que possuem como nós internos operadores lógicos fuzzy e as folhas são compostas pela associação de termos fuzzy com os atributos de entrada. O classificador foi obtido sintetizando uma árvore para cada classe, esta árvore será uma descrição lógica da classe o que permite analisar e interpretar como é feita a classificação. O método de aprendizado originalmente concebido para a APF foi substituído pela Programação Genética Cartesiana com o intuito de explorar melhor o espaço de busca. O classificador APF foi comparado com as Máquinas de Vetores de Suporte, K-Vizinhos mais próximos, florestas aleatórias e outros métodos Fuzzy-Genéticos em diversas bases de dados do UCI Machine Learning Repository e observou-se que o classificador APF apresenta resultados competitivos. Ele também foi comparado com o método de aprendizado original e obteve resultados comparáveis com árvores mais compactas e com um menor número de avaliações. / This work presents a system for induction of fuzzy classifiers. Instead of the traditional fuzzy based rules, it was used a model called Fuzzy Pattern Trees (FPT), which is a hierarchical tree-based model, having as internal nodes, fuzzy logical operators and the leaves are composed of a combination of fuzzy terms with the input attributes. The classifier was obtained by creating a tree for each class, this tree will be a logic class description which allows the interpretation of the results. The learning method originally designed for FPT was replaced by Cartesian Genetic Programming in order to provide a better exploration of the search space. The FPT classifier was compared against Support Vector Machines, K Nearest Neighbour, Random Forests and others Fuzzy-Genetics methods on several datasets from the UCI Machine Learning Repository and it presented competitive results. It was also compared with Fuzzy Pattern trees generated by the former learning method and presented comparable results with smaller trees and a lower number of functions evaluations.

Page generated in 0.4179 seconds