Evolutionary computationIn computer science, evolutionary computation is a family of algorithms for global optimization inspired by biological evolution, and the subfield of artificial intelligence and soft computing studying these algorithms. In technical terms, they are a family of population-based trial and error problem solvers with a metaheuristic or stochastic optimization character. In evolutionary computation, an initial set of candidate solutions is generated and iteratively updated.
Psychologie évolutionnisteLa psychologie évolutionniste, évolutive ou évolutionnaire, parfois nommée évopsy ou évo-psy, est un courant de la psychologie cognitive et de la psychosociologie dont l'objectif est d'expliquer les mécanismes de la pensée et les comportements humains à partir de la théorie de l'évolution biologique. Elle est parfois assimilée à la sociobiologie, ou considérée comme un courant qui a pris la succession de la sociobiologie aujourd'hui discréditée.
Algorithme génétiqueLes algorithmes génétiques appartiennent à la famille des algorithmes évolutionnistes. Leur but est d'obtenir une solution approchée à un problème d'optimisation, lorsqu'il n'existe pas de méthode exacte (ou que la solution est inconnue) pour le résoudre en un temps raisonnable. Les algorithmes génétiques utilisent la notion de sélection naturelle et l'appliquent à une population de solutions potentielles au problème donné.
Algorithme évolutionnistevignette|redresse=1.2|Un algorithme évolutionnaire utilise itérativement des opérateurs de sélections (en bleu) et de variation (en jaune). i : initialisation, f(X) : évaluation, ? : critère d'arrêt, Se : sélection, Cr : croisement, Mu : mutation, Re : remplacement, X* : optimum. Les algorithmes évolutionnistes ou algorithmes évolutionnaires (evolutionary algorithms en anglais), sont une famille d'algorithmes dont le principe s'inspire de la théorie de l'évolution pour résoudre des problèmes divers.
Gene expression programmingIn computer programming, gene expression programming (GEP) is an evolutionary algorithm that creates computer programs or models. These computer programs are complex tree structures that learn and adapt by changing their sizes, shapes, and composition, much like a living organism. And like living organisms, the computer programs of GEP are also encoded in simple linear chromosomes of fixed length. Thus, GEP is a genotype–phenotype system, benefiting from a simple genome to keep and transmit the genetic information and a complex phenotype to explore the environment and adapt to it.
Genetic representationIn computer programming, genetic representation is a way of presenting solutions/individuals in evolutionary computation methods. The term encompasses both the concrete data structures and data types used to realize the genetic material of the candidate solutions in the form of a genome, and the relationships between search space and problem space. In the simplest case, the search space corresponds to the problem space (direct representation).
Evolutionary programmingEvolutionary programming is one of the four major evolutionary algorithm paradigms. It is similar to genetic programming, but the structure of the program to be optimized is fixed, while its numerical parameters are allowed to evolve. It was first used by Lawrence J. Fogel in the US in 1960 in order to use simulated evolution as a learning process aiming to generate artificial intelligence. Fogel used finite-state machines as predictors and evolved them.
Optimisation (mathématiques)L'optimisation est une branche des mathématiques cherchant à modéliser, à analyser et à résoudre analytiquement ou numériquement les problèmes qui consistent à minimiser ou maximiser une fonction sur un ensemble. L’optimisation joue un rôle important en recherche opérationnelle (domaine à la frontière entre l'informatique, les mathématiques et l'économie), dans les mathématiques appliquées (fondamentales pour l'industrie et l'ingénierie), en analyse et en analyse numérique, en statistique pour l’estimation du maximum de vraisemblance d’une distribution, pour la recherche de stratégies dans le cadre de la théorie des jeux, ou encore en théorie du contrôle et de la commande.
Histoire de la pensée évolutionnisteLe concept de pensée évolutionniste, selon lequel les espèces évoluent au cours du temps, remonte à l'Antiquité, dans les idées des Grecs, des Romains, des Chinois, de même que dans la science islamique du Moyen Âge. Cependant, jusqu'au , la pensée biologique occidentale était dominée par l'essentialisme selon lequel les espèces possédaient des caractéristiques inaltérables. Cette vision changea lors du siècle des Lumières lorsque la vision mécanique se développa dans les sciences naturelles à partir des sciences physiques.
Opéron lactosevignette|Schéma explicatif de l'opéron lactose. L'opéron lactose, ou opéron lac, est un opéron nécessaire au transport et au métabolisme du lactose chez Escherichia coli, ainsi que d'autres bactéries de la flore intestinale. L'opéron lactose est composé de trois gènes structurels : lacZ, lacY et lacA. Il est régulé par plusieurs facteurs, notamment la disponibilité en glucose et en lactose. La régulation des gènes de l'opéron lac est le premier mécanisme de régulation génétique complexe à avoir été élucidé et est l'un des exemples des plus connus de la régulation des gènes procaryotes.
Optimisation combinatoireL’optimisation combinatoire, (sous-ensemble à nombre de solutions finies de l'optimisation discrète), est une branche de l'optimisation en mathématiques appliquées et en informatique, également liée à la recherche opérationnelle, l'algorithmique et la théorie de la complexité. Dans sa forme la plus générale, un problème d'optimisation combinatoire (sous-ensemble à nombre de solutions finies de l'optimisation discrète) consiste à trouver dans un ensemble discret un parmi les meilleurs sous-ensembles (ou solutions) réalisables, la notion de meilleure solution étant définie par une fonction objectif.
Optimisation de codeEn programmation informatique, l'optimisation de code est la pratique consistant à améliorer l'efficacité du code informatique d'un programme ou d'une bibliothèque logicielle. Ces améliorations permettent généralement au programme résultant de s'exécuter plus rapidement, de prendre moins de place en mémoire, de limiter sa consommation de ressources (par exemple les fichiers), ou de consommer moins d'énergie électrique. La règle numéro un de l'optimisation est qu'elle ne doit intervenir qu'une fois que le programme fonctionne et répond aux spécifications fonctionnelles.
Optimisation multiobjectifL'optimisation multiobjectif (appelée aussi Programmation multi-objective ou optimisation multi-critère) est une branche de l'optimisation mathématique traitant spécifiquement des problèmes d'optimisation ayant plusieurs fonctions objectifs. Elle se distingue de l'optimisation multidisciplinaire par le fait que les objectifs à optimiser portent ici sur un seul problème. Les problèmes multiobjectifs ont un intérêt grandissant dans l'industrie où les responsables sont contraints de tenter d'optimiser des objectifs contradictoires.
OpéronUn opéron est une unité d'ADN fonctionnelle regroupant des gènes qui opèrent sous le signal d'un même promoteur, une section d'ADN qui déclenche leur transcription. Les gènes sont ainsi transcrits en ARN messager ensemble et concourent à la réalisation d'une même fonction physiologique. Donc, soit tous les gènes d'un opéron sont transcrits ensemble, soit aucun n'est transcrit puisqu'ils sont tous sous le contrôle du même promoteur. Néanmoins ils semblent principalement présents chez les procaryotes et les nématodes.
Algorithme de colonies de fourmisLes algorithmes de colonies de fourmis (, ou ACO) sont des algorithmes inspirés du comportement des fourmis, ou d'autres espèces formant un superorganisme, et qui constituent une famille de métaheuristiques d’optimisation. Initialement proposé par Marco Dorigo dans les années 1990, pour la recherche de chemins optimaux dans un graphe, le premier algorithme s’inspire du comportement des fourmis recherchant un chemin entre leur colonie et une source de nourriture.
Biologie de l'évolutionEvolutionary biology is the subfield of biology that studies the evolutionary processes (natural selection, common descent, speciation) that produced the diversity of life on Earth. It is also defined as the study of the history of life forms on Earth. Evolution holds that all species are related and gradually change over generations. In a population, the genetic variations affect the phenotypes (physical characteristics) of an organism. These changes in the phenotypes will be an advantage to some organisms, which will then be passed onto their offspring.
InactivateurUn inactivateur (en anglais silencer) est une région d'ADN (séquence régulatrice) qui peut fixer des protéines pour diminuer la transcription de gène. Un gène peut posséder plusieurs amplificateurs. Ils sont généralement situés à assez loin du gène (jusqu'à nucléotides). Ou encore le gène et l'amplificateur ne sont pas forcément proches l'un de l'autre et peuvent même être sur deux chromosomes différents mais par contre le repliement de l'ADN dans le noyau leur permet une proximité physique.
Prise de décision collectiveLa prise de décision collective (en anglais, collaborative decision making ou CDM) est une situation où des individus sont rassemblés en un groupe pour résoudre des problèmes. Selon l'idée de synergie, les décisions prises collectivement ont tendance à être plus efficaces que les décisions prises individuellement. Cependant, il existe des situations dans lesquelles les décisions prises en groupe aboutissent à un mauvais jugement. En psychologie sociale, la prise de décision collective peut être définie comme .
Réseau de distribution d'eauUn réseau de distribution d'eau est une structure permettant de garantir l'approvisionnement en eau potable d'une zone (résidence, village, ville) ou industrielle. Cette eau est généralement froide mais certaines villes distribuent aussi de l'eau chaude sanitaire. Des enjeux sanitaires sont liés à la qualité de l'eau (qui est encore dans certaines régions dégradée par le plomb de tuyauteries anciennes, peut contenir des fibres d'amiante libérées par des tuyaux d'amiante-ciment, ou des contaminants liés à des fuites du réseau.
Optimizing compilerIn computing, an optimizing compiler is a compiler that tries to minimize or maximize some attributes of an executable computer program. Common requirements are to minimize a program's execution time, memory footprint, storage size, and power consumption (the last three being popular for portable computers). Compiler optimization is generally implemented using a sequence of optimizing transformations, algorithms which take a program and transform it to produce a semantically equivalent output program that uses fewer resources or executes faster.