Branch and cutBranch and cut est une méthode d'optimisation combinatoire pour résoudre des problèmes d'optimisation linéaire en nombres entiers. Cette méthode utilise la méthode de séparation et évaluation et la méthode des plans sécants. Le principe est de résoudre la relaxation continue du programme linéaire en nombres entiers à l'aide de l'algorithme du simplexe. Lorsqu'une solution optimale est trouvée, et que l'une des variables qu'on souhaite entières a une valeur non entière, on utilise un algorithme de plan sécant pour trouver une contrainte linéaire satisfaite par toutes les valeurs entières de la solution mais violée par la valeur fractionnaire.
Type (informatique)vignette|Présentation des principaux types de données. En programmation informatique, un type de donnée, ou simplement un type, définit la nature des valeurs que peut prendre une donnée, ainsi que les opérateurs qui peuvent lui être appliqués. La plupart des langages de programmation de haut niveau offrent des types de base correspondant aux données qui peuvent être traitées directement — à savoir : sans conversion ou formatage préalable — par le processeur.
CompilateurEn informatique, un compilateur est un programme qui transforme un code source en un code objet. Généralement, le code source est écrit dans un langage de programmation (le langage source), il est de haut niveau d'abstraction, et facilement compréhensible par l'humain. Le code objet est généralement écrit en langage de plus bas niveau (appelé langage cible), par exemple un langage d'assemblage ou langage machine, afin de créer un programme exécutable par une machine.
Performances (informatique)En informatique, les performances énoncent les indications chiffrées mesurant les possibilités maximales ou optimales d'un matériel, d'un logiciel, d'un système ou d'un procédé technique pour exécuter une tâche donnée. Selon le contexte, les performances incluent les mesures suivantes : Un faible temps de réponse pour effectuer une tâche donnée Un débit élevé (vitesse d'exécution d'une tâche) L'efficience : faible utilisation des ressources informatiques : processeur, mémoire, stockage, réseau, consommation électrique, etc.
Web sémantiquevignette|300px|droite|Logo du W3C pour le Web sémantique Le Web sémantique, ou toile sémantique, est une extension du Web standardisée par le World Wide Web Consortium (W3C). Ces standards encouragent l'utilisation de formats de données et de protocoles d'échange normés sur le Web, en s'appuyant sur le modèle Resource Description Framework (RDF). Le Web sémantique est par certains qualifié de Web 3.0. Selon le W3C, . L'expression a été inventée par Tim Berners-Lee (inventeur du Web et directeur du W3C), qui supervise le développement des technologies communes du Web sémantique.
R10000En 1995, MIPS a lancé le processeur R10000. Ce processeur sous forme d'une seule puce fonctionne à une fréquence plus élevée que le R8000, et possède des caches d'instructions et de données plus grands (32 Ko). C'est un processeur super-scalaire mais son innovation majeure réside dans l'exécution dans le désordre (out-of-order execution). Même avec pipeline mémoire unique et une unité de traitement des flottants (FPU) simple, l'amélioration de l'unité de traitement des entiers, le faible coût et une densité élevée ont fait du R10000 un processeur très intéressant.
Réseau sémantiqueUn réseau sémantique est un graphe marqué destiné à la représentation des connaissances, qui représente des relations sémantiques entre concepts. Le graphe est orienté ou non orienté. Ses sommets représentent les concepts, et les liens entre les sommets (nœuds) représentent les relations sémantiques, reliant les champs lexicaux. Un réseau sémantique peut être instancié, par exemple,dans une base de données orientée graphes ou un schéma conceptuel. Les réseaux sémantiques normalisés sont exprimés sous forme de triplets RDF.
Conversion de typeEn informatique la conversion de type, le transtypage ou la coercition (cast en anglais) est le fait de convertir une valeur d'un type (source) dans un autre (cible). On distingue trois formes de conversion (dont un seul mérite vraiment le nom de conversion) suivant la relation de sous-typage existant entre les types source et cible : la conversion entre types incomparables ; la coercition ascendante (transtypage vers le haut) ; la coercition descendante (transtypage vers le bas). C'est la coercition la plus ancienne historiquement.
Data-flow analysisData-flow analysis is a technique for gathering information about the possible set of values calculated at various points in a computer program. A program's control-flow graph (CFG) is used to determine those parts of a program to which a particular value assigned to a variable might propagate. The information gathered is often used by compilers when optimizing a program. A canonical example of a data-flow analysis is reaching definitions.
Auto-hébergement (informatique)Le premier compilateur auto-hébergé (si l'on exclut les assembleurs) a été écrit pour le Lisp par Hart et Levin au Massachusetts Institute of Technology (MIT) en 1962. Puisque les interpréteurs Lisp, mais non les compilateurs, existaient auparavant, ils utilisaient une méthode originale pour compiler leur compilateur. Le compilateur, comme tout programme Lisp, pouvait être exécuté dans un interpréteur. Donc, il pouvait simplement exécuter le compilateur dans l'interpréteur lui donnant ensuite, son propre code source à compiler.