• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 15
  • 9
  • Tagged with
  • 21
  • 21
  • 8
  • 6
  • 6
  • 4
  • 4
  • 4
  • 4
  • 4
  • 4
  • 4
  • 3
  • 3
  • 3
  • 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.
1

Détection de ruptures pour les signaux multidimensionnels. Application à la détection d'anomalies dans les réseaux.

Lung-Yut-Fong, Alexandre 06 December 2011 (has links) (PDF)
L'objectif de cette thèse est de proposer des méthodes non-paramétriques de détection rétrospective de ruptures. L'application principale de cette étude est la détection d'attaques dans les réseaux informatiques à partir de données recueillies par plusieurs sondes disséminées dans le réseau. Nous proposons dans un premier temps une méthode en trois étapes de détection décentralisée d'anomalies faisant coopérer des sondes n'ayant accès qu'à une partie du trafic réseau. Un des avantages de cette approche est la possibilité de traiter un flux massif de données, ce qui est permis par une étape de filtrage par records. Un traitement local est effectué dans chaque sonde, et une synthèse est réalisée dans un centre de fusion. La détection est effectuée à l'aide d'un test de rang qui est inspiré par le test de rang de Wilcoxon et étendu aux données censurées. Dans une seconde partie, nous proposons d'exploiter les relations de dépendance entre les données recueillies par les différents capteurs afin d'améliorer les performances de détection. Nous proposons ainsi une méthode non-paramétrique de détection d'une ou plusieurs ruptures dans un signal multidimensionnel. Cette méthode s'appuie sur un test d'homogénéité utilisant un test de rang multivarié. Nous décrivons les propriétés asymptotiques de ce test ainsi que ses performances sur divers jeux de données (bio-informatiques, économétriques ou réseau). La méthode proposée obtient de très bons résultats, en particulier lorsque la distribution des données est atypique (par exemple en présence de valeurs aberrantes).
2

Traitement des signaux pour la détection de mines antipersonnel

Potin, Delphine 14 May 2007 (has links) (PDF)
La multiplication des conflits de part le monde a eu pour principale conséquence de disséminer des millions de mines antipersonnel qui mettent en danger la vie des populations et constituent une entrave au développement économique des régions concernées. Dans ce mémoire, de nouvelles techniques de traitement du signal sont proposées pour la détection des mines antipersonnel dans les données enregistrées par un GPR (Ground Penetrating Radar). Deux filtres numériques sont tout d'abord conçus pour réduire le clutter, qui constitue un ensemble de phénomènes indésirables, dans les données de type Bscan et Cscan fournies par le GPR. Ces deux types de données représentent respectivement des images de tranches verticales et horizontales du sous-sol. La conception des filtres nécessite une modélisation géométrique du clutter et d'une signature de mine, pour chaque type de données, suivie d'une analyse spectrale permettant de définir le gabarit du filtre idéal. Ensuite, une nouvelle méthode de détection, basée sur une technique de détection de ruptures non paramétrique, est proposée afin de localiser automatiquement les réponses des mines antipersonnel sur des données Bscan. La méthode consiste à rechercher les ruptures spatiales suivant la direction des mesures afin de détecter les positions horizontales des mines et les ruptures suivant l'axe temporel afin de détecter les temps de réponse des mines. Une méthode de détection, basée sur l'extraction de contours fermés, est également proposée pour localiser les réponses des mines sur des données Cscan. Les performances de ces deux méthodes de détection sont évaluées par le calcul de probabilité de détection et de fausses alarmes.
3

Monitoring en temps réel de la vitesse de déplacement sur dispositif connecté : modélisation mathématique sur plateforme mobile interfacée avec une base de données d'entraînement et d'audit physiologique / Real-time motion tracking via a portable (wearable) device : data analytics on a portable platform synched with a training and physiological database

Carbillet, Thomas 12 April 2019 (has links)
L'amélioration de la performance en course à pied, lors de courses sur du plat, raisonne avec l'actualité et l'objectif de voir un athlète descendre en dessous des deux heures sur Marathon. Cependant, il existe peu d'équipes travaillant de façon transverse sur les sujets de préparation et de stratégie de course à destination du grand public. Les programmes d'entraînement, fondés sur l'expérience des entraîneurs, ne sont pas, ou peu, personnalisés ce qui conduit à des risques de blessures et une perte de la motivation. Une limite de l'analyse actuelle des programmes d'entraînement semble avoir été atteinte et l'entreprise BillaTraining® a pour objectif de construire un pont entre la recherche scientifique et les coureurs amateurs.L'objectif principal de ce travail de thèse est double. Premièrement, nous avons essayé d'apporter une contribution à la recherche dans le domaine de la course à pied. Après avoir accumulé et formaté des données d'entraînements et de courses provenant de différentes sources, nous avons cherché à décrire des phénomènes tels que l'accélération humaine ou encore les différentes stratégies de course employées sur Marathon pour des coureurs dont les performances de durée de course sont comprises entre 2h30 et 4 heures.Deuxièmement, nous avons développé une application web intégrant les trois phases de la méthode BillaTraining®. La première étape est un audit énergétique qui n'est autre qu'un entraînement de trente minutes à la sensation, permettant de connaitre les capacités physiques d'un coureur. La second étape, le radar énergétique, est le bilan de l'audit et agit comme point d'entrée de l'entraînement sur-mesure qui est la troisième et dernière étape.Afin de répondre à ces deux objectifs, nous avons intégré des notions de physiologie, de mathématiques et d'informatique.Les connaissances en physiologie sont basées sur l'état de l'art ainsi que les recherches passées et présentes du professeur Véronique Billat. Par extension, il s'agit du coeur de métier de l'entreprise BillaTraining®. Les idées de recherche présentent dans cette thèse émanent de la physiologie.Les mathématiques, quand à elles, nous ont permis de décrire certains phénomènes physiologiques grâce notamment aux statistiques. Nous avons eu l'occasion d'utiliser le modèle d'Ornstein-Uhlenbeck de retour à la moyenne ou encore la méthode PELT (Pruned Exact Linear Time) pour la détection d'instants de ruptures dans une série temporelle.Finalement, l'informatique permet de faire communiquer les mathématiques et la physiologie à des fins de recherche scientifique et commerciales. / The improvement running performance has become a major topic lately. We are getting closer to running a marathon in under 2 hours. However, there are not so many professionals working transversally regarding pre-race and in-race preparation concerning the general public. Training plans are based on trainers' experience and are often not custom-made. This exposes the runners to injury risk and motivation loss. It seems that the current analysis of training plans has reached a limit. The aim for BillaTraining® is to go beyond this limit by connecting the research with the general public of runners.This PhD has two main goals. The first one is trying to contribute to the research about running. After gathering and formatting trainings and races data from different origins, we tried to isolate and describe how humans run marathons including 2.5 to 4-hour performances. We studied acceleration, speed and heart rate time series among other things, with the idea of understanding the different running strategies.The second one is the development of a web application embracing the three steps of the BillaTraining® method. The first step is an energetic audit which is a 30-minute running session guided by the runner's sensations. The second step is the energetic radar which is the results of the audit. The last step is a tailor-made training plan built depending on the runner's objectives.In order to come up with a solution, we had to bring together Physiology, Mathematics and Computer Science.The knowledge we had in Physiology was based on professor Véronique Billat's past and current researches. These researches are now part of BillaTraining® and are central for the growth of the company.We used Mathematics to try to describe physiological phenomenons thanks to Statistics. By applying the Ornstein-Uhlenbeck model, we found that humans are able to run at an even acceleration. By using the PELT (Pruned Exact Linear Time) method we automated changepoints detection in time series.Finally, Computer Science allowed a communication between Physiology and Mathematics for research, as well as marketing training tools at the forefront of innovation.
4

Caractérisation et prédiction probabiliste des variations brusques et importantes de la production éolienne

Bossavy, Arthur 06 December 2012 (has links) (PDF)
L'énergie éolienne est aujourd'hui la source d'énergie renouvelable en plus forte expansion. Le caractère variable et partiellement contrôlable de sa production complexifie la gestion du système électrique. L'utilisation dans divers processus de décision, de prédictions du niveau de production à des horizons de 2-3 jours, permet une meilleure intégration de cette ressource. Certaines situations donnent néanmoins lieu à des performances de prédiction insatisfaisantes. Des erreurs dans la prédiction de l'instant d'apparition de variations brusques et importantes de la production, peuvent être responsables d'importants déséquilibres énergétiques, et avoir un impact négatif sur la gestion du système électrique. L'objectif de cette thèse est de proposer des approches permettant d'une part de caractériser ces variations, et d'autre part de prédire et d'estimer l'incertitude dans l'instant de leur apparition. Dans un premier temps, nous étudions différentes formes de caractérisation de ces variations. Nous proposons un modèle de rupture permettant de représenter le caractère aléatoire dans la proximité des ruptures d'un signal, tout en tenant compte des aspects borné et non-stationnaire du processus de production. A partir de simulations issues de ce modèle, nous réalisons une étude paramétrique destinée à évaluer et comparer les performances de différents filtres et approches multi-échelles de détection. Dans un deuxième temps, nous proposons une approche de prédiction probabiliste de l'instant d'apparition d'une rupture, reposant sur l'utilisation de prévisions météorologiques ensemblistes. Leur conversion en puissance fournit différents scénarii de la production, à partir desquels sont agrégées les prédictions de l'instant d'apparition d'une rupture. L'incertitude associée est représentée à l'aide d'intervalles de confiance temporels et de probabilités estimées conditionnellement. Nous évaluons la fiabilité et la finesse de ces estimations sur la base de mesures de production provenant de différentes fermes éoliennes.
5

Segmentation/classification de processus. Application a l'analyse de donnees de microarrays CGH.

Picard, Franck 16 November 2005 (has links) (PDF)
Dans cette thèse nous proposons un nouveau modèle statistique pour l'analyse des problèmes de segmentation/classification dont l'objectif <br /> est de partitionner des données en zones homogènes, et de regrouper ces zones en un nombre fini de classes. Les problèmes de segmentation/classification sont traditionnellement étudiés à l'aide <br /> des modèles de chaînes de Markov cachées. Nous proposons un modèle alternatif qui combine un modèle de segmentation et un modèle de mélange.<br /> <br /> Nous construisons notre modèle dans le cas gaussien et nous proposons une généralisation à des variables discrètes dépendantes. Les paramètres de ce modèle sont estimés par maximum de vraisemblance à l'aide d'un algorithme hybride fondé sur la programmation dynamique et sur l'algorithme EM. Nous abordons un nouveau problème de sélection de modèle qui est la sélection simultanée du nombre de groupes et du nombre de segments et proposons une heuristique pour ce choix. <br /> <br /> Notre modèle est appliqué à l'analyse de données issues d'une nouvelle technologie, les microarrays CGH (Comparative Genomic Hybridization). Cette technique permet de compter le nombre de milliers de gènes le long du génome en une seule expérience. L'application de notre méthode à ces données permet de localiser des zones délétées ou amplifiées le long des chromosomes. Nous proposons également une application à l'analyse des séquences d'ADN pour l'identification de régions homogènes en terme de composition en nucléotides.
6

Change-point detection and kernel methods / Détection de ruptures et méthodes à noyaux

Garreau, Damien 12 October 2017 (has links)
Dans cette thèse, nous nous intéressons à une méthode de détection des ruptures dans une suite d’observations appartenant à un ensemble muni d’un noyau semi-défini positif. Cette procédure est une version « à noyaux » d’une méthode des moindres carrés pénalisés. Notre principale contribution est de montrer que, pour tout noyau satisfaisant des hypothèses raisonnables, cette méthode fournit une segmentation proche de la véritable segmentation avec grande probabilité. Ce résultat est obtenu pour un noyau borné et une pénalité linéaire, ainsi qu’une autre pénalité venant de la sélection de modèles. Les preuves reposent sur un résultat de concentration pour des variables aléatoires bornées à valeurs dans un espace de Hilbert, et nous obtenons une version moins précise de ce résultat lorsque l’on supposeseulement que la variance des observations est finie. Dans un cadre asymptotique, nous retrouvons les taux minimax usuels en détection de ruptures lorsqu’aucune hypothèse n’est faite sur la taille des segments. Ces résultats théoriques sont confirmés par des simulations. Nous étudions également de manière détaillée les liens entre différentes notions de distances entre segmentations. En particulier, nous prouvons que toutes ces notions coïncident pour des segmentations suffisamment proches. D’un point de vue pratique, nous montrons que l’heuristique du « saut de dimension » pour choisir la constante de pénalisation est un choix raisonnable lorsque celle-ci est linéaire. Nous montrons également qu’une quantité clé dépendant du noyau et qui apparaît dans nos résultats théoriques influe sur les performances de cette méthode pour la détection d’une unique rupture. Dans un cadre paramétrique, et lorsque le noyau utilisé est invariant partranslation, il est possible de calculer cette quantité explicitement. Grâce à ces calculs, nouveaux pour plusieurs d’entre eux, nous sommes capable d’étudier précisément le comportement de la constante de pénalité maximale. Pour finir, nous traitons de l’heuristique de la médiane, un moyen courant de choisir la largeur de bande des noyaux à base de fonctions radiales. Dans un cadre asymptotique, nous montrons que l’heuristique de la médiane se comporte à la limite comme la médiane d’une distribution que nous décrivons complètement dans le cadre du test à deux échantillons à noyaux et de la détection de ruptures. Plus précisément, nous montrons que l’heuristique de la médiane est approximativement normale centrée en cette valeur. / In this thesis, we focus on a method for detecting abrupt changes in a sequence of independent observations belonging to an arbitrary set on which a positive semidefinite kernel is defined. That method, kernel changepoint detection, is a kernelized version of a penalized least-squares procedure. Our main contribution is to show that, for any kernel satisfying some reasonably mild hypotheses, this procedure outputs a segmentation close to the true segmentation with high probability. This result is obtained under a bounded assumption on the kernel for a linear penalty and for another penalty function, coming from model selection.The proofs rely on a concentration result for bounded random variables in Hilbert spaces and we prove a less powerful result under relaxed hypotheses—a finite variance assumption. In the asymptotic setting, we show that we recover the minimax rate for the change-point locations without additional hypothesis on the segment sizes. We provide empirical evidence supporting these claims. Another contribution of this thesis is the detailed presentation of the different notions of distances between segmentations. Additionally, we prove a result showing these different notions coincide for sufficiently close segmentations.From a practical point of view, we demonstrate how the so-called dimension jump heuristic can be a reasonable choice of penalty constant when using kernel changepoint detection with a linear penalty. We also show how a key quantity depending on the kernelthat appears in our theoretical results influences the performance of kernel change-point detection in the case of a single change-point. When the kernel is translationinvariant and parametric assumptions are made, it is possible to compute this quantity in closed-form. Thanks to these computations, some of them novel, we are able to study precisely the behavior of the maximal penalty constant. Finally, we study the median heuristic, a popular tool to set the bandwidth of radial basis function kernels. Fora large sample size, we show that it behaves approximately as the median of a distribution that we describe completely in the setting of kernel two-sample test and kernel change-point detection. More precisely, we show that the median heuristic is asymptotically normal around this value.
7

Détection d'anomalies et de ruptures dans les séries temporelles. Applications à la gestion de production de l'électricité / Detection of outliers and changepoints in time series. Applications over the management of electricity production

Allab, Nedjmeddine 21 November 2016 (has links)
Continental est l'outil de référence utilisé par EDF pour la gestion d'électricité à long terme. il permet d'élaborer la stratégie d'exploitation du parc constitué de centrales réparties sur toute l'europe. l'outil simule sur chaque zone et chaque scénario plusieurs variables telles que la demande d'électricité, la quantité générée ainsi que les coûts associés. nos travaux de thèse ont pour objectif de fournir des méthodes d'analyse de ces données de production afin de faciliter leur étude et leur synthèse. nous récoltons un ensemble de problématiques auprès des utilisateurs de continental que nous tentons de résoudre à l'aide des technique de détection d'anomalies et de ruptures dans les séries temporelles. / Continental is the main tool that edf uses for the long-term management of electricity. It elaborates the strategy exploitation of the electrical parc made up by power plants distributed all over europe. the tool simulates for each zone and each scenario several variables, such as the electricity demand, the generated quantity as well as the related costs. our works aim to provide methods to analyse the data of electricity production in order to ease their discovery and synthesis. we get a set of problmatics from the users of continental that we tent to solve through techniques of outliers and changepoints detection in time series.
8

Détection de ruptures multiples – application aux signaux physiologiques. / Multiple change point detection – application to physiological signals.

Truong, Charles 29 November 2018 (has links)
Ce travail s’intéresse au problème de détection de ruptures multiples dans des signaux physiologiques (univariés ou multivariés). Ce type de signaux comprend par exemple les électrocardiogrammes (ECG), électroencéphalogrammes (EEG), les mesures inertielles (accélérations, vitesses de rotation, etc.). L’objectif de cette thèse est de fournir des algorithmes de détection de ruptures capables (i) de gérer de long signaux, (ii) d’être appliqués dans de nombreux scénarios réels, et (iii) d’intégrer la connaissance d’experts médicaux. Par ailleurs, les méthodes totalement automatiques, qui peuvent être utilisées dans un cadre clinique, font l’objet d’une attention particulière. Dans cette optique, des procédures robustes de détection et des stratégies supervisées de calibration sont décrites, et une librairie Python open-source et documentée, est mise en ligne.La première contribution de cette thèse est un algorithme sous-optimal de détection de ruptures, capable de s’adapter à des contraintes sur temps de calcul, tout en conservant la robustesse des procédures optimales. Cet algorithme est séquentiel et alterne entre les deux étapes suivantes : une rupture est détectée, puis retranchée du signal grâce à une projection. Dans le cadre de sauts de moyenne, la consistance asymptotique des instants estimés de ruptures est démontrée. Nous prouvons également que cette stratégie gloutonne peut facilement être étendue à d’autres types de ruptures, à l’aide d’espaces de Hilbert à noyau reproduisant. Grâce à cette approche, des hypothèses fortes sur le modèle génératif des données ne sont pas nécessaires pour gérer des signaux physiologiques. Les expériences numériques effectuées sur des séries temporelles réelles montrent que ces méthodes gloutonnes sont plus précises que les méthodes sous-optimales standards et plus rapides que les algorithmes optimaux.La seconde contribution de cette thèse comprend deux algorithmes supervisés de calibration automatique. Ils utilisent tous les deux des exemples annotés, ce qui dans notre contexte correspond à des signaux segmentés. La première approche apprend le paramètre de lissage pour la détection pénalisée d’un nombre inconnu de ruptures. La seconde procédure apprend une transformation non-paramétrique de l’espace de représentation, qui améliore les performances de détection. Ces deux approches supervisées produisent des algorithmes finement calibrés, capables de reproduire la stratégie de segmentation d’un expert. Des résultats numériques montrent que les algorithmes supervisés surpassent les algorithmes non-supervisés, particulièrement dans le cas des signaux physiologiques, où la notion de rupture dépend fortement du phénomène physiologique d’intérêt.Toutes les contributions algorithmiques de cette thèse sont dans "ruptures", une librairie Python open-source, disponible en ligne. Entièrement documentée, "ruptures" dispose également une interface consistante pour toutes les méthodes. / This work addresses the problem of detecting multiple change points in (univariate or multivariate) physiological signals. Well-known examples of such signals include electrocardiogram (ECG), electroencephalogram (EEG), inertial measurements (acceleration, angular velocities, etc.). The objective of this thesis is to provide change point detection algorithms that (i) can handle long signals, (ii) can be applied on a wide range of real-world scenarios, and (iii) can incorporate the knowledge of medical experts. In particular, a greater emphasis is placed on fully automatic procedures which can be used in daily clinical practice. To that end, robust detection methods as well as supervised calibration strategies are described, and a documented open-source Python package is released.The first contribution of this thesis is a sub-optimal change point detection algorithm that can accommodate time complexity constraints while retaining most of the robustness of optimal procedures. This algorithm is sequential and alternates between the two following steps: a change point is estimated then its contribution to the signal is projected out. In the context of mean-shifts, asymptotic consistency of estimated change points is obtained. We prove that this greedy strategy can easily be extended to other types of changes, by using reproducing kernel Hilbert spaces. Thanks this novel approach, physiological signals can be handled without making assumption of the generative model of the data. Experiments on real-world signals show that those approaches are more accurate than standard sub-optimal algorithms and faster than optimal algorithms.The second contribution of this thesis consists in two supervised algorithms for automatic calibration. Both rely on labeled examples, which in our context, consist in segmented signals. The first approach learns the smoothing parameter for the penalized detection of an unknown number of changes. The second procedure learns a non-parametric transformation of the representation space, that improves detection performance. Both supervised procedures yield finely tuned detection algorithms that are able to replicate the segmentation strategy of an expert. Results show that those supervised algorithms outperform unsupervised algorithms, especially in the case of physiological signals, where the notion of change heavily depends on the physiological phenomenon of interest.All algorithmic contributions of this thesis can be found in ``ruptures'', an open-source Python library, available online. Thoroughly documented, ``ruptures'' also comes with a consistent interface for all methods.
9

Estimation adaptative par sélection de partitions en rectangles dyadiques

Akakpo, Nathalie 07 December 2009 (has links) (PDF)
Dans cette thèse, nous étudions divers problèmes d'estimation par sélection d'estimateurs constants ou polynomiaux par morceaux sur des partitions en intervalles ou rectangles dyadiques, en utilisant un critère de type moindres carrés pénalisé adéquat. Nos travaux portent sur trois sujets différents. Nous nous intéressons tout d'abord à l'estimation d'une loi de probabilité discrète, ainsi qu'à une application à la détection de ruptures multiples. Puis, nous proposons un cadre unifié pour l'estimation fonctionnelle basée sur des données éventuellement censurées. Enfin, nous étudions simultanément l'estimation de densité multivariée et de densité conditionnelle pour des données dépendantes. Le choix de la collection de partitions en intervalles ou rectangles dyadiques s'avère intéressant aussi bien en théorie qu'en pratique. En effet, notre estimateur pénalisé vérifie dans chacun des cadres une inégalité de type oracle non-asymptotique, pour une pénalité bien choisie. Il atteint également la vitesse minimax à constante près sur de nombreuses classes de fonctions, dont la régularité est éventuellement à la fois non homogène et non isotrope. Cette propriété, qui à notre connaissance n'a été démontrée pour aucun autre estimateur, repose sur des résultats d'approximation dont les preuves sont inspirées d'un article de DeVore et Yu. Par ailleurs, le calcul de notre estimateur dans un cadre univarié est basé sur un algorithme de plus court chemin dont la complexité est seulement linéaire en la taille de l'échantillon.
10

Sélection de modèle par validation-croisée en estimation de la densité, régression et détection de ruptures

Celisse, Alain 09 December 2008 (has links) (PDF)
L'objet de cette thèse est l'étude d'un certain type d'algorithmes de rééchantillonnage regroupés sous le nom de validation-croisée, et plus particulièrement parmi eux, du leave-p-out. Très utilisés en pratique, ces algorithmes sont encore mal compris d'un point de vue théorique, notamment sur un plan non-asymptotique. Notre analyse du leave-p-out s'effectue dans les cadres de l'estimation de densité et de la régression. Son objectif est de mieux comprendre la validation-croisée en fonction du cardinal $p$ de l'ensemble test dont elle dépend. D'un point de vue général, la validation-croisée est destinée à estimer le risque d'un estimateur. Dans notre cas, le leave-$p$-out n'est habituellement pas applicable en pratique, à cause d'une trop grande complexité algorithmique. Pourtant, nous parvenons à obtenir des formules closes (parfaitement calculables) de l'estimateur leave-p-out du risque, pour une large gamme d'estimateurs très employés. Nous envisageons le problème de la sélection de modèle par validation-croisée sous deux aspects. L'un repose sur l'estimation optimale du risque en termes d'un compromis biais-variance, ce qui donne lieu à une procédure d'estimation de densité basée sur un choix de $p$ entièrement fondé sur les données. Une application naturelle au problème des tests multiples est envisagée. L'autre aspect est lié à l'interprétation de l'estimateur validation-croisée comme critère pénalisé. Sur le plan théorique, la qualité de la procédure leave-$p$-out est garantie par des inégalités oracle ainsi qu'un résultat d'adaptativité dans le cadre de l'estimation de densité. Le problème de la détection de ruptures est également abordé au travers d'une vaste étude de simulations, basée sur des considérations théoriques. Sur cette base, nous proposons une procédure entièrement tournée vers le rééchantillonnage, permettant de traiter le cas difficile de données hétéroscédastiques avec une complexité algorithmique raisonnable.

Page generated in 0.1041 seconds