Livres en anglais
37 livres et 37 critiques, dernière mise à jour le 12 novembre 2023 , note moyenne : 4.4
- Applied Graph Theory - An Introduction With Graph Optimization And Algebraic Graph Theory
- Sparse Polynomial Optimization - Theory and Practice
- Optimization Techniques and their Applications to Mine Systems
- Large Outdoor Fire Dynamics
- The Principles of Deep Learning Theory - An Effective Theory Approach to Understanding Neural Networks
- Robust and Adaptive Optimization
- Algorithms - Design Techniques and Analysis
- Classical And Modern Optimization
- Graph and Networks
- The Moment-SOS Hierarchy - Lectures in Probability, Statistics, Computational Geometry, Control and Nonlinear PDEs
- Basic concepts in algorithms
- Rigid Body Kinematics
- Introduction to the Finite Element Method and Implementation with MATLAB®
- Network Traffic Engineering - Stochastic Models and Applications
- Dynamics of Multibody Systems
- Introduction to Optimization and Hadamard Semidifferential Calculus
- Practical Optimization
- Algorithms Illuminated: Algorithms for NP-Hard Problems
- Crowds in Equations - An Introduction to the Microscopic Modeling of Crowds
- Database Internals - A Deep Dive into How Distributed Data Systems Work
- Network Flow Algorithms
- Kernelization - Theory of Parameterized Preprocessing
- Algorithms Illuminated: Greedy Algorithms and Dynamic Programming
- Algorithms Illuminated: Graph Algorithms and Data Structures
- Algorithms Illuminated: The Basics
- Natural Language Processing with PyTorch - Build Intelligent Language Applications Using Deep Learning
- Hands-On Unsupervised Learning Using Python - How to Build Applied Machine Learning Solutions from Unlabeled Data
- Data Visualization - Charts, Maps, and Interactive Graphics
- Elements of Causal Inference - Foundations and Learning Algorithms
- Machine Learning for Data Streams - With Practical Examples in MOA
- Ant Colony Optimization
- A Field Guide to Genetic Programming
- Essentials of Metaheuristics
- Evolved to Win
- Natural Language Processing with Python
- Introduction to Evolutionary Computing
- Purely Functional Data Structures
Applied Graph Theory
An Introduction With Graph Optimization And Algebraic Graph Theory
Résumé de l'éditeur
This book serves as an introduction to graph theory and its applications. It is intended for a senior undergraduate course in graph theory but is also appropriate for beginning graduate students in science or engineering. The book presents a rigorous (proof-based) introduction to graph theory while also discussing applications of the results for solving real-world problems of interest.
The book is divided into four parts. Part 1 covers the combinatorial aspects of graph theory including a discussion of common vocabulary, a discussion of vertex and edge cuts, Eulerian tours, Hamiltonian paths and a characterization of trees. This leads to Part 2, which discusses common combinatorial optimization problems. Spanning trees, shortest path problems and matroids are all discussed, as are maximum flow problems. Part 2 ends with a discussion of graph coloring and a proof of the NP-completeness of the coloring problem. Part 3 introduces the reader to algebraic graph theory, and focuses on Markov chains, centrality computation (e.g., eigenvector centrality and page rank), as well as spectral graph clustering and the graph Laplacian. Part 4 contains additional material on linear programming, which is used to provide an alternative analysis of the maximum flow problem.
Two appendices containing prerequisite material on linear algebra and probability theory are also provided.
Édition : World Scientific - 304 pages, 1re édition, 10 août 2023
ISBN10 : 9811273103 - ISBN13 : 9789811273100
Introduction to Graph Theory
Degree Sequences and Subgraphs
Walks, Cycles, Cuts, and Centrality
Bipartite, Acyclic, and Eulerian Graphs
Optimization in Graphs and NP-Completeness
Trees, Algorithms, and Matroids
An Introduction to Network Flows and Combinatorial Optimization
Coloring
Some Algebraic Graph Theory
Algebraic Graph Theory with Abstract Algebra
Algebraic Graph Theory with Linear Algebra
Applications of Algebraic Graph Theory
Linear Programming and Graph Theory
A Brief Introduction to Linear Programming
Max Flow/Min Cut with Linear Programming
Appendices
Fields, Vector Spaces, and Matrices
A Brief Introduction to Probability Theory
Parmi les principaux sujets des premiers cours d'algorithmes ou de mathématiques discrètes, on retrouve bien souvent la théorie des graphes. Ce livre est destiné à un public d'étudiants en mathématiques ressortant d'un cours sur les preuves. Il présente les fondamentaux de la théorie des graphes et quelques algorithmes classiques (plus courts chemins, arbres couvrants). Cet ouvrage couvre aussi des sujets pas toujours mis en avant, comme les applications de l'algèbre linéaire dans les graphes ou encore l'optimisation linéaire.
Le texte alterne définition, théorèmes et preuves, avec une place très relative laissée aux applications et exemples, même si ceux-ci ne sont pas les plus classiques (par exemple, l'auteur passe une demi-dizaine de pages sur une application des flots au baseball). De manière générale, la théorie guide les exemples qui sont proposés (on aurait plutôt attendu le contraire au vu du titre). Les preuves sont souvent détaillées, mais un certain nombre d'entre elles est cantonné dans les exercices qui achèvent chaque chapitre (sans solution). On retrouve une série d'algorithmes classiques en théorie des graphes, avec des preuves de correction et un calcul de complexité.
Globalement, cet ouvrage cherche à faire une synthèse entre les vues informatique (algorithmique) et mathématique (propriétés fondamentales) de la théorie des graphes, tout en prenant une approche plutôt mathématique. Il se destine surtout à un public d'étudiants en mathématiques, surtout s'ils ne sont pas intéressés par les justifications pratiques des développements théoriques.
Commenter Signaler un problème
An Introduction With Graph Optimization And Algebraic Graph Theory
This book serves as an introduction to graph theory and its applications. It is intended for a senior undergraduate course in graph theory but is also appropriate for beginning graduate students in science or engineering. The book presents a rigorous (proof-based) introduction to graph theory while also discussing applications of the results for solving real-world problems of interest.
The book is divided into four parts. Part 1 covers the combinatorial aspects of graph theory including a discussion of common vocabulary, a discussion of vertex and edge cuts, Eulerian tours, Hamiltonian paths and a characterization of trees. This leads to Part 2, which discusses common combinatorial optimization problems. Spanning trees, shortest path problems and matroids are all discussed, as are maximum flow problems. Part 2 ends with a discussion of graph coloring and a proof of the NP-completeness of the coloring problem. Part 3 introduces the reader to algebraic graph theory, and focuses on Markov chains, centrality computation (e.g., eigenvector centrality and page rank), as well as spectral graph clustering and the graph Laplacian. Part 4 contains additional material on linear programming, which is used to provide an alternative analysis of the maximum flow problem.
Two appendices containing prerequisite material on linear algebra and probability theory are also provided.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Sparse Polynomial Optimization
Theory and Practice
Résumé de l'éditeur
Many applications, including computer vision, computer arithmetic, deep learning, entanglement in quantum information, graph theory and energy networks, can be successfully tackled within the framework of polynomial optimization, an emerging field with growing research efforts in the last two decades. One key advantage of these techniques is their ability to model a wide range of problems using optimization formulations. Polynomial optimization heavily relies on the moment-sums of squares (moment-SOS) approach proposed by Lasserre, which provides certificates for positive polynomials. On the practical side, however, there is "no free lunch" and such optimization methods usually encompass severe scalability issues. Fortunately, for many applications, including the ones formerly mentioned, we can look at the problem in the eyes and exploit the inherent data structure arising from the cost and constraints describing the problem.
This book presents several research efforts to resolve this scientific challenge with important computational implications. It provides the development of alternative optimization schemes that scale well in terms of computational complexity, at least in some identified class of problems. It also features a unified modeling framework to handle a wide range of applications involving both commutative and noncommutative variables, and to solve concretely large-scale instances. Readers will find a practical section dedicated to the use of available open-source software libraries.
This interdisciplinary monograph is essential reading for students, researchers and professionals interested in solving optimization problems with polynomial input data.
Édition : World Scientific - 220 pages, 1re édition, 28 avril 2023
ISBN10 : 180061294X - ISBN13 : 9781800612945
Semidefinite programming and sparse matrices
Polynomial optimization and the moment-SOS hierarchy
Correlative sparsity
The moment-SOS hierarchy based on correlative sparsity
Application in computer arithmetic
Application in deep networks
Noncommutative optimization and quantum information
Term sparsity
The moment-SOS hierarchy based on term sparsity
Exploiting both correlative and term sparsity
Application in optimal power flow
Exploiting term sparsity in noncommutative polynomial optimization
Application in stability of control systems
Miscellaneous
L'optimisation sur des polynômes est un domaine de niche, dans le sens où peu de professionnels, que ce soit dans l'industrie ou la recherche, l'utilisent à grande échelle, même si la situation évolue rapidement. Ce livre cherche à montrer à un plus grand public qu'il existe des techniques d'optimisation pour cette famille de problèmes qui fonctionnent à grande échelle ; plus précisément, il s'intéresse à deux manières de gérer la structure des problèmes creux. L'ouvrage se destine à un public de chercheurs dans le domaine, avec notamment une bibliographie chargée par chapitre.
Cet ouvrage est publié dans la même série que The Moment-SOS Hierarchy, sorti en 2020 chez le même éditeur (World Scientific), et le complète. Quand le premier ouvrage (The Moment-SOS Hierarchy) s'intéresse plutôt à la théorie de la hiérarchie de Lasserre, celui-ci (Sparse Polynomial Optimization) se focalise sur des aspects d'implémentation à grande échelle en exploitant leur caractère creux. Notamment, l'ouvrage ne s'intéresse pas qu'à la hiérarchie de Lasserre pour les problèmes polynomiaux. Les auteurs orientent leur livre selon deux manières de caractériser ces problèmes creux, puis explorent des applications tirées de leurs travaux de recherche. Ces mises en pratique sont assez détaillées et positionnent le problème dans son contexte.
Les prérequis pour le lecteur sont assez importants, puisqu'il est censé avoir une bonne maîtrise de l'optimisation linéaire, SOCP, mais surtout SDP, sans oublier de bonnes bases d'algèbre linéaire et de théorie des graphes. Cependant, l'ouvrage ne fait pas preuve de pédagogie, par exemple pour expliquer les extensions particulièrement utiles pour leurs explications, à commencer par les graphes cordaux.
Commenter Signaler un problème
Theory and Practice
Many applications, including computer vision, computer arithmetic, deep learning, entanglement in quantum information, graph theory and energy networks, can be successfully tackled within the framework of polynomial optimization, an emerging field with growing research efforts in the last two decades. One key advantage of these techniques is their ability to model a wide range of problems using optimization formulations. Polynomial optimization heavily relies on the moment-sums of squares (moment-SOS) approach proposed by Lasserre, which provides certificates for positive polynomials. On the practical side, however, there is "no free lunch" and such optimization methods usually encompass severe scalability issues. Fortunately, for many applications, including the ones formerly mentioned, we can look at the problem in the eyes and exploit the inherent data structure arising from the cost and constraints describing the problem.
This book presents several research efforts to resolve this scientific challenge with important computational implications. It provides the development of alternative optimization schemes that scale well in terms of computational complexity, at least in some identified class of problems. It also features a unified modeling framework to handle a wide range of applications involving both commutative and noncommutative variables, and to solve concretely large-scale instances. Readers will find a practical section dedicated to the use of available open-source software libraries.
This interdisciplinary monograph is essential reading for students, researchers and professionals interested in solving optimization problems with polynomial input data.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Optimization Techniques and their Applications to Mine Systems
Résumé de l'éditeur
This book describes the fundamental and theoretical concepts of optimization algorithms in a systematic manner, along with their potential applications and implementation strategies in mining engineering. It explains basics of systems engineering, linear programming, and integer linear programming, transportation and assignment algorithms, network analysis, dynamic programming, queuing theory and their applications to mine systems. Reliability analysis of mine systems, inventory management in mines, and applications of non-linear optimization in mines are discussed as well. All the optimization algorithms are explained with suitable examples and numerical problems in each of the chapters.
Features include:
Integrates operations research, reliability, and novel computerized technologies in single volume, with a modern vision of continuous improvement of mining systems.
Systematically reviews optimization methods and algorithms applied to mining systems including reliability analysis.
Gives out software-based solutions such as MATLAB®, AMPL, LINDO for the optimization problems.
All discussed algorithms are supported by examples in each chapter.
Includes case studies for performance improvement of the mine systems.
This book is aimed primarily at professionals, graduate students, and researchers in mining engineering.
Édition : CRC Press - 404 pages, 1re édition, 30 septembre 2022
ISBN10 : 1032060980 - ISBN13 : 9781032060989
Basics of Probability and Statistics
Linear Programming and Its Applications to Mining Systems
Transportation and Assignment Model and Its Applications to Mining Systems
Integer Linear Programming and Its Applications to Mining Systems
Dynamic Programming and Its Applications to Mining Systems
Network Analysis in Project Planning and Its Applications to Mining Systems
Reliability Analysis of Mining Systems
Inventory Management in Mines
Queuing Theory and Its Application in Mines
Non-linear Optimization Algorithms and Their Applications to Mining Systems
La gestion des mines présente des difficultés particulières lorsqu'il s'agit d'optimiser leur fonctionnement et les gains financiers sont souvent à la hauteur de ces difficultés. Ce livre donne les bases pour s'attaquer à ces situations, en offrant un tour d'horizon des techniques de recherche opérationnelle avec des applications aux mines (optimisation linéaire, files d'attente, fiabilité, gestion d'inventaire, etc.).
Cet ouvrage est introductif et, en tant que tel, présente peu de prérequis : les auteurs rappellent les éléments requis de statistiques, d'optimisation linéaire et en nombres entiers, de systèmes, mais aussi de fonctionnement de mines. De même, les algorithmes sont présentés de manière plutôt informelle, en oscillant du côté de l'intuition, plutôt qu'avec un formalisme mathématique complet.
Chaque chapitre contient des exemples détaillés d'application des techniques dans des situations minières, par exemple en explicitant chaque étape d'un algorithme. La dernière section d'un chapitre est bien souvent une étude de cas plus précise, extrêmement détaillée (en présentant énormément d'éléments sur le fonctionnement de la mine étudiée), mais les techniques de recherche opérationnelle déployées restent basiques. Après cette étude de cas vient une liste d'exercices non résolus, mais le résultat final est indiqué.
Un point très négatif, toutefois, est le peu de soin apporté à la rédaction, avec des erreurs de notation grossières fréquentes (comme la confusion entre union et intersection pour un calcul de probabilités ou une définition de fonction non linéaire qui est forcément polynomiale).
Commenter Signaler un problème
This book describes the fundamental and theoretical concepts of optimization algorithms in a systematic manner, along with their potential applications and implementation strategies in mining engineering. It explains basics of systems engineering, linear programming, and integer linear programming, transportation and assignment algorithms, network analysis, dynamic programming, queuing theory and their applications to mine systems. Reliability analysis of mine systems, inventory management in mines, and applications of non-linear optimization in mines are discussed as well. All the optimization algorithms are explained with suitable examples and numerical problems in each of the chapters.
Features include:
Integrates operations research, reliability, and novel computerized technologies in single volume, with a modern vision of continuous improvement of mining systems.
Systematically reviews optimization methods and algorithms applied to mining systems including reliability analysis.
Gives out software-based solutions such as MATLAB®, AMPL, LINDO for the optimization problems.
All discussed algorithms are supported by examples in each chapter.
Includes case studies for performance improvement of the mine systems.
This book is aimed primarily at professionals, graduate students, and researchers in mining engineering.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Large Outdoor Fire Dynamics
Résumé de l'éditeur
Chapters cover underlying assumptions for analyzing fire spread behavior in large outdoor fires, namely, wind conditions near the ground surface and fundamentals of heat transfer; the physical mechanism of fire spread in and between combustibles, specifically focusing on fire plumes (both reacting and non-reacting) and firebrand dispersal; and the spatial modeling of 3D objects and developing the computational framework for predicting fire spread.
The book is ideal for engineers, researchers, and graduate students in fire safety as well as mechanical engineering, civil engineering, disaster management, safety engineering, and planning. Companion source codes are available online.
Édition : CRC Press - 141 pages, 1re édition, 28 décembre 2022
ISBN10 : 0367561689 - ISBN13 : 9780367561680
Wind
Heat Transfer
Fire Sources
Fire Plumes - Quiescent Environment
Fire Plumes - Windy Environment
Ignition and Fire Spread Processes
Firebrands
Spatial Data Modeling
Fire Spread Simulation
L'auteur indique clairement l'objectif de résoudre de manière précise des problèmes pratiques de propagation d'incendie, ce à quoi s'attelle le dernier chapitre, avec la présentation d'un solveur libre écrit spécifiquement pour le livre. D'ailleurs, il utilise régulièrement des exemples numériques détaillés pour expliciter son propos. Pour dériver les équations des modèles, il use parfois de raisonnements formels à partir de principes physiques de base, parfois de raisonnements plus intuitifs basés sur des expériences, selon l'état de la recherche. Quand il faut utiliser des paramètres, on trouve toujours un tableau qui donne les valeurs classiques pour les matériaux les plus courants.
Les prérequis sont très importants du côté mathématique (équations aux dérivées partielles, probabilités et statistiques), mais nettement moins pour la physique, les premiers chapitres fournissant une introduction à la météorologie ou aux transferts de chaleur. Pour approfondir, le texte fait régulièrement appel à des articles scientifiques.
Commenter Signaler un problème
Chapters cover underlying assumptions for analyzing fire spread behavior in large outdoor fires, namely, wind conditions near the ground surface and fundamentals of heat transfer; the physical mechanism of fire spread in and between combustibles, specifically focusing on fire plumes (both reacting and non-reacting) and firebrand dispersal; and the spatial modeling of 3D objects and developing the computational framework for predicting fire spread.
The book is ideal for engineers, researchers, and graduate students in fire safety as well as mechanical engineering, civil engineering, disaster management, safety engineering, and planning. Companion source codes are available online.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
The Principles of Deep Learning Theory
An Effective Theory Approach to Understanding Neural Networks
Résumé de l'éditeur
Édition : Cambridge - 472 pages, 1re édition, 26 mai 2022
ISBN10 : 1316519333 - ISBN13 : 9781316519332
Pretraining
Neural Networks
Effective Theory of Deep Linear Networks at Initialization
RG Flow of Preactivations
Effective Theory of Preactivations at Initialization
Bayesian Learning
Gradient-Based Learning
RG Flow of the Neural Tangent Kernel
Effective Theory of the NTK at Initialization
Kernel Learning
Representation Learning
The End of Training
Epilogue: Model Complexity from the Macroscopic Perspective
Information in Deep Learning
Residual Learning
Les réseaux neuronaux sont, actuellement, bien plus utilisés que compris, la théorie classique de l'apprentissage ayant souvent du mal à expliquer leur efficacité. Cet ouvrage vient expliquer le fonctionnement de ces réseaux en utilisant des techniques éprouvées en physique statistique et thermodynamique, c'est-à-dire en étudiant d'abord le comportement d'une couche de neurones, pour généraliser au réseau complet. Ce faisant, les auteurs n'oublient pas que les réseaux neuronaux sont d'abord un outil pratique, ils n'étudient pas de cas ésotérique, ils cherchent à se rapprocher de la pratique.
Ce tutoriel sur des résultats de recherche très récents se veut très pédagogue et progressif, tout en partant de relativement peu de connaissances en mathématiques : intégrales et dérivées, presque exclusivement ; les autres éléments requis sont expliqués dans le premier chapitre (surtout les intégrales gaussiennes). Les auteurs partent de zéro pour dériver toute la théorie, en n'omettant aucun détail, en se basant sur l'hypothèse que les éléments extérieurs au réseau neuronal (les données ou les poids avant entraînement) suivent des distributions presque gaussiennes. Ils présentent des cas particuliers de leurs résultats avant de les généraliser : un chapitre ne traite que des réseaux linéaires profonds, afin de mettre en place les mécanismes de dérivation et le vocabulaire qui seront utilisés par la suite, par exemple. Ces résultats simples ne sont utilisés que comme marchepied vers des résultats applicables en pratique. Ainsi, ils expliquent théoriquement d'où viennent les problèmes d'explosion et d'évanescence des gradients, les raisons pour lesquelles des réseaux profonds ne surapprennent pas forcément ou encore pourquoi ReLU fonctionne souvent mieux que la tangente hyperbolique.
Commenter Signaler un problème
An Effective Theory Approach to Understanding Neural Networks
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Robust and Adaptive Optimization
Résumé de l'éditeur
Part I describes linear RO and the underlying uncertainty sets.
Part II treats modeling, exact and approximate algorithms for ARO.
Part III introduces nonlinear RO for concave uncertainty.
Part IV outlines nonlinear RO for convex uncertainty.
Part V discusses the theory of distributionally RO and ARO.
Part VI contains a variety of RO and ARO applications including queueing theory, auction design, option pricing and energy unit commitment.
There are some distinguishing characteristics in our selection of the particular structure of the book we would like to comment on:
Our unifying treatment of RO and ARO. We present RO and ARO for LO in Parts I and II, and we return to RO for nonlinear optimization in Parts III and IV, as opposed to presenting RO first and then ARO. The reason is that ARO offers new and very effective ways to solve RO problems, a fact not fully recognized earlier.
Our treatment of nonlinear RO in Parts III and IV using concave and convex uncertainty respectively, as opposed to treating robust conic optimization.
Our extensive treatment of a variety of applications of RO and ARO in several fields in Part VI is guided by the quote of George Dantzig at the beginning of the preface.
Édition : Dynamic Ideas - 600 pages, 1re édition, 2 janvier 2022
ISBN10 : 1733788522 - ISBN13 : 9781733788526
Uncertainty and Robustness
RO Under Linear Uncertainty
Choosing Uncertainty Sets and Their Parameters
RO Under Nonlinear Uncertainty
Robust Discrete Optimization
Adaptive Linear Optimization
Introduction to Adaptive Robust Optimization
Approximating ARO Solutions by Decision Rules
Pareto Robustly Optimal Solutions
Adaptive Mixed Integer Optimization
RO as an Approximation to Two-Stage ARO
The Cutting Plane Method
The Art of Robust and Adaptive Modeling
Robust Nonlinear Optimization with Concave Uncertainty
RCQO with Concave Uncertainty
Robust NLO with Concave Uncertainty
Guarantees for Concave Uncertainty
Robust Nonlinear Optimization with Convex Uncertainty
RCQO with Convex Uncertainty
An ARO Approach to Robust NLO
A Unified Framework for Convex Uncertainty
Distributionally Robust Optimization
Distributionally Robust Optimization
Adaptive DRO
The Impact of Robust Optimization
Robust Queueing Theory
Robust Auction Theory
ARO for the Unit Commitment Problem
Robust Multi-Period Portfolio Optimization
Robust Option Pricing
Robust Linear Regression
Robust Linear Quadratic Control
Une fois une solution optimale trouvée pour un problème de recherche opérationnelle, on se demande parfois à quel point elle peut être robuste si tous les paramètres ne se réalisent pas comme prévu (comme un trajet un peu plus long ou une électricité un peu plus chère). L'optimisation robuste est un outil pour déterminer des solutions qui fonctionnent bien pour toute une série de valeurs de ces paramètres (plutôt qu'une seule valeur, choix plus classique), elle est l'objet unique de cet ouvrage. L'auteur y poursuit une approche très pragmatique, où les temps de calcul en pratique sont plus importants qu'une classe de complexité abstraite.
La théorie de l'optimisation robuste, qu'elle soit adaptative ou distributionnelle, est bien couverte dans cet ouvrage, à partir des fondements en dualité jusqu'à des équivalences entre optimisation robuste et adaptative, avec une justification des problèmes pratique qu'elle permet de résoudre (surtout les parties les plus avancées de la théorie). Néanmoins, l'auteur met l'accent sur les questions de modélisation (toute une partie se focalise sur ces applications) et sur les algorithmes de résolution, qu'ils soient classiques ou moins.
Outre la modélisation et les algorithmes, ce qui différencie cet ouvrage d'autres traitements de l'optimisation robuste est sa prise en compte de la pensée stochastique, très répandue. Souvent, le lien entre les deux se limite à la justification des ensembles d'incertitude ellipsoïdaux, mais l'auteur présente des résultats théoriques bien plus précis et utiles, comme des caractérisations de probabilité de violation de contrainte ou l'approximation de quantités stochastiques par des techniques d'optimisation robuste. Le lien avec les probabilités est rarement aussi explicite et détaillé.
Le niveau attendu du lecteur est celui d'un praticien en recherche opérationnelle, avec de bonnes connaissances pour les techniques d'optimisation sans incertitude (problèmes linéaires, convexes et en nombres entiers), mais sans forcément d'exposition à l'incertitude. Chaque chapitre a une bibliographie imposante et variée.
Commenter Signaler un problème
Part I describes linear RO and the underlying uncertainty sets.
Part II treats modeling, exact and approximate algorithms for ARO.
Part III introduces nonlinear RO for concave uncertainty.
Part IV outlines nonlinear RO for convex uncertainty.
Part V discusses the theory of distributionally RO and ARO.
Part VI contains a variety of RO and ARO applications including queueing theory, auction design, option pricing and energy unit commitment.
There are some distinguishing characteristics in our selection of the particular structure of the book we would like to comment on:
Our unifying treatment of RO and ARO. We present RO and ARO for LO in Parts I and II, and we return to RO for nonlinear optimization in Parts III and IV, as opposed to presenting RO first and then ARO. The reason is that ARO offers new and very effective ways to solve RO problems, a fact not fully recognized earlier.
Our treatment of nonlinear RO in Parts III and IV using concave and convex uncertainty respectively, as opposed to treating robust conic optimization.
Our extensive treatment of a variety of applications of RO and ARO in several fields in Part VI is guided by the quote of George Dantzig at the beginning of the preface.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Algorithms
Design Techniques and Analysis
Résumé de l'éditeur
Problem solving is an essential part of every scientific discipline. It has two components: (1) problem identification and formulation, and (2) the solution to the formulated problem. One can solve a problem on its own using ad hoc techniques or by following techniques that have produced efficient solutions to similar problems. This requires the understanding of various algorithm design techniques, how and when to use them to formulate solutions, and the context appropriate for each of them.
Algorithms: Design Techniques and Analysis advocates the study of algorithm design by presenting the most useful techniques and illustrating them with numerous examples — emphasizing on design techniques in problem solving rather than algorithms topics like searching and sorting. Algorithmic analysis in connection with example algorithms are explored in detail. Each technique or strategy is covered in its own chapter through numerous examples of problems and their algorithms.
Readers will be equipped with problem solving tools needed in advanced courses or research in science and engineering.
Édition : World Scientific - 756 pages, 2e édition, 2 décembre 2021
ISBN10 : 9811238642 - ISBN13 : 9789811238642
Techniques Based on Recursion
First-Cut Techniques
Complexity of Problems
Coping with Hardness
Iterative Improvement for Domain-Specific Problems
Techniques in Computational Geometry
Appendices
On compte bon nombre de livres sur les algorithmes, peu sortent du lot. Toutefois, ce livre en fait partie, avec notamment un choix éclectique de sujets (comme la géométrie algorithmique ou les algorithmes parallèles), une notation précise de la complexité (et un intérêt particulier pour les bornes inférieures de complexité) et une justification des algorithmes par des problèmes réels plutôt qu'abstraits.
L'auteur considère peu de prérequis de la part des lecteurs, si ce n'est une première expérience en programmation et des structures de données basiques (comme le vecteur ou la liste liée, qui sont quand même brièvement expliquées) et un peu de probabilités discrètes. Il termine son ouvrage par des sujets plus complexes, comme la théorie de la complexité (sans machines de Turing), la géométrie algorithmique et les algorithmes parallèles.
Tout au long de l'ouvrage, l'auteur fait appel à l'intuition du lecteur pour éviter de l'assomer de détails mathématiques peu importants pour la compréhension. Les techniques de conception d'algorithmes sont d'abord mises en pratiques avant d'être généralisées et approfondies avec encore plus d'exemples.
Un point surtout remarquable est l'importance que l'auteur met dans la distinction entre grand O, grand Omega et grand Thêta. La plupart des auteurs les passent sous silence ou les mettent sous le tapis, mais cet ouvrage les met en avant pour bien indiquer la complexité d'un algorithme et les possibilités d'amélioration. Bien que le pire cas soit l'outil le plus utilisé, l'auteur présente régulièrement des analyses dans un cas moyen.
Commenter Signaler un problème
Design Techniques and Analysis
Problem solving is an essential part of every scientific discipline. It has two components: (1) problem identification and formulation, and (2) the solution to the formulated problem. One can solve a problem on its own using ad hoc techniques or by following techniques that have produced efficient solutions to similar problems. This requires the understanding of various algorithm design techniques, how and when to use them to formulate solutions, and the context appropriate for each of them.
Algorithms: Design Techniques and Analysis advocates the study of algorithm design by presenting the most useful techniques and illustrating them with numerous examples — emphasizing on design techniques in problem solving rather than algorithms topics like searching and sorting. Algorithmic analysis in connection with example algorithms are explored in detail. Each technique or strategy is covered in its own chapter through numerous examples of problems and their algorithms.
Readers will be equipped with problem solving tools needed in advanced courses or research in science and engineering.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Classical And Modern Optimization
Résumé de l'éditeur
The quest for the optimal is ubiquitous in nature and human behavior. The field of mathematical optimization has a long history and remains active today, particularly in the development of machine learning.
Classical and Modern Optimization presents a self-contained overview of classical and modern ideas and methods in approaching optimization problems. The approach is rich and flexible enough to address smooth and non-smooth, convex and non-convex, finite or infinite-dimensional, static or dynamic situations. The first chapters of the book are devoted to the classical toolbox: topology and functional analysis, differential calculus, convex analysis and necessary conditions for differentiable constrained optimization. The remaining chapters are dedicated to more specialized topics and applications.
Valuable to a wide audience, including students in mathematics, engineers, data scientists or economists, Classical and Modern Optimization contains more than 200 exercises to assist with self-study or for anyone teaching a third- or fourth-year optimization class.
Édition : World Scientific - 388 pages, 1re édition, 18 mars 2022
ISBN10 : 1800610866 - ISBN13 : 9781800610866
Differential Calculus
Convexity
Optimality Conditions for Differentiable Optimization
Problems Depending on a Parameter
Convex Duality and Applications
Iterative Methods for Convex Minimization
When Optimization and Data Meet
An Invitation to the Calculus of Variations
Vaste est le champ de l'optimisation mathématique, tant dans les algorithmes et la théorie qui les supporte que dans les applications. Cet ouvrage traite surtout du premier point de vue, c'est-à-dire proposer des outils au praticien (et une introduction complète au théoricien), sans toutefois oublier les applications pour justifier le besoin d'algorithmes. Le livre présente certains théorèmes très pratiques, mais malheureusement peu connus. La modélisation est toutefois un parent pauvre.
L'ouvrage s'oriente surtout autour d'une typologie que l'auteur a développée tout au long de sa carrière pour caractériser les manières d'aborder un problème de décision séquentielle. Il la prétend exhaustive, dans le sens que toute technique de décision séquentielle doit s'y inscrire. En guise de preuve, il explique comment les approches de quinze domaines différents se situent sur cette carte du domaine, en partant des problématiques relativement simples d'estimation stochastique aux approches les plus avancées.
On pourra regretter le style de rédaction, très sec, avec par exemple peu de contexte autour des définitions et théorèmes. Le chapitre sur la science des données et l'apprentissage couvre essentiellement des exemples classiques et non ceux où la théorie de l'optimisation permet des avancées profondes mais peu connues.
Commenter Signaler un problème
The quest for the optimal is ubiquitous in nature and human behavior. The field of mathematical optimization has a long history and remains active today, particularly in the development of machine learning.
Classical and Modern Optimization presents a self-contained overview of classical and modern ideas and methods in approaching optimization problems. The approach is rich and flexible enough to address smooth and non-smooth, convex and non-convex, finite or infinite-dimensional, static or dynamic situations. The first chapters of the book are devoted to the classical toolbox: topology and functional analysis, differential calculus, convex analysis and necessary conditions for differentiable constrained optimization. The remaining chapters are dedicated to more specialized topics and applications.
Valuable to a wide audience, including students in mathematics, engineers, data scientists or economists, Classical and Modern Optimization contains more than 200 exercises to assist with self-study or for anyone teaching a third- or fourth-year optimization class.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Graph and Networks
Résumé de l'éditeur
Featuring topics such as minors, connectomes, trees, distance, spectral graph theory, similarity, centrality, small-world networks, scale-free networks, graph algorithms, Eulerian circuits, Hamiltonian cycles, coloring, higher connectivity, planar graphs, flows, matchings, and coverings, Graphs and Networks contains modern applications for graph theorists and a host of useful theorems for network scientists.
The book begins with applications to biology and the social and political sciences and gradually takes a more theoretical direction toward graph structure theory and combinatorial optimization. A background in linear algebra, probability, and statistics provides the proper frame of reference.
Graphs and Networks also features:
Applications to neuroscience, climate science, and the social and political sciences
A research outlook integrated directly into the narrative with ideas for students interested in pursuing research projects at all levels
A large selection of primary and secondary sources for further reading
Historical notes that hint at the passion and excitement behind the discoveries
Practice problems that reinforce the concepts and encourage further investigation and independent work
Édition : Wiley - 288 pages, 1re édition, 15 avril 2022
ISBN10 : 111893718X - ISBN13 : 9781118937181
Fundamental Topics
Similarity and Centrality
Types of Networks
Graph Algorithms
Structure, Coloring, Higher Connectivity
Planar Graphs
Flows and Matchings
Dans l'analyse de données, les graphes se font une place de plus en plus importante, car ils permettent de modéliser des relations entre entités de manière fine. Encore faut-il disposer d'outils pour les traiter : c'est ce que propose cet ouvrage, avec une introduction partant de presque zéro pour arriver aux sujets les plus classiques, comme les mesures de centralité, la biconnectivité ou les flots. Ces sujets sont abordés surtout depuis le point de vue des applications, que l'auteure estime nécessaire pour justifier l'intérêt des problèmes étudiés. L'intuition est un élément essentiel dans la manière de rédiger, avec la formalisation nécessaire.
Il n'est donc pas besoin d'avoir un gros bagage en mathématique ou en informatique pour profiter du livre. Les annexes fournissent les éléments nécessaires en algèbre linéaire, probabilités ou encore algorithmique. Même si une bonne partie de l'ouvrage est constituée de preuves (que l'auteure considère comme essentielles pour la compréhension en profondeur), il n'est nul besoin d'être expert en logique : on a même droit à une section sur la manière de concevoir ses preuves.
Chaque chapitre se termine par une sélection d'exercices classés en deux catégories, les plus simples et ceux prévus pour approfondir les sujets abordés. La bibliographie est abondante, ce qui se montrera utile pour les chercheurs exploitant la théorie des graphes. De plus, l'aspect historique n'est pas négligé et sert régulièrement de justification pour approcher certains sujets (par exemple, en mentionnant les premières applications).
Régulièrement, l'auteure aborde non seulement des applications en sciences sociales, mais aussi les impacts sociaux lors du déploiement des techniques qu'elle développe (notamment, en faisant le rapprochement entre la recommandation par filtrage collaboratif et les chambres d'écho numériques dans lesquelles certains internautes s'enferment). Elle omet cependant des sujets plus avancés, extrêmement utiles en pratique mais moins liés à des applications, comme la largeur arborescente.
Commenter Signaler un problème
Featuring topics such as minors, connectomes, trees, distance, spectral graph theory, similarity, centrality, small-world networks, scale-free networks, graph algorithms, Eulerian circuits, Hamiltonian cycles, coloring, higher connectivity, planar graphs, flows, matchings, and coverings, Graphs and Networks contains modern applications for graph theorists and a host of useful theorems for network scientists.
The book begins with applications to biology and the social and political sciences and gradually takes a more theoretical direction toward graph structure theory and combinatorial optimization. A background in linear algebra, probability, and statistics provides the proper frame of reference.
Graphs and Networks also features:
Applications to neuroscience, climate science, and the social and political sciences
A research outlook integrated directly into the narrative with ideas for students interested in pursuing research projects at all levels
A large selection of primary and secondary sources for further reading
Historical notes that hint at the passion and excitement behind the discoveries
Practice problems that reinforce the concepts and encourage further investigation and independent work
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
The Moment-SOS Hierarchy
Lectures in Probability, Statistics, Computational Geometry, Control and Nonlinear PDEs
Résumé de l'éditeur
The goal of this book is to describe in a unified and detailed manner how this methodology applies to solving various problems in different areas ranging from Optimization, Probability, Statistics, Signal Processing, Computational Geometry, Control, Optimal Control and Analysis of a certain class of nonlinear PDEs. For each application, this unconventional methodology differs from traditional approaches and provides an unusual viewpoint. Each chapter is devoted to a particular application, where the methodology is thoroughly described and illustrated on some appropriate examples.
The exposition is kept at an appropriate level of detail to aid the different levels of readers not necessarily familiar with these tools, to better know and understand this methodology.
Édition : World Scientific - 248 pages, 1re édition, 17 novembre 2020
ISBN10 : 1786348535 - ISBN13 : 9781786348531
Principle of the Moment-SOS Hierarchy
The Moment-SOS Hierarchy for Applications in Probability and Statistics
Volume and Gaussian Measure of Semi-Algebraic Sets
Lebesgue Decomposition of a Measure
Super Resolution on Semi-Algebraic Domains
Sparse Polynomial Interpolation
Representation of (Probabilistic) Chance-Constraints
Approximate Optimal Design
The Moment-SOS Hierarchy for Applications in Control, Optimal Control and Non-Linear Partial Differential Equations
Optimal Control
Convex Computation of Region of Attraction and Reachable Set
Non-Linear Partial Differential Equations
Miscellaneous
Les auteurs proposent ainsi une sélection de sujets d'intérêt autour de la notion de polynôme « somme de carrés » (SOS, en anglais), avec un approfondissement de la dualité avec les moments statistiques. Ce diptyque s'applique, de manière plus ou moins intuitive, tant au calcul de probabilités qu'à la résolution de certaines familles d'équations aux dérivées partielles. Les auteurs présentent tous les détails depuis le domaine d'application jusqu'à la formulation sous forme d'une suite de SDP, parfois avec des conseils d'implémentation numérique pour améliorer la convergence de la formulation.
Le niveau mathématique de l'ouvrage est toutefois très élevé, malgré les messages rassurants en quatrième de couverture. Notamment, il faut déjà s'y connaître en matière d'optimisation semi-définie, les rappels proposés étant très succincts. De plus, la théorie des polynômes « sommes de carrés » est présentée dans sa généralité, ce qui nécessite de bonnes connaissances en théorie de la mesure pour bien s'y retrouver.
Commenter Signaler un problème
Lectures in Probability, Statistics, Computational Geometry, Control and Nonlinear PDEs
The goal of this book is to describe in a unified and detailed manner how this methodology applies to solving various problems in different areas ranging from Optimization, Probability, Statistics, Signal Processing, Computational Geometry, Control, Optimal Control and Analysis of a certain class of nonlinear PDEs. For each application, this unconventional methodology differs from traditional approaches and provides an unusual viewpoint. Each chapter is devoted to a particular application, where the methodology is thoroughly described and illustrated on some appropriate examples.
The exposition is kept at an appropriate level of detail to aid the different levels of readers not necessarily familiar with these tools, to better know and understand this methodology.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Basic concepts in algorithms
Résumé de l'éditeur
Klein reproduces his oral teaching style in writing, with one topic leading to another, related one. Most of the classical and some more advanced subjects in the theory of algorithms are covered, though not in a comprehensive manner. The topics include Divide and Conquer, Dynamic Programming, Graph algorithms, probabilistic algorithms, data compression, numerical algorithms and intractability. Each chapter comes with its own set of exercises, and solutions to most of them are appended.
Édition : World Scientific - 364 pages, 1re édition, 15 juillet 2021
ISBN10 : 9811238529 - ISBN13 : 9789811238529
Divide and Conquer
Dynamic Programming
Graph Algorithms
Minimum Spanning Trees
Shortest Paths
Probabilistic Algorithms
Primality
Text Algorithms
Data Compression
Pattern Matching
Numerical Algorithms
Fast Fourier Transform
Cryptography
Intractability
NP Completeness
Approximations
Ce livre n'est pas censé être utilisé comme introduction à la programmation, puisque l'auteur présuppose que les notions de base en programmation sont déjà intégrées, notamment les structures de données principales. Le formalisme mathématique est limité afin de garantir une bonne lisibilité (ce qui n'empêche que certains théorèmes sont prouvés).
La complexité est une notion essentielle de cet ouvrage, tous les algorithmes ayant droit à un calcul précis de leur complexité temporelle. Les notions nécessaires sont expliquées de manière très intuitive.
Chaque chapitre se termine par une série d'exercices de niveaux variés. Ces derniers sont bien choisis et servent à faire réfléchir aux notions centrales de chaque chapitre (plutôt qu'une simple mise en application) ; les corrections apparaissent en fin d'ouvrage.
Commenter Signaler un problème
Klein reproduces his oral teaching style in writing, with one topic leading to another, related one. Most of the classical and some more advanced subjects in the theory of algorithms are covered, though not in a comprehensive manner. The topics include Divide and Conquer, Dynamic Programming, Graph algorithms, probabilistic algorithms, data compression, numerical algorithms and intractability. Each chapter comes with its own set of exercises, and solutions to most of them are appended.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Rigid Body Kinematics
Résumé de l'éditeur
Édition : Cambridge University Press - 294 pages, 1re édition, 10 septembre 2020
ISBN10 : 1108479073 - ISBN13 : 9781108479073
Point Kinematics
Rigid Body Kinematics
Introduction to Kinematics of Multibody Systems
Chaque chapitre est complété par une grande série de problèmes supplémentaires, tant sous la forme de quiz que de problèmes plus ouverts. Toujours, les solutions sont proposées : pour les quiz, elles incluent les résultats sous forme analytique, afin de vérifier si, outre le résultat final, le raisonnement est bien correct.
Le livre est succinct et ne traite que de cinématique, afin de correspondre à un public aussi large que possible. Un résumé des notations aurait été le bienvenu.
Commenter Signaler un problème
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Introduction to the Finite Element Method and Implementation with MATLAB®
Résumé de l'éditeur
Drawing upon years of practical experience and using numerous examples and illustrative applications, Gang Li provides:
15 engineering problems on elasticity, heat transfer, fluid flow, and mesh creation, fully worked and described in step-by-step detail
over 110 end-of-chapter problems for students to practice and build confidence
M-files for all numerical examples and exercise problems, which can be accessed and downloaded from the textbook's online resource page.
Dr. Gang Li is a professor and D. W. Reynolds Emerging Scholar of Mechanical Engineering at Clemson University. He was an awardee of the National Science Foundation Early Career Award. He is an associate editor of the Journal of Computational Electronics and serves on the ASME Committee on Computing in Applied Mechanics. Dr. Li's scholarly articles on computational mechanics and finite element method frequently appear in leading journals.
Édition : Cambridge University Press - 522 pages, 1re édition, 30 juillet 2020
ISBN10 : 1108471684 - ISBN13 : 9781108471688
Mathematical Preliminaries
Numerical Analysis Methods
General Procedures of FEA for Linear Static Analysis: 1-D Problems
FEA for Multi-Dimensional Scalar Field Problems
Mesh Generation
FEA for Multi-Dimensional Vector Field Problems
Structural Elements
FEA for Linear Time-Dependent Analysis
Le public cible a très clairement de bonnes bases en ingénierie, notamment en génie mécanique. Un lecteur sans notion de résistance des matériaux ou de conduction de la chaleur aura du mal à suivre les exemples. Néanmoins, celui qui en a une connaissance basique profitera d'un exposé qui repart de ce socle et reconstruit toute la méthode des éléments finis, sans omettre une seule étape de calcul, même fastidieuse.
Les aspects algorithmiques sont mis en avant, pour faciliter l'implémentation de codes d'éléments finis basiques. On peut toutefois regretter que le sujet des conditions de convergence ne soit pas véritablement abordé.
Commenter Signaler un problème
Drawing upon years of practical experience and using numerous examples and illustrative applications, Gang Li provides:
15 engineering problems on elasticity, heat transfer, fluid flow, and mesh creation, fully worked and described in step-by-step detail
over 110 end-of-chapter problems for students to practice and build confidence
M-files for all numerical examples and exercise problems, which can be accessed and downloaded from the textbook's online resource page.
Dr. Gang Li is a professor and D. W. Reynolds Emerging Scholar of Mechanical Engineering at Clemson University. He was an awardee of the National Science Foundation Early Career Award. He is an associate editor of the Journal of Computational Electronics and serves on the ASME Committee on Computing in Applied Mechanics. Dr. Li's scholarly articles on computational mechanics and finite element method frequently appear in leading journals.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Network Traffic Engineering
Stochastic Models and Applications
Résumé de l'éditeur
Network Traffic Engineering: Models and Applications provides an advanced level queuing theory guide for students with a strong mathematical background who are interested in analytic modeling and performance assessment of communication networks.
The text begins with the basics of queueing theory before moving on to more advanced levels. The topics covered in the book are derived from the most cutting-edge research, project development, teaching activity, and discussions on the subject. They include applications of queuing and traffic theory in:
LTE networks
Wi-Fi networks
Ad-hoc networks
Automated vehicles
Congestion control on the Internet
The distinguished author seeks to show how insight into practical and real-world problems can be gained by means of quantitative modeling. Perfect for graduate students of computer engineering, computer science, telecommunication engineering, and electrical engineering, Network Traffic Engineering offers a supremely practical approach to a rapidly developing field of study and industry.
Édition : Wiley - 816 pages, 1re édition, 24 juillet 2020
ISBN10 : 1119632439 - ISBN13 : 9781119632436
Service Systems and Queues
Stochastic Models for Network Traffic
Single-Server Queues
Multi-Server Queues
Priorities and Scheduling
Queueing Networks
Bounds and Approximations
Multiple Access
Congestion Control
Quality-of-Service Guarantees
Pour bien profiter de ce contenu, il vaut mieux donc être bien équipé d'un point de vue mathématique, notamment sur les probabilités, les processus stochastiques et les chaînes de Markov. Quant aux exemples, le lecteur a intérêt à avoir de sérieuses bases en télécommunications (fonctionnement de TCP, accès à la couche physique, etc.). Des notions de programmation ne pourraient pas faire de mal, étant donné que certaines parties sont formalisées à l'aide d'algorithmes et de code, tandis que l'implémentation en MATLAB de certains exemples est proposée.
L'ouvrage est rédigé de manière très progressive, en présentant d'abord les bases théoriques des files d'attente, avant de les appliquer. Chaque chapitre contient une série d'exercices (malheureusement pas corrigés) pour vérifier sa compréhension des éléments clés. De même, l'auteur prend soin de résumer les idées essentielles de chaque chapitre dans une section prévue à cet effet. Les notations sont toujours bien expliquées et explicitées.
Commenter Signaler un problème
Stochastic Models and Applications
Network Traffic Engineering: Models and Applications provides an advanced level queuing theory guide for students with a strong mathematical background who are interested in analytic modeling and performance assessment of communication networks.
The text begins with the basics of queueing theory before moving on to more advanced levels. The topics covered in the book are derived from the most cutting-edge research, project development, teaching activity, and discussions on the subject. They include applications of queuing and traffic theory in:
LTE networks
Wi-Fi networks
Ad-hoc networks
Automated vehicles
Congestion control on the Internet
The distinguished author seeks to show how insight into practical and real-world problems can be gained by means of quantitative modeling. Perfect for graduate students of computer engineering, computer science, telecommunication engineering, and electrical engineering, Network Traffic Engineering offers a supremely practical approach to a rapidly developing field of study and industry.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Dynamics of Multibody Systems
Résumé de l'éditeur
Édition : Cambridge University Press - 420 pages, 5e édition, 5 mars 2020
ISBN10 : 1108485642 - ISBN13 : 9781108485647
Reference Kinematics
Analytical Techniques
Mechanics of Deformable Bodies
Floating Frame of Reference Formulation
Finite-Element Formulation
The Large Deformation Problem
Concepts and Essential Details
Integration of Geometry, Durability Analysis, and Design
Chaque chapitre est accompagné d'une série d'exercices de mise en pratique, mais sans correction. Toutefois, l'auteur formule les exemples de la même manière que les exercices ; ceux-ci incluent des corrections et explications complètes. Également, les preuves sont écrites au complet, sans laisser une grande marge d'interprétation au lecteur.
Les principes de base pour l'implémentation des méthodes numériques actuelles sont bien présents, y compris avec du pseudocode. Ces méthodes se focalisent sur une résolution précise des problèmes numériques, plutôt qu'une résolution rapide. Les explications sont complètes et se basent assez peu sur des connaissances préalables du lecteur.
Commenter Signaler un problème
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Introduction to Optimization and Hadamard Semidifferential Calculus
Résumé de l'éditeur
Introduction to Optimization and Hadamard Semidifferential Calculus, Second Edition:
builds upon its prior edition’s foundations in Hadamard semidifferential calculus, showcasing new material linked to convex analysis and nonsmooth optimization;
presents a modern treatment of optimization and Hadamard semidifferential calculus while remaining at a level that is accessible to undergraduate students; and
challenges students with exercises related to problems in such fields as engineering, mechanics, medicine, physics, and economics and supplies answers in Appendix B.
Students of mathematics, physics, engineering, economics, and other disciplines that demand a basic knowledge of mathematical analysis and linear algebra will find this a fitting primary or companion resource for their studies. This textbook has been designed and tested for a one-term course at the undergraduate level. In its full version, it is appropriate for a first-year graduate course and as a reference.
Édition : SIAM - 423 pages, 2e édition, 19 décembre 2019
ISBN10 : 1611975956 - ISBN13 : 9781611975956
Existence, Convexities, and Convexification
Semidifferentiability, Differentiability, Continuity, and Convexities
Optimality Conditions
Differentiable and Semidifferentiable Constrained Optimization
Toutes les preuves sont présentes dans l'ouvrage, peu de choses sont laissées au lecteur. Certaines sont mises en tant qu'exercices (qui abordent aussi des sujest plus pratiques), mais les corrections sont fournies en annexe. L'auteur fournit également une série de remarques historiques, pour positionner les théories les unes par rapport aux autres dans leur contexte mathématique historique.
Contrairement à ce que pourrait indiquer le titre, le livre s'arrête à fournir la théorie de base pour l'analyse d'algorithmes d'optimisation, il ne présente pas d'algorithme.
Commenter Signaler un problème
Introduction to Optimization and Hadamard Semidifferential Calculus, Second Edition:
builds upon its prior edition’s foundations in Hadamard semidifferential calculus, showcasing new material linked to convex analysis and nonsmooth optimization;
presents a modern treatment of optimization and Hadamard semidifferential calculus while remaining at a level that is accessible to undergraduate students; and
challenges students with exercises related to problems in such fields as engineering, mechanics, medicine, physics, and economics and supplies answers in Appendix B.
Students of mathematics, physics, engineering, economics, and other disciplines that demand a basic knowledge of mathematical analysis and linear algebra will find this a fitting primary or companion resource for their studies. This textbook has been designed and tested for a one-term course at the undergraduate level. In its full version, it is appropriate for a first-year graduate course and as a reference.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Practical Optimization
Résumé de l'éditeur
This book
provides model algorithms and pseudocode, useful tools for users who prefer to write their own code as well as for those who want to understand externally provided code;
presents algorithms in a step-by-step format, revealing the overall structure of the underlying procedures and thereby allowing a high-level perspective on the fundamental differences; and
contains a wealth of techniques and strategies that are well suited for optimization in the twenty-first century and particularly in the now-flourishing fields of data science, “big data,” and machine learning.
Practical Optimization is appropriate for advanced undergraduates, graduate students, and researchers interested in methods for solving optimization problems.
Édition : SIAM - 401 pages, 1re édition, 16 décembre 2019
ISBN10 : 161197559X - ISBN13 : 9781611975598
Fundamentals
Optimality Conditions
Unconstrained Methods
Linear Constraints
Nonlinear Constraints
Modelling
Practicalities
Les auteurs présentent une grande quantité de méthodes, en précisant leurs avantages et les cas particuliers où ces algorithmes auront tendance à mieux fonctionner. Ils tendent à présenter plus d'algorithmes que de théorie, tout en analysant la convergence des méthodes et en mettant l'accent sur la stabilité numérique (un point très peu étudié dans la littérature plus récente). L'explication de la méthode du simplexe est très différente de la majorité des auteurs, puisque ce livre repart des méthodes d'ensemble de contraintes actives.
Les prérequis sont extrêmement faibles. Il faut, certes, une habitude de travailler avec des mathématiques, mais les notions nécessaires en algèbre linéaire, en analyse numérique et en analyse multivairée sont expliquées. Par exemple, les auteurs commencent avec la manière qu'a un ordinateur de représenter des nombres et les conséquences que cela peut avoir sur un programme d'optimisation.
Globalement, l'ouvrage a très bien résisté au temps. Toutefois, on regrettera qu'il n'aborde presque pas les problèmes discrets ou non dérivables (deux domaines qui ont véritablement explosé dans les décennies postérieures, par exemple les méthodes de sous-gradient). L'approche duale est certes présentée, mais peu d'algorithmes l'exploitent. Étonnamment, le chapitre sur la mise en pratique des méthodes reste fortement d'actualité, avec des questions comme la vérification du sens des solutions ou le choix d'un critère de terminaison.
Commenter Signaler un problème
This book
provides model algorithms and pseudocode, useful tools for users who prefer to write their own code as well as for those who want to understand externally provided code;
presents algorithms in a step-by-step format, revealing the overall structure of the underlying procedures and thereby allowing a high-level perspective on the fundamental differences; and
contains a wealth of techniques and strategies that are well suited for optimization in the twenty-first century and particularly in the now-flourishing fields of data science, “big data,” and machine learning.
Practical Optimization is appropriate for advanced undergraduates, graduate students, and researchers interested in methods for solving optimization problems.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Algorithms Illuminated: Algorithms for NP-Hard Problems
Résumé de l'éditeur
Édition : Soundlikeyourself Publishing - 271 pages, 1re édition, 16 juillet 2020
ISBN10 : 0999282964 - ISBN13 : 9780999282960
Compromising on Correctness: Efficient Inexact Algorithms
Compromising on Speed: Exact Inefficient Algorithms
Proving Problems NP-Hard
P, NP, and All That
Case Study: The FCC Incentive Auction
Epilogue: A Field Guide to Algorithm Design
En tant que livre d'algorithmique, la présentation de la théorie de la complexité n'est pas habituelle. L'auteur préfère une vue proche de la pratique algorithmique : l'objectif est que le lecteur sache reconnaître un problème difficile pour éviter de partir à la recherche d'un algorithme polynomial qui n'existe probablement pas. De là, l'ouvrage présente des techniques de résolution de ces problèmes (des techniques classiques — algorithme glouton, programmation dynamique — et plus spécifiques — solveurs de satisfiabilité et en nombres entiers). Les algorithmes ne sont pas les plus classiques, mais l'objectif est toujours d'entraîner à la recherche d'algorithmes intelligents.
Les problèmes difficiles présentés dans ce quatrième tome ne sont pas abstraits, ils sont régulièrement présents dans la pratique. Ainsi, chacun est toujours mis en contexte. Le dernier chapitre est une étude de cas, pour montrer comment un problème réel (des mises aux enchères de canaux de fréquences pour les télécommunications sans fil aux États-Unis) doit être abordé avec finesse. Cette partie fait appel à tous les outils développés dans les quatre tomes de la série.
Commenter Signaler un problème
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Crowds in Equations
An Introduction to the Microscopic Modeling of Crowds
Résumé de l'éditeur
Édition : WorldScientific - 200 pages, 1re édition, 11 juillet 2018
ISBN10 : 178634551X - ISBN13 : 9781786345516
Introduction
One-Dimensional Microscopic Models
Social Force Model, Native and Overdamped Forms
Granular Models
Cellular Automata
Compartment Models
Toward Macroscopic Models
Computing Distance and Desired Velocities
Data, Observable Phenomena
A Wider Look on Characteristic Phenomena in Crowds
Comme le titre l'indique assez clairement, le contenu est matheux : pour chaque modèle, les auteurs proposent une mise en équation (en vue d'effectuer des simulations numériques), mais analysent aussi ses propriétés mathématiques (existence et unicité de la solution, par exemple). Ces propriétés sont régulièrement remises en contexte (impact lors d'une simulation d'une non-unicité de solution, par exemple). Ils discutent aussi des phénomènes qui peuvent être mis en évidence par ces modèles, comme le fait que ralentir une foule peut augmenter le nombre de personnes que l'on fait passer par une sortie de secours par seconde (l'effet slower is faster). Les modèles abstraits utilisent un certain nombre de paramètres, mais des valeurs habituelles pour la simulation de piétons sont données. Un chapitre fait le lien entre les expériences du domaine (où l'on demande à une foule de se déplacer), les observations faites sur des situations réelles et les modèles mathématiques : il s'agit réellement de mathématiques appliquées, en lien direct avec la pratique.
Le niveau mathématique requis pour les lecteurs est assez élevé : sans connaissances de base en analyse réelle et en équations différentielles, par exemple, on ne profitera pas beaucoup du contenu. Les analyses des méthodes font souvent appel à des notions de stabilité (fonction de Liapounov) ou à la méthode des perturbations infinitésimales, des sujets qui ne sont presque pas abordés dans l'annexe ou explicités comme prérequis.
On peut toutefois reprocher des notations pas toujours limpides (comme un même symbole qui désigne un scalaire ou un vecteur, selon la section, voire des quantités sans aucun rapport : distance entre deux personnes ou distance par rapport à une situation d'équilibre). Le code fourni avec le livre n'a été développé que dans le contexte de cet ouvrage, il ne s'agit pas d'une bibliothèque utilisée au jour le jour par des chercheurs ou praticiens du domaine.
Commenter Signaler un problème
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Database Internals
A Deep Dive into How Distributed Data Systems Work
Résumé de l'éditeur
Throughout the book, you’ll explore relevant material gleaned from numerous books, papers, blog posts, and the source code of several open source databases. These resources are listed at the end of parts one and two. You’ll discover that the most significant distinctions among many modern databases reside in subsystems that determine how storage is organized and how data is distributed.
This book examines:
- Storage engines: Explore storage classification and taxonomy, and dive into B-Tree-based and immutable Log Structured storage engines, with differences and use-cases for each
- Storage building blocks: Learn how database files are organized to build efficient storage, using auxiliary data structures such as Page Cache, Buffer Pool and Write-Ahead Log
- Distributed systems: Learn step-by-step how nodes and processes connect and build complex communication patterns
- Database clusters: Which consistency models are commonly used by modern databases and how distributed storage systems achieve consistency
Édition : O'Reilly - 376 pages, 1re édition, 15 octobre 2019
ISBN10 : 1492040347 - ISBN13 : 9781492040347
Introduction and Overview
B-Tree Basics
File Formats
Implementing B-Trees
Transaction Processing and Recovery
B-Tree Variants
Log-Structured Storage
Part I Conclusion
Distributed Systems
Introduction and Overview
Failure Detection
Leader Election
Replication and Consistency
Anti-Entropy and Dissemination
Distributed Transactions
Consensus
Part II Conclusion
L'auteur considère simultanément deux points de vue, celui de l'utilisateur (comment le système fonctionne-t-il ?) et celui du développeur (comment concevoir un nouveau système de base de données ?). Il explicite ainsi les choix à faire lors du développement et donne les avantages et inconvénients des décisions posées par des systèmes existants.
Les bases de données ont une structure particulière pour obtenir une très bonne performance, puisque la conception d'un tel système requiert de penser à un très haut niveau d'abstraction (le type de requête habituel), mais aussi à un très bas niveau (le fonctionnement des disques durs et des SSD pour optimiser la représentation physique des données). L'auteur passe avec aisance d'un niveau d'abstraction à l'autre et explicite les liens nécessaires.
Bien évidemment, tous les concepts utilisés dans l'implémentation des bases de données actuelles ne sont pas passés en détail, notamment la gestion des requêtes et leur optimisation (un sujet déjà traité dans la littérature sur les compilateurs, par exemple). L'auteur a préféré étudier en profondeur les sujets pour lesquels il n'existe pas encore d'ouvrage de référence.
Les chapitres sont organisés de telle sorte qu'on puisse les utiliser comme une référence, mais aussi découvrir ces sujets progressivement. Pour approfondir, l'auteur n'hésite pas à fournir une abondante bibliographie (y compris du code source de certains logiciels de base de données).
Commenter Signaler un problème
Throughout the book, you’ll explore relevant material gleaned from numerous books, papers, blog posts, and the source code of several open source databases. These resources are listed at the end of parts one and two. You’ll discover that the most significant distinctions among many modern databases reside in subsystems that determine how storage is organized and how data is distributed.
This book examines:
- Storage engines: Explore storage classification and taxonomy, and dive into B-Tree-based and immutable Log Structured storage engines, with differences and use-cases for each
- Storage building blocks: Learn how database files are organized to build efficient storage, using auxiliary data structures such as Page Cache, Buffer Pool and Write-Ahead Log
- Distributed systems: Learn step-by-step how nodes and processes connect and build complex communication patterns
- Database clusters: Which consistency models are commonly used by modern databases and how distributed storage systems achieve consistency
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Network Flow Algorithms
Résumé de l'éditeur
This graduate text and reference presents a succinct, unified view of a wide variety of efficient combinatorial algorithms for network flow problems, including many results not found in other books. It covers maximum flows, minimum-cost flows, generalized flows, multicommodity flows, and global minimum cuts and also presents recent work on computing electrical flows along with recent applications of these flows to classical problems in network flow theory.
Édition : Cambridge University Press - 326 pages, 1re édition, 20 août 2019
ISBN10 : 1316636836 - ISBN13 : 9781316636831
Maximum Flow Algorithms
Global Minimum Cut Algorithms
More Maximum Flow Algorithms
Minimum-Cost Circulation Algorithms
Generalized Flow Algorithms
Multicommodity Flow Algorithms
Electrical Flow Algorithms
Open Questions
Le premier chapitre démarre sur les chapeaux de roues, avec directement des algorithmes de calcul de plus court chemin dans un graphe, afin d'expliciter des notions qui reviendront régulièrement dans la suite, comme l'étiquetage des nœuds ou la détection de cycle. Par conséquent, le livre est réservé à un public déjà averti des algorithmes sur des graphes… et ouvert aux mathématiques. De fait, l'ouvrage comporte un nombre très élevé de preuves (déjà une vingtaine dans le premier chapitre, une cinquantaine dans le second !), qui en constituent le cœur. Il n'empêche que l'auteur a toujours à cœur de d'abord passer par des raisonnements intuitifs avant de formaliser. Aussi, le contenu reste, en bonne partie, très abstrait : il s'agit de raisonner sur des graphes génériques, pas sur des applications particulières, a priori en totale déconnexion avec la pratique du domaine (sauf en début et fin de livre).
On peut regretter que certains sujets ne soient pas abordés, comme les plus courts chemins avec des contraintes de ressources ces derniers sont extrêmement utiles pour la résolution de problèmes réels de logistique ou de réseau (avec des techniques de génération de colonnes), mais restent à peine abordés. L'utilité de la dualité n'est pas vraiment explicitée, alors qu'elle revient très régulièrement (bon nombre d'algorithmes travaillent sur le dual du problème présenté). De même, les méthodes de point intérieur sont très souvent citées, parfois très légèrement abordées dans les notes de fin de chapitre, mais jamais vraiment décrites dans l'ouvrage, alors que bon nombre de résultats récents les utilisent abondamment.
Commenter Signaler un problème
This graduate text and reference presents a succinct, unified view of a wide variety of efficient combinatorial algorithms for network flow problems, including many results not found in other books. It covers maximum flows, minimum-cost flows, generalized flows, multicommodity flows, and global minimum cuts and also presents recent work on computing electrical flows along with recent applications of these flows to classical problems in network flow theory.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Kernelization
Theory of Parameterized Preprocessing
Résumé de l'éditeur
Édition : Cambridge University Press - 528 pages, 1re édition, 10 janvier 2019
ISBN10 : 1107057760 - ISBN13 : 9781107057760
Upper Bounds
Warm Up
Inductive Priorities
Crown Decomposition
Expansion Lemma
Linear Programming
Hypertrees
Sunflower Lemma
Modules
Matroids
Representative Families
Greedy Packing
Euler's Formula
Meta Theorems
Introduction to Treewidth
Bidimensionality and Protrusions
Surgery on Graphs
Lower Bounds
Framework
Instance Selectors
Polynomial Parameter Transformation
Polynomial Lower Bounds
Extending Distillation
Beyond Kernelization
Turing Kernelization
Lossy Kernelization
Commenter Signaler un problème
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Algorithms Illuminated: Greedy Algorithms and Dynamic Programming
Résumé de l'éditeur
Édition : Soundlikeyourself Publishing - 229 pages, 1re édition, 1er mai 2019
ISBN10 : 0999282948 - ISBN13 : 9780999282946
Huffman Codes
Minimum Spanning Trees
Introduction to Dynamic Programming
Advanced Dynamic Programming
Shortest Paths Revisited
Epilogue: A Field Guide to Algorithm Design
L'auteur continue avec son parti pris d'un texte clair, épuré, accessible au plus grand nombre. Malgré le niveau technique plus avancé que dans les deux premiers tomes, les explications restent claires et faciles à suivre. Cette troisième partie de la série contient presque exclusivement des exemples des deux techniques de conception d'algorithmes, notamment avec les algorithmes les plus connus et utiles (on a déjà cité Bellman-Ford, il ne faut pas oublier les codes de Huffman, les algorithmes de Prim, de Kruskal, de Floyd-Warshall pour les graphes). Elle s'oriente encore plus vers des applications, mais aussi de la recherche (avec quelques références vers des articles parfois très récents — 2018).
Ce livre fait partie d'une série de quatre et il est extrait de cours en ligne donnés par l'auteur. Tim Roughgarden en a réutilisé certaines ressources pour le compléter. On y retrouve donc l'un ou l'autre quiz (avec des solutions très détaillées) et des problèmes (la plupart ayant une solution explicitée dans le livre), mais aussi des tests plus compliqués en ligne ainsi que des vidéos.
Commenter Signaler un problème
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Algorithms Illuminated: Graph Algorithms and Data Structures
Résumé de l'éditeur
Édition : Soundlikeyourself Publishing - 221 pages, 1re édition, 5 août 2018
ISBN10 : 0999282921 - ISBN13 : 9780999282922
Graph Search and Its Application
Dijkstra's Shortest-Path Algorithm
The Heap Data Structure
Search Trees
Hash Tables and Bloom Filters
Quick Review of Asymptotic Notation
Comme dans le premier tome, l'auteur prend le parti d'un texte clair, épuré, accessible au plus grand nombre (on peut apprécier la quantité d'illustrations pour les algorithmes de traversée de graphes, pas toujours les plus intuitifs quand on débute dans le domaine). À nouveau, il se focalise sur les éléments les plus importants du sujet. Notamment, seul l'algorithme de Dijkstra pour les plus courts chemins est détaillé dans le livre (pas de Bellman-Ford ou d'A*). Un autre exemple, peut-être plus litigieux, est celui des structures de données de base, puisque l'auteur considère que le lecteur est parfaitement au courant des propriétés et de la manipulation des tableaux, des listes liées, des files et des piles.
Plus que le premier tome, ce deuxième volume se rapproche des applications pratiques. Les algorithmes présentés semblent moins utiles, mais seulement à première vue. L'auteur met toujours les algorithmes en contexte, justifie leur besoin réel. Ainsi, les algorithmes travaillant sur des graphes sont présentés en même temps que leurs applications dans les réseaux ou la planification. Ce côté appliqué se montre aussi dans la structure des chapitres sur les structures de données : le praticien doit surtout connaître les opérations principales des structures de données, leur complexité, mais pas forcément leur implémentation. L'auteur sépare ainsi la spécification de la structure de données des techniques d'implémentation.
L'organisation des chapitres peut sembler un peu contre-intuitive, avec d'abord les graphes et puis les structures de données. Elle a le grand avantage de justifier le besoin en structures de données par la pratique, par la recherche d'algorithmes efficaces pour des besoins concrets (pas vraiment académiques). On peut regretter que ce tome soit autant lié à la série pour certains aspects : l'algorithme de Dijkstra n'est pas l'algorithme le plus générique pour les plus courts chemins, mais il est le seul présenté ici. Il faudra attendre le troisième tome pour découvrir l'algorithme de Bellman-Ford, dans le cadre de la programmation dynamique (peu après avoir lié celui de Dijkstra aux algorithmes gloutons).
Ce livre fait partie d'une série de quatre et il est extrait de cours en ligne donnés par l'auteur. L'auteur en a réutilisé certaines ressources pour le compléter. On y retrouve donc l'un ou l'autre quiz (avec des solutions très détaillées) et des problèmes (la plupart ayant une solution explicitée dans le livre), mais aussi des tests plus compliqués en ligne ainsi que des vidéos.
Commenter Signaler un problème
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Algorithms Illuminated: The Basics
Résumé de l'éditeur
Édition : Soundlikeyourself Publishing - 218 pages, 1re édition, 27 septembre 2017
ISBN10 : 0999282905 - ISBN13 : 9780999282908
Asymptotic Notation
Divide-and-Conquer Algorithms
The Master Method
QuickSort
Linear-Time Selection
Quick Review of Proofs By Induction
Quick Review of Discrete Probability
Ce livre propose un autre angle de vue sur le sujet : le texte est clair, pas encombré de termes techniques inutiles. Le contenu est abordé de manière progressive et intégrée (les notations asymptotiques ne sont pas détaillées de manière abstraite, mais dans le concret d'un algorithme). L'auteur a fait le choix de présenter relativement peu d'algorithmes (aucun algorithme de tri ne nécessite de structure de données comme le monceau), ce qui lui permet d'entrer dans les détails. Chacun est d'ailleurs placé dans un vrai contexte avec des problèmes réels où cet algorithme peut être utilisé. Chaque chapitre est terminé par un petit encadré résumant les notions les plus importantes abordées dans ce chapitre.
L'un des choix posés lors de la rédaction a été une complète indépendance vis-à-vis du langage de programmation. D'un côté, cela rend le livre plus abstrait et légèrement moins accessible. De l'autre, cela permet d'éviter les complexités liées à la syntaxe d'un langage de programmation (le lecteur est d'ailleurs supposé déjà savoir programmer dans un langage, c'est presque le seul prérequis — avec un petit peu de mathématiques). Les intrications mathématiques sont limitées au maximum, afin d'élargir le public visé. Certains sujets nécessitent plus d'écritures mathématiques, mais ils sont clairement indiqués comme tels et ne sont pas nécessaires à la bonne compréhension globale de l'ouvrage.
Ce livre fait partie d'une série de quatre et il est extrait de cours en ligne donnés par l'auteur. Ce premier tome parle d'algorithmique en général, sans entrer dans les détails de structures de données : il se limite à quelques algorithmes de tri (le tri rapide ayant droit à son propre chapitre bien détaillé). L'auteur a d'ailleurs réutilisé certaines des ressources de ces cours pour compléter le livre. On y retrouve donc l'un ou l'autre quiz (avec des solutions très détaillées) et des problèmes (la plupart ayant une solution explicitée dans le livre), mais aussi des données de test plus compliquées en ligne ainsi que des vidéos.
En résumé, je trouve que ce livre est une très bonne introduction au sujet de l'algorithmique. Il conviendra très bien aux plus débutants et à ceux que le domaine rebute. Par contre, il faudra le compléter par d'autres livres pour approfondir.
Commenter Signaler un problème
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Natural Language Processing with PyTorch
Build Intelligent Language Applications Using Deep Learning
Résumé de l'éditeur
Authors Delip Rao and Brian McMahon provide you with a solid grounding in NLP and deep learning algorithms and demonstrate how to use PyTorch to build applications involving rich representations of text specific to the problems you face. Each chapter includes several code examples and illustrations.
- Explore computational graphs and the supervised learning paradigm
- Master the basics of the PyTorch optimized tensor manipulation library
- Get an overview of traditional NLP concepts and methods
- Learn the basic ideas involved in building neural networks
- Use embeddings to represent words, sentences, documents, and other features
- Explore sequence prediction and generate sequence-to-sequence models
- Learn design patterns for building production NLP systems
Édition : O'Reilly - 256 pages, 1re édition, 5 février 2019
ISBN10 : 1491978236 - ISBN13 : 9781491978238
Chapter 2. A Quick Tour of Traditional NLP
Chapter 3. Foundational Components of Neural Networks
Chapter 4. Feed-Forward Networks for Natural Language Processing
Chapter 5. Embedding Words and Types
Chapter 6. Sequence Modeling for Natural Language Processing
Chapter 7. Intermediate Sequence Modeling for Natural Language Processing
Chapter 8. Advanced Sequence Modeling for Natural Language Processing
Chapter 9. Classics, Frontiers, and Next Steps
Le livre se compose de 9 chapitres organisés de sorte à rendre la lecture progressive.
Une bonne moitié du livre concerne un tour d’horizon de la structure du langage naturel puis de l’apprentissage par réseau de neurones, perceptron, perceptron multicouches, réseau de neurones à convolution, sachant que la théorie mathématique sous-jacente n’est pas abordée, il s’agit ici de montrer comment l’on se sert de Pytorch.
Puis viennent les chapitres traitant de la vectorisation des mots dans une phrase, des méthodes d’optimisation pour l’apprentissage supervisé ou non, du séquençage des données, de leur prédiction et de leur étiquetage et enfin, des perspectives et limites du thème.
Le sujet est bien expliqué et les exemples de code suffisamment nombreux pour permettre de bien assimiler les principes. On se sent vraiment guidé jusqu’à la fin. J’ai trouvé intéressant le parallèle fait avec le langage naturel et en résumé, je dirai que le livre est un bon complément aux tutoriels qu’on retrouve sur internet et qu’il apporte un plus, notamment parce qu’il permet de s’inspirer de la méthode employée par les auteurs.
Tous les extraits de code publiés dans le livre sont disponibles sur un github.
Commenter Signaler un problème
Build Intelligent Language Applications Using Deep Learning
Authors Delip Rao and Brian McMahon provide you with a solid grounding in NLP and deep learning algorithms and demonstrate how to use PyTorch to build applications involving rich representations of text specific to the problems you face. Each chapter includes several code examples and illustrations.
- Explore computational graphs and the supervised learning paradigm
- Master the basics of the PyTorch optimized tensor manipulation library
- Get an overview of traditional NLP concepts and methods
- Learn the basic ideas involved in building neural networks
- Use embeddings to represent words, sentences, documents, and other features
- Explore sequence prediction and generate sequence-to-sequence models
- Learn design patterns for building production NLP systems
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Hands-On Unsupervised Learning Using Python
How to Build Applied Machine Learning Solutions from Unlabeled Data
Résumé de l'éditeur
Author Ankur Patel shows you how to apply unsupervised learning using two simple, production-ready Python frameworks: Scikit-learn and TensorFlow using Keras. With code and hands-on examples, data scientists will identify difficult-to-find patterns in data and gain deeper business insight, detect anomalies, perform automatic feature engineering and selection, and generate synthetic datasets. All you need is programming and some machine learning experience to get started.
- Compare the strengths and weaknesses of the different machine learning approaches: supervised, unsupervised, and reinforcement learning
- Set up and manage machine learning projects end-to-end
- Build an anomaly detection system to catch credit card fraud
- Clusters users into distinct and homogeneous groups
- Perform semisupervised learning
- Develop movie recommender systems using restricted Boltzmann machines
- Generate synthetic images using generative adversarial networks
Édition : O'Reilly - 400 pages, 1re édition, 18 mars 2019
ISBN10 : 1492035645 - ISBN13 : 9781492035640
Unsupervised Learning in the Machine Learning Ecosystem
End-to-End Machine Learning Project
Unsupervised Learning Using Scikit-Learn
Dimensionality Reduction
Anomaly Detection
Clustering
Group Segmentation
Unsupervised Learning Using TensorFlow and Keras
Autoencoders
Hands-On Autoencoder
Semisupervised Learning
Deep Unsupervised Learning Using TensorFlow and Keras
Recommender Systems Using Restricted Boltzmann Machines
Feature Detection Using Deep Belief Networks
Generative Adversarial Networks
Time Series Clustering
L'ouvrage est construit progressivement, avec des techniques de plus en plus avancées, en présentant d'abord brièvement les concepts théoriques (sans mathématiques, car tel n'est pas le but du livre), les algorithmes, puis en plongeant dans la pratique. Les approches sont bien souvent comparées sur un même exemple, afin d'en voir les avantages et inconvénients. Cependant, l'apprentissage non supervisé n'est vu que sous un seul angle : l'exploitation de données sans étiquettes dans l'objectif d'effectuer des prédictions, c'est-à-dire comme une approche entièrement supervisée. Ce faisant, tous les aspects d'analyse de données sont négligés : il aurait été agréable, par exemple, de voir une application de partitionnement de données pour comprendre ce qu'elles contiennent (comme déterminer, sans a priori, les différentes manières de participer à un jeu). Au contraire, dans les exemples de partitionnement, on sait d'avance le nombre de classes que l'on cherche.
Au niveau de la présentation, une grande quantité de code et parfois d'images est redondante. Dans les premiers exemples, qui montrent plusieurs algorithmes d'apprentissage supervisé, la validation croisée est présentée à chaque fois, au lieu de se focaliser sur les différences entre les algorithmes. Chaque chapitre commence par une bonne page d'importation de modules Python (y compris des modules qui ne sont pas utilisés dans ce chapitre !). Certaines parties présentent une grande quantité d'images disposées de telle sorte qu'elles prennent un maximum de place (six images de taille raisonnable présentées sur trois pages, alors qu'en les réduisant un peu on aurait pu tout faire tenir sur une seule face…). Par ailleurs, toutes les images sont en noir et blanc, mais ont été conçues en couleurs : il est souvent difficile de s'y retrouver, car l'information de couleur est très exploitée (notamment pour présenter plusieurs courbes : elles ont sûrement des couleurs très différentes, mais les niveaux de gris se ressemblent trop pour que l'on arrive à faire la distinction entre les courbes).
Le côté technique m'a vraiment déçu. Les algorithmes sont présentés très rapidement, leurs paramètres sont quelque peu vus comme des boîtes noires ou simplement ignorés : comment peut-on en comprendre l'impact sur la solution ? Le chapitre sur la détection d'anomalies n'est vu que comme une application de la réduction de dimensionnalité, on ne trouve aucune discussion des algorithmes spécifiquement prévus pour cette tâche (forêts d'isolation, SVM à une classe, etc.), ce qui est assez réducteur. On ne trouve aucune mention des plongements (comme word2vec pour la représentation de mots) dans la section sur les autoencodeurs, alors que c'en est une application très importante.
Le public ciblé semble n'avoir qu'une assez faible expérience en apprentissage automatique. Le livre sera surtout utile à ceux qui veulent une introduction rapide et pas trop poussée au domaine de l'apprentissage non supervisé, un survol du domaine en abordant toutes ses facettes principales. Ceux qui se demandent à quoi l'apprentissage non supervisé peut bien être utile seront servis, mais n'en verront pas toutes les possibilités.
Commenter Signaler un problème
Author Ankur Patel shows you how to apply unsupervised learning using two simple, production-ready Python frameworks: Scikit-learn and TensorFlow using Keras. With code and hands-on examples, data scientists will identify difficult-to-find patterns in data and gain deeper business insight, detect anomalies, perform automatic feature engineering and selection, and generate synthetic datasets. All you need is programming and some machine learning experience to get started.
- Compare the strengths and weaknesses of the different machine learning approaches: supervised, unsupervised, and reinforcement learning
- Set up and manage machine learning projects end-to-end
- Build an anomaly detection system to catch credit card fraud
- Clusters users into distinct and homogeneous groups
- Perform semisupervised learning
- Develop movie recommender systems using restricted Boltzmann machines
- Generate synthetic images using generative adversarial networks
Data Visualization
Charts, Maps, and Interactive Graphics
Résumé de l'éditeur
Data Visualization: Charts, Maps, and Interactive Graphics gives an overview of a wide range of techniques and challenges, while staying accessible to anyone interested in working with and understanding data.
Features:
- Focusses on concepts and ways of thinking about data rather than algebra or computer code.
- Features 17 short chapters that can be read in one sitting.
- Includes chapters on big data, statistical and machine learning models, visual perception, high-dimensional data, and maps and geographic data.
- Contains more than 125 visualizations, most created by the author.
- Supported by a website with all code for creating the visualizations, further reading, datasets and practical advice on crafting the images.
Whether you are a student considering a career in data science, an analyst who wants to learn more about visualization, or the manager of a team working with data, this book will introduce you to a broad range of data visualization methods.
Édition : CRC Press - 218 pages, 1re édition, 4 décembre 2018
ISBN10 : 113855359X - ISBN13 : 9781138553590
Translating numbers to images
Continuous and discrete numbers
Percentages and risks
Showing data or statistics
Differences, ratios, correlations
Visual perception and the brain
Showing uncertainty
Time trends
Statistical predictive models
Machine learning techniques
Many variables
Maps and networks
Interactivity
Big data
Visualisation as part of a bigger package
Some overarching ideas
L'auteur est un statisticien et cela se ressent dans la manière d'aborder les sujets : pas question d'afficher des barres d'erreur sans expliciter ce qu'elles représentent (écart type, erreur standard, intervalle de confiance ?), par exemple. Ce n'est pas une raison pour abrutir le lecteur de mathématiques, puisque l'ouvrage ne comporte aucune formule, vraiment aucune. Quelques outils statistiques sont présentés, mais assez brièvement, uniquement en expliquant les principes généraux (des références sont là pour compléter). Ce choix est parfois limitant : pour le bootstrap, notamment, l'auteur répète maintes fois l'utilité de la technique, mais ne l'explique pas vraiment.
Les mises en situation constituent l'épine dorsale du livre, en ce sens que chaque chapitre dispose d'une ou plusieurs visualisations réalistes, parfois comparées : quels sont les avantages de telle manière de représenter les données, quelles sont les interprétations plus faciles à réaliser sur tel graphique, quelle visualisation ne peut pas fonctionner (sans oublier le pourquoi, qu'il soit plutôt statistique ou visuel). Cette manière de procéder rend l'ouvrage très lisible et attirant.
Pour la mise en pratique, l'auteur met à disposition sur son site le code source de chaque graphique qu'il a réalisé pour le livre (surtout en R) — même si le livre en lui-même ne présente pas une seule ligne de code, ce n'est pas un tutoriel R ou Stata.
Commenter Signaler un problème
Data Visualization: Charts, Maps, and Interactive Graphics gives an overview of a wide range of techniques and challenges, while staying accessible to anyone interested in working with and understanding data.
Features:
- Focusses on concepts and ways of thinking about data rather than algebra or computer code.
- Features 17 short chapters that can be read in one sitting.
- Includes chapters on big data, statistical and machine learning models, visual perception, high-dimensional data, and maps and geographic data.
- Contains more than 125 visualizations, most created by the author.
- Supported by a website with all code for creating the visualizations, further reading, datasets and practical advice on crafting the images.
Whether you are a student considering a career in data science, an analyst who wants to learn more about visualization, or the manager of a team working with data, this book will introduce you to a broad range of data visualization methods.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Elements of Causal Inference
Foundations and Learning Algorithms
Résumé de l'éditeur
The mathematization of causality is a relatively recent development, and has become increasingly important in data science and machine learning. This book offers a self-contained and concise introduction to causal models and how to learn them from data. After explaining the need for causal models and discussing some of the principles underlying causal inference, the book teaches readers how to use causal models: how to compute intervention distributions, how to infer causal models from observational and interventional data, and how causal ideas could be exploited for classical machine learning problems. All of these topics are discussed first in terms of two variables and then in the more general multivariate case. The bivariate case turns out to be a particularly hard problem for causal learning because there are no conditional independences as used by classical methods for solving multivariate cases. The authors consider analyzing statistical asymmetries between cause and effect to be highly instructive, and they report on their decade of intensive research into this problem.
The book is accessible to readers with a background in machine learning or statistics, and can be used in graduate courses or as a reference for researchers. The text includes code snippets that can be copied and pasted, exercises, and an appendix with a summary of the most important technical concepts.
Édition : MIT Press - 288 pages, 1re édition, 22 décembre 2017
ISBN10 : 0262037319 - ISBN13 : 9780262037310
Assumptions for Causal Inference
Cause-Effect Models
Learning Cause-Effect Models
Connections with Machine Learning, I
Multivariate Causal Models
Learning Multivariate Causal Models
Connections with Machine Learning, II
Hidden Variables
Time Series
Les trois auteurs présentent l'essentiel de ce domaine trop peu connu de la science des données, d'une manière progressive : les premières explications se font « avec les mains », la formalisation suit (à deux variables aléatoires pour commencer, puis dans le cas général). Notamment, les analyses contrefactuelles sont abordées en détail. Les auteurs n'hésitent pas à parsemer leur texte de bouts de code pour faciliter la compréhension des concepts et la mise en pratique des algorithmes. À ce sujet, ils considèrent que le lecteur connaît les bases de R et de quelques bibliothèques pour comprendre ces morceaux de code, aucune explication syntaxique n'étant donnée. Autant que possible, les liens entre les concepts présentés et l'apprentissage automatique sont explicités.
Le style est austère et académique. Des renvois vers des articles scientifiques – y compris ceux des auteurs eux-mêmes dont la modestie ne semble pas souffrir – sont faits à de nombreuses reprises pour approfondir les sujets : la présentation d'un algorithme se limite bien souvent aux idées principales sous-jacentes, le reste étant disponible dans la littérature. Globalement, l'ouvrage n'est pas toujours aussi facile à suivre que l'on espérerait : il est plutôt destiné à des gens qui connaissent déjà les bases de l'inférence de causalité, mais cherchent à approfondir le sujet ou à découvrir d'autres axes de recherche dans le domaine.
À noter : le livre est aussi disponible gratuitement au format PDF.
Commenter Signaler un problème
The mathematization of causality is a relatively recent development, and has become increasingly important in data science and machine learning. This book offers a self-contained and concise introduction to causal models and how to learn them from data. After explaining the need for causal models and discussing some of the principles underlying causal inference, the book teaches readers how to use causal models: how to compute intervention distributions, how to infer causal models from observational and interventional data, and how causal ideas could be exploited for classical machine learning problems. All of these topics are discussed first in terms of two variables and then in the more general multivariate case. The bivariate case turns out to be a particularly hard problem for causal learning because there are no conditional independences as used by classical methods for solving multivariate cases. The authors consider analyzing statistical asymmetries between cause and effect to be highly instructive, and they report on their decade of intensive research into this problem.
The book is accessible to readers with a background in machine learning or statistics, and can be used in graduate courses or as a reference for researchers. The text includes code snippets that can be copied and pasted, exercises, and an appendix with a summary of the most important technical concepts.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Machine Learning for Data Streams
With Practical Examples in MOA
Résumé de l'éditeur
Today many information sources—including sensor networks, financial markets, social networks, and healthcare monitoring—are so-called data streams, arriving sequentially and at high speed. Analysis must take place in real time, with partial data and without the capacity to store the entire data set. This book presents algorithms and techniques used in data stream mining and real-time analytics. Taking a hands-on approach, the book demonstrates the techniques using MOA (Massive Online Analysis), a popular, freely available open-source software framework, allowing readers to try out the techniques after reading the explanations.
The book first offers a brief introduction to the topic, covering big data mining, basic methodologies for mining data streams, and a simple example of MOA. More detailed discussions follow, with chapters on sketching techniques, change, classification, ensemble methods, regression, clustering, and frequent pattern mining. Most of these chapters include exercises, an MOA-based lab session, or both. Finally, the book discusses the MOA software, covering the MOA graphical user interface, the command line, use of its API, and the development of new methods within MOA. The book will be an essential reference for readers who want to use data stream mining as a tool, researchers in innovation or data stream mining, and programmers who want to create new algorithms for MOA.
Édition : MIT Press - 288 pages, 1re édition, 2 mars 2018
ISBN10 : 0262037793 - ISBN13 : 9780262037792
Introduction
Big Data Stream Mining
Hands-on Introduction to MOA
Stream Mining
Streams and Sketches
Dealing with Change
Classification
Ensemble Methods
Regression
Clustering
Frequent Pattern Mining
The MOA Software
Introduction to MOA and Its Ecosystem
The Graphical User Interface
Using the Command Line
Using the API
Developing New Methods in MOA
Structurellement, on retrouve trois parties bien distinctes :
- une introduction très générale au domaine, qui montre néanmoins l'essentiel de MOA, un logiciel dédié aux tâches d'apprentissage dans les flux ;
- une présentation plus détaillée des algorithmes applicables à des flux, que ce soit pour les résumer, pour en dériver des modèles de prédiction ou pour explorer les données. Cette partie devrait plaire aux étudiants, professionnels et chercheurs qui souhaitent se lancer dans le domaine, notamment avec ses nombreuses références (pour les détails de certains algorithmes moins intéressants ou trop avancés : on sent un vrai lien entre le livre et la recherche actuelle dans le domaine). Les algorithmes sont détaillés avec un certain niveau de formalisme mathématique, pour bien comprendre ce qu'ils font (et pourquoi ils garantissent une certaine approximation de la réalité) ;
- finalement, un guide d'utilisation assez succinct de MOA, avec un bon nombre de captures d'écran du logiciel (imprimées en couleurs !), qui détaille les différents onglets de l'interface graphique (à l'aide de listes très descriptives, mais liées aux autres chapitres de l'ouvrage) et passe rapidement sur les interfaces en ligne de commande et de programmation (ces deux derniers chapitres sont brefs et doivent être complémentés par celui sur l'interface graphique, qui contient les éléments essentiels).
On peut néanmoins reprocher quelques références vers la suite du livre (la section 4.6.2 considère parfois le contenu de la 4.9.2 intégré, par exemple), mais aussi l'omniprésence de MOA : on a l'impression que les auteurs se sont focalisés sur les algorithmes disponibles dans cette boîte à outils, plutôt que de présenter les algorithmes les plus intéressants en général. Cette remarque est toutefois assez mineure, au vu de l'exhaustivité de MOA.
À noter : le livre est aussi disponible gratuitement au format HTML, les auteurs répondant aux commentaires qui leur sont laissés.
Commenter Signaler un problème
Je vous invite à lire la critique que Dourouc05 a faite pour vous au sujet du livre :
Les auteurs font la part belle aux spécificités de ce paradigme : les calculs doivent être effectués très rapidement, on n'a presque pas de temps disponible par échantillon, ni de mémoire d'ailleurs..Lire la suite de la critique...
Bonne lecture
Ant Colony Optimization
Résumé de l'éditeur
Édition : MIT Press - 319 pages, 1re édition, 4 juin 2004
ISBN10 : 0262042193 - ISBN13 : 9780262042192
- Chapter 1. From Real to Artificial Ants
- Chapter 2. The Ant Colony Optimization Metaheuristic
- Chapter 3. Ant Colony Optimization Algorithms for the Traveling Salesman Problem
- Chapter 4. Ant Colony Optimization Theory
- Chapter 5. Ant Colony Optimization for NP-Hard Problems
- Chapter 6. AntNet: An ACO Algorithm for Data Network Routing
- Chapter 7. Conclusions and Prospects for the Future
Le premier chapitre met en exergue les liens entre fourmis réelles et artificielles en s'appuyant sur les interactions entre entomologie, mathématiques et informatique. Le deuxième chapitre situe les algorithmes de colonie de fourmis par rapport aux autres métaheuristiques ainsi qu'aux différentes catégories de problèmes auxquels ils s'appliquent, en l'occurrence des problèmes classiques d'optimisation combinatoire, fournissant ainsi aux lecteurs une superbe vue d'ensemble. Le troisième chapitre présente un exemple simple et détaillé d'application des algorithmes de colonie de fourmis au problème du voyageur de commerce ; diverses variantes de l'algorithme sont exposées et des ajouts majeurs, nommément la parallélisation et la recherche locale, sont introduits.
Ces trois premiers chapitres se lisent facilement et avec le chapitre de conclusion donnent les idées principales. Les autres chapitres sont essentiellement des chapitres d'approfondissement. Le quatrième chapitre explore la théorie sous-jacente aux algorithmes de colonie de fourmis, en détaillant entre autres choses les preuves de convergence et en introduisant le concept de recherche par modèle, par opposition à la recherche par solutions. Il n'existe cependant aucune preuve mathématique sur les vitesses de convergence, absence malheureusement assez répandue dans le monde des métaheuristiques en dépit des tentatives. Le cinquième chapitre est un catalogue de problèmes NP-difficiles auxquels ont été appliqués les algorithmes de colonie de fourmis : la mise en place de l'algorithme, autrement dit la définition de la correspondance entre le problème traité et la métaheuristique, puis les résultats sont présentés pour chaque problème. Le sixième chapitre se concentre sur un problème précis, le routage de données, et se penche sur les similarités avec l'apprentissage par renforcement et la méthode de Monte-Carlo, comparaison très pertinente. Les auteurs terminent sur un chapitre de conclusions et perspectives très diverses allant de la parallélisation algorithmique à la division du travail au sein des agents computationnels inspirée par la nature.
En conclusion, ce livre mérite tout à fait son titre de référence du domaine. Ses explications détaillées, aussi bien expérimentales que théoriques, ainsi que ses nombreuses ouvertures rendent sa lecture palpitante. Chaque chapitre s'achève par une très courte bibliographie et des exercices orientés informatique ou mathématiques. À noter que l'ouvrage date toutefois de 2004, ce qui est ancien étant donné la vitesse d'évolution de la recherche dans le domaine des métaheuristiques : il faut donc l'utiliser pour acquérir des bases solides et non comme un état de l'art exhaustif de la recherche actuelle.
A Field Guide to Genetic Programming
Résumé de l'éditeur
Édition : Lulu - 252 pages, 1re édition, 26 mars 2008
ISBN10 : 1409200736 - ISBN13 : 9781409200734
- Chapter 1. Introduction
- Part I: Basics
- Chapter 2. Representation, Initialisation and Operators in Tree-based GP
- Chapter 3. Getting Ready to Run Genetic Programming
- Chapter 4. Example Genetic Programming Run
- Part II: Advanced Genetic Programming
- Chapter 5. Alternative Initialisations and Operators in Tree-based GP
- Chapter 6. Modular, Grammatical and Developmental Tree-based GP
- Chapter 7. Linear and Graph Genetic Programming
- Chapter 8. Probabilistic Genetic Programming
- Chapter 9. Multi-objective Genetic Programming
- Chapter 10. Fast and Distributed Genetic Programming
- Chapter 11. GP Theory and its Applications
- Part III: Practical Genetic Programming
- Chapter 12. Applications
- Chapter 13. Troubleshooting GP
- Chapter 14. Conclusions
- Part IV: Tricks of the Trade
(list] - Appendix A. Resources
- Appendix B. TinyGP
Après avoir présenté les bases de la programmation génétique, les auteurs exposent dans un chapitre entier un exemple simple pour illustrer concrètement le déroulement d'un tel algorithme. Les concepts avancés sont ensuite présentés de façon assez développée pour pouvoir bien les comprendre, mais pas trop pour ne pas noyer le lecteur dans les détails, le livre étant avant tout une introduction.
Chose intéressante, le livre propose également un chapitre théorique, ce qui est appréciable car la programmation génétique est souvent abordée sous un angle empirique, à défaut d'un modèle mathématique sous-jacent très développé, nonobstant les tentatives. Cette approche théorique permet en particulier de donner une piste d'explication mathématique des méthodes pour contrôler le phénomène de bloat, phénomène correspondant à l'augmentation de la taille du code des solutions sans amélioration de leur fitness, ce qui constitue un des problèmes majeurs de la programmation génétique à l'heure actuelle. Les auteurs poursuivent en donnant un aperçu synoptique des applications de la programmation génétique, ce qui permet de voir concrètement dans quels domaines elle a été mise en œuvre.
Le pénultième chapitre est consacré aux conseils pratiques pour mettre en place et mener à bien des expérimentations. C'est un concentré de l'expérience des auteurs, qu'il sera très utile d'avoir sous la main surtout lors des premières expérimentations. Enfin, les auteurs concluent l'ouvrage par une liste de ressources ainsi qu'un exemple de code source implémentant une expérimentation de programmation génétique.
Je conseille donc ce livre à toute personne souhaitant une introduction rapide ou un
e révision sur la programmation génétique. À noter que, contrairement à d'autres ouvrages tels Essentials of Metaheuristics et Introduction to Evolutionary Computing, ce livre ne permet pas de situer la programmation génétique par rapport aux autres algorithmes d'optimisation, mais se concentre exclusivement sur la programmation génétique. Également, aucun exercice n'est proposé.
Le livre est téléchargeable gratuitement à l'adresse http://www.gp-field-guide.org.uk (licence CC-BY-NC-ND).
Commenter Signaler un problème
La rédaction DVP a lu pour vous le livre "A Field Guide to Genetic Programming" de Riccardo Poli, William B. Langdon et Nicholas Freitag McPhee
L'avez-vous lu ? Comptez-vous le lire bientôt ?
Quel est votre avis ?
Exprimez-vous !! Votre avis nous intéresse...
Bref, je recommande.
http://algo.developpez.com/livres/#L9781470972837
In natural living systems not all DNA has a phenotypic effect. This non-coding DNA,
sometimes referred to as junk DNA, is prevalent in virtually all eukaryotic genomes.
In GP, so-called introns are areas of code that do not affect survival and reproduction
(usually this can be replaced with “do not affect fitness”). In the context of tree-based
GP the term “areas of code” applies to subtrees.
Introns occur naturally in GP, provided that the function and terminal sets allow
for it. As bloat progresses, the number of nodes that are part of introns tends to
increase. Luke [117] distinguished two types of subtrees that are sometimes referred
to as introns in the literature:
• Unoptimized code: Areas of code that can be trivially simplified without modifying
the individual’s functionality, but not replaced with just anything.
• Inviable code: Subtrees that cannot be replaced by anything that can possibly
change the individual’s functionality.
Luke focused on inviable introns and we will do the same because unoptimized
code seems to cast too wide a net and wander too far from the original meaning of
the term “intron” in biology. We also make another distinction between two types of
inviable-code introns:
• Live-code introns: Subtrees that cannot be replaced by anything that can possibly
change the individual’s functionality, but may still generate code that will run
at some point.
• Dead-code introns: Subtrees whose code is never run.
Essentials of Metaheuristics
Résumé de l'éditeur
Édition : Lulu.com - 230 pages, 1re édition, 5 mars 2011
ISBN10 : 0557148596 - ISBN13 : 9780557148592
- Chapter 0. Introduction
- Chapter 1. Gradient-based Optimization
- Chapter 2. Single-State Methods
- Chapter 3. Population Methods
- Chapter 4. Representation
- Chapter 5. Parallel Methods
- Chapter 6. Coevolution
- Chapter 7. Multiobjective Optimization
- Chapter 8. Combinatorial Optimization
- Chapter 9. Optimization by Model Fitting
- Chapter 10. Policy Optimization
- Chapter 11. Miscellany
Comme le titre l'indique, le livre traite des métaheuristiques, en se focalisant sur les algorithmes évolutionnistes. Une des caractéristiques appréciables du livre réside dans le fait que l'auteur explique très clairement l'enchaînement et les liens entre les différentes métaheuristiques, en soulignant notamment leurs limites ayant conduit à l'élaboration de nouvelles métaheuristiques, ce qui permet au lecteur de sentir l'évolution de la recherche dans ce domaine. Il montre ainsi l'enchaînement entre l'algorithme du gradient, le recuit simulé, la recherche tabou, les algorithmes évolutionnistes, l'optimisation par essaims particulaires, GRASP et l'algorithme de colonies de fourmis. L'avant-dernier chapitre introduit à l'optimisation de stratégies (policy optimization), en présentant entre autres l'apprentissage par renforcement et les learning classifier systems. Le dernier chapitre intitulé "Miscellany" est une mine d'or contenant des conseils très importants et probablement pas assez respectés sur la méthodologie à suivre pour conduire des expériences ainsi qu'un ensemble de tests usuels pour évaluer une métaheuristique, puis se conclut sur une liste de ressources très utiles (sites Web, livres, librairies, conférences, mailing lists, etc.) pour trouver davantage d'informations.
Chaque algorithme est accompagné d'un pseudocode commenté, soulignant par exemple la particularité de l'algorithme au regard des algorithmes précédents. Les 222 pages du livre contiennent 135 pseudocodes, ce qui montre bien l'accent mis sur l'explication concrète des algorithmes en plus des considérations intuitives ou théoriques. Le livre propose également plus de 70 figures qui permettent de mieux comprendre les algorithmes. Le ton général du livre est direct et les phrases sont formulées de façon très accessible. Pour chaque chapitre, les dépendances avec les chapitres précédents sont indiquées. Tous ces éléments rendent le livre facile et agréable à lire. À noter que le livre ne contient pas d'exercice et ne présente que peu d'applications hormis les exemples abstraits : il faudra donc utiliser ECJ ou une autre bibliothèque pour mettre en œuvre les algorithmes expliqués dans le livre. Le guide d'utilisateur de ECJ est complet et traite sous l'angle technique de la quasi-totalité des concepts du livre touchant aux algorithmes évolutionnistes.
Je conseille donc ce livre à toute personne souhaitant une introduction rapide ou une révision sur les métaheuristiques.
Commenter Signaler un problème
La rédaction DVP a lu pour vous le livre "Essentials of Metaheuristics", de Sean Luke
L'avez-vous lu ? Comptez-vous le lire bientôt ?
Quel est votre avis ?
Exprimez-vous !! Votre avis nous intéresse...
Sinon, on peut aussi l'acheter directement chez lulu.com mais il faudra compter des frais de port, donc au final un peu plus cher que chez Amazon (2€ a ce jour)
Sinon, je ne l'ai pas encore lu mais il est sur la pile
HS : je préfère commander directement chez eux, je pense que dans ce cas, comme il n'y a pas la comm. d'Amazon, Lulu touche un peu plus sur la vente proprement dite, si quelqu'un pouvait confirmer ?
Evolved to Win
Résumé de l'éditeur
Édition : Lulu.com - 193 pages, 1re édition, 28 novembre 2011
ISBN10 : 1470972832 - ISBN13 : 9781470972837
- Part I: Rules of the Game
- Chapter 1. Setting the Pieces
- Chapter 2. Evolutionary Computation in a Nutshell
- Part II: Board Games
- Chapter 3. Lose Checkers
- Chapter 4. Chess: Endgames
- Chapter 5. Chess: Emergence and Complexity
- Chapter 6. Chess: Evolving Search
- Chapter 7. Chess: Evolving Search
- Part III: Simulation Games
- Chapter 8. Robocode
- Chapter 9. Robot Auto Racing Simulator
- Part IV: Puzzles
- Chapter 10. Rush Hour
- Chapter 11. FreeCell
- Part V: Parting Words of...
- Chapter 12. (Putative) Wisdom
- Appendix: A Potpourri of Games
Les jeux étudiés au cours de ce livre se classent en trois catégories :
- les jeux de société : une variante du jeu de dames (lose checkers), les échecs et le backgammon ;
- les jeux de simulation : Robocode et le jeu de course RARS ;
- les casse-têtes : Rush Hour et FreeCell.
Les résultats présentés sont palpitants car hautement compétitifs avec les humains ainsi que les bots existants. Les solutions sont analysées en profondeur, notamment pour essayer d'entrevoir si l'évolution a fait apparaître des phénomènes d'émergence parmi les individus évolués. Une particularité du livre est son attachement à souligner les liens entre les algorithmes évolutionnistes et les principes de biologie moléculaire afin d'acquérir une compréhension plus intime de l'évolution. Tout au long de l'ouvrage, une myriade de conseils précieux sont donnés sur l'utilisation de la programmation génétique.
Bien que l'auteur aurait pu aisément faire publier le livre chez un éditeur classique tel Springer, il a fait le choix de la générosité et a décidé de rendre le livre téléchargeable gratuitement à l'adresse http://www.moshesipper.com/etw (licence CC-BY-ND).
Commenter Signaler un problème
La rédaction DVP a lu pour vous le livre "Evolved to Win", de Moshe Sipper
L'avez-vous lu ? Comptez-vous le lire bientôt ?
Quel est votre avis ?
Exprimez-vous !! Votre avis nous intéresse...
Natural Language Processing with Python
Résumé de l'éditeur
Packed with examples and exercises, Natural Language Processing with Python will help you:
- Extract information from unstructured text, either to guess the topic or identify "named entities"
- Analyze linguistic structure in text, including parsing and semantic analysis
- Access popular linguistic databases, including WordNet and treebanks
- Integrate techniques drawn from fields as diverse as linguistics and artificial intelligence
This book will help you gain practical skills in natural language processing using the Python programming language and the Natural Language Toolkit (NLTK) open source library. If you're interested in developing web applications, analyzing multilingual news sources, or documenting endangered languages -- or if you're simply curious to have a programmer's perspective on how human language works -- you'll find Natural Language Processing with Python both fascinating and immensely useful.
Édition : O'Reilly - 512 pages, 1re édition, 7 juillet 2009
ISBN10 : 0596516495 - ISBN13 : 9780596516499
- Chapter 1. Language Processing and Python
- Chapter 2. Accessing Text Corpora and Lexical Resources
- Chapter 3. Processing Raw Text
- Chapter 4. Writing Structured Programs
- Chapter 5. Categorizing and Tagging Words
- Chapter 6. Learning to Classify Text
- Chapter 7. Extracting Information from Text
- Chapter 8. Analyzing Sentence Structure
- Chapter 9. Building Feature-Based Grammars
- Chapter 10. Analyzing the Meaning of Sentences
- Chapter 11. Managing Linguistic Data
La particularité principale du livre est qu'il présente de nombreux exemples de code, en se basant sur la bibliothèque open-source et gratuite NLTK (http://www.nltk.org) écrite en Python par notamment les auteurs de ce livre. Très bien documentée, la bibliothèque NLTK offre de nombreuses fonctionnalités de traitement des langues (analyse lexicale, étiquetage grammatical, analyse syntaxique, etc.) tout en interfaçant aussi bien des bases de données tel WordNet que des bibliothèques et logiciels tiers tels l'étiqueteur grammatical Stanford Tagger et le prouveur automatisé Prover9. Un grand nombre de corpus est également disponible via NLTK, ce qui est très appréciable pour mettre en œuvre des processus d'entraînement ainsi que pour réaliser des tests, notamment des tests de performance. Comme le livre présente les nombreuses facettes du traitement automatique des langues naturelles, il parcourt au travers de ses exemples une grande partie des fonctionnalités de NLTK.
La limite principale de la bibliothèque NLTK est les performances de Python en termes de vitesse de calcul. L'utilisation de Python permet toutefois au lecteur de ne pas être trop gêné par la barrière du langage, Python étant à ce jour sans conteste un des langages les plus simples d'accès. Pour ceux n'ayant aucune ou peu d'expérience en Python, certaines sections du livre sont dédiées uniquement à l'explication du langage Python, ce qui permet de rendre l'ouvrage accessible à tout public.
Néanmoins, bien que donnant un aperçu excellent et concret de l'ensemble du traitement automatique des langues naturelles, le focus du livre sur les exemples en Python fait que mécaniquement le livre consacre moins de place aux considérations théoriques. En ce sens, il est un complément idéal au livre de référence Speech and Language Processing (écrit par Daniel Jurafsky et James H. Martin) dont l'approche est beaucoup plus théorique.
Les exemples sont non seulement simples, mais aussi très utiles, car ce sont des choses dont on pourrait avoir besoin dans une application. J'ai principalement aimé les chapitres sur les extractions d'entités nommées, l'apprentissage pour la création d'un classifieur et l'analyse du sens d'une phrase qui sont particulièrement bien faits et expliqués.
La seule remarque que je ferais est le manque de détails sur toutes les possibilités de création et d'utilisation d'une grammaire via les expressions régulières NLTK ou non.
Commenter Signaler un problème
La rédaction de DVP a lu pour vous l'ouvrage suivant: Natural Language Processing with Python, de Steven Bird, Ewan Klein, et Edward Loper.
Quel est votre avis?
Exprimez-vous!! Votre avis nous intéresse.
- hypernym/hyponym relation, i.e., the relation between superordinate and subordinate concepts (p69 / 90)
- Another rimportant way to navigate the WordNet network is from items to their components (meronyms) or to the things they are contained in (holonyms) (p710 / 91)
- the same dictionary word (or lemma) (p104 / 125)
- strip off any affixes, a task known as stemming. (p107 / 128)
- Tokenization is the task of cutting a string into identifiable linguistic units that constitute a piece of language data (p109 / 130)
- Tokenization is an instance of a more general problem of segmentation. (p112 § 133)
- The %s and %d symbols are called conversion specifiers (p118 / 139)
- The process of classifying words into their parts-of-speech and labeling them accord-ingly is known as part-of-speech tagging, POS tagging, or simply tagging. Parts-of-speech are also known as word classes or lexical categories. The collection of tagsused for a particular task is known as a tagset. Our emphasis in this chapter is onexploiting tags, and tagging text automatically. (p179 / 200)
- As n gets larger, the specificity of the contexts increases, as does the chance that the data we wish to tag contains contexts that were not present in the training data. This is known as the sparse data problem, and is quite pervasive in NLP. As a consequence, there is a trade-off between the accuracy and the coverage of our results (and this is related to the precision/recall trade-off in information retrieval) (p205 / 226)
- A convenient way to look at tagging errors is the confusion matrix. It charts expected tags (the gold standard) against actual tags gen-erated by a tagger (p207 / 228)
- All languages acquire new lexical items. A list of words recently added to the Oxford Dictionary of English includes cyberslacker, fatoush, blamestorm, SARS, cantopop,bupkis, noughties, muggle, and robata. Notice that all these new words are nouns, and this is reflected in calling nouns an open class. By contrast, prepositions are regarded as a closed class. That is, there is a limited set of words belonging to the class. (p211 / 232)
- Common tagsets often capture some morphosyntactic information, that is, informa-tion about the kind of morphological markings that words receive by virtue of theirsyntactic role. (p212 / 233)
- Classification is the task of choosing the correct class label for a given input. (p221 / 242)
- The first step in creating a classifier is deciding what features of the input are relevant,and how to encode those features. For this example, we’ll start by just looking at thefinal letter of a given name. The following feature extractor function builds a dictionary containing relevant information about a given name. (p223 / 244)
- Recognizing the dialogue acts underlying the utterances in a dialogue can be an important first step in understanding the conversation. The NPS Chat Corpus, which was demonstrated in Section 2.1, consists of over 10,000 posts from instant messaging sessions. These posts have all been labeled with one of 15 dialogue act types, such as “Statement,” “Emotion,” “y/n Question,” and “Continuer.” (p235 / 256)
- Recognizing textual entailment (RTE) is the task of determining whether a given piece of text T entails another text called the “hypothesis”. (p235 / 256)
- A confusion matrix is a table where each cell [i,j] indicates how often label j was pre-dicted when the correct label was i. (p240 / 261)
- Numeric features can be converted to binary features by binning, which replaces them with features such as “4<x<6.” (p249 / 270)
- Named entities are definite noun phrases that refer to specific types of individuals, such as organizations, persons, dates, and so on. The goal of a named entity recognition (NER) system is to identify all textual men-tions of the named entities. This can be broken down into two subtasks: identifyingthe boundaries of the NE, and identifying its type. (p281 / 302)
- Since our grammar licenses two trees for this sentence, the sentence is said to be structurally ambiguous. The ambiguity in question is called a prepositional phrase attachment ambiguity. (p299 / 320)
- A grammar is said to be recursive if a category occurring on the left hand side of a production also appears on the righthand side of a production. (p301 / 322)
- A parser processes input sentences according to the productions of a grammar, and builds one or more constituent structures that conform to the grammar. A grammar is a declarative specification of well-formedness—it is actually just a string, not a program. A parser is a procedural interpretation of the grammar. It searches through the space of trees licensed by a grammar to find one that has the required sentence alongits fringe. (p302 / 323)
- Phrase structure grammar is concerned with how words and sequences of words combine to form constituents. A distinct and complementary approach, dependency grammar, focuses instead on how words relate to other words. (p310 / 331)
- A dependency graph is projective if, when all the words are written in linear order, the edges can be drawn above the words without crossing. (p311 / 332)
- In the tradition of dependency grammar, the verbs in Table 8-3 (whose dependents have Adj, NP, S and PP, which are often called complements of the respective verbs, are different) are said to have different valencies. (p313 / 335)
- This ambiguity is unavoidable, and leads to horrendous inefficiency in parsing seemingly innocuous sentences. The solution to these problems is provided by probabilistic parsing, which allows us to rank the parses of an ambiguous sentence on the basis of evidence from corpora. (p318 / 339)
- A probabilistic context-free grammar (or PCFG) is a context-free grammar that as-sociates a probability with each of its productions. It generates the same set of parses for a text that the corresponding context-free grammar does, and assigns a probability to each parse. The probability of a parse generated by a PCFG is simply the product ofthe probabilities of the productions used to generate it. (p320 / 341)
- We can see that morphological properties of the verb co-vary with syntactic properties of the subject noun phrase. This co-variance is called agreement. (p329 / 350)
- A feature path is a sequence of arcs that can be followed from the root node (p339 / 360)
- A more general feature structure subsumes a less general one. (p341 / 362)
- Merging information from two feature structures is called unification. (p342 / 363)
- The two sentences in (5) can be both true, whereas those in (6) and (7) cannot be. In other words, the sentences in (5) are consistent, whereas those in (6) and (7) are inconsistent. (p365 / 386)
- A model for a set W of sentences is a formal representation of a situation in which allthe sentences in W are true. (p367 / 388)
- An argument is valid if there is no possible situation in which its premises are all true and its conclusion is not true. (p369 / 390)
- In the sentences "Cyril is tall. He likes maths.", we say that he is coreferential with the noun phrase Cyril. (p373 / 394)
- In the sentence "Angus had a dog but he disappeared.", "he" is bound by the indefinite NP "a dog", and this is a different relationship than coreference. If we replace the pronoun he by a dog, the result "Angus had a dog but a dog disappeared" is not semantically equivalent to the original sentence "Angus had a dog but he disappeared." (p374 / 395)
- In general, an occurrence of a variable x in a formula F is free in F if that occurrence doesn’t fall within the scope of all x or some x in F. Conversely, if x is free in formula F, then it is bound in all x.F and exists x.F. If all variable occurrences in a formulaare bound, the formula is said to be closed. (p375 / 396)
- The general process of determining truth or falsity of a formula in a model is called model checking. (p379 / 400)
- Principle of Compositionality: the meaning of a whole is a function of the meaningsof the parts and of the way they are syntactically combined. (p385 / 406)
- ? is a binding operator, just as the first-order logic quantifiers are. (p387 / 408)
- A discourse representation structure (DRS) presents the meaning of discourse in terms of a list of discourse referents and a list of conditions.The discourse referents are the things under discussion in the discourse, and they correspond to the individual variables of first-order logic. The DRS conditions apply to those discourse referents, and correspond to atomic open formulas of first-orderlogic. (p397 / 418)
- Inline annotation modifies the original document by inserting special symbols or control sequences that carry the annotated information. For example, when part-of-speech tagging a document, the string "fly" might be replacedwith the string "fly/NN", to indicate that the word fly is a noun in this context. Incontrast, standoff annotation does not modify the original document, but instead creates a new file that adds annotation information using pointers that reference the original document. For example, this new document might contain the string "<token id=8pos='NN'/>", to indicate that token 8 is a noun. (p421 / 442)
Introduction to Evolutionary Computing
Résumé de l'éditeur
Édition : Springer - 316 pages, 2e édition, 15 décembre 2010
ISBN10 : 3642072852 - ISBN13 : 9783642072857
- Introduction
- What is an Evolutionary Algorithm?
- Genetic Algorithms
- Evolution Strategies
- Evolutionary Programming
- Genetic Programming
- Learning Classifier Systems
- Parameter Control in Evolutionary Algorithms
- Multi-Modal Problems and Spatial Distribution
- Hybridisation with Other Techniques: Memetic Algorithms
- Theory
- Constraint Handling
- Special Forms of Evolution
- Working with Evolutionary Algorithms
- Summary
- Appendices
- Index
- References
Il est aussi un des premiers ouvrages présentant une vue d'ensemble sur l'évolution artificielle (EA) et il contient notamment les dernières nouveautés du domaine. Les chapitres alternent introductions théoriques, exemples, algorithmes et exercices, et même si les fondements théoriques ne sont pas négligés, l'accent est davantage mis sur la mise en oeuvre concrète des algorithmes et techniques d'évolution artificielle.
Bref, que ce soit pour découvrir le domaine ou se remettre les idées-clefs en mémoire, je conseille vivement la lecture de ce livre ! Pour les enseignants, des supports de présentation sont disponibles sur le site officiel.
Seul bémol notable, les exercices ne sont pas corrigés et certaines parties potentiellement intéressantes du site officiel sont toujours en construction ou ne sont pas terminées.
Tout d'abord, après avoir présenté dans les grandes lignes le fonctionnement ainsi que les caractéristiques d'un algorithme évolutionniste (chapitres 1 et 2), le livre se penche sur ses quatre variantes usuelles : algorithmes génétiques, stratégies d'évolution, programmation évolutionniste et programmation génétique (chapitres 3 à 6).
En deuxième partie, le livre présente diverses améliorations aux quatre classes d'algorithmes classiques vues précédemment :
- les LCS (Learning Classifier System - chapitre 7), qui sont un système d'apprentissage automatique basé sur le concept d'ensemble de règles conditions-actions et qui permettent d'introduire la notion de coopération parmi les individus d'une même population, contrairement aux algorithmes évolutionnistes classiques dans lesquels les individus sont simplement en compétition. ZCS et XCS sont des variantes ;
- le "parameter control" (chapitre 8), dont l'objectif est d'adapter certains paramètres structurants des algorithmes évolutionnistes, telles la taille de la population ou la probabilité des mutations/croisements, au cours de l'exécution de l'algorithme, contrairement au "parameter tuning" utilisé habituellement, consistant à fixer ces paramètres au début de l'exécution de l'algorithme sans pouvoir les modifier après, ce qui rend l'algorithme beaucoup moins performant ;
- le maintien d'une certaine diversité au sein de la population (chapitre 9), afin de faire face à la convergence vers un optimum local (genetic drift) souvent constaté, à l'instar de la sélection naturelle qui a vu se former des sous-groupes grâce aux contraintes géographiques. On peut de cette manière trouver autant d'optima locaux que de sous-groupes, permettant ainsi d'obtenir de meilleurs résultats sur les problèmes multimodaux en se rapprochant ainsi de l'optimum global ;
- le multiobjectif (chapitre 9), qui repose sur le concept de dominance au sens de Pareto : beaucoup de problèmes ont en effet plusieurs objectifs, les scalariser en un seul objectif comporte des inconvénients, et les résultats montrent que les MOEA (MultiObjective Evoluationary Algorithms) sont en général les meilleurs algorithmes pour résoudre des MOP (MultiObjective Problems) ;
- les algorithmes mémétiques (chapitre 10), qui permettent d'effectuer des améliorations (local search) non génétiques propres à un seul individu, améliorations se basant sur des connaissances expertes spécifiques au problème, en faisant attention à maintenir une certaine diversité au sein de la population. Les résultats ainsi obtenus par rapport à l'EA classique sont généralement meilleurs sur le problème étudié, mais moins bons pour la plupart des autres problèmes.
En troisième partie, les auteurs exposent quelques bases de la théorie sous-jacente à l'EA (chapitre 11), puis expliquent comment y inclure des contraintes, comme par exemple en définissant des pénalités dans la fitness fonction (chapitre 12). Ils présentent également des formes d'évolution (chapitre 13) basées sur la coévolution interactive ou compétitive, formes plus proches de la sélection naturelle où les espèces évoluent ensemble et les critères de sélection sont relatifs (telle l'opposition proies vs prédateurs).
Les auteurs concluent sur les bonnes pratiques de mesure de performance d'une EA (chapitre 14), soulignent que le plus important lors de l'utilisation d'une EA est de trouver une bonne représentation ainsi qu'un choix d'opérateurs de variation et de sélection judicieux, et donnent des pistes de réflexion non étudiées dans le livre, tels les colonies de fourmis ou les systèmes immunitaires artificiels.
Purely Functional Data Structures
Résumé de l'éditeur
Édition : Cambridge University Press - 220 pages, 1re édition, 13 juin 1999
ISBN10 : 0521663504 - ISBN13 : 9780521663502
En plus du contenu de la thèse qui fait déjà autorité, la valeur ajoutée de ce livre réside dans :
- une introduction à la persistence et au path-copying
- un rappel sur l'implantation des structures de données élémentaires (listes,piles,queues,arbres binaire de recherche, arbres rouge-noir)
- des exercices qui explorent des alternatives connues (arbres de Arne Andersson,...) ou des variantes du mécanisme de mise à jour (batched-rebuilding)
- un répertoire d'implantations des structures de tas, assez consistant (leftist heaps, pairing heaps, binomial heap, skew binomial heap, structural-bootstrapped skew binomial heap) sans être exhaustif (il manque le Braun heap et le maxiphobic heap)
En bref il s'agit d'une référence à posséder absolument.
Un seul regret: l'ouvrage n'a pas la prétention d'être une bible. Il ne fait pas le tour complet du sujet puisque par exemple, ne sont pas abordés les thèmes suivants:
- le Finger-tree
- l'implantation efficace des graphes inductifs
- l'implantation efficace de l'Union-Find persistent
Cependant, pour les personnes intéressées, de la documentation sur ces sujets est facilement trouvable en ligne.