972 resultados para Informatique mathématique
Resumo:
Sous le régime du Code civil du Bas-Canada, le devoir d’exécuter le contrat de bonne foi était une condition implicite de tout contrat suivant l’article 1024 C.c.B.C. Le 1er janvier 1994, ce devoir a toutefois été codifié à l’article 1375 du Code civil du Québec. Parallèlement à ce changement, le contrat a subi plusieurs remises en question, principalement en raison des critiques émises contre la théorie de l’autonomie de la volonté. En réponse à ces critiques, la doctrine a proposé deux théories qui supposent une importante coopération entre les contractants durant l’exécution du contrat, à savoir le solidarisme contractuel et le contrat relationnel. La notion de bonne foi a aussi évolué récemment, passant d’une obligation de loyauté, consistant généralement en une abstention ou en un devoir de ne pas nuire à autrui, à une obligation plus active d’agir ou de faciliter l’exécution du contrat, appelée devoir de coopération. Ce devoir a donné lieu à plusieurs applications, dont celles de renseignement et de conseil. Ce mémoire étudie la portée et les limites du devoir de coopération. Il en ressort que le contenu et l’intensité de ce devoir varient en fonction de critères tenant aux parties et au contrat. Une étude plus particulière des contrats de vente, d’entreprise et de franchise ainsi que des contrats conclus dans le domaine informatique indique que le devoir de coopération est plus exigeant lorsque le contrat s’apparente au contrat de type relationnel plutôt qu’au contrat transactionnel. Le créancier peut, entre autres choses, être obligé d’« aider » son débiteur défaillant et même de renégocier le contrat devenu déséquilibré en cours d’exécution, bien que cette dernière question demeure controversée. Le devoir de coopération n’est cependant pas illimité parce qu’il s’agit d’une obligation de moyens et non de résultat. Il est également limité, voire inexistant, lorsque le débiteur de cette obligation est tenu à d’autres obligations comme un devoir de réserve ou de non-ingérence, lorsque le cocontractant est de mauvaise foi ou qu’une partie résilie unilatéralement le contrat ou décide de ne pas le renouveler.
Resumo:
La compréhension de la structure d’un logiciel est une première étape importante dans la résolution de tâches d’analyse et de maintenance sur celui-ci. En plus des liens définis par la hiérarchie, il existe un autre type de liens entre les éléments du logiciel que nous appelons liens d’adjacence. Une compréhension complète d’un logiciel doit donc tenir compte de tous ces types de liens. Les outils de visualisation sont en général efficaces pour aider un développeur dans sa compréhension d’un logiciel en lui présentant l’information sous forme claire et concise. Cependant, la visualisation simultanée des liens hiérarchiques et d’adjacence peut donner lieu à beaucoup d’encombrement visuel, rendant ainsi ces visualisations peu efficaces pour fournir de l’information utile sur ces liens. Nous proposons dans ce mémoire un outil de visualisation 3D qui permet de représenter à la fois la structure hiérarchique d’un logiciel et les liens d’adjacence existant entre ses éléments. Notre outil utilise trois types de placements différents pour représenter la hiérarchie. Chacun peut supporter l’affichage des liens d’adjacence de manière efficace. Pour représenter les liens d’adjacence, nous proposons une version 3D de la méthode des Hierarchical Edge Bundles. Nous utilisons également un algorithme métaheuristique pour améliorer le placement afin de réduire davantage l’encombrement visuel dans les liens d’adjacence. D’autre part, notre outil offre un ensemble de possibilités d’interaction permettant à un usager de naviguer à travers l’information offerte par notre visualisation. Nos contributions ont été évaluées avec succès sur des systèmes logiciels de grande taille.
Resumo:
Il est avant-tout question, dans ce mémoire, de la modélisation du timbre grâce à des algorithmes d'apprentissage machine. Plus précisément, nous avons essayé de construire un espace de timbre en extrayant des caractéristiques du son à l'aide de machines de Boltzmann convolutionnelles profondes. Nous présentons d'abord un survol de l'apprentissage machine, avec emphase sur les machines de Boltzmann convolutionelles ainsi que les modèles dont elles sont dérivées. Nous présentons aussi un aperçu de la littérature concernant les espaces de timbre, et mettons en évidence quelque-unes de leurs limitations, dont le nombre limité de sons utilisés pour les construire. Pour pallier à ce problème, nous avons mis en place un outil nous permettant de générer des sons à volonté. Le système utilise à sa base des plug-ins qu'on peut combiner et dont on peut changer les paramètres pour créer une gamme virtuellement infinie de sons. Nous l'utilisons pour créer une gigantesque base de donnée de timbres générés aléatoirement constituée de vrais instruments et d'instruments synthétiques. Nous entrainons ensuite les machines de Boltzmann convolutionnelles profondes de façon non-supervisée sur ces timbres, et utilisons l'espace des caractéristiques produites comme espace de timbre. L'espace de timbre ainsi obtenu est meilleur qu'un espace semblable construit à l'aide de MFCC. Il est meilleur dans le sens où la distance entre deux timbres dans cet espace est plus semblable à celle perçue par un humain. Cependant, nous sommes encore loin d'atteindre les mêmes capacités qu'un humain. Nous proposons d'ailleurs quelques pistes d'amélioration pour s'en approcher.
Resumo:
Analyser le code permet de vérifier ses fonctionnalités, détecter des bogues ou améliorer sa performance. L’analyse du code peut être statique ou dynamique. Des approches combinants les deux analyses sont plus appropriées pour les applications de taille industrielle où l’utilisation individuelle de chaque approche ne peut fournir les résultats souhaités. Les approches combinées appliquent l’analyse dynamique pour déterminer les portions à problèmes dans le code et effectuent par la suite une analyse statique concentrée sur les parties identifiées. Toutefois les outils d’analyse dynamique existants génèrent des données imprécises ou incomplètes, ou aboutissent en un ralentissement inacceptable du temps d’exécution. Lors de ce travail, nous nous intéressons à la génération de graphes d’appels dynamiques complets ainsi que d’autres informations nécessaires à la détection des portions à problèmes dans le code. Pour ceci, nous faisons usage de la technique d’instrumentation dynamique du bytecode Java pour extraire l’information sur les sites d’appels, les sites de création d’objets et construire le graphe d’appel dynamique du programme. Nous démontrons qu’il est possible de profiler dynamiquement une exécution complète d’une application à temps d’exécution non triviale, et d’extraire la totalité de l’information à un coup raisonnable. Des mesures de performance de notre profileur sur trois séries de benchmarks à charges de travail diverses nous ont permis de constater que la moyenne du coût de profilage se situe entre 2.01 et 6.42. Notre outil de génération de graphes dynamiques complets, nommé dyko, constitue également une plateforme extensible pour l’ajout de nouvelles approches d’instrumentation. Nous avons testé une nouvelle technique d’instrumentation des sites de création d’objets qui consiste à adapter les modifications apportées par l’instrumentation au bytecode de chaque méthode. Nous avons aussi testé l’impact de la résolution des sites d’appels sur la performance générale du profileur.
Resumo:
La version intégrale de ce mémoire est disponible uniquement pour consultation individuelle à la Bibliothèque de musique de l’Université de Montréal (http://www.bib.umontreal.ca/MU).
Resumo:
Les caractéristiques de l’enfant à la maternelle prédisent le succès des transitions à travers les premières années scolaires ainsi que la poursuite académique à l’âge de 22 ans. Les habiletés en mathématiques et langagières à la maternelle sont étroitement liées au rendement scolaire. Cependant, il est également important de tenir compte du rôle de l’autocontrôle et de la maîtrise de soi dans la réussite académique. Spécifiquement, la capacité de suivre des instructions et travailler de manière autonome pourrait faciliter l’adaptation des enfants en milieu scolaire. La présente thèse examine la valeur potentielle de cibler l’engagement scolaire à la maternelle, sous forme d’orientation vers la tâche, pour améliorer l’ajustement académique des enfants au cours du primaire. Une première étude, a examiné si l’engagement scolaire à la maternelle est associé à un meilleur niveau de réussite scolaire et d’ajustement psychosocial à la quatrième année du primaire. Les résultats suggèrent que les habitudes de travail dès l’entrée à l’école représentent des prédicteurs robustes du rendement académique quatre ans plus tard. Un plus haut niveau d’engagement prédit également moins de comportements externalisés et de victimisation par les pairs en quatrième année. Ces résultats sont demeurés significatifs suite au contrôle statistique des habilités en mathématique, langagières et socio-émotionnelles des enfants ainsi que de facteurs de risques familiaux. Une deuxième étude a examiné l’origine de l’engagement scolaire au primaire. Cette étude a permis d’observer que le niveau de contrôle cognitif des enfants d’âge préscolaire représente un prédicteur significatif de l’engagement scolaire à la maternelle. Ces résultats suggèrent l’existence d’une continuité développementale du contrôle cognitif de la petite enfance à la maternelle, et que celle-ci pourrait servir de base pour le développement de bonnes habitudes de travail au primaire. Finalement dans une troisième étude, des analyses centrées sur la personne ont été effectués. Trois sous-groupes d’enfants ont été identifiés dans notre échantillon. Les résultats obtenus indiquent des trajectoires d’engagement bas, moyen et élevé respectivement, au primaire. Le faible contrôle cognitif et les facteurs de risques familiaux ont prédit l’appartenance à la trajectoire d’engagement faible. Dans l’ensemble, les résultats de ces trois études soulignent l’importance de tenir compte de l’engagement dans les évaluations de la maturité scolaire à la maternelle. Cette recherche pourrait également informer le développement de programmes d’interventions préscolaires visant à augmenter la préparation scolaire ainsi que la réduction des écarts au niveau de la réussite académique des enfants.
Resumo:
Dans ce mémoire, nous traiterons du théorème de Lebesgue, un des plus frappants et des plus importants de l'analyse mathématique ; à savoir qu'une fonction à variation bornée est dérivable presque partout. Le but de ce travail est de fournir, à part la démonstration souvent proposée dans les cours de la théorie de la mesure, d'autres démonstrations élaborées avec des outils mathématiques plus simples. Ma contribution a consisté essentiellement à détailler et à compléter ces démonstrations, puis à inclure la plupart des figures pour une meilleure lisibilité. Nous allons maintenant, pour ce théorème qui se présente sous d'autres variantes, en proposer l'historique et trois démonstrations différentes.
Resumo:
Les logiciels de correction grammaticale commettent parfois des détections illégitimes (fausses alertes), que nous appelons ici surdétections. La présente étude décrit les expériences de mise au point d’un système créé pour identifier et mettre en sourdine les surdétections produites par le correcteur du français conçu par la société Druide informatique. Plusieurs classificateurs ont été entraînés de manière supervisée sur 14 types de détections faites par le correcteur, en employant des traits couvrant di-verses informations linguistiques (dépendances et catégories syntaxiques, exploration du contexte des mots, etc.) extraites de phrases avec et sans surdétections. Huit des 14 classificateurs développés sont maintenant intégrés à la nouvelle version d’un correcteur commercial très populaire. Nos expériences ont aussi montré que les modèles de langue probabilistes, les SVM et la désambiguïsation sémantique améliorent la qualité de ces classificateurs. Ce travail est un exemple réussi de déploiement d’une approche d’apprentissage machine au service d’une application langagière grand public robuste.
Resumo:
Les gènes sont les parties du génome qui codent pour les protéines. Les gènes d’une ou plusieurs espèces peuvent être regroupés en "familles", en fonction de leur similarité de séquence. Cependant, pour connaître les relations fonctionnelles entre ces copies de gènes, la similarité de séquence ne suffit pas. Pour cela, il est important d’étudier l’évolution d’une famille par duplications et pertes afin de pouvoir distinguer entre gènes orthologues, des copies ayant évolué par spéciation et susceptibles d’avoir conservé une fonction commune, et gènes paralogues, des copies ayant évolué par duplication qui ont probablement développé des nouvelles fonctions. Étant donnée une famille de gènes présents dans n espèces différentes, un arbre de gènes (obtenu par une méthode phylogénétique classique), et un arbre phylogénétique pour les n espèces, la "réconciliation" est l’approche la plus courante permettant d’inférer une histoire d’évolution de cette famille par duplications, spéciations et pertes. Le degré de confiance accordé à l’histoire inférée est directement relié au degré de confiance accordé à l’arbre de gènes lui-même. Il est donc important de disposer d’une méthode préliminaire de correction d’arbres de gènes. Ce travail introduit une méthodologie permettant de "corriger" un arbre de gènes : supprimer le minimum de feuilles "mal placées" afin d’obtenir un arbre dont les sommets de duplications (inférés par la réconciliation) sont tous des sommets de "duplications apparentes" et obtenir ainsi un arbre de gènes en "accord" avec la phylogénie des espèces. J’introduis un algorithme exact pour des arbres d’une certaine classe, et une heuristique pour le cas général.
Resumo:
Thèse numérisée par la Division de la gestion de documents et des archives de l'Université de Montréal
Resumo:
Thèse numérisée par la Division de la gestion de documents et des archives de l'Université de Montréal
Resumo:
Thèse numérisée par la Division de la gestion de documents et des archives de l'Université de Montréal
Resumo:
Thèse diffusée initialement dans le cadre d'un projet pilote des Presses de l'Université de Montréal/Centre d'édition numérique UdeM (1997-2008) avec l'autorisation de l'auteur.
Resumo:
Les films de simulations qui accompagnent le document ont été réalisés avec Pymol.
Resumo:
Avec la complexité croissante des systèmes sur puce, de nouveaux défis ne cessent d’émerger dans la conception de ces systèmes en matière de vérification formelle et de synthèse de haut niveau. Plusieurs travaux autour de SystemC, considéré comme la norme pour la conception au niveau système, sont en cours afin de relever ces nouveaux défis. Cependant, à cause du modèle de concurrence complexe de SystemC, relever ces défis reste toujours une tâche difficile. Ainsi, nous pensons qu’il est primordial de partir sur de meilleures bases en utilisant un modèle de concurrence plus efficace. Par conséquent, dans cette thèse, nous étudions une méthodologie de conception qui offre une meilleure abstraction pour modéliser des composants parallèles en se basant sur le concept de transaction. Nous montrons comment, grâce au raisonnement simple que procure le concept de transaction, il devient plus facile d’appliquer la vérification formelle, le raffinement incrémental et la synthèse de haut niveau. Dans le but d’évaluer l’efficacité de cette méthodologie, nous avons fixé l’objectif d’optimiser la vitesse de simulation d’un modèle transactionnel en profitant d’une machine multicoeur. Nous présentons ainsi l’environnement de modélisation et de simulation parallèle que nous avons développé. Nous étudions différentes stratégies d’ordonnancement en matière de parallélisme et de surcoût de synchronisation. Une expérimentation faite sur un modèle du transmetteur Wi-Fi 802.11a a permis d’atteindre une accélération d’environ 1.8 en utilisant deux threads. Avec 8 threads, bien que la charge de travail des différentes transactions n’était pas importante, nous avons pu atteindre une accélération d’environ 4.6, ce qui est un résultat très prometteur.