Code automodifiableUn code automodifiable est, en programmation informatique, un programme qui peut se modifier lui-même, c’est-à-dire appeler des routines, fonctions ou méthodes qui seront créées par le programme lui-même. En dehors de l'idée, qui relève pour le moment de la fiction, d'un robot qui modifierait lui-même sa finalité, l'utilisation la plus courante du code automodifiable est l'optimisation de la vitesse d'exécution d'un programme : par exemple un interpréteur peut analyser le code source qu'il est en train d'exécuter, se rendre compte qu'une fonction est appelée fréquemment, et en réaliser à la volée une version compilée, qui sera exécutée plus rapidement.
Modèle mathématiquevignette|Un automate fini est un exemple de modèle mathématique. Un modèle mathématique est une traduction d'une observation dans le but de lui appliquer les outils, les techniques et les théories mathématiques, puis généralement, en sens inverse, la traduction des résultats mathématiques obtenus en prédictions ou opérations dans le monde réel. Un modèle se rapporte toujours à ce qu’on espère en déduire.
Neurosciences computationnellesLes neurosciences computationnelles (NSC) sont un champ de recherche des neurosciences qui s'applique à découvrir les principes computationnels des fonctions cérébrales et de l'activité neuronale, c'est-à-dire des algorithmes génériques qui permettent de comprendre l'implémentation dans notre système nerveux central du traitement de l'information associé à nos fonctions cognitives. Ce but a été défini en premier lieu par David Marr dans une série d'articles fondateurs.
Modèles du neurone biologiquevignette|390x390px|Fig. 1. Dendrites, soma et axone myélinisé, avec un flux de signal des entrées aux dendrites aux sorties aux bornes des axones. Le signal est une courte impulsion électrique appelée potentiel d'action ou impulsion. vignette|Figure 2. Évolution du potentiel postsynaptique lors d'une impulsion. L'amplitude et la forme exacte de la tension peut varier selon la technique expérimentale utilisée pour acquérir le signal.
Théorie de la complexité (informatique théorique)vignette|Quelques classes de complexité étudiées dans le domaine de la théorie de la complexité. Par exemple, P est la classe des problèmes décidés en temps polynomial par une machine de Turing déterministe. La théorie de la complexité est le domaine des mathématiques, et plus précisément de l'informatique théorique, qui étudie formellement le temps de calcul, l'espace mémoire (et plus marginalement la taille d'un circuit, le nombre de processeurs, l'énergie consommée ...) requis par un algorithme pour résoudre un problème algorithmique.
Génération de code natifLa génération de code natif est l'étape du processus de compilation transformant l'arbre syntaxique abstrait enrichi d'informations sémantiques en code machine ou en bytecode spécialisé pour la plateforme cible. C'est l'avant-dernière étape du processus de compilation qui se situe avant l'édition des liens. La phase de génération de code natif inclut généralement : Le choix des instructions à émettre ; L'ordonnancement des instructions : dans quel ordre émettre les instructions.
Portable ExecutableLe format PE (Portable Executable, exécutable portable) est un format de fichiers dérivé du regroupant les exécutables et les bibliothèques sur les systèmes d'exploitation Windows 32 bits et 64 bits. Les extensions couvertes par ce format sont, l'extension .ocx (OLE et ActiveX), l'extension .dll et l'extension .cpl. C'est également le format utilisé pour les exécutables de l'UEFI (.efi). Microsoft a adopté le format PE avec l'introduction de Windows NT 3.1. Toutes les versions suivantes de Windows, incluant Windows 10/11, supportent ce format.
Sciences numériquesLes sciences numériques (traduction de l'anglais computational sciences), autrement dénommées calcul scientifique ou informatique scientifique, ont pour objet la construction de modèles mathématiques et de méthodes d'analyse quantitative, en se basant sur l'utilisation des sciences du numérique, pour analyser et résoudre des problèmes scientifiques. Cette approche scientifique basée sur un recours massif aux modélisations informatiques et mathématiques et à la simulation se décline en : médecine numérique, biologie numérique, archéologie numérique, mécanique numérique, par exemple.
Langage de programmation de haut niveauEn programmation informatique, un langage de programmation à haut niveau d'abstraction généralement appelé langage de haut niveau est un langage de programmation orienté autour du problème à résoudre, qui permet d'écrire des programmes en utilisant des mots usuels des langues naturelles (très souvent de l'anglais) et des symboles mathématiques familiers. Un langage de haut niveau fait abstraction des caractéristiques techniques du matériel utilisé pour exécuter le programme, tels que les registres et les drapeaux du processeur.
Executable compressionExecutable compression is any means of compressing an executable file and combining the compressed data with decompression code into a single executable. When this compressed executable is executed, the decompression code recreates the original code from the compressed code before executing it. In most cases this happens transparently so the compressed executable can be used in exactly the same way as the original. Executable compressors are often referred to as "runtime packers", "software packers", "software protectors" (or even "polymorphic packers" and "obfuscating tools").
Object code optimizerAn object code optimizer, sometimes also known as a post pass optimizer or, for small sections of code, peephole optimizer, forms part of a software compiler. It takes the output from the source language compile step - the object code or - and tries to replace identifiable sections of the code with replacement code that is more algorithmically efficient (usually improved speed). The earliest "COBOL Optimizer" was developed by Capex Corporation in the mid 1970s for COBOL.
Code sourcevignette|redresse|Copie papier d'un code source en Fortran des années 1970, imprimé sur du , dédié aux fichiers textes. En informatique, le code source est un texte qui présente les instructions composant un programme sous une forme lisible, telles qu'elles ont été écrites dans un langage de programmation. Le code source se matérialise généralement sous la forme d'un ensemble de fichiers texte. Le code source est souvent traduit — par un assembleur ou un compilateur — en code binaire composé d'instructions exécutables par le processeur.
Chimie numériqueLa chimie numérique ou chimie informatique, parfois aussi chimie computationnelle, est une branche de la chimie et de la physico-chimie qui utilise les lois de la chimie théorique exploitées dans des programmes informatiques spécifiques afin de calculer structures et propriétés d'objets chimiques tels que les molécules, les solides, les agrégats atomiques (ou clusters), les surfaces, etc., en appliquant autant que possible ces programmes à des problèmes chimiques réels.
BiomathématiqueLa biomathématique est le domaine d'étude qui réunit la biologie et les mathématiques. De façon précise les biomathématiques sont constituées par l'ensemble des méthodes et techniques mathématiques, numériques et informatiques qui permettent d'étudier et de modéliser les phénomènes et processus biologiques. Il s'agit donc bien d'une science fortement pluridisciplinaire que le mathématicien seul (ou le biologiste seul) est incapable de développer. Pour naître et vivre cette discipline exige des équipes interdisciplinaires mues par le sens du concret.
Réseau de neurones à impulsionsLes réseaux de neurones à impulsions (SNNs : Spiking Neural Networks, en anglais) sont un raffinement des réseaux de neurones artificiels (ANNs : Artificial Neural Networks, en anglais) où l’échange entre neurones repose sur l’intégration des impulsions et la redescente de l’activation, à l’instar des neurones naturels. L’encodage est donc temporel et binaire. Le caractère binaire pose une difficulté de continuité au sens mathématique (cela empêche notamment l’utilisation des techniques de rétropropagation des coefficients - telle que la descente de gradient - utilisées classiquement dans les méthodes d'apprentissage).
Computational complexityIn computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time (generally measured by the number of needed elementary operations) and memory storage requirements. The complexity of a problem is the complexity of the best algorithms that allow solving the problem. The study of the complexity of explicitly given algorithms is called analysis of algorithms, while the study of the complexity of problems is called computational complexity theory.
Neurosciences cognitivesLes neurosciences cognitives sont le domaine de recherche dans lequel sont étudiés les mécanismes neurobiologiques qui sous-tendent la cognition (perception, motricité, langage, mémoire, raisonnement, émotions...). C'est une branche des sciences cognitives qui fait appel pour une large part aux neurosciences, à la neuropsychologie, à la psychologie cognitive, à l' ainsi qu'à la modélisation.
Langage de description de matérielUn langage de description de matériel, ou du matériel (ou HDL pour hardware description language en anglais) est un langage informatique permettant la description d'un circuit électronique au niveau des transferts de registres (RTL). Celui-ci peut décrire les fonctions réalisées par le circuit (description comportementale) ou les portes logiques utilisées par le circuit (description structurelle). Il est possible d'observer le fonctionnement d'un circuit électronique modélisé dans un langage de description grâce à la simulation.
Classe de complexitéEn informatique théorique, et plus précisément en théorie de la complexité, une classe de complexité est un ensemble de problèmes algorithmiques dont la résolution nécessite la même quantité d'une certaine ressource. Une classe est souvent définie comme l'ensemble de tous les problèmes qui peuvent être résolus sur un modèle de calcul M, utilisant une quantité de ressources du type R, où n, est la taille de l'entrée. Les classes les plus usuelles sont celles définies sur des machines de Turing, avec des contraintes de temps de calcul ou d'espace.
Modèle statistiqueUn modèle statistique est une description mathématique approximative du mécanisme qui a généré les observations, que l'on suppose être un processus stochastique et non un processus déterministe. Il s’exprime généralement à l’aide d’une famille de distributions (ensemble de distributions) et d’hypothèses sur les variables aléatoires X1, . . ., Xn. Chaque membre de la famille est une approximation possible de F : l’inférence consiste donc à déterminer le membre qui s’accorde le mieux avec les données.