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.
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.
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.
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.
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.
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.
Translator (computing)A translator or programming language processor is a generic term that can refer to a compiler, assembler, or interpreter—anything that converts code from one computer language into another. These include translations between high-level and human-readable computer languages such as C++ and Java, intermediate-level languages such as Java bytecode, low-level languages such as the assembly language and machine code, and between similar levels of language on different computing platforms, as well as from any of these to any other of these.
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.
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.
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.
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.
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.
Langage de programmation de bas niveauvignette|Language de programmation Un langage de programmation de bas niveau ne fournit que peu d'abstraction par rapport au jeu d'instructions du processeur de la machine. Les langages de bas niveau sont à opposer aux langages de haut niveau, qui permettent de créer un programme sans tenir compte des caractéristiques particulières (registres, etc) de l'ordinateur censé exécuter le programme. Le langage machine et le langage d'assemblage sont les archétypes de langages de bas niveau, puisqu'ils permettent de manipuler explicitement des registres, des adresses mémoires, des instructions machines.
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.
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).
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.
Sociologie informatiqueLa sociologie informatique ou sociologie computationnelle (en anglais computational sociology) est une branche de la sociologie qui consiste à utiliser le calcul pour analyser des phénomènes sociaux. Il s'agit d'utiliser la technique de la simulation sur ordinateur pour la construction de modèles sociaux. Cela implique un certain arrangement des agents sociaux, et des interactions entre eux. Enfin, on examine l'effet de ces interactions sur un agrégat social.
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.
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.