Hasardvignette|Les jeux de dés sont des symboles du hasard (jeux de hasard). vignette|Tyché ou Fortuna et sa corne d'abondance (fortune, hasard, en grec ancien, sort en latin) déesse allégorique gréco-romaine de la chance, des coïncidences, de la fortune, de la prospérité, de la destinée...|alt= Le hasard est le principe déclencheur d'événements non liés à une cause connue. Il peut être synonyme de l'« imprévisibilité », de l'« imprédictibilité », de fortune ou de destin.
Méthode d'EulerEn mathématiques, la méthode d'Euler, nommée ainsi en l'honneur du mathématicien Leonhard Euler (1707 — 1783), est une procédure numérique pour résoudre par approximation des équations différentielles du premier ordre avec une condition initiale. C'est la plus simple des méthodes de résolution numérique des équations différentielles. thumb|Illustration de la méthode d'Euler explicite : l'avancée se fait par approximation sur la tangente au point initial.
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.
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.
Analyse de la complexité des algorithmesvignette|Représentation d'une recherche linéaire (en violet) face à une recherche binaire (en vert). La complexité algorithmique de la seconde est logarithmique alors que celle de la première est linéaire. L'analyse de la complexité d'un algorithme consiste en l'étude formelle de la quantité de ressources (par exemple de temps ou d'espace) nécessaire à l'exécution de cet algorithme. Celle-ci ne doit pas être confondue avec la théorie de la complexité, qui elle étudie la difficulté intrinsèque des problèmes, et ne se focalise pas sur un algorithme en particulier.
Randomness testA randomness test (or test for randomness), in data evaluation, is a test used to analyze the distribution of a set of data to see whether it can be described as random (patternless). In stochastic modeling, as in some computer simulations, the hoped-for randomness of potential input data can be verified, by a formal test for randomness, to show that the data are valid for use in simulation runs. In some cases, data reveals an obvious non-random pattern, as with so-called "runs in the data" (such as expecting random 0–9 but finding "4 3 2 1 0 4 3 2 1.
Vitesse de convergence des suitesEn analyse numérique — une branche des mathématiques — on peut classer les suites convergentes en fonction de leur vitesse de convergence vers leur point limite. C'est une manière d'apprécier l'efficacité des algorithmes qui les génèrent. Les suites considérées ici sont convergentes sans être stationnaires (tous leurs termes sont même supposés différents du point limite). Si une suite est stationnaire, tous ses éléments sont égaux à partir d'un certain rang et il est alors normal de s'intéresser au nombre d'éléments différents du point limite.
Méthode itérativeEn analyse numérique, une méthode itérative est un procédé algorithmique utilisé pour résoudre un problème, par exemple la recherche d’une solution d’un système d'équations ou d’un problème d’optimisation. En débutant par le choix d’un point initial considéré comme une première ébauche de solution, la méthode procède par itérations au cours desquelles elle détermine une succession de solutions approximatives raffinées qui se rapprochent graduellement de la solution cherchée. Les points générés sont appelés des itérés.
Problème du sac à dosEn algorithmique, le problème du sac à dos, parfois noté (KP) (de l'anglais Knapsack Problem) est un problème d'optimisation combinatoire. Ce problème classique en informatique et en mathématiques modélise une situation analogue au remplissage d'un sac à dos. Il consiste à trouver la combinaison d'éléments la plus précieuse à inclure dans un sac à dos, étant donné un ensemble d'éléments décrits par leurs poids et valeurs.
Générateur de nombres aléatoiresUn générateur de nombres aléatoires, random number generator (RNG) en anglais, est un dispositif capable de produire une suite de nombres pour lesquels il n'existe aucun lien calculable entre un nombre et ses prédécesseurs, de façon que cette séquence puisse être appelée « suite de nombres aléatoires ». Par extension, on utilise ce terme pour désigner des générateurs de nombres pseudo aléatoires, pour lesquels ce lien calculable existe, mais ne peut pas « facilement » être déduit.
Générateur de nombres aléatoires matérielEn informatique, un générateur de nombres aléatoires matériel (aussi appelé générateur de nombres aléatoires physique ; en anglais, hardware random number generator ou true random number generator) est un appareil qui génère des nombres aléatoires à partir d'un phénomène physique, plutôt qu'au moyen d'un programme informatique. De tels appareils sont souvent basés sur des phénomènes microscopiques qui génèrent de faibles signaux de bruit statistiquement aléatoires, tels que le bruit thermique ou l'effet photoélectrique.
Heun's methodIn mathematics and computational science, Heun's method may refer to the improved or modified Euler's method (that is, the explicit trapezoidal rule), or a similar two-stage Runge–Kutta method. It is named after Karl Heun and is a numerical procedure for solving ordinary differential equations (ODEs) with a given initial value. Both variants can be seen as extensions of the Euler method into two-stage second-order Runge–Kutta methods.
Complexité en moyenne des algorithmesLa complexité en moyenne d'un algorithme est la quantité d'une ressource donnée, typiquement le temps, utilisée par l'algorithme lors de son exécution pour traiter une entrée tirée selon une distribution donnée. Il s'agit par conséquent d'une moyenne de la complexité, pondérée entre les différentes entrées possibles selon la distribution choisie. Le plus souvent, on ne précise pas la distribution et on utilise implicitement une distribution uniforme (i.e.
Méthodes de Runge-KuttaLes méthodes de Runge-Kutta sont des méthodes d'analyse numérique d'approximation de solutions d'équations différentielles. Elles ont été nommées ainsi en l'honneur des mathématiciens Carl Runge et Martin Wilhelm Kutta, lesquels élaborèrent la méthode en 1901. Ces méthodes reposent sur le principe de l'itération, c'est-à-dire qu'une première estimation de la solution est utilisée pour calculer une seconde estimation, plus précise, et ainsi de suite. Considérons le problème suivant : que l'on va chercher à résoudre en un ensemble discret t < t < .
Méthode de JacobiLa méthode de Jacobi, due au mathématicien allemand Karl Jacobi, est une méthode itérative de résolution d'un système matriciel de la forme Ax = b. Pour cela, on utilise une suite x qui converge vers un point fixe x, solution du système d'équations linéaires. On cherche à construire, pour x donné, la suite x = F(x) avec . où est une matrice inversible. où F est une fonction affine. La matrice B = MN est alors appelée matrice de Jacobi.
/dev/randomDans les systèmes d'exploitation de type Unix, /dev/random est un fichier spécial qui sert de générateur de nombres aléatoires (ou éventuellement de générateur de nombres pseudo-aléatoires). Il utilise comme source d'aléa certaines données de l'environnement recueillies auprès de pilotes de périphériques et d'autres sources, et les traite à l'aide de fonctions de hachage cryptographiques. La lecture du fichier est bloquée quand l'activité du système (entropie) n'est pas suffisante.
Théorème de SavitchLe théorème de Savitch est un théorème de théorie de la complexité, un domaine de l'informatique théorique. Il a été prouvé par Walter Savitch en 1970 et donne une relation entre les classes de complexité en espace, déterministes et non-déterministes. Une conséquence importante est que NPSPACE = PSPACE, c'est-à-dire, tout problème décidable sur une machine non-déterministe en espace polynomial, l'est aussi sur une machine déterministe en espace polynomial. Walter Savitch a démontré ce théorème dans sa thèse de master sous la direction de Stephen Cook.
Cutting stock problemIn operations research, the cutting-stock problem is the problem of cutting standard-sized pieces of stock material, such as paper rolls or sheet metal, into pieces of specified sizes while minimizing material wasted. It is an optimization problem in mathematics that arises from applications in industry. In terms of computational complexity, the problem is an NP-hard problem reducible to the knapsack problem. The problem can be formulated as an integer linear programming problem.
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.
Accélération de suiteEn mathématiques, laccélération de suite est une méthode de transformation de suites ou de série numérique visant à améliorer la vitesse de convergence d'une série. Des techniques d'accélération sont souvent utilisées en analyse numérique, afin d'améliorer la rapidité de méthodes d'intégration numérique ou obtenir des identités sur des fonctions spéciales. Par exemple, la transformation d'Euler appliquée à la série hypergéométrique permet de retrouver plusieurs identités connues.